From ee3be4fa769c537966885651a29748558452c9ab Mon Sep 17 00:00:00 2001 From: qiye Date: Tue, 3 Sep 2024 10:35:08 +0800 Subject: [PATCH 001/199] [fix](index compaction)Fix core when having multiple dest segments (#40254) introduced by: #39076 --- be/src/olap/compaction.cpp | 6 +++--- .../index_compaction/test_index_compaction_dup_keys.groovy | 2 ++ .../index_compaction/test_index_compaction_null.groovy | 3 +++ .../test_index_compaction_unique_keys.groovy | 2 ++ .../test_index_compaction_with_multi_index_segments.groovy | 2 ++ 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/be/src/olap/compaction.cpp b/be/src/olap/compaction.cpp index 1fed2253b69fbf..963b885a26b4ad 100644 --- a/be/src/olap/compaction.cpp +++ b/be/src/olap/compaction.cpp @@ -686,9 +686,9 @@ Status Compaction::do_inverted_index_compaction() { << st; return st; } - for (const auto& writer : inverted_index_file_writers) { - writer->set_file_writer_opts(ctx.get_file_writer_options()); - } + } + for (const auto& writer : inverted_index_file_writers) { + writer->set_file_writer_opts(ctx.get_file_writer_options()); } // use tmp file dir to store index files diff --git a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_dup_keys.groovy b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_dup_keys.groovy index 1de813a310bdeb..ce6a7e7c6a355c 100644 --- a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_dup_keys.groovy +++ b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_dup_keys.groovy @@ -24,6 +24,7 @@ suite("test_index_compaction_dup_keys", "nonConcurrent") { def backendId_to_backendHttpPort = [:] getBackendIpHttpPort(backendId_to_backendIP, backendId_to_backendHttpPort); + sql """ set global enable_match_without_inverted_index = false """ boolean disableAutoCompaction = false def set_be_config = { key, value -> @@ -240,5 +241,6 @@ suite("test_index_compaction_dup_keys", "nonConcurrent") { if (has_update_be_config) { set_be_config.call("inverted_index_compaction_enable", invertedIndexCompactionEnable.toString()) } + sql """ set global enable_match_without_inverted_index = true """ } } diff --git a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy index 8a77c2dbf7d441..f882cda1522004 100644 --- a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy +++ b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy @@ -24,6 +24,7 @@ suite("test_index_compaction_null", "nonConcurrent") { def backendId_to_backendHttpPort = [:] getBackendIpHttpPort(backendId_to_backendIP, backendId_to_backendHttpPort); + sql """ set global enable_match_without_inverted_index = false """ boolean disableAutoCompaction = false def set_be_config = { key, value -> @@ -317,5 +318,7 @@ suite("test_index_compaction_null", "nonConcurrent") { if (has_update_be_config) { set_be_config.call("inverted_index_compaction_enable", invertedIndexCompactionEnable.toString()) } + + sql """ set global enable_match_without_inverted_index = true """ } } diff --git a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_unique_keys.groovy b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_unique_keys.groovy index 5afd6bada192ac..87996687b93950 100644 --- a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_unique_keys.groovy +++ b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_unique_keys.groovy @@ -24,6 +24,7 @@ suite("test_index_compaction_unique_keys", "nonConcurrent") { def backendId_to_backendHttpPort = [:] getBackendIpHttpPort(backendId_to_backendIP, backendId_to_backendHttpPort); + sql """ set global enable_match_without_inverted_index = false """ boolean disableAutoCompaction = false def set_be_config = { key, value -> @@ -246,5 +247,6 @@ suite("test_index_compaction_unique_keys", "nonConcurrent") { if (has_update_be_config) { set_be_config.call("inverted_index_compaction_enable", invertedIndexCompactionEnable.toString()) } + sql """ set global enable_match_without_inverted_index = true """ } } diff --git a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_with_multi_index_segments.groovy b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_with_multi_index_segments.groovy index e9cc3300212050..edcf41db13c877 100644 --- a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_with_multi_index_segments.groovy +++ b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_with_multi_index_segments.groovy @@ -24,6 +24,7 @@ suite("test_index_compaction_with_multi_index_segments", "nonConcurrent") { def backendId_to_backendHttpPort = [:] getBackendIpHttpPort(backendId_to_backendIP, backendId_to_backendHttpPort); + sql """ set global enable_match_without_inverted_index = false """ boolean disableAutoCompaction = false def set_be_config = { key, value -> @@ -401,5 +402,6 @@ suite("test_index_compaction_with_multi_index_segments", "nonConcurrent") { set_be_config.call("inverted_index_compaction_enable", invertedIndexCompactionEnable.toString()) set_be_config.call("inverted_index_max_buffered_docs", invertedIndexMaxBufferedDocs.toString()) } + sql """ set global enable_match_without_inverted_index = true """ } } From a1ea5c467abbafab4ef96cf7dd9bfaaefee9aa60 Mon Sep 17 00:00:00 2001 From: feiniaofeiafei <53502832+feiniaofeiafei@users.noreply.github.com> Date: Tue, 3 Sep 2024 10:38:44 +0800 Subject: [PATCH 002/199] [Fix](planner) legacy planner repeat group by has grouping report error (#40281) --- .../apache/doris/analysis/GroupByClause.java | 5 ++ .../grouping_sets/valid_grouping.groovy | 51 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 regression-test/suites/nereids_rules_p0/grouping_sets/valid_grouping.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/GroupByClause.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/GroupByClause.java index f6305e611da442..9b5055944674b2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/GroupByClause.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/GroupByClause.java @@ -192,6 +192,11 @@ public void analyze(Analyzer analyzer) throws AnalysisException { "GROUP BY expression must not contain aggregate functions: " + groupingExpr.toSql()); } + if (groupingExpr.contains(GroupingFunctionCallExpr.class)) { + throw new AnalysisException( + "GROUP BY expression must not contain grouping scalar functions: " + + groupingExpr.toSql()); + } if (groupingExpr.contains(AnalyticExpr.class)) { // reference the original expr in the error msg throw new AnalysisException( diff --git a/regression-test/suites/nereids_rules_p0/grouping_sets/valid_grouping.groovy b/regression-test/suites/nereids_rules_p0/grouping_sets/valid_grouping.groovy new file mode 100644 index 00000000000000..dd69f23f027f21 --- /dev/null +++ b/regression-test/suites/nereids_rules_p0/grouping_sets/valid_grouping.groovy @@ -0,0 +1,51 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("valid_grouping"){ + sql "SET enable_fallback_to_original_planner=true" + sql "drop table if exists valid_grouping" + sql """ + CREATE TABLE `valid_grouping` ( + `a` INT NULL, + `b` VARCHAR(10) NULL, + `c` INT NULL, + `d` INT NULL + ) ENGINE=OLAP + DUPLICATE KEY(`a`, `b`) + DISTRIBUTED BY RANDOM BUCKETS AUTO + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + sql "insert into valid_grouping values(1,'d2',3,5);" + test { + sql """select + b, 'day' as DT_TYPE + from valid_grouping + group by grouping sets ( (grouping_id(b)),(b));""" + exception("GROUP BY expression must not contain grouping scalar functions: grouping_id(`b`)") + } + + test { + sql """select + b, 'day' as DT_TYPE + from valid_grouping + group by grouping sets ( (grouping(b)),(b));""" + exception("GROUP BY expression must not contain grouping scalar functions: grouping(`b`)") + } + +} \ No newline at end of file From 1eef8a839758dc3a4fea663edd5365f25dbdc0fa Mon Sep 17 00:00:00 2001 From: zhannngchen <48427519+zhannngchen@users.noreply.github.com> Date: Tue, 3 Sep 2024 10:47:52 +0800 Subject: [PATCH 003/199] [fix](ut) fix SegmentTest and SegmentMoWTest asan core (#40287) --- be/test/olap/segcompaction_mow_test.cpp | 19 +++++++++++++------ be/test/olap/segcompaction_test.cpp | 20 ++++++++++++++------ 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/be/test/olap/segcompaction_mow_test.cpp b/be/test/olap/segcompaction_mow_test.cpp index a0c180f7fbf845..62a3232889dede 100644 --- a/be/test/olap/segcompaction_mow_test.cpp +++ b/be/test/olap/segcompaction_mow_test.cpp @@ -47,7 +47,7 @@ using namespace ErrorCode; static const uint32_t MAX_PATH_LEN = 1024; static const uint32_t TABLET_ID = 12345; -static StorageEngine* s_engine; +static StorageEngine* s_engine = nullptr; static const std::string lTestDir = "./data_test/data/segcompaction_mow_test"; class SegCompactionMoWTest : public ::testing::TestWithParam { @@ -76,22 +76,29 @@ class SegCompactionMoWTest : public ::testing::TestWithParam { options.store_paths = paths; auto engine = std::make_unique(options); + Status s = engine->open(); + EXPECT_TRUE(s.ok()) << s.to_string(); s_engine = engine.get(); ExecEnv::GetInstance()->set_storage_engine(std::move(engine)); - Status s = s_engine->open(); + s = ThreadPoolBuilder("SegCompactionTaskThreadPool") + .set_min_threads(config::segcompaction_num_threads) + .set_max_threads(config::segcompaction_num_threads) + .build(&s_engine->_seg_compaction_thread_pool); EXPECT_TRUE(s.ok()) << s.to_string(); _data_dir = std::make_unique(*s_engine, lTestDir); static_cast(_data_dir->update_capacity()); EXPECT_TRUE(io::global_local_filesystem()->create_directory(lTestDir).ok()); - - s = s_engine->start_bg_threads(); - EXPECT_TRUE(s.ok()) << s.to_string(); } - void TearDown() { config::enable_segcompaction = false; } + void TearDown() { + config::enable_segcompaction = false; + ExecEnv* exec_env = doris::ExecEnv::GetInstance(); + s_engine = nullptr; + exec_env->set_storage_engine(nullptr); + } protected: OlapReaderStatistics _stats; diff --git a/be/test/olap/segcompaction_test.cpp b/be/test/olap/segcompaction_test.cpp index 468b24784af3c2..ba0d23acb02cef 100644 --- a/be/test/olap/segcompaction_test.cpp +++ b/be/test/olap/segcompaction_test.cpp @@ -46,7 +46,7 @@ namespace doris { using namespace ErrorCode; static const uint32_t MAX_PATH_LEN = 1024; -static StorageEngine* l_engine; +static StorageEngine* l_engine = nullptr; static const std::string lTestDir = "./data_test/data/segcompaction_test"; class SegCompactionTest : public testing::Test { @@ -75,22 +75,30 @@ class SegCompactionTest : public testing::Test { options.store_paths = paths; auto engine = std::make_unique(options); + Status s = engine->open(); + EXPECT_TRUE(s.ok()) << s.to_string(); + l_engine = engine.get(); ExecEnv::GetInstance()->set_storage_engine(std::move(engine)); - Status s = l_engine->open(); + s = ThreadPoolBuilder("SegCompactionTaskThreadPool") + .set_min_threads(config::segcompaction_num_threads) + .set_max_threads(config::segcompaction_num_threads) + .build(&l_engine->_seg_compaction_thread_pool); EXPECT_TRUE(s.ok()) << s.to_string(); _data_dir = std::make_unique(*l_engine, lTestDir); static_cast(_data_dir->update_capacity()); EXPECT_TRUE(io::global_local_filesystem()->create_directory(lTestDir).ok()); - - s = l_engine->start_bg_threads(); - EXPECT_TRUE(s.ok()) << s.to_string(); } - void TearDown() { config::enable_segcompaction = false; } + void TearDown() { + config::enable_segcompaction = false; + ExecEnv* exec_env = doris::ExecEnv::GetInstance(); + l_engine = nullptr; + exec_env->set_storage_engine(nullptr); + } protected: OlapReaderStatistics _stats; From 33ade8fe82dd171158aaac61971a79961916082b Mon Sep 17 00:00:00 2001 From: meiyi Date: Tue, 3 Sep 2024 10:47:59 +0800 Subject: [PATCH 004/199] [fix](regression) speed up some case (#40237) speed up test_group_commit_replay_wal, txn_insert_with_drop, txn_insert_inject_case --- .../test_group_commit_replay_wal.groovy | 3 +-- .../transaction/txn_insert_inject_case.groovy | 24 ++++++++++++++----- .../transaction/txn_insert_with_drop.groovy | 4 ++++ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/regression-test/suites/insert_p0/group_commit/test_group_commit_replay_wal.groovy b/regression-test/suites/insert_p0/group_commit/test_group_commit_replay_wal.groovy index da7bcadc11a32c..1dc35f0b9df34a 100644 --- a/regression-test/suites/insert_p0/group_commit/test_group_commit_replay_wal.groovy +++ b/regression-test/suites/insert_p0/group_commit/test_group_commit_replay_wal.groovy @@ -58,7 +58,6 @@ suite("test_group_commit_replay_wal", "nonConcurrent") { } getRowCount(5) // check wal count is 0 - sleep(5000) } catch (Exception e) { logger.info("failed: " + e.getMessage()) assertTrue(false) @@ -79,7 +78,7 @@ suite("test_group_commit_replay_wal", "nonConcurrent") { time 10000 } getRowCount(5) - sleep(10000) // wal replay but all failed + sleep(4000) // wal replay but all failed getRowCount(5) // check wal count is 1 diff --git a/regression-test/suites/insert_p0/transaction/txn_insert_inject_case.groovy b/regression-test/suites/insert_p0/transaction/txn_insert_inject_case.groovy index 5478aeef69c70d..4e33d8a03ce313 100644 --- a/regression-test/suites/insert_p0/transaction/txn_insert_inject_case.groovy +++ b/regression-test/suites/insert_p0/transaction/txn_insert_inject_case.groovy @@ -108,8 +108,11 @@ suite("txn_insert_inject_case", "nonConcurrent") { sql """ truncate table ${table}_0 """ // 1. publish timeout + def commit_timeout_second_value = getFeConfig("commit_timeout_second") + logger.info("commit_timeout_second_value: ${commit_timeout_second_value}") def backendId_to_params = get_be_param("pending_data_expire_time_sec") try { + setFeConfig('commit_timeout_second', '2') // test be report tablet and expire txns and fe handle it set_be_param.call("pending_data_expire_time_sec", "1") GetDebugPoint().enableDebugPointForAllFEs('PublishVersionDaemon.stop_publish') @@ -131,21 +134,21 @@ suite("txn_insert_inject_case", "nonConcurrent") { def result = sql "SELECT COUNT(*) FROM ${table}_0" rowCount = result[0][0] assertEquals(0, rowCount) - - sleep(10000) + // sleep(10000) } finally { + setFeConfig('commit_timeout_second', commit_timeout_second_value) set_original_be_param("pending_data_expire_time_sec", backendId_to_params) GetDebugPoint().disableDebugPointForAllFEs('PublishVersionDaemon.stop_publish') def rowCount = 0 - for (int i = 0; i < 30; i++) { + for (int i = 0; i < 600; i++) { def result = sql "SELECT COUNT(*) FROM ${table}_0" logger.info("select result: ${result}") rowCount = result[0][0] if (rowCount == 12) { break } - sleep(2000) + sleep(100) } assertEquals(12, rowCount) } @@ -188,10 +191,13 @@ suite("txn_insert_inject_case", "nonConcurrent") { assertTrue(txn_info[0].get("Reason").contains("DebugPoint: DatabaseTransactionMgr.commitTransaction.failed")) // 3. one txn publish failed + def insert_visible_timeout = sql """show variables where variable_name = 'insert_visible_timeout_ms';""" + logger.info("insert_visible_timeout: ${insert_visible_timeout}") sql """ truncate table ${table}_0 """ txn_id = 0 try (Connection conn = DriverManager.getConnection(url, context.config.jdbcUser, context.config.jdbcPassword); Statement statement = conn.createStatement()) { + statement.execute("ADMIN SET FRONTEND CONFIG ('commit_timeout_second' = '2');") statement.execute("begin") statement.execute("insert into ${table}_0 select * from ${table}_1;") txn_id = get_txn_id_from_server_info((((StatementImpl) statement).results).getServerInfo()) @@ -199,23 +205,29 @@ suite("txn_insert_inject_case", "nonConcurrent") { statement.execute("insert into ${table}_0 select * from ${table}_2;") statement.execute("commit") + sql "set insert_visible_timeout_ms = 2000" sql """insert into ${table}_0 values(100, 2.2, "abc", [], [])""" sql """insert into ${table}_1 values(101, 2.2, "abc", [], [])""" sql """insert into ${table}_2 values(102, 2.2, "abc", [], [])""" order_qt_select2 """select * from ${table}_0""" order_qt_select3 """select * from ${table}_1""" order_qt_select4 """select * from ${table}_2""" + } catch (Exception e) { + logger.info("failed", e) + assertTrue(false, "should not reach here") } finally { + setFeConfig('commit_timeout_second', commit_timeout_second_value) + sql "set insert_visible_timeout_ms = ${insert_visible_timeout[0][1]}" GetDebugPoint().disableDebugPointForAllFEs('PublishVersionDaemon.genPublishTask.failed') def rowCount = 0 - for (int i = 0; i < 20; i++) { + for (int i = 0; i < 200; i++) { def result = sql "select count(*) from ${table}_0" logger.info("rowCount: " + result + ", retry: " + i) rowCount = result[0][0] if (rowCount >= 7) { break } - sleep(1000) + sleep(100) } assertEquals(7, rowCount) } diff --git a/regression-test/suites/insert_p0/transaction/txn_insert_with_drop.groovy b/regression-test/suites/insert_p0/transaction/txn_insert_with_drop.groovy index 4807d65e4b7079..a314f3dfa4b6dc 100644 --- a/regression-test/suites/insert_p0/transaction/txn_insert_with_drop.groovy +++ b/regression-test/suites/insert_p0/transaction/txn_insert_with_drop.groovy @@ -61,7 +61,10 @@ suite("txn_insert_with_drop", "nonConcurrent") { sql """ insert into ${table}_3 values(10, '1', 1), (20, '2', 2) """ sql """ insert into ${table}_4 values(30, '3', 3), (40, '4', 4), (5, '5', 5) """ + def commit_timeout_second_value = getFeConfig("commit_timeout_second") + logger.info("commit_timeout_second_value: ${commit_timeout_second_value}") try { + setFeConfig('commit_timeout_second', '2') // -------------------- drop partition -------------------- // 1. stop publish and txn insert GetDebugPoint().enableDebugPointForAllFEs('PublishVersionDaemon.stop_publish') @@ -129,6 +132,7 @@ suite("txn_insert_with_drop", "nonConcurrent") { } catch (Exception e) { logger.info("failed", e) } finally { + setFeConfig('commit_timeout_second', commit_timeout_second_value) GetDebugPoint().disableDebugPointForAllFEs('PublishVersionDaemon.stop_publish') } } From adff882f787b7c8f95f38a22594cbc5d8833ecfc Mon Sep 17 00:00:00 2001 From: airborne12 Date: Tue, 3 Sep 2024 10:49:24 +0800 Subject: [PATCH 005/199] [Chore](inverted index) remove useless code of compound filters for inverted index (#40258) ## Proposed changes Remove useless code from scan operator to scanner for inverted index compound filter --- be/src/common/config.cpp | 4 - be/src/common/config.h | 4 - be/src/exec/olap_common.h | 142 +----------------- be/src/olap/iterators.h | 1 - be/src/olap/rowset/beta_rowset_reader.cpp | 21 --- be/src/olap/rowset/rowset_reader_context.h | 1 - .../rowset/segment_v2/segment_iterator.cpp | 11 -- be/src/olap/tablet_reader.cpp | 24 --- be/src/olap/tablet_reader.h | 4 - be/src/pipeline/exec/olap_scan_operator.cpp | 18 --- be/src/pipeline/exec/olap_scan_operator.h | 3 - be/src/pipeline/exec/scan_operator.h | 13 -- be/src/vec/exec/scan/new_olap_scanner.cpp | 9 -- be/src/vec/exec/scan/new_olap_scanner.h | 3 - 14 files changed, 5 insertions(+), 253 deletions(-) diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp index 6c38a95bdc91c6..2b3b2ffb09e3ec 100644 --- a/be/src/common/config.cpp +++ b/be/src/common/config.cpp @@ -966,10 +966,6 @@ DEFINE_Int32(pipeline_executor_size, "0"); DEFINE_Bool(enable_workload_group_for_scan, "false"); DEFINE_mInt64(workload_group_scan_task_wait_timeout_ms, "10000"); -// Temp config. True to use optimization for bitmap_index apply predicate except leaf node of the and node. -// Will remove after fully test. -DEFINE_Bool(enable_index_apply_preds_except_leafnode_of_andnode, "true"); - DEFINE_mDouble(variant_ratio_of_defaults_as_sparse_column, "1"); DEFINE_mInt64(variant_threshold_rows_to_estimate_sparse_column, "2048"); DEFINE_mBool(variant_throw_exeception_on_invalid_json, "false"); diff --git a/be/src/common/config.h b/be/src/common/config.h index 017eab0302ac90..f381abca4bcf63 100644 --- a/be/src/common/config.h +++ b/be/src/common/config.h @@ -1026,10 +1026,6 @@ DECLARE_Bool(enable_debug_points); DECLARE_Int32(pipeline_executor_size); -// Temp config. True to use optimization for bitmap_index apply predicate except leaf node of the and node. -// Will remove after fully test. -DECLARE_Bool(enable_index_apply_preds_except_leafnode_of_andnode); - // block file cache DECLARE_Bool(enable_file_cache); // format: [{"path":"/path/to/file_cache","total_size":21474836480,"query_limit":10737418240}] diff --git a/be/src/exec/olap_common.h b/be/src/exec/olap_common.h index 76d5ec83d7d04b..9ba1b81d1b8f11 100644 --- a/be/src/exec/olap_common.h +++ b/be/src/exec/olap_common.h @@ -113,16 +113,8 @@ class ColumnValueRange { Status add_range(SQLFilterOp op, CppType value); - Status add_compound_value(SQLFilterOp op, CppType value); - - bool is_in_compound_value_range() const; - - Status add_match_value(MatchType match_type, const CppType& value); - bool is_fixed_value_range() const; - bool is_match_value_range() const; - bool is_scope_value_range() const; bool is_empty_value_range() const; @@ -195,15 +187,9 @@ class ColumnValueRange { size_t get_fixed_value_size() const { return _fixed_values.size(); } void to_olap_filter(std::vector& filters) { - if (is_fixed_value_range() || is_match_value_range()) { + if (is_fixed_value_range()) { // 1. convert to in filter condition - if (is_fixed_value_range()) { - to_in_condition(filters, true); - } - - if (is_match_value_range()) { - to_match_condition(filters); - } + to_in_condition(filters, true); } else if (_low_value < _high_value) { // 2. convert to min max filter condition TCondition null_pred; @@ -277,59 +263,6 @@ class ColumnValueRange { } } - void to_condition_in_compound(std::vector& filters) { - for (const auto& compound_value : _compound_values) { - TCondition condition; - condition.__set_column_name(_column_name); - if (compound_value.first == FILTER_LARGER) { - condition.__set_condition_op(">>"); - } else if (compound_value.first == FILTER_LARGER_OR_EQUAL) { - condition.__set_condition_op(">="); - } else if (compound_value.first == FILTER_LESS) { - condition.__set_condition_op("<<"); - } else if (compound_value.first == FILTER_LESS_OR_EQUAL) { - condition.__set_condition_op("<="); - } else if (compound_value.first == FILTER_IN) { - condition.__set_condition_op("*="); - } else if (compound_value.first == FILTER_NOT_IN) { - condition.__set_condition_op("!*="); - } - for (const auto& value : compound_value.second) { - condition.condition_values.push_back( - cast_to_string(value, _scale)); - } - if (condition.condition_values.size() != 0) { - filters.push_back(std::move(condition)); - } - } - } - - void to_match_condition(std::vector& filters) { - for (const auto& value : _match_values) { - TCondition condition; - condition.__set_column_name(_column_name); - - if (value.first == MatchType::MATCH_ANY) { - condition.__set_condition_op("match_any"); - } else if (value.first == MatchType::MATCH_ALL) { - condition.__set_condition_op("match_all"); - } else if (value.first == MatchType::MATCH_PHRASE) { - condition.__set_condition_op("match_phrase"); - } else if (value.first == MatchType::MATCH_PHRASE_PREFIX) { - condition.__set_condition_op("match_phrase_prefix"); - } else if (value.first == MatchType::MATCH_REGEXP) { - condition.__set_condition_op("match_regexp"); - } else if (value.first == MatchType::MATCH_PHRASE_EDGE) { - condition.__set_condition_op("match_phrase_edge"); - } - condition.condition_values.push_back( - cast_to_string(value.second, _scale)); - if (condition.condition_values.size() != 0) { - filters.push_back(std::move(condition)); - } - } - } - void set_whole_value_range() { _fixed_values.clear(); _low_value = TYPE_MIN; @@ -386,16 +319,6 @@ class ColumnValueRange { static_cast(range.add_range(op, *value)); } - static void add_compound_value_range(ColumnValueRange& range, SQLFilterOp op, - CppType* value) { - static_cast(range.add_compound_value(op, *value)); - } - - static void add_match_value_range(ColumnValueRange& range, MatchType match_type, - CppType* match_value) { - static_cast(range.add_match_value(match_type, *match_value)); - } - static ColumnValueRange create_empty_column_value_range(bool is_nullable_col, int precision, int scale) { @@ -422,8 +345,7 @@ class ColumnValueRange { CppType _high_value; // Column's high value, open interval at right SQLFilterOp _low_op; SQLFilterOp _high_op; - std::set _fixed_values; // Column's fixed int value - std::set> _match_values; // match value using in full-text search + std::set _fixed_values; // Column's fixed int value bool _is_nullable_col; bool _contain_null; @@ -440,8 +362,6 @@ class ColumnValueRange { primitive_type == PrimitiveType::TYPE_DATETIME || primitive_type == PrimitiveType::TYPE_DATETIMEV2; - // range value except leaf node of and node in compound expr tree - std::map> _compound_values; bool _marked_runtime_filter_predicate = false; }; @@ -592,28 +512,6 @@ Status ColumnValueRange::add_fixed_value(const CppType& value) { return Status::OK(); } -template -Status ColumnValueRange::add_compound_value(SQLFilterOp op, CppType value) { - _compound_values[op].insert(value); - _contain_null = false; - - _high_value = TYPE_MIN; - _low_value = TYPE_MAX; - return Status::OK(); -} - -template -Status ColumnValueRange::add_match_value(MatchType match_type, - const CppType& value) { - std::pair match_value(match_type, value); - _match_values.insert(match_value); - _contain_null = false; - - // _high_value = TYPE_MIN; - // _low_value = TYPE_MAX; - return Status::OK(); -} - template void ColumnValueRange::remove_fixed_value(const CppType& value) { _fixed_values.erase(value); @@ -624,16 +522,6 @@ bool ColumnValueRange::is_fixed_value_range() const { return _fixed_values.size() != 0; } -template -bool ColumnValueRange::is_in_compound_value_range() const { - return _compound_values.size() != 0; -} - -template -bool ColumnValueRange::is_match_value_range() const { - return _match_values.size() != 0; -} - template bool ColumnValueRange::is_scope_value_range() const { return _high_value > _low_value; @@ -645,8 +533,7 @@ bool ColumnValueRange::is_empty_value_range() const { return true; } - return (!is_fixed_value_range() && !is_scope_value_range() && !contain_null() && - !is_match_value_range()); + return (!is_fixed_value_range() && !is_scope_value_range() && !contain_null()); } template @@ -989,7 +876,7 @@ void ColumnValueRange::intersection(ColumnValueRange result_values; // 3. fixed_value intersection, fixed value range do not contain null - if (is_fixed_value_range() || range.is_fixed_value_range() || range.is_match_value_range()) { + if (is_fixed_value_range() || range.is_fixed_value_range()) { if (is_fixed_value_range() && range.is_fixed_value_range()) { set_intersection(_fixed_values.begin(), _fixed_values.end(), range._fixed_values.begin(), range._fixed_values.end(), @@ -1018,10 +905,6 @@ void ColumnValueRange::intersection(ColumnValueRange(add_match_value(value.first, value.second)); - } } else { set_empty_value_range(); } @@ -1151,21 +1034,6 @@ Status OlapScanKeys::extend_scan_key(ColumnValueRange& range, } } - // extend ScanKey with MatchValueRange - if (range.is_match_value_range() && _begin_scan_keys.empty()) { - _begin_scan_keys.emplace_back(); - _begin_scan_keys.back().add_value( - cast_to_string(type_limit::min(), 0)); - _end_scan_keys.emplace_back(); - _end_scan_keys.back().add_value( - cast_to_string(type_limit::max(), 0)); - _begin_include = true; - _end_include = true; - *exact_value = false; - // not empty, do nothing - return Status::OK(); - } - // 3.1 extend ScanKey with FixedValueRange if (range.is_fixed_value_range()) { // 3.1.1 construct num of fixed value ScanKey (begin_key == end_key) diff --git a/be/src/olap/iterators.h b/be/src/olap/iterators.h index 4f103e6cad17b3..1d3c2ddf6b614f 100644 --- a/be/src/olap/iterators.h +++ b/be/src/olap/iterators.h @@ -87,7 +87,6 @@ class StorageReadOptions { // reader's column predicate, nullptr if not existed // used to fiter rows in row block std::vector column_predicates; - std::vector column_predicates_except_leafnode_of_andnode; std::unordered_map> col_id_to_predicates; std::unordered_map> del_predicates_for_zone_map; TPushAggOp::type push_down_agg_type_opt = TPushAggOp::NONE; diff --git a/be/src/olap/rowset/beta_rowset_reader.cpp b/be/src/olap/rowset/beta_rowset_reader.cpp index e90b553896a6a4..5fdb2d7c41a681 100644 --- a/be/src/olap/rowset/beta_rowset_reader.cpp +++ b/be/src/olap/rowset/beta_rowset_reader.cpp @@ -149,27 +149,6 @@ Status BetaRowsetReader::get_segment_iterators(RowsetReaderContext* read_context } } - if (_read_context->predicates_except_leafnode_of_andnode != nullptr) { - bool should_push_down = true; - bool should_push_down_value_predicates = _should_push_down_value_predicates(); - for (auto pred : *_read_context->predicates_except_leafnode_of_andnode) { - if (_rowset->keys_type() == UNIQUE_KEYS && !should_push_down_value_predicates && - !_read_context->tablet_schema->column(pred->column_id()).is_key()) { - VLOG_DEBUG << "do not push down except_leafnode_of_andnode value pred " - << pred->debug_string(); - should_push_down = false; - break; - } - } - - if (should_push_down) { - _read_options.column_predicates_except_leafnode_of_andnode.insert( - _read_options.column_predicates_except_leafnode_of_andnode.end(), - _read_context->predicates_except_leafnode_of_andnode->begin(), - _read_context->predicates_except_leafnode_of_andnode->end()); - } - } - // Take a delete-bitmap for each segment, the bitmap contains all deletes // until the max read version, which is read_context->version.second if (_read_context->delete_bitmap != nullptr) { diff --git a/be/src/olap/rowset/rowset_reader_context.h b/be/src/olap/rowset/rowset_reader_context.h index 2de76df8040185..0d4f5897772ad5 100644 --- a/be/src/olap/rowset/rowset_reader_context.h +++ b/be/src/olap/rowset/rowset_reader_context.h @@ -54,7 +54,6 @@ struct RowsetReaderContext { // column name -> column predicate // adding column_name for predicate to make use of column selectivity const std::vector* predicates = nullptr; - const std::vector* predicates_except_leafnode_of_andnode = nullptr; // value column predicate in UNIQUE table const std::vector* value_predicates = nullptr; const std::vector* lower_bound_keys = nullptr; diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index af473bb5ecdd8d..dc2ec52d12bb1b 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -297,17 +297,6 @@ Status SegmentIterator::_init_impl(const StorageReadOptions& opts) { // Read options will not change, so that just resize here _block_rowids.resize(_opts.block_row_max); - // compound predicates - //TODO: need to check can_apply_predicate_safely in expr - /*_col_preds_except_leafnode_of_andnode.clear(); - for (const auto& predicate : opts.column_predicates_except_leafnode_of_andnode) { - if (!_segment->can_apply_predicate_safely(predicate->column_id(), predicate, *_schema, - _opts.io_ctx.reader_type)) { - continue; - } - _col_preds_except_leafnode_of_andnode.push_back(predicate); - }*/ - _remaining_conjunct_roots = opts.remaining_conjunct_roots; if (_schema->rowid_col_idx() > 0) { diff --git a/be/src/olap/tablet_reader.cpp b/be/src/olap/tablet_reader.cpp index d158e6a5ac526e..5966feeaaf2d2c 100644 --- a/be/src/olap/tablet_reader.cpp +++ b/be/src/olap/tablet_reader.cpp @@ -116,9 +116,6 @@ TabletReader::~TabletReader() { for (auto* pred : _value_col_predicates) { delete pred; } - for (auto* pred : _col_preds_except_leafnode_of_andnode) { - delete pred; - } } Status TabletReader::init(const ReaderParams& read_params) { @@ -242,7 +239,6 @@ Status TabletReader::_capture_rs_readers(const ReaderParams& read_params) { _reader_context.read_orderby_key_columns = !_orderby_key_columns.empty() ? &_orderby_key_columns : nullptr; _reader_context.predicates = &_col_predicates; - _reader_context.predicates_except_leafnode_of_andnode = &_col_preds_except_leafnode_of_andnode; _reader_context.value_predicates = &_value_col_predicates; _reader_context.lower_bound_keys = &_keys_param.start_keys; _reader_context.is_lower_keys_included = &_is_lower_keys_included; @@ -290,7 +286,6 @@ Status TabletReader::_init_params(const ReaderParams& read_params) { _reader_context.target_cast_type_for_variants = read_params.target_cast_type_for_variants; RETURN_IF_ERROR(_init_conditions_param(read_params)); - RETURN_IF_ERROR(_init_conditions_param_except_leafnode_of_andnode(read_params)); Status res = _init_delete_condition(read_params); if (!res.ok()) { @@ -561,25 +556,6 @@ Status TabletReader::_init_conditions_param(const ReaderParams& read_params) { _col_predicates.push_back(predicate); } } - return Status::OK(); -} - -Status TabletReader::_init_conditions_param_except_leafnode_of_andnode( - const ReaderParams& read_params) { - for (const auto& condition : read_params.conditions_except_leafnode_of_andnode) { - TCondition tmp_cond = condition; - const auto& column = *DORIS_TRY(_tablet_schema->column(tmp_cond.column_name)); - const auto& mcolumn = materialize_column(column); - uint32_t index = _tablet_schema->field_index(tmp_cond.column_name); - ColumnPredicate* predicate = - parse_to_predicate(mcolumn, index, tmp_cond, _predicate_arena.get()); - if (predicate != nullptr) { - auto predicate_params = predicate->predicate_params(); - predicate_params->marked_by_runtime_filter = condition.marked_by_runtime_filter; - predicate_params->values = condition.condition_values; - _col_preds_except_leafnode_of_andnode.push_back(predicate); - } - } for (int id : read_params.topn_filter_source_node_ids) { auto& runtime_predicate = diff --git a/be/src/olap/tablet_reader.h b/be/src/olap/tablet_reader.h index 18ebb9653ccde7..f4c8438fca8766 100644 --- a/be/src/olap/tablet_reader.h +++ b/be/src/olap/tablet_reader.h @@ -132,7 +132,6 @@ class TabletReader { std::vector>> bloom_filters; std::vector>> bitmap_filters; std::vector>> in_filters; - std::vector conditions_except_leafnode_of_andnode; std::vector function_filters; std::vector delete_predicates; // slots that cast may be eliminated in storage layer @@ -243,8 +242,6 @@ class TabletReader { Status _init_conditions_param(const ReaderParams& read_params); - Status _init_conditions_param_except_leafnode_of_andnode(const ReaderParams& read_params); - ColumnPredicate* _parse_to_predicate( const std::pair>& bloom_filter); @@ -287,7 +284,6 @@ class TabletReader { std::vector _is_lower_keys_included; std::vector _is_upper_keys_included; std::vector _col_predicates; - std::vector _col_preds_except_leafnode_of_andnode; std::vector _value_col_predicates; DeleteHandler _delete_handler; diff --git a/be/src/pipeline/exec/olap_scan_operator.cpp b/be/src/pipeline/exec/olap_scan_operator.cpp index 95bfd3980417b9..002e085ac0a9c7 100644 --- a/be/src/pipeline/exec/olap_scan_operator.cpp +++ b/be/src/pipeline/exec/olap_scan_operator.cpp @@ -332,7 +332,6 @@ Status OlapScanLocalState::_init_scanners(std::list* s for (auto& scanner : *scanners) { auto* olap_scanner = assert_cast(scanner.get()); RETURN_IF_ERROR(olap_scanner->prepare(state(), _conjuncts)); - olap_scanner->set_compound_filters(_compound_filters); } return Status::OK(); } @@ -354,7 +353,6 @@ Status OlapScanLocalState::_init_scanners(std::list* s p._olap_scan_node.is_preaggregation, }); RETURN_IF_ERROR(scanner->prepare(state(), _conjuncts)); - scanner->set_compound_filters(_compound_filters); scanners->push_back(std::move(scanner)); return Status::OK(); }; @@ -516,22 +514,6 @@ Status OlapScanLocalState::_build_key_ranges_and_filters() { } } - for (auto& iter : _compound_value_ranges) { - std::vector filters; - std::visit( - [&](auto&& range) { - if (range.is_in_compound_value_range()) { - range.to_condition_in_compound(filters); - } else if (range.is_match_value_range()) { - range.to_match_condition(filters); - } - }, - iter); - for (const auto& filter : filters) { - _compound_filters.push_back(filter); - } - } - // Append value ranges in "_not_in_value_ranges" for (auto& range : _not_in_value_ranges) { std::visit([&](auto&& the_range) { the_range.to_in_condition(_olap_filters, false); }, diff --git a/be/src/pipeline/exec/olap_scan_operator.h b/be/src/pipeline/exec/olap_scan_operator.h index 83f838dd0fc47c..0dffa1b7efea3a 100644 --- a/be/src/pipeline/exec/olap_scan_operator.h +++ b/be/src/pipeline/exec/olap_scan_operator.h @@ -92,9 +92,6 @@ class OlapScanLocalState final : public ScanLocalState { std::vector> _cond_ranges; OlapScanKeys _scan_keys; std::vector _olap_filters; - // _compound_filters store conditions in the one compound relationship in conjunct expr tree except leaf node of `and` node, - // such as: "(a or b) and (c or d)", conditions for a,b,c,d will be stored - std::vector _compound_filters; // If column id in this set, indicate that we need to read data after index filtering std::set _maybe_read_column_ids; diff --git a/be/src/pipeline/exec/scan_operator.h b/be/src/pipeline/exec/scan_operator.h index 823440f52c0e8e..e106c5a2b51383 100644 --- a/be/src/pipeline/exec/scan_operator.h +++ b/be/src/pipeline/exec/scan_operator.h @@ -333,19 +333,6 @@ class ScanLocalState : public ScanLocalStateBase { // We use _colname_to_value_range to store a column and its conresponding value ranges. std::unordered_map _colname_to_value_range; - /** - * _colname_to_value_range only store the leaf of and in the conjunct expr tree, - * we use _compound_value_ranges to store conresponding value ranges - * in the one compound relationship except the leaf of and node, - * such as `where a > 1 or b > 10 and c < 200`, the expr tree like: - * or - * / \ - * a and - * / \ - * b c - * the value ranges of column a,b,c will all store into _compound_value_ranges - */ - std::vector _compound_value_ranges; // But if a col is with value range, eg: 1 < col < 10, which is "!is_fixed_range", // in this case we can not merge "1 < col < 10" with "col not in (2)". // So we have to save "col not in (2)" to another structure: "_not_in_value_ranges". diff --git a/be/src/vec/exec/scan/new_olap_scanner.cpp b/be/src/vec/exec/scan/new_olap_scanner.cpp index 0b1382dc1dba2a..a01bfaa92d0fd3 100644 --- a/be/src/vec/exec/scan/new_olap_scanner.cpp +++ b/be/src/vec/exec/scan/new_olap_scanner.cpp @@ -84,7 +84,6 @@ NewOlapScanner::NewOlapScanner(pipeline::ScanLocalStateBase* parent, .bloom_filters {}, .bitmap_filters {}, .in_filters {}, - .conditions_except_leafnode_of_andnode {}, .function_filters {}, .delete_predicates {}, .target_cast_type_for_variants {}, @@ -245,10 +244,6 @@ Status NewOlapScanner::open(RuntimeState* state) { return Status::OK(); } -void NewOlapScanner::set_compound_filters(const std::vector& compound_filters) { - _compound_filters = compound_filters; -} - // it will be called under tablet read lock because capture rs readers need Status NewOlapScanner::_init_tablet_reader_params( const std::vector& key_ranges, const std::vector& filters, @@ -294,10 +289,6 @@ Status NewOlapScanner::_init_tablet_reader_params( _tablet_reader_params.conditions.push_back(filter); } - std::copy(_compound_filters.cbegin(), _compound_filters.cend(), - std::inserter(_tablet_reader_params.conditions_except_leafnode_of_andnode, - _tablet_reader_params.conditions_except_leafnode_of_andnode.begin())); - std::copy(filter_predicates.bloom_filters.cbegin(), filter_predicates.bloom_filters.cend(), std::inserter(_tablet_reader_params.bloom_filters, _tablet_reader_params.bloom_filters.begin())); diff --git a/be/src/vec/exec/scan/new_olap_scanner.h b/be/src/vec/exec/scan/new_olap_scanner.h index df6ff041143606..52c664c026afd8 100644 --- a/be/src/vec/exec/scan/new_olap_scanner.h +++ b/be/src/vec/exec/scan/new_olap_scanner.h @@ -75,8 +75,6 @@ class NewOlapScanner : public VScanner { Status close(RuntimeState* state) override; - void set_compound_filters(const std::vector& compound_filters); - doris::TabletStorageType get_storage_type() override; protected: @@ -101,7 +99,6 @@ class NewOlapScanner : public VScanner { std::vector _return_columns; std::unordered_set _tablet_columns_convert_to_null_set; - std::vector _compound_filters; // ========= profiles ========== int64_t _compressed_bytes_read = 0; From 8bf3ff4ea2dace707af3c1f64e42f7df089630c0 Mon Sep 17 00:00:00 2001 From: abmdocrt Date: Tue, 3 Sep 2024 10:54:24 +0800 Subject: [PATCH 006/199] [Enhancement](Group commit) Remove the redundant `iscloud` parameter (#40120) `isCloud` parameter is redundant because we can use `Config.isCloud()` to replace it. --- .../cloud/planner/CloudGroupCommitPlanner.java | 14 -------------- .../org/apache/doris/httpv2/rest/LoadAction.java | 11 +++++------ .../org/apache/doris/load/GroupCommitManager.java | 10 +++++----- .../insert/OlapGroupCommitInsertExecutor.java | 2 +- .../apache/doris/planner/GroupCommitPlanner.java | 2 +- .../java/org/apache/doris/qe/MasterOpExecutor.java | 7 +++---- .../apache/doris/service/FrontendServiceImpl.java | 2 +- gensrc/thrift/FrontendService.thrift | 1 - 8 files changed, 16 insertions(+), 33 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/planner/CloudGroupCommitPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/planner/CloudGroupCommitPlanner.java index 782f78e6bc401e..0388ca5c5d6809 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/planner/CloudGroupCommitPlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/planner/CloudGroupCommitPlanner.java @@ -18,13 +18,9 @@ package org.apache.doris.cloud.planner; import org.apache.doris.catalog.Database; -import org.apache.doris.catalog.Env; import org.apache.doris.catalog.OlapTable; -import org.apache.doris.common.DdlException; -import org.apache.doris.common.LoadException; import org.apache.doris.common.UserException; import org.apache.doris.planner.GroupCommitPlanner; -import org.apache.doris.qe.ConnectContext; import org.apache.doris.thrift.TUniqueId; import org.apache.logging.log4j.LogManager; @@ -41,14 +37,4 @@ public CloudGroupCommitPlanner(Database db, OlapTable table, List target throws UserException, TException { super(db, table, targetColumnNames, queryId, groupCommit); } - - @Override - protected void selectBackends(ConnectContext ctx) throws DdlException { - try { - backend = Env.getCurrentEnv().getGroupCommitManager() - .selectBackendForGroupCommit(this.table.getId(), ctx, true); - } catch (LoadException e) { - throw new DdlException("No suitable backend"); - } - } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/LoadAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/LoadAction.java index c9681eb784981f..1f1c5d965c25da 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/LoadAction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/LoadAction.java @@ -434,7 +434,7 @@ private TNetworkAddress selectLocalRedirectBackend(boolean groupCommit, HttpServ throw new LoadException(SystemInfoService.NO_BACKEND_LOAD_AVAILABLE_MSG + ", policy: " + policy); } if (groupCommit) { - backend = selectBackendForGroupCommit("", request, tableId, false); + backend = selectBackendForGroupCommit("", request, tableId); } else { backend = Env.getCurrentSystemInfo().getBackend(backendIds.get(0)); } @@ -449,7 +449,7 @@ private TNetworkAddress selectCloudRedirectBackend(String clusterName, HttpServl throws LoadException { Backend backend = null; if (groupCommit) { - backend = selectBackendForGroupCommit(clusterName, req, tableId, true); + backend = selectBackendForGroupCommit(clusterName, req, tableId); } else { backend = StreamLoadHandler.selectBackend(clusterName); } @@ -665,8 +665,7 @@ private String getAllHeaders(HttpServletRequest request) { return headers.toString(); } - private Backend selectBackendForGroupCommit(String clusterName, HttpServletRequest req, long tableId, - boolean isCloud) + private Backend selectBackendForGroupCommit(String clusterName, HttpServletRequest req, long tableId) throws LoadException { ConnectContext ctx = new ConnectContext(); ctx.setEnv(Env.getCurrentEnv()); @@ -676,14 +675,14 @@ private Backend selectBackendForGroupCommit(String clusterName, HttpServletReque // TMasterOpRequest(FrontendService.thrift) ctx.setQualifiedUser(Auth.ADMIN_USER); ctx.setThreadLocalInfo(); - if (isCloud) { + if (Config.isCloudMode()) { ctx.setCloudCluster(clusterName); } Backend backend = null; try { backend = Env.getCurrentEnv().getGroupCommitManager() - .selectBackendForGroupCommit(tableId, ctx, isCloud); + .selectBackendForGroupCommit(tableId, ctx); } catch (DdlException e) { throw new LoadException(e.getMessage(), e); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/GroupCommitManager.java b/fe/fe-core/src/main/java/org/apache/doris/load/GroupCommitManager.java index e4dd77e3e20655..717cf0c61035e1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/GroupCommitManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/GroupCommitManager.java @@ -186,14 +186,14 @@ private long getWalQueueSize(Backend backend, PGetWalQueueSizeRequest request) { return size; } - public Backend selectBackendForGroupCommit(long tableId, ConnectContext context, boolean isCloud) + public Backend selectBackendForGroupCommit(long tableId, ConnectContext context) throws LoadException, DdlException { // If a group commit request is sent to the follower FE, we will send this request to the master FE. master FE // can select a BE and return this BE id to follower FE. if (!Env.getCurrentEnv().isMaster()) { try { long backendId = new MasterOpExecutor(context) - .getGroupCommitLoadBeId(tableId, context.getCloudCluster(), isCloud); + .getGroupCommitLoadBeId(tableId, context.getCloudCluster()); return Env.getCurrentSystemInfo().getBackend(backendId); } catch (Exception e) { throw new LoadException(e.getMessage()); @@ -201,11 +201,11 @@ public Backend selectBackendForGroupCommit(long tableId, ConnectContext context, } else { // Master FE will select BE by itself. return Env.getCurrentSystemInfo() - .getBackend(selectBackendForGroupCommitInternal(tableId, context.getCloudCluster(), isCloud)); + .getBackend(selectBackendForGroupCommitInternal(tableId, context.getCloudCluster())); } } - public long selectBackendForGroupCommitInternal(long tableId, String cluster, boolean isCloud) + public long selectBackendForGroupCommitInternal(long tableId, String cluster) throws LoadException, DdlException { // Understanding Group Commit and Backend Selection Logic // @@ -237,7 +237,7 @@ public long selectBackendForGroupCommitInternal(long tableId, String cluster, bo // a BE is chosen at random. This BE is then recorded along with the mapping of table A and its load level. // This approach ensures that group commits can effectively batch data together // while managing the load on each BE efficiently. - return isCloud ? selectBackendForCloudGroupCommitInternal(tableId, cluster) + return Config.isCloudMode() ? selectBackendForCloudGroupCommitInternal(tableId, cluster) : selectBackendForLocalGroupCommitInternal(tableId); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/OlapGroupCommitInsertExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/OlapGroupCommitInsertExecutor.java index a44528e93b379d..239328ce93d813 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/OlapGroupCommitInsertExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/OlapGroupCommitInsertExecutor.java @@ -120,7 +120,7 @@ protected void beforeExec() { } try { this.coordinator.setGroupCommitBe(Env.getCurrentEnv().getGroupCommitManager() - .selectBackendForGroupCommit(table.getId(), ctx, false)); + .selectBackendForGroupCommit(table.getId(), ctx)); } catch (LoadException | DdlException e) { throw new RuntimeException(e); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitPlanner.java index bc3759d4e62867..234f8e99a882e8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitPlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/GroupCommitPlanner.java @@ -148,7 +148,7 @@ public PGroupCommitInsertResponse executeGroupCommitInsert(ConnectContext ctx, protected void selectBackends(ConnectContext ctx) throws DdlException { try { backend = Env.getCurrentEnv().getGroupCommitManager() - .selectBackendForGroupCommit(this.table.getId(), ctx, false); + .selectBackendForGroupCommit(this.table.getId(), ctx); } catch (LoadException e) { throw new DdlException("No suitable backend"); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java index eaab01df55635a..edc174d9d2f7e4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/MasterOpExecutor.java @@ -102,8 +102,8 @@ public void syncJournal() throws Exception { waitOnReplaying(); } - public long getGroupCommitLoadBeId(long tableId, String cluster, boolean isCloud) throws Exception { - result = forward(buildGetGroupCommitLoadBeIdParmas(tableId, cluster, isCloud)); + public long getGroupCommitLoadBeId(long tableId, String cluster) throws Exception { + result = forward(buildGetGroupCommitLoadBeIdParmas(tableId, cluster)); waitOnReplaying(); return result.groupCommitLoadBeId; } @@ -244,12 +244,11 @@ private TMasterOpRequest buildSyncJournalParmas() { return params; } - private TMasterOpRequest buildGetGroupCommitLoadBeIdParmas(long tableId, String cluster, boolean isCloud) { + private TMasterOpRequest buildGetGroupCommitLoadBeIdParmas(long tableId, String cluster) { final TGroupCommitInfo groupCommitParams = new TGroupCommitInfo(); groupCommitParams.setGetGroupCommitLoadBeId(true); groupCommitParams.setGroupCommitLoadTableId(tableId); groupCommitParams.setCluster(cluster); - groupCommitParams.setIsCloud(isCloud); final TMasterOpRequest params = new TMasterOpRequest(); // node ident diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java index 99bcadee120e9f..cc613cb5d8cf76 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java @@ -1041,7 +1041,7 @@ public TMasterOpResult forward(TMasterOpRequest params) throws TException { final TMasterOpResult result = new TMasterOpResult(); try { result.setGroupCommitLoadBeId(Env.getCurrentEnv().getGroupCommitManager() - .selectBackendForGroupCommitInternal(info.groupCommitLoadTableId, info.cluster, info.isCloud)); + .selectBackendForGroupCommitInternal(info.groupCommitLoadTableId, info.cluster)); } catch (LoadException | DdlException e) { throw new TException(e.getMessage()); } diff --git a/gensrc/thrift/FrontendService.thrift b/gensrc/thrift/FrontendService.thrift index 2dcdf9b718036f..2cad1a55e42695 100644 --- a/gensrc/thrift/FrontendService.thrift +++ b/gensrc/thrift/FrontendService.thrift @@ -545,7 +545,6 @@ struct TGroupCommitInfo{ 1: optional bool getGroupCommitLoadBeId 2: optional i64 groupCommitLoadTableId 3: optional string cluster - 4: optional bool isCloud 5: optional bool updateLoadData 6: optional i64 tableId 7: optional i64 receiveData From ff24a4facb0c58090f836974d44da3319b618956 Mon Sep 17 00:00:00 2001 From: abmdocrt Date: Tue, 3 Sep 2024 11:36:17 +0800 Subject: [PATCH 007/199] [Fix](regression-test) Fix `test_group_commit_stream_load_with_nonexist_db_and_table` regression test case (#40109) --- ...t_group_commit_stream_load_with_nonexist_db_and_table.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regression-test/suites/load_p0/stream_load/test_group_commit_stream_load_with_nonexist_db_and_table.groovy b/regression-test/suites/load_p0/stream_load/test_group_commit_stream_load_with_nonexist_db_and_table.groovy index ba806967bf79b1..57054b2a42088a 100644 --- a/regression-test/suites/load_p0/stream_load/test_group_commit_stream_load_with_nonexist_db_and_table.groovy +++ b/regression-test/suites/load_p0/stream_load/test_group_commit_stream_load_with_nonexist_db_and_table.groovy @@ -31,7 +31,7 @@ suite("test_group_commit_stream_load_with_nonexist_db_and_table") { code = process.waitFor() out = process.text log.info("stream lad result: ${out}".toString()) - assertTrue(out.toString().contains("table not found")) + assertTrue(out.toString().contains("OlapTable not found")) } catch (Exception e) { logger.info("failed: " + e.getMessage()) assertTrue(false) From 5ea6e4bc03575444688dc4672d099354ba6b17e6 Mon Sep 17 00:00:00 2001 From: zhangdong <493738387@qq.com> Date: Tue, 3 Sep 2024 11:43:49 +0800 Subject: [PATCH 008/199] [enhance](mtmv)Optimize the speed of obtaining the last update time of Hive (#40169) Previously, to obtain the last update time of a hive table, it was necessary to obtain the last update time of all partitions under the table, which required generating a large map. --- .../datasource/hive/HMSExternalTable.java | 79 ++++++++++--------- .../datasource/hive/HiveMetaStoreCache.java | 4 + 2 files changed, 46 insertions(+), 37 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java index a9f2da13b4093b..8217f1c3a367df 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java @@ -53,6 +53,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.hive.metastore.api.ColumnStatisticsData; @@ -741,18 +742,17 @@ public Map getAndCopyPartitionItems() { return res; } - private HiveMetaStoreCache.HivePartitionValues getHivePartitionValues() { - HiveMetaStoreCache cache = Env.getCurrentEnv().getExtMetaCacheMgr() - .getMetaStoreCache((HMSExternalCatalog) getCatalog()); - return cache.getPartitionValues( - getDbName(), getName(), getPartitionColumnTypes()); - } - @Override public MTMVSnapshotIf getPartitionSnapshot(String partitionName, MTMVRefreshContext context) throws AnalysisException { - long partitionLastModifyTime = getPartitionLastModifyTime(partitionName); - return new MTMVTimestampSnapshot(partitionLastModifyTime); + HiveMetaStoreCache cache = Env.getCurrentEnv().getExtMetaCacheMgr() + .getMetaStoreCache((HMSExternalCatalog) getCatalog()); + HiveMetaStoreCache.HivePartitionValues hivePartitionValues = cache.getPartitionValues( + getDbName(), getName(), getPartitionColumnTypes()); + Long partitionId = getPartitionIdByNameOrAnalysisException(partitionName, hivePartitionValues); + HivePartition hivePartition = getHivePartitionByIdOrAnalysisException(partitionId, + hivePartitionValues, cache); + return new MTMVTimestampSnapshot(hivePartition.getLastModifiedTime()); } @Override @@ -760,45 +760,50 @@ public MTMVSnapshotIf getTableSnapshot(MTMVRefreshContext context) throws Analys if (getPartitionType() == PartitionType.UNPARTITIONED) { return new MTMVMaxTimestampSnapshot(getName(), getLastDdlTime()); } - String partitionName = ""; + Long maxPartitionId = 0L; long maxVersionTime = 0L; long visibleVersionTime; - for (Entry entry : getAndCopyPartitionItems().entrySet()) { - visibleVersionTime = getPartitionLastModifyTime(entry.getKey()); + HiveMetaStoreCache cache = Env.getCurrentEnv().getExtMetaCacheMgr() + .getMetaStoreCache((HMSExternalCatalog) getCatalog()); + HiveMetaStoreCache.HivePartitionValues hivePartitionValues = cache.getPartitionValues( + getDbName(), getName(), getPartitionColumnTypes()); + BiMap idToName = hivePartitionValues.getPartitionNameToIdMap().inverse(); + if (MapUtils.isEmpty(idToName)) { + throw new AnalysisException("partitions is empty for : " + getName()); + } + for (Long partitionId : idToName.keySet()) { + visibleVersionTime = getHivePartitionByIdOrAnalysisException(partitionId, hivePartitionValues, + cache).getLastModifiedTime(); if (visibleVersionTime > maxVersionTime) { maxVersionTime = visibleVersionTime; - partitionName = entry.getKey(); + maxPartitionId = partitionId; } } - return new MTMVMaxTimestampSnapshot(partitionName, maxVersionTime); + return new MTMVMaxTimestampSnapshot(idToName.get(maxPartitionId), maxVersionTime); } - private long getPartitionLastModifyTime(String partitionName) throws AnalysisException { - return getPartitionByName(partitionName).getLastModifiedTime(); - } - - private HivePartition getPartitionByName(String partitionName) throws AnalysisException { - PartitionItem item = getAndCopyPartitionItems().get(partitionName); - List> partitionValuesList = transferPartitionItemToPartitionValues(item); - List partitions = getPartitionsByPartitionValues(partitionValuesList); - if (partitions.size() != 1) { - throw new AnalysisException("partition not normal, size: " + partitions.size()); + private Long getPartitionIdByNameOrAnalysisException(String partitionName, + HiveMetaStoreCache.HivePartitionValues hivePartitionValues) + throws AnalysisException { + Long partitionId = hivePartitionValues.getPartitionNameToIdMap().get(partitionName); + if (partitionId == null) { + throw new AnalysisException("can not find partition: " + partitionName); } - return partitions.get(0); + return partitionId; } - private List getPartitionsByPartitionValues(List> partitionValuesList) { - HiveMetaStoreCache cache = Env.getCurrentEnv().getExtMetaCacheMgr() - .getMetaStoreCache((HMSExternalCatalog) getCatalog()); - return cache.getAllPartitionsWithCache(getDbName(), getName(), - partitionValuesList); - } - - private List> transferPartitionItemToPartitionValues(PartitionItem item) { - List> partitionValuesList = Lists.newArrayListWithCapacity(1); - partitionValuesList.add( - ((ListPartitionItem) item).getItems().get(0).getPartitionValuesAsStringListForHive()); - return partitionValuesList; + private HivePartition getHivePartitionByIdOrAnalysisException(Long partitionId, + HiveMetaStoreCache.HivePartitionValues hivePartitionValues, + HiveMetaStoreCache cache) throws AnalysisException { + List partitionValues = hivePartitionValues.getPartitionValuesMap().get(partitionId); + if (CollectionUtils.isEmpty(partitionValues)) { + throw new AnalysisException("can not find partitionValues: " + partitionId); + } + HivePartition partition = cache.getHivePartition(getDbName(), getName(), partitionValues); + if (partition == null) { + throw new AnalysisException("can not find partition: " + partitionId); + } + return partition; } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java index b87c14afbc8a42..99338fb87ad23b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java @@ -521,6 +521,10 @@ public List getFilesByPartitions(List partitions, return fileLists; } + public HivePartition getHivePartition(String dbName, String name, List partitionValues) { + return partitionCache.get(new PartitionCacheKey(dbName, name, partitionValues)); + } + public List getAllPartitionsWithCache(String dbName, String name, List> partitionValuesList) { return getAllPartitions(dbName, name, partitionValuesList, true); From 80c65f2ce0cfacf82f5b9715f8ac8ececcdbacb3 Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Tue, 3 Sep 2024 12:43:46 +0800 Subject: [PATCH 009/199] [fix](memory) When Load ends, check memory tracker value returns is equal to 0 (#40016) Check all memory is freed when Load is finished. --- be/src/pipeline/pipeline_fragment_context.cpp | 8 +++ be/src/runtime/memory/mem_tracker_limiter.cpp | 71 +++++++++++-------- be/src/runtime/memory/mem_tracker_limiter.h | 2 + 3 files changed, 52 insertions(+), 29 deletions(-) diff --git a/be/src/pipeline/pipeline_fragment_context.cpp b/be/src/pipeline/pipeline_fragment_context.cpp index 51cfd73e549d79..3bf54ed7ece00b 100644 --- a/be/src/pipeline/pipeline_fragment_context.cpp +++ b/be/src/pipeline/pipeline_fragment_context.cpp @@ -1031,6 +1031,10 @@ Status PipelineFragmentContext::_create_data_sink(ObjectPool* pool, const TDataS } case TDataSinkType::GROUP_COMMIT_BLOCK_SINK: { DCHECK(thrift_sink.__isset.olap_table_sink); +#ifndef NDEBUG + DCHECK(state->get_query_ctx() != nullptr); + state->get_query_ctx()->query_mem_tracker->is_group_commit_load = true; +#endif _sink.reset( new GroupCommitBlockSinkOperatorX(next_sink_operator_id(), row_desc, output_exprs)); break; @@ -1177,6 +1181,10 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo break; } case TPlanNodeType::GROUP_COMMIT_SCAN_NODE: { +#ifndef NDEBUG + DCHECK(_query_ctx != nullptr); + _query_ctx->query_mem_tracker->is_group_commit_load = true; +#endif op.reset(new GroupCommitOperatorX(pool, tnode, next_operator_id(), descs, _num_instances)); RETURN_IF_ERROR(cur_pipe->add_operator(op)); if (request.__isset.parallel_instances) { diff --git a/be/src/runtime/memory/mem_tracker_limiter.cpp b/be/src/runtime/memory/mem_tracker_limiter.cpp index cc695a6fdd51e1..6df577f8a50347 100644 --- a/be/src/runtime/memory/mem_tracker_limiter.cpp +++ b/be/src/runtime/memory/mem_tracker_limiter.cpp @@ -114,6 +114,8 @@ MemTrackerLimiter::~MemTrackerLimiter() { "mem tracker not equal to 0 when mem tracker destruct, this usually means that " "memory tracking is inaccurate and SCOPED_ATTACH_TASK and " "SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER are not used correctly. " + "If the log is truncated, search for `Address Sanitizer` in the be.INFO log to see " + "more information." "1. For query and load, memory leaks may have occurred, it is expected that the query " "mem tracker will be bound to the thread context using SCOPED_ATTACH_TASK and " "SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER before all memory alloc and free. " @@ -127,7 +129,7 @@ MemTrackerLimiter::~MemTrackerLimiter() { if (_consumption->current_value() != 0) { // TODO, expect mem tracker equal to 0 at the load/compaction/etc. task end. #ifndef NDEBUG - if (_type == Type::QUERY) { + if (_type == Type::QUERY || (_type == Type::LOAD && !is_group_commit_load)) { std::string err_msg = fmt::format("mem tracker label: {}, consumption: {}, peak consumption: {}, {}.", label(), _consumption->current_value(), _consumption->peak_value(), @@ -140,11 +142,11 @@ MemTrackerLimiter::~MemTrackerLimiter() { } _consumption->set(0); #ifndef NDEBUG - } else if (!_address_sanitizers.empty()) { - LOG(INFO) << "[Address Sanitizer] consumption is 0, but address sanitizers not empty. " - << ", mem tracker label: " << _label - << ", peak consumption: " << _consumption->peak_value() - << print_address_sanitizers(); + } else if (!_address_sanitizers.empty() && !is_group_commit_load) { + LOG(FATAL) << "[Address Sanitizer] consumption is 0, but address sanitizers not empty. " + << ", mem tracker label: " << _label + << ", peak consumption: " << _consumption->peak_value() + << print_address_sanitizers(); #endif } memory_memtrackerlimiter_cnt << -1; @@ -152,17 +154,17 @@ MemTrackerLimiter::~MemTrackerLimiter() { #ifndef NDEBUG void MemTrackerLimiter::add_address_sanitizers(void* buf, size_t size) { - if (_type == Type::QUERY) { + if (_type == Type::QUERY || (_type == Type::LOAD && !is_group_commit_load)) { std::lock_guard l(_address_sanitizers_mtx); auto it = _address_sanitizers.find(buf); if (it != _address_sanitizers.end()) { - LOG(INFO) << "[Address Sanitizer] memory buf repeat add, mem tracker label: " << _label - << ", consumption: " << _consumption->current_value() - << ", peak consumption: " << _consumption->peak_value() << ", buf: " << buf - << ", size: " << size << ", old buf: " << it->first - << ", old size: " << it->second.size - << ", new stack_trace: " << get_stack_trace(1, "DISABLED") - << ", old stack_trace: " << it->second.stack_trace; + _error_address_sanitizers.emplace_back( + fmt::format("[Address Sanitizer] memory buf repeat add, mem tracker label: {}, " + "consumption: {}, peak consumption: {}, buf: {}, size: {}, old " + "buf: {}, old size: {}, new stack_trace: {}, old stack_trace: {}.", + _label, _consumption->current_value(), _consumption->peak_value(), + buf, size, it->first, it->second.size, + get_stack_trace(1, "FULL_WITH_INLINE"), it->second.stack_trace)); } // if alignment not equal to 0, maybe usable_size > size. @@ -174,26 +176,26 @@ void MemTrackerLimiter::add_address_sanitizers(void* buf, size_t size) { } void MemTrackerLimiter::remove_address_sanitizers(void* buf, size_t size) { - if (_type == Type::QUERY) { + if (_type == Type::QUERY || (_type == Type::LOAD && !is_group_commit_load)) { std::lock_guard l(_address_sanitizers_mtx); auto it = _address_sanitizers.find(buf); if (it != _address_sanitizers.end()) { if (it->second.size != size) { - LOG(INFO) << "[Address Sanitizer] free memory buf size inaccurate, mem tracker " - "label: " - << _label << ", consumption: " << _consumption->current_value() - << ", peak consumption: " << _consumption->peak_value() - << ", buf: " << buf << ", size: " << size << ", old buf: " << it->first - << ", old size: " << it->second.size - << ", new stack_trace: " << get_stack_trace(1, "DISABLED") - << ", old stack_trace: " << it->second.stack_trace; + _error_address_sanitizers.emplace_back(fmt::format( + "[Address Sanitizer] free memory buf size inaccurate, mem tracker label: " + "{}, consumption: {}, peak consumption: {}, buf: {}, size: {}, old buf: " + "{}, old size: {}, new stack_trace: {}, old stack_trace: {}.", + _label, _consumption->current_value(), _consumption->peak_value(), buf, + size, it->first, it->second.size, get_stack_trace(1, "FULL_WITH_INLINE"), + it->second.stack_trace)); } _address_sanitizers.erase(buf); } else { - LOG(INFO) << "[Address Sanitizer] memory buf not exist, mem tracker label: " << _label - << ", consumption: " << _consumption->current_value() - << ", peak consumption: " << _consumption->peak_value() << ", buf: " << buf - << ", size: " << size << ", stack_trace: " << get_stack_trace(1, "DISABLED"); + _error_address_sanitizers.emplace_back(fmt::format( + "[Address Sanitizer] memory buf not exist, mem tracker label: {}, consumption: " + "{}, peak consumption: {}, buf: {}, size: {}, stack_trace: {}.", + _label, _consumption->current_value(), _consumption->peak_value(), buf, size, + get_stack_trace(1, "FULL_WITH_INLINE"))); } } } @@ -201,9 +203,20 @@ void MemTrackerLimiter::remove_address_sanitizers(void* buf, size_t size) { std::string MemTrackerLimiter::print_address_sanitizers() { std::lock_guard l(_address_sanitizers_mtx); std::string detail = "[Address Sanitizer]:"; + detail += "\n memory not be freed:"; for (const auto& it : _address_sanitizers) { - detail += fmt::format("\n {}, size {}, strack trace: {}", it.first, it.second.size, - it.second.stack_trace); + auto msg = fmt::format( + "\n [Address Sanitizer] buf not be freed, mem tracker label: {}, consumption: " + "{}, peak consumption: {}, buf: {}, size {}, strack trace: {}", + _label, _consumption->current_value(), _consumption->peak_value(), it.first, + it.second.size, it.second.stack_trace); + LOG(INFO) << msg; + detail += msg; + } + detail += "\n incorrect memory alloc and free:"; + for (const auto& err_msg : _error_address_sanitizers) { + LOG(INFO) << err_msg; + detail += fmt::format("\n {}", err_msg); } return detail; } diff --git a/be/src/runtime/memory/mem_tracker_limiter.h b/be/src/runtime/memory/mem_tracker_limiter.h index e5c5cb1bc0369c..344f3dc92b6670 100644 --- a/be/src/runtime/memory/mem_tracker_limiter.h +++ b/be/src/runtime/memory/mem_tracker_limiter.h @@ -209,6 +209,7 @@ class MemTrackerLimiter final : public MemTracker { void add_address_sanitizers(void* buf, size_t size); void remove_address_sanitizers(void* buf, size_t size); std::string print_address_sanitizers(); + bool is_group_commit_load {false}; #endif std::string debug_string() override { @@ -260,6 +261,7 @@ class MemTrackerLimiter final : public MemTracker { std::mutex _address_sanitizers_mtx; std::unordered_map _address_sanitizers; + std::vector _error_address_sanitizers; #endif }; From a4956d6d37892103852099df6cbdeb8a0360d90d Mon Sep 17 00:00:00 2001 From: Mingyu Chen Date: Tue, 3 Sep 2024 14:00:03 +0800 Subject: [PATCH 010/199] [feature](metacache) add system table catalog_meta_cache_statistics (#40155) Add new system table `catalog_meta_cache_statistics` ``` mysql> select * from information_schema.catalog_meta_cache_statistics; +--------------+-----------------------------+----------------------+---------------------+ | CATALOG_NAME | CACHE_NAME | METRIC_NAME | METRIC_VALUE | +--------------+-----------------------------+----------------------+---------------------+ | hms | hive_file_cache | eviction_count | 0 | | hms | hive_file_cache | hit_ratio | 0.6 | | hms | hive_file_cache | average_load_penalty | 7.60805755E7 | | hms | hive_file_cache | estimated_size | 2 | | hms | hive_file_cache | hit_count | 3 | | hms | hive_file_cache | read_count | 5 | | hms | hive_partition_cache | eviction_count | 0 | | hms | hive_partition_cache | hit_ratio | 1.0 | | hms | hive_partition_cache | average_load_penalty | 0.0 | | hms | hive_partition_cache | estimated_size | 0 | | hms | hive_partition_cache | hit_count | 0 | | hms | hive_partition_cache | read_count | 0 | | hms | hive_partition_values_cache | eviction_count | 0 | | hms | hive_partition_values_cache | hit_ratio | 1.0 | | hms | hive_partition_values_cache | average_load_penalty | 0.0 | | hms | hive_partition_values_cache | estimated_size | 0 | | hms | hive_partition_values_cache | hit_count | 0 | | hms | hive_partition_values_cache | read_count | 0 | | hms | hudi_partition_cache | eviction_count | 0 | | hms | hudi_partition_cache | hit_ratio | 1.0 | | hms | hudi_partition_cache | average_load_penalty | 0.0 | | hms | hudi_partition_cache | estimated_size | 0 | | hms | hudi_partition_cache | hit_count | 0 | | hms | hudi_partition_cache | read_count | 0 | | iceberg | iceberg_table_cache | eviction_count | 0 | | iceberg | iceberg_table_cache | hit_ratio | 0.07407407407407407 | | iceberg | iceberg_table_cache | average_load_penalty | 1.7263263424E8 | | iceberg | iceberg_table_cache | estimated_size | 25 | | iceberg | iceberg_table_cache | hit_count | 2 | | iceberg | iceberg_table_cache | read_count | 27 | | iceberg | iceberg_snapshot_cache | eviction_count | 0 | | iceberg | iceberg_snapshot_cache | hit_ratio | 1.0 | | iceberg | iceberg_snapshot_cache | average_load_penalty | 0.0 | | iceberg | iceberg_snapshot_cache | estimated_size | 0 | | iceberg | iceberg_snapshot_cache | hit_count | 0 | | iceberg | iceberg_snapshot_cache | read_count | 0 | +--------------+-----------------------------+----------------------+---------------------+ ``` --- be/src/exec/schema_scanner.cpp | 3 + ...chema_catalog_meta_cache_stats_scanner.cpp | 135 ++++++++++++++++++ .../schema_catalog_meta_cache_stats_scanner.h | 54 +++++++ be/src/vec/exec/scan/vmeta_scanner.h | 1 - .../java/org/apache/doris/common/Config.java | 2 +- .../doris/analysis/SchemaTableType.java | 4 +- .../org/apache/doris/catalog/SchemaTable.java | 8 ++ .../datasource/ExternalMetaCacheMgr.java | 12 ++ .../datasource/hive/HiveMetaStoreCache.java | 22 ++- .../source/HudiCachedPartitionProcessor.java | 12 +- .../iceberg/IcebergMetadataCache.java | 15 +- .../tablefunction/MetadataGenerator.java | 63 ++++++++ gensrc/thrift/Descriptors.thrift | 3 +- gensrc/thrift/FrontendService.thrift | 2 + gensrc/thrift/PlanNodes.thrift | 4 + gensrc/thrift/Types.thrift | 2 +- .../jdbc/test_mariadb_jdbc_catalog.out | 35 ----- .../jdbc/test_mysql_jdbc_catalog.out | 35 ----- .../jdbc/test_mysql_jdbc_catalog_nereids.out | 35 ----- .../jdbc/test_mysql_jdbc_driver5_catalog.out | 35 ----- .../hive/test_external_catalog_hive.groovy | 4 + .../iceberg/test_iceberg_table_stats.groovy | 4 + .../jdbc/test_mariadb_jdbc_catalog.groovy | 2 +- .../jdbc/test_mysql_jdbc_catalog.groovy | 2 +- .../test_mysql_jdbc_catalog_nereids.groovy | 2 +- .../test_mysql_jdbc_driver5_catalog.groovy | 2 +- 26 files changed, 343 insertions(+), 155 deletions(-) create mode 100644 be/src/exec/schema_scanner/schema_catalog_meta_cache_stats_scanner.cpp create mode 100644 be/src/exec/schema_scanner/schema_catalog_meta_cache_stats_scanner.h diff --git a/be/src/exec/schema_scanner.cpp b/be/src/exec/schema_scanner.cpp index b5cd484b650b3f..cce150670353d9 100644 --- a/be/src/exec/schema_scanner.cpp +++ b/be/src/exec/schema_scanner.cpp @@ -28,6 +28,7 @@ #include "exec/schema_scanner/schema_active_queries_scanner.h" #include "exec/schema_scanner/schema_backend_active_tasks.h" +#include "exec/schema_scanner/schema_catalog_meta_cache_stats_scanner.h" #include "exec/schema_scanner/schema_charsets_scanner.h" #include "exec/schema_scanner/schema_collations_scanner.h" #include "exec/schema_scanner/schema_columns_scanner.h" @@ -240,6 +241,8 @@ std::unique_ptr SchemaScanner::create(TSchemaTableType::type type return SchemaBackendWorkloadGroupResourceUsage::create_unique(); case TSchemaTableType::SCH_TABLE_PROPERTIES: return SchemaTablePropertiesScanner::create_unique(); + case TSchemaTableType::SCH_CATALOG_META_CACHE_STATISTICS: + return SchemaCatalogMetaCacheStatsScanner::create_unique(); default: return SchemaDummyScanner::create_unique(); break; diff --git a/be/src/exec/schema_scanner/schema_catalog_meta_cache_stats_scanner.cpp b/be/src/exec/schema_scanner/schema_catalog_meta_cache_stats_scanner.cpp new file mode 100644 index 00000000000000..4c067057729f21 --- /dev/null +++ b/be/src/exec/schema_scanner/schema_catalog_meta_cache_stats_scanner.cpp @@ -0,0 +1,135 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "exec/schema_scanner/schema_catalog_meta_cache_stats_scanner.h" + +#include "runtime/client_cache.h" +#include "runtime/exec_env.h" +#include "runtime/query_context.h" +#include "runtime/runtime_state.h" +#include "util/thrift_rpc_helper.h" +#include "vec/common/string_ref.h" +#include "vec/core/block.h" +#include "vec/data_types/data_type_factory.hpp" + +namespace doris { +std::vector SchemaCatalogMetaCacheStatsScanner::_s_tbls_columns = { + {"CATALOG_NAME", TYPE_STRING, sizeof(StringRef), true}, + {"CACHE_NAME", TYPE_STRING, sizeof(StringRef), true}, + {"METRIC_NAME", TYPE_STRING, sizeof(StringRef), true}, + {"METRIC_VALUE", TYPE_STRING, sizeof(StringRef), true}, +}; + +SchemaCatalogMetaCacheStatsScanner::SchemaCatalogMetaCacheStatsScanner() + : SchemaScanner(_s_tbls_columns, TSchemaTableType::SCH_CATALOG_META_CACHE_STATISTICS) {} + +SchemaCatalogMetaCacheStatsScanner::~SchemaCatalogMetaCacheStatsScanner() {} + +Status SchemaCatalogMetaCacheStatsScanner::start(RuntimeState* state) { + _block_rows_limit = state->batch_size(); + _rpc_timeout = state->execution_timeout() * 1000; + _fe_addr = state->get_query_ctx()->current_connect_fe; + return Status::OK(); +} + +Status SchemaCatalogMetaCacheStatsScanner::_get_meta_cache_from_fe() { + TSchemaTableRequestParams schema_table_request_params; + for (int i = 0; i < _s_tbls_columns.size(); i++) { + schema_table_request_params.__isset.columns_name = true; + schema_table_request_params.columns_name.emplace_back(_s_tbls_columns[i].name); + } + schema_table_request_params.__set_current_user_ident(*_param->common_param->current_user_ident); + + TFetchSchemaTableDataRequest request; + request.__set_schema_table_name(TSchemaTableName::CATALOG_META_CACHE_STATS); + request.__set_schema_table_params(schema_table_request_params); + + TFetchSchemaTableDataResult result; + + RETURN_IF_ERROR(ThriftRpcHelper::rpc( + _fe_addr.hostname, _fe_addr.port, + [&request, &result](FrontendServiceConnection& client) { + client->fetchSchemaTableData(result, request); + }, + _rpc_timeout)); + + Status status(Status::create(result.status)); + if (!status.ok()) { + LOG(WARNING) << "fetch catalog meta cache stats from FE(" << _fe_addr.hostname + << ") failed, errmsg=" << status; + return status; + } + std::vector result_data = result.data_batch; + + _block = vectorized::Block::create_unique(); + for (int i = 0; i < _s_tbls_columns.size(); ++i) { + TypeDescriptor descriptor(_s_tbls_columns[i].type); + auto data_type = vectorized::DataTypeFactory::instance().create_data_type(descriptor, true); + _block->insert(vectorized::ColumnWithTypeAndName(data_type->create_column(), data_type, + _s_tbls_columns[i].name)); + } + + _block->reserve(_block_rows_limit); + + if (result_data.size() > 0) { + int col_size = result_data[0].column_value.size(); + if (col_size != _s_tbls_columns.size()) { + return Status::InternalError( + "catalog meta cache stats schema is not match for FE and BE"); + } + } + + for (int i = 0; i < result_data.size(); i++) { + TRow row = result_data[i]; + for (int j = 0; j < _s_tbls_columns.size(); j++) { + RETURN_IF_ERROR(insert_block_column(row.column_value[j], j, _block.get(), + _s_tbls_columns[j].type)); + } + } + return Status::OK(); +} + +Status SchemaCatalogMetaCacheStatsScanner::get_next_block_internal(vectorized::Block* block, + bool* eos) { + if (!_is_init) { + return Status::InternalError("Used before initialized."); + } + + if (nullptr == block || nullptr == eos) { + return Status::InternalError("input pointer is nullptr."); + } + + if (_block == nullptr) { + RETURN_IF_ERROR(_get_meta_cache_from_fe()); + _total_rows = _block->rows(); + } + + if (_row_idx == _total_rows) { + *eos = true; + return Status::OK(); + } + + int current_batch_rows = std::min(_block_rows_limit, _total_rows - _row_idx); + vectorized::MutableBlock mblock = vectorized::MutableBlock::build_mutable_block(block); + RETURN_IF_ERROR(mblock.add_rows(_block.get(), _row_idx, current_batch_rows)); + _row_idx += current_batch_rows; + + *eos = _row_idx == _total_rows; + return Status::OK(); +} + +} // namespace doris diff --git a/be/src/exec/schema_scanner/schema_catalog_meta_cache_stats_scanner.h b/be/src/exec/schema_scanner/schema_catalog_meta_cache_stats_scanner.h new file mode 100644 index 00000000000000..dd6c908deb326d --- /dev/null +++ b/be/src/exec/schema_scanner/schema_catalog_meta_cache_stats_scanner.h @@ -0,0 +1,54 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include + +#include "common/status.h" +#include "exec/schema_scanner.h" + +namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized + +class SchemaCatalogMetaCacheStatsScanner : public SchemaScanner { + ENABLE_FACTORY_CREATOR(SchemaCatalogMetaCacheStatsScanner); + +public: + SchemaCatalogMetaCacheStatsScanner(); + ~SchemaCatalogMetaCacheStatsScanner() override; + + Status start(RuntimeState* state) override; + Status get_next_block_internal(vectorized::Block* block, bool* eos) override; + + static std::vector _s_tbls_columns; + +private: + Status _get_meta_cache_from_fe(); + + TNetworkAddress _fe_addr; + + int _block_rows_limit = 4096; + int _row_idx = 0; + int _total_rows = 0; + std::unique_ptr _block = nullptr; + int _rpc_timeout = 3000; +}; +}; // namespace doris diff --git a/be/src/vec/exec/scan/vmeta_scanner.h b/be/src/vec/exec/scan/vmeta_scanner.h index 8256dff9b910a2..a9975300cdc500 100644 --- a/be/src/vec/exec/scan/vmeta_scanner.h +++ b/be/src/vec/exec/scan/vmeta_scanner.h @@ -86,7 +86,6 @@ class VMetaScanner : public VScanner { TFetchSchemaTableDataRequest* request); Status _build_queries_metadata_request(const TMetaScanRange& meta_scan_range, TFetchSchemaTableDataRequest* request); - bool _meta_eos; TupleId _tuple_id; TUserIdentity _user_identity; diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java index 81e2c602c6e172..9b61a734246828 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java @@ -2042,7 +2042,7 @@ public class Config extends ConfigBase { * Decrease this value if FE's memory is small */ @ConfField(mutable = false, masterOnly = false) - public static long max_external_file_cache_num = 100000; + public static long max_external_file_cache_num = 10000; /** * Max cache num of external table's schema diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SchemaTableType.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SchemaTableType.java index 755ca3278ed8ba..7fcb61e3d2d4da 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SchemaTableType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SchemaTableType.java @@ -84,7 +84,9 @@ public enum SchemaTableType { SCH_WORKLOAD_GROUP_RESOURCE_USAGE("WORKLOAD_GROUP_RESOURCE_USAGE", "WORKLOAD_GROUP_RESOURCE_USAGE", TSchemaTableType.SCH_WORKLOAD_GROUP_RESOURCE_USAGE), SCH_TABLE_PROPERTIES("TABLE_PROPERTIES", "TABLE_PROPERTIES", - TSchemaTableType.SCH_TABLE_PROPERTIES); + TSchemaTableType.SCH_TABLE_PROPERTIES), + SCH_CATALOG_META_CACHE_STATISTICS("CATALOG_META_CACHE_STATISTICS", "CATALOG_META_CACHE_STATISTICS", + TSchemaTableType.SCH_CATALOG_META_CACHE_STATISTICS); private static final String dbName = "INFORMATION_SCHEMA"; private static SelectList fullSelectLists; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/SchemaTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/SchemaTable.java index 683430548a6408..174b2ca7d550a4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/SchemaTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/SchemaTable.java @@ -557,6 +557,14 @@ public class SchemaTable extends Table { .column("REMOTE_SCAN_BYTES_PER_SECOND", ScalarType.createType(PrimitiveType.BIGINT)) .build()) ) + .put("catalog_meta_cache_statistics", + new SchemaTable(SystemIdGenerator.getNextId(), "catalog_meta_cache_statistics", TableType.SCHEMA, + builder().column("CATALOG_NAME", ScalarType.createStringType()) + .column("CACHE_NAME", ScalarType.createStringType()) + .column("METRIC_NAME", ScalarType.createStringType()) + .column("METRIC_VALUE", ScalarType.createStringType()) + .build()) + ) .build(); private boolean fetchAllFe = false; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java index 513fc951672f9f..8759f9f5ef2f04 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java @@ -36,6 +36,7 @@ import com.github.benmanes.caffeine.cache.CacheLoader; import com.github.benmanes.caffeine.cache.RemovalListener; +import com.github.benmanes.caffeine.cache.stats.CacheStats; import com.google.common.collect.Maps; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -296,4 +297,15 @@ public MetaCache buildMetaCache(String name, maxSize, namesCacheLoader, metaObjCacheLoader, removalListener); return metaCache; } + + public static Map getCacheStats(CacheStats cacheStats, long estimatedSize) { + Map stats = Maps.newHashMap(); + stats.put("hit_ratio", String.valueOf(cacheStats.hitRate())); + stats.put("hit_count", String.valueOf(cacheStats.hitCount())); + stats.put("read_count", String.valueOf(cacheStats.hitCount() + cacheStats.missCount())); + stats.put("eviction_count", String.valueOf(cacheStats.evictionCount())); + stats.put("average_load_penalty", String.valueOf(cacheStats.averageLoadPenalty())); + stats.put("estimated_size", String.valueOf(estimatedSize)); + return stats; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java index 99338fb87ad23b..3483ca155ba6ae 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java @@ -36,6 +36,7 @@ import org.apache.doris.common.util.LocationPath; import org.apache.doris.common.util.Util; import org.apache.doris.datasource.CacheException; +import org.apache.doris.datasource.ExternalMetaCacheMgr; import org.apache.doris.datasource.hive.AcidInfo.DeleteDeltaInfo; import org.apache.doris.datasource.property.PropertyConverter; import org.apache.doris.fs.FileSystemCache; @@ -141,7 +142,7 @@ private void init() { OptionalLong.of(28800L), OptionalLong.of(Config.external_cache_expire_time_minutes_after_access * 60L), Config.max_hive_partition_table_cache_num, - false, + true, null); partitionValuesCache = partitionValuesCacheFactory.buildCache(key -> loadPartitionValues(key), null, refreshExecutor); @@ -150,7 +151,7 @@ private void init() { OptionalLong.of(28800L), OptionalLong.of(Config.external_cache_expire_time_minutes_after_access * 60L), Config.max_hive_partition_cache_num, - false, + true, null); partitionCache = partitionCacheFactory.buildCache(new CacheLoader() { @Override @@ -183,7 +184,7 @@ public void setNewFileCache() { ? fileMetaCacheTtlSecond : 28800L), OptionalLong.of(Config.external_cache_expire_time_minutes_after_access * 60L), Config.max_external_file_cache_num, - false, + true, null); CacheLoader loader = new CacheBulkLoader() { @@ -1135,4 +1136,19 @@ public HivePartitionValues copy() { return copy; } } + + /** + * get cache stats + * @return metric value>> + */ + public Map> getStats() { + Map> res = Maps.newHashMap(); + res.put("hive_partition_values_cache", ExternalMetaCacheMgr.getCacheStats(partitionValuesCache.stats(), + partitionCache.estimatedSize())); + res.put("hive_partition_cache", + ExternalMetaCacheMgr.getCacheStats(partitionCache.stats(), partitionCache.estimatedSize())); + res.put("hive_file_cache", + ExternalMetaCacheMgr.getCacheStats(fileCacheRef.get().stats(), fileCacheRef.get().estimatedSize())); + return res; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiCachedPartitionProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiCachedPartitionProcessor.java index 2372b88e0db32e..62094b21c2ba1d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiCachedPartitionProcessor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hudi/source/HudiCachedPartitionProcessor.java @@ -21,6 +21,7 @@ import org.apache.doris.common.Config; import org.apache.doris.common.util.Util; import org.apache.doris.datasource.CacheException; +import org.apache.doris.datasource.ExternalMetaCacheMgr; import org.apache.doris.datasource.TablePartitionValues; import org.apache.doris.datasource.TablePartitionValues.TablePartitionKey; import org.apache.doris.datasource.hive.HMSExternalCatalog; @@ -28,6 +29,7 @@ import com.github.benmanes.caffeine.cache.LoadingCache; import com.google.common.base.Preconditions; +import com.google.common.collect.Maps; import org.apache.hudi.common.table.HoodieTableMetaClient; import org.apache.hudi.common.table.timeline.HoodieInstant; import org.apache.hudi.common.table.timeline.HoodieTimeline; @@ -37,6 +39,7 @@ import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.OptionalLong; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; @@ -55,7 +58,7 @@ public HudiCachedPartitionProcessor(long catalogId, ExecutorService executor) { OptionalLong.of(28800L), OptionalLong.of(Config.external_cache_expire_time_minutes_after_access * 60), Config.max_external_table_cache_num, - false, + true, null); this.partitionCache = partitionCacheFactory.buildCache(key -> new TablePartitionValues(), null, executor); } @@ -167,4 +170,11 @@ public TablePartitionValues getPartitionValues(HMSExternalTable table, HoodieTab throw new CacheException("Failed to get hudi partitions: " + Util.getRootCauseMessage(e), e); } } + + public Map> getCacheStats() { + Map> res = Maps.newHashMap(); + res.put("hudi_partition_cache", ExternalMetaCacheMgr.getCacheStats(partitionCache.stats(), + partitionCache.estimatedSize())); + return res; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataCache.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataCache.java index 13bd9650978f81..a35c73dc296db5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataCache.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataCache.java @@ -22,6 +22,7 @@ import org.apache.doris.common.Config; import org.apache.doris.common.UserException; import org.apache.doris.datasource.CatalogIf; +import org.apache.doris.datasource.ExternalMetaCacheMgr; import org.apache.doris.datasource.hive.HMSExternalCatalog; import org.apache.doris.datasource.hive.HiveMetaStoreClientHelper; import org.apache.doris.datasource.property.constants.HMSProperties; @@ -31,6 +32,7 @@ import com.github.benmanes.caffeine.cache.LoadingCache; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import org.apache.hadoop.conf.Configuration; import org.apache.iceberg.ManifestFiles; import org.apache.iceberg.SerializableTable; @@ -58,7 +60,7 @@ public IcebergMetadataCache(ExecutorService executor) { OptionalLong.of(28800L), OptionalLong.of(Config.external_cache_expire_time_minutes_after_access * 60), Config.max_external_table_cache_num, - false, + true, null); this.snapshotListCache = snapshotListCacheFactory.buildCache(key -> loadSnapshots(key), null, executor); @@ -66,7 +68,7 @@ public IcebergMetadataCache(ExecutorService executor) { OptionalLong.of(28800L), OptionalLong.of(Config.external_cache_expire_time_minutes_after_access * 60), Config.max_external_table_cache_num, - false, + true, null); this.tableCache = tableCacheFactory.buildCache(key -> loadTable(key), null, executor); } @@ -246,4 +248,13 @@ public int hashCode() { return Objects.hash(catalog.getId(), dbName, tableName); } } + + public Map> getCacheStats() { + Map> res = Maps.newHashMap(); + res.put("iceberg_snapshot_cache", ExternalMetaCacheMgr.getCacheStats(snapshotListCache.stats(), + snapshotListCache.estimatedSize())); + res.put("iceberg_table_cache", ExternalMetaCacheMgr.getCacheStats(tableCache.stats(), + tableCache.estimatedSize())); + return res; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java index 6a122d6640b4b8..66794331377558 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java @@ -41,8 +41,12 @@ import org.apache.doris.common.util.TimeUtils; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.datasource.ExternalMetaCacheMgr; import org.apache.doris.datasource.InternalCatalog; import org.apache.doris.datasource.hive.HMSExternalCatalog; +import org.apache.doris.datasource.hive.HiveMetaStoreCache; +import org.apache.doris.datasource.hudi.source.HudiCachedPartitionProcessor; +import org.apache.doris.datasource.iceberg.IcebergExternalCatalog; import org.apache.doris.datasource.iceberg.IcebergMetadataCache; import org.apache.doris.datasource.maxcompute.MaxComputeExternalCatalog; import org.apache.doris.job.common.JobType; @@ -117,6 +121,8 @@ public class MetadataGenerator { private static final ImmutableMap TABLE_PROPERTIES_COLUMN_TO_INDEX; + private static final ImmutableMap META_CACHE_STATS_COLUMN_TO_INDEX; + static { ImmutableMap.Builder activeQueriesbuilder = new ImmutableMap.Builder(); List activeQueriesColList = SchemaTable.TABLE_MAP.get("active_queries").getFullSchema(); @@ -164,6 +170,13 @@ public class MetadataGenerator { propertiesBuilder.put(propertiesColList.get(i).getName().toLowerCase(), i); } TABLE_PROPERTIES_COLUMN_TO_INDEX = propertiesBuilder.build(); + + ImmutableMap.Builder metaCacheBuilder = new ImmutableMap.Builder(); + List metaCacheColList = SchemaTable.TABLE_MAP.get("catalog_meta_cache_statistics").getFullSchema(); + for (int i = 0; i < metaCacheColList.size(); i++) { + metaCacheBuilder.put(metaCacheColList.get(i).getName().toLowerCase(), i); + } + META_CACHE_STATS_COLUMN_TO_INDEX = metaCacheBuilder.build(); } public static TFetchSchemaTableDataResult getMetadataTable(TFetchSchemaTableDataRequest request) throws TException { @@ -255,6 +268,10 @@ public static TFetchSchemaTableDataResult getSchemaTableData(TFetchSchemaTableDa result = tablePropertiesMetadataResult(schemaTableParams); columnIndex = TABLE_PROPERTIES_COLUMN_TO_INDEX; break; + case CATALOG_META_CACHE_STATS: + result = metaCacheStatsMetadataResult(schemaTableParams); + columnIndex = META_CACHE_STATS_COLUMN_TO_INDEX; + break; default: return errorResult("invalid schema table name."); } @@ -1250,4 +1267,50 @@ private static TFetchSchemaTableDataResult tablePropertiesMetadataResult(TSchema result.setStatus(new TStatus(TStatusCode.OK)); return result; } + + private static TFetchSchemaTableDataResult metaCacheStatsMetadataResult(TSchemaTableRequestParams params) { + List dataBatch = Lists.newArrayList(); + TFetchSchemaTableDataResult result = new TFetchSchemaTableDataResult(); + ExternalMetaCacheMgr mgr = Env.getCurrentEnv().getExtMetaCacheMgr(); + for (CatalogIf catalogIf : Env.getCurrentEnv().getCatalogMgr().getCopyOfCatalog()) { + if (catalogIf instanceof HMSExternalCatalog) { + HMSExternalCatalog catalog = (HMSExternalCatalog) catalogIf; + // 1. hive metastore cache + HiveMetaStoreCache cache = mgr.getMetaStoreCache(catalog); + if (cache != null) { + fillBatch(dataBatch, cache.getStats(), catalog.getName()); + } + // 2. hudi cache + HudiCachedPartitionProcessor processor + = (HudiCachedPartitionProcessor) mgr.getHudiPartitionProcess(catalog); + fillBatch(dataBatch, processor.getCacheStats(), catalog.getName()); + } else if (catalogIf instanceof IcebergExternalCatalog) { + // 3. iceberg cache + IcebergMetadataCache icebergCache = mgr.getIcebergMetadataCache(); + fillBatch(dataBatch, icebergCache.getCacheStats(), catalogIf.getName()); + } + } + + result.setDataBatch(dataBatch); + result.setStatus(new TStatus(TStatusCode.OK)); + return result; + } + + private static void fillBatch(List dataBatch, Map> stats, + String catalogName) { + for (Map.Entry> entry : stats.entrySet()) { + String cacheName = entry.getKey(); + Map cacheStats = entry.getValue(); + for (Map.Entry cacheStatsEntry : cacheStats.entrySet()) { + String metricName = cacheStatsEntry.getKey(); + String metricValue = cacheStatsEntry.getValue(); + TRow trow = new TRow(); + trow.addToColumnValue(new TCell().setStringVal(catalogName)); // CATALOG_NAME + trow.addToColumnValue(new TCell().setStringVal(cacheName)); // CACHE_NAME + trow.addToColumnValue(new TCell().setStringVal(metricName)); // METRIC_NAME + trow.addToColumnValue(new TCell().setStringVal(metricValue)); // METRIC_VALUE + dataBatch.add(trow); + } + } + } } diff --git a/gensrc/thrift/Descriptors.thrift b/gensrc/thrift/Descriptors.thrift index e11160caa7f5af..56222c2338a268 100644 --- a/gensrc/thrift/Descriptors.thrift +++ b/gensrc/thrift/Descriptors.thrift @@ -137,7 +137,8 @@ enum TSchemaTableType { SCH_WORKLOAD_GROUP_PRIVILEGES = 48, SCH_WORKLOAD_GROUP_RESOURCE_USAGE = 49, SCH_TABLE_PROPERTIES = 50, - SCH_FILE_CACHE_STATISTICS = 51 + SCH_FILE_CACHE_STATISTICS = 51, + SCH_CATALOG_META_CACHE_STATISTICS = 52; } enum THdfsCompression { diff --git a/gensrc/thrift/FrontendService.thrift b/gensrc/thrift/FrontendService.thrift index 2cad1a55e42695..765e7790e90781 100644 --- a/gensrc/thrift/FrontendService.thrift +++ b/gensrc/thrift/FrontendService.thrift @@ -1004,6 +1004,7 @@ enum TSchemaTableName { TABLE_OPTIONS = 6, WORKLOAD_GROUP_PRIVILEGES = 7, TABLE_PROPERTIES = 8, + CATALOG_META_CACHE_STATS = 9, } struct TMetadataTableRequestParams { @@ -1018,6 +1019,7 @@ struct TMetadataTableRequestParams { 9: optional PlanNodes.TJobsMetadataParams jobs_metadata_params 10: optional PlanNodes.TTasksMetadataParams tasks_metadata_params 11: optional PlanNodes.TPartitionsMetadataParams partitions_metadata_params + 12: optional PlanNodes.TMetaCacheStatsParams meta_cache_stats_params } struct TSchemaTableRequestParams { diff --git a/gensrc/thrift/PlanNodes.thrift b/gensrc/thrift/PlanNodes.thrift index 758ead76532530..e53289c1b865fd 100644 --- a/gensrc/thrift/PlanNodes.thrift +++ b/gensrc/thrift/PlanNodes.thrift @@ -554,6 +554,9 @@ struct TQueriesMetadataParams { 6: optional TPartitionsMetadataParams partitions_params } +struct TMetaCacheStatsParams { +} + struct TMetaScanRange { 1: optional Types.TMetadataType metadata_type 2: optional TIcebergMetadataParams iceberg_params @@ -564,6 +567,7 @@ struct TMetaScanRange { 7: optional TJobsMetadataParams jobs_params 8: optional TTasksMetadataParams tasks_params 9: optional TPartitionsMetadataParams partitions_params + 10: optional TMetaCacheStatsParams meta_cache_stats_params } // Specification of an individual data range which is held in its entirety diff --git a/gensrc/thrift/Types.thrift b/gensrc/thrift/Types.thrift index e947dfc27c9a21..ee684a72df2e9a 100644 --- a/gensrc/thrift/Types.thrift +++ b/gensrc/thrift/Types.thrift @@ -732,7 +732,7 @@ enum TMetadataType { JOBS, TASKS, WORKLOAD_SCHED_POLICY, - PARTITIONS + PARTITIONS; } enum TIcebergQueryType { diff --git a/regression-test/data/external_table_p0/jdbc/test_mariadb_jdbc_catalog.out b/regression-test/data/external_table_p0/jdbc/test_mariadb_jdbc_catalog.out index 902a0c668383ab..b6817f090f5bd7 100644 --- a/regression-test/data/external_table_p0/jdbc/test_mariadb_jdbc_catalog.out +++ b/regression-test/data/external_table_p0/jdbc/test_mariadb_jdbc_catalog.out @@ -28,42 +28,7 @@ mariadb_jdbc_catalog 115 abg -- !information_schema -- -active_queries -backend_active_tasks -character_sets -collations -column_privileges -column_statistics -columns -engines -events -files -global_variables -key_column_usage -metadata_name_ids -parameters -partitions processlist -profiling -referential_constraints -routines -rowsets -schema_privileges -schemata -session_variables -statistics -table_constraints -table_options -table_privileges -table_properties -tables -triggers -user_privileges -views -workload_group_privileges -workload_group_resource_usage -workload_groups -workload_policy -- !auto_default_t -- 0 diff --git a/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out b/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out index 2be6d4a141f7fd..d697c8e5e600ec 100644 --- a/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out +++ b/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog.out @@ -192,42 +192,7 @@ bca 2022-11-02 2022-11-02 8012 vivo 2 2 -- !information_schema -- -active_queries -backend_active_tasks -character_sets -collations -column_privileges -column_statistics -columns -engines -events -files -global_variables -key_column_usage -metadata_name_ids -parameters -partitions processlist -profiling -referential_constraints -routines -rowsets -schema_privileges -schemata -session_variables -statistics -table_constraints -table_options -table_privileges -table_properties -tables -triggers -user_privileges -views -workload_group_privileges -workload_group_resource_usage -workload_groups -workload_policy -- !dt -- 2023-06-17T10:00 2023-06-17T10:00:01.100 2023-06-17T10:00:02.220 2023-06-17T10:00:03.333 2023-06-17T10:00:04.444400 2023-06-17T10:00:05.555550 2023-06-17T10:00:06.666666 diff --git a/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.out b/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.out index 08f8a3689d0289..171cee4d958178 100644 --- a/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.out +++ b/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.out @@ -160,42 +160,7 @@ bca 2022-11-02 2022-11-02 8012 vivo 123456789012345678901234567890123.12345 12345678901234567890123456789012.12345 1234567890123456789012345678901234.12345 123456789012345678901234567890123.12345 123456789012345678901234567890123456789012345678901234567890.12345 123456789012345678901234567890123456789012345678901234567890.12345 -- !information_schema -- -active_queries -backend_active_tasks -character_sets -collations -column_privileges -column_statistics -columns -engines -events -files -global_variables -key_column_usage -metadata_name_ids -parameters -partitions processlist -profiling -referential_constraints -routines -rowsets -schema_privileges -schemata -session_variables -statistics -table_constraints -table_options -table_privileges -table_properties -tables -triggers -user_privileges -views -workload_group_privileges -workload_group_resource_usage -workload_groups -workload_policy -- !test_insert1 -- doris1 18 diff --git a/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_driver5_catalog.out b/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_driver5_catalog.out index 47ee7c60f38770..736f2b57b4a768 100644 --- a/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_driver5_catalog.out +++ b/regression-test/data/external_table_p0/jdbc/test_mysql_jdbc_driver5_catalog.out @@ -202,42 +202,7 @@ bca 2022-11-02 2022-11-02 8012 vivo 2 2 -- !information_schema -- -active_queries -backend_active_tasks -character_sets -collations -column_privileges -column_statistics -columns -engines -events -files -global_variables -key_column_usage -metadata_name_ids -parameters -partitions processlist -profiling -referential_constraints -routines -rowsets -schema_privileges -schemata -session_variables -statistics -table_constraints -table_options -table_privileges -table_properties -tables -triggers -user_privileges -views -workload_group_privileges -workload_group_resource_usage -workload_groups -workload_policy -- !dt -- 2023-06-17T10:00 2023-06-17T10:00:01 2023-06-17T10:00:02 2023-06-17T10:00:03 2023-06-17T10:00:04 2023-06-17T10:00:05 2023-06-17T10:00:06 diff --git a/regression-test/suites/external_table_p0/hive/test_external_catalog_hive.groovy b/regression-test/suites/external_table_p0/hive/test_external_catalog_hive.groovy index b920168198acb7..b71c72957e9c02 100644 --- a/regression-test/suites/external_table_p0/hive/test_external_catalog_hive.groovy +++ b/regression-test/suites/external_table_p0/hive/test_external_catalog_hive.groovy @@ -178,5 +178,9 @@ suite("test_external_catalog_hive", "p0,external,hive,external_docker,external_d """ exception "Failed to init access controller: bound must be positive" } + + // test catalog_meta_cache_statistics + sql """select * from internal.information_schema.catalog_meta_cache_statistics;""" + sql """select * from ${catalog_name}.information_schema.catalog_meta_cache_statistics where catalog_name="${catalog_name}";""" } } diff --git a/regression-test/suites/external_table_p0/iceberg/test_iceberg_table_stats.groovy b/regression-test/suites/external_table_p0/iceberg/test_iceberg_table_stats.groovy index 064139d22c9dea..a950f93909e8a8 100644 --- a/regression-test/suites/external_table_p0/iceberg/test_iceberg_table_stats.groovy +++ b/regression-test/suites/external_table_p0/iceberg/test_iceberg_table_stats.groovy @@ -58,6 +58,10 @@ suite("test_iceberg_table_stats", "p0,external,doris,external_docker,external_do assert_stats("sample_mor_orc", "1000") assert_stats("sample_mor_parquet", "1000") + // test catalog_meta_cache_statistics + sql """select * from information_schema.catalog_meta_cache_statistics;""" + sql """select * from information_schema.catalog_meta_cache_statistics where catalog_name="${catalog_name}";""" + } finally { } } diff --git a/regression-test/suites/external_table_p0/jdbc/test_mariadb_jdbc_catalog.groovy b/regression-test/suites/external_table_p0/jdbc/test_mariadb_jdbc_catalog.groovy index d90ffe3e1cc406..5281cdd20cc539 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_mariadb_jdbc_catalog.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_mariadb_jdbc_catalog.groovy @@ -68,7 +68,7 @@ suite("test_mariadb_jdbc_catalog", "p0,external,mariadb,external_docker,external sql """ insert into internal.${internal_db_name}.${inDorisTable} select id, name from ${ex_tb0}; """ order_qt_in_tb """ select id, name from internal.${internal_db_name}.${inDorisTable} order by id; """ - order_qt_information_schema """ show tables from information_schema; """ + order_qt_information_schema """ show tables from information_schema like "processlist"; """ order_qt_auto_default_t """insert into ${auto_default_t}(name) values('a'); """ order_qt_dt """select * from ${dt}; """ diff --git a/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog.groovy b/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog.groovy index d30d7fe9150eff..0be7d0ad396c3b 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog.groovy @@ -168,7 +168,7 @@ suite("test_mysql_jdbc_catalog", "p0,external,mysql,external_docker,external_doc order_qt_ex_tb21_6 """ select `key`, `id` from ${ex_tb21} where `key` = case when id = 1 then 1 else 0 end order by id;""" order_qt_ex_tb21_7 """ select (`key` +1) as k, `id` from ${ex_tb21} having abs(k) = 2 order by id;""" order_qt_ex_tb21_8 """ select `key` as k, `id` from ${ex_tb21} having abs(k) = 2 order by id;""" - order_qt_information_schema """ show tables from information_schema; """ + order_qt_information_schema """ show tables from information_schema like "processlist"; """ order_qt_dt """select * from ${dt}; """ order_qt_dt_null """select * from ${dt_null} order by 1; """ order_qt_test_dz """select * from ${test_zd} order by 1; """ diff --git a/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.groovy b/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.groovy index 24aac183eb861b..e7ac412c0b5883 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_catalog_nereids.groovy @@ -113,7 +113,7 @@ suite("test_mysql_jdbc_catalog_nereids", "p0,external,mysql,external_docker,exte order_qt_ex_tb18 """ select * from ${ex_tb18} order by num_tinyint; """ order_qt_ex_tb19 """ select * from ${ex_tb19} order by date_value; """ order_qt_ex_tb20 """ select * from ${ex_tb20} order by decimal_normal; """ - order_qt_information_schema """ show tables from information_schema; """ + order_qt_information_schema """ show tables from information_schema like "processlist"; """ // test insert String uuid1 = UUID.randomUUID().toString(); diff --git a/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_driver5_catalog.groovy b/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_driver5_catalog.groovy index fd1826d76e22d7..a74890a56d897a 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_driver5_catalog.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_mysql_jdbc_driver5_catalog.groovy @@ -175,7 +175,7 @@ suite("test_mysql_jdbc_driver5_catalog", "p0,external,mysql,external_docker,exte order_qt_ex_tb21_6 """ select `key`, `id` from ${ex_tb21} where `key` = case when id = 1 then 1 else 0 end order by id;""" order_qt_ex_tb21_7 """ select (`key` +1) as k, `id` from ${ex_tb21} having abs(k) = 2 order by id;""" order_qt_ex_tb21_8 """ select `key` as k, `id` from ${ex_tb21} having abs(k) = 2 order by id;""" - order_qt_information_schema """ show tables from information_schema; """ + order_qt_information_schema """ show tables from information_schema like "processlist"; """ order_qt_dt """select * from ${dt}; """ order_qt_dt_null """select * from ${dt_null} order by 1; """ order_qt_test_dz """select * from ${test_zd} order by 1; """ From b7e6d7350bc74c5d7d80fd610a451e8766cde608 Mon Sep 17 00:00:00 2001 From: starocean999 <40539150+starocean999@users.noreply.github.com> Date: Tue, 3 Sep 2024 16:03:41 +0800 Subject: [PATCH 011/199] [fix](testcase) fix unstable case (#40124) --- .../suites/insert_p0/insert_group_commit_into.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/regression-test/suites/insert_p0/insert_group_commit_into.groovy b/regression-test/suites/insert_p0/insert_group_commit_into.groovy index 31da87ade5f63b..dbf2bd2e18ef12 100644 --- a/regression-test/suites/insert_p0/insert_group_commit_into.groovy +++ b/regression-test/suites/insert_p0/insert_group_commit_into.groovy @@ -406,10 +406,10 @@ suite("insert_group_commit_into") { "replication_allocation" = "tag.location.default: 1" ); """ sql """DROP MATERIALIZED VIEW IF EXISTS ods_zn_dnt_max1 ON ${table};""" - sql """create materialized view ods_zn_dnt_max1 as + createMV("""create materialized view ods_zn_dnt_max1 as select ordernum,max(dnt) as dnt from ${table} group by ordernum - ORDER BY ordernum;""" + ORDER BY ordernum;""") connect(user = context.config.jdbcUser, password = context.config.jdbcPassword, url = context.config.jdbcUrl) { sql """ set group_commit = async_mode; """ if (item == "nereids") { From 8c6da41e24f81da7f6834a0617070a3928e42d08 Mon Sep 17 00:00:00 2001 From: Jibing-Li <64681310+Jibing-Li@users.noreply.github.com> Date: Tue, 3 Sep 2024 16:10:47 +0800 Subject: [PATCH 012/199] [feature](statistics)Support enable/disable auto analyze for table. (#39532) Support enable/disable auto analyze for table by setting table properties. ``` ALTER TABLE table_name SET ("auto_analyze_policy" = "enable"); ALTER TABLE table_name SET ("auto_analyze_policy" = "disable"); ALTER TABLE table_name SET ("auto_analyze_policy" = "base_on_catalog"); ``` --- .../java/org/apache/doris/alter/Alter.java | 52 +++++++++++-- .../doris/alter/SchemaChangeHandler.java | 6 +- .../apache/doris/analysis/AlterTableStmt.java | 3 - .../analysis/ModifyTablePropertiesClause.java | 18 +++++ .../doris/analysis/ShowTableStatsStmt.java | 13 ++-- .../java/org/apache/doris/catalog/Env.java | 38 +++++++++- .../org/apache/doris/catalog/OlapTable.java | 15 ++++ .../java/org/apache/doris/catalog/Table.java | 5 ++ .../org/apache/doris/catalog/TableIf.java | 2 + .../apache/doris/catalog/TableProperty.java | 10 +++ .../cloud/alter/CloudSchemaChangeHandler.java | 5 +- .../doris/common/util/PropertyAnalyzer.java | 5 ++ .../doris/datasource/ExternalCatalog.java | 16 ++++ .../doris/datasource/ExternalTable.java | 11 +++ .../ModifyTablePropertyOperationLog.java | 24 ++++++ .../org/apache/doris/qe/ShowExecutor.java | 6 +- .../doris/statistics/util/StatisticsUtil.java | 7 +- .../statistics/util/StatisticsUtilTest.java | 62 ++++++++------- .../hive/test_hive_statistics_p0.groovy | 65 ++++++++++++++++ .../test_auto_analyze_black_white_list.groovy | 75 +++++++++++++++++++ 20 files changed, 384 insertions(+), 54 deletions(-) create mode 100644 regression-test/suites/statistics/test_auto_analyze_black_white_list.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/alter/Alter.java b/fe/fe-core/src/main/java/org/apache/doris/alter/Alter.java index 95ad5ae824bebc..b4700ec32d41a7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/alter/Alter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/alter/Alter.java @@ -44,6 +44,7 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.DataProperty; import org.apache.doris.catalog.Database; +import org.apache.doris.catalog.DatabaseIf; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.MTMV; import org.apache.doris.catalog.MysqlTable; @@ -53,6 +54,7 @@ import org.apache.doris.catalog.PartitionInfo; import org.apache.doris.catalog.ReplicaAllocation; import org.apache.doris.catalog.Table; +import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.TableIf.TableType; import org.apache.doris.catalog.View; import org.apache.doris.cloud.alter.CloudSchemaChangeHandler; @@ -65,6 +67,7 @@ import org.apache.doris.common.util.MetaLockUtils; import org.apache.doris.common.util.PropertyAnalyzer; import org.apache.doris.common.util.PropertyAnalyzer.RewriteProperty; +import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.trees.plans.commands.info.TableNameInfo; import org.apache.doris.persist.AlterMTMV; import org.apache.doris.persist.AlterViewInfo; @@ -72,6 +75,7 @@ import org.apache.doris.persist.ModifyCommentOperationLog; import org.apache.doris.persist.ModifyPartitionInfo; import org.apache.doris.persist.ModifyTableEngineOperationLog; +import org.apache.doris.persist.ModifyTablePropertyOperationLog; import org.apache.doris.persist.ReplaceTableOperationLog; import org.apache.doris.policy.StoragePolicy; import org.apache.doris.qe.ConnectContext; @@ -303,6 +307,24 @@ private boolean processAlterOlapTable(AlterTableStmt stmt, OlapTable olapTable, return needProcessOutsideTableLock; } + private void setExternalTableAutoAnalyzePolicy(ExternalTable table, List alterClauses) { + Preconditions.checkState(alterClauses.size() == 1); + AlterClause alterClause = alterClauses.get(0); + Preconditions.checkState(alterClause instanceof ModifyTablePropertiesClause); + Map properties = alterClause.getProperties(); + Preconditions.checkState(properties.size() == 1); + Preconditions.checkState(properties.containsKey(PropertyAnalyzer.PROPERTIES_AUTO_ANALYZE_POLICY)); + String value = properties.get(PropertyAnalyzer.PROPERTIES_AUTO_ANALYZE_POLICY); + Preconditions.checkState(PropertyAnalyzer.ENABLE_AUTO_ANALYZE_POLICY.equalsIgnoreCase(value) + || PropertyAnalyzer.DISABLE_AUTO_ANALYZE_POLICY.equalsIgnoreCase(value) + || PropertyAnalyzer.USE_CATALOG_AUTO_ANALYZE_POLICY.equalsIgnoreCase(value)); + value = value.equalsIgnoreCase(PropertyAnalyzer.USE_CATALOG_AUTO_ANALYZE_POLICY) ? null : value; + table.getCatalog().setAutoAnalyzePolicy(table.getDatabase().getFullName(), table.getName(), value); + ModifyTablePropertyOperationLog info = new ModifyTablePropertyOperationLog(table.getCatalog().getName(), + table.getDatabase().getFullName(), table.getName(), properties); + Env.getCurrentEnv().getEditLog().logModifyTableProperties(info); + } + private boolean needChangeMTMVState(List alterClauses) { for (AlterClause alterClause : alterClauses) { if (alterClause.needChangeMTMVState()) { @@ -467,31 +489,45 @@ private void processModifyEngineInternal(Database db, Table externalTable, public void processAlterTable(AlterTableStmt stmt) throws UserException { TableName dbTableName = stmt.getTbl(); + String ctlName = dbTableName.getCtl(); String dbName = dbTableName.getDb(); String tableName = dbTableName.getTbl(); - Database db = Env.getCurrentInternalCatalog().getDbOrDdlException(dbName); - Table table = db.getTableOrDdlException(tableName); + DatabaseIf dbIf = Env.getCurrentEnv().getCatalogMgr() + .getCatalogOrException(ctlName, catalog -> new DdlException("Unknown catalog " + catalog)) + .getDbOrDdlException(dbName); + TableIf tableIf = dbIf.getTableOrDdlException(tableName); List alterClauses = Lists.newArrayList(); // some operations will take long time to process, need to be done outside the table lock boolean needProcessOutsideTableLock = false; - switch (table.getType()) { + switch (tableIf.getType()) { case MATERIALIZED_VIEW: case OLAP: - OlapTable olapTable = (OlapTable) table; - needProcessOutsideTableLock = processAlterOlapTable(stmt, olapTable, alterClauses, db); + OlapTable olapTable = (OlapTable) tableIf; + needProcessOutsideTableLock = processAlterOlapTable(stmt, olapTable, alterClauses, (Database) dbIf); break; case ODBC: case JDBC: case HIVE: case MYSQL: case ELASTICSEARCH: - processAlterExternalTable(stmt, table, db); + processAlterExternalTable(stmt, (Table) tableIf, (Database) dbIf); + return; + case HMS_EXTERNAL_TABLE: + case JDBC_EXTERNAL_TABLE: + case ICEBERG_EXTERNAL_TABLE: + case PAIMON_EXTERNAL_TABLE: + case MAX_COMPUTE_EXTERNAL_TABLE: + case HUDI_EXTERNAL_TABLE: + case TRINO_CONNECTOR_EXTERNAL_TABLE: + alterClauses.addAll(stmt.getOps()); + setExternalTableAutoAnalyzePolicy((ExternalTable) tableIf, alterClauses); return; default: throw new DdlException("Do not support alter " - + table.getType().toString() + " table[" + tableName + "]"); + + tableIf.getType().toString() + " table[" + tableName + "]"); } + Database db = (Database) dbIf; // the following ops should done outside table lock. because it contain synchronized create operation if (needProcessOutsideTableLock) { Preconditions.checkState(alterClauses.size() == 1); @@ -514,7 +550,7 @@ public void processAlterTable(AlterTableStmt stmt) throws UserException { List partitionNames = clause.getPartitionNames(); ((SchemaChangeHandler) schemaChangeHandler).updatePartitionsProperties( db, tableName, partitionNames, properties); - OlapTable olapTable = (OlapTable) table; + OlapTable olapTable = (OlapTable) tableIf; olapTable.writeLockOrDdlException(); try { modifyPartitionsProperty(db, olapTable, partitionNames, properties, clause.isTempPartition()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java index 87d76d8de39e6d..3051d37527f107 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java +++ b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java @@ -2288,7 +2288,8 @@ public void updateTableProperties(Database db, String tableName, Map partitions = Lists.newArrayList(); @@ -2364,7 +2365,8 @@ public void updateTableProperties(Database db, String tableName, Map PARTITION_TITLE_NAMES = @@ -197,12 +198,12 @@ public long getTableId() { return tableId; } - public ShowResultSet constructResultSet(TableStatsMeta tableStatistic) { + public ShowResultSet constructResultSet(TableStatsMeta tableStatistic, TableIf table) { if (indexName != null) { return constructIndexResultSet(tableStatistic); } if (partitionNames == null) { - return constructTableResultSet(tableStatistic); + return constructTableResultSet(tableStatistic, table); } if (columnNames == null) { return constructPartitionResultSet(tableStatistic); @@ -215,7 +216,7 @@ public ShowResultSet constructEmptyResultSet() { return new ShowResultSet(getMetaData(), new ArrayList<>()); } - public ShowResultSet constructResultSet(long rowCount) { + public ShowResultSet constructResultSet(TableIf table) { List> result = Lists.newArrayList(); if (partitionNames != null) { // For partition, return empty result if table stats not exist. @@ -224,17 +225,18 @@ public ShowResultSet constructResultSet(long rowCount) { List row = Lists.newArrayList(); row.add(""); row.add(""); - row.add(String.valueOf(rowCount)); + row.add(String.valueOf(table.getCachedRowCount())); row.add(""); row.add(""); row.add(""); row.add(""); row.add(""); + row.add(String.valueOf(table.autoAnalyzeEnabled())); result.add(row); return new ShowResultSet(getMetaData(), result); } - public ShowResultSet constructTableResultSet(TableStatsMeta tableStatistic) { + public ShowResultSet constructTableResultSet(TableStatsMeta tableStatistic, TableIf table) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); if (tableStatistic == null) { return new ShowResultSet(getMetaData(), new ArrayList<>()); @@ -253,6 +255,7 @@ public ShowResultSet constructTableResultSet(TableStatsMeta tableStatistic) { row.add(tableStatistic.jobType.toString()); row.add(String.valueOf(tableStatistic.partitionChanged.get())); row.add(String.valueOf(tableStatistic.userInjected)); + row.add(table == null ? "N/A" : String.valueOf(table.autoAnalyzeEnabled())); result.add(row); return new ShowResultSet(getMetaData(), result); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java index 83907255641384..597fee4dd8a1a1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java @@ -131,6 +131,7 @@ import org.apache.doris.cooldown.CooldownConfHandler; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.CatalogMgr; +import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.ExternalMetaCacheMgr; import org.apache.doris.datasource.ExternalMetaIdMgr; import org.apache.doris.datasource.InternalCatalog; @@ -5286,7 +5287,8 @@ public void modifyTableProperties(Database db, OlapTable table, Map properties = info.getProperties(); + // Handle HMSExternalTable set auto analyze policy. + if (ctlName != null && !(InternalCatalog.INTERNAL_CATALOG_NAME.equalsIgnoreCase(ctlName))) { + setExternalTableAutoAnalyze(properties, info); + return; + } + Database db = getInternalCatalog().getDbOrMetaException(dbId); OlapTable olapTable = (OlapTable) db.getTableOrMetaException(tableId, TableType.OLAP); olapTable.writeLock(); @@ -5356,6 +5365,33 @@ public void replayModifyTableProperty(short opCode, ModifyTablePropertyOperation } } + private void setExternalTableAutoAnalyze(Map properties, ModifyTablePropertyOperationLog info) { + if (properties.size() != 1) { + LOG.warn("External table property should contain exactly 1 entry."); + return; + } + if (!properties.containsKey(PropertyAnalyzer.PROPERTIES_AUTO_ANALYZE_POLICY)) { + LOG.warn("External table property should only contain auto_analyze_policy"); + return; + } + String value = properties.get(PropertyAnalyzer.PROPERTIES_AUTO_ANALYZE_POLICY); + if (!PropertyAnalyzer.ENABLE_AUTO_ANALYZE_POLICY.equalsIgnoreCase(value) + && !PropertyAnalyzer.DISABLE_AUTO_ANALYZE_POLICY.equalsIgnoreCase(value) + && !PropertyAnalyzer.USE_CATALOG_AUTO_ANALYZE_POLICY.equalsIgnoreCase(value)) { + LOG.warn("External table property should be 'enable', 'disable' or 'base_on_catalog'"); + return; + } + try { + CatalogIf catalog = Env.getCurrentEnv().getCatalogMgr() + .getCatalogOrException(info.getCtlName(), + ctlName -> new DdlException("Unknown catalog " + ctlName)); + value = value.equalsIgnoreCase(PropertyAnalyzer.USE_CATALOG_AUTO_ANALYZE_POLICY) ? null : value; + ((ExternalCatalog) catalog).setAutoAnalyzePolicy(info.getDbName(), info.getTableName(), value); + } catch (Exception e) { + LOG.warn("Failed to replay external table set property.", e); + } + } + public void modifyDefaultDistributionBucketNum(Database db, OlapTable olapTable, ModifyDistributionClause modifyDistributionClause) throws DdlException { diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java index 78d97e8e48bc90..01f0bb900eac24 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java @@ -3158,4 +3158,19 @@ public boolean isShadowIndex(long indexId) { return false; } } + + @Override + public boolean autoAnalyzeEnabled() { + if (tableProperty == null) { + return super.autoAnalyzeEnabled(); + } + Map properties = tableProperty.getProperties(); + if (properties == null || !properties.containsKey(PropertyAnalyzer.PROPERTIES_AUTO_ANALYZE_POLICY) + || properties.get(PropertyAnalyzer.PROPERTIES_AUTO_ANALYZE_POLICY) + .equalsIgnoreCase(PropertyAnalyzer.USE_CATALOG_AUTO_ANALYZE_POLICY)) { + return super.autoAnalyzeEnabled(); + } + return properties.get(PropertyAnalyzer.PROPERTIES_AUTO_ANALYZE_POLICY) + .equalsIgnoreCase(PropertyAnalyzer.ENABLE_AUTO_ANALYZE_POLICY); + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Table.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Table.java index 906a710f369c62..e9392deae4a6b0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Table.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Table.java @@ -634,4 +634,9 @@ public Set> getColumnIndexPairs(Set columns) { public long getCachedRowCount() { return getRowCount(); } + + @Override + public boolean autoAnalyzeEnabled() { + return true; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java index cb9d780d55a80e..83c07c485a1d2b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java @@ -561,4 +561,6 @@ default Set getDistributionColumnNames() { default boolean isPartitionedTable() { return false; } + + boolean autoAnalyzeEnabled(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableProperty.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableProperty.java index 7864cc7dee991c..fdb60357f40ba0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableProperty.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableProperty.java @@ -123,6 +123,9 @@ public class TableProperty implements Writable, GsonPostProcessable { private long timeSeriesCompactionLevelThreshold = PropertyAnalyzer.TIME_SERIES_COMPACTION_LEVEL_THRESHOLD_DEFAULT_VALUE; + private String autoAnalyzePolicy = PropertyAnalyzer.ENABLE_AUTO_ANALYZE_POLICY; + + private DataSortInfo dataSortInfo = new DataSortInfo(); public TableProperty(Map properties) { @@ -162,6 +165,7 @@ public TableProperty buildProperty(short opCode) { buildTimeSeriesCompactionEmptyRowsetsThreshold(); buildTimeSeriesCompactionLevelThreshold(); buildTTLSeconds(); + buildAutoAnalyzeProperty(); break; default: break; @@ -235,6 +239,12 @@ public TableProperty buildDisableAutoCompaction() { return this; } + public TableProperty buildAutoAnalyzeProperty() { + autoAnalyzePolicy = properties.getOrDefault(PropertyAnalyzer.PROPERTIES_AUTO_ANALYZE_POLICY, + PropertyAnalyzer.ENABLE_AUTO_ANALYZE_POLICY); + return this; + } + public boolean disableAutoCompaction() { return disableAutoCompaction; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/alter/CloudSchemaChangeHandler.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/alter/CloudSchemaChangeHandler.java index e48b8a745a3e0c..fa3bb96014c558 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/alter/CloudSchemaChangeHandler.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/alter/CloudSchemaChangeHandler.java @@ -100,7 +100,8 @@ public void updateTableProperties(Database db, String tableName, Map> idToDb = Maps.newConcurrentMap(); @SerializedName(value = "lastUpdateTime") protected long lastUpdateTime; + // to tableAutoAnalyzePolicy + @SerializedName(value = "taap") + protected Map, String> tableAutoAnalyzePolicy = Maps.newHashMap(); // db name does not contains "default_cluster" protected Map dbNameToId = Maps.newConcurrentMap(); private boolean objectCreated = false; @@ -723,6 +727,9 @@ public void gsonPostProcess() throws IOException { this.propLock = new byte[0]; this.initialized = false; setDefaultPropsIfMissing(true); + if (tableAutoAnalyzePolicy == null) { + tableAutoAnalyzePolicy = Maps.newHashMap(); + } } public void addDatabaseForTest(ExternalDatabase db) { @@ -884,4 +891,13 @@ public void truncateTable(TruncateTableStmt stmt) throws DdlException { public String getQualifiedName(String dbName) { return String.join(".", name, dbName); } + + public void setAutoAnalyzePolicy(String dbName, String tableName, String policy) { + Pair key = Pair.of(dbName, tableName); + if (policy == null) { + tableAutoAnalyzePolicy.remove(key); + } else { + tableAutoAnalyzePolicy.put(key, policy); + } + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java index 2d5689a54687c1..eedbe4e20da312 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java @@ -27,6 +27,7 @@ import org.apache.doris.common.Pair; import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; +import org.apache.doris.common.util.PropertyAnalyzer; import org.apache.doris.common.util.Util; import org.apache.doris.persist.gson.GsonPostProcessable; import org.apache.doris.persist.gson.GsonUtils; @@ -282,6 +283,16 @@ public List getColumns() { return getFullSchema(); } + @Override + public boolean autoAnalyzeEnabled() { + makeSureInitialized(); + String policy = catalog.getTableAutoAnalyzePolicy().get(Pair.of(dbName, name)); + if (policy == null) { + return catalog.enableAutoAnalyze(); + } + return policy.equalsIgnoreCase(PropertyAnalyzer.ENABLE_AUTO_ANALYZE_POLICY); + } + @Override public Optional getColumnStatistic(String colName) { return Optional.empty(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/ModifyTablePropertyOperationLog.java b/fe/fe-core/src/main/java/org/apache/doris/persist/ModifyTablePropertyOperationLog.java index a782db9f9c069e..50b49074ce16a3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/persist/ModifyTablePropertyOperationLog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/persist/ModifyTablePropertyOperationLog.java @@ -35,6 +35,10 @@ public class ModifyTablePropertyOperationLog implements Writable { private long dbId; @SerializedName(value = "tableId") private long tableId; + @SerializedName(value = "ctlName") + private String ctlName; + @SerializedName(value = "dbName") + private String dbName; @SerializedName(value = "tableName") private String tableName; @SerializedName(value = "properties") @@ -58,6 +62,14 @@ public ModifyTablePropertyOperationLog(long dbId, long tableId, String tableName this.sql = sb.toString(); } + public ModifyTablePropertyOperationLog(String ctlName, String dbName, String tableName, + Map properties) { + this.ctlName = ctlName; + this.dbName = dbName; + this.tableName = tableName; + this.properties = properties; + } + public long getDbId() { return dbId; } @@ -66,6 +78,18 @@ public long getTableId() { return tableId; } + public String getCtlName() { + return ctlName; + } + + public String getDbName() { + return dbName; + } + + public String getTableName() { + return tableName; + } + public Map getProperties() { return properties; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java index 1cbfcf8ba37fa9..819c98759917cf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java @@ -2720,7 +2720,7 @@ private void handleShowTableStats() { if (tableStats == null) { resultSet = showTableStatsStmt.constructEmptyResultSet(); } else { - resultSet = showTableStatsStmt.constructResultSet(tableStats); + resultSet = showTableStatsStmt.constructResultSet(tableStats, tableIf); } return; } @@ -2729,9 +2729,9 @@ private void handleShowTableStats() { tableStats == null means it's not analyzed, in this case show the estimated row count. */ if (tableStats == null) { - resultSet = showTableStatsStmt.constructResultSet(tableIf.getCachedRowCount()); + resultSet = showTableStatsStmt.constructResultSet(tableIf); } else { - resultSet = showTableStatsStmt.constructResultSet(tableStats); + resultSet = showTableStatsStmt.constructResultSet(tableStats, tableIf); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java index 0f5c81b1cf0692..fd8d6fc2bf5977 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java @@ -981,12 +981,7 @@ public static boolean needAnalyzeColumn(TableIf table, Pair colu if (column == null) { return false; } - try { - if (!table.getDatabase().getCatalog().enableAutoAnalyze()) { - return false; - } - } catch (Throwable t) { - LOG.warn("Failed to get catalog property. {}", t.getMessage()); + if (!table.autoAnalyzeEnabled()) { return false; } AnalysisManager manager = Env.getServingEnv().getAnalysisManager(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/statistics/util/StatisticsUtilTest.java b/fe/fe-core/src/test/java/org/apache/doris/statistics/util/StatisticsUtilTest.java index 6dccd3af46e728..32521882939d34 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/statistics/util/StatisticsUtilTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/statistics/util/StatisticsUtilTest.java @@ -18,21 +18,21 @@ package org.apache.doris.statistics.util; import org.apache.doris.catalog.Column; -import org.apache.doris.catalog.Database; -import org.apache.doris.catalog.DatabaseIf; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.PrimitiveType; +import org.apache.doris.catalog.TableProperty; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; import org.apache.doris.common.Pair; -import org.apache.doris.datasource.CatalogIf; +import org.apache.doris.common.util.PropertyAnalyzer; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.hive.HMSExternalCatalog; import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.hive.HMSExternalTable.DLAType; +import org.apache.doris.datasource.jdbc.JdbcExternalCatalog; import org.apache.doris.datasource.jdbc.JdbcExternalTable; import org.apache.doris.qe.SessionVariable; import org.apache.doris.statistics.AnalysisManager; @@ -51,7 +51,9 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Base64; +import java.util.HashMap; import java.util.List; +import java.util.Map; class StatisticsUtilTest { @Test @@ -176,42 +178,46 @@ void testNeedAnalyzeColumn() throws DdlException { List schema = new ArrayList<>(); schema.add(column); OlapTable table = new OlapTable(200, "testTable", schema, null, null, null); - Database db = new Database(111, "TestDb"); - ExternalCatalog externalCatalog = new HMSExternalCatalog(); + HMSExternalCatalog externalCatalog = new HMSExternalCatalog(); - // Test get database/catalog exception - new MockUp() { - @Mock - public DatabaseIf getDatabase() { - throw new RuntimeException(); - } - }; + // Test olap table auto analyze disabled. + Map properties = new HashMap<>(); + properties.put(PropertyAnalyzer.PROPERTIES_AUTO_ANALYZE_POLICY, "disable"); + table.setTableProperty(new TableProperty(properties)); Assertions.assertFalse(StatisticsUtil.needAnalyzeColumn(table, Pair.of("index", column.getName()))); + table.setTableProperty(null); - // Test auto analyze disabled. - new MockUp() { + new MockUp() { @Mock - public DatabaseIf getDatabase() { - return db; + protected synchronized void makeSureInitialized() { } }; - new MockUp() { + + // Test auto analyze catalog disabled. + HMSExternalTable hmsTable = new HMSExternalTable(1, "name", "dbName", externalCatalog); + Assertions.assertFalse(StatisticsUtil.needAnalyzeColumn(hmsTable, Pair.of("index", column.getName()))); + + // Test catalog auto analyze enabled. + new MockUp() { @Mock - public CatalogIf getCatalog() { - return externalCatalog; + public TableStatsMeta findTableStatsStatus(long tblId) { + return null; } }; - Assertions.assertFalse(StatisticsUtil.needAnalyzeColumn(table, Pair.of("index", column.getName()))); + externalCatalog.getCatalogProperty().addProperty(ExternalCatalog.ENABLE_AUTO_ANALYZE, "true"); + Assertions.assertTrue(StatisticsUtil.needAnalyzeColumn(table, Pair.of("index", column.getName()))); - // Test auto analyze enabled. + // Test external table auto analyze enabled. new MockUp() { @Mock public TableStatsMeta findTableStatsStatus(long tblId) { return null; } }; - externalCatalog.getCatalogProperty().addProperty(ExternalCatalog.ENABLE_AUTO_ANALYZE, "true"); - Assertions.assertTrue(StatisticsUtil.needAnalyzeColumn(table, Pair.of("index", column.getName()))); + externalCatalog.getCatalogProperty().addProperty(ExternalCatalog.ENABLE_AUTO_ANALYZE, "false"); + HMSExternalTable hmsTable1 = new HMSExternalTable(1, "name", "dbName", externalCatalog); + externalCatalog.setAutoAnalyzePolicy("dbName", "name", "enable"); + Assertions.assertTrue(StatisticsUtil.needAnalyzeColumn(hmsTable1, Pair.of("index", column.getName()))); // Test table stats meta is null. @@ -256,8 +262,14 @@ public ColStatsMeta findColumnStatsMeta(String indexName, String colName) { } }; + new MockUp() { + @Mock + protected synchronized void makeSureInitialized() { + } + }; // Test not supported external table type. - ExternalTable externalTable = new JdbcExternalTable(1, "jdbctable", "jdbcdb", null); + ExternalTable externalTable = new JdbcExternalTable(1, "jdbctable", "jdbcdb", + new JdbcExternalCatalog(1, "name", "resource", new HashMap<>(), "")); Assertions.assertFalse(StatisticsUtil.needAnalyzeColumn(externalTable, Pair.of("index", column.getName()))); // Test hms external table not hive type. @@ -267,7 +279,7 @@ public DLAType getDlaType() { return DLAType.ICEBERG; } }; - ExternalTable hmsExternalTable = new HMSExternalTable(1, "hmsTable", "hmsDb", null); + ExternalTable hmsExternalTable = new HMSExternalTable(1, "hmsTable", "hmsDb", externalCatalog); Assertions.assertFalse(StatisticsUtil.needAnalyzeColumn(hmsExternalTable, Pair.of("index", column.getName()))); // Test partition first load. diff --git a/regression-test/suites/external_table_p0/hive/test_hive_statistics_p0.groovy b/regression-test/suites/external_table_p0/hive/test_hive_statistics_p0.groovy index 71a43d2aec9421..c11ff176d95921 100644 --- a/regression-test/suites/external_table_p0/hive/test_hive_statistics_p0.groovy +++ b/regression-test/suites/external_table_p0/hive/test_hive_statistics_p0.groovy @@ -232,6 +232,71 @@ suite("test_hive_statistics_p0", "all_types,p0,external,hive,external_docker,ext assertEquals("N/A", result[0][7]) assertEquals("N/A", result[0][8]) + + // Test auto analyze policy + sql """drop stats stats_test1""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("false", result[0][8]) + + sql """ALTER CATALOG `${catalog_name}` SET PROPERTIES ('enable.auto.analyze'='true')""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("true", result[0][8]) + + sql """ALTER CATALOG `${catalog_name}` SET PROPERTIES ('enable.auto.analyze'='false')""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("false", result[0][8]) + + sql """analyze table stats_test1 PROPERTIES("use.auto.analyzer"="true")""" + result = sql """show auto analyze stats_test1""" + assertEquals(0, result.size()) + + sql """ALTER TABLE stats_test1 SET ("auto_analyze_policy" = "enable");""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("true", result[0][8]) + + sql """analyze table stats_test1 PROPERTIES("use.auto.analyzer"="true")""" + result = sql """show auto analyze stats_test1""" + assertEquals(1, result.size()) + + sql """ALTER CATALOG `${catalog_name}` SET PROPERTIES ('enable.auto.analyze'='true')""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("true", result[0][8]) + + sql """ALTER CATALOG `${catalog_name}` SET PROPERTIES ('enable.auto.analyze'='false')""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("true", result[0][8]) + + sql """ALTER TABLE stats_test1 SET ("auto_analyze_policy" = "disable");""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("false", result[0][8]) + + sql """ALTER CATALOG `${catalog_name}` SET PROPERTIES ('enable.auto.analyze'='true')""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("false", result[0][8]) + + sql """ALTER CATALOG `${catalog_name}` SET PROPERTIES ('enable.auto.analyze'='false')""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("false", result[0][8]) + + sql """ALTER TABLE stats_test1 SET ("auto_analyze_policy" = "base_on_catalog");""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("false", result[0][8]) + + sql """ALTER CATALOG `${catalog_name}` SET PROPERTIES ('enable.auto.analyze'='true')""" + result = sql """show table stats stats_test1""" + assertEquals(1, result.size()) + assertEquals("true", result[0][8]) + sql """drop catalog if exists ${catalog_name}""" } finally { diff --git a/regression-test/suites/statistics/test_auto_analyze_black_white_list.groovy b/regression-test/suites/statistics/test_auto_analyze_black_white_list.groovy new file mode 100644 index 00000000000000..8ba453b81f505e --- /dev/null +++ b/regression-test/suites/statistics/test_auto_analyze_black_white_list.groovy @@ -0,0 +1,75 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_auto_analyze_black_white_list") { + + sql """drop database if exists test_auto_analyze_black_white_list""" + sql """create database test_auto_analyze_black_white_list""" + sql """use test_auto_analyze_black_white_list""" + sql """set global force_sample_analyze=false""" + sql """set global enable_auto_analyze=false""" + + sql """CREATE TABLE test_bw ( + key1 bigint NOT NULL, + key2 bigint NOT NULL, + value1 int NOT NULL, + value2 int NOT NULL, + value3 int NOT NULL + )ENGINE=OLAP + DUPLICATE KEY(`key1`, `key2`) + COMMENT "OLAP" + DISTRIBUTED BY HASH(`key1`) BUCKETS 2 + PROPERTIES ( + "replication_num" = "1" + ) + """ + + // Test show index row count + def result = sql """show table stats test_bw""" + assertEquals(1, result.size()) + assertEquals("true", result[0][8]) + + sql """ALTER TABLE test_bw SET ("auto_analyze_policy" = "disable");""" + result = sql """show table stats test_bw""" + assertEquals(1, result.size()) + assertEquals("false", result[0][8]) + + sql """analyze table test_bw PROPERTIES("use.auto.analyzer"="true")""" + result = sql """show auto analyze test_bw""" + assertEquals(0, result.size()) + + sql """ALTER TABLE test_bw SET ("auto_analyze_policy" = "enable");""" + result = sql """show table stats test_bw""" + assertEquals(1, result.size()) + assertEquals("true", result[0][8]) + + sql """analyze table test_bw PROPERTIES("use.auto.analyzer"="true")""" + result = sql """show auto analyze test_bw""" + assertEquals(1, result.size()) + + sql """ALTER TABLE test_bw SET ("auto_analyze_policy" = "disable");""" + result = sql """show table stats test_bw""" + assertEquals(1, result.size()) + assertEquals("false", result[0][8]) + sql """ALTER TABLE test_bw SET ("auto_analyze_policy" = "base_on_catalog");""" + result = sql """show table stats test_bw""" + assertEquals(1, result.size()) + assertEquals("true", result[0][8]) + + sql """drop database if exists test_auto_analyze_black_white_list""" +} + From 000fc9e2fb705648e94b46cd13db66127d7aeaae Mon Sep 17 00:00:00 2001 From: Pxl Date: Tue, 3 Sep 2024 16:25:07 +0800 Subject: [PATCH 013/199] [Bug](sink) update error status on BufferControlBlock::close (#40116) ## Proposed changes update error status on BufferControlBlock::close --- be/src/runtime/buffer_control_block.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/be/src/runtime/buffer_control_block.cpp b/be/src/runtime/buffer_control_block.cpp index 6f8022a00342a3..be03db04d67f0c 100644 --- a/be/src/runtime/buffer_control_block.cpp +++ b/be/src/runtime/buffer_control_block.cpp @@ -248,6 +248,11 @@ Status BufferControlBlock::get_arrow_batch(std::shared_ptr* Status BufferControlBlock::close(const TUniqueId& id, Status exec_status) { std::unique_lock l(_lock); + // close will be called multiple times and error status needs to be collected. + if (!exec_status.ok()) { + _status = exec_status; + } + auto it = _result_sink_dependencys.find(id); if (it != _result_sink_dependencys.end()) { it->second->set_always_ready(); @@ -258,7 +263,6 @@ Status BufferControlBlock::close(const TUniqueId& id, Status exec_status) { } _is_close = true; - _status = exec_status; _arrow_data_arrival.notify_all(); if (!_waiting_rpc.empty()) { From 34754ca34dfc08e863f1f2e1f52de1f37188dd47 Mon Sep 17 00:00:00 2001 From: Gavin Chou Date: Tue, 3 Sep 2024 18:09:22 +0800 Subject: [PATCH 014/199] [fix](recycler) Implement missing delete_prefix() of hdfs accessor (#40215) To test it, 1. enable commit_rowset fail with injection point 2. issue a streamload 3. check the recycler log or storage vault the uncommitted rowset recycled ``` curl 'be_ip:http_port/api/injection_point/enable' curl 'be_ip:http_port/api/injection_point/clear' curl "be_ip:http_port/api/injection_point/set?name=CloudMetaMgr::commit_rowset&behavior=return_error" curl -XPUT --location-trusted -vv -T tmp/1.csv -H'format:csv' -H 'column_separator:,' -H'timeout:60' -uroot: be_ip:http_port/api/db1/t2/_stream_load curl 'be_ip:http_port/api/injection_point/clear' curl 'be_ip:http_port/api/injection_point/disable' ``` --- be/src/cloud/cloud_meta_mgr.cpp | 21 ++++++- be/src/cloud/cloud_stream_load_executor.cpp | 2 +- be/src/cloud/injection_point_action.cpp | 63 ++++++++++++++++++--- cloud/src/common/config.h | 5 +- cloud/src/meta-service/meta_service_txn.cpp | 19 ++++--- cloud/src/recycler/hdfs_accessor.cpp | 23 +++++++- cloud/src/recycler/recycler.cpp | 16 ++++-- 7 files changed, 124 insertions(+), 25 deletions(-) diff --git a/be/src/cloud/cloud_meta_mgr.cpp b/be/src/cloud/cloud_meta_mgr.cpp index bc6c3a0f098e7e..8138ea52421102 100644 --- a/be/src/cloud/cloud_meta_mgr.cpp +++ b/be/src/cloud/cloud_meta_mgr.cpp @@ -715,7 +715,10 @@ Status CloudMetaMgr::prepare_rowset(const RowsetMeta& rs_meta, RowsetMetaSharedPtr* existed_rs_meta) { VLOG_DEBUG << "prepare rowset, tablet_id: " << rs_meta.tablet_id() << ", rowset_id: " << rs_meta.rowset_id() << " txn_id: " << rs_meta.txn_id(); - + { + Status ret_st; + TEST_INJECTION_POINT_RETURN_WITH_VALUE("CloudMetaMgr::prepare_rowset", ret_st); + } CreateRowsetRequest req; CreateRowsetResponse resp; req.set_cloud_unique_id(config::cloud_unique_id); @@ -741,6 +744,10 @@ Status CloudMetaMgr::commit_rowset(const RowsetMeta& rs_meta, RowsetMetaSharedPtr* existed_rs_meta) { VLOG_DEBUG << "commit rowset, tablet_id: " << rs_meta.tablet_id() << ", rowset_id: " << rs_meta.rowset_id() << " txn_id: " << rs_meta.txn_id(); + { + Status ret_st; + TEST_INJECTION_POINT_RETURN_WITH_VALUE("CloudMetaMgr::commit_rowset", ret_st); + } CreateRowsetRequest req; CreateRowsetResponse resp; req.set_cloud_unique_id(config::cloud_unique_id); @@ -841,6 +848,10 @@ static void send_stats_to_fe_async(const int64_t db_id, const int64_t txn_id, Status CloudMetaMgr::commit_txn(const StreamLoadContext& ctx, bool is_2pc) { VLOG_DEBUG << "commit txn, db_id: " << ctx.db_id << ", txn_id: " << ctx.txn_id << ", label: " << ctx.label << ", is_2pc: " << is_2pc; + { + Status ret_st; + TEST_INJECTION_POINT_RETURN_WITH_VALUE("CloudMetaMgr::commit_txn", ret_st); + } CommitTxnRequest req; CommitTxnResponse res; req.set_cloud_unique_id(config::cloud_unique_id); @@ -860,6 +871,10 @@ Status CloudMetaMgr::commit_txn(const StreamLoadContext& ctx, bool is_2pc) { Status CloudMetaMgr::abort_txn(const StreamLoadContext& ctx) { VLOG_DEBUG << "abort txn, db_id: " << ctx.db_id << ", txn_id: " << ctx.txn_id << ", label: " << ctx.label; + { + Status ret_st; + TEST_INJECTION_POINT_RETURN_WITH_VALUE("CloudMetaMgr::abort_txn", ret_st); + } AbortTxnRequest req; AbortTxnResponse res; req.set_cloud_unique_id(config::cloud_unique_id); @@ -879,6 +894,10 @@ Status CloudMetaMgr::abort_txn(const StreamLoadContext& ctx) { Status CloudMetaMgr::precommit_txn(const StreamLoadContext& ctx) { VLOG_DEBUG << "precommit txn, db_id: " << ctx.db_id << ", txn_id: " << ctx.txn_id << ", label: " << ctx.label; + { + Status ret_st; + TEST_INJECTION_POINT_RETURN_WITH_VALUE("CloudMetaMgr::precommit_txn", ret_st); + } PrecommitTxnRequest req; PrecommitTxnResponse res; req.set_cloud_unique_id(config::cloud_unique_id); diff --git a/be/src/cloud/cloud_stream_load_executor.cpp b/be/src/cloud/cloud_stream_load_executor.cpp index 1b8167c96ebd48..1352b4aac81a5f 100644 --- a/be/src/cloud/cloud_stream_load_executor.cpp +++ b/be/src/cloud/cloud_stream_load_executor.cpp @@ -129,7 +129,7 @@ void CloudStreamLoadExecutor::rollback_txn(StreamLoadContext* ctx) { std::stringstream ss; ss << "db_id=" << ctx->db_id << " txn_id=" << ctx->txn_id << " label=" << ctx->label; std::string op_info = ss.str(); - LOG(INFO) << "rollback stream laod txn " << op_info; + LOG(INFO) << "rollback stream load txn " << op_info; TxnOpParamType topt = ctx->txn_id > 0 ? TxnOpParamType::WITH_TXN_ID : !ctx->label.empty() ? TxnOpParamType::WITH_LABEL : TxnOpParamType::ILLEGAL; diff --git a/be/src/cloud/injection_point_action.cpp b/be/src/cloud/injection_point_action.cpp index be90ee23afddae..1880f14a3b77d1 100644 --- a/be/src/cloud/injection_point_action.cpp +++ b/be/src/cloud/injection_point_action.cpp @@ -124,6 +124,17 @@ void register_suites() { *arg0 = Status::Corruption("test_file_segment_cache_corruption injection error"); }); }); + // curl be_ip:http_port/api/injection_point/apply_suite?name=test_cloud_meta_mgr_commit_txn' + suite_map.emplace("test_cloud_meta_mgr_commit_txn", [] { + auto* sp = SyncPoint::get_instance(); + sp->set_call_back("CloudMetaMgr::commit_txn", [](auto&& args) { + LOG(INFO) << "injection CloudMetaMgr::commit_txn"; + auto* arg0 = try_any_cast_ret(args); + arg0->first = Status::InternalError( + "test_file_segment_cache_corruption injection error"); + arg0->second = true; + }); + }); } void set_sleep(const std::string& point, HttpRequest* req) { @@ -139,7 +150,8 @@ void set_sleep(const std::string& point, HttpRequest* req) { } } auto sp = SyncPoint::get_instance(); - sp->set_call_back(point, [duration](auto&& args) { + sp->set_call_back(point, [point, duration](auto&& args) { + LOG(INFO) << "injection point hit, point=" << point << " sleep milliseconds=" << duration; std::this_thread::sleep_for(std::chrono::milliseconds(duration)); }); HttpChannel::send_reply(req, HttpStatus::OK, "OK"); @@ -147,8 +159,9 @@ void set_sleep(const std::string& point, HttpRequest* req) { void set_return(const std::string& point, HttpRequest* req) { auto sp = SyncPoint::get_instance(); - sp->set_call_back(point, [](auto&& args) { + sp->set_call_back(point, [point](auto&& args) { try { + LOG(INFO) << "injection point hit, point=" << point << " return void"; auto pred = try_any_cast(args.back()); *pred = true; } catch (const std::bad_any_cast&) { @@ -160,8 +173,9 @@ void set_return(const std::string& point, HttpRequest* req) { void set_return_ok(const std::string& point, HttpRequest* req) { auto sp = SyncPoint::get_instance(); - sp->set_call_back(point, [](auto&& args) { + sp->set_call_back(point, [point](auto&& args) { try { + LOG(INFO) << "injection point hit, point=" << point << " return ok"; auto* pair = try_any_cast_ret(args); pair->first = Status::OK(); pair->second = true; @@ -188,8 +202,9 @@ void set_return_error(const std::string& point, HttpRequest* req) { } auto sp = SyncPoint::get_instance(); - sp->set_call_back(point, [code](auto&& args) { + sp->set_call_back(point, [code, point](auto&& args) { try { + LOG(INFO) << "injection point hit, point=" << point << " return error code=" << code; auto* pair = try_any_cast_ret(args); pair->first = Status::Error(code, "injected error"); pair->second = true; @@ -243,7 +258,7 @@ void handle_clear(HttpRequest* req) { HttpChannel::send_reply(req, HttpStatus::OK, "OK"); } -void handle_suite(HttpRequest* req) { +void handle_apply_suite(HttpRequest* req) { auto& suite = req->param("name"); if (suite.empty()) { HttpChannel::send_reply(req, HttpStatus::BAD_REQUEST, "empty suite name"); @@ -253,10 +268,11 @@ void handle_suite(HttpRequest* req) { std::call_once(register_suites_once, register_suites); if (auto it = suite_map.find(suite); it != suite_map.end()) { it->second(); // set injection callbacks - HttpChannel::send_reply(req, HttpStatus::OK, "OK"); + HttpChannel::send_reply(req, HttpStatus::OK, "OK apply suite " + suite + "\n"); return; } - HttpChannel::send_reply(req, HttpStatus::INTERNAL_SERVER_ERROR, "unknown suite: " + suite); + HttpChannel::send_reply(req, HttpStatus::INTERNAL_SERVER_ERROR, + "unknown suite: " + suite + "\n"); } void handle_enable(HttpRequest* req) { @@ -273,6 +289,37 @@ void handle_disable(HttpRequest* req) { InjectionPointAction::InjectionPointAction() = default; +// +// enable/disable injection point +// ``` +// curl "be_ip:http_port/api/injection_point/enable" +// curl "be_ip:http_port/api/injection_point/disable" +// ``` +// +// clear all injection points +// ``` +// curl "be_ip:http_port/api/injection_point/clear" +// ``` +// +// apply/activate specific suite with registered action, see `register_suites()` for more details +// ``` +// curl "be_ip:http_port/api/injection_point/apply_suite?name=${suite_name}" +// ``` +// +// set predifined action for specific injection point, supported actions are: +// * sleep: for injection point with callback, accepted param is `duration` in milliseconds +// * return: for injection point without return value (return void) +// * return_ok: for injection point with return value, always return Status::OK +// * return_error: for injection point with return value, accepted param is `code`, +// which is an int, valid values can be found in status.h, e.g. -235 or -230, +// if `code` is not present return Status::InternalError +// ``` +// curl "be_ip:http_port/api/injection_point/set?name=${injection_point_name}&behavior=sleep&duration=${x_millsec}" # sleep x millisecs +// curl "be_ip:http_port/api/injection_point/set?name=${injection_point_name}&behavior=return" # return void +// curl "be_ip:http_port/api/injection_point/set?name=${injection_point_name}&behavior=return_ok" # return ok +// curl "be_ip:http_port/api/injection_point/set?name=${injection_point_name}&behavior=return_error" # internal error +// curl "be_ip:http_port/api/injection_point/set?name=${injection_point_name}&behavior=return_error&code=${code}" # -235 +// ``` void InjectionPointAction::handle(HttpRequest* req) { LOG(INFO) << "handle InjectionPointAction " << req->debug_string(); auto& op = req->param("op"); @@ -283,7 +330,7 @@ void InjectionPointAction::handle(HttpRequest* req) { handle_clear(req); return; } else if (op == "apply_suite") { - handle_suite(req); + handle_apply_suite(req); return; } else if (op == "enable") { handle_enable(req); diff --git a/cloud/src/common/config.h b/cloud/src/common/config.h index d401caa4ad975f..e31a60a0d69f80 100644 --- a/cloud/src/common/config.h +++ b/cloud/src/common/config.h @@ -55,7 +55,7 @@ CONF_Bool(enable_file_logger, "true"); // recycler config CONF_mInt64(recycle_interval_seconds, "3600"); -CONF_mInt64(retention_seconds, "259200"); // 72h +CONF_mInt64(retention_seconds, "259200"); // 72h, global retention time CONF_Int32(recycle_concurrency, "16"); CONF_Int32(recycle_job_lease_expired_ms, "60000"); CONF_mInt64(compacted_rowset_retention_seconds, "10800"); // 3h @@ -77,7 +77,8 @@ CONF_mInt32(scan_instances_interval_seconds, "60"); // 1min CONF_mInt32(check_object_interval_seconds, "43200"); // 12hours CONF_mInt64(check_recycle_task_interval_seconds, "600"); // 10min -CONF_mInt64(recycle_task_threshold_seconds, "10800"); // 3h +// log a warning if a recycle task takes longer than this duration +CONF_mInt64(recycle_task_threshold_seconds, "10800"); // 3h CONF_String(test_s3_ak, ""); CONF_String(test_s3_sk, ""); diff --git a/cloud/src/meta-service/meta_service_txn.cpp b/cloud/src/meta-service/meta_service_txn.cpp index 3cd1bd798bbc84..5f2638c8d1fa28 100644 --- a/cloud/src/meta-service/meta_service_txn.cpp +++ b/cloud/src/meta-service/meta_service_txn.cpp @@ -479,8 +479,8 @@ void MetaServiceImpl::precommit_txn(::google::protobuf::RpcController* controlle return; } - LOG(INFO) << "xxx put running_key=" << hex(running_key) << " txn_id=" << txn_id; txn->put(running_key, running_val); + LOG(INFO) << "xxx put running_key=" << hex(running_key) << " txn_id=" << txn_id; err = txn->commit(); if (err != TxnErrorCode::TXN_OK) { @@ -569,8 +569,6 @@ void put_routine_load_progress(MetaServiceCode& code, std::string& msg, new_statistic_info->set_task_execution_time_ms(commit_attachment.task_execution_time_ms()); } - LOG(INFO) << "routine load new progress: " << new_progress_info.ShortDebugString(); - if (!new_progress_info.SerializeToString(&new_progress_val)) { code = MetaServiceCode::PROTOBUF_SERIALIZE_ERR; ss << "failed to serialize new progress val, txn_id=" << txn_id; @@ -579,6 +577,8 @@ void put_routine_load_progress(MetaServiceCode& code, std::string& msg, } txn->put(rl_progress_key, new_progress_val); + LOG(INFO) << "put rl_progress_key key=" << hex(rl_progress_key) + << " routine load new progress: " << new_progress_info.ShortDebugString(); } void MetaServiceImpl::get_rl_task_commit_attach(::google::protobuf::RpcController* controller, @@ -689,6 +689,7 @@ void MetaServiceImpl::reset_rl_progress(::google::protobuf::RpcController* contr if (request->partition_to_offset().size() == 0) { txn->remove(rl_progress_key); + LOG(INFO) << "remove rl_progress_key key=" << hex(rl_progress_key); } if (request->partition_to_offset().size() > 0) { @@ -738,6 +739,7 @@ void MetaServiceImpl::reset_rl_progress(::google::protobuf::RpcController* contr return; } txn->put(rl_progress_key, new_progress_val); + LOG(INFO) << "put rl_progress_key key=" << hex(rl_progress_key); } err = txn->commit(); @@ -892,6 +894,7 @@ void update_tablet_stats(const StatsTabletKeyInfo& info, const TabletStats& stat stats_pb.set_num_segments(stats_pb.num_segments() + stats.num_segs); stats_pb.SerializeToString(&val); txn->put(key, val); + LOG(INFO) << "put stats_tablet_key key=" << hex(key); } } @@ -2370,6 +2373,7 @@ void commit_txn_with_sub_txn(const CommitTxnRequest* request, CommitTxnResponse* stats_pb.set_num_segments(stats_pb.num_segments() + stats.num_segs); stats_pb.SerializeToString(&val); txn->put(key, val); + LOG(INFO) << "put stats_tablet_key, key=" << hex(key); }; } for (auto& [tablet_id, stats] : tablet_stats) { @@ -2405,8 +2409,9 @@ void commit_txn_with_sub_txn(const CommitTxnRequest* request, CommitTxnResponse* return; } txn->put(recycle_key, recycle_val); + LOG(INFO) << "xxx commit_txn put recycle_txn_key key=" << hex(recycle_key) + << " txn_id=" << txn_id; - LOG(INFO) << "xxx commit_txn put recycle_key key=" << hex(recycle_key) << " txn_id=" << txn_id; LOG(INFO) << "commit_txn put_size=" << txn->put_bytes() << " del_size=" << txn->delete_bytes() << " num_put_keys=" << txn->num_put_keys() << " num_del_keys=" << txn->num_del_keys() << " txn_size=" << txn->approximate_bytes() << " txn_id=" << txn_id; @@ -2541,7 +2546,7 @@ static void _abort_txn(const std::string& instance_id, const AbortTxnRequest* re //1. abort txn by txn id //2. abort txn by label and db_id if (txn_id > 0) { - VLOG_DEBUG << "abort_txn by txn_id"; + VLOG_DEBUG << "abort_txn by txn_id, txn_id=" << txn_id; //abort txn by txn id // Get db id with txn id @@ -2610,7 +2615,7 @@ static void _abort_txn(const std::string& instance_id, const AbortTxnRequest* re return; } } else { - VLOG_DEBUG << "abort_txn by db_id and txn label"; + VLOG_DEBUG << "abort_txn db_id and label, db_id=" << db_id << " label=" << label; //abort txn by label. std::string label_key = txn_label_key({instance_id, db_id, label}); std::string label_val; @@ -2726,7 +2731,7 @@ static void _abort_txn(const std::string& instance_id, const AbortTxnRequest* re return; } txn->put(recycle_key, recycle_val); - LOG(INFO) << "xxx put recycle_key=" << hex(recycle_key) + LOG(INFO) << "put recycle_txn_key=" << hex(recycle_key) << " txn_id=" << return_txn_info.txn_id(); } diff --git a/cloud/src/recycler/hdfs_accessor.cpp b/cloud/src/recycler/hdfs_accessor.cpp index e5038735f5735f..97a4670d2bfc6b 100644 --- a/cloud/src/recycler/hdfs_accessor.cpp +++ b/cloud/src/recycler/hdfs_accessor.cpp @@ -354,8 +354,27 @@ int HdfsAccessor::init() { } int HdfsAccessor::delete_prefix(const std::string& path_prefix, int64_t expiration_time) { - LOG_INFO("delete prefix").tag("uri", to_uri(path_prefix)); // Audit log - return 0; + auto uri = to_uri(path_prefix); + LOG(INFO) << "delete prefix, uri=" << uri; + std::unique_ptr list_iter; + int ret = list_all(&list_iter); + if (ret != 0) { + LOG(WARNING) << "delete prefix, failed to list" << uri; + return ret; + } + size_t num_listed = 0, num_deleted = 0; + for (auto file = list_iter->next(); file; file = list_iter->next()) { + ++num_listed; + if (file->path.find(path_prefix) != 0) continue; + if (int del_ret = delete_file(file->path); del_ret != 0) { + ret = del_ret; + break; + } + ++num_deleted; + } + LOG(INFO) << "delete prefix " << (ret != 0 ? "failed" : "succ") << " ret=" << ret + << " uri=" << uri << " num_listed=" << num_listed << " num_deleted=" << num_deleted; + return ret; } int HdfsAccessor::delete_directory_impl(const std::string& dir_path) { diff --git a/cloud/src/recycler/recycler.cpp b/cloud/src/recycler/recycler.cpp index 919b50358c77f5..9db16a18c13d4c 100644 --- a/cloud/src/recycler/recycler.cpp +++ b/cloud/src/recycler/recycler.cpp @@ -1219,7 +1219,7 @@ int InstanceRecycler::recycle_tablets(int64_t table_id, int64_t index_id, int64_ return {std::string_view(), range_move}; } ++num_recycled; - LOG_INFO("k is {}, is empty {}", k, k.empty()); + LOG(INFO) << "recycle_tablets scan, key=" << (k.empty() ? "(empty)" : hex(k)); return {k, range_move}; }); } else { @@ -1694,6 +1694,10 @@ int InstanceRecycler::recycle_rowsets() { LOG_WARNING("malformed recycle rowset").tag("key", hex(k)); return -1; } + + VLOG_DEBUG << "recycle rowset scan, key=" << hex(k) << " num_scanned=" << num_scanned + << " num_expired=" << num_expired << " expiration=" << calc_expiration(rowset) + << " RecycleRowsetPB=" << rowset.ShortDebugString(); int64_t current_time = ::time(nullptr); if (current_time < calc_expiration(rowset)) { // not expired return 0; @@ -1745,8 +1749,8 @@ int InstanceRecycler::recycle_rowsets() { << rowset_meta->start_version() << '-' << rowset_meta->end_version() << "] txn_id=" << rowset_meta->txn_id() << " type=" << RecycleRowsetPB_Type_Name(rowset.type()) - << " rowset_meta_size=" << v.size() << " creation_time" - << rowset_meta->creation_time(); + << " rowset_meta_size=" << v.size() + << " creation_time=" << rowset_meta->creation_time(); if (rowset.type() == RecycleRowsetPB::PREPARE) { // unable to calculate file path, can only be deleted by rowset id prefix num_prepare += 1; @@ -1910,6 +1914,10 @@ int InstanceRecycler::recycle_tmp_rowsets() { // duration or timeout always < `retention_time` in practice. int64_t expiration = rowset.txn_expiration() > 0 ? rowset.txn_expiration() : rowset.creation_time(); + VLOG_DEBUG << "recycle tmp rowset scan, key=" << hex(k) << " num_scanned=" << num_scanned + << " num_expired=" << num_expired << " expiration=" << expiration + << " txn_expiration=" << rowset.txn_expiration() + << " rowset_creation_time=" << rowset.creation_time(); if (current_time < expiration + config::retention_seconds) { // not expired return 0; @@ -2150,7 +2158,7 @@ int InstanceRecycler::recycle_expired_txn_label() { recycle_txn_key(recycle_txn_key_info0, &begin_recycle_txn_key); recycle_txn_key(recycle_txn_key_info1, &end_recycle_txn_key); - LOG_INFO("begin to recycle expire txn").tag("instance_id", instance_id_); + LOG_INFO("begin to recycle expired txn").tag("instance_id", instance_id_); int64_t start_time = duration_cast(steady_clock::now().time_since_epoch()).count(); register_recycle_task(task_name, start_time); From cdfe3c24cd32c2569f8cdaa10fabf4558c7d4759 Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Tue, 3 Sep 2024 18:27:27 +0800 Subject: [PATCH 015/199] [opt](Nereids) add show statement syntax (#40288) --- .../org/apache/doris/nereids/DorisLexer.g4 | 1 + .../org/apache/doris/nereids/DorisParser.g4 | 136 +++++++++++++++++- fe/fe-core/src/main/cup/sql_parser.cup | 4 +- .../apache/doris/analysis/AlterRoleStmt.java | 2 +- .../apache/doris/analysis/AnalyzeStmt.java | 2 +- .../apache/doris/analysis/CreateRoleStmt.java | 2 +- .../org/apache/doris/analysis/DdlStmt.java | 2 +- .../doris/analysis/DiagnoseTabletStmt.java | 2 +- .../apache/doris/analysis/DropUserStmt.java | 2 +- .../org/apache/doris/analysis/ExportStmt.java | 2 +- .../analysis/InsertOverwriteTableStmt.java | 2 +- .../org/apache/doris/analysis/SelectStmt.java | 2 +- .../analysis/SetDefaultStorageVaultStmt.java | 2 +- .../doris/analysis/SetOperationStmt.java | 2 +- .../doris/analysis/SetUserPropertyStmt.java | 2 +- .../apache/doris/analysis/ShowAlterStmt.java | 2 +- .../doris/analysis/ShowAnalyzeStmt.java | 2 +- .../doris/analysis/ShowAnalyzeTaskStatus.java | 2 +- .../apache/doris/analysis/ShowAuthorStmt.java | 2 +- .../analysis/ShowAutoAnalyzeJobsStmt.java | 2 +- .../doris/analysis/ShowBackendsStmt.java | 2 +- .../apache/doris/analysis/ShowBackupStmt.java | 2 +- .../apache/doris/analysis/ShowBrokerStmt.java | 2 +- .../doris/analysis/ShowBuildIndexStmt.java | 2 +- .../doris/analysis/ShowCacheHotSpotStmt.java | 2 +- .../analysis/ShowCatalogRecycleBinStmt.java | 2 +- .../doris/analysis/ShowCatalogStmt.java | 2 +- .../doris/analysis/ShowCharsetStmt.java | 2 +- .../doris/analysis/ShowCloudWarmUpStmt.java | 2 +- .../doris/analysis/ShowClusterStmt.java | 2 +- .../doris/analysis/ShowCollationStmt.java | 2 +- .../doris/analysis/ShowColumnHistStmt.java | 2 +- .../doris/analysis/ShowColumnStatsStmt.java | 2 +- .../apache/doris/analysis/ShowColumnStmt.java | 2 +- .../doris/analysis/ShowConvertLSCStmt.java | 2 +- .../apache/doris/analysis/ShowCopyStmt.java | 2 +- .../doris/analysis/ShowCreateCatalogStmt.java | 2 +- .../doris/analysis/ShowCreateDbStmt.java | 2 +- .../analysis/ShowCreateFunctionStmt.java | 2 +- .../doris/analysis/ShowCreateMTMVStmt.java | 2 +- .../ShowCreateMaterializedViewStmt.java | 2 +- .../analysis/ShowCreateRepositoryStmt.java | 2 +- .../doris/analysis/ShowCreateTableStmt.java | 2 +- .../doris/analysis/ShowDataSkewStmt.java | 2 +- .../apache/doris/analysis/ShowDataStmt.java | 2 +- .../doris/analysis/ShowDataTypesStmt.java | 2 +- .../apache/doris/analysis/ShowDbIdStmt.java | 2 +- .../org/apache/doris/analysis/ShowDbStmt.java | 2 +- .../apache/doris/analysis/ShowDeleteStmt.java | 2 +- .../analysis/ShowDynamicPartitionStmt.java | 2 +- .../doris/analysis/ShowEncryptKeysStmt.java | 2 +- .../doris/analysis/ShowEnginesStmt.java | 2 +- .../apache/doris/analysis/ShowEventsStmt.java | 2 +- .../apache/doris/analysis/ShowExportStmt.java | 2 +- .../doris/analysis/ShowFrontendsStmt.java | 2 +- .../doris/analysis/ShowFunctionsStmt.java | 2 +- .../apache/doris/analysis/ShowGrantsStmt.java | 2 +- .../apache/doris/analysis/ShowIndexStmt.java | 2 +- .../doris/analysis/ShowLastInsertStmt.java | 2 +- .../doris/analysis/ShowLoadProfileStmt.java | 2 +- .../apache/doris/analysis/ShowLoadStmt.java | 2 +- .../doris/analysis/ShowLoadWarningsStmt.java | 2 +- .../doris/analysis/ShowOpenTableStmt.java | 2 +- .../doris/analysis/ShowPartitionIdStmt.java | 2 +- .../doris/analysis/ShowPartitionsStmt.java | 2 +- .../doris/analysis/ShowPluginsStmt.java | 2 +- .../apache/doris/analysis/ShowPolicyStmt.java | 2 +- .../doris/analysis/ShowPrivilegesStmt.java | 2 +- .../apache/doris/analysis/ShowProcStmt.java | 2 +- .../doris/analysis/ShowProcedureStmt.java | 2 +- .../doris/analysis/ShowProcesslistStmt.java | 2 +- .../doris/analysis/ShowQueryProfileStmt.java | 2 +- .../doris/analysis/ShowQueryStatsStmt.java | 2 +- .../analysis/ShowReplicaDistributionStmt.java | 2 +- .../doris/analysis/ShowReplicaStatusStmt.java | 2 +- .../doris/analysis/ShowRepositoriesStmt.java | 2 +- .../doris/analysis/ShowResourcesStmt.java | 2 +- .../doris/analysis/ShowRestoreStmt.java | 2 +- .../apache/doris/analysis/ShowRolesStmt.java | 2 +- .../apache/doris/analysis/ShowRollupStmt.java | 2 +- .../doris/analysis/ShowSmallFilesStmt.java | 2 +- .../doris/analysis/ShowSnapshotStmt.java | 2 +- .../doris/analysis/ShowSqlBlockRuleStmt.java | 2 +- .../apache/doris/analysis/ShowStageStmt.java | 2 +- .../apache/doris/analysis/ShowStatusStmt.java | 2 +- .../org/apache/doris/analysis/ShowStmt.java | 2 +- .../analysis/ShowStoragePolicyUsingStmt.java | 2 +- .../doris/analysis/ShowStorageVaultStmt.java | 2 +- .../doris/analysis/ShowStreamLoadStmt.java | 2 +- .../doris/analysis/ShowSyncJobStmt.java | 2 +- .../doris/analysis/ShowTableCreationStmt.java | 2 +- .../doris/analysis/ShowTableIdStmt.java | 2 +- .../doris/analysis/ShowTableStatsStmt.java | 2 +- .../doris/analysis/ShowTableStatusStmt.java | 2 +- .../apache/doris/analysis/ShowTableStmt.java | 2 +- .../apache/doris/analysis/ShowTabletStmt.java | 2 +- .../analysis/ShowTabletStorageFormatStmt.java | 2 +- .../doris/analysis/ShowTabletsBelongStmt.java | 2 +- .../doris/analysis/ShowTransactionStmt.java | 2 +- .../doris/analysis/ShowTrashDiskStmt.java | 2 +- .../apache/doris/analysis/ShowTrashStmt.java | 2 +- .../doris/analysis/ShowTriggersStmt.java | 2 +- .../doris/analysis/ShowTypeCastStmt.java | 2 +- .../doris/analysis/ShowUserPropertyStmt.java | 2 +- .../doris/analysis/ShowVariablesStmt.java | 2 +- .../apache/doris/analysis/ShowViewStmt.java | 2 +- .../doris/analysis/ShowWarningStmt.java | 2 +- .../doris/analysis/ShowWhiteListStmt.java | 2 +- .../analysis/ShowWorkloadGroupsStmt.java | 2 +- .../doris/analysis/TransactionStmt.java | 2 +- .../cloud/analysis/UseCloudClusterStmt.java | 3 +- 111 files changed, 244 insertions(+), 114 deletions(-) diff --git a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 index 42092b896822c2..2343f208642d6e 100644 --- a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 +++ b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 @@ -554,6 +554,7 @@ VAULT: 'VAULT'; VERBOSE: 'VERBOSE'; VERSION: 'VERSION'; VIEW: 'VIEW'; +VIEWS: 'VIEWS'; WARM: 'WARM'; WARNINGS: 'WARNINGS'; WEEK: 'WEEK'; diff --git a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 index b46b55a96e0da8..087af9d717de13 100644 --- a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 +++ b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 @@ -38,7 +38,7 @@ statement | CALL name=multipartIdentifier LEFT_PAREN (expression (COMMA expression)*)? RIGHT_PAREN #callProcedure | (ALTER | CREATE (OR REPLACE)? | REPLACE) (PROCEDURE | PROC) name=multipartIdentifier LEFT_PAREN .*? RIGHT_PAREN .*? #createProcedure | DROP (PROCEDURE | PROC) (IF EXISTS)? name=multipartIdentifier #dropProcedure - | SHOW PROCEDURE STATUS (LIKE pattern=valueExpression | whereClause)? #showProcedureStatus + | SHOW (PROCEDURE | FUNCTION) STATUS (LIKE pattern=valueExpression | whereClause)? #showProcedureStatus | SHOW CREATE PROCEDURE name=multipartIdentifier #showCreateProcedure // FIXME: like should be wildWhere? FRONTEND should not contain FROM backendid | ADMIN? SHOW type=(FRONTEND | BACKEND) CONFIG (LIKE pattern=valueExpression)? (FROM backendId=INTEGER_VALUE)? #showConfig @@ -49,7 +49,7 @@ statementBase | supportedDmlStatement #supportedDmlStatementAlias | supportedCreateStatement #supportedCreateStatementAlias | supportedAlterStatement #supportedAlterStatementAlias - | materailizedViewStatement #materailizedViewStatementAlias + | materializedViewStatement #materializedViewStatementAlias | constraintStatement #constraintStatementAlias | supportedDropStatement #supportedDropStatementAlias | unsupportedStatement #unsupported @@ -75,10 +75,11 @@ unsupportedStatement | unsupportedCleanStatement | unsupportedRefreshStatement | unsupportedLoadStatement + | unsupportedShowStatement | unsupportedOtherStatement ; -materailizedViewStatement +materializedViewStatement : CREATE MATERIALIZED VIEW (IF NOT EXISTS)? mvName=multipartIdentifier (LEFT_PAREN cols=simpleColumnDefs RIGHT_PAREN)? buildMode? (REFRESH refreshMethod? refreshTrigger?)? @@ -202,6 +203,121 @@ lockTable (READ (LOCAL)? | (LOW_PRIORITY)? WRITE) ; +unsupportedShowStatement + : SHOW SQL_BLOCK_RULE (FOR ruleName=identifier)? #showSqlBlockRule + | SHOW ROW POLICY (FOR (userIdentify | (ROLE role=identifier)))? #showRowPolicy + | SHOW STORAGE POLICY (USING (FOR policy=identifierOrText)?)? #showStoragePolicy + | SHOW STAGES #showStages + | SHOW STORAGE VAULT #showStorageVault + | SHOW CREATE REPOSITORY FOR identifier #showCreateRepository + | SHOW WHITELIST #showWhitelist + | SHOW (GLOBAL | SESSION | LOCAL)? VARIABLES wildWhere? #showVariables + | SHOW OPEN TABLES ((FROM | IN) database=multipartIdentifier)? wildWhere? #showOpenTables + | SHOW TABLE STATUS ((FROM | IN) database=multipartIdentifier)? wildWhere? #showTableStatus + | SHOW FULL? TABLES ((FROM | IN) database=multipartIdentifier)? wildWhere? #showTables + | SHOW FULL? VIEWS ((FROM | IN) database=multipartIdentifier)? wildWhere? #showViews + | SHOW TABLE tableId=INTEGER_VALUE #showTableId + | SHOW FULL? PROCESSLIST #showProcessList + | SHOW (GLOBAL | SESSION | LOCAL)? STATUS wildWhere? #showStatus + | SHOW FULL? TRIGGERS ((FROM | IN) database=multipartIdentifier)? wildWhere? #showTriggers + | SHOW EVENTS ((FROM | IN) database=multipartIdentifier)? wildWhere? #showEvents + | SHOW PLUGINS #showPlugins + | SHOW STORAGE? ENGINES #showStorageEngines + | SHOW AUTHORS #showAuthors + | SHOW BRIEF? CREATE TABLE name=multipartIdentifier #showCreateTable + | SHOW CREATE VIEW name=multipartIdentifier #showCreateView + | SHOW CREATE MATERIALIZED VIEW name=multipartIdentifier #showMaterializedView + | SHOW CREATE (DATABASE | SCHEMA) name=multipartIdentifier #showCreateDatabase + | SHOW CREATE CATALOG name=identifier #showCreateCatalog + | SHOW CREATE (GLOBAL | SESSION | LOCAL)? FUNCTION functionIdentifier + LEFT_PAREN functionArguments? RIGHT_PAREN + ((FROM | IN) database=multipartIdentifier)? #showCreateFunction + | SHOW (DATABASES | SCHEMAS) (FROM catalog=identifier)? wildWhere? #showDatabases + | SHOW DATABASE databaseId=INTEGER_VALUE #showDatabaseId + | SHOW DATA TYPES #showDataTypes + | SHOW CATALOGS wildWhere? #showCatalogs + | SHOW CATALOG name=identifier #showCatalog + | SHOW DYNAMIC PARTITION TABLES ((FROM | IN) database=multipartIdentifier)? #showDynamicPartition + | SHOW FULL? (COLUMNS | FIELDS) (FROM | IN) tableName=multipartIdentifier + ((FROM | IN) database=multipartIdentifier)? wildWhere? #showColumns + | SHOW COLLATION wildWhere? #showCollation + | SHOW ((CHAR SET) | CHARSET) wildWhere? #showCharset + | SHOW PROC path=STRING_LITERAL #showProc + | SHOW COUNT LEFT_PAREN ASTERISK RIGHT_PAREN (WARNINGS | ERRORS) #showWaringErrorCount + | SHOW (WARNINGS | ERRORS) limitClause? #showWaringErrors + | SHOW LOAD WARNINGS ((((FROM | IN) database=multipartIdentifier)? + wildWhere? limitClause?) | (ON url=STRING_LITERAL)) #showLoadWarings + | SHOW STREAM? LOAD ((FROM | IN) database=multipartIdentifier)? wildWhere? + sortClause? limitClause? #showLoad + | SHOW EXPORT ((FROM | IN) database=multipartIdentifier)? wildWhere? + sortClause? limitClause? #showExport + | SHOW DELETE ((FROM | IN) database=multipartIdentifier)? #showDelete + | SHOW ALTER TABLE (ROLLUP | (MATERIALIZED VIEW) | COLUMN) + ((FROM | IN) database=multipartIdentifier)? wildWhere? + sortClause? limitClause? #showAlterTable + | SHOW DATA SKEW FROM baseTableRef #showDataSkew + | SHOW DATA (FROM tableName=multipartIdentifier)? sortClause? propertyClause? #showData + | SHOW TEMPORARY? PARTITIONS FROM tableName=multipartIdentifier + wildWhere? sortClause? limitClause? #showPartitions + | SHOW PARTITION partitionId=INTEGER_VALUE #showPartitionId + | SHOW TABLET tabletId=INTEGER_VALUE #showTabletId + | SHOW TABLETS BELONG + tabletIds+=INTEGER_VALUE (COMMA tabletIds+=INTEGER_VALUE)* #showTabletBelong + | SHOW TABLETS FROM tableName=multipartIdentifier partitionSpec? + wildWhere? sortClause? limitClause? #showTabletsFromTable + | SHOW PROPERTY (FOR user=identifierOrText)? wildWhere? #showUserProperties + | SHOW ALL PROPERTIES wildWhere? #showAllProperties + | SHOW BACKUP ((FROM | IN) database=multipartIdentifier)? wildWhere? #showBackup + | SHOW BRIEF? RESTORE ((FROM | IN) database=multipartIdentifier)? wildWhere? #showRestore + | SHOW BROKER #showBroker + | SHOW RESOURCES wildWhere? sortClause? limitClause? #showResources + | SHOW WORKLOAD GROUPS wildWhere? #showWorkloadGroups + | SHOW BACKENDS #showBackends + | SHOW TRASH (ON backend=STRING_LITERAL)? #showTrash + | SHOW FRONTENDS name=identifier? #showFrontends + | SHOW REPOSITORIES #showRepositories + | SHOW SNAPSHOT ON repo=identifier wildWhere? #showSnapshot + | SHOW ALL? GRANTS #showGrants + | SHOW GRANTS FOR userIdentify #showGrantsForUser + | SHOW ROLES #showRoles + | SHOW PRIVILEGES #showPrivileges + | SHOW FULL? BUILTIN? FUNCTIONS + ((FROM | IN) database=multipartIdentifier)? wildWhere? #showFunctions + | SHOW GLOBAL FULL? FUNCTIONS wildWhere? #showGlobalFunctions + | SHOW TYPECAST ((FROM | IN) database=multipartIdentifier)? #showTypeCast + | SHOW FILE ((FROM | IN) database=multipartIdentifier)? #showSmallFiles + | SHOW (KEY | KEYS | INDEX | INDEXES) + (FROM |IN) tableName=multipartIdentifier + ((FROM | IN) database=multipartIdentifier)? #showIndex + | SHOW VIEW + (FROM |IN) tableName=multipartIdentifier + ((FROM | IN) database=multipartIdentifier)? #showView + | SHOW TRANSACTION ((FROM | IN) database=multipartIdentifier)? wildWhere? #showTransaction + | SHOW QUERY PROFILE queryIdPath=STRING_LITERAL #showQueryProfile + | SHOW LOAD PROFILE loadIdPath=STRING_LITERAL #showLoadProfile + | SHOW CACHE HOTSPOT tablePath=STRING_LITERAL #showCacheHotSpot + | SHOW ENCRYPTKEYS ((FROM | IN) database=multipartIdentifier)? wildWhere? #showEncryptKeys + | SHOW SYNC JOB ((FROM | IN) database=multipartIdentifier)? #showSyncJob + | SHOW TABLE CREATION ((FROM | IN) database=multipartIdentifier)? wildWhere? #showTableCreation + | SHOW LAST INSERT #showLastInsert + | SHOW CREATE MATERIALIZED VIEW mvName=identifier + ON tableName=multipartIdentifier #showCreateMaterializedView + | SHOW CATALOG RECYCLE BIN wildWhere? #showCatalogRecycleBin + | SHOW QUERY STATS ((FOR database=identifier) + | (FROM tableName=multipartIdentifier (ALL VERBOSE?)?))? #showQueryStats + | SHOW BUILD INDEX ((FROM | IN) database=multipartIdentifier)? + wildWhere? sortClause? limitClause? #showBuildIndex + | SHOW CLUSTERS #showClusters + | SHOW CONVERT_LSC ((FROM | IN) database=multipartIdentifier)? #showConvertLsc + | SHOW REPLICA STATUS FROM baseTableRef wildWhere? #showReplicaStatus + | SHOW REPLICA DISTRIBUTION FROM baseTableRef #showREplicaDistribution + | SHOW TABLET STORAGE FORMAT VERBOSE? #showTabletStorageFormat + | SHOW TABLET DIAGNOSIS tabletId=INTEGER_VALUE #showDiagnoseTablet + | SHOW COPY ((FROM | IN) database=multipartIdentifier)? + whereClause? sortClause? limitClause? #showCopy + | SHOW WARM UP JOB wildWhere? #showWarmUpJob + ; + unsupportedLoadStatement : LOAD mysqlDataDesc (PROPERTIES LEFT_PAREN properties=propertyItemList RIGHT_PAREN)? @@ -432,6 +548,7 @@ unsupportedAlterStatement properties=propertyClause #alterStoragePlicy | ALTER USER (IF EXISTS)? grantUserIdentify passwordOption (COMMENT STRING_LITERAL)? #alterUser + | ALTER ROLE role=identifier commentSpec #alterRole | ALTER REPOSITORY name=identifier properties=propertyClause? #alterRepository ; @@ -562,6 +679,18 @@ unsupportedStatsStatement | DROP EXPIRED STATS #dropExpiredStats | DROP ANALYZE JOB INTEGER_VALUE #dropAanalyzeJob | KILL ANALYZE jobId=INTEGER_VALUE #killAnalyzeJob + | SHOW TABLE STATS tableName=multipartIdentifier + partitionSpec? columnList=identifierList? #showTableStats + | SHOW TABLE STATS tableId=INTEGER_VALUE #showTableStats + | SHOW INDEX STATS tableName=multipartIdentifier indexId=identifier #showIndexStats + | SHOW COLUMN CACHED? STATS tableName=multipartIdentifier + columnList=identifierList? partitionSpec? #showColumnStats + | SHOW COLUMN HISTOGRAM tableName=multipartIdentifier + columnList=identifierList #showColumnHistogramStats + | SHOW AUTO? ANALYZE tableName=multipartIdentifier? wildWhere? #showAnalyze + | SHOW ANALYZE jobId=INTEGER_VALUE wildWhere? #showAnalyzeFromJobId + | SHOW AUTO JOBS tableName=multipartIdentifier? wildWhere? #showAutoAnalyzeJobs + | SHOW ANALYZE TASK STATUS jobId=INTEGER_VALUE #showAnalyzeTask ; analyzeProperties @@ -1952,6 +2081,7 @@ nonReserved | VERBOSE | VERSION | VIEW + | VIEWS | WARM | WARNINGS | WEEK diff --git a/fe/fe-core/src/main/cup/sql_parser.cup b/fe/fe-core/src/main/cup/sql_parser.cup index 921fdd590ed607..29a05856ff3b8e 100644 --- a/fe/fe-core/src/main/cup/sql_parser.cup +++ b/fe/fe-core/src/main/cup/sql_parser.cup @@ -718,7 +718,7 @@ nonterminal StatementBase stmt, show_stmt, show_param, help_stmt, load_stmt, use_stmt, use_cloud_cluster_stmt, kill_stmt, drop_stmt, recover_stmt, grant_stmt, revoke_stmt, create_stmt, set_stmt, sync_stmt, cancel_stmt, cancel_param, delete_stmt, switch_stmt, transaction_stmt, unsupported_stmt, export_stmt, admin_stmt, truncate_stmt, import_columns_stmt, import_delete_on_stmt, import_sequence_stmt, import_where_stmt, install_plugin_stmt, uninstall_plugin_stmt, - import_preceding_filter_stmt, unlock_tables_stmt, lock_tables_stmt, refresh_stmt, clean_stmt, analyze_stmt, show_mtmv_stmt, kill_analysis_job_stmt, insert_overwrite_stmt, copy_stmt, + import_preceding_filter_stmt, unlock_tables_stmt, lock_tables_stmt, refresh_stmt, clean_stmt, analyze_stmt, kill_analysis_job_stmt, insert_overwrite_stmt, copy_stmt, warm_up_stmt; nonterminal FromClause opt_using_clause; @@ -1272,8 +1272,6 @@ stmt ::= {: RESULT = stmt; :} | analyze_stmt:stmt {: RESULT = stmt; :} - | show_mtmv_stmt : stmt - {: RESULT = stmt; :} | warm_up_stmt:stmt {: RESULT = stmt; :} | /* empty: query only has comments */ diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoleStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoleStmt.java index ec428cb82f4272..f993b672220d11 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoleStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoleStmt.java @@ -26,7 +26,7 @@ import com.google.common.base.Strings; -public class AlterRoleStmt extends DdlStmt { +public class AlterRoleStmt extends DdlStmt implements NotFallbackInParser { private String role; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeStmt.java index 9b5145a7d0e9c3..495539842b49f0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeStmt.java @@ -30,7 +30,7 @@ import java.util.Map; -public class AnalyzeStmt extends StatementBase { +public class AnalyzeStmt extends StatementBase implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(AnalyzeStmt.class); protected AnalyzeProperties analyzeProperties; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java index 1f64ceddb85559..336bcc50406cde 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java @@ -30,7 +30,7 @@ import com.google.common.base.Strings; import org.apache.commons.lang3.StringUtils; -public class CreateRoleStmt extends DdlStmt { +public class CreateRoleStmt extends DdlStmt implements NotFallbackInParser { private boolean ifNotExists; private String role; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DdlStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DdlStmt.java index 596341bb37479c..38533bd49d4940 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DdlStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DdlStmt.java @@ -17,7 +17,7 @@ package org.apache.doris.analysis; -public abstract class DdlStmt extends StatementBase { +public abstract class DdlStmt extends StatementBase implements NotFallbackInParser { @Override public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DiagnoseTabletStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DiagnoseTabletStmt.java index b86cb30199e51e..4b5e5c6979c7c5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DiagnoseTabletStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DiagnoseTabletStmt.java @@ -30,7 +30,7 @@ import com.google.common.collect.ImmutableList; // SHOW TABLET DIAGNOSIS tablet_id -public class DiagnoseTabletStmt extends ShowStmt { +public class DiagnoseTabletStmt extends ShowStmt implements NotFallbackInParser { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("Item").add("Info").add("Suggestion") .build(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java index e9b3e6fe794a2c..f9bb218744fc85 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java @@ -30,7 +30,7 @@ // drop user cmy@['domain']; // drop user cmy <==> drop user cmy@'%' // drop user cmy@'192.168.1.%' -public class DropUserStmt extends DdlStmt { +public class DropUserStmt extends DdlStmt implements NotFallbackInParser { private boolean ifExists; private UserIdentity userIdent; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java index 232a61f1edc019..a9ce85b2d3e078 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java @@ -60,7 +60,7 @@ // [PROPERTIES("key"="value")] // WITH BROKER 'broker_name' [( $broker_attrs)] @Getter -public class ExportStmt extends StatementBase { +public class ExportStmt extends StatementBase implements NotFallbackInParser { public static final String PARALLELISM = "parallelism"; public static final String LABEL = "label"; public static final String DATA_CONSISTENCY = "data_consistency"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java index bef4a38bc3eb19..a0fca62e2848be 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java @@ -34,7 +34,7 @@ import java.util.ArrayList; import java.util.List; -public class InsertOverwriteTableStmt extends DdlStmt { +public class InsertOverwriteTableStmt extends DdlStmt implements NotFallbackInParser { private final InsertTarget target; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java index b7b778ae9012ea..d9f8e00c292bf0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java @@ -80,7 +80,7 @@ * clauses. */ @Deprecated -public class SelectStmt extends QueryStmt { +public class SelectStmt extends QueryStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(SelectStmt.class); public static final String DEFAULT_VALUE = "__DEFAULT_VALUE__"; private UUID id = UUID.randomUUID(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetDefaultStorageVaultStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetDefaultStorageVaultStmt.java index 26687942d0298b..3c3fc6f1863645 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetDefaultStorageVaultStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetDefaultStorageVaultStmt.java @@ -29,7 +29,7 @@ import org.apache.doris.qe.ConnectContext; // SET vault_name DEFAULT STORAGE VAULT -public class SetDefaultStorageVaultStmt extends DdlStmt { +public class SetDefaultStorageVaultStmt extends DdlStmt implements NotFallbackInParser { public final String vaultName; public SetDefaultStorageVaultStmt(String vaultName) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetOperationStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetOperationStmt.java index 3c4f8a76fd549d..2746da4d8fd595 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetOperationStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetOperationStmt.java @@ -53,7 +53,7 @@ * and we need to mark the slots of resolved exprs as materialized. */ @Deprecated -public class SetOperationStmt extends QueryStmt { +public class SetOperationStmt extends QueryStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(SetOperationStmt.class); public enum Operation { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetUserPropertyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetUserPropertyStmt.java index 7342fe7a79c2a2..04247fb227f430 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetUserPropertyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetUserPropertyStmt.java @@ -27,7 +27,7 @@ import java.util.List; -public class SetUserPropertyStmt extends DdlStmt { +public class SetUserPropertyStmt extends DdlStmt implements NotFallbackInParser { private String user; private final List propertyList; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAlterStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAlterStmt.java index 466d958ab19e35..8040271005ad83 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAlterStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAlterStmt.java @@ -48,7 +48,7 @@ * SHOW ALTER TABLE [COLUMN | ROLLUP] [FROM dbName] [WHERE TableName="xxx"] * [ORDER BY CreateTime DESC] [LIMIT [offset,]rows] */ -public class ShowAlterStmt extends ShowStmt { +public class ShowAlterStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowAlterStmt.class); public static enum AlterType { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAnalyzeStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAnalyzeStmt.java index f015cdb0555215..56e16bba76a0d8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAnalyzeStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAnalyzeStmt.java @@ -45,7 +45,7 @@ * [ORDER BY ...] * [LIMIT limit]; */ -public class ShowAnalyzeStmt extends ShowStmt { +public class ShowAnalyzeStmt extends ShowStmt implements NotFallbackInParser { private static final String STATE_NAME = "state"; private static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("job_id") diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAnalyzeTaskStatus.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAnalyzeTaskStatus.java index 364e3d0a4f3918..ff52cf0ccbaa40 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAnalyzeTaskStatus.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAnalyzeTaskStatus.java @@ -26,7 +26,7 @@ /** * SHOW ANALYZE TASK STATUS [JOB_ID] */ -public class ShowAnalyzeTaskStatus extends ShowStmt { +public class ShowAnalyzeTaskStatus extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData ROW_META_DATA = ShowResultSetMetaData.builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAuthorStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAuthorStmt.java index 477efd694d274f..f82f6022d4166f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAuthorStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAuthorStmt.java @@ -22,7 +22,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // Used to test show executor. -public class ShowAuthorStmt extends ShowStmt { +public class ShowAuthorStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Name", ScalarType.createVarchar(30))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAutoAnalyzeJobsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAutoAnalyzeJobsStmt.java index 560387fa5bc11c..9b07796df784d4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAutoAnalyzeJobsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowAutoAnalyzeJobsStmt.java @@ -43,7 +43,7 @@ * [PRIORITY = ["HIGH"|"MID"|"LOW"]] * ] */ -public class ShowAutoAnalyzeJobsStmt extends ShowStmt { +public class ShowAutoAnalyzeJobsStmt extends ShowStmt implements NotFallbackInParser { private static final String PRIORITY = "priority"; private static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("catalog_name") diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBackendsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBackendsStmt.java index 46009bd1c09798..8e1e589477d2dc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBackendsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBackendsStmt.java @@ -28,7 +28,7 @@ import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowBackendsStmt extends ShowStmt { +public class ShowBackendsStmt extends ShowStmt implements NotFallbackInParser { public ShowBackendsStmt() { } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBackupStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBackupStmt.java index 3c06a1da29eecd..a76857a8f8bc58 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBackupStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBackupStmt.java @@ -37,7 +37,7 @@ import java.util.function.Predicate; -public class ShowBackupStmt extends ShowStmt { +public class ShowBackupStmt extends ShowStmt implements NotFallbackInParser { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("JobId").add("SnapshotName").add("DbName").add("State").add("BackupObjs").add("CreateTime") .add("SnapshotFinishedTime").add("UploadFinishedTime").add("FinishedTime").add("UnfinishedTasks") diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBrokerStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBrokerStmt.java index 2ef68cd149e7d2..9f2b4d4ad5f2b2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBrokerStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBrokerStmt.java @@ -28,7 +28,7 @@ import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowBrokerStmt extends ShowStmt { +public class ShowBrokerStmt extends ShowStmt implements NotFallbackInParser { public ShowBrokerStmt() { } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBuildIndexStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBuildIndexStmt.java index 5b02e306aa9deb..944365fb0d48df 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBuildIndexStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowBuildIndexStmt.java @@ -45,7 +45,7 @@ // syntax: // SHOW BUILD INDEX [FROM db] [WHERE ] // [ORDER BY [DESC|ASC] [NULLS LAST | NULLS FIRST]]] [ LIMIT 1, 100] -public class ShowBuildIndexStmt extends ShowStmt { +public class ShowBuildIndexStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowBuildIndexStmt.class); private String dbName; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCacheHotSpotStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCacheHotSpotStmt.java index 23b72938e96674..847b015825dc1c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCacheHotSpotStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCacheHotSpotStmt.java @@ -40,7 +40,7 @@ import java.util.Arrays; import java.util.List; -public class ShowCacheHotSpotStmt extends ShowStmt { +public class ShowCacheHotSpotStmt extends ShowStmt implements NotFallbackInParser { public static final ShowResultSetMetaData[] RESULT_SET_META_DATAS = { ShowResultSetMetaData.builder() .addColumn(new Column("cluster_id", ScalarType.createType(PrimitiveType.BIGINT))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCatalogRecycleBinStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCatalogRecycleBinStmt.java index f15c3657240d87..3a4a33e4d628fd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCatalogRecycleBinStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCatalogRecycleBinStmt.java @@ -36,7 +36,7 @@ import java.util.function.Predicate; -public class ShowCatalogRecycleBinStmt extends ShowStmt { +public class ShowCatalogRecycleBinStmt extends ShowStmt implements NotFallbackInParser { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("Type").add("Name").add("DbId").add("TableId").add("PartitionId").add("DropTime") .add("DataSize").add("RemoteDataSize").build(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCatalogStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCatalogStmt.java index 191c5ba9a40ed5..f1770859002c7d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCatalogStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCatalogStmt.java @@ -25,7 +25,7 @@ /** * Statement for show all catalog or desc the specific catalog. */ -public class ShowCatalogStmt extends ShowStmt { +public class ShowCatalogStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA_ALL = ShowResultSetMetaData.builder().addColumn(new Column("CatalogId", ScalarType.BIGINT)) .addColumn(new Column("CatalogName", ScalarType.createVarchar(64))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCharsetStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCharsetStmt.java index 07e78fdf9cec8b..50725f690445a1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCharsetStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCharsetStmt.java @@ -21,7 +21,7 @@ import org.apache.doris.catalog.ScalarType; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowCharsetStmt extends ShowStmt { +public class ShowCharsetStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Charset", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCloudWarmUpStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCloudWarmUpStmt.java index d34c46d54a5d31..e91e9b7d6fe251 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCloudWarmUpStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCloudWarmUpStmt.java @@ -28,7 +28,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -public class ShowCloudWarmUpStmt extends ShowStmt { +public class ShowCloudWarmUpStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowCloudWarmUpStmt.class); private Expr whereClause; private boolean showAllJobs = false; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowClusterStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowClusterStmt.java index 50bd36b1882767..acb6d789f45e59 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowClusterStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowClusterStmt.java @@ -33,7 +33,7 @@ import com.google.common.collect.ImmutableList; -public class ShowClusterStmt extends ShowStmt { +public class ShowClusterStmt extends ShowStmt implements NotFallbackInParser { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("cluster").add("is_current").add("users").build(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCollationStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCollationStmt.java index df7e1f6a1637f3..6fda6ab9220c64 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCollationStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCollationStmt.java @@ -22,7 +22,7 @@ import org.apache.doris.catalog.ScalarType; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowCollationStmt extends ShowStmt { +public class ShowCollationStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Collation", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnHistStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnHistStmt.java index 88eb244589621b..ae5010ffe0d72f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnHistStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnHistStmt.java @@ -45,7 +45,7 @@ import java.util.Set; import java.util.stream.Collectors; -public class ShowColumnHistStmt extends ShowStmt { +public class ShowColumnHistStmt extends ShowStmt implements NotFallbackInParser { private static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStatsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStatsStmt.java index 833ca5e27a9784..354b57bc55c7d9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStatsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStatsStmt.java @@ -50,7 +50,7 @@ import java.util.Set; import java.util.stream.Collectors; -public class ShowColumnStatsStmt extends ShowStmt { +public class ShowColumnStatsStmt extends ShowStmt implements NotFallbackInParser { private static final ImmutableList TABLE_COLUMN_TITLE_NAMES = new ImmutableList.Builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStmt.java index 9af269104cc993..cf9c4a27660ec7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStmt.java @@ -32,7 +32,7 @@ import com.google.common.collect.Lists; // SHOW COLUMNS -public class ShowColumnStmt extends ShowStmt { +public class ShowColumnStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Field", ScalarType.createVarchar(20))) .addColumn(new Column("Type", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowConvertLSCStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowConvertLSCStmt.java index bab2e3b34b8847..cedf3e2d2466e0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowConvertLSCStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowConvertLSCStmt.java @@ -27,7 +27,7 @@ import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowConvertLSCStmt extends ShowStmt { +public class ShowConvertLSCStmt extends ShowStmt implements NotFallbackInParser { private final String dbName; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCopyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCopyStmt.java index 0d4ba6a909e42c..50988fd6a47493 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCopyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCopyStmt.java @@ -38,7 +38,7 @@ // // syntax: // SHOW COPY [FROM db] [LIKE mask] -public class ShowCopyStmt extends ShowLoadStmt { +public class ShowCopyStmt extends ShowLoadStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowCopyStmt.class); public ShowCopyStmt(String db, Expr labelExpr, List orderByElements, LimitElement limitElement) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateCatalogStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateCatalogStmt.java index 45208394eaf17b..f324b0701a8029 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateCatalogStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateCatalogStmt.java @@ -32,7 +32,7 @@ // Show create catalog statement // Syntax: // SHOW CREATE CATALOG catalogName -public class ShowCreateCatalogStmt extends ShowStmt { +public class ShowCreateCatalogStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Catalog", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateDbStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateDbStmt.java index b709be8d7e95c2..99cd1b3343823f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateDbStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateDbStmt.java @@ -33,7 +33,7 @@ // Show create database statement // Syntax: // SHOW CREATE DATABASE db -public class ShowCreateDbStmt extends ShowStmt { +public class ShowCreateDbStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Database", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateFunctionStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateFunctionStmt.java index e1ff16ba8ddc8f..b65f9318e58d4e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateFunctionStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateFunctionStmt.java @@ -33,7 +33,7 @@ import com.google.common.base.Strings; -public class ShowCreateFunctionStmt extends ShowStmt { +public class ShowCreateFunctionStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Function Signature", ScalarType.createVarchar(256))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateMTMVStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateMTMVStmt.java index fb8e69e779a70e..215217f63bd292 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateMTMVStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateMTMVStmt.java @@ -30,7 +30,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // SHOW CREATE Materialized View statement. -public class ShowCreateMTMVStmt extends ShowStmt { +public class ShowCreateMTMVStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Materialized View", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateMaterializedViewStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateMaterializedViewStmt.java index f0c48520a5c64c..ad5469809cf41b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateMaterializedViewStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateMaterializedViewStmt.java @@ -36,7 +36,7 @@ **/ @AllArgsConstructor @Getter -public class ShowCreateMaterializedViewStmt extends ShowStmt { +public class ShowCreateMaterializedViewStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateRepositoryStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateRepositoryStmt.java index 9de7dd0e9eed72..efd436ea240639 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateRepositoryStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateRepositoryStmt.java @@ -28,7 +28,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // SHOW CREATE REPOSITORY statement -public class ShowCreateRepositoryStmt extends ShowStmt { +public class ShowCreateRepositoryStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateTableStmt.java index 1a8ec38080ff84..9b60417c721b0f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateTableStmt.java @@ -31,7 +31,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // SHOW CREATE TABLE statement. -public class ShowCreateTableStmt extends ShowStmt { +public class ShowCreateTableStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Table", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataSkewStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataSkewStmt.java index c1ccc521c3bf94..6db5aeaa9da264 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataSkewStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataSkewStmt.java @@ -31,7 +31,7 @@ import com.google.common.collect.ImmutableList; // show data skew from tbl [partition(p1, p2, ...)] -public class ShowDataSkewStmt extends ShowStmt { +public class ShowDataSkewStmt extends ShowStmt implements NotFallbackInParser { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("PartitionName").add("BucketIdx").add("AvgRowCount").add("AvgDataSize") .add("Graph").add("Percent") diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataStmt.java index 84ce67283ac487..26b77e0b3d5d26 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataStmt.java @@ -56,7 +56,7 @@ import java.util.TreeMap; import java.util.TreeSet; -public class ShowDataStmt extends ShowStmt { +public class ShowDataStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData SHOW_DATABASE_DATA_META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("DbId", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataTypesStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataTypesStmt.java index 0ee95dd817e9f7..31bc8f3f598b96 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataTypesStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDataTypesStmt.java @@ -31,7 +31,7 @@ import java.util.Comparator; import java.util.List; -public class ShowDataTypesStmt extends ShowStmt { +public class ShowDataTypesStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbIdStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbIdStmt.java index 967714e0fa2546..6e800274817e8a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbIdStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbIdStmt.java @@ -28,7 +28,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // SHOW DATABASE ID -public class ShowDbIdStmt extends ShowStmt { +public class ShowDbIdStmt extends ShowStmt implements NotFallbackInParser { private long dbId; public ShowDbIdStmt(long dbId) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbStmt.java index c9606bc5bd224a..aba12fbd0c6c6d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbStmt.java @@ -29,7 +29,7 @@ import com.google.common.collect.Lists; // Show database statement. -public class ShowDbStmt extends ShowStmt { +public class ShowDbStmt extends ShowStmt implements NotFallbackInParser { private static final TableName TABLE_NAME = new TableName(InternalCatalog.INTERNAL_CATALOG_NAME, InfoSchemaDb.DATABASE_NAME, "schemata"); private static final String DB_COL = "Database"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDeleteStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDeleteStmt.java index 85df05718998b8..dcf36d116094c8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDeleteStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDeleteStmt.java @@ -28,7 +28,7 @@ import com.google.common.base.Strings; -public class ShowDeleteStmt extends ShowStmt { +public class ShowDeleteStmt extends ShowStmt implements NotFallbackInParser { private String dbName; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDynamicPartitionStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDynamicPartitionStmt.java index d8b0c1779214d7..ef1d731d77b078 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDynamicPartitionStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDynamicPartitionStmt.java @@ -26,7 +26,7 @@ import com.google.common.base.Strings; -public class ShowDynamicPartitionStmt extends ShowStmt { +public class ShowDynamicPartitionStmt extends ShowStmt implements NotFallbackInParser { private String db; private static final ShowResultSetMetaData SHOW_DYNAMIC_PARTITION_META_DATA = ShowResultSetMetaData.builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEncryptKeysStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEncryptKeysStmt.java index 83358209c23539..44ebc7b2b70dea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEncryptKeysStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEncryptKeysStmt.java @@ -30,7 +30,7 @@ import com.google.common.base.Strings; -public class ShowEncryptKeysStmt extends ShowStmt { +public class ShowEncryptKeysStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("EncryptKey Name", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEnginesStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEnginesStmt.java index f6ff28a671c93e..86ac4af67fb001 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEnginesStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEnginesStmt.java @@ -21,7 +21,7 @@ import org.apache.doris.catalog.ScalarType; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowEnginesStmt extends ShowStmt { +public class ShowEnginesStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Engine", ScalarType.createVarchar(64))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEventsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEventsStmt.java index 4e47ac79dec5f0..97ac779cd28729 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEventsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowEventsStmt.java @@ -22,7 +22,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // Show Events statement -public class ShowEventsStmt extends ShowStmt { +public class ShowEventsStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Db", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowExportStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowExportStmt.java index 14b5d05537c298..757eaf83bacf36 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowExportStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowExportStmt.java @@ -40,7 +40,7 @@ // // syntax: // SHOW EXPORT [FROM db] [where ...] -public class ShowExportStmt extends ShowStmt { +public class ShowExportStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowExportStmt.class); private String dbName; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowFrontendsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowFrontendsStmt.java index b3b5808d945d92..d8b5c454ff9d08 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowFrontendsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowFrontendsStmt.java @@ -30,7 +30,7 @@ import com.google.common.collect.ImmutableList; -public class ShowFrontendsStmt extends ShowStmt { +public class ShowFrontendsStmt extends ShowStmt implements NotFallbackInParser { private String detail; public ShowFrontendsStmt() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowFunctionsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowFunctionsStmt.java index 5abd18f74631f5..a994d0f6463c4f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowFunctionsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowFunctionsStmt.java @@ -32,7 +32,7 @@ import com.google.common.base.Strings; -public class ShowFunctionsStmt extends ShowStmt { +public class ShowFunctionsStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Signature", ScalarType.createVarchar(256))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowGrantsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowGrantsStmt.java index f78d4ca59fa682..0439544ae0e3a1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowGrantsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowGrantsStmt.java @@ -43,7 +43,7 @@ // // SHOW GRANTS; // SHOW GRANTS FOR user@'xxx' -public class ShowGrantsStmt extends ShowStmt { +public class ShowGrantsStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowIndexStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowIndexStmt.java index b35f2e77287b5e..43f02f4426d579 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowIndexStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowIndexStmt.java @@ -30,7 +30,7 @@ import com.google.common.base.Strings; -public class ShowIndexStmt extends ShowStmt { +public class ShowIndexStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Table", ScalarType.createVarchar(64))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLastInsertStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLastInsertStmt.java index 9ed0ebc6cd7f77..4ba3521d51cbd3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLastInsertStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLastInsertStmt.java @@ -22,7 +22,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // SHOW LAST INSERT -public class ShowLastInsertStmt extends ShowStmt { +public class ShowLastInsertStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("TransactionId", ScalarType.createVarchar(128))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadProfileStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadProfileStmt.java index 490a521132119a..78437cec796898 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadProfileStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadProfileStmt.java @@ -24,7 +24,7 @@ // deprecated stmt, use will be guided to a specific url to get profile from // web browser -public class ShowLoadProfileStmt extends ShowStmt { +public class ShowLoadProfileStmt extends ShowStmt implements NotFallbackInParser { private String loadIdPath; public ShowLoadProfileStmt(String path) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadStmt.java index b08ef917ab3aa2..760f70481fcf9c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadStmt.java @@ -42,7 +42,7 @@ // // syntax: // SHOW LOAD [FROM db] [LIKE mask] -public class ShowLoadStmt extends ShowStmt { +public class ShowLoadStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowLoadStmt.class); private String dbName; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadWarningsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadWarningsStmt.java index 624fc0a402b02e..f034c32a496626 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadWarningsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadWarningsStmt.java @@ -33,7 +33,7 @@ import java.net.URL; // SHOW LOAD WARNINGS statement used to get error detail of src data. -public class ShowLoadWarningsStmt extends ShowStmt { +public class ShowLoadWarningsStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowLoadWarningsStmt.class); private static final ShowResultSetMetaData META_DATA = diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowOpenTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowOpenTableStmt.java index 7c7dd8a9253a7f..3c2ae9f3795045 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowOpenTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowOpenTableStmt.java @@ -22,7 +22,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // SHOW OPEN TABLES -public class ShowOpenTableStmt extends ShowStmt { +public class ShowOpenTableStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Database", ScalarType.createVarchar(64))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionIdStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionIdStmt.java index 5aca99da337539..793a886ff31e9b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionIdStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionIdStmt.java @@ -28,7 +28,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // SHOW PARTITION ID -public class ShowPartitionIdStmt extends ShowStmt { +public class ShowPartitionIdStmt extends ShowStmt implements NotFallbackInParser { private long partitionId; public ShowPartitionIdStmt(long partitionId) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionsStmt.java index 1c61018bc53ef4..0be41ef60fa7ba 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPartitionsStmt.java @@ -54,7 +54,7 @@ import java.util.Map; import java.util.Objects; -public class ShowPartitionsStmt extends ShowStmt { +public class ShowPartitionsStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowPartitionsStmt.class); private static final String FILTER_PARTITION_ID = "PartitionId"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPluginsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPluginsStmt.java index 249e49da28dbaf..dc04e77d2ac7f8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPluginsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPluginsStmt.java @@ -29,7 +29,7 @@ // Show plugins statement. // TODO(zhaochun): only for support MySQL -public class ShowPluginsStmt extends ShowStmt { +public class ShowPluginsStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Name", ScalarType.createVarchar(64))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPolicyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPolicyStmt.java index df413ee61e465c..4c471fbcc42c3b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPolicyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPolicyStmt.java @@ -36,7 +36,7 @@ * syntax: * SHOW ROW POLICY [FOR user|ROLE role] **/ -public class ShowPolicyStmt extends ShowStmt { +public class ShowPolicyStmt extends ShowStmt implements NotFallbackInParser { @Getter private final PolicyTypeEnum type; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPrivilegesStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPrivilegesStmt.java index 31f2d0edeab7f3..a053c9e327f130 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPrivilegesStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowPrivilegesStmt.java @@ -21,7 +21,7 @@ import org.apache.doris.catalog.ScalarType; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowPrivilegesStmt extends ShowStmt { +public class ShowPrivilegesStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA; static { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcStmt.java index bc7c70cdc79257..0d154db62326f7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcStmt.java @@ -31,7 +31,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // SHOW PROC statement. Used to show proc information, only admin can use. -public class ShowProcStmt extends ShowStmt { +public class ShowProcStmt extends ShowStmt implements NotFallbackInParser { private String path; private ProcNodeInterface node; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcedureStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcedureStmt.java index db7684591fd752..960f54a2a8c2d3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcedureStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcedureStmt.java @@ -22,7 +22,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // SHOW PROCEDURE STATUS -public class ShowProcedureStmt extends ShowStmt { +public class ShowProcedureStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Db", ScalarType.createVarchar(64))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcesslistStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcesslistStmt.java index e602e85f499105..a4fd6a183c0678 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcesslistStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowProcesslistStmt.java @@ -25,7 +25,7 @@ // SHOW PROCESSLIST statement. // Used to show connection belong to this user. -public class ShowProcesslistStmt extends ShowStmt { +public class ShowProcesslistStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("CurrentConnected", ScalarType.createVarchar(16))) .addColumn(new Column("Id", ScalarType.createType(PrimitiveType.BIGINT))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowQueryProfileStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowQueryProfileStmt.java index 39d077438264bb..ad664652d53343 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowQueryProfileStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowQueryProfileStmt.java @@ -24,7 +24,7 @@ // deprecated stmt, use will be guided to a specific url to get profile from // web browser -public class ShowQueryProfileStmt extends ShowStmt { +public class ShowQueryProfileStmt extends ShowStmt implements NotFallbackInParser { private String queryIdPath; public ShowQueryProfileStmt(String queryIdPath) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowQueryStatsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowQueryStatsStmt.java index fee9809f96e36f..723a0ef8629a6c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowQueryStatsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowQueryStatsStmt.java @@ -39,7 +39,7 @@ import java.util.List; import java.util.Map; -public class ShowQueryStatsStmt extends ShowStmt { +public class ShowQueryStatsStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData SHOW_QUERY_STATS_CATALOG_META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Database", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowReplicaDistributionStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowReplicaDistributionStmt.java index 58d2ac1052f653..24ef8eddfc9a31 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowReplicaDistributionStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowReplicaDistributionStmt.java @@ -32,7 +32,7 @@ import com.google.common.collect.ImmutableList; // show replica distribution from tbl [partition(p1, p2, ...)] -public class ShowReplicaDistributionStmt extends ShowStmt { +public class ShowReplicaDistributionStmt extends ShowStmt implements NotFallbackInParser { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("BackendId").add("ReplicaNum").add("ReplicaSize") .add("NumGraph").add("NumPercent") diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowReplicaStatusStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowReplicaStatusStmt.java index 2a1f96fed96224..44215ed115008f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowReplicaStatusStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowReplicaStatusStmt.java @@ -36,7 +36,7 @@ import java.util.List; -public class ShowReplicaStatusStmt extends ShowStmt { +public class ShowReplicaStatusStmt extends ShowStmt implements NotFallbackInParser { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("TabletId").add("ReplicaId").add("BackendId").add("Version").add("LastFailedVersion") .add("LastSuccessVersion").add("CommittedVersion").add("SchemaHash").add("VersionNum") diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRepositoriesStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRepositoriesStmt.java index 6e5166a5c870b8..6dc6e3bf0bbed8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRepositoriesStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRepositoriesStmt.java @@ -29,7 +29,7 @@ import com.google.common.collect.ImmutableList; -public class ShowRepositoriesStmt extends ShowStmt { +public class ShowRepositoriesStmt extends ShowStmt implements NotFallbackInParser { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("RepoId").add("RepoName").add("CreateTime").add("IsReadOnly").add("Location") .add("Broker").add("Type").add("ErrMsg") diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowResourcesStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowResourcesStmt.java index 97393334679c21..9289d903627782 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowResourcesStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowResourcesStmt.java @@ -40,7 +40,7 @@ // // syntax: // SHOW RESOURCES [LIKE mask] -public class ShowResourcesStmt extends ShowStmt { +public class ShowResourcesStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowResourcesStmt.class); private String pattern; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRestoreStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRestoreStmt.java index 26016be7814dea..2ffa8607fbd86e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRestoreStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRestoreStmt.java @@ -38,7 +38,7 @@ import java.util.List; import java.util.function.Predicate; -public class ShowRestoreStmt extends ShowStmt { +public class ShowRestoreStmt extends ShowStmt implements NotFallbackInParser { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() .add("JobId").add("Label").add("Timestamp").add("DbName").add("State") .add("AllowLoad").add("ReplicationNum").add("ReplicaAllocation").add("ReserveReplica") diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRolesStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRolesStmt.java index bbb66b274438ee..1f3f19a6d29202 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRolesStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRolesStmt.java @@ -27,7 +27,7 @@ import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowRolesStmt extends ShowStmt { +public class ShowRolesStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA; static { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRollupStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRollupStmt.java index 2684f3bcea8d4e..f7f65800b58326 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRollupStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowRollupStmt.java @@ -31,7 +31,7 @@ // // Syntax: // SHOW ROLLUP { FROM | IN } table [ FROM db ] -public class ShowRollupStmt extends ShowStmt { +public class ShowRollupStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Table", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSmallFilesStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSmallFilesStmt.java index ad8c57b7a47734..5a227f96eb4ca3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSmallFilesStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSmallFilesStmt.java @@ -30,7 +30,7 @@ import com.google.common.base.Strings; -public class ShowSmallFilesStmt extends ShowStmt { +public class ShowSmallFilesStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Id", ScalarType.createVarchar(32))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSnapshotStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSnapshotStmt.java index 83465a34600587..6a736499d8725d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSnapshotStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSnapshotStmt.java @@ -32,7 +32,7 @@ import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; -public class ShowSnapshotStmt extends ShowStmt { +public class ShowSnapshotStmt extends ShowStmt implements NotFallbackInParser { public enum SnapshotType { REMOTE, LOCAL diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSqlBlockRuleStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSqlBlockRuleStmt.java index c487e1c7978b30..ccf2b1ee6bf3df 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSqlBlockRuleStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSqlBlockRuleStmt.java @@ -36,7 +36,7 @@ show sql_block_rule show sql_block_rule for rule_name */ -public class ShowSqlBlockRuleStmt extends ShowStmt { +public class ShowSqlBlockRuleStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStageStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStageStmt.java index 09626911c1e328..eac5b4aec83f3e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStageStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStageStmt.java @@ -30,7 +30,7 @@ // // syntax: // SHOW STAGES -public class ShowStageStmt extends ShowStmt { +public class ShowStageStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowStageStmt.class); private static final String NAME_COL = "StageName"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStatusStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStatusStmt.java index a6276a88d4ee30..abce39aec6f0ea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStatusStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStatusStmt.java @@ -23,7 +23,7 @@ // Show Status statement // TODO(zhaochun): Add status information. -public class ShowStatusStmt extends ShowStmt { +public class ShowStatusStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Variable_name", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java index 9be50ee9dbd1f2..92ed01acdfc81c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java @@ -20,7 +20,7 @@ import org.apache.doris.common.AnalysisException; import org.apache.doris.qe.ShowResultSetMetaData; -public abstract class ShowStmt extends StatementBase { +public abstract class ShowStmt extends StatementBase implements NotFallbackInParser { public abstract ShowResultSetMetaData getMetaData(); public SelectStmt toSelectStmt(Analyzer analyzer) throws AnalysisException { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStoragePolicyUsingStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStoragePolicyUsingStmt.java index 56598a194eec12..b6a8e367124833 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStoragePolicyUsingStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStoragePolicyUsingStmt.java @@ -34,7 +34,7 @@ * syntax: * SHOW STORAGE POLICY USING [for policy_name] **/ -public class ShowStoragePolicyUsingStmt extends ShowStmt { +public class ShowStoragePolicyUsingStmt extends ShowStmt implements NotFallbackInParser { public static final ShowResultSetMetaData RESULT_META_DATA = ShowResultSetMetaData.builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStorageVaultStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStorageVaultStmt.java index 1cd1d06a1499d1..f6124c4d20184d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStorageVaultStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStorageVaultStmt.java @@ -31,7 +31,7 @@ * syntax: * SHOW STORAGE VAULT **/ -public class ShowStorageVaultStmt extends ShowStmt { +public class ShowStorageVaultStmt extends ShowStmt implements NotFallbackInParser { private final String stmt = "SHOW STORAGE VAULT"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStreamLoadStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStreamLoadStmt.java index ae133aa2a23e9e..92b67e6cc3683c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStreamLoadStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStreamLoadStmt.java @@ -41,7 +41,7 @@ // // syntax: // SHOW STREAM LOAD [FROM db] [LIKE mask] -public class ShowStreamLoadStmt extends ShowStmt { +public class ShowStreamLoadStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowStreamLoadStmt.class); public enum StreamLoadState { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSyncJobStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSyncJobStmt.java index f0671f8afe0619..17a31fa1e16a6e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSyncJobStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowSyncJobStmt.java @@ -37,7 +37,7 @@ // // syntax: // SHOW SYNC JOB [FROM db] -public class ShowSyncJobStmt extends ShowStmt { +public class ShowSyncJobStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowSyncJobStmt.class); public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableCreationStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableCreationStmt.java index d6bd9d0ea647ca..500265d45c6526 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableCreationStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableCreationStmt.java @@ -32,7 +32,7 @@ * Syntax: * SHOW TABLE CREATION [FROM db] [LIKE mask] */ -public class ShowTableCreationStmt extends ShowStmt { +public class ShowTableCreationStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableIdStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableIdStmt.java index fc07f1c672219c..d5830489645750 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableIdStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableIdStmt.java @@ -29,7 +29,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // SHOW TABLE ID -public class ShowTableIdStmt extends ShowStmt { +public class ShowTableIdStmt extends ShowStmt implements NotFallbackInParser { private long tableId; public ShowTableIdStmt(long tableId) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatsStmt.java index 8ecf8d86b0985c..54c8f652e125fa 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatsStmt.java @@ -49,7 +49,7 @@ import java.util.Map; import java.util.Set; -public class ShowTableStatsStmt extends ShowStmt { +public class ShowTableStatsStmt extends ShowStmt implements NotFallbackInParser { private static final ImmutableList TABLE_TITLE_NAMES = new ImmutableList.Builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatusStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatusStmt.java index 20e8790826832b..296eb628da2df5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatusStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatusStmt.java @@ -34,7 +34,7 @@ import com.google.common.collect.Lists; // SHOW TABLE STATUS -public class ShowTableStatusStmt extends ShowStmt { +public class ShowTableStatusStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Name", ScalarType.createVarchar(64))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStmt.java index f3e12f1aa92e4d..92c5f34435f846 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStmt.java @@ -33,7 +33,7 @@ import org.apache.logging.log4j.Logger; // SHOW TABLES -public class ShowTableStmt extends ShowStmt { +public class ShowTableStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowTableStmt.class); private static final String NAME_COL_PREFIX = "Tables_in_"; private static final String TYPE_COL = "Table_type"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletStmt.java index 71ba4e2be13a84..646d6a806393af 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletStmt.java @@ -37,7 +37,7 @@ import java.util.ArrayList; import java.util.List; -public class ShowTabletStmt extends ShowStmt { +public class ShowTabletStmt extends ShowStmt implements NotFallbackInParser { private TableName dbTableName; private String dbName; private String tableName; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletStorageFormatStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletStorageFormatStmt.java index 9d0f3b88e6c3b2..cf76ee504ee6f0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletStorageFormatStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletStorageFormatStmt.java @@ -27,7 +27,7 @@ import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowTabletStorageFormatStmt extends ShowStmt { +public class ShowTabletStorageFormatStmt extends ShowStmt implements NotFallbackInParser { private boolean verbose; public ShowTabletStorageFormatStmt(boolean verbose) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletsBelongStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletsBelongStmt.java index 3819541fea9a72..81d9d6d50171f5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletsBelongStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTabletsBelongStmt.java @@ -36,7 +36,7 @@ * syntax: * SHOW TABLETS BELONG tablet_ids */ -public class ShowTabletsBelongStmt extends ShowStmt { +public class ShowTabletsBelongStmt extends ShowStmt implements NotFallbackInParser { private List tabletIds; private static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTransactionStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTransactionStmt.java index 3d5d03bdf8f768..cd7d2ca5b016fb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTransactionStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTransactionStmt.java @@ -37,7 +37,7 @@ // syntax: // SHOW TRANSACTION WHERE id=123 -public class ShowTransactionStmt extends ShowStmt { +public class ShowTransactionStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowTransactionStmt.class); private String dbName; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashDiskStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashDiskStmt.java index f5fad57d0f544e..7fb15eae6638c3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashDiskStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashDiskStmt.java @@ -32,7 +32,7 @@ import com.google.common.collect.ImmutableMap; -public class ShowTrashDiskStmt extends ShowStmt { +public class ShowTrashDiskStmt extends ShowStmt implements NotFallbackInParser { private Backend backend; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashStmt.java index 3071a657c53a4c..e8e301193bcd8c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTrashStmt.java @@ -34,7 +34,7 @@ import java.util.List; -public class ShowTrashStmt extends ShowStmt { +public class ShowTrashStmt extends ShowStmt implements NotFallbackInParser { private List backends = Lists.newArrayList(); public ShowTrashStmt() throws AnalysisException { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTriggersStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTriggersStmt.java index e903d2387ee075..de9cdf76816a22 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTriggersStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTriggersStmt.java @@ -21,7 +21,7 @@ import org.apache.doris.catalog.ScalarType; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowTriggersStmt extends ShowStmt { +public class ShowTriggersStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Trigger", ScalarType.createVarchar(64))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTypeCastStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTypeCastStmt.java index c88c39a03db25a..8ddf1a3d07f49c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTypeCastStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTypeCastStmt.java @@ -27,7 +27,7 @@ import com.google.common.base.Strings; -public class ShowTypeCastStmt extends ShowStmt { +public class ShowTypeCastStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Origin Type", ScalarType.createVarchar(32))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowUserPropertyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowUserPropertyStmt.java index 7521e7497bcb15..76a9b9a9b4fa51 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowUserPropertyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowUserPropertyStmt.java @@ -46,7 +46,7 @@ // Show Property Stmt // syntax: // SHOW [ALL] PROPERTY [FOR user] [LIKE key pattern] -public class ShowUserPropertyStmt extends ShowStmt { +public class ShowUserPropertyStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowUserPropertyStmt.class); private String user; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java index efe36311ca1a3e..f398f021dc2c69 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java @@ -28,7 +28,7 @@ import org.apache.logging.log4j.Logger; // Show variables statement. -public class ShowVariablesStmt extends ShowStmt { +public class ShowVariablesStmt extends ShowStmt implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(ShowVariablesStmt.class); private static final String NAME_COL = "Variable_name"; private static final String VALUE_COL = "Value"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowViewStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowViewStmt.java index 67c77664cccdab..f8cf26ed1bd14b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowViewStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowViewStmt.java @@ -43,7 +43,7 @@ // // Syntax: // SHOW VIEW { FROM | IN } table [ FROM db ] -public class ShowViewStmt extends ShowStmt { +public class ShowViewStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("View", ScalarType.createVarchar(30))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWarningStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWarningStmt.java index 7de4525ac2d007..3018e9e56fd8cf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWarningStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWarningStmt.java @@ -22,7 +22,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; // Show Warning stmt -public class ShowWarningStmt extends ShowStmt { +public class ShowWarningStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Level", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWhiteListStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWhiteListStmt.java index 43609d235cf8a8..42682a5780856b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWhiteListStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWhiteListStmt.java @@ -21,7 +21,7 @@ import org.apache.doris.catalog.ScalarType; import org.apache.doris.qe.ShowResultSetMetaData; -public class ShowWhiteListStmt extends ShowStmt { +public class ShowWhiteListStmt extends ShowStmt implements NotFallbackInParser { private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("user_name", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWorkloadGroupsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWorkloadGroupsStmt.java index c802411be81913..bb097e25a7fa77 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWorkloadGroupsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowWorkloadGroupsStmt.java @@ -25,7 +25,7 @@ import org.apache.doris.qe.ShowResultSetMetaData; import org.apache.doris.resource.workloadgroup.WorkloadGroupMgr; -public class ShowWorkloadGroupsStmt extends ShowStmt { +public class ShowWorkloadGroupsStmt extends ShowStmt implements NotFallbackInParser { private String pattern; // TODO: not supported yet diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TransactionStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TransactionStmt.java index 60c8d040f7281d..a1ad0ed2ed7a74 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TransactionStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TransactionStmt.java @@ -20,7 +20,7 @@ import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; -public class TransactionStmt extends StatementBase { +public class TransactionStmt extends StatementBase implements NotFallbackInParser { @Override public RedirectStatus getRedirectStatus() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/analysis/UseCloudClusterStmt.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/analysis/UseCloudClusterStmt.java index de7fdf213a565f..40bd2dbebc6be4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/analysis/UseCloudClusterStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/analysis/UseCloudClusterStmt.java @@ -18,6 +18,7 @@ package org.apache.doris.cloud.analysis; import org.apache.doris.analysis.Analyzer; +import org.apache.doris.analysis.NotFallbackInParser; import org.apache.doris.analysis.RedirectStatus; import org.apache.doris.analysis.ResourceTypeEnum; import org.apache.doris.analysis.StatementBase; @@ -39,7 +40,7 @@ /** * Representation of a use cluster statement. */ -public class UseCloudClusterStmt extends StatementBase { +public class UseCloudClusterStmt extends StatementBase implements NotFallbackInParser { private static final Logger LOG = LogManager.getLogger(UseCloudClusterStmt.class); private String cluster; private String database; From f363031409a2857a0dafc11f1e62e717e9cbafa0 Mon Sep 17 00:00:00 2001 From: airborne12 Date: Tue, 3 Sep 2024 19:09:22 +0800 Subject: [PATCH 016/199] [test](inverted index) fix case for index_compaction (#40313) ## Proposed changes Fix unstable case of index compaction. --- .../index_compaction/test_index_compaction_null.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy index f882cda1522004..5bf1ec1773b559 100644 --- a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy +++ b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy @@ -120,6 +120,7 @@ suite("test_index_compaction_null", "nonConcurrent") { } def run_sql = { -> + sql """ set enable_common_expr_pushdown=true """ // select all data qt_select_0 "SELECT * FROM ${tableName} ORDER BY id" From ac4e1a29d17af3e0dfbdcbd8d9a0b509c84b5977 Mon Sep 17 00:00:00 2001 From: lihangyu <15605149486@163.com> Date: Tue, 3 Sep 2024 19:28:23 +0800 Subject: [PATCH 017/199] [ut](data type) fix get_common_type_test (#40317) --- be/src/vec/data_types/get_least_supertype.cpp | 9 +++++++++ be/test/vec/core/get_common_type_test.cpp | 12 +++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/be/src/vec/data_types/get_least_supertype.cpp b/be/src/vec/data_types/get_least_supertype.cpp index 7d8b3ddbe507c9..82bea452923ed5 100644 --- a/be/src/vec/data_types/get_least_supertype.cpp +++ b/be/src/vec/data_types/get_least_supertype.cpp @@ -41,6 +41,7 @@ #include "vec/data_types/data_type_number.h" #include "vec/data_types/data_type_object.h" #include "vec/data_types/data_type_string.h" +#include "vec/data_types/data_type_time_v2.h" namespace doris::vectorized { @@ -284,6 +285,14 @@ void get_least_supertype_jsonb(const TypeIndexSet& types, DataTypePtr* type) { *type = std::make_shared(); return; } + if (which.is_date_v2()) { + *type = std::make_shared(); + return; + } + if (which.is_date_time_v2()) { + *type = std::make_shared(); + return; + } *type = std::make_shared(); return; } diff --git a/be/test/vec/core/get_common_type_test.cpp b/be/test/vec/core/get_common_type_test.cpp index c8c60a3776cd2d..86b7299176dba0 100644 --- a/be/test/vec/core/get_common_type_test.cpp +++ b/be/test/vec/core/get_common_type_test.cpp @@ -22,6 +22,7 @@ #include "gtest/gtest_pred_impl.h" #include "vec/data_types/data_type.h" +#include "vec/data_types/data_type_jsonb.h" #include "vec/data_types/data_type_nothing.h" #include "vec/data_types/data_type_number.h" #include "vec/data_types/data_type_string.h" @@ -67,6 +68,8 @@ static DataTypePtr typeFromString(const std::string& str) { return std::make_shared(); } else if (str == "String") { return std::make_shared(); + } else if (str == "Jsonb") { + return std::make_shared(); } return nullptr; } @@ -141,12 +144,7 @@ INSTANTIATE_TEST_SUITE_P(data_type, LeastSuperTypeTest, {"Int8 Int32 Int64", "Int64"}, {"UInt8 UInt32 Int64", "Int64"}, {"Float32 Float64", "Float64"}, + {"Date Date", "Date"}, {"Float32 UInt16 Int32", "Float64"}, {"Float32 Int16 UInt32", "Float64"}, - {"Date Date", "Date"}, - {"DateTime DateTime", "DateTime"}, - {"String String String", "String"}, - {"Int8 String", nullptr}, - {"Int64 UInt64", nullptr}, - {"Float32 UInt64", nullptr}, - {"Float64 Int64", nullptr}})); + {"String String String", "String"}})); From 65cf3950191d93d509a8ccb655e9931722691158 Mon Sep 17 00:00:00 2001 From: zclllhhjj Date: Tue, 3 Sep 2024 19:48:52 +0800 Subject: [PATCH 018/199] [chore](errmsg) Daemon thread interruption should be info log (#40297) ## Proposed changes Issue Number: close #xxx --- .../src/main/java/org/apache/doris/common/util/Daemon.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/util/Daemon.java b/fe/fe-core/src/main/java/org/apache/doris/common/util/Daemon.java index 472285b476497f..16ac3259318f60 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/util/Daemon.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/Daemon.java @@ -121,7 +121,7 @@ public void run() { try { Thread.sleep(intervalMs); } catch (InterruptedException e) { - LOG.error("InterruptedException: ", e); + LOG.info("InterruptedException: ", e); } } From fb612c3be36c13a8aa24b135d608fb7c9135e868 Mon Sep 17 00:00:00 2001 From: zclllhhjj Date: Tue, 3 Sep 2024 19:49:09 +0800 Subject: [PATCH 019/199] [Fix](testcase) Split auto and dynamic partition into individual case (#40307) ## Proposed changes Issue Number: close #xxx `admin set frontend config ('dynamic_partition_check_interval_seconds' = '1')` will effect the results --- .../auto_partition/test_auto_dynamic.out | 6 + .../test_auto_partition_behavior.out | 5 - .../auto_partition/test_auto_dynamic.groovy | 130 ++++++++++++++++++ .../test_auto_partition_behavior.groovy | 111 --------------- 4 files changed, 136 insertions(+), 116 deletions(-) create mode 100644 regression-test/data/partition_p0/auto_partition/test_auto_dynamic.out create mode 100644 regression-test/suites/partition_p0/auto_partition/test_auto_dynamic.groovy diff --git a/regression-test/data/partition_p0/auto_partition/test_auto_dynamic.out b/regression-test/data/partition_p0/auto_partition/test_auto_dynamic.out new file mode 100644 index 00000000000000..0b588c49759ad4 --- /dev/null +++ b/regression-test/data/partition_p0/auto_partition/test_auto_dynamic.out @@ -0,0 +1,6 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !sql_dynamic_auto -- +2024-01-01T00:00 +2900-01-01T00:00 +3000-01-01T00:00 + diff --git a/regression-test/data/partition_p0/auto_partition/test_auto_partition_behavior.out b/regression-test/data/partition_p0/auto_partition/test_auto_partition_behavior.out index 27d77c500f2864..133a86cddab91d 100644 --- a/regression-test/data/partition_p0/auto_partition/test_auto_partition_behavior.out +++ b/regression-test/data/partition_p0/auto_partition/test_auto_partition_behavior.out @@ -114,8 +114,3 @@ Xxx -- !sql_non_order3 -- 3 2013-12-12T00:00 --- !sql_dynamic_auto -- -2024-01-01T00:00 -2900-01-01T00:00 -3000-01-01T00:00 - diff --git a/regression-test/suites/partition_p0/auto_partition/test_auto_dynamic.groovy b/regression-test/suites/partition_p0/auto_partition/test_auto_dynamic.groovy new file mode 100644 index 00000000000000..c5fa8a736dbf74 --- /dev/null +++ b/regression-test/suites/partition_p0/auto_partition/test_auto_dynamic.groovy @@ -0,0 +1,130 @@ + + +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_auto_dynamic", "nonConcurrent") { + // PROHIBIT different timeunit of interval when use both auto & dynamic partition + test{ + sql """ + CREATE TABLE tbl3 + ( + k1 DATETIME NOT NULL, + col1 int + ) + auto partition by range (date_trunc(`k1`, 'year')) () + DISTRIBUTED BY HASH(k1) + PROPERTIES + ( + "replication_num" = "1", + "dynamic_partition.create_history_partition"="true", + "dynamic_partition.enable" = "true", + "dynamic_partition.time_unit" = "HOUR", + "dynamic_partition.start" = "-2", + "dynamic_partition.end" = "2", + "dynamic_partition.prefix" = "p", + "dynamic_partition.buckets" = "8" + ); + """ + exception "If support auto partition and dynamic partition at same time, they must have the same interval unit." + } + + sql " drop table if exists test_dynamic " + sql """ + create table test_dynamic( + k0 DATE not null + ) + auto partition by range (date_trunc(k0, 'year')) () + DISTRIBUTED BY HASH(`k0`) BUCKETS auto + properties("replication_num" = "1"); + """ + test { + sql """ + ALTER TABLE test_dynamic set ( + "dynamic_partition.enable" = "true", + "dynamic_partition.time_unit" = "DAY", + "dynamic_partition.end" = "3", + "dynamic_partition.prefix" = "p", + "dynamic_partition.buckets" = "32" + ); + """ + exception "If support auto partition and dynamic partition at same time, they must have the same interval unit." + } + sql """ + ALTER TABLE test_dynamic set ( + "dynamic_partition.enable" = "true", + "dynamic_partition.time_unit" = "YeAr", + "dynamic_partition.end" = "3", + "dynamic_partition.prefix" = "p", + "dynamic_partition.buckets" = "32" + ); + """ + + sql " drop table if exists auto_dynamic " + sql """ + create table auto_dynamic( + k0 datetime(6) NOT NULL + ) + auto partition by range (date_trunc(k0, 'hour')) + ( + ) + DISTRIBUTED BY HASH(`k0`) BUCKETS 2 + properties( + "dynamic_partition.enable" = "true", + "dynamic_partition.prefix" = "p", + "dynamic_partition.create_history_partition" = "true", + "dynamic_partition.start" = "-5", + "dynamic_partition.end" = "0", + "dynamic_partition.time_unit" = "hour", + "replication_num" = "1" + ); + """ + def part_result = sql " show partitions from auto_dynamic " + assertEquals(part_result.size, 6) + + sql " drop table if exists auto_dynamic " + sql """ + create table auto_dynamic( + k0 datetime(6) NOT NULL + ) + auto partition by range (date_trunc(k0, 'year')) + ( + ) + DISTRIBUTED BY HASH(`k0`) BUCKETS 2 + properties( + "dynamic_partition.enable" = "true", + "dynamic_partition.prefix" = "p", + "dynamic_partition.start" = "-50", + "dynamic_partition.end" = "0", + "dynamic_partition.time_unit" = "year", + "replication_num" = "1" + ); + """ + part_result = sql " show partitions from auto_dynamic " + assertEquals(part_result.size, 1) + + sql " insert into auto_dynamic values ('2024-01-01'), ('2900-01-01'), ('1900-01-01'), ('3000-01-01'); " + sql """ admin set frontend config ('dynamic_partition_check_interval_seconds' = '1') """ + sleep(2000) + part_result = sql " show partitions from auto_dynamic " + log.info("${part_result}".toString()) + assertEquals(part_result.size, 3) + + qt_sql_dynamic_auto "select * from auto_dynamic order by k0;" + + sql """ admin set frontend config ('dynamic_partition_check_interval_seconds' = '600') """ +} \ No newline at end of file diff --git a/regression-test/suites/partition_p0/auto_partition/test_auto_partition_behavior.groovy b/regression-test/suites/partition_p0/auto_partition/test_auto_partition_behavior.groovy index e5ce52af31e395..01fdfd4d634261 100644 --- a/regression-test/suites/partition_p0/auto_partition/test_auto_partition_behavior.groovy +++ b/regression-test/suites/partition_p0/auto_partition/test_auto_partition_behavior.groovy @@ -217,117 +217,6 @@ suite("test_auto_partition_behavior") { - // dynamic + auto partition - sql """ admin set frontend config ('dynamic_partition_check_interval_seconds' = '1') """ - // PROHIBIT different timeunit of interval when use both auto & dynamic partition - test{ - sql """ - CREATE TABLE tbl3 - ( - k1 DATETIME NOT NULL, - col1 int - ) - auto partition by range (date_trunc(`k1`, 'year')) () - DISTRIBUTED BY HASH(k1) - PROPERTIES - ( - "replication_num" = "1", - "dynamic_partition.create_history_partition"="true", - "dynamic_partition.enable" = "true", - "dynamic_partition.time_unit" = "HOUR", - "dynamic_partition.start" = "-2", - "dynamic_partition.end" = "2", - "dynamic_partition.prefix" = "p", - "dynamic_partition.buckets" = "8" - ); - """ - exception "If support auto partition and dynamic partition at same time, they must have the same interval unit." - } - - sql " drop table if exists test_dynamic " - sql """ - create table test_dynamic( - k0 DATE not null - ) - auto partition by range (date_trunc(k0, 'year')) () - DISTRIBUTED BY HASH(`k0`) BUCKETS auto - properties("replication_num" = "1"); - """ - test { - sql """ - ALTER TABLE test_dynamic set ( - "dynamic_partition.enable" = "true", - "dynamic_partition.time_unit" = "DAY", - "dynamic_partition.end" = "3", - "dynamic_partition.prefix" = "p", - "dynamic_partition.buckets" = "32" - ); - """ - exception "If support auto partition and dynamic partition at same time, they must have the same interval unit." - } - sql """ - ALTER TABLE test_dynamic set ( - "dynamic_partition.enable" = "true", - "dynamic_partition.time_unit" = "YeAr", - "dynamic_partition.end" = "3", - "dynamic_partition.prefix" = "p", - "dynamic_partition.buckets" = "32" - ); - """ - - sql " drop table if exists auto_dynamic " - sql """ - create table auto_dynamic( - k0 datetime(6) NOT NULL - ) - auto partition by range (date_trunc(k0, 'hour')) - ( - ) - DISTRIBUTED BY HASH(`k0`) BUCKETS 2 - properties( - "dynamic_partition.enable" = "true", - "dynamic_partition.prefix" = "p", - "dynamic_partition.create_history_partition" = "true", - "dynamic_partition.start" = "-5", - "dynamic_partition.end" = "0", - "dynamic_partition.time_unit" = "hour", - "replication_num" = "1" - ); - """ - def part_result = sql " show partitions from auto_dynamic " - assertEquals(part_result.size, 6) - - sql " drop table if exists auto_dynamic " - sql """ - create table auto_dynamic( - k0 datetime(6) NOT NULL - ) - auto partition by range (date_trunc(k0, 'year')) - ( - ) - DISTRIBUTED BY HASH(`k0`) BUCKETS 2 - properties( - "dynamic_partition.enable" = "true", - "dynamic_partition.prefix" = "p", - "dynamic_partition.start" = "-50", - "dynamic_partition.end" = "0", - "dynamic_partition.time_unit" = "year", - "replication_num" = "1" - ); - """ - part_result = sql " show partitions from auto_dynamic " - assertEquals(part_result.size, 1) - sql " insert into auto_dynamic values ('2024-01-01'), ('2900-01-01'), ('1900-01-01'), ('3000-01-01'); " - sleep(3000) - part_result = sql " show partitions from auto_dynamic " - log.info("${part_result}".toString()) - assertEquals(part_result.size, 3) - qt_sql_dynamic_auto "select * from auto_dynamic order by k0;" - sql """ admin set frontend config ('dynamic_partition_check_interval_seconds' = '600') """ - - - - // prohibit too long value for partition column sql "drop table if exists `long_value`" sql """ From 5e93a71f5ff3802f099e13d32885e6e359b91dc1 Mon Sep 17 00:00:00 2001 From: airborne12 Date: Tue, 3 Sep 2024 19:57:38 +0800 Subject: [PATCH 020/199] [Fix](inverted index) fix profile metrics for inverted index after refactor (#40324) ## Proposed changes Make profile metrics right after #38908 --- .../rowset/segment_v2/segment_iterator.cpp | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index dc2ec52d12bb1b..cff2e78c0d60cf 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -503,35 +503,41 @@ Status SegmentIterator::_get_row_ranges_by_column_conditions() { } RETURN_IF_ERROR(_apply_bitmap_index()); - RETURN_IF_ERROR(_apply_inverted_index()); - RETURN_IF_ERROR(_apply_index_expr()); - size_t input_rows = _row_bitmap.cardinality(); - for (auto it = _common_expr_ctxs_push_down.begin(); it != _common_expr_ctxs_push_down.end();) { - if ((*it)->all_expr_inverted_index_evaluated()) { - const auto* result = - (*it)->get_inverted_index_context()->get_inverted_index_result_for_expr( - (*it)->root().get()); - if (result != nullptr) { - _row_bitmap &= *result->get_data_bitmap(); - auto root = (*it)->root(); - auto iter_find = std::find(_remaining_conjunct_roots.begin(), - _remaining_conjunct_roots.end(), root); - if (iter_find != _remaining_conjunct_roots.end()) { - _remaining_conjunct_roots.erase(iter_find); + { + if (_opts.runtime_state && + _opts.runtime_state->query_options().enable_inverted_index_query) { + SCOPED_RAW_TIMER(&_opts.stats->inverted_index_filter_timer); + size_t input_rows = _row_bitmap.cardinality(); + RETURN_IF_ERROR(_apply_inverted_index()); + RETURN_IF_ERROR(_apply_index_expr()); + for (auto it = _common_expr_ctxs_push_down.begin(); + it != _common_expr_ctxs_push_down.end();) { + if ((*it)->all_expr_inverted_index_evaluated()) { + const auto* result = + (*it)->get_inverted_index_context()->get_inverted_index_result_for_expr( + (*it)->root().get()); + if (result != nullptr) { + _row_bitmap &= *result->get_data_bitmap(); + auto root = (*it)->root(); + auto iter_find = std::find(_remaining_conjunct_roots.begin(), + _remaining_conjunct_roots.end(), root); + if (iter_find != _remaining_conjunct_roots.end()) { + _remaining_conjunct_roots.erase(iter_find); + } + it = _common_expr_ctxs_push_down.erase(it); + } + } else { + ++it; } - it = _common_expr_ctxs_push_down.erase(it); } - } else { - ++it; - } - } - - _opts.stats->rows_inverted_index_filtered += (input_rows - _row_bitmap.cardinality()); - for (auto cid : _schema->column_ids()) { - bool result_true = _check_all_conditions_passed_inverted_index_for_column(cid); + _opts.stats->rows_inverted_index_filtered += (input_rows - _row_bitmap.cardinality()); + for (auto cid : _schema->column_ids()) { + bool result_true = _check_all_conditions_passed_inverted_index_for_column(cid); - if (result_true) { - _need_read_data_indices[cid] = false; + if (result_true) { + _need_read_data_indices[cid] = false; + } + } } } if (!_row_bitmap.isEmpty() && @@ -968,11 +974,6 @@ bool SegmentIterator::_is_target_expr_match_predicate(const vectorized::VExprSPt } Status SegmentIterator::_apply_inverted_index() { - SCOPED_RAW_TIMER(&_opts.stats->inverted_index_filter_timer); - if (_opts.runtime_state && !_opts.runtime_state->query_options().enable_inverted_index_query) { - return Status::OK(); - } - size_t input_rows = _row_bitmap.cardinality(); std::vector remaining_predicates; std::set no_need_to_pass_column_predicate_set; @@ -990,7 +991,6 @@ Status SegmentIterator::_apply_inverted_index() { } _col_predicates = std::move(remaining_predicates); - _opts.stats->rows_inverted_index_filtered += (input_rows - _row_bitmap.cardinality()); return Status::OK(); } From d0654cd2930859877fcbafce0b7894e2f02ce335 Mon Sep 17 00:00:00 2001 From: LiBinfeng <46676950+LiBinfeng-01@users.noreply.github.com> Date: Tue, 3 Sep 2024 21:54:26 +0800 Subject: [PATCH 021/199] [Feat](Nereids) add use mv hint (#40167) support hint like: /*+ no_use_mv(tablename mvname) / which forbid tablename(indexname) to be choose or /+ use_mv(tablename mvname) */ which choose specific materialize view --- .../org/apache/doris/catalog/OlapTable.java | 95 ++++++++++++ .../apache/doris/nereids/hint/UseMvHint.java | 144 ++++++++++++++++++ .../nereids/parser/LogicalPlanBuilder.java | 35 ++++- .../pre/PullUpSubqueryAliasToCTE.java | 2 +- .../nereids/properties/SelectHintUseMv.java | 53 +++++++ .../analysis/EliminateLogicalSelectHint.java | 44 ++++-- .../AbstractSelectMaterializedIndexRule.java | 2 +- .../plans/logical/LogicalSelectHint.java | 30 ++-- .../joinhint/DistributeHintTest.java | 9 +- .../suites/nereids_p0/hint/test_use_mv.groovy | 111 ++++++++++++++ 10 files changed, 490 insertions(+), 35 deletions(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/hint/UseMvHint.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/properties/SelectHintUseMv.java create mode 100644 regression-test/suites/nereids_p0/hint/test_use_mv.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java index 01f0bb900eac24..533c24daa0e7bc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java @@ -54,6 +54,8 @@ import org.apache.doris.mtmv.MTMVRelatedTableIf; import org.apache.doris.mtmv.MTMVSnapshotIf; import org.apache.doris.mtmv.MTMVVersionSnapshot; +import org.apache.doris.nereids.hint.Hint; +import org.apache.doris.nereids.hint.UseMvHint; import org.apache.doris.persist.gson.GsonPostProcessable; import org.apache.doris.persist.gson.GsonUtils; import org.apache.doris.qe.ConnectContext; @@ -565,6 +567,99 @@ public Map getVisibleIndexIdToMeta() { return visibleMVs; } + public Long getBestMvIdWithHint(List orderedMvs) { + Optional useMvHint = getUseMvHint("USE_MV"); + Optional noUseMvHint = getUseMvHint("NO_USE_MV"); + if (useMvHint.isPresent() && noUseMvHint.isPresent()) { + if (noUseMvHint.get().getNoUseMVName(this.name).contains(useMvHint.get().getUseMvName(this.name))) { + String errorMsg = "conflict mv exist in use_mv and no_use_mv in the same time" + + useMvHint.get().getUseMvName(this.name); + useMvHint.get().setStatus(Hint.HintStatus.SYNTAX_ERROR); + useMvHint.get().setErrorMessage(errorMsg); + noUseMvHint.get().setStatus(Hint.HintStatus.SYNTAX_ERROR); + noUseMvHint.get().setErrorMessage(errorMsg); + } + return getMvIdWithUseMvHint(useMvHint.get(), orderedMvs); + } else if (useMvHint.isPresent()) { + return getMvIdWithUseMvHint(useMvHint.get(), orderedMvs); + } else if (noUseMvHint.isPresent()) { + return getMvIdWithNoUseMvHint(noUseMvHint.get(), orderedMvs); + } + return orderedMvs.get(0); + } + + private Long getMvIdWithUseMvHint(UseMvHint useMvHint, List orderedMvs) { + if (useMvHint.isAllMv()) { + useMvHint.setStatus(Hint.HintStatus.SYNTAX_ERROR); + useMvHint.setErrorMessage("use_mv hint should only have one mv in one table: " + + this.name); + return orderedMvs.get(0); + } else { + String mvName = useMvHint.getUseMvName(this.name); + if (mvName != null) { + if (mvName.equals("`*`")) { + useMvHint.setStatus(Hint.HintStatus.SYNTAX_ERROR); + useMvHint.setErrorMessage("use_mv hint should only have one mv in one table: " + + this.name); + return orderedMvs.get(0); + } + Long choosedIndexId = indexNameToId.get(mvName); + if (orderedMvs.contains(choosedIndexId)) { + useMvHint.setStatus(Hint.HintStatus.SUCCESS); + return choosedIndexId; + } else { + useMvHint.setStatus(Hint.HintStatus.SYNTAX_ERROR); + useMvHint.setErrorMessage("do not have mv: " + mvName + " in table: " + this.name); + } + } + } + return orderedMvs.get(0); + } + + private Long getMvIdWithNoUseMvHint(UseMvHint noUseMvHint, List orderedMvs) { + if (noUseMvHint.isAllMv()) { + noUseMvHint.setStatus(Hint.HintStatus.SUCCESS); + return getBaseIndex().getId(); + } else { + List mvNames = noUseMvHint.getNoUseMVName(this.name); + Set forbiddenIndexIds = Sets.newHashSet(); + for (int i = 0; i < mvNames.size(); i++) { + if (mvNames.get(i).equals("`*`")) { + noUseMvHint.setStatus(Hint.HintStatus.SUCCESS); + return getBaseIndex().getId(); + } + if (hasMaterializedIndex(mvNames.get(i))) { + Long forbiddenIndexId = indexNameToId.get(mvNames.get(i)); + forbiddenIndexIds.add(forbiddenIndexId); + } else { + noUseMvHint.setStatus(Hint.HintStatus.SYNTAX_ERROR); + noUseMvHint.setErrorMessage("do not have mv: " + mvNames.get(i) + " in table: " + this.name); + break; + } + } + for (int i = 0; i < orderedMvs.size(); i++) { + if (forbiddenIndexIds.contains(orderedMvs.get(i))) { + noUseMvHint.setStatus(Hint.HintStatus.SUCCESS); + } else { + return orderedMvs.get(i); + } + } + } + return orderedMvs.get(0); + } + + private Optional getUseMvHint(String useMvName) { + for (Hint hint : ConnectContext.get().getStatementContext().getHints()) { + if (hint.isSyntaxError()) { + continue; + } + if (hint.getHintName().equalsIgnoreCase(useMvName)) { + return Optional.of((UseMvHint) hint); + } + } + return Optional.empty(); + } + public List getVisibleIndex() { Optional partition = idToPartition.values().stream().findFirst(); if (!partition.isPresent()) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/hint/UseMvHint.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/hint/UseMvHint.java new file mode 100644 index 00000000000000..5e37bdc27603bc --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/hint/UseMvHint.java @@ -0,0 +1,144 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.hint; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * rule hint. + */ +public class UseMvHint extends Hint { + + private final boolean isUseMv; + + private final boolean isAllMv; + + private final List parameters; + + private final Map useMvTableColumnMap; + + private final Map> noUseMvTableColumnMap; + + /** + * constructor of use mv hint + * @param hintName use mv + * @param parameters original parameters + * @param isUseMv use_mv hint or no_use_mv hint + * @param isAllMv should all mv be controlled + */ + public UseMvHint(String hintName, List parameters, boolean isUseMv, boolean isAllMv) { + super(hintName); + this.isUseMv = isUseMv; + this.isAllMv = isAllMv; + this.parameters = parameters; + this.useMvTableColumnMap = initUseMvTableColumnMap(parameters); + this.noUseMvTableColumnMap = initNoUseMvTableColumnMap(parameters); + } + + private Map initUseMvTableColumnMap(List parameters) { + Map tempUseMvTableColumnMap = new HashMap<>(); + if (!isUseMv) { + return tempUseMvTableColumnMap; + } + if (parameters.size() % 2 == 1) { + this.setStatus(HintStatus.SYNTAX_ERROR); + this.setErrorMessage("parameter of use_mv hint must be in pairs"); + return tempUseMvTableColumnMap; + } + for (int i = 0; i < parameters.size(); i += 2) { + String tableName = parameters.get(i); + String columnName = parameters.get(i + 1); + if (tempUseMvTableColumnMap.containsKey(tableName)) { + this.setStatus(HintStatus.SYNTAX_ERROR); + this.setErrorMessage("use_mv hint should only have one mv in one table: " + + tableName + "." + columnName); + break; + } + tempUseMvTableColumnMap.put(tableName, columnName); + } + return tempUseMvTableColumnMap; + } + + private Map> initNoUseMvTableColumnMap(List parameters) { + Map> tempNoUseMvTableColumnMap = new HashMap<>(); + if (isUseMv) { + return tempNoUseMvTableColumnMap; + } + if (parameters.size() % 2 == 1) { + this.setStatus(HintStatus.SYNTAX_ERROR); + this.setErrorMessage("parameter of no_use_mv hint must be in pairs"); + return tempNoUseMvTableColumnMap; + } + for (int i = 0; i < parameters.size(); i += 2) { + String tableName = parameters.get(i); + String columnName = parameters.get(i + 1); + if (tempNoUseMvTableColumnMap.containsKey(tableName)) { + tempNoUseMvTableColumnMap.get(tableName).add(columnName); + } else { + List list = new ArrayList<>(); + list.add(columnName); + tempNoUseMvTableColumnMap.put(tableName, list); + } + } + return tempNoUseMvTableColumnMap; + } + + public boolean isUseMv() { + return isUseMv; + } + + public boolean isAllMv() { + return isAllMv; + } + + public String getUseMvName(String tableName) { + return useMvTableColumnMap.get(tableName); + } + + public List getNoUseMVName(String tableName) { + return noUseMvTableColumnMap.get(tableName); + } + + @Override + public String getExplainString() { + StringBuilder out = new StringBuilder(); + if (isUseMv) { + out.append("use_mv"); + } else { + out.append("no_use_mv"); + } + if (!parameters.isEmpty()) { + out.append("("); + for (int i = 0; i < parameters.size(); i++) { + if (i % 2 == 0) { + out.append(parameters.get(i)); + } else { + out.append("."); + out.append(parameters.get(i)); + out.append(" "); + } + } + out.append(")"); + } + + return out.toString(); + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java index 7369b714f7439c..324ab808226930 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java @@ -232,6 +232,7 @@ import org.apache.doris.nereids.properties.SelectHintOrdered; import org.apache.doris.nereids.properties.SelectHintSetVar; import org.apache.doris.nereids.properties.SelectHintUseCboRule; +import org.apache.doris.nereids.properties.SelectHintUseMv; import org.apache.doris.nereids.trees.TableSample; import org.apache.doris.nereids.trees.expressions.Add; import org.apache.doris.nereids.trees.expressions.And; @@ -3165,7 +3166,7 @@ private LogicalPlan withSelectHint(LogicalPlan logicalPlan, List hints = Maps.newLinkedHashMap(); + ImmutableList.Builder hints = ImmutableList.builder(); for (ParserRuleContext hintContext : hintContexts) { SelectHintContext selectHintContext = (SelectHintContext) hintContext; for (HintStatementContext hintStatement : selectHintContext.hintStatements) { @@ -3187,7 +3188,7 @@ private LogicalPlan withSelectHint(LogicalPlan logicalPlan, List leadingParameters = new ArrayList<>(); @@ -3197,10 +3198,10 @@ private LogicalPlan withSelectHint(LogicalPlan logicalPlan, List useRuleParameters = new ArrayList<>(); @@ -3210,7 +3211,7 @@ private LogicalPlan withSelectHint(LogicalPlan logicalPlan, List noUseRuleParameters = new ArrayList<>(); @@ -3220,14 +3221,34 @@ private LogicalPlan withSelectHint(LogicalPlan logicalPlan, List useIndexParameters = new ArrayList(); + for (HintAssignmentContext kv : hintStatement.parameters) { + String parameterName = visitIdentifierOrText(kv.key); + if (kv.key != null) { + useIndexParameters.add(parameterName); + } + } + hints.add(new SelectHintUseMv(hintName, useIndexParameters, true)); + break; + case "no_use_mv": + List noUseIndexParameters = new ArrayList(); + for (HintAssignmentContext kv : hintStatement.parameters) { + String parameterName = visitIdentifierOrText(kv.key); + if (kv.key != null) { + noUseIndexParameters.add(parameterName); + } + } + hints.add(new SelectHintUseMv(hintName, noUseIndexParameters, false)); break; default: break; } } } - return new LogicalSelectHint<>(hints, logicalPlan); + return new LogicalSelectHint<>(hints.build(), logicalPlan); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/pre/PullUpSubqueryAliasToCTE.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/pre/PullUpSubqueryAliasToCTE.java index 8e8889f5e62df2..31a205d5ed5054 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/pre/PullUpSubqueryAliasToCTE.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/pre/PullUpSubqueryAliasToCTE.java @@ -59,7 +59,7 @@ public Plan visitUnboundResultSink(UnboundResultSink unboundResu public Plan visitLogicalSubQueryAlias(LogicalSubQueryAlias alias, StatementContext context) { if (alias.child() instanceof LogicalSelectHint - && ((LogicalSelectHint) alias.child()).isIncludeLeading()) { + && ((LogicalSelectHint) alias.child()).isIncludeHint("Leading")) { aliasQueries.add((LogicalSubQueryAlias) alias); List tableName = new ArrayList<>(); tableName.add(alias.getAlias()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/SelectHintUseMv.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/SelectHintUseMv.java new file mode 100644 index 00000000000000..35ce25fb4f47c6 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/SelectHintUseMv.java @@ -0,0 +1,53 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.properties; + +import java.util.List; + +/** + * select hint UseMv. + */ +public class SelectHintUseMv extends SelectHint { + private final List parameters; + + private final boolean isUseMv; + + public SelectHintUseMv(String hintName, List parameters, boolean isUseMv) { + super(hintName); + this.parameters = parameters; + this.isUseMv = isUseMv; + } + + public List getParameters() { + return parameters; + } + + public boolean isUseMv() { + return isUseMv; + } + + @Override + public String getHintName() { + return super.getHintName(); + } + + @Override + public String toString() { + return super.getHintName(); + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/EliminateLogicalSelectHint.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/EliminateLogicalSelectHint.java index ea2c9994606502..ebff9f838a447e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/EliminateLogicalSelectHint.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/EliminateLogicalSelectHint.java @@ -27,10 +27,12 @@ import org.apache.doris.nereids.hint.LeadingHint; import org.apache.doris.nereids.hint.OrderedHint; import org.apache.doris.nereids.hint.UseCboRuleHint; +import org.apache.doris.nereids.hint.UseMvHint; import org.apache.doris.nereids.properties.SelectHint; import org.apache.doris.nereids.properties.SelectHintLeading; import org.apache.doris.nereids.properties.SelectHintSetVar; import org.apache.doris.nereids.properties.SelectHintUseCboRule; +import org.apache.doris.nereids.properties.SelectHintUseMv; import org.apache.doris.nereids.rules.Rule; import org.apache.doris.nereids.rules.RuleType; import org.apache.doris.nereids.rules.rewrite.OneRewriteRuleFactory; @@ -43,7 +45,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Map; import java.util.Map.Entry; import java.util.Optional; @@ -57,10 +58,10 @@ public class EliminateLogicalSelectHint extends OneRewriteRuleFactory { public Rule build() { return logicalSelectHint().thenApply(ctx -> { LogicalSelectHint selectHintPlan = ctx.root; - for (Entry hint : selectHintPlan.getHints().entrySet()) { - String hintName = hint.getKey(); + for (SelectHint hint : selectHintPlan.getHints()) { + String hintName = hint.getHintName(); if (hintName.equalsIgnoreCase("SET_VAR")) { - setVar((SelectHintSetVar) hint.getValue(), ctx.statementContext); + setVar((SelectHintSetVar) hint, ctx.statementContext); } else if (hintName.equalsIgnoreCase("ORDERED")) { try { ctx.cascadesContext.getConnectContext().getSessionVariable() @@ -73,12 +74,16 @@ public Rule build() { ctx.cascadesContext.getHintMap().put("Ordered", ordered); ctx.statementContext.addHint(ordered); } else if (hintName.equalsIgnoreCase("LEADING")) { - extractLeading((SelectHintLeading) hint.getValue(), ctx.cascadesContext, - ctx.statementContext, selectHintPlan.getHints()); + extractLeading((SelectHintLeading) hint, ctx.cascadesContext, + ctx.statementContext, selectHintPlan); } else if (hintName.equalsIgnoreCase("USE_CBO_RULE")) { - extractRule((SelectHintUseCboRule) hint.getValue(), ctx.statementContext); + extractRule((SelectHintUseCboRule) hint, ctx.statementContext); + } else if (hintName.equalsIgnoreCase("USE_MV")) { + extractMv((SelectHintUseMv) hint, ConnectContext.get().getStatementContext()); + } else if (hintName.equalsIgnoreCase("NO_USE_MV")) { + extractMv((SelectHintUseMv) hint, ConnectContext.get().getStatementContext()); } else { - logger.warn("Can not process select hint '{}' and skip it", hint.getKey()); + logger.warn("Can not process select hint '{}' and skip it", hint.getHintName()); } } return selectHintPlan.child(); @@ -116,7 +121,7 @@ private void setVar(SelectHintSetVar selectHint, StatementContext context) { } private void extractLeading(SelectHintLeading selectHint, CascadesContext context, - StatementContext statementContext, Map hints) { + StatementContext statementContext, LogicalSelectHint selectHintPlan) { LeadingHint hint = new LeadingHint("Leading", selectHint.getParameters(), selectHint.toString()); if (context.getHintMap().get("Leading") != null) { hint.setStatus(Hint.HintStatus.SYNTAX_ERROR); @@ -139,7 +144,8 @@ private void extractLeading(SelectHintLeading selectHint, CascadesContext contex if (!hint.isSyntaxError()) { hint.setStatus(Hint.HintStatus.SUCCESS); } - if (hints.get("ordered") != null || ConnectContext.get().getSessionVariable().isDisableJoinReorder() + if (selectHintPlan.isIncludeHint("Ordered") + || ConnectContext.get().getSessionVariable().isDisableJoinReorder() || context.isLeadingDisableJoinReorder()) { context.setLeadingJoin(false); hint.setStatus(Hint.HintStatus.UNUSED); @@ -158,4 +164,22 @@ private void extractRule(SelectHintUseCboRule selectHint, StatementContext state } } + private void extractMv(SelectHintUseMv selectHint, StatementContext statementContext) { + boolean isAllMv = selectHint.getParameters().isEmpty(); + UseMvHint useMvHint = new UseMvHint(selectHint.getHintName(), selectHint.getParameters(), + selectHint.isUseMv(), isAllMv); + for (Hint hint : statementContext.getHints()) { + if (hint.getHintName().equals(selectHint.getHintName())) { + hint.setStatus(Hint.HintStatus.SYNTAX_ERROR); + hint.setErrorMessage("only one " + selectHint.getHintName() + " hint is allowed"); + useMvHint.setStatus(Hint.HintStatus.SYNTAX_ERROR); + useMvHint.setErrorMessage("only one " + selectHint.getHintName() + " hint is allowed"); + } + } + if (!useMvHint.isSyntaxError()) { + ConnectContext.get().getSessionVariable().setEnableSyncMvCostBasedRewrite(false); + } + statementContext.addHint(useMvHint); + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/AbstractSelectMaterializedIndexRule.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/AbstractSelectMaterializedIndexRule.java index 1124c141416f3f..f17ab1c96bd9cf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/AbstractSelectMaterializedIndexRule.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/mv/AbstractSelectMaterializedIndexRule.java @@ -276,7 +276,7 @@ protected static long selectBestIndex( .thenComparing(rid -> (Long) rid)) .collect(Collectors.toList()); - return sortedIndexIds.get(0); + return table.getBestMvIdWithHint(sortedIndexIds); } protected static List matchPrefixMost( diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSelectHint.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSelectHint.java index 127889ea7ed471..a33e2194131c8d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSelectHint.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalSelectHint.java @@ -29,10 +29,8 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import java.util.List; -import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors; @@ -44,9 +42,9 @@ public class LogicalSelectHint extends LogicalUnary implements BlockFuncDepsPropagation { - private final Map hints; + private final ImmutableList hints; - public LogicalSelectHint(Map hints, CHILD_TYPE child) { + public LogicalSelectHint(ImmutableList hints, CHILD_TYPE child) { this(hints, Optional.empty(), Optional.empty(), child); } @@ -57,19 +55,29 @@ public LogicalSelectHint(Map hints, CHILD_TYPE child) { * @param logicalProperties logicalProperties is use for compute output * @param child child plan */ - public LogicalSelectHint(Map hints, + public LogicalSelectHint(ImmutableList hints, Optional groupExpression, Optional logicalProperties, CHILD_TYPE child) { super(PlanType.LOGICAL_SELECT_HINT, groupExpression, logicalProperties, child); - this.hints = ImmutableMap.copyOf(Objects.requireNonNull(hints, "hints can not be null")); + this.hints = ImmutableList.copyOf(Objects.requireNonNull(hints, "hints can not be null")); } - public Map getHints() { + public List getHints() { return hints; } - public boolean isIncludeLeading() { - return hints.containsKey("leading"); + /** + * check if current select hint include some hint + * @param hintName hint name + * @return boolean which indicate have hint + */ + public boolean isIncludeHint(String hintName) { + for (SelectHint hint : hints) { + if (hint.getHintName().equalsIgnoreCase(hintName)) { + return true; + } + } + return false; } @Override @@ -107,9 +115,9 @@ public List computeOutput() { @Override public String toString() { - String hintStr = this.hints.entrySet() + String hintStr = this.hints .stream() - .map(entry -> entry.getValue().toString()) + .map(hint -> hint.toString()) .collect(Collectors.joining(", ")); return "LogicalSelectHint (" + hintStr + ")"; } diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/joinhint/DistributeHintTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/joinhint/DistributeHintTest.java index 0b2ed8069ade83..f96fe7e918c410 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/joinhint/DistributeHintTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/jobs/joinorder/joinhint/DistributeHintTest.java @@ -28,13 +28,12 @@ import org.apache.doris.nereids.util.MemoTestUtils; import org.apache.doris.nereids.util.PlanChecker; -import com.google.common.collect.Maps; +import com.google.common.collect.ImmutableList; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Map; import java.util.Set; public class DistributeHintTest extends TPCHTestBase { @@ -85,15 +84,15 @@ public void testHintJoin() { } private Plan generateLeadingHintPlan(int tableNum, Plan childPlan) { - Map hints = Maps.newLinkedHashMap(); + ImmutableList.Builder hints = ImmutableList.builder(); List leadingParameters = new ArrayList(); for (int i = 0; i < tableNum; i++) { leadingParameters.add(String.valueOf(i)); } Collections.shuffle(leadingParameters); System.out.println("LeadingHint: " + leadingParameters.toString()); - hints.put("leading", new SelectHintLeading("leading", leadingParameters)); - return new LogicalSelectHint<>(hints, childPlan); + hints.add(new SelectHintLeading("Leading", leadingParameters)); + return new LogicalSelectHint<>(hints.build(), childPlan); } private void randomTest(int tableNum, int edgeNum, boolean withJoinHint, boolean withLeading) { diff --git a/regression-test/suites/nereids_p0/hint/test_use_mv.groovy b/regression-test/suites/nereids_p0/hint/test_use_mv.groovy new file mode 100644 index 00000000000000..e511ccc11ae071 --- /dev/null +++ b/regression-test/suites/nereids_p0/hint/test_use_mv.groovy @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +suite("test_use_mv") { + // create database and tables + sql 'DROP DATABASE IF EXISTS test_use_mv' + sql 'CREATE DATABASE IF NOT EXISTS test_use_mv' + sql 'use test_use_mv' + + // setting planner to nereids + sql 'set exec_mem_limit=21G' + sql 'set be_number_for_test=1' + sql 'set parallel_pipeline_task_num=1' + sql "set disable_nereids_rules=PRUNE_EMPTY_PARTITION" + sql 'set enable_nereids_planner=true' + sql 'set enable_nereids_distribute_planner=false' + sql "set ignore_shape_nodes='PhysicalProject'" + sql 'set enable_fallback_to_original_planner=false' + sql 'set runtime_filter_mode=OFF' + + sql """drop table if exists t1;""" + // create tables + sql """ + CREATE TABLE `t1` ( + `k1` int(11) NULL, + `k2` int(11) NULL, + `v1` int(11) SUM NULL + ) ENGINE=OLAP + AGGREGATE KEY(`k1`, `k2`) + COMMENT 'OLAP' + DISTRIBUTED BY HASH(`k1`) BUCKETS 3 + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1", + "in_memory" = "false", + "storage_format" = "V2", + "disable_auto_compaction" = "false" + ); + """ + sql """ alter table t1 add rollup r1(k2, k1); """ + waitForRollUpJob("t1", 5000, 1) + sql """ alter table t1 add rollup r2(k2); """ + waitForRollUpJob("t1", 5000, 1) + createMV("create materialized view k1_k2_sumk3 as select k1, k2, sum(v1) from t1 group by k1, k2;") + sql """set enable_sync_mv_cost_based_rewrite = false""" + explain { + sql """select k1 from t1;""" + contains("t1(r1)") + } + sql """set enable_sync_mv_cost_based_rewrite = true""" + explain { + sql """select /*+ no_use_mv */ k1 from t1;""" + notContains("t1(r1)") + } + explain { + sql """select /*+ no_use_mv(t1) */ k1 from t1;""" + contains("parameter of no_use_mv hint must be in pairs") + } + explain { + sql """select /*+ no_use_mv(t1.`*`) */ k1 from t1;""" + contains("t1(t1)") + } + explain { + sql """select /*+ use_mv(t1.`*`) */ k1 from t1;""" + contains("use_mv hint should only have one mv in one table") + } + explain { + sql """select /*+ use_mv(t1.r1,t1.r2) */ k1 from t1;""" + contains("use_mv hint should only have one mv in one table") + } + explain { + sql """select /*+ use_mv(t1.r1) use_mv(t1.r2) */ k1 from t1;""" + contains("one use_mv hint is allowed") + } + explain { + sql """select /*+ no_use_mv(t1.r1) no_use_mv(t1.r2) */ k1 from t1;""" + contains("only one no_use_mv hint is allowed") + } + explain { + sql """select /*+ no_use_mv(t1.r3) */ k1 from t1;""" + contains("do not have mv: r3 in table: t1") + } + explain { + sql """select /*+ use_mv(t1.r1) no_use_mv(t1.r1) */ k1 from t1;""" + contains("conflict mv exist in use_mv and no_use_mv in the same time") + } + explain { + sql """select /*+ use_mv(t1.k1_k2_sumk3) */ k1, k2, sum(v1) from t1 group by k1, k2;""" + contains("t1(k1_k2_sumk3)") + } + explain { + sql """select /*+ use_mv(t1.k1_k2_sumk3) */ k1, k2, min(v1) from t1 group by k1, k2;""" + notContains("t1(k1_k2_sumk3)") + } + +} From b9331b5e7c86979eda68c5abb39cac6cd610460a Mon Sep 17 00:00:00 2001 From: Gavin Chou Date: Tue, 3 Sep 2024 23:16:41 +0800 Subject: [PATCH 022/199] [chore](recycler) Change tablet_rowset_stale_sweep_time_sec=600 to reduce possibility failed to find rowset (#40076) When there is a large query, the stale rowsets may be recycled before the query referencing them, which may cause -230, or import of MoW table failed to find rowset. --- be/src/common/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp index 2b3b2ffb09e3ec..67a12fc02f1d70 100644 --- a/be/src/common/config.cpp +++ b/be/src/common/config.cpp @@ -296,7 +296,7 @@ DEFINE_mInt32(default_num_rows_per_column_file_block, "1024"); // pending data policy DEFINE_mInt32(pending_data_expire_time_sec, "1800"); // inc_rowset snapshot rs sweep time interval -DEFINE_mInt32(tablet_rowset_stale_sweep_time_sec, "300"); +DEFINE_mInt32(tablet_rowset_stale_sweep_time_sec, "600"); // tablet stale rowset sweep by threshold size DEFINE_Bool(tablet_rowset_stale_sweep_by_size, "false"); DEFINE_mInt32(tablet_rowset_stale_sweep_threshold_size, "100"); From da5264840d2db40bb485956b44e33d22a8ee2da1 Mon Sep 17 00:00:00 2001 From: Gavin Chou Date: Tue, 3 Sep 2024 23:22:32 +0800 Subject: [PATCH 023/199] [chore](cloud) Improve cloud start stop script: wait for quit synchronously (#40218) --- cloud/script/start.sh | 4 ++-- cloud/script/stop.sh | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/cloud/script/start.sh b/cloud/script/start.sh index 2e444ac1778e6d..28e986166ae832 100644 --- a/cloud/script/start.sh +++ b/cloud/script/start.sh @@ -82,7 +82,7 @@ if ldd "${bin}" | grep -Ei 'libfdb_c.*not found' &>/dev/null; then exit 1 fi patchelf --set-rpath "${lib_path}" "${bin}" - ldd "${bin}" + # ldd "${bin}" fi chmod 550 "${DORIS_HOME}/lib/doris_cloud" @@ -91,7 +91,7 @@ if [[ -z "${JAVA_HOME}" ]]; then echo "The JAVA_HOME environment variable is not defined correctly" echo "This environment variable is needed to run this program" echo "NB: JAVA_HOME should point to a JDK not a JRE" - echo "You can set it in be.conf" + echo "You can set it in doris_cloud.conf" exit 1 fi diff --git a/cloud/script/stop.sh b/cloud/script/stop.sh index b40b4061c398dc..48f01c545ae840 100644 --- a/cloud/script/stop.sh +++ b/cloud/script/stop.sh @@ -32,4 +32,17 @@ fi pid=$(cat "${DORIS_HOME}/bin/${process}.pid") kill -2 "${pid}" +cnt=0 +while true; do + cnt=$((cnt + 1)) + echo "waiting ${pid} to quit, ${cnt} seconds elapsed" + msg=$(ps "${pid}") + ret=$? + if [[ ${ret} -ne 0 ]]; then + echo "${pid} has quit" + break + fi + echo "${msg}" + sleep 1 +done rm -f "${DORIS_HOME}/bin/${process}.pid" From c363830612a88c69841826a9d1112febc40398e3 Mon Sep 17 00:00:00 2001 From: Gavin Chou Date: Tue, 3 Sep 2024 23:24:57 +0800 Subject: [PATCH 024/199] [chore] Reduce range of nextId when calling advanceNextId() (#40160) The previous implementation may result in extremely large nextId. --- .../src/main/java/org/apache/doris/catalog/Env.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java index 597fee4dd8a1a1..23ba86e53cd8fb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java @@ -1680,10 +1680,15 @@ private void transferToMaster() { */ void advanceNextId() { long currentId = idGenerator.getBatchEndId(); - long currentNanos = System.nanoTime(); + long currentMill = System.currentTimeMillis(); long nextId = currentId + 1; - if (nextId < currentNanos) { - nextId = currentNanos; + // Reserve ~1 trillion for use in case of bugs or frequent reboots (~2 billion reboots) + if ((1L << 63) - nextId < (1L << 40)) { + LOG.warn("nextId is too large: {}, it may be a bug and consider backup and migration", nextId); + } else { + // Keep compatible with previous impl, the previous impl may result in extreme large nextId, + // and guess there are no more than 1L<<32 (~4e9) ids used since last reboot + nextId = (currentId + 1) < currentMill ? currentMill : currentId + (1L << 32); } // ATTN: Because MetaIdGenerator has guaranteed that each id it returns must have From 4c1b9298ae82ff801932e4e9834dea4cb1f70ddf Mon Sep 17 00:00:00 2001 From: zhiqiang Date: Wed, 4 Sep 2024 09:53:50 +0800 Subject: [PATCH 025/199] [fix](unary function) Fix wrong result of asin, acos and sqrt when processing invalid input (#40267) When input of asin, acos and sqrt is invalid, result of them should be null (same with mysql). --- .../function_math_unary_alway_nullable.h | 94 ++++++++++++++++++ be/src/vec/functions/math.cpp | 16 +++- .../expressions/functions/scalar/Acos.java | 4 +- .../expressions/functions/scalar/Asin.java | 4 +- .../expressions/functions/scalar/Dsqrt.java | 4 +- .../expressions/functions/scalar/Sqrt.java | 4 +- .../test_math_unary_always_nullable.out | 95 +++++++++++++++++++ .../test_math_unary_always_nullable.groovy | 85 +++++++++++++++++ 8 files changed, 295 insertions(+), 11 deletions(-) create mode 100644 be/src/vec/functions/function_math_unary_alway_nullable.h create mode 100644 regression-test/data/query_p0/sql_functions/math_functions/test_math_unary_always_nullable.out create mode 100644 regression-test/suites/query_p0/sql_functions/math_functions/test_math_unary_always_nullable.groovy diff --git a/be/src/vec/functions/function_math_unary_alway_nullable.h b/be/src/vec/functions/function_math_unary_alway_nullable.h new file mode 100644 index 00000000000000..8d2cea1bc0db87 --- /dev/null +++ b/be/src/vec/functions/function_math_unary_alway_nullable.h @@ -0,0 +1,94 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include "vec/columns/column.h" +#include "vec/columns/column_decimal.h" +#include "vec/columns/column_nullable.h" +#include "vec/columns/columns_number.h" +#include "vec/core/call_on_type_index.h" +#include "vec/core/types.h" +#include "vec/data_types/data_type_decimal.h" +#include "vec/data_types/data_type_nullable.h" +#include "vec/data_types/data_type_number.h" +#include "vec/functions/function.h" +#include "vec/functions/function_helpers.h" +#include "vec/utils/util.hpp" + +namespace doris::vectorized { + +template +class FunctionMathUnaryAlwayNullable : public IFunction { +public: + using IFunction::execute; + + static constexpr auto name = Impl::name; + static FunctionPtr create() { return std::make_shared(); } + +private: + String get_name() const override { return name; } + size_t get_number_of_arguments() const override { return 1; } + + DataTypePtr get_return_type_impl(const DataTypes& arguments) const override { + return make_nullable(std::make_shared()); + } + + static void execute_in_iterations(const double* src_data, double* dst_data, size_t size) { + for (size_t i = 0; i < size; i++) { + Impl::execute(&src_data[i], &dst_data[i]); + } + } + + Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments, + size_t result, size_t input_rows_count) const override { + const ColumnFloat64* col = + assert_cast(block.get_by_position(arguments[0]).column.get()); + auto dst = ColumnFloat64::create(); + auto& dst_data = dst->get_data(); + dst_data.resize(input_rows_count); + + execute_in_iterations(col->get_data().data(), dst_data.data(), input_rows_count); + + auto result_null_map = ColumnUInt8::create(input_rows_count, 0); + + for (size_t i = 0; i < input_rows_count; i++) { + if (Impl::is_invalid_input(col->get_data()[i])) [[unlikely]] { + result_null_map->get_data().data()[i] = 1; + } + } + + block.replace_by_position( + result, ColumnNullable::create(std::move(dst), std::move(result_null_map))); + return Status::OK(); + } +}; + +template +struct UnaryFunctionPlainAlwayNullable { + using Type = DataTypeFloat64; + static constexpr auto name = Name::name; + + static constexpr bool is_invalid_input(Float64 x) { return Name::is_invalid_input(x); } + + template + static void execute(const T* src, U* dst) { + *dst = static_cast(Function(*src)); + } +}; + +} // namespace doris::vectorized diff --git a/be/src/vec/functions/math.cpp b/be/src/vec/functions/math.cpp index a3b54c8026db75..af2e68ec9822c8 100644 --- a/be/src/vec/functions/math.cpp +++ b/be/src/vec/functions/math.cpp @@ -37,6 +37,7 @@ #include "vec/functions/function_const.h" #include "vec/functions/function_math_log.h" #include "vec/functions/function_math_unary.h" +#include "vec/functions/function_math_unary_alway_nullable.h" #include "vec/functions/function_string.h" #include "vec/functions/function_totype.h" #include "vec/functions/function_unary_arithmetic.h" @@ -53,13 +54,19 @@ struct Log2Impl; namespace doris::vectorized { struct AcosName { static constexpr auto name = "acos"; + // https://dev.mysql.com/doc/refman/8.4/en/mathematical-functions.html#function_acos + static constexpr bool is_invalid_input(Float64 x) { return x < -1 || x > 1; } }; -using FunctionAcos = FunctionMathUnary>; +using FunctionAcos = + FunctionMathUnaryAlwayNullable>; struct AsinName { static constexpr auto name = "asin"; + // https://dev.mysql.com/doc/refman/8.4/en/mathematical-functions.html#function_asin + static constexpr bool is_invalid_input(Float64 x) { return x < -1 || x > 1; } }; -using FunctionAsin = FunctionMathUnary>; +using FunctionAsin = + FunctionMathUnaryAlwayNullable>; struct AtanName { static constexpr auto name = "atan"; @@ -242,8 +249,11 @@ using FunctionSin = FunctionMathUnary; struct SqrtName { static constexpr auto name = "sqrt"; + // https://dev.mysql.com/doc/refman/8.4/en/mathematical-functions.html#function_sqrt + static constexpr bool is_invalid_input(Float64 x) { return x < 0; } }; -using FunctionSqrt = FunctionMathUnary>; +using FunctionSqrt = + FunctionMathUnaryAlwayNullable>; struct CbrtName { static constexpr auto name = "cbrt"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Acos.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Acos.java index c99af81123fc63..2193221c326363 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Acos.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Acos.java @@ -19,8 +19,8 @@ import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable; import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; -import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable; import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression; import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; import org.apache.doris.nereids.types.DoubleType; @@ -34,7 +34,7 @@ * ScalarFunction 'acos'. This class is generated by GenerateFunction. */ public class Acos extends ScalarFunction - implements UnaryExpression, ExplicitlyCastableSignature, PropagateNullable { + implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable { public static final List SIGNATURES = ImmutableList.of( FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Asin.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Asin.java index 0e06d8d77edb10..22e1ff59b7df28 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Asin.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Asin.java @@ -19,8 +19,8 @@ import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable; import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; -import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable; import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression; import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; import org.apache.doris.nereids.types.DoubleType; @@ -34,7 +34,7 @@ * ScalarFunction 'asin'. This class is generated by GenerateFunction. */ public class Asin extends ScalarFunction - implements UnaryExpression, ExplicitlyCastableSignature, PropagateNullable { + implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable { public static final List SIGNATURES = ImmutableList.of( FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Dsqrt.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Dsqrt.java index 874befd09dba4d..3caef79776b3bb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Dsqrt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Dsqrt.java @@ -19,8 +19,8 @@ import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable; import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; -import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable; import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression; import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; import org.apache.doris.nereids.types.DoubleType; @@ -34,7 +34,7 @@ * ScalarFunction 'dsqrt'. This class is generated by GenerateFunction. */ public class Dsqrt extends ScalarFunction - implements UnaryExpression, ExplicitlyCastableSignature, PropagateNullable { + implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable { public static final List SIGNATURES = ImmutableList.of( FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sqrt.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sqrt.java index 495321c6dfa8c5..f954eb07a54083 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sqrt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sqrt.java @@ -19,8 +19,8 @@ import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable; import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; -import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable; import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression; import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; import org.apache.doris.nereids.types.DoubleType; @@ -34,7 +34,7 @@ * ScalarFunction 'sqrt'. This class is generated by GenerateFunction. */ public class Sqrt extends ScalarFunction - implements UnaryExpression, ExplicitlyCastableSignature, PropagateNullable { + implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable { public static final List SIGNATURES = ImmutableList.of( FunctionSignature.ret(DoubleType.INSTANCE).args(DoubleType.INSTANCE) diff --git a/regression-test/data/query_p0/sql_functions/math_functions/test_math_unary_always_nullable.out b/regression-test/data/query_p0/sql_functions/math_functions/test_math_unary_always_nullable.out new file mode 100644 index 00000000000000..0a190f0bd6b2f9 --- /dev/null +++ b/regression-test/data/query_p0/sql_functions/math_functions/test_math_unary_always_nullable.out @@ -0,0 +1,95 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !acos_1 -- +\N true + +-- !acos_2 -- +\N true + +-- !acos_3 -- +\N true 0 +\N true 1 +\N true 2 +\N true 3 +\N true 4 +\N true 5 +\N true 6 +\N true 7 +\N true 8 +\N true 9 + +-- !asin_1 -- +\N true + +-- !asin_2 -- +\N true + +-- !asin_3 -- +\N true 0 +\N true 1 +\N true 2 +\N true 3 +\N true 4 +\N true 5 +\N true 6 +\N true 7 +\N true 8 +\N true 9 + +-- !sqrt_1 -- +\N true + +-- !sqrt_2 -- +\N true + +-- !sqrt_3 -- +\N true 0 +\N true 1 +\N true 2 +\N true 3 +\N true 4 +\N true 5 +\N true 6 +\N true 7 +\N true 8 +\N true 9 + +-- !acos_tbl_1 -- +1 \N true +2 \N true +3 1.5707963267948966 false +4 \N true +5 \N true +6 \N true +7 \N true +8 \N true + +-- !asin_tbl_1 -- +1 \N true +2 \N true +3 0.0 false +4 \N true +5 \N true +6 \N true +7 \N true +8 \N true + +-- !sqrt_tbl_1 -- +1 1.0488088481701516 false +2 \N true +3 0.0 false +4 \N true +5 \N true +6 \N true +7 \N true +8 \N true + +-- !dsqrt_tbl_1 -- +1 1.0488088481701516 false +2 \N true +3 0.0 false +4 \N true +5 \N true +6 \N true +7 \N true +8 \N true + diff --git a/regression-test/suites/query_p0/sql_functions/math_functions/test_math_unary_always_nullable.groovy b/regression-test/suites/query_p0/sql_functions/math_functions/test_math_unary_always_nullable.groovy new file mode 100644 index 00000000000000..282d4e3c5754e4 --- /dev/null +++ b/regression-test/suites/query_p0/sql_functions/math_functions/test_math_unary_always_nullable.groovy @@ -0,0 +1,85 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_math_unary_alway_nullable") { + sql """ + set debug_skip_fold_constant=true; + """ + + qt_acos_1 """ + select acos(1.1), acos(1.1) is null; + """ + qt_acos_2 """ + select acos(-1.1), acos(-1.1) is null; + """ + qt_acos_3 """ + select acos(-1.1), acos(-1.1) is NULL, number from numbers("number"="10") + """ + + qt_asin_1 """ + select asin(1.1), asin(1.1) is null; + """ + qt_asin_2 """ + select asin(-1.1), asin(-1.1) is null; + """ + qt_asin_3 """ + select asin(-1.1), asin(-1.1) is NULL, number from numbers("number"="10") + """ + + qt_sqrt_1 """ + select sqrt(-1), sqrt(-1) is null; + """ + qt_sqrt_2 """ + select sqrt(-1.1), sqrt(-1.1) is null; + """ + qt_sqrt_3 """ + select sqrt(-1.1), sqrt(-1.1) is NULL, number from numbers("number"="10") + """ + + sql "drop table if exists test_math_unary_alway_nullable" + + sql """ + create table if not exists test_math_unary_alway_nullable (rowid int, val double NULL) + distributed by hash(rowid) properties ("replication_num"="1"); + """ + + sql """ + insert into test_math_unary_alway_nullable values + (1, 1.1), (2, -1.1), (3, 0), (4, NULL) + """ + sql """ + insert into test_math_unary_alway_nullable values + (5, NULL), (6, NULL), (7, NULL), (8, NULL) + """ + + qt_acos_tbl_1 """ + select rowid, acos(val), acos(val) is null from test_math_unary_alway_nullable order by rowid; + """ + + qt_asin_tbl_1 """ + select rowid, asin(val), asin(val) is null from test_math_unary_alway_nullable order by rowid; + """ + + qt_sqrt_tbl_1 """ + select rowid, sqrt(val), sqrt(val) is null from test_math_unary_alway_nullable order by rowid; + """ + + qt_dsqrt_tbl_1 """ + select rowid, dsqrt(val), dsqrt(val) is null from test_math_unary_alway_nullable order by rowid; + """ + +} \ No newline at end of file From 7b860577aeb4d0dd4c56a0aa4613d94540813ade Mon Sep 17 00:00:00 2001 From: zhiqiang Date: Wed, 4 Sep 2024 09:55:26 +0800 Subject: [PATCH 026/199] [opt](scanner) Control the degree of parallelism of scanner when only limit involved (#39927) For queries like `select * from tbl limit 100;`, we should limit the parallelism to 1. We already have strategies in our code, but we can not control its behavior. So add session variables to control them. Previous pr like #33888 #36535 already has done something similar, this pr integrates them. --- be/src/pipeline/exec/scan_operator.cpp | 36 +++- .../org/apache/doris/planner/ScanNode.java | 16 +- .../org/apache/doris/qe/SessionVariable.java | 25 +++ gensrc/thrift/PaloInternalService.thrift | 3 + ..._pipeline_task_serial_read_on_limit.groovy | 175 ++++++++++++++++++ 5 files changed, 247 insertions(+), 8 deletions(-) create mode 100644 regression-test/suites/query_profile/adaptive_pipeline_task_serial_read_on_limit.groovy diff --git a/be/src/pipeline/exec/scan_operator.cpp b/be/src/pipeline/exec/scan_operator.cpp index d7af005394479e..73cd02b5a5dd18 100644 --- a/be/src/pipeline/exec/scan_operator.cpp +++ b/be/src/pipeline/exec/scan_operator.cpp @@ -45,6 +45,8 @@ namespace doris::pipeline { +const static int32_t ADAPTIVE_PIPELINE_TASK_SERIAL_READ_ON_LIMIT_DEFAULT = 10000; + #define RETURN_IF_PUSH_DOWN(stmt, status) \ if (pdt == PushDownType::UNACCEPTABLE) { \ status = stmt; \ @@ -1147,12 +1149,6 @@ ScanOperatorX::ScanOperatorX(ObjectPool* pool, const TPlanNode& : OperatorX(pool, tnode, operator_id, descs), _runtime_filter_descs(tnode.runtime_filters), _parallel_tasks(parallel_tasks) { - if (!tnode.__isset.conjuncts || tnode.conjuncts.empty()) { - // Which means the request could be fullfilled in a single segment iterator request. - if (tnode.limit > 0 && tnode.limit < 1024) { - _should_run_serial = true; - } - } if (tnode.__isset.push_down_count) { _push_down_count = tnode.push_down_count; } @@ -1185,6 +1181,34 @@ Status ScanOperatorX::init(const TPlanNode& tnode, RuntimeState* if (tnode.__isset.topn_filter_source_node_ids) { topn_filter_source_node_ids = tnode.topn_filter_source_node_ids; } + + // The first branch is kept for compatibility with the old version of the FE + if (!query_options.__isset.enable_adaptive_pipeline_task_serial_read_on_limit) { + if (!tnode.__isset.conjuncts || tnode.conjuncts.empty()) { + // Which means the request could be fullfilled in a single segment iterator request. + if (tnode.limit > 0 && + tnode.limit <= ADAPTIVE_PIPELINE_TASK_SERIAL_READ_ON_LIMIT_DEFAULT) { + _should_run_serial = true; + } + } + } else { + DCHECK(query_options.__isset.adaptive_pipeline_task_serial_read_on_limit); + // The set of enable_adaptive_pipeline_task_serial_read_on_limit + // is checked in previous branch. + if (query_options.enable_adaptive_pipeline_task_serial_read_on_limit) { + int32_t adaptive_pipeline_task_serial_read_on_limit = + ADAPTIVE_PIPELINE_TASK_SERIAL_READ_ON_LIMIT_DEFAULT; + if (query_options.__isset.adaptive_pipeline_task_serial_read_on_limit) { + adaptive_pipeline_task_serial_read_on_limit = + query_options.adaptive_pipeline_task_serial_read_on_limit; + } + + if (tnode.limit > 0 && tnode.limit <= adaptive_pipeline_task_serial_read_on_limit) { + _should_run_serial = true; + } + } + } + return Status::OK(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/ScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/ScanNode.java index 50b0f5a026909c..a92cac7b510260 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/ScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/ScanNode.java @@ -739,8 +739,20 @@ public int getScanRangeNum() { } public boolean shouldUseOneInstance(ConnectContext ctx) { - long limitRowsForSingleInstance = ctx == null ? 10000 : ctx.getSessionVariable().limitRowsForSingleInstance; - return hasLimit() && getLimit() < limitRowsForSingleInstance && conjuncts.isEmpty(); + int adaptivePipelineTaskSerialReadOnLimit = 10000; + + if (ctx != null) { + if (ctx.getSessionVariable().enableAdaptivePipelineTaskSerialReadOnLimit) { + adaptivePipelineTaskSerialReadOnLimit = ctx.getSessionVariable().adaptivePipelineTaskSerialReadOnLimit; + } else { + return false; + } + } else { + // No connection context, typically for broker load. + } + + // For UniqueKey table, we will use multiple instance. + return hasLimit() && getLimit() <= adaptivePipelineTaskSerialReadOnLimit && conjuncts.isEmpty(); } // In cloud mode, meta read lock is not enough to keep a snapshot of the partition versions. diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java index 4140835b657004..c1d3c7a3efb0ee 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java @@ -654,6 +654,11 @@ public class SessionVariable implements Serializable, Writable { public static final String IN_LIST_VALUE_COUNT_THRESHOLD = "in_list_value_count_threshold"; + public static final String ENABLE_ADAPTIVE_PIPELINE_TASK_SERIAL_READ_ON_LIMIT = + "enable_adaptive_pipeline_task_serial_read_on_limit"; + public static final String ADAPTIVE_PIPELINE_TASK_SERIAL_READ_ON_LIMIT = + "adaptive_pipeline_task_serial_read_on_limit"; + /** * If set false, user couldn't submit analyze SQL and FE won't allocate any related resources. */ @@ -2115,6 +2120,7 @@ public void setIgnoreShapePlanNodes(String ignoreShapePlanNodes) { }) public boolean enableFallbackOnMissingInvertedIndex = true; + @VariableMgr.VarAttr(name = IN_LIST_VALUE_COUNT_THRESHOLD, description = { "in条件value数量大于这个threshold后将不会走fast_execute", "When the number of values in the IN condition exceeds this threshold," @@ -2122,6 +2128,22 @@ public void setIgnoreShapePlanNodes(String ignoreShapePlanNodes) { }) public int inListValueCountThreshold = 10; + @VariableMgr.VarAttr(name = ENABLE_ADAPTIVE_PIPELINE_TASK_SERIAL_READ_ON_LIMIT, needForward = true, description = { + "开启后将会允许自动调整 pipeline task 的并发数。当 scan 节点没有过滤条件,且 limit 参数小于" + + "adaptive_pipeline_task_serial_read_on_limit 中指定的行数时,scan 的并行度将会被设置为 1", + "When enabled, the pipeline task concurrency will be adjusted automatically. When the scan node has no filter " + + "conditions and the limit parameter is less than the number of rows specified in " + + "adaptive_pipeline_task_serial_read_on_limit, the parallelism of the scan will be set to 1." + }) + public boolean enableAdaptivePipelineTaskSerialReadOnLimit = true; + + @VariableMgr.VarAttr(name = ADAPTIVE_PIPELINE_TASK_SERIAL_READ_ON_LIMIT, needForward = true, description = { + "当 enable_adaptive_pipeline_task_serial_read_on_limit 开启时,scan 的并行度将会被设置为 1 的行数阈值", + "When enable_adaptive_pipeline_task_serial_read_on_limit is enabled, " + + "the number of rows at which the parallelism of the scan will be set to 1." + }) + public int adaptivePipelineTaskSerialReadOnLimit = 10000; + public void setEnableEsParallelScroll(boolean enableESParallelScroll) { this.enableESParallelScroll = enableESParallelScroll; } @@ -3700,6 +3722,9 @@ public TQueryOptions toThrift() { tResult.setKeepCarriageReturn(keepCarriageReturn); tResult.setEnableSegmentCache(enableSegmentCache); + + tResult.setEnableAdaptivePipelineTaskSerialReadOnLimit(enableAdaptivePipelineTaskSerialReadOnLimit); + tResult.setAdaptivePipelineTaskSerialReadOnLimit(adaptivePipelineTaskSerialReadOnLimit); tResult.setInListValueCountThreshold(inListValueCountThreshold); return tResult; } diff --git a/gensrc/thrift/PaloInternalService.thrift b/gensrc/thrift/PaloInternalService.thrift index 85e4ade4ca4adc..9da87117154dcc 100644 --- a/gensrc/thrift/PaloInternalService.thrift +++ b/gensrc/thrift/PaloInternalService.thrift @@ -335,6 +335,9 @@ struct TQueryOptions { 127: optional i32 in_list_value_count_threshold = 10; + 128: optional bool enable_adaptive_pipeline_task_serial_read_on_limit = true; + 129: optional i32 adaptive_pipeline_task_serial_read_on_limit = 10000; + // For cloud, to control if the content would be written into file cache // In write path, to control if the content would be written into file cache. // In read path, read from file cache or remote storage when execute query. diff --git a/regression-test/suites/query_profile/adaptive_pipeline_task_serial_read_on_limit.groovy b/regression-test/suites/query_profile/adaptive_pipeline_task_serial_read_on_limit.groovy new file mode 100644 index 00000000000000..15481fe7c9a8dc --- /dev/null +++ b/regression-test/suites/query_profile/adaptive_pipeline_task_serial_read_on_limit.groovy @@ -0,0 +1,175 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import groovy.json.JsonOutput +import groovy.json.JsonSlurper +import groovy.json.StringEscapeUtils + + +def getProfileList = { + def dst = 'http://' + context.config.feHttpAddress + def conn = new URL(dst + "/rest/v1/query_profile").openConnection() + conn.setRequestMethod("GET") + def encoding = Base64.getEncoder().encodeToString((context.config.feHttpUser + ":" + + (context.config.feHttpPassword == null ? "" : context.config.feHttpPassword)).getBytes("UTF-8")) + conn.setRequestProperty("Authorization", "Basic ${encoding}") + return conn.getInputStream().getText() +} + + +def getProfile = { id -> + def dst = 'http://' + context.config.feHttpAddress + def conn = new URL(dst + "/api/profile/text/?query_id=$id").openConnection() + conn.setRequestMethod("GET") + def encoding = Base64.getEncoder().encodeToString((context.config.feHttpUser + ":" + + (context.config.feHttpPassword == null ? "" : context.config.feHttpPassword)).getBytes("UTF-8")) + conn.setRequestProperty("Authorization", "Basic ${encoding}") + return conn.getInputStream().getText() +} + +suite('adaptive_pipeline_task_serial_read_on_limit') { + sql """ + DROP TABLE IF EXISTS adaptive_pipeline_task_serial_read_on_limit; + """ + sql """ + CREATE TABLE if not exists `adaptive_pipeline_task_serial_read_on_limit` ( + `id` INT, + `name` varchar(32) + ) ENGINE=OLAP + DISTRIBUTED BY HASH(`id`) BUCKETS 10 + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + + // Insert data to table + sql """ + insert into adaptive_pipeline_task_serial_read_on_limit values + (1, "A"),(2, "B"),(3, "C"),(4, "D"),(5,"E"),(6,"F"),(7,"G"),(8,"H"),(9,"K"); + """ + sql """ + insert into adaptive_pipeline_task_serial_read_on_limit values + (10, "A"),(20, "B"),(30, "C"),(40, "D"),(50,"E"),(60,"F"),(70,"G"),(80,"H"),(90,"K"); + """ + sql """ + insert into adaptive_pipeline_task_serial_read_on_limit values + (101, "A"),(201, "B"),(301, "C"),(401, "D"),(501,"E"),(601,"F"),(701,"G"),(801,"H"),(901,"K"); + """ + sql """ + insert into adaptive_pipeline_task_serial_read_on_limit values + (1010, "A"),(2010, "B"),(3010, "C"),(4010, "D"),(5010,"E"),(6010,"F"),(7010,"G"),(8010,"H"),(9010,"K"); + """ + + def uuidString = UUID.randomUUID().toString() + sql "set enable_profile=true" + // set parallel_pipeline_task_num to 1 so that only one scan node, + // and we can check MaxScannerThreadNum in profile. + sql "set parallel_pipeline_task_num=1;" + // no limit, MaxScannerThreadNum = TabletNum + sql """ + select "no_limit_1_${uuidString}", * from adaptive_pipeline_task_serial_read_on_limit; + """ + sql "set parallel_pipeline_task_num=0;" + // With Limit, MaxScannerThreadNum = 1 + sql """ + select "with_limit_1_${uuidString}", * from adaptive_pipeline_task_serial_read_on_limit limit 10000; + """ + // With Limit, but bigger then adaptive_pipeline_task_serial_read_on_limit, MaxScannerThreadNum = TabletNum + sql """ + select "with_limit_2_${uuidString}", * from adaptive_pipeline_task_serial_read_on_limit limit 10001; + """ + sql """ + set enable_adaptive_pipeline_task_serial_read_on_limit=false; + """ + sql "set parallel_pipeline_task_num=1;" + // Forbid the strategy, with limit, MaxScannerThreadNum = TabletNum + sql """ + select "not_enable_limit_${uuidString}", * from adaptive_pipeline_task_serial_read_on_limit limit 100; + """ + + sql "set parallel_pipeline_task_num=0;" + + // Enable the strategy, with limit 20, MaxScannerThreadNum = 1 + sql """ + set enable_adaptive_pipeline_task_serial_read_on_limit=true; + """ + sql """ + set adaptive_pipeline_task_serial_read_on_limit=10; + """ + sql """ + select "modify_to_20_${uuidString}", * from adaptive_pipeline_task_serial_read_on_limit limit 15; + """ + + sql "set enable_profile=false" + + def wholeString = getProfileList() + List profileData = new JsonSlurper().parseText(wholeString).data.rows + String queryIdNoLimit1 = ""; + String queryIdWithLimit1 = ""; + String queryIdWithLimit2 = ""; + String queryIDNotEnableLimit = ""; + String queryIdModifyTo20 = ""; + + logger.info("{}", uuidString) + + for (def profileItem in profileData) { + if (profileItem["Sql Statement"].toString().contains("no_limit_1_${uuidString}")) { + queryIdNoLimit1 = profileItem["Profile ID"].toString() + logger.info("profileItem: {}", profileItem) + } + if (profileItem["Sql Statement"].toString().contains("with_limit_1_${uuidString}")) { + queryIdWithLimit1 = profileItem["Profile ID"].toString() + logger.info("profileItem: {}", profileItem) + } + if (profileItem["Sql Statement"].toString().contains("with_limit_2_${uuidString}")) { + queryIdWithLimit2 = profileItem["Profile ID"].toString() + logger.info("profileItem: {}", profileItem) + } + if (profileItem["Sql Statement"].toString().contains("not_enable_limit_${uuidString}")) { + queryIDNotEnableLimit = profileItem["Profile ID"].toString() + logger.info("profileItem: {}", profileItem) + } + if (profileItem["Sql Statement"].toString().contains("modify_to_20_${uuidString}")) { + queryIdModifyTo20 = profileItem["Profile ID"].toString() + logger.info("profileItem: {}", profileItem) + } + } + + logger.info("queryIdNoLimit1_${uuidString}: {}", queryIdNoLimit1) + logger.info("queryIdWithLimit1_${uuidString}: {}", queryIdWithLimit1) + logger.info("queryIdWithLimit2_${uuidString}: {}", queryIdWithLimit2) + logger.info("queryIDNotEnableLimit_${uuidString}: {}", queryIDNotEnableLimit) + logger.info("queryIdModifyTo20_${uuidString}: {}", queryIdModifyTo20) + + assertTrue(queryIdNoLimit1 != "") + assertTrue(queryIdWithLimit1 != "") + assertTrue(queryIdWithLimit2 != "") + assertTrue(queryIDNotEnableLimit != "") + assertTrue(queryIdModifyTo20 != "") + + def String profileNoLimit1 = getProfile(queryIdNoLimit1).toString() + def String profileWithLimit1 = getProfile(queryIdWithLimit1).toString() + def String profileWithLimit2 = getProfile(queryIdWithLimit2).toString() + def String profileNotEnableLimit = getProfile(queryIDNotEnableLimit).toString() + def String profileModifyTo20 = getProfile(queryIdModifyTo20).toString() + + assertTrue(profileNoLimit1.contains("- MaxScannerThreadNum: 10")) + assertTrue(profileWithLimit1.contains("- MaxScannerThreadNum: 1")) + assertTrue(profileWithLimit2.contains("- MaxScannerThreadNum: 10")) + assertTrue(profileNotEnableLimit.contains("- MaxScannerThreadNum: 10")) + assertTrue(profileModifyTo20.contains("- MaxScannerThreadNum: 1")) +} \ No newline at end of file From 33bd7545c6f3f1ddcaabdef44e6bc37092146787 Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Wed, 4 Sep 2024 10:21:00 +0800 Subject: [PATCH 027/199] [fix](memory) Fix `sum_of_all_trackers` duplicated contain reserved memory (#40304) Reserved memory is already contained in Query Memory Tracker, so it is already contained in `sum_of_all_trackers` and should not be double-counted. --- be/src/runtime/memory/mem_tracker.h | 5 +++-- be/src/runtime/memory/mem_tracker_limiter.cpp | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/be/src/runtime/memory/mem_tracker.h b/be/src/runtime/memory/mem_tracker.h index 8a574398e0eaed..8a977e49388d52 100644 --- a/be/src/runtime/memory/mem_tracker.h +++ b/be/src/runtime/memory/mem_tracker.h @@ -146,8 +146,6 @@ class MemTracker { // Creates and adds the tracker to the mem_tracker_pool. MemTracker(const std::string& label, MemTrackerLimiter* parent = nullptr); - // For MemTrackerLimiter - MemTracker() { _parent_group_num = -1; } virtual ~MemTracker(); @@ -203,6 +201,9 @@ class MemTracker { } protected: + // Only used by MemTrackerLimiter + MemTracker() { _parent_group_num = -1; } + void bind_parent(MemTrackerLimiter* parent); Type _type; diff --git a/be/src/runtime/memory/mem_tracker_limiter.cpp b/be/src/runtime/memory/mem_tracker_limiter.cpp index 6df577f8a50347..774e06eb7f5ac4 100644 --- a/be/src/runtime/memory/mem_tracker_limiter.cpp +++ b/be/src/runtime/memory/mem_tracker_limiter.cpp @@ -336,7 +336,6 @@ void MemTrackerLimiter::make_process_snapshots(std::vector snapshot.cur_consumption = GlobalMemoryArbitrator::process_reserved_memory(); snapshot.peak_consumption = -1; (*snapshots).emplace_back(snapshot); - all_trackers_mem_sum += GlobalMemoryArbitrator::process_reserved_memory(); snapshot.type = "overview"; snapshot.label = "sum_of_all_trackers"; // is virtual memory From b2ebfe9f3b5216dc4e7ffacf3335e204b5f9cdb8 Mon Sep 17 00:00:00 2001 From: airborne12 Date: Wed, 4 Sep 2024 10:25:19 +0800 Subject: [PATCH 028/199] [Fix](inverted index) fix comparison for string after refactor compound (#40338) ## Proposed changes Untokenized strings exceed ignore_above, they are written as null, causing range query errors. Introduced by #38908 --- .../rowset/segment_v2/segment_iterator.cpp | 30 ++++--------------- .../olap/rowset/segment_v2/segment_iterator.h | 3 +- be/src/vec/functions/functions_comparison.h | 23 ++++++++------ 3 files changed, 20 insertions(+), 36 deletions(-) diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index cff2e78c0d60cf..f0d9cc6605d767 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -740,18 +740,7 @@ Status SegmentIterator::_extract_common_expr_columns(const vectorized::VExprSPtr return Status::OK(); } -bool SegmentIterator::_check_apply_by_inverted_index(ColumnId col_id) { - if (_opts.runtime_state && !_opts.runtime_state->query_options().enable_inverted_index_query) { - return false; - } - if (_inverted_index_iterators[col_id] == nullptr) { - //this column without inverted index - return false; - } - return true; -} - -bool SegmentIterator::_check_apply_by_inverted_index(ColumnPredicate* pred, bool pred_in_compound) { +bool SegmentIterator::_check_apply_by_inverted_index(ColumnPredicate* pred) { if (_opts.runtime_state && !_opts.runtime_state->query_options().enable_inverted_index_query) { return false; } @@ -771,11 +760,6 @@ bool SegmentIterator::_check_apply_by_inverted_index(ColumnPredicate* pred, bool if (predicate_param->marked_by_runtime_filter) { return false; } - // the in_list or not_in_list value count cannot be greater than threshold - int32_t threshold = _opts.runtime_state->query_options().in_list_value_count_threshold; - if (pred_in_compound && predicate_param->values.size() > threshold) { - return false; - } } // UNTOKENIZED strings exceed ignore_above, they are written as null, causing range query errors @@ -794,15 +778,11 @@ bool SegmentIterator::_check_apply_by_inverted_index(ColumnPredicate* pred, bool bool handle_by_fulltext = _column_has_fulltext_index(pred_column_id); if (handle_by_fulltext) { - // when predicate in compound condition which except leafNode of andNode, - // only can apply match query for fulltext index, // when predicate is leafNode of andNode, - // can apply 'match qeury' and 'equal query' and 'list query' for fulltext index. - return (pred_in_compound ? pred->type() == PredicateType::MATCH - : (pred->type() == PredicateType::MATCH || - pred->type() == PredicateType::IS_NULL || - pred->type() == PredicateType::IS_NOT_NULL || - PredicateTypeTraits::is_equal_or_list(pred->type()))); + // can apply 'match query' and 'equal query' and 'list query' for fulltext index. + return pred->type() == PredicateType::MATCH || pred->type() == PredicateType::IS_NULL || + pred->type() == PredicateType::IS_NOT_NULL || + PredicateTypeTraits::is_equal_or_list(pred->type()); } return true; diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.h b/be/src/olap/rowset/segment_v2/segment_iterator.h index 6ffd1666f602e2..f5c133485aa012 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.h +++ b/be/src/olap/rowset/segment_v2/segment_iterator.h @@ -298,8 +298,7 @@ class SegmentIterator : public RowwiseIterator { void _convert_dict_code_for_predicate_if_necessary_impl(ColumnPredicate* predicate); - bool _check_apply_by_inverted_index(ColumnId col_id); - bool _check_apply_by_inverted_index(ColumnPredicate* pred, bool pred_in_compound = false); + bool _check_apply_by_inverted_index(ColumnPredicate* pred); void _output_index_result_column_for_expr(uint16_t* sel_rowid_idx, uint16_t select_size, vectorized::Block* block); diff --git a/be/src/vec/functions/functions_comparison.h b/be/src/vec/functions/functions_comparison.h index f6aa46fe1c42c9..bb1666ab864070 100644 --- a/be/src/vec/functions/functions_comparison.h +++ b/be/src/vec/functions/functions_comparison.h @@ -546,14 +546,6 @@ class FunctionComparison : public IFunction { //NOT support comparison predicate when parser is FULLTEXT for expr inverted index evaluate. return Status::OK(); } - std::string column_name = data_type_with_name.first; - Field param_value; - arguments[0].column->get(0, param_value); - auto param_type = arguments[0].type->get_type_as_type_descriptor().type; - - std::unique_ptr query_param = nullptr; - RETURN_IF_ERROR(segment_v2::InvertedIndexQueryParamFactory::create_query_value( - param_type, ¶m_value, query_param)); segment_v2::InvertedIndexQueryType query_type; std::string_view name_view(name); if (name_view == NameEquals::name || name_view == NameNotEquals::name) { @@ -570,6 +562,19 @@ class FunctionComparison : public IFunction { return Status::InvalidArgument("invalid comparison op type {}", Name::name); } + if (segment_v2::is_range_query(query_type) && + iter->get_inverted_index_reader_type() == + segment_v2::InvertedIndexReaderType::STRING_TYPE) { + // untokenized strings exceed ignore_above, they are written as null, causing range query errors + return Status::OK(); + } + std::string column_name = data_type_with_name.first; + Field param_value; + arguments[0].column->get(0, param_value); + auto param_type = arguments[0].type->get_type_as_type_descriptor().type; + std::unique_ptr query_param = nullptr; + RETURN_IF_ERROR(segment_v2::InvertedIndexQueryParamFactory::create_query_value( + param_type, ¶m_value, query_param)); std::shared_ptr roaring = std::make_shared(); RETURN_IF_ERROR(segment_v2::InvertedIndexQueryParamFactory::create_query_value( param_type, ¶m_value, query_param)); @@ -585,7 +590,7 @@ class FunctionComparison : public IFunction { bitmap_result = result; bitmap_result.mask_out_null(); - if (name == "ne") { + if (name_view == NameNotEquals::name) { roaring::Roaring full_result; full_result.addRange(0, num_rows); bitmap_result.op_not(&full_result); From 2615a03983300344e538b470ee8670b68ff1b4fd Mon Sep 17 00:00:00 2001 From: lihangyu <15605149486@163.com> Date: Wed, 4 Sep 2024 10:45:01 +0800 Subject: [PATCH 029/199] [Fix](Variant) sparse columns should not be added in init segment iterator (#40295) --- be/src/olap/rowset/segment_v2/segment.cpp | 9 +++++---- regression-test/suites/variant_p0/load.groovy | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/be/src/olap/rowset/segment_v2/segment.cpp b/be/src/olap/rowset/segment_v2/segment.cpp index 64f58e546c22ba..2556597419ef87 100644 --- a/be/src/olap/rowset/segment_v2/segment.cpp +++ b/be/src/olap/rowset/segment_v2/segment.cpp @@ -553,7 +553,7 @@ Status Segment::_create_column_readers(const SegmentFooterPB& footer) { vectorized::PathInData path; path.from_protobuf(spase_column_pb.column_path_info()); // Read from root column, so reader is nullptr - _sparse_column_tree[column.unique_id()].add( + _sparse_column_tree[unique_id].add( path.copy_pop_front(), SubcolumnReader {nullptr, vectorized::DataTypeFactory::instance().create_data_type( @@ -617,9 +617,10 @@ Status Segment::new_column_iterator_with_path(const TabletColumn& tablet_column, const auto* node = tablet_column.has_path_info() ? _sub_column_tree[unique_id].find_exact(relative_path) : nullptr; - const auto* sparse_node = tablet_column.has_path_info() - ? _sparse_column_tree[unique_id].find_exact(relative_path) - : nullptr; + const auto* sparse_node = + tablet_column.has_path_info() && _sparse_column_tree.contains(unique_id) + ? _sparse_column_tree[unique_id].find_exact(relative_path) + : nullptr; // Currently only compaction and checksum need to read flat leaves // They both use tablet_schema_with_merged_max_schema_version as read schema auto type_to_read_flat_leaves = [](ReaderType type) { diff --git a/regression-test/suites/variant_p0/load.groovy b/regression-test/suites/variant_p0/load.groovy index d74155b182ddfa..967ff63f0baa94 100644 --- a/regression-test/suites/variant_p0/load.groovy +++ b/regression-test/suites/variant_p0/load.groovy @@ -290,7 +290,7 @@ suite("regression_test_variant", "p0"){ sql """insert into ${table_name} values (5, '{"i" : 1}'), (1, '{"a" : 1}')""" sql """insert into ${table_name} values (6, '{"j" : 1}'), (1, '{"a" : 1}')""" sql """insert into ${table_name} values (6, '{"k" : 1}'), (1, '{"a" : 1}')""" - sql "select * from ${table_name}" + sql "select /*+SET_VAR(batch_size=4064,broker_load_batch_size=16352,disable_streaming_preaggregations=false,enable_distinct_streaming_aggregation=true,parallel_fragment_exec_instance_num=1,parallel_pipeline_task_num=4,profile_level=1,enable_pipeline_engine=true,enable_parallel_scan=true,parallel_scan_max_scanners_count=16,parallel_scan_min_rows_per_scanner=128,enable_fold_constant_by_be=true,enable_rewrite_element_at_to_slot=true,runtime_filter_type=2,enable_parallel_result_sink=false,sort_phase_num=0,enable_nereids_planner=true,rewrite_or_to_in_predicate_threshold=2,enable_function_pushdown=true,enable_common_expr_pushdown=true,enable_local_exchange=true,partitioned_hash_join_rows_threshold=1048576,partitioned_hash_agg_rows_threshold=8,partition_pruning_expand_threshold=10,enable_share_hash_table_for_broadcast_join=true,enable_two_phase_read_opt=true,enable_common_expr_pushdown_for_inverted_index=false,enable_delete_sub_predicate_v2=true,min_revocable_mem=33554432,fetch_remote_schema_timeout_seconds=120,max_fetch_remote_schema_tablet_count=512,enable_join_spill=false,enable_sort_spill=false,enable_agg_spill=false,enable_force_spill=false,data_queue_max_blocks=1,spill_streaming_agg_mem_limit=268435456,external_agg_partition_bits=5) */ * from ${table_name}" qt_sql_36_1 "select cast(v['a'] as int), cast(v['b'] as int), cast(v['c'] as int) from ${table_name} order by k limit 10" sql "DELETE FROM ${table_name} WHERE k=1" sql "select * from ${table_name}" From cfee8c9c63b6f8edca6ddd0e5f9c2aac63cbd8ea Mon Sep 17 00:00:00 2001 From: Mingyu Chen Date: Wed, 4 Sep 2024 10:46:28 +0800 Subject: [PATCH 030/199] [fix](ga) fix scope label and add samples exclusion to shell checks (#40343) --- .github/workflows/code-checks.yml | 2 +- .github/workflows/scope-label.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/code-checks.yml b/.github/workflows/code-checks.yml index 2762480a0cb566..4fe4090b516a1e 100644 --- a/.github/workflows/code-checks.yml +++ b/.github/workflows/code-checks.yml @@ -50,7 +50,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: sh_checker_comment: true - sh_checker_exclude: .git .github ^docker ^thirdparty/src ^thirdparty/installed ^ui ^docs/node_modules ^tools/clickbench-tools ^extension ^output ^fs_brokers/apache_hdfs_broker/output (^|.*/)Dockerfile$ ^be/src/apache-orc ^be/src/clucene ^pytest + sh_checker_exclude: .git .github ^docker ^thirdparty/src ^thirdparty/installed ^ui ^docs/node_modules ^tools/clickbench-tools ^extension ^output ^fs_brokers/apache_hdfs_broker/output (^|.*/)Dockerfile$ ^be/src/apache-orc ^be/src/clucene ^pytest ^samples preparation: name: "Clang Tidy Preparation" diff --git a/.github/workflows/scope-label.yml b/.github/workflows/scope-label.yml index 77f0e50a44f705..ba88dbbb02f7c0 100644 --- a/.github/workflows/scope-label.yml +++ b/.github/workflows/scope-label.yml @@ -35,7 +35,7 @@ jobs: github.event_name == 'pull_request_target' && (github.event.action == 'opened' || github.event.action == 'synchronize') - uses: actions/labeler@v5.5.0 + uses: actions/labeler@2.2.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/workflows/labeler/scope-label-conf.yml From 9a92b4c3809f03a2e1bf2c6266293613b0166fe7 Mon Sep 17 00:00:00 2001 From: Mryange <59914473+Mryange@users.noreply.github.com> Date: Wed, 4 Sep 2024 10:55:36 +0800 Subject: [PATCH 031/199] [opt](function)Some geo functions incorrectly used get. (#40107) ## Proposed changes ``` mysql [test]>select count(st_distance_sphere(db, db, db, db)) from double_ranges; +-------------------------------------------+ | count(st_distance_sphere(db, db, db, db)) | +-------------------------------------------+ | 0 | +-------------------------------------------+ 1 row in set (1.25 sec) mysql [test]>select count(st_distance_sphere(db, db, db, db)) from double_ranges; +-------------------------------------------+ | count(st_distance_sphere(db, db, db, db)) | +-------------------------------------------+ | 0 | +-------------------------------------------+ 1 row in set (0.33 sec) ``` --- be/src/vec/functions/functions_geo.cpp | 68 +++++++++++++++----------- 1 file changed, 39 insertions(+), 29 deletions(-) diff --git a/be/src/vec/functions/functions_geo.cpp b/be/src/vec/functions/functions_geo.cpp index b389bc1636e45f..7b833f91a8ddfd 100644 --- a/be/src/vec/functions/functions_geo.cpp +++ b/be/src/vec/functions/functions_geo.cpp @@ -28,6 +28,7 @@ #include "vec/columns/column.h" #include "vec/columns/column_nullable.h" #include "vec/columns/columns_number.h" +#include "vec/common/assert_cast.h" #include "vec/common/string_ref.h" #include "vec/core/block.h" #include "vec/core/column_with_type_and_name.h" @@ -58,14 +59,16 @@ struct StPoint { auto res = ColumnString::create(); auto null_map = ColumnUInt8::create(size, 0); auto& null_map_data = null_map->get_data(); + const auto* left_column_f64 = assert_cast(left_column.get()); + const auto* right_column_f64 = assert_cast(right_column.get()); GeoPoint point; std::string buf; if (left_const) { - const_vector(left_column, right_column, res, null_map_data, size, point, buf); + const_vector(left_column_f64, right_column_f64, res, null_map_data, size, point, buf); } else if (right_const) { - vector_const(left_column, right_column, res, null_map_data, size, point, buf); + vector_const(left_column_f64, right_column_f64, res, null_map_data, size, point, buf); } else { - vector_vector(left_column, right_column, res, null_map_data, size, point, buf); + vector_vector(left_column_f64, right_column_f64, res, null_map_data, size, point, buf); } block.replace_by_position(result, @@ -86,32 +89,32 @@ struct StPoint { res->insert_data(buf.data(), buf.size()); } - static void const_vector(const ColumnPtr& left_column, const ColumnPtr& right_column, + static void const_vector(const ColumnFloat64* left_column, const ColumnFloat64* right_column, ColumnString::MutablePtr& res, NullMap& null_map, const size_t size, GeoPoint& point, std::string& buf) { - double x = left_column->operator[](0).get(); + double x = left_column->get_element(0); for (int row = 0; row < size; ++row) { - auto cur_res = point.from_coord(x, right_column->operator[](row).get()); + auto cur_res = point.from_coord(x, right_column->get_element(row)); loop_do(cur_res, res, null_map, row, point, buf); } } - static void vector_const(const ColumnPtr& left_column, const ColumnPtr& right_column, + static void vector_const(const ColumnFloat64* left_column, const ColumnFloat64* right_column, ColumnString::MutablePtr& res, NullMap& null_map, const size_t size, GeoPoint& point, std::string& buf) { - double y = right_column->operator[](0).get(); + double y = right_column->get_element(0); for (int row = 0; row < size; ++row) { - auto cur_res = point.from_coord(right_column->operator[](row).get(), y); + auto cur_res = point.from_coord(right_column->get_element(row), y); loop_do(cur_res, res, null_map, row, point, buf); } } - static void vector_vector(const ColumnPtr& left_column, const ColumnPtr& right_column, + static void vector_vector(const ColumnFloat64* left_column, const ColumnFloat64* right_column, ColumnString::MutablePtr& res, NullMap& null_map, const size_t size, GeoPoint& point, std::string& buf) { for (int row = 0; row < size; ++row) { - auto cur_res = point.from_coord(left_column->operator[](row).get(), - right_column->operator[](row).get()); + auto cur_res = + point.from_coord(left_column->get_element(row), right_column->get_element(row)); loop_do(cur_res, res, null_map, row, point, buf); } } @@ -246,11 +249,15 @@ struct StDistanceSphere { DCHECK_EQ(arguments.size(), 4); auto return_type = block.get_data_type(result); - auto x_lng = block.get_by_position(arguments[0]).column->convert_to_full_column_if_const(); - auto x_lat = block.get_by_position(arguments[1]).column->convert_to_full_column_if_const(); - auto y_lng = block.get_by_position(arguments[2]).column->convert_to_full_column_if_const(); - auto y_lat = block.get_by_position(arguments[3]).column->convert_to_full_column_if_const(); - + const auto* x_lng = check_and_get_column( + block.get_by_position(arguments[0]).column->convert_to_full_column_if_const()); + const auto* x_lat = check_and_get_column( + block.get_by_position(arguments[1]).column->convert_to_full_column_if_const()); + const auto* y_lng = check_and_get_column( + block.get_by_position(arguments[2]).column->convert_to_full_column_if_const()); + const auto* y_lat = check_and_get_column( + block.get_by_position(arguments[3]).column->convert_to_full_column_if_const()); + CHECK(x_lng && x_lat && y_lng && y_lat); const auto size = x_lng->size(); auto res = ColumnFloat64::create(); res->reserve(size); @@ -258,10 +265,9 @@ struct StDistanceSphere { auto& null_map_data = null_map->get_data(); for (int row = 0; row < size; ++row) { double distance = 0; - if (!GeoPoint::ComputeDistance(x_lng->operator[](row).get(), - x_lat->operator[](row).get(), - y_lng->operator[](row).get(), - y_lat->operator[](row).get(), &distance)) { + if (!GeoPoint::ComputeDistance(x_lng->get_element(row), x_lat->get_element(row), + y_lng->get_element(row), y_lat->get_element(row), + &distance)) { null_map_data[row] = 1; res->insert_default(); continue; @@ -284,10 +290,15 @@ struct StAngleSphere { DCHECK_EQ(arguments.size(), 4); auto return_type = block.get_data_type(result); - auto x_lng = block.get_by_position(arguments[0]).column->convert_to_full_column_if_const(); - auto x_lat = block.get_by_position(arguments[1]).column->convert_to_full_column_if_const(); - auto y_lng = block.get_by_position(arguments[2]).column->convert_to_full_column_if_const(); - auto y_lat = block.get_by_position(arguments[3]).column->convert_to_full_column_if_const(); + const auto* x_lng = check_and_get_column( + block.get_by_position(arguments[0]).column->convert_to_full_column_if_const()); + const auto* x_lat = check_and_get_column( + block.get_by_position(arguments[1]).column->convert_to_full_column_if_const()); + const auto* y_lng = check_and_get_column( + block.get_by_position(arguments[2]).column->convert_to_full_column_if_const()); + const auto* y_lat = check_and_get_column( + block.get_by_position(arguments[3]).column->convert_to_full_column_if_const()); + CHECK(x_lng && x_lat && y_lng && y_lat); const auto size = x_lng->size(); @@ -298,10 +309,9 @@ struct StAngleSphere { for (int row = 0; row < size; ++row) { double angle = 0; - if (!GeoPoint::ComputeAngleSphere(x_lng->operator[](row).get(), - x_lat->operator[](row).get(), - y_lng->operator[](row).get(), - y_lat->operator[](row).get(), &angle)) { + if (!GeoPoint::ComputeAngleSphere(x_lng->get_element(row), x_lat->get_element(row), + y_lng->get_element(row), y_lat->get_element(row), + &angle)) { null_map_data[row] = 1; res->insert_default(); continue; From bfbb065d0e0ff71ff7f8a765620b8055be7faf33 Mon Sep 17 00:00:00 2001 From: feiniaofeiafei <53502832+feiniaofeiafei@users.noreply.github.com> Date: Wed, 4 Sep 2024 11:53:03 +0800 Subject: [PATCH 032/199] [Feat](nereids) add max/min filter push down rewrite rule (#39252) add rewrite rule: select id, max(a) from t group by id having max(a)>10; -> select id, max(a) from t where a>10 group by id; select id, min(a) from t group by id having min(a)<10; -> select id, min(a) from t where a<10 group by id; --- .../apache/doris/nereids/rules/RuleSet.java | 2 + .../apache/doris/nereids/rules/RuleType.java | 1 + .../rules/rewrite/MaxMinFilterPushDown.java | 133 ++++++++ .../rewrite/MaxMinFilterPushDownTest.java | 115 +++++++ .../push_down_max_through_join.out | 20 +- .../max_min_filter_push_down.out | 290 ++++++++++++++++++ .../max_min_filter_push_down.groovy | 214 +++++++++++++ 7 files changed, 765 insertions(+), 10 deletions(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/MaxMinFilterPushDown.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/MaxMinFilterPushDownTest.java create mode 100644 regression-test/data/nereids_rules_p0/max_min_filter_push_down/max_min_filter_push_down.out create mode 100644 regression-test/suites/nereids_rules_p0/max_min_filter_push_down/max_min_filter_push_down.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java index be4d8b390c9f1f..e63d4d77bca26e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java @@ -88,6 +88,7 @@ import org.apache.doris.nereids.rules.rewrite.ConvertOuterJoinToAntiJoin; import org.apache.doris.nereids.rules.rewrite.CreatePartitionTopNFromWindow; import org.apache.doris.nereids.rules.rewrite.EliminateOuterJoin; +import org.apache.doris.nereids.rules.rewrite.MaxMinFilterPushDown; import org.apache.doris.nereids.rules.rewrite.MergeFilters; import org.apache.doris.nereids.rules.rewrite.MergeGenerates; import org.apache.doris.nereids.rules.rewrite.MergeLimits; @@ -132,6 +133,7 @@ public class RuleSet { .build(); public static final List PUSH_DOWN_FILTERS = ImmutableList.of( + new MaxMinFilterPushDown(), new CreatePartitionTopNFromWindow(), new PushDownFilterThroughProject(), new PushDownFilterThroughSort(), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java index f2c572f7779e91..ca26ab1d9f843c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java @@ -176,6 +176,7 @@ public enum RuleType { PUSH_DOWN_FILTER_THROUGH_CTE(RuleTypeClass.REWRITE), PUSH_DOWN_FILTER_THROUGH_CTE_ANCHOR(RuleTypeClass.REWRITE), + MAX_MIN_FILTER_PUSH_DOWN(RuleTypeClass.REWRITE), PUSH_DOWN_DISTINCT_THROUGH_JOIN(RuleTypeClass.REWRITE), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/MaxMinFilterPushDown.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/MaxMinFilterPushDown.java new file mode 100644 index 00000000000000..a54c3785b35a72 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/MaxMinFilterPushDown.java @@ -0,0 +1,133 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.rules.rewrite; + +import org.apache.doris.nereids.annotation.DependsRules; +import org.apache.doris.nereids.rules.Rule; +import org.apache.doris.nereids.rules.RuleType; +import org.apache.doris.nereids.rules.expression.ExpressionRewrite; +import org.apache.doris.nereids.trees.expressions.Alias; +import org.apache.doris.nereids.trees.expressions.ExprId; +import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.GreaterThan; +import org.apache.doris.nereids.trees.expressions.GreaterThanEqual; +import org.apache.doris.nereids.trees.expressions.LessThan; +import org.apache.doris.nereids.trees.expressions.LessThanEqual; +import org.apache.doris.nereids.trees.expressions.NamedExpression; +import org.apache.doris.nereids.trees.expressions.SlotReference; +import org.apache.doris.nereids.trees.expressions.functions.agg.AggregateFunction; +import org.apache.doris.nereids.trees.expressions.functions.agg.Max; +import org.apache.doris.nereids.trees.expressions.functions.agg.Min; +import org.apache.doris.nereids.trees.expressions.literal.Literal; +import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.logical.LogicalAggregate; +import org.apache.doris.nereids.trees.plans.logical.LogicalFilter; +import org.apache.doris.nereids.util.ExpressionUtils; +import org.apache.doris.nereids.util.PlanUtils; + +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; + +import java.util.HashSet; +import java.util.List; +import java.util.Optional; +import java.util.Set; + +/** + * select id, max(a) from t group by id having max(a)>10; + * -> + * select id, max(a) from t where a>10 group by id; + * select id, min(a) from t group by id having min(a)<10; + * -> + * select id, min(a) from t where a<10 group by id; + */ +@DependsRules({ + ExpressionRewrite.class +}) +public class MaxMinFilterPushDown extends OneRewriteRuleFactory { + @Override + public Rule build() { + return logicalFilter(logicalAggregate().whenNot(agg -> agg.getGroupByExpressions().isEmpty())) + .then(this::pushDownMaxMinFilter) + .toRule(RuleType.MAX_MIN_FILTER_PUSH_DOWN); + } + + private Plan pushDownMaxMinFilter(LogicalFilter> filter) { + Set conjuncts = filter.getConjuncts(); + LogicalAggregate agg = filter.child(); + Plan aggChild = agg.child(); + List aggOutputExpressions = agg.getOutputExpressions(); + Set aggFuncs = ExpressionUtils.collect(aggOutputExpressions, + expr -> expr instanceof AggregateFunction); + Set maxMinFunc = ExpressionUtils.collect(aggFuncs, + expr -> expr instanceof Max || expr instanceof Min); + // LogicalAggregate only outputs one aggregate function, which is max or min + if (aggFuncs.size() != 1 || maxMinFunc.size() != 1) { + return null; + } + ExprId exprId = null; + Expression func = maxMinFunc.iterator().next(); + for (NamedExpression expr : aggOutputExpressions) { + if (expr instanceof Alias && ((Alias) expr).child().equals(func)) { + Alias alias = (Alias) expr; + exprId = alias.getExprId(); + } + } + // try to find min(a)<10 or max(a)>10 + Expression originConjunct = findMatchingConjunct(conjuncts, func instanceof Max, exprId).orElse(null); + if (null == originConjunct) { + return null; + } + Set newUpperConjuncts = new HashSet<>(conjuncts); + newUpperConjuncts.remove(originConjunct); + Expression newPredicate = null; + if (func instanceof Max) { + if (originConjunct instanceof GreaterThan) { + newPredicate = new GreaterThan(func.child(0), originConjunct.child(1)); + } else if (originConjunct instanceof GreaterThanEqual) { + newPredicate = new GreaterThanEqual(func.child(0), originConjunct.child(1)); + } + } else { + if (originConjunct instanceof LessThan) { + newPredicate = new LessThan(func.child(0), originConjunct.child(1)); + } else if (originConjunct instanceof LessThanEqual) { + newPredicate = new LessThanEqual(func.child(0), originConjunct.child(1)); + } + } + Preconditions.checkState(newPredicate != null, "newPredicate is null"); + LogicalFilter newPushDownFilter = new LogicalFilter<>(ImmutableSet.of(newPredicate), aggChild); + LogicalAggregate newAgg = agg.withChildren(ImmutableList.of(newPushDownFilter)); + return PlanUtils.filterOrSelf(newUpperConjuncts, newAgg); + } + + private Optional findMatchingConjunct(Set conjuncts, boolean isMax, ExprId exprId) { + for (Expression conjunct : conjuncts) { + if ((isMax && (conjunct instanceof GreaterThan || conjunct instanceof GreaterThanEqual)) + || (!isMax && (conjunct instanceof LessThan || conjunct instanceof LessThanEqual))) { + if (conjunct.child(0) instanceof SlotReference && conjunct.child(1) instanceof Literal) { + SlotReference slot = (SlotReference) conjunct.child(0); + if (slot.getExprId().equals(exprId)) { + return Optional.of(conjunct); + } + } + } + } + return Optional.empty(); + } +} diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/MaxMinFilterPushDownTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/MaxMinFilterPushDownTest.java new file mode 100644 index 00000000000000..bc7d32fb3fb24a --- /dev/null +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/MaxMinFilterPushDownTest.java @@ -0,0 +1,115 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.rules.rewrite; + +import org.apache.doris.nereids.util.MemoPatternMatchSupported; +import org.apache.doris.nereids.util.PlanChecker; +import org.apache.doris.utframe.TestWithFeService; + +import org.junit.jupiter.api.Test; + +public class MaxMinFilterPushDownTest extends TestWithFeService implements MemoPatternMatchSupported { + @Override + protected void runBeforeAll() throws Exception { + createDatabase("test"); + connectContext.setDatabase("test"); + createTable("CREATE TABLE IF NOT EXISTS max_t(\n" + + "`id` int(32),\n" + + "`score` int(64) NULL,\n" + + "`name` varchar(64) NULL\n" + + ") properties('replication_num'='1');"); + connectContext.getSessionVariable().setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); + } + + @Test + public void testMaxRewrite() { + String sql = "select id, max(score) from max_t group by id having max(score)>10"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .matches(logicalFilter(logicalOlapScan()).when(filter -> filter.getConjuncts().size() == 1)); + } + + @Test + public void testMinRewrite() { + String sql = "select id, min(score) from max_t group by id having min(score)<10"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .matches(logicalFilter(logicalOlapScan()).when(filter -> filter.getConjuncts().size() == 1)); + } + + @Test + public void testNotRewriteBecauseFuncIsMoreThanOne1() { + String sql = "select id, min(score), max(name) from max_t group by id having min(score)<10 and max(name)>'abc'"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .nonMatch(logicalFilter(logicalOlapScan())); + } + + @Test + public void testNotRewriteBecauseFuncIsMoreThanOne2() { + String sql = "select id, min(score), min(name) from max_t group by id having min(score)<10 and min(name)<'abc'"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .nonMatch(logicalFilter(logicalOlapScan())); + } + + @Test + public void testMaxNotRewriteBecauseLessThan() { + String sql = "select id, max(score) from max_t group by id having max(score)<10"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .nonMatch(logicalFilter(logicalOlapScan())); + } + + @Test + public void testMinNotRewriteBecauseGreaterThan() { + String sql = "select id, min(score) from max_t group by id having min(score)>10"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .nonMatch(logicalFilter(logicalOlapScan())); + } + + @Test + public void testMinNotRewriteBecauseHasMaxFunc() { + String sql = "select id, min(score), max(score) from max_t group by id having min(score)<10"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .nonMatch(logicalFilter(logicalOlapScan())); + } + + @Test + public void testMinNotRewriteBecauseHasCountFunc() { + String sql = "select id, min(score), count(score) from max_t group by id having min(score)<10"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .nonMatch(logicalFilter(logicalOlapScan())); + } + + @Test + public void testNotRewriteBecauseConjunctLeftNotSlot() { + String sql = "select id, max(score) from max_t group by id having abs(max(score))>10"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .nonMatch(logicalFilter(logicalOlapScan())); + } + + @Test + public void testRewriteAggFuncHasExpr() { + String sql = "select id, max(score+1) from max_t group by id having max(score+1)>10"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .matches(logicalFilter(logicalOlapScan()).when(filter -> filter.getConjuncts().size() == 1)); + } + + @Test + public void testNotRewriteScalarAgg() { + String sql = "select max(score+1) from max_t having max(score+1)>10"; + PlanChecker.from(connectContext).analyze(sql).rewrite() + .nonMatch(logicalFilter(logicalOlapScan())); + } +} diff --git a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_max_through_join.out b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_max_through_join.out index 281de8ea61b88e..79b4ed890ded95 100644 --- a/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_max_through_join.out +++ b/regression-test/data/nereids_rules_p0/eager_aggregate/push_down_max_through_join.out @@ -91,11 +91,11 @@ PhysicalResultSink -- !groupby_pushdown_having -- PhysicalResultSink ---filter((max(score) > 100)) -----hashAgg[GLOBAL] -------hashAgg[LOCAL] ---------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[max_t] +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() +--------PhysicalOlapScan[max_t] +--------filter((t1.score > 100)) ----------PhysicalOlapScan[max_t] -- !groupby_pushdown_mixed_aggregates -- @@ -366,11 +366,11 @@ SyntaxError: -- !with_hint_groupby_pushdown_having -- PhysicalResultSink ---filter((max(score) > 100)) -----hashAgg[GLOBAL] -------hashAgg[LOCAL] ---------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() -----------PhysicalOlapScan[max_t] +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------hashJoin[INNER_JOIN] hashCondition=((t1.id = t2.id)) otherCondition=() +--------PhysicalOlapScan[max_t] +--------filter((t1.score > 100)) ----------PhysicalOlapScan[max_t] Hint log: diff --git a/regression-test/data/nereids_rules_p0/max_min_filter_push_down/max_min_filter_push_down.out b/regression-test/data/nereids_rules_p0/max_min_filter_push_down/max_min_filter_push_down.out new file mode 100644 index 00000000000000..2e0ac41d5ebd31 --- /dev/null +++ b/regression-test/data/nereids_rules_p0/max_min_filter_push_down/max_min_filter_push_down.out @@ -0,0 +1,290 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !scalar_agg_empty_table -- +PhysicalResultSink +--filter((min(value1) < 20)) +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalEmptyRelation + +-- !min -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down1.value1 < 20)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !max -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down1.value1 > 40)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !min_expr -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((cast(value1 as BIGINT) < 19)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !max_expr -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((abs(value1) > 39)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !min_commute -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down1.value1 < 40)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !max -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down1.value1 > 40)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !min_equal -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down1.value1 <= 20)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !max_equal -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down1.value1 >= 40)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !min_commute_equal -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down1.value1 <= 40)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !max_commute_equal -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down1.value1 >= 40)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !has_other_agg_func -- +PhysicalResultSink +--filter((max(value1) >= 40)) +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !min_scalar_agg -- +PhysicalResultSink +--filter((min(value1) < 40)) +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalStorageLayerAggregate[max_min_filter_push_down1] + +-- !max_scalar_agg -- +PhysicalResultSink +--filter((max(value1) > 40)) +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalStorageLayerAggregate[max_min_filter_push_down1] + +-- !max_scalar_agg -- +PhysicalResultSink +--filter((max(value1) > 40)) +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalStorageLayerAggregate[max_min_filter_push_down1] + +-- !min_equal_scalar_agg -- +PhysicalResultSink +--filter((min(value1) <= 20)) +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalStorageLayerAggregate[max_min_filter_push_down1] + +-- !max_equal_scalar_agg -- +PhysicalResultSink +--filter((max(value1) >= 40)) +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalStorageLayerAggregate[max_min_filter_push_down1] + +-- !depend_prune_column -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down1.value1 < 10)) +--------PhysicalOlapScan[max_min_filter_push_down1] + +-- !scalar_agg_empty_table_res -- + +-- !min_res -- +1 10 +2 19 + +-- !max_res -- +2 73 +3 61 +4 45 + +-- !min_expr_res -- +1 11 + +-- !max_expr_res -- +2 74 +3 62 +4 46 + +-- !min_commute_res -- +1 10 +2 19 +3 30 + +-- !max_res -- +2 73 +3 61 +4 45 + +-- !min_equal_res -- +1 10 +2 19 + +-- !max_equal_res -- +2 73 +3 61 +4 45 + +-- !min_commute_equal_res -- +1 10 +2 19 +3 30 +4 40 + +-- !max_commute_equal_res -- +2 73 +3 61 +4 45 + +-- !has_other_agg_func_res -- +2 73 19 +3 61 30 +4 45 40 + +-- !min_scalar_agg_res -- +10 + +-- !max_scalar_agg_res -- +73 + +-- !max_scalar_agg_res -- +73 + +-- !min_equal_scalar_agg_res -- +10 + +-- !max_equal_scalar_agg_res -- +73 + +-- !depend_prune_column_res -- +10 +19 + +-- !smallint -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down2.d_smallint > 10)) +--------PhysicalOlapScan[max_min_filter_push_down2] + +-- !tinyint -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down2.d_tinyint < 10)) +--------PhysicalOlapScan[max_min_filter_push_down2] + +-- !char100 -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down2.d_char100 > 'ab')) +--------PhysicalOlapScan[max_min_filter_push_down2] + +-- !char100_cmp_num_cannot_rewrite -- +PhysicalResultSink +--filter((cast(min(d_char100) as DOUBLE) < 10.0)) +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalOlapScan[max_min_filter_push_down2] + +-- !datetimev2 -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down2.d_datetimev2 < '2020-01-09 00:00:00')) +--------PhysicalOlapScan[max_min_filter_push_down2] + +-- !datev2 -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down2.d_datev2 > '2020-01-09')) +--------PhysicalOlapScan[max_min_filter_push_down2] + +-- !smallint_group_by_key -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down2.d_smallint > 10)) +--------PhysicalOlapScan[max_min_filter_push_down2] + +-- !tinyint_group_by_key -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down2.d_tinyint < 10)) +--------PhysicalOlapScan[max_min_filter_push_down2] + +-- !char100_group_by_key -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((max_min_filter_push_down2.d_char100 > 'ab')) +--------PhysicalOlapScan[max_min_filter_push_down2] + +-- !smallint_res -- +14 32 + +-- !tinyint_res -- +1 3 + +-- !char100_res -- + +-- !char100_cmp_num_cannot_rewrite_res -- + +-- !datetimev2_res -- +1 2020-01-07T10:00:01 +14 2020-01-07T10:00:01 + +-- !datev2_res -- +1 2020-01-11 +14 2020-01-11 + +-- !smallint_group_by_key_res -- +29 +32 + +-- !tinyint_group_by_key_res -- +3 + +-- !char100_group_by_key_res -- + diff --git a/regression-test/suites/nereids_rules_p0/max_min_filter_push_down/max_min_filter_push_down.groovy b/regression-test/suites/nereids_rules_p0/max_min_filter_push_down/max_min_filter_push_down.groovy new file mode 100644 index 00000000000000..47610f2e125701 --- /dev/null +++ b/regression-test/suites/nereids_rules_p0/max_min_filter_push_down/max_min_filter_push_down.groovy @@ -0,0 +1,214 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +suite("max_min_filter_push_down") { + sql "SET enable_nereids_planner=true" + sql "SET enable_fallback_to_original_planner=false" + sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'" + + sql "drop table if exists max_min_filter_push_down1" + sql""" + CREATE TABLE max_min_filter_push_down1 ( + id INT, + value1 INT, + value2 VARCHAR(50) + ) properties("replication_num"="1"); + """ + + sql """ + INSERT INTO max_min_filter_push_down1 (id, value1, value2) VALUES + (1, 10, 'A'),(1, 11, 'A'),(2, 20, 'B'),(2, 73, 'B'),(2, 19, 'B'),(3, 30, 'C'),(3, 61, 'C'),(4, 40, 'D'),(4, 43, 'D'),(4, 45, 'D'); + """ + sql "drop table if exists max_min_filter_push_down_empty" + sql "create table max_min_filter_push_down_empty like max_min_filter_push_down1" + + qt_scalar_agg_empty_table """ + explain shape plan + select min(value1) from max_min_filter_push_down_empty having min(value1) <40 and min(value1) <20; + """ + qt_min """ + explain shape plan + select id,min(value1) from max_min_filter_push_down1 group by id having min(value1) <40 and min(value1) <20; + """ + qt_max """ + explain shape plan + select id,max(value1) from max_min_filter_push_down1 group by id having max(value1) >40; + """ + + qt_min_expr """ + explain shape plan + select id,min(value1+1) from max_min_filter_push_down1 group by id having min(value1+1) <40 and min(value1+1) <20; + """ + qt_max_expr """ + explain shape plan + select id,max(abs(value1)+1) from max_min_filter_push_down1 group by id having max(abs(value1)+1) >40; + """ + + qt_min_commute """ + explain shape plan + select id,min(value1) from max_min_filter_push_down1 group by id having 40>min(value1); + """ + qt_max """ + explain shape plan + select id,max(value1) from max_min_filter_push_down1 group by id having 40=40; + """ + + qt_min_commute_equal """ + explain shape plan + select id,min(value1) from max_min_filter_push_down1 group by id having 40>=min(value1); + """ + qt_max_commute_equal """ + explain shape plan + select id,max(value1) from max_min_filter_push_down1 group by id having 40<=max(value1); + """ + + qt_has_other_agg_func """ + explain shape plan + select id,max(value1),min(value1) from max_min_filter_push_down1 group by id having 40<=max(value1); + """ + + qt_min_scalar_agg """ + explain shape plan + select min(value1) from max_min_filter_push_down1 having min(value1) <40; + """ + qt_max_scalar_agg """ + explain shape plan + select max(value1) from max_min_filter_push_down1 having max(value1) >40; + """ + qt_max_scalar_agg """ + explain shape plan + select max(value1) from max_min_filter_push_down1 having 40=40; + """ + + qt_depend_prune_column """ + explain shape plan + select c1 from (select min(value1) c1,max(value2) from max_min_filter_push_down1 group by id having min(value1)<10) t + """ + + qt_scalar_agg_empty_table_res """ + select min(value1) from max_min_filter_push_down_empty having min(value1) <40 and min(value1) <20; + """ + qt_min_res """ + select id,min(value1) from max_min_filter_push_down1 group by id having min(value1) <40 and min(value1) <20 order by 1,2; + """ + qt_max_res """ + select id,max(value1) from max_min_filter_push_down1 group by id having max(value1) >40 order by 1,2; + """ + qt_min_expr_res """ + select id,min(value1+1) from max_min_filter_push_down1 group by id having min(value1+1) <40 and min(value1+1) <20 order by 1,2; + """ + qt_max_expr_res """ + select id,max(abs(value1)+1) from max_min_filter_push_down1 group by id having max(abs(value1)+1) >40 order by 1,2; + """ + qt_min_commute_res """ + select id,min(value1) from max_min_filter_push_down1 group by id having 40>min(value1) order by 1,2; + """ + qt_max_res """ + select id,max(value1) from max_min_filter_push_down1 group by id having 40=40 order by 1,2; + """ + + qt_min_commute_equal_res """ + select id,min(value1) from max_min_filter_push_down1 group by id having 40>=min(value1) order by 1,2; + """ + qt_max_commute_equal_res """ + select id,max(value1) from max_min_filter_push_down1 group by id having 40<=max(value1) order by 1,2; + """ + + qt_has_other_agg_func_res """ + select id,max(value1),min(value1) from max_min_filter_push_down1 group by id having 40<=max(value1) order by 1,2; + """ + + qt_min_scalar_agg_res """ + select min(value1) from max_min_filter_push_down1 having min(value1) <40; + """ + qt_max_scalar_agg_res """ + select max(value1) from max_min_filter_push_down1 having max(value1) >40; + """ + qt_max_scalar_agg_res """ + select max(value1) from max_min_filter_push_down1 having 40=40; + """ + qt_depend_prune_column_res """ + select c1 from (select min(value1) c1,max(value2) from max_min_filter_push_down1 group by id having min(value1)<20) t order by c1 + """ + + sql "drop table if exists max_min_filter_push_down2" + sql """create table max_min_filter_push_down2(d_int int, d_char100 char(100), d_smallint smallint, d_tinyint tinyint, d_char10 char(10),d_datetimev2 datetimev2, d_datev2 datev2) + properties("replication_num"="1");""" + sql """insert into max_min_filter_push_down2 values(1,'01234567890123456789', 3,3,'0123456789','2020-01-09 10:00:00.99','2020-01-09') + ,(14,'01234567890123456789', 29,23,'0123456789','2020-01-7 10:00:00.99','2020-01-11'),(1,'01234567890123456789', 7,23,'0123456789','2020-01-7 10:00:00.99','2020-01-11') + ,(14,'01234567890123456789', 32,23,'0123456789','2020-01-11 10:00:00.99','2020-01-11'),(1,'01234567890123456789', 8,23,'0123456789','2020-01-11 10:00:00.99','2020-01-11');""" + + qt_smallint """explain shape plan + select d_int,max(d_smallint) from max_min_filter_push_down2 group by d_int having max(d_smallint)>10;""" + qt_tinyint """explain shape plan + select d_int,min(d_tinyint) from max_min_filter_push_down2 group by d_int having min(d_tinyint)<10;""" + qt_char100 """explain shape plan + select d_int,max(d_char100) from max_min_filter_push_down2 group by d_int having max(d_char100)>'ab';""" + qt_char100_cmp_num_cannot_rewrite """explain shape plan + select d_int,min(d_char100) from max_min_filter_push_down2 group by d_int having min(d_char100)<10;""" + qt_datetimev2 """explain shape plan + select d_int,min(d_datetimev2) from max_min_filter_push_down2 group by d_int having min(d_datetimev2)<'2020-01-09';""" + qt_datev2 """explain shape plan + select d_int,max(d_datev2) from max_min_filter_push_down2 group by d_int having max(d_datev2)>'2020-01-09 10:00:00';""" + qt_smallint_group_by_key """explain shape plan + select max(d_smallint) from max_min_filter_push_down2 group by d_smallint having max(d_smallint)>10;""" + qt_tinyint_group_by_key """explain shape plan + select min(d_tinyint) from max_min_filter_push_down2 group by d_tinyint having min(d_tinyint)<10;""" + qt_char100_group_by_key """explain shape plan + select max(d_char100) from max_min_filter_push_down2 group by d_char100 having max(d_char100)>'ab';""" + + qt_smallint_res """select d_int,max(d_smallint) from max_min_filter_push_down2 group by d_int having max(d_smallint)>10 order by 1,2;""" + qt_tinyint_res """select d_int,min(d_tinyint) from max_min_filter_push_down2 group by d_int having min(d_tinyint)<10 order by 1,2;""" + qt_char100_res """select d_int,max(d_char100) from max_min_filter_push_down2 group by d_int having max(d_char100)>'ab' order by 1,2;""" + qt_char100_cmp_num_cannot_rewrite_res """select d_int,min(d_char100) from max_min_filter_push_down2 group by d_int having min(d_char100)<10 order by 1,2;""" + qt_datetimev2_res """select d_int,min(d_datetimev2) from max_min_filter_push_down2 group by d_int having min(d_datetimev2)<'2020-01-09' order by 1,2;""" + qt_datev2_res """select d_int,max(d_datev2) from max_min_filter_push_down2 group by d_int having max(d_datev2)>'2020-01-09 10:00:00' order by 1,2;""" + qt_smallint_group_by_key_res """select max(d_smallint) from max_min_filter_push_down2 group by d_smallint having max(d_smallint)>10 order by 1;""" + qt_tinyint_group_by_key_res """select min(d_tinyint) from max_min_filter_push_down2 group by d_tinyint having min(d_tinyint)<10 order by 1;""" + qt_char100_group_by_key_res """select max(d_char100) from max_min_filter_push_down2 group by d_char100 having max(d_char100)>'ab' order by 1;""" +} \ No newline at end of file From 08a3e56c2c3cc1b3aea1c5c309bb3dd33c3a490f Mon Sep 17 00:00:00 2001 From: zclllhhjj Date: Wed, 4 Sep 2024 12:50:44 +0800 Subject: [PATCH 033/199] [Fix](function) Refine crypto functions signature to fix wrong result (#40285) ## Proposed changes Issue Number: close #xxx 1. remove all `aes/sm4_{encrypt/decrypt}_v2` functions signatures. 2. before for 2 args, always use `XXX_128_ECB`, now fixed it. we will use `block_encryption_mode` when 2/3 args are given. 2.1. before this, we wrongly used `AES_128_ECB` for SM4_ENCRYPT 4. for `AES_ENCRYPT` with 2 args, we wrongly use `'AES_128_ECB'` as its default initial string. now fixed it. docs: https://github.com/apache/doris-website/pull/1083 --- .../doris/analysis/FunctionCallExpr.java | 87 +++---------------- .../doris/catalog/BuiltinScalarFunctions.java | 8 -- .../functions/scalar/AesDecrypt.java | 14 +-- .../functions/scalar/AesDecryptV2.java | 74 ---------------- .../functions/scalar/AesEncrypt.java | 14 +-- .../functions/scalar/AesEncryptV2.java | 74 ---------------- .../functions/scalar/Sm4Decrypt.java | 15 +--- .../functions/scalar/Sm4DecryptV2.java | 69 --------------- .../functions/scalar/Sm4Encrypt.java | 15 +--- .../functions/scalar/Sm4EncryptV2.java | 72 --------------- .../visitor/ScalarFunctionVisitor.java | 20 ----- .../test_encryption_function.out | 80 +---------------- .../test_encryption_function.out | 64 +------------- .../scalar_function/S.groovy | 51 +---------- .../test_encryption_function.groovy | 73 +--------------- .../test_encryption_function.groovy | 62 +------------ 16 files changed, 29 insertions(+), 763 deletions(-) delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecryptV2.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncryptV2.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4DecryptV2.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4EncryptV2.java diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java index 4041fa4873b5be..a1d89e12ec43b0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java @@ -645,11 +645,7 @@ private String paramsToSql() { && (fnName.getFunction().equalsIgnoreCase("aes_decrypt") || fnName.getFunction().equalsIgnoreCase("aes_encrypt") || fnName.getFunction().equalsIgnoreCase("sm4_decrypt") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt") - || fnName.getFunction().equalsIgnoreCase("aes_decrypt_v2") - || fnName.getFunction().equalsIgnoreCase("aes_encrypt_v2") - || fnName.getFunction().equalsIgnoreCase("sm4_decrypt_v2") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt_v2"))) { + || fnName.getFunction().equalsIgnoreCase("sm4_encrypt"))) { sb.append("\'***\'"); } else if (orderByElements.size() > 0 && i == len - orderByElements.size()) { sb.append("ORDER BY "); @@ -734,22 +730,13 @@ private String paramsToDigest() { if (fnName.getFunction().equalsIgnoreCase("aes_decrypt") || fnName.getFunction().equalsIgnoreCase("aes_encrypt") || fnName.getFunction().equalsIgnoreCase("sm4_decrypt") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt") - || fnName.getFunction().equalsIgnoreCase("aes_decrypt_v2") - || fnName.getFunction().equalsIgnoreCase("aes_encrypt_v2") - || fnName.getFunction().equalsIgnoreCase("sm4_decrypt_v2") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt_v2")) { + || fnName.getFunction().equalsIgnoreCase("sm4_encrypt")) { len = len - 1; } for (int i = 0; i < len; ++i) { if (i == 1 && (fnName.getFunction().equalsIgnoreCase("aes_decrypt") || fnName.getFunction().equalsIgnoreCase("aes_encrypt") - || fnName.getFunction().equalsIgnoreCase("sm4_decrypt") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt") - || fnName.getFunction().equalsIgnoreCase("aes_decrypt_v2") - || fnName.getFunction().equalsIgnoreCase("aes_encrypt_v2") - || fnName.getFunction().equalsIgnoreCase("sm4_decrypt_v2") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt_v2"))) { + || fnName.getFunction().equalsIgnoreCase("sm4_decrypt"))) { result.add("\'***\'"); } else { result.add(children.get(i).toDigest()); @@ -1152,13 +1139,8 @@ private void analyzeBuiltinAggFunction(Analyzer analyzer) throws AnalysisExcepti if ((fnName.getFunction().equalsIgnoreCase("aes_decrypt") || fnName.getFunction().equalsIgnoreCase("aes_encrypt") || fnName.getFunction().equalsIgnoreCase("sm4_decrypt") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt") - || fnName.getFunction().equalsIgnoreCase("aes_decrypt_v2") - || fnName.getFunction().equalsIgnoreCase("aes_encrypt_v2") - || fnName.getFunction().equalsIgnoreCase("sm4_decrypt_v2") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt_v2")) + || fnName.getFunction().equalsIgnoreCase("sm4_encrypt")) && (children.size() == 2 || children.size() == 3)) { - String blockEncryptionMode = ""; Set aesModes = new HashSet<>(Arrays.asList( "AES_128_ECB", "AES_192_ECB", @@ -1192,43 +1174,20 @@ private void analyzeBuiltinAggFunction(Analyzer analyzer) throws AnalysisExcepti "SM4_128_OFB", "SM4_128_CTR")); + String blockEncryptionMode = ""; if (ConnectContext.get() != null) { blockEncryptionMode = ConnectContext.get().getSessionVariable().getBlockEncryptionMode(); if (fnName.getFunction().equalsIgnoreCase("aes_decrypt") - || fnName.getFunction().equalsIgnoreCase("aes_encrypt") - || fnName.getFunction().equalsIgnoreCase("aes_decrypt_v2") - || fnName.getFunction().equalsIgnoreCase("aes_encrypt_v2")) { + || fnName.getFunction().equalsIgnoreCase("aes_encrypt")) { if (StringUtils.isAllBlank(blockEncryptionMode)) { blockEncryptionMode = "AES_128_ECB"; } if (!aesModes.contains(blockEncryptionMode.toUpperCase())) { throw new AnalysisException("session variable block_encryption_mode is invalid with aes"); } - if (children.size() == 2) { - boolean isECB = blockEncryptionMode.equalsIgnoreCase("AES_128_ECB") - || blockEncryptionMode.equalsIgnoreCase("AES_192_ECB") - || blockEncryptionMode.equalsIgnoreCase("AES_256_ECB"); - if (fnName.getFunction().equalsIgnoreCase("aes_decrypt_v2")) { - if (!isECB) { - throw new AnalysisException( - "Incorrect parameter count in the call to native function 'aes_decrypt'"); - } - } else if (fnName.getFunction().equalsIgnoreCase("aes_encrypt_v2")) { - if (!isECB) { - throw new AnalysisException( - "Incorrect parameter count in the call to native function 'aes_encrypt'"); - } - } else { - // if there are only 2 params, we need set encryption mode to AES_128_ECB - // this keeps the behavior consistent with old doris ver. - blockEncryptionMode = "AES_128_ECB"; - } - } } if (fnName.getFunction().equalsIgnoreCase("sm4_decrypt") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt") - || fnName.getFunction().equalsIgnoreCase("sm4_decrypt_v2") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt_v2")) { + || fnName.getFunction().equalsIgnoreCase("sm4_encrypt")) { if (StringUtils.isAllBlank(blockEncryptionMode)) { blockEncryptionMode = "SM4_128_ECB"; } @@ -1236,36 +1195,12 @@ private void analyzeBuiltinAggFunction(Analyzer analyzer) throws AnalysisExcepti throw new AnalysisException( "session variable block_encryption_mode is invalid with sm4"); } - if (children.size() == 2) { - if (fnName.getFunction().equalsIgnoreCase("sm4_decrypt_v2")) { - throw new AnalysisException( - "Incorrect parameter count in the call to native function 'sm4_decrypt'"); - } else if (fnName.getFunction().equalsIgnoreCase("sm4_encrypt_v2")) { - throw new AnalysisException( - "Incorrect parameter count in the call to native function 'sm4_encrypt'"); - } else { - // if there are only 2 params, we need add an empty string as the third param - // and set encryption mode to SM4_128_ECB - // this keeps the behavior consistent with old doris ver. - children.add(new StringLiteral("")); - blockEncryptionMode = "SM4_128_ECB"; - } - } } + } else { + throw new AnalysisException("cannot get session variable `block_encryption_mode`, " + + "please explicitly specify by using 4-args function"); } - if (!blockEncryptionMode.equals(children.get(children.size() - 1).toString())) { - children.add(new StringLiteral(blockEncryptionMode)); - } - - if (fnName.getFunction().equalsIgnoreCase("aes_decrypt_v2")) { - fnName = FunctionName.createBuiltinName("aes_decrypt"); - } else if (fnName.getFunction().equalsIgnoreCase("aes_encrypt_v2")) { - fnName = FunctionName.createBuiltinName("aes_encrypt"); - } else if (fnName.getFunction().equalsIgnoreCase("sm4_decrypt_v2")) { - fnName = FunctionName.createBuiltinName("sm4_decrypt"); - } else if (fnName.getFunction().equalsIgnoreCase("sm4_encrypt_v2")) { - fnName = FunctionName.createBuiltinName("sm4_encrypt"); - } + children.add(new StringLiteral(blockEncryptionMode)); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java index 383a8bbc4fee3c..bcb0864b64f2e2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java @@ -22,9 +22,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.Abs; import org.apache.doris.nereids.trees.expressions.functions.scalar.Acos; import org.apache.doris.nereids.trees.expressions.functions.scalar.AesDecrypt; -import org.apache.doris.nereids.trees.expressions.functions.scalar.AesDecryptV2; import org.apache.doris.nereids.trees.expressions.functions.scalar.AesEncrypt; -import org.apache.doris.nereids.trees.expressions.functions.scalar.AesEncryptV2; import org.apache.doris.nereids.trees.expressions.functions.scalar.AppendTrailingCharIfAbsent; import org.apache.doris.nereids.trees.expressions.functions.scalar.Array; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayApply; @@ -370,9 +368,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm3; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm3sum; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm4Decrypt; -import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm4DecryptV2; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm4Encrypt; -import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm4EncryptV2; import org.apache.doris.nereids.trees.expressions.functions.scalar.Space; import org.apache.doris.nereids.trees.expressions.functions.scalar.SplitByChar; import org.apache.doris.nereids.trees.expressions.functions.scalar.SplitByRegexp; @@ -479,9 +475,7 @@ public class BuiltinScalarFunctions implements FunctionHelper { scalar(Abs.class, "abs"), scalar(Acos.class, "acos"), scalar(AesDecrypt.class, "aes_decrypt"), - scalar(AesDecryptV2.class, "aes_decrypt_v2"), scalar(AesEncrypt.class, "aes_encrypt"), - scalar(AesEncryptV2.class, "aes_encrypt_v2"), scalar(AppendTrailingCharIfAbsent.class, "append_trailing_char_if_absent"), scalar(Array.class, "array"), scalar(ArrayApply.class, "array_apply"), @@ -849,9 +843,7 @@ public class BuiltinScalarFunctions implements FunctionHelper { scalar(Sm3.class, "sm3"), scalar(Sm3sum.class, "sm3sum"), scalar(Sm4Decrypt.class, "sm4_decrypt"), - scalar(Sm4DecryptV2.class, "sm4_decrypt_v2"), scalar(Sm4Encrypt.class, "sm4_encrypt"), - scalar(Sm4EncryptV2.class, "sm4_encrypt_v2"), scalar(Space.class, "space"), scalar(SplitByChar.class, "split_by_char"), scalar(SplitByRegexp.class, "split_by_regexp"), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecrypt.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecrypt.java index 5e7d760b0810a0..7608cf4e40ea35 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecrypt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecrypt.java @@ -18,7 +18,6 @@ package org.apache.doris.nereids.trees.expressions.functions.scalar; import org.apache.doris.catalog.FunctionSignature; -import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.literal.StringLiteral; import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; @@ -58,16 +57,7 @@ public class AesDecrypt extends AesCryptoFunction { * AesDecrypt */ public AesDecrypt(Expression arg0, Expression arg1) { - // if there are only 2 params, we need set encryption mode to AES_128_ECB - // this keeps the behavior consistent with old doris ver. - super("aes_decrypt", arg0, arg1, new StringLiteral("AES_128_ECB")); - - // check if encryptionMode from session variables is valid - StringLiteral encryptionMode = CryptoFunction.getDefaultBlockEncryptionMode("AES_128_ECB"); - if (!AES_MODES.contains(encryptionMode.getValue())) { - throw new AnalysisException( - "session variable block_encryption_mode is invalid with aes"); - } + super("aes_decrypt", arg0, arg1, new StringLiteral(""), getDefaultBlockEncryptionMode()); } public AesDecrypt(Expression arg0, Expression arg1, Expression arg2) { @@ -89,7 +79,7 @@ public AesDecrypt withChildren(List children) { } else if (children().size() == 3) { return new AesDecrypt(children.get(0), children.get(1), children.get(2)); } else { - return new AesDecrypt(children.get(0), children.get(1), children.get(2), (StringLiteral) children.get(3)); + return new AesDecrypt(children.get(0), children.get(1), children.get(2), children.get(3)); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecryptV2.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecryptV2.java deleted file mode 100644 index 3a5a8121cff119..00000000000000 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecryptV2.java +++ /dev/null @@ -1,74 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.doris.nereids.trees.expressions.functions.scalar; - -import org.apache.doris.nereids.exceptions.AnalysisException; -import org.apache.doris.nereids.trees.expressions.Expression; -import org.apache.doris.nereids.trees.expressions.literal.StringLiteral; -import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; - -import com.google.common.base.Preconditions; - -import java.util.List; - -/** - * ScalarFunction 'aes_decrypt'. This class is generated by GenerateFunction. - */ -public class AesDecryptV2 extends AesDecrypt { - - /** - * AesDecryptV2 - */ - public AesDecryptV2(Expression arg0, Expression arg1) { - super(arg0, arg1, getDefaultBlockEncryptionMode()); - String blockEncryptionMode = String.valueOf(getDefaultBlockEncryptionMode()); - if (!blockEncryptionMode.toUpperCase().equals("'AES_128_ECB'") - && !blockEncryptionMode.toUpperCase().equals("'AES_192_ECB'") - && !blockEncryptionMode.toUpperCase().equals("'AES_256_ECB'")) { - throw new AnalysisException("Incorrect parameter count in the call to native function 'aes_decrypt'"); - } - } - - public AesDecryptV2(Expression arg0, Expression arg1, Expression arg2) { - super(arg0, arg1, arg2); - } - - public AesDecryptV2(Expression arg0, Expression arg1, Expression arg2, Expression arg3) { - super(arg0, arg1, arg2, arg3); - } - - /** - * withChildren. - */ - @Override - public AesDecryptV2 withChildren(List children) { - Preconditions.checkArgument(children.size() >= 2 && children.size() <= 4); - if (children.size() == 2) { - return new AesDecryptV2(children.get(0), children.get(1)); - } else if (children().size() == 3) { - return new AesDecryptV2(children.get(0), children.get(1), children.get(2)); - } else { - return new AesDecryptV2(children.get(0), children.get(1), children.get(2), (StringLiteral) children.get(3)); - } - } - - @Override - public R accept(ExpressionVisitor visitor, C context) { - return visitor.visitAesDecryptV2(this, context); - } -} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncrypt.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncrypt.java index ef99bdbe21db60..455d6b0dbd5645 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncrypt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncrypt.java @@ -18,7 +18,6 @@ package org.apache.doris.nereids.trees.expressions.functions.scalar; import org.apache.doris.catalog.FunctionSignature; -import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.literal.StringLiteral; import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; @@ -58,16 +57,7 @@ public class AesEncrypt extends AesCryptoFunction { * Some javadoc for checkstyle... */ public AesEncrypt(Expression arg0, Expression arg1) { - // if there are only 2 params, we need set encryption mode to AES_128_ECB - // this keeps the behavior consistent with old doris ver. - super("aes_encrypt", arg0, arg1, new StringLiteral("AES_128_ECB")); - - // check if encryptionMode from session variables is valid - StringLiteral encryptionMode = CryptoFunction.getDefaultBlockEncryptionMode("AES_128_ECB"); - if (!AES_MODES.contains(encryptionMode.getValue())) { - throw new AnalysisException( - "session variable block_encryption_mode is invalid with aes"); - } + super("aes_encrypt", arg0, arg1, new StringLiteral(""), getDefaultBlockEncryptionMode()); } public AesEncrypt(Expression arg0, Expression arg1, Expression arg2) { @@ -89,7 +79,7 @@ public AesEncrypt withChildren(List children) { } else if (children().size() == 3) { return new AesEncrypt(children.get(0), children.get(1), children.get(2)); } else { - return new AesEncrypt(children.get(0), children.get(1), children.get(2), (StringLiteral) children.get(3)); + return new AesEncrypt(children.get(0), children.get(1), children.get(2), children.get(3)); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncryptV2.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncryptV2.java deleted file mode 100644 index 08e1d1e915e52e..00000000000000 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncryptV2.java +++ /dev/null @@ -1,74 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.doris.nereids.trees.expressions.functions.scalar; - -import org.apache.doris.nereids.exceptions.AnalysisException; -import org.apache.doris.nereids.trees.expressions.Expression; -import org.apache.doris.nereids.trees.expressions.literal.StringLiteral; -import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; - -import com.google.common.base.Preconditions; - -import java.util.List; - -/** - * ScalarFunction 'aes_encrypt'. This class is generated by GenerateFunction. - */ -public class AesEncryptV2 extends AesEncrypt { - - /** - * AesEncryptV2 - */ - public AesEncryptV2(Expression arg0, Expression arg1) { - super(arg0, arg1, getDefaultBlockEncryptionMode()); - String blockEncryptionMode = String.valueOf(getDefaultBlockEncryptionMode()); - if (!blockEncryptionMode.toUpperCase().equals("'AES_128_ECB'") - && !blockEncryptionMode.toUpperCase().equals("'AES_192_ECB'") - && !blockEncryptionMode.toUpperCase().equals("'AES_256_ECB'")) { - throw new AnalysisException("Incorrect parameter count in the call to native function 'aes_encrypt'"); - } - } - - public AesEncryptV2(Expression arg0, Expression arg1, Expression arg2) { - super(arg0, arg1, arg2); - } - - public AesEncryptV2(Expression arg0, Expression arg1, Expression arg2, Expression arg3) { - super(arg0, arg1, arg2, arg3); - } - - /** - * withChildren. - */ - @Override - public AesEncryptV2 withChildren(List children) { - Preconditions.checkArgument(children.size() >= 2 && children.size() <= 4); - if (children.size() == 2) { - return new AesEncryptV2(children.get(0), children.get(1)); - } else if (children().size() == 3) { - return new AesEncryptV2(children.get(0), children.get(1), children.get(2)); - } else { - return new AesEncryptV2(children.get(0), children.get(1), children.get(2), (StringLiteral) children.get(3)); - } - } - - @Override - public R accept(ExpressionVisitor visitor, C context) { - return visitor.visitAesEncryptV2(this, context); - } -} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4Decrypt.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4Decrypt.java index 6e0f2bb48de1f0..c87c2a42c16e5a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4Decrypt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4Decrypt.java @@ -18,7 +18,6 @@ package org.apache.doris.nereids.trees.expressions.functions.scalar; import org.apache.doris.catalog.FunctionSignature; -import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.literal.StringLiteral; import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; @@ -63,17 +62,7 @@ public class Sm4Decrypt extends Sm4CryptoFunction { * constructor with 2 arguments. */ public Sm4Decrypt(Expression arg0, Expression arg1) { - // if there are only 2 params, we need add an empty string as the third param - // and set encryption mode to SM4_128_ECB - // this keeps the behavior consistent with old doris ver. - super("sm4_decrypt", arg0, arg1, new StringLiteral(""), new StringLiteral("SM4_128_ECB")); - - // check if encryptionMode from session variables is valid - StringLiteral encryptionMode = CryptoFunction.getDefaultBlockEncryptionMode("SM4_128_ECB"); - if (!SM4_MODES.contains(encryptionMode.getValue())) { - throw new AnalysisException( - "session variable block_encryption_mode is invalid with sm4"); - } + super("sm4_decrypt", arg0, arg1, new StringLiteral(""), getDefaultBlockEncryptionMode()); } /** @@ -98,7 +87,7 @@ public Sm4Decrypt withChildren(List children) { } else if (children().size() == 3) { return new Sm4Decrypt(children.get(0), children.get(1), children.get(2)); } else { - return new Sm4Decrypt(children.get(0), children.get(1), children.get(2), (StringLiteral) children.get(3)); + return new Sm4Decrypt(children.get(0), children.get(1), children.get(2), children.get(3)); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4DecryptV2.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4DecryptV2.java deleted file mode 100644 index 4c743a82945068..00000000000000 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4DecryptV2.java +++ /dev/null @@ -1,69 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.doris.nereids.trees.expressions.functions.scalar; - -import org.apache.doris.nereids.exceptions.AnalysisException; -import org.apache.doris.nereids.trees.expressions.Expression; -import org.apache.doris.nereids.trees.expressions.literal.StringLiteral; -import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; - -import com.google.common.base.Preconditions; - -import java.util.List; - -/** - * ScalarFunction 'sm4_decrypt'. This class is generated by GenerateFunction. - */ -public class Sm4DecryptV2 extends Sm4Decrypt { - - /** - * Sm4DecryptV2 - */ - public Sm4DecryptV2(Expression arg0, Expression arg1) { - super(arg0, arg1); - throw new AnalysisException("Incorrect parameter count in the call to native function 'sm4_decrypt'"); - } - - public Sm4DecryptV2(Expression arg0, Expression arg1, Expression arg2) { - super(arg0, arg1, arg2); - } - - public Sm4DecryptV2(Expression arg0, Expression arg1, Expression arg2, Expression arg3) { - super(arg0, arg1, arg2, arg3); - } - - /** - * withChildren. - */ - @Override - public Sm4DecryptV2 withChildren(List children) { - Preconditions.checkArgument(children.size() >= 2 && children.size() <= 4); - if (children.size() == 2) { - return new Sm4DecryptV2(children.get(0), children.get(1)); - } else if (children().size() == 3) { - return new Sm4DecryptV2(children.get(0), children.get(1), children.get(2)); - } else { - return new Sm4DecryptV2(children.get(0), children.get(1), children.get(2), (StringLiteral) children.get(3)); - } - } - - @Override - public R accept(ExpressionVisitor visitor, C context) { - return visitor.visitSm4DecryptV2(this, context); - } -} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4Encrypt.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4Encrypt.java index 00525558d41982..dbf5c61db07de5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4Encrypt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4Encrypt.java @@ -18,7 +18,6 @@ package org.apache.doris.nereids.trees.expressions.functions.scalar; import org.apache.doris.catalog.FunctionSignature; -import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.literal.StringLiteral; import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; @@ -58,17 +57,7 @@ public class Sm4Encrypt extends Sm4CryptoFunction { * constructor with 2 arguments. */ public Sm4Encrypt(Expression arg0, Expression arg1) { - // if there are only 2 params, we need add an empty string as the third param - // and set encryption mode to SM4_128_ECB - // this keeps the behavior consistent with old doris ver. - super("sm4_encrypt", arg0, arg1, new StringLiteral(""), new StringLiteral("SM4_128_ECB")); - - // check if encryptionMode from session variables is valid - StringLiteral encryptionMode = CryptoFunction.getDefaultBlockEncryptionMode("SM4_128_ECB"); - if (!SM4_MODES.contains(encryptionMode.getValue())) { - throw new AnalysisException( - "session variable block_encryption_mode is invalid with sm4"); - } + super("sm4_encrypt", arg0, arg1, new StringLiteral(""), getDefaultBlockEncryptionMode()); } /** @@ -93,7 +82,7 @@ public Sm4Encrypt withChildren(List children) { } else if (children().size() == 3) { return new Sm4Encrypt(children.get(0), children.get(1), children.get(2)); } else { - return new Sm4Encrypt(children.get(0), children.get(1), children.get(2), (StringLiteral) children.get(3)); + return new Sm4Encrypt(children.get(0), children.get(1), children.get(2), children.get(3)); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4EncryptV2.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4EncryptV2.java deleted file mode 100644 index 7c895fc3090596..00000000000000 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4EncryptV2.java +++ /dev/null @@ -1,72 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.doris.nereids.trees.expressions.functions.scalar; - -import org.apache.doris.nereids.exceptions.AnalysisException; -import org.apache.doris.nereids.trees.expressions.Expression; -import org.apache.doris.nereids.trees.expressions.literal.StringLiteral; -import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; - -import com.google.common.base.Preconditions; - -import java.util.List; - -/** - * ScalarFunction 'sm4_encrypt'. This class is generated by GenerateFunction. - */ -public class Sm4EncryptV2 extends Sm4Encrypt { - - /** - * constructor with 2 arguments. - */ - public Sm4EncryptV2(Expression arg0, Expression arg1) { - super(arg0, arg1); - throw new AnalysisException("Incorrect parameter count in the call to native function 'sm4_encrypt'"); - } - - /** - * constructor with 3 arguments. - */ - public Sm4EncryptV2(Expression arg0, Expression arg1, Expression arg2) { - super(arg0, arg1, arg2); - } - - public Sm4EncryptV2(Expression arg0, Expression arg1, Expression arg2, Expression arg3) { - super(arg0, arg1, arg2, arg3); - } - - /** - * withChildren. - */ - @Override - public Sm4EncryptV2 withChildren(List children) { - Preconditions.checkArgument(children.size() >= 2 && children.size() <= 4); - if (children.size() == 2) { - return new Sm4EncryptV2(children.get(0), children.get(1)); - } else if (children().size() == 3) { - return new Sm4EncryptV2(children.get(0), children.get(1), children.get(2)); - } else { - return new Sm4EncryptV2(children.get(0), children.get(1), children.get(2), (StringLiteral) children.get(3)); - } - } - - @Override - public R accept(ExpressionVisitor visitor, C context) { - return visitor.visitSm4EncryptV2(this, context); - } -} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java index 5d47094f247e8c..20772ae716be2f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java @@ -24,9 +24,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.Abs; import org.apache.doris.nereids.trees.expressions.functions.scalar.Acos; import org.apache.doris.nereids.trees.expressions.functions.scalar.AesDecrypt; -import org.apache.doris.nereids.trees.expressions.functions.scalar.AesDecryptV2; import org.apache.doris.nereids.trees.expressions.functions.scalar.AesEncrypt; -import org.apache.doris.nereids.trees.expressions.functions.scalar.AesEncryptV2; import org.apache.doris.nereids.trees.expressions.functions.scalar.AppendTrailingCharIfAbsent; import org.apache.doris.nereids.trees.expressions.functions.scalar.Array; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayApply; @@ -368,9 +366,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm3; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm3sum; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm4Decrypt; -import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm4DecryptV2; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm4Encrypt; -import org.apache.doris.nereids.trees.expressions.functions.scalar.Sm4EncryptV2; import org.apache.doris.nereids.trees.expressions.functions.scalar.Space; import org.apache.doris.nereids.trees.expressions.functions.scalar.SplitByChar; import org.apache.doris.nereids.trees.expressions.functions.scalar.SplitByRegexp; @@ -480,18 +476,10 @@ default R visitAesDecrypt(AesDecrypt aesDecrypt, C context) { return visitScalarFunction(aesDecrypt, context); } - default R visitAesDecryptV2(AesDecryptV2 aesDecryptV2, C context) { - return visitScalarFunction(aesDecryptV2, context); - } - default R visitAesEncrypt(AesEncrypt aesEncrypt, C context) { return visitScalarFunction(aesEncrypt, context); } - default R visitAesEncryptV2(AesEncryptV2 aesEncryptV2, C context) { - return visitScalarFunction(aesEncryptV2, context); - } - default R visitAppendTrailingCharIfAbsent(AppendTrailingCharIfAbsent function, C context) { return visitScalarFunction(function, context); } @@ -1836,18 +1824,10 @@ default R visitSm4Decrypt(Sm4Decrypt sm4Decrypt, C context) { return visitScalarFunction(sm4Decrypt, context); } - default R visitSm4DecryptV2(Sm4DecryptV2 sm4DecryptV2, C context) { - return visitScalarFunction(sm4DecryptV2, context); - } - default R visitSm4Encrypt(Sm4Encrypt sm4Encrypt, C context) { return visitScalarFunction(sm4Encrypt, context); } - default R visitSm4EncryptV2(Sm4EncryptV2 sm4EncryptV2, C context) { - return visitScalarFunction(sm4EncryptV2, context); - } - default R visitSpace(Space space, C context) { return visitScalarFunction(space, context); } diff --git a/regression-test/data/nereids_p0/sql_functions/encryption_digest/test_encryption_function.out b/regression-test/data/nereids_p0/sql_functions/encryption_digest/test_encryption_function.out index c1f7d7b1c9d407..7a91c1dbf720ed 100644 --- a/regression-test/data/nereids_p0/sql_functions/encryption_digest/test_encryption_function.out +++ b/regression-test/data/nereids_p0/sql_functions/encryption_digest/test_encryption_function.out @@ -11,33 +11,6 @@ text -- !sql -- \N --- !sql -- -wr2JEDVXzL9+2XtRhgIloA== - --- !sql -- -wr2JEDVXzL9+2XtRhgIloA== - --- !sql -- -text - --- !sql -- -\N - --- !sql -- -wr2JEDVXzL9+2XtRhgIloA== - --- !sql -- -BO2vxHeUcw5BQQalSBbo1w== - --- !sql -- -text - --- !sql -- -\N - --- !sql -- -text - -- !sql -- BO2vxHeUcw5BQQalSBbo1w== @@ -54,25 +27,7 @@ text text -- !sql -- -wr2JEDVXzL9+2XtRhgIloA== - --- !sql -- -tsmK1HzbpnEdR2//WhO+MA== - --- !sql -- -ciacXDLHMNG7CD9Kws8png== - --- !sql -- -text - --- !sql -- -\N - --- !sql -- -text - --- !sql -- -text +3dym0E7/+1zbrLIaBVNHSw== -- !sql -- tsmK1HzbpnEdR2//WhO+MA== @@ -83,45 +38,12 @@ ciacXDLHMNG7CD9Kws8png== -- !sql -- \N --- !sql -- -text - --- !sql -- -text - --- !sql -- -aDjwRflBrDjhBZIOFNw3Tg== - --- !sql -- -1Y4NGIukSbv9OrkZnRD1bQ== - --- !sql -- -G5POcFAJwiZHeTtN6DjInQ== - --- !sql -- -text - --- !sql -- -text - -- !sql -- \N -- !sql -- text --- !sql -- -1Y4NGIukSbv9OrkZnRD1bQ== - --- !sql -- -G5POcFAJwiZHeTtN6DjInQ== - --- !sql -- -text - --- !sql -- -\N - -- !sql -- text diff --git a/regression-test/data/query_p0/sql_functions/encryption_digest/test_encryption_function.out b/regression-test/data/query_p0/sql_functions/encryption_digest/test_encryption_function.out index 9e920596f894cf..721412dc0364c1 100644 --- a/regression-test/data/query_p0/sql_functions/encryption_digest/test_encryption_function.out +++ b/regression-test/data/query_p0/sql_functions/encryption_digest/test_encryption_function.out @@ -11,33 +11,6 @@ text -- !sql -- \N --- !sql -- -wr2JEDVXzL9+2XtRhgIloA== - --- !sql -- -wr2JEDVXzL9+2XtRhgIloA== - --- !sql -- -text - --- !sql -- -\N - --- !sql -- -wr2JEDVXzL9+2XtRhgIloA== - --- !sql -- -BO2vxHeUcw5BQQalSBbo1w== - --- !sql -- -text - --- !sql -- -\N - --- !sql -- -text - -- !sql -- BO2vxHeUcw5BQQalSBbo1w== @@ -54,25 +27,7 @@ text text -- !sql -- -wr2JEDVXzL9+2XtRhgIloA== - --- !sql -- -tsmK1HzbpnEdR2//WhO+MA== - --- !sql -- -ciacXDLHMNG7CD9Kws8png== - --- !sql -- -text - --- !sql -- -\N - --- !sql -- -text - --- !sql -- -text +3dym0E7/+1zbrLIaBVNHSw== -- !sql -- tsmK1HzbpnEdR2//WhO+MA== @@ -93,7 +48,7 @@ text text -- !sql -- -aDjwRflBrDjhBZIOFNw3Tg== +FSYstvOmH2cXy7B/072Mug== -- !sql -- 1Y4NGIukSbv9OrkZnRD1bQ== @@ -101,27 +56,12 @@ aDjwRflBrDjhBZIOFNw3Tg== -- !sql -- G5POcFAJwiZHeTtN6DjInQ== --- !sql -- -text - --- !sql -- -text - -- !sql -- \N -- !sql -- text --- !sql -- -1Y4NGIukSbv9OrkZnRD1bQ== - --- !sql -- -G5POcFAJwiZHeTtN6DjInQ== - --- !sql -- -text - -- !sql -- \N diff --git a/regression-test/suites/nereids_function_p0/scalar_function/S.groovy b/regression-test/suites/nereids_function_p0/scalar_function/S.groovy index ea6cc5c817e2a2..98a8685a88840b 100644 --- a/regression-test/suites/nereids_function_p0/scalar_function/S.groovy +++ b/regression-test/suites/nereids_function_p0/scalar_function/S.groovy @@ -97,26 +97,11 @@ suite("nereids_scalar_fn_S") { qt_sql_sm3sum_Varchar_notnull "select sm3sum(kvchrs1) from fn_test_not_nullable order by kvchrs1" qt_sql_sm3sum_String "select sm3sum(kstr) from fn_test order by kstr" qt_sql_sm3sum_String_notnull "select sm3sum(kstr) from fn_test_not_nullable order by kstr" + sql "select sm4_decrypt(kvchrs1, kvchrs1) from fn_test order by kvchrs1, kvchrs1" - test { - sql "select sm4_decrypt_v2(kvchrs1, kvchrs1) from fn_test order by kvchrs1, kvchrs1" - exception "Incorrect parameter count in the call to native function 'sm4_decrypt'" - } sql "select sm4_decrypt(kvchrs1, kvchrs1) from fn_test_not_nullable order by kvchrs1, kvchrs1" - test { - sql "select sm4_decrypt_v2(kvchrs1, kvchrs1) from fn_test_not_nullable order by kvchrs1, kvchrs1" - exception "Incorrect parameter count in the call to native function 'sm4_decrypt'" - } sql "select sm4_decrypt(kstr, kstr) from fn_test order by kstr, kstr" - test { - sql "select sm4_decrypt_v2(kstr, kstr) from fn_test order by kstr, kstr" - exception "Incorrect parameter count in the call to native function 'sm4_decrypt'" - } sql "select sm4_decrypt(kstr, kstr) from fn_test_not_nullable order by kstr, kstr" - test { - sql "select sm4_decrypt_v2(kstr, kstr) from fn_test_not_nullable order by kstr, kstr" - exception "Incorrect parameter count in the call to native function 'sm4_decrypt'" - } sql "select sm4_decrypt(kvchrs1, kvchrs1, kvchrs1) from fn_test order by kvchrs1, kvchrs1, kvchrs1" sql "select sm4_decrypt(kvchrs1, kvchrs1, kvchrs1) from fn_test_not_nullable order by kvchrs1, kvchrs1, kvchrs1" sql "select sm4_decrypt(kstr, kstr, kstr) from fn_test order by kstr, kstr, kstr" @@ -125,34 +110,11 @@ suite("nereids_scalar_fn_S") { sql "select sm4_decrypt(kvchrs1, kvchrs1, kvchrs1, 'SM4_128_ECB') from fn_test_not_nullable order by kvchrs1, kvchrs1, kvchrs1" sql "select sm4_decrypt(kstr, kstr, kstr, 'SM4_128_ECB') from fn_test order by kstr, kstr, kstr" sql "select sm4_decrypt(kstr, kstr, kstr, 'SM4_128_ECB') from fn_test_not_nullable order by kstr, kstr, kstr" - sql "select sm4_decrypt_v2(kvchrs1, kvchrs1, kvchrs1) from fn_test order by kvchrs1, kvchrs1, kvchrs1" - sql "select sm4_decrypt_v2(kvchrs1, kvchrs1, kvchrs1) from fn_test_not_nullable order by kvchrs1, kvchrs1, kvchrs1" - sql "select sm4_decrypt_v2(kstr, kstr, kstr) from fn_test order by kstr, kstr, kstr" - sql "select sm4_decrypt_v2(kstr, kstr, kstr) from fn_test_not_nullable order by kstr, kstr, kstr" - sql "select sm4_decrypt_v2(kvchrs1, kvchrs1, kvchrs1, 'SM4_128_ECB') from fn_test order by kvchrs1, kvchrs1, kvchrs1" - sql "select sm4_decrypt_v2(kvchrs1, kvchrs1, kvchrs1, 'SM4_128_ECB') from fn_test_not_nullable order by kvchrs1, kvchrs1, kvchrs1" - sql "select sm4_decrypt_v2(kstr, kstr, kstr, 'SM4_128_ECB') from fn_test order by kstr, kstr, kstr" - sql "select sm4_decrypt_v2(kstr, kstr, kstr, 'SM4_128_ECB') from fn_test_not_nullable order by kstr, kstr, kstr" + sql "select sm4_encrypt(kvchrs1, kvchrs1) from fn_test order by kvchrs1, kvchrs1" - test { - sql "select sm4_encrypt_v2(kvchrs1, kvchrs1) from fn_test order by kvchrs1, kvchrs1" - exception "Incorrect parameter count in the call to native function 'sm4_encrypt'" - } sql "select sm4_encrypt(kvchrs1, kvchrs1) from fn_test_not_nullable order by kvchrs1, kvchrs1" - test { - sql "select sm4_encrypt_v2(kvchrs1, kvchrs1) from fn_test_not_nullable order by kvchrs1, kvchrs1" - exception "Incorrect parameter count in the call to native function 'sm4_encrypt'" - } sql "select sm4_encrypt(kstr, kstr) from fn_test order by kstr, kstr" - test { - sql "select sm4_encrypt_v2(kstr, kstr) from fn_test order by kstr, kstr" - exception "Incorrect parameter count in the call to native function 'sm4_encrypt'" - } sql "select sm4_encrypt(kstr, kstr) from fn_test_not_nullable order by kstr, kstr" - test { - sql "select sm4_encrypt_v2(kstr, kstr) from fn_test_not_nullable order by kstr, kstr" - exception "Incorrect parameter count in the call to native function 'sm4_encrypt'" - } sql "select sm4_encrypt(kvchrs1, kvchrs1, kvchrs1) from fn_test order by kvchrs1, kvchrs1, kvchrs1" sql "select sm4_encrypt(kvchrs1, kvchrs1, kvchrs1) from fn_test_not_nullable order by kvchrs1, kvchrs1, kvchrs1" sql "select sm4_encrypt(kstr, kstr, kstr) from fn_test order by kstr, kstr, kstr" @@ -161,14 +123,7 @@ suite("nereids_scalar_fn_S") { sql "select sm4_encrypt(kvchrs1, kvchrs1, kvchrs1, 'SM4_128_ECB') from fn_test_not_nullable order by kvchrs1, kvchrs1, kvchrs1" sql "select sm4_encrypt(kstr, kstr, kstr, 'SM4_128_ECB') from fn_test order by kstr, kstr, kstr" sql "select sm4_encrypt(kstr, kstr, kstr, 'SM4_128_ECB') from fn_test_not_nullable order by kstr, kstr, kstr" - sql "select sm4_encrypt_v2(kvchrs1, kvchrs1, kvchrs1) from fn_test order by kvchrs1, kvchrs1, kvchrs1" - sql "select sm4_encrypt_v2(kvchrs1, kvchrs1, kvchrs1) from fn_test_not_nullable order by kvchrs1, kvchrs1, kvchrs1" - sql "select sm4_encrypt_v2(kstr, kstr, kstr) from fn_test order by kstr, kstr, kstr" - sql "select sm4_encrypt_v2(kstr, kstr, kstr) from fn_test_not_nullable order by kstr, kstr, kstr" - sql "select sm4_encrypt_v2(kvchrs1, kvchrs1, kvchrs1, 'SM4_128_ECB') from fn_test order by kvchrs1, kvchrs1, kvchrs1" - sql "select sm4_encrypt_v2(kvchrs1, kvchrs1, kvchrs1, 'SM4_128_ECB') from fn_test_not_nullable order by kvchrs1, kvchrs1, kvchrs1" - sql "select sm4_encrypt_v2(kstr, kstr, kstr, 'SM4_128_ECB') from fn_test order by kstr, kstr, kstr" - sql "select sm4_encrypt_v2(kstr, kstr, kstr, 'SM4_128_ECB') from fn_test_not_nullable order by kstr, kstr, kstr" + sql "select space(10) from fn_test order by kint" sql "select space(10) from fn_test_not_nullable order by kint" qt_sql_split_part_Varchar_Varchar_Integer "select split_part(kvchrs1, ' ', 1) from fn_test order by kvchrs1" diff --git a/regression-test/suites/nereids_p0/sql_functions/encryption_digest/test_encryption_function.groovy b/regression-test/suites/nereids_p0/sql_functions/encryption_digest/test_encryption_function.groovy index 84b67091b1e02d..0a2d42610012dc 100644 --- a/regression-test/suites/nereids_p0/sql_functions/encryption_digest/test_encryption_function.groovy +++ b/regression-test/suites/nereids_p0/sql_functions/encryption_digest/test_encryption_function.groovy @@ -16,10 +16,9 @@ // under the License. suite("test_encryption_function") { - def tableName = "dwd_candidates" - sql "DROP TABLE IF EXISTS ${tableName}" + sql "DROP TABLE IF EXISTS dwd_candidates" sql """ - CREATE TABLE IF NOT EXISTS ${tableName} ( + CREATE TABLE IF NOT EXISTS dwd_candidates ( c_int INT, `name` varchar(65530) NULL COMMENT "" ) @@ -29,26 +28,12 @@ suite("test_encryption_function") { ) """ - sql "SET enable_nereids_planner=true" - - sql "set batch_size = 4096;" - sql "set block_encryption_mode=\"AES_128_ECB\";" qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3'));" // 'wr2JEDVXzL9+2XtRhgIloA==' qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // wr2JEDVXzL9+2XtRhgIloA== qt_sql "SELECT AES_DECRYPT(FROM_BASE64('wr2JEDVXzL9+2XtRhgIloA=='),'F3229A0B371ED2D9441B830D21A390C3');" // text qt_sql "SELECT AES_DECRYPT(FROM_BASE64('mvZT1KJw7N0RJf27aipUpg=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // NULL - sql "set block_encryption_mode=\"AES_128_ECB\";" - qt_sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" // 'wr2JEDVXzL9+2XtRhgIloA==' - qt_sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // wr2JEDVXzL9+2XtRhgIloA== - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('wr2JEDVXzL9+2XtRhgIloA=='),'F3229A0B371ED2D9441B830D21A390C3');" // text - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('mvZT1KJw7N0RJf27aipUpg=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // NULL - test { - sql "SELECT TO_BASE64(SM4_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" - exception "session variable block_encryption_mode is invalid with sm4" - } - sql "set block_encryption_mode=\"AES_256_ECB\";" qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3'));" // 'wr2JEDVXzL9+2XtRhgIloA==' qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // 'BO2vxHeUcw5BQQalSBbo1w==' @@ -56,13 +41,6 @@ suite("test_encryption_function") { qt_sql "SELECT AES_DECRYPT(FROM_BASE64('BO2vxHeUcw5BQQalSBbo1w=='),'F3229A0B371ED2D9441B830D21A390C3');" // NULL qt_sql "SELECT AES_DECRYPT(FROM_BASE64('BO2vxHeUcw5BQQalSBbo1w=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // text - sql "set block_encryption_mode=\"AES_256_ECB\";" - qt_sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" // 'BO2vxHeUcw5BQQalSBbo1w==' - qt_sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // 'BO2vxHeUcw5BQQalSBbo1w==' - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('wr2JEDVXzL9+2XtRhgIloA=='),'F3229A0B371ED2D9441B830D21A390C3');" // NULL - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('BO2vxHeUcw5BQQalSBbo1w=='),'F3229A0B371ED2D9441B830D21A390C3');" // text - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('BO2vxHeUcw5BQQalSBbo1w=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // text - sql "set block_encryption_mode=\"AES_256_CBC\";" qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3'));" // 'wr2JEDVXzL9+2XtRhgIloA==' qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // tsmK1HzbpnEdR2//WhO+MA== @@ -76,53 +54,6 @@ suite("test_encryption_function") { "GROUP BY x0;" } - sql "set block_encryption_mode=\"AES_256_CBC\";" - test { - sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" - exception "Incorrect parameter count in the call to native function 'aes_encrypt'" - } - qt_sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // tsmK1HzbpnEdR2//WhO+MA== - qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789ff'));" // ciacXDLHMNG7CD9Kws8png== - test { - sql "SELECT AES_DECRYPT_v2(FROM_BASE64('wr2JEDVXzL9+2XtRhgIloA=='),'F3229A0B371ED2D9441B830D21A390C3');" - exception "Incorrect parameter count in the call to native function 'aes_decrypt'" - } - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('mvZT1KJw7N0RJf27aipUpg=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // NULL - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('tsmK1HzbpnEdR2//WhO+MA=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // text - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('ciacXDLHMNG7CD9Kws8png=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789ff');" // text - explain { - sql "SELECT AES_DECRYPT_v2(UNHEX(r_2_3.`name`), 'namePnhe3E0MWyfZivUnVzDy12caymnrKp', '0123456789') AS x0 FROM dwd_candidates AS r_2_3\n" + - "GROUP BY x0;" - } - - sql "set block_encryption_mode=\"SM4_128_CBC\";" - qt_sql "SELECT TO_BASE64(SM4_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3'));" // aDjwRflBrDjhBZIOFNw3Tg== - qt_sql "SELECT TO_BASE64(SM4_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // 1Y4NGIukSbv9OrkZnRD1bQ== - qt_sql "SELECT TO_BASE64(SM4_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789ff'));" // G5POcFAJwiZHeTtN6DjInQ== - qt_sql "SELECT SM4_DECRYPT(FROM_BASE64('aDjwRflBrDjhBZIOFNw3Tg=='),'F3229A0B371ED2D9441B830D21A390C3');" // text - qt_sql "SELECT SM4_DECRYPT(FROM_BASE64('1Y4NGIukSbv9OrkZnRD1bQ=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // text - qt_sql "SELECT SM4_DECRYPT(FROM_BASE64('G5POcFAJwiZHeTtN6DjInQ=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // NULL - qt_sql "SELECT SM4_DECRYPT(FROM_BASE64('G5POcFAJwiZHeTtN6DjInQ=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789ff');" // text - - sql "set block_encryption_mode=\"SM4_128_CBC\";" - test { - sql "SELECT TO_BASE64(SM4_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" - exception "Incorrect parameter count in the call to native function 'sm4_encrypt'" - } - qt_sql "SELECT TO_BASE64(SM4_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // 1Y4NGIukSbv9OrkZnRD1bQ== - qt_sql "SELECT TO_BASE64(SM4_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789ff'));" // G5POcFAJwiZHeTtN6DjInQ== - test { - sql "SELECT SM4_DECRYPT_v2(FROM_BASE64('aDjwRflBrDjhBZIOFNw3Tg=='),'F3229A0B371ED2D9441B830D21A390C3');" - exception "Incorrect parameter count in the call to native function 'sm4_decrypt'" - } - qt_sql "SELECT SM4_DECRYPT_v2(FROM_BASE64('1Y4NGIukSbv9OrkZnRD1bQ=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // text - qt_sql "SELECT SM4_DECRYPT_v2(FROM_BASE64('G5POcFAJwiZHeTtN6DjInQ=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // NULL - qt_sql "SELECT SM4_DECRYPT_v2(FROM_BASE64('G5POcFAJwiZHeTtN6DjInQ=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789ff');" // text - test { - sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" - exception "session variable block_encryption_mode is invalid with aes" - } - qt_sql "SELECT SM3(\"abc\");" qt_sql "select sm3(\"abcd\");" qt_sql "select sm3sum(\"ab\",\"cd\");" diff --git a/regression-test/suites/query_p0/sql_functions/encryption_digest/test_encryption_function.groovy b/regression-test/suites/query_p0/sql_functions/encryption_digest/test_encryption_function.groovy index 4b0fd3d497d420..f4a67b052c3750 100644 --- a/regression-test/suites/query_p0/sql_functions/encryption_digest/test_encryption_function.groovy +++ b/regression-test/suites/query_p0/sql_functions/encryption_digest/test_encryption_function.groovy @@ -16,10 +16,9 @@ // under the License. suite("test_encryption_function") { - def tableName = "dwd_candidates" - sql "DROP TABLE IF EXISTS ${tableName}" + sql "DROP TABLE IF EXISTS dwd_candidates" sql """ - CREATE TABLE IF NOT EXISTS ${tableName} ( + CREATE TABLE IF NOT EXISTS dwd_candidates ( c_int INT, `name` varchar(65530) NULL COMMENT "" ) @@ -28,7 +27,6 @@ suite("test_encryption_function") { "replication_num" = "1" ) """ - sql "set batch_size = 4096;" sql "set block_encryption_mode=\"AES_128_ECB\";" qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3'));" // 'wr2JEDVXzL9+2XtRhgIloA==' @@ -40,16 +38,6 @@ suite("test_encryption_function") { exception "session variable block_encryption_mode is invalid with sm4" } - sql "set block_encryption_mode=\"AES_128_ECB\";" - qt_sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" // 'wr2JEDVXzL9+2XtRhgIloA==' - qt_sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // wr2JEDVXzL9+2XtRhgIloA== - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('wr2JEDVXzL9+2XtRhgIloA=='),'F3229A0B371ED2D9441B830D21A390C3');" // text - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('mvZT1KJw7N0RJf27aipUpg=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // NULL - test { - sql "SELECT TO_BASE64(SM4_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" - exception "session variable block_encryption_mode is invalid with sm4" - } - sql "set block_encryption_mode=\"AES_256_ECB\";" qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3'));" // 'wr2JEDVXzL9+2XtRhgIloA==' qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // 'BO2vxHeUcw5BQQalSBbo1w==' @@ -57,13 +45,6 @@ suite("test_encryption_function") { qt_sql "SELECT AES_DECRYPT(FROM_BASE64('BO2vxHeUcw5BQQalSBbo1w=='),'F3229A0B371ED2D9441B830D21A390C3');" // NULL qt_sql "SELECT AES_DECRYPT(FROM_BASE64('BO2vxHeUcw5BQQalSBbo1w=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // text - sql "set block_encryption_mode=\"AES_256_ECB\";" - qt_sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" // 'BO2vxHeUcw5BQQalSBbo1w==' - qt_sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // 'BO2vxHeUcw5BQQalSBbo1w==' - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('wr2JEDVXzL9+2XtRhgIloA=='),'F3229A0B371ED2D9441B830D21A390C3');" // NULL - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('BO2vxHeUcw5BQQalSBbo1w=='),'F3229A0B371ED2D9441B830D21A390C3');" // text - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('BO2vxHeUcw5BQQalSBbo1w=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // text - sql "set block_encryption_mode=\"AES_256_CBC\";" qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3'));" // 'wr2JEDVXzL9+2XtRhgIloA==' qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // tsmK1HzbpnEdR2//WhO+MA== @@ -77,26 +58,6 @@ suite("test_encryption_function") { "GROUP BY x0;" } - sql "set block_encryption_mode=\"AES_256_CBC\";" - test { - sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" - exception "Incorrect parameter count in the call to native function 'aes_encrypt'" - } - qt_sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // tsmK1HzbpnEdR2//WhO+MA== - qt_sql "SELECT TO_BASE64(AES_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789ff'));" // ciacXDLHMNG7CD9Kws8png== - test { - sql "SELECT AES_DECRYPT_v2(FROM_BASE64('wr2JEDVXzL9+2XtRhgIloA=='),'F3229A0B371ED2D9441B830D21A390C3');" - exception "Incorrect parameter count in the call to native function 'aes_decrypt'" - } - qt_sql "SELECT AES_DECRYPT(FROM_BASE64('mvZT1KJw7N0RJf27aipUpg=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // NULL - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('mvZT1KJw7N0RJf27aipUpg=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // NULL - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('tsmK1HzbpnEdR2//WhO+MA=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // text - qt_sql "SELECT AES_DECRYPT_v2(FROM_BASE64('ciacXDLHMNG7CD9Kws8png=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789ff');" // text - explain { - sql "SELECT AES_DECRYPT_v2(UNHEX(r_2_3.`name`), 'namePnhe3E0MWyfZivUnVzDy12caymnrKp', '0123456789') AS x0 FROM dwd_candidates AS r_2_3\n" + - "GROUP BY x0;" - } - sql "set block_encryption_mode=\"SM4_128_CBC\";" qt_sql "SELECT TO_BASE64(SM4_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3'));" // aDjwRflBrDjhBZIOFNw3Tg== qt_sql "SELECT TO_BASE64(SM4_ENCRYPT('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // 1Y4NGIukSbv9OrkZnRD1bQ== @@ -110,25 +71,6 @@ suite("test_encryption_function") { exception "session variable block_encryption_mode is invalid with aes" } - sql "set block_encryption_mode=\"SM4_128_CBC\";" - test { - sql "SELECT TO_BASE64(SM4_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" - exception "Incorrect parameter count in the call to native function 'sm4_encrypt'" - } - qt_sql "SELECT TO_BASE64(SM4_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789'));" // 1Y4NGIukSbv9OrkZnRD1bQ== - qt_sql "SELECT TO_BASE64(SM4_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3', '0123456789ff'));" // G5POcFAJwiZHeTtN6DjInQ== - test { - sql "SELECT SM4_DECRYPT_v2(FROM_BASE64('aDjwRflBrDjhBZIOFNw3Tg=='),'F3229A0B371ED2D9441B830D21A390C3');" - exception "Incorrect parameter count in the call to native function 'sm4_decrypt'" - } - qt_sql "SELECT SM4_DECRYPT_v2(FROM_BASE64('1Y4NGIukSbv9OrkZnRD1bQ=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // text - qt_sql "SELECT SM4_DECRYPT_v2(FROM_BASE64('G5POcFAJwiZHeTtN6DjInQ=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789');" // NULL - qt_sql "SELECT SM4_DECRYPT_v2(FROM_BASE64('G5POcFAJwiZHeTtN6DjInQ=='),'F3229A0B371ED2D9441B830D21A390C3', '0123456789ff');" // text - test { - sql "SELECT TO_BASE64(AES_ENCRYPT_v2('text','F3229A0B371ED2D9441B830D21A390C3'));" - exception "session variable block_encryption_mode is invalid with aes" - } - qt_sql "SELECT SM3(\"abc\");" qt_sql "select sm3(\"abcd\");" qt_sql "select sm3sum(\"ab\",\"cd\");" From b2ddc8d66f23384f3fd8658908fe46633d77f694 Mon Sep 17 00:00:00 2001 From: minghong Date: Wed, 4 Sep 2024 14:42:07 +0800 Subject: [PATCH 034/199] [fix](nereids) fix bug for A>n, where A.max is infinity (#39936) --- .../doris/nereids/stats/FilterEstimation.java | 8 +++-- .../doris/statistics/StatisticRange.java | 22 +++++++++--- .../nereids/stats/FilterEstimationTest.java | 35 +++++++++++++++++++ .../shape/query4.out | 8 ++--- .../noStatsRfPrune/query11.out | 8 ++--- .../noStatsRfPrune/query4.out | 16 ++++----- .../no_stats_shape/query11.out | 8 ++--- .../no_stats_shape/query4.out | 16 ++++----- .../rf_prune/query4.out | 8 ++--- .../shape/query4.out | 8 ++--- .../tpcds_sf100/noStatsRfPrune/query11.out | 8 ++--- .../tpcds_sf100/noStatsRfPrune/query4.out | 16 ++++----- .../tpcds_sf100/no_stats_shape/query11.out | 8 ++--- .../tpcds_sf100/no_stats_shape/query4.out | 16 ++++----- .../tpcds_sf100/rf_prune/query4.out | 8 ++--- .../tpcds_sf100/shape/query4.out | 8 ++--- .../tpcds_sf1000/shape/query4.out | 8 ++--- 17 files changed, 129 insertions(+), 80 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java index 3bc2a880da7c6a..a65a07fea30bdf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/FilterEstimation.java @@ -607,11 +607,13 @@ private Statistics estimateBinaryComparisonFilter(Expression leftExpr, DataType .setMaxExpr(intersectRange.getHighExpr()) .setNdv(intersectRange.getDistinctValues()) .setNumNulls(0); - double sel = leftRange.overlapPercentWith(rightRange); + double sel = leftRange.getDistinctValues() == 0 + ? 1.0 + : intersectRange.getDistinctValues() / leftRange.getDistinctValues(); if (!(dataType instanceof RangeScalable) && (sel != 0.0 && sel != 1.0)) { sel = DEFAULT_INEQUALITY_COEFFICIENT; - } else if (sel < RANGE_SELECTIVITY_THRESHOLD) { - sel = RANGE_SELECTIVITY_THRESHOLD; + } else { + sel = Math.max(sel, RANGE_SELECTIVITY_THRESHOLD); } sel = getNotNullSelectivity(leftStats, sel); updatedStatistics = context.statistics.withSel(sel); diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticRange.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticRange.java index 7b7b08ab24669d..ca9735b56654b1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticRange.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticRange.java @@ -124,6 +124,10 @@ public boolean isInfinite() { return Double.isInfinite(low) || Double.isInfinite(high); } + public boolean isOneSideInfinite() { + return isInfinite() && !isBothInfinite(); + } + public boolean isFinite() { return Double.isFinite(low) && Double.isFinite(high); } @@ -175,8 +179,7 @@ public Pair maxPair(double r1, LiteralExpr e1, double r2, L } public StatisticRange cover(StatisticRange other) { - // double newLow = Math.max(low, other.low); - // double newHigh = Math.min(high, other.high); + StatisticRange resultRange; Pair biggerLow = maxPair(low, lowExpr, other.low, other.lowExpr); double newLow = biggerLow.first; LiteralExpr newLowExpr = biggerLow.second; @@ -188,9 +191,18 @@ public StatisticRange cover(StatisticRange other) { double overlapPercentOfLeft = overlapPercentWith(other); double overlapDistinctValuesLeft = overlapPercentOfLeft * distinctValues; double coveredDistinctValues = minExcludeNaN(distinctValues, overlapDistinctValuesLeft); - return new StatisticRange(newLow, newLowExpr, newHigh, newHighExpr, coveredDistinctValues, dataType); + if (this.isBothInfinite() && other.isOneSideInfinite()) { + resultRange = new StatisticRange(newLow, newLowExpr, newHigh, newHighExpr, + distinctValues * INFINITE_TO_INFINITE_RANGE_INTERSECT_OVERLAP_HEURISTIC_FACTOR, + dataType); + } else { + resultRange = new StatisticRange(newLow, newLowExpr, newHigh, newHighExpr, coveredDistinctValues, + dataType); + } + } else { + resultRange = empty(dataType); } - return empty(dataType); + return resultRange; } public StatisticRange union(StatisticRange other) { @@ -241,6 +253,6 @@ public double getDistinctValues() { @Override public String toString() { - return "(" + lowExpr + "," + highExpr + ")"; + return "range=(" + lowExpr + "," + highExpr + "), ndv=" + distinctValues; } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/FilterEstimationTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/FilterEstimationTest.java index 0158dd9587c70b..6e76c3f6a33d1c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/FilterEstimationTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/FilterEstimationTest.java @@ -1394,4 +1394,39 @@ public void testLargeRange() { out = estimation.estimate(greater, stats); Assertions.assertEquals(out.getRowCount(), row * FilterEstimation.RANGE_SELECTIVITY_THRESHOLD); } + + @Test + void testAndWithInfinity() { + Double row = 1000.0; + SlotReference a = new SlotReference("a", new VarcharType(25)); + ColumnStatisticBuilder columnStatisticBuilderA = new ColumnStatisticBuilder() + .setNdv(10) + .setAvgSizeByte(4) + .setNumNulls(0) + .setCount(row); + + SlotReference b = new SlotReference("b", IntegerType.INSTANCE); + ColumnStatisticBuilder columnStatisticBuilderB = new ColumnStatisticBuilder() + .setNdv(488) + .setAvgSizeByte(25) + .setNumNulls(0) + .setCount(row); + StatisticsBuilder statsBuilder = new StatisticsBuilder(); + statsBuilder.setRowCount(row); + statsBuilder.putColumnStatistics(a, columnStatisticBuilderA.build()); + statsBuilder.putColumnStatistics(b, columnStatisticBuilderB.build()); + Expression strGE = new GreaterThanEqual(a, + new org.apache.doris.nereids.trees.expressions.literal.StringLiteral("2024-05-14")); + Statistics strStats = new FilterEstimation().estimate(strGE, statsBuilder.build()); + Assertions.assertEquals(500, strStats.getRowCount()); + + Expression intGE = new GreaterThan(b, new IntegerLiteral(0)); + Statistics intStats = new FilterEstimation().estimate(intGE, statsBuilder.build()); + Assertions.assertEquals(500, intStats.getRowCount()); + + Expression predicate = new And(strGE, intGE); + + Statistics stats = new FilterEstimation().estimate(predicate, statsBuilder.build()); + Assertions.assertEquals(250, stats.getRowCount()); + } } diff --git a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query4.out b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query4.out index 8f376d296af9e4..1946f8020ded90 100644 --- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query4.out +++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query4.out @@ -56,7 +56,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) ----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ------------------PhysicalProject ---------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +--------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +----------------------PhysicalProject +------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) +--------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() --------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() @@ -69,7 +72,4 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalProject ----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) ------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) -----------------------PhysicalProject -------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) ---------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query11.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query11.out index 531ca06c5a80bb..01b1d2752e59b5 100644 --- a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query11.out +++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query11.out @@ -40,10 +40,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------filter((t_w_secyear.dyear = 2002) and (t_w_secyear.sale_type = 'w')) ------------------PhysicalCteConsumer ( cteId=CTEId#0 ) --------------PhysicalProject -----------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() -------------------PhysicalProject ---------------------filter((t_w_firstyear.dyear = 2001) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.00)) -----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +----------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() ------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() --------------------PhysicalProject ----------------------filter((t_s_secyear.dyear = 2002) and (t_s_secyear.sale_type = 's')) @@ -51,4 +48,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------PhysicalProject ----------------------filter((t_s_firstyear.dyear = 2001) and (t_s_firstyear.sale_type = 's') and (t_s_firstyear.year_total > 0.00)) ------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------PhysicalProject +--------------------filter((t_w_firstyear.dyear = 2001) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.00)) +----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query4.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query4.out index 3d35d56d81d4e1..63f30b978f4d68 100644 --- a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query4.out +++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query4.out @@ -51,20 +51,14 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------filter((t_w_secyear.dyear = 2000) and (t_w_secyear.sale_type = 'w')) ------------------PhysicalCteConsumer ( cteId=CTEId#0 ) --------------PhysicalProject -----------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() -------------------PhysicalProject ---------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) -----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +----------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() ------------------PhysicalProject --------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) ----------------------PhysicalProject ------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) --------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ----------------------PhysicalProject -------------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() ---------------------------PhysicalProject -----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) -------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() --------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() ----------------------------PhysicalProject ------------------------------filter((t_s_secyear.dyear = 2000) and (t_s_secyear.sale_type = 's')) @@ -72,4 +66,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------------------PhysicalProject ------------------------------filter((t_s_firstyear.dyear = 1999) and (t_s_firstyear.sale_type = 's') and (t_s_firstyear.year_total > 0.000000)) --------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +--------------------------PhysicalProject +----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) +------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------PhysicalProject +--------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) +----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query11.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query11.out index fa8d314e00019d..b44acb09519210 100644 --- a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query11.out +++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query11.out @@ -40,10 +40,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------filter((t_w_secyear.dyear = 2002) and (t_w_secyear.sale_type = 'w')) ------------------PhysicalCteConsumer ( cteId=CTEId#0 ) --------------PhysicalProject -----------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() -------------------PhysicalProject ---------------------filter((t_w_firstyear.dyear = 2001) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.00)) -----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +----------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() ------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() --------------------PhysicalProject ----------------------filter((t_s_secyear.dyear = 2002) and (t_s_secyear.sale_type = 's')) @@ -51,4 +48,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------PhysicalProject ----------------------filter((t_s_firstyear.dyear = 2001) and (t_s_firstyear.sale_type = 's') and (t_s_firstyear.year_total > 0.00)) ------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------PhysicalProject +--------------------filter((t_w_firstyear.dyear = 2001) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.00)) +----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query4.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query4.out index 27803aec4d8f64..2ab0ebfe7fb09c 100644 --- a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query4.out +++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query4.out @@ -51,20 +51,14 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------filter((t_w_secyear.dyear = 2000) and (t_w_secyear.sale_type = 'w')) ------------------PhysicalCteConsumer ( cteId=CTEId#0 ) --------------PhysicalProject -----------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() -------------------PhysicalProject ---------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) -----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +----------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() ------------------PhysicalProject --------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) ----------------------PhysicalProject ------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) --------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ----------------------PhysicalProject -------------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() ---------------------------PhysicalProject -----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) -------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() --------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() ----------------------------PhysicalProject ------------------------------filter((t_s_secyear.dyear = 2000) and (t_s_secyear.sale_type = 's')) @@ -72,4 +66,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------------------PhysicalProject ------------------------------filter((t_s_firstyear.dyear = 1999) and (t_s_firstyear.sale_type = 's') and (t_s_firstyear.year_total > 0.000000)) --------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +--------------------------PhysicalProject +----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) +------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------PhysicalProject +--------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) +----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query4.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query4.out index a6b03c32eee3df..61bce070b34aaa 100644 --- a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query4.out +++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query4.out @@ -56,7 +56,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) ----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ------------------PhysicalProject ---------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +--------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +----------------------PhysicalProject +------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) +--------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() --------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() @@ -69,7 +72,4 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalProject ----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) ------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) -----------------------PhysicalProject -------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) ---------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query4.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query4.out index 8f376d296af9e4..1946f8020ded90 100644 --- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query4.out +++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query4.out @@ -56,7 +56,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) ----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ------------------PhysicalProject ---------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +--------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +----------------------PhysicalProject +------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) +--------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() --------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() @@ -69,7 +72,4 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalProject ----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) ------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) -----------------------PhysicalProject -------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) ---------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query11.out b/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query11.out index 531ca06c5a80bb..01b1d2752e59b5 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query11.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query11.out @@ -40,10 +40,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------filter((t_w_secyear.dyear = 2002) and (t_w_secyear.sale_type = 'w')) ------------------PhysicalCteConsumer ( cteId=CTEId#0 ) --------------PhysicalProject -----------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() -------------------PhysicalProject ---------------------filter((t_w_firstyear.dyear = 2001) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.00)) -----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +----------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() ------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() --------------------PhysicalProject ----------------------filter((t_s_secyear.dyear = 2002) and (t_s_secyear.sale_type = 's')) @@ -51,4 +48,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------PhysicalProject ----------------------filter((t_s_firstyear.dyear = 2001) and (t_s_firstyear.sale_type = 's') and (t_s_firstyear.year_total > 0.00)) ------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------PhysicalProject +--------------------filter((t_w_firstyear.dyear = 2001) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.00)) +----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query4.out b/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query4.out index 3d35d56d81d4e1..63f30b978f4d68 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query4.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query4.out @@ -51,20 +51,14 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------filter((t_w_secyear.dyear = 2000) and (t_w_secyear.sale_type = 'w')) ------------------PhysicalCteConsumer ( cteId=CTEId#0 ) --------------PhysicalProject -----------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() -------------------PhysicalProject ---------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) -----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +----------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() ------------------PhysicalProject --------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) ----------------------PhysicalProject ------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) --------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ----------------------PhysicalProject -------------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() ---------------------------PhysicalProject -----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) -------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() --------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() ----------------------------PhysicalProject ------------------------------filter((t_s_secyear.dyear = 2000) and (t_s_secyear.sale_type = 's')) @@ -72,4 +66,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------------------PhysicalProject ------------------------------filter((t_s_firstyear.dyear = 1999) and (t_s_firstyear.sale_type = 's') and (t_s_firstyear.year_total > 0.000000)) --------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +--------------------------PhysicalProject +----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) +------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------PhysicalProject +--------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) +----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query11.out b/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query11.out index fa8d314e00019d..b44acb09519210 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query11.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query11.out @@ -40,10 +40,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------filter((t_w_secyear.dyear = 2002) and (t_w_secyear.sale_type = 'w')) ------------------PhysicalCteConsumer ( cteId=CTEId#0 ) --------------PhysicalProject -----------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() -------------------PhysicalProject ---------------------filter((t_w_firstyear.dyear = 2001) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.00)) -----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +----------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() ------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() --------------------PhysicalProject ----------------------filter((t_s_secyear.dyear = 2002) and (t_s_secyear.sale_type = 's')) @@ -51,4 +48,7 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------PhysicalProject ----------------------filter((t_s_firstyear.dyear = 2001) and (t_s_firstyear.sale_type = 's') and (t_s_firstyear.year_total > 0.00)) ------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------PhysicalProject +--------------------filter((t_w_firstyear.dyear = 2001) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.00)) +----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query4.out b/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query4.out index 27803aec4d8f64..2ab0ebfe7fb09c 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query4.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query4.out @@ -51,20 +51,14 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------filter((t_w_secyear.dyear = 2000) and (t_w_secyear.sale_type = 'w')) ------------------PhysicalCteConsumer ( cteId=CTEId#0 ) --------------PhysicalProject -----------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() -------------------PhysicalProject ---------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) -----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +----------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_w_firstyear.customer_id)) otherCondition=() ------------------PhysicalProject --------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) ----------------------PhysicalProject ------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) --------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ----------------------PhysicalProject -------------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() ---------------------------PhysicalProject -----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) -------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() --------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() ----------------------------PhysicalProject ------------------------------filter((t_s_secyear.dyear = 2000) and (t_s_secyear.sale_type = 's')) @@ -72,4 +66,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) ----------------------------PhysicalProject ------------------------------filter((t_s_firstyear.dyear = 1999) and (t_s_firstyear.sale_type = 's') and (t_s_firstyear.year_total > 0.000000)) --------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +--------------------------PhysicalProject +----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) +------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) +------------------PhysicalProject +--------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) +----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query4.out b/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query4.out index a6b03c32eee3df..61bce070b34aaa 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query4.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query4.out @@ -56,7 +56,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) ----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ------------------PhysicalProject ---------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +--------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +----------------------PhysicalProject +------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) +--------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() --------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() @@ -69,7 +72,4 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalProject ----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) ------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) -----------------------PhysicalProject -------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) ---------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query4.out b/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query4.out index 8f376d296af9e4..1946f8020ded90 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query4.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query4.out @@ -56,7 +56,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) ----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ------------------PhysicalProject ---------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +--------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +----------------------PhysicalProject +------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) +--------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() --------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() @@ -69,7 +72,4 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalProject ----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) ------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) -----------------------PhysicalProject -------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) ---------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query4.out b/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query4.out index 8f376d296af9e4..1946f8020ded90 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query4.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query4.out @@ -56,7 +56,10 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------filter((t_w_firstyear.dyear = 1999) and (t_w_firstyear.sale_type = 'w') and (t_w_firstyear.year_total > 0.000000)) ----------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ------------------PhysicalProject ---------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +--------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((t_s_firstyear.customer_id = t_c_secyear.customer_id)) otherCondition=((if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL) > if((year_total > 0.000000), (cast(year_total as DECIMALV3(38, 16)) / year_total), NULL))) +----------------------PhysicalProject +------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) +--------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) ----------------------PhysicalProject ------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((t_s_firstyear.customer_id = t_c_firstyear.customer_id)) otherCondition=() --------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((t_s_secyear.customer_id = t_s_firstyear.customer_id)) otherCondition=() @@ -69,7 +72,4 @@ PhysicalCteAnchor ( cteId=CTEId#0 ) --------------------------PhysicalProject ----------------------------filter((t_c_firstyear.dyear = 1999) and (t_c_firstyear.sale_type = 'c') and (t_c_firstyear.year_total > 0.000000)) ------------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) -----------------------PhysicalProject -------------------------filter((t_c_secyear.dyear = 2000) and (t_c_secyear.sale_type = 'c')) ---------------------------PhysicalCteConsumer ( cteId=CTEId#0 ) From dde1e0f5d7f5347feb2d6786172427636cc3f60b Mon Sep 17 00:00:00 2001 From: airborne12 Date: Wed, 4 Sep 2024 14:56:56 +0800 Subject: [PATCH 035/199] [test](inverted index) refine test_ignore_above case, add compound query sql (#40355) ## Proposed changes Make test_ignore_above case more robust, add compound query for it. --- .../data/inverted_index_p0/test_ignore_above_in_index.out | 3 +++ .../suites/inverted_index_p0/test_ignore_above_in_index.groovy | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/regression-test/data/inverted_index_p0/test_ignore_above_in_index.out b/regression-test/data/inverted_index_p0/test_ignore_above_in_index.out index 718bd29e5d9875..66d0935327dd4b 100644 --- a/regression-test/data/inverted_index_p0/test_ignore_above_in_index.out +++ b/regression-test/data/inverted_index_p0/test_ignore_above_in_index.out @@ -5,3 +5,6 @@ -- !sql -- 772 +-- !sql -- +971 + diff --git a/regression-test/suites/inverted_index_p0/test_ignore_above_in_index.groovy b/regression-test/suites/inverted_index_p0/test_ignore_above_in_index.groovy index d6b426614414af..bde764fa332e1f 100644 --- a/regression-test/suites/inverted_index_p0/test_ignore_above_in_index.groovy +++ b/regression-test/suites/inverted_index_p0/test_ignore_above_in_index.groovy @@ -84,6 +84,7 @@ suite("test_ignore_above_in_index", "p0") { assertTrue(json.NumberLoadedRows > 0 && json.LoadBytes > 0) } } - + sql """ set enable_common_expr_pushdown = true; """ qt_sql "select count() from ${tableName2} where clientip > '17.0';" + qt_sql "select count() from ${tableName2} where clientip > '17.0' or status = 200;" } From 0baa936670336fc31775e3bc2bcfde5edaa4641b Mon Sep 17 00:00:00 2001 From: seawinde <149132972+seawinde@users.noreply.github.com> Date: Wed, 4 Sep 2024 15:15:37 +0800 Subject: [PATCH 036/199] [test](mtmv) SSB mv rewrite test use little data set for test performance (#40188) Use little ssb test dataset in mv rewrite regression test for performance. --- .../nereids_rules_p0/mv/ssb/mv_ssb_test.out | 4466 +++-------------- .../mv/ssb/mv_ssb_test.groovy | 14 +- 2 files changed, 571 insertions(+), 3909 deletions(-) diff --git a/regression-test/data/nereids_rules_p0/mv/ssb/mv_ssb_test.out b/regression-test/data/nereids_rules_p0/mv/ssb/mv_ssb_test.out index ddb04ee99511fa..b3d45a8b45bdf1 100644 --- a/regression-test/data/nereids_rules_p0/mv/ssb/mv_ssb_test.out +++ b/regression-test/data/nereids_rules_p0/mv/ssb/mv_ssb_test.out @@ -1,3955 +1,617 @@ -- This file is automatically generated. You should know what you did if you want to edit this -- !query1_1_before -- -446031203850 +\N -- !query1_1_after -- -446031203850 +\N -- !query1_2_before -- -98714004603 +\N -- !query1_2_after -- -98714004603 +\N -- !query1_3before -- -26232701005 +\N -- !query1_3_after -- -26232701005 +\N -- !query2_1before -- -244739231 1998 MFGR#1238 -251549955 1998 MFGR#1228 -290208878 1998 MFGR#1225 -296330561 1998 MFGR#123 -304873002 1998 MFGR#1214 -312440027 1998 MFGR#122 -317068168 1998 MFGR#1211 -318769573 1998 MFGR#129 -320623334 1998 MFGR#1218 -330082371 1998 MFGR#124 -332740903 1998 MFGR#1213 -339845398 1998 MFGR#1221 -341618569 1998 MFGR#1237 -341657580 1998 MFGR#126 -344575925 1998 MFGR#121 -344889822 1998 MFGR#1223 -346182862 1998 MFGR#1219 -348123961 1998 MFGR#1220 -352277781 1998 MFGR#1235 -355416161 1998 MFGR#1222 -358466340 1998 MFGR#1227 -359508497 1998 MFGR#1217 -360289624 1998 MFGR#125 -361416497 1998 MFGR#128 -361827086 1998 MFGR#1236 -366101132 1998 MFGR#1215 -374341516 1998 MFGR#1212 -377507061 1998 MFGR#127 -379133898 1998 MFGR#1216 -383138860 1998 MFGR#1229 -396906691 1998 MFGR#1224 -398944492 1998 MFGR#1231 -401953419 1997 MFGR#1238 -406967188 1998 MFGR#1233 -414151803 1998 MFGR#1239 -415312453 1998 MFGR#1240 -417152416 1998 MFGR#1210 -419415707 1998 MFGR#1226 -424062455 1998 MFGR#1232 -424306670 1997 MFGR#1213 -428867240 1998 MFGR#1234 -437181243 1998 MFGR#1230 -444614010 1993 MFGR#1238 -450402292 1997 MFGR#1225 -466676148 1996 MFGR#1238 -468535087 1992 MFGR#1230 -473007381 1993 MFGR#1225 -476864333 1996 MFGR#125 -477423770 1992 MFGR#1238 -478648074 1996 MFGR#1235 -478777095 1992 MFGR#125 -479099365 1997 MFGR#125 -483838085 1996 MFGR#1227 -493270412 1994 MFGR#1230 -496297087 1996 MFGR#1213 -499319414 1996 MFGR#1221 -499852146 1995 MFGR#1231 -501892561 1992 MFGR#1236 -502601790 1997 MFGR#1231 -506011570 1997 MFGR#1227 -508749401 1995 MFGR#129 -511971910 1997 MFGR#1214 -515571416 1993 MFGR#1233 -517956131 1995 MFGR#1220 -518444215 1996 MFGR#1220 -519659003 1995 MFGR#1219 -523879145 1996 MFGR#121 -528843086 1996 MFGR#1218 -528879998 1996 MFGR#1230 -528988960 1997 MFGR#1222 -530361300 1995 MFGR#1227 -530830127 1993 MFGR#1220 -533544350 1993 MFGR#1223 -534002330 1994 MFGR#1214 -534455976 1997 MFGR#1233 -534541525 1994 MFGR#129 -535448651 1992 MFGR#1223 -537098211 1997 MFGR#1223 -538043594 1992 MFGR#1219 -538246872 1995 MFGR#125 -540262882 1992 MFGR#1220 -542306646 1992 MFGR#128 -542569815 1994 MFGR#1237 -543248087 1997 MFGR#124 -543346337 1993 MFGR#1221 -546674347 1994 MFGR#1218 -547960244 1995 MFGR#1229 -548048395 1993 MFGR#129 -548588761 1997 MFGR#1211 -549318912 1995 MFGR#1238 -550769662 1992 MFGR#1211 -551010618 1996 MFGR#128 -555134404 1994 MFGR#1223 -556120633 1992 MFGR#1221 -557149571 1995 MFGR#1233 -558030884 1996 MFGR#126 -558646341 1994 MFGR#1216 -560488304 1994 MFGR#125 -560570630 1996 MFGR#129 -560667719 1996 MFGR#124 -561169527 1997 MFGR#1219 -562570804 1995 MFGR#1214 -562582172 1994 MFGR#1220 -564368410 1995 MFGR#1222 -564405648 1994 MFGR#121 -566217852 1996 MFGR#123 -567272942 1994 MFGR#1219 -567838207 1992 MFGR#121 -568249365 1996 MFGR#1236 -568332348 1994 MFGR#1212 -570696568 1997 MFGR#126 -570745955 1994 MFGR#1225 -570832868 1992 MFGR#1225 -571149450 1996 MFGR#1234 -571800941 1997 MFGR#1230 -572354196 1992 MFGR#124 -572568748 1995 MFGR#1226 -572847270 1995 MFGR#1237 -573510781 1994 MFGR#1238 -573693547 1994 MFGR#1228 -575779480 1993 MFGR#1235 -579855853 1994 MFGR#1239 -580327635 1993 MFGR#1231 -580449592 1994 MFGR#123 -581759388 1992 MFGR#1227 -581987352 1992 MFGR#129 -583074592 1997 MFGR#127 -583249505 1996 MFGR#1214 -583507058 1993 MFGR#1228 -585421815 1995 MFGR#124 -585578737 1997 MFGR#1228 -586246330 1996 MFGR#1219 -586845664 1994 MFGR#128 -587013207 1997 MFGR#121 -588848171 1997 MFGR#1221 -589481194 1996 MFGR#1231 -589593892 1997 MFGR#1212 -590762777 1992 MFGR#1222 -591481503 1992 MFGR#1237 -591878667 1993 MFGR#1236 -592174616 1992 MFGR#126 -592178887 1993 MFGR#1227 -592436656 1992 MFGR#1231 -592616167 1996 MFGR#1237 -593851712 1995 MFGR#1239 -594466157 1997 MFGR#1220 -595065339 1996 MFGR#1211 -595256327 1993 MFGR#1239 -598618997 1994 MFGR#1221 -598680959 1994 MFGR#1235 -599586479 1995 MFGR#1213 -600202070 1992 MFGR#1218 -600665149 1995 MFGR#1223 -601016441 1994 MFGR#1222 -601809334 1996 MFGR#1216 -602735858 1995 MFGR#1230 -602892803 1995 MFGR#1210 -603546148 1994 MFGR#1231 -605799021 1995 MFGR#126 -609618576 1993 MFGR#1237 -609855391 1996 MFGR#1228 -610663790 1992 MFGR#1210 -610756714 1997 MFGR#1239 -613289283 1995 MFGR#1212 -613885100 1992 MFGR#1233 -614061593 1992 MFGR#1226 -615726097 1994 MFGR#1236 -616224539 1993 MFGR#125 -616287892 1997 MFGR#1210 -616837237 1993 MFGR#1214 -617126754 1993 MFGR#126 -617453491 1993 MFGR#1229 -618877179 1997 MFGR#1236 -622425239 1995 MFGR#1235 -622532984 1993 MFGR#122 -622571183 1994 MFGR#127 -622744016 1997 MFGR#1229 -624031241 1992 MFGR#1213 -625534310 1993 MFGR#1230 -628762754 1996 MFGR#1223 -631620635 1994 MFGR#1211 -631772246 1997 MFGR#1215 -633152470 1992 MFGR#1215 -633357085 1995 MFGR#1228 -634565501 1995 MFGR#1236 -634687975 1993 MFGR#1215 -634743898 1993 MFGR#1211 -635741351 1995 MFGR#1221 -635873891 1996 MFGR#127 -637863868 1993 MFGR#123 -638255029 1993 MFGR#1213 -638259374 1992 MFGR#1239 -638353900 1993 MFGR#1216 -638982238 1994 MFGR#1233 -639638057 1997 MFGR#1237 -640290070 1992 MFGR#1235 -640858430 1992 MFGR#1229 -643645053 1996 MFGR#1210 -644642592 1992 MFGR#1228 -645166092 1995 MFGR#1211 -645404849 1994 MFGR#1210 -646503168 1997 MFGR#123 -646950033 1993 MFGR#1219 -646960956 1995 MFGR#128 -647918373 1994 MFGR#1229 -648160706 1993 MFGR#1210 -649205856 1992 MFGR#1212 -651707481 1994 MFGR#1227 -651935758 1993 MFGR#1234 -654400242 1994 MFGR#1215 -654438324 1993 MFGR#127 -655326672 1992 MFGR#122 -655638776 1997 MFGR#129 -657026635 1995 MFGR#1218 -657036514 1994 MFGR#126 -658959557 1996 MFGR#1229 -659884062 1994 MFGR#122 -660586237 1993 MFGR#124 -660620587 1996 MFGR#1225 -660711077 1995 MFGR#123 -663372951 1993 MFGR#1217 -663679947 1996 MFGR#1233 -664275152 1992 MFGR#1232 -664916245 1997 MFGR#122 -665978112 1995 MFGR#127 -667399281 1992 MFGR#1234 -667674729 1996 MFGR#1226 -669000972 1995 MFGR#1216 -670488468 1992 MFGR#1214 -670693719 1996 MFGR#1239 -671669586 1995 MFGR#1225 -672528755 1995 MFGR#1215 -674626440 1996 MFGR#1212 -674763166 1997 MFGR#1224 -674846781 1992 MFGR#1216 -675093435 1992 MFGR#1217 -675132692 1997 MFGR#1240 -677924656 1997 MFGR#1232 -678785857 1994 MFGR#1213 -679469356 1996 MFGR#1222 -683985855 1993 MFGR#1218 -684573322 1994 MFGR#124 -687845641 1994 MFGR#1217 -692135140 1997 MFGR#1216 -695133104 1997 MFGR#128 -697373098 1993 MFGR#1232 -701360722 1997 MFGR#1226 -702184857 1996 MFGR#1215 -702805896 1996 MFGR#1232 -703752611 1992 MFGR#1224 -704898387 1996 MFGR#1217 -706151632 1992 MFGR#127 -706469511 1995 MFGR#121 -707053720 1997 MFGR#1218 -707207888 1995 MFGR#1240 -710023059 1995 MFGR#1234 -712110492 1996 MFGR#122 -714934715 1997 MFGR#1234 -715300753 1995 MFGR#1232 -719865331 1994 MFGR#1232 -724727741 1995 MFGR#122 -724844856 1996 MFGR#1224 -725362449 1995 MFGR#1217 -731657001 1993 MFGR#128 -737422302 1994 MFGR#1224 -739036124 1993 MFGR#1226 -740479248 1992 MFGR#1240 -743247677 1994 MFGR#1234 -746302245 1994 MFGR#1226 -756921203 1993 MFGR#1222 -762700351 1995 MFGR#1224 -767151420 1997 MFGR#1235 -777994957 1997 MFGR#1217 -785639283 1993 MFGR#1212 -788730059 1993 MFGR#1240 -789755835 1992 MFGR#123 -821167950 1996 MFGR#1240 -823087702 1993 MFGR#121 -873735737 1994 MFGR#1240 -915916085 1993 MFGR#1224 +15288453 1992 MFGR#1213 +16558051 1992 MFGR#1222 +17199862 1992 MFGR#123 +19716439 1992 MFGR#1216 +21732451 1992 MFGR#129 +22246540 1992 MFGR#1215 +22759602 1992 MFGR#1218 +23120066 1992 MFGR#1210 +23318799 1992 MFGR#1219 +24245603 1992 MFGR#124 +24678908 1992 MFGR#1230 +24946678 1992 MFGR#1233 +26231337 1992 MFGR#1231 +26690787 1992 MFGR#1223 +27691433 1992 MFGR#1227 +28194770 1992 MFGR#125 +29165996 1992 MFGR#121 +30954680 1992 MFGR#1212 +31379822 1992 MFGR#1239 +31443810 1992 MFGR#1237 +32513490 1992 MFGR#1228 +32608903 1992 MFGR#1225 +35514258 1992 MFGR#1229 +35881895 1992 MFGR#128 +36027836 1992 MFGR#127 +36330900 1992 MFGR#1232 +36431683 1992 MFGR#1234 +38878674 1992 MFGR#1221 +39368479 1992 MFGR#1235 +40503844 1992 MFGR#126 +43666251 1992 MFGR#1217 +44456974 1992 MFGR#1236 +47636685 1992 MFGR#1226 +49003021 1992 MFGR#1238 +49870826 1992 MFGR#1240 +51050565 1992 MFGR#1220 +52982362 1992 MFGR#1211 +74056106 1992 MFGR#122 +76498594 1992 MFGR#1224 +7655070 1992 MFGR#1214 -- !query2_1_after -- -244739231 1998 MFGR#1238 -251549955 1998 MFGR#1228 -290208878 1998 MFGR#1225 -296330561 1998 MFGR#123 -304873002 1998 MFGR#1214 -312440027 1998 MFGR#122 -317068168 1998 MFGR#1211 -318769573 1998 MFGR#129 -320623334 1998 MFGR#1218 -330082371 1998 MFGR#124 -332740903 1998 MFGR#1213 -339845398 1998 MFGR#1221 -341618569 1998 MFGR#1237 -341657580 1998 MFGR#126 -344575925 1998 MFGR#121 -344889822 1998 MFGR#1223 -346182862 1998 MFGR#1219 -348123961 1998 MFGR#1220 -352277781 1998 MFGR#1235 -355416161 1998 MFGR#1222 -358466340 1998 MFGR#1227 -359508497 1998 MFGR#1217 -360289624 1998 MFGR#125 -361416497 1998 MFGR#128 -361827086 1998 MFGR#1236 -366101132 1998 MFGR#1215 -374341516 1998 MFGR#1212 -377507061 1998 MFGR#127 -379133898 1998 MFGR#1216 -383138860 1998 MFGR#1229 -396906691 1998 MFGR#1224 -398944492 1998 MFGR#1231 -401953419 1997 MFGR#1238 -406967188 1998 MFGR#1233 -414151803 1998 MFGR#1239 -415312453 1998 MFGR#1240 -417152416 1998 MFGR#1210 -419415707 1998 MFGR#1226 -424062455 1998 MFGR#1232 -424306670 1997 MFGR#1213 -428867240 1998 MFGR#1234 -437181243 1998 MFGR#1230 -444614010 1993 MFGR#1238 -450402292 1997 MFGR#1225 -466676148 1996 MFGR#1238 -468535087 1992 MFGR#1230 -473007381 1993 MFGR#1225 -476864333 1996 MFGR#125 -477423770 1992 MFGR#1238 -478648074 1996 MFGR#1235 -478777095 1992 MFGR#125 -479099365 1997 MFGR#125 -483838085 1996 MFGR#1227 -493270412 1994 MFGR#1230 -496297087 1996 MFGR#1213 -499319414 1996 MFGR#1221 -499852146 1995 MFGR#1231 -501892561 1992 MFGR#1236 -502601790 1997 MFGR#1231 -506011570 1997 MFGR#1227 -508749401 1995 MFGR#129 -511971910 1997 MFGR#1214 -515571416 1993 MFGR#1233 -517956131 1995 MFGR#1220 -518444215 1996 MFGR#1220 -519659003 1995 MFGR#1219 -523879145 1996 MFGR#121 -528843086 1996 MFGR#1218 -528879998 1996 MFGR#1230 -528988960 1997 MFGR#1222 -530361300 1995 MFGR#1227 -530830127 1993 MFGR#1220 -533544350 1993 MFGR#1223 -534002330 1994 MFGR#1214 -534455976 1997 MFGR#1233 -534541525 1994 MFGR#129 -535448651 1992 MFGR#1223 -537098211 1997 MFGR#1223 -538043594 1992 MFGR#1219 -538246872 1995 MFGR#125 -540262882 1992 MFGR#1220 -542306646 1992 MFGR#128 -542569815 1994 MFGR#1237 -543248087 1997 MFGR#124 -543346337 1993 MFGR#1221 -546674347 1994 MFGR#1218 -547960244 1995 MFGR#1229 -548048395 1993 MFGR#129 -548588761 1997 MFGR#1211 -549318912 1995 MFGR#1238 -550769662 1992 MFGR#1211 -551010618 1996 MFGR#128 -555134404 1994 MFGR#1223 -556120633 1992 MFGR#1221 -557149571 1995 MFGR#1233 -558030884 1996 MFGR#126 -558646341 1994 MFGR#1216 -560488304 1994 MFGR#125 -560570630 1996 MFGR#129 -560667719 1996 MFGR#124 -561169527 1997 MFGR#1219 -562570804 1995 MFGR#1214 -562582172 1994 MFGR#1220 -564368410 1995 MFGR#1222 -564405648 1994 MFGR#121 -566217852 1996 MFGR#123 -567272942 1994 MFGR#1219 -567838207 1992 MFGR#121 -568249365 1996 MFGR#1236 -568332348 1994 MFGR#1212 -570696568 1997 MFGR#126 -570745955 1994 MFGR#1225 -570832868 1992 MFGR#1225 -571149450 1996 MFGR#1234 -571800941 1997 MFGR#1230 -572354196 1992 MFGR#124 -572568748 1995 MFGR#1226 -572847270 1995 MFGR#1237 -573510781 1994 MFGR#1238 -573693547 1994 MFGR#1228 -575779480 1993 MFGR#1235 -579855853 1994 MFGR#1239 -580327635 1993 MFGR#1231 -580449592 1994 MFGR#123 -581759388 1992 MFGR#1227 -581987352 1992 MFGR#129 -583074592 1997 MFGR#127 -583249505 1996 MFGR#1214 -583507058 1993 MFGR#1228 -585421815 1995 MFGR#124 -585578737 1997 MFGR#1228 -586246330 1996 MFGR#1219 -586845664 1994 MFGR#128 -587013207 1997 MFGR#121 -588848171 1997 MFGR#1221 -589481194 1996 MFGR#1231 -589593892 1997 MFGR#1212 -590762777 1992 MFGR#1222 -591481503 1992 MFGR#1237 -591878667 1993 MFGR#1236 -592174616 1992 MFGR#126 -592178887 1993 MFGR#1227 -592436656 1992 MFGR#1231 -592616167 1996 MFGR#1237 -593851712 1995 MFGR#1239 -594466157 1997 MFGR#1220 -595065339 1996 MFGR#1211 -595256327 1993 MFGR#1239 -598618997 1994 MFGR#1221 -598680959 1994 MFGR#1235 -599586479 1995 MFGR#1213 -600202070 1992 MFGR#1218 -600665149 1995 MFGR#1223 -601016441 1994 MFGR#1222 -601809334 1996 MFGR#1216 -602735858 1995 MFGR#1230 -602892803 1995 MFGR#1210 -603546148 1994 MFGR#1231 -605799021 1995 MFGR#126 -609618576 1993 MFGR#1237 -609855391 1996 MFGR#1228 -610663790 1992 MFGR#1210 -610756714 1997 MFGR#1239 -613289283 1995 MFGR#1212 -613885100 1992 MFGR#1233 -614061593 1992 MFGR#1226 -615726097 1994 MFGR#1236 -616224539 1993 MFGR#125 -616287892 1997 MFGR#1210 -616837237 1993 MFGR#1214 -617126754 1993 MFGR#126 -617453491 1993 MFGR#1229 -618877179 1997 MFGR#1236 -622425239 1995 MFGR#1235 -622532984 1993 MFGR#122 -622571183 1994 MFGR#127 -622744016 1997 MFGR#1229 -624031241 1992 MFGR#1213 -625534310 1993 MFGR#1230 -628762754 1996 MFGR#1223 -631620635 1994 MFGR#1211 -631772246 1997 MFGR#1215 -633152470 1992 MFGR#1215 -633357085 1995 MFGR#1228 -634565501 1995 MFGR#1236 -634687975 1993 MFGR#1215 -634743898 1993 MFGR#1211 -635741351 1995 MFGR#1221 -635873891 1996 MFGR#127 -637863868 1993 MFGR#123 -638255029 1993 MFGR#1213 -638259374 1992 MFGR#1239 -638353900 1993 MFGR#1216 -638982238 1994 MFGR#1233 -639638057 1997 MFGR#1237 -640290070 1992 MFGR#1235 -640858430 1992 MFGR#1229 -643645053 1996 MFGR#1210 -644642592 1992 MFGR#1228 -645166092 1995 MFGR#1211 -645404849 1994 MFGR#1210 -646503168 1997 MFGR#123 -646950033 1993 MFGR#1219 -646960956 1995 MFGR#128 -647918373 1994 MFGR#1229 -648160706 1993 MFGR#1210 -649205856 1992 MFGR#1212 -651707481 1994 MFGR#1227 -651935758 1993 MFGR#1234 -654400242 1994 MFGR#1215 -654438324 1993 MFGR#127 -655326672 1992 MFGR#122 -655638776 1997 MFGR#129 -657026635 1995 MFGR#1218 -657036514 1994 MFGR#126 -658959557 1996 MFGR#1229 -659884062 1994 MFGR#122 -660586237 1993 MFGR#124 -660620587 1996 MFGR#1225 -660711077 1995 MFGR#123 -663372951 1993 MFGR#1217 -663679947 1996 MFGR#1233 -664275152 1992 MFGR#1232 -664916245 1997 MFGR#122 -665978112 1995 MFGR#127 -667399281 1992 MFGR#1234 -667674729 1996 MFGR#1226 -669000972 1995 MFGR#1216 -670488468 1992 MFGR#1214 -670693719 1996 MFGR#1239 -671669586 1995 MFGR#1225 -672528755 1995 MFGR#1215 -674626440 1996 MFGR#1212 -674763166 1997 MFGR#1224 -674846781 1992 MFGR#1216 -675093435 1992 MFGR#1217 -675132692 1997 MFGR#1240 -677924656 1997 MFGR#1232 -678785857 1994 MFGR#1213 -679469356 1996 MFGR#1222 -683985855 1993 MFGR#1218 -684573322 1994 MFGR#124 -687845641 1994 MFGR#1217 -692135140 1997 MFGR#1216 -695133104 1997 MFGR#128 -697373098 1993 MFGR#1232 -701360722 1997 MFGR#1226 -702184857 1996 MFGR#1215 -702805896 1996 MFGR#1232 -703752611 1992 MFGR#1224 -704898387 1996 MFGR#1217 -706151632 1992 MFGR#127 -706469511 1995 MFGR#121 -707053720 1997 MFGR#1218 -707207888 1995 MFGR#1240 -710023059 1995 MFGR#1234 -712110492 1996 MFGR#122 -714934715 1997 MFGR#1234 -715300753 1995 MFGR#1232 -719865331 1994 MFGR#1232 -724727741 1995 MFGR#122 -724844856 1996 MFGR#1224 -725362449 1995 MFGR#1217 -731657001 1993 MFGR#128 -737422302 1994 MFGR#1224 -739036124 1993 MFGR#1226 -740479248 1992 MFGR#1240 -743247677 1994 MFGR#1234 -746302245 1994 MFGR#1226 -756921203 1993 MFGR#1222 -762700351 1995 MFGR#1224 -767151420 1997 MFGR#1235 -777994957 1997 MFGR#1217 -785639283 1993 MFGR#1212 -788730059 1993 MFGR#1240 -789755835 1992 MFGR#123 -821167950 1996 MFGR#1240 -823087702 1993 MFGR#121 -873735737 1994 MFGR#1240 -915916085 1993 MFGR#1224 +15288453 1992 MFGR#1213 +16558051 1992 MFGR#1222 +17199862 1992 MFGR#123 +19716439 1992 MFGR#1216 +21732451 1992 MFGR#129 +22246540 1992 MFGR#1215 +22759602 1992 MFGR#1218 +23120066 1992 MFGR#1210 +23318799 1992 MFGR#1219 +24245603 1992 MFGR#124 +24678908 1992 MFGR#1230 +24946678 1992 MFGR#1233 +26231337 1992 MFGR#1231 +26690787 1992 MFGR#1223 +27691433 1992 MFGR#1227 +28194770 1992 MFGR#125 +29165996 1992 MFGR#121 +30954680 1992 MFGR#1212 +31379822 1992 MFGR#1239 +31443810 1992 MFGR#1237 +32513490 1992 MFGR#1228 +32608903 1992 MFGR#1225 +35514258 1992 MFGR#1229 +35881895 1992 MFGR#128 +36027836 1992 MFGR#127 +36330900 1992 MFGR#1232 +36431683 1992 MFGR#1234 +38878674 1992 MFGR#1221 +39368479 1992 MFGR#1235 +40503844 1992 MFGR#126 +43666251 1992 MFGR#1217 +44456974 1992 MFGR#1236 +47636685 1992 MFGR#1226 +49003021 1992 MFGR#1238 +49870826 1992 MFGR#1240 +51050565 1992 MFGR#1220 +52982362 1992 MFGR#1211 +74056106 1992 MFGR#122 +76498594 1992 MFGR#1224 +7655070 1992 MFGR#1214 -- !query2_2before -- -335304504 1998 MFGR#2221 -390506405 1998 MFGR#2227 -397939103 1998 MFGR#2228 -409347137 1998 MFGR#2222 -410402095 1998 MFGR#2225 -413318072 1998 MFGR#2224 -453515044 1998 MFGR#2226 -459109577 1998 MFGR#2223 -589765707 1995 MFGR#2224 -630422081 1997 MFGR#2224 -637832575 1995 MFGR#2223 -646528589 1992 MFGR#2225 -651488962 1992 MFGR#2224 -656095314 1996 MFGR#2223 -656859917 1996 MFGR#2224 -664533779 1997 MFGR#2222 -666524807 1994 MFGR#2222 -669662707 1993 MFGR#2224 -680880216 1993 MFGR#2228 -685777518 1994 MFGR#2221 -691475597 1993 MFGR#2222 -700010008 1996 MFGR#2221 -707869040 1994 MFGR#2224 -708290039 1995 MFGR#2225 -709524929 1992 MFGR#2221 -709650548 1992 MFGR#2226 -720837128 1994 MFGR#2227 -721251967 1994 MFGR#2225 -727342382 1997 MFGR#2221 -728857899 1997 MFGR#2227 -729563303 1996 MFGR#2227 -733993590 1994 MFGR#2223 -737087518 1993 MFGR#2226 -745556316 1992 MFGR#2227 -747356383 1995 MFGR#2226 -747889257 1997 MFGR#2226 -748288392 1997 MFGR#2223 -756901875 1992 MFGR#2228 -757391203 1997 MFGR#2225 -758220752 1993 MFGR#2223 -761354792 1995 MFGR#2222 -765052002 1992 MFGR#2223 -765820896 1996 MFGR#2225 -766521103 1993 MFGR#2221 -773854228 1993 MFGR#2225 -775312985 1997 MFGR#2228 -775437074 1995 MFGR#2221 -777310085 1996 MFGR#2222 -781967766 1993 MFGR#2227 -783846394 1992 MFGR#2222 -802502540 1995 MFGR#2227 -808177734 1996 MFGR#2226 -819665874 1996 MFGR#2228 -822495919 1994 MFGR#2226 -826225350 1994 MFGR#2228 -895936786 1995 MFGR#2228 +20416501 1992 MFGR#2224 +28235270 1992 MFGR#2221 +39273349 1992 MFGR#2227 +48591160 1992 MFGR#2223 +60628045 1992 MFGR#2226 +64071827 1992 MFGR#2222 +66658087 1992 MFGR#2228 +74950776 1992 MFGR#2225 -- !query2_2_after -- -335304504 1998 MFGR#2221 -390506405 1998 MFGR#2227 -397939103 1998 MFGR#2228 -409347137 1998 MFGR#2222 -410402095 1998 MFGR#2225 -413318072 1998 MFGR#2224 -453515044 1998 MFGR#2226 -459109577 1998 MFGR#2223 -589765707 1995 MFGR#2224 -630422081 1997 MFGR#2224 -637832575 1995 MFGR#2223 -646528589 1992 MFGR#2225 -651488962 1992 MFGR#2224 -656095314 1996 MFGR#2223 -656859917 1996 MFGR#2224 -664533779 1997 MFGR#2222 -666524807 1994 MFGR#2222 -669662707 1993 MFGR#2224 -680880216 1993 MFGR#2228 -685777518 1994 MFGR#2221 -691475597 1993 MFGR#2222 -700010008 1996 MFGR#2221 -707869040 1994 MFGR#2224 -708290039 1995 MFGR#2225 -709524929 1992 MFGR#2221 -709650548 1992 MFGR#2226 -720837128 1994 MFGR#2227 -721251967 1994 MFGR#2225 -727342382 1997 MFGR#2221 -728857899 1997 MFGR#2227 -729563303 1996 MFGR#2227 -733993590 1994 MFGR#2223 -737087518 1993 MFGR#2226 -745556316 1992 MFGR#2227 -747356383 1995 MFGR#2226 -747889257 1997 MFGR#2226 -748288392 1997 MFGR#2223 -756901875 1992 MFGR#2228 -757391203 1997 MFGR#2225 -758220752 1993 MFGR#2223 -761354792 1995 MFGR#2222 -765052002 1992 MFGR#2223 -765820896 1996 MFGR#2225 -766521103 1993 MFGR#2221 -773854228 1993 MFGR#2225 -775312985 1997 MFGR#2228 -775437074 1995 MFGR#2221 -777310085 1996 MFGR#2222 -781967766 1993 MFGR#2227 -783846394 1992 MFGR#2222 -802502540 1995 MFGR#2227 -808177734 1996 MFGR#2226 -819665874 1996 MFGR#2228 -822495919 1994 MFGR#2226 -826225350 1994 MFGR#2228 -895936786 1995 MFGR#2228 +20416501 1992 MFGR#2224 +28235270 1992 MFGR#2221 +39273349 1992 MFGR#2227 +48591160 1992 MFGR#2223 +60628045 1992 MFGR#2226 +64071827 1992 MFGR#2222 +66658087 1992 MFGR#2228 +74950776 1992 MFGR#2225 -- !query2_3before -- -380255731 1998 MFGR#2239 -664145134 1994 MFGR#2239 -705238959 1993 MFGR#2239 -713839336 1995 MFGR#2239 -726427486 1992 MFGR#2239 -728492865 1996 MFGR#2239 -733896532 1997 MFGR#2239 +89380397 1992 MFGR#2239 -- !query2_3_after -- -380255731 1998 MFGR#2239 -664145134 1994 MFGR#2239 -705238959 1993 MFGR#2239 -713839336 1995 MFGR#2239 -726427486 1992 MFGR#2239 -728492865 1996 MFGR#2239 -733896532 1997 MFGR#2239 +89380397 1992 MFGR#2239 -- !query3_1before -- -CHINA CHINA 1992 6456431477 -CHINA CHINA 1993 6444513787 -CHINA CHINA 1994 6648942965 -CHINA CHINA 1995 6624666612 -CHINA CHINA 1996 6591697915 -CHINA CHINA 1997 6463794795 -CHINA INDIA 1992 6189831351 -CHINA INDIA 1993 6421694121 -CHINA INDIA 1994 6297582811 -CHINA INDIA 1995 6246656374 -CHINA INDIA 1996 6153787365 -CHINA INDIA 1997 6084283983 -CHINA INDONESIA 1992 6616078869 -CHINA INDONESIA 1993 6581513366 -CHINA INDONESIA 1994 6234787896 -CHINA INDONESIA 1995 7074539444 -CHINA INDONESIA 1996 6657125075 -CHINA INDONESIA 1997 6653234696 -CHINA JAPAN 1992 6157678893 -CHINA JAPAN 1993 6195466884 -CHINA JAPAN 1994 6349037021 -CHINA JAPAN 1995 6021854130 -CHINA JAPAN 1996 6105566324 -CHINA JAPAN 1997 6284733518 -CHINA VIETNAM 1992 5412322026 -CHINA VIETNAM 1993 5885023228 -CHINA VIETNAM 1994 5885318733 -CHINA VIETNAM 1995 5489936063 -CHINA VIETNAM 1996 5434772818 -CHINA VIETNAM 1997 5908254176 -INDIA CHINA 1992 6066461811 -INDIA CHINA 1993 6209353792 -INDIA CHINA 1994 5815022714 -INDIA CHINA 1995 6010532793 -INDIA CHINA 1996 6198567819 -INDIA CHINA 1997 6153282214 -INDIA INDIA 1992 5361243755 -INDIA INDIA 1993 5571575799 -INDIA INDIA 1994 5584936515 -INDIA INDIA 1995 5565995550 -INDIA INDIA 1996 5532073103 -INDIA INDIA 1997 5693028907 -INDIA INDONESIA 1992 6238807354 -INDIA INDONESIA 1993 6331058594 -INDIA INDONESIA 1994 6168189859 -INDIA INDONESIA 1995 5975518597 -INDIA INDONESIA 1996 6189242058 -INDIA INDONESIA 1997 5983439300 -INDIA JAPAN 1992 5421959281 -INDIA JAPAN 1993 5995208985 -INDIA JAPAN 1994 5394134974 -INDIA JAPAN 1995 5469203427 -INDIA JAPAN 1996 5841664805 -INDIA JAPAN 1997 5587827913 -INDIA VIETNAM 1992 5245330621 -INDIA VIETNAM 1993 5233871487 -INDIA VIETNAM 1994 5251039815 -INDIA VIETNAM 1995 5207063284 -INDIA VIETNAM 1996 5293891531 -INDIA VIETNAM 1997 5003624837 -INDONESIA CHINA 1992 6310709533 -INDONESIA CHINA 1993 6612891249 -INDONESIA CHINA 1994 6483600910 -INDONESIA CHINA 1995 6928620620 -INDONESIA CHINA 1996 6613439112 -INDONESIA CHINA 1997 6577396314 -INDONESIA INDIA 1992 5770203218 -INDONESIA INDIA 1993 6151664306 -INDONESIA INDIA 1994 6198412245 -INDONESIA INDIA 1995 6173805183 -INDONESIA INDIA 1996 6138810863 -INDONESIA INDIA 1997 5789367105 -INDONESIA INDONESIA 1992 6905698988 -INDONESIA INDONESIA 1993 6931363262 -INDONESIA INDONESIA 1994 6315331086 -INDONESIA INDONESIA 1995 6268531321 -INDONESIA INDONESIA 1996 6750056283 -INDONESIA INDONESIA 1997 6398427821 -INDONESIA JAPAN 1992 5663765610 -INDONESIA JAPAN 1993 6147605249 -INDONESIA JAPAN 1994 6141195969 -INDONESIA JAPAN 1995 6019093871 -INDONESIA JAPAN 1996 6055638222 -INDONESIA JAPAN 1997 6001427956 -INDONESIA VIETNAM 1992 5302638372 -INDONESIA VIETNAM 1993 5840287722 -INDONESIA VIETNAM 1994 5624346368 -INDONESIA VIETNAM 1995 5574974066 -INDONESIA VIETNAM 1996 5438514387 -INDONESIA VIETNAM 1997 5665678132 -JAPAN CHINA 1992 6067100655 -JAPAN CHINA 1993 6292293995 -JAPAN CHINA 1994 6320009218 -JAPAN CHINA 1995 6519889385 -JAPAN CHINA 1996 6088985564 -JAPAN CHINA 1997 5973849687 -JAPAN INDIA 1992 5802749985 -JAPAN INDIA 1993 5823343157 -JAPAN INDIA 1994 5645818872 -JAPAN INDIA 1995 5730743126 -JAPAN INDIA 1996 5644579616 -JAPAN INDIA 1997 5796921992 -JAPAN INDONESIA 1992 6222565638 -JAPAN INDONESIA 1993 6053946313 -JAPAN INDONESIA 1994 6013034618 -JAPAN INDONESIA 1995 5947000735 -JAPAN INDONESIA 1996 6227447856 -JAPAN INDONESIA 1997 6429270126 -JAPAN JAPAN 1992 5648034711 -JAPAN JAPAN 1993 5430318583 -JAPAN JAPAN 1994 5753821482 -JAPAN JAPAN 1995 5952279129 -JAPAN JAPAN 1996 5566204795 -JAPAN JAPAN 1997 5790450039 -JAPAN VIETNAM 1992 5401692555 -JAPAN VIETNAM 1993 5406569653 -JAPAN VIETNAM 1994 5275821637 -JAPAN VIETNAM 1995 5501313775 -JAPAN VIETNAM 1996 5334277549 -JAPAN VIETNAM 1997 5249874614 -VIETNAM CHINA 1992 6332844390 -VIETNAM CHINA 1993 6413579999 -VIETNAM CHINA 1994 6709883442 -VIETNAM CHINA 1995 6332731268 -VIETNAM CHINA 1996 6428653890 -VIETNAM CHINA 1997 6164218723 -VIETNAM INDIA 1992 5698511401 -VIETNAM INDIA 1993 6161174477 -VIETNAM INDIA 1994 5789398691 -VIETNAM INDIA 1995 6198441957 -VIETNAM INDIA 1996 5807486983 -VIETNAM INDIA 1997 5730121608 -VIETNAM INDONESIA 1992 6340181707 -VIETNAM INDONESIA 1993 6511639352 -VIETNAM INDONESIA 1994 6347441931 -VIETNAM INDONESIA 1995 6057820148 -VIETNAM INDONESIA 1996 6295626732 -VIETNAM INDONESIA 1997 6363583120 -VIETNAM JAPAN 1992 5863786349 -VIETNAM JAPAN 1993 5874266867 -VIETNAM JAPAN 1994 6231973047 -VIETNAM JAPAN 1995 6263957020 -VIETNAM JAPAN 1996 5919997150 -VIETNAM JAPAN 1997 5689345230 -VIETNAM VIETNAM 1992 5111731778 -VIETNAM VIETNAM 1993 5554161183 -VIETNAM VIETNAM 1994 5418498159 -VIETNAM VIETNAM 1995 5754727607 -VIETNAM VIETNAM 1996 5860842302 -VIETNAM VIETNAM 1997 5620251324 +CHINA CHINA 1992 614550901 +CHINA INDIA 1992 348359904 +CHINA INDONESIA 1992 352903905 +CHINA JAPAN 1992 327558220 +CHINA VIETNAM 1992 324763767 +INDIA CHINA 1992 561966207 +INDIA INDIA 1992 329354089 +INDIA INDONESIA 1992 487449629 +INDIA JAPAN 1992 412186106 +INDIA VIETNAM 1992 334582962 +INDONESIA CHINA 1992 621316255 +INDONESIA INDIA 1992 310417666 +INDONESIA INDONESIA 1992 477417717 +INDONESIA JAPAN 1992 465870469 +INDONESIA VIETNAM 1992 278083418 +JAPAN CHINA 1992 637991852 +JAPAN INDIA 1992 393835589 +JAPAN INDONESIA 1992 476513261 +JAPAN JAPAN 1992 399179790 +JAPAN VIETNAM 1992 468999429 +VIETNAM CHINA 1992 621845377 +VIETNAM INDIA 1992 296225919 +VIETNAM INDONESIA 1992 462424521 +VIETNAM JAPAN 1992 395247587 +VIETNAM VIETNAM 1992 342176333 -- !query3_1_after -- -CHINA CHINA 1992 6456431477 -CHINA CHINA 1993 6444513787 -CHINA CHINA 1994 6648942965 -CHINA CHINA 1995 6624666612 -CHINA CHINA 1996 6591697915 -CHINA CHINA 1997 6463794795 -CHINA INDIA 1992 6189831351 -CHINA INDIA 1993 6421694121 -CHINA INDIA 1994 6297582811 -CHINA INDIA 1995 6246656374 -CHINA INDIA 1996 6153787365 -CHINA INDIA 1997 6084283983 -CHINA INDONESIA 1992 6616078869 -CHINA INDONESIA 1993 6581513366 -CHINA INDONESIA 1994 6234787896 -CHINA INDONESIA 1995 7074539444 -CHINA INDONESIA 1996 6657125075 -CHINA INDONESIA 1997 6653234696 -CHINA JAPAN 1992 6157678893 -CHINA JAPAN 1993 6195466884 -CHINA JAPAN 1994 6349037021 -CHINA JAPAN 1995 6021854130 -CHINA JAPAN 1996 6105566324 -CHINA JAPAN 1997 6284733518 -CHINA VIETNAM 1992 5412322026 -CHINA VIETNAM 1993 5885023228 -CHINA VIETNAM 1994 5885318733 -CHINA VIETNAM 1995 5489936063 -CHINA VIETNAM 1996 5434772818 -CHINA VIETNAM 1997 5908254176 -INDIA CHINA 1992 6066461811 -INDIA CHINA 1993 6209353792 -INDIA CHINA 1994 5815022714 -INDIA CHINA 1995 6010532793 -INDIA CHINA 1996 6198567819 -INDIA CHINA 1997 6153282214 -INDIA INDIA 1992 5361243755 -INDIA INDIA 1993 5571575799 -INDIA INDIA 1994 5584936515 -INDIA INDIA 1995 5565995550 -INDIA INDIA 1996 5532073103 -INDIA INDIA 1997 5693028907 -INDIA INDONESIA 1992 6238807354 -INDIA INDONESIA 1993 6331058594 -INDIA INDONESIA 1994 6168189859 -INDIA INDONESIA 1995 5975518597 -INDIA INDONESIA 1996 6189242058 -INDIA INDONESIA 1997 5983439300 -INDIA JAPAN 1992 5421959281 -INDIA JAPAN 1993 5995208985 -INDIA JAPAN 1994 5394134974 -INDIA JAPAN 1995 5469203427 -INDIA JAPAN 1996 5841664805 -INDIA JAPAN 1997 5587827913 -INDIA VIETNAM 1992 5245330621 -INDIA VIETNAM 1993 5233871487 -INDIA VIETNAM 1994 5251039815 -INDIA VIETNAM 1995 5207063284 -INDIA VIETNAM 1996 5293891531 -INDIA VIETNAM 1997 5003624837 -INDONESIA CHINA 1992 6310709533 -INDONESIA CHINA 1993 6612891249 -INDONESIA CHINA 1994 6483600910 -INDONESIA CHINA 1995 6928620620 -INDONESIA CHINA 1996 6613439112 -INDONESIA CHINA 1997 6577396314 -INDONESIA INDIA 1992 5770203218 -INDONESIA INDIA 1993 6151664306 -INDONESIA INDIA 1994 6198412245 -INDONESIA INDIA 1995 6173805183 -INDONESIA INDIA 1996 6138810863 -INDONESIA INDIA 1997 5789367105 -INDONESIA INDONESIA 1992 6905698988 -INDONESIA INDONESIA 1993 6931363262 -INDONESIA INDONESIA 1994 6315331086 -INDONESIA INDONESIA 1995 6268531321 -INDONESIA INDONESIA 1996 6750056283 -INDONESIA INDONESIA 1997 6398427821 -INDONESIA JAPAN 1992 5663765610 -INDONESIA JAPAN 1993 6147605249 -INDONESIA JAPAN 1994 6141195969 -INDONESIA JAPAN 1995 6019093871 -INDONESIA JAPAN 1996 6055638222 -INDONESIA JAPAN 1997 6001427956 -INDONESIA VIETNAM 1992 5302638372 -INDONESIA VIETNAM 1993 5840287722 -INDONESIA VIETNAM 1994 5624346368 -INDONESIA VIETNAM 1995 5574974066 -INDONESIA VIETNAM 1996 5438514387 -INDONESIA VIETNAM 1997 5665678132 -JAPAN CHINA 1992 6067100655 -JAPAN CHINA 1993 6292293995 -JAPAN CHINA 1994 6320009218 -JAPAN CHINA 1995 6519889385 -JAPAN CHINA 1996 6088985564 -JAPAN CHINA 1997 5973849687 -JAPAN INDIA 1992 5802749985 -JAPAN INDIA 1993 5823343157 -JAPAN INDIA 1994 5645818872 -JAPAN INDIA 1995 5730743126 -JAPAN INDIA 1996 5644579616 -JAPAN INDIA 1997 5796921992 -JAPAN INDONESIA 1992 6222565638 -JAPAN INDONESIA 1993 6053946313 -JAPAN INDONESIA 1994 6013034618 -JAPAN INDONESIA 1995 5947000735 -JAPAN INDONESIA 1996 6227447856 -JAPAN INDONESIA 1997 6429270126 -JAPAN JAPAN 1992 5648034711 -JAPAN JAPAN 1993 5430318583 -JAPAN JAPAN 1994 5753821482 -JAPAN JAPAN 1995 5952279129 -JAPAN JAPAN 1996 5566204795 -JAPAN JAPAN 1997 5790450039 -JAPAN VIETNAM 1992 5401692555 -JAPAN VIETNAM 1993 5406569653 -JAPAN VIETNAM 1994 5275821637 -JAPAN VIETNAM 1995 5501313775 -JAPAN VIETNAM 1996 5334277549 -JAPAN VIETNAM 1997 5249874614 -VIETNAM CHINA 1992 6332844390 -VIETNAM CHINA 1993 6413579999 -VIETNAM CHINA 1994 6709883442 -VIETNAM CHINA 1995 6332731268 -VIETNAM CHINA 1996 6428653890 -VIETNAM CHINA 1997 6164218723 -VIETNAM INDIA 1992 5698511401 -VIETNAM INDIA 1993 6161174477 -VIETNAM INDIA 1994 5789398691 -VIETNAM INDIA 1995 6198441957 -VIETNAM INDIA 1996 5807486983 -VIETNAM INDIA 1997 5730121608 -VIETNAM INDONESIA 1992 6340181707 -VIETNAM INDONESIA 1993 6511639352 -VIETNAM INDONESIA 1994 6347441931 -VIETNAM INDONESIA 1995 6057820148 -VIETNAM INDONESIA 1996 6295626732 -VIETNAM INDONESIA 1997 6363583120 -VIETNAM JAPAN 1992 5863786349 -VIETNAM JAPAN 1993 5874266867 -VIETNAM JAPAN 1994 6231973047 -VIETNAM JAPAN 1995 6263957020 -VIETNAM JAPAN 1996 5919997150 -VIETNAM JAPAN 1997 5689345230 -VIETNAM VIETNAM 1992 5111731778 -VIETNAM VIETNAM 1993 5554161183 -VIETNAM VIETNAM 1994 5418498159 -VIETNAM VIETNAM 1995 5754727607 -VIETNAM VIETNAM 1996 5860842302 -VIETNAM VIETNAM 1997 5620251324 +CHINA CHINA 1992 614550901 +CHINA INDIA 1992 348359904 +CHINA INDONESIA 1992 352903905 +CHINA JAPAN 1992 327558220 +CHINA VIETNAM 1992 324763767 +INDIA CHINA 1992 561966207 +INDIA INDIA 1992 329354089 +INDIA INDONESIA 1992 487449629 +INDIA JAPAN 1992 412186106 +INDIA VIETNAM 1992 334582962 +INDONESIA CHINA 1992 621316255 +INDONESIA INDIA 1992 310417666 +INDONESIA INDONESIA 1992 477417717 +INDONESIA JAPAN 1992 465870469 +INDONESIA VIETNAM 1992 278083418 +JAPAN CHINA 1992 637991852 +JAPAN INDIA 1992 393835589 +JAPAN INDONESIA 1992 476513261 +JAPAN JAPAN 1992 399179790 +JAPAN VIETNAM 1992 468999429 +VIETNAM CHINA 1992 621845377 +VIETNAM INDIA 1992 296225919 +VIETNAM INDONESIA 1992 462424521 +VIETNAM JAPAN 1992 395247587 +VIETNAM VIETNAM 1992 342176333 -- !query3_2before -- -UNITED ST0 UNITED ST0 1992 75622122 -UNITED ST0 UNITED ST0 1993 106742548 -UNITED ST0 UNITED ST0 1994 83526877 -UNITED ST0 UNITED ST0 1995 38984502 -UNITED ST0 UNITED ST0 1996 61528855 -UNITED ST0 UNITED ST0 1997 66308516 -UNITED ST0 UNITED ST1 1992 77267396 -UNITED ST0 UNITED ST1 1993 91196593 -UNITED ST0 UNITED ST1 1994 76613379 -UNITED ST0 UNITED ST1 1995 90763599 -UNITED ST0 UNITED ST1 1996 91948777 -UNITED ST0 UNITED ST1 1997 80167139 -UNITED ST0 UNITED ST2 1992 27718733 -UNITED ST0 UNITED ST2 1993 15042145 -UNITED ST0 UNITED ST2 1994 22017954 -UNITED ST0 UNITED ST2 1995 4776460 -UNITED ST0 UNITED ST2 1996 6907199 -UNITED ST0 UNITED ST2 1997 23584229 -UNITED ST0 UNITED ST3 1992 56359317 -UNITED ST0 UNITED ST3 1993 76171283 -UNITED ST0 UNITED ST3 1994 27327829 -UNITED ST0 UNITED ST3 1995 56360708 -UNITED ST0 UNITED ST3 1996 29795665 -UNITED ST0 UNITED ST3 1997 40078508 -UNITED ST0 UNITED ST4 1992 49676807 -UNITED ST0 UNITED ST4 1993 49260067 -UNITED ST0 UNITED ST4 1994 61519744 -UNITED ST0 UNITED ST4 1995 29170038 -UNITED ST0 UNITED ST4 1996 103228749 -UNITED ST0 UNITED ST4 1997 41193803 -UNITED ST0 UNITED ST5 1992 40120886 -UNITED ST0 UNITED ST5 1993 52701052 -UNITED ST0 UNITED ST5 1994 41808301 -UNITED ST0 UNITED ST5 1995 11453709 -UNITED ST0 UNITED ST5 1996 57762895 -UNITED ST0 UNITED ST5 1997 47988418 -UNITED ST0 UNITED ST6 1992 42471806 -UNITED ST0 UNITED ST6 1993 50432282 -UNITED ST0 UNITED ST6 1994 61288778 -UNITED ST0 UNITED ST6 1995 40718942 -UNITED ST0 UNITED ST6 1996 37232062 -UNITED ST0 UNITED ST6 1997 22924046 -UNITED ST0 UNITED ST7 1992 50583409 -UNITED ST0 UNITED ST7 1993 48796360 -UNITED ST0 UNITED ST7 1994 61480820 -UNITED ST0 UNITED ST7 1995 33395313 -UNITED ST0 UNITED ST7 1996 31391181 -UNITED ST0 UNITED ST7 1997 72577490 -UNITED ST0 UNITED ST8 1992 49732640 -UNITED ST0 UNITED ST8 1993 42002682 -UNITED ST0 UNITED ST8 1994 31845433 -UNITED ST0 UNITED ST8 1995 16393249 -UNITED ST0 UNITED ST8 1996 15168262 -UNITED ST0 UNITED ST8 1997 30241370 -UNITED ST0 UNITED ST9 1992 63979996 -UNITED ST0 UNITED ST9 1993 109834040 -UNITED ST0 UNITED ST9 1994 89865202 -UNITED ST0 UNITED ST9 1995 63253499 -UNITED ST0 UNITED ST9 1996 75935209 -UNITED ST0 UNITED ST9 1997 119856268 -UNITED ST1 UNITED ST0 1992 96989491 -UNITED ST1 UNITED ST0 1993 99305952 -UNITED ST1 UNITED ST0 1994 43225201 -UNITED ST1 UNITED ST0 1995 81676623 -UNITED ST1 UNITED ST0 1996 94861554 -UNITED ST1 UNITED ST0 1997 77667866 -UNITED ST1 UNITED ST1 1992 64669070 -UNITED ST1 UNITED ST1 1993 47538610 -UNITED ST1 UNITED ST1 1994 54383174 -UNITED ST1 UNITED ST1 1995 64199332 -UNITED ST1 UNITED ST1 1996 87265848 -UNITED ST1 UNITED ST1 1997 76340444 -UNITED ST1 UNITED ST2 1992 7706728 -UNITED ST1 UNITED ST2 1993 16844538 -UNITED ST1 UNITED ST2 1994 23556586 -UNITED ST1 UNITED ST2 1995 7991676 -UNITED ST1 UNITED ST2 1996 10082536 -UNITED ST1 UNITED ST2 1997 20599130 -UNITED ST1 UNITED ST3 1992 55727474 -UNITED ST1 UNITED ST3 1993 52097946 -UNITED ST1 UNITED ST3 1994 75992459 -UNITED ST1 UNITED ST3 1995 45823056 -UNITED ST1 UNITED ST3 1996 77610905 -UNITED ST1 UNITED ST3 1997 85175638 -UNITED ST1 UNITED ST4 1992 39326346 -UNITED ST1 UNITED ST4 1993 62884347 -UNITED ST1 UNITED ST4 1994 41381558 -UNITED ST1 UNITED ST4 1995 57535599 -UNITED ST1 UNITED ST4 1996 50135547 -UNITED ST1 UNITED ST4 1997 83092569 -UNITED ST1 UNITED ST5 1992 33971251 -UNITED ST1 UNITED ST5 1993 40693513 -UNITED ST1 UNITED ST5 1994 24939138 -UNITED ST1 UNITED ST5 1995 31857452 -UNITED ST1 UNITED ST5 1996 51189649 -UNITED ST1 UNITED ST5 1997 51052110 -UNITED ST1 UNITED ST6 1992 35404990 -UNITED ST1 UNITED ST6 1993 44728540 -UNITED ST1 UNITED ST6 1994 31287326 -UNITED ST1 UNITED ST6 1995 27139403 -UNITED ST1 UNITED ST6 1996 54056366 -UNITED ST1 UNITED ST6 1997 18205326 -UNITED ST1 UNITED ST7 1992 71472973 -UNITED ST1 UNITED ST7 1993 54851183 -UNITED ST1 UNITED ST7 1994 53853106 -UNITED ST1 UNITED ST7 1995 61515741 -UNITED ST1 UNITED ST7 1996 41721506 -UNITED ST1 UNITED ST7 1997 77045722 -UNITED ST1 UNITED ST8 1992 28565579 -UNITED ST1 UNITED ST8 1993 66146198 -UNITED ST1 UNITED ST8 1994 30245153 -UNITED ST1 UNITED ST8 1995 34918793 -UNITED ST1 UNITED ST8 1996 39430882 -UNITED ST1 UNITED ST8 1997 15375258 -UNITED ST1 UNITED ST9 1992 75367059 -UNITED ST1 UNITED ST9 1993 52514902 -UNITED ST1 UNITED ST9 1994 43000037 -UNITED ST1 UNITED ST9 1995 72470870 -UNITED ST1 UNITED ST9 1996 69823769 -UNITED ST1 UNITED ST9 1997 48944111 -UNITED ST2 UNITED ST0 1992 72210218 -UNITED ST2 UNITED ST0 1993 42845485 -UNITED ST2 UNITED ST0 1994 60182153 -UNITED ST2 UNITED ST0 1995 52560838 -UNITED ST2 UNITED ST0 1996 67095122 -UNITED ST2 UNITED ST0 1997 77591470 -UNITED ST2 UNITED ST1 1992 81839165 -UNITED ST2 UNITED ST1 1993 69631701 -UNITED ST2 UNITED ST1 1994 81300089 -UNITED ST2 UNITED ST1 1995 45437340 -UNITED ST2 UNITED ST1 1996 88256155 -UNITED ST2 UNITED ST1 1997 65396135 -UNITED ST2 UNITED ST2 1992 25743654 -UNITED ST2 UNITED ST2 1993 14521995 -UNITED ST2 UNITED ST2 1994 18068657 -UNITED ST2 UNITED ST2 1995 13455031 -UNITED ST2 UNITED ST2 1997 37034333 -UNITED ST2 UNITED ST3 1992 35981963 -UNITED ST2 UNITED ST3 1993 66972438 -UNITED ST2 UNITED ST3 1994 65620760 -UNITED ST2 UNITED ST3 1995 65218129 -UNITED ST2 UNITED ST3 1996 59648598 -UNITED ST2 UNITED ST3 1997 65429453 -UNITED ST2 UNITED ST4 1992 91180500 -UNITED ST2 UNITED ST4 1993 56650391 -UNITED ST2 UNITED ST4 1994 55679377 -UNITED ST2 UNITED ST4 1995 82432305 -UNITED ST2 UNITED ST4 1996 57487057 -UNITED ST2 UNITED ST4 1997 57012611 -UNITED ST2 UNITED ST5 1992 57021365 -UNITED ST2 UNITED ST5 1993 37406845 -UNITED ST2 UNITED ST5 1994 37640317 -UNITED ST2 UNITED ST5 1995 43382417 -UNITED ST2 UNITED ST5 1996 47028976 -UNITED ST2 UNITED ST5 1997 40662886 -UNITED ST2 UNITED ST6 1992 27813739 -UNITED ST2 UNITED ST6 1993 26482226 -UNITED ST2 UNITED ST6 1994 41526105 -UNITED ST2 UNITED ST6 1995 37146288 -UNITED ST2 UNITED ST6 1996 45416649 -UNITED ST2 UNITED ST6 1997 34274467 -UNITED ST2 UNITED ST7 1992 33702779 -UNITED ST2 UNITED ST7 1993 64185014 -UNITED ST2 UNITED ST7 1994 22182758 -UNITED ST2 UNITED ST7 1995 60000208 -UNITED ST2 UNITED ST7 1996 80468477 -UNITED ST2 UNITED ST7 1997 76483802 -UNITED ST2 UNITED ST8 1992 36046449 -UNITED ST2 UNITED ST8 1993 33445446 -UNITED ST2 UNITED ST8 1994 33767774 -UNITED ST2 UNITED ST8 1995 30504189 -UNITED ST2 UNITED ST8 1996 46865113 -UNITED ST2 UNITED ST8 1997 46391909 -UNITED ST2 UNITED ST9 1992 83705618 -UNITED ST2 UNITED ST9 1993 48188507 -UNITED ST2 UNITED ST9 1994 69671054 -UNITED ST2 UNITED ST9 1995 65055178 -UNITED ST2 UNITED ST9 1996 53491415 -UNITED ST2 UNITED ST9 1997 69543984 -UNITED ST3 UNITED ST0 1992 62441656 -UNITED ST3 UNITED ST0 1993 66626926 -UNITED ST3 UNITED ST0 1994 65522727 -UNITED ST3 UNITED ST0 1995 84462733 -UNITED ST3 UNITED ST0 1996 60226840 -UNITED ST3 UNITED ST0 1997 54050172 -UNITED ST3 UNITED ST1 1992 73637490 -UNITED ST3 UNITED ST1 1993 78230278 -UNITED ST3 UNITED ST1 1994 85523653 -UNITED ST3 UNITED ST1 1995 64762815 -UNITED ST3 UNITED ST1 1996 74746699 -UNITED ST3 UNITED ST1 1997 54150683 -UNITED ST3 UNITED ST2 1992 1097208 -UNITED ST3 UNITED ST2 1993 21559073 -UNITED ST3 UNITED ST2 1994 9995234 -UNITED ST3 UNITED ST2 1995 12886829 -UNITED ST3 UNITED ST2 1996 4311800 -UNITED ST3 UNITED ST2 1997 7891878 -UNITED ST3 UNITED ST3 1992 45087216 -UNITED ST3 UNITED ST3 1993 21777144 -UNITED ST3 UNITED ST3 1994 45627153 -UNITED ST3 UNITED ST3 1995 48158089 -UNITED ST3 UNITED ST3 1996 49263796 -UNITED ST3 UNITED ST3 1997 48385233 -UNITED ST3 UNITED ST4 1992 63144772 -UNITED ST3 UNITED ST4 1993 92493920 -UNITED ST3 UNITED ST4 1994 63412365 -UNITED ST3 UNITED ST4 1995 30422346 -UNITED ST3 UNITED ST4 1996 54838259 -UNITED ST3 UNITED ST4 1997 58356141 -UNITED ST3 UNITED ST5 1992 64239048 -UNITED ST3 UNITED ST5 1993 55907305 -UNITED ST3 UNITED ST5 1994 26197875 -UNITED ST3 UNITED ST5 1995 40057815 -UNITED ST3 UNITED ST5 1996 33717439 -UNITED ST3 UNITED ST5 1997 32811963 -UNITED ST3 UNITED ST6 1992 38798715 -UNITED ST3 UNITED ST6 1993 58584808 -UNITED ST3 UNITED ST6 1994 36290257 -UNITED ST3 UNITED ST6 1995 16738530 -UNITED ST3 UNITED ST6 1996 41881628 -UNITED ST3 UNITED ST6 1997 36075844 -UNITED ST3 UNITED ST7 1992 39028579 -UNITED ST3 UNITED ST7 1993 50135448 -UNITED ST3 UNITED ST7 1994 40935131 -UNITED ST3 UNITED ST7 1995 51579548 -UNITED ST3 UNITED ST7 1996 53987218 -UNITED ST3 UNITED ST7 1997 61095300 -UNITED ST3 UNITED ST8 1992 41275764 -UNITED ST3 UNITED ST8 1993 42251848 -UNITED ST3 UNITED ST8 1994 15936051 -UNITED ST3 UNITED ST8 1995 22505239 -UNITED ST3 UNITED ST8 1996 33924732 -UNITED ST3 UNITED ST8 1997 29102220 -UNITED ST3 UNITED ST9 1992 86142048 -UNITED ST3 UNITED ST9 1993 54762596 -UNITED ST3 UNITED ST9 1994 97476185 -UNITED ST3 UNITED ST9 1995 37364623 -UNITED ST3 UNITED ST9 1996 49612304 -UNITED ST3 UNITED ST9 1997 51370308 -UNITED ST4 UNITED ST0 1992 94644242 -UNITED ST4 UNITED ST0 1993 86918458 -UNITED ST4 UNITED ST0 1994 73719340 -UNITED ST4 UNITED ST0 1995 46142899 -UNITED ST4 UNITED ST0 1996 106897563 -UNITED ST4 UNITED ST0 1997 69875804 -UNITED ST4 UNITED ST1 1992 102027455 -UNITED ST4 UNITED ST1 1993 88521423 -UNITED ST4 UNITED ST1 1994 72219557 -UNITED ST4 UNITED ST1 1995 90878653 -UNITED ST4 UNITED ST1 1996 72819867 -UNITED ST4 UNITED ST1 1997 84611188 -UNITED ST4 UNITED ST2 1992 12061845 -UNITED ST4 UNITED ST2 1993 27012678 -UNITED ST4 UNITED ST2 1994 23035892 -UNITED ST4 UNITED ST2 1995 22787003 -UNITED ST4 UNITED ST2 1996 12451867 -UNITED ST4 UNITED ST2 1997 2848157 -UNITED ST4 UNITED ST3 1992 69001787 -UNITED ST4 UNITED ST3 1993 33129412 -UNITED ST4 UNITED ST3 1994 31599433 -UNITED ST4 UNITED ST3 1995 37356396 -UNITED ST4 UNITED ST3 1996 46460940 -UNITED ST4 UNITED ST3 1997 59634153 -UNITED ST4 UNITED ST4 1992 70111335 -UNITED ST4 UNITED ST4 1993 98150465 -UNITED ST4 UNITED ST4 1994 76837381 -UNITED ST4 UNITED ST4 1995 74587071 -UNITED ST4 UNITED ST4 1996 32787995 -UNITED ST4 UNITED ST4 1997 62532346 -UNITED ST4 UNITED ST5 1992 65057872 -UNITED ST4 UNITED ST5 1993 29119594 -UNITED ST4 UNITED ST5 1994 59397028 -UNITED ST4 UNITED ST5 1995 62081505 -UNITED ST4 UNITED ST5 1996 42808412 -UNITED ST4 UNITED ST5 1997 31995868 -UNITED ST4 UNITED ST6 1992 81886374 -UNITED ST4 UNITED ST6 1993 30699255 -UNITED ST4 UNITED ST6 1994 58633482 -UNITED ST4 UNITED ST6 1995 38109524 -UNITED ST4 UNITED ST6 1996 62189328 -UNITED ST4 UNITED ST6 1997 46236849 -UNITED ST4 UNITED ST7 1992 62529376 -UNITED ST4 UNITED ST7 1993 88172198 -UNITED ST4 UNITED ST7 1994 76954140 -UNITED ST4 UNITED ST7 1995 69264407 -UNITED ST4 UNITED ST7 1996 83677814 -UNITED ST4 UNITED ST7 1997 84606996 -UNITED ST4 UNITED ST8 1992 21928442 -UNITED ST4 UNITED ST8 1993 41657582 -UNITED ST4 UNITED ST8 1994 20685352 -UNITED ST4 UNITED ST8 1995 23053236 -UNITED ST4 UNITED ST8 1996 53035662 -UNITED ST4 UNITED ST8 1997 32599736 -UNITED ST4 UNITED ST9 1992 67837970 -UNITED ST4 UNITED ST9 1993 73296959 -UNITED ST4 UNITED ST9 1994 83822393 -UNITED ST4 UNITED ST9 1995 99490068 -UNITED ST4 UNITED ST9 1996 54134840 -UNITED ST4 UNITED ST9 1997 79697927 -UNITED ST5 UNITED ST0 1992 90432300 -UNITED ST5 UNITED ST0 1993 106822597 -UNITED ST5 UNITED ST0 1994 78648057 -UNITED ST5 UNITED ST0 1995 77615746 -UNITED ST5 UNITED ST0 1996 104501979 -UNITED ST5 UNITED ST0 1997 121457766 -UNITED ST5 UNITED ST1 1992 59945287 -UNITED ST5 UNITED ST1 1993 71454623 -UNITED ST5 UNITED ST1 1994 73508418 -UNITED ST5 UNITED ST1 1995 119793669 -UNITED ST5 UNITED ST1 1996 65346389 -UNITED ST5 UNITED ST1 1997 106900161 -UNITED ST5 UNITED ST2 1992 20495817 -UNITED ST5 UNITED ST2 1993 20610242 -UNITED ST5 UNITED ST2 1994 7162796 -UNITED ST5 UNITED ST2 1995 14951023 -UNITED ST5 UNITED ST2 1996 8544233 -UNITED ST5 UNITED ST2 1997 13863438 -UNITED ST5 UNITED ST3 1992 53963553 -UNITED ST5 UNITED ST3 1993 34031811 -UNITED ST5 UNITED ST3 1994 65334911 -UNITED ST5 UNITED ST3 1995 78099130 -UNITED ST5 UNITED ST3 1996 32919926 -UNITED ST5 UNITED ST3 1997 56789932 -UNITED ST5 UNITED ST4 1992 57625627 -UNITED ST5 UNITED ST4 1993 63415639 -UNITED ST5 UNITED ST4 1994 51799593 -UNITED ST5 UNITED ST4 1995 81016761 -UNITED ST5 UNITED ST4 1996 33424859 -UNITED ST5 UNITED ST4 1997 103432927 -UNITED ST5 UNITED ST5 1992 29279568 -UNITED ST5 UNITED ST5 1993 50357189 -UNITED ST5 UNITED ST5 1994 56235213 -UNITED ST5 UNITED ST5 1995 50394007 -UNITED ST5 UNITED ST5 1996 43020722 -UNITED ST5 UNITED ST5 1997 32568888 -UNITED ST5 UNITED ST6 1992 62628093 -UNITED ST5 UNITED ST6 1993 25357679 -UNITED ST5 UNITED ST6 1994 38658451 -UNITED ST5 UNITED ST6 1995 30204737 -UNITED ST5 UNITED ST6 1996 38332044 -UNITED ST5 UNITED ST6 1997 49030016 -UNITED ST5 UNITED ST7 1992 68333651 -UNITED ST5 UNITED ST7 1993 52745538 -UNITED ST5 UNITED ST7 1994 89089961 -UNITED ST5 UNITED ST7 1995 53740759 -UNITED ST5 UNITED ST7 1996 40946330 -UNITED ST5 UNITED ST7 1997 54534315 -UNITED ST5 UNITED ST8 1992 33878053 -UNITED ST5 UNITED ST8 1993 74359279 -UNITED ST5 UNITED ST8 1994 18931891 -UNITED ST5 UNITED ST8 1995 13346932 -UNITED ST5 UNITED ST8 1996 32415682 -UNITED ST5 UNITED ST8 1997 32910946 -UNITED ST5 UNITED ST9 1992 50191091 -UNITED ST5 UNITED ST9 1993 76286539 -UNITED ST5 UNITED ST9 1994 53367331 -UNITED ST5 UNITED ST9 1995 62364897 -UNITED ST5 UNITED ST9 1996 72614114 -UNITED ST5 UNITED ST9 1997 97392640 -UNITED ST6 UNITED ST0 1992 78696956 -UNITED ST6 UNITED ST0 1993 68247539 -UNITED ST6 UNITED ST0 1994 53728853 -UNITED ST6 UNITED ST0 1995 91718471 -UNITED ST6 UNITED ST0 1996 132286763 -UNITED ST6 UNITED ST0 1997 55824919 -UNITED ST6 UNITED ST1 1992 69408688 -UNITED ST6 UNITED ST1 1993 83345939 -UNITED ST6 UNITED ST1 1994 96937147 -UNITED ST6 UNITED ST1 1995 38328352 -UNITED ST6 UNITED ST1 1996 89705870 -UNITED ST6 UNITED ST1 1997 55117709 -UNITED ST6 UNITED ST2 1992 11820698 -UNITED ST6 UNITED ST2 1993 18814367 -UNITED ST6 UNITED ST2 1994 25809000 -UNITED ST6 UNITED ST2 1995 11363551 -UNITED ST6 UNITED ST2 1996 20447847 -UNITED ST6 UNITED ST2 1997 14746680 -UNITED ST6 UNITED ST3 1992 78778218 -UNITED ST6 UNITED ST3 1993 83417161 -UNITED ST6 UNITED ST3 1994 56123238 -UNITED ST6 UNITED ST3 1995 67513062 -UNITED ST6 UNITED ST3 1996 82168229 -UNITED ST6 UNITED ST3 1997 69725506 -UNITED ST6 UNITED ST4 1992 71086944 -UNITED ST6 UNITED ST4 1993 69646913 -UNITED ST6 UNITED ST4 1994 59829989 -UNITED ST6 UNITED ST4 1995 47697241 -UNITED ST6 UNITED ST4 1996 69296005 -UNITED ST6 UNITED ST4 1997 57215022 -UNITED ST6 UNITED ST5 1992 85882966 -UNITED ST6 UNITED ST5 1993 34229082 -UNITED ST6 UNITED ST5 1994 66461534 -UNITED ST6 UNITED ST5 1995 45428152 -UNITED ST6 UNITED ST5 1996 46030104 -UNITED ST6 UNITED ST5 1997 37571788 -UNITED ST6 UNITED ST6 1992 18137105 -UNITED ST6 UNITED ST6 1993 33050663 -UNITED ST6 UNITED ST6 1994 46199722 -UNITED ST6 UNITED ST6 1995 50954677 -UNITED ST6 UNITED ST6 1996 42923032 -UNITED ST6 UNITED ST6 1997 24983291 -UNITED ST6 UNITED ST7 1992 87658267 -UNITED ST6 UNITED ST7 1993 78197294 -UNITED ST6 UNITED ST7 1994 37057808 -UNITED ST6 UNITED ST7 1995 23833977 -UNITED ST6 UNITED ST7 1996 57090619 -UNITED ST6 UNITED ST7 1997 49795849 -UNITED ST6 UNITED ST8 1992 42463690 -UNITED ST6 UNITED ST8 1993 36456741 -UNITED ST6 UNITED ST8 1994 26592996 -UNITED ST6 UNITED ST8 1995 41973920 -UNITED ST6 UNITED ST8 1996 52136784 -UNITED ST6 UNITED ST8 1997 37988445 -UNITED ST6 UNITED ST9 1992 40591721 -UNITED ST6 UNITED ST9 1993 54900942 -UNITED ST6 UNITED ST9 1994 94683309 -UNITED ST6 UNITED ST9 1995 63457105 -UNITED ST6 UNITED ST9 1996 63256182 -UNITED ST6 UNITED ST9 1997 58231263 -UNITED ST7 UNITED ST0 1992 96078010 -UNITED ST7 UNITED ST0 1993 109788024 -UNITED ST7 UNITED ST0 1994 82265536 -UNITED ST7 UNITED ST0 1995 98031295 -UNITED ST7 UNITED ST0 1996 75602445 -UNITED ST7 UNITED ST0 1997 69354312 -UNITED ST7 UNITED ST1 1992 50167208 -UNITED ST7 UNITED ST1 1993 34391159 -UNITED ST7 UNITED ST1 1994 75320799 -UNITED ST7 UNITED ST1 1995 79964362 -UNITED ST7 UNITED ST1 1996 48784175 -UNITED ST7 UNITED ST1 1997 101326940 -UNITED ST7 UNITED ST2 1992 4943204 -UNITED ST7 UNITED ST2 1993 20219304 -UNITED ST7 UNITED ST2 1994 19655081 -UNITED ST7 UNITED ST2 1995 3973565 -UNITED ST7 UNITED ST2 1996 8390470 -UNITED ST7 UNITED ST2 1997 31409590 -UNITED ST7 UNITED ST3 1992 83765666 -UNITED ST7 UNITED ST3 1993 39523861 -UNITED ST7 UNITED ST3 1994 29424840 -UNITED ST7 UNITED ST3 1995 43699734 -UNITED ST7 UNITED ST3 1996 52356886 -UNITED ST7 UNITED ST3 1997 35168922 -UNITED ST7 UNITED ST4 1992 64900888 -UNITED ST7 UNITED ST4 1993 61656613 -UNITED ST7 UNITED ST4 1994 64778715 -UNITED ST7 UNITED ST4 1995 49899545 -UNITED ST7 UNITED ST4 1996 77941011 -UNITED ST7 UNITED ST4 1997 60123494 -UNITED ST7 UNITED ST5 1992 57566802 -UNITED ST7 UNITED ST5 1993 44763692 -UNITED ST7 UNITED ST5 1994 45895364 -UNITED ST7 UNITED ST5 1995 39015293 -UNITED ST7 UNITED ST5 1996 32784224 -UNITED ST7 UNITED ST5 1997 36889736 -UNITED ST7 UNITED ST6 1992 65513205 -UNITED ST7 UNITED ST6 1993 27100502 -UNITED ST7 UNITED ST6 1994 24631937 -UNITED ST7 UNITED ST6 1995 65020671 -UNITED ST7 UNITED ST6 1996 36535628 -UNITED ST7 UNITED ST6 1997 27539931 -UNITED ST7 UNITED ST7 1992 60121386 -UNITED ST7 UNITED ST7 1993 68109820 -UNITED ST7 UNITED ST7 1994 46446442 -UNITED ST7 UNITED ST7 1995 86571624 -UNITED ST7 UNITED ST7 1996 74040644 -UNITED ST7 UNITED ST7 1997 42566603 -UNITED ST7 UNITED ST8 1992 11895702 -UNITED ST7 UNITED ST8 1993 43902628 -UNITED ST7 UNITED ST8 1994 42776467 -UNITED ST7 UNITED ST8 1995 26444490 -UNITED ST7 UNITED ST8 1996 24348851 -UNITED ST7 UNITED ST8 1997 45476266 -UNITED ST7 UNITED ST9 1992 60326042 -UNITED ST7 UNITED ST9 1993 80310701 -UNITED ST7 UNITED ST9 1994 50144085 -UNITED ST7 UNITED ST9 1995 75317709 -UNITED ST7 UNITED ST9 1996 25028091 -UNITED ST7 UNITED ST9 1997 55039970 -UNITED ST8 UNITED ST0 1992 44368839 -UNITED ST8 UNITED ST0 1993 88356371 -UNITED ST8 UNITED ST0 1994 99220789 -UNITED ST8 UNITED ST0 1995 55231664 -UNITED ST8 UNITED ST0 1996 39845427 -UNITED ST8 UNITED ST0 1997 89434845 -UNITED ST8 UNITED ST1 1992 35680752 -UNITED ST8 UNITED ST1 1993 44415434 -UNITED ST8 UNITED ST1 1994 40152096 -UNITED ST8 UNITED ST1 1995 34217780 -UNITED ST8 UNITED ST1 1996 78971756 -UNITED ST8 UNITED ST1 1997 43284139 -UNITED ST8 UNITED ST2 1992 10971561 -UNITED ST8 UNITED ST2 1993 9984366 -UNITED ST8 UNITED ST2 1994 3789626 -UNITED ST8 UNITED ST2 1995 18282990 -UNITED ST8 UNITED ST2 1996 7028334 -UNITED ST8 UNITED ST2 1997 12053706 -UNITED ST8 UNITED ST3 1992 30949324 -UNITED ST8 UNITED ST3 1993 54049874 -UNITED ST8 UNITED ST3 1994 55203841 -UNITED ST8 UNITED ST3 1995 29349938 -UNITED ST8 UNITED ST3 1996 39535940 -UNITED ST8 UNITED ST3 1997 66918394 -UNITED ST8 UNITED ST4 1992 46757019 -UNITED ST8 UNITED ST4 1993 51419356 -UNITED ST8 UNITED ST4 1994 62141681 -UNITED ST8 UNITED ST4 1995 19287311 -UNITED ST8 UNITED ST4 1996 51033054 -UNITED ST8 UNITED ST4 1997 36600584 -UNITED ST8 UNITED ST5 1992 35187610 -UNITED ST8 UNITED ST5 1993 52237837 -UNITED ST8 UNITED ST5 1994 44553056 -UNITED ST8 UNITED ST5 1995 44994863 -UNITED ST8 UNITED ST5 1996 43480473 -UNITED ST8 UNITED ST5 1997 26673743 -UNITED ST8 UNITED ST6 1992 60540440 -UNITED ST8 UNITED ST6 1993 54633062 -UNITED ST8 UNITED ST6 1994 36776569 -UNITED ST8 UNITED ST6 1995 58990404 -UNITED ST8 UNITED ST6 1996 59746655 -UNITED ST8 UNITED ST6 1997 20073000 -UNITED ST8 UNITED ST7 1992 41897901 -UNITED ST8 UNITED ST7 1993 36902218 -UNITED ST8 UNITED ST7 1994 37600687 -UNITED ST8 UNITED ST7 1995 30918202 -UNITED ST8 UNITED ST7 1996 57523925 -UNITED ST8 UNITED ST7 1997 40878429 -UNITED ST8 UNITED ST8 1992 29309108 -UNITED ST8 UNITED ST8 1993 38790235 -UNITED ST8 UNITED ST8 1994 10023412 -UNITED ST8 UNITED ST8 1995 11285867 -UNITED ST8 UNITED ST8 1996 16340603 -UNITED ST8 UNITED ST8 1997 40749400 -UNITED ST8 UNITED ST9 1992 22684471 -UNITED ST8 UNITED ST9 1993 38516361 -UNITED ST8 UNITED ST9 1994 58666906 -UNITED ST8 UNITED ST9 1995 88855089 -UNITED ST8 UNITED ST9 1996 60466691 -UNITED ST8 UNITED ST9 1997 45852796 -UNITED ST9 UNITED ST0 1992 94813294 -UNITED ST9 UNITED ST0 1993 32653305 -UNITED ST9 UNITED ST0 1994 87670573 -UNITED ST9 UNITED ST0 1995 51548621 -UNITED ST9 UNITED ST0 1996 49590701 -UNITED ST9 UNITED ST0 1997 66066791 -UNITED ST9 UNITED ST1 1992 80795302 -UNITED ST9 UNITED ST1 1993 74059419 -UNITED ST9 UNITED ST1 1994 90440948 -UNITED ST9 UNITED ST1 1995 82938967 -UNITED ST9 UNITED ST1 1996 101983827 -UNITED ST9 UNITED ST1 1997 62418406 -UNITED ST9 UNITED ST2 1992 11623177 -UNITED ST9 UNITED ST2 1993 17718390 -UNITED ST9 UNITED ST2 1994 9700989 -UNITED ST9 UNITED ST2 1995 12653362 -UNITED ST9 UNITED ST2 1996 8108035 -UNITED ST9 UNITED ST2 1997 2661652 -UNITED ST9 UNITED ST3 1992 47681165 -UNITED ST9 UNITED ST3 1993 46943647 -UNITED ST9 UNITED ST3 1994 35846500 -UNITED ST9 UNITED ST3 1995 17539102 -UNITED ST9 UNITED ST3 1996 47021018 -UNITED ST9 UNITED ST3 1997 46121724 -UNITED ST9 UNITED ST4 1992 61489513 -UNITED ST9 UNITED ST4 1993 30644687 -UNITED ST9 UNITED ST4 1994 43910761 -UNITED ST9 UNITED ST4 1995 72525686 -UNITED ST9 UNITED ST4 1996 69616614 -UNITED ST9 UNITED ST4 1997 31765478 -UNITED ST9 UNITED ST5 1992 28075004 -UNITED ST9 UNITED ST5 1993 39685269 -UNITED ST9 UNITED ST5 1994 37146726 -UNITED ST9 UNITED ST5 1995 36009924 -UNITED ST9 UNITED ST5 1996 52825922 -UNITED ST9 UNITED ST5 1997 56091920 -UNITED ST9 UNITED ST6 1992 15879568 -UNITED ST9 UNITED ST6 1993 43867160 -UNITED ST9 UNITED ST6 1994 29212927 -UNITED ST9 UNITED ST6 1995 43482494 -UNITED ST9 UNITED ST6 1996 48685063 -UNITED ST9 UNITED ST6 1997 37596882 -UNITED ST9 UNITED ST7 1992 56883359 -UNITED ST9 UNITED ST7 1993 66625483 -UNITED ST9 UNITED ST7 1994 31586173 -UNITED ST9 UNITED ST7 1995 46464589 -UNITED ST9 UNITED ST7 1996 48798759 -UNITED ST9 UNITED ST7 1997 69052630 -UNITED ST9 UNITED ST8 1992 21386100 -UNITED ST9 UNITED ST8 1993 37184696 -UNITED ST9 UNITED ST8 1994 39278808 -UNITED ST9 UNITED ST8 1995 21292527 -UNITED ST9 UNITED ST8 1996 36112301 -UNITED ST9 UNITED ST8 1997 31272385 -UNITED ST9 UNITED ST9 1992 36048343 -UNITED ST9 UNITED ST9 1993 63260763 -UNITED ST9 UNITED ST9 1994 51980849 -UNITED ST9 UNITED ST9 1995 76515958 -UNITED ST9 UNITED ST9 1996 77301740 -UNITED ST9 UNITED ST9 1997 106222795 +UNITED ST0 UNITED ST0 1992 18293852 +UNITED ST0 UNITED ST3 1992 3201624 +UNITED ST0 UNITED ST7 1992 7137641 +UNITED ST1 UNITED ST0 1992 10878084 +UNITED ST1 UNITED ST2 1992 8004700 +UNITED ST1 UNITED ST3 1992 13938002 +UNITED ST1 UNITED ST6 1992 11000283 +UNITED ST1 UNITED ST7 1992 17410800 +UNITED ST1 UNITED ST9 1992 25644597 +UNITED ST2 UNITED ST0 1992 23943154 +UNITED ST2 UNITED ST2 1992 8313714 +UNITED ST2 UNITED ST3 1992 15331073 +UNITED ST2 UNITED ST7 1992 7759164 +UNITED ST2 UNITED ST9 1992 12343455 +UNITED ST3 UNITED ST3 1992 4080199 +UNITED ST3 UNITED ST9 1992 2614811 +UNITED ST4 UNITED ST0 1992 34626982 +UNITED ST4 UNITED ST2 1992 11696334 +UNITED ST4 UNITED ST3 1992 29767238 +UNITED ST4 UNITED ST6 1992 11369008 +UNITED ST4 UNITED ST7 1992 10151573 +UNITED ST4 UNITED ST9 1992 21189183 +UNITED ST5 UNITED ST0 1992 12301234 +UNITED ST5 UNITED ST2 1992 9917834 +UNITED ST5 UNITED ST3 1992 5862031 +UNITED ST5 UNITED ST6 1992 12398029 +UNITED ST5 UNITED ST7 1992 3936271 +UNITED ST5 UNITED ST9 1992 14448179 +UNITED ST6 UNITED ST0 1992 11900889 +UNITED ST6 UNITED ST2 1992 291566 +UNITED ST6 UNITED ST3 1992 1873819 +UNITED ST6 UNITED ST6 1992 8685228 +UNITED ST6 UNITED ST9 1992 6597261 +UNITED ST7 UNITED ST0 1992 1882015 +UNITED ST7 UNITED ST2 1992 6125476 +UNITED ST7 UNITED ST3 1992 17996772 +UNITED ST7 UNITED ST6 1992 6058017 +UNITED ST7 UNITED ST7 1992 9715656 +UNITED ST7 UNITED ST9 1992 5403152 +UNITED ST8 UNITED ST0 1992 3574169 +UNITED ST8 UNITED ST7 1992 2373825 +UNITED ST8 UNITED ST9 1992 5690491 +UNITED ST9 UNITED ST0 1992 4816370 +UNITED ST9 UNITED ST2 1992 12370917 +UNITED ST9 UNITED ST3 1992 17863433 +UNITED ST9 UNITED ST6 1992 2066609 +UNITED ST9 UNITED ST7 1992 6703890 +UNITED ST9 UNITED ST9 1992 4234523 -- !query3_2_after -- -UNITED ST0 UNITED ST0 1992 75622122 -UNITED ST0 UNITED ST0 1993 106742548 -UNITED ST0 UNITED ST0 1994 83526877 -UNITED ST0 UNITED ST0 1995 38984502 -UNITED ST0 UNITED ST0 1996 61528855 -UNITED ST0 UNITED ST0 1997 66308516 -UNITED ST0 UNITED ST1 1992 77267396 -UNITED ST0 UNITED ST1 1993 91196593 -UNITED ST0 UNITED ST1 1994 76613379 -UNITED ST0 UNITED ST1 1995 90763599 -UNITED ST0 UNITED ST1 1996 91948777 -UNITED ST0 UNITED ST1 1997 80167139 -UNITED ST0 UNITED ST2 1992 27718733 -UNITED ST0 UNITED ST2 1993 15042145 -UNITED ST0 UNITED ST2 1994 22017954 -UNITED ST0 UNITED ST2 1995 4776460 -UNITED ST0 UNITED ST2 1996 6907199 -UNITED ST0 UNITED ST2 1997 23584229 -UNITED ST0 UNITED ST3 1992 56359317 -UNITED ST0 UNITED ST3 1993 76171283 -UNITED ST0 UNITED ST3 1994 27327829 -UNITED ST0 UNITED ST3 1995 56360708 -UNITED ST0 UNITED ST3 1996 29795665 -UNITED ST0 UNITED ST3 1997 40078508 -UNITED ST0 UNITED ST4 1992 49676807 -UNITED ST0 UNITED ST4 1993 49260067 -UNITED ST0 UNITED ST4 1994 61519744 -UNITED ST0 UNITED ST4 1995 29170038 -UNITED ST0 UNITED ST4 1996 103228749 -UNITED ST0 UNITED ST4 1997 41193803 -UNITED ST0 UNITED ST5 1992 40120886 -UNITED ST0 UNITED ST5 1993 52701052 -UNITED ST0 UNITED ST5 1994 41808301 -UNITED ST0 UNITED ST5 1995 11453709 -UNITED ST0 UNITED ST5 1996 57762895 -UNITED ST0 UNITED ST5 1997 47988418 -UNITED ST0 UNITED ST6 1992 42471806 -UNITED ST0 UNITED ST6 1993 50432282 -UNITED ST0 UNITED ST6 1994 61288778 -UNITED ST0 UNITED ST6 1995 40718942 -UNITED ST0 UNITED ST6 1996 37232062 -UNITED ST0 UNITED ST6 1997 22924046 -UNITED ST0 UNITED ST7 1992 50583409 -UNITED ST0 UNITED ST7 1993 48796360 -UNITED ST0 UNITED ST7 1994 61480820 -UNITED ST0 UNITED ST7 1995 33395313 -UNITED ST0 UNITED ST7 1996 31391181 -UNITED ST0 UNITED ST7 1997 72577490 -UNITED ST0 UNITED ST8 1992 49732640 -UNITED ST0 UNITED ST8 1993 42002682 -UNITED ST0 UNITED ST8 1994 31845433 -UNITED ST0 UNITED ST8 1995 16393249 -UNITED ST0 UNITED ST8 1996 15168262 -UNITED ST0 UNITED ST8 1997 30241370 -UNITED ST0 UNITED ST9 1992 63979996 -UNITED ST0 UNITED ST9 1993 109834040 -UNITED ST0 UNITED ST9 1994 89865202 -UNITED ST0 UNITED ST9 1995 63253499 -UNITED ST0 UNITED ST9 1996 75935209 -UNITED ST0 UNITED ST9 1997 119856268 -UNITED ST1 UNITED ST0 1992 96989491 -UNITED ST1 UNITED ST0 1993 99305952 -UNITED ST1 UNITED ST0 1994 43225201 -UNITED ST1 UNITED ST0 1995 81676623 -UNITED ST1 UNITED ST0 1996 94861554 -UNITED ST1 UNITED ST0 1997 77667866 -UNITED ST1 UNITED ST1 1992 64669070 -UNITED ST1 UNITED ST1 1993 47538610 -UNITED ST1 UNITED ST1 1994 54383174 -UNITED ST1 UNITED ST1 1995 64199332 -UNITED ST1 UNITED ST1 1996 87265848 -UNITED ST1 UNITED ST1 1997 76340444 -UNITED ST1 UNITED ST2 1992 7706728 -UNITED ST1 UNITED ST2 1993 16844538 -UNITED ST1 UNITED ST2 1994 23556586 -UNITED ST1 UNITED ST2 1995 7991676 -UNITED ST1 UNITED ST2 1996 10082536 -UNITED ST1 UNITED ST2 1997 20599130 -UNITED ST1 UNITED ST3 1992 55727474 -UNITED ST1 UNITED ST3 1993 52097946 -UNITED ST1 UNITED ST3 1994 75992459 -UNITED ST1 UNITED ST3 1995 45823056 -UNITED ST1 UNITED ST3 1996 77610905 -UNITED ST1 UNITED ST3 1997 85175638 -UNITED ST1 UNITED ST4 1992 39326346 -UNITED ST1 UNITED ST4 1993 62884347 -UNITED ST1 UNITED ST4 1994 41381558 -UNITED ST1 UNITED ST4 1995 57535599 -UNITED ST1 UNITED ST4 1996 50135547 -UNITED ST1 UNITED ST4 1997 83092569 -UNITED ST1 UNITED ST5 1992 33971251 -UNITED ST1 UNITED ST5 1993 40693513 -UNITED ST1 UNITED ST5 1994 24939138 -UNITED ST1 UNITED ST5 1995 31857452 -UNITED ST1 UNITED ST5 1996 51189649 -UNITED ST1 UNITED ST5 1997 51052110 -UNITED ST1 UNITED ST6 1992 35404990 -UNITED ST1 UNITED ST6 1993 44728540 -UNITED ST1 UNITED ST6 1994 31287326 -UNITED ST1 UNITED ST6 1995 27139403 -UNITED ST1 UNITED ST6 1996 54056366 -UNITED ST1 UNITED ST6 1997 18205326 -UNITED ST1 UNITED ST7 1992 71472973 -UNITED ST1 UNITED ST7 1993 54851183 -UNITED ST1 UNITED ST7 1994 53853106 -UNITED ST1 UNITED ST7 1995 61515741 -UNITED ST1 UNITED ST7 1996 41721506 -UNITED ST1 UNITED ST7 1997 77045722 -UNITED ST1 UNITED ST8 1992 28565579 -UNITED ST1 UNITED ST8 1993 66146198 -UNITED ST1 UNITED ST8 1994 30245153 -UNITED ST1 UNITED ST8 1995 34918793 -UNITED ST1 UNITED ST8 1996 39430882 -UNITED ST1 UNITED ST8 1997 15375258 -UNITED ST1 UNITED ST9 1992 75367059 -UNITED ST1 UNITED ST9 1993 52514902 -UNITED ST1 UNITED ST9 1994 43000037 -UNITED ST1 UNITED ST9 1995 72470870 -UNITED ST1 UNITED ST9 1996 69823769 -UNITED ST1 UNITED ST9 1997 48944111 -UNITED ST2 UNITED ST0 1992 72210218 -UNITED ST2 UNITED ST0 1993 42845485 -UNITED ST2 UNITED ST0 1994 60182153 -UNITED ST2 UNITED ST0 1995 52560838 -UNITED ST2 UNITED ST0 1996 67095122 -UNITED ST2 UNITED ST0 1997 77591470 -UNITED ST2 UNITED ST1 1992 81839165 -UNITED ST2 UNITED ST1 1993 69631701 -UNITED ST2 UNITED ST1 1994 81300089 -UNITED ST2 UNITED ST1 1995 45437340 -UNITED ST2 UNITED ST1 1996 88256155 -UNITED ST2 UNITED ST1 1997 65396135 -UNITED ST2 UNITED ST2 1992 25743654 -UNITED ST2 UNITED ST2 1993 14521995 -UNITED ST2 UNITED ST2 1994 18068657 -UNITED ST2 UNITED ST2 1995 13455031 -UNITED ST2 UNITED ST2 1997 37034333 -UNITED ST2 UNITED ST3 1992 35981963 -UNITED ST2 UNITED ST3 1993 66972438 -UNITED ST2 UNITED ST3 1994 65620760 -UNITED ST2 UNITED ST3 1995 65218129 -UNITED ST2 UNITED ST3 1996 59648598 -UNITED ST2 UNITED ST3 1997 65429453 -UNITED ST2 UNITED ST4 1992 91180500 -UNITED ST2 UNITED ST4 1993 56650391 -UNITED ST2 UNITED ST4 1994 55679377 -UNITED ST2 UNITED ST4 1995 82432305 -UNITED ST2 UNITED ST4 1996 57487057 -UNITED ST2 UNITED ST4 1997 57012611 -UNITED ST2 UNITED ST5 1992 57021365 -UNITED ST2 UNITED ST5 1993 37406845 -UNITED ST2 UNITED ST5 1994 37640317 -UNITED ST2 UNITED ST5 1995 43382417 -UNITED ST2 UNITED ST5 1996 47028976 -UNITED ST2 UNITED ST5 1997 40662886 -UNITED ST2 UNITED ST6 1992 27813739 -UNITED ST2 UNITED ST6 1993 26482226 -UNITED ST2 UNITED ST6 1994 41526105 -UNITED ST2 UNITED ST6 1995 37146288 -UNITED ST2 UNITED ST6 1996 45416649 -UNITED ST2 UNITED ST6 1997 34274467 -UNITED ST2 UNITED ST7 1992 33702779 -UNITED ST2 UNITED ST7 1993 64185014 -UNITED ST2 UNITED ST7 1994 22182758 -UNITED ST2 UNITED ST7 1995 60000208 -UNITED ST2 UNITED ST7 1996 80468477 -UNITED ST2 UNITED ST7 1997 76483802 -UNITED ST2 UNITED ST8 1992 36046449 -UNITED ST2 UNITED ST8 1993 33445446 -UNITED ST2 UNITED ST8 1994 33767774 -UNITED ST2 UNITED ST8 1995 30504189 -UNITED ST2 UNITED ST8 1996 46865113 -UNITED ST2 UNITED ST8 1997 46391909 -UNITED ST2 UNITED ST9 1992 83705618 -UNITED ST2 UNITED ST9 1993 48188507 -UNITED ST2 UNITED ST9 1994 69671054 -UNITED ST2 UNITED ST9 1995 65055178 -UNITED ST2 UNITED ST9 1996 53491415 -UNITED ST2 UNITED ST9 1997 69543984 -UNITED ST3 UNITED ST0 1992 62441656 -UNITED ST3 UNITED ST0 1993 66626926 -UNITED ST3 UNITED ST0 1994 65522727 -UNITED ST3 UNITED ST0 1995 84462733 -UNITED ST3 UNITED ST0 1996 60226840 -UNITED ST3 UNITED ST0 1997 54050172 -UNITED ST3 UNITED ST1 1992 73637490 -UNITED ST3 UNITED ST1 1993 78230278 -UNITED ST3 UNITED ST1 1994 85523653 -UNITED ST3 UNITED ST1 1995 64762815 -UNITED ST3 UNITED ST1 1996 74746699 -UNITED ST3 UNITED ST1 1997 54150683 -UNITED ST3 UNITED ST2 1992 1097208 -UNITED ST3 UNITED ST2 1993 21559073 -UNITED ST3 UNITED ST2 1994 9995234 -UNITED ST3 UNITED ST2 1995 12886829 -UNITED ST3 UNITED ST2 1996 4311800 -UNITED ST3 UNITED ST2 1997 7891878 -UNITED ST3 UNITED ST3 1992 45087216 -UNITED ST3 UNITED ST3 1993 21777144 -UNITED ST3 UNITED ST3 1994 45627153 -UNITED ST3 UNITED ST3 1995 48158089 -UNITED ST3 UNITED ST3 1996 49263796 -UNITED ST3 UNITED ST3 1997 48385233 -UNITED ST3 UNITED ST4 1992 63144772 -UNITED ST3 UNITED ST4 1993 92493920 -UNITED ST3 UNITED ST4 1994 63412365 -UNITED ST3 UNITED ST4 1995 30422346 -UNITED ST3 UNITED ST4 1996 54838259 -UNITED ST3 UNITED ST4 1997 58356141 -UNITED ST3 UNITED ST5 1992 64239048 -UNITED ST3 UNITED ST5 1993 55907305 -UNITED ST3 UNITED ST5 1994 26197875 -UNITED ST3 UNITED ST5 1995 40057815 -UNITED ST3 UNITED ST5 1996 33717439 -UNITED ST3 UNITED ST5 1997 32811963 -UNITED ST3 UNITED ST6 1992 38798715 -UNITED ST3 UNITED ST6 1993 58584808 -UNITED ST3 UNITED ST6 1994 36290257 -UNITED ST3 UNITED ST6 1995 16738530 -UNITED ST3 UNITED ST6 1996 41881628 -UNITED ST3 UNITED ST6 1997 36075844 -UNITED ST3 UNITED ST7 1992 39028579 -UNITED ST3 UNITED ST7 1993 50135448 -UNITED ST3 UNITED ST7 1994 40935131 -UNITED ST3 UNITED ST7 1995 51579548 -UNITED ST3 UNITED ST7 1996 53987218 -UNITED ST3 UNITED ST7 1997 61095300 -UNITED ST3 UNITED ST8 1992 41275764 -UNITED ST3 UNITED ST8 1993 42251848 -UNITED ST3 UNITED ST8 1994 15936051 -UNITED ST3 UNITED ST8 1995 22505239 -UNITED ST3 UNITED ST8 1996 33924732 -UNITED ST3 UNITED ST8 1997 29102220 -UNITED ST3 UNITED ST9 1992 86142048 -UNITED ST3 UNITED ST9 1993 54762596 -UNITED ST3 UNITED ST9 1994 97476185 -UNITED ST3 UNITED ST9 1995 37364623 -UNITED ST3 UNITED ST9 1996 49612304 -UNITED ST3 UNITED ST9 1997 51370308 -UNITED ST4 UNITED ST0 1992 94644242 -UNITED ST4 UNITED ST0 1993 86918458 -UNITED ST4 UNITED ST0 1994 73719340 -UNITED ST4 UNITED ST0 1995 46142899 -UNITED ST4 UNITED ST0 1996 106897563 -UNITED ST4 UNITED ST0 1997 69875804 -UNITED ST4 UNITED ST1 1992 102027455 -UNITED ST4 UNITED ST1 1993 88521423 -UNITED ST4 UNITED ST1 1994 72219557 -UNITED ST4 UNITED ST1 1995 90878653 -UNITED ST4 UNITED ST1 1996 72819867 -UNITED ST4 UNITED ST1 1997 84611188 -UNITED ST4 UNITED ST2 1992 12061845 -UNITED ST4 UNITED ST2 1993 27012678 -UNITED ST4 UNITED ST2 1994 23035892 -UNITED ST4 UNITED ST2 1995 22787003 -UNITED ST4 UNITED ST2 1996 12451867 -UNITED ST4 UNITED ST2 1997 2848157 -UNITED ST4 UNITED ST3 1992 69001787 -UNITED ST4 UNITED ST3 1993 33129412 -UNITED ST4 UNITED ST3 1994 31599433 -UNITED ST4 UNITED ST3 1995 37356396 -UNITED ST4 UNITED ST3 1996 46460940 -UNITED ST4 UNITED ST3 1997 59634153 -UNITED ST4 UNITED ST4 1992 70111335 -UNITED ST4 UNITED ST4 1993 98150465 -UNITED ST4 UNITED ST4 1994 76837381 -UNITED ST4 UNITED ST4 1995 74587071 -UNITED ST4 UNITED ST4 1996 32787995 -UNITED ST4 UNITED ST4 1997 62532346 -UNITED ST4 UNITED ST5 1992 65057872 -UNITED ST4 UNITED ST5 1993 29119594 -UNITED ST4 UNITED ST5 1994 59397028 -UNITED ST4 UNITED ST5 1995 62081505 -UNITED ST4 UNITED ST5 1996 42808412 -UNITED ST4 UNITED ST5 1997 31995868 -UNITED ST4 UNITED ST6 1992 81886374 -UNITED ST4 UNITED ST6 1993 30699255 -UNITED ST4 UNITED ST6 1994 58633482 -UNITED ST4 UNITED ST6 1995 38109524 -UNITED ST4 UNITED ST6 1996 62189328 -UNITED ST4 UNITED ST6 1997 46236849 -UNITED ST4 UNITED ST7 1992 62529376 -UNITED ST4 UNITED ST7 1993 88172198 -UNITED ST4 UNITED ST7 1994 76954140 -UNITED ST4 UNITED ST7 1995 69264407 -UNITED ST4 UNITED ST7 1996 83677814 -UNITED ST4 UNITED ST7 1997 84606996 -UNITED ST4 UNITED ST8 1992 21928442 -UNITED ST4 UNITED ST8 1993 41657582 -UNITED ST4 UNITED ST8 1994 20685352 -UNITED ST4 UNITED ST8 1995 23053236 -UNITED ST4 UNITED ST8 1996 53035662 -UNITED ST4 UNITED ST8 1997 32599736 -UNITED ST4 UNITED ST9 1992 67837970 -UNITED ST4 UNITED ST9 1993 73296959 -UNITED ST4 UNITED ST9 1994 83822393 -UNITED ST4 UNITED ST9 1995 99490068 -UNITED ST4 UNITED ST9 1996 54134840 -UNITED ST4 UNITED ST9 1997 79697927 -UNITED ST5 UNITED ST0 1992 90432300 -UNITED ST5 UNITED ST0 1993 106822597 -UNITED ST5 UNITED ST0 1994 78648057 -UNITED ST5 UNITED ST0 1995 77615746 -UNITED ST5 UNITED ST0 1996 104501979 -UNITED ST5 UNITED ST0 1997 121457766 -UNITED ST5 UNITED ST1 1992 59945287 -UNITED ST5 UNITED ST1 1993 71454623 -UNITED ST5 UNITED ST1 1994 73508418 -UNITED ST5 UNITED ST1 1995 119793669 -UNITED ST5 UNITED ST1 1996 65346389 -UNITED ST5 UNITED ST1 1997 106900161 -UNITED ST5 UNITED ST2 1992 20495817 -UNITED ST5 UNITED ST2 1993 20610242 -UNITED ST5 UNITED ST2 1994 7162796 -UNITED ST5 UNITED ST2 1995 14951023 -UNITED ST5 UNITED ST2 1996 8544233 -UNITED ST5 UNITED ST2 1997 13863438 -UNITED ST5 UNITED ST3 1992 53963553 -UNITED ST5 UNITED ST3 1993 34031811 -UNITED ST5 UNITED ST3 1994 65334911 -UNITED ST5 UNITED ST3 1995 78099130 -UNITED ST5 UNITED ST3 1996 32919926 -UNITED ST5 UNITED ST3 1997 56789932 -UNITED ST5 UNITED ST4 1992 57625627 -UNITED ST5 UNITED ST4 1993 63415639 -UNITED ST5 UNITED ST4 1994 51799593 -UNITED ST5 UNITED ST4 1995 81016761 -UNITED ST5 UNITED ST4 1996 33424859 -UNITED ST5 UNITED ST4 1997 103432927 -UNITED ST5 UNITED ST5 1992 29279568 -UNITED ST5 UNITED ST5 1993 50357189 -UNITED ST5 UNITED ST5 1994 56235213 -UNITED ST5 UNITED ST5 1995 50394007 -UNITED ST5 UNITED ST5 1996 43020722 -UNITED ST5 UNITED ST5 1997 32568888 -UNITED ST5 UNITED ST6 1992 62628093 -UNITED ST5 UNITED ST6 1993 25357679 -UNITED ST5 UNITED ST6 1994 38658451 -UNITED ST5 UNITED ST6 1995 30204737 -UNITED ST5 UNITED ST6 1996 38332044 -UNITED ST5 UNITED ST6 1997 49030016 -UNITED ST5 UNITED ST7 1992 68333651 -UNITED ST5 UNITED ST7 1993 52745538 -UNITED ST5 UNITED ST7 1994 89089961 -UNITED ST5 UNITED ST7 1995 53740759 -UNITED ST5 UNITED ST7 1996 40946330 -UNITED ST5 UNITED ST7 1997 54534315 -UNITED ST5 UNITED ST8 1992 33878053 -UNITED ST5 UNITED ST8 1993 74359279 -UNITED ST5 UNITED ST8 1994 18931891 -UNITED ST5 UNITED ST8 1995 13346932 -UNITED ST5 UNITED ST8 1996 32415682 -UNITED ST5 UNITED ST8 1997 32910946 -UNITED ST5 UNITED ST9 1992 50191091 -UNITED ST5 UNITED ST9 1993 76286539 -UNITED ST5 UNITED ST9 1994 53367331 -UNITED ST5 UNITED ST9 1995 62364897 -UNITED ST5 UNITED ST9 1996 72614114 -UNITED ST5 UNITED ST9 1997 97392640 -UNITED ST6 UNITED ST0 1992 78696956 -UNITED ST6 UNITED ST0 1993 68247539 -UNITED ST6 UNITED ST0 1994 53728853 -UNITED ST6 UNITED ST0 1995 91718471 -UNITED ST6 UNITED ST0 1996 132286763 -UNITED ST6 UNITED ST0 1997 55824919 -UNITED ST6 UNITED ST1 1992 69408688 -UNITED ST6 UNITED ST1 1993 83345939 -UNITED ST6 UNITED ST1 1994 96937147 -UNITED ST6 UNITED ST1 1995 38328352 -UNITED ST6 UNITED ST1 1996 89705870 -UNITED ST6 UNITED ST1 1997 55117709 -UNITED ST6 UNITED ST2 1992 11820698 -UNITED ST6 UNITED ST2 1993 18814367 -UNITED ST6 UNITED ST2 1994 25809000 -UNITED ST6 UNITED ST2 1995 11363551 -UNITED ST6 UNITED ST2 1996 20447847 -UNITED ST6 UNITED ST2 1997 14746680 -UNITED ST6 UNITED ST3 1992 78778218 -UNITED ST6 UNITED ST3 1993 83417161 -UNITED ST6 UNITED ST3 1994 56123238 -UNITED ST6 UNITED ST3 1995 67513062 -UNITED ST6 UNITED ST3 1996 82168229 -UNITED ST6 UNITED ST3 1997 69725506 -UNITED ST6 UNITED ST4 1992 71086944 -UNITED ST6 UNITED ST4 1993 69646913 -UNITED ST6 UNITED ST4 1994 59829989 -UNITED ST6 UNITED ST4 1995 47697241 -UNITED ST6 UNITED ST4 1996 69296005 -UNITED ST6 UNITED ST4 1997 57215022 -UNITED ST6 UNITED ST5 1992 85882966 -UNITED ST6 UNITED ST5 1993 34229082 -UNITED ST6 UNITED ST5 1994 66461534 -UNITED ST6 UNITED ST5 1995 45428152 -UNITED ST6 UNITED ST5 1996 46030104 -UNITED ST6 UNITED ST5 1997 37571788 -UNITED ST6 UNITED ST6 1992 18137105 -UNITED ST6 UNITED ST6 1993 33050663 -UNITED ST6 UNITED ST6 1994 46199722 -UNITED ST6 UNITED ST6 1995 50954677 -UNITED ST6 UNITED ST6 1996 42923032 -UNITED ST6 UNITED ST6 1997 24983291 -UNITED ST6 UNITED ST7 1992 87658267 -UNITED ST6 UNITED ST7 1993 78197294 -UNITED ST6 UNITED ST7 1994 37057808 -UNITED ST6 UNITED ST7 1995 23833977 -UNITED ST6 UNITED ST7 1996 57090619 -UNITED ST6 UNITED ST7 1997 49795849 -UNITED ST6 UNITED ST8 1992 42463690 -UNITED ST6 UNITED ST8 1993 36456741 -UNITED ST6 UNITED ST8 1994 26592996 -UNITED ST6 UNITED ST8 1995 41973920 -UNITED ST6 UNITED ST8 1996 52136784 -UNITED ST6 UNITED ST8 1997 37988445 -UNITED ST6 UNITED ST9 1992 40591721 -UNITED ST6 UNITED ST9 1993 54900942 -UNITED ST6 UNITED ST9 1994 94683309 -UNITED ST6 UNITED ST9 1995 63457105 -UNITED ST6 UNITED ST9 1996 63256182 -UNITED ST6 UNITED ST9 1997 58231263 -UNITED ST7 UNITED ST0 1992 96078010 -UNITED ST7 UNITED ST0 1993 109788024 -UNITED ST7 UNITED ST0 1994 82265536 -UNITED ST7 UNITED ST0 1995 98031295 -UNITED ST7 UNITED ST0 1996 75602445 -UNITED ST7 UNITED ST0 1997 69354312 -UNITED ST7 UNITED ST1 1992 50167208 -UNITED ST7 UNITED ST1 1993 34391159 -UNITED ST7 UNITED ST1 1994 75320799 -UNITED ST7 UNITED ST1 1995 79964362 -UNITED ST7 UNITED ST1 1996 48784175 -UNITED ST7 UNITED ST1 1997 101326940 -UNITED ST7 UNITED ST2 1992 4943204 -UNITED ST7 UNITED ST2 1993 20219304 -UNITED ST7 UNITED ST2 1994 19655081 -UNITED ST7 UNITED ST2 1995 3973565 -UNITED ST7 UNITED ST2 1996 8390470 -UNITED ST7 UNITED ST2 1997 31409590 -UNITED ST7 UNITED ST3 1992 83765666 -UNITED ST7 UNITED ST3 1993 39523861 -UNITED ST7 UNITED ST3 1994 29424840 -UNITED ST7 UNITED ST3 1995 43699734 -UNITED ST7 UNITED ST3 1996 52356886 -UNITED ST7 UNITED ST3 1997 35168922 -UNITED ST7 UNITED ST4 1992 64900888 -UNITED ST7 UNITED ST4 1993 61656613 -UNITED ST7 UNITED ST4 1994 64778715 -UNITED ST7 UNITED ST4 1995 49899545 -UNITED ST7 UNITED ST4 1996 77941011 -UNITED ST7 UNITED ST4 1997 60123494 -UNITED ST7 UNITED ST5 1992 57566802 -UNITED ST7 UNITED ST5 1993 44763692 -UNITED ST7 UNITED ST5 1994 45895364 -UNITED ST7 UNITED ST5 1995 39015293 -UNITED ST7 UNITED ST5 1996 32784224 -UNITED ST7 UNITED ST5 1997 36889736 -UNITED ST7 UNITED ST6 1992 65513205 -UNITED ST7 UNITED ST6 1993 27100502 -UNITED ST7 UNITED ST6 1994 24631937 -UNITED ST7 UNITED ST6 1995 65020671 -UNITED ST7 UNITED ST6 1996 36535628 -UNITED ST7 UNITED ST6 1997 27539931 -UNITED ST7 UNITED ST7 1992 60121386 -UNITED ST7 UNITED ST7 1993 68109820 -UNITED ST7 UNITED ST7 1994 46446442 -UNITED ST7 UNITED ST7 1995 86571624 -UNITED ST7 UNITED ST7 1996 74040644 -UNITED ST7 UNITED ST7 1997 42566603 -UNITED ST7 UNITED ST8 1992 11895702 -UNITED ST7 UNITED ST8 1993 43902628 -UNITED ST7 UNITED ST8 1994 42776467 -UNITED ST7 UNITED ST8 1995 26444490 -UNITED ST7 UNITED ST8 1996 24348851 -UNITED ST7 UNITED ST8 1997 45476266 -UNITED ST7 UNITED ST9 1992 60326042 -UNITED ST7 UNITED ST9 1993 80310701 -UNITED ST7 UNITED ST9 1994 50144085 -UNITED ST7 UNITED ST9 1995 75317709 -UNITED ST7 UNITED ST9 1996 25028091 -UNITED ST7 UNITED ST9 1997 55039970 -UNITED ST8 UNITED ST0 1992 44368839 -UNITED ST8 UNITED ST0 1993 88356371 -UNITED ST8 UNITED ST0 1994 99220789 -UNITED ST8 UNITED ST0 1995 55231664 -UNITED ST8 UNITED ST0 1996 39845427 -UNITED ST8 UNITED ST0 1997 89434845 -UNITED ST8 UNITED ST1 1992 35680752 -UNITED ST8 UNITED ST1 1993 44415434 -UNITED ST8 UNITED ST1 1994 40152096 -UNITED ST8 UNITED ST1 1995 34217780 -UNITED ST8 UNITED ST1 1996 78971756 -UNITED ST8 UNITED ST1 1997 43284139 -UNITED ST8 UNITED ST2 1992 10971561 -UNITED ST8 UNITED ST2 1993 9984366 -UNITED ST8 UNITED ST2 1994 3789626 -UNITED ST8 UNITED ST2 1995 18282990 -UNITED ST8 UNITED ST2 1996 7028334 -UNITED ST8 UNITED ST2 1997 12053706 -UNITED ST8 UNITED ST3 1992 30949324 -UNITED ST8 UNITED ST3 1993 54049874 -UNITED ST8 UNITED ST3 1994 55203841 -UNITED ST8 UNITED ST3 1995 29349938 -UNITED ST8 UNITED ST3 1996 39535940 -UNITED ST8 UNITED ST3 1997 66918394 -UNITED ST8 UNITED ST4 1992 46757019 -UNITED ST8 UNITED ST4 1993 51419356 -UNITED ST8 UNITED ST4 1994 62141681 -UNITED ST8 UNITED ST4 1995 19287311 -UNITED ST8 UNITED ST4 1996 51033054 -UNITED ST8 UNITED ST4 1997 36600584 -UNITED ST8 UNITED ST5 1992 35187610 -UNITED ST8 UNITED ST5 1993 52237837 -UNITED ST8 UNITED ST5 1994 44553056 -UNITED ST8 UNITED ST5 1995 44994863 -UNITED ST8 UNITED ST5 1996 43480473 -UNITED ST8 UNITED ST5 1997 26673743 -UNITED ST8 UNITED ST6 1992 60540440 -UNITED ST8 UNITED ST6 1993 54633062 -UNITED ST8 UNITED ST6 1994 36776569 -UNITED ST8 UNITED ST6 1995 58990404 -UNITED ST8 UNITED ST6 1996 59746655 -UNITED ST8 UNITED ST6 1997 20073000 -UNITED ST8 UNITED ST7 1992 41897901 -UNITED ST8 UNITED ST7 1993 36902218 -UNITED ST8 UNITED ST7 1994 37600687 -UNITED ST8 UNITED ST7 1995 30918202 -UNITED ST8 UNITED ST7 1996 57523925 -UNITED ST8 UNITED ST7 1997 40878429 -UNITED ST8 UNITED ST8 1992 29309108 -UNITED ST8 UNITED ST8 1993 38790235 -UNITED ST8 UNITED ST8 1994 10023412 -UNITED ST8 UNITED ST8 1995 11285867 -UNITED ST8 UNITED ST8 1996 16340603 -UNITED ST8 UNITED ST8 1997 40749400 -UNITED ST8 UNITED ST9 1992 22684471 -UNITED ST8 UNITED ST9 1993 38516361 -UNITED ST8 UNITED ST9 1994 58666906 -UNITED ST8 UNITED ST9 1995 88855089 -UNITED ST8 UNITED ST9 1996 60466691 -UNITED ST8 UNITED ST9 1997 45852796 -UNITED ST9 UNITED ST0 1992 94813294 -UNITED ST9 UNITED ST0 1993 32653305 -UNITED ST9 UNITED ST0 1994 87670573 -UNITED ST9 UNITED ST0 1995 51548621 -UNITED ST9 UNITED ST0 1996 49590701 -UNITED ST9 UNITED ST0 1997 66066791 -UNITED ST9 UNITED ST1 1992 80795302 -UNITED ST9 UNITED ST1 1993 74059419 -UNITED ST9 UNITED ST1 1994 90440948 -UNITED ST9 UNITED ST1 1995 82938967 -UNITED ST9 UNITED ST1 1996 101983827 -UNITED ST9 UNITED ST1 1997 62418406 -UNITED ST9 UNITED ST2 1992 11623177 -UNITED ST9 UNITED ST2 1993 17718390 -UNITED ST9 UNITED ST2 1994 9700989 -UNITED ST9 UNITED ST2 1995 12653362 -UNITED ST9 UNITED ST2 1996 8108035 -UNITED ST9 UNITED ST2 1997 2661652 -UNITED ST9 UNITED ST3 1992 47681165 -UNITED ST9 UNITED ST3 1993 46943647 -UNITED ST9 UNITED ST3 1994 35846500 -UNITED ST9 UNITED ST3 1995 17539102 -UNITED ST9 UNITED ST3 1996 47021018 -UNITED ST9 UNITED ST3 1997 46121724 -UNITED ST9 UNITED ST4 1992 61489513 -UNITED ST9 UNITED ST4 1993 30644687 -UNITED ST9 UNITED ST4 1994 43910761 -UNITED ST9 UNITED ST4 1995 72525686 -UNITED ST9 UNITED ST4 1996 69616614 -UNITED ST9 UNITED ST4 1997 31765478 -UNITED ST9 UNITED ST5 1992 28075004 -UNITED ST9 UNITED ST5 1993 39685269 -UNITED ST9 UNITED ST5 1994 37146726 -UNITED ST9 UNITED ST5 1995 36009924 -UNITED ST9 UNITED ST5 1996 52825922 -UNITED ST9 UNITED ST5 1997 56091920 -UNITED ST9 UNITED ST6 1992 15879568 -UNITED ST9 UNITED ST6 1993 43867160 -UNITED ST9 UNITED ST6 1994 29212927 -UNITED ST9 UNITED ST6 1995 43482494 -UNITED ST9 UNITED ST6 1996 48685063 -UNITED ST9 UNITED ST6 1997 37596882 -UNITED ST9 UNITED ST7 1992 56883359 -UNITED ST9 UNITED ST7 1993 66625483 -UNITED ST9 UNITED ST7 1994 31586173 -UNITED ST9 UNITED ST7 1995 46464589 -UNITED ST9 UNITED ST7 1996 48798759 -UNITED ST9 UNITED ST7 1997 69052630 -UNITED ST9 UNITED ST8 1992 21386100 -UNITED ST9 UNITED ST8 1993 37184696 -UNITED ST9 UNITED ST8 1994 39278808 -UNITED ST9 UNITED ST8 1995 21292527 -UNITED ST9 UNITED ST8 1996 36112301 -UNITED ST9 UNITED ST8 1997 31272385 -UNITED ST9 UNITED ST9 1992 36048343 -UNITED ST9 UNITED ST9 1993 63260763 -UNITED ST9 UNITED ST9 1994 51980849 -UNITED ST9 UNITED ST9 1995 76515958 -UNITED ST9 UNITED ST9 1996 77301740 -UNITED ST9 UNITED ST9 1997 106222795 +UNITED ST0 UNITED ST0 1992 18293852 +UNITED ST0 UNITED ST3 1992 3201624 +UNITED ST0 UNITED ST7 1992 7137641 +UNITED ST1 UNITED ST0 1992 10878084 +UNITED ST1 UNITED ST2 1992 8004700 +UNITED ST1 UNITED ST3 1992 13938002 +UNITED ST1 UNITED ST6 1992 11000283 +UNITED ST1 UNITED ST7 1992 17410800 +UNITED ST1 UNITED ST9 1992 25644597 +UNITED ST2 UNITED ST0 1992 23943154 +UNITED ST2 UNITED ST2 1992 8313714 +UNITED ST2 UNITED ST3 1992 15331073 +UNITED ST2 UNITED ST7 1992 7759164 +UNITED ST2 UNITED ST9 1992 12343455 +UNITED ST3 UNITED ST3 1992 4080199 +UNITED ST3 UNITED ST9 1992 2614811 +UNITED ST4 UNITED ST0 1992 34626982 +UNITED ST4 UNITED ST2 1992 11696334 +UNITED ST4 UNITED ST3 1992 29767238 +UNITED ST4 UNITED ST6 1992 11369008 +UNITED ST4 UNITED ST7 1992 10151573 +UNITED ST4 UNITED ST9 1992 21189183 +UNITED ST5 UNITED ST0 1992 12301234 +UNITED ST5 UNITED ST2 1992 9917834 +UNITED ST5 UNITED ST3 1992 5862031 +UNITED ST5 UNITED ST6 1992 12398029 +UNITED ST5 UNITED ST7 1992 3936271 +UNITED ST5 UNITED ST9 1992 14448179 +UNITED ST6 UNITED ST0 1992 11900889 +UNITED ST6 UNITED ST2 1992 291566 +UNITED ST6 UNITED ST3 1992 1873819 +UNITED ST6 UNITED ST6 1992 8685228 +UNITED ST6 UNITED ST9 1992 6597261 +UNITED ST7 UNITED ST0 1992 1882015 +UNITED ST7 UNITED ST2 1992 6125476 +UNITED ST7 UNITED ST3 1992 17996772 +UNITED ST7 UNITED ST6 1992 6058017 +UNITED ST7 UNITED ST7 1992 9715656 +UNITED ST7 UNITED ST9 1992 5403152 +UNITED ST8 UNITED ST0 1992 3574169 +UNITED ST8 UNITED ST7 1992 2373825 +UNITED ST8 UNITED ST9 1992 5690491 +UNITED ST9 UNITED ST0 1992 4816370 +UNITED ST9 UNITED ST2 1992 12370917 +UNITED ST9 UNITED ST3 1992 17863433 +UNITED ST9 UNITED ST6 1992 2066609 +UNITED ST9 UNITED ST7 1992 6703890 +UNITED ST9 UNITED ST9 1992 4234523 -- !query3_3before -- -UNITED KI1 UNITED KI1 1992 46735995 -UNITED KI1 UNITED KI1 1993 45669535 -UNITED KI1 UNITED KI1 1994 34868441 -UNITED KI1 UNITED KI1 1995 35881186 -UNITED KI1 UNITED KI1 1996 59923037 -UNITED KI1 UNITED KI1 1997 70343133 -UNITED KI1 UNITED KI5 1992 21917846 -UNITED KI1 UNITED KI5 1993 21444206 -UNITED KI1 UNITED KI5 1994 21221780 -UNITED KI1 UNITED KI5 1995 17176510 -UNITED KI1 UNITED KI5 1996 13700254 -UNITED KI1 UNITED KI5 1997 16410668 -UNITED KI5 UNITED KI1 1992 36277055 -UNITED KI5 UNITED KI1 1993 61017607 -UNITED KI5 UNITED KI1 1994 36282163 -UNITED KI5 UNITED KI1 1995 82955896 -UNITED KI5 UNITED KI1 1996 65767049 -UNITED KI5 UNITED KI1 1997 64978359 -UNITED KI5 UNITED KI5 1992 25355267 -UNITED KI5 UNITED KI5 1993 34099392 -UNITED KI5 UNITED KI5 1994 34507284 -UNITED KI5 UNITED KI5 1995 20539805 -UNITED KI5 UNITED KI5 1996 46077342 -UNITED KI5 UNITED KI5 1997 27332027 +UNITED KI5 UNITED KI1 1992 4397192 -- !query3_3_after -- -UNITED KI1 UNITED KI1 1992 46735995 -UNITED KI1 UNITED KI1 1993 45669535 -UNITED KI1 UNITED KI1 1994 34868441 -UNITED KI1 UNITED KI1 1995 35881186 -UNITED KI1 UNITED KI1 1996 59923037 -UNITED KI1 UNITED KI1 1997 70343133 -UNITED KI1 UNITED KI5 1992 21917846 -UNITED KI1 UNITED KI5 1993 21444206 -UNITED KI1 UNITED KI5 1994 21221780 -UNITED KI1 UNITED KI5 1995 17176510 -UNITED KI1 UNITED KI5 1996 13700254 -UNITED KI1 UNITED KI5 1997 16410668 -UNITED KI5 UNITED KI1 1992 36277055 -UNITED KI5 UNITED KI1 1993 61017607 -UNITED KI5 UNITED KI1 1994 36282163 -UNITED KI5 UNITED KI1 1995 82955896 -UNITED KI5 UNITED KI1 1996 65767049 -UNITED KI5 UNITED KI1 1997 64978359 -UNITED KI5 UNITED KI5 1992 25355267 -UNITED KI5 UNITED KI5 1993 34099392 -UNITED KI5 UNITED KI5 1994 34507284 -UNITED KI5 UNITED KI5 1995 20539805 -UNITED KI5 UNITED KI5 1996 46077342 -UNITED KI5 UNITED KI5 1997 27332027 +UNITED KI5 UNITED KI1 1992 4397192 -- !query3_4before -- -UNITED KI1 UNITED KI5 1997 1870070 -UNITED KI5 UNITED KI1 1997 9117846 -UNITED KI5 UNITED KI5 1997 6203801 +UNITED KI5 UNITED KI1 1992 3856441 -- !query3_4_after -- -UNITED KI1 UNITED KI5 1997 1870070 -UNITED KI5 UNITED KI1 1997 9117846 -UNITED KI5 UNITED KI5 1997 6203801 +UNITED KI5 UNITED KI1 1992 3856441 -- !query4_1before -- -1992 ARGENTINA 9658964469 -1992 BRAZIL 9226983055 -1992 CANADA 9643176787 -1992 PERU 9410676597 -1992 UNITED STATES 9849427653 -1993 ARGENTINA 9976332853 -1993 BRAZIL 9468799229 -1993 CANADA 9897302420 -1993 PERU 9309445836 -1993 UNITED STATES 10003985086 -1994 ARGENTINA 9940305215 -1994 BRAZIL 9348651677 -1994 CANADA 9582647596 -1994 PERU 9295265013 -1994 UNITED STATES 9519880425 -1995 ARGENTINA 10143841380 -1995 BRAZIL 9156077350 -1995 CANADA 9562612160 -1995 PERU 9778087211 -1995 UNITED STATES 9310565244 -1996 ARGENTINA 10001927895 -1996 BRAZIL 9168485151 -1996 CANADA 10061604203 -1996 PERU 9355135674 -1996 UNITED STATES 9769712174 -1997 ARGENTINA 9854560261 -1997 BRAZIL 9121571047 -1997 CANADA 10097371778 -1997 PERU 9315525917 -1997 UNITED STATES 10506723879 -1998 ARGENTINA 5834240407 -1998 BRAZIL 5356398095 -1998 CANADA 5423211196 -1998 PERU 5726185970 -1998 UNITED STATES 6009462019 +1992 ARGENTINA 533196600 +1992 BRAZIL 684224630 +1992 CANADA 532686194 +1992 PERU 586223155 +1992 UNITED STATES 682387184 -- !query4_1_after -- -1992 ARGENTINA 9658964469 -1992 BRAZIL 9226983055 -1992 CANADA 9643176787 -1992 PERU 9410676597 -1992 UNITED STATES 9849427653 -1993 ARGENTINA 9976332853 -1993 BRAZIL 9468799229 -1993 CANADA 9897302420 -1993 PERU 9309445836 -1993 UNITED STATES 10003985086 -1994 ARGENTINA 9940305215 -1994 BRAZIL 9348651677 -1994 CANADA 9582647596 -1994 PERU 9295265013 -1994 UNITED STATES 9519880425 -1995 ARGENTINA 10143841380 -1995 BRAZIL 9156077350 -1995 CANADA 9562612160 -1995 PERU 9778087211 -1995 UNITED STATES 9310565244 -1996 ARGENTINA 10001927895 -1996 BRAZIL 9168485151 -1996 CANADA 10061604203 -1996 PERU 9355135674 -1996 UNITED STATES 9769712174 -1997 ARGENTINA 9854560261 -1997 BRAZIL 9121571047 -1997 CANADA 10097371778 -1997 PERU 9315525917 -1997 UNITED STATES 10506723879 -1998 ARGENTINA 5834240407 -1998 BRAZIL 5356398095 -1998 CANADA 5423211196 -1998 PERU 5726185970 -1998 UNITED STATES 6009462019 +1992 ARGENTINA 533196600 +1992 BRAZIL 684224630 +1992 CANADA 532686194 +1992 PERU 586223155 +1992 UNITED STATES 682387184 -- !query4_2before -- -1997 ARGENTINA MFGR#11 907071566 -1997 ARGENTINA MFGR#12 924115562 -1997 ARGENTINA MFGR#13 972861821 -1997 ARGENTINA MFGR#14 975410345 -1997 ARGENTINA MFGR#15 938867375 -1997 ARGENTINA MFGR#21 1014782574 -1997 ARGENTINA MFGR#22 873016783 -1997 ARGENTINA MFGR#23 1030357302 -1997 ARGENTINA MFGR#24 893460579 -1997 ARGENTINA MFGR#25 1006311403 -1997 BRAZIL MFGR#11 1073219328 -1997 BRAZIL MFGR#12 989858833 -1997 BRAZIL MFGR#13 1128480379 -1997 BRAZIL MFGR#14 1194256722 -1997 BRAZIL MFGR#15 1094419124 -1997 BRAZIL MFGR#21 910026832 -1997 BRAZIL MFGR#22 993142048 -1997 BRAZIL MFGR#23 1107672874 -1997 BRAZIL MFGR#24 1058013649 -1997 BRAZIL MFGR#25 994733764 -1997 CANADA MFGR#11 854725020 -1997 CANADA MFGR#12 938718164 -1997 CANADA MFGR#13 959265890 -1997 CANADA MFGR#14 1002812450 -1997 CANADA MFGR#15 848183013 -1997 CANADA MFGR#21 999805272 -1997 CANADA MFGR#22 778419763 -1997 CANADA MFGR#23 928359645 -1997 CANADA MFGR#24 849895128 -1997 CANADA MFGR#25 904587965 -1997 PERU MFGR#11 1100242877 -1997 PERU MFGR#12 994365350 -1997 PERU MFGR#13 847486105 -1997 PERU MFGR#14 947769683 -1997 PERU MFGR#15 999395678 -1997 PERU MFGR#21 867923394 -1997 PERU MFGR#22 988747459 -1997 PERU MFGR#23 1066645086 -1997 PERU MFGR#24 935665725 -1997 PERU MFGR#25 981454129 -1997 UNITED STATES MFGR#11 1046706048 -1997 UNITED STATES MFGR#12 909213709 -1997 UNITED STATES MFGR#13 1096278906 -1997 UNITED STATES MFGR#14 934282111 -1997 UNITED STATES MFGR#15 962760843 -1997 UNITED STATES MFGR#21 1000676474 -1997 UNITED STATES MFGR#22 1076947615 -1997 UNITED STATES MFGR#23 937288102 -1997 UNITED STATES MFGR#24 1003386363 -1997 UNITED STATES MFGR#25 1053666052 -1998 ARGENTINA MFGR#11 567612227 -1998 ARGENTINA MFGR#12 527025042 -1998 ARGENTINA MFGR#13 582791792 -1998 ARGENTINA MFGR#14 523726368 -1998 ARGENTINA MFGR#15 522078267 -1998 ARGENTINA MFGR#21 504712685 -1998 ARGENTINA MFGR#22 506061736 -1998 ARGENTINA MFGR#23 560479801 -1998 ARGENTINA MFGR#24 524579118 -1998 ARGENTINA MFGR#25 547840211 -1998 BRAZIL MFGR#11 638578488 -1998 BRAZIL MFGR#12 646312681 -1998 BRAZIL MFGR#13 655161772 -1998 BRAZIL MFGR#14 552676170 -1998 BRAZIL MFGR#15 663812709 -1998 BRAZIL MFGR#21 668822448 -1998 BRAZIL MFGR#22 591791918 -1998 BRAZIL MFGR#23 690648877 -1998 BRAZIL MFGR#24 562362220 -1998 BRAZIL MFGR#25 704182376 -1998 CANADA MFGR#11 509086125 -1998 CANADA MFGR#12 488089772 -1998 CANADA MFGR#13 486533297 -1998 CANADA MFGR#14 527837227 -1998 CANADA MFGR#15 535869299 -1998 CANADA MFGR#21 455868651 -1998 CANADA MFGR#22 594277308 -1998 CANADA MFGR#23 574125070 -1998 CANADA MFGR#24 508530424 -1998 CANADA MFGR#25 547757992 -1998 PERU MFGR#11 567838547 -1998 PERU MFGR#12 540544757 -1998 PERU MFGR#13 591331883 -1998 PERU MFGR#14 481335064 -1998 PERU MFGR#15 570246138 -1998 PERU MFGR#21 533733330 -1998 PERU MFGR#22 527790656 -1998 PERU MFGR#23 636393221 -1998 PERU MFGR#24 589075262 -1998 PERU MFGR#25 543251115 -1998 UNITED STATES MFGR#11 556276232 -1998 UNITED STATES MFGR#12 612385982 -1998 UNITED STATES MFGR#13 622413927 -1998 UNITED STATES MFGR#14 555006887 -1998 UNITED STATES MFGR#15 525119569 -1998 UNITED STATES MFGR#21 563406836 -1998 UNITED STATES MFGR#22 580478735 -1998 UNITED STATES MFGR#23 656080465 -1998 UNITED STATES MFGR#24 538445058 -1998 UNITED STATES MFGR#25 589111952 +1992 ARGENTINA MFGR#11 70016467 +1992 ARGENTINA MFGR#12 57130735 +1992 ARGENTINA MFGR#13 89600962 +1992 ARGENTINA MFGR#14 54217587 +1992 ARGENTINA MFGR#15 45034625 +1992 ARGENTINA MFGR#21 43792906 +1992 ARGENTINA MFGR#22 49248625 +1992 ARGENTINA MFGR#23 79718572 +1992 ARGENTINA MFGR#24 51057067 +1992 ARGENTINA MFGR#25 47431621 +1992 BRAZIL MFGR#11 49035302 +1992 BRAZIL MFGR#12 45469986 +1992 BRAZIL MFGR#13 68191869 +1992 BRAZIL MFGR#14 54781608 +1992 BRAZIL MFGR#15 40204144 +1992 BRAZIL MFGR#21 54385184 +1992 BRAZIL MFGR#22 73332346 +1992 BRAZIL MFGR#23 47288876 +1992 BRAZIL MFGR#24 61293205 +1992 BRAZIL MFGR#25 77335065 +1992 CANADA MFGR#11 20381804 +1992 CANADA MFGR#12 30863219 +1992 CANADA MFGR#13 52567971 +1992 CANADA MFGR#14 65603736 +1992 CANADA MFGR#15 49669956 +1992 CANADA MFGR#21 45613232 +1992 CANADA MFGR#22 32289959 +1992 CANADA MFGR#23 23226684 +1992 CANADA MFGR#24 49284224 +1992 CANADA MFGR#25 44418525 +1992 PERU MFGR#11 60890044 +1992 PERU MFGR#12 57092894 +1992 PERU MFGR#13 54461960 +1992 PERU MFGR#14 39217023 +1992 PERU MFGR#15 21170135 +1992 PERU MFGR#21 33391866 +1992 PERU MFGR#22 59295631 +1992 PERU MFGR#23 69486455 +1992 PERU MFGR#24 34232078 +1992 PERU MFGR#25 45525878 +1992 UNITED STATES MFGR#11 91427459 +1992 UNITED STATES MFGR#12 100744805 +1992 UNITED STATES MFGR#13 101592664 +1992 UNITED STATES MFGR#14 121042999 +1992 UNITED STATES MFGR#15 99396680 +1992 UNITED STATES MFGR#21 72692399 +1992 UNITED STATES MFGR#22 92929921 +1992 UNITED STATES MFGR#23 101853653 +1992 UNITED STATES MFGR#24 96327671 +1992 UNITED STATES MFGR#25 93459486 -- !query4_2_after -- -1997 ARGENTINA MFGR#11 907071566 -1997 ARGENTINA MFGR#12 924115562 -1997 ARGENTINA MFGR#13 972861821 -1997 ARGENTINA MFGR#14 975410345 -1997 ARGENTINA MFGR#15 938867375 -1997 ARGENTINA MFGR#21 1014782574 -1997 ARGENTINA MFGR#22 873016783 -1997 ARGENTINA MFGR#23 1030357302 -1997 ARGENTINA MFGR#24 893460579 -1997 ARGENTINA MFGR#25 1006311403 -1997 BRAZIL MFGR#11 1073219328 -1997 BRAZIL MFGR#12 989858833 -1997 BRAZIL MFGR#13 1128480379 -1997 BRAZIL MFGR#14 1194256722 -1997 BRAZIL MFGR#15 1094419124 -1997 BRAZIL MFGR#21 910026832 -1997 BRAZIL MFGR#22 993142048 -1997 BRAZIL MFGR#23 1107672874 -1997 BRAZIL MFGR#24 1058013649 -1997 BRAZIL MFGR#25 994733764 -1997 CANADA MFGR#11 854725020 -1997 CANADA MFGR#12 938718164 -1997 CANADA MFGR#13 959265890 -1997 CANADA MFGR#14 1002812450 -1997 CANADA MFGR#15 848183013 -1997 CANADA MFGR#21 999805272 -1997 CANADA MFGR#22 778419763 -1997 CANADA MFGR#23 928359645 -1997 CANADA MFGR#24 849895128 -1997 CANADA MFGR#25 904587965 -1997 PERU MFGR#11 1100242877 -1997 PERU MFGR#12 994365350 -1997 PERU MFGR#13 847486105 -1997 PERU MFGR#14 947769683 -1997 PERU MFGR#15 999395678 -1997 PERU MFGR#21 867923394 -1997 PERU MFGR#22 988747459 -1997 PERU MFGR#23 1066645086 -1997 PERU MFGR#24 935665725 -1997 PERU MFGR#25 981454129 -1997 UNITED STATES MFGR#11 1046706048 -1997 UNITED STATES MFGR#12 909213709 -1997 UNITED STATES MFGR#13 1096278906 -1997 UNITED STATES MFGR#14 934282111 -1997 UNITED STATES MFGR#15 962760843 -1997 UNITED STATES MFGR#21 1000676474 -1997 UNITED STATES MFGR#22 1076947615 -1997 UNITED STATES MFGR#23 937288102 -1997 UNITED STATES MFGR#24 1003386363 -1997 UNITED STATES MFGR#25 1053666052 -1998 ARGENTINA MFGR#11 567612227 -1998 ARGENTINA MFGR#12 527025042 -1998 ARGENTINA MFGR#13 582791792 -1998 ARGENTINA MFGR#14 523726368 -1998 ARGENTINA MFGR#15 522078267 -1998 ARGENTINA MFGR#21 504712685 -1998 ARGENTINA MFGR#22 506061736 -1998 ARGENTINA MFGR#23 560479801 -1998 ARGENTINA MFGR#24 524579118 -1998 ARGENTINA MFGR#25 547840211 -1998 BRAZIL MFGR#11 638578488 -1998 BRAZIL MFGR#12 646312681 -1998 BRAZIL MFGR#13 655161772 -1998 BRAZIL MFGR#14 552676170 -1998 BRAZIL MFGR#15 663812709 -1998 BRAZIL MFGR#21 668822448 -1998 BRAZIL MFGR#22 591791918 -1998 BRAZIL MFGR#23 690648877 -1998 BRAZIL MFGR#24 562362220 -1998 BRAZIL MFGR#25 704182376 -1998 CANADA MFGR#11 509086125 -1998 CANADA MFGR#12 488089772 -1998 CANADA MFGR#13 486533297 -1998 CANADA MFGR#14 527837227 -1998 CANADA MFGR#15 535869299 -1998 CANADA MFGR#21 455868651 -1998 CANADA MFGR#22 594277308 -1998 CANADA MFGR#23 574125070 -1998 CANADA MFGR#24 508530424 -1998 CANADA MFGR#25 547757992 -1998 PERU MFGR#11 567838547 -1998 PERU MFGR#12 540544757 -1998 PERU MFGR#13 591331883 -1998 PERU MFGR#14 481335064 -1998 PERU MFGR#15 570246138 -1998 PERU MFGR#21 533733330 -1998 PERU MFGR#22 527790656 -1998 PERU MFGR#23 636393221 -1998 PERU MFGR#24 589075262 -1998 PERU MFGR#25 543251115 -1998 UNITED STATES MFGR#11 556276232 -1998 UNITED STATES MFGR#12 612385982 -1998 UNITED STATES MFGR#13 622413927 -1998 UNITED STATES MFGR#14 555006887 -1998 UNITED STATES MFGR#15 525119569 -1998 UNITED STATES MFGR#21 563406836 -1998 UNITED STATES MFGR#22 580478735 -1998 UNITED STATES MFGR#23 656080465 -1998 UNITED STATES MFGR#24 538445058 -1998 UNITED STATES MFGR#25 589111952 +1992 ARGENTINA MFGR#11 70016467 +1992 ARGENTINA MFGR#12 57130735 +1992 ARGENTINA MFGR#13 89600962 +1992 ARGENTINA MFGR#14 54217587 +1992 ARGENTINA MFGR#15 45034625 +1992 ARGENTINA MFGR#21 43792906 +1992 ARGENTINA MFGR#22 49248625 +1992 ARGENTINA MFGR#23 79718572 +1992 ARGENTINA MFGR#24 51057067 +1992 ARGENTINA MFGR#25 47431621 +1992 BRAZIL MFGR#11 49035302 +1992 BRAZIL MFGR#12 45469986 +1992 BRAZIL MFGR#13 68191869 +1992 BRAZIL MFGR#14 54781608 +1992 BRAZIL MFGR#15 40204144 +1992 BRAZIL MFGR#21 54385184 +1992 BRAZIL MFGR#22 73332346 +1992 BRAZIL MFGR#23 47288876 +1992 BRAZIL MFGR#24 61293205 +1992 BRAZIL MFGR#25 77335065 +1992 CANADA MFGR#11 20381804 +1992 CANADA MFGR#12 30863219 +1992 CANADA MFGR#13 52567971 +1992 CANADA MFGR#14 65603736 +1992 CANADA MFGR#15 49669956 +1992 CANADA MFGR#21 45613232 +1992 CANADA MFGR#22 32289959 +1992 CANADA MFGR#23 23226684 +1992 CANADA MFGR#24 49284224 +1992 CANADA MFGR#25 44418525 +1992 PERU MFGR#11 60890044 +1992 PERU MFGR#12 57092894 +1992 PERU MFGR#13 54461960 +1992 PERU MFGR#14 39217023 +1992 PERU MFGR#15 21170135 +1992 PERU MFGR#21 33391866 +1992 PERU MFGR#22 59295631 +1992 PERU MFGR#23 69486455 +1992 PERU MFGR#24 34232078 +1992 PERU MFGR#25 45525878 +1992 UNITED STATES MFGR#11 91427459 +1992 UNITED STATES MFGR#12 100744805 +1992 UNITED STATES MFGR#13 101592664 +1992 UNITED STATES MFGR#14 121042999 +1992 UNITED STATES MFGR#15 99396680 +1992 UNITED STATES MFGR#21 72692399 +1992 UNITED STATES MFGR#22 92929921 +1992 UNITED STATES MFGR#23 101853653 +1992 UNITED STATES MFGR#24 96327671 +1992 UNITED STATES MFGR#25 93459486 -- !query4_3before -- -1997 UNITED ST0 MFGR#141 15456288 -1997 UNITED ST0 MFGR#1410 32961113 -1997 UNITED ST0 MFGR#1411 36166400 -1997 UNITED ST0 MFGR#1412 18237451 -1997 UNITED ST0 MFGR#1413 40752813 -1997 UNITED ST0 MFGR#1414 24237588 -1997 UNITED ST0 MFGR#1415 6419001 -1997 UNITED ST0 MFGR#1416 15639876 -1997 UNITED ST0 MFGR#1417 15476211 -1997 UNITED ST0 MFGR#1418 8169956 -1997 UNITED ST0 MFGR#1419 18217252 -1997 UNITED ST0 MFGR#142 29361222 -1997 UNITED ST0 MFGR#1420 34587603 -1997 UNITED ST0 MFGR#1421 28560921 -1997 UNITED ST0 MFGR#1422 25154181 -1997 UNITED ST0 MFGR#1423 18144008 -1997 UNITED ST0 MFGR#1424 28064267 -1997 UNITED ST0 MFGR#1425 15255845 -1997 UNITED ST0 MFGR#1426 5610353 -1997 UNITED ST0 MFGR#1427 5750693 -1997 UNITED ST0 MFGR#1428 14081707 -1997 UNITED ST0 MFGR#1429 9024512 -1997 UNITED ST0 MFGR#143 5325193 -1997 UNITED ST0 MFGR#1430 16961739 -1997 UNITED ST0 MFGR#1431 19015253 -1997 UNITED ST0 MFGR#1432 6324917 -1997 UNITED ST0 MFGR#1433 6734461 -1997 UNITED ST0 MFGR#1434 19206393 -1997 UNITED ST0 MFGR#1435 679925 -1997 UNITED ST0 MFGR#1436 13834012 -1997 UNITED ST0 MFGR#1437 23575407 -1997 UNITED ST0 MFGR#1438 24756074 -1997 UNITED ST0 MFGR#1439 19644072 -1997 UNITED ST0 MFGR#144 20285157 -1997 UNITED ST0 MFGR#1440 14068558 -1997 UNITED ST0 MFGR#145 22646138 -1997 UNITED ST0 MFGR#146 16381159 -1997 UNITED ST0 MFGR#147 12267827 -1997 UNITED ST0 MFGR#148 30968614 -1997 UNITED ST0 MFGR#149 8640669 -1997 UNITED ST1 MFGR#141 10152087 -1997 UNITED ST1 MFGR#1410 32583300 -1997 UNITED ST1 MFGR#1411 15690352 -1997 UNITED ST1 MFGR#1412 16671403 -1997 UNITED ST1 MFGR#1413 4942775 -1997 UNITED ST1 MFGR#1414 9391597 -1997 UNITED ST1 MFGR#1415 26937296 -1997 UNITED ST1 MFGR#1416 25782871 -1997 UNITED ST1 MFGR#1417 23349641 -1997 UNITED ST1 MFGR#1418 10934620 -1997 UNITED ST1 MFGR#1419 22673030 -1997 UNITED ST1 MFGR#142 14048276 -1997 UNITED ST1 MFGR#1420 18100795 -1997 UNITED ST1 MFGR#1421 25405678 -1997 UNITED ST1 MFGR#1423 5713800 -1997 UNITED ST1 MFGR#1424 4131923 -1997 UNITED ST1 MFGR#1425 17190425 -1997 UNITED ST1 MFGR#1426 22314044 -1997 UNITED ST1 MFGR#1427 13635057 -1997 UNITED ST1 MFGR#1428 17735811 -1997 UNITED ST1 MFGR#1429 28740911 -1997 UNITED ST1 MFGR#143 27418033 -1997 UNITED ST1 MFGR#1430 18655292 -1997 UNITED ST1 MFGR#1431 11074399 -1997 UNITED ST1 MFGR#1432 7490170 -1997 UNITED ST1 MFGR#1433 28997266 -1997 UNITED ST1 MFGR#1434 4612211 -1997 UNITED ST1 MFGR#1435 16327124 -1997 UNITED ST1 MFGR#1436 17409665 -1997 UNITED ST1 MFGR#1437 33391635 -1997 UNITED ST1 MFGR#1438 37321134 -1997 UNITED ST1 MFGR#1439 10279941 -1997 UNITED ST1 MFGR#144 12304723 -1997 UNITED ST1 MFGR#1440 28921230 -1997 UNITED ST1 MFGR#145 17933684 -1997 UNITED ST1 MFGR#146 8709103 -1997 UNITED ST1 MFGR#147 20145983 -1997 UNITED ST1 MFGR#148 16940400 -1997 UNITED ST1 MFGR#149 10284949 -1997 UNITED ST2 MFGR#1412 6328240 -1997 UNITED ST2 MFGR#1415 5022682 -1997 UNITED ST2 MFGR#1416 4102214 -1997 UNITED ST2 MFGR#1417 5284444 -1997 UNITED ST2 MFGR#1418 2649908 -1997 UNITED ST2 MFGR#1419 4664673 -1997 UNITED ST2 MFGR#142 10784835 -1997 UNITED ST2 MFGR#1423 4095190 -1997 UNITED ST2 MFGR#1424 5376355 -1997 UNITED ST2 MFGR#1425 3949957 -1997 UNITED ST2 MFGR#143 2859829 -1997 UNITED ST2 MFGR#1430 4618266 -1997 UNITED ST2 MFGR#1432 5183060 -1997 UNITED ST2 MFGR#1433 10531371 -1997 UNITED ST2 MFGR#1434 77646 -1997 UNITED ST2 MFGR#1436 6538508 -1997 UNITED ST2 MFGR#1438 12324747 -1997 UNITED ST2 MFGR#144 2002870 -1997 UNITED ST2 MFGR#1440 12247229 -1997 UNITED ST2 MFGR#145 202685 -1997 UNITED ST2 MFGR#148 5998932 -1997 UNITED ST3 MFGR#141 12866083 -1997 UNITED ST3 MFGR#1410 31051703 -1997 UNITED ST3 MFGR#1411 14099543 -1997 UNITED ST3 MFGR#1412 4970551 -1997 UNITED ST3 MFGR#1413 26129762 -1997 UNITED ST3 MFGR#1414 22364787 -1997 UNITED ST3 MFGR#1415 27883428 -1997 UNITED ST3 MFGR#1416 25289630 -1997 UNITED ST3 MFGR#1417 5524810 -1997 UNITED ST3 MFGR#1419 3616608 -1997 UNITED ST3 MFGR#142 10776059 -1997 UNITED ST3 MFGR#1420 12958851 -1997 UNITED ST3 MFGR#1421 5815494 -1997 UNITED ST3 MFGR#1422 17694270 -1997 UNITED ST3 MFGR#1423 10285142 -1997 UNITED ST3 MFGR#1424 21555317 -1997 UNITED ST3 MFGR#1425 5214517 -1997 UNITED ST3 MFGR#1426 16810700 -1997 UNITED ST3 MFGR#1427 10086430 -1997 UNITED ST3 MFGR#1428 7733716 -1997 UNITED ST3 MFGR#1429 11922430 -1997 UNITED ST3 MFGR#1430 20105292 -1997 UNITED ST3 MFGR#1431 14716979 -1997 UNITED ST3 MFGR#1432 15779247 -1997 UNITED ST3 MFGR#1433 15308773 -1997 UNITED ST3 MFGR#1434 8515037 -1997 UNITED ST3 MFGR#1435 25486899 -1997 UNITED ST3 MFGR#1436 12739448 -1997 UNITED ST3 MFGR#1437 11249180 -1997 UNITED ST3 MFGR#1438 4156824 -1997 UNITED ST3 MFGR#1439 18358277 -1997 UNITED ST3 MFGR#144 10097718 -1997 UNITED ST3 MFGR#1440 22920494 -1997 UNITED ST3 MFGR#145 20285859 -1997 UNITED ST3 MFGR#146 18406423 -1997 UNITED ST3 MFGR#147 17295990 -1997 UNITED ST3 MFGR#148 26127145 -1997 UNITED ST3 MFGR#149 19895538 -1997 UNITED ST4 MFGR#141 8135477 -1997 UNITED ST4 MFGR#1410 5503247 -1997 UNITED ST4 MFGR#1411 6096435 -1997 UNITED ST4 MFGR#1412 19976043 -1997 UNITED ST4 MFGR#1413 22581282 -1997 UNITED ST4 MFGR#1414 10101379 -1997 UNITED ST4 MFGR#1415 8877444 -1997 UNITED ST4 MFGR#1416 17943398 -1997 UNITED ST4 MFGR#1417 9224501 -1997 UNITED ST4 MFGR#1418 16255176 -1997 UNITED ST4 MFGR#1419 683069 -1997 UNITED ST4 MFGR#142 23512944 -1997 UNITED ST4 MFGR#1420 27954262 -1997 UNITED ST4 MFGR#1421 54209185 -1997 UNITED ST4 MFGR#1422 1173957 -1997 UNITED ST4 MFGR#1423 20410710 -1997 UNITED ST4 MFGR#1424 2889270 -1997 UNITED ST4 MFGR#1425 13361796 -1997 UNITED ST4 MFGR#1426 18678819 -1997 UNITED ST4 MFGR#1427 18206066 -1997 UNITED ST4 MFGR#1428 18153974 -1997 UNITED ST4 MFGR#1429 12545076 -1997 UNITED ST4 MFGR#143 6158834 -1997 UNITED ST4 MFGR#1430 16128370 -1997 UNITED ST4 MFGR#1431 11153717 -1997 UNITED ST4 MFGR#1432 7745636 -1997 UNITED ST4 MFGR#1433 15983634 -1997 UNITED ST4 MFGR#1434 3662246 -1997 UNITED ST4 MFGR#1435 3060180 -1997 UNITED ST4 MFGR#1436 11524592 -1997 UNITED ST4 MFGR#1437 36824174 -1997 UNITED ST4 MFGR#1438 8226666 -1997 UNITED ST4 MFGR#1439 9872470 -1997 UNITED ST4 MFGR#1440 401207 -1997 UNITED ST4 MFGR#145 11698312 -1997 UNITED ST4 MFGR#146 18259956 -1997 UNITED ST4 MFGR#147 10256110 -1997 UNITED ST4 MFGR#148 15892628 -1997 UNITED ST4 MFGR#149 4322491 -1997 UNITED ST5 MFGR#141 8534275 -1997 UNITED ST5 MFGR#1411 2427261 -1997 UNITED ST5 MFGR#1412 9032422 -1997 UNITED ST5 MFGR#1413 6343588 -1997 UNITED ST5 MFGR#1414 2961025 -1997 UNITED ST5 MFGR#1415 21186568 -1997 UNITED ST5 MFGR#1416 9354080 -1997 UNITED ST5 MFGR#1417 11786246 -1997 UNITED ST5 MFGR#1418 15297245 -1997 UNITED ST5 MFGR#1420 15787608 -1997 UNITED ST5 MFGR#1421 17858301 -1997 UNITED ST5 MFGR#1422 14080987 -1997 UNITED ST5 MFGR#1423 12535186 -1997 UNITED ST5 MFGR#1424 3221960 -1997 UNITED ST5 MFGR#1425 8950317 -1997 UNITED ST5 MFGR#1426 13161486 -1997 UNITED ST5 MFGR#1427 6149737 -1997 UNITED ST5 MFGR#1428 6796520 -1997 UNITED ST5 MFGR#1429 26026300 -1997 UNITED ST5 MFGR#143 6712572 -1997 UNITED ST5 MFGR#1430 16092131 -1997 UNITED ST5 MFGR#1431 3425291 -1997 UNITED ST5 MFGR#1432 14630175 -1997 UNITED ST5 MFGR#1433 4967585 -1997 UNITED ST5 MFGR#1434 6716261 -1997 UNITED ST5 MFGR#1435 6290790 -1997 UNITED ST5 MFGR#1436 6787699 -1997 UNITED ST5 MFGR#1437 6045168 -1997 UNITED ST5 MFGR#1438 1082877 -1997 UNITED ST5 MFGR#1439 5268611 -1997 UNITED ST5 MFGR#144 8900840 -1997 UNITED ST5 MFGR#1440 2644336 -1997 UNITED ST5 MFGR#145 18054844 -1997 UNITED ST5 MFGR#146 4893668 -1997 UNITED ST5 MFGR#147 9615891 -1997 UNITED ST5 MFGR#148 1426124 -1997 UNITED ST5 MFGR#149 7320726 -1997 UNITED ST6 MFGR#141 10051337 -1997 UNITED ST6 MFGR#1410 23352963 -1997 UNITED ST6 MFGR#1411 1537303 -1997 UNITED ST6 MFGR#1412 4332646 -1997 UNITED ST6 MFGR#1413 14686752 -1997 UNITED ST6 MFGR#1414 7226409 -1997 UNITED ST6 MFGR#1415 15062686 -1997 UNITED ST6 MFGR#1416 8606480 -1997 UNITED ST6 MFGR#1417 7662761 -1997 UNITED ST6 MFGR#1418 1810860 -1997 UNITED ST6 MFGR#1419 20179568 -1997 UNITED ST6 MFGR#142 15506072 -1997 UNITED ST6 MFGR#1420 3844271 -1997 UNITED ST6 MFGR#1421 10608709 -1997 UNITED ST6 MFGR#1422 16083699 -1997 UNITED ST6 MFGR#1423 6789571 -1997 UNITED ST6 MFGR#1424 17631950 -1997 UNITED ST6 MFGR#1425 8477221 -1997 UNITED ST6 MFGR#1426 16847029 -1997 UNITED ST6 MFGR#1428 17314796 -1997 UNITED ST6 MFGR#1429 19175871 -1997 UNITED ST6 MFGR#143 8775848 -1997 UNITED ST6 MFGR#1431 5319063 -1997 UNITED ST6 MFGR#1432 7875606 -1997 UNITED ST6 MFGR#1433 9305264 -1997 UNITED ST6 MFGR#1434 8050404 -1997 UNITED ST6 MFGR#1435 17585836 -1997 UNITED ST6 MFGR#1436 13745758 -1997 UNITED ST6 MFGR#1438 14536324 -1997 UNITED ST6 MFGR#1439 11451329 -1997 UNITED ST6 MFGR#144 10794837 -1997 UNITED ST6 MFGR#1440 5719238 -1997 UNITED ST6 MFGR#145 25449058 -1997 UNITED ST6 MFGR#146 17821996 -1997 UNITED ST6 MFGR#147 18922333 -1997 UNITED ST6 MFGR#148 10825718 -1997 UNITED ST6 MFGR#149 14950868 -1997 UNITED ST7 MFGR#141 8291476 -1997 UNITED ST7 MFGR#1410 4622953 -1997 UNITED ST7 MFGR#1411 14885507 -1997 UNITED ST7 MFGR#1412 19011375 -1997 UNITED ST7 MFGR#1413 31178370 -1997 UNITED ST7 MFGR#1414 16429613 -1997 UNITED ST7 MFGR#1415 3091832 -1997 UNITED ST7 MFGR#1416 17008243 -1997 UNITED ST7 MFGR#1417 15609283 -1997 UNITED ST7 MFGR#1418 5059394 -1997 UNITED ST7 MFGR#1419 7234721 -1997 UNITED ST7 MFGR#142 6898938 -1997 UNITED ST7 MFGR#1420 6426590 -1997 UNITED ST7 MFGR#1421 6043221 -1997 UNITED ST7 MFGR#1422 13273021 -1997 UNITED ST7 MFGR#1423 30537249 -1997 UNITED ST7 MFGR#1424 9224296 -1997 UNITED ST7 MFGR#1425 12799069 -1997 UNITED ST7 MFGR#1426 30277891 -1997 UNITED ST7 MFGR#1427 8331493 -1997 UNITED ST7 MFGR#1428 16205423 -1997 UNITED ST7 MFGR#1429 14396627 -1997 UNITED ST7 MFGR#143 10209623 -1997 UNITED ST7 MFGR#1430 16556758 -1997 UNITED ST7 MFGR#1431 15775327 -1997 UNITED ST7 MFGR#1432 24602989 -1997 UNITED ST7 MFGR#1433 22927717 -1997 UNITED ST7 MFGR#1434 9486462 -1997 UNITED ST7 MFGR#1435 14254290 -1997 UNITED ST7 MFGR#1436 8645365 -1997 UNITED ST7 MFGR#1437 19026166 -1997 UNITED ST7 MFGR#1438 11291550 -1997 UNITED ST7 MFGR#1439 9590292 -1997 UNITED ST7 MFGR#144 14110404 -1997 UNITED ST7 MFGR#1440 21877355 -1997 UNITED ST7 MFGR#145 8246717 -1997 UNITED ST7 MFGR#146 9785781 -1997 UNITED ST7 MFGR#147 13412691 -1997 UNITED ST7 MFGR#148 14235939 -1997 UNITED ST7 MFGR#149 23450309 -1997 UNITED ST8 MFGR#141 7323416 -1997 UNITED ST8 MFGR#1410 7191961 -1997 UNITED ST8 MFGR#1411 2425849 -1997 UNITED ST8 MFGR#1412 26725641 -1997 UNITED ST8 MFGR#1413 7915896 -1997 UNITED ST8 MFGR#1414 14359044 -1997 UNITED ST8 MFGR#1415 15834927 -1997 UNITED ST8 MFGR#1416 7464470 -1997 UNITED ST8 MFGR#1417 15274496 -1997 UNITED ST8 MFGR#1418 3261391 -1997 UNITED ST8 MFGR#1419 8020386 -1997 UNITED ST8 MFGR#142 5985550 -1997 UNITED ST8 MFGR#1420 9441461 -1997 UNITED ST8 MFGR#1421 2998735 -1997 UNITED ST8 MFGR#1423 1565415 -1997 UNITED ST8 MFGR#1424 5613094 -1997 UNITED ST8 MFGR#1425 7186734 -1997 UNITED ST8 MFGR#1426 3153117 -1997 UNITED ST8 MFGR#1427 11303043 -1997 UNITED ST8 MFGR#1428 3564003 -1997 UNITED ST8 MFGR#143 6357477 -1997 UNITED ST8 MFGR#1430 6633950 -1997 UNITED ST8 MFGR#1431 867285 -1997 UNITED ST8 MFGR#1432 9962884 -1997 UNITED ST8 MFGR#1433 13708011 -1997 UNITED ST8 MFGR#1434 7357067 -1997 UNITED ST8 MFGR#1435 11993453 -1997 UNITED ST8 MFGR#1436 7231938 -1997 UNITED ST8 MFGR#1437 18632056 -1997 UNITED ST8 MFGR#1438 3609384 -1997 UNITED ST8 MFGR#144 4822734 -1997 UNITED ST8 MFGR#1440 2521917 -1997 UNITED ST8 MFGR#145 11683385 -1997 UNITED ST8 MFGR#146 3350415 -1997 UNITED ST8 MFGR#147 8425393 -1997 UNITED ST8 MFGR#148 15005341 -1997 UNITED ST8 MFGR#149 9018101 -1997 UNITED ST9 MFGR#141 21838850 -1997 UNITED ST9 MFGR#1410 8455387 -1997 UNITED ST9 MFGR#1411 27984689 -1997 UNITED ST9 MFGR#1412 26491401 -1997 UNITED ST9 MFGR#1413 30237705 -1997 UNITED ST9 MFGR#1414 8957476 -1997 UNITED ST9 MFGR#1415 35391583 -1997 UNITED ST9 MFGR#1416 8923782 -1997 UNITED ST9 MFGR#1417 3210984 -1997 UNITED ST9 MFGR#1418 12102607 -1997 UNITED ST9 MFGR#1419 14468627 -1997 UNITED ST9 MFGR#142 33363582 -1997 UNITED ST9 MFGR#1420 13139731 -1997 UNITED ST9 MFGR#1421 8410650 -1997 UNITED ST9 MFGR#1422 11268410 -1997 UNITED ST9 MFGR#1423 2846614 -1997 UNITED ST9 MFGR#1424 2305872 -1997 UNITED ST9 MFGR#1425 4896060 -1997 UNITED ST9 MFGR#1426 31544772 -1997 UNITED ST9 MFGR#1427 4113085 -1997 UNITED ST9 MFGR#1428 11137081 -1997 UNITED ST9 MFGR#1429 10633230 -1997 UNITED ST9 MFGR#143 11438203 -1997 UNITED ST9 MFGR#1430 2727389 -1997 UNITED ST9 MFGR#1431 10548538 -1997 UNITED ST9 MFGR#1433 26564495 -1997 UNITED ST9 MFGR#1434 11948206 -1997 UNITED ST9 MFGR#1435 2201909 -1997 UNITED ST9 MFGR#1436 10347631 -1997 UNITED ST9 MFGR#1437 40051690 -1997 UNITED ST9 MFGR#1438 2662945 -1997 UNITED ST9 MFGR#1439 18011455 -1997 UNITED ST9 MFGR#144 10202784 -1997 UNITED ST9 MFGR#1440 11123196 -1997 UNITED ST9 MFGR#145 11326624 -1997 UNITED ST9 MFGR#146 27825456 -1997 UNITED ST9 MFGR#147 17579502 -1997 UNITED ST9 MFGR#148 17001116 -1998 UNITED ST0 MFGR#141 12484786 -1998 UNITED ST0 MFGR#1410 5225999 -1998 UNITED ST0 MFGR#1411 2633395 -1998 UNITED ST0 MFGR#1412 9479536 -1998 UNITED ST0 MFGR#1413 18468711 -1998 UNITED ST0 MFGR#1414 19440601 -1998 UNITED ST0 MFGR#1415 16894643 -1998 UNITED ST0 MFGR#1416 7520117 -1998 UNITED ST0 MFGR#1417 464576 -1998 UNITED ST0 MFGR#1418 5171747 -1998 UNITED ST0 MFGR#1419 5970985 -1998 UNITED ST0 MFGR#142 23830409 -1998 UNITED ST0 MFGR#1420 2568835 -1998 UNITED ST0 MFGR#1421 6096442 -1998 UNITED ST0 MFGR#1422 10099456 -1998 UNITED ST0 MFGR#1423 24617746 -1998 UNITED ST0 MFGR#1424 22853888 -1998 UNITED ST0 MFGR#1425 25622112 -1998 UNITED ST0 MFGR#1426 9630701 -1998 UNITED ST0 MFGR#1427 4952625 -1998 UNITED ST0 MFGR#1428 4675471 -1998 UNITED ST0 MFGR#1429 19713527 -1998 UNITED ST0 MFGR#143 4971265 -1998 UNITED ST0 MFGR#1430 13948705 -1998 UNITED ST0 MFGR#1431 2955181 -1998 UNITED ST0 MFGR#1432 17946759 -1998 UNITED ST0 MFGR#1433 23325027 -1998 UNITED ST0 MFGR#1434 8580738 -1998 UNITED ST0 MFGR#1435 6663914 -1998 UNITED ST0 MFGR#1436 13468582 -1998 UNITED ST0 MFGR#1437 9419979 -1998 UNITED ST0 MFGR#1438 16164522 -1998 UNITED ST0 MFGR#1439 8692866 -1998 UNITED ST0 MFGR#144 17338711 -1998 UNITED ST0 MFGR#1440 8513736 -1998 UNITED ST0 MFGR#145 6212569 -1998 UNITED ST0 MFGR#146 2702349 -1998 UNITED ST0 MFGR#149 8844540 -1998 UNITED ST1 MFGR#141 13449110 -1998 UNITED ST1 MFGR#1410 5224626 -1998 UNITED ST1 MFGR#1411 16046399 -1998 UNITED ST1 MFGR#1412 8424392 -1998 UNITED ST1 MFGR#1413 7634982 -1998 UNITED ST1 MFGR#1414 8711782 -1998 UNITED ST1 MFGR#1415 5991201 -1998 UNITED ST1 MFGR#1416 11059645 -1998 UNITED ST1 MFGR#1417 8108087 -1998 UNITED ST1 MFGR#1418 1710875 -1998 UNITED ST1 MFGR#1419 452298 -1998 UNITED ST1 MFGR#142 6186526 -1998 UNITED ST1 MFGR#1421 4766963 -1998 UNITED ST1 MFGR#1422 5556563 -1998 UNITED ST1 MFGR#1423 12110257 -1998 UNITED ST1 MFGR#1424 8924948 -1998 UNITED ST1 MFGR#1425 5684710 -1998 UNITED ST1 MFGR#1426 6844444 -1998 UNITED ST1 MFGR#1427 7625525 -1998 UNITED ST1 MFGR#1428 5227395 -1998 UNITED ST1 MFGR#1429 2855272 -1998 UNITED ST1 MFGR#143 6964811 -1998 UNITED ST1 MFGR#1430 16952380 -1998 UNITED ST1 MFGR#1431 7655883 -1998 UNITED ST1 MFGR#1432 2975960 -1998 UNITED ST1 MFGR#1433 10175594 -1998 UNITED ST1 MFGR#1434 26358848 -1998 UNITED ST1 MFGR#1435 11408623 -1998 UNITED ST1 MFGR#1436 4438242 -1998 UNITED ST1 MFGR#1437 10014906 -1998 UNITED ST1 MFGR#1438 18817171 -1998 UNITED ST1 MFGR#1439 2129973 -1998 UNITED ST1 MFGR#144 9512727 -1998 UNITED ST1 MFGR#1440 20185179 -1998 UNITED ST1 MFGR#145 823605 -1998 UNITED ST1 MFGR#146 9358026 -1998 UNITED ST1 MFGR#147 6552312 -1998 UNITED ST1 MFGR#148 9144461 -1998 UNITED ST1 MFGR#149 2149639 -1998 UNITED ST2 MFGR#1410 8044368 -1998 UNITED ST2 MFGR#1413 727343 -1998 UNITED ST2 MFGR#1414 251088 -1998 UNITED ST2 MFGR#1416 5224696 -1998 UNITED ST2 MFGR#1419 7917142 -1998 UNITED ST2 MFGR#1420 9848986 -1998 UNITED ST2 MFGR#1427 4816976 -1998 UNITED ST2 MFGR#1429 4196069 -1998 UNITED ST2 MFGR#143 10073044 -1998 UNITED ST2 MFGR#1431 877123 -1998 UNITED ST2 MFGR#1433 3740836 -1998 UNITED ST2 MFGR#1434 857691 -1998 UNITED ST2 MFGR#1435 2277870 -1998 UNITED ST2 MFGR#145 4906521 -1998 UNITED ST2 MFGR#149 842348 -1998 UNITED ST3 MFGR#141 4181582 -1998 UNITED ST3 MFGR#1410 3169761 -1998 UNITED ST3 MFGR#1412 6590440 -1998 UNITED ST3 MFGR#1413 2015369 -1998 UNITED ST3 MFGR#1414 4408466 -1998 UNITED ST3 MFGR#1415 3963826 -1998 UNITED ST3 MFGR#1416 3179540 -1998 UNITED ST3 MFGR#1417 11440999 -1998 UNITED ST3 MFGR#1418 8725751 -1998 UNITED ST3 MFGR#1419 10646990 -1998 UNITED ST3 MFGR#142 5056172 -1998 UNITED ST3 MFGR#1420 3583150 -1998 UNITED ST3 MFGR#1421 7085689 -1998 UNITED ST3 MFGR#1422 20858904 -1998 UNITED ST3 MFGR#1423 12825743 -1998 UNITED ST3 MFGR#1424 3533518 -1998 UNITED ST3 MFGR#1425 4938324 -1998 UNITED ST3 MFGR#1426 15164664 -1998 UNITED ST3 MFGR#1427 2619162 -1998 UNITED ST3 MFGR#1428 7723699 -1998 UNITED ST3 MFGR#143 24362893 -1998 UNITED ST3 MFGR#1430 7139650 -1998 UNITED ST3 MFGR#1431 10306394 -1998 UNITED ST3 MFGR#1432 14769004 -1998 UNITED ST3 MFGR#1433 9610545 -1998 UNITED ST3 MFGR#1435 6611760 -1998 UNITED ST3 MFGR#1436 941348 -1998 UNITED ST3 MFGR#1437 4802162 -1998 UNITED ST3 MFGR#1438 5079750 -1998 UNITED ST3 MFGR#1439 5905118 -1998 UNITED ST3 MFGR#144 5436839 -1998 UNITED ST3 MFGR#1440 9815517 -1998 UNITED ST3 MFGR#145 7580271 -1998 UNITED ST3 MFGR#146 14051404 -1998 UNITED ST3 MFGR#147 7786017 -1998 UNITED ST3 MFGR#149 1271813 -1998 UNITED ST4 MFGR#141 26703183 -1998 UNITED ST4 MFGR#1410 18094129 -1998 UNITED ST4 MFGR#1411 615999 -1998 UNITED ST4 MFGR#1412 13988709 -1998 UNITED ST4 MFGR#1413 10115647 -1998 UNITED ST4 MFGR#1414 1586551 -1998 UNITED ST4 MFGR#1415 14357244 -1998 UNITED ST4 MFGR#1416 9430036 -1998 UNITED ST4 MFGR#1417 17361773 -1998 UNITED ST4 MFGR#1418 10187338 -1998 UNITED ST4 MFGR#1419 7116094 -1998 UNITED ST4 MFGR#142 18454502 -1998 UNITED ST4 MFGR#1420 1621340 -1998 UNITED ST4 MFGR#1422 13861291 -1998 UNITED ST4 MFGR#1423 4208006 -1998 UNITED ST4 MFGR#1424 3242576 -1998 UNITED ST4 MFGR#1425 1470642 -1998 UNITED ST4 MFGR#1426 11987205 -1998 UNITED ST4 MFGR#1427 12975399 -1998 UNITED ST4 MFGR#1428 11756155 -1998 UNITED ST4 MFGR#1429 6956191 -1998 UNITED ST4 MFGR#143 11499476 -1998 UNITED ST4 MFGR#1430 4355096 -1998 UNITED ST4 MFGR#1431 20166612 -1998 UNITED ST4 MFGR#1432 8849789 -1998 UNITED ST4 MFGR#1433 10786037 -1998 UNITED ST4 MFGR#1435 13208151 -1998 UNITED ST4 MFGR#1436 4747808 -1998 UNITED ST4 MFGR#1437 12999351 -1998 UNITED ST4 MFGR#1438 17360787 -1998 UNITED ST4 MFGR#1439 2557841 -1998 UNITED ST4 MFGR#144 22030911 -1998 UNITED ST4 MFGR#145 5272280 -1998 UNITED ST4 MFGR#146 4307958 -1998 UNITED ST4 MFGR#147 7995050 -1998 UNITED ST4 MFGR#148 2348889 -1998 UNITED ST5 MFGR#141 8396190 -1998 UNITED ST5 MFGR#1410 17422889 -1998 UNITED ST5 MFGR#1411 764246 -1998 UNITED ST5 MFGR#1413 8051561 -1998 UNITED ST5 MFGR#1414 1500867 -1998 UNITED ST5 MFGR#1416 3874315 -1998 UNITED ST5 MFGR#1417 7550747 -1998 UNITED ST5 MFGR#1418 14241755 -1998 UNITED ST5 MFGR#1419 4893846 -1998 UNITED ST5 MFGR#142 5418299 -1998 UNITED ST5 MFGR#1420 3810727 -1998 UNITED ST5 MFGR#1421 3321336 -1998 UNITED ST5 MFGR#1423 5021100 -1998 UNITED ST5 MFGR#1424 6125645 -1998 UNITED ST5 MFGR#1426 880680 -1998 UNITED ST5 MFGR#1427 1284890 -1998 UNITED ST5 MFGR#1428 3813108 -1998 UNITED ST5 MFGR#1429 9429868 -1998 UNITED ST5 MFGR#143 15699981 -1998 UNITED ST5 MFGR#1430 7977654 -1998 UNITED ST5 MFGR#1431 5545969 -1998 UNITED ST5 MFGR#1432 1803434 -1998 UNITED ST5 MFGR#1435 12957056 -1998 UNITED ST5 MFGR#1436 20666755 -1998 UNITED ST5 MFGR#1437 9536733 -1998 UNITED ST5 MFGR#1439 11784214 -1998 UNITED ST5 MFGR#1440 613089 -1998 UNITED ST5 MFGR#145 8237944 -1998 UNITED ST5 MFGR#147 5370351 -1998 UNITED ST6 MFGR#141 6683977 -1998 UNITED ST6 MFGR#1411 11589040 -1998 UNITED ST6 MFGR#1412 4800954 -1998 UNITED ST6 MFGR#1416 5848432 -1998 UNITED ST6 MFGR#1417 1804324 -1998 UNITED ST6 MFGR#1418 4642727 -1998 UNITED ST6 MFGR#1419 10079621 -1998 UNITED ST6 MFGR#142 2533570 -1998 UNITED ST6 MFGR#1420 9016258 -1998 UNITED ST6 MFGR#1421 7636150 -1998 UNITED ST6 MFGR#1422 1272436 -1998 UNITED ST6 MFGR#1423 9600097 -1998 UNITED ST6 MFGR#1424 7036762 -1998 UNITED ST6 MFGR#1425 10867426 -1998 UNITED ST6 MFGR#1426 7033994 -1998 UNITED ST6 MFGR#1427 6481679 -1998 UNITED ST6 MFGR#1428 6269185 -1998 UNITED ST6 MFGR#1429 12055631 -1998 UNITED ST6 MFGR#143 6500459 -1998 UNITED ST6 MFGR#1430 6816243 -1998 UNITED ST6 MFGR#1432 7752973 -1998 UNITED ST6 MFGR#1436 6292813 -1998 UNITED ST6 MFGR#1437 2334894 -1998 UNITED ST6 MFGR#1438 4459455 -1998 UNITED ST6 MFGR#144 640220 -1998 UNITED ST6 MFGR#1440 748200 -1998 UNITED ST6 MFGR#145 7948794 -1998 UNITED ST6 MFGR#146 2734333 -1998 UNITED ST6 MFGR#147 2995632 -1998 UNITED ST6 MFGR#148 10695287 -1998 UNITED ST6 MFGR#149 1475864 -1998 UNITED ST7 MFGR#141 4816637 -1998 UNITED ST7 MFGR#1410 24393912 -1998 UNITED ST7 MFGR#1411 1283038 -1998 UNITED ST7 MFGR#1412 12607459 -1998 UNITED ST7 MFGR#1413 15421293 -1998 UNITED ST7 MFGR#1414 7681668 -1998 UNITED ST7 MFGR#1415 7138377 -1998 UNITED ST7 MFGR#1416 9246990 -1998 UNITED ST7 MFGR#1417 5242972 -1998 UNITED ST7 MFGR#1419 13548941 -1998 UNITED ST7 MFGR#142 17758762 -1998 UNITED ST7 MFGR#1420 11980437 -1998 UNITED ST7 MFGR#1421 11166952 -1998 UNITED ST7 MFGR#1422 9231883 -1998 UNITED ST7 MFGR#1424 5796389 -1998 UNITED ST7 MFGR#1425 4943582 -1998 UNITED ST7 MFGR#1426 16361100 -1998 UNITED ST7 MFGR#1427 9659296 -1998 UNITED ST7 MFGR#1428 2998020 -1998 UNITED ST7 MFGR#1429 5766768 -1998 UNITED ST7 MFGR#143 5526167 -1998 UNITED ST7 MFGR#1430 4191892 -1998 UNITED ST7 MFGR#1431 12979559 -1998 UNITED ST7 MFGR#1432 5832068 -1998 UNITED ST7 MFGR#1433 11410227 -1998 UNITED ST7 MFGR#1434 10525792 -1998 UNITED ST7 MFGR#1435 5982420 -1998 UNITED ST7 MFGR#1436 7142934 -1998 UNITED ST7 MFGR#1437 7499671 -1998 UNITED ST7 MFGR#1438 9177564 -1998 UNITED ST7 MFGR#1439 1974444 -1998 UNITED ST7 MFGR#144 2428463 -1998 UNITED ST7 MFGR#1440 3300838 -1998 UNITED ST7 MFGR#146 1771645 -1998 UNITED ST7 MFGR#147 4681835 -1998 UNITED ST7 MFGR#148 7124367 -1998 UNITED ST7 MFGR#149 11662970 -1998 UNITED ST8 MFGR#141 12753354 -1998 UNITED ST8 MFGR#1410 1097292 -1998 UNITED ST8 MFGR#1411 4069881 -1998 UNITED ST8 MFGR#1414 9474831 -1998 UNITED ST8 MFGR#1415 6406304 -1998 UNITED ST8 MFGR#1418 2392133 -1998 UNITED ST8 MFGR#1419 2953230 -1998 UNITED ST8 MFGR#142 10702563 -1998 UNITED ST8 MFGR#1420 3719432 -1998 UNITED ST8 MFGR#1421 3854657 -1998 UNITED ST8 MFGR#1422 9711968 -1998 UNITED ST8 MFGR#1424 1102516 -1998 UNITED ST8 MFGR#1426 8937532 -1998 UNITED ST8 MFGR#1427 5255637 -1998 UNITED ST8 MFGR#1428 1695112 -1998 UNITED ST8 MFGR#143 6231349 -1998 UNITED ST8 MFGR#1430 4678664 -1998 UNITED ST8 MFGR#1431 2459741 -1998 UNITED ST8 MFGR#1433 1724339 -1998 UNITED ST8 MFGR#1434 8222328 -1998 UNITED ST8 MFGR#1435 4087165 -1998 UNITED ST8 MFGR#1437 7379288 -1998 UNITED ST8 MFGR#1439 1947163 -1998 UNITED ST8 MFGR#144 21846266 -1998 UNITED ST8 MFGR#146 13768113 -1998 UNITED ST8 MFGR#147 5279643 -1998 UNITED ST8 MFGR#149 15221410 -1998 UNITED ST9 MFGR#141 5544000 -1998 UNITED ST9 MFGR#1410 7971104 -1998 UNITED ST9 MFGR#1411 26426609 -1998 UNITED ST9 MFGR#1412 1701777 -1998 UNITED ST9 MFGR#1413 18786672 -1998 UNITED ST9 MFGR#1414 15787780 -1998 UNITED ST9 MFGR#1415 11214818 -1998 UNITED ST9 MFGR#1416 2076120 -1998 UNITED ST9 MFGR#1417 14310334 -1998 UNITED ST9 MFGR#1418 3558355 -1998 UNITED ST9 MFGR#1419 6134867 -1998 UNITED ST9 MFGR#142 257897 -1998 UNITED ST9 MFGR#1420 7716338 -1998 UNITED ST9 MFGR#1421 10291775 -1998 UNITED ST9 MFGR#1422 6105716 -1998 UNITED ST9 MFGR#1423 11378613 -1998 UNITED ST9 MFGR#1424 1904550 -1998 UNITED ST9 MFGR#1425 18831147 -1998 UNITED ST9 MFGR#1426 18562642 -1998 UNITED ST9 MFGR#1427 12565890 -1998 UNITED ST9 MFGR#1428 10720914 -1998 UNITED ST9 MFGR#1429 21940718 -1998 UNITED ST9 MFGR#143 21480722 -1998 UNITED ST9 MFGR#1430 30935173 -1998 UNITED ST9 MFGR#1431 7793012 -1998 UNITED ST9 MFGR#1432 10026104 -1998 UNITED ST9 MFGR#1433 17874435 -1998 UNITED ST9 MFGR#1434 5493785 -1998 UNITED ST9 MFGR#1435 10738769 -1998 UNITED ST9 MFGR#1436 43504 -1998 UNITED ST9 MFGR#1437 13559646 -1998 UNITED ST9 MFGR#1438 12654258 -1998 UNITED ST9 MFGR#1439 5972923 -1998 UNITED ST9 MFGR#144 15702123 -1998 UNITED ST9 MFGR#1440 6681029 -1998 UNITED ST9 MFGR#145 920718 -1998 UNITED ST9 MFGR#146 10435931 -1998 UNITED ST9 MFGR#147 4759326 -1998 UNITED ST9 MFGR#148 9970848 -1998 UNITED ST9 MFGR#149 7510940 +1992 UNITED ST0 MFGR#141 555641 +1992 UNITED ST0 MFGR#1411 7079182 +1992 UNITED ST0 MFGR#1412 2872721 +1992 UNITED ST0 MFGR#1413 5471501 +1992 UNITED ST0 MFGR#1414 6180491 +1992 UNITED ST0 MFGR#1415 3832532 +1992 UNITED ST0 MFGR#1417 5090445 +1992 UNITED ST0 MFGR#142 4603254 +1992 UNITED ST0 MFGR#1421 717404 +1992 UNITED ST0 MFGR#1422 6204274 +1992 UNITED ST0 MFGR#1424 5518896 +1992 UNITED ST0 MFGR#1425 5763764 +1992 UNITED ST0 MFGR#1427 6180274 +1992 UNITED ST0 MFGR#1432 6428730 +1992 UNITED ST0 MFGR#1433 833533 +1992 UNITED ST0 MFGR#1434 13713612 +1992 UNITED ST0 MFGR#145 13934235 +1992 UNITED ST2 MFGR#1411 758915 +1992 UNITED ST2 MFGR#142 4221010 +1992 UNITED ST2 MFGR#1421 4315917 +1992 UNITED ST2 MFGR#1424 57589 +1992 UNITED ST2 MFGR#1427 1685113 +1992 UNITED ST2 MFGR#143 1865250 +1992 UNITED ST2 MFGR#1430 6454140 +1992 UNITED ST3 MFGR#141 10985538 +1992 UNITED ST3 MFGR#1410 5661337 +1992 UNITED ST3 MFGR#1411 2913347 +1992 UNITED ST3 MFGR#1412 3456611 +1992 UNITED ST3 MFGR#1413 1843964 +1992 UNITED ST3 MFGR#1415 741657 +1992 UNITED ST3 MFGR#1416 12592059 +1992 UNITED ST3 MFGR#1417 343888 +1992 UNITED ST3 MFGR#1419 2221452 +1992 UNITED ST3 MFGR#142 579832 +1992 UNITED ST3 MFGR#1421 2176380 +1992 UNITED ST3 MFGR#1422 1841100 +1992 UNITED ST3 MFGR#1423 121681 +1992 UNITED ST3 MFGR#1425 3025877 +1992 UNITED ST3 MFGR#1426 2812288 +1992 UNITED ST3 MFGR#1427 7624182 +1992 UNITED ST3 MFGR#1428 9484717 +1992 UNITED ST3 MFGR#1429 13290434 +1992 UNITED ST3 MFGR#1430 5263185 +1992 UNITED ST3 MFGR#1431 1057990 +1992 UNITED ST3 MFGR#1433 3172704 +1992 UNITED ST3 MFGR#1436 3292838 +1992 UNITED ST3 MFGR#1438 10257150 +1992 UNITED ST3 MFGR#144 4992624 +1992 UNITED ST3 MFGR#145 4555258 +1992 UNITED ST3 MFGR#146 5155417 +1992 UNITED ST3 MFGR#147 6044237 +1992 UNITED ST3 MFGR#148 12453066 +1992 UNITED ST3 MFGR#149 4283724 +1992 UNITED ST6 MFGR#1413 4420349 +1992 UNITED ST6 MFGR#1415 6201665 +1992 UNITED ST6 MFGR#1416 2588026 +1992 UNITED ST6 MFGR#142 55047 +1992 UNITED ST6 MFGR#1420 1288451 +1992 UNITED ST6 MFGR#1421 2567818 +1992 UNITED ST6 MFGR#1423 583540 +1992 UNITED ST6 MFGR#1426 6446245 +1992 UNITED ST6 MFGR#1429 1693359 +1992 UNITED ST6 MFGR#1430 954778 +1992 UNITED ST6 MFGR#1436 2419392 +1992 UNITED ST6 MFGR#1437 7302587 +1992 UNITED ST6 MFGR#144 8794123 +1992 UNITED ST6 MFGR#1440 3993789 +1992 UNITED ST7 MFGR#141 6582861 +1992 UNITED ST7 MFGR#1411 692197 +1992 UNITED ST7 MFGR#1412 169740 +1992 UNITED ST7 MFGR#1413 4359125 +1992 UNITED ST7 MFGR#1420 2500664 +1992 UNITED ST7 MFGR#1424 5152200 +1992 UNITED ST7 MFGR#1426 8490217 +1992 UNITED ST7 MFGR#143 5620388 +1992 UNITED ST7 MFGR#1431 1235687 +1992 UNITED ST7 MFGR#1432 6829944 +1992 UNITED ST7 MFGR#1440 6253049 +1992 UNITED ST7 MFGR#145 3732260 +1992 UNITED ST7 MFGR#147 2421233 +1992 UNITED ST7 MFGR#149 1866816 +1992 UNITED ST9 MFGR#141 147955 +1992 UNITED ST9 MFGR#1413 5392214 +1992 UNITED ST9 MFGR#1414 6319659 +1992 UNITED ST9 MFGR#1415 1084942 +1992 UNITED ST9 MFGR#1416 9714488 +1992 UNITED ST9 MFGR#1421 5856389 +1992 UNITED ST9 MFGR#1422 5439287 +1992 UNITED ST9 MFGR#1423 7040305 +1992 UNITED ST9 MFGR#1426 6595331 +1992 UNITED ST9 MFGR#1428 446309 +1992 UNITED ST9 MFGR#1429 3993195 +1992 UNITED ST9 MFGR#143 2320022 +1992 UNITED ST9 MFGR#1433 8938527 +1992 UNITED ST9 MFGR#1434 3280337 +1992 UNITED ST9 MFGR#1435 11735187 +1992 UNITED ST9 MFGR#1438 2940085 +1992 UNITED ST9 MFGR#145 2145463 +1992 UNITED ST9 MFGR#147 5798259 +1992 UNITED ST9 MFGR#148 4292580 -- !query4_3_after -- -1997 UNITED ST0 MFGR#141 15456288 -1997 UNITED ST0 MFGR#1410 32961113 -1997 UNITED ST0 MFGR#1411 36166400 -1997 UNITED ST0 MFGR#1412 18237451 -1997 UNITED ST0 MFGR#1413 40752813 -1997 UNITED ST0 MFGR#1414 24237588 -1997 UNITED ST0 MFGR#1415 6419001 -1997 UNITED ST0 MFGR#1416 15639876 -1997 UNITED ST0 MFGR#1417 15476211 -1997 UNITED ST0 MFGR#1418 8169956 -1997 UNITED ST0 MFGR#1419 18217252 -1997 UNITED ST0 MFGR#142 29361222 -1997 UNITED ST0 MFGR#1420 34587603 -1997 UNITED ST0 MFGR#1421 28560921 -1997 UNITED ST0 MFGR#1422 25154181 -1997 UNITED ST0 MFGR#1423 18144008 -1997 UNITED ST0 MFGR#1424 28064267 -1997 UNITED ST0 MFGR#1425 15255845 -1997 UNITED ST0 MFGR#1426 5610353 -1997 UNITED ST0 MFGR#1427 5750693 -1997 UNITED ST0 MFGR#1428 14081707 -1997 UNITED ST0 MFGR#1429 9024512 -1997 UNITED ST0 MFGR#143 5325193 -1997 UNITED ST0 MFGR#1430 16961739 -1997 UNITED ST0 MFGR#1431 19015253 -1997 UNITED ST0 MFGR#1432 6324917 -1997 UNITED ST0 MFGR#1433 6734461 -1997 UNITED ST0 MFGR#1434 19206393 -1997 UNITED ST0 MFGR#1435 679925 -1997 UNITED ST0 MFGR#1436 13834012 -1997 UNITED ST0 MFGR#1437 23575407 -1997 UNITED ST0 MFGR#1438 24756074 -1997 UNITED ST0 MFGR#1439 19644072 -1997 UNITED ST0 MFGR#144 20285157 -1997 UNITED ST0 MFGR#1440 14068558 -1997 UNITED ST0 MFGR#145 22646138 -1997 UNITED ST0 MFGR#146 16381159 -1997 UNITED ST0 MFGR#147 12267827 -1997 UNITED ST0 MFGR#148 30968614 -1997 UNITED ST0 MFGR#149 8640669 -1997 UNITED ST1 MFGR#141 10152087 -1997 UNITED ST1 MFGR#1410 32583300 -1997 UNITED ST1 MFGR#1411 15690352 -1997 UNITED ST1 MFGR#1412 16671403 -1997 UNITED ST1 MFGR#1413 4942775 -1997 UNITED ST1 MFGR#1414 9391597 -1997 UNITED ST1 MFGR#1415 26937296 -1997 UNITED ST1 MFGR#1416 25782871 -1997 UNITED ST1 MFGR#1417 23349641 -1997 UNITED ST1 MFGR#1418 10934620 -1997 UNITED ST1 MFGR#1419 22673030 -1997 UNITED ST1 MFGR#142 14048276 -1997 UNITED ST1 MFGR#1420 18100795 -1997 UNITED ST1 MFGR#1421 25405678 -1997 UNITED ST1 MFGR#1423 5713800 -1997 UNITED ST1 MFGR#1424 4131923 -1997 UNITED ST1 MFGR#1425 17190425 -1997 UNITED ST1 MFGR#1426 22314044 -1997 UNITED ST1 MFGR#1427 13635057 -1997 UNITED ST1 MFGR#1428 17735811 -1997 UNITED ST1 MFGR#1429 28740911 -1997 UNITED ST1 MFGR#143 27418033 -1997 UNITED ST1 MFGR#1430 18655292 -1997 UNITED ST1 MFGR#1431 11074399 -1997 UNITED ST1 MFGR#1432 7490170 -1997 UNITED ST1 MFGR#1433 28997266 -1997 UNITED ST1 MFGR#1434 4612211 -1997 UNITED ST1 MFGR#1435 16327124 -1997 UNITED ST1 MFGR#1436 17409665 -1997 UNITED ST1 MFGR#1437 33391635 -1997 UNITED ST1 MFGR#1438 37321134 -1997 UNITED ST1 MFGR#1439 10279941 -1997 UNITED ST1 MFGR#144 12304723 -1997 UNITED ST1 MFGR#1440 28921230 -1997 UNITED ST1 MFGR#145 17933684 -1997 UNITED ST1 MFGR#146 8709103 -1997 UNITED ST1 MFGR#147 20145983 -1997 UNITED ST1 MFGR#148 16940400 -1997 UNITED ST1 MFGR#149 10284949 -1997 UNITED ST2 MFGR#1412 6328240 -1997 UNITED ST2 MFGR#1415 5022682 -1997 UNITED ST2 MFGR#1416 4102214 -1997 UNITED ST2 MFGR#1417 5284444 -1997 UNITED ST2 MFGR#1418 2649908 -1997 UNITED ST2 MFGR#1419 4664673 -1997 UNITED ST2 MFGR#142 10784835 -1997 UNITED ST2 MFGR#1423 4095190 -1997 UNITED ST2 MFGR#1424 5376355 -1997 UNITED ST2 MFGR#1425 3949957 -1997 UNITED ST2 MFGR#143 2859829 -1997 UNITED ST2 MFGR#1430 4618266 -1997 UNITED ST2 MFGR#1432 5183060 -1997 UNITED ST2 MFGR#1433 10531371 -1997 UNITED ST2 MFGR#1434 77646 -1997 UNITED ST2 MFGR#1436 6538508 -1997 UNITED ST2 MFGR#1438 12324747 -1997 UNITED ST2 MFGR#144 2002870 -1997 UNITED ST2 MFGR#1440 12247229 -1997 UNITED ST2 MFGR#145 202685 -1997 UNITED ST2 MFGR#148 5998932 -1997 UNITED ST3 MFGR#141 12866083 -1997 UNITED ST3 MFGR#1410 31051703 -1997 UNITED ST3 MFGR#1411 14099543 -1997 UNITED ST3 MFGR#1412 4970551 -1997 UNITED ST3 MFGR#1413 26129762 -1997 UNITED ST3 MFGR#1414 22364787 -1997 UNITED ST3 MFGR#1415 27883428 -1997 UNITED ST3 MFGR#1416 25289630 -1997 UNITED ST3 MFGR#1417 5524810 -1997 UNITED ST3 MFGR#1419 3616608 -1997 UNITED ST3 MFGR#142 10776059 -1997 UNITED ST3 MFGR#1420 12958851 -1997 UNITED ST3 MFGR#1421 5815494 -1997 UNITED ST3 MFGR#1422 17694270 -1997 UNITED ST3 MFGR#1423 10285142 -1997 UNITED ST3 MFGR#1424 21555317 -1997 UNITED ST3 MFGR#1425 5214517 -1997 UNITED ST3 MFGR#1426 16810700 -1997 UNITED ST3 MFGR#1427 10086430 -1997 UNITED ST3 MFGR#1428 7733716 -1997 UNITED ST3 MFGR#1429 11922430 -1997 UNITED ST3 MFGR#1430 20105292 -1997 UNITED ST3 MFGR#1431 14716979 -1997 UNITED ST3 MFGR#1432 15779247 -1997 UNITED ST3 MFGR#1433 15308773 -1997 UNITED ST3 MFGR#1434 8515037 -1997 UNITED ST3 MFGR#1435 25486899 -1997 UNITED ST3 MFGR#1436 12739448 -1997 UNITED ST3 MFGR#1437 11249180 -1997 UNITED ST3 MFGR#1438 4156824 -1997 UNITED ST3 MFGR#1439 18358277 -1997 UNITED ST3 MFGR#144 10097718 -1997 UNITED ST3 MFGR#1440 22920494 -1997 UNITED ST3 MFGR#145 20285859 -1997 UNITED ST3 MFGR#146 18406423 -1997 UNITED ST3 MFGR#147 17295990 -1997 UNITED ST3 MFGR#148 26127145 -1997 UNITED ST3 MFGR#149 19895538 -1997 UNITED ST4 MFGR#141 8135477 -1997 UNITED ST4 MFGR#1410 5503247 -1997 UNITED ST4 MFGR#1411 6096435 -1997 UNITED ST4 MFGR#1412 19976043 -1997 UNITED ST4 MFGR#1413 22581282 -1997 UNITED ST4 MFGR#1414 10101379 -1997 UNITED ST4 MFGR#1415 8877444 -1997 UNITED ST4 MFGR#1416 17943398 -1997 UNITED ST4 MFGR#1417 9224501 -1997 UNITED ST4 MFGR#1418 16255176 -1997 UNITED ST4 MFGR#1419 683069 -1997 UNITED ST4 MFGR#142 23512944 -1997 UNITED ST4 MFGR#1420 27954262 -1997 UNITED ST4 MFGR#1421 54209185 -1997 UNITED ST4 MFGR#1422 1173957 -1997 UNITED ST4 MFGR#1423 20410710 -1997 UNITED ST4 MFGR#1424 2889270 -1997 UNITED ST4 MFGR#1425 13361796 -1997 UNITED ST4 MFGR#1426 18678819 -1997 UNITED ST4 MFGR#1427 18206066 -1997 UNITED ST4 MFGR#1428 18153974 -1997 UNITED ST4 MFGR#1429 12545076 -1997 UNITED ST4 MFGR#143 6158834 -1997 UNITED ST4 MFGR#1430 16128370 -1997 UNITED ST4 MFGR#1431 11153717 -1997 UNITED ST4 MFGR#1432 7745636 -1997 UNITED ST4 MFGR#1433 15983634 -1997 UNITED ST4 MFGR#1434 3662246 -1997 UNITED ST4 MFGR#1435 3060180 -1997 UNITED ST4 MFGR#1436 11524592 -1997 UNITED ST4 MFGR#1437 36824174 -1997 UNITED ST4 MFGR#1438 8226666 -1997 UNITED ST4 MFGR#1439 9872470 -1997 UNITED ST4 MFGR#1440 401207 -1997 UNITED ST4 MFGR#145 11698312 -1997 UNITED ST4 MFGR#146 18259956 -1997 UNITED ST4 MFGR#147 10256110 -1997 UNITED ST4 MFGR#148 15892628 -1997 UNITED ST4 MFGR#149 4322491 -1997 UNITED ST5 MFGR#141 8534275 -1997 UNITED ST5 MFGR#1411 2427261 -1997 UNITED ST5 MFGR#1412 9032422 -1997 UNITED ST5 MFGR#1413 6343588 -1997 UNITED ST5 MFGR#1414 2961025 -1997 UNITED ST5 MFGR#1415 21186568 -1997 UNITED ST5 MFGR#1416 9354080 -1997 UNITED ST5 MFGR#1417 11786246 -1997 UNITED ST5 MFGR#1418 15297245 -1997 UNITED ST5 MFGR#1420 15787608 -1997 UNITED ST5 MFGR#1421 17858301 -1997 UNITED ST5 MFGR#1422 14080987 -1997 UNITED ST5 MFGR#1423 12535186 -1997 UNITED ST5 MFGR#1424 3221960 -1997 UNITED ST5 MFGR#1425 8950317 -1997 UNITED ST5 MFGR#1426 13161486 -1997 UNITED ST5 MFGR#1427 6149737 -1997 UNITED ST5 MFGR#1428 6796520 -1997 UNITED ST5 MFGR#1429 26026300 -1997 UNITED ST5 MFGR#143 6712572 -1997 UNITED ST5 MFGR#1430 16092131 -1997 UNITED ST5 MFGR#1431 3425291 -1997 UNITED ST5 MFGR#1432 14630175 -1997 UNITED ST5 MFGR#1433 4967585 -1997 UNITED ST5 MFGR#1434 6716261 -1997 UNITED ST5 MFGR#1435 6290790 -1997 UNITED ST5 MFGR#1436 6787699 -1997 UNITED ST5 MFGR#1437 6045168 -1997 UNITED ST5 MFGR#1438 1082877 -1997 UNITED ST5 MFGR#1439 5268611 -1997 UNITED ST5 MFGR#144 8900840 -1997 UNITED ST5 MFGR#1440 2644336 -1997 UNITED ST5 MFGR#145 18054844 -1997 UNITED ST5 MFGR#146 4893668 -1997 UNITED ST5 MFGR#147 9615891 -1997 UNITED ST5 MFGR#148 1426124 -1997 UNITED ST5 MFGR#149 7320726 -1997 UNITED ST6 MFGR#141 10051337 -1997 UNITED ST6 MFGR#1410 23352963 -1997 UNITED ST6 MFGR#1411 1537303 -1997 UNITED ST6 MFGR#1412 4332646 -1997 UNITED ST6 MFGR#1413 14686752 -1997 UNITED ST6 MFGR#1414 7226409 -1997 UNITED ST6 MFGR#1415 15062686 -1997 UNITED ST6 MFGR#1416 8606480 -1997 UNITED ST6 MFGR#1417 7662761 -1997 UNITED ST6 MFGR#1418 1810860 -1997 UNITED ST6 MFGR#1419 20179568 -1997 UNITED ST6 MFGR#142 15506072 -1997 UNITED ST6 MFGR#1420 3844271 -1997 UNITED ST6 MFGR#1421 10608709 -1997 UNITED ST6 MFGR#1422 16083699 -1997 UNITED ST6 MFGR#1423 6789571 -1997 UNITED ST6 MFGR#1424 17631950 -1997 UNITED ST6 MFGR#1425 8477221 -1997 UNITED ST6 MFGR#1426 16847029 -1997 UNITED ST6 MFGR#1428 17314796 -1997 UNITED ST6 MFGR#1429 19175871 -1997 UNITED ST6 MFGR#143 8775848 -1997 UNITED ST6 MFGR#1431 5319063 -1997 UNITED ST6 MFGR#1432 7875606 -1997 UNITED ST6 MFGR#1433 9305264 -1997 UNITED ST6 MFGR#1434 8050404 -1997 UNITED ST6 MFGR#1435 17585836 -1997 UNITED ST6 MFGR#1436 13745758 -1997 UNITED ST6 MFGR#1438 14536324 -1997 UNITED ST6 MFGR#1439 11451329 -1997 UNITED ST6 MFGR#144 10794837 -1997 UNITED ST6 MFGR#1440 5719238 -1997 UNITED ST6 MFGR#145 25449058 -1997 UNITED ST6 MFGR#146 17821996 -1997 UNITED ST6 MFGR#147 18922333 -1997 UNITED ST6 MFGR#148 10825718 -1997 UNITED ST6 MFGR#149 14950868 -1997 UNITED ST7 MFGR#141 8291476 -1997 UNITED ST7 MFGR#1410 4622953 -1997 UNITED ST7 MFGR#1411 14885507 -1997 UNITED ST7 MFGR#1412 19011375 -1997 UNITED ST7 MFGR#1413 31178370 -1997 UNITED ST7 MFGR#1414 16429613 -1997 UNITED ST7 MFGR#1415 3091832 -1997 UNITED ST7 MFGR#1416 17008243 -1997 UNITED ST7 MFGR#1417 15609283 -1997 UNITED ST7 MFGR#1418 5059394 -1997 UNITED ST7 MFGR#1419 7234721 -1997 UNITED ST7 MFGR#142 6898938 -1997 UNITED ST7 MFGR#1420 6426590 -1997 UNITED ST7 MFGR#1421 6043221 -1997 UNITED ST7 MFGR#1422 13273021 -1997 UNITED ST7 MFGR#1423 30537249 -1997 UNITED ST7 MFGR#1424 9224296 -1997 UNITED ST7 MFGR#1425 12799069 -1997 UNITED ST7 MFGR#1426 30277891 -1997 UNITED ST7 MFGR#1427 8331493 -1997 UNITED ST7 MFGR#1428 16205423 -1997 UNITED ST7 MFGR#1429 14396627 -1997 UNITED ST7 MFGR#143 10209623 -1997 UNITED ST7 MFGR#1430 16556758 -1997 UNITED ST7 MFGR#1431 15775327 -1997 UNITED ST7 MFGR#1432 24602989 -1997 UNITED ST7 MFGR#1433 22927717 -1997 UNITED ST7 MFGR#1434 9486462 -1997 UNITED ST7 MFGR#1435 14254290 -1997 UNITED ST7 MFGR#1436 8645365 -1997 UNITED ST7 MFGR#1437 19026166 -1997 UNITED ST7 MFGR#1438 11291550 -1997 UNITED ST7 MFGR#1439 9590292 -1997 UNITED ST7 MFGR#144 14110404 -1997 UNITED ST7 MFGR#1440 21877355 -1997 UNITED ST7 MFGR#145 8246717 -1997 UNITED ST7 MFGR#146 9785781 -1997 UNITED ST7 MFGR#147 13412691 -1997 UNITED ST7 MFGR#148 14235939 -1997 UNITED ST7 MFGR#149 23450309 -1997 UNITED ST8 MFGR#141 7323416 -1997 UNITED ST8 MFGR#1410 7191961 -1997 UNITED ST8 MFGR#1411 2425849 -1997 UNITED ST8 MFGR#1412 26725641 -1997 UNITED ST8 MFGR#1413 7915896 -1997 UNITED ST8 MFGR#1414 14359044 -1997 UNITED ST8 MFGR#1415 15834927 -1997 UNITED ST8 MFGR#1416 7464470 -1997 UNITED ST8 MFGR#1417 15274496 -1997 UNITED ST8 MFGR#1418 3261391 -1997 UNITED ST8 MFGR#1419 8020386 -1997 UNITED ST8 MFGR#142 5985550 -1997 UNITED ST8 MFGR#1420 9441461 -1997 UNITED ST8 MFGR#1421 2998735 -1997 UNITED ST8 MFGR#1423 1565415 -1997 UNITED ST8 MFGR#1424 5613094 -1997 UNITED ST8 MFGR#1425 7186734 -1997 UNITED ST8 MFGR#1426 3153117 -1997 UNITED ST8 MFGR#1427 11303043 -1997 UNITED ST8 MFGR#1428 3564003 -1997 UNITED ST8 MFGR#143 6357477 -1997 UNITED ST8 MFGR#1430 6633950 -1997 UNITED ST8 MFGR#1431 867285 -1997 UNITED ST8 MFGR#1432 9962884 -1997 UNITED ST8 MFGR#1433 13708011 -1997 UNITED ST8 MFGR#1434 7357067 -1997 UNITED ST8 MFGR#1435 11993453 -1997 UNITED ST8 MFGR#1436 7231938 -1997 UNITED ST8 MFGR#1437 18632056 -1997 UNITED ST8 MFGR#1438 3609384 -1997 UNITED ST8 MFGR#144 4822734 -1997 UNITED ST8 MFGR#1440 2521917 -1997 UNITED ST8 MFGR#145 11683385 -1997 UNITED ST8 MFGR#146 3350415 -1997 UNITED ST8 MFGR#147 8425393 -1997 UNITED ST8 MFGR#148 15005341 -1997 UNITED ST8 MFGR#149 9018101 -1997 UNITED ST9 MFGR#141 21838850 -1997 UNITED ST9 MFGR#1410 8455387 -1997 UNITED ST9 MFGR#1411 27984689 -1997 UNITED ST9 MFGR#1412 26491401 -1997 UNITED ST9 MFGR#1413 30237705 -1997 UNITED ST9 MFGR#1414 8957476 -1997 UNITED ST9 MFGR#1415 35391583 -1997 UNITED ST9 MFGR#1416 8923782 -1997 UNITED ST9 MFGR#1417 3210984 -1997 UNITED ST9 MFGR#1418 12102607 -1997 UNITED ST9 MFGR#1419 14468627 -1997 UNITED ST9 MFGR#142 33363582 -1997 UNITED ST9 MFGR#1420 13139731 -1997 UNITED ST9 MFGR#1421 8410650 -1997 UNITED ST9 MFGR#1422 11268410 -1997 UNITED ST9 MFGR#1423 2846614 -1997 UNITED ST9 MFGR#1424 2305872 -1997 UNITED ST9 MFGR#1425 4896060 -1997 UNITED ST9 MFGR#1426 31544772 -1997 UNITED ST9 MFGR#1427 4113085 -1997 UNITED ST9 MFGR#1428 11137081 -1997 UNITED ST9 MFGR#1429 10633230 -1997 UNITED ST9 MFGR#143 11438203 -1997 UNITED ST9 MFGR#1430 2727389 -1997 UNITED ST9 MFGR#1431 10548538 -1997 UNITED ST9 MFGR#1433 26564495 -1997 UNITED ST9 MFGR#1434 11948206 -1997 UNITED ST9 MFGR#1435 2201909 -1997 UNITED ST9 MFGR#1436 10347631 -1997 UNITED ST9 MFGR#1437 40051690 -1997 UNITED ST9 MFGR#1438 2662945 -1997 UNITED ST9 MFGR#1439 18011455 -1997 UNITED ST9 MFGR#144 10202784 -1997 UNITED ST9 MFGR#1440 11123196 -1997 UNITED ST9 MFGR#145 11326624 -1997 UNITED ST9 MFGR#146 27825456 -1997 UNITED ST9 MFGR#147 17579502 -1997 UNITED ST9 MFGR#148 17001116 -1998 UNITED ST0 MFGR#141 12484786 -1998 UNITED ST0 MFGR#1410 5225999 -1998 UNITED ST0 MFGR#1411 2633395 -1998 UNITED ST0 MFGR#1412 9479536 -1998 UNITED ST0 MFGR#1413 18468711 -1998 UNITED ST0 MFGR#1414 19440601 -1998 UNITED ST0 MFGR#1415 16894643 -1998 UNITED ST0 MFGR#1416 7520117 -1998 UNITED ST0 MFGR#1417 464576 -1998 UNITED ST0 MFGR#1418 5171747 -1998 UNITED ST0 MFGR#1419 5970985 -1998 UNITED ST0 MFGR#142 23830409 -1998 UNITED ST0 MFGR#1420 2568835 -1998 UNITED ST0 MFGR#1421 6096442 -1998 UNITED ST0 MFGR#1422 10099456 -1998 UNITED ST0 MFGR#1423 24617746 -1998 UNITED ST0 MFGR#1424 22853888 -1998 UNITED ST0 MFGR#1425 25622112 -1998 UNITED ST0 MFGR#1426 9630701 -1998 UNITED ST0 MFGR#1427 4952625 -1998 UNITED ST0 MFGR#1428 4675471 -1998 UNITED ST0 MFGR#1429 19713527 -1998 UNITED ST0 MFGR#143 4971265 -1998 UNITED ST0 MFGR#1430 13948705 -1998 UNITED ST0 MFGR#1431 2955181 -1998 UNITED ST0 MFGR#1432 17946759 -1998 UNITED ST0 MFGR#1433 23325027 -1998 UNITED ST0 MFGR#1434 8580738 -1998 UNITED ST0 MFGR#1435 6663914 -1998 UNITED ST0 MFGR#1436 13468582 -1998 UNITED ST0 MFGR#1437 9419979 -1998 UNITED ST0 MFGR#1438 16164522 -1998 UNITED ST0 MFGR#1439 8692866 -1998 UNITED ST0 MFGR#144 17338711 -1998 UNITED ST0 MFGR#1440 8513736 -1998 UNITED ST0 MFGR#145 6212569 -1998 UNITED ST0 MFGR#146 2702349 -1998 UNITED ST0 MFGR#149 8844540 -1998 UNITED ST1 MFGR#141 13449110 -1998 UNITED ST1 MFGR#1410 5224626 -1998 UNITED ST1 MFGR#1411 16046399 -1998 UNITED ST1 MFGR#1412 8424392 -1998 UNITED ST1 MFGR#1413 7634982 -1998 UNITED ST1 MFGR#1414 8711782 -1998 UNITED ST1 MFGR#1415 5991201 -1998 UNITED ST1 MFGR#1416 11059645 -1998 UNITED ST1 MFGR#1417 8108087 -1998 UNITED ST1 MFGR#1418 1710875 -1998 UNITED ST1 MFGR#1419 452298 -1998 UNITED ST1 MFGR#142 6186526 -1998 UNITED ST1 MFGR#1421 4766963 -1998 UNITED ST1 MFGR#1422 5556563 -1998 UNITED ST1 MFGR#1423 12110257 -1998 UNITED ST1 MFGR#1424 8924948 -1998 UNITED ST1 MFGR#1425 5684710 -1998 UNITED ST1 MFGR#1426 6844444 -1998 UNITED ST1 MFGR#1427 7625525 -1998 UNITED ST1 MFGR#1428 5227395 -1998 UNITED ST1 MFGR#1429 2855272 -1998 UNITED ST1 MFGR#143 6964811 -1998 UNITED ST1 MFGR#1430 16952380 -1998 UNITED ST1 MFGR#1431 7655883 -1998 UNITED ST1 MFGR#1432 2975960 -1998 UNITED ST1 MFGR#1433 10175594 -1998 UNITED ST1 MFGR#1434 26358848 -1998 UNITED ST1 MFGR#1435 11408623 -1998 UNITED ST1 MFGR#1436 4438242 -1998 UNITED ST1 MFGR#1437 10014906 -1998 UNITED ST1 MFGR#1438 18817171 -1998 UNITED ST1 MFGR#1439 2129973 -1998 UNITED ST1 MFGR#144 9512727 -1998 UNITED ST1 MFGR#1440 20185179 -1998 UNITED ST1 MFGR#145 823605 -1998 UNITED ST1 MFGR#146 9358026 -1998 UNITED ST1 MFGR#147 6552312 -1998 UNITED ST1 MFGR#148 9144461 -1998 UNITED ST1 MFGR#149 2149639 -1998 UNITED ST2 MFGR#1410 8044368 -1998 UNITED ST2 MFGR#1413 727343 -1998 UNITED ST2 MFGR#1414 251088 -1998 UNITED ST2 MFGR#1416 5224696 -1998 UNITED ST2 MFGR#1419 7917142 -1998 UNITED ST2 MFGR#1420 9848986 -1998 UNITED ST2 MFGR#1427 4816976 -1998 UNITED ST2 MFGR#1429 4196069 -1998 UNITED ST2 MFGR#143 10073044 -1998 UNITED ST2 MFGR#1431 877123 -1998 UNITED ST2 MFGR#1433 3740836 -1998 UNITED ST2 MFGR#1434 857691 -1998 UNITED ST2 MFGR#1435 2277870 -1998 UNITED ST2 MFGR#145 4906521 -1998 UNITED ST2 MFGR#149 842348 -1998 UNITED ST3 MFGR#141 4181582 -1998 UNITED ST3 MFGR#1410 3169761 -1998 UNITED ST3 MFGR#1412 6590440 -1998 UNITED ST3 MFGR#1413 2015369 -1998 UNITED ST3 MFGR#1414 4408466 -1998 UNITED ST3 MFGR#1415 3963826 -1998 UNITED ST3 MFGR#1416 3179540 -1998 UNITED ST3 MFGR#1417 11440999 -1998 UNITED ST3 MFGR#1418 8725751 -1998 UNITED ST3 MFGR#1419 10646990 -1998 UNITED ST3 MFGR#142 5056172 -1998 UNITED ST3 MFGR#1420 3583150 -1998 UNITED ST3 MFGR#1421 7085689 -1998 UNITED ST3 MFGR#1422 20858904 -1998 UNITED ST3 MFGR#1423 12825743 -1998 UNITED ST3 MFGR#1424 3533518 -1998 UNITED ST3 MFGR#1425 4938324 -1998 UNITED ST3 MFGR#1426 15164664 -1998 UNITED ST3 MFGR#1427 2619162 -1998 UNITED ST3 MFGR#1428 7723699 -1998 UNITED ST3 MFGR#143 24362893 -1998 UNITED ST3 MFGR#1430 7139650 -1998 UNITED ST3 MFGR#1431 10306394 -1998 UNITED ST3 MFGR#1432 14769004 -1998 UNITED ST3 MFGR#1433 9610545 -1998 UNITED ST3 MFGR#1435 6611760 -1998 UNITED ST3 MFGR#1436 941348 -1998 UNITED ST3 MFGR#1437 4802162 -1998 UNITED ST3 MFGR#1438 5079750 -1998 UNITED ST3 MFGR#1439 5905118 -1998 UNITED ST3 MFGR#144 5436839 -1998 UNITED ST3 MFGR#1440 9815517 -1998 UNITED ST3 MFGR#145 7580271 -1998 UNITED ST3 MFGR#146 14051404 -1998 UNITED ST3 MFGR#147 7786017 -1998 UNITED ST3 MFGR#149 1271813 -1998 UNITED ST4 MFGR#141 26703183 -1998 UNITED ST4 MFGR#1410 18094129 -1998 UNITED ST4 MFGR#1411 615999 -1998 UNITED ST4 MFGR#1412 13988709 -1998 UNITED ST4 MFGR#1413 10115647 -1998 UNITED ST4 MFGR#1414 1586551 -1998 UNITED ST4 MFGR#1415 14357244 -1998 UNITED ST4 MFGR#1416 9430036 -1998 UNITED ST4 MFGR#1417 17361773 -1998 UNITED ST4 MFGR#1418 10187338 -1998 UNITED ST4 MFGR#1419 7116094 -1998 UNITED ST4 MFGR#142 18454502 -1998 UNITED ST4 MFGR#1420 1621340 -1998 UNITED ST4 MFGR#1422 13861291 -1998 UNITED ST4 MFGR#1423 4208006 -1998 UNITED ST4 MFGR#1424 3242576 -1998 UNITED ST4 MFGR#1425 1470642 -1998 UNITED ST4 MFGR#1426 11987205 -1998 UNITED ST4 MFGR#1427 12975399 -1998 UNITED ST4 MFGR#1428 11756155 -1998 UNITED ST4 MFGR#1429 6956191 -1998 UNITED ST4 MFGR#143 11499476 -1998 UNITED ST4 MFGR#1430 4355096 -1998 UNITED ST4 MFGR#1431 20166612 -1998 UNITED ST4 MFGR#1432 8849789 -1998 UNITED ST4 MFGR#1433 10786037 -1998 UNITED ST4 MFGR#1435 13208151 -1998 UNITED ST4 MFGR#1436 4747808 -1998 UNITED ST4 MFGR#1437 12999351 -1998 UNITED ST4 MFGR#1438 17360787 -1998 UNITED ST4 MFGR#1439 2557841 -1998 UNITED ST4 MFGR#144 22030911 -1998 UNITED ST4 MFGR#145 5272280 -1998 UNITED ST4 MFGR#146 4307958 -1998 UNITED ST4 MFGR#147 7995050 -1998 UNITED ST4 MFGR#148 2348889 -1998 UNITED ST5 MFGR#141 8396190 -1998 UNITED ST5 MFGR#1410 17422889 -1998 UNITED ST5 MFGR#1411 764246 -1998 UNITED ST5 MFGR#1413 8051561 -1998 UNITED ST5 MFGR#1414 1500867 -1998 UNITED ST5 MFGR#1416 3874315 -1998 UNITED ST5 MFGR#1417 7550747 -1998 UNITED ST5 MFGR#1418 14241755 -1998 UNITED ST5 MFGR#1419 4893846 -1998 UNITED ST5 MFGR#142 5418299 -1998 UNITED ST5 MFGR#1420 3810727 -1998 UNITED ST5 MFGR#1421 3321336 -1998 UNITED ST5 MFGR#1423 5021100 -1998 UNITED ST5 MFGR#1424 6125645 -1998 UNITED ST5 MFGR#1426 880680 -1998 UNITED ST5 MFGR#1427 1284890 -1998 UNITED ST5 MFGR#1428 3813108 -1998 UNITED ST5 MFGR#1429 9429868 -1998 UNITED ST5 MFGR#143 15699981 -1998 UNITED ST5 MFGR#1430 7977654 -1998 UNITED ST5 MFGR#1431 5545969 -1998 UNITED ST5 MFGR#1432 1803434 -1998 UNITED ST5 MFGR#1435 12957056 -1998 UNITED ST5 MFGR#1436 20666755 -1998 UNITED ST5 MFGR#1437 9536733 -1998 UNITED ST5 MFGR#1439 11784214 -1998 UNITED ST5 MFGR#1440 613089 -1998 UNITED ST5 MFGR#145 8237944 -1998 UNITED ST5 MFGR#147 5370351 -1998 UNITED ST6 MFGR#141 6683977 -1998 UNITED ST6 MFGR#1411 11589040 -1998 UNITED ST6 MFGR#1412 4800954 -1998 UNITED ST6 MFGR#1416 5848432 -1998 UNITED ST6 MFGR#1417 1804324 -1998 UNITED ST6 MFGR#1418 4642727 -1998 UNITED ST6 MFGR#1419 10079621 -1998 UNITED ST6 MFGR#142 2533570 -1998 UNITED ST6 MFGR#1420 9016258 -1998 UNITED ST6 MFGR#1421 7636150 -1998 UNITED ST6 MFGR#1422 1272436 -1998 UNITED ST6 MFGR#1423 9600097 -1998 UNITED ST6 MFGR#1424 7036762 -1998 UNITED ST6 MFGR#1425 10867426 -1998 UNITED ST6 MFGR#1426 7033994 -1998 UNITED ST6 MFGR#1427 6481679 -1998 UNITED ST6 MFGR#1428 6269185 -1998 UNITED ST6 MFGR#1429 12055631 -1998 UNITED ST6 MFGR#143 6500459 -1998 UNITED ST6 MFGR#1430 6816243 -1998 UNITED ST6 MFGR#1432 7752973 -1998 UNITED ST6 MFGR#1436 6292813 -1998 UNITED ST6 MFGR#1437 2334894 -1998 UNITED ST6 MFGR#1438 4459455 -1998 UNITED ST6 MFGR#144 640220 -1998 UNITED ST6 MFGR#1440 748200 -1998 UNITED ST6 MFGR#145 7948794 -1998 UNITED ST6 MFGR#146 2734333 -1998 UNITED ST6 MFGR#147 2995632 -1998 UNITED ST6 MFGR#148 10695287 -1998 UNITED ST6 MFGR#149 1475864 -1998 UNITED ST7 MFGR#141 4816637 -1998 UNITED ST7 MFGR#1410 24393912 -1998 UNITED ST7 MFGR#1411 1283038 -1998 UNITED ST7 MFGR#1412 12607459 -1998 UNITED ST7 MFGR#1413 15421293 -1998 UNITED ST7 MFGR#1414 7681668 -1998 UNITED ST7 MFGR#1415 7138377 -1998 UNITED ST7 MFGR#1416 9246990 -1998 UNITED ST7 MFGR#1417 5242972 -1998 UNITED ST7 MFGR#1419 13548941 -1998 UNITED ST7 MFGR#142 17758762 -1998 UNITED ST7 MFGR#1420 11980437 -1998 UNITED ST7 MFGR#1421 11166952 -1998 UNITED ST7 MFGR#1422 9231883 -1998 UNITED ST7 MFGR#1424 5796389 -1998 UNITED ST7 MFGR#1425 4943582 -1998 UNITED ST7 MFGR#1426 16361100 -1998 UNITED ST7 MFGR#1427 9659296 -1998 UNITED ST7 MFGR#1428 2998020 -1998 UNITED ST7 MFGR#1429 5766768 -1998 UNITED ST7 MFGR#143 5526167 -1998 UNITED ST7 MFGR#1430 4191892 -1998 UNITED ST7 MFGR#1431 12979559 -1998 UNITED ST7 MFGR#1432 5832068 -1998 UNITED ST7 MFGR#1433 11410227 -1998 UNITED ST7 MFGR#1434 10525792 -1998 UNITED ST7 MFGR#1435 5982420 -1998 UNITED ST7 MFGR#1436 7142934 -1998 UNITED ST7 MFGR#1437 7499671 -1998 UNITED ST7 MFGR#1438 9177564 -1998 UNITED ST7 MFGR#1439 1974444 -1998 UNITED ST7 MFGR#144 2428463 -1998 UNITED ST7 MFGR#1440 3300838 -1998 UNITED ST7 MFGR#146 1771645 -1998 UNITED ST7 MFGR#147 4681835 -1998 UNITED ST7 MFGR#148 7124367 -1998 UNITED ST7 MFGR#149 11662970 -1998 UNITED ST8 MFGR#141 12753354 -1998 UNITED ST8 MFGR#1410 1097292 -1998 UNITED ST8 MFGR#1411 4069881 -1998 UNITED ST8 MFGR#1414 9474831 -1998 UNITED ST8 MFGR#1415 6406304 -1998 UNITED ST8 MFGR#1418 2392133 -1998 UNITED ST8 MFGR#1419 2953230 -1998 UNITED ST8 MFGR#142 10702563 -1998 UNITED ST8 MFGR#1420 3719432 -1998 UNITED ST8 MFGR#1421 3854657 -1998 UNITED ST8 MFGR#1422 9711968 -1998 UNITED ST8 MFGR#1424 1102516 -1998 UNITED ST8 MFGR#1426 8937532 -1998 UNITED ST8 MFGR#1427 5255637 -1998 UNITED ST8 MFGR#1428 1695112 -1998 UNITED ST8 MFGR#143 6231349 -1998 UNITED ST8 MFGR#1430 4678664 -1998 UNITED ST8 MFGR#1431 2459741 -1998 UNITED ST8 MFGR#1433 1724339 -1998 UNITED ST8 MFGR#1434 8222328 -1998 UNITED ST8 MFGR#1435 4087165 -1998 UNITED ST8 MFGR#1437 7379288 -1998 UNITED ST8 MFGR#1439 1947163 -1998 UNITED ST8 MFGR#144 21846266 -1998 UNITED ST8 MFGR#146 13768113 -1998 UNITED ST8 MFGR#147 5279643 -1998 UNITED ST8 MFGR#149 15221410 -1998 UNITED ST9 MFGR#141 5544000 -1998 UNITED ST9 MFGR#1410 7971104 -1998 UNITED ST9 MFGR#1411 26426609 -1998 UNITED ST9 MFGR#1412 1701777 -1998 UNITED ST9 MFGR#1413 18786672 -1998 UNITED ST9 MFGR#1414 15787780 -1998 UNITED ST9 MFGR#1415 11214818 -1998 UNITED ST9 MFGR#1416 2076120 -1998 UNITED ST9 MFGR#1417 14310334 -1998 UNITED ST9 MFGR#1418 3558355 -1998 UNITED ST9 MFGR#1419 6134867 -1998 UNITED ST9 MFGR#142 257897 -1998 UNITED ST9 MFGR#1420 7716338 -1998 UNITED ST9 MFGR#1421 10291775 -1998 UNITED ST9 MFGR#1422 6105716 -1998 UNITED ST9 MFGR#1423 11378613 -1998 UNITED ST9 MFGR#1424 1904550 -1998 UNITED ST9 MFGR#1425 18831147 -1998 UNITED ST9 MFGR#1426 18562642 -1998 UNITED ST9 MFGR#1427 12565890 -1998 UNITED ST9 MFGR#1428 10720914 -1998 UNITED ST9 MFGR#1429 21940718 -1998 UNITED ST9 MFGR#143 21480722 -1998 UNITED ST9 MFGR#1430 30935173 -1998 UNITED ST9 MFGR#1431 7793012 -1998 UNITED ST9 MFGR#1432 10026104 -1998 UNITED ST9 MFGR#1433 17874435 -1998 UNITED ST9 MFGR#1434 5493785 -1998 UNITED ST9 MFGR#1435 10738769 -1998 UNITED ST9 MFGR#1436 43504 -1998 UNITED ST9 MFGR#1437 13559646 -1998 UNITED ST9 MFGR#1438 12654258 -1998 UNITED ST9 MFGR#1439 5972923 -1998 UNITED ST9 MFGR#144 15702123 -1998 UNITED ST9 MFGR#1440 6681029 -1998 UNITED ST9 MFGR#145 920718 -1998 UNITED ST9 MFGR#146 10435931 -1998 UNITED ST9 MFGR#147 4759326 -1998 UNITED ST9 MFGR#148 9970848 -1998 UNITED ST9 MFGR#149 7510940 +1992 UNITED ST0 MFGR#141 555641 +1992 UNITED ST0 MFGR#1411 7079182 +1992 UNITED ST0 MFGR#1412 2872721 +1992 UNITED ST0 MFGR#1413 5471501 +1992 UNITED ST0 MFGR#1414 6180491 +1992 UNITED ST0 MFGR#1415 3832532 +1992 UNITED ST0 MFGR#1417 5090445 +1992 UNITED ST0 MFGR#142 4603254 +1992 UNITED ST0 MFGR#1421 717404 +1992 UNITED ST0 MFGR#1422 6204274 +1992 UNITED ST0 MFGR#1424 5518896 +1992 UNITED ST0 MFGR#1425 5763764 +1992 UNITED ST0 MFGR#1427 6180274 +1992 UNITED ST0 MFGR#1432 6428730 +1992 UNITED ST0 MFGR#1433 833533 +1992 UNITED ST0 MFGR#1434 13713612 +1992 UNITED ST0 MFGR#145 13934235 +1992 UNITED ST2 MFGR#1411 758915 +1992 UNITED ST2 MFGR#142 4221010 +1992 UNITED ST2 MFGR#1421 4315917 +1992 UNITED ST2 MFGR#1424 57589 +1992 UNITED ST2 MFGR#1427 1685113 +1992 UNITED ST2 MFGR#143 1865250 +1992 UNITED ST2 MFGR#1430 6454140 +1992 UNITED ST3 MFGR#141 10985538 +1992 UNITED ST3 MFGR#1410 5661337 +1992 UNITED ST3 MFGR#1411 2913347 +1992 UNITED ST3 MFGR#1412 3456611 +1992 UNITED ST3 MFGR#1413 1843964 +1992 UNITED ST3 MFGR#1415 741657 +1992 UNITED ST3 MFGR#1416 12592059 +1992 UNITED ST3 MFGR#1417 343888 +1992 UNITED ST3 MFGR#1419 2221452 +1992 UNITED ST3 MFGR#142 579832 +1992 UNITED ST3 MFGR#1421 2176380 +1992 UNITED ST3 MFGR#1422 1841100 +1992 UNITED ST3 MFGR#1423 121681 +1992 UNITED ST3 MFGR#1425 3025877 +1992 UNITED ST3 MFGR#1426 2812288 +1992 UNITED ST3 MFGR#1427 7624182 +1992 UNITED ST3 MFGR#1428 9484717 +1992 UNITED ST3 MFGR#1429 13290434 +1992 UNITED ST3 MFGR#1430 5263185 +1992 UNITED ST3 MFGR#1431 1057990 +1992 UNITED ST3 MFGR#1433 3172704 +1992 UNITED ST3 MFGR#1436 3292838 +1992 UNITED ST3 MFGR#1438 10257150 +1992 UNITED ST3 MFGR#144 4992624 +1992 UNITED ST3 MFGR#145 4555258 +1992 UNITED ST3 MFGR#146 5155417 +1992 UNITED ST3 MFGR#147 6044237 +1992 UNITED ST3 MFGR#148 12453066 +1992 UNITED ST3 MFGR#149 4283724 +1992 UNITED ST6 MFGR#1413 4420349 +1992 UNITED ST6 MFGR#1415 6201665 +1992 UNITED ST6 MFGR#1416 2588026 +1992 UNITED ST6 MFGR#142 55047 +1992 UNITED ST6 MFGR#1420 1288451 +1992 UNITED ST6 MFGR#1421 2567818 +1992 UNITED ST6 MFGR#1423 583540 +1992 UNITED ST6 MFGR#1426 6446245 +1992 UNITED ST6 MFGR#1429 1693359 +1992 UNITED ST6 MFGR#1430 954778 +1992 UNITED ST6 MFGR#1436 2419392 +1992 UNITED ST6 MFGR#1437 7302587 +1992 UNITED ST6 MFGR#144 8794123 +1992 UNITED ST6 MFGR#1440 3993789 +1992 UNITED ST7 MFGR#141 6582861 +1992 UNITED ST7 MFGR#1411 692197 +1992 UNITED ST7 MFGR#1412 169740 +1992 UNITED ST7 MFGR#1413 4359125 +1992 UNITED ST7 MFGR#1420 2500664 +1992 UNITED ST7 MFGR#1424 5152200 +1992 UNITED ST7 MFGR#1426 8490217 +1992 UNITED ST7 MFGR#143 5620388 +1992 UNITED ST7 MFGR#1431 1235687 +1992 UNITED ST7 MFGR#1432 6829944 +1992 UNITED ST7 MFGR#1440 6253049 +1992 UNITED ST7 MFGR#145 3732260 +1992 UNITED ST7 MFGR#147 2421233 +1992 UNITED ST7 MFGR#149 1866816 +1992 UNITED ST9 MFGR#141 147955 +1992 UNITED ST9 MFGR#1413 5392214 +1992 UNITED ST9 MFGR#1414 6319659 +1992 UNITED ST9 MFGR#1415 1084942 +1992 UNITED ST9 MFGR#1416 9714488 +1992 UNITED ST9 MFGR#1421 5856389 +1992 UNITED ST9 MFGR#1422 5439287 +1992 UNITED ST9 MFGR#1423 7040305 +1992 UNITED ST9 MFGR#1426 6595331 +1992 UNITED ST9 MFGR#1428 446309 +1992 UNITED ST9 MFGR#1429 3993195 +1992 UNITED ST9 MFGR#143 2320022 +1992 UNITED ST9 MFGR#1433 8938527 +1992 UNITED ST9 MFGR#1434 3280337 +1992 UNITED ST9 MFGR#1435 11735187 +1992 UNITED ST9 MFGR#1438 2940085 +1992 UNITED ST9 MFGR#145 2145463 +1992 UNITED ST9 MFGR#147 5798259 +1992 UNITED ST9 MFGR#148 4292580 diff --git a/regression-test/suites/nereids_rules_p0/mv/ssb/mv_ssb_test.groovy b/regression-test/suites/nereids_rules_p0/mv/ssb/mv_ssb_test.groovy index 17849eea2cbf88..a80690a7bbef5a 100644 --- a/regression-test/suites/nereids_rules_p0/mv/ssb/mv_ssb_test.groovy +++ b/regression-test/suites/nereids_rules_p0/mv/ssb/mv_ssb_test.groovy @@ -61,7 +61,7 @@ suite("mv_ssb_test") { // relate to ${DORIS_HOME}/regression-test/data/demo/streamload_input.csv. // also, you can stream load a http stream, e.g. http://xxx/some.csv - file """${getS3Url()}/regression/ssb/sf1/${tableName}.tbl.gz""" + file """${getS3Url()}/regression/ssb/sf0.1/${tableName}.tbl.gz""" time 10000 // limit inflight 10s @@ -358,7 +358,7 @@ suite("mv_ssb_test") { OR c_city='UNITED KI5') AND (s_city='UNITED KI1' OR s_city='UNITED KI5') - AND d_yearmonth = 'Dec1997' + AND d_yearmonth = 'Jul1992' GROUP BY c_city, s_city, d_year ORDER BY d_year ASC, REVENUE DESC; """ @@ -373,7 +373,7 @@ suite("mv_ssb_test") { OR c_city='UNITED KI5') AND (s_city='UNITED KI1' OR s_city='UNITED KI5') - AND d_yearmonth = 'Dec1997' + AND d_yearmonth = 'Jul1992' GROUP BY c_city, s_city, d_year ORDER BY d_year ASC, REVENUE DESC; """ @@ -428,7 +428,7 @@ suite("mv_ssb_test") { AND lo_orderdate = d_datekey AND c_region = 'AMERICA' AND s_region = 'AMERICA' - AND (d_year = 1997 OR d_year = 1998) + AND (d_year = 1992 OR d_year = 1993) AND (p_mfgr = 'MFGR#1' OR p_mfgr = 'MFGR#2') GROUP BY d_year, s_nation, p_category @@ -444,7 +444,7 @@ suite("mv_ssb_test") { AND lo_orderdate = d_datekey AND c_region = 'AMERICA' AND s_region = 'AMERICA' - AND (d_year = 1997 OR d_year = 1998) + AND (d_year = 1992 OR d_year = 1993) AND (p_mfgr = 'MFGR#1' OR p_mfgr = 'MFGR#2') GROUP BY d_year, s_nation, p_category @@ -465,7 +465,7 @@ suite("mv_ssb_test") { AND lo_partkey = p_partkey AND lo_orderdate = d_datekey AND s_nation = 'UNITED STATES' - AND (d_year = 1997 OR d_year = 1998) + AND (d_year = 1992 OR d_year = 1993) AND p_category = 'MFGR#14' GROUP BY d_year, s_city, p_brand ORDER BY d_year, s_city, p_brand; @@ -479,7 +479,7 @@ suite("mv_ssb_test") { AND lo_partkey = p_partkey AND lo_orderdate = d_datekey AND s_nation = 'UNITED STATES' - AND (d_year = 1997 OR d_year = 1998) + AND (d_year = 1992 OR d_year = 1993) AND p_category = 'MFGR#14' GROUP BY d_year, s_city, p_brand ORDER BY d_year, s_city, p_brand; From b2738496b7994dc6800703c1fd076d9b20a19542 Mon Sep 17 00:00:00 2001 From: Tiewei Fang <43782773+BePPPower@users.noreply.github.com> Date: Wed, 4 Sep 2024 16:00:17 +0800 Subject: [PATCH 037/199] [enhencement](sample) add delta and kudu samples (#40067) --- samples/datalake/deltalake_and_kudu/README.md | 147 ++++++++ .../_delta_log/00000000000000000000.json | 7 + ...44ca-aed8-93ed65c19492-c000.snappy.parquet | Bin 0 -> 392744 bytes ...4e2c-9e6f-5ac6a59ee91d-c000.snappy.parquet | Bin 0 -> 392284 bytes ...46a7-b231-400a174b520c-c000.snappy.parquet | Bin 0 -> 390594 bytes ...4fbe-95c9-2012fd9dbaed-c000.snappy.parquet | Bin 0 -> 389205 bytes .../deltalake_and_kudu/login-doris.sh | 20 ++ .../deltalake_and_kudu/login-spark.sh | 20 ++ .../scripts/create-delta-table.sh | 37 ++ .../deltalake_and_kudu/scripts/doris-sql.sql | 20 ++ .../deltalake_and_kudu/scripts/spark-delta.sh | 36 ++ .../scripts/spark-delta.sql | 1 + .../deltalake_and_kudu/scripts/start_doris.sh | 28 ++ .../start-trinoconnector-compose.sh | 181 ++++++++++ .../stop-trinoconnector-compose.sh | 22 ++ .../trinoconnector-compose.env | 22 ++ .../trinoconnector-compose.yml | 323 ++++++++++++++++++ 17 files changed, 864 insertions(+) create mode 100644 samples/datalake/deltalake_and_kudu/README.md create mode 100644 samples/datalake/deltalake_and_kudu/data/customer/_delta_log/00000000000000000000.json create mode 100644 samples/datalake/deltalake_and_kudu/data/customer/part-00000-44ff362c-110d-44ca-aed8-93ed65c19492-c000.snappy.parquet create mode 100644 samples/datalake/deltalake_and_kudu/data/customer/part-00001-749ded2d-a84b-4e2c-9e6f-5ac6a59ee91d-c000.snappy.parquet create mode 100644 samples/datalake/deltalake_and_kudu/data/customer/part-00002-137a1b68-bafd-46a7-b231-400a174b520c-c000.snappy.parquet create mode 100644 samples/datalake/deltalake_and_kudu/data/customer/part-00003-75203d54-ef95-4fbe-95c9-2012fd9dbaed-c000.snappy.parquet create mode 100755 samples/datalake/deltalake_and_kudu/login-doris.sh create mode 100755 samples/datalake/deltalake_and_kudu/login-spark.sh create mode 100644 samples/datalake/deltalake_and_kudu/scripts/create-delta-table.sh create mode 100644 samples/datalake/deltalake_and_kudu/scripts/doris-sql.sql create mode 100755 samples/datalake/deltalake_and_kudu/scripts/spark-delta.sh create mode 100644 samples/datalake/deltalake_and_kudu/scripts/spark-delta.sql create mode 100755 samples/datalake/deltalake_and_kudu/scripts/start_doris.sh create mode 100755 samples/datalake/deltalake_and_kudu/start-trinoconnector-compose.sh create mode 100755 samples/datalake/deltalake_and_kudu/stop-trinoconnector-compose.sh create mode 100644 samples/datalake/deltalake_and_kudu/trinoconnector-compose.env create mode 100644 samples/datalake/deltalake_and_kudu/trinoconnector-compose.yml diff --git a/samples/datalake/deltalake_and_kudu/README.md b/samples/datalake/deltalake_and_kudu/README.md new file mode 100644 index 00000000000000..382a20ee0e4a2d --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/README.md @@ -0,0 +1,147 @@ + + +# Doris + DeltaLake + Kudu + MINIO Environments +Launch spark / doris / hive / deltalake / kudu /minio test environments, and give examples to query deltalake and kudu tables in Doris. + +## Launch Docker Compose +**Create Network** +```shell +sudo docker network create -d bridge trinoconnector-net +``` +**Launch all components in docker** +```shell +sudo sh start-trinoconnector-compose.sh +``` +**Login into Spark** +```shell +sudo sh login-spark.sh +``` +**Login into Doris** +```shell +sudo sh login-doris.sh +``` + +## Prepare DeltaLake Data +There's already a deltalake table named `customer` in default database. + +## Create Catalog +The Doris Cluster has created two catalogs called `delta_lake` and `kudu_catalog`. You can view both of them by using the `SHOW CATALOGS` command or the `SHOW CREATE CATALOG ${catalog_name}` command after you log in to the Doris. Here are the creation statements for the two catalogs: + +```sql +-- The catalog has been created, and no further action is required. +create catalog delta_lake properties ( + "type"="trino-connector", + "trino.connector.name"="delta_lake", + "trino.hive.metastore.uri"="thrift://hive-metastore:9083", + "trino.hive.s3.endpoint"="http://minio:9000", + "trino.hive.s3.region"="us-east-1", + "trino.hive.s3.aws-access-key"="minio", + "trino.hive.s3.aws-secret-key"="minio123", + "trino.hive.s3.path-style-access"="true" +); + +-- The catalog has been created, and no further action is required. +CREATE CATALOG `kudu_catalog` PROPERTIES ( + "type" = "trino-connector", + "trino.connector.name" = "kudu", + "trino.kudu.authentication.type" = "NONE", + "trino.kudu.client.master-addresses" = "kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251" +); +``` + +## Query Catalog Data +The data of `Delta Lake` and `Kudu` have been prepared in Doris Cluster. You can select these data directly in Doris. + +- select Delta Lake data + +```sql +mysql> switch delta_lake; +Query OK, 0 rows affected (0.00 sec) + +mysql> use default; +Reading table information for completion of table and column names +You can turn off this feature to get a quicker startup with -A + +Database changed +mysql> select * from customer limit 10; ++-----------+--------------------+------------------------------------+-------------+-----------------+-----------+--------------+---------------------------------------------------------------------------------------------------------------+ +| c_custkey | c_name | c_address | c_nationkey | c_phone | c_acctbal | c_mktsegment | c_comment | ++-----------+--------------------+------------------------------------+-------------+-----------------+-----------+--------------+---------------------------------------------------------------------------------------------------------------+ +| 2 | Customer#000000002 | XSTf4,NCwDVaWNe6tEgvwfmRchLXak | 13 | 23-768-687-3665 | 121.65 | AUTOMOBILE | l accounts. blithely ironic theodolites integrate boldly: caref | +| 34 | Customer#000000034 | Q6G9wZ6dnczmtOx509xgE,M2KV | 15 | 25-344-968-5422 | 8589.70 | HOUSEHOLD | nder against the even, pending accounts. even | +| 66 | Customer#000000066 | XbsEqXH1ETbJYYtA1A | 22 | 32-213-373-5094 | 242.77 | HOUSEHOLD | le slyly accounts. carefully silent packages benea | +| 98 | Customer#000000098 | 7yiheXNSpuEAwbswDW | 12 | 22-885-845-6889 | -551.37 | BUILDING | ages. furiously pending accounts are quickly carefully final foxes: busily pe | +| 130 | Customer#000000130 | RKPx2OfZy0Vn 8wGWZ7F2EAvmMORl1k8iH | 9 | 19-190-993-9281 | 5073.58 | HOUSEHOLD | ix slowly. express packages along the furiously ironic requests integrate daringly deposits. fur | +| 162 | Customer#000000162 | JE398sXZt2QuKXfJd7poNpyQFLFtth | 8 | 18-131-101-2267 | 6268.99 | MACHINERY | accounts along the doggedly special asymptotes boost blithely during the quickly regular theodolites. slyly | +| 194 | Customer#000000194 | mksKhdWuQ1pjbc4yffHp8rRmLOMcJ | 16 | 26-597-636-3003 | 6696.49 | HOUSEHOLD | quickly across the fluffily dogged requests. regular platelets around the ironic, even requests cajole quickl | +| 226 | Customer#000000226 | ToEmqB90fM TkLqyEgX8MJ8T8NkK | 3 | 13-452-318-7709 | 9008.61 | AUTOMOBILE | ic packages. ideas cajole furiously slyly special theodolites: carefully express pinto beans acco | +| 258 | Customer#000000258 | 7VbADek8qYezQYotxNUmnNI | 12 | 22-278-425-9944 | 6022.27 | MACHINERY | about the regular, bold accounts; pending packages use furiously stealthy warhorses. bold accounts sleep fur | +| 290 | Customer#000000290 | 8OlPT9G 8UqVXmVZNbmxVTPO8 | 4 | 14-458-625-5633 | 1811.35 | MACHINERY | sts. blithely pending requests sleep fluffily on the regular excuses. carefully expre | ++-----------+--------------------+------------------------------------+-------------+-----------------+-----------+--------------+---------------------------------------------------------------------------------------------------------------+ +10 rows in set (0.12 sec) +``` + +- select Kudu data + +```sql +mysql> switch kudu_catalog; +Query OK, 0 rows affected (0.00 sec) + +mysql> use default; +Reading table information for completion of table and column names +You can turn off this feature to get a quicker startup with -A + +Database changed + +mysql> select * from test_table limit 10; ++------+----------+--------+ +| key | value | added | ++------+----------+--------+ +| 0 | NULL | 12.345 | +| 4 | NULL | 12.345 | +| 20 | NULL | 12.345 | +| 26 | NULL | 12.345 | +| 29 | value 29 | 12.345 | +| 42 | NULL | 12.345 | +| 50 | NULL | 12.345 | +| 56 | NULL | 12.345 | +| 66 | NULL | 12.345 | +| 74 | NULL | 12.345 | ++------+----------+--------+ +10 rows in set (1.49 sec) +``` + +- federation query + +```sql +mysql> select * from delta_lake.`default`.customer c join kudu_catalog.`default`.test_table t on c.c_custkey = t.`key` where c.c_custkey < 50; ++-----------+--------------------+---------------------------------------+-------------+-----------------+-----------+--------------+--------------------------------------------------------------------------------------------------------+------+----------+--------+ +| c_custkey | c_name | c_address | c_nationkey | c_phone | c_acctbal | c_mktsegment | c_comment | key | value | added | ++-----------+--------------------+---------------------------------------+-------------+-----------------+-----------+--------------+--------------------------------------------------------------------------------------------------------+------+----------+--------+ +| 1 | Customer#000000001 | IVhzIApeRb ot,c,E | 15 | 25-989-741-2988 | 711.56 | BUILDING | to the even, regular platelets. regular, ironic epitaphs nag e | 1 | value 1 | 12.345 | +| 33 | Customer#000000033 | qFSlMuLucBmx9xnn5ib2csWUweg D | 17 | 27-375-391-1280 | -78.56 | AUTOMOBILE | s. slyly regular accounts are furiously. carefully pending requests | 33 | value 33 | 12.345 | +| 3 | Customer#000000003 | MG9kdTD2WBHm | 1 | 11-719-748-3364 | 7498.12 | AUTOMOBILE | deposits eat slyly ironic, even instructions. express foxes detect slyly. blithely even accounts abov | 3 | value 3 | 12.345 | +| 35 | Customer#000000035 | TEjWGE4nBzJL2 | 17 | 27-566-888-7431 | 1228.24 | HOUSEHOLD | requests. special, express requests nag slyly furiousl | 35 | value 35 | 12.345 | +| 2 | Customer#000000002 | XSTf4,NCwDVaWNe6tEgvwfmRchLXak | 13 | 23-768-687-3665 | 121.65 | AUTOMOBILE | l accounts. blithely ironic theodolites integrate boldly: caref | 2 | NULL | 12.345 | +| 34 | Customer#000000034 | Q6G9wZ6dnczmtOx509xgE,M2KV | 15 | 25-344-968-5422 | 8589.70 | HOUSEHOLD | nder against the even, pending accounts. even | 34 | NULL | 12.345 | +| 32 | Customer#000000032 | jD2xZzi UmId,DCtNBLXKj9q0Tlp2iQ6ZcO3J | 15 | 25-430-914-2194 | 3471.53 | BUILDING | cial ideas. final, furious requests across the e | 32 | NULL | 12.345 | ++-----------+--------------------+---------------------------------------+-------------+-----------------+-----------+--------------+--------------------------------------------------------------------------------------------------------+------+----------+--------+ +7 rows in set (0.13 sec) +``` diff --git a/samples/datalake/deltalake_and_kudu/data/customer/_delta_log/00000000000000000000.json b/samples/datalake/deltalake_and_kudu/data/customer/_delta_log/00000000000000000000.json new file mode 100644 index 00000000000000..a5d9fc6052bd21 --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/data/customer/_delta_log/00000000000000000000.json @@ -0,0 +1,7 @@ +{"commitInfo":{"timestamp":1724747485883,"operation":"WRITE","operationParameters":{"mode":"ErrorIfExists","partitionBy":"[]"},"isolationLevel":"Serializable","isBlindAppend":true,"operationMetrics":{"numFiles":"4","numOutputRows":"18751","numOutputBytes":"1564827"},"engineInfo":"Apache-Spark/3.4.2 Delta-Lake/2.4.0","txnId":"1646d68c-f6f2-4da5-a9bf-56318b2b7216"}} +{"protocol":{"minReaderVersion":1,"minWriterVersion":2}} +{"metaData":{"id":"421eb35b-e9ec-44ed-92fd-25e0fda91036","format":{"provider":"parquet","options":{}},"schemaString":"{\"type\":\"struct\",\"fields\":[{\"name\":\"c_custkey\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c_address\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c_nationkey\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c_phone\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c_acctbal\",\"type\":\"decimal(12,2)\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c_mktsegment\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"c_comment\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}}]}","partitionColumns":[],"configuration":{},"createdTime":1724747483772}} +{"add":{"path":"part-00000-44ff362c-110d-44ca-aed8-93ed65c19492-c000.snappy.parquet","partitionValues":{},"size":392744,"modificationTime":1724747485000,"dataChange":true,"stats":"{\"numRecords\":4688,\"minValues\":{\"c_custkey\":2,\"c_name\":\"Customer#000000002\",\"c_address\":\" UfkcgKnrSL0VRSDuuXjXW,\",\"c_nationkey\":0,\"c_phone\":\"10-103-318-6809\",\"c_acctbal\":-998.90,\"c_mktsegment\":\"AUTOMOBILE\",\"c_comment\":\" Tiresias detect always about \"},\"maxValues\":{\"c_custkey\":149986,\"c_name\":\"Customer#000149986\",\"c_address\":\"zyTHzirSOvDeqwIs4R7qn76825FPYr8Y�\",\"c_nationkey\":24,\"c_phone\":\"34-999-195-7029\",\"c_acctbal\":9994.63,\"c_mktsegment\":\"MACHINERY\",\"c_comment\":\"ze! special, even deposits nag q�\"},\"nullCount\":{\"c_custkey\":0,\"c_name\":0,\"c_address\":0,\"c_nationkey\":0,\"c_phone\":0,\"c_acctbal\":0,\"c_mktsegment\":0,\"c_comment\":0}}"}} +{"add":{"path":"part-00001-749ded2d-a84b-4e2c-9e6f-5ac6a59ee91d-c000.snappy.parquet","partitionValues":{},"size":392284,"modificationTime":1724747485000,"dataChange":true,"stats":"{\"numRecords\":4687,\"minValues\":{\"c_custkey\":32,\"c_name\":\"Customer#000000032\",\"c_address\":\" FjVZqAg2Pd9jhTN8pVD4DkvmxlCxMm\",\"c_nationkey\":0,\"c_phone\":\"10-105-777-9167\",\"c_acctbal\":-994.43,\"c_mktsegment\":\"AUTOMOBILE\",\"c_comment\":\" about the fluffily bold ideas. \"},\"maxValues\":{\"c_custkey\":149984,\"c_name\":\"Customer#000149984\",\"c_address\":\"zz5LSqGU2QoyQTcMzkOxVqWrHedmhqQ6�\",\"c_nationkey\":24,\"c_phone\":\"34-997-204-5897\",\"c_acctbal\":9998.01,\"c_mktsegment\":\"MACHINERY\",\"c_comment\":\"zzle quickly bold packages. sile�\"},\"nullCount\":{\"c_custkey\":0,\"c_name\":0,\"c_address\":0,\"c_nationkey\":0,\"c_phone\":0,\"c_acctbal\":0,\"c_mktsegment\":0,\"c_comment\":0}}"}} +{"add":{"path":"part-00002-137a1b68-bafd-46a7-b231-400a174b520c-c000.snappy.parquet","partitionValues":{},"size":390594,"modificationTime":1724747485000,"dataChange":true,"stats":"{\"numRecords\":4688,\"minValues\":{\"c_custkey\":1,\"c_name\":\"Customer#000000001\",\"c_address\":\" NUi8asf651zG096JTGeXdh\",\"c_nationkey\":0,\"c_phone\":\"10-100-220-4520\",\"c_acctbal\":-999.55,\"c_mktsegment\":\"AUTOMOBILE\",\"c_comment\":\" Tiresias detect slyly according\"},\"maxValues\":{\"c_custkey\":149985,\"c_name\":\"Customer#000149985\",\"c_address\":\"zzbUlYAy9rhCprBVHlzA\",\"c_nationkey\":24,\"c_phone\":\"34-999-363-7145\",\"c_acctbal\":9997.80,\"c_mktsegment\":\"MACHINERY\",\"c_comment\":\"zzle blithely against the carefu�\"},\"nullCount\":{\"c_custkey\":0,\"c_name\":0,\"c_address\":0,\"c_nationkey\":0,\"c_phone\":0,\"c_acctbal\":0,\"c_mktsegment\":0,\"c_comment\":0}}"}} +{"add":{"path":"part-00003-75203d54-ef95-4fbe-95c9-2012fd9dbaed-c000.snappy.parquet","partitionValues":{},"size":389205,"modificationTime":1724747485000,"dataChange":true,"stats":"{\"numRecords\":4688,\"minValues\":{\"c_custkey\":3,\"c_name\":\"Customer#000000003\",\"c_address\":\" 821GWWou3sOyp,\",\"c_nationkey\":0,\"c_phone\":\"10-105-204-5643\",\"c_acctbal\":-999.95,\"c_mktsegment\":\"AUTOMOBILE\",\"c_comment\":\" about the fluffily regular asym\"},\"maxValues\":{\"c_custkey\":149987,\"c_name\":\"Customer#000149987\",\"c_address\":\"zwrbKxxY yL Go\",\"c_nationkey\":24,\"c_phone\":\"34-999-283-6448\",\"c_acctbal\":9997.73,\"c_mktsegment\":\"MACHINERY\",\"c_comment\":\"ymptotes. unusual theodolites ab�\"},\"nullCount\":{\"c_custkey\":0,\"c_name\":0,\"c_address\":0,\"c_nationkey\":0,\"c_phone\":0,\"c_acctbal\":0,\"c_mktsegment\":0,\"c_comment\":0}}"}} diff --git a/samples/datalake/deltalake_and_kudu/data/customer/part-00000-44ff362c-110d-44ca-aed8-93ed65c19492-c000.snappy.parquet b/samples/datalake/deltalake_and_kudu/data/customer/part-00000-44ff362c-110d-44ca-aed8-93ed65c19492-c000.snappy.parquet new file mode 100644 index 0000000000000000000000000000000000000000..db5f6570c5cfec9a231995388d7693c66b724035 GIT binary patch literal 392744 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ར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

m!%0hMlh&MQ9v-LVYa&c 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 >F6-)=!`Myb>?l|*o&8q8N+6NU%x;42l0|z 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≺4aR!P~V|tV0s+LmZXiO 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%0A>1U3OgVKKm53G@eMN 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

@3}-bT)mg8%LZKyph2H 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

84a79qjWh#t%6#)emTe;AXu-}{z) z39rN8Hmrm~9U^X#!-i`Uye-KS$~)H!@9a9EP78z43{CzRk}0R9>1@ zyG2gB#SwR8zkp3v+XSDfY_cI?+pN^)ngTMeldQY=N=+=RtBqoG^FTje6xciy-j)>_ z<`C*k4lB@GcR=KCjq7cENUo=a-%E{cEif$gw<%1LEy#iF8TH95YM*9 z;KlUSw}YAn#KR4X`c+H=@i}0Dq<;x17jLmV(M?Kn`I&rQZ=p6Zfk_alg$NgMIp>2B z^ENfpk;#hl<@-QViA{lac>=!YrI#lI36XP(JWUJT9_~2}{Q3d|QW{SIvUk7j-p(dg zywG+jo`2)$`{Va~_q;=Ob3c=^Bp^Es}PV z0YdZku6;DF7IfRgoBskznB6SzZ$8CAMiP{KJykR6Br%kFNbcI_qI{a}!)g!uC=yW3 zo^$f)qmvz%t2KaL+YlB}M&p0==$}54>j(;BD*~2fF1$%}5av$AC;!!B)@acapuRVo zd9W{JVQ!x#edU!`Y!d z)j2sN(>hV-OHP49yt1OG@n-4B>9R&97**emew74zl9`y-?qrkmjk`Hd_W>A#;8fSo zV?7Y-+n@W*LZKcDcfZ8?YPM|cr4Ui*-GA8Uhyp>-&~b&OCjd=@w4~`gUX0!2$8P@d z1F@6&aP4DOk&r&{Y;P#k^Rq2!+Kq?U0j%pH}8TQg3@E0F{cr8E0Ifhq=#Y zmYOVY{?^-!jGier6_%zv5bl<~`PC4z_Bp?^lnEke$?0sgdcASj?G8JC@HVmz4UW5D z$?6w=5a>OSo%Pocr-@I8uD{|LdnK|y8?LvP&+hHSkZ`hV8D+bcIZmA!D2H-ekh9*7 z{@gb|qBVzxIcg~PH3u*_f_||=A!^5*jg&mXp_BQe%`QMGw+?sXvr_G|32}f_R^h2F zCSJm_xci1jedKqXv&|y}v`Nh>B0sq3f=~geE);wsc6b2)Ff z){FFgDpKQs<*E?A<=XVp)JwEH4!|hd>5|Ew2nt)VOKcW=Y7~D|&oKa>7fZ9fDjSot zq!^G{;mzNCbPAUNo-D$uK9p2+km%d=x4lmrHOyTQv#UXkY7A;aZ&f{C3?bOckK_e- zGbD^=vg5BGz54p+T_(xl7@uV}&0PTDw1$S_p&1;uj9tlcA?Z=5z`7(uz5P;`fjSH~;QoLvGY;#lka-d-9on0|G}Z zivc-m%(4rS7{IHp9F0KXXODc{hyzcRy; z9s#3XSwLsG7H|GUzf_tb6qe08r;m2e*r&|_$&WA)YBq4OoQ}|u%==j5Q?Ri#P80kv zC6)PldG|}Ywukx=IR)N?baI0o@S=!lI{Ix7h~U!ki&WRmJfs8e$NuL%(nHvQfOO+k z?g!Ufxk1dVt|_6-l)G~i|(@4OyPU7?MXAzxk&65wmD>{gWd$iNrd+wXk+ zt)i^^K2jAkpaCLr^Iys^dmAPjM4;53IjEo_=#2GC{qZ)32re^)N6&_y z*q|8bp_ZMrrD#WuYV6P_za__4Oc^s&-HcJ*U)!cdukp*2jVXPm+;ESN_F&PIIq)?o zbJ|$PW+l6dF$U6aqmOYihK3C{K>o8BtAT0l>6(sWfO;J!hDVh?SUnc`==Z+yEaR5) zJeVUu7S z=?yXZ*cH!ib;0HA^ZyIpw5r($$UJsX}&%W+f`4k#}*J8PF4}%3_+3sKrg>&=$ zZ;$DWa#JMkmmYVU*V;8KbxCn z1q!?W%VfRLMVT(q3(yhSK4+VPU$ox+HFat5y#}^iJ32Sa&6nPduhVOy9f6+TZBG*K z1;dr}8+I^9|77%Zu@@vU^k@+yJ0K#tHnye40}DK9fL?9~H=EPJw-DEP18k0sBLtf= zTHJo;M+oO&^Z-Y2&Ai#_)0h9rwy>qg%uJDIF{Khu$s(rZ4RQ0AnkCe2rx6n=uriAU zLfBclU+c(L*sVO}aQkase-$Ax?TB+|g*fMZv$<{$Te#8fj~ZP4_AOjam*7?z16}Ao zFtY)7&{A6OeQebP@io6r$ZLxzbE2i%`|Qbuh#TD~*b9VzYwD8uMN6 zi3Jo2=YoeufU>-z$4QcaqWCo5Pqq?D3GlkUa$7x_Hx>_+e;m@=7=UAMzw(=&TFt_! z{b_UdS!{n9cwb3pUJRAh39+S?ICA5G4%3zXwi$iM0-$5}z^u z?inOPOLOe*UCMXoL6l@RPH`wLfWqXWOQ$miyl464vsZF2P26y%a^?||6)}5huk5f} zG?D|K10L;(A-Qj*VddG4XX6f~TY$j(E%)#Mi7H?ER(eQ23F$RVy3((vc*~Y6ObaeZ# z9?4*SA?dxgQAKIDH|rjT&OP&^)E128u@88iMOJwiX7qh;yb?Y5-yF_!M_;iAjF1EO zC@jw|d}vFEeG`+jt0j`g+&@lw$dc%Nrh`FpXCd4Ma;xC{AX=XEJ<+GWmifMSGe5*9 zR?E4NcfghyMm54bGrBCg$-bg+#CfMm3-Th))_Y+YfzHd!rD1*^=2nd3a7sl>`F`i@ z566XQv?jzgoZ@`Ee&Y65*hiOOFg?%*@&Fkqm*&QN;X*MfWAr(>FEo=csH+fbD1Y*x zTipZw+SXzlkh4i$=V%LNLt)4KIS8ntJ1C|+jHZ#{ckG2mu;B62NY}n^5Sp%!9zO3#> zSl)%(YeAkSxidbEPOr(Zs;Iy^v4E3+0`}wf5^l2FFSCye7(Bi`u$n%;pDa-J$dadJeQ{GtV!g_?eG4&-p?1u z?lOhSK8lEPCQO1ov2S+3dY)EYq>g^#BkzaJ9=XsSh2#`)n4xiOfajh(Ac($`B3nMO z(_wSQ3hfQ%uRUaIQbnK!E9A$!zkuRLc5%U)bGBQ0qv>lGnAKrZ+?SxL+;w`A&C(@v>co(%9ASt3*1JYD7F=5NU7trf6%$qBO;iRD%(tv@F?RM6{ZVvMxoWWV3O(zG<%K=Tpm(a~x38(v@ z^I1=)M!lWdvwEo7GanX&Mwny4m+yDgnzlhOJ~~%kc zDc6A!5$FWgG8BXGa4$LtYIS@2$y~S`)H%Hu`mMpvWOva+?+Wz1iwYa8+aDPd!aO|F z>+8ymt+^@Q{pZxOKL!~V7)&yW_^rRT)b-r1M!)L;#m|}+XtQGl<=82;xP8s+QE9%I)8Ylcu8O7Bi)&;Y zNDGj@K#siY^HK07oTl1azRe17s5u@#!Rx(`;rs9ay3yz{Uw z3c!~V5S)*L|A_KbnVpVfDk2o*$xqAE?Y^>Q+!VC&mb{RTA4|($_~l1A5&$<^p4kZ_ z0J{FLxclqRwGFg{DYk=4VF^!h3LGR0DC#Ye!&Y}T(J(%z$^!Z9D4&H%#$plHrV*?X z$t<3wZO&FKJ4vF^=E0-uMhc4}%(`Oky4s~1p6o&#s#PncfgY%_oeQCMiCG`APMWZM z@`v9F$5*^Bkz>)^{mj!CMKhsG^p%fWDS?WNsAGCCl~W7DkgQHG=%+^?dClJ0lG+*Y z1_W5j*aY_hG8Y8(P6)k8KXxZrZrd@5riqW~8XVmh7e>03AAqeG5ND)*B`SOEmF}uq zaJOIj++R))`f{T~Vs6!;5>4py=0g=O5Kp0Febj0)n!{(j3{z_Az?9_XUqFA2i(xxH zb`Jh>n1~zn>u>PCoLh+l92>)U;BrNkbdLYD(`X7wY9R3JMsLys3HFLsZi zZH**mwf7PjrZAv~+3j0@S}%;Nbee@O_Q9KvAiBo@1Hj$QGjoQo5#e_DZMp2jYU^lU zme6-x&Wv8ZPPAlKTtTt6fAZk@;^=sNxr`td@3!a}mlyf9FTE)!*~LED)$L|N2BLH~ z?6>yLH`6x!B27VQdrBy89KQ@m(i{6U)x)=={_a3CIdRlk7) zJBv?uqaT0$-JQd5fTvG45l)t>mWaV#WjHx?0{X3(>q~9l@8;s|U(g$xVmTJ>04~Wp1bNHpkDd9tziP8Bj9_#^pK@k&Q&>B3U3c zJvqZ;tnvN3f7BdtTU*y0>oRrZ5)p;Wui69xED`5aTkYnZCQys!Y=h~INiP*ytWba- zp{;@M$7xM`_2}X2`uaSE-aV8lCxYCN=iTNUgx|<4pB^JY^*}MUIh`sb6cAy*_xvpJ zVW?#)G&#bVS?;!qmp5*`k` z*0oCu5B}Dx-;P^BDCwx$!tXO4G;k1I*#?erj>WOr+AuWfe)bIfP=N^>0E*=osJ!C2 zemr;bdL~dhpTrDU8oO_6$Dh;mN;2Pb*pM@mj4RSMub4f1WLlE-z$u z3-KYeG`-!zJmJmE=i6ykw15)s+-~iEL-75NnNw`-O)E3nYmeDPQa=<`kk-+!^1=j+|wLRnZEiy)B>M@KdHd~k3WTCL8o{u18GM<;%?o(X4?ga7h(zg;Zm+PUAJ zWXpjKZ;0J}`q_HLrSwkH0rjC&K0~atj&vo62$1VCE?)c=f!P*7Z&)`ti!foj?I6`Q`n}_~ zh;3~w;9Y;Z8$JB&RP&?toeEjG$I$; z^T20A;^fI!H4vj{xEwfKe$kk%cWx8iAFm4dOgzzi{*O&!`Ka$RJ?m#uN@gb zq=R|T1$sEr;{FW8*Spu7L7KEeVTlM$OnZuEk_~^7j++%@C&1i!@jVYM1_O(Cp2NQL z$#=fbOBG}pDL%G)5`psetY3~(gqW$@!yfB!9z)S|QIPHzM?c8C;>#6pXC>rF^EsAK zC%BCuOgV|ccQwby9Qb}rXY(O2Ul-l^{(9)wds$4Y5}PgYdO87to@nCar$^s2u{~)5 ziL?NUfpJG?#B2>77JU)?aC1dd81p2;cs5DZE)~gmaRLl_=E5Uj*nI+xfT1yaM6>o`;_g#%01*YbwvtDHcHY9XwcE9LJXQ#B9 zYae(aD>k?d3G1G!gb0sieX-t_es$b)x8i4r2=z3&m|lUG+SD!FPvP>S3X^zT>TCxS zz~C>T7C$rq&W76JpndQUo|ElSo)xZq<}W*l^i9l4r0J8}s4LfD^Afv^FLH$rH^1?D z1fJB**25Ob75+(MjDjc!JGKJM8Bg77o4~+z#iz{Z^-;A3w`6xn_M6oKw%P_VYsm2i z<$Jc88(+9{o^6r*AcuBL6i%x#sVzCGae*v?YjKchkSr*5Mqe2Hd-T;&bJq^2=J@nOsRhj(5XHv)y+NO0Q~1OBIq7K5(9_l7vJ!1hrBj`p-M#9;ydkPe z-J5hfv++=pR@OZBQqUDIwi>y8@>rhAq<*6KJlz4-%eX>>a~zF+|ATkSLV)FsCyEfE zV{qHB#yvnJ5|9%9lADnfP-LvRzm^C6D0t&N)|6Fq_ur$=e!mLil{VPd^#}jg(}w1* zt#X{fIX>g&!DN}l0PZe8*tCElTU18!V^RlJb>YJlK`zBgyZms*r8a5i_i*I^NL8u0h+ztmA1#B3Pa|c(#mURUa zBTub#zWqJ7Z-WjjgOYTv>=&+QGI_sl@Yt!%wr8oO+RvEarj4KmwCsx_v)?4|u2 zw#~SI@`RR{V5(fx#Jt8YFc)>Q6i~CIB8z_YO?h7Aa`6Yb}L= zGU|Y*5$^hjhM^-7W4`-YiS%-*!<^%pX-fIi;CuF2@6PGPDVkPxxwaG&_^V+KCJtn~xS@2KsyuViuzQ_rS6iov z4t;Nq{>|%;)&YPZAS1=b`DJlb8v4nvK1|5QIV;F+=|B_c-FSvrQ`cwU!V${6C((${;Q(V5xK+cOt({4Q>w)(?5kSIdYB#>e?=?`1Yqi2K^~!4eM7V zSz){6IHy`yC%SO-Yd-pPweTNNvXY_x5l2Z+D><35P zbM2h7d73>lme3b|CbPBFXv<=38%i{4E&g*hL}g-)!g-Kps}(;zm1 z20fqh&N4@?E8}bLUVEpWN&t1_j#*!Da{`4%tu=t`+0GLI zucpYH-X3XM3*aEzyOlk;ee2_2aWd2M>JeXk=KqP+eztj_ps#6 zgupAPRPFzNj@~_Jc09f7<0UxE%+B`CwD$tLYmeUb*d7~UB(-jh$Lx_>YIV2NQtK|Y zr|{9WyVc#gw4|0=jO{s&aUBep1Ei7@8)=llJ9_+z41m@=RV_p5KS8ns__;2#gh{~CQ;la(Wv zPx4qElb`?Krkx|TnnFL1tLp5GpXe|`Lmh%s#zlv2jQ!Eqyql)xE^vIbJizbIQdCF3 z=@XAq_v$(7$s0ItVmr9A9skc?vJNS{S~fRDC6kDp11la;@fG#a2Pn0$yWL5-#R_BI zJrb6zxG1!p#A|1SlGeBqjD7^}uUp#*r)N2>2)3;*p%XXct{>#%^0+LH{^iUg^UWj~ zzy9rSOGiv!Nw_-e$A9c|f}5WNSTH-}7IM9qzru^JfbkDPcc`#B3Y2hYFWrn<$jR!e zK~flxaryA^e+L^GIBHq?@$89yI`%&GUU7j;J&4=Itz|)f3SwF0P6$rTlRvay*cbxk zj5!3qmeNFwL?@!<{OE~gaQAZp0#541G+<7AKZR+ZT%TV2i|0jX=`eOvw7f>!Q>BrJ zk1jzsFdquat#>prdK3l8zzw*vypXI!HoX~3z==4{lBdwDjP{KttuiW^1 zzizX5P%Z$?AHWoCKjT3QIz7?jC*R(j8CcRo4>x045CkX_+SJt>Y`EIh@nq|x|N4_p zE#$OKi|tlAyti?#H%qaS!AKv_p%H?V5WK>5XRQo8u)yP^7*&ow%l18RB| zfAoJo%B-oOD@t2;eUu$?zPkHI?^e5Ys3CZ`$zyclQtjR4?Myx`2Po{!@)y7IR8z%S z%g@UlDqb;ip}PYHDP3 zJkQfFjsEJVKj?MDo$?V!FH$u*xX`2!%y>=iAq-Zy%zn2MBkWiQ(&H>2Qcf=%*ix;D4Ob6IfH^vb|fRCtM0@ zPMXigfAO=J15+VtnXHV79A#tcvrj`bLt)XiDphoHgR1F?kaDcVH~i@mmNO8gGH;Jw ze(Gt9LIM`t5~%4rIZi+YT`2{GOg7-ZI}H2VsoioPTI=#O$p^O)7lMbXzB!wkm*Noo z^A8Dn(#xlX5@tx1= z5KzK1CSQ~hnMgYq9>G}~=AUbXk;(|kr8rGIdk_TWTp-!uEWWI9B2dvAzl3arf6+D?B7#v7 z>mVqH@FVh#_s#jHxvI%c-5uGZOEb)VAZ)+6xx6!zipb}F$vbN?t=cws*m~WhBO}>y z{K>{2{nQ)p<~tR#e+-B3acXe&*E#ZS%+IVtli28b{9~_rOPEFG=5_}%K2j|DuB(_N zfY|e!<5RYitL`8VvMR$kb2zM^TC@bdi`*VQIr^KA(W7MWD?06xA>b zX-SCbBMW2v1D_>NTZj>z3KQV^S9p;A*~dK@s#kmyL&z^XSNL{e=PN->Rr<+4UR+D9 z=;=o2EdqlR>n^9O(a*oO8DK!Y1cKoD8r-NkHeChT0>-dbD){O?uhVlYWzG7wqY7p| zcprb)b39yYE)IU(JjIXO4Uhxe{8%Xk>RIuAyNdhsWvI`KyMKCu6{B2iZd!eH31@)n z#J($TxvLX9r2Y6G#2dBah^6V%)BX&PY7Mp+v)kFp>UjL}n?6`rWmz5zwQh4j(v~pp zJnhf!ij9_CdzrRnJsMv7K+D<2M6e#849oLmg5oL8(}(>bkx<0C;>z^igfQmvDEAxy zHBaPn#Jv7Y$JSzCDhb^}sWdT=D^4Bthz_B;e3;IvRc@I!zz`l6WTFO54AI97gv2oh zH-(Gr*5vXINHNKfYT04Cux1Nm^fjMsuE)h1+J)M3HJW8D~n+m{A_|jpq;Dq?r&l{9zEMr{*+VpG#x#D1(L9*BPIrPSDUalPzYSQ|2wen z0emrZvv8y7!Si#3uZvl8@@npy#fLj==qG`na z*56HSe=)gA$ojNJvwYlt<%3jko7sj1u^U$Ap`T1)IPACH5)$(W&|KNw@BB5atwzU_ z>5>b{+!7=SOzO)5%g?JgF*or1)%SvT^~2+q8{NJB-U`hzBVB_J%Z)EHeGaZ(Ak+}t ziyP^l(iHlD1iiDm>U!S_W~xs^hCKtsf}0_P0h9aRv`1WKy6>17uG!NYvk;|S1ru-W zpt{&yYj9(@f`vCZ)`mXWBZ61T(gE%@V zMJI?MQrGpAmdAHXLBW7*)Pgr{W&&qD4T*OA2frE9;+dtN%$$IL8=m|yifhqib}59D ztwrDXCRuc~50?fTWHKaEa9{uO(S@jny56jUGbEnlnpNr{Na~YYy1owLNG?=4!v7z?_J$>?*zgk|1m24AA zu`VSjqJ=fhQrRStGRXfvEZp~VxN!yhAUtQ2R*&BLSZKtcWT6q|u}X7V%m6TINs>xL zoo6v?N9TUOw_B}OIXL1cFxzK9bU1B5{S}HI|EYI~nZe%XKIRko_`8{Byt(E34QO^q zgSq%?rW6|3)8(L2q&8$(M3X5*LOvQjUJVR1Pj{MeVdQ>ygm-F)sRGH$FMi^~+8J_H zlgVO=2RC{T@lP$d$TMm-;h=RGHv_*1`-(UqqrdZcD3POE*1;~-)v3dUYoI3$}#X%{~XfE z)X9ff*qQtC(@QQM?KQypYyJYD=rgDp6E|(nr^eh?-nl#ie(C$awkbV27b@r4HO`Hz zSJPf&l#5T#Cv#W<$9Mlwi1$jiRuf%t+TK&Gerr8>mu&kgZX9q6FWve$zXPuWPtU{# zVa-drDkUkfZ291eG<&m;YPenb)A5s6PW1t2_DB{F!GR0hq39+BU9lpTD{1rO{waS3 z%QQ_b)*8GIS3dqAnWR)Osa!QJlG(+ISbBsU1RZ#kFUzzsIHP5`pZQ={tic3E zoz<+BNhY}X(-ngSR~sC%7Gl=M>i+kF^UPnKT2BxP$d?qw^a7Dgs$Pi!JP|nM<)2fw zq{FRjdu^~0QcKlE9H1LqfpNfNR}*IgA70g(UZ{t&+eH+}NPs8R>3CCTpcqftF3b4E zv8E3X|J<0N} z#b$eJ{nPg0U!zn*ox=NR7p%dRL+49`KF&|rAt)>TyhV-!(!M$Rar#}DC7Ny-L6wx6 zQ}mg6GJYOFHpHO)dS}8=EPR=HE%$6n@;Zj(}0R={~$qVFN;@J9_o!3KpK9dU4 zzxXdO8tQY(6iSu5Bq=`n9gmMl!h4Q>b*qdfXWP0@InpE!={Jqc&piur0ycWep5B** zb#489k|xU`k@dY!6hv3*DZ|X}|HS*2jcw23^l~+CHRxJF|4_}@+9x_3GKC^djvq1a zv@$|Nk6Ws)-55#H1o*ByH0QAz$w&Na8^iN-KfLyJ%tFq0sxMi+4Qv_-RA9h{>IyV4bAN?Ds24jEmT{~c92pZ z;8nB!=rxuFcf%T~BfuoX4c_AZ<)+_|TYQ+9!!emmVDf2f#Tz!lIHamC<)qiP`in2e zO9;`ePYtjaPMXomvw1t+L1g9#`HJuStqny>E{Ph2ER5CQzNM--xNYX_7JOMXGy z-jy4vZ#0|0aR7TO;=uu-x5l)&u2z#tLuSXGYAcO>Fia#w#E|*oEV}gMLO-O7Q=aA) z7}3op>_LhgX}CFOICxKI^9*bl@@C>PAOy=dRz@zk@v75lNUQYn`bpEvyyrwwCd2WPP&luqC$2BrsIw9=RT9H~}rU zNt((Pe5wQb$*=n=krhYbw4DQF-#ay~z-Ex}l%VY#-Sj1%I^BOLkBGN{Da=_#3s08Z6@QD=M{VSy98xY^M9WwfYjs_{DOqm5VPQ>fo2`+?YUfxhT z3Ci%8py${=vQgEzyuD`xRa&Qj3b#+K(x5di} zr~GsP+tNzS1;p7xX#eh8etEY|4p*`80P6wBZtE1<=wh>rF$fPkRVu8n5pV7M^qm=wPlBsDWp0;TbIp9V$Jq& z>Hxt700IIgnWxHw{pGZU`-_(?dUCfJTqw6o4i~@={@38?F+Sug+2aM?D5``iqzy)4 z_`?U8?}ExHBh7~lkd>7G!DyyhCN~|fwP}?}`|!W-XsP5;fWvh_paHy`KwVU-l?Py{ z0e1zmh!3ybw1?7Gc4-Pu>V(|Mmt}hN!17dRD?~uN^e{{DuSaH5&*z+~OJ3-i4p2H;>tR5~!)Y!8LN%3zVW^8K zdz*%p1OQgJIX^)W`nGb*d6t9HpD`aTgJC;7H}6(PLWZPbz_k~!=9|k5|F{KymX9DlC1L_3 zwyyEopk<|W>;DdXY0@qhN_ z2Ww>xFFQt52ZipCyd5>PVrj{o6=YuM3I0Z1#WtKp$#%`~_7 z?1^S2U3y>&vC^)-a2hl#_9C*Gt^J3=Y|h#>zD%)e@cQTcy?~n8iUpQ^5IEPiwwZPq4AZVb)c>&9M4T$ zLqqQ0l_n$>n*atElVDeOrUa!c!3diTziW5(*Zj8kirl*-zFkkF?x;~TP%eaKg&+7) z`|1K9#NY#oWr)2&y5>wJ+-#J;@^J@~`USBXt`tM>`HQwvv&#`;{am`+ZJB%&ed4{d zW=Q#Rf&ecDjzVBKU7W7MoLk&|@jb>;ecmA!?h*(N(g`fPw?shl@MGkI{q?#&7BNfi z&-RMRhTh^?NV_@6#X;XOkVE^90w#EPRIQ$YVwQ; zd>X*YU-~DbU$zP(7^I84Gg9t4%QNjkRW7u)Sq4!7CV~FCr%nKw+W?J~Qui6Ig*LAV&9_U_ZNEG%o2G%8q{B*IMCiPfI;}+zVM3VUt6RlDF5C$dc80z$i9H>3f1g??h=U+qHU9kLn!`p*gq zB)!uhy+S@NAf{ZW%(+hqKm(mAj5KUPRv8DUIgO0I@iMnC_%zjy{7&Hxje@$Y->J$Hc@i!!nKvb7Z8%9)_$U0F%I{4KofI zZXqXR*}!tN7SU$>o4@>asI}ytoktt_{;xbm(i?VBW_>3@fvBnBddn*%#AN#3#X+6{ z9<(ow{?VHsAc7ZySBZd~mg>aDQR|@V&(Rq~zcmEm06q18yw)cmPrX6GmM3{II$(XW zfK^p+w4$QgTSal-KY~$Vp@F3$w4IuD=IZf|Z3eca1x(th{1%AxVD94^4003gbp^^q zXZ-(sO9`tMCAn&m$*kJjWL*qOR>XjWUZkZfkN?@*N~vH)mv3$>d{5qNuFt}LHvYrv zyBi2yU)Ts=!`SsGGvxiF#~j!rJ9t5IXr}G9ms}55@ct0F=Ed*X2XHY`O1Y#bSOP28 zy#PxXhG_$I=ZOE;Pn~0DlVc7E8KyQjD3{=NY}U4l-J-)mTq?5oaH67ColYR!ZBX+& z`xH5oX$wlszL_C9jF%eVc~0O~2f(QH=&e`c78p8ql~kl+ig0vlj+71MRcA=i(c7=G z!b9>jne4GeFAToT{o69k8B{t0P$+bEK57b=ZtbmG19E*5-QE4-;|)2`ikcE&gR31S znI_Hz>`|vx7^sUY()9R>J=e|&YFuIiED7!>Uj7f^eg{$7^)zofMPQ{;KY`zCY8vze z;lnk%!o3DtgF5g*{D>(^auZTWXNQ|`dxHA)&W9#hs=?x(Utf>MjSZU+vU>PN9PnCH z59r>%dJmVv#TT!=2h0=2@=Zs8d!6HnpmJP0_zr>a?DP2?y3=N@u96xC3O#}z5#ylvh1(8()cg}@xJhs&#O+$#Z+W8LtugtQa9^iIAQCOled z=d)jqe&&s52r|!{ZN=>fu+nCGOJz$(Acf=g+@EIs`izi$)sFw}H#{%hi$AAKb}gkR zJ=O_$xJ*t-4=OUzxYc>aqNE5orjP$)tJ&)1wF3yATOIvw!9^xLIkKa7Uwg_Q&<#8! z#6mDc7Ic|y57Mw}f~6i%5J{Q?Ch%BX2`iLuX#$AtyGhJpkUqvg`uu(ggor@}R+OlM z_h-T%(tNV^N+m38?v3}Bb~M}X?a4B>HgdTkCP;fi=jZ6-FTS7KM2S%0jalLddj--r zj}MSvr=6Wf8NIFCs~axSraI;uQr9rSqB#WfqZy9)&phuudH|TGxv?x02%Sv@C*L&$ z54+wrU?8DdhUj(hjQqaW-=9r8c^a(Dq4d^z<4sIoSy;G^-}=ORa3Y71++t79*^QT;lkg%L7o%Nrx93o-tX8N4 z&U(a;AbPR4wm9b3(hNwV7#R_jW#&`$n@0rp%#z!Lk!TsXLpPj0N~^-Zv5@8*ctAYD zZ6_kVpzn{x)W3MiT9= z@+9_-*e;sB8FcT`#DOh0P|FZJRX(0~+;4k6-EDzTweeRo=;kb1Db)7>vuC+7SRKt7 zcR+4y8wxHTf99mOl-|ViUcC-R!o|FCxGn&708+o)9DnXh-Z2MHE<&ENjlb>yFh2on zT(eN0WP27o!DK-m-OF)FWqLZ@qBCbVFLv{I{F!fl*EmbAs&%$;5~_neA%oxd)2##A zwQN#M{9!TeaU+jyA=Z{W16x3fW!sHXT_2w8G^gx*8NW~fKKS3P6L2|Z3@AmQ&JYDS z%%aq~I^6%AXV-pmg9vmSR+YWAHY9n9J9k~3!2>HCG62}oxNshS_vg?>=jyNwC$2z< zeZj>5VYQ_E5N*pP7#-kZ1Z9LQK5E43UU-hv7Jzovssl<$6<8#Fnuxdl47J;O8w}eA z{U_d3=96#SGa|kN67AtSDf>8$Y0{aURtp9nIAQcxUwIcf`dj`u>B{TTAeCMp|AC{T z+l*$gX4gqKK|IY^`XKNxAY5f|*?Q>`R$5{Z`V*ANh>S+gg`|+z>)G;O0Evv{uL{!QHb*3;-$Ml_ASR zyrlUA3GY7hh*vV(1YeIf-@$rXZ?Mr@Z#;F60A0bo6|=8{y-8_I;B9DjLf^0}+TI!u zV)joEYra!pJ%e$wm61(?^&`JhLfRA0LKcvr><>(5-W86fe~YOt%y z1%(*^ z|EEtYiUME2JVuLUVz(GGC7AVU#Z6X8oQeuzk z=D@fp9M_#*=lZe&aV_G;DhY7<_<(Orc9QuI2%*DjxicrTV-63Of;-z}MeE-}l`=|u?Fs(q+g?Er+fpvr zlN?X4=ID=M%7vGYq8RKtdUZML=rWp~vnRU`LOgMJ&pMcd0dHt#wWmsi4wsezOs8DR>IIXPMGISpER)&pqhJ5>2d0L(>Pu4uqqLV^En{Du&H#xJc3f)_lZd|g z;={;hQ|39e>VN@)7wzGa4H~~YuPrEYQ~cEA8g6Y};)lNk6#R}20;s{{INi0qFKL3=%u>6I-(ufa>FoxvZCu~< z2t0_+Crg5YzjQwG?8Qx@cSgVP*7IDey-ac;D8eJ&s)27DvRcJ(K=21RRnN8y5u8}- zTkyLcBUPITCoqT~V)cadoxVOM2hbm?_kix$#ClkPfR(&vmt7!&?BvRCyO58pBVJW^ zj~=u8(@-vLP*N?ShG*-h*QRa3O{TDSB{-n{ZBrE;}Q6r z+Y4E3_v;9fBjYdq#-~@JKLX`@rx^4(^6fn!_5snkC~*iaRFmmODZJ5dc@r2jtB4Yo zys?`T=llN&tScu;rkKL7O@2l@AbAbDgF_vPs~aSyZ3e}hn&18H9w(8rL8ia@V$z5TD*~vE-_sZk9g-M(ffjGPxrr77$yrJ{E?ZrxXcxp z!kfD%`ZEebwTyP+mXTTc!Wl|nWxJjEa7I#@B?0BDJYT#s`kSA9zTIx&2fGckU2w&h zI_ot(3^Xo&1MfMME9eGK>(<2Xe(u8)5$HR@nzd$)0Yr$66qM&qD5IdXJ0<#%!@aqy z1d~sXc3)mZ&~MxMQ3+KG4!opOtLp$kenLwRf%_e!HEZap)~vb$w^pC+uKZi0zw~xfqFAaaCL7nfBpq$JB5R^J zMUlXOSv?%h-(*82f!sVueeZ{0l2Eq?+y@k+K6 zgHQGc4eUg5o%xjqY(B7ZLCfv_`#(eha9_^li5spVlSbgPdbQLO=7J#(!R}W5RR<44 zI+s5`ntlCyV87;_EWF|Xy2&6Ea1B^G(bn#mvif05lJLO6O-L8`8+Egshl-cnwv6Cz zQ?us8XPLZlJilJaZj%6RIUtbRC8O5J9t20HB#{>)A$@A}ZJ#57uxAi(U~pK3_AjG9 z@am&o99z?szB@87B05xDGRj`_`i*BBfr4d=f*(aRD8Ls8C3#2sBK-zKPrj`+1s7 z*FJBN;^xU0v2K+q7tm@(5D;D7{p{0V>dy*1hDRHyY;&ye8L*hH2sEJZ8M1EXA@IP< z(aU$~VmEjPitE9O2&`Ac+5^bp=qzkFn$d@WiLFpoh2aC}o%-2X}vmpUgofZYf%_(;b8UPdi)F%auWfeYf-2R~P4 zn+Ov1m1_W+C0jbgjlA%<02rR$fc^Rp?k^xPIo{^iii>vT8p_msdw~m`hq=_4e+wP< zDRZs_#-p#{=rIo*rWm_t^(!aczOk0kUgeG~q*cRQ-BAf9O-c6*vcZ*K54EFvKUDR{FL+6z~2G5$}OcT5Inn2yvy?fTK* zcs6wppqp!WfelosoB}r{+7xgofKBR3#0;#VQy#njCCn>zS8aTWLN{!F_p6PmgDbsL z4(@`oU56HP8Y;ArsDe2=?504EdmF4Ky&9EiHw)b7WL2w1>i9T}P8e`etS5~I%;(@p zYmo5mF0MQSxxiKYd%%xgb=8?)`%D8xbJor4b5Mq zMrYALC3kBO(-#*N(~%W8?;1SmTJA?*D$9=3!pTKK^X9@L8E~3<9nhkka`E{747n~R zLm$F97f>FOevtutE&|=u%H1EBLO%`r^Fei>VkAk4|Fuv4cL5Wp(9XTc&hD_mP?Tg38Qh*jnqJs&#{uPOl4Yc>WW8&mu9JXVlKUs@*5BBc zdvM7rFc5h%dJSp<%~rxaYuin(MFHlI2~q5!uS0Dw#O*3)m)VP->sv@#Po;eZ!|6GN zttaznm#hKcgCIR^>_jt0%V#cr#^)tSRaal2(~GJzGJ zE=5pP*hm)!o2%>^;2MHA;1&?1Z5PCPiU)hZzg*D4f8fBDtN zfc4hr!`3-CLX7&`J)RBhjFa;v_q#Va;8k>gdNVdy(NCIVhpZXnE_yUscnf?5@lIk$ z+UYzl?>_Txl0q7M&`!lnw-2<4kH7uvo~D<{-1W4Z*m<$K@tMh7RwV2gYW&vLt}JZE z%=_#aK6L$z=Gpn~whK&Q*E{@@2-kZkFp(^R=k*cCnHT@$k&c9vrlA_#w+=cfl8bR> z1OJp>2BK{@wzw7s^j zyun)<7^TYncR?V`RkHvgQA7eHpUe%qftdUK+>>1H7hcX0$%R&OJD+EDzI22Ym>TxL zhcCTN-y>8%fI}RCPng1q3;%YpnnGB>X9GxraANOpp)?wqYjFC-6y%4Q955@6NYv>H zofak(ESI`|_h+8Z5j|6TeNmcWk;l;g2#lGAWiwoj0b7iym=ms>iVHr|d-IHoRBE{^ z7Y?;v3m1dU2*CN;Cvm>R)hBN}>!TBJK6{2&GXuk|c&1VZS;*j|FD-d^T+b2Ge0>yr z{h!a*q+10C?1rr$t}^moB5qdXstW*J6zlw9CMOUZ*A}5U8aSUBjbBri@Doysb9&}d z4=rxXhC{87eh{&(`4$1Ajxruk9+%o<_dmFYYp98oI{2ML6)Kp9&UJ8FxUA0y>*Kf3OPln&$#Ci@T^avO1|Zln zI=DT7ZO)srFh2gZA7)D8T5ETH1(}C7nTTn5ywp%Yg)N|@S2a6_`?D8XVB326iefEY z(I*xu4xJ=(`yejB(=qrp3fFPL>@&(KdkZ{KVa0FZ{mAtY5Mn(K=+3e=$ zJuf~$|9~6{3}IIUyCOK39PsnWzL^qV8vVV`eXu}nypIK%6Dn1dje2R&k|vkacnxT3 zB#-<1fAY3H$+k%_?a}G@Pk!oyqBe$5*7hr{xe4?Z{uByAFUs|#i%FvR2LGMfd;4IM z0AtS_*c(H1uoh;c0}`Iu(I;Q~YTY~GG2(mp4XtI+AROtis-0q9LdsMw}9_AGI%+i&dTOZE}VKvqJR@0`d@Nt$A3} z1?6HTRs$Y!#?+Fm*}9ztKBE#3%c#VFy}NM@l{GYfE`yDzCO7`+(c>H4s{0wZvOw7a z&KN*c?BqSLb6}tMwBnA-0W2TZL7#YP!^S&Dl4xE}CT%O$Sk+^@@ejiU3C?l)+yoGZ zNJn?mXRA=6ZbhA@SYLPD?btQ~9W`hsSt(dv`ZLd5rmx@s>361cK$zthYM2ng@NS-? z=Mz}yDi$p^MMH^S%g)vtBWkU*S)DyYcMpG*B>F@?z)|s{_E^?Ixh~uJ{qQq4~xOzdtN@1 zjUCR^)_z@UmXqvt{S(>+$2>= z8ct?p00CU8hg%d=OJ)fW(g%D|G^m?{&eW+NB+P8TF#7wSjEz`Pt9nTu<&$rBzqpL~F7hq^_VK~Q8?Hr8H!##jfjUu>rJkR0c^p&kcFIUEqz zvZR@DBQQnQ?RQ4aXP*bcd|hgCvEGBOrWDn+cLpA!37qG6!<)9D6hx5S=+RHU0^5`e zsFrWC2g|B-7K{Yq0-8y!)GtfSVL4%b+r0Qw8;tDW2dbHNlQ_|e)q#HA#2ozyP-(<% z%TD)7zuub=J-qu#j3x(8$0X{KH^v1HB76Ph-k7k0KcFxZ9-a=Izh$}-s`vT=KB->OUon>(q2Ty|rxcXseAFPAcP zIINq?HL@V^w=b#-wC1`P%V@U9Yhfq)TScTx1b$>-e-#pEe}dBwp!3m6)s++E%lyb$ zEnpdpkAB~8geSh39V@{Le!V2GQ#?19A6 zNvI&zWHay&pC13jkz04m%{gH!)kmVA_O<{IRfQ{)Bw?$|H;(Q`PhH*5lR5O^njUbk zurBanp0WUktrHPA;VX&Qf92@a1}q*>(!pWUsXA*oY_8}jUj{$@?skG`i)t26N-u({ zAu;;a*UMlAQK)QN9nQ-$jLR$3XO6eoL9jBEUEhD(^MR9sc?u-Jiira_6(F#A!UOC? z?T%!fz!Yh{xG3W1M}PXuj~5PK&n(oJZP4BkW^%kaM8EW=ZjhJoP@Os!x!|>7)Xbqdv0UB+JbXiTV zm~sCR|9&xK)6-Fsmp~UPCT(dP=88~;-X*T>lbTU?zX-_xqg#T+$(=oCegxVI z#gmLA)E-M$bTNY|BrAEMTZXBhzk@MO!sVYkd0nB<4c-W1@*hZ*& zu%>5rXE(USRx&$uKAafswRke6YM$hKcZ-Dm)*kt<_EdH33AYFgcX~VCqL~+OS#CXG z;muvBD0cUQY>xnUEoKj3v4Z*a>Arot+S3kLPA3!>e9t4w!*dPb+FK~DmBzw6-1$B5 zDD=(EsxSL+ifzF$(q&zehHCn?AsfF;!>Due4H3*LKwP8Az`bz1jumh}fI0tc580{=khuM5AVsPX&X z3M$^krrkm{=(?lN)8MR2Oie6Bf(M7ef!NKCSQ4-gzxHQH%DA{3&_;H_mT{?V1AeCq zYOI_L=pN7y7csR$Atci!I%Mo`#=~*oh7Vht1bl6ERiYK+pDYi%|2J<-{(hm8hpIn8yXh-ZZ-O|Zvr`Z3-LU|ko<<~_Uw6QV2i5oX9vYN2yV8T$#0E*V%vZ-aJ}&; ze9AFUitX^Y!%~az*vN6gLjUorr;MtWAXe^ckPb$;7c2;>38XWX8|G#76R&$oRnHHJ z$^|USaO|lm4>6{N1@}Cru2Z2ZU?;>Gx812xfvsrw5VIopcT+E$J76uYEaAr3oz)!j z4TV&0aQ~TSyuhiE#!qZ3o}zskC3MWw_NKO7%B66dNqVRI(#XC4U?tVUV(-=D9Hq>}krqv^Fc1V#NL$6K)0(6kUmrMqS;1htiT9&FtnIWoNAL6E&<< z`*{D49}Rp9bwuvMVgb@mc#9qV>TB;1@k&~ruZ_B4UOXiyTS{G2t>B;MBD3Ru`GXtZ z!`x&(m8L{2Tek?fzI~}MaJSj1g49Pu@XvZRcU$Ewz%iXM^S(S`EFLm#)EtFD)3?}* zzp!x+T(zzIsb%P0g&s-14@+&70o}WX;2BEF5l&=8}c?Ttf^24e+)%pJ*@Nb#6DX&lX#@fq>3tHGN3aS(6#-&=>ft+oduX z(30?GbeHp*3pIu=5$3|A)Q7|3Go$8P7oBO^&`&ySNibrvR&f@%@ei?{w>-m(nAag_ z*r_QFf~0d9BkLFRy94k=n<0d3(Cro``tf61@uqwI)}^D%wpTbPc+R~`xdH^G@!IISUPp4P6T>y2bVq;UQ|~ip zSQglO`vfG6sqVKFmn7lfFU~02=Ju7j|ItnA60>LpMgD#z%$(3F!TpJFVBzspX5n4* zOuMD7-iX7z@VNTp?|xRVSJbWzbbqHoEVdD{sFrM09jq%Ma9DTh^uko{-rEoxzX!Pk zFISUOaf^Tme=9ck>4zc|;^xZ`J14uPKivePCLs#t(6DB3v0#?4ye*zLPWT%~Uq#=$ zt&SxP)8Yf%W1Yno#_`pZnk2g?Kl0NjlA@LiPtkV|9|0UcftI3jDsjl|;s0mpz2l^; z?)~u@n8lsl*@xX>cZH=mqq_(?Yo1;#3D5N2yBK+<_ufOIi=ZGDup*YrDi{&)B6g#O zRq=`)6=S02x&~Wfq9%Iv*8DyX-`^ke;>GODJm-AQr=4>?pZB}ktre^+##tho6cB<# zt0fgQ!(Ha>->eH~v-(bi)z_IoaL+wpMh zAN6K>wg4X0YOJJrjr#v~QCQJ#p~61C>k5)o*I>0Kf%>DKX;SreG)cE@exna9;%d3u zRV(V_6|7qGR|D-NuWzFrXqx}%N>@tbj{;nhL09YXUT?+W)d1gpm*vbfNw!heqdc^7 zYdjx?tv;sGq%}Pup&|q3bi_kMpg#v#4MO^K%#I3ATnR|d`G~m=ZTgywyKT#4>sXG? zYK$$s&8M@KR7CjSHH6y{0!+wKQ5&BBob;m32vOJi$_0Zd;ZXizU0B~j%PI?NH^6oi z82|D`n+a@;<2@UL!ERdHYgch1LKigFY&DMt3N?)l_i6$BMio@wJZXnL7Tp2&S=s3 zxlEX$EEQi*k5gg8%vl@9rxX=AB_soLFUGnVfZ+V)J^Y7doj<*3hd&g`$YVqQ}?SdRkHVW80CsER(( z_F4fni>L%sK7X3A0g?301Nxe?oK8`NPNUjN>tN5Jt<7$$EuB_%fKvhWSslHkKI+UCm?TPs^l<=;HbUKbAfx;mU+?s$!^M=nZ3VoFYK{-i#PL&G8P(!+6@ zsnuwCO*T^y)pgbP?DCXDEbs+8fOOF5?Dl$rI!*UlLW&Jr+Hu-s3H3CnD_`W-uYsFP zow=>y^8q(9IIhXo8)(kdG`kvhmHOsAF{g!PZ0PaG}X`4&IU`(td-b!jhVVs@&@u^C`iawS`KdVgog1!?s2N3SI5dusvnY6sl;u)+C6y zA6f*x!ge-dvSx9YqpXx06nn=;T{U87b^fI970jPs-e80Y&G3-qD@0m zkgfx|DrdW0F4nE_d>~M?5d0P26e*)Q({sZWRM^Vu+Q~NFp^BYYQ3nvqdWSI<)~J%0 z*w2%vY=Dj%ti?3e3Im~%cLeB)(2H5kbOg$UBfYlJPKHI5D&ZNY(DOt~MLlFgE&!U2 zH2ogT0ee@Y`k!lx=31+f4;4EG$IOS{TpTHxhyoRExcnL?7XsE8BbRe#1)wNx(~KTY z$2H=?8r;Geu~5P6%m`Imwd7TWOEv(xRi`cvnt*Q3Mg~;cR+D49x_M2-l;us%K$J`7 zRIyge=(grPPIEL}%6J?>lUlKkH+t{{=8RTVHhrXSpc+!^#XW5YsM#zjCxg{&;aX8} zB+_WNhEZBmRHb*-jBKx*G;1mlV7+zzKX$n-I-%<5n28#tDRgxzk`I}hjU;Kpp{4*j zS~B45lbB0t*--KT#VVAzR!B-;FPCcF2324vUn-$oFtDR&1QY`xOauyLYZL0u83UAa z#}kZ@rO1lWkf1d+=3M0F#k=a-yxrfjMjXYYJHjS3%|<6`R=KGfuy#1I)_S~|w+DsM zxz7P;Btq+K8AGPT8l6_F*_9)AyRqk3%%VDZ$VLM~qq^A7?%gbj6TEESK1Ee73P zI1Qxtp#Tlj1&|TnclUVwgZYoh<~-uCm!A zM9o@6wKx;h*0MTdkxEyfA;yx_*q|&UpRGnyrWT??)}u*FoiQ6Bj4*F;$@vCWeh-JVv??B0pFt;u|o4vIq9To`f`iq%Z-Sby+Mj@ zHU}uY4Z*3brW0>h1-L8;JHxeR zqo{I4dRl<;2*p}l#MmuL|BAL6byu1!LAAJnPN@&Wy;29GGGslF3pl!gH0)LC$epVi z9U~1Ob3i!k1}b(H++jhDJDR2q22V7t*Udc5rb>n=#aOa!I-kR#cjF>+-PGwc@NhN< z9n(N=-r*xE<#pp5YE;9iYoUIZvug#!_^eQ5%Q2J6&F&OR0#3CXO3}TQTG@(qy2=-SvM1rdd)}0n zG@Fx7xSaGRQ8wz(_}scE)G=FIy=0^fK*a&8N^o^_fcwsw%6Zs2=m6DO?-wE|99Sr` zWdZY1!?Ud+UEL8}nVdR5)BAz|~j zOujtdQm^~wr+LcN$r<%P43p&=6$j=AbaRcX0mo>naJ(pbO-+aQl zGrP`coQ4}r;5?=4okVEn{fn!%NTlgZ7}{ME1vCjb^8E0I zsNmJwgeY_$x;(Z#PsK*xSu;u{J zBDsm){BJbQyw;cqno3@ayEkKnW4v5G9fD&Cl8a^VKoBaO@pPGM1sgy~&ErxgtbH2o}xS zxC(O%fhx|ZI-V{B%zQ2_y`o=ZaU;Ic`dkXi6r*h~Z1~;ray{sbXT4DOYn&OlGMEKa zb&ua!A#Hjd&k`2Bfp_}jXeFje`3bU@o%(8HmxHrrPcm!kBym@r<^5a}$3iMk*b^XJ z6<|l1oYaJkwqz0R2wC-W4V68WCSmETaA#8O`l~?8TWAL~owU1=fnoKo)Ha|~u}Np4 zgfh`g8^X|fr^=GSZm>oAqbkALRQ@nPHsYLyNW;xv2<}dBbwX1NCIT)#nRk1uDA2Xp zp=uqRcr}yPpfiR^F49dK`C>2D+V^_L3f+8Zt59!vn_WC@=?FR@6@rA+)TwAF%+4>q zxa2E`6Ija1Tf7E+I^kBI3Ih$4t5OcQ>86V$Em?1zf@+?~I~7uM>)X`L-+A6}(10r1T!fpA?XV z@*SxJ&JdwSBX7=9RocOnnv@5RRM^ovZwo1+nFY3Ak2&<0<67JU)A3Ugwr{l9c_^AHg1AFzo0D` zoB=8y1Rbk7Y($dqneBnLwUtw~dwPp{@77k*nhpY4LM@Vmgu~m;#3DT9Y1LG5zn*ZE zAeK!ac_h*4C97d;ArD*#wB-r8 z0?CZ4?XkhZh(E!G9LkgZVHeu4mpX7^?-9J-NT_3{fGjiyTm}u1ub9uI!+>)YOvP!c z1x?rHn6aK<^l&B)Z3*j`vo}Q8MRg5} z+eDe8mZo!t+Td|R%}b)xp!BM)r{jnONtd}5&1Nd|H?7Cga2Q84LeP*%u{jo4k!;1B zA)yndCxeNOqY^T4LT#?SF$h4KE-kO&bOD{V;%KohOVIB1CNud`SC7bzyFQ;>Mfo_6#?3BIv zZi;FZW*Vq1t0^!{B;Ic2T&Q#eE#TR93K$&QT5U_KW*gb2$*am{>e*b{8IGia9W!4j zLMco$;OIHbGrz2qqg?|W9>V!NUW<7cv#TdG=~fBT)hv8;=5aU!jo2y$FIgixY@rz9 zSsTMkFKyJSRe!UiO1159R#xtX(ix4uPS}&0mbqvNN^j7>E(@w6_*~K9W|g;(uhRiy ztV#&zDS~zTJds8n*+00$*dX&!F2b}~eV*X}j?mvp)ZK9RP-v&&(y384q=1-v>9oC; zhmQ4X4NmC+uO@5?mzzera?!|SHr;~OIDQz2bYEw99LMo1MZfQ%b-G8s5mV2i1s0EFXK%%@j> zHA!R*m8ylrpgetiy_41eADlkM)x!lgVRKi!T!&FPEWB$26j@r_4$=tdVQ$(91+Gl3 z)@&76JHJU^3^C#+lM!DA zxNUu*An+(3#Y^sFu!6_ST#TSGo4;zT0f>XEUDoJ$EFHD-8j*h}ZBglTwyd_yX_ff- zYaj>W0!669Y?_t-8|YLkIPce+fFm~6GE{NkZY5Q=T($ryXfW9Dsqfg~r>IOOU0?wQ zB1eQ%Jx2pd4to(0Ij}WA)=2`_>)?q0wLjT?Vln`q+@f)XvW*`)zzrPUt&!Qe_{CJ+ow8&@-W-6;(veJHrnl8)X(f_j%1Hz%6kvdecquCw0#&9? zI&y|KoAFcVoSP2d2+oSAS$q8i*OjDF{lME+Y%+HyoG+9 zTUF~hRjNcm{Pq_C;F09@43v^L;Iu+{@FigWM0?$`UTZI6U6E4X00)eV zZRpK5t)o}7_&n*pDwOdwwN=Pr;@OT(XDip^c1u9{;rK=u_>yqd<}h~hxq?{_Fn7tU z#fIj)9UyG-5WbnWD_JgKHlc=yjfVpbRnf)TX&c+i#flEQAvpU1v`|s@n8^s-8#UC8 zg(9jlTABTz!8mJXUn)enJz>V{3kDNKT_@BG8_Hp^qBoPHpv>FOvC`6x zN<{-3janz!t|Uq(ir0r~(IVI2Dwei}6z>P}B`5V=cNCb<8A}?7o~r>>y5l9FTCv6RRb#Fq~s2c~z(0 zaA_0nI1r3?uoP>;MYGWXB}gP}q*D|o9y|Av+LD*|czjl-L)U~7(~9R@9IkP(`EnA- zrsFwWIKnK7gl8l$OpQecGIb&Sh03KCSjk^k2 ze>3E*>fL-4%&rkFCb_l~ItBA$osZt?%`jLo9_r{?TCK+Dg*f37uTuR1o!;Y%r5Ft$ zO09x7oJCZ}11oA$OLU_ol;+hiA`6MNB?%?EX|WBg8*M?Ss-sF+09nyeuQkouNKYf~ z*oj8TUadJ}tsLi3rI*7y?otnu?l{h4Mz^-7%5e!eGiu`bcfz8_MtU5CCQ{W^gWg!J;O&Z2@l&Q= zFbZf9R-fI*0)sW_gNl|A>4LiMO4iHNlR}n^i%$;u866F13v4{CGGub7UNE1y#RCuqQw-9F%wDqiUe?a*7U$LQ*D&0 z0OffaCc*<(sx)B^7%Yiy!z^l4&Jixv<9cVQ;7b+lRYu?FCSC1hHVpVAozq}M*(j3) z01H>jQq8I0Zpzs9;dOJkr-=d1d%$f9TU|*uC+c1SX!g3!T!JRLP9l>tw3r}Jhl+!W zXL7BCIZ6VO3~JC~4y;iVi~(=YCKkR_8Hd-@$))NchbQ54Tf@NE<+nzSc5|LVbtykB zngZL3rlR82Vj;$z295$OU#qH73c4wr?!<&PT-RvwdTdr}3^*OU zfmo~x$JKS4U6-?30(`MiD*~#XxNN)*s`;CxGTp34efmbGV^mZDV}`ut6Wo|~v*{}0=b zrz&u#-l5`6ogaz^G#;l;{P_mBd}jo=1xcgIT&{Q7M5p59f*L?+tBG}MZj&XFD+)2a z3y-p~5aukkjU9iIs+EgXCX_en%3`T(sKlcjS2O{MDvo7hd2ubt(4170Km6XPRtmx?9b0Gd>A>aB2u5H15yv?G-Z;3_eo0EJG4%Nra; zTF>Pf#^f}FGq#!^PX$drN2Db#C0zKIIUjVi!99h6ZZ^DV6Ud8eP&4Vad9@<$UfiM5 z0Lh6Z-L1RL`Mfw~mkqc~B3Tqb1$bLkAVp#7`L4xoWyvDbwsU1yo`!asj;5^%w0e{{ z;zoxhi4sjg{a2TEG+FSk_N1Wiaa~)AG5MQ~=0Qi$dL1i_0ETw9uR)pFBJRRw1BK}~_%K0$* zv}^JJP#fcByIC}1^y7KKQ?f%vCZ~d5z$#FITY?KRtEuhn6evFIFy|`(oRW6ct9EBn z447oEMTZ+YJDrG#HkEf+*jmPHF(o_!jVP#Y7>dF>j!+;5Sg2@C{EEqC%9~oQSeUel zk;9Wv)<}qfCEGPSORa1pfwRzcTu*6qdJ~z7 zHv-nIXz(3VDB&gG=8%MVp>UQNy`W;ornf!AQQ#8)o+1DK$7Yv>?V6Mv&tsK;@mHl)gw&|VvM6Am`psKu*c zEE^Knsq9FUq2#E=27(@_>l4?qUJ9gy7VGWgttPW*IYh9TazO$e(WXoRp%BeecE~JA zrm8E}lD?)m`LG%HLSn>2$DcK=Nqb!^UT|c1(WnYhESrhc3uIBi_(q%zCsn3oCY*%( z-k7H*j=@#(0|H#bp64J`;YQKRCoHj~g=RRFu1oWI61ERDf4!vXB}DNh3(&u7?r?#I zw`X<>?zpd$?_^0G8|xKIz;15tcEl{DNN_?N+C)AHNaM(`p(Up5lcreheVQ~G?s`}$5vf^pJHPl@IpN`)*npa|^(u^(Mb_)?Cn zK0t)mR)g|^6e2e>?$0+x6C6Cp#@Dds>7i{;{{{Gp)z=Ksz6Je zI+ThB;<-|`;BDwSTsjd8L*I;{W%n4&K2|gix(UP`T2qp=mV1DP15`JJrKU27#!-Y_ zf(9;-LVBOY)dEhT6b)p6&XUWf$!g7FSg+%L%I9)38eNC=wH&0Q%4qQlLu)BrB%12k zT70Xkg3sacYTB502#F8@H^UkXdW!6Im%Eipm&`qD^fW9rpG0XV9(3_EXJorB9cfQ- zbqiZz!Y#lTNV_8@cRJKLO*K>iVmY?r13qq7J4;nkqPjsJgR_t*+Kbj2D=uBzuL(0r zUI181+>z`#!1jYgy44mHh;NmsED`V4HI*JyY(lMl1yAWjBP`f_DJtqSKqI)o1B$Yx z+<|ixreit1!qE`t;f%Ttsil+7vbD=+frzOdA{{nWuS`{fm?$*|KrOWaqd8)1*MMV7 zm-pE)GD#Rv$g$&f5o@#p+~iIpX}1Pl+F~|lFo|EQ7bDp&TTEKo=41|vrWvQNlgPzb zly}!sJy9*<27?8SLE~kfNQx`m=xV)aHqZs8*Pgx7PHW+G5EH{j#)Z=sKB?l8S%~w_ z6kI%IBQ8jx$|_?jtWUXJqAQ5gL=kfW>{ zKGBI3%&fr`3%N59zS1>BgHfxqT5u+WqFyx6C^%mOlxwx)|~f z8WZeZ)WKxiM(}lBLMwi*47)6pYP9H(B`R3?WVb*;Wj$=gIY53zGtOqc=oUX`^)-OO zLj?zmzKYRYcUcXte9RZlv4Y#5v#D4h);^tr2{g{wACH#_^X`0 znd^u@1=yCENK#d|QsDAZ`X+=v;A1q!geaD@qS2^IYv_tv6brza9^8yZEuM0+!bP*i z4A3MeyehNkv^`Z5pVHXV7Mm$%Nr(ZZM`*ncAZdjr9ZprtJJGB&TQxG}tf<(Q5L})S zt{gb)oM`mbFd%EDfTh;Z4gxB>DXhafM%2=A1bwuN6U1@WTR~GeV=5%<(R$t&70OuM z5n|02PmeEm9nc`44I4y{WwH0_abt>ewYqf+YKKn7rXVCD)|e_u0|-d8Ec(=V!fr>i zz^p>(12MML?Xebdi|7w>6=%{+giVwxY0*aj7B^B6b-@=mWMV|xT%|4IY%?BTx2p$= zB3D^Ooo>RWQ_A<(M~U{Gbim?gXn6j1=`MV`dUhF?{aN(M1vWvIZESfB}3%t zy+)?&p#jI+YwEJPXvz?DWdKEj65|h?J5#Jxi>5*uyHD2zw9IZ^^b{HsVe{4NIfpjS zr45a0MKqc?7pJ_@3hIvsH615o72nI}%oVu$!>~@ap@VuzF>^7eJDksm!c960P;WYM zZ783!39XpbsPi;}V>#{(v8AXEfEyxw!rTdmO+2u+WCAqcJwriTBLKa~kmHNq$3}$= z#-32G>mtFtzG3Q;NnjQ;2uXjU=tux-1O~@?;;J;9n5Py?^Lo7P^CWFd7E^V3voGFJ z!5?D`SyaIdZKkPn3j~mdL0@q!f>%>kvk*mVEm7fOP}<_-9e}ZtgMuT#zA~Fce?@Y& z3S{^?;FH%Cvb5f4GX-j$t~1%rdzc`XE)y+r-2p1m)YC>VK2fb@wLYD%>d=u6l<5Ht zP?c7hJ4xOunw2|LGiXd{ueKTwiz>#TiGs}mmCgoD92(@AOjA69w%p?zrZ#7` ziRKlV}jNQma6@e4$pd8~68AY@ik7LZUao+dXSBU4YUN zsB(1&7+bMaW8!8YXBX3mcp5sUn)zzRLAl+cprhbK0;!z09&7}hK1+*BluA&=3N4uJ zEHHYdbagOiWm|IS3raKZe`cN&J``yVCs#`meO4QC%8Hb4DT@RCyp|NAX@>d@$!)bGZI zr7yhw^F8am*H3-+cF(rRa_U7^u@!aZ6#*$qY`u12b9(8v`_~WeNZpltYizeYc3iHz z=j>Z98J_&j(LZi7C>LCkncQ;z^XKYr`h551&j+6n-nr#K@xn8YNxpga)I*c6_>cbi z>`(6QZ8%45zWCJ*pZh=a`rbc0FrZebRO;C$wb;Qua>-4JCC7~4esNj9jQ*SUys?KX zPimrOm*eoxk-;VXkAM2Njg2SwAQv9qb4Nk;#D$#lS#bzt=-neOS#iu$YO2j5-?Wnu3vdAt9+4+kCdYYr^ye?R}SoX1|-VZY+h zoj;nNuY0~ac-7#tZBxh_g8HM}?OUXqrRdVD$F;Ytxap0(3w}N7yJ-J=-g|a$z+b%b z(O+L?T;4hF0`$clXN+vUXW~i2^Pk)?J+$=F&YnN^z52kgBP%D9&oT!F_dFll^o(x+ zT=ZtN_OH8-@YmiP$lS2#=ld3axMAU*)6Cj_{p3&H`|m$)=wGJ1^pTSeJgt53f#lGdKRva?rayVxA3o%FTo=qe`S!L0 z>$e6^_Rc)``hNM|eH*TRH8}jL@xX%1%!jv6Po21@`cUk1Qu*Q5_MunKn|NcYc8r^v zy7#4pzQ@kL;2~?@nuS+tPj2>Xx@N)~sI%LiX2{xGoTlbKud!I$=4H@$l2LjCjSK65*A$*qySyDr<(XI)?a-4Ql( zv*zR(PTP^yfm;V8id!C>d}-i_qPAbLhQCXJZ9yMV24A*c^yrRT{kFefrZjuBAObLfs0PufRb+H=PN!-Li<4?2&m{>7>F3pE4vMc2M|r)kxc zQg^=jL+>X1A^%y_cdv6_-WQW@NT0p=@E@$noo7#sduHBy{@uVK0Go4I*=rxT>WT-0 z`Ohb3hko&s$B&q={BZxhum5iI^rqjB$=R8Qw!ga1^cFMje`v+_<>!yy>bo=klby=l z$Ht_~9ynBABcFPDEqTjV*3xa0=e_v-?62>QeQexm_DkQt>aV+w9gc)A{_cT`kp5vyaZd>hQiX%)aBwd)K5BZ~pYX-3wK-Ph5M^ z?Xxpme^F7`Up#Qmz&7KpbGvr99Sbna7e4gS=U1@$d)6eHf4wd6uIj+i!?HhIaQ)-!jyyv%Sq936pW~g&u&`>%d|0{bnK%7Idt{lfKfY;O+!;jz0C)f`w;4W>t^Z##eZ@zq@(! zSMvHFEiddeKgIl8Z~raL5zDRby(sa&wVutZeTo;Y=ReM863xFne{F2V6|zOoT%FzX zN#KR+&e?hGuzP;b)&Aq~fyfPd3Snl_N)wE~>qyA`Q2a+dh^QPtI?%a+@9A6TPpj z7k%@K;2(bT!0xs8tTSa!T-enVZ<8tu7ro^D#e@1A?tXhhx3~YiRlj+0-fF(|{n@FJ zOP@SBxblTMxoe;`a|?MN_TKu+pH;yf4Q*`Eu?PQLed4VP?^0|XHC~;)=H*s&?I&-X zoV@dF_2eBFA7441QC)HKvrkS=>gBf>wdn`=tE2B;9sb78-~HArlc!ePcWTUg;n7=~ zGmcLetoruek*#AtKD+q>^UNn-mKs?+Xqe#f4b!34>8G-*X-wP9|-wtlE(P`p##qtw*KkhUEd;q`WtqJ zap6xEY=5?PyW^qB>}~$VSC2-nzv|J|AA5e(PHeyQ$RbVd&NH6GR&MkCF*C7s%<R(yzIy%ZS8ljvPya#pI`6^ESDVtR-wYm>sCr{Z zdQMN};A6`BU*R|Xq|c&mW}OPsMYEAypxJQ;@|4_ExNh7?WvpQ zZDlX^bL@iW);`W`KKhrl?a7^IeE8pQZSIerk(exmiFI2aq&MGw@fA|kfB2DO-d|tY zt@U@%nz3s@`%bqz!zJJFeOaFmewTlL322Lm!tzH&DfkGOaA4bM!i6qfO~PX_qJ zf!MtEg)PIaH;4s)=(_LPcXsaDrB|&8>drTrA3OWJFXq-AP^Hcrc=O(`4}Lu9|Ki%; zE$V(nj~$|hoO7pY!Ivisu`O$KwtWqKKzaA;*uv57=ndMn@mJTKVO#quM&0_0@7_;@ zfAN=0+%{kyK3yJfWbXTc1;ApSLL{jABY9lJJ;X*%G_ZnHeQ}w@~2C-CiZ^vl798`+pc$KpLs$1 z!z&!Q;9E)I!202{*1c^xWA>PR0sZjS>mKhzmQokIFtGELx0fdz4~=T?7@3^MmBUjb zg-?$y)%^Yaz9Va+)?X}DEiW3hGgJF6`nQRHr0!U>hu*tgF+=ZEp8MHHo5yUM^t;?E zWM}>N%a!2Di%b(wNUwX)eiZri>_^U>PJcRdVqoxt2MmXQz3#dfK1|&hn3JQ4tA@<~ zIDG5Cao@@{n(;mM=ifWH`PxJGz1@7sd`qlx+t8Ez!jGPOWaZYEq>!S&{Pn=tci%1= zyZxShZ!SKaq)Yx^l78xmzQq5Zql=pboSG&HbQ)kGr*VuUrAtVRn5HOpnjx@h21n&f zNOqdU@oAQ%rZF7F`&OgyQ5KzM8FHFM$-dPrPQWMFX_}^|NfxE0@D4i7Q1HU=X`E!S zz9sNw9EZ=-%rrsMEWClj8{9O`VACXtbJ8U&e3piv#0YwtA~;66LFQx-nu0eu@o5-IPLmitO``6odr>=U^&0gZAx`o*3p})U5R6&=&Y18e>3^^fZnV zeFr4CdQm@2S$esQVy6ZGWDSH3zeA{PLq8}$9<(|;400ma(=%c@W|{-B(loR7WfTQ5 z!zgJAp3U`LPQnUN@Nf#{;0L(A6Dn9lnuZrDbxR0XIS@LHgEZj_98RhSB)FVg$}rqC z!{YMG`{8Z%-$z;aNgSKftsr1dFdkfbri7jjF2$!g0)AY|$uP=tAxs!Z0H+BOo=IWy zB^sC*je!z?R&diBH3Tdkya-SQO8x_hfjV%oA~ZLRQG}f92l+`)$rwV~-?v4E5z594IqQv+!RIn|cg|b>|pZAJ8D2TYE2xW3cY z!C+|?lkbvnLQDn^%*be_4~7l$0y$wQSQWPRWeG0DR)CCQ$uLxY`6w(QPU8G;`awnH z2NdwjjPNhR6f7u9-8jl(FjQ2!OMYq?>HV2nD-2ew_q z*M%dXm!~BMh5?u#)6}*#h6`l`u0AT8Ci$f@44YaxGYQ~jpy04X__R(zgWAk2fQNDf zHwCvh^G2h^P>`O<`a;^4}F)5(!pV1&@vCI;;1X& zd5rq8VK5eqm>S^2lN78M43%w9s29OAU&)?8@Y82F#A+ddU zKNx18U51mhE&iN-SjKH@B$&FRHi2oesQiSe4>;HpE=|igy6-s^$e)9ma)j{uw$EfZ zk;EjddZPrloI7)o3hajAz!PxAuT?N17z>DZ=4XAoP#7->Hco;V2zu>}(#vQ6ISfmR zv+~t4oL&2Y48{5PYmX^7|Yed+Sv<+ zLA^m<0}9dO37Fw(`Q>w_83shl;cM@m8Iy3*UrUJDZzL#xN8c|&J{*nDJiI@z0ZV`> zi2jyivX9U1m4S0RAS0RUFX{&aQAcOX5@zi3Nty#6LV^jCYaf$fGy7q&NSagMyB6(- z)l$DEVdr;CXs~L~3-B5QmvzH= zFczQ6_G38S$4Q@7fY}gR?v;>+Q3-)u+P?yP4h4RhkZ+lPuOHNY_B#oA=oJ~xY*{nP zv7iy`@y}&AWw6Y2WE5=~Mb7J2fhWMh^E0Hp1}pjL&{B@%VD?naWl z^n+7TM-}k<^eRLyp+DU>3hEEO!g96r1W>(*v2z;W;n!{ic@fzutiAS zppOLoSJk{0-lhnA{+)da=@w+8d=z{Q%b{`(B*$V%s~=2)CddCSH{7ulJP8X%d1B#w zLVOpW4O{9m0y{PidOLS)XbZfFF*B1A8hJ==xRC#D_7w>RQ@Vcl{N4Sar@U6ejThx& z)F40@9C&iz5}kTX0q&KY`LhCI9rf2Ihr#AKe1?%=^H=QODKv*cBRNKmPGv{Ika3or zLLWN|JQxe|qq+Gj#t#q7x7EL!Tjw}930A>^H|1DTdfwDZ89~gR1g9ZT5_J5$e(4hR z--f|ivf?0Q1i5c#KLiluSN(?Hs^MyE6apDel6@zTvj^2r%{(UI98%@^gH zE}leI z3{2cT01lS`3#U+Uz-x6790?XwYwjTlKD1>iC^jTT^z4rk?)ZPHo%1(IXf^uRef&;Q z1;q%!916o=XjDBgw{ZNfetv_fAvD+u%g}~V^~*@DUj|Kb<}Zi95l~>L48&RrL;IEt z!*bCaSOq8q!&n@%XMuGK({rEqt#+J?nB?H=k0o0aD?{ZyiGNL&)#@WhjGqhNeE?hoNC?7?vF>J0BM($svy^ z6yO`l>3e15G^AV{$c8wyQ*?f;(lG!NfvEnN0zxf4d%@fs(n^(!Vtbku5L4cgpKLHvOL`DZB z$Z!aD=0^FcNlzerXuxKLwpb6_81iWWX^S1_{j_IUZB484wUVaG38EMv*FDEtMv zM#0}8Atq#C7RsL~B$To!e?6vtSVm3Hb^CFWu+)X7jG30+1<8{9l<>F$JUou*;FIHL z4xPeUcLpU|G)rvI$~zQ(B+T@D&I#&#bkoQhju9-AwmVc zI1i%xxCBKW9e~gYb)U$41Mt5y`;jvT$A3C7bI~v;7r`PENLH`@Kmi_%;(rRB=!JpV zM?in)QWAFDJUDaF9IHGrxNWy|74m-wf8oRh!^q#|{a_9A-^(C!uSSvz1z0CJe}#k? zw+yLooP_91GhnX_@g*?~i33d=?v`;-IW#|ne2xI0nuL>c5X-sQTfvD@6n)~qB;@Q% zpabuGc?H-!=of?X=Z`B#z@In&d4}d4VWf18NUw;VFS62PA zxm6N+0)+h#g8VQDY782@k*}`+zXJIVi%$G}M1m^6Uo2e$3GQG22;Lkl1yp8wr0+Qy zjv>z|WYZL)Rf0R)CAH738>V38iSa$dGfpt3WB(;1x$$WPOpi|tgEND@*D1uRkkRPA zb7U+&evg9BBd7Y2Q-iQ*|1zkj^R|5gTc^v}vA)I@t=%QMM!3K$Xd=^rJ8 zx&!*gu*k!UzXS&e?nd3=Uyz_*s-(|JSma41a@%70u9^L#5ML?C&IXj%D3-!%LEeuQ zcOd=4%IEtLn|$Jax$u7y92|*+Ts4h=^J5?=vh#0FKZYzHM!rVWQy`dY2ZkY6K)F5{ ztb%33%x=(vKMWw=#rt>iw<^Sq1*|nTRGYDic19!DEZ%lVLMRK15#>mrj(ofX!4U8? zG(GWG<;<8e3xO8Mk}w&LEB~=XLcyYN$1jG!{@m~|co&of`qTZt0{v8PJof%nR)%xP z4U3cTaq`e!NRU|AZEbE$4(*t zE?2;ImfCX7_5TSu2|=Msd|1X{5a)OYcu?dsg#vVi+_oFsBT1<@f}CiKKDJPOql_Vy zV~Zv9_3wa8h9Q{%-_TinC=X$YQ+_oJvpqaCg~C5ijDexCBr>9ONF}uL>M;q0{AC0N z0}C{(1W&{dgM)hlIcG@SK|Waw8Rl=1zl{p3L@g(&@oNXvznghR0m%go&IL3Zm7YL` zl=A0<5OODiyfG{xEe_hlYII0vK*0I!d7U>Ov<6Z|_D+NS2-0zZkhqA$kX5Zq+!r!B#(V z=@O)IrUYGkFE8yUL9>o7hU94CDLF)GOnJdDY_GDbkc<-kOCVbY$NytQI3~KjeQ$v1 zz{GL>EaYhjGBdlCH_MUD2qNo82F`@V|Ds<3!Hq+%97VJPt163;ku#A`2Sy>p5YX%X zHF9u3!XV!O^vUAmYx(bxB}*X5m|0-iAbnbWe=@gEf$UlW2^As*FS6}FL3YbVSHKe)MWqEdFKBLr}X{aOT4=9)PgJM(Y z#J?b-X(EcHU|SMw{L2Bg4qWF=i;?i~_*3$^e^){5!%2wdi422sGR3c9Y4l5!+Z8ejn^-m8519w@ zJ|ZL7vx{=bsZ8@XA-9hlznK3mvS%2qbmF09vkK7Uf0=z?$UgTL#19G);CstpTSg%- zD8WQN9y@@nQOsWjG2C(?(7XK{=8G-c|IzFP$l@i^-%mW>KmVQtgA8fm#IR`9e;*OO zBLfaig3rAxA&(uAV86s9Br?1dxl_LOUIA0UPML!>g@kx+4ov8u!?0r++I8Ak{<(A* z5`KoA_?<%ZZHJZMK)#=l(EIa{XY9LPX;m7;6~A>r+zCLsb^K1)apDlIK(??m2+sW% zI6{OS9Y247KUaog$`eau;9F4S#!=+!ahMhNZ2=~5_k`%kCl||WGn2=Djx0u!_e~u| zV#xf0@yExJe;G&48wP8AZ)jXMI(NSerIlwbl`+gjM*)XXEb`h2^1-Nt&4z@9$mPrD zzrFq<1RIAL?w^1#hT)D4$iFQ{CYC8}BgwCiHIY?=NPhXm>Luc0NaJ%|7}m%EL5JsDxvuFZc1kLSoCr4d$+K`48&<-SVaago*XlkT3ed1xg?_-?m`p znwdosMt$#>L&&00{sC!i`bK4S1bJ3I^Y9@BvS9%E<+!qo>{m#zPXow>L!b&EW8}Fd zGftS)E#t5>%G(yt?o~gyb^s}^kkNz^mVl)vvZDyL1bKZ4=#WYY`QR$n0P^M95;2>=a4{a-JpjgvtR0bH*&PBzTK+I#AAy5uD3H=1;#ElSiAzMU`~8{l zz&F6X9DitjNO>PJ`;pu(#pdqh6YzNFgr*F9f@3HN#`BdRNcMt1gSPnbK2gvx9x3v+jI{)(u_7`1}IRV?7ah2DZ>G{ zL5)}twJNv(XBcV)R8&Aw!6*pDi8x=DQ9;ockkXWz-*cYxJkL4d zM4Qd=;T6Fr6=1C;oOI5H zzpmp>+G_E~l85PztU3)5#e=_yJv(XLFkD4}F4>(_o=P~+<(lWWZl5L~LwVe;SiLN;g1&8PatWzzu z*2iR?&DI+1i2S4PN-fNmTN5m`fphY>LmwW;c?NnWa*y3E{S{5Fk0b5fVQcHE-JRlm zjcBcC(LPJpHl@b;YHC~7$(5OjAlSOqhHmJWa^ssq(9XeLIN&8#?xhc0%`z zY4wt%UB>ow=V?BB;4U8D-|^9Yo&6r^u*(6xp_pq9ZI0YyaW$@%b#{3^N%bs#pZ-~_ z#T~tiLtZ2AW}2k7E$eX1A-ETm_SekjG6E$MMG zD2elx7907V;N%h4irZ*DBfH{cQfgLqw#!{{ zWIx3ug%)z@>vNsgRO}O6Th-d@j?Q(pHdvU*h2U5ilO~QPK`JljcXrjmxu~o4$oU-S zAp;b0n~fOsc;p#-$ET_p@W?ya)_*PTj%#_i5F>p2t%_YZlzvWxjlDs~BVbLw&Nnag9rPspL#Kng{rA*BX|_LnqZ} zZzb@@8JYYi(Gd<I-ATgxJH5SWdPD#p(hYzl!-cth$>4Dwyc{Ysk z@o0gpNH>y`RcLx;NkZfv4irDLBbkqvYS7DjW4UH`;B#udRqoZ~a;MX2d@1x#5>2%Z zrh>=J-y_l~C;Cn4>2PPcQJBiNcv|{W@#TpWxvq$A>ZU~JR-QtEw!>^*9E>DA2D(%? z#_I}R7G2rgH@sh^^i<@LqI(NPE3mj|e5&shz2l#qw0H zc#|n4?poW_P$yZME5oztJO6MV;#75ZSBuwPx>fI?$>XU|M5+hv1TB9zFY=yYsSB*u zu5!q1lW?;O;tjZ?`4^t-i=4EOJN$b1R|nmg^v{Up4PFdD%L2?2%ZTaiC%3yk|fsDNGbQdxpArdkQiOU zGaX=3SP6H3aPh^Ab47ljSfN7$4h|GHp;o2QXOQEYL!CVy+jpUZlF47o+F~#c zDCsNpfYUN#<~KAMdo_wYJjAz2n$reWuZRmo<->G%3ESXkKh9L=WJ`5kYf!Z*KN{pR+dRepr6s@k7TIM-f}2@ zc`6Yv)hW(6V_PXtCVW#c!RVeDXpCGQ`E+xRe3mHp1F*DcIq9!8S-Y%M@pRRHfBa5#?lg^n6G~#kmec?F)4-W4?cOj2(~&nw6niLj*({#S1AP~c!nQa zooie!ovSM}3Td@yDUHR^_nH%EBx{V@9q^kxW3kD%Sxrm%=dWXBx)Unr)Y;HN>u1)d zKoPBo8nv9n&=EjhT{U5I^G$Cz?fV!?529@T1K7lIVjPeb+dS2v-2Ra^bZ}HHI)YO*L({74e`z~ zTz#wAzTP^Yv_Zi8a*dlc0VViS<=1k0jp^#9QBdBkwD^tAnV}%fB)>B)7iMk?ETU}6 zmIKMg7U-%9=~GO&Rb_9fk+7jC0C`5|w>F_-aoqU8`^$})aZ$H4IwYKJT$>@k6mj*} z(=pZ<1$oHSb#fIn42tA=c|DF&DVJol4Uw${Dmm%}293y&92+n|;aInIhnz2y-?PYl z>`dbMIFqDng|Q+X;O4xIST{b;w&lqKDIm<5+1$f3dT7}-+oVI6kCQH@$mLzbM=W)b zkGZs8>>4GB4z|Ghj9gZ*`AD#XK>abt;xVdIwAXC%T!ENfHaA#m!<}J#r8B@t-h0?G{ZV>yrFAMzq>?oJ#@BW^YCtz> z1$iVC@XFofMD6*4&Mv>PJXZg<3%`;U%cBXpz(nc9pV#HCZP+DelBKacaL(A80&PQt zf1DBCzvuhN^J1;$SNe8=F5}RAok^1S$z7$TCja%~3h*}IS)Tkflp4HXuoDsELRH=O!o@wPXpL>xUE zN`-2$ei!&qO47_ohMZ5Kji9Jim@j6_%s3UDPeJ=spWFbRl-~d|PO~jh78LT78*@AR zY8p2=d-5R;*yZXxa@Ol{@kkprLDOVGvsbh0a!FDwGF;)I$Rm6<)8wrDw!zbwU*hRGJy_Qky3)Wgy}j zFUHBfD!Jby^Qzj;JHOz#K9JSf*Rj;Zhy*X((hFh+P8tNq&o~ z^MZj_IMz(Omi3NfGp*&J`(oN-+H#4lXQ#QXg z!4~*L5>?yyu7kEh6>YDhNCp+i@z-0IvxulE5-9FB_FZgw6H{njkaLa>5Fv4kvnoXk8>(*Y8N8V)%nUX;=8*W_HF# zU*$3%snrojcNPiv`iz`%%M)3gf^TcN#PJoSs>BxMA0KF`8D39*?j9Sd`2RdqQ%-~= z(#~~U3pSKVCDHK~mqFJm8I&sP%N2(L4YEC*#$9*ma+zHoC{W~)U;icnp+f$fF8PUi zf?ZFHvs6eC{uQ_zngC7pZ`u;A^ga-){tk>poJmbw6$`kgUeC$LYHANO>FYd&i@=hB zlfW1AT#4LcM}Z3aS~}#_1Z#K1cbERF!&)RW6qBV21zsQiNT0vV;zl=_nk>T$Rm255^)TZO`dlfL}{#t#2sUYA+yF8g>!Fl1_$D^h~c;rMy!?_q! zKJ6l(CfWXoJa2sl_0_MajJ;?hQc@E=`q`cQT$dc+ulaES_xcMZ2Gq&CcoV>neZocDS1V6Ct^Un9L6>&c8~7Y#C(}~p zfL~5JjD5vC=s*vdl;5;~c30~|oOazj4uJ4`ExoyBNb|OUl{+xM2nL=^^LlQ0Qftq~ z)xpE6a|#}q*J1Hk4ClUnzr4o<5pGxJJIzDLua%z@+`@G9+K2T+_-vqq6~;Pof9v^HTomDC!=Mt)>@?A?jeV5CudUbuHjfUltb=t zGasqt(I2bV2PVj`+@MTZ>UQ{f`TePu3dkzA;dLn{(IZb6$W(vDT1cp8_;u3*w)iZz zwbr^yKCS}L0tj}1TWG6P+MJRkF&e-0VLH8l_I`%;b2?8otZ}ksZl3mWlKwPpSyw5q zliL$pwn67w?D9G^x85cGct1((A*&r*k0kma!hCWVzC$-eU3v?GRH?Jm#$ z-b$WrJZvI5s0B-uK3%Al)MeXz?!f$HS>07zk+@-fpk5zqm%P%3O@S1d-UYJF2aRzs zjTSt7yTwy_8YvMSFYq6pK?kVn(+q7wj)N0W88nqC%(&8&4P|6I*b=XCB_yYGkCn+@ zo&UZOul=PtpSHDL#2V+phdLPP%_MbfPS;yJ9YdYXaz*}zpHI#W&ymHZb+A#GM5+wj zm54}C<24}D@AU$-J;kS9m8-JpgXEDcDmDz9FT7rR$Vc<0{h0}C7kC`?@gD0Rkiaf< z_v;d64s@WuX_s{($2jt2lU46q3S2o9Z|v#{zl55e03iY{vYsMpYdwBz z_-8^C4O@Qgs=oweHup$yowSv!mdc}Vxk#PwFPBN_Du`N=LaFpj{+8L1h%-BM;+l0b zzD#HXeDYqlZDVK|=!GL1mvfQ#lsc!(@QJQ~`0`lD0C}LdB$KG;9S*nY)hUQb9KK6a z!yyxu$2{Mg_kL+9<+WHu^8($$O|3!1U8deDvA7LcRqk9N1}n3mMR=j zpeI+yg~DZW*mT~}c3xrhySi#;D`*&=$%I~zpL=vnkFm=Fhe&-##F{K~$|D`->Jn*l z&>+i{TH3Eqb@>}3ZH3!RO3)AY)xF(}lvL?gc9DtrE0^|$xqKL=|7GCrMz z2D1AhQy`10^~bZhm#t=$2C8(QYM5%BPr#2YUn8{%a#KEeq^@>(5Q7SQP_*4rz5IkU z#z~moF`sBaxbelw4?ga5eXjb`rywdN ze*5Kv&$8frLfjhb(m! z*}-k{(E#jHI-DDy?JiYyx275VU;JF#bMY0bQH?570}acC@#$A5L4%_Hu!|JYmqK|#PvS;Xi!FxmIrs0x2Xh% zQC_G7G&EU3lj2VnHuU&Xm4yyiHP&O;y9Mu*P_m4!HvVql!8cX&pr>S6YUkOt_j_t@ z7QmXc=itE4lj{Iz2m`d{-9-D`VGK;r0=aTS3N{p1MIXsa4viqz-wiypP#HK#)YYYn zP>E!lDa&D85TEr7`O_!QxGdgzcG>BZPaJYtf9PLrUY5EwTf1|Zs+)AEYFu(~XQ9Mx~jat@L43F3}xTO;Mwh#+!7pfL5x2|6TLwA|u0cPK6~KUGd* zFrZ=BD&u*Kl!=&Sa^M5cs@DM7D9I7!E zq+(hMye^&65WMjKPa~BfWSJ9s)5T*#>>7m()nAAWZQ#y7Y;aS*OLpBS_b78fuOyYh zFUg2LER%8_-^m||p$u)311%T&09L(Dj+8I&gkpKBP%f=8e)1Hygx-RH@iH_-dZ^c! zJcAX@19f_wH-!E+(z8P!IgfG04e7S;oPDHEZy8r^@xhE=BsM=y5^pz%9VqDpDf zuvyWwQdB9`IYvNPwyc^Q9tt;3a3{ycR(mUgW3hVJ5-5FqHKQa1*2V_Q&7_573=v+a!hvvf#T9C;qLz@6=rF_LrOh7alHR{ya{x7>D}?rvjlL zi!EF${j>B=Y25wWdWUa;DxlY-K57HWVn%KOJdlJ-2w zhCs1_&fo%e#~1bJgTX75VGhlp%sw{|`&5nFw$VB@=4*QTmcxqhb?M4DEVez5O7~2Q zmkwZ#PlqYa(jt3eD%*nOhOv54zg{@mq)!z-9i7g>k|=$Z8Q!QJ!2O*@)GF5${Shu784wA_HXTK9yJtGJg+xYiSgfjL0)~hdvLY^dq=Intl)KV^2h2j$|1vt z@JoGiV!n%fFQ*KWsZYOOkCcW-$z8eTE#+c2p{3n2CZ6A@O;EvJNo_EiQUQ$5Wr0-9 z838$s6sS!@daKo+6v_x=C>3&Fu{ow#_BaFAYuDH?6Hq0gyxm&&q83xXuF>KKq1WbJ zktll$B?T{un19O6eYGeyzVy ze!e8}>3nFO!iTxiDX*x0h~&7#lPsR1aXmsOg4oS`aAJ8TjlNt{h1rUJ0W~u3BQH#h zvp`1V89i%o&g>~fc>y~9uBf7~DkXJTX*L>(0*108QO849A$V6-4l;LOmP`j-P-xxN z%ToiJh@b9|KIA92mkRo84-2DOia~lNS?eWv^e(+J!R?DwLq67IcTDjZf zB+?TcG}lPXl}odvWSBh3SWM&?7X~zzk9tutRs@=4MGtboSUoaD?$?!It1t&eIzpMy z?kZ_L5&SYVIbb!0RR)#@jt5o)Lwd%C8z^>#BQOmS>{R0{L+(g2`=kiaz<04>G`A~; zg8RXN|18r|+cMUvT7=KD!-)_IP+2A2IS#y(YGL8b@OE5Q&^`|0+Uu9*GWoe&p^+Z| zpO8Sckewkr3MX>Dk9>;-F>;5@9b{lK4$?16eLv&(fuRkORK_@l+wq4ir6)dRwCP4^^8J<-I|WK=5R{Yn0Yqqw_2uv|G#M!yYtvK$TN@bV%-A_>b3XaalN- z5U`&vaQ3&BnV7<^8?HKVsZkD@!Gk56Mz9w2^eIHXwrPw+MzkIb9|0vNGOdSq8mNnZ zajjyK!TVIu3y|38d>xN+d_%kCg=A=1^8WRP0y%!E9ISm2&pceMq+z0w{h2(WXb(Z5 z+~y%>=?i&W-z!LReVk-fNVq~qCYfI~>XY2^J&|YJYFPh(YPDpq3OpNHW;l$?$F~kmSEfXc-Gul(&-u_nJ|B2-@mCyk$Sl_$VQ?FlcI*Cct4W=`QKnk~QRHKLqyR zY-<3qL_;*)If`*R6auh(Osd6~cSC%zZ(vg3bK`|dAmQ*hXN$40%wX`s75Kz4HMCOc z&z2&yQ(EMG_yn1myF3*^aUk9#z*y;8ERrN1rfEDjt6$C*(r1zZM#Q%cvA7Dy5L2VI z$R%=<0#Q64Lg3XrkuHN(RH?duiNZ1zlA@U9W|b=s|eUt;x=ocr|qD ze9f5ZSN+)&Ioj5=_Br7+>od($0U43klm|fWX97?EQo;>{7I&kY4L|;TVycMNCGS{O zXoOXu{3XNdDfF3VTzc0iNR1JSZ#CSTJfh7f}|V zZ`_zay!OsmVR4B8xa&x>c$GK`ZcW*mJ0xkCd^O7aVw`;5OZL{uH7Sn4oN`shqzC41 zz{b0Y!P#0%O5<^8sppg?waie1AaBW~^*jO&BQrYwYH1Bfq(J*TF7&GM7}sgL03WNX zp;kA~feH^U?(9{}D|CT8lqz>jmUkSy5EA!)G;~M9YqoZkgGx2OetcmIxl7`T;~Ap! zHSLlEvEl|)Nt)>xteg?&vK6*5iicqQW#U5Hlv_cn)i6zQ%W8}{2oFZQE1>ltq4601j zU>9o0D$qF@S&@6RQL)E!AzPm*A}hI2X{aQz`SOd?wi7>zM@IG(SO2^N$+Bdk?7|*u z@I|3a&Lu%oKqEerEX%s%T*3uNN!w5;Z}c+J-}k4=ml^U;0f!p{3&;LsDynFpUM3dd z_3*T~tSTA`NHu2@Ut-G2BbF<&qljb%=}z2xsWF6gPtCzQ9pji{OB~$vi;+Z749$XDHn_qn-+s2fU*M zZNXXRGH^H7%EDs#yGbVXSl$UYl=fXf9+=j!6ilPVJ3?Clsl5G;K<5fyFyVtzDV4%S z41<~F)hdDT-zSvu|2-r05yA6!&6Xp&NtY*acrZFHf$XQgR?GHS4vD0esXn~EpQY~9 zQJ(*0F8y{MZ%2e=tOf-_F5_GfQILxeBgq1@8gyCHC{hOKpW>MuD|a`TZHrTTnTD?V8AwG5QskzP{5if5E=nvSa5i_~_w8d?Jm>SHG_!xYzt-v5P z2PLw7e`t+-Dsl_-fzIgBs$>js(RAaX+|a{Lk)J4keAe2?1THIr8eni6GIGM1k!_Y* zoK^7-@!Po)zwyc->tg)XYF_dj$E;IYbhF{=#*kX@epy>@6irp7>U@H1HmEo&WP}RC z$MWeKA%jt6!o6f5%~cN_YP`QK;L|=bI)(-phfb(5XfIx(=w6u3K)Ep?%i0kgsP*lS zodZ#y4*Gy;m_tKHIZs+ro*LMzmBoX(+*S~y0Sy$^ z$@jYKZj#3;6$w$34%=4~xEU=6t#EA>$gVzU@ta-CWK*F$H(4&&RL(w(qbeEyY@NxI ze!E=8nlvT==g6m#DF}^TjQ9%s`f1bP3)ks`m8ocRy$qZv z8560t2c#t>a7r=nIFjDRu3KkLDTux!mpP?vQmWEyIyETe2(6b?av(W;oY~*PmcZ-Q zuLCcFtYN4EiJO1L$mrNftNGX@={=}(jnA-Y`W96(<|G>Lj8Wd91Ra6wqJmAd=6cBi z7bb(<0Bp86?Ta-1&J5x(7Kv9u2;Y`lpwADElNb9y!QryRi56Z>XGBNfmZ1X6Vs2L+OL{enD_B9WK=eN3aApU0I9trLOb*W`+RrR9 z>g~DVfOJWTTmbW6MB>PXN6O&|jIJMtYI+=>iZAHD#-ypA-HquWTyzuy3{+m3P!C`` zQOu{=Jq7L=GfW;;`1$$zh+!@|w!PLR|zo&IBHoO6UW zXdukk98_^dQhN*vx!xa+MM(fAvpt{J$@CFi()!qDdw3k7@lAKkjRxiTmUKZko$o(6 zUjFK%n9bqY^!h|Pio&=aHa{MKTtiDvUVg$EXU!wBKg?}EqQPTb)-2ymhsvB$4oH!E z$M8g$m1ruF73H9=7BhqziE{tzaD5H_2RW{qlk*9bbY~~|u|8B{uI|b&(gxfWrN8Se_|^)x?^7*^@Ygv$Q75IY;<)GrLJvHF9fTYuK<~h82-+nJhVh1BM&o9)m4* z8qIlV&Ae^V@fsI(L&EZsXm0Q&cu04JLU@16xPIDKnRGE9JLNKu=t-r_*u$A@{56x90d?d~P6pE*JaGS9?O;Wqdrd+wwRJI5doCmU; zeGG)H?U+>Y&M;c1dF`0LVLTsDUhHic_JS^0S+A09UUuLjC;hpM&#QTBF7NXoK2KK- zR?|MV;EnRhT)me>=koRlr3oeuFbG!#Q!Y(I#qji$!UCxpq+gv-h|vJQ1ytvZQR2u` zqt&PJDS8-jbIT8tnnxlmH`E9JiMEq7&1(iq+(7UR7T`SSyqdspAW>qXfg2&1BDU(n z{xpI&q3B3TE(=z+N@A*j&2leiU`x)`$u|Q)26gB~v}08j$hpKW8EJZ{BnD+@Z9@~K z4zmd?K8}7uf#nf?nLbMg-Tn}ZwdUvH#>BBQTNgN-yRwZV=?%Xc!7DAkQ)k7&FtAI3B}@@i;Fk$M0{|CR1ObLRU=qr zpw)5OIvrjydawRXg&H7eRZyGB;!Z}<^k(^Xgtn&()^f}!c=egPtRMXeH_+@RH(uQ| zO@D2cc(JuBW2{~ZoX3vsXC5**5{ZWSB3Kt%Uw=`g7xcc-C5O9!pZTg>#7ym27tMAJ zRqowHBAw?}ABXX+p&01KXi`<7SurmfBjfV|Ri%BHxAV&1d6v56sk}mJJmQAYV+>Jb zeL>4JF*OfK1OLqT!;}<<*YmSO;b&Xu#r-G4w89hjIS8F$G8cfVRrNO@KKa;Ol z`NerPcat`;Fo^M$Yw(yOJ=B=sy1-o=9ld1%9U}PY*<1unNvRfFAF2!{jkUdHX{z;Q z$0~p(4@^6a!_(wc*J#aPYg8WN?go~`)JR(o5+KJd@}~Aq9~l?hR-!kSXanr#s==r` z(JJfPO`n9m5wDJkwL=fDS9VTRmGfm$2Yyw54c0`YFnYl|Mcbh_os&^BWx!PVrSzfm zGETWR{t-B+=DtGmTVrgcI23+?@`fg$+^KMn>2zX_1L)@RcXx2?l+nlgMRe||^}oiG zPNkrxbLJBCwh~}V=Kv)HB>DAhy``$No5?(m6WK4Rdni>gT{jMuWWP3g;hswZxLcfq zEMAm|0Yx%<9zB-|&^Pid-VG1YgKb_RQ<;;LmwM7ry0pIrT_i%vC|9=?Ydc)v&gxkd zH0ZMKftXgvu0N^ywH0}BP1K}kOi&YiK}nh7lKa<`_MwGU;@{<6R;0pe?i__c0QG5I z6*>sL2(55fp&1DOSwqx(FXb&>4Z#~db7KDBq|X~DuN5;e`&gyCfoc}r&_0f#w)^$) z&%-~Fzl(viE15OM9#M9^tSOVv0=RkC@f5T)dwY(uEf2ZQw5GP6=W)9FN_%1J5OEmt zdj=DI%F70`<<`_7jL&$_(8m;O?AymOq?bKN+pDj_SlR*#Zr(bWK6rxSh-xIhH7Xf^^!Cm298Dp?~VZ_KvMRV z%hodbnGS|ryGhM~zbLmt;(ALN^HbiA zp@q#%^2oO~Rv&O@y5~z-K#o?B3o#iwv#oy`&yS$iPqfE8*49;z<_4xgjsTUu>c>w{ z@2}d?1iP~TLgfCNc{Ud$csC&?MxQ2CvR=8IgV6=4Sbv=N8ED5 z3>YEU2*pPyY#FDN3u@<_%%%lAtChpJ*9#IMjWbZcjdteD5(F)>D~~9YEc41<%kMh7D!beIz3@7q``;#NPjsIPsUBL z(G5gg)WJJLG&7c2v-xKni*Qo;BVS@9Nc|3Hgv?g#(ChtB)--%{F8Q`MD?3~=bw07% z91qurgzm@-9fBH#eU$5xrNcvj{TU0%`EjkKwg~>dPWvO)dcf#Wtt>CoCrB?3S?qrW zp@SIwpD$g6*=g!1dA`J6@}Q6v zC*-I8#5BHNzo~?NQ|qMcxy{>xX9DMxF|Fl(EWp|=4k@15b^=AaTL1QHqth^JQS?;s zu=!{g>tPvem(}H|egQKxI_P$n9tuVZox#OaAtbZKFp|C5+P6qnU4ip*r2&zQrh0FM zws|5>i~H@tiPFKZ)$SPzG5lC%Xp0fUe6c*8B-f{!USwRYH;Br?EcU6Dp;{T@mBG61 zFrpineuR<-=q$pcAE}Ex$^edas`gpFHB%3!u^q>Gntyf!Ar;XC_1jIyes+65Sym=5 zH!7->X^mSiXQqZ{n_yy$S?XqlMVas96=2ZyGUaLwJcuVwD+m`G`%-{$bx@+9fYVGl z=n~j#+?J)z{(BQiJa1;T=fED*J^Yq%awXHY3|ccX!$7S^_*&^_IJeP$ieZ1!)1i8+KFON}6T8n+t_+dWs z=s|(v4ZhGC#vLh&Y@mn~v~30gx1}Rn>aS%ncjpCN^lwmx=YMaNz11{x7|pw+=oJ&x z5|Np4YD@w1!oOb zzNeySFHMu+Ferl8vJf8YRG5F6#JKL0;?Lx6PwbYe%H0dea;6(?FB{(iGjY>2eFDI} zCX24VVo~dwm>r!#@UK>om;q@+opNd+ZgPlpT$LML#-$DT^=Z6z&M%r(Cw;QCJ0WeB zFM~DbrDG?0ttC(6wRWBCST z=DJdqA#R9QUaa%dIa5)@Zi9}326x$+p)z!+?5&U+ z=NaA9XzMKt*#${)vX+F-YqUXGW0YO#qj>0VSvZo8oKev=@$x{E#SOUmAzePNjt-=+ zfwv4_!&(O}4p4$_@HTD+y1QNQQ)sxl4ey0?&529Fc zW)09uo!Lz5mlL>|HXS#p?_$ zSOI}bdWQWzQm*X#_@N#g3z|7xN^`7#pW(bz(yL`;f8%I{wblAT&~M-;>fc3r*F~2Z z+qy-jv-IL8ykAH)P#m9S;wEFPc~2=ziwG4KhxwTc;nraHy&Hmi^NPlNd;sRv6Pp*y z?IkjEjBz53Y%~f7&PM zbj)R$(%WELg~io)+?kDA62&`w&36@6hbD@0Ut?M{=e8#GL18IqCt+$u~dgTIXBC{`Qn*n z?jNqabT0(Bqga&W+EP^aJ4d$#>!R^35T>>24C7}R*&6pP$?V5Kp-NfBFkWCN( zcrPxW9^P-Nir_lnWqQj5mw7%BYQ-fU{G)}^<+m%vyaEw*wgqk<%9 zU`c}gv2rXG5d&32Y+jksDCV6&Pj=vaD!Xnqusbv3yPL%Fxw~z%vUwD_a8M9=di#|! zzc1sBr*fk&O4AVOKkkD&W!!MBF(@M^G#n57%s_?3TlQifXIGYp{c>mf&k8|qN);@l zbsf)Z{gb363$(T<2T5vovDD18_?_42t5YNYlN+apE^Rvj7wfFGmKi%tklmD8>kQMn zP-c0-ubAHaJ_83{M62r(+_q;rdGoatNt@bs0z;_Gox*2(a4fC$zkD9uxRSk4g$xxw zgIuIGLlq=2kHQ=@N33uk6aSG??arR#&mj)$pJi^?A6OB-oef-WTTyVfb6)GE2DB@# zGsF(C?5_^BEQrhidDDq4=Yi{0bK)|_mP%Q<>L*TCmmXpPS}ppFnvXiq@=EQwyXhvx z<)MB=ZK_lLI1A6$wo)w2AC^#`N?W~cGRg?!JFWD*V!1-Tmef{dF%@=+e8c+R}oGTg^pqKxhgQuv*V5XTd zjs@C5FW7WtwyuGijGdAA2;f1L-*gYyv5YbNAT%WSo5>y)8C-iKWl zORF`m{YW{b12nNPK~0&v71n;W7h3}uMyW-wlLLvNC#3UyH7^_#66ud=2DlA(?`l?I z+{(K>mg(FLH81DJ^H3kilB|hp%HdEwA|b>PO4@D3%ykT4u|#1wzvwX(M#W{NXRDFi z6KUbw<*}*8^bx^Qq5C9 zkD+9)n&oV@ls+bxXZJP!$6&2aY0JxG1&}bcwW3_HcdHpGv;J$mT^X2!D1!rYT3o@m|zVr`efVj)hYnk)FU0M@cYu5OT~evxiB z_KhAT4PLZB-KnDsir2}QY^dG2JMyGiT_3tysuuCa=hGTK0oan3_NE%w3=Aw_o6Ez6 z^nWcW8nwQ?LcS|)`b1V2%B>T_$I-8)v5$N=*t+r5cx9l&mW!0;J?Y?V$bC)GqqLC> zMj^XC6lA=vXhBywzD&wX%nMxt3uw&c);NQeAeY-&m&DA1S546(ujZmeR~f^znd{={ zt}@vf%W(Yhm9PQ7+)uPHPeMqZ?S=RP*69onpdB3`;bqE=`!Br8EQutsk`VDQ@DS&; zbh1HyIx!80IXO#7bL0+p0@fw}Nk@Z^$wlZnOKrHJxg+`t{gZx*3Y>*+vbdiCOVONz z7~fLN=0Ewpiwtj(Cg!LL50PN>jKE9-Ck=w-WBFL&Z|~8*9g1g4Pl!_7zMp0Q&zV_= z8Eom$1}DmYhfCER1h_I=P3a=7{hg|S)JdLnkOm((4fqLa;IiOpwY|s zRJ+8u@JTb})oOSorhC$~x3A!o!hr)H60r29FtbZ)Yq(ziW{p<0!F#{oQ<=*BxSR{) zoTs&yboEoC62oOuHc5UjZagk)m@Clj6F5;`AH9ZlBcgz4F&N5gfZHjhB@oKJDL|c-UXC6O$K~ z`D3ZdSXI7DmIb-Q)%xN1V(R3TLTz4r%+ydn9E%D6>$}P$ac7CdM_P&_;n9yaJmx(&kI3M+>SNmlwDEC)K zG%SfjwBChmFS)^{5XM^r8jBgf_tAuI$}Jt!JYD+UCU+F8L~^h4{B-(HBM$YM_t)d0pp`Q>tW}DuD5P7NAtut7nib>28iz8-2}4Ga_Qb!zJFrGn*M6@~LuEYq!Q zS%MSVYLg2ExTk#%C7`TDzQ$~B5~+)@g?jf{A0+JeC$hCdp0vZB$+I)fNQRX8WX%j5 z?j08(vv6Lk>Es%O6=x?Hv!OP9q%(SJYbQRN<2y{*L*nrd8ZfHw$@g7ILY8XtU>e?o zOEQ2Ao+>5U)g}a62?fL-0%O8xY~jZ803#a+eQ%R@Fc(MP3tSbLWvm+t_qL@8hM!;jPGL2kl5R;{^dggyBH4iTdz=t1YZf(MA^|72tH;q$!}dLXR7Ul?9J2AC9ck6 zJ1V<8@d7PNGikAK9j=@r+ioBS%C3bh9HS4r(JA-Y^k2s_}qe+Ot)!HeIsS;y?cE87X&}3RneX7xQoV4wa6GYFn=EW@~QBCV3 zmoW9pGy~Sm+(NCQXY)EVHCDRy&NcyW*QG1BYBi6XjX*OJgTF{lITNL1v~Z>MPc$k1 z?eHq34HRm;cFN~c7Ap;)*~WA1(@u+RZp9!Gy-QlE)R1AmJ31Hc;*3YFjwx5mH81NX zTWe^Do>H`GFg}*W$?URv!X_&#WW+EY&Wu>+A#J2nW69zi^ktb)%k-hKWPtS->(_*1 zFXyRTN$JX1qV+2!oPqxrOYlnE4ruJH`6oB9f}mzN64;xzKvv@?SSp^Yg=NF1F*R0y zdKSfrp%X?0Hh0GXY&Oq{xt}4CT5V(joc*8Wa*&-6kw+2uJ}IGSzFL9biL7&H7bcB3 zNlZ@gX{~GIiO0x;+hZG8HX+|J@vZTwkO^SF+4Nb>EiryEk=t09=a*yCPQEASrx zGa|=9=i({#lU8zi3RYly*-*E94NC`JE3gh@mSglZ?OdGpN*(vPM;vmQ)uE=p`PK-g zt=VM|TnAOpbNt1Au_;QHMFX*MY3IH4n-`u?7-?3aGL;+%e!weSnzMX}+T4o%E1!*O zSxj1Fi4^J|s`yeOQIh*|&R@mzUB|SPjLd-YS2yQ@D!KCptg4op=qwpi!*UPX)WGY} zer%fYbX*dCjCoNO?HT9RVB1y;5o@6rS)M*U*r6y}wV-G)#i_8$;^DskI7fcYr-yHu zjTPyJ6qqr;V=xOwh}o+X%vUQ=Rz}|;J~xPukm#RbVf+K2@@;`}pDh$;FhcR1hYS;( zYVq-mTzb%})fGci_Dj=fLz3;Icj2ifXTU$-6&FgC5oz*bi)mv`#2}e>uQisv1`jd# zmKWTJ{}f|`_HqxJcO5>B?6l3>VtF5Z;pU&^V}=k%QWR8Ak(Gc#-+6x9X61rDBhoYP)Lgabq%u|-(|Ndc zT@(z;yb6Z_E^i;36t?D2vYYQ@8;RC6t$7`3QQ3(z5{i~%L0TjFWa=WRi?Fd3Dhorc zF)&XauaNRV3<^1RUff%xwXBAlvd!0&5u{Rf4nCQy`T^p7_B`WVAFhU>pncX-cO{TY z6m{tz%b5Ltrbt_C@QmJ;Z@p5>sL|LTb^x>)NRbOYdH(GQN@(`Uv|u=&^{39Q&D$_P z(KvwO!4==xS71i&CTnNOL>Hq-(VOM_B}8jOe-!4v;|q6r@lS8K*SE zIt&QvH@Y>;@l=|~&|9SU)?~Dk6KS$=A}fVjziHWl%8P0|nYsDNk&06*$)Fd917I!K zjNokH2(Qfk;Cn^UA9s-IjgbP*qay{R`VEkCv2rJ#1AR_OB5i?Z2rI8XzbLe@;YG>G zWR@Dn57wc3vgzu^1MBCt#$sc@u=Uzx=qf@G@ead$-=Vlp8$Y48=lSvfT3n!nCGfyZ zJnf!C#t;5PD@jW_HdGR51cMay7<2q)eMAoXAcO3o8lWZ%tLdmG#W6}Bo@6ws%`U$U zV-K|(9u}skIYsjnmoAEU=;9DpA?_ID>bMrxE_zfOUBONq*oZ^n=AVk_knSzCCOaP) z-=u+9FY9^oRaZ!phdOp?YkG`dA!?!d% zBrg}`byC*a7Qlp$+}b==%^r@+4exTbAjqD2L~=*sfBX@}FlLd7Be=LF>R=$A49gVH zOLlUi^(Gz^qXxv+6KQfo8WnDvi_a?+wWvY_{F&LDG_{|AY=ZWiGFO`Cpm$wSt`@K2 z@nd()AIVa@P+q)m^LoreR&w2VGJF$a>M1oaMmbtP-LmOgNVZkj+49~H6PR_N?4_>Bl9f&oF&_l?2PQP z`vZ^6UyiBT*Rk^DqiW0nKQKekAEs)ti5zWtx=QNRy3K(h2ILY4U+VQj6XR+GA1gyLX&Orv54^=K!4MDy>9)dQ&;xe@` zVYq_{bOJXqTX~fJ*r>kxiKTi((Bh=kt4Y|!L3=2ZpOvwe2@65}5arQh)+YawbAB3dk8EhcYLHjQWd;R;=4r~Ip? z8+SBAA$1tw>5d=EREKdHi(Z(QOw46Gn(4t>nqx1;T+^;5(ciBJmTE4S{5FvzG071< z8t7pHly0umpGafxzuvhrJWk#(Ru9P4v{Z`6uqsM6E!1%YLMU9@1s%ee#div*EgdV= zgfxfHYY(hu?1z!Fq%=Z|UVfk#QnxJ@4f4`>XNHzjE}xeeQbI+16RrI`NoqTxpW*0 zK^9$SFo~Ko6YHS$1+}A?2ghVhf}HGXQ2B4O1xK>4_32pCh0?Fz+1b#Qa1G3JV%)d)S#_LE}wjSC6XDu z|34#4PgUSovG3!wj9bxWoVAro&pn!~nBV|IIWWXF0cZYCxe~ zXv5?-Nu43mgii-w{Y2%(X%5XZp_*JW#wJUiYv=K?Ssj1g$+-weBX#FyS|Y>sqGGIM6iUpHd4kS8+~TI34=Dj0({R<+7snntv%cZu1lIM2j% zzIB6@zIHz+nA6G@eZ!hHGYx z0&*k9!TE!wInCnYoo`8%=bz?VAB@-CprQ8?B0rgLk76)G`Xy+`HrX~xZG-r3m72uH zV!nZ3Op{s$<^vPTvSMRtDwT)r;vO0OlI*>P8AwEJY{r){-$y~YiFvKQ+8YKCgMAVJ zzz>Jp<~OY7w8Uq&udvSNs}B4K;4Fmwz>aNafQwIq&c%nou=JI`qK}#RI2Jor_}>Ux zN&=^ld;8lWICXldb*tWa_fz&Kr$JsDH9g?)HasM!=dkZ4$Q7-aiQP)=a=Gq$8QjKg zw92mu>U*T)@~5F+97}7#4^Om6apWv<&@* zKuUxubFWeL92vDk0)Lrwg1IlL-G=h>izY*w2XE0o>_^#tItxMg7?9aXJDyoCM~2JC z_o^u~c7#COUC1yOq(*0*e1qF%9ikM9k~!>IHs@BzvukBidC;Y5*Bu$G5WtI!o8=&u zqfXu7<}Chs+o-9`=mZnyty6e)X`E;_NH}XkB%)QT#jjze{qKNj;58!0EOmUjg3s7n z$Y|o#UTsW$i(T826X@amA8W`gHNhu?cKLJa=5fk9Goz9vRcc>XWukSM4Co8UWLO29 z`&hozRT-N~V2@3gbgtBYOF(W}sHQ3Ygjd%7fs%zvWl4j4r{ckRvY5D_n%-Q!V9lD9Vl42jgdk5=k<0An)fVYs?c= zOaChBEwa~7dVqnnP|uF(e0)5g`EIOf6mf@FUY~2c`EWR1i;IsY=}dlh$fPFBc5)3-xHc;g zrr5C+!!6HLN@59K2fpx8Cg-66Fo#X32X?gvvEa4ef~cfYqFeD{ibVW-0fIXlxB1o7 z29{-U-~L{K7bSF-58}yV47F1V=Qf?4uBC@$s2=)=uN-wW=Cq}+5GkfYzScYI(e@TngMUZD(+#Vj_EoBsY9J;rRC;5 zx2Z+=S!_W@;XQe)G-+yC;EBBU?Z^kSyJ`9oJ*=^mD!d|8Vtk?Gb!?>}Mjwspi#AU5 z4pSOG;p@Ft4F5lp&OD&$`v2pbZn?qsW_*AT@Bsz`1`GjrAD&G`CGT5PvuRkETA7xW zW~(r%Ozre2YbqIel=ZFbQdi+mEG@OWELU1lX_n%T^pM5^>&--{C&x8J4 z%TcBWu(jQ6ITY@Gv=N*yE1?*Al3QdtS$xUIsgc0#=q8%ekY>Ikz8#HUi2#_u9%{Z> zp?kI;fJpZu?f8rF?ez_uh2vIW{E%D^l7PFstw+l`{wltBg%j14rsSJ>OQIN4gHNpD zK$$qSl=8>4IHe7-Y&5M3_y%i~%gh>D9>4byIje;-oUYhEs@NSp*(PcI&!%CVf(8@W zG%?!tDGrC)LcYo&t$bywRI=~PR6fZ|eWPxz5Tb?;04DR6f=Wm8yGksmriLD} zh>t-cv+N!HU}eDPh6oVzL~oZgE4uMRJkmhHtZ2J5viI3^c=IZro)%l;cz{{mvzG)e ztD%EET?2s1((=zLfe@j6_%;HD{@!wgajxr-$&~NV4%%j*M@g0X*80lX{zJ zzo!Hc+Y4uO0iuij#S%}F+gBM1VsbUeIqqoaPNfkffBPTFmql53sjna{r%>>y-Kq5K zMMp9w$q?qp#aFX*VPizBTF8Z7aUll@MTVm3{46aeH~Cv?sbjDPmW6W)y6%&tdFLhl zX6tS_$$ zgtkC;-*$=q2JwNXX%*$ZbTwY1#d0a!qv0Mw{Su(yPO}IO5}oV7ORzQqbu=oJ_iLP= z;fv@NU0U>4B0x*+q%}idr`cUHnSon#X(5pX_06nd&be)y`P@Gf!5$G&5p5G&#`}p6 z0KjPg)(7`fDfIcl*@5jA*Y$&>H(alOQM?m!eyLCdyBm$)?w~WhU>xZSVqm6tO$}7z zl()QWHD^pT^!~@_Gn6S`XvSfD+4!Nd2)I+yP4!eJl73N}k4GbzoBxCnOcA%%sbs~3)QkI*+uPp_$QI>7 zKaYQNnR9|rkPgdG9%}+m8ygAetm{sYp|4XJeq8)hqo3b2J0Z)n0DJyV;UFr_f(4}X zE>}YtP{BbLhKU|g2lv6j5hWKRng(c?(!dwk`nc`>!sKnjf!abPIgj|RuQ)kJbPk&P zq9`h)tRS5q}zIK&Iv7dns!fpnN#KX3HiJL*Itl)lw&Zsl_2Kt$c5ms@ikXpaVva@q{(>={(wN528jX zKAqLRL)GUv#?bK_r~)dEu@jJM-}eaINT3$PZO@y;hO4dfb%FNvJksgxvp%^ET-qPK z0M~wpnmmR-QFsTxqFL&{b^(nM8VAW zU1ZlC3*&dO*L_l8zhVM@10Uvy+K1I~HvO>Vy=*k6b^$d5)puhNg=GC2wgUu<|BO<$ zMRt_4jk*U4HAD!^Xmc1>r265KKZik%2mA~Ie$Zoo8-F1Lp%*jOrE}}2%cIyr06;SP zKTk4r`yyi37U{yvV*SpPoF&fIYIS9Vsn!hHTnMS(TR<(yzUFV4+Kxr2Hi>ImoBC_4|Ap0nDihI^T*eqO2tOI%`4S+P*$EQEp;Nr4$us7!bMqG04dc_2W#5 z#7=It1Id@zsnG)Ul}|2F$rCr=G(JtM(H3^YiZusXQVNq1O8qT=+U%CwC5C1BjY8^`cH zVFRi2!8mSoTu>KGg3Y$c4{39?W8FDB*f|e?S;D22LftRw&87|)&VRxgVzXvLfh2^w z^_H`53->M5fkoZ~6q}`^7jLS?L>+!iVRR~5+vJQ$bv!L5r)iO`^8AAEo#D}*xmna8 zhAYL*w2KGJ(!jO>V$LiHL0GGhcHrmYL9bOmP!i?8ky33R)X7H3^=UDZ&CWSud46kw zC>g4P`X6joCQVMhNO?!>oh0!r29NZ5ncG7QnkTZR)7F|+41!ObjA<~0QRgCHqVDKL z36ah2fG;_l(V#YdM~2!>1x;5^1fe{V8SO!<4e30DssSi^)wrFhHJ}G*Wc^kcsz#@T zu^7P>1FH zKRAO&B$>rlWV4MtptV@vqHk7_Y`d*c2FK^pTdJ7XAj6)`(Khv_VGQCHgP6Byxc`_Z zj+Dga>w+!4Xl=6Q{;JY$amuFd8JoEEW=KS!e>vU{fojl3tv9B^9WOEM7|mQMY_{?`OLusq0GzDiMU zUo0vY&BBG2PB<#i|7M{eOGhQZcRDv3*IcMqlOFced9lu20(b>VDDT`4U|(*> zg%ei%4nL6fzBS!Wi>ps}_Ps9E2;NkHs{uhj;d(^gVgX9$TG}2+LYNnQObw&6B=rS~ zMdZBJ2(_sMxI0!Lb6EWxeT>0qi%Rjs^YXq^ziVqEF^^*~XlR;lv@#dei(f`+FZY+V zhsIIj#1c7Qc4s+$7Tp)vFYO`L`^AIP#k`SN#)!RMsRn<=3rN?lSRmeGyOTj3E_7jY zJf>B(NZRyYMf&GC&mT&QX18wcSWayy!xg{F4j+HWKr!KfcxxV*N@u=U)FNIkM(UrE z7yb)%b&>+J&k9O@7y%iizrzh;+6`b**?ON%(+}Zr>Ux{l^)$94`g7bnn#qX#1+;0hxIf!YxW;v82%{*MEzxIT&^#yS#9jff zArJY1oJ&MNhlic?$y|h@@`hYH^A8d*4Z-DOH0E?#ro{0~R)~u*?ZdX#Ek3K3@-Jfr zdI1p$;_`@JOT?(Dtk1jpfEQ<`(?VOKa@t1Ac!xVJ!z<$>^t<&@ZYC|8c&R7pan8<{ z#M6Vt#^Da9l$Cjfi)1UbWU~U52a}0i~X%GpT$; zwzIKaONoi_>L8Rv4vRM)f+47(h;m~sA*$J2yP*pCsBF>EMliu8@Q0kFfNZR5~&4jkyunB zkwen>O|D}jsqZ?ly@Up1%;GAB(Pe*gf^uFFhHJ!?QD;%Ad*T>2rARomJ7DKAm}IQ8 z9LT~=P5svnXq)QSaxEY*Mq;wk&&dlMD{_Tv}M z?sHiu6XHOy;_kF)cUoRL->Eqi9uQ!8F0*z3qjcLn$}gMP>9NwM$Fo2oRTA?N8RDwS{7l598dCK@^%EP=omw+04ZnxF=VMQR$LzQ=b>@9_?h&0*{JW z#Mpibz4}(ML`Wi|zc5q#Xmi}k7AEx~0vM`_mE~$h1P}xd1SW5yE47zh>*_pQFTD^9 zwT;=()1=+Dy?OOsF5^wmPTqWD80M1<}#@^GTKxh~iotJ?}HMspJCyT(9V%k`-DW48VmBo3H*fXffE_pP_MnN-+U^k{f(tNZ6 zvZ+d7NG?L>@%B9XQ%l9NjYv8H1)|aRS2%ii;u@eNr)EiW?C*=)5Zpq}1jh#P=tQDa z%03UObV|7kG9;h?W8xA(F^1CkZ)W??QpJIq&dpn;OjW)axThZS6 zCGips^)+Q8dw^)X6-gTjn*I#M0lu7ZE*LHLmfF)@ROOEkRGuvCSP1Z>cMVeQq!#&R zQQsE~K`CyH=>Q0oNmqbcR-WiiPACR)*lF+QlXUbPK&)VGrdIUxwNfh;6CF}CTTXnx zHhp?xrc?s<(cPze_Ca59a~*3U^dNf3v99P?CftOqjISNR;1vYo4h!6U@~RdaQtk5w zB4Cre4$5-{$wFzCL}F@xAK;Y!@rqc0gwif1l+z@qZbex<4NRyyMAZ(%<5u8XeOZZH zM9cPg3?yW^Q*G7s106-`(}g@3Y&_bBtEXAA5y3C|H88o3sx9IbjFgnK}I%&>C^~oK{Qh57I!EM82irWNZd` zE4az=GdMl=KQsZ(i4 z{3n;|tChDEfDSNLzq2vkuzO0R4hb$U)7hjn-fO5@y<-Z!1*#>frKvfoceSc&;u)C2 z(*F<&kGNtblk^9b)6ae!Eghho<(zYx#q92BioX}SJ6jxiw!m2tstMygaM#&n) zbSBp>?vnx-%A$CYM$4Wid!57=`PJXbVVMZ~K)83hP)ijxtkfmYWwqHONzr@t5s&n* z*y14wB5Tok^J!kNSYVXmZO=wZ6Jb(;cDB}WS^!e$G742IMBU(r4n@sZ%Ae!=`(vF3 z+=;UFx{TO7`xZ*hH9|KV%}VL`QxAS5CF=`HCdip^CODgL(`@KAOG`<~v>ybQgC=FU z0zBwu;%0`V%RK2BM_;R@F3u3i7U$(ScM@~=b$v#i?ofBwjv7tAS4*hVEK%*$F&%?`DXQQ~07IgOh}bbA zV^HueN1QZ-6w9O>t~aLIUS3MvNSHl(0FjD&t?1Lh9v^8YzLv-4s4Q`lqh*9XAikO+ zYKd@(b-?xL#?i3S-V3ov^#?K1^Qd@-=#@DdFcPUP8}%_T18x!FwJpDkmcH1%g^8?b z4+j+0K`zKXO(Es+bhH_nNflq;!3zFku6X;h(c4%SMc%}#ovk$GTtb$FeQe*fN?tg^ z;yhoaK^6yYLEGrZecNB+_`Ux*@ly?lqy9JslSTtd+0ks-uzn;&Ez&DSk7ZxMIU#IU zYlQh@j_Rx5*5-+766-H{p(6sl7E&=j$cnWEI@B z=HDd?b$tM`*)#G~T$aP>?c_0Y;9X(174+SEF!LC?*i z>$N{ydEYOb{Xyv)i$s35GOd)x`hwwoaZH6d-_0e4c|?35#WbLfWTv-U4~|rr<9mnD zOP5Trt|RHFC4T@8n8T`TeHFA5z4N7EY$b{Ru$!}%N@{l3MyL|)&xwzUkyk)OM7lt- z#3Uvi&M>p=g={DV)L6uO*T$A~o@Ib?%b@?=+P!`_ptA2*b3ZD1H4*OH7fVF5`;(+p z19;+QX$CUYTA$*bJY;SBiIw~4)Yz7TD!V|;qTJI*wUq$20GN?$f{x8*_2NMBa!;x! zQpGXDq|iP3z$8synAHztihFAa=WZw<*SXiv?-3VLe9E|4`ur3ZG%YcnNEBQU^FcEG zP>vWogCG-@BT0heNhMh*@jV>ySEWgD&4%j}qW}o97auUGA5&^!pL*q*Lf4c+M}D^0XjW#J0W329q)2aC?S(@zK9YgyMvIgN{KGFEyOWii-n)Ky z;^ySo_8m>Dk|Px!d##o70$TWY_Jg*@GE~3r#|n|JjYy0FRsYvTdyUS`Q*=@!FBYSk zJ9YrOhhVV_kr$P)5x)xpTHj^b>vu@j&GQY-cj0<1Q{sPIi4@5in9U95_K(Hj%2M2! zR+=%v@=CtgZJE4!geE)FQXf+2(SJhNKVy07zoc-;Nf1ChcAYQ1J2&e2v$%O43S>;ES40L$!~|@jYu4%=90kWt{l&_LB?hp#~L*k1EBV754KZ z#Oy4ZLgL&1NEZr<3yl44kM{3FsX+w0SLfLuom4rHuY6{ z`VeW9^aHf`b7pEA>S@OomtfeVVIw5vyvx7|VE?B8SMF0M9=U@oo>*r_Kf2Qzr4&@Q z%KA!S={-jUq@vZ`Q>|#1!6f5EIGzF+(L?rZohzfZfXdmstH3j;cNxGy_G1H1!63J3tcj#()2?W+C z5s+wL{5|EAkJcV1dw@LXjk@~l1*lhBUkOe*ohcO%A4I@YRdy2ciH%2Oyb}}4CP2-y z&QGpaKp!_&H+f{BNiKCR9bt~dG59jd&~j5Gjk5Qr zpk$?@ddikFr7xsa zKeA|sALU^%H(Ti}`frK&bf|j2ldN=nDXj!j#^9-?>Ob#@<&E-Bu&cxyWeC0ki6fb< z$U?})544FM^j1^6QM)=XakaSVHjw!8R4CD4&#VWnD$kG~R2kP5G@uOUjU5#A*Jz@@ z6ol4SiQe~E=L7#2@0g{0-NfFBGsz!B=;H0ih!@|Fu9YHd%fv1=JTdDY7$)@inHZyn z>3p4&6U7Sd!(MUOy9~qy1)$^UV#PJohxAs;hCgDwQ!Kg`B1#0CXGcG=_J!1I9bJr1 z)~({EiJ}LaYoYltwG5Q_e(lct!8u}BP+{+S``-GsM5z(+)MS7+rG!Nw1Uh!u!A* zk32#pap8Wt)5`fgR~o&X0X?PqoR@CH%rfbn8q%S6;GcYXb` zXtsU`HO8|`$rP1uo?&HGOxFi=eu{Z#Ouz;93|0SfmtsY>zf%1jNk5e9P?};Vo$V+c z++Uo0Ph^f2qX!{w@yI>WfcE%6i46avpZGOLWUR*{h2N(#)yKpJ@syQ=yKmZXR5QRH zbLU&0Eam)fC}BRGNVm@{0J|uj?M1ePne|r31MM%usl^Isj908&h63=g0@1Ih_-nBS z?D*9*<;96;w*f*tF)V;LV;He|DXK}O2|`` z*%QUK$$YM^M9_+wC}_E0EFTsKSKPT4;_kX5RBTQ?qCL0-jZm?T^0P&nPFz1!AY-;n z8e`zYxw}sJWgw-!_+D7R$S(x6L7IA~moAjbL7rb0ZsDbYV%y+VzZu2FAD*RcMG-3b zv1B#-0AnSE*jfjpO&0(Qd)%(PVN*W$H+P}_7e;$V8DHdV62GR&-o+&ua*w7VIW;F? zv)}oZSQ8ap9hBN7PoQQzL-}%|35W{Hw_?RZGCH}v^?>x0I-eG+poz|(rp=P6Gv{2M zCb2XFFOaKlD2Vq`(3FulfUY%Cr*2ja7MApIbXoAjB5lP<71Lf`4NaFv3s7gctrGo1 z`koKvNHhp$%`wSaMym5kGlvqzw)Y)W7C1d8vi~Q=8#mMY0HH#c&7O}$L$oKwd3lV= z9%!W^ZA@kssM+`oC|?E8gq8jLTdO3a=f*161mbQK&?4g6N8qyFb{}Kd{Slc{7xxv! zUgCn|RZt3dm90b|J|c1}l)sBf(!nzxRP7aO#K{3-(`<2Kp}I*GKgcWf9&>VX`ws4S zd82sb5|J@7@Pc>&pE_}A51EX-nI^$LomT5^2xCYB<@MrDX~wc@Hk!qk77yq}Ra7^N zOTk-maJ-(Wd}iSkkMAWzx+N^#n2RzIR}d$!z&44bPqsO$5HoMsMi(-EZPE@Fl)lp? zrOxYQT{MfROXWsdMz8}Urk=F6d1D<6+u}(?tjwY9)x1IM5MI9|Ig-dIEXJAGN}~0$ zK6;hR_8{$Z&vn7r7M5)Qc=u?^HPf37o`A~VPAQHrxp2jm{DAU!m!9UCY1B{pNlyeZ;Ct#pZE5AEC>EJoUyGPVS=gfK2p+D(mfm&A5B=JHORmmBBvzht9GUYdFh;hgU) zrPlVZUzEm|F%d0_gX|(7|^`kVlT~rwZB-*hx>c+~{+31@h8r2X!0u8#)1h=QH zSXRPr9Dq0;o*qh#St^WIdk_-)iCK|_O*y%UNU_#}*VYyl6MpZ# zHMXhZ>SskOdXW7MVK1;axK93CP&)IVtiyirTyN^>q=zPNkXqWE#9{WKcZi!*xxxm~ zk~W{ySDc(fyhs^fUV*q3WA_mt1Zrr&`EhBNF4mDzVNZrmr}M&33!-7|@ze&rUY|ZI zj6r#TpN8FdCVTt=e&UVP`uHY~J5n1C;>w*B_V6b+{t|A|;D|e7&8k5$yf(mJgFb&y zegql}mkoJ*wZ2d|tk3d$_|-5z_Z~k+^C5EpA3b<+&Wi?c#LZby}0v)L$x0L^ANYN?&v5)NZ8A7xVbzh zVIYk7YJ`U){P*+AA~x z3q`!(*u9RN67JZIvxqxj9>(2!LVli>Tku3s985>ABj9)3sq-5Tm(a@h1u!f3asmV1 zE9cpRjE_GQ(SKr$_&tm{PZtSAxZR+$N#}7a()o;AO`cH1S&GNZ}yzmeo z@cToVyQ};>riW{KBXss`+>76<-(utQ5kd~0&mZ9O0ic#{pK-cd&XsTkn?+_rkTG6U z&TELcJy4*%=3zCA5A((E=W?i4Biv=&nimQ2^24aU>(EhfG?~2qusKo_sP%D^J|D{Y z9@hjnx5Z3h263OE+BBwCkT>S%ugpTHTffS}#0Vn8<7wDNg|DYW*!bs&$JtcKiwT51 zwSLC{>L}(Dd?d&dd--uB$iKV!gD(u|o|hL6HF?}#o`)OsM3~}!b91(rXY+;X&tvk` zG~2PioayalSOZ>Wg+5C^J)1QWiUf@3;OTf?Qgqk`Enf4LB*;n6V?kc&MctznL zvmo5C$HG-2`h(egQ8?f+4wJv@=ikw2My#NInV*06qekoT1sQ~()R5Je(h(2o_n{-@ z+RsQv7@r6RyMc&xtBJLv?_=Xt1wt(&VzuSG6h9;F3;CQyHM}$*7C0fmx`FFfm0(EE zVEMuk{ToKSKJ>c_nW@}Y7>}fAS+qgA_J$(XbG%#+)*(UWx}QlO!5R4#lRp@Wc6V-! z-DC;MC%BorF;>Vi@if2lt`$&V{&6j&wC7~duQnzPSOPqV z{;-@xS**_1o3lf_7EidP3xv)@ZXV;u^};PNH@k|T=l8M0pys;G&)s^td#{_R>1Xhr z6G|9PR$$N*aPCLaw<@;P;PK$c=>@Csos9?exzUFAIW{`Jw{a&F2#$jMKT{YPewlr_RnI<>?j`QWzdsz0%NAnEkSk!do_L6=9uFFLnPeMyPQMH2YE5#2_)7MM89GxVM2M? z?Re#zY-}6eNXz#;fpxkr9Jk_H8-z>voyo#ggQ>TrsJ_1?1|n-$2``xoc|t*#J7L0M zA%HO*j73xOX`LtOO3oU-jf%A=@sf?Z;{M)_Z+E2GSkgYJK%zrSyM9kgm*_GJ>)jhW zXK;I+6OhMAePQAB@*Q3eju4nwIQ-Dja=D*J*zSV<;YYZUP?&Ip|NA0MKP3*Jk`Oe$ zQQwoI#VC`F72@|utAQ^176vW$ld(ePhe*;riCS^P+SH&D2FSxS_IQ!&On$4+iVZPD z{Pp_e4x+P*@aZ-VlkvMU-4yNHglg)^tFi;k9&YLd{cilKgI;_(0g7p?YMOAi#1Faf`JG>2(g93Ly9D?i)FO@ z4w?OBb8?f;zwmQgnCb3|4bcTw#7bCdoH?GLC)uriy^Xyl;*M7#!SCm&7iDRVcT!&s zKSIBwEib}m9r5{%kXhoHyo!jp(~Lw#;}V@W^_QcDu?l;5T1534Cz`?`@cX8QwHV|9 zPf54Qv)3~`JC9pqzCfsf`sP}h%~JD3{GI=$6{E5}iG!$=`Y>9PWxi$;Rx`fXIe-o` zs5D#TriK@i57U?U0-Z1QY5Xqs6_#4`SCiKpaXjEU&9?>P*HR#XRfu;@%>mHGQakUA_6Ou|a=js8Z740nhCd?1|lSrRzoC8@AhU_2HeB~N1<1HsPw$=_|vw?I$~ z5iNJ6I_W%%qZV<0T76~XCdm^C0@s*3JAM|PC$p?knqP(~<&m~NWOZUGZQ&I3V`)Y4 z?<}ef#Kb;7M|QBy;#kMVeY#3Nv3e+I27_lxIlNjpKAd7eTCZqsbEtEwqE3t&|c!XWPzL z*hGC`o_RB_qSV_QbYvevq+OkEdP5~_z+UD)-a3QL$(MP8OldJ^v$ZduYd3kqp2XG0 zb8tNa@q3aJbrEAlva7-EQ-E*zBQKEin}{GC8yjcSC9#nd1cUJnRGM`JkHAObi`ao@ zni^*lN|B+?{fVUl_g`1rI7R1iZA>n=1X=8SlpLB`IwU6`MBM~%d)fwbGP3<#F&qJ0 zL>WNiQJWVS!uYOOWL^QX*v5Vza=TW>d!hI-IgLURAG^WEX#^2R7j~xAPRI_j6$RZ$ zINmEb*5Lk0I$mZ*Yca=qfI_>@-*OacIAyy~*u9Xq>DVA0*;Bo6VMHdeK{C6SNQ}WX zRw6}jYH7z$&c)H7{5|wb!@-uAY-l%F*(o{mn?6shkWR=!}*FX32C7dgme;2BiUa?h$Y~ewoRnO?PkhSpR z^NYn6^EvF78dwKWYS2xeOS0bQz|9Dn!j!y|KQplGmrt8deE~7+^K=Yg!xG1BR^)N& z@h4tt$hNT8_#OLggwZ~4>8FZ`p!_80)=&@uUV1XQStu~N&4;6_nXQR&1ixYM%pwPo zLhv_iXh2O0kj1u+Q!%QV3Cp4zvDYxe_jZ1Nl^;F6A>%Z-u3q z<#^q-SWZJ9fG8d$H=Q;l-NV;1DDwi?1>$Z7wICUyW;^Hp*cQiesgM$g#;o9&w_oT-K8HW zPYv|OSUF7->njtVB+5>`t^R>DE_h2_;8Y1ab(odz!HiHo_&yslVj7&8J++@jd&M|;XGWBnkX<0 z^Yqx~Trex05X2j>X0e6;Uxso9o2Fo=4;8nF7$aK*M>E=&(}nm&1%J=2E&(rV%b`od zR0Vq2O=V+bxt9HY|$tG)ygyFMgM)x$@69U?U-U*9{rdr0IQAo6 z15+v$a!zPIiY^=iKEQmk62(%G_>v6FK{x|Q_!>RPNjXj%!a@4GvQkHzkcQ%ynJj~* zi5K3t)B)GOVShJ61vj$|YwJM65$rjcKmo^KrY6NwVs1YdZwpg z{j0#>3j#$YfM8q>2m5zy|zKV0j3RJ_gWJeG=1uwrvP8*B_m9Ci_?$UN`ILrk^ zXCVnWi+BZok6hzEuljI?jUtQ3C+qQ-Wi#RE-`%I#$Z%Nj7|pGfjkj71{3oHK`Eva;pnqzrU0qf zN~k)zVC?aDFV}u(d@`jaUIW!|l4|F&`m1z)bA<-+$XQ6E_J5ahD^`tc5Zs8#D*l6; zBE{C`b+JvnE3}4^W1AP)sP#ocoGp&aXrx~U+$FX}oX-Ol?Qh08BOe`(6}_U9q`b!G z>IVz?{w)@A=SZd`r(c{-J>T&htD%6x?6NA&>zJ!3dMG6dThy-M*Jpe10|b-<B!(7DnhgP113 zW;gnJ$&7?q@M#el3K_jb(Ntt{Ov!%rM8p#Xct>wPBWa~vkrT#8u#735JN6xLPHbGoef%LP3Iy=xI{;n-ogx!4Vv}@^ zOU|%SRP#!R6MLN34SP8xzS1zdLzSj`np_T@b7;BfB&0NGRWHfVXQA1dC?kHM5x&J_ zA&$lQ5ZE4Yq$&2q)WlOdKS2*G@<3i9h{8;<{u!ubL=Z@R+bGcnc}ZrvH(XHa23zH! z<7<0K%DseS%coU2n3N|jiy7$!U+3ErwDWMT6!NLbHJ(T=G`J(mR~d#tq$Sq=$c2}C zB8&6@tTe2;-!h>W1W_ia2g>VHAF`6lMF2IY?pN1jaazBdd%>|ncK;ER`PZb(Q=wkO z+lVq@V(G#M*Mp;G6J$${Xcs$@@5ct(h$8%c^9lWfCeEJrn+T2`Fzcu5Lb2zR6KW>U zCR>j0aO%?zhG4+HH@8q`3oxJGve?M(17Qu^FA{Sb3-v!rqUA*vu#lXLVRR#=F^vJE zotAhmoGqS{A*ytjYcvDk#1u1(qfC^}s1)sqq#h>dLE`qT#0}17zmOa|&YIsD53e~Z zhO>F}df+s&A!sT~^mL`g()BI)OiP-3C{k^Lr$C6KUCUjsk8(7^*gi{3}b zx<+}mh+G`Pj1CiQM-!F44yOEXnM6@ReTIOW=LYP61#D#W-5?-9>l#?z%A*CqTnR6H z{`g0bemJMV{VIhrmz5xHdluLy=HU}I=~%#I@~AXBL&%`PG{?OybU|H`fa(-)g;jlX zR(&=o0mW`-Mvu4shqUD_ld*wcr!5Yv<0>)h;vIxrGoXBkwE8vG{8Sp?vVhewaZ;(Yn6 z@|NHA9_;K`a61aAL@bfiJ-k3y7V|D?*psS(Q>usY({Q;25Hf?=uM5p$*AV&c~xwAU{~H2Eopqu#{vmWxmjFGUxm^}0Pb^|17xQ~$^Z zK|9oJqdMmGgUa1k7TqSM6Z71(iLw!<6To7OC#3n)R_+FOh;%>|0ekdvsG5$Pq$Kp~ zq_Z)KskB|ACMc8}*$xnkF$Kf!`t!*h20!0gRNA-5F@ih0V3&7g8E}_h(kWlcuI2rT zaSfXbC36Xj0bQ$Sy4SiMAfx4Nz_`D?goE6J05g@du7FP4jkuL$O8ZZz~R^mrU&N}akqg0;!vYMB?Nr!8>15GaFf)T|OJ74jjs(e}5 zIViqB)T*fwWUAXS;S8W6<~R-Fdm={(x?YUporTJGCIz0ap$t{8P(vkPdP*qQpp2j( z^9)Y(GYjCm)d8myg*fP`BNhsAKiKTqzSqq$73GKipxKk({4O>KTeB z5NiP7T#4;kn)0N%;@yn+ySR1*B)IJTd=M;gpy`kzxX(}qV;9SCu4J=$(%iPW?Euq7 z_T!0kBuYP8Ml~=95g~eZiwJ(yy9AB^xd%9 zHQ?s2p!a|`9~(7@TbSx0NCdi|;~nKltm1gThW%w$sbg^IZ$Kihirq&CqQa`mJLa%{c#d)i5_uLWlWW?SVz&( z52argJR+2jx+rfdkc&|ic(H;-<9Go9h~ekiiF{%lP^9<*>0LrL-QMlsdW7ddwmMZn z2w$3`hr}iasR1l^s6-u14*QihE*^1glr6h}c2{*$mG6CLseNy*(r%A^EZ(bxQT{q< zoLp)VIHqGo;vqP=?5HjvXVC`7Wx4EP8Ic2L?w{Qk`D4LA-5n$p{!CWT?G#cBaSye+a(WKf3KO&3~Lq#IqC@hIRR zxlXO2r}-jNAljmb{^At+v|!lu3*;anRf+)Kzc7%hni9@SmO zy#AAOB=-4;v{FDn;Zk$!t&Wux-`uG-ZA!W*FHWIq)4n`DEp}5J6$A_e6sC^MAVpqP z>q`n05QHhbb%<+9-VNiAmd~&XDpz6!6lI4@h3ZPw>xs7+VFEo-j_S>%82` zWbZ6t9|_37f3R6%g-29721JMBuc^W!_Fy^3!hj3g1*WL}6Y1gjTCu>*dkaKnaPT~i zvb`EPSZUq-a4sE;u*Y4$Hueu>4Oqot?NSar#Zr>(Bd`j&8fT(U`cd6s@Y}g`bK%dYs!N%X>`) zQQTT74x3{k()E!>?JJSs>+y<~%x9vbWX_9ktX$5@RFBUV^2a~{@!NM}`u)g_7R`PStsK6+Mo`p71+ zLGMyhnQfb+t4$QUC`of@9bCu(z~O_Cp9DT^sN_)AChrLo-@L4AT1QmtVT>Eu~#~ILCamvl6JwQrS_|4J(BTgHZ zmHIzY=93|E&yM939sfm1mU)CRlQ9de@7n;NA#E2BA9=-Ak96LF0q}Ar@F}2sBN3cI zV9&U(IfuD^pHm7QhUjmN&yajNR}FN?f9!k~6|<1ItG3}hHjHo7F#WnVz{+s^TR|Q8twftx!>_^K`Y!qH0~FX_ch!2q?c5D7MVA$EBp=dHpNO zjZR7i4Z~yh#$T{60yW>amcmnCCa31gPn~U!C1+?rwJ#GFPO63MQe>U+quSRJu1=EZ z5p%S}&0FmEoHzjlXk(=k-|8roVO78*cDpbY52oH!o?tBP^Xw@~%v_eOhP)Zj z644cA96|7HAmNs%Fyp=2t$DPZA_^v`k?UrQSgv@oGEpoSK`@OXRP=gsbCOA&H@Rta z<%((I6%RKfeHxKnhoGEPrB>2!`PBS~y=7!P3i(f1o=9MelC-&=olE1O4aP-iH zU^c#+;i!UP3C``AI+WX$%?LBsNS{eM4l_-%EUIDLja|!pR7Hh#O=1PBs;i&azJ9ng zJLs8~T7YiaMgo%PaE`OH&V%2!Jwg8RBToeyGb255y9h&{2J-$7cfx~&d$j)nqWhjo z;}d9F?4Wuf^f}t3yd>a;NNp@YnTB=0z9#txb%|gI5U$SM@jf71F0x!^XJsYgNyI%o z4V8%d1k?vrLog!i4#UKIH5j=`2pVoG?BxHaQ0pD2qQDUJs=^%2 z7IOk3KUYH{?@}{)c|iPPrzZj8ZL?MR$KR3@TQ4!#3Wp!(4I5XY22NdDw2f=dyfw*-)1H(606_OVv)!pI;M825zBH|mGAqhX-SR? z5uBgz;wb}OlJa+Ri54${{DpO&<9p+De(nvjM4&fZgkYF*Q7(l$@nybbKHV-`B|egX zNV>A7V(w3H`0nErM%<@yAjs5Ke;-hjjThdjKe?X`q-{P!N+Woq) zXQMJZi$iL>lUx->D0|AU)>wpOXRSacc2RcnVqLKFZ2WfMkD*Q%L7f%h z@=`oFdQrF`bUqP#9M=me`$Y1^CijIRMpxm@F+vw=p*~Tk3p3Wxu7hod41T|>iFy2k zDpuQ;K20i-JwFv70Us`$7L_^HGYp z(c8tFs6x2h-0sv80zQ@`#sC@d5u#8-h>=9{g@l3jv$!muGINN|^h9BFi*ej=!;$Fa z7Y>SH7)*x<4x~J$SRJIqKpgsuhaJXTB==@A0(b};dh)OP>bUEvX^5nq<~-ZJnb|Sd zLX!~4?Gq;Y3G6DorMFA5L?z2=i8=O~$fG!C*`kPL-p^Nt%A~?)r()AXlSJ{pX-!M& z56HUV0tz3&xj(i0l}alBG!UZn-oB>RA+D%GoN|5v-^13_&{L+4>%6FuY_}*m7O9~1 zl#f_sUzsS$fY?cS!~kOJAD-#M*ay z_)4bH`R$)BSf zPjMNMuwf=S*?%%7`7pBM|D@oZbNh?W} zaBO+R{5o3Gvfj$pj0rXDLWc2sNkQT;324+zet{@j!^uh%vs==X7xYOj)%uu{3MMJc z?&&V`FqjDy>G3gAy71D%xddg%n=C4pA_Z2>PEq^6)%x$^MQyjnM{x7bLh(y)0$TlU z5~KF@*eUXmj=KP`L>w=4xY}pP3gWQ>sX2eP8jn4Me4wm?%$-|k@l(6jL=TZ&g=h~! z5y^np(L^J4crU2VIxi9(nERR=?I4ey5UL|7rwFGc76j-`!Q|;tAwkGEISf-m$ChbZ_CBrTD6D5D?OYp^*e$q zw##E4f}gjH(xs$VKMSW5pfmARYjOK;M7>>dIU->66J#HfxAs;*hUafpQYXe~Nu6Fn z^!a3F{B#9oid884`|LMSO!LY0O>CIiEU>OyjElCw;KV#n623jdFUNl3L$zk3Nmo!^)!h6iS>Pi1HL;%a7Isv~BC>foDE;xih zsS9Ba-?#*(IBy}hLc>CZfDf6A4|@?84$YL-y4@tX;Tj(`f10w&-S|nB$i?$bwb1*( z)x$Z*XfP}yNIQ$q`{DJQ1l~kui{UE`qKG_-ZnZV+pC!ra& z^^o_%7mNxLOmvnQBNr-UcU%ks3nd`92)x&my-1gSqrlCY?v^z5s*C=DEA?RRV z@Ld6Ohnf#}GS-Em84pto+Cj8?guk57W#K0A;6S!p=EN|ZG_vrDd@N17HiOV)xt!@^ z9TX9G10K1J9x372fR@JbK>oh7ROf@dde_N0l1MEI28mM_Bl!&!2TcGTtgs02@uM<4 z__nw73E$!Xy&P0*y?F8Gt;msZI6whVoMy`KUMi-)_pw9DySFz5f=HC0%C(`$Ea`Y>@WFH;MWnb-9jYtV3$v>UAFQ66dm@ zM|{}>>c9ybk>Lp_lR?qgQ#4nIwS8OeN-k`imudxI=I$>gR{RzJ3o2npR_sUMWZXz^Fb>@+C842dV|cn(7GQV&(ch*zCfN+nm` z*szE^)H$MlF4wm(S#K~U&gh>3TH&|uCOrmW^-d2CBR|q9vX6tP8Fb$wlt6}=lC$ks zmL;9){k4F%B^|2Ka-og_CsdrVvU_31o?kDJ(F3?dDMK5PD=Tkf>S3=EJh38<^%9r+ zNbfYN)1mnN3Ta759+x9sa(~ztMM#xBmWlFWZwAU=@7$;_P419A7CP%RG1)V^BLFI| z$}%Rc!?hryk!%gi5pd#vlUwSNU4i*V#PAY1ozIp=FK6P_m8mDP z=<&cwM6-pf;gl^+?XX=?h;Aq-P6&s3A!% zWvx@ZN8Q}7JqG6xF-~3r*o3{cZ~{+-$?INp05E}XM^291`ISNVsJ$5kW-W)}xUX3)C6($o<5_>S`3(8Fhq(CIjCUZ#pT8*v(G1JGK~aRK9%Z z+ka%@8X!g5uHgMh>haCdrjD2@Hc1)CMY;46Z!1jf6BBYNOH3)?IzKt&?ibK5#I1gj z8x^U(!>?Dk!VEq$M^xRro>AaDVzhFK#^3S9mx#W(p?}4 zqrXaoEJ!j5`$URYe-4^-d};g}xGUZcmflmB~dND*Pv1819@~KKA;2 zrB$@z?ii&BnlKV7AOW&%O%YKy$*bhM-;Nbj9$;S?9-xrHL zY2uz@<;8q@D6Sf9T0pXQc1I7;e*=wjB2q+<&vT9Lg$+;YZ0l5Iva@*svg@z)5tsF# z>7!S^EW{Z}_Q5p7FOVq<(s2)n;a2>UkmX}`I{V2;)m<4|PqQGTU~=Ur&)c1)RA&i8 zI&J+s=p`vriNHfSGyz!tHjtU#0B8(~ewxa*;I%(w6|cID$3f26Z|hIXNfxHA)rg;( zJkiSNhjMfDn1?yOCuw(!H|)bNxBnQFr68Z&Fy81ZLIJLP(I^;~A*j;y-E{u8NwV}D zqFcq(`M%gWz&KC5+Ff)wpvIwnOzrtlp8eZ=Wu%JQw0wk6294J;Vltw9l18=;h^-q& zNq0`7?n3}qGY^Z~iP?+L-bU#V9tDOMvh}hQsUWS^ z;dp^xfm~f?rCY18!yxb8y_f9I`fB6!l*CxnFd(oJNCC^cZMZJjQiV*yhdIWXK(P+w z2!9BR3Fc2h859QbO=YK#^A@|XZoEairLTC+D@!YH0%aUs8MR@b0yI%>X1%KQQ&N{? zM(_ZnO@Cdc1|!g)Pw|cxI+70M;zmWeGLIqJIf{^n(c<9On`mTv>-UI5Y3MzPuP-5$ zmYU1BG#w3SZ`E^BH{@u??e^<3C4N$DsFd{vCPVZH3?b30o}yCbIfZ&`-ca&Gf722I zo56*$zT{g$bfi2PLIqLwd)R*wsbJ84$Dm&6IaDd2WdkdZL%H>0UZm{o zqm3Q_r}unSQpE&NiWi<6h$H9lwc^UYsX5}&fvRl$rYS?RNT_*_vgf|WLlQ^X02Q9@ zPSMq@eQ9>QpqxPYs&wuW@h!DR@r_s9GL((G+!B9{Hq74Il@vWa%9vvDYlAL;OV#E) z!iI-YHju(1>u48|dB!~~tZOskd!ZUD$55V>8cTjEZJ@sclKe|K`7ihX`Zj&jk}oF? zB?q$C+(X??X=M3}VTobus7Gzam@?k!zXlVkDZbGk_BElypq{)jkR#96?dqsVx@kD|a&Qf~oe_{n4G z74&vU;n1GlJ`MAn=_7*3DoTucYh)pg*D}^W!68c8QtWJ*@uv#I0<>l>hxmnJ8$;c*L$!aZjIS znH@BZXY~H0&mMrBPnj=RqICFSNqDgXx==H;yL3L3QP8Tr*UuXCcrb3AF-Folr)M>s zjOQQ%ru3)k@^FSmhta3C4UxeS+NdL-)vM*D%0nd`-DuSA{hz&4&m!WRa7Znxq}s?v zaG#qb^Ec_E>OJ|kflA)n8a^oEFQ=l>kaPxR13{9-sl!^kU4FSmA(M%Yz*i#Xgjz?WYu~7SZdecZl~x;Ncu^QLq6V9RYp) z2kL>!WtnrA#9{CDjGi|);|wL9FA#PIh*R-Fcec(YE>TmB6fqs5&jq^;?F2^?q~2!= zw6DwY8aXsVTr$M|aE7wmCT8^}ZR3O-5; zhb*|%5Sggrg~9$u4~}GED((6?4#0wKkKHW25L`AaaW_(_{2|Eq8H)Fr=lZK=@AVXv_5nJ`WC5Q7SdV2wFDhy``r`7!ok4V z9BD{KQ6YFBGd6`*vIkn6B##6kErj6B<>+$$=`iH1`Myie53iqj!cdsAp@E-Wlw;EA z{@vWAsw<@94GsFtVMd)^Z@Q}Mzec@j$dhJ$hDEpN)_;sP)3m29;=ixmZ!ww-&wp<= znfCvw=Lau2P5eL^Vh$S?-)lA*(rm_lrhnaS=8FyQ&M=2fOT7l8+hFfv&NKCXq?^%Z zNcZShTXecBuH%=_KW45nZTTYISYo(#o3WckH|IO6(QKN!U2x5#SMeJ|cbcy?Oih?e z4B5}}6?HF~7ny$exeJ#(x0QeSWwP0A`0f$&vxa>>^CH7vmzt{#?>=q**l^Q+^C-iS z20l0C4}RrP$Q3r&uQA_dxHDodF@;B`8Lu+5nE35qzj9R>ibnE_k!#JX3>)|Gr+s$w zazp9MeBY2cW}6{!FaLR94PVlJ%sj-<{}|Wbbds+NeZpr4ZZuzRxZ)YtF2mV{eAZKG z-fQR`;?|F@Fi+C;sC64+5k9ZnXTHjC=`x1pixK803^(rJQ~i&a&luX?;Zx-ob63u; z8OAe)?3eia;J)0!jA1heE z`Z7K>;6qo5Vd%3A_MX2O>{I{c6W>lUPcl5ek53p>9%$GkzURC7T(smZ{-JmsSIHc~ zUpoeHftxzGz@ztYy>3sKpE4Z!!nN1%`c&S@rCk{2e5dPj!wrkLish(zi0&6Fk1>Q- zvMt+n#_&<5`M4q8!8QMukNeo2t|ts9dUGo`4Q3iV`-6GE;f@!%pL-|sJ$qbS_=m5V z3$uH30d*52qEGO#X*O;z;4|+sST`_+pX8g*8wTIbd%p1(t`gnBE= z-%9vIO+WK--G&u5!=Jl&w;z~XqYSgJWs2PPCf^$A&3MEX^1Hgx%qe?_&p$3_$Rq=Q z4eaEd6+Z9EGi;c~lc`3R+t4zX&+d}%de~5NiEf8=m*Mq6T=>&@%#e_-;VQ$z&-h(e zKOXV;H~gA2n~S{ChnscE*HwIgs~f6aI>TR2^DDd3`R?Ms`IWtYGtVBH#MfTiz@S*` z`Q`B&7_DbYc)YFKxj^P5u2(#pvFy>zcl~L{}C3zGyF2o%a zFb^6HPTX;|K}B)2;*N?MR5Wf}6=$)E;zsL;tKy)>I*QhT)`40SM=M&bzt8=?uYbhk zd7gXkx#xV&xaXexP*=i42X(~Hzs5?L)Zv_5Ndxxa=Rq##Q&=_dEU+$~d;J&Woxc;E zHt_+aYnx$`AF2U_B_)OA{S{P1Ova^yo)|)#fj<4RK;DE#Am#j7$v`s(O8HdefK=M9 z$Bpo<=Zwi&P)MuVlNYi$Mn65z>cq0M0GxsW8G~gfLQ@Vm-wzq*4 zbuZ9C^#Q;_VKE*?c%Mni79i=jb>QE$*T7;W2Rk~i0!U8&3>n?Y06k-V24xSH;<
}>`H-!{llF~3i=ka+vY1-DC;Tum@MJLc>_bwZLTb0 zJxes?E@L7GP5>+mS@W`wVl<5H|EhJ0N4H$;Fal zEEG`_Sh;rysO{5U%BAo*7;DaaJe6R^w;Nrg3~D$_@Nlr`V;7|R;XL}C_Z6h8hrv2{ zmKfPDT&JQ=y>atp6M*2E84cEThk<{x8OR#35!#f~u*+{^m(>8F)xChevAS<2hF;DfN0rzoZ zM-RzCP4~!EEYW14S*_$en!Ot=xP(9QK(%`c&MgAHJ1ih>RjE?VY80rc(M?S7r>l~c zZ8sSy`YWXSDgZVs?JM~HE(sCCQ&m3Q{UjAqSQoVBcO(Nz4`F^S{+RcLAE12a?}N5I zsSx}8W*~KGP4MSWF^X{>JmU?nRWN6|md+u8x`$Evh+w;7lpR7Z%W8#=GEPf}28J?1w04aony01O=~p}_(Z zKsC{dk7Qr)cfwR?kn20#2)K#q7#iU@(-AOYy+$DW0(ekA-9cxpxD>G!5^TszJ;`k_ zY{Lic^rpv6Fk=50phfoxkEBmj+Sod7RnVZ_U_iAUkU?kw9$DKO_#B;Mp^DKM=JYBw z_^DXRryK1+?DN+6;E75rt5SAQu;_De{=W({v-c4ClsACmZdbv;FuSCsBSD}zS)GaBBDYX6rCf3M|o4(vxi&7t=LCOIT)~ps3 z=L2R(>%t^G+nSz7?j{TqbvwI~G+$r={tLh`113lsLdMWe`D4LFLhQ>Xa*Yp-+=5Ob ze@E|$+wok^G}%s}N6~xl7vR_=Ugk;p!ovQbmokaIf|W~-;kgdqKuE_0d)vRlRDSP> zAzKwoMw&DU9C+9X+^S{4!`0S;w6OiW%8SmIN(#z84?0hm;>Or^AZPXO z=>6jqQ1^5Yc)UtdYN?ht?wLLj^Wzb5qK`CShmuzm7pb03ynV96yMfg$0N4oz{>XYd|EpdBL=<440uJlglMOU|DZsI15pGNj!9dw_q1D+llrH8L<0O|C zS|Rw>(dD!7t!?U}V{J1@!Pao5q8S|5>i0xXUv7c2Kl9K@%O646$x#^5Rtr{b8!z{y z29datDHa#w#KTvTAfe}i{ppg7!A^qYQT_3;H3Zi*Jt2+$Ct)POs)!?53hj1COETFK2GH0K+T zmNp$Or}1j=p!AZI!3vcv6>Qrr!1_};Se!4^`DJ~WviaQM#qL*RlD!AssGZKsyqKi` z-nTW3txpJa;kyb9zsv`)iQ)!d3i=7(Hi!`9=b_+Ky=Z7^ziF8F>ss)5C%E315@j&y z;=dSSfm3;!Ciljuj(!kCopfAFK7()HK8M{u#TCBP%nAhd-i|SLE|t{G$noO-kvun$ zb>tboX^$g=x;Y0vU8QN?NL&1mVoSl2%HWCj-YP8ew`P#-jVF zB?_vR3qiJhgG*TbIBAR@I1?+ptmgMLBdu%!Bz(6`ilgU<09Yii45lleLC>X!xRLz~ zw)pu(NONy3shpx3V^%E=0 ziZfrD(_d21zgGc?_;ek8GQs4hajQ4&?~E=7bpTj@^+WT)=|*;q7X`2W#~e7+1M&|DhdAjLY|w7* z3ZWin)AGr*9yd;hV@lWF0`=1l02y6;(O=CakYKI-wh!?K>3TFK$mPb>a_}CkR zad&-|wal%=N(FCaBN^IYUXvy4!KfEP0bd=*6YsBrVfRJqq+UO;WK1a}#)P|Vv=(95 zdam`PE-$4_NY?I2aXm5EZ}TzO?qm>kc^R7ZFhc-YoO#gTGmvNMe&t%);f0<@Jj5e6 zI)c#d)zDvCe{iJd_fjt9Ji=OT2+#Cq)3~uNg>i^+{y02*YNUik`D)<98GwKq78s1jCceebSC9fNhPQ--2tFt{Xm(=6QMqTgMc&8Vj)@XX^isL+>5Wi+%QCK*=;f>=KUoVuz3Ti?wDTsGE$qzibVCuRK#AwF`$-38AP zBUGM8e?JYEjI_}cLcH=3UF|snLO;dgo1r1P+Sn1a^m+vuwC;iKYYP`v>o$lq{)&n3 z5Gjqqec<)7IiU1OEbNMwYrSEbaP4~uEoOy*0-yHiFT{XH%y-bK_BO`obq%~p{0lc~ zq@eo?C-L0yS}^)9iUY=e^#`{t#{aS))gfE7Om!w-M>pn)% zzeiLujT`FHr+XM-{WxVI`@##o=*};49$l*eR=2$ePSp`ok8(g|YRBlQ&`r{@TQLq= z=mxJ_4}l6@4~A!W_9q7Td>>3Gc!rLC;RaMNe84crBV{{1ehEwIBQVfET}OL{qwm4F zXmBb6_?VSm#1_XC(Yyr6YJyr)Q|n(-tobFVw8UYIh3@!xvK@0f$Ms>fehr%S z`wZ4R?15$vM?*Acz2O8yV=VOWPsu`EF2O5x;^kWQm8&_$^#-1UPe5)1cVLMVZqm?| zDRL&QtP4u|W#anDe*m!T+hFF3DIn+NC@^^C&r&}7o9k7qC(l>Yp3ith3II)ii|hgq z2n6(00Z>Md3`s{s7SRn$V%$1WCVpu8D4 z#nlI#y^0g}Wcw2&);9`enSqJ@+W`QbUKe-M=fI?T^4wqw>4stZ+0fIjcnM1-1E{T; z3*wz?!M8(=z?53+z>fjJ=r7<0pyOm2T1I>yNI{=Y=C7SFAk@xzLJYxjmPXxq=0)1+Cc3N zGcbP@uT;?C0l0Sl02uH#1|iuHuBbx;u0caOe@56CX3C&$HjG_I2kM@PqSzuJM84c=f zMkjwKf{mviV!&hP0DGf|z&jwGVNZC9hOE=%O4{uZ4{w4_jVp1m0o>(HT~A?z_orZ@ z|K-LIb{~J1ld{KPh=7%tT|%s6WGz&caQt>pb|^`n)U{$tHuE>b3#GT=TJT9LqBzsh<(b5*m(X*Y<$pgdV)`Qn} zH8l9=gHon&MLIS(2Fsk+xDKi&o z_$X_FM&rkUFYk^(3QC^mO)fN`b=YVk^#llW%~0s-Uqd9g;py<`d$`q;a-K_NRL~9h zn=}S$Do;QZ6we*-O*?_Q1{E&4Q-Og01uybs4jxyZ_J0Lm>#jzFK_mDXy67Vjf@3Q=8JEZLQtaPrJ+4Djn>gZz^T+0mww^|26%X~zZ*ir)PuG%psUqqut&Wz1+k-lfrIMCzrh(#;9|02U zk1`VG2v68Hla0QafXABaK=s%^B{Mt8^TUw6C{)ssU?_e(&*!w;f|&0Fw?|OY1j)e) zl%0uv!>tYIzu}nn9J7?itfoR9rBHmGupU>2#G$wSwE)k*m%yr-6?+ro1Eu@*x3?1|Xm2-k(uj;&A+Y(b|Y_hoLvzE@6Gd>y|+Rr@{Z758#nw5xK&+=J^9Rb{*?k;AA~wGHF0JG#cfN>C7&`Fz0z* z6n(e}My^N&*Ux+d6MAtNMBge>!nX#v<`*P0`hG8Ny#7x%BHmDkP~r*v^jQopRB;=& zB=+LlDvrZ9v$?{DW+*Y^7wZ7jK{F*Ijg3V2Up_+2HgWgnRH+!#s|=zuFTvkW{lS@p zp=re^dSOlIk_Q%wD`!FRrkB_#@ISEk-3M5NP^@*CCB2A7rb-$%l`C{Clv^ZHdu10< z_}}O#dKE_9A@*|qv%y1|)Mzlbz)3fspuxb3I5@dHJv|c})ddn*dQ)YjPiJ5(Ja`@= zwW9z?E1nrfhumPeQ!6qka1t>3^J}S?4)=$E_g6z`ahIE$vOg;9G}awVI`9fNFMq(0 z8)OJGO5`vz8$(k(xK_e)&hCZPGfrBxOLtHgu{G535_EQ00g~R;q(XL#SJff6CuwfX zofn0$+MLy<4yOR+^E@|%hCol)TW;sn?lfRjV}Puuz@A`M>m^XHmTKtTrdVjY?Falk z_7Kq0@jNBM3CT+1-+}`xKA~CL0pQ@wDNvF-zvE|lAkfo3J%bJ74u1;oEXUCgP%Tzh zg}>;?)pgji7#lmw^J*~_FV@h&zo2_>M__KVa;%ir0!DFw*kgU52g2^f*vQodoaZlL zS1dnaB`}>=)uOWxWDC_esWP&Ul7R}B1J||_;L)WTARwm!lq2i_K73B3S*c?HX3$4$ z(0K6DAZoM>{wkCk{87!M^B0i9*>6cw(DsqQb<8h7UCRgPw8tgL_5NNgkSS@&n%vbdt0bSq;J~&PVgr)g&$Q zZJH?7819$VyR%4^Ao_tS&DPU>kX1D1AEy;I1j8fBrn*w)QgR7D4J|b&rfqOQi%<+g& zpJ9uMk|%+scW$NGD6PFRkM4KHRNveM_+4aB#nXTX4eO2Df*ZQ!?8^YTzp#}Fs>j**k|LI>mi z#n1g40LA+SR%#XoIDO>iFgC5i#)`Nuic;?)TDi#$3R2XS?KJTyTK=E`?QM_lbh1Uf zG?>y?3%+@P#H`y;*Gj+v>uzfxTf!9)^y9yf+Q`Q6RmZu*hswr+;x{4)sFYf}! zPeET0CVb1avFuNt-%x#*S&xY14n12 zK#?}J!W8=Rs+O37E(YsV!U&vCNQl6>m+3XbxzSX7SYvJGl#Z$#hS z%7(s7#8_EeqhvqCDA+j8YSAngbURtZp}&GIS~VLg`NLBfsqZon*ZwQQoo+FxBHM_O zhFr#)>HyD=M9Niw>|64^Mh#SO;G)k z=lRi}S(1yEJi%z~;=$8XJl`9%j?@)xkp1jJBCR~%8VspTcs<5RF160+J+LQxMx0`?i%i_S;Cr80{#cPmu z;73U>>eC!-3ul~$Z-Sufw}-dy#&jm+Oji+7m8?YHwE_U`uiT}>mUFH*VntA{nIaeBTa^bD-;pwD*Ak_I zo#9pmb!!L_&MiPET`HwQm{ENQJxYMkUkF?|ax!U#Sot670kiqbNFc}69U4$Bsu3r* zK~I@t1EAVYFmXY9Ai{4XpohRTlH$97lLy0ru)6W+Jwa^qySI=ulop+aRdih`jyi0E zT4wT8Pxxmfb!Ke=0Sl1pM2^QG(Z9%|Qr$qXvL!#-03g%`vJMq_fS1sUj z=l}K&o9a1ehD6veS`bAU|~uT52bNiP78; zjX}n*I_nJF`qGCF=$-vHcs#PIE7U z5}nAET;hs2y7@f}+9zJ7pwbWMbWj+m9?s)DX+=7y_)iHxe>J|v^N&7vM^H8#cAvm6IK*$3fwF@deFxdysYFjld1)Z+b4W%emmpQJ z37+lNS}51pZ4%Z~CPo`4!2i|%7CbBw+Z0pgVVI*xC9{FNGMt{A#Es#n(fR5Z7;D){ zfaV~7o{N1|q&ga&!CiN|%8B@#O{s{Z+0SGreS8G>HR?M&-gOE3?z=)lL5(QzQ*$-q ziXL#u!(vLQ7K%}klv4+ym`U3d2Fh5QrgxG{sbLlPn}sSP`ZGadH2DVR+!L=lAT9wG zWib$ZGS@{?dUf2rG6FL_)e(Z*#*IzksEWc^DYwQ8kAvc}1PHkeH#Z}zFDS428J+eX z0a7YBiy`+hFrcfrx(TUFfaAYBFP!2Q2z|?kJ>6jj^qRkc16^34fk{B{n3SXD*c@et zrh?Iibx_YrY*E4Do4r{M*TquO9gKI5+d2b_xvc?aTP$@(7t}WfdiNJE_94SK35A7| z(04*SRK;x}7CRP>$;jAz(!(z~c2>#Eyq9ql3_p|CyQ$f2wkam57d( zGog}|K5%P}2oZL-L%^j?gf+6LK#(hxRmRw9*dz%xDWY~W@G{u;4=?gSTGnUke(=f0hm4ytN)O_(dx4B)1OxuE5Oh zaHgixL-0z-?EBG|KJd*3o}p(8N(yO37EIpc7y$fewwy;3>PcEEdjLLcO9Arp6(FjQ zs)|)FaM6w!5WHXzU>R0RDkj?@u-h{NL><~F$5G5(NkP4WV8!3&SV$2Ms_K7-)}whD z^3Nf7wwnp6;K|FBAWf~MA61z85iJJYAj*;qF_m<0F<3k$J{zl0C!{q=rKYqsSVhbg znQJ)?L@q}O8_l^6AVaq zIFUAH{gw3;tWF_%f5)AE2y$EvXplS9rK&GPxoxnr3DQ{DBQlu*RPAo1L9t%Vs=Lw7 zUx4!X>&jxqF-x`T8pHuw4ek9Pr?M1*J?aX;J}Pk{cvL88SiEef2DjlZdh)z>D4kgY>!|0BCX_!)61#hdviI|1PhnJpgr)1orkRRKH6BAW<7$7TzDkqW zQ|@eu8kgKI^e7oBT0<03jBA^wr50UeE&aL+EW6qfAUM!Q(ouWt^3bmz;MiL7OuR73 z4g9TFmo;QD5Xvi_SDOy}gWiAQxHJxHH!$DXj3y0)uI|kM_fBsBAKz&3@nQ;y?ZIvJ zXh=7Na+A2L7Tr1n$FsgwwwWb}WPhC^XkWgV?VIYjvAZ5xwB=>B!QjFa_8ZS^PAyz% zHtM(zZ zXzN#WoF`HvM;1y3*1v$!z9^_dP-V7-9NY2i%D;fxS+gPPsONAm>*5fVAK=9*{vck# z7H-8dB}ll7iyT;7RU3M8$_Fw(JQv{Yz@6<`e^Vj$$}1btiMfE`<1*+)?Qp=wpIa0Z zTcos+Qw=2=12;%_|I23N?S|(x@1e<6zryVom%&Ni~_Vn&0N!vx*>W%L7kP; zLJ!F7P)s2)JB;tUgCKh?uWUolybwkGgp~oEdMsyBz1IkeV);c+EOj0A*vbkGjr#?0 zM{;BMq6bhDnAoaVux=N&^ewuMkQjuGf-l5-ify2)T-xIbP~Lg%|3OWQ@}wqIdWqeOhIp`w@txhoVpg zsXm7Z)=!~Eh8(?|>jFa8!5OgIs$3e7BQu&`Ps%0FSY;`aF1q@3JR3Y>JAn5~oO#jb z+W5J=5k$MF9uQOvEeY5m>8a^uNCnyFmgvn9NF}u;o7k>xPC4RiQ{5VP#C{OqfxT?O zd`!9Y@jrAqfSXP5FV@DieFyYqbdq*iPv^xaS{qH=y zck2uYEKn3O#AIWfMWfNG{~K7TKX^t*nzaU6;rBfZhl|@iDD^OYre}h6wYb*6Zu9a~ zcrOh)m1lxb&dK0~>i?%Je(ac`+vJ}=^ z*%!6!Z7{6QH7S$&HN~*Wyr>10kA#u$@)wZtPcvCT<^7?TGAjPX5<7|xdxFL;$r4h- zACzeTeW4%KT7juWhvDO#2{ONkg95;ZMi1?_Hicu=xg`Z#zIh$7#L4i0>2fC0 zOVl1=xn}fXwM&fHUQstDzaw%Sb^qmm3^5F#9$}IW5OM_~bCDZ`d=KQ^)Ds>~$8FK{ z^LwlX|EMORpkz19X-EZZR0rXkzEi*o8F`vr)aXS}=zGYu?@tKxr#ApEvWG|pnkj1T z<{~AH%!(tGBE=Tk!Xima-8KOy&v(gMSSF({_J%bmD82>dEa3Tl*?6(5zt;y=U_%#} zoF*n0B7cpFMs-m-6-!2m@L+Upu%)~{JWq>1U^f;d!P4F0=JxbQZ8(jKyeN_;DWnWk z!xhIt#JLfWfm4Z9Np33Ci`A$50}+QU9wFhl0=Fw*DDpjFtBtY9MV3V(y_lz=pIQZ0 zdawyOdB7d)&=gS%^q(k>la|A0H|K`l!uq68#U{x4>;qV0q=|aba8aOHG7BcCm8dQr zcLEmwyG)FBxCV5ycywfAm{aajiG-sI@U@~O^E2)oO@N^KaAu;Vkua|}cxoFMPg^6T z19N);y5;TYdJ7muDIX)f=6IX-AH1|F`RZ|m~ z?L$Gzz9uEFYOBR+sMck&NH&K#<9xVW}#ty(Ed7^UVq1ah?d|5Wq-c1n3 z;iKS~nO7;vcOGWdt-uBcb#^F!EJ;rLF5zlSFvPDf^pDD5iCHZm@ zeLoX`y~k4%$?Gdv;lkD|xrxn;IYF>?86v0;{sXfpcnoe$XaJ*sg=?Eo)>eRh63P)F zf^rWUvmZh~4eNj%ttuqF2S^(7c#NK7xS}!Q8BKrcmy8a&p2HXoD{yjg7NWC*X<*r% z85eVrHpysBcVR@}NK)fSFS4r_c*anwnFW)Vd>9eS!7Y&9rWyzySMyvQUE2UT%;ts$ zNKM4GhP^Hx$Y$g)I@So1PM!yA`z6@5LB3J zi8B9%JDVJi?z(bySFA;_W?aFo8u|@MCi*UFrwh2Uwm_!H?vHxmI3*iZV5A#Q)AGo% z4xH(DO8LJ%z>aipaGI9tHp8?Rm88;}zhOJW5h_4`@b05nvBPoe0t7shI|JCs5<8u8 zV&tD1Av|7o9qiN(2cZ5GL3VL^9OWH{e|k`%#}#8gk=NEB=WYz3nQLHvLrMzaEU(U-HS7LNM)qrIG8x;TJMN#rZ(PECOieItiSF@3*a}DQq-8EDLf6QaYLaZ zOSrBpIHSYs8@VEwj&wji;ESkApM4*Kd-*SD-ON*KQ@5*fE?uqzCST*Jy+u()KWe=L z68%z&=jsv?ZgWK9+aR_dx^fuTuDrN4rM8DO%>!j4EP~aKHpak0ZQvF?J$Zy?891c_ zs*p#R!gW1hjdab~Zv`0;SE)Bu55m|Eo~supER58k8^mv(j1_DLp4%NSM#}9*1w+8p zo+WW~c{TvHyEfG8FfSWM$)7NbrCe)<$|LaTwgNF*4UMFrGkvl%Y2+bkQ2bop7hP1`1Y2UBC|CKb`K?vRWv&s4kwiFR8o3`WaKs5DA;y` z3p6)3g4BnB&6C{1DK8yXr1K}hV9RA#&_2gts-rmTD)51Wr}yMyN=lWrP&zi4#*PIH zn(*Q_)O5>E8;x29BoA4G4l0|-C=_J4tLC|$s4*`0f^{g2fz3oRZr@0R^VJKXr%vwb zBaEIWWo5zMO~;$%spJqOpx{O?ijWWsDMVyC?JBY$+SgJXRWA`)hSfmId7c_hxiytq ziYvwkDv3^0gK97>b2A|o&s?x7+GHm6vNR3C;i6$!A*XUWI2x?!@(w0-@wa&50e9k1 z@o;dY$8oe;r~^ko;M5AD2FD28EgVLdcS;(pi}gz8P-Wt}wJ8nSh9_Q$$}SJF5Ag)b zfiz=YPpG$T7}Y(hET+9DB{NyXn+G;NlrtFRnCZ;~OdBs1(9yOiDCW#wAYxSueDj=u zk4J?V|HwdeoW#}1SO{0PMD4IuhFEa&sdYP9$1J?EAA4G0Wu7sa)bv4GFg5!)Xjsb2VYTRfXjFFSNKLFKmXGu&^sTla4d&`BD`v z#NG#%0F^S^%Po!JJPS>9IbKo#=9Vx4ticpB8jzmD9Z?v|7(}&Kr`f6DILX1xDkB{T z0sdz2@?^ljOi#&fvZzu)szo~o(MY~3j;-G?N2D_PfzrxoR9#@G$!T=(j+ZK_r^qXv z(MU$RCSGlja2K@rct|)+a2!O|IRXr<6h{Eoq{wmDbW05t5x5_@DPfv)(Quv_JTC}Z zU=O3-ry#d*?usHGlaOo)T>WYEdEpcWYs0n8uw7x3P?Te74aF^OivT!7MWv!}v2GO_ zbSo%F^Vt^ak6flm!uP?7y)X>mbcNDLoJOGM{U&dag!!mSriOpW zNDP``n+I}@i9SrpE~2EkG?c9{5M-C}(vs_A!A#F<_(+=usJL0(8?eVX3Q1`r+R$CEVkcKzCkDE4)h>HGEk~05^Kou z_mwstlttRKIG9H5fo($UpF-n5L#&gUNaa|xtA~)|M`b0OUV*~N7Z|Xys+7()LyW#p zL^Oww!fk#LgWl#D-_Y52h(iuF-)W^AdWa!@sAQw&qcQ)4eXy`?MP~cROL(Xd?(9I3 zI1I{OR+K@d96_|DKH|LXrI6bmp5aY>w}a}^1^9V}7q>^msR(AOm{K@HYkQS?y_%6p6S=uU3vCLFUT))L5RD`aR*2sieIU(B!1s*B3t)h!Te zRl`v;AT6&oRkVnDX(sZ59x2f1N_C~xd~BwAn6{r z_#ok@@j_f`97UPCq%usbERd~MVZXUuwi*(Fx48NjI=RGMLD*F)Yt1HeMH)LEQw+0U z_EqQuYE^Fnlai~TY1c6Secp1aSiSV1^sd#T6zrs^r(VWcG_`*xL(6tUWQiPSTyO1y z?egHZ2)aBGx?b`In78Yp!^2tu6eD>8TGS-&AQRylL&2gBZ;1p~{hJHl?nlGQIk`R(`&=v>)55W= zVLTNYR$nfMEwCD>S%09e*#QJ6owLEVy8>O|9iU+oRSwonRZP+|2?uwv)lJj-WT(=F z>Tpq!Z9&Ati`g!EDhf9)qh62lJ7U0=8d=X?<)pGcF{SkLHrdX8=7rxN9&q%hJwITX zo{2MAA~sAxJdf8ddT?VDO-#fL-*8NuE{lnkuYKr)T$I> zpR-GeeW~q$n-4d7F!vZ8TyS0wKs*m+isF#hTdwCc%NK-B%aL{TQXF?W)dW*(QzBvK zUmQ#uyI!uM2yrSsr4Uy00@t@=U4;A0VtlL>J%{(lWLOLP1YRX-~FhQe9Pru+O{|NR3TJ3&TfPHZ=~5Aw^}##K{M= z-NzkG*}=LFBl}I#(WNhP5pAsviFRoOzI1;k71KV35npx((R;Zeh`w!zpACw$^XWnp z^m*o2DIbI7j%MF+XMbuG0*L)6_Q@|5fX_$W(BJV*;7e~_o&>odgi09>R}tPH;`Zj|V0cX!MYe>U-dIPHN1UuH+tA87j0m)0tCUxTYrQG zL}zE0VOKZPld@01&v|fjTNZ0_(yM$-??xS^5lQu8e;Qa{>7r^Ylp2aS1G0;PaHAL3 z>Ck&df8-EyQBll`rqF{g;J`<2kB9$r)B)l(U5IakY2>^z5gR5tKe5Wrfd9|vLx)#` znY#zc4uqbXK9my*e7SR*7lPBOU_4yf23FDbjaa_-Q~Y(-BQccn`(c@&=lTxxW(Pzx zxVMDUCp@n`)qH}VY$3S0m0L$sfT%8QrIL-bZt+e9^X9rFu_8^O5EG1*ofpfXT-!$^ zCG~JK&NLvoQb+R<2?14(E-04NH-}{L28rSRQWetkaSEo*(PI~&Fr7k{Rezvhj%tWz zzCFIv4YfLz&B*o$EZ)S;qv>)a48Y6AQU(PHFSBn1z76;Yu|0=-WAjaRx-(c#rQ7+C zX&0n@uxG4Gh4ZktqGfm|8X`c28lk!aC-wKk&X;mmZ^|41FkY=ptE6pDvUP|84E|Jm zC?5V(oT!*u0bOd#&5e*9HYd`hBT5aVohQ+rNC*nr7fkD85d|$1sT8Zm~m?63< zS?Fc}j7-W!*$I1sEJ^3b`!_A6w;vI-1IH*a|K7Wy?)=tkE6qvA+2jc=cnch|Mm^ zq${1ktmj=}OD6LCPKYtBEpfu8XfgtJT@*6rE>Gkb6o^<(zzHj8y+f`fqaI8^e$7m~`$CrfJQpFW1*?OzI?2gW3W~}99^idZWIZoEQ0}CF z&IlGgxdE>z=>>&~E(fm`iB|%gb^!9IiJ46okZr>bO~z1B*&a%b8o|08Md>JV({$+^&_bZ3tq+__LTjufkR2Wjtm@k!5Y;!J zT_@lR|G5dJ$mONIQ7w+3S4EN*CNndTcq5Q;j~9)@O3@L^X2h69!EY;^JHHn zxQ?=z%JV?f#8p@%m2tI#+SLGhJ}MDRHN1h2oAA<^r2CR)N6OmXpE=-Re7U0~Qf`&; z^i;fMaOW|g;3;=ar=yj!4inX6lK+0-%Q`oW(dJcfa|jx7R%`{pNGcr37v3S8>)Wx~ z(qsk8!duKx6QYGI=O~TRMj-7D!?%+BJmo7b7NG1m6IY;s~YzQ=t4Z4x3`ZT9t%Q&-N`A zjEeqLtDdA5j;|9X4VJ{tHj0tdsGx!tVms4Y6yx?X!6W@54)1->bzu;Jp$@gl-D#oL z$(ZSW9c))UZtX%*ILd&ey}=8agDNjX3B|Rj`tNuoxvw;Zn))Kpp3lp=(|xf!(yR@v zf=`T=!o}-}mUv*2JGrJgOHNN^ZYrGgSR*r-KlOKt5Kr&w(MN+8XJ#yS|J`lEPbuOLL(R8G1T$;DGqAAs-LDY z2Fw|S$DLsR%I5$Sc&7o*{@DbI4DhPvI`j=nPbmTGQR34jtmfN-)ip#V&sDDQq>uCA zGCK?gPY@$}qnUO(-G7v3g@HCDqs6Sp%g?L}lho-&<6T-g2 z^P3mIB=(qwkgYw}`yqJB*Hho#%2axp2v+{n8bR{XiBciVjAa_aLZ=tZZuw;FBid_I z-%x0?H@Eqcsh)&tw%KV4%q1>{s!KcLVFZvK*(5R!U(>&5;*HP|gBr(=wQ*;le}|lmfWzct$&sk7z{)TZ0=jcSCk}MBEFr5rcgk zg*O`%Q$>9rN*UPGFixc_Wsp5;Pn7T@mUJ5b9q`e+j+8GJr>Iq|BN?diF7W1*9^c-d zfMSmpBA&o)gJ7fLhSBCBh!~D+Op9Y{D_n54idIl72Z5E}0Q8`640>@5J@r$=iwEq^1uXJu~ zOt-{g+tahM^Wft(jj%6T>JLVhcR-yf0FN-#PD7qT!v7qT%PBYtoWUuD5cH1FxE*)N zz?nJ|8(f(SY3E@X2Y;^3YplQ@43=$h&6Rc)^(U(pD=6`-W@m8I0p**8_@i3^WIgrIvXvm~O zo_q5sxPX1dGG33jUq-=2dM4`(vjKNuR8fZ|(1fJ-KyJblc-T|pop2=GxmAK8PYnm& ziY1!WSvHGow+}|Nwu1pQhLU?fD6VlJMD5}>3n>pNb757T7Fg*jUtqc{nY>%4RiW(D z(t+j=gKI^_lLTg!))EIm?DTFN6vgn5%&6Bl2$R691_;1%O%&jZ)WH`(my{Es1vs}_ zkBWYfa_LEzY%Po6nG@OS^kR5=^Biav>nAoo;}NF9CV8P&hqmU)YWmO;O0Ws1n^}I2 zp1z!dugZ2vSS)`JpBCN+rfYG1@NKy$C+*I%k+<`OdaAhVJKBgHE&8n{7#ETz#nGf^ z|HFSq15x3Ygqr^{FO=O^cA;+V5n@mMJDbsionY|cHc}~lI}@aouN>Lo10}PsgP-an=0!E=UePSr^PEyGgn|Sw~*^6L1@lS?1L#4`BO_L zgtx8`7$ZXjG|RdOb`85TkF-#c#gUAdA~nY;Q>} zY`v~AT^)j9rr__i(7ZpOL6fd3ixKx&tqAukeMO;JUGi)!7n1!7G2BL0(0)b%cMTQCEl8i7;HT^))IN|#x(B;K)Ve) zT@airlB@&ZI)|jEi4`tufPlQp0!bSeV=9>mhzD{*5q&7SQt!uzVN8uNsbZerjBdL? z#xERibg$&8zHCBW%Mf-;){(wk#>*0J!Cm3N>J&)D(usa(1^=1BT@Bkl#i0uEZ)$aq z|NS380dw2}vfKh}bN3umwhizI!2S4K1#WiiEq6_jyLA>1#`o^k-PFCK+%-{&U&ije zdnOvYcTI3p^)khGGRoZ&d-M}Gl6v>(Cim*yBN4B4b*ZBW$zpggRa4>#dbG1*FS4vn;$E*ZCda04DU>xeBdaO8=GKsw8GLZ; zpVcr_OX`tQUp1Q|&o)>2C0a`B=k$uJpO+-t)C(hur7+E$q4}Z9npa=!9^ETHhvzLO z3LSW+I`?g|wW*=Y9BW>ZZ<$lRaoD{4uyt94DcQ-E2hLxdpg*fgwnS(L`i}5gFq9vP zzg{@IINQrOc5|-EV@Gzx*%<%XZeA@_7uon(AvGeD3H8s_ zF!3F3YqyN~v*UbaRECdD8K2~PeYGw-cjTRXH;*GGMWFU})0jMFXNTQFT6uSgNcL+H zdc}QcuNw0Q=EtPwj=xLuoc=vL4@KU^f?gXPvNFa$5$|(IFf?tXWs9#wq+QgEim0#1 z4f9^E^YJpM-LzN<#7FwS!n1lUe1{&PeHNFYSP4THA&2q2az%wo>qPjZyAT|i**nJ}%Ve{Pl=Tz(D zr8qO*C)n1{k&Ywi^qOOIAZXd@$kE6nPzn=RWS zt0igAX_YB)ZYx;V%ZGKA9oi6$M_KOTg&pU0Je*kD;2XSls7FH5h%k1pe$HzKU-%0Q?B*laohh4Xsf~)nYrjF0EsXd!^8^IC>x~Ey(o0`=o$NcIct;VvNwrll0 zR`_};&t@o>F`q!QXDhdL+HS*)?sMWC4|9Q#NRNwYT?{c>!bq`N=W$W;3T)6zVOdrq zdMH-U7e=x`OYm7)tFSqn8$z73-7hFZ=A^GbY&P#;D+4=5_|BVE&A-R(j*XO3)5}HV zdCqG#i>!U2`sQ0zxr|^re#HI=zsUGG^Yyt&^TS&mF(J4`x__uwKmVj)_iq+D(#2D;B$TO-Hc&wFUD%C}h~rJ;eR+mag{qjMeeI@T~= zVG~NJ+uZqMs^v$HNEjAUEyd#Q;nh+rH_r;)i8yDW!r1g-4Q-Y>vG`zDziM8;#m(#G zZ!SGI&%<;u(Mk!D{h+%MX%*z3j_vu~EkCz28r z_7P;6b;W<^Lmg%LkMKV_Qn7z=Uj97y@FwS+S?W05!o%^`S&fv#cHgj$+E(oLem2*x z-9pOS#p#~Sle6ZSOZ7cm2bErj%voVeIvL0N>3#awn7zU#DVipE?69mYO4xeN=Bc#> z&$V8wKikhShLWO}6(#;3Q{Nxo()Is;Zkt>8Cb_4%x4pN$w@sR)P1;0rDTr~9j64WJN ziJY0g#ge>of1ioKv}JG~?GWSY$cC{4N|rH=W8QIo)2IB4!P)#eZ|En})tp<4lagr3 z`nAJfKW6H(1x82uq$fQqwWHT$N%@54Wj6WnK7AC~<)=8q5%6xbEyvX5$v!Yiu97|diqK^*|CudhTS#;BfOC#GBPPVlGLXMQT zWKq+V0iJE|k3K)RoYz2d^>Xdnq@OK))-$Hz{q)P%C!ha(q5Mk_OoPo(`VDiSy~b& zX3yVZTh#MzCON-M+GlixManNyoFvM&oLtDXET{W4Z_n~B*l*f8c>bk6qsc`HA;*TV zUsc>Aks@<={(5irr_H1pRO_p%M2|{py@CHd@dth0 z+VVQJFHlwKE5b}=RmD~1zFKdMy2vx5s@$tC^t#b^s{`Je8h%Q2p|{-Uo#my2eah=Z z^pSwKBv@WvN45}ZU!~F?SyNe6^^%uQs20^#=xe^pQgyYbXr`wWE$FMP^_B)awO+OI z@cNqaI`pf-%3w_p{gdKgX;rWm{g*=Y+htz#q{dh7t*lk+qzZLSu&^8(%q~?LV!d;! z11V@-@(K_sJO5|2r>LkZSXs+HHI0;O(F3fEewBTzA9^o!NqMlO#D|tD(yYPzf1O%S5=nQpc7J8 zmEdd06o(7%)WB#_?ax39DfiEq4d_B3>MHV)XKT8Rx`wv_Q8|kK#X2vt%vV|L4Uo-w zmubDEwk&@$;VJcG7Gja4==_o`i5!nssIAfLE(kMI^fHBdwr8eSTnTI+V+v0N`dPd% z&o4)(lwL3_bAlWlTymZ!8XapjTG(1@-(*K4P&}jY3D$q@H^mizno7MbFGOn^S`9mt zR#zljVQ~OrmbcOwp)0X0386d%RT9q_Y!gvcIer=6|-nkuL(Td1js` z>3@=|_Rc8^*0e7K4s3S&G`>ye1!_7iT3zNTEiLzwoTR*ty~FQuCdo_CZ#eGyT|r5H zTe7bhNw%k^uA;iOsw;$=Y}n`sg5(anavJ|_#Z)lUqXt3E5Lc?W9J`Rp&#J)l8|lj+ zjjXkgI=xEgYyA*d8rs_lx_|wB`ZwkIJsA>zWkVdOqQ_Y0x*K>i5Gw{sf;HA+@wYJQ z@vY@*H4;-KJ!PKEW>BU3S6&$K%<9S{3d<*Jz5sQpM*t}MC(@jfa}t=G=JVvF2a-L~ zOanH`(gHfNa()Rrj-ubN%nvq0fN7h+C9{|8gtE#eW094U^htd+pk>&ZNuB1BT= zwSP@tA_Crip5Jr>^7q%h9$D=TRCp?34smxNI|Y zdTOmF-G{wC{?YL%n)7IWn&2ZG4)>&tD_HYb><$QEx!MY;cO7kOoZ0+7_nZJVct_qN zdV;wGi1to=by7vJyw+EZR8pWucZ{=;@F9T(+mi`zZStup)Kk-Yieg`7Rn74q^Fp$k zLC$oEX;IfM&6ph@+7f!<>-e|nt_v^uz4nie|Akq=2)Iz%on-NbNQ%An^&K6@Rb6J% zm{3$+RfBGEpwI^?vL_MbH2h_Bl9G}t-BNZn^;Ld~>Za60Mtf?JO0BHvz`G{cKR4{c z4q8eHWtI6lcDO;U?L+FzNh$^;A8a=0z>uy9s*Uo57uQzpDWC1B6HNs9sKG}+#Qy#B zKkRaQQr({(xn*CNBiwH!N1OI#JPHL9;dfGUAfSCm{#R5RTX|sl*p`D-vjS+?l!oB&_zNTtB=eT3hg)m{H@eERqmfu@U=S)q!Ws`6Rhp2$qp z03>H2q;0+hcUv-MVZH&;wN)4jaB4uF&ae+L6r#F$ZKOI7tSu|oY_5BT zoO@kH77z}^nRLi?Gvb5mF~;94~};!XW3H;bZy`adHZ}xz-tT=bkOo=2vO__z(BYvNdYg@ zwuzzg*}n4frvJ?2_}ivLi8{6C2VtXvDrx&z+!@+3zoW+R6cjgH0!5k_W;i3(5<(Si zy|H7lb9JWM@&vafNzKFQKrFJ!Q_-tbYTm~vSkJg>J1K08qf7TP{d+;K5Kps7nrZ&N zULP3b`4tp#j~L+{Mmz&dpR$ADby@elZmXgIeZMX*r9e%swb%1fx=kt8HyF;dLCrlq z4b78sc7cu$RYOR#f>3(~VB7T9Wo%MLqKxKsS-`tzD*P4-MdUwh=B$6_sooFQ-Q$00 zY}GENk`SnzKleFh`L2k#674u9T~1qFt(kL5ueA!*(E-Os5(*clifsc#533jAw@lh_t{f9c&^10 zPPfn}=xg3{Yz3b<#uG}jHx3=w0v&uzIb1>;hrg7+oZLeorHgI!cOM^Z?gKZrPdYnfVOwogUvaU9z|%!vHVwbu06YR z9th;Of*LqZaqD_}x}`j<^C_0o9uA7}c+K>YPF%H(MbixVC7=*)rv);)LTQ{EP2aBI z3vfQmk`dx)0$Il;LIk8f=Ymo4Y$Qi) zv-R`nTCbV)G&M&XaI?iOQz}i2+3-ooQ zV?|y;;~BiaW~)R!o3TbHe^PBCv3y)>IV8~(!_lOwhj6R{by;Mnd4$AM1h+w(mlxYG zPz{GgXMBUP59sX1JXHiG&I!YAfFO5PE-CTBbA&c5MuFfT!ity78SY=Mz6Vliw&G9V zX&bJa(wMy|0SwlxtCwnof+lk+QR*uZs-$kOvJs-dQ{V=fdM-peP_F%#v)-#q0a7oprlY{tzUcI?)YqU$+ZLNY-^sQNWu`^J`k3g#fY(!0rq&M#H#z>KKn3@< zlutERkz-JQJvf_yF;Z(%`e;Ww{4}QN4*jn3zP6lDB}4-?L=BNVb1!j5O~v_h`P_?x15W(h$eNOW*LKb4gwRY59MG9`xIX!o4Ei zQy&jR>kg0y&2pxO16A-TWZEMw24LC;l3_Ll3z)oXTn(3B;f}}4BTK5v(ZL%|Do44$ z&5LjQ+AzX!s{R0ycR6-?8dc7;$l>m|7f>?^ZlT~+rD~Fls4n+l8ZAL~-4O;w$;YAZ z_du?hGI(&rH)A=VvX0>I!e1jT>tzh7Qca*5zm%vw4f`HQsf``a#q$y}%``Fdrv7de z_W+{yu!UZ%8r0}M3CiGcM&+e%M7y)if_;*tsK|D<7v-;DkZ$Kzkqk$`4N<4cG6n%l zB@i*Gq88y@wP;eb5B5diW4&LQotjxVBS}`b_hqPX=N0TOB4_)@`EEvgt9`W|1djuT zNZn!`Qx`^>4&TVXf=b~LZo6>;)a2pD1%&P+bg7kNOvbuL4Y#fN=w{IbcSa+4Dd4~R zMaCMyKOsLR-!yJec%K2_9zrp!P2r?n6G8BNY+HH>us8o~|AIiQaneA!i zVUbKVj#9nJn$Ou5VeD%=X28i(Fq8==jwj_W)UDF~5bxfObK)u-ZGFH~BTxi9CJ@N4 z%!!wn&y6W1p2R=+8v5hm5Q5tXoqxCwYzi@r60R$Nnp;Px3T5=)o{vDSxE(iMmf@$( zuFS{$ztj}vZG9E#=EQTto|jxO^%$q}uwBtz-wA&~d9b>wQgajDgA#9m9q-(_wT2svvA4B9Ynhl$UFJ#oZ#npnN$#99!Y8?U^h%WWd8r zUIehUT_wpu>gTT|qz_7rQ3E(1tL@GKsFDRaN(=JDN@%g}Qj9%RIcq3OB! zJZ?WNuMYSsxnojGCXf`C!=IxPkhf4-Ra+IP^qEG2k|q~iB6SsK_DxNqyu0A6D8AiU z@85>XVYJq8D%Y*7Fx20vSc@KT*I*r?k5TZE&ScTji;p#@U){+(l$!qmPFRfQag(&c zT$1sAD18(sE$J9vfwb(r*sgzo$o?$O0fs0xg)M~jI)90CAo~U{LP`ee#8H4lQ2}+P zGhTR3MtTCs>n_F;_l#`)ltAc_LYehFCSOtJxA&fa0RAV**lLQP7eM-4p+ z?vjeUQMyIwpQ3QH;YWpsLyAc^Kba`P>NOmlprZC!D~1qOL9iDs~C+E3~K4c9+_1o9vu87_qO7N20LlZ{|(&!h_nFt5Ht zRxt}Z%Cr*3aniiaP%Z<0S0;Z?QZx`w4~H|gO*gbdBf+4yAwh<|)MVe0hh*#omwlPk z5mz6&#v|}oTZZp+a0Fs8GKXV_=(fAb$ZB|e#WkAL@hotoQEN*3(A%N{f3qBB_ogn11h16zuQE&wXC6D;Y(U`#i^L}9P+nI zj151+A)KRJ-qgErA`4#H1*Xqc{2k$7;?0_rfpcZZy;dH5LPa-|W;)o*<6$5)%ROQHO z$Xu!dGa{pNM{%JR=0&9^wd*aP;7qB^Jyvy7)E^+RK90T}B4TB@CCTKhiYfFJ@hq14 ziGC&J;v~LGh79+-k@vvl%AY|_240mSiQfonH3wlBO-GncTb)-2QLnQ`@@Pd%!!zen zb`kJ$lotEl5{G$6?v~8)f!Kr{wwnML<(Yl z8x@T-vbWY(0be)UL=GyX?w>V<4tIlAcSktbo4GE9?@PUdOzL#bJRej!e*{Hvpqx3C z?4IQ}U3%c2EGelKKCk`b829v>(wH$*5VU>yeJNQ-|H= zFg)l_&+uR(9!h@DeuQ}(-?F$qgwzVZMWF;K;AQ`~`YL=X6+7jrxg@4;L-t52YUPST zZ%I|aI7S+&F7_5x)uHX|Duf%Qy7nD+fv9P7H~V(74_x(*&GbKpzgzo=&k6e>$9Vl3 z#9T$17lL68I^czsRwzpGB5F!{KQS2Mx0_dF#&FLeWI63`eGv;b2j7g2*Wa87KNfW% z(a1ThEvqWUinNLt?h;i|2PbjfofZPWuv)W}U7oiBz9tpU^ft%CWQ|s-F#C{R%Lj&u z;%6a11%Kn1gE63zb+zm#FEq?!C;Nx8%kz^eY|xju=QDGoIajqeMUW`)sdS|0nl;|5 z#lO+~S+~jloSv+|XEaTKVx91|=vv$Np=M3T z5bGtI9w4d$MsX5vWqrkw->EXonGlAQo0bV%2uWSCsvpBNs^C`TrET=5VyMI#fu@$i z922bO5zC`ts|dtT!ot{wYj!J8=kH)I-+f~L&ha4UAP&1U@K@SCM75JPr+cP=I$n*4 zrsAs7QZHu^+f4Lf_SLMX1pJi}e+r@h1F5{DG0>XnxC&hG?-*OZ2yShh<{8%8RwT(I z@e#~)!u*|ADXH;7K>(#NA_{Jhnz*jjL`lHYHJoI8sn|5H>TY>wb_Z~I>4(`TFgPg6 znr&J|iy+l)w5}m5!32nA%2pq2GRBbRQgb?jw*7@k9Q_;j7NNQmCp6MGdLi52^gstG z8$ZQ9O7|EPvoXd8l$E15aCve3r*LPu!3~n>VP@RdmoG8Y)6S0b@Cy~|70j|HnFzY8 zBoU^<;90*dYd4nV0q`aELYT`9Qe0>L z44=z=PIN7GL$Nf3K(0Hir^w#oKC*o{^EP`mOSmZ|XV`Ual|C6cj4-4RcP*W2v2XS9 zY%Vu2&d{p5E&ZnljcC^=lH6;G?!+4>VQ+KBb|qh}Dv{bs!<267Ri+|_zn~i^DXwDn zBsAi#m01Tc=OaBH&M4#IxhM#uweL`Fvwa1>_3+u&D2j|lSeb<}`d@S&X~)VP+%>n5Nxnxg3)3&_9YNM^ldxpu!dW)vPgL z`~drF^v5C$)qLgLjzu9AJ07|e=o4aFImPpCUV1#!5h~u3-AVzu@DGxED5RQ!b)(K~ zzk!mfvOqcanzFeRZq4BCWtelpAolXXXlx{>mfKyb6P(Q)YUT*U!b2evc)NNrOMCN+ za?YW$(8$!ez4S_@X}2!o##@>&?fWr%UZc+DA447D%Hh3uX0Rr84{&1sOn6O8f0#e? z;6I?!{8o$Jd#5f+lwi7fszne!AtWV1TlN6Boof8ybP8W>JqFjtX#JUf@A;o<#L$rLT>sRpuft$p zHLu#UUChTal82=0+#f^aUj#%e&<5FpamF^ezCUN}>g@Emn8U=aE1C&tnENA{?JG`l`jdp_;o}M zeDXs^rH3D6@X_RS)g}eK`^X5>Vf+4qICg;LR{$r3*Z(yh$K6^w;K&VLmv~CKPh_w= z&1MJ@CKKjO^f3SIrlr?d=-bW$ZLl+yH0AZlZkn~od* zfx5rE{SQZCeryM4WqXd;N~NY>=|c@WEVm`**YplT6Bhj3e8@cx1W?9F<{wyqKq1Pk z85q+#Q1wSPa~_Sd%T#K7jek?0*pHihd;?{b)RbdqumJb6QttHx%1u=oGt402x=2&G zf2Bd^>TCRZ5S556R>i0-`MfX|MXK0`_iFqiWk7N0YY!y{1;3k zg)c_(lk!ZbmVy8)YSSrkd1(7P_}AhhX!;g;s?lVJ1>en~-Yqro@<6m*yW_1KLnjCS zq3hgNE$tZaJ2o*(dF4isW~Fsq2E2VFw+aH0yUdfb%tmgST>GDrjxzMXJeg{diT+yL zj2-`pYBsL6(dUG6IoS*u+ewy_OeLH$(&5Si%gh9yTFRA0J^x^F#> zLKDFu;-g;7rQu>jh^ZXLv6PJI4u^3$mU5|$B)N&K^{{EWHdb%^*MN1xOOZ^XT+>EP zattKLixWaPDpo%%scxnJj`C~q<&Z|dFp}8Q4yPn52kVbX$(OM<%h17C7Cb{%BwN=u z{0PMK_3Tm>wI+xABUKLvAbxMQuhN)Bpx~+e1!v(}mp@oFk+g5mx&W-d@y8_99;lXs zI^|pDj}E^|pL8xGw~66c2FaTgh9T~N=M+~*gF`8FO1CRDgS*j@n z>oPt|GkKXz);W^@LwlVF+Rgo2&r(0~y~!LTB^fcWX&9X*Ffn>sCLR*GgCzZT`c!uL zi|{A>-oWLI6;kB*OtCJM+6*HMc&vG{yHDq6;DJkxaB3t_8;^!}{gSzqtyR9}4;9U! zf=!0(D#tKab)W>z(&C^M0e!P-GRiDreVg5F>{l4kUoj zlY;MK2kkh^PI2^Ol4KZ<>wDs~&jeMCZqG8fOoo>M|Bl;wQBL`(i=e#O=6Z-+y=cVC zSD@Ipm>MedB5WVxOsBNN0|hO!alGr9eH>ik@^=|Nv4;u;X7e%fFq{x6Dfcjq8B8`r zs0mLqnj&;mo>TJ+`78W|(f5;L&KoJr+GwVbuol4iJU(7?5G24>iuor2dD-?rYFa3P z(g)ywn#?lYZf+NHVd`34V^oVt5UBVMe?vc2=jw*ZQpp^zI{_hs_KY&xKDMH__O{xH zk^C^K1Wr}2j_z#Mvq%`_oB3Zb#TvT@nO^A63cl~zM2%tV_@D2VVf9{}e##`3IkjRD zJ5aSU3VxoZJI4wIywI1_JgpevzT%2)z3fz&oc?cJR%T;_x0?JM_Li}Bq)K5(Qt%gZ z3JjTy9ERjH^9i=j6yIbL?$LSwJ$Q>h{XaamKicz%9#OyKs+{_b_cg4}OBs2-7d&TR zCPi6KDkqsVd{fgh1@b6s%RI5dPnm2Q^Q@2SRi+hD*H)$SE&8h`4>Ruc(qx#bz532~ z;mKhzFAn|_Euv}HCybgfSQl=59K{_bOx5oGMlAOD&v+HvtRn3Ct)%t7p;x}vX-6CNjseb(QDp4Lv7BFMtOn2*F!Po70neE#;TMP-|`VvNzRM^`14tWOA z;xHRIO*NJiRhZ>PYm1A~>kol_Fz!P8F-N$&gjh9f+w0)fo! zAYg1H*iHJZaBDVIEWSgi8f3=#Qn)1^F5nb_stR9?(MnoJ@W~b5XY`MMu!&xdHnwLp z0$ulTFSCQgzSGxB#ZB0bQ&v^YKsci}2xJ-62LZW9lJJym&`wm(Tkyk&b-}9b^3#OfVUQq%&6+*O@ zJd2#TN?<)lkJ2n?c&41u8DZECUnLxt&ickyxXnaLm5JO>W82qRPbnvuqpUx(lMc)A zDatkWJP?FGk?`n5(G`*zdT@d_cI0qe)r<7yXlnT<=3a;;xE~4MDspDEd_jHCIVx*J zD5d7V#|QBr8Q+X@H#RlGfDEgFBdqQ7RU@paa*1xYAey8-sy9#?{W9$uB5>o0+Rj?!r!-~l(*#nkM2ClSjtMrMEoy#Mj*BAuvTK9 zNrIk+4Q*EMLV6H3rgqa9Bj zpCj31S2nC>YpAC!QQAi`mNt%!#=bDcvg;cnp`Xz*T9J;(dk98y$|u zYx?gf?y2U_D(z`GJrfkSzi(E-9>O)LVRGKPgsAqyS&=X$O57!(hpL`w@xi9aa4rV} z{qls0(^Q=1k|2#sKb*OY)tF7>H?HeVXYfrZTL?avvpeY`;L~Sk1lRc$bWq!*VHx;1 z21$B~98`9d8*b{xu*VM0vv-r)Ba8H7>2{7w;>bA9UZJtzh@<|1X|H*??;DWjNn#3E z-A3&jF{Zy&`jKK($Z;!K%RNc+tTBS{PN_-ObuMeFTD*yY5=Nq?-I<5HC1MSrRxtY@ z9BJ1QMv1ygm79w-fVnL%m-;n*Ea^glz{~*C!M8jX7TJR%O*>GH2a2z5x59F@ zHH+!*V799KAia_-p%!YU{c-#aXN$g<-nJHFI>yog0wp}c(&*;D^$AX4<)n9tqe7Q@YJf|Q9?gBQT#W=cbMBL zZC}n^RO(i|5QtoHCt#nuuEVJ+ze?{_we2hLh=;>6h5@EK-V`dd^`Q&7Jf&uOPb}wv zsqu`8pqz!LmK`4ehf3ifs$K2-$g)$XJvl7BMA)eB{+wO}KaIl2YUZ}K;4@X%V^klo z=7x;-7~Mns6uErrjA_Cu-3!>FDM-(?d_ipI0BL z+82S9A$_-&po&=$pFF8T)@((jZt)m~vYKMaXn~B#gk7DcUgiSY$DVe@=`jm`9x*99 zx+Ar$^hM$%oUaf|I5ye1JiH|eJ{vCl93g%nagR`mWVZvZGj!2y@peCXojs!sBd8yt zUk+x|tmTSC+aRYW!VKN--;uEdD7Q8AU>7>SXFejWBY6_)b$mckl8M3+##80+0m&w3nQ(pp^;G8v zUS@!w>5(zvT5%V4sw3lAbg))PQ_dv7(*A*DUAc+%vey#jZ(m7xv-kD_QD(6f2F@@i{$R9S>wU4J8~@|)?|j0jaEpm zA%DK~0asn%zr>o_-f%4O9`bId&%+?ptU!6KKF`7ZVjYFw<&Me(J#Q7WDni+Lbi7tp zU}`3#VbO$OxUNvR5r@pfeT|jx0PZld3O`Cx%^FL7( zdtQ2}++yJCFE)|XL7la}Hy+hEikU`ca9BsCu3d9Q_*tu!7LtNQT@5v{-u0FT7`0B> z?8x-L-hBe!%5u!+@t{DG{(6vGDoNI&+L5-AGyys-e6Do&GdXOMREEr{IYlEP1P2` z(bDlMG|v6AT^p&;y}|V$3fnR#%s5Sj{JcOz9X;Om2H^7^ba)pTCh309)&g@#(-c~lARG6XAF;z5MiNdNNG)#r>^v6f4sQw73 zUD#3|lh<`v#5bZ|q#YDTE1;j%9~i7#X;~@5S8Ll}!pFgqH0G$(+3$&tKa9QJ@oT|{ zT}$DoZtLSlEjALyREq>=dl_Svj@363{*X=OhZ9hgR@>3r^nLIzPaCz)n5|&mp_vUY ziyz7TuYqdMFO13VAWZ4TrhyhD!i`e<4SFd3K%5Tz^YQT#bs4kLVc24*ap#Hsfa5Cd z5-UTzJj4y~C6=3(PA95{=uGmwDe%l-P}|{0!FhU(?k027K-rMV)kJ6qk91_)7k4#l zqVukx>_J$d+H{%97E>h(lw@94CCte;C4yxAOcgg=A+V(VFMW_Of8KHBe<voZHa~_Ol}nY zs^N;HrVd`D@BZMvWqBO>=Sccp^KEi8fvN^zqEa88Xv*aruGI4Y_I3JI+Co}YPYW-Z zygO6_33xl%_=(W+=Z#Yhcbi3e13iUyn5E`VJb!b?rDTbii|J^C;ZmOa^~OTcB+Z-) z`^RX%jI~sRwCu^d?OJ6`Bj?%gIcJK_UYLhF8|$hy`~s8uK~i@l7SF z`zq3kxtyPoD!q(Lm$pmbPeYkii5E73WHvruXxL?ZGlJK`ifF`UyHYAf@LyUJDGm3* zByubHAAF6HRL#zNA1O>X1M09Towf8~(?-``M-_HY>oQR4^pAWc@Rbb7EHCo~>IMtn zkO#HiJDXApx`Y%PbIm5Y0rh#F+~1#1gT?X8Cj?nxe%CT03w}>n*k1V3_81MMUJ--6 ztVY3aYIp#E2HScJh7!UAt$hrAoZRKzOiuGmFx#(&(lfj7A%s{1-=&*|qdHql zR~W4IyPwo81CFNqnQX{bozBwBrqJV$95D^Vmmn%0VYsG8$J-}8~mdFX8l;XD=Jmu_;!;}eA}h5a-5O@r|r8I`P@;5(h4@*VfZca zJTOQ3N8BohqoF&|K(X(lVLu+bYJ{AQ)m|r&6~XS(amxAm=URxoSn73{t`Q+7mH~?s zDyT+Yu%{2EXjk;~jG)O9tjl=G%?kuqn=YE@O`k)cQ(3jac zVms-rrYF*s#*d^ZId=&HGbG*HJV)SrcYOf2DqMQ5R8H=o7ORvLtrZ(VOSn#=)1yR_ zXUfz+cmf4I!~uYstXU@U6?40z3#PO89Rg&t1sR%236~^;DudJ2Nq?8_AU|$OaGzEE zFg3VMNR+}L3Gbj%5%)2sAHm-tbLlheNYrL*4E(W=7(N~aiU(KQ5+%rRGBR6uRM1I| z)MUb?4iq-`!;8Jy*{O>|v_Gbs7t`-Q_>o^kAM^CiJlE3$^#fZcWPAf)4KML};I~mq z2epR#1WG&=ut}zRtE_FEsf|5IRCs*c<_7i(-)NYYx)(z*OLVIndClMa&r)7n&-$lxP@5;ZwBZDd^@cPw}Zk@LR()&%OI#2?@7Y z_3>)`O=)X}wToFt@STn@uhcrBr`U2Z#MU1dCdnZmt9#FCfJcWS-aNH2Uhmc;?pgn@ z{RNFKC{>^I7yE~GzicBh+X~9rL7+M8F2>w5pk5a`#WnhDLakdT@_&=EVuDk3J*TqTFO3 z^Yvg*WxPF49V4pZ^tO=wR?$DCob$?NDk3X!_r(T?!H9LtRq}Xz{x*!LC6ZTec z<_PzGx&vrTuyc>{T;o*!-PDT`Ws#$RTg5;N%e^nBJuTPqFPO_p!#u{tu${s*F7tKx zd4#9P_pY$MFFZX-cuI=jhN$`rq${tbqSHPs<0%j>=-`(Tpo&8*RM&9lL-V_6C~6ug zdU9O|*YM*FpL?d6Gx)c8J%Lik;50pblyM9d{|ZF`o|N0sw})gyvd>tC1Ct(XNp)AtWI7tsU7M2T^M&+>PeF-L*wJQ^ko ziObBqFCLT}oa7i^K|A}}B0_|%nff;rdGPoIGmT>3u$?6f?5(^MH>DT1yr+6o)@eo5 zcoFkF9`Z)+8KsK?rIr-3BEd2W;D<7vCP8#Cer_UV{#D44s+y(nM*{-=g9LM%Azu6$ zV-A(87R0)?*t6QA4TIgu^k|S~@9QepHN(9Mu2P2Vv>+s8|k!uG)YwBp5(Zq>9yx0a)oYE>c~(P?ji4!XP5*f*G!6Z zh-OmewhSvq7HHDo$vB~7v$+ia63LKqkRKGu3f)BHbvq1NTBY zw)1QFt&BOT(iY1&Ax>LGAi9C+oCISN%qy4$EdDzEg)W1QV@f%?ndO>fxDhqT!sRGu z0`(@V5qHgO)0q~Ct7HAUGY54~qb|UA$-K4noUY584+) zW{}Ku&VDj6|Mk=rAblH^nmQSXUjX;U^q=e{nS-G!!QIp->SMw%_44{E_`Odz9JK7i&S~L;L~r z7PhbF8>U~Mb`jBgy%X4vG(Hs`eq_b}h>=aoCuL-jMoj?!Euv?a>qAwzjQ3$nn*L*+j?DTK6SgGl-fQ>?UW9n7km@IwjCD765 zaJ2b8mI05@cenrZswUKO7Wn$$L*QrOjvIN)%^Uqj|6n|ueaJ0Pbo|L&W4JgLpNz^1 zceWQ86SXEAj6}kUUFKXK)fgh@-cWj}_;$#_Pdl%|NC@}JVJD+XkqZx^gqsNlo206F_V}WaLPF5PAl=FPWNL-F0r1@ef4>zT7%eH-oP4 zIlD(MY$&2~AVjPT-Yx!%=(arv=(ka(X$B+l)QZnSsZ+Yikk0UKG#)3gMm^R~_dQ61 zej~IszyYKASA>_;BTK{Bsa)T&Y(G0lT?~MT{{Z*1S{thm8&L2!`B2y2F&O?^)bsDD zp*m&$2M8&4MZ?d>qJCUEdf?;*EwP;+L!}k6k+9zYynuc~oE1t&`n&1>Oqu*Fc74-j zCaZ#OXx)SVUNQ1+yfO>^t)TlNT0xg0Y-O1h%Ns5WPYisj=15)^@G)M6do%`9KMqBl zCI!rfjB-0enJYrYc1%krdzhg zkSoY{G3D{^t_E<{VgXr|Ap|O&wykt9i{mdGt++$_s6SAu8!5J60wnpH9HKJL?l`Fb zhm?3~Ja%pb!~L0%T5cr9`2yTkbACNFoNvp@K;zKNrEo)pZ=ZOXBv0W#3%in-??^I= zx<=Ym6_JLi;s>}XQg^{TOC=THOANPEMY-ArxIgxLR0^ZR z;zVkWqnp0j`G$2f7L+>Ov-R zo47=R=WAhjcYvcK=~&ab^j@u#G#~1FM>G|)ySmpSsa`T!d4r!upRmT5hFg0XenMCI zC$2f1-kv|7{M%hjkJz*ANiIExj$#H4qFKL|NLE+Ff^p4Zv??{)L2aX!h@-+fMrc|= zRnIP8sgG+{+ObGQ=<#o=rwY%|htB{Ar-l`5wCirC88$ z%(8^Kjag+_)j) z4HItUTO;=z6%%@q8jkH#fcoXlft>`on|X;eT>^>ce{VqOUSDc?+Pg|Q?ZY3Y}Y z%ESG)S%U`k)vSnw)2zq8Z)u^c*`M`4$u_NL8s#W`ka=?#oG(W&vWA+dN=QOXD3xyA zhb_09?qyjCFcsq2jAx-?ENo`jHNu=I;aV==uXzU57bT_zG(8kxd={_LW>Hn zkx?JhV^qGR23{B)%`OD9^}C&LW@1HM-peh!b;g3}Nav=|&Umo{qb+%NQ(qyBQ^Nh< zT_}g=0?@j%;gNkNbw>M3bpCzAICcht;o3ivs7~w$aTD;|g!`g0XRCB1JxF`W43c#Q z`^17YW2qh#9k+`g0<1z;Yl#j~PP=h{eAl{RkMe~RVL_u2vek5Ky3rp(yHY#DEE~d= ztC8bBUddYhvE-{ZE?c-VfvceKJ*XHKUWsmh-}y?G6PWLiof?JZH_G(BdkgIr_V?TI zDO&Jz+Wos`lZvs!mB#<0>ipxHs^b5DFYLm-+wOsT;a<2GcHs^-*kl*(WavP^p+l#l zPD4dSoj7sI(21z1sHCL$qeMl;GDRapLq)|Re}!dciG^i_X@#X_Wo2cGKfh=8>GS=5 z|I)|9F~{z`=bZQZ{dzrLHAQG2_9-jPRkSVOrt6P}dkZQ)@$>>oD)GsU;nYc=QWnrb z;AR+cS^w*P9Yd8u9srmgh0K*#Q)ddclapL=5XWr+N5afaD3#{gs#ztcNb6DTMf2DI zkVAt+E$K06tVy0j?A~m~(-lK4rn0bk;0KzoXQ)UECiH*Xbswyc$#G%ek%kUf=ne)y zB(|5ZRXlU;#!{<}J_+Dl+Ob{G4g)HZz3;FmNrOTOgM6GmE?RGMKjuaI(j=uq{*f67 z_K~*vAirF@Yd_t{DW;XvIv3jH7%Y5Yl5XP8Y+}2_BZ^oLdtigMvoE*L{wMXk{&yUU zFb_b$^>}z54Oe?r)TO+5%V_C3VjtVlUWIEfMR;y-FJOk&NkqG+#CxBvjszywIBX!7 zP00Di#vn$pMbI~O!UMQT&jt7}o*;5!g3Wgka;c|+PfC`$h%7h~>(W1SBaDc4oe|a$ z;59p&n4>qUgjie?@5!wCK>y~Lv@f9l1H8o>axC+qp+{Aoj(r4*;ApCU&Y1w%n%B5~0jB(}($+$o^HG^s-d#p#(Zq*JE@aFr-t5bpJH8!v@e(Mmuu=S>#v_ zJVrLFfWAY5tGxD=aAJf#hrJhG-ULp@Njp#Gnoz7#e{huX0$v*;jxe{QuH!@~J^vknu+{d4Gb>nOR85h#5>%W00-DEIb!NkJaZ
co+qquUlizz+01a5;z`Rd%^iV)8sO=53$X&=W|g$iEj&+Y82@ZjZvmw)vAas zqd$spO%kdS<(ji6k#aiV0Px`QukKu^de0!P3ddM-S9d{IRb__dihfND^Ow|y$P3-o zrpFcux{~J+E}3DE^UOrDS~%U$GLXw5f3fCez7JLuE7ZKWH#ST+vicjQirp4n`5m=JzHg}`7PS-_U&o)Re-u3ToM{dDHD{KGn$^MR zOI7haMcjDkujvyjq)#gBTfxI3{$1WYAlUeL4mr>IQESz+rm~{9=|gXbCD{BIN`Fo0 zH3g1w#8algbq5?s2CtaX3{G-_Cn+WNztpU^+? zU~55Lx!#J`t!lf#OtGQdHfOwi>uv&HGK%X9&84R4U_%6ZdoVkTWPFHJ(FT%kg!B*K9h^@xtTZ1b97s~f zBRF%>4asr_kmI2ZRurAxL+Q6d0WupYTc0dF#e^Oe)rMr-m&0;uW^KdwJ6y!ilzb94 z%HfzJ2uw`?9ce=XF)vpTNSx%y)6P(7MkJ_-C=BSFT=SvpdEwLms94L}3Wb{mjgCU> z=#CcWG|ee6Sk%ui5jLxQh5U4xN0ih)*=u+O-0#hPAj&@unTyCS`UIfU+rbK}^-p;m zaUGS+Ul7$RK?}t`q97JpJ4)dH%px{`%rN&Q=|?30ruGk(`95t`VBW_2EA75Yk#@dheNN{B>Gtj$l3}(`2-KR#t;T*r|bYjHp^;I)r4-GJc`93@~28 zhhzk>%W=nD;Z_*+)R-7ceB7|gSind>Vve%~cIH!Jg2`m)Enm}YM=}^je`cJi7)ntF zfFtqdlw9x}>kAbhfb;9nB7!;05NSWy+u-8bg)i)Ec+Whc2Uc&i9W1H3q z`x1%w90{-uCbWf;!`xG z*QeMVMX3v%Z_?%}iPxk?)XN1i0jtm(rXjUx$d90ck%5pikhQWDMiBK`EvV zk{^WV#=HbjJRVZbb4n3-=IW=x#-7grA2Y&Ql31+w;Vr?3+mks7hnvKlB8_(ut@L}=u=-GR)N>O!40G^MwNNoR1XP*`Tv zd!w`^Az&eFI;AlR$4l(N_)MkTGCfIQ$@Xn=Fz6&A3Y1i{TkKX7m4sbueZPJj6rfD8 z8gtY+b`;DGMT&=PRm$^;E7Z)hU+D@2HnwmgR0DjjYF_0k<-bTa>;>uw`t4jgwNfsn z4nr-?LVD_i_1##7I|j{e{{d{)h@VFo+ zFg&Z5g2%@;EjPq+BZ!J;&EJq%I0Zk`H)lCYJ+P!0FKLMEXO8ahelY(^M`h&&Gj@7X z3U#dVtkraPtRBjr6rj}so7r?oe`J333t%==S6LegXYkRlfsezb12bH9@^RZF=VNL| zrd{4AMF#3}ppTakn!f?boYYT6Wtxu$pIspRjp7gy0CM{SYR+&$4c%ST4tbgBTWH+Z ztDtE{v9rqG6GXk%2= zOiEY5@~JqIL5?Bn>E3|8f>Rwtq%<2b-wQ+&K+r<^0Ef&oey-}eY-Bjvo1lLJtVihs zJmM0fx3%ZcajLdFw@+MH_$~;F=zcqGj>>I@UFzEH7=On>PY~I%FeaSk)HaA)o#Ec_ zI2SfhP2obhN~EZ1@EWX5LP|#+VBI_Auk@Nw=c`@c3*+IFZj7CUJ zzScLvdPkp!yMtSc#Vx|N>4xIW-3sUxa*(Xuuas(U~AxWJBsYvlGG+f@b z{48{fb%CIInqejQ0t!7CZb0?x)P|G$;p$nC)@lWBChCvyAb>7dBHUhUnJrH!Y-2B~ z2}oSf&kt?91@D$(dWzCG&eVt-pU06RY#OLvD-8;;Z(s+9@xD~L(?evk3vunPUU0M7 zvk^=ev?!tfKGM7rvlpiY0IIXS-DRRe-Phxiu5*@UoaG_O}_j|_(0@b&RfR!Wyn)@I=O z37(+K6WP)*sRJd>fP?+mGeD@s4K972ntd0CQzQ}4Eox~E1GkKgb)3)^VyT7;ivAXE z5UF37M)`l0&WLSr{KlXe;Hsk$zMK_&lXUA(!8MXjv#h@fHwx2iUd_i%|3d~1a(CcR6^R|=ptu=f-liCKUZex9C>!fg{}&_SzOJ2 z8tPcYOoFs9iM}!p9!x+m$&B+RoJQygo&;})ZsCQQCl{g$(%#+{YVp?}%XW1A6 z42kLZ$M;T_6=BXuOOcjKV6X;Szl3h3rMUjR@)|G~zxASK8Sl1cy{XWBWmpbwB--=s zFQ(53D%?T`OSVchQ92ximHMqF*Px`mRSwDHI5X&%n)3z=y3}%Leuym=nJv_WI=`iU zaxO%s(illcBw{zJ%Rr-AF4d+KVV`Fe1?1cefWBw%$8}lYpU^_tIVEqQIS^&n;q=l_ zD6ID0sI4&9MRm@yMA3_JXqULe^rMRnnQKfGeN3%eA{W^N-Yv)quLBmKVh((O8~<>( zYu5+j&N7cg%#@tLrZol{7Un-P2v)H9PG_NSPTNXB?;GHjtSnHQEGKZ;9g>zM`y{;IeAADhs>ep?PW(0L_Ig$p(!6%ke7F@ zv2W%lrZd(Osu3)W$+@9oA6uz7g{yST00LBpR1Bi~hvxhp0BXmAPn4Rq=E6YBTB1{0 z7zoQi7i>Xz2xIanX#$l#oTtWg<~G`((Z!dBxbz?QvTxur#NMV@us@Qwybr_$hQHDG zxw=}md5P_7>J4tG$ss*Ph@ZUUnBLWquFd=tgLy#^7!;8|h+YW1=^Se-bd0v|MCWR* zP{}*et7budmAYqw-izlRLddV%FB8Qm1s~k0A8Bt4kWv&>54<4sBu<;GEVw3m%L~`{ zCdOmGS1G|o`t}RLs|T#jrt#KU()|EBH4KLhZ#Xuf9#s}WVAe*g9K^$YHNpkD`$@A= z&HNoF(?3QiS?DB;Gh_0!;728>HyKNC^k&T;*eUjbQooJlis%zMCgk=#K~mcLvF{J% zlT>s`9@UfCu^#hR46~KMsi%$!vqN+ww$*$(_ z!xHOL;YOBiCTx9gRD*shsZ?E^K;6pOhgjF3Yrxb<^4rW5?P3G_**UBO42v+P8Ho%{fC6FtpVYyIsVu%$b_ z`y()2PmS=l(WQ*=bsl(2C9kIr)c(Z|kMOQ@9DwY-f^cdwc?~oGH3V2q6At(|L&w{$ z%BBZmI&DnO8$j_u2myzdD&}~=s1V~M4qeXw7Ebi8K&gKE2@w>n{aNXphjKgK0DB4Q zBs(pHhaQl>42=+Aki!I!aX7?lf`6j8KaHH4*5a7+at+zX)CZ~>zB^z5)tpJHj+7=S z*&|x654|PDy3IL@t#dU@1GNmXI6oE3*I39BkrTJG9U%o9_|bswP}Av3XnpPe>FnF) zXs9Hy{!M0>KSPXbiS7~bzndnm5bkHzP0bhbE?u@7?@utG*w z`QPRWHQ5eY`}3_lHmC3dFqxpwEFiWxgQ+dB!Fwb-^9y>}2#~{oeevY)C}Rt>S%u|$ z4M+JfY6f`=EHUycMWcZrCo*>*U)1TTa$kY|Q7D}ihGf$#*ZESgu-5xTNb^>3 zP&-MVVBZEQE4Y*t!~95nEPWCH4R!F#`_cvC86i%mfn8YoX^6%R&Lru7Q0MR35e9Nr zGfTNn3t6FL^zsn%fh;gb2}V{+Q-Y~mrbW6``_atB*cfmw)pefwm}!#N{d;dR($PTv zLz3*>wnF|+>K8y(-Pj6NM}cAe9J{5yg!i0&8!lsrSRbTEaduX3)8AknZm9)b89loz zF3|r(=oc!9x}4rPIJt{fop`6H8ij%RGLNWCt4%v0om#9<W)D9292b z?KkPvIUP@Q}iYTR^U%0|nS51kp~=1%XSs4-v2_R?}absdkn+li^#= z0V<^+_8b0JfO&ObRuCh9l3(oFhkpDx2ZwY_;4^{f(6%77f!&Vhei|grMfjdE!-od= zrc+D6OG#8XT|-FjAOHyFAL&>iW;FOJJY8{AAv^~RHrcNjAF3%$`B80-$+@m+v{Zv+ z{f<8KCOVYuN!GoThrOSqbF!H@#pNtSArCx0Ht%Jznn*RL24pIN#UYHI z9z-}Ef?hZ~eg*sJGUD^T=G3`=k<C?@Fjs}fPxJS4ynW7yp^r$&+Wvbv|T(lmO7pb3$S}a`JatH!ERfz9)z*d z4+=1t$ct+2>-@7L%^6@W$C2qd4+v@<^~4?s7>X_mwTv__SHq6sn1l>nW{11@~vBG~$@PmcR zAZY^fO#hd<{Qm=<{~wYvbd^A~@W0^RiEwHSLCZ<8We}tVkuq~2VAxNthWO_HNYEUC z_1X0wLmK`pBtS!=@xMyPGWc^4D*GS$8X~E&zA*0*LH-}~HEdG+FDjecHx9ZEAdf5- ze%}8}!-kV;%!bTBpV#C}`Cp{<|3aW$MWf+6mTBk|Kj!&AF1EzwhCU<15|#bo2lumh zp%`+G+YjbW(hLuMhNVWUoGq_<_{Z{QT^>P!t_2Rz*TuRne@H3ONRG5!==M;b$Tys$-$(+iK@# zke?&5XoEZw$+iZo;k6M&*|1R!F~=41*39KY)$`rh_l|MYt^D5hO2`_^ zOEuggk0{Ed%yjEpCXeA-^g#GxKg-ruKuo31!Ae>bAnFxTh0!Cr8aax}lSjknHcM$Ifw;5rP_Cleua7 z0Q6@vf~;h|LoXwvXCcFF z5vGxh=-QjfmdEFFhL3$;LXu*lSkkZres|<^NK(OM4rWQaF+&j7Y= zh_>d6eaUJ_m73?i*6^IACG;5>UGt6Mj69`qv7&sAy_g&4=g+!k!Mn^2@$J~b@PEN) zCpS~m8ofCppV^+X_3}+t zLjbt}O)Quo4aK-jstU1G@i*4go-_P;yE6@5LFx7gv>ci0dhsrWxYG>(17Nkr8h&y{ z%ZW&~0VY$(Iw~>}vW8-z!(Nw*jBhZdlbGdr)_z32u*f~f`wev1KpPpJhr@}-6AWSv zXAglNG^u8Rv^1bO*7^bQZYY$@&3ALd)c$paTMPei$Jy>cMx4Y2>h?&ZgCWdlY7YFN z>QBK_ocg=sXK|vgGrSC9H%g{8oI+x2k6O0C6+nV7frxPF?LhD0Zm81a2B9I<2a#-B z1WXCzKOyq25#LIa5Y|ml36{QyuYDD=u&rPHBQDcfz+EwTTS7EnL7-J1LTCTU`yG1# z%6*G$_XJUicEEdN8y13H1sbL6C^FBMsVJXXHEoCjJ3A%)Mbv-3tLRnpSM-0-eAgPh zqGUvSp!j8>wy^f{GI=z7P9Tcjyj5YM^M6vfCfF`(UnjI1l$mk#7?n*4OS-8zB&lJ~ zx7@EgjK$eZhy+u?lCTnF40>2zW{5Xjrxz>!a)X<=A2AOx&mmRYx!2i4>dYGVXe6=wEZIp7t{y6_M+}qUZr`e+ z?~`ag)F26|Dwi?*Uo5%=2xxe!pzbu;3`;_v!I0XwBkmp`2de!5_?i+|G>~zKFU|WB zUEl}YgYg9H-AU+hGzA%3Wd!#~&0#4M@Ez)kS=fDBcKN69+t`5TuRO;^K z(qh#5l0R^uyBe}AzEELr!?t`3VS8+bNR9D)0Kt8fwEzXZ)#k;BAC)=`aWr5HU@rnv zVR{JOT%mA31UHl}#}F=n9OZqgL-Fj`-r^mgRX3d>;$>Z7G?Ib&E?bZS+e^6z<4Pgi(O*f+Y6YydvT|mi$_yv@8CvXGE`d{IC-hG#7%lQ?{H&8>NIL3{L z*r(<0LdkSo7mH3r=GwC8S138-hAetO2Y!AjSV$KLxlrPrVW!aYcf$Q%n9^zD$JT|o z%QKmN6w1Ptv>*wtfp8V|leJ@KfK7y-5}2YyJnUV<=^{@TEHd!5{isMk@hTNQwo=+g zq~Vu>vpK_2+l#QlI!oPF7CL7(B=_d_LZ()rP4&pA1|$6!mE%UZbaZyZ*ydG|m1tRY z_s#0p!7&_%r;Pm9nHVG;8wP>*K};W8KSZR4!@uvfK+UuV+);HsPTzspb;KpGo`4!- z7sg?eWJu~~Yv5=ZYHdD8;4DbI%eI6#Cpk(;llA43^L=mLm}>||-1@i>NmSS#B6G#N zxwXNb$C(fE&ro*&lq-E1h=`g#_H~(uAs3USxQX&{p%ZWTv`z)(ZgesM7AgOO;!&Sd zx7a8GDK)aAmTX(!oyufneYqJuMQdB zA8FmI_S4@_UIpP{YPfsM0DTG1dPoycLHH}{dq>MqkOjt0z+q>^(a&N=cS@I(#2BX% zheta43}w5TIo|SF?po9rB7K2?cy&vK8Xg24*i+*omfO4jT+5fWHNt2D-5}&r>;+s= z)>l;J%1Fm{?!_wf?i2n}2V=!P3>3N%aQFt2{%l%pqSgpG}rB)ThF4kKc zzsH7JC1E^n#7Vi#n549Q;+_d65mi|j(Qv?anHz5Ut+IhwIlTatotf3vUND1WK_2`? zpOFe7^MvmpEz|REa^H)}?*8;CrRF(n9(WCJ4byzDyQ4o5QvYk+F}atRli6%Z#*2!Q z&sLIk=(?^^Voqe)zu0RqS6Q2a%&S@f`3e&u+m?WY$s}*SOjC_i7WG@R*4w-G8+NE# zcNZRzrh_{n=5q=hMxwYbS%z_aOdnWNA#R&scxO0Mp-Uqd)@($hnR~F|bc3>AV$wvC z{5h{*?itjzYtbJBItiI!^U5n526^Xn-p(Qd3SaK5(vJZ2bELQv#wAq4JT5h5w8p_@ z`vaWmluW^fM8ksgeqoJT@DNJDZF`7r69R);;Hl`}AP09T1Z$zs10l+qsy(LSUZ@%h zA&Iw^SwACFpD9RroTf(bEn(DNwlUNg7|v{EYWzU%8a#hZ_%jgCG;Uqi43zRnvmz~% zb%eO5dZ>^Ch!>*&hkNM;+oIVMblU0wZaek_j>hJJ1$^3e@_dFVk^BKxUPA$^<~p;q z0hMnVcGcaf{mGcF#^F{^KaDU`fcZ{7$$U+pCu|qBzECD9>q4ORF$wCUp$)hg@(%v6 zjst~}`Qg5s+Ogr(SSb^A%r*89T(W=M(!LTb)Ud(8lnHNEjZ)S^ve#_&NvtLp(SX~b z;KwLO&26sIrN~7ZF3MAoxrO_y#n3r^s#E(~u#*9u1n~*+jqM`;UUVcpg${x@k3Git zol^fTrLPH-Z?ccv)-2XVXc7^lbD7gXj)M#g+Iu^c~Y#1^o01@d^MAg6? zGJr2skB<&n|88@PVVv=kNbCkO5?ib&DKRHS8*;1)-QKh}f`!vz_95JtP(l7z1W?mh zZ^ISp7`hjw>8B8a0>LzZg5Bq(J{{M$NF(J6Jc6G4yz52 zijnr`0Zv2h!DL(klMO;+>HFbuHVCH(c_TyT_^}@#I9&TA#_%=u&^HUddxFx^j}oYF zd{?a5_W{Ypo37JT4e;>Im3_Q$CyC zItN1U-9h4>3I%hKm=gLd&jS5gXcpo2vMcrp`q;wV$k#XTqn; z*I<eggO1h3xg65}tV^%v)(^*bB`(5LL-_}UY~XQX3TO9v{U zx3wCj^#sxf+BLLMf`aB{zF-2H=ISIDc^|^t&(}T*Dtn8R4o>=xAeM`R&A}LaG*1wq z7c|LhxfDQi=5EALONLeSI$5M`Qbofu$RDm$?)p&s0bzfS^+pH-)!O@{Z8ms8NAHQX ztbgph^)C1#8hjUz{w!>W2T@`CDi!*5;|_KTE(KuNH6|9GDiI?P1-KJdhkIGBrWxd? zDw3XqsRzRHc*wi<=Wb}OTKmHLf{auYm4iNU>|Cnc2%WbjpfrSd2g#Nff@Vtp9L--P z!E0esJ)ZVkpxX<&;eHNmlp5O3%Fy}PWaj(&E0z)YX*f(n0nagALt$SaaDAaCTQ}Y| zwS58jTPr*c!93VX*o#1TCX$f3=TCk~jLPeW#C9KIJCp^3Y6U)CEoCB%3kESknrQn$ zcu;Lg;JVbXGPeRFtNE;+WU_r5xZ_k#)z6-Ro$3G4*}>m9b&oowA3%eHepq*~w%`Ht zAyDC5wfSR$`=>G!lk--k$BVk1;1Qg2*=Dr9R`UTmL(_*HM1Z?G@s+lC`aPcdgC8F$ z6P_z*hAWHT6WZ?c96bYmLW%r@+{fvk5CYKioP z!gAXXo|zsE`!mmo*zNY7+4Y|h*Sp3SkmeqgZBSbYLpIn#TfXH>HHJ}ab38qoagjZG zaTe%Lvp03pG(@`-kcC$IRw+{{&az-cv=t%hoodT6pPBl$2k2tUdb&z(X|- zc=|$9tohn6^;N;}T!_XHZxCDEMg!yg8i#Eq@LB{JC1qi^{<8MV+6_-TXg_)zfyA^M z!7JR#D$ufRtG&V$f3vnLL zS3(P41^t6scu3G^^?COlS!^9)4}uPC`u8x)N+U@y;htRU0PJ&0=!$fX)%`4e3B{=B z9{36~p+ri`JE`opv}zQFAWaiW;w?3_Tgkr{$$n?*-cc}7X5a&KfkunCiH6UzS_7=V z@gEDi8QA$9SruEjS=0~*3qtVB9HK{GsS?)nn(v!32#;n z2c!iBcYa;|B=Uby@_Lhzs-()WM|YGUO~qa{NRxZqJ2@!zR7@{vaFA!&AkLaf zm3XYMvsE%}$nOF4_-J>yc~bzdg9z0UFjNEfs(l;vn{jH7D8t&Y!@|39UQjv_TP6QO zI6NMdg26F#97S$dc)avzC@di{LNi`5!)5#-*87q6RJ5ZZ?N8K~Nv`%_E{AkSajU_y zqQRsafF${nE!U-oC>BSQl4}izsT=;HFa$Qi%3|3zW$j(VQn49J)~t36GcE}yx~=Wy z$xxHACIV~@Vw5_82$esK);JeiEk2*SQi`Ant}#!D(&@A|jVZMN&e zN`WnoWpU!}pZWv1b16h=@vj@Ki?Ut{K08JFL_jx#W#J$gH!PQrNrNEl34(B1@WzpV zf#nLlGAgYCqxze?+#y3Wbu4qJ9Q#bR5E6~9C6as_HP`LK^q;~=i90B;P5{%^np zokfH~=r9~Vm{sh`NW<&Wd#vz0Q-7VS_ZRdmN2ij|)#wH@blTsj+}QzCr99SXmb`Oy zLG)f83{FPo2_KqGFG(T6xeO2NP&H)C;f3ol{9#7>hw|(OVO0`rvrAHEj9($0`e_Bpo=Eg$OhV|&OAazvL74SjBxV}M65QhBdY(lMEkYFVjtlm z4H)QqYdYOE3$1Peoe@rz;U|3F+zQYm*fxP*qP6cT#ogx1fHm=m9Tc)cV!t|C9)nuI zFQ7U*cPGlE@K-b-G(4-3qJ~mGA|l*WKCGN>SWx8wY&iME^zPYHt}PI~=Z*EnWS-== zGsI9A<~s{MVbI;$m(sa7zLw}HwojsyQhYf2g$@@U;*NU1LFP@sjI@L}C)g-`zi{?V zHKT(^qQT&Rin*CL5u&Bi$!XMexxelTV@D<37u~Pb!OaIdXq$8L4Q*x!^8lOyHU~e2 zhKX9tFH91%7IuEiJL!=sxMyZCpPr2Y;W8bh=f}gv6YQ~cUGmADY-?lt>)1*8Bzqy< zxG9Cos2t(m4_HR}lZ2KiXOL|mI*#9@#KhVUxiPMpU^b7%YgKhmSD04$u3W9sMDV2vI0?h9AUt~*)(vvpKunOJxNtIe9ykiL826E zup-mw&5=3DpgM)hIusi|z!0Xkm=W)U>pZDt$BFe}TuATzio)+W?%GG5JsX(H1} zY`Xnu)f?@HtmR$>#OgO}rG95->G!KM@4=(^ApTWl{@XcsRjeV*TL6!RAUU>$a2-40Uo*SQq~WVk3T#cqfNydF0rSf(UBN$ZVIK= zTQIpae+3k(tjv;&>POH5EEqdIwSO`T+E+Q<Rbm2Tv-+@n;)bG_0~J# z{O$zktUP<_oZ>YnP#ay@)3f8FUArX~1Zv7(YAQRwucMpXB=)Cevuhch6$>R7SvKupfzOWSC-yeSL{Q(^gY&}J zB{+Xog_Q|PB{L8GUQt{k{ARRWMP`E2ESB3czWiv#^Qb{{3!5nSvv6RG7P4zj1=-%p zf9O6YLQ@veq#dn3d9UXUG{e#%n(LaurU-bU>IOc>gc<_Ykjq)H)`*S-rbv*WMP@iW zu;j@74oQ28FfG_n>8nU6WAUgO7Jvy{{@dtMw6~_-YznC1+xO|pjQS|*P0I-J55!kX zTQ?6$4d4U&g94mhrq1~?9fyfeph!u}xiw+@iWL3>zG)rTBYhh{u3)avFKHwZagbDx zbc&!SXj{UWuht(i7O{SmhG>_5jdZ!o8|_OC=}-?c1xDZk5+2%o%c%mY&(uc&(s1b1 zq_3skDiu#Zegm$r;uz~xS1|g!6WupT56s4Mg;XKeIXo~kFFwSL7{ed z3^;Cf^p!#b4LV{iQb?PUy7SXN!!4UAm;Hvg0T@&eX+du_axwg`grkU766gm=Y}HX= zeH=9{eM*4z3X;AMYtcFl!m9)^UEb#2)%ZD>p9#&>cM2eAagI?zIDf%1gug;z7s@ED zBQ)uLCtD9rTq9)D%}kA_XVj5iriV-?*o~X}D|Km1jP6bCc5RE5+Jj89FRi%49}Hz; zgcV60Gb|C}xz-RyfkI0PzX&I9ESB2?0(5nJRWt z$EaV82U)7G{abms71MS5JETo2zN&BeJT?cXT3I)a^a8KgAzB#x$qM>N!yINY*1t9t zoX$kQ(R^rl8-l;t)*B6A zNXY7I$${yZ#jQ8k60Uo>mR>W*n%<8MY{5m;ZOm>!S_!Ny(C8v7LWgd2_!0#qfHgDpa# z$#1iEPcSGiFxDXu~MHq@*HOm&x=3 zm*A%(+YE*Sy4TPqawvEO=No_kvt|Eey|i^LycPkYbe!?Hho}_X{db8ZE}k zGr+I1=CbfUPJTs9bv^D_!967obiVGrXJQ#i-dAG*6IF!Uy$Gm!+#)IGW8`aY%9#8 z!0*oy`)n3{jvDI`5~TLyf)npn^Q#AOl6aRZqsQP(8>o&35e`I58-aP(QD5jwO@4&@ zat2nCX~{@;S=I8+ac;?epBX?OjcuL+zxJshS>?$m5^DOEZv@*(_O)boZx|>U*u62& z-TouU&ES7w)*puWfGvxB*R6e~!#>$}|7F-^5?M?j+%JY_w zlkx)dFF;0h29!6ahB1`49@BbMyFA0>M)qVP}==6s~u6lM_vxvbTIH0V(!4k3}%;Zt$)$a zjREVQYk8GbO0HTd4YeVlE=*X`7mbzvL9$LnTPZ5t7Xgp2*_x^ue0OitMoPpcSXN=L zSDk@PBKwc!!}7oC=+W5V&Gu(r+9$x?UkHk*-O24O44~uVSapG+xgwUQansjbKbG6F zMg(v!8K-)|6f1w<7CZ^3qWF?zb}-o!s|!ae*5mS{OblAOW2pn>+q6dr*omNHWla{d z%Q#hqU4%yvo;DSE-=TXVxv$p`>UvW=1hUoor?#djvrqMmuhUP4{VsC|yNHCquQ_3+ zDK2IHS?RAp@@L!psww`Cb2|{2C|hssLcqj#)Orf5mlTMg6X$t8D*=IZsr+*N9^)TM z2MgDh>pHfJ!Df(0;S1zLqzQeVoUlH&;w|qA%K@!Ayu6ZZv~+2drYOG$A2LV4$Ow{_ zmY|vU$fe{bppUwHt@Wz@d0zLP^#{AE>rwX^-ytC2a}NE2!O#5s%Zn^ZMLyENT$xZ-(hMBZP15}^Z! z;kM$OJF}^ej7brc8y1>v4(tz!K*>4`vMvY^pOE=Z)mPwknjI`izXn%*4moG*u>Q=` zf(Ps#z_w~FN{}P+J3^UTgrQ(eTe#%{I=6eKVs?cQo|Y2_V7zvRBYhom?Kka82$NQG zb4^MZ3kW6-22WY^QNvm}UmhYaHx^J{uiyU{Ac7Ot=976%jaivv(*HrK=_j~BJqh9e07R6v)gMP>dk0Q{^{Z0|ong7x zPE7-c#(;PGOM9Z~gF3pw{y5JL;arHJ)Y4Z|#XKP6U=q5p5P%PK;5IF2LOWBL3aVI+ zDc6IKU=7bMR8sN8m$q|IQKcw#J1Hj5{F~bPGZ)L{fDg5Fy_|lU>| zy*84*oFa87t&h?kAks~QeV>&j&x_1?hLCqri48l@wa66EkOm8f4JJitao)AFUusjc z%BNBpu7~+Qu!lpXUs6nWiEB{zFpQ2%a7@3U0>#M~&wZ$illwJ4rG`|df@DCC)0@hP z{QUVsG{s(56ILlD5G-arfT>4kJhpi@ISn&oux+CzXc2&fB$vZNJ-_ zbz=%INDG3Xuzh)mu6K{!q~#q24%9pXBO5AWY$N4bc^I`H{KB^+`4^`jVE&+?oGf;V zg)b3@^H(-qqNZH?-TkZnRifF^xz7KRU5Q{?F?q<7%pIc))cC)esE~kJw$pRmEUOfu)PRkU6uwJvOWMFe#hg&$#H3E zNQVys5;vIl1vpkQmGHORm!a*;JmcRn1L>|ARg-{^vW{uinr8$_L4kP$KNjdH$OPf0 zaKnhzMlCSz!HH<>qEpU4s~JH31m^eR3ap=0Z8F9R)Zdf`{HfuKdUIK(o7fV{04Dmo zg*gJ1L)O8;NEv;F)=ZP~1L^v)uu}1q+F`D1C^b<3gU)vgYIjYE&R?~eTJTZy+0A4H zcStG-sLEs}lNIz@CAQFNgKAKX=7yMpCb3J^@YKB{53c)v;MDWpc1@Nk-D~BRgO>qV z2Ep%;?lOz&X}w#ghxXBHz5w}lp?P=&2`;68Kk&97aEhS|dZpK6nbGoQ;b+2{1arz~ zfLf@@PcT1Lu`fIChVS8r`wt6q z!^m2F7uh_NT{ps(V2%sO8;QY(6=(T)ECf^%@J>4%#@l#9HFy$jq=2ESa*y|G@GsG3#Wc4#O|Oie8G&u z3(zbM5)-rsQhd?wHW(AeT12NigRB4@f*pH|-zhDhOQ#FfKK-i^s6)POzayF~_aNaa zDTGypvk>ZEK*x+0J{*D#YE;Aj#2PL%hG9^6L_2-}6{wl(871DAgK2gPu zMds$0GNWpK)n8@wCs=1V7^`w!MC;gLq-{^d1E~<@CxuuI>&MY=C_zQIZn}l%SK`$8 z7AKdD_*`)~RDtRZbWN(GMrLa#u~9PUBF$$5!DGOUeim#9=L8kmmK#z#()^i35a@5+ zceMk}zI{-ecDic6?qZ|aT2AA<@$azwZYo>esb5BRUj}#8{BR)GxGy2It4id1e$lu1 zDm*Sl}J2vyW9mcB@MOrI|NT~try-0a_g^hU8w5<~b$0FF5S;zzf7ZbU~2C?EKapIYm z|BYU@@%#@06XywnZ3e>Fup;X%g?=J_{wB>?=&CUA!wB>_az39d5N}GWl_q2PZXRy6 zR~X_DQJ|YDGTvQ;gUaHe+B%&K<@@Ujdf(U&UZ8~pu>On6v^Ep5fM{vB%U)5lJ`tZ@ zJ{O|uAG_~vk@_lpi=2y$1LA55>fr%gljxg7<;am>quFo>lWker(Wy}OaH%&fWbza9 zh*^4=W`Jd6lnH>sZ2a|2SkfEQhq+#;Lxn4e}Tkk@a z{njMS>)bTgR_k(kgrOtTlyel7S66r(zk)c3i=(Sm_E60Ppd95`N49X)o|3lbxI2as z*ig?LuZT8*)Ns>_v>=AaetD+ZJhVC(tnff;iO*<~_=TZKn59;_-$A zs9iuj(kO;mM|*WGf9S;!p;~2C7yjWGr0~oIfsi7XEd7dko?<7!PXtXDMlU0O-#X z*D0HD9hd+1^kWAP96nQl?bc+$*NHztlF%bYidI6AQbDOH;u#CzJuUsk0B)K$MgK5F z>JJ_14Rdc{*6EpV-8EEvEzf{CKW_>%%B}as#G094xv_haa}NEB6|9`hS46qnDh81g z>sMDFL@f}=1D+;xMdV*tESalKOCfWivsBowqoSEpw^YgLXl!k1k-38bJ_*`%m4z$M2f2_7f`q^2D0KDXa-gxO~05zW30`@wzO|*GW z0DDfGHr9$&Gb{Kv(yQu0cp=;>_l1}LO(zmeFH;mq^{bnNU>b~Mc2@{{PYHAJ zY7(fU=3c1j6DW9JQ{ro-db3YsZ@_T+(mMocrWy>Tji~#)3OFTnI~~r z#kwtJY{Crbiqd&$3Qi(Js(%z3NR0kJ zM7@1LQ|15ve-3bTXY5?;95@Hgfekj?bdw!D)1gB_hfW-l;=AJvCYAZ)xMrhzTPPE))Ejj~D5-dX+lch5c38+r82m+XCR_CfOh=Ct$Udo!@l53Y6`b4Hcy6=q(3jY*RvJYWa5B! zIqX`PlWP5ScjZj_cJ&zUWG2d-uIK2-jm*?q1tC&oRo5hk=jFe7;B!$>clCw^Q|} zQY)!MItWM#-WP?x8NC!nw2530!@R`DSv06H`Y!94!|tFzPq~b7e?+TSdQdua)+*XR zwY_Z1ro^RK`AADCI>%_maqiwa!rT(% ze4YIIXi&496M?q9_I$NzwUv35vecEZ*|_bDb# zV@uFp;KkQ*(ZPf zFJ!U>)E3y)-p=68ELH91-`Bhm826#b0nF-Q?z64EI9M58V0R@A1y44X`;V! z?ZI73GQXryZKMVr{m>ppzG`|=H=4O*Hb-JfjhH1KeWzd)J-lq7iM_KP-sl&H(ewOW z=tlz@oxyw*p7UM_%a?6UUZUT zQsb=mKs3?n^-ObKaE3rQIj!9i~bqcepT2-l1o% z%FKTUNspz`o=zzEvOf6ysudt@3d=TPm;NDoN|HdROFxYHK z#E)q4P)7C!DlLJBqZV0AotORj>KVSW5oTY64u zDM}*k4yGnt-@)?j!bq72R1ZxUx~J&cZSCpb3#{dN=8th$GGz(B5Gj|E(J;UI>;!wB+Uo;LB;k z+dNm<3Ffw-hRXW=`aK9`_V6Wm^RZ&ryp&^%@Fr@y;TmiJk}GZxLWJ!6EpAAn;}Bl# z?t}G2KcUKPhEcjWp=cdsL1#yb12?hvQ$G)>Il{@5>O@)keN&ZoN2qtK_+GFsm$-m` z&Yg)goilI8(D8WGe=YtwgkX}xn7*>Mg39TrO@Ulfy1MvEVShBWh3)GssMmXq(DQY` zJ^_woZ4|SEq~7z~E1Qlw49up@4XWVNv{s8@3=#X(qYPTGJAY`ZMw2s7#An`ImHmjyHkH$*^ zy+NC-S8u0PW4oS|Y~~(^rT4aPMamfD)%rA89Ji*gZUcHE_g&Y&#LzbLlTh_H3bMa& zXn-dhRmk!-VXgxDWx-FCDY+M94gHc6%Xn0)7FxDxkAqxpd+KbaS4p>E3!kmuAmOK> z(oetLR;m%sD5VZ5xK6ONi;+av%K`{<#a^bEL}5z)grSuFh2G3-G~bz1747N1Oj&k* zUg>QvS>uRLzwLO_xK8FduZMB&EB^LA_#>_e7|*X6Mw;KnWgup1Mr(hcX!#MFPkyUi zi)!YZro*~?dI{IsW9v-nU13O^CtjTq=`d+84Mw>z6w$9%NK4AkmA*y4YYIbu$y2JM z`Amlh6(p|&m6lqX3A5Rc^U>0Uz?PiIG2P@p)DD#kt7A*wah8Zjf~$vHhE`0Yocd$Y zyo7?~+=@l1XK~dII@=qHE+>t+2kMUv&OE}iXm<&-yFd41C<-yKJ0XLt4U+B~OLQ~zOCE-Dl<3P8 z{vZHivir9^a-BT-sl|}pU-aUfNk*NKj`1^|&j!B9VkS%C08AHwGpZTX%k~NCQ88}* zq9ajE(0_k%5<+!-L#=Tq+`7V@v)na3oxvp#B1>FT9|i-AC2iIhP$l zEan5k|MzRLx!RRmc!60<+NZz^cjc1o-H-v^6ynBp*KMlQT@e)<^zPJ}CDKM|xF(dm zO*0jD!7yZtO@Ga?%ohxBs=Wi5v&!-TdRAf0!R^LMsJN);Mds)}BW6BB+CP-kOf*`r zQ}cqq7d6&DH+zG1fU&-hu(xL`=9?|Hcdr^B*r$gv4KnM>t|n^(aRj#m>)uN;`9rx4 zp(s|VevM0A8`Sy>wT>UxzDcLj{}_QT>dga}HpW36=%10o!7`?O05vsrB~Jd$EF-zK z;oQzh@l-sTBf$8Nxwf3i-R*ap|Jc#l0tgS=DD%W%=SyfYg@5uuW@$+DXi12)`GHJtQf*)No+IZhL) zR<_?)osr^<)U~)a@P*P%*Vo9PK%Ehe0dPi9>q6-Q_7Qh~Bs*HWl}d}#I_6YtMelRW zyuS1V{sQY{x4@utQv%fe?yH-CwxZ+>7#_2KL{+2?fMQZJ&kA#AaBdl)c3a?r>j z#9H%^Aj<^PNU4_?B?oNZh&0m21VsZkFN+4?eqk2U_I5lOv7LYk_wWTf%-Iw16CKs) zWR&#z#r5>p+$RE>C3iSrZ?JM9_wzKavxKd*<#K$qeuWk=^FSKdRn{k}>kjy*FY){Z1FQLR~FoZ5$C19x` z^HgZ^8^*PL4ZHl%3dWq>#rfV&U5^Pbs=2-MQ2yMCLz5kBYup1SeH-6m>>bnATS73} zvfZv~Zu)@yiVmk{(qm*A$jH3d2P-ye6qaytdN(1Dq6Y|aYDbCYgvx&RTf+_X8Q@29 z3vb3bj`F+jwmQ@BkMz4^q*f7!t_qGFsQHWgm8HVR)&>g=Ve|`0PU+Z7CqyE(|Q3)c$SW2aPIDx(lx>(J`KywF&r4-!PHl+x?bLK=$dKAbOo$nDc~70 zwuodEUtpQw?|^1CZu)NY`C#Vs1nqu7`$3qgi+ew|@fen;eVw7w(bq{$mHgWscMKZ+ zsaSH8w8Qb2zL_+i#T)07cEriVbvPeKx?#VZ9cfrK_6}AP>kCCik-1#S92w-8n-*|s zrp_ucDkPoFy=Ri@AM$ajSAzIx;!UO^l>2_P6a~lUMRm1Iyqp-V`PaBFnfx;GDONXC zxJ(H|7-?XaBOPxTD9VBud6*&Jeh5vKX=nE!7%oNt#ko;l^KI%6m@|wy6vj*>g&Pr% z*P#0bVj%vN)VDTEvo_U+xlY>OVb$bO-B#|R9Lds{e}}L?X?Mu*8Y0&;R``cPD{2io z{W^u|lsG^Zh^5<^nk-$qxi3zRADb6MY^@u{9t!At`EkN6RIT8z;CswL1m7Ypb*Xhr z)9X`{Fh?bT2)>?(4k;-mL$iEh{k_U%54vmLMTn1A`19g?)B*8X5IKjfG**PeL{Fh6 zE@^XQX+67{ymy1>xpXH~Sv*%|YDS`nD4`^&X1*@Su~%ZndYsw`0#9~-W~>F3E41ea z;1};6@UB3U$1~e#1N4>SHOEnIZ*Hs-bwsHyTE`KiP}9&ho=_Tx<*JV-@Mg@DG$VpC zqfZjJhmr1w`cygjx)aWg^U%BDXzFkeKXzph>?j%{Stx}?%-UF37WD~Q(|}4Pd<9o+ z*ZxDR{!VJIas2_y#Ox(5cZJ{lF^1IPWJlT&9KGIC9X`ew6bc6o>LL0{hYnEM=2BNm z(s8V5chd@({+Tk^LTpg>SE#BtqdOqHDyKJ?;_vP)UnoW4=?p1rIxzEynR>z>@-2d> z#pp3fUpk0!;=}G18}Wnzv4szFr=Y_O@+@(kvTrRVOK){f=G)ST60OFiGI3FNVgXSe z2nAo0*c_4--@;4_5&>}B*L2Ojh?wRG;dR_Xhkl?M9a7o8Ezi^bp|Nbxe8sntW2Fnp z+oXfk9w}V&IzAJ*QQekj2t}PDuBPkNCic&q&{xQ?AzWxM9CDe~K){>ad@Pp+QX=me6v^W%In3n5p zeQfbSY1iM0u6oV99m2@SCltu}GJQ)g)o)yWoJXKr@MGqK-CgSwmkM09 zTIF`1t1FkD8dG#2Btg|AI*(lWRATx860+8Y@8}Q3RLuL3I8Yj^J)P`U2Kv0OP}&8e z{{5luot4M@=TghCvLsO#0uGULYIG)S=J%L)hA}eyfpUa}5Suml3$}H}q>3^B3SO`Ve}T&}}(tX`tIN4Vg(AvdhPg!Kn*lZ%twzZ_=%4 znu;&hpNXgtEssl_x+YH3hqEdg2c`rClO^zA_L;NdEL?QaQI7$sxMo|d?_dX<=!Trf98yEHMGWv zVmc|@1^u?VzrJ*gDZ~&Ffi^l62D|(fVSI^yA)Up1qJV$f z?v!Xyxchlh6aj8PN=vY%Cz=&UQ<#|aG$eOSeI0aSyosn;9Q!V@kjalhp)9=GhZ(fh zyg4t}{@U{?O}1RPpeZTP9uI?B7Tby9Y0^Q%*RC<%p4#_Gt6H0sObkGR9=%`C{4;;L z4%hZmT7QSM7T*glZB*RW`_`{28*G1BX|CvZ)KUg1@l z>;mY+Eh> z3Rk-VQsaf3J*-?rxq9E##GkwCpDI+dJ#{cSL#c%!`Sal1vQS$gGZg7Bg_fVt^kL4Y zJ=l&jUNbR8pQf=4V!jCXq+M(SOPwp9J6vsx5b8xwPhnwiQ+Ermx==jE(1J8__0lMk z0eqx6ArxI@jUSG%Tyjq46H|`h(rwFC_gCkU{fO{`ig%zgvS|vlE>ijdj=nX$p^e8C z$Pu&%Q1>0Kvx1+{@<@|wqTqGHBuqyUdaZ(Cdog@3;@jGO#1zd#VP}l5g$%cxhN7KU zdeJdd7In7kdg5&v(daP1L&q#M;=c-i@pQ$}Jt_HEb&YyN3+W`aW;;QK3ok4o&sFv< z>!G>laih13=ymEX6!j6>-;+ql{h7XOU90VV)Y?FM?>5mU;VYVX8qsx7yT=BjftO`y zyw1~M?k(^7gyvnX3-{2;pWF zx*w;lBqg2cRre8(pqqwv%hB}p!UL@i@g+{0n2L%S%T2Nu^B@PCD<-r?%<~p5$}XzC zV;x#4m}`S5w)kW1)=&_JL4d`>$TtC$n_5h|bAvfHzTJ0)j4 zk>1bw2iX?O*Xql!>Z`4m$(kMfoaA!pMu*xo9P^PU%wvLx)pUYCNuMXUt&D==4V`4& zxN2j~NA!oqFAzmAOnj*3v|)U-?it&!b~X2T(vH%bBiJ(i3ih)l7mS4SB|d4iTAPO zIpmjDd%FH`AGZEA;yRB14EpYGQ5lca*Ja#lnSH1oX|^@I{Cr>4;zevSiYG0e3eo*H zQiN)&De5=ZXwwk(Pj!==jmsVfaz0){H*>3dmab-#cDyAX(~61RSvRPVnZ0{gXZ>EEaN%U(^+5be4Jb`N%z+ z>AnoD3uC+e6DkHQn_i@LYHUt3p%Q*9aS5Ydd{XxC{xG+*Fn z*O^hALbwt}XX}2ziafM%U)GgnNlyC`FaOn2tN9dtMOpTN>2QO;xQUgc$?@bl!$xBP zB?Vcgp;ZtbR>A<&GFt2(VtEl0wOR3xr=a)a>?9O@T#L7eBqwg;h+Iyv)b~hVZMe^r z#mazsg{(4x>`jeQ7t&n7K+$%`d<545rC&ANG*>mp{9ADOi%3pU9_=g|j{jpV`bk>U z4W8sdE{n@=)F&__)cla=nP0?%)@tj|6p-Z!jrxE=LLVn5;>Edg@|pQHJmu5D&fHe3 zBMnXIV~7@$u+~2joTW-+=zjQ zfyGU1Y;~iV(cCUpY{vA%*EYX}{_O9YmulFq88LbExshS{7ibh=9;=mm+J2>iy@SUTU6$drDa{c{RW zYr5ER+9sJTotf-5yhD$nj#y@;GQqWjn8xsu*GW5MI(6R=Ptm6lDf{GxXllLYPjqsn zdQBFQh~L*=Rh{o5=XxeJl`&Ia6ueyO+nA7{rTP(@s*dY#)A#@&U?(>0sdfa;hjYcH15>{;%+&UK%&oRb~AS;LUfT^ z|D7-~$kNbMqvn;h;hW^J*uG_vaT?3elXOJ{*Gdl6dVthSYquqss5PS;+DHvfPL zGrf+z{*6R2x~w%ePS;-{U09+L(bt?&RctxCumj z?@rwbW{!)=h#{5S?BM}kcSEeJf5w=+KC#T79C?Rpl4oBd`g+45`x$WglrWwns-C62o1~#R@q+G)ar&gYgb@ zw>LIObtv~u{{q`IJOP{oD2p_YvTa>M&kOMPJ3>nG$wALNs;8ynxM+qxoP3d9E%fO- zVT%w_6o+0QOW0bE^-|-Xq>%iNW3l#VS#pE+98E+(--dQ6^B}G9FBrj-{Q>11K>=p| zNSOXH!XMU+=&(4dm>#m`sm_P6C1Z{kP;u@uYO3j56wl}l-!*sXCelm9X*l;Xn||B- z4_0iFb2+(0xGjzT4uz0tkxIRGv|Xv=iJPW(==nQTLLmqC9m3VMQ2%vC_FcZfW<<$O zW8b&buXCj$bqCexs2a^vuaq&f1|`9foZ6sQgyTnr?Tn=C9ISG( zq0GK$19vgca8x=-+l5sb+$}8@m+ou+6jdQKPtJ-r2ST&w*>pMbrJ>{vAz9hXk9*WA zHe)t-OJ28|l~r#=Pa?g+m{?s{dP~1bDZQtE8l~CJ6$!*P-F&GJaihyvU5M(Es4zy( zKls%5B@|M)Vj*VCUk-@SeR^cah@XeRDSRn2dI24t#1V;qG{`y14K zMOs$y)}Gq$XR`0yHNlOICMt8!sIP}va+qTgXfVevSHGLW_vl*OXycdMED}#)*dXzx zZd#WrfL|+(G-wP*(Mm>`c8k7+4Kc=$>VMXQVLB7jdw;ApM zsbn%LUCM;Z@y=wz(wKCGRa?oj0_j7ljU58`tYOTjKeg4m7y0%`YlY$n{19=Ad0(!t zM}ehkU~guVJarI8^|lN2e%D|0JIwD?_F~O^S^d!VvE^@yNdzrOa@&-qJYmKd$snyN3AH>Syu@*HsSHB? z1@mB#m0V0z&S~Dt-o|g$oYO;HQv}^hErz)ckWr=kx(aV@XTN^dP9N0f$KYE! zcQ6}KViIOtx-!v<+v>?(OktQYO6|(le^AR_5Z)MH*~UKc;XP%VWoN0&$`&lpYB|6BSJ zxQVNyxo;v2K6IHHdmW?7wZ$r^vGUH!PT;SQ$(n_p5@H?N87rJnu?K|DIqgWwq^O%B zg_Yjr2swjC(~(XIHEFoLZtfh#FE-?lSVKt2x7je9x*`sTbiWy;>&0t0`kMU=DsbUt%J5bHFBWv7Sa5!do^GouNG8Xy;ezpXH|c(5S{9fQ7#(QvX(O@lt=O!#I#}W`n8ks(z$s z)Z6rrA?j|LNtgoP+?xanDf;{l-@4;?qJw~qa$;YjV`SyKrliI?u6(6%p3y{kPPsI; zHE1er*xfEmjwhFLu@sji^IPaKzU`^|u@rT%t{Oc-><;GD&`zc8Mbi*dCH^-0Mn=!} zJk{*XZNekXFA|ljalS0Uw2`g%kYtwBMDMQ5hXBoFj(Cq*tt3EU*3bGw^EQf~2uplS zc6lYi54Ltu+XGhKdrD^Tbcc~n#eefmA%Aj3vuela(ns3;@y~h~`l^S8CavSsxbEy! z@-SvXY6ZIj8)RX{L74h$wsQi&ghxkLmKopJkSE`g>`g^b*k0Dq=zaOEU#t+UPSA&Fs{1$whwFY(%;QT$|fnRbYr5gdFe{rAoN zHcr1>ZJDWkKgxKC(#&>6?RZ@}qiw$0JRLrLXV^Ii}{uNH>keGM!i5qPti(qAxD~Cg(uNosWKl-Ynybq&q~Fpjw!H z8l|baHnz9u7J#cz!3T zx6Y={>gy1w#Sy6~A7aGh;*ab(u9Z*;9_LBYKH*VCnDuFM6cQp)P5=8!wTU9$R=+CP-KvU|7rGlxI%kNv7`HNv`2t2T0zcgK zCz(WNWxsFKDowK-Wj2f%fv|;IWClpkgv47o{|XR`=QxM)rwwoVUTFKGb~b*P$(abo zT(g);o21XEkEzk*V9!wWN~TM$rFAUBy%z`j?w7^_Kn}t(?0RJZ8*abfS?0i4`lsGtP z&WoD{e+zh*Z20g00kxs^JKvvIl(Yq#0d%jxulhgqEMV9(Jpo`g>86iFJ^vVD9R4|= zX)_Z7fLt;+;y##XeHT4VZG$-R<>0;q^vcnWP6{swEMfrd-_T<5J z|9`k|Iw{ZwWC)6aKU$EV<4rzDC1@^S*^UG(U*k(PV2auB6Gcmq&K3b7!Qw)ZuQfCb z3?O6y5L^UY@Bl5qp`$LC7vl6$Y9vfC<~bUrZ80KT5y&-WW{j~+je$=ETv|_oPH9O{ z1aRSat0I6EXIosM5%Ag67>3WYlFdOHkl0|w_I;gcCNQDwF~q4 z=?j?0@c{Q(w%cZ=z7+f%KL|yOiAREUug4`#gYt%N@_9~v z_5!Yd2z*bmrP_LfpC%28$)4v8kgW^E+9116(><*(FuE&0iTIBkjBm3TU9`Cq&;8i> zEDG*5fJ0BwtTGJso%HXL0n(eghTSyB ztZ;ThiYcggH|A-muBtP1NfHFCYIgFUl82x<-dp+xgkRZt23yT2Q!8*wn^pPzCDsEc z#-`MLA$W(zD1&E%mFPCp-{u84XuknoJ3j&5z8P+BF~Ogld|G`YA8Do7?>iSq_>g8 zL(6`^-e}8KVrkWT&0X04p|Hush8Il<_HLNp7)9dG*rkD7Taqlm6YdpM-KegTdAk8s zZFF{53=p>iq^(>);Yyi`Likx`3+~}l%YrUmCDssUVF0vNCM~5IddDuo*2hI9=QN8nH%x$aFxJbI&?S?Vjb?}Xzo5N*n&S+X1W9=z zgo=RuHn14cSQ75T1!GZ;%)QvV4oaPVR*$26g-PD-Vqs9nNkvci&?rs8sbr~NM;x>8~Y)#=F!0VO+H#;gj{95g3j=99r%SD0>&D1~66`0E}{7a3Fcy%s2}z0 z9U>VksvNAp9%gu9Y&2e;=2`@1Ez@QqdustT4cep~iR{lpolMaOu1@wk{`Ld7+2~QU zPYG{=xFw~&;t=%!g=Dq%czT$!Gc05GPpEQ!!R!^JsMpYtix?smS&IOplQj1 zz~Y@n-W-n&YJCRmKH)Bv@e6Hh)944t8#d!VdsDzcj=rY|O6JWe);Z zgvuvR3eZR?7AsUg3pIRC^;0dBriaY8HeGUew=Fe+u|PXI{BERE&dv>#y55&#`QHBN zNuD>F9ut$WS(=Slf#X%fV|eVHJEe{AZ}0sG0BuyGBULuhQn)hdq1m>Z$^e*J#V9L%WR8PQ4V{*iV7R?H=c{AvkZ4pq#{_s@AeM3qNBq7QqfVR`n+7C9gh zx$BYsQ56x`DB>%wMdnzE-jr+FaHn}zNW^pUZlNVrd_T(Y6Fvq>a_V)s!AYY(6i+vJ zu^hcpPS;?f^KmtU{-i?+i`?zavki&(7Vs3^_0lQ-gFGteD5@8hKs7dLO;g17Aa6*0 z&x>=!J-GQO+nEEAfooV?7obWyt_wKI?dN}rpOxi!hp;GfAqW+9^3jmF2^5PKk ziSl`q1=_{46Y4KT!0r=90m&`MDHy)xTII}le6~~YN0Ad#_F&lw?4YEU5NR>>r2>jP zdZPhhTqa-s-UKq3njcb_kB$J)L0=bHxli9Mf_=fnx?l6{^8AK*vTf89=0{fFE6lzW zOV)%+Pwk7qeKb##$etA!1uJ0F+YkSqNsOfLV?!LpWmo$+0e3n)tTxw|XhMEOTCR z47=MG8=|tdk7qwmy^Om;>1Sw!g4*cWt)45VW5p~|r=stfvcZN@2|3^xW?3lTOm^aK z{J0_~Zhirmrm8{}ADJJ8$e?crh09PoD|{A7Z=j27uXent?nX*8#Ae<=Le9c4%%@^6 zwmmV-rqh%KUQbT0=5;8Y=Ifs4v~x+OC$IlONmUq6M?$Ohuc4Kb3An*Bhy z5k>c7&E(OJJL!Lm;Q$kH(^$##R!kWO$5C{r=}H+@!$QHl%U=U7&;JsoNEOE8uPm+@!N zvx!Wn0SUSXRtkBj?oYS~W1?j_p1D=OIcAq;8SjNTemgqXc$CTgn;Rf6t7MmhRzN%m z$@Ev}no}_EV5r?}y@H2t)iCGc@D%+{nbcZV=Rd=hQjWuxC|j?P>u~+*S^8A8LYWkKr&%joK zU+i+Q8~J)4CE>Y+#y3L=0e!{jKaNw!YETEsk5jFC&VJAga>FE%8W+KSoLxZ9pieGk?Lq+Yp5(;f*OlV{6C^OfOvAR=-(}q<``8;;eTZpJq$xUb@D87pd$Tbt9VF+*3 zG&D}HoLU}jnJB%2UJvCK#rtRJ25XMlzEGX9EHNdBk1*jzC_9VYPLJY7Auf$VYgpJY zh0M#Bw&|ybvfjG)k^rv%f873T^eZp@1=~)q0XN-7Hx$BjWGTU4b8W;=@cFtLXRE0< z`Y8@e;69;~zc%iPu-<^*h4~~-dzx>m7H(;4z9s*8ys=4Oe{m?JHbG9hE{l~x4Ac~U zjy-Rcdndeg>eY7V1M7E{C8pz0abaLHxtMsZE`pB2^X%P2=DN_QfB_HJ7}YgV`Yu_` zSY3B?jZMt$q5WA6yWAO6t_)7uXg;GAdaA}kgIEtxVBg}K6l6c@tYs-+$WpI?Vdzlgk2ElfLO8FxO%cI^QiuoFTvW65t z2!__1=hZ*l8a-L)ItM}4cbf*InJPy;`_!^0c|cb?p2)3LQ_re~l^j&tWV&BKraVg< z+v0M+Nmp8giU(*I;^y~)_p0H%et(Ps%GhMsOeQkM{7W?dIps|G3!`(jF*5%NrasDf zg6W`SAUGgh6t>V@#la!KV_aq=)`=&PB@@w6scOtRlzK0)J8t?6Ju+yQM0vXNTNR6- zrbDFpx=-2cfULP9g1KPeXJ+>_y{+m^b+kv>KO_^71f*9eH0a$6lo`#kvKr@77#z%x z!AJTR5!d)d`ob_g-nJ$&O-9b6j~He%Uq=vp^>~O!%%Hj+`rzzG_p9XYo~|8*dDDN= z^+&-h*AYQK5kCvEzW|&U!ld4)t)He{sBgbO^bzuD*BR502yfwB&!S$oi;A40tYXX9 z3^(&F1!W<4Qbhie@vsh+9&^3K?kX!W7iwIMQZO;XC87(An(TprN+wsgCZuLVJ51An z$L~RuKk(UpMeeUGldLD5+jl(k_q1K$V>=r z$Vkm*@c+4C++Kmf|?qdiEB+1zQSfG=T)lPjM{TK$^eN(zlzZ zSM!=i&!EIJhn!1ioVtXREzIzQzCPgL|YiF_~y#%7k^=jRwULHIsPYzZa*HC)27O8Y`i{vcPkKsc`wS75%O^q8(i*j!CcdZ!Gw z;A!)*vM=eIwWrW##B7Zm+ZYV{_5#$bHXCXle)7n^VS&!tGg)bx0 za^&o2^eB`Zn1L5t;0YLM@|63s+3WggNT{O>1?aOL+~mGVuLmW*91O22^lrqCP%@U> zqHj|eZfQ8QvPTVXehXvb`%7RXP}pNj)$AclJ~7MNT>**@hKk9tJ8*Y&ZZwE&b!fB9 z^FTXN=2U9m(=k(IntX8^ZMv9T<~&D=)zK0E0rItVqB+CxeE)DITBs#+i(rml)G>l7 z*9eQum6m{!2kkX+`7vYn2a(ZO4ihDzGl4TwJ&z@v|555zc}tq#I$0dhjlO}BBbgU1 zLW~mT?`zR*%5aUY;b)Lh<)^rXeVhXfYGNCl%&#lNLX4CG6Qw&s`P(ET#F)x0#d1`(+T`NbiR$@sRY%}Fb(prZh2V~w6tA8l zlXzW!<8_%iwHrPi^;bwd=v4*9acEGOS&xzT#U(*yvBb~bDQFV#qPZywvK;y%wVR@( z?)WRVm+;4Bn+?<0zF3@h!v7fU_%8MDv5U-l=V(ehd ztJ%{zi+f2&Z$YELZEpLqKC5y(U2iI3(^T7RG_pmb29>xGr+1sobrYxp{XCh}-}qM~ z3_Va$l%pTJ%~wG8t^N>OqIt=9jb#f>Lv_>9L=-YF*MkIg53wz%YbPBIPjSAdxA&d& zp88Bgl{M}*_v-E+0#=heq>V6n*~rQ{t#RB>s_eSr0^b+4H%e?!MYAKRrXO=iX1vH3 zzsrB*Ef78 zlOux~5?QaskLWNoe1y_MJwIAIz@(7g0j!gO%=E$hk!^8@k^d z;dqD6LXRR5IEOzBc6-Pq-?!$8p*0@pq_PT4erlE%~x$g=64n0i#5l2~3)W@ZH z+F^2o0AmydX!CjG{-$Wo8Y`M{*FEhf3yO>+MwV>k->|GKAA%lhE25QoAkY=mpOv~( z3(&h(_Ja|nLDXZh1FQHecXgU0sIGh7jeQUEH$aigNm`mN)iQr1B#qIet_aaBgSx-A?3mI6YzEw#b2?s^`mu*g z?O2Z5qcM$V@X*rUs7t}TM$#Mb#bsYAK-(`S@8D;_2c%AaSKNlfPEj)#b;$I`hYA{w zo}#}F40f6~?jp5Cy`{II;Va94&ch2rMJu!Mdlw*V3c(QDM3yKEd-k z?Ug~f5;~_yRpO?Rmb>;)Vix(O`a0#@;zy|tOts&=C$PKe7|mw*E>^ap!uaxBdatH$ zN+l&6S3Ixpw5^9DUI7y1ZG6{4^o2~P7XD1F#?bdN(?*zcy2H##76v0OC>~_0=pUv%g=#MnU0{ok5w2e}453THgyHs-w{lSe`9OLTN(I2|SIwrac3<|RkXS3ML>U}a- zq4+E2dNEKIj?6vF|F-m0?+q(|1tyLk$61~JPgTR=tagzLY@j<{DS0*JR5x;h3A!G< z{z0B@wzsvPXlx&$El4a05oU%XX#J@ssMU|}W0`2cz>pz8&WdT^Afg?{4GrV^4@dLj zU6Z9HPJichy;;SNG(2U#3WLMOB;!Bw(%CSJD=J$H{gd%@mJp^;1Brn1emhE3ETpdWrF-{OVG8O*>i5UxIs-@ku0gi7!K6k=8O} zlakr5@5tgbagNox8oJ3hz4@}G2RB10#j65V|2+yWd7#U$`X^;luxq}gKz*ZHQ~3S% zIB{1nxt!PVvnxLMuky;gqMJn1Sy6G%i=hgcwHnWO%F5s8C#fUl<~wq37^V8RYohjK zyi>_6ps13j(=ft)B4;!HKc>z8&fX`7Og zR!UF=MYKU_R7+`5bd(iEXSJ0THJxAcql~RHvzlK;S&fZtX7zK7Z44Wm?fcF?pU?OE z{g;yTe!SnW_v`h1KAwo^Nd&A7t+@6PG8X(E4JJg$3yQq%*=P@HC=PG$g@ksq;EHB= zn(iST(w?ohdTW~QKeE26g^tX1;mheeaKCH%8T_STM)K-p?VEHxbz?l4jo{MD%k6j0xs(4Kdh5utuVEAx0BFUrsJ!+tF4x4(s#@Fhv^ze5f#B zfbAf0lY-clTZa8)S{11OfI1o9l5@RXJ5Rlrtb?@t!@a=oQRZa(Y3&{HZM-lZHwbU^ zmUQ@h_G!}gz_zcDil%C04iJ<;g>yTTEu$dY%;ADkNd1N?|Bx@h`;iG@uohy+-0pc}!&Y+-MrFozHq2Le9H&=r*%jyCfgO77kma*$$FM1_qa9^L z{^Q??FU)D)azl13Y_VJ=#m$MN#`0V$C8y~m1^8NbXp^jXh8Pj!GaZ`6KTS7qih2gh zs3~Q#a|(IjN=Abjzo}m)e9OW#66Ot>NCH>nY#uI3A2eqO-v@&q0R1@6*tQLlhG8s7 zDVW()JR<$qg2D_{8hZ(oRA8~3%8KT9hnSD?frPP9J>8xRFBDh-)d~D*iuWqJmho?; zxcX)e$8^(`=I-EEi|xmgkCGBGT-%~4u}~syo>lo3aa&Yl6Ew|(Tv5R{VkDMqmiRD6%mbk zFtaA6xf?#lZ0Jx`ou?pNBLoK7P6Zf_^@ILT@<&4-oQ!1t#+xol=?UWz@gZs%gO}EH zf6;6g%t4()(W6ZX^k`(RC!eqizeHl^EWGp#?80+%$Smthp_rk3!PK9mL*4Z~xZI;; z@3R6=AA^t4?v|n{wNj(19qV2y^wCHkVv}KAL^jfcy`#D10)S}Ol3_~%L2(K&_L0q) zB}|XUmhpRs*=o%w#{ethoMxs%W;x<>5~W8Vi_4iHc0`1M0k-Sw`UZ`L`JGMidbW3{gkl=gw1n8R7Ya z>aIR?pZP7c>Gxy zPTwR53zE;bqcESeC+YrcZ&Mh7n#cMW~_&b(KubNAO^^w{w?6pl@I>_)4Y8avT@O1?^lzp5?e$brbqhKc&Ji=Gw^NOve|d zp94V=k7w}_1CUv@rLZT%5WMLqV(dnLtX2@c>kd@bFpJ~KBZf?cl=H8f=IaEcLbo`C zo2Jo~D2VZ8zP2xo6S!Th%XsB2h(|A+QCxS~(xMFpeU#J{y?&2rSWxYto!u)!>G?ZX z0z*t&J$MpKN4CWhSFQ|ZEqW{XQXwn%GKdn(G;I!IcTn-+VxAHbB}OU1Pd4Fwxe=EV z@Ts#iAoL{M#yF@K_L{bqyic3lDqgf6omC%hH9uarz6=e11T1?jd#(GQ)QhbPI)##X7lds=lz zx^z%YR@v#M+5G${b}4bpUa2Ybi(0%hQxha9HX$5sy1`B`4hJQ;?g{k3G#{w`lkAc*{Eo3mp6RWmx9h)iM;c0S>9JNYk2Cx#$G1tNL0^vZS;_H_ z`f$Z6xp(#~UEfeN#xNlapmyZeeXbHCR%b98M-mb$^6btZw|(JP>B1dJz26w!4;7y6-LAC55+u z+?9K~8Ly$Qcpy{@M6)F~4WHw7+A|6kPM$E$a{E3Mx2`qJ#O;IGeEMP(92gYBzKmFM z0;zblL^nvn(vW29AacW%iy2QCUC#)1j-Ph@p~UwyjJG3N1AZO`K&kJ;l_0;k0yHX- z{DgZ5o8NMt`%+H*V|9(l;2{h|(+^JRzk_j836W0Yue_5e+fQ4a8%nlFRKo~ASf#56 zcQ4GXVJpdG`+2IHWO&Ljk**{mfT+*g)jZso1hqdIuIYx4`*dVKejhP5T`(sxBSSp* zx)i`<25*ITj;ih?ha*XJe~3FN1Y8JJpvD)8QW$kGhpEs|d%VOkav(HLrpM6vCEJkV zwuzRRdLAmsKzSb~J=DEhD)X!^QG?y#%%~`Osuyb@phn^CbmkwWYju4owLs$@Lq?mP zV=!eJ3bAH0iZNv)(9z(wf?nVC!mvlq7?g!3@~pI%j%O-d^r9Etj8=NP$~$9<2XY*R z<7#fW*RVvv{-zywr-N)DVrJqgTL|=c{JelY4^a&BxmzX_7=6F16o=TfPV6 zDEZ}T_cSn3CB4_V5uA^qZW2bNeUvSj%2Hjwg}%yg2DV-_>zj75vHnYWiZ(QJ>|W_J zZ7h=!cXWrQzk43x0x^2(!BA|nOF^E~7G`ZALx%d?-E1Ow8n|>{Ks|*H|^|!%;#(`k4O$mD9&cGMn zJDRB}Q6>GZ4*}Nh*!axZC^=j(0Lyf>t?(?HYM4PV1B10ksEgsCSEQwTvgN za4$+bN^_ZL=ND3@O~EgY7_^b1Oa*Pd>^RE`%_v}15&PKZI0*;K%`^*DD0-K##iPRT7NQ~ ze#O8jjOQxiv_Es9iKPMzy2V1rJ00aES!8^D-;)<$dKNR0U_Ny*yJFBNzhDJSOVl;e zOiv}f&U%~*rMd1J>*t+=^?_ig;I+&0r(06hBKA0UJj^$@ipK(4Ivi6$bOL9JL?v8C?0atY9k)yS* zBgJ;PXI%9Xcur3khDeu@$uOLEPpGbMxS6=$#r$L?HspN+SeUOP<_Mm6(?f-G6dF-g z4+FiYiyOmt4kxQy8~tGwRY;73n)$d$M6< z0-O?(!S^?4&st-phpw}acTu*U+9&EUc!+Ni-OJhzg+v9Qnc!ANyUy1&vcLOg8p`$d z=9(*HLvDX*f6IKZSD|^}y`g16t5sd=d#CO@lR6APE1OhItr=)~DM?4hE!>r%cT#btADM&5{bQ`x-!Q@*X7@l>m%3^i%3CLXHWs%49&Sw5bgNci^fh z%pT#Q)Z(2Av41z`qLP8K3XN`Bp7mkP5Ln1$sKGv(ds3`juCMeJN<~m78BR8pY0*^X zma-u&H$n4S`!IYr$A{-$fsKSYxrjIES`8M1CAK$Hj?|W<&T@K0Wgh&JOt1rXbwi0|51*q%x3>4moeb8>Q#Wc2%K({VUeiYDSNXT3 zZ(Y={qV5z zVqv`Va>KoS-3+VX`r_nA;HsMI7UyR@+>8Y!F<_Y5+bc&IrL}^SQCcJUxmblIeI3a5 zaCSi7hUWpiWadc{H1i^bRdVV=9|>bO8)wLpqQM7Y;zvPQlMt#b66hJ~oAAQ%Vqe6x zQQ?gQKgDn@O6?GH5g2aKK~>&i;hkJ!9eEY1ik&xLv6Yz!ghG8b{IaE~hF?Of-t~O~ zj2sW?{*QIy4>EIwIai;}XOom7EOjwb-_tx8v=KlN#ur%i?4jfEq0gBm^OovK#CvBI zQRhv}JC83kHd;d1S;S?ogEc?E201>ZTIB!Y9a>d6$#ML{c)TyZ%f1@+j_4uUSWmHK zpSc$qM{T6}#3-Jc3d7MwGeUeJO%NN|s>w(y7-1E*_9`1H@$B#TAl;IlW%FzwJX=q0 z^rc{@j6Z{oVa&x!+cfMi{;^W$lQ&Le5V`AhX^tPN)il(klNoNtH9WoZgYk6J7kH_7 z3FVim^i{k%TfB*3Wq^p*ZZL>_=oFaK@kfYvl6NkoFl1hbN9>{s4-kc(O-E_hqZT>? zZP+{BvWs}F@Q0CWP?1ZR1yQnDN!TzL81c_yWRxPb~{sevrABbX&MQN_nY zdYeiO6Bzwn+AdZOb`D8rIcxm6K^=7&QnP>`3Rlrex zOO88JpD655T5gd0u{#NW;Cmnw=y9$4J!Ty3_@qkTwuFDl5((;j?4U44*__H>)-cuq z+Q~5b@hH}Zfl$g?%4H!J>54;vZ9&OhYykN+dB)f*P7NS`EeY2a*DZ(F@L*rVnJ{uf zrS)VU^&p&&Q;AfdrL=V{w$ZnRkIvN1CCQrW+fWJA$8vx7@h2!1>*;1=IoZ!KguW^T zLP_vp*96cn0$k1XiFaJw4J~X74-TqDq~)ZPLW{j5RsOw+Nj>X5drATr9=g7G4TsM(yvnxBgGvE1B8>p6KBO^Wtl2$kdcx*_tr;-}Clv^wrCMazO z@Qb;_(K2183OwpXEy9xq=&6Fy-cPGX(`kikAia?KD{|*j-98b8r*jp|eIYKH^aQvj zhtsDvBihGQi;(efD}D$W^x~C(!tWDm0+7;@I@gIuec8V)%b}3uBqmi?gM>F=-brYQ z72S$nGIX#d?~#!$BWSN-2F05u^Lult=qQ^2_Jd5TmaMP2O>HvKBQuI+FcGkBsc!?A zHx_}qISu`6zHYD_e$)>EFk0|Kg*_L(e_k*Y=Z2+XIbs0rv8B50>~ra(u6Kk};f^T{ z=FZo&I5@yKztNrMg&9(NuqFYJc6qsXmLYJieVb#we*t;|YdlX8Qp#ZwM3;!musg(? z{=zne*r|l#2JXGZd?ksLQ73e%Y&S7emgKAH_=?-o(^caiHiE-8Vy)COuhKO~Ex|_P zXVuVb_Y(9DaYeQzn@-8hFZA(bPJ1C36M;v#2t6UyB{>Odm*9J=qy_|cNAgFu1~zqy zDFjm$r7H<_><2FtRSSsG^mo2mM_j^Vgu2>;-Uc&gpX0gxO5WCLr1!D4Rr?_#ZR<)R zUP@x;RhIg)K^mORLO~m(g>Gk0vo+*FcUd7fGl-T$jpqu9wdGClW`M zx+jCg`2iK*L;9-uXKpZ~-c363*s8nCWUXZ3o`rCmGT7cPj%W5m(eIj~ku>_8V;r+q z4lc+0sj z%vDHuu%o7wZrsQ*dR)5;25EtJ!VJ5^@)i_MmR?!&GshyD07$8F;aw-VrK`x}l0$05 zbHN&hfttYADvjs7n;2S|H%S;4$xsA!fk9>%7S(3$4}!%C6G!BL+fMwVr0cw3wF$|g z#8Rk&*7l^%Q*zJjVg~7fhl0KZ6pI^jaA&SKC`kBDWlE5Bq{3kg^+Z4_GJ2xe{G@^P5)|B0BS);k7*-8&b=eZZdr*(4EOz9ow0WL)gH=^<1(d>r1 zg}Q5L(k~=6ENX=cp2m6bWNlMAlEkdT!R*($^NQMQnomfTX%`~&QF5Ou>FLx@3V1xS z?M8nRR58Lb1sV$5S=50HF1}|W;fNI9vvip03CvvO^$@rNZjGcSrs%Pg8?>VdCp9q- zXh(oJ+hY+OO>bFB@(O59G%7)*Vsn6X;}+lBhYMQ&UNyV?fv-vNS0Y;Sjm7 zny%saZV8}}?p)v2^Q>f8iqJD~`b>vYGNtO22R*Tay<9^se3aOw*gw+qzWrvYF z^8V?}1B26O0$73Wz|>rysLgL6g_+%!mn4Fb!PMkRW2*7>vMsew z!P^R$7HZ|BM?9orLdo`G7H@t?W^0D|CX**D0WJrCyoa>`5~*8AUU^`TW}~_MkiyfX zhg<-=@x8*VEUqKZG+>%DkUSt|lY{7;lr5M~Q*j%hG`?auWdY{vyH2-Z#<4YFpQ0b&NniTI)(#1L2t*#o4qx^ z8Gos;Yt5(?9!|%%>vUUzsE|wBPlj;%2ndWT5qqHMY<@dsRTB&8?{vH6LK%*I#`Rvn z<$>HoSQ8RlVjS=BVeQ}eq}#t4D^ z>0ab`HWOdn=z;HvCQnv2N!Jc#B{`Q^2#sFPr6y0mjK8Q6A4b)WG{y;S9sDCj! zyXH3J!&oLZO}8+ZIL^+_J1CtJk_e;MRG(~^5Cxvbaid=IEVt{$-3on_sY^zs;Dp|I zFKb8;h2omtU}`)jnwupQD|H{vEDVGKBlBnY8%YBYo4arhA07<#VPbZjYeQ<4Cm0aR)^81-;b?w}Pa7m7Db;72o1%Rim~2#61D(@AP_ScW_Ql;Va1r z>}AuKnz9>I?K{wC9A;)qn;(!?P?3l(#I9g4$XRaw-j9-;tQ1$0mh+g?+X8|BXlF1& z{ZpX>i@lF?e-%)hXirSjH>MZzvXR)@x=mmb<-m!7po8@E=0_{lx1<>TWiZN!DohiD z?&IP%)V>1W>t}sbeFu8=Nis6*OV3!45vfV#nNoVQfOl@dh5AYWb zyrD^-#c5)w-&x{-SQOxXAJMR}sPUiU z+9XS}10o{jNi0Hp61p(Fr*JeAEK-OEi!`6Ly~aXw7G3rT)#P-cS*>!z97*%EJq2tX zZ@F$Pf_aC!l9cK+&MYRKMiLrj{xOY11@ma;!qB?M-6=(kA%=iGAAFfM*8HjOd2JFN z<@%am7Tws3sSInaYT9l41MY6F($t|7xe-fkHNr2fXCzlA*F9;nu;{l;ObQs*hjA!e z$(kjaZQPz2_#wUPKK(WGb3A>~x=<4Ux{+YBmu{xk^lq8z@EWEod4s&^Yg?+h zcajQy^iVi95#om);FLbtmr>O(X?in1cN_gawzX~7q3=B#VVwcYPI3-RF{+I{G=^G{ z)b_jnbssOWSMM~jPc~;jBccxYPW%0ZPq;8S3M@vYC3{&y!=pu=U3REtE!$~Qd>vC z0sY&F++mKZR0<2^8MjeO2y;%S!F-)HYfe59SD?b{N>grNY6!{?l7snub*ZGTM}l@B zJ_^`#4EMv)?53G5H;9Ik%B}@MEDZq9IK!n_!#p{N4{^t6E>mF=lNSyXv4Nce-}j}G zcb?4mjOVJDqrpT?T@j2>Gz^J#XgLa4_O%@V7ja=|r0|ThsK_T7BXs6x=sDB_R+8ic z>G%4H6*r9=z$ynQ%Hn@w50&vxD0-r7s>jm~4>&Y&#L^!rNo^u$xDozc0v@Sy0ntE_ zF@3E|i z$eRako!TYrp0XYsc~nzyjC zGd>Ay5smTsZc>t?I~Wn2U{kO|_bj)*DOSi_XX)>-)z;tWOJIXq*d75v-ClByX);15 zlS|RxJWHsn5YlC|86MZC_Rkog5 zs^<3eLTj5|FiCKB?R>_5P?d!)axJe)7eY-M9T<~md=oEa>*)E6aT-jhn1kBXFou9` z$jn0BXP~s_6eq0dfem(K*hkvWfx?)~{J~Pa`8(fFtPc(r{~7=`^ngwSORyo(R1IH(1J&5(u4+gOQdg$l*XDM^Zh_=Tq<|hG z1_$ti<@9v)2@m%h4`M2YGy&&9uq1@poCp3K0qpCU782hHvrfI{dVu#Pw<1aQVY*Ra zxqZQAk|;DRQn|*^Em#+SP~}bpH*n1(=#nc$2kSDal6Z2k=Oo9CBR&S3HPlJqSOZI~ zw83((cc$fvXCN#i&Q0_Z2|+Time`Wj9eVV%v*6iv`#W=(av;`o#!=4_9${Ts{HvkZ5EC1Mul8ctH?`~QJ8Vhh7-}pIRzx9Fxzi@Y zT{)IPL!cULWIBgbL>kZd2PIu=K*&sPrUG*Vm<#zJImwO^iQqV#nrkHT8WW%*CqTuh zw}2JFU^(?BWj~=APdp+fV-fWHs&3pe8irj@0nw|=9=e7R5<98$kv7R0R&NBsG~-o> zmu2`8a#%@trIH-c*v+wzEpONm*-pG)7Xp8G09ol4%6g6+fL(Yk%Gl#WzjtSKr0 z+>{&MBVnj6nJW#Z+Gf>Vx-(52j(bLfNBvE$-MpU*pBJc?3%{}YI5M9r$2}_WzKXo) z8Xzs=o)EfDrA35;mLE!Ltnfn5a&eCj_@+y>HUu_%f6}2J3eOb8B65mLEe6WSU0_Hb zeqE)IsE~Fu-R1bVOr#3bN4iI_3Y@3kg5D6bE9J^lFwf{C>|5o zznXvYUTxwl--Ols)OqCJY_qo?`JF-0pPKKy5|=p(A+v}WFvKWTu)D#4WU8DH(z=^} zrUu4oGp}5AY~i9+@}jcIkb4DYu>4rLB_KnM63bw9lLsnOC{0XVn`@f62iHH;U>cZF z2Gh$k%MolCh}I&r)pv5U(MswU#xlhCMHyu&KiPqvfk*t50%4T_%db4-`Vc4qn~F^4 zT1Q(#T|N^X!0#mN!(hJ|GIrWmi9)D)H*;(-bJEV8QqdC(iIL2xG^wO+kn0M52^1*# z;#_br$?k3ZlKFcvdl9<3{!kd-=XU|=Am1)Gjgo8oL)9@inDtBg_Kc-=bSK}=E!V9l zot08awb8lsS`qmp(cRLUzR%6|r$f&P29N9bYe3@oDL5_p*<9d_37QbP5}!i%fHYt1 zE`1E$V0ai~>vl^7`;LYcHnZFYH=PS4jRS76sDd(Ld3B zNU^qOYM_ebW!@PeJ&nr7TdMGLNsZH;U{4h|(G%ozS2)W8@*Qa(u;qz~?-&QM5`GI{ z6Pd+o6P&mlb&JIKlT)cfD)#11J3HF#c{j#1zBX_A4s$>GKsZQAFnZACR=plz0bVPW9$Gk_Ntzezt*?}bQ46&RdCW6q0;!CUZE2vrp$E z%d%KDc{bPq5o05Wz5KUI*9veH*YpVc4}_=ng&_rKvTgIru)=ihZo>u@$~0{R`-F;* zz59)4$sfrDkDt6+&ouM}hjT#x$oivttM0m7KW0xFt==;TEa?ul9VyitTv_@HmbmKI zI`XKsIJ=YbY-lyqJ@c2ay(1_-xLsDZORPt=K~zILbS+>&Xn&3WTj?83Jb~1ZP}9khxuT^jm6o;YhsPcmmsKcuy|#6;k8|=JP$&>M&<&(!&7i0{~I! zdm^wmOpm3myJG)rY+c5F8JS7u6R%UH-SGylB0{K8ioNBTSb+OCu0B}G$Sa0pSeur4 z8jY6o!-@z~n7HE_DJMuk#1_3(tt{HrULO;7X-T#wKO2pgxtvcJGWhWO- zsv6B*3CA_CGX|MnT08aleQascz&K4bGDEkCvafdh2;nbtkSiJ5fNRxIX8g4g8v{m? zwK(t?lDeiE5()fIs7@8Kqguuga8DL*1?yj;X3!8%c1Q*EOZHtN(om^{$qeGR;s3S) z4n=`xI~5S@8V$exhP~`sIO@*gCK2GCs`3uH-SFpGaZ3R47JGpC1}F2u0aAZim$1@z ziCP)f;PAz8;X30Iy^buXOcO_9boZJ^AVkDxkspbA6zq{x&eL{#ssb?4(co_X1VoM* zrRL6$Ouc1HCCOgwh}R%2-HDXF;rRm5h*uE}W44wZC%zH)DID)=qqQGERa4#&2$zSw zQV;94>yFz~PvG82(UNHVsY2y__x7km&ZDa`i+vfI?QfNPNs)4Y9A6W_DuO z0k8p>(}*J21UyVbRjDyE=X^lPS|i3ft9EhUM4RdZuy^rL zBA(m>Ea9LoDoHDn-K}ozBCud*)<3KtcmZ)Y%-eA2Am7;rCIG4#N6OXPby4AP;m;#A zLBK=upGCv-*IN1~4~!fD*Oj1<(ZBL#QnH>@X$U_>Vc>y&Smw$I*G}k+1220s>k7=* zZGt5Tj=6WxZ*h$S!5aip0b~@(YUdJL*fd9wu1h)ZeVJ%Sblnu%dsTgt;Af>Eg~I(| zbel#}r=~7JGJ2ryZD52FDX&QdlVR~WII|8F?_qaTXbdL?<2GzR^^JmBh@++UrrccY z9>;ZuFIRdn*30Aurp+lyZ=o3?QvI8e;=Wdb&nqxHT#mpZyg7vG8A08{t=;s8OI}Ew z=Ao7v=go|}IrlGlp7V)=QWFEPCrMa0ys>RLIBP=pns;Mcd4hw%44-TRduW`izo`3| zZa!eY?yjs^4KZpUO8f|QB#8rPy$o{NJWbKOQzL9igCHH)B#Ub@m7`d-_>l}eQnby6 z)77bEnhd(*4W+oQ~v%w2zRLyhEa*if`sJTsk z%E*|840!xrXJCB}a_21SHyTf+@4q78S!!5}c?BM;J%+XL=k(4F!*5aWs4x>us^GTe zcEUukJuH^NeJ%%jflwl|TGkyplYw?aXW7&*=8*~mrSyEPSts0OfOZDj&JUMcwh14^ zK~`#TV8t2pZgQy{YT5Li_yq?pMk|cJ;w(LpxuP%^sYl~_@(b$eN@Px3H!9O>{?#1C zoepKQfW8mOXSD_*1x({9W+G#_OH}vsEpr~ErqHITD8E?+CaL)9o#-yp)&MyDm{vBD zr-J!Hx#5SNbhTzb=szfTs>h8vkz|Z+UwGToNvez}4HPBM)efYxBIawsDOSv=;)AgxVHu*ErfbO-c54P^vGns3$_6R$#~5H{+b1LTrigw`Bc@jY_k&%8%gpT#D-71H#PQ~;;|WCpMhxUe zR%yr|bm~aV0p{b>M})9SS@w*ZDp%h&+>WTrK}B#%at%r{rAWE1mZMBnF{E?oS}DU& z9oeVOB8QM9s>lOp2Ck!TQWKLiE(E|=rU3XjbB5$KokP0TLGAM-FjAm`0TalGcTjJ& zE7-P8|E2g%oAhb*yWpkVx(0H^#!w%|)T|K~&P6M=Db%Wn1`9UJZ&5;z@vmr?+z8ER zj&y2fv|-00Yb3F;P+}f!QS**C^OV}4GSFy(BjY%kXY&0zF}^1b36I%oE|Uo)haiRG zGdZ_tBvXaMk1`~rfj{JVw;9h+q@?hh+~xYJI|ua5L=b*YI$^y|u@Ymwp?*f5#uKq3 zY%v|9+09MvfybG{4VZyhrcL+=DcRq2mMRL#i&|;?!s+AFv*BH7IWrua&^sKOm-L1rRC5n>(^Pz*uV8+>AB5i7=4};D1*@ z)0WLfo!hB@f=TQqK^L6o=nCR9gPAqKU`{Oc*XoSfh{tOD+;ymBK*AUl?2jUL2*XMB z?6#(?VmWEjoJ*alGK^L`YNdW$wp@RSN)An3-_tQ$H(zdC1sIl^?nH{K{@hbv*{&f# zOjvc2i!q@}t6S!s0<;C7gP{%hcJ9gty1J2?mvn7M9r*(G3UoDL&gF1~x>A(pdvWw@ z>N^E^69-MRb{Z`_{2}n)QXxbWJ<+(6NQjT+Kf~x z7_xg~6orqd{RFtwo7#idp4G+b^OAKR#q8Nva*98uVs0FSDgYTIelZuKn0VGK@ee|( zpMVuws=P>w#NV#?v#QMUtI3W)ntp<3V5%%YPypLt-7kQWoh&=5dx4|lp%VqSfOXMy zlj*ep>0bRa!C~&p(!HHO5P9x%eib2V}bxv~xFQ1wh+LAHe63I+zLAUq?LwIukBH$MQ75 z@30_haOi6)tG_h*@m@}igZ@VId9nvFts0uD!IpIFZ~FBr`5il5PDl`*SlBcy;XXpn z@F&zVrL^ng`XMg1?YjD!u0~1b(@CHUS~(&6gmJ~Qo9m6OGV`v~dFajnY)^s@^N$96 zFkPpkI>|l7z1tTEwiwXg$PHvcmRrV*3kDZ8Tm!{*`fMDkKW!@rnE94#F zsnel=3>Aei?3=m~B~PJhziOcl7b%t9C3 zU;ND$&p%=)!d}TSBc6Z2Cec<@5#nkRP7v%7Zl6Np3=5U~Y#8tn14;~!XIs9q4^eM6 zELU)g`>EAktfJ2FvbEV5oQHZz=VQU;QF6iNgSz@{8yl+zP zS*Y;~AC;Mp61YXvJPoA7^_X{n31 zYX>nz#Y^l=ZW}dGGM^NfFnpp;}z0?^w_>3Y# z&6n)$!kc(Sx_Ar4GV9Km%H}e|*>;*y3q&Z400U22v(iz%pCk7U^^TIq&p;QA{Y>8X z=5o$qTcIEPbJ1PCsYto4piZ?;#n{)OdRXLzM+0fIr=4$VLBZMZq$P9 z0yPe&kGMABCLxP~%9{}xf1(+yQT|%@!V%yMZr_-TJ-Y7T>@UsVRQ0M~Pct1)%`7%1 zq2qnriGNBTF4+o?fg82_FUpp3@?7(-W*Pkg+vb_oF_T`PohpS_{X&#cqkXlHDX~A9 zC!16XJ_fEA{-n%(c#!iqzY%Yu6_8FJDFScMwLo60YQf?U9u*PtzOj{+zsu#=w&?)d}p`WI5R=_SKWOj3dEoeFauQ z4n?CtgC1>VB3wE`&Mt&|-i{n~N}2AtuocT5 zee@KncDI;?D%{xL(2IEV4mh;~JRI2e58Kf?37cN!=4L6db$7OMW}&lDI^+nv7F8HP ze(d_eFgMaZ$|2+Lh4{V&@r3YkD7R39RTnlM#B@11YZ|(@ArZ>`%lsl`RGl0 zp8hR|!jtIypzf;JAAu__wTiIb(#~TCx1M6pYSTavW$=|_VY&gceTOOn!6-HR0{2!$ zR>xBJmE3UNI}G~(_*q{R3{^f4C`AJ=xylfB5Oi#Xmy%U^EoHdH)}j8IGG~ zdS}D$^e@>Odba+B6GN1($Ip|7h-yF9L4>40JbD1EQOcl;D*As!VsA9b{o4P33~E0= zyKGiPG!(i17hwJWh}eGc^#4zV_P`G;EuK-B|KC5v=mxA@=vBkvr=vfZ!(t(D`+p#8aSJlS4~s5@xX}M{y5aQDALGdWKx=yZ z7pUX^hx4SBrcsEWONtE&DV+iT2y>>uZPxo=!Z@Va&X}TqjXtI^Sxd#$Fabz^4z^SC zXfl#KfQXt9&7eF%`XTH;+;MDa9-c$dp2&6Xln5IJ6oJ7C!{ z*l8xmtNch^%{e)|QD~Vqf$p+Xaf$HXcxL-eaZ6Yf7y+-E9{yKOcgp|pR}k1eqZmGIW=#*6 zrr@WrN6+j5nLK|XarAFw9(fj9pepizI)uu3H5@d67$4beb@OHl;acH z5Xe2A<1Je%&IriZ5(vN6bZ@Dq)t(3=8cM5X{1*jF{t7Q`ovb2`oSYKvg|UO4nN$DA z)XsyKoyhzTf?I=oPq{aik?1Kzt2uA4i})9v>77;ej<%G%4oTwqFr>sgvnfIoVuryO zMJ4$fjje&~>&+0?%W5rE1Cln%8anOwAfUUCZ90^`3C5nrFkagu5d5fMc}w zlDw>_2>r!(*Lhf9+G0RN972xsec1f}@IPrQ#4IP*ogt?nqVXviQRC2rn5G5Ro`J@# zIgL!nTtBwHoy*8UYfX;%4cCm>?$8K$pCPe$hJFOJL>AS5QkA`PHDbZx_}+I?Q>G^C zSUt2$+v{O6(G{qNYFe#*TjrgK*NXjuh;RMy(?cPUZeBE};kLApuCo-g6SeK8D#YP; zour|M?ibZgU|srSZYuXpHU`37duzs5KhkF!Q&6fkn^D7TaH^DFbG`Yu$B>@ypZEFs4&I^U0wEIXy`C%Ig4 zuv?||o^>}9H)*OPg8mR)U}_1_qN)=3Gh($oZ)weKG!Z?BB(YiKwDuh1ISXXpgcSH0 z?^PUj&~jGg2W@LU2BMr5v9%P;J9uI06HpP!_N=-M1r2ltd;$Cb^2ZAO0Hkjl+3_aP z+dKrKMzk$uT|NF~q5BuM(M=@7;+SB5>Z%nX5nwdg4qr=%f-ki#B$mGV9$kR&no=N_ zyC#w&sAqD`ILL+*h(#eVG5|9FofeNP2hD*xWJJR56v8GTN?nxWr(pI=ShODlpXsUK zk0?;s?8JiD)wLV+gODOqhzxB8yb>MI$D8DMVp}z)?mS#d%}R&+*hj&h?4MF zz6dKQo-)N-kXvdR*-Z{tP>qEfqtF~7s&%j95Dn8b6{#QxnnyXqt?6Q6kZ-B0qa%rY zj@6nH0-;?U{0MuO&=dHmy5t^P3h^eTmQ(s^(x1j2wgO}X6(i?^6{#ZvK#0V9bTPLQvL1JDykRIm$-uBXHE6OMF2viAxtlN zDsU@cZU>zzJXEpMu@A-95xH>?()LB0LsE*}5$1t>@|OYZ7)?ClLhmC}terbo8wZ)5 z5d1)u@s{}v@DfrM+z_VOQnb1MIz705Dy~4BRq4oJnsjxfP8jmmnyn!Ry3gG zkdIP;d8Ia+n<;>F!{UFbF;|y{_RU4uKT7oQQ7$tPX?M7zWj>C@O-vsnE zzDQVvXclneLNx7`bU!5>yat#(M6JF4fNrVEab5e46m7BCKcROsK?=mH>#tJ5hVn$) zV(~6Y=V$Cg{GB`YM>wZ9|AsAqC!d+B`*hfUVD(+sqAI+lFrLBN-?qlwEpr$OmvQEG z;0XbTAqcAVjF(oWz#9c_5bV2Tc5QCz=RuljaNf$509dJO-pEZs#QG3X+fCo0A5N}@ z=;jY7>LWQavMJ6mU9NstSW8J3SJ&h9pFqky3$3;0 zW9Une1z>01q0*&<=G`N-!fzoauTonC?LAwyuWP=sZJ;~NE&4RVsO{4zmx5c0=$_&V zndeJqFC@X1@aQ0&04{VyHd^kFu$u zLG%o`9M_^o{~YFlLYIfTo%I{FRysv`3mHZ2P}TQv-N%f^5Lg)|IG515OmAG>&iwX& zXgd4&md^kGpVRh`ljdCQIqf;^Ic-jxL((Q~PMwfcLPAPPN)QAwMGypSr5e=K6h%i_ zM>kAaw-se>YVPX38?!QV&oHd+Hk+HVJ7wK|SAD*}e?8hXlIvX8`+C1$ujeaLodr^H z84PaFwBoc08?6o}-MPQRM1qfskLL}jT>}=&sK4YDR`w$9c0ca;hWYUZE>#mUkL3Eu zY_G#|E<`FG+_hP@2&#?g=yUo_*E zQ|FOYopKkltLcP*=1~%O#GuE(=M3TiH8_NEu?%yb5YEXx_j13Wj?0zfptfZnph!lT z6>UOLXDXe66m!c-a+^LmWUC%nF|F!T-*hC{e8h?Uk7W?Nj{gLwBHTZbEq$N_?WkNS zh%eET>$R9;s&tx|3q~tcMopoDK897D?Sf4c)57w)h^HYm0R=Kx>VbhcQYb<@#dLqS z<}=jYxUwm5ASZ<7qEazZ+`OadA=XKC5wnHzOwe?H2kBxzZj}ec{G%hlbW*@-yN)UU>VJCfD$N!-hU_t5vBREeI zeYfH@+rY~GoBl^1Fd!IpJ~1BF(`_LV+v_z@Q#)llL0`DgBn}B}Ib{N?+poLb7-~#U;$KEDI_IwPUG7RU?sEcAB%Q_&4yQ+MvHnC!Z=ciIVbt@LXDQr_DCjXDH z<;&gPYE=ch^xjlps~C)9^k zU$=2E29roW+Xt&R$YR%SvK>I+lW$z!mIU3RgwlAhk5HP}J&sB@M(zp@$5%D}1Pi87 zp0W6JbzIvP3o|#iLl{SC5-dQ@3d~Zu@o{mTX@ksm31Otz`04&Pcz!U2@O(zjdSC;~ zAbStIh$MTS{F-^19Q`J>$kEN~A+2O9u@N3`rIC&PDn$A|cmUFdwQy;`I}$v3{e{K; z%3hAJ(woLnl#F5;k^mJaFp;oUrj5acAfQD{mvCU{o^5iI(=d&LhQq zb%OW~TDjUY4pEtskmk3zIWc4&G8yV(YN@Kx`Z9I~943DvhvIH>`r2Z0IL|5!&)S0< zoG>z4cTqv_B*!`qHC+OmpzQ+un!vB@Kz4*tC#)4xN2UwEBn9d~-y|rz%<~n~@$5GB zj}iHkT2SD|(RUtQZFiN{rN15%n)pR()d$@mZM zt?Fygvx6zniC{Cp0cvZw&GyhAXv3F+_9|bSaQvJK>!eK%ridTH7!&}psFSnCp(X1p zi|~!wC#r`?zS5X=Rbkl|;U0xdtQo_FIC2H~yke^=sxcKCf)-SI;m3cChu}-2sTwJp zMD!(Q!0@5{z=gxa=mD|*JK#|aGk{S31`RMfAdgzVB=D`SRj#EX{4+pgj9a65pK)iX zOU=(3ZXgpu|G4c|Vh3>0!Me6+OJSbE{TzK3Q7{V(jO2czO?woevqk~ch=^+g7M&}w zWzt;b-~3tzYqVb`$5#rDC7M`G)njo$820#jX4T)E8i%o!-L&7Rx^nk{v&L`@=D=_p z2}eKYEUE=cY{u*1iw!`~re6t%=4VBlVC1F3DyvdRH{Rf#`Fy!}JY3sMrkp)qeh}=5 zxl+m)XxBTM)hxF^3F<2F957W5CvmM&;4lH3Vb>XmhkHo+PSq$}A?nL$>yU~Hhza<~ zWJTP4+9HjAi7M?Xo37WFY$0r7x|-UlYVcK$#A!z@e#|3}e}iW8=c9938q4<|qdKSh zk7JLyb1Xivxd&9nfK$=b53yn{%HK|O>4W#IZeOgu6}?s0fTTNNxS`z|2xY$)qZh-VZpp2oa z6IDlHZfMzBX0}W`CF3kKd6mecy<#L3pjOWVpC?+EA}QcVGPg3iW}0fd?&H|tU!_M? zJpOKODcQvskLtk3Db0gRyYly=0xQf>-u2p7CTEoOqlrkED+YYP&@)w^ldDAu_4NhU zl-r6rX#kSUcX!S@t09y`~%%W*?lW1_-@Gdj@{K|Zk^iLebrVAW)It9vw!@eeZf zQ@G3P_cEW$Y#nJYg=oNElwpvZRGKU5J_COeja?%ABJ)cMRziIMb?*=qcdK6iPGcJQ zngB~8nT@*gBKh`XbI&#uFfV@^U8fxwCMf+BOT{z8vnM&h6O@$my1+j_# ze$0n3yxyy#&Ly*lX$PK4`&!oujdHw0vj!Oifl;M#bfWquIT3>5g1!D1Kj7;I2C9^! zrSnLjvA0gIH-E{^;VbpJOK-A0h9v@MzWTqsEXY90bF-(B!mR#r*E@k*8q#2}$xz7h z()S|2LSJ#4MAvj?gC6mFhOB)6#U|Y&#`UKPDQ%MO9)XSpkJ4)zpBxpwNb|)p<&lO} z2vtB+`(h*DY`a=BDue%wCr_J~lJdYl`UCZ8eh>jgnR`VkgHKJMzT>6!;6P43tA zh~8W3IAw1Lbfasq+40H$3qS$|8G(d~Y7ha_35qSOSbNC54Siq5a^K+<$+$gm9AwM9 zm4pXg#wtkdJ7uj|WP9$u*oez!z)YjBh_fbV7&?~fuEXTaf)qk4KsD)J6tO5%)f>P( z=+^>0(%Vp=UPsv^<5=6acFM`dx4rJ>?t$k-OWTZ0+ShdD zdkJxm)Oc`^9u01!N?YLgz6g99#aG4U90;=yYOLoj$njP5RPHAVBoq2@_xGGt?wADI z@zdjVjt;OJEWX_yR%k0E+L7gMPtOVLXTQM$@MHa$MFN^CcCa5K=keu{P|tK!Eo+N+ zv9^#{g-+}ooEG7qNp+#LW#o3a?f%0UuZ5CxwQ!d-0RG=p<7?s<-4R0db#pm(1N<2m z{K#~H@aE)4dun76f!W!cG5ry*6ih+Oz)S`fUl0QK{Cyd0F`!Pj$y%j{ z4FxJimIy1%!lKCqlT?{Zv&@{pkB6C&rRSlARGb>&c%>c-<(qR7C7pFqM1C^(xwAoy zInP1s8fG=bqP|}mV$5T>eF}2@+Ch50ZAgOdXgh*5WfZuXf&ZZD0MF7VG5Ry!ZO?xN z^SRp3vDL5|-jqshU=UF}-kHeLO^H-)*TXCuu!$(SmIn+E5%nwfcGhH7f{ zq3R%!%AWcTcny@Rj4^>U37PZYSVVq+xt8R<0|oYHBgQ3__QXaIZ0;)8Z0ci~`6MSO z^uJ>)GbwVID@i?7IIKp}-5n#6ZGaY_W)&f^zVxDCI(R2i^r6K2<(q0g1FL0t!}Fs- zBQ~4NH~g0lLvTS)J;=A{H&hM7m-*lI-1S1wGk-N2_TolTw^bTZb}PY=kX?YuLemSh zdE}zX9yzm6&>)ML?9bh+n-M9!s4o}aZdcn?dTP@mx1QDh;>v>)<9ShBBZ0Sw4Q+ao z@!(dBx5d3p+#Oyzp3Em&jDI~C0-3EtC2@#FJDD9;{~ZC10?uL1t+&2lrOKn~1)w$# z1}d2UgV!H%a;n{_YHrKdo(6Vw)k9Hh2%PJTHd!E_p+YMw8>ty88&DFVNsm%_nT;yn z9yWdmGAf;~uSq+jEJYq<5PG}j&OoF+xW0m`II+lJ1D#|S%w`-!OqFvdu`Ywx{43ZBFO4pEV@C9`p3 z9!zE`PG-{dpo{=;etQ)f_2|*ge~{kIr})1pW{IpkMpdtdFVfmUR9=3J50~46;(RcwkA4wbBvfB6HMa90S;T$yO--R{z2`lp> zU7xSL7g1zu4slwIStR758#TSvk+~kHHreyg0h(@X#ZBQsS9?1k^2l`Y@AfDS;uVgT z3q4&;H>i2TEX?*XLR!TtL^Ts4NU%Gtw}>@{ z?C|D@%6O4QOw%%jWDaG)IkvVPGZv;#5idi5* z3#uSoPz)xPrF%bc+WFloDGijzAhSdh(lA;QaA$4<(oG^GW;wZT(JC{%Iyv)n1xdbX z-uL%55+b>fm&?F@9(+nd2}Y`TEnE{X;~TVUo*QSxMWpaT4WOBFnelQYCn7|grHjf%EBRe;8Y zhLILuQ|T_MDu!*c{{|4Eeyy)R=QE)519oz8uqRO2srRj#WSLYA`b3c_&|>L3S9M*# zIadWOd_`y!DRCR2o;m^QMpgIqX;(V24Jx@|J%(>1=d$MsN@tHke2tgboO&-k4PF{S zh}Yg{Y2)B*3nIQieZK)8P3^Q1zl$%!D^I{j0w;`#(h~F^%{61*KHpAC4xA_8eftMe zmItj5KZ%Hs9#q^D#;bvY8nu_0ZzjO=IIt#0EJJ|no>sU6_4CLN^mChSpur|Mh8}yt;`@BCG8|bVzd_v-hIJZ~1- zRkf}>iXPv547RfR5$^dg{-^2q%tXT%WR0!Hm?n7jOD+GnSj|N1H_ffl4U|t9Com%V` zj*n1^B@OJnTFmez!hA)7A5uZ3+$+~-VUzv�@4XR>#}K0kHq1h9OJfSSB?r1?_I$ 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 literal 0 HcmV?d00001 diff --git a/samples/datalake/deltalake_and_kudu/data/customer/part-00002-137a1b68-bafd-46a7-b231-400a174b520c-c000.snappy.parquet b/samples/datalake/deltalake_and_kudu/data/customer/part-00002-137a1b68-bafd-46a7-b231-400a174b520c-c000.snappy.parquet new file mode 100644 index 0000000000000000000000000000000000000000..020abd85fc8bfb5fba4937b3359e1eca97aef9e3 GIT binary patch literal 390594 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 z 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

a(>}0M-Fno%DCp&{G~QyF*oxJ4s^&qnH|xQH9_m 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 Pk3^>s_HTJi1;ls$jN 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%0Ad-`Dh=s?@1yD$F zCuXN}%-X4|TQ@j4o8K}%zHur(**2}8-L`S>ntca%@7ypnzGvXT;8;`Vz=qikYo{)& zf7K7ab?)5Gj@iE4?vbw6EfaENcI(WVy`5vzP1m#SkxiY=L+keScMLc8A3VG#-@apX z@0!N`{HEcxqig2&_O<0?Fh1M&uU*q~sAa>@*xdTLZTohwTQ}X_yLWuo!CZVgkF~7Z zG15PkJ3h2=w0mO1NO}cqZaLB4wtZ*gWarFSTi=%9qs@nA`^I+nZ{L&-NcX;xyveW0 zcW)e+9Xio;pu2C~Y|n<>2e)<{9-f%pHgddq=X9>`CR%Ur+c_|{c4p1mEt`9qn)^?V z^)zj0AD`}=>KpHt&Z)WHV+Y3C1~*GQFl~KZ`Ihk$C-$$6k8a1|@tsq19n*U@p172o zQ%AQA_sGV%*^T{&c9|osYi1A6j2_((pBMSP1Ec*j!v|;jj*P??!_k?Z&BGg82ag}@ z8z0=cxo2x*_mSMj_K~9-Cbk}*?2UIiKQpo`KRmf@Ywu|5`i^~j<1@W~W_0k_+{}SP z=J>JEe16->BZqrdQNFf!_u(BwUA@i68iz-=O$?bn89cdf&4HPnZH?Qfn)e?V7>P|z z?%zH$K9@V(zIXTL+@Vg1P4=zdcdT*GnwE}z6Kgh(ADNmR-6c0rzJA|^;n{5+W~!}u z{iu=7maQEd4{ht~*gm&qnK<|IkdfZ zym53(XV?BMyLYrtAD7%zDx#LZ1cg;@i+;gaZU~KoAj(8f+O&vYBt$oel z=FVd~w;es+HFrEe+a%jIkIl91i1+^B2KMYZF)`h`qj~gbuIc!pf$dWwL-7ST*3x%kU2oIy#L3MYd*}Ag4Q<;s zeYkhiaN~p-KR(vj$Z_Am;?yzh9=rftW&)-+E}HXiKX*4?vl=g5ws9r?H`v*kqZ;I<9Z$0l;?q@!1o?+rUu$KG_}NgJ<{2HVCdwb=|jg_XV)A(*3v!D(zt7&W4vp;xigLs z`JDs#V_UY2?H!zL8gHEJ8O!bH>y5qWI@q@R*zVn1*X`*a-Pm$;U}9*ht9g9GcwcLa zbPj21S`2TS9=E2gV>s?qK3d0@WdylU_uNREbiN|;fiy)~bwFDD0QfuFr z*47Mow5z+Nmei73YSoaMDIiQiu%}WfYJf_d0qi)21VfxaAW(c%60-yTE+W;S>#|Pl7lMoY!DxzfZ%Em3We0e#YmB-Z{lz~~gQ6F?d?UBHO5m}H? zb3VB`vZoVmIiE>b6(5Jrutg7tdmglBE8_SXvru9g66)4o1bax&BUNs_DSjNPY(Nu7 z$gWbrQRi-?bD8s$(-g!?Se&t)cjVY?-#i`&zqJl6pTgY5OEW1=X6+z#hs->m1GjG; z)txm@(zP{mqQbvXY7YKUyrOKsD`9p)SN_^O|d?Yt+Nj1ph7P>K_+j+OFmq(Lo zA#M=1BC`;uO)t6Ya*-8i%Y}(kKFULq^-`8~c1_=Oevj{BTXaMm=1H1ClmP zmb-AfJ54-SXPbUvq({d>bS1kM90ma9P)*2KjQebz(8m+TA)B(@Fc((hn1#De*x=Tv zDr3FPrP0WA;ZY>&8oMM`B{Mlnj&*70b@DhxoZ9SY_r7Q3QQJZ;9$>mcTB}n@I_l=K zel^cC-aKB?K0a;ATTzb3*v`+$c-%cs+!FcndhS$1-#E8$!yUOC*Am?sGial9kA4c@ z0&vTM1ltS2qXDWZAL^Ez@1!7}X`_&;+t`%OgphFHK?H5P!sC%vWW9JgJ&8By@vz_v z?G;^Mr`+QKXVCdR9cYQ%;<#kX`)nYUo`SDqIJmbtEQ;&nKV>KcYWl|Z%Br?|3}Y7Y zyg4JVZorw?-U^0`9*1GE*CBkk^M9>c-2IC~-8!`7X*Irnj>z2&WP$%(7xwvcy;qCHj&PIZ7~RYJpKyk>VO z9Mi`<5-BK3=2M}#Wlt_;bEtc0*+K}$adP^2?(mS7t$WNJ+?AX)*q%ZiH@fhF!Ef<4 zk&jYEq8tkskDpjPTupiI-?#mi+dco2ue>>0jj{0T23L1rL^|$+xMbE#zIch995#>V zniDRpjnTe4(sCK46L1THpW5EsRIIG^Ds7#Wfx2ynM^WB2(E{3L;N(Y%-ub(MzQY#2 zpJvQ-o-RMXqVnd@#5#1iolgRfi#vB!<>9nWC$W1}-c~hj7CnzF=<@pYvNy0zM8t=q zkiY)ppWbzv*&bGjmub4Q=e1Wx#$&_n(ru_n&TTy_#^e?B)pxN?Kj;%&hj_wPCMG=n zjC4BrvSJ4l-?xe4Z}5z_p1Ci7bWac6AdAVsnHUTs_uj-;qV+mVif3V>mhXK2BVV?9 z-y>R>97H-6)cZuFTont?&(ApLF7D}`oNiYO+cVF9_nUuOI-r?5!3GASy*s$XqjpYb zG%*h@vpvaEA}ZcRJY_?ktltYZIqo*|erv4_Pb%hdt)nrXcRMN?RQq!Chv&cl471b3 zOlLx8H}Ll9YjB8}=2CaWo$tAqTc<2_m8@G*veR|v=jV{%HnnuqYMRr&fx0tqYtJx#5GTz_0?9g%lW-r~fEq53f<}7od6sH@q4m45 zZXjc$h!4y}_1s5qQ2_?Y?>-hL&4ZE+AohRwcDSeLi-x^!ZLpGb8L^_5?|l^>yyl^<+cJN(g7Fc$AsZ9@n%b$nq%qC+=x|K;+xQs zstq$;1fkb^ZAHjeNB0{jrxjnVv3-uM@jV`8az& zLaef2BR`dDP4EooMH?Zq;CvLh44jHpIvOA`_Gy91v;JBdn2YUAHAd z>PR$eXMX%c?>E}*A6qj3i*hia~tU^6X7@0Op2w7&-F|LJ%(Zu7h zL3c2vNVG_e#FK+wMpqmdKhid0GMzM;p|12}y)f5gC`HMPF2tcZany~lP5k?~19U5n5x*w!kmr$6!u zOkY?bEyEbOgyGq%mAsT2b{C^_k24QAE|||h_bqRWq3aq)W+c>?zxdHoZD4b1CCiA4 z#1sd0TcnWXcnwEDqPaDYr|8$;jgcM za*2a|a2{532|WD93n3TYERmjNo$cucqF()$SD)^LN|WG_R=v^^r`(n9_%I(;OG<>h zl2y1|cvBEHr3X{iuj-`h#jI&{{uq6b)wwroe$NN|KhxT-j2(ZWgN7={F&u& z#!sB9U+djYf_1qouQ^l=(uE2S%7w(3zmQ!wU?ktid&5vWIn2=ob~vZE7IcUQskoBI zi1E96AP#rR6VU$h`o}ax_h^Xm)foa57WED_5}%p=fJZGMF8o$~Q8dhbX`-cRB3FR=R3LmO#mN?)@nCSb~@y-H0u>N8uEl zG~ZVD2*anflSqIR;<{UXXchbZkALLNd+H#D_l1j{^%Pz1P;r6K)ih65b7trR z*P%PIo*om#8XBmC-&|0aAfE@bGg0p;S>6dx?VEqyxK!#5P$b^Ny=0e3Y&o43b-Uqm*#<`CqKrv*WCe* zA3Y7K^(YYAde>)wRV>CSDyAXbcDgB+ns>;q@}mI-s&$?K{mv=ri~AdVG}*hv`y+QT)YkkdD&{AJ@%%bXs? zj;S-(9*b*XpH$0d2wna1OZWED0Hju>1;M}k!4IpOpbYY8U+&GB>X!5MbjdHlPN7BS z2D-S0yk*0@vp~Mx!V<8Bs<56!*Ac&Zb_5`spQ}p+38`Z^{ps^R`DUl0@sz6;eXR`G)bxrpSXvio>^a8~U&LN(!VE3{T<+4p<=A%S7+%=@IEFC;{l-XTXmvNar zRkg|hcoeF6`fF9Qlw__d^N?{_cJUX>$RUUJH~d<~U#~@;A&zJ?-#r|)gT~|8n@8@D zxxZ4E*S|ZY(AG_Ma)JlK(YbBgp%cPe%YE*?d-kl=gBb@b%~3&@_4${4*JqNhVpl1i zO67`E_Z@(Y79gf$$>wRqpEKni-MnMTfBYwrVjto@ayu0QPOGmuYT&7UpEBj9mvlxu zt&QbQYCw7G(Qo>9Mq|wRU4}??fYZAs6cit6CR9Jf8KCdD`1icC+b;|@Q8kmfFMmeT z5@$Dv3rRu|Z(a|FJnx_X?pHZE+XRSmgQ=5D-})&>gr~pp84(ptu-rAb!0(m_nD9Z< zSUt+{%wjure`{vhLu2dZqt7VD*vgKqneC$14^FdKg1YyH6Hs~X#FfY3GNW|!>7S0U ziCJ1fF1Z;RB4B*ObdI>tU``cyKZR%Itv5f7Y6O1Zk2nVHPQKO8y%B`@CbRZ4OceE0 zt%|Zf(0E*zC~{YBJ32Ov@SagMlK5jMZEA6U`UVKGa@PuC;e6hxO&&RBZ{evtOA9S| zh$iKZ96rip0AGwk-4~&a3V}Lj{OOwL471T5RY^7pyiGg0>iq{`*-!L+Xakx{_R?lM z?dEVO+~;5YRju~)iDGdKO-2FRhVs~_WBgk!Q2c3gA@MkOM>??PFfv;GtSN==g z-(2uS3Nc(pjpE*&hWK}YzDWi)gHN=%H_(0X{M~PTB5X7|8qr)#>R?ncDkcW_>a6*W z_jcUe_&J%rSlYZMv;&v52i@ucPO>@`(EK;N-FO+0oTf7EKmLn&rx>aqcZNPVl*m23 z!V|UG0k;^A|olR!2-fh;~x&m;}q3#gbY>Kv5HfW{&O|SZWvCP@jL~t@n-0 zM?%DR+#}`KfJi%>QOm4*@#*h!=gqZKsS8#_nMT@fQV%abJ9fLAz|U6-^`OE}+KNe} zn~_0vLIJ3qzWglG@qi>SkOUtz#C!SK4_o0X8#sFm_S|t>_MpWI(Jf7x@*GY~6BIAM z>Ju^A$(pmZx-nE7lBJumIPTor+Igo9=`qDnKu_-@Cr=)|{q+V5>YP9Q=s3jbe72cw zUn$E7FNt%w&tRNov6zjL?DhOX6)jL@wL?`-y=9-ZwYs2V4sW)v=TF^rcRbw|=XmJL zlSC0a+v3ZG6^y=S_-YK#2`o+DBz{1mowKt#aSZ_)yGA)#8mEQJ7SPAO`8__}Hk*|t z!&P@pK9u{9f7eIp9#M;vwG^9B61+QvhG8upLdWhsd20|s@ao-f{b)WPJmSo`L*O2R zb6-5PoUMjex;mJSPilvk|MY_cd#}lx%$Qgs(3YnNd99ebdH8`ZzV_w_Zf_AxGE`p7 z0%|SF)*C9gdM z&Em1LGX^M7)3W1i#oDZqeA=Q|_3~Ffw2z@tWj^59gzF|7T&6@gxZ4ne%v=FQtvvs` zZ@u}UWI;R>PB-pSni~P$DBJWv9W!{2)WUO8)@{rde$>U;*D~{vl-$aImVdjEv$Lr7 z>)*dvs-cSXg?CTU;^+P*;iP+y3V`p6nm%v7*u8tK+hmi<{(W&o6%1%EU;PYsFZ=D8 z0-6tmqQy{Ahgy_;UTK_JMV(l_KpSf;vN(FDzEHTEIIA|s@kbI`#G41XX%+lYaBIlf zZ1}&5RHZ?#B$K*v(~nQo+iN59_Erk;;nh!l^^-K!3@HeT42SXPWa2j_jXJ=1TTIc` zT_D`5i22EJKLa%enKqFxY=h1fs@mGSV*xuDE;wEMi$1B%T2Z&+B13Cl4?q z-0_~i-b7=@j`Y+2^X}%d*%hTyudUs$BPT!orZJ8Z&z(Zfh^c6t_Ov{t^oA`-h=m+= z$1v~HL(-iNE1h`8jE57?2Dsk(H{|8KI49TA3<0!5WHV)((|*lJC8_8WiUO(}VgB+P zEnkRg2$~a;6efEOm$4CSFm7nLrC{9ca4MO{`vj1ke(OalY6m9Jr{J`{Tr_A1Oaze$gg7ih*EeOL(qH^Sh$}Uv-W?5gBK%7)RzO(~y#A_PJ$7akmU$M2cVfl+Vyl8A`(#pgeL zE%T|{maYyU3j?V=kAM`_H)!VUWRk*M2J~ekNu1xU&{tmGekZ_ow|kTrWaGSi@aD(* z8^-G-zR5};fZvX}k*_oAL-1x^A}|u0JBlK&a#B774bLuV83$1KI;eNnR?~|-lvue- zu_Rb8(HaArz`#C`1zZjM0Z=xmEkP)45HK0uj{7nH1}$0M8mO8#yKKQoB8jfL!E%!a zCZ3z?Z6C5ma1_Tmf{k-^O`n~&KCK%OUdo+WcJP+Cr!%gpGys14{zkImK#B4_G{2L9 zt(_6yDuJ~sA4lx`0jRC;1RjT9=mOF*pdg-Izc@X2)UI~pGuWM@gHevw5u|N8R} zf5-bR$J#TC+2$Qj53+jkPHc#6VdIH^^P6X9PESV#-v+#R;tzhkQ>*dB;VOTiE$&*) zTq`}?1+8W7#dbNUr*#X+@%6zeTFI&yF{^b`vNgE_(4WZk6w1in%gh;Enz{ z@g}eol)d>Uz6|OMSC%V_weVM7f6qH=2KUlxsX)(&e=SwpTtcS1xa=9#J|>LtK9}-G zIOq+;zKPj<9+?oUyJmmEHiw52e{@72pcw=_A zS3mF_e@8h_qFP=`4mE}CVodp*%AwRR&AmUwvjNI-Xtv_ z|F#bZiU+QdWV`ZLngz}DsIm9c#W<;7eD*02;0Qe890JjyeSunmUm5FOOOReFjund3 zm;5$9dtdG_D?4dQ-Iip<1BD1I5eNKkYquAc3Sa+w?=JKyu=@LMLC)uW9ZDa+ClTBj zVatA__ChT~A%h+d%x{CSZ0^#{)xSie`0`sRVYuN~ap@;MwBu2K`T9Gz6PE4}nAYjx zLN0B=m}Eo`O!>Oia)pW-l*jvW6Qdx{;2(kk=Gjq$$trOTdx2IszD z@pfzK!$|N;r)?0Sf;WXG+1=CkEt{2Fc*T!zFpOi;ak%j{Um+o8IT!w_a!+MPm#65w zFSJ-$n--6yNXR!0zCXITD z`AZego<#x!FP>>&9io&Pt8qk3RhF2%h?GI_)iUH#bZa_{N1tDR>j$a^Ss{h^%aOg< zB-s%JFXhqJxxD(~OB#EEtLlvCK!Ln$8%P4uf%x*5-<>S~1SJjw5XZ$Tw$royrSX1& z%MHc&+MR8=-Sys96Mjk}mT!Pu->hE{33O(nv5d8 z!}cLY%=UaL0U!$m(aQ1dY5)AEzWl}%F$LufH(US;YWGV6$ET@cU?IGxryCHyU_K*T z_|aRSdp7Q;RL$YO))O!@3Y685t(CK?$sTF? ztcedXx-@Cb`7p1ikw~Zb^u@n#NlbLqg`Fu1&_zQ4ob|`Kd;S|=#eo;^KxyR(%%$gY z7yoAIw1M-`75rl3os&J)lo$4iwN4vz%msR-&9L$160l%<3V!}YUkYUx*rRR0xQ9DS zk?^hM1_$GOdj3sc`cOx5;#MQV{luz14n|&f;t5Wj7TU$+GTy)Zo%b9GK!>$Oi0%eU zJDnurPxkvZ029c7w8w%puhWs@!JyJTxgQqzfL7DB)k_kt$aWUfv7>TL!nR!^I<)Zd zTNRPo?rG_5O<1AF_>UYl(dBvkyty%-yo;JA1($QD99<->Ofvqt_fbkd18d>2>6Dhd z3leY=&v-!VpZ|u>x_uU`ym|Cbch8=6#At*aA+0zxw)CD0Eqw<{6qY~z;Agm4?AVJ5 z*ooQb$nE5{)4jLbp*M9kI-6>kttwzwpRVuU1IAtD8B`k&M)~+K%gMM=`H}fEpUyOk z2;kcv?pSFh)7DsUeY>5|VaLQmEo(`k?ks&8h?%w(q+VnYQ+!s%w^ynfNC% z))qs|FNq-+=}ypwc5kHU{$dd&pteF{ZWW5NPLN(6mufz%SlC^(*2L+Q5E6QH_j+BC zAO8YSgOcNh-fr?&@Yg>)L)aXmUWQ>e$Ii~UZ0`?=nck2smG>xgkMTE?H6fgv)mBW+0ndL6L@>RCnM$^XFfF$beyV#g$GanJgd%U0lE68h}+lYK2)bU>12C7 z4At}ZeEB_cpxAq(QbqzNM16G+zx|JC)o@JF#q#D)UPPx;aHd?`&LV{^#Zs}s_gR}yaoFJF4IyHQvG9V>|U4(YRwO!Y5cL0Kdkbqha6}w8>`Q^tx3@Gus zHlW(>Bgde-TNK1sj83V#IyX{h$S=S4v(8vTNKM=nII(%PK}_l5_22;>K!l-$nA1HL z!PNWw{FSdG_Y<~(tM+o7nhXE=eLv@rEPBZmPaHde9box80P>ajN6UVmDPZZi9J_^) zfy6{LVRZ!E<{&`@pN^j|unUB&jBD?nBag2YNiVMFOYd!AD?$uInz&ke%J!+)LG706 zj<5yIxJw*n5|#7UnWZ3%k6z?!cGyVwoj15WFmo}#=FPhf8)lZ;gsjgJj!AK}iR>tA z-DBxY6Q}re$K(t-M-LwoHc5jkWkBPgytCOYHS{!sa#D=W;RJ?|K=FW%x6LVF;(7VE zKbulspNpRIQdk-b70{a~DaiFjXO7gCD-N3@cY~6zKL46;gCh~e1AiYi#&-W&evi<` z^zNHM>$a+g+3|OQUHGla^$)ckQ|B8r;4*&K1flJ|^FR6KcRJ{PC^{bFq$vJ{DhpBA z!e+KPx8=PJTy&psmq}*H%6k1xpH^dHM(ar<661C)&nj<2YY^{dVZZuE-ruM(YhV+Z5iIMB<|saa0;(jM&j{Cc zlTH*(K%87G4(Yu5%P)AaF^ik-(t;cYCHaEAYoOVwx90@o_sL}ptf%)a1!QE3fw@W` zfq)?b*qxPB(eMBLZ|)2f_J^~~w~a-6+Ny^KEeu9tU0KJ}j++`o%MMx}3>(jgm;;SG z?%(JV>doseWgYu5{LGX)%E`U)!baPrUR;vHLTaAeQT(Q3U~hRyi1d!oMHrmYj`NZ= znW)cyusej5SVt@xniSf{Z5$8Ixst>Iazv|sdg*R{;9}|BZ2t7%lE4csU`ZW5|MD-7s|Z^A zCfeaWS{1Ej5K&3*JG-(Wg&aV&eyrEYUY?Ox znxw$aA-M(JAnon**v`%|efsO4j8T*wHR%)|^HUO(!Z@Fy1*bcL@xvhl38Ko zkG*-X-W^j7Z%>j4iuM_J3UXCy+!MM>V17$mGPQc~-Fg`16#KYH`lacwrsr`$df!Jn zfh({6#pW~g1n)Q@=x(E#Ag4QxcC|$N-oRkjqexG#WsrehcFd3No!n$NV0&oDJ~#I@hf^$n_pzx#H!gM(qfKBp33sxyZt1XQDuJtaa9G8p7mtp9R)1eD5=6$C3uu`G)NgaYI6uUtsTI_*#$fM|CUgtzIcdTv{sn<2gCBd7fM_rBX5N)}SCvKgj; zepHi}e_W5z%poGh?TSbX1~mYB&Si{z7_akz`6usPuoZX{2xQ_!#Nwv$97Ca7gVHP7 z_ehDr+y+TGX1B3^ef8(R1(}b#gJC)X+yYvjxqo`zh`v*<8qDviJhXm?8*#Rom^pF3@8duCi5^>b zi&TLuxU8sNiMva2Y6@#(wUCgYmE>K%=lN@2&O8ku&?#`*(?y98z@himt=%)zMSJxt zUVWtQPxq^1Hs?YG8{r66oyP=7euS`~DKe|*!qbm&q2^u}sIP!a>Uy$hpQWDu+1|Ep zu5nR$GF_WvzY*9XIyuN0%}#I#M?D~`Lmx0HHbox zM|;WLa8jGSf8dG$s@K!B7A|z2xqA1sdq3f~Dhj*>2q1-+Ttj)2+D2ugf00xqUdS5( z-{(WlWjoS5_`s}3Bl#*o&*Jw10hS}kB3F4B8#kH+)W<8IgF2{U(oh<=mmjT-D~4hS zLj%+9bQ~=}Eln;WI~Jb_GxH07GhnvI5S#3+?-n=VmKs3PB#GfB@mNG!AOO0}BmZGD zEP;CtE$`%HI|rJK@9$lWdD8;c=7LRU=>V6<=g+@X-3fb}H9p@5d|r{5zlD#wD6=TQ4t? z`1if5UL-X?6||hwQ(EiY)3?8;-OFZ1cSqpAoKT=Fe8=;D`*jTk*}ZYe`MDttNEnOT zyim-0i#k?^t*q38aZbBjyIZn%iWFb%x(#3uF+hxkhQwD1r5oejzks}wPDlCSI#uJU zqGfw~{-s}e^Rbl&VkP!6@D+~EZHJ$`X50*O1w|7y>Koj@K;ULuNeW~GSc6b#gB(U` zWD&w;Ib%)@ov4WHfj&6mLO80qF+5hpNjg85ZU;BQ7^Sv1?Y-mSfl#jpbOQ|hYJk_- z?BA(4`TnP0|EcLw9uh8irEHE;SWdZL(pOFq0QmtRLy28%QGWaR_NzZ(k984Tx$Rs| zUSj35want)zE>=2Silnohnn>IKOVz0C7p=6C?`yo4klDES(7iVO1X+#oL+wUB49kY z!?ANQR=p_CN3@$9Y73&rx1)#Tnm*O}6?kVLVSDRg(yQ-f+)!(-_vWjoZ>dK2 zD$8+j&>V-G25(Yb9SEKUlNjU6pSE~^P=t-ciD|hI=H<{|6%PC2mw!}Hh>Amt7N3AL zlqw{YO2`Bzk7kecVAV9t^B;JtGuuA&6@{_$J)Lf^U|Vx4;x=WHS-_t4O~QvBBc1}Y zmWCWQ0IWA`Bj4}fl$MPHXr8ha&vn2Cof^ozh0!xe>ll9NxLN^Z@3fEOcfXbi9B#b) z)9<-SXJ}NM`1zN9=~Lec&TX{I%_S#C;yg(40Nt%VoMpP%^=gm`$NKd5f0z=^^*E~i zJ;n^VJ&%m@Hz9#S2=+3rY_y$hUUodM1*nP2L0YsRV5IFHxU=oK65W+|$f2(GY@u%a zGuddKM6(k?!e(k5_>5BoAQ@P4FFX0qWVdLk?z;=nXw?dcvWMfI)v|p^8~6CHWkGv~ zBZoiS_IWiN>Uxv_{iG2`U;Frn-#>BbRF)?-Xa-18QS}Za_#bLoj`2QE9^R@H^^Fa#BHJ$8* z8`}-IP4b$%^xGrhTOWT{2;RCSC1n+ZWkdv%`5qH6GgV&yIS|(7*6Dte!YKfLidr7o zzIpjSJ_^&`1Y@TM3~E6N=Iwm|#^x;w0+T>Co&h8O@>8E>F5UvwVGj(;0w!Fmm|P=F zQQ1UYZ;@EsCSlq2-M4-Ihq%)B%WB(p(>3gq-UY688jD@IM`>k+z4$?e4XCm`%g^js)ZT5So4{N88cxvK&7dj!1Lmg7*1ht#qg z`P2>0e0&+K&;K~?aqekToU46vyVS|k?R}7LWr3-F%LS_>GZ49^8%aH#&ad?kA)3uE zC+~v$+mQe(E*PstcDmF6Vn}x}jhFg^`0NX45W_Ce(PI#ErgXerfmbGd{=qNpJweUq zs%Iz!o69!8ZsQu?&`;YpIZ;z7>J_J3+scZ&sSZgp6H8)u4-NvjW2ntqVf&TGv$3Q} z|HP=u66M(0fga2o_`>jAV@K(Qo9!qA8mq`VBT`S{xaTKigF%$h5w*fTfAD2#e=HOn ztQ8~1^(?-+M9zHiJ3lc}!ch+HP=tgj@1p&90G?g$w4Ae&6dc{4O8(_veWbLh#h^E7 zmfHp-s(?oCdhjIxzUQ$SH~=f3{>le#bm(^^&Stj`2}!X98x9C38ZnXQzxp*eDS>bA zH0ZlKf<1e0acQQj)X{0&b=Z z9e15)??6Y_{8Ci6*~?FN@#zR|-f+*4^wzg`0f1Lg?b^59-8=bA{{FpLv6{Vu94^_b zhQ@GB#(RZB-viuPkh+DJ=l=q19QrPepIZ=YPNGdw3%xyj{3k!950}dw7{V{yli@=5$=B$a^H8M&oY7P#2 za(w;aMW)Vh<3*sz<1;Ev^WE|NUdRcX6%bmBq>Rpg#dAj1z=`FPJhPc8hCb$=Zd8cO zZxv+6HrJQG(9x5J8GysXF0Ag)YE#;RJh$gP<&U50?d@#J*<%#;2Y`e4LY8_Yq}d4_gcZPkIB9-e>wuYeJfbPOda z{Hs*F`hoAEyd5be+n|Dl1o47``Jwlx#oCpm1Xnc4mD1T_3lI(4T*}u!nQga=7adAeTv#eSY<4Us19xpcG37t)d!LeR^)b^2XbmJauzavF)V8jRHOvl7u%0 z6RZn+mjiY&L>%>D3~+6}S+&i9I1*=C8ZQr@gu&kTG9sDVYs0b4ZD2*8>&tx+fBWm4 z)=KQ>*q(wwv=}=PLjWpdS1Ww5d+FX7$)gu1~5C&_bhDcE@zBBpSC;95F ze1>GxF}EeaWZmdmU2d(?Hydw>`?|~Gr+@e}9d5y!y{BTp zzPvTS4kLg5U2b=|YE%PVR{AW{*pB&;ZdWZU;B{&jL~|&HlFXDYj!1)f9ka}z|KpFy zAllr+mGxnAVjysdu!w@$2J9iB)3MS6`SVBLzoYf$49OePIqT|PONRqR?uMRt`kwcX zz)kCi%Z;Lubz9b_$dLmR?t>Q$?JJ}@2zv=I;zcv=Vym--YuoLF#&2MD%ktuSDP~3H+<1D@F6d8=6TdTGYi3Jht@(8JM zQot ze0!7#FuxHRk^@PiR!Z>M(C%i#yNUT%_$k^ZGYpK)^pT0?SJT(w0MpLHv`y;_lfGZu zPbRfr?ITetXRe-L=Tc(V7J5a$`fxhr>l#G1?s-UaD!m5tx0iuHdo#X-$Hsk1DN{20 zKnnJUux^lU_r*W|gv$AAEHZm$u@OmKu_Z2$zG9C#SPF=PU4eI&n%0 z>?++~mmF{xL^=&h9|V5qx6Zo+{{`TPIn zN1#e&{zw6TuMP=T3H(a!g=Dlt60*})+oSl?|ALEPyAZKCl5&~=mgUudMK3ryft{aR zMhmC_<7@GvA2Qa7nwzIk8C5-h|2Kc=E$1nm_r-FU+C!BUWL%5Gjmy!a4l)x7694XZ zTkx`{Yhp{({?4N|_Zqiu7lBg_te@?dGV61|BNaII{PZO_TNrqqR=qAp_xW#s`RzU6 z)Zw^f$NK4e;eEtdSKsKT(g|MP?dI$}4QCA44D2{%(%BU!KLr9=xdlnVSN|8XAK1(Y z6OXM}4wl01d~%cXsdx_F`fdg36=2|c{(JBIVo81V2Y>M0^F1D_OJN^__Hw@F+{<@S zuABtz#}1Pv7~!evLX`=9(}lAcvFZXhXgHE(;Kck{Y&$k@dojNCTp=Pcmk%_AxtdIZ5hu#_NQB#v6oMrjWI3`!L=Pxb+gt{gM=~DUCpZ?xjJ*9`l z*UF<;9a>E=fRmEm)_p84&hYYUKb+9bQte`Mjznw+OyygtBZf`$fE2Gw1Pg2(`GWLyrA&+L0QzJRP?B_=$g zDJ7~nPv45%kBk~14al4|vi9` zNnn3T2zFIHzrRc0_56F^+7~-IN{Y>Gw;iw~@rb(&JFfHkKl^kOoxymo?D9^P#3iS} zh97`LQqU%`tmM||YTw(*6CgEd2)IY2J-};9t`oqaRBoJ{eEPjs)o!kEdg;!c5S_~a zI?*60{P{ol;0WwHJ{->^aAe+v!wy7lP8b4`*{|Mv`?J%yqyB%6-aTk`JTLFt7Yv@6 zo$Xm(c4x1!dY7}yY!HiDYPHlbp+;)8Zmm|U)w;IF)JSTnb-%T`TP+Xx9BlBxRKhWF z!cYM`CtOTIVsj}Rryw!M1+n9DoK5T^_!8U0md#>p>NqxWVX(>f<*!pUb?Tk>^yR1D z_xV20=PAU*T`BBXFCvf}NJBLxx!khnN*V`%02;@}?R&rV27fL5;#AE8)SL#^nP5gA zd-*|CtdDpJ8QJ>we|q)xdS;&0fjd+=i%g9C=>7QzHr!qYjUI$%^w+hzt8K%hKEmtA`J*qRiOyPbbkv`BYs-tN+u!&=&Fog%0kXtO=E?P90gLE< zYi#y2a5}iL_byh}CuBs(_Ho_l%?CPXfcxQwbnRLyNhkZ9;(+!?5;1Xlj(o`y2 z=6z2VTuQAv@M&)P^AQ7KxUfXD<%KA2>O5U~C{ZIDjFVm}tWRynU|kjDIh?LvtcxBzh6TNwaY4Ro5)Ba{@^jUQRZFAw)Bi}P zD{B|Z0b;|XMV`aE-Vs!4Z%?F|sSZsw?8;`ixE6gLb))CsOZnlEy$+MmmBk>mjBLfR zQ}41m){MFK{f;jA@#HF9?tgFmINh;E$3sS$y@1$A^kul(+e5&tm1sbA+xm9&jjwVNkuQV& z3MXKrP6eE6zcl*SUk$Jp@mvn4)n=r;WCY9o*`6$~2V9*%VpkD4TTmz72fAyV?hitK z#&T?{GV6hwMIP?8L#RrOV%*3N6o(|~P&jm}o6!T6hunm^4Y!8ZK4y$F1ZcXk#!>cB z*sK%80Cjat@Zk0<&?q=*&CQ<#2cST;u!fkq*U(gt!8T3I;d;Y7Hfni_rf4uh%NSd7 zDY{ppRDq8#0+BVGjmD;Z^AiAhDmRHWgS+V_rLw3!v%YY2@x@x^Q~L7s^RZW|ND;HEV-&%MJ`Izq-ha@p%Q_8YxZE+BGyR9T{nk?ytKt}fq!`Po1a%;TeK|%0V7a&-f}72 z_EiQP>mh$!syxIKy!AMMV{%d$Qv&i5Iw7O|*=4b7HO$ciQNqAAT}{9HDXbr>eQbc3MKY z@+`~F%8Z_S($T6Nr=s=r_BTG)+fp3{OPwQ{_0{QCai33@VwSkvfNl!?aQn|8ttoS< zh0HtAnq*j^(l87tK12)LKC2%6lBf|I+jJe14~0;z04vAIqpy7NH5DVZ8C=B68=dbWeK{*-MjGc1#=O0ru3`~4VzDL>>>Iuu8x5~h? zV>$fsI%}~ImZndC`w4ML9B~2d znOTxDv7La)&&cSHzW8>H6EMbr!2;zFOla2I!;m?ZFc>M*m;JIIecy|}R!mP0iW%{w zkI1RYa~25vl%Uuvs=fcp3w?If=TVVRR9Z(vT!AHd4l%m#`ckg7u>vaTMYXf6M#cro zY1vFp40tqUcQbMBSZg|3?ck4SO(9IDUvGZk?IMoDOE|yO#6AX)PA#l2Eikr*2{{~z z0=qo@YY>}{D{(=Nofe~)W9Hj5%h58pg|eN!gBP>5l=IFMN8k3BipN)sF=os5*^KJ7Dme7*3eP!Ms2w5yj^hV@e%T?Q-*5Z?51}6@@yx zQb5>h$s~-`Wusa2v)_MHYFu9nsHLR1@T*uAt@aY&P1m=7{AG-}95)&~Tw|2G-rY^! zPLpuh;&6-LRjF?GOi1sh8(+G{Heej5+xh6LUi_QITs+EC2+FJbdn0gjm_w+&m~5H7 zVdNL|DErx-veML{^l`j*kD|SP)W3zm$)ZJGrSDXB4qj2(lu6)%9lL+FeH{nt8#$!I zSUV}_6QSMyEb{=pNIJeiftm40eFNoH8~{NoO#=o&clYB*KmGh$Yl=63cnkXJvO$XI zN-~=zf=8$G-sDhcwIc)3o(=l_$SfcHnMCLZ5q1D)o7g50vl_iJdaOf~t_ho|Y0XATx)et7gdvREWV1t~{yvPXO=JTC&nx}CrLIyzTH=GgXEa6a(H zapwK=C&77k)FthR)*Y4dOi@xe6*XwbRyN&c}P~d{m4|jx)BK zN&S3#^AF$I_AH}fB?(Decw%b|7SGjbErW%?bp(1%C0VE&=9PKpZ3ucm*m)}CWOAJF zyU;jk^}cW_CN~$6=?FJ}pse~Pxz4>pi)F^(X8i!>z!CD&>t(d7yybF7}sk5rNr-DGvIPN<_nav*M|Jzb4l+^fTZ8 zkgM2g5jzn*Ut3*LF36p%Dv|>%v1`t<*~Mozz?E&sG{$s_vV`eiYH$3#fC<(Gg2Sih zI>5oU=L6FmFXI60Q`P`^eMKIQVNy&5sS+lKSoUk@4~e2yJx>5MM(}ofJ~kJg-@!)N z1Z?8bp}AG!XcMG5p`RUn;Pwj<-q{m6H%P10*8VP*ciFXC3Sh@QaBI2^l!z6E`xxqY zN^DZBIHS>CyZye8cU6F1a=)V1v;D3r!pU{BtwRg<3m_mY|tmLhJ9&jGrkLjgK;as~q2HxL( z$Ol!5sLFMFoWjr9!4zgwdso*zYmGI*zO?VSy>!Ig+%I?gLxrr@PexjtT6%UF;&0rEQF|}oee;c-Jv>) zY`?n%y)m0JUwFr=GNxe~c(fVp1mjE(o;9ZwVzaO|@+{*dGiA6Egmu=6`3QD^Lt8$Wu<>8O$NzH*nxEH%1-_!`i8?7Kc+hL!=zn{$g9X>>v?#Xz zxxAJeBni>2bqY~?q6uQfy!W4KK0H;?2z9W_)qDziJ_7#8^Y=IbVE=aCgN#OQi1rLFh3MGOme2tuc0cmymcb^zt|*>^r(raSj! zl*)>XBT4RLwxQ+M~zbnpmm3w3vfGB45nw31>#2@`+KRcy)I>>>D)=Z2m z=lQB+Vrt7yIX_J)<@SGgO`KQAJSZ`f5LOFs=_N^1+&tNz=guS%&x04YMzZAf@I>)) zG0P6tv%m4irkboP1I9%ksj#wL!P5V0-f=lNuqTvw!tI3|&%|tezrn~(q0<4R&ryfL znCyqI8>OHAl5pIDMji#%l+;|eaT;Td>Tro|z?rpOBtf;i51I33o>$?z;DgY(&L~#Q z+4g+%C*K(NxH{hLdDYfw12`ZcWImkB@O6(mfJto)o+|mX0Z1+ya=7XoJz?9;Fd|O3EPTQqYG3XerzVcXdrz9;%A8b)`c zAN}Op&c0sR*1XMgkfUe8F2=!{uka;BESE)$bVDf44$Q81MT#?-WM>xGbO`T5 zPKjn#^(u|FP4!gE19G>K=_P@monkiR05O#@^)S}yY<3)d@g>JETzzBhXWSZWzX6Ep zeqV1%_xATNM}`dh;3iq6A7M5T^k%U|i}Kac_l|)y-I@8GrZkH09h;}Od|KQV>xc3# zsm*hiQCFr77hp$(YJ{T->y*t9K)40`NRJ!=R)RiBZ6$c|u0!syfU5uq@zZbDjx1nY zxW) zCOe#yX1}vMN!`cKG^K$F#o?INBg^F~(J9~?xi=qGtXaRA!lfZU?5y6mh6`>kyisp1 zG9`kb4-`ds`|t`D2_Uo9ZA|3Hsgl#ozkWhtT4VL+X;^ls;~5!g7L!eI;mY%wy6n?a z8%b;C(NDkbc-@4_+AF=WJeAI=yARgqbCSz^KNG4seNBWU!tn#rne|k?V&g}D?)7Hp zF5n`#PkLDU3OfIpzwnTpHAa+olbVgktA4yM$KdN?6yRi^PBX^YAAzf__*6#zcQS?B$ zQ~MrYK+3U74FShVF0?nr7DS^~|K)EoM*78JkEGY5(4b z-gV>>)`>iOJp~86j_V_HBK;MdD8xjWZrM)X?#E7yk{=qqe=1rj2HRR!j+1yTOi+-X zJurnoPTDz_urEc2UMy~Q(&vCg2O#(T(Z&n!mX-h52ckKJrjL}*6MAY@ws^-rp% zci){u$Z|TS%H7haFK~Se@d=ER)>%WAjDIuJ7P~H}tCf(|$y8ORbMWHgi<|%OZX9IE z(9JH|X%0I)Ne(abE}(U6#c=0o9^GKQ?;6Fk{NCvCWG5mFEw&7NF@OinIOEh2(E@@*9?zwl;#| zA-yuA)t&e-#4r1C%U(-tuBRwN5pzB3s1qHB()vjC1bh3(zR{2f)S;j%BfWUhY5?>X zUS6x+-EY3d*`ddsGQTYC9p6y`1_btHDPyZgU&$dvmSg#4MRvxy^UJzCj+9rP%rv=! zi-e<)^q!ho$b}@9+xfgr$#IHXnvF)Qz_gSH$-v3 zH$F>%%#w)qy-k~KiAK0U+{V00^@;g(Zeo%xw+YT;7kRZit>T5YRi`>}CAQL|N$v8Y zO3x?2Qxx{bY`q0MIP79rnOSV+$jzNn`BSqU#u>TfgnoZ?{V9!%zTp$kC9gZ5miMMW zS0>`a0pdQ(-ON6rt)^iK1?=!*4j;0#SfR5@&^NRDEY8{TE=HeD5?Tw+99FY+O>fOR z?eSJIa(AM$(ryj+TkF_0GT$0=7QZ;rTGWE#G97s@JrK3^!Hc_nJ$diT-r4H#kQc+* zBwvbhx`rtuz^AUUk|2CP(13&J4{pe?2t|2?=OY6RsmE(p)l~_u1 z+N%K%In%w#?U%jM!Q(A07yi*zW}UV!#BiVCJDfhzKtD;&3_$EMU0e_yB4D;ds;e~^ z0BaTorllEBHrMX=0Q3lP2|FdLVOkLjB+72B55BE!MKB8zE6ajf8ukutmo8lTU)|-!w{5Rj63RheobHf>6RtSW^ z`n`5Kd(3R~M_zoJbwYaKh+uZIPV-)@7YL>B#EQ!ns}00@o!i=sx7CgUwkKFB+p+Ii z=lwM!_W?SjtMK;opM0R5YHTX2+>ku_OZ586$>bH{gAf%^uK7*$wsGRCm41yJLMq8( z%&^fhG^&Pd>(I=AcXca`FlrYNL^#mI?kZI`5)Im%Jywe(<$0|(Jky=F+{fxWA$K(-nxb-sqX~-CYUV7V5}6Za!D|{yxRAaJ7vE3fILo8 z`RKB0eDh89HtT1ox)H-}lN_Ourp@;A#VTGlk&Ysx@e5D3CC2G#ZJGqSKSj0SFKGE} ziQBW#E!W2}3Pljs?C$^0C;qz24Y7gFD$%)Cq&+BO2n;T^Z0>sB`FI_M`w9&7nbBHK zf$GGeK#UG1`N)JQjFph$^zI)##!n@}h)fWzu5$;Jd43t}AU9%8{35{U&GNv1bR>R* zp>dl&a;9pqY81!Xi$J~w1k$Z?yVuVF+uC40_vr!R*s#tA4#uX+&g#uu&*yM}FSAO+ z&3MU8(w4xktfcZ=zCWn=czm5!_&w;~&M7wCc0sa}K%zbN40Mao1Viark|)^H&D*(G zQ_hB-UrZE0Aj7naXfqz4lfkR;gKr==`QIELHfhS0?!*Q1(xKn=MGRX8WgW>XGVhxJ zTiyqN;Zt&C!Px?IBlYV>uZ|v9r<@C=3mkDPC@Dd$G8ixe?WRIVt(Nn;?Y*zLq4In< zG_HgL1kqpC6_-Lw!Jb4IUR*@%=(8^=^NGGB-K%mbDS08bYsSL_=D&D|fl+SnZy`Cy zp$AgzjWxV{xw{NQzs|FTxcB}S1+q9EltXNf1rZwIMma0{;`TdV*B~BCfX9`M*r_Cu zGc0KtSZBVkKCsK7#TE!hO=wD9E~PZqMK?Uy>Sg|c(Qmx`+C}zBw95wX*xdf37am_~ zZNKQ0*oNLCPiuG4IJkr-@~HJGup#CuUVe7;o1b_RTjM-RD_BkE7g(Rrvx&AkEG(g< zAZmI(tkVIpW3e)>n>5q+~ApCX=| zOkxbmD@aTx&*HjR!;ZG+BO3s6d#^~n?zu7{B|m3LU(jrJ0TFsjxL!KtYHK^AM=%~t zPlj_ZQp0f{`T*Lf$f0p$X}dkycoad!)Cv%MJD;b(=lZpGKUcFeW+R!lBYUb)OxmkM z^yozm(*aS}hnpXMr8>>F~`q8Hr z&*w5g;dNoQBJg#_Ue+;kR$|&+u4o@xQRXY*vesLfx_3iv#jNR1-Cm`5Yb8Sa&6$(% zW0wx^zxjs`#*jt9X5GHyZhm<0C|7fspHJ0MT7g97HWOOvuJDcWM(T@iG3QBZQCG}t zW(NlxCNl+@I*EVo7?2%U8UTVNBAY||*y04Q|K$#;UY?kiqlcVxOG25Ip4S|WzIM|qEY-fIG zi872yW&E^xa@o7gg$xHN5|6lpN9>kGT&+slLD4s+#7|MlpWl7)35;5>(v z*TsfEZLQe_2Qe$~iuPis*at^%yhwAGw70nP#Yfj;m!(F1lm6+%8pRvz=r0g+kzsPdU8=WJlo7&cS-y$XUXyAsjAG z0Peg1$IFLDKf@>qwh~2iJvKv3K|D?%E#vy^D;^_0!R8Ke*xSpksbwSz$WpGrD0c>T zM~g?pG#P#9#dl)*inV^t;ER+|7tEDEU&oN8Tg-?hV;r{C)pgRn{IStz?%qTem+Z2o zCfnmgvZ-!kzK8bqReiO3)x&jyR$L_Iia{M!p^Sl6IFh<-28WDEFe z;sAL%U1I)J9zyWf9jg|*6w$uO$9-i+Frepf=wC;leC2i9?Tr15mr0J6%(HQM`Y)e@ z$7Lm!d%IsO>(w|Q{NtYSp%hW9RuESRPQ~gE%O5t$&{)HM;FB@FogjI;iVQY$neR{n z;UFF7Kt^7*aaT;pi0+xu%P&m8es=`AE)x|HR*`T23h~g!`&v{4a&y6`ex4K78diqa zg934Ehc1D)GWt93f3xLsrdQ~Bn$6pV$DAwU-rhMWIcJg@RF zT_Wlh5tbaK9P8^0h{;s58HmS-tPs!uc{)qq_BgC`yUonPBjY%G{69w9$dpJ zuh$k*D<{bQecdQR9-rrX!C$R*6K=|)&}ovwQ|xdtj!m;YS=VB_K)-JB-482=o(yWa z7?1Oo^SFK1SK-!3a#a;Vj!;2ZzW`cfX>@6|5l- zCqCdfFpI*V6czQ7G4b-aqFdppu(C}w<$hS=_$94<>@@fEt58F<_5Q^256h7Wf;&?JNt-m=Sz zw6MrQt`p6hlJ`>|j_qeFMaDPt(gT3^G(LNt73?bdKAe=Z(C?7IJF~j^mA9`a3Ee@W z9Stf^HLIPS4ceyE6GqZ zV^qBVK>{YTAwZX_=qrBzbvc>{mlf^I_1pm!uVDVw^PgTGoF(Yip*24TdnkNUr@Mmn z(?#S?XpueGzPl%}^?m+w*x6tpu7D?hf)X3DAG_K$CMy!S8Nn6`34%YQJ#RI<-fshM zQ{N}~0VBgM@)@m!s|kovPFLsdRGp+d@YeYaafLl6>@T>YmnD%!+_ZnQc2XS47Y4?fI z-+yJF@X8f67^O1HLdNWEz41Zz?KZsP5lWROwd8SJ=Vvlir3*gJhNnM20ij;Ra~iw~ zyv^&kZ-48P^>_!psvea9o;LiOI-IWUzJR4)7p}7hmY7d?=kIiON*wDdY=XQ5B%eprrY)pBRNX!kZxSKrj z>iLk`8`qV1pgjn!a~KSRfJRU^&?|FZ6S%0&Z~kR`#)Zw+^J;Us8n!MC6>KvAB_;6U zD9?WV@gAk+3Svl>V-6Sv-J5$P(Scbr(p@%dkZr^(FHn5uA-aH3sU0i2d zbYqtbA(FdbckHX!uJorn)ZdlGN!U!G9&kI_d_pX=ehz&HdS92VEK~3@U2nb~qnt&m zCDxqJY5ldQf9sug)l7?(CR~6px6D?uFPsn9kdsq6X}cvrRCq<}r_vqpKQG5pJ)Pz* zPfM#=n@q4H(l$fBVUp!^`QG<9Ez3qz9#?vSHR%Wp9|3P0XN&n8G&0i)CMm4SL$6Cb zyZKRZXH@!tb0vP^hl3XqV+{AE4<<82Rq>WwIgftx4V&jL`^lJx;D+NsgNc9hzoLO! znB}re!V(>BKJ&)f+)>L@XP5Qzq@m5y8Qs0qNyMz$$LqNY=vz`fcP&IZ^g{)xQ$e(+ zqn{+-H^2GSPB)6~h#?%)XBLk3P}`BOt&NdR%repN8|g7n9=a1&w2+=y@Jk-_>bVa< zHBO^pQa`c%LK>ca$2%E{@huEi3w^(iqZFD!{CIxJu7E#twrbtBDtg(iKQa1yFYWF9 z;GI>cV|!hk5YARXpgFTwg6z*59lPXC%MMO-dmU`=uIg~er+UC~LUkAC!{J#BA|lPgWxh2?m14rXpQiq_LJG@EYJ9>`pekNR|mO%#+VqimpU zpD9#aJ2vaDHoZr6h z{jbAIC71#9rj$|S8<+IyFQFKDUO|MmuEg_eqtCwlPT5x7K|@XRFjE-`y*6nVQq?6V z(%`rlysqctv9sEOp$VWau8rB2cp-oUuVL18Tr3bA^!Z@ zp02CRU5D zC_g+~S>6_9Y7L!rF;l}>0pZqo0lhohtu084;pU%B(E9)=7^^&-9T%T@`XkSIv|y8J z-t;BwR2j`Jg5kzZE5bY>FO;^xQEGj>`+ zoAhCIwen}qW3k$$ix~P}p|G{_Am*hALNz|K%JO@KY5reDJC^4lfXJR5A%qpI zTr-Rbp#GA;;D97j4`%E6qn|Zaf?OY9dQ&rL-I?6dUg5q(Jo@_Atbn6JX%UB;?3qV9 zh6HFSpP-Iehi2&AhrxIqv&=a&hPlGt{=moI9M|hvIyc2)eNDYZ2-n28UG`ad^Dla6 ze<+RPdN&`o#HOpLfUL)xvDEix!q`HWLH?M&YNQL_QkGCWoag;4IZv`uz%`I$XM)QW zm&@q<;uF=lUaxo|0-(7MP60&q7kfwF3t7b{linvcn0&b%86W+tK$l|<${N6jC9y6Q zJH7AN%!|rT2Qrw)TWVZFU(sfM9g7Rk^GCn)lE#_Xp+$xE==G?{D+1s~Q~A*kOvrF& zl|4i$&{|tepVIFxQ)CTo!3JTmsj4Rtre!OFTp))?g*D`sI!32>n_Riqo_+t9NC7DT zA1E2SgMWmQk~kR~2{11JlmM1kC@{wZ@N{nO{W+(KT*`)bl*47j%}L|t=l22v7q^91 z!O60W&&(9aNe0)T>|*xl+iM%d6b=^~EZ%A!HR>^`s^dn3o=I0_3!5Y9Po! zy{3kO?WhF*HGN_7;)0ahc>2^55f1L1T>{YoqRq|aI$Cj0|IM3lu;c=IoJ#(B)0+xK z>d+#UXvf=M|136JPtpkTiE-nu{HOntJFs|)t)yv017%axCB9>R?~S05T6 zia28%Iat)mnVls8ARkLrW7I>b4M=XSI(@B=k2vDJ@_;_$#))H%EM%V1Qy#9Ed*qTb zK#|rPpA8C8oOv+3Hrefp}hAlLg;Q@tVBKv&Z| zLF~@m@F?;&UPc-HP4d)SfVD=okl^}D>`rY&Z z819AFDa#dA*z3#PzkP!nAOX?1wCl{3joqG*(d=V=$`0l1aypZc0Rum`e!T!*BtQ3) zAcL|q^3lt`G~X#Z=yRDWz|`Kt1P-8Xy=#U0Ri*2=t`>Ds<*w){u}}f(EyCgd#uK*X z72Se;5L1hhIHrnl@68Lity!RMmdGU>eEd_RUwo;?=iLS@@rIhVHKZ{TK%--WDM#ok z^O)Pe^?4M~3VKE>{076YyFcLgbMIL>>h?X_@4EW}=h2tHR3|Eq@Ytd+&x(-{ZD)eB z(V43>IPfwSbgBn4$#0LBy>()lmmcH5;-80tDe7K|pJw4!m1MHPX=m*R%9X^yKX&&W zxq&geLTG@|+Yc?sQzuVRCaiZb4smqzr6-Jzs1AHX1TyY28cl#w)+8Mualu|{jLTOj%>TpY(T66L z=F^>u4&^}^k7X};Xv3g3A%SNW=9fGU)k(|p@pgPTG|QsySBY^$VT62)1b7HSkxMm;nox~-^r~0Lww+bh%^&3F>$2+) z4z--YlpE>|Skhs)ac1IjiiD@v_sL=HE0fMdsfmvtmdvZ#+}A}|uUzRJVBj^4g`c)E zZol!>=MHuXb8|dqK^Q2ZN;jX-bLh31Z4{zFzugNUAW^4}*fu=}Yil z=8sp#ga}R5q<==1qffsOJE(9bj*Gs9X1i&xw;ZC&$z0vL?&;Z|z^)is9rMhG8p#Ru z=r6uCxiDchFwpZ&K?*xqCReXh?nTt5&6%<=hLvnozl{60Dn_hYq_h1Ib! z-@{&m@+Boorp&;|-hb^RhC6On646`pbY7qx6N>&so8A5Do3NhV7@-G-xH6^&zadVZ zdYV9<qd?V@Y1LWcET?Bt*3Huq z0q^W~y%keqc2?%VN;-?_?bFXaQ3e`fa2QglB9G<=WjN#562$5-v;!t>cHl@l8F&BB z8{o3hR9X~|^Iq56o=R@N=~bnxlw~gNubzTio72f_%hTrOm)}%3=O|%OC^=4=1&D#3 zwq#oY;YVNp(%)1ps0ntRMu%C+Jg+xnXNsPP$xdH!d;=xcntJa$k7@OgG67H?=O}yg ztIs7q$}SbNZ;)^^y+BG0y>NSt-pd|&9yGz zyVBMEN`Zrgk3Wg|EUakzz7u*j68?m~yl!@yVEMVNWaew8XWbLbpo*H9ljoDyG_^pe3&sOq;8!*pwEs$Hur^M{@Dd@HK=U`+^!Clqy%F+-cy=8|HK4X8 zkgw+gh%gRV<^Rn-;WqZ?Ihp!oHZfEWd9r@z~a`TVk@qtNQh9aNV+L^@=B zy2gQMEV;<TCFgAwcA9!*%?T$-I5_FD8jtnubdpYI z=i%;~A9K);G|Lu7KLf|=wFkf?f?)$$N+)5ynk_FAfqeS>jiUgFWqXrg_^J-Fc20TU z`%hUV-!8glwkEc^D~gVL;4;|Ip!JyTd2o&3$9tcxId;ogDQ?@ z*&255uJS}}^5bgZ-+t)Z-XSzfh4w}>f&`F!CX`dnuKzI>ZJtK;Re?1gQGw5 z5qhKa8XOeoa4`Tf<#Ll_HW6Za$Iiv|Ou9TvW2ByAdpu_OV_TuD9#Cv(wt#V-6X>I_ z`N^_6O~az_v*~10D90H?*{8gm-)r09d6rN#knoa#UqD6X7`ZeH3NLFVPle@niL;k$p%n#V* zGF#DzhPM~XUBEsmI@F_&i!b;AKl=HXUQYl4g<*oWgQ_yp0wVH1dSN0!U^Hf&qdzV) zI`+Po*+L}N?XPG4c%7eJ2q3Xp%Z-ju5@4koLP#0^?SRgb;YU1ujANoKYRWKWY z1e#wwFJE=WxD&{8pJxSW(-+Tr9L!>rm9`k91LyEuz{|#979hHhbA2mq8W9*hcTgg8 zf=a-R!OK%kSz?g6*zRsV@>e;)ghP@o6sQ#tg%@r%ukY6atT9fI)YC+(*+9AkYwpc^ z!BF2ck5|y!W#U;bj;Dov=u;FNKthMNW~1AKVB5a6VCv^@R6RZ`FHpiW4Y4JhmczM) z6@hqvRy*txGSWq**qff1ovug5ZPyK}&7g%b&s3{z5o^vp<+)0s$N4PHuAN#-*m<1? z%TJQ`g35=U+2= z;~U~qsI6oR#iGzF5(Cz%@aMFM(7AKi-TsFc-m0w3g_=Wt$KEfP$fXBePIU+i?q@&s zfY8S6iaXJ!^5}<*%T9F=$us2IzKkzSA}%B+LhjoGD`B%; zw~@WWvFl;`-XDV{WN?B10wmwDJo@pMI}c{(>Vgq_$lGlJo?w;$bAZ{BKe`cedhcuB z#LaZp#KLt-&@Mn8p)+SbObzf56VF4#x2!D^PNq@D0Y^}*!)9fsw%rX`pCN-)TlYDB z%etNy#!&ffVyqzB6R(_#jZ%3R?Rr!x^-jGP3!F7}sjk>`vm3W-hXV$}unn$Yh{T_M z>5VqW;2~)nVS>sNZ;~OSS6_K&Ad$WziiKY+fwvlnRg&$m=RM~|V!Q=sJ zzi?wW&-5Ss=T`F4B>Ue}P7|e#_cEo?R z(i-iIyUtvL+>;@$7}^Fcm_LrfcZuqUBel_}`1Y@9^f?yr&Oh2K0GwSF{q}p_kC37? zW|}4#+#g zps6u&{eJG#cba0t4UdJMo9v_@8*kQ;xa~0SzShK{bCPWnR&lrgo$SU@U|wqL*yyl(=Vs*5p*pxZ2+`|Z_L#D$G_xJf$Prw#TF==$hkZ8q8Cs^unK$& zPiN58bGh&SKGU7Hl!jAieCFBTea<^%EN`pn(sKZ!2(^soNjDoeB-QfW8d~r~HMDp4 z*X7C7bLUj*GExtZ4?iRq;0CEHET2H#K$$TLhAeXdxMzdkm|=FvOy))x&1( z=I3cdu1#MVLp+6W57Ff2=fBj#mlvZ3MDD;_jw=0in(#;)ueX}su;6=Diu;u?0^Ubd z+KbyGQKL4J3A4#GAN|``p8ptfhDF(gucIE{t(tT-ltzbuY0;&Y`aZ2~zi;dN@|H_X z)WV${8$|(U_)+ocoqunW3zt;Xg*z11ZtMce#}4~rd_D~ARGm7M zr0gpbUEW*GvVBV8TL*5>8}ReA=75*kUh8`K-esUUA$C!83}RR!aNL&Fd!M7jwX!Lu z`}zu}u1$Y(^t(vB@kj%W#8bWv3th(NIgO{Nb#2e|_&w=$*o#6J8YSRkV0%!^jMFa>8DQZv5h0UlkCCxvcE z3vAHlXTJUMP#wV`-D_~TZ_hgizkv7kbS*ZV6&ovRx8+o1^gFL8W33B=nkKirvFZ?( zU%{+)`l8)*YFPW5o~GWy&Ldv#2J@q0DZA<)!HlTBYp z+AQ2}SHaWYf2@t0Qtq2rn}`KW09(~n;K{m%*O$)--CSDS6(p~yoP)D`M@AiVl`Yt2 zsa^TecaEOVOBiaBeRygovfFo_IZN@l-qMO1Gn|dC6ENvbU$;Hh#7)yYw3A^($ zD8e%FuKl9+)CoWMyDzFuC8SsSh%_1tz;A6=j*foLf`E+k?1ZwIFaTTkV7; zQ*}_0w)sQ)>?@z({F?3%po&VFbmc_%e3@fmn^>T2Pi%YCO*%WF9{mFBWMXW7Ii+Y4 zwm1LrvF;M7i=(!X3A$J|4wMp>TtCN_iB2uAS~1yfZXP~K8t4+Y=jFA)k(MfU*2n?p zbqTpZv_lkhyJ{RWVLlS0K8$S@m4@dh+8l5O-nHW??q#d-7Y)AZOY-9k2-q+KiF*Z9 zllp8topU4(m6SCU82{*sB37sewf;c9;9W~kqLEg+LtFQkNIk1+;gl}zvBz!@O>|@D zRx>iPnw{GoPN^9lcTEUw4`V~U_|~Uzz8X(baW*-Ym9DU?K0;s-+oQ$Cha)S{toFGk z$;W4(LvU+_cMh|jzFg&wCR@jFkkSS+y8P;i0hLe zOs3B2#Vf-aI}3QL#yy zAV^luFjJ!Mmep| zcKl9rIu_#RpBS_sea}0sWBIy@$T5WAPT8z-saY9TG<-m!6+C zntLnEf$PqeKtqE9jM4Bm&H)-t{Zfn;s1D9* zp7{+(4b~*e2*JpXIn|eM5@xv zm#Kj5@;p4rX8Q@_9XkhCXj{MS-X*pQIbro=KEk`{NmID#j^P!3QSYMj$rQBV|2Des z;}J2FawD0gQZVJ_x8Fj5vdIXmMH-?JTn}%)xAddJm(BpE)gi+%U1;+Y00EM7=x>f5 z^_+c@n<6fWF}!V{V!qqNH8*aGNA${L1&OHi$-Ge*M z!eBMBV$s&2(+ruAtt6U!!bDtr`0SMu93qlkVh-K1?9aimj z$Km&V(SxFwTC=JqG+nt1A9h;qKYeO5)n>K#MVK<3jIF-e_$qaP?R?9z!9KfQ$P|k1 zhX0&{!anG<$LCP4&$Y8uCwOCZRH28<*)&a;TOHh_3YodYM+d+0+Czq8jjei(SER?_ zR9B(J4y{0(l)m`22fl*B{}*@#-Sc*(xcPb5eK7|@r0T3?_R^mBV=oaf<STwOhM zsb+Q={J$^PM}p;f9WGYq20!NEG*d1c$n#b}T-mYK?e9KOR6(8xdnMV4tT)b}zn5UJ zNCQAKpbV^@S*lj^F#spWRd@t)i{r3Ko1XVxM)ilncJd2mo|#|Copd$3= zbv_md26+3+{!0h%zy5?>#5(|UA#h~u7AbMPxMxE;AFd{lHy|oOhg>gI!-p>e`(?zp z9)@2)S|#R`5r%Q0>Fw555N!elV3u?1vi`_|;hQGeKKV7V* z)qHx+sio=cz5M21y$$~X*IXWE`9^#3jc;$Wwd%|#>;#rp(a_I32ipe$tG2+??@=4U#`4hvne+y@xE#)KJqic(wJ%wiW8AHF9kxv}YCW;{ zt=&Q;d+aB>fCsu$R$L9p}eoL;!`Fq(vPJm^kOIIkD(Z6zRzNqmSo$R1mfs zxn`|_)YTvFV;z}aSWE&Y%TW3hy%{?rfw`nxII>cCb<^EvF6(_oA*Zszx?OkQ?nr1KxaM07dk!=_hkLUKRlm*?fP{+IZlMklKm~)QX(`wAEQz0pl!8;#r zZM7alqrw_N`k(`7N)1KI?fxXg@JDmp8S|r05(ODI@doVLE4n@r&`2&vvZb^>2Y40! zSOJ3R^2VdTMugTbSZ7Gc(HD9jz4*b0QcSsXum#%9R?OjsI>XFuaUsfb@Y651+7veC z>uJK0^a71GhBckfC~LZcbM**@CCtCe&+4eL?X;e*@VHsw;c{Pr@{`J!M^>Nz)Dx2; z7f^b_fP1mJ9%=Zq;mIEd>@*}IEG9;H(G=HLrxF|5`U zdoI?r3peO0YRHHfy!R4K7zk89V=E@+{e~I2U;H+w)O0Xm8!r~0z4oB<5^d*9B2xj@ z{d#mFZoljvok%(Z1cvke=HG}@>PT|+dCPQ%tCJ-2w5bM{*B|e}L|w!X5+i2UBgD1Z zGz?NL0yC9yI&`wv$1ewOatXg8-@q&Z=|Nx?heS|%V^igI(`NOy<}T)mUE zqy}Fs44mC{;$=|*N4Hr@IP)d%n`=pPih4yy`f?`-l6q=pNxy;(?z-#eT3*_!((S6d zJ-gB$C*6sGvMM4|lfzsV(6dtCtxq|VJdaWM&H~aAu2r_SeDqi2Xdj4f8LeS@0D~Qo z2sdzg!bG_7(1VAs7~>5foeGJER35Ed&U+cII6-^+&-?>ug2@xWgp>kAigi^|ol$Eu zf?{rHyRb-Q?!lQ&Je89j^ev;T@7oVQ3*I4#3+^wL%S4Wd(m>cqa>gYdyyCux*iryq zw`}U%{sWOhr#J-PwyQipN!4|N;@3ytkH#^~HrD}8&*W8klN&P^VVk3QaJh3SV}`Z> zN|!OZ`JRV$Enij$h@1o^ADR7>lDYV}SdPS@qTH{}i+1j?qiY(7IkJm}uc{9dydthH z+)fvPZ)fIasswyg)aQ)({?!gAa^w`w>q2Zj$hersm}S1{0Y`RM-MN})AOhM|V-e4g zGHs7C^m)U{M27<@v)+WNcMX;01Zq0w{2ShLn|vV&Sl>d)CpVoS;Bp&Y2o=P zp>jh#ti%->s)0HDKukbI9-8xLlan8Zy?TjOh!@E`!nW9Fl?`7 z-3;F09~yka(1`XEb7y!NFwAlXW@J1vI?=@~M6y6^oTV_p^bV#9Ov;m^XaoIaxQD@^ z=L|+QYKyPdldT;xe>Not?;@GACgHKPSv*mK8lIzQv};1^$h|8I6m1xC1_PE6~v zFzbbOI77h#5~@+Yo`~!UZ7xgiRAP6a)1$|a1Yn)kpnRTpCT?yzbEY}=Y9!3dyKlx) zJcILj>^Mr_m~l~J_4$s!8`pQCK9i#$)U53YS(P)A zBJR9^%pFAUI$Im#^=Umv)?;CnZ-Fjw{rDjJ5Htc%=t`xFYVZj$oaTcJvDXcw*z-i3REU%vMk zaHKW-zd2>S!Oyyk1W~`IPyKdkpF6Ht`UT{W-*{am+oK9o+an+~6183MkN!v7PXdrNK`S?0R*~w9DF+xZ znI3)!d;e=gP}@zr5rBi8UD#gDYr$D^2-BGUbjhd{vzi>7yWyY%IXcAIkV#n(d)QDY zQ`v9HLR`RedRAfTX!nQwDzOGDH4PLQaRfAQk-qu*ccNJ-xCBmzo_PVuA{td}?ap{% z@ISqddJ`W-oPdNu))^aq`z?Ao11-t+#5|p!mdsPXTX^vaW-F(IvAR-wu^2DtqrAr0 z+re)Q-(7nQ4WC1`I@S`sA?5bEI9DuXV$6XWoutF_U;b>n>#FHqBU_dPp9NctVF1J* zoGT?+PxkIkCKvVYA8YUs6%J-CB^mj0kO$ zo7>J^o;du`kGy*f>$9~xNoTf68LOSaL~y2Gx4xrO-q@Im%umzDUclpVlmbO@881%5 z4~DIZ^CZwaJb-#tI{3yUq}!PLNwqd4tDL;`{7;G`CgmKy<%BE(D2JmWd6S?ku85qT zf$r@3%=I&|xJ--j;7dO6WXur+K5J*Eu9=Ls`bm@b{TiQ{s?s1Pnm6G&P?W*oWvC&_ zYN923huO}0kOlS@S3omzwQIQ(G5kv(ty5&hQr5%;eypB{3Y#sAG3Hs5lx+4J!zD$3 zWCN&erEjVAD4J?1UVL=$iywMu0jl@}6F?nYv<&Jdh7edMs7f2|KYaU8T~6!0I)#(Z z%{SHb6vm_Q3sB`|s%!y8XZcGA9t)7mquSZcFFsili;M;}Fs-$xF=LqM>43%C8Uh}f z=-U^~mzTM9(|&l;I~xia4V;&0Mdo}fz&Gj9$2{N-eDgb@b4me(>qUTdPPf+aQUhe3 zJ0v&%{o5H2FLO9qpH%1e2j2glL$w5Ei?=N=CEGds=uUB%?z(WxnkoM*w^lN21; zuB=wvfsxw&c+%&5IYT#j)X3`Lc$c%eT8j!e5`9ZdEAs9_u{*0>zRq)l2X3#pjPLf{ z5wX7X4iyE0i&moWN%%)pQs5T>pu(c%)l8N0NV+Ovl?3~i)ybl?L|nGj8-pKvgYfh= zGgSKmPP)2rZa;VM^`-$~^sAa+2(Z%4K}!SYh_)|2{a|a+ zcncim%gCUBe-CSIkCK0&F$CR zgBt>(9Y=j-{KRi^n|0c6f(dbvRgmpj723K#^RQW%0#~mSv?Xf@- zN4L|Jlr7IDy8>J7c`xEXjnF1>v$^@62l-Jy^9Y#(2G$eHP08N?iy7{`Y4SxT%_W`L*TNBcq znqotmX%dBj!RRLF=xKnjqocd>ArQLu`&N-h4RusDSeM(-6FF``dXZ{LkNN?|E(pJGx4I71>BiL%H(>I^xFhFS? zPP`DY3RJ%QF+mPL{S9gX&=xZ7GLk<)2BBRBmR&Wz)i4*u)6Je{i$4gj9w<>Gak z87;J~)HNHX8CfSvkZ_-^xn)6o*!@c55^(EMnCXC~af2&At4(&phr{1`Fv?atS z93`nq8Fi}V4#{U11A-i+3=WagL99HvyZvhV2(3pZgY;)Rj`yx}`_(018}*g7R|hJR zj8FiyjB%8^enLcB#~5~BNe4{I-DRRBaL6o1@w1o}VYo+6@DBu}*LQ zZM^dU$r1@L&d(Kn53+CIMZ(b+zjJ_mKJ7#Yn$}Y%ps6PGvqwL4|F}tby`v^J?gMQ7 zz&@Kk$$6w{FcFwq^+|T!kOK6d4O9EMmuZB=iNKA_`N5}Of9hP=u}p6)fgEYh%3AOV zW!KbRZ^XS3EYF!oi)B*(G5A+YZk{Yv5}^G_+|JOgH{x+-j(`^rc#EXyFl##V} zy#JeaRghM-qB{(+nuDKfCl^{J!+-o0qn?kj**Z&RXJZ`j;?gio2SlDQ+LEUS6Skks z?Z=-Us(y63Oj(spw|q8VwW~;>c}dq4Yy&6U;$T^n9=2xfBE-cw_plvCp4n_t_FbaSVVF5r5 zN)*o#1L5Q#RA~_=^31)qOz=aQah>UHZ<^-d2Oc&RCgYW+MK5S{z||2**Pvbf(DAbWFH*t@{COmn$H#d=V`{4PM*&b|S1<#pGY_37*s>vr0c;X<4#XsK1t?>%%? zezwK>nTF1s19mO5 z219b|qk*rANQPv!KgW!Z3?6;KJDgoXAZ@bo7IS&Q!g?#>b@(uy$n%E$A0#;?|+RELh05A|5wY6uRPYTX_Q^DG@36HtAO>slHOgDd>=gry(-Y%CZw zxXYwMwh4Kyg*iBIfTqeD!eyl^YgC0dH7H&kR5E? zLJ&pHMSKKV76RDc082W(c2U4HXfC9SD8kZO;imv4p-PSy!B7s5P3Ml zsAr{NwuKnm^t#C0;ivwGcT)GdC4jk`UI=E12wl2x9cPS;hTO~V@x-Wid99E%y-vWm}e^yw2^|FONTbx zsMo_1_*^7W5*zN5ga7r*pYS%+^V|{BNxUR7lWUp+O2wN+^o7_Q@A~DJBz$uay(I3^ z`Q!+#mR?#P#+vUR0s8;>PiMP6=cN({$Tg8W^u-g0g`%E^s|q@ z=t`XL9C<{iBdmj3<7n-f{rR*aoEG6H>CM%ja7dxqmqR+XVZwq^te~-QZ34Q>P~#rJ z2^b)JOe(^&0dpZCDFq${L_H3qK<+7*!pY)5;!^ z2akU0z8Bl&)`~{0oS#(D5(c09N`0ue@m5$ZgN=7QTu+y4moX4ZS*!k1JuL>Wz5GNc z*Tu?}ch~h~WTEt)TG5hVNr{~Xo9?V+yMRL&N> zgs;&BWGqu8I2GQbPx;V!M12@WU$B_lO4)4L!G+l#Ep~_7PuqCI) zTqfg!p|Nsexz+hR?u;o)Gt%vk#92XI=rlFSK4Z-_>!WDgBB@;H(RlE~uM_EsWTkD` z6U`E1fQJ4716aCi$Zcl{KXGHU`bOnL)bo0V8Aty9V4NCEukCrkp#YJjtA7JiE2%Q0_-`ZeiA#UIE0zRdNne9I^9j@b_q}&E;c*CIIPxFp>Z0k3R)c_~g1B z6QYM%!QncZEI6sLtrB+@m>(?@m53+t^@A_|ccyGAc-QI=|4_lVU} zn$0#q;~1^dsa4GoW;z_b0<_Fs+)pPWfnUeKHdxwzJ?ct&8@n;97zg)ZK9{B#?KK*` zSgi0wumZkJ>%G$IDF%P&J-*d-+eny$a{CpdhC!~gk;=0Qs(jvmdD19i5czxJs3m+0 z%Q|(g9Q-+KJR4~I`mmA!DK&ocUZ09*&*|-)RD6Jw9oe8i*xc>UJTZMk zH86%MNMSRj+Adv#tas#4$L)C`9c2#;AH?aczj_(vfE-X4@s>tUyW!v99)J#H18C<` z(xV8Hp)f9gZ0KQS8IZ@<$8@Z%we6-quj}*hd)|DnGQe)#T$Qc9$Wu}AU|$P$?BkhI zq6&0xf$h#pQ7@>7X)iu18eCjBsYR8NpmD3V7UnlUL60&)j8A?t6GRh!2e+@aLeO3s zcN2wdI^9Jj-FfuDIA4)O#Q5C` z-AhQg^|7-WPR0ZCrO$MHCpd6`s4BTv;Wvmj0O`@!)5Ur@h05N#*4J?H5UW?8|L#3I z#bBz^U@%Vp$;SmSIeTWEX&p%EyEZDIb7iiD#0JpsEYNw#gu(-M)mIC7%U^r@l+5Bd z+x16;xaptrKpL6QeF}rvSlFItm!;t!{0LnE69H@w{PL0lR^>7jko7hu+s!VT2Xj#ast(5B|^4GU^}Q9JyOA*U18m^&N{G#-1h@9-iw;NE(V@}(tl z5@GBNQSUsfuO}KvV>U;_`6x4V0CoK669Tg~A%K|atIaM-Me37^0fCp#bw@ecRO`t_ zK78@uYhHej)CfX4#A)Ply{t-8m#6oqZK#8)PEp2$-`&W+Ef$1fDehVx| zD|o5oOVebEM{nE%xdY?PN>rDg&xrnd_LgnCL%J0r9A60cK`ACoj5^^WX5d%qYGl?KXil+-7nr8cE-z#mqvgY$BFajmgj!+pjMbt<@;QiPX~H*t;(?i8 zmk_sz4vezXGP4YxJsD+teiF@O+;gbp<}WomUX{cPWA7b%=)%+UX)GCC7+u~&i? z509PZ(O0@SBDi3JNE#Y8e*+LkV}U+^Q?>M#XfWQc+Mc|YEB!plH8NZ+hcBi+BX{uB z#RDpDSGskYG|2MGEz?Bgp2IaK0qQ2nT=}e)0CdHBJ+hZ`GEJlldh@I5Vu^PXueeSW z;E!s&ebw2-yZIrGEi-0*xdahd4tal*gQmhkQ)SE8GfP#cCd+AuXopw6o5xh}zwU&q14?aEnaQcqN zxUgs>hr#h_Y4I#|pwc4*LZp==f&W+a6i?thk+Xvq5*Hpi6)>nAqtU)ls9o_xb z1+ZM$z@vB`UflouWE}CXBn5H3_SI#v3r)pmQP|*|`^~PIPZbB=-ya+N`WtaeL-wPV zPf%@u98n>-=H9cN&Y({77hn5!%@iOY2?b9%KKm1&5tvQpO;Z44RDfbG`W~RU#C%RE z<55jF(^Ie=!)d8*KRH;u_C$lyv5IJAkCi!bFtOU-U#csZQe$X})-eG6&#NzZ_G_zi zQXEG66T9=pNn$9QV|Iw$pY>xxl24M|TmbuV274#j>6VKcXLU0C{4b%)F-p3J(|oz$ z8yI;F|L;Hc;0h)=Wfx){${$#JUSN#MxtA$Wp?IKbHDuO#hq2&(>wN;id`^-9qqa<> zc7feepFJZ^6Jw!2ZhXJr27%Zp>$9>z$^GtNGe~=0`N-XXbEP*ZuGS8(oaW^ARNoH% z;EURDq~}Dyn2p}# z4S(>5-)9qc+~Yf8Wp_#2=a_3lT79y;+Lu(5nZ4SRcZK+*B*xlQr02pJ+d&r0CbaX8 z&KQt)>Rtr);8%>c2SWrP=r%+x3!Zx5gQHSSU;L4l;F91Pt)bVeEjJg$2&UZ}pIv7Y zse>xv^7)^53}t?PvM}9tjb0Gqi zN=~Xl`2g$xY;!Zqr_kP_<`Iz7`>>!>Ct8K3ZRy^TQA_40?`un}I)&RR-*yZ1441gu zca@7Lmq&w|(*&$z*j7h<`Y>5GP!5LiBkc|T%&SjTRs>j=OQCVnge=J{U+^r$hBEP1L=P4(u7?-Na}U^8Jif)mH6X~wsI=c!odoo6(? z3>Gt#7%3`Hw9HllG?h2eH&?G+Z!dC$4*$*iJ`-MMOi3w+CRiV*nsfUV`3Zqpc!PNP zH5=#g3AUrG-AM^xT^)`2%a5-nOZFDd7w|mgW=MhIN;7NfZdnS@Q9P>vF}nGY(Pj=4 zFOs^hmWN{aN51TRR%c-y?rNqf!+m~C1awvECMM6#^CrnXYUfWU!Ce%KXf2n#0-^Bg zp@p=}*u_bo^%4r!-cJsG{!5Pp*%lBb$Yk=WMTNRL%y_^rjKaGs| z*p>-xY0EV|e)j3%KZVv3m3B8(y_}XvwcSJ)b=hKsbKK07gL?Z7 z=;*vx&#ppAY?`~b{~}*B7T$p9$|%j8Kx8k1>Pjt7V6M9yyZ_(Y34{JgSQSb5w%a?pA*<4~u$kd~#B8@F^e-KQR9}0i{r{%Vzu|7%r zXoU043~MdjR{e{FV?{?XlfsYgcH=;xhi{iz7NZSuc=m1JX{eclBW?`(To#OrL@|VD zVf2j9`*la6?w@+^L5!7mKof8Z+i22lD9yiBHrc@&RhakK}!!&r_d9U!Sk1!Ax6CiGz@@u5hg^U4Wk zUCLa07?)d^Q?atI^Hd8G~Ce}e`p|85GdjDx&PlBxgbU!&osC~ET1>Cle4 z9sKVvzw1sVY46Ki(dzxNxFCcgw>+thV~{^zCB1+4Ds7pC3M52st&({pWW#V!+p>F= z1d>$7GZLj^bb_UOE*Hqte6el9;Sc>4qpW7_5jc{YiyG<-UblG&XQbiZ6y64Uf8uQ} zXd08>`w^(_-kE@ug$KFfK-dP|iIh|(>;MQ958i)G6y(vq#Vnw)g4tvuuGF18SiJep z1#+a8w=Q>kv~bL5Qj;u4Kn;0lzWTA*7A&HOu^9Zp8~2;(6j*O!o|xR!o;0VySHAv~ zJzw3+3Ha|QIES};E1{VBumiZGohqYk#u^rFp~naUEU*QJN8`wD?e6AVMGRTT2=2q~ z5ZO+A2mbZ_?VtTznjJ8I@ncJJ;#`7K8h(BF1V;Au`ZC_roCV}xXSCmo665#A0eaJH zHD*25o4)x>6Zv{=9p=k^y931pnrI?%y?OD_$b(23xe0*8K=MK$@iF(zBVV3xzXNmx z<6R>5MO+r#d3+r{_ns`ZIGd}5a@=19=`_i>%TdCOM{pRQ1^hbsiSK^@Yn=U9s4_;O8Cj$|nAtI>xWdQl^RgE` zCWn+phu?h(^?B1YRX4&R<0Eu(Ho>D6Abp1KzMWqV^Q{$}0k!}}PLYBn2t##tDB|Lz zzWv$vSEuECb@r*co$zp1&Gw`RMm`iTGuNE;JDHnrV;lIFcN=;*4->&cG-mXLyC~

p9S{b#@wGsxywGab6YR)y%+y_Ou!Sh4&yV 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

8R;&?>TX#z6V%kC_M>POo8rC8oFA~(FQhsTZH|_ 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 z zpndQk>UiB{L~oj*!iE`p$gs!zs`H;}J-bRn&s-s&O;N(d83fpo!Qv^a^9Q9jBA0%_ z|COff*Ify$7rHV3jfY*e^sNFZ9awC-!BC%2uh4r99NCL2tG^D7A&--4o+2a744=6N%yE>rM7Fti*^qmFu6s@yO{e}UhdL7g>rCYJknaHCb2Z;IG?$URgP zRrFvY_aYyw6@Jiy^#V2V_|-7zc6pjef7@00L#gGHW%4{_qrTHmuh~fN)%>sXkH*^5 z-vMSWH5xX{U$9WHtR$fjydPB;E39UzGBJkO-HAOq7aVC_-Aa1LP`yq+18?XCvZ&zP zq-GtyX(DtnOxI`A%Z+7%_W;w!Ym)g8_gvW;3Wi4^31&_zj#M7Q+LEP1mG95NGRl^8 zq16JV)Z=RX1z;xiQ$QabUmtntwW+PfUFsA)Mc{Y6v|}KQ-l>_7lm`Y}Uev<;l)Te0 znYx*_!MQ_vPe<2wl3$`yDOtb8ESCOE?p0a}S-pux=*z|*(2<~P65YF-w-0p++e#fL z>yTn)0@_KpK}uy-zJ&!g;7xncOR&^*(=KiL_E_?cm=%9B9K0Mr zU1N8sg3%uGTZidq$4#Tb0jY0`oGDdVqGXs1}`5~m$5?l=Jzmf6gZ!A=V zh^H9N75!^;xI@5b0P-V%gi<>Gd;kbwsgyMT@HOi zQ~YPxgaBC5u6{_-&kesBo|~*KD?flCk?-5UzZcUh=aUelOQ@o}UlTFzo@S%{t@#|% zT8=X{7rb2u;2_2QRxyRNl~1E4Q%p%bk?!0JuNsg-D#{7WS?t}qQ0_VqXy>n{Zv?W3 zalbW%w@1JzktIE~D#TMxzOf#s(@3<=I*FYaK}|#enI^xApw}=M58NrK#jHuj zsh_Z?D+wGr+V!3Fhx5pS#Zj;V2i99k#Hk-DR+C5JClhfT z#+iwg#W}f$-HY`hVh^6F2VFXY7ctVUo`K`+sYot|aw;K)giB^-&GDIrGb?w1y=rt8 zY^*cEuWVJ6(z0L$YOxJ-pH3IL5p)vcEMqP+L^G9jSZg*VNq5_|v!X8@r2}2Mafg*z zl453#vpe8Fm`FE8fi5`Ln(S>o0Y*|R5iLL*(@-tlmICGosAGY}8hcOA1f~EP3+9gD z5}51$3;dD@us??Xvp=yBJ!=^iksByDL=CrG1mILF_OE2tNN@(Dh0OAv;HxNcDoN?N zhdiT_uj90OKJ?i&n!sb|5`HbcA$~`1DP6Q?ManCUwVOLb4;Kf zq%X$x*YyslAJOq-!}Q!e+!u8T(m1W`f^`wB5pKW$_!O68k>LBB3m@ShOF!LS-lOK(E$2Lia_O}y1%`=@o$IM(hwr!Dk@m> z*m!{J%zfjy4pymH=(f%vhM=|Ra%T^|DZ4h;R6tRA@Vm(7w!E~?`WTC)+>Kkr|OuN(tKXZoD-M~o} z+)aX^PU8c{d+tVKw0tpF7!?bV5WGk2>gBOeF@)RRo!aW`1Kx7_ZQP4{)znOW0d7eO zA+kZ!B=TFSMk{x2i~Gi;gIgbwnYp6)C{?`NQv50@t1t`}M=5_Z-@9W#&nVw{@f^=( zz#EJH8oy1C{n0$K0}(VIA~h*#t6&4ycp)oV92~3ULSq#iE0(CiHoz?7uT{C&fGzK# zI6s2E99QLKvnAI=J;SMtpM%$t=v=7jJy*l+)@MR4;B!Iu;0zsEZz28WNjVS_cbacobd!qe1M7DPcs}J!XCb!Am!^w94 ztu7mQYMt&jyH(@FjK5I&+LL0F8eAd7pG;M+%)8ND!hE|lR>!XX61zyx zYNtfWmypv#m^s1@ttB79Udh8ysKvMvtm`ceYH(7dcj>aWL5&|wbfzyr(6;Anx;5e= zkza??ji1s>10WX=mqCTbzTcA$8=||L`FCn(qKevvHcWh1Th{MDKKqJ9Psp1@jx=_80Z;RN9IOrox0b#Td+S&X;(Nn6eQm(%b z;$=-Beco^A`=Yt9~amic-1B%-titePrjupZ$)p{ z^9NcnLy7Lt)CxiJ+f}AH!%U>gwW5juKW!C9W~KH)z@^#97+33p6^ausG%p+xm#QAl zWF3TlJU3=#edx&jw>9NOr|43tB$Q$*ulf0!pAn5^E zb*KgItG1L`hd{aZCgG>9rKKBRaqW>w@>3Ef2+iVU0t7^`R!_b0*3#W4QEjPn<`5(x zt>)-yanLs9I|kP3@5RUg=w_fW$QXSUzeuFIkT;ofmkG6G_s~(2 zDXlXVY3i+oC*^D$h3Oe^hUE{>q_!4>d-p5#={ROUz`c23c5lewUzx#2;Z2*V!vE&@ zXEAA)p2T@-!5E5PBe;H-)uD#Y0HKu)d6@1typ>IWP)!S5c`Ecr1T`GK5`17CWpb|} zCv*3!MNl0rzZ9>YwFB2zFr_vfTQ+vC@@LP z-oWCU8h<-)8>FyI;QijrZJ{egYED5gb7r`_0ehkXV`yVGGEKO%HyuOmr^ykbnxuGT zG_2<|M}gxSF008$t){bKjh{Z;GK8oaWyGlt{8vOni-swLj{iVQufsEWl*@L)SdjZ{ z34lH&-h7dEX?iu$O`h8VKI7$4rWR(1RRM>2sYe1+CO=n*gXo*;H8rf2 zmex_85NjRcFUq67#X34d8c*`^k>~(elVH4UK8VF*Qz72B(@}H-k`Ct2U^^L@fr0J1 z8B~V*=A~5FUIn!NK9ZI@$1p$XRQy54_I+r2&ya##3J2rhFbj}qW|QGLGaTti-Z%UX zU+k5ggtDXcD&XIy7Y(6U7h}BM2`jwZ2$fipMe>$zp|I4TYm#*}F3r`$cnAbv+chE)ukDE!?B^PYi|pDI3$t_)-XJ zg(scBI3ZfmhKATYe0;FK~bhx+G3)!40{mf;l`(FAblhBZkxx^3CXM}l8FO7 zy7TG%ImVbIA5c3V1w4i>Xj~bTig8$VJO!c0oW&yLiO|&YZn}6&)wHX*-(2bzBY%Qd z+{>Nsu*)ByU|uZyF#$&lx^ptpy4E82vYfjtJ2BaX3iA>`r3TcH)>~w;eJS%El|dy- zJ6lqGk?7+L2W5p+w(4II0u||*%J0ItSyl+t0sr(6f8>p;+?&Cs%+oK7J4##9i#dA{ z5pVe1_=o(VhMNf1rHMasq%3xe5Kd^DQv^`W-KV8##(Is}K}^Id01vOp1xGGS(k0l= zgvy;mOdVk)SV^{R4rgYAVikX$%yEU$Uu-aJa6m#dZfI})D(3~a`>{BIMeOv#4Z*Y4 zFOE;hO;qmk9n@EUfv2f8S!jr4oce5QXEY5|L^>~-7Y3d&Eg`SQm_W<8yvac?+=Gnp zwKB~Xi0wi z9RBoXpGDAAA!Ef|Uhi6LkbDKlEZz;&VfIu<&xxu?{dlmQv3C{TvXDUFU1(YLf%P4z zBf$-wbVg&1zBkNyALb;%McVqa6&k3jEcT9ixU5x!@e8(_}YxUL^Fw@C!e1MN(fXsm}N5GlYE@hK)&{{a`@ zH$ZtkXp_voooZ-JRqY<-Y$uCY(-*e=d@^lh+eu zBmrL>Is(bRH{ZP(TPF5bIm-20g?YP`IB$R0WQEQv9SUuqJ?y1J!3v%}an3dZCNar} zK;yRl3K8rUFOq&35quDhA}biY!H&@Xg80!Au=7(G7RlX>5pt)&=qC;Dd^$smvUBdS z+^_PqP@#7Uc=01BQdKkTtAyMT>8^?z2!CUhv$bard=LEEH|?WT7BxcjW5rInsks4^ z?w-zTBVR>RlS<#}2BK@gCkd<}#oU_+N}=uKuyFb(TG1&r%F*2J>_m!wAX155kr?J= z{D~GJq*SgG*ff=8B+7>4rcA33z7j^{H*^`gUHh&hB$%UZr1BX4C)~0CaonbUrN68X zhBJ52sr<;uvLbm$C^FjhIdDYrk6LG@Bb7g)MS83u>hz_sF#&K+Yu}d*{|j>ME3H|O zFntCosKX9!hC7C|ufXT$$oZm|f<3)MNb25EYPU+3saV`|4c#7E2X z{vTEEAK%jX{_&sF_K=h0+|4=dIqf-Z(k5*}qB)$9lG2irk`jakMG+c=rd1lmR@NC) z6g5RhSvQ^4*mPF&V@CZLW@UcO%xvq%Hm0mIHpYCf*!%N+e7}Eqcs#1D904KpauOGLlN3IAqP6lEgGqi(1hjJ}Lzz@*oyr*3#& z=DvomzIO24!vEIm9rR*1GeEG-S6MGHsSH`b{9u!Xta+1kt1SaNbVnsYLRZXg6}TbVO=!P zSg|-I88*(D=4&U8YtUKro1FTnrZuNsmGyCdG@NGM>7Uu}=^Xt=7c^E7^$k&K{H951 zu|-fvxyQ)xPKF<%!O+t@_*UrJ>@lDz7s5a^ro4}#mz;GFFX!8sXJ-hrW;S{A8cKhK z?Lm>cL-CfbII9sC$6CDoi8+SR0hxE|RPPDHScNc}#M0W1h=VYC275mDr8V>x!x^fqCk7}Jn$FovBbi_V z`okd^FkUnE1}sdd9E z>9z>5DC8V>I&gV6k%jfO60H{4zvv_22%3W$V+_yw>IP*^Rp50R!*tn$hZQ?_Y0YjK zn8Xna9I9!yLAJ~Et=b31fxbT;UE?+@xRhkmvG>s7q;zlO(2bGoEz4S5(}j~t1FwOm z|L+lcE0%oK0K<>jlaVh#|Bx5-pQ5M16=Mdi)(xh!A9p0XHm?Q90XPf|tt0XXbFcJ; zxV0KxNMtr#Vw*v92+gI?jIgU^s09m@7oll`ovdMjzA7?M!1U;kh0b>uDn`*a`4GL) z+9sZes5_40sq*2Ej!S2%dca}j(f6q6jQ30JcbH$KzjZ6kZTuDEib^d#gqn&1F9%tq4X`N_KE^oVfNVkd<-&N2PpFU$w%h^HhGPEfv zVxQ1$k)C<`jCs!0fjipa znwPp{*^;bv6+aNmP%fzpSUi5qNDOgtA_Oe>XEQ0U5b;=VvWvScV=_j*320+a5B{LF zSQimXHRDC(uW%oHZnEv=e$!e8=&&BB=MmFKy32*Texf&2CA9X#AEK>2(jO98r|kipUrtA9%9 z1P5ty&%_*)d3-UF>s>y{}%&R2#Ee%81@q{IiXW9l~Ac5-Kxy5a!O2QHeP%GFDy zA5XtP9NM2+efxP2;V%<@i!|n~((bUoY4kJq3PfV8xf8z7_CXkfgk^aRY?g43qkqrq zcKsuEr|Ac+*g2ZNFa1)r6bckCa>kOEtZO)&tf2#riJ{GwtnmKPEI@CCQ>LOA`c zFo(CSB}}P5(w*ENqsJ6ilJ4KlA9o+41I7{Jo2Td@4NkaUQ`BlO2)RD7ZnJ@}fHbtV2^}=wlMi=@YnTcp;fTQxoY_kvS!b+GF&ebb@$+#jDR_ zU||5+qHSeG3YNr7A86o9Ovr)e3HSOlwcG+jLrVv?;JxO|21 zugvgG44K^e>7oA8O6O-xd$*|4V&hfueiZYHs{KXXGn!>632)}c_rR?9ZRk`BE(u>? ziH}5eI@A2l4IAt&aGQQ2_fD-~FE2vx_GJ1{SfM@=xUX1&?x%tJLyvIF7m?5^d&-p0 z$D`7xI_zDlHxL8TKf{^53FO6=trDJd9wVJ-uNt3D9})%#`NQ-L(B+bK5f-t;KUpZs zT5bHCn!qHodB=Qzdp5Lg1$8OYe3qfQ6Jz{Nax=bBH$6doKcZ}DE`fuG`S)V3Ww>UR z8iqwR)~dj{?A-*u%U+Cv>CA}&Ce#PY-u+_F4i7%GcPl?@*ow?gh_5n-mBgWc;@cO| zV}*Ap(TkBwGfy&+sR+cFmrCwg))4jI`j4V7h|P-WhBuni9DZppT`f{TMU~x5w~Z9b=n1+7CHD5i#7+y(|ehEc!r3Ezr!w&5?%P zGKc}^^+b2=o2Ktn7V_EqfZYzfCEH&3y@<4~FVTDB^6U6pyC5MBr7p3WSXqYh5A zxJUc?(+k><)8nmWXaV%L<2j{_Ged`Hge(pU$`F|jR{-NTyT$~_x}V$nuwBsG3OZRi zCwX>;_9%CrbRV-GH1)F3hpl5y7?^c-)+PRclhcfP?cy4{A30npB^;`SxhT+}7Rxdznz$m}zw?;^07);;7~=r4|2GLSlLxYUV$hHefa z=4%s>wvTwsPP}Km0k&3V#i+b?*3-67S_vaf^pz&(Q&VuDZ#(}tlj=z~${Rnb;vh6? zmiQj#s1MUxVkx9nWKG4jar#%y-}7hq4S+zR9hKs!NMb)%p=@XmYYcX&P@gniS2>p< z!(ZiNnY7o$m64iWf@w<3t&hpGL|-D{eo!$2rS=vNqq^qSDmfZoK zR|U+qKcuTq51W;&r+#4YCNvfn^4MJTJu3_{a0__koPu7v$c;r(nfg8Ztc=Ydx=UrY zQO%S6NyZ|CE19W9y1Wbsy{%d-y0M!o<^vf(M3{)&@&`8y>CeS2m#Ld%fIJ4Oq0?w` zx#7OdJQ1Jh`$#-fMOQg)7%f~Wjed$L*?}CR(aaw78si6aK$Ds5#>LZ74nf4CoRxY{ zi3LIio#1Lg+Y&&`MfRqC1TBow8b;LD-7gztnSgmP-SQ+x$C)##dxgf+8^YBL^0^Fe zBnld~q?MTJ?pCps-3;Z^t}~>``zl*{ezJHITXI(FU>l)pFqF+DpV4X57Sdkvp!q{) zkCHoz=>1h6ieOdsll-S(14b7qZsa_au0StD+rQHs=pz0YO)piyKo`3jsV~rp*kCVq z`Ganje7UJ z%HhUWf_26{iPLnj}5MqhOk)APPemm;uv z+DpMtG|{ZIS2}O0!UI<41kD^}R5ECRSuEsgML#8+|0kaUXKBs(7c4r=c$YYY=BiP) zo0=u{67!7<-41&+^& z0=LnBLmSEbm4zSS;v{ex=J{dd>{_2;%rhcsDLfJm*cuKwlZ2Mp%;;Egp`05oFBwkd zXk+S*2@bpNT_Ec+b6j`>6bj$zoH|EO%S|k62Z@hh*2pEFC}R5Q9N7QnvXyE7F`r=y z4z%mvy+PneghACo;Gg`z&iv#s+|@T5fIfgm35Kz}!1M)Fw!g?*_?%T8hFk*(4G1~K z&vDyfv~f`>z)O9Aat7%@^8X0dU|O0(=Dh?}Ntm4tSh{J!LNFoy4;l@m-Tz?GY8Rgn z+xt0mT203$djr7rCU#KHu)_)8s7!@lLv|nZ|6^_c#|b9VF)wi_)(YPcETpL9@T+?M z#`M50BX96qRL^nMWS?GhLcPN;Cd{Xv?k$?eE{Oe)?~M;ig}~V779REl?DfU0Uw{}37a$V%an?abGQ-F*8 zaq=ZAIsh5f{_H}9P^XpWZ_|L059@>7+;qIrHhn4hFV%kP+R zG<98E8IjyK8K&G=@m!yNS{Q>42s&8Dwv2A6%Zy>FpOE&ZzrP3No3Eo z|1V=b|9w~weev$@ucd$8JF#TmmG@L?BbSGhJiYGV!1(`=;G%v2&>}l%bCaKQ-gDvC zLF^3m7>smeQq&YbwUyi#8tE&-3Z;|u=h`E*5?I2i&PT4H*6s2CBnyc_?& zyFAklhuSf*Veo8Gp?!$A9W>9$_zoGss=@qO>`QVCQHCkf6^+U;UcBQp~o#gC>x673P>Al007_<8FYUjZ;;%lM<< zSOt1{X|2yrU^(SV!a{C`59Mu8d;9MY`*%H7XH{OOh1lfj@Ke5_S}grf44Zn{aA=vi zs88B|-1`3`bc=agodNK8PsI1;jWWJPr8+(Mx6OHCX+-l8@*?IvbRL^rvWV_(bSjhK zx7ki$8RpC4Q34R_fbxRRBK3a;b6A^HmODWSl=<0?L2zuv`%tx6+6Y^$bff-iDj>lZ zz%2_OZQX~~UQ(!P9~7gv{O3D`hXnQ%VirI4^kSt6ex-J_^8}p@D-^E5{2V8t8U|l1 zwH|SwHt)hGT|R5*E`!*QZ)gKs;QT{7x;^{QFjA8^r?7Y)Tz0W8RyMoHFX84I;8eGE zp5+6IFrfT_e2g!RN}lb-fw6{REZuP_Gl+lCff$$*0wR-?U8siF!Z%vRV%c z_z`Hi%r)lpEq-48)2Hp&H2f5My&HYL4uJmL zz1gGaU$85>4#1kEp5SbHKU^D&b@P7E_CaRXjKLT^SwB6hXg2-| z{m;ne2mGn)bFkv(PKS~qx(xtG>F6P_d2 zpl|m17N}Wn%5)hdY31jJVf5?iOnM@wZKavDa{6)GTxFOx*7_wn4fF~83M>_$cbzf} zZ*Of1*|6D-b3~I;vsKa5ls!jQvD(JNHQb>e=^dt;;+^F!XufBh;9T!tLGJPV1{OfP zn{7LUafuIprW{oktWaA>4$;VDoKD8RlJRm>;~V5k8Gzc+Iwd|mw8EQeh5VEBXbcH* z=iI9WT%!_}%9P^J9PS3mAFccRs>7G0d;#t!%|s!BND*?^1tqy7uGq~%v1G~{TiNzX)Jy%;8HCKjW z;kgD#^Om=WS?;Xs+6RpA3P~0MSOZLYZBuM9S@)xwld%zXpE3Uc`W5iClSo4;8Aw6v zm06o*!Tpkx>xY_OYu(^D!zZx+kcFN!bS)a4l3~eiqx1vJ(YdwNK~7k)L9QKU-f zt8{le;e#pQIhkRU%qC}cQ>ORj^eiS#$*iL4mSp~m6_uYS&N_HoB3s2dWe_&0J1Yy- zQX}+k(G@{A2ekNUtWWD>`$2jv|LKxTPamig8h;H>$C8w-CE_$JYa)&%pXku`Le#Xh zrd{-9vJXlmQ65z}7QB@DZkc|ejN#wAIoP)pk&5!e?GS=sU10i&qPCmwTQ8d@qasy) zZp9;SuI{27wNpeW{S@Z><$RUqJ*7RF{216$KM8vu);G(7vws4;fVhW_MKdo)LyLC?#g8(J){SU{!ltC`msioEG+)$pz>H|R z3Y(eRk)W+h^8G(zQ?*}W8Ln6?&E22h&+S3#uOFTCKTZ7~m2i$Yq_u}{lyx(mNDQ+q zrRwL>pTxpe2ULB}%dRKbXs<29jY)0J^HIgY^llO5-*`4ownc=eG_A$tr^*7L_Xppw z9E{MsErTFnDf$2KdS?7Cs$-=mfONJjz}$DECWH6{2ntG1LLeI291SwqD4bhiHvbd} zGvtYB@Slbu(|jg2wfsxda-|qT=#5x+FXKkWDC7Q(t$i%qiKZ*aF63SQdQ?Haadpc@ z>%oczepyY(;>Sq0Z#I{}z|jsY%Kt`r<9+vy@+CW%7hyKQc%zy7GDzI1qv_qYI=o%| zwPrM%c}2ZZ5X>&bM${> z7X2N=n@YYnJ=2ZpPDMXI`!1GgO!DU>-=@C*sVUlSTiqqgd(w+s`@wU0&sPotwVx(B@kt zDoJyJrVnG2J+c@l$>8K?Um&<+*rGNm@1Q5n@sme^^(}cP{SRCT=b15eKY?4dr~m2y z$fW!VOmwsxY%&;gYq(hUjuIHZQ_2y##Up$4iO&SkfgM&+-&_CAPQj}VQbtP<)8>c8 z<+D}I?F`Na$FyCt0UA?b{hGK5&u6?|2GmPC%PujF7A;Xkrfoj>zid`rYc!kv;Naz7 zFgJRv;7+jCZPZ0(wj5eYEaS`YT)ZXgIq;z~+ z?E<0^?N0;+Fu8^NS{TphkDS=!ZY2+0eX2?hXWp2=05=kz1GB{Hi1bRVZ92Q^!5j20 z8AO@bAQq9CEejv;TK8B3%u6!ne7tp0!$aa6Gaa#$$VQoWN(lmk#oy|@(1~2$NDrC% z31*n3$otXQ)l+CbMI~c1v|z9c^@c5Zd;5A$Qa&B*0^ybB2bGYj(!a!SXDUh4MIIZ1 z%H^gvIO9xBbc`hvbH%b15F-60Q%hol?FY~WjloBm#RqM$2bgJmIdI#C%5~FYK@T!t za4f^T_Jb{hU6T$?Cg)eP{-3B~*f7|9`fOl>L{Z(~XpWN9-Whxbna8am>*!H=$7H%Evs%`6Bs~A|ehy0Ooh*8t(!Hvs$B?^? zN7XI-5Hl`;A-R4`c`jB&uef?cXd&sH{=TR_HslvO;p7m@HiG&N@>9};ZOHTu!~C5T zTT}oa-z=1=fg?C~maM47O2n@fVxFvGswR;XwvZ09GC7?3kwb9bE5s5kFk?wmT>+$W zdi0hXxN$9lj=^F=ipe@1g=K_d&69l!u7P5rVnRJ+Q%ffZy=A`T(nM*mZ6_p0+jeRu zDX%Y3KhJ3FDldN+h8UlZV|EIj<;IcL>jsaKjiImWo#NRj>O%D{`&M;3wHAevoBp5}q4SAH0OD%N#y%}x(tY=6~r8m_KP zFQo`=a^jhN3bbsA+hP?Cf7iWHmM3yi)*tz6?aj7JX0XVUx4MYeBbF>?=EQOjD94V# zbYinMoB2sy@izNa;Gtu`cW7O<<{1-?bXnM*qMQc6GGUDj1lD93)g<HS7KUMfnVBZPs zYe)(gOz4$(CJr%;dhT6b323irpu(sAbgQKaM%ttxU9IdTQcGp&Ettzu=ls}mF{(UO z_lqp=9^X#oNGH5{+>Qn&3UxB#ykWbJn5B8UQ#h99snMK?CD$EcjwU*W2&|g&YlpY4 zz%p{3Sjh-FRahr;ypNjV8JC{vuGbCgjPFD;8T}&Po7vJiDroS!bX_>7NcXT2cnF=~ zbwP!xgvuI=iF>1{MAS82*rcR>mS)65Z8r_FxBRc@SK24^_uoZirnPb`NC7*u7(c{c0JO5s$z4Dtl@Q^Ss{3ew&j zTps&hr~>M4a%@-UxHxMR@sfp&W6j2W_FiDXAE8Q~9_DRZXmmwUnFhfu_dK!wNNY5T zVVIeE!;!>b|F8x%mA9@3Uk?|3ez`vyknv*@;SS_pW|ugqQ@WL$?UE8YEn?kC?I~}l z?#q0su|wzv#8=11K})?(Wmu`CFKKr)Y^nQ3vrLzlNO!KUfRkf8X^cRVkVoNMBX;gc z-?T=F?_v-$Q&^}|#@H#)1t~kzPb@!18MZ{HZ;NF5o1WvGKoS46GkzBf<*dMT{Yi7) ztsxNTF$c8BJi4PKFCaS3^%MIyUfXz*y%^|E#)E1f$r#j&3Twiqa%QFT9jQ0lpPKIC zQM8^pC6|69%EumzfHz~)+^1}RP&Z&cr%rNx&a8w;Jjbs>4HLQ^V#v$P6S?k`4wUJ& zjN!bTeN#9qW547F39b|@bo%I$WqdyPL|?9%bpJ>uH+{8kT&6UvjtOqn=<%6d!)iHcooZKKKE#5sPK{WVaE zMHsQ^S!5z``_3w(0zSujDL{0M@=w7hBRl&cCk3-M8 zGBz^M+qp%!N>Z!o0R%@*uHf)vRJp8lPG9zxu91URqhRT0Is2p7?_5K5Gv$GWw(ItX zmab8Jg8mP>z`YdB|oDK$HuZ24haUb%#woB99HPd^*&E{L$^eAvd zN}y%*2igH%mY8Yxkj>z0>lOn^X{BJ;6JCsk?JOEX8^FhrWUXCYk^{Y(o6-)vL5|>6o)|DL-kjyR+Co)?>f8qJG5xi z3nR?aY%8jcpb2px3hmL$l7m@xbY@OaBdiMILFTCHfjS3`Dr6@%1_#ioy6Li}jnFbH zZ9dif3uo)1xu(&_g56j+!x(#;_#QsDVWGlt{OQH&_rki57#^DjubpUh>=zo-Ak5v< z=z3H;MEYFa_8^Jvls+Jw7xa;oeLvbb6dx2EZoW&OGXCg}^OWlel$atUCR#h1A93fn zx*4)i@>F!epxNHly0X<7ET@CP;msTBjoywHD#98!;@w!H2kFBA$rx@KT!jF$ZTcP3 z1hT-K_o#39ATTc$=Fr=_w=d&rdZA89WI((TQTvU$GyR=4i@B1l`H(e*Vi*9?Le=M8 zetE2}C++F|TyX4S4UecO-yCqFh_6P9E*bUpp$RgmH*}LbHx8x^dLB4jOs^CfAkDe5 z?yfc7;$YAGu`z&8|Fic6%m+3M)GoNR= zcd`>uMR$_{;=n9dBLtiL)=W3ge+PA4stom4!_kuL$&HcOA$dgTkBmlE6q=yy!nOuns zEtY{u#o4)x#QO-iOz*E5rKiK~nIp`a82%%Oo0iCcGRLl%Aj*lUa11H3o`ktnWwUK- z!?!k7+iJ_Y2y_#fd+GPLOBH&5t=5bR71cW&k1SJDlwm}0-5=6*(|D4NVX8%Ly~@2b zeLRu%H&)3~f606$qtKp|au?m#`nY8^)r#-t618N5bV2nzUeXbtwM2t%s@MkMnIiL? z{lmHuc^{TTM{f@IK;`(iK-%{F%+zH-0KF977hPOqAaN7mV(Y#0$| zUXOnkND5(4B4u%l&3sbrC+By?0{GbLFA{<@xsbVQG0))Mw6SvxUHZC-x^8GF$`pue z(gN#U^n$W^7yCdw&=K$cfPxA>*&7ei#vfyi2Lf~KiMq>zus1#P4QqgWjG|>xp+Ynd zSr56B%_fwskZ5{8HAXzu(U?SAnG!&o2)ZE_O53R8R;7qvVxY4_j&x-JUWj%+^_DkC z?!@ItKH$HJEv2?M2Wm`=$pm1f1E+DeDZQ)1}299>SbF`clSr4KKsi zeHDFeUEwm~?btlNtSlPu$9NGU9jHDD?WABMnQz7x5Gyn{;>u(4XBs;;BuNSG@$A21 zazvdR$`;Kx3f*W@)T+y0$BWrm5|Zh}v1G}1!!bE5`@Gw10hI%Hty=3L>An^{&gIF2 zX|8#ql0aJ^3yUkDVYn%Lq(FHJ&M!qJXQ5*$OY(EJ5uRvgdl-S-d=uU{p8x^L=BxMz zpjHrf;$Ze9FA4_}07~ZZY(3P@Uhz!@Ioq%3Z%#O?Ci4YnYTiZbFx@94ok+H7J5dLQ zLfEgWKfjn>Xu6z;cm>emB-CnPe<^w2@(S+J__1(WmDa=!8^mU~SKKm?Hz>)r(ENkr zA@gD!Une=~24_FW3OH*ITRMog%*OlZ!ay?K ze3|`PynqP@WXRf$`(BL|>&KEd{3U4N=0ysGJg*-wm*$|`aq1fP(wd`|Oj1*Z98bv7 z?2%Zty3uFuL7melqFE&Ui{VThzu&Q#Jc}q<<*xGa`bLvS$t+7Fm$TE+I=)#ee8)=j zN<1(Z*U2EuR!0hSr`#Nwcs3H>1V@1>sB=0qoMZMRdG6Q{y^32Li$TnJ*Ij<+Y4RgD z-YuZ5&b7>EN?4-6Ln#?TBIkt?_Evzk*SE2YDYb@{Yr3VF-b$y79p#3r^5mRv zy5WwR`q-A4wH%W^$l$SzI0cf&R__e%_x5G?U5}*e@>Uy)V_ir6*Il;(uX!suxwIHg zI0bO_=)h`k83VKhp)7YT^`&t{{TCFIzk%JpA9M2StS#0tN0_xlw7{nordnIO_5qy8F5->E8|^mn{GZ!rfUnx z+rg=X7&WVq+tdlQ%JenF4B~h5j7()-PxnaJ?u&%Y6v&kqDrv1SOlEyTu0!v~pfL%= zCd1#I)icPIqCVomTE>=W)6mQ5WH5A{k~gmr8#)T{h`h2y41h(W^1CX9_(KP4`3Vs% zj}^xAU<0?JE^2f!5glB*P*xkvRV;J)~~E<_8AaJ5$hz&gg8kb}NW^ zHkkJT0)b%|tT*0?>m6O^iAtV>#wBPmYpJ@AW??Qjw+GtPM=-^*i--YZ$q1>fg!C^r z4km1Q(9TC!I*T%yp-OICqW>p-Wi$k;#)wve&O{@k!O-UuA+5PUlRvQLzEl$^FiWjz zLT$Qnt*B$Afwo8L;bbcapL#KxQa+~$3$uD=i27+#skotIUa>wEBA-i(XO;QzhnZs` za-pzlIQ2!-nDWB93C5xHBXLlatx}kntyw}=PSSj-&;;dy_uO)-@8w6#8zUe94t0-d zzSv~S8HvNVDn~pPNgvnEjt0%rC^_0{)M-(gKs6m#X1X|BW|)bLa{VyiE^$o_ zS}RxIiN1o=J>krerqaFIr8S2bV!EKOC?z=k4NFvfliS%fGh14X{_K;n@&(<8G~Sr^ zkT`&4kR8RY3|l~7B7pm7T^z0$nUj{xI{i52&`49Z$~+&bI&+2D)=mBmyVT_Gh9|w; z37~LedEu+h)G*J^Pzw8oIYG!F#iU3|KqFLWwF2{5?sTMQixMV9loUc&Go<~IUm7lq z7p4h)XaHbnXX0G|E(5#_1x4&Cp90SBVX2&7U6XwJfUV+u#))aDZ#r6|F|M~~XY7gK zPutWbzd_r7HJOArYbK8*HkjVXU~*GHLwi+0_GpD9yP_a-H-oNqm%}x9E!B8k6B$Ea z@Q&0SR!CvkK5ft z_b7`|l0uwP`;zGvguAiS>s9ygPuwKj+`|=6)3^=Eb(m*vh7dA zjUDOHQi@}=BRlv|mlRv~Qu^SCs3IR)sg+L9r-#l{Hg9O?W3}l9cFlSnhm8`B-@JJ@ z+s*qrGh`G!T{;RC)midCs=Pn9VV3Jv%d3PmSC^qWUFGb+%%ZSaI!gkP$8UjdNimv{ zs)@B%o`g5|D8}NAte7TNDiF&tN#OM??`+$^v;){#yTvu#yb`8jCN*`Yo)d=4Of=F} z$!>kFd9jDBHzmj4<9-{<9f~Ga=M2M`qn)?~tZg5a1{B`I1DMnV`Wsg-=KUOMym16T zzo;_9eu_>HS0Y2S`b(EJhq}5qb7d-XC;hs*_dtg;fOLK!rEAuaMQsuM%Ra4cg4TRN z385^0eNaP;q$|W4!tff8gSI+?dYgO;60H4bL7sc1zS*qvbk>gx4g@|bHVr8$)6*p3 zr6hVh+sC)l@ROqaxG*X@*xX1P>*v{D9EsF^>mZUN$DnvFV_lFgxKFxfKUVQ)|h(M|N^ zy0=j~G&n-~PyL%6Zbzfk(LcJm0Mc;1UphqXJ&4UZi17~^DYB1HI_7^U7tq#gJ9y>9 zU}mfpNi?S;q2l&iow0bpGCo4Pg1b(;Z?PYX;MrXvNUiQG=A+N+WgX)`!u=`57Jx(q zc$zz2;7>_Wbj~iwCt+w_p4a~3d;x|`8MX_=FufavRQ&S%dvL~H&Y*00TU52f z7kaUKU?06VkYXvqxl^PFs^`hvs{=hgY@TI&uU)g5ZLu0ZTcROvLBSv%9!_f<1%?+$ z-Mn7RHWgx22scOr9d3PT>)=YkGX@ZqwnH|7{wGlDRlpO_s%ZI9ACP{c8-nVHg!*#6jJa-^UK{G@)sIx@%TnixPPDRN_1AEGjhmI-LJIBB=OQPgqh?FGl84&xyCh(1Sm4h{0(GBxx-uZyOQ$hgCHh&rPs>?buZ zb|V|5X(G6m+SjRiYJ~EJ#+5aUNeDSRwWLdjk z5)H3XO&_7uPN*RX0<*}T{J>pyTPif7TEumjxufQCkI-x8GScGY%ZD)oIPv$0`puyj zQ-$EW(R!a*)Pi%KCHY;($r_ag zEwo0>nPq<`4DAaDCEw%ro7=eFl=V1EN-efur5bi!)VyM3M@;`T_D^yc`7TFZ{gmCVx%>9SsLU1PY9)n_1bq`n~AGgB|-Ae{x_J>I54qt8y-ZvDg*aJwL zjLp&>G4-|BKgwLi_9eWa#tq+Ask(ivZ8^ErW+%?k(I7p*<~bVB*ZsI_1Jh&7ZEM)N z3N2HrHVA#BFRj(O;hl_A&;nb98AfyA)zY6l0)JA}?Mf(!anoV;GNEGmwqR zYK?*_RhJh7A~NQ2|4_ErAp+~WYY_b{7}&vf`-?)nt@740pLa98#nS1y1!UWRT}_NO zS{X{7TzcXfwNKa?-+s3Q(eV!6wcYS*jPOsw>dH3^ z+hnGz13d@wTIip&ji|k=)LPvar9uMHbVob0PhNS_jc44#Yz;03OCzTfXId9*3AyQy6yKk1Nlb!5Y@rCX zl_vj~dL*j(j^I{4S^<>BOlw!`N!@*#DC7Q7V5PS0c{B72IDfD3(<`sD^^B{laYIQ3 z(G`5)?zaMMRkU9)*J}G2N~4`!nSZiL1J&R23=mcG#7hwjJZ#mz5vOpgin*!eZ`1pz zLblT_GcmjR)vSln%@|{l+eG?mSq3$j7NDOu2l;_Sgdc$@&~Z!dSv~G_{RT|LMXXe} zSPYLj&;XUGL)__Q+JX6-oLS6gYN5N#+}*I2PXD_je>l7)j_r(<5^kQmIbJ%Ab|#p9 z*A11yVKmqWnwAKqBA+b1V?=0}QDgs{8KR&wOwsa^Dse21)+Y!Dtom-dqWCen{V?hu z)VD7gjGCRs9fbKJhQEAh4FcEpKN;lIx^#y?eQZ$4q3d87h&dhn&(v|$I~BU@))7nx za03VjhwDG9(we?wAz-{5E44h1rAAX*&}d+S8J023xvbmiV-8)1tZq9@oaWq7daDT|q-EL@UbX8aJEa@6$ z``$V^r%y_t#?}{g@IjjW_iAvFP4)h+T@7fc9;U^e3_SO=R-=+xz6E)HdvBi_JxfZT z5`{box(-UZg?#GF;5DJA5c)z-L93Fyy<3M;FRS;1s>*x|b|+EtRZTU2qW_vz(_-yk z=&BjL8%-FI){6NIOA@I8Oe2eOl)5kA3Y)JvuA)~FQ$uRDq`DSZ`r)WgmyAJO*`fO3 z%%1e%+Nh~xg}>#(P?={FwCi&zt>MZLi4^-XQl)z?)9wnF;rx=VChf?QEmj+JK?_{{ z%5$1lmDFbD*@KTZ87G39sXm>l9>c!M#ar74`c6@5v=q=jkxZh@G7Pt`CdWgWcHT^a z(}Vj>fwGlo!93>`;^LvV#OV>{%k%@RH#ML(Zf^vwG;_ z;;EI{@k(~RF5kwQhzBEfMq2wfpJWEl6{cFNH-ydxqXHGk7R$_(qgEx?U*=gx&T%Nk ztca|!II|#5+UL%0I#pgF%!@`n6}n#5ET}-H)+*Vrg(yUiXR-wmWS>P`djL8gA9v|&1hK*Zfy#mAoj*`U6Bve$gcKC z%w}4*RN?Pvc}tEjVC=k?pGCYT3mq}J6PHyT`|VMj8EnKbZeyd z5qj6AEf+Hg)SO7`bLx_5C(#$Bh){f_YHdm6Ho6~eAm6NXN;k@TSbC0vu}aCF{byRP z@#*L-nYo|g6@}j1(lP9`##0Ti3Z`Wi_6=+@bKAvCkCk4$yu&n|j4Bz1wmXDp4!h;% z$`i$?X^4J@?g?d88{Q>_s)^KzigI*Ffl4wB8+zx=jt|!$x8ppE+}CX#%GL;w zdSY1I1h3?xJmDYeUyEXu6$C@IhF^1mZ783t!Mcg5f}KLd_%7{~+~$w)|GpAJ0v1iWGkC zrjH@5=SpdjMpLzv6TH?^siET()+}8Q>p)*9SmV0^JGj-YQ|-y z4!{;^Y_WI{XNr1Ri=jpyFc!^SEc8!XGE-R5-{>)F(2r#E*c1CLKV$m8$S#>LkTkss z^rmR+g3L_5y=JhK=ql$vcA_3e>2Yo>PL$bx(shd_n(%9;?E^9#3q?Q_6@c&M=B}JI z5q3_%7``0xfc^GM+PwB{ZUsC@sHg4{^kKTCgw!mM(_dR0QB1am=-tY5s}=NoycRVv znr4+WasSJX-MkI5CYk#r>cSc~>2-$hvH^ANj%<>949vG))2U20OSeWT98&XrsAGs% z=?&rv45d@Hoh7e}rBT`-Y$Ir|0#)~B@S(J%jc)B1n%+Xgp!=cb{8nrhcWYtjcyP63 zujpdin3u?UkQ3)82*0A>Bi5?)`z>m$ZBPpm+IH+I>a`frLBQK z`BvN75`a{QTRPBJ+^;ig6$GbQB8r5OSvBnqFW8PbjkKR$CvL~jCp4_1zR-6x{&Ji^}9d5UsOF^8%c9NcKUv(>s z``IZKLP$qXhJDYdIkBe7gi@)BKH^3oF^x2p@|HG&=nE0v)Z!>_h+542pfbM3be@tk zM6_OvN}kGSD0E%nI%u6?8xEcJvvj&3m9y8|0N+0$>)i<3%QoMVp0>ddRb^kyL>gn0 z=S>G`xu(*)1i(7n}CW;SA5P49K-+JF9o= zvIhmn^UKuP&f1`wsN?&bPDj^cxS=ag+tMRCYC=PpK`Q+*>l)V@w}khNf@X4p&UMSv z!p)Oeiz?p+_9+@{iYg9_@L-3M-M36lh~I|nO8R?tjJAjwM#7=Ra9pypnAe!b*Z5*^P`EGUQr@r-<9l|Z&=$Rn3uLQQf=LR&7VC>YUxDE$8T}o@NO;t zHRGzL@d%xB>zX^Qxwr0SGFq#WhPx+}_=LTtF#4>mrzRQFqcVO?*HxrKqEn47#~u%9 z=-gg`>8q5!w`!RJLtUa^<4{3N#_uLw25+4fH93fA$*`2n7)p5u*$p$+#Gsur^N92% zDyhq@Z)>utw}qfGXAzFxk=XB~m{O9Pc_*2Y-?v6GbNzO~6 z-h5Q(Q_&lN?6nx5V_fL2LTxH?8=h!cjd?8Moes7_vYwOmggL^?05+t>Dn$3!?=no( zOt;i9%eI37w0*`3P9%90a>;vxJHtid0$IB#tU`H;Z2V| zhgPM9*`AtLWx8Z}+g<&LjK*{xNcGaoX!szk*!~+kFmDyQmgvkuc_Xk4uTgU(F()=6 zU%BgNW4`%S)50{+P@w^_M7DFby}YhVP90dOQV(OT*(H;lCHpnaO% zGJrP^4MuWtk%jsY0l)4!fowAzsW}U=cdz)Qo zN@BS`|2>^I6FD>RrNRJ4UL68gSzO5G%UD&`Md6!RmqzQI)g zMe1Ii=-5GifF{UWY0(o2N^mKcL4e6<+3KmQ`9{+QbC?b&C3fg}TnoZe=H#%`cljq4 zMTBm0H2FjGisw_pb!uV3#>{2eaE4lj3ENH99N!(a4!xtu4MfuaX!n$-R+7xXH-w6D zN>cgejvZitFo7K0`G zY5ch5bCTaI9SD4b-cAe+6^tx`31cj+@ zmbjEA#z0JnM45JQ!Lzv^1GG=YY@P-&+P`L(Uko2u{VN-YWDAUh!*=+Az^h>;cq$41VKuGX{YBAURtGSy{ zC>LMBa%r;R2^y6IN^oQDiLu-w8o5X&l0y0_G?`)FLBGC9&J!L++wSNNSL0c_T@~ak zXp?*<{j15PsRfm5xn)~8Pfl4jah|VnKMl6=9y58m8I7FG#Z2)d={hQl2P}Q%e5zLJ z=YM6_X=6t;5lN8_Z|f{?t+90s?j2h$$`^Kes|_z`CAZuQwts}1@{;Xpjl!e*iO&G3|K zqQqcC`JvqSfhD)-ulC2*ZwYQS6p`9b%}vN3Ey7^vhT*bGleD!>N~{FrVlE4nH3 zYZx6x4O5$$ZCGuLnT;7{KkR$e-kV z@C~4+$dblZID+Zjh7-~gg-oD<6zV^aHqlet2q_B}ue){eDSZ^aO8;ZN*Zn_{WN5H6 z1xoyTq~N&Y3?DC#udcI=XU+_@4jO1QsPm0<_loeqb}TVvf7-*zfzqnOQVq^Pi}HO+ z=N*ovn=(steS;Z{_Rf_v>BAXicI(2Bhim1e7noLctZ8&cU45yS?h$xaw;1h>Mh7D@ zzaZEi=2M|`J#@a`TL2jdwcXexeu}q)yrlspMC->|XshjL-9f%l6mrDB81yPCA8C4Nvw}#qeb7-teWqn!Lbt;B znMb3X-;s6bnu!XFu+<18Nq00=O;OztL6 zC$*1hU#x$$-8QS-h9y>jm(tj2Ii}kjTqmO&{hCKvf5jeab$=Mw)AD{aU#3#o0^LUT zYw33I3&~d!7pajT4e>2GaX@hvw3wYEhz$=p$0PSiZoE?eB+|PZ`E6*TQa$j@xK4w>Fjx%F7 z=6D<0-DpyU^qV#_ zx626=w{@H`Sjjxrh`#NHP_}#32Xyj%nx8>U!V=LDgenRQT5`1W5Akulq=IvUcL*>i zq0lJilgWpkp`M>$8)VWP-0e86g}Xsl#Ji@G>W&fm#$c%{-qyWCw28(;p5w!rm7S%u z5U9XVuTY5F8pAI&cA?3h#-9e$!z`)PMwGV*ycTf~OJ1TeHR?Z5x;hzmtBE4(S3SvT zLYAw8Ia5Aiz>Cv|A`l?a)icI1!Mu`F+mJOqkhajAa9@w z2K}zY=A_iPTw{d;p;33KQfCz!9*)*Wp&E6$2?6ao;Ojgx-I zO?>)V3&LBAN$-Wc;u7{276Mh7C~3R4iVy4K_g zr43R|uNK|^-E%fl`7_VsPi@&W8wZ8=o)C_&1*@r_2F&d*#MB4P7Eez(r~|1b(7EQ&x=ov}jQmLlF6gQXeYW_=sLiG%rDH`lRfOeCzGLMV&Vx^0|iEi*vk zmx6|Wju}PS?lB$@Y|Fvw0*}y;g}=hhIGDjGtcf_g%HDlI|&{#;E53>v{ zm?OTzG6AKuLs6#Vzsu-}6-4uurL|N9>Ol!Mi!hsXyu;jl*Zu{4NO8`w0n-pHRR`3SWSZ+g4(Uwc0YSfk%!%n{ydcOPDIr`Zm_fYc*rL5c7^kLp7A z{cdf>jJp!5k97QZJ1Koa2ePP!(shD12BnAAx0f#fT*O5GtYWJYcNHx_nhi30r z*wQnH1-WW@o%}0Y&cAuCC*s#Mel6?1Q41`#lK_ zO<-cxIm37rz0Ikuv^Je%7rOQu^8E?;DElcwL{r15B?Cxhzysd9ZqcSH(-lvcV}%em z1~9p$V&D$n07IR&SRq~OsjO`gKk8+#ZfwyH)<`=r`Z4%M;Iyq$p+UUxYot-&QeNth zB?kObQ;^|nF4iynHIN=F<-zk!r+eej4X%7m&MPK8|C={~{?#xF#Z|f0SBI74kbPlx za$9!JrZdEodFIP%dIu8-cYgyZ**^;6?YaEB_?7{qNyilQ8^=}6fOV)?Pmo3k8caR0vNcdz- zFN(@B98SyVPiH@TogM611_T^C;Zf5uE&1dE>K-)Dns>LR(~>i}c?Kb!w^J#K$@wk2 zrLIBb;IzKM`4{Z1cbAi01F^(yXlbw$sI?ugjpazZNE!_JBzIA!MmcMnMgnaK6jZ&? zQ1#vU_!;XzimY5=hf=_G_I}i6w4OEAOrWkv*X_n74Bu0?9+g#JUBt&U?ZaO)46nPD zGtm5M6uH>b0!~%#RgoO8i)C(79;u>>Nz7gqTr$HlhdF3-9cR}vMy0eS(wT&wbwNY8 zv=u={$o2>bzbWY^cCh|q8bo+qLdgJm9F83ClVI;Ztw)3nW}94H82Tj|ZcGWAaf_5Q&%^XDy z(XWT@on=bKl;E7hjz<=Xy$CTbKIX_ue>?`g z$$4Kh_EWL5^cP}r3C@V4N9?hUcR_8!pcg1|!F9$V1{0b7EXEHrkVUxY7;xV2J zqvZEko2XJU*B3ICw11H!39kULHTqlOtD^Dn^Qz&TX3tQ zQyp&k!upzmy>r!KkC%_4q#o2`^6de(Ao3O6AoMwi7i>h0nb<;PrVQ!I56;oLeI*$! zhibD;B0L)my_xzN>ov%SbE1Y_!eCL{n#C34{w%!@{w}IrP*ZXpt{nC~CRI~v=im3dM!#vS?M7ziZp3%gjiQ8#Sn;b_z^M1M z8X5w6=HoE*wl?LrKFo5GUy{28z1N`M!;%lk%`Q!T#>|IpS~gDmgrfmh}fxXd2L zw`ib_*vh%Z zMt7WDxrc*T#=seSAy{sdr0J4pBQmJ%wU$wIR~V3!DSA<9pI`94M=wP%u4{}Z&HlZA zt2{0(;gTGwdsFzet7{p^s*fqTbA8D*>}(?$_D?*w$V{Af?_fUIZOB3wL(z5W&?mm} z2<>O0#-Vv(`4hM;IT;TyCaN3hq^9tCw;P^l^fChuANm(-M35=9DTV#>?lI$)aN7m_ z1|tFL6+GK_)4E8F&1}&NH!0Rx@ezuO1x&AW6_;Koz?|y&nwS~*-hP@_WliCVz0Al~ z(;m~`kC)U{o1adoFDY3o6V|L?$Z1V^t{mPV5)0iIQ12Ax**1F>@dO{GjbOr}xV-sU z;9fG0G(5hTyTtIL(czS~VTSkl0+35HH}-OB0j&kxreIq}J|wn7#T3K~64NH<=%Kef zgYeRVd3&-q8%{%uvX`k?laOL#vdOy8)-xdbopX{)sf1V?a+3HEi~yJoeUf!KmMu5M zxf94#{cjYkw>l1O7oe@u4s>30=912+D`dw4OD_YpR2#4N_8ew+)Lj;alZMNv)i^V* zxfP{JC3k?@_=C#aha^9R7kr%&Mu%dF1;?t6kpW?rokA12<4by4Ul%5v~HnLWLPi=pLT z8lQZHz8{RuMK`*7HSQv4iO=sxVR?DZ@#3m}!iB}#* zk-T*$>F;!Co_AbnqtJz9he#15+MUqUZiwNXR2LyR#<+Q4RxZD#1LU}L585j6e@gEK znLgB2qTy;8u!Ks^XUfN5^qUeR;!3C8B`^pF1fa)tk8d@Fa#D1P`( zRkXHIKVRK3CH`ANN5af!!?=)Et~m?@VJ1@8uEYz_E6|G9+gM@YSUuGQBDdO`plXO} zL_3p(e@OdykIvPQ^}EtvRE&P5%sWqsGc*togM@iplnUOYucm>x=GRp_R(N~TN9g&k zwY4my^A>K?2;pNr;O328 z8{N;Y0WYT+$Gg|@A|9H%;_5^Hr1BdmHa4&o6^B}DgIw)7$7=c#e=-*-v}}+RrE1fX z4=Z}|Wyy1Q}Z(weGTSFAtC=B{9l)NK(mmxBc%E_cP_i@KQHGvo^NR~Xm* z3({^HCf>B6H&9ElQ9p;sE`7vsar`7pM@|-E3?LKJw}qL0%rca3YHX;Um*0~pH%2D} z3ULu+pS+(}i8Ivn8Z6zBOrND= zYDA+K=T2%nOfO6MI|SB+xqNQfYdK4(!lv1t1?W5{QWp6&+ed;fmEKP$Lz>z^vP9B3a zO6Kz`kbjXsQyhNMSBL&E>(nrO;rAGJI}_0a54vO)-inZRDhyB2SyJCAS~hv^JBFi8 zJ%sNJ*13`94KkhLUrD@VUEIkPEDjMA)8m+OjrGl*ZEu^F(N*|NbRoPR<1)kX)1ac^ zRcIjy?QHM4w+LUykk0m-&_k>01LO+wZTZX6PS?(4k5)bYTz-{L&2hH%gt_J^V3L)I zfrX9h@ftW9=-x&SZCL@|=3gE-&yCJwwYn(Adw{FZn#Qq~$}ITb(OI-{M@02fCD10@ z?~wW2pooUS{O4CGYN8a?iKyUeLhCeWNnClF$;YSB3rt_%I*jSaPX1NalR?m^uG@X} zxxBqP>S2F*`K?v*IHJ^LFy*cc&Qk3UgdZfG(Opj(y1K6#IMw^Gymu!{RX}F+I%oz77>ICrt zrRa{tr<%Ss#ze}gs9zVy(wwfD?*!%F>QD)kYPdJTgy|m36?vBFdfKH7_HH2BekR}) zix`G`9k9EYKSig8&7V6vS(d)V;1(WEX@}Dm(WHb( zBF-{6|7-FSep$t&%?n^cT9b)C_vx9Lq_hktUO`Vu^X0CMa~@w8UR`Wq$yxSHQd}Hm#Aq49>KLaI2hGAIZlJ2yKv=JdWF?<(6pqfT;^4b{gjIgPHw^3C;iwYGKlxmv!Mx@s2f^0telJOm;l8`r|k46}uuY@J-e1zv0 z@vg?LV!FiV{AJEo@v^l5H=N8p=*pAdusVa>D>d*jCQkFM5**5WjXlYe-Lf^a-evyq z2=NM^O2gQQS#iS?LawomlzTZoXgh0)l4dEGLc#o+l4|CQDm$Yte$-5+@HjS0=;|mf zA|>fuSjU0*Y-F29yQMJHl8H+;^sE{#{76-d0eg^^p#MokevL6NlzrYfjQx$Bmf{~Q z-Hw+p>AxZ$EBS1I2^Bon&kfhgR^W@|kVkJ<-G;`qvjUqUFSbp{x#Df{WZzv^>6Io2 zHM~va$z}2{%}jYw;D>w#nShf>#faO$j;1%jD8a$4cs=$ z*o)4;&p)m@SDW5J>sz5>hAAO^EQQ)@O;R2@XzN8Eg+dO=df0yFlW;|xWJTe2(pF#f zs*tatRy01zT?a$=xxTGXxn!;*bO()wF8CR;5?S6iPKeZh(G`6llsEFx@)6T$dP`%C ztsC=8Uvwi~&Siybr?N82Qc&kUSO9VujDs|gYU*;7(tM3=F1cQM6s#YlZjLAKi*YKe zOQ6q68yRnZ%Z#!aOdLZu;;k?cY8r1@C-vVby@5d-XHQTXi-$>fjp!ICmZ#gZ+?!kVPCV9zG@w^D)qjXKJ_mw|3|!Se9kiWyUE`R2qis8UlJWZHr*xy7q?{dI=T zl?TgaIaD6Z&<5*YxTOV+bLGSYHfk5>-b3CrVQH#vj5g^|u1G7jTG1z>Q(X(D<^RU~ zK>1pU!T1KaREOrRud^bK-Oie2o&WsC11xo#w zw#JK8-9P`xlXT_Wy-f4ZF|-yd^#<2p7qxbsqjHluo=hQ9ouf1NWBJ8E^!ytm1xZ0< zS&SMj;#1tKg+|J|p4+C4$)mp1Qj#;nN_GX8X z`}d7v3Q5=N;-=wb1#>yk?Cr%`+qaR^{Bn$4f_W!`slw5hesGN8xMyU4V)`foRb02qTi{ zU#@D!p9hku%vYT&ZlDx|h<;K6!DT6>=@>J~haNcFD8v_|mB*?K8Gk8=I^jD?j%fOV zTq!sVhCiSEj}S zn4$yE8`rVe`+(*#t7E`b^dEBi1p)hiP-{GW*ne1PP#eRpFy;SH)p2;55>VFkod1^; zP0VGxj_d$C|Hr&8fPV`1;2D$rGbZNao00(c3`9DRZO(v~rWO*TlEGB@0wN4Q2BNl9 ziY3C(bjB3u8vEmBPR0Y&{1yKL0fV6#;L7m!Iv~VxlRJpW9r)@gQ>Odlh=M4HWA6ZJ z>k{!waC1y?X#S&J6JFx=VgCp2{tvAj=Nkxr>zhJM!U~Br000vfcBf?l{U;o%Cfl6U zY|RUhHMLgV8-C9OR5zf5^V#+$+7|!+5u&Zbuo!s99Wdp5oQwJoSzTo5giUfxR(F7< zb*1bo%?lE6l-SjN-VRIu{+ir@v~;Oh8_B)6a1oYjxLGH4LidzQbjz&E3VJN_Ta zyVz<8&I%&$XkH-3BoqwJOJ6s2F$msFhw(%#QMWoC_~rk@h!a}+^$t$w7Fmz4w%EKq zWO!LuJ(i~Xy~A92+_1r37C4OgHb-DqUsT%X!HQmS9z|w? z0v`h3#Dre(+x|27MVe#}Ru6{>(B9frfwhKez_9(U0gm3x0^J_%HY~qlQ^X7GNO6HK z!XGyYAfr>WaWz1+wZ3%`#c&su6qQ@-cjz~;(dEThk+m(zu|Xz0L2+>}LP_E42Y36- ztk*lLu8JRMW#yWx7=@HWj8nwT!7orn9n5s+$4#1=EUcg@w_M8Jsa{}I%tFQZGqTs4@pv!fps$pcu$(MZFeG{?<7Buin=v|vZjly2^2FP)86R2`*7&VmW~6yp^UrX%c2x*WRZg3800(p{?Z&J8n(Tz>PKCZ(Wb$O9C0NqPEY%CO-Zc zU)hu%1#k}_%gg{Hu5;?capZ9NOMi$os#AgNp|Qc`G>qZ5+76gEDP0u?7LT;288%D5 z!6zYNG+FSfv&iNA%eGran=-Q@1gHznjd2}3;SO|;-xkJK*l(Ch>G6T>#HOm*WuNiI zwWH{W@?P?-l!?j?>^A-*{v7Mx?3W!;9oAc*LYo(m9VM#2*b0*Ov-PdwNR{Ugd}#Gb zOn1K#`cI{*^V8@r^lQob$5^7_TVE-|by%hhC0Jhb4z`l#>Rkj5DEK;a+m&~(OYIsN`dLQJU z?ZwT)T9q(>l$tR8Qsv_$Y9oKEdaiCPnxkZIghl^H23%R0@(PQ&mMyi1(1G{`LU9CL$?>3g0E^0$)1Qibe?xw7pZ5! zRpg{omS%+%4q-m!+7cdNij z>7S~GwX3-9)4B%n4As<}*nu4L&B}xOeu}OAEu!%L0!tf=V*uRg&XJ3Aax}9h!CSQ- zbKmeJ)A#5>bm{+*&zi@vUsLI93&a@HaS9`bPOHmLP$qsUzmV9fcEVrjm0?x=E&b>f zR3Cb~bRMq$=;N2?V0nH0aJ#!ja z;;l6py$U$vKBg7YV8XC`ZnGwPF-G?`jtH&ZA}>h$71K-}2d|lR{Mly)IO(FVDBaNP z?jatUI?J!x%nI|uu$NI+kUOWX>;#0*I@+DqhiX_}H>YFKXssL#o%|t6?v&DvV0Gd< z3yn0EZcCR4(tVHKf|cTXgt$;XBCA#j2^7AcC=Ne;eJ&o#6o|T(Y<_1xm_?RT> zonFg%kI6F2O`Cp4ZHyA=^X59LbrTk7Uyi>+d?07<+f02)OvR@7{`ElrnY*i&C-BoT zo%X!P2^}L^g-svS7=i_=n~{|=N|4J^s+;HbP?rqHv8lrwRmKJ-dk*OtS2b)y09I!X zGSYF{{#orab6|I@hB?tdxLdrxI3K5d*N+;+eqUuNaTTmfr&gkYgwNE3+gN)gena zSO+HhA4qozN>B8|pESp_Kfp;g8QDK2k9(B#+RaCxk?WsWPul)V51ypLO0{2Vj~p6I zuQjdIXP_ZEO#gsYcO+4eo54uxZ;XT@`vC2RZc1k)yuI5U&e zhm*cd3V4`CD=UI6l5`!*jtI6S$kSl;D)s9B3d3*sUc--~RkScYl6=!whPsed@5K}q z15vR!ue9_#Yc6hECJn=wSTg^8Ov-Xs(jY z=7xi+vTTVau7gb|CDGKYQgpD|0Cy<)lz5xl%~c%YuU72ECi?(o9WKVe1X zKLg_tU5qrE!k{hkup01bmJ2PF`Y%=LJow|Lzr=ei+@NXpP)QCVkJ>&Y9_4RuP#x+_ znjK^6MuUBg?~G1Iplwm@ALdt6hcL^bWi@N>PV}$JhNSF?bZw8EdE{_%m2-j9jOncN zaaRw!2qwsc4wWYp!$&|B3Pwv?9bawQ!4yRyXB1W>eMH$O3K*}3G?pX=3-zo`0P7y4 zV7ve(OV_D=TeCW06Nts?j+_T`Cki^y_oA}W@iE+O(wkL1A7A0ib@#ysIYelb^a{6X zl=wB_AOiw|eNhVkjFMwIXB)t5P$PM33OwU8Rop8|#w&CVYy;&7y z>1*1{F93(Uz3%IbJy0X6q*YA9z5(N^w%P_z74GWDUd>fq6+TVt_8{0o!2KyD3= zkm6=^n46NrTi=&+{HyG9uL6-mIHwd)*zlKv!I5F((5z@f6~t~C2AjgEHHeC#D&!2{ zHr=D{h6`I5@jX&3AUzs(nGqrc^2(>VTvBT=SzNHjF_s=+!yy2Q-&nEKe_41X#^b?}^2RW@N?(Wu^#ldQ-DM9?z4%05tDmt=JD@OC7;MscEN3}Ad= zP0{vuJ%{CI(*7VaM*BTK5@o=-GV2PNhu`CV6y^1{1%skG`M<&IbXckFJsFwg_ zxM!y1#xj$FxYg>49guf+tMX38c`{lEQlid`=U5YKcs=k5we&wQMa?=zv7e|BE`-+4 z$ND1-p>x{DgY8PHuWf(!s1SXV#-FYjkD*iz7t9!2Nsrf>$nWcwQ%23G-YFl>pT=BA z_`6s<8WRCHXY#%a7NO9)KK=+=tE}8nGE^?8<`wxf>-}g$80pH`5Yll*n-OD84Ca0E zY&@koi{8!a`EQ7inZXpA8LNa)9QR4~XJ3EMu?}nK70U2TASG0S2Q#8bkK0zhuj-c$4J$@%&Bh*HCrbl>8A+1#>S_cA24b{2PbU)}Js+(BAga z&fwPhSPy)3#Eau$0fY24%S>th$G1KuyHzHUF=`neZN3qxgDdGB_D2S24hT#YReBc! z%F_CEs&bm5t;skhm5j4xgMX+VK4}pWIjTDzQ}!7BPGk8G!%ayVI9!5_AhEN_kD59Q z)6~|!c#1^}Hu(X&!K~`n4g_e8+ z;nNk%+WQr}gqSe#9i9C!C~BT@{7+e(&^#*b9%egF=rCW}1jxr_$V%>(;QI(aZ1_9N ztLvtI|=?!!tCwb38AKE(9x!Fs(B9|JQM={8&fg9?oajVg+J5vXDx zY4hpFQkSQDapy|rR&;q^;qx$sZwPZ&w5G?B2jLqU$bU&~XgkZF^SgzCN|3C%qo5+g z?@`~IM{8){a88eQl+~5`HeZdkLz$gT zRhS@klK74LE2bUt-mx_LKCEdU8nAqGR2M^pYd0A}WTNbFs3+=m1<95xT(PocfNi^E z!I6cvk8f#*$;1gYHZkon#>Z1C=sts5%M3is1k6v>LPJDy=sQqBrLGTjkTOo5kh%ns z7vxUdUSaPVuH<+SM_=JRH$*$Gr&NMX27~$Vi(oPeB1_ZxiZnp`KdN4_;6O8l=4X z5jgikp+!l43tUZzDb@45jnz=l_q)>pP(v?Y&7)_m1Sd z!;{)Ufdj16lR;jZb{k7XutDB(K)&$Vi%Q=6d@mew!C?*Fo?EU^{<38 zo7DV8_tQi19e+ndP3ejXbZA%E4))gvcplWn9*K;^+i%RTyxs zX6q1sLjxgJGbZI`bDxpUIUc+H$F!rt6<^`=<>>OlyY7bBjU3XcP-H}NHw!K2YvMWp zmk>E%A$1SX9ZhB#R#`9Y#DxzS`LcM4)ct1ZN&DdteZugka3>5BeLH5S4aWOxN=H?? zrLVE7R1`vS-Ie@A=@$iI?-=Zyh|3=*KVzzuybowXCHf#E)T^@zx8-QoC-PT@x%O>% z*sbn@Ldj3@9C5+ML}o1HdjY$4H$6d;~~IY)6mT05J+#;+vL+3P5m zFif946%SO`E%jq)eT4hsfDQD0p}99Ps-uhlH%+FAN$T?#YNmn79?UQW<(6g8|AP;#+p8P^(55O&4{@CNiGKo4=+#sz8RWzHYsKdyMC140Jj=NXGt(Bxycn z>}mFVq1|bD^Qd8S7x)f!Ral|pc}qk~f~Az3q>;mb91EmlL)Q#vkPTVR8}4IqW~e}* zqk~XrxhO<2I{U4k%n_k%Ki#K9Uujm5?`7Qu@e{4-KF*YEgdpU*sA(P6r~W)XyKd{zNNDZC zy5+we2SK;-51BH9vKM9Sz{-0od>#m#sr;5baX*Btwtwqo_4yIxZPd3LdRN2th9P%B zJY|p`5u}H{0@UvShBm}wg_ZYg%X8LNulM|kc0&Pf zB|F*Pt^Cbdo%V5ZmLdS%5&((a!6xC6Om;Lg%|_P9T?;12zoQRy%xNJjRt*i$G><|* z)xfM#;!R3uvVteYBl(}BawV;0oGG_d6=CSLDB*Ku&SgF+<9jS7&R_IjOjHj~fgFvW zaK@vLG;9npP}&&E50NkDL=labvD(2@vbjkIEAaW~nq(9m4x!5+f7JG-hN2{n`GGb* zHApvcX1A$QgBl>LgJe%fz}7j*Ur2n922nyRxKBEl9QHhNo3H>iwcu;vV-gB815;it zCRp*jXZPiHF-+hxw2Go(h-R2ICQE4bIO#a%n_e1WzaZxs_n9mjMQI#!r)%pJ^e{BP z4;&sKpp7HK*g1lkr9PuSP{frO09PAYl4VeNhF$JL4PPwl)mPe zS7YiSzXmRg0bSgeS(E%4G!VF1olV`*C6=2ND}51+e(Hfj6ZH=`{Q=OS7R37$)$4K& zw)oJVD0#rOsRpCj1}u59FBpX^)%=J21M+?E$I$gEt~t%W#mn@sLQ@LWyFME(09Sx& z->*{&U&m_qh;Na^&yY7UcNDWS*%oY?XZstZN~_{*b%8wl^-34FBDMS@{zqaL+O0G9 zj>C#tCPA|~(Ob)VNr>PQkxqsHZxdb*PwYF0{9LLID*2I^iTR{wD#C(71m>#Raj|ZQ zXFZngX#uq_@x(Jpx=#2`gBdUDO-NkHr^$D*#KzquuPy@8y}eIe7_qA5j^HLOA4%UU z;BgegAZahvlqeMP=1pOSj1FnqCP@f(*c4>6{yM5W)q$(B83|6BjkOd!J7!$Xd+zIA zvq|oA`oR$fC7Q{Tji%$xEb)+=t*rQkvU0~Hd8c+ohtfD8gdsyJ{k4>igZSJ}w*3jD z(pPf&`lG4$Y>)Bo`NlRsztggc{j} zUzU%uWUb~7#-Z2M+}jaSjsrUK<=T(r{`@}xY)wSzG;fuXf{7Bc7&*Eg=}rtP%Iu-qT0JemE| ztOr)9E83pnHmG4E^6BybGcH7Sd3K2PL!T=KsX*2uT~rDuRWPzm=O==le0^Z>wJcQD z!+kjim*?Z76eTm5HEC>5fO_zg2bJOOCDx%h++LGIr9DBGNdiicUhBloOR(C48glI6 z+LksE+Rx67%vco&_O9#YpJB#^6v=djeKvp9@;17w0tkP)mM4F+jqu0vJ&cmN@?Db} z8-&uL2s3|DY>+vJ4kf4!A&z+Cu~7O@>oHwAdfGX|1TKEDG}35@6&7o_)wEzj&lvX@ z%RL1=0B-UCx2Ui42!32VYb_aj>$1aP=^hv(oQxGmhVp-UCgzmX&K7XBMr&g?=aX-gr|t6fNinq%qSe`~a$sb$*xO4NA%Eq=f1j z8MG*c+n1ef#iSnz;(khKh}gsjWY0Hgn+e^0pi7}h_2vO=fj&ASEf4pcO$k!ar|4c; zL)$+CKHmJDr&^d#{heC1%^ z&m+l~4^2!t7{q>vrBf!Kw|W%%%hVprebit2Jg7RM>N~Lgopc)ehRN|h-rlERnQmyV z4XGm04jJ$;Io7_=%xL}uM3&PdCQlBk%X5kPL6o##?fQy+)XHSc!?VcB65S1KmLo&oYIT<-g!%^O7=r34R#L%Wp>j<@T1SLx2aL+lY@z60A^=0dS&aMt=n!*TV z^KI!@%sW-658VugQ(8x#mER%77ea|?5!`pNbXU*!SekvA>!x{Q&*67*sjmwCt~Sog zqGfuF`Kku}YBFoWASAXppPANAw$X1OCoTSBurJMc69b=ttBYZT!6DztdTco7lF;9F z)W_9!;#wzIKIw%ik%aE@3qSCK9*9?2|HQ~S`907V1F(tQ5Yg1VJzD%En`HDiy3Xqy zZ2O*5XiUvjv8a}_-6Z22owzB6EdH+pvHXdL0oqZ?O z*9r%P3DcQbVRW%&4Fvp@#E@g;Hb+I(Z2+q0BLit}G|8D&8KA%9Qqc-S<%XOB+a1#; z{J8H5-J6e1nNOi}%JwB_6D@2{H?DCA|591wjP6L=Hj7M;F8#~LGhCE#KAibb)%q%G zh+=khwrr(y>8u(X+l)KVQXbukBh$?s#b2ya=3n+=^?B)I@AE}k9)9@yCC;BX@Zl(MOo6QsmL=KEAhod*7qdP2P*%ZrP)cfWov=ZW6 z%Ja}h8#6Eq{E}@N;>&A$41eo1uB&D@X}{4@DfP#5*1&0UDPh{`X&AB;b8kg&QrwV! z%x5I-*3Q11r2o}vNHAjT{Z7p5;b=VT?ZUnV-W6y-pr50;%^CXfYWZdTG$r6hK_{A) zz`Yy_n?Mn&mY8{6J*ymZ46*bBe|LJ$kRl>r3{>DleEUi}yWM;pjE(-Hqdl3XVt-;* zKWG)N7P*g9FzZ?^+zdw>NW)BWn)yc^JxcqXVNS#_i0)4pbP(wF*cl*yN7Dd%8`vLM(dVod7GSDHr&@)Wi z45i!iFjxP;XZ6wc<7yc2k3~JK1Fjnly>rKA{a7-K-y(dhqtQrsar9$X z?kWPd*=w48m&)RAC0l1>U`wX=7Npf3z4c|KiZ9#zO@-BxY91Df_UQ}a-Jg~IX85Ce zr)hv=vMvPO35Dg{NdT!Xtr5o)jitjp*8sNdm9feGKLoc@-I0l?|8)px^>kf?U-j8@ zabcqhS|X-waf%+*LbR*#u7F9Gx8)d2+e}L=7j1iqa<22s=zwO>mIT&P@>yFMETgNv z2P!>n6XwMXPUX%k+R4%UT2RNC455n2P?pi;Sv-Rg}5 zd|)a{H9AJpxiSvPI8km3I|?ss|6CXuL&aWx*1|Zg5KG7(#)n(K#Js`PVRD=PZZ_AQ zK?Ah(F!Z_Xj3{{3bgr~j5GHNJDO-g>@MO@+ACd75dKk02ZNXzQkrg{A2J3S8YmZ3 zXtqfhXR6;u&uXt1zls7zfcRD#d?Yl*oAgDbydV(5r<@;9 z(g1CwkX$CJ58B$5QCln*%}r#WCM6bUXJkRN8$B8b&i{~GYi>90Q^e&l_Y$*-puiE~ zei)c{PjtzOG)$(oZM)@nh$?a@9Q))@G%wQJUyYI_I@m@D0Iwq`zXe5QSW^|^1=4e(N z)EE5}rK`6N?<6cxu^+G`J_2RNaIen*0FU@4qxUA( zUJ)~*ku#1TQah1f>fdQ~5TMImrOX%+To7sP5meeMGY&5eMIIXWG6%co4`5o&(5#zY zs!Im_N!?;&Ghh8x=3u3Iav>D9QoiQ$_kxjUZ=+orU=h_##!8(JvgT(v;)zY-ae!?3 z^G&ayg9)B*xus(zM^NSo9QTx46or$}I;9Aid`&8(hJg*Pvnp`BMSRbU716D_jn0qc zJLD&sk$7{yIj^%N#QZeIo+mUoj8OaZN5(i(2#UCSz!vt{6ZjqO>zH(JgDp_C?S6!| zAq8een|(dlugC#xlA$jdfohaoj~HXvB-;nnS8S>{F8M{q+@7%3v87Gk1poJ$EAjsp zjP;hf-YwDeI65`+P-I8&OEZHNxhLRrg^`pit>ciS(W5q{X}*{`5WQy7?;mPdgz_N( zK4Ym30pn4HrHSF8hU4glspDQU+NXHm9V;fK&K!>;P9M+jH>nn7OXPo63^wH7A*Sq=>1g%8cPS zXarLhhNgTQ%(5x*f(l@^=e`_w(Aj>({dKz<)!4k@j5Sn2cXUfdleqQ(df-5~V9Lb^^6Q}l=9 z(VTR{()IyW5f8UeJ*?4~v8__rAdL6e|p=$y|(s?UUI z*vG{w!wU+5xUq4Rzd`>Tk*U787nvS?2OG8tb4fg!F1fox7P7Mmvm93QCi*QFr7QFA zQqMdc?K2wQ8M;kr{rU$Kv8y#oe5yq2Xe`fc)>{^pjx!I?lJkvYmEgor&wp@eQPrtOwzzyBr9vI6RgGz+EQj{mXo_PhGX@JFLO2Of8C5*w}D}DxZ0ZMqW9T)R{jDlIVhZ= zMpEPE3Eyd1EqT$Dh?So6eXNh*1R5=q73F!YxFI_ME_7x9+dpF_I*rZ!9Qqm$n$fll zJ7&eXb%e2^`eoR`tixYNf7U^fa4TsS&!J=txyb(j{6(b%^hsM5%(aa?{ahFU~Th&Mcin! zm={Dml(uH(BG?7{@0A~!E-T&lEX&Dz0OCB|rpjcfQE)X>e1Ud=n^CYQ`Mr{Qm<6S( zF!`}U6n;$rR5X8aH2rR)6$&g$rBm3N>g(`qlpKjbC~4em&3NNez5#X^W$2mGg4WHR z`B#_nzs{@QQ1>}#=?QEcmF_ZL(M55-;jom#vK{9S%xil<>$Z@YqeY_LC|Q?UC@ z)0ln$o&}m!{+B}LmC(a+C-xfXBRXdL_Ano*YU0`4CrhEF4)lmc z=5cSul5g=p#gMj?E5UqO7#u4UfgdMQj|f=vfS*RU7qK5lK%GWu?rhkB&Uk2E$(;h+ z%My4^!H^L=3QAG#F8*R*a5Py+))?$E%O2Qh_;?!IVV(%=ax#*Sk&(CPTJ2&O+g|w@ zbdJE3Q6FsZNnc<8v(;{&uNz8aJc00a5?csn^+o2phv+W%cYnj3)zBYeZ(?C47inJr zxIdB1+go*tdgU zWg+u&8_L8*2-hbHBD70^I~8IlRs?mli~TV4IeoBl1iQ614iZlRW4sh8RA6*`?EchFIP~h zxNbg?8m<{*x#7EsrStQmK}622HttsiX@4|Y_>dw@nw?0IZiFmz zIYL@oo#Z%sjHLyPbhTyj3y7N4Y`nW(cSeb3fvaQM?pYo+t`uJi#rlJ`NNts5^UeV` z22$Y*$(_&w-vrVb=_br3R&q^ud?sVEE>fXgW*%=lQudl!Zl4Nr z`iQKS=v_Mhk%{}Emmy&=vk73IqGN&J<##IW%c(`#a4{}?If*_&zXHyxAqR&r*E|JY z8L=8vD5)EC-EeN6$#xALZQ_G0_p416&tUWFj+|X#k49(J`TYo$`Wi40=C8}Tn|$U9 zp;m>y9%y_1RO0H-#ExLTl5;)!=pNJ3zr+o(N=D8SEx{UGKMOX#=SEgPWLKs<4kDIA zYe7>m^n5;-@`N6W%t*A6*ZBCg@i4l4ZdnOiNlhY*DxHf4-x8KhHh5(Oev+kCBSte=i^C!<2}jSl=T>CVUtirS zeiQ;$;D*G0SYP_^{f*{j6YV@=80nZz%~O)0|Fu!3Id0}ZA?o#}o9B7Gf+bc^*W z`AQ}pgpcd2q|ImN!c0Xg7;E7kEcMNFVe}x_#-u8ynQo%=$hrvd4ygVei4(7lgI&?X z3i6aRT6~P^XE76&GD|s(G7lDy!F0aDeCjly?x@KR$Xl+nUaua&LIaC%JAsx@eZ~0^ z2R$StD}7Q~&z|*80P#9#4-&;vw>S=w5D26-Kj0py!B`eF$SeuwnZ#m&7;X*am&@QU zbQbvwUaW$gq0vj#hl!DBt&wbnK3!^bImtrlYsDMrw|$R zlR6_Zvu1~JxnToW9szeG>votoHBmYV2lmu&CZq^#)$p&x3(pBHPtO+*gcySvh&5YA zwre$k0Rfe(0&Ez!O-3$&e~eGTqCph^Qlfgh?sS;p9Hn|eVg_Y>gipiZwCkI}Kv2T{ z^gOt`+|0Ne8}IpX-QU9fg_zk2&ZbXvfMqT|Bh{OZq1Cd^)1MmGUW=1_v~NWf!w%CWMXBeB?&UhXfkNRAd z`>Nh-n4oSz?~72K{df{R2&?29Q*>UrGzt_)>AsiY3)wDiMHq2KH!jx0(w~6d0^(uA zL|1?NuR2UdJ~KUKz(6^jr%fpPEI~6j10q~E9T=l&&Y6%w zLrAuHzpW7a5;&&mt|gg5g7oFg?UmrC1!P{vcK+2jbn{XiGh|Sj2vP>a`aMRl&M?1% zcVI7Pbchv7@><4Bkg8-|+OgckQS2yIjx`gGg1t3el7Tp5_*1Pt2)3<(ch*eJ6h}pA zTU!FGprmL%D+ZfGkE`UXhU)IiB^VS8whaPDOxRc4s9u~))tt_MPq7owX~|-6=Wg4+ zYAYb8g5AP)UaRjsm-SDu9z!*pGAcbEAs*s$TubWWkfQBRxu<~M;#wi(;^Ht3{Wt_c zs5?yUUo{~{d&37Fjb(&IOyQ7*JhR_>4zB;=aD+U;zSHg3JT^VDmBwoCkpon5#h#)C zhEpv4nEo05TXzJUz{o{zalUUBq}H54$|{5@3P{yc*IfsA3BA!LXqw&6sy~#FM~OLa znq>W~=k+X_Zpsa!^FV3@WTG7Pk=Ibr8X`_Y_&mJvbJN>F^~dn3=$GWDmY2ZtKB?Kd zRyrfNHrO;2wJaqa^n17u`yOV#f^UX(Ehe|YUQxt4ZlTINfW@o2z@fg>wdf2-@+(N& zktgqotAd&7dFCu8-pR$to%gbkAo{4D&_9FVh=F*Bw}_HMhJ=th7#F06Y8>6@|JHC& zAbt~O%1zb5uuHW7pvO{2QDYM7Ga)q1-KT6fT~aW}{8>(E>EF~v+6fJpU?bizoQ|h| z=RU#V6luEuH26eba7UU5cQ*P}bm!S`iHC-Np`@7qHcE&hK&D8n)b~yO#E{chKZ}|* ztu80|iIN{ekPXbZn5x_UAf|CT{vG&HO>HF6VWtAae2=z?oh2xF7xh5odIr`sC2m?vF0#pgA6bC&4Lb$ z+Yz>K^1gj5daXMQ>VV*pR!h0dba@J4bXw&bU}=2H*xKqQ?m}<-bK7|LZ)JGd)F^AZ8L$GIe4&6}F;t5;CxKi21zq#6Ff>2*Tw2_kH#AvD=!%@aZ{^zZiRC?1X)Q zzbLmDghjEwHexI*aChc{gHwc;p%g(FK(Kn-Uz#;cu1d_p(v3lcs7+*=M#6&;bt{>A zredAC4GK*ml7zvCc_>&mf}N4}{b+;JTr*D^o&^`@gJ9+0_B-UR(hW2v>{El%GG?&$ z*{7_VlskSE7lF*Fh}3C6S~o_FP!h4$oyM!KOWA*+{Ac>Qc}U@-bn_*08?Ti4M+R1A z@Hm$LWg9-BdQd}b_HcmjVeo~-d*B%-U~CTb5Sj9LB5@gS%#tG;${}1Rl!1*eB^lCAAIRod0hv|y(nv}*t9WVhirP7H0CNvD7jm%um)r77v zE5-3BS_=vyxWtLInu1*aZ7|K0e58+gDW$5m4YVF4Pm?S7{n3>XzQNojnaPb(X_T!u zq6TGN>eXT32*EwIuYm+?SK;&bDs@O&s`v%q)zgCs4fFzDfpVkD&cER$W=enbWn;#7!9f$&0kb ziG-nfEV_Wtg7PQs3!K@Vn(83`EPv+sojm&jHkH{Icni)R zOZFhT>oLCmQYUSK?!&R5B3+jxfzvuFoA?hekLGDkIr`HFeAkTI?P+j-DMCln_aF}j zDdRU*rtHNuO5ix zdYha{-h+)n%DIknRHF~^E8geezRc6hFqZ8O015WNUTm@j7nqQ%B{efLbyyNdx?`0R3 zT>-U&3_Dd|om|+T0fsBVhqx{!&A0I2$)>|AF&zFITJ`vslxi~zq6 zg_Wq-6#~_rFhWV(x|)ws;7+6nue9H%jtLpLS+{$T1)u}3J4Xe{h{5%-;+Rm&NbFK` zLO_1ofkP){!IF#{x+05p3fL3Q5R>rf=oRk`eGlCafcqNvJk2>PJ*8izzh=Y5M|jsg z@cS}Ko69!?`-Yl6m`?fw8e&qX z1)pS@Nxx;j%sgR04xn!>G;>wJXunvNQfYNjiUdtnd!Ku^Bs_^j`O(R<+V zI<^c7MX3RtV|MxhMTRybSR937O!=XTuS5+3*G_O)4W8fu>lT$c!Tq{L-6Vo`!c%{-2$r({0F;Gp6Y92!~P_5c^R) z6wI8UYroVl;y4w5iv)Z6@HezB1zBKum5z~>KzrR6saP?Ly70b-|77^EA30Qt70P5f zgy6U2R;B1pE_C=|QytL#sQiA0qxJX&I=6fUEI4k(np^bgj&aPr2wkWqqu=(}mOrsu zP6gO)YyZkPlzVGzl|?rcU7Ep4^0TiXDL)k8 z9~;~B>ukgP%RzDi*+SPbl@a)W_9Sa8q0;8+zN^HwQWTvoz0bYZ9~8x~r(kooMl27q zRIrK3>LAb|_osoGa^VL>(*@gD?(QPK~U!yI}wn3kd55fu`4WZto@hE1q zQsiKSRl_f^ZrKn*BKT5Z&ge})S0#o z*jJ)Y<_fhL!D0iOO^&c%cFY%?M2CzERk#l#o|)k&u$sB^mP{L>KbF&g3@(+UrR|rX z=;ZRAjH%r4zVJLi_N<8l&LngLQf6wMhTls~;zuj^Xr^F_g}u5EF0+v;cP!s6>nZ_{ zlHr}by0TS&xW$31QtkwsA3|z8a66!VBA2P- zk%6wan_eQv0W3nR6#F1mNQ@{?GLK)goZ!`5o$rAV>eZ6)$p&wnT)PI3-RFFzKifD|Xa${T^JrEJXP6sC<6{I&}B+g6xqRBwn(D&ArwE{RI=wZ^Q35D1*mN^XGvGk z*&feDjQdR=grJp4;wbzJ` zk;YAeA&j3qmilLn=41Brf_~&}(|sedklCay<%o%n^}L)N{S49CQ483`aVfyOFLeWx zbWFRzGu2R(P^p92ajRYwS_i^9 zJ{ns~8|((iWpGz@Vao}VuyhjjS%jZ8Opd|cuNmFB(Sy^2H8bLvSMe{`O zTf|TPA>emYLo~J<*4s`kqgD2o9oL}cqgbp3j(Z@S zM#?}^7_~&5;tgiE6-e$A;N`0FN7!9nNg{)7Q<(T^U|a-t`s^`wJ@|RMtD?XMnxm+_ zZMFhh^eyq@ZNtHLF(T5#_%}E+lq**uVwN?|eA)ldHQYX*%z(*s7#tl79W1>TUc=%( zK-E({+@jZfOebadsVJp!i1T1~wBfp(IB85GzQ-R^SJs0R&S(&iV}y;bk(tgW!UgVS zohfRSf!&BMWTm|-O#2n$4BWUyqDC&}bODG7T8(gmRQiSN`xaw~JZ6wS#IA)Rs zk#%%Gay+Rsr_xl`duU*KeZb+zSIT`ZxnIw^{`4ovjJn;_Fv1Z` z&H!i99=({jz1drsaj<++>p-Xhm%PliAi=GNZW644M+r_&9Vsi&rHvUfOl zSib-j?`r0NQwfHLKu7hYKh8Q3RAFMilY!x3R8XDnrEum`&^j~qoceo-s#$@*2PUX= zla*Xdw*G)l2AWb~oAg{TF+q4FV;)D_Yr%>b=F20zZ++Ta)Ns&v)=R&|UEc~0D(l}s z1{aX7W7PFDIBh$or~ESm?dOK_Zv*sc%>~`lzJ}ixU zj3e+uerr_n+o3hXyuo;X%aVfL!n&R>cF-Z@<6UGNGbI8l&t1J955t#`bI2tD`XOlV z$%nsHKOZg^$z;t6M?RUNT}4me5BEy{EriU1eDfdl{IYkA>*--BpP`Qw##>^KAeaJ_ zrxG-$pz~%64_;HjDO~?TT~>#2i}2QrRN9-%IaAd_qgMAiUA@RUhQbqlMHD3`@1*=1 z3__9^9EiUZ=`Ts6ed}815+Cxv<-PzSVqsjn)r?6Hc^%u#7+ zL8<9d4xBZ`@zg(1_7|%=8^*sX4=8&Jd-`OhKN+;)t*_`?OCyYGSBi0D%FJ+geMo+u zB`p1^u0YKTL)51oWztB`kn1Ciq2NuNS;&z8Ff+r&bwL^L@}&`#Zp)OwxZ5}ueuMMg zA})#ZgBe9QEcA-h_Dr<~YXT3W4P>6vL+lbHrLao|g@J#jKB|~l-Qg~@UdN_0*-=;p z$_jNB<9>EDxk!A5klCgyC{-QCCChbd!lk(d*=_|@8Ov5Ny(UX@Qq~1Ivb-llylK<` z8r1V355Jqp*oKRj5Io5giqj zl7oMgRAd z)*xwf%Qlf}`!QiW4?dES>%kR3|0`^eb9q|fcYzf3T~IObhap1&ca7=fgcv=xK`ajD zn@15l42M-!@$hY7V031z`$N#Cc9!dNECclsq*IE-n#GsVfRtgkojRFCtkMw00=-PP!p(B#w5-Zn*PqakYcyZu35GWm>fUuTOE+8}MDEc2tnl}9Wt2^{Z^?;8 zOPC|03*N+LvRTBBB7x$6)b$f5ak@l2jf0uz-6!xeYGWGb48tF?cQqBJSA)pWrk7A_ zkUNsyE!H96%ph=YB>x94#Z?%&WkkIh+)3n`Wuk|%U6nR+IvM^45eg5x@AedyzsB^2 zDPKAmnRKGAy9eEUorw=vMT&<~n$w60#NMb+s9& zU-Jd^=~lxJVRijT9eBl{zG)aHV_zZ9!!>8PEOS*5zZszG;jSX|dbi+^Z4;8;wUBxv zHn|`u?Q4WlMnIGzwT0*|!#-qJI|gOd2kSrAp)$#5UvReY{zt@Ps(WopulIeC6F?k8jZ_IyMdO3DCuYek6dp#GepbIFKETAI z3f{5TqWE<%Cy#0^!`AAK&qIm}WZ)5zq2<@|kI%84LV1LJpm`j(3`QxH{f79A3~ACi zvz3D(kP&>DkIWNCf6L1RSFz`@y#oq_%A(=aotaQqaSy#N$+9*ERfw2Y%VlY0ft=0X z6j`T(nYRi2aI@T^v^P*Il;D}{aU>bfF0lWC6g&I!?P`2Sgna87a@OkD-CbRwf5R&eh>9awluWjZ}A->&5u;a+n4dXBM4j7YoHmxooFMI@f+Fd zn_{aZlH3O^Hz0|7R2-!@+p<9od3`iAE-s^bkKi!o+1I9q5J)W0-BR4IwyY;dG*C@u zW-uWf;Y`B`*w@tlgZIUDq&7%s%GDt1_#u6$@g*oNKYP)UmUGbJ?uSSq57<$mH>$< zrQcAsiP%53^`}MhW2tjWzS-ScnQuHr9bsb zolOM`lD1T^azMv#u+Wfo>$SgtG=**pj?8TPv~DE!E^N7jNmFP`eGk(`)G?-Mch$~} z0pPBjS(H|pUkP$#&O}W()vJp7fe*=y_G_8rFo)anCe&`P4tEhg7`G?95ev^OL-pXZR_SWZc#weOyRpBa zAL1DCA{8O14>_DRv#)2^$UQYyy?}!g{``2)7e;GPu>TA*%+epJ|gn5!9j@}6z8nBl(Z`1bJy_DjtZbXZ!Cc%}vC%H+12;B^JQA6{qtxbLbAa=SpNN;3v|nS%~HeUt`c zc8UC!aP1dpS_=__y&}QhSoj>*&DOig zg}!X@UwQRQthylnh0?_rgUX0y^@dE>6voz)^RW!@KqGx! zHvz&+yJe6gzfL!5u;q>NW2L3U3YU`kn_$Zz80AbeI@9q@Rw(KSLq85FEdd4dvGplO zQKVSNNi}?(O>GFz_|!6h`F$C42DgoGw>v)Up4HVCDSCXKUqKt@5}4WZTvP!mOPk06 znHY^S{TPryJ=$j2+ZQ+64@ep4RClL&6!(0oud?F3vbV*#J@kqG1Ix6>l-A?N@+8PKao8Ps9D;y6c8n)H#7PN$alSdce>EtaABu@Q7&F*SU3p^sJ z@yJ}LuvaHEqLv6^R?Q0Y1?-$*!B#>~Kcn{H)UcklPw^vZ?}sM8OQng3KC(^#v0=I@gh{*VOfVCn>a2_=<|9AS6O}>!oU$ah0u?<)9ug{ZqsY zU_96GncvU$HGhc@vMHf60~~SrZ%}Dm!DNs*hRf_rVe#-7gBn1x++AEBM^(mg-}MpO zMEJxUlW~9H=u+3Gc$v5u6JEk~2Wahh;v~76ONk-QfYAQ-g%v}~KFr*VfIq$#eTXn@ zE2y1C`B-Z4YoJ%W^r7pH^o@BH15sj`8fwg7ej-hLKqrC~3a3huFZ)8I^yK-3{tj~~(R|xF2`dBJ<&bDxt)S!|@@MpEIl%@6 zPD}(JepbEe8LEC0DXcgE*Kp&_z=Q8zXu7qLpCU8%CwDT#`@mCHxA$Z15>XNC-^^#*b5swVqB`MDX?ilZ33_JSNeG7Wc0Xy;1ztEe}3d$sorOq=QQnr4`_$oD0&DCSs#;u1*24oy701v5ud# z|GIG|IgH)s=*`cJ=3j{>huTaUb!wl^e|2MIFz}RejN`{lhlwUv{}qnO+?%^@3!gaD zUZhCC6Y)dfInTd5zVu5+ijL@?`mcU(;HW!FU-_>-l5Ar3QRTC231TtkNObW|NwQ}| zQLQ}#{SWtA@a-UG^Bd}yNKwkKXuq1mPOtyN@@v7ng< z6h)dSZ@o^6HQ!I!Z`SKb7g)=+&k~!J`h=>R@OX?q?^;f6+l0xv`CEv;O=yI0{%%zm z1#`M=k>GSJ?^YE|#D2Ycl^Ek3Yxp+ug}v$?A$~&mW_UI`Zx%dD8;O7&!`d$3clh~h z#k&Zx9?G>ShXn*(dv!4o?_!n>=o-x--JSWO0TzeE!pqMeccEa zraX>r8wKynamIos?-lbX(SupjsSmP5FV_COpVbGWa#2-^pjS1*HVUQrd%?#ZmB(+kD6yCkrK9d#2k;<0g^g``{ zE**wjxOq!ZGS$BeG|POIwla`VOl3LxL73e((aWEn6T0nmlhloK}X!{0AD(FH?6&Z$-gN0lC(Q zeTDW$)c?5N*i*}SX%FJH{tN}Y8I2*uW3=xR(~&szg8@aQxdBKu1jD`{A7dH5FnSXt zWY2*TP@+Fvg`tDA$URUA=?k;8cG!YDN)%dtw;h+1(m_Nt|E<1(6ngxK+c>;zsuJF1 zIhuk1;`<#nr!~@z<)s0Oorh)NF}vWO@;y=Tx(5KT*52ePWFU0SA0;{XAx}G^^|G9& zsY!?dJC4kjM#Mns_zRL5J*xcg09;Z+S1C*2r)PgsuaP9v90V2!8W<5#?0*lE5}*0! z6|}h%kQ9GE_>PIa^o4-D#~YjE&5fH`c7nIm}iKZ5GB0Jb3LbgBQ&QW-6y}y zF~7y@m@)Y&nqCxQ)9|eow0Q7;OhbbI z4>nG7KJ{nvf^sPQd-Tore?kfuaFMc7OruY!3KmzRkM|kQ-?HnPq|O_J$S1iDh&*=@T)8T*VP7#z<>FO@cIvmH zpJ^6>IC%~$=0qqWL?T!Cpu}1vI>sM=h{@`AZ^Y0 zler9hrGN^zlCnF#J zlN_0FL*ZE9?nDZ^LLcRJ^?G5h)eKQT2uVb!VG744=?uK*7K@=hx;|!ZDRr0SkJpl0 zK@cu{r?8$-1~Ae7Ec}e&oQ(1)yhudAN*^~HQV;_V;1xJ}-ie95gP_T9iadP=E?xIM zb-iwn^0b2~a#(HttR!gj_KZ2^mW&`wVuz=#2?eWUnsbO2d?^#+@aAgqCW;pzgWK+a zm+-PYaTMmbu2%&pZKk0Jw20=l9RaW))7kD8Owc;GMS%Rq_K8#J{kp9eoTsi*d!TJJaA^dtw z%Y#ef=-R0NL4$?SIG06q9;eG`>B(3<6kT`k1ZFw>-iyI!u&E=)p}u{%h{o%Rlo?S0 z`2J-iw`_R`v|B%x>w{JB8PCr%;<{)EEJKQ2-Q-N9AGK8u1`-uN3i2>2Mowz!(*Ztx z-NL}GY)x~Yje)25aYc3EN4C4xt<);OWN$ z(q%ed7&0GK*v7dI`WC|0hMKPRhs4cq^9cXQ>E4ba<^hRhp|$EE?CXBfn1J8ct;B@| zB>n}_FF=8?cm0CQuG>%a)p2rLA|@HOQPrH@kCaplLyD_6D&a;vp&`L`w;F`xl~U2N zI?7l@UuS=*ukf!&ic>>y8XK+YMoQhcoKL|GQtxqm&t9d9fR7}bI}gJYuz8va0rJbP z1MvyMCCZ7tV1`QQ5pI1Ivf_jSZbCMGVIDi>?D6W)+ghztbO|Jp4Yr0u zWsE)~u%a_^;6KUKhG!VBIw49ufHK#p;bH59goTbOHPh~|2 z()}xvB#lr(h;?C^DFc|ZsMGS=VHt_|2Qcl$ZP4Y(w5^1uO!}iu-)J#+Lq3r3Zq`8rJEW%-wZ`ZL3|j_bVVQ|x-|TVz$hms z0^d>%#Z<(H+TmhLII*4n1DWksGe>DLN8Y}O){4=Pf=(AfGSI^TRP%O5zYm*j{sY?ii@6W+>`TGOTuJ9*;B-Pi0tjNIA(j}2OW$#OS$-?W~4F)B_gDbTD zQe_dCA0T!7OFMnGFNG&E(T`dk?AIZ=Jv9%yF5)h_uXi19he?lE1K3D0Pb2JmbW3GP zum~)K)yfM(UU^YzCq9)w7A^{?4Ax=#6yPCRyf&ijDB6>O0H6Li`<{QKQ_Ltc9micw zN*BClx)YJMS>1Z zv-@CI@EZs~Nim?>E)C$OM#^B3h5`zP1wHL9U`iuU0vd)(?v~Yk0!#caSjSd#AGk5b z5L)Xt-E?^sQQ8Ba;BGn_-#Nt4mqBfHn-Nb3Foq~$Ij5DH>DTjhuQlbYY{EW+wwq~0q^cpR9o;n^X^x5XnNA}j^6 z#Tkfg@r#D4U*?}FEAtf9gzEpG-y)_(!1w}KE(28r_Mv1?4M!3*u(c=7kckbLlm%h9 zkU9cN!aMdjwNK6xMVk9=z2gQo6I8FO{?(C7PlId2tommmkP!Z=Dz)5@Ot?(=&%Q6o zOE9q_imGOj!8qJRbg##HTCOjH<6chfn=j5ny9?Rot9JYjyb^Wq87k${I16bDEr*?V z?{P`^&)Bj3cX2yXfqB+f4s83_AI2O}JekdIbx7>5-tDgAOsw1v$M5inh{p2>d3KOw z@5-!O0vTKU<8a-x2ptnppsr`}COLv!nmsNpT{ak%fJIqG}Q;M z4|6>z_zD=Kn2$9tApAs?=3jU3MI3r3HCNf?bPNt zUW3@@oygR-4RD+lrF>lC1LQcboZlL*V-%HffQkhx;xnpkK{X`MQr0f;2Vok43abUZ zlAgmHkfjoV_M!WAri&M|aYI%kiyZeUQ5!bpj{fCCfEW%^_7AUUaXs z1zQWLPx&AS`(9VW(9@wv?@tv{n%1ZxTbzFrE2s&wu5i9gOMF^70)A+AF4atG)V0_B zkSD8xIT~BwdKAM_LbNFnN&f|5-ja)ZgB(i3;z(+jGGnAfzOYGs7^|-@d!YZ8tPqqi z)>*t8Vzc0;$NTk%%I-rgiiW3J!ab>=ue^M{xfR=C&lrLcupzQ%;4XW;oUL+CmW~Yk-*XH8RKbl zL~=n0wx`ReHevq?f{Oc82|F(7;MXW_p#qD?uEE$!>E~(z%O~#tTjMoV=nQYsu3d&()D_i*uqUdV z2@_3qTjI>mOEYw&$$3_@(MUBhLpf|(C){|suM+?G@Oz3sLxN8{-0ziPk8H`aUnGKpV`gQZ$SPl1gEhBzcQxq)Wnawa*Jf26TjmQ8J1L4BLh zIl!l~%6+4+?hz|t%q3xpM!{ZLQ%~VCS@R{tU~|VJT)Am1YB)`k>zr|o_rXE~`CIC; zj;+pJj+dtB%Q>0YPk|zBuJyd80kjHgJpd!=@l8(2KcK5$KWKjYa~Hb{DGu2 zW8z^{_{aoJt$Eypgq(4WjYzH@O*;uWXOfxj0ON=dx0f@=yX(s4lymUAs5k-8NG&A! zbzX;ry#RgvIGt<(u6$}i7~>}Ne;GF6hHo_HBp7$4C@{-lP8H})3;T@zzubesls@!F z^`n`Qr13-Z{M2>mz?IK=JP{cH=Exl0v`HcEx!jScssv9ZxmMekitd%uTaPqs1XESc z?_AkaH$w%wQac_kv-LE;#-`ziv0;HzOpuV2q+6kOEth)I*Q~+1&Fa+8O^14bwSCG5 zik=?!V)5r-aDf6xi4;~QY!8Ffux|ANbS=}H1|(xFAdZ7NylE!!r#pf^Q@#xlv3gdc z&r0usR)Gsj!+a1T#p;6M~U4tvvc09TQd z$z$R`z(1Cow?Xl7y~+I$A4J9#1X*vZ0;y`n`2SbhwZ}zKw(Xg92X}Uv2WDW#oq=81 z!Cl#v9hk*kTu!x7fLcm@vnV9f8)$cH`YLLPO&;10;2QvVvTKy0$25kZ_gQXHl-<)E}sGB$TY z?l%e5m>-XhB5lfw2;m2fv>GRmpL`Gn$J?G@Jdvh+H94nzp(6z|WrsUA8B;8JRjI}A ztvg_MD45%;tId-S$Z_10ylF%~y%bGH2%N^LlgFT^5gM78^EiE#KZCCp-c)(qKx)`kGZG{S(3F+oS?D8#$$Aap5k0r zxe~n=BHDg}|C9p?(-KCsXwYL}K%&^Fk=EjMOIF0`whKqqX$q*{um0vcE>wh4eVtF) zE-SZQk?kF?+9I&pPO}Y*E?whD$B@yeZ;=f9?9Yoq>J|B@iYj%jKWFMo3+HXuwlpq* zYJ3G4)+8-l!2YIZxXMrM*BCKeTB$g9fLN0}o*SkD*L3-`=~|LwRzO1tS`sMr5%6_3 zn`-iHf@<;RDJ!PiZm8IQG={?_Re7@cbjo@ht4V(pqcYHLjs8=OtZS&ow{~uK4K;jj zE^%)y&EHQjF=S!bTH<$DKVN})>1R`|^O+;)g=9khDybAtzl{;|VV!Con>-s7 zj6=JnKKT8H5_mG~R+#%?(T)B0Y=EhnZ{=sFG2swHE~%Iad7iy#%V&Y?4coi`d?K)U zZxKNU`tw1s{ZlF_G_uyWY>(0y*Kn+1f6fSWDVC7@OJ+$JDyF<>U~UAttY{^YEDFbT zJb&6&P5uQU3GpUaxZD1QQ=gjMUPHWg>fm_<){#lM+@eDs3|i7YZoa%lu~I$2bOK z^h?mh>(u-(Q!}tL2+brLhee2`8oEK+kGFqRvm$xB>!NWtB<;OSf>Mq~ySxR-bQ@m0=s?sr@BXuE|zmG!3m4gCT$GN+p4f%GrLOV;77YdOGX&AV1B z?Zmq9hM6QbtJazI0=-yxy$?~}dJXWcLV?yfPag(ccRA~i)uE4~>^Jnks~I7&{IGXB zS`(|PE-uF36Iw#s;`vv3H5rd)>A3i4xzc*ov<6fKXVm}#3@wv=kISMdf$PzsJhq4Z zn#hE7Mb|d(kJQn+(PDpyG2nR;BeC;Z?TDc4KcZf$d;=zV-w*DR+QENAZ}-plw7t${ zhA}A=2$FD;L4QH*Nf1#WYSv;^;)Y;(H^gdlRL-sDq3l}d%2cE8mOfvD7J-tJlUbNf zWOe@7sfRSi;)3p+!Ych$;>MC7DRmxT0K%zMU;*}w|S4Fj8|S%=_(n8XgU*{|L7JpU-GKSgil$s+ zP2RDM$!ZnsaG~KqosH-;+n0*$6TN6l^)7yc1$@uej;R73Ne@a6lB28(xaVk;X{q7! zpEaK2Q-D)XaJ%^Tsm$tLG; zD*tpG!Hul2G|uu(l;JiJMo#1!)DU51rjMo<>8(Rj`{Qs4=v^{%>?jWj!t0P{v^HH- z4o(Nz>YXKw*8ZYY1Vg@oOfV<^l3cOgouCjjMOrySM-vlV37$7`^?87f_7N22xpw_l6 z$4bl0E`AwIjVRJw-`FWeecj*bVKUGONt4UBa)yt=AyC6!O5xQvbb17wYr?Sy|@-Fvl`qTU#_l#*20Zf z5sBE~EaQ#a`r~TsVdF98S{A*rKC0uKEV2T=*<1!7NZGK^Lzr_j=z7~GmHkt52mrX4 zl{7arNxDGf?=BsNU+-M)&mcofRs2J@-l>^KKFD}OmB1#u2?0$@d5ZJ}?g=b)I;*kb z%P~?q1m5d@fsLxI&RwnRsHBve5x}ecQ?-_<3Wf|9mo4{Ot}veaJ`}XWF9Os^pV)@O zN^?MHmne`Ag@*Dxb%jY+n-5A)7@QG=%b#Zb#vmp!S~wfU8)R4GG$5{iNOj>Ye`j&QYaoCt*{`7ST&m5#pDj z#(9p%HRjQ|gUQ)-;oRYHZh4y2VCC1Qq~L9946wM$SCZLjueH5xTZxgy<{i2`RY92@ zZIjxsh%G8PYO9_OGFjjiuK>;Gv8mjLA)r+0+-dmCW>dH~)EyWw$KA8LMwFtV@l5Sd&zD)ggeHY0NzEqV z7w{G-58wKZYe@aLK-k}_F%&k$v2~Ogb~`RbHrV`fHOV8&Pgftkb;Nzc_pq4t`=hy&sF`rbE5@<~>;wqe{Eyp3a^^|y()KkTT^+pV=~`G%+FW@HNDoyPpecy& zOHQOCq@lQ*cMn6SX>o3#7_XtcE@Gv)cjgGf+`O`7W0PI~>oy`KYx7jubN^7{G~ zCddu8l5k0lm<IVk>zd1z`UAnrh;mc{p-&EVs3ZXw z7OGqyyW+Bp{8{2z<0EJaZ|^Vr=v8D?>ScxX5jg{15_-q9?$!@awA1VYG=S>jv|P{X zbs@we`6aH50Sv1=mK~beptxL$o>!X`eSPN=eo`>zv9?us`93kgVmO1^GPuoD^6TK5 zVpO<6dOo3kP2E6xV@hoRFDijFAaV%vm`OMo)=}laa4ChnuuJaC*=1uoWX5tc`jLMV zvVt9{nDL_fAz@WK-zc;_K%XZDKn8)t%+p$)iOAYSY|D8X_-@cHj{7VQ0-rlr??IT? zvy%=TI1<W&Y5GX9=$%%G{ zOitg3?LF!#u1vUz`Pm$W7$A(zGbhoLK{RAa5P6K%x*zs#7cT*SwaOY!9e10|6G6sQ zs%sU`PNr6}=kTAKW`GFFQvVjuqgJtIptKy9MdP3Jb^58wrp9r^{!$5_>_?iR)%|{) zL|3|ZR`d8Wkx+0$q{{kITF-P+ z**HzVb)tS4B)TIzQ$L`6kv#EQsG*VmBB3sT&tq3}4|2(uAdr(e34B;fB3v^G+~C&)*E6nzl&OwH?Z zA#K10r+r}Zg)l279(o5L?#t=wUxlj~Sg}h7NT=h>FyKzeH)rHLxc9vDtco)Su>fw3*bYDk5%%iV)N4RWe51EW;&(cOAEe;=> z^Hn`Kad)=#gwmj8zjkfo+6Mz&XMdh}2|es&)@qR2L+v9#sm^%a^d>FT^>-e39Tuk| zHp@}Wr5#Wf&E&r8Q(8>zcF(d{RQxtU)Es-mxkY-VH~&7l+c&{8gd05yy(#GTGoDz} z3#dy$K=(1pux^}xtA-+q6 zRu{?X_?LB|%_}WeNm?Ho;e&n4sqQ3nP74{bf2u$WErFhInjC651lnBFQC^U~QNw1V zhGcu4t1N2+u@Ai;iDr%?(UCoMxs``~W_Kq$4F6V0r@SIsruICBMVS5`Oz(E$=Qa>? zbiBy>HJ)Tk{}|6)QrX=Ii<67_Y2+@?3d^H~bfx{L z&Nt97`@&YbuN)*PBx|Ove?aFc-6Pdr^pL<(?0D$?N#(9Q#vE(}eMrv1S*r}AJ0_3^ zPrd>kzw#O5lgxm?nmRjm?M%ZX&IQsg%yk69ff>bUVVv$@nuq_xUChjmCTpx0oux$h z-rwc%dna>75-62GrLRozMdeJw7o#uLwgpN{s)?LW|G{2k7Dwjjj4|j-&AD};tSK7v zc{4oAG6-E*+IT#ozLp<&Y#~Sve=|JyhVU%UT9K2idp2R{IOBMBKNF=9-5S8xmZG<^ z?Z0^zP{1f)n;Vp-g(v0nrSFw5+q;)JVroB6&lVa(FP}I3z-<&IO`u%FKO#;Gp~KAY za%*{=e&J&INLGt5I1mar$MR2&`%Hm8GwTx_^*@`QpvVGxQSKTBjYQY;efvOPZBdD9 zjB|zGbD#+tu8856Sj+9%!j?%wZ&ghyy_;`2eEzDDhUklgtYAjV|Lr_$oBP81r5Rd6>*u@g}r z@{h?y#2$MtGK5$pTf=)~p}e|_N#Nvg<~yFc-T1cQ3Q;v~a{zNvQ6JkM@Z&J>mTTuPjH6x#Y189I>s-hNFG3uH@s{vivr8kfuJBH%Y(u_N3FV!8&_78be}* zVn;FLgw>_cB?4AJ6_b0J4=GR%SHlWV(eE5caionjK^R~z!Q+*}Ix8+o`-t`%T;~Au zZ~=H$)6i&=S+8%L=7`3rExDK+rmBhXpMmN|hR zcwrTJz2O2{9jk9=JJ+9Rbvm6^+n_kBW8lC+_Z3$8YW}?K|KYW& zd{>aa#{271yK=^k&KjNS9+}2#$t>5<4ELzC?A-e*7y`)2J4j^^6Nha?KqTL3A_!TP z�ZMP-P>`tj7=ut$K(cB5nc&|h8~b+6DJEHuECy8*>r$jl1B1^bcEJ!Zo>6?IA~O8$-*gx(7zyDjj@67 zIiPULbZ@!Oh>Z;QpXWaWMZ85tGkvpW-8t$%QR6S@#|z&*wRho^86_3d@1CpdIk&K| zs=!-jRI^G}8$HSY`%cY)g;UC>Rn78EEe90foyvPm7FLwsca&>!^WppwlPVl;#je5v zpd0UAIjexLxx>(u(3~b!Quh$<9?u*W)it2IKSBGk82nR!*58Y3V^}S>b5#s0VJ2w( za5k`~=AJg_u6EJ8fgJRUzeJJ)i~0`(|DPvA*Bptv-_TAl6wX}&L&ca0I`*ESdo9~- z>xo0b9Q3-skl)t7Od0LJPpkXQyw_#saB~bh2{XZn>1rvZ3R>#^uIe_lEtY#N)?di< z+9oz!tMvDXwrd{x+w0yZjE{!?QbKz{qxt_}+;uP`aBEk0H5-h@dv|lE|GQ0W_*Tuq zFf~CD|GoU{+|~Z;^uGUAo_NXMVkf}HM9c&uJe*bD>vVuA`o~kZmA@ZVaxnb;h5T0T z&VB7&hj4$rEnW3)UK0aJXeO8|UDw{#ME^7ryQ@B^Ldw6%R`w*X%9wR(ZAim2m)R`;p^ zm~3ge7bL1}(Ka(2{;%8go=d-1*MWtH`g#w3$7_%33}%qGudN$dYW6;v%97 zs!Jj5sd!LPp|40DWGft4C>IyNtvU(|3*zKKc6(fWf!!M``y9R^M}e7N0*}G}_#YeF L8^a!OWy}8yO@pDZ literal 0 HcmV?d00001 diff --git a/samples/datalake/deltalake_and_kudu/login-doris.sh b/samples/datalake/deltalake_and_kudu/login-doris.sh new file mode 100755 index 00000000000000..90aaaa100bc5d9 --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/login-doris.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +docker exec -it spark-hive mysql -u root -h doris-env -P 9030 diff --git a/samples/datalake/deltalake_and_kudu/login-spark.sh b/samples/datalake/deltalake_and_kudu/login-spark.sh new file mode 100755 index 00000000000000..6a55539dcefc1d --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/login-spark.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +docker exec -it spark-hive /opt/scripts/spark-delta.sh diff --git a/samples/datalake/deltalake_and_kudu/scripts/create-delta-table.sh b/samples/datalake/deltalake_and_kudu/scripts/create-delta-table.sh new file mode 100644 index 00000000000000..9cf5a14ca3a45a --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/scripts/create-delta-table.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +export SPARK_HOME=/opt/spark +export HIVE_HOME=/opt/apache-hive-3.1.2-bin +export HADOOP_HOME=/opt/hadoop-3.3.1 + +if [[ ! -d "${SPARK_HOME}" ]]; then + cp -r /opt/spark-3.4.2-bin-hadoop3 "${SPARK_HOME}" +fi + +cp "${HIVE_HOME}"/conf/hive-site.xml "${SPARK_HOME}"/conf/ +cp "${HIVE_HOME}"/lib/postgresql-jdbc.jar "${SPARK_HOME}"/jars/ +cp "${HADOOP_HOME}"/etc/hadoop/core-site.xml "${SPARK_HOME}"/conf/ + +"${SPARK_HOME}"/bin/spark-sql \ + --master local[*] \ + --name "spark-delta-sql" \ + --conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" \ + --conf "spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog" \ + -f /opt/scripts/spark-delta.sql diff --git a/samples/datalake/deltalake_and_kudu/scripts/doris-sql.sql b/samples/datalake/deltalake_and_kudu/scripts/doris-sql.sql new file mode 100644 index 00000000000000..8d003a1f31706c --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/scripts/doris-sql.sql @@ -0,0 +1,20 @@ +create catalog delta_lake properties ( + "type"="trino-connector", + "trino.connector.name"="delta_lake", + "trino.hive.metastore.uri"="thrift://hive-metastore:9083", + "trino.hive.s3.endpoint"="http://minio:9000", + "trino.hive.s3.region"="us-east-1", + "trino.hive.s3.aws-access-key"="minio", + "trino.hive.s3.aws-secret-key"="minio123", + "trino.hive.s3.path-style-access"="true" +); + + +CREATE CATALOG `kudu_catalog` PROPERTIES ( + "type" = "trino-connector", + "trino.connector.name" = "kudu", + "trino.kudu.authentication.type" = "NONE", + "trino.kudu.client.master-addresses" = "kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251" +); + +ALTER SYSTEM ADD BACKEND 'doris-env:9050'; diff --git a/samples/datalake/deltalake_and_kudu/scripts/spark-delta.sh b/samples/datalake/deltalake_and_kudu/scripts/spark-delta.sh new file mode 100755 index 00000000000000..f4a64072658826 --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/scripts/spark-delta.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +export SPARK_HOME=/opt/spark +export HIVE_HOME=/opt/apache-hive-3.1.2-bin +export HADOOP_HOME=/opt/hadoop-3.3.1 + +if [[ ! -d "${SPARK_HOME}" ]]; then + cp -r /opt/spark-3.4.2-bin-hadoop3 "${SPARK_HOME}" +fi + +cp "${HIVE_HOME}"/conf/hive-site.xml "${SPARK_HOME}"/conf/ +cp "${HIVE_HOME}"/lib/postgresql-jdbc.jar "${SPARK_HOME}"/jars/ +cp "${HADOOP_HOME}"/etc/hadoop/core-site.xml "${SPARK_HOME}"/conf/ + +"${SPARK_HOME}"/bin/spark-sql \ + --master local[*] \ + --name "spark-delta-sql" \ + --conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" \ + --conf "spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog" diff --git a/samples/datalake/deltalake_and_kudu/scripts/spark-delta.sql b/samples/datalake/deltalake_and_kudu/scripts/spark-delta.sql new file mode 100644 index 00000000000000..25f8757889f66d --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/scripts/spark-delta.sql @@ -0,0 +1 @@ +CREATE TABLE default.customer USING DELTA LOCATION 's3://data/customer/'; \ No newline at end of file diff --git a/samples/datalake/deltalake_and_kudu/scripts/start_doris.sh b/samples/datalake/deltalake_and_kudu/scripts/start_doris.sh new file mode 100755 index 00000000000000..91965d4e4ed683 --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/scripts/start_doris.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +export JAVA_HOME=/opt/jdk-17.0.2 + +cp -r /opt/doris-bin /opt/doris +echo "trino_connector_plugin_dir=/opt/connectors/" >> /opt/doris/fe/conf/fe.conf +echo "trino_connector_plugin_dir=/opt/connectors/" >> /opt/doris/be/conf/be.conf + +/opt/doris/fe/bin/start_fe.sh --daemon +/opt/doris/be/bin/start_be.sh --daemon +tail -F /dev/null diff --git a/samples/datalake/deltalake_and_kudu/start-trinoconnector-compose.sh b/samples/datalake/deltalake_and_kudu/start-trinoconnector-compose.sh new file mode 100755 index 00000000000000..96fc6c739b016c --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/start-trinoconnector-compose.sh @@ -0,0 +1,181 @@ +#!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +DORIS_PACKAGE=apache-doris-3.0.1-bin-x64 +DORIS_DOWNLOAD_URL=https://apache-doris-releases.oss-accelerate.aliyuncs.com + +md5_aws_java_sdk="452d1e00efb11bff0ee17c42a6a44a0a" +md5_hadoop_aws="a3e19d42cadd1a6862a41fd276f94382" +md5_jdk17="0930efa680ac61e833699ccc36bfc739" +md5_spark="b393d314ffbc03facdc85575197c5db9" +md5_doris="fecd81c2d043542363422de6f111dbdb" +delta_core="65b8dec752d4984b7958d644848e3978" +delta_storage="a83011a52c66e081d4f53a7dc5c9708a" +antlr4_runtime="718f199bafa6574ffa1111fa3e10276a" +kudu_plugin="2d58bfcac5b84218c5d1055af189e30c" +delta_plugin="6b33448ce42d3d05e7b500ccafbe9698" +hdfs_plugin="ff4a3e3b32dcce27f4df58f17938abde" +kudu_java_example="1afe0a890785e8d0011ea7342ae5e43d" + + +download_source_file() { + local FILE_PATH="$1" + local EXPECTED_MD5="$2" + local DOWNLOAD_URL="$3" + + echo "Download ${FILE_PATH}" + + if [[ -f "${FILE_PATH}" ]]; then + local FILE_MD5 + FILE_MD5=$(md5sum "${FILE_PATH}" | awk '{ print $1 }') + echo "${FILE_PATH} 's md5sum is = ${FILE_MD5} ; expected is = ${EXPECTED_MD5}" + if [[ "${FILE_MD5}" = "${EXPECTED_MD5}" ]]; then + echo "${FILE_PATH} is ready!" + else + echo "${FILE_PATH} is broken, Redownloading ..." + rm "${FILE_PATH}" + wget "${DOWNLOAD_URL}"/"${FILE_PATH}" + fi + else + echo "Downloading ${FILE_PATH} ..." + wget "${DOWNLOAD_URL}"/"${FILE_PATH}" + fi +} + +curdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" +cd "${curdir}" || exit + +if [[ ! -d "packages" ]]; then + mkdir packages +fi +cd packages || exit + +download_source_file "aws-java-sdk-bundle-1.12.48.jar" "${md5_aws_java_sdk}" "https://repo1.maven.org/maven2/com/amazonaws/aws-java-sdk-bundle/1.12.48" +download_source_file "hadoop-aws-3.3.1.jar" "${md5_hadoop_aws}" "https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-aws/3.3.1" +download_source_file "openjdk-17.0.2_linux-x64_bin.tar.gz" "${md5_jdk17}" "https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL" +download_source_file "spark-3.4.2-bin-hadoop3.tgz" "${md5_spark}" "https://archive.apache.org/dist/spark/spark-3.4.2" +download_source_file "${DORIS_PACKAGE}.tar.gz" "${md5_doris}" "${DORIS_DOWNLOAD_URL}" +download_source_file "delta-core_2.12-2.4.0.jar" "${delta_core}" "https://repo1.maven.org/maven2/io/delta/delta-core_2.12/2.4.0" +download_source_file "delta-storage-2.4.0.jar" "${delta_storage}" "https://repo1.maven.org/maven2/io/delta/delta-storage/2.4.0" +download_source_file "antlr4-runtime-4.9.3.jar" "${antlr4_runtime}" "https://repo1.maven.org/maven2/org/antlr/antlr4-runtime/4.9.3" +download_source_file "trino-delta-lake-435-20240724.tar.gz" "${delta_plugin}" "https://github.com/apache/doris-thirdparty/releases/download/trino-435-20240724" +download_source_file "trino-kudu-435-20240724.tar.gz" "${kudu_plugin}" "https://github.com/apache/doris-thirdparty/releases/download/trino-435-20240724" +download_source_file "trino-hdfs-435-20240724.tar.gz" "${hdfs_plugin}" "https://github.com/apache/doris-thirdparty/releases/download/trino-435-20240724" +download_source_file "kudu-java-example-1.0-SNAPSHOT.jar" "${kudu_java_example}" "https://github.com/apache/doris-thirdparty/releases/download/trino-435-20240724" + + + + +if [[ ! -f "jdk-17.0.2/SUCCESS" ]]; then + echo "Prepare jdk17 environment" + if [[ -d "jdk-17.0.2" ]]; then + echo "Remove broken jdk-17.0.2" + rm -rf jdk-17.0.2 + fi + echo "Unpackage jdk-17.0.2" + tar xzf openjdk-17.0.2_linux-x64_bin.tar.gz + touch jdk-17.0.2/SUCCESS +fi +if [[ ! -f "spark-3.4.2-bin-hadoop3/SUCCESS" ]]; then + echo "Prepare spark3.4 environment" + if [[ -d "spark-3.4.2-bin-hadoop3" ]]; then + echo "Remove broken spark-3.4.2-bin-hadoop3" + rm -rf spark-3.4.2-bin-hadoop3 + fi + echo "Unpackage spark-3.4.2-bin-hadoop3" + tar -xf spark-3.4.2-bin-hadoop3.tgz + cp aws-java-sdk-bundle-1.12.48.jar spark-3.4.2-bin-hadoop3/jars/ + cp hadoop-aws-3.3.1.jar spark-3.4.2-bin-hadoop3/jars/ + cp delta-core_2.12-2.4.0.jar spark-3.4.2-bin-hadoop3/jars/ + cp delta-storage-2.4.0.jar spark-3.4.2-bin-hadoop3/jars/ + cp antlr4-runtime-4.9.3.jar spark-3.4.2-bin-hadoop3/jars/ + touch spark-3.4.2-bin-hadoop3/SUCCESS +fi +if [[ ! -f "doris-bin/SUCCESS" ]]; then + echo "Prepare ${DORIS_PACKAGE} environment" + if [[ -d "doris-bin" ]]; then + echo "Remove broken ${DORIS_PACKAGE}" + rm -rf doris-bin + fi + echo "Unpackage ${DORIS_PACKAGE}" + tar xzf "${DORIS_PACKAGE}".tar.gz + mv "${DORIS_PACKAGE}" doris-bin + touch doris-bin/SUCCESS +fi + +mkdir connectors +if [[ ! -f "connectors/trino-delta-lake-435/SUCCESS" ]]; then + echo "Prepare trino-delta-lake-435 plugin" + if [[ -d "connectors/trino-delta-lake-435" ]]; then + echo "Remove broken trino-delta-lake-435" + rm -rf connectors/trino-delta-lake-435 + fi + echo "Unpackage trino-delta-lake-435" + tar xzf trino-delta-lake-435-20240724.tar.gz + mv trino-delta-lake-435 connectors/trino-delta-lake-435 + touch connectors/trino-delta-lake-435/SUCCESS +fi + +if [[ ! -f "connectors/trino-kudu-435/SUCCESS" ]]; then + echo "Prepare trino-kudu-435 plugin" + if [[ -d "connectors/trino-kudu-435" ]]; then + echo "Remove broken trino-kudu-435" + rm -rf connectors/trino-kudu-435 + fi + echo "Unpackage trino-kudu-435" + tar xzf trino-kudu-435-20240724.tar.gz + mv trino-kudu-435 connectors/trino-kudu-435 + touch connectors/trino-kudu-435/SUCCESS +fi + +if [[ ! -f "connectors/trino-delta-lake-435/hdfs/SUCCESS" ]]; then + echo "Prepare hdfs plugin" + if [[ -d "connectors/trino-delta-lake-435/hdfs" ]]; then + echo "Remove broken connectors/trino-delta-lake-435/hdfs" + rm -rf connectors/trino-delta-lake-435/hdfs + fi + echo "Unpackage trino-delta-lake-435/hdfs" + tar xzf trino-hdfs-435-20240724.tar.gz + mv hdfs connectors/trino-delta-lake-435/hdfs + touch connectors/trino-delta-lake-435/hdfs/SUCCESS +fi + + +cd ../ + +export KUDU_QUICKSTART_IP=$(ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{print $2}' | tail -1) + +docker compose -f trinoconnector-compose.yml --env-file trinoconnector-compose.env up -d +echo "Create hive table ..." +sleep 5 +docker exec -it spark-hive sh -c "/opt/hadoop-3.3.1/bin/hadoop fs -chmod 777 /tmp/hive" +docker exec -it spark-hive sh -c "sh /opt/scripts/create-delta-table.sh" +sleep 5 +echo "Build hive catalog in Doris ..." +docker exec -it spark-hive sh -c "mysql -u root -h doris-env -P 9030 < /opt/scripts/doris-sql.sql" +sleep 10 +echo "Create kudu table ..." +docker exec -it kudu-master-1 sh -c "/opt/jdk-17.0.2/bin/java -DkuduMasters=kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 -jar /opt/kudu-java-example-1.0-SNAPSHOT.jar" +sleep 10 + +echo "======================================================" +echo "Success to launch spark+doris+deltalake+kudu+minio environments!" +echo "./login-spark.sh to login into spark" +echo "./login-doris.sh to login into doris" +echo "======================================================" diff --git a/samples/datalake/deltalake_and_kudu/stop-trinoconnector-compose.sh b/samples/datalake/deltalake_and_kudu/stop-trinoconnector-compose.sh new file mode 100755 index 00000000000000..838630d0249297 --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/stop-trinoconnector-compose.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +export KUDU_QUICKSTART_IP=$(ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{print $2}' | tail -1) + +docker compose -f trinoconnector-compose.yml --env-file trinoconnector-compose.env down diff --git a/samples/datalake/deltalake_and_kudu/trinoconnector-compose.env b/samples/datalake/deltalake_and_kudu/trinoconnector-compose.env new file mode 100644 index 00000000000000..8abf3700ba1fe7 --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/trinoconnector-compose.env @@ -0,0 +1,22 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +HIVE_THRIFT_PORT=9771 +MINIO_SERVICE_PORT=9772 +DORIS_QUERY_PORT=9773 +KUDU_QUICKSTART_VERSION="1.17.0" \ No newline at end of file diff --git a/samples/datalake/deltalake_and_kudu/trinoconnector-compose.yml b/samples/datalake/deltalake_and_kudu/trinoconnector-compose.yml new file mode 100644 index 00000000000000..e88348b3e6f4b1 --- /dev/null +++ b/samples/datalake/deltalake_and_kudu/trinoconnector-compose.yml @@ -0,0 +1,323 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +version: "3.9" +services: + metastore_db: + image: postgres:11 + hostname: metastore_db + environment: + POSTGRES_USER: hive + POSTGRES_PASSWORD: hive + POSTGRES_DB: metastore + + hive-metastore: + hostname: hive-metastore + container_name: spark-hive + image: 'starburstdata/hive:3.1.2-e.18' + volumes: + - './packages/spark-3.4.2-bin-hadoop3:/opt/spark-3.4.2-bin-hadoop3' + - './scripts:/opt/scripts' + ports: + - '${HIVE_THRIFT_PORT}:9083' # Metastore Thrift + environment: + HIVE_METASTORE_DRIVER: org.postgresql.Driver + HIVE_METASTORE_JDBC_URL: jdbc:postgresql://metastore_db:5432/metastore + HIVE_METASTORE_USER: hive + HIVE_METASTORE_PASSWORD: hive + HIVE_METASTORE_WAREHOUSE_DIR: s3://datalake/ + S3_ENDPOINT: http://minio:9000 + S3_ACCESS_KEY: minio + S3_SECRET_KEY: minio123 + S3_PATH_STYLE_ACCESS: "true" + REGION: "" + GOOGLE_CLOUD_KEY_FILE_PATH: "" + AZURE_ADL_CLIENT_ID: "" + AZURE_ADL_CREDENTIAL: "" + AZURE_ADL_REFRESH_URL: "" + AZURE_ABFS_STORAGE_ACCOUNT: "" + AZURE_ABFS_ACCESS_KEY: "" + AZURE_WASB_STORAGE_ACCOUNT: "" + AZURE_ABFS_OAUTH: "" + AZURE_ABFS_OAUTH_TOKEN_PROVIDER: "" + AZURE_ABFS_OAUTH_CLIENT_ID: "" + AZURE_ABFS_OAUTH_SECRET: "" + AZURE_ABFS_OAUTH_ENDPOINT: "" + AZURE_WASB_ACCESS_KEY: "" + HIVE_METASTORE_USERS_IN_ADMIN_ROLE: "hive" + depends_on: + - metastore_db + + doris-env: + hostname: doris-env + container_name: doris-env + image: 'apache/hadoop:3.3.6' + environment: + LD_LIBRARY_PATH: /opt/doris/be/lib + ports: + - '${DORIS_QUERY_PORT}:9030' + volumes: + - './packages/jdk-17.0.2:/opt/jdk-17.0.2' + - './packages/doris-bin:/opt/doris-bin' + - './scripts:/opt/scripts' + - './packages/connectors:/opt/connectors' + command: sh /opt/scripts/start_doris.sh + + minio: + hostname: minio + image: 'minio/minio:RELEASE.2022-05-26T05-48-41Z' + container_name: minio-storage + ports: + - '${MINIO_SERVICE_PORT}:9000' + environment: + MINIO_ACCESS_KEY: minio + MINIO_SECRET_KEY: minio123 + command: server /data --console-address ":9001" + + # This job will create the "datalake" bucket on Minio + mc-job: + image: 'minio/mc:RELEASE.2022-05-09T04-08-26Z' + volumes: + - './data:/data' + entrypoint: | + /bin/bash -c " + sleep 5; + /usr/bin/mc config --quiet host add myminio http://minio:9000 minio minio123; + /usr/bin/mc mb --quiet myminio/datalake; + /usr/bin/mc mb --quiet myminio/data; + /usr/bin/mc mirror /data myminio/data + " + depends_on: + - minio + + kudu-master-1: + image: apache/kudu:${KUDU_QUICKSTART_VERSION:-latest} + hostname: kudu-master-1 + container_name: kudu-master-1 + ports: + - "7051:7051" + - "8051:8051" + command: ["master"] + volumes: + - kudu-master-1:/var/lib/kudu + - './packages/jdk-17.0.2:/opt/jdk-17.0.2' + - './packages/kudu-java-example-1.0-SNAPSHOT.jar:/opt/kudu-java-example-1.0-SNAPSHOT.jar' + environment: + - KUDU_MASTERS=kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 + # TODO: Use `host.docker.internal` instead of KUDU_QUICKSTART_IP when it + # works on Linux (https://github.com/docker/for-linux/issues/264) + - > + MASTER_ARGS=--fs_wal_dir=/var/lib/kudu/master + --rpc_bind_addresses=0.0.0.0:7051 + --rpc_advertised_addresses=${KUDU_QUICKSTART_IP:?Please set KUDU_QUICKSTART_IP environment variable}:7051 + --webserver_port=8051 + --webserver_advertised_addresses=${KUDU_QUICKSTART_IP}:8051 + --webserver_doc_root=/opt/kudu/www + --stderrthreshold=0 + --use_hybrid_clock=false + --unlock_unsafe_flags=true + # command: /opt/jdk-17.0.2/bin/java -DkuduMasters=kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 -jar /opt/kudu-java-example-1.0-SNAPSHOT.jar + + kudu-master-2: + image: apache/kudu:${KUDU_QUICKSTART_VERSION:-latest} + hostname: kudu-master-2 + container_name: kudu-master-2 + ports: + - "7151:7151" + - "8151:8151" + command: ["master"] + volumes: + - kudu-master-2:/var/lib/kudu + environment: + - KUDU_MASTERS=kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 + - > + MASTER_ARGS=--fs_wal_dir=/var/lib/kudu/master + --rpc_bind_addresses=0.0.0.0:7151 + --rpc_advertised_addresses=${KUDU_QUICKSTART_IP}:7151 + --webserver_port=8151 + --webserver_advertised_addresses=${KUDU_QUICKSTART_IP}:8151 + --webserver_doc_root=/opt/kudu/www + --stderrthreshold=0 + --use_hybrid_clock=false + --unlock_unsafe_flags=true + kudu-master-3: + image: apache/kudu:${KUDU_QUICKSTART_VERSION:-latest} + hostname: kudu-master-3 + container_name: kudu-master-3 + ports: + - "7251:7251" + - "8251:8251" + command: ["master"] + volumes: + - kudu-master-3:/var/lib/kudu + environment: + - KUDU_MASTERS=kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 + - > + MASTER_ARGS=--fs_wal_dir=/var/lib/kudu/master + --rpc_bind_addresses=0.0.0.0:7251 + --rpc_advertised_addresses=${KUDU_QUICKSTART_IP}:7251 + --webserver_port=8251 + --webserver_advertised_addresses=${KUDU_QUICKSTART_IP}:8251 + --webserver_doc_root=/opt/kudu/www + --stderrthreshold=0 + --use_hybrid_clock=false + --unlock_unsafe_flags=true + kudu-tserver-1: + image: apache/kudu:${KUDU_QUICKSTART_VERSION:-latest} + hostname: kudu-tserver-1 + container_name: kudu-tserver-1 + depends_on: + - kudu-master-1 + - kudu-master-2 + - kudu-master-3 + ports: + - "7050:7050" + - "8050:8050" + command: ["tserver"] + volumes: + - kudu-tserver-1:/var/lib/kudu + environment: + - KUDU_MASTERS=kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 + - > + TSERVER_ARGS=--fs_wal_dir=/var/lib/kudu/tserver + --rpc_bind_addresses=0.0.0.0:7050 + --rpc_advertised_addresses=${KUDU_QUICKSTART_IP}:7050 + --webserver_port=8050 + --webserver_advertised_addresses=${KUDU_QUICKSTART_IP}:8050 + --webserver_doc_root=/opt/kudu/www + --stderrthreshold=0 + --use_hybrid_clock=false + --unlock_unsafe_flags=true + kudu-tserver-2: + image: apache/kudu:${KUDU_QUICKSTART_VERSION:-latest} + hostname: kudu-tserver-2 + container_name: kudu-tserver-2 + depends_on: + - kudu-master-1 + - kudu-master-2 + - kudu-master-3 + ports: + - "7150:7150" + - "8150:8150" + command: ["tserver"] + volumes: + - kudu-tserver-2:/var/lib/kudu + environment: + - KUDU_MASTERS=kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 + - > + TSERVER_ARGS=--fs_wal_dir=/var/lib/kudu/tserver + --rpc_bind_addresses=0.0.0.0:7150 + --rpc_advertised_addresses=${KUDU_QUICKSTART_IP}:7150 + --webserver_port=8150 + --webserver_advertised_addresses=${KUDU_QUICKSTART_IP}:8150 + --webserver_doc_root=/opt/kudu/www + --stderrthreshold=0 + --use_hybrid_clock=false + --unlock_unsafe_flags=true + kudu-tserver-3: + image: apache/kudu:${KUDU_QUICKSTART_VERSION:-latest} + hostname: kudu-tserver-3 + container_name: kudu-tserver-3 + depends_on: + - kudu-master-1 + - kudu-master-2 + - kudu-master-3 + ports: + - "7250:7250" + - "8250:8250" + command: ["tserver"] + volumes: + - kudu-tserver-3:/var/lib/kudu + environment: + - KUDU_MASTERS=kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 + - > + TSERVER_ARGS=--fs_wal_dir=/var/lib/kudu/tserver + --rpc_bind_addresses=0.0.0.0:7250 + --rpc_advertised_addresses=${KUDU_QUICKSTART_IP}:7250 + --webserver_port=8250 + --webserver_advertised_addresses=${KUDU_QUICKSTART_IP}:8250 + --webserver_doc_root=/opt/kudu/www + --stderrthreshold=0 + --use_hybrid_clock=false + --unlock_unsafe_flags=true + kudu-tserver-4: + image: apache/kudu:${KUDU_QUICKSTART_VERSION:-latest} + hostname: kudu-tserver-4 + container_name: kudu-tserver-4 + depends_on: + - kudu-master-1 + - kudu-master-2 + - kudu-master-3 + ports: + - "7350:7350" + - "8350:8350" + command: ["tserver"] + volumes: + - kudu-tserver-4:/var/lib/kudu + environment: + - KUDU_MASTERS=kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 + - > + TSERVER_ARGS=--fs_wal_dir=/var/lib/kudu/tserver + --rpc_bind_addresses=0.0.0.0:7350 + --rpc_advertised_addresses=${KUDU_QUICKSTART_IP}:7350 + --webserver_port=8350 + --webserver_advertised_addresses=${KUDU_QUICKSTART_IP}:8350 + --webserver_doc_root=/opt/kudu/www + --stderrthreshold=0 + --use_hybrid_clock=false + --unlock_unsafe_flags=true + kudu-tserver-5: + image: apache/kudu:${KUDU_QUICKSTART_VERSION:-latest} + hostname: kudu-tserver-5 + container_name: kudu-tserver-5 + depends_on: + - kudu-master-1 + - kudu-master-2 + - kudu-master-3 + ports: + - "7450:7450" + - "8450:8450" + command: ["tserver"] + volumes: + - kudu-tserver-5:/var/lib/kudu + environment: + - KUDU_MASTERS=kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251 + - > + TSERVER_ARGS=--fs_wal_dir=/var/lib/kudu/tserver + --rpc_bind_addresses=0.0.0.0:7450 + --rpc_advertised_addresses=${KUDU_QUICKSTART_IP}:7450 + --webserver_port=8450 + --webserver_advertised_addresses=${KUDU_QUICKSTART_IP}:8450 + --webserver_doc_root=/opt/kudu/www + --stderrthreshold=0 + --use_hybrid_clock=false + --unlock_unsafe_flags=true + +volumes: + kudu-master-1: + kudu-master-2: + kudu-master-3: + kudu-tserver-1: + kudu-tserver-2: + kudu-tserver-3: + kudu-tserver-4: + kudu-tserver-5: + +networks: + default: + name: trinoconnector-net + external: true From 5eab877c89064ad81e5c4c0c9c229fec1a91828f Mon Sep 17 00:00:00 2001 From: Mryange <59914473+Mryange@users.noreply.github.com> Date: Wed, 4 Sep 2024 16:27:09 +0800 Subject: [PATCH 038/199] [opt](in expr) Optimize the IN expression by skipping constant columns. (#39912) Optimize the IN expression by skipping constant columns --- be/src/vec/exprs/vexpr.h | 1 - be/src/vec/exprs/vin_predicate.cpp | 27 ++++++++++++++++--- be/src/vec/exprs/vin_predicate.h | 4 +++ be/src/vec/functions/function_collection_in.h | 5 ++-- 4 files changed, 30 insertions(+), 7 deletions(-) diff --git a/be/src/vec/exprs/vexpr.h b/be/src/vec/exprs/vexpr.h index 90048511c90856..382713b2afc018 100644 --- a/be/src/vec/exprs/vexpr.h +++ b/be/src/vec/exprs/vexpr.h @@ -321,7 +321,6 @@ class VExpr { uint32_t _index_unique_id = 0; bool _can_fast_execute = false; bool _enable_inverted_index_query = true; - uint32_t _in_list_value_count_threshold = 10; }; } // namespace vectorized diff --git a/be/src/vec/exprs/vin_predicate.cpp b/be/src/vec/exprs/vin_predicate.cpp index 361f55f038ca4c..9e00a3afbaef43 100644 --- a/be/src/vec/exprs/vin_predicate.cpp +++ b/be/src/vec/exprs/vin_predicate.cpp @@ -81,6 +81,14 @@ Status VInPredicate::prepare(RuntimeState* state, const RowDescriptor& desc, VExpr::register_function_context(state, context); _prepare_finished = true; + + if (state->query_options().__isset.in_list_value_count_threshold) { + _in_list_value_count_threshold = state->query_options().in_list_value_count_threshold; + } + + const auto in_list_value_count = _children.size() - 1; + // When the number of values in the IN condition exceeds this threshold, fast_execute will not be used + _can_fast_execute = in_list_value_count <= _in_list_value_count_threshold; return Status::OK(); } @@ -94,10 +102,24 @@ Status VInPredicate::open(RuntimeState* state, VExprContext* context, if (scope == FunctionContext::FRAGMENT_LOCAL) { RETURN_IF_ERROR(VExpr::get_const_col(context, nullptr)); } + + _is_args_all_constant = std::all_of(_children.begin() + 1, _children.end(), + [](const VExprSPtr& expr) { return expr->is_constant(); }); _open_finished = true; return Status::OK(); } +size_t VInPredicate::skip_constant_args_size() const { + if (_is_args_all_constant && !_can_fast_execute) { + // This is an optimization. For expressions like colA IN (1, 2, 3, 4), + // where all values inside the IN clause are constants, + // a hash set is created during open, and it will not be accessed again during execute + // Here, _children[0] is colA + return 1; + } + return _children.size(); +} + void VInPredicate::close(VExprContext* context, FunctionContext::FunctionStateScope scope) { VExpr::close_function_context(context, scope, _function); VExpr::close(context, scope); @@ -116,9 +138,8 @@ Status VInPredicate::execute(VExprContext* context, Block* block, int* result_co return Status::OK(); } DCHECK(_open_finished || _getting_const_col); - // TODO: not execute const expr again, but use the const column in function context - doris::vectorized::ColumnNumbers arguments(_children.size()); - for (int i = 0; i < _children.size(); ++i) { + doris::vectorized::ColumnNumbers arguments(skip_constant_args_size()); + for (int i = 0; i < skip_constant_args_size(); ++i) { int column_id = -1; RETURN_IF_ERROR(_children[i]->execute(context, block, &column_id)); arguments[i] = column_id; diff --git a/be/src/vec/exprs/vin_predicate.h b/be/src/vec/exprs/vin_predicate.h index 4d227510b910ce..024ad68f2ba576 100644 --- a/be/src/vec/exprs/vin_predicate.h +++ b/be/src/vec/exprs/vin_predicate.h @@ -51,6 +51,8 @@ class VInPredicate final : public VExpr { std::string debug_string() const override; + size_t skip_constant_args_size() const; + const FunctionBasePtr function() { return _function; } bool is_not_in() const { return _is_not_in; }; @@ -62,5 +64,7 @@ class VInPredicate final : public VExpr { const bool _is_not_in; static const constexpr char* function_name = "in"; + uint32_t _in_list_value_count_threshold = 10; + bool _is_args_all_constant = false; }; } // namespace doris::vectorized \ No newline at end of file diff --git a/be/src/vec/functions/function_collection_in.h b/be/src/vec/functions/function_collection_in.h index 1e86ce25b3405f..33a4a2570800a9 100644 --- a/be/src/vec/functions/function_collection_in.h +++ b/be/src/vec/functions/function_collection_in.h @@ -112,9 +112,8 @@ class FunctionCollectionIn : public IFunction { // FE should make element type consistent and // equalize the length of the elements in struct const auto& const_column_ptr = context->get_constant_col(i); - if (const_column_ptr == nullptr) { - break; - } + // Types like struct, array, and map only support constant expressions. + DCHECK(const_column_ptr != nullptr); const auto& [col, _] = unpack_if_const(const_column_ptr->column_ptr); if (col->is_nullable()) { auto* null_col = vectorized::check_and_get_column(col); From f0d936ac306f991383cf41b4ff4faef89a81eb38 Mon Sep 17 00:00:00 2001 From: Sun Chenyang Date: Wed, 4 Sep 2024 19:42:25 +0800 Subject: [PATCH 039/199] [fix] (compaction) fix compaction score in time series policy (#40242) ### BEFORE The compaction score is 0 when the merge conditions are not met in the time series policy. ### AFTER The compaction score is the sum of the compaction scores of the rowsets to be merged. --- ...mulative_compaction_time_series_policy.cpp | 68 +------------------ ...ive_compaction_time_series_policy_test.cpp | 2 +- 2 files changed, 2 insertions(+), 68 deletions(-) diff --git a/be/src/olap/cumulative_compaction_time_series_policy.cpp b/be/src/olap/cumulative_compaction_time_series_policy.cpp index 64e51c77641311..6fa4b8d014313f 100644 --- a/be/src/olap/cumulative_compaction_time_series_policy.cpp +++ b/be/src/olap/cumulative_compaction_time_series_policy.cpp @@ -27,14 +27,11 @@ namespace doris { uint32_t TimeSeriesCumulativeCompactionPolicy::calc_cumulative_compaction_score(Tablet* tablet) { uint32_t score = 0; - uint32_t level0_score = 0; bool base_rowset_exist = false; const int64_t point = tablet->cumulative_layer_point(); - int64_t level0_total_size = 0; RowsetMetaSharedPtr first_meta; int64_t first_version = INT64_MAX; - std::list checked_rs_metas; // NOTE: tablet._meta_lock is hold auto& rs_metas = tablet->tablet_meta()->all_rs_metas(); // check the base rowset and collect the rowsets of cumulative part @@ -53,12 +50,6 @@ uint32_t TimeSeriesCumulativeCompactionPolicy::calc_cumulative_compaction_score( } else { // collect the rowsets of cumulative part score += rs_meta->get_compaction_score(); - if (rs_meta->compaction_level() == 0) { - level0_total_size += rs_meta->total_disk_size(); - level0_score += rs_meta->get_compaction_score(); - } else { - checked_rs_metas.push_back(rs_meta); - } } } @@ -73,64 +64,7 @@ uint32_t TimeSeriesCumulativeCompactionPolicy::calc_cumulative_compaction_score( return 0; } - // Condition 1: the size of input files for compaction meets the requirement of parameter compaction_goal_size - int64_t compaction_goal_size_mbytes = - tablet->tablet_meta()->time_series_compaction_goal_size_mbytes(); - if (level0_total_size >= compaction_goal_size_mbytes * 1024 * 1024) { - return score; - } - - // Condition 2: the number of input files reaches the threshold specified by parameter compaction_file_count_threshold - if (level0_score >= tablet->tablet_meta()->time_series_compaction_file_count_threshold()) { - return score; - } - - // Condition 3: level1 achieve compaction_goal_size - if (tablet->tablet_meta()->time_series_compaction_level_threshold() >= 2) { - checked_rs_metas.sort([](const RowsetMetaSharedPtr& a, const RowsetMetaSharedPtr& b) { - return a->version().first < b->version().first; - }); - int32_t rs_meta_count = 0; - int64_t continuous_size = 0; - for (const auto& rs_meta : checked_rs_metas) { - rs_meta_count++; - continuous_size += rs_meta->total_disk_size(); - if (rs_meta_count >= 2) { - if (continuous_size >= compaction_goal_size_mbytes * 1024 * 1024) { - return score; - } - } - } - } - - int64_t now = UnixMillis(); - int64_t last_cumu = tablet->last_cumu_compaction_success_time(); - if (last_cumu != 0) { - int64_t cumu_interval = now - last_cumu; - - // Condition 4: the time interval between compactions exceeds the value specified by parameter _compaction_time_threshold_second - if (cumu_interval > - (tablet->tablet_meta()->time_series_compaction_time_threshold_seconds() * 1000)) { - return score; - } - } else if (score > 0) { - // If the compaction process has not been successfully executed, - // the condition for triggering compaction based on the last successful compaction time (condition 3) will never be met - tablet->set_last_cumu_compaction_success_time(now); - } - - // Condition 5: If there is a continuous set of empty rowsets, prioritize merging. - std::vector input_rowsets; - std::vector candidate_rowsets = - tablet->pick_candidate_rowsets_to_cumulative_compaction(); - tablet->calc_consecutive_empty_rowsets( - &input_rowsets, candidate_rowsets, - tablet->tablet_meta()->time_series_compaction_empty_rowsets_threshold()); - if (!input_rowsets.empty()) { - return score; - } - - return 0; + return score; } void TimeSeriesCumulativeCompactionPolicy::calculate_cumulative_point( diff --git a/be/test/olap/cumulative_compaction_time_series_policy_test.cpp b/be/test/olap/cumulative_compaction_time_series_policy_test.cpp index 01963d591bedab..3e88e424e43c0b 100644 --- a/be/test/olap/cumulative_compaction_time_series_policy_test.cpp +++ b/be/test/olap/cumulative_compaction_time_series_policy_test.cpp @@ -404,7 +404,7 @@ TEST_F(TestTimeSeriesCumulativeCompactionPolicy, calc_cumulative_compaction_scor const uint32_t score = _tablet->calc_compaction_score(CompactionType::CUMULATIVE_COMPACTION, cumulative_compaction_policy); - EXPECT_EQ(0, score); + EXPECT_EQ(9, score); } TEST_F(TestTimeSeriesCumulativeCompactionPolicy, calc_cumulative_compaction_score_big_rowset) { From 2fd75937b24e07c9d88f7168c10528b9eda6a7c2 Mon Sep 17 00:00:00 2001 From: TengJianPing <18241664+jacktengg@users.noreply.github.com> Date: Wed, 4 Sep 2024 19:42:38 +0800 Subject: [PATCH 040/199] [fix](decimal) throw overflow exception if result is NaN of Infinit when converting from decimal to float (#40290) ## Proposed changes When casting `decimal256` to `float`, BE first converting `decimal256` to `long double`, and then converting to `float`, but for some values, the resulting float value is `std::inf`, this PR check this situation and report `Arithmetic overflow`. CPP test: ``` int main() { long double ld = std::stold("1.23456779999999999998e+67"); std::cout << "long double: " << ld << std::endl; float f = static_cast(ld); if (std::isnan(f)) { std::cout << "long double to float is nan" << std::endl; } else if (std::isinf(f)) { std::cout << "long double to float is inf" << std::endl; } else { std::cout << f << std::endl; } double d = static_cast(ld); if (std::isnan(d)) { std::cout << "long double to double is nan" << std::endl; } else if (std::isinf(d)) { std::cout << "long double to double is inf" << std::endl; } else { std::cout << "long double to double is " << d << std::endl; } return 0; } ``` result: ``` long double: 1.23457e+67 long double to float is inf long double to double is 1.23457e+67 ``` --- be/src/vec/data_types/data_type_decimal.h | 5 +- .../decimalv3/test_decimal256_cast.out | 10 +++ .../decimalv3/test_decimal256_cast.groovy | 71 +++++++++++++++++++ 3 files changed, 84 insertions(+), 2 deletions(-) diff --git a/be/src/vec/data_types/data_type_decimal.h b/be/src/vec/data_types/data_type_decimal.h index 580eb5fb3ea55d..b18487d1fb0966 100644 --- a/be/src/vec/data_types/data_type_decimal.h +++ b/be/src/vec/data_types/data_type_decimal.h @@ -595,10 +595,11 @@ void convert_from_decimal(typename ToDataType::FieldType* dst, dst[i] = static_cast(src[i].value) / multiplier.value; } } - FromDataType from_data_type(precision, scale); if constexpr (narrow_integral) { + FromDataType from_data_type(precision, scale); for (size_t i = 0; i < size; i++) { - if (dst[i] < min_result || dst[i] > max_result) { + if (std::isnan(dst[i]) || std::isinf(dst[i]) || dst[i] < min_result || + dst[i] > max_result) { THROW_DECIMAL_CONVERT_OVERFLOW_EXCEPTION(from_data_type.to_string(src[i]), from_data_type.get_name(), ToDataType {}.get_name()); diff --git a/regression-test/data/datatype_p0/decimalv3/test_decimal256_cast.out b/regression-test/data/datatype_p0/decimalv3/test_decimal256_cast.out index 0d79c0606906f2..ac1f3da16dd4fe 100644 --- a/regression-test/data/datatype_p0/decimalv3/test_decimal256_cast.out +++ b/regression-test/data/datatype_p0/decimalv3/test_decimal256_cast.out @@ -26,3 +26,13 @@ -- !decimal256_cast8 -- 0 +-- !decimal256_cast9 -- +-9 -999999999999999999999999999999999999999999999999999999999999999999.9999999999 +9 999999999999999999999999999999999999999999999999999999999999999999.9999999999 + +-- !decimal256_cast10 -- +10 0 + +-- !decimal256_cast_to_double_1 -- +1.2345678E7 + diff --git a/regression-test/suites/datatype_p0/decimalv3/test_decimal256_cast.groovy b/regression-test/suites/datatype_p0/decimalv3/test_decimal256_cast.groovy index ea3001232f1c08..0132e74010dbcc 100644 --- a/regression-test/suites/datatype_p0/decimalv3/test_decimal256_cast.groovy +++ b/regression-test/suites/datatype_p0/decimalv3/test_decimal256_cast.groovy @@ -18,6 +18,9 @@ suite("test_decimal256_cast") { sql "set enable_nereids_planner = true;" sql "set enable_decimal256 = true;" + sql """ + set debug_skip_fold_constant=true; + """ qt_decimal256_cast0 """SELECT /*+ SET_VAR(enable_fold_constant_by_be = false) */ cast(999999999999999999999999999999999999999999999999999999999999999999.9999999999 as decimalv3(76,10));""" @@ -41,4 +44,72 @@ suite("test_decimal256_cast") { select cast('0.000000000000000000000000000000000000000000000000000000000000000000000012345678901' as decimalv3(76,0)); """ + sql """ + drop table if exists cast_to_dec256; + """ + sql """ + create table cast_to_dec256 ( + k1 int, + v1 varchar(128) + ) distributed by hash(k1) + properties ( + 'replication_num' = '1' + ); + """ + sql """ + insert into cast_to_dec256 values(9, "999999999999999999999999999999999999999999999999999999999999999999.9999999999"), + (-9, "-999999999999999999999999999999999999999999999999999999999999999999.9999999999"); + """ + qt_decimal256_cast9 """ + select k1, cast(v1 as decimalv3(76,10)) from cast_to_dec256 order by k1, v1; + """ + + sql """ + truncate table cast_to_dec256; + """ + sql """ + insert into cast_to_dec256 values(10, "0.000000000000000000000000000000000000000000000000000000000000000000000012345678901"); + """ + qt_decimal256_cast10 """ + select k1, cast(v1 as decimalv3(76, 0)) from cast_to_dec256 order by k1, v1; + """ + + test { + sql """ + select /*+SET_VAR(enable_fold_constant_by_be = true) */cast(cast("12345678.000000000000000000000000000000001" as decimalv3(76, 60)) as float); + """ + exception "Arithmetic overflow" + } + test { + sql """ + select /*+SET_VAR(enable_fold_constant_by_be = false) */cast(cast("12345678.000000000000000000000000000000001" as decimalv3(76, 60)) as float); + """ + exception "Arithmetic overflow" + } + + sql """ + drop table if exists dec256cast_to_float; + """ + sql """ + create table dec256cast_to_float ( + k1 int, + v1 decimalv3(76, 60) + ) distributed by hash(k1) + properties ( + 'replication_num' = '1' + ); + """ + sql """ + insert into dec256cast_to_float values (1, "12345678.000000000000000000000000000000001"); + """ + test { + sql """ + select cast(v1 as float) from dec256cast_to_float; + """ + exception "Arithmetic overflow" + } + qt_decimal256_cast_to_double_1 """ + select cast(v1 as double) from dec256cast_to_float; + """ + } \ No newline at end of file From 6621ae688c191017461baa901c35e1eef3d49e32 Mon Sep 17 00:00:00 2001 From: Dongyang Li Date: Wed, 4 Sep 2024 19:46:33 +0800 Subject: [PATCH 041/199] [fix](ci) add retry to avoid compile fail (#40381) ## Proposed changes Issue Number: close #xxx Co-authored-by: stephen --- cloud/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloud/CMakeLists.txt b/cloud/CMakeLists.txt index bb697d791e7116..7a273dd04e29c4 100644 --- a/cloud/CMakeLists.txt +++ b/cloud/CMakeLists.txt @@ -435,7 +435,7 @@ endif() if (NOT EXISTS "${THIRDPARTY_SRC}/${FDB_LIB}") file(MAKE_DIRECTORY ${THIRDPARTY_SRC}) - execute_process(COMMAND "curl" "${FDB_LIB_URL}" + execute_process(COMMAND "curl --retry 10 --retry-delay 2 --retry-max-time 30" "${FDB_LIB_URL}" "-o" "${THIRDPARTY_SRC}/${FDB_LIB}" "-k" RESULTS_VARIABLE DOWNLOAD_RET) if (NOT ${DOWNLOAD_RET} STREQUAL "0") From 9963ec2ddfbdf9143a6779febb1b6bf9c83e1baf Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Wed, 4 Sep 2024 19:48:10 +0800 Subject: [PATCH 042/199] [chore](Nereids) do not fallback if parse failed for all case (#40331) --- .../org/apache/doris/qe/ConnectProcessor.java | 47 +++++++++---------- .../datatype_p0/bitmap/test_bitmap_int.groovy | 2 +- ...test_nestedtypes_insert_into_select.groovy | 4 +- .../suites/demo_p0/test_action.groovy | 2 +- .../hive/ddl/test_hive_ddl.groovy | 2 +- .../update_on_current_timestamp.groovy | 2 +- .../grouping_sets/test_grouping_sets.groovy | 2 +- .../suites/query_p0/join/test_join2.groovy | 2 +- 8 files changed, 29 insertions(+), 34 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java index 91a3dbaad947b5..8f6faf41598cc4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java @@ -21,7 +21,6 @@ import org.apache.doris.analysis.InsertStmt; import org.apache.doris.analysis.KillStmt; import org.apache.doris.analysis.LiteralExpr; -import org.apache.doris.analysis.NotFallbackInParser; import org.apache.doris.analysis.QueryStmt; import org.apache.doris.analysis.SqlParser; import org.apache.doris.analysis.SqlScanner; @@ -300,6 +299,27 @@ public void executeQuery(MysqlCommand mysqlCommand, String originStmt) throws Ex nereidsSyntaxException = e; } } + + if (stmts == null && !ctx.getSessionVariable().enableFallbackToOriginalPlanner) { + String errMsg; + Throwable exception = null; + if (nereidsParseException != null) { + errMsg = nereidsParseException.getMessage(); + exception = nereidsParseException; + } else if (nereidsSyntaxException != null) { + errMsg = nereidsSyntaxException.getMessage(); + exception = nereidsSyntaxException; + } else { + errMsg = "Nereids parse statements failed. " + originStmt; + } + if (exception == null) { + exception = new AnalysisException(errMsg); + } else { + exception = new AnalysisException(errMsg, exception); + } + handleQueryException(exception, originStmt, null, null); + return; + } } // stmts == null when Nereids cannot planner this query or Nereids is disabled. @@ -325,31 +345,6 @@ public void executeQuery(MysqlCommand mysqlCommand, String originStmt) throws Ex } } - if (mysqlCommand == MysqlCommand.COM_QUERY - && ctx.getSessionVariable().isEnableNereidsPlanner() - && !ctx.getSessionVariable().enableFallbackToOriginalPlanner - && !stmts.isEmpty() - && stmts.stream().allMatch(s -> s instanceof NotFallbackInParser)) { - String errMsg; - Throwable exception = null; - if (nereidsParseException != null) { - errMsg = nereidsParseException.getMessage(); - exception = nereidsParseException; - } else if (nereidsSyntaxException != null) { - errMsg = nereidsSyntaxException.getMessage(); - exception = nereidsSyntaxException; - } else { - errMsg = "Nereids parse DQL failed. " + originStmt; - } - if (exception == null) { - exception = new AnalysisException(errMsg); - } else { - exception = new AnalysisException(errMsg, exception); - } - handleQueryException(exception, originStmt, null, null); - return; - } - List origSingleStmtList = null; // if stmts.size() > 1, split originStmt to multi singleStmts if (stmts.size() > 1) { diff --git a/regression-test/suites/datatype_p0/bitmap/test_bitmap_int.groovy b/regression-test/suites/datatype_p0/bitmap/test_bitmap_int.groovy index c890b27fada609..38725987d96fc4 100644 --- a/regression-test/suites/datatype_p0/bitmap/test_bitmap_int.groovy +++ b/regression-test/suites/datatype_p0/bitmap/test_bitmap_int.groovy @@ -68,7 +68,7 @@ suite("test_bitmap_int") { test { sql """SELECT case id_bitmap when 1 then 1 else 0 FROM test_bitmap;""" - exception "Syntax error in line 1" + exception "missing 'END' at 'FROM'" } qt_sql64_4 """SELECT id_bitmap FROM test_bitmap WHERE id_bitmap is null LIMIT 20;""" diff --git a/regression-test/suites/datatype_p0/nested_types/query/test_nestedtypes_insert_into_select.groovy b/regression-test/suites/datatype_p0/nested_types/query/test_nestedtypes_insert_into_select.groovy index 2023ecf641c0f0..633ad98d86f556 100644 --- a/regression-test/suites/datatype_p0/nested_types/query/test_nestedtypes_insert_into_select.groovy +++ b/regression-test/suites/datatype_p0/nested_types/query/test_nestedtypes_insert_into_select.groovy @@ -32,7 +32,7 @@ suite("test_nestedtypes_insert_into_select", "p0") { test { sql "insert into ast values ('text' , [named_struct('a',1,'b','home'),named_struct('a',2,'b','work')]);" - exception "errCode = 2, detailMessage = Sql parser can't convert the result to array, please check your sql." + exception "mismatched input 'named_struct' expecting" } @@ -50,6 +50,6 @@ suite("test_nestedtypes_insert_into_select", "p0") { test { sql "insert into ast values ('text' , [named_struct('a',1,'b','home'),named_struct('a',2,'b','work')]);" - exception "Sql parser can't convert the result to array" + exception "mismatched input 'named_struct' expecting" } } diff --git a/regression-test/suites/demo_p0/test_action.groovy b/regression-test/suites/demo_p0/test_action.groovy index 1cae0da47e3a0b..7f0d4d7eb8ba24 100644 --- a/regression-test/suites/demo_p0/test_action.groovy +++ b/regression-test/suites/demo_p0/test_action.groovy @@ -19,7 +19,7 @@ suite("test_action") { test { sql "abcdefg" // check exception message contains - exception "Syntax error in line 1" + exception "extraneous input 'abcdefg'" } test { diff --git a/regression-test/suites/external_table_p0/hive/ddl/test_hive_ddl.groovy b/regression-test/suites/external_table_p0/hive/ddl/test_hive_ddl.groovy index aa4d8c0b3c6801..1d39ab9cde5503 100644 --- a/regression-test/suites/external_table_p0/hive/ddl/test_hive_ddl.groovy +++ b/regression-test/suites/external_table_p0/hive/ddl/test_hive_ddl.groovy @@ -362,7 +362,7 @@ suite("test_hive_ddl", "p0,external,hive,external_docker,external_docker_hive") sql """ CREATE TABLE schema_check ENGINE=hive ; """ - exception "AnalysisException, msg: Should contain at least one column in a table" + exception "Should contain at least one column in a table" } sql """ DROP DATABASE IF EXISTS `test_hive_loc` """ } diff --git a/regression-test/suites/nereids_p0/insert_into_table/update_on_current_timestamp.groovy b/regression-test/suites/nereids_p0/insert_into_table/update_on_current_timestamp.groovy index 597facb3ea345b..ef5496a7a76fcb 100644 --- a/regression-test/suites/nereids_p0/insert_into_table/update_on_current_timestamp.groovy +++ b/regression-test/suites/nereids_p0/insert_into_table/update_on_current_timestamp.groovy @@ -190,6 +190,6 @@ suite("nereids_update_on_current_timestamp") { k int, `update_time` datetime(6) default current_timestamp(4) on update current_timestamp(3)) replace, ) AGGREGATE KEY(k) DISTRIBUTED BY HASH(k) BUCKETS 1 properties("replication_num" = "1");""" - exception "Syntax error in line 3" + exception "mismatched input 'replace'" } } diff --git a/regression-test/suites/query_p0/grouping_sets/test_grouping_sets.groovy b/regression-test/suites/query_p0/grouping_sets/test_grouping_sets.groovy index 76a7476080090d..85bfae6a13c301 100644 --- a/regression-test/suites/query_p0/grouping_sets/test_grouping_sets.groovy +++ b/regression-test/suites/query_p0/grouping_sets/test_grouping_sets.groovy @@ -98,7 +98,7 @@ suite("test_grouping_sets", "p0") { SELECT k1, k3, MAX( k8 ) FROM test_query_db.test GROUP BY k1, GROUPING SETS ( (k1, k3), (k1), ( ) ), ROLLUP(k1, k3) """ - exception "Syntax error" + exception "mismatched input 'SETS'" } qt_select13""" diff --git a/regression-test/suites/query_p0/join/test_join2.groovy b/regression-test/suites/query_p0/join/test_join2.groovy index fb8cdb95f00a72..9158133948f754 100644 --- a/regression-test/suites/query_p0/join/test_join2.groovy +++ b/regression-test/suites/query_p0/join/test_join2.groovy @@ -84,7 +84,7 @@ suite("test_join2", "query,p0,arrow_flight_sql") { FROM ${TBname1} NATURAL JOIN ${TBname2} ORDER BY 1,2,3,4,5,6; """ - exception "natural join is not supported" + exception "mismatched input 'NATURAL'" } qt_join4 """ From edb6eec2dab7a93d89fe29cc315239d5e25cd738 Mon Sep 17 00:00:00 2001 From: Tiewei Fang <43782773+BePPPower@users.noreply.github.com> Date: Wed, 4 Sep 2024 19:59:04 +0800 Subject: [PATCH 043/199] [fix](OrcWriter) fix be core when upgrading BE without upgrading FE (#40282) Since we have changed the type mapping from Doris to Orc type, using the `Outfile` to export Date/Datetime types will cause BE core dump when only upgrading BE without upgrading FE. --- be/src/pipeline/exec/result_sink_operator.h | 4 ++++ be/src/vec/sink/writer/vfile_result_writer.cpp | 5 +++++ .../main/java/org/apache/doris/analysis/OutFileClause.java | 1 + gensrc/thrift/DataSinks.thrift | 7 +++++++ 4 files changed, 17 insertions(+) diff --git a/be/src/pipeline/exec/result_sink_operator.h b/be/src/pipeline/exec/result_sink_operator.h index 06b961b2a31694..33e32e93633453 100644 --- a/be/src/pipeline/exec/result_sink_operator.h +++ b/be/src/pipeline/exec/result_sink_operator.h @@ -58,6 +58,7 @@ struct ResultFileOptions { std::string file_suffix; //Bring BOM when exporting to CSV format bool with_bom = false; + int64_t orc_writer_version = 0; ResultFileOptions(const TResultFileSinkOptions& t_opt) { file_path = t_opt.file_path; @@ -108,6 +109,9 @@ struct ResultFileOptions { if (t_opt.__isset.orc_compression_type) { orc_compression_type = t_opt.orc_compression_type; } + if (t_opt.__isset.orc_writer_version) { + orc_writer_version = t_opt.orc_writer_version; + } } }; diff --git a/be/src/vec/sink/writer/vfile_result_writer.cpp b/be/src/vec/sink/writer/vfile_result_writer.cpp index 16491311c17ae6..5161cf2928d409 100644 --- a/be/src/vec/sink/writer/vfile_result_writer.cpp +++ b/be/src/vec/sink/writer/vfile_result_writer.cpp @@ -84,6 +84,11 @@ VFileResultWriter::VFileResultWriter( Status VFileResultWriter::open(RuntimeState* state, RuntimeProfile* profile) { _state = state; _init_profile(profile); + // check orc writer version + if (_file_opts->file_format == TFileFormatType::FORMAT_ORC && + _file_opts->orc_writer_version < 1) { + return Status::InternalError("orc writer version is less than 1."); + } // Delete existing files if (_file_opts->delete_existing_files) { RETURN_IF_ERROR(_delete_dir()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/OutFileClause.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/OutFileClause.java index 6debdca789f125..ef65b405853765 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/OutFileClause.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/OutFileClause.java @@ -884,6 +884,7 @@ public TResultFileSinkOptions toSinkOptions() { if (isOrcFormat()) { sinkOptions.setOrcSchema(serializeOrcSchema()); sinkOptions.setOrcCompressionType(orcCompressionType); + sinkOptions.setOrcWriterVersion(1); } return sinkOptions; } diff --git a/gensrc/thrift/DataSinks.thrift b/gensrc/thrift/DataSinks.thrift index 14f528666a3121..e46f7e6067cfef 100644 --- a/gensrc/thrift/DataSinks.thrift +++ b/gensrc/thrift/DataSinks.thrift @@ -133,6 +133,13 @@ struct TResultFileSinkOptions { 18: optional bool with_bom; 19: optional PlanNodes.TFileCompressType orc_compression_type; + + // Since we have changed the type mapping from Doris to Orc type, + // using the Outfile to export Date/Datetime types will cause BE core dump + // when only upgrading BE without upgrading FE. + // orc_writer_version = 1 means doris FE is higher than version 2.1.5 + // orc_writer_version = 0 means doris FE is less than or equal to version 2.1.5 + 20: optional i64 orc_writer_version; } struct TMemoryScratchSink { From 3856acad352adffc0e017d6fc8e6f519b98c5ad8 Mon Sep 17 00:00:00 2001 From: bobhan1 Date: Wed, 4 Sep 2024 20:06:39 +0800 Subject: [PATCH 044/199] [Opt](delete) Skip newly inserted rows check in non-strict mode partial update if the row's delete sign is marked (#40322) --- .../olap/rowset/segment_v2/segment_writer.cpp | 3 +- .../segment_v2/vertical_segment_writer.cpp | 3 +- .../partial_update/partial_update_delete.csv | 3 +- .../test_partial_update_delete.out | 338 ++++++++++++++++-- .../test_partial_update_delete.groovy | 292 ++++++++++----- 5 files changed, 527 insertions(+), 112 deletions(-) diff --git a/be/src/olap/rowset/segment_v2/segment_writer.cpp b/be/src/olap/rowset/segment_v2/segment_writer.cpp index 105433d2689e01..9f5811f67909bc 100644 --- a/be/src/olap/rowset/segment_v2/segment_writer.cpp +++ b/be/src/olap/rowset/segment_v2/segment_writer.cpp @@ -596,7 +596,8 @@ Status SegmentWriter::append_block_with_partial_content(const vectorized::Block* segment_pos); } else { - if (!_opts.rowset_ctx->partial_update_info->can_insert_new_rows_in_partial_update) { + if (!_opts.rowset_ctx->partial_update_info->can_insert_new_rows_in_partial_update && + !have_delete_sign) { std::string error_column; for (auto cid : _opts.rowset_ctx->partial_update_info->missing_cids) { const TabletColumn& col = _tablet_schema->column(cid); diff --git a/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp b/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp index 64f72bc0c4669d..7ec9236a4d8cd5 100644 --- a/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp +++ b/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp @@ -455,7 +455,8 @@ Status VerticalSegmentWriter::_append_block_with_partial_content(RowsInBlock& da DeleteBitmap::TEMP_VERSION_COMMON}, segment_pos); } else { - if (!_opts.rowset_ctx->partial_update_info->can_insert_new_rows_in_partial_update) { + if (!_opts.rowset_ctx->partial_update_info->can_insert_new_rows_in_partial_update && + !have_delete_sign) { std::string error_column; for (auto cid : _opts.rowset_ctx->partial_update_info->missing_cids) { const TabletColumn& col = _tablet_schema->column(cid); diff --git a/regression-test/data/unique_with_mow_p0/partial_update/partial_update_delete.csv b/regression-test/data/unique_with_mow_p0/partial_update/partial_update_delete.csv index 5f5fbe759f10b9..e22b5b747a60e7 100644 --- a/regression-test/data/unique_with_mow_p0/partial_update/partial_update_delete.csv +++ b/regression-test/data/unique_with_mow_p0/partial_update/partial_update_delete.csv @@ -1,3 +1,4 @@ 1 2 -3 \ No newline at end of file +3 +7 \ No newline at end of file diff --git a/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_delete.out b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_delete.out index e1623d42460181..7a639b8d6e29db 100644 --- a/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_delete.out +++ b/regression-test/data/unique_with_mow_p0/partial_update/test_partial_update_delete.out @@ -1,21 +1,21 @@ -- This file is automatically generated. You should know what you did if you want to edit this --- !sql -- +-- !sql1 -- 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 --- !sql -- +-- !sql1 -- 2 2 2 2 2 4 4 4 4 4 5 5 5 5 5 --- !sql -- +-- !sql1 -- 4 4 4 4 4 5 5 5 5 5 --- !with_delete_sign -- +-- !with_delete_sign1 -- 1 \N \N 0 \N 1 1 1 1 1 1 0 2 \N \N 0 \N 1 @@ -25,44 +25,291 @@ 4 4 4 4 4 0 5 5 5 5 5 0 --- !sql -- +-- !sql2 -- 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 +6 6 6 6 6 --- !sql -- +-- !sql2 -- 4 4 4 4 4 5 5 5 5 5 +6 6 6 6 6 --- !sql -- -1 \N \N \N \N 1 +-- !sql2 -- +5 5 5 5 5 +6 6 6 6 6 + +-- !sql2 -- +1 \N \N 0 \N 1 +1 1 1 1 1 0 +2 \N \N 0 \N 1 +2 2 2 2 2 0 +3 \N \N 0 \N 1 +3 3 3 3 3 0 +4 \N \N 0 \N 1 +4 4 4 4 4 0 +5 5 5 5 5 0 +6 6 6 6 6 0 +7 \N \N 0 \N 1 +8 \N \N 0 \N 1 +9 \N \N 0 \N 1 + +-- !sql3 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql3 -- +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql3 -- +5 5 5 5 5 +6 6 6 6 6 + +-- !sql3 -- +1 1 1 1 1 0 1 +1 1 1 1 1 1 1 +2 2 2 2 2 0 2 +2 2 2 2 2 1 2 +3 3 3 3 3 0 3 +3 3 3 3 3 1 3 +4 4 4 4 4 0 4 +4 4 4 4 4 1 4 +5 5 5 5 5 0 5 +6 6 6 6 6 0 6 +7 \N \N 0 \N 1 \N +8 \N \N 0 \N 1 \N +9 \N \N 0 \N 1 \N + +-- !sql4 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql1 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 + +-- !sql1 -- +2 2 2 2 2 +4 4 4 4 4 +5 5 5 5 5 + +-- !sql1 -- +4 4 4 4 4 +5 5 5 5 5 + +-- !with_delete_sign1 -- +1 \N \N 0 \N 1 +1 1 1 1 1 0 +2 \N \N 0 \N 1 +2 2 2 2 2 0 +3 \N \N 0 \N 1 +3 3 3 3 3 0 +4 4 4 4 4 0 +5 5 5 5 5 0 + +-- !sql2 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql2 -- +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql2 -- +5 5 5 5 5 +6 6 6 6 6 + +-- !sql2 -- +1 \N \N 0 \N 1 +1 1 1 1 1 0 +2 \N \N 0 \N 1 +2 2 2 2 2 0 +3 \N \N 0 \N 1 +3 3 3 3 3 0 +4 \N \N 0 \N 1 +4 4 4 4 4 0 +5 5 5 5 5 0 +6 6 6 6 6 0 +7 \N \N 0 \N 1 +8 \N \N 0 \N 1 +9 \N \N 0 \N 1 + +-- !sql3 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql3 -- +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql3 -- +5 5 5 5 5 +6 6 6 6 6 + +-- !sql3 -- +1 1 1 1 1 0 1 +1 1 1 1 1 1 1 +2 2 2 2 2 0 2 +2 2 2 2 2 1 2 +3 3 3 3 3 0 3 +3 3 3 3 3 1 3 +4 4 4 4 4 0 4 +4 4 4 4 4 1 4 +5 5 5 5 5 0 5 +6 6 6 6 6 0 6 +7 \N \N 0 \N 1 \N +8 \N \N 0 \N 1 \N +9 \N \N 0 \N 1 \N + +-- !sql4 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql1 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 + +-- !sql1 -- +2 2 2 2 2 +4 4 4 4 4 +5 5 5 5 5 + +-- !sql1 -- +4 4 4 4 4 +5 5 5 5 5 + +-- !with_delete_sign1 -- +1 \N \N 0 \N 1 1 1 1 1 1 0 -2 \N \N \N \N 1 +2 \N \N 0 \N 1 2 2 2 2 2 0 -3 \N \N \N \N 1 +3 \N \N 0 \N 1 3 3 3 3 3 0 4 4 4 4 4 0 5 5 5 5 5 0 --- !sql -- +-- !sql2 -- 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 +6 6 6 6 6 + +-- !sql2 -- +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql2 -- +5 5 5 5 5 +6 6 6 6 6 --- !sql -- +-- !sql2 -- +1 \N \N 0 \N 1 +1 1 1 1 1 0 +2 \N \N 0 \N 1 +2 2 2 2 2 0 +3 \N \N 0 \N 1 +3 3 3 3 3 0 +4 \N \N 0 \N 1 +4 4 4 4 4 0 +5 5 5 5 5 0 +6 6 6 6 6 0 +7 \N \N 0 \N 1 +8 \N \N 0 \N 1 +9 \N \N 0 \N 1 + +-- !sql3 -- +1 1 1 1 1 2 2 2 2 2 +3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 +6 6 6 6 6 --- !sql -- +-- !sql3 -- 4 4 4 4 4 5 5 5 5 5 +6 6 6 6 6 + +-- !sql3 -- +5 5 5 5 5 +6 6 6 6 6 --- !with_delete_sign -- +-- !sql3 -- +1 1 1 1 1 0 1 +1 1 1 1 1 1 1 +2 2 2 2 2 0 2 +2 2 2 2 2 1 2 +3 3 3 3 3 0 3 +3 3 3 3 3 1 3 +4 4 4 4 4 0 4 +4 4 4 4 4 1 4 +5 5 5 5 5 0 5 +6 6 6 6 6 0 6 +7 \N \N 0 \N 1 \N +8 \N \N 0 \N 1 \N +9 \N \N 0 \N 1 \N + +-- !sql4 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql1 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 + +-- !sql1 -- +2 2 2 2 2 +4 4 4 4 4 +5 5 5 5 5 + +-- !sql1 -- +4 4 4 4 4 +5 5 5 5 5 + +-- !with_delete_sign1 -- 1 \N \N 0 \N 1 1 1 1 1 1 0 2 \N \N 0 \N 1 @@ -72,24 +319,75 @@ 4 4 4 4 4 0 5 5 5 5 5 0 --- !sql -- +-- !sql2 -- 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 +6 6 6 6 6 --- !sql -- +-- !sql2 -- 4 4 4 4 4 5 5 5 5 5 +6 6 6 6 6 --- !sql -- -1 \N \N \N \N 1 +-- !sql2 -- +5 5 5 5 5 +6 6 6 6 6 + +-- !sql2 -- +1 \N \N 0 \N 1 1 1 1 1 1 0 -2 \N \N \N \N 1 +2 \N \N 0 \N 1 2 2 2 2 2 0 -3 \N \N \N \N 1 +3 \N \N 0 \N 1 3 3 3 3 3 0 +4 \N \N 0 \N 1 4 4 4 4 4 0 5 5 5 5 5 0 +6 6 6 6 6 0 +7 \N \N 0 \N 1 +8 \N \N 0 \N 1 +9 \N \N 0 \N 1 + +-- !sql3 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql3 -- +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 + +-- !sql3 -- +5 5 5 5 5 +6 6 6 6 6 + +-- !sql3 -- +1 1 1 1 1 0 1 +1 1 1 1 1 1 1 +2 2 2 2 2 0 2 +2 2 2 2 2 1 2 +3 3 3 3 3 0 3 +3 3 3 3 3 1 3 +4 4 4 4 4 0 4 +4 4 4 4 4 1 4 +5 5 5 5 5 0 5 +6 6 6 6 6 0 6 +7 \N \N 0 \N 1 \N +8 \N \N 0 \N 1 \N +9 \N \N 0 \N 1 \N + +-- !sql4 -- +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +5 5 5 5 5 +6 6 6 6 6 diff --git a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete.groovy b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete.groovy index 0d83d94f91c918..fc59038122a1d2 100644 --- a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete.groovy +++ b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete.groovy @@ -20,96 +20,210 @@ suite('test_partial_update_delete') { String db = context.config.getDbNameByFile(context.file) sql "select 1;" // to create database - for (def use_row_store : [false, true]) { - logger.info("current params: use_row_store: ${use_row_store}") - - connect(user = context.config.jdbcUser, password = context.config.jdbcPassword, url = context.config.jdbcUrl) { - sql "use ${db};" - - def tableName1 = "test_partial_update_delete1" - sql "DROP TABLE IF EXISTS ${tableName1};" - sql """ CREATE TABLE IF NOT EXISTS ${tableName1} ( - `k1` int NOT NULL, - `c1` int, - `c2` int, - `c3` int NOT NULL, - `c4` int - )UNIQUE KEY(k1) - DISTRIBUTED BY HASH(k1) BUCKETS 1 - PROPERTIES ( - "enable_unique_key_merge_on_write" = "true", - "disable_auto_compaction" = "true", - "replication_num" = "1", - "store_row_column" = "${use_row_store}"); """ - - def tableName2 = "test_partial_update_delete2" - sql "DROP TABLE IF EXISTS ${tableName2};" - sql """ CREATE TABLE IF NOT EXISTS ${tableName2} ( - `k` BIGINT NULL - ) UNIQUE KEY(k) - DISTRIBUTED BY HASH(k) BUCKETS 1 - PROPERTIES ( - "enable_unique_key_merge_on_write" = "true", - "disable_auto_compaction" = "true", - "replication_num" = "1", - "store_row_column" = "${use_row_store}"); """ - - sql "insert into ${tableName1} values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5);" - qt_sql "select * from ${tableName1} order by k1;" - sql "insert into ${tableName2} values(1),(3);" - sql "delete from ${tableName1} A using ${tableName2} B where A.k1=B.k;" - qt_sql "select * from ${tableName1} order by k1;" - - sql "delete from ${tableName1} where c2=2;" - qt_sql "select * from ${tableName1} order by k1;" - - sql "set skip_delete_sign=true;" - sql "set skip_storage_engine_merge=true;" - sql "set skip_delete_bitmap=true;" - qt_with_delete_sign "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName1} order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;" - sql "drop table if exists ${tableName1};" - sql "drop table if exists ${tableName2};" - - sql "set skip_delete_sign=false;" - sql "set skip_storage_engine_merge=false;" - sql "set skip_delete_bitmap=false;" - def tableName3 = "test_partial_update_delete3" - sql "DROP TABLE IF EXISTS ${tableName3};" - sql """ CREATE TABLE IF NOT EXISTS ${tableName3} ( - `k1` int NOT NULL, - `c1` int, - `c2` int, - `c3` int, - `c4` int - )UNIQUE KEY(k1) - DISTRIBUTED BY HASH(k1) BUCKETS 1 - PROPERTIES ( - "enable_unique_key_merge_on_write" = "true", - "disable_auto_compaction" = "true", - "replication_num" = "1", - "store_row_column" = "${use_row_store}"); """ - - sql "insert into ${tableName3} values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5);" - qt_sql "select k1,c1,c2,c3,c4 from ${tableName3} order by k1,c1,c2,c3,c4;" - streamLoad { - table "${tableName3}" - - set 'column_separator', ',' - set 'format', 'csv' - set 'columns', 'k1' - set 'partial_columns', 'true' - set 'merge_type', 'DELETE' - - file 'partial_update_delete.csv' - time 10000 + for (def use_nereids : [true, false]) { + for (def use_row_store : [false, true]) { + logger.info("current params: use_nereids: ${use_nereids}, use_row_store: ${use_row_store}") + connect(user = context.config.jdbcUser, password = context.config.jdbcPassword, url = context.config.jdbcUrl) { + sql "use ${db};" + if (use_nereids) { + sql "set enable_nereids_planner=true" + sql "set enable_fallback_to_original_planner=false" + } else { + sql "set enable_nereids_planner=false" + } + sql "sync;" + + def tableName1 = "test_partial_update_delete1" + sql "DROP TABLE IF EXISTS ${tableName1};" + sql """ CREATE TABLE IF NOT EXISTS ${tableName1} ( + `k1` int NOT NULL, + `c1` int, + `c2` int, + `c3` int NOT NULL, + `c4` int + )UNIQUE KEY(k1) + DISTRIBUTED BY HASH(k1) BUCKETS 1 + PROPERTIES ( + "enable_unique_key_merge_on_write" = "true", + "disable_auto_compaction" = "true", + "replication_num" = "1", + "store_row_column" = "${use_row_store}"); """ + + + def tableName2 = "test_partial_update_delete2" + sql "DROP TABLE IF EXISTS ${tableName2};" + sql """ CREATE TABLE IF NOT EXISTS ${tableName2} ( + `k` BIGINT NULL + ) UNIQUE KEY(k) + DISTRIBUTED BY HASH(k) BUCKETS 1 + PROPERTIES ( + "enable_unique_key_merge_on_write" = "true", + "disable_auto_compaction" = "true", + "replication_num" = "1", + "store_row_column" = "${use_row_store}"); """ + + sql "insert into ${tableName1} values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5);" + qt_sql1 "select * from ${tableName1} order by k1;" + sql "insert into ${tableName2} values(1),(3);" + sql "delete from ${tableName1} A using ${tableName2} B where A.k1=B.k;" + qt_sql1 "select * from ${tableName1} order by k1;" + + sql "delete from ${tableName1} where c2=2;" + qt_sql1 "select * from ${tableName1} order by k1;" + + sql "set skip_delete_sign=true;" + sql "set skip_storage_engine_merge=true;" + sql "set skip_delete_bitmap=true;" + qt_with_delete_sign1 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName1} order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;" + sql "drop table if exists ${tableName1};" + sql "drop table if exists ${tableName2};" + + + sql "set skip_delete_sign=false;" + sql "set skip_storage_engine_merge=false;" + sql "set skip_delete_bitmap=false;" + def tableName3 = "test_partial_update_delete3" + sql "DROP TABLE IF EXISTS ${tableName3};" + sql """ CREATE TABLE IF NOT EXISTS ${tableName3} ( + `k1` int NOT NULL, + `c1` int, + `c2` int, + `c3` int NOT NULL, + `c4` int + )UNIQUE KEY(k1) + DISTRIBUTED BY HASH(k1) BUCKETS 1 + PROPERTIES ( + "enable_unique_key_merge_on_write" = "true", + "disable_auto_compaction" = "true", + "replication_num" = "1", + "store_row_column" = "${use_row_store}"); """ + + sql "insert into ${tableName3} values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5),(6,6,6,6,6);" + qt_sql2 "select k1,c1,c2,c3,c4 from ${tableName3} order by k1,c1,c2,c3,c4;" + streamLoad { + table "${tableName3}" + set 'column_separator', ',' + set 'format', 'csv' + set 'columns', 'k1' + set 'partial_columns', 'true' + set 'merge_type', 'DELETE' + file 'partial_update_delete.csv' + time 10000 + } + sql "sync" + qt_sql2 "select k1,c1,c2,c3,c4 from ${tableName3} order by k1,c1,c2,c3,c4;" + + sql "set enable_insert_strict=false;" + sql "set enable_unique_key_partial_update=true;" + sql "sync;" + sql "insert into ${tableName3}(k1, __DORIS_DELETE_SIGN__) values(8,1),(4,1),(9,1);" + qt_sql2 "select k1,c1,c2,c3,c4 from ${tableName3} order by k1,c1,c2,c3,c4;" + sql "set enable_insert_strict=true;" + sql "set enable_unique_key_partial_update=false;" + sql "sync;" + + sql "set skip_delete_sign=true;" + sql "set skip_storage_engine_merge=true;" + sql "set skip_delete_bitmap=true;" + qt_sql2 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName3} order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;" + sql "drop table if exists ${tableName3};" + + + sql "set skip_delete_sign=false;" + sql "set skip_storage_engine_merge=false;" + sql "set skip_delete_bitmap=false;" + def tableName4 = "test_partial_update_delete4" + sql "DROP TABLE IF EXISTS ${tableName4};" + sql """ CREATE TABLE IF NOT EXISTS ${tableName4} ( + `k1` int NOT NULL, + `c1` int, + `c2` int, + `c3` int NOT NULL, + `c4` int + )UNIQUE KEY(k1) + DISTRIBUTED BY HASH(k1) BUCKETS 1 + PROPERTIES ( + "enable_unique_key_merge_on_write" = "true", + "disable_auto_compaction" = "true", + "replication_num" = "1", + "store_row_column" = "${use_row_store}", + "function_column.sequence_col" = "c3"); """ + + sql "insert into ${tableName4} values(1,1,1,1,1),(2,2,2,2,2),(3,3,3,3,3),(4,4,4,4,4),(5,5,5,5,5),(6,6,6,6,6);" + qt_sql3 "select k1,c1,c2,c3,c4 from ${tableName4} order by k1,c1,c2,c3,c4;" + // if the table has sequence map col, can not set sequence map col when merge_type=delete + streamLoad { + table "${tableName4}" + set 'column_separator', ',' + set 'format', 'csv' + set 'columns', 'k1' + set 'partial_columns', 'true' + set 'merge_type', 'DELETE' + file 'partial_update_delete.csv' + time 10000 + } + sql "sync" + qt_sql3 "select k1,c1,c2,c3,c4 from ${tableName4} order by k1,c1,c2,c3,c4;" + + sql "set enable_insert_strict=false;" + sql "set enable_unique_key_partial_update=true;" + sql "sync;" + sql "insert into ${tableName4}(k1, __DORIS_DELETE_SIGN__) values(8,1),(4,1),(9,1);" + qt_sql3 "select k1,c1,c2,c3,c4 from ${tableName4} order by k1,c1,c2,c3,c4;" + sql "set enable_insert_strict=true;" + sql "set enable_unique_key_partial_update=false;" + sql "sync;" + + sql "set skip_delete_sign=true;" + sql "set skip_storage_engine_merge=true;" + sql "set skip_delete_bitmap=true;" + qt_sql3 "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__,__DORIS_SEQUENCE_COL__ from ${tableName4} order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;" + sql "drop table if exists ${tableName4};" + + + sql "set skip_delete_sign=false;" + sql "set skip_storage_engine_merge=false;" + sql "set skip_delete_bitmap=false;" + def tableName5 = "test_partial_update_delete5" + sql "DROP TABLE IF EXISTS ${tableName5};" + sql """ CREATE TABLE IF NOT EXISTS ${tableName5} ( + `k1` int NOT NULL, + `c1` int, + `c2` int, + `c3` int NOT NULL, + `c4` int + )UNIQUE KEY(k1) + DISTRIBUTED BY HASH(k1) BUCKETS 1 + PROPERTIES ( + "enable_unique_key_merge_on_write" = "true", + "disable_auto_compaction" = "true", + "replication_num" = "1", + "store_row_column" = "${use_row_store}", + "function_column.sequence_type" = "int"); """ + sql "insert into ${tableName5}(k1,c1,c2,c3,c4,__DORIS_SEQUENCE_COL__) values(1,1,1,1,1,1),(2,2,2,2,2,2),(3,3,3,3,3,3),(4,4,4,4,4,4),(5,5,5,5,5,5),(6,6,6,6,6,6);" + qt_sql4 "select k1,c1,c2,c3,c4 from ${tableName5} order by k1,c1,c2,c3,c4;" + // if the table has sequence type col, users must set sequence col even if merge_type=delete + streamLoad { + table "${tableName5}" + set 'column_separator', ',' + set 'format', 'csv' + set 'columns', 'k1' + set 'partial_columns', 'true' + set 'merge_type', 'DELETE' + file 'partial_update_delete.csv' + time 10000 + check { result, exception, startTime, endTime -> + if (exception != null) { + throw exception + } + log.info("Stream load result: ${result}".toString()) + def json = parseJson(result) + assertEquals("fail", json.Status.toLowerCase()) + assertTrue(json.Message.contains('need to specify the sequence column')) + } + } + sql "drop table if exists ${tableName5};" } - sql "sync" - qt_sql "select k1,c1,c2,c3,c4 from ${tableName3} order by k1,c1,c2,c3,c4;" - sql "set skip_delete_sign=true;" - sql "set skip_storage_engine_merge=true;" - sql "set skip_delete_bitmap=true;" - qt_sql "select k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__ from ${tableName3} order by k1,c1,c2,c3,c4,__DORIS_DELETE_SIGN__;" - sql "drop table if exists ${tableName3};" } } } From 9ad1f236eabf4b12a28a24a1fa79acec5fc7c585 Mon Sep 17 00:00:00 2001 From: lihangyu <15605149486@163.com> Date: Wed, 4 Sep 2024 21:04:54 +0800 Subject: [PATCH 045/199] [Fix](ShortCircuit) consider delete sign flag when hits row (#40300) If partial update with delete clause, the new rowset delete sign should be considered --- be/src/service/point_query_executor.cpp | 18 +++++++++++++ be/src/service/point_query_executor.h | 5 ++++ .../data/point_query_p0/test_point_query.out | 8 ++++++ .../point_query_p0/test_point_query.groovy | 27 +++++++++++++++++++ 4 files changed, 58 insertions(+) diff --git a/be/src/service/point_query_executor.cpp b/be/src/service/point_query_executor.cpp index 88293ba9b03675..8058e1f1be6302 100644 --- a/be/src/service/point_query_executor.cpp +++ b/be/src/service/point_query_executor.cpp @@ -49,7 +49,9 @@ #include "runtime/thread_context.h" #include "util/key_util.h" #include "util/runtime_profile.h" +#include "util/simd/bits.h" #include "util/thrift_util.h" +#include "vec/columns/columns_number.h" #include "vec/data_types/serde/data_type_serde.h" #include "vec/exprs/vexpr.h" #include "vec/exprs/vexpr_context.h" @@ -143,6 +145,9 @@ Status Reusable::init(const TDescriptorTable& t_desc_tbl, const std::vectorroot(), tuple_desc(), output_slot_descs); } + // get the delete sign idx in block + _delete_sign_idx = _col_uid_to_idx[schema.columns()[schema.delete_sign_idx()]->unique_id()]; + if (schema.have_column(BeConsts::ROW_STORE_COL)) { const auto& column = *DORIS_TRY(schema.column(BeConsts::ROW_STORE_COL)); _row_store_column_ids = column.unique_id(); @@ -483,6 +488,19 @@ Status PointQueryExecutor::_lookup_row_data() { } } } + // filter rows by delete sign + if (_row_hits > 0 && _reusable->delete_sign_idx() != -1) { + vectorized::ColumnPtr delete_filter_columns = + _result_block->get_columns()[_reusable->delete_sign_idx()]; + const auto& filter = + assert_cast(delete_filter_columns.get())->get_data(); + size_t count = filter.size() - simd::count_zero_num((int8_t*)filter.data(), filter.size()); + if (count == filter.size()) { + _result_block->clear(); + } else if (count > 0) { + return Status::NotSupported("Not implemented since only single row at present"); + } + } return Status::OK(); } diff --git a/be/src/service/point_query_executor.h b/be/src/service/point_query_executor.h index 29c7348e3d5b97..19954479c97ec7 100644 --- a/be/src/service/point_query_executor.h +++ b/be/src/service/point_query_executor.h @@ -100,6 +100,9 @@ class Reusable { RuntimeState* runtime_state() { return _runtime_state.get(); } + // delete sign idx in block + int32_t delete_sign_idx() const { return _delete_sign_idx; } + private: // caching TupleDescriptor, output_expr, etc... std::unique_ptr _runtime_state; @@ -118,6 +121,8 @@ class Reusable { std::unordered_set _missing_col_uids; // included cids in rowstore(column group) std::unordered_set _include_col_uids; + // delete sign idx in block + int32_t _delete_sign_idx = -1; }; // RowCache is a LRU cache for row store diff --git a/regression-test/data/point_query_p0/test_point_query.out b/regression-test/data/point_query_p0/test_point_query.out index 5a4e0b6617826f..1cc4142e39f306 100644 --- a/regression-test/data/point_query_p0/test_point_query.out +++ b/regression-test/data/point_query_p0/test_point_query.out @@ -152,3 +152,11 @@ -- !sql -- 0 1111111 +-- !sql -- +10 20 aabc value + +-- !sql -- + +-- !sql -- +-10 20 aabc update val + diff --git a/regression-test/suites/point_query_p0/test_point_query.groovy b/regression-test/suites/point_query_p0/test_point_query.groovy index f27c366efbbd0b..f05d0af1305a68 100644 --- a/regression-test/suites/point_query_p0/test_point_query.groovy +++ b/regression-test/suites/point_query_p0/test_point_query.groovy @@ -304,4 +304,31 @@ suite("test_point_query", "nonConcurrent") { sql """set global enable_nereids_planner=true""" sql "set global enable_fallback_to_original_planner = true" } + + // test partial update/delete + sql "DROP TABLE IF EXISTS table_3821461" + sql """ + CREATE TABLE `table_3821461` ( + `col1` smallint NOT NULL, + `col2` int NOT NULL, + `loc3` char(10) NOT NULL, + `value` char(10) NOT NULL, + INDEX col3 (`loc3`) USING INVERTED, + INDEX col2 (`col2`) USING INVERTED ) + ENGINE=OLAP UNIQUE KEY(`col1`, `col2`, `loc3`) + DISTRIBUTED BY HASH(`col1`, `col2`, `loc3`) BUCKETS 1 + PROPERTIES ( "replication_allocation" = "tag.location.default: 1", "bloom_filter_columns" = "col1", "store_row_column" = "true" ); + """ + sql "insert into table_3821461 values (-10, 20, 'aabc', 'value')" + sql "insert into table_3821461 values (10, 20, 'aabc', 'value');" + sql "insert into table_3821461 values (20, 30, 'aabc', 'value');" + explain { + sql("select * from table_3821461 where col1 = -10 and col2 = 20 and loc3 = 'aabc'") + contains "SHORT-CIRCUIT" + } + qt_sql "select * from table_3821461 where col1 = 10 and col2 = 20 and loc3 = 'aabc';" + sql "delete from table_3821461 where col1 = 10 and col2 = 20 and loc3 = 'aabc';" + qt_sql "select * from table_3821461 where col1 = 10 and col2 = 20 and loc3 = 'aabc';" + sql "update table_3821461 set value = 'update value' where col1 = -10 or col1 = 20;" + qt_sql """select * from table_3821461 where col1 = -10 and col2 = 20 and loc3 = 'aabc'""" } \ No newline at end of file From d177d5b004876c11a06fa2975794286436ec9e22 Mon Sep 17 00:00:00 2001 From: Gavin Chou Date: Wed, 4 Sep 2024 21:27:17 +0800 Subject: [PATCH 046/199] [chore](cloud) Support starting both meta-service and recycler within single process (#40223) e.g. the following will start meta-service and recycler within single process. ``` ./bin/start.sh --daemon ``` the log file will be meta_service.INFO* and it is the same effect as `./bin/start.sh --meta-service --recycler --daemon` doc PR https://github.com/apache/doris-website/pull/1073 --- cloud/script/start.sh | 27 +++++++---- cloud/src/common/config.h | 1 + cloud/src/main.cpp | 60 ++++++++++++++----------- cloud/src/recycler/checker.cpp | 2 + cloud/src/recycler/recycler.cpp | 5 +++ cloud/src/recycler/recycler_service.cpp | 2 +- cloud/test/recycler_test.cpp | 1 + 7 files changed, 63 insertions(+), 35 deletions(-) diff --git a/cloud/script/start.sh b/cloud/script/start.sh index 28e986166ae832..582c80c2e6fa4c 100644 --- a/cloud/script/start.sh +++ b/cloud/script/start.sh @@ -122,7 +122,10 @@ fi echo "LIBHDFS3_CONF=${LIBHDFS3_CONF}" -export JEMALLOC_CONF="percpu_arena:percpu,background_thread:true,metadata_thp:auto,muzzy_decay_ms:5000,dirty_decay_ms:5000,oversize_threshold:0,prof:false,lg_prof_interval:-1" +# to enable dump jeprof heap stats prodigally, change `prof:false` to `prof:true` +# to control the dump interval change `lg_prof_interval` to a specific value, it is pow/exponent of 2 in size of bytes, default 34 means 2 ** 34 = 16GB +# to control the dump path, change `prof_prefix` to a specific path, e.g. /doris_cloud/log/ms_, by default it dumps at the path where the start command called +export JEMALLOC_CONF="percpu_arena:percpu,background_thread:true,metadata_thp:auto,muzzy_decay_ms:5000,dirty_decay_ms:5000,oversize_threshold:0,prof_prefix:ms_,prof:false,lg_prof_interval:34" if [[ "${RUN_VERSION}" -eq 1 ]]; then "${bin}" --version @@ -131,14 +134,22 @@ fi mkdir -p "${DORIS_HOME}/log" echo "starts ${process} with args: $*" +out_file=${DORIS_HOME}/log/${process}.out if [[ "${RUN_DAEMON}" -eq 1 ]]; then - date >>"${DORIS_HOME}/log/${process}.out" - nohup "${bin}" "$@" >>"${DORIS_HOME}/log/${process}.out" 2>&1 & - # wait for log flush - sleep 1.5 - tail -n10 "${DORIS_HOME}/log/${process}.out" | grep 'working directory' -B1 -A10 - echo "please check process log for more details" - echo "" + # append 10 blank lines to ensure the following tail -n10 works correctly + printf "\n\n\n\n\n\n\n\n\n\n" >>"${out_file}" + echo "$(date +'%F %T') try to start ${process}" >>"${out_file}" + nohup "${bin}" "$@" >>"${out_file}" 2>&1 & + echo "wait and check ${process} start successfully" + sleep 3 + tail -n10 "${out_file}" | grep 'successfully started brpc' + ret=$? + if [[ ${ret} -ne 0 ]]; then + echo "${process} may not start successfully please check process log for more details" + exit 1 + fi + echo "${process} start successfully" + exit 0 elif [[ "${RUN_CONSOLE}" -eq 1 ]]; then export DORIS_LOG_TO_STDERR=1 date diff --git a/cloud/src/common/config.h b/cloud/src/common/config.h index e31a60a0d69f80..b1db41a6eb734e 100644 --- a/cloud/src/common/config.h +++ b/cloud/src/common/config.h @@ -77,6 +77,7 @@ CONF_mInt32(scan_instances_interval_seconds, "60"); // 1min CONF_mInt32(check_object_interval_seconds, "43200"); // 12hours CONF_mInt64(check_recycle_task_interval_seconds, "600"); // 10min +CONF_mInt64(recycler_sleep_before_scheduling_seconds, "60"); // log a warning if a recycle task takes longer than this duration CONF_mInt64(recycle_task_threshold_seconds, "10800"); // 3h diff --git a/cloud/src/main.cpp b/cloud/src/main.cpp index 9356a3546d03a9..74e6a8daaf161c 100644 --- a/cloud/src/main.cpp +++ b/cloud/src/main.cpp @@ -161,13 +161,13 @@ DECLARE_int64(socket_max_unwritten_bytes); int main(int argc, char** argv) { if (argc > 1) { if (auto ret = args.parse(argc - 1, argv + 1); !ret.empty()) { - std::cerr << ret << std::endl; + std::cerr << "parse arguments error: " << ret << std::endl; help(); return -1; } } - if (argc < 2 || args.get(ARG_HELP)) { + if (args.get(ARG_HELP)) { help(); return 0; } @@ -177,21 +177,16 @@ int main(int argc, char** argv) { return 0; } - // FIXME(gavin): do we need to enable running both MS and recycler within - // single process - if (!(args.get(ARG_META_SERVICE) ^ args.get(ARG_RECYCLER))) { - std::cerr << "only one of --meta-service and --recycler must be specified" << std::endl; - return 1; - } - - // There may be more roles to play + // There may be more roles to play in the future, if there are multi roles specified, + // use meta_service as the process name std::string process_name = args.get(ARG_META_SERVICE) ? "meta_service" : args.get(ARG_RECYCLER) ? "recycler" - : ""; - if (process_name.empty()) { - std::cerr << "failed to determine prcess name with given args" << std::endl; - return 1; - } + : "meta_service"; + + using namespace std::chrono; + + auto start = steady_clock::now(); + auto end = start; auto pid_file_fd_holder = gen_pidfile("doris_cloud"); if (pid_file_fd_holder == nullptr) { @@ -215,11 +210,19 @@ int main(int argc, char** argv) { } // We can invoke glog from now on - std::string msg; + LOG(INFO) << "try to start doris_cloud"; LOG(INFO) << build_info(); std::cout << build_info() << std::endl; + if (!args.get(ARG_META_SERVICE) && !args.get(ARG_RECYCLER)) { + std::get<0>(args.args()[ARG_META_SERVICE]) = true; + std::get<0>(args.args()[ARG_RECYCLER]) = true; + LOG(INFO) << "meta_service and recycler are both not specified, " + "run doris_cloud as meta_service and recycler by default"; + std::cout << "run doris_cloud as meta_service and recycler by default" << std::endl; + } + brpc::Server server; brpc::FLAGS_max_body_size = config::brpc_max_body_size; brpc::FLAGS_socket_max_unwritten_bytes = config::brpc_socket_max_unwritten_bytes; @@ -238,19 +241,22 @@ int main(int argc, char** argv) { return 1; } LOG(INFO) << "begin to init txn kv"; + auto start_init_kv = steady_clock::now(); int ret = txn_kv->init(); if (ret != 0) { LOG(WARNING) << "failed to init txnkv, ret=" << ret; return 1; } - LOG(INFO) << "successfully init txn kv"; + end = steady_clock::now(); + LOG(INFO) << "successfully init txn kv, elapsed milliseconds: " + << duration_cast(end - start_init_kv).count(); if (init_global_encryption_key_info_map(txn_kv.get()) != 0) { LOG(WARNING) << "failed to init global encryption key map"; return -1; } - std::unique_ptr meta_server; + std::unique_ptr meta_server; // meta-service std::unique_ptr recycler; std::thread periodiccally_log_thread; std::mutex periodiccally_log_thread_lock; @@ -269,7 +275,8 @@ int main(int argc, char** argv) { msg = "meta-service started"; LOG(INFO) << msg; std::cout << msg << std::endl; - } else if (args.get(ARG_RECYCLER)) { + } + if (args.get(ARG_RECYCLER)) { recycler = std::make_unique(txn_kv); int ret = recycler->start(&server); if (ret != 0) { @@ -284,15 +291,12 @@ int main(int argc, char** argv) { auto periodiccally_log = [&]() { while (periodiccally_log_thread_run) { std::unique_lock lck {periodiccally_log_thread_lock}; - periodiccally_log_thread_cv.wait_for( - lck, std::chrono::milliseconds(config::periodically_log_ms)); + periodiccally_log_thread_cv.wait_for(lck, + milliseconds(config::periodically_log_ms)); LOG(INFO) << "Periodically log for recycler"; } }; periodiccally_log_thread = std::thread {periodiccally_log}; - } else { - std::cerr << "cloud starts without doing anything and exits" << std::endl; - return -1; } // start service brpc::ServerOptions options; @@ -309,7 +313,11 @@ int main(int argc, char** argv) { << ", errmsg=" << strerror_r(errno, buf, 64) << ", port=" << port; return -1; } - LOG(INFO) << "successfully started brpc listening on port=" << port; + end = steady_clock::now(); + msg = "successfully started brpc listening on port=" + std::to_string(port) + + " time_elapsed_ms=" + std::to_string(duration_cast(end - start).count()); + LOG(INFO) << msg; + std::cout << msg << std::endl; server.RunUntilAskedToQuit(); // Wait for signals server.ClearServices(); @@ -326,7 +334,7 @@ int main(int argc, char** argv) { periodiccally_log_thread_run = false; // immediately notify the log thread to quickly exit in case it block the // whole procedure - periodiccally_log_thread_cv.notify_one(); + periodiccally_log_thread_cv.notify_all(); } periodiccally_log_thread.join(); } diff --git a/cloud/src/recycler/checker.cpp b/cloud/src/recycler/checker.cpp index 49421f97ca0aeb..c3e9f69ed9d6bc 100644 --- a/cloud/src/recycler/checker.cpp +++ b/cloud/src/recycler/checker.cpp @@ -79,6 +79,8 @@ int Checker::start() { // launch instance scanner auto scanner_func = [this]() { + std::this_thread::sleep_for( + std::chrono::seconds(config::recycler_sleep_before_scheduling_seconds)); while (!stopped()) { std::vector instances; get_all_instances(txn_kv_.get(), instances); diff --git a/cloud/src/recycler/recycler.cpp b/cloud/src/recycler/recycler.cpp index 9db16a18c13d4c..76d4a7ca767a55 100644 --- a/cloud/src/recycler/recycler.cpp +++ b/cloud/src/recycler/recycler.cpp @@ -189,6 +189,11 @@ Recycler::~Recycler() { } void Recycler::instance_scanner_callback() { + // sleep 60 seconds before scheduling for the launch procedure to complete: + // some bad hdfs connection may cause some log to stdout stderr + // which may pollute .out file and affect the script to check success + std::this_thread::sleep_for( + std::chrono::seconds(config::recycler_sleep_before_scheduling_seconds)); while (!stopped()) { std::vector instances; get_all_instances(txn_kv_.get(), instances); diff --git a/cloud/src/recycler/recycler_service.cpp b/cloud/src/recycler/recycler_service.cpp index 3c1a5b2ab48d95..08e937a4106ba5 100644 --- a/cloud/src/recycler/recycler_service.cpp +++ b/cloud/src/recycler/recycler_service.cpp @@ -448,7 +448,7 @@ void RecyclerServiceImpl::http(::google::protobuf::RpcController* controller, } status_code = 404; - msg = "not found"; + msg = "http path " + uri.path() + " not found, it may be not implemented"; response_body = msg; } diff --git a/cloud/test/recycler_test.cpp b/cloud/test/recycler_test.cpp index d767c1bd8b7393..146873548398bf 100644 --- a/cloud/test/recycler_test.cpp +++ b/cloud/test/recycler_test.cpp @@ -64,6 +64,7 @@ int main(int argc, char** argv) { using namespace std::chrono; current_time = duration_cast(system_clock::now().time_since_epoch()).count(); + config::recycler_sleep_before_scheduling_seconds = 0; // we dont have to wait in UT ::testing::InitGoogleTest(&argc, argv); auto s3_producer_pool = std::make_shared(config::recycle_pool_parallelism); From 553de2d83abb1b990256a09d1d81e63fbe5107b7 Mon Sep 17 00:00:00 2001 From: Gavin Chou Date: Wed, 4 Sep 2024 21:33:57 +0800 Subject: [PATCH 047/199] [fix](cloud) Fix missing privilege to storage vault after restarting FE (#40260) The previous implement forgets to build `storageVaultPrivTable` (in-memory) after loading auth information from image, which means the privileges are persisted but unable to use after restarting FE. Note: a new image will be generated after FE restarts or a checkpoint is triggered, the newly generated will be used when FE starts. --- .../apache/doris/mysql/privilege/Role.java | 19 +- .../doris/regression/suite/Suite.groovy | 13 +- .../suites/vaults/privilege_restart.groovy | 178 ++++++++++++++++++ 3 files changed, 198 insertions(+), 12 deletions(-) create mode 100644 regression-test/suites/vaults/privilege_restart.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Role.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Role.java index 8354c655e2a7f3..0054579062fcc5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Role.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Role.java @@ -662,14 +662,15 @@ private void grantPrivs(ResourcePattern resourcePattern, PrivBitSet privs) throw break; case CLUSTER: cloudClusterPrivTable.addEntry(entry, false, false); - LOG.info("cloud cluster add list {}", cloudClusterPrivTable); + LOG.info("cloud cluster priv table after add {}", cloudClusterPrivTable); break; case STAGE: cloudStagePrivTable.addEntry(entry, false, false); - LOG.info("cloud stage add list {}", cloudStagePrivTable); + LOG.info("cloud stage priv table after add {}", cloudStagePrivTable); break; case STORAGE_VAULT: storageVaultPrivTable.addEntry(entry, false, false); + LOG.info("cloud storage vault priv table after add {}", storageVaultPrivTable); break; default: throw new DdlException("Unknown resource type: " + resourcePattern.getResourceType() + " name=" @@ -1166,18 +1167,26 @@ private void rebuildPrivTables() { workloadGroupPrivTable = new WorkloadGroupPrivTable(); cloudClusterPrivTable = new ResourcePrivTable(); cloudStagePrivTable = new ResourcePrivTable(); + storageVaultPrivTable = new ResourcePrivTable(); for (Entry entry : tblPatternToPrivs.entrySet()) { try { grantPrivs(entry.getKey(), entry.getValue().copy()); } catch (DdlException e) { - LOG.warn("grant failed,", e); + LOG.warn("grant tblPatternToPrivs failed,", e); } } for (Entry entry : resourcePatternToPrivs.entrySet()) { try { grantPrivs(entry.getKey(), entry.getValue().copy()); } catch (DdlException e) { - LOG.warn("grant failed,", e); + LOG.warn("grant resourcePatternToPrivs failed,", e); + } + } + for (Entry entry : storageVaultPatternToPrivs.entrySet()) { + try { + grantPrivs(entry.getKey(), entry.getValue().copy()); + } catch (DdlException e) { + LOG.warn("grant storageVaultPatternToPrivs failed,", e); } } for (Entry entry : clusterPatternToPrivs.entrySet()) { @@ -1204,7 +1213,7 @@ private void rebuildPrivTables() { try { grantPrivs(entry.getKey(), entry.getValue().copy()); } catch (DdlException e) { - LOG.warn("grant failed,", e); + LOG.warn("grant workloadGroupPatternToPrivs failed,", e); } } } diff --git a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy index f5e6e5ab1bab71..1587363dc0cb9d 100644 --- a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy +++ b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy @@ -1394,11 +1394,11 @@ class Suite implements GroovyInterceptable { } boolean enableStoragevault() { + boolean ret = false; if (context.config.metaServiceHttpAddress == null || context.config.metaServiceHttpAddress.isEmpty() || - context.config.metaServiceHttpAddress == null || context.config.metaServiceHttpAddress.isEmpty() || - context.config.instanceId == null || context.config.instanceId.isEmpty() || - context.config.metaServiceToken == null || context.config.metaServiceToken.isEmpty()) { - return false; + context.config.instanceId == null || context.config.instanceId.isEmpty() || + context.config.metaServiceToken == null || context.config.metaServiceToken.isEmpty()) { + return ret; } def getInstanceInfo = { check_func -> httpTest { @@ -1408,7 +1408,6 @@ class Suite implements GroovyInterceptable { check check_func } } - boolean enableStorageVault = false; getInstanceInfo.call() { respCode, body -> String respCodeValue = "${respCode}".toString(); @@ -1417,10 +1416,10 @@ class Suite implements GroovyInterceptable { } def json = parseJson(body) if (json.result.containsKey("enable_storage_vault") && json.result.enable_storage_vault) { - enableStorageVault = true; + ret = true; } } - return enableStorageVault; + return ret; } boolean isGroupCommitMode() { diff --git a/regression-test/suites/vaults/privilege_restart.groovy b/regression-test/suites/vaults/privilege_restart.groovy new file mode 100644 index 00000000000000..4e8c8fcc04dade --- /dev/null +++ b/regression-test/suites/vaults/privilege_restart.groovy @@ -0,0 +1,178 @@ + +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import java.util.stream.Collectors; + +// This test suite is intent to test the granted privilege for specific user will +// not disappear +suite("test_privilege_vault_restart", "nonConcurrent") { + if (!enableStoragevault()) { + logger.info("skip test_privilege_vault_restart case") + return + } + + // user1 will be kept before and after running this test in order to check + // the granted vault privilege is persisted well eventhough FE restarts many times + def user1 = "test_privilege_vault_restart_user1" + def passwd = "Cloud12345" + + def vault1 = "test_privilege_vault_restart_vault1" + // this vaule is derived from current file location: regression-test/vaults + def db = "regression_test_vaults" + def table1 = "test_privilege_vault_restart_t1" + def table2 = "test_privilege_vault_restart_t2" + def hdfsLinkWeDontReallyCare = "127.0.0.1:10086" // a dummy link, it doesn't need to work + + //========================================================================== + // prepare the basic vault and tables for further check + //========================================================================== + sql """ + CREATE STORAGE VAULT IF NOT EXISTS ${vault1} + PROPERTIES ( + "type"="hdfs", + "fs.defaultFS"="${hdfsLinkWeDontReallyCare}", + "path_prefix" = "test_vault_privilege_restart" + ); + """ + + def storageVaults = (sql " SHOW STORAGE VAULT; ").stream().map(row -> row[0]).collect(Collectors.toSet()) + logger.info("all vaults: ${storageVaults}") + org.junit.Assert.assertTrue("${vault1} is not present after creating, all vaults: ${storageVaults}", storageVaults.contains(vault1)) + + def allTables = (sql " SHOW tables").stream().map(row -> row[0]).collect(Collectors.toSet()) + logger.info("all tables ${allTables}") + + // table1 is the sign to check if the user1 has been created and granted well + def targetTableExist = allTables.contains(table1) + + if (targetTableExist) { + // the grant procedure at least run once before, user1 has been granted vault1 + logger.info("${user1} has been granted with usage_priv to ${vault1} before") + } else { + logger.info("this is the frist run, or there was a crash during the very first run, ${user1} has not been granted with usage_priv to ${vault1} before") + // create user and grant storage vault and create a table with that vault + sql """drop user if exists ${user1}""" + sql """create user ${user1} identified by '${passwd}'""" + sql """ + GRANT usage_priv ON storage vault ${vault1} TO '${user1}'; + """ + sql """ + GRANT create_priv ON *.*.* TO '${user1}'; + """ + + // ATTN: create table1, if successful, the sign has been set + // there wont be any execuse that user1 misses the privilege to vault1 from now on + sql """ + CREATE TABLE IF NOT EXISTS ${table1} ( + C_CUSTKEY INTEGER NOT NULL, + C_NAME INTEGER NOT NULL + ) + DUPLICATE KEY(C_CUSTKEY, C_NAME) + DISTRIBUTED BY HASH(C_CUSTKEY) BUCKETS 1 + PROPERTIES ( + "replication_num" = "1", + "storage_vault_name" = ${vault1} + ) + """ + } + + //========================================================================== + // check the prepared users and tables + //========================================================================== + def allUsers = (sql " SHOW all grants ").stream().map(row -> row[0]).collect(Collectors.toSet()) + logger.info("all users: ${allUsers}") + def userPresent = !(allUsers.stream().filter(i -> i.contains(user1)).collect(Collectors.toSet()).isEmpty()) + org.junit.Assert.assertTrue("${user1} is not in the priv table ${allUsers}", userPresent) + + allTables = (sql " SHOW tables").stream().map(row -> row[0]).collect(Collectors.toSet()) + logger.info("all tables: ${allTables}") + org.junit.Assert.assertTrue("${table1} is not present, all tables: ${allUsers}", allTables.contains(table1)) + + // Test user privilege, the newly created user cannot create or set default vault + // Only users with admin role can create storage vault + connect(user = user1, password = passwd, url = context.config.jdbcUrl) { + sql """use ${db}""" + expectExceptionLike({ + sql """ + CREATE STORAGE VAULT IF NOT EXISTS ${vault1} + PROPERTIES ( + "type"="hdfs", + "fs.defaultFS"="${hdfsLinkWeDontReallyCare}", + "path_prefix" = "test_vault_privilege" + ); + """ + }, "denied") + } + // Only users with admin role can set/unset default storage vault + connect(user = user1, password = passwd, url = context.config.jdbcUrl) { + sql """use ${db}""" + expectExceptionLike({ + sql """ + SET ${vault1} AS DEFAULT STORAGE VAULT + """ + }, "denied") + } + connect(user = user1, password = passwd, url = context.config.jdbcUrl) { + sql """use ${db}""" + expectExceptionLike({ + sql """ + UNSET DEFAULT STORAGE VAULT + """ + }, "denied") + } + + // user1 should see vault1 + def result = connect(user = user1, password = passwd, url = context.config.jdbcUrl) { + sql """use ${db}""" + sql " SHOW STORAGE VAULT; " + } + storageVaults = result.stream().map(row -> row[0]).collect(Collectors.toSet()) + org.junit.Assert.assertTrue("${user1} cannot see granted vault ${vault1} in result ${result}", storageVaults.contains(vault1)) + + + //========================================================================== + // to test that user1 has the privilege of vault1 to create new tables + // this is the main test for granted vault privilege after restarting FE + //========================================================================== + sql """ + DROP TABLE IF EXISTS ${table2} force; + """ + connect(user = user1, password = passwd, url = context.config.jdbcUrl) { + sql """use ${db}""" + sql """ + CREATE TABLE ${table2} ( + C_CUSTKEY INTEGER NOT NULL, + C_NAME INTEGER NOT NULL + ) + DUPLICATE KEY(C_CUSTKEY, C_NAME) + DISTRIBUTED BY HASH(C_CUSTKEY) BUCKETS 1 + PROPERTIES ( + "replication_num" = "1", + "storage_vault_name" = ${vault1} + ) + """ + } + + result = connect(user = user1, password = passwd, url = context.config.jdbcUrl) { + sql """use ${db}""" + sql " SHOW create table ${table2}; " + } + logger.info("show create table ${table2}, result ${result}") + org.junit.Assert.assertTrue("missing storage vault properties ${vault1} in table ${table2}", result.toString().contains(vault1)) + +} From 9f46335476edb3c246d5bf60485cdb348033a618 Mon Sep 17 00:00:00 2001 From: Socrates Date: Wed, 4 Sep 2024 22:42:54 +0800 Subject: [PATCH 048/199] [fix](decompressor) consider the large_block_len is 0 (#40183) followup #38549 If the large_block_len is 0, should not continue reading the block_len. --- be/src/exec/decompressor.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/be/src/exec/decompressor.cpp b/be/src/exec/decompressor.cpp index 9102765458bdf1..a830eb3cbe70b5 100644 --- a/be/src/exec/decompressor.cpp +++ b/be/src/exec/decompressor.cpp @@ -468,7 +468,7 @@ Status Lz4BlockDecompressor::decompress(uint8_t* input, size_t input_len, size_t } std::size_t decompressed_large_block_len = 0; - do { + while (remaining_decompressed_large_block_len > 0) { // Check that input length should not be negative. if (input_len < sizeof(uint32_t)) { *more_input_bytes = sizeof(uint32_t) - input_len; @@ -505,8 +505,7 @@ Status Lz4BlockDecompressor::decompress(uint8_t* input, size_t input_len, size_t output_ptr += decompressed_small_block_len; remaining_decompressed_large_block_len -= decompressed_small_block_len; decompressed_large_block_len += decompressed_small_block_len; - - } while (remaining_decompressed_large_block_len > 0); + }; if (*more_input_bytes != 0) { // Need more input buffer @@ -586,7 +585,7 @@ Status SnappyBlockDecompressor::decompress(uint8_t* input, size_t input_len, } std::size_t decompressed_large_block_len = 0; - do { + while (remaining_decompressed_large_block_len > 0) { // Check that input length should not be negative. if (input_len < sizeof(uint32_t)) { *more_input_bytes = sizeof(uint32_t) - input_len; @@ -630,8 +629,7 @@ Status SnappyBlockDecompressor::decompress(uint8_t* input, size_t input_len, output_ptr += decompressed_small_block_len; remaining_decompressed_large_block_len -= decompressed_small_block_len; decompressed_large_block_len += decompressed_small_block_len; - - } while (remaining_decompressed_large_block_len > 0); + }; if (*more_input_bytes != 0) { // Need more input buffer From 301bd04fc9adfceb2d7e391d63c5ff6347ad8472 Mon Sep 17 00:00:00 2001 From: Dongyang Li Date: Wed, 4 Sep 2024 23:48:18 +0800 Subject: [PATCH 049/199] [chore](ci) tmp remove required of Clang Formatter (#40392) For some unknown reason, all these checks failed. --- .asf.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index e71e55de23fc83..6ff16967c2e415 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -49,7 +49,6 @@ github: strict: false contexts: - License Check - - Clang Formatter - CheckStyle - P0 Regression (Doris Regression) - External Regression (Doris External Regression) @@ -87,7 +86,6 @@ github: strict: false contexts: - License Check - - Clang Formatter - CheckStyle - Build Broker - ShellCheck @@ -109,7 +107,6 @@ github: strict: false contexts: - License Check - - Clang Formatter - CheckStyle - P0 Regression (Doris Regression) - External Regression (Doris External Regression) From ae78c52fc996e82d73b76d5fc99939c9d56f1edc Mon Sep 17 00:00:00 2001 From: Mingyu Chen Date: Wed, 4 Sep 2024 23:55:02 +0800 Subject: [PATCH 050/199] [fix](ga) try fix clang format action (#40393) Because distutils was removed in Python 3.12, we get ModuleNotFoundError: module named 'distutils' Use 3.10 --- .github/workflows/clang-format.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/clang-format.yml b/.github/workflows/clang-format.yml index ef39fa6c45fe11..f49f1987b9ed41 100644 --- a/.github/workflows/clang-format.yml +++ b/.github/workflows/clang-format.yml @@ -67,6 +67,11 @@ jobs: git checkout 6adbe14579e5b8e19eb3e31e5ff2479f3bd302c7 popd &>/dev/null + - name: Install Python dependencies + uses: actions/setup-python@v5 + with: + python-version: '3.10' # Adjust if needed + - name: "Format it!" if: ${{ steps.filter.outputs.changes == 'true' }} uses: ./.github/actions/clang-format-lint-action From 9faecb90a278c683ce9fc8c094d8f256de1a1387 Mon Sep 17 00:00:00 2001 From: Siyang Tang <82279870+TangSiyang2001@users.noreply.github.com> Date: Thu, 5 Sep 2024 10:10:47 +0800 Subject: [PATCH 051/199] [enhancement](show) Move storage policy info from show create table to show partitions (#39923) --- .../doris/catalog/ListPartitionInfo.java | 8 -- .../doris/catalog/RangePartitionInfo.java | 8 -- ...ow_create_table_with_storage_policy.groovy | 97 +++++++++++++++++++ 3 files changed, 97 insertions(+), 16 deletions(-) create mode 100644 regression-test/suites/show_p0/test_show_create_table_with_storage_policy.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/ListPartitionInfo.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/ListPartitionInfo.java index da48ac980bf76a..4c5b38d682c940 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/ListPartitionInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/ListPartitionInfo.java @@ -30,7 +30,6 @@ import org.apache.doris.common.FeMetaVersion; import org.apache.doris.common.io.Text; import org.apache.doris.common.util.ListUtil; -import org.apache.doris.common.util.PropertyAnalyzer; import org.apache.doris.persist.gson.GsonUtils; import com.google.common.base.Preconditions; @@ -233,13 +232,6 @@ public String toSql(OlapTable table, List partitionId) { } sb.append(")"); - Optional.ofNullable(this.idToStoragePolicy.get(entry.getKey())).ifPresent(p -> { - if (!p.equals("")) { - sb.append(" (\"" + PropertyAnalyzer.PROPERTIES_STORAGE_POLICY + "\" = \""); - sb.append(p).append("\")"); - } - }); - if (partitionId != null) { partitionId.add(entry.getKey()); break; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java index 87e1d5d19b438b..6cf5545aacfc87 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java @@ -27,7 +27,6 @@ import org.apache.doris.common.DdlException; import org.apache.doris.common.FeMetaVersion; import org.apache.doris.common.io.Text; -import org.apache.doris.common.util.PropertyAnalyzer; import org.apache.doris.common.util.RangeUtils; import org.apache.doris.persist.gson.GsonUtils; @@ -283,13 +282,6 @@ public String toSql(OlapTable table, List partitionId) { sb.append(range.lowerEndpoint().toSql()); sb.append(", ").append(range.upperEndpoint().toSql()).append(")"); - Optional.ofNullable(this.idToStoragePolicy.get(entry.getKey())).ifPresent(p -> { - if (!p.equals("")) { - sb.append(" (\"" + PropertyAnalyzer.PROPERTIES_STORAGE_POLICY + "\" = \""); - sb.append(p).append("\")"); - } - }); - if (partitionId != null) { partitionId.add(entry.getKey()); break; diff --git a/regression-test/suites/show_p0/test_show_create_table_with_storage_policy.groovy b/regression-test/suites/show_p0/test_show_create_table_with_storage_policy.groovy new file mode 100644 index 00000000000000..1a276f09e6f906 --- /dev/null +++ b/regression-test/suites/show_p0/test_show_create_table_with_storage_policy.groovy @@ -0,0 +1,97 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_show_create_table_with_storage_policy") { + def tableName = "test_show_create_table_with_storage_policy" + def resourceName = "remote_hdfs" + def storagePolicyName = "ods_ods_invalid_events" + + sql """ DROP TABLE IF EXISTS ${tableName} """ + + sql """ + CREATE RESOURCE "${resourceName}" PROPERTIES ( + "type"="hdfs", + "fs.defaultFS"="fs_host:default_fs_port", + "hadoop.username"="hive", + "hadoop.password"="hive", + "dfs.nameservices" = "my_ha", + "dfs.ha.namenodes.my_ha" = "my_namenode1, my_namenode2", + "dfs.namenode.rpc-address.my_ha.my_namenode1" = "nn1_host:rpc_port", + "dfs.namenode.rpc-address.my_ha.my_namenode2" = "nn2_host:rpc_port", + "dfs.client.failover.proxy.provider.my_ha" = "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider" + ); + """ + + sql """ + CREATE STORAGE POLICY ${storagePolicyName} PROPERTIES ( + "storage_resource" = "${resourceName}", + "cooldown_ttl" = "300" + ); + """ + + sql """ + CREATE TABLE ${tableName} ( + `insert_date` date NULL COMMENT '对应ts_pretty,取yyyy-MM-dd', + `err_type` INT NULL COMMENT '错误类型', + `line` TEXT NULL COMMENT '数据列', + `received_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '接收到数据的事件' + ) ENGINE=OLAP + DUPLICATE KEY(`insert_date`, `err_type`) + COMMENT 'OLAP' + PARTITION BY RANGE(`insert_date`) + (PARTITION p20240806 VALUES [('2024-08-06'), ('2024-08-07')), + PARTITION p20240807 VALUES [('2024-08-07'), ('2024-08-08')), + PARTITION p20240808 VALUES [('2024-08-08'), ('2024-08-09')), + PARTITION p20240809 VALUES [('2024-08-09'), ('2024-08-10')), + PARTITION p20240810 VALUES [('2024-08-10'), ('2024-08-11')), + PARTITION p20240811 VALUES [('2024-08-11'), ('2024-08-12')), + PARTITION p20240812 VALUES [('2024-08-12'), ('2024-08-13')), + PARTITION p20240821 VALUES [('2024-08-21'), ('2024-08-22'))) + DISTRIBUTED BY HASH(`insert_date`, `err_type`) BUCKETS AUTO + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1", + "is_being_synced" = "false", + "dynamic_partition.enable" = "true", + "dynamic_partition.time_unit" = "DAY", + "dynamic_partition.time_zone" = "Europe/London", + "dynamic_partition.start" = "-30", + "dynamic_partition.end" = "7", + "dynamic_partition.prefix" = "p", + "dynamic_partition.replication_allocation" = "tag.location.default: 1", + "dynamic_partition.buckets" = "2", + "dynamic_partition.create_history_partition" = "true", + "dynamic_partition.history_partition_num" = "8", + "dynamic_partition.hot_partition_num" = "0", + "dynamic_partition.reserved_history_periods" = "NULL", + "dynamic_partition.storage_policy" = "${storagePolicyName}", + "storage_format" = "V2", + "light_schema_change" = "true", + "disable_auto_compaction" = "false", + "enable_single_replica_compaction" = "false" + ); + """ + + def ret = sql """ SHOW CREATE TABLE ${tableName} """ + String createSql = ret[0][1] + + ret = sql """ SHOW PARTITIONS FROM ${tableName} """ + assertEquals(ret[9][12], storagePolicyName) + + sql """ DROP TABLE IF EXISTS ${tableName} """ + // create table successfully with stmt from show create table + sql createSql +} From 1849425cddf5eadb2f3b9ffbd41768472b6b3555 Mon Sep 17 00:00:00 2001 From: walter Date: Thu, 5 Sep 2024 10:35:41 +0800 Subject: [PATCH 052/199] [fix](restore) update is_being_synced properties (#40194) Some properties, like storage_policy, are not supported by the ccr syncer. This PR maintains those properties for both local and remote tables while restoring. --- .../org/apache/doris/backup/RestoreJob.java | 9 +++++--- .../org/apache/doris/catalog/OlapTable.java | 21 +++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java index 12a30a97277995..44ccdd44f74c4b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java @@ -1812,7 +1812,7 @@ private Status allTabletCommitted(boolean isReplay) { // set all restored partition version and version hash // set all tables' state to NORMAL - setTableStateToNormal(db, true, isReplay); + setTableStateToNormalAndUpdateProperties(db, true, isReplay); for (long tblId : restoredVersionInfo.rowKeySet()) { Table tbl = db.getTableNullable(tblId); if (tbl == null) { @@ -2055,7 +2055,7 @@ public void cancelInternal(boolean isReplay) { Database db = env.getInternalCatalog().getDbNullable(dbId); if (db != null) { // rollback table's state to NORMAL - setTableStateToNormal(db, false, isReplay); + setTableStateToNormalAndUpdateProperties(db, false, isReplay); // remove restored tbls for (Table restoreTbl : restoredTbls) { @@ -2135,7 +2135,7 @@ public void cancelInternal(boolean isReplay) { LOG.info("finished to cancel restore job. is replay: {}. {}", isReplay, this); } - private void setTableStateToNormal(Database db, boolean committed, boolean isReplay) { + private void setTableStateToNormalAndUpdateProperties(Database db, boolean committed, boolean isReplay) { for (String tableName : jobInfo.backupOlapTableObjects.keySet()) { Table tbl = db.getTableNullable(jobInfo.getAliasByOriginNameIfSet(tableName)); if (tbl == null) { @@ -2178,6 +2178,9 @@ private void setTableStateToNormal(Database db, boolean committed, boolean isRep DynamicPartitionScheduler.LAST_UPDATE_TIME, TimeUtils.getCurrentFormatTime()); } } + if (committed && isBeingSynced) { + olapTbl.setBeingSyncedProperties(); + } } finally { tbl.writeUnlock(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java index 533c24daa0e7bc..4bc05aff20612e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java @@ -737,17 +737,26 @@ public void resetPropertiesForRestore(boolean reserveDynamicPartitionEnable, boo tableProperty.resetPropertiesForRestore(reserveDynamicPartitionEnable, reserveReplica, replicaAlloc); } if (isBeingSynced) { - TableProperty tableProperty = getOrCreatTableProperty(); - tableProperty.setIsBeingSynced(); - tableProperty.removeInvalidProperties(); - if (isAutoBucket()) { - markAutoBucket(); - } + setBeingSyncedProperties(); } // remove colocate property. setColocateGroup(null); } + /** + * Set the related properties when is_being_synced properties is true. + * + * Some properties, like storage_policy, colocate_with, are not supported by the ccr syncer. + */ + public void setBeingSyncedProperties() { + TableProperty tableProperty = getOrCreatTableProperty(); + tableProperty.setIsBeingSynced(); + tableProperty.removeInvalidProperties(); + if (isAutoBucket()) { + markAutoBucket(); + } + } + public void resetVersionForRestore() { for (Partition partition : idToPartition.values()) { partition.setNextVersion(partition.getVisibleVersion() + 1); From 3c5d838ef505fd8af9cab7d209051a6fa47842ff Mon Sep 17 00:00:00 2001 From: Pxl Date: Thu, 5 Sep 2024 11:31:56 +0800 Subject: [PATCH 053/199] [Bug](sink) take turns getting data from backends to avoid dead lock (#40360) take turns getting data from backends to avoid dead lock --- be/src/runtime/buffer_control_block.cpp | 5 ----- be/src/runtime/buffer_control_block.h | 1 - .../main/java/org/apache/doris/qe/Coordinator.java | 11 +++++++++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/be/src/runtime/buffer_control_block.cpp b/be/src/runtime/buffer_control_block.cpp index be03db04d67f0c..61ea5ef080de5f 100644 --- a/be/src/runtime/buffer_control_block.cpp +++ b/be/src/runtime/buffer_control_block.cpp @@ -97,7 +97,6 @@ BufferControlBlock::BufferControlBlock(const TUniqueId& id, int buffer_size, int : _fragment_id(id), _is_close(false), _is_cancelled(false), - _buffer_rows(0), _buffer_limit(buffer_size), _packet_num(0), _batch_size(batch_size) { @@ -135,7 +134,6 @@ Status BufferControlBlock::add_batch(RuntimeState* state, _instance_rows_in_queue.emplace_back(); _fe_result_batch_queue.push_back(std::move(result)); } - _buffer_rows += num_rows; _instance_rows[state->fragment_instance_id()] += num_rows; _instance_rows_in_queue.back()[state->fragment_instance_id()] += num_rows; } else { @@ -162,7 +160,6 @@ Status BufferControlBlock::add_arrow_batch(RuntimeState* state, // TODO: merge RocordBatch, ToStructArray -> Make again _arrow_flight_batch_queue.push_back(std::move(result)); - _buffer_rows += num_rows; _instance_rows_in_queue.emplace_back(); _instance_rows[state->fragment_instance_id()] += num_rows; _instance_rows_in_queue.back()[state->fragment_instance_id()] += num_rows; @@ -187,7 +184,6 @@ void BufferControlBlock::get_batch(GetResultBatchCtx* ctx) { // get result std::unique_ptr result = std::move(_fe_result_batch_queue.front()); _fe_result_batch_queue.pop_front(); - _buffer_rows -= result->result_batch.rows.size(); for (auto it : _instance_rows_in_queue.front()) { _instance_rows[it.first] -= it.second; } @@ -228,7 +224,6 @@ Status BufferControlBlock::get_arrow_batch(std::shared_ptr* if (!_arrow_flight_batch_queue.empty()) { *result = std::move(_arrow_flight_batch_queue.front()); _arrow_flight_batch_queue.pop_front(); - _buffer_rows -= (*result)->num_rows(); for (auto it : _instance_rows_in_queue.front()) { _instance_rows[it.first] -= it.second; } diff --git a/be/src/runtime/buffer_control_block.h b/be/src/runtime/buffer_control_block.h index d8bb6e0f5061f7..8b45552b2fadb1 100644 --- a/be/src/runtime/buffer_control_block.h +++ b/be/src/runtime/buffer_control_block.h @@ -113,7 +113,6 @@ class BufferControlBlock { bool _is_close; std::atomic_bool _is_cancelled; Status _status; - std::atomic_int _buffer_rows; const int _buffer_limit; int64_t _packet_num; diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java index 0cbe3eebbab9f1..6be430373687cb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java @@ -285,6 +285,8 @@ public class Coordinator implements CoordInterface { private StatsErrorEstimator statsErrorEstimator; + private int receiverOffset = 0; + // A countdown latch to mark the completion of each instance. // use for old pipeline // instance id -> dummy value @@ -1162,7 +1164,8 @@ public RowBatch getNext() throws Exception { RowBatch resultBatch; Status status = new Status(); - resultBatch = receivers.get(receivers.size() - 1).getNext(status); + ResultReceiver receiver = receivers.get(receiverOffset); + resultBatch = receiver.getNext(status); if (!status.ok()) { LOG.warn("Query {} coordinator get next fail, {}, need cancel.", DebugUtil.printId(queryId), status.getErrorMsg()); @@ -1209,7 +1212,7 @@ public RowBatch getNext() throws Exception { } if (resultBatch.isEos()) { - receivers.remove(receivers.size() - 1); + receivers.remove(receiver); if (receivers.isEmpty()) { returnedAllResults = true; } else { @@ -1227,6 +1230,10 @@ public RowBatch getNext() throws Exception { } } + if (!returnedAllResults) { + receiverOffset += 1; + receiverOffset %= receivers.size(); + } return resultBatch; } From 518a0fc018bec850c02e5005b6795964f09b3174 Mon Sep 17 00:00:00 2001 From: seawinde <149132972+seawinde@users.noreply.github.com> Date: Thu, 5 Sep 2024 11:32:41 +0800 Subject: [PATCH 054/199] [opt](mtmv) Support to contain select constant clause when create async materialized view (#40244) Support to contain select constant clause when create async materialized view Such as the mv def is as following, ` (select 1 as l_orderkey,'2023-12-10' as l_shipdate)` is supported: CREATE MATERIALIZED VIEW mv_1 BUILD DEFERRED REFRESH COMPLETE ON MANUAL DISTRIBUTED BY RANDOM BUCKETS 2 PROPERTIES ('replication_num' = '1') AS select * from (select 1 as l_orderkey,'2023-12-10' as l_shipdate) as c_lineitem left join orders on c_lineitem.l_orderkey = orders.o_orderkey and c_lineitem.l_shipdate = o_orderdate; --- .../plans/commands/info/CreateMTMVInfo.java | 4 - .../one_row_relation_when_create.out | 4 + .../one_row_relation_when_create.groovy | 138 ++++++++++++++++++ 3 files changed, 142 insertions(+), 4 deletions(-) create mode 100644 regression-test/data/mtmv_p0/contain_one_row_relation/one_row_relation_when_create.out create mode 100644 regression-test/suites/mtmv_p0/contain_one_row_relation/one_row_relation_when_create.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateMTMVInfo.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateMTMVInfo.java index 6e1a4b8d6ec8f0..0bee8dd1881e64 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateMTMVInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateMTMVInfo.java @@ -61,7 +61,6 @@ import org.apache.doris.nereids.trees.expressions.Slot; import org.apache.doris.nereids.trees.expressions.SlotReference; import org.apache.doris.nereids.trees.plans.Plan; -import org.apache.doris.nereids.trees.plans.algebra.OneRowRelation; import org.apache.doris.nereids.trees.plans.commands.ExplainCommand.ExplainLevel; import org.apache.doris.nereids.trees.plans.commands.info.BaseViewInfo.AnalyzerForCreateView; import org.apache.doris.nereids.trees.plans.commands.info.BaseViewInfo.PlanSlotFinder; @@ -243,9 +242,6 @@ public void analyzeQuery(ConnectContext ctx, Map mvProperties) t // must disable constant folding by be, because be constant folding may return wrong type ctx.getSessionVariable().disableConstantFoldingByBEOnce(); Plan plan = planner.planWithLock(logicalSink, PhysicalProperties.ANY, ExplainLevel.ALL_PLAN); - if (plan.anyMatch(node -> node instanceof OneRowRelation)) { - throw new AnalysisException("at least contain one table"); - } // can not contain VIEW or MTMV analyzeBaseTables(planner.getAnalyzedPlan()); // can not contain Random function diff --git a/regression-test/data/mtmv_p0/contain_one_row_relation/one_row_relation_when_create.out b/regression-test/data/mtmv_p0/contain_one_row_relation/one_row_relation_when_create.out new file mode 100644 index 00000000000000..0f7e7de3cff681 --- /dev/null +++ b/regression-test/data/mtmv_p0/contain_one_row_relation/one_row_relation_when_create.out @@ -0,0 +1,4 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !query_mv_1 -- +1 2023-12-10 \N \N \N \N \N \N \N \N \N + diff --git a/regression-test/suites/mtmv_p0/contain_one_row_relation/one_row_relation_when_create.groovy b/regression-test/suites/mtmv_p0/contain_one_row_relation/one_row_relation_when_create.groovy new file mode 100644 index 00000000000000..db7a9880f34d88 --- /dev/null +++ b/regression-test/suites/mtmv_p0/contain_one_row_relation/one_row_relation_when_create.groovy @@ -0,0 +1,138 @@ +package contain_one_row_relation +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("contain_one_row_relation") { + String db = context.config.getDbNameByFile(context.file) + sql "use ${db}" + sql "set runtime_filter_mode=OFF"; + sql "SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'" + + sql """ + drop table if exists orders + """ + + sql """ + CREATE TABLE IF NOT EXISTS orders ( + o_orderkey INTEGER NOT NULL, + o_custkey INTEGER NOT NULL, + o_orderstatus CHAR(1) NOT NULL, + o_totalprice DECIMALV3(15,2) NOT NULL, + o_orderdate DATE NOT NULL, + o_orderpriority CHAR(15) NOT NULL, + o_clerk CHAR(15) NOT NULL, + o_shippriority INTEGER NOT NULL, + O_COMMENT VARCHAR(79) NOT NULL + ) + DUPLICATE KEY(o_orderkey, o_custkey) + PARTITION BY RANGE(o_orderdate) ( + PARTITION `day_2` VALUES LESS THAN ('2023-12-9'), + PARTITION `day_3` VALUES LESS THAN ("2023-12-11"), + PARTITION `day_4` VALUES LESS THAN ("2023-12-30") + ) + DISTRIBUTED BY HASH(o_orderkey) BUCKETS 3 + PROPERTIES ( + "replication_num" = "1" + ); + """ + + sql """ + drop table if exists lineitem + """ + + sql""" + CREATE TABLE IF NOT EXISTS lineitem ( + l_orderkey INTEGER NOT NULL, + l_partkey INTEGER NOT NULL, + l_suppkey INTEGER NOT NULL, + l_linenumber INTEGER NOT NULL, + l_quantity DECIMALV3(15,2) NOT NULL, + l_extendedprice DECIMALV3(15,2) NOT NULL, + l_discount DECIMALV3(15,2) NOT NULL, + l_tax DECIMALV3(15,2) NOT NULL, + l_returnflag CHAR(1) NOT NULL, + l_linestatus CHAR(1) NOT NULL, + l_shipdate DATE NOT NULL, + l_commitdate DATE NOT NULL, + l_receiptdate DATE NOT NULL, + l_shipinstruct CHAR(25) NOT NULL, + l_shipmode CHAR(10) NOT NULL, + l_comment VARCHAR(44) NOT NULL + ) + DUPLICATE KEY(l_orderkey, l_partkey, l_suppkey, l_linenumber) + PARTITION BY RANGE(l_shipdate) ( + PARTITION `day_1` VALUES LESS THAN ('2023-12-9'), + PARTITION `day_2` VALUES LESS THAN ("2023-12-11"), + PARTITION `day_3` VALUES LESS THAN ("2023-12-30")) + DISTRIBUTED BY HASH(l_orderkey) BUCKETS 3 + PROPERTIES ( + "replication_num" = "1" + ) + """ + + sql """ insert into lineitem values + (1, 2, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-12-08', '2023-12-09', '2023-12-10', 'a', 'b', 'yyyyyyyyy'), + (2, 4, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-12-09', '2023-12-09', '2023-12-10', 'a', 'b', 'yyyyyyyyy'), + (3, 2, 4, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-12-10', '2023-12-09', '2023-12-10', 'a', 'b', 'yyyyyyyyy'), + (4, 3, 3, 4, 5.5, 6.5, 7.5, 8.5, 'o', 'k', '2023-12-11', '2023-12-09', '2023-12-10', 'a', 'b', 'yyyyyyyyy'), + (5, 2, 3, 6, 7.5, 8.5, 9.5, 10.5, 'k', 'o', '2023-12-12', '2023-12-12', '2023-12-13', 'c', 'd', 'xxxxxxxxx'); + """ + + sql """ + insert into orders values + (1, 1, 'o', 9.5, '2023-12-08', 'a', 'b', 1, 'yy'), + (1, 1, 'o', 10.5, '2023-12-08', 'a', 'b', 1, 'yy'), + (1, 1, 'o', 10.5, '2023-12-08', 'a', 'b', 1, 'yy'), + (1, 1, 'o', 10.5, '2023-12-08', 'a', 'b', 1, 'yy'), + (2, 1, 'o', 11.5, '2023-12-09', 'a', 'b', 1, 'yy'), + (2, 1, 'o', 11.5, '2023-12-09', 'a', 'b', 1, 'yy'), + (2, 1, 'o', 11.5, '2023-12-09', 'a', 'b', 1, 'yy'), + (3, 1, 'o', 12.5, '2023-12-10', 'a', 'b', 1, 'yy'), + (3, 1, 'o', 12.5, '2023-12-10', 'a', 'b', 1, 'yy'), + (3, 1, 'o', 12.5, '2023-12-10', 'a', 'b', 1, 'yy'), + (3, 1, 'o', 33.5, '2023-12-10', 'a', 'b', 1, 'yy'), + (4, 2, 'o', 43.2, '2023-12-11', 'c','d',2, 'mm'), + (4, 2, 'o', 43.2, '2023-12-11', 'c','d',2, 'mm'), + (4, 2, 'o', 43.2, '2023-12-11', 'c','d',2, 'mm'), + (5, 2, 'o', 56.2, '2023-12-12', 'c','d',2, 'mi'), + (5, 2, 'o', 56.2, '2023-12-12', 'c','d',2, 'mi'), + (5, 2, 'o', 56.2, '2023-12-12', 'c','d',2, 'mi'), + (5, 2, 'o', 1.2, '2023-12-12', 'c','d',2, 'mi'); + """ + + sql """analyze table lineitem with sync""" + sql """analyze table orders with sync""" + + + sql """DROP MATERIALIZED VIEW IF EXISTS mv_1""" + sql""" + CREATE MATERIALIZED VIEW mv_1 + BUILD DEFERRED REFRESH COMPLETE ON MANUAL + DISTRIBUTED BY RANDOM BUCKETS 2 + PROPERTIES ('replication_num' = '1') + AS + select * from + (select 1 as l_orderkey,'2023-12-10' as l_shipdate) as c_lineitem + left join orders on c_lineitem.l_orderkey = orders.o_orderkey and c_lineitem.l_shipdate = o_orderdate; + """ + sql """refresh materialized view mv_1 auto;""" + def job_name = getJobName(db, "mv_1"); + waitingMTMVTaskFinished(job_name) + + order_qt_query_mv_1 "select * from mv_1" + sql """ DROP MATERIALIZED VIEW IF EXISTS mv_1""" +} \ No newline at end of file From f830527af683893f2f66ee9bf09831e3c9158fe8 Mon Sep 17 00:00:00 2001 From: feiniaofeiafei <53502832+feiniaofeiafei@users.noreply.github.com> Date: Thu, 5 Sep 2024 11:37:49 +0800 Subject: [PATCH 055/199] [Feat](nereids) support pull up predicate from set operator (#39450) This pr complete the support scope of PullUpPredicate: select a,b from test1 where a<1 union all select a,b from test2 where a<1; pull up filter a<1 select a,b from test1 where a<1 intersect all select a,b from test2 where b<1; pull up filter a<1 and b<1 select a,b from test1 where a<1 except all select a,b from test2 where b<1; pull up filter a<1 select 1 a, 'bbb' b union (all) select 2,'aa'; pull up filter a in(1,2) and b in ('bbb','aa') And support infer predicate for except and intersect: select a,b from test1 where a<1 except all select a,b from test2 where b<1; -> select a,b from test1 where a<1 except all select a,b from test2 where b<1 and a<1; select a,b from test1 where a<1 intersect all select a,b from test2 where b<1; -> select a,b from test1 where a<1 and b < 1 intersect all select a,b from test2 where b<1 and a < 1; --- .../doris/nereids/jobs/executor/Rewriter.java | 31 +- .../apache/doris/nereids/rules/RuleSet.java | 9 +- .../rules/rewrite/EliminateEmptyRelation.java | 4 + .../rules/rewrite/InferPredicates.java | 45 + .../rules/rewrite/PullUpPredicates.java | 139 ++ .../rules/rewrite/PushProjectIntoUnion.java | 13 +- .../doris/nereids/util/ExpressionUtils.java | 29 + .../rules/rewrite/InferPredicatesTest.java | 131 +- .../nereids_hint_tpcds_p0/shape/query8.out | 9 +- .../push_down_expression_in_hash_join.out | 4 +- .../filter_push_down/push_filter_through.out | 6 +- .../infer_intersect_except.out | 155 ++ .../pull_up_predicate_literal.out | 1258 +++++------------ .../pull_up_predicate_set_op.out | 563 ++++++++ .../infer_set_operator_distinct.out | 27 +- .../bs_downgrade_shape/query8.out | 9 +- .../shape/query8.out | 9 +- .../noStatsRfPrune/query8.out | 9 +- .../no_stats_shape/query8.out | 9 +- .../rf_prune/query8.out | 9 +- .../shape/query8.out | 9 +- .../tpcds_sf100/noStatsRfPrune/query8.out | 9 +- .../tpcds_sf100/no_stats_shape/query8.out | 9 +- .../tpcds_sf100/rf_prune/query8.out | 9 +- .../tpcds_sf100/shape/query8.out | 9 +- .../bs_downgrade_shape/query8.out | 9 +- .../tpcds_sf1000/shape/query8.out | 9 +- .../txn_insert_values_with_schema_change.out | 13 + .../adjust_nullable/set_operation.groovy | 4 +- .../infer_intersect_except.groovy | 208 +++ .../pull_up_predicate_literal.groovy | 9 +- .../pull_up_predicate_set_op.groovy | 469 ++++++ .../infer_set_operator_distinct.groovy | 1 - 33 files changed, 2253 insertions(+), 982 deletions(-) create mode 100644 regression-test/data/nereids_rules_p0/infer_predicate/infer_intersect_except.out create mode 100644 regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.out create mode 100644 regression-test/regression-test/realData/insert_p0/txn_insert_values_with_schema_change.out create mode 100644 regression-test/suites/nereids_rules_p0/infer_predicate/infer_intersect_except.groovy create mode 100644 regression-test/suites/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/executor/Rewriter.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/executor/Rewriter.java index 715463b496b3bc..4ab4165a446733 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/executor/Rewriter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/executor/Rewriter.java @@ -29,7 +29,6 @@ import org.apache.doris.nereids.rules.analysis.LogicalSubQueryAliasToLogicalProject; import org.apache.doris.nereids.rules.analysis.NormalizeAggregate; import org.apache.doris.nereids.rules.expression.CheckLegalityAfterRewrite; -import org.apache.doris.nereids.rules.expression.ExpressionNormalization; import org.apache.doris.nereids.rules.expression.ExpressionNormalizationAndOptimization; import org.apache.doris.nereids.rules.expression.ExpressionRewrite; import org.apache.doris.nereids.rules.expression.QueryColumnCollector; @@ -293,6 +292,21 @@ public class Rewriter extends AbstractBatchJobExecutor { topDown(new ConvertInnerOrCrossJoin()), topDown(new ProjectOtherJoinConditionForNestedLoopJoin()) ), + topic("Set operation optimization", + // Do MergeSetOperation first because we hope to match pattern of Distinct SetOperator. + topDown(new PushProjectThroughUnion(), new MergeProjects()), + bottomUp(new MergeSetOperations(), new MergeSetOperationsExcept()), + bottomUp(new PushProjectIntoOneRowRelation()), + topDown(new MergeOneRowRelationIntoUnion()), + costBased(topDown(new InferSetOperatorDistinct())), + topDown(new BuildAggForUnion()), + bottomUp(new EliminateEmptyRelation()), + // when union has empty relation child and constantExprsList is not empty, + // after EliminateEmptyRelation, project can be pushed into union + topDown(new PushProjectIntoUnion()) + ), + // putting the "Column pruning and infer predicate" topic behind the "Set operation optimization" + // is because that pulling up predicates from union needs EliminateEmptyRelation in union child topic("Column pruning and infer predicate", custom(RuleType.COLUMN_PRUNING, ColumnPruning::new), custom(RuleType.INFER_PREDICATES, InferPredicates::new), @@ -306,24 +320,11 @@ public class Rewriter extends AbstractBatchJobExecutor { // after eliminate outer join, we can move some filters to join.otherJoinConjuncts, // this can help to translate plan to backend topDown(new PushFilterInsideJoin()), - topDown(new FindHashConditionForJoin()), - topDown(new ExpressionNormalization()) + topDown(new FindHashConditionForJoin()) ), - // this rule should invoke after ColumnPruning custom(RuleType.ELIMINATE_UNNECESSARY_PROJECT, EliminateUnnecessaryProject::new), - topic("Set operation optimization", - // Do MergeSetOperation first because we hope to match pattern of Distinct SetOperator. - topDown(new PushProjectThroughUnion(), new MergeProjects()), - bottomUp(new MergeSetOperations(), new MergeSetOperationsExcept()), - bottomUp(new PushProjectIntoOneRowRelation()), - topDown(new MergeOneRowRelationIntoUnion()), - topDown(new PushProjectIntoUnion()), - costBased(topDown(new InferSetOperatorDistinct())), - topDown(new BuildAggForUnion()) - ), - topic("Eliminate GroupBy", topDown(new EliminateGroupBy(), new MergeAggregate(), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java index e63d4d77bca26e..6ef319b871b59f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java @@ -47,6 +47,7 @@ import org.apache.doris.nereids.rules.exploration.mv.MaterializedViewProjectFilterScanRule; import org.apache.doris.nereids.rules.exploration.mv.MaterializedViewProjectJoinRule; import org.apache.doris.nereids.rules.exploration.mv.MaterializedViewProjectScanRule; +import org.apache.doris.nereids.rules.expression.ExpressionNormalization; import org.apache.doris.nereids.rules.expression.ExpressionOptimization; import org.apache.doris.nereids.rules.implementation.AggregateStrategies; import org.apache.doris.nereids.rules.implementation.LogicalAssertNumRowsToPhysicalAssertNumRows; @@ -87,6 +88,7 @@ import org.apache.doris.nereids.rules.implementation.LogicalWindowToPhysicalWindow; import org.apache.doris.nereids.rules.rewrite.ConvertOuterJoinToAntiJoin; import org.apache.doris.nereids.rules.rewrite.CreatePartitionTopNFromWindow; +import org.apache.doris.nereids.rules.rewrite.EliminateFilter; import org.apache.doris.nereids.rules.rewrite.EliminateOuterJoin; import org.apache.doris.nereids.rules.rewrite.MaxMinFilterPushDown; import org.apache.doris.nereids.rules.rewrite.MergeFilters; @@ -154,7 +156,12 @@ public class RuleSet { new PushDownAliasThroughJoin(), new PushDownFilterThroughWindow(), new PushDownFilterThroughPartitionTopN(), - new ExpressionOptimization() + new ExpressionOptimization(), + // some useless predicates(e.g. 1=1) can be inferred by InferPredicates, + // the FoldConstantRule in ExpressionNormalization can fold 1=1 to true + // and EliminateFilter can eliminate the useless filter + new ExpressionNormalization(), + new EliminateFilter() ); public static final List IMPLEMENTATION_RULES = planRuleFactories() diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EliminateEmptyRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EliminateEmptyRelation.java index 204499fd9b960c..c45d55bb8ef2d9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EliminateEmptyRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EliminateEmptyRelation.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.rules.rewrite; +import org.apache.doris.nereids.annotation.DependsRules; import org.apache.doris.nereids.rules.Rule; import org.apache.doris.nereids.rules.RuleType; import org.apache.doris.nereids.trees.UnaryNode; @@ -45,6 +46,9 @@ /** * try to eliminate sub plan tree which contains EmptyRelation */ +@DependsRules ({ + BuildAggForUnion.class +}) public class EliminateEmptyRelation implements RewriteRuleFactory { @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InferPredicates.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InferPredicates.java index 04db263c3655dc..5256c7744b9837 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InferPredicates.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/InferPredicates.java @@ -19,17 +19,23 @@ import org.apache.doris.nereids.jobs.JobContext; import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.NamedExpression; import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.logical.LogicalExcept; import org.apache.doris.nereids.trees.plans.logical.LogicalFilter; +import org.apache.doris.nereids.trees.plans.logical.LogicalIntersect; import org.apache.doris.nereids.trees.plans.logical.LogicalJoin; import org.apache.doris.nereids.trees.plans.visitor.CustomRewriter; import org.apache.doris.nereids.trees.plans.visitor.DefaultPlanRewriter; import org.apache.doris.nereids.util.ExpressionUtils; import org.apache.doris.nereids.util.PlanUtils; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; +import java.util.HashMap; +import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -107,6 +113,45 @@ public Plan visitLogicalFilter(LogicalFilter filter, JobContext return filter; } + @Override + public Plan visitLogicalExcept(LogicalExcept except, JobContext context) { + except = visitChildren(this, except, context); + Set baseExpressions = pullUpPredicates(except); + if (baseExpressions.isEmpty()) { + return except; + } + ImmutableList.Builder builder = ImmutableList.builder(); + builder.add(except.child(0)); + for (int i = 1; i < except.arity(); ++i) { + Map replaceMap = new HashMap<>(); + for (int j = 0; j < except.getOutput().size(); ++j) { + NamedExpression output = except.getOutput().get(j); + replaceMap.put(output, except.getRegularChildOutput(i).get(j)); + } + builder.add(inferNewPredicate(except.child(i), ExpressionUtils.replace(baseExpressions, replaceMap))); + } + return except.withChildren(builder.build()); + } + + @Override + public Plan visitLogicalIntersect(LogicalIntersect intersect, JobContext context) { + intersect = visitChildren(this, intersect, context); + Set baseExpressions = pullUpPredicates(intersect); + if (baseExpressions.isEmpty()) { + return intersect; + } + ImmutableList.Builder builder = ImmutableList.builder(); + for (int i = 0; i < intersect.arity(); ++i) { + Map replaceMap = new HashMap<>(); + for (int j = 0; j < intersect.getOutput().size(); ++j) { + NamedExpression output = intersect.getOutput().get(j); + replaceMap.put(output, intersect.getRegularChildOutput(i).get(j)); + } + builder.add(inferNewPredicate(intersect.child(i), ExpressionUtils.replace(baseExpressions, replaceMap))); + } + return intersect.withChildren(builder.build()); + } + private Set getAllExpressions(Plan left, Plan right, Optional condition) { Set baseExpressions = pullUpPredicates(left); baseExpressions.addAll(pullUpPredicates(right)); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PullUpPredicates.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PullUpPredicates.java index dec288a6f52d4c..8082c0624a6047 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PullUpPredicates.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PullUpPredicates.java @@ -20,15 +20,22 @@ import org.apache.doris.nereids.trees.expressions.Alias; import org.apache.doris.nereids.trees.expressions.EqualTo; import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.InPredicate; import org.apache.doris.nereids.trees.expressions.NamedExpression; import org.apache.doris.nereids.trees.expressions.Slot; import org.apache.doris.nereids.trees.expressions.functions.agg.AggregateFunction; import org.apache.doris.nereids.trees.expressions.literal.Literal; +import org.apache.doris.nereids.trees.expressions.literal.NullLiteral; +import org.apache.doris.nereids.trees.plans.JoinType; import org.apache.doris.nereids.trees.plans.Plan; import org.apache.doris.nereids.trees.plans.logical.LogicalAggregate; +import org.apache.doris.nereids.trees.plans.logical.LogicalExcept; import org.apache.doris.nereids.trees.plans.logical.LogicalFilter; +import org.apache.doris.nereids.trees.plans.logical.LogicalIntersect; import org.apache.doris.nereids.trees.plans.logical.LogicalJoin; +import org.apache.doris.nereids.trees.plans.logical.LogicalOneRowRelation; import org.apache.doris.nereids.trees.plans.logical.LogicalProject; +import org.apache.doris.nereids.trees.plans.logical.LogicalUnion; import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor; import org.apache.doris.nereids.util.ExpressionUtils; @@ -38,6 +45,8 @@ import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import java.util.HashMap; +import java.util.HashSet; import java.util.IdentityHashMap; import java.util.List; import java.util.Map; @@ -60,6 +69,78 @@ public ImmutableSet visit(Plan plan, Void context) { return ImmutableSet.of(); } + @Override + public ImmutableSet visitLogicalOneRowRelation(LogicalOneRowRelation r, Void context) { + ImmutableSet.Builder predicates = ImmutableSet.builder(); + for (NamedExpression expr : r.getProjects()) { + if (expr instanceof Alias && expr.child(0) instanceof Literal) { + predicates.add(new EqualTo(expr.toSlot(), expr.child(0))); + } + } + return predicates.build(); + } + + @Override + public ImmutableSet visitLogicalIntersect(LogicalIntersect intersect, Void context) { + return cacheOrElse(intersect, () -> { + ImmutableSet.Builder builder = ImmutableSet.builder(); + for (int i = 0; i < intersect.children().size(); ++i) { + Plan child = intersect.child(i); + Set childFilters = child.accept(this, context); + if (childFilters.isEmpty()) { + continue; + } + Map replaceMap = new HashMap<>(); + for (int j = 0; j < intersect.getOutput().size(); ++j) { + NamedExpression output = intersect.getOutput().get(j); + replaceMap.put(intersect.getRegularChildOutput(i).get(j), output); + } + builder.addAll(ExpressionUtils.replace(childFilters, replaceMap)); + } + return getAvailableExpressions(builder.build(), intersect); + }); + } + + @Override + public ImmutableSet visitLogicalExcept(LogicalExcept except, Void context) { + return cacheOrElse(except, () -> { + if (except.arity() < 1) { + return ImmutableSet.of(); + } + Set firstChildFilters = except.child(0).accept(this, context); + if (firstChildFilters.isEmpty()) { + return ImmutableSet.of(); + } + Map replaceMap = new HashMap<>(); + for (int i = 0; i < except.getOutput().size(); ++i) { + NamedExpression output = except.getOutput().get(i); + replaceMap.put(except.getRegularChildOutput(0).get(i), output); + } + return ImmutableSet.copyOf(ExpressionUtils.replace(firstChildFilters, replaceMap)); + }); + } + + @Override + public ImmutableSet visitLogicalUnion(LogicalUnion union, Void context) { + return cacheOrElse(union, () -> { + if (!union.getConstantExprsList().isEmpty() && union.arity() == 0) { + return getFiltersFromUnionConstExprs(union); + } else if (union.getConstantExprsList().isEmpty() && union.arity() != 0) { + return getFiltersFromUnionChild(union, context); + } else if (!union.getConstantExprsList().isEmpty() && union.arity() != 0) { + HashSet fromChildFilters = new HashSet<>(getFiltersFromUnionChild(union, context)); + if (fromChildFilters.isEmpty()) { + return ImmutableSet.of(); + } + if (!ExpressionUtils.unionConstExprsSatisfyConjuncts(union, fromChildFilters)) { + return ImmutableSet.of(); + } + return ImmutableSet.copyOf(fromChildFilters); + } + return ImmutableSet.of(); + }); + } + @Override public ImmutableSet visitLogicalFilter(LogicalFilter filter, Void context) { return cacheOrElse(filter, () -> { @@ -77,6 +158,10 @@ public ImmutableSet visitLogicalJoin(LogicalJoin rightPredicates = join.right().accept(this, context); predicates.addAll(leftPredicates); predicates.addAll(rightPredicates); + if (join.getJoinType() == JoinType.CROSS_JOIN || join.getJoinType() == JoinType.INNER_JOIN) { + predicates.addAll(join.getHashJoinConjuncts()); + predicates.addAll(join.getOtherJoinConjuncts()); + } return getAvailableExpressions(predicates, join); }); } @@ -138,6 +223,9 @@ private ImmutableSet cacheOrElse(Plan plan, Supplier getAvailableExpressions(Set predicates, Plan plan) { + if (predicates.isEmpty()) { + return ImmutableSet.of(); + } Set inferPredicates = PredicatePropagation.infer(predicates); Builder newPredicates = ImmutableSet.builderWithExpectedSize(predicates.size() + 10); Set outputSet = plan.getOutputSet(); @@ -159,4 +247,55 @@ private ImmutableSet getAvailableExpressions(Set predica private boolean hasAgg(Expression expression) { return expression.anyMatch(AggregateFunction.class::isInstance); } + + private ImmutableSet getFiltersFromUnionChild(LogicalUnion union, Void context) { + Set filters = new HashSet<>(); + for (int i = 0; i < union.getArity(); ++i) { + Plan child = union.child(i); + Set childFilters = child.accept(this, context); + if (childFilters.isEmpty()) { + return ImmutableSet.of(); + } + Map replaceMap = new HashMap<>(); + for (int j = 0; j < union.getOutput().size(); ++j) { + NamedExpression output = union.getOutput().get(j); + replaceMap.put(union.getRegularChildOutput(i).get(j), output); + } + Set unionFilters = ExpressionUtils.replace(childFilters, replaceMap); + if (0 == i) { + filters.addAll(unionFilters); + } else { + filters.retainAll(unionFilters); + } + if (filters.isEmpty()) { + return ImmutableSet.of(); + } + } + return ImmutableSet.copyOf(filters); + } + + private ImmutableSet getFiltersFromUnionConstExprs(LogicalUnion union) { + List> constExprs = union.getConstantExprsList(); + ImmutableSet.Builder filtersFromConstExprs = ImmutableSet.builder(); + for (int col = 0; col < union.getOutput().size(); ++col) { + Expression compareExpr = union.getOutput().get(col); + Set options = new HashSet<>(); + for (List constExpr : constExprs) { + if (constExpr.get(col) instanceof Alias + && ((Alias) constExpr.get(col)).child() instanceof Literal) { + options.add(((Alias) constExpr.get(col)).child()); + } else { + options.clear(); + break; + } + } + options.removeIf(option -> option instanceof NullLiteral); + if (options.size() > 1) { + filtersFromConstExprs.add(new InPredicate(compareExpr, options)); + } else if (options.size() == 1) { + filtersFromConstExprs.add(new EqualTo(compareExpr, options.iterator().next())); + } + } + return filtersFromConstExprs.build(); + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushProjectIntoUnion.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushProjectIntoUnion.java index 130d4b04d3f2fa..31ecb10925fdb0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushProjectIntoUnion.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushProjectIntoUnion.java @@ -19,11 +19,14 @@ import org.apache.doris.nereids.rules.Rule; import org.apache.doris.nereids.rules.RuleType; +import org.apache.doris.nereids.rules.expression.ExpressionRewriteContext; +import org.apache.doris.nereids.rules.expression.rules.FoldConstantRule; import org.apache.doris.nereids.trees.expressions.Alias; import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.NamedExpression; import org.apache.doris.nereids.trees.expressions.SlotReference; import org.apache.doris.nereids.trees.plans.algebra.SetOperation.Qualifier; +import org.apache.doris.nereids.trees.plans.logical.LogicalProject; import org.apache.doris.nereids.trees.plans.logical.LogicalUnion; import org.apache.doris.nereids.util.ExpressionUtils; @@ -42,7 +45,9 @@ public Rule build() { return logicalProject(logicalUnion() .when(u -> u.getQualifier() == Qualifier.ALL) .when(u -> u.arity() == 0) - ).then(p -> { + ).thenApply(ctx -> { + LogicalProject p = ctx.root; + ExpressionRewriteContext expressionRewriteContext = new ExpressionRewriteContext(ctx.cascadesContext); LogicalUnion union = p.child(); ImmutableList.Builder> newConstExprs = ImmutableList.builder(); for (List constExprs : union.getConstantExprsList()) { @@ -60,9 +65,11 @@ public Rule build() { ImmutableList.Builder newProjections = ImmutableList.builder(); for (NamedExpression old : p.getProjects()) { if (old instanceof SlotReference) { - newProjections.add(replaceRootMap.get(old)); + newProjections.add((NamedExpression) FoldConstantRule.evaluate(replaceRootMap.get(old), + expressionRewriteContext)); } else { - newProjections.add(ExpressionUtils.replaceNameExpression(old, replaceMap)); + newProjections.add((NamedExpression) FoldConstantRule.evaluate( + ExpressionUtils.replaceNameExpression(old, replaceMap), expressionRewriteContext)); } } newConstExprs.add(newProjections.build()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/ExpressionUtils.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/ExpressionUtils.java index 2f238b68757613..88ab5bba479e4d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/ExpressionUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/ExpressionUtils.java @@ -22,6 +22,7 @@ import org.apache.doris.common.NereidsException; import org.apache.doris.common.Pair; import org.apache.doris.nereids.CascadesContext; +import org.apache.doris.nereids.properties.PhysicalProperties; import org.apache.doris.nereids.rules.expression.ExpressionRewriteContext; import org.apache.doris.nereids.rules.expression.rules.FoldConstantRule; import org.apache.doris.nereids.trees.TreeNode; @@ -52,9 +53,11 @@ import org.apache.doris.nereids.trees.expressions.visitor.DefaultExpressionRewriter; import org.apache.doris.nereids.trees.expressions.visitor.DefaultExpressionVisitor; import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.logical.LogicalUnion; import org.apache.doris.nereids.trees.plans.visitor.ExpressionLineageReplacer; import org.apache.doris.nereids.types.BooleanType; import org.apache.doris.nereids.types.coercion.NumericType; +import org.apache.doris.qe.ConnectContext; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; @@ -921,4 +924,30 @@ public static List filter(List e } return result.build(); } + + /** test whether unionConstExprs satisfy conjuncts */ + public static boolean unionConstExprsSatisfyConjuncts(LogicalUnion union, Set conjuncts) { + CascadesContext tempCascadeContext = CascadesContext.initContext( + ConnectContext.get().getStatementContext(), union, PhysicalProperties.ANY); + ExpressionRewriteContext rewriteContext = new ExpressionRewriteContext(tempCascadeContext); + for (List constOutput : union.getConstantExprsList()) { + Map replaceMap = new HashMap<>(); + for (int i = 0; i < constOutput.size(); i++) { + Expression output = constOutput.get(i); + if (output instanceof Alias) { + replaceMap.put(union.getOutput().get(i), ((Alias) output).child()); + } else { + replaceMap.put(union.getOutput().get(i), output); + } + } + for (Expression conjunct : conjuncts) { + Expression res = FoldConstantRule.evaluate(ExpressionUtils.replace(conjunct, replaceMap), + rewriteContext); + if (!res.equals(BooleanLiteral.TRUE)) { + return false; + } + } + } + return true; + } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/InferPredicatesTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/InferPredicatesTest.java index f79bdff9ec5405..95e676e814509b 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/InferPredicatesTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/InferPredicatesTest.java @@ -75,6 +75,7 @@ protected void runBeforeAll() throws Exception { connectContext.setDatabase("test"); connectContext.getSessionVariable().setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); + connectContext.getSessionVariable().setEnableFoldConstantByBe(true); } @Test @@ -609,7 +610,7 @@ void inferPredicatesTest22() { void innerJoinShouldNotInferUnderLeftJoinOnClausePredicates() { String sql = "select * from student s1" + " left join (select sid as id1, sid as id2, grade from score) s2 on s1.id = s2.id1 and s1.id = 1" - + " join (select sid as id1, sid as id2, grade from score) s3 on s1.id = s3.id1 where s1.id = 2"; + + " join (select sid as id1, sid as id2, grade from score) s3 on s1.id = s3.id1 where s1.id =2"; PlanChecker.from(connectContext).analyze(sql).rewrite().printlnTree(); PlanChecker.from(connectContext) .analyze(sql) @@ -645,4 +646,132 @@ void inferPredicateByConstValue() { )) ); } + + @Test + void pullUpPredicateFromIntersect() { + String sql = "select c1 from (select age c1,id from student where id <10 intersect select age,id from student where id >1) t inner join score t2 on t.id=t2.sid"; + PlanChecker.from(connectContext).analyze(sql).rewrite().printlnTree(); + PlanChecker.from(connectContext) + .analyze(sql) + .rewrite() + .matches(logicalFilter(logicalOlapScan()) + .when(filter -> filter.getConjuncts().size() == 2 + && ExpressionUtils.isInferred(filter.getPredicate()) + && filter.getPredicate().toSql().contains("(sid > 1)") + && filter.getPredicate().toSql().contains("(sid < 10)")) + ); + } + + @Test + void pullUpPredicateFromExcept() { + String sql = "select c1 from (select age c1,id from student where id <10 except select age,id from student where id >1) t inner join score t2 on t.id=t2.sid"; + PlanChecker.from(connectContext).analyze(sql).rewrite().printlnTree(); + PlanChecker.from(connectContext) + .analyze(sql) + .rewrite() + .matches(logicalFilter(logicalOlapScan()) + .when(filter -> filter.getConjuncts().size() == 1 + && ExpressionUtils.isInferred(filter.getPredicate()) + && filter.getPredicate().toSql().contains("sid < 10")) + ); + } + + @Test + void pullUpPredicateFromUnion() { + String sql = "select c1 from (select 2 c1,id from course where id <10 union select age,id from student where id <10) t inner join score t2 on t.id=t2.sid"; + PlanChecker.from(connectContext).analyze(sql).rewrite().printlnTree(); + PlanChecker.from(connectContext) + .analyze(sql) + .rewrite() + .matches(logicalFilter(logicalOlapScan()) + .when(filter -> filter.getConjuncts().size() == 1 + && ExpressionUtils.isInferred(filter.getPredicate()) + && filter.getPredicate().toSql().contains("sid < 10")) + ); + + String sql2 = "select c1 from (select 2 c1,id from course where id <10 union all select age,id from student where id <10) t inner join score t2 on t.id=t2.sid"; + PlanChecker.from(connectContext).analyze(sql2).rewrite().printlnTree(); + PlanChecker.from(connectContext) + .analyze(sql2) + .rewrite() + .matches(logicalFilter(logicalOlapScan()) + .when(filter -> filter.getConjuncts().size() == 1 + && ExpressionUtils.isInferred(filter.getPredicate()) + && filter.getPredicate().toSql().contains("sid < 10")) + ); + } + + @Test + void pullUpPredicateFromUnionConst() { + String sql = "select c2 from (select 2 id,'abc' c2 union all select 1 id,'abbbb' c4 ) t inner join score t2 on t.id=t2.sid"; + PlanChecker.from(connectContext).analyze(sql).rewrite().printlnTree(); + PlanChecker.from(connectContext) + .analyze(sql) + .rewrite() + .matches(logicalFilter(logicalOlapScan()) + .when(filter -> filter.getConjuncts().size() == 1 + && ExpressionUtils.isInferred(filter.getPredicate()) + && filter.getPredicate().toSql().contains("sid IN (1, 2)")) + ); + + String sql2 = "select id,t2.sid from (select 2 id,'abc' b from score limit 0 offset 0 union all select 1 id,'abb' c4) t inner join score t2 on t.id=t2.sid"; + PlanChecker.from(connectContext).analyze(sql2).rewrite().printlnTree(); + PlanChecker.from(connectContext) + .analyze(sql2) + .rewrite() + .matches(logicalFilter(logicalOlapScan()) + .when(filter -> filter.getConjuncts().size() == 1 + && ExpressionUtils.isInferred(filter.getPredicate()) + && filter.getPredicate().toSql().contains("sid = 1")) + ); + } + + @Test + void pullUpPredicateFromUnionConstAndChild() { + String sql = "select c2 from (select 2 id,4 c2 union all select age,4 from student where age>0) t inner join score t2 on t.id=t2.sid and t.c2=t2.cid"; + PlanChecker.from(connectContext).analyze(sql).rewrite().printlnTree(); + PlanChecker.from(connectContext) + .analyze(sql) + .rewrite() + .matches(logicalFilter(logicalOlapScan()) + .when(filter -> filter.getConjuncts().size() == 2 + && ExpressionUtils.isInferred(filter.getPredicate()) + && filter.getPredicate().toSql().contains("sid > 0") + && filter.getPredicate().toSql().contains("cid = 4")) + ); + + String sql2 = "select c2 from (select 2 id,4 c2 union all select age,id from student where age=2 and id <9) t inner join score t2 on t.id=t2.sid and t.c2=t2.cid"; + PlanChecker.from(connectContext).analyze(sql2).rewrite().printlnTree(); + PlanChecker.from(connectContext) + .analyze(sql2) + .rewrite() + .matches(logicalFilter(logicalOlapScan()) + .when(filter -> filter.getConjuncts().size() == 2 + && ExpressionUtils.isInferred(filter.getPredicate()) + && filter.getPredicate().toSql().contains("sid = 2") + && filter.getPredicate().toSql().contains("cid < 9")) + ); + } + + @Test + void inferPredicateFromIntersect() { + String sql = "select age c1,id from student where id <10 intersect select age,id from student where id >1"; + PlanChecker.from(connectContext).analyze(sql).rewrite().printlnTree(); + PlanChecker.from(connectContext) + .analyze(sql) + .rewrite() + .matches(logicalIntersect(logicalProject(logicalFilter().when(filter -> filter.getConjuncts().size() == 2)), + logicalProject(logicalFilter().when(filter -> filter.getConjuncts().size() == 2)))); + } + + @Test + void inferPredicateFromExcept() { + String sql = "select age c1,id from student where id <10 except select age,id from student where id >1"; + PlanChecker.from(connectContext).analyze(sql).rewrite().printlnTree(); + PlanChecker.from(connectContext) + .analyze(sql) + .rewrite() + .matches(logicalFilter(logicalOlapScan().when(scan -> scan.getTable().getName().equals("student"))) + .when(filter -> filter.getConjuncts().size() == 2)); + } } diff --git a/regression-test/data/nereids_hint_tpcds_p0/shape/query8.out b/regression-test/data/nereids_hint_tpcds_p0/shape/query8.out index a93e8197071a0b..383c334a67fa74 100644 --- a/regression-test/data/nereids_hint_tpcds_p0/shape/query8.out +++ b/regression-test/data/nereids_hint_tpcds_p0/shape/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/nereids_rules_p0/filter_push_down/push_down_expression_in_hash_join.out b/regression-test/data/nereids_rules_p0/filter_push_down/push_down_expression_in_hash_join.out index 5d80a10fad25e9..ec63cd6aabdc4f 100644 --- a/regression-test/data/nereids_rules_p0/filter_push_down/push_down_expression_in_hash_join.out +++ b/regression-test/data/nereids_rules_p0/filter_push_down/push_down_expression_in_hash_join.out @@ -64,7 +64,7 @@ PhysicalResultSink -- !pushdown_left_semi_join_subquery -- PhysicalResultSink ---hashJoin[LEFT_SEMI_JOIN] hashCondition=((expr_(id + 1) = expr_cast(id as BIGINT))) otherCondition=() +--hashJoin[LEFT_SEMI_JOIN] hashCondition=((expr_cast(id as BIGINT) = expr_(cast(id as BIGINT) - 1))) otherCondition=() ----PhysicalOlapScan[t1] ----PhysicalOlapScan[t2] @@ -78,7 +78,7 @@ PhysicalResultSink -- !pushdown_left_anti_join_subquery -- PhysicalResultSink ---hashJoin[NULL_AWARE_LEFT_ANTI_JOIN] hashCondition=((expr_(id + 1) = expr_cast(id as BIGINT))) otherCondition=() +--hashJoin[NULL_AWARE_LEFT_ANTI_JOIN] hashCondition=((expr_cast(id as BIGINT) = expr_(cast(id as BIGINT) - 1))) otherCondition=() ----PhysicalOlapScan[t1] ----PhysicalOlapScan[t2] diff --git a/regression-test/data/nereids_rules_p0/filter_push_down/push_filter_through.out b/regression-test/data/nereids_rules_p0/filter_push_down/push_filter_through.out index 1330d3350cd397..906d59fa9016dc 100644 --- a/regression-test/data/nereids_rules_p0/filter_push_down/push_filter_through.out +++ b/regression-test/data/nereids_rules_p0/filter_push_down/push_filter_through.out @@ -331,7 +331,8 @@ PhysicalResultSink --------PhysicalOlapScan[t1] ------filter((t2.id = 2)) --------PhysicalOlapScan[t2] -----PhysicalOlapScan[t3] +----filter((t3.id = 2)) +------PhysicalOlapScan[t3] -- !push_filter_subquery -- PhysicalResultSink @@ -341,7 +342,8 @@ PhysicalResultSink --------PhysicalOlapScan[t1] ------filter((t2.id = 2)) --------PhysicalOlapScan[t2] -----PhysicalOlapScan[t3] +----filter((t3.id = 2)) +------PhysicalOlapScan[t3] -- !filter_window_row_number -- PhysicalResultSink diff --git a/regression-test/data/nereids_rules_p0/infer_predicate/infer_intersect_except.out b/regression-test/data/nereids_rules_p0/infer_predicate/infer_intersect_except.out new file mode 100644 index 00000000000000..783f83efe61753 --- /dev/null +++ b/regression-test/data/nereids_rules_p0/infer_predicate/infer_intersect_except.out @@ -0,0 +1,155 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !except -- +PhysicalResultSink +--PhysicalExcept +----filter((infer_intersect_except1.a > 0)) +------PhysicalOlapScan[infer_intersect_except1] +----filter((infer_intersect_except2.a > 0) and (infer_intersect_except2.b > 'ab')) +------PhysicalOlapScan[infer_intersect_except2] +----filter((infer_intersect_except2.a < 10) and (infer_intersect_except2.a > 0)) +------PhysicalOlapScan[infer_intersect_except2] + +-- !except_to_empty -- +PhysicalResultSink +--PhysicalExcept +----filter((infer_intersect_except1.a > 0)) +------PhysicalOlapScan[infer_intersect_except1] +----filter((infer_intersect_except2.a > 0) and (infer_intersect_except2.b > 'ab')) +------PhysicalOlapScan[infer_intersect_except2] + +-- !except_not_infer_1_greater_than_0 -- +PhysicalResultSink +--PhysicalExcept +----filter((infer_intersect_except1.a > 0)) +------PhysicalOlapScan[infer_intersect_except1] +----filter((infer_intersect_except2.b > 'ab')) +------PhysicalOlapScan[infer_intersect_except2] + +-- !except_number_and_string -- +PhysicalResultSink +--hashAgg[GLOBAL] +----hashAgg[LOCAL] +------filter((infer_intersect_except1.a > 0)) +--------PhysicalOlapScan[infer_intersect_except1] + +-- !intersect -- +PhysicalResultSink +--PhysicalIntersect +----filter((infer_intersect_except1.a > 0) and (infer_intersect_except1.b > 'ab')) +------PhysicalOlapScan[infer_intersect_except1] +----filter((infer_intersect_except2.a > 0) and (infer_intersect_except2.b > 'ab')) +------PhysicalOlapScan[infer_intersect_except2] + +-- !intersect_empty -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !intersect_expr -- +PhysicalResultSink +--PhysicalIntersect +----filter((infer_intersect_except1.a > 0)) +------PhysicalOlapScan[infer_intersect_except1] +----filter((cast(a as BIGINT) < -1)) +------PhysicalOlapScan[infer_intersect_except2] + +-- !except_and_intersect -- +PhysicalResultSink +--PhysicalExcept +----filter((infer_intersect_except1.a > 0)) +------PhysicalOlapScan[infer_intersect_except1] +----PhysicalIntersect +------filter((infer_intersect_except3.a = 1) and (infer_intersect_except3.b = 'abc')) +--------PhysicalOlapScan[infer_intersect_except3] +------filter((infer_intersect_except2.b > 'ab')) +--------PhysicalOlapScan[infer_intersect_except2] + +-- !except_and_intersect_except_predicate_to_right -- +PhysicalResultSink +--PhysicalExcept +----filter((infer_intersect_except1.a > 0)) +------PhysicalOlapScan[infer_intersect_except1] +----PhysicalIntersect +------filter((infer_intersect_except2.a < 10) and (infer_intersect_except2.a > 0) and (infer_intersect_except2.b > 'ab')) +--------PhysicalOlapScan[infer_intersect_except2] +------filter((infer_intersect_except3.a < 10) and (infer_intersect_except3.a > 0) and (infer_intersect_except3.b = 'abc')) +--------PhysicalOlapScan[infer_intersect_except3] + +-- !intersect_and_except -- +PhysicalResultSink +--PhysicalExcept +----PhysicalIntersect +------filter((infer_intersect_except1.a = 1) and (infer_intersect_except1.b = 'abc')) +--------PhysicalOlapScan[infer_intersect_except1] +------filter((infer_intersect_except2.b > 'ab')) +--------PhysicalOlapScan[infer_intersect_except2] +----filter((infer_intersect_except3.a = 1) and (infer_intersect_except3.b = 'abc')) +------PhysicalOlapScan[infer_intersect_except3] + +-- !function_intersect -- +PhysicalResultSink +--PhysicalIntersect +----filter((abs(a) < 3)) +------PhysicalOlapScan[infer_intersect_except1] +----filter((abs(a) < 3)) +------PhysicalOlapScan[infer_intersect_except2] + +-- !function_except -- +PhysicalResultSink +--PhysicalExcept +----filter((abs(a) < 3)) +------PhysicalOlapScan[infer_intersect_except1] +----filter((abs(a) < 3)) +------PhysicalOlapScan[infer_intersect_except2] + +-- !except_res -- + +-- !except_to_empty_res -- + +-- !except_not_infer_1_greater_than_0_res -- +1 d2 + +-- !except_number_and_string_res -- +1 2 + +-- !intersect_res -- +1 d2 + +-- !intersect_empty_res -- + +-- !intersect_expr_res -- + +-- !except_and_intersect_res -- +1 d2 + +-- !except_and_intersect_except_predicate_to_right_res -- +1 d2 + +-- !intersect_and_except_res -- + +-- !function_intersect_res -- +0 +1 + +-- !function_except_res -- +2 + +-- !different_type_date_string -- +PhysicalResultSink +--PhysicalIntersect +----filter((infer_intersect_except4.d_datetimev2 > '2020-01-01 00:00:00')) +------PhysicalOlapScan[infer_intersect_except4] +----filter((infer_intersect_except4.d_char100 < 'abc')) +------PhysicalOlapScan[infer_intersect_except4] + +-- !different_type_int_string -- +PhysicalResultSink +--PhysicalIntersect +----filter((infer_intersect_except4.d_int > 2)) +------PhysicalOlapScan[infer_intersect_except4] +----filter((infer_intersect_except4.d_char100 < 'abc')) +------PhysicalOlapScan[infer_intersect_except4] + +-- !different_type_date_string_res -- + +-- !different_type_int_string_res -- + diff --git a/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.out b/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.out index bb0367626de8b0..524559cabeb34d 100644 --- a/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.out +++ b/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.out @@ -1,11 +1,18 @@ -- This file is automatically generated. You should know what you did if you want to edit this --- !test_pull_up_literal -- +-- !test_pull_up_literal1 -- PhysicalResultSink --PhysicalProject ----hashJoin[INNER_JOIN] hashCondition=((col1 = ds.col1) and (col2 = ds.col2)) otherCondition=() -------PhysicalProject ---------PhysicalOneRowRelation -------filter((ds.col1 = 'abc') and (ds.col1 = ds.col1) and (ds.col2 = 'def') and (ds.col2 = ds.col2)) +------PhysicalOneRowRelation +------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) +--------PhysicalOlapScan[test_pull_up_predicate_literal] + +-- !test_pull_up_literal2 -- +PhysicalResultSink +--PhysicalProject +----hashJoin[INNER_JOIN] hashCondition=((col1 = ds.col1) and (col2 = ds.col2)) otherCondition=() +------PhysicalOneRowRelation +------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) --------PhysicalOlapScan[test_pull_up_predicate_literal] -- !test_pull_up_literal_suquery -- @@ -14,7 +21,7 @@ PhysicalResultSink ----hashJoin[INNER_JOIN] hashCondition=((tmp.col1 = ds.col1) and (tmp.col2 = ds.col2)) otherCondition=() ------PhysicalProject --------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------filter((ds.col1 = 'abc') and (ds.col1 = ds.col1) and (ds.col2 = 'def') and (ds.col2 = ds.col2)) +------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) --------PhysicalOlapScan[test_pull_up_predicate_literal] -- !test_pull_up_literal_extra_literal -- @@ -23,7 +30,7 @@ PhysicalResultSink ----hashJoin[INNER_JOIN] hashCondition=((tmp.col1 = ds.col1) and (tmp.col2 = ds.col2)) otherCondition=() ------PhysicalProject --------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------filter((ds.col1 = 'abc') and (ds.col1 = ds.col1) and (ds.col2 = 'def') and (ds.col2 = ds.col2)) +------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) --------PhysicalOlapScan[test_pull_up_predicate_literal] -- !test_pull_up_literal_with_agg_func -- @@ -34,7 +41,7 @@ PhysicalResultSink --------hashAgg[GLOBAL] ----------hashAgg[LOCAL] ------------PhysicalOlapScan[test_pull_up_predicate_literal] -------filter((ds.col1 = 'abc') and (ds.col1 = ds.col1) and (ds.col2 = 'def') and (ds.col2 = ds.col2)) +------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) --------PhysicalOlapScan[test_pull_up_predicate_literal] -- !test_pull_up_literal_to_empty_relation -- @@ -48,7 +55,7 @@ PhysicalResultSink ------PhysicalProject --------filter((t.col2 = 'def')) ----------PhysicalOlapScan[test_pull_up_predicate_literal] -------filter((ds.col1 = 'abc') and (ds.col1 = ds.col1) and (ds.col2 = 'def')) +------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) --------PhysicalOlapScan[test_pull_up_predicate_literal] -- !test_pull_up_literal_outer_has_agg -- @@ -59,7 +66,7 @@ PhysicalResultSink --------hashJoin[INNER_JOIN] hashCondition=((tmp.col1 = ds.col1) and (tmp.col2 = ds.col2)) otherCondition=() ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -----------filter((ds.col1 = 'abc') and (ds.col1 = ds.col1) and (ds.col2 = 'def') and (ds.col2 = ds.col2)) +----------filter((ds.col1 = 'abc') and (ds.col2 = 'def')) ------------PhysicalOlapScan[test_pull_up_predicate_literal] -- !test_pull_up_literal_multi_join -- @@ -154,7 +161,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_bool as DOUBLE) = 127.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type6 -- PhysicalResultSink @@ -165,7 +173,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_float as DOUBLE) = 127.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type7 -- PhysicalResultSink @@ -176,7 +185,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_double = 127.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type8 -- PhysicalResultSink @@ -187,7 +197,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_decimal = 127.0000000000000000000)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type9 -- PhysicalResultSink @@ -198,7 +209,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_date = '2000-01-27')) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type10 -- PhysicalResultSink @@ -209,7 +221,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_datetime = '2000-01-27 00:00:00')) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type11 -- PhysicalResultSink @@ -220,7 +233,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_char as DOUBLE) = 127.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type12 -- PhysicalResultSink @@ -231,7 +245,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_varchar as DOUBLE) = 127.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type13 -- PhysicalResultSink @@ -242,7 +257,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_string as DOUBLE) = 127.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type16 -- PhysicalResultSink @@ -313,7 +329,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_bool as DOUBLE) = 32767.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type22 -- PhysicalResultSink @@ -324,7 +341,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_float as DOUBLE) = 32767.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type23 -- PhysicalResultSink @@ -335,7 +353,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_double = 32767.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type24 -- PhysicalResultSink @@ -346,29 +365,16 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_decimal = 32767.0000000000000000000)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type25 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_date = expr_cast(c1 as DATEV2))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type26 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_datetime = expr_cast(c1 as DATETIMEV2(0)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type27 -- PhysicalResultSink @@ -379,7 +385,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_char as DOUBLE) = 32767.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type28 -- PhysicalResultSink @@ -390,7 +397,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_varchar as DOUBLE) = 32767.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type29 -- PhysicalResultSink @@ -401,7 +409,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_string as DOUBLE) = 32767.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type32 -- PhysicalResultSink @@ -472,7 +481,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_bool as DOUBLE) = 32768.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type38 -- PhysicalResultSink @@ -483,7 +493,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_float as DOUBLE) = 32768.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type39 -- PhysicalResultSink @@ -494,7 +505,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_double = 32768.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type40 -- PhysicalResultSink @@ -505,29 +517,16 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_decimal = 32768.0000000000000000000)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type41 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_date = expr_cast(c1 as DATEV2))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type42 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_datetime = expr_cast(c1 as DATETIMEV2(0)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type43 -- PhysicalResultSink @@ -538,7 +537,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_char as DOUBLE) = 32768.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type44 -- PhysicalResultSink @@ -549,7 +549,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_varchar as DOUBLE) = 32768.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type45 -- PhysicalResultSink @@ -560,7 +561,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_string as DOUBLE) = 32768.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type48 -- PhysicalResultSink @@ -631,7 +633,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_bool as DOUBLE) = 2.14748364799E11)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type54 -- PhysicalResultSink @@ -642,7 +645,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_float as DOUBLE) = 2.14748364799E11)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type55 -- PhysicalResultSink @@ -653,7 +657,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_double = 2.14748364799E11)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type56 -- PhysicalResultSink @@ -664,29 +669,16 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_decimal as DOUBLE) = 2.14748364799E11)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type57 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_date = expr_cast(c1 as DATEV2))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type58 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_datetime = expr_cast(c1 as DATETIMEV2(0)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type59 -- PhysicalResultSink @@ -697,7 +689,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_char as DOUBLE) = 2.14748364799E11)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type60 -- PhysicalResultSink @@ -708,7 +701,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_varchar as DOUBLE) = 2.14748364799E11)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type61 -- PhysicalResultSink @@ -719,7 +713,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_string as DOUBLE) = 2.14748364799E11)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type64 -- PhysicalResultSink @@ -790,7 +785,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_bool as DOUBLE) = 9.223372036854776E20)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type70 -- PhysicalResultSink @@ -801,7 +797,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_float as DOUBLE) = 9.223372036854776E20)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type71 -- PhysicalResultSink @@ -812,7 +809,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_double = 9.223372036854776E20)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type72 -- PhysicalResultSink @@ -823,7 +821,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_decimal as DOUBLE) = 9.223372036854776E20)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type73 -- PhysicalResultSink @@ -834,7 +833,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_date as DOUBLE) = 9.223372036854776E20)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type74 -- PhysicalResultSink @@ -845,7 +845,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_datetime as DOUBLE) = 9.223372036854776E20)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type75 -- PhysicalResultSink @@ -856,7 +857,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_char as DOUBLE) = 9.223372036854776E20)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type76 -- PhysicalResultSink @@ -867,7 +869,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_varchar as DOUBLE) = 9.223372036854776E20)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type77 -- PhysicalResultSink @@ -878,7 +881,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_string as DOUBLE) = 9.223372036854776E20)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type80 -- PhysicalResultSink @@ -889,7 +893,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_tinyint = 1)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type81 -- PhysicalResultSink @@ -900,7 +905,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_smallint = 1)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type82 -- PhysicalResultSink @@ -911,7 +917,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_int = 1)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type83 -- PhysicalResultSink @@ -922,7 +929,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_bigint = 1)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type84 -- PhysicalResultSink @@ -933,7 +941,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_largeint as DOUBLE) = 1.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type85 -- PhysicalResultSink @@ -956,7 +965,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_float as DOUBLE) = 1.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type87 -- PhysicalResultSink @@ -967,7 +977,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_double = 1.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type88 -- PhysicalResultSink @@ -978,7 +989,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_decimal as DOUBLE) = 1.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type89 -- PhysicalResultSink @@ -989,7 +1001,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_date as DOUBLE) = 1.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type90 -- PhysicalResultSink @@ -1000,7 +1013,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_datetime as DOUBLE) = 1.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type91 -- PhysicalResultSink @@ -1011,7 +1025,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_char as DOUBLE) = 1.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type92 -- PhysicalResultSink @@ -1022,7 +1037,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_varchar as DOUBLE) = 1.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type93 -- PhysicalResultSink @@ -1033,51 +1049,24 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_string as DOUBLE) = 1.0)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type96 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_tinyint as DECIMALV3(7, 4)) = expr_cast(c1 as DECIMALV3(7, 4)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type97 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as DECIMALV3(9, 4)) = expr_cast(c1 as DECIMALV3(9, 4)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type98 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as DECIMALV3(14, 4)) = expr_cast(c1 as DECIMALV3(14, 4)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type99 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bigint as DECIMALV3(24, 4)) = expr_cast(c1 as DECIMALV3(24, 4)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type100 -- PhysicalResultSink @@ -1088,7 +1077,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_largeint as DOUBLE) = 1.0001)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type101 -- PhysicalResultSink @@ -1099,7 +1089,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_bool as DOUBLE) = 1.0001)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type102 -- PhysicalResultSink @@ -1110,7 +1101,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_float as DOUBLE) = 1.0001)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type103 -- PhysicalResultSink @@ -1121,7 +1113,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_double = 1.0001)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type104 -- PhysicalResultSink @@ -1132,7 +1125,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_decimal = 1.0001000000000000000)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type105 -- PhysicalResultSink @@ -1143,7 +1137,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_date as DOUBLE) = 1.0001)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type106 -- PhysicalResultSink @@ -1154,7 +1149,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_datetime as DOUBLE) = 1.0001)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type107 -- PhysicalResultSink @@ -1165,7 +1161,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_char as DOUBLE) = 1.0001)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type108 -- PhysicalResultSink @@ -1176,7 +1173,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_varchar as DOUBLE) = 1.0001)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type109 -- PhysicalResultSink @@ -1187,95 +1185,72 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_string as DOUBLE) = 1.0001)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type112 -- PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type113 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type114 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type115 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type116 -- +PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_tinyint as DECIMALV3(15, 12)) = expr_cast(c1 as DECIMALV3(15, 12)))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_largeint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_largeint as DOUBLE) = 1.000000000003)) +----------PhysicalOlapScan[test_types] --- !const_value_and_join_column_type113 -- +-- !const_value_and_join_column_type117 -- PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as DECIMALV3(17, 12)) = expr_cast(c1 as DECIMALV3(17, 12)))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bool as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_bool as DOUBLE) = 1.000000000003)) +----------PhysicalOlapScan[test_types] --- !const_value_and_join_column_type114 -- +-- !const_value_and_join_column_type118 -- PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as DECIMALV3(22, 12)) = expr_cast(c1 as DECIMALV3(22, 12)))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_float as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_float as DOUBLE) = 1.000000000003)) +----------PhysicalOlapScan[test_types] --- !const_value_and_join_column_type115 -- +-- !const_value_and_join_column_type119 -- PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bigint as DECIMALV3(32, 12)) = expr_cast(c1 as DECIMALV3(32, 12)))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((t2.d_double = expr_cast(c1 as DOUBLE))) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type116 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_largeint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type117 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bool as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type118 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_float as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type119 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_double = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_double = 1.000000000003)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type120 -- PhysicalResultSink @@ -1286,7 +1261,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_decimal = 1.0000000000030000000)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type121 -- PhysicalResultSink @@ -1297,7 +1273,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_date as DOUBLE) = 1.000000000003)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type122 -- PhysicalResultSink @@ -1308,7 +1285,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_datetime as DOUBLE) = 1.000000000003)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type123 -- PhysicalResultSink @@ -1319,7 +1297,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_char as DOUBLE) = 1.000000000003)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type124 -- PhysicalResultSink @@ -1330,7 +1309,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_varchar as DOUBLE) = 1.000000000003)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type125 -- PhysicalResultSink @@ -1341,7 +1321,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_string as DOUBLE) = 1.000000000003)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type128 -- PhysicalResultSink @@ -1353,25 +1334,11 @@ PhysicalResultSink -- !const_value_and_join_column_type130 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as DECIMALV3(26, 16)) = expr_cast(c1 as DECIMALV3(26, 16)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type131 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bigint as DECIMALV3(36, 16)) = expr_cast(c1 as DECIMALV3(36, 16)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type132 -- PhysicalResultSink @@ -1382,7 +1349,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_largeint as DOUBLE) = 12232.239827234234)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type133 -- PhysicalResultSink @@ -1393,7 +1361,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_bool as DOUBLE) = 12232.239827234234)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type134 -- PhysicalResultSink @@ -1404,7 +1373,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_float as DOUBLE) = 12232.239827234234)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type135 -- PhysicalResultSink @@ -1415,7 +1385,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_double = 12232.239827234234)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type136 -- PhysicalResultSink @@ -1426,7 +1397,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_decimal = 12232.2398272342335234000)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type137 -- PhysicalResultSink @@ -1437,7 +1409,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_date as DOUBLE) = 12232.239827234234)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type138 -- PhysicalResultSink @@ -1448,7 +1421,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_datetime as DOUBLE) = 12232.239827234234)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type139 -- PhysicalResultSink @@ -1459,7 +1433,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_char as DOUBLE) = 12232.239827234234)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type140 -- PhysicalResultSink @@ -1470,7 +1445,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_varchar as DOUBLE) = 12232.239827234234)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type141 -- PhysicalResultSink @@ -1481,106 +1457,44 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_string as DOUBLE) = 12232.239827234234)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type144 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_tinyint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type145 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type146 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type147 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bigint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type148 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_largeint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type149 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bool as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type150 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_float as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type151 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_double = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type152 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_decimal as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type153 -- PhysicalResultSink @@ -1591,7 +1505,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_date = '2024-07-01')) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type154 -- PhysicalResultSink @@ -1602,7 +1517,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_datetime = '2024-07-01 00:00:00')) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type155 -- PhysicalResultSink @@ -1642,14 +1558,7 @@ PhysicalResultSink -- !const_value_and_join_column_type158 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_ipv4 = expr_cast(c1 as IPV4))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type159 -- PhysicalResultSink @@ -1664,153 +1573,84 @@ PhysicalResultSink -- !const_value_and_join_column_type160 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_tinyint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type161 -- PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type162 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type163 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type164 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type165 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type166 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type167 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type168 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type169 -- +PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_date as DATETIMEV2(0)) = expr_cast(c1 as DATETIMEV2(0)))) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((cast(d_date as DATETIMEV2(0)) = '2024-08-02 10:10:00')) +----------PhysicalOlapScan[test_types] --- !const_value_and_join_column_type162 -- +-- !const_value_and_join_column_type170 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type171 -- PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((t2.d_char = t.c1)) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_char = '2024-08-02 10:10:00.123332')) +----------PhysicalOlapScan[test_types] --- !const_value_and_join_column_type163 -- +-- !const_value_and_join_column_type172 -- PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bigint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((t2.d_varchar = t.c1)) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_varchar = '2024-08-02 10:10:00.123332')) +----------PhysicalOlapScan[test_types] --- !const_value_and_join_column_type164 -- +-- !const_value_and_join_column_type173 -- PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_largeint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type165 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bool as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type166 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_float as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type167 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_double = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type168 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_decimal as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type169 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_date as DATETIMEV2(0)) = expr_cast(c1 as DATETIMEV2(0)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type170 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_datetime as DATETIMEV2(6)) = expr_cast(c1 as DATETIMEV2(6)))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type171 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_char = t.c1)) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------filter((t2.d_char = '2024-08-02 10:10:00.123332')) -----------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type172 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_varchar = t.c1)) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------filter((t2.d_varchar = '2024-08-02 10:10:00.123332')) -----------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type173 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_string = t.c1)) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((t2.d_string = t.c1)) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject @@ -1821,14 +1661,7 @@ PhysicalResultSink -- !const_value_and_join_column_type174 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_ipv4 = expr_cast(c1 as IPV4))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type175 -- PhysicalResultSink @@ -1843,102 +1676,39 @@ PhysicalResultSink -- !const_value_and_join_column_type176 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_tinyint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type177 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type178 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type179 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bigint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type180 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_largeint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type181 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bool as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type182 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_float as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type183 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_double = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type184 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_decimal as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type187 -- PhysicalResultSink @@ -1978,14 +1748,7 @@ PhysicalResultSink -- !const_value_and_join_column_type190 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_ipv4 = expr_cast(c1 as IPV4))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type191 -- PhysicalResultSink @@ -2000,242 +1763,84 @@ PhysicalResultSink -- !const_value_and_join_column_type192 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_tinyint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type193 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type194 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type195 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bigint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type196 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_largeint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type197 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bool as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type198 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_float as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type199 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_double = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type200 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_decimal as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type203 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_char = t.c1)) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------filter((t2.d_char = 'dtestvarcharvarchar')) -----------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type204 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_varchar = t.c1)) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------filter((t2.d_varchar = 'dtestvarcharvarchar')) -----------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type205 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_string = t.c1)) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------filter((t2.d_string = 'dtestvarcharvarchar')) -----------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type206 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_ipv4 = expr_cast(c1 as IPV4))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type207 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_ipv6 = expr_cast(c1 as IPV6))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type208 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_tinyint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type209 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type210 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] - --- !const_value_and_join_column_type211 -- -PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bigint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +PhysicalResultSink +--PhysicalEmptyRelation --- !const_value_and_join_column_type212 -- +-- !const_value_and_join_column_type203 -- PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_largeint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((t2.d_char = t.c1)) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_char = 'dtestvarcharvarchar')) +----------PhysicalOlapScan[test_types] --- !const_value_and_join_column_type213 -- +-- !const_value_and_join_column_type204 -- PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bool as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((t2.d_varchar = t.c1)) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_varchar = 'dtestvarcharvarchar')) +----------PhysicalOlapScan[test_types] --- !const_value_and_join_column_type214 -- +-- !const_value_and_join_column_type205 -- PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_float as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((t2.d_string = t.c1)) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_string = 'dtestvarcharvarchar')) +----------PhysicalOlapScan[test_types] --- !const_value_and_join_column_type215 -- +-- !const_value_and_join_column_type206 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type207 -- PhysicalResultSink --PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_double = expr_cast(c1 as DOUBLE))) otherCondition=() +----hashJoin[INNER_JOIN] hashCondition=((t2.d_ipv6 = expr_cast(c1 as IPV6))) otherCondition=() ------PhysicalLimit[GLOBAL] --------PhysicalLimit[LOCAL] ----------PhysicalProject @@ -2243,16 +1848,41 @@ PhysicalResultSink ------PhysicalProject --------PhysicalOlapScan[test_types] +-- !const_value_and_join_column_type208 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type209 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type210 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type211 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type212 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type213 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type214 -- +PhysicalResultSink +--PhysicalEmptyRelation + +-- !const_value_and_join_column_type215 -- +PhysicalResultSink +--PhysicalEmptyRelation + -- !const_value_and_join_column_type216 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_decimal as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type219 -- PhysicalResultSink @@ -2292,14 +1922,7 @@ PhysicalResultSink -- !const_value_and_join_column_type222 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_ipv4 = expr_cast(c1 as IPV4))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type223 -- PhysicalResultSink @@ -2314,102 +1937,39 @@ PhysicalResultSink -- !const_value_and_join_column_type224 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_tinyint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type225 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type226 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type227 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bigint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type228 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_largeint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type229 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bool as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type230 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_float as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type231 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_double = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type232 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_decimal as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type235 -- PhysicalResultSink @@ -2456,7 +2016,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_ipv4 = 2130706433)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type239 -- PhysicalResultSink @@ -2471,102 +2032,39 @@ PhysicalResultSink -- !const_value_and_join_column_type240 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_tinyint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type241 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type242 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_int as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type243 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bigint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type244 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_largeint as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type245 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_bool as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type246 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_float as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type247 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_double = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type248 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_decimal as DOUBLE) = expr_cast(c1 as DOUBLE))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type251 -- PhysicalResultSink @@ -2606,14 +2104,7 @@ PhysicalResultSink -- !const_value_and_join_column_type254 -- PhysicalResultSink ---PhysicalProject -----hashJoin[INNER_JOIN] hashCondition=((t2.d_ipv4 = expr_cast(c1 as IPV4))) otherCondition=() -------PhysicalLimit[GLOBAL] ---------PhysicalLimit[LOCAL] -----------PhysicalProject -------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] -------PhysicalProject ---------PhysicalOlapScan[test_types] +--PhysicalEmptyRelation -- !const_value_and_join_column_type255 -- PhysicalResultSink @@ -2624,7 +2115,8 @@ PhysicalResultSink ----------PhysicalProject ------------PhysicalStorageLayerAggregate[test_pull_up_predicate_literal] ------PhysicalProject ---------PhysicalOlapScan[test_types] +--------filter((t2.d_ipv6 = ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)) +----------PhysicalOlapScan[test_types] -- !const_value_and_join_column_type_res0 -- 127 diff --git a/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.out b/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.out new file mode 100644 index 00000000000000..18ef848c0e6ba7 --- /dev/null +++ b/regression-test/data/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.out @@ -0,0 +1,563 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !intersect -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalIntersect +------filter((test_pull_up_predicate_set_op1.a < 1) and (test_pull_up_predicate_set_op1.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a < 1) and (test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a < 1) and (t3.b > 'ab')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !except -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalExcept +------filter((test_pull_up_predicate_set_op1.a < 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a < 1) and (test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a < 1)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------filter((test_pull_up_predicate_set_op1.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----------filter((test_pull_up_predicate_set_op2.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a < 1)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !intersect_one_side_constant_one_side_column -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalIntersect +------filter((test_pull_up_predicate_set_op1.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a = 1) and (test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a = 1) and (t3.b > 'ab')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !intersect_one_side -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalIntersect +------filter((test_pull_up_predicate_set_op1.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.b > 'ab')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !intersect_one_side_no_filter -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalIntersect +------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !except_first_no_filter -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalExcept +------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !except_second_no_filter -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalExcept +------filter((test_pull_up_predicate_set_op1.a > 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a > 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a > 1)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !except_no_filter -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalExcept +------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_different_filter -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +------filter((test_pull_up_predicate_set_op1.a < 2)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a < 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_one_side_filter -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----------filter((test_pull_up_predicate_set_op2.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_with_const -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +------filter((test_pull_up_predicate_set_op1.a < 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a < 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_all_const -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +----filter(a IN (133333, 2) and b IN ('aa', 'dd')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_all_const_tinyint_int -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = expr_cast(a as INT)) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +----filter(a IN (2, 3) and b IN ('aa', 'dd')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_all_const_empty_relation -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = expr_cast(a as INT)) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +----filter((t3.a = 2) and (t3.b = 'dd')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_all_const2_has_cast_to_null_different_type -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((expr_cast(a as DOUBLE) = expr_cast(a as DOUBLE)) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +----filter(b IN ('aa', 'dd')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_all_const2_has_cast_to_null_different_type -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((expr_cast(a as DOUBLE) = expr_cast(a as DOUBLE)) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +----filter(b IN ('12', 'dd')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_all_different_type_int_cast_to_char -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((expr_cast(a as DOUBLE) = expr_cast(a as DOUBLE)) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +----filter(b IN ('12', 'dd')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_all_const_char3_char2 -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = expr_cast(a as INT)) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +----filter(a IN (2, 3, 5)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_child_and_const_exprs -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------filter(a IN (1, 2)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----------filter(a IN (1, 2)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter(a IN (1, 2)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_child_and_const_exprs_andpredicates -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------filter(a IN (1, 2) and b IN ('2d', '3')) +------------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----filter(a IN (1, 2) and b IN ('2d', '3')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_child_and_const_exprs_orpredicates -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------filter((a IN (1, 2) OR b IN ('2d', '3'))) +------------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !intersect_one_side_constant_one_side_column_left_join -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalIntersect +------filter((test_pull_up_predicate_set_op1.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a = 1) and (test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a = 1) and (t3.b > 'ab')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !except_second_no_filter_left_join -- +PhysicalResultSink +--hashJoin[LEFT_OUTER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalExcept +------filter((test_pull_up_predicate_set_op1.a > 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a > 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a > 1)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_left_join -- +PhysicalResultSink +--hashJoin[LEFT_OUTER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------filter((test_pull_up_predicate_set_op1.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----------filter((test_pull_up_predicate_set_op2.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a < 1)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_right_join -- +PhysicalResultSink +--hashJoin[RIGHT_OUTER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------filter((test_pull_up_predicate_set_op1.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----------filter((test_pull_up_predicate_set_op2.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !intersect_one_side_constant_one_side_column_left_semi_join -- +PhysicalResultSink +--hashJoin[LEFT_SEMI_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalIntersect +------filter((test_pull_up_predicate_set_op1.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a = 1) and (test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a = 1) and (t3.b > 'ab')) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !except_second_no_filter_right_semi_join -- +PhysicalResultSink +--hashJoin[RIGHT_SEMI_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalExcept +------filter((test_pull_up_predicate_set_op1.a > 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a > 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a > 1)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_left_anti_join -- +PhysicalResultSink +--hashJoin[LEFT_ANTI_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------filter((test_pull_up_predicate_set_op1.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----------filter((test_pull_up_predicate_set_op2.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----filter((t3.a < 1)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_right_anti_join -- +PhysicalResultSink +--hashJoin[RIGHT_ANTI_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------filter((test_pull_up_predicate_set_op1.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----------filter((test_pull_up_predicate_set_op2.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_all_const_full_join -- +PhysicalResultSink +--hashJoin[FULL_OUTER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_all_const_tinyint_int_cross_join -- +PhysicalResultSink +--NestedLoopJoin[CROSS_JOIN] +----PhysicalUnion +----PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !intersect_union -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalIntersect +------filter((test_pull_up_predicate_set_op1.a < 1) and (test_pull_up_predicate_set_op1.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a < 1) and (test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----PhysicalUnion +------filter((test_pull_up_predicate_set_op2.a < 1) and (test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +------filter((test_pull_up_predicate_set_op2.a < 1) and (test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] + +-- !except_agg -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----PhysicalExcept +------filter((test_pull_up_predicate_set_op1.a < 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] +------filter((test_pull_up_predicate_set_op2.a < 1) and (test_pull_up_predicate_set_op2.b > 'ab')) +--------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------filter((t3.a < 1)) +----------PhysicalOlapScan[test_pull_up_predicate_set_op1] + +-- !union_cross_join -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------filter((test_pull_up_predicate_set_op1.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----------filter((test_pull_up_predicate_set_op2.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----NestedLoopJoin[CROSS_JOIN] +------filter((t3.a < 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op1] + +-- !union_inner_join -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = t.a) and (t3.b = t.b)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----------filter((test_pull_up_predicate_set_op1.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op1] +----------filter((test_pull_up_predicate_set_op2.a < 1)) +------------PhysicalOlapScan[test_pull_up_predicate_set_op2] +----hashJoin[INNER_JOIN] hashCondition=((t1.a = t2.a)) otherCondition=() +------filter((t3.a < 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------filter((t2.a < 1)) +--------PhysicalOlapScan[test_pull_up_predicate_set_op1] + +-- !union_all_const_datetime -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_datetimev2 as DATETIMEV2(6)) = expr_cast(b as DATETIMEV2(6))) and (expr_cast(d_smallint as INT) = t.a)) otherCondition=() +----PhysicalUnion +----filter(cast(d_smallint as INT) IN (12222222, 2)) +------PhysicalOlapScan[test_pull_up_predicate_set_op4] + +-- !union_all_const_date -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_datev2 as DATETIMEV2(0)) = expr_cast(b as DATETIMEV2(0))) and (expr_cast(d_smallint as INT) = t.a)) otherCondition=() +----PhysicalUnion +----filter(cast(d_smallint as INT) IN (12222222, 2)) +------PhysicalOlapScan[test_pull_up_predicate_set_op4] + +-- !union_all_const_char100 -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((expr_cast(d_smallint as INT) = t.a) and (t3.d_char100 = t.b)) otherCondition=() +----PhysicalUnion +----filter(cast(d_smallint as INT) IN (12222222, 2) and d_char100 IN ('2024-01-03 10:00:00', '2024-01-03')) +------PhysicalOlapScan[test_pull_up_predicate_set_op4] + +-- !union_all_const_char10 -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.d_char10 = t.b)) otherCondition=() +----PhysicalUnion +----filter(d_char10 IN ('2024-01-03 10:00:00', '2024-01-04')) +------PhysicalOlapScan[test_pull_up_predicate_set_op4] + +-- !union_all_and_project_pull_up -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((t3.a = expr_cast(a as INT)) and (t3.b = t.b)) otherCondition=() +----PhysicalUnion +------PhysicalOlapScan[test_pull_up_predicate_set_op3] +------PhysicalOlapScan[test_pull_up_predicate_set_op3] +----filter((t3.a = 3)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !union_and_const -- +PhysicalResultSink +--hashJoin[INNER_JOIN] hashCondition=((expr_cast(id as INT) = t2.a)) otherCondition=() +----hashAgg[GLOBAL] +------hashAgg[LOCAL] +--------PhysicalUnion +----filter(a IN (1, 2)) +------PhysicalOlapScan[test_pull_up_predicate_set_op3] + +-- !intersect_res -- +0 d2 + +-- !except_res -- +-2 d2 + +-- !union_res -- +-2 d2 +0 d2 + +-- !intersect_one_side_constant_one_side_column_res -- +1 d2 + +-- !intersect_one_side_res -- +0 d2 +1 d2 + +-- !intersect_one_side_no_filter_res -- +0 d2 +1 d2 + +-- !except_first_no_filter_res -- +-2 d2 + +-- !except_second_no_filter_res -- + +-- !except_no_filter_res -- +-2 d2 + +-- !union_different_filter_res -- +-2 d2 +0 d2 +0 d2 +1 d2 + +-- !union_one_side_filter_res -- +-2 d2 +0 d2 +1 d2 + +-- !union_with_const_res -- +-2 d2 +0 d2 +0 d2 + +-- !union_all_const_res -- + +-- !union_all_const_tinyint_int_res -- + +-- !union_all_const_empty_relation_res -- + +-- !union_all_const2_has_cast_to_null_different_type_res -- + +-- !union_all_const2_has_cast_to_null_different_type_res -- + +-- !union_all_different_type_int_cast_to_char_res -- + +-- !union_all_const_char3_char2_res -- + +-- !intersect_one_side_constant_one_side_column_left_join_res -- +1 d2 + +-- !except_second_no_filter_left_join_res -- + +-- !union_left_join_res -- +-3 \N +-2 -2 +0 0 + +-- !union_right_join_res -- +\N 1 +-2 -2 +0 0 + +-- !intersect_one_side_constant_one_side_column_left_semi_join_res -- +1 + +-- !except_second_no_filter_right_semi_join_res -- + +-- !union_left_anti_join_res -- +-3 d2 + +-- !union_right_anti_join_res -- +1 + +-- !union_all_const_full_join_res -- +\N d2 +\N d2 +\N d2 +2 \N +133333 \N + +-- !union_all_const_tinyint_int_cross_join_res -- +2 d2 +2 d2 +2 d2 +3 d2 +3 d2 +3 d2 + +-- !intersect_union_res -- +-3 d2 +-3 d2 +0 d2 +0 d2 + +-- !except_agg_res -- +-2 d2 + +-- !union_cross_join_res -- +-2 d2 +-2 d2 +-2 d2 +-2 d2 +0 d2 +0 d2 +0 d2 +0 d2 + +-- !union_inner_join_res -- +-2 d2 +0 d2 + +-- !union_all_const_datetime_res -- + +-- !union_all_const_date_res -- + +-- !union_all_const_char100_res -- + +-- !union_all_const_char10_res -- +2 2024-01-04 + +-- !union_all_and_project_pull_up_res -- + +-- !union_and_const_res -- +abbbb + +-- !union_child_and_const_exprs_res -- +1 d2 + +-- !union_child_and_const_exprs_andpredicates_res -- + +-- !union_child_and_const_exprs_orpredicates_res -- +1 d2 + diff --git a/regression-test/data/nereids_rules_p0/infer_set_operator_distinct/infer_set_operator_distinct.out b/regression-test/data/nereids_rules_p0/infer_set_operator_distinct/infer_set_operator_distinct.out index 06f9705caa1498..25bbc68f24e89b 100644 --- a/regression-test/data/nereids_rules_p0/infer_set_operator_distinct/infer_set_operator_distinct.out +++ b/regression-test/data/nereids_rules_p0/infer_set_operator_distinct/infer_set_operator_distinct.out @@ -51,13 +51,10 @@ PhysicalResultSink -- !except_with_filter -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] -----PhysicalExcept -------PhysicalDistribute[DistributionSpecHash] +----PhysicalProject +------hashAgg[LOCAL] --------filter((t1.id > 100)) ----------PhysicalOlapScan[t1] -------PhysicalDistribute[DistributionSpecHash] ---------filter((t2.id < 50)) -----------PhysicalOlapScan[t2] -- !intersect_distinct -- PhysicalResultSink @@ -406,15 +403,10 @@ SyntaxError: -- !with_hint_except_with_filter -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] -----PhysicalExcept -------PhysicalDistribute[DistributionSpecHash] ---------hashAgg[LOCAL] -----------filter((t1.id > 100)) -------------PhysicalOlapScan[t1] -------PhysicalDistribute[DistributionSpecHash] ---------hashAgg[LOCAL] -----------filter((t2.id < 50)) -------------PhysicalOlapScan[t2] +----PhysicalProject +------hashAgg[LOCAL] +--------filter((t1.id > 100)) +----------PhysicalOlapScan[t1] Hint log: Used: use_INFER_SET_OPERATOR_DISTINCT @@ -888,13 +880,10 @@ SyntaxError: -- !with_hint_no_except_with_filter -- PhysicalResultSink --PhysicalDistribute[DistributionSpecGather] -----PhysicalExcept -------PhysicalDistribute[DistributionSpecHash] +----PhysicalProject +------hashAgg[LOCAL] --------filter((t1.id > 100)) ----------PhysicalOlapScan[t1] -------PhysicalDistribute[DistributionSpecHash] ---------filter((t2.id < 50)) -----------PhysicalOlapScan[t2] Hint log: Used: diff --git a/regression-test/data/nereids_tpcds_shape_sf1000_p0/bs_downgrade_shape/query8.out b/regression-test/data/nereids_tpcds_shape_sf1000_p0/bs_downgrade_shape/query8.out index 58865f101ca9c2..00f211d12927a2 100644 --- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/bs_downgrade_shape/query8.out +++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/bs_downgrade_shape/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query8.out b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query8.out index 58865f101ca9c2..00f211d12927a2 100644 --- a/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query8.out +++ b/regression-test/data/nereids_tpcds_shape_sf1000_p0/shape/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query8.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query8.out index 1105499e6b2d03..40a27a12ac0692 100644 --- a/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query8.out +++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/noStatsRfPrune/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query8.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query8.out index 57aa7dc9db3756..5047f4a7878cc1 100644 --- a/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query8.out +++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/no_stats_shape/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query8.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query8.out index 9270aa516dbf2e..52bfb51f9c2c70 100644 --- a/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query8.out +++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/rf_prune/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query8.out b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query8.out index 58865f101ca9c2..00f211d12927a2 100644 --- a/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query8.out +++ b/regression-test/data/nereids_tpcds_shape_sf100_p0/shape/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN shuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query8.out b/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query8.out index 1105499e6b2d03..40a27a12ac0692 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query8.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf100/noStatsRfPrune/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query8.out b/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query8.out index 57aa7dc9db3756..5047f4a7878cc1 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query8.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf100/no_stats_shape/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN broadcast] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query8.out b/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query8.out index 9270aa516dbf2e..fd4ec64bb81546 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query8.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf100/rf_prune/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query8.out b/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query8.out index 58865f101ca9c2..a254eeae049f91 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query8.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf100/shape/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf1000/bs_downgrade_shape/query8.out b/regression-test/data/new_shapes_p0/tpcds_sf1000/bs_downgrade_shape/query8.out index 58865f101ca9c2..a254eeae049f91 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf1000/bs_downgrade_shape/query8.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf1000/bs_downgrade_shape/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query8.out b/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query8.out index 58865f101ca9c2..a254eeae049f91 100644 --- a/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query8.out +++ b/regression-test/data/new_shapes_p0/tpcds_sf1000/shape/query8.out @@ -29,12 +29,13 @@ PhysicalResultSink ------------------------------PhysicalDistribute[DistributionSpecHash] --------------------------------hashAgg[LOCAL] ----------------------------------PhysicalProject -------------------------------------hashJoin[INNER_JOIN bucketShuffle] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 c_current_addr_sk->[ca_address_sk] ---------------------------------------PhysicalProject -----------------------------------------PhysicalOlapScan[customer_address] apply RFs: RF0 +------------------------------------hashJoin[INNER_JOIN shuffleBucket] hashCondition=((customer_address.ca_address_sk = customer.c_current_addr_sk)) otherCondition=() build RFs:RF0 ca_address_sk->[c_current_addr_sk] --------------------------------------PhysicalProject ----------------------------------------filter((customer.c_preferred_cust_flag = 'Y')) -------------------------------------------PhysicalOlapScan[customer] +------------------------------------------PhysicalOlapScan[customer] apply RFs: RF0 +--------------------------------------PhysicalProject +----------------------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) +------------------------------------------PhysicalOlapScan[customer_address] ----------------------PhysicalDistribute[DistributionSpecHash] ------------------------PhysicalProject --------------------------filter(substring(ca_zip, 1, 5) IN ('10298', '10374', '10425', '11340', '11489', '11618', '11652', '11686', '11855', '11912', '12197', '12318', '12320', '12350', '13086', '13123', '13261', '13338', '13376', '13378', '13443', '13844', '13869', '13918', '14073', '14155', '14196', '14242', '14312', '14440', '14530', '14851', '15371', '15475', '15543', '15734', '15751', '15782', '15794', '16005', '16226', '16364', '16515', '16704', '16791', '16891', '17167', '17193', '17291', '17672', '17819', '17879', '17895', '18218', '18360', '18367', '18410', '18421', '18434', '18569', '18700', '18767', '18829', '18884', '19326', '19444', '19489', '19753', '19833', '19988', '20244', '20317', '20534', '20601', '20712', '21060', '21094', '21204', '21231', '21343', '21727', '21800', '21814', '22728', '22815', '22911', '23065', '23952', '24227', '24255', '24286', '24594', '24660', '24891', '24987', '25115', '25178', '25214', '25264', '25333', '25494', '25717', '25973', '26217', '26689', '27052', '27116', '27156', '27287', '27369', '27385', '27413', '27642', '27700', '28055', '28239', '28571', '28577', '28810', '29086', '29392', '29450', '29752', '29818', '30106', '30415', '30621', '31013', '31016', '31655', '31830', '32489', '32669', '32754', '32919', '32958', '32961', '33113', '33122', '33159', '33467', '33562', '33773', '33869', '34306', '34473', '34594', '34948', '34972', '35076', '35390', '35834', '35863', '35926', '36201', '36335', '36430', '36479', '37119', '37788', '37914', '38353', '38607', '38919', '39214', '39459', '39500', '39503', '40146', '40936', '40979', '41162', '41232', '41255', '41331', '41351', '41352', '41419', '41807', '41836', '41967', '42361', '43432', '43639', '43830', '43933', '44529', '45266', '45484', '45533', '45645', '45676', '45859', '46081', '46131', '46507', '47289', '47369', '47529', '47602', '47770', '48017', '48162', '48333', '48530', '48567', '49101', '49130', '49140', '49211', '49230', '49254', '49472', '50412', '50632', '50636', '50679', '50788', '51089', '51184', '51195', '51634', '51717', '51766', '51782', '51793', '51933', '52094', '52301', '52389', '52868', '53163', '53535', '53565', '54010', '54207', '54364', '54558', '54585', '55233', '55349', '56224', '56355', '56436', '56455', '56600', '56877', '57025', '57553', '57631', '57649', '57839', '58032', '58058', '58062', '58117', '58218', '58412', '58454', '58581', '59004', '59080', '59130', '59226', '59345', '59386', '59494', '59852', '60083', '60298', '60560', '60624', '60736', '61527', '61794', '61860', '61997', '62361', '62585', '62878', '63073', '63180', '63193', '63294', '63792', '63991', '64592', '65148', '65177', '65501', '66057', '66943', '67881', '67975', '67998', '68101', '68293', '68341', '68605', '68730', '68770', '68843', '68852', '68908', '69280', '69952', '69998', '70041', '70070', '70073', '70450', '71144', '71256', '71286', '71836', '71948', '71954', '71997', '72592', '72991', '73021', '73108', '73134', '73146', '73219', '73873', '74686', '75660', '75675', '75742', '75752', '77454', '77817', '78093', '78366', '79077', '79658', '80332', '80846', '81003', '81070', '81084', '81335', '81504', '81755', '81963', '82080', '82602', '82620', '83041', '83086', '83583', '83647', '83833', '83910', '83986', '84247', '84680', '84844', '84919', '85066', '85761', '86057', '86379', '86709', '88086', '88137', '88217', '89193', '89338', '90209', '90229', '90669', '91110', '91894', '92292', '92380', '92645', '92696', '93498', '94791', '94835', '94898', '95042', '95430', '95464', '95694', '96435', '96560', '97173', '97462', '98069', '98072', '98338', '98533', '98569', '98584', '98862', '99060', '99132')) diff --git a/regression-test/regression-test/realData/insert_p0/txn_insert_values_with_schema_change.out b/regression-test/regression-test/realData/insert_p0/txn_insert_values_with_schema_change.out new file mode 100644 index 00000000000000..9e1016fe0e26e7 --- /dev/null +++ b/regression-test/regression-test/realData/insert_p0/txn_insert_values_with_schema_change.out @@ -0,0 +1,13 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !select1 -- +0 a 10 +1 b 20 +2 c 30 +3 d 40 + +-- !select2 -- +0 a 10 +1 b 20 +2 c 30 +3 d 40 + diff --git a/regression-test/suites/nereids_rules_p0/adjust_nullable/set_operation.groovy b/regression-test/suites/nereids_rules_p0/adjust_nullable/set_operation.groovy index a0e2d843dd572d..bbbdf63e03d55b 100644 --- a/regression-test/suites/nereids_rules_p0/adjust_nullable/set_operation.groovy +++ b/regression-test/suites/nereids_rules_p0/adjust_nullable/set_operation.groovy @@ -16,7 +16,9 @@ // under the License. suite("test_set_operation_adjust_nullable") { - + sql "set enable_fallback_to_original_planner=false" + String realDb = context.config.getDbNameByFile(context.file) + logger.info("realDb:${realDb}") sql """ DROP TABLE IF EXISTS set_operation_t1 """ diff --git a/regression-test/suites/nereids_rules_p0/infer_predicate/infer_intersect_except.groovy b/regression-test/suites/nereids_rules_p0/infer_predicate/infer_intersect_except.groovy new file mode 100644 index 00000000000000..fb8ef0a75f98d5 --- /dev/null +++ b/regression-test/suites/nereids_rules_p0/infer_predicate/infer_intersect_except.groovy @@ -0,0 +1,208 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("infer_intersect_except") { + sql "set enable_nereids_planner=true" + sql "set enable_fallback_to_original_planner=false" + sql """SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'""" + sql 'set runtime_filter_mode=off' + sql 'set enable_fold_constant_by_be=true' + sql 'set debug_skip_fold_constant=false' + + + + sql "drop table if exists infer_intersect_except1" + sql "drop table if exists infer_intersect_except2" + sql "drop table if exists infer_intersect_except3" + + sql """ + CREATE TABLE `infer_intersect_except1` ( + `a` INT NULL, + `b` VARCHAR(10) NULL, + `c` INT NULL, + `d` INT NULL + ) ENGINE=OLAP + DUPLICATE KEY(`a`, `b`) + DISTRIBUTED BY RANDOM BUCKETS AUTO + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + + sql """ + CREATE TABLE `infer_intersect_except2` ( + `a` INT NULL, + `b` VARCHAR(10) NULL, + `c` INT NULL, + `d` INT NULL + ) ENGINE=OLAP + DUPLICATE KEY(`a`, `b`) + DISTRIBUTED BY RANDOM BUCKETS AUTO + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + + sql """ + CREATE TABLE `infer_intersect_except3` ( + `a` INT NULL, + `b` VARCHAR(10) NULL, + `c` INT NULL, + `d` INT NULL + ) ENGINE=OLAP + DUPLICATE KEY(`a`, `b`) + DISTRIBUTED BY RANDOM BUCKETS AUTO + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + sql """ + insert into infer_intersect_except1 values(1,'d2',3,5),(0,'d2',3,5),(-3,'d2',2,2),(-2,'d2',2,2); + """ + + sql """ + insert into infer_intersect_except2 values(1,'d2',2,2),(-3,'d2',2,2),(0,'d2',3,5); + """ + + sql """ + insert into infer_intersect_except3 values(1,'d2',2,2),(-2,'d2',2,2),(0,'d2',3,5); + """ + qt_except """ + explain shape plan + select a,b from infer_intersect_except1 where a>0 except select a,b from infer_intersect_except2 where b>'ab' except select a,b from infer_intersect_except2 where a<10; + """ + + qt_except_to_empty """ + explain shape plan + select a,b from infer_intersect_except1 where a>0 except select a,b from infer_intersect_except2 where b>'ab' except select a,b from infer_intersect_except3 where a<0; + """ + + qt_except_not_infer_1_greater_than_0 """ + explain shape plan + select a,b from infer_intersect_except1 where a>0 except select 1,'abc' from infer_intersect_except2 where b>'ab' except select a,b from infer_intersect_except2 where a<0; + """ + + qt_except_number_and_string """ + explain shape plan + select a,2 from infer_intersect_except1 where a>0 except select 1,'abc' from infer_intersect_except2 where b>'ab' except select a,b from infer_intersect_except3 where a<0; + """ + + qt_intersect """ + explain shape plan + select a,b from infer_intersect_except1 where a>0 intersect select a,b from infer_intersect_except2 where b>'ab'; + """ + qt_intersect_empty """ + explain shape plan + select a,b from infer_intersect_except1 where a>0 intersect select a,b from infer_intersect_except2 where a<0; + """ + + qt_intersect_expr """ + explain shape plan + select a+1,b from infer_intersect_except1 where a>0 intersect select a+1,b from infer_intersect_except2 where a+1<0; + """ + + qt_except_and_intersect """ + explain shape plan + select a,b from infer_intersect_except1 where a>0 except select 1,'abc' from infer_intersect_except2 where b>'ab' intersect select a,b from infer_intersect_except3 where a<10; + """ + + qt_except_and_intersect_except_predicate_to_right """ + explain shape plan + select a,b from infer_intersect_except1 where a>0 except select a,'abc' from infer_intersect_except2 where b>'ab' intersect select a,b from infer_intersect_except3 where a<10; + """ + qt_intersect_and_except """ + explain shape plan + select a,b from infer_intersect_except1 where a>0 intersect select 1,'abc' from infer_intersect_except2 where b>'ab' except select a,b from infer_intersect_except3 where a<10; + """ + + qt_function_intersect """ + explain shape plan + select abs(a) from infer_intersect_except1 t1 where abs(a)<3 intersect select abs(a) from infer_intersect_except2 t2 """ + qt_function_except """ + explain shape plan + select abs(a) from infer_intersect_except1 t1 where abs(a)<3 except select abs(a) from infer_intersect_except2 t2 """ + + qt_except_res """ + (select a,b from infer_intersect_except1 where a>0) except (select a,b from infer_intersect_except2 where b>'ab') except (select a,b from infer_intersect_except2 where a<10) order by 1,2; + """ + + qt_except_to_empty_res """ + (select a,b from infer_intersect_except1 where a>0) except (select a,b from infer_intersect_except2 where b>'ab') except (select a,b from infer_intersect_except3 where a<0) order by 1,2; + """ + + qt_except_not_infer_1_greater_than_0_res """ + (select a,b from infer_intersect_except1 where a>0) except (select 1,'abc' from infer_intersect_except2 where b>'ab') except (select a,b from infer_intersect_except2 where a<0) order by 1,2; + """ + + qt_except_number_and_string_res """ + (select a,2 from infer_intersect_except1 where a>0) except (select 1,'abc' from infer_intersect_except2 where b>'ab') except (select a,b from infer_intersect_except3 where a<0) order by 1,2; + """ + + qt_intersect_res """ + (select a,b from infer_intersect_except1 where a>0) intersect (select a,b from infer_intersect_except2 where b>'ab') order by 1,2; + """ + qt_intersect_empty_res """ + (select a,b from infer_intersect_except1 where a>0) intersect (select a,b from infer_intersect_except2 where a<0) order by 1,2; + """ + + qt_intersect_expr_res """ + (select a+1,b from infer_intersect_except1 where a>0) intersect (select a+1,b from infer_intersect_except2 where a+1<0 ) order by 1,2; + """ + + qt_except_and_intersect_res """ + (select a,b from infer_intersect_except1 where a>0) except (select 1,'abc' from infer_intersect_except2 where b>'ab') intersect (select a,b from infer_intersect_except3 where a<10) order by 1,2; + """ + + qt_except_and_intersect_except_predicate_to_right_res """ + (select a,b from infer_intersect_except1 where a>0) except (select a,'abc' from infer_intersect_except2 where b>'ab') intersect (select a,b from infer_intersect_except3 where a<10) order by 1,2; + """ + qt_intersect_and_except_res """ + (select a,b from infer_intersect_except1 where a>0) intersect (select 1,'abc' from infer_intersect_except2 where b>'ab') except (select a,b from infer_intersect_except3 where a<10) order by 1,2; + """ + + qt_function_intersect_res """ + (select abs(a) from infer_intersect_except1 t1 where abs(a)<3) intersect (select abs(a) from infer_intersect_except2 t2) order by 1 """ + qt_function_except_res """ + (select abs(a) from infer_intersect_except1 t1 where abs(a)<3) except (select abs(a) from infer_intersect_except2 t2) order by 1 """ + + sql "drop table if exists infer_intersect_except4" + sql "create table infer_intersect_except4(d_int int, d_char100 char(100), d_smallint smallint, d_tinyint tinyint, d_char10 char(10),d_datetimev2 datetimev2, d_datev2 datev2) properties('replication_num'='1');" + sql """insert into infer_intersect_except4 values(1,'01234567890123456789', 3,3,'0123456789','2020-01-09 10:00:00.99','2020-01-09'),(14,'01234567890123456789', 33,23,'0123456789','2020-01-11 10:00:00.99','2020-01-11') + ,(14,'01234567890123456789', 33,23,'2024-01-04','2020-01-11 10:00:00.99','2020-01-11'), + (14,'01234567890123456789', 33,23,'2024-01-03 10:00:00','2020-01-11 10:00:00.99','2020-01-11');""" + + test { + sql """ + select d_datetimev2 from infer_intersect_except4 where d_datetimev2>'2020-01-01' intersect select d_int from infer_intersect_except4 where d_int<10; + """ + exception("can not cast from origin type DATETIMEV2(0) to target type=UNSUPPORTED") + } + qt_different_type_date_string """ + explain shape plan + select d_datetimev2 from infer_intersect_except4 where d_datetimev2>'2020-01-01' intersect select d_char100 from infer_intersect_except4 where d_char100<'abc'; + """ + qt_different_type_int_string """ + explain shape plan + select d_int from infer_intersect_except4 where d_int>2 intersect select d_char100 from infer_intersect_except4 where d_char100<'abc'; + """ + qt_different_type_date_string_res """ + (select d_datetimev2 from infer_intersect_except4 where d_datetimev2>'2020-01-01') intersect (select d_char100 from infer_intersect_except4 where d_char100<'abc') order by 1; + """ + qt_different_type_int_string_res """ + (select d_int from infer_intersect_except4 where d_int>2 ) intersect (select d_char100 from infer_intersect_except4 where d_char100<'abc') order by 1; + """ +} \ No newline at end of file diff --git a/regression-test/suites/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.groovy b/regression-test/suites/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.groovy index 1eb5540c812193..06998e0e438be1 100644 --- a/regression-test/suites/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.groovy +++ b/regression-test/suites/nereids_rules_p0/infer_predicate/pull_up_predicate_literal.groovy @@ -20,6 +20,9 @@ suite("test_pull_up_predicate_literal") { sql "set enable_fallback_to_original_planner=false" sql """SET ignore_shape_nodes='PhysicalDistribute'""" sql 'set runtime_filter_mode=off' + sql 'set enable_fold_constant_by_be=true' + sql 'set debug_skip_fold_constant=false' + sql 'set disable_join_reorder=true' sql """ CREATE TABLE `test_pull_up_predicate_literal` ( @@ -50,9 +53,11 @@ suite("test_pull_up_predicate_literal") { ) tmp inner join test_pull_up_predicate_literal ds on tmp.col1 = ds.col1 and tmp.col2 = ds.col2; """ + qt_test_pull_up_literal1 """ + explain shape plan select * from test_pull_up_predicate_literal_view; + """ - - qt_test_pull_up_literal """explain shape plan select * from test_pull_up_predicate_literal_view where col1='abc' and col2='def';""" + qt_test_pull_up_literal2 """explain shape plan select * from test_pull_up_predicate_literal_view where col1='abc' and col2='def';""" qt_test_pull_up_literal_suquery """ explain shape plan SELECT * diff --git a/regression-test/suites/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.groovy b/regression-test/suites/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.groovy new file mode 100644 index 00000000000000..4afe59e2d316c4 --- /dev/null +++ b/regression-test/suites/nereids_rules_p0/infer_predicate/pull_up_predicate_set_op.groovy @@ -0,0 +1,469 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_pull_up_predicate_set_op") { + sql "set enable_nereids_planner=true" + sql "set enable_fallback_to_original_planner=false" + sql """SET ignore_shape_nodes='PhysicalDistribute,PhysicalProject'""" + sql 'set runtime_filter_mode=off' + sql 'set enable_fold_constant_by_be=true' + sql 'set debug_skip_fold_constant=false' + sql 'set disable_join_reorder=true' + + sql "drop table if exists test_pull_up_predicate_set_op1" + sql "drop table if exists test_pull_up_predicate_set_op2" + sql "drop table if exists test_pull_up_predicate_set_op3" + + sql """ + CREATE TABLE `test_pull_up_predicate_set_op1` ( + `a` INT NULL, + `b` VARCHAR(10) NULL, + `c` INT NULL, + `d` INT NULL + ) ENGINE=OLAP + DUPLICATE KEY(`a`, `b`) + DISTRIBUTED BY RANDOM BUCKETS AUTO + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + + sql """ + CREATE TABLE `test_pull_up_predicate_set_op2` ( + `a` INT NULL, + `b` VARCHAR(10) NULL, + `c` INT NULL, + `d` INT NULL + ) ENGINE=OLAP + DUPLICATE KEY(`a`, `b`) + DISTRIBUTED BY RANDOM BUCKETS AUTO + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + + sql """ + CREATE TABLE `test_pull_up_predicate_set_op3` ( + `a` INT NULL, + `b` VARCHAR(10) NULL, + `c` INT NULL, + `d` INT NULL + ) ENGINE=OLAP + DUPLICATE KEY(`a`, `b`) + DISTRIBUTED BY RANDOM BUCKETS AUTO + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + + sql """ + insert into test_pull_up_predicate_set_op1 values(1,'d2',3,5),(0,'d2',3,5),(-3,'d2',2,2),(-2,'d2',2,2); + """ + + sql """ + insert into test_pull_up_predicate_set_op2 values(1,'d2',2,2),(-3,'d2',2,2),(0,'d2',3,5); + """ + + sql """ + insert into test_pull_up_predicate_set_op3 values(1,'d2',2,2),(-2,'d2',2,2),(0,'d2',3,5); + """ + + sql "drop table if exists test_pull_up_predicate_set_op4" + sql "create table test_pull_up_predicate_set_op4(d_int int, d_char100 char(100), d_smallint smallint, d_tinyint tinyint, d_char10 char(10),d_datetimev2 datetimev2, d_datev2 datev2) properties('replication_num'='1');" + sql """insert into test_pull_up_predicate_set_op4 values(1,'01234567890123456789', 3,3,'0123456789','2020-01-09 10:00:00.99','2020-01-09'),(14,'01234567890123456789', 33,23,'0123456789','2020-01-11 10:00:00.99','2020-01-11') + ,(14,'01234567890123456789', 33,23,'2024-01-04','2020-01-11 10:00:00.99','2020-01-11'), + (14,'01234567890123456789', 33,23,'2024-01-03 10:00:00','2020-01-11 10:00:00.99','2020-01-11');""" + + qt_intersect """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_except """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 except select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_union """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_intersect_one_side_constant_one_side_column """ + explain shape plan + select t.a,t3.b from (select 1 as a,b from test_pull_up_predicate_set_op1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_intersect_one_side """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_intersect_one_side_no_filter """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 intersect select a,b from test_pull_up_predicate_set_op2 ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_except_first_no_filter """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 except select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_except_second_no_filter """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a>1 except select a,b from test_pull_up_predicate_set_op2 ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_except_no_filter """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 except select a,b from test_pull_up_predicate_set_op2 ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_union_different_filter """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<2 union all select a,b from test_pull_up_predicate_set_op2 where a<1) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_union_one_side_filter """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_union_with_const """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<1 union all select a,b from test_pull_up_predicate_set_op2 where a<1 union all select 2,2) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_union_all_const """explain shape plan + select t.a,t3.b from (select 133333 as a,'aa' as b union all select 2,'dd' ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b;""" + qt_union_all_const_tinyint_int """explain shape plan + select t.a,t3.b from (select 3 as a,'aa' as b union all select 2,'dd' ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b;""" + + qt_union_all_const_empty_relation """ explain shape plan select t.a,t3.b from (select 3 as a,'aa' as b from test_pull_up_predicate_set_op3 limit 0 offset 0 union all select 2,'dd' ) t + inner join test_pull_up_predicate_set_op3 t3 on t3.a=t.a and t3.b=t.b;""" + + qt_union_all_const2_has_cast_to_null_different_type """ explain shape plan + select t.a,t3.b from (select 3 as a,'aa' as b union all select 'abc','dd' ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; """ + + qt_union_all_const2_has_cast_to_null_different_type """ explain shape plan + select t.a,t3.b from (select 'abcd' as a,12 as b union all select 'abc','dd' ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; """ + qt_union_all_different_type_int_cast_to_char """ explain shape plan + select t.a,t3.b from (select 'abcd' as a,12 as b union all select 'abc','dd' ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b;""" + + qt_union_all_const_char3_char2 """explain shape plan + select t.a,t3.b from (select 3 as a,'aa' as b union all select 2,'dd' union all select 5,'aab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_union_child_and_const_exprs """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a in (1,2) union select a,b from test_pull_up_predicate_set_op2 where a in (1,2) union select 2,2 union select 2,2) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_union_child_and_const_exprs_andpredicates """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a in (1,2) and b in ('2d','3') union select 2,'2d' union select 2,'3') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_union_child_and_const_exprs_orpredicates """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a in (1,2) or b in ('2d','3') union select 2,'2d' union select 2,'3') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b;""" + + // test_different join type + qt_intersect_one_side_constant_one_side_column_left_join """ + explain shape plan + select t.a,t3.b from (select 1 as a,b from test_pull_up_predicate_set_op1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_except_second_no_filter_left_join """ + explain shape plan + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a>1 except select a,b from test_pull_up_predicate_set_op2 ) t left join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_union_left_join """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t left join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_union_right_join """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t right join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_intersect_one_side_constant_one_side_column_left_semi_join """ + explain shape plan + select t.a from (select 1 as a,b from test_pull_up_predicate_set_op1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t left semi join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_except_second_no_filter_right_semi_join """ + explain shape plan + select t3.b from (select a,b from test_pull_up_predicate_set_op1 where a>1 except select a,b from test_pull_up_predicate_set_op2 ) t right semi join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_union_left_anti_join """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t left anti join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_union_right_anti_join """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t right anti join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_union_all_const_full_join """explain shape plan + select t.a,t3.b from (select 133333 as a,'aa' as b union all select 2,'dd' ) t full outer join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b;""" + qt_union_all_const_tinyint_int_cross_join """explain shape plan + select t.a,t3.b from (select 3 as a,'aa' as b union all select 2,'dd' ) t cross join test_pull_up_predicate_set_op3 t3 + """ + + // join right is join or union + qt_intersect_union """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join + (select a,b from test_pull_up_predicate_set_op2 union all select a,b from test_pull_up_predicate_set_op2 ) t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_except_agg """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 except select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join + (select a,b from test_pull_up_predicate_set_op1 group by a,b) t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_union_cross_join """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t inner join + (select t1.a,t2.b from test_pull_up_predicate_set_op3 t1 cross join test_pull_up_predicate_set_op1 t2 ) t3 + on t3.a=t.a and t3.b=t.b; + """ + qt_union_inner_join """ + explain shape plan + select * from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t inner join + (select t1.a,t2.b from test_pull_up_predicate_set_op3 t1 inner join test_pull_up_predicate_set_op1 t2 on t1.a=t2.a ) t3 + on t3.a=t.a and t3.b=t.b; + """ + + qt_union_all_const_datetime """ + explain shape plan + select t.a from (select 12222222 as a,'2024-01-03 10:00:00' as b union all select 2,'2024-01-03') t inner join test_pull_up_predicate_set_op4 t3 + on t3.d_smallint=t.a and t3.d_datetimev2=t.b; + """ + qt_union_all_const_date """ + explain shape plan + select t.a from (select 12222222 as a,'2024-01-03 10:00:00' as b union all select 2,'2024-01-03') t inner join test_pull_up_predicate_set_op4 t3 + on t3.d_smallint=t.a and t3.d_datev2=t.b; + """ + qt_union_all_const_char100 """ + explain shape plan + select t.a from (select 12222222 as a,'2024-01-03 10:00:00' as b union all select 2,'2024-01-03') t inner join test_pull_up_predicate_set_op4 t3 + on t3.d_smallint=t.a and t3.d_char100=t.b; + """ + qt_union_all_const_char10 """ explain shape plan + select t.a,t3.d_char10 from (select 12222222 as a,'2024-01-03 10:00:00' as b union all select 2,'2024-01-04') t inner join test_pull_up_predicate_set_op4 t3 + on t3.d_char10=t.b;""" + + qt_union_all_and_project_pull_up """explain shape plan + select t.a,t3.b from (select 3 as a,b from test_pull_up_predicate_set_op3 union all select 3,b from test_pull_up_predicate_set_op3 ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b; + """ + // need pull up from agg support + qt_union_and_const """explain shape plan + select c2 from (select 2 id,'abc' c2 union select 1 ,'abbbb' c4 ) t inner join test_pull_up_predicate_set_op3 t2 on t.id=t2.a""" + + // test sql res + qt_intersect_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_except_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<1 except select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_union_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; """ + + qt_intersect_one_side_constant_one_side_column_res """ + select t.a,t3.b from (select 1 as a,b from test_pull_up_predicate_set_op1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + + qt_intersect_one_side_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + + qt_intersect_one_side_no_filter_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 intersect select a,b from test_pull_up_predicate_set_op2 ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + + qt_except_first_no_filter_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 except select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_except_second_no_filter_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a>1 except select a,b from test_pull_up_predicate_set_op2 ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_except_no_filter_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 except select a,b from test_pull_up_predicate_set_op2 ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + + qt_union_different_filter_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<2 union all select a,b from test_pull_up_predicate_set_op2 where a<1) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + + qt_union_one_side_filter_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + + qt_union_with_const_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<1 union all select a,b from test_pull_up_predicate_set_op2 where a<1 union all select 2,2) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + + qt_union_all_const_res """select t.a,t3.b from (select 133333 as a,'aa' as b union all select 2,'dd' ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b;""" + qt_union_all_const_tinyint_int_res """select t.a,t3.b from (select 3 as a,'aa' as b union all select 2,'dd' ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2;""" + + qt_union_all_const_empty_relation_res """ select t.a,t3.b from (select 3 as a,'aa' as b from test_pull_up_predicate_set_op3 limit 0 offset 0 union all select 2,'dd' ) t + inner join test_pull_up_predicate_set_op3 t3 on t3.a=t.a and t3.b=t.b order by 1,2;""" + + qt_union_all_const2_has_cast_to_null_different_type_res """ select t.a,t3.b from (select 3 as a,'aa' as b union all select 'abc','dd' ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; """ + + qt_union_all_const2_has_cast_to_null_different_type_res """ select t.a,t3.b from (select 'abcd' as a,12 as b union all select 'abc','dd' ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; """ + qt_union_all_different_type_int_cast_to_char_res """ select t.a,t3.b from (select 'abcd' as a,12 as b union all select 'abc','dd' ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2;""" + + qt_union_all_const_char3_char2_res """select t.a,t3.b from (select 3 as a,'aa' as b union all select 2,'dd' union all select 5,'aab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + + qt_intersect_one_side_constant_one_side_column_left_join_res """ + select t.a,t3.b from (select 1 as a,b from test_pull_up_predicate_set_op1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_except_second_no_filter_left_join_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a>1 except select a,b from test_pull_up_predicate_set_op2 ) t left join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_union_left_join_res """ + select t.a,t3.a from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t left join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_union_right_join_res """ + select t.a,t3.a from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t right join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + + qt_intersect_one_side_constant_one_side_column_left_semi_join_res """ + select t.a from (select 1 as a,b from test_pull_up_predicate_set_op1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t left semi join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1; + """ + qt_except_second_no_filter_right_semi_join_res """ + select t3.b from (select a,b from test_pull_up_predicate_set_op1 where a>1 except select a,b from test_pull_up_predicate_set_op2 ) t right semi join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1; + """ + qt_union_left_anti_join_res """ + select t.a,t.b from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t left anti join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_union_right_anti_join_res """ + select t3.a from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t right anti join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1; + """ + qt_union_all_const_full_join_res """select t.a,t3.b from (select 133333 as a,'aa' as b union all select 2,'dd' ) t full outer join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2;""" + qt_union_all_const_tinyint_int_cross_join_res """select t.a,t3.b from (select 3 as a,'aa' as b union all select 2,'dd' ) t cross join test_pull_up_predicate_set_op3 t3 order by 1,2 + """ + + qt_intersect_union_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<1 intersect select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join + (select a,b from test_pull_up_predicate_set_op2 union all select a,b from test_pull_up_predicate_set_op2 ) t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_except_agg_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<1 except select a,b from test_pull_up_predicate_set_op2 where b>'ab') t inner join + (select a,b from test_pull_up_predicate_set_op1 group by a,b) t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_union_cross_join_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t inner join + (select t1.a,t2.b from test_pull_up_predicate_set_op3 t1 cross join test_pull_up_predicate_set_op1 t2 ) t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_union_inner_join_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a<1 union select a,b from test_pull_up_predicate_set_op2 where a<1) t inner join + (select t1.a,t2.b from test_pull_up_predicate_set_op3 t1 inner join test_pull_up_predicate_set_op1 t2 on t1.a=t2.a ) t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + + qt_union_all_const_datetime_res """ + select t.a from (select 12222222 as a,'2024-01-03 10:00:00' as b union all select 2,'2024-01-03') t inner join test_pull_up_predicate_set_op4 t3 + on t3.d_smallint=t.a and t3.d_datetimev2=t.b order by 1; + """ + qt_union_all_const_date_res """ + select t.a from (select 12222222 as a,'2024-01-03 10:00:00' as b union all select 2,'2024-01-03') t inner join test_pull_up_predicate_set_op4 t3 + on t3.d_smallint=t.a and t3.d_datev2=t.b order by 1; + """ + qt_union_all_const_char100_res """ + select t.a from (select 12222222 as a,'2024-01-03 10:00:00' as b union all select 2,'2024-01-03') t inner join test_pull_up_predicate_set_op4 t3 + on t3.d_smallint=t.a and t3.d_char100=t.b order by 1; + """ + qt_union_all_const_char10_res """ select t.a,t3.d_char10 from (select 12222222 as a,'2024-01-03 10:00:00' as b union all select 2,'2024-01-04') t inner join test_pull_up_predicate_set_op4 t3 + on t3.d_char10=t.b order by 1,2;""" + + qt_union_all_and_project_pull_up_res """select t.a,t3.b from (select 3 as a,b from test_pull_up_predicate_set_op3 union all select 3,b from test_pull_up_predicate_set_op3 ) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + // need pull up from agg support + qt_union_and_const_res """select c2 from (select 2 id,'abc' c2 union select 1 ,'abbbb' c4 ) t inner join test_pull_up_predicate_set_op3 t2 on t.id=t2.a order by 1""" + + qt_union_child_and_const_exprs_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a in (1,2) union select a,b from test_pull_up_predicate_set_op2 where a in (1,2) union select 2,2 union select 2,2) t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_union_child_and_const_exprs_andpredicates_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a in (1,2) and b in ('2d','3') union select 2,'2d' union select 2,'3') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2; + """ + qt_union_child_and_const_exprs_orpredicates_res """ + select t.a,t3.b from (select a,b from test_pull_up_predicate_set_op1 where a in (1,2) or b in ('2d','3') union select 2,'2d' union select 2,'3') t inner join test_pull_up_predicate_set_op3 t3 + on t3.a=t.a and t3.b=t.b order by 1,2;""" +} \ No newline at end of file diff --git a/regression-test/suites/nereids_rules_p0/infer_set_operator_distinct/infer_set_operator_distinct.groovy b/regression-test/suites/nereids_rules_p0/infer_set_operator_distinct/infer_set_operator_distinct.groovy index 9c33f5a9f45312..d29bac550fa6e3 100644 --- a/regression-test/suites/nereids_rules_p0/infer_set_operator_distinct/infer_set_operator_distinct.groovy +++ b/regression-test/suites/nereids_rules_p0/infer_set_operator_distinct/infer_set_operator_distinct.groovy @@ -22,7 +22,6 @@ suite("infer_set_operator_distinct") { sql "set disable_nereids_rules=PRUNE_EMPTY_PARTITION" sql "set enable_parallel_result_sink=false;" - sql """ DROP TABLE IF EXISTS t1; """ From 8e513ff78eb35acc129cb1707e986409725b9c36 Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Thu, 5 Sep 2024 12:14:31 +0800 Subject: [PATCH 056/199] [fix](memory) Fix conf `max_sys_mem_available_low_water_mark_bytes` (#39962) If users cannot understand the algorithm, it is better not to have it. --- be/src/common/config.cpp | 7 ++++++- be/src/common/config.h | 8 ++++---- be/src/util/mem_info.cpp | 12 ++++++------ 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp index 67a12fc02f1d70..5b3880320eeb30 100644 --- a/be/src/common/config.cpp +++ b/be/src/common/config.cpp @@ -120,7 +120,12 @@ DEFINE_mInt32(max_fill_rate, "2"); DEFINE_mInt32(double_resize_threshold, "23"); -DEFINE_Int64(max_sys_mem_available_low_water_mark_bytes, "6871947673"); +// The maximum low water mark of the system `/proc/meminfo/MemAvailable`, Unit byte, default -1. +// if it is -1, then low water mark = min(MemTotal - MemLimit, MemTotal * 5%), which is 3.2G on a 64G machine. +// Turn up max. more memory buffers will be reserved for Memory GC. +// Turn down max. will use as much memory as possible. +// note that: `max_` prefix should be removed, but keep it for compatibility. +DEFINE_Int64(max_sys_mem_available_low_water_mark_bytes, "-1"); DEFINE_Int64(memtable_limiter_reserved_memory_bytes, "838860800"); diff --git a/be/src/common/config.h b/be/src/common/config.h index f381abca4bcf63..258c3b385b915b 100644 --- a/be/src/common/config.h +++ b/be/src/common/config.h @@ -159,11 +159,11 @@ DECLARE_mInt32(max_fill_rate); DECLARE_mInt32(double_resize_threshold); -// The maximum low water mark of the system `/proc/meminfo/MemAvailable`, Unit byte, default 6.4G, -// actual low water mark=min(6.4G, MemTotal * 5%), avoid wasting too much memory on machines -// with large memory larger than 128G. -// Turn up max. On machines with more than 128G memory, more memory buffers will be reserved for Full GC. +// The maximum low water mark of the system `/proc/meminfo/MemAvailable`, Unit byte, default -1. +// if it is -1, then low water mark = min(MemTotal - MemLimit, MemTotal * 5%), which is 3.2G on a 64G machine. +// Turn up max. more memory buffers will be reserved for Memory GC. // Turn down max. will use as much memory as possible. +// note that: `max_` prefix should be removed, but keep it for compatibility. DECLARE_Int64(max_sys_mem_available_low_water_mark_bytes); // reserve a small amount of memory so we do not trigger MinorGC diff --git a/be/src/util/mem_info.cpp b/be/src/util/mem_info.cpp index 8be1db5cb8559c..d98cd2a3664595 100644 --- a/be/src/util/mem_info.cpp +++ b/be/src/util/mem_info.cpp @@ -320,12 +320,12 @@ void MemInfo::init() { // https://serverfault.com/questions/940196/why-is-memavailable-a-lot-less-than-memfreebufferscached // https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 // - // upper sys_mem_available_low_water_mark, avoid wasting too much memory. - _s_sys_mem_available_low_water_mark = std::max( - std::min(std::min(_s_physical_mem - _s_mem_limit, - int64_t(_s_physical_mem * 0.05)), - config::max_sys_mem_available_low_water_mark_bytes), - 0); + // smaller sys_mem_available_low_water_mark can avoid wasting too much memory. + _s_sys_mem_available_low_water_mark = + config::max_sys_mem_available_low_water_mark_bytes != -1 + ? config::max_sys_mem_available_low_water_mark_bytes + : std::min(_s_physical_mem - _s_mem_limit, + int64_t(_s_physical_mem * 0.05)); _s_sys_mem_available_warning_water_mark = _s_sys_mem_available_low_water_mark * 2; } From a2d488b7eb100704079d16012779330e7c5f33bd Mon Sep 17 00:00:00 2001 From: qiye Date: Thu, 5 Sep 2024 14:04:55 +0800 Subject: [PATCH 057/199] [fix](ES Catalog)Do not extract doc_values of field with ignore_above setting (#40314) --- .../elasticsearch/scripts/data/data4_es6.json | 32 +++ .../elasticsearch/scripts/data/data5.json | 35 ++- .../elasticsearch/scripts/data/data6.json | 4 + .../elasticsearch/scripts/es_init.sh | 8 +- .../scripts/index/es6_test1.json | 5 +- .../scripts/index/es7_test1.json | 5 +- .../org/apache/doris/catalog/EsTable.java | 7 +- .../doris/datasource/es/MappingPhase.java | 21 ++ .../external_table_p0/es/test_es_query.out | 253 +++++++++++++----- .../es/test_es_query_nereids.out | 40 +-- regression-test/data/mtmv_p0/test_es_mtmv.out | 2 + .../external_table_p0/es/test_es_query.groovy | 26 +- 12 files changed, 319 insertions(+), 119 deletions(-) create mode 100755 docker/thirdparties/docker-compose/elasticsearch/scripts/data/data4_es6.json create mode 100755 docker/thirdparties/docker-compose/elasticsearch/scripts/data/data6.json diff --git a/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data4_es6.json b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data4_es6.json new file mode 100755 index 00000000000000..b639879bab8b8d --- /dev/null +++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data4_es6.json @@ -0,0 +1,32 @@ +{ + "test1": "string_ignore_above_10", + "test2": "text_ignore_above_10", + "test3": 5.0, + "test4": "2022-08-08", + "test5": 3333.22, + "test6": "2022-08-08T12:10:10.151", + "c_bool": [true, false, true, true], + "c_byte": [1, -2, -3, 4], + "c_short": [128, 129, -129, -130], + "c_integer": [32768, 32769, -32769, -32770], + "c_long": [-1, 0, 1, 2], + "c_unsigned_long": [0, 1, 2, 3], + "c_float": [1.0, 1.1, 1.2, 1.3], + "c_half_float": [1, 2, 3, 4], + "c_double": [1, 2, 3, 4], + "c_scaled_float": [1, 2, 3, 4], + "c_date": ["2020-01-01", "2020-01-02"], + "c_datetime": ["2020-01-01 12:00:00", "2020-01-02 13:01:01"], + "c_keyword": ["a", "b", "c"], + "c_text": ["d", "e", "f"], + "c_ip": ["192.168.0.1", "127.0.0.1"], + "c_person": [ + {"name": "Andy", "age": 18}, + {"name": "Tim", "age": 28} + ], + "message": "I'm not null or empty", + "c_user": [ + {"first": "John", "last": "Smith"}, + {"first": "Alice", "last": "White"} + ] +} diff --git a/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data5.json b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data5.json index 3d8852a52847f1..3970c8d94126a7 100755 --- a/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data5.json +++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data5.json @@ -1,4 +1,35 @@ { - "field1": "value1", - "field2": "value2" + "test1": "string_ignore_above_10", + "test2": "text_ignore_above_10", + "test3": 6.0, + "test4": "2022-08-08", + "test5": "2022-08-11 12:10:10", + "test6": 1660191010000, + "test7": "2022-08-11 12:10:10", + "test8": "2022-08-11T12:10:10+09:00", + "test9": "4444.22", + "test10": "2022-08-08T12:10:10.151", + "c_bool": [true, false, true, true], + "c_byte": [1, -2, -3, 4], + "c_short": [128, 129, -129, -130], + "c_integer": [32768, 32769, -32769, -32770], + "c_long": [-1, 0, 1, 2], + "c_unsigned_long": [0, 1, 2, 3], + "c_float": [1.0, 1.1, 1.2, 1.3], + "c_half_float": [1, 2, 3, 4], + "c_double": [1, 2, 3, 4], + "c_scaled_float": [1, 2, 3, 4], + "c_date": ["2020-01-01", "2020-01-02"], + "c_datetime": ["2020-01-01 12:00:00", "2020-01-02 13:01:01"], + "c_keyword": ["a", "b", "c"], + "c_text": ["d", "e", "f"], + "c_ip": ["192.168.0.1", "127.0.0.1"], + "c_person": [ + {"name": "Andy", "age": 18}, + {"name": "Tim", "age": 28} + ], + "c_user": [ + {"first": "John", "last": "Smith"}, + {"first": "Alice", "last": "White"} + ] } diff --git a/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data6.json b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data6.json new file mode 100755 index 00000000000000..3d8852a52847f1 --- /dev/null +++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data6.json @@ -0,0 +1,4 @@ +{ + "field1": "value1", + "field2": "value2" +} diff --git a/docker/thirdparties/docker-compose/elasticsearch/scripts/es_init.sh b/docker/thirdparties/docker-compose/elasticsearch/scripts/es_init.sh index 258c6c83ef5a37..0e0d5a96d3a945 100755 --- a/docker/thirdparties/docker-compose/elasticsearch/scripts/es_init.sh +++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/es_init.sh @@ -53,6 +53,7 @@ curl "http://${ES_5_HOST}:9200/test1/doc/1" -H "Content-Type:application/json" - curl "http://${ES_5_HOST}:9200/test1/doc/2" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2_es6.json' # only difference between es5 and es6 curl "http://${ES_5_HOST}:9200/test1/doc/3" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data3_es5.json' +curl "http://${ES_5_HOST}:9200/test1/doc/4" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data4_es6.json' # put data for test2_20220808 curl "http://${ES_5_HOST}:9200/test2_20220808/doc/1" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data1_es6.json' curl "http://${ES_5_HOST}:9200/test2_20220808/doc/2" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2_es6.json' @@ -88,6 +89,7 @@ curl "http://${ES_6_HOST}:9200/test2_20220809" -H "Content-Type:application/json curl "http://${ES_6_HOST}:9200/test1/doc/1" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data1_es6.json' curl "http://${ES_6_HOST}:9200/test1/doc/2" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2_es6.json' curl "http://${ES_6_HOST}:9200/test1/doc/3" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data3_es6.json' +curl "http://${ES_6_HOST}:9200/test1/doc/4" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data4_es6.json' # put data for test2_20220808 curl "http://${ES_6_HOST}:9200/test2_20220808/doc/1" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data1_es6.json' curl "http://${ES_6_HOST}:9200/test2_20220808/doc/2" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2_es6.json' @@ -125,6 +127,7 @@ curl "http://${ES_7_HOST}:9200/test1/_doc/1" -H "Content-Type:application/json" curl "http://${ES_7_HOST}:9200/test1/_doc/2" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2.json' curl "http://${ES_7_HOST}:9200/test1/_doc/3" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data3.json' curl "http://${ES_7_HOST}:9200/test1/_doc/4" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data4.json' +curl "http://${ES_7_HOST}:9200/test1/_doc/5" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data5.json' # put data for test2_20220808 curl "http://${ES_7_HOST}:9200/test2_20220808/_doc/1" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data1.json' curl "http://${ES_7_HOST}:9200/test2_20220808/_doc/2" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2.json' @@ -136,7 +139,7 @@ curl "http://${ES_7_HOST}:9200/test2_20220809/_doc/2" -H "Content-Type:applicati curl "http://${ES_7_HOST}:9200/test2_20220809/_doc/3" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data3.json' curl "http://${ES_7_HOST}:9200/test2_20220809/_doc/4" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data4.json' # put data for test3_20231005 -curl "http://${ES_7_HOST}:9200/test3_20231005/_doc/1" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data5.json' +curl "http://${ES_7_HOST}:9200/test3_20231005/_doc/1" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data6.json' # put _meta for array curl "http://${ES_7_HOST}:9200/test1/_mapping" -H "Content-Type:application/json" -X PUT -d "@/mnt/scripts/index/array_meta.json" @@ -170,6 +173,7 @@ curl "http://${ES_8_HOST}:9200/test1/_doc/1" -H "Content-Type:application/json" curl "http://${ES_8_HOST}:9200/test1/_doc/2" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2.json' curl "http://${ES_8_HOST}:9200/test1/_doc/3" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data3.json' curl "http://${ES_8_HOST}:9200/test1/_doc/4" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data4.json' +curl "http://${ES_8_HOST}:9200/test1/_doc/5" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data5.json' # put data for test2_20220808 curl "http://${ES_8_HOST}:9200/test2_20220808/_doc/1" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data1.json' curl "http://${ES_8_HOST}:9200/test2_20220808/_doc/2" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2.json' @@ -181,7 +185,7 @@ curl "http://${ES_8_HOST}:9200/test2_20220809/_doc/2" -H "Content-Type:applicati curl "http://${ES_8_HOST}:9200/test2_20220809/_doc/3" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data3.json' curl "http://${ES_8_HOST}:9200/test2_20220809/_doc/4" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data4.json' # put data for test3_20231005 -curl "http://${ES_8_HOST}:9200/test3_20231005/_doc/1" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data5.json' +curl "http://${ES_8_HOST}:9200/test3_20231005/_doc/1" -H "Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data6.json' # put _meta for array curl "http://${ES_8_HOST}:9200/test1/_mapping" -H "Content-Type:application/json" -X PUT -d "@/mnt/scripts/index/array_meta.json" diff --git a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_test1.json b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_test1.json index ffcc857dd5e7ae..cfe83d127f2e3d 100755 --- a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_test1.json +++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_test1.json @@ -7,14 +7,15 @@ "doc": { "properties": { "test1": { - "type": "keyword" + "type": "keyword", + "ignore_above": 10 }, "test2": { "type": "text", "fields": { "keyword": { "type": "keyword", - "ignore_above": 256 + "ignore_above": 10 } } }, diff --git a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_test1.json b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_test1.json index c3549baa9f80c6..a9da64e9a5df35 100755 --- a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_test1.json +++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_test1.json @@ -6,14 +6,15 @@ "mappings": { "properties": { "test1": { - "type": "keyword" + "type": "keyword", + "ignore_above": 10 }, "test2": { "type": "text", "fields": { "keyword": { "type": "keyword", - "ignore_above": 256 + "ignore_above": 10 } } }, diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java index 1c28382b61ed3a..83b49475a095d2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java @@ -39,7 +39,7 @@ import java.io.DataInput; import java.io.IOException; -import java.util.Collections; +import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -52,7 +52,10 @@ @Getter @Setter public class EsTable extends Table implements GsonPostProcessable { - public static final Set DEFAULT_DOCVALUE_DISABLED_FIELDS = new HashSet<>(Collections.singletonList("text")); + // reference: https://www.elastic.co/guide/en/elasticsearch/reference/current/doc-values.html + // https://www.elastic.co/guide/en/elasticsearch/reference/current/text.html + public static final Set DEFAULT_DOCVALUE_DISABLED_FIELDS = + new HashSet<>(Arrays.asList("text", "annotated_text", "match_only_text")); private static final Logger LOG = LogManager.getLogger(EsTable.class); // Solr doc_values vs stored_fields performance-smackdown indicate: diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/es/MappingPhase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/MappingPhase.java index 70941397e2514c..9e14f2721269f3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/es/MappingPhase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/MappingPhase.java @@ -130,6 +130,16 @@ private static void resolveDocValuesFields(SearchContext searchContext, ObjectNo if (docValue) { docValueField = colName; } + } else if (innerTypeObject.has("ignore_above")) { + // reference: + // https://www.elastic.co/guide/en/elasticsearch/reference/current/keyword.html#keyword-params + // > ignore_above + // > Do not index any string longer than this value. Defaults to 2147483647 so that all values + // > would be accepted. Please however note that default dynamic mapping rules create a sub + // > keyword field that overrides this default by setting ignore_above: 256. + // this field has `ignore_above` param + // Strings longer than the ignore_above setting will not be indexed or stored + // so we cannot rely on its doc_values } else { // a : {c : {}} -> a -> a.c docValueField = colName + "." + fieldName; @@ -146,6 +156,17 @@ private static void resolveDocValuesFields(SearchContext searchContext, ObjectNo } else if (fieldType == null || "nested".equals(fieldType)) { // The object field has no type, and nested not support doc value. return; + } else if (fieldObject.has("ignore_above")) { + // reference: + // https://www.elastic.co/guide/en/elasticsearch/reference/current/keyword.html#keyword-params + // > ignore_above + // > Do not index any string longer than this value. Defaults to 2147483647 so that all values + // > would be accepted. Please however note that default dynamic mapping rules create a sub + // > keyword field that overrides this default by setting ignore_above: 256. + // this field has `ignore_above` param + // Strings longer than the ignore_above setting will not be indexed or stored + // so we cannot rely on its doc_values + return; } docValueField = colName; } diff --git a/regression-test/data/external_table_p0/es/test_es_query.out b/regression-test/data/external_table_p0/es/test_es_query.out index 1e103748dc44c2..ba0c87245a10da 100644 --- a/regression-test/data/external_table_p0/es/test_es_query.out +++ b/regression-test/data/external_table_p0/es/test_es_query.out @@ -10,6 +10,7 @@ 2022-08-08 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-08 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T04:10:10 2022-08-10T20:10:10 2022-08-08 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 +2022-08-08 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 -- !sql04 -- I'm not null or empty @@ -21,6 +22,7 @@ I'm not null or empty -- !sql06 -- \N \N +\N I'm not null or empty @@ -29,73 +31,28 @@ I'm not null or empty ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string2 [1, 2, 3, 4] 2022-08-08 2022-08-09T12:10:10 text2 ["2020-01-01", "2020-01-02"] 4.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string3 [1, 2, 3, 4] 2022-08-08 2022-08-10T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 5.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] I'm not null or empty [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string4 [1, 2, 3, 4] 2022-08-08 2022-08-11T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 6.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] +["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string_ignore_above_10 [1, 2, 3, 4] 2022-08-08 2022-08-11T12:10:10 text_ignore_above_10 ["2020-01-01", "2020-01-02"] 6.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] -- !sql08 -- [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" - --- !sql20 -- -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] - --- !sql21 -- -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] - --- !sql22 -- -2022-08-08 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T04:10:10 2022-08-08T20:10:10 -2022-08-08 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 -2022-08-08 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T04:10:10 2022-08-10T20:10:10 -2022-08-08 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 - --- !sql23 -- -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string2 [1, 2, 3, 4] 2022-08-08 2022-08-09T12:10:10 text2 ["2020-01-01", "2020-01-02"] 4.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string3 [1, 2, 3, 4] 2022-08-08 2022-08-10T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 5.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string4 [1, 2, 3, 4] 2022-08-08 2022-08-11T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 6.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] - --- !sql24 -- -[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" --- !sql01 -- -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] - --- !sql02 -- -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] +-- !sql09 -- +string1 +string2 +string3 +string4 +string_ignore_above_10 --- !sql03 -- -2022-08-08 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T04:10:10 2022-08-08T20:10:10 -2022-08-08 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 -2022-08-08 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T04:10:10 2022-08-10T20:10:10 -2022-08-08 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 - --- !sql04 -- -I'm not null or empty - --- !sql05 -- - -I'm not null or empty - --- !sql06 -- -\N -\N - -I'm not null or empty - --- !sql07 -- -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string2 [1, 2, 3, 4] 2022-08-08 2022-08-09T12:10:10 text2 ["2020-01-01", "2020-01-02"] 4.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string3 [1, 2, 3, 4] 2022-08-08 2022-08-10T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 5.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] I'm not null or empty [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] -["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string4 [1, 2, 3, 4] 2022-08-08 2022-08-11T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 6.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] - --- !sql08 -- -[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +-- !sql10 -- +text#1 +text2 +text3_4*5 +text3_4*5 +text_ignore_above_10 -- !sql20 -- ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] @@ -108,18 +65,21 @@ I'm not null or empty 2022-08-08 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-08 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T04:10:10 2022-08-10T20:10:10 2022-08-08 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 +2022-08-08 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 -- !sql23 -- ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string2 [1, 2, 3, 4] 2022-08-08 2022-08-09T12:10:10 text2 ["2020-01-01", "2020-01-02"] 4.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string3 [1, 2, 3, 4] 2022-08-08 2022-08-10T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 5.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string4 [1, 2, 3, 4] 2022-08-08 2022-08-11T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 6.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] +["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string_ignore_above_10 [1, 2, 3, 4] 2022-08-08 2022-08-11T12:10:10 text_ignore_above_10 ["2020-01-01", "2020-01-02"] 6.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] -- !sql24 -- [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -- !sql_5_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 @@ -136,6 +96,7 @@ I'm not null or empty true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} +true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} -- !sql_5_06 -- true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} @@ -149,6 +110,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] +[1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] -- !sql_5_09 -- [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] @@ -175,23 +137,28 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. -- !sql_5_16 -- I'm not null or empty +I'm not null or empty -- !sql_5_17 -- +I'm not null or empty I'm not null or empty -- !sql_5_18 -- I'm not null or empty +I'm not null or empty -- !sql_5_19 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] string2 text2 4.0 2022-08-08T00:00 2222 2022-08-08T12:10:10 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] I'm not null or empty string3 text3_4*5 5.0 2022-08-08T00:00 3333 2022-08-08T20:10:10 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] I'm not null or empty string_ignore_above_10 text_ignore_above_10 5.0 2022-08-08T00:00 3333 2022-08-08T20:10:10 -- !sql_5_20 -- [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -- !sql_5_21 -- 2022-08-08T20:10:10 2022-08-08 20 @@ -203,6 +170,18 @@ I'm not null or empty 2022-08-08T12:10:10 2022-08-08 12 2022-08-08T12:10:10 2022-08-08 12 +-- !sql_5_23 -- +string1 +string2 +string3 +string_ignore_above_10 + +-- !sql_5_24 -- +text#1 +text2 +text3_4*5 +text_ignore_above_10 + -- !sql_6_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 @@ -218,6 +197,7 @@ I'm not null or empty true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} +true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} -- !sql_6_06 -- true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} @@ -231,6 +211,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] +[1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] -- !sql_6_09 -- [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] @@ -257,23 +238,28 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. -- !sql_6_16 -- I'm not null or empty +I'm not null or empty -- !sql_6_17 -- +I'm not null or empty I'm not null or empty -- !sql_6_18 -- I'm not null or empty +I'm not null or empty -- !sql_6_19 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] string2 text2 4.0 2022-08-08T00:00 2222 2022-08-08T12:10:10 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] I'm not null or empty string3 text3_4*5 5.0 2022-08-08T00:00 3333 2022-08-08T20:10:10 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] I'm not null or empty string_ignore_above_10 text_ignore_above_10 5.0 2022-08-08T00:00 3333 2022-08-08T20:10:10 -- !sql_6_20 -- [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -- !sql_6_21 -- 2022-08-08T20:10:10 2022-08-08 20 @@ -285,6 +271,18 @@ I'm not null or empty 2022-08-08T12:10:10 2022-08-08 12 2022-08-08T12:10:10 2022-08-08 12 +-- !sql_6_23 -- +string1 +string2 +string3 +string_ignore_above_10 + +-- !sql_6_24 -- +text#1 +text2 +text3_4*5 +text_ignore_above_10 + -- !sql_7_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 @@ -302,6 +300,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} +true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} -- !sql_7_06 -- true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} @@ -321,6 +320,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] +[1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] -- !sql_7_09 -- [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] @@ -374,12 +374,14 @@ I'm not null or empty -- !sql_7_23 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string4 2022-08-08T20:10:10 text3_4*5 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string_ignore_above_10 2022-08-08T20:10:10 text_ignore_above_10 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N string2 2022-08-08T12:10:10 text2 4.0 2022-08-08T00:00 2022-08-09T12:10:10 1660018210000 2022-08-09T12:10:10 2022-08-09T12:10:10 2222 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N I'm not null or empty \N string3 2022-08-09T00:40:10 text3_4*5 5.0 2022-08-08T00:00 2022-08-10T12:10:10 1660104610000 2022-08-10T12:10:10 2022-08-10T20:10:10 3333 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 -- !sql_7_24 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string4 2022-08-08T20:10:10 text3_4*5 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string_ignore_above_10 2022-08-08T20:10:10 text_ignore_above_10 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N string2 2022-08-08T12:10:10 text2 4.0 2022-08-08T00:00 2022-08-09T12:10:10 1660018210000 2022-08-09T12:10:10 2022-08-09T12:10:10 2222 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N I'm not null or empty \N string3 2022-08-09T00:40:10 text3_4*5 5.0 2022-08-08T00:00 2022-08-10T12:10:10 1660104610000 2022-08-10T12:10:10 2022-08-10T20:10:10 3333 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 @@ -389,6 +391,7 @@ I'm not null or empty [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -- !sql_7_26 -- 2022-08-08T04:10:10 2022-08-08 @@ -406,7 +409,21 @@ I'm not null or empty 2022-08-11T12:10:10 2022-08-11 2022-08-11T12:10:10 2022-08-11 --- !sql_7_26 -- +-- !sql_7_30 -- +string1 +string2 +string3 +string4 +string_ignore_above_10 + +-- !sql_7_31 -- +text#1 +text2 +text3_4*5 +text3_4*5 +text_ignore_above_10 + +-- !sql_7_50 -- value1 value2 -- !sql_8_01 -- @@ -423,6 +440,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} +true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} -- !sql_8_04 -- true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} @@ -442,6 +460,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] +[1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] -- !sql_8_07 -- [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] @@ -495,12 +514,14 @@ I'm not null or empty -- !sql_8_21 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string4 2022-08-08T20:10:10 text3_4*5 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string_ignore_above_10 2022-08-08T20:10:10 text_ignore_above_10 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N string2 2022-08-08T12:10:10 text2 4.0 2022-08-08T00:00 2022-08-09T12:10:10 1660018210000 2022-08-09T12:10:10 2022-08-09T12:10:10 2222 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N I'm not null or empty \N string3 2022-08-09T00:40:10 text3_4*5 5.0 2022-08-08T00:00 2022-08-10T12:10:10 1660104610000 2022-08-10T12:10:10 2022-08-10T20:10:10 3333 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 -- !sql_8_22 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string4 2022-08-08T20:10:10 text3_4*5 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string_ignore_above_10 2022-08-08T20:10:10 text_ignore_above_10 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N string2 2022-08-08T12:10:10 text2 4.0 2022-08-08T00:00 2022-08-09T12:10:10 1660018210000 2022-08-09T12:10:10 2022-08-09T12:10:10 2222 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N I'm not null or empty \N string3 2022-08-09T00:40:10 text3_4*5 5.0 2022-08-08T00:00 2022-08-10T12:10:10 1660104610000 2022-08-10T12:10:10 2022-08-10T20:10:10 3333 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 @@ -510,6 +531,7 @@ I'm not null or empty [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -- !sql_8_24 -- 2022-08-08T04:10:10 2022-08-08 @@ -527,6 +549,20 @@ I'm not null or empty 2022-08-11T12:10:10 2022-08-11 2022-08-11T12:10:10 2022-08-11 +-- !sql_8_28 -- +string1 +string2 +string3 +string4 +string_ignore_above_10 + +-- !sql_8_29 -- +text#1 +text2 +text3_4*5 +text3_4*5 +text_ignore_above_10 + -- !sql01 -- ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] @@ -538,6 +574,7 @@ I'm not null or empty 2022-08-08 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-08 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T04:10:10 2022-08-10T20:10:10 2022-08-08 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 +2022-08-08 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 -- !sql04 -- I'm not null or empty @@ -549,6 +586,7 @@ I'm not null or empty -- !sql06 -- \N \N +\N I'm not null or empty @@ -557,12 +595,28 @@ I'm not null or empty ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string2 [1, 2, 3, 4] 2022-08-08 2022-08-09T12:10:10 text2 ["2020-01-01", "2020-01-02"] 4.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string3 [1, 2, 3, 4] 2022-08-08 2022-08-10T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 5.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] I'm not null or empty [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string4 [1, 2, 3, 4] 2022-08-08 2022-08-11T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 6.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] +["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string_ignore_above_10 [1, 2, 3, 4] 2022-08-08 2022-08-11T12:10:10 text_ignore_above_10 ["2020-01-01", "2020-01-02"] 6.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] -- !sql08 -- [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" + +-- !sql09 -- +string1 +string2 +string3 +string4 +string_ignore_above_10 + +-- !sql10 -- +text#1 +text2 +text3_4*5 +text3_4*5 +text_ignore_above_10 -- !sql20 -- ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] @@ -575,18 +629,21 @@ I'm not null or empty 2022-08-08 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-08 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T04:10:10 2022-08-10T20:10:10 2022-08-08 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 +2022-08-08 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 -- !sql23 -- ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string2 [1, 2, 3, 4] 2022-08-08 2022-08-09T12:10:10 text2 ["2020-01-01", "2020-01-02"] 4.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-09T12:10:10 2022-08-09T12:10:10 2022-08-09T12:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string3 [1, 2, 3, 4] 2022-08-08 2022-08-10T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 5.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-10T12:10:10 2022-08-10T12:10:10 2022-08-10T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string4 [1, 2, 3, 4] 2022-08-08 2022-08-11T12:10:10 text3_4*5 ["2020-01-01", "2020-01-02"] 6.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] +["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string_ignore_above_10 [1, 2, 3, 4] 2022-08-08 2022-08-11T12:10:10 text_ignore_above_10 ["2020-01-01", "2020-01-02"] 6.0 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-11T12:10:10 2022-08-11T12:10:10 2022-08-11T11:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] -- !sql24 -- [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -- !sql_5_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 @@ -603,6 +660,7 @@ I'm not null or empty true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} +true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} -- !sql_5_06 -- true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} @@ -616,6 +674,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] +[1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] -- !sql_5_09 -- [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] @@ -642,23 +701,28 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. -- !sql_5_16 -- I'm not null or empty +I'm not null or empty -- !sql_5_17 -- +I'm not null or empty I'm not null or empty -- !sql_5_18 -- I'm not null or empty +I'm not null or empty -- !sql_5_19 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] string2 text2 4.0 2022-08-08T00:00 2222 2022-08-08T12:10:10 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] I'm not null or empty string3 text3_4*5 5.0 2022-08-08T00:00 3333 2022-08-08T20:10:10 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] I'm not null or empty string_ignore_above_10 text_ignore_above_10 5.0 2022-08-08T00:00 3333 2022-08-08T20:10:10 -- !sql_5_20 -- [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -- !sql_5_21 -- 2022-08-08T20:10:10 2022-08-08 20 @@ -670,6 +734,18 @@ I'm not null or empty 2022-08-08T12:10:10 2022-08-08 12 2022-08-08T12:10:10 2022-08-08 12 +-- !sql_5_23 -- +string1 +string2 +string3 +string_ignore_above_10 + +-- !sql_5_24 -- +text#1 +text2 +text3_4*5 +text_ignore_above_10 + -- !sql_6_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 @@ -685,6 +761,7 @@ I'm not null or empty true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} +true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} -- !sql_6_06 -- true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} @@ -698,6 +775,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] +[1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] -- !sql_6_09 -- [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] @@ -724,23 +802,28 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. -- !sql_6_16 -- I'm not null or empty +I'm not null or empty -- !sql_6_17 -- +I'm not null or empty I'm not null or empty -- !sql_6_18 -- I'm not null or empty +I'm not null or empty -- !sql_6_19 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] string2 text2 4.0 2022-08-08T00:00 2222 2022-08-08T12:10:10 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] I'm not null or empty string3 text3_4*5 5.0 2022-08-08T00:00 3333 2022-08-08T20:10:10 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] I'm not null or empty string_ignore_above_10 text_ignore_above_10 5.0 2022-08-08T00:00 3333 2022-08-08T20:10:10 -- !sql_6_20 -- [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -- !sql_6_21 -- 2022-08-08T20:10:10 2022-08-08 20 @@ -752,6 +835,18 @@ I'm not null or empty 2022-08-08T12:10:10 2022-08-08 12 2022-08-08T12:10:10 2022-08-08 12 +-- !sql_6_23 -- +string1 +string2 +string3 +string_ignore_above_10 + +-- !sql_6_24 -- +text#1 +text2 +text3_4*5 +text_ignore_above_10 + -- !sql_7_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 @@ -769,6 +864,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} +true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} -- !sql_7_06 -- true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} @@ -788,6 +884,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] +[1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] -- !sql_7_09 -- [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] @@ -841,12 +938,14 @@ I'm not null or empty -- !sql_7_23 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string4 2022-08-08T20:10:10 text3_4*5 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string_ignore_above_10 2022-08-08T20:10:10 text_ignore_above_10 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N string2 2022-08-08T12:10:10 text2 4.0 2022-08-08T00:00 2022-08-09T12:10:10 1660018210000 2022-08-09T12:10:10 2022-08-09T12:10:10 2222 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N I'm not null or empty \N string3 2022-08-09T00:40:10 text3_4*5 5.0 2022-08-08T00:00 2022-08-10T12:10:10 1660104610000 2022-08-10T12:10:10 2022-08-10T20:10:10 3333 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 -- !sql_7_24 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string4 2022-08-08T20:10:10 text3_4*5 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string_ignore_above_10 2022-08-08T20:10:10 text_ignore_above_10 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N string2 2022-08-08T12:10:10 text2 4.0 2022-08-08T00:00 2022-08-09T12:10:10 1660018210000 2022-08-09T12:10:10 2022-08-09T12:10:10 2222 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N I'm not null or empty \N string3 2022-08-09T00:40:10 text3_4*5 5.0 2022-08-08T00:00 2022-08-10T12:10:10 1660104610000 2022-08-10T12:10:10 2022-08-10T20:10:10 3333 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 @@ -856,6 +955,7 @@ I'm not null or empty [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -- !sql_7_26 -- 2022-08-08T04:10:10 2022-08-08 @@ -873,7 +973,21 @@ I'm not null or empty 2022-08-11T12:10:10 2022-08-11 2022-08-11T12:10:10 2022-08-11 --- !sql_7_26 -- +-- !sql_7_30 -- +string1 +string2 +string3 +string4 +string_ignore_above_10 + +-- !sql_7_31 -- +text#1 +text2 +text3_4*5 +text3_4*5 +text_ignore_above_10 + +-- !sql_7_50 -- value1 value2 -- !sql_8_01 -- @@ -890,6 +1004,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} +true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} -- !sql_8_04 -- true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0.1 {"name":"Andy","age":18} @@ -909,6 +1024,7 @@ true 1 128 32768 -1 0 1.0 1.0 1.0 1.0 2020-01-01 2020-01-01T12:00 a d 192.168.0. [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] +[1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] -- !sql_8_07 -- [1, 0, 1, 1] [1, -2, -3, 4] [128, 129, -129, -130] [32768, 32769, -32769, -32770] [-1, 0, 1, 2] [0, 1, 2, 3] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] ["a", "b", "c"] ["d", "e", "f"] ["192.168.0.1", "127.0.0.1"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] @@ -962,12 +1078,14 @@ I'm not null or empty -- !sql_8_21 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string4 2022-08-08T20:10:10 text3_4*5 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string_ignore_above_10 2022-08-08T20:10:10 text_ignore_above_10 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N string2 2022-08-08T12:10:10 text2 4.0 2022-08-08T00:00 2022-08-09T12:10:10 1660018210000 2022-08-09T12:10:10 2022-08-09T12:10:10 2222 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N I'm not null or empty \N string3 2022-08-09T00:40:10 text3_4*5 5.0 2022-08-08T00:00 2022-08-10T12:10:10 1660104610000 2022-08-10T12:10:10 2022-08-10T20:10:10 3333 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 -- !sql_8_22 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string4 2022-08-08T20:10:10 text3_4*5 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string_ignore_above_10 2022-08-08T20:10:10 text_ignore_above_10 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N string2 2022-08-08T12:10:10 text2 4.0 2022-08-08T00:00 2022-08-09T12:10:10 1660018210000 2022-08-09T12:10:10 2022-08-09T12:10:10 2222 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N I'm not null or empty \N string3 2022-08-09T00:40:10 text3_4*5 5.0 2022-08-08T00:00 2022-08-10T12:10:10 1660104610000 2022-08-10T12:10:10 2022-08-10T20:10:10 3333 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 @@ -977,6 +1095,7 @@ I'm not null or empty [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +[{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" -- !sql_8_24 -- 2022-08-08T04:10:10 2022-08-08 @@ -994,3 +1113,17 @@ I'm not null or empty 2022-08-11T12:10:10 2022-08-11 2022-08-11T12:10:10 2022-08-11 +-- !sql_8_28 -- +string1 +string2 +string3 +string4 +string_ignore_above_10 + +-- !sql_8_29 -- +text#1 +text2 +text3_4*5 +text3_4*5 +text_ignore_above_10 + diff --git a/regression-test/data/external_table_p0/es/test_es_query_nereids.out b/regression-test/data/external_table_p0/es/test_es_query_nereids.out index bdc654c706a73b..0c9bed926df685 100644 --- a/regression-test/data/external_table_p0/es/test_es_query_nereids.out +++ b/regression-test/data/external_table_p0/es/test_es_query_nereids.out @@ -1,42 +1,12 @@ -- This file is automatically generated. You should know what you did if you want to edit this -- !sql62 -- -string1 text#1 3.14 2022-08-08T08:00 +string1 text#1 3.14 2022-08-08T00:00 -- !sql63 -- -string1 text#1 3.14 2022-08-08T08:00 -string2 text2 4.0 2022-08-08T08:00 -string3 text3_4*5 5.0 2022-08-08T08:00 +string1 text#1 3.14 2022-08-08T00:00 +string2 text2 4.0 2022-08-08T00:00 +string3 text3_4*5 5.0 2022-08-08T00:00 -- !sql64 -- -string2 text2 4.0 2022-08-08T08:00 - --- !sql72 -- -string1 text#1 3.14 2022-08-08T08:00 2022-08-08T12:10:10 \N 2022-08-08T04:10:10 2022-08-08T20:10:10 -string2 text2 4.0 2022-08-08T08:00 2022-08-09T12:10:10 \N 2022-08-09T12:10:10 2022-08-09T12:10:10 -string3 text3_4*5 5.0 2022-08-08T08:00 2022-08-10T12:10:10 \N 2022-08-10T04:10:10 2022-08-10T20:10:10 -string4 text3_4*5 6.0 2022-08-08T08:00 2022-08-11T12:10:10 \N 2022-08-11T12:10:10 2022-08-11T11:10:10 - --- !sql73 -- -string1 text#1 3.14 2022-08-08T08:00 2022-08-08T12:10:10 \N 2022-08-08T04:10:10 2022-08-08T20:10:10 -string2 text2 4.0 2022-08-08T08:00 2022-08-09T12:10:10 \N 2022-08-09T12:10:10 2022-08-09T12:10:10 -string3 text3_4*5 5.0 2022-08-08T08:00 2022-08-10T12:10:10 \N 2022-08-10T04:10:10 2022-08-10T20:10:10 -string4 text3_4*5 6.0 2022-08-08T08:00 2022-08-11T12:10:10 \N 2022-08-11T12:10:10 2022-08-11T11:10:10 - --- !sql74 -- -string1 text#1 3.14 2022-08-08T08:00 2022-08-08T12:10:10 \N 2022-08-08T04:10:10 2022-08-08T20:10:10 -string2 text2 4.0 2022-08-08T08:00 2022-08-09T12:10:10 \N 2022-08-09T12:10:10 2022-08-09T12:10:10 -string3 text3_4*5 5.0 2022-08-08T08:00 2022-08-10T12:10:10 \N 2022-08-10T04:10:10 2022-08-10T20:10:10 -string4 text3_4*5 6.0 2022-08-08T08:00 2022-08-11T12:10:10 \N 2022-08-11T12:10:10 2022-08-11T11:10:10 - --- !sql81 -- -string1 text#1 3.14 2022-08-08T08:00 2022-08-08T12:10:10 \N 2022-08-08T04:10:10 2022-08-08T20:10:10 -string2 text2 4.0 2022-08-08T08:00 2022-08-09T12:10:10 \N 2022-08-09T12:10:10 2022-08-09T12:10:10 -string3 text3_4*5 5.0 2022-08-08T08:00 2022-08-10T12:10:10 \N 2022-08-10T04:10:10 2022-08-10T20:10:10 -string4 text3_4*5 6.0 2022-08-08T08:00 2022-08-11T12:10:10 \N 2022-08-11T12:10:10 2022-08-11T11:10:10 - --- !sql82 -- -string1 text#1 3.14 2022-08-08T08:00 2022-08-08T12:10:10 \N 2022-08-08T04:10:10 2022-08-08T20:10:10 -string2 text2 4.0 2022-08-08T08:00 2022-08-09T12:10:10 \N 2022-08-09T12:10:10 2022-08-09T12:10:10 -string3 text3_4*5 5.0 2022-08-08T08:00 2022-08-10T12:10:10 \N 2022-08-10T04:10:10 2022-08-10T20:10:10 -string4 text3_4*5 6.0 2022-08-08T08:00 2022-08-11T12:10:10 \N 2022-08-11T12:10:10 2022-08-11T11:10:10 +string2 text2 4.0 2022-08-08T00:00 diff --git a/regression-test/data/mtmv_p0/test_es_mtmv.out b/regression-test/data/mtmv_p0/test_es_mtmv.out index 87152ee0f2a146..7e8ac92938f32d 100644 --- a/regression-test/data/mtmv_p0/test_es_mtmv.out +++ b/regression-test/data/mtmv_p0/test_es_mtmv.out @@ -1,12 +1,14 @@ -- This file is automatically generated. You should know what you did if you want to edit this -- !catalog -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string4 2022-08-08T20:10:10 text3_4*5 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string_ignore_above_10 2022-08-08T20:10:10 text_ignore_above_10 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N string2 2022-08-08T12:10:10 text2 4.0 2022-08-08T00:00 2022-08-09T12:10:10 1660018210000 2022-08-09T12:10:10 2022-08-09T12:10:10 2222 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N I'm not null or empty \N string3 2022-08-09T00:40:10 text3_4*5 5.0 2022-08-08T00:00 2022-08-10T12:10:10 1660104610000 2022-08-10T12:10:10 2022-08-10T20:10:10 3333 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 -- !mtmv -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string4 2022-08-08T20:10:10 text3_4*5 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 +[1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N \N string_ignore_above_10 2022-08-08T20:10:10 text_ignore_above_10 6.0 2022-08-08T00:00 2022-08-11T12:10:10 1660191010000 2022-08-11T12:10:10 2022-08-11T11:10:10 4444 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N \N string2 2022-08-08T12:10:10 text2 4.0 2022-08-08T00:00 2022-08-09T12:10:10 1660018210000 2022-08-09T12:10:10 2022-08-09T12:10:10 2222 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N I'm not null or empty \N string3 2022-08-09T00:40:10 text3_4*5 5.0 2022-08-08T00:00 2022-08-10T12:10:10 1660104610000 2022-08-10T12:10:10 2022-08-10T20:10:10 3333 [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 diff --git a/regression-test/suites/external_table_p0/es/test_es_query.groovy b/regression-test/suites/external_table_p0/es/test_es_query.groovy index 9d3d2cb80adaa2..55547e4eb25778 100644 --- a/regression-test/suites/external_table_p0/es/test_es_query.groovy +++ b/regression-test/suites/external_table_p0/es/test_es_query.groovy @@ -125,14 +125,7 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { "http_ssl_enabled"="false" ); """ - order_qt_sql01 """select * from test_v1 where test2='text#1'""" - order_qt_sql02 """select * from test_v1 where esquery(test2, '{"match":{"test2":"text#1"}}')""" - order_qt_sql03 """select test4,test5,test6,test7,test8 from test_v1 order by test8""" - order_qt_sql04 """select message from test_v1 where message != ''""" - order_qt_sql05 """select message from test_v1 where message is not null""" - order_qt_sql06 """select message from test_v1 where not_null_or_empty(message)""" - order_qt_sql07 """select * from test_v1 where esquery(c_datetime, '{"term":{"c_datetime":"2020-01-01 12:00:00"}}');""" - order_qt_sql08 """select c_person, c_user, json_extract(c_person, '\$.[0].name'), json_extract(c_user, '\$.[1].last') from test_v1;""" + sql """ CREATE TABLE `test_v2` ( `c_datetime` array NULL, @@ -170,11 +163,6 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { "http_ssl_enabled"="false" ); """ - order_qt_sql20 """select * from test_v2 where test2='text#1'""" - order_qt_sql21 """select * from test_v2 where esquery(test2, '{"match":{"test2":"text#1"}}')""" - order_qt_sql22 """select test4,test5,test6,test7,test8 from test_v2 order by test8""" - order_qt_sql23 """select * from test_v2 where esquery(c_long, '{"term":{"c_long":"-1"}}');""" - order_qt_sql24 """select c_person, c_user, json_extract(c_person, '\$.[0].name'), json_extract(c_user, '\$.[1].last') from test_v2;""" def query_catalogs = { -> sql """switch internal""" @@ -187,6 +175,8 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql06 """select message from test_v1 where not_null_or_empty(message)""" order_qt_sql07 """select * from test_v1 where esquery(c_datetime, '{"term":{"c_datetime":"2020-01-01 12:00:00"}}');""" order_qt_sql08 """select c_person, c_user, json_extract(c_person, '\$.[0].name'), json_extract(c_user, '\$.[1].last') from test_v1;""" + order_qt_sql09 """select test1 from test_v1;""" + order_qt_sql10 """select test2 from test_v1;""" order_qt_sql20 """select * from test_v2 where test2='text#1'""" order_qt_sql21 """select * from test_v2 where esquery(test2, '{"match":{"test2":"text#1"}}')""" @@ -216,6 +206,8 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_5_20 """select c_person, c_user, json_extract(c_person, '\$.[0].name'), json_extract(c_user, '\$.[1].last') from test1;""" order_qt_sql_5_21 """select test6, substring(test6, 1, 13) from test2 where substring(test6, 1, 13) = '2022-08-08 20' limit 4;""" order_qt_sql_5_22 """select test6, substring(test6, 1, 13) from test2 where substring(test6, 1, 13) = '2022-08-08 12' limit 4;""" + order_qt_sql_5_23 """select test1 from test1;""" + order_qt_sql_5_24 """select test2 from test1;""" try { sql """select * from composite_type_array;""" fail("Should not reach here") @@ -247,6 +239,8 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_6_20 """select c_person, c_user, json_extract(c_person, '\$.[0].name'), json_extract(c_user, '\$.[1].last') from test1;""" order_qt_sql_6_21 """select test6, substring(test6, 1, 13) from test2 where substring(test6, 1, 13) = '2022-08-08 20' limit 4;""" order_qt_sql_6_22 """select test6, substring(test6, 1, 13) from test2 where substring(test6, 1, 13) = '2022-08-08 12' limit 4;""" + order_qt_sql_6_23 """select test1 from test1;""" + order_qt_sql_6_24 """select test2 from test1;""" try { sql """select * from composite_type_array;""" fail("Should not reach here") @@ -303,6 +297,8 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_7_27 """select test7,substring(test7, 1, 10) from test2 where substring(test7, 1, 10)='2022-08-09' limit 2;""" order_qt_sql_7_28 """select test7,substring(test7, 1, 10) from test2 where substring(test7, 1, 10)='2022-08-10' limit 2;""" order_qt_sql_7_29 """select test7,substring(test7, 1, 10) from test2 where substring(test7, 1, 10)='2022-08-11' limit 2;""" + order_qt_sql_7_30 """select test1 from test1;""" + order_qt_sql_7_31 """select test2 from test1;""" try { sql """select * from composite_type_array;""" fail("Should not reach here") @@ -329,7 +325,7 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { } assertTrue(containeHide7) - order_qt_sql_7_26 """select * from test3_20231005""" + order_qt_sql_7_50 """select * from test3_20231005""" sql """switch test_es_query_es8""" order_qt_sql_8_01 """select * from test1 where test2='text#1'""" @@ -359,6 +355,8 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_8_25 """select test7,substring(test7, 1, 10) from test2 where substring(test7, 1, 10)='2022-08-09' limit 2;""" order_qt_sql_8_26 """select test7,substring(test7, 1, 10) from test2 where substring(test7, 1, 10)='2022-08-10' limit 2;""" order_qt_sql_8_27 """select test7,substring(test7, 1, 10) from test2 where substring(test7, 1, 10)='2022-08-11' limit 2;""" + order_qt_sql_8_28 """select test1 from test1;""" + order_qt_sql_8_29 """select test2 from test1;""" try { sql """select * from composite_type_array;""" fail("Should not reach here") From 58dbb5ffdbe6ae3a6081d65e056799ccca26cde6 Mon Sep 17 00:00:00 2001 From: zhangstar333 <87313068+zhangstar333@users.noreply.github.com> Date: Thu, 5 Sep 2024 14:22:30 +0800 Subject: [PATCH 058/199] [improve](cast) support ipv4 cast to ipv6 type (#39828) ## Proposed changes support ipv4 cast to ipv6 type --- be/src/vec/functions/function_cast.h | 11 ++++++++ .../apache/doris/catalog/PrimitiveType.java | 1 + .../doris/nereids/util/TypeCoercionUtils.java | 4 ++- .../datatype_p0/ip/test_ip_implicit_cast.out | 25 +++++++++++++++++++ .../ip/test_ip_implicit_cast.groovy | 19 +++++++++++++- 5 files changed, 58 insertions(+), 2 deletions(-) diff --git a/be/src/vec/functions/function_cast.h b/be/src/vec/functions/function_cast.h index e463742ef99b05..153c3ef0f2e3ab 100644 --- a/be/src/vec/functions/function_cast.h +++ b/be/src/vec/functions/function_cast.h @@ -433,6 +433,11 @@ struct ConvertImpl { block.get_by_position(result).column = ColumnNullable::create(std::move(col_to), std::move(col_null_map_to)); return Status::OK(); + } else if constexpr ((std::is_same_v)&&( + std::is_same_v)) { + for (size_t i = 0; i < size; ++i) { + map_ipv4_to_ipv6(vec_from[i], reinterpret_cast(&vec_to[i])); + } } else { for (size_t i = 0; i < size; ++i) { vec_to[i] = static_cast(vec_from[i]); @@ -453,6 +458,12 @@ struct ConvertImpl { } return Status::OK(); } + +private: + static void map_ipv4_to_ipv6(IPv4 ipv4, UInt8* buf) { + unaligned_store(buf, 0x0000FFFF00000000ULL | static_cast(ipv4)); + unaligned_store(buf + 8, 0); + } }; /** If types are identical, just take reference to column. diff --git a/fe/fe-common/src/main/java/org/apache/doris/catalog/PrimitiveType.java b/fe/fe-common/src/main/java/org/apache/doris/catalog/PrimitiveType.java index dbb5e7ad3768a9..fbd9bf6924ea39 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/catalog/PrimitiveType.java +++ b/fe/fe-common/src/main/java/org/apache/doris/catalog/PrimitiveType.java @@ -596,6 +596,7 @@ public static ImmutableSetMultimap getImplicitCast // ipv4 builder.put(IPV4, VARCHAR); builder.put(IPV4, STRING); + builder.put(IPV4, IPV6); // ipv6 builder.put(IPV6, VARCHAR); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/TypeCoercionUtils.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/TypeCoercionUtils.java index 651e018c20e982..968d70b52da6d9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/TypeCoercionUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/TypeCoercionUtils.java @@ -1442,7 +1442,9 @@ private static Optional findCommonPrimitiveTypeForComparison( return Optional.of(IPv4Type.INSTANCE); } if ((leftType.isIPv6Type() && rightType.isStringLikeType()) - || (rightType.isIPv6Type() && leftType.isStringLikeType())) { + || (rightType.isIPv6Type() && leftType.isStringLikeType()) + || (leftType.isIPv4Type() && rightType.isIPv6Type()) + || (leftType.isIPv6Type() && rightType.isIPv4Type())) { return Optional.of(IPv6Type.INSTANCE); } diff --git a/regression-test/data/datatype_p0/ip/test_ip_implicit_cast.out b/regression-test/data/datatype_p0/ip/test_ip_implicit_cast.out index 7e7f571ef5a3e2..5a27ca74f4faf7 100644 --- a/regression-test/data/datatype_p0/ip/test_ip_implicit_cast.out +++ b/regression-test/data/datatype_p0/ip/test_ip_implicit_cast.out @@ -5,3 +5,28 @@ 1 0.0.0.1 ::1 2130706433 127.0.0.1 2001:1b70:a1:610::b102:2 4294967295 255.255.255.255 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff + +-- !sql2 -- +true +false + +-- !sql3 -- +true +false + +-- !sql4 -- +172.20.48.119 ::ffff:172.20.48.119 +172.20.48.111 ::ffff:172.20.48.111 + +-- !sql5 -- +true +false + +-- !sql6 -- +true +false + +-- !sql7 -- +172.20.48.119 ::ffff:172.20.48.119 +172.20.48.111 ::ffff:172.20.48.111 + diff --git a/regression-test/suites/datatype_p0/ip/test_ip_implicit_cast.groovy b/regression-test/suites/datatype_p0/ip/test_ip_implicit_cast.groovy index 96ef6e8134aca6..30291b3af3a485 100644 --- a/regression-test/suites/datatype_p0/ip/test_ip_implicit_cast.groovy +++ b/regression-test/suites/datatype_p0/ip/test_ip_implicit_cast.groovy @@ -40,7 +40,24 @@ suite("test_ip_implicit_cast") { sql "insert into ${tableName} values(2130706433, 2130706433, '2001:1b70:a1:610::b102:2')" sql "insert into ${tableName} values(4294967295, 4294967295, 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff')" - qt_sql1 "select id, ip_v4 from ${tableName} order by id" + qt_sql1 "select id, ip_v4, ip_v6 from ${tableName} order by id" sql "DROP TABLE ${tableName}" + + sql """ drop table if exists t5;""" + sql """ create table t5 (id int, a ipv4, b ipv6) properties ("replication_num"="1");""" + sql """ insert into t5 values (1, to_ipv4('172.20.48.119'), to_ipv6('::ffff:172.20.48.119'));""" + sql """ insert into t5 values (2, to_ipv4('172.20.48.111'), to_ipv6('::ffff:172.20.48.119'));""" + qt_sql2 """ select ipv4_to_ipv6(a) = b from t5 order by id;""" + qt_sql3 """ select a = b from t5 order by id;""" + qt_sql4 """ select a, cast(a as ipv6) from t5 order by id;""" + + sql """ drop table if exists t5_not_null;""" + sql """ create table t5_not_null (id int, a ipv4 not null, b ipv6 not null) properties ("replication_num"="1");""" + sql """ insert into t5_not_null values (1, to_ipv4('172.20.48.119'), to_ipv6('::ffff:172.20.48.119'));""" + sql """ insert into t5_not_null values (2, to_ipv4('172.20.48.111'), to_ipv6('::ffff:172.20.48.119'));""" + qt_sql5 """ select ipv4_to_ipv6(a) = b from t5_not_null order by id;""" + qt_sql6 """ select a = b from t5_not_null order by id;""" + qt_sql7 """ select a, cast(a as ipv6) from t5_not_null order by id;""" + } From 32557f8377a409377e2c7f8b9271bac059a54472 Mon Sep 17 00:00:00 2001 From: amory Date: Thu, 5 Sep 2024 14:35:52 +0800 Subject: [PATCH 059/199] [fix](nestedtype)fix nested type with is_exclusive (#40398) is_exclusive in column_array/map/struct has wrong semantic , we should make sure it's nested column is also is_exclusive which can make behavior right in some operator like join. --- be/src/vec/columns/column_array.h | 5 + be/src/vec/columns/column_map.h | 5 + be/src/vec/columns/column_object.cpp | 10 + be/src/vec/columns/column_object.h | 2 + be/src/vec/columns/column_struct.h | 9 + .../query/sql/nested_with_join.out | 87 +++ .../query/sql/nested_with_join.sql | 675 ++++++++++++++++++ 7 files changed, 793 insertions(+) create mode 100644 regression-test/data/datatype_p0/nested_types/query/sql/nested_with_join.out create mode 100644 regression-test/suites/datatype_p0/nested_types/query/sql/nested_with_join.sql diff --git a/be/src/vec/columns/column_array.h b/be/src/vec/columns/column_array.h index e2226ab01e1719..39c11fcc7eb6ba 100644 --- a/be/src/vec/columns/column_array.h +++ b/be/src/vec/columns/column_array.h @@ -122,6 +122,11 @@ class ColumnArray final : public COWHelper { const char* get_family_name() const override { return "Array"; } bool is_column_array() const override { return true; } bool is_variable_length() const override { return true; } + + bool is_exclusive() const override { + return IColumn::is_exclusive() && data->is_exclusive() && offsets->is_exclusive(); + } + MutableColumnPtr clone_resized(size_t size) const override; size_t size() const override; void resize(size_t n) override; diff --git a/be/src/vec/columns/column_map.h b/be/src/vec/columns/column_map.h index 88705a514aeb66..6a3baf6a9dbfab 100644 --- a/be/src/vec/columns/column_map.h +++ b/be/src/vec/columns/column_map.h @@ -96,6 +96,11 @@ class ColumnMap final : public COWHelper { MutableColumnPtr clone_resized(size_t size) const override; bool is_variable_length() const override { return true; } + bool is_exclusive() const override { + return IColumn::is_exclusive() && keys_column->is_exclusive() && + values_column->is_exclusive() && offsets_column->is_exclusive(); + } + Field operator[](size_t n) const override; void get(size_t n, Field& res) const override; StringRef get_data_at(size_t n) const override; diff --git a/be/src/vec/columns/column_object.cpp b/be/src/vec/columns/column_object.cpp index 4c573c61432326..134b096d8badc1 100644 --- a/be/src/vec/columns/column_object.cpp +++ b/be/src/vec/columns/column_object.cpp @@ -1877,6 +1877,16 @@ void ColumnObject::for_each_imutable_subcolumn(ImutableColumnCallback callback) } } +bool ColumnObject::is_exclusive() const { + bool is_exclusive = IColumn::is_exclusive(); + for_each_imutable_subcolumn([&](const auto& subcolumn) { + if (!subcolumn.is_exclusive()) { + is_exclusive = false; + } + }); + return is_exclusive; +} + void ColumnObject::update_hash_with_value(size_t n, SipHash& hash) const { for_each_imutable_subcolumn( [&](const auto& subcolumn) { return subcolumn.update_hash_with_value(n, hash); }); diff --git a/be/src/vec/columns/column_object.h b/be/src/vec/columns/column_object.h index e7dad6940b6e73..96a27e44e92a2c 100644 --- a/be/src/vec/columns/column_object.h +++ b/be/src/vec/columns/column_object.h @@ -300,6 +300,8 @@ class ColumnObject final : public COWHelper { // Only single scalar root column bool is_scalar_variant() const; + bool is_exclusive() const override; + ColumnPtr get_root() const { return subcolumns.get_root()->data.get_finalized_column_ptr(); } bool has_subcolumn(const PathInData& key) const; diff --git a/be/src/vec/columns/column_struct.h b/be/src/vec/columns/column_struct.h index 599e413f14a950..42581c63be89bc 100644 --- a/be/src/vec/columns/column_struct.h +++ b/be/src/vec/columns/column_struct.h @@ -90,6 +90,15 @@ class ColumnStruct final : public COWHelper { bool is_variable_length() const override { return true; } + bool is_exclusive() const override { + for (const auto& col : columns) { + if (!col->is_exclusive()) { + return false; + } + } + return IColumn::is_exclusive(); + } + Field operator[](size_t n) const override; void get(size_t n, Field& res) const override; diff --git a/regression-test/data/datatype_p0/nested_types/query/sql/nested_with_join.out b/regression-test/data/datatype_p0/nested_types/query/sql/nested_with_join.out new file mode 100644 index 00000000000000..af9a89eecd5666 --- /dev/null +++ b/regression-test/data/datatype_p0/nested_types/query/sql/nested_with_join.out @@ -0,0 +1,87 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !nested_with_join -- +0 + +-- !nested_with_join_2 -- +0 + +-- !nested_with_join_3 -- +0 + +-- !nested_with_join_4 -- +max_allowed_packet 4194304 16777216 1 + +-- !nested_with_join_5 -- +0 + +-- !nested_with_join_6 -- +0 + +-- !nested_with_join_7 -- +0 + +-- !nested_with_join_8 -- +0 + +-- !nested_with_join_9 -- +0 + +-- !nested_with_join_10 -- +0 + +-- !nested_with_join_11 -- +0 + +-- !nested_with_join_12 -- +0 + +-- !nested_with_join_13 -- +0 + +-- !nested_with_join_14 -- +0 + +-- !nested_with_join_15 -- +0 + +-- !nested_with_join_16 -- +0 + +-- !nested_with_join_17 -- +0 + +-- !nested_with_join_18 -- +10 + +-- !nested_with_join_19 -- +0 + +-- !nested_with_join_20 -- +10 + +-- !nested_with_join_21 -- +0 + +-- !nested_with_join_22 -- +15 + +-- !nested_with_join_23 -- +0 + +-- !nested_with_join_24 -- +15 + +-- !nested_with_join_25 -- +0 + +-- !nested_with_join_26 -- +10 + +-- !nested_with_join_27 -- +0 + +-- !nested_with_join_28 -- +10 + +-- !nested_with_join_29 -- + diff --git a/regression-test/suites/datatype_p0/nested_types/query/sql/nested_with_join.sql b/regression-test/suites/datatype_p0/nested_types/query/sql/nested_with_join.sql new file mode 100644 index 00000000000000..608abcf4bab8e5 --- /dev/null +++ b/regression-test/suites/datatype_p0/nested_types/query/sql/nested_with_join.sql @@ -0,0 +1,675 @@ +use regression_test_datatype_p0_nested_types_query; + +SET ENABLE_DECIMAL256 = TRUE; + +set global max_allowed_packet=4194304; +show variables like "max_allowed_packet"; + +DROP TABLE IF EXISTS regression_test_datatype_p0_nested_types_query.table_20_undef_partitions2_keys3_properties4_distributed_by517; +CREATE TABLE IF NOT EXISTS regression_test_datatype_p0_nested_types_query.table_20_undef_partitions2_keys3_properties4_distributed_by517 ( +col_bigint_undef_signed bigint null , +pk int, +col_boolean_undef_signed boolean null , +col_boolean_undef_signed_not_null boolean not null , +col_tinyint_undef_signed tinyint null , +col_tinyint_undef_signed_index_inverted tinyint null , +col_tinyint_undef_signed_not_null tinyint not null , +col_tinyint_undef_signed_not_null_index_inverted tinyint not null , +col_smallint_undef_signed smallint null , +col_smallint_undef_signed_index_inverted smallint null , +col_smallint_undef_signed_not_null smallint not null , +col_smallint_undef_signed_not_null_index_inverted smallint not null , +col_int_undef_signed int null , +col_int_undef_signed_index_inverted int null , +col_int_undef_signed_not_null int not null , +col_int_undef_signed_not_null_index_inverted int not null , +col_bigint_undef_signed_index_inverted bigint null , +col_bigint_undef_signed_not_null bigint not null , +col_bigint_undef_signed_not_null_index_inverted bigint not null , +col_largeint_undef_signed largeint null , +col_largeint_undef_signed_not_null largeint not null , +col_float_undef_signed float null , +col_float_undef_signed_not_null float not null , +col_double_undef_signed double null , +col_double_undef_signed_not_null double not null , +col_decimal_10_0__undef_signed decimal(10,0) null , +col_decimal_10_0__undef_signed_index_inverted decimal(10,0) null , +col_decimal_10_0__undef_signed_not_null decimal(10,0) not null , +col_decimal_10_0__undef_signed_not_null_index_inverted decimal(10,0) not null , +col_decimal_16_10__undef_signed decimal(16,10) null , +col_decimal_16_10__undef_signed_index_inverted decimal(16,10) null , +col_decimal_16_10__undef_signed_not_null decimal(16,10) not null , +col_decimal_16_10__undef_signed_not_null_index_inverted decimal(16,10) not null , +col_decimal_37__12__undef_signed decimal(37, 12) null , +col_decimal_37__12__undef_signed_index_inverted decimal(37, 12) null , +col_decimal_37__12__undef_signed_not_null decimal(37, 12) not null , +col_decimal_37__12__undef_signed_not_null_index_inverted decimal(37, 12) not null , +col_decimal_17_0__undef_signed decimal(17,0) null , +col_decimal_17_0__undef_signed_index_inverted decimal(17,0) null , +col_decimal_17_0__undef_signed_not_null decimal(17,0) not null , +col_decimal_17_0__undef_signed_not_null_index_inverted decimal(17,0) not null , +col_decimal_8_4__undef_signed decimal(8,4) null , +col_decimal_8_4__undef_signed_index_inverted decimal(8,4) null , +col_decimal_8_4__undef_signed_not_null decimal(8,4) not null , +col_decimal_8_4__undef_signed_not_null_index_inverted decimal(8,4) not null , +col_decimal_9_0__undef_signed decimal(9,0) null , +col_decimal_9_0__undef_signed_index_inverted decimal(9,0) null , +col_decimal_9_0__undef_signed_not_null decimal(9,0) not null , +col_decimal_9_0__undef_signed_not_null_index_inverted decimal(9,0) not null , +col_decimal_76__56__undef_signed decimal(76, 56) null , +col_decimal_76__56__undef_signed_index_inverted decimal(76, 56) null , +col_decimal_76__56__undef_signed_not_null decimal(76, 56) not null , +col_decimal_76__56__undef_signed_not_null_index_inverted decimal(76, 56) not null , +col_map_boolean__boolean__undef_signed map null , +col_map_boolean__boolean__undef_signed_not_null map not null , +col_map_tinyint__tinyint__undef_signed map null , +col_map_tinyint__tinyint__undef_signed_not_null map not null , +col_map_smallint__smallint__undef_signed map null , +col_map_smallint__smallint__undef_signed_not_null map not null , +col_map_int__int__undef_signed map null , +col_map_int__int__undef_signed_not_null map not null , +col_map_bigint__bigint__undef_signed map null , +col_map_bigint__bigint__undef_signed_not_null map not null , +col_map_largeint__largeint__undef_signed map null , +col_map_largeint__largeint__undef_signed_not_null map not null , +col_map_float__float__undef_signed map null , +col_map_float__float__undef_signed_not_null map not null , +col_map_double__double__undef_signed map null , +col_map_double__double__undef_signed_not_null map not null , +col_map_decimal_10_0___decimal_10_0___undef_signed map null , +col_map_decimal_10_0___decimal_10_0___undef_signed_not_null map not null , +col_map_decimal_16_10___decimal_16_10___undef_signed map null , +col_map_decimal_16_10___decimal_16_10___undef_signed_not_null map not null , +col_map_decimal_37__12___decimal_37__12___undef_signed map null , +col_map_decimal_37__12___decimal_37__12___undef_signed_not_null map not null , +col_map_decimal_17_0___decimal_17_0___undef_signed map null , +col_map_decimal_17_0___decimal_17_0___undef_signed_not_null map not null , +col_map_decimal_8_4___decimal_8_4___undef_signed map null , +col_map_decimal_8_4___decimal_8_4___undef_signed_not_null map not null , +col_map_decimal_9_0___decimal_9_0___undef_signed map null , +col_map_decimal_9_0___decimal_9_0___undef_signed_not_null map not null , +col_map_decimal_76__56___decimal_76__56___undef_signed map null , +col_map_decimal_76__56___decimal_76__56___undef_signed_not_null map not null , +col_map_char_255___boolean__undef_signed map null , +col_map_char_255___boolean__undef_signed_not_null map not null , +col_map_char_255___tinyint__undef_signed map null , +col_map_char_255___tinyint__undef_signed_not_null map not null , +col_map_varchar_255___smallint__undef_signed map null , +col_map_varchar_255___smallint__undef_signed_not_null map not null , +col_map_varchar_255___int__undef_signed map null , +col_map_varchar_255___int__undef_signed_not_null map not null , +col_map_varchar_65533___bigint__undef_signed map null , +col_map_varchar_65533___bigint__undef_signed_not_null map not null , +col_map_varchar_65533___largeint__undef_signed map null , +col_map_varchar_65533___largeint__undef_signed_not_null map not null , +col_map_string__float__undef_signed map null , +col_map_string__float__undef_signed_not_null map not null , +col_map_string__double__undef_signed map null , +col_map_string__double__undef_signed_not_null map not null , +col_map_string__decimal_10_0___undef_signed map null , +col_map_string__decimal_10_0___undef_signed_not_null map not null , +col_map_varchar_65533___decimal_76__50___undef_signed map null , +col_map_varchar_65533___decimal_76__50___undef_signed_not_null map not null , +col_map_date__boolean__undef_signed map null , +col_map_date__boolean__undef_signed_not_null map not null , +col_map_date__tinyint__undef_signed map null , +col_map_date__tinyint__undef_signed_not_null map not null , +col_map_date__smallint__undef_signed map null , +col_map_date__smallint__undef_signed_not_null map not null , +col_map_date__int__undef_signed map null , +col_map_date__int__undef_signed_not_null map not null , +col_map_datetime_6___bigint__undef_signed map null , +col_map_datetime_6___bigint__undef_signed_not_null map not null , +col_map_datetime_3___largeint__undef_signed map null , +col_map_datetime_3___largeint__undef_signed_not_null map not null , +col_map_datetime__float__undef_signed map null , +col_map_datetime__float__undef_signed_not_null map not null , +col_map_datetime__double__undef_signed map null , +col_map_datetime__double__undef_signed_not_null map not null , +col_map_datetime__decimal_10_0___undef_signed map null , +col_map_datetime__decimal_10_0___undef_signed_not_null map not null , +col_map_datetime__decimal_76__50___undef_signed map null , +col_map_datetime__decimal_76__50___undef_signed_not_null map not null , +col_map_date__decimal_16_10___undef_signed map null , +col_map_date__decimal_16_10___undef_signed_not_null map not null , +col_map_date__decimal_37__12___undef_signed map null , +col_map_date__decimal_37__12___undef_signed_not_null map not null , +col_struct struct null , +col_struct2 struct not null , +col_struct3 struct null , +col_struct4 struct not null , +col_struct5 struct null , +col_struct6 struct not null , +col_variant_undef_signed variant null , +col_variant_undef_signed_not_null variant not null , +col_variant_undef_signed2 variant null , +col_variant_undef_signed_not_null2 variant not null , +INDEX col_tinyint_undef_signed_index_inverted_idx (`col_tinyint_undef_signed_index_inverted`) USING INVERTED, +INDEX col_tinyint_undef_signed_not_null_index_inverted_idx (`col_tinyint_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_smallint_undef_signed_index_inverted_idx (`col_smallint_undef_signed_index_inverted`) USING INVERTED, +INDEX col_smallint_undef_signed_not_null_index_inverted_idx (`col_smallint_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_int_undef_signed_index_inverted_idx (`col_int_undef_signed_index_inverted`) USING INVERTED, +INDEX col_int_undef_signed_not_null_index_inverted_idx (`col_int_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_bigint_undef_signed_index_inverted_idx (`col_bigint_undef_signed_index_inverted`) USING INVERTED, +INDEX col_bigint_undef_signed_not_null_index_inverted_idx (`col_bigint_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_10_0__undef_signed_index_inverted_idx (`col_decimal_10_0__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_10_0__undef_signed_not_null_index_inverted_idx (`col_decimal_10_0__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_16_10__undef_signed_index_inverted_idx (`col_decimal_16_10__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_16_10__undef_signed_not_null_index_inverted_idx (`col_decimal_16_10__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_37__12__undef_signed_index_inverted_idx (`col_decimal_37__12__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_37__12__undef_signed_not_null_index_inverted_idx (`col_decimal_37__12__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_17_0__undef_signed_index_inverted_idx (`col_decimal_17_0__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_17_0__undef_signed_not_null_index_inverted_idx (`col_decimal_17_0__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_8_4__undef_signed_index_inverted_idx (`col_decimal_8_4__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_8_4__undef_signed_not_null_index_inverted_idx (`col_decimal_8_4__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_9_0__undef_signed_index_inverted_idx (`col_decimal_9_0__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_9_0__undef_signed_not_null_index_inverted_idx (`col_decimal_9_0__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_76__56__undef_signed_index_inverted_idx (`col_decimal_76__56__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_76__56__undef_signed_not_null_index_inverted_idx (`col_decimal_76__56__undef_signed_not_null_index_inverted`) USING INVERTED +) engine=olap +DUPLICATE KEY(col_bigint_undef_signed, pk) +PARTITION BY RANGE(col_bigint_undef_signed) ( + PARTITION p0 VALUES LESS THAN (0), + PARTITION p1 VALUES LESS THAN (256), + PARTITION p2 VALUES LESS THAN (10240), + PARTITION p3 VALUES LESS THAN (32767), + PARTITION p4 VALUES LESS THAN (65536), + PARTITION p5 VALUES LESS THAN (131072), + PARTITION p6 VALUES LESS THAN (2621440), + PARTITION p7 VALUES LESS THAN (8388607), + PARTITION p8 VALUES LESS THAN (2147483647), + PARTITION p9 VALUES LESS THAN (21474836480), + PARTITION p10 VALUES LESS THAN (292233720368546480), + PARTITION p11 VALUES LESS THAN (9223372036854775807), + PARTITION pmax VALUES LESS THAN (maxvalue) + ) + +distributed by hash(pk) buckets 10 +properties("store_row_column" = "true", "replication_num" = "1"); + +sync; +select count() from table_20_undef_partitions2_keys3_properties4_distributed_by517; + +DROP TABLE IF EXISTS regression_test_datatype_p0_nested_types_query.table_20_undef_partitions2_keys3_properties4_distributed_by515; +CREATE TABLE IF NOT EXISTS regression_test_datatype_p0_nested_types_query.table_20_undef_partitions2_keys3_properties4_distributed_by515 ( +col_int_undef_signed_index_inverted int null , +pk int, +col_int_undef_signed int null , +col_decimal_10_0__undef_signed decimal(10,0) null , +col_largeint_undef_signed largeint null , +col_boolean_undef_signed boolean null , +col_boolean_undef_signed_not_null boolean not null , +col_tinyint_undef_signed tinyint null , +col_tinyint_undef_signed_index_inverted tinyint null , +col_tinyint_undef_signed_not_null tinyint not null , +col_tinyint_undef_signed_not_null_index_inverted tinyint not null , +col_smallint_undef_signed smallint null , +col_smallint_undef_signed_index_inverted smallint null , +col_smallint_undef_signed_not_null smallint not null , +col_smallint_undef_signed_not_null_index_inverted smallint not null , +col_int_undef_signed_not_null int not null , +col_int_undef_signed_not_null_index_inverted int not null , +col_bigint_undef_signed bigint null , +col_bigint_undef_signed_index_inverted bigint null , +col_bigint_undef_signed_not_null bigint not null , +col_bigint_undef_signed_not_null_index_inverted bigint not null , +col_largeint_undef_signed_not_null largeint not null , +col_float_undef_signed float null , +col_float_undef_signed_not_null float not null , +col_double_undef_signed double null , +col_double_undef_signed_not_null double not null , +col_decimal_10_0__undef_signed_index_inverted decimal(10,0) null , +col_decimal_10_0__undef_signed_not_null decimal(10,0) not null , +col_decimal_10_0__undef_signed_not_null_index_inverted decimal(10,0) not null , +col_decimal_16_10__undef_signed decimal(16,10) null , +col_decimal_16_10__undef_signed_index_inverted decimal(16,10) null , +col_decimal_16_10__undef_signed_not_null decimal(16,10) not null , +col_decimal_16_10__undef_signed_not_null_index_inverted decimal(16,10) not null , +col_decimal_37__12__undef_signed decimal(37, 12) null , +col_decimal_37__12__undef_signed_index_inverted decimal(37, 12) null , +col_decimal_37__12__undef_signed_not_null decimal(37, 12) not null , +col_decimal_37__12__undef_signed_not_null_index_inverted decimal(37, 12) not null , +col_decimal_17_0__undef_signed decimal(17,0) null , +col_decimal_17_0__undef_signed_index_inverted decimal(17,0) null , +col_decimal_17_0__undef_signed_not_null decimal(17,0) not null , +col_decimal_17_0__undef_signed_not_null_index_inverted decimal(17,0) not null , +col_decimal_8_4__undef_signed decimal(8,4) null , +col_decimal_8_4__undef_signed_index_inverted decimal(8,4) null , +col_decimal_8_4__undef_signed_not_null decimal(8,4) not null , +col_decimal_8_4__undef_signed_not_null_index_inverted decimal(8,4) not null , +col_decimal_9_0__undef_signed decimal(9,0) null , +col_decimal_9_0__undef_signed_index_inverted decimal(9,0) null , +col_decimal_9_0__undef_signed_not_null decimal(9,0) not null , +col_decimal_9_0__undef_signed_not_null_index_inverted decimal(9,0) not null , +col_decimal_76__56__undef_signed decimal(76, 56) null , +col_decimal_76__56__undef_signed_index_inverted decimal(76, 56) null , +col_decimal_76__56__undef_signed_not_null decimal(76, 56) not null , +col_decimal_76__56__undef_signed_not_null_index_inverted decimal(76, 56) not null , +col_map_boolean__boolean__undef_signed map null , +col_map_boolean__boolean__undef_signed_not_null map not null , +col_map_tinyint__tinyint__undef_signed map null , +col_map_tinyint__tinyint__undef_signed_not_null map not null , +col_map_smallint__smallint__undef_signed map null , +col_map_smallint__smallint__undef_signed_not_null map not null , +col_map_int__int__undef_signed map null , +col_map_int__int__undef_signed_not_null map not null , +col_map_bigint__bigint__undef_signed map null , +col_map_bigint__bigint__undef_signed_not_null map not null , +col_map_largeint__largeint__undef_signed map null , +col_map_largeint__largeint__undef_signed_not_null map not null , +col_map_float__float__undef_signed map null , +col_map_float__float__undef_signed_not_null map not null , +col_map_double__double__undef_signed map null , +col_map_double__double__undef_signed_not_null map not null , +col_map_decimal_10_0___decimal_10_0___undef_signed map null , +col_map_decimal_10_0___decimal_10_0___undef_signed_not_null map not null , +col_map_decimal_16_10___decimal_16_10___undef_signed map null , +col_map_decimal_16_10___decimal_16_10___undef_signed_not_null map not null , +col_map_decimal_37__12___decimal_37__12___undef_signed map null , +col_map_decimal_37__12___decimal_37__12___undef_signed_not_null map not null , +col_map_decimal_17_0___decimal_17_0___undef_signed map null , +col_map_decimal_17_0___decimal_17_0___undef_signed_not_null map not null , +col_map_decimal_8_4___decimal_8_4___undef_signed map null , +col_map_decimal_8_4___decimal_8_4___undef_signed_not_null map not null , +col_map_decimal_9_0___decimal_9_0___undef_signed map null , +col_map_decimal_9_0___decimal_9_0___undef_signed_not_null map not null , +col_map_decimal_76__56___decimal_76__56___undef_signed map null , +col_map_decimal_76__56___decimal_76__56___undef_signed_not_null map not null , +col_map_char_255___boolean__undef_signed map null , +col_map_char_255___boolean__undef_signed_not_null map not null , +col_map_char_255___tinyint__undef_signed map null , +col_map_char_255___tinyint__undef_signed_not_null map not null , +col_map_varchar_255___smallint__undef_signed map null , +col_map_varchar_255___smallint__undef_signed_not_null map not null , +col_map_varchar_255___int__undef_signed map null , +col_map_varchar_255___int__undef_signed_not_null map not null , +col_map_varchar_65533___bigint__undef_signed map null , +col_map_varchar_65533___bigint__undef_signed_not_null map not null , +col_map_varchar_65533___largeint__undef_signed map null , +col_map_varchar_65533___largeint__undef_signed_not_null map not null , +col_map_string__float__undef_signed map null , +col_map_string__float__undef_signed_not_null map not null , +col_map_string__double__undef_signed map null , +col_map_string__double__undef_signed_not_null map not null , +col_map_string__decimal_10_0___undef_signed map null , +col_map_string__decimal_10_0___undef_signed_not_null map not null , +col_map_varchar_65533___decimal_76__50___undef_signed map null , +col_map_varchar_65533___decimal_76__50___undef_signed_not_null map not null , +col_map_date__boolean__undef_signed map null , +col_map_date__boolean__undef_signed_not_null map not null , +col_map_date__tinyint__undef_signed map null , +col_map_date__tinyint__undef_signed_not_null map not null , +col_map_date__smallint__undef_signed map null , +col_map_date__smallint__undef_signed_not_null map not null , +col_map_date__int__undef_signed map null , +col_map_date__int__undef_signed_not_null map not null , +col_map_datetime_6___bigint__undef_signed map null , +col_map_datetime_6___bigint__undef_signed_not_null map not null , +col_map_datetime_3___largeint__undef_signed map null , +col_map_datetime_3___largeint__undef_signed_not_null map not null , +col_map_datetime__float__undef_signed map null , +col_map_datetime__float__undef_signed_not_null map not null , +col_map_datetime__double__undef_signed map null , +col_map_datetime__double__undef_signed_not_null map not null , +col_map_datetime__decimal_10_0___undef_signed map null , +col_map_datetime__decimal_10_0___undef_signed_not_null map not null , +col_map_datetime__decimal_76__50___undef_signed map null , +col_map_datetime__decimal_76__50___undef_signed_not_null map not null , +col_map_date__decimal_16_10___undef_signed map null , +col_map_date__decimal_16_10___undef_signed_not_null map not null , +col_map_date__decimal_37__12___undef_signed map null , +col_map_date__decimal_37__12___undef_signed_not_null map not null , +col_struct struct null , +col_struct2 struct not null , +col_struct3 struct null , +col_struct4 struct not null , +col_struct5 struct null , +col_struct6 struct not null , +col_variant_undef_signed variant null , +col_variant_undef_signed_not_null variant not null , +col_variant_undef_signed2 variant null , +col_variant_undef_signed_not_null2 variant not null , +INDEX col_tinyint_undef_signed_index_inverted_idx (`col_tinyint_undef_signed_index_inverted`) USING INVERTED, +INDEX col_tinyint_undef_signed_not_null_index_inverted_idx (`col_tinyint_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_smallint_undef_signed_index_inverted_idx (`col_smallint_undef_signed_index_inverted`) USING INVERTED, +INDEX col_smallint_undef_signed_not_null_index_inverted_idx (`col_smallint_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_int_undef_signed_index_inverted_idx (`col_int_undef_signed_index_inverted`) USING INVERTED, +INDEX col_int_undef_signed_not_null_index_inverted_idx (`col_int_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_bigint_undef_signed_index_inverted_idx (`col_bigint_undef_signed_index_inverted`) USING INVERTED, +INDEX col_bigint_undef_signed_not_null_index_inverted_idx (`col_bigint_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_10_0__undef_signed_index_inverted_idx (`col_decimal_10_0__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_10_0__undef_signed_not_null_index_inverted_idx (`col_decimal_10_0__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_16_10__undef_signed_index_inverted_idx (`col_decimal_16_10__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_16_10__undef_signed_not_null_index_inverted_idx (`col_decimal_16_10__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_37__12__undef_signed_index_inverted_idx (`col_decimal_37__12__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_37__12__undef_signed_not_null_index_inverted_idx (`col_decimal_37__12__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_17_0__undef_signed_index_inverted_idx (`col_decimal_17_0__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_17_0__undef_signed_not_null_index_inverted_idx (`col_decimal_17_0__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_8_4__undef_signed_index_inverted_idx (`col_decimal_8_4__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_8_4__undef_signed_not_null_index_inverted_idx (`col_decimal_8_4__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_9_0__undef_signed_index_inverted_idx (`col_decimal_9_0__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_9_0__undef_signed_not_null_index_inverted_idx (`col_decimal_9_0__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_76__56__undef_signed_index_inverted_idx (`col_decimal_76__56__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_76__56__undef_signed_not_null_index_inverted_idx (`col_decimal_76__56__undef_signed_not_null_index_inverted`) USING INVERTED +) engine=olap +UNIQUE KEY(col_int_undef_signed_index_inverted, pk, col_int_undef_signed, col_decimal_10_0__undef_signed, col_largeint_undef_signed) +PARTITION BY RANGE(col_int_undef_signed_index_inverted) ( + PARTITION p0 VALUES LESS THAN (0), + PARTITION p1 VALUES LESS THAN (256), + PARTITION p2 VALUES LESS THAN (10240), + PARTITION p3 VALUES LESS THAN (32767), + PARTITION p4 VALUES LESS THAN (65536), + PARTITION p5 VALUES LESS THAN (131072), + PARTITION p6 VALUES LESS THAN (2621440), + PARTITION p7 VALUES LESS THAN (8388607), + PARTITION p8 VALUES LESS THAN (2147483647), + PARTITION p9 VALUES LESS THAN (maxvalue) + ) + +distributed by hash(pk) buckets 10 +properties("store_row_column" = "true", "replication_num" = "1"); + +sync; +select count() from table_20_undef_partitions2_keys3_properties4_distributed_by515; + +DROP TABLE IF EXISTS regression_test_datatype_p0_nested_types_query.table_20_undef_partitions2_keys3_properties4_distributed_by54; +CREATE TABLE IF NOT EXISTS regression_test_datatype_p0_nested_types_query.table_20_undef_partitions2_keys3_properties4_distributed_by54 ( +col_tinyint_undef_signed_index_inverted tinyint null , +col_smallint_undef_signed_not_null_index_inverted smallint not null , +pk int, +col_int_undef_signed_index_inverted int null , +col_bigint_undef_signed bigint null , +col_boolean_undef_signed boolean null , +col_boolean_undef_signed_not_null boolean not null , +col_tinyint_undef_signed tinyint null , +col_tinyint_undef_signed_not_null tinyint not null , +col_tinyint_undef_signed_not_null_index_inverted tinyint not null , +col_smallint_undef_signed smallint null , +col_smallint_undef_signed_index_inverted smallint null , +col_smallint_undef_signed_not_null smallint not null , +col_int_undef_signed int null , +col_int_undef_signed_not_null int not null , +col_int_undef_signed_not_null_index_inverted int not null , +col_bigint_undef_signed_index_inverted bigint null , +col_bigint_undef_signed_not_null bigint not null , +col_bigint_undef_signed_not_null_index_inverted bigint not null , +col_largeint_undef_signed largeint null , +col_largeint_undef_signed_not_null largeint not null , +col_float_undef_signed float null , +col_float_undef_signed_not_null float not null , +col_double_undef_signed double null , +col_double_undef_signed_not_null double not null , +col_decimal_10_0__undef_signed decimal(10,0) null , +col_decimal_10_0__undef_signed_index_inverted decimal(10,0) null , +col_decimal_10_0__undef_signed_not_null decimal(10,0) not null , +col_decimal_10_0__undef_signed_not_null_index_inverted decimal(10,0) not null , +col_decimal_16_10__undef_signed decimal(16,10) null , +col_decimal_16_10__undef_signed_index_inverted decimal(16,10) null , +col_decimal_16_10__undef_signed_not_null decimal(16,10) not null , +col_decimal_16_10__undef_signed_not_null_index_inverted decimal(16,10) not null , +col_decimal_37__12__undef_signed decimal(37, 12) null , +col_decimal_37__12__undef_signed_index_inverted decimal(37, 12) null , +col_decimal_37__12__undef_signed_not_null decimal(37, 12) not null , +col_decimal_37__12__undef_signed_not_null_index_inverted decimal(37, 12) not null , +col_decimal_17_0__undef_signed decimal(17,0) null , +col_decimal_17_0__undef_signed_index_inverted decimal(17,0) null , +col_decimal_17_0__undef_signed_not_null decimal(17,0) not null , +col_decimal_17_0__undef_signed_not_null_index_inverted decimal(17,0) not null , +col_decimal_8_4__undef_signed decimal(8,4) null , +col_decimal_8_4__undef_signed_index_inverted decimal(8,4) null , +col_decimal_8_4__undef_signed_not_null decimal(8,4) not null , +col_decimal_8_4__undef_signed_not_null_index_inverted decimal(8,4) not null , +col_decimal_9_0__undef_signed decimal(9,0) null , +col_decimal_9_0__undef_signed_index_inverted decimal(9,0) null , +col_decimal_9_0__undef_signed_not_null decimal(9,0) not null , +col_decimal_9_0__undef_signed_not_null_index_inverted decimal(9,0) not null , +col_decimal_76__56__undef_signed decimal(76, 56) null , +col_decimal_76__56__undef_signed_index_inverted decimal(76, 56) null , +col_decimal_76__56__undef_signed_not_null decimal(76, 56) not null , +col_decimal_76__56__undef_signed_not_null_index_inverted decimal(76, 56) not null , +col_map_boolean__boolean__undef_signed map null , +col_map_boolean__boolean__undef_signed_not_null map not null , +col_map_tinyint__tinyint__undef_signed map null , +col_map_tinyint__tinyint__undef_signed_not_null map not null , +col_map_smallint__smallint__undef_signed map null , +col_map_smallint__smallint__undef_signed_not_null map not null , +col_map_int__int__undef_signed map null , +col_map_int__int__undef_signed_not_null map not null , +col_map_bigint__bigint__undef_signed map null , +col_map_bigint__bigint__undef_signed_not_null map not null , +col_map_largeint__largeint__undef_signed map null , +col_map_largeint__largeint__undef_signed_not_null map not null , +col_map_float__float__undef_signed map null , +col_map_float__float__undef_signed_not_null map not null , +col_map_double__double__undef_signed map null , +col_map_double__double__undef_signed_not_null map not null , +col_map_decimal_10_0___decimal_10_0___undef_signed map null , +col_map_decimal_10_0___decimal_10_0___undef_signed_not_null map not null , +col_map_decimal_16_10___decimal_16_10___undef_signed map null , +col_map_decimal_16_10___decimal_16_10___undef_signed_not_null map not null , +col_map_decimal_37__12___decimal_37__12___undef_signed map null , +col_map_decimal_37__12___decimal_37__12___undef_signed_not_null map not null , +col_map_decimal_17_0___decimal_17_0___undef_signed map null , +col_map_decimal_17_0___decimal_17_0___undef_signed_not_null map not null , +col_map_decimal_8_4___decimal_8_4___undef_signed map null , +col_map_decimal_8_4___decimal_8_4___undef_signed_not_null map not null , +col_map_decimal_9_0___decimal_9_0___undef_signed map null , +col_map_decimal_9_0___decimal_9_0___undef_signed_not_null map not null , +col_map_decimal_76__56___decimal_76__56___undef_signed map null , +col_map_decimal_76__56___decimal_76__56___undef_signed_not_null map not null , +col_map_char_255___boolean__undef_signed map null , +col_map_char_255___boolean__undef_signed_not_null map not null , +col_map_char_255___tinyint__undef_signed map null , +col_map_char_255___tinyint__undef_signed_not_null map not null , +col_map_varchar_255___smallint__undef_signed map null , +col_map_varchar_255___smallint__undef_signed_not_null map not null , +col_map_varchar_255___int__undef_signed map null , +col_map_varchar_255___int__undef_signed_not_null map not null , +col_map_varchar_65533___bigint__undef_signed map null , +col_map_varchar_65533___bigint__undef_signed_not_null map not null , +col_map_varchar_65533___largeint__undef_signed map null , +col_map_varchar_65533___largeint__undef_signed_not_null map not null , +col_map_string__float__undef_signed map null , +col_map_string__float__undef_signed_not_null map not null , +col_map_string__double__undef_signed map null , +col_map_string__double__undef_signed_not_null map not null , +col_map_string__decimal_10_0___undef_signed map null , +col_map_string__decimal_10_0___undef_signed_not_null map not null , +col_map_varchar_65533___decimal_76__50___undef_signed map null , +col_map_varchar_65533___decimal_76__50___undef_signed_not_null map not null , +col_map_date__boolean__undef_signed map null , +col_map_date__boolean__undef_signed_not_null map not null , +col_map_date__tinyint__undef_signed map null , +col_map_date__tinyint__undef_signed_not_null map not null , +col_map_date__smallint__undef_signed map null , +col_map_date__smallint__undef_signed_not_null map not null , +col_map_date__int__undef_signed map null , +col_map_date__int__undef_signed_not_null map not null , +col_map_datetime_6___bigint__undef_signed map null , +col_map_datetime_6___bigint__undef_signed_not_null map not null , +col_map_datetime_3___largeint__undef_signed map null , +col_map_datetime_3___largeint__undef_signed_not_null map not null , +col_map_datetime__float__undef_signed map null , +col_map_datetime__float__undef_signed_not_null map not null , +col_map_datetime__double__undef_signed map null , +col_map_datetime__double__undef_signed_not_null map not null , +col_map_datetime__decimal_10_0___undef_signed map null , +col_map_datetime__decimal_10_0___undef_signed_not_null map not null , +col_map_datetime__decimal_76__50___undef_signed map null , +col_map_datetime__decimal_76__50___undef_signed_not_null map not null , +col_map_date__decimal_16_10___undef_signed map null , +col_map_date__decimal_16_10___undef_signed_not_null map not null , +col_map_date__decimal_37__12___undef_signed map null , +col_map_date__decimal_37__12___undef_signed_not_null map not null , +col_struct struct null , +col_struct2 struct not null , +col_struct3 struct null , +col_struct4 struct not null , +col_struct5 struct null , +col_struct6 struct not null , +col_variant_undef_signed variant null , +col_variant_undef_signed_not_null variant not null , +col_variant_undef_signed2 variant null , +col_variant_undef_signed_not_null2 variant not null , +INDEX col_tinyint_undef_signed_index_inverted_idx (`col_tinyint_undef_signed_index_inverted`) USING INVERTED, +INDEX col_tinyint_undef_signed_not_null_index_inverted_idx (`col_tinyint_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_smallint_undef_signed_index_inverted_idx (`col_smallint_undef_signed_index_inverted`) USING INVERTED, +INDEX col_smallint_undef_signed_not_null_index_inverted_idx (`col_smallint_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_int_undef_signed_index_inverted_idx (`col_int_undef_signed_index_inverted`) USING INVERTED, +INDEX col_int_undef_signed_not_null_index_inverted_idx (`col_int_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_bigint_undef_signed_index_inverted_idx (`col_bigint_undef_signed_index_inverted`) USING INVERTED, +INDEX col_bigint_undef_signed_not_null_index_inverted_idx (`col_bigint_undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_10_0__undef_signed_index_inverted_idx (`col_decimal_10_0__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_10_0__undef_signed_not_null_index_inverted_idx (`col_decimal_10_0__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_16_10__undef_signed_index_inverted_idx (`col_decimal_16_10__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_16_10__undef_signed_not_null_index_inverted_idx (`col_decimal_16_10__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_37__12__undef_signed_index_inverted_idx (`col_decimal_37__12__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_37__12__undef_signed_not_null_index_inverted_idx (`col_decimal_37__12__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_17_0__undef_signed_index_inverted_idx (`col_decimal_17_0__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_17_0__undef_signed_not_null_index_inverted_idx (`col_decimal_17_0__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_8_4__undef_signed_index_inverted_idx (`col_decimal_8_4__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_8_4__undef_signed_not_null_index_inverted_idx (`col_decimal_8_4__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_9_0__undef_signed_index_inverted_idx (`col_decimal_9_0__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_9_0__undef_signed_not_null_index_inverted_idx (`col_decimal_9_0__undef_signed_not_null_index_inverted`) USING INVERTED, +INDEX col_decimal_76__56__undef_signed_index_inverted_idx (`col_decimal_76__56__undef_signed_index_inverted`) USING INVERTED, +INDEX col_decimal_76__56__undef_signed_not_null_index_inverted_idx (`col_decimal_76__56__undef_signed_not_null_index_inverted`) USING INVERTED +) engine=olap +DUPLICATE KEY(col_tinyint_undef_signed_index_inverted, col_smallint_undef_signed_not_null_index_inverted, pk, col_int_undef_signed_index_inverted, col_bigint_undef_signed) +PARTITION BY RANGE(col_tinyint_undef_signed_index_inverted, col_smallint_undef_signed_not_null_index_inverted) ( + PARTITION p0 VALUES LESS THAN (0, 0), + PARTITION p1 VALUES LESS THAN (10, 256), + PARTITION p2 VALUES LESS THAN (50, 10240), + PARTITION p3 VALUES LESS THAN (100, 32767), + PARTITION p4 VALUES LESS THAN (maxvalue, maxvalue) + ) + +distributed by hash(pk) buckets 10 +properties("bloom_filter_columns" = "col_smallint_undef_signed, col_int_undef_signed, col_bigint_undef_signed, col_largeint_undef_signed, col_decimal_10_0__undef_signed, col_decimal_16_10__undef_signed, col_variant_undef_signed, col_variant_undef_signed_not_null2", "replication_num" = "1"); + +sync; +select count() from table_20_undef_partitions2_keys3_properties4_distributed_by54; + +set global max_allowed_packet=4194304; + +insert into regression_test_datatype_p0_nested_types_query.table_20_undef_partitions2_keys3_properties4_distributed_by54(pk,col_boolean_undef_signed,col_boolean_undef_signed_not_null,col_tinyint_undef_signed,col_tinyint_undef_signed_index_inverted,col_tinyint_undef_signed_not_null,col_tinyint_undef_signed_not_null_index_inverted,col_smallint_undef_signed,col_smallint_undef_signed_index_inverted,col_smallint_undef_signed_not_null,col_smallint_undef_signed_not_null_index_inverted,col_int_undef_signed,col_int_undef_signed_index_inverted,col_int_undef_signed_not_null,col_int_undef_signed_not_null_index_inverted,col_bigint_undef_signed,col_bigint_undef_signed_index_inverted,col_bigint_undef_signed_not_null,col_bigint_undef_signed_not_null_index_inverted,col_largeint_undef_signed,col_largeint_undef_signed_not_null,col_float_undef_signed,col_float_undef_signed_not_null,col_double_undef_signed,col_double_undef_signed_not_null,col_decimal_10_0__undef_signed,col_decimal_10_0__undef_signed_index_inverted,col_decimal_10_0__undef_signed_not_null,col_decimal_10_0__undef_signed_not_null_index_inverted,col_decimal_16_10__undef_signed,col_decimal_16_10__undef_signed_index_inverted,col_decimal_16_10__undef_signed_not_null,col_decimal_16_10__undef_signed_not_null_index_inverted,col_decimal_37__12__undef_signed,col_decimal_37__12__undef_signed_index_inverted,col_decimal_37__12__undef_signed_not_null,col_decimal_37__12__undef_signed_not_null_index_inverted,col_decimal_17_0__undef_signed,col_decimal_17_0__undef_signed_index_inverted,col_decimal_17_0__undef_signed_not_null,col_decimal_17_0__undef_signed_not_null_index_inverted,col_decimal_8_4__undef_signed,col_decimal_8_4__undef_signed_index_inverted,col_decimal_8_4__undef_signed_not_null,col_decimal_8_4__undef_signed_not_null_index_inverted,col_decimal_9_0__undef_signed,col_decimal_9_0__undef_signed_index_inverted,col_decimal_9_0__undef_signed_not_null,col_decimal_9_0__undef_signed_not_null_index_inverted,col_decimal_76__56__undef_signed,col_decimal_76__56__undef_signed_index_inverted,col_decimal_76__56__undef_signed_not_null,col_decimal_76__56__undef_signed_not_null_index_inverted,col_map_boolean__boolean__undef_signed,col_map_boolean__boolean__undef_signed_not_null,col_map_tinyint__tinyint__undef_signed,col_map_tinyint__tinyint__undef_signed_not_null,col_map_smallint__smallint__undef_signed,col_map_smallint__smallint__undef_signed_not_null,col_map_int__int__undef_signed,col_map_int__int__undef_signed_not_null,col_map_bigint__bigint__undef_signed,col_map_bigint__bigint__undef_signed_not_null,col_map_largeint__largeint__undef_signed,col_map_largeint__largeint__undef_signed_not_null,col_map_float__float__undef_signed,col_map_float__float__undef_signed_not_null,col_map_double__double__undef_signed,col_map_double__double__undef_signed_not_null,col_map_decimal_10_0___decimal_10_0___undef_signed,col_map_decimal_10_0___decimal_10_0___undef_signed_not_null,col_map_decimal_16_10___decimal_16_10___undef_signed,col_map_decimal_16_10___decimal_16_10___undef_signed_not_null,col_map_decimal_37__12___decimal_37__12___undef_signed,col_map_decimal_37__12___decimal_37__12___undef_signed_not_null,col_map_decimal_17_0___decimal_17_0___undef_signed,col_map_decimal_17_0___decimal_17_0___undef_signed_not_null,col_map_decimal_8_4___decimal_8_4___undef_signed,col_map_decimal_8_4___decimal_8_4___undef_signed_not_null,col_map_decimal_9_0___decimal_9_0___undef_signed,col_map_decimal_9_0___decimal_9_0___undef_signed_not_null,col_map_decimal_76__56___decimal_76__56___undef_signed,col_map_decimal_76__56___decimal_76__56___undef_signed_not_null,col_map_char_255___boolean__undef_signed,col_map_char_255___boolean__undef_signed_not_null,col_map_char_255___tinyint__undef_signed,col_map_char_255___tinyint__undef_signed_not_null,col_map_varchar_255___smallint__undef_signed,col_map_varchar_255___smallint__undef_signed_not_null,col_map_varchar_255___int__undef_signed,col_map_varchar_255___int__undef_signed_not_null,col_map_varchar_65533___bigint__undef_signed,col_map_varchar_65533___bigint__undef_signed_not_null,col_map_varchar_65533___largeint__undef_signed,col_map_varchar_65533___largeint__undef_signed_not_null,col_map_string__float__undef_signed,col_map_string__float__undef_signed_not_null,col_map_string__double__undef_signed,col_map_string__double__undef_signed_not_null,col_map_string__decimal_10_0___undef_signed,col_map_string__decimal_10_0___undef_signed_not_null,col_map_varchar_65533___decimal_76__50___undef_signed,col_map_varchar_65533___decimal_76__50___undef_signed_not_null,col_map_date__boolean__undef_signed,col_map_date__boolean__undef_signed_not_null,col_map_date__tinyint__undef_signed,col_map_date__tinyint__undef_signed_not_null,col_map_date__smallint__undef_signed,col_map_date__smallint__undef_signed_not_null,col_map_date__int__undef_signed,col_map_date__int__undef_signed_not_null,col_map_datetime_6___bigint__undef_signed,col_map_datetime_6___bigint__undef_signed_not_null,col_map_datetime_3___largeint__undef_signed,col_map_datetime_3___largeint__undef_signed_not_null,col_map_datetime__float__undef_signed,col_map_datetime__float__undef_signed_not_null,col_map_datetime__double__undef_signed,col_map_datetime__double__undef_signed_not_null,col_map_datetime__decimal_10_0___undef_signed,col_map_datetime__decimal_10_0___undef_signed_not_null,col_map_datetime__decimal_76__50___undef_signed,col_map_datetime__decimal_76__50___undef_signed_not_null,col_map_date__decimal_16_10___undef_signed,col_map_date__decimal_16_10___undef_signed_not_null,col_map_date__decimal_37__12___undef_signed,col_map_date__decimal_37__12___undef_signed_not_null,col_struct,col_struct2,col_struct3,col_struct4,col_struct5,col_struct6,col_variant_undef_signed,col_variant_undef_signed_not_null,col_variant_undef_signed2,col_variant_undef_signed_not_null2) values (0,true,false,-68,-128,0,1,19655,13618,20337,-4446,1807995077,2147483647,462684614,853813723,-8719492756887444404,32679,3411,1,5105623312074683407,1,null,54.476883,18.715371915653535,61.483319969616396,null,300.343,40.123,100.02,40.123,300.343,60.0182,55.1001,null,40.123,31.1536,76.0975,100.02,32.0822,28.0726,59.0439,32.0633,85.1340,300.343,14.0455,85.0174,null,76.1885,300.343,39.0679,null,46.1524,91.0557,{null:null, false:null, true:true},{false:false, true:null},{28:0, 1:1, -128:1, 127:-61, 64:23, 0:1, null:1, -21:0},{126:-32, 127:0, -128:4, 121:-128, 6:1, -121:-128, null:1, 1:-128, 91:-15},{-19278:8027, -4294:-32768, 17793:32767, 245:-11950, 0:23106, 19049:8390, -29806:null, -31360:null, null:0, -28743:null},{-10543:13129, 32767:-32768, 245:-12593, -18471:6693, -12876:28481, -9926:26658, 21702:245, -12182:-32768},{-369083983:32679, 32679:1594725049, 1846951609:-2147483648, -1281884566:0, -2147483648:147483648, 29580210:1885933488, 2086434723:0, 1138826479:null, 2147483647:1981496850, -907742040:-2147483648},{98743652:32679, 0:2147483647, -1616305267:1372535338, -520634042:-1445418440, 147483648:-39914186, null:147483648, -1173274313:-1221836112, 32679:147483648},{32679:4991, 3699:147483648, null:4507046924334456447, -1442610:32679, 9392:1, 8:300.343, 6:32679, 300.343:300.343},{300.343:-808565611701182542, -10867:1, 147483648:245, 25045:32679, 1:1, 5100433:5, 6577:32679, 245:300.343, 32679:3052807, 20240803:245},{4739695629599044431:-9223372036854775808, 9223372036854775807:null, 147483648:1474248484029747349, -9223372036854775808:-153865419700850902, 0:-7412887605777209125, 32679:-4621280583688784424, 245:9223372036854775807, 193516943339179493:null},{0:-3270390436193906334, -9223372036854775808:null, 147483648:1, null:-304575285, 245:-1863989211447569193, -1495430867678893654:9223372036854775807, 6553370865214835786:5116060423243288972},{300.343:100.02, null:40.123, 97.21462:39.662186, 100.02:100.02, 95.353745:84.206726, 39.077003:97.69454, 42.85731:100.02, 36.151882:40.123, 85.658424:100.02, 44.36757:100.02},{40.123:40.123, 89.63369:null, 300.343:40.123, 85.215904:100.02, 89.63262:66.57335, 45.98056:61.631405, 100.02:95.83011, null:40.843273, 24.599535:null},{10.738335265407647:65.86182964407918, 59.9467670645048:29.6582276027446, 18.7098010223599:72.69527248420498, 52.193819617478894:null, null:300.343, 32.13638228655393:41.87482960425298, 17.86789497440372:100.02, 2.257886446843572:64.36302717272628, 77.67779674072277:72.67761750638789},{40.123:24.552625735797854, 10.49188274465634:50.6372147847132, 88.84426719360128:29.93822935727347, null:300.343, 6.289215649655062:19.64395331446342, 300.343:81.93627012697036, 34.362037968268496:300.343, 59.34653155676489:100.02},{100.02:"2024-08-03 13:08:30", 300.343:null, 40.123:null, 94.0241:"2024-07-01", 67.0645:'I''m', null:null, 66.1359:"2024-07-01", 6.0676:"9999-12-31 23:59:59"},{100.02:"2024-07-01", 49.1358:"20240803", null:'yes', 300.343:"0", 6.0091:"9999-12-31 23:59:59", 40.123:"20240803"},{40.123:'then', 100.02:"2024-07-01", 32.1039:"2024-07-01", 300.343:'it''s', 34.1543:'a', null:"1", 23.0603:"300.343"},{40.123:"300.343", 21.0122:null, 300.343:"0", null:'p', 87.0878:"20240803", 94.1981:"2024-08-03 13:08:30", 75.1219:'on'},{100.1009:"20240803", 97.1292:'is', 40.123:'up', 34.1264:'but', 100.02:'for', 32.1567:"0", null:"2024-08-03 13:08:30", 34.1104:"300.343"},{15.0137:"20240803", 40.123:"2024-07-01", 60.0511:'w', 95.1697:'n', 98.1877:"1", 62.1625:"300.343", 100.02:'w', 68.0538:"20240803", 97.1584:'m', 300.343:"0"},{30.1058:null, 100.02:'at', 33.1973:"2024-07-01", 40.123:'there', 300.343:'j', null:'just', 63.1778:'ok', 88.1968:"2024-07-01"},{300.343:'as', 89.1209:'o', 32.0554:"20240803", 100.02:"0", 34.0444:'but', 40.123:'h', 46.1109:"20240803", 93.0510:"300.343"},{40.123:"0", 55.1941:'how', 100.02:"2024-08-03 13:08:30", 67.0148:'y', null:"0", 12.1496:"2024-08-03 13:08:30"},{100.02:'g', 40.123:"300.343", 99.1721:'u', 99.1542:"2024-08-03 13:08:30", 49.0697:'didn''t', 300.343:'yes', null:"1"},{18.1988:"300.343", 100.02:"0", null:"9999-12-31 23:59:59", 300.343:'why', 40.123:'one', 8.1556:"2024-07-01", 51.1603:"1", 21.1842:"2024-08-03 13:08:30", 17.1559:'x'},{34.1356:'get', 300.343:null, 100.02:"0", 40.123:'w', null:'me'},{300.343:'o', 100.02:'all', null:'v', 34.1236:'f', 100.0150:'q', 81.0400:"1"},{40.123:"2024-08-03 13:08:30", 100.02:"1", 300.343:"300.343", 19.1117:"9999-12-31 23:59:59", 25.0759:"2024-07-01", 36.0274:"1", 91.1557:'h', 55.1065:"1", 47.0974:'ok'},{"0":false, 'could':null, "2024-08-03 13:08:30":null, 'u':false, 't':true, 'ok':false, 'him':null, 'not':true, "2024-07-01":true},{"2024-08-03 13:08:30":false, "1":null, 'g':null, "0":false, 'you':false, 'get':true, 'then':null, 'like':false},{'some':8, "0":101, 'be':null, "20240803":-75, 'p':70, 'z':0, 'y':119, "2024-07-01":1, "9999-12-31 23:59:59":null, "300.343":0},{"300.343":0, 'were':null, "2024-07-01":null, "2024-08-03 13:08:30":0, "0":13, 'I''ll':1, 'well':-56, 'will':null},{'some':3290, 'going':0, 'a':4690, "9999-12-31 23:59:59":-32768, 'had':245, "1":-7396, "0":0, "2024-07-01":-10142, 'your':0},{'r':12522, "2024-07-01":0, "20240803":-1877, 's':-32768, 't':32767, "0":32767, 'there':30349, "2024-08-03 13:08:30":-19441},{null:-2147483648, 'have':0, "20240803":1856634675, 'k':-660557385, 'in':1225999107, "1":-2059594357, 'it':32679, 'we':-34554023, "300.343":1529775365, "0":32679},{"20240803":306556620, "0":8202915, null:1724380732, "2024-07-01":-2147483648, 'q':-134979284, 'one':558218715, 'why':147483648},{'he':20240803, 'would':7753097, "2024-08-03 13:08:30":-6137561458327581995, 'can':32679, 'i':18985, 'n':32679, "0":8, 'I''ll':3533984530927246144, null:20240803},{'were':1, 'about':-2709522329078642640, 'in':1, "9999-12-31 23:59:59":300.343, "2024-08-03 13:08:30":2, 'so':245, 'for':245, 'o':4, "2024-07-01":300.343},{"2024-08-03 13:08:30":-2528490198768088799, "9999-12-31 23:59:59":-105208821003488786, null:147483648, "0":245, 'this':0, 'do':1337412902, 'i':532007806667193183, "20240803":147483648},{"9999-12-31 23:59:59":-4185516, "20240803":245, 's':147483648, 'good':8374151, 'well':null, "2024-07-01":-1048671281, "300.343":245, 'don''t':null},{'we':100.02, "2024-07-01":100.65555, null:7.5671477, 'd':74.67021, "2024-08-03 13:08:30":63.24146, 'but':40.123, 300.343:31.052526, 'will':33.897766, 'because':300.343},{"2024-07-01":null, "9999-12-31 23:59:59":28.387255, 'that':19.016495, 'it''s':40.123, 'with':2.5148387, 'm':300.343, 'v':40.123, "20240803":33.40291},{'what':75.27793770277425, "0":300.343, 'j':100.02, "2024-07-01":40.123, "1":65.35493932977697, 'had':97.50750416542311, 'h':1.4482351772555329, 'or':100.02, 'k':1.9636106346616558, 300.343:100.02},{300.343:49.22115547561712, "20240803":null, 'q':100.02, "1":40.123, 'x':85.96809614918213, 'p':42.053977118824584, "2024-07-01":100.02, 'u':100.02},{'e':26.0192, 'k':30.1774, null:37.1357, 'have':38.1582, 'b':40.123, 'I''ll':40.123, 'o':24.0221, "0":100.0286, 300.343:40.123, 'on':300.343},{"0":2.1295, "1":100.02, "2024-08-03 13:08:30":85.0870, 'why':18.1113, 'out':100.02, "20240803":77.1395, 300.343:86.1929, 'say':300.343, 'want':100.02},{"2024-07-01":null, 'go':41.0139, "9999-12-31 23:59:59":null, 'r':29.1696, 'i':100.02, 'why':300.343, 'good':null, "20240803":300.343, "300.343":91.0689},{'s':100.02, "20240803":40.123, "9999-12-31 23:59:59":79.0693, 'e':null, 'd':72.1586, 'm':69.1588, 'for':40.123},{"2024-07-01":false, "2014-08-12":null, '2015-03-26 17:00:15':false, '2017-10-06 01:49:15':null, "2024-08-03 13:08:30":false, "9999-12-31":false, "2024-06-30 12:01:02":null, '2008-10-07 22:37:45':null},{"2014-08-12":true, '2017-05-06 23:17:27':true, null:false, "2024-07-01":false, '2013-07-18':false, "2024-08-03 13:08:30":true, "9999-12-31 23:59:59":true, '2006-11-22':null},{"9999-12-31 23:59:59":0, "2024-08-03 13:08:30":1, '2019-02-04':5, "2024-07-01":41, "2023-01-15 08:32:59":117, '2010-11-04':5, null:1},{null:-128, '2011-10-04 02:24:55':-123, "2014-08-12":-19, "2023-01-15 08:32:59":0, '2019-05-19 23:58:39':7, '2006-03-27 09:11:02':127, '2016-09-24':-54, '2002-10-27':6},{'2009-07-12':-27017, "2023-01-15 08:32:59":32533, '2014-04-08':-32768, '2002-07-04':-16064, null:5515, "2024-07-01":245, '2016-07-01 20:13:12':17873},{"2014-08-12":0, null:29706, "9999-12-31 23:59:59":-32768, '2015-01-15 15:41:18':32767, "9999-12-31":-28432, '2018-11-26 06:25:40':-5878, '2015-06-02':245},{"2024-07-01":2147483647, "2024-06-30 12:01:02":147483648, '2003-03-01 01:25:19':-1715875721, '2010-04-24':-1214322353, "2023-01-15 08:32:59":-1540197620, "2024-08-03 13:08:30":674567106, '2003-07-20':945382349},{null:-1379501552, '2014-01-19':556862519, '2009-01-22':-2147483648, "2024-08-03 13:08:30":-1199610683, "9999-12-31":-2147483648, "2024-07-01":0, "9999-12-31 23:59:59":1670113493, '2005-12-19 14:27:16':32679},{"2024-08-03 13:08:30":20240803, "2024-07-01":5, '2010-07-26':20240803, "9999-12-31 23:59:59":300.343, "2014-08-12":-1976028327594012237, '2018-06-23 09:52:19':null, "2024-06-30 12:01:02":-6897275666552254465, '2002-11-08':147483648, "9999-12-31":5664014},{"2024-06-30 12:01:02":267818413759581813, '2010-12-10':null, "2023-01-15 08:32:59":-2524298, "9999-12-31 23:59:59":14313, '2012-02-01 05:18:32':1, '2013-03-22':null, "2014-08-12":null},{"2014-08-12":7330512329791964687, null:245, "2024-08-03 13:08:30":7316882077406971313, "2024-06-30 12:01:02":-2433609133338768380, '2018-11-22 15:50:31':-1939818298624770042, "2024-07-01":5343891, "2023-01-15 08:32:59":245, '2007-08-15 23:13:21':245},{'2008-10-25 17:11:58':2042743331, '2018-09-02':0, '2003-05-26 01:06:44':-9223372036854775808, "2024-07-01":9223372036854775807, '2003-08-03':-5626648705378302169, "2014-08-12":null, "2024-06-30 12:01:02":32679, "9999-12-31 23:59:59":4891454805709059916},{'2007-01-12 20:16:07':100.02, null:40.123, '2013-12-25 10:25:14':40.123, "2023-01-15 08:32:59":300.343, '2009-07-19 02:49:50':100.02, "2024-08-03 13:08:30":100.02, '2016-02-19 06:04:39':58.371445, "2024-07-01":100.02},{"2024-07-01":100.02, "2014-08-12":40.123, null:21.309368, '2012-07-10 06:23:04':65.82874, '2010-09-19 01:42:17':300.343, '2015-10-13':4.6754413, "2023-01-15 08:32:59":61.32648, "9999-12-31":40.123},{null:57.99456001027119, "2014-08-12":79.8277913288556, "2024-07-01":39.46735967977631, '2000-01-16':null, "2023-01-15 08:32:59":40.123, '2018-01-07':40.123},{"2024-06-30 12:01:02":62.200189505924136, "9999-12-31 23:59:59":100.02, "2023-01-15 08:32:59":47.98145636987868, '2018-05-13 09:13:55':40.123, "2024-07-01":100.02, '2001-11-27':47.75810291783373, '2000-08-28 22:54:53':100.02},{'2013-09-07 12:04:14':300.343, null:71.1643, '2000-03-26 09:48:04':40.123, "2024-06-30 12:01:02":100.02, "9999-12-31":40.123, '2001-09-13 18:28:39':78.1915, "9999-12-31 23:59:59":300.343},{"9999-12-31":7.0116, '2013-06-17':70.0210, '2016-01-16':100.02, '2003-07-12':null, "2024-06-30 12:01:02":12.0092, "2014-08-12":300.343, '2009-12-02 09:43:56':null, '2002-09-23 06:33:10':100.02},{'2015-12-15':87.0858, "2024-07-01":40.123, "2024-06-30 12:01:02":300.343, '2019-12-15':79.1616, '2018-02-22':null, null:100.02, '2013-09-26 05:42:25':14.0841},{"2024-07-01":84.0137, '2013-10-22 17:08:49':300.343, "2014-08-12":75.1841, '2016-01-11':null, '2005-11-09':62.1881, null:56.1667, "9999-12-31 23:59:59":300.343, '2014-09-20 10:05:06':300.343},{'2002-11-25 10:23:24':98.1219, "9999-12-31":60.0834, "2014-08-12":58.0686, "2023-01-15 08:32:59":null, "2024-07-01":62.0539, '2004-08-11 18:34:14':300.343, '2019-07-15 00:30:57':300.343, '2018-09-03':88.0402},{"2024-08-03 13:08:30":null, "9999-12-31 23:59:59":47.0640, '2014-08-14 22:20:15':46.1317, "2024-06-30 12:01:02":89.0643, '2008-12-05 07:42:07':100.02, "9999-12-31":300.343, "2024-07-01":40.123},{"2024-06-30 12:01:02":300.343, '2014-09-09':100.02, '2009-07-16':53.0095, '2017-11-22':54.0677, "9999-12-31":46.0770, '2012-08-06':34.1819, "9999-12-31 23:59:59":40.123, '2011-02-23':88.0025},{"2024-07-01":13.1563, "9999-12-31":300.343, '2004-06-26 12:15:07':75.0111, null:null, "2024-06-30 12:01:02":300.343, '2010-11-20 07:07:26':36.0049, "9999-12-31 23:59:59":4.1549, "2023-01-15 08:32:59":47.0837, '2005-11-09 11:08:40':37.0836},struct( null,1,245,-797971699,20240803,-9223372036854775808,40.123,40.123,81.0266,100.02,300.343,49.1486,40.1657,40.123,2.1157 ),struct( false,127,17132,-2147483648,147483648,-390616889,null,86.91848656211198,300.343,62.1359,40.123,83.1822,66.0044,100.02,100.02 ),struct( null,1,-32768,1963783650,85,147483648,40.123,300.343,300.343,300.343,30.0675,null,300.343,300.343,82.0004 ),struct( null,0,0,-708369214,3,245,null,null,100.02,100.02,81.1418,21.0286,33.0338,12.1343,300.343 ),struct( true,null,0,319837198,147483648,null,300.343,79.29708710792123,300.343,44.1806,57.0882,null,40.123,73.0501,300.343 ),struct( false,null,19169,-1196333422,-8088,1410331977,40.123,null,300.343,100.02,40.123,100.02,null,36.0555,57.1394 ),'{ "c_datetime":"2015-06-24 02:18:31","c_array_tinyint":[55, -117, 100, 63, 6, -121, 107, -57, 19, 76, -85, -89, 7, -93, -98, 42, 31, -47, 45, -67, -68, 97, -112, -66, -106],"c_array_smallint":[22421, -8026, -26829, -16381, 28622, 5128, -4813, 13068, -10900, -31984, 74, -19193, -7197, -29027, -16388, 3838, 6462, -21294, -27966, -29320, -26736, -27813, 6559, -30681, -13869],"c_array_int":[-2143131888, 333506652, -779690979, 1998989347, -1143352048, 726233362, -2057328534, -1600519964, 951825189, 2025237471, 1798417131, -1478269094, -1765857524, -1971531382, -1911189004, 791109718, 2041272057, -869729057, -436410986, -1440490616, 2111146648, 618718855, 507291618, 1632431877, -242731061],"c_array_char":["kykMRylLZj", "PggXYgWBKY", "NNvJPttDok", "VdJpTVLhxw", "TuWodCNFQt", "UwusMebZpM", "SqBfttvEAr", "GrSDeKTrZs", "oNDwGFTMnR", "cBzmgnvAhG", "SZJOZDBUct", "zghJLITBcU", "ROPMEoZKUI", "rWEkaFaVPW", "UoOQvKKyJX", "WZpCmhrBCr", "EJNYSxQKCF", "CjEPMpnPZd", "CQJlBPloga", "pLpOarpAnc", "SxPfOcFkRj", "GpgGmZkcgQ", "AqsIVtaKtH", "hrROufuVLy", "VrpeRnTTEn"],"c_map_double":{"c_map_double_1":73.75725552069976, "c_map_double_2":19.520129431973672, "c_map_double_3":43.40516603512509, "c_map_double_4":23.248134193273394, "c_map_double_5":38.42802904508652, "c_map_double_6":71.96373603211775, "c_map_double_7":11.020976784963459, "c_map_double_8":100.51447841951882, "c_map_double_9":72.54873051250722, "c_map_double_10":54.8706200034146},"c_map_ipv4":{"c_map_ipv4_1":"160.123.113.187", "c_map_ipv4_2":"117.214.11.122", "c_map_ipv4_3":"227.104.137.192", "c_map_ipv4_4":"18.155.238.141", "c_map_ipv4_5":"89.147.158.209", "c_map_ipv4_6":"179.110.179.175", "c_map_ipv4_7":"254.207.202.28", "c_map_ipv4_8":"105.192.228.183", "c_map_ipv4_9":"254.166.85.35", "c_map_ipv4_10":"228.104.8.68"},"c_double":41.72053102775114,"c_bigint":5440590870111340350,"c_char":"jOvyxoVAnZ","c_array_string":["qwDTLVNCPNoRqMzytUIXDVIqZaSxIsJRIXDFEzmjdNzRjXaBdccWdmfdEBkOisBYxSTBvozGRbibpiVKeuxpmNoPeYbflMXGGVqbhwMhqKXDPFsOTrADCLESNxiREnjHvbwFkCgiiKMKLlAZCEvbxixwmTCoHglZztjGHMhgPyFDiPEEljxWRrlSKTwXOhjiHnYUaMHkKXbGPzyMgwvaYlinlFryPAeHaYXtYEqmUCmJZQXpNIxVAqxeysidSGrpFiioMWHBIzDxxqmWhWWDuZDgDHifwTREkVEvTAQlvbZKllvIVGaURCRFLEkSXwtAWLPJMZdDlEwysRcYHqFZVrcwNLIPlpPFjFECWeRuJsUETfEVILntHYAZQjroloNtZEAhmHqDrknwPmLdBgbGfElxijpiQmqIzpZgNHhicEZZBOsrCkHyEWvOIkMSpmIMlytefTLBwojpzTLxXEnRtyikWIBrwowRvlXwSDAHjdpvSDTjexTOiZCOTADkfHVs", "sNdUqpppgDbvbBAlzTPHwjOiyINabFncFXocUfUBMsiViaKAffivtcraDmcQoFMEOklThMjENwbOuITaQcnjxSShMttauYpifkvQBQENKKPwhIudYQpzzXYlOsaMOgaAuupyREGfBcIaTgKiQxHRlGvoDXhpPwdLDPWoNGgETKvVTfTLhdrjLbHUgSffXaYTUdXFhqEmcAmEMPkVoKWWHWXIdsqBuEhnBqGBeHZsNbKEpPMPaLIejpQQiopZOFzgzBgFYGPYSCUCrIcQQyJqzgLjFscyAGWZlnXKtkWHGtPbPkqWkrUgVxlzkqEsljDfpFAwRvhxchhuBlJBhZDMXuoZBBnAWBhvCVZqCHBUVJKVCsnFEvfOzzTYQILUvoSymnGtpyekeeyFvHJqszdpZipDPOuavjjEsFkhacBtAzmTNXGbfcRMQjrAxMUddHrbIZpgdZMdtCcRXbjldkiniLtjXXvvEjmEgvjUraSdYexljqxphQDrtqYzrmrBZAfh", "dWhqJGPLIDXDDeACOnuZvyeYoeZJkrWEQujmsCnfrxmBPwjDTwTmedKJjijmWJewSdVCNgpVmAaxODyNnCUBZWqulrybkFlWEwutiUQHoAUoaeCTiffTRXeeiPbfddtTmOppmvNFMgfBfEjzyOAsxWXAmcQIHaYKlUMqGVRxTKiQmgfPSDGTJUlDwcLsDHzoSGzwaRVtKcCVQdVFCHFZpjXkZxbyXpPPxRNFtcUJDSDErUcGgKqbrThetpbVddABneJBQgEBoYdaudRcitgyDyveVBIXTwiZjTLqWAQdRHBOjAvpCBfmtJLmwmVvyAWdzuUHqOwPjmIeohDHwENrqKYEXLhWIlFxwJOAyAJlmNDjDzOXUCjoVrSvCuGFYbmlTvfyGDQqRbHRNKFvnPpgDvIqvPdcstYeMlzgaTqrPbxJxCZSFXVMjYDHLNGUCtmIbxLmuYHmlAfwCKySSckqAsHOHOrLSBSsmzAEfkkvdaHdTeZVVrsSliBdkDXPEAPp", "FXhzUmfnuTGTHckNUFDdHnQAZOFVDEvzuckBBsNwpwktLjaLMZppeSTAUmmBppGSdAfQSPyeKzoXmcUoTdKZvamfIUbELsgZrSUjCexWgYqYlFuFqqbXXvwJDfHjfulgfprxmGDmmVAqfyCEKYdaGIBpJiMeTbdUwMqZaqJYcgeVQvTcWvLSPOWvuNlQPqSFHRYhhMpBGGFOKqiEcZxPmlkjCqQbLvERPIiXYbDRhUWPfMuWSefcoiWexvlZDBvbHNfTRjUcVqUGIstWfNjSoMyuiVkpWBmeQcILWAkekmkkuyusTxHIHDmmXRjHQmAPbooIqEGSqiFVMYybHNmRjPKzJjHhrqYxKyYiLxLjgtsITtArqYEqMHPfqBPwsVTdahvrUWzJteefsdXeiUzKkiTczJnqbyzOQTAEuXAExjPNLmxkxfZCxKGYBfBvRsbHbRLEoWkNhkTQYVBSENuETpzRviwITEGXdzpNylNMZaVxYbPTWYzArnCKMVcqxHfD", "mZvekgbKlGTeCDBnKHtkigQCpXTLPwIhRJCZYOLloKoshSuzEksCHhhAOQQruvmRgLeFiFyAMoNYDMKcbKKcVcTRtDcHgESonrPpNLsGZgIuzFxLWZzpUsPXEJbgHlQmyMxXudoGDJUgmJzVLVQXqSanTCWtvhCHvpwrhnMcYIwShRDuIjspsAhBoEprkuFNpCPOdApXmDOEoTJOixlbkYsOVrhdlviWhXySeQSiCWQvClYwrhGjyieDCPzbjXErsmChciwOtgZIoHhmIJaKgNtdlugseebbHJDromIjlVUISICWXbtzPkCLEZfExwiWbEfcaOMAALoZrqversoayUMSkJItULpXYEQlLXGpJWXfREZmUlyZaGNeqJLkNohorNlsSqloZwjnkSlDAWSsTvjwiyIgsSPLlfHVSedHeJFKouUTPMtzSPGKTgPRqAvoRbPkkFsahZTZJRfjsjuxMIiehlCvyLgGoJwphkTuyVJQnzKVKXpmQEDUuyOHqCSW", "HvOpMDNHyKIokIQKJLKSUpVlnPpfZmRFzASAWtlrtUrSRafOmMJuwBGSHMmWyrAxeINyoFYUNWcePOrMOtvsFVXmpVIbnflMEHtyjxUKhKrZfPMVraazyhSNidUSsDvImRZXKxZCIdHQEzdmVPsapJwMFSZyBylIVJIaLSKNANsYMRARJMSYRVpLmbYoDhdKDREKarfGWwCxDYqjIyOWrhdsLzAnxNGrcSLbKJErfILlkOBTkJBtEWhzHzSxsNBgcYLVizSbOopLRhjdCwzswFXIqUYaIeekdlysBzdgHVMmpblewYucwHdjXbrcCjiFlHOCWlKdYeKQnxlyQQpYouwUNpMwAPXZJmThIRyVxCVuGdHrVuyTQfOjvpMrOlRLaBepITZbOTmiyjBkhAmWfsujNRBZuHFlWeSOWYtWZIZjlCictSCNRqDeMErDJUWNYXleVKfPnEHMIlvmhYRycYCjKQhGSTgpClyVOEzSCRLPFGMeKKItgKQBLceIhZHR", "HthaTLjyHIzAbfJajdZhKBvkQqoRZeXGJVSNkMFozyiEOgvDBdYxloSFlUppkwGaUXkQIZdHKImRgkZAaDGFEUQdSAyvHHHyPknABCAZkxEZGWipNMqSwGlHPBQuVVpQMoYTxacBYxDUBZHWqlexkBzaRdAIykOQJAECuVVCCGAHJgrqWReYnXCjwTZXlPafVWlZGOePTCLDWlLjKkfCRqXJgJKDzUUgqONLCDJBaMznBKRnsOzAvGJXXMekRnOoKoDCmxHNMuEouJcsgZrhcPzAJcEtxAzPaQnBEIdNFLVfLEwGxlhxIPxMxNzvzshWZaestDgniYIFonLGxFRNDQesCFLASCNnltAkQsRzkSQrWUcIiqtJyhTtkrfxibNOfcCFyGFrtCRCGjnXIKnxnFFevDYspKxHOLEpkyNsjCnLaCybubOxZUUEARbaoqtodfWszmBELAiXbXgQAoMgTpbhvEnsOFQYLiWQaafQuRgfKgCJKZrJaAnQEHRNWECJ", "SzKenQMygsJQCwbdVuTsHKwxSgnkLSwSUxSuABZpTozcCDppwLhTWCcbEsBuOmZXKYfxFPLuraKjopJBHeWBEjThuDetCKzKHcYwfoNqzEvdShnUdFZSRdyMQSJhCpLcFdRTlJSqJAarhcJwcoQjwdZuLqKlSMhflrpdelghopviVeeXTLBbsjYCCqTeqEEDgLVWrFDwfMukFsEicNJRYonYYOHExxFwINxCsaUOcWqzhSpbdSwQrexMkCDznhYwnZqdlHsjDOqhlICsZFNQVUjzPJuuCxsAxsCNlmCpittIMKsHkABoEjBYEgogDxopUEtbESBsUYFVTmdkOJFpGlxSwpYBnmAabXLCsaOkgksCSdYDTVXRIVuMiPQsyxAyLiOERLcRrZbTBetNLTgwRNQSDByJutOwhcQWAyVvLKkGdeLDwvYWLSYxFboZHuxgjfAsVrTXGubNqegFFcMMVRVxlqfqgoilzowOwrWIomzXeJwyJbDHzPbPOqJnoVUm", "oXakskBmocuYhQnGYRPgIZYzBWXMRlPftDmQQsmlxkdlsqxPwegkJqrwGkEXgzcewMxgBSFreWAJsrOJBATeeUjVjGTjkcPVhzrSRdMLZgWwXAWcwCdcLdVwZsELGFHuZpomdGPgrvHQjbTOqsOSqKqxhJoHMhFwAZrbTbTmdWMAyLCOZgNgsBpcruBsKdvUZwMVekjkxeuoDBzRvRmBkYmHdUcPRflBqJoGMuacEYbKIAZDmqSiPsApEcgLYTCuBnlTPkRURXyOnzXqrrtefFiisNMVwYjoQrzbKvMjhyEfDbMNmPouWraYzknZqBiSrmvcCXhlQgLHfclrMQhywQiXCWULGQItdhAcYxGkGUJkGBeHdrEgBIiasXCExOURkHhmssEBuZLIpeVJgyQzeIDHrfVtRYDWUxTcHPSNZxwxDVVbvpGLRVeEoPEvzkCrTAzDRyPmHahKqESbXZVVTDwQjrNmckpaCGlPnnwsWrXLgiRlgjTxxCpKhBMrVpfX", "xcWsGwrVvupWVxcNDusWvFHcKdXBZYgIbhqnJPIkgnbCwdplzAolIJRFhFzpBqIQPpGLYGWgEPnGtFQdQgMYMMXWTwuzKFfkZpwASCAfipoSoJnhMOSLdHxvSBJyNfecTxGQTjOjmhwAwZbmYRaQKbbSTdEVpaWVlUwuQfbGzgXJAYpIGJYsaLVSJeMShwultYFhqgsOyJQelCusmlkWyQcYCkbCpJEtPsYCksTsJeptshmRMuVOwidbPhNvKkgymROvalqlzIfcVbeSYTzzOvfsqJuKMPQGWuztvTebLBTiiajCGniVtmUoUQulFISjAqTzQePBtOtWWLTJPmJzYUhhUyoTWDqYyFzDUWlhGcTFAquTeKkNmgWnxvdoqjAxOuMBoGTaSrUggPmaKYrpSyrGhRcEyGMdmhCQoAOcLhCpmeTUNpCoQkDFbyiTJQrMTPwRqUTxbErxqHYWEhAYrmcIGziOBuRATiBHnpCoqSiZIAvQNTkOliCXeZWPXKZi", "rGbFZEWJVerMFALmezXdaBvCqHUYsvZOJUDYBRUEBgszJmqIBUpPodIMyMizHsvUbSnlRlbiPRBgWSkirhcTejqyNjvQZVkwfKJgAwHhrUfHSZoAzfzjMiEHAihAOLDihAKoFibiWqkcmiHaQulLRnMCQYHddEVVCQvQUTIBssMQoQOHxFTQDlciNptvmfFpNFQGNScpsrrGzpQaeXbOgSvLQnBzilmdgVvaZTqZcttBcgYgmzGeaQIuMmuhUIQwjExgbasGuPwUhEeJxLWHwicjzNaHqRWMNyDezoKKrHtqrXnRCnABrWVcPvVpdGmmKgYaTvAdTgthnfmbEdYVTUAUQrRRfzvGkAVFfwpGMifvZjyGBJKFfSCrOgmeysiKFuAIVYSrEZcRwbfQsokNKIEEhAfTcbUhmcatGNAEdAQjUSRSgBNIfPXckqSWdZuBmQdASUgJPgWPJAuuYcmgBzacmIxPRQWNJBEMATaJGfygsDkAxhqRKXGNiPtjDxhm", "ufVuccsBMRWIOWhtudlxJHcvCUECcELOCFBePrOsVKmCGEdviyUSxzXvOyRozoOBeapwhlrZeMJITpcTpWVyHoZkZzSajIjVEKuOVpXbqzVqWvKfhzwwiCyXgNIchpNULzgWumfulXFHxtIjVKrVMLdZNAKDSdPKJUxyYjQyVGKZNvqosKLCcvhfeZUcrFOFjuWlnfQNfgtQjHOzhoATBcpPZhsbroXiExysrWFpnKlQsaURzwJLlCBzAWZaNNUhESuygIonXvGfLycjysgWkOtBhWrSaoGcIpGjEROqHUKNIAIFnaukWXxgcAeCyuSPfVuPzkPTYFqKpOAZsoejEDlqEVHDlBEAeWrazQIyBasxaJfIRsnmBBHOwgSCOMZZImyAYCHTxLSEyDyufBoZfityCeUcQxjgQuEKgqFrzVIjYnaehjZmNSWoRMuxAIaDkNrsErdlXMQTmNybEVyHbtzSFmKaGfMOfZVUcCYPjOleJiNWnzAMehigSLDzBcsS", "TaBidmrnWxabqtSjPidbkmQXKgWKGqXWzVcZuSreGKocxkiztvrlclDfhCWaiJFQyyKWlefxzKDWNTVlHflRDhPfHyVZDpSXuksNSaZPnCXYgYnMtOkGjkbMShSvCBVfmEUjjeCQURhnQGPwIyhxJvGrepxKdhYoudAxYeYHvGvyuWxaUGcibfWOFAnHZJNLCfqoUgRSNQlOjNTrAyLNKCCuBSZYuvuXUewCYnCMkqZOvnjrLzJKHwVwDxGhiihbUEpfuIMuyWDVmsmrDBReKICCtFAIbahWcupZtrYYpiuPybSsZztSmrBJDjbCvahNLKWedkRRnCrAyziENckLOONtvsogOrHZAckXRvUbfJRfxvanTNhKAlogIAbDNWsMugaSZKAGZCJDOcgvYwBKiKGvoKcTFimVxHdBttNRczsJVRfmkeqmObPfDjWBxaLYqKBsqAtxGOfqeuhZOnEKNAxoLGZNGudlUuWVtjAzAKSuYPZKfDgUbaHPbdfXcgVZ", "vTMFsNACgdazFNNwcoLketgrocBWOPtRTBmtQxUMoOilGHqmLsWxItkRcixZybmhKUwkNzmCmXortHvVJifFNZPaIqvJMEuxPIgtqtEpFNfnMUwmRTmiQrdgkLtUUVXIxowAmghYXJsVqrkvLLwoyLzTmzENSaKpQIHiSiuBfRZPGuwxCvsvssiMHcnljCnemCvztkzVJqGMktlBmPfxJxUNKxPQkziTOFFMjrsLPKKkZJaBGuUDliuvhMaUXaRPtQQXIrHRdCDwYsWcmNSNCjrjJmHgbqtdxPXkDnGCUnJcIjKONAKNZAWPMImDinxodzazOBlXtkAfyxKVSYVHbWgMHZWpxrTffOdxDqyLyMAPHorubTCZOhdgqofwuyNrUkTjCBCafaGKKAIXHRPpjyoqgkjczUYbplOapIRLwtanSUaGuggWluHQQlTsrgPuEYZrgMPmjuUjtjuycIQZwlsplqYKaJpdxvPdNyWIpkiNWRiApwSclWYsmBuoBfkD", "kxTMjYLlenhmBeQjtMOKidRgUjRaBruuptwoFWrWIBgMjmsmQzGPpmAcioMxcfYRUgCQCakonFhDtFPDhnvesVNCNKqacaCBXvMXbcVUzSNjTAKbsGLsdURCMXDRtfMVzCCqYknSOXBmlTXpCDiuYAMoJUFXrYHaTQauSfPKzhHTXdrfLzMCXiqnziRioPuRUiWdFyTHepyMyJHeKPSSQRJXqbozKNOlrmKGyuFMGgRevJTQBBtWVFXnfQilnNEMKejtjOvmIXuRAMJHsKellBAemtbOTNiZuDfsXLWrfiRYsoDxdxaSZfHtdbjWZKfrCilVUDzhtcyGMQVBefZFtaTwiSGMvDOOdDFAggTzPSxNdYJeoRPCUwvQvVxEYRbwDKyTmLFXiYuEKCFefisdyhjuvAFRhqjFtfBwJQEKMThyMlbiDRPnyJDybKIKmvnGPEnbcURQcbrecLpFGdYveDnoYgXdTQLyNxqdhedozudURdKZMisgzpIzPvAYOTWt", "gTIjqOVzTxciNejSpzhaYfrVUYDWFmVxNGpmqVeXwDQSVjmRXVERwoXwwOZlKFbueePPpFavEvjYDSTYPVnCkQZSzphOdcqcFENVkFcGXefkwIWMHZOZzCbhwYSOgQNuWCSsLZEfLTjqTtAarQBMXKQnTSdjWEkcasrILViXEBiwKZyiWapzvfyUxDYjtMRtUFUxAuUZHYDMBozCBGTcjgAqcQdHViKYrhtHcTPfkyrrvsMRCwBQSqRdTspaHKzEtPiJLodMlXztQiwadZPLxXVgQFXWQUCTroAQXYYDjCNeNsBLnCXlDEpQFbchmArgcfgXvGFBGnxMBCkcuIHGCnaLpfcmBbfKaRGGZVgEEcGYJKcRNkDuibiJnoxZxrEoAgWglBeQnvfjusLLjLirUCwmlOsSlgmsqHoZTEdakSYQyNPlTpZrSupdeNoOoHtcASgdsymocUYGKpwsmbbyLIxTvemSxCIyHyCtvAUIWctXGBFjCDALekYQHECmFQvH", "yPOtHRhHDDotySBvjdIhheNgRXEreSZUEMeSOOxhavlYZQhNyDVnjFRQKndocDHXpgfJZTiDLGwJMpRTgIKUFxHPTDAodomDEEoxUFiYsrSLOLyomwQZCFGwScCJbsVjArygWvdsiDSaPlEkFYeKKVxapOvJBOSIicmdszIZeVQvkIGGKYHYcHhRLqYfLHYPwHYeTJwiMazPIigksVOdrmpngudLoxkSxVqAsnwcfsAKIaQexieIORgGNjYLVlXkWXEudmQIwaSIrBpJdkYYTNgwIHBpUayRxwJGixQLTTsMFfHVfZCqVSVOVeEZdSBaSyVEnwFdWzFrcCiqgCRqjAZeDWfJsPzPsglYYlRerdlNMglzidOTzKeChvLeYemfilcAItLPIhQbubPjJCHePXmyoyZkFWNVuWcFeujfxdyFHPByOFWkXnyyNAvxQnRKdeVAKbQLoKANSYKnarUeNyMlXblCrqLXCOZybALwglFlWJRUnHhAeJNpVHDOhJHl", "cxasKcjJdbPlZbVrbxGSQgdVUeRoGobDqVIRNMJTALRmfoHGylIFhFxUEpPKjUTbUBUZEztegbbSPTScWRcsyYbeZsXbZcayAjTzyMKulygyjHEJgOHvbmxEnjMoSKHUqMxRYjERREfZisMdrqPbMKNlmVnMiSXJllbOtdKGRTmosInKlTmSHDSTPCTSRanvTsCJDgxESgTROHNTqATcCgPirREVghwroTOiYrxRFcLDxvaGQKzakuRFRrzaiyZcbJNXrRkqmnktyyqBRQsyQzCEaVNuYjgvEgNsQaMBnhNCpGJCdrYghAnGBdqisNiuSrGKuNSXYqGOLJUJfGKJEEonUxbfNNSSZsTLMEOeikGbomhwmLxLvWkgxwqcvNOtJquWVCvrImJxVXqrXIALYPhPQqUsQOqRuIDyCxxezDQcJlxPccJtcWjOyTGJekdlGZxNUyMEaZbhAhWvCuMNBCdaOBfCQpzXQrhGaxYvoATIUshpoIWCCYzjYdDMFjlf", "dbzhdQiGZXvFchVuzKuMfAJlIBAjIhEUnoGOfpZrVGUksdSfTPQwVsfOzOAeltvkCUmkmVcUwFuyIcQCqkoBBrmOuIVIFPvhEkjdvKnFCnuBjRTrTicsMAeVJBMEKcyxxgJSiJCMxWhfrbQvqVPibdNhHljNFJvUyBHVcZWsPpFOLwCvxaYnqxuFlIjMuHwdaFLHFJekhoxPRMzYZQOZvwXGKPrwrycalrQowKJyPbtuCRBgkfcKbXBGZzOLFIDwGEueJQpehZCqhXktvjNRqaVfDsikOkAoFCCcWsoeZNDuoxsGhTVwqoRGfbMoieeCrGvCYIIpyBAAaUSjhWFWhRpeNKgpZcKPTKXsdrJApqvSRwrnLvsSzbQTgdpPPCgdGuKvppALPIoIjlgkQBrhCbaYkRgMKsuIyJoXChPbZQlMxhoHISgyFmfmaejgLCDEzytLloTrCZQBNLPIzyFOpSvaEyhOrUmRMexiEVZwYVxikjDzBFxyCoXidNdhWzRC", "maxcXWhNeUVjoprbWfLDawbpPaBnSQSWuNpORhZfVsSMgAQurJQDvdBoVlcaPlyLLBprlZmBmdagvPGcHFlwKmlwCvVaaAazVfdgTzYhTvIaEHWklKlGaEFalyrVnKvlHbIEeCZfuKroQoFbjdRRrdSAaDEjFlmrVvvTfzWuVtSARiIjZNiHgisbAulTnbamGrYmiXWhYJfzwVtbmReoTHUAspvOKfTFpycKBNhTtOAlWOsvXDLJdhOZXPnIlXERcXwVJNDhLjMezkExVpNxBwcPPpmPrAbTxbMAaEIaIjtmNhzNjJVJQeUlajyJdnxzuLQvEdhBXnVEmJlFljKaYNQhOuadmSPziBdlkuYnSPKaNoXXRDyZSecHZiYBiEEtrHJTdktoJgKNzvuwjOLnCxYRHEzflyaVgxNjTPmRsoPPmysNzcfqtwUYUgjxzXVPLDKfeXeottJiMGkDKdvoJVuzFUHOtkzTUeWXfVuSOssngxqfMBBgCDetFRNzPfnW", "fgTYdcpeNYOByhpJgZszlajekkzsgIviXCeylDSlrHGfbbLOSQcIdzoGkvSnRtSaKyVQkwqDzARhpNKCytKwHwraDQOpVpsrFKZoQHEkefTUUtDsoSCbhnDRyPzNuArbbdUiivCYHyWVTAxDJUvcCZLyhYmWdBIWiwJhTxLSMRKwgoWRBrNdYDDwlHWuaCPPyOdRNLrfIScyUcNlMXwPOoCWUoTSNVToTkqIfsNxFfCRVbnwDlpAKSvVwcFLkjHEBKblVtdDSSJfgfhWzbXSIXGysGwFFNzPInMoSxnKIczcjgTuGLLJFeDpUSsaqOvmIZNQjLJxWRdWNfACOfoAHsqTcipSCjSGeXXEkXfzJVnpQevgLTHeQICCDgXGDfCDYwoZLxFukbwdNAzlwrshLRoozTqCgpqjYYiLWkugyIFBcqYGtgAJLFSuHyojGlGiHKVxcyZcyIsYTNyPyTdAMnRYWrStvtxTzyflYakjdyZkKipCfygxaEhYSJphzPGQ", "yHBJBwnZQIFFdPobAKeinDRgKldQzySgQHLWniimRCAnamKHdWjKZMACggAOCDNlQAmevkMBouTvRMxvwRptobIawSXiYJVZIWwslXalNkhYYXtfmlkssygoXYdsweamUJqHaCDLZInNQZdBPSpLBHdwQLVwplclgVPhADKiDyhEccTWGzyZwYfuVkeVmfDkqDPzjlXrnrezCVPzbVbBaeFuLhwzbMvmVTeGShIEPaHBqkqsjDHpMOEjhtECLwKpwumgCpRXzrvnLNxhzmHiFaWLKjJtJfSAhULWrPVGedRdffYAuJUQtcbfNeOkzKMCrEDtBxCpvskjcnFWeFbwOQKHgjrPrejdprBfxGxwzIvEXJqyvpvDwJEVQUuIRnQFbBBInoziRysOKqNBSxefyufXuvdqthOIZHHKRrtDVCNdutmIbvgEpzscAuGEfBizMIPMVCZXgsKqYrJaXTdNcEbhWdDvIYWvmpjrqTNoHIwBAGWmRXzOZFcqklAlbsRO", "jJqSRKOpzgKvMDFrySVjvuKAWilOuyrkGRPSnutZNnMFfbzPWVUQANwTTPvHwmfjgIYcRmuUTuUtsBwqwakjIzphEwhMciKSdcjPeWYCiXZXzfSvSqbyxustTBXLPtvBYttDxGQNlpLjletOkPfwmYUIzehajOQZwzqihgmxlaMIvQCbJVdDWxDmrAwfsQkKavaAUBGPxFaRZFWeCBJLeRAonocvpAMttnnMsuHbMuONVFuaXGqPFFYlrHfzZLpntJWchGyFlyhcArSFwSzhbzbheiZjXIDDatATaLTVYTqrxhsHmcEJoUKPOCdFNWSmngIcHYARhzeQGlqOPUOSicFvTMcYfAiOhfviwJWHmXQBwNArxPjWuOtbQxHGLfwNoHgmlVbVWALOpPXfARsQksWCramBAXhWmCpJqzYzbGuylKKMJUraEwnirWQaOoObIQGdaAjvmxWLayWVDcaCWAUcNDfVstAXQbBUVfLLCVAGkCChNhajKOsxHiEJdCJA", "fyWgdnCegCRYExGsmRiodeZolrLOZzhGkfpVerktPbyxZUvtxIRwppCydbRjlOtvANRlWbIcJZIzYoPgunpmkbeppZcZaKseKduueeHSlQCySKPATRSQAakOGZOXCeUPSvVArPoiFitAMQePWRnBUdSUvakleufGZfEOeixxkGmaqGTvrRfPphWBbRHjKZDWOwrUUncBUAWCpydWcykimIHkLtwZBEmuurcztPcnylZJGDKbGLXWfDBkgrnyLjBAbjKofYSzkNkqYMqpPzvpKmAXXXThOwzHCavPWuvUdkIxwZFfmaUkiWuNxjpERGdXBqtimBeBkiToUlnSDeaEFnuflFyrnEbmuRosoWxsxRnEuYiQchQafPWvVMnOmAXyjPsrYUVRfPtLdyQWjrIcKewBfXRGgUTZhJDjUCwnvavMDSDJLmIsGMBSWLhjPxQYiVfrHJDtfacAcEDmCjMqTkJKOXTUKXIZQnespcTkOUGyPbhinwXUrpOGtbUqQkoI", "AwObrBUNzSrpwjWAAGDTXFzBEVwSXAwhbjwTqJAlVkAIOtGhrdfPQoPzbbSgffzTwyEJkAhUcXESiFmYCNZfPbHWtMYbTesBzojdsfzwlHDibINIjaRyfGQMBTgiSymSibylACHlzkXYgtVrWhMFrOAkFCPGUjNXWhoIBnuFBzpFoBJKhjMtEaAgHIfojdoiqIMAuWzONLZmbSnrcJfcuuIJiMlLEjqQCVFFzwUvAvxBtwcnaTcUhJSEaVJjwwjlGxGDzJgBjtewpraSehMZVeKyETQsSLbNizBGYRgYUMLkTmUnxactUxsTyTuNBSVDNnnTTPzhvcZzwuFJATZhBwRaXqLhdSDXBoiUifTNQcUokGvbQOeNmvSbumQXTdPfnIslaZZXcznbpAyqjgMLGAoEZeUKplKaBuBXrhopIgNIEpzUleEJLVlLCxNctHHOowNlEDTaTlUkcDpKwyeLOYuHcUNrDPiAZgQFhhJdcuDJaEupsoWvmFwZFJHHMTQr"],"c_array_ipv4":["cQfuUoUlhr", "FuvViVvgQD", "FZnVgVXCdf", "YLZDYBxjkS", "uwFVQXAysn", "NihTqoaqUi", "DpqLIsQMAm", "YXeCUfvTzT", "iyWAEtchhd", "pgQnwFPTSi", "hBGaWLjlpN", "EdmhaLUVSg", "TwCwktVCrN", "DZbApsvlNx", "DSvQJcIlbM", "fjeqJBaIaF", "fKAwUkkxXl", "XvmZnlKXov", "GIxQBmURmV", "mjhcXLqRFQ", "uYqXVokbxj", "VOaHDeAhLf", "wWwJnWzinz", "HYpJNhMMgu", "XJpXnbLHrl"],"c_array_ipv6":["mvrmbgWxhI", "VhihXUuOzG", "IUvlvdSaum", "wAqbWFZoRZ", "qMuByAXLhy", "YZoWGWIVLc", "KvZiDbQdji", "dvwPsRISXD", "hLqJRTLXEn", "SPYIZegtwg", "LtFGWDaOKR", "fgtkHOIqiL", "zvjhDBCbBs", "RtlJCgiGle", "QupYowJHYr", "QHgavgYxrq", "rTlMNGdmYz", "aEgAtJEpJs", "KnJLdYdJZT", "hEASxAtRXO", "DFDOkxAhFA", "xqdzVEkLUp", "ahvjOdkbti", "opivVxyauG", "JyxrKluuTO"],"c_map_int":{"c_map_int_1":-552888202, "c_map_int_2":1966336127, "c_map_int_3":2065449119, "c_map_int_4":-1008248016, "c_map_int_5":1787185232, "c_map_int_6":-2131043818, "c_map_int_7":-1987462943, "c_map_int_8":-2026216327, "c_map_int_9":-625149836, "c_map_int_10":1579060881},"c_map_varchar":{"c_map_varchar_1":"qriEsllZWolbtPjJwZBTXPJszsTgwDoIcuQBlammwDyMAFOiQMgSEKCLnMIoJTPvvMOwxbKvnCqsYKlBMrdGzCGhYLeGwnysOYcnVADEInOTNiJUIMgHmBNOaWFbNRQfqBHIhaJFnNdCoDbvRqdgJNECeCaSbQdraDskCvbroArEZAxwHUCzfBKVIyNLGfnvbOlRsTzbyBCvpGRskHRDGbWmzhBdtQGdzSRynHbhZudkCThnqMTnaRfbkQRCKtaU", "c_map_varchar_2":"MxDdtutEbnCmKZZVEKCxwwoAsNDUZTPqmiZjYpbNFFZOgqapgCylsGqWlYVClOxZtxTuPBAwUvPfAcywJKeCNWbgdSuhwLqbjmphzCjEsjzXcKaSzUBeWDglGYXKzwBjdTctNqZKSSEDEUocZAqltUiywMpWZmBOEYWQNSbVPKPsyYvPIdLCwUoKIwbYwWXstbrVIQBbJanWIXxSYzGYsHslkPOVPiUSnYBLfdKizONuUHHVXAcdxznfsTUUjKha", "c_map_varchar_3":"GyuKsPbmwQMAMAZTrugzuRQkGEZHsBakbbrLMMKIahtfWliMXagrtJZoNwEdhvcaUGUFvYhaeiGWFYNMnvuWuIEEcAPEyAXKWCpAfSqeMlklnPMOusLwnrGYGWPXTHJcKJvuefknMMoTuFtXcuwoLKQzFlmWhuUDcTZmnpiNeSdIfftKYRgPGPVSDIBvneSljLFTMAAJttnxxCBiTDhXWSrnnwSRiiTreMKmpHCfABETXJiMylDJnOaneULSzqgr", "c_map_varchar_4":"merItVnkuXznEjWrmqEnxxJjtWSkOVvzzPbhSFSqzHtKgkJbYOCdHuXrkogBYyRBdRrycqRDTBcwxFKvkSMnoFVgoYGIpGDQmzzhtWCEVKOynjXzqULzJWZFxwVpKNqLCNeVmuQvIVYLSSVZKBXwXOIfSuWMAbIVxIQcGGKxtiJqqFJPildnaoHwITTsmKEjpcfRRBmjPBJEqqHfjWUamItjKKrVSzFsERineqLgErkjVEwLPcFNXXfYgyQCTkGI", "c_map_varchar_5":"OOzrWpaxJCvocmmKRYnPRqwNzQhnYTDopMbKLmuzRuPuGBRwGbucqPpPiquWWsaOBshzjrZUNtxaKxEGQdFKyNuzkmOIXGYtSgMZfMXseOJwnEzKLIZrvwmDWsuckzzkaPvCUhaZiecHIJdkPzLdYLyLnLfxXkBzYmxyShLafrmZrCKLMnkIQPhyioVGsiVtHKeCPICAEZzTIZZjqSdYZwTMLysfsTmHOHIkDhVmcMFXEHtCviynfDGhBKTSkfBj", "c_map_varchar_6":"eBGbdZhWJidaMZBIMcDbkFFLCPDNtupKDwbtTqlIkMAheJrgJXvYReQMqYoQMtHnaGrwZZJjwGyQkCJMDvuUauXmmUmlcdzotAkdYUrNAKWTaxFsbCaqApYKDWXTfGWZalRiwprbXxoYaTvJMZSIySmHfEjfPkThKaoXEfTKkgHEPJqKtrQZxSkmpEuRHKUonJfhQJcsLfwhnymmPflCusaGxRewEweIrsFLewxfkoxOBOlUXCKbLLLpfhDjoyYC", "c_map_varchar_7":"AVXTUdEmzxRkwefkUphaaSCHTZoxymZFWOsMCiIdlDfpEpvCPKVRaJDSvHVSwJIoYluoNGghMCjFIQqVOzCAGpasphdEEJWpIBdQmukaXNFmnhWTxhAKvBUPmqPHZvGiDjzaoNxbogKkLzflNetiUrxbhXFGhtXmGUtmaQuFCchFkESbJwTfEgqwRPhvyMHmClfDOzFtCQRJUuoyqiGmwrIvIxrHrTllxMxTSbfTVKcBHftYFkEEobrAaiyzFKFo", "c_map_varchar_8":"CxASZfyGJBhdTVIhFgJnrkwQRIGMNxLxHrizAnEpYSAsrnOjjSAIAqoGPfgeloawkZSoMXRcugsRgYqenDKbyTMBfjplpEeYqezYgEGZfpIiqqIGVWpDaxGMYyhKqcpGyWoocEUeMJdSbzsryYktloMudUgNezIdKnlazjgpayPCXkNZJJgEJBlCIBoAZAkcVwbEYYnFDvcdBgvcOwiqvFwirloHTIzVwJzZdNFFIDftdYqJcXKtQcYMAWkjcusd", "c_map_varchar_9":"wuoHvNOTImtDfsJeDuyZWQJkDUedEqhuDRfBwUlHSOxnlQqOJdivLTZGdAAeXSqDwsLvcZYPQyFAFuUGFrIBDNozwhuIxHoFeHDdbGKaWNTTmzECplkdrximnYhYbSAmBWQFLpDEbMwjATdjtGtiUsjWSXrlVKwxMEBzTGYBtmloBOZJJRBStvECkGRWlNAwGGdRaAaibaVuosBSzrUpEfDPYngSozZuSmytGSbHUnlSYwlCTORObNDPhjiHJeCB", "c_map_varchar_10":"bFUIMXgtNpBGveIQKvNxuDoYbVgRWDpWSoQmkhKyyQXMqxpUdIPfRMvPLbKaCvpCGphBRshqRjxnEJkvwFTapAxMmPiBKyZJSrBHglUFxCZyjlJNJAZkPINIQTdultOusvMbCaZEUJTGSjvgNcwrHgiOuuqIuDxNYKmxLDtnhOAnAyHMiATUBMOkIymWgXybfTCnDSRJDNOwajYEXZKsTzyXqKxVcEKzUdCqFcOQxdOKbULfHTgqkjldZycOkwQg"},"c_boolean":0,"c_map_date":{"c_map_date_1":"2002-11-18", "c_map_date_2":"2019-11-05", "c_map_date_3":"2002-10-17", "c_map_date_4":"2016-11-13", "c_map_date_5":"2005-11-25", "c_map_date_6":"2017-05-11", "c_map_date_7":"2012-12-12", "c_map_date_8":"2013-12-05", "c_map_date_9":"2014-08-05", "c_map_date_10":"2011-02-19"},"c_date":"2008-10-24","c_map_bigint":{"c_map_bigint_1":6391930586500352788, "c_map_bigint_2":3827099382059076861, "c_map_bigint_3":5040976714704515776, "c_map_bigint_4":-8984064178829901351, "c_map_bigint_5":-2857049160909931049, "c_map_bigint_6":-7429613628801131048, "c_map_bigint_7":-175706497779376184, "c_map_bigint_8":3912769979918142247, "c_map_bigint_9":3905170595681623624, "c_map_bigint_10":-4653261398664621382},"c_map_largeint":{"c_map_largeint_1":-2147615533949831732, "c_map_largeint_2":-6637449727541381150, "c_map_largeint_3":-932385795222537395, "c_map_largeint_4":-3869889573928926169, "c_map_largeint_5":-183766909823420806, "c_map_largeint_6":-7505590023303807583, "c_map_largeint_7":-591648385372490350, "c_map_largeint_8":-146525954151622350, "c_map_largeint_9":783151956839854012, "c_map_largeint_10":443811523798970267},"c_string":"KlNuXvuBqJULsMHOIViCYkstDtHANLfFInnigNapGYBWzKVUpZiGCuzutaogoHKjkOnkpgnnpWFHHhnjmxroYjadtkcQtdoLpvJbHwCRwjMJQQIiDOzNTkuZTlTluelpBEIZYKceNdfLIyGxcLsPbcIPSaWGMskhhJFJnlklAPASwwQVFIyIRIapZOqghxpydXexkqpHmpssizgjohGhNgWlJyhxxzfRMakcMZxzAnsfYpgoiINmEncGXUKyfenRFNsURlkhldaXsoRufHBubzEufvwwkixjnYkNeeXSBBRCehHDgMfrKCuKfqArMsjfWeCLGReLNAxnMCttwQeUfWSkbIQMiBfCvjwjiTWWPhyXQEXtObpWQmoWGgGtnofQEElwgTdqhqOxclCQOJTmEEKEKEKcICoCytsYXPZIzHSkLBtSOSldlqMXVAmjSIMlvyhNAVJIbbWzsjFUQnAXkuBetnsTIbtXcSLXnrarTAncUkEeJNhzTNafOXlloLKY","c_ipv6":"5df7:6b39:2226:ef39:a4f0:78dc:daa6:d67b","c_array_float":[4.699046, 54.55196, 73.97001, 79.11014, 45.03518, 88.82542, 47.056427, 72.00922, 87.395424, 27.24324, 91.31026, 88.29944, 65.95639, 89.58337, 13.092228, 98.768364, 9.564858, 52.352066, 71.46075, 97.757256, 20.428747, 86.710396, 7.580882, 53.078026, 83.82541],"c_array_varchar":["twhsPugAVOordZlYxtjOutbaTkAVRtvIkgnoKIFeuyZmgckBlvWleodhhZfxrCrDhYAtJeuwWXUVhabiPCtaRybLjLXQIWiKMkmIpjuyTqoDFvBSSPEuwmUNKCUsKkKDbRguhpbjzLiCSVatGqWjMyaLHbdcANaHEnEUhZeWIbqSZKscOlvFAyVMlJFpsAUgKAdAOCpYzMbAGivFRfbFPIxLbfktqVUYLKXdpKoAMTtlTOKwljTujMyJSMhkkWgF", "RFJTtDKXigQshqZiHlArIsGLvCvPZOZVvnkrOKzkwmxDGOzLghreKvAXsADLWhExFYOzfGwCaJRysmOwFjqpmnrdYmiDvIGryETbfPKDrtnikGyAEaXecvfqCwZVygCXqzrCSXURLvapkohKDWzQIIbetsDIVTKAoQdJyPlVGOSZrLtyhHbhiHyOPvDmhELaJEtIQLSuIfcrywUgklmqmusxaMSWKOmlIHseyOptaMJXNxDMOuvCkwatsdMgVoRn", "oKXOUUplIzFkuTsrHjMgqKhGpEgOTMkfypnittqtSFTLzPVJiXKzXkLgftOAesDtbVAbMghudoxKdLVfGEsGnpQiBeWtmKFvYQjXaxuTzFWLkpdQqQzNVIYmiNcvTGRCSqZfBDVXlyARiTAoGznMUOWQMMWELTLKEKZqTrIzYybNLsYaigqMosOerSrEFgLqSbuBxBVCECbwSsCQjYppEDEmOlLktZaXKekusfHUsdarIFxKEJYYSXDHOSVQnYaT", "IHZwaLeOedcVXOQegpfrXcwTCzaihRNNZAaXcvRKnVjhSbkbuaqfhovZXAftPiKYDVPfILFzBuwmHfCBGMGvXMzKVpZMOPZBVJyMQplqyXOgszgQfQjLHvENKzQQfiRssnTkRdrSFGnFagQiGJdItTBPjQBYjzitfsypKCTYJepCMXfXaWzgRvoHrQeNTfwpuXKosrVXruhRdZwmqcJUKgaDDIiVMcQHAdJfcktetBUaxUKNNTxjrKWulZzTksZX", "rGqWjocfRqcCiitZFddMAyABgFHGpiFNgfZYVSyOxCbHTcplKzOoBXDrhYjebYGHycbiAeIklqzYBGlkXMVsqVgWnPmfeqejegPXvxVKrqDlvfyKDTFKALuMVDfmPUjSyWPEpPtnODYEDORlaRiFcAgVouknzCOvFwxgbEHrWnWftShsWHacssGaRHrXetmyfzpJXWlmKCmxbOCbDjwFFLHpZxcJCmjbsVlpFomiFchowqVmdAIQBIZHiAmAvBmh", "XbLSvjyOgzmQogsTevlyvCqoslgvaqONurcZsjyZPeXlpbgFBDvxAHYYKHAtJgXylftWMvrRqFhcKGfttNhAflpsxzVoSuFnvCsEaLAIysrUqyGTiKLnzdIFNtsNXiTTUNUFlmXhMYMZZXJihCDTOmbtMaNPsCvuAVbxTWvQBJIACYMlvdtZXyTXeyGBbAGqNttAgesQmdHnzaHFjOCkefKOKxzxytaGIvYkMEQOuZnZecHvxbFodTkyOtfHcLxl", "sOcvGenWXmDNdhBKuTxTzYyvtajxrLkDikWNTuiEcbwcaBSNmbIedHFPlGCHATgFJWfwMGQdYNoDMjQwqpwwgjinTMLLsBbiTCeJJGTdQfRLPENuhZVFKNMyNmIPbyEQefTNybacTAzHYfqXhqOUGbAlcbPylZEyUbRzicsnojhJbTDZDTHefzIUGaBxpqqScJLeANueECgPmkoHkfQYYZoAcMAVMxDUYbcrnjuudEGIeklYwbJrNQUMAudQdMao", "QhxNWMMfpMzginDyWkivWjXzCAedmnXmWdInqxlWUKJSNKloSvlFewrZBSHbwxgHAhcBhaDrNBrFCZGuGnsLbedDLgkVcaZVTdxRGqOIRFgUkpuNrJYyGYkFNxhKflXofGNdCdJmRNUcxopsnvtAKEGVvZkKfTPlKuYajEDnVkAITXaVSmHhTJdtixmIUKzgmVbtYSzDsNqyumGYuDNmFFQiRmejDGjNCRrWlGZQNTubxIZqgLOtrxXYvIbHEdxL", "AyopzvuJhpnjqbVwjHNnePYbjZNAqLBVcdZWfWsCNdjmJasBnHmkSugVRMKVoVhbOCmLeHdgbPRhgAJCJNuWFgJjBlzuLguhYyvhmRGaqOPhEmktwygAZgQfdMvtggbFbIDLdCHyasKTZDWoOSuLHXlKfitrMixXwGUIbMondzgffYvWxVFINektraxLZMqkZrVhgvDDvwWLJkGJzIwxJfolItYXToilMmWjLOdcyPFbrTWnJQjikOHmcrrxWnbW", "kvoiWxOWeZwLQfVNcGvPICvUJEnysbAWLDEnllqnuMIsGyQeEOxYNRCDGGAcEBuCvBFVAzLpJcWvDnUAlWCBIfJYyUVEXejpGlOUuqeSUhsaybWJcAmbfLwQdAuZGgqaoKVjxLjXYdoKNcPcYYoWchKSxjMoJWtMYQKkpUgxDFNXklUppTktmouZNjRGBxAIKDSkpuCGRkheekSieYzzKfFPfdfHJYuvpIXGWTORmybVrtPRjvIkXjXppwQELJta", "OvTsbZKJvUiRhMuMHyLPHZTGmbNiYjOJXFIqcGIlGJHqWEtyMgKDpkVLNYgeOhJmuYcyaZPOoKVTXLTvUaRHzCSdBNrmjtNSjshWejAIYEfXolkqjLtWbCOtQlkJjHHmadSESrWMVXamBMjGTOrkcghyZGUTpntcSzriIUUwwyfXslRNHCveXIblwPdVhyjbnqXEpwVwlgdSSrvYOsAkpvyLExEFYrRXCsmEAqlbpvWCLLLvzokCSPNLmiHfqckn", "WqArOlFstJSINqAJXwZGEgTvRBQlCagIgsajvkNPbNQatzoYcjsZlpZSjSPRDtMaZGQboxgGEOoktvadwgFnJjtlUHlYQaUqVYWuOUFgTbPBRfoZvqrfTTlgPsxMCQlgzpauIxQGoImHBIHdxtoYfZrVLHsGOqxSwiufeNjpwrxGrsgCpoNNSsbVIIjCUPnXEoNSRTsIWiCnsPKObDKzJASXKHKITRTiJBDWDxEDNPYqYEQXxwpIiYqpyWYicorQ", "gAVvvDtgoqmPizUxBQkkWoAfHbbjzwyaznmNkkhYFIIPYzSncUbOPxPcPrbmUeDwEorfEZOJSGscYIGrIzTpkiYUnwqMrRYmiyfvMmVykwGqTpVcahhpAoMYuwCnhXsRLXSpgTRzgmMZnznZqcvqxMtIDkiCmoaimAQCpeDAHTIBJlQTomYoxMpRxRXAtOGdtmFLvxMfmPJNTAcgFFzWuciJTUUhReGKHBdDiTzMuQqRKkoYgTWAakAINwBAIJxM", "oOLgpObGoFDJASWxLmJMNDeZeuHAPkJjfpNGcfEXloAQwsTsVqqJVjVtERMprKCjzOZbWTfwOMLoCkjqBCewjhJJDBriqxZaOcmIjPXcJhXeLOjvjePujOuWySHbxJqVrCuPbLVYBEVVFGAoGUPmPBJGbBnvKHsJIyNvJdFVHsrrAmiRhFZwyNZbPGFWbSLETCNAoEHpQpzZBhDjNQgSUinJpQlReVKJnRBDqRegwJwyqQljwTZJiqRvmvBxrKTi", "bHAOqKtZRLxxDXTTnhrSXzmczAkJUpKkVtpaGXrMukupKIPULjLixWtqtVLymfYCeAwjpMXEGzpuPzZhaGraFonlRZeSfjlJMMyuYyYbOJocVnSayKEdlNCnhWkodzGfxxJlhGBCkKOGCmzSksQMzDbOkSINkZAlvYqDLyHuNnikwtHhMDdJTgFMdvOGOyUbxvSzXnXrhxaxFxiqUwoHpKwmBRybNAPOFuesJFczNyEBwIDeuCTSHJKYpXsexUoZ", "fAMspefwslSJMeBVjXAjdJnCkzADyCstGYcLQEIZrmjhUERldlipWPSoBbrKYeiiKWNNCCDNUHyiDvootoTHEZpZGqlcmuWEZeAUgFilsbqNGrYFNgAdHBDdbrNGuJEvOtuwFMliUOJsWgKiboZCRtROpBCaSGhtPlPWVtwGuDoCEsoBVwUVSmMIaSvhTGwEcbhzZXKechBzLEUmLCnFwzbMpcjEYuImAjEaKpTzwRWYScnffPskuTnRUMjWTuyJ", "OrczqpdjEgzzyLsNEYgCOnniGUVJeRcflMElebVnSGqHCxLNBlkEzijoohpSIscHYywKMQTZBQUXmDRfmPScUjfMANOYIYfpqHOhSHaqxnQULcKYYzIgFMlrczkGwCilpwnQuSFwhEpmSpPhSGNEUlyPLVgaIqIjDecjzXumxWWeSfCDPijQqvewEJzvGgHuTQKobocbPPQNNzliYxOndOqagqWzMTRGUNXAKlNADhLwGiZYHmdYSmKGTYKlKZlN", "wAAXgOgeOwCeQiArnIItCDdhrYRAiXucCMbEbFRduaLktlMxGVWbYlyllywsytBXOdgowyftEhOAwZSDGTsExkqzivEHwvkloyXKXxoyOlVdxjQxRhkWZyJMIKtOjNhpUvFYdgzosweGeSvlypCbERbOuHVmfsZEsMhIjHylhppJrZYnHOKWUgUFSFyUELbFBLXzRbDzOaYkrSlbwVBtUgSjbtirlQytZfkkKHuiinwWmsymEhrKvplNHCCFnCkz", "FQLOcLvHaMZliRTkPcZklECVjFfpNRlKceVxDMnctibCqQKGjmtxaZCvOSEzmlGpVMcwvLOUCXiDmlsemFtupsJoQjnpWrWvqjxxjSnvGmnMEFFxjFtfqDArcTkwptuksiPvCTHlNtpNWsQpPzPIJFaBNPlDaKoCkhKdvoqddkhnRgHtzIeVWrwpDstzhOlujSozaNodRlXvnsxUtEtgbwlJDEvUMTDXQlXOZyAzYGAtsZcgMnKsstrUhTbWtqtD", "wInZnIaiRItzORUMgUMrbTOtBcNWwiTZlNGrGbORGfiiWojjNVLOZRmnQAponwnkvqVOIwRFwEKjBpHTXTtvglDslxqkWGSYGykMsvjxwiNBkVIqhlkjYJlXKDhBwAIfhDPAuOkAGWwwgYNifbEhzHropftYhNDoCtfDFSBYJNdATTuAvjevJjBKARnlkTSokVjJddLylcMlqzRvIVHIWFbGqPJcWFZEinGxgzdUbNTvwSIsdBmMBLwaRHiHNWdi", "elNUdywxXVMGxHBFKEmvSxDRYBuqXaKJkitmxhqbqfInDjtWjJPaeOkYClvhWalRMmTKomApidspiHyQaqJtJbxiGivJJELWYStJvsZPfEUMbXYXDsqPHBgaOEvOoVfZLfsizkiTJCQkrzaUYojMqmZqEVgVxkoKsTpkpAQOyiuxVnCMinYNQkzTmZshXEWqMAGlKEUKyDdtZYSxOvOHvqfHLSDZDrbanumvfPaplcYfwZMcWHeWduCoPYYySlZP", "pmhGHPlnDrkhGFssEaNpqrwTScUYVZakjOuWdbKPRqcWoHtyZKERvLpeVMKRQjlFAEJMwauNjUiMdmdDBBtpxUqABLVgHlkKxvuumuMUOSYqGlodgKZXgflktGKOnhMHejFOnRWOAJUSJJHbvzVhBDLQAkSrjhUKjXCHHNJqgqcNkXBzRPzSncwxOCPiEyJnMeFAxMNGsCHejpGNzGmBagzaGFmtYjoVbLLUdqHNMGyjCGtMoFtYRmUsTOYXZROX", "OMmQmdmwTYXXGJwYToCbyyGcqKcwRbThfZBVOttHEgAFhfOIviTNaDKeKgYXxeRnwHFxbtxPVIgArYjsIsXbiyvSrZAqrsRxywFwATStcwVFNDFSEtKiMQxOwAXpTEXyBvxFZTPfmluFpyxqRsEUJMteaTlVKQtzfuoIeNFqSWeMEqdSbejoLLpkhmuUXKEhaSDNvswQthrhpXAnriiaeaNqWPoCuXkJwUSurGouiGSHfeyfFgicAXUNEGnOHnmf", "AvIlZuKSaoRxOsiWMVkXVpijuIGJkQmLXOnYxBBrxUKemCGwSIfXbuSskKKnNgDuiOkloxIiyutRCNXAKnJNfmKBPEQxFkeZTGwdlZtKMrqfzqvOicfMRtVhGndjEDTgLguPuwtKiMVePOifYjkhsxuvNPMIUGTTebYYvBqNceoREoYNTlzSnDYepYQoWhHQPhKbfakdmJcoGbiFLBaUqYcQxZWisREgpuLPNTMjkGDxURlGehVufeBoDqRyxQmu", "driJFnjWetaKqIePbJjEUlbaFSDUKaPaHOkGJYezRertGWeEcaFbXHHFoHCIrdBtBzVOnqrkZrhUxEByccEjMlwgMEbRbxVNJyXCApbMHReYrCIwoyfbHpNzhqQGxBWWEuWsBaYeyoPXXzZNgUMihvvzBxVThHqeBkzQQGuXUeSLEBVENdFcEaTnXnDghnxPaFhZLrcybmxZhJRfIZUaKNEEwtsMamSwDJdcCJEGjShikEEZjcLFuODNyvPMOshq"],"c_array_date":["2003-12-23", "2006-10-09", "2012-03-02", "2007-10-10", "2009-08-26", "2003-02-07", "2018-08-08", "2016-01-11", "2009-10-20", "2000-09-08", "2005-05-27", "2019-07-17", "2002-12-09", "2017-04-04", "2009-07-18", "2004-04-18", "2012-12-07", "2006-09-21", "2000-06-25", "2004-09-05", "2007-05-07", "2007-12-03", "2015-06-23", "2003-12-15", "2002-04-03"],"c_array_datetime":["2004-11-12 00:33:21", "2007-10-28 16:22:13", "2001-02-09 05:14:56", "2016-12-20 23:32:54", "2001-11-16 09:27:35", "2012-04-01 01:40:03", "2007-03-19 12:32:06", "2012-06-01 02:57:27", "2002-06-10 22:40:13", "2013-06-28 13:04:41", "2003-03-26 14:34:13", "2006-08-04 11:52:10", "2002-04-22 10:08:18", "2014-08-18 07:13:13", "2012-10-20 04:27:53", "2006-02-18 23:47:01", "2016-02-17 18:31:17", "2007-01-11 16:52:50", "2018-05-02 13:52:43", "2013-09-20 10:13:46", "2013-03-17 23:45:32", "2008-12-01 11:46:30", "2017-01-10 19:12:31", "2016-06-06 01:08:05", "2012-11-12 13:39:05"],"c_map_tinyint":{"c_map_tinyint_1":-96, "c_map_tinyint_2":-105, "c_map_tinyint_3":118, "c_map_tinyint_4":-33, "c_map_tinyint_5":110, "c_map_tinyint_6":15, "c_map_tinyint_7":121, "c_map_tinyint_8":24, "c_map_tinyint_9":89, "c_map_tinyint_10":-46},"c_map_float":{"c_map_float_1":28.32849, "c_map_float_2":69.23905, "c_map_float_3":53.575306, "c_map_float_4":36.763687, "c_map_float_5":61.77372, "c_map_float_6":95.805664, "c_map_float_7":6.0175934, "c_map_float_8":8.609572, "c_map_float_9":73.80597, "c_map_float_10":76.66683},"c_smallint":-28375,"c_map_ipv6":{"c_map_ipv6_1":"237a:ccdb:28ac:e475:7a53:d58a:d622:4412", "c_map_ipv6_2":"f0d2:922f:3013:667d:6e52:b224:dab7:c888", "c_map_ipv6_3":"eb6e:67b8:c251:6873:273f:bf7c:636c:5c56", "c_map_ipv6_4":"c45a:43f4:51e6:3e49:d879:b397:abfd:90e5", "c_map_ipv6_5":"18a4:a1d3:b695:d07e:7505:57b5:5faf:46d2", "c_map_ipv6_6":"a5df:5ca4:cfbd:34e1:7085:575a:aa64:8499", "c_map_ipv6_7":"b81a:2d7:a49a:32b4:3bdd:c1f9:b6de:2ee0", "c_map_ipv6_8":"e3fa:fece:fd34:5323:2604:b9e6:aece:d5b6", "c_map_ipv6_9":"aacc:9d1:62aa:8116:1eb:eea1:5a47:35a5", "c_map_ipv6_10":"1908:eb91:4967:1207:1f6f:5987:3e9d:9b85"},"c_map_char":{"c_map_char_1":"CrupthYInu", "c_map_char_2":"ifeVmkcPxI", "c_map_char_3":"xkwFOkFGzV", "c_map_char_4":"WTkmqnQSrK", "c_map_char_5":"oYEJkSNwlX", "c_map_char_6":"CNxdcfDHfe", "c_map_char_7":"KwdbbqnVeg", "c_map_char_8":"LEbBosCKrZ", "c_map_char_9":"zumYGhvbqy", "c_map_char_10":"zbiYdDsogk"},"c_varchar":"in","c_array_bigint":[-5295147815611499134, -8789941485863361660, 4357813382499793957, -6468488722210950866, 8978992111572500504, 6594120416202315799, 7611077722151235933, -8309646177849914871, 5253656180089447140, -9128979706409223808, -7231770672958863476, 8345004493110857401, -8655717083779837355, -3165832363399085987, -5903288198731378124, -4759518676317604688, 1914964389778142252, -5532613845177261436, -4059493344080197635, 6796293637593832513, 7395401034050668254, 2787906621244507181, -7456654716978134722, 2983095186978022478, -8190259963522340460],"c_map_decimal":{"c_map_decimal_1":60.1743, "c_map_decimal_2":90.1752, "c_map_decimal_3":19.0100, "c_map_decimal_4":70.1439, "c_map_decimal_5":10.0849, "c_map_decimal_6":84.0011, "c_map_decimal_7":98.1791, "c_map_decimal_8":90.0604, "c_map_decimal_9":69.0937, "c_map_decimal_10":77.0258},"c_largeint":1305055104770609089,"c_float":35.868755,"c_ipv4":"114.48.14.17","c_array_largeint":[1814458809594377381, 2625563387534879935, -7889022366475745300, 937232786865794538, -6823593859127526647, -5789059488757765227, -8535670495571410553, -2889827380369809139, -6564825681244589986, 8006342969317510680, -2355760357483860132, 5415483793282919673, 764114839940347790, 6876024993778723639, -477711840841544567, 7141678127220587382, -3386191885813797308, -7966987088989617489, -1082645246251789806, -624443778955240801, -985173663409820293, 8879849337492890168, -1299864634155552512, -6555174645541438422, 6155269377960453969],"c_array_double":[22.57349226346122, 14.426783033098491, 60.270141493002996, 50.58037017871627, 23.99541242384281, 74.87476594738969, 100.63804136149133, 47.96292998633478, 14.853080256567365, 84.07155791971935, 55.47078588847954, 16.645880748690292, 57.10586820506077, 17.631855746503298, 68.50800497883719, 41.59894444403252, 51.5687006403697, 61.36671287406642, 92.45880893839113, 77.78472941826311, 20.00488046662865, 27.551260390224805, 86.22084944578134, 6.604096313539007, 59.233234175524665],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_datetime":{"c_map_datetime_1":"2013-06-22 11:39:30", "c_map_datetime_2":"2018-03-05 01:55:51", "c_map_datetime_3":"2010-07-17 23:49:06", "c_map_datetime_4":"2014-08-15 08:43:40", "c_map_datetime_5":"2019-05-02 21:07:28", "c_map_datetime_6":"2005-08-02 13:59:15", "c_map_datetime_7":"2006-08-07 05:25:07", "c_map_datetime_8":"2014-03-25 02:59:38", "c_map_datetime_9":"2018-03-09 12:43:15", "c_map_datetime_10":"2017-02-10 09:05:58"},"c_tinyint":-64,"c_decimal":79.0829,"c_array_boolean":[0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0],"c_array_decimal":[41.0041, 16.1874, 38.1198, 56.1944, 13.0570, 50.1924, 55.0623, 71.0890, 25.0802, 4.1195, 25.1469, 5.1371, 86.1309, 6.0078, 64.0038, 57.1987, 91.1752, 81.0128, 24.1153, 39.0689, 90.1002, 75.0062, 75.1409, 69.1068, 73.1619],"c_map_smallint":{"c_map_smallint_1":-20127, "c_map_smallint_2":1256, "c_map_smallint_3":-10194, "c_map_smallint_4":-18055, "c_map_smallint_5":-21163, "c_map_smallint_6":27492, "c_map_smallint_7":21478, "c_map_smallint_8":19972, "c_map_smallint_9":-1490, "c_map_smallint_10":-23366},"c_map_string":{"c_map_string_1":"LsOmZtSWPeinNFqEnpCupmStvXJDzBYnfaDEJnAeWBRjIJwGPYPIeipQXJefjypKHzHVyvcHAnoZXapfHToDvLgOiPJxJvxvtOHBhoFZGOFAQFkNNRbbvKxyYyvfHCCmpIbUCerRRnNKKrVdwydONkATJbdusaqvWBywPvYacOmiywNnyMslbhYFOkYKEcoCMazzlqhbCAZnbTooIojBMkroJtWBILajBxHbXihPMglaklqmNaIXjOjrEJNzzjLmkibgtKSqOLqSRGyRSRjVaaqSZElohvllwOzsWlBuOsyxZWhXaKqSyeCbAywxjnKEESZAouNNhLyrwNjEoELgfqFnhFfqqfAvdTPmqPaDYkzduiOaiMEXsMrIMibqiPoSkBnLkDfeaJSKPeiCXTcsXGinxZeDlpolYfptCbqAYNpogpCqRoZGCewmdIQApURsNFxwDMJgskYwoeOdObJypRkdGJEJYpwwgCjNSuDTkblugEXGRgWDVilTwEMfuEuz", "c_map_string_2":"DLiePwHJVuxUWrnyLDshRhLzrAEAuRcEgsZrFfMwbhOAHNlfSieXbFPibLxEWYKaDgsQESpKaenGnAGIBHcrHvNWYgoxwrVLsMertJoiRQGHSnzzSOobJxFsVYCSPTWNGYFcEpEEVKAtvBQXlTCsmpbcCpdizvvytTAPLpqJhtSpZBiNPZyixFWdBEIVNrrCXXqimajqHbxfZXnwOwSBfOkFxIEPsRRKHEGyLsMYQaTKpBJgsRkrxljeemsCvIrpfseStIyaIrLZIGZQclbbzbDPhbgxJwPguhVDPjLZCSDobEdBCtcJaWikYiPVlfdYrmhFxMQWJSwphxihHrudCXqMHdfVHogifLqStmxoPSQlsyiAPQzxWrxQpYgxIRgzLdbgMgXjcrLJmfEwYRjXeoUBSIXbULMYUVwDjufCAyvjlbKtgPtVAXYfdeomfvnhgLvliLJmyVlMzcuSoederSZQPoMetEiRezFsSNdvVTqcHBvyTdXEdAxTOmTGSoRF", "c_map_string_3":"NCSqcsvGCjZnMdJLjLrDDWJleDkZqkIHWizfaBcJprhpaOllXEBXuEhTUrfmIQnqsSPnDDqxuTtssgsqZBKDhoqSwekYcpeNNQNTYZCFyOGffNnZXIRUMzkeGKwftotsipjaParMkloEqPnNLaQdLagANApyaApHPkJIuGEvXVGMhdNOHqerdSENNrWXhvJNnkiIHLOQABolyZfDqwaJTswrpejWaGhUjFZmCVzlgLKRPtqlbbisMeTMIxvjXZpRTOECWVwENOmDEDSYuwTmcUxRwJyuhMnXfsLHvaDGACnnXXHbmGWtOGXHgBPKhHhWIYZqtQbXhsOQlZAMTmNglIQiACtbhvANpKnEcXIpaTHPLumVZpZtAPZWZSzOPxKwShotHoXPyZXAxSlhqXFlZDdOAAdWQUBIUDkdkQxVORTzzHFXOfWdzPDDiBHsFkBbvIDCVHvJldFWquBkOYGqpToXIzylDdvDCdhsWrMkLKVSOMkIErXMCHbBpRYhQbir", "c_map_string_4":"gZzBbTNhBhcFwjWSECnVSpUakNzPFKvUOmNElmrmuqwuqzIZdHmhxQjQunaIoRyUiikspfbuaNNjAolINogpBdVPDurcInfQCjVdzlCvGuOQQggVYvDncvMTrguBSjqsctJLJOeqlHhjCYmSKLYWfbThmyIYHwPVIakXQJUvgtAPGLdcXHUvNZmaYlbUrgBbNRfQzxvMcGSIuklQMBYmcXCQbHCekQoWxJydUiHxEVwFfclLjiWvuSXpLgeqXnsBhTCiOjLkIPVYAxKQCxHdWSLXEpvTrBLzwODTvIpGiesrJdaFAcWBtoCDseBnXODOfCJfaYpoQsyhNWaHQhZkXkMmThHGkCfHEemtrZZgbeWEpgDKacJkcROcginPXfznHvSLDkVmbTdcfqqnOgbNdbjLkpJlHDxQgNAUCDXiKDaPhqiykUOMPZqsBXjKngwIsVSAlqCjhDQkVdJnmEorVJOXdOfzhoaVNQTAIGshzXtYYbSfhuJGEdxQiOoImfSZ", "c_map_string_5":"rYHWzYlNhhSJAPQZfypizgHmhkxcqnZxhOEbyMeZDXfudOXbgSbIMQerhNgXlaoOrLZPAzXKtNwrNeGkcvAFLRODpfPWMlQNwSevYjXVslTrSAOTrcJihXFpeAlkBZuUgGVsLFegZMoySYFAgGpnlxMFpslBnYwQUoNzDrASQLlJRHAiyoFutDmWrnPCQSyTgFbXNzKlsGqTeCvpHDyWKhvXAACCaXeqAEdoHuMKDKVRRFlTgIlsIbMeVwkKSEucqWOCwxwNbzUUQbBRbNqTHWdEwdJCWYJcpgdFdwCTDPclQNaulbSGtspdtLowILIbFjSkrJXdtJmKCdHUqTpkRnyaujDNDbHWAOOsIIeBMjDXPNHcZwWQEKikxlSvrsLVtALhejSSmaJMygjuQkvubUncdHcSHEfHPeFKoXwEZQbhGKxfOGmpGOFPRBZmdCkOdAyxDVdTwxxGcUjZOjBjnMppGoazMrmXNPJVMqmQxneCojvSaTWzEMJeGCjWICWv", "c_map_string_6":"lltmwlXNqkEGghcESTPWWZdcBDIoAeoSRcajyDXuksGqlssUVYPOhTXyOpSGjpnYITKfXPVCtoVRlzQUXHDqZbHvOtPgIILfTRodJuWzkwNFYENFuASRafVaelhXWAttWZgALnRMtoFmTviZwKKNwwznFjjOWSwITcWifJMjSzTsblEGFkMuramRltcjXScRRCKbyXFFnGnOEosDXHcYYDeCgoALCrKadgRNsbxMqpgKWCpDHWfRuvWoMCAHURbusPfRMmKAjlBbZKwQuKnZgTxcQIomAsbWYAbuleFGTACnDggMPPVsgkcuGekFMVAAuqUegDKUplRCensXNJxsULOWMYQmHmEfHzAPYsdWyUqpQIydsNiTZheTapCpdEqPAPYbePMtQRykcvlBNdMDqnJcMKXLqYmznsvIMhFDWZbLRsVMUyaSzrKgNJPlputNsTjoUZyWkDqhRVyQCBSYZSmCtcaGTmXBJKbcWlcmKCBMoLLFGMWKcbaaOpRVBkCe", "c_map_string_7":"rsAsoDJhqZYydQmdUnccpZxCUEClqQwnZASqLIPEfuYnTLbhvmeCFRnZTzyxINGpHmXqoSgwAOLROeQjXiucxVdesGWlMVDaloacWmbDegjysivkGANMzvToOLTWxvbvEwzlzRrIjasXioFDOHrwPDFYWbirmBBvSDrNBbmdzgdGBxsuFhvkjvhuxjFaGlclISBTEWdRRMNBEhWOwzeRDcYIksmZOVkMBkBkWvbfFdhCOuTTVWpwSqNwYzPHoVWRLKHGYXnTBhFYRHAavGXGtCHSqqDljTyEqVBvblfXbZnhmxorDlypQXIeQhanvxAlmeWibjMbxGhhsVDjMyXiLwmgmqmaSGUvALyWTaeilWVotmqdguTIteQrUleFEcRKgacdNDshnkPEDbbuMwQaMlZwxsFNOIXijpFqNgRFgWTrifGHzheFAnNeawYhtrtNihDFMobNgcnYgLudeuvpnuTOZLeTFbTskaHJmcaWgaDNyqhQxfrugavhUYymqRsN", "c_map_string_8":"VNFQIGgSmhSBXMeGRaxzwKdEVvYtWQEmPZFZXfZiIVrPZdrIOBfYIKjYaQrfpsGpqzUgWbYtRQEvtJFxddjeJtAnYrbeYkeGxiPPmtftkXumJklfqMmmRJHbonQgdbDqrlVGlZCfvxZcXvuyqHzkKXqNHeuTpWXGZyJhenWjiSetYBQfDBoacdBZuKJZyhpLoieCGIOkPDvPhqfcWajWuzyBZZhBOtLLZurcxsZFIQbRTcexxckkBlCpPQvfcIQouYWnzNDplvaFjvOZObXmqvBINivBvzDHmFDPiQyRnetqrsnIeWWBoUlrOwykukxycOrclpGzFROjPMgQpgDloxdgiMFVEqOihRyCMHyFgJZdzspinvLUMrVrMtyVsuYEATQNgFvdzGecYdcPjWIFnbuvtXylcGQUqPxWzjBfJbANvZsFqOPdHuzcpuQBfdBDviLbACjSgmSdxJrDsJHlgHCiilSiystsafXVTARuCuXdqVUjwiHWXxiwRkESiUXd", "c_map_string_9":"lFADdVZVAHgvWRXfrFpJhPlcRBIRspQmSPAORIpqSRIZrRaXUJQVnVhCZmRzElEwJfpwNZTiprkDulnCTyhjoGOBJVSfdXKqCsrcXLeiwSXXPrwlbJFQOVLxcWmamZWKGCQXCWPPvVdqNLdBDthPdreaoJpIyNZJaAXXZYSDXxEcBAKaLOrRRkQQPGoVeaamLbqdesqXHekRqasFIKRKxqGgkXuuumtarVejbtjajPHMZpoDEWpPxicIobwQOqTJBaFmyTWiLnawuwdOkXHTHEMTYXVeTAInoelYirJEdtmoUhGUQTauzOAtWOXcqXcarvxMXBmyAvicxMqAZMcvyUFbELToFleeiAIolQifqWBrqxMyZSjYqhoGZHXZtcLLeHkJxAWSRZkSUqamZTBXhhOzAZUETOSiwuLYcbIansTxBopbjirfnEDGdyqMlUlxQoJqGJOIrZboZLwiFlwlvJSnTMaiEqVqfQoJRZoWYrogDWNaWjWMokZJYmoHXysl", "c_map_string_10":"aywCYIvcBLBsAlAmuQPdenrhruUZJLpQncsyYcaKfpHFfvlXdnKkYWKsmbUebveyuvAyNbxGhfqjNjQKkHqtXjTIoIgbcIljeDKNNvqQhRkflFUizndoyzAUpUVpjmduQtfNGpOgyLYWsoTEcouoRIKaSPDwwpOnQqzxhYxqNaekvmHsYdihvchfNPKMnuiZRMWgYjRTLHouQuPKCFqwDGxJdFprGulkhmuutbtddPNmQKSkdANcNqFXabNMZyUyDytnszmjZRcvKABWsGedLFEobhdwExgcwqinpSQIpPzrfmAHsyPaFwLsiorGrjddOlVPofmiatptSDaBWAEUlUKTmfeVAnPQhwAofjUVFrijcgUhpRzLGYVPsEKgPedwbHjNRJHoAlRQPsMgnXUzXEcijMsSbSRJjWHJXRLeVxbWZRbAOVtTwLVhzPMLTtVWGewNNtAQafFHuMWJVoXHSjHiFHhTYFYDYlJVbKjQMcxgTRIGeXTPghBMRbdmffEj"},"c_int":-1254736433,"c_json":{"email":"oranmcdermott@haley.biz"} }','{ "c_bigint":280221874303810076,"c_varchar":"it","c_array_date":["2013-04-27", "2006-12-15", "2002-11-14", "2016-06-15", "2010-06-02", "2004-05-11", "2008-03-22", "2000-06-07", "2004-05-21", "2008-03-17", "2005-08-17", "2015-12-26", "2012-02-11", "2000-08-19", "2008-12-26", "2010-12-25", "2008-11-04", "2012-07-04", "2006-10-19", "2014-02-12", "2008-10-20", "2008-02-24", "2015-05-09", "2016-08-18", "2007-07-05"],"c_array_varchar":["obfKYBVZYiRTnOMzYkFRLniuxUhVZMIkCniGWqNBdQFIlkflbeGPJYQDOdkgIQHFjZEPuPjzUDMfFoWbwHMAhNNRYdarzIplOrmRPUfRJpHAqrurvZXGjyYwBNQQHAGKVgIJgIcYZsBWPFMKOQqzWKeMhpeFIFbedRBFbtpccjJeeGbcuaWAIynSJDFAPAmmPjSepXHercaOsttXsKckxZaRSVCssLCYSvDcgXiOeHnwVrjQJkpfhHCfndFAtuUS", "qgoYnTjoxyKRyAJGBChAIqVqUrjkqaoEcsMIZxkoLDZohScZemyJLDFxztbSEdtQCPhhvjgQDfQaVrgPpsKoZnwycFXrGYRRpfnYWNaSxfLsDOMsZjBDUCyOGdMqoTNEFHnmpIrurCeCecEMEQZfADIYCtUHuwvGXWaLGplFQaAxhXkAHxaeXrRkNnAPIWRCfglJEDguYfcFIIEoGbKsbMCCrSudWGYxyDsMepCpuwuzyuxzxrzbigZPWXIEXsov", "ieByqBeIIkpTsSoyQJECVUfXvRNExiBvbbUuyzmpcEFNBWEaxnRgbDPeNUDEOKAsIGeWOpfkFPDMxHJfuduWYhwhKGlyPMZKliEOpupSasrikvguuMEcuGTWiatvtUdvwJZhrQNoCVxXaeQzfiyMcdKcqhyaRNmYkdEDSzvaoEzyxsIJtzGUdlvLElujJxQgwGApiIySoaouThLDyXkYjxiHlZAPqiTFzixDSvZoiKTEUIusBKzPUKWodyHWdONl", "lWacEwaragJPZNsFTIQfgFdTjmxOcPaFqQbrKQShkpGHBMbrtCUOLBSMdlKUKKKxFXlZYVfJMmypwjglEPCgyTwogjXAqoKAxDosHdJMvxUtsXkifhLIkUBlCBjnPWAuYEhQyODtqadNEMYeucMjMDgKDlMsGvCjICNOyGINAfSktmCzspELdcKHSmJtvZFKgFXRwOQwtfFMGBuVbddWjbNNFqOVAsifYHrSdluWJTONTfEZwlDuEsbWaiCPMUQN", "MeMyNuLFXFENMxgjeBartfJtLvpOFXkbfeKKLTQxUZVjLbihNqyldLlWISryvwQZBseXrDTIiPxkuXAaFiNxilPBKsNjgbRVvhpsJCornCaOdTrCXTPMXxEYWyQIzQpyHFRMlJxRoMypUDWeSzTEOhtUttiRTxkibauxYJTNXLtsTRvmYyaaFNskqhyiGjcEVgNltFxqztkFlvaiIKfSAbSdpDEMIRGmmpkuJtyUyxTwKDDpEijrOPPZXjoaLqRU", "LOQpyNRLGkoNeFwCPxjlKXlxSFWupeSJmLuggbJMKwSIkFIbuITMfnQUEBqUykqQTbsmvgReUzUgQdppNZiOMEEeRshlUokahvndVrGHqWaEnbgwdBQtTbcXaKrvCswZiVEsCbNwgQczXBIDrXLNzWqkbWTHYTaRvUzbuziQNeDlBaNNnDrRswnolpDlHouutRUVRjslHYOkxqDrZoswvXusSJjnrgmJGohqQJyfzEEOZeYgqXrWzuslhVxuKcfG", "hcTZZNnYbJAguFhmtfFcGetsuyJctHiCaTCgtMZeCThrikytxQmlcfdcMYsWWsCLNvyKXCbajNmLxINGWopkSgjDhWhBdoutcMAuZBxQyZpXwRLtuDJhWCpmUXoLRKpLIMXVfmwHTvbhNUCUVBjuVBPHuxYyxZmVYbwaFpxVIGnKWJlCgxRpBIEOFlNskmLFsuSOXmDDoSiKqlJRySLkQgUVQZHQEjNIffBKLnijkAGJOTOXWQmSIWQerrmVzHAs", "HYPFigRKdZwUmLiCkPYMYbAnnieEmEZXAVOJVvcUliuvKbiEwFTHUMkPzHXmXmXLorDZHSTZaMjyFRSvJKYoNKwmnPtYNwgXbKUgzKaqvOAqyCCAKDMJvjrPRQtKCneALIuSPJHgvmkPMQptlhMotyzWOQrUKKCCyzNIbvuRoiBdTmQUSstuovUTkwnLakexWNpNWTAjRBabwCUOPzQMDNPCKpHpadRMdMAKtMXqNJocwddDCwzNeiblJKayCeOV", "EIqnidTgMUuTyAtYXEVIbeVdPNrdhMqgerMqWQCsyaVRRleQXukyVQsTYXtGkfrchAepbeKNXgbxXcHDiEGsjwZtOERomtQGFfVJxWzKTvOjPAnMJjsGYyKSmWxjMrYwjAnsXpxvPcZsuCnSDXHCwXqDxZDFWeThutXiEjpGdzeWVDCqhRwGWbFEljZBAbeQlqgxcZfsLAuJFIemraroncdKpqjKIrFVxjTmGieBdLbTxpdlWwDksTSMEmpJWfhO", "zEWnUVCyKzgPOKIkuceTfWzSrJDmzIYgQFJLaIFIFRNozJmBocaVnuTWFlfvZLjkroFsPjNjsUnCWzgHyAJGoTDYdNaCtXmbZCZXPPYDatmvdBuaLmCtbtgMVjeDxpqWMLpQrZqoJSVLSQcuEvlLhSXuSZVQEzFTSkgiMbDvAAEfEMCuOaCeCLrhgtWuNLppIMDCIsGESaYsktrewIuzIbTkxGwZYmbVqDVZMrvihnqpXBAySgSkOtXmrmqhAoIV", "JGEKwyxtwqhNmhTeADoudvSKpaDLLSREWgVIFkewfEvjSUOpJeWNcydDTOFVnmXUmLPUyPukMACAGuMRUpwCkbAVDXSHtDptQNVXHLdsGMBQXOAnmMoRDYsXntvwUMidRNnGMiDhHoSNGGbgezQVIYSdvLSnqUVzRpQUMcnIkPvrhJqZgSXJwFYMOpJkWoImytzdMiYUUrIJdHJfwmtXTsXmgthpWuveXjxeRrdnupMNKRfiYqYbdgTHxdswtLfo", "ubAlqtTQCTecpihfcrQnoaeweQWlAxgVOxzEDfhGDmsNdlvFmvTwfIiFbJPDWaWUKuzsgFRINgDzfpLrazzoptOlwIyPbOuotsPFiBUZtSBeUPQWIaYNveZULDcDRnOWmYmCakOwiAZtKYhkPNeVsuXePXlNkkSQjDSpBEYeyKBHfhZKVuzZaDlvCrRceDFpUPelydnGvTNPhOHVVerFsWKFddpdiUGghcgXULJyySDNFLVerKqWoJjFPufuuWZe", "AGNRxccPtEwHCdKeixDcNcuoPypzVgYbtKUBGKpRCYsoPtUcuZnfYvKbIagWEqFiFDqnjHLnudOIPwnlKPVGTCWhxApDlFzNOYUNkavoxJjPTlaVSnJpFBrYnQWqRfLHnErBTYjAjKJaxvTEvFrHnUkRNkhYoqEtBBUQIXBdUcVhjRGYlcmQvSMJHJOdZtbYjgfrCyeUiVzdxmeSincNOgKOjtRoMYkdGDTolEXehGBsHniBaMNOwegASPVVUqoI", "PgQfwHDPJWFlldwCkHzEOJoFXBZeYKcOjGszBgkxFSuwDMhxRxTpsXKnmJTPeVjNQsCAVzxLaEHAIWBNhJEOyrRUhSmiwwgxyRXsmAfSiWyKYSAbTcrZRzdLxmEwhacIVVgSkpEugdRHKYKWJabPNSGkVuWlhOqPwHEzmIlgulzAVEiMVVHXyMSLUATXGaJdkybXHcShInjFAfQRXVkPdyiaYcQXnpKOxoutvKeXQMWUNYCsgBZBMJTdRwfzkvMq", "KfZvaMmuMZkwjbYgAJHsDltNQzVWFuHsjmUjkpihmvGibHzXNlXfasgbwieWOhPpulEWGscjefPbmWrWZWkFoMmRqlYpDwAopWBejowHVbmgTHYOFLHIPCrLOFzGldGueLdKmiczMPQalrZQyzgfnjXOcWRpQXCdisyQYdhIhpkxZYBhkdkskTnVEZJKQDcsQhvKdChxnPSeMRzVIEqxHcLeGbetkXhoMYfbQAzZGVxNyIFApNyCzleXjTBxngKc", "vnOtLAhsYlgSGuQyPiFadiXobJqRVykCokQFxuhFSroKRhRxjopUEsWaExMsWEWAYZEgBIwsaTeCqeRefcTZXIeMSFQHiIiFVptCsPiXARnzkoIgLVWBnrsWJNBzECTnQZzqIIprVFiigMqkyLDdiCLeqIXVEfhTdiyyiNpBqnDRgHtYXgETVXgTwogjSDxarTmhhGLBWbWwoWgubRVhgkVuYnVqotpzNwNDUFJMlEGXTwtJmqrbrdkkWJEJpWHH", "kXxmfojCddJSAuaawxRrJeevPXEQfCMkJODacbwSkKrvwJFTGchyxDcurGreQJFfwrloFViQVCuwKbXEugbIfXBDFXkDjMMoVWUSesgkWBDiqgAVhfRslqlCuwPBHvjvTBMShhVdVTrCivTvUqJdbhTUYXfloVkDzvbqDQPlqEgmSRlJGIbkYXMFhAiqnGswoPIzEGvozYEOBUjpIpiTpCkmDnOuGXIHSOKwXjBDAcoUHNPTcmWalmBigCsHAaii", "jOEbgvuxIxNMjqFhhFrBtifZdmFPvAdrPRPRsQEQfyYuYtpEiuLRNKFhyNkvpfpVTfUwVVRQIqPUmrFXnAqwouNyMzOEUDoajtmTLQAuHuGjKLTPtBiHEvICpJRgPioxWAlpcXYHjWTAYJSinaqpYGexddBjailATMeeuhRvbVEVHqnlgtwmbTZzjwyaQmEpYRSVcdHhQbncpdssoRDkkvkqhIuvCEBOOLZKPRQuEpaEaZyrFOHxehQGrhoxXhEw", "pqIHZjYljDQWrXazyWZJLUfQFVKEwWFlMsuTLbTkQsMglwofTBVewOgnDXjxjKbdEXRSvHrlLbKAiBtdZlIRiqNsWtBCtReQZaqJoRiSRAUWdsqwHQhykzbticxhKSikZZMRdTexhINsEBrMqvnCFGBfIvETTSWcIAvjPjKScLYuOeAEYOYGDzfuGEDzgNfnaKTcWtfBoCFjmPaenwkVIXzAPUdYOTkwyAjrPcpIadPvxeZhoJxfThPRKflmeXVC", "QBcCMRiDBxPgtLCBPfACIQtBxWNOzlUfYHAVqZthGnEyBrZoqQzKSrGvSGZpqOQEkiqSmFRCAVIDVrFroYvUIQckhmPOrGsEUiYltRjpuwYdxWdWxoYdQKcgnWXuSfyLpywxjoaPCUeLROXDHxVlSEchCXwKNyosPVqvrpvDfzFEbiHuDNuNItcSJQowCGPQdEpymYVaMysxYdXcxvsDRPwJTUWpEkSeKBVjhIjLuGuEEyYKeshBtcoVRWfmvKyb", "UAbrpbvorlMPpDNHiEauLsEbCPpjWmtaTlXVPSdhKxACxdrxSZXnoIKSGzeFIaAbhaJmBDkoBfIqEeblHVFFJNQgvSiGZBFiVrjglUQwDCGCGWQAtkKmVgvOmCJgOGVZRJIUXmNmNZMJqHLAaNBHpuLJqTZjPkFNiJsumDjWRLyHHzKlZXQsQOIzaVNbOwhrffMgGAsQQzNnIBdJKGUWYjlWiTmjYSrOvlHDMpgJACzEoNPWIpZRwtrBeGVHYKsR", "HGobWVFhfZgbOOPsWAcjQVGjJCtcZgRxPTUnUgNVbJMOzpgQwORQiQLgNNQbjQadkKIynSjRYUHxHXjyKfioSslghxqXLilYhhkLpGoBZuXimlsRtPfwVfzukrptuZnXKNwncEyIAiNkqwBjtjNNbRmfPvcSLfeKywgaGizsKfmjPrFUjSyOOoXGCSmiigopHvlrJnGVzCKkvoIuVKzjeuYaMSRFcHrzXdiePKOnYyCOdzcBQLFuiNpOOJXAChQA", "PyIMcLUGnfKXpmKfDMNxEfMdNIFZcjnWWrEicmEJvvbEyJfAiYocjTzZHWcuLdzhFMCdbeALjlVkMZIEgZfQTMIlUeLPOMkyIpQtkTBdyZLHwRNynMuStWGXiKFlbeTcPlzBKmxIdDyTEBOKotuwUHlAolmgJjRNAmqjBFnPJXgljVTHXEuQIuRSEdnDUYdBHKlpyROKUlXeMaZHwjVpUOVZzuhXPnSIvotXgYWegnUrkSCnhrGcXXVxHNbCMRQV", "XZXgnMGLtRtwbYPPMOvsvXfokpzzfmojjQCgdmYZYrwLxduzmUssjzcybmOYLZRGOSsKiByWADEndeoGPNOUOThjHyAtjJYAHIFcYMlYufTaiLgQEKhLqPKGjYmctsRuwwxsFlqdekrZNAfrGhYHeNrbdLIyEAnrcXsXVjYOGIWBTJQaMJcSFIHVeYUnaqCnproywvkKvHHqgNmaZZZYNrYPMPBSFQVLspijWEkCRCRtuEBYOvOUkiHYJbYJIxml", "JNKRdhOuHhawfKcAYzToyhGycxhMsuoqSyNHMAoCqdbLgTXYJFFkpuXPaHOGeWtLOSzjOUAJvapsiKwHzrcstvhRnuYBVpxtgsLpgAENzvNKhrgPaaGZYLrrccEWPokTRHmVNALniYyXEXjEdECWcrdsZoXOURtwBPlZQTpPYlolbvPBMuOrDzjnluXzOKTcFKVMHzTypjkXASoifEuzDFbfXyBUquexAPMTYttjjIxuHlJcsZUXiVVNlvqCpRvH"],"c_map_decimal":{"c_map_decimal_1":29.0022, "c_map_decimal_2":14.0398, "c_map_decimal_3":84.0928, "c_map_decimal_4":68.1286, "c_map_decimal_5":11.0373, "c_map_decimal_6":37.1220, "c_map_decimal_7":12.1025, "c_map_decimal_8":54.0386, "c_map_decimal_9":87.1155, "c_map_decimal_10":17.0371},"c_map_float":{"c_map_float_1":25.559593, "c_map_float_2":0.8823455, "c_map_float_3":17.764847, "c_map_float_4":11.602934, "c_map_float_5":3.1116168, "c_map_float_6":82.674675, "c_map_float_7":37.558918, "c_map_float_8":31.844717, "c_map_float_9":70.73331, "c_map_float_10":81.80875},"c_double":42.608821940988676,"c_array_boolean":[0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1],"c_array_decimal":[30.1163, 85.0646, 62.0214, 36.0134, 65.0579, 45.0067, 65.1708, 62.0605, 15.1976, 35.1660, 16.1954, 65.1629, 53.0541, 57.0126, 87.1392, 100.0614, 81.0739, 70.0714, 60.0454, 8.0600, 72.0820, 1.1460, 83.0051, 94.0334, 98.0874],"c_array_double":[3.5679046125381406, 34.29032976328562, 75.3923353486418, 31.452064850867377, 80.23906168873991, 74.31217561613592, 39.8746160642094, 72.57763818575204, 62.007072223604084, 10.666674375315779, 93.00309956074452, 46.61898805301928, 88.12594190382369, 5.814037416678318, 55.74568010876827, 11.572562279230327, 5.554085183940875, 58.21348097616077, 92.79783511329835, 19.661016030755803, 60.4328548121824, 81.94609878608667, 100.75028963764889, 46.15670019064846, 66.9952140345701],"c_ipv4":"177.240.32.187","c_array_tinyint":[26, -70, -34, -32, 115, -41, -93, 82, 63, -71, -107, 26, 116, -85, 123, 102, -26, 114, 17, -46, -102, 58, 33, -41, 11],"c_map_smallint":{"c_map_smallint_1":-16607, "c_map_smallint_2":5993, "c_map_smallint_3":-3755, "c_map_smallint_4":-1118, "c_map_smallint_5":-11658, "c_map_smallint_6":-5993, "c_map_smallint_7":19641, "c_map_smallint_8":7875, "c_map_smallint_9":28874, "c_map_smallint_10":9626},"c_map_double":{"c_map_double_1":40.38562308467933, "c_map_double_2":59.6338821775073, "c_map_double_3":4.881110420047448, "c_map_double_4":28.28408724180967, "c_map_double_5":68.74018240709013, "c_map_double_6":78.81645816241104, "c_map_double_7":69.90341907969392, "c_map_double_8":16.257852844211186, "c_map_double_9":40.586383165135864, "c_map_double_10":60.88178904589442},"c_map_ipv4":{"c_map_ipv4_1":"168.15.48.36", "c_map_ipv4_2":"64.39.163.107", "c_map_ipv4_3":"195.238.51.252", "c_map_ipv4_4":"134.216.82.220", "c_map_ipv4_5":"250.173.207.214", "c_map_ipv4_6":"108.120.117.122", "c_map_ipv4_7":"65.36.69.149", "c_map_ipv4_8":"240.106.249.85", "c_map_ipv4_9":"146.77.170.85", "c_map_ipv4_10":"4.132.240.26"},"c_datetime":"2011-01-03 17:16:27","c_array_smallint":[-1103, 17515, 31655, -5031, -12568, 16727, 4405, -24291, -510, 22385, 30500, -19703, -15773, 13356, 21151, -17345, 17874, 26886, -8304, 4685, -28661, 13641, 1351, 31252, -11576],"c_array_ipv6":["niSRIHecDL", "vnFyraAtsU", "golQqfThKy", "QmqXOpyqLG", "WiDRduNust", "OyAelHcGIK", "hcpFovbfPE", "qlaSVClJlj", "MNGHshpUjj", "oOSWczxFXl", "JwbaPAykHT", "lSeeEAZZOk", "iFUrDvHGUv", "NTYnaIhcOZ", "zXkciyDKuA", "kBorqkenHb", "dqnUcGnbJy", "ICmjrzyIjp", "DghxmXCLWO", "fZhtTloKvA", "mcpyXbfNWI", "seKQduXAnd", "hxsubjRKNG", "oOIiMCOefU", "YzsWQZNtnc"],"c_map_tinyint":{"c_map_tinyint_1":-36, "c_map_tinyint_2":16, "c_map_tinyint_3":75, "c_map_tinyint_4":-89, "c_map_tinyint_5":-77, "c_map_tinyint_6":23, "c_map_tinyint_7":-121, "c_map_tinyint_8":33, "c_map_tinyint_9":82, "c_map_tinyint_10":17},"c_array_string":["lMOTYzCxXQvSheJGhNGaruwtPxxIYQHxhFgCHjFdtuLTWBoqtrlQzcjnkrqclnxiSCjYLmXNCvUnetAYPOwisfTyMXxrrXSeAuIyDJIAGMIniQUeQSYNzdBAYMSvUAdRDrHYTlOqdJeEGYhrnJrDJKbUOQlJvCzQQRKdKRkXMmUGXlxYFfHuDLInzoUmeywoMbtVltqQGPomeYciuKhnsDwIHKdKBEhFkOwpQNXLFoTAPoKmFLJvrDsueNJOlSzToFZxTcrOQFXNhbgsemKUSZnwVSKJEBQheBhVmwGWYenytghMKpYFqmgtItboPjrTGAGuXBLnAFUYxfEDuOWLtvaAESYcahCjViRBzIGEzohwdxOuDEJMJXOufFWVJSKDcbbMPoyRGiZlXbIBGXcAFbtLXGdvcDUrgxXihOOOCiJlIPdirkajFivGcmViTIXVuVHPyVrPQnIBCEnwuQbWwjNggkLIdGYkFLxvPAnmjSZvuEWiyLmRRcETgnYxPRkb", "xOvipCnOwmRHVpbRHJjbTwhurgbpaXnabEYjOKfWmoLhRdVrbytxbZsCeDwxZSdBVdkolyOeuiHjjNpRVSqiVFGwtPyEXadMhnyjZoPVDTvnEQnoerGNwlJuNUtpMQsVVVBlGrmefOLbrCnoqrJvFzjFPddRbrOwshFyvDsaeWvUOiAiPLAWQEXIIiYGMoOaoOiQxDAelOHPMBslNXARFumNZiexqMlqdhdqeEmkBFOiWQAGWNPtBQzkWxvVwbKTpaXXCUnQgoWncWaylYCcVfrvQRaEpKkwzhEfnKNwAUjNqfloEmqgGpgNeVbFlErDazLKDsdTMcryeoLnDoSBszXBOwjazJpBtGKpMnehGSHjqlMPVDoiInrPJCSAQLTLunDtUaUNbmeHFIWDClGnSYUtSwZiZHnIQUfCUKtBXWcGyqpbIQwjaiWDraINLJhPARjlLDdVhFHAEMbAIVuFXGtWqeRwFKOGsBaWWvvXbpYnixffBdofEbVfQkIHZFXD", "yslDoRfYwpoUfByUfEFKGsUForpmMdqtcRacvdNzxPsrYDLablTtBFmnjqXTsIwbkflNELgXPxatPtbPmTtLKXLhwTTlkNresCiLiFKSQjiYLxLYEkbvffXvzGxzuKzwPdABUAxgGcCXOxwSbHovFgBbGLwVYuPrKKcXDvZeuZKbsUlUPXvrdPkgdycCjBVqCmQYmsuFBklgpXZEZaxiBVuRKKygOfVCZPpOiLHxvLvBtISRoeAgScmiwCZuDjFVWQUDHgPQbfeMgUGIDfsTXMMTVuGfPtzLlWiTZBsmcDjLnlRKfNqvTcgCDOpIUFdBWHvjsCvyguoNSErkeqUJYfhjlslgRwYsFVWqwogLPbCJeJpgGJAjsHoPZPsdUQRujsKAijTWhQjvimcpuRvQxJWNxMBWTwGsngXuGWWrdYjwAeAMmyZqeWkZTimoPbkyVkrAmLMnGwiTycwQFSlQaPedwGZnyqwQxUBamQEIHLXzDajUeeGcszlyGevDDEMA", "FJaNJQuMMvGpwJPNiEkeiNyzokpbaRtPaXLVNQZyVZMprfdPizQIqGfuxgRKdTdeMAkgdcYwXNYNlFRHPktoiMLzrfNgRNfDMnXFOcomPcmiPaHbyNKDOGavqFAhJrbODajubQHTZVDEhyzBgPjMuhoVFkWFeEEgZDmxKIdTTJAaoQwWLEtbrveNaMCFtqGyLjmmJAFYhEJAPqKlGkNZqpcaoogZePRRICuPkCvLqxOdUGDBqCkFBECMNllkSaWdhGbmKKTkBmFYNCxrsudhyAabqIfPVQBodgcawKevnpjIelaeRzUoPqNawDWPLbQJptjGLMTGepUJQUUHTfuMYBLcQUYGcIiYFgUubdpccOXfTsQgOFqITpuazQnayWjBWTtoCVaWZBPeYoiLnpSwdoBpTwbmNKpydtKhTtpdJyzmsrzRVWDoDGoyJkAXstxhhpWXbYjHGTFvjVsadxMxgItSbmYGlNPtKhBiGLKAnWIazKEGoRuEqyFLcfQjdxLf", "znBVZeclAPExvnGAakNceeGyDjsNXHxnWaVJzJTifdWCOZgLqbzFWzfuifJLAfCbsqvGsDcYjzSkYUjXLHpJBnqQQIESLPMDYvJCRwPjyFOTpnYCGQaJujyUslJApjqJfznnqnYBBZGjuwxzAmsdJDKIbHxOykarNXWhsMVxytGAQTfNdEIhqWbwJScQEHuwiadVTtuYWitKgAHUYqlHybRoUgFcONIcBBtHTTolXJfWuzzHzClcjJvsnebKZQQJxnfRtuaBlNKaBhWlLnJYClMsIPWCOwIYYbhnjWEgbfYOoeCwkZMWVSXJOIkBMMiGORZYbzmKKwmoxzscxseQqQdhJwjtZrmuzopPSJNfWEZIcsyMoQAevxpNeNgAYVItfAoyrHkMYIuMhtpCutjbifNLjVOUAeuuUsSuIqdxTRGDGprTtyOhotoTLXfhPWaLRWdPsjLfsoJBzoHoodoXJSHPMKVqUaKuOsrHZAnadiAlFdpswdzyzWpAoJEJCSyS", "ytaHDRySNpxiYAvhcthXgRKkxSjKSYeeZbNLwehaASBRSPDUHMwyzoGVXwaZnySrqHmEzvSGqPDMZRcAXToxcQixEefxVHYEkfrXgwfisajdGogvtwpbTHjzCwaQaozrGWXYYoOeARRMTkBidytmOUdaXgxVrVudXfoHGEfgJEAZQnNesKwtEGCBUpwlajqvpkhrIBKrgtHMKJUtoAHtcvazMgNeZEQLQLfGiCIHflgErbFxqfUKzGZJHofLvBbajGhnyLbLrqmwqfFmQGlFwtoljFlXxyRBYVoBbqBOIPsUjCIgAGpPxZtnskabReTUsLvhQDlMGrZgQqIBVyAHlgdzLdiKlOgIvbYymrkoqiJXSJBdiZtgJBnsQPsYUCNbEgZZTDoPZCZuGnQpJoJtkAuvPVgKhGzMVZjwRcVirRNnTIhcHAHPXyfZBzFoShYgTuBGMidNkuKDgERGGXnmsMhUKEbYKEWUSPPGdlbqQwXzdTJqxgNZsdqpaYIiSMKE", "NdGQGGJvRzTMyXotZOfjBKyLmqhnidKmlwdRoUYBZjVTbNXsGFeHkjQOUHCxeiZCmZGgVqqHZGjBfGLEvLWiKETxsywjhPkCIrcIzJOlLnXgesBMAocJrhjaqvbBWStkjwekQoLPdxzKcBhvNyCKqWJpaTKMXoNTunpVNEAkwBkrdDpoyYzskKJdhMOmtdPRkxzUFqgVWPBsSPTqYHgWGyzyGVNyKaVAIsUwIcDxLIejUqjIkYYFZkVSdDMqQznkZKSphpHuICqrrCyqjYhnSessbVCRoIircmPGyqmUfNKpCyeUOwxHPHQEOknSFhQUVUfgQhRyyXUNJnDXFNdQNtdTkWghmbaIWHKEubQwnCwAeOCOjIzgArpWLrzUHUNwzaRowtArVlvwAcDlwkQgoXMNRZKtmNBFOnPxANmsUqzBMPHVcHCNcXKCeSdqpPAySVkRDQyFUStzAMHYITKDgOwdKNFQCnuYMkSgGXHTYrSdxqzysiSWYDuXJQAGvQKc", "shbDEmSwevRvlBbhUYqEpyvcUPfZcINJdLcSBBaRWdjvSfhtbIAjtlNdloTcbAoyYnHuAKUPmRAKIALUBcxVIhRpgKNxZVZrEVxgOYurkHBPmeNLDMYiLcYmPoleHamsLKtUfKDpzkDwNXSGtIMasrPHScdUhWfIpHPhLawmXDNiVvdbbLzwBiHqIqBhTspEhpWzqonzCJFDdknHnTHAQSdiXFUexeUSzIbEJlShFgaxDzmrvkuuimgjCZtXaGnEVHLUjMvlOhNGOHYisLUHhGGoVribbwnLCKVBmgiRAYPKVzyYkNqRVnfjsXGXfMbbSZPggRVicnxJhKsYpJJDchXKeLjbgubepVXYysFosjXcCzoKkChIEBCWqKOBLWgyWkxmXzGAspzdkRGZXJiZzWmBJByshixSmbadDBLKmNgKzwvxsHkMvOlUraFlustPDwkXHgGmbuYVKrzIpnUXTGaVTKWlhRJmatALdwdHuetkkOdxHqSDvkWntfavkqcA", "MbtTwPlGYTUUbaIGmvOwweesFKVpMKwzlPkIyEmbTGeJvmHEVjLpTYavMakrLVEtZnPjjBHQFwntvbLnzeSdECWfVYeryhAsqbbHBInOcjfetFlKxjHdPRENiiXPQIbNLbOwgedcCqosZXevWvxWRTLSWyTkAttagjjYLVYoHSINFEgBJiJZuYsfOBFbJKNNoIhmcGrmsQBVZLxpwyvdfZaoGUZJCvhteUrMDgVhEqfRDCPsXxtmGbXHOnFMuIUErBYBNqGXTzjzITWOfZyXujnNWihHNEdpEbskDLUvlXwlbJkoIlUlFuRfNlxycbfjbThKvqgogDxvNhrmlpQeRomLFFpygZNSARfZqHvbntRzSTsThIWgXofxbcnjZfELuSkXuNLrpIDdINymDrCDkDKFJOhlnFtQAzIcBlNtROQcpnfDKoWkdBkHKsageQEjGhszeVwHOelClvKsboMhsjKjizgnTtJUdvdsnOWkViwyNAvYWjubreNyCShdDoSm", "FkDKSpesCzlamDhJVmpNOgstpDwOcBYhdOVRyXolAWtksTvlBDpPONLogklbXOmHYNaObTkhBPmcEZlpWrQLSzmLmSvHfgpmZbMsZhoPKzONimJifodRHGvLHpmzhEuLLZapqBMNiSaKknqaxNAhdefZNGZPnLiKXRcYHhHNxwtdRcYuylBvilpPkeBtmYGmpjbqWiagKrrBlZpidlKmfZXSAgJnYhSarepPIwnGqPHtXxlYJBBxscEkdKoYuUHmrhRUrpiiVDipgtypbwaytGvxbDVljvFrgxvjfQyioNUbnAQzEbGPPvcnDbdgtGkHrKSuHDDYmcFJRrPEUxerkfYCiaECAwrjpELfNquMlSMtQzQKYHcqKyLiszjamaVtzCnlWmPygXSnGWGUjSoqvfeEzPHCDwHScIiUsizkHWAhzDuDtdnHRUvtqnamQdHgOuaKhPTRVWEvEPoIMynMKstSelUjTMweYdhAVHahIDovtlaPxNPVsNUKTpbrcUvu", "kdjdSZoeMmBBpVPXtxzWgcywVBGNEdpbTPqMnovQPqaCRViAajdlDzqUkikkehecrCrplWIkoWEWPbstMVzaKPCGhUPDJfwWIMkeXgnlXtyjERCRCGkcGpbIIqOabBDYKpiIXjiNydMmdyJXHfSSYduTYvRFIinqYmQMFmiBwVnvxoWOUNRgrdMLGFxMJkQsizaigBWxlWbDmmaylrAyLXXHrRQcPHrWKFsFLSsZzotyOgyeaGEXVzWYuMNhTniQYFtRVwfDNKYHNkyzhmyVMKSBLfRNytMplJrHbFCLXBNVXktqDOnuvcYSGhipbCixeobhQELECoZjJlztzJSTUujNzzuaQqRBxVrEuLGzQDykNcIaHXmnnbHnAGJuWxyyHjQikPfzYcAENHBzDkEPyblxwnWcUxMUnEWvLXNgKmCoBtGUdWvuPIerGkBVQiEOovVCHHJcZvxBGentGcRrcmvHMBvlJBXxNFjLihvUoLoZaQPJRNOstHqbqsWDPqbX", "XzKfuQbSLPSqlQPQnJtiNTYaCeXzuqvZKttzCqogduMlEZAlZGARaEbbzDnDVltwTEPPVxLxTZIXComPOZhnjDKeKYsCPoauorHXJRpUKNRCxOVAdxLlcQEhIgmILKRtMdcuQXehpytQTBcfhOrOhNGzInnGgcrWqyXdVdvuaFfhLVxYsAPQvJFXBeDzVfsyYhCtrYFIGedLlkbNmgrzEtPgaUBckoBQxIBJmMJWUuhsVqGcIYkuhcuuoWuHNZWPICWJPYtdQzbFRpthSwcQZvhBUSeaiReOaWPawsmZrrbRBkPNZqkfkJSmhtBCQCpoyOXJecytphfwyUUdjIOjKmawZKhQWcHQXQBmOQfXvHFzgTuhVHscuDpPUSltXytkAyWmvRqJETHmLWabaOFwRGpGRnNnHWGLdBTCxSIyfQTAHtPzXYkJsTqHJFyyfjSdBQNJuHKbaMEIdoRpUffBsspyQAjqpcpCsDCLcvsKdMCrksIXSEQHDEXSJCKnZDbc", "XFzLMsSnbBgMIIYgAPZNecMcQrxrmSylqkieuCbPetiEWVuHSfDjbQsJfBdePJFGRzdIIyLmmMfaNxKmsSRbPUpuqbfyqOPDctHtJWAkSJIjoxeDCcrFVfDwGYqoJhKiKkYaZjxdCelrWsfyrhQHvRUrJSuoHBMKyfOhumAmOkRwxEjGiJenRFApmEIBiPpfvLTBOrzysLSXnNUITuneruuKgFaIHeCOhwXrIIHOCcTHgAzWlXHmcGDTXnngtsMPfWmPvYRoINAzUBPgHtKSWwThOuHRglCrpfaPFpDyHcujWBfQttdsoxlihndeqwTHWaboFoFujzGZSAvrDQQTAZNzKZLsnOmWZAKZgwaVsJgbUEYIsodEPEMTFCXFTmFnWWLHRrXDDLJviIkhDLMeacMzAuPqaSYTgZIIyKRKeZawBPXIiBRQUUyUKUKKtwWvegCtCwJDZyekfRezThXJmkfFThGJhNUMhRtsTtmUeWirSKeuZFlLCgNTYcXSfYZU", "JtsFauYnlmvnGHZjLVVrAflfZhgbniLEyBLedUpdQiKcDHmxvYuMlcqmJXZvyZoazPNCdvqKBPOhtnSoOBYkwOWDwteMDbWgInIzPlWwFIFXrJUhumOQQMefAsimBnVIZjfeRZOgfidCBdSPmZjaMHVBcCNREeFGvVTwxWDTjiBCVMpfVhgUtwZPPMJBqOvEuNylgquCxyLHxnKJGjtUFjalQkHkviGARmAPNrIVxCWOLUUJwQjolLzlfAluvpWLsZUYPkVEvSrAcDhUwgEqNwTmfgJtiBMNuDaXnnJZpZmKxVUbGRNzvEirtUWEfXsecwbnWZgVjnqmcxveHiokUpOqBGaUMGQScWQoRsYrKpfeyorwPLQoHwtZkyALvjJNvJEFJWEvpiHTStcOldduPFFEfvZuYHbklJmyDQKkFBBnMQXiGRVKxKhSjyvoiJmbyEwTVWkTYgNsutMJGhierYjUgDvVFijTXbtCmaMILEiwFZlWRgagDmLGyoXDBMqj", "viZtGAMZpechcFRigByUPStTWTyeOhZwhKxDMGRYZPxCFmJzhDWNKrqfUadmNNrSgCLyOAeHFuTwvLqCChfgDfMyoTCLJsXNOkhijKadZnYlQGqVkqRsZBsJDpDahpAJiglIXwzNUTqobnfkjSXzEWnhTIdUrOdjgRfBjAtwdsRlqtoLvsZakBdWfJyPQRBNNQJCHByaWrRalCkLmnKJCtRAvLMAcyXdVNHqcKWHcxldiRJRILgnGGoeLqRreZJQQlLnnCAelTXsYTeGneeiSgPlJLztmeMTGkeizfNhnUeWjinisioERxgyCutAgtHIoCNoEWvzoMhpNoTCubikaCWrAxyePYHjbtFSaAyPUISlyFFTNZGxAOScBJzKwBOwuiuXvbjgszcupEVXhXwnCWAjCfxReZDQieJFOelVkbkuskuEvGkRoqZndCcCwZIOoBuwHqKKJnjjFTRCdXYvupwwZLYYDjOEXlsnAIcmRRwTEMUQyivrXeaSyoqfLmlo", "cyEgpypFyQgCoDjamKvgZyNYuyYJrvrIHIVeNiYWmHJSLudQUMdyGrGVFKipAItYGgGLaACVRXFGPmAUPDkVLMGZaCanIIGyNbBLAoXACGUjNPnaPsZHFLPOaMZaYklSMeHqZBSuyiLxtiyAFhgsJDjlEwqqqGqepvBWkorMiMvymYZRHiZZbzhIfOSbZtLBBOxIhvwRmjWoQaLpmjTLnMWQUHtkCpivhQMpLtXvwkwWIogDkWNeBYvzheBgMMwFlkZoaobkFAZtzBYLcQJjdDcjUJnBJEKxTteQYmkKaGpFAfNZljzTLikviQqYUWINZWPKVGXMuKuqPoDzXHntHkHfDFHIBlewGNcNGQCvmCULjtNokqcwYsaYLMcQISCUxopToQNPNCGUmidCuZvzRTnWSOvnqqiuKPqXHLgBFtuSaTzgqSTvvagpCmHApvMDiXgZVJHcSsbYBJqYjOuTYrxGhcBEeIUvpLgIOViNITkFdNzhafoyRyCUlpWSBPzs", "tVfZjAwoRlCkWELgFsuDHKcLAuqmoMPzWXJckXZjMoZSuVXYEkmgVFqYmlEzZgqViPAykpAzyOWqvBJLtHXlYGpXXuYTalIHFbgRwLSDDvtQgjPtRblYajyREcseJPlGVdtPMHoZEUsAdYFwgUBeTNicVBCmxpCRcDvISfieUkNAdgSoiBQnpzuvNBKQfKeVrZObDnPCbndYYwpigzlOAcdFnjfyZfVVAJRqiacjyDjyWTBSRBrOadyIOlGMykwnGFUdxrBkCziuKTyRoumtZaapBRQvXTGCSvKVJbVtTZHNuWtGpoUmEICtRMFWqeiqmYpSemMBvEmnAAVZtLkTVKlkhKisuIbhILaLxxyxTagNOxEtveuetNtGnBQUCHmyWplnfztrXZwmQkbqTDvSeNfHfuysoIJiFJnbfOZxDQBdcpjOQPZSgZdjcdUwjKpSECnPwpcsKctAOwJFjFBFLLCYKmYrXTVKsVPOhBDvaeYbdCGvaypTfBgsTHIaIGHp", "WOhKkZLKhNRPinqkCIKIqZmtlHGrtFqLRhymzHxtlfQbzamFiyNkXCkDkEyKWoonqkUvZSlOdISnvGpGnZfOgAHettONHzIGnBjvwwMEntZIeEWomFKjOXzgmFXQdxujVjfQKjSvJqCRyoToaYkkWHbEjkZzCjIeInbCXTWfqRuXCwASqIIhczKyFvatgbmkcALhvXYrZXBbAxalsTAUddHyRtgKBuhWUILZQPRagkIBNSwzoRWPIJWJjIiDiwXKXFzAxtVwQPFZDOsscnliRtBLcbMNNyBlEgfQpaRCwUISprGWMtbmrBdZfGwckKRwGJQatFEJtDDNZRKPOqwOdtGtmMfhEfMJMpDkHIlbPyJCArScivkjGnidRIluuSNYNbUqiaQakmsSsmBQIJiJScXpxbTaSVmmrfctOgqZZyJWBzygchmtxrtqiAKbvFASVpnyDFLAhgIhHUtYcnllErcLlaCqvddWtiIwXNSSyqPEYWGwgmfUAzHLHLAlcCOF", "hVUTefIiQpOyNKnIcFplAWyZAfnkKSqHyPVWUvxKIvdzPJqbYfYnOGJZswxuHuHCytwLhnbFvcPOZqxpmYtgjOHiWIkPnEIzMvERlbjiMUXVzCSQrqPCoMnnKKxqeWMDgasuaeJvYPtrarxSTNVVXNkOaUqNgNxhbHpBUdbTdOPzFRRvBmCDNylrAGqhswwgmKJMTAUHzUnXMhUtZSOoGTZRCgYXzwurZuofFlAWOaFkqhFMyadvAXOuQRTNPtUshlhMFNUJSNAPFAxQEaQhvkbmrIchVpmPmGUWrVXBPvCEvRXneCwZNYPrWcNrjJaHYhxvYmhsooiDrOSOedejXvPDoWiLvlojWTGgMzwTRWIsuBTpewjwIqoaxgYClyvTvWIPlCoxZhXOoKwQAEFDnhHXnoNmfKMajKIOsCWAWpPXnFKlYBhkNLBQhmFTAGgGcDzSsVvSXKBKnokNFhMYZLuyoUvfrgwbEhvSsoglUKnrOLvaEtrspnXRbSEJiqFS", "flWoZvPOdTJyoXkIMloDYinbIxaEitupGewJHNVhTOPlhAsrTYZrHjXVEFIIrvWmhgQbwMGVSQLloqNYtmTdapAhctYHYBbRSyQQPrPohpZuCQobTvuMqxCQaCSkSGstyDyIZnyiqfwxuwnCnmbZZECiOwFUHSpZrvDWmBGaCfIGPBROObIHXcsMdlaQHPwzjnVLImOlgyTopibnohcucUzhljpuThbQLjUEzmIAkjksQMzEDCWTfenLwHLrKTKDhroIbdKlmoXwZgCxfAHRwvhemteQsnZTFoALxWIjcfjNVRzZOgwosEvGwRvjLbBaItWmodxCBdLYByyVqXdMrSAVlQCfNecLCpjgAKyXPnEWwtjGeCxIJgaHpRYrmDsAZwiGWOiVEqqKbmFJcVryBKNzuJyQtThOBoInjTKqrvyjQFgFIpyJLelglaegWagksSYdsRQkbmhxFdNqHyNHMOrozfoSNpQmmhivcJlQpVisJsIqsuMdxDuaFJqRGswP", "kguhYqymJeANTZotRpdvGebcdMeLIOVehpxFnVPRPoMMPSoOZZZPCBIjkBBlleBnZJNuKUVqkUErPZVoPnOYYwpsiGqATCSqToQCKKrANGuLOZOSzQsXBLraOKtUAJcWBXHEDUrttyBBdSdFHNABHyxswRsnzzYDIJUqpvsZkMSfANHGEAArIgTiJjkURDZxAuLWXjJxwfGFFawMBVLjwjFZaGmRcgJojVWIZNcATMedyLuzirFFNzVvlRGWShSoLMSGqtXzzZUazRXrdNCGtNzvHJFVbUmuMoAaSnnclKvxtTNHbgLvlZopRqZDEuTkcvzxyTlUrdMLDqNwMawUFabXTladSFpOtzwIreruWpbIMampUQiMPiPuHdSTAktzjVFFtRsSdJdPPYmavWRXBVrynFKFsUqjOJtCrpAbgjldsufUIMCFMRzLSlGWiIkXPuRSJUxiYPJvMVPZxKlheNuSlredMhPlluXjEWLqgEwSnkxpOhvrWunAnWlvcEhg", "NbDtlhJqvNAaTnvfpRhwImmJjRBdcOGXEcABPDrRkUEWHHbBHenwQdNggzzxYjGKVZvwnamVTKNGcUWUDFGLuduUuqSodgcgHcouQPPfbLuCofeBKdYxsImUBPhALfwdcBkFrqntdCywZJAJAHBFEbJPVVzkvQhqXpZNemxuZwRvAXloxMuViQJaNvnvmwIuJJkLBIZXHoMfCyWNLEshhywEdxORvKdcHkqGWsqncXiIThsUtcbuDoCmFWrADPDthuRneACItxmzXPwwmKwhTzMfoNejmuFwfSUWtRuLFicLuDmflGAKIszjlJDwdjqnyrEZvYMfCfRivPaASprJAzZVvyaEGiNoCiEVbQipQBBnzHIbiIAZxRUnLuROZGFsodKprQbzBpMDqCvnHPqGQeCRDrKvdsXdjCbAUteHsgFvUVXrzgDkVxXDZlUVoihHvVaEedttAxwDgkMvJsAfARRzxBXRsHPMuxvDKDqCEbxQJnBqkiabUPuQaZlnpYnw", "CIJLDtUywwVsCDLKmRiRVtFtRWPAkTtlNzmCsALtmTgsiMcdqylxqBsAecPSZfCVpGpzoJyQWMGSGLrsSzAsYUjrpeblMqTRuCnanemGIwPkApXNLkNhwvoHCzZfpsxwtxbuOvJBxLaZqpSGmJyycWFOoyrefpheaetwkCFmdOxCwsUIqpMmkuHlqxSNznUzxpLkeMfUgiMboQWyTDpUZqPfBMLzFNfrdEPlapwXOSnoIazQdlMnEClHdsFHZNyJsQlmXNJwVBqMaqQuRUGFxOGVruoixjFFVgkXTWLugxZbDKXsZshfqUEOulUoLcgMfwgUEzxDSSwuwolQyqNqIUmbzYhkuLtcDaXYHAeUaZugEobOTuvxNimfdKsuFQqxyGMEcMowAZgBXLENTbwrtcSACERDDNDJleBfYZBGWtHAZpDvWQptnkFsIVFjanPptZijiKQCoAIhnnxFRUMnRjidhxyJnadLVIQZUbFbFJlRJhxMMoxJuzUnPSFYbEvp", "cCiLNAOSrOoGFvEgnteQQwjtwksuxqjQWlSbDYFPXsxJEFGjRNgjHzgzYYDYhzfXqEIKpnJiRSXysqLfwVUDSbKkCgglsTbnKiDIkXTwMuGwpDqbRWkvnUkXkGHGeGcvNVCzrdzaAMCAdFYNXtMVToMbLifkdnWLElOVBHIzTLutrgBTpKSYjLGbpJtZzIhpUvpLEOGmkuaHKgNeNEQCmDBoTgOxdbhBQpIRlxXelXZXqHtAsSnqFCkcDoiFnOjygjrCoXupdJGPwfpKRLhKmOMDPWeEncaIinNqKFIJIelJkpIequUUqtIQgDVgQQkDLsuDymGnsuXpPGmUrQiynuOJKSBLYSncAJVcHMKdhwPLQFVBxmtIBUMaCqgfhKouMMaYAAAdMnXIeYdtbopSmevxfGqhMxIVbZNiaEUsFRxpWouRMzaSLPvTIyrvQralIKmkGsUzUsLxitEBUrbDchypsPKWhAZZgTNFdQizsGPdARVuCzjiIiCPBFRwNujY", "pxVMebOaIIYxJEmVgGAHAMwffHXxJewpeZopcjxLmrgdQgSCsJnoVMeBaGjDUjTlKQcfynrFTEKAhgXhIShEhLhxudvNZdlPoJhhzJJlqjNuSobyUtBEwNKwGPptvKoloiXeIbnZeadpLHWpSehvTHgAFhSGlfHVMEklwzEQEJLKOsHDIgEIONDLhoZtGrNiuDuhSsZLgnxaZYqdhvDZUFWXWEmuMkxSKSrVCKgvhjJYrFKAsWfSmjUCiNqaCOyOkJHyCmNpioTJyxIJqLnAYkyvPkFVctBKQcyIwFDPJxkFyOXkeeMsfDtHIQXMUuMnsHrlIzdjbYUnaoYVYUsGjujzOYSjPBsUwvcYxMiwEMfomOCfMUlUBtpUurAwTBcNmOigeNlhqVzuavbiUxorUEhGvrapuAdXAvwNhvDzaOMhvXOiuSuKUJsdplTatwpokRBJieVaELRoOuyRuNPbxtjEbJVLYrgYUALbViyeuDlVrokyNodWsTAyqRjVQRsK"],"c_map_date":{"c_map_date_1":"2008-11-12", "c_map_date_2":"2013-03-20", "c_map_date_3":"2000-07-11", "c_map_date_4":"2004-02-14", "c_map_date_5":"2011-03-17", "c_map_date_6":"2005-04-03", "c_map_date_7":"2019-11-02", "c_map_date_8":"2003-08-05", "c_map_date_9":"2016-12-04", "c_map_date_10":"2005-05-14"},"c_map_ipv6":{"c_map_ipv6_1":"bbbc:7e92:a476:5560:291e:d357:218a:ed66", "c_map_ipv6_2":"fae1:7aa:25e2:3839:c1c7:ad0b:e0d1:8e75", "c_map_ipv6_3":"79a4:6eda:8475:d3db:4947:ff7b:d368:c973", "c_map_ipv6_4":"4373:9534:3d00:a328:1da7:9676:2385:c964", "c_map_ipv6_5":"5ad2:187e:9c6e:2b27:f090:670:3886:663c", "c_map_ipv6_6":"7bb8:fd26:4655:11c0:66bc:5bb4:7638:5b22", "c_map_ipv6_7":"96cb:3421:6af0:ad8e:5e9c:71ef:d5c9:4bb7", "c_map_ipv6_8":"43a4:6015:314a:64c3:eda7:4767:995b:6a29", "c_map_ipv6_9":"e3f4:7938:2b8a:2e3c:4ff0:53b:854d:3e0e", "c_map_ipv6_10":"316e:b926:6e1a:b66a:b8ab:2184:da65:84d0"},"c_boolean":1,"c_float":78.68513,"c_decimal":11.1669,"c_string":"dZgfqIEXCSfxkFKvivfHzncXjjkVanDLkNYZhZZtOiymVrVVJstqRcRZbpFKVGjeQEOUTtmlPHHLaqpUOaoWQnhDApHINyPNTiLqQNmONujseDZiDGjgogLXeJZiTvtMEAnzeeBEaOmtzHLKjTLsIJspAFmRKyBkIHdhZCidGZxUPqKtNohJvrHhtTsxwnFXVlgMaiHUfATzJeWQJQOcFWuHjqEAWlsuuDDqpqvusygisIpDfCXRxQitXnzAWZSNvBqXmxZlLkxkRvYaKZFGoPElawlXVWXHigcEAdDHCFCFPJcjsfaPpFozIUAeolaOhJDwNQFAWAecyvUfXGDXXXWjTfgwsEZtgqrwTjbQwewYRxyBHUterZSdslSoJVYSovxTWdYSSaXjyFwfMTEvCcPmcDWBjqgbUBguUOmOiVnllqPzZadKPfShSAfgbZcDKYHKaffFxuzmiweUlGBeaVuYZyOmDSKZGoDzIjXhwGLoSEdsENtlMotXksMJTXvR","c_array_float":[87.14617, 8.804691, 61.389973, 75.35321, 81.58182, 76.903595, 69.94738, 7.4155846, 99.011246, 12.964553, 76.21301, 29.056803, 88.67462, 77.69902, 14.148925, 89.01497, 63.01053, 12.322204, 76.372505, 41.362602, 63.551258, 50.627697, 39.0507, 100.656525, 58.729465],"c_map_bigint":{"c_map_bigint_1":4802182044232515572, "c_map_bigint_2":9216030711066544042, "c_map_bigint_3":4531632637342992360, "c_map_bigint_4":-6934793020828511682, "c_map_bigint_5":-1601991128949032787, "c_map_bigint_6":7192464197830751405, "c_map_bigint_7":-3684083101632104263, "c_map_bigint_8":4813154926859339010, "c_map_bigint_9":-7390857836760409571, "c_map_bigint_10":1873156383104918936},"c_map_string":{"c_map_string_1":"cZrilSmMjKdmPvrECuLldasdCQTCSOtXiMPBMDzqkJPuhezKRlqmLobLewxGIlydOGKeTcCLoTIxZvGSetEDxIoiTEegehECxwxVUUepNSmjLpNAyUhvsOBBiGfqPCjlNeWRCPKFTClKnXPOSPhffoMJMCcziYgFpcZnNienXbzXqCVOwwajXpWwCJMqDLOXvjVIpzxninGIdkNMDTiTzYCaMjkDnbkcMyorUHorZgdiCHXaxNOClYSZLtFwdZpcMcZjiwnYpsARSNGOPDZPJFNANyEPnesoARhOBgwUAtjxjQtxLHgiAbdmTVEwmPzWsRLuCxzQMfDgXfNXkFBRVhtlcVFeuFNVkGZrtfhBkLdvavCbikANeMHlKgFAxwZEYDiuquusTQkFqQYYTWXIRyuyScPMXODZwtGEOasgjSLvvzqmNqQqMRNhNEAsyCwIgHDBlGwgANayQxKihdLXlHPYjtNrbUamSrrLGKDwzsMfMvzTzTQJxueZRWnCUDEf", "c_map_string_2":"zhfwWqGVdPkATHDpMNMfmJnFdSrvKHQnfMxWCTZpiZediCYkFoXxYcDybAbZTnNwRgBqYhEnNGZRMoAKrYqgDeHbGblIHIPavDkHFhnSIFGJvaTKwhcpTMkUaWuoidKZdubcPsBVdVAiOzoLlsZsAgFAfelLNkHfxbPMNwpsOSJCcfuCwwTaOGUNfGAJlARXdHEHlMfKBwNMHxKTdXoIbBCCjWCyvRNRLJyqQaabWfreTqlcLOlwlYdmSymsjrvOzkKSfHfomRtgXqVbkeZHfAOzynJzGYQfGpfzJWWPbBqVVsfyZCItHbouRcGRfUGnlxzUHMwppidveGSrGrAKVISAJFJheOyCxGMRyvwrINwYlRopjuYQsUobSOBfPgjLBVOwbYHPJMzMFtdVdxBxiRvxpSFnFWLybrELUgZuGMZBaJcaKGBNOqHkCCasUWByyHbwqWsINsquDUxoYZElijZieEIfobQPJTBmOvixjJPXTsKlXKRCTGjbLubkGXKO", "c_map_string_3":"tyFYjeMMsZWbxvrzwqdoMkZJvkvIJhwyLPlnMpelTFEZGBTcUMoNezXGeJeNZqwZZVbIfBsOeGObnLNdrTewYamBhqxdAxujsBdrAObTPzhLntgntbduyjiYUKQdgQSSOqNBAXXhHZHkFWjDKYqeFqTJgpmPeXWyKEVOUgKWHweaDQTAMeLXrztvYqMqaKeFGENKDmbqZRCLgKJbvnZcnNKGyfJboLhQsUXJDcfHSAlgOuxakvFeLyCvDEJFjyuudQBIvcyeopDPERJnvmHLPKbviwaIAHSAOJbGYtbwGUPdzClUdlYjjCuneGxEPlUbuciHWEaxPTvFysLvBUnDwmVKowSENjkWoNgLYgcFmyaCgeHlljEiuEkbWOmVYKsFHNfRNDoEdSHfrMKSCAZJhCBuyZQmFMpRKHlgMHYeDaJxXNYjgLlmCRflOpGeDZPSFOmcuaqGOGrTeryasawUndaZuUAsEBnNDwEyTzQBdTccLrxGlzxJmdaTTsveUEHy", "c_map_string_4":"tvovyOQyyVlDiILJGylRuuhWjSzYoQUBRUREcqXoCpIuNmbiEAGroicgQhvBZKUpaanbqePPHqMhVZcacVWfcpYoVlbenzJwchDHgXQgEbahScSbNCCqoNnQhHCUhCwcbvhnSTlLZlcbANLIQQmnzNDXbWPOYBDLVvjpxgEyZGiuborlVoGrQJNqqEIHaYynnQFsEQvpnFkaoyoWfyMUyKMPunZQtZFPlFlUiePHIrtPSkzwxaGrZyiJIQROJYQFQhtmoKYDAMVgnAbEVciHmkLyOSBCHvztsIDFRVUWBQHgfVqKKQCKiStkqWqBvSiaOItsrlqSvhcejpQDLoGDoBCkeHycgTkLqnbthFxBHHtMaSUGprkfJmNMjewOJLnKKAsNARCzIWOpmgUyrFNAlxTrhahhZTsfJIoqJVejHntDcoaCQdIVCbqctRmFTubVbhUXcmzHwxBddQTMDyszuiLGtAnUyzoXYwRPyKsnhYQVfTsJgwlGBRbJkHLVohSi", "c_map_string_5":"UsUZYzhpUuWlpgMugHFvfTOoopxToihXlfQnAeCVhNOfsVOXYIuVhkYuqrlluzegRCPWejLcpvjTbMJoPPakJDGPBnAiXwiQCCvUreEeuVlPSWJkhJvrMgsXMOWCuRDUrNlFNQENWhzanTelimxzNRXijoCxTxnqMuAEZNRcwLEiyAHMoYBkSWhQVhdrTqPWquWcCEzELCJLELGSDRwqPSmRubquifytJVrdkWrSXsqTaRbiIhwzoScaxkkZpYnuyatLTBdoyWItDIzvXGqRhTwQygkKAaHxfxkADqMSCoGvvPLiRkVZjXCGONIlHOpUIMRAoJTRALXyUxgdXfPdVBZnngVycHfeULBLZpgRNjTgUDOpsOWjBSacJlBGKPpXTREotzfTXGRWXaOCGZkwfEqMNJHUgbJycSwxHwBjHVKONiMolxVNzlPvyshVsyXqDPdKsxglWgTNklmenMQoGAFTRFkaLwZIQkzutZaCOfBJkjYUahviwOwDYfAlnGld", "c_map_string_6":"jQXOTNBuPMvGqOalXUowVpYhcTDEvjWymtObiICaRiVYWQVgsJrXveKVwYLwzRXUkpQMiweZfCMdIrwWfNXSjohCtkjoSEAMERHnSGSsVldKWYnHcPJFfCcjtXaDGcNWBnrIEBHSaqPtRJzZYTaqmUrxHNfVZZqnSqeyqTjhRFVRTtgOEGEjSYWsETIIIlOMYpoQhXGEeUYivDahvfXTLNRpjLlUYYinrKAyPhdFDqSvhChngIJZKTxnpEZIoTlWjsQGdrGEHUWGTMQKiWTTLscOaLSdbUxNZFWjKqZUpFrqWbdtTQTylQdqCyEkTXmgNUuUZgeNTnpFipDbVZVgxePFfNMKqeRuyCqrFeukVYJYqZuoeGUhkzEhpQiGaXrgJpKbwgJxDxFhZGnIRZqwQcRwVQIRCmzeltZvTQMFsygXRczNoIPgrdfdnqoThHIdqcFpqxqsiDXQPikyWHOwAosdInVLFkWmEYzbQUUCNnkAJyoLCYeKNclhazLYFnlc", "c_map_string_7":"yKMTCReRECOWoFwOvrUtkcBSwWVKWmQzWzdPxeeOYJtLXuQeWuNiSyVsgjgifpsNjgcGAtfkNbuelZxRKRHIUfbyuqjCRRsTKILfbOnIRDnXhBnAHhcNvgeeXeKrePdpILBcbFfURSHLWODyWmBWrjgtYNEjnyqBNxGKeskvStzvBlQfLRRDTmItQIgTmxgyCgnAIfogLjlwndvgKCDRAPssXmADOekiEtvXIEbGIkLYKwrqlSGoqwfyftGvUkxQZsjXnjXRoDIglrjhoLVbXWzSliqXiPYNSEsixPSaMdqFGryvuWKijeCecPkTGftWjcvclwpqisXZvRFtCdsSskztFovtRQQBRDNRXxpXXrdebzkUkMclZPOEWNBetFvnbFLevKoPOSZixQdHzauCgXLNpXCSFrNEAIovBNqbHPvOMPLHhFQNNRMwPsfYIqEmVoBoyDYZdnJzSXRkhkeshNwywxYlRHEPgAcgbvIbVreFyGZNswxozYWXYWEXTGPk", "c_map_string_8":"mZVaAgbhCrwPNUXmJkbLiwjEbLyispOcEthPzKmNnGpQWmtBWuPGDhHfYVxMhHiMpjRFwWgxZwrnplIjUtQvEUYBrWMpRTIPPwMGRmxLyvYtlPjKSThgfcUOxDkwoANfPlGhzuRbqqjnyflQoIezHqeXAUFdfVJsDMmAIniRTpuuogIjMRSTsHNpQAtKLRSGAsiZmtPPOaiLEUHyiOyiASRljLMdCuRxRLEUxSPjcFZARmWZBSpoqbYPyEzjzQNOiVwKFVyURueRFJcpGZPAEOjbNuypgkmbQtutpAeiinkTIVkaRpozHBTVQjdKhiZtiHKZrhUdeTKfveCaAWBBSfxgyRBtufQCiSKLwpinVshLHKpcvyijYOPlKSDnDsFLMqgtWXhYwgutypDCiABbUYdmRnJsGrVVotMNiWWGyvUZQqzzUxnWNGQxwdfTsTKIcxzIDngMAsbMnfsfsuobNxOkvnwywyxUDyJnxRgqFznuIKsgEakpXRajLokVhXuv", "c_map_string_9":"RSSKWKBBBoBIWVercdCdmjiefsNbQQPLTDJAImsUVpaEliYYTEpUfuyovkPxDkZsOYvjVhMhHSGHWeIyGhcrHxNBdPmMtTdsuwmVjhDRNWrXKqWsbxebAxQvTleVrMoyhfeOpNpFRuxjpXtnaeuRFKlSbUOdNmtKfDDUegqDUmddxKhlfKIibgHPSlNFpTcSVIxUFYNgPtOKHOcUUGwdTJfvYXjvgUXeuMYSgobrCNuxhDChVffKHbJdxLrLzqrnhzjiCuSXXfHtqsGetLtAnnFVPxBBJrrueLoJPjDbExCHAwWXwwPgzBzZtenORhEkYDdCTZlHeUICtIqnBWGrctHTtikbZNtZidSqTsGIGnUQzenfoVMWkVktZhzheOUsUmEHMDPbdUlOCLScKwRBToFdoHOQGxvjKvcWWLdNBNCueWtDRYcBqTsQyeEjMJQtBmkJvlrCuOPStykkrMTKnCaguYsFhftcJlRQVOwUPemYHBsNsnHUKQxhCbceGDJr", "c_map_string_10":"fnqAxkLTVBbMhibCfnnKWOtsiQmwuXEbwqXachyqbhEMSjDbbKrFYtQLYZjDKlMDsFmwooTLqnqCHsyrBYBiwtaTyXnmjKXRxYVrNIeFAYexJwJVULDolDLmdhkoJbIEEcDEJcTJzfOuEGBOTIYlRBSfvsfrseMHdKCXfXFhFxIlgbcEBwQEAjeEFRmUbzplzkoVxsIpabMzvhZPRjdbcXehhtduhQIyVhHnchLDdtOipaiOgjeVqlVfoOejnLCSEwlufMMfhBioTzEXqBphUrIMgMRIQFsomheahcdTXiYPotRTXAWhptCGzgmgpCghwkTKArxOtkJoIKtZNPmikgWVSGLdmIDuPKpHlJFUSXLfMsgiiWotEGJSyIYxKCwpPynbFRlRBPAWmIZLZwldiHtvUzJDyezHhkkppWdPvJEFhoxseyqybRAynxPfNFySFMKGMZSQhWQqTHRmfQpVXdvqpknyclHLYKFPLDIFFbYTsNvAtmAXQxARSLbhrCcZ"},"c_map_datetime":{"c_map_datetime_1":"2007-05-27 00:44:22", "c_map_datetime_2":"2000-07-14 09:09:52", "c_map_datetime_3":"2006-09-07 01:55:26", "c_map_datetime_4":"2014-04-11 06:18:35", "c_map_datetime_5":"2017-09-04 11:14:18", "c_map_datetime_6":"2001-01-26 07:04:08", "c_map_datetime_7":"2018-11-14 17:39:34", "c_map_datetime_8":"2016-11-28 22:48:01", "c_map_datetime_9":"2000-02-20 23:55:23", "c_map_datetime_10":"2010-04-25 10:20:18"},"c_tinyint":-121,"c_smallint":-5615,"c_date":"2000-03-06","c_array_bigint":[8614619123023051835, 7950304043647914038, -7543980008481397065, -5011148558260492637, -4406798355225694627, 4692542435280664579, -7699493436424289608, -4435804517502714870, 6373180386247852311, 1341843347177669276, -6647444068471309566, 8297985650515649030, -3672297831821524986, 2831919854538029313, 7431497407565811679, 7133015510523003547, -5223463533500119948, -1290843366483103603, 5367192417361827367, 551870952679530700, 3168050363901992620, 6197427675038759771, 6040913570899367327, 7548840211741615863, -123969481904603053],"c_map_varchar":{"c_map_varchar_1":"UggPDBANqyaegYiWKmSJkBsNcVmRIugrDlSRsIpNGsuSDglwHDiUHMWaLlXtQbJBZAUHMTZeVYXiphcyOboQmjOOMsqFGoZNlKAuXpGEvbRDHbPcdVCscARAhzFacnNrWPlrfGrNvBmXHjCKZhZkoZwDnTqNWxMSIluHAjdPwfrKexIwSVAwRYNLqbrrEdXMzvSGbbGxbluqayUiFnAiXjwchApiCBflBjLSbQEThPQMYFNqipaRJMdjsXUHCEsm", "c_map_varchar_2":"nNXnMYUJChfBQNHtoJShbWzuUYENkOawZdriIAziZDqlRfESISCkMYfmQwYSZRNBRclPGiQiwpAvPwunmifhxbqXDEssMkCmdggAyyREuOpsbARgHWhkqluRBNmABYmvDPHNsYbWVVTcILryRyBXLobshqqPGJQGJdftlnQIndhdIvTNAGUteacllrpzsgAUwJZQiOpJyFmApbjdLftarBoFOdhnsgvKbyZfIJPkcuPFMNpUJfRONvBvYWuQKeRq", "c_map_varchar_3":"yIOuvFBhvmQEeBpUswFlXKvruDKAUqjsaTxJafUlCgUxGfmwnFSfJedzcuxeCDbdnuroTEOjDQMismsIMbPTFmMDAoMkvXSytQVZBfVobHoOBsWlbFcoOifzqWtwVGTfsKNCTmwWlfcDbXWnFXsidmntabLAzIyyHvUFdJwHwYJDkCDOdtHyHkulHgiOdzqmVEdwRqSTPRPKyxyJHVFlVVjUpbXzkiAEdihHuYdXgPFewGuxFnNNZRwzQVEgxBwV", "c_map_varchar_4":"iovBmieaXWcoxiyVxKIWvViFQUfFZWfixpQQfmrGzRVgNadFaRPvaqwfjYNLJNkQEUkGWBFchVsaTPiSXwfRJEvhbtBjeuwxhKQtQpjunXLdNpTxkCsYElZKfFmGHeXwkeHajzwrHtxjATODkZxDCmRONvKGyJtPDVOjfUHKZMMcTbGUHazMAHmnYULSEQvAVFcvkbRGqEjHUzmCXZyZJLvgrLvwVrZRCWgtpbnIFdIOaoYrDALDyvqSSCfVAOAJ", "c_map_varchar_5":"EPAUJTlXHvRbZOAhLzonVVNTBDkBrgVTiDKGlGEBPArnHahtlzSqCVYGpOPslZdpnMkgUKdBlFywNOFPQzuvzMIAMUdphKICJabAUTeihTGMEuiUaXYCPmQWubmslwpQSvLDjOOfHbUvmMzuALnQHfbvVnFRQqohfdAjnAaISYRjESlYBBnUhTwTekRNgoEfBcfXPVzhpDhBoOvpsSpyJgbORbnSloCpNSbLmUrNRVmcCbXGVfAwGBzkMlKjNQDK", "c_map_varchar_6":"uxogleArHjWSGqGCvRlxWQesciLXqDZoSxUnxxqQjDcmpfLqBBPnBDeVLyLNWtXHNonmzWYEgWlHpDViSIHvQPbHzLlSOMvZDWuaQgudLLGmekRoZkoPlURPfHYztlBzqLrBLQikRprmuaJmpYziZwarhttioyTMlYbGfIweWnIqDfQjgDwYhqUgEgOXsjbcmHSzZSFGMlFqzoxjCRNRwykihwZbzhzFJZWWLeahKRCGZdbrwtJMAhXnDFqxcscj", "c_map_varchar_7":"prupDQJwpXeawjXnABUnmWijvHBGLwGbIwvGkKPibZpmXGTVhhkkKDQgifVsSNLOPLnYnCChXxDVQlVtdULvYeRidQrZEqPQDFtHofmwAHvuAjSYmJYVZTnYcrOWnrZThsToSpUlBHDxrvytowxXDuiDIUMSSSNcmVWDkPbgGuZXBpMuzZVBXjAOtjFBiEHWXhSyeXwPSrWXYkKQGFulxKPUzDvvFvLVfLnEBRQxXJfxOjqjsaUdZHeArRytEMPL", "c_map_varchar_8":"fsoWXSWBZecTQwuwpkvOrRSvYoBxFhSUgOsyistpJFfwarizZpwkRSpIWPHBfhGJaQTAGsMpXRrzkOzxTPETqdQYsYRKpMCpMySUlODJImgtmdrKjgjRdfEeSEjusmSTbEZdKpIvshFOvcsxiitqljuyjtfttqcmaIfAjVKSyLHKXniRbViYSzIxwMJcfiasJJJjdRYfGivXKfunNSNTMyrnsOtJsAJFgrXsnSgdulpYvRMWXQIUyoJkBUoHAuwA", "c_map_varchar_9":"jAjSMXbouIoWJcSUrXgJbEvBknghGlRcDmvgTOSEYKouxMWdBkSgAmapgZCfYPFqLBRtTjfBTYhvFnmSzrlSajDclDZvGHTdxKaWrzJoZmPDCbBTybRaGswdHTlTaOVJjtdYySnRsODXxBPEfxgJpWFGsWylnAFoTMBOOajoAXsxQyQtZQVZPlrbhKdInKWgMYnJjImuacKzAUqWOFuWzuvsyjAoyJbrigCQjVKkQMMbZWLAsGTIUZhWBybHhSiB", "c_map_varchar_10":"kivOpeRtLxiROOqcdsOWtvDBZVRrzsHQIorrmDBdhQgucpAYXmKkrTBQxnhdoZDfMmzNETjnqixGecAciVEvypvcUCAntZrSiwDeghpcjnflYgHcmVqOwSElbVfzrEkxyYevqCfeJxowWESKGKvrSOMUzBsmcjVgGqXKxWHPQKhJleUQyZtPHGZcGMbMQyNGNAHUPWOxeFvJYePmvaQVkpzVjHyuJMkKjSZzYYURBgqPNXSYpmhnUuLrqUCvlSkS"},"c_array_largeint":[8419382428130572703, -4772226525904484402, -2315447497517954718, -5920744415318124952, -818037602386064806, -4799275283365414778, -7266279120529943769, -4783780642302845760, 8946608563240941858, -3622662746083382931, 1434699116688657252, 509361637750609630, -277443008656349711, 4205790677164286862, -5613722744790558289, -7497207682849466813, -516523906080270853, 4584851628090784183, 1870487927521444189, -4280927759590468879, -6973154634437700325, -1156028549233730498, -1810535864308537712, 7080721887872187734, 7981313770829183681],"c_array_ipv4":["EtIGFyuSMl", "sRvBqiknpT", "cujEsZgagB", "tPzonQbZwy", "wgONuSeuHh", "RpWFnlYhmX", "unSCsBYwOZ", "kemUHMIHPn", "xeRmqIUOnZ", "CmIZeTBFgp", "oKNZRSIJUd", "tZJgYttJkn", "depTMuZcvy", "OHlwQsnoYs", "uAOPpDgWTl", "ptBtWvVEJe", "KFwyCTKdGJ", "FMsoGqQJzV", "nCANVIiBjR", "ffTVGeyczU", "nHNqrqQeTV", "vuJnxPOnKH", "wJOXnEXIFX", "rxActraPFR", "HPIFtRpftE"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_int":{"c_map_int_1":-99826622, "c_map_int_2":-1401342091, "c_map_int_3":1666355719, "c_map_int_4":-1944574906, "c_map_int_5":3948222, "c_map_int_6":-971471582, "c_map_int_7":-222069415, "c_map_int_8":1878260894, "c_map_int_9":1006626220, "c_map_int_10":-312040444},"c_array_int":[716648213, 92330353, 1440945167, 1100408151, -331714004, 1118560543, -963667718, -2006262451, 286528101, -1345626571, 1797143159, 1911351464, 802457468, -877902538, 1650980, 1653569301, 1916636078, 701205574, -84463149, 831889013, -1099917612, -437650897, 1164843975, 1833397395, -854938863],"c_array_char":["rZOxxQBTUT", "hGuTwRVLiB", "TafInjttyI", "mjLcXhqdam", "zWicpSqCqf", "PHoszZvDbq", "ndGhKpFWWU", "gISELWdJHS", "gsMZztMncw", "rtJDsGYCuK", "fgHnLgZFkN", "OnClgaUdAg", "yJogdOKhoj", "NTnnJMcDuJ", "FNyPYwqnTF", "SuJSBJPyDS", "GFKKEpJTMj", "EuZkMogvkt", "ueSiVgJbGb", "alcWoPWhRc", "YBwUPZFXRE", "FcFymAMeCI", "PBsbhJOdqE", "YGHGiUBVkW", "MHLDwNCSKL"],"c_array_datetime":["2003-01-19 18:26:42", "2000-07-15 03:47:44", "2008-02-11 10:39:11", "2015-06-24 01:17:34", "2011-05-09 13:05:32", "2006-07-13 06:53:03", "2007-07-14 14:19:22", "2008-08-19 04:57:52", "2011-03-05 11:08:23", "2003-11-28 12:47:50", "2014-01-18 06:11:58", "2018-04-20 05:33:26", "2003-08-07 19:20:43", "2011-05-17 03:34:14", "2016-09-28 03:58:11", "2013-08-13 03:27:47", "2013-05-21 19:41:42", "2006-01-23 04:57:21", "2007-07-17 22:09:36", "2006-03-28 01:04:53", "2012-08-03 01:47:47", "2013-05-26 11:15:34", "2018-08-05 16:34:16", "2013-11-11 12:33:58", "2006-05-28 01:35:38"],"c_map_largeint":{"c_map_largeint_1":-74651704181455062, "c_map_largeint_2":8249775055996486387, "c_map_largeint_3":4290219189841633435, "c_map_largeint_4":-5488164740208136547, "c_map_largeint_5":-4439059384007570607, "c_map_largeint_6":-8929930547941227606, "c_map_largeint_7":-4989660373229179271, "c_map_largeint_8":3514507799510657524, "c_map_largeint_9":-1284913868885539711, "c_map_largeint_10":-658557249601778618},"c_int":-743506340,"c_largeint":-6939508325635562708,"c_char":"jJSGZzXdVf","c_ipv6":"d0ea:935d:ed32:9521:bff3:40fa:b3f9:d601","c_map_char":{"c_map_char_1":"ORcWnznQpu", "c_map_char_2":"YEXYYpzcQa", "c_map_char_3":"ZrauxySRjx", "c_map_char_4":"PEwRjNCjMW", "c_map_char_5":"CxTFgiSlhy", "c_map_char_6":"xRRrXYHler", "c_map_char_7":"RbXZRldwzb", "c_map_char_8":"JnXFguAGVG", "c_map_char_9":"RiAymqOjmA", "c_map_char_10":"hvVHJcwvPu"},"c_json":{"map":{"I":7903457,"in":{"whomever":"690 Port Walksberg, Raleigh, Oregon 27972"},"over":"Executive","religion":1114465,"which":9074556,"yearly":["alas","accordingly","album","him","aircraft","Norwegian","them"]},"nounabstract":"loss","hackerverb":"compress","minecraftdye":"brown","color":"GoldenRod","adverbfrequencydefinite":"fortnightly","productupc":"011381078191","uint16":60519,"bs":"24-365","errorruntime":{},"ssn":"227368883"} }','{ "c_array_smallint":[10026, 26929, 1051, 9690, 15264, -16273, 24200, 16058, -19824, 23489, -32256, -20772, 20774, -30385, -26505, 19456, 28351, -23681, -17926, 7815, 14031, -20629, 1537, 21769, -1491],"c_map_double":{"c_map_double_1":5.7844704746603925, "c_map_double_2":5.674686457294422, "c_map_double_3":35.00337528523374, "c_map_double_4":19.614495415902283, "c_map_double_5":4.809938970667725, "c_map_double_6":54.58878773903744, "c_map_double_7":54.64972992752141, "c_map_double_8":17.925349748588182, "c_map_double_9":21.277819955220274, "c_map_double_10":44.60777818682313},"c_map_char":{"c_map_char_1":"oHjdvRjghI", "c_map_char_2":"urqKNnNrwf", "c_map_char_3":"VrjbLuVSCQ", "c_map_char_4":"vmMaCWjjMO", "c_map_char_5":"LfsZdqKTLc", "c_map_char_6":"kfbZcSMJdU", "c_map_char_7":"ERcsvjwWOj", "c_map_char_8":"xNGxsWfbms", "c_map_char_9":"NXoVzkEBCD", "c_map_char_10":"MpZlDzHQkx"},"c_map_varchar":{"c_map_varchar_1":"jWeaPddQFirfMJPVjAbonQZMozKwjxPzGwQqbgEhdEmDgVflAiJILSjpfJVtzbhqxqDPxCnFtsSyEnGBowMberCrYqIHdFOJcnvWbfxMaFgLkTweZiBcdzVamAVaCEgDTsFVsatIbhDjmBuzosDBwJThFeEPDiHGKUFiEekTSwgthLwoLchncbxnhGWiTFHEeafYoYuIjUggHZwZSPkDHoecajRWojIEcgiQBTqNyCPfyfVzdbDgvFatfUVXakcZ", "c_map_varchar_2":"asosQuJchHQeYxrmBOAmanQiNuEiJkEqVLHiHFVrjAHyRbZptLPHpoxRiCGJojinTvQerdrdrsgFZsrnVnFGPrWaMYyoKgDHjWQOtFMNiNwnKQhVYweRfwLNMrPmcvgaLFyuiOPXamYEiyXDPciWCLXyMmYKOaVYtBruocQMnrdeSsqyeqdNjWahXPIgpPXPqMrnJbquqpgbOvNXaOqksKTHoXxtqSKhVVJYCBmaHUgRLRIEZqbuHmokPVHBPprH", "c_map_varchar_3":"BYwZfSlkENFqLTXGOGZSxRQonmIZcYwllNbZEOdanwZwlloBaqcjBJRZJWRKkGWgeesJfwpxwkHkbCGgbZDauymEaYKqGwSYAMWQbQQOkTmnALhKNHRptyhMhseBkHAPkTEOTkMMUqbOprWcZkzHSIOByswyJgeSQyyrPhFIhdMAqSmrgvzoaVezXmxLufZpkWEytaZKGycMwQlbPyKCRnxfsjnIdicnqdQGXMDDXoZyYOAWpfzwybASkIPBSPhG", "c_map_varchar_4":"bKOHWjvDAuGUCoOlHTxzAyMddGPGpOAScOKmlpOXZwBPvgMGMGmlmtuxxEXWPVMHhFQoymCiVQYPNbZBjLDcOnxyUSMoGCmAQpkDiQMAqSRCyPZTWssVuGnYoZtubUvhaqNyTXAlSYkXxCkXcAgJZwEjMNMxlObbMYUGlVoPinnivnDkiNiHiwsfaSVxBiLDrbrmZzrYpRgNipWhDzEJWPIZUfNbEFpgdeQDZpQwDVhJrwJnhCLHBeCgnNEHzbUz", "c_map_varchar_5":"YpoaLVbPsjQbDLBnjaPHvtgWidlUMOntKrqAwyFNBPmSKUjxOmHskpomYDqCBGYdCjFSNiPJXxiwYnBGMbMgiwEKiGBHSePyquEvquryYlqBFFXThAtPLDepGWtbiiHsOaWhxsZXBeONeQEACskAocEaXjXbtvBAROKHSzNNDWieyMvTbXwHyVcnUnWlZkbgRggHSvCoipBKbTLnhVXOEmCplRCHUqtBbkevjPXREUcPsIltSnUsUeZMtINYtRtb", "c_map_varchar_6":"lvNNEGwrfqraDLaPfMCJCqVekMdlYbcDFBJuqRSxLRHpZkVSRcaGcJTAIGfMcmBqfRoBVfDKmJwaaNYNPhfdjpQFKWlVGaFKrvvQTcYSOFVofRknVJVEDgCIjjFDpAvVsgEfZvehjYpvXIFFTklUpZzbOMEaYzMftGqnPxZhGzxfBmiPxwGEFyVgiQGlOyosXapTqwDyZCtCASEgUEFBSQQvVoztNbJYyEFUayeDIbYCAyZhePyJvQYxixwHXeVb", "c_map_varchar_7":"dTJkJUZvlXBpDeNlhrFigTWafXkUPemmVIWSYhaYwyJPDHxNubUcIcxfiqMWmRpPnIejQcFinrljcwcaClnUxPITeCAwqLMLzWENCsKsgaLpegPgutwLiraMuCdEkfWflPQftpoYMhHAiuXFvSFFzuahuWGscLPRqIVRMXYMrZUSprPjJAIUEYUAWtqzgGtiGANyQdxhhBdsBXiXmTILXbVIKuQSvYLLDvFMuuJguzjTFOVxasVckjsAUXHJuXAz", "c_map_varchar_8":"YkwhwSqhuOErPOssecSjMoPasDyNUDzxKktRkQegAyPfrjlzWjGuDWUbXrStQLZOizSCyBXNIDURuVuacZjhZkNvXWPDKMGTZJuzMXFawHGNSrHtgPRdSPKWEYYSCTOKySIxUGzVxvYtXGhLVtQiAGxQEfeRyGAfQcAjhctLMHqgydFGhdTsMliFSKdjmGwASZcyKKEiUEIDRjDTNkjdisQrvPAtWYHBpUabJoecoDtOOsZuktcLhsgyeXclwxiR", "c_map_varchar_9":"DnCnLYqkiGoxfbfUsuIBVWbYWwxHAdfLnPVVBEcaBIxNVpUafXZXsagJTzqjLrUoPbrhIznnfqIzBGBfyLQKJteDIUmhOrRVFQeRdHsqAnZqsOYyCMEmOaHKckbfKbfAuJqnFGfSTVaTFVHLZJJcFJYbwixsDfyrcyzPGbLMRJjNBbhdBBTUfnCJLbeHIEFrAOaOSLPoWuRjYPNbxrnKxWKjsgnRzTenbZIMkzsQTAzhREvXuZjEYqvnUbtcdTYg", "c_map_varchar_10":"ohThMCNgkLcIPnFBdoQHAwbzblIsmwOqeYstyFzszTZLYhOdjtVoXbkPNCOsrCtelpNyPcorXmVaSzaodFwxySJksLhnVbxWaaTrQmFAMcbuGaPbwszFDQqOJmtUWQGLbRVOLxZhevMATrsgLuZnFQCnUVctcqFHPYntrWUuZqqCyXMmuuaRUBSiYnwKnSWuuNkVvrjYiAKDrUvrugaTnzsexBqjiHwwPxSlWWPBndoaaLQSxFgiFfBWKEojkXFD"},"c_decimal":100.1119,"c_array_float":[1.9525597, 5.8955927, 75.38187, 80.75809, 98.96843, 28.055296, 1.9531789, 92.53533, 34.662975, 40.14521, 68.40554, 34.36579, 10.881079, 53.750565, 44.958096, 15.866711, 77.219475, 36.203445, 35.890865, 19.0456, 22.672363, 55.741737, 0.72076863, 27.986801, 80.11856],"c_array_varchar":["UurksgYGzJQdDjsRtlJBSOQvSFQpajcOghoHONPfVtANQJFpUFhYTMaonCvjcUjmvdEpfBGsvXfkIjUtQpHqJqCuZAptKPqOuLPzEIrjAWUpEQFTkKEDCzyuGDspDxULruJwHbrloNLBGvHXfyETPIZcIZvYnBfUIwgiTSlaRHGfApmPcaqPbFBQOOEWrKJRBClyuNtZBCjLEbLgjccjqVMhTvjvhHaUpzSCxKoVhTRVhQLdFgIvrBGWfylBuSCd", "hemFgLUCnFuWXCjCCjKygfwuMBieASpObegnGketmesNixiejfpFFGnbsHvLmpiShpuXlFNJIvvOJEUnkOTNvWpvDviZMBXhFSjZQrXefUtvasbirEEsELSwzZXlGYkIVQIWmVKpElqQSiahYkOtjTtnawtZYMYydbbbUCVCHGqPopajjhbTEtSnWjIEGuDmLTqvlEuTkbblyXSnIeOKdgHniHBOdseUUkGYkKUSZjpKKUqTxWwGEyTEZYMDyTEX", "GZWwxKJfDrOWXZLPlgWGkeVDIScQVLmMamIzKEUcxLGvOKVGKZedLTkvBTDxwnuLfSvFoarqnentNRXHocEIHVAqLxQYqfHNUzDPSEdHrbQmtYeVJcosGADvYKvKZHAAsdASHjCWVZszeFWxkXPcuJWSYnESaiJcidKEJSWubfANAYuZKBhFWHwzwHawJaWpvaSPjEvzQDAoGSDMfMsiaWtMKfvVZWVsBgDlAUDdJODKpSezPLwYExtMUFbkpBud", "cxuiLlOOTGMBbErZycyQQglJVizhZEefNUvtlwPGyRkVbUuwSqgdiUbDXTlYkQytmoNcooyhMFUbkviLMEYtrvxqDsgVmpwhMkPdUZENoxZTASscTmrQPYYBBVEhWGTfftbsdXyIAipYXygFFfcVEGnbeUjhHhxLesWiMqJOUSdZCBMGsywiYnXTMgAzbEoUOvZxKaQgokShGeKKfgyInluekVMMTYfqXMiCrwMbmgzLDxUylLOskvmUYkkBvbbO", "dXkXyjRgjblYnKrAnjKndFhdPkseWinLhkneYvjyikMTNEUflsBRmMPbpqjfeYWWNEszKeFgDXpcvopahgiUQTgqskZuxPHUPTOVtjNRaonYIWSuQNmnwvrpQxDtjGGWDSriVOKajnJWeqhTvxVhkuzwNWhUdPGmDOkksKPAMWOrheuuPONwsEzfcWXoDpbThohvMfcwzvJVgYAzNRxRGRCJBheOcCoNuXFeYZlPUMtlSYSYZmpRDdwERkcuMPLp", "QyRZDCxtZKCcGEboOuYPlGWrUHHKswYVRvEFgTHXmyIppZucwJooocPfcByZRxUDIZUFayWuhEvCVZObnqQFWaHxhWnPwCwawhpIMzTrbGKOfaXuAQeHtuucdgacZyIjxyTUcCUuVUMqMKogyjgfDBEFdvivtjpKnsXaBXZVfliiQVIMEoXHFTOTyAwVPfOuQYLrmefiAASJrDjtiIvQGXwdWjlwAhIEuixCnYCkWGEjjlOiSaRSJdfoxgiLUXyW", "BOouISFqEbHXkXFlCaLlUyoSiQRPHcvFyBFSMcgJfINnMqndjdRUCTRWmSwXmhRvqKJnIaYJGTCrINnpufiVJzWMABhOPQOeeBvquymgTQklfFHlkVdstqFHEbzafOFqLZdEmJtgIaGidbYiFRXnapFAWGcyOGaEvszJWgOOGueRiKmMZEgIEwEgNzxitSCparMWAmYwrmBKCBmoxTzcRaKnEVTgJCDaswDaPJKQdJoHIyRdfvmwBKCpEZKBocWg", "NNRjDkjbLpmqQiWzgPMIfumgbwvAIbXAcbIWawRZaJnvhNlOpjzjTNREwScWrkOvxjYyqPtfIyCZfPxzpefjAKVTTByhuDNAJovaUjqmFCjiarZvfqqQKSQKMLzXfVHJDnhYAQwuicrTjNWsxJSIljAvLkJmviUWMutPEluuWQThbnuBDDHsepGxETMmfIYchPEqAqyYrQElwiXigtTteJUhZrcICLGEhtTLgEyfoktgDtGLhkVwMicLlGADUONF", "WlnsYkkHSnCHuPlHnfowSeAxRtikvjFsnZeugGaoNZZNcpxsajdJBbyvqIbMLkHpdHiBOXbswQHpLQrJUcCOSogAdqcQAdpFCRODuYmDddZCtDNdNigdXQTibYUfkqHEFTOUiVrTUbErAEFuNhRMtishCnHeqCpBVvYcpLuvmMzjilFUMTtkNQIHlSAgwDuUkrhVbejoccueQNMvDWPkISCZXfgafMpyJqqKYxzkgkiTGGRbHeuOfIyFlmdRCZua", "xCpWzMVIhdGSxwcqEYmQwzmQWQTWbMNdyvKeUGvRdBZqKEKxSSWAxAEEmEKpXMaXrHFhiZnaPUbufrMRwGFSXOsSpPGHOtAheEOjhbBKssCHieqTqIAZvreFYaYVYgODdVkkMgRnsdunXOcXtQmlRSRDIhakoSbMxAleBSfkFkPkCtthKFQrkvMBaiiIWkGtTcIaxQGxNvzbbQnWRxEMVtLYCkZRuePxUTBYSLcYhdWiSqBsBuvUJlePopBuUzLa", "GvWBoketuScokNNoQnYGlvbcxksfmEQiNhTjycllIcWowwYIWqmDyYAAxjlAWMoQzaoMjUoBueaMgXgFANTyVutcZtGvAHdQMsPgFrkWxfnTnaGorRfQBmWfrCwHOyJpNTNshzfIJCaZMahdWQxrqbZopiGfykhBjEaTIYVxRMtReOuMofciuGnpGYBUzYVAXKJmdaOZrKvpmUlaJUidLctlMkaVGIFPrmFfcUUakTUyRnrKChDAEHvzjPVgoAIW", "OjOLtHBqLFITidlUgPTxYFbXokShKcYbGGsOUvZFsuRzLcWbRGPSadFZzdYvsazGhtcgZmwpGqSsDjBaPyRsdECXpUfCQOwlwWnJBMKNRiCMthysVHBQfnolHEToGuaUewFMKMBQKvFevKDXrAwhbueGvKpYAfCgzROwAngpqwYRimppFLeMgIcMQAbcYggrGQhEYpbEGvzgRoRTUAHaMnooQqvHXZjIUFgpkmxmjcYgUDFnUVtbaVVZqIMtGJuj", "tSSdddVuOtUMyxApWEEXGNFaewpmpYOwRjvRtwstxWQbKoebNtFbZQEvGZpLVeQGLXAEWkhicFmDhuRNUnCXPWmbqVGueOzUSKsQCNqJufKGXRBeANGjRPaMYIuEKqNqAlkzrDbZYWIiGPIlLzImggYzVuFDvUlnPgTKwvdfliPSGiUnUPCukwWLIiwmgdiMtkIgjNLhNXUiqvqkweeuSlzSKQpNKbSiVPvoHSgmSojDOVMXPnZzwnykXCfXwFwF", "UdPcvzhbNrcieubFcgJSApBvVgPMhJYomCmzSXFCpHeHCLQohVDGXHfCGFwLKJlnzqShTrmOrmWMPNIzuYnZSXtOPGzFWEzaZJRYDyTleBtjrCTsHygIhENoPjBGroUNPzEiZPMzQWqgkXmywbjpUyDkpWKidrcgGItVaInHDVWdBdjgigEYIrmXGMAQUrMvugffMSxwmvvDQhYLNVaZvkWAXUJSPeOdTGgQHSpBqJEkzIeNPPkKFcvViOzyrLaN", "ofhJHSkjwtxoHwTAhPBTAxkMGpsbbjOPcVtTijsoiyeXvYrlQUWgOzxIKkkbShbLOkRqoLRPFBtKaqwzfkAUUkmryciAwYwFSTjxLCyKmqxVeMzNFxYZRLQjmkwdGAVOOOnZgqgrAwGUVvcHCKLhVnZKAOvZCivxSveraJskLJvLrcwtghYqwbPrebLvogKRiqEtQQxAApeOtQaOGmoxBlJBYkmMepKehOSlUkwCDDGEElBFiLExmYHRmpxYVBli", "dbkfMvkmgUPJLHdUCtqSNBmliJekuPNJkaIRWHQxdWXIHlHATXvGqDqsrzwueNpRRsjmqSkLwJJibejagYDKUmczoHjCygGsiOiBHAvJCWwzWzPbCihuTNdiWwVzrrrzpKghIRmAqOQRKUjBXzzNKrxfiGwlondmqVwbKygPPhiWKnIKzgmPNAHtSvhkHTvzAHkmDCWHDXttybFSqTFzpRnwOoGAOLGnsHWFwpTFQCJhlGmGEGykiUGFfpoTLMxK", "HIMCtXXaDzeKiKKXzhCqtXLHwNHOHkmHpKOSdSrKUAAAgzJbASQxjoVQDmHMaJXMiFIYiTeYEEnLhIbGakCIFPKeEoGWNFTTvMMpoUCFpyljWefvRsoVmCKwuixNTLmBgooLuhTuGKKFwEQkIDeNaPdbldKCKySYunCsZwTdqkYdOqiuUrDmIXNBOYObGOnwRZCJETlUGEMlpGNoJKSOQtDkUWxVtMozLoEyyUIuIGdNUpknUTskZajdnVFaparw", "EllmVvCWMOGTnhCGeyQpUOZAKrcWdNlllxriqCuazXPXCNTxURYFArdjUpIPOaHmxZTjdAfCjxfGtfrAECXFpWqQccnVtqnmphoCLoGcBDQbbNQPgLGvGGEyVfPUtIAttQhSPnfOrXwJaKuvfuBbgHgmIKWdFXoXqpuWVYEPKAgJIYgkKGtOXPogfFYrUyJFVWSzVTawJGtHBnocFOviWDJJZEvqzVIGYUeBAdkmyNdaTQQkUdnbtYSiVHFqgBlX", "vApsWsKIgesipbMBAsNIYMgWgGUgNoABNVTmImNcviyLEmQOlfvBfqDUzlpApbLunYzoSnPysLxySlcFLiwqqrAUNVPJKYzMcmJMaRCzXoiUQDkXSvHTNaOUxIOqgWnIFGwFextNKbCkTDYmjdBqfRJeNdoVtipfriLAIopANcLcnqYhDlZJNhEKnchiewlWQJJmnZmgaSLSqbvPeXugWDVPmmoCYvjPmbRTUyoALNImJuJoNBOccrzpzLPCLxvd", "NLFjdzVxpbVmAxtcHNFXCchfecMIaFHpPSNCGADSBprPBbBYnxDSXbnjOJBzkRxFiiPBvxKQMrqtQXQTimhLyFpUFFjjndsVDSUOcutWxSsgOekqJWiQCsZbfkPLktRlgEOJIjaZFsDiLoiXjCqyVaWorNLuWxPPUHoBfVpLfFLvVZNwnuqCedyqoMiJCRyHcTosXnZEVNxgrkJkPCwFrTzlIDSiTrmkfNVltAqLQYhNxqXjsgdcoTeQyhNWzDxk", "wvvweiZdiWCuBGzmwukYnbQntDAmzdOgIsimHWfdeaFdMGspCiSDWHbBlEabStSBnbAyUHiCuayKYaPXewVLOoNrnRBjEVZTPikUQevXVXOMNlOQOzkjDYPpLVOUSgguyHzMXiLcZUcaXWkgSNpjVMpJkIlIctgzOIvHyZdaSAVLTczyToTAwMnjXavytHkuDCwbtdijDzNjWtfXhuAZZImoJEAiPoEHwBkBiCfJGkZojkQLsLYdqjDgLnvEspBA", "UCDbhTmSGTRLTMhjqSbNIyYRfKDefKNRZjDcqCXlvjiJhlbCHBvqlnrhRdMuFpNWJxSVnvIenyVIubGSzyljgDhOfWIQQfkTpxXJmUzEVNjdEShDeoHhNOiVplckdxRGCHLmiTTUuAvWUPAGNuCDcGfietypVVjmYGHfkEioqIpItNRkkPYCCSCMWlYBDNCkCKeIPnsvwqUrWRjzEwcxdRHdCUHzqJtxyTEjasAYJAUVYKOEVoByofeTUhoskAxB", "qiYLnwpgtxWjIeICLlvftJTQzjtmvtFwiXsbGICyZEDAkskHwYGedzMVgmGjfkDToAHJmKjUMIesWmoylbufKOEYnnDMXcEcLtmILOsexzRedAwIpajLfQgYZeWVCMpJTFqKqcjzGbZEzAfzRtPsSCSAbgaLomhEUYgAqvRfdDWKUVXRDSpwJMvdaYAJDOshERwEvgvsUrtjdXwxZaAUatIJuciYCvyrFHAIhssuAERpWHSPIjufFCAAGxMeDrpM", "SCsCbVQyTEdbOzMnVHrCrEUuOkeRQtdGNsBAoGZwdZrpofRgtUeHTfnRGQhilbNVuadSeINBtuUIwsnQzRDMRlshABnKQGtbjqTwUNpqnrcFHEdFWwieLPTrymqxIdcfQVMCcXRErEfDOlCYzQXqLodrDGJQHWfcHwNffpVBtvDvAbpMFUHJMEaiKNArXZoiCsLBvCnRdImvukJSPIGyAROfQVCxNxJbRaBQFHhkXlMjgXsPHobGeYQJqyUEOCAw", "JJuDBjtJwqBRFZCHlBFsllYisQHzZKuWgOazFVkewzOzjatKtlesrxHuxsjTDWcyzWsbMxqELzuzLEbfYHouaBCmNGFXxsKjhCgDfdwPYqfsGolpuDbjsGgZkgzsZDWEGugFjmblNvzvsgnlLLBjAhPHZbQFuZQLKxOtVzfevHeNjPWTZfpYxHsSOscpfEcMJKsWKHvluDwjjrpJosUfXVrPYFiGDdwrCAWEBqIWeBlpVFBfmuAZVvopFyXYsIdx"],"c_map_date":{"c_map_date_1":"2005-10-06", "c_map_date_2":"2017-03-25", "c_map_date_3":"2013-08-02", "c_map_date_4":"2008-03-13", "c_map_date_5":"2019-11-10", "c_map_date_6":"2006-06-24", "c_map_date_7":"2004-05-15", "c_map_date_8":"2016-01-22", "c_map_date_9":"2015-07-23", "c_map_date_10":"2005-07-06"},"c_array_boolean":[1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1],"c_map_tinyint":{"c_map_tinyint_1":-102, "c_map_tinyint_2":-15, "c_map_tinyint_3":-127, "c_map_tinyint_4":-103, "c_map_tinyint_5":-112, "c_map_tinyint_6":-52, "c_map_tinyint_7":-85, "c_map_tinyint_8":6, "c_map_tinyint_9":-123, "c_map_tinyint_10":-101},"c_map_bigint":{"c_map_bigint_1":2325890014212174494, "c_map_bigint_2":-9063138173994330396, "c_map_bigint_3":-2944070349101508304, "c_map_bigint_4":5795959600876138951, "c_map_bigint_5":-703855503317712204, "c_map_bigint_6":-4500505892341022231, "c_map_bigint_7":6200989569038365535, "c_map_bigint_8":742412552200942796, "c_map_bigint_9":-5556101152450938780, "c_map_bigint_10":-1297472120909943276},"c_map_datetime":{"c_map_datetime_1":"2000-05-21 23:10:30", "c_map_datetime_2":"2008-12-15 07:17:07", "c_map_datetime_3":"2011-08-24 06:21:03", "c_map_datetime_4":"2017-01-16 12:21:34", "c_map_datetime_5":"2002-12-23 06:32:20", "c_map_datetime_6":"2015-03-01 04:39:25", "c_map_datetime_7":"2000-07-27 12:50:17", "c_map_datetime_8":"2001-09-28 18:18:15", "c_map_datetime_9":"2005-09-28 12:13:04", "c_map_datetime_10":"2008-08-25 04:40:29"},"c_ipv6":"8cdc:d736:9f3c:1eb4:b2e0:f581:8645:9f02","c_array_tinyint":[-88, -37, -65, -118, -32, 0, -70, 75, -95, 6, 60, 36, 34, -102, 59, 55, -30, 15, 82, 65, 109, 115, -45, 82, -72],"c_int":-328572771,"c_bigint":-7653735416915427972,"c_double":83.42492325629611,"c_char":"GiTbYjRXKl","c_varchar":"good","c_date":"2013-04-07","c_array_decimal":[83.0178, 32.0073, 89.0406, 64.1915, 56.0822, 82.0527, 57.1842, 0.1268, 69.1797, 7.1311, 36.1674, 65.1347, 24.0003, 98.1694, 32.1366, 16.1863, 79.0255, 75.1950, 37.1703, 68.1203, 59.0797, 67.0102, 52.0230, 13.1140, 62.1099],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_int":{"c_map_int_1":1918617165, "c_map_int_2":884315189, "c_map_int_3":-665779572, "c_map_int_4":-1362522818, "c_map_int_5":-2094895603, "c_map_int_6":-1305146879, "c_map_int_7":-1070915345, "c_map_int_8":-706295092, "c_map_int_9":1853459074, "c_map_int_10":1895205577},"c_smallint":-409,"c_float":15.306153,"c_array_ipv6":["pgqXCpENOI", "LWdtpWOKwz", "KRpgAwycMZ", "eqbjMWpOYr", "koDxNIMRFe", "hozbIGRvPJ", "SWidKpiDFS", "iBljjlQqHC", "fkIrDpeEgo", "SViyRJuFgV", "YlVZeSbxSV", "ukQZiNISyv", "IVPBogKSIo", "groZbElWkm", "UmiwDsKsZr", "BRsDIXYrvm", "gCpWaRNKOS", "qgCjpNRBtN", "wtkBbAgDio", "ynUGsDMbRE", "vxmbTKMxYs", "fkMbfVfDTn", "GByGeCFQNp", "QBKGgvXGuY", "ISbPRlEclb"],"c_array_bigint":[278819207063949028, -862328025517897664, 5711085081864108387, -4977703789310525077, 7992385171838138130, 6921455343378994930, -2045843165484039202, -5110553335631318247, 1772975131447886740, 5551764034971432990, -7066408045794617445, 1291726248677542177, 953158149891174010, 811784740334506733, -4636618540812761646, -4322369527744976141, 6003211858422275433, -1368411740995707035, -6657361141279858508, -8938701421930838319, -7340666548589749437, -785178366593755847, 8182297582278141918, -8168548579267280102, 3056518659406261870],"c_array_largeint":[4270591012199331755, 5847344352848196732, 3534076177476288741, 4466617792907058954, 1489657152483229541, -2770706250610353437, 2006715556362932443, -1732306173333483067, 451075731736822704, 566106672968308914, -7682772454232819071, 6859051004694948006, 7018648318129110492, -4463295778727247832, -140168885064179628, 5332849308654335914, 2084199729755844761, -6403681802670607251, 980016754590437388, -8778475672687749130, -3302615016539479248, 3165734352904322365, 7993239297161631626, -6336099202855652796, -8968724288833119504],"c_array_char":["AOfnbfMJBf", "zeDqbccDTi", "idsmvxuMUQ", "FGNeZEggxJ", "ZVzcbUlGHu", "FPtiHRKHnP", "HuHmxixwIT", "YsBAkLDDbW", "BJMTFPUOGG", "GAvmBBmknn", "ZFFdfYgxpI", "IYxyuWENsd", "NTSbCWKHws", "MdnSwcEhPr", "PtGsNvqnRx", "ZFXieRVXbg", "KDFbtscFeR", "KllTNdDnab", "SuhEVsCiGm", "OcAbSRFyhq", "PubTwliXvp", "eopZvBGhcO", "gsImkkTegV", "KTTvekbTAZ", "EVzsaDGmxU"],"c_array_string":["hCdYbjPpAIlgOdTFQQudRRstzGBExxAcjfFypPOvAHoOlAcEGcuyDlRpBvJjfEDUcJRtZKmyYatOBdOBUXvkJQkfhCnGzyrwQDipsEqzEdAWsmTmZgOaThVJzJfBzJrFiPjkhGIMjjHdWvKKLkOVxdGtywKIMGkYNGgKqdsERmFRMINNFGYmOqpXRntaJYoqoqkiNefTcuoHeTNoOGjOuUbEQrjEIEzZvCOiEbGKFdtFCEIHQNqbQGAWbcvXbNbfUlYTzyzPkpkIVXolGjWNqRvxyLtXluMfWcttTpFhPTEjZEICdDuENHeKguJZDKcIXgYlqZgpRvfeqOSAnidjPsZTlgmDwaqVSouDaAmIjVayaaimUFLyTYSZDiYwvBxyJPVEAeEQxLElZfIYpfUVCfdTkpSBHSrQMjDWTlEVSCcmGNJbASNJAkPyGgyXxbIAzDHRyQqBOttKViKkByaLuSpyRIuCIxqONrBKBXGyZkIqojabhGzeZnOtdqUrYBKF", "XlzTIGiPeRrFEfFfOPPbfkXphKrBLpoRoYJepSOstgoMAgpYGuOLXnxPPQEZBbysBIUtMJDjpNNrhRDpzUxgLQcyHrWqcCirYGEOrfueTgniicoRGXoqIsDIateOxIdWFbHbDangyavfKBulcdecotGtDAwconyJERdznceEZDnKtcUVOxdmyJNSjVJfvuLcmQMKYrTOKikxMmhgKSPzzdbSuoDJbqredEEZTeHBEPKVZkyoENPliSACdInZNuDSBgVxTNsovBklKIqvhqWdJqRoKhiNRWnwRzQVNeiBiHWBsFeuiiYPxtettYlgpkMAFnTWkJrSJLPrnlcOuFUSHBEucgDBrWYXyUojjqmDSzuxJgiCEACpzsuQMGAyAFkSXlrJKQMycgtbFbnCynJiwKeIDLmwMdIhKnripmtORVWNKbIkaNjbeqCfzSjYcYOyegnQLYFhlxDfbDJQzdrmoiYMVcAbiJFVJYlEzjfKbgwjcCPApeOjbfHYXqHzVrLu", "laDXryJYLoiupIYyalcbtWVbwhJIJvIFICXQuHYURvlkmyvYSszHwWzYDxFuYeqIMfytzVeNptycuqDRpemhAGvqOYSsROyaTRNtnPrBQMPmRSEkoiRugbjucJYOiPfYfZWDAFhCeMDzQNWGQqZSaBxZzfBcxEPfPNNUWnnZtHRBydNJZLCtbaXGLiJHdpFKREKJtTboFckjhXwbfywIosLvjSdXKYWpvjJHiKSaysTDemxsJMlCKFPLDqithXCgabVkIdCyPQvnefLMHiNBhnuOMqITzvnbEwhxBrWftFQAFAnsCJevpEbcJaxSaFLjHscpeIzHMrwlAayShqcfJWPUFpXLLIaMnchXtAQJHgvyIdyCDNXAaksKTEppogjAPieIMgGMuZgmhqTrveHxammswDWUqtTofkvlTytuwAjWGtvJnIMNffwqfLytjUJNpdVCNtdrITIsnneZyCvZpXoVrDuiWgHvKgZKaOKanFDUbpGaAzrhPTJOYiPvCJQQ", "BGvxzdaLcPmpzyJsRnRFIBvvpjSHottsSrlvwVUNhgQvmebZzzkshNwejjiyMGkUTJBCtPlAIxvirhpfCYZvzSQEgaXckKEgprmXdTjZBNwvyKyFVcNpZQaxNmLDjbeJcFudKIgCHQEmrlDMJWqajClGgeRhqavfBRfwdDrZDBeLMyQxuJFZgFEbaXMNPyhYgHXoJtpAtwoWMDqqaPtGIIADdqjgwhCTBKyFzDETJAgyZMyMkCCcikjKTeAITuzHwKixboLeGsBazEKTEmmBqdiInTyTQofXYHgARuZDQuGxNSxtgajtbIKqxfdpQJeOMszXDLpGzuohfIGBRrlcGtKNtCbzNfsGuyYGRMXTrYloMspnjlTpqLBecZDLtGSyCMjFvVAUvsVicPtyafDUMxevSPBDpBlbwrlUVuWiIBQBwAjYhsfYxRSFmdTiEeTqXkSspAUSsLfGqKMfRfhdErjkaMznPVyfOnftVozXQtfVCBiOdHKpXfOjEPFjYHSg", "BzjOUqRcOPracZQxhSitiEvMkZEZuwWNXBjWRXUFsMFEyhRoyFhcQAUnBzAXzmJtfPPHXkCTYAwGbIDDPYvmiUTBJlDtpbrMjGRdWgtLhxEwKNwKVgRZSeEqrmSZYHjgOvHgHrgMkNfnoZuYprIwiKeIXLQFohUXVCkThvunZMKKeOZpBsuMNedCovWEjuTxwgYQqJWtJLXwlrcCgSSeNrvOXplmAEwXIMnUYMIrHcBhclQhUhkRehykdMUpOBFqwygWumyysktAlksddNWbOypupxoJvycdSuKflcIrAmXklpGgvlyybzdzpsTWjkposikjmQXXoiMlVhNSGyrsMIwAmbKejJbVsIYdxeaDkSkhEZdJpsYTVoNvldwSNcgANCwiHIWiYfyhbftDSObUyCDmnqhfQHqMJAAiYVuuFFBYmWMMWEEazzfVjaFAcWnayWaOpRArbzJdywhXznXyNwUtiNUArtyNCOCMtjiRnOXTlYBHALisZKPnMzzgLUbX", "TfmbcncqOXNQuwyViNMLjsREmZismqMvwCQJnbCcDlEMbDfIkWlvAHYpZiBzGrqntjDIGEzshUJOZvHgPnpWPMShxOjsSKRSxAUYULfbeWHsLWIDlfWYIQZtbBREqdREJAQKowLBERQawcKXobDuoHMNbsWqjsKgpvtnwemBcgMnzjOsqhUGzvmKXxwfnHfPfDiKhHHXZcjuBRsyObTTmpzUKaWMHZLhnukswFbUltlYYaOBiluxiotQxhIuRnaHKCHjHrAImILEqEzXlXznNtSaiPPGhNGEutErTcpOgWRFbWEsgfzbkfaRpOoVnodOVHAzayRFjCBmWByXRfYtqzJCjjepteOFrCxJijVhKHlthFxADFTAUnGrhzUSWXaaOfKLZxjSoPkOuROxLFAlOoGtLeHQKbYxxyKvpUUuSYcdZTHlFMceiYQWDNrDnMSVGiYZSUkvZrMIYKLYPGYoYlKksMafOLxQPfbHNXPRrGDQGeChxLMhlaFxZjUnaFzq", "inzwwJFGMoGYCCTAoUNpJGGbdYEXXiPdRsBImMsuXZwxyjPwZiuCHbGgwDSpZKRJftrSZZCsjCnXIJKZkRswNGnaWzGwejGscVBLzvRilVoUpuhzuEFYeDFFFPHAztCpXsfVMIVRaTsgPjxTqyOEbusrruviRnLZSATFuahmXMTorfyliUXenvMrzKgdxwgyiVKTSWxTuSBiWlqQpYJJyyQyHcKvaRucHAxcfQIRuGQVKNjCjtCjPVtfnITeFVebRCvQkpDTNNkuVgZxCQVyrPaEYmKsDPgwoxOCgSrcfOXEzRdywBzDSREduKWOzbEbxRYCgWRegKleMVfPdiJtqLgqgSqnYGiZeIhLvSEXiGbPRLWLpkjZCXAnmUfsEjpPuTgpkJyYZXyGtmGYJYMvrvOyBOMeEmhHalZpRZqHEQeIlrITHbuokzEUOltmZAXeRGhmEOhcOBFMsMdIPoSbWHGpPcIkDkOQdFkoNSTvlneepvdFsbTmVjxwbynnKrVT", "NGMOIPkQbxiXYEPZrFiKdEeVKkWPVQJgKqyIrnyzjZkoVQUsXrragxVGAhtBBWRotylQFUAbDhwiblXCzWnZqgjAjsxQwUvzfemBNJQMYWHIifVPhLVWeZLsIEMuCdBCiSbxyfhIEBzsDCzcfnyONnTMWjoTqpcbCwVTJttfMUiOJZqhYqQWAvffxIvQSqqZZNUWePcyzXmJFqzikBzoBNUBdWfBHkCsyBoJfwQDkemvDQhYxjWtFYuhLQdXSzjqitheRWjteXHalJkNyNuQClmhBeUXbVudHmxuIfjYCnRwFSFJsFFjIKzZJahCcPmHNKvYIrWQmSLqoZqLAMHhrVAolbZxToQuYqAYalOXZYapkkFvtZuRJsiQVgiFVqQegBWyeoufUvqiHRpOlwSBPVyAEOJjZnmuyxsHmGWQHasLwoaYuxBOVsuGZmGSXNAclGaqVFLjpiPBAtTCEXNpQxmvOhXURIHjauvRLBVXGvxYHlPNVierDoNQFAtNnbDH", "AtnaMzVkaUDwevTehFCKKkGPFfblwjPvmRidaPwENvBmgZZvJyRptnqBtGHQOsIZubklhqElmoibloxdVQebyXVQKdNCpDySzoVWksUuyUmlyfvNGOAKtTjhVxOXjinNjftKGOrDnCgAqLiOZigSUJOpzwIwfXgzRAhOwxoIuXKJpPKzgPbIVUyoPvlVSTTxSTYiPYTwdOmaxWUEQGpdmamkKuvHMGEGrgvhkRJHfcWgWpAStAWouShOwNKZjAKsQQfMsaJwGiJmkQnIjAofxDEvyaNnpcgtoxAiWAXRWnfYAwLdLyXLxBFeknznWztVFvTCWaEoPQOcvwQwChkmYlfwCPRNdjtFCGIQSWBXVhhUVKJqmjAlZhcAmVgLClvEDcyatutVqmZxaWIMSCFSGpCMasrgxfmtphJiOIJMQbthPTHITJWuSwaOfDZjheAOESNviWNjsTGBGzRHfHxRvhWERVCDzZqdLtjZLiZptfKQKSodiRHAbcXfjsPihDAJ", "xtUwnqktlFUnxjtVbTwfkovgxMlwtCldHssuuFxByFOnqGehoAvffzNJKpOpAcVCzgARDpbWORgnwUBjoMQjJHbIaoKNJWdNwrBJibihNYqVUFjPUwAiWFlHuMjQAfNJARkjFAgeOqFjbuAlMKYvnRlSdmeMLFGDjWnWCKjpRunPabZpfOJoOXFmOIcZbxQWtRkBNIThKvKHIlAmPRdgToTsMtVXyECIMQTXdASaMgFKMTjHWqSYIgcMjredeysjjzkeJPGbviBuqidJIjaUaBkeOloTYtXNLPEJekYTRrnCWQmLTgQBbZGRvSiKMTCVBCbetcoAwemXtcZllWzmcKIKJhEkwMcDFaNEUBfYmJJhjBtqroeXHtWfpMaNnYRoShpSDNdnFwQexTxuoPyTHuWJXdsrxRsbdQnLEAKiNpyIPABiuvNjbsOypWPNlANuFmcNiIarJiBSUZfpsRjnIwVsEMxYSGpYhscuwkuclhvedupnQjefvUweCyqTwElo", "EfTHQFxoNZLwsHUDuBwefmJRkpthcGZtkrkCLsnOFrJlaZxYrSpggtnXirvlkxQQvJyICGfHMaqIzKWNwpBdNCvCQHWFvUfCNkeqKSVYZRWVNMnoETKfepieAUwLkwPXHWnyITIgIinAjoRNLHmAvaTwQyjZOHtbybcwgJtRnQZrqGqFOBPplepwrzcxmBlpwOikEJTqeVxRiJfHwiBTbdGYMMJxuKaAWSdHJjlwyKZuvSJPMFZGikXcsDCJRBLbaHILWyUOptBDWPazCtdoWEwiXKZRdOlgENYQDVTnEnaPOCmYmYXwHMTsnTmwQNJrIIlYcfkWKpJTMexKlCxISJBtOcUuotSSarELbPlXPsBwezEkMnCzkJOSBMHIEtFGdnkpcbrcOvCtcPRcDdilTsMyssYgsGnseIZZkInGqcTJKqTTVKSeCKdAGaFIbHoJLXCbuglBFlOwmwviCqJsVHBXtXbEkREuOYtsedUrLLnDCqWvuRLFwVVPDWjzVOuq", "pwdRYePGJzsiUiNPukLZghzyjmPBmJHmbNvVsMzxygkhmaQyywZuRjsRBrvtKWrQIPVJbwFqZrwDCxWVmMGFgLvAvOrdpnVmKcbzZyhPJCFcKUKjfAnRdWFKlrwFaQemgDpJxzmtPpwSwVsQTUkdWVphxAfydjQACnQCaqlnumIcBxhgsNDdFbqpoRUjmHrrOaOOFaceueqfvSUOJahgdVJMQsjjBXXmcNKIpZhqOEypYNCEwzkvOChzFGrTwJeuuqVKIuTmIPQExIrAyJAKSztxOAODyDbUMFlEppTWmvLbtAjytUtkiTbobomqxAtpJfZVYchNDxPdaJLoHLgIEEMzscKiFQZvBOJhuuXnwYmIjEqgIySMxFxgfoSndouYtCYaXbBRRArSlbAJSbwiTfrHqhgRdplHAiJBRdPxYdbaICKngizhoOJdvTOKiyfLTgBoUuVkcIYpROSXUitVPpKcteEvvftdxfaCmWHaYIrxHTLZzwWvNPqRidpXnoSt", "XbclMabHmNGGAFpJtUBmLfDrRFJwlBvqRBzGQGKvmqvESpYnqRKvCqrsymuFuARvoWJJRJJgIFtahZesrpOhUfXdCKkBvFyCdNWBncTNJLwXfZIWTfURANZnEpLyOuJEUveClOdqpxJgOSBuippsImsLtHvCHOixaldqpBIMuoxfhCeNRvIcpyEqWyZeBbbgbuJlwbPgFeHdcMGgvRUaBtxOcpDKZBbgGjhtZNpZBpdJwUCaYpRSMbYECNdscRdNLFzPruSNfIWnpYQshHHBzIvkXSnxKPMXhWdVZcOWFGrArOdeOzlMECqWuqVDiBxkYGPeQVRSGWHeKELciDjluTWAbXfSTjBtVUlXOQZYdeSiIybPfrufHhxaOPXAIzRDLjzQcyQasZFkQQtVJObetDRzsURwRnjSsFsQULsjUjLpbkAGQLsSJAKlJLdTmjcbUoRJgtlQSoDZtWBnmslXrHMuIbZWnYzEgXaIKAhaEiMqFaQPgQqTiUsOTAgiHqkQ", "LROIJIuWskfgoFWnmQwOOjedNioBpLDtlPYPYHkarYponbzHMPskgOfgFSPKiZxLpjzbahDaFVdOByRUEgtMOpNazcQtLzQCOOpaGiKShSWuGlwPPrVTVoyFORoHpYfhiYnBEhYwrpmwKKZRthrKZwoNRrrEbGqkoIEEwfFtcFuecCFGhbtDTfCcmCtWWEXXXcbmtIWTpAIxrBolfDHOCjxxqIcJscoziqFcDjufuCsUuFuIUmLGyCzoqDEjZFqEBDGuapFGJvdFjxUfILsYNOUJnBvmIIpVpOASoBUbCERYpEMlJLBqybtcIKkZxPuSHbSqacVxAfLRFNnfiHMmhQSUZWOFgtHmbmSIiDqAFzPMlTnEFkeQaDvJKpRwmKizwdMRmBETgQoOnwVfNvuYbvSnzrEtCxmoyhwSyjjOTqmBcDGNTuyWpBIuPSUZlocxZVmdRRpgLqPWQqMBMmGdBNxdDKiGZIfQIHTIVcDKqUVrIhyCdWZaHhbyzDiNkcXn", "ZXtgKzruGiObNyMTsYlcaaFwtYsedhdmUYCIJxCjRcOPVnaYmzYoBzMzfmnTvZxnhLejDSfIuyUsAdPsOkXMmTJZExFgEihDNWNkGgykObfruUCQRQZAbqNcmrPNaYfOUdDnqHCeYjEeoWFQYlgeOvBRyzldGMJMmhvDEacSrBgWORYaljitdyQcCjfDWphKpyfwjdmMzdJUMlePQSdOfvTQRTtBXRwTEvGPzBMyErIUGyGMDWjJUQflfrpzYdcFXPlnBpazCuRGWWpwUbjRSvkXmvmtLiVVmClbZzJBBwCuWEWVIFBNLxDtLDomeQmPAhUqakamqoQdxruLNHJRsnPJvGzHcUQtXmlKjxUnmzOZiQFvkjGQszlIdwICWRxUqdhOiySwXnWziyaKupeCAJeABMLafNsgorwgelxpMNqjTDPzlesNshnPnBfALcnwDSjRILTySdFlXXIkaEsGLYJfIHPPxPnXRDEIDJfgZISlUrpcLxqHuGXLieXVfYtO", "HIpxHIFUsIlxHwdGsDHtTJlXdCzDLmSKRkNldUiktaXheoiYReBwmxxQDxQAMiHsFxLyfwwaqzAFUQyethMiZyFQmQswTxIAsMySSxKIdscESBWCZtdQjPulFMaOLmdkqkISSGhiwtKNEKAYBqGVuvQmABcbCbyvnbvbSzHcjIsCnZteqpUvdlmFeVkRGlESmzTFhFxJJRvTNkLfCeeWBjtQEBIyNoZKfEEzyqKpvAksWsrdvZeQgJYZADGeOhRXVFVDhNGqXpFkwGJVDRaLPcAgnIoewTbGtUceEKEhOdZzgACcfdrjtDwaeJhYpXgYQMKcrdTuTqvfLbTMRhPJLnFyUSZBjJCCoGLDKcKBvTgYkLXXghCvnDmpHBJLqvbaAtLtiSgRYwyqvBRppZFAeOHEoFkNGAGFURaBWmvvvxFyvBxPPnCLOAIKEQZomAYLkhtOQuetdpgLhfVgYyhzsJqyoKReLPZrLRxPEUeSNwewerOGCDyQOBGaBNFgJuMY", "mZcMUlSWBQhqjDBrEdEgQubSPhIuwVnZOeXlwcEYjskQIOCguueBdqEYdqtRDaHFLdgfTcqYPswczyCgrtzUXYZVsPIPKEPhRKOASynaQHsiDYBUPUgMZtHZZXHasEevqIlInBNLmplwVXDlJyzdbVyDBwHPtfPhRfqpKXZSjlRdWdqQRWhIbHzPQJNuNRzfTVIfOktTqJzmMnTzjzaEtvJRkKvCzAnhwXRFDeXxfiJCROrxUeCYTDwHTihRmCMxcIrgILUBkksXDNtYqCoRrbuebDoZQfzOcEusnJSzImzhJeqrjjvCKBoXXYAAFdAiPhImdBMvARZcgSrPaObgkOnvrAKniBhOWyolvUXBIRgvygHkQXkmhUzpuKSxQlqSADHnHVYZtKgmzUhshSZBHWgTfltIysQWSGTtTikVTyhBEhSLyluZxIciHkjQNUEprCTblrFYuhQsLjrOrbUvkXFPCnpwxcYMJDnxHgxQMNEvwxwqhlFAvFxDsZLpVEWe", "zgGQIYTkxdEgiPfJtNlkGuGpSLshugylWUBGPjzgpYNsLSMSMVzuUjesoChkpPvwknzBPnhuIqGIQGraIKUNpKdEbkeOioWzGEOyAMPLqJaHgxcuvFkpYZlaHEPTpFmPxCmiXgRUCBbAFnQIugHOTNJrgYbQrbQMhWhhlYVcMLLJCpXpcXbonKdGTsrhEKBXLmagWVtYhWILwdCrBEDaOcdIvcPqTAPwxMYghghoNdljAWrVBhhJRhTBDMwxxKUqeDJTkoUITMbJNwYvlPzEPkCYRmevMUwHIyqzLzUUBrXZoXUxDQQbRvOUilrsqGGRDfolkbTNKgswIkqiDgmSmgIpsginVmgcHyByQrrUQehncnUejbeweNHfqnAWwBxZQOzjniEuHjrkYshwWDqCehuXGLLBhemjvkJDNOmNzqWSZJIkNhQDDxffNuOoydsNgojZxVwtfiJESkDrtbjKlTXBMoKoiiCnxFkUakqkIHSoDHrgfBbcYXngUpvqdcpc", "NGEcVPtSodLFUnzDonfuBPiBgBAzQZOQTGUNPpgHkUzMYzmshUqhYbKRAADHKHnpZVrjWtEiPevBWefdBHlTjOTNdUqEnXXaXslfAsIlVpzUGkYriEiPAfMFbXBhxWHcWxRVsYcJYFpRaendfngXTIaVgrrjQMhGmCTrFdZllZDiyocOVFKHhoMEqsqmfywnnNwUdfjEFvdMGQXYKElEZzFvjRwvFsaQNwBHaDjfTRYMcNdGhSovfmhBIAhTfMMWQTvNFnsFwreYiAFkDaiMkDDRYmxmnlzQxFIxEkknBmHWATUWILgTUPWJRfuqzGUASzUTdLekXxzlzPYOFgvmLIUzXLiqnKUmlmxXknsFkUXzbhiTbmUyqxHCqJprvpERHsbzCApMbYFUunPrUWAekerFCoxHbgSHqPwlLHjeMTIoPXeSdcOLqFOqnXapHIbjMYiZWtBDmCqpMPCcsuisoUjqGLycymIAMXORiTaZueEKBpESIzfrakVyaKlVNDBe", "QyldyqiBGbjMTjnUppJnqHfxmCluNFBuQgJfmbyRKTFbgCveBaGqBDRrWJHJLYSgkKrcWxhfkFghjnlahJmuOMHwTgGZVXrUjGHENmGWxtMPGGbRgCaDbgsqYWyExtmMyaSXMAldTHRezGmxcKVZdeuaZHnqICgCmUvmGxHeGESLPXvWVdKDumrxTluikwkCVDqiDcQyemarOhQosotGztzTTfamaMJWTWyTRYAgWXRizNqlKiToCjlExIYupCrBFAZbdAMfQGoaegJlCvxCDovlInMVJZsPlsturrUkfEJfFnzQZZDbYygcEbQcYuxstiOlBTOunepPZaElDxIdVCekKSGYxKSnnZCESlyGhsINGrJDjLuRrJpAkoxXYhuXVJFUDmBlgwMysRumIhOiJcKGKpXiMTGKmJhrtqmGpAKngaGdHjhoGnvUhJrsQmUohXAAfmDVEFwDmtstfeIPVRzdeVEzMCFKpcShtfuwlRAAYbpqEcdWjTmxYEYvauSP", "zwvbzsBYyzhzqQCqBJiFEzYRvTaPIMGKSUjKnbGBaouskqQyHNJQlqQTvAVbVfxQPRAYpZzPOXyIDDOJrupmYzCrrgTGdeoVruAkQrjglgCZBVofqRXKSybEHeavLIViGLsyjimMbgTgOiIiMbgWwOiQmZUCOnkJoGXCaiAkXfifrgzAMrzQxWDPWJfLmsPwOyIRhoVSugzauaiSzllzgGdtTZIQFaVutFIdsKUFMOZpUmfJZSdYcCwEPKIoLYBITWLGIqmUfQkdYyrqECwPQSGgfxjGwyzzWXKtdBCfUqBAoggKLIpRbjfKLpwCCwWyhfMyXIkiOCaEAKwWAxxjMDKvOSMrVSYLjYasbVFNvtKNraPTUNbpoixPOeEpfGDOBdmqkzdevsRlQrkoQyrFSwKLKBeAuWMysyHPJNGkBsnhskNSrZCDIBdtoWiLUaXpIKmYmhytyvIjyGfAZKsLsUAUeiWnGYMaIhpVMZXzWwHQDCJfdeYZmpJDwjWANPfr", "oYSadPFfQpduVEpvXWKcvrLdDHEeGfvSsuquUBLHejttaeeCcmJDivSQnNDLvAzrrNfxUzizadCVEoYQMJJELqYrWCEnvGNhMkqpmFzMHJPALnkYijXIxgSCwESjETPvDriJcqDSzsffPfxDeexkBQnkFBYSGHwTSMjJEofmIMTyFAUNmoTSmihRXCxPAOGQVFdQeJjfMeCPhKawFqOurckIoeKygyMprvmNfHHhFJGiQuRIuGwIZiVnaIVYUGePTKIuYRocCwxeNtcypVrtduBkCPspVhuTqXZMiyepeNYSFeGlOFpdGqWylMimERvXmxVOhXHeoJKnijiwcFIVsSlWbrwPffVzUZJhSHoQLjCaTCIcZOFvIHMwobFHgspUKclptYxXShFRITcUmNcIVdxGrmoffCHhxXZSKfybPeasFTBQiajOiBMhzCQuKmjWZwgDWapsDeTPoPAwVMWxtCjJBgoNbqExcUFcwpFOBaipIlQaBRMPEBIUdvGLkcwW", "wmZmigLsdDKqOaWCSpcEdfetdAbNTNyTjIrTtsNJckzcCkvkvNQIRArqCNfVsYFiKYGdmWTtzFlSRscyLTvGvkDeTeuHnqmFtNmvODQeoPytHDeMGAyHnFCwOpRgBSUBOhkLxdXfLmzCesBbLPxaCCBdtTYSsVvUQrMJauZrbleMhvkNMBeKlXAAOdjzZzHuYhfWczMCNxCPwWqEjgWVphpacCsrEaKROOpyRgizZbZgfcWZNKjGnbmYQSioLqtHueklfiRxopboZDurirympCavaHWJTAXlKktKekRoiGHHzUSjWMdnWeISyQXaToRpDUWLRBaGFdtzeSfbIaQVLJOyoZDZcAZhCRGdVhVJLymzVSSeSBjhDWQLlegSVAAJHoXpSXEkmyFPIBEtQgfauaUWQHfdvwWkFgFllyaSoAUQTossbVHHPdztWJCsrULXiyLCueDnZUqiFulRaYhJDpdPXZcuvDNQkJkopDCQswVIolqhxHgHuPHSZFsjxfUe", "QkNbEefhZcvdvtUYCKsXzjUzTLjEUpUtsWDchBkySoHNpwOIHDvlSAbxIvAbyXayZMaQDAnTBGnkoSBFeiuyGZxFVjpGAslfcIiuuhOHvNnrGaJpQnQZrsqZHeNBdRuhZrlaOXZFkfMkKOTMyMAfHBiwLrycTDgkFnMUFDPgMEnjIgzXFCNSfDFhPPpnyZYyBZqSkqmIezCpNcQrqjsiefslBtEIyeqWmzalWGUJstjbdiavEuvOHRqnXMKgcAdZCtyvOHjVQgmQdzyuWcmxPtQcedanisNEHOiOHgMRZJvTkAZexOgdGYQzOvijhnDuQnvUhFrRoLHgBNiUiywqPWphmHAkEjiwwNZmIAOVpdRmYyTUkqqKveeIwuLhVPShQhjGPtzKzZBLFaJwLsVbeNPRrTNzMWPrUxLvZGeWRKmZALIbppolPogfMdYAFhMSpIoPDJugSFGdTbBqGzdQpIqfHkaCyjaitTUroyQMrjsgrBVywJJimkpFwpzxVyMZ", "CIMJsYtTFDGnHKtcUJiMRHahLDWiacFIcxTWIGOHzMmlfUyoXiOveTVqnCHLbGHHhdwUrENeWUxMLaKkPdyxpAkGUXTVFXbkLmyLOSSliNkHXUBqVPuEVXgVjIZaxKtZXbleIslsfGCSYzOirwqrdcwdsjSBezHNvNqkeFMALxqVRCSpPNPGNLNJzfHVEZzFVcQXcLcpLZVRcBPrqkbGTbAQUmYYLhnLXHfrVhJjXwSYlRZUtDXegjnwFQMoaiMymdKKoNPapLYuibuDcWPYxETxuYlTzyqPVRZrMBkaypGXnZtLLLcHsedXoHzQuskPhqyUIYNPNmKqJPcXiUNQkiLodrmMUVgPGajquKmAwGGmRVSoCaBHnXgagcbtTtlucnAFqsoWOetfnYdmkAEZkXxidHTEsEaUJdecjqdyZdhJwUcqDePKjBTSKoiVawBNgjHRMjuQPUiTtiDTmXQaEQRnMajOyQuRCynPfyVHFEUiMCLGuroKjXdSWUMSHCdc"],"c_array_ipv4":["UAUqnlZHUB", "DPFvcmdkQn", "RiFoXWKFHm", "WSqQyWUmNq", "hDusuhkdRp", "sLMUougnvb", "fJiiVRYhHo", "AsKiKdGfNs", "QDnSQLomVA", "SdVYpuOdpb", "VSquhgMKjN", "zcMxkIyKST", "oJtExadcAm", "acJheEbHJb", "MUNpVxqOEf", "XTaMSGjvfd", "AtHgHyAsux", "iAPPmXXXeK", "EIZboAODYs", "dthsaAUpSd", "ZeRsUSgtEy", "PXThetjXhB", "MKzxLcUaYk", "nPMscZqRyB", "GbWEGHCusT"],"c_map_ipv4":{"c_map_ipv4_1":"85.199.169.60", "c_map_ipv4_2":"70.174.223.231", "c_map_ipv4_3":"169.51.83.209", "c_map_ipv4_4":"44.150.136.223", "c_map_ipv4_5":"247.124.77.147", "c_map_ipv4_6":"194.244.5.9", "c_map_ipv4_7":"65.233.251.157", "c_map_ipv4_8":"59.157.77.220", "c_map_ipv4_9":"28.227.253.242", "c_map_ipv4_10":"58.96.209.48"},"c_map_ipv6":{"c_map_ipv6_1":"efb7:2c3b:e1c9:bc6a:e141:261c:3b53:91a9", "c_map_ipv6_2":"bedc:267a:767e:f19:81cb:bdd6:7191:1d80", "c_map_ipv6_3":"19ca:52e1:fb47:81bf:aee0:f8ca:141d:ed78", "c_map_ipv6_4":"6feb:f286:c584:5676:bdfc:8683:2725:e700", "c_map_ipv6_5":"2cc5:3fb:b8c7:8db2:7e92:fcb1:ed40:fa8b", "c_map_ipv6_6":"8899:e409:9864:3689:75e:8f18:24fc:3c8f", "c_map_ipv6_7":"b188:8ce6:f28:b036:a2f9:c969:8772:8b35", "c_map_ipv6_8":"4d9a:267f:9389:6a53:4106:5656:957d:200b", "c_map_ipv6_9":"8dd8:f23d:adf1:33a0:c595:2a08:d711:7122", "c_map_ipv6_10":"7f2d:14a8:3cb9:b2ec:7b9f:6d3a:7389:5b04"},"c_largeint":-2499647813682248607,"c_array_double":[20.7460169187002, 34.03974107671284, 10.262371378675045, 90.14480287132511, 10.26659042718368, 94.65263772262496, 85.05893650088807, 65.60314355232919, 71.39449048037092, 32.7968679192716, 45.51720647120032, 96.20449846681183, 56.039936781631326, 59.53091816574272, 81.12630749427332, 35.719821022108704, 28.937639558000473, 40.643147501720414, 23.210483308295, 57.135236876455366, 30.36395658130571, 41.43313953483808, 22.05724516111015, 57.65321496428855, 53.74864355881361],"c_array_date":["2008-11-21", "2019-04-17", "2002-10-24", "2017-05-22", "2001-04-18", "2000-08-27", "2005-11-13", "2010-07-04", "2005-02-26", "2003-06-23", "2009-01-26", "2015-01-24", "2019-09-08", "2005-08-07", "2003-01-05", "2011-04-15", "2000-04-16", "2015-11-23", "2008-05-07", "2008-12-13", "2008-01-02", "2011-05-09", "2001-09-14", "2009-07-07", "2014-11-14"],"c_array_datetime":["2003-04-07 07:17:12", "2013-12-16 16:19:06", "2003-06-24 18:38:09", "2000-01-19 13:36:52", "2010-10-19 22:39:02", "2008-11-10 15:06:50", "2001-11-01 07:11:52", "2002-04-02 01:16:57", "2001-08-23 18:50:22", "2002-04-07 21:55:51", "2017-11-06 03:31:18", "2019-05-20 15:25:56", "2008-07-14 11:55:07", "2010-08-25 02:09:01", "2016-07-08 01:52:20", "2007-01-06 04:02:44", "2003-03-01 22:46:24", "2005-08-14 10:19:19", "2018-08-09 23:52:23", "2004-07-09 01:01:50", "2018-12-24 14:06:58", "2014-02-05 15:53:24", "2017-06-18 06:03:15", "2010-10-16 20:04:57", "2010-06-21 00:43:37"],"c_map_decimal":{"c_map_decimal_1":79.0620, "c_map_decimal_2":87.0557, "c_map_decimal_3":66.0783, "c_map_decimal_4":71.0456, "c_map_decimal_5":81.1603, "c_map_decimal_6":26.0829, "c_map_decimal_7":93.0453, "c_map_decimal_8":22.0481, "c_map_decimal_9":21.0233, "c_map_decimal_10":11.0203},"c_map_float":{"c_map_float_1":97.88196, "c_map_float_2":37.431953, "c_map_float_3":61.821682, "c_map_float_4":13.176126, "c_map_float_5":8.687958, "c_map_float_6":65.76769, "c_map_float_7":50.670265, "c_map_float_8":28.663588, "c_map_float_9":78.870384, "c_map_float_10":62.80333},"c_map_smallint":{"c_map_smallint_1":-5700, "c_map_smallint_2":20637, "c_map_smallint_3":-9629, "c_map_smallint_4":15349, "c_map_smallint_5":8171, "c_map_smallint_6":-28155, "c_map_smallint_7":10673, "c_map_smallint_8":-9436, "c_map_smallint_9":-1999, "c_map_smallint_10":-4268},"c_map_largeint":{"c_map_largeint_1":-2926072138936828007, "c_map_largeint_2":5570708377048657290, "c_map_largeint_3":-4334085563251617615, "c_map_largeint_4":-4686465289589404170, "c_map_largeint_5":-4438485760862287570, "c_map_largeint_6":-8043879217938326501, "c_map_largeint_7":-2716824414171630661, "c_map_largeint_8":-63427277999875629, "c_map_largeint_9":4064366772198428120, "c_map_largeint_10":-8941109795852039337},"c_boolean":1,"c_tinyint":-8,"c_string":"LJMzjVFXVwFaoTeRDlnGDKqyeTZtMRJVuYZwnmFqxGaVxSEJuBgPkmJnmGewTbogYPCvPyVgNqFDilwfKqIwoMULFMoahiGRTjImwNxjNwuJwjGvkYslHffjHHDXArnpUwYBwqPpXKkYzfEfbeEPtiDofAiDlCknbjtlNmGKxiDBvUrcIjXhPtaTnOeZgkTzedkBRfpuYPSMzFwirUyhSWRJwFbmgqNgKSgvZoHEEwbcWLDqIjxZalArEPpjNAfmhCwaaOajchExHcmuIbAcpFVsZqXHhrkQAurBojgZmcYxFyOkGswbowFbNTzpQHRMuKcsJvykaZzsMRYTZEmNLNXiytvUdPxpqxteMBTxHPFfbDlgOYaZNTDeeaqkwCJMlXiEekZvTCBmLWHpuzeBSKtNWSkRVCFCpPAbFKGvrxHLaPQfVmMitqcbfTDSsavnHLBTOhoflnTBeSSWcPslSQXDjdQhEvbHYNFqhBlNlMcqhRsSHvruPoEASlkjKqme","c_datetime":"2002-09-19 03:25:58","c_ipv4":"139.69.242.112","c_array_int":[1711610732, -78896690, -72771449, 717948964, 585154329, 1622957514, -369611033, -75469864, 1038947795, 1637705774, 293713775, -2053596771, -1356122033, 1718316686, -719164134, 551804633, 2069089196, 1017407277, -359686065, -419752344, -1886403981, 991711613, 1748187654, -995217865, 1515237290],"c_map_string":{"c_map_string_1":"kbSNqnlTrNnAjiYqCZtrpPjhLeBJiIlrNvphepQNthxSuubewkRNKLbdBEDsWiGwRqbKyTmKRdwkjpIyGFfKAHrdkBwpNKeuSDjoTOFEHvRQnVHjpNBacsQzKqSFNctorByrUtDkbNXuMGShSNOVvrmLHTPmUvJEyoWzFScDEYQNSqlhQfhFIdmDUYiTPLJNqhyggAWZvmpuGJkwSCdwFOYYeTWnTbRsIvwpamadPtkoTPHALPKKKjNVLcrdUJVtvItTBUBZhDzsukoVkNXFuiqYobNGPRRLwzFkMxzAamBMAiUoMgyefCrNBVnCSOWCuJzZMahxrXQBUCBSJKIxNEjshbMJfToxOSTBrkcfdVIKXzCwweFCnhMUbqMQSJayRLbvJMjhcwzcpduRoWpyPCFcaofutzyjIaISwTMYsBPkooWtdBLUMAUiVizzTqcjahzGFWFJzlbvFTefzwEbdidiwxqQxxzzHsuONAhkJQaJutqtYliGFBYIyGGaNlMO", "c_map_string_2":"tmoRKoqfgqrHZPKafXuxBLGqWhRMTpSoRkZxmSRwwimKisVOnfHcNNPkGhaQTfjpBxwxuaSdFDkeKHWeEZoJBZgEQgUPguxMfhsEaNwtwxChpIooFhSaONThMIITXQgBsDysVlZgVcKeDIgisTXaHjWhpOdQTXsJHPMozpoVRnoWQgQOgkqviyoixHQfPuHgsobZzHvIWzdvyVuQAuZaqHvPDCTnuMksbUVciduqELyRHWUzQQJVaBqavrcwTAznnJGLHxDyRbgylnEhDMdidUtxdOgiJstEgsQklUPDqXHOIuMcFeLHkZWnkTRhPmkSnNLpcACmRlWkNPOeiascuQjtAXuXUeOIGPxdauXlLtHbxtVKBsuXVgpdwtTCvgKcoZTGLhZvVeyzpPWfLvUbZUnDjgrrnrXJNBJlxbAVhiuAzTWkceoxgumWYNFGHPVHQEXjEjvSeopeeobiVPjiGLhqymwQnPvFJeVIQLKyOrteGDKtuSonimtBitXoJQvk", "c_map_string_3":"kjWdoPDSMrZOUkyCoEGvqCZwDjGogXvXRwOxclQiYFkWpDcSLqAvPopLPLHHNuOfJuLKOZtxNPgJLFBEyXWwSozjkVMagcGxeVAbosqbfDqPQxzmImHxQhRsnOtrhspOWIzAOwWeqaVOGwpuMqrJbGDeJYGqgjzzNsTKNDQuOxyLeECzuxtJijDVbhirkHhGTOXaEGDuaWNioZnMMXLhdljjhNeKVqdIQfFVwGFyRvcpiUbtYMbMTFYiKHjiSHLGNOsDXVZkjrMPwXLLeRbsCqHHQssoyrGZTCxzYKgDUprskvxNrIUwjgfIUqfHGKJcYZtqPoGtQBLZiMJOHwIgprAnaZHHLozyOBvTPZJqSxObZFdgdOGkVPMeGxLvtHmMACmyvYjmNaGdBjHZChxnziWSfiIzoiTazQDUpWvOJIyxAJoqKwqWpbdBFTkjxPCgUqDPKJAIAbdSGSpRYluzhrWiceanMyGRSqTMZktgfrtoMoDrMhSRmqPYAjoEjzai", "c_map_string_4":"pNreDiXNjFxpeKuKKqMWbPoToTSYoPjmoNtSMhsoIGmJspcMQuQLwiywtQmxbneRKxiujINHlIgbWRLPNQBffvkbymWhrvnqHVOItbaOVOPZYOWHQmcVeZFdqkMKPZchEFkBdxrsGZwkoeLmjBsHeLgmdXcbCDkvRAHRJlDuefWaOQczgBJZgEYlEGHlKJHslnfgoWLbhUhYYPJKMGLBqEfoIVMlehlkSWYTSYPgVloQChLUhgWIKrYBJXABSeljomepuZjfMihAsGHaEYsLywyMqWqleDYXNqFJsHDplaPwZjQEYxmWaiyResYjaAIfgtLuPwlcBKxAozbNKRJPZYnYeeIgCNcFyfWffOaVNvycGjxASrJTykDaaQrgHHNPYERHtozBEulwbbAmJJptSXUvMXcHXdmzuLGiYwvnXASMggjMSdRmnQHuciaoKynoWdjeBIQcabSVuZRhgcbfEkSSfsbKijmzKRjMIFZKOghhudCyoINvheaLpSkqJrqa", "c_map_string_5":"DypYVcrYQLDBwMUURzsmhBcDVEhSYCLmPZMKVmTwWksOUVAzXneMFaKXQjTajSGdCOVlFBPjnszDswgXIYywThFCJLfFbzpRdIKEiFXBWagcStajikKSYDmmrYdtxdnckKKjNQWClvZLquGUyZINEorOhvNZpVsUBvGFIkJCSaFpYhjCAbfhDxXOVOIIsyiQHlhCHCHDZEfHcPGyDQurcwcgqrIEFafaiCniFOcbjfoUmgIXcNnMRnnLdMTRUPZKcBRQGvYwYQXlcoIRsaPGnUrejmWIPzJJovpLfgVceRmboPZCqzUaLyCYukLVizVNKjWrEidlGCSyxcFMcwiFoXTOZSkRvvgSFWmGtQvwIZcHRUnlyMTGdwXeRuBhnBbBaxFdFmBImtxQycUvbEJbqXFCVpbEsZHhginyLsBJOghUtGIGufCLhzNncitHBKmaKdWphwHXlXyhARHxHWPCskKTjUousyvnUvhJYJvjpwDTpubsPEqarRFOaERiSYxN", "c_map_string_6":"YvsEDMgwLDFMJJIeroDvoLpXVfiGhtjXYvJVIfGUaZlMjBJSawlejnbSVTDVFSnKHonmZvNkoFKMufIZCXHTnmJmuYNinoltdKnZuLvgZwbrJaYuFiPhsInujlFwQvvtbskLwAODrmvdlSjmnUFgjvNtAKORCeOPANaJYuivwQALfdZuiuFdRnxaEhhLYpPGbKyNdtHeFtnrDnWyZmPFYqnPJVbOlkqLNcfIuvhhmgwdzxfmLtvSbswahrOGZQhbvAknzHwQECdaPfOPisWQxYqlBqmzqzFjSymfzcbrNFPamqToDPpAQcqOXaAhdvbJinBJUnXIQnbyNmMVGjmrSVXhGkMNQUfLjTLeIAWNjJLiPvkWKtboOBUyAYcExKJSRuzRZIPvgUbCMKmlYDBJjQODEEHSifHaxzngLJVFVYoQAplhlpCtkPvpnnEqmhEAxEVhxvlsuFCwggbBVZUQLaEziRzxsObdMFmmLFxHMGtHfKlcjWXOETebHtinLQBK", "c_map_string_7":"kuAfShioNDInaUJJLMGkASLluBdVwSTFAhOWDXUmIPpHgbOqgDKGqHXrbLKTvSmlhJoVogCaCBshidDakCaDqbZfdtFPhDSaBHyOQIkLBgTzUrttPDUqKxVPUyOuuiKYPBuJDsphVxJVHKiFOVzbvHFbcOqQEivFNIFFkqmsiLvaZXZxNPiLDEOsnoSknYxVhuHyMwPfThTdwmhFVuSpREkkRDmtbdcuSePCXTmDUUkUpPuQcPIPQvOJqtynqDPIszomQIlJUyugAeNoCAGwxmHjBTCEyeLhkylImmimwApPDdHnyCOmPgRlOSgPDBjLUwSgBRZSuybrJWDvvpyLhbvhjSiKZPzVHfdTmjryBCASkwDePcBQSbnbOIvojovwtvtxpJbFtTcpEWcXEnoqwqmeZUjvlbTrafEbtVfdLRzHphpNENRBQIzWVkmfViGpURYpUTYyCzLtGVIzdLgUKYexJSlINlTJcwJwbUgOqfQfiNrlZyNtVwrKZfsmGYFG", "c_map_string_8":"eQRmTXaAlcvMkolkKbMwMJHGHVBEaShCPRKByyYPiJYYdEOOTSUCtFgBwoMXbcprRTDLUPoXnfSVSGpMWfXCGppWzKFsNAGVRbBhZiFmFVaOhNXyhPPRMyadrpZqBwuIUlArgJVFYLfQGPbVTdBhrMDKIxflsLiJpAvYTITZCpEieKEHVhlFLByqsdzqySnzaVbdNIzyejuJginoKzUzqpNEVxbDkGentjibhzwmvEUuOIYzunWFHBWLqXtSaxYnInYgzfJcppaUELezRuzgKSGIbibJjMgPjJKMLeLYOOpBPgYiilBxSumNbvRDbigrGatDBkMNNRZpCNbfXAFsDizzCDZcXHXAMDZGRFIbKlaWhumAHMXmszACwtuagwrQQQMbiawDTyGvytzKGiFVisoxOagdpzOkMlejqTTQmSBkrCbCwMGDscRAUKDfTGZwXYpaSEjIKgwwWWQvMQdCkKgsjvtZeQpUUOikcfNEuZGkHakfSRosUKHSIWhPjJBg", "c_map_string_9":"vkLBanOhZagethiKJsPEHeLPABpYMUSfZLPjPsrGtKvgZtJcpGyQFnWcVQwuuTRCqZGQulocvUnSApWjehhdEEkyzPgDJBxhtdxzpjlNpHWAtKwDDClsjLrDdwjNwgcLIKMvaNOblhFdBacyhUnyIrcWwuwEBkhbeBnPRoFnHJWdlsSQpnFHohEPTGjVrPQvZodwYzZHUvJqKAHHSBEoKpmZyWymzNUsngWGreLQbXajWYZELTAIUXhsfAPKmwZvxlnGxqWYmoTVxIiusojMTGHKpXuzobFwisIcgnTLjiIxoadJJDhInglvHityaIDtsxswxibEXPWnYhzvZxcIpIkExYzAWUZgyLECKWGREqRIpawzbpSxLjfKPAUdRdvygFkyLqQXQTgdDSsdIorlwcREdUnVREwDBCoVuytEiMRkLxzAJmcFLLtHLgabAVEDXbdGMzfHZeWRMkwFqXLvdKluQbvkQitoTTsnQujBBCOIUNvmsiblkNtjaQlvEuKC", "c_map_string_10":"QKVOYfhZrrmSFcooLBSFaJwvfjCSQSxXjHfaSbDNnBqXqNNDPUzBstriwIZSzORXOwmduwnwRQiXpdwDfjCHmqxURRgkDfjptRTqIlqSBpKZnVjDYeRNxbormDxttyaAjufbfrnfoZCUvQLpaEysrJNVFiPgRMbwqugDsxWlKQmxnPlxxowhIjimWkMrIILqvCrKnCEPAtynbtpnrbEqWaUzbJKcVXQIReghUJHSUbpRKCcZKKHCXwkXMbIdUtttzBYMMboRQuqbYRlFvgAUYrjWNywIGcflqsnzeQvpESeBJHVUewuoVEcAbFURfrfpbIkrmtcnIjdEipHYcOvSRnBVTOqYBRYZBfociNOAfbREeujnfWKOqBDGBSOtJUtspZEcIRGjqEzjwCNTLIbPOVXRQfJMYAvJWrYKkhOxOwfsYCgNKyVGJEUBInLUVRYMdHyPikIqCmEgzCRizgIgXnlNhivYTbffQNDZBlpBKGjPVNxJuNlDPDcAusTOPEzN"},"c_json":{"safecolor":"blue"} }','{ "c_bigint":5173093231363356920,"c_double":6.497758513866769,"c_array_float":[70.6955, 67.8102, 70.68417, 4.091276, 35.547585, 39.02362, 67.31319, 19.285877, 46.56571, 5.978294, 81.16603, 81.71066, 66.839424, 59.43207, 48.654095, 11.295144, 38.99422, 21.779396, 92.4255, 27.833645, 54.71258, 60.392185, 71.79052, 90.48749, 21.04873],"c_map_decimal":{"c_map_decimal_1":48.0283, "c_map_decimal_2":40.1585, "c_map_decimal_3":52.0139, "c_map_decimal_4":100.1142, "c_map_decimal_5":42.1360, "c_map_decimal_6":81.0758, "c_map_decimal_7":24.0873, "c_map_decimal_8":36.0617, "c_map_decimal_9":3.0343, "c_map_decimal_10":70.1462},"c_smallint":-5815,"c_int":1595499629,"c_map_string":{"c_map_string_1":"zKHGBHuabSXQQXWIuWhtSOKMWEETCmnZSBuvJxAEmPsuhUDXcmAUqcURTZLPpAlJRmmVKKurTCENUIXJOmlxpmLISlGDewytVKGraNCEednkeOSQxafCLxytlBqOPywujRkOHGYZHiDrlGyqQakTGXxbNUIbhgBARChVYSyZCFPNsjBJLhvblFfSJkPPihUreENjdhQIsATyYsWdWqxlldqRffyrFsEYyYVKAGTuYmuBRIYlsjuMduTRwxWforotxcShKZREvTBybVmNccogcjcCpbPFYLxMOBknsnraxOrYtxsSyfKDYCZSXvCVPQNFyCuSVAhRitEszHlWMoIvosDCqlKyMuKrCSVkkuZqQwzMacmtLSQrBRXORSoNCNnvzprSIPfsybxiltTDCkQYwfUNytGQTHdLQPyDRXvVYaSHijbGMJXzIbGBVULLfJirUOGPtgKEljLIjTBmjCAKZynAPHxSYdYfVCDJQkZjMwxaygbagGlFwuRTNguxlsIT", "c_map_string_2":"vOwnqvPsjMoIiOnecfkGLBYgrbndvrIjcyHjyFAhEyEEfpDTuVUWdjDXsVCyIekHphNpIxuduXoFWpxANlEKmGrtvPUdKlpQyhTuwwSATRqKaMiTcIBrwjgunzFHcuPpCBLbPpZXObhyHfHSUfAYPEIDocnTEvSdXdYjsTqJsGrxkpZcZEyKybTDMWrgNEbQwvhDZSbDytyWdOOaFxfYYBwjoSOvsKyZRcewRKYGmDdOmHLPkjADGPFHWXPVwcGdshZLcfBQoZwWNVlkEfZSrpRjrnRYeXmjlwbJrkeBVdpjILVTVlDoSMAKUvXRJEIwUJZKfPqPzDsimZIHWxEypOHrIeODhdNuPWMIEaOceZajSJItBIuCTcgVxGXNnkVAygpCCAtaQfPIMJMITtQilcLqyJHiJjprzQjLymHKlmZwTlJqAQkPJcabncknOnGpuHesARzRVjABUFDFdEPsbaqWcwftiXFWcRigVetpypeWtbHTLVNytxLaMtICMPAB", "c_map_string_3":"uNPHbAAPvPFTzMbwfnfMcVtjXLmkkBAhnALBdzxxxvcKgkdRbhdQTEHsDfBrqqzWxocCKlJCyoyAYoUuGySofoCxtZjXrJoKFTspbIPwvRyctEvsEEIFpcuQjndJpFwoujoejGNbzMoxdJEUddSrDNIJuQfLuMOSeejYtCNMEklHQSPMIpbrSWWIBmrAyCvmXFpzFyBuPbZLzGxgvYcJHzWZiFMCStCWwVAXgKumtmRPmBkFAyXdxHeWTQAmAmnZqcXPVCxCQkGIPvVAxxYtQMnuKWdtlvkdQSnxJBGLEjXzatsBafoRaxdtPUUPyjMkvkkejPxCsmBSVNTZVsbmsOgJnjVwZUzkfJLLZOSjUFKkIOyqwugdyATTxOKmglniaDkLWDTiPZdcoctZFFHhMdVNqKVuzpcjvKIvRJwcvbxZRTkRqZGegKFtQMmXnxGMngIQJXbmMgvdTiFhPfZdAthAdSmiaopKmOuXiWukjvOEdWMHZBBRCSAwIqJXcIRD", "c_map_string_4":"fzcObCFiQKjTfRVQxGcTfsUQuUJYUBClztudqWXqJoLxuMxFjXEFdevANUMVeJaiGXJewCujNOGuBtXoHFWlwmfqwzAhrFAbbyGNKwpyGlurUOiBVBVPPzILrrpBMSTtlNhHQQSidlRCrFlPGFawQPnbopErrjCSpgXjFfDVAlpkWPFqfuVJhwDrZJCAxfmDmRJyxRLbQbyhaFSBegAZMmUingbUOKlosTcRKhJsNUJfEtholPCfcpTdAqxnPFYIjrLjAkLCxPoXWZXljEGFANafZSctOafrQEVtCBGLgZklsJVgQvXwOkdbnzodEnmZHPpHRfSzkBrnSYNnQhbXdJJDxCnuKhApwPxCIINxzYWIkLgfkGzzYDjMwLtZpYEulJMrOzVXDlkxlcsjFvYkDCmsnlbGyINKQhvNyZTdUHLuxNlkAOYdeZIFQvRsUPJbVanVWzNUSABuJULBROiGbfEZisVHCHpdEJRyKhXRyxwiLZPIxNCGUmzvdIFEhzPk", "c_map_string_5":"ecaovBCtfIKFvOsZrjlkVKkOmOflRZYvvfgnJXBzfAWHqbbWdYhiWRxeZuYqNWeVSWqEhEHfKtaJOtNcvZhbRfaASWZfRToBayGTPOTOqMtKmuKiFQmlzMDStEHZYnFEUSHEOcWymyjsrvOylUMksRyTjsRlqtFuuSMapLtuIflQcjnCgnnJngyNfaAuwLVjlLYxeyEVCPuawenBxkghQgpsDWbHOdDXLgfiSAEQaQWssSymEqTpaGIKtKnuQDDojBxKmfQSbeRHsdTFlmiyEWTQrNTgcjYSJSnEOTTXcbxthOVYMYgaWUszGZNjdYyBPxfmleCBmRzbzczRJuPbXmWeVybHZbhFiwAdsOAfMWrDkjXHCzKwEmuYkOCPJuIdktairgxDcaupBNdsBgzAdpFxRcviquvXuWIMIUQTCSOWwbxSZYqwsfFIrdcychLMXDiUWNMdUkOGqejHIdilHdDnwvYvrUxKXGMZmzCIZHndqlZMioObrVprlWglqsnw", "c_map_string_6":"ZFMlRjDdVSWZzHJbeaGrZYMtUiGoXsujOwWFUKwcNVpqLjwvZnbpKhGEoHJqihNUWVpMGsOCzBNYKIZwOlEsyglrRUUUOLlbENkNYXNQtvGNeqpVvDihGirQWgZJhtjOJsOcqtybjVRRBTFNdPZgvZtVMDYaDfRkBhidRzKDhntnOSLXRUgAgDxUQSPJMIKFiSVReuMUKyAmBOCchasAZZiBBcOJflTcDYmYuPIYhYNcELrfLfYEoIESTEKzqeYCWmclqYydNbyqRNwDsskqwkZFuqzzWyxtDrmMSkhupPiCqUqDSzFdRWYWdRAlslznAnKrbCEMpPkYvpEJywXXAtFhkABsHfQdggZWDcFMAyDwLVDdmHODhbcKwNMhAQVOabRBNdRcHdjaHwBHvYabOmvdxhuXLExQQuBGcQsOkyeYINNPPZENNRZvySSHxvnamSYPFEVOgTFNnrfkQqtIgjURtKNaIVluMvHjlfZaZDxkCnZvjfCBnsIJGfSfyzTH", "c_map_string_7":"FmXtOTLeNGrGQSRbTKoWtKkRHAHjqcxnSXgazpBPEIqkgejxpRYfmfHrczeqZyJUvIfzkcJzCXhvitfslnNtwnnOLcmjvtiuCCxZUCUPzEPCOsULypDXGfvPgjfASHGCybzdboPjywOiNNlxhJNlgjHjbfIBZNHXGOxBCvhgnFhyVMoFbblEjLFmKUkpTIdokyBFZTrhgrONSCIMFHNNutDxeRUjDXUAOCrZSWklKamjKGvVWOFOFTBNkOrFrGtPbtGnITYccvKTECaxslGtcGjczoDLofmqWUIeWKNRULImQmtDsMtTqoWeiDjbnsbSgGctEAhkMSsubdmEusQRUpeNEKzTQJxBzpBzkZXZNaptSxPmZiRFobIYGLMdhnAHZawyJYHVjmPTHNOhbmCzubhxtXQxYpoEEKTPSTzaDDujfZUtxliMXqZhBpUtbGAloEndkrJqazurXVmrfiNHKlTSYwaYrlFEmEwajdbTvXuYiYyRYzkVpwjJIkpRFVrI", "c_map_string_8":"ELALDRnjAkMLuPMsQxdtilSzoTBAZzCZdKCpfiGYWDszLxBylSwTXsVreCPOMqmKvIAHmCgcxxptAZxgLrHAgXPBdXFpTadccGCYgxemVibDXMjbUlnSACLHhXVeYlXGXyKVopwYzjpFeKGPQLjaaFACaxyHFVkfZkGcJSvJWMZTGobNHOUjOITexqYpQUCYaFbcrCXtCquFfTlUkRIEMUTRzlemQQLkSRUetwMGscQjAlPERUGMZfTExPEmrAiEJMOKAXgtGhtZAYgqsSagjqXztEnbzhNgjOBRvhZtRrEHUDyLSyTGMCWuIXwbzNZtrirNkMiNDmeEsFMuxfVOiOoLfjWZxENawOkCZcbJLUsSqamkJuBqDMYoxaYaxreWoFLnTKpwKlczgxJnQVQoIUIMzwfxZGNweiSeZVmWzprUgqgLWKeuwWWRKVhjiIvphNBbvYdwIRaxdWLDlTpIBGbwYPxHqJaLDtxeQvOQqOkYVgwBKGVoAhRUkGqyBlLT", "c_map_string_9":"gRnCQcNQQvcGPEuIYvbmVjYkLmbPgygFvMAnWWgjOvkgPjbWRxBdqhfoGzxwaVIpQOqdeirEYsiAYpxJJeOXhjnkhYQpIUPOnhWbFwcjxnFvZIJHPQFMmnXscnlSOZwezbkfvsQeEPdEKZNtsrelfqoHpxRCruSDQKAHOuzIEluNHpsWFAkOJDvDZbdIXEDcaNUZBayXyKScFHgubUCkRcbNPyHXtgmgPamlsCOZfpYZAPxJqEFrOOWWGPHxfEbtjedNtauoxgCeyHUyXGScCfXqFaHashcvKUxISDdBbdJHAxPVsyCqMfUoEMNDUGOHhjXPZOLVAOKVgOfdeQSZvNqjViMLucjPHkaWwvQJuaLuWmPYIINzIPWBjDaILAfHkGeVLQMUNDAvknXSqQqdWJiGyiUPZFOQUYptCkiHkWbdMjboHwRWPwgVSXjUWGQNiBiNCUAuHFeDBNUMHLBLDKiUPCySVhwTIjeciXWDqUgWrvQKBCbNbDgsMfuyGRNm", "c_map_string_10":"fbHAgjUiDamKLsyyCzZgJsobwqIhdmPbSkZorKaKclHeSlrThhHFLhrEYrkyuRTgsPZNzkItKoWMORPXfTxowpTyfiEnAqbdwCqhyaajflQbTYLkyGfkACSqMQGmPhzOlyoJDTZnPhkvxGouiOLmKiipYJFLqQloFgkriEdblvIBeVDLUcyBPlrCYhXxddXdDjnAtaPJrkoKdzSCEQspORvdFwuKSyngoBXpwTnSyVoZOaBSGHCyEmtTFvAttJWxgrzcjqEMhwzIsjjOUoNOOHrlhnAOwFrJLoPtOswxRlBozVMAxoETpVScWoFqjToLUlcCSPQfswJCEhkieprVpKjDeEArAEnMXUjiCWswFHZZdGqLwkauylYjizGpRgfHpDWuQvQSepapiZIhgfZViMNfSouukwJqwzTmOoxUlcoSeyjqOWCPOyjmXRIcXstyRfWkcBEgqzecQClwnvbfEffdZxcedemMepSecuCKOfRHWeUebbmhrLpJYpALtngs"},"c_ipv4":"204.171.240.218","c_array_ipv4":["DZKvrjeUJi", "woIKuZacRd", "GtyaOIeHWm", "vBVSvlLHIq", "hIfvXNYBrS", "ktDpFrqtYp", "NuocjMyooe", "GWGPTljgmr", "sxRbrSbJjP", "dkqPvsLTYQ", "ugnfezUCXP", "WmfvtvKPUj", "GhgkakutON", "NURPyxPWWN", "zCTaMcGGXV", "caZbvWpGZZ", "TrmoubQBas", "wfSUpCNqaA", "yvLJGsYhzF", "ApLRRCYmwj", "fozYLQcAPN", "LszVcMlRwm", "eqXrwGPQtR", "sKiGjMQrsZ", "xkmuZpqLLu"],"c_array_boolean":[0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1],"c_array_double":[58.53802829666537, 96.34258667836042, 51.04542741733515, 20.18841105387204, 32.74883335871139, 95.17754438628074, 53.622549013496986, 38.51274649483361, 60.480695339257835, 8.259811583620355, 13.914651564406753, 32.156370581257924, 92.67369879950664, 76.43930330283992, 68.63387640476809, 40.06996944970984, 54.72263212857659, 2.7996096496241893, 18.943451054248087, 10.626221588662354, 19.875238674483317, 47.09693421611536, 100.17953660290165, 21.365233650656215, 28.190858396159935],"c_array_date":["2013-05-08", "2017-05-19", "2007-11-05", "2005-08-24", "2000-04-26", "2016-03-13", "2000-09-11", "2010-02-14", "2002-11-13", "2015-04-07", "2000-11-18", "2012-07-21", "2007-10-24", "2004-12-10", "2002-05-02", "2011-01-17", "2014-01-08", "2019-09-18", "2015-04-25", "2012-01-08", "2004-06-23", "2009-12-25", "2002-02-17", "2009-03-21", "2009-01-06"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_char":{"c_map_char_1":"kLMZkNesJk", "c_map_char_2":"guqGEeojeS", "c_map_char_3":"tkIsShIYKR", "c_map_char_4":"klpcnZgUEJ", "c_map_char_5":"sfQIXugKoY", "c_map_char_6":"xPDhcSBiAq", "c_map_char_7":"KbRfQnyjuw", "c_map_char_8":"hBbFWrgmMo", "c_map_char_9":"zxpjyZSAQX", "c_map_char_10":"SKAjCQRYge"},"c_map_datetime":{"c_map_datetime_1":"2003-03-26 10:37:24", "c_map_datetime_2":"2012-12-05 06:00:50", "c_map_datetime_3":"2013-09-27 21:10:02", "c_map_datetime_4":"2007-02-12 08:27:39", "c_map_datetime_5":"2010-06-09 10:03:09", "c_map_datetime_6":"2008-05-25 10:26:34", "c_map_datetime_7":"2006-09-27 17:34:50", "c_map_datetime_8":"2011-12-17 10:21:54", "c_map_datetime_9":"2011-04-22 02:52:39", "c_map_datetime_10":"2009-02-08 19:05:10"},"c_tinyint":-75,"c_decimal":65.0343,"c_varchar":"it\'s","c_array_int":[837816627, 581074781, -1108925926, -1038287036, -1222195715, 1732876607, 589444028, -685560827, 1860935902, -1805648227, 751010114, -1764534313, -1427026709, 1299403701, 1061412903, 2107172021, 1217437394, -1816398500, -315209256, -1998766731, -445734857, 349569752, -726680164, -1758819784, -2077293642],"c_array_char":["kDOpxGvvNt", "kslmYKiUAK", "fMCBeBBxEK", "rkaLyQrqzu", "dIggIVsyDi", "tGADwewwSB", "PGatHFveIk", "rsuDDLAgXe", "jClvqTgUBr", "BXbSGdGygW", "uNXciYNSsA", "DfSjIOJRrj", "SJjBhTrwjZ", "MkkmPxckVz", "SxTkgUYBSR", "sHFxcSnKXu", "QhmUubAHIs", "fiLEdpKHsl", "GdKiaZkcDa", "eXYcWpxrYC", "gELjoWnRfu", "GnvSwNuWLP", "zQpGKWBzEz", "HxvPqrtlzx", "XASLkphLwm"],"c_array_varchar":["voYptgbWmAICYEvcpQivEOmvnhdmWGOiMjbNleYtuKkkQULMwEgsugjfrVrtVIvvMRLkMrDUamzHrcYUMLIKEKQiBVmxMFwiLEUMYvLlmZjJUdyGDAfximrwUzyrGCtYkMHveadhdpEpTQrXFRuScUgpoGnDzTJapNtiaqbVjssvGPgtEEuXrcumvIHwYtbJotVbWlMrdaNkkNOtVVLqWzKWozLNOugVnvzghkNXcKOFhBtRfmkzTFLqIafwiMpM", "wMagkOfPpSRYAdoGWOSZHGFCIjslulhtwsrRbxjTEcuubgFFMxZHqyFNPXEhKvFXuJjedJUdljDxIonjWDAEwdRGlElmoZzqENwsChkhflWQhPRQDgYWsSrwQBPSMwfgDoMetXkfkQlMcRUMcvahkLuVRbAJNNBXHlgPvZBGySVglcVKgTzCJzztnzQYMQpalkkEyHTDogXyNCMZaMQwtpfWTjmOEQKHcfjWizqnWcSghvoYMwrrlRCHWGEHDsWL", "edrBiGIMKbblykzMqmSyswgRugIMQdMIuvyqZQzfbgkoyDqprxxIqufQPwlvUXukeGITdLjOUagQGgsNAnidhZtRtVzoutSAPyiBuiQNIlmQjWyFJBWtVvVZjGdhhwgirAQVsggDqbFASclZlCeVDCDrvsUfQICnYcRlHfBKUmtUOantHoxIBmjidLUyzbUpgsjyundyMjluiPpXooZRedrKhYXMgIJBpAuasrAbzmvHkhtwUsiyhQmKZlfjUWOC", "KBWiTAgIZCbUMvXoMunFPioBNKioceVuWZpmFDoPTVeroYHOogjFuvFSvGHWaHEfvuQNqngROwgrpQhfEyYKVSFTNsfoRGIJvxVEWphgHnrlHskljvzXhWnizrEgdttrsxfmkMkwpCiMTgcbhVMorRxoBdmmUAbtwRCsVkPGqHGAadVntbtQZMEkukyOasIlKKGeTNJsKJIDweSvfUtIlabiwffmQqzIKZkzBkiEPAYuNzukDdjBreoniKIBPEeI", "GXGrPTGfrIarLbaseVFysLiRobbRvlSjEUEPUhDOdoeRbchJaDGYIacBnifeeodEPLCdOzUXHhjhjsdXWIfBwvhdKmbekieKSLfsZQSRQiIvdGqfZiHYPGxGDQSudKvUWcWOuIMZSDhBYIMkfQfEjKxKqGRpNRTSTeXAIwTwYnwfDQNgtriMNapqiGisKGtPMAbWtZdQcoeSXfdzytNhkmwNdxImLYxRKaVRqXJjbcjEajAFWntqcxklKkrdhdBX", "DsRKoWLwItZCXESNtaKmNgzdemrqdVRmsMRpVrEPcBxgGrugTNQdUGPEqJXUGvUTgMIeKgltITCDmYZSUtjVzFSPoocXVaFgJpoXAlGxHpLBGtNYjEQJvDAXnejUAilyWYmPdvOUyYdkfaTnjHoGkwBYzAiVndgEXZwvzQVEfyBlJNpxMEYoPLgCEmLqDNuZRQMGBiypUpyqjgoAbbhMCVysRPknAjmpAKVywsqNyXbjeHjeKsaceiOWjzhERvwT", "ztQdSHOPbXYFIOHXRtelDGtBUwxCMKRJruAUyDgqlZtCwnnzgJtDZvMhIgjPwCtFmYnEoplGNHwxDCYsNQMNAaJLNqIhJMswwURfTledogNNlVUaAwZRnuLCOvXJglgOXkaFaOSottDLpwklEDXdSihExkulKgnOIRZbwPerIkxmtnWbArlQtsSDdDajgmDRLUVEGuMTbvxZuRsFmUZLGAcOZFCipFEywNocCBUqZpsqodSAtYbMwysICAMIFxGA", "bRqEPBcPeGjbCtMcmkSNqNrjXLCjDRBNsnClTrYutvIHRgVoIjghOghuLXFWigSVCsZwqCyeWkktlYcXwFCYuImYTAawjZKFdZCTNUzcDrfgBGIyVlbCgOYzRoPWSqNPnadEqfAqiNdbwSoNTIlHOHZBHsUSCVuSKiUlpXYRfYQnCzqZJutrdWYnvbqFrsjsKiPvHdCansPDUbBBShFZSgsmkWatFRzRIBHCgYwNiYaIKCKhklKAxwuMgTrMpwVM", "AeVuODwynFFNsJsPwTlkizsVyqDiMbMEiwOfHTSfIUbNkbfTtsmFPEahYQcbEEnlmGEzxkNqsBKvPoOyNharKdiVnocHWfrReVnuzAqwtbrpRvJkPFSPcmTiUAIDHklhVMuqQNgNJAsOLPrzqFDsbbIJTvFxFpOzRlJctktcOawWBYJZzgxESMOAEVumcjhymWbyupYOkiAACXMKjKeykstUxCcnWeLTuUvztYufgRbjMyyUCGSCXotrZIKiotTs", "pOFyCjrjkgAjGspvowLkoigSavpqyWeTqDNrQTFQhxqEraUWpqqMBDkKtUhvlClcpFJWpApuJwSxNGkdCMNkMQXwYMnvvlOiQSFxViYvyrbFwPzggfYvekqIRoCkgniKBicbLdGnHLiSCkgIDxKTwHiEvilKtbMjQMTRMIZepqKfEuGWNuywVQdVNPyGkyJtzkJEWDFAAKKSRcoBtvgXCFRyeRNdEYnwqoUnKhtYkeMCjenAZxTburmYRvQIkvcq", "XRUEaExoWPowIkbRorFOwyDckjeGTBxqhIPTOTwzKQHQaNWuAJFxqduxzyKtjYAbURsFXgtSqVmmAGXxhZsAhJPOongoDjrvDTyIFTaHEgRSckARXACFtaQAoyWPSvghOLFCdomOZiBdhTQrYzgSgXIzZpKWgMXOzHLiXVufZuLRlowgVrMFSxhydvWLbBkbxTyfDNUkmdFFDlpStOouSVFEHaybtXorxcCjJPeICLMsrwJfApCUoZeToETJUisS", "vqqJGjcpsMEdoQAmIgutIDcgsYzLMgtJGqtMLbHUfTrKVsDoGrrfwppHKJHGPgSZFLCSmDDBCeRVeFMKgABOcOkpypvPykEqJPDCYRstaKvVpXYYGZpsiLimwgeaegClzPfjYaJvNfFORUrATMDHcqmcwYzHeXsXkOKKNVXDLtIFMyZkJYsTuIExwIVZzfIuAJyFEegbkklQPDdIgQZmLEQyGHHaDHFXLSPPvXBcUkRpKtFgWbaXWNgIdOXhDVVX", "mSMvWtJIfCBTNHuihLOiLeAHSaaobinGFDoZNcqNBcNCQrPWggvdSPGfFlonZSjvkfWwktFcAwQkuKpygOytIQEsLNfKZRJFBOWrVooRtGEYWmrXlJdaCNOAToTQIhNxsJMZtFzvpOLlCSRsKgrHfVpVMajdyqbnBfhgQgsUuTVUVCJfqEaZQITtqgUnCvWmolcSrvwfuhVxzDuNGnmnGJMwNXlqWyXHwPfFpqNUdvSrqJctNZeqYHTpNfzDKjUp", "sAdsPNRLItdCzXZNqGtkGRJysCwUlLCLUiaihTxTndWEtskytrNWrLNXXMNOEyPpKtiZsUarxnlljRIgogNddQlQzEWBDDxOWccTDguvMmmGRRaGwHVoZNiedRkZctTHCELacCgprHgDoleqmtdNusDYiPJilsVCoxLwwLCyXZWDRoVHyKZfWvOPWKIwWJSfBrOtSGazHJqvMhLRGpuoIdMYDLSexamPWRqBldTSMnEhLXKhDUPyONGLDRGrJhBA", "YfBlYhOCwzvINHXipMpDgUCKfdTWYtoZvaIfYbbBqYSUTIOVntSgFialCaCfznyASidpsvPUEnUEltSKUSkVtrfKRkXpipkJnbSRrWymWLZMuridWpzCffhOKgEQNxLQsYnlXddIodYtDzEdtuAsiivKOgMOFiiAiXfBNMyRlfGWNnacGyuWlGxjxCgBLvXTvamQEpFXdoQfTnhXXoiGoFxETWEzdKaTjMZkpWMNJYivoqSxqbTODdqrMblqFDmK", "UDLWzLXdkwDgyowitLjMqsSPLdFoCMEXsvtFniYInGjdknKLKngQwJjhByFwoGEEsfQVSKakBoWLsjjSBIAaAMWHaYkpOwUmFtlzYWdAVnZKzuslxRVGPVkzbClOnnNnlZukPJtVLQhWfOEvbgOPBEhmeOwQrmhDrKngnIafbinGGQaxlXcPxBHluFFsWJchATvfoHLLBJMnyoItXbkRpNEQdPZSBuYKWPkvopvpxtjMYgjOyiPbWUDrkQDnaWgr", "tAgbOOPjOopQXkRPzkvcFSxmbZRkGmlSMfjGxMKPFafhQNQXWPmrpmlDzTDSoPChxMTXkDTsgmTdCWZebxdGTNfIGubIeeGCkcKMteyuiFDpFRzBgLzvCZTWCbuwOIDNiPntbJpjVhuIxUNrMFKBuFasvqKPhjqgnuVCwZzwTNrJAMiQZYYGJJdXleuhEOyIRtIZKhJjuAKwuJeiJGQarjtiBNcByZGgwSHZmWCcYnQEvGgtBDQstoMHjBLlCxwZ", "PkALYgVGAyVXwJpIjledUVZZzvKQrXxARqVWWDaQJlUlLnGzWTWslTjleBZXdoGKLYjrURJhjsbjIgGgjXWvdcunmrUPZBhHZoqaqNgFOpBAWUoxAwHBnmLXjCVTqPOpRrqxAUncBaLHuUGIjdYVSWlvTyzFVEwSUXCxuxBthnNXuMCApJDYLoojZhWNzVzoeVOynlzVHPkhmNQBkOyZEzUZwHWZusGUAySrSRtJLFSRuOTozWfkfHuUFpgBCGDl", "xnBOQavgyCLohiYQRoiMbBFnNgolqfvLtVbKOASpGPygzoDQOjuvhlPKibysFjMBmPNpKIOPbRkOMCwtbfpLcKtTaDqqbXkBmCSrzbKUFkzMRanfyqoGscohhXgHRMzNQidQihsmTdTWWfcwuxqYWmwOnRtVfogHOzphwwSyEIVyDcBepyomdKqfsAQfhpJwhRLATanarVWVEAxfJJqigxKYSPiJwSxODjTpOunMQAowbJalBTdDIMPjhbXNFoTd", "hTPazdnnJmFToLRvgobzwWNIvpUlVtAiaLvOaxhFlkoQpRSMHgVZKzxjcWflftBoVwIAfNfszwWPjmNkagGQBeAsPKRPpgeubEFHOBrUWpzXVZPpbDYlqRrKDgtusBZfuJjzXIuzPvCaExFBsWDVIazvNHZulNBnJRNENPfFhoeShqUsmZKwCHXedVlWjEuAPojflndrGprLJCGYzGkGhiqAFQJDCtsMPRmIEAWYgaJjqMunvlAJZMQvuWqayWAf", "nhunfeYlBnDZhNRPuAXrrEMgUieJhjEkmirmalqOEwnQhxIJpgMtdYlnYtOQYEkzwxnLvsdQiuLhnwKHunkwjOdcTlzLaVHrBwoYprwWSwyGlmxNHBeXlWXUYZXYCCMdJyppoujYsqSPAzOsJagMMFmLGmjUfVUoXflqDxSWgQStPyZYRFatZmSNyJklKWYokUBNGaDxnXlSPIhErllHxKDkFlyLpVKDqdWNrmKyFQntaunBfegxxMbEZlyERAcm", "NEdswYhCicCLlkeEDFbvCbXGoLzBloGkKSmoivTIKAxQaggTnRuDRuWZklneJnTurmUgxCGdJuszZRqCxROyZWtXmkfaGtWaNeAciGYFJhcOSqCKRXUyNwJgLLwKDnTdjRJuGfonAVFixAwORRxFABmsyJgXlWBCCMPjEeoCoatiiXnTodbaSPNxhnUUEQaarPNvmDZGQIwQEfJoHlQphYZfzddzZDFOZOeWuNvycgmmHZFFvIYOehBQsJBBpuDP", "xlUueDpFlrNEUlCSMVYVxmmxeUPlWMAtbweomyYSYKrESmJdJHNNqJLfDyfFEgwcftoQsoOEIlGfaJOfdQQbyuJCsQRrQEARGbrVTYvirFBllbqcijhvvPsnIQRWyWTVULgViWRpHFVoUecSMdqGTSskzDxDsmhVbOptlAQKLGgAPcaDslcFwcNxvZQpycRLHQjpXKpwEFQARFJnGYIVZDAOHoqLMiYYymCThufAyTZLTGSqILAEBRzgmvVQEHfz", "HKoQMimnsPyDLjAKowpUxAbvdaRfozZjThTkKpXxHyxtBAZBFdYNqmJLVvhbiIApHqbWrDvfDRERlMkSiefXPtpaIHhpMHEauzgUnqWdKAPFUAlINopnpHreCzCDEaizHwTKItdgdqVGvvRstfZJNvfoxJXetpSfUnludIWloGpOzMVBZuxGxJqBzYKRQwMIESEBWVdlvFsbmObNahOaIUvcIsOxqFxYrcviLdMZfMvGYHBpKROtZOVTyoiqEYlS", "oOKgheaiMpsKeJrDrdKdTeDeqLTDgaMIexqivcpoRQnyLDOhwVANAKLkVSqEeynySkYyQBoOWwPESKcbtLhoJjvOmTNhAOuxBrzWBHmNHYHDAosINQygzZjbqSFmXtFcPGKVOaKIWyxhJcaAcveVWAICfFaRHmHRwHZSXhwvZisQwzfMmRtdcPPpQITmhiGwVhmmesbqYARaonfUiPzAmFNbhvBGpikXDUuWOiRcTrVHzxCQQgPNXZDLojXEWBIv"],"c_map_smallint":{"c_map_smallint_1":12873, "c_map_smallint_2":-14854, "c_map_smallint_3":10, "c_map_smallint_4":-30444, "c_map_smallint_5":-7834, "c_map_smallint_6":-5748, "c_map_smallint_7":-26859, "c_map_smallint_8":7134, "c_map_smallint_9":-27683, "c_map_smallint_10":10111},"c_map_float":{"c_map_float_1":64.13958, "c_map_float_2":40.268326, "c_map_float_3":94.12707, "c_map_float_4":72.376945, "c_map_float_5":92.07529, "c_map_float_6":60.076157, "c_map_float_7":41.17528, "c_map_float_8":94.74217, "c_map_float_9":83.1826, "c_map_float_10":68.13147},"c_date":"2013-07-16","c_array_smallint":[-13185, 9196, 3150, -17875, -2475, -29572, 9918, -24725, -27948, -11062, -342, -32704, 6294, 3829, 3454, -27757, 9865, -4158, 431, -1856, -27789, 4716, -12847, 18365, 26655],"c_datetime":"2011-01-10 22:06:04","c_array_tinyint":[43, -108, -28, 14, 60, -37, 63, -102, -51, 35, 17, -126, -66, -41, -108, -59, -115, 96, 59, 70, -122, -46, 9, -77, -15],"c_array_decimal":[25.0903, 58.1670, 29.0726, 8.1526, 54.1839, 89.0458, 29.1126, 24.1345, 20.1603, 88.0943, 34.1035, 54.1811, 79.1361, 88.0989, 57.0219, 14.1906, 38.1432, 10.1597, 44.0121, 28.0600, 36.1301, 93.1229, 93.0295, 31.0273, 11.1276],"c_array_datetime":["2010-08-10 01:26:58", "2007-09-21 13:37:46", "2019-02-05 10:58:00", "2001-12-04 13:53:37", "2007-07-23 13:20:32", "2010-09-10 05:09:55", "2010-12-26 17:19:43", "2004-03-24 14:39:20", "2007-12-21 06:15:35", "2014-08-05 04:45:36", "2001-09-22 11:57:14", "2018-06-15 00:10:23", "2005-06-19 06:48:40", "2007-10-19 13:35:18", "2014-06-19 13:19:47", "2014-06-11 13:24:32", "2001-02-19 19:15:18", "2016-12-02 23:25:36", "2019-03-04 20:11:50", "2014-01-17 02:43:48", "2007-05-28 08:52:45", "2009-09-27 18:28:51", "2012-05-27 04:21:31", "2008-10-12 16:43:29", "2005-01-19 18:57:51"],"c_array_ipv6":["OMpZhdLpkz", "spcsfbUWnl", "LukTWshXQy", "lEPJVPrKRl", "MjuJhgbBwJ", "pXAPPhJJqd", "SVmoIpaUlt", "RqkUyxxSle", "WsEmmtQVpL", "LggRAPhFYD", "exzTYMTQDP", "wEGuiXifpD", "qAnMzqpbQd", "sEKgMDMYBy", "dtiqlqMCLQ", "YYPfzKGRMo", "fGKJPkQydv", "vuoDWaNPVA", "OaXAkbVPeY", "elrZcTNMoK", "LfJwybTbxe", "KiRBxOQeoQ", "MqfMxXENNY", "AdRWhHWEBJ", "IgyKFySvEY"],"c_map_int":{"c_map_int_1":1122631513, "c_map_int_2":879997402, "c_map_int_3":-464005279, "c_map_int_4":1859568876, "c_map_int_5":-714522592, "c_map_int_6":-865297741, "c_map_int_7":1138065160, "c_map_int_8":71943434, "c_map_int_9":980772819, "c_map_int_10":726497498},"c_float":7.28418,"c_char":"xqJUPCfnnD","c_map_ipv6":{"c_map_ipv6_1":"a1de:3684:8b04:8f4a:b923:32dc:138:ed72", "c_map_ipv6_2":"cb94:be9c:21c9:2987:c4d4:97d3:16a4:22f", "c_map_ipv6_3":"6dbc:f8a9:2204:82b2:da7:b7c1:66aa:e249", "c_map_ipv6_4":"77c0:8e6:21b8:b0de:962d:9c79:f232:4847", "c_map_ipv6_5":"a388:7874:d538:bc42:b3fc:4e6f:aa02:686c", "c_map_ipv6_6":"89e0:b82b:1025:85af:9ac2:ce20:9991:20ab", "c_map_ipv6_7":"6b16:6e86:f192:f163:e0f:6f8d:df87:881e", "c_map_ipv6_8":"c159:30e5:2fd7:b267:f913:755a:73bd:1dc7", "c_map_ipv6_9":"7ed4:9f55:b8a:15d4:8c8b:d5ea:785f:5159", "c_map_ipv6_10":"9770:fd09:d6e2:aa2e:a220:8256:2b7e:1442"},"c_map_double":{"c_map_double_1":16.382564147669278, "c_map_double_2":6.187592399847853, "c_map_double_3":3.394862710876539, "c_map_double_4":80.25338261331326, "c_map_double_5":54.29393837682257, "c_map_double_6":18.018515994277372, "c_map_double_7":66.82452310784595, "c_map_double_8":87.14073395855502, "c_map_double_9":62.535905758131655, "c_map_double_10":44.186270824071684},"c_map_date":{"c_map_date_1":"2011-07-09", "c_map_date_2":"2014-04-01", "c_map_date_3":"2010-12-08", "c_map_date_4":"2014-01-01", "c_map_date_5":"2008-04-28", "c_map_date_6":"2013-01-21", "c_map_date_7":"2000-08-02", "c_map_date_8":"2011-10-24", "c_map_date_9":"2000-12-04", "c_map_date_10":"2006-03-23"},"c_string":"XoCRhPPHEERWAbbKpLjSYiuRJfxdyOxcdjEIAjxEsyCiVJnDYZyayuxnHeboAascGsSzrIOkdduEqLwTMQGZSLuUrExFpMzitHhoBLCZtDvcDXNgqyYTpIICrWAKlVzqumjkIaWiwPpWWjXnjKQcTcCaLyZOhrvrZgFCijRvFPHbvCxIHsexlXVzpxRBWGXVYZalRAWoxsQEUGHyhYnRZdKmYfXpyhxcRXnzqJOuWCMSPDASsULAUwBGgxviacJZRoNUqgpKIiYFpmXGEMsKwNvaSLkPDnsckxDbBuvmotEyRGbMfZIiDDJFzwqpZKcpecxLJqxqnCrrUbbgcitSZLJHpVFxmXphhLgyspVdXCUlxqDKOAevwMxLwoEwcGKLQssaSrVoryfkCtqKXnXoRCvwFsqStXdHJicghDNqqeVNMZERPnMCKtxlcqgpivIbaaqAqWCPQFxELXBlXCkYDIfBEEEdLuJxAruBoExxMgZjvxqeiraARwYlHqmTZCZM","c_ipv6":"8381:7f01:b55b:c06:6de2:2b7e:c3d3:6e5e","c_array_largeint":[2208241408401467410, -7203103151533755634, 2780135402228683159, -3603843415550387601, 9058769647829962646, -8263766750299862514, -1193426616436676101, -7325357115051890076, -772038477878609888, -2104698709100230633, 1997286230342071046, 2430993178365916622, -1179388885215333063, -6243983619576051701, -860514981662645081, 1335099547384705134, 2938353116399108491, -7438710653466306474, 5306982752402615188, -1097751061716767797, 8242362331581618883, -5166578715907005231, -8779584662579553759, -8213502965968957279, 5451429215992954637],"c_array_string":["TkQbKVOgxyRfKxaOFnLMWMRvjEokmkKvqcOdzoBGYYAvegrYgcfVwJZLkVlmxlBiDDckYfqxaabvzbUmhnvsscLwWXaRelxbJgFNJgXOntfoDfrlbRgZpQIuxHVpJiUVrutnaGMQmJbfyNZeEdIxvvqFBvRrlYqwLUOoWXCkxZqqnVkuWjOKIIoLuZwbgsVbZOWBCsstksQBfpvXeKWUcyZdJeBRtzIOZuylUjBkgmJRKtozTIpDQnUCNrzzxCvMRDhnkUQSBBwqGXJqliFDAxmFTUWCMRfwCKrPESXJhSAccHFTNcqgmFHFaYAdaIiNPeSFrIPIhuxGqejfVKNUwYCjUvYzsrjshWAseUJISpFKZgGmYZsvQdqsRJFcZLorQzjGHcilICjQxnCqllRqxqKRFWFalnTYrtARCAViMgtFHqnzxbAxfaBEEismdvrfIsMgpuzgQTuiZkESdgIqObGMuPTqTdjGcVzPFRRafxYXQzVZZxlEoZJCAeyFFHuZ", "sIsJuBapHxmixNqzEXFBqERMWQGtMbtaasiRiURdpqdyhWwDPADPXUeGkHalwizLblDqBOYXiWuGVmFQbIYBWxdbpIvcJyqjBjaaIoSXcyyZwCCTuibQNyxFsImMulCBMzvbmJGSfPpULoIuQicAeThSVLVlnCXjdZdniOmeDBySYXNmlHzGIWvbdXAbVzcXBluwUYvlWEWBFQpTFoxPMBPMJfvKtYtiDKAeBtVclsWzHnzhiTkFhbXQbrkBmLGOLQCPEPLxGKXEUbYIMeHDCmlHxDwQfFvlGmuBTaXjUKYOgrjpSqPoOHjOYwQbgPALScWkjHEerjbqATeGzqkcRxnQWQvrbzQsDzReMfKFWZojywPPffFBvRlczDflikFieyXMwlkJLbLMgzTBqefctytBZHaLKFKVEgROMwvelawZEGctopXfcDNwSPwCPbTmAmsJQreJUPvgwuPwvSSdGPhjHFEdEuMBhIOxeBzDrKjmiqToXkrsnXGryFbogRrG", "SqBeBwcvtkcuihnfGZfWmeByUlnInxkdQcefjUCMBBdVoAnCUErTuBTmfMcvZbhpxBheMtVIsrkJVhHzKfXByNoKYYMUvvUHWnBKPThnAHKzNSXacUMFhlhgbKclOhxzakmIkknuqLAzYrWIdZqJUYitLMvOWYpsgRHnVXVaefPVSflXlKxgRRiUYdCKULDTZeVsLryYOHOmOSQkWLukHOIdYiFzMUibvlpPwcupbOUbhXbKrMrhxoJkgKctmaMcsssaFuDjrNvVsfMNLnvKlyqpshDDhdfqvZXjDFhQNsHldhjYinDfjRhnnCgDjamwsQPJTvsjOpBBeZmVWlWBvFdoWIzhJXcROPtvdmNoDjkZtRuiTyDxAdMCmNbWwyYbftPYhJmnhuxeiSPriQOjYPyAuvChtRhgtLJraMDOkIiiPQellcIRsLYscIIpzXVZQmessXiaAbvBEfutlxfivSrUnJWINUEYRlInEbjHgnTLZWmbTDMuODgYnpWsGimX", "wShYMvZypLjkOPgcoDfeKWAPCCmALcKODfYyfeQxglhybOBVCOvBfEtADeMZUnySAsAwksWjrzYKCcFJVHSnpMxsPweQeoPUPhYEHcUsIscHzoPdblIyXgksinJgDLBQEZPBeeYtkHQRcpIyUezPpviJLnuwcDvnbDijQeluYxlxMkFUKESFdvtuRMkaMrmzIFRSHspSUdCPTvNpHzkwnNyaZfxOEKthKpaDytXRbWXIpGihcBqNcRCctPHqvMlMXcaznRzBtnMdhMgxlotJMdQuzBBgHsRLytacaXbGJdXEhvuIthEIUtByahcfvDqHBWRMxUVxzKTpbNqRVttMrDXcnizZJLgymWDKxqqxTadFOTwMLzcLMRaHERaSYQkoXUfibGRPjgTsgOmYwhQkZlcenYeWgBOpuVdPcHWSpyhtUIFaPGHkLGFVzYBxtrRgeWweiaDOArkEvNroBrcbGdAzoQWsKRvdBrkmiXfTPToRpdszZDNogBtRzZUSouko", "hQgywtQSzlYRYifizPnWLDSMcSmcMmGgjteIeKPSICQgwMjUsfruDkAzxPvtfRmYUJgASsbfPcaNhHxDytbiPxOXitaSZVpHCNWcedDiAAVAZZNENXKYgEtOHdKODUKJATTLpdoxYaPWygmrgTDxBMlGJVuRTAqMCPsIptZaLsvODOYBioBsklxmdqQqBFqLONEiMcLVQVtFykdjlJYRQoRrUfCdHIHnpFBrsYTeaMPLovCVGEOFaOZgfRklPtvqovleJTgngHCLGSDQdqsvjTmATmAizJDZomaAKKoToOuFAPRtwryaduVNQdrTWsZtjrQRYQXFtofpAJEpKQfQmGnOYxEeUetXkZElvCUBKVdrThJNZsjpcLlkqvBAJcbivyuSRwPyXgjtQsbirnjzpGtAVCPATpvMQsHcrOhXrFVsbDQIcFQbDVHeIasNBavSfuQXZNSOAOFKXxgOYXdzJJPqwlluNgmpbYqkNZEDRXXrLhzjplghRUWnupttDKGx", "qlzSmhnSLPfRMcIGsoIgItCUtyjYlpuybxUTqjpGucwpekiOPqwGfofYKQisKtUiqhoaCaGzSXUyrEWwrhCOHGJGtzAxNXjLtUOJenihbGbAgFXXRzSlUrMEyOKXXvjqQhWZSXdStFkqYAHAhMAUMqecgEywVpGOYfaaQezMhXokQzaZbNpJzouezUlplmzqlnISjiYFhaZthKGsRxqNtuXbJBscbrgAyPASmMyOrOxKzkdKUArucnItjpgFOGsSTgatxqtgzxHhbSGNeRwGFTeUymQxKJhXKynUoOSoYbGUfxlobpKCxlZkQZwPFEpjvViPjBKwtKtRXexUEamEytXAuCCvAapkUfpNzuJeyeCgzAerPYhCpZqDnGxPdKMMIeJtRQZCvAHbPVMMEBmrrlaFGOynuuviwOCOetfSLGLLhyfknISTTbSXoMjBTXwFdnskSpFWsDyTWvXFfIxgONFFAQcfXTqCcnsSVGZuYTivJqurvPYfIrIBXAzmrZwu", "PasdUiwCNfABtVkwdayqCTXcykVRpPilzkVyQsNwkOCjNGhoWlbqfbAOjmSaEhprLRrsdjoIjcvdbmvdNVZDONUhHxdEOEftmTbYqAEzToHmSQQXZpfcIbjdlpaWIUxSmhDLmLXpzhPZLTaGjEjPwxkGSYlulrRXjdysAGIqYtIiubxOqCtGRBNVuCOtcoDfpmpATnYzqppezVOmZmjigPzWozBgvVoSNoHIEmGiTkREsUmlcBuzfZUkHvWviUeoaYQsptWeOGYfdQpobhiyUuyFfRiYfvkqwcLfmukhdTMixafFTXDLBgCsRLMISEoXFhPBoDJIBdcNRKywAPebrxzHVMuuKgzcmAcoNXSLbHwiJnFJQwRbPbfqJKzgcrALFQIxTaZASUZHvcUyCRJrYfZmMYNlZSrrtyfamjRcJfvCWnMDBDAoYmUBXDhvqqamtkDJkFPYCKlMmKkUYdSKPdVAfATaCdoMLLrsVHSaIVrQCuYbeSPEznpaHXwJtXiF", "qULVqplVETRzVefGwxHtMeIcRoEcgWEgWVTiqukXKDskSZxzlBDMHjxBRMUBdcGrYzULMfGsZykpmrWKLnriLhEPxXgKrVuQFGxShArYZwByHnoSfBsxBxJUrcFTgmcwqzmUdKNirMrlTVzdJRgRyXPyABIZJLpqGsXJbUIinirVFlbUprGrDDpFZjbsMgIcDkULgcQxUQNXrKqYfatbiZUfIyrGlDABxxLbnZHyLboBucxTwxsRXRnLPZHUyqwveITiXutRkiKQbupidNqCIVHdAThsDZJqvJZSkLUsoSkKuvznreUBdUUSdyzUreMNwMVgQJgLBKxpQsQHNLzCgzHsZTCkAydKIFNcQDYzskzRfrqJmNcjYVKbPfGiubsgzqadFRWUcIOAjxWVUHOVGyypkCuIBqDsbAVCgXxMOlicZUtzJvkUwIiGEjcCkFkoBFHzataELPSpDuQEOXgyKRIqSKWViYdHVDrRkjRPcbLBRHfBOFPRGcIVjhiEggll", "OGrISqSNCSPWdYcnKXPybAAnlhhwZffeUiqObrODYkDyrhzRoTVydUetSkHEcYscKdenKHOpmZdwTtQtwXIhFuVYbQfpCOuaxibxGYROsAAPlkzWXEhGbzasldXlEqCocAfvkAtURyKsFIQLtZboLMonUWultVLsSlnmqMcemrlvQXLdjyjJKcryqcyNHphLCrsjxCMOzjeLKZKkISqBqPQlJajJopMVCrcDuStIDVmdHApOkpxVltfzEPUzgBFTZGEPFrsyKKsRMISukyWValzxnolsQaIdUsutiELshdHNmJFMXWVBpVpaXubldWHyIUOGuGIDewGeUFjOZULGbqRmjohqQiuALwUGjoqMggTuooSiIlfslYnUfpctAtKyPqjsPXlusNYTpYAmfArMHRltzOKATwjUYxMmhyFkGeEmEwvNFcNsMQfxfmurtPohDxztsTUkYAECmuIPWbjSnSGUqKEMgjIHPmFDjzkRGvRbosrHEZYKGcltDGZBmbcL", "KKSzONeTxWEEbnZQgBeNDvZNzQZNIcgVoIzWWxPokvaHamRrSeDtupESdqUszzUBNVhvbGNKKtacelMaOUjgLesZBjcsRcDGoeWIbBIXzeVVFaTHJRKNiuwGSNHhRhyUBfgtbcDFkpxPBoAZPVSFbWaQvVAhmTcCCmBKGMTuyDUXNRTSyAXjcviBhuXjedALCTNiNZeOPhqpxfCHuNCNJtLiIgyUYwMjKQjKXNWdiHoPfhKlWCyunMqUNCekNBMTdEHWxmkApDhJbMtuaRMPXjsKbNjxfmLqZaTwniejXFNuUcVJLXrIqiyLkotvuZUUdzeyaOyKzfFawAHGVFalkcIcioogiZEKWiJVUGpFXaGmYYgyKILJbRRyEUAfQLMGxpFedPjzfOaXDyDVHJySPDSjzYMMPfGNYjJwtfzhHvGXnLZPfRyzhEGRiffRyUSaPscoUxHxMTKpfRFFiSscVjtCjCgmpYHgNFnheTDICtQiYmZkXNFpdQiJLaMsHZGs", "zxYaGCMnrsckBIJcKcsITzDMLwUgyuxolAQGdXkFqlBddpytUeIphaOOGqdfTMqVLwyrHpUHDROZTZmZHHWEApwfNuJaPyawOseXBufKcNfofgogguioTIFvkufTBXutmTGUggphkeqhKXpEieVlfkGVKYgaVTQNTgVDsymCKoyZGCMfLJfbDDzyFNHmHgLQQwokBvLgznyjjUHCkakyrYxQSMHvHVEcjsbdtJxikjpcQbmWQqrxCqeJOeYvKYcosbFWdgYFInlcSRaslHeFuLJUUDjHPMhmIPkYAdWSgOmTymmREDlluZpnWeyWpDsSXiRhAhLFUQrWKflMBxNKdbvdvvRroQEyACpzJIyaJjkzlkffGwhgPIsopskpUCnSAfJxBicOnYqfsXOCMFNflwDVSgwtayBMobIPMLLdEKgzNBOkLFSQlIxJYRUNTSJHXxhjIJnTKMwimVYhoayIlPMYUmGApBiidPfKXUJSDUJusIOZwPjarlKWmPToRLXv", "VVcfKIHHNUpkMFNsOSfOdQLXejcigjQYMYpehTWudXyYIkJyJDVtTnyWWXuMENwvcEtzqLCQXwsGEmgBFwZoXYKdUNIzrhRzKVYJmDLlbJEJhWToVIvxkMZhCaAUGvnwnvTEnhurqMJZQYKhGQfUCsOYxDPrrXNCYVIPjJGbfLCKvxCAVlfGiLEwWdvtzrfBTucneDrMwwULCgDvAmmSAcLpclCvvYgXMKNHOigCSJTOrHxsogOJloDQwUdDrbdeTxZFXLXxLQrnbtvoSPaWUiXjFRzvxAcdypYQBELqeKpULDwQfuWlEiClyGRJGrAuOpYZdBQGsMMHVuNsIPyoRGtXvOMjtOLamFkNtNvQmHltBwkIYYKikakSLLVkhoqjUWtQrqkFdFwMWqdzIzWWSENPxPUgLtrdHeucdihsMPpjzAyakGFcxzzSxWAmjhIMKKhomeRjjSVyHYuWCuIoiTFEKenTDFzDjvFbutzPxXTEutZeeobYVSvVCDomTgBp", "NEPwFfLOmdLnNoRkKEsAeHVsiigZqNVHOfCPQiiONLjiNqjnkcICHDZOpfIHceyIcRyQsurrZGYpPfzsjZPpwAVpOGozLDrdBDTDXVreqUeJnKOXuRvDYsJHvdnljPWejeGcDzPvExGsEwrIYasuDcTqFoFgFwaUYsbSamfXsBJOQtRkPnHNhGJuHdugyTJYKRQLUPyMTVHVtmFEtMhMJgpiUmuKddWWitntsvTvGGkbOlzNyCfmLzSkBeFkqeTdOkkzohDFFAhXCEQYiKsiWfthSnDeCyNzVjjeZwytpSFZPEhsXKQxFojikTHCThGjzuhqffGIwVlhlfGIDtSugvVCYZMKDKbsRPuuRJmKWjanxFKXOicOnzYQIQjVTrnRdKJKIPhVhtEvXGhDsUBQDbOKLpcusIvuFsSYfpHDWUNmTFAKkaVyEduATziPTyuQWPFVsxuhRdRnJMGyUNfdEbWNWQMzrtVRgmnYHSPdOuvHwqdxwkIpcKPxllLRCceE", "NbqDkUWQEzgigHjatigEqEKAZayBAqGfRYPgBZIsxvavfRKhCVKwmKTrYOpQTzGniVRUiqTAuCFkZczdZaTshTcAXgifrwZtPzZvbSJimPOhiIETGFElfhFcmHncNwUQJOlUXDxaMeyhIUlfFaNSwJgVXKdeOHRYgmwbEEkWeuxHQyZzHyUQibhxQRJKrxKGialudwKUAuvLQZmerJTDTCvKWuzXAhTYRoiOGIRzPplxHQsBuKrAPwYEKtQycSZeUwBMrnQYSLyAJyuSfpohJwKNZwGbKUlwOhqwRCeCzznKvPJzleyMKIjrGJUNqXMsZUbckDpxvlyEtdogzFzANkdefvLtCncLMIbZzrTxMrWXIKiHXZeIPGAiCmaIFJfSjSvribDHhsJAvHoybOvfzUPrXdQaGywiHsbODYtlGGfEILyVtmWUWxjUESkfpZFSBtLuYWgzWuucwzFBCBKghseuRHqjeCVOzhUvSOMoMBWJVAlXasCUUFEenybvdFSU", "ApUkvDJCypmVBijFnqDqBLjlgAfHkxrJVQmvYGqVXyhwxpSJxVsupbrIRvteWptFmNNZTkOIbqktfTlmJzfRWGNHbzUxZvirXtcvOcYEishCNgeHPSsgumIiIIRwGOurOZevwOyhXaticgHAAwARVBhyNdaxUxtNJRxGgvPGhLrIWHMlaAduZuAmUxpveDSnnMYgfcwjeuIksBaVByWaJEjqyBXfBPbPiSIbpfMFuagmuaDezhBmKmWrBkjFJKEuaxENRgnnpZAiedkZYjwoRIYuBRgRPTDIkAcOFNUXkUYocEOXYCyYmShMJsnUilkIMLZrDxUDfNKzVXGnpdNtBsCLjLDQVgqzomQqkIpGUQKofNkhZIPWoUSKLRNkWFdoiycVWutPXooozMVsmncPnAyMtqVsqBJmMvslSfZnQwfqmRvOEIbJpQnQmQTlEAASYeUekCDGmqLfuzUSDencaSrgHhvpUiZxTomDQlnWbGFGVQcWdSqiXgkxrjxhKAnR", "kwHmquIxwUottqSVFfwKyuRIUCEcUJVyHtAhlyvTFnCMkAKjDBwBzzSaFsrrYPzhNvMVLZfSPCwEPdoqDPZVJpAeNTpbzOgTzUvSksyqmeyBcJQscMnwqgycyRwilzThLPTcZvjuEAUZJOTwuXqaPmFojeJbjJTVDuFjxRTjYLfbhaFojYfPvGlPOoUvjWAVIDCpkOhRYhMPaZuvqqAWsMNLapNVNyCnjSxiAJiHSGTVwDcyoUzgfKFqGNCBHLdkBPteuBWZBWHZXxsPreEjOvOCqkGHPAVXPqaPczMNyISAsvLxGrYYvJjFZrZpYNFqwCpeEpXRNZJlHxxdFZtYxPDgpLqkuqtxNABLFPcHUtTdrUQmMRTeEfCEMYoGRwbgFWjdVyQiBEsCFDOnlpcLlIvUCqbrpKdiLTKsJXRPkCbSIQJGHZQCynXAwzPiQpPNjfkSETLBVcyOdHLuOKnvjrNezftcbSWVcTADvwymDiqMuJBfkAbBJmfbUSdxoBSw", "VlnOLpHsWgNhcSoGHHXXQqEWRJAVyTNMIchkDKgQmkOxTjPoWCzbaZaoJLEHMAVArWGokhvVJCjMQsxeYAYyYhnLszTjcpVXkDPYhHTHpsjEuVjMmBRvxzTvKgoVuqnzjjnPMMxAFpyswVZMwuPrZIWEiujLipuRnqzmmzFUOicArBQLSEwvrGKHDhKzUYfjucNEsWHSwbzHcmrGqDpOUIVbdjOZkjybBMFOTVNZOQWdxJGGzDGmSYcrDEoOmavQwrSmfpuNQLxlQQVucRCdTRZWOVFRNhGDmCBkfctppNUdtwpYfhMmvLEvamlTZBNunmyidEVLmuSdSFELsKIDkWlUZnWykHWAzHsrZUjOGPQPsqjhyKQxPUFJGCITIqbDyXtyNPsHvaLBsUZdPHFcboIlpAbrzesvSZbvOrmiQiWQVujEazmXPhRzYfLbZSXRDpXTXeFBHzBvzKqLBdvZKBljkGsIhCbkROIqmbpoJPdLTBxKvXBEAdVmmGzeWJMD", "JXIDKJBNCyNMhyHwmLjXucKxscLOhgaaluIzALLMymdALdcPFtUDQgeBVWtiTbVFpMsKyJTSiMCXuxJLHJUejcuGiBClRocNhXTMjzcmtdNPGskvbHqfcObVQoDbnMixUYJYkwBfkfaiBETYyUiPybpunqbHCmHmttuVhctXmtVHoDFOgCOknJayjSqxVkwcBsIckMeOboyKoIAvIlwTJjUIqGCpgCPNkSYIoDlFtonBoPAfpBFluyJmWTAQwrIDOVZZhCwQfhwFsEzvEDYbjmfwmzdtUrlMrNFjrGorKmpGWdKXLEZzsewPERkJohMjogOQvZUasUzVAcXlwgWuvLIjNqPZnHWkIYrYFKPYMsgvgudjVwDqCqocMEnBRlTeppsDbiDQfMqUGZrbaadkSrrRiPcSToDIVpAdPmEBZcQFaCADKBOqCsYjWzIRTPHhURnnRtDMfpKYCnpoXmuHnrzmEzQesycDSLzyjAfdelxJeFRkqSAqQFzFynsLsJwH", "yHTLkmTFSZkpAKfCmiWNijitxsSuFhTTyNuuowfyvMtCSmOYqmGfrzXpfBjuYNwLYuKYEzZvJsNuxnoVjIRdbZuUpRrRFozbNGgKNxwwCSIBoGqKDCNmvuuRELRtBVXXGsxrGDHrAnCbzWJYvSatGCufyljhfxuXnvpkrTgBYmQBSkBnzCNjCimtuiALYLNTMlIiyVPTXBQmkbldJnmFJxFKFcysZQGwmmJmvVHyhFNapggXcdkamZQJbucpWDZdZyrGhPPZyiGiMZXCLJdunvHcpJeJzNjalVdNbXzNXlJAITVOHWDQQoMrkAffzLcDIAJvKLfSKUMMwYoTovUhWidNFZEtVNHOsSRjfjNDSMmSOeqyRQYzVneXKTVzBChauZxwwwjikBNGdbhZLgoZbTyWTorSrPxAyNgtEGTCzsJGtzKGYqDjAsXmVEvtZgbjtehZAdfpPvLXNLFzmzpiBuNkFfRFaXTXwCgHUfMhyuFcWuAJipxgDuENNKBYnuEt", "LUoxzTanuJGiDwztCugmNzPNwlSnwmCBNYhaOtGDhSRhwSoeLRTOBTtrTBjoCCKYyrPQEAAwHSQhDSvqWBfEBonidCfdptqQtCPkZDcOKKFysVuWDzUusEWcpdvhdesVzQdJuPzpoElETHZVSVrMAQMRYLAvqjryYIHWqNbotQfaahaWYcmrzcSolonnawPylFwTGUhnSaGGpEbfXfmZYFVDpjRgzbqIGpVQztgYvuwWEPRmITdxwuHHvxbDcIDzJlexBCTisXrEeSwOSTZNKcvZBftLIpPBGrJzmkeeIqFxeskEQEjUXmlfXsXhMbuPVTBIOwxWQjGxmVyASsLndKufCTlLmQeUSmziYyWSTtpnlqkQHlgDTNGmgCkOsFIxjTCxKBUDiPtcowZVMAXkzEIaDSqHGVNmuFsyXOKaNNCUgXibCMhoASJCQxROEjrermieYKpXomQOWQQJqhNpJIqaCLSMUzSgBZDesmePykbHWystvTqKXaCXFGaygbGN", "hMQDBJrpahKQFUUMpYzddnHFMOStrBtcmyzzNiRuDWEoHJLHirANoyzjJMCWIPZFLeGKiBKxzzeLRstpcVvQgODSlKBgdkYlkaqatkRSjChGNSrjoNenBXTxQYNFiBGvLoYyqMFYeFvlJysVuTSKyYfbtnxpokHAdApefpaaSkfLJTYAPPjVCXYjXwnxDWLyBAtDHLlxxoAtuHJEZgvnNoFhncwXAObxEqZmYHeqlCCisOaVLArbuvPolJRMmjUhxRiOHVuZMlWfzNeErXtNqcqLlBTzpxRfyVpUpHLaSVAIkOJqYTdqCYuiYoyoVaOeMDdFjVtszYRuWQnCvBioFfSwpoljLtFKdzPWrqkuVqnIUPBoBmOZgwmMmgLsrgIjtLLRAdNrpnihrWYelRNdATxPtjRjwbYcOGwpPeMiRfOsvaYHtInGgBAfDQAAqIdttPdCMtlTXJnAQfxNdzyEinRGaLkhiwtutmisGnHAwlaFocdDhQrQxhuIJAHDrayp", "uHKCLXategeCbPGBhGVXvVLvokaQOjQOTAoNBZswYpaEXeUNOyfVsPVGEhlfEmmniKBUXcDYQCHfCxvPQnYpbAaCaXmLxIQJcewlRbRnZKsRYFZTfTiLtPvbnuIeFkfjtFqGojPSMsaYzYIzBBgIJRfFBppUhiiMlwsSWplSEUfdFZRssPXfLyttubPbcMacezRVribFFVWtNhoTBSsjOXePLePVTYhZuiiDPLQNDRDkuDvvlZaXoquyUUmOhNdutttIqwzApbcEgsigrgcGiiabbomUeqDTUoaNebXlSNvXxloVaCTqhDQpVBOsNOLkDeKOsRyuIFSTilyzvkMKcDLzSuZLVOHGPMkKWVfbKpmYfnloXhmHijaodRwVblazbWVlZKpovGhwIexhIsSHTIWVcMubSygehOADzZEqnWCMLAXVuUndFqqxjzjpxNOwpVeMtCEssGRcwlXErZPVkPPLRGJJwwHUNPpViprfdaHmGnLcBhcPVPZvvPlEQItL", "nnfsjQkZyVekdbfJutRinLqXatIjVScINIYeGoNhIqOsPUxGvGmzmCpQftpROcqWXzPkqAXZtwPGbCuIiHktMKkUHkIsykUWcMThJNzvNHRQzFAmBTDqGvUdbtJTMquBXWinpIYnAMFdkYAZtzrUXvYHGgNVJxkhwUBHtEJNksEwiVzrLVHRZUXLFUzjubjwbuAJRGaYCuyBNFXMbkCStlrYHCzzBxlnZpZOCwElMREuagdyPnbZLcGbsWXdOGKecNKpOvcIrxiKceNPIrVaoTrlZFRoYfoGvcxeVIJOTbfqZLWqRSnIcqflZXWUElixbPXWpoTqUxeLLqbwWxLkibzsxqlphEtYngcANHoccRQwCwugejCPdqSrlxbfJFtCgIkXLQJympzFTQLASmXyPbLcoKVFpniowepFjEUDoyWvItWhjyNsPpuTzufUEKHEPTxMgLXMSfgUIhmKfXTBzUQadgeMkWCBSharoqffklgiJLPrSQosgFmjoOGXTKSN", "WtCDeGRNyZdmscVvJKOnTDkkEzXsxumPzpaHXUIWIFlNCutMsOyUpVcWarLVJpTJPwafWXNIUegGJLbCTystKDWxRPjrshLAgbabWonDsJdcLnMmLRZISTHDYaTGjkeXQeAacLqrWcJNnRFHESpHzdxUnvXsGzLAMEZallqnlAFaCQWeIVRHkcjfksPRBbvnlGrvdxXyiagxIHQMnWdOxpBiWLNcvsCjnTXFyhiBzuqzdjSocgSOQQRywnKeiuUlGwEnwQQrnfoFYRcjsSwVkBJMTdBcTcEwXaHlINfYfOkuGJELfFGRkEXmZApfcApxCdLxxrucRLIOcTEvtpHewEFuRHkDPQIjPMenjVaFhLPkDaJmAfRIvHUKDqbbCpySFqOJIHPVvKLKEKMzxeHHDkMTiIyPupjrRIFEDoSiuaDpJlapUbHDTOjwpZcXAgUbqIXSNBLGEBMKBvfoOLFVWJFrkvEPHizaitOZvxeBstZUlDFTtdakdpQaeoaoqTaY", "SYbpAkqWJprGREIrjIEYRsSvXDscMTxUigRdgnsCYomznqgHNncaBYnaXnEgzalFKcPKKKuBVpcazvzdUeFxeiWPNHfCbqdtAlBUUatWVaqpoTGWavrPulkxUIoMBjmzYZVwxkTkeagwPCLyitpUgsSBCoXhYgklLjhZcxXfUNtDMSgcScHHwZFdVGajeeZwemBwfOXChpbKahLyRqoqLoQiLsdeLIyxuWITUrtrPRGmObKiKMHCenFsdRuNlaTUOnSZYmyBtmGaaHPyoJTqCtYndYwElDHtfNkDRzruovoBKQYelSBhmgrGIUCbPCHbZrFWhTeGXUxrdKjcIHXYJAZtFKnyLpHgwgtEdfoBuwfTrjWmZgqQAwYXzFNNYKRRcsYSGKaAlagJVrAyMcmENqUbntzmIyhqKInjBSvMQMAyQguwYGWzxUiVkKnDysUKAUGOJOhgUHwZOlfHCYoUkLftkvIHSyENFDYOKwaaOeOooUAPODmcEPjDqwWiKubN"],"c_boolean":0,"c_largeint":-4494222421379326860,"c_map_bigint":{"c_map_bigint_1":-3237943281691982611, "c_map_bigint_2":527761705913524301, "c_map_bigint_3":-6236442474863631063, "c_map_bigint_4":-4004362093397280200, "c_map_bigint_5":-4265879073695825614, "c_map_bigint_6":8849664856402104025, "c_map_bigint_7":-2195519564481356223, "c_map_bigint_8":9051858983987980216, "c_map_bigint_9":-8993218231601676459, "c_map_bigint_10":8197865923116623687},"c_map_largeint":{"c_map_largeint_1":-351160426386425029, "c_map_largeint_2":3353649643018432294, "c_map_largeint_3":-1348180301160806106, "c_map_largeint_4":6119136978537893395, "c_map_largeint_5":-7086517152344805732, "c_map_largeint_6":2253950348228066802, "c_map_largeint_7":-5561428482002547433, "c_map_largeint_8":-6488845334750398946, "c_map_largeint_9":7561677847016141884, "c_map_largeint_10":3998072939968114662},"c_map_varchar":{"c_map_varchar_1":"wsMMDEjGWXRqlYyzeJoSdGfQwEWlmGRrYJbtIaFyhZhSWyYFlcssHDLfuvTJPhJUimLolZuYPyfGLKgcZwaGdBeSyoWtHWpIbtshEUeOxzhIpGlIyBvyecKCkubWRvBDsKaABTCFIyRlKnjhMbPQYXGYovWVeLFVNxjphrCHRvZSEplJwrWBpOTezUuOKpNbKtJbIZUTDUmmeXzRunbvInjbnCqXiQIJGMzGlluisHKOdUmErPwTQFkVPoTDItvE", "c_map_varchar_2":"tvEoEbpFDVQNOjPqYLPKftyrPnzVWNnNCLRYtLwfSJGwLDuflCUfIWmyFpQDKaFlpfbCtRqLDmZUVMpDzgMBOftZMqPjgQWduplbyunyqnrCUODTPrXBvmddeFFZvOhhziwxbTuaYnNqzMqIIsLjptpywgyjRikhmdiRRathKhvGAVRXCJpuBINVgQwdJPHdiVInvzyDOynPjUugKLElLKoylPubkrKqwyaihBoTqokbKGsukUDIVJtKTcbDFuWp", "c_map_varchar_3":"IGisTLgfZIUVONVAOJcjdNWExMsvJQMwfjowYwLOwLVyFxJjUfPyoXPkjazaRAQvjoWTavjjxVnbyfzjmhvcbAygptTotdTAjVVKwwiPKdljokzkCDHAZLSvNMruuhZLLhCxquTWkUeuZenjLeYvIUbleOVygbwhIXWvBKfDdehZibWDZQCaccbLthNypRbGIzjHpkxcDBGOnGfeEphjvPFubBCHRPzmmZosYBkEMoNhHqaSFvckRnfbJHCfhbFT", "c_map_varchar_4":"LrJBiVenjClELorLJGqxYWqTdpgEXcUeiwOBwBfmUSPfIXgsVTqGNGSCaRyknEgqLWsapvEdpsmPwuBFvZGaNzBbcCjXVxfzncDteGTOkHgBOeqoeQgEGDlyOBNtvjbZnolMaXFiWvbXzfoOjvfmAPXCDILqgFSPJEJrYqFoCBYhkRtmgQHnhHrGCbZpmkwgolqJXpTAAwQgpwpsLcZfbwAXFjOeaDVrIiVzumXlKHUrnLEuUALLFVVSvBVAQFSw", "c_map_varchar_5":"oSKRwCpAvsxRMzTJSQnuhfYwHzxgbyLtRfelPEIMripWoeRXfkPgiaTztrxBZMfLVoonTvDkeOcnkzshBJwcNdcsfVPoiIIrayRIOKaMgIEyviVIZhlhSPiHbUGiwmGBDlypugDlWJxltfVMZRCByhfAcprhHcixTyHwvAUjowlOdGZAFPeXpLSqZiSIkkmuEkUquiiALKeKonvqDtJElvKXodRupTBLvTXiSMrITUOCEbqucUcygJCHfKWLRdrq", "c_map_varchar_6":"yvroSHWMxiMPpoiTnCOtUPgqSqCNmccFmnuKeMpyLxeLjAweWcMjCnBODaLocDHQuXFqOgmuCHLUDoUurVpmbxCjQsUsrVxRccNkuxZNGvkyXaLcrLxmKCCoExQrHQshHcSVPxFJnOPWnGtVxBdXdMmHAdisURpRiIjdhPqhOwCvJYTqNXGklzyMsgVQZUmyDOcBBBqHUXPuNQNWeVaILvtlNLRwSecqRtHIPgYiPslvJYEZJddJmlDEoBwnuwmW", "c_map_varchar_7":"KCplDhNXyuqYPnzEzeUEuBlCrEBUVQrAggowsLnhWompGeTaZtfRZxrsqGXFwkbyyPGDbQIgaPHnaVrccvghTaBPazGLxHGvbcqczpmOROUxCDYzXLGqSJKFSMlaVPXERtVjIQMPwnxuMjiAOyQvKbkdDtGHFwZWdIofZXySATEVrlnJkjLIwaxZftMXgtUriVXENOuqHWplLHuIJJRclFpXAmcPctLEFuSTgQomIdvTCofsMXqBtgTFVARkGNBF", "c_map_varchar_8":"hdNRGQXFExeMLRGWRYcNfXVpnbdVpYixtabMSAjKsYWXvegMrrSclzOOclvJhzAgYJFkHkbxdweOFQamvIijNxxtiQTnThuXYDBdJXiNbvWEKPwZQYUoTXkeZNmxSPNfJSApLIkXlUtnCSPZlFEzQbntMtkUhsBNMXBdVioZAOtTzjWXwNsbryUfrEpMshoKcUyfaMtHDPPDjJpDRsKFFxxxhcSsNhgxzSDZhyIgrFnDZUtuaonEhvUGwMkgqRez", "c_map_varchar_9":"fYcLJkYoDFwtZwwoHaxKOzdgNrCAbhVWGYUVJSZgTiMZeXmOJZzOPLXCxZoleyugLlXTTlIgRIOwpbeXiBVVBWRzCIwxLNGDBPxTWUpzigmWjcgmABbkuHVHEiagJHzXdwpZPnhqOiKJUaUUMsmtSAoJsezNkKGMGyRYxmczsSWjjkeqXsjWnJlKXMOCwwYzVVRRfDKpQKXeQKrNQHbwbHiZoZbtfRkWEymnqbVUTRhxALlIgQRbcjQRyVxdlJUX", "c_map_varchar_10":"XLvWEBbEKBaJrOaMwcYwtQeHxHaUfUeYhONDBZHBnWYRbkKywSEnFgOwyrolVkAkXBlbemsVodVgXNaRUVJTcQbAhubfCzutJdnkwEaBWbUdUqhLkMZdHVlvZeyTpJmVfQoHGsJEohTHuicrXwUJRgcnothNRMygTPsbYxiHZONKyjfAakivAcBasEBApynHJHrNliVSuImGpiHqvufVhNEncVGjwWXioIhbgEkiGOLcDNGGpLgIPjYclUhuVxPN"},"c_map_ipv4":{"c_map_ipv4_1":"139.81.132.198", "c_map_ipv4_2":"185.214.49.159", "c_map_ipv4_3":"246.204.123.192", "c_map_ipv4_4":"197.3.41.200", "c_map_ipv4_5":"8.133.253.51", "c_map_ipv4_6":"16.236.252.84", "c_map_ipv4_7":"2.45.167.124", "c_map_ipv4_8":"189.204.6.193", "c_map_ipv4_9":"241.249.30.17", "c_map_ipv4_10":"106.84.247.229"},"c_array_bigint":[-2306807109019589446, -893020364070517537, 3791296734106397644, -1871241909353080996, 5152341374589435704, 6927907075677863723, -5687793223872863573, 4465402649725054007, 2646026807732863896, -3133963602323024389, -395023665647017137, 4587768675067313893, -4135676931954082976, 8379142728119713970, -1263612126117404850, -7508010438086365982, 1756088450365519948, -7169334021452941605, 2489279577848136193, -3141929294765140450, -3881691662327469648, -8063323833173910742, 5280258932158821880, -5425322186555080358, -6155624664639355501],"c_map_tinyint":{"c_map_tinyint_1":-11, "c_map_tinyint_2":-81, "c_map_tinyint_3":91, "c_map_tinyint_4":-50, "c_map_tinyint_5":-24, "c_map_tinyint_6":62, "c_map_tinyint_7":65, "c_map_tinyint_8":45, "c_map_tinyint_9":-33, "c_map_tinyint_10":-63},"c_json":{"username":"Effertz8814"} }'),(1,false,false,-2,117,85,58,15842,17405,-4051,-32768,209508799,303909270,2111095335,-263170393,245,147483648,-24408,-8960209053397632693,-9223372036854775808,32679,100.02,20.757092,37.00381060125484,87.46309159797933,null,null,100.0727,100.02,40.123,300.343,12.0929,77.0502,2.0576,300.343,66.1670,300.343,100.02,300.343,100.02,50.0059,53.0125,100.02,51.0929,300.343,14.1405,40.123,300.343,300.343,7.1411,53.0716,40.123,87.1736,{true:null, null:null, false:true},{null:null, true:null},{8:13, 1:null, 33:-128, 127:52, -48:0, 106:null, 81:-109, -67:-75, -17:null, 117:-128},{-128:0, 0:5, 94:113, null:-22, -68:null, 127:0, 1:0},{245:0, 9586:-24810, 28004:21319, -15256:9417, 32767:-32768, 0:9008, 6217:0, 18946:21465, -29461:-25933},{245:-32768, null:null, 32767:-14438, -13141:5359, -25753:32767, -19232:null, -4081:32767},{2082255184:-2147483648, 147483648:-2147483648, -1953843623:-702636779, null:1736949576, -665678711:-1704980206, 32679:1742630785, -1617691429:-398829369, -465129066:1004379293},{32679:0, -1577260528:1942019284, -1320683776:null, -2147483648:147483648, 0:147483648, 443367264:969090407, 1395497893:0},{147483648:32679, -2482478:32679, 245:1, 20240803:15242, null:32067},{32679:null, 1:147483648, 3:20240803, 14429:25656, null:300.343, -605325:-6950724, 6587:245, 245:147483648},{7422750881439527288:2275627479596061645, 245:-438147173, 1:null, -8552213286706807449:0, 6396085780097037258:147483648, -9223372036854775808:-7255894341782794697, 147483648:-8004407946159796939},{-9223372036854775808:null, 32679:0, 1:32679, 6964093:7473338424860208466, null:245, -1282893947299472326:4516026, 147483648:147483648, 9223372036854775807:9223372036854775807, -335390:-9223372036854775808},{40.123:null, 300.343:null, 40.541855:11.171773, null:300.343, 71.40152:68.09577, 100.02:21.332666},{null:20.371422, 40.123:7.3980165, 81.416336:40.123, 100.02:40.123, 300.343:46.186314, 59.63778:100.02, 22.171343:300.343, 13.62732:300.343},{300.343:100.02, null:null, 0.21168420869735244:null, 100.02:2.6191267991992633, 99.19148471561789:null, 40.08650955610012:64.58056500290431, 9.997055346310521:40.123},{19.096046023941298:23.846155969673998, 31.055931974866386:19.506700330129593, 100.02:24.360406888042505, 40.123:62.12806601624303, 32.67658608796065:100.02, 28.7957019535963:54.05254446941259, 10.619787393553075:96.54916874818542, 0.8149159703141328:100.02, 300.343:64.96022338547051, 15.470442061659064:78.06282051493206},{40.123:"300.343", null:"9999-12-31 23:59:59", 30.0831:null, 14.1008:'at', 11.0904:'m', 100.02:null},{100.02:'k', 15.1391:"2024-07-01", 40.123:"2024-08-03 13:08:30", null:'about', 44.1961:"2024-08-03 13:08:30", 88.1743:'m', 91.0419:'j', 27.1083:'up'},{300.343:"300.343", 40.123:"2024-07-01", 89.1877:"2024-07-01", 47.1887:"9999-12-31 23:59:59", null:"20240803", 5.1307:"0", 18.0261:'s'},{81.0462:"1", 40.123:'he', 9.0069:"1", null:null, 300.343:"9999-12-31 23:59:59", 100.02:"20240803", 97.1156:"9999-12-31 23:59:59"},{100.02:'no', 40.123:"20240803", 33.1939:null, 77.1376:'y', 84.1419:"9999-12-31 23:59:59", 43.1865:"300.343", 37.0386:'been', 15.0834:"2024-07-01", 300.343:'his'},{40.123:"20240803", null:"2024-07-01", 100.02:'b', 29.1051:'d', 54.1647:'because', 94.1199:"0", 50.0854:"2024-08-03 13:08:30"},{2.0106:"9999-12-31 23:59:59", 37.0130:'k', 100.02:"2024-07-01", 300.343:'b', 33.1830:'k', 40.123:"2024-07-01", 9.0536:'q', 37.0271:"2024-08-03 13:08:30", 62.0693:'it'},{38.0734:'going', 10.1366:"0", 5.1024:"300.343", 100.02:"2024-07-01", 41.1930:"20240803", 80.0833:null, 70.0415:'now', 300.343:"0"},{null:"2024-07-01", 300.343:"20240803", 30.1336:'h', 40.123:"0", 44.1924:"2024-07-01", 3.1203:"1", 100.02:'here'},{null:"2024-08-03 13:08:30", 90.1062:null, 40.123:'because', 300.343:'o', 61.0531:'get', 90.1993:null},{null:null, 34.1571:'l', 51.0777:"2024-07-01", 51.0062:"9999-12-31 23:59:59", 100.02:"0", 53.0107:"0"},{17.1216:'i', 61.0970:"20240803", null:null, 54.1849:'time', 68.1044:'well', 100.02:null, 57.1133:'we', 3.0357:"20240803", 300.343:"20240803"},{93.0561:'or', 37.1529:'r', 100.02:"2024-07-01", 40.123:'and', 11.0190:'u', null:'who', 46.0448:'g', 89.1646:'r'},{40.123:'a', 96.1170:null, 100.02:"2024-07-01", 300.343:"300.343", 39.0859:"0", 11.0030:"2024-07-01", null:"300.343", 78.1070:null},{'think':true, "9999-12-31 23:59:59":null, 'in':null, "20240803":false, "1":null, "2024-08-03 13:08:30":null, 'o':true, null:false},{'what':true, "2024-08-03 13:08:30":false, 'r':false, "1":null, 'i':null, "0":null, null:false, "300.343":null},{"2024-07-01":null, "1":-128, "2024-08-03 13:08:30":23, "9999-12-31 23:59:59":null, 'q':2, 'f':1},{"2024-07-01":91, "300.343":-128, "9999-12-31 23:59:59":3, null:null, 'we':1, 'v':-8, 'f':8, 'u':-39},{'r':-11688, "1":0, 'from':-26764, 'because':2369, 'y':-9429, "9999-12-31 23:59:59":18891, "0":-24049, 'z':13662, "2024-08-03 13:08:30":-32768},{null:1129, 'z':0, "2024-08-03 13:08:30":-9527, "0":0, "9999-12-31 23:59:59":23182, "20240803":31228, "1":19734, 'how':0, 'd':32767, 'n':0},{'z':-1611152032, "2024-08-03 13:08:30":-1203401739, "0":-2147483648, 'm':-171874273, 'a':2147483647, "2024-07-01":-2147483648, 'b':147483648, 'well':1101022318},{"0":-72087124, "20240803":972327418, "2024-08-03 13:08:30":1107101832, 'something':0, "2024-07-01":-1308314697, 'b':666891822, 'his':null, null:-656939724, 'z':-1151235433},{'he''s':147483648, "9999-12-31 23:59:59":20240803, "20240803":32679, null:300.343, "1":null, 'back':32679, "0":null, "2024-07-01":4723712238949422486},{'in':-8940978086754452471, "9999-12-31 23:59:59":1, 'k':6517, "1":245, "300.343":20240803, 'm':-6812271, 'and':20240803, null:null, 'tell':20240803},{"2024-08-03 13:08:30":-1084989129784316518, 'got':147483648, null:0, "300.343":147483648, 'then':6407859, "0":9223372036854775807, 'k':9223372036854775807, 'd':null},{"9999-12-31 23:59:59":-9223372036854775808, 'do':245, "2024-07-01":245, 'now':-9223372036854775808, "1":-1794941321, 's':-638541494978962411, 'think':891658644, "20240803":-859483157},{'say':82.18049, 'u':43.188023, "2024-07-01":38.066708, 'm':300.343, null:77.93509, "0":40.123, 300.343:61.778152},{"20240803":null, 'got':24.885275, "2024-08-03 13:08:30":29.608564, "1":1.7410985, 300.343:40.123, 'be':31.649, 'm':97.24531},{"20240803":45.838859169195345, "2024-08-03 13:08:30":null, "9999-12-31 23:59:59":300.343, "0":27.567513248308188, 'i':100.02, 'r':98.6731135264087, "1":100.02},{'i':40.123, 'they':83.29646360394588, null:73.99788343129391, "2024-07-01":40.123, 'v':40.123, 'be':5.9080293647121875, 'j':100.02, 300.343:40.123, 'who':null},{"2024-08-03 13:08:30":9.0421, null:null, 's':16.0011, 'b':31.1848, 'o':42.1816, "1":24.1892, 'c':75.0615},{300.343:40.123, "20240803":100.02, 'were':54.0906, 'w':40.123, 'n':100.02, "2024-08-03 13:08:30":40.123, "0":29.1444, 'it''s':55.0918, 'f':40.123},{null:94.1567, "2024-08-03 13:08:30":60.1394, "1":40.123, 'q':78.1410, 'going':300.343, "2024-07-01":54.1760, 'p':20.1225, 'z':100.02, 'here':100.02},{"20240803":100.02, null:null, "2024-07-01":60.1766, "2024-08-03 13:08:30":100.02, 'o':300.343, "0":null, 'y':21.0380, 'no':300.343},{"2024-08-03 13:08:30":null, "9999-12-31 23:59:59":true, "2024-07-01":null, '2006-11-20':true, '2012-01-07 19:46:38':true, '2014-10-06':null},{'2016-09-02 17:01:20':null, null:true, "2024-07-01":null, "2024-06-30 12:01:02":false, "2023-01-15 08:32:59":false, "9999-12-31":true, '2011-11-04 04:52:33':null},{"2024-08-03 13:08:30":null, '2007-01-23 20:05:20':70, "2023-01-15 08:32:59":-128, null:null, '2008-01-22 10:10:17':null, "2014-08-12":7, '2008-03-11':3},{"2024-06-30 12:01:02":null, '2004-07-14':66, '2014-12-16':9, "2023-01-15 08:32:59":null, "2014-08-12":1, "2024-07-01":-82, '2017-08-19 13:21:53':78, "9999-12-31":24},{"2024-08-03 13:08:30":4486, '2010-05-09':11200, "2024-06-30 12:01:02":-9215, '2005-05-12':5397, '2014-07-03':32200, '2012-08-17':32767, "2014-08-12":-30135, "2023-01-15 08:32:59":0, '2009-09-08':0},{null:29233, "2024-07-01":-20601, '2015-01-16 06:10:48':245, "2014-08-12":null, "2024-08-03 13:08:30":-9044, '2018-08-16 16:57:15':4551, '2005-11-08':245, '2012-08-15 07:13:53':245, '2014-05-19':null},{"2023-01-15 08:32:59":147483648, '2014-11-05 12:44:59':-2147483648, "2024-08-03 13:08:30":-140211507, null:1705479261, '2005-08-12':32679, '2014-05-17 14:08:15':2147483647, "2024-07-01":0, '2011-01-08 21:16:52':-1423642553, "9999-12-31":null, '2017-07-27 00:20:30':-2147483648},{'2003-04-03':1800878726, '2004-10-05':0, "2024-08-03 13:08:30":32679, "9999-12-31 23:59:59":926073182, "2023-01-15 08:32:59":2147483647, '2018-06-25 08:39:00':-515144993, '2011-11-01 19:01:02':2147483647, "2014-08-12":2147483647, "2024-07-01":147483648, '2014-04-06 14:07:27':-2147483648},{'2016-10-18':32679, '2013-05-16 08:24:24':1, "2024-08-03 13:08:30":-7113596, '2006-02-04':300.343, "9999-12-31 23:59:59":-8250614, "2023-01-15 08:32:59":300.343, '2015-02-01':20240803},{"9999-12-31 23:59:59":7, "2014-08-12":147483648, "2024-07-01":-7989991, "2023-01-15 08:32:59":245, null:null, '2007-05-06 22:45:18':300.343},{"2024-08-03 13:08:30":498786415468377141, '2018-12-11 06:09:05':0, null:147483648, "2024-06-30 12:01:02":2478241, "2014-08-12":3524886858765026232, "2024-07-01":-7431824995236986206, '2011-01-25':147483648, "9999-12-31 23:59:59":5887009},{'2000-05-27':3522143734117993251, null:0, "2014-08-12":-9223372036854775808, '2000-06-19':245, "2024-08-03 13:08:30":463153470, "9999-12-31 23:59:59":0, "2024-06-30 12:01:02":null, '2000-05-21':null},{"2024-06-30 12:01:02":91.1391, "2023-01-15 08:32:59":26.039629, "9999-12-31":300.343, '2011-03-16':null, '2019-01-28':100.02, '2013-08-06':null},{'2007-11-12 21:49:36':94.52569, '2011-10-07 04:14:47':300.343, "9999-12-31":50.01797, "9999-12-31 23:59:59":100.02, "2024-08-03 13:08:30":100.02, '2019-10-26':null, "2024-07-01":40.123},{"2024-08-03 13:08:30":32.66055579366969, null:37.42815235390074, "2023-01-15 08:32:59":40.123, '2019-03-14 02:41:49':78.56030371151525, "9999-12-31 23:59:59":40.123, "2024-06-30 12:01:02":27.00049241597981, '2017-12-10 17:50:10':66.42663155972326, "2024-07-01":92.18507471011459},{"2014-08-12":59.59040274342836, '2018-05-26 23:59:51':36.39464715926968, null:300.343, '2015-01-06':16.602840448566806, "9999-12-31 23:59:59":80.88639478891244, '2007-04-22 16:20:47':27.698019677620863, "9999-12-31":100.02, "2023-01-15 08:32:59":300.343},{"2023-01-15 08:32:59":null, '2006-05-22':36.1274, '2003-01-23 07:44:43':null, null:40.123, "2024-07-01":300.343, '2014-06-12 23:59:33':68.1827, "2014-08-12":100.02, "2024-08-03 13:08:30":300.343},{"9999-12-31 23:59:59":93.0867, "2024-08-03 13:08:30":40.123, "2024-06-30 12:01:02":94.1543, '2018-12-06 17:13:33':7.0965, '2007-02-17 09:57:19':97.0249, "2024-07-01":300.343, "2014-08-12":300.343, null:100.02, '2005-02-11':40.123, '2013-01-06':300.343},{'2018-05-08 17:30:05':300.343, '2007-07-17 20:03:41':100.02, '2000-10-11 08:22:48':40.123, null:39.1656, '2002-06-22':97.0574, "2023-01-15 08:32:59":23.1990, '2017-09-15':300.343, "9999-12-31 23:59:59":90.0840, "2024-08-03 13:08:30":40.123, '2014-12-20 22:17:48':300.343},{'2011-07-15 03:28:16':300.343, '2011-06-20 11:01:33':83.0261, "9999-12-31":100.02, "2024-08-03 13:08:30":100.02, '2006-10-07 12:24:25':57.1404, '2014-06-19':null, '2018-01-06 19:10:25':300.343, '2010-06-22 13:50:06':300.343, '2007-09-09':94.0889},{'2007-11-26 16:30:26':300.343, "2024-07-01":40.1263, '2015-02-07':95.0332, "2014-08-12":31.1587, null:100.02, '2008-06-26 16:45:34':90.0772, "2024-08-03 13:08:30":70.1640, "2023-01-15 08:32:59":300.343, "9999-12-31 23:59:59":300.343},{'2005-06-19':300.343, null:300.343, "2024-06-30 12:01:02":300.343, '2013-05-17':25.1865, '2005-05-20':12.1250, "2014-08-12":60.1114, '2000-12-16':null, '2002-09-06':47.0555, '2007-07-02 16:23:59':49.0536},{'2014-03-06':89.0968, "2014-08-12":40.123, '2011-12-26 20:39:53':20.1025, '2007-04-02 20:22:08':100.02, "2024-08-03 13:08:30":300.343, "9999-12-31":40.123, "9999-12-31 23:59:59":40.123, null:85.1411, '2013-01-19':100.02, '2005-01-05 21:02:06':null},{'2018-08-08':9.0280, '2004-03-22 04:32:41':null, "9999-12-31 23:59:59":48.1529, '2012-05-16 02:31:40':40.123, "9999-12-31":20.1278, "2014-08-12":null, '2001-04-05':16.0959},struct( null,127,245,null,1,null,null,21.036736551594053,300.343,300.343,100.02,39.1595,100.02,83.0156,40.123 ),struct( false,-18,0,null,20240803,1614194826096804792,null,300.343,40.123,40.123,100.02,40.123,null,100.02,null ),struct( true,null,31324,null,1,8292635420700279352,100.02,66.41773203601173,100.02,300.343,100.02,40.123,300.343,300.343,100.02 ),struct( null,56,27115,-1629063740,null,473621438206866490,46.77197,40.123,null,300.343,300.343,70.1632,91.1317,48.1703,300.343 ),struct( false,-115,245,1865296929,-9216690391870547224,-3850210430185667129,null,76.34118470919903,100.02,20.1502,83.0597,300.343,6.1815,73.1387,40.123 ),struct( null,2,245,-964938684,147483648,-298723,56.0135,98.86346813214968,null,100.02,40.123,300.343,40.123,44.1387,null ),'{ "c_array_ipv6":["rIGCKfXYMj", "bLSmtnmyRP", "XPYhaqOSdW", "hWfTXyoKCY", "YJthnfAWeo", "CqhDnEFbuG", "sgwzgfYLRY", "rTjYwKQWTS", "VMoXhRbCOM", "UaFGSItpqv", "pWivWRqyES", "eNmzrKcWGu", "jzaCKbzqSa", "LPsEoEEMuw", "IzrhnwFeDw", "KnLfoUffnU", "pDcSkCltTl", "DBVjPmJNOV", "VdsbSRcYCv", "bBguiUvhGP", "nGVidnIesS", "llpHxLNWKR", "IfybYRMgqi", "YrMJrNizff", "YggDTzLVpq"],"c_map_decimal":{"c_map_decimal_1":55.1415, "c_map_decimal_2":47.0205, "c_map_decimal_3":92.0055, "c_map_decimal_4":55.0986, "c_map_decimal_5":31.0047, "c_map_decimal_6":90.0729, "c_map_decimal_7":23.0376, "c_map_decimal_8":83.0711, "c_map_decimal_9":25.1651, "c_map_decimal_10":47.1785},"c_map_double":{"c_map_double_1":71.59560856227496, "c_map_double_2":27.242929833808535, "c_map_double_3":26.921961743344383, "c_map_double_4":16.693330404964723, "c_map_double_5":45.93033905221095, "c_map_double_6":57.631717705161414, "c_map_double_7":20.565178988409908, "c_map_double_8":34.646353443244415, "c_map_double_9":5.574158482449817, "c_map_double_10":15.044358428561969},"c_map_char":{"c_map_char_1":"SKEHcpGbmM", "c_map_char_2":"lAYcjeqNBu", "c_map_char_3":"YfLryxsTLS", "c_map_char_4":"HEpyvNlKyc", "c_map_char_5":"ynSyRmolvv", "c_map_char_6":"WpyHELMmAV", "c_map_char_7":"vJEBUfYgPE", "c_map_char_8":"kWTwCKSgbu", "c_map_char_9":"FIObVMfiYk", "c_map_char_10":"NQYAjOalOM"},"c_array_boolean":[1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0],"c_array_float":[9.994905, 29.083553, 59.758026, 8.612569, 63.550564, 19.128881, 44.372593, 33.54304, 55.884308, 99.74218, 49.36816, 96.982796, 41.098133, 74.46289, 36.39862, 100.678185, 41.897354, 61.1994, 2.384644, 85.513695, 40.641266, 37.00738, 86.863785, 19.33216, 89.95023],"c_array_varchar":["mRolNGUqocyzpZvloIWLiPeOMdUjgFUvpqjmaEcvsnIgtcWjMfQqMyywBSsJNKSzanIToTjvGMyfwnhJUNQxRTiAQLTKlKYQDfQspdxboTTYFSAAPWoajlcFsAaDzpUdRejmhwQAfmtpHVsjndByOYGbbGzkltwSEreIujTsWMSVrVOiPyTHhTlCsZfqhWEckMAPKFYKvSudtvmHyoNAlZUbVdqQMRQQgOZOhbmcmHRqbgwCMRgRDdiAIVfnWFwc", "pKpjChGEplwqxxlNRlurfdkjAOponmGMgZLPHbcVtGVRYjQrUkUYWTAYLhoHyhZTRAUijGySpVuizrTcjkPFElMYiIptnPUziJVWRErVRNAbpwDaYHaqWPdZNNnWgnZkwkKgDlScOKsAYQABZWNhrlPTYjjPsskJBoQgxQtUKLcQSesAWtvCbtlkqozZVTKrXYPkrRyDkfjXCHpKrAxDoVhgZusdsOyxysfqzuWXmlaBKfjrnhnWxjTQGJOKAJLY", "wuZpVcMgtDoOORzmhgqSbezZRfIHETHQholdTVzSqyZGmnlYShmpNukdBisANuDRxmopLMFiOfifNecmvGMOwmAuXJPMWWfpfYPNMQdpGcGYGIzTWekCoazcmIDNfpcHvjnlSJJQpnuEQotVLDPEvokfgQWHfhXwlZwVhoKtuZvbeioEsolgLOXDfgtDKinMdvyQXXtiLtckhxXMCWDYCKYNnkbgUzTTkDUpyXBvtGDmMCYAwhUzZFgPewqtEDgF", "WrHIaQppcwbHooAAtJtmagdCJXdceMIdFwlDqAHDCoUJISnsQINUrSQqrtSzzDFgJjjjepTKvSNmmiNujhlHtiOjKUsqRPnuSRLHvBYtXLatJwaoDZvvZzkPputbmHEreEfNkXaCQGPOUyKaQGdASbvvTbdUyTqRhwzzLXzlbOQfXrWIIHnYGqkeWZpdkkSFiMlnFnyYovPALrfcdSMWfhjzQtsvvAkSlVvPlQqUsCPiBIgTBaVxCzZJdiQvbaml", "BMHawQGpoKugXmZGKQHTsDjKbjCmwzPUWMRyiWJldnbCizPxkWSglfYzaMNxQPpnuzdxGgtIcRKgLorMdCacGsUftnphzavFOJIAnKLECLCPaAitDHHJWdrvmwoXSWugSdBejYPobxeRNKllJIPcpEdkgCHCHjxpoPZOXKsWXucszzzvNyOUuxBOHRbAvkmlCNIUAelsIoxjLikulGLeqwVULPpsZYgAxMCfhHyQqiAiAQcaCqVfNjjrUpuKNgoC", "ylWSwyrgOBSAebVgqnzCtEaAecmGZpxEZnKFgSqJYrxXWJOgpamVaCxvJdpDALKLdnlPjuefFBwjrlnWwZSevtNBjpSCCMqRdeCXCKLgpSdmnaKRSmjabTguKVDjpPMRgVUZLdBbasLgbJfPnVSPhoGMqoKpvcPhVTAwiZfYMyLhuJjbBuVfsZfNhnoanuoPFUPDViBKHCPmbBfGgxpFvTgExhuznuLDGkYQQeCqeEYVBpHUKchAyFiUSgKgOJiu", "CtgWQfgKQRRSszNieOfYNNAzutaJvFdGlbthrwldISvEznrieWxfHWNmtIMQiuGjnUeiDBMdUnjBSGqVyBDBveuMYFzNMVHXMGadLYMurvKHkemZEbTMjhpkRDfPegWNWkfMCIMGPCOgoCEUpiVORkAqfWyWBwsFvudUqYCcLRAlBsAFVReQkqNGkuRGqYDJeOaytonSpEwXuzYeObTlGVPoylYHuCLohTltZPOEbRWROSwnezAzPNcKmVzboyjg", "wTHOrhrnxWwmdBikwCREIiLlwzKLpoMoZXVCywfZKKaamzLfYHuYNrAincskeRPmkjBwpvzXFqjFJeMgmJYnDauaZkoJWaBLxlwSNErfJHwfpcgHOYQHgtZOUnOOwLTKmVLfzWQvHPeATnIRzSngBLLZRHZAWmdasptcVbTwOIGcPGViREXsCXLJhdlbkqAKTLWxiqYBOtKVRvrPEoOhsLeOSxlaMJYMuiPQvREOdBtKpaWYAQrSkxJtaXJtSEsL", "WOTocAEHVgEwqGiqbyYFcYeJdCLQXCExxnqZLqzcVEfjzwYnTyWwOuLUyyFnuCRvyOypBlpznqVPzhoDypQfaIOXcaxNkfYpthWmmkSySPZLQiXFOATXUtpuRhpdNBbdTkWLzrBudlaDPbvzNULuIPoDEqLYNEJMdyCctpicfbnQvyNrrQsqjaSfJWDRKqAcUmGoRmVMXjjCWMkSaxzASKABXWINRhxgvYBQindGxLlqRrdGzfWghYaRBMeAQkTi", "MhKtNSGuGvzwQIvEwmeraVNOBAHVoXPFupAbaLYJqJllTpxSxUPTLFBYurzqUxbajuPkjnfGQjDTIuaHlWWXShCUglzvuGbKKKWdLjsZwWvkiHcYgEZNcpYQZodgoyMqVCjUHCiEHaTWpYoNVhTiLhRcfhQlTbwdObJePMrRDYcparVyvlhracExEqJevpTenrkgKQfFFRCqMLrZcPjmmPNfzCRelyxDXzzpLMiImNZosnjCKXgruqPJjIGcuCfx", "KulIMzAJZgeDrivgtaTjySEkBrMZvJtkVKtyippMdlrcFgEkccXiUxciGyuGURdvAqHxOkRrzJrgoHBpjpMizjtiRrniwxQLcOcrnvfXXAmexVNiEJAgnIAqOBPJyjUaSHTwApARlhCDjPSKYAIDMGcFyiqCqzObLHnaUisCeEtazdaKVQGlTBFAwnNHheDmYHOygxhsmhLbfPOvWIgIjaAbWPrNdVWarShzLJPXjCuKTpRaLncHBoTfnjQBkbVq", "CRbgRkOwSSCvNoLcdEqirsyVHTqaepwfrCaysOwKZNcseHPYPQkkbMnUGMtGBrYqOMlbFgycWcZsZZuSHhgFGrAppviFhgUpYotXJiEGAtNexympHOuUvyCWRxCHTsPinxAPxEcluRMfNBZjQFAovgvVfkeDqsbYTRyzArWxsnRTuNdBrNgljcnMlZNwhURrFCzzCEixmPxDmujiyQBtZPvTGOBvYRtjAXXoDoDiCWaVJZZKHrYgSrJakNUYbQEE", "ENITekHGgKBIEleiqFlZjzJSjVwMaPpfQgljpWNJDArusImlsrrlRbuIlJHUVExYtHQRRMnIbmDmdfdHvSMpJPJeMbPXfzzguiGhvdWcOGZDPZTAUVdHetYEvjUtbdCqgCCbJNfdRlTugMcTMgdwNxfAQsePTrLoFaTbitxWbJxKiITPjwrZqygPwmiEEjzHcnKnXfxxeYqWORhWDdRrRwLfPkyevPvpKHanAOuxkvZSXTRWDlJYEeoFspyrWguH", "LYgTgrdqsamZHBghEegnRbpkCDgpYwCMFTJmfTHByVMkfqGfygEtkbKrdYNmMzlWwKikKtNhyyfuMXFSEVyGQwQsKwDBVyRrbWfSCRRDqwUvcIVtvVCsouqFbZncUjeIkxNaMZOqrrUwpooGWUpgWefixCExkHDuVsgzaRtWUWyFnfwgUjKQxXMadhgpfJkXtQVDPArnFDpZQkBBMKTcYFtsCxZCiLZWwdEefDjUUtJSAilQMgjefuDrEUBTLsWB", "xBbEFsqnbRPbiLihUkjNeUKYMKJvfshUnVsoyEungyxpnfztzERfcjgKbEsFdgUJwbXUPimuShWwECLDivevJKcHVRVOCgAaQSJKyfUPlYAemXncbcwsyBBzlxgplhaVQjBIqWhwWlbeLrlRIvFiyWlwKzboxNXnOrmyEARZwwDNrrptcOqkrlWghaunohsJdKOcnTxBeOvhytvxodVqSQoMboJNbUdyLzieptBOVhVpWeIdQgCFAswMeifeiiXz", "oGbrutatndoknuRkEPeoBBPydOVodIENiBBYMNgFcXVmpseiGCSThCmedgNxiATLFXrOnqEnrIUZZOFRpHDPDaGoaAjcNhwBGCqRxiPtDevgFSwgYCPvhMazSYwMWUfrrrEitDYZEVdrgtdXlogYQkvPyCBmXLoRHwqBwGfHFTOuGidIeBIhBnLiNRAMfltCXyZbhwYdblaQhdQsXLYQumfurvmBMlSqYtLbFciwnralQYigeqNDHNHdPYXeggeM", "SgaMmDVCMRDWVtHaWkkPkbtMhooKmORsXhfeAAHcjGIWGYPknYYOuhSusatLHXMGVCLhWmIITaVRSDYWefKfSVWhvlZjlgJSKxTEUmXoGObaDYpbspsGqzPvbmvPdmAVFuaxXVjXUTnIMaIrNIAjCcYfNKnAddTMrsrexoPBKfEOjHFRbdDMlrnLdgtgUyPkmcYCQXCQLkgEiCkjzKzLXRTWLTYZlBsarcQTlCLNbqzqurOjNxbPwMNOFzyfkdGZ", "fpaycSDVHrZuvLITHVtsiZZkuIpryxchSpxQsbSynCrcdiNxOTuzzHlzyMYCJlyBkxzxjwPRaEgIGcISSkAiPPHxxgepLFCEQPnXWNQPiKXJWmDNNnVfuuzFTdNEWxmwcJRxbXyXcyTnzUZdMVRMoiyHYYhJxcTrOGnvMyvCeXwvaGPICCzfosNtFwUrwLxQorRVEJeWNtcYJmsCFXusUOqeFYrAghMugNknruyVSpIbyPiKuoBgzdWQnmoYTjvl", "LbfsPBNVcbxMMBAQFGkGHyiLMblISrPPtpVzfbvnpTXrTAFlrbTcgjpbbyVPWXKhjJFRWbuVjdNgqMNhbOfvUPiqAOaJdoLMJqIHqecBMoaCInlgtWpnoftgTZFYcTZBMUIEhLjginbPlaiWTwWZenJUVxGBTufrVtigKVazkaNeNphBRLkTMDboAwcqusDSfUaTTQjTZkxIUoYFFnUwGxmBLQdiqyByqJWlUBfVXwNsRJewKlvTsvXIXxrwrlfA", "rDykvAWvPoOFsSUmbzGjeOTLFqLnsnvGNFxWxcOqubSGjDnHZHLKFrWDigONluBeFggmMJwtnBTuGjTPnlgHdeSkGnYMJEdtSVsFHABeDvBdHyBHmIDVNIamPEnsAbhTkOQHMakyOsiYxiEiZIrfXIkYZjqXZihUgWxyZsLMQiaOcOVfexaQFfvqWBWrAkwMcxhfcvSCUchXWWNcJrRBHDLziwiFnODZyORyUhfbfqSXuBbPftYAlMcYDOWTdFVJ", "BmBBFotIoqrSdGtTCkZgZSOSWuXZFbyHARjrJYxFncOxjWOmTEpvEOJAxAoPvyHinejuSKBbiXHXpERmEaEjLFTPvdgAbvHjKnxGmmUpOWQCoCmsdDXPgUokjrGvfYlVDUJwnmpUWxgFOdCYvowYWUyRYVUyDLPuXjPiPXqbfWaIdjDDZLDDsiYgrVMVuaOBlWEDSTArVACqLbYVadyMkeaBDQMIfUWLecbVfUAFIoNGFSBTNGYgMpkSBSqvtFmt", "wPrHpDHZEXPYdgIXGSvLUVRFXBwkPMgGQOQkIjjAKOxDTvtfOMEBsEQrlQRCEPmDfSNmfakeJKkHxZXJoAdLlyOrUkjbcKhZWaCEBxmABrfKlqLyOWhomDtfZDOIgdrvggfgcwpuZCySKZvwMGNtssMuExoEMJBkdIRJNXZzAaUdprDUvBcYZmYOKDvUshBGgdjPvAgMgKvNIOvOqegXrnaMKrdCUZvwiLmvuncZdvhWilsGMXQQHvwcBYNKSUjJ", "WWHRNRzsrNouAeYQBSObSkFTSCasVzILCsqLQCfHZtEzFJreDPMzJUOgJYReLydUFbMXfTYCkiRoxWyhVmSvqnrHQGgRyujlvcdPIQoDMWGWEjcyoFHFPARFGxDxuTfbOPxJaTnoQYVJATyWZSacqmMSSHttrXVsfLnSdpnEwfOIsVLjLOlWGGQlmnkMUeiSFFtugGXdYThJddaxRZBRQNhEnsBYBWdEnKTuXTiPWfwIwyadysPJRXaZSTYIvwgU", "satGDmWtnKBArLQfxFmuKGEYdzcwLgdnaMXwTEWkqgBNZONtFVXICCCbWikJaErrqhSlzuoocRnlJjNjlIRvRreXrjhFDFUhRCnXLBLNWuLCTmOogXRErOdynlVfRpkNAPxnhPExHLcuMDPSygZhyzQFDLxalyREFZBDdXOgYdlVeFZhXuqJKqLuvjGyFXxRdXhvgkaSguEsVcbgYUGpvDvlWzJvkPVzaCcEBXYZznEuFezMeLWBXMTVdsoPjrSX", "bfmplwZpcBRXpqKUPsothKWUEMipUkscfajuGmGWXjMfkVQLvmdkUeOyBNilpKxpserRWfHNdiAcAQvyQzeMGaBelKbyJSRkdAfEXndNjwAcnWmqBvALNELUmmJNjAktypJaUteRQSpomOsMAkwdgqKEknnPeCnEZYpJudkfwyBvfvCWvnNIQUrYtJOSmYdzKUejDoQRuphiofnQupBCOszUbTZeQZiQlNvcPykSDmrXGvRnjXKfibLqnnKSNnGN"],"c_array_double":[96.01685088467897, 7.424810674898267, 75.15487982841483, 72.21814013154162, 45.03309433776187, 21.90133560206318, 44.522620883091854, 25.333490422327205, 25.721157171057932, 9.722653137972623, 68.81764590885001, 53.04741572144144, 95.08595734072073, 21.351782528472373, 74.7587980861214, 7.282786587588559, 82.55237665309363, 9.666971696089085, 74.69816961080873, 85.09420393551781, 68.10928003180351, 19.45705374824282, 16.069517581735756, 80.19091177579774, 22.891482847243143],"c_array_date":["2007-04-26", "2007-01-15", "2012-10-01", "2014-12-18", "2012-07-20", "2017-09-22", "2002-06-06", "2008-07-28", "2007-05-27", "2001-04-02", "2010-12-22", "2009-09-06", "2009-12-18", "2016-03-25", "2012-02-20", "2006-11-04", "2013-03-19", "2009-11-11", "2005-02-28", "2009-07-04", "2019-02-02", "2011-05-03", "2005-10-18", "2009-12-09", "2008-04-16"],"c_array_ipv4":["vgHZrCzGCc", "jqeadgUbzk", "TUjQZwLkti", "FWjCnIoNaA", "nGEDBMdUkA", "GRLCsHLYlj", "OJAoRlgmfP", "kijSGdIxvH", "FDLDQADXjY", "KwWBZWjGzd", "uprDdAXjBy", "GALqQYACTF", "EmkdzqIjQZ", "pCNFQYISic", "zSIlxuehGu", "dBahRUiNlZ", "ypMnMDAgXB", "eVKDhnffVw", "yNuMEwOOCi", "uMCqQvQIYM", "pxyTnbahtk", "zMBJcamLCK", "xDwlpVLHTm", "tpuPvULopR", "shaLpgPEfd"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_largeint":{"c_map_largeint_1":-8932107890941529048, "c_map_largeint_2":1910331936954182783, "c_map_largeint_3":-2045565872727107965, "c_map_largeint_4":-8503405656552639602, "c_map_largeint_5":-8830068235109839617, "c_map_largeint_6":-797624223395420036, "c_map_largeint_7":-2031956929467318676, "c_map_largeint_8":-3494374625723853550, "c_map_largeint_9":-6026166672714874561, "c_map_largeint_10":5358904528716564060},"c_double":79.4081778499516,"c_char":"hGZFgxllas","c_string":"aTfFStvzeCgqHFhWvuLkfQCHVOMRvcAeVkNFcsaqUPYPTuYhqRSjJkqTwltCmapmVaZYEyHNExbBWpvLSTnbnKUKtEiAuOfYWjKDVjClhhLajGVhgUigdjBboDlDFYMivhthUAxghcTLoBVghXwOtYbVteDLAviophjemMbeaxWIsidrDegrGTaQznkwmRPYlnzAjVkcCTfOpwTwXfmBnkSgWpeEyBztmdTJxXugyxgEremJaIVpdyTiiqhUSMRAGDcbDrYMfQVdGnnJJWwkDBgGBiuQeVVCXSVikROJecKscPWxVyVTpYhqgJIVApChvFszcjxNKWjNJrPUGEUcEkKonSDSevbmSoQsgkBrtDNEpgQZIveVkdgruPAdHkxQaFauRaBCrguXUVscHayBGsAtEvlqnrBEIhXeoWXuAcpITryxffhUAtfIukDjTqdoecDZEGcPUKsvSoiiPFgQSIUDTWxuQWqyIMyNulfihzZJKobHNoAxpYxaSTceYEBB","c_map_varchar":{"c_map_varchar_1":"BhKjiKyuWagUBbqXRRZFPvTFhMypjswXRWePLRZaoyfgVErTvQVVezKXhqkjOPUNxIMFIYfnAXMZUKcauAkgGUTajlXeFBmZtudkNSUPVqtKCyngMBVYaCjsnjEgMLXGVvZkbzXseMKUiOrxNbUYBFEMrYbCJdVOHzpBSpbLMqbJXzdAbGNhdclaPVnCgHkZQlyUdpsaKKpXXZrUWoWmKcRlJmoXgjGykAgvyJMfaLUEELvHyLNznuUdPbmtjUbx", "c_map_varchar_2":"fKZdfwkMIguJfPiUHSBNkKIehLPICamPORsWPPvsBjHRjzQRoWyKxlUBPHwrZPwVlVApjdNXEBXhUZzSXcYrLThfIuwWXRHxxlcEHbEPrWZuPvRYeiwNOiykyYpmuHCRtbiuogeEMiLZwVbyFoKPqevTYnLTqcApsreLwsdTndhoMbsJiKZUdWYGnzWOaljyZQjmxdJiwmMuQKWeyGZLwWGvuzjzmzntEKcQmyhlHtMgkGmUdDbycKgZHwsQMFIK", "c_map_varchar_3":"txRZLcUCXolaTVAAeCZQnoLpiCkkFzrAQeSKZqbvHjvVyWuPcyGPLcUyHlTDBHCELprrWlZeEaADpUDEZSvQPNIzqexarBILwcFcHpYRsxeOHPOqytHDMYzTKklrxgflLziRlTBQDoISqUUQEPcoCxMEeyiVPeNijMHerKKUhBelHbbftpbWGUnCVUuHYqKcMOurUnLNEOHwfxFtzNaBnNeTPVRAVVZRTLIIQWhydwxyFkRHSJODQRbKWVTpDJen", "c_map_varchar_4":"LybQyxGycbHbJzAenAYWuGvZQWQZkjPQWneVLqWykMSnvekjGcICxHfWygAxbdaxzSpHyggeePIThJwEJtGKtMSlprNrdZyflLUDnbrAKjjgXSwmRMCzHhBpBdlssLndRWBWqoXuhpWIqaKpJRlaAahJFlXOWafMGbLlIotMQLGHmheRkDHpbPPsyPvOXvBuafKhOQZrylGzZTAuBeiofLKhYsqthEgowcLqVBqRLTgjSbixXbNWqcMtJjWTjiLj", "c_map_varchar_5":"BFHhtqYqCsPlWTmQDcQhQuXRwPNawhzRjlpVumoxSLHRDVPPZpzetxvRJfVWYWqTBYjpuUHExKJMDOKVdqStMkjpJlrfdkrNQvbAPZBtCnzzsdudHkCxMXCdPnLzIkmtAvjSWaFvMknxpqgYbgkslBpnvRiZtfcBoIxUrYLVjOrSAfyxJLQaDNefMmjsAVKJCFAjeSJFYTDMCaLwctncdbfuaesvClqaUyAldXCLXcyezQLVPKETxurLEnnjURPo", "c_map_varchar_6":"UVdRTvVJJIGebphdaSmgfefkjnGzRZwEXNsLafjHJUyrBGqrdmdUdMyxbTUZVsnOwxkTADtitIReUkBLNxlWMQXwpuFMXGFNbrIfEZFFjfIbzQYxTCUCwmWaUxfAHreepJZlkfIDhbIfYjHWFxuahPCQDZmgpPSOrrqAnKvWffPYjfgEzLqYpyyfWdCWcjAJZuEVcfGSZfouZtBwneyrtlFBtfpJjphxLYXYujeNZWRHjarnMjtLUhgenJDkFlpe", "c_map_varchar_7":"RhSgUetRLHCuefjKoJVCGjNoOIiBDzsNqLYVgbLIBteIGKSmUMtfUUiZFMbwnJcNQUvVCDipgVoEppkvwyoJTTPeldkGtIBblRpgezQcgCqxGZTpqagRjDbcLPAKjOOYiHWcxhgxvmNbbMnOADMgztXYaObGlYiuQtBqTuTTBmfyLxoGhANBrKQiCQlKhGwmAhflNyBiwLSCPyqRKCWOEWShyuZTBdxBBLQaDlzObIKlnypHLwgwsVrzbxnoFcsL", "c_map_varchar_8":"IWuvFHStoeCINqnoAVvmXwtpGvDLQoAkkNuxxIMMGoecPbvQhbtcRBeirPderSnxblirAhqqanyZmmYJCKzzfrYzrstfUobWHhQrRYFnbgmZqhtMwTagLfJgrzUWPoOPCimNUCqBkwmdawbOgKcAYSWEwtRisUlXXiWwLZMCbhXrZIFpYYgsijZhwcjCwvsLLAoehWxtjADcSysWHIWvlcxSmZJeWguGLuUXIworzoYNOeJcOxycFUKgGWOuMejk", "c_map_varchar_9":"gWqWfCdAvOTtrydKfpURkeqTijJreKSAVffppKZMlCzoAifBumOEGMnrSekyINXdVGRiOFQigBmnueTKSwdQExjucGYbIDBtWnRJtXJJhartrQGeFElQDcJFBvOGSltIxKcCveqhdtfwtstWeXrNKzKjmKYvNpYLaStXvQmsbsYkTYKbonrvBtDiVaMZVvyVUnRGXIFeaTLNRXMkSvRqIRocPNJDXMEopKFVFtXVDSKLgfzmurODZICLnchCymHD", "c_map_varchar_10":"RgsGmEkwiOaGEmDAhjRnJkEjCoGiJWSKHNLKGpLZFcAZGrbxPvlHBtfuKezhLNoAkWIuSwYvDWwUyBwWubarGiwFdsOIendfamFEYBZNMxoUDpFliSsvUvylsoOpTqSLhCuvjFzYYoVjqZjTJqMJzoSLMMRSOgFkYhYurHDdDGPxHJxBAkEjGgAgRnkbVpoJxOssHsUUSQkOltOemBwgTQwkPdzsLXhMsWaUVlJwFUhHgUHyOGYUPQfavXODGYZL"},"c_map_smallint":{"c_map_smallint_1":-789, "c_map_smallint_2":24304, "c_map_smallint_3":-10813, "c_map_smallint_4":-24281, "c_map_smallint_5":3707, "c_map_smallint_6":32379, "c_map_smallint_7":-1097, "c_map_smallint_8":-13474, "c_map_smallint_9":-25776, "c_map_smallint_10":6166},"c_map_int":{"c_map_int_1":-254308323, "c_map_int_2":-261226855, "c_map_int_3":1334501704, "c_map_int_4":-1139108144, "c_map_int_5":348206715, "c_map_int_6":-659448323, "c_map_int_7":930976989, "c_map_int_8":1256855247, "c_map_int_9":288451211, "c_map_int_10":1439172337},"c_bigint":-2822868257251721169,"c_varchar":"my","c_array_tinyint":[-26, -112, -102, -6, 111, -98, -59, 119, 61, -47, -48, 12, 104, 99, 21, 10, 99, -91, -51, -70, -30, -65, 16, -125, 36],"c_map_bigint":{"c_map_bigint_1":-3375933353643848627, "c_map_bigint_2":-3542720802078641370, "c_map_bigint_3":-349372843074483557, "c_map_bigint_4":-8053311621803767988, "c_map_bigint_5":-2603610496139786105, "c_map_bigint_6":2032579491083614479, "c_map_bigint_7":5452301789211456034, "c_map_bigint_8":-2816221702114867824, "c_map_bigint_9":-5461360076085861988, "c_map_bigint_10":-6846860493852197913},"c_boolean":0,"c_array_bigint":[-7367797029645130081, 6968176362628300779, 2856298577183820668, 9206188736593584645, 679123171116610897, -6545572965971295712, 101784680146713687, -1127054692264088884, -3351340749826546060, -4008589775688315430, 4843679640637805253, -5956864186077142562, -7218157073302862475, -8802040850602781819, -3440505989107455159, 86589592158150615, -4832079704109149867, -5965467453241111178, -228999850297569565, -2867773580602816382, -8335532094969764030, -3088216889212349002, -7620701666140139919, 5403412588110938045, 3364820612804774642],"c_array_largeint":[5458957550431034776, 2391107651559505762, 3796985697349194830, -1588013351020510234, -576067413280474638, 4313893455188947557, 3265402451298572325, -439210568399293488, 1522271756282884309, 3185107352616728391, 5318716967927201714, -4408040225375209018, -6362094024242217392, 8290602398812743727, 3415990156986451852, -7279336160809703177, 6112979443090670243, -4799694469091904252, -647566398230813915, -4836749531568054771, -5579010282961843197, 35773727151974865, 1596477979295731332, 1798157506686292153, 5837150384328515857],"c_array_decimal":[44.0345, 59.1067, 58.0146, 35.1597, 35.0851, 61.1138, 95.0387, 20.1918, 73.0445, 93.1568, 72.0628, 58.1392, 57.1418, 90.1429, 53.0773, 94.1313, 36.0697, 75.0353, 24.1142, 65.1701, 90.1690, 15.0945, 46.1662, 85.0178, 21.0840],"c_map_tinyint":{"c_map_tinyint_1":78, "c_map_tinyint_2":-8, "c_map_tinyint_3":-77, "c_map_tinyint_4":-53, "c_map_tinyint_5":-78, "c_map_tinyint_6":-80, "c_map_tinyint_7":-61, "c_map_tinyint_8":27, "c_map_tinyint_9":106, "c_map_tinyint_10":-49},"c_map_date":{"c_map_date_1":"2008-03-13", "c_map_date_2":"2003-03-26", "c_map_date_3":"2011-08-05", "c_map_date_4":"2019-03-04", "c_map_date_5":"2012-09-23", "c_map_date_6":"2013-11-09", "c_map_date_7":"2010-09-14", "c_map_date_8":"2014-09-25", "c_map_date_9":"2000-05-16", "c_map_date_10":"2001-12-17"},"c_map_datetime":{"c_map_datetime_1":"2016-11-20 02:56:47", "c_map_datetime_2":"2010-02-09 07:07:02", "c_map_datetime_3":"2018-08-27 12:42:18", "c_map_datetime_4":"2012-12-15 12:44:49", "c_map_datetime_5":"2011-06-20 19:36:56", "c_map_datetime_6":"2017-12-14 21:48:59", "c_map_datetime_7":"2012-10-10 03:25:23", "c_map_datetime_8":"2009-05-28 20:48:50", "c_map_datetime_9":"2012-08-27 20:11:03", "c_map_datetime_10":"2006-01-26 04:35:35"},"c_map_ipv4":{"c_map_ipv4_1":"40.192.29.117", "c_map_ipv4_2":"118.253.106.245", "c_map_ipv4_3":"171.139.224.238", "c_map_ipv4_4":"155.87.193.40", "c_map_ipv4_5":"106.37.199.197", "c_map_ipv4_6":"250.191.181.72", "c_map_ipv4_7":"150.17.59.175", "c_map_ipv4_8":"104.208.42.57", "c_map_ipv4_9":"84.91.55.80", "c_map_ipv4_10":"75.63.12.122"},"c_float":94.06064,"c_decimal":76.0403,"c_date":"2009-07-03","c_array_string":["hFqeKEnyycYzTDxiSggCIVEBXmfMigkjYLIulJrXuugXexAoQcEVUDdyvKilWiZUfrCRhnZjCzAyCJwxRsQkpmAvjODMxFOUMyvAPzhtLKgWXOkFbdChfxJBCRNHxRbBYLITCodAqbKyPIXNgPKfCqlJvZdMiSNgbwMkduSdwIvhUJrKTRrOMmXbkligzFwMwKcVPRWhlFyLPmgemzGpxYfOSoNjpcigmjgkjMSLPlbfybsjfaJhqMAHmxhPgfjGRjWCczxnXkPnbexPpxmMROqKiCuksZlEKUgOvElrRuLuGZeWXLxfLBxgQAUByqjembykEbrpkUaZSuxZAbLcoxfPeZxVXmbjYjLyAxgADpmLJEWHJFLIMztqhbkpHyFYhNWXypNDPweWylXcILhIvwCyWAHxwWQfGXPYXwOpUfCeEhRqNRkZFrDSBqcKqtdaWRLWwCgnJgxsnOuyoQLubZETkvEajeUhrEqPTcZuJZFCleCdZydazpKiDUZUKSTj", "zspNPUeKvYjPLOHfmRYUPfyXufipxBszRRycHxuAMAfbuqMfHIuwRyyKGfLMsDdyIUyLmJrDozpQVpPaPzTLcEobZmJakFLjsFVQlNfYJWPjSsoSjkSpabEvKkMgszsQFHjjfvvHFsECYbtSlKwhIihwteJLmQdFvsAnXVsgFlJYOWgDTlDbVVjPWXlMMxMbFVWASknJeXMFGmzpbTNXTavRUKUyvwGBkznnJoOnulEiblzMxFuUnRSdTrnbXlyRtQgYkgbePHpEWTcazGCaIEwKGTMtPXPYwwDrYkejsDXlzwllbdSuKbLCrelnGRzbEAhWDsKBcgIwFTFwecvpgjlfrNOpaqLLXhAAUAUMYztMWEKtjonqbTxElkwhMMDuAfeYvxmvnvhiIJvWjyuhTTULciftFHjbhyBBaEDvbFmthIGDRSoMLaoyBgeXlRHqXuQHYGDgAzZgWhVqoHQKxrTwUhcMjldrpNjvZMzbdHWvzJWiJsaCdfUfqmsqzoMi", "VMyvgBJXKHJyVDFDOmqSFrxMraLYQtKZuoFRLjemywBDGdUTARQCCvEAFHjiIUYGWLviaWpwOcsXzTfJudlhABTLngSrXEukUGDiREBjqfooIALgJVtEumJSfrnEnggfxtNJQHpechekaRInxFxdBHAKScudChcmARgqeaUlmAAluJOOobBUsPqBphoQzylSKGxDVHKDkVKpEMPkTLqyZadtqSMZBlPztTZsfrEViHKkJyxzwWQwqTdIbzcBGfloNAXsyoSBcgSqbsHNCNFeewBoMfSmMFCLoxITXDygCWVSITyjgwSIoqisMhrSHoxpeQqMpNbCKkthnobCrTzSqZZJZVVuroQCGtQNwgZanFZjmfKJjajHnksiBbgdMGliXUxgSEnsxIKLUSMisMzpJULfmBlIDOnmDClUjhLYnJllXzGkPZgSYtjcWsnTPbxcPPqsbZHoGQRTbBQfGNQGJbYmZbFrBufwJCJhsTjxUNluQLwEMunueWUxriuFZPkB", "qgTvLpvozTTGuFdkBzGiLTMfioaDYGtIILGokuutcOWowvEzGPNymcpEIYpdiWvLeosiBccaIiDIhzhDKulqtwPmvYrfwmtmYsLImNOZsgkhzViKhfdYTUgKbfZxFvdqjOTgfXvzDUeKfnSovKgYhcmchhOTPEhHbXyzCFHkZYWZWbtNgLmNOKmvsIgGtaYwrmJYMXEqptBLayRUNtYvaHhDLiGHfesmgwHBPTxcUttqaZXGrhzylGBcRXddBPcGsTaBDuNXYbIyOcbmrrweQQJYcvvsaArgqIXgmSurAqSglWWRHbFkOXpZbXwQICzWHvAeGRiawWRDOqrOhSQDULZftClJwbQCeCXfhGtvOdQZuNZXciZJaHzJTpcqcShrwHbCJMyZHSoJDvBemTOjAoXJuhbPRwyCzSIeHAlgPHjQgpYScLDYEMVXNRUcdojZtPhQbyRbHEFVsCmOCQpNBuFECqBvbFfrxbiRjKykMkoxlKSIMCHpFzMvWdmgdPJZ", "UMrGwCrAcyOnSUKBuYPvLbNOsnnbnrKeSeDPpMKnikFBTCfkdXAPaWUUWlVzISyeLfTVnFRezuCUDEwhAbKMVPoMzimvIIpmPLNjnZZxKCWpkpJQIPdqOipWmpDhvnuHyYyYKepuyxPvrOyEDxdNvAPDXHCXzzUhPOLjmqVUSFeCSwhkjkiVAaXkybapCLOUgNzSpghEwpSbTjpnSZhSnhAwjayYmWbFeKpGsXttNgSemehdRiwwLZhuYVNhdJQtXcLDsqQrrVLwYokUpizWVlINztNDlqsYAONUktKddZOHdbSjIdvEldkPXMLyMdnbqRLxHrKrPALmQHGjBvKQOsothAVdyXyLmJkIDNLFnLsfRdQIjEhnDKDtiNWPMghMXEneEIVDtTucuDMMZKkPSBcwSTJshudHNLZqmJEGdflemkpdbyPMypNNgmevtMdfTTuaNyzaCitarrSjmwBiCTXrWVBRHtEsemJBuXnBcaKrTWYMEfEWdyUTAWdsSkLB", "ugcbyKFOTgfzILxjlryTzIaiLJvMLxVOghaShYvQrIaMpGJiCXWeoMteCsDCWIYvkxepfVDqeyDniOWQcShPSOoshgIgaLMoZqZuARLsLvUhsJjIobpnqtYhfvRgMDbjiJGIjckmRXkWlyTaeqKwHmdvXKpENOZemOdvlzdzAJRbKcRVTYWgJNMzadIpvsSReSWKEReTPdknBDaXFvpuYadPxlWFYEKfAuszrHARpDQEkzrHWJgULmMnVcBSovxhQfCYPtpKInrqEqiAwdlGWDYMPYQYOubosZzSlwRdjEJiwsxasZRMohXOSMdJRevuPhaipPNBEimRWZAdDSdGGEwCBBahhCIrRrCIYXgvlVQYXBBjoQekvzyNnkiuKceJCDZUAJqcxsmPRtvGzRupnMJgzzBbUAWdcTRlnfYGnJlhBuMYWabxQMzODTRIfzpOYgHLPdBnkEiBiopRwoyOzhQVwLjmplXrYCkjUnMInSdvVSBodFpDHIrNROQhrHtF", "nSALbPYWVeiOTzmBeaZkukSdyLlElZzgpWSxJCqsxHqKqioLfjPOzDxXzujxnHqdxPBJUGukIhiQQSnGvPAakCIHmxFHxfHagcBnAHvxIMJPKhmouddkAbyOJypXBpNFjYMeGpwkzUrYZnXAwTKpohMhMdRQmdJobxBqQYyTPFSNkPdGGpGDrnuGBygPgeLDHzSvuXQfelDirZtoIOSpFbQQZjErZFRLVUdRFUSuxkqvJpMFdgmyEUwobdlOBAKgvIFptjnVtgrYgvYuVJeVzgWaDathBANUiCEuYkpUNRxuYeWVuzuQaNHVSXJIXzMyqfOAflpbNCIYDDwHCUQbifomeDbpnhZdmtoTJdfKlqYFaoHfDhttmwMmQUBWHWxXexflrFlNVKoFAOKqEPkhAMzYUYHNBMwchhaCBALeZfZXgzdMehYvjOBNIVcIasHtntMHlvgAhlBiqrGfPERITomBVJSLqVrIbtADybkiZSgnfhNPfUyoaYuMeMCzwstj", "xUMvfnDtCuPbfacrsSpgLyTgZvPxULrGdXyjGItanZcPPaJlRmbIGcEkiBtrFvzBxhkUtCmzbXPkzWWDifUzaaVGTkudrDTunGajlmYWtRzIuEsSBbbKnZxQHCOpkRsgwAtQCTzaHgSRvZVmfeGbSnnXFoxuHZQPiiNrLsuHpzVHdAMdNrDIIXxkGqGqltlgxkYUGCweJvNxFtMXbDKUCkgchHuKrefqtzasBoRyRyYXVNfJzwIfhDMqzRyWblQOGQrlGBITtPLscbYizYIYdTqkeuVIKFvjCkVXQVrKHhHCmBzsEYAjtxFxGpIeHLHmbKBTirqrkKbqzDBPbTfQThUvqMmTqhqbyAQRLKpJJssQcCWDIpsMiGfYyfvEUTFkTikCfvHATyQWTJlPbyOcNYAOWDXMqintnKIfNoDnmOaHYtiyvckJQNVyiPBCyIXXdSZJmwvIJJtBeIHQVbBSSfxFgrHLFHEnHrscIZuJNvNMWqnwvqohrwsfjQTyuIlW", "yhQSYuzJPMFYTMeMyfxdTfETlkfvmNRkSHKxQRULTHkXcTohXjxaBZqvUlKOgBNwTiDPqvbeXTrZxABAXeuxWzcfOIPvRyLZUAMCwqgIBoITIQAHEbJEeMoMRXBXNuRzejRraWIYKJsjveXxCcpRROnLhnvkBzlRRNcMyXuYhXlNpUwIDroIodolRtFgkuIPwfYyNfcuRENtwiMsytjNRokKINrbTgcqizfDxqCdfbRTOqRGQIvVynSyHkJChmhpekAkCCfCIGVdsRrGhXQLyTMfuTgVLuxSPetKCjJvFFeFxvHtSoafxGsgqDqkzvbpxogbvBeonstCrrToLxTlOTWZEfhKcPiglVBTLYBlKNKDqGurYGvucjvLNWmfBqbmYYqNgbAkbqskyrZMiaUaVjVKeowJvbOWVJvpfXnhrhxrxpkqhWNBAEBPNlqWgIoepOwjdvFhAXwBOuJsRiYJrQHYunhHkbpUxyCgovZoceJpAXxFnQkrGZXkAbTcapzp", "fzToGUpbbHVpNzeeIZxXYeiJjFbrEHyOWoqRBXsedPRCiVzFTVPUeQqvupBLfgNNjMHWzRUWQxUpKzQrGpwmxHpqQtUFAHMPPJgBfnbDDeAQUNMtiBhWMrBmkcPFsqdYUJiaEKbpbLMFkUPfVfDUPVNnikXfbHtnJAExkOGZoTURAyyWeXOjGFMkKsfYAPteUsekmiRUMjxFoKDmYHOZUHnYvyZLXwxoIpyoKUtrdBjraJaBrrWIjqqMgEcSbJaJvNRSiPgsjRlMrqrZTDsOAfxAYGFvevyQCOqBxPXPkowWDRqrRzjSSpOxoogzPBwqKioESLkUeGNSHuWFxsdXEmPGiQIjCMYjGaXPSxQAaoCDxkrcvWQcWhPIexWvQgfpCeWIijKeCFLswBpwlNDYuqFwDVCIowZjJMtVOafMEASYwPmtdjjUXcyUCUXoSiNkawajfykVTnmQTBhecfZhUHIBybcsJNbGjNshAtPvLZXfpUwavrxdVhoIfZroBgbH", "McLXKzjxAuaGmeadqwhfTkbLPOdIKrEHDxUAWmnnwkWnLskLVrGTVKWRbradEjEJPRUdPSIgLGrMcjvOmDjQjPclMKcQEgRIXsrBKkqUSQDngZxmFmyCBBMIiqIJVivUHfzPsUxFGQOWYvVHAqIfyAdxHoWBhXmdJBbtQeSEJytDQpwSxDoHhvwjMTnuTzlvCZssjcRZFBRizAgcBfYjQwAXlGAGROfSyRZniVeDiSXBWeFQTUSkfUAWqkpWzocJJyxpywaiXQwCfRivlqoBEYiWEOYfjWSPJHJDpbFBpzyThIZrZtuQQmlQKJyFbTZlOHraYPdpLrqGaalNvgzclIoUfAVKhfuoCwtzZjUcHDKCUKADFbFNzNzXxAmRLYoNeNqfJXddYJZrsmXjqZPzFGkaOUUBXjEDPoRAAnAkCIPZYxLprGYOILeHWdCGrxmoTJqulzsPyCyqObbAZLZlTWJZgRkEdHZqYcrMoKdmXfJEEvUUzcifABTJnIqzoXxW", "GLxTUdEpjxRiojkDqFKZFIHhubQrKGolUPlTFyyZrLzUfJrgnoBPPnImaGhPMWPUVcNJdoitzhFRdmoHIyUekMuMerdXTisuqSJkrFrPleMYCTxkLVhcgAGPutgZOdwfGVlOifYfvdEiSaGyxytOZpCXBBtBKYNHWOfLbmqSvmuzGRrNTOFhjjCzIXiOXGavEiYdpdrFtoDBBihdwWPvcbQQIrljmiTXkeEdQSmbXjlZIJnbWLIMgYqeAPoHDqlTPNCFDOJBfZkRMdUigjsCsPzbcUyebkpOyWOwfyAtTQFuEGAtEUBWmrgObuJRxeOIcPiqgZXnftVXbfneMBTucKUlNAJGYROITlVMtrHEbvoxBtzWDMPHYcqLFGDcyZORVYhqigvFTSLFmORqplbwjHibFrMZdfWLJWbvxlZXPKbXPPKuKUfmFDpERCDIVtAMLoltZpHBQePkbImSRoaGcTHxZjctJFuoOIizUyAPEgbfRDBxxfAZaWuCONuitHov", "HxORxdovWggoglxCIouUUDzmKzqIRLqKsKhooLgxdURvqGPhIYcqUMRfxnMzkpykhhKFFJFOFXywtbURgicMoaMbgiCHNgzSUuluXtzBORiHZGyFvYvNMQyWeEvRNADEUXUBejTzDnpVBBWCyZtkGqqYRQMxtEgOicnZtPxtSAXzeOAzGAmCQfUoLnjsOdATgRGMTLNriJzYkIAPyGKBzfWXgALMdvOOZAKjPokAbNzcQkYOQSBFzzEokPeLYfacMoBycJjYCrtiLJYCFnpzhBoLAVKQDBjdMUEMXUIoCBkZEEWGDFxnrEJCIiyEtEdEbsPbQjbmIyQzVioqnWSAQSskTtZqNJzXXRrgyvvacLQLPyPuPEvqEpmEaXOytAiLUjFooucGBHrxQfJMfXEpwyxAbcXJfkYWigKoBuzaNGlGtcXNBtAAfDEAoMoRtccBDYcJScPzvwpKzrsaNpTjpNzzSoPfvXnAesadswKHZvxtCBeBRlfLRFDslpTvAuJv", "JgXsZflbjIfNVrefbVsDCKZqYChTuITLpZlwrBWTQCcvQNjwThCBTwGtkMchVblaFKOzHoZBrXHomnLfINOjsnIMDhLwlEjJriZrudBJeJfSodsjcyLznezgODOFlFJwNFGgwqcZnkkBESHOvxqbtaKCETTnQGQYvnOfZQnckEaqhBZmWjqsdctaWaNvAuckiHsdKdprxWASJabesoUailIRbNVcbumCVeXztZGrhOSFJftgQWaDmXsyFPVFHQLLbkQpDXGClQEVLsKScUuGYPFUDvWeLypgaoRtkwgwyslvHjKzjlJKNVFKkaXXsYVLStMmsYzREAmXvCkxQSddLyXAGqqDQFAxxlgxpYQZwdPqTSKmmBYosmIlkHgdacIMZFCCnANNAZccpyVyQOLALgklatqgRpXKfFakhQRIPWhPXsKclIiaWFNwFZEepJpFACeCzkmIgIQddbpjUcyYIeSaXkWiLGZUezlXVJdizkSzOUcfMOUZpmZizRiGMjxW", "WIFfBfxlQoVvSUACHIEObsMQBPudXOvwPccUDKOYLraAKAKfqOPlQLYMiNJdIHZcrwDNoyxDWNDtSKyudawGmBCftXvtgqXqEOWPCafyfpXZnIbuwiLefNnmzgakQQjcsptnTTvuzywiIikenyimpOjclhYUWdrwLlcOXZxpsoXGnrJNHDNlAVjbwCpQNlHfRrlUQYjyPGRQRiQiDGNieJPVdVcijGjiIgdhMVMNMbpNtDTHfRsuxDIfRFhtESUYCHGIPxkAMzSMZmRPNPVAwhSMllALlRuqVEhfxnQBmXakdxMURjYlwxOKUOtMEtyYejIDPHGgHAszZbOfykxRuGIatkpQVjyJApkPFOIDFZevWYYYDczzQwkaaMAIrwnkgsZWLwJwLBDIYkKGLYQCPayGMRenUymHzzLFaUpccciKbwjFWIumSQDMqEcLkcQFNztkisANRPuDTdIiVlyIdzgwSPyyuUgsFlouSdjgUlhGYASTygXqqrDcAawpnjub", "ugxFTqPGhgwZdtqeGKsISRQCxrIRoiONBgnNPMcsCCMEvGIWGTJclRCfvzcQOSXOqPBBiGAdNkeRCrcsUxawanZKBSQWnQSdurdoDcCqZwnkHXIkyMwyiwIAlujjoLKftPtABrEBSYdqDlBSoZmmTeREYilYwgnzqabXoeBBPTOdkxBMrkyTbAhfNgvnKgkmXuYANOyXZlumygltaYeYUJgiANLJPNbxKvICHmNEhPfUUKGZMYqtJnqUQSMcIqJKcQOnVVPYpWBbpHrGLVnaiHWayKQjazEmfDqILmqgMemXJrwTvfVYMnsnWwIvbkQAVTaASufvnIxuoakIYCnMjSaqvImEObtloDcDLRuxcHuzMshADMolPMFPIWVWLJpHrCcaWGJgdHREcWEAWrbhCuICAjNgqRnznsoZhCwXXgopnonXiWUwkrHYUwslkmQgTNfEheKNbPbHrJEGhXHEKCUbOnMTKWZVlButkQvpKiwuKkvpwxRJscOxpHyvKrsL", "sgjUAdVAakNKzVthINRUHwxtdulRmnZxoRqHXKGqBuqNzubdXxQoqvoIWpqqgCpxmUQCkLTkHQbUNHDJkBFdRhiEmjpCFsMhRRhXMAlythntTCNslFOmSrfzdwFffmrTczaYuGpWHuroOwatBQdEFdsdSTaMAmwItVVDKUHltCBBaMFDNxUnbnqmMbHDOCrTteIqpBQtWWReopGxAqCGbPyXtwomvAVtAoBiQltrzXvETnlScUdynrEtpRHcCsnLaobAGQhDmXDxCyvTfEvXvaQYyIVJQcPlAjrxAyPxVZxySggJpEgkkokmkYuEeDtdwSwImZNhXfKumeQGmbqlkonnyDspnmeRbdvmLuwYASYocAXduoyAEkuyYPXBMWOMpVXQNeSNLHdREFVwQkIINJekLZWXTXltaVmIlPerJLkoedFBAGAUZDEBIbfMpOoNzcInvLcRQEaQchXbdzirXrJtYJMsklgWIwPDPyjGKXMvZCiJFDeaTqYPwQYhRIGb", "TFsxXrObPqtRuUJKbqyLPHPNkxpVhZisIimyWcJqchbItheDDjhCvKxwOgVdSwuoAhuJtZHhvSocONKvdrCUiDMrHAlDmdrllKPqpWSLTtgDNlOCZmYmSGTmhQjytHtwuHejjwVCqamYFwTCAJmQaCQssWTxGcNtLwhhRLkVouEVLWyxrCAGTMpjEzdvDtahpdiUvpejhDhgBEhSMTYYRZwTHTDMQEKOkFNFxrawjYRzPRvbjHIHLLaJFjkVlpUmsyVuNqlpJTOIMvsvfEBnBFlxbzJSVNGCpthwTpXVSdFmgFeVjWkYfzcZwsmXyhKTSWvPFXEbLqFemQIhjDjKZmWsmEGomlmxZccajGdIGmfgoQswBPSfmkxfPYQSvAopsnIeFobSnYNZNnGMNxbxOgPiLqeKpXKkafJuOxvNmuGwCUVtZxyfUwtMROazBTcseBLqFasHDsszAVgcseKhZGSmoYwOgoigQVPfoFKgiyKoGnlSHoHjhKjzqEVHefDn", "DkodLZgoljYqkyxxJBCKrzHRnXYlHoNglVFNFdzfhAidRepPdekTIfrgJGWxoHFLTBfRrcTpvuHkfvMtIFUTGCLWrNejIiQxPBJvdNYqIWozvVDBfdpiMacvvBVbepuwrWcDvRxsXMvKiCzpVMhvLWSkmEJkEYyftjvgHOOFszVYAezSogNXTVRPNsRKszvxKSdRxvcQjPyfXcCjPlMfEaHplMPdbBUHzWZNklTREDqhxvGZNYwHZSdlaHvNIZhVMuDJGAWgHROGVPvcpBWpnxkMyugjnWjxTzeYpcRVgfyrsuIBRWExYUtcTUYKlEHzrDojBACEXSxXirOOxnStLHXRgCgbMSNBYDuQJprvfwvMWdwnnmGJfpASdbIeGfGtFjtfppgYIqrofINTRYKJUMPzWoeAwZyZrQeDxPXTqHNdgIoPXVPUbcMczBMnrkhNiboylIOhKkVjDAtjMOLkSDGAsIOpzETCoSFbDnPrDHYQdUxyfYgOqsAcJnhQQxbe", "xOIMaRQAaLfGQBWxNyYyVOgeJeJjZNmETmDpNZAxxmlifFuoscHadjZfqTLOQNMXkpgXQPdaaduJBrOAkpevcqPtvGlpcrkwowhrwLwpKYADuRJExlciyBUqAWeQmnFPsUXpoqeyxtPJLuFrOEsQSqYJJTKVUBaSMbQpFiJneqNzEqLQtYiAyFPeSXjkuieZGoUZUwJAbMhceGSPtuIEHMNBdNBtrIwYnDYbROQkRmAKaSfloMhsxyyMVZrWIqDUUkfxrbjIrQnlFqginojNBIxjrUonEkOyKzQIKPPRUWaerkgKTzMERqsVcXprdevtssNDcOfseDCweBkpbsqOmDFXESpPAybCddCOMWZfHiTaMETNKnjiENmAETUoGbuAUCRBIHkLzvlmRZZXJPoMyVqNjadbnsduTwvEcXnKBlicqYSpYsCbUDvxPIhWRUjgdjiGSNRgvMQAGfITHgGiHWbhqMxtepRvLKHQOIWumtuHMuvJzVBGSydPGJAvTyIO", "pPFbzvlZsVfOQsrZXIBqjgBSytRYixcPmWOnpsJZIgfeBtUcNhbWhSZMfXJmRBmCTdAycxbJXwwxOaGcMbywWDcbpNtvYvleMJOJcVLcpGDKdilxcaYRQfazYlYNlBSvWzqNVvXBNwWzoXVUjftLssHHFPKBxnFcoeMnYoaLgUPMKljaEHYPJmkJgyJexPsSyhpqnMmCdmzTwAMRrPnGyKFVdDhkkaDjkdqfbjClVNWsacObeFrZOiTcktFOCBIrzLchzvHxSHJEyzKhKZpUQPIpJaxmuqZHrOdrDEVaBvCTJjGooBrjpdjZZYNxeSnSKfeOoxILZFAEyEOGdazHgiJgPnCjlouGYWgfOOprGtOBwLaopQoVUQESvJbkZmNNGOCfnyDZFuUPheAuDuNyftVnqzzUqNAriUawubmJiTuutNFmSYRqsDVPoTcheHNEqBNwxyADYBEbLLckANJuROWCAjzRCythflmMvBoLrRjPdFWXcXJZATYkpwDAWlCk", "fLezOlXxEniYZyRWgkZYSmxCdEfYiSYFzZClLfTrWwOdhCBBEJxUhVHmoowMXIDpXHZSLnRBXxnLRPCDznJdwUWPpwoivbxHMiyCOGsUPyXRYqpqRJzYsENPvRNlmWlSLMrWKBXMtEVWlNdVfMuBoJmWGWynlqNLwLCLBiueWEozeCHtJTenZDobdFfoILHFBNvhFcWvsvCZOTecifuYLTwnnZGIRKIkSttrdWIjqOzzwDXczJdwzBOyexmTbbUsqKBZqLFpHDZJXRfxYblSzCJvHEsdUVrehAUWBcQXEfPyXFGhzATyYYJtJyTcRQfaPFkescWQqzFPtwlSGAeOOUrxhJJhrOVAYjMJbnDIYhhiYIrjOxPlZjkaXElGhFvUcONnVPVKGSEWHXYVdEkoAuRKkauUqiUwIHSydGhMGRUSzvUpridPjkyPkZCWMSKhahMTBUbPwGXKllkcxHZGFzffpgBomKmaAqWAsaoZWfKLrwYLxVvPDdVQLimfSTKM", "PPiuJjReQWhoCQxbgEgqgOHSKLvprqxPkyDRTTUwhFByzJKmkwvakyWllUkSEcoTxStBRjuKZdjybauMqjNAZmVONSrVnWhpeCOeUkncAKiPzZUGFcShLpbmcdPojKUAyZvDexTinLFwPYyZeTegrsyYMezEqMpisylkLriFcfjqGvjoLbtNyGDGScTtjEQMPdMEsbTLUzzyWbhuQBShpzZnKdOPZhnxyUOWYnWElDasaOUhldsaByOIqdKylfGNPSmDtbXQYcieQnEhulGdgmVzWlloJPJtHrhkQAuWtpmdODzvQRrTPUqqQzHRzpbtYFtKsMyYOxsPmFDdOrVUeTkjevmtugIEdfprQPlPEiBuHRkAAemQRelSZUEkkvOlIAQJBfZAyJFuUjcpxVTkzsLCmZxJYZFecOvUDHZDijURjwnDcnlQwsouIoshnLuKURqoHZrFMkUuHMvYPAPEFZMgjNgGYoOSXAprdNvjYnrGQmbnhjApUaRUPzagKYWB", "udHPolvhxvhfkvMjyJvEkXliNpusjUQsNWMxRekKeGLzmcbicjnsilnifynacNzihmOIgdiaxOsTDxvEpYqNWmENZUkLpEFfCAHKEkrHDoKVwPRvcyzGipbhdpnmVQwBozDHRJggZqotOHDJcjEHdGHNAgbHArlvUVXyyQTNjpQGhuMmvSgoMjfxYXWIAYhfBpJkVPuAaEiXZiDrkyGVfTBBQLpeDsDmspkMGqmnKSYZvdHSuNWxJnqbBNJZjjjyYPzNCmzhhlusBGyXDuZcRgoBYVXaHGHeYhJfkeXQKIRcnVaqMUTlDZPHvNXKHNLOKrQGGBRMmUizXqZAedYDwfMTDHhQPheeAIFCufaRmoUnrOyrNinuoDFlfOHjCAeDZCMwaLviBVazHRTrbSwMzKDgaaWLfbgSdJYvaoOHKOsxdircZqipPKJfngDMHKjwTRLbmCNnBbJhWtSQBsnhgzovWdPUCCXuFbhrAjChdUCSGuvidMvnZwGbnkHjfrqu", "MPcdPvnehXjXCCvpjjOIuPAosyJsSSiPUBospvRmDVWNezwLEYKrNHvHkRDDyASisqlGtxfbxdhCkypScoRmoYkvdvutFicGTPKuNGjDfynzFosuPaPOIsrskOTnfYboTuFEhDknYSJXtOjmtbDObkjxgqVMEmOHFMEYMtJVEcPbgLCcnXHnCTUqBBhztYXHBGCLdzEcQdoTQOmtjsjwPnxnJuZcBlWjYvzKWuNPgHbSnBMDizDyulewozCKvMYtzbkZUlyUWxXoPOkvQDvyaoqSILwdoadVNCvclWmAlVQBThOLjrQCbSDiGQRJifmgPYUrbqTQdMyoygQVKkKxUblumalVWZAmNkjyskDdUispjlkoTcFQjMavtvlpRkjGRHXqHlMKtJQTspPZjlXHvmqWJPvYAtmyAJitHqUVtctmacOZioJvNluuFzJPaSDEYjKHKeVoGYBqRujshXOUMKdkOVCrFWcXJABnLnxlsbyjAjsgCRwIAhLwhLBSzFqT"],"c_array_datetime":["2003-11-01 06:21:02", "2006-12-12 21:30:44", "2000-04-26 12:24:26", "2017-07-27 02:23:49", "2016-07-02 03:38:00", "2015-11-23 15:09:49", "2016-03-03 03:44:39", "2007-11-01 10:43:33", "2002-07-20 18:49:26", "2014-05-12 00:17:56", "2007-05-18 16:27:38", "2003-04-09 22:53:54", "2016-01-01 14:57:39", "2019-09-24 23:32:11", "2003-01-25 15:09:14", "2000-07-11 00:56:23", "2009-02-03 23:18:23", "2013-10-25 01:59:56", "2017-07-10 20:53:36", "2005-11-24 09:21:07", "2005-10-07 20:57:54", "2016-05-19 08:13:03", "2009-07-07 21:54:07", "2000-10-16 20:50:53", "2004-04-16 10:01:03"],"c_map_float":{"c_map_float_1":36.747204, "c_map_float_2":25.089394, "c_map_float_3":42.480476, "c_map_float_4":38.98643, "c_map_float_5":61.782898, "c_map_float_6":91.03495, "c_map_float_7":49.02569, "c_map_float_8":22.636965, "c_map_float_9":53.57462, "c_map_float_10":32.518677},"c_map_ipv6":{"c_map_ipv6_1":"c4:4cec:60b2:c0fd:38cb:7718:5239:7c76", "c_map_ipv6_2":"1b7a:9d1e:c863:fc1d:b994:8481:1be0:e543", "c_map_ipv6_3":"cc13:46e7:2485:b45c:e406:caad:6228:9b2a", "c_map_ipv6_4":"4958:b32d:123:768b:b7cb:5948:89b:6094", "c_map_ipv6_5":"9a24:df04:44f3:2ba7:156c:e55e:ace6:30d9", "c_map_ipv6_6":"7dd9:4140:ba1e:8738:6929:9dcf:53c1:5ad2", "c_map_ipv6_7":"8a17:79d9:6918:d321:87ac:b960:63b2:b226", "c_map_ipv6_8":"8939:5f92:1590:4f42:d01a:5f1f:7abd:a05b", "c_map_ipv6_9":"32fb:fcbf:1a8f:27ba:ec0c:866:8d1c:3e20", "c_map_ipv6_10":"5d4e:4cf2:95c4:a640:c53f:5988:f750:5b38"},"c_datetime":"2010-02-17 19:36:14","c_ipv4":"54.203.155.87","c_array_int":[-1788653801, -12971828, -95016455, -966210135, 466646543, -2084291784, -977848989, -338735234, -1329121364, 2065986198, -1044896440, -2060289956, -2048447553, 387024765, 848566056, 1989033289, 1462473534, 1962438770, 939603597, -228059066, 520467241, 1463260960, -689439423, 955263527, 278216218],"c_array_char":["anMIDlIkEN", "srizMtqRAk", "FolJyUuJtR", "oVvWPdGxkc", "PfDAXDZAKy", "hJflcbpWzR", "kwxisIHLkz", "dtBZXKqkVj", "TljlnFhPbD", "BQmLyFMAbg", "wCQnTCNReQ", "YWYcPgmhRf", "xVziuyeYyh", "wAmCjRWUOa", "LnHhnGdWLz", "gClIaPGEjB", "ppZMdUaUQQ", "xqyyRlBHaC", "IWGkDahtDg", "lriaBUhpTC", "PSdhGXfRdV", "JuANCoCqaN", "SivIPzhLno", "nDrEzMPVke", "LLXcHrlinL"],"c_smallint":29944,"c_largeint":6016188733332403125,"c_ipv6":"f723:8e08:2d1b:d53:455:fa10:71f9:5d62","c_map_string":{"c_map_string_1":"hVHxVDEZBKUOceINSuWCPBEuSpoyPuXspZbdvgYbfNUIeGVolCXyApieiGjIVcJDIGgrEdYsKBLfnxgtcRfzYYbjuEBckIMzJrBgRZkfcEpGRXCCHWOLEgKsWdPTQGqcwuyiBRaJbMWhXGjsCKbqJUBxoRORIXawWTMXBTAvJUbRwAHtOHFlWrVBKQqzAvoLIqIuLfmDVbyWrXQldcsRkEbBCehpeGAxewrPpShwEWusSHEeVTQWONvyfEROCUMvGEfduGOigoCqsWrYhQRZQPUhSlsGMjhjEceljzQexnTzAwxeuZYSXcULINaxTdldbssZUJLZlFwOIsDiTETQPMtOySGKVRfgzqjKiTjUCroTOsmZBjIuNNAdSDQbpXNjbJabPxaMuepuBNxqNNJvCAGXOnGHKwgitdWJNNozxImuPMqkUBLyEgxfpytGXEcroqFhhwfUoZaWJCVwOOjgPLgvYvObATpEEtATqiEkUBaKfpOlwKvYKVuTMRPrQgvp", "c_map_string_2":"mCSBPJlIrVksCMJFhzFctQaTATQfRXUmOlGiKUWNVcwBPipjZTJbgcFnBsAuluHbwOJsSDjpSzkBtHhFuLBOYcLzrXWRwJfPrOJCQfoAAtsWfdEQsrwiNRIBaAzBIByaLwJgnDpIrHIsXjCGBICTVWgOBtQJHHdGDYqefGFxrIIevrGskaRXIaKYxBDCGjHnzkWWFHLusBrDNfnwYnSlXshasbfkDQuilXiONAZCyUBBWKQrgtlyhwBbOemiUbSSDXvRILifvztxmEGreUgNyzGTCELxvhXhpPPiTPBwErFPGZQYmMHDlDiHOKrofpNDtaKNckLwiauqSICSTgkIuUfNixFsbhqjMHIFYJAuvtAseMkpLXJwqkWzTdFbPXYuZFGVXHGRNiezGrAXjgHglhKJyLWBwAXQsaLmJCtedYFTHJtEWvBfVxMDxCQnbaHaYOywboCAECGzThURkUsOwZyxzTzpPDjWgnQgWODnWsDnRjEikibUANxMLUKvXkFF", "c_map_string_3":"QmOkZdNCnKAcyysTYFaRadngHnywFXjYgfZcxUXVgECmJucUZayDXQHipegKXaujlJAsYiZMCUaXaoYWbRynSdWLTiyahmAXdgCsGtmbINLgGAQYTTqJctJBXRgEMrQzYNVKlMDDiqUDPbfgRRessaqvoCGpnbpnlKwiFkOLtDMWtIJnYRoBsfkJKRedWULkSAxRPYCRKierJThbXGDPxefLDyheQGeMnLASlKYIfGEgiyTXTPvHGHkKpjSiYPHnyEBvFYfjEEMzelLfLVULQSBdbGuwUMupFYqscbMYwmDrPtJbsfejrsbJFpbdmkIjmyuZKxBRHFCfiZifbuhWLZUBBiDPbWtZvzbXhNhPSihLRJmsViYkEueiLZmvfKhLNbbjYoLfrdGcndmtnQZWoRNmEpVTRMmAxahcMzBtoqGIYmJqsDZHpWxJqOqzPstCZsjJIJaCEvIDtDPwTAqBAvSyiGYUoQJUbOfuskqsRxseXtUyUyGVDEvxRmrABoKG", "c_map_string_4":"VGfCPpMCwgNbNzlnKAmTEYOzhekwdJNDgaLvmYbqijhWfWEHgfNSQVSCPbxkdUiRrGkiBOVCSMJtlpJpCkrJFlsMmqakSDXkDozIiSefuVZjkkBHjevCzALWFpihksHQuqOyOtTtUJHhFUlEvPKzjzVsnGhOVzdDvqIKsophICQFnAvPHwJMwGtPFJDYACtRaDNOWpfjagyquWlqKaAcFHLgViJrZEDhfKGgJWrBpgsLfLsotSSQFcSzkvJWfzibpKmdblNOMTPLqbMFuxctxNDaGUadmsqZHmLvcUICVshFGKEkCkhJRXHXAIBgJWsnhNoLtTBIvtSRwdvfRhgWQuCuuWLJfBCuuPMgGNQmxkaBRWmranYQtqKCjMnxlshNUlPanTTVUqxHvSwSGcujLWcOavlYVfldRLYjAEAzZkzqlVBclTxrjGWxXuOMpAidpMHSGYYIcrbsCdDpJncuJUkGKPJftSlcnGDnQoIvSsNipUMhOFUgMVsZNeNSQsBg", "c_map_string_5":"YCesvTzQYfAWYPpRSUmPKgJBZLyyDgtfZhadcrdMxZeIhCmoyQRNSaYlNBMNARjkSjLhLKLVILgWfTwFdLzERqUCHOYvejmfkiDVgBVgeFYwusuzpJclengEeRYuljFODwaKvCEPZwVEDPhegbrouAiJIZDTmeOBXisnxHDRtJfFVbGusVbOXElGtDnssbFLYEwMRTCmJqRJYUdlEQtyeZwPeoPEivleMTIfrQYMDhREOxXBCQfALjUpQKQStIRxvtQFxZDcVFPbrNSyxqDifyuSSoiAGBsmmCfMuRqwwRrBcyNGpWxOhHQLuHOURIrdHsKFEAEwPXYtTvkqlVmEUdSXhRZumQuVOASVtMbiIRlbRbFgDzFNRbRYGKKvCulJbLdyiooSkwXASdTMOmaXMhjWjfuvWEGCAyMTWRNiheAZwJrJqGYGvSFhhqGzNTgCJzsfhGZmNtAssyZSGYMKVWGCqAviPVIXctxqzWpQASfByekMNUrKjMcgGfZdVXhj", "c_map_string_6":"yYygkHVclXGzoPbLmxZsNLARCOwuHwYBmzPmIZeVcNTxkcqNiQjKAQIoWGFVdyvoNveAmtduubhEUYkKOwZvpXcemwysewJhVzSGqfZfbAkgVZsOQbumZdNuJREbKHgjsZIYbrCppELixhigQQSVyoqewoqmqImfijfzxWXaqPaEtghBjVpISFQiOnWVBWWOTTmLUUqbgskFHzaptldNlLdhPctCdEpeHOqPkqToPmFNLsaXACMoxMjTcDauKgbmquKJyTVGtwyypMVPhTGioPIZBDjWvgwLHIOBmTNuESJbIbdNTsIJYiVLxabZTDqVCaiBeyURVLliPJqaJfqeedtUdaZsqZtDeHeJgdIYpZXxRXofFPUBclFHCMWCuuBRvySJXsVIrHHxrgcqXtcJTPKbRGpvxLJfFvwrsvbijAIDPNOJxkdMIROuzmVBmTiwDpmLZaWvvGsKkmdCdCRutLBgVFUKkJwgKtQfAJLljTKvnLujuinxvQcQoWaIoCiy", "c_map_string_7":"lQNpGnuVCBAKztEIguzDYxfxdCFwEsYVinCOOTMlSlcsUUhBNsjPZYLiChMuCHtbwqUagmnutLSuXZOJTojvMrxAfDLbOKXwCeNJAudghQKkIDSoQGtsOKWxplJbHvXYQiBQKmQHwcnjswIAWMpZQjqfrLxIdBuCIzRaRpaDBsYUeLSJUeZglRatqffgFOFgoVDSRlWMcdcCNUVqDNuzzAAliklCuHKfLCCWFiQcoeGTUVwfeXmeQSKaNqhDXElNaOBkdsvAedGpIfkILubZnmcbnDkKSOBzNJMariZWYYojpReDjENxEprofRsQquDGHbHovLWihHXeSatPpGXRrvyMBaEGXTscLfuKMYKVnKXSXKTcYgBbBRCsgtZMuAIdqLOKnIfMkhvsotslCgZnjvFqUPjmlEzDQBbSfoWcoJqJzjeLtphbxMlKUosihmbgwYaZqIQHyMjfQrRigelqZwjsXUFGXALfBPuZXzCiQDUmTWbkTMQcbibvLKtyQbNM", "c_map_string_8":"IircsgLFEZcBvABecAZovtXxLUkmdZmcgzZKGkedGxqHAOupxJUqExzLGCqrFImMDNFHfWvbCzGJmcYmPUeHQhCHzMUbYCjCJyvpsRyWsnbfYQBusNObFaofSKQcPZsroXfvrghTkcUmyLERCAzwtIvQFZSvdGqbaqVnPdnJlbMHzRzPGjHkPVTlHtdTmeyYvRdFXqzqhkspwAWHbFXNgtDZIIyHImMKGiQsJWYyFRfTslDTxoeANtCyNMahnlBccMiBEOLIPPsrCSzmcDFNapOrMOSzvVxXMNGUwcMNnVcjtaNKqWGsUAtvZzZcMZTzOevDUkHvtKkTbAfWbLuEqtNonEevBBiDbAYNQbtCwTEOczdnFYDvclxRECnoujTbLxlwaCjIFyZnUDiBnSobDxyYEwcyZuesMIAvVueGdhIiQzaPwifWmFPhfRdFowtOGGfdUFvzDrUyYkqCkyoyKGmplHpiBrHQgjJKwbIMQZGzLxPiEoWmXnQcGRCCWLhY", "c_map_string_9":"wmzwEMvknbmExmjmeDlYvGQDduAyqEMKxSvvwIlgAcvHLXKhdfPXAXSPIQoJapMVYRNLmdFwtVNqlRCbTKlzzRBIrBJixootPjPDGZUNBntegoojUeUzUrWKmRLgTgyyErSZoTscddOPBLrvhGBGijbTXUlokbploLxpdpOBzlYHRotyQQMLiybaAqniCUBPdNvpzKWfgBoChjszDeAkoaebtbtoyCXnCmrfcLIgFdtTGWYjUxLrBYXgrEimiAWcThwlaHRQenAjrcfbPUalUaxfiWdMtlzjrftnPoVTRKTRqqTTPlGXYpxfvIqEAvPuiqqsUbZNknNLrTQXbdNwIokLWOpweNDgBsUYuoYMEpWpivefVIStMvaQutpbxTMOLFoiHsaSWgYvszmiYfuEyrFteOkkPZQMhGcUvURYoylVuDGGbkmnSHIdmMJRwaLynUoJEKutSfVfXWrlXcdwlogylXiUfYHyjwLRiALsXOGeNbTfrbItOAhIiUUgKmFT", "c_map_string_10":"RUDOHMnWAtErehCgjYLfyPFBeHbSPcmyjFVaTSqccnUPOVVVIbRykpjTeevZnBydnPIjAJhRiFVqgnKFrmXJCmIGyTkAehWmIyXgsArHVicnRqjPegUHIdFdAkJPcXeUWXoQSKuQZcKwZKfEMXTVgiUwFDVHWFuhmERlOlVIPmORkkreoRERdbVkUPLaQCzxRkcgMjbPoFUvSKebVrjzYhBsTUwTzSpFdElazKPUHMUSvjBtYdbPkTmnqHAgcKKNjyucnkUEKijeWflRaaknWOmBtGXGStJZewLYSdtAUWANOMdWgOsusTHUxEtbNvPRvmodkdsRTlrSGfcGYfMYsqTZJjhHUdmyqWdcqsQOzrunjxPvKbHvpFoCapdTIVTLsBgPzWyhbSUSjTPfcDDrhWdZpLiEUIUPaKqpwnctTHEREtruAnxTYHkrDnTCixHAeMzpeWakTjtcmQCdZJfYkluypofCBBrwvnTYiSgCZjGpLPHApZnGYEQbFqPQslxe"},"c_tinyint":-22,"c_int":943190026,"c_array_smallint":[-24511, 16200, -29912, 28209, 27105, -15346, -29900, -9403, -19412, 24587, -20630, -12011, -24352, 14250, 32247, 24818, -21166, -16280, -12405, 28562, -22710, 16206, -29830, -2650, 15416],"c_json":{"drink":"Milk","beerstyle":"Belgian And French Ale","celebritysport":"Asbel Kiprop","car":{"type":"Pickup truck","fuel":"Electric","transmission":"Automatic","brand":"Opel","model":"Stratus 4-dr","year":2001},"minecraftdye":"yellow","firstname":"Daryl","adjectivequantitative":"substantial","day":20,"pronounobject":"them","filemimetype":"windows/metafile","fileextension":"txt"} }','{ "c_date":"2019-10-19","c_array_boolean":[1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0],"c_map_largeint":{"c_map_largeint_1":6041987087273089561, "c_map_largeint_2":-864719724461657313, "c_map_largeint_3":3051283282297566356, "c_map_largeint_4":7790488744350759247, "c_map_largeint_5":7253860483450701977, "c_map_largeint_6":-6045866155275888238, "c_map_largeint_7":-2690919279523865268, "c_map_largeint_8":4744284462861834864, "c_map_largeint_9":7196246492681712559, "c_map_largeint_10":8327005516743331214},"c_smallint":-15023,"c_varchar":"so","c_ipv6":"223a:fa44:c2c2:70a8:32cd:3d4f:10e0:dd81","c_array_smallint":[21790, 16313, 22907, 354, 13413, -637, -29210, -28068, 13410, -25614, 22076, 702, 20552, -20742, -17665, -25731, -8485, 21646, 8240, 7051, 18740, 7611, 26011, 8341, -17493],"c_array_decimal":[14.0450, 21.0362, 45.1866, 58.0166, 5.0945, 60.1599, 17.1734, 4.1578, 71.1096, 96.0839, 50.0659, 22.1937, 75.1323, 91.1531, 62.0888, 82.1160, 34.0058, 62.0532, 56.1378, 58.0942, 24.0077, 43.1560, 13.1136, 68.1221, 49.0475],"c_array_datetime":["2000-08-02 03:44:57", "2009-01-06 03:57:13", "2018-07-25 05:12:54", "2018-01-12 10:48:31", "2003-06-19 03:03:19", "2002-07-28 17:16:21", "2006-04-23 14:43:04", "2009-06-24 11:52:59", "2008-11-05 06:19:23", "2014-01-05 00:25:04", "2004-09-01 21:32:57", "2010-02-19 13:38:39", "2008-01-28 14:15:39", "2008-04-10 03:04:10", "2001-10-10 15:35:45", "2004-08-03 06:25:30", "2005-09-24 03:41:07", "2016-02-09 20:18:46", "2014-10-10 16:31:40", "2019-05-10 20:43:01", "2004-06-24 00:35:20", "2008-02-01 16:33:58", "2011-06-26 04:44:43", "2010-11-16 02:07:24", "2007-05-01 16:20:35"],"c_map_tinyint":{"c_map_tinyint_1":94, "c_map_tinyint_2":-69, "c_map_tinyint_3":72, "c_map_tinyint_4":70, "c_map_tinyint_5":49, "c_map_tinyint_6":44, "c_map_tinyint_7":66, "c_map_tinyint_8":69, "c_map_tinyint_9":92, "c_map_tinyint_10":64},"c_map_ipv6":{"c_map_ipv6_1":"c780:ecd:9c42:7c70:cb0d:2223:5e6b:ea44", "c_map_ipv6_2":"9963:4f2:b2ed:8a6b:e4ea:9902:10df:f990", "c_map_ipv6_3":"b21b:16aa:8cd9:e3b7:b026:25ef:8099:4a7e", "c_map_ipv6_4":"ecfc:ff79:e102:54a3:2898:c9ce:487f:6581", "c_map_ipv6_5":"368e:9e2d:7ff9:8226:a0b:58cb:67bc:5578", "c_map_ipv6_6":"5467:6415:43f2:9561:33cf:14b3:a7b:d59d", "c_map_ipv6_7":"2749:c91f:64bc:d8d2:efb7:21bb:c658:dcd9", "c_map_ipv6_8":"3e9c:eec1:7565:ada3:4314:5b10:bad5:1960", "c_map_ipv6_9":"6475:497e:83f:1dc8:a21c:f701:8d05:94eb", "c_map_ipv6_10":"3246:3bf4:37be:25fa:bbde:20d0:ee96:269f"},"c_int":-95869399,"c_float":76.52566,"c_array_ipv4":["ldwfitbepo", "RKehEDcEqs", "OexHjyYwAC", "gSLKBGwFlr", "lccwHrMBou", "posegJzyeI", "zvFAIhNlCK", "UNyRQYiWrX", "MbnxKVdyym", "IhrmbamZQu", "yYkqafiDqL", "DtehKpTYvg", "cUetUysToF", "hHpPfbHGAd", "kylsiSiWuB", "RSZOUaeAhN", "BqKynhgtHO", "vbpTXCjflw", "FGiEdpkKRA", "zmIvgYWfNe", "SrjbHSjqSQ", "wYXrwqjKZp", "yDnzSdiwDk", "FlknIZDBfB", "FBrnvYbSUb"],"c_map_smallint":{"c_map_smallint_1":15622, "c_map_smallint_2":-4980, "c_map_smallint_3":15448, "c_map_smallint_4":680, "c_map_smallint_5":21903, "c_map_smallint_6":10577, "c_map_smallint_7":4447, "c_map_smallint_8":-15541, "c_map_smallint_9":17055, "c_map_smallint_10":-4297},"c_map_bigint":{"c_map_bigint_1":2480105601055048581, "c_map_bigint_2":8283003428956727524, "c_map_bigint_3":7525275092577842963, "c_map_bigint_4":5008347636018226219, "c_map_bigint_5":-4926051397165771584, "c_map_bigint_6":4146482908225119523, "c_map_bigint_7":-7623287958177944604, "c_map_bigint_8":1066009437504749971, "c_map_bigint_9":-5330499931750634654, "c_map_bigint_10":4563342896952711826},"c_map_float":{"c_map_float_1":73.254005, "c_map_float_2":85.680115, "c_map_float_3":53.270435, "c_map_float_4":96.435196, "c_map_float_5":48.088562, "c_map_float_6":68.39783, "c_map_float_7":19.054186, "c_map_float_8":28.154013, "c_map_float_9":61.63391, "c_map_float_10":56.702927},"c_map_char":{"c_map_char_1":"kDwyAZvHjo", "c_map_char_2":"DqkjshlXje", "c_map_char_3":"gYgAmLqVwY", "c_map_char_4":"jSWHRQkLmi", "c_map_char_5":"wkbVZDzoCh", "c_map_char_6":"wenaCgqkov", "c_map_char_7":"CACWBUKdiM", "c_map_char_8":"iTEtgLlmSj", "c_map_char_9":"VmarMGEUjY", "c_map_char_10":"UzTFdBnNns"},"c_array_varchar":["bfKtIxrSnBPzQsLdYhkXGbLnirBIaPiitPIXalRTswhkZUUUgGJwjCmmIYpUETsMKzdEVMUoiBHUuxUWyFGhNFJEPjahJDNzIoHLWymdMyHZKeejSinKRqIAYJxwMAXHoREdvQVzJkSzBjgDfwvQTCKEjcIvoFwqZsuGgZcXYwIoIsvLnZPzzoYKQdCwInZIhPMsTJvXGGtcVftbVUhVdhlNzFDgXSrdlOIxzDzMXHTKOxZNiSNUjzZvLXXQBTJF", "zggauMbwhVsrCberSxCUAHXjiiZGxLrGoHrXthdyiqxGkzOrChNPPfXIfnAyXUmybjxbnWCcrZphDGWXqLtUUgzfpXSaCksoalJWWwSflVcVHjgqwRpIvLNmdindmiaElITLuVCnFTbioYAPwNJQRKFlFhGnFJYuSixeUQgoKbimDeHhmicsjvcELEtfqQApQyEXQqAvSCqpEtYKLRwAhjGwgMwEeOyeuWIriHQuQUhqbzQhytEEgIsHNicGnqLv", "OEZOchLGhITZQLAToutXarMulrKmfPabYrOnkTJtnycTCdVHxfhgwnAcIoQpZhFLEnLFbyulmMQPLHXZKfiZrdCvjxpMKXOUFEeOCyakUCbJZsXtxtASFoIzxUlJQCucnXGvkQrJrhqPeuBdGUGyprVtqJuLDmYwQeygGFjGQtKUYfFcoLiyLbUYciBFbpYDgVfRObGmeSNEvUCKJcUSfLnOArIslkilOmdVEjUrFGWEOqIMjfleGsXIroGczWpX", "heBZuheelsPjRwHMvBvZgNRXdMPOyKLNRJEFvgMTDhHeNgbyXWxrpByHcAsfYTbmpclFWQqMJxzaGcVkaVzpNWokZvTrzTpTEcNuzdQXmzHypjwUYHZbEZJZevsftYoEUsMgoMLQFODbbADNQUoujsGCSfmxGpksgfAUjsmPhHdlUuKPDIbqoDzwKHJdkicgnYOswYMEwzsBCnHEzxiEmCQxwjRMvKcbKYjqMZgOTpQRDPDGCGQHrYaJxOdNffDF", "ukfbhXqVJdvoCwugYcAsuoltJtyUZhNFqLxDNFdxUvlywJpVolrNgEYkMfkEXNOHHecGslnhtpEHxdByJUQwOqQtqoFZyknqBKmnxqvoVyKmxGiilnaeJRLRutyXvuMJhowftdCMATjCPgAhNgqTbrpvPFsajfCRldRgiKhLLlQyELGrPNIoGQynNUkJPsSUPalYssUcuMWuofINFrvHoNRDZYgoTYiKHdbmTaNPqOEeNZXtPLyURqMaTxecxkTX", "qzXYHJOwrOreovEdIzcAxPEzuunBTHUyxIVEXBqKOqLQCpVyrGcFaPJLdwdikOzGboRuSBahIXfSRTuaSNrMYKOoHIJLMkSIeiDYpGlVHXMGxUITWPQTVbppEkXemSpruaLuVWJylgSQNnVRVdAWskzxaCjtVPGObzMqDfSacwTyAYTmQgEYfvCNZzDzAlohcbFndcAgymaaxkcQPidYSCnxeIBDqDKgKNQZKpLNVhlkWzDLBeWSzqLkaoIZqNYe", "kczqXIRTXJTcNXxMdvGNrylEeKFhWHDLKmIjPgqUCzufEUDNAujiKnGANZWQQicrOjuoIIzqQmrbkbcgDdcmeBEHkStGfOQBSLVAFDNXBMNCHYJSlcirKnmlQiZeuykoFLMKYqNYZfJIsyRuplqeAqzerlsEovhKYxKLYLtEVbVlrforvRQGTevZUXsotXffmXnHTVTKIviEaiOEIGzPIyKxAdrWjcVrlmgiDJgfygBIuqxkeNSJrPvxWPQaWFYJ", "atPHeiWqyoxtWhqRuAHBhhXGNDdJWrvRtNIXzEQycbmUomCVAmKIfbhIbUQjpOTWuhcVGiSEtPzBqoWFdKQefkWBEyrkLHwwuCOtZDYxnfSdpjrDpbOkHVQIuuBLbPXaJCBCOJCkaOaUZudibPeKccKgEqNftUZjFmzxmDsfraMGSqNUKjPGPWlImTvoCXyngAWcLANYDpScSccLYlTYPpjRgrimkrZbbIKaQkPawIPZsMSuOIYBelhWoyuFhlnN", "DLdTwoAGwTzznAnHCpTrJduLMzduhhvsxkeuLYjLWTcSJVuohczeSUZnsCFRCYMwiGVnXxEZlXmOQnnVxRshZHCcDhDyKASOlEILevYJrQjixZtkekevQVuCFunkSMNYYASFSQJNAAmRAGPXtadgBcHKJzXFMtpZMsynssmwFUrUoFZLWAgCxExYQmvMgChBdvtNIcjKlteujqOgxQjXBxHXPxRdwYgaNBDSvhAWsCZwThojyqMKFDwRvroSUpRP", "AUOUsiZUIetgqmsGWvjEKEBaCDbWknxOznsmqdMZAytUuNShAyPEVyTwSsuIbpqwGHOKKJYiHyCPINwTwYKpitIXiOXrcjdjjnmruyBHdQLGgojElLJmJNpYmtJotJlfyoFCRTIXCUCUerhecLTwKotlUbkaaRjbMKPeFVkUHOAvyMFYYOBTxPFHQIQmiJKszAwfEHRTPOiCJzHQkKfXjgggpNaOkwuEpAZwcVhuQBRHCXOATHsizBTIlHQGVqMg", "SZVZXbLNOuUooaCScRMVrZkelznjzTsvDCYdLxWnNdonDwNNrnuDKdkkiBvCpFrsXAvqTYTsvmoUzToEaulrIlCLwKwfPjMHPkqJObGIcsgMUPvkmGjLeuNHpvGmQWZbhcvZWhjEthUNwJGwffiTZnwSunogNpNHCTTuygCvOnZoDGztdKQqgjOErCSDNgBMxoIPAmszyKsshFMmyaayCBwlpWUkexNiHgVFHXYzRgcxKuJQciTMGXdjVSuumzzS", "NrzKKfXWWEPkFVTkyTnYYpdtFsUpXAjLucWeLZXWrkCerAolomlKxVMwmUzUyVBURIIcnPiGLsCeVvrNUYqSeWAzNRbPiAQVynFULNMRxKvQDjcBSdXrNfHWFPStEEzkYBTTsCeAqRYhaHhkkEyYvuPOjPwNYbzaVTOtFJTKHJRfANaiCtBgwGKkbZwVoBQYUnzkCTdiPAhziSCCVZWBmPpOifhDBRrHvMjttiUxALvBvmzGiSWWeqFfRGFAMyZI", "MDFFBznbMCqSPozMGPfoYsHjtyahXEVaOhDlFuEGzIrclbVVvOxPwLrLNpvgqTuhTQAUKTAbbIcgTpxcIZDHjUqbNzjhRwjSUXvuywpthDakXlJgHgvmYIOJhdUNbGGAzgKcEMVweUXLLkXWBqOiiUuBOqujaoZppheuLxWSNNMmVZpHEbUzqEpWBALBgTxIAWnHZHQnrKxEErQILhznZHRAjiXlmHndotVlSVWCVpdqRhLcvrzQjIVHRmOUUnEw", "jsNSXfabchtEqTialKRaeFScYPVxqmZjYJLEAIipCzHepgZmvqMzZOTeuupgeiTugiogISrFgfjcuYEoatgszYyyVZQyrrzDhPQQiLOaCeluDUihbfsyFinpcdotVPjYIMvDVxPAClAZcHNwilTmNwUeRwcmjhDZChcdoJVUWOYFbSMEGDpgWVagfkDQvNrvZRJNinkmUFUNUsTjzrQlLofwrSjnWVZOLPPQiBZruVJExSEtdbMlBxUWhDlleirn", "PaLDxpuwXlLhBZkDJrzqzBjcJpaRsAaYRJXoKjvnxIESueDCiLOSUKjkAxTzAJsjONBAJbZcMvnshwVGvCJrzfXTNEmFlSwPEmeQgXEpprpDqqcVJvQAvdZnhmdHWeOGvAKahKGFScAhjkJckMjHfVQBTYslezvdNgvRJxSfBrDqiqYuhWWgZsXdiYRZldDbmIALpNtNArZUVppaMXcKSCNErwCcnwyUvWbFChLijvccUsSGPRePOebAAHaARmUC", "HHeYiSGwctJYqUVkatnIEibmhcqSAVhEzJqJriwlKnnSJpRmmmqhpLvMIiOReVscUKEquYwUIcvDUByDpsItgdazeGWBZaMlElVoIjltmFgztfXOgRADmfDeiWKzVhlDYtsiLGkxavSVUfZEcYOgfVAMfVfstGfdioxwTVLvZyaHQoDaLMvDHJszTQkkdcShbnAPbTqZKnqtuJOHzQwyiAZmXJUXlWpmZZRFfIRAXmYclAuixeDyEKjMHErppAJw", "hMKvCLChrawuExRCcurqLvepTxZuSdeJUPPGrWGlaiHvLlxdrpCGKbbhzAmwDeTzTZhyBKiYVJOvMdCjOIyhZtyAZcWCNFxHQqGVQJJVbWlIrqszzEpgxktcvmAAOiKiikRoFQPPcRSzJBTcqHmsPJvZLDVXcNogmZOAKNlPPTlGTGdMgGFztpsUtlBSpBMipJcrLQWcHvCHSYSWgxnyPyIZieUjxycelJfJukJoPtwJGDhrFixzcusVueIxjtsy", "IUeuRNWXaYtZbjbdaPaKYklvTZqZCUjRNkXfnyenQtBDEjEoBUImxLMpHwtRmHtXxmhyzNnTTxazRSyqCNoddfeliBlvzJEWeztOrypLiatsRqdncReEEapkDAaoiwkdIKovuTmMUsQaARncUvnYooVkmjOMahFGdyTdPhQViSrXJFEWGYllIpbyJJQYLnIYdQWeGHEKEMVbMQwEgPuKnEDwnEQXMMHSwOmjeMJRUTpSyGTTNPgACFkCymHaEgAs", "AEpJmvDxVpakvEeZuLmUWkYZALVtdlMYgtRwSOPjHCIfePPYcMlcvICLWdOqaLfaAClrBdNdZykZeGiQQExYDdtiqnOqGOuDcROUriPrAJDqUjdvBnbbWXkELrofRsraSZQYJfjNcCfiuGeXfFrGgIkUvEAsTbxHlBxIShHnAAuaBgzjKSyDoLbNpBxWdDEgVrZbFTYPodmkcxutRMGsTuOonjXvqAfwdltemRuWVLSzPnBljnZJnKqIvbwNIUho", "vmaOgDprgvRnnaBLmnwNHbjqAPscqDefexrBEmGAkloaNnGuprPoKuegorujcVwGPYQfFnkJLYvvKqNoEjagBWcjRVVLMMSJliYbPWMBiBsjqmPCeWNqSYsbJNUilevhODuHdVyohfGefOdihvnrufypEOkbPaQATWFFwBXEHMhSDyBHhRgbpwdIUfylaQjPahrFwKNVXuQzGUNhFnAsmlogmXxcaqeeRFQMUWhsKvviaakfnpconKZwwVGjKSKE", "ZNctEOVDieZXJUAqjtQxosqvnnHIOWoDNJyZnvBiWUzsRrZeMtiZbTSmKkorKmBcfUeoSrhxYnIMRpCezpXcpaoukWphmzXpTKnhSpCRlEANcVzQlPWIthVSKgepavdkeaMntcYhcxbsamGgCMcvoeDQZdicxzSKPjsWLEuKSggKDradkeaxiHqzlLBOlTTyzgdqMGeiVlCwEBkMiWPSCXSClbWzTdlSdZgHjuggoiApbcUkwRdKFGalOjUhFyDC", "TXbiqcaDAMLBXvdvBwjDnOalqsEoyTnwfRpvQvhTEZXkDdzaOtoILwwZjITnWoLaDYCnsiMgIMhxlFbhuCDIvplJwUGhYCuWdkXsfxHOtIdJoyRQaTMoZuTcvvxKzSvNBxSUqGUSNCrdMQdIPVvnyEIaARFwcqJrrFksUPTyJPzPTHMKdqRmricALytnEFpuUspFlhRicWknXoOPLxPEIjSJdNyRJcSfPWmNwlLptHFoFmxfQbJRXEkCtXtjWetU", "pXlwZjjXyzxymZDhIknXtvgcyXJDMCZOPnUnRjptsvwVvbuIZIvSmRugljVANLcpOjisDSGVLXdmVzLESkbEcaQhvZjieRVPkHgeSjbgOWFZKlDKUugzHDGasnhgqRaqwWQNtMEvANQtaTGlPAbSwjGpuNVloXJrPpAvCMXTRDpGqurmUPELvdTLBWMWTIuGiUTYgkizinhdOBAmuyRukyuDmMQkyVPxYFLIFFQSvXdVdiguzFYXfiktbpBnkPRG", "mYmNdJluDHMHFHExwSNFNabkCNBeKRahpyPHnlCQVUoYdOOrxhzrTOJaQDCrAqqbbblXtYJeypsjvrIRHqsfspDbcYktqvNifQmcegtdLjyjbACaQREAlRQsfERJPJxFFhWVQoQxBMEJuvEIqRwozpqPJpnkdpDnVUwayclctlTUmjFRMFLvIwyRflqVeQGXwizZZPHdHJVXwxQRWbppDWzPgLqGmQoygcXkOQZlZCkliysqhSwYQziYtjTWKuvk", "qDrfNaNILknWZOhhQAwfdxdeTcNKTKYtvOtTaOBnNBbRRHPdwBopqkzqtBKvsOmAXUBdbrxImDFIjyMdeHGfbnQxfEtkHLvuceniPENlfffcAkOZuXgWoYLhuPZgenJqAUyjkHyiQsNMOTstTfwhqVwhznouSwmgGNIjqgCxjNVEfmlYeoQGzyQGVBeXsvsorUeGRlgENYGJDSuiFiRyAxxScylgXHeVDeydeiJFOMYByDNMcBpTartctCnOaqEO"],"c_array_date":["2016-04-22", "2005-03-18", "2000-04-02", "2014-12-17", "2017-04-25", "2003-05-09", "2013-09-10", "2014-11-11", "2008-09-17", "2000-03-17", "2016-03-02", "2012-01-05", "2004-01-02", "2004-09-28", "2012-03-20", "2011-12-18", "2005-04-13", "2012-08-08", "2005-06-11", "2004-03-13", "2014-03-24", "2000-04-18", "2009-10-06", "2018-02-10", "2013-05-04"],"c_ipv4":"195.39.20.205","c_array_char":["SWgnAbcRWT", "OYviGlFbBV", "BjDpykpamG", "VwuhKWEnTf", "zWGDEjQoxN", "lFEZtXbMmi", "hbTDBcmtWB", "IKjgEczuBI", "AyOPIzJpsp", "jtALLaTzwk", "qjtZwUmNXC", "IIUkVWbsvI", "VlhhPoNgku", "WdFVTiPQjA", "GzbEbCkDkr", "ExClAbgieN", "jRcDJCViIb", "bKWPQRbGVO", "WrBbfayJyn", "OoWbUCaJZx", "iICeLIkDpk", "QOsewKsydb", "rTQbCLnlYN", "xABpQkksFl", "gsOgKFgukm"],"c_array_string":["MDYKjQFQFNtVwETLpkDvBTeeSpfRYkalhooSFmixqlkMEfeWzYJmUClpXprSneuRNvEVHnaYgQJorVZdLIRSdwZMJagLLbTuImoXyjgvFFWTjbTsUdxwHyuHGpRcwcGyyLTEGBSxfvLHAddUMdTVeHBYezFiXihYDKSkJGbUhMrLZwDQPflMYrjBFozlCDTMdvPLDTAexYPSMKIxXWGefMuBXubvCZKXEGUBRdDtwjLsddNOuJGejZFqscwpnoKDTJLQbdPxcHhSggORdGKMnRpiIQbGbfxgJwoYdehDXoQRloxxNkNQAUCvcAnJdqREuuTTGeXIbomSVOHEUuthWHKETmNeXJoEckHRBIDBaJmpbDZkyQkSALwUlmhSTpbSqGtmHTMtBJVjZyOZPqKgmQAeLNLntfAYynZZtWysHhpnaLFVgEmnkMbwNcITDIhrtRrPIrcxdjIKYbIfetLosLJwNougpLmsZXrLOXKCSHekIRRtkbtRListKTmpWqmW", "DeTZCRcAPkUKnqmeVlhDYrLUStheOYpdorUexaauBqrswWJsDypOkifavQEapOcagJVXcSNzKEQRQOBBGQeFuUtLgiPPIAeIdolqOyVbnVSmMlCZSkiNUExrKNWkIkCKrQeGAZwJPJiugysAvVDMGKqFkWtKTVORShbrHviBdqMPwJXveZdwQaSzMxUoupBNpYDzjiqCkyniJYBQUePbJMtrHcMKQoDcrvawdYZsWrzQquSpnCUxxswGjrVWlOOeLVloBqGsbYdjRRTRdcdEOhGIfpMoAbMtbvacKyzkVvudpKDzXVVpkvJhloIGqSbgQweWKQHSmuLQrUMxdGXrofLjpVdNuEQFkbiaZmNMMmatRcuOXdLXALqejuzRDBCSckorkKZwoFCpRCFpAXhguCBiZHzrOpzoelKVjkjYNheuYHrlHvlukvGSgTLQGCrVBWZTJqwGFraPCnWnFFrSniitwKMMCDORWvABSZwmUeEBLUpoDpYJLqbIIlVVisVc", "EDKbJnwhUzfIzGCtpKBAVrLUSPDKVoWfCgLWadCWBNfcEPXPDMwkWTAReMoTsUQtGesuFKzbIVGkPeMsiaGbRBBycwCJxeTJXUdtBJUKBrLWMDcHoxjKrxefaklGfLRxfoyOUeRtxtiXOwGmZBApUVNQUWmLTkqMittSYlJDldGqEqmABlWhFyqPrfJyhZsYKhTWbbTfkKEFsUMMFBAEGOuyfgdPwMvFPGWVIxlnxJlUxvUKrbAdcZrDbuiOMUtCDChNtOAzZkhLHHsAqxzpJnojxRIFSmIdkChCinQFmtGrGpJoOBbfbaqVYfrCppbMaMeNuCNxxgFDJgVIrjPwcLRKelLdHFsvjPRcfRrnmwyFymeQHzPCQeBECTQPsOSgOAmHcdonubrtNdsngFforhuATsEmGTIbDFYQPaiHQkUgmJLtvDXTESVybeECikwfhKIgVbtYvBiQLnmshWjsRtsWuOQIftKFlYIZMvKFYADoLFiUJNzwimSOFPLMiMPG", "SjQtKYWGzAVfJunkBBfgHYrnMeTVCMHkYqBGtytstpqHvociTvjKueWLCFtVfblgZSPDpjiFylbwgLHwNpUYQpgftwsTdQdqRsvfkIAnhFwatcxyyyEhpkGcqDuNkDaFqbXfgGQnUPyuLgvNukCHXNHyzETjHKUEPRiFTiQXkQVnDlIsAibevuKrVXlTWonYqZvssZDkLgPzDwlzCDRziPKVsdtnhXSWEnHCtqFAdaooloiQYkreMKsOuKIbfiBIcjDJNQkgljPIrxEDHXRgcOBdbjDkqNpnNjhEIxolwwqFmKSHJeScVGjUpMQyNazCtrvSRtFvIgSNAORWvpvZdGUjZJFxrEysYqlmoaegGOdlijVFaphMCzkQpSvLdXMVFZUdTNSDvmsFfonEgJwkIEfvwDpkdzMlqhPgYwNdIoEGWjEkuCIHUnoPJLUnGWRZMyqREIpmnrZPmwYSVWmMMCqcGiRdjVbDVuOhdebLcDwtrWqkGsQlSexmxpLHVYwy", "fQxJNaTcDrpjVAlMenHtIfIseyTWvQHiktJrxWQOpgnkPltGXoYZYkEJzsaMenXoHqAreMpMLzQGYfKhoOwDvUjBJufCfVbjJfBaMWhTozpsiyzBKHUFXFUMRAlMxyZPeEZwVZflwldwYanlWXhUmmQEkCDucoRxcoyjgjhbgOjEcQENQHmbQgcExsLsMjDjPanBMsQMmdJpnoLKqaUVZVURlsVwMhnvGtJcJvCYRscFVvPoSDoaTTFXUUzewEkoRqCEJrFLqFhoRvuQSZuzAVnOiKLrAteltJYqyXWlSMroOAtthbrzThpAujvNelRyGUrBEMWuniiHxsveUCtJScEbRPIAcyYuaIGQxjDDWTKWSlVDSZBhKDrzdDmftkzNlFUCyyRXpmZHWhIRVLstXknxPNbqlmpdJEzikVghunKwgcRLmebjdDvoamIFDYBHBUibiEmZhuUKFcrsHBswnqrOsvumkKeujMVwFPbbdVaGaHGEsMiYfYWVnTBgQyUy", "qgYkkZZhpffQrBeMWvmgbVFaQNMixAkLFRDaVddvgVEmOqMbPPiknqGskhSjHDrSlrbaEeAScgVtRwhxzbjIjFnBccZQPHOrGXUgYMYYMtpzmTBZGBlOIFrouVwbebVlDJyMkyGvHNpqgCPPwUubSGiwdYPFmjurUZxzJwYlJOeyUTZfwDtEdUMSwARgboRdqWKWgujoxbrAfdByWpTuPTaYGcDAFflhrjtHhoeVLiTktlTPshlHrJCkFnHtqvXnoVuLIoTsfgOKfmspTRNrVuCEcmFwQOKewiYtDkscxyeuFaGarcvMgajLZgmWSUJdLYuZHNZJEdVZuANpDFCXOemejBCquoMJDHghoVDYGpXdbapgEnghFlvBpbfFUoJJvieeVrFhyWiJzpolmCHJxRHbnDQwVZMceOjOUgYuQUomVlXGOIIDNtugGNnDJwPajgjzepObedStRAwswrwweEgTrUugzIlaDEUQjKqQPWrYHCYKLvloGMEqDeXpZVxI", "cUlRicypuGPNsbRgexmRDYinladvuPoTfTJCrtzMTEwhQzcgdzcpVgiAbEDnhwWgrAJqoehJFOIhFGbbWHStJdecMaQopyyiORhSKMrzvMzCJMURtIfxAlSdmmSSwTpbPSAFHfNmFJYmudUPMbUxaaFtiUtgcVWPfZEjUnyIGAwWpiIVNpTMgWfvlJNQhAERLbRAuZiByzwcbDcwEyubdNTHJsWbgBRxCytNqpDEXvelPPevbWYNADMeuiApUjJMzPAykCmazXqXjqlQnGGMHQNDWSpigMAXZIibxuofweXVaWQEcQFIiasgiLaSJxJxInswKFAdzdnmBJNvelWQNOetnIAnjJfTeoLtGCPrFzcAIVZocsoRDJVkgEoVdUPtCYcgUdNrrshGlznjHLxxqvhualSWTNQPqVTDoLTrYyZBSbmbfIYBpbOWHfZAehYdRaskYWCeUecUeYWwuQbXIkCaGoNkQVneGHianTammbNdxXwYsXnRlUqsLXoYeCyg", "YKGtiVSqDBzsFKMLyGscEmAeGILaaYMqyuyQOTJidKMnJHpDULqtRieElLuwWVhgxOHNJZNGLiSDQpReLpZCpptVhiAvyvSfSttHOkLVsDrxhDAZFpxnFtkUrMAXiiAUXFpvpcmesdhmczFdEyEjIRgmPhXlEekDCHWYTiEnMlQAonzggvYWjrtgaFobccssKPwBiVuPGHjHSxsDIZfYYjlJxRZDKdezOGXlSargTXjUrdYkTymTVvtIyaZfmAMTGwppJHdtDavfJOLApGQwcTWQSChXAmDxBWuBVGODDUERYhCAvZQIzkbsFJgqmzHaSEiXTCxrTsjHmAGDKnDycybNNHRbiADouUssNgECibvpTVpbNWGGsVZoCQirfnViqFXmIDVXcrLkYtSNbWzLePjPYFsqVPQdHbtHTAFsEUuqHmaksMnRAsrFkskTMyEMfckOBDwlImqIGabHuiTGihacAQOWhkRaCubCpSknSIbnWorixeLtenkhPyOuJGPF", "WCtIZDNloFtQpWldcuRRyvtbxCMvOdJFXqOuwNrJPZyKLpbtvpmSDwFukjUpQHbiZvXAUGxyMQURZFGGvYUokqurPdrAtaPyhTBQVhMJiExcjxBEeEVUGeObMXNlNIksPsXxLFCPajouuKtoUjIFcxGMVFIAIFDjdFbAzOjLpvbgaLRUvwWZFJOaMYtZMieyldCjkFfOEJQzVHFRAvyivfoGoFdtlCNOaarNdlNNRMbYKZdfBOLPoAiHZlUUbwFUVUZoFlJgluwPQcPRoOKjyAwLXSiGppFoTSIqAmrzqYFLnQNVmOOXfgPzXUkRUHazEipMZXvBidAaTtbndHumUabCpljELmiKGwzDzMRBaooCAQQogIlAwepICQvZqnCiFiZprVteJciwJtyyIEDSfDzdkAjadZtgiyRvykUIFexegcqpvfzqSFHwjrrNKCVWLLHZtdwUuizNXWYIsWBfWbjOYCfKSovJDeqXQluakxbkakeofrsOolnHUehRVjGF", "MdIPDXsICfdZqttvcouzQQpgXNpbITCFsGHaNNPpKkjriRUBOqdGgPhUsricMQRAYkFfhqYjzdUovymMCMTdZesmtHAbrLncjpiliUHSzDZKvMoXeODKYjYDtaDCzTTxoBnGevWZzzhWStimeiflaXgqDzmdOLlxjlBEoKdgqSEdClnKrEsoynfIYVzlbMrWNTfUPReWjlbEyqpLYGfxwCpprbpKaoXriOOUZQGKtzPYGEtpOTtAMfFxCzCfgyxrbjvgldaZTInrQuCqXelqWUZPKcnNZSCSfePUSRCSEhyIlDAGfSByQZhwekzFiAbOsovUKIIRWxVMGSLiSMeQbGgpSKVsmDPBsDFUXXGfPcBOMcVVkqlBTTxttlEIeoOBVAXUdLrPSjQSyOGbqGwXSHsVbvJlBxIxsYNbEpvpPtxbWFYQZuYqDNAVWNYgmLaDElvhFVbgvZSgbCtYlEGDUTONatFGHFBnDpTnyNoudIvYvqSOivPfCowhhaOuZikQ", "nbbqNoxYeFfHSWgfQanCxEOMeSooWtggBZuZtGxFtWJNsSHLcoUPJASKEFlWdNRnEVydLuJsdegaHetfcwGChKjWobyPlIBolosVhijVTqkFUqVjrYHsaOjMoexgwfCDmOHxjYLizEhAZUWSyptZEErHnHlcmVRfSXaJUjsrQerCnjLSNxwFXJnNPgZCsIYZubgbwUxfyRLAFquczsBXpoCwpfisYZVsFUZdEKAfWDCkIWMtTrEKajhLFBRqEhIwcBIeayzOBHkKQRpPAjvvCnCRHDTfeotOkfQkaMfEHQEdidnAHQDgmNWtviLUqJLPQPXtYiZdNoiFimVAajuQMozrTIzqgYUEBlOZFOGfacfhVwEgsmzxxKKOkmDPEAKJAXqJJLCiWySDFCqPeyHDHtzQJMmXueBriiwfkCAktpaRafSamKyYcEEaQJziujEmvnIHCnBTBDNteABcYxHABiLEFszVGtRKOdQUYAitpUkJHhlPJCEgyDsYLOpDrFIX", "CaHrpqBGKrhFMCUnjTgTVtrnMrkvACyWMQIWFWnKIDiZEXMXJNExQgLeeRJzVVBYAUUKEBPRCntwXeXsiTGoghlRFPdNrhVkUaNyGGDpsTHhqqMWYBermFebmdqBOeoreLfVJWwphqWDjYNyGYLefrtgIRftMUZeudTScexSTYotVLdUAZUXjGsjjQuoRCqXnVGkxCgIDFiumwjXmoyeFpmlQmPuLqjIKWAlrLGAcCOadITJlKFKZDJOHAFqKDjsjGiOQENqVEHvkGdlDzVplUmWgIboZVlfVppQdBXzfPDbwdfEjMVunZbbnkuvDZsfUXlCRHxoViPNNwSJulsKUyrEHkMNWECVSwZbuquQOVwdZlJTqXPiFElVBhjVsQsfiPLlBlCKTiWgTkunkRTXvsBPzJuRIQTqYpIWvejVcwYpOZUMyBXoUmlecZcktRUkVtRTABHXjeYkjQFDSfkemTVlCtPFCGvWVCxYoyyOwrvIyeUErRUJzbajiVGMJelc", "ymdDeFlgGSCmoInpYQaKQAQXEzOHCKZshqaEtdImkBDmllCbrWSBcgjNjNqSluGgmlCzvzhJtMdagBlQtcpCQtaTKKkOwXnxGmlsSORNpIItIXoljsgORRUXOZCuclijgaExJPigYNlWfOZBAdaPfQfeUikSuANOXNRgxPDMzTOtueLzvfeJXxsRefOeCGckfyNJITKhXEWazrzwkpvBHfoplFAEqaPxePseMuDDvDXWGUvKunlNySbKnjPaexkYjRhdRdBzXpCVcWKaJjAPGCbhGvrJWsUmQYEosJEQZEWvKSETEsiouMdDcwAoEftVzovdUFUkHlMzAUHMEEZKXMlUhmyUgSdTXfKeXeHrWjHknuovuVBZPlgVvHsgXePKtLvTVwJSwsDmZSQhvKBAZsnSAWrqsURWgZNwKxxWphbYayRtvOtVvijFxqBUoKoKEvVKKAmVcwoDoEwYzjYLAwhAjrxaeDgzdkivwpXGOZzGOYRlHuAmiCLxqNqYrxFg", "SXZhZclutQhjGIJFgahwMQMzWGhLuudtefACDmKaiVFzufiGHJMDVZLIcwZoeyXazMOXBYVxPQsuhzwTZAOqRvnBOLlzMCsALNWzycRqTsbFZKACJfftxMTlaYWIPSWGMOjQuwpEelPCFpJLZuMcYstSttMakTDpfQUHYXqvJPfLCjukschQJdYieMhEwewBWtPVNwRVmhsrypeQxrnniEBiYIJzaYZbdTPoPlvUnlpGmSGhRrnVMUSqeETtrstQxCAIspEEyCgVFyooUtGytyfXZYPqqVlcQSHKRwAcqefUUwSJlOsEKytKthNjJLcOaoKtvOpsMnfPjdQBQbPWyfYpuPtRPLSKUgQSOmJhLGSRqmvpUzplzhopNTfJTIvnwQssORfeWSkrNeclReSPrOwZpZLLIIbTqyokXokQPlHBnWbrctsninjuWSUzaDMGLhbhpTbqPxcfoyDRHHBeISQLieEXIzTAKfXXnAojTJQoyOiyAqfJDnFrDyLLCAuJ", "mcnvZOMhkuHPKXhScGohTrUCtMolXwOOgxovRoPajOoaCizgHsXlMJRTWszfIvMhDtCLJckfVDBfMZWwxrQCecCXtSSvkCziwRBRDEryBECNmMbvWRhbmJXoCLmuBtMJOWtwBQOarjUgfqldcBfmQDhMkCXbxVNOiILjhpjQQnuhVTMvunTYrfasQwTafYMxUxwZQsvzLKdcKbicckmorrthZIFkQAJMbhVtuodwqcQQicoomNEitFVSvJmgSvQPNeCiIxsYcWFAAubEKXpMCnhMCnenxRREQpQuWRaBuNdrYaVPCVmOkyFReJHKSODkPPQIZgDHUxbQjKQGWZEVQOmRdVMmyptnkORFCEOcFfDfsSHGscMTVqUOCqmBYLpKsxKQAzLFHxgBqcyBPpCBzFEswpryBNotZfHUzXJTWYNRfRAreKntlKUuvQozcWFVgpeYPNHwYiPKnHycbTzjgECXFbbutricYRiTmSrWilMxZnJIPaSclvZKFffbfhXS", "fhTyJYiwdIvFYgRZlCknLGSzjTXtmNIjNgFQQvoaNhCqgZxNrVaSSffioeMmsuJtMAPIvpnfHzVpwUDCdxIFfIAHIUnZjnNfixRaLYZEAIzERfXOjGzXNQNzKyMrEwFJhlnFSkWJxrUwSuVfiOoAQKVhCNzFBRdOAUZmGYbMSsiAqfkrwZTaGaIpNvNiKNHAiXbVqsbicYYzHYmvXqUhgAoLhufkzGVtaRDIkKPAIJvcyaWRmVXWQkvcjYJJRSgQZOLzWCoNlBidHCGxrPCUYFBZOckqBSdyWzVBnjZnBsQQljvIqBooqnIudLZtTWDgqDJVgLEPYiZxEXPVJHdhSqTHmBpepACNSpzlcHwCUIBBvYQUGUeMkUdPHnBlveBMaNTKnqdHnRLdsZDibjaisBOmfAIMSvupKGHsbzcWsAZFxKyYPoIHWNIkcRhuikVGBNDrFphbdAKwSkVpWCMENELemjOOUQntbOYWcquCqHPuZfOireNgYLpdgOixeHNK", "jnxMkymgPqVpHFfqimEfSYgeKKRtWnhgJkldkUDvKmcigVaDopSZwlJQzLXzLVfUhVlBOMaRkvOWCvmlhARACleTMfrlRArqAZQICXHBxjkBEBBcLiTpuwZLBWwFJOzrgSuHGLwSBRvoYJyQckdKCAqBlFfCydZxPtswxZikvDHCzMWvLpmUCsWOIykLvhBEbbdEpXKJMpwmAPDlJCeKvtbLPNjSHWJLSVqmZTYSzQAbHwexqjBxmuHopbRYaiinsSqyEnjbAjRJDQNWQqwLfLWWYBqzTRdqlUtLJMvzUirkEehHpGfOhSCqsiRGFPLWMyekZsGtwqpFSDWuxBRBYpKYVJJvcOOxyISuGTOLLmNADZmUnNhptrIRcAIlRIUqWbisHAXddmBmwKQVPsjELRPCGgQXvmxQSRnpwerenVpYguGszJIlwhkQTrbgJqjmlZhrZbiKXBWIDfOcJbAtZgdDXQYEBXxZfKtvqSdsvFqnGxHtooxKPImrKMXbrVbd", "dJEcGhomeRknnPjFaPYmnNnEaBcYVEVgHCsrLpFYPJFIMkyVaZMwrMSeqNoRFUUQqucpKrRtbpsiWdfJnzPvngGzwQBZVKkzgKxVAnnafGUvWjiJQAaPAqcVgWmMnmqhgfguuQLHsMHlQmmzolvSZrmEIXTnalRHfMkUSbOpEGpviHTvVSfyvOKnVEUBcJwLHjdqMEFvIZijOBTWNGjOoNJhofvMAOtrcnigSLfLClIhFTwQFPDfKfFyuUzyTLRSXKvpzOUgGwGxrsTYOqEXeRLEaaiegMDfNtArsPGspKPmgusgFQjOmoPAyyxgogZxYfaJUOXpFYWxLqWrAhrZDuwIxgXdPeidcyEaDRJPqWYKptaJeaSuUCNDiQyoflpKVhUPosViqYOgrCrZZJdUdsouZnzXizXebHgBzxNaUowfuhOSCNvjzGXhTEqnaHYgZxezXPnLlMUonOVtdVsSSQWvJjULpHDoCnaARnsuGOrIsHthnZqOJSilxmHWeaAa", "NHaahoRcENubGNfqhuSfoQtmewvawxexvODEEOURAQNjbqncxrflGQDGmLwxwQDyWuIfxajNRIfbPkyhomjTDjFoNIoSLksHetHJrlYtpBzBmiGgOsDmWQsNGAADdjZZYhvYrvRXnbdBBFiCewyhtEjzFFmUNOZZZsgTGQwrrqmPHSqQaFYdgyyQDKnGbaNpQwnMiJwZpoVmJpVHYyovKLjkSsxDbVFvgjUlVQpPTGyFkkjXatEcGlqWKaFXRSenmqZVNncqvshdHIdVFUCCAGAfYJJMXFNkKLhXJbRrPhRmFyAEchECkngqTQtLufZQfEOjNsgSFNwlROVvPOlDSlfTaWeHaYRmcdwQbOQyjYzqvUZJEvNMRlmWuzyJJaWECaPkLnxJkmLeizQFSPmPJepWbbgyuBfqqJQPSPoaPlmAJMuSONmhQZiNwIXeeIkdTpYcppPuzRphFkKYuHGVgEjiGawmJibufealJwjPXirRpXXZbRnJaXyXfmcsVXZb", "TcGBedhaMLmWetnonKhSlpaNMTvklclBadVriIeTGcIOBizRRYuPvnrTkFgVKwwTVhpcVhXwAmKCGSYSPWwuVbXowSCIEEIKchtUUcXLmYIExJGLgiCcwHGcNBlAhHIOHiVGyqJKZlEtwShHguqBeKJcRrpCZYBlsbuZIfSPEKwFmTjtnmjqxWMoDFoXEBIaMhtjQEfbWarbkuOScitSLZVnAYZnJMBDtnXEcNIZFvZzXjqDBtqbrYwBaJZbuyPCMTGridIMrEvJxMJxhPeXnloXAPYFyOXvOuPAjUnyeAsRldRzswJFLmUdgOQFBCVaAbkpCJYyHMSfgQjmhcrWQtNYIsJPVATvZRLnlnpUnZfWGVzySjDkgoumZlxIQYKZRYejaweEUeXbydfqDsWIuXvsnvtntNTNybNkQHwtEXJMAppxzHXRZImckjFPIqHUJaCLrQSxWabLpcrZeeanWSqZHsTEOZfvoKvHKwEbXAoNjpfjnQtbHFanLlGDiBQe", "BDiBDkJepoPrcMOLzXPKvpBrmfjBYraIvaMWBKFLUfLjltCckUxcbZJUisYidCvZobqznSfIyiiMCbmQEieRHSTmzIEOyFDzAHWdbnovJqGDhwrEMqkIIlTctgFAInAuUbpHlGPoIldJUQzZkeuVocRrmWnKtWXcYCQoUIbHzxbOwDtkBLhGizTvlkuFRvwTwqigOsJqOdYQuEvwnJtkGlCHEHoXHKIxJkuUrLjWzyYihpEErgmaTOeuZBkACQAMyYmuVrpmVlaEbXdWlyzhNWCDDcFfPCFKgOFcamdUTcKFuLkrvXnYQUlIJkikVBmqzSvPajXnNrEbBXVrWvfxEnfLSjJtTzSAFKaquznnSqTIBSciqxYLXZwWtSwpvgFDmvKSrboqUeMHAdDdNrFefjaZzPDVbJdlXmpLSYMGrUmzvwqWivPMytYPVilRbsLSrknttqPaUlWRdEWGffsBOhtNrUpdUaJQvdFkRQvyIteBvzfospwtTFKMtqTcmgWt", "CiqvOgalvPCMtLJVSQKmYBscUdmLsUytWJqEjmoHIRCKUeADOQzteBjXdVNDiRRxoCAffMFPicmezAoAmeXLwKULieQVtTPrcdufUxntnwfRexdoUxjGdasziXbTKQdcIqmINNYJxhdCJjaHQNLlRLWrvHJUTzvYaAVbCnVuUhESAqcWxnKQzhhHvgRErKXeRxcoExbYzdkncmVVAahuoTKBnuHHOsFkjfyLfLBfLjsHWJWZnUbIXnXEJelufvyujmGqdVvgUzELdMYSxMGYZDXsoGmaZjysiKufBtdevAERWoKKsepOfYXqLtxCxAwpgsMDUwZUvAJpiQnwHfgyZqOutmOUbkdRxhtSFSaogtNhBsFWYqTDHliLLigHyUMQsYQrNxPYyuchKeUBRxhdeAQQTWxiMkbgXxKQhRCIEgxLUwHPlDrslWaUPvIHLyEWGwlVeZBmWcaCxmYmfGmUFPoQAXkzRMmmgOlGurZzyipeexgNfoxmmlPZinutKDhx", "aLcQbuqgcTKiMnlnhnefzJmVPYzGRrncWSQZvFZxAILrQJMikWaFcUFUsKllphdpIpNlSwJZHREvtbLzuMjGeheMLKFkniuDInnWwvdmETIHVeXwKVbyFDEnxPnFkGVrlYHsuPCnSwVHReCBgKKCGDqgPlmumUBjcByzqEjzRGpMwmOZsMDKeDJaYSdqFawYVgaEavBGUQDncrNzTAnGvSSBHZVYxgRXRmcrSHODgJVWUpOMZCSCZdXjVNsmsGWiGMWRZjgyomnYOeXIeYxXnHyyDtPYASvhqucykzCmqPRUffIaJBMpEnAvTAiYOsVxAyYHxnEUuEFKXLyDTXTRfvLjYedMeTagHUKQBaoohErzkHosDHOuNDmJytFjHUrvvvOJCCUBWUdqgKqxEQdvlCmhnDFKYnQwjUnpBvsowjahWchGpxsBdvxHsTpUDegmvVFFeJaoXvOWdljUfyYfpGzCagFoDPvRXdXoXfQeUsdCzrZYnDBiloNqBifrPCdr", "tXvzRMovslslFMTiqtrBcsVEtqIWcyMoNTyuHCVQpBeEeSStnftNkPsCTJazNSHQIgltZMJGywmfbUbcyaudKmkBgsmmraDKruIxWxLMaDgKPNrVkxChlEYqMSoWfInxwYNXcgfjGVhoCShyBCzWxCwWwfpGIwSovlibHxvUcWRcDaQXwYvIJVwAATnZMvnLSuFkKuJFMbBJkgLyiheDRMMzdRzFtsOhwnuNsOGusQvBZMpaAXIwogKeacVPhwGSvjDYBSGIwHWCboBLiezIdyAglvGLTYKIugzkzODJeprxmuKfvwiUBOfNekfBzucWGZPkVwdYnhmsjTpDIjreYamsQVzvIUTytYmDfJQqkhycaTWVvxvxBSJUpmkCcaxucwceYlhfXhNIKjTMYAfJIeqPmcfTROzAqgKjCJcXjRmIRWBFdvXbgUmiRYsUphyQIEmayyqgpPJzfXApCUJnJaruqupBYeiZdKTZIeIICSYVZphtZgKyJlxOAbOjzVjb", "yqDvGzWLcmmkKdrdClzBehHxsaOdDYKKoesNsSDCqsyrcISotJrwnGIMwqDYESaZNIwNbPhgdxtBYjgfikfFPZTvKxtmugPKoPGMUoWruBxVtcKYFxhQdMHcVkVtinRXcrxhzLMhaVUksjQZcQKxDPIHBWFNlreJBpvWkzTvJBpwYAYowEmmPTljwqLITeJGvEmCzxQwEDjaZEtVcfCoTpRpDIaJFtOQsvNBxRmjnotIopDjecrFrZIJiGAlJFwrSgFaFeTyyebUIVomIzIUZJxIMUtkMMqqMASHgQDRjrebHHMiZmrxmQlChWRcUnTRvHFERtAWaDOZSoppITqIRgPbmBeLZZjnrjroEOtSWPIwBuyXDdLgeYyiHcPbwwantsUfRwkgvzXRPaYUcaCEqnGEHPNFanHLAjdpTSjHZJikyCqvIQlDlyzLPxIPnBRsJjDLQxAgxOjaLRNfjHxFFIzvRTzwEDHHMAkqFzEXuNSPllGFeijcLdUIIsgBtjMG"],"c_array_ipv6":["RTLNXXHTgv", "jLCNyyjXMa", "uLeLWbaNOk", "leeJGYHKJk", "cisWXuphSs", "QySvbSMZuP", "RzkvUzkbhI", "vxfrSVUSyy", "wlPpRRwdJX", "XtByonoHDW", "xnAwyWAczT", "xILgOpMiPk", "LPmysTnMMy", "TXqAvhnzFu", "DvvdcQDETe", "yhFilLLtwB", "bJHGOtLznW", "HZndxTrMqe", "tJctXWmTgb", "zgnJBtudiO", "tUbefIyGuA", "EczobLvUia", "ILguMXIZVn", "ybQsTiFBAf", "BjdzROfILo"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_decimal":{"c_map_decimal_1":9.1386, "c_map_decimal_2":56.0766, "c_map_decimal_3":59.0161, "c_map_decimal_4":11.0617, "c_map_decimal_5":3.1739, "c_map_decimal_6":98.0617, "c_map_decimal_7":91.1925, "c_map_decimal_8":58.1618, "c_map_decimal_9":8.1111, "c_map_decimal_10":41.0175},"c_string":"yqiqRMfEDAMgiVviRDSeyELbvTEczfhlDYifKENEyxCYBwgNeDtRFtzLdkCTClRdMhZTkrNIxtDKQfzLDcZxEuFdHpybazQzBNVoZQjmNxqvOVCrSIeHRtTmFWatzdpSXQDDamCDQJjwLYsmzOkfEalyvoyGAzZunFzYjXjMAFtBbJPYBIuaYDihrmTTeiiEAbnkPnYFEJMwztylGRLPAbZfoyGnrRyyNHmAoBHvYlHihfIsyMbmCbfrGwkNLdmmdlrCfQilfoQXHezGFBqkdeQOWzzenzWzhoNcEVWsHcFkwkyFMeXZfSoNwgTiOjqedKnDCmlslfnysIJkdZYyHddsITyDDrmHQnjiWAWhuzkiIIsTAwOcsaqmXrwVEkFAValjqGYhCtyQnQvDqBOCFfyodmLaCGHDEAojNLOiRDXTruUcRGqLWKQdVkBSAoBcLXAziQUZWIdOKBnthvObjAoLimRFhBlCyFEOvjlBmNwSSkdxbRIpFKvZIXrNahZE","c_datetime":"2002-11-07 15:47:08","c_map_ipv4":{"c_map_ipv4_1":"41.101.171.60", "c_map_ipv4_2":"210.134.217.184", "c_map_ipv4_3":"105.72.15.232", "c_map_ipv4_4":"144.31.152.224", "c_map_ipv4_5":"4.249.29.207", "c_map_ipv4_6":"248.231.198.111", "c_map_ipv4_7":"130.102.236.101", "c_map_ipv4_8":"178.37.239.24", "c_map_ipv4_9":"254.155.110.211", "c_map_ipv4_10":"21.229.164.61"},"c_map_string":{"c_map_string_1":"lHMcKCfiilYZVgDPJBHxNUqqMjlGBlJMhMbQeEkCVPYvXdonHPxYzERlfPKaucPRCSelJwRfktmGChbzUYkrAOSGFUyezoorUmlEjXPhRMIQYmSbJffeLnEZuLcilNUmwQkxhKgTBZNdfYcJKQduJvwWUQvLQAWuZVVAJPQJiBuBfkomigNZGfUoxruNUULhwasOxnufmHoSqfUgXceteTZpOUSdPgDYxMLBJSmZINfZlVqwdRWtxDiCALuUhoclJuGugDUpeyrBhmGoIspiZegZGtwyTcwIMqjkZEQBbvnglTZfVVUsNkHbmkJrncZctRQToHbmwjzqNIvxFdOCssHaxRKbatbGFwOIkUyJEwjJHNrQHdrenRnEiOgpwGEcaaqNfVcfPMoTKyOjEMHbYNECTwnmPwcVhIYyZpdpjsmFxmAMLgrrSYtLygkXoRCPWXBJvPwOSJKUTZARXOricyOlSzlbfdQeQgKNpXZJMZizRrtRxfndvFrBNymuqyjE", "c_map_string_2":"mMsJNBAlVaixXwHNFqljgroHOnBHtWDFZmZTOZeEMajcQCYAiWQswaxnLMXNdzmNTdwDbjFUZVGVRfeUEfyEGgUQDSFGJJxaKfLzMLSTYXUQIynofnIycyfBNbFAlprROHtGTeVBiuWiufvdMsfwnfbLUgONoDjfHFFdzTQWKFQUWZkuOQcKvxEUsbqJutTmmEqWyhMPSubYLxHSaVXAPXaaKdgvIWINJOeunlLxdWYVBmpPBLlVMDlJQHlDzSJFBFBMfyGeFSRBcipRiaHqlOpqCCnwjjjDDJDbPzKlugPoSRqNznRIcgTwcvjNiTvAjLVSUmRYQLmYDqhveHNajlkXaAgeoOoouIdAipFiOXzuWxwedALgOZFJBVsPKaexgxBrYrIjVTQjVttsiFYPMHShNCzBHnfdBluDHggYieDzpgzzqldWbGlFUOWBPysteRzJaiapLyKCmZtcrWanKGjbutSTbkkNbwZLdlKRjVoNGhNdafNpFxLqeuUMKrfK", "c_map_string_3":"UvyCLgHbweyRKPJBQjlHalsySFBwCVGlMQgNmksDLPXIkKhSVSDMOmsgzkMfJRPtoLLzQfSPLzQmsgdZrwTzcYPvSufmNGlwyFmHKbkBvvuFsGejkCzbArfdlWXhepcwKHXIXaziRAfQyrtTeQWrqUYaYXwmfElKinySxdPiKRpvanYKDFkfzSLVVESgbUElzceZXPyEcUGXIemaYRHKxTcgDLEaCSWNuyeCFSWlDrqmbljUxEXgOGBPmkTKAHJwfpqyvWvXpnGpBvUZfKEYHQZJJsnPnwuHcQqJMpIUeKqKQRuAlcRFZhTNpqRXMoKiyKVskebXMtXFPaSGtoLFajmkTgyVIxduCywjbKFWboTrHsohDtMcuffjGuySrUOvEKdUEjEpbWzNbvmCmNoyeRJyfbCLHzClmoVSkIsZwCQqVvdZEQKdDaZhbLWqtamxSPBzMbAVqfiItxiyfxHLxjpGMcWbKVNyuXlyOvPNWAFwxquvvnilKzQLrJZrfubS", "c_map_string_4":"vVWjcfOWxwVBwTmxMNCNGSYdngBDIONZnRsnblQXoEWeojKBTqbEpmoxpAACJIXRiDkcnWZWeNEDjmpiSVkoQRLDoZUDESEKxVTZkqeXNmKuqFColbYnVEjJBhhbCGcGxLvCkSqUzwrkEIVVeklritEbIPqxIICBEUzfMEZChgzaghmmVBZPfBXADYAFmITNJRprxIJcxmYsehClHfLQnoWgvupyxCKHiBRNAVscngDTkvJpCKESkAaKoMfJxtPrPJPPAhXUBGTPbQwArJOcyOVzTpcJRufUifnJxOamVtJBOKDbYCQZejDgYhySCnoxxYiuXbUSJMzHrfGUDHPZNPfnaDyrDNDhxOsnQSpWQFEaCoVCHkQBnzZXMHrksBbENljyAJHAFdrNCGfmAcWfjXglzXyEoAxIvGrJsetlXKbHnYTRntpPzBHpdxlSjsszGTyQiWrpkEMWRbfkqcdMxINpUlKvcFxrRPiMNBJSVKsvVOWxgIQYorCLPrHmfZKR", "c_map_string_5":"vpFdFBEhRHNtROqJZKfmvLAUQUMUZYzxuzGoAHrpojpBTuCRqoQNOPOUrGtpTegWqNXZaPwrNmfQihSBhbMplxwQXJDyFQqEFgifbfPbjmNbzaIgDnOPhKWFwcZdFuhLeyBjqEqNTKzJtvMpYrernDdqjZBLwXydBkAFpfNnsjmGeMLzNfKisXQrNUIcpqOknyvagHiOetwRkMAvhBNFEWuEFcmpxHgUAgOvsHiRFYPtuyezOaShIpRlIWbBJslGUcBSmTTDkCjEYqhLJtrzNsPYrbtEypMfQRhnjTbLQYWiCFSVmAILvltpZdMcVdKgiDDmVZxyWOzxqunGviZDoQGvbAXagqPnEtyQJIAxjDXoVJuqBCiJKyBQvTbWwcDoAFYVHQsOVEfezBpqVjUNykImyOwdhfLyZYewwyIDFdAYHbuwARopStkoGYoFnBjorJedJFWqIEXnGZvcRrskuSWalOanUQyNOFgrJsDFTceeefiOqyujsAgANyiPdQdf", "c_map_string_6":"VPliXTxXdeSXuNvJqNgJEIomMvxHxEOaWZlLhfhdaAnjNhYXdZwxgeDZCZvaaSBxRGXMVzNFWMIAmAzPpOgOBXpyoiWjVNvKsAirOwTzBOWryrxHXYTzrTOVmiwiKYmWQbmOaOCtnOizLlCCNuQwxTFGzFFmiddoIctcAAdYlpfKbAbzQBCnTwdEeHoyIxnhawnZkRXinCkQUrwzUNNeDKaoQWqKZgxRoayOIiMfJfBHHeZqiDraXOejvLPCfmkcBLSxQBXyqFXlekilGNIyjnTDKlZrVhyiHNYbzMRRgVUjRKUKyumPbkCjMafSgTEwoNAMWeipgjksCMHuixdGlLSReTQdPKEBMVHHCAJmNYMoIcUmxEsgbqxayekDaGqPKuvisBYupepCiSPbczZkXhcHqFScllprdrFWwdUQzaHOunppEEUZFZXcGcyJZpTlOcdPzpodwCUituHmKwdAVjzPwcwEobUkJZtaLdNWKHuuirjDVBzUufVzELRqIGvR", "c_map_string_7":"bvjVgIaSCfnDPIHndqVmLcCKtWwFWjCBkvqXMLXKWLURNcrVIOcEjxoZUOTmXIcBKlLWKBSYhPkoihqZjzOofqEiYtoYlQuodTUwVcPujogIuQeUPSJCmBclHcmeynFNXaFAVBZruipgvLethiCEhNhoQARKkAEjlftRvssMLvpOxdOanQqaFhNYqHtjGOLfFcuMKHlkTLTSQDlPfNJNANMaXYKnprQSkTifgRlwfazavsIzEYnCHAWcjdLMGceFPcnxVGvCIwIEkVNeagHbGRIHsCKjJKOYhmMZdMjIDPAYwnlLbqWPROIBObSGsYhIgwMWSfUmQxUMuhokbEmCloVZGDuwqezrbuhlTQUyGRRtUKBXmjTOqKymXQnNnLAHqczWPauQFibyssGjBKjKJIyLWCybSgVwYUaCRpVXhkEqSnHyvcFpyEgDjhraNhmQkWfAboJOUDvJIFRKqZoFocmVZETWAkLkdpxkYYdNeZhemBHwYasbxvXrzbLovuMm", "c_map_string_8":"SXYWgHAXuycMSIIiQwskNpSAsvrdFMGHAkeVCoNLEAMbAxwHOwMtbkJrBLBaSZaTvDaLRoRSaTgljsPokjnkMcPpbJSCuABsROJzrvOBbrrnJRuHhVqhRFicZnjDgmiYBhacgBKtCvENWcywJAdqAXoGPBeWeXFbGpmEJSwMsUACDREUqodAhhcyHJsnTERwzSbHYFyoNnVttPNwvmvTJJlGXKotMDLRZdATmSTCfWjJFehsPHCvkHTGHrMKtqoJFlEaDcoSyPkrkugjKHmUwlOeIrFNeChPtKTLZYLKWoMyTWSQXzryzMkqaCUWnPrbdPDAlLJrteEzJOuMnnpIdUYOaYBswNnUYGNvXrNleobphFaeRfpQLpJqjbzAUHnHxGUOaJKZpOWhlQhHfEEfjtdPdzFllKAWywHTgKXWxaLoDwRoBhKRFXROOhNYhXABRURrdrogpRfImPVsJwsiIxfEgZOPRVdeLZWgvWUmGirbCOFHCbqUbhVZQhEtTrIM", "c_map_string_9":"NPnMipuySkngoYTIqHbcThJKxMFPXWAdshPhjqfgqtyUNeMyaVZouneCCDbFlsycbPLKPNfkdYTynJQNorlykCEdLqXWQzthekfhqkxatfBtQbnsMOEWgeLPgtmUbBHxrfEBsAnMXMbzfzKHCVUStvPzFqNyjihlKVLdanEJZCEaUAaQpPmqOTWXhEbGSFEtZUaEjnVKCZUZGLkMBIZMsWNNqWjFAbLWCMGGRyeIGDDcAdpHBLIAvrGUgnVfWtmhvYQWjxTPojPmoJTheerHmlepOlxDlLFDjRIDnbnWGDgHBibXoRXeIguDYYYlDIMYbSBVWvowFFOqWwgoKsbdzxkDCbBreIZYYYSFuObcfFdcEqsSOfmYtNhNZhsNhdabQGbSrMTBPNlMWaEWEuRldfcClESqHJuNpHnldMpoBgpBESmdcUYWrJGNsqOWBtujHpKieyFlmjxWPOndeTWKNWOJkGbvhtsDkjVMasyrKMbBzomyIAucHQBoOKPRYZme", "c_map_string_10":"dWqFnCMzVgnqANNbPKvYnyjSfkgEuElyLQvKIxGORpOBPwkpQsKaIrBTllVnWJfDEeCjZCNeIFFnCbiMWiLIQZpiJKbfdSCDgrUwmXsQUDEPMcjVehLBLExjTledVLUpNwJsAkZZOHWRgBWMZfCPErYljNUlMLVgePDBCrwYPBniqNCuYndPfyeNayqUZoTQruOsUlsALxrLtOWetFxNkRfdIoVDbYkpGsChyApgatkIPkvTFVURebTubQFhjrTNMsHWVbTPntAlsbiavgwBgUUqqWmAsuhgsviASGBvBlaBwPiFCUJvpCecKIUEBdGojZCLDlBGpgUBnAcfJLnnWpsdBEijDOpbQTnMfcIzdLQrttsOejhNMgWelCxsboPpmlzCJYjdfrIHrNCjREGVRIxRetafSsKXZFbILRHjJQNcRDDeBnriNFAVHatJrMYdtUIPeAmuZKXjFQIMTQXVdOYXXUGXwWYsxJJxNwrBpurjoWMRmHJUzhFrxVkopPWS"},"c_map_datetime":{"c_map_datetime_1":"2003-12-19 20:05:06", "c_map_datetime_2":"2008-11-14 12:05:49", "c_map_datetime_3":"2017-06-14 00:01:31", "c_map_datetime_4":"2000-01-02 13:15:33", "c_map_datetime_5":"2003-07-05 11:56:43", "c_map_datetime_6":"2013-04-12 09:03:56", "c_map_datetime_7":"2008-02-28 04:21:48", "c_map_datetime_8":"2004-05-24 05:07:19", "c_map_datetime_9":"2010-11-01 17:05:24", "c_map_datetime_10":"2018-09-01 05:12:36"},"c_array_float":[0.5909501, 71.023155, 11.986483, 72.24027, 53.04945, 35.382217, 63.377323, 55.69256, 81.64818, 43.446556, 8.3638315, 97.882614, 9.082101, 33.11266, 44.166637, 12.95356, 75.51212, 15.275487, 80.26032, 80.47838, 36.252754, 5.0701914, 20.070583, 15.280324, 13.577203],"c_array_int":[-900723361, -843065707, -1921018370, -738459481, -1473133708, 1378093010, 111817314, -1300446365, -1607040122, -1758169292, 1185201522, -43283541, -1263459932, 1278055612, -1692217697, 1548750952, 1239015897, -407616788, -806349232, -471022271, 1614455380, -1737679463, 1803924322, 1575277407, 1733320358],"c_array_bigint":[-5477538215856941384, -5949120577948969389, 3854978159316055925, -6423081685981150248, 7902998302689022747, -2997172527688507914, -2781416784049777769, -1390091298465680582, 3890404832476581143, -5785754171508846066, -4837125832817085183, 9007184204862913883, 8784750889704724032, -424352875191386082, 19229446014706346, 2901911742612961622, 8742618563216348697, -2646853396357455791, -4154468499261899727, 1496675387251655779, 159352365968976058, 5483789313546707346, -5623251980341267201, -27473937653006231, 3387477123493660471],"c_largeint":330157985752519528,"c_double":62.38356878821627,"c_decimal":47.0104,"c_char":"UuUBtHPmNo","c_map_int":{"c_map_int_1":1178805882, "c_map_int_2":-240205350, "c_map_int_3":856176756, "c_map_int_4":77390595, "c_map_int_5":184897682, "c_map_int_6":-389566504, "c_map_int_7":-1544153868, "c_map_int_8":-705478736, "c_map_int_9":1640780193, "c_map_int_10":1985410313},"c_map_double":{"c_map_double_1":34.84535400775304, "c_map_double_2":4.964070042512451, "c_map_double_3":14.880369340442254, "c_map_double_4":14.494450359387391, "c_map_double_5":99.83689494597972, "c_map_double_6":73.89007707334005, "c_map_double_7":22.02193693561589, "c_map_double_8":35.3210010086175, "c_map_double_9":7.664135197722058, "c_map_double_10":99.92425577826492},"c_tinyint":-22,"c_bigint":2777005320845876969,"c_map_date":{"c_map_date_1":"2007-09-10", "c_map_date_2":"2019-04-20", "c_map_date_3":"2019-12-03", "c_map_date_4":"2010-10-04", "c_map_date_5":"2012-11-01", "c_map_date_6":"2004-03-18", "c_map_date_7":"2018-09-25", "c_map_date_8":"2012-11-12", "c_map_date_9":"2015-03-27", "c_map_date_10":"2003-01-01"},"c_map_varchar":{"c_map_varchar_1":"PFmPSPhidIVGRrndzLgjpQvoVDpVbLKSesuNhajraMhcoKPwakukGCNNmQInaeDDOryEWguiEKzAzUxxkryKqHGgkLvOJAIMRuFmlEAhyXMdkNHqsdhOFPPyImyNcnIrlBdVhlThQLpVFurudktlcYAaQzqBIVxTdJGeJQOtmippEevbQQtIBHuUXwlaYEACMkIEHBWVNglpGcSsBVIMucWFCZqmiiAvIJUuFvuGwOhOuickwdxqHPultTBupmEF", "c_map_varchar_2":"mCPlNeDHpuzBiHnGcwaZLRIfbRAYEfdmxquPYRyxwcnAEjbYwQgmxGMrDXKsDSITQlUdAbYVBxXuWiwBXYqEiBDRGPwBzJtfASHetMFkuDlzcZXewXigadJDJoWQPbiqMyPxhPlnbZUTmzpBpjwICgDGRzasOYCMrEVffnkouFVaEAIJPuXGmGXAswAyXVFeqfJGgNKWPdinMQbtWmldGEQnNIVVtdGHwUULfqFbawxmEtlvnyYvrsxdVDtFkXbO", "c_map_varchar_3":"vvBnXvqbnMWqepftijuZbdiiTlYzYpjQtVFdTVcOjWkcJKyYnbCydjEhPkJMjLuQBSIxIvSMJnRvXWZruRViHVIiTqHuImaqtStSCQzqNVRWLyVbFwNHhSGKCriiLBatmyKnwTRjMQvPuDICTrvLMeuxPWGOQkFOowgpofOolUByOzQgSBvgNMiUyzwmDnBzEOEZXZszqdsTNpNqDKVaemtMUUhZXFFHmXKtAHUjShwOFSksTeFmTJFRkifTHbjv", "c_map_varchar_4":"xiwJzKSZRXSqdeePETdhLeMOWnWMQjjLbbDjxVYLtctwkrlDpppeGjayhIuFTPKtjCYqfNQxlJZuWQjTwGRHpQtAghQLMLZkPxtUxhmciXIyGfQAKVLmTezxqhFSetbMkDkcPSbSuuKdjdhUFvdawsHYsdYefQEYGudIocwOZYVYMRjkdSWYSOWkmTWyylxFHAxHbTPMQDegCzrjqNZnmZvrVSJvYGGEwSdUFDKAxtiMGLZPAzLShlesMphEOnCk", "c_map_varchar_5":"bTccyihqfUXRSXeQKlSNxSPBvjZPFLLizATqUEeNpWBDXnrOCwCmmruqoymRWGQuNrJvTyXaUSTAhbfydTfSJIeVwWRmdWwRPzfhLgjhfPwUUCLFdBcQIRtRFblPbBXWmGkCFDfARohOXESjMvawgMBSoTfFQUtkWKWBmonVXcTJduCRHASrgLemsUinHVPmLPaZIkXFVAHROfOjjHejEGYMHoukNUgCtkUNmYkRXDimZhviYrScfDKebwWVNQvY", "c_map_varchar_6":"XroYMGfcXOsUdQeXmntgpGDUthrohURBqXunXOeRhybvgwtwRZXaionCgTPRAYpuqCiKAISxtxsypTWDlffkjKyysGHabDnwJjBVbWmgQJiAvOAnFAQlnxHujLbahThRxaRhHfKaFfpMCDQEAXqOAdodUIbmgjDLSdWtESNSsaHbpLTprSsTSFVNFBheblhNaVKwNIjfhrtkVDGuAChHatLZgElnIlkQGKgwyDExDFxhSiVdzvFAkHJEKuKuJhQp", "c_map_varchar_7":"svfVNTperFTTiKntIjxsPLnMHgxooboeBEuulUxInMBGCGXUhTDelYVYkHwPMKwcygKvbUAjFxAjVAXHEuENUmzzNolivFHvuAkrXGFjTZaBEMrbHvuiagfuEJPaKwrXKnThSIeUOIAwTVPjQYVxRnihWJUwxIdDuixwLpLyJbHPMLKUdoMcXwHBOeGnLKQKefIvzpzMKQKWDGHeJngRQnFqjABamLMfyPzeyepuhBcwqevLUwYvYzpCAhUzGMbC", "c_map_varchar_8":"ENXHsGYWxfkVhVIDTXKmNSbhzQNcILZHvftbsPueLgTTgSQeagHpmDDPMoFTbcEwjorPNgEAKEtewEJtBJNzdIzxZANhjyLGUYUxMphjVjiJPIUPEZHeHSzDcaDsdXtOBvRcpAKFCQYDiINYmusNBmUjHchOUhCJSRQACqulLgDdxkKFzQCupeUiCTVYkEJGADZinXnWGfwDtGhzIcfEfXVcIOcjEARTxAzMkOAEnRpljjAVUHkjszUAXxwlIYCf", "c_map_varchar_9":"dRNpNNJdaiSEdsjGGPrXHhxESKGXTMHIsgzZfahKOXWeymsIcSlxUMUaknEbwiaVXjvAIIrtXipTpoiuufMZcwKYMYmeXHbZFScyTCjPLHxKTgbHCpAjKjYobOhTaRlMuPVVEtXlODvZUFOXRkhgKYmgqTYQgfTNFmYnQgwBEewJskDJCPbcryfLbsRWqanIixpGISWsAheeDOtlsWwDDxBcUURdlCrmDgvddQflsEeOPyzwtLVzYpbIiTuTGcJA", "c_map_varchar_10":"WnoGEtjvDJqPhrGnTZuoGrmsIJmrTvMIMmbRwFarHAMiRtixfhSMKEfsYsTnKtmDjzqJzCjrWIxrzPKuDemFdWMbQmddsxveuCwSmSZYmzHrZpRAOPMnxTbfWsgzCgpCeBmghvAhelnoTycfyOwEWhXiJrWIYWFjyiFCteUyJvRTLeUPcFeIWMogULRYXAOvIhWCHyiMFshoEWdnxTrNDGdGTLgkeDPvmWUOiEJsvYQPjITMVkiBeLfByIXbQGFt"},"c_boolean":0,"c_array_largeint":[1341353030746195875, -8449902930629530822, -842816508583670133, 2160215532973112860, -8994083387547424848, 1571317725655937962, -6200353731248797031, 874597130283323332, -5997245697509037464, -6026675850022492827, 7992742301912587426, 890742522265144780, 4389768784865455196, 7018407837589389267, 2784867385997321226, -5698213160139321742, -1565983942002633175, 5913563228558560505, 8376133709683145757, 3714998522984700398, 3695291250298719830, 8558657160059072875, -7092767353593127213, 8351267836274888696, 8597695511525573370],"c_array_tinyint":[-19, 95, 126, 10, -80, -68, 99, 111, 5, -40, -97, -93, 62, 3, -115, 76, -109, -128, 28, -85, 17, -73, -48, 38, 7],"c_array_double":[23.81013353753208, 41.847869246069166, 78.4228786084717, 99.5804907335402, 27.59679525478977, 74.59099223244911, 39.80521739276971, 86.04869356274604, 85.23969051747314, 99.02375936134645, 72.0666804344542, 80.0810202474772, 37.20623221571072, 68.38490062426857, 88.01791483097261, 57.69826432502959, 95.97303128635018, 45.554488171344474, 78.19136214886841, 17.07454352597648, 39.29468906291349, 10.715285414721558, 60.518335563979896, 26.879006947670433, 8.83996960472289],"c_json":{"product":{"name":"Hair Dryer Max Stainless","description":"Party chapter onto formerly seldom first normally anyway wow. Batch yay that by head though comfort while all.","categories":["clothing","headphones and earbuds","cosmetics"],"price":58.15,"features":["portable","compact"],"color":"navy","material":"bamboo","upc":"043760990119"}} }','{ "c_array_ipv4":["RrlsDplXcR", "KygqtrxKnn", "oNZnpUmLLb", "oMcKmwRGnw", "wacZkBDohe", "YMseihcWWP", "ryBPzOwTbA", "DuPBxjkezI", "NBhrNccBCO", "oKgSzSSyVS", "dSGrMjZGBc", "lLXxVcYVyE", "zdaFdOemaW", "vYtqhcfNrm", "yMZdhjYEKX", "bPAxNjurne", "HjxyzQhvTx", "zUXysmwrtA", "yfnJBTTLSx", "VxXGplRxoC", "hDVPbFqUjz", "AbwxXRppMh", "GGMgoFZGJQ", "AmmJEchpZj", "ZkHUxnUXkF"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_tinyint":-117,"c_int":-499756109,"c_float":79.05571,"c_ipv4":"74.94.211.140","c_array_decimal":[11.1855, 89.1587, 79.1570, 62.1621, 21.0143, 69.1420, 6.1738, 100.1686, 82.0279, 51.0082, 99.0844, 28.0573, 49.1848, 32.1899, 64.0281, 61.0548, 65.0897, 89.1508, 65.0981, 51.1318, 30.0216, 61.0733, 7.0564, 28.1765, 31.1634],"c_array_ipv6":["jzJVeJjzgP", "VXqBUcsyHl", "xYqUGXIYGI", "EnLHxsvNzS", "NeOBshPvrT", "wFYzguiCBs", "kBUbPqiWQK", "fLgdOxtlRG", "eYBguPzAPY", "XJqzkkuhVb", "ZDQGumoiBg", "VlIYacyReZ", "WhqtpAPmXI", "ohCvgxCmqE", "JwJwaXFriZ", "meGKYtdbhU", "fDcRFSvftV", "gRfovLgXhN", "blNbbkVJZm", "NWXwuezDcC", "CTmSGKmtVQ", "XpOuuSugWZ", "clhsmwXHAs", "yDRJnytkRT", "WChRRsXnzZ"],"c_map_datetime":{"c_map_datetime_1":"2015-01-20 11:06:10", "c_map_datetime_2":"2014-05-02 02:43:55", "c_map_datetime_3":"2001-08-12 09:11:49", "c_map_datetime_4":"2000-06-09 08:12:43", "c_map_datetime_5":"2013-06-07 14:35:27", "c_map_datetime_6":"2014-02-05 00:44:37", "c_map_datetime_7":"2016-04-22 00:26:12", "c_map_datetime_8":"2019-10-04 02:01:40", "c_map_datetime_9":"2015-09-22 03:35:16", "c_map_datetime_10":"2006-05-18 18:04:16"},"c_bigint":694129007861375542,"c_char":"aASdSxDqQL","c_varchar":"going","c_array_bigint":[5919794524619670637, 4642803160747837933, -4587775322705777317, 3545960914565848706, -3138704142790816263, 2231498880125046834, 8014630851272415219, -3916962559763800321, 653598640949002513, 4459466651471641447, -7482459911440289280, -3971892109546108520, 5886117917646018909, -8904924235279712573, 4112968568290226531, 7898921522462351476, -2300491965689673199, 176554923888496627, 8670681279965972503, 4080495694012096748, -8360539855180230234, 1324931594509642873, -6471289812185885372, 7946812734566374775, 6226869709469971281],"c_array_date":["2007-10-17", "2012-03-12", "2000-04-19", "2010-10-20", "2005-03-27", "2007-09-10", "2018-02-04", "2011-11-10", "2002-05-09", "2015-06-24", "2015-08-24", "2012-02-10", "2014-01-18", "2011-08-10", "2007-06-08", "2018-10-02", "2018-05-07", "2000-11-05", "2011-10-18", "2005-07-14", "2004-08-15", "2001-03-20", "2005-04-06", "2015-12-20", "2010-01-17"],"c_map_string":{"c_map_string_1":"BwzniwJOjlDenrRTeasTbMfjkMtdSHBTUHrfLBoUbDkueEIzdVkJtPDAGtseoUDWuOJRtFyNqSpBizcvAHyoUqWVnRNFTYYyYBnfNWMJNBNFzveEYjbxAusWUdXyLtumwGugKpQlTeUBJFztcSigEyQhTzByuqEqIshBCSjhypMnYWuFzjfbyDyyGHzLIbDpODfyVHHEDDbqmcZNNyEhxxFfYyCrPiOyJDegrnXaYCkGZhJpYFzjeEonxgoIZXYJWFeuospwfSKEYfBvguDKZRsYDDJoWMyfGlqfaWtYFRcVeZvOnRCYejlndqqwwPgiCOmTfgGkPLhXuuOnynWdqmbkaryMRQFUtpmpERlrJcBYoCxxCQLOQpBTquOmJxSqGsoqWwzfPfMLcEbNpNAmtWTKUiamyALkxheYwdGDFlXNNuftXmpktJJxdKAQFLSGFeKtMrbGROcOmgOnqWeHUPwWtuwkIpTbSyJHJTmQQbducjHtKiYJbOTSvQiWcOyh", "c_map_string_2":"jAKWSKTQbLgemiRTCcQHedFiAvYcTUPtDpqZelYbsWsLioVfOHNggdABtcaOEvDpIoYFLClCtShDphyumyNVapNMrTDzRzWKkGWCMKffbRpvlshOWPwcgFYdmEJMNvQAGqwWnpibEsUlNGalghXXVpaaBETxxQKMWABLADUjNlhVklvJJJswOZIsLMupmNzCtLsKlbAcALYcOIVNXPJlgmDlOswAdRAHiVUFKFIJAlUcbBcHONMBvmGPslSuUISzKXRrQWWvXTkXNdnNIguyZRusteBGENaOWXreclsXjWldIrGWmJuaXnRtuTdwIRPfOlBkoCbiUkyJwyDEQlMxNLfjbuTYasCfAeaYTvWVPltzPHEnwMhtYqPmjhHeBeCiOzIuiOdDhVPEAqeWLTRsXjgeafDlHZhXruKmdPphRZmtgaPiSntjjADGetskuVGBSUGNLRhmTsOKGzxOZHXVEIlaXkxoowMoFvjlGPHABTInjRnKCVupWqdeQGXrcnsy", "c_map_string_3":"BdOINaTycbRPCzdgyyRWkCJjLlazOXtgVMYNCBEiXvkdvxzvGZrSceSAeUcdkKNpKwucGbJfbNbUzcMXGRKcxAfTnRGFbJimSGUjGWZsrzFoUdVTYsJBJMpUTYyvrzxHdMDeITXzIdbWOxwDuFPtOJKxoxwcBcodgTDmggALwBzSETbJgLlqjXJYnJjbwAsvsWIQAjJiDSpdKOwQQAYLDILIQPVQnLFUPqtxlDRmujWtFEpvPwUyAHujgyFyPbLfenmSRcCWynImVMAWAJeOfErezlHaFiKtkiffAAZqtZQrLgQlPJkQFEfnnrmLHuYSyTegDSbrRLxrYsHLyemHLIZDJRSwfgWBMBzfbBXhImLRQGyjqEqkPmInFETSsNswAdqmMTsBEnpBSMajqhRrUbEgaMEiGVMySKDASBXBrvlpKaDCIAzJMajghVJWHztHMNvoqyFfnYlahkmjOMtQlpbCAVmyGUoiZKPkinougmRGvmvPAWxyUydqsfesoyez", "c_map_string_4":"xecSyjnYbQKvgXSewVEjHOclaVokuCouPCevPIHNeGuHtgJDzZIvegundPoOHdPnnrApOzfOtehlXadnsKMsjfsiHtnHUbmCdXHKJpFIHivzgiWPizHqGHiXHhfrxvglwsIdAsvjIVGrfdQebOkkYvUAllgCWcddAFdKnbUMrjVoGNhMvLyaUhokPNhYuDtzGDoUlMuEGdfdzpAGOYFiweLGuDnikPkSrLAAKeFVyRnNQhbEFmMqBSUJjdWmcwCnRBkSMnlTUXiTCGEBrIhQHGBLOYtxZItikxpyAZOYVqdAfHMhGnakedewMxoLrYRGwbjOIzKSVEEngnRUNPGfwrShqXvDGLqlAxLRpbRqOiVCUtDkmIuLTfgqHmGwhfZBYdDtSHMzhCvlZwXuMgfXAacFfaoRvtUacejWGCmlozrPAtnWayaufOdRluXnWWfzJjpsEvRWjxrBPecNmRKuXbXgRSfljQWzLzJsREiVILImFeAqCHBJKsnvnzcxtlPK", "c_map_string_5":"hvILhEwuNJDjnNSmLQFbEAXBeUhNgljINVXlNoRzLXeTyNvhkWRZSfqLsYKDaukkThnBvKusmhfnIbVdnSIYlPsMGLmimHGPCCuzrbMuGIUIDcffPFeeNtPhSAiVFxGrsTcAEcCSHvEzUSQBDHdajmZwlnXOiRhoZFAccIJbcorcyhPkELTIvvrJvjCssKRXoFOCHDqFswTjAgBjuazMyyrNTgSMwnhUCowMgjaQpEmCGFPLitPeBKoiZymvyFyCwUnnTFaAgOIXRAhQXzIeQXTAJtaaKRxrCqJILQTJEacJuFyfQOmpLbGNkfovFujmSLHJBZorTQrlKBgMCFfAYTlDXzItackMRiLUwkfmLDwHFHqelSEixWnmSyOFmgTziGeNDDBWnjNcDyIIWZHleYzrIxkaaYUsJLACdVqVbNgqvVcGPbbYbtzjOOYkiXYlAnTwQEcYmHgnmohscCepkKgECOThcmcbiDfyfYzSPomEdJIhKKOgWpOccuYXLmDG", "c_map_string_6":"uKFFsxsyCodjcKLzZdkXLcueifHYPEChZptAkeBjotNPTFoExiOSDmpHGNkkFWoImejxdtCHIyCppvLXWVfHSsbVgpRtLIaHxDahrZazwGIkhlGHqIAMvWYDPpLhCMkePdUAMbsJjkMnuXZWDYsLdDqQwddRdFFIJgwktReKWxPaqXesrCzlYsrTILPHplMKlKDrBoPJapFASvZpeQqpqgGDVHiHIvDmyXRRUCNoDfXnCSVfNBmgqtCZpwfWMIysLCqTTpYiYTOOjbaahCdeejdeyvNqqeMgewhquolUtmLWIeXJxFttELiBuoUmahQHLrcSjGxxzfqHVDwpcMNRXbBZiDRhNWGKSZFerwBHVNVjEPRwxnVwlrKswnIcRbSpzlNcqjHSEdXhxKfWQfpMhilBVcBVDpufFWEkLXtKEUcCCyXoHIifWxdtOEulunUZTazEQNZNXTQToUYwcguzgGoSAgubojcrMiQsooEXiEkwvRpwTlZqZTBpnMYuUffF", "c_map_string_7":"yyDpuxQvhVlSwZquRsUrNLUnFIaFjdQcJuhkXsrYFTEoSRgFNJbFivLViLYrzYBpurfvXBisIxcbRWxpygMwemxDiJRBgUnjHhJtkfvvpsATTlUnpWAzYttlrzXTfehjNNXYheTcbvipkHnVAgdSrMSprYcXFFPQBuOoDGpWqxXJtVvkaJQTmAZenHrSTiLjINuDyHQaCvHRFkUEszFYgYiSPkQmTBqiAyRyABlsyRRLsYZUxVhhHyOSnYbbLBxihVtgdXalyFOumptpvzJhyuQiPJIllaTITbYkCOFoczrapRZlrJfQsxijweZvwzsyApxjqieJCowqzGgOHzUSqxZpWkrBZBVPgFGGQonhTMrftFWIMOmGKGSGXLjbdwVLxjaqqNYgtWtcpywyKPKiMoVBwNTGDeEcmJfGsjduYGxFTKRBhdWmxPaNJZJIjwwwXxRhrwpBIfOoeunvkPHUPglmRgNoiOLmZYyCIhiSuFEWBHpthEeCdhUKyYGuVLhE", "c_map_string_8":"NrclihbimetnaASLSVsNGnaiSuYZgYznFqCYNfMlZJdHbIYZTpRZnxrhGekfSwdHesNpMUQNwKMkiLRcDuXqyAtAOFUBJPoaZHvaXfswjQpUfwMffTfYVZazdLqABpdxXFlkUshuLYYFwdCIUxobCeMtUfgxrpiXeSQaKpsuSfJwzVmrLqFsfIpLGRIZsAXEXjNkhvDHmiIyJDlGXAaBAGrgBKLvJXUSJRCxvgCwzLNSuEbFHFJNVlfxYcVVRnBdWUkNFpkKQLuRqSxcHPxzbBYsYhpOfbxOtfrlGnHBwRvKyfKLMhlPphESQViNgFrvjnwfjYBWwGAwVfOMWGEuIXduUTqIsBCxjOuWEltWdwdMgFKmyzaLpqVXoiAbyDpDKiBMNNzBRAFCAgtfhxRCwAunphOrdYqhkPjXOQMgVIxeXCyGjesBKUQSPEKMvuZxEIgfMYZlGzQHdFndkGMjpeubulaHeDqukCWELRxxjENXuKIiKuEPjEpbZNzxvEnu", "c_map_string_9":"heopDeluaiNLOLlxARnvzKSzofZkKkUqSCxFfyfXQcjSbxCXUlfWJVxPMrrGaEIJMCXwQXNPRqLkfjCAvykTrIzEeSnhzHSjMlqsSbQCYpzMoIxzlYXSdwtTeoXBGZNslntrPnzJYLLeSujrYfWwJFfRBueNoxNTdXmHHbONGMARiIyYFJBuYFsfqAbAFjrsfPPxSxXbDzJsOkwWWCBogMwEIyUrgmTgSFvsFFBssIMeuhSjbAmkVZmHYrWKOpUljJdvDPkoHdmJgolMmWtsRDmttHGPTLaKjFBFGyqHuDFiFHEoHGjDJkZsbbHmGJdzpBuXrKZQdQkIXPFlioGntnKKNDjuMBusDjtzSovBOZUaUBAnkdtwzsLBlTOAqpRNZFQAuoZtNpGEdLqCmcyiSHMcZverDbBkREMOjBKaWBLTzDkGtuKtxknvyebOGPcALBFuURLJFoObJBhxUazvBmLUoniwcpAtmgnNsTMvQaDjBDcMZXEjkozpnsHyYCzU", "c_map_string_10":"NRnMQbHQNPocwCtGugSlcQeiFsNfNAlArGjagLsdcPWUngaIBjtSEqMcUFVtTtxFagIGNKOvnxAFBXayCiKklHByUhNZHkiHhxPGLiRySRVjuuioqmpsWFnEUPYOkQoQpqdpTfPVuVtoRYKXtClKBLfNjbEIPeKuLAQrfmtApfhVtjZpHnohMgowqqUfGhyGzUKDwjrgjlyFVjbwOIvAZhsJlcukaGFEsRQhHFlghFkprpXPpcyixoZmlsIGePKogzGMWJSQUKhqqiYzHdTAeSOHPMySwGZSdOIDEiKGTYFSzQOlseVGdmvbVrgRUPeXaaHQVVNcdjWLhfoRuLxWlJFjjDJTsybIuYCTIDdeiDpqxzPVHsgGgxXwtICoDgmfPtOQzxpXtoyyzYobktDCjzzkfqVypYijVGlyBSGfRrWPVMFJBzIzdVwgHVreaAHNWkghypQCOsZuRoFvtkbMOvcUXWoEiNUxcYCCtkorofTaMNXdLWOGSAWIksnujapM"},"c_map_ipv4":{"c_map_ipv4_1":"250.125.93.11", "c_map_ipv4_2":"56.134.104.246", "c_map_ipv4_3":"143.12.134.126", "c_map_ipv4_4":"228.60.135.68", "c_map_ipv4_5":"100.22.242.66", "c_map_ipv4_6":"117.29.68.129", "c_map_ipv4_7":"74.130.213.189", "c_map_ipv4_8":"118.10.16.123", "c_map_ipv4_9":"104.79.50.253", "c_map_ipv4_10":"142.100.167.195"},"c_string":"AZRppzwZOrmFMFcWIHIIjvCsKmNEqwLpPhlPistdDnQZuESqjhwSJFOosbXtfuRywGSDXbUxlVxQbKxadJKlfmRSdeeMJCElpmzgfQisamdfYlVWNCFlcSRhDsfFjWheWbUAsCIsyIhUqEbPJZWJUuHUgFmQgYATQSMFEkhdWMUQvoLZPBTBhISLKtbtAZDEcXaLHDBfEABLXphDJTWbJDtBwWZccGwqJJmWSJieZmGEUCqKBqOhwQiDRpnVbaNilQWtvgNXDkzJqGTXwvpjdmzMBZBCgIAEpjQUwIwBCkKvlYirKiwIvKTODwMQQGQtBcmLMGJgmrPMXqsmKvDoJwrXBhfHYOJyOlVcsXPxyQCPasdIWYKZxwVwsZRIyZuzuvegQLAVDRZivOvtVTJScezrkgpIItESeGIwmCYZLnxnLghrwxBpffQobtALCxuueUjBAABVVEQFUAaoAIMVmYhERDuoxEVfxjMeOxbJAWvofioThazuCtGactIDuZQA","c_datetime":"2014-04-17 03:33:23","c_array_smallint":[-4050, -12633, -2681, -16125, 27106, -7939, -32337, 16429, 30498, 10158, -21341, 6113, 12617, 24568, 29910, 11604, 23792, -30594, 6002, -10941, -4825, 17663, -7203, 24546, 10802],"c_array_float":[78.47185, 88.7419, 53.018482, 60.23774, 57.11838, 6.970313, 83.025925, 67.77212, 14.771147, 86.35814, 45.83506, 49.326305, 69.19295, 70.63934, 6.2395973, 100.12858, 23.29873, 96.499146, 27.99119, 100.36297, 5.1257806, 43.375782, 71.10674, 86.53656, 3.6235886],"c_map_smallint":{"c_map_smallint_1":-18316, "c_map_smallint_2":-29357, "c_map_smallint_3":23648, "c_map_smallint_4":16916, "c_map_smallint_5":29079, "c_map_smallint_6":6055, "c_map_smallint_7":6376, "c_map_smallint_8":6456, "c_map_smallint_9":-21234, "c_map_smallint_10":2798},"c_map_bigint":{"c_map_bigint_1":-5038261060835408129, "c_map_bigint_2":-5293834086825550659, "c_map_bigint_3":-8411132184947568025, "c_map_bigint_4":-1797691475774853347, "c_map_bigint_5":-7446739314025521769, "c_map_bigint_6":-628146585197112522, "c_map_bigint_7":4972105576899235820, "c_map_bigint_8":-4404061344585892885, "c_map_bigint_9":5433118449756896933, "c_map_bigint_10":-425631707984413643},"c_map_float":{"c_map_float_1":28.823286, "c_map_float_2":55.072754, "c_map_float_3":50.479263, "c_map_float_4":98.09927, "c_map_float_5":62.48679, "c_map_float_6":3.691617, "c_map_float_7":22.072657, "c_map_float_8":47.112637, "c_map_float_9":92.881615, "c_map_float_10":18.947851},"c_map_date":{"c_map_date_1":"2010-01-24", "c_map_date_2":"2007-06-04", "c_map_date_3":"2012-01-11", "c_map_date_4":"2004-11-20", "c_map_date_5":"2004-07-25", "c_map_date_6":"2004-02-23", "c_map_date_7":"2016-10-15", "c_map_date_8":"2012-04-21", "c_map_date_9":"2006-12-01", "c_map_date_10":"2000-10-03"},"c_boolean":0,"c_array_tinyint":[-103, 34, -73, 72, 13, 40, 96, 42, -71, -41, 98, -9, 86, 113, 88, -74, 59, 16, -31, 65, 41, -89, -17, 52, 53],"c_array_char":["IeeFhWXdQh", "znSiiJTjcJ", "vhGWUOdhHl", "xlooMfJuTh", "iKrBvMbRTA", "CoQWwQEviI", "FsImQNoTdD", "HGSCkRssbJ", "nlThCJmefB", "kFDYPQueUj", "VckcURPqxw", "KcWgZScgVH", "DTvLmTjtZb", "iatZdtHnuD", "duPnmYIgyo", "guwZlolrdT", "LQlqZxAioP", "WngJkHZEAX", "OaBOopUUFs", "aqJnoUhfxH", "YakbGxvTkK", "RSuIUmuDvz", "wLaTdfBqyI", "DrPniPDKvT", "mEkTXbBfax"],"c_array_varchar":["ktNRFWnYbLGcRWfTHkGMIGXoKJkwiMrhSyEnTPQSvPPObPdnRrrapHcIEUAUunENoHnNaSIyUMjiqRajquazLHySBVCpekVjfjhXvxMGeHPttDjmbIIkCfVcsKVusitKzuhDYHxMedSrlhvgyLJxLyhTIgdXgklsLzSAPTtrmcuTOxbhJCLulCpqgELwhGdRklTkxYPLYLSRFEICaUIrhzDHuryLhBCPUcPWylzuRzbtGYhXllJExHkMxhgsjlbe", "wXhBaNXjXtfujihKDBbioAbYrdJGBMQLuCAaAmYAWYIlpLzAQqKilibxuBmykALmqWkixmlOxdHCQIqKnoJAinbXnbOoboThxKrrQzhSmYSAIglCUGRwgaPpfedRQFmUBpXTlNYCHCGHllKpNjGJgFEuMrpVrloXvDHzkklldGZVrUgvJpBBOXbEZqlqvIMCtIhaNfqbrOSYUetrplyDChMizuzHXqwuqsXoFvuaPdlGOFbpqNnCkJqWIlMCtvoU", "ddtlfViOsIJOJjherpcdqThIobBhjYhRbeGZxOuZEDSyUscjjHPRJaMaQXzjVAWpkwADsywzYVyIJiPXsCoIQuaAmGPFMICCybGRClSCLuECSQAsahVaeffLiKMKoCVHgGXZmHxhEcEAVTRtJGzqvlQBIKCdovOhnxrwJqjTlLduusneVdtYqdZiXVJKdglOVVqcUCqVXlvKQfZbFFLsSSZQPkWWquURfbPnBwbKqbcISTWTkLrOqRefvutQKyuZ", "YxOALEZiJcGAVWgaMrHfyPxeEViZaPycSTmGfSnfnUhbJTWhHHrGCQgpuyeXOqffOXfvjRKKVqtJhWGvtHojJiqViLWmMPemgyUTSJQdhFDVtxaOLsQRdUuPrunqvKmJjkDWCKGaMbRdUmaZwtEspTFSZJlmkKVCcEpuBEPkoNMJhPrrJYGpFfuaVVdNGfswXJfmxEZYOJpxJYEHyrWnEUDoQcZbEaeKdUhbTpkslgoJzyrwYeYtLQBtnxVKlQyJ", "RtThrjPCXHGdBVPwhHjKJKaswKhrKpUIjgVbuOiqyWAvbqOcfVEIZFQoZMvNzyeGlvxJqJZYElwDmtlsJQBRCtoBzBbNakNnWXZtCGqNCSZBbLLCUcmLRgGqklJtaqaqNZQtrVtRRKQvGqyguAEyFynxebSQtBbsDlOfnYnpptyBpCFvrMRhrfiEROAxaMmdKoWGLhvwkHhQhgcVoRUQDeoptErioPrYhCogWyemFyVQoHzaPIxOwFsOUYTcqZLV", "SYLPkSbggFQbuOlaUHBXGzUJfSSvvgqdKFZvmaaOCYtVoAopVVmWuwOyDjydEkbQHlCRddCXgfiaRYmCeKXvnzymVMAOvBanYPyvbAngvDHqtdXTsvrppWUkcvVTnfgcWseCdHGyRXFIHDrzRXGLIREhvmOSsAFecPbMfZdGAMSLQMzIcHRWBzUveEfnPSNenyjgtvAsacBOpDXvjYMKqTGAbIRWGPYiSUgHxNIPeKBgdWUNGyQDPisAnuHWqVTY", "KaPIRrLauuUVppnfNpesfdGabAvgPbPRIiLgVSToInhujzjMGVvpmdXCzCsZtTtKmDjIVnjVOvPwcZeytPMxelwEITHyvdBERXMNHHlhesqYkfLPwxMFepYgYGXTUUpvkXIdsfnQBEtaRDbwTnhwWstjHhEnOxLYVjkubUdjsnZhzmHogHTaBJqQLdXuPnliuGJzGoIvyuvSdByfkQIXeNbPpyfluoNdTftPfJTxcUJgZraDdxCNHGDwQBBRBxHE", "aNMTsDNrkMXADKoFaGhiUARqAalALVZomVCOJnurIqlwXMxOzgMerwIhIVyvWxSoacqCtGtiKCmWsiBGODJRkXxrFMWepvPOQywTXjjaQJlxzOzKUKFkdVYEuPQnbtsOFvZDxFrTfdNKZtfKfKqIVKyPSuZzwqEPDlaVvgBCfeZitFWexCMAIIceVSiepYUggSSslfSfnNigKexRzQVkYDddnFmhvWWZVRjEMOtTXicqFVEzfMvgWzmtNDtDsvhD", "vitnMZNCNHweeUvQTRjWcpPCqQCMZhbKvqCXkMmdPvvtRUXTpqMfGconxNCkWABWmcBbidTdXKcvQYKUyIGhdWvuHArfZjZzRxAiIaUQdOZKXIZZGhFjQDfBbizbnpTnrYNOgxmBgtjmXOBWWsfBBicBKiuPDCVtYIVoLDEffEtjCWfgTIGqrdrebItpAFGkxZPuzMDHcvsfIyeGjSGmUCPpbvMUszJEVqJsjgYQsXEPQqTdSSlQRIivAlVcAnHz", "fanGKbteqVFEdKRCzApgfrhyaICWLrnWpLMtUuRnLfXHIujkKZYPYozUwSGDhiufTJTFaYBPAprImSfmSmWhmcfGCXWUXETCEaUpjEqTGXWHyUfEamCmQqSnTyxzFdspIIhwOOYKHujsDLSgytHxMdOTjNCFpqDvyekTwRSqmnJJRZuOtmrsuAPFfgSaXJQfLvCasWRNdkRIgmETAfqpJgHpQRiyMyxTWJtDyZYpkJkqMUudepUAunrLUNRrioiJ", "VHBORuVfPqdbqcgdwTPfkBGgThbzGWbQqvXLPComkSJoCRGindOAszjghEbvGriiMeRweMLvnmfYptPQzXggJcnfNxoIZFvPUDnCBbssXymqVgPAUZOlfSqYsxbPEvShJhgdMIfXCTUjkogRaLPsFLZdynvWSNSxLsvFqtMMbFrmoSRjYhgFXmbliecHyglVllIBPNLQlHnJjaAGzZYnkcfVEMjQEIBHqOVVfuDMcmoddiuxnYZjPLBcidrImxoT", "olFKTznKTGiVJRakbbHoMAQsWWTiGMaJRDcQNLUaVqxrxxMTCATBOfIGCMUCBhdnwAZfSqVEGGgOmgvEkQnPYOCbjVmhkbdkqklwsaYrdNgwsdAbsHjnzCpgHxdXuAowZKAaMRzuGqoohvZEwiZbDSWSDFXywnxqRStQyIxEESsxZBCNafUKGvobyHsYXTGfGdQSuiGNtwXpFARRYOGblyrLtUEFUmolIjyVlbuYoQxCxfkhyGajgOqrMtmhPTzZ", "xNrejfNnMIuliNuqeIwavmNkjWgNJHvfkyseRHxUMUndYQjYJZdhpCvBIRexwFlUzKQNPqXHIMwQGrgDfdYmCKiZTLBgKOdoPnRWWesFwWdOdPoxrjAtqHjkqTQqafpQxsgQOefzukZfZwiHIhMffDRFJyGlzzjoCjGXOxGUaeIRVYYPZSIsHzeOhyQigfPcRYLqGDhRHrdyexOtoMBYxoWxyPAMvIAPuUoSQABbVPDluEnlrgivFBMtNJgskmbU", "aggBtDVSCsJtUZvjAHHGTpPYcHrqxRAWqzYEBcqyqPtasMTTxdnGLkgtdrpvVgQXDxqVlwFszRBHUzGRPVhqnnIIgQFdQAXGSlsQlcSpXfTqRJXQUtZfZfvtWyGRmcYoeujhtxPezuZkGoEeHDjWSBfFRXoDKbYiHanvnOkElUfugvNrovazangKkAqkvvUxyJDXPjMrjZrfzUgtcugRjlkObMcEqgSVylcPETRtttAkmRasgbsOagVCERCUasNO", "xFyjUQdKlWPxiUZNEzVMcFjFWvuwAQxVpaKDqngCeOLwBiQeNRowfbcpurQgMdPMFHIOeCtZMfIiMMBdaElyPQcSuCoaFOZKpPzSCHACHQYwyxwiGzxaIgtlYTTyojYSxfEGWGjOXMBZQeVCSkNCEbQKbIXCebmIHuTZOfbBmUgaAqwRbNUNVPyBCHyBnxhIMFkUysLsmEHxPUjpbdOXybwdFpSoMtNcAKEMavmWhvsqWEZAZwBeYDSzwzzJBONl", "rnXOErYJmJCHfIaNCcwVAuInemOfubuFBISCeqhxSthLQWAYcoNJCRgRoDupkyAnomQdTHMkBFHUxwSDZySGLyjUQyFDrmWhewdFDXdlxPtMLpPtRaXRbuqAoMExWaToiQGgGhfAkoWBqLlxsGTsDqSUWTEyTXliGYwdtCTAgrdWKQgEDbHOVyaJJvAddMYBcdIAsQveQoyiBZsIGNzlUtzqWHGhlJllwGWEaQOWPBdOTOIFNISmspGiUUGafzae", "QceObTAoliXkLxVzKYnXiMnjuxsNwJFEIprxPoIVhAvpcwWkhezTvjQGBkkvtgLWjiPaRGnftPNLhhDrkuaNswiwxACxLVDTVCGgVsAGaCjtpIkgaJJBihmejWgEXgYTlyjWbBdKgYFkGEVnDtQruFMcVgePvKYJlegMKxNmyNVJovSQjlrBxvksUsYgsPSJEMvOxxLahTghIGDOotHDZhesJoDdbCbvCqslguabrkZlGKKpHvKnDssvQlJCKoFC", "BVaYwFxcoTtCCykUZnqZCqRTcvWMQOeysOAbBNONNzSVfqIrXXVOUvHWGtDjKHrSoasrZrWFEHVXIfmurtuCgGRWZrKqpYqWKZOZQBRnrceQOKBAEpSklNBXFoLRuOvSsuveLUdSmkEZOiZkTPlArolavOCkeOFKAAFoEfagdJyaprwRQIddVTFAwtUMwIunmOpVHlEDZRmYoYrDDZynnzlSccukxHItvTFEGFGmDQyyahRNusJwotjzjzpkdYof", "bEYdtXlJoSwVgIXUKFxoCcqcaOnJEJxXOSCuINgJPQeyskkDfbeJZkNhhQuhlWNERRZModuUTUNMcTddrhPqivhNgDeLHBdmgGGwxfbkklReGjjQHUvUimyXFOOhXZRWAzDdNpYfAdrHJGrOVpZkhZOLTHbPCPJXvWMweKnrzTHMEIKhZkSSxGziyGLnJGtjIQGvoLOGUUMSdTzSjavQXBmmcsmwOuTEXwzhEHVfkKwSstJDBRPtyzdiKyccihDk", "KIxyIdbYNuOIPfEFurCIIYQvnQmpPJMybqSiotjzPnbgctmzpHeXxGvECamqlhiDLAmwrgsvquGRTGBpSsmoXZGTkvRHxagNYugRmSxNwgYmUvGGNtbCRgHWcgNBFHTkKSwPTuoiwLYoUoEaEKBuWwgAPWqKFobeqZSOFjXZLyDtLOfQcSniQZPSMLdxsyLqstpziKoFsdSLRhakOlyqEwUkwSsoQDhTAChoXDPwDAKsJpuwdMnroTnlMwTmuHTR", "bNDjdKnkBilDXrujDHoifgzGgVFewAuCwmsTPBrcwPpRasYoyvgjhdbjErjvwqGdxuJnPkLPmHseGhBUKBNuMPxnlGyIopUESRdoiEFuxezcAThxMpbCGVKiRPiDRZbdvYzTfMmYXgOPaENaPitelwZHXRyjPlyLxQCGZzqUWMOjBHWxkxqnNGuUIrAKjFqeMnCFvVdudcfuyWEqnLUtOtAKfccmWKsDtCAtUqhpZIrQGsOZyqnuhTBoFQgQAUjo", "uECxpcinugHUbpFTVOTpeITYEIJWBLZtXBqbfpirIOIWXJallXJtvFkNFxpwGThHlqKavTIVahZbivUqyyalyVmsfBZzTGBoJIFmgvbQNSaMCbREAXbqOTyISEhVhRQPJdduJGnglLZGfxMoGkGrzqpPmDaTTCyoMyGfJSnjwpVoSntbPJbvlpuIFUGANDXDEMZiHDtNCmzyXKTpojFulpOUGBAaGErbIaFHhaAsVHfyMPpbVWgAcYkevehKRQRg", "DYTlxSKKpNOyTeNkOAbOxXyIFGsHHVIQkubEeMywSZlYNClTFyPCKZhwCTGPnApwYsMjXNAZOemLEVgXVRigyWoVSHimhaWPfdCkKzMiuCMmXxuolbVIMoSMqmYqchqYgOVZRmJeKDOwVOJEawPNCsbrhaYHhhQdqBtQRBQjZdnTeBegtBIHQTTwSAOKCZLTSwGIxyKCnFORxpiToBLnNONRtUHGKVxrQBfWXIgDfFxhvVNAVueuwudqMOcLlxzf", "NAVYdoQwdQCmtdjgbornoIusToePimIXpEJPsdVenIYjjHFccSeRzsRmbJOGsQwbgaiMcySaOPUattfOpSaCbjJnjkHdLgTjbKfeWuxPyTmiSkZrVvXFjsHibJoAEhdVTAnhWXsBbobtpZxPcndSmbhTqsojLabxsUhOCaNaoZiLIcwIXtgasyfuuRTRuMquDZdQMZIrDnBsDOgHOdVMGEPjIpHQgXoUsFWFPRjbQritmKoDSmrduQJtlcTbpldp", "FhIZnvNwujSuZbLgMxbowWRZWhrTBtuwrVTPRzfdnfiNrpiXSJvNbDbIUGdAVzXYeQBhDNAzjoUoSaxbzeXHBiphskNsfXgmOPiYTgYSSDlxYNmPOFaTTGDthIhkJHpsfjdYSQFcwKmVdYcqhQjPRQlwiNytvrtRzYNQhEvNfwjBBpobfLjAAhXFSahjdiwIihPZiLQHFpxmYXsGPwawibILHPAWfMenTWdiqHPAxdhDfVwhAwlFCWgILepVWeeJ"],"c_array_datetime":["2014-04-27 12:30:11", "2004-09-02 21:04:14", "2019-11-15 07:52:52", "2014-02-17 18:00:42", "2008-12-08 03:11:12", "2005-03-10 06:00:47", "2017-08-06 05:01:42", "2003-05-15 20:06:09", "2014-04-24 10:59:59", "2010-11-15 08:14:10", "2019-05-26 08:31:29", "2008-07-18 14:56:49", "2013-01-11 14:09:11", "2013-05-22 16:58:50", "2001-12-13 17:20:55", "2006-04-06 03:29:13", "2002-10-23 21:52:14", "2010-01-24 13:14:13", "2008-12-27 08:29:57", "2018-04-16 00:36:00", "2007-02-19 20:22:09", "2016-12-18 10:28:42", "2007-07-10 08:38:39", "2005-01-22 16:34:39", "2005-04-02 03:33:54"],"c_largeint":4304599570337792503,"c_ipv6":"58ed:6d18:6717:7fd2:3f19:acba:efc6:24c","c_array_int":[86817938, 130132525, 360244317, -281105602, -727722859, -426952855, 908867971, 1956830297, 1943650535, 467458098, -98504084, 1982373600, 837126481, 2106190297, -1663576724, 699619884, -2138061616, -1632818910, -490353393, -1226923497, 1203320835, 234177264, 80629097, -1953995112, 1287291224],"c_map_char":{"c_map_char_1":"vpCpXWgTeh", "c_map_char_2":"LLIeUGTzmo", "c_map_char_3":"slbWJtRrxA", "c_map_char_4":"SvFcYaLxWk", "c_map_char_5":"mEBFPYZZwp", "c_map_char_6":"owuRPYzwqe", "c_map_char_7":"sVJpDMfeZc", "c_map_char_8":"stPRWiolnL", "c_map_char_9":"SsGuNheotN", "c_map_char_10":"sxfQCybfYb"},"c_smallint":25729,"c_double":94.18369686660161,"c_decimal":58.0695,"c_map_int":{"c_map_int_1":-1351885546, "c_map_int_2":-1139818920, "c_map_int_3":1401934003, "c_map_int_4":-1552441576, "c_map_int_5":1961216785, "c_map_int_6":-1084935789, "c_map_int_7":-1404094669, "c_map_int_8":527012597, "c_map_int_9":-496389808, "c_map_int_10":-155466856},"c_map_double":{"c_map_double_1":41.743554294132416, "c_map_double_2":22.619734772375697, "c_map_double_3":92.75492241024561, "c_map_double_4":96.26785177887966, "c_map_double_5":74.70976444265183, "c_map_double_6":65.60149933565394, "c_map_double_7":29.447032217212175, "c_map_double_8":67.1640819166133, "c_map_double_9":9.744652980993477, "c_map_double_10":76.4990874082511},"c_date":"2009-06-27","c_array_boolean":[1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0],"c_array_string":["ZISEWSXaufnDPIpBLllLXCxOBTxbOwfpXPlYAHeLzfIplhIQvKpjeAaSxQNlmTRxTeXeRyhZRXVggTLFZOwCkKUpGrwVyXCWsFAigXgOmhGmRtRXuffEArpycaxKwQcpACwxAFnvSflRCHvCIHUGvGGFGcKIEduAyAtRmwEFskuoZOZRWZEXATjydghRZUAqgvodcejerQvXIUuFdnQIjfrFJFfMXDCmYKkXXyndyxMqGnShXaIaYVhBNqhpPFTziIMzgXgnCjFCuQWhwiOOKGdwxIyquLNyZzSEUUVumthlevsgQgQrGZfHshutXngBiUQnFfntUxPyZtSwihqDrPjrSXpxLmhJzXOeIUqokXEhpqbUavQTlstQPFmDWjFJtgGqFLNXBbrVHPaBXcCatzsZOiXHJeNIDcPWahOkQxRXSShPUvEaJAxXiztHhBVVDResrONzsbEtqyOLIUaZnbWrdxeflnoPriJNZjcgkkMUWVXWbJDhCjlIsBuCCkoE", "NJBzvWbDLkYXbFLXIeihgYBGaYYewZlHYKRoorHvzsEAevtyIOcHoRXTnkoyiqsypojARMkaSSBrQPPESWGzWJmcoCsrggqBTjoexMbnKvnwtafEFyLsUyzVMjZRYWEhpmcxLmjOxkeOSHMrBWdFfAZJvdrGqIRTbyDesUiDuyrhRBsfzXLxlsIMxniruvmSiMuDDTGSwOddhDDnnSdxHNsFOGmtiHulOmkWJnViTQQzmkLGlkhKtyRzzzmcnZcdDJJfPCmCDAVEJYUAsGnDaxxERbOpgcuksRHApLvIHfvjmXumiLFKWqsrAyCCdxyrSBXzwQQUAbxlHHwYkOKPrDueKhRlRlTXqWTmOSlEkQFsvyQbGcSALbQwSNgvluTQLUahzcoPZpJTuUJnRQOQEFkkKToUHdHfQlRApKRxiULFdezSKFTDSaiJTzCpKlSoMZVCUwOFOCEpjwjzYqCCBaGVDccToIOZSOXvpfdmUiXmGrkQQhEJgWZqIkicIIUW", "igHzXUIbNdnPyjfQetigzRwBllXRDKGeDEJmSbxOpEdWQLkyJfgRxaNpOwpJaMiPqhzyaeousUBUxtuIclZoJcfsCdhdNbXEuDvexYwpiwMZcPFoZEyTttznFeFTyaqsMrEkKBJMvgyfOgbpqUempIjWXlEduwqHVGAnsFMwhHTFmPNeoAybScixiOMJjyInqyAoNqhTaDbRprNMCfJFWWwxWUFlENoHZiONYJCzMcXzjowSfoEOadMhjIfyMtcrKEdTrZLbJPMMMvQqdSPzKAWIPlyjhjQApzyeEwNuVjthzydaprBxCLAtAePGBwLZBGXPiIklZkDKYzldPRltuAbdEVStOxRgjgHBlYdnYaZMgcUMgcgnixBBXUDdFUzgaDPSlUnTSfYnRmoUzngxHlSbXrAjCLymtwuAFEUTqNIBuaAMjJRKZuzbAQaEglZInOQZwUoOpHPQevMPIIHEssXHTotZLkyZaPPbKIOVtqDUeIuDjWyfyLlMBSqPgtSV", "iApoNlpAMiLKjDVdPurSWsjGvCNiLhqkLBKGiKWsEXfdMUtIldsZcnJeRvzuiNAJjcNZMXJRiBpwLDQqqNDPahMGPOQKTqdyOlhJCBXkkyhwCINZKipFurxUDPYkxNrgOLgdVgymZQFmYFVefxvmbbMbJDSTFUyfPIvYmNiBkPusPNixOTloULqiCvGVimOYhllCkGjkeZBcAisrcjGNibKNhvxHboXAfFXJsFYVivpAzZtMDoOYEINcQbYJrIVVcqAGSjmbLQKrsGXUxuUKZTLgIuuLIXebgxYhWEHQKwVACVbldARSElCRPYRmyhSHAGoLMdjwgVQqSeSOCjhWrXUHTastjAoIRFYHBfdpCIlyGaImuRvRtavseEafqDqZHJYqCeCnbfmhbJwjTPmaPKvugYJEgKYaGoLrSRoWywamPSfOJcGIuLzriXZrmONFQwSiUUEjOvvgTYptKWDptIUDfOagHenxdfMnKcEzhQPVQXCTOcrgYBBELyCkXvJP", "sEYsRHOboteZIBaPdgwDfrDXDUDdErvryOvOOLqrHNlIKIIfsgqxHBKFWkeFMUhruhOeCkoCAuiuDfHyPpKWKZQCBmRibrtWacMktXtWbghPHlEZezZDHWDolfgpvVVtFDHEYzfJNYvfHvFRHZgtRzpnZGKseVQYgiHyuAzYKVtKdzmqMQffeFORGDqcIoFUtSEOZPlDEGyEEzeSMkPsUXDCgywSMyeBzMtXBXyEuGhCXyvkJZIYXgDenSQonTdGQDSQXxEVeCHUqGROovbYvCoVtSBTjrVBmoWAmFWKEPXiZCAgaONwbDyOYFWZvmrNjxhFwahRGiujJoDeZmWLKqEHnbfHqalJnkhVGynlshrGLHGuSuxujixJhikUNcSWltadWohkYzhUyaFMcMyFSpfgFKmIfaYWvvwDUIhbyavHFDRukjGmaLMNBtKvCtDkpLoPabPpOHPELImfrmWMgpEoKnmhdwcwaUMZmHNMhwbYveKKhQCLIKKALFnNrsXA", "OrzPReyqwifwwJxoFfVufuGcZrPVCkowOwVPGfvhmiASRerapdoVfnlhoxJJcfDQbKFSRPMUIXQJqsvbvnRewYkDjoZMwhEvsQucMUXDhTdnmJOVNpkuwzxDGaljbScAZmfVTwxkHrrxVjntLwljGiJCyBfQGeIUUEpnRepKgeQgPNgWYLnXfxzQYCuJlwUtOvaVLahFQUyPRGXsgMMzpldUfpxkgmjGNBFPrhxhRJnbTFvTGUUVIVGZpVyMhzjarmnwzWZivzjXtyAhnLSIxAcFkWEKWrOVavJMmyjyXyQEGywMLuoWUMlbnbvVENCnLKkkPgVZdyVHKhnLYeqEbOKVXBymNcZeNOjupCVWkCCccpUQdyCMrNydjPNATeYcCRTfhMkVIzPRyBkvWIAeUKkObkHPWvigHzVmTdFTpGFzBEozsTLggSdDUYzfJqYDBJvsonNmxSMtaVXgiisXbxrPyZjqmhMFfehgTRcDQGleAGhOrhytbrQTtNDmxNrT", "PAeguBdJHSHYhTOICuKIfAtrJUEynUaLlvHpEqNoumnUAyrGdQcwbIdbhieELkAPJXYEMzZUARRACbbGGVniHkUhzEYCHflwyOSLrNHYYQTSdZJAZcLwsJjeFddMWRwOHoZfvIJXVNjCmlIrpHeBgLlMUtzAGBraaFcDvahGVchFuocIjxXCEioWhrJODbphFEdFbPrNZFmKIKHRbgwxYPtbzrduKcoIEQwhXRPHqkLporFPjamRffzynqqtaIMOEwPrIEHkkkovImfGQyczSlMpepTdBVLjYhNBDwvTfMulciRvpiForQefTgNtBzHMQcvanmrWKzSAFbuvwLkCTlYakMFJiEBftxrFUrUiddUBGctAnwwCkijWcIYiHChezKKHTJsXqZxeALZXqYduSgMaZUeIWydTmeHIZIntIGqhtBdhSMWOLunEdVyhJBzbWkVbSDdOtZtdWLNLNtWerppBNzVYayMUSpjFRFQOoaeqSuKAojMeXjqhzfsfdDdW", "TeRhdYgewGEFkLZkjyhYbVFAJYdtUOmKpkDKyfsMJvQkRXelVVuMrNPZHufIBznLmPQIbEorppgEqvkVVsBTECEboQCBmVsPBgFNTrhPpUdJtMnDTKOxmiMKOkQIxMoKLnVBvdkBQnNwEqIQBHSlMCIJqKrJqoFmTzVOtGCmieUXFjnPRkXtmrQKltkfLZVxjMrtRewUgyTREJNdzfatDhrXgypedUNXvqDpmGyiMKLlLLChCIypRnRFgeqOYvaUGKjimsloVipJoZwNBCCBtgoKgQtplHmXIdKptLNMXDwDHXFTLHxrPGEMLnrqJlOQWklWscOGxRlWgtSzVgiuvjYswbvXUBylorIrFVrMwzMuXQICrTHhfUFcVoESbmQMLijHafFRRxavRWhJgyOEPZKZFQLaWHjQTilprvOXhfhXGtwuWGmkDgfrNTFiWAZqSZhAdajyFhRHSptIoIQNOaBYsgALjfSzcNPZhvRhmMtmxOMVFvYxfGqThvrYPcBd", "ziQvvhuJSwfNPHUqPZuNSnMOJAevVVDvRyvyKLacsJRkSanNRDIpyIohhPfWgQwTkvIxwGIaKeaTvODbAvlgVMOaMDmKcCQKWqpATXBYxkukgCBvabIqbTxhtLXNlxtYZWkcHLmdaiXZDUqedSrRqBEIBrhBoLXHeZagBnPNEsbiXBVkBwBDNMfNQuQvYxaEmqVScVoJNmbDuyaZsDBUEGOqlndHnUOpStPkPxyupUJzzwOlLboRhKhSnvgoadrjWJfcEhhJhULNQtmyNqlWlmEqMBSByDVKxkoEGhAAvZQoYRPyNJhyignOPhEJzTHWzxObJeavUzEnyXsHvFBjDudQpbNhpeKzvEKSOFTVswnekqLDSZkjIAYoOmiMONTLXBpcOQzqVXMoEOAtWFMHtSdsGkeBvdUdWZSKrOJQvJlhLJiQaDvqncdhWUavqjPjsJhkOzbySeMjTBEQUkNIPaylCzQQTTCarPgreANoxhWNbXbxoQQQedwhdulywRUS", "mrNEqGAvEVIwuYiHDIZqFjhiWJovawpqKjKGJSJxvamIjVoxEMQmaSlqdvCJToYdSnxvbNuDFQTSbyMgNMKmLTgVSBsEVyUZwbQYbkPzMvsCHbcCOKxEcCmzwYleIDHGFigrDIWqCtbkdksGyIAeeJbOZsIrODkbgxjaXfAPjFHxaENJkjKltpEXLfqLQyeysjelkHSgrxHdfHIQIoIilUWscbXZUymuwhrVSyPQpYdNGlZAhiQqzHvCpZuOPjcOVFwrwjxHZNmfRnoNmacAZvnEfMaOXdksdltVNirYntAOxNeREiNVnNvcyRHFxIUNygWUCQjmBtJFeZEynSZhZptnhwIsdvGxZVEiieYADBeMzHPXzbdfIPSygnGulOqYcfuThiEuxQUyDeaHuitoUoZhykJEMebMdzfCzyesiUacXdKRZKirSSItuthoNrlEexyJAgCOqbPftXqEWxJfIIOzDLJDRFzKuxnqrpHtPsfTRZATcJdBkIYFEoJYdVbL", "rejaxXIlcALpTiPxSwlZUClrEhgrIAZCCqNSzZvUuSSuUoLAVqjShCuzOWmwMUQwajeJLZNgfQTrwQIxTDhNkqMSGUceYMdEtSLzcGDFHtwphaaPWvehFERKnRoHhuRtZVKiIQDPLHbhgnhwPdhXUmcJJKubazCJwTtxaHcHyOwsbdBSxASwrqeUpUGIKEUxVysNoQeMYDCccMTebigcNbOlrVTFGfoxkWbztHQYFZJMQrPlrVwBsEUBaKHbyyZRzAotwnIqtoHwHbEmkwJlbNSJjNQpgZRNjsdgjIudsGPSvRZWUBVCImEvzWuVNBrGETvHihebhrEqWPieUnsRcNKmgUqwsxFkQRJWYBIMIxEbEjCvlvPogxryPkNyAWzIvLXvpAcHApDGuiBFFAahcGIEKNpTnKQrmHWLSDKcbluxItuwQLypfIfgnSrLQNjuWNFgDghtHlgOJUScZSVDBpSvLKrbbhmnYTRGZLaaoSVgpaqiSmUGjWTlzJMAmZCV", "ymHdClezDVDMjGFIkWNRxgIYBbSKIDlKVJdchWpbFWUQRarVYFScNXOLZCPqzocOjuErdFRCidAxdYZqIrtgKXpoPfWqZprmBnTsjymNLQZlusYJHQhmvHlhenCvqbuJdFcivDMvFtKPIpkpDXxXDxjEQmBUBmpqLfHsHAbcypHcfGPUlONZozBVKBaYkYNyhnySfWdjCtXFJZQSHeHhvBXVzthyRkkuWagJOZlPoBpDqjztfWuoQjYGHgPllpFCBucDyIvzUvoYRMrqEgZcUNhfGaBIVBgFIGbQFLjxZJBjkyyakRcLhUcbquOKoRmzAxEpYQNVgLBsElaeuaOJGacPrnkUpqtdrErxnAavWqNSDhceJorXZdewbJfUKxWmwUiDfQDXFXhbUaKHUvrmAzzUrCbmcAgsCgHZZBoxqoBRjwbMqJLyIFDTNsHgaJvxDWWUWMWvytjtpRfrWGTocjsSoDEKSGexMzVAusCSBtfKSZTmVATJCQRXSTvAUERb", "yUiWgORnNGOrIcnJvklFxwtHFdlASFtPofAfgMmZwsPwvEGzdhJEVmxvLumYKtGDVcfbpIiFSRQGULUpaJimqFmmUScKTsWoOWRHBScandHcXerJhlYOqOaHERbMXjCrmlGKKFZImuljnudnGwezKIrUXCmZAvghTQSwnVsuWEHmRZomTqoNJjknkYgYHqWVnEvxgaZViscbiHvEKRJBEKZzdoHGZZaMkAsRdAfwstPcUpXamxhxvYfWvOVTlrPkuCUvATSlqdUUVOYRGWlzQATmlyJclmOozXpSVGzYIyZVgAznqOjIXslEDdCTwOMCfhWDOmPzwsPsYSZvNOsAgQNHSaAbQDGAzwmdrspDcwyuhBwuwbxDdEbjooAUjxVCEBXOzsWnGUpwaeOqJTOpONmbPqaEjKPOmpdhMjrpghWFYciAqOyzrsufHMhCIPYraleTWBZenLYtxLGCAVwurGLjTBgazcnTyKrBsNWLTtptsRDPGqdXBqtkENbsfAfZ", "zvLoWwRMNwvwYgOsgsVulGxgKZMqtHcqRJWFrNLRlUdkMYdNoXVNymmDGqqpMBXAbxVekntaTmNcIpxJlkvjcxyPMhpBRiwZmRgoCFAFNbsweMcrKMRYhGJuSlCucCHwybmELLGAzOUGadakOVwemlgcAvaoVsFkPxyyUxMGLJpPLRRiusYKdbLnzWiNGITKdooXiWAKdJVCtFNKPBZmzzZISgbWZQNjWkBbOEaJCSycqRNWRSscEnOIfZtEIzktLcjAcNwcApNLRYfBwcLVXkFgsBSeghULfmPnEFsuyEWiQgnpnrRIxdcQyDQoTDQXIIqPIWNNmhAcIReEgyooKLnOAgKqnlLpjqAjlVYLljgVDJUyDwTUNwWPRRSMFzjVOodVrmlnwLoCcFsWbeKMUoSaqKHgnWpqsFdYLIOJunSbfFBvcSHwnyHXjMGTcywvxjvIWFvNGJScgrcRAGWdkTOLxSxKxXylwnJxTADDtKvyWvQLriUICuYvWkmCaVUF", "VWZmAPErcnKNcoSsPvqTJqcmPOqJdBberbtdqFPYakAOrWiBepSmLpFTJtkyJqJxFvOifHFBbsVBHYjFCwiepJYtYSaTJvXtldUCDMhaKoFzjDqGkxOjqPDjWHEwYjTuOPHiJoqxFTnuxeSvooBIYzVSpQUXYRuLJiVcYHWCJsVcXwEKsneGJdrgjnbDeMZsuyrlZjQkFkyWOWefNdbNbPlkPzHfulyUJqrlgDQBhrwnZoGDVVTRZwddwWisviFamMxFDrreOOpNMRLljajsrtnKCxbzJRwDgEDFLxkadcKXUEFuZLUsYhOZiVFpSBvZbKWqrxZVbafpWZQlbqayjESBZFKAErXkmMRZHtTOMSpqoPjJDZLotqCTaJOsxbLVlSTraljBBzlULYacSBNXvezGXkaAdyAgfJqzmcsnpgHTfKMuyNUghuwYOFMjGbTrYziGNKERNgOlzjUsXGSwdOcXwgaVdtBsjtSLTzxdnBcAMEbsGqGlfsKgNfZSSRCz", "TXhBEcsUflhhizXPjEgVvAvAuTjSdZYeZKKnrsyYPOrDPoDIvuQpAmlcrBBWCtFEVdjnwgfFRtAQrdgWxKZFkqINDarWDliNGrfttxRAtKzsaoJzJQoPfVypbOvVEqivnySkLkTHkVsUafZHblIYTrQIgseHlUgMRprVkwqBskMSxKIXnQGozdtpfKHYYXVaqVldGQmsntvJXDpowRFkeDFqDZrNdLdGgeeQhcQDMPGMbdXhwSYkRoTQhHDXhVVuPvwIVVwhvMjtRWtDaKsDywNHxpuUFnvKErkTIblFCYKKFBpwdpNujnohKnszRRREgTPbdEBhptZfwvQHBPcpffYadSmAxAnuRGwknjuIWQlaOGKwEUhPgmRVWihUUzhMXHLILQqUSAzLeQBYYlENZMiLrrDDvkLxwCtoLojrMDCxMNDlepnqSWyMDusQFjldPuIvGymyhmcDKIOQoTcwPJyYJAgSUreldHOsSQsnuwcWbzJQCYMnBIywrtSVRJnz", "INeWEQgPvuLsgZrrzgCsKRlbdJUDUYuSUxFpqrRJJoKIRceSdUWFmrxiqNQUFbAPIBgZBoAeFKehGcnPdQPaDSdiyPEErVWyzTRGahkbCdihYfiRAhGDduijpYNBmnjTwjsBmavZDCNJWGojvoxJAIHZLfoENLGFsxMMRQMVEnNAAdXgYpdNQGKvquhJlpsvSEKRnVUEduzaaQtBkWozNSRfdjeWizSPvJFXeHHRhhrvXNVZNmKVPaObaIgFysPZByfKZiOmZVFfZUoxQMuLlpEgKNrbFzRXsuyDIpqjjscCqVGFfRiFQXFnMyhXmTLnJNWErsTnhKDQyTCqQsWOSOvepXAZcjzKBNqhQHnnkBROLJBuiHIRYDDBBzxEmZerZEmWlmzttPUtZxeLlKgqEGFMPNIUjsYwKmHOPqbCTJFqpnqaRbTdVFufVmPojLMNEEPmojrailwXXaataJzdzQzHqYlHgFSEIhHspZQmOENRGsBIbjqPbzjjEEtySyjN", "mCoHoPpVdaTaqKcyDPOamZyphwTAtfBciMqglYKGWCEJQACrKdSFyGMoctzcmVRzUOdoBquWsUWxhXCzHIbyXqNfliyGCTQUmTAVcEayIcPdRFBLayTVrqXreedOGIQUtiMrXstKlHVXefeLRChXBvXxiLwxCJAwcKlsKZQsnFgUYLmyQdTPzeczEIXowLFGpjLABhJzSxbOeatnRgIpvdtoSVDhHlIRuDWPWzdFTRTDDafAfzKkcYbshAadQtTZmnTPFsiFTevanXPRjNRklPbksgFnYFZyNOjTGqOQeMZgsktvUDAeqrMezrBxorsUtmgGZysEUNNRHRUzpzeWOZSxCmEGHLIsMaXrlomskdQjHLeeQgAufBDlIbiUelpirXuFTQSBJIksVobTDDwxKVjfrLKHFHvnEnyzCAnrFwOGRVphWTTgODRHxADrNnUhKciSFfShGhpNEZgPRDDQMBgUXPHaSSVvrQolduBjwKejEirfOUMsvecxjGNvWdVJ", "DuRgEMPYITacjDWuRUKXffiQyGGepnDGYItftxrCBsiDOrKdkQXupWxLUkdeEbFwjSormTKdmvIxIoFEZQqWCHVXXgPklkOCtToaYjezlKygmeXZeCnuculEkEseThbUOCtrLqTAbltMqwTDqVpHNQMqAsplkjBQHWHVyPnkCGrWrZbkEPJmESxXKNcvyMvTMCWjYOLAjnVwPSNswfiOsfHqHmzLZnPHGMGklhmNWCzuyzFVTVIjaqUVuMsSVdzHagAquItitXyDoYaQoEnLLozGzmKHXjySlqzQSnzBcwTGLbCbvjDlTemowktmwfgUWhIRcwmqaBHfZXRfcOsxRMOxniaZHkhaSCJTrRHzDeGpKyvjILCeEFjfLZhVAvNckEnexJilgWZQGCgDlTEAiNkSecdCFlEXWaGOCQRxtUhetHSvcntebzFAkcrHzlujxNGlGipUtHmUChAusDnsRyjlNJBAReToqytVkPdxOsXejwEnhSphXFOgEZuSqraT", "oHuBQLOKZujLKvuMIfqyDVuzPKejhzuDEsWkVDOKVxoZzDtWntEyDwnoQTAWYMCHOQazoBDmLTHJIDPhGhlTSdJMohglFBeCWFWuHcmhdhwkgpmnCVkNiDAcmxIuForEeyKXzpHGXNFImVSOTBgZUYlIejwzgjuOawwWJMXGxvwwsAtFAUnHEHAwJDkGXIyKIEwQrBPxyagGBerVoLwXfuTOBrZkeBXgVCGBfWPQOSWZyZcbfPWbmuPHLyumjvQCvEYBKiyFFrEXiRyuPcPCIXNiErWUOWJCZpPqNYuWgCZWUNSNvVhqRTAWUgjqMqAUPllvEJGJdhgLiKjqIldfTyeNnRtjUpPdCOgTRymDhREnrmlZUyMmgoyWnDThGqOTDsMOUaLMHxAyVlGfwvHBSiwBCOXCEirOoEKlMOaAHvqjKQlfOGeJqUjjitrDbvZzguKuSdECyMXTZiHDEbyMXjVTHEhajpjzWtNWoznaWHVQKlcAQjQgUQMvdLIEPzhA", "gksMNwvWUodjzTZtbASYJuyxqZuTKqVTzsyllOgZUUxzcKzLcJCPGrqcqcPJygcZlHxExraAwATNtLCEdQTgljOmJKzZzTrElJZFOqMtUWDUgNkXqTiFuBSHnZbthrohxIQoAERStMlxtDoDZRRjEaPRqqmOQVENaGhdzBAOqLTsuCIRRhugrIHsvkreTiIkRXUojpdQAOScgzWUgLXRvJIFwCfsyMqVnLmbtqfTmpulugehZWUcpVXFYOUuusIBkycLXymxOKkJwIsagdtFqKXYdWjatVbwDcpMgXaQWlylhLfDoljrGUslpaPmmfvYwhJvnaoXjaDlZnlcilNWDEOXZwFPEcPGLBqqQvpkEXGjpAtNFbuBJqhWylIQxKkmCdmxThTwHywDdLUvGniassdVLYJwaaHcnkFyWsCGqPvoAmlysefXyiNnVUEMjMTptxSuyBCcgKWfEvhgvMFCDTtAFSUqssPtMyvtfgclplRmPRyWrpNLPoHqGHpqWEOI", "XsGgBnUfoIahXXWkQxiXEpOBDRucrCQjjQhapmUsmEaNwJRefQdcKcYXDBEvMYeBhgfilmbwGgUaJsOWcPoVUrjcsuEHLzDVRKphBMGPfdXCvcdkNryScGpOLOhkiKnroUAiPBpfsZmdjcBUkJAwOSJcYPGuWTZoYdTlJsSsbaEFbLwErtowJHlNtPLOYbwHWngvAbSDdeweWMueOsVgeHFSVcaHzXOZbnngHIWKPbMtNFXklglWMetqhkZVPruZJvvRGEYehwAKPvJrIesUAqfDEoXBJnAbHpxOsWFkTKGNfjqeHbGnLIroiigGEIOpIXLZIyATlPHFJYWnrfLmRYaxTheRUfLRFXMgHazcUoEsbSQsDQQncNEwlCPXyglNExzoDLaSXnyhiiNVcBxTlUcxSVVnUHRSROmHJtHADPRrkvXcsfJGzHAJdOIWOIbBVTbOmbjkoSKzbFYlJJslyVuyNDWlkJnudFcYSWadLoCKJLvtzyaJpwTIlZFwnPJW", "vlFonxWhwKxZdRiuuHZiBxzsYLEOVoOfbEqdkilJuKvWnCovTeyDjQRvlFoahRYGcbYnlSxtunbKEGXNQSWbZzvGWiCdosDtzWkSvYupkkrEFtZiuwcxVvhzmPdaJqfXDocPgEfWrIplwKrpxoIfCevvdExdFlLQOCnIRNiuAgzDHfJvMGXxuZwhjCTfpdgMdruHXZAaHmwcuzjQSUwAwMabsRqGUdvfhlkhKaHeXCqYLxzjwSYGqSxsdFdeCYLwIgGAOsicHEOuBIQdkaabGkBkIrZmAeGZcBwYHnOYlCgQhFVLGgUxBhfpsBJIJOkmneQsnveAwUakdLxrLUfsggHCANlwzQStsiNsfdnLRkSJzRebRWqQOhRFGmTZWYYXoPAOEyCgtvQbxHHcvROoPJJfvvPZMPFyiQnBPJhbnPHGSCrxhoDOPFcOAilfvjkanwstEQeKuFVLfjBaoSHvcxIEiXCxksyAtRoPTSgPcbgbNqmntNKNoDUNANNFAmvP", "griiJTviteDnztmCaFsHJjnguiYAjjXxUjnsIBykcNLTlleKnnFGuCMStjJGUvkLZPhoDolreOUahDJYmeIzedTQGUxLufUmcbWcdHlMhtDphVtoAlNQfIzvQdEizEUlUBWQNqsoTyUAHxvlQAnelAjHSYwhvQMukSchddPurtCwfhhOLPEYuMdrSstIHHSckFhiFjSKflJJwZXhlUGVNdNMnqVhbSuyGgoghzImyuepwvOygPsFcyhRTULtBwDOuWcEvmDRywKZIMnGWOGVnHreTmTKlNGnNIFspHPzGiRTAbwTvHZJKgKLenYXuyYYqbedhfVIOWxFopwZiYswRccaaudjpKeSMatWgrwVFdejpNChCnOvDVwfsqnvPJWzdXOWRPLKOvQsioohyqYYWwrLzuejnBhLtIfGuJdxiivyPNsVrhaaNAMWioxoSSDaDouXJJWShxIVCDwtqdEaLAOfRaKLbIEcChcMzGoiXglYUpDkHkfcPLwyDSCOAWXT", "NzydQlUENYRxLlFxxerIUFMlrtpKiaWCEXUBZiJqaSuaXsxugNhVETnsWtRMpcSBnelevLQDyTrSVRCbkIISjwNHiICwgJvpAfcTWwfhGJNqVaQQYRtDfBVOvmpPvVIXklaWMcVshdZbWitvikxliLRSQgEZXBIqwEnydMzcZQKKbwYRbnhQSVPYkvqPnHfEDXqlnwOZReMVFabVoseDSBVTBStxeiQYOrmTmiyLikqbVLEMpyOkXAstVntJGVxtSaBjwTbPIXgjyhxhOoLmvPhwAZjGxawRyrTYwIFUHokyiQZzSSSfNUNZhgCqXDJUzZHKazjvXRIwwJdJTWiPSMeIBAsWIozigzLvAdAJSFVLFCxIHIaQbXoQnKXliDuTxPowewuyiaTkFktBypCkwJWjDkQPyCGIPRgNJhqUZrBsXylAScPJSJBwTnzDyKGyvlvNZGqefWdRSoNSDbVlfgDieAyLnscFscoZQmIOBKkejtcaQpGqNqPOxBgvXfqi"],"c_map_decimal":{"c_map_decimal_1":54.1357, "c_map_decimal_2":60.1341, "c_map_decimal_3":14.1966, "c_map_decimal_4":17.0869, "c_map_decimal_5":6.1569, "c_map_decimal_6":61.0662, "c_map_decimal_7":62.0198, "c_map_decimal_8":92.0601, "c_map_decimal_9":26.1154, "c_map_decimal_10":61.0759},"c_map_ipv6":{"c_map_ipv6_1":"b321:7807:1cf2:7c25:b4e9:2a45:3fae:e8ac", "c_map_ipv6_2":"134b:73b5:f3ea:3952:9017:7dbf:9574:4399", "c_map_ipv6_3":"1e8:8569:ff5e:eb4e:5036:3a39:26c4:3707", "c_map_ipv6_4":"255d:fbc9:2a8b:412d:2b45:575d:3cd7:7987", "c_map_ipv6_5":"7d5d:c225:b915:c9a2:9445:f05d:9bee:da35", "c_map_ipv6_6":"9b85:c20b:21ba:f5bc:b62c:64b6:c671:aadb", "c_map_ipv6_7":"2893:7460:c2dc:e2de:bb03:d216:1082:be31", "c_map_ipv6_8":"f740:ceb8:3bd9:e951:2888:5848:edaf:48ca", "c_map_ipv6_9":"d8d3:3c7a:50a:f119:e1af:ee64:cc49:69a6", "c_map_ipv6_10":"f604:ad12:9f20:6876:d64e:18fb:bab8:3a00"},"c_array_largeint":[-5650448237596899086, -7801278145561413009, -6640990782384460979, -6088410921707549121, -8724308948633737972, -1985973942123223462, 8150786533310613512, 4887362867341812179, -4196101651414133212, 6478982316683207385, 8513207913925880734, 7933132819716606842, 6399549459809835500, -3270813345195941691, 995340770047629429, -7317638143929163500, -6749839438235852034, -1839406511244986155, -1570454857509634707, 8041953562892082062, -4975964988239518208, 4831024444224252922, 1091151039619196994, 1251078313972635529, -3278556936735481849],"c_array_double":[53.6593673064393, 32.0306286550411, 0.5301785217139274, 28.327082421043222, 85.23801191812179, 38.500184908724556, 49.98332297941808, 80.44096150312106, 94.44711581364335, 68.10991318339673, 50.829269346882604, 90.08859067634582, 64.91479431614096, 79.96502993166723, 20.15655930071977, 63.29705556466384, 0.670243791945986, 15.086535047480126, 64.75343538976904, 87.09320574340961, 16.431495720390114, 82.87124656867834, 77.29326435441797, 47.43478518409251, 50.81847911880431],"c_map_tinyint":{"c_map_tinyint_1":-77, "c_map_tinyint_2":-72, "c_map_tinyint_3":17, "c_map_tinyint_4":-76, "c_map_tinyint_5":125, "c_map_tinyint_6":-20, "c_map_tinyint_7":-111, "c_map_tinyint_8":-48, "c_map_tinyint_9":6, "c_map_tinyint_10":-28},"c_map_largeint":{"c_map_largeint_1":-3305714225832365054, "c_map_largeint_2":5410347340146460915, "c_map_largeint_3":743007549498240504, "c_map_largeint_4":2102452219025033867, "c_map_largeint_5":7902076321983339870, "c_map_largeint_6":-8302676752387288826, "c_map_largeint_7":-4082398344397721811, "c_map_largeint_8":-9109420013034846378, "c_map_largeint_9":-7217749239575236632, "c_map_largeint_10":-393114268825012769},"c_map_varchar":{"c_map_varchar_1":"UmIipnlNrzabwULgtLyysHaGTtfWBGvyHDChljwlhZcGeGpiTWwJdDfpuoVaGPDNDoUTlhgEhDOyaRMiwurnTzxkCqpiPNCuAmSHlyWVXmFGHCvHDCozBSZrBMiBADAqWupPAvpzAcLexIukuVhbcgOdPfiLEYUtelQopkolTjydOqZYPwTnzQmtwuGqszABCKQzXgBjXcnuLzrvfGdXxXFPzqyqKhIMaAIwIHuHcdbLKcMSJmMccSAKSClTxPnS", "c_map_varchar_2":"FAWKQwkQqdrXjZIjmYFIpCuNQfKOlUibRWwNcgQvzPlNIWyNPQiDIfqHXwqyDvuBkAaJgYPJpYGNywXwSuqNiKnWfJKcioQoqSafKUSFtUMFaTORcfyurafKSmjwobVQFqOLiKdSavHULeEinCeJpVKZIFTqYDnAMZtAhanKjzBqdoIOtqiUaSyyLjPTyyDXbkeUPvoaGuUwRpTbiGrjaWrvMstVQEZKOQvrFrlMPmRNWeiNhdNcPjCQEarUxicm", "c_map_varchar_3":"cHDvAOzFWtMAbugpHuseoeiMIRMDkKICVbuIaCFFqfTgbKYbUozVafyljcDnkavGQaGrgSpjEdHgHZxMuwabSYNyrZfdjmBNejNWqApGkNcPietLCjWDASsGZeJfVIvjQscsvatGccPhimMJiCYOXSuyJDbRFhQEPNxKfIvrPBkydhUlyRGrhFGSeNTSJTikrvCXYIpSVPKwDiazQpPROWLLoixBFWwfelnZDfwrkxHXKrlveAQgsdOzRunfYzHH", "c_map_varchar_4":"EHFahfrSxlrTEIKHOIpPQclNvwNOCYLiHkIEImjDdcKpxBDTbAMJtBoQPMDdpjGkGVwZVHQTmKFeTtgmKtJJrTDTUuYqArKEuMsKJyNegprlHhQDqZUiiXaauTNSyVPTnvNFqNTuoJfNeOWlVLMRJzCNrzTJFGjKxkRjMTzRGOSpHZqYuPPbojVcyEKnqrizCarqTbOslJeJDuSylClVTYvSVWBbEcwhseYLMSiqbhquQznRPCHCaEYSkQEKgaee", "c_map_varchar_5":"VuikXlRfteZycPhVIrrUyXSfLoUDGPsYgbaFNwYliYwsQMLuUXZVUbZJHORwvZfwjIzwNDvJjmXoPZgfYLTPAIkufBaKYNnBWbgJpoGtGegPzjlYHxVmeYDBcvLfAUBVDaWldYhrtwfXQvDNSLnYsFOQjJwfdOydbeWrLOwnbuTqOlUFYzXxaHkRyLxpfVkXqGZztyuLoIAFMLyFoYcBzZdsyAlZtculHVvdnzeucJoAohgvYibEJQIlObxiXFqj", "c_map_varchar_6":"NfIqmnzbNehJuYQWwJSVrSDceBkffXJYYWCLVhqjMxfyvujNdbkJCvPwVRxOwCdkIlbKtHHVndTQgxkiokLeLybEcOMwJXscdrmJBmdZYcEQwAQwufCwKKNcvqCxxqBPkYOtXFQviqYTemLtxKfAPuCdplhAMaAKJtsUHjdBDwDgvdVgmYfptVDsDRjgDOLBmjEXJuqqzQZcskHHQndNexrBpDNiSyjRzKtePTkMKLgvObeoeqQoVvLERuyZewWf", "c_map_varchar_7":"grGQlZXOgzvoXQQktmwYqRJMtaFlkhzkTfnbPDqJlwOTywjWjSaJFlVXVFFHzJmjCylhAlvvhbSZWssHtYsyPdXvBRQYxughnKQbqsKhXWDylfvkvBurhrJnTMORmpfmojfJliGQFbmDTWYvaxfcdxcTtjzSBRPHovKEFqSZvTCIgrjKyZBDdmScogRWevvWwzvIsTCAdJTkAqoZkoFDzEVYRxhdrcaRxdgfpiljFtXsTZEqlivLEuuSbSaSewVL", "c_map_varchar_8":"prrlyTyHhsCyIrKYtkJLUKqWVyhKBWbudlrFBgZbPyqcPWzmQLvRlVhhAryuWVwUxAtnjjnXKoNDFpGrjXcNKURkbBtCAwGcPNlKsgNEUhxVfomhhRANSAKldJxHLCLcbFtJGYUgZFWLwEnIPpWvFuvkKVKZlMqqtiFZwRcEsjPsNajWBlnGwdkmWZAEBKAVfapYmuioAbucQwsCKOzAqlfROzXrnJyFNhUUFQnIRhjaYJXFcVLAfdHzgJvuyVii", "c_map_varchar_9":"WSXReCORQmJqoNtqNbJPPftGIyEfvhmOJKtZkAaoagCUaQqFeqmVWoVOoMFQiepJrYSLAqGykPtCyxxGVodktrSkpwMkCCcsfKjdOCXjwMhwJwnBGXGZEMGzxWYjjUwxLErnPUxBquWFLRapKIfcweUYGvThrZknRJSqnYuDBqpkyqyWUZBootjkTxWvHIvmhlNsnApYJsLweUeSkoLrhcYQzeHbmoxdGeVOhlyhMATlEJFGfQYxMHtmjKPiWzQO", "c_map_varchar_10":"mAUOgcZyoyBintSSmjIsjnehovwOLzYYpqctbKzMHtObjSIybiiTsiuZEcrQVgKWAwVdcQZEyEakfLDKYzCxhYQmZlZmTflCAJQaHXKeUAgvhpWRdDOuWqmxRVHiJpcidiTXdFvLRZCRJWBeVGGyHeZgDbbhAskCUpaQwtWGSDutbSJlSMGLbpqlhvBacDZlzGZXUNZeIPXJmDoCkioaFepUdTxHTLGXbfqEBFeKebqPgRnUUyeUudUYYUtGHNnx"},"c_json":{"hackernoun":"program","firstname":"Stephan","job":{"company":"Wheaton World Wide Moving","title":"Analyst","descriptor":"Lead","level":"Identity"},"nounconcrete":"dresser","adjectiveinterrogative":"whose","adverbfrequencyindefinite":"regularly","creditcard":{"type":"Diners Club","number":"6011476753151949","exp":"03/30","cvv":"567"},"pronoun":"it","loglevel":"debug","celebritysport":"W.G Grace","animaltype":"invertebrates"} }','{ "c_largeint":-4526631262996534776,"c_float":68.58797,"c_datetime":"2017-07-05 09:00:54","c_ipv6":"432f:42e7:53b1:4a16:735b:bdc1:f1e6:42bd","c_array_int":[-1752693882, -291478031, 937486262, 1126533873, 51997039, -1296418007, 1652716409, -1885369151, -908633348, 1218457403, -2017588536, -648866700, -434435365, -1957362122, 297141453, 1614835503, -989360958, 116779514, 1389574536, 1395934429, -433445475, 1040578369, 1101904205, -1744940857, 1541517962],"c_map_date":{"c_map_date_1":"2001-07-26", "c_map_date_2":"2005-11-17", "c_map_date_3":"2004-11-15", "c_map_date_4":"2004-08-17", "c_map_date_5":"2006-06-06", "c_map_date_6":"2010-04-21", "c_map_date_7":"2018-01-22", "c_map_date_8":"2012-01-02", "c_map_date_9":"2000-02-27", "c_map_date_10":"2009-06-07"},"c_map_ipv6":{"c_map_ipv6_1":"f1ed:f857:ccc8:3d7d:c35e:e5de:4d23:362", "c_map_ipv6_2":"16ff:ac11:a110:9a35:2ea4:4b55:1499:a5ea", "c_map_ipv6_3":"aa49:1664:ba53:534a:a623:9194:547b:5120", "c_map_ipv6_4":"6721:a205:d27:bba9:60b:e837:3668:7291", "c_map_ipv6_5":"8b08:ce0b:5457:2fd2:2e02:f7c6:8b75:a396", "c_map_ipv6_6":"1213:e184:a05a:c895:1f57:4444:75ea:f278", "c_map_ipv6_7":"f806:bf3d:f82c:5312:6d94:2974:b369:d1cd", "c_map_ipv6_8":"e73d:fbbe:c89c:a536:ccf2:cf7f:2470:661a", "c_map_ipv6_9":"1e6:b6b2:712c:2c94:287e:1a13:7f5b:fcb1", "c_map_ipv6_10":"5e64:8fab:cd0:d771:5b09:e9b:16f8:4c1d"},"c_tinyint":44,"c_string":"geWsRksFWDadzarvyntQivwSaGmvsLMaDADnIguLEfiGlQQZiHyqqciUwWmMELkAHquljfCmFKmTsVkxlSiVcXnGqybpsJRuGmtUYGUTFFveCImcJDvGPcbIUJRXOKLPHNiLsBKXzlEBaitqmoWcQcrFRSOqGeGYVuZIZIJMMtuvgNDBUTLDDhMSoUgGhOnWPELoMhBusAzJMJKfxhKingHNjMvATyInwvtUnNDxHswfmUPatndWODrgvYMDdEWyaHoNPTFfAIjBvxcNRuyruejHeZDRmeWngutsdQJEFoQacekTecfqIGLvVRoKuTmvqLdChqzHDcjEzompHsJrgsuoxImRooartfFPCDxKSkpNkVjfDrTimwszQbWtzzyKOJkTjfRquayDwEIVwuoaXrKiOoKBDZRXueLjxvWPbkOTkVeUcysDONGSMWNhYZazZmlYfBfAldMSpNhgxsiZOpWBWwOjkfhHAyKrdJfXXlFroUDrksTXFoKLOJfqoomb","c_array_date":["2003-02-12", "2005-11-16", "2009-09-09", "2016-11-24", "2015-07-24", "2004-08-20", "2003-02-06", "2018-03-19", "2002-03-18", "2009-11-05", "2007-05-04", "2007-04-11", "2005-05-01", "2004-11-14", "2007-11-19", "2019-04-11", "2018-09-05", "2001-05-12", "2016-06-09", "2008-03-23", "2006-06-04", "2004-09-10", "2012-08-26", "2006-08-25", "2003-12-05"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_float":{"c_map_float_1":31.026142, "c_map_float_2":59.084217, "c_map_float_3":38.577965, "c_map_float_4":25.261068, "c_map_float_5":86.84846, "c_map_float_6":68.90961, "c_map_float_7":31.062021, "c_map_float_8":64.59421, "c_map_float_9":61.661793, "c_map_float_10":30.552156},"c_int":676633002,"c_double":78.74590450952675,"c_date":"2018-09-05","c_array_tinyint":[-32, -47, -119, -127, -68, -87, 2, -25, 28, 72, 27, 33, 97, 99, 46, 47, 10, 92, -93, 102, -22, -88, 124, 35, 29],"c_array_bigint":[-8249834057724595824, 140798233855674303, -8508531699287057409, 764896953582349005, -1609826677012379612, -5047212423979961792, -6776107116425076252, 6729298147875855176, 3253871928852755960, -2764108405877252367, 513796478245788664, 5978462591388389105, 8679273872383687363, -6381395295287799295, -813095745273806816, 522479300023699409, 4406511940370524864, -4522837607216908734, -5867401291858860624, 4559480321906780227, 3954492182387418112, 3589295486927994218, -238411987708931381, 7827398074806339617, -5387224985873044965],"c_array_float":[18.77211, 25.087357, 37.98094, 87.40386, 0.41148326, 73.63862, 42.94512, 91.709114, 34.611298, 78.627174, 100.797264, 40.759323, 68.72659, 27.821548, 98.347946, 60.47044, 22.787888, 66.948265, 88.21581, 79.68343, 6.3533854, 92.63748, 90.312294, 90.76592, 80.45124],"c_array_char":["ztHiRacSIt", "PhxOEKzFaH", "PZQWHdJsEs", "qMLaJQeBBH", "QUToFUSTZz", "nIVndhLBWi", "oJObpsKgyE", "GKHtdsXEGY", "nzTqXHouSi", "TYwuQDQWfO", "bzMSUjpjPb", "XWiepIlEGY", "eGHTuKsVFd", "FWBSrpUVMi", "CJWxGInPna", "bxgszBVLnJ", "WRfvNnfCZA", "mkzNiKJZTj", "EljYsIHDHf", "rxGWcyiDVP", "VGYUSvpwWs", "ZffvKyziAg", "UHwgDiTdVc", "isLqNvNlGK", "meKaauOwYW"],"c_array_string":["EMAsdTfiPilLGkgQcIpMeWsKQePPCVnkPXyeEMcoaOzspuJdUSKeFXEkpCvdMFVjXvUxBALcYcwhymDGvKDYyAFIDGcashszMpKUOLUqVkwInQlkIRsjQWAJGgUiZTScUvdvVDnnvYTjnexwcqhsXxvGsoZqIjKKJHdcUWDQpdBQvTMYbUTtYkxcGYqwAqcKPgndcCZbkkQdlFsXSswpUIJfmlRfnCYhMwqPgcQavHSWfqbVXgFdGGspzafaFVMQnKciAWgTOAIhwemqIckDkxmNRCEFhJkTsPTpkxIpPGqHZGNVGGAFcDMJpshmKcTatHGcXivrmGgdsJGoOOBLvXJGPCYDZUMHaWzpFxdCMpLkAkMGaKiHJQqYOOEXqOLrNetdOCNUySYzReTEVXVMuyitwsBkCxVZYCpxBZmoGesYKYbBrjmIIpqmUOuGFSZUPwdwhfYdTSAmGQxLNOygdORfpXuLGjSsycoWwxqhMjvuEMvxmCWySIRNvjWMtOtN", "tSEDbizOZcCdkdLmmKweLXIKoWUKhAOJjDtLrmoKXXkCgzFjhAmsAByvhdsaosvSQqeyLEFtJzrrJipHrIJCAorpDRVPudZaVbHwxOQriVYLdcxfSgunDdpZyKIQupEQYemopQivIPLEaFeiVFSffMYvvhbCWxiCDrhaokDymPjwAptgUhOXbYJudnuBSsqtmaDJGbjQlcBYscFMceQCEZyZmfgMflcvcfBaLlaJGpkpocfISAJMAFnloDjLKNfsxFQpqJnnJskeYlQmBuwNTtsjttpRhruSUrWhJyjBKbvpVtjQMwsjGiJCDDRHVgICDIpQBBSIdjqHvtxyqCnXbfaClZBXWFflHUegIYDUDNtnxzXqyBDPVxJiVtHobxYxxUQFINwnaVkMeveWSMhIUzrlVAmDaxzxxfnbRdZYKAaBbUnQPIPRzuNpqAXBrxQDBkHmOVwjZYJXGkOuCGpMfqvnggkgObnpvzQDgqcdvWuxtxPmZaaHmhgoBQIdiIwo", "kzJxMhebJKIsdZtrfKXSjwoVFeyxkiWVlqGsQsFjgMzheOBDCWxcSIVdjMzpcABJdTQQMyJwdNnIZoFAAScQwCMqlohOqoRqNApKwxFUkmCJTdfesNJGoUXlUMKfdqMLmlfdJEUNndYHhTFPKIvNfKkocpcPFrGyxSkgtlDzVneGgicIeVMMnqjIvYbkPhuKAPVxAoEreOWxBWYwRUiRxEFUNKdaubkQljsdcKrgyuoTSbXxoIXvNdGfZGliMbMnUiEePEwIpNrjONtczCUbwrnUtofAYchFWzsIaldsxeMkpxZLgTHXzuRkOgBvhnufSmEGMdPDHXVjjmGoiGIsKbNeREWkybmlnkaRBLpSBJixlyQunyKnbSAjmufMXspXASJYfrBcpOfMImiDvtQdyITtpXbKLLJfUjoGOYUQbZztCODSfPwhxGzTDmQwkxIaBYVWFgtcPdQGRvzPmdScUaHEjeTsFbaizbcFEeFohWtSoxAMtNUOxjCFKJmRjgdq", "XRHwzfmLvCYFJCcarUGdxsIOBibKvgTRPATyetNQoJRZFifPPHyHQmlfYvgCuNvfFxIGbYNrCZrShbjJMoDElROhjgtwXRoxfjdZdfjXbleRbADBfIEjjftOVMEpjjsZWxClPTtOBCErQLgFbBsEGLtICcUSqWfucWCcBdyYkvzhXBtCEzzDINAvdnXayIHIYqgsvPqFZJBwJgHgUKJJDPmaEasDVqJipFXHvgJpYUXghIDwmFTwvjulgDCmAVpwLAgmFpzFLyRFGtpCUSWWgDnHMHunBrwHBqNhAfZDQnzegjlAyHSGyIdwfRnmzlqptASscvBnuYtlbNJqgoLPVFJRkpATovatJyNYnzybMMWPOEQhKCOGoANABXVrcltnOijTDIlliiVNLbpscxBGHapVmIAgOtYoyVgIGXPjrkNeSEEfcrJPTfWldMKLGoqUsJWIVzpIBEtAbyfaqmIvkHRkayySVFdoiyAdgAFJBzjdAYAtOVZeJLgIICyxMlFH", "UkOqTVqZtvYHAYSeGIOtQkBVopdjYNIvxccOUmMonomAYlkMiOMpSEmCPGIPSBHKQFfNTmGmJcwHNazumfRKJKwbzzHgmBUktAerFxJiwhtgJosNclIcMDJqpWMfSIpDnoucXTHOEgHTKPtzWgGvZSJrQwdOcEGfrACfvKCAiIHuTiJwgWuuBKJyRxcaKVjRvsMzSIoHruvzagVLgsbPsnOijVumPHDZpMHcUTVlgwOcJhvpthPXLnYekONflRldNsOXdubBtPjBCvMxMJrWTQBoUVvRbRvRnQbdtQmdmNgVuEjRMxVtBjVPMGVCMFdQYbjClCBKEBeHQaUVNGtJQRZpriOLjUyaRDlTrQWqEVoACzqPaihymIfVBqmvdMseNynAoJhFlyIHXsXwWKPDTBeqMTiVtyMSikWDaYyOVwPnvIamUQtaznyqNkAqEBAlnAdZUlHWgaSaCUKWgXkxkCjebCGjPyLcvSphNEOgIHxXbuePzfJxWLxWCKpoiaGM", "MrMQJwfVZDgIEzraIOOvjmjhDmBcOVSrbacSkogPquMVIUctMTQTZvzkiJQzswncXoZWBDqYdeNHlCxiwRPjtjyccgCUkZvnbzXmXJffjzYLrcaOkkkitkoraNdGWBJpEJEebcigHvYHjzArcFbWGUfGiBDQCtZeUDllTdVILbUGvAhLKrguVAFGvQnfTNZzAVhvoFEfEuwziVXCueMwdJRPEHmumSJzcsVIBnyznwzSHHumpQEbNHmcPjgGKZVAnTkSGUBrKRtXKiyURuqNhfqTqJgcyctpAtmhPjoscSIATnfcCFBwtMBLGPbjsBbktRFXMISgihZnUCbvWqzyLfnoCChRtYZjxpBvkhefgglnBWUXxGTAllJvAJkZtCZAkqJchdQOizhCpnGTJiBkKRwBunvnqmWtrdpALcoMUJKJAehIYJaishHzEXTraaGWjtKnrePuRvmCusVUNqMxuoCWcCfnjhbMjVyrtafPLRRoZxZFHIZBMWuYSXAymsOv", "DKvxlLbUntCSyRixzswWCXUjdcumwvDUuBVGASFCkklSzwITDKZRoCYzTqwSmybWkoowulLlbzaXVkWviYkEGsdMiqBiWZNolOlPxaFBCdJlJgXDgTekibRWAPoNdyXNLBbnayVprHLsregUbaqAykKDNNZBVifxKgYeLVfdUuYVNPThkWTHXiUXNSmCKCEydBPgUgDlRvKtvgLpynPOBqIyhRpwokTosNXUHADswugiwydwlBRJwGaqqOcKLOvfFsPtoFCfBJvmLRbuyaVZItcIicFDoPPFDMHmDUooiMsJoYUebUnENCgUgTvXGOTisWeYHGAROKmqdrxROQfQhETpyHYyklUorzBuDgJvlPmDVydsKlWqmvpqXtNguskPhwkSsQfgqgZTezRJWAGKuszDLwDFieGPxLQdlfniIgYQyrlLJQpPLBDRzZFSxwyHHHxFXehOekrsfuatVBhseNXBDgVkARuMRniDEJUxSEpxFkBOePrtbiVJHimYgYQi", "MPmPSSyOzTrNfqocjiNyEHpGmWipiURfLkeBonBziEwtoiCKugtEPSrWMIGWPrSPsXrbKQRdZEICsDKHHRDhLminyIHhuErgHbxXRhTqlSxsfiPilDfNQEMUhcjhDgwReANSrwrCZWMGDYfNLXgOlWiGhXMamMsGxiWJWnXzQHbjHVfCWRuSnBNiUDPZzmXPYJspFBjPwirPcXtsCbyRCJDMBnvYiUlkviBQZTZkCmurNUqxPNFScRohWViAFgBwPfsMoVKZqkDALmZaZEbWobywXieFjFaJjvwmqJCRfHfSTdpnLeXsvPKbDpyayFVGDynNHANoESCLlhPhuxpxxBdQnZngQGEjCoGMnlwDjCGYRcpbPiaSsIwxsmWygsxRLqWibPaSCFKwPDOnVtJyQlwVASGPeepAWIwKjPrYUgxvNFjToVkyahaloLhocDjPfvHNmnpFZqqUqUMafayjZLzyuLSEsMPleMvJjFCRsezSbnzVCWFpfkiPqpxLJQty", "KdyOggiCWIcIEwLBvWlEtpTBMlUyXEDTTiSXnmyIEvIYYYDIZuaDMOYCoZkzzJdFytKmdgKZsOPoCQFEJXwetFVAITeSpSNRkMxCQNgizlwATqMVcKiMMDadJStafSzQZEouNdouLEXkLvpiwvxITQvVZyDplLfsPhiXAyUqLkAxiAEUNKYqAKnhbLFCnVUDVCzXgFfQeCYrcsyZStatFVsyhseXUgxrobyKYLBJrLwSvyuoeuafdImZAqpoosvTLVFOmjlEyhjunGeAmHAyrrRTrfItamPoUJvsaPOtnBxuRPNdSJtsqNhhqXTcBdiTmCWyZgopkSGaUsCrFqzrGetqehMeJOXTnVYtQLsXPBPVAZvipInfXOcAhMHgxkJjAkdwAQEeWgFridIrjvIiJtkllwzPrnLpjBXMqbFWyNUhFLnNvCbyXeRVxQannWpATUWQcOjVnDgYDDgZOPGjCQeXmiwQnBvbxcBKYLKBqvYnFQqsZsIpNnLmrMVaajus", "AtikhYnVVetpzKuhcYWMIUVXyPMMdlNQslvuZLAPxqGqnOgROwpfVEINsPjZOmKauydGAvcTqtkocARZkiZSOWVkZFcVwnQeeUGXNktFUzUvOeTycWHahpliOfOvbkklOAEqtbPaIoLBxukrcQvoHnsxZDxKizJogsmzhrzfpfiLXIJEhFFXXFXSgzlwsPrVJycpENsVrKQzFwwMaFAmrMiwJSyFKqpsErVSmKrKgVLeAYLrQhkXbQHaqNXqNLUnXOgEpCcQkmNEsJSXrOyIZjgvyGoZacwSzZJscWYiszZTvbbITaerqPZvzZiNONBKdivukIuGyIyDZMlblKBkINnpDMCXFZVwnbLWIHqjleqPOZwtKKcqWBDMFZrBWgcQffQcbkPopsOpjxOGEIahgapDFUyQVgpNaVnBdBPjGruKENZIfgjOZnMTtYdgozzmWOVGdLQIAhsHoTuaUehmvRvvqQXeyslYYGexHfYcMaOzTIjIbAOJjxeicBbCgKfA", "ppZOQMtrXWlwOnWMXIUWvnOzBfSMinBkHwofRHwOicKCjVSCMtIncmsTnubgBKlRxUtevegPkCvOWGKWqxGWnrPSQdXpaDpXRuuYClJhVxfsiOOWKeakMgcfFejWhICJblDnnhOxXytZWMDixVmYjuTVpZmPcfxQpQQGMmDIEBoJsEYTHRrUrYJqFgFTjwHMsYgCxClOHalUdsoLnQBcvydPhVuXzRUXbXkQmLOTekXNWmFpeHeJCKRiFpaHNIFCyHIUusslhMaXzfDyrrOoAHaJvMEecqyYxJXpmPOtKzKpcXqlWDCAQINoMfwXTgvNXSWWKStCSCkNLtJpHRSSRwjAzVciunjNViNDvmUynPCvFzTtYsXtaKpRBAwOMsUxpFBiExLlVgDoOQYpFMcssexUzYpRmLwGrMNDeBEFMFWoJwrGuPOuqbRWHBONLiwPVEJeSYrqObMzmJIbyIdlEhRYqjimodDkogLJqDFEarcNrnXIpcDxEmxjkXfxWBZz", "mqWandWhVuMiENXSPmUkNsrzmaONuEIjADQYlDqBORjIlFGeOdfXdOGMpjrnDSGpoLzuPyfKuDHjOQKNGINJMKeBatTFfKhgvpTqpQFzrPmjinXMZcAMCGYTXLuFQqHslJEitzqFSqcQqHLwBaHhSiBCvgXeupHrXOVqmTgDCoDWSJDrqDTbXHriOViFdJCnXVuGqRueRlYVsEBWPbZPbGORpYRxWqnIvxTrJebUFJyjkgryatYcurXHBrowwsxQOAPNMZQFhnSGrOYabxdMrjOBpArCfZhJzZZWcPqrfNrcpAsjzTNlDzPSgJTKhIORgoSiTkvNdmPiqgpLBFuZwCuHuaZgmayEEMoBfIGfeMeApLwyrTazDRaCQgDmOowOduTLjtAEJIFNbOdmxtqkVCuMtvBKffKtiFcGHishFGtBXezNyGVnzHlSiUNEoHfdLCISVdgqHWKjXrSJfzoChUFauQYfeSQOGxdbNUZbfMUsniuXFhOUkZSWLrLhOvWu", "nhWLuJzQXUUDXHpxSozkVEVysQguaGFszEVEJdqiqLqMUuByKzrxJnuyOUswXOEWnaliShyKAjxuDfowlLjKWkRAEWXOUNEQTKIzNFlLBlSnLJIROxyKCUoaaEmzULVTzqPYlEoPWMbAeJIXtvnWujmmPyCVFwmRhKHNQElGMwGWUEpgLQdPqlJNZorvEQdBnkGZuOlIpExLRUlhyjldZAvlyaSahIownoefNywvscWECmZrEDmZgFuaaOyQhKdCfQmHRWGOuYoUxERPhWgvwCoByEpaehZGeLiyRyzTuoBQmhlwHqwacvtaCXxzKdVUxFCJSiBOqQDtCmsIpSbjBIXNnBgVzBszOkBulqoyLndpsgkdYZoUxwuxwUYImFKsCoZJTRFemqusMOOmosusEVLwxMpdRlyGApQhYxqScaFVwkbLykiQUgVzwCTydAmFJtMQtswmpWgmwFYtNIfIDfVmitMaWXdqZfkrcYRKEYxpbxBZnHgDrWvPdAuDoXdt", "IzRSXSSyRffrZSvKsrtzLTCPuoqVavVeYbDYRCjswEpSTBsuYhOVDkuPfziIEjkbZzzIpADYHKijvArMgUlJnJgBonMlMJfMykkTsPsGksUyXOpnwHwhlfZwFQmOcCRlOPiTlhfoAIlybSkNoXhMeFPxDVwybVbUJGJzyXoTYqmYjCOWxXxFtrZUJCmhEqgVDLaiTMaNzSEnVslZqYylZMMpTEfEnoqmjeJoEyJUWAijVMCKmucDOMrXjfJSwmykJGNORrwZyeiCZmPzWMcDOAUxUBZabbaFNShmTmbPLNiZFfCInAzchKCOMKOGEoVVNSZTxfeyYfMOqBytWgLhxkUZIrgKWNGlytDUDMbCkqGFdSOnRfxkgwNdcLInQJFUqRxRHHRiqTgfzAhCfnSgBRYxWSKQJuZimqcWtkimeNwCShBIhfAbCeWZtVxdnuKojvPujkXrYnJxCZxMRyjsxxXdyTzSZWsOoMrJLPvBOuJjWRXtcweMVjMaNmYDShqq", "qXglXwVyomBFAVkcAIUnedPNWRfeyJVJssoOnwwDVSTTEHJSkkmZPYmUGJwazyznYmAFusZVsqnluVihnDpiUaDXxZhoDUiMmXvsNzEqwpscqBJxSzgKBoEwotlfaTzoUQujyuZxviZGjPMdfUDVEGbWbsUBpaTXYbwPgwVdvifCsbnFlfVnKkgVvWjCucIYSKKKXOdykpksTfgFWkeHCBJcqOBoZmDBMKTlFVCofqacniZWsvzMYTGCqvTyHlTRasrALOpxgsEkvMrQDyJOiLaaPtviaccYnKkVfbChWBfNbIPvdwITBPhUygCiaWWbttIcnsPJLlOOYOnprdkGmINFZAtEnrbVElZofSgYElnEZuriVcQriThPNsgcYLWtrEfvNglqmotUMqhlczQxPOHBzPOzwqsgmOiIZLKMJwTTJZnKPQUZTAQjAsNSbpccxDTaPIVnvDtuVITWrQREGsJCPZtRnLZscWOtdBqVQDYLbHJuYaCjtvkVsuvXRBgD", "jCciVYyanZWFxvAZflLkCWcgsIDlXidURiiGzBvbxylYNQzgauNWaGbSlklYAbALQRvsiSFnEMazqjfStcOnVYRezcYsCcQfhptsvnJXPgcdHJBqWrvawMUVSeNIudWWxwmBKxkIqzyxjgllAxmmxzboksNKKloQhjgrAkQxYwPutDkFWkggHINJZhvPGBFeAKWNtaEVGaDTfraMtzMyYGmFquiXKJJIfVgwzfHGIfAKrBuzuldHQpREuVasZDCjyUbeNrhSVyIhDUifXKgTSCrUUobTqWYiBhdmYfRfCsYDXIgxYNVJndvtriIMzPomhfxooZqfdTYKNnYyJxwpNtajeMIXLmSrmLjASbrmKGAWHYCdjlSaheSXelpmEvivMTZQsacQepPpTIAfpMrYIICCCLMiRxBHatZuVLlDuCZHaTURsigNJsRpLlOwpkWhdRkDQLjMSQnjkQAOXxDwajFsPuusOLyEZDTWJZYtsvGOAFiTlOlwWcWgfdmkfXwg", "vwKlaKJaahnWMlRaqeZzAvNjXtwZxMwIgLTfATFKnVclleKXNhyUMiKZLLChlzRKmXZFmOoQGgkfryefjKLYBTCXOgKhtPizZuTqvWxxClZjQZUmymbpVZCzUdNwNeQrMvtGuLXoajCRjwYdyxvTqDBbpXZgnKHagzdgHAmeGrxiRwRqvwULqHrFOUFYFnPeWzgvvGYyowtJcvfWWqWEHxmBhljqHNajpbVaRkFlJAUvAoHnSSzniMnPyGUMYUGROVFjGnEnuebkHiXkbBBJpSIfezKvbDJdbRxklwIahlHHWyiCsUdxVJqywlzZzoWelpWAjHJMBQnMmcRNJzcHGRsWDvgfkaUBOCNLyLELJfcWBBxWJMxlaLXuCgSdVDrBpXughwwFPSGGzpyPLbyGncTgWbCctKGvTFblrtAFMNfKbEBHCaHxhgCszgqFwKkBUnqVHVcepRHkFvKxoOtpefYNfzlbPYHhCkfYrZzHIWsZLlxaSkdSFpUgjiHoXydG", "EBBvMUrXBnDnKAlKzNbVamHgUjwGAoVoxevNnBNqRvGSzFyckytIMcmxqXwgjBkcTLjWnQAsxrOuoxuOaSRxkexwooEXrWaWJQpImtrfILYqCBvSsxRgcOdjFDJMpXjAtryzmotbPZYSSpVaInLkWNFdIKRpXfVMSrykRhTODSRzmxtgUTlneHMYheOvfZJzoFqIsgjpFvRYLrEktXcvNqVVhDhTIzttEtwXdKIvSyIHAsVFWRNYKgaMendXhooYiGhXBWOfxJVxePyPNunOJNSYYTVXSzVOiSRkBMGaoIJGmWafPRYdwxtBfWqyyFTYEGMzQLLUuwgAtnqIWOExpIrWyUzJPBKuYtXfYEtJcwkfyNBxclTqhVuHQWUuFuKuPbaRyiCLbMFjSLhppXurFzkzZkgXjFIkasksUhFhmUsEroKolSwNdMbcfZnQEVElMDopGuUUBphEnZFlUGJbiKieknkmKDBjzGIIcpXZNPoivGPjPosyfRLvnrssFyBZ", "nlREyNQZECRoDJpAAbsJIJuAjXyURCIBPJBNTrpaAYOEqIGFMcZSFrrUSiVoxnDGQVdmAPJQNeDawgdcYWLtTTsUdvXtFkUTTFjVdzVtiOVHSdJjvvzRXGLMuGQOHKQSpOuXbHUdKQldOvARzkAMCRsxYBGVBrKCethtVOxxOYYOXocEIAlWZGNhdChuNZiXknwPPIANhjujHKPWcIETBcCSFQqrmFwaSTFgvTRpvWlbYTfXyhOrZXxldvnzuikVfUBYczUlFACGEcsaRuNxDWjvrJfTlYZVgDJkLywhoEZgcZyhjiWVHUZjZiAPdHMVDTJXHsidgVWojnMKOAStgBPUpumYhAJDhBqHOtLuRFNThmdrWXVLiwhYVkDuSADpLzJhBTGtCHOAjzJaXNQnfjAzPvwQNiahMeegMvjTzLXvgLydwsiyiMaFtbLSqLlgDnfBtljwVOKkRyANyZwWgoQjefKnmREydhbYPefmhkBisjIOXOjeAoALmwOmcwID", "MpUeRqxuLWysyIbRXliWblZqDVanRAXHBSbAzhHShAGlVZzDzoZMcumNvJsfzlIItWQMcjUYusknMQHrsPUfdeZXIjwFvmZYvCFkhciUsoLwTQutEZqnrsRHCCiDXKIZRQLLPEuDZaJncXUhXbhvPScgpmnFjhKiqBclEBXZnMrPqgUqrGGGjqDUzsTSduesxNulgfjTRotkmZNfhfyyYPlhXtxoEBGztEyOddYIDlPuhZOORaZHMqnSezhzVvyzUyfLgyqFikjFIOLuuQQDoUFTUYzHuNVJelMfrnMUvvMqlgAyaxSFEAyObChHmlUYfSfgqhdHdIcUWsmhWrKNeSlUFFVwjtYBdoQzltZWaBVOUoKXrgvfRGmAhmVTVnNyOliZuvzbJqEfosArlFVDypStMzpASYfVXzStZDxXiQEYJiwTtHuYquwhGbjHGZjowqDJhhLewWhnVroptkqDUJPRkUVXyyQIuBiWnQfFNiFbYGsDMkOFtmipCoqMdfzk", "fmQzHtsWKmdISeYyOaFHDRvMCgFDEgFBFyayNbixufaFmEbwJXINBpldLFDJztqEjbHpnBWgsqGseXyIUEpzNwnqYeciijZDCFPfCNFONtJPVbzennVDftJxjUrCrlHVQcVGUxyxCyAVRwGRZeMwwOPRuvGHLMuTlQZeLbANHmfHxHlNAlMApOoCdDVHlXJuWZKohmctiIpWQbvtONtKUEpJqbWWcCMLDaKtdfrvbuGgEDFmnWKgsNIBUZSjNXYMvSaBPSMriYhJllqxYRusoShOhxDNBNErOilZUBxxaTHNXHcZZzdLJXCbkqMJukDXKQwAfxlUZeoJeOLOZnVWqbPolJKrOpzECWCBmBjXIAbeBxEivMgOADYNjKjRPQFJwDuBvEIePQhVYSFtCWojkwvYxzdcgKwSAAqrtcPKoAyqvJgLTZRpcNOMlvLYjWQkHbcGtvYoLSSMZMwxzhJqjIDVejnahkljwoyNhPoMbFhinrsmyJNAntDudrncndiW", "JCMZplBQNMqNAvhCrQJlmhmoyXuMHroXdIiXEVZPnYotrguhITCEXeWcyqFePyfCZinDMytnLiGvfQyuAjqEGjnURhQKMTHnfRkIzOXROZyeoWFhfRntfIioGzTDnIkigDJDHgpAzzRQfueBaJFGZaCHOlOZeZgcawbOzuEnoJzYwrEBpMTxwolfkwrDqeaZRqWfUZsrRUhCElGblHFAHcOfCHHksHKtRPWkINDmSEqAEUwoiAvpebwyuOhifsOYjisQKicPtwPKUkElXLRqzCmLSFetBtmPGyqBEzuzGWMEdTieZhXWgWcvYemFBUZAoYDJRZUIwffaHjdOtvGvtystsGoZOncMWQdPIKYDcAOeaRvOqUDgGIEnSpuSjqyfXBWTKjiFuhRcwEJMAynUsKVJStwYFatdhQYjaNToXhTvwOVtuvKdCeIuNjoElUcUSgXiiNeKrGNVmMWmeFyuVTTdduxoJYDqiNImdGnKtqMARAmvuNnTILSscrwCdaYz", "euOlHwSboGWNPTpGObuusiiFsuLJkQyDshqgBFEpeOnaPKMcxSBOmRibUqHEdnoOBkEODEIekrSSMcMqbAVaENVRdQdmWmOcCoixqZOBHMcyhRAiDaPxrwIbsvnPsETPBruzFqAqLJptherdAzxqEwiANNeDQrUxOcYlSjlDUZImjRRxjzvHoBRNxNeAyRHRIyucuEvDphPcRYRYZXkmbBViMSoOGtPdPxRUpshWdiDnCxYRXiBsmlOmCPChzGOnQPjKRlHnIKyDpXAUsMhrniqaruEpTJpRbUVkENYFmJlhzABsonsQYCGMHJKwDNpjXTTTtfnufsoxAsPqflPXOxYqEFbICJlmFAkbesdaumDbIVcaXnuQUKkWoiYcusXyEjQDOdMauPNfBNUXwVVSLBtKczgxUnIYisDwjEbUgRTfTPcvsZMMtaCbRMWJmxxNAKIIvyHKoHtKJjhwXksljlVBEOAmnjeLTlhNiIbTDTLaFuuuFxCgDgVkWKTBYFgv", "BiSiCwrJkIAzHanSgUwidtqbpuobiYdXObdHJhNcRsFuaaJdfNyaKJRecVqghwPJjDOymXcpXbILASdgYpJgIUvOJWXHEyigUYJXsrQfYNMlTJLdWhdhBWEHdLIxXhCDwdaBkXnkUkFEQJfdUFjuHTJsvEdLBRFgbbZduaHCorNcbEmkLLYAAtSTqOiyKAeXTIeqZxaFKWGwnKbyQuXhMCjIfArTaDbkOqecnahOiqmHHoSNpeGnlJHULcuYruTEtKeYKzFdUkpLoCActLnwXrfWVhopbyEDMeIDRcETjoTduUHzDSGNciYpkWHnaoLtwkfWJhMbisHxjKDEsJfmYktMdZRLtxMvMtsIfcaDvkaCEDJHDAjBnBIfbJhlfuOTKeUDWacNCaADokGAWdkOwLdhHiyTvfYsKZNFCqjNSUvDfuNzSoMNdmJFBOOJVWNHAvQFDriidXGTSULVazxvRcGFMObnFtNeZpCAeRJhRCFYtsLkypgyPhKsyMyyDKpU", "iaGYwYYTBYRYjvmMRdviRUJxTexOBUKNaRnjbmAgsiuDurgLghRsUWhuhBLcwbcNJgnLpxIeiNMgkfxQpbvuUxpBSxKqELdzGEsruALYGGCQYPdfPveHVrVWXGgSNWuJpYcBhFJKOIZvcHEjRVsHwNiVcWJhyUpKRlTEKRHxfqPgTUoiFzxqbNxORIWmIMoeMarWugnjGKkRqGqJyqnmCGChtFIWLwlYJcPXoNClKQkPAYnUCCDrzDJihupRlQRomRsWJgtiMeROpGOPhCqqoauBHJDPQkbCGVAeFmmanmnFxqIaGUJLvkNoOZTLTeTpgLcoNxlYmgcKWEmIxdBDraSSsSbLqwNpdhVIxbqJRyXkhjVvWBmtBIRuhzjePQhPSsAWGKxXstfVUkshhXSbXJJFZQOzNkQJzVGLjXhzxhukwhMIsNzJfIFSdHEURnKUBWTGfWAfOGFJbnRqYNyrrdEzwKoXJwvfFlXEUrGQZAjvfFSfMaFtmbmBABmZKZuk"],"c_array_datetime":["2019-04-25 01:42:30", "2019-10-15 07:07:20", "2014-07-01 14:05:09", "2001-08-03 01:28:39", "2005-12-25 10:19:45", "2013-06-12 19:38:44", "2005-11-12 02:13:18", "2016-09-24 08:56:23", "2004-11-09 00:01:30", "2014-01-15 12:48:16", "2018-01-12 14:37:43", "2016-08-04 16:01:34", "2008-11-25 00:49:09", "2012-05-20 10:50:42", "2016-02-04 23:54:06", "2008-04-24 08:01:57", "2008-08-25 13:37:36", "2007-09-07 09:35:26", "2004-04-03 10:59:47", "2008-10-15 18:02:01", "2011-01-12 07:38:50", "2012-04-11 16:53:51", "2000-05-16 16:49:23", "2013-10-25 22:51:20", "2012-11-25 18:04:13"],"c_map_datetime":{"c_map_datetime_1":"2004-03-20 04:06:35", "c_map_datetime_2":"2000-09-18 20:23:02", "c_map_datetime_3":"2010-05-03 02:08:23", "c_map_datetime_4":"2010-01-08 02:39:35", "c_map_datetime_5":"2018-10-13 01:21:37", "c_map_datetime_6":"2015-09-08 00:10:15", "c_map_datetime_7":"2010-07-15 14:39:54", "c_map_datetime_8":"2016-04-10 06:35:20", "c_map_datetime_9":"2012-04-04 20:23:05", "c_map_datetime_10":"2015-12-07 04:16:26"},"c_map_ipv4":{"c_map_ipv4_1":"76.213.120.217", "c_map_ipv4_2":"34.119.44.105", "c_map_ipv4_3":"133.136.184.57", "c_map_ipv4_4":"62.136.34.254", "c_map_ipv4_5":"73.221.33.196", "c_map_ipv4_6":"138.133.177.190", "c_map_ipv4_7":"187.165.25.52", "c_map_ipv4_8":"61.226.217.192", "c_map_ipv4_9":"13.112.80.248", "c_map_ipv4_10":"228.3.49.158"},"c_array_largeint":[3722147437765121231, -890301359411701928, 3626232656433674569, -7890547812495214759, -2801917756234263554, -2889523033964352272, -5971743528538827179, 510507139389795328, -6759757622252449019, 763765257270744525, 7109386963224847347, -2208283702893222232, -2658174667182854724, 1401065176874721910, 4584025338022186949, 8503448760130310848, 4882157427870029380, 5457407149873796275, 4222946600221582632, -8616934959010344873, -3380565573389145265, 563555316352644170, -8335464676889272354, 4309603702740138947, 2715792547145211963],"c_array_ipv6":["JMzLivyvhv", "xtCHUsyiFG", "xbASNVWCGk", "xXDZyyoxJn", "JYMZSGzZJB", "KAPtIcckjO", "LLzdFAZhKn", "aoRTgWTfzg", "xemQWzkRxe", "danHfKcXlp", "LjRZwSdKzj", "yPNsXPwYGd", "LrDLbWKQzI", "hshUANoZww", "oLuDKzplUX", "cWEOOCKpdb", "bmPSTdQGrJ", "qyDqVSQWQc", "MuzJlGTVRl", "cqSDdFgrDf", "pgxqzeglFG", "NHtUfhTIcx", "NJbkzUPYpD", "PZGBzzdNpO", "nJdzAlKaDx"],"c_map_int":{"c_map_int_1":-1793698132, "c_map_int_2":-2006995365, "c_map_int_3":143813161, "c_map_int_4":-999881546, "c_map_int_5":-1592338401, "c_map_int_6":-1891241567, "c_map_int_7":439198828, "c_map_int_8":552255501, "c_map_int_9":-1568420424, "c_map_int_10":-1017894282},"c_map_largeint":{"c_map_largeint_1":-4919831874637560787, "c_map_largeint_2":-3017008911237582010, "c_map_largeint_3":-6079548125970894997, "c_map_largeint_4":-1883404564624402432, "c_map_largeint_5":2837259047597005587, "c_map_largeint_6":-4328852710202447086, "c_map_largeint_7":-5229290825185749379, "c_map_largeint_8":-3548524286179811173, "c_map_largeint_9":-8056257529022510692, "c_map_largeint_10":-4420267880917699773},"c_map_varchar":{"c_map_varchar_1":"haFFpjnUFRobShOKFWUfdhXMIYZeshYVJOvEizEjqkWLDuCDsoJMhDroTKLvIjFHELSLAbAGAIACepuklnTzjbHuoaqpVESPXahJAyuOBQKfVrIkosJSrmuWyGvZCShUZJBXafxzMxcSQjDKsHHxBWQCtJrlWXxOEoCUNVMjkoNqRNEfEHlmXZNzsOJuJjoKylzzLjiRSDzZNcOauqaVMAPxTQkOWRkoiqYTPcSWCKkbjLpLeKbPVZfeWxRPTWyQ", "c_map_varchar_2":"mvaZiQpxItmzanOwFKRoKSkBXrhaqOCgJlJGxUMsdnqJwXPdApkoQBGHvrtQTXzWZRiQZikrLfhPGXVtRutnnJykLPUACFkglYZVJqojZjeZLsDaAbHDYmvRXOAOTjDUjSnnMejQUULYWlgLhaRzGcjfTxQGgPzFjLPmjRHEthRoOorueQtsDWzWWwHNKVkBLUXgADCyMoOFOmFsSSgSvGFgnFCvnCYdBVhDKaeufuMXHIukcTmEwWSLEOCUiwcR", "c_map_varchar_3":"scMeJlwrtJWEsNbYJxgbinFWJKSGNMvYRjeMFrOwdcThpuTWcefYiVZtzXuLCkRFyAYzQCKREzkyHoCoWtryYOevmxQaqOQyHtSqRyEBdylEdUHtnVdmlRbgTzvnJHlphGyUQTVJRqxeUmgoQBfBCDtAYxUEsRsdFlzhjJXMIItrphHLvWQaZROkUfqubXUMozRmmHcubDxwMLOwKzJGffVsdWMLSwQZCUCGFEdIxZGTRpTTrNyurUOViDYjwvEe", "c_map_varchar_4":"iUUuLjaAmgBtMKWaVsaGgwkRFeyhZIojAcJEtYFWaPjqDqYTRztOoFlWkMivpuNjmBoQXKzIdvInQdpLfBENGEjjrZuNlewDJikgsRsLkckzbMDqPouJZehAJiafoHlzKKDkIYWypFGAtFZrlVGwzyPRrcCdLIhiisTSbZsHVoSWeMpQgjlTDaiJqAVyhVkufSkVyTdrRKVsGzZJwsVtHivklNzZSssxinuZCqFpYKKdpMSAQNzQQmUhnAMcoICy", "c_map_varchar_5":"FXLgxLIuBdhXACebgbbgCVNwbCchSRjkvqhINiJHqKGKszilnHnRnwIBslneFgxQikgLdzVPxmUigyRpJCaHXcXvivDTccsjJRisNrMnFoXJLLnikqZnygyrZJGZmeiPxnEVvCCwHhriGUZjKxYHovheUjXGifYbawiUXgmtWSQcLYzZLjliFujzDMrnsDrXqiGKcyqTBFekrFwTNMUGGBcVdvbxBFgLQFKFOOpoNcREEFlWrwlDuVlxDFMfOEOf", "c_map_varchar_6":"kdXVWqXYlmeNUTSBhDgiXwRdCwxgdLpsWkpLYcbPOJkcAroTSeIMbhQKaMEMSIQurAkcSwgJMclhTdRPyqMXpnuvbgNNCBtgynQwEWrBPcDqqiTNaHLGFKEukWrQsRrFDzUUIInYZTDwkSrPiXhqThFBZvatVxRCKDemPzvPQlfHdGTOfSbLZtrnwKfEnSgrMQgKVJIpvcKuMcTTHJyDPuqkugJjNDxXskDPyjIsFelMyvBSjcCQjhUwEnUCRhYs", "c_map_varchar_7":"gKvEWMKjCxcSbaSxzDIrktpOgOnMeamZCmizomLqFbFMjhwTRlFnoIEdIqkcqfRaFUzhnaWyWWmOZgJxMuSZMSrIOAJGwxliZQNBVsXetnkfnuCrYfIazejMyknYdtgiaTIvyfVeJZtykURxlVUuTWAolFdjwMZDzFoXXinKoYQTBaiRqqwQBLKiWKsJRftFdMxIHQbLrBoYLELvBKsZWsLdJvnJhmmgYdgvJhMhuSpABmVvunqvGHKlJOouGIOY", "c_map_varchar_8":"HKVASQGbqcefsepulpnXbWZAsGPwrgjLiYZaASEKOjMSQACOEhAPXmMgaaUfUwcuVtPVrPOtUaeDyLcNbPWqoEKzhnOzETFjCvvWmpVmldCqbvEOSfkFodIagnfkRGmXCAKErNeUQoGMkpTInWkIOjHnbScdzMrNGNtJHGzsYsRCWTJvMaBtVLmQhGkbRoxAqoyvIEqEYCjYYYrQruMYXtmeZpZWAvVQAafqOCCyZAYhrEhqtEnswtFXleraEjxk", "c_map_varchar_9":"UCjKbijgyOUmrNSzZLgaSigUhPzKQSXrRcgEKUPXUDMbxizjwuVWBqyDmgOBISVbmzqOUgULRDRPgnFOXOcKSobCxCLQugwvjMXtNHcZUVmCvFVJfMBvEGcikEkUqHshyZdOwTJLgjYavrwJqPvczyQTPaubEpmcQMVOdwAaTxgegXjEcOEZCOamhDHDlsMNBqppLXTGWilOuAqkzkqUVrFXtmxTRHcIeuyUueCVaedSyMrTyZUyPPnawnFSpHlZ", "c_map_varchar_10":"NrohruqVlYzwsKQJhwUZHWknslGOBQFRXAFjuiqSoeErKqdSLODQkOSmualhsuKrKtCnSgcbGAvTfHmBFOsPrPlcmPosQGbdvFCpLGbfunjFosuIRjyusAppiRjnSOzpAoJEMmKSVPbEyUHMrednhzJEjUIWXCHIwzBDqIrgqzowNCjGjWYAfxaNnGTfpXxhmaiNyqiYQZASoAiDLUQiiWMpndqRukmpNqlnrfeICAleseTdJaIcZvtCAmHvRjQW"},"c_boolean":0,"c_varchar":"were","c_array_decimal":[51.0034, 94.1519, 42.1274, 71.1535, 45.1097, 10.0197, 15.1500, 65.0651, 73.1924, 42.1992, 51.1213, 55.0677, 62.1258, 94.1500, 23.0716, 46.1137, 39.0966, 55.1456, 24.1012, 99.0808, 9.1202, 48.1058, 71.1539, 49.1272, 22.0937],"c_array_double":[5.851892295840301, 27.949363875574708, 72.1587547813607, 86.77472614015328, 9.436142612286917, 64.08246013844932, 92.23844279128855, 41.29800442710845, 80.55216628671732, 98.38514091521297, 74.26631627828279, 90.54866128941593, 54.69399534370739, 68.64720465422698, 39.005177611723575, 29.309218321475317, 59.18180436061983, 34.55847152673524, 19.45468771296419, 92.81950246652242, 31.607148602261123, 76.24328491436113, 54.79973027363129, 21.365079402315754, 88.59990526499776],"c_map_tinyint":{"c_map_tinyint_1":5, "c_map_tinyint_2":-120, "c_map_tinyint_3":90, "c_map_tinyint_4":-97, "c_map_tinyint_5":-100, "c_map_tinyint_6":-104, "c_map_tinyint_7":41, "c_map_tinyint_8":41, "c_map_tinyint_9":5, "c_map_tinyint_10":-43},"c_map_smallint":{"c_map_smallint_1":26154, "c_map_smallint_2":-149, "c_map_smallint_3":19248, "c_map_smallint_4":23119, "c_map_smallint_5":2622, "c_map_smallint_6":32696, "c_map_smallint_7":-16594, "c_map_smallint_8":-25987, "c_map_smallint_9":-3186, "c_map_smallint_10":-26850},"c_map_double":{"c_map_double_1":50.72421147458058, "c_map_double_2":14.067940178908026, "c_map_double_3":6.920902100838083, "c_map_double_4":46.458955710019644, "c_map_double_5":60.05836701650722, "c_map_double_6":72.75237204519196, "c_map_double_7":76.93681179267531, "c_map_double_8":23.18778415048417, "c_map_double_9":39.119652544379235, "c_map_double_10":22.39357247198041},"c_map_char":{"c_map_char_1":"cSdPxGnLUY", "c_map_char_2":"FWOJxiKjUs", "c_map_char_3":"LYsKPwRsJk", "c_map_char_4":"XYItfsvnwr", "c_map_char_5":"oWkEhRjjtc", "c_map_char_6":"jiATbQAPBU", "c_map_char_7":"IJRfuPOhsD", "c_map_char_8":"zQacQMNSDy", "c_map_char_9":"AjIdDXZLfH", "c_map_char_10":"XpUIVPyQfN"},"c_map_string":{"c_map_string_1":"dsluQHlezWnJeOLPCHEKDVZxZInzZUBVksSztSfpqGySPAedDdEtQbgbDsxwnpETbsyhcJloGWfimjYQJaDVNRmgVcxYDjyfHBOJJsGsYTyJnldOTpEntzbkdsyXfqZPbgpzuWtHqGgmHmNcQXsqPnaVsEXIPJYyRqSPPSHqtEsPyeEiplMyrecsGrCzGQhgGPxhZVqqpvjwabdAaOMnKgtfZlfEBDrDzUwVVcZYQOKUwUkZGdzeKOOcdaxaohITbhxWEmtYDHXsNdrmhzBcHRecVPanOcQZWbZvMXiEOhBeYmHxPPAlDoQaVMGcrJlgOWvWdKzwyfuNZAGIHvWbAerJjJsEVEDMoNvPAuiwnLkLkBcMgtYIHFmiaoqNtDThDIpeHkXvoeYHNqDrxXohWqLlpUzXPXGzlTqjbYhiILEhcALhIhYrELTURwzaxsRdJHhXJoyaPNPLOqHAMbpzpGSiwSiRinZBPNZcPxgTxTRFZHyYjjJfUoWoGnXPavww", "c_map_string_2":"HWYbQdaQskyAPGJnCtJxQzozpoeNXMAKdhcXUgVfHwPpcZhbxAAJPKQqjmvuIWgEehlTUDsUfQcDClfRSkQFHCSiczFRLGNOUotcAUJJMRLyADsbfmDWNsgidWNmyLdgxExmZOnsFIPiPbtJjBNSmggOdVMkpoRMUxQKLxUZuCPXiZdQlUYCQgMgDqtoCskiPzlAmDZwuTXJIsjDXjCJiCXdeMVpSSjzXbmsgstjlXjUUUZxnpPnHrfQKnzRvviJKSbpvqzZQCnkgDbZJpLMoPYxrxDECProjGPkGgMCZFpHUufQeVoDviYoJlQoItJHsqXCPGCJdaEFlVwrgygswhaTobTUhlcwMxnUAVbNRuIZVFrHvggjwRLejIiWzuFNCnIhIkuoztYGGZeIFHbKlGaztqiBgBsVZpjCsgbWXVSCoOiHbnUVRWkVvhUVDXSLiblTWvyBDevkTlYBsBfBYGZMYLbHpdBiXVFgtiddQjqiEvVDMOmIjvykhfhxKyDX", "c_map_string_3":"kqpawnBvHgyOmatcLDBniQPLZTKMrYqzIJYJCqLRulBMWDYPiDtFMCfcIwoHjHwYnqiAgRwSwkxdYIBxHhWbmQCDjtrtisCXZApdhneDwjeWorhgTwQLWBjwXSKzUyWUrDZBJHNXysiFzdhjrDToURIQVuQREzaqTvORkjJUzDGuImpxvGpxpdedolIKvHVOsOXAcouDoabvQMpabiYdkFOfBZbdbopQBvuoTEcDskGaaCiUggeoFROiesSbmMQYlIgEyivCashPUYyWlqLPVCcwyidpVdXLvChHPbhQuFpfhtkynBxqUZEurcMGGAcbARqzpEpGMmyclSfUypTQcOsQtuSvzTTZzmCYxBgwrdzKpZtATfCGKAydjCQUDVdrBurrxzlHlRlwhXKFuDGPFseKFoPkfIdjWIoYkGlOxPjMkEUvcyjbVkseTxOiBdbsEMvuDKQVHPpJfqrGpmEKcPzgypUPbVUZykFFSdgGyQzFWxErHXmQyHjFnFYLHfOr", "c_map_string_4":"OJUKmMUScCGuJnVmTEBplqXUZvXtsAsWjUsjBNLXAXpSsXKWJxcaZGJEkhrVtTYmZmZFRxTUfOcturcgXdCDBkuJqAqBdCPpPJIQvFXGFvwwRhvqnirMwRnZDfLalkSCyPjkhvVXcaUUykZtMfBaNvJJOJWiPVJBvMaGqXBoAbqaauaJZHLbXlFXoJbIfWkxNBkVOCSIIKjXGrIpmMPqNOQegaMWbLIiJeTHYMHsmhMpOqwXTxeYmjKXDTtPGpgcyvNfPsZjctrPTsNJwyRaiibhjBDbOrATCQLxRVuPIYelfTqNZcAjnlkJupTNaTZFUNcZVtznRfiguQTGurvVruxfdwAWKUscCIsLzALmtJUzcojKeNHcwcJVhNFpwVdhXRtBjvmAKYAetVHnRoxufucYKWYaeBbSzsBIkFWsXSNUUganBEBgDLXCcxDipLXqFujgMCgYbAjNdtYJAhMSuolKVTsnAFNrZRoTdKkTNUVNZvioYgmVieDsUmJOAHra", "c_map_string_5":"RNKgDrSWSFAORGdEzirszheAIHKVoHLKUfwdAVoJokAxitbvuEsvPcyyeQBshYaFBpyWHjvjIaTBlrJbpphZkxtdUPhVYxYhAtICIQbfDpXXPgurKrUBdMpUpLGScgfpORVlGCHDZZiEHHuGatiUqrboMFqSOLHPoelKPHLLRfJcfjjpsWAZuNzWiGCtyCIonoAegxKwZtkzSlxXDoxVrpafBQoCZrXuGiSAlnzRIjyGcCPTjRRoXmCGuNpCNxpVcyWptSfCcfyIbAiGLidUwtrGoxVPWVhUuOZdkZfCPRXNsqUdrvcMHOSzTYYOGlyEgXCGvToxmZSzlUllREHvOpEEMzXxeoCqUWpQDoebTTEvDtViccnqDKSIKAmbuhlapcdmyOOwnFyiXwPGhzpXAvnmskTFOTbKmDGHOXlLfvozmBFSPyYUTMluaTFZIffTKfBZVOjCbiAviAsOuLfIPVwPeUKwrdeizVfycWhidJbUYIaPxaQnBnaRTgoUcGWN", "c_map_string_6":"VKXKdtlzzWsmGungUoIfabcpTqFsfmFOtmVAPiEMNMOVVpwasDGgILzJaWKJuanXSTWMotazpFjxuUSwLPRzXmeTDMfselMVgAcpdsBPRjyFzvXTJxxWWbwtguaNlzaKMutCPQzmGhEhMlBPTiqksjVWSfoEEOQDSgkTkYYebUkqMscnMvbNjiBwdvbIgwGRZNDCjHpVtXPpWkdmLZIKaHTKaIcZeaXHieoShvFBJrnShucacPeOrSeLDmKopmhHZUJAEQErgHVElELAAhceCJdMbBRDvbLdtWtyALpJqCEAFLPSUEuQYgfOToLzoMBfygdWzrhpLQUDRjGzNjZMYWnQwuAQDolIqIyTqnNmfkzAHPWmVVeIUQsKUmhyCVjBiXbyoPuokfHVAQpOAXYIBRyPpFrnJRquGzelLAoaBEHzYprExBisuFJnzeZmsnTihxCoMSpGjozxshHHntPXgunUfIkEtrBknomvAOSVYxwIWCTUlVhVeixcYGyyfYuU", "c_map_string_7":"kRSZsGkcyAjCDmSKIbdRkoHzsQVGJuQOjhPOSgmUuoLPaHKexxQMsTAciFYhexmPaBjIPpdwLCIYDGZpMyhggCChnmgwGqCCGpbValkzrQQpOTRHKOcLGbjAfLkcnhptlhZbCwEIYQqKRwWFNErOukgTLYMOCOCaJdxrsqkWAwJHohVIRPDwnmVxIdSYrEaHhSHEyEUeGlrANSzsXwSdfdGtsGDOzUkuVZNTQpsDncgYVHXTaXRtmxZlbjaeKoiFzYrCUqTUhwYFoRkKPcEVgpiQgHLywzJWUurImLILEgtVdVPqGeyutaxzuvbKAZezUmqBIolkmQKirRxLbKKURWpmdEtUPeLmenJSABijfDEDBRvXlOMnHosYhAslVlZCycfBxmPGdiRFQHFtYuFzqsuySrRIdiBiPmZMGoROyXKcjvsURsxejMAOXZmMXkoJLVzMypHuEJepdGClhinJuJKTupHZuZdMUiwPpgQXQyRFrrUoVEZsnYfcqfvPoJKL", "c_map_string_8":"YLixSnNBwOdWuTJYqrJTYfoddbzxZzzgZlEffyNRvoUnvEYMMgWDsmaOlFOuUmzlsFjogztrxLIBeSMhGxvzmskqplDPcaGaYmCMdjsTxylVAtrZFadpeKTOovScdIGKnYLCMFgdpzZqFaLGDnLSwdjHhWhiRRvSUyITiHZHEDDXtCbuKVuNUvECsuwESwHmchHSWqzeojPrmFxattjYcvjLdHBCRHqaLfnMmhHVVKGJxmgRSTEOIhobTdeixCFtslEebCmSyexakTRcEfjszElfDnzFLGcDUZPhWoHHhDtsIfEDPMgRazmlLUCSMvCwCVGsvjvqweqIrSqgTCvbkEbNQacVlAOldJscJYWOXUwRoGMlQwsuFbDeteYhzikjHvtgldVnYxNJCiGSIMyEBIsyFlobaQKuoIYIULScGcLuLkGYKuZPCHgYrUYUYuJwuOCvDAcUIxYICpwvLfEdJAQmMmoNPAxuWCBVvnCLYSZxTvPGOEEhTBrwPNzDUoDf", "c_map_string_9":"qCNPxrmUQNijUZSkFWSNMrnGgMPQkxarMyjTJJNBKCAIyNuOqWNTLQIxqFKwUTfFvlhDuEzPhoTOeyKLWljUCYjRlAmXPetZdGPAGwTvVTuNWHwleRfynIHgUtOOfRWZWxqIgiPtFNQLLsgcwcBrEWnUowNhdQPAteADrFdmrqsYNCcLGKSkdzFhUlMcrCDkwXiBYZJbxYHnrVQAaIrTogoFtsxVwDWQKiLBjNgaUAGTGxWWxysXpamAcyslOPdncRWNinoPnJPaWRxxxzRDDpXWGBRMxbzJtVmUfComBJMIkmLSsLflseneBcJRljChxoEGSmJQPEFjLcohnpqbOLuXElIvILAAzHEqYwKCPifhstYXlXSoxCuIMFaZCtZIjhgPJgdJaKrmxMlaiCQElFRELpGRjumAmYcaYWDrQKOzbFzJripvuSfwzaALOsbhZaSbiSktRcqnMpqjykYQNpCmPwaWDzrESWULhdtTbNRffilqTNtklSFOaikNBNVM", "c_map_string_10":"IqNENyQGsmDDqFwdpGVSmvrVAQukkiDMoWGxbxWLusPTtUFDeTZOKFaBwiWVxYEPeUkbidMtWnzRxMUYcEKeSgaTdWZGNQeqYZfekehYYQpzuTovMpoQpzDQTfJrooixmruPdAJOqJTNjuZtWBNKVwWxcfXDldnFzshFqrgLZNsriHShaylUOZVQfVVlIxsFpoZobTIzMNMDnVrnOBndSlGPpmyYbOlsoxURNTFVvdEuxybtbYukKjHxXBiHMFihefacbCWEKFxFjeNpNXPPHRvkhIZKqKVLxAbEFycXIrplimvgSIqkvEXovcIREVyMQBepgFSmYIHkofFCBeRwkKteyJocWWbOjTbJNnYnIRCxzouCcsRjUVbpyHtBsHPXBwQlgCZzzGbhtAKLnsWPNxnGnnsCXILFGOxAaTaAcqBKiXIocHPmnfYLvVpHoebwouDmdXGEooybOOqmtuxAIKwIrJOqmTfOhYTtRuGslHdOqtKUKhbdfdTbPoVdYZIM"},"c_ipv4":"1.53.219.174","c_array_ipv4":["vCTtrRSxCV", "gxozOlWbWQ", "AmGlWDZxhz", "qQQrDIhnDk", "hnObxUSuag", "GxZdrBHOAp", "sMNQFjMfcf", "jGGDstDZUD", "NLQSNhZhDI", "SzjEocvrta", "HhZFcwDcGH", "wtjykRquWK", "jOdOZKEJCn", "zUQYFJOcrg", "rAKvNYAxgK", "qZniwSvsaT", "nLTdCQchgs", "wpMtSOpahi", "kgokZdIyHg", "udNAmqeksf", "NYCAXJBBxv", "tPZWoXCGoN", "XCMgsXkYkb", "IgGyjlHjGm", "YcjrtcClBn"],"c_map_bigint":{"c_map_bigint_1":7624338522559475261, "c_map_bigint_2":-1696646832103061601, "c_map_bigint_3":-6196750695139181424, "c_map_bigint_4":-709797129780900530, "c_map_bigint_5":-8851234270258549726, "c_map_bigint_6":2035925945717930739, "c_map_bigint_7":2402823138616344724, "c_map_bigint_8":-6087056165855877910, "c_map_bigint_9":8848427939505646855, "c_map_bigint_10":1471209744269674344},"c_map_decimal":{"c_map_decimal_1":61.1355, "c_map_decimal_2":42.0892, "c_map_decimal_3":5.1392, "c_map_decimal_4":10.0633, "c_map_decimal_5":87.1608, "c_map_decimal_6":7.1720, "c_map_decimal_7":69.1462, "c_map_decimal_8":75.0888, "c_map_decimal_9":61.0917, "c_map_decimal_10":56.1333},"c_decimal":79.1318,"c_array_smallint":[-21117, -16537, 29684, 4848, -18796, 12204, -21075, -18678, -15519, -8056, 29651, 21723, 26548, -26165, 11413, 28459, 25440, 18221, -19027, -32265, -9994, -11341, 28606, 27254, -25115],"c_array_varchar":["VNZdBXqfKGMzlWrjPhvefFdwUNxhjDEwmBrMZKTzBXkVdjTJVCEZuoPMQckwAfpmKTHKQsBnkOAdmTeqAQBMTpUcMsqvhELcwBzwTcKNKjTsoUtdsmKOsKRzIeelciJflxIyrRTMyuxWWGeoEWztjtneeIkzIlsXQHTopAPIMnOmvTqPMeEKRkgFBVWuSgUKeRyluooPgcsBEauTLPnuwXaqxEcgPEuCIWAliiEMHBXXMiXEhgtHTCwnqYKiiZQJ", "WRFjzItcmmLgEsfDZRKpdTTaegOUOYwimVtwNzddzODbOehEckAhxISgkHcxFcMeEhxYkjaNIknWKgRTvqcdDttgGrnEnGbqYWOYBGzdOZJaaVGWBGhDARHIDbYksisUwonrmArzlekIxhvAijFMcMOjUaUHAzlCDUUYPXEhdiHedqzJSdAloXvZChwSAqwrynlXSAdjLeHNYxXrMZAqEvtUjjIGriEfIneGixmkrhlwLslRpPtFDAicINTissMJ", "TODxEJkqBAZDtdbYhccEntfbgEfROkqiomykaHrUxSJSExylhMVNTlrreMboxZYmjTlqldbfQAImEBmBsQcDuleGHjctkLfJOhnzXIPfFecoWFesOedCYwFrKxvQFzmBtVMhnyKlikjzGLSRHExpzHvzeqKlVydWcYXjpvCbJiXdhFWgmLSReTKpgoJamPoCrRBvLlnwNienmaxuEgBOZERAmrtepxcXaFmHVcltZFaGKagAopzaiZOPdwOvCCnU", "UwDTcWQpjMtzTFaSCEfKhEGkDstpMHVYiiDxRDuculsOgqOobaIzSitLygRYhIiBmJddDABJxhOVWiOWYiNgDdzVWmBZALAtWhnfYBWlChRUPxcEgtjiIEFcMZTKGAPmPlJxWbkvJYunhFWHqIHigPiQoyMFjMdUuamFbTEMvYxosCleXXncHYkdVxaydNNvJdjAniJVxmAcfkRFUjulUNMlUuvMKvggqnZDkOeTcSZelfXraWPgyiebOJyrkSFz", "EZuhssEKQXqYjBwsdJZTnGJIMENYBNCDGnmFGQswWgzZpnEqpnecIOOfpSgquHemKwfMfoLknCyAkIIYAeUGTjixfAMyEGRcygQmLecyBqLZwnkjUliPKwjwHwIxCliquinLyKwgORCGsgpVXrWXxOmgWjwpzNFISyAvJeqMmaUOzbNdLltVaGfYvjbebxWehikeKqJbghgyDleIkpiKDjMZoQKyhLDrxndhieDmemAoINfyrOKOehIWwPslmVRq", "jmZuKNSoNUHBQpgBfuYfwGBgocleKqCNqThAouWIhhreVYwYhmvQhHKjKmgwfrNuFDhRMPizAGOqnZGPJTebRAJshxszsZYlgstlMpFJZNPYJYhAwximIxgkCsLTlHOdyzrKOOnVzSfKoRyJQuAhqwNCISTYyApgSvPqSpGmstUkLFRuHUcZGGhdauLyQxFPZseBtuIvxJxomXEwawcPgJcssoVLAewRnfgPdhGHKllEdqEDYcfoHinsRRQVNemZ", "sAvjlOxLimMNkKeZNTNMsSbNJRxADWYOvNjshZTyLGEZNRpvmmtgMKVMMJpuootuVoZLkckAZnKMzcUOHurlNGTQlCbhkcJwENnUBqKVbMpuoReptlivaXwxEcAsEZMiTbgECEStMmkiiVNcqLqBXtZSeKFBiHntVedeznQaTdPnxjElJHSnwwqxjPNCrkkkNWbaOZebPjadVDynJTlWdRzlWgGfEhqBZmFjkJsqYPgNMozVGEXYCfdNYcsvHafr", "qLWiIntTnJWCRGcSmNlaMxJMsSUdpIKGonsoCNGUsWNgXwdgeGKkGChFtRicvJyeSqAAAzBRxdTUhfLqxrTznOMMuShVihNbCtnfcopXuHBExiZlRGWCFPopKTkSFwCfIrgrhRYMMKhfhoAoGAeaXaUWLPVyjYZmOvoLtrrtoXOLemCCAkeoFwPPBVIeorUZbPnZgPMVjGDiEZgELcAdaDFXmAQRPnJpgXMSTISQPTKgpHeEpkaLjWHXtAIAetzJ", "yxLiJBHZtlDuRPfoEHkUfZYpcaFYEDSOuNbGEBTZvRmXqKwGdLXcjEsYyQpLHEMPhajcfsxOqigSdhNjKvEybPetojaLUINTzYCpgYoilxHEipoKOVZYJZtHyoMmfeQVEKKcxIUJcQXximcraOAWbLdjFKmrHmBecGFAZZLEvlppHoiHNHURktqRqmCEKSLhcxoeQfLnJsXgKAusPCTKVyBXmCEFHqjXcSPjqpjfUrBGfZeiahAlEDDcLyjYZCgO", "CiQOhJuRaKGsPMqxAidCPsjiJjvYOjPcYuVNTlsafHXDcGjrkvxOzLcJVPCJdrrgiLFcMhgRlBQKSBzwcgsZGBKkOIXONzQrjMForzFRXlpySBtrGOzsKEorDOGuweUGnJtCrPjzMItXKyBGGrcbiAubGJMmnSovCYoyqaikrpFwBxIGzYpkvHZjzUydaiyoWgsFBNesiRloOsSDopFBNNKHFNINhUsFOokwulHHygzjqgJaqbzxWmllHrWLJFJH", "wwpKtvVotyZQDKrdolgCcKRtvpIUsoKKJnPhseQzXzbgrUVKRxAnqiUliFFblxWwHSlPesRccOqrcjumofVEOEthSoYrhiBFSxwZpkMunynyddzutWnbWkFXwsxviAISLZrlwLIyWELwRyGKBzqfMJDOkbnkLNQvxNerjPYTEilVzyYDLUVHMrUqkoCqfSBBgIgeaePJujiCKaHLfTUMPyNMdVBkuUupZrXCNYlLPyCcvQsCnWOICErWhmqsGMEc", "IoguryuskhnKTxteYdBPEScOrpyhRuQcrWUBAblaGYohHUZspVGktPsHwcwzUjrLLOyjAYWuPZDUbWFhKWyBQoPtoRBxPFGPZQFZaiskUjqpltMUoQcqtNaNgCDXgKSVlKuXNnpzKQlavoiIGVpniuHxRTxdnuHgiJRjOeeOHGbnsTsFSevOrJJRJpYHFmQKxAiDkNSmBfwCZtRlNDXTEKTdUKFdHJPeVWruDDSRWEvsYNWSONUXzReRLdoihSyx", "vgiYALojuEBQdeJHKVUmwJYjONDydCMxxZVFKwbmScUNcYocbxqcdzjxjhFXfGtwrfDdseDqEYXyLUOgTwsbFGeJUUeYEbbkKBJBKSyBGmakTxtoFFsQsNWBGbcSdwTzqjpjreglllZOwedygizpplJmHWSHYNFegJDyqaFPsLYoDIQqbAzybzwEfmSiwrwqarjcqFFLTjxDTDGMgmrKBqIocbMsRYXwQLZxoWJYMuvsQtXbUUtzFTIDaoekATcj", "izsrCubBRxumshUoiyrVERMuoiPyQjTtyZXygOqvmQEAoiaqkMhzhMpRcBkZfnAJJEfQkhrrhfOTgLcWEXHDlFXrkkdCeTNqmcbpSdyWTxiKjXBDPoKkAlRjnaRtWfGAbcKjaSnLYBEuWHRTPHEfTYHahZsQovErecLElQwFVhPbnbKOvIxVLZKlqHcBYDNTxnCnDcoqIbGRJWyVdfKimagzaJlPIddgoVeJAPDcJolqoveSRifkKohcXDJxjSwF", "ZSLMzkYTWDpXGsmjpalMByOIAoKvbeHtessccYQYZFdFtMzCEQoQVTsaXnazyORnauiVCgWUERDMaabopRSGShUwkezQiGKdThQNQYogpvOZDPkAxrolJTxAqlITUxpdfvrpmeAymFnBmdjpXUwYLTGNSRjnPbLXTQfSmSpQXTmyAPRMJkORGOaRNFMJQBuparAfIggsghMIGjbPeWwSOLUCKcrOIlBGtOGQUOJRQaqlqHtlHlzxYtBxuGDtCpJi", "loqLogblJzUEMyXyRFFNORIvqiTiSDYchAcMGgMLiYBHtBvoGFTgmgvZpUvKCGTJTgldsFFindcsesuboOFcQPbHKxPqrspUkTZJcUkxGyuhLVOlOrDugXQgxtwghfmGDreHaoutYfltEHFDSqBNwBzZSEtZRiWDzJuXRDfzDTgKDmfDwFGZlnGgVKBHVBlBVLBQZCgDxRHAIJztsvfYcVMHLfcMptQHKHRduiYsepBUkUImTNBDCweguZzAhohU", "rWyvWFhxlbnDYlAymXnAAzDvJDcoZlbUKwtRqeXHNnFSJTjGSSybywoAFPnUQwAoNKvYZSclbiMqFWbfjuhbBsrCVtFINNzUrTEfUXzQqtzYgikcXlvrPJBcZFTvkCZScmYWKybaXCinOwHjDdhzSujknyJrxHpsePakwbNSerDWvOrXLquUnWDfBRoVxyBkRNoiRjwMwbYfkZJQtjTtvnNlZUlUnCBWNlLoVyRgVcKydBOTsQxPdqVPKPTDFsNS", "qktgKOPUqaYAbfGQaQsQdxcUupfvXDEqShnKolTTVfQrfGeblazeCFPKnYNGZyFoAlmIByEIjXIWnGfIuzWzOGJBbYlpxDUiWLNMUAyQKhmbuMYWCjHhRDtEVmKujqrzviDDaVfagkhcoSoiEPgAOvCRvZuivFVCrkSuFElIwrOUQlXiMJoFfYTTHFgzWcnWuaVmzmoPdqgAConXQHOSRNuRoqTgByounttrAhbcjLcDryJAGUGctfKcTgvtfBpY", "eDqJtXziCSFzxNFMCYXrqKaLcACuxOZYkkdzfvEtvTOIeECxbXQymYnREInmfGGLAYOaigLxGfPtQuEvDYkMvEAlppdJBLVKKMkGcREIUTiykHrOemLumVhjlvhryrhtuEfLapHNwiHmYIQTmfprpojctYdNRrvByYwlWlxVPNKmxfXtzTJqtanEmEFOlQZfmCXygZRMvxzCdWucFPIExKpTPhmVMKLVzEjxUaiYvUFAcjLchUOpqAWWhDkxaiQS", "pXlvbzKRSIwqyPClCrTFyFmcrpfsmHirfkMHxAtpjvEVWECGCxYXJDlCnHQlmGXxQSZesWeJIslVLmIaDeHRCQJVzNSMBHHpoxtESjUDvObpnyHRINsqYmyJYyZjFgDUdzoDNViCqXodRcPYIFnhEpsHYqJDoSLzipXFhVGbsYaPZZpiPtvuHDBcvxCwDaSsCaMygHEwsmwesWhZbiYFikfZDFOWxiDxHSyAuaxNuudSnENTlhFcFdrlGtekcMDL", "TekUAkrNcAeIVJedRaXsuklymrsITJWmtRYVGkyxTeMQFzIVzSFypMNJPirifxyqEzpBaFaaSGdMnUdilYfqlfEbaomqibfbZHTBrWAisuEFIiISAQYkEhIndViRWTZRwGzgYeZVyVdmPfrXRWIgUOMZkNsrRuQcgCgPSpAqSrDkCYhnMziwElJFOxYeraFQXwedUsFKMFRYpfsGHHGuwwjkaVADrUpgpHxmVbqvjxQBduECtvhNSFTaxjNepDmn", "bQUmSKpZYqQNiQVZGRanCnhcxNIpxNetpdWmGmXwXcksbdWcEFLZncBOSPYosCzzMtWhfqDWuPmfZydEDOxMZEQRjtPiGIprPxvAPcHNfJGNpAJvKdnEwHXnMHaWxIRTUedOFgMGyaUokKWlTWcUlGLbGdPhlZUvMmMjGaVRUTzXApnCBqtnngjseuCmjnxYNGLuVrdvzcYUmuHXzzhAVfvWMGnUDEHXlcKZwpLBzOMKFOiQBUnKqoFQpxyzdANI", "oARANcLAQGtvufHMFfNCjtXSwGOgPTqZhVBRwfTzviiSXsFuYbcbkVStlKNUZAosgJswgYztyeekGxYuAEiISEMLFjGQgXtMRLMuQSRbfXLWhHYAVeAoZEdXzxIAXvSCEPBbvFlttzLGuUiAkQggaUTVznuQuYoOLdvTARDCeiUflmssDUpeluRMLbnDTRaOzDQintfVlvwpBORfmvDZIlprWuMGIKRJrVVIfCzzKMiQdpBZhyhnWlWuQKlckoRp", "WQCKARSjDnmbllDAsiYqqyzkVnIbxFvESNrlnQGWCYcumpsVzXPlERpXcpQXgCbppTVqXxmpCnMwfEzMModGqcFZgNiQYfQZVZtQEcqBujzlrVtMkkktQqYEdlXPSLpidXQtHJchJvompFpeortLQVtuOaSUQpTuEUdSYLElEXjkZRqoQErmMhEsSxFeQWUMlcAzJGcPyeegUTwNUOsMeVGAvOXgiFvxMupnWgzFAMhQuiSFSFMHRuvLIYHoIXSm", "rhlDlicnShpGzZFDxEefrXXSSdYXIPhCCnpdRQJJfdEaalnYMUgSSbQeWeLMBIaaaSxnHetppyWTxUPhtQTXCVOUvkXNpWniFzRRxXPnZNCakUOZbbsykZEREghVqBamyvIyFaoWWrkqyHcEnYYNvtFTCxGMSjdgISzjLOHnJhOcQOMAgMeZKcKOtaWXIQHtQtjtbKgHnvjvIpqXcaxOVyZeXnbVxZXbLRDnPEYcGQsenTfuepIxGLvAQGcwfSQu"],"c_smallint":-777,"c_bigint":7032206217374977494,"c_char":"CYAhCnITYJ","c_array_boolean":[1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0],"c_json":{"httpmethod":"GET"} }'),(2,false,false,1,-128,80,-27,22543,32767,245,-32768,null,1328511192,-2147483648,32679,null,4,300.343,-6307890,147483648,453925,76.93629,85.03589,75.16017960205718,300.343,100.02,51.0025,40.123,300.343,10.1402,19.1106,100.02,40.123,40.123,54.1056,1.1659,34.0310,300.343,97.0639,98.1830,70.0579,null,81.1211,40.123,60.0940,300.343,40.123,31.0363,100.02,7.0075,null,300.343,300.343,{false:true, true:null, null:null},{false:null, null:true, true:true},{null:1, -128:null, -78:-128, 110:-74, 127:28, 1:null, 4:-112},{2:null, -23:27, -13:8, -80:17, null:7, 1:null, 65:0, 0:85, 127:94},{25030:-1484, -22826:-9710, -16223:17444, -32768:0, 6806:-32768, -13470:32767, 19378:-1262, -9641:-24277, 245:245},{245:25365, -387:7851, 3365:-28306, -19653:-18215, 3654:26434, 26487:245, 17387:-19538, 10103:0, -5144:-23279},{0:698980863, 32679:0, 1054241368:147483648, 2147483647:147483648, -1117937328:1363367712, 147483648:32679, 687223737:null},{32679:-1376214886, 147483648:2147483647, 1550856118:337443273, 1246810386:686308727, -2147483648:32679, -1800565149:-1854543757, 151918042:null},{0:1, 300.343:-4045635498019693914, 245:8, 32679:-5483927, 5911292:147483648, 5181171050383235339:32679, 20240803:20240803},{1:1, 5576963097435584376:-7068209975870285864, 9:null, 245:300.343, null:300.343, -23248:null, 7572644:32679, 2:245, 3977242853105150465:32679},{0:245, 245:-1801137, -2994885194548515738:null, 9223372036854775807:32679, -7444721633505706252:245, 452560651:3491131070570124243, null:null, 32679:0},{-6866619494229060958:1452500303, -1562199227:147483648, 9223372036854775807:8385582523431326321, 32679:0, 7664982:32679, 0:1577500, -7434068:32679, -5513503075420300687:147483648, 7614604336147803514:-562044048725170628},{100.02:57.9696, 40.123:2.9380987, 58.035767:52.66187, 49.299587:300.343, 65.37081:40.123, 78.2584:300.343, 34.7679:49.180325},{40.123:100.02, 30.555325:300.343, 63.678017:47.58696, 2.9350774:72.133385, null:85.89442, 91.218544:23.039417, 37.0745:63.93493, 100.9387:15.202836},{100.02:47.58218560228205, 40.123:100.02, 56.30676949750991:300.343, 58.90078188543687:100.02, null:11.267582434461994, 53.77083217951897:300.343, 15.609840821458775:40.123, 3.0619196629987195:33.62005188164976, 35.16889343091458:100.02, 61.0449666694299:100.02},{55.795264899465565:100.02, 300.343:100.6546483198218, null:40.123, 40.123:54.76183582412488, 31.797541029384462:null, 22.42709244943445:14.976926023756343, 76.59303614282305:71.31865553194615, 82.54075244921617:null},{300.343:'he', 40.123:'v', 8.0404:'l', 79.0579:"2024-08-03 13:08:30", 61.0849:'n', 5.0559:"20240803", 87.1381:"0", null:"2024-08-03 13:08:30"},{17.0410:'it', null:'I''ll', 11.0491:"300.343", 300.343:"20240803", 100.02:'yes', 44.1690:"2024-07-01", 25.0733:"2024-07-01", 0.0654:'he''s'},{300.343:"20240803", 85.1770:'then', 97.1545:null, 84.1528:'don''t', 31.0136:'that''s', 100.02:'they', 40.123:null, 67.1172:'a'},{null:"1", 35.0124:"0", 40.123:"9999-12-31 23:59:59", 46.0057:'his', 100.02:"0", 66.0990:'have'},{30.0336:"1", 40.123:"9999-12-31 23:59:59", 300.343:"9999-12-31 23:59:59", null:'were', 7.1916:'time', 99.1192:'w', 39.0995:"300.343", 33.0736:'had', 94.1686:"300.343"},{300.343:"1", null:"1", 40.123:"300.343", 5.1875:'n', 36.0415:'e'},{100.02:'j', 49.0153:'e', 68.0871:"9999-12-31 23:59:59", 36.1727:"0", null:'g', 61.1124:null},{80.1345:'y', 40.123:"1", 46.1189:'s', 100.02:'y', 35.1296:'k', 66.1679:"2024-07-01", 67.0726:'f', null:"0"},{40.123:"20240803", 100.0352:'or', 100.02:"0", 68.0360:'d', null:'t', 44.0063:null, 100.0168:"2024-07-01", 300.343:null, 10.0335:'p'},{95.0572:"0", null:"20240803", 28.1572:"2024-08-03 13:08:30", 100.02:"0", 300.343:'out', 40.123:"0", 58.1937:"300.343"},{300.343:"20240803", 40.123:'l', 100.02:'x', 59.1309:'from', 98.1417:"20240803"},{99.1863:'he''s', 49.0364:"2024-07-01", 40.123:"9999-12-31 23:59:59", 300.343:'d', null:"1", 55.1088:'but'},{null:"0", 100.1094:'my', 300.343:"2024-08-03 13:08:30", 100.02:"20240803", 29.0548:'l', 81.1400:"300.343", 68.0943:"0", 3.1437:'then'},{70.1336:'g', 300.343:"1", 25.1124:"20240803", 32.1230:null, 100.02:'h', null:"9999-12-31 23:59:59", 15.0295:"2024-08-03 13:08:30", 40.123:"300.343"},{"2024-07-01":true, 'but':true, 'really':false, 'j':true, "0":true, "1":false, "300.343":null, 'can''t':false},{'going':false, "2024-07-01":null, 'e':null, 's':true, "300.343":true, 'o':false, 'r':true, "1":null, null:true},{"0":0, "300.343":2, "2024-07-01":1, 'ok':0, 'k':49, 'he':null, 't':39, null:127, 'why':127},{'hey':null, 'u':-128, 'look':null, "20240803":null, null:13, 'q':0, 'no':2, 'i':0},{'t':10824, "0":27191, "300.343":7658, null:-14569, 'q':-32768, "2024-07-01":-8285, "9999-12-31 23:59:59":-28150, "2024-08-03 13:08:30":-22290, 'good':null},{"20240803":-32768, 'n':0, 'if':245, 'and':-3293, "2024-08-03 13:08:30":32767, 'know':15628, "9999-12-31 23:59:59":null, "0":null, "2024-07-01":15634},{'you':2147483647, null:-2147483648, "0":147483648, "2024-07-01":147483648, 'yeah':-1565100264, 'x':-774448450, 'as':-779589110, 'f':32679, "1":147483648, 'g':null},{'j':-873318976, "2024-07-01":-292962542, 'r':1798978471, null:32679, "300.343":-1940085182, 'all':2018479551, "2024-08-03 13:08:30":2147483647, 'h':null},{"20240803":1, "300.343":1053151, "0":20240803, "1":20240803, 'o':20240803, 'at':32679, 'tell':20240803, 'd':300.343},{'q':null, 'are':32679, 'w':-12556, "9999-12-31 23:59:59":null, "2024-07-01":1, 'in':-5228813446531076885, "20240803":8, null:1, 'c':null},{'it':65345796, 'i':4314777, "0":9223372036854775807, "2024-07-01":-736262321732020800, 'y':-525728274, 'n':-4070118, 'okay':0, 'but':null, 'd':0, null:147483648},{'w':-1593716344678556749, 'now':9223372036854775807, "2024-07-01":32679, 'is':32679, 'then':245, 'do':32679, "2024-08-03 13:08:30":0, 'we':-9223372036854775808, "9999-12-31 23:59:59":147483648},{"9999-12-31 23:59:59":19.957378, "1":7.807401, "20240803":null, 'd':4.461938, 'they':74.49358, 'for':83.44397, 'he''s':100.58062, 300.343:97.78573, "2024-08-03 13:08:30":300.343, "0":94.209854},{'z':300.343, 'l':65.83638, 300.343:62.684185, "9999-12-31 23:59:59":77.08364, 'u':300.343, 'not':100.02, null:29.266008, 'okay':300.343, "2024-07-01":52.44914},{"9999-12-31 23:59:59":31.022940092798464, 'this':13.181579274110018, 'my':22.84420770445078, "0":40.123, "2024-07-01":100.02, 'want':0.4288064891623583, 'b':300.343},{'had':null, "0":68.21371959165451, null:75.25944605327126, 'about':12.836262197215962, "20240803":40.123, "1":74.37091695779318, 'as':40.123, 'y':30.693103219316743},{'with':3.0981, 'do':40.123, 'b':null, 300.343:27.0196, "1":300.343, 't':100.02, "2024-07-01":49.0150, 'q':40.123, 'f':100.02, "2024-08-03 13:08:30":null},{"9999-12-31 23:59:59":39.0109, 'u':null, "0":null, 300.343:300.343, 'at':64.0074, "2024-07-01":300.343, "20240803":40.123, 'n':73.1881},{"9999-12-31 23:59:59":null, 'e':300.343, "2024-07-01":22.0418, null:40.123, "0":null, "20240803":100.02, 'l':null, 'oh':100.02},{"9999-12-31 23:59:59":null, 'l':68.1258, 'this':57.1908, "1":100.02, 'him':100.02, "2024-07-01":null, 'me':null, 'h':40.123, "20240803":100.02, 'k':300.343},{"9999-12-31 23:59:59":null, "2014-08-12":false, null:false, "2024-08-03 13:08:30":null, "2024-06-30 12:01:02":true, '2011-07-28':true},{"2024-07-01":false, "9999-12-31 23:59:59":false, null:true, "2024-06-30 12:01:02":false, "2024-08-03 13:08:30":null, '2015-01-13':true},{'2008-05-04 04:33:29':0, "9999-12-31 23:59:59":0, '2018-02-09 03:41:31':1, '2003-01-18 20:59:56':127, '2010-05-04':-3, "2024-07-01":118, "2024-08-03 13:08:30":6, '2008-08-15':1, '2013-08-03 19:14:54':121},{"9999-12-31 23:59:59":-128, "2023-01-15 08:32:59":21, '2002-03-04':-126, '2004-10-20':0, "9999-12-31":null, '2004-11-21 20:01:59':75, "2024-07-01":null, "2024-06-30 12:01:02":42},{"2024-06-30 12:01:02":-16091, '2001-03-10 14:35:25':28554, '2000-03-27':21414, '2014-03-20 03:13:57':-28486, "2024-08-03 13:08:30":-24390, null:245, "2023-01-15 08:32:59":-17344},{"9999-12-31 23:59:59":-5258, "2024-08-03 13:08:30":20575, '2012-07-01':null, "2024-06-30 12:01:02":null, '2003-02-12':32767, null:22689, '2015-04-06 03:08:06':0, '2015-09-03 23:45:54':-25460},{"2024-07-01":1925835851, "9999-12-31":-418364277, "2023-01-15 08:32:59":-1393697184, '2019-12-28 09:38:06':0, '2002-09-11 04:54:19':1333945436, "2024-06-30 12:01:02":-152636877, '2014-12-04':1898924619, '2012-11-11':617646886, '2017-08-03':-1006867613},{"2024-08-03 13:08:30":2025337662, '2015-12-04':384457572, "9999-12-31":0, "2023-01-15 08:32:59":147483648, null:null, '2019-03-05 05:02:12':205348569, "9999-12-31 23:59:59":1485821267, '2015-09-15':1500985434},{'2001-01-08 12:26:53':245, "9999-12-31 23:59:59":147483648, '2010-10-01':147483648, '2010-05-19 14:12:13':1, "2024-07-01":147483648, "2024-06-30 12:01:02":20240803, null:147483648, "2014-08-12":-2259196, '2006-01-22 07:09:58':147483648},{"9999-12-31 23:59:59":20240803, "2024-07-01":-6351381649807666066, "2023-01-15 08:32:59":2, "9999-12-31":3079235, '2007-07-18 03:13:56':4, "2024-08-03 13:08:30":20240803, '2008-04-01':-7691816, '2009-12-03':7293},{"9999-12-31":6821046137063214295, '2011-05-04 19:23:15':1, '2005-01-13':147483648, '2000-10-22':1698275539, "2014-08-12":-5891254187380248638, '2016-05-05':8159713142676298868, '2008-09-27 04:14:01':9223372036854775807, "2024-07-01":5964390, "9999-12-31 23:59:59":1},{'2001-02-03 22:03:38':0, "2023-01-15 08:32:59":245, "2024-08-03 13:08:30":9223372036854775807, null:0, "9999-12-31":147483648, "2024-06-30 12:01:02":147483648, '2003-04-03 22:34:15':3588452226527908962, '2019-08-27 00:17:33':null},{"2024-06-30 12:01:02":100.02, '2011-04-22 19:03:37':12.251872, "2023-01-15 08:32:59":null, "2014-08-12":1.68237, "9999-12-31":40.123, "2024-08-03 13:08:30":88.55227, '2018-03-05 06:22:37':16.291061, '2016-03-26 20:50:58':40.123},{"2023-01-15 08:32:59":48.709457, "9999-12-31 23:59:59":66.114395, '2019-09-17 12:40:20':100.02, "2024-07-01":25.521929, "2014-08-12":15.037067, '2007-08-28 14:28:40':56.606934, null:40.123, '2019-07-09':300.343},{'2016-10-06 02:27:46':63.75257294020421, "2023-01-15 08:32:59":48.66188412177905, "2024-06-30 12:01:02":89.83696367873736, '2018-11-13':49.229208133831605, null:86.59526602228723, "9999-12-31 23:59:59":40.123, "2014-08-12":18.27355899065125},{'2009-08-02 19:21:51':93.14818023279888, "2024-08-03 13:08:30":38.18899805260747, '2007-03-05 21:29:37':51.63530126602624, "2023-01-15 08:32:59":26.310701145111803, "9999-12-31":null, '2003-02-26 02:28:23':null, '2003-05-21 08:31:47':40.123, '2013-04-22 22:41:47':80.44072505543603, "2024-06-30 12:01:02":null},{"9999-12-31 23:59:59":null, '2011-03-03 00:16:39':100.02, "2024-07-01":87.0154, "2014-08-12":300.343, '2000-05-18 18:18:56':100.02, '2019-04-17 15:56:37':18.1429, "2024-08-03 13:08:30":58.0499, '2004-04-09 12:24:28':11.1727, "2024-06-30 12:01:02":56.0755, '2011-02-06 00:10:22':71.0392},{"2024-08-03 13:08:30":33.0655, "2024-07-01":88.0776, "9999-12-31 23:59:59":40.123, "2023-01-15 08:32:59":69.0123, '2007-03-05':null, "2014-08-12":300.343, null:35.0998},{"9999-12-31 23:59:59":16.1943, '2012-02-11':40.1129, "2024-08-03 13:08:30":27.1576, '2001-08-20 12:42:46':6.0453, "2014-08-12":40.1376, '2010-11-14 21:19:36':100.02},{'2011-01-08':16.0327, null:100.02, "2024-07-01":null, "2024-06-30 12:01:02":100.02, "9999-12-31 23:59:59":100.02, "2024-08-03 13:08:30":22.1161, '2017-09-13 02:10:40':3.0865, '2019-05-21 06:14:40':40.123},{'2002-08-07':23.1752, '2018-07-04 11:42:10':85.0339, "2024-08-03 13:08:30":64.1264, "2024-07-01":90.0579, "9999-12-31":40.123, "2024-06-30 12:01:02":40.123, "9999-12-31 23:59:59":35.1998},{'2001-10-21 08:38:15':null, null:40.123, "2014-08-12":82.1146, '2001-01-08 22:10:16':300.343, '2007-12-12':97.0483, "9999-12-31":null, '2019-01-14':50.0182, '2010-07-23 11:49:58':300.343},{"9999-12-31":64.0893, "2024-08-03 13:08:30":30.0251, '2017-06-12':46.0666, "2024-07-01":300.343, null:72.0702, '2014-05-27 21:42:28':null, '2019-02-11 15:59:35':300.343, "2023-01-15 08:32:59":100.02, "2024-06-30 12:01:02":30.0455},{"2023-01-15 08:32:59":40.123, "9999-12-31":300.343, "2024-06-30 12:01:02":40.123, '2012-11-11 20:03:17':8.1918, '2015-09-10 08:50:56':40.123, null:90.0698, '2019-12-07':5.0555, '2000-02-24':100.02, '2018-01-09 19:47:26':27.0994},struct( null,5,4557,-1596941420,20240803,245,100.12433,40.123,40.1567,47.1685,null,100.02,68.0075,40.123,83.1226 ),struct( false,0,null,147483648,-3535374,-9223372036854775808,300.343,43.9136173626749,15.0626,5.0182,9.1046,25.0396,300.343,100.02,40.123 ),struct( true,0,32767,-768288465,1,-9223372036854775808,100.02,null,300.343,30.0309,null,64.0953,45.1803,4.1669,65.1755 ),struct( true,30,null,2147483647,1,32679,83.79855,300.343,22.1342,93.1359,null,10.1515,46.0319,58.1535,28.0131 ),struct( true,1,32767,0,3,620770389003894113,300.343,300.343,19.1866,300.343,null,91.1697,46.1765,null,300.343 ),struct( null,4,32767,-252326881,32679,1,300.343,null,62.0665,40.123,54.0154,99.0344,100.02,10.1439,40.123 ),'{ "c_tinyint":-119,"c_smallint":-9336,"c_datetime":"2019-12-04 04:49:15","c_ipv6":"ca04:f5f1:f5d2:140a:b4ce:f244:62c0:4559","c_array_ipv4":["QrCLEPcVHs", "nfESEvULGY", "yzbCfUmJwa", "bZeknwrMpX", "DANxpyVKTP", "LipVkslCqt", "PrSLTdBatO", "alcxMaVCEP", "oEcXJzrKnD", "yKAxHhcQGw", "uVuzsTbuxd", "lOvHavCncl", "bLdcZlWsfq", "KGApIwwdit", "KyxJXeJzzt", "ZWntPKbgso", "GNQVCERQLi", "VYrUiDpAft", "EPleZiLUPu", "vafPsudsYM", "oQHIjRJmSO", "tGkVpRzmxA", "zPVFrsUafF", "ymgLMyyjkH", "agPOljpvUN"],"c_map_string":{"c_map_string_1":"ynMAUhwrpRXjWUToSiSLVPvLVXmUtjioGPIhVjNOgGgcDMSebrBhtEOnCXQRbmFoJqcyjScQBEeHcYEAbcFJmffqiEayHEjyaPzofujeSFyenKOPGusAknNGUwfseYOStUJmFdyvSHmREoZISesZqvhxteqGIipoCSVfPdzmilnFgGadsqLivTFlNyDYoAPHoDHlbjSWPbRJQzkYufcytWLbsiQdJqyLitlcnGwdolRNSVfApTDVhUGhCpNsnPfHzoMIfTlNymoFwhrWSpDpuxkErnVBHrzNDyBOUkyisklwtelHnBVOtwldvKATTqepMupdjAkQTpqOggRelVdkpMEuUFaLCvsdLFROZtjvaYkWfuJjbrJtDVrvEJVAIwuZhPDrHFZBXgpKssQWAgnfyDQcoZqArLgTdKonSLgoUMNQvVgGDfuIkRkpqHKBiZSQlufBLdcJnYMGFTXcZCPovVzMLDfIdlTeJaUUbNWluaLyaNoJubrgxXFNWGHOBnBa", "c_map_string_2":"huYFjjlyVwaxWmUmcIMteIUdGqiSMVbjuAYfADGccZPoYMMwsOFdavmjOKnCSwnBvmHpnPeWsqxheftjQbdfiFswsdHlmuQYGavRjssUqgMgRBYOFFfJRpfGTytXjXgtsOHPjvQAqgNFxEfuRvRwYJdUVVZgIVymbsJOaRtWZafWwrEBGQXxmxCHjEhlphyUujrnZepOvxvOjqZdiGtdGVvndjvfCdYIYlWgXBtrQAQzMyxumkojaZvFVJScBaEwbZXbZCSXKeqJXmHpibBostpTUyVXqXgfUWqsAPdTzSdVuHjEBUJmKDOLhhQeZejNtZcxdXQORnACPztZGjZcToWOeDZHTSheldgkaVLZtNleUmBDFGXABRiiJtIYGDkvXWbhJxbcbrWZeputtyGHcYMuiGpIyIcXyCnmIrbWMVJzwqPXHlQcJIOdIELueovtSzhXrTYxbCTMXfXByUTKazKMwrRmvpbdxyuRSIseVGnfrQIPDUjECPkLUogGTDPO", "c_map_string_3":"eXoqYniJIXeizFFTYoTOpoqKQgcIughbjArkLzszlTtRlQQqHwXEyATXJdDQOfsdDIbQBGBeKvMTfbrDBVRVaMxQQTlvvtqSJtDohXmbGwfLqgdSRugJNiiKukUpPHKbKTIBpDTDOymCjrugUDhSJnlQbFdrEESpwblKkyuHgMrcDmnBZmzZXYCYflwWZfRgTIVlAfkNemiMygPCEaulRpOypDRnNpldbZeQVhoMFJFWEkhjCaIiWhsomfpGFtUKzsjOjCbLElJglWIkjHJfDUiGGQlUcUlSkyDWsziwbbqkHlIFAoqYwZpRZffQlaFxSHXZIWOxrJUtsWxHxmDmbecPZRFkjpwWdAfJjyAzCfgcEGIDsgoYsHQNatmNctIlSfTUFFdUYKTkyiehLEUXqbWeqSeCgVWSwPSGWhKUiQPZYVOeCerggAbzaeQaPjLxlQrMrvCLSUCoiZEhgONjhzflFHIpobYvCHBVOqgOweTirpdHSymBfuyxIZeKKxGA", "c_map_string_4":"PmVseRTXUJjIvAwmBPMLfYikSXwFEdhqfghKsppqgiZpnZpoGOtESaoCdgDTbpsKetwFRHtmkbOHZTeUwieErKQdMLCLKwdiJzIlXSlBPaMwAxHOOOhlWVEWPCjDCUXqRalINJDqhyhwGOJWlGAHLhlmdErQepbjchrvmSOisigxJvOdSRBlkRSmatYvEQdxHuXpyVpWqnADOXKrLRbFiCnyvswljgopJnBwadyEBcroVvoUUoWcyjuqDClHLcbYtEboVCChuQxTeIJKdmFnBlBwYxnWiTyvlhnwRBOvOPZWfFHomaslUKTxZEhYKhuIsimZwBGcodhZUYzUStHndsxEZuXVDjLOuDnlvRdmyipKSHNJrujVUMdzHGGPDdrglZLHibSsnwysWCmqudpPJHySHqOyOooHgxvDQqkymeYuBKxaYdYfkqVaAAkCDlMdBiVcojumrnephBvmQdaWhjzTryNSoexwJdYLdEKjlkJcMjsOShrtsugzzeUZiBGC", "c_map_string_5":"jmZHKUUOGOXRdzoNrOWOunykGDXQXJiJGkvHgWoRIhuFasfOEYqJdDdEJXAgDWeHMxkiQTluIvyowETawRMGLZCJFKEFuUZQMSFriMEpgMfKtEIDyFMxTElRAvnESLtKEKJWGXwpoDEDEQfapQpFqilCIPaIwemBsmtdzbKqQgeGcAmjXloIuoIhbeybfDExZLzGtNxVRJiAtMeUsgNSQNTUXQHRHQytQcLSDriqUccKuSmHBhPKsmypXVykBgMqYBSIEPcQHvryrfLpeRvKqZuSsDVDBEAitsMBzfNAWtwuiFjmRWhexigMnUCicwhnRgvkFTiMRLasdFKtJKlcZqggAzqFHcKfIDUirJwiOpxUyYdWwydCBlzPkRqBSPamFswlpaHpHamVxWMqAMliOpGsOLTVXIIroRYZPpdXKaQHYcJXInlhllXhhAmLmnhecTZMDlxZXSJxbpHvkZFTySQDXGjwfXyGvETlwQWQPQdTQNbkTgbyNjozYHdGZwNR", "c_map_string_6":"YpEUNCxvNttHOlJcsZmVfcaKsTdTJWKNjyQZfXmIuLXFUPkPjzneTZevXKYoRIFzXvdJydHTNKDPylNHybsCmQSXDIurXUKdMlRPrWqDPubudPmNgxGSMNMObGjUCZUkZVlJDEEZzxavtsYkWbSoZLQnxQVvyeNezIHXZoSlToZFFrJRjAHwSNMXgXOVcqXfezUkxhwpKMvuIwmriNYYAHsiPZDaiQqIKmHxriGrJyHmptBgXtRvDgIyYrlJFrkzwBeEiKIPxrdmcAIxaBTTQTnPWNprPRivdNbvYENTZJdjpyPFmvCGmIPlSPHmPXsZagWqMcLYFwYbyeaVGjjBTtjjVadNTpvIFfmfYXrBRJmantALnrcrpxEAxGcxggRMwkETcRGUvHtfFltJzgVMmsDokvfXlBvFlQCbvdxUqWIKswmtokhzWjclUObcAQODudBfmScUcDcArUllyJaEzEylqlOLNdBmCKcVpdgzyIACZXXIIngYuskBuuXGHcqU", "c_map_string_7":"wgGXQkUaEKHrFVqVrbNOvFYTklYOiMrmOcHlAYjvOQZcOcsCMXbzjhFTuSLBoCHoZCSCVnaAQTTpYKwGIUedynlGygPhQuLMjWBtbLFnZigeWzIdwKogQvKzOyLMBZTFlXxnImLMyPkWXJFDPKBWRfWMzlVcNOKqqkYwcUCiKuBIYsWIIkGKXTrDWxQWkfDEUAlZVdIpIQSqrKEuWXSejtWHUhTzllDrcejPDdGIOGcRiWbBoxIFPfApdCVZxWqJrRNWyJRbKtNMfWRbVPHzXwJaKLyIkUkfNaSQhEQjyjesPWNwelLHAQYhjcgSyOGeUnTkoFhvYOsULHiPPHkWAakDbvIInOfBWpcHMCqIqqJHZHNdCMPNAchaBmVtKuhaWHpQtqnsDZmTIhecfbbynBcFbniBLfLEHMJxbmUerYvjwbXmZeRuSAvnBpvKkcRNxVTxMDhHpktnDvWMDdqYnXQPoatcrNjVLxXAhxUKjpLUTkfdkWiWcuBXAEbwdYxp", "c_map_string_8":"zTBDEOUhrfFfCPcLMrXnblTCQLMJsjXUAxaKUfHWDgRBCaNfHdlZBenJdDWFTvZwfCXYBxketLpXDPSJPPpGtqasPAslUxyEeGAmTedDGJcgMUVvuhepPsgOarlmpEPBSOucJGxWDVdpFEoNrBfXZGBsymvuuxmHToXWnaPrfAlSXctgmUkwVBuxsSLDVWorjZXrQqncMdHYNjypNizAJSTCjiOkwyttEuTptCjzpenNbNORaaeQfZQeAYdOwdxRJIZTBCDVInoYmSTjijSqEkWUyAadDvnsBEtXWlIjsjYwIDtsXzIVfkfAlcogoKMROftVbEviZYcDnTbFJJRrGVaWUoZRIKyoPWtbTRcylMTSeIWllhoiFXPXKGbvGXbZHhkNkXaKgDDcmwmTvwbvFdDwWxiwQePgRhjlpALiGDEhPgfdpUFEtGSBtOYubIDiXQKptKnpndPsJUynQaTlgztbXDgGqrBFEHjsXjBEqKdaClxiEuRbKxnSSMxJwmZT", "c_map_string_9":"BIyTKmjLtGhstBWaNElgWpnuGTSpClNahvbLEEDfrZGswNlOlsZinsuFBANkmFHdgdTHsdbSmnAUjiUVEVShyhjndgkXvRWDpPwSzwDYCGZzEfTbDGUbxqmHDmZNseCjTuMUZxpFIqKjGfhHbDoBoeqHpEkpjdUqUkFSEGSrhGtsXeMzXDCpQMoLLowLlCKMSbDqREnDMqAOBMISSpaojogmoRydBukFSWRtuslgLdZpitjAhCDLFUMzuqifHpqjyBKGrukDCxnGvnUaSGiJwqjfbdTHCiSloNPtvferBhaUWhrXUjuZKzafgDZBUDtLuuHSskqiuyYJGUOcnDThtDgawpjHXUlOhomRcJGQtbXSoAGSRWeVkBJnZoYxICFCPZxrYcGhEFDqVMUjcUTpUCIYrbiOtsWXFurnJdITZQSPIlgMUSjOEuHaIKikoZDFlVThkgmxDBDVkaudGPUpPgVBFgTJOjnmQLehxkqtuTuxwDzWJIeEhsudvDKQKaRr", "c_map_string_10":"rXSWhBAGkGfpMOyGtqTKbKKwSfqVwqFANIwqvTaDBVDGyQndwKkRSPzThbbLzFeKaZWWRjmzgIkmDOStSHtUWRCbkdeWRJIGOUlCAiNLFYjmSwItfZbSBcPyLgowaYQAdZWLmKIsEQPTaNEPMTVUkUhPjNRuJZWaEwWGOWDBneQhqrEwKHOtGkMHAFRExVRGuuLDqScHHuvrNXdarVfdaDrPoaNoUQjDlOeTJbrryizQtUXMioujxDGIBdoRvryiaJxdtLGiNXELupnNCwDCCVhtWKxNZIelTjxTdTVEOAfUwIUOlEMbACZnnzQyMogQQygEZwdasdYoSFxaQIUgmBRmKnCBDysIDHZAxeoNBvUfTBuBOeTsGZDRvnskpyZvHOpEcaCcREslYEHAlLiSQwGJFlsejKcelwTzrhCrArwVlMvShoSDvgrqwDdiiwqWeodWJCGVmcpCZaOCFqWrdVhEEMWXKJQNVoEpzycpYPwjnFVXAwptweOAkJDrSupz"},"c_array_boolean":[1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0],"c_largeint":2388475639108025480,"c_double":66.23908493339414,"c_char":"ZPOYhEzAIN","c_array_double":[42.84401333655123, 77.65983658851516, 2.51593760484603, 91.35942222238043, 98.56730392748655, 51.140387642256364, 0.700734692532032, 24.46598376307021, 63.20745839167225, 95.38810895057993, 19.184151812150294, 71.51067188782201, 48.87344840338892, 15.362341474997613, 31.65832199595641, 79.13876062190857, 20.772055455465495, 23.34033438748367, 54.86825309915667, 39.572987304318175, 28.677095396608014, 66.90801686298174, 26.254252130236928, 9.726697991441904, 92.50148837122951],"c_map_decimal":{"c_map_decimal_1":69.1529, "c_map_decimal_2":77.0289, "c_map_decimal_3":1.1468, "c_map_decimal_4":100.1710, "c_map_decimal_5":63.1215, "c_map_decimal_6":23.1821, "c_map_decimal_7":27.1470, "c_map_decimal_8":30.0576, "c_map_decimal_9":59.0734, "c_map_decimal_10":35.1672},"c_map_varchar":{"c_map_varchar_1":"ChiVyceiOHCRzpqkjHnsQXUuSbHYuFZLYzaldHuvvOSlhScjlshmWlVIfClswTXRysIWORhsbvGbmyGQRVxxlmNyDgfnpzejYkEAAAiTOYZtnrSeBNQQZzdKTtbXfCzUdqkWnOyEYISaluuoQpgsJZmMRrVqyKATDPgZZFsQtVxsPKamnuPgdcQZSCFTcRhYNtLDLenKwDwlLWkhziHcZASfbWUoSGfTIxWWCXGsXhKnuyMkttKxTeDkBCdUZtXQ", "c_map_varchar_2":"NGCPLRCHbWZjnALvDGntQpZadIcXISzHpXOgHSpdebGLnAtEKyJxLzdWWWRcQkXOnUYFoRGcBgykfcqQoFFqAOMryHVwMoPvwPopnZchyGjlKMfFMDvvhChfkaWfclFDswHgaggtpEYaZFzoVomVkuZGHXisAiMjXBbcrgACutPVluwOeIUwSaPpjCkSwEvEDqfXHlrjrRVCxgIxGtBEZYRerhuixcKbzQHolLGAxpwKXWHtXVbCXIzqXFicKZgQ", "c_map_varchar_3":"mWSmpjbemacfXzzmUGlgsvSRkvKrCAZOwnFvWRcHGPpfkYVPNJJcIXeAqqNpRLyAdSSmULYvjRpdkofyeRxmrmWoHPFTUzilLvlRWpyWfvHheGsDOabMiHttYTUGKQGCSCysHszaaIuPqMjbgnzrPzxbukVOyCxwWhtyHNmouhBsBthiFsNyNUYCHwMbjFLPqJKbUVAqQHyQnzmrgwWbKuuOBLZPOUrdBjtbAPCsLLYthBThTyYfrXQRBGHZyAnq", "c_map_varchar_4":"ChtVhMWRLBBcuOpCOPPBYByyTAkAiMLTjJXfqfbTiNeWRZSJCxWHNwsJveRuMOmJYWDBohsBokLBYZWbAVaFxbRvfNKOVPiEeHHvfmusIZDffhLJxQoWHbIUbjymlpsbthHAXQPHHmvMmGkhSOEjXzWqAEiGFkUbCsYzUDysUapUTgHxGgqsBugQYanMfuYnsAiptBrDJhxLyRLnFdYthXkaIyPbdgQabBhTDRfdIQylZzwPaSIVkpxgQtmsLiCG", "c_map_varchar_5":"xQraNfLtBIAxoEZDlYLZvgfUCtfCEslEvCgjAdEqUdtTFMDFiaFReMLzuoqpVklvWGPUtJDSotYAgiXQJUAUnidmQmzBfNrkSiSPTexRRBrTYcrddQUrXTYzxLeekHdIpFdnvsFedHDJPynzpHMBAJFzvWTnAlgixKgRkwzcBnbnTWcaUUnpFlYxUbhsJDAyCyDpIVCTQcPuHBVZjDVSBdzFULWgdChedbrcvHdvatDNkWeheuueLSYzPrTFyfhx", "c_map_varchar_6":"QtUtcJvnwbkPgeeiodFRKPkyCfHqVWVbgWumzrezQAAEMbrvlkwkckxxxdSVmXDWzQIUXuWZWINPHCjSIeKsvYhizjQAvUZfQdoBiawBVclGnjHhyXleAuGWnqJzAPvqMiDfXgZpuGrJPmKPSvQSxvULHThbXvlFaUeEdbgtnnXrltGvBuLEQayDHpmXdQZzMZqXRXBRggLYNYqDKTRLVSfedMXuFuqIYgrStEkjUCebUyVYXolMxjmXuEkgYFnq", "c_map_varchar_7":"LXvCjVgLBPSGrjDUjWrjgvIGCFkzcRKqpKoUNLdSVHcLjlhQQXpJNgKvxRzIdBBlIqXofqZFMZpvakIrCDQDIXCWiPTgzAbstUOZuXCQJJyNCJHRHuydaDQYUwBOFkuVenLfSmYTLNplGFSfVdVJMqaVjIDnASGNsfVqYEtfJthqeYCfXxGVAxxHzDxkaoqkKESMTHNBRQoSoIFicxCbVDvQpRUuOiUIBKywmlPkjXhWJjjKGOMAkMoPeBIUnuIO", "c_map_varchar_8":"NtKjhkvrNpYlnlXkXEhskRQUZEEqhLILohbPnWzGkoVLNskMcPDgaSqupSfkFaIWiFMzhEJSgnJSkPElTExZvvFkmNeJnZOCkVfVEgnmUSnOmstGnqjjerKVolsGTiHARxUvDVOAbJXnQDllwXqeAvGpsKBZjvBwOJfJwvIgortiNFNXaMSWCxPvKaOOgTskTppsbpqffdQReKLnMmntTRNNTeOvadHCgRLBlCZxrzdytdyleKVVrQQSksMMlxBu", "c_map_varchar_9":"JQgJWsmqUFqNDGrynTUirBRQkiNVOHFFjOjsoOkjjrAumKpgaGWhohyDxaQtreKWeSlphRtYtaNqTJMEQYADXNJDsyRkEyODhdElgTOVdddgbTQihFdCFjYerosoWlZGBUJInDIgMJUaREKwLFHWnnOwnJdcLlWMjMKzbKcvLzQlIBWgdrqvINxowYNIhKKIjLCHLLLHMCufjgEeuYSfeXFysbycreMCsFTxdSuKNqGKpijWndjlAyckREdpHiNl", "c_map_varchar_10":"AlHjnGIMhuPDZFOOGZlEgcSOnajPTBVVschPGCiiSsPcekxVihVdvfrYishwAzKyibOkisksHupfSJpOGXnsNuUmOdkLhVnNikasFNdocwEWFSiwCPJTKgzXanLSZCNxOaXfCqXGVqchtuKWTqycRgGCebYZCJEXIvzFoErpdEiRxrcaXWwLlTlvEbGdrGZEMuogjGjBluLGXkfEQkgFjfuXCAnzUxHeswKhGWxzqTHeNEotgUCQuMOteMkJTsEe"},"c_boolean":1,"c_bigint":-7228819542349980898,"c_array_smallint":[4943, 14245, 15431, 22650, -27960, -22430, 1292, -29216, 25322, -12227, 21832, 22378, 24110, -815, -7484, 25823, -9385, 1106, -21063, -28412, 3619, 27145, 31431, -19259, -23318],"c_map_ipv4":{"c_map_ipv4_1":"187.225.46.95", "c_map_ipv4_2":"155.112.142.246", "c_map_ipv4_3":"29.87.254.97", "c_map_ipv4_4":"238.130.7.249", "c_map_ipv4_5":"184.18.46.140", "c_map_ipv4_6":"131.253.234.112", "c_map_ipv4_7":"141.65.10.221", "c_map_ipv4_8":"199.39.236.222", "c_map_ipv4_9":"191.87.174.247", "c_map_ipv4_10":"55.48.227.158"},"c_int":-110963574,"c_ipv4":"52.32.230.124","c_array_tinyint":[-63, 15, 62, 70, -102, -95, 19, -24, -21, -12, -48, -18, -36, -96, -28, -76, 94, 111, 10, 1, -88, -41, -19, 109, -70],"c_array_date":["2019-02-11", "2008-08-06", "2017-05-14", "2001-12-14", "2014-04-11", "2003-08-18", "2014-05-12", "2004-06-19", "2006-07-18", "2017-01-12", "2015-12-22", "2013-06-27", "2014-01-23", "2013-11-06", "2005-08-14", "2007-05-15", "2009-11-01", "2019-06-24", "2008-09-12", "2009-12-01", "2000-09-23", "2019-07-19", "2004-01-17", "2010-11-22", "2005-10-27"],"c_map_double":{"c_map_double_1":48.012944532847015, "c_map_double_2":47.804223072102445, "c_map_double_3":78.87032733241931, "c_map_double_4":92.96403582908418, "c_map_double_5":12.902746317103555, "c_map_double_6":81.13766618406673, "c_map_double_7":14.585296375622587, "c_map_double_8":86.09727471030567, "c_map_double_9":82.57470665498445, "c_map_double_10":57.553962688654},"c_map_char":{"c_map_char_1":"zjXesTSPKJ", "c_map_char_2":"kTHpOiINHy", "c_map_char_3":"kYuXIdhYMD", "c_map_char_4":"hiXIjpCzgM", "c_map_char_5":"mAcHlXBVGN", "c_map_char_6":"XTfcdMbjbg", "c_map_char_7":"kJFCiKcbKG", "c_map_char_8":"iQWowolwKX", "c_map_char_9":"UacBWcCqfq", "c_map_char_10":"IiRrHzELJR"},"c_decimal":79.1256,"c_array_decimal":[14.1332, 89.1166, 66.1339, 22.1139, 41.1751, 71.0553, 86.0962, 25.1075, 29.0227, 95.0163, 96.0379, 87.0357, 17.0470, 72.1274, 9.0702, 67.0185, 76.1533, 50.1014, 12.1546, 71.1361, 32.0720, 33.1952, 11.0885, 18.1395, 1.0220],"c_array_varchar":["qAgqWnsacgvvYWhAdiMkjYmXXEzGBIJUcztOzkHbviocvSTmoJAZWAqpIutgvdKVRTObmyVGLUZpoGfrsxvLkseqLDaqtlYmxnwSUQnnfgclezVXjvLjifkSHuGgLJbXuvfrDkemFPgcdEOnehFlHMKVhMjqfEDgReYmSQvNqYWIfElUQYyZTgSlARhJRmkBhnrUZJhlVngYADOHQTbjFFKbEhCDLhMqXcsXIzCqXwNWtoDBjAuzjBlRdWywkale", "rIUKHVIPHuKLfphHjbexlSabHIBLolUDShYgsnNVbYeDGPHCMknzWKZleJUQjmpEgftrKPgGIhTdmzLabVzPEFldxYxHIakexSccAPTHDfkrHGyWndSNVHOzrXyiAfXOuKbDODWWMNHSjiaHpKetDejITVWAPbrwyqAYtFeQrgzUzWrWHKHPwZLWPfDDpRvbbAsFVzafOfOElhgNcohzvzpIoPxTQwCtpkSIhwkkXgfYCVYiSOKsmZpkITlIMzTx", "OSTnXxGXvRIbAUBnlhIaLkPrVbjyjzNyLYWlTJwEdyTbxYdpiqqXAyHWBIfaacltipgXaPCIDkwCJUTGKfaEbtPpYYoVdHISkVmCfqbBkDKkNVzxxXYXDJPbAdPvTZDUlJdnAofMRLsmxsKenbspLvblLVfARTrSPabqcFZaxqsPzmrJqrqpvGgcZoKUsoYopLhKUWEOxpmEBwvzbWwGEZkXrDacBtYAMFXjXZzFTghYLeVwhysjzAnrVxWSHgZA", "ZrTKRdpzeashZuQEbRXeTDUEFlUfGKGkttoLirzTWiiYUYXRxDROyDFiRpWJQuQkFkEaWoQTgGwdDHARdPmMpYFAeTngdpuHumJBZpMqVDhVmNDIvhgZFWGiTugUDIeQfIjILAXTQzvcsPrTylELFhmmDtWpzuLDOWzWMldVZkAicmJHdXIVFMAsmlsaXWDHrLpEecXVklpLUvURvvmzTmfBqXzgsQtuRRWtJkaMLyCcpzBzPYmitmzBTigduOfK", "xssyBFAxGwKALWxrTHNCucaZNluxBAqVgPOQeCtlyPhbTAxWBFgYATCifYVTBAyOeOfYOhThpQFEozlAXlUwHtnAiIwsUNCosaMTmPEuABGApJfspWtgJZtcXZaSUaFdKyKtHTIiBNTUATXHUWRecVVIlXECEtCDJlPggXLwRoXgcuoflOpNYFvFJCmkDBIonIiBJsZekGSsqSGnqyKflCDbQtHrjmbGvZoOCbBphKdieDvpiGIfvvXIeyvXlEcn", "zbWCkIdgAqxOBVwAVFkWYdXNRlRgSSZKwubcVgixpnlhZWrndisNIqtlfqyUWJLfANMgGaXNgKTJQULoehZgPSKLfJrTElzEqUdCvNcXCvfNxMyPHRvgqvkLcyxnEklBbBEKMRlXOcMUPFrVFVopzEGOOoTMIFYEbeNPtbwgqSlOhUtuMBfKvEWJDZaTteuhaWrFoOVCWSbQydpOmmDuAulISdgHuqKzIqycUyHYmtauCInnKqwAxxYhildBBxsx", "rBIYnzeedQhRZfJmGxbBmpExEubgXsECqMcJpEGjOybvZFjjoIdxvnTRLkkCoyzmbiLsnvxOXyHJmYSFfxiqljuIqtYUNXNoACbbMDvKZRGQdNHkfVDRjXGjowdQjwaVjTlTzEmLKzuVGSsufCweiPhKTsfwWWAVNKPBCUOGoGQDEPanjYLYGltyCddPpmtiOWqazcZdYcyCINizuRqEyMTpwhYYRSNGGWYinkUPdfXGoXXWPXbFrooWwPlILgdm", "bdiTNFebLGatWcESFYVPZrxvGFVxBzpXRcYWkVaepzEKnrlrvbvybJWXBKzcITVjgufURTWiYBWtLOOrmxWwHYpruYgQmBynsdtzFPXumUjEOBYNxOEwcQjOakOyltJHBrlkbgQjsLbbhFPNQIsJtWIIcqeawbsLwSpGLKUBCcvxySaQQlueVOKUkVUsYmEsBuZDWUZCmOLKNLbtoKzjCbKlvlUTJGOItaVbzyMWHTdeRkjEcyVYOetsLsPbzZbF", "mytqUXdJtIdpubbQqzPlPylqADeHqzWuZWBxVSmhwRagYEBMOGMjVTJHntgIPrascwWeJuFRyFYWsGQstclbRLjFbbSRLilgFICywrzRRJpjbOOQwUTflIDcTbJvLiyPAMdAUTbHfDzAqCsRmfYjKNOjidneJSXqBazIsQXtarXcTfPuCZzjGBsktFhCpFORaiKKwpsIKVWVZBeLWTeqaGcVBcyQFzzbgzOIfKsYUWYEyGXHvbfQJtaVPvYLhNSP", "XkzCVbwZLUXLlrpmFHSKXMvpUwCwGVbYINpzalxouLwVtmqohArpFDPoZwsPkDRQqxYWsXvQsqSCNWDkfpwbZJSofiLMZThCbYpVAGabRQXkvzdydTgLJZFzEnTpCqEZfsmESWGVOYIzfaDXZLMtrMdECEMOucNdMmKvsvRwGKvpWWyiITKNJZSbZqYvvqoZWsCFvjZHcwCMWbtoDVyIDHJcpOGrgjubvbHzgbszEbsvaFqGCToXOLtEqzTmmHxy", "LnfzNxibjOKtqlkiKBgbBzjQCEjxdacecVFaxCsrwblqzlJlTLBOxLbkUrzFlXrgoVduAvlRFmkHRRXTjwthEHWMVoIVUUGarZwbEoAEPlRsJFMCXFDhwrNBZeMgVqysdSuYykzkbkxpiLLydUHINnWNSRPCgHFUAvUsdVndFCiSHiRWYWbfJtdjTtEVjEraaIcGbdBnSsmTcfNnxdanxkRntxmlykXULhjgQBnGgbfxXuLvsujReKKJggIJaKOX", "LVBPZKLnUgdCeAINPdfpOHbfuaCFXpJkwlGWvfgzsllcAWGYbFBkwRDXIPEcWmjTqpLQDguuQPuwFRNHgUVozOmSBRtAbLTWVkbRkYRzZIUSLetnVBkdXoMXlkmNfmXpdeHnfhSxcEJODqGtuJzinCmJmpXEisSzHkMoTBtzuxrpHlKHYUCyuTTcnwNAdCuKzHExTKaVFbknyamQUyueMIutXsJfSmIVFzaUdevODXldBNCpYRsMBqKjHSVECMTY", "zRqiXXkGqXBhIURZKPcKnypnSNsuvngCArMJohubcmlngFbZuGLgEVQhmnDCCulWGRTtdZxbeqpqwLOLqeZAUvcFAJXaaKeWBSnsbSzUDWmYZrRQMDCZpgrwRrKhIWUQYGjAfDxOTAfFNxoIHSRrOcfjAMjiaIXgjKURoLZhKldoPoPHUOVJJGtTXuYzHgCvALkCCtMkPFjQkIGWeBQUHWeibxgysZtKHZPWaQHegJNAdJpfUnvwvqaUJCSwILlC", "ZTfduubYJypSrSNqTvZHCAVkGCRwYgQmhnpValTDUHdWhbjCdfPPitlBdMXfVTGUMCigTgUkdVGULfnykAUBxvPRiKfDNnFogRrmBHlWozJZBeUoyZSbngVtNyDwVcPeHgCGlumDGNIoFAhTcPYxaGCzqofKvTmfBUOhYwVHAjMasJaelYECcmizrLprYiEbIziaJZmyfVbYJfuoiMPxRDbphOIplURnsgsHLfmrPmztZucXKaPNxcmxKivkGNhe", "PeCuNiQFPjMTQSegCLTuYDApKIeKWGFaWoKPSKyupgAlYqIUIWBTNWZYeUISDKCuHnhOlJvOdqNvbZrxlToClpBqdpRwFQIBAoNVFshwaQAeIpugAPZbLYRNBGsjOBqYIDFHtvOeYYKhwQRuBpifDutmwMaunXdHncduKtqtilZseFFJLPkrMuWPeOIgFLuMwhJgmYmNiGlkvxlJTcrgdsmtIWniNLKFTMDXFxiJCbewXadKmftrViixFVYXwPoZ", "vwKLlKbFqhiVUIvhVhUHsVuHuMWzSVwkWSHUpgjXAxybaUPnpbmgZjxtgAqBxDGSPpzyZktiappbdcCXjbqIwwCsQpsmSwGUKiqZXFmwXHJoTomWTpNJwByfksXYeqxCqOvqxalhSIFtOvWNAPwdBeuqEFOkmMAPViBSOvvBqeNBtEkMlxEIidySChzSljLzpwtvlEBcazRxYcgCveuFZKpJNsxJxnvIduzvzmOCkfjQynarcLzDLIjOysaYhWyf", "ZBWPsxvRPrGBVortsJYclrRyrMjdMeGoYcBRzvvWeSvyJBdxCRAuMkQvaJUazxXtfBCvBnnfgiOnOEvQOenbVhYPaZoBWKJNQXEHfySBnzBcmFVRSzEDrpwhZbyCDENjanhvhmEKssjHgnqUcKPpoEQwymaUFcEFBemkFOmxQdHQCGprMjzNZNlsOHvzcOLXfIMbSdmYSbZpExNVnsipZBWPZIHykVABEsHoFjulOilVsNMvRqaZFOFeBffWoIxz", "fYbxqWvVAGRlQzaLUfbJpXiTdYpMddaaAFRVJjNFMyUtCAKeXaGQkphLegDfJhRZJdAOtRLNzGDUSRUbFtVnhBAnqXXQhRUfjRSKcIjkdBZFbGnrjRSWpwxoWFHayjxeOYAcYvjPrXYSwSaJIwoAMqJyXXtVBRBpHQjbJXgqFgMrCUOnjUjbqtCgUrmnVUhcovysyQgvcpKWpIZtpvndGDDeBTjFySgPJbuzsteylHgUgEFBsGquHSHqnEWJLETa", "IjXyIBvMIxfjpGaIXcGiiIakxbIvVBEDzhkLpGlWWTglrizAHRgFfJqIpwYFNHorGZUmqKXYnHozdSigTPQDoAkDgJcfahwFsCNwHZdNHrVLZRSmzPKndVkmNTMJUVqOeNmrcVXBcjZgRIjsiLCLoLnHZgjmUqcMmPGjBFpUoGvfcqJvaaXFlbfEgXzkCNVoMJkTRfITzyGOigatYjmEUMXpnVvkMVJNfjfmKZxWbsgnijBQMYzalXRbajZhxtmq", "qsVPCMiupHtFFSYaeWkrtAqCvAjEzGSstavPdwjuRAkuvOeUcBlQCdOcyIqqkrrmXDgmRpMLkGtFaGhpbGkuUOpixHAmmZdoESusePVfIwzJQfPuhjOpGjbYbMLIjScNUygNJhfQJHEAQquoagEZwLSvVGVTEUXdkdDYeqfAwzFBerPGqAyBcSjCeFUoRPUDebPfrCBhwnfCcSMuJoboMnfPdeBNyDxecISxPPoCYIdDaCVXLaavWJYZrqQXpcpv", "pSUiQerpPUzIJWeXyWeUNMsdsNumfadRSVZZKLcbSZVUqznkJpdbsLYCEsmsPobdJjhQJFAtqvWrlmuHRZvLuZtoEGeSHEYmEVMvMIdpMQjUtBLEDsfHEQwvHUhUErqsXDXRyJXjmhoYJovIjMFEEoBfntizvepftfNZdKRCraOUslYCloDWyjQLTeHcGOTPiiwoDhAOuuQgxCVzISeSMTfabfwBDKsoODmrfQIAnshTHeaFfBlUcEQSngTpKSTG", "bQypNnnybDnQUXcEINxXwqmMsPBtEkllIiTiAuonxYwhimeUPcRqiddlZAtoBlAxdgGZLZiKcoEadZJKxqVhsAnPgmawNxMoIHRxULLBTwedIvNpHIwqCPlteFSWuyxxpcNVpWRzLKWsolkckczVQtfOmeKgRCimRttFLZUxbjzpNbTfxjRCPJCfSRdfrtGNHjXHBoHvBwPMXpUVxxsVNzmHmiMmpBKYYNwRLyKVXzkXNepaXsDATnLImOXtNwcO", "LvfHhCoMueQofmKMpLWBagcdVjzYWuXYUtnomUCHYclVCPPeDXSybZbLnMyuFXlGSkhtUdnElEDIaHxolrgLNBQuokrZBjhEAtWcTYgZcOBjBibkxboJTkcJJYJhDZPjgbYjanbYLNqjtlMDxtlybGvFTxXXwachCXzYYnInUhqHCTyzehpcxatalekpcLqAtIUdoyqXQMGPUctvevIqqjvHMVbXWHoTEzonPkrrbvQEFvLslsJsqnxAJQGkxsWd", "ggmJJHDjPIEOuKjDSurDTzBuRXblKCOFnLGqTJFzPNkCEexRbkUSnUNZrVtCeMHtqZiLkrdGlJsWQVCvsSDXJgimqyxkftWuZEXmtOefZJQOJqWnkxchOiaAIJAtUMLUKedpRkCQvggBJXcTybsLtqIfpBciMhDhtBAmtXlfAGGOYgiVebhCVSmiHspwUvhEKiVGGPJbRmUOdoKyRpeTgvDwMjWlplkJwIsnAbdssuJmvPZvqZTXWopwkdBIpzDs", "KVaYcsHUSRxEnZrijxaJRRcOpUMghAEiEwCkvcwAQMXoWqhCUInZVCUlHOKlRzehLInlqWzBDdNhzWsOkCRsxgfnKUbpJWvFYyXEHSXHQnZJTgjMmhIYKavrnYgIpCKzrCkBGOjYxxunaqJtmCyKSqFgfPVkWMHPMUuzPUqYkGzDLegzXQciReAiQIOBFFJXpOChQZjVbAHLDhbYzgqEKCiMdyGczlRRbSWabcyNhEaBVwlMRzkfelMykgnpEMFe"],"c_map_int":{"c_map_int_1":896821853, "c_map_int_2":1225639343, "c_map_int_3":562867364, "c_map_int_4":1466199681, "c_map_int_5":938586400, "c_map_int_6":622410997, "c_map_int_7":-441015919, "c_map_int_8":395974955, "c_map_int_9":1429512106, "c_map_int_10":1565021262},"c_map_ipv6":{"c_map_ipv6_1":"61e7:1c22:7668:c486:963f:493d:ecb4:3217", "c_map_ipv6_2":"5e7a:40d4:d820:65dc:69b8:45e1:608e:b84", "c_map_ipv6_3":"fce4:92bf:9c29:da7a:2387:f4a0:9f61:b00d", "c_map_ipv6_4":"93da:8527:e5e1:77fe:121:de51:2cfc:137c", "c_map_ipv6_5":"3ad:261d:4b9f:6aef:dd99:5df5:9e17:32c4", "c_map_ipv6_6":"3ca0:4a64:f8a:2255:8677:c48e:80cb:e921", "c_map_ipv6_7":"8488:fece:cdfd:a5c7:440:47b:e47:7f57", "c_map_ipv6_8":"f2b:f833:bb2d:1920:7339:e103:8ab0:7081", "c_map_ipv6_9":"a668:64b3:7b4f:baf8:20e0:c23f:6ca6:5f53", "c_map_ipv6_10":"61a1:f09f:bae5:4877:2c71:fcea:c1a6:5b6b"},"c_array_ipv6":["brNOfTLTBQ", "mmRLjDcpue", "kzaegGezFm", "NarhhseweE", "qtpIPamsDy", "RPHNGemnvu", "sunGgyokZM", "lSvsWRDdtB", "jHLoILdLeK", "vhDxhAwtuK", "XpusIJnArQ", "SNhjTiYPxD", "WGxiKmOQsG", "AujSqqIsZq", "ltkIWyHgGK", "depNkezuLd", "CdcaOIVCAl", "NzBKQkiFtr", "KPUEoikTVF", "SJDLFJDBnZ", "GJIbnrPnkN", "WGlPxRahYG", "wOJaxBknOM", "DMGkIUBREE", "WidkPAuEDc"],"c_map_largeint":{"c_map_largeint_1":-2206380868701205662, "c_map_largeint_2":7248114896514986384, "c_map_largeint_3":-3758682393905145112, "c_map_largeint_4":5191330392236523448, "c_map_largeint_5":7085586339521578060, "c_map_largeint_6":-7537640998038915223, "c_map_largeint_7":5586483755425065703, "c_map_largeint_8":5607317001610723501, "c_map_largeint_9":-1668414584124455013, "c_map_largeint_10":7543076476533976237},"c_float":44.493855,"c_string":"kChkUpJAsOWVemgZrvonGpQvPBUQtBFTtSMfPixidjkDRBaGGtmHoIFMyWnuaHTkqXENjscHOydujqGCQhpwiejMETeRFsCBiJoLxITZWURyfkxzMBluupksmUgnGKjbaGLmueiXmNzgYvGJDWENLNHkoAaYhNRAxvNDeUhrcsrtkYYcrmNNBLyFoRZikfAaREKWtVzTNJiDqOnleHOqXzFlyRKITpriOMWHqmNqeqVygrjsJkCwuGddbhGNmOacKaqatntLFsrzOPXTChuvtOSciPuPXghtLumsLpMxJwjMVOWNOURHqNIZBbFQDGwqEfmOawqUAbsfOeSHEQsEBIjjErCYZubuciIisdGFPOxzQHcmfrsScuYQWHLQEwCQEXsQvqETZXCGHAaYfVcHipoqZBWVKPzBXWoPocAZBpIIBjwjzPvUSVICtqILeqDcFNnPSwQZveMofGXcVVUGVUHiVZjWeKUpGDfcIHGcoBbSVIMZyaTYKRzprXjhGjmh","c_date":"2007-03-17","c_array_int":[1502262578, -141555239, 412192571, 1198147034, 1726718575, 1145180110, -884010698, -748210474, -1309843004, 366194609, 1591132565, 532949046, -816360486, 1816403572, 1601517404, 2006806198, -463917153, -382542717, -170754662, 1908464969, -1898634062, -666543735, -276471061, -406072120, 1868005652],"c_array_largeint":[2190142485081929471, 822496553077261082, 4941725940336116595, -6128645735012017756, 7023442079359906635, 7497782478918826484, 8945180202226667183, -5004218153945983165, -6886155433159511031, 794248254509045060, -864353844447901322, 4875579391225659900, -4276261254150752968, 5360530220284159304, -7177173823894904443, -1292638687916922064, 6383960230546138062, -3206227216642673389, 4046926574917944099, 126636742616170520, 7274880083798145153, -5282635539960494389, 4696892379175145035, 1586217401042083849, -4612434806405516002],"c_array_char":["qKVzZhkIiY", "KuVqvWOyxZ", "CxrlFKxGkt", "jerIdEcdwl", "gkYZPSKoXJ", "AZYgYsMVTW", "errnrALCZi", "QMFYpneiEj", "cjUYseUMhx", "ofAJLOwQyp", "UGdaXdSxSr", "khdqWldjMC", "QqALctKcnQ", "pMjRItUudg", "IeiCLVCBee", "aEkYNPZDOG", "rOPsOfDwMw", "bZgOYIzxie", "tVqaZxpJLM", "WURZGWZEDM", "eqJGwjDwsE", "neOHfgnoLg", "nwNkFtyFHk", "kjtDZUxfdN", "rQKVXqXThT"],"c_map_float":{"c_map_float_1":74.20965, "c_map_float_2":18.77296, "c_map_float_3":22.567284, "c_map_float_4":59.797043, "c_map_float_5":7.57035, "c_map_float_6":21.981037, "c_map_float_7":93.65417, "c_map_float_8":5.8671412, "c_map_float_9":59.702194, "c_map_float_10":18.177908},"c_map_date":{"c_map_date_1":"2001-08-03", "c_map_date_2":"2000-07-23", "c_map_date_3":"2004-11-12", "c_map_date_4":"2002-09-16", "c_map_date_5":"2003-03-03", "c_map_date_6":"2013-02-07", "c_map_date_7":"2015-12-11", "c_map_date_8":"2002-11-11", "c_map_date_9":"2013-12-14", "c_map_date_10":"2017-03-16"},"c_map_datetime":{"c_map_datetime_1":"2016-03-06 17:51:42", "c_map_datetime_2":"2005-08-06 09:36:09", "c_map_datetime_3":"2006-11-24 17:25:35", "c_map_datetime_4":"2011-01-02 06:36:27", "c_map_datetime_5":"2004-03-08 22:24:31", "c_map_datetime_6":"2002-02-02 23:52:03", "c_map_datetime_7":"2016-01-24 00:42:42", "c_map_datetime_8":"2018-04-11 08:03:00", "c_map_datetime_9":"2003-09-27 00:43:25", "c_map_datetime_10":"2000-05-12 18:48:12"},"c_map_tinyint":{"c_map_tinyint_1":3, "c_map_tinyint_2":44, "c_map_tinyint_3":-43, "c_map_tinyint_4":-61, "c_map_tinyint_5":22, "c_map_tinyint_6":-24, "c_map_tinyint_7":-49, "c_map_tinyint_8":-98, "c_map_tinyint_9":-39, "c_map_tinyint_10":-21},"c_map_smallint":{"c_map_smallint_1":-15857, "c_map_smallint_2":28600, "c_map_smallint_3":19630, "c_map_smallint_4":-14679, "c_map_smallint_5":-17781, "c_map_smallint_6":-27575, "c_map_smallint_7":23222, "c_map_smallint_8":-31097, "c_map_smallint_9":3138, "c_map_smallint_10":26449},"c_varchar":"you\'re","c_array_bigint":[5072418354091868124, -3268995837466640307, 2709556881919731221, 6692657208645478294, 1177737990597284900, 2521180799039908409, -2445114193633969351, 1148496614159814218, -652291816391520032, -278223096282465568, 5467337194566228631, 355012991304134200, 4165608531516139723, 6119795948455105751, 6559982376952340252, 4106986247273053435, 6366795658591451810, -1192790152424433352, 1091976633176114061, 119957414973611085, 9099484257691611143, 5968692758323828176, 6230748592807311363, 3045098284678104266, -6760592581341116883],"c_array_float":[44.120857, 71.96553, 57.456005, 70.507095, 50.533314, 52.131958, 1.3133763, 31.200676, 94.125175, 85.800224, 81.63136, 37.132824, 94.23395, 5.147456, 62.30997, 28.190271, 13.685757, 100.11083, 79.144615, 75.318085, 94.481804, 76.420685, 96.16679, 0.6565422, 19.033545],"c_array_string":["FmfaCjzsXODsBBMRDVRmZniiPnNRciWRXXBawWzJLpwYUIXClSYpvEIPyimxTXFUcOXSHktOpUCCTWvRinbWNEDdxroUaXABwLGYeUOpYzIptVPwleTQtDaEgLpTdkhIBeTvpoSlmlaHfrWLWbBWsogJbLmcmCSrePcyyUNPzTaAJRuFkQyVIxwpMZkWNsGwvopHuYNMSnJfgcXNltsXeOuHnDQmfosSxATkPtmSnQhEBRKAVEGNqfYigblboRraQYGEpPTKRpOCMQftvrUGUNaaxMHUhMioxDkpEkPdCexPBaghGgVAPBuQgDsSWoXovcHTLgMPXDyoDNaQXxNaDrubYkfLDUGTPRQZxQfWfkllFClwPEyTkhRkqyYwuKMKEVdYgTAdXlJqzcgciEzNrMJJgubBjXsZnNuzNrUsmKnhVUIDyAOMqLOMEpOCQRsYRLspquAsLTBwmQnqYVBZtoCCDJNxRDiwcrCnqgzgHajtUVfmTIyLAJspSeeUKoEq", "SNkLwpGeJXbaNvMxQdvNatpstoGAnbmUCVRTpAnYRFYaeJvAHAKLdFWewgJmGzlRRJGCsGEgKItUoJikOxcpMSkYUrZqEhzChxKCJAMuszXNoArHuleMKgjuHreUqDOSIlTuwTbXwgcWpvBVaYMagnbfnLwMdSPCjhcawmCfEgEntmayFPHqDoEtLaOZfenuuBpUYxodjBBHyPLtfwxkvHxNXFLrwgSEZAODJycEcOWlzXJjyBDmNJmVDSUppnOtGzZDHDcmRzFKsjmdusmNxkkQxkBuxPUxECzmxOsvaHZwbVjgRkzJYBUtSYXqFpSIQcUpTjBNQpgSYmVqfLtueGWUzsTjyqTcnRTNgDSdYjQYrUXRGtprcHMutQXrIrmxafvtgiQDQAxRfWEfxgNoQaXjlUWaCSkObRYrPDfureaGBqjFHwHaStJYPXfhopIDjrNbLUrpoXsOouVcmwtPCcrMxMQPGDrVrkarKnjsrdpFfINCEgBpXznxQJkVUALP", "gtlEfUlgHGtufpUwAQqkukHraapiLfcUJLNhRdXKkFIaUEdlMsZaYwAuIBEMCSnFfYQWHlUuSUDhsNtvWNAnVfvDupMEgVArJpdYbXMeILPASPxTNsuoFwvWtFxhRXhHGIoGKNkYgIYHTxlwSASTUEplZzEcDwwiDmUzNCSDLUyorXdkLeTyBvylYHKgpjYzwYMjoJZBQqYYQBtjYnupgLPPXNcHcWsMQYZHufEnYaWZnDBQgyLjnnSMVkmNDHCkrWqgrjQBzXFJeIixwjntUSZeAgMbUCvsmOLjBPUOisLjmmbedFRCLOXvUVreNKryEInPumaUQiaXEdudaWoZkMAdWOZYHTaPJtoSCwAbSGiXKnxWRaeRKczJKylgEzMHSrEuNpCYBADLlZyesPxDdOnVcFeCujCgjCasFAXTcokqwdteerjmMjSUytkvHyDpgEdigakhtGowFQdHswcAZRJrbAiAZSKzCGsSwrvpPOLGbhqNrZRsvZlwPwFfFYtn", "vScSthaMmiQlfduALDDbSyyIxeLUWrOKdnQtBQpcuZKfWHiiIXCqMdxFgGbhjXLsYgkbhNBaERcCvJSZVxmoarWmMBCjFZaosDuQZnEareWbXSnyAzsVWayujaNTPstxhRdfDXpZqQQexZCzKWRHEIfpqKlxCdsAThXitQmTnHZgHoQREXzpTQQoDPGaqBZNllKrciGMXlyBWVNZbduAjdpmQJBBCuqTWypQLMbpoDbknSoCoUNLzJXBFBdaGfYfDiVRlYsxmpTkTlaJaveDZQilsoHakXTfgfjLsYGKKeFLczUPQprcpwDApEibPaLroqbEZMGEPBxzvZYHiqjWIiZzqfSfyWebmiWEqunPrjpOWtvqxmqFmbBsYCYNPSwHqeBlmGcwmDCYnuZGeRlnASzJDwEDxxiqeUaYdoKIqtJJzUkBNkQXLAerWdMdaExWZWrzYrpMWAcJHElWWmFPbqtmTRSZwOlwZNTCBSbkaRTYKtFdjSDAAtcocFhQTrWD", "RGdMYlIbFvzrsCZYNGWgLlvwgvCsWDFTQzMknFAAyONltRMaphWWmpjdjbrOKjrpgqdrLlTiiHfTFLWqTlfaSHlzWcwHxcSHovcNNadBHFSOsIfKwpUSYZvcwMflyXFJMgBKPChedbdwvmLJtklTIwsAnfIoyDmnpnTcOQozoHqrJDrMijpfquQDLxsDIALsaRrCFEZKMcONVFyVoApzCbuRUuVjwRfGNoIbwHusByoDlcVkCNyNctFbhFdVxlydIuFvbzRqRoPsoxnWHRsIaEsMAWKiYfPRfjIJsekVCrKmDHACBGhNyBVLeLDgVxHIUfiIVeHLZqjMlJQIYaYXYWuqUcbrpohpeJpQDgQbrwgMILCVWtoKlVwVYOlkGEpnkxxfSnWRUlsSbDJwtiEdQJmSbjTxniJKklxIFrcaGRiQeRAbAGJjTCypUuWZGUQMOTgnBvefHDMJDFaCDMxESlvhmIjkLIvyOdetnXssGNMrMneeCKfpavjpvhusPldR", "hbSTTeIDBjKvhYWohdkhnFyCdGIhzZEbQCyNmQWmjNJErnSmFMiynStGomnrSZxqEuWkcOBDQkFmsiZdECHagsgRvOdflEsMLjcbTlEfvDZjeBDWmeiFYrgdJEBJxydjPPJdaUMZtSgqgJdXKPiIbEFuRacsJvFygdbnBFtIkDMQipKarJUoCKuZsGWfxKRFAjIPMIpyRkXhLhMIkemQakYIMBIZxXIUtEXlaCZTsFCOiDWhsQmfQtCghHWFCrfBBGiXnuMBAqqzfkLsLsQwXhQHmOkDRRCIkoSEqvYWXjUgirZnPHvOlOBxCTToSGaXHqrlLmKGFtICwSkkOlUpnOyHpbKhfMFXlXQIwGbfYmUdmuERAnIAyDqKUJwCRilvaVhCpSfYDbDAOhnMFQBkEqynYDTzFrleHHaFiTHmUJwbJDzZeCGkRnOSEMimowiDjwhRiMEofvUAxphocIONrRTVFZVPDXfhUUrAdPxwSHPOxQXuteytKuxxtYCDFZIv", "mWmmqLyAtofYPuUqqeosGAICiTojEgvdwGJwrCGMwunApqZCQwlZiGdiaDgwvnVmvLbmgTTTXvAOWobsmPrPUFmjeLBLvlmGSmaIUZvkqngzBbAoCaqaVWcsehpanXYpHflwIWVvLnkbosKfvXCkIhRddWVoDPhorfzaPYSYWSuOwplkGtjQVxSccTQLyAzHTVSGPvHfYpAliXZmJzfekAAPDwUzaQvucAQTxOsndwoHmAyqqzCobJybYCBDCKLOogdoTmRNSpizThXDEoOFpwEdzQtyatVCFcYARsQGRjSOCmhQJvlbIMNmfioVbvzVCGaUKJQcZxAjZyYzxXMmoPwgnsCtEQStQZZVGRSjEGejQnIqmGtSjpSObXsXSoywUiEhHcHvSHaEkOecePZTUVNlIshXlVwxlORLJxREOOwEmBuIJAQljqHweLiFpDraXAShNhccyfuhDmmeuWYhIlWtIruSWwCdMMkIJrfjqPqbXUFOGivnyxKzNRbVFJzU", "lFNkstmtLEzWjzJoHqxHzUyoMdCgpKkSsGKtstsXMWhBRalUvfTLJIcsQJWfTboWllCXvOQkvEqpGxMWuCYJhUOGaRzcafLzFHBdtAtAiHhLnzxmlxDzXdpbMXZFlkPRDtrKGmPLpVLewcLYfmIYXkiYxpnibDGaucijePyNkHTHJvUHnwWTslbGMlJMFyivcgXtJtPWbnxWGMteJGJndHbzMNsMtOWuGKXsLAnYnyAgecEoTHkYptVXteqyixaRpnWNJoozWfgCHzgdxRFwIdDSyZnVleXoegLkypLOqZADSWXqGPZguMFRdGuqEceoWTTRmbqSZddmFhgjDyjndUZrGqwaMggAvgcnfrhPEDYHJAQPmZNjklNwwbILozGNFPleiVKqQKzGbnNAfRcjTMYKCGinAPUaNbDYazAfgYyRTcPAMNacSlJTuvZBSmEswlLBtHjZNqrUxOLilqdcZwjpdgibOYZjXxFSYpWIvbtvBzEzxlUiVPXUXbtbuvNF", "FRMGUsSWvnLNOyTBiKsUpnBfUmOEhCBsOUEDJxeYrUUyhNXZwXDwPGXQSDGJPumfeQsrAYwFQXwGATborkYXWxflUINlxEmQftMsqdKKrpvaoMBOOGfdpomjnjVQPtEsvBlCratLOYEpINHhorgsuqLgZOEQayxZcPvQdXIpbmHMiuUgAbVmlrYLOerNGsLHNZGmKZsZAdmMEahpCDufujOhUbuMivbVKcqKWLfQFsFeLvJmEIjZLgzoSqUJrWbiYHhqziGkdMqldpnOetiXiWLBZUKqdnqMFzAsuGUCluKnDXelQigeoQaPVqAOlZQVwglkSJOncmSTRdRAdjCslkmRJFsVMFZIXPaPjHvxDpqDDZrFcRMYJVXqnNfWfRqptuebINWzwMETWsYoGzYsgSSsrBPmGvqUCSVWPjUQVdWiVnQovJtiRTipMWbfMIjSybhFdOYTkpBLOOoDVFLFbPvilzqWghIQfTBARiCtXWVRPIqGzuJJEjXfpbkSMHEn", "YzaSszKNOcXsSjugkksZWPJqeMmhvOUMGYIxLBOXlBEMfQyunvQmgBWCpccHpJtzXWOrMXyqvNcVMejdhwjxhdzAleNlRVsyRwzwJyxACekYXDMERqKrsvCmsSaELMVNIpPdbipbrkccdHVjyyTWCgGbFWfiQnzrSCoeToNYiUTjrjWIZFoLNtqMgOsShXBtToQsCKArgRslLbFbxyvMHEbLmFzFjHSLIlHdQraSQpaEiULBULeuVAJhuysqpkuXKtKFJoFFSyDWXktWtYLXrSZvtYzVZUrCeywMUZRMTUSdLgFeZjxnVHHpcvEOSrDvVeQfFYdgKXMPvtdbJbdsAJuOXxbvdPggnYdYYXFqcquIHYavLARyInXrUrjSufjCxhjILdaOHsgZdPyRCTOMmYQNNzhHpNjgetmRMFfxTLUoQCpzSCfBzPCfCtrTQqXgwktRtbFhDubtnohHOUIkTgBspnJbKOBddfLQTMYnxUireexmJREuLYPqOTbMDTQk", "JpumxfxGVgCVrYLvnEOujGySQNNJYwUtkJmhAHoUwVbyRDzOJdcMFmNxNgsDBRBmXXMevKbuFmiVihLyHuSZrThxgwyYdKlVyVTyvgieEDzxdlDmjkapdHcpTPQlpyErHhVQmQGspYXJVxxOpNEPZAXorIZGgAYVTnmxRgMsciwrrpJFaEygSDdsjTgBbqqVCgtIgWyqiGwJnOimBRduarmMSmkMReyrhQFfrwgIWOnpnGkYxeyxbpLAyyRPeTiZOqksZTXsowllaimwWNtHBepzeyGPxQsyTicSvfZHjeUIDnSAQEvLbKwesKgACrHxasSQcMXZrDlZwumdseWSVoeGBElncwTLKskLDvKnbQTNhTIFWaEyHafpDZiBqBKfKixNjqwLIiEXPdeVwzKMASMkzSZJpxHnjJoxQPXUUaSmanNrihGuYQfEJOBqtagcyCSDtMWxtUYjDphiVjwNWEHZzyUrmGwfFdEpbgrGRgKVQetHNtwtVafrrEYHzFWH", "JnewiGIusqDVufRTKIUTUrYRKZpCqDMHEycHKgYGJmxGBvoiLFrKhjVLwSTNmLCiJwGjndKnPZwIMgbHrMhjddDvViiekTMnpIyHelsrosNqDnsnoWNQFAHJUqKuWgCmWYuJFTChEZnlHlCotuJZZAtCOdHOXuDQPqXjDaGVmUwXHnQSHdJlDtHihKpoLnuIbLZWjUIgiMVWEFPmstBHlPotJEFCPXhNfDTYOOfZcRiDQJbHFasRiXytzkVrgRPLvpdGObTNUaoxihkuuRSWqYgLyrvIMKymMfiompgGUnWZDDhhTwuwQsEPwkPfLkNaycUlVKYDAJBWAiswaKdLUMMaJbUQGyLvneXqGgYZVnElRzCwmWrxxAUTeYWgmymZutsaXwHdqCalgWZyLsolTMDIIWIQHGxjdpCWNXXPgnMQaDFUTXBmBwpfZJWWCLacgdjIfghwMuXQnPYLmcsWtEUZVoGPcFUeAuHzGzqfxsNRJeRhCutbxUfuoWUpWRhf", "JNroDsiFeLwzDRJlAXtWXZzSMfxVQoZUvAuHBNvltXKUPJsNiIkqixqoFdiWHBWFSLhgENzBwbhrdbNBYOygAGIDKEUhHTBpJrYWJuNqjFHVitofARpZBlVUiWvjYHnCBJArWEhSOYlpTIqddDAyHhkzqoekWntIQsxnrlpiBrVkgyBravgUMyuQLafEQfnPffyWzscbeVvgqBbvyTDKotoVUqxqsYyenMlKyFosxtVOXlHYKrhVYZVYiGBpPlVoUCsEiUiocazqvlZyIfojbgmaZvrZEVoEUUvFcCTQJjMVEplWzxLZsDdFExBtMMuicCpLOptCbcKSSnLOuTIzEILbdqQmNtwbrJdPdUrNHvWEejyIOVeFalYOIiBrSNiRNEVLMCEWqhBYlOMcSglQRHnzByEJzEYbZwXljGOqxLYRTMFgdjkRXAZExjrVNXzfciHVbDYaQBTpvvDehHzDrsvAXeWbdhGuwdNSosjBzZiCjcpcTBjnFrFGLKHNeUmx", "BfWkavyVuiwcpetmkUzezlEhqkewZnnwzItwlSDLLKgQxtdMqDGLGZWRrlIuWbRCLPWzreJYChNAxQLGhAJyVPBtqHxRPEURCmEODhbQmgueqZizFUFhxijowLNJHiBplwarHdwuzyoBKbuVfDbJjumaoSCsqUMGadAoZRKAPgtBwXZkPrxDCxXreMUCjfFKxvSQuYMZgXsjmuIHdUwCfwsOpWsCoagRsaMVwRefoXOXZqfaeegLibkqJrleLfEFiWJDEjffAIVkhHfbHVztNLZtRIbGRGLUXDxskoWueiODFMyGstvvSRxromzLcOoaDERxQeGQFDgqnrdjObDqLvuhHLTbDwAhtJjAvskbQZGLmkyMMLjDmxpxXPCIREaBprGzEPovpSIxmZzVylETTjvXykpSsncazkeZzkIYfYaBxqJEsvvmCIcOIeYhmXISToOZBnxcEvkuwNBZxvcRzWUEIwmsBSgxrqxTYeyASazSlcwBSkqceQBeODoujNEJ", "texkUqMBFyJsSlujTRWSGCREwjzVdSvBPHaMEslYEsUcjUrTZKGFzYhoBLqWpOwmequBHNOiTGCAHraXUbaOEWRxIKDNJplphjNjEgjKVJDvOkBTURMNfVAUiUwHkhTkIlOFSuLAoTvcFtCRwEVfBGECABEddXjAVqFjwOVzgVvURfDJBmpygFjrPRAaXEqkFwgyTGsuCqZbexUbfCLJclmZlQeCNKBlTcpbXENCsLtQattnCsbbRfPEsDmUpVPRtwhRQnYAVzgmWtjQwUZaxefJeORuDQnGVjaLXURMHupVklkzpndAWmYVsdfAOdxWCHoieuMndJgatFGdmRXWOexHqHAEKFLbltcSNfoAAkZDwaTjJLHVEDlNxohBCEzJzfpEJXLpxBHJOdXVJdpIwhWXCYtVTtWzWWKXWRRjcliYhukvvsMEcXhRqQzFWPVmOWVDMhrFIYGNVkbdbULOmhuodEmZXIdvvhMAjwwqPCqeiWXbvNBjGeMUCTspqHfA", "orVdRqxetaouYLfABjuCDOOHNuZesWgUcOPJnLLRQeOFPbGbLJuxfVLehshtQNapgeKoKDQZqvoyqmZKwWpQMYHrRWuzVnuOLCuohXlaWKWIMrqPfmnMoziCWISydHOYAOVMmzEMShOgRKbtSgMbATZpoKZhzVZxEgtYKrpCRUJAHEgawWoPYSkliVKGaNOlufkhFHBHiJTLomjMfDMOLMIBrBDPNKutvidpFpPSqdoCEzhPpFbiCTyFTpfegSlErioUlJdIfBjwjBuLjMurHCToulWbchVTwctdPyqdZbnWbdVNsZqawPuHkcuUoRgNiNuPFTVTOzMtiMKCNqWNBszhvuWzNuDTLuSdudrhtvtdDcQeYvzaOoFYUUDqlnZzGMFUKNULTmqVmxmQDitVcRJrwkHRTSPeAeVEsCHkMsBrQVmmJpxdxdlZflHVfcSWRdgUFIvFPzvLnpnoaaTGQTHZCGLfvCYoRyBtHxMiFVKWuJBBTwyLXaPtRrJgCQXy", "utrBYwfPjSSGkvJdqUVdeVzZldkZYvIkpCWQlTdahZGgSvyzKFyIsJzvZVgUSMqepHdHqaDqSxnZYNNHyVGMFEOAdtrvwipWJdaVRxgkTUpthKHyRwkNZrwKTacpgnxOJUkYBQkAjjEVvdNalYIQDURuabwhYvDCDiQInhTZaKDVjJkcleDhvSJrZbrbZdRnKGSfbsfbgPPAKsfEVlHrxypWtidtPQnTxfsUyeetyRQvyoerqsGEaHVUjkadPHKIfdkfobKNOkzsuaBbDGRzDVATJilnCzOSDSIdMmjByQVTHTdlQyrfLZFexUQVrFaQqQYxemIlxiXAjNIEsogIxYKZypJyGGuNrhRUadXxxZORMaNQplaNbPwEhnbpkBZukNGkrerzMsaxUYXGwyeWzfGyshMyKMhrofZeoukxKHEkyodzFAizcZxwzFvNTweZxVnrSFbTzcCYzgCVlDVjaEhtBHSYNZfePHlMOsQsWNcwqkbKCueXYthKUYGjmUFR", "ewXejkbNYnKLFfRuQXMNbgoXIurSxBmccHPdOASzXONYKrLGbgwiekHPDKHBPGRXFWpeEiTPNfhGMMCKPSWzXeUHYqDqrDznDadkWvBEntoozWlyBqzjwdqNpeTxEqRVDCGYajJflaKbVRpzhkBoiSClpXzvoZCWzsmVgATDdUIQJkBqczIPsLavLkFxQQmHTDfgKbjTUdrXCnSCBDwMjwfhrXzMjpMRJLQamtOhHQLHyrLRkslXfAitnFcpSDwnaVclalvunSVNAtdCejgcWqtdfLltmKsbUQWVtqXIbiLfBrVhMAxMUXjPcrfitKoisOdnvnGVOCuJxVszgoeRBlxYKIvreZTfxkYUtNBOnnbRtUwLzvPWhEkujKTVDWNgyEIsgJVNqvwUaIVuMkRZJUwEshQmGyOycrwCVAZyfYmzeFNSnimVwTeLMnJQcFFIssJgReDXoCRCkyISPAEuEYrOnSywrgantwZXBNAlsNWJNSzaQBEAqLGfEviukUfc", "mcOppyVXWczoFGUDOPmhJvLMxamgYEuPMlbuxgaIKwjehBYsGwzeDoOWVjiGRcXFBPyBQihirVXSgZoJkodLDoviZqfYGpoldjmMvJYnxPXOnPNjWuojsUHgFAlgYmeSutklWOSDZuSQHitvBDISZcmGYpVGKmCoIFvwJhfpbjPKNgaaeOjDjkeyGQHqMJBcVIoHdZZxeAHeDBgqWnalnRDqByQXKHwwYRbZicXssGEFxwkdJrKUMybpPyDKdyQYicJDhnWjjjsqkgoErAPvYVjfSpsbusvBmdavPWrmIgwjAGLQIWBWQdjdivohBJmrWlUJkFMGCUplVgkeHkMWWUNascnaInUEXtASggLhUhZXNauHHWmcZFuioYcEgNUworxrIPfnSJmfMeVxagPquXKdKMWqBLIivXhVmOhNAdRTOvpzPPjELkIChUJWTWOedesrlrpnWYMrVtoGoGBZTwlePYXPkJQcKXNEQIGQuhSWEaVQaGiqOrOkHmCFQppY", "XyFtApzAQIeqQTdBSTrLqKSbYnPgYjkrwvmALaJdceKJgHNeGyTaIEfVKNIqFPzrMprNIIWYVytpCWvFkoDGDdoatYUdMWDAJlIBCqmyVPlVdxVkvJRtUpEjxLlGzEEnvtgyeOQhmTNRWzlnHYGCLPjEiwRibrFuNRWGhhnJikbSTiUFrxuecZydMccXNZBFNSMGwOJezEzYImxGfSuSdTcLOoTEZmRpldbxbLwSthHbcMRwyoMlCRZKhklQCZHDMBNLODczoqNOUvXugJnsNpXGLsGjrSNakUlWGKBcfLNnwlOxFKhXMffRwMIKqlvvKmEpnoYBXKcbARpVVXvygCKMnWCSnhzKmEmxAVQGkwDZTIFoIniQosYMnevINUDuIfnFFrERcKtHUoOZTMCQFbscgMESVoANczAAddNflUDnbKCrLiDovDWwtWOsyhSzucIfaeEImyUWssZbPBeaAktGWDAjrKACfddInLiYjBeeuYTDfQmyvQriUXHqBuxK", "qhayFkAmzPffFjPqEFbOZiLPesiPDlhhdHucuBbJrFXCykczmDauHLRZgYtWgpVwkpsDqCrfDmfGOHWckeZEmXqBnJhFAJxsEHDfEcGTdeLlahbyEAJPUZoucVeZYlUOWNWxINdEyvUPKxhVeDeRsceNxmtyQwGjIIcxyyqfRUDmOXETJwhsWoNDHXyMxqODYDwjPLnspkORJMKnthGIdhETNoiiSMsnawWyfuGYLpUBfODmwnLOYotRwJTuBJJIXdkqSgTHGbWpYCjzjDtRdDWBKgiTTMlkBwMdyBAXqvhYixGufzSfwFKcQoYqIdAXrEdLXUPGRgYPHCfDxNIGLxaveDPUJuyyYgYdaMzvDuJHMaLSdCoonuSyFthdOzivOXozObjmRJaAtvIAVSHIazlNGbXhPrMluSBxIyMYeItyNnGRhVdzcEEOxpAInmkPcdLwaVcMiLSIqpRKSCHUfGRweEilXeWcpXvnvDHtBoSGwMNkMLwJVrUVEsHKiTHj", "dyubcXpURRCSFNjmcUqSnATLnzTvOTPYBkDCUyHJwMJEsDtlUOeYaAhXFesJGtLxaLxdJxEFcZlKiaYGJugtztsgWKbeEMcMrHPBhDoveSQJKEdLSMroGNOjSVOJmZtEdhUeSPmUWbTeiMKaTUpwtJpPdFZCbGigeQzoUiJSNRqtplPzWXEqFoVoZMlYaUQjnfPEqowDInTshUvXHVHamsoXsJKViOWRnqOikkhOzqWgHxGcjSrMXuBhaDCrpuQAWYxloIluTLkkYrmsaKItbPiYBMxmCECLCYzibngstBdezOozSpWLmYFURCuGZTXhsevLMiIhVPizriNIisxNTbrDFUsggmwreYpaEylfQdWebYxykMZdNAPGdXTgKRJJNKrmnUaUvYNosrEsUVsuwDpyuWbtdRKxysbgBGFFPdKCfToEPnKXTLhWVIsONnNoFGXFTDZmNFqxuUyWgCUZodIHIcmaNilkninQCjLBlSuuTGEQdgugpRICDCnWkfvA", "qhqLTEZFpmjvjrpahuNwsIZJkxfiHhfTbclpniRriIxQCwlWCauNvDhyASvRYQdURTpWnoxvNXubKztIjqiHrCxkFhTVokpFLAFUnGmnGducTQEJbCZDUBPyIWeEzMpXvitBeTWlhgYREpcNheJOwtygampncysIZHzHrNeGyRCRrcJUsPuFOixUtdMXBVXJeWBEaZSKwmkVRSmyxohzteLmivlJhsYcHWrulWkxMFUvbkAOOvcZnkZoXUmWQCnYEgVkLFaznZDLFuZedPhwYwBmeSDmXLbwFGZcWlrwDhCKoCumyoIcNkhwBmCclqhEadDklArOvpWLpIgYAzCsjrDmklCTKBTnUQJZJgGjxwozTEXJQBOGdWNRJwygMUxVuPPXIDEDpAGuHFAtLKkiJwokCoiIVGPhfFTbmamIzgPYPzwzaCxPCUPDnbaMWXQTTPGIEQgbxQHNCSsAUofukiWMJTQvGKunUTRaEHoKZcLvKHeemZMJMqzRCBLnNSZR", "qVNQqQQMrRzgIbOSpdLpiSIcyWCUWaetesrYLtGxktwGpDZoNqrHvpshJNKhqiaaeNGsnRusazAOaDqoLJqsBbLQroyemJVhCYcMqoTPyZyOviiKjtWSidPiYivlYrCStEqNtaLErNYBKlMuDHraotkIxoVikwAvEJDlYcomTUhKJbphOPNqcVgugjeulZqSfwPACyitJYTQmRvmYfbOrXCGrTWZtBgZBgAPlBRVQRqpZAlpvVgnzuFVhQNvLJOdhbpGPgXhQmMTvxyPnIxnwMxSmVpaFAaMNlWfbXgcQxWUBbiQWzMkjRFfGKbIdTLRRGehIYhzgUjyMnQJbQCHTDSNdjHvYVdDqeBCNJghxAilZfoDiywEhstOpRNcbOSkucHQWIKNnYLKmRKaAlDHiXwGGSwKzYCEAIFXfEmyNQxjufAAJXqzteqhfgRoqGdOxxNRWiKxnGKiVeQeGbEhTmttruKNryGYNazUtLmHYPIBCQLzMUZUZEEqwcUplTUK", "DuFhfHqYnlFIfOywLbqbvopkBUZtRcOofZdVclSgRlCpERpTPYRbbSyLPyQyNWcdIHGtsBjTqqdUPkGdGshBAyzfFFbXDsqRxAGqUilruKyqdTMsRfYoMGsotgSaDFphIFogolNjpVJCFiURjJeOUDlNSvdwkgiDgQiluYlTxBWvcQdeiShxpmqOtLjAcjfIzzfNwvcNXFytiUeFVobovThaMrNeKGlFwUrMALVqrwbBmCmGFMOWGsEPQOsHAYdrONojNjbUrpyKBfoUbcfhQjcZGiCadmQNGjriHLzJwddHYOVccorlmDmcfFpHhZRoACJDejbAtdAAedteyfnZsjZPmfpXrSshftETJQmmmftwYwFiLzMuPpEMfXOJfcZxXQxmQAPZFLMSpBYibVieeeAPXOSPlMJDnhnMTCfLXOjAztBRdEsrdQceoqTlWGzRMjAFPnefWOHnQGMLkRrKPNQgNBknJzRofKlmaRZXrprCfGbWaTdDFSGoFJqaryPh"],"c_array_datetime":["2006-10-28 02:58:50", "2008-11-03 05:13:14", "2017-06-01 14:45:08", "2013-11-12 23:08:54", "2013-07-11 06:37:11", "2019-05-17 18:36:26", "2014-11-24 21:39:28", "2013-06-26 04:20:23", "2019-12-18 06:54:06", "2016-01-02 17:03:41", "2015-01-17 00:43:00", "2003-02-06 22:38:55", "2016-09-20 10:54:33", "2019-05-13 04:01:39", "2003-04-05 20:42:45", "2003-02-01 11:25:29", "2016-01-25 23:42:10", "2000-09-15 18:38:38", "2012-08-05 10:28:04", "2019-12-06 08:29:22", "2008-06-12 01:24:24", "2009-12-13 19:21:03", "2011-11-25 05:20:03", "2003-09-09 19:19:11", "2012-10-20 06:31:45"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_bigint":{"c_map_bigint_1":-8297825461368137605, "c_map_bigint_2":-1130276139474744185, "c_map_bigint_3":-5851471471391860287, "c_map_bigint_4":850807095719845054, "c_map_bigint_5":-431852578660838041, "c_map_bigint_6":-4180323030816741547, "c_map_bigint_7":2506506076643556849, "c_map_bigint_8":-2252126691060644001, "c_map_bigint_9":-1724937052771768479, "c_map_bigint_10":6997907163392244584},"c_json":{"currencyshort":"KMF"} }','{ "c_bigint":-1183057865052333533,"c_array_bigint":[6924066717621069268, 6355275433731357199, -8537610110908598865, -2256625741798237040, -4199158961257121010, -8626233902762660983, 523917279257955685, -5843336784681461722, 8105685880528056461, -8848708509569256418, -4824817340472311510, 4463953229692911882, -545431748639627929, -1092729860080244595, 8685398786195623026, -3708372870742585541, -5878998978428054506, 2255936789623290109, -6459315398091975199, -220302118190956775, 4933134949998660455, -3662236732768229636, -7620219915951517122, 5195020727502471231, -3657270743010512637],"c_char":"PpHevUvQaI","c_array_largeint":[-4603176099397445389, -3700503038789835849, 8636202403381640126, 7552113471992232723, 3153831606207207142, 4237593263505891058, 8745708159562752587, -919681035814674538, 7429908260581969317, 6160242338954646393, -3044006062478275728, 6889141190335365254, -849401121302158684, 8625812791137278417, -6999096335249937338, 5160815198690680669, -7241387528330970194, 2613620513846807850, -1276829173984382277, -2130921538361594133, 3963305052032935273, 1785491667233438892, 6630930865567246016, 1696549966737526905, -1457224316194768254],"c_array_char":["jPOjitQCKU", "RdhWgjjJoS", "kmzFoOpnQY", "QNGfgMqAYi", "fYOjGXSrsO", "prpTpwdnCa", "mLRbDzJOhl", "LGdCRQGaXk", "wkeDIpqatr", "eweIAVBQXK", "FolOSLYSdL", "CwVDuKWfmr", "lupupfVelE", "krYDUBDZpk", "tPKFGxOInk", "PLxXvSbJxz", "koyzcOENef", "dauNJitfHi", "xBQxDJSAmL", "chknABDwqj", "cTCxaJxqOb", "jLKXVoxpRL", "rbTmGPRwVg", "jxeMwJmEjK", "PKfklTWRyx"],"c_map_largeint":{"c_map_largeint_1":632913083560297551, "c_map_largeint_2":-6344775046358973171, "c_map_largeint_3":5388353688082257924, "c_map_largeint_4":652353739867079750, "c_map_largeint_5":-9030363709817751914, "c_map_largeint_6":9221705523394941945, "c_map_largeint_7":-1990925676894063884, "c_map_largeint_8":-5622059622268509725, "c_map_largeint_9":-1485568184668302461, "c_map_largeint_10":1518848097552771665},"c_map_string":{"c_map_string_1":"AwYdRyfMOUkEUBXNFoRYngxBOcICHZDwoknhmLxDfoocpRpJNtvCTXazdltCfektudSaChbnDiCPHoEoVAEeaDsVqSlpoQCBBIMHiCttwOcjZKsuMvyJgykujaQIEcCndwRUfeWEqPEMfMVslMRsDgpnvOEKdWXIwGDOvrmqWutkDyMxtrSiYPMsiCWioUrmUCRaHLOAPbZwUJetnhkwiLcdNkEWThauZDvaVZVlMolbgFKkicDIjcuBvQOseTXenPhiFiXvgHJHwNIBOtXNHPzhNjxnjUyhzPOtZrqHRJBJYNegkCkWgvirJtjtsMWDjrwxVYAHMZkclIshJcgjyMEeQIlOgPkjcyFpEOkbHCOGIEHThJumVammWTDaoKBgKbNkXqUSVdcyKPGVDQgZhYdvLcepNAfzxJUloddinIEGgbFbbzcxJqGJYsMjCAHjJslPQvmosTHwqHDbJCiHcjtUkIsfRYzinduHXEPqvPnkLmAgPUqKqwAqdkJWbdtC", "c_map_string_2":"HgOunpzGZRdlkImHgCDcSLaMZrZnruxxNTvmZFeAmOsQEoetAyphwXdWlyxqFvFrstaluHThWhEhJOAZdZGWRUYhOcjRqonTzSIDyPUUMZErCuorTSslIITTHOjOWYZxDtxBLcwkwQnjzDeDbbmPqKlGoolBzHRszzCovISrIgXcbuGkngMDIWWSRKBcaDFzkngrhkkgYdhUWZxrcUwqDedOKWdGRHBPYUgGdXIRvdWCLGJjIcOHNrmGykrIxwJaVBixtouzqvedgdBnqUjqsEKdCvvRmWExFXkdtGWgkrmQwvkDnSNGFbRbVQPRDoRHuYOvelXCgUgbQnyMKHWvGgLJGXTZYQphPDjBTQYIQLwkkNkIxYsYHLOYzkEaKTToGUaeSeaGnrOGpwWVMkVcAfTUotUQVdiiLQRNVBanLZambSGtjUYGRatHKTPSQYlBoCqAQyWKQRgSrUqSVtSfTjRrautGupssFnXMoYXniuUFAecyrAtThxdCHoXaNFsU", "c_map_string_3":"hUFwtMhfyQNPCoiZWLHxoMhDZvxnUroinsLvTiOehloZlotDiaZlZCqlWqBeoXGtmQOoejshgCFMewPAbgSmAJHPbbsoQBWAuSCNFgkMcSzSgEZIvcmDCaPRfqJkYhXfYwDNLbZQfsQzHRetKIsOFKwDqajryFxoJuouzmzmIAJqBIbfGKEbkciIFhOEtdvlBVkIQoSLTbDwyoFlTvCsrlJXoZMXzMLeuncEhREyIMGZJABuIOtGmYGQSlaNkjiXPZAYAfSJfgaraVfvDwGTcwqPvOevgYbxKByZqkqQcbOQmdCQqfMDeGtpyPAjMeixEoGoDfWziqWfHcbnEoTSAVyZNhtyfOxfXNLrhoVwywbIIveeHMRjuPcrrfTkwMutMnwszxzEohArbHEvUCJgGUEBjFiVeTvwXkYKXQGccllvmCzZLXApzCqxbcgkLuUobBhZKwVJZdTOUpsWIPZGUcBVYWNuCetnnwZFjIKwyvBFQQAGXWGfdzOvKgogbKXV", "c_map_string_4":"JNtjWbjPbCDcjVhSOYgvKfQzKoEaKvtcMWmpCfHFJORhoAigUxJckcXneRBToUaanwStuuARborGqziTFrThEiBuKzBhTphczksApKHNAJaUYZOxVocZBMoihWkSLbPVOXuQDxTZvQhXpRJLinmzVIgYsxlBFnmNPGjEKUiUWANdmUDNAnwPbfmKVKvDFhGpXRGdbNMypgcSmFbFQcPoHFlVstlJRGSxnjwOLignzzIipmZqiIwAXWEHBzgQyfccWUzaniIDGsHAPLxXnYhIWKkllfnLHUkcmxMPICqZNnKVPZlSQgxoylTyFFbVtbAAHBclQmNMXEwevrritSlTGOnfHdkYluwArTaLLMoZRKkLRFnsiOSxppNvShNbSEuHTnyQoiixfMISiIthAKDZYeKrghmFUHSfMiuEhWzgPHCTJBGlPUhAUVbdKENnCQtFXDmcjSeyTUEFPstdhVetYCCzocPmRINEbtaYVVSOAzpSlsqhxvIuzsnbfqwhruOS", "c_map_string_5":"zuawmGkoujxrtzawtfvOAFxTwacKcHuWATtBcdAQEOOfBLQEIbmjEfvQPqlRgAPKcAvgoCPPorZXQgBkRkeLrYeAEdUppNlNiSUgVJCMjIAqNwQwulRKsfUoHeQXDPxWWPiuCgapbrkqRMcqwFvUvwaXXHILDVJjvuFwzQTpBNtsmhXaVUEwtFPdhpKakDInhCPNsSnZkEQkdkYHqdADNJsvcBKItksPCjbjhwRMXDwQjyWTghWraAgotxtPdxkIagyYGLSZHHhOEwAPWkAjlMGdsOBOLiUDDwAcURYhZROVJTAZFzVkcEzeFjCqTOxRNAMncaErssmzANGzlmhmHcwDsjzDNCBeJbFqhdwCuMHElNDAGCnkfVsesMUnToQLjXFZscZBwABTiwoRnlDucGSBbpILBMWeXKIbDciyNwGFuWtFnbkhABhIAhTexWwIklLpwSADRTSNwQyeHDDnsvudMAeyrBfKKuBQJauaqqBxQefHJJebvFhGUwWHvEHX", "c_map_string_6":"WjqcWkLNktyJtZeLyOqSoXBLLizKHdBCZvLALjVjCAtONgPTCfOxPdQpdMmssWYVhgAQGgqXvcODDtiFvgWzVNmCtoVTvHTbdJITTKbQHVIjUgEEtUFXMkXMSjfMSHxwKakEJFfEEpqiVRKgexrCPYACpiTrxgRXWVWbbpLjpqUmeIKMqqAELDtLUjXAKbbddipojcciuqbFfuWyjeJuponGNSliiuqVAYZbbUDVxlqnjkRxoQuLqWWltgDuvrFPkOPbHFhMdcXpJSDLDxQkiOAmqMcWTCndANefuExtcChFrVrOYVPieieURojJjljCmEMzWaaxjvCvVoCOtxABQgEvUhmNpMhOZyIkNwWwPhfBVELfzstQYLzeVQOHbXscuHphXGhDHHXoWspeepZcSOnOFGgxEjRxrOHipnTjFJwmJcKxfnvmBOtdQZtlnnzdlqqOyLPhoLZGamjydpkxZjVwWQYGWqnTrIyJShencShPeFvIvSSNPCiLBfdBIXhT", "c_map_string_7":"EiLJlwNjmSKtnqsiWsTZzzDheElNMempWdMUxWPyRpmuagMaouvWtArvjxcwPUsqvEQFVOOofzXKyMmkoWyBzqCiAJiLZDxorLxaWmKMHwfbjVdTLOqUypejDdysUPMRqiIhHYAmNBMbubGIPcWZXMDcOJgxKUUxvURnlUkZuMRaxskHGvUGMyXNPaEoYznvodKeOQByAtpYfCLrKWtLdOCHdVeKDZcqmQGsjCniiDJpKHTkoYCSWbTXkMhtKLcqVohySQjsCsxtqDuTzOrqiGMxckyeRWxpLvlzoAEUUiFLVJSyGMtBUYkyZxwsPfGhXqCcPNmxQbeLyUELzIqZaVinfxgnOlaFeFjtxrtFaUbiBlyKhhrcOPTHSgwAaisZtjgbEHqGnFIeyYCJOLhcIVIumesCOkrvYcLzzqiSMPBmUJsWPpebZBRScVURwbUUKSfHRqqahucsfWIvFDnovnyAnwbDgEgrrYqkmehGrLOrwVkboMIYTkqhzhzsYttq", "c_map_string_8":"ckUqWCvWAaOFWoQhfGcPKVDctrWcdIHsiFMWNnvCwAILJMuMxHxgDAsnqYnpXsSdOWdtJmEhXJSDrOOWcmaLIjTXVMaXnkUibEYmnliXfJyTwhwvzpkZqQVUzFXdaDLoqSScAhMuuuehLgJiwTLZeTttYLmNOtTgqptHvvGAIbOInDEyNwOGeneBfmXIcPoMLdAYOWatqCFXGFMhlXUgyVqpAMyCmXRvNlGBkvlBHRakfjXNHkTKIJczNKTrCtNpmtyTgCFJdbSEkoMkAfDjpDNYIweLnuWTWekeXZFgCxDzvgXiKgCBwbXpnTsXQdVqfdWVZyvpedkVSLEkoQCpGXrEmqLpcrvcqQZMeabiuCgnGvqmuyPfgNwasSGjVTNUVjmLCxPbxtLultjxEipUjaKKbuCLTpNDnzRnvsMOeRwEEpxOYxcRiFZiVmWimZiRGbZnpCrshQjRhgYpaiucKJXhzDctsXmSDLrcVVbrGTtAseePlpiGAfJPjIQFELvq", "c_map_string_9":"xCWjzhSDLBCihKQWWoOHZuKlXNqkNWSJYposiqKDLHgXueooAnjsvyiTcgJwCdBwNVSnneRYfnBVJECFZpvAflGPXgwalscgGuXgjuMOwRNPUtvDBkexHrRdKqqUVKHAftSaeYSmuYsSPOVfGqSUZfEqHofosLwAIokuzaHHaPFKWzIvjjIVohCovYqaiowTgqsJMKzRkQYaTXRLDMhdCExPqecYwWjpAGlFoDDXpVSAYBHxLhVxaOjpGwmYCkeXzUiEZNdMAxOWgYEUMUslNsCmPUigOdGYLUuvKAQkkgrYFffopGmngonLTUZtVSLVszvooyIeEkRzzIoAPZLmSQEjwIRuZppBDmIitZAYMuBHyeotrpAOYTeitUqqIlVmbTHthSveZqhOKFLxnKAQraNZkFJgtLSADXMjdQeSrQtEkmaOUYsxjeJxCnlmxGLSMKQGJWkjLrIGVNhutJEAmfYzwMHuCAycZlKOWJDDMGymGCwaBypLbmdnucTSBCvf", "c_map_string_10":"rzJHlPKRwFXldoNTioltnBiLFGPOOzzXubwqQxsYoPWIYzBTKXMdDhIRDYlqrAqaPUXevqgMolhYHLXvVsLlsBnPzWDbgmaPTCcyRowWyxcHzNtoZMnWOhtAwkkmqAOfluIpLPqHfWKXZTCpnjPrvdAeaYTOXjKYPoSJTpInNQSqiNGnvJoxIrJwzWXfDCazeTEQdZeuTkImJpKDBgBhpIHRXPyqnSqRZuzAFAraEDnNQNJUYJJcjvWpRVpAghduWBrTFjRmqSKfeCdIxkThXFkpqeRufGaIDzJJQNRpNmcQVRGKFEYeBORaPJSpojngOeYPZMphpJaPjEAoVJvwzqrZUBHNtLRAyNyRZAbxDnRRlCQxPQiezlyBCQbHTGqbeTrqJoGhvUoydfpjiYREGkfJXKyuGIhRXdShpoAMQyXRslFTUScsupLGttBxueFjjKKNtFVbUURTrhrnTEsxNXNXzszCDNuMIEaccFiVGSphtJVxjzFlUQzKZMIVJTYo"},"c_map_datetime":{"c_map_datetime_1":"2006-09-24 08:11:00", "c_map_datetime_2":"2016-02-24 18:56:52", "c_map_datetime_3":"2005-07-21 11:06:36", "c_map_datetime_4":"2015-02-01 08:09:00", "c_map_datetime_5":"2007-02-28 23:39:40", "c_map_datetime_6":"2015-08-04 04:47:11", "c_map_datetime_7":"2006-10-01 19:01:29", "c_map_datetime_8":"2004-06-12 13:26:55", "c_map_datetime_9":"2007-06-15 20:47:29", "c_map_datetime_10":"2002-11-24 23:30:17"},"c_map_ipv4":{"c_map_ipv4_1":"231.75.121.87", "c_map_ipv4_2":"14.2.131.56", "c_map_ipv4_3":"200.182.55.215", "c_map_ipv4_4":"110.66.162.21", "c_map_ipv4_5":"36.12.248.230", "c_map_ipv4_6":"247.96.64.105", "c_map_ipv4_7":"135.11.209.110", "c_map_ipv4_8":"194.69.21.214", "c_map_ipv4_9":"219.224.211.132", "c_map_ipv4_10":"129.45.227.140"},"c_boolean":1,"c_tinyint":-69,"c_varchar":"you\'re","c_array_smallint":[21289, 30565, -12059, 10635, -22882, 24120, 14042, 2355, 18675, -624, 29113, -16301, 28800, 6712, 7441, -31938, -21301, -1210, 1928, 15390, 19110, 4517, -31882, 10767, -6347],"c_array_varchar":["DpPyoYbMNlsyDrKeAyDwdCjfEBCLUJGGcPYAbGCGPodMGZYunFblOZmvdjKmiVvEEjpAvpYWcNDuOdAilINPUTVxePknEZBKqNyNthnRDHYBNwESoxcGdfnlweOcuWCXJaEcSqRlIsPJtrVVWUrTNcoWYFJbzrgdqordQoxwFOQJOzvivnbPcwPeLImIAaawZEORhXsuETrtbSFMcDNMvXZmmICExTPOHOXKHIXaPlalfMEggaGnZhZNtGALuurn", "EaCJJAPHhuQQSZtOuhNuDtpNlhxNuKRoftoBUevnoFtOapTJQGHGIAPrjfjZHbKoJtvyhYQVSbZcIxCfHFWPBrFKQQOZeoxCqPNaOykaOqMAkSpswDmXYbTzbkpFivptNFmCkEzHJFRDbNzRTgOfzAbhKrjbtoUAoDkSlvLzNUwMdsQregDITfVseLvsIWbzcTwudKRruzpkEqriKVFiIDwqHPiORZhLGDzGwYqierJpZWJheUjozDFECpNeWWpa", "AXDbJgswOfWDJwpsYuVrsWwhbFrJXlrjUmXSVszSrMqmqceptJasEvyBZTwLvGHxfwaaGrAlFhdkfvJaUNlsjXEvfbsszDCYUYopYyONJyWSlTBuwCwBFqyDwWOgvyLflNzcFdhDulqnFpyooILYqqPlsqgoxzFsbZeGfepfhAyZcYxCctmHxJQjYdUoAJkYPFYOtMhlIMcBHnCIBnquJnQJvzFpUjKIbKYGKTrZSNWdcDjraSgqdZhKoQlCyJms", "QfaRViKrtRQITPpGkxiZJOslDLzZCdCDTMVvbFbNhjcbWSFfiKqgFQOesPvpwRrLHDipVgfyMSkpWRNSmxnrolvEcHRJmCxdizsIDyFRukhTjDObAWdAcghWlcZlWZhLXcxcftAKTpgpAcJrGBvlcQFDCAMVuAGcaqrKSIaRrZgiQZcuDBGfTRfgONSlIJFSuAenaspYsqXYAORECKmMGsYdxgQvjsyOEDDEwBFPLkZjkDoAoEmgASTmPKOuDUlI", "VYXNqZzDJGOwiOyjEXQNDywKgNQLdVgoPWTYudWGaEIigIodfOuSnxZjZkZGLXmJaaDkGUOztVzQhJJgOXnESLrSOOOyfLVsrTgIdFBzeILQJpYKAbtgYyHyIUvbHGWwNQnHvMorQbDFsofNpzIfaVpyKReuppoZLyFRklNWGBtSlylZRkpdgYjoDmvOcQbkvmzyrtajSPhbfPbrixsyunMyLAuerBIBSYtoVJFSQPOzecXnxGTIUuamENOTqBcz", "wedrVkijGBJyLPqTFpQSJtlLiTSkfqNkeeHFPwXjdlHuvtBOvWRfEiOWdvzXuXXefpHHdVOxsdYlsllTACLLeaWHnyCPjWAeMJiRnpnszVccYrUlpkekkIsjiAvtcFncXmCArSCgmtJsCSOObVZmCRUfdsOAJMTlECiISUCCqCooLEcRbeOPlEVHlLmlFzWoGUuICqFeGxmAxsqqUjWGUQYBzvmIMKewDkvDcOxYyqHYFaZBCGGCkZQCqWGQiSdc", "ERVkexCAKEJawTltvoiiNLWTivvAPqdVXzuBbZlrUGcjotzyCLMWSPSBNvXgdTiIWkdztGPRrGbKHhNPRvUgqRumMqViCreaShrHUMmKcXBLKGOXHGvglkXAKXqvLvkQYpBEvyjZhpcaCHXPhVzKMlktFsSmPxLxELMGfRLbhvQdsaCOgObFJjRXGvMQgAmsNFYDQyqEFMdFNoGLyEDedQbJoioPzVtBKCjuGqNVGNVSTOWPVDHyEocWKzAGpKVK", "jyQdmGmEXMiNhOpHCBKKvWTzbRgqvczyITuDoPEaQotxileWGoOmwyJQJrkqLOErfKwcQGQtOFXOiQXxDyafFCevSweNHVijLJdtXQQIrxRBsFvyLnlkGBIGbfxGrYNkXEQtaezWcgfVDeeZYZJQfXWSkwjHiXDiUgSLpQhcBybNGCGGmswrHWFncZMntvrfddccaCEZEhQsNwbAmWyENDaMFUdqANpRxhREfBvMCDsByavIzaLUMALbkDOkBAVJ", "OKVdnSoMUyhIjpxPLhhHdxuIBSVpdUniZApdqpCXSMMOzAWnmBMwabESHlDAzDnknxzLeOPyZROQzYXjklgjeBVRNcncWmDrumCBWKMJuXmPNnpxtYuFXPjupMKhQcERuUPAfyJjxoTXPpCoqrFdgyqNpKKHPAYGzigILvxsEaEPGaSORCGkmeuJNpmIOPiMseTzdliEqbtVqcRkMOWUZFtMhBtwoSqWRIPZzNuYXeNGySFxPHXRYEmjhEKdMFvY", "USuXGdJDkRhUawmhuNmjhrfBgQisMyxvlSsnWPOSFjtrOsiWrEJKTgeuimNGNctTrXbBpiHCJqZsjIEMkvRnKJDQtHZrLuYrLrYlBdQcvJIEneHgGleEFNkQTjuOJXAETecHkaErXiSTiKIfBRdPFHsapiMcNOKVRYYnKxQWGNnukqCagiORUFIiVdcVTUhKhXbvBbjtjQVCkAEXmLCmVFZiJIlxArVwLlFvwdyPEKvdZHfBEGjLCCRuaMHrDASH", "tESCOIdMsDvRmCyktBkCHWsZNqYoaMbeiYDpFAezxhrVmbnRRBtvYJGOFEjFCBOgDaFkQPQUGWuzABbjMrjNYbLQVFvpYaKKrZRbcGTSqNewsCMqvXEoXOsrFXcRkBgNAmfPutKdfLccrAtPcWEinJeDctdqeYPSXrFZuFisltmoJHUlRTISVKhIWpFVzJepsYfOxzDYdeZAhQPLFKRCxkRCMKqWVXSqQNFIZaXLvWPPwYVNZRCxIAtYiefKDTvu", "udZWddhfOgkdvVkpnzfGVpILrsWyzgcCIUPdnXYnIfrVViPbXNSPcdmBqmgAwHYCBFEktYLjlGWYTlKVDmzMcJvQjnVoRJAUdUQAfVBCHFcyOxsnGXPVhDfCfVLUsGKTVfBVOpBBVjpJcjaPGlNCWBcqTFIDdCfTCvvaofPfnZEBkgmrYyZwWuKlRXjIHsZoiAqsBSedjMONZGkDGDnnePtDWolnHMNlhtzFhvZAiylCTlaTKtraFaVyRzrfGdLe", "FpYsSIWrTkvbzSmIiHlnsOTGMsBIoLFlZArDWqFrxBInxNfxBxgkYPChmHDBcDknKNCAeANuJMVYZOfSexSOLOvaZQhOzoLHOdHMWAonckectyRzoxEFSuVeSFDwJKKBbknQeQtsUczkZQaLKtiPhtfBPkZKRwsHOaHZMIFvitSbHwwMTCUlCddiRXYWJkGDxdScpnEBCpGgYKlWjgsqCZMiZdKeQDZPVnQjPWfKFhJGAfAlIkEBtmYBBVLFFfQI", "AzaCpUSENCnSUHLtOtbaqXhsqKAGxCOCzawLJbcoVrsyTzJTioFGphsMgdlPOhlwzRyCccyAkfHJyjZiCOFCfdNdXnKTvHIcdHWCIrStsUfAJmKmsZrIXQXahjEFZAAhuKmqBUvWAPIUvegXptcUleXasupLDKxBbQIwDJCNbPndQLgyYmbSAeUVvnuYAwDJuQmQDiAelGFPZCQmeBKSNNjVBICfcaFmERiGHDagkOsFoQSBeVHiXCEuQIsPjIWk", "wQKwORcWzmyinHDkgxVMyEdvjFfdYlZJetfYUVUdECZucRhyyJWpJZwzPPTITFtLOIsZRQHzUTJZXOxaPzDUWevXMHYXPLHzFReuqMNxGkUGhJGCGAlfUgmDRtfxhXGNnDktVfahNTRPveSKkkSgKYZkjWbgafzwPMSdLqyFTobHAETijByAJMWFnjdLgiQSoJhIumJTiSZeCkMlyAxcdjUbaTSyjjBkItbIpOJZfUvRNUnrzkyAiSOekVdlmJhy", "BZTDfqsZUrDFxFgQGydnNDqiJdyHaLOzUZBscDBgPVASMAdhdMHXEOHoWUwvxkPhedyrwERjRFKKJjxOcmxRDiNuXTrHSAktWFrFsacyziRqSKpGLaUOMvcduHfEUSSAzhjjMiXVuYWShHAtPLKbEDIzACNEFdgrBsHGnxkxXohsqUmTWTiedATKTBEcvNKNhgeHhfoTxhYsHQUmmDauxvHxVbGNlZPfmGLruIFBAcSypxBpHamQwkBEKTcEpsTf", "zEvQcMcGXfSOEaXEDwbmJegtgPyewdlgPmbttKfQkHzMxasjaDXjWnAiKuvmNiwyseNEVRaWvxYZJdngaLNQaTJWscQXMIRNBQUujFCGYJWddgBnHOZzxSsKwdEUgtbKSTyMmphnceAlReeorzvgvEgEptqZFRUHHwbvCzWZYNzTFnPZGBeqDhngicMdeDtmOjTaSQloIPJgPBCgHMJjbILnSJpOuUVeOnKBFKOWQzWXhwgiBYssLKlpdxvnrJFH", "xivYbijcZnUbmWOBQaTwMMhxszALADCPsgDbQDjCryTluutEfrQJblvkutPnHXVOLeVdzgTqbTEZUuCDpHqZhpAIACtyHiMKRCQSkyZCFTMOuFpPXjqUsOcprgxZEYmGQUOEaWkEMXPMDKOiLuqSSyEcImrOBMUZdVgfnfORITMbsAbmgbWFgmqAmxEwQdrEiHSJyiymfAHcyvziBTdyKTQvoBKLIdfAmLaLNSlYUbJHDfAfACvhSeZQwTiqknCT", "kbHPIRSKglsogZZNUmfpowkfrhPlbEOZuUZoRAUTCujeMWzhPVXCNhNGQsieKqomzmAWdouPatujpWgPfhrvvZSPDymBATPOGEyuAFgZMMBKEJfMnjniieljSETBcfMQhqjeAewpLizBsLbLymIHEAOSoagbavJsMWGEltQPbJNpKlDnFAaNWFINZRLfJTFfuAxeAcLfXWDQBpQRkPGGolqjLZqTBPxvSxXFJhNuzccgQnhuJHRcWrZjhmMChXsD", "tEfTReFoDMkXHrbDKGSqFuGxujFTiYZRnqTaMylLLhUGhwDqZlQJvPAQCaChJJxsSCrHiLwnyeBraRTLkgCthVyQAenkxFryTaxXvQDHQbBhuxEWcZzrrNZZFEvwMTTohCelKZMjGZnUkUpQhJvGwpNTaNrTdpppdRwjfkiCKfztKUYCPaEvqhkvVOCabvnjWHMpJsjFYzEIxipUoScEIRiySYDrXtLKdvHxwMrBRNKAONgpBaEJMoWEbjNAqWkn", "DKPJTApmgJePTkACncKilTGzJcSGJOtAUvpaQrniuwjUXqtHbPVzJBsvNpNFfVeHOuIogctpvyahRvQwTqzoANZWKuhbtKzMEsIkolZKxNqLGHerYSdbYQQDgvNzpeSvvnjlXlcbOdLaewomfNxpAUnvTEPzqRlepEzytbrcCSLraSQhkGdfTEVYtjZwHiADAPbQNFWuGIipFxSuhBxSCEXWoqDJBdTQRHiIDqpkbXGQCidILYlzhwxnYKUQzkJn", "qaAYTFltRutNffAsrLPeCuNwqKPligSbSARibPcwwFMSKAzAZwTuSYHgQIEShBhCKdAVvJnZyEEorXQGKKdvMdrVRyLpYFCiAIDykfVokeoVUJzhILKmwzLBPxyWFwFqgYAnXCDClgtAWbPJMLEDOqwvcruOKVGmFKQYSNBzXUiiaupdZcLwkeEUcUmJRRNftkCkcSdXYwhBSnoQeokCbmCEWxyztskYnbsexofCTaBqVLBVpUFmivTKQsIVeCKB", "xCNwxJYYxedlXQAxygaMahADtCYQyazpPiFuJTAUeUOFjXnJCQlpipyuPJXFKbdCAAgQuqBRhMVGeqRXxUNvxilscZOpNRgtthSLSJsRATRkBWVOHRFKjKeHJkBmAIfvTbOZUKyHxUITZIlKRDXECjhViyojYsbURpelGvpiluyRtaMzVMfbobJjdYqJHQWPxiWuKNtJfKFpsVmOTokNrpLvyxaQvFCuDkgRZwuSoymhIDlLveOgkwPyKumrvVsc", "qCQVhmnrDSjQeDOdppkFldEagSveyJLtSAmSvpLtYGIccSrPbWzrNjwiuBsToDDDyXrIjvtGbFBNhTiaqMNsfBryQaUvGEfhpfUFpYjhYbfqoXCFTJKgTAaDNySnfuRJklgfMEjNmYUhjPgacrKBdYCaJEruNFesWLKZluEszHDOeRbQLvLmkykOdcupgRTPfsokgYNYOTPAYNnhBhTjkGscbnptLJJdCxvjmhzpVAYDEbIVJmXEXCmpJMHrAPrY", "dEzUTwtXJujTrayMbBmYixlNRpUdnrLcjDWJAdKIBIXYVltUWjSbrmPxuCpqNNSCRpkbrAGtzAtyktsMAUzjyaqnMSoFljpvJKNhhJfMPsdejgNOIgxAScrAGQZoiNHLKBQqTrYYBBRjajuJyFyIVYFtqTPTpUiDxmgjrANMvjKGqITPTsnqlJJYpXrSrLGVihPIIQoxcUfLrYFqEolNXPOYLusTOVcJRsUwfLcwvcKASZnpYdJDiccAHgzQNklH"],"c_array_date":["2010-01-24", "2013-03-24", "2015-07-21", "2015-11-16", "2005-12-18", "2010-05-09", "2000-06-05", "2014-07-09", "2008-09-16", "2000-07-28", "2011-05-21", "2010-03-12", "2004-02-12", "2010-06-18", "2008-09-25", "2016-03-17", "2019-01-10", "2000-10-03", "2011-09-21", "2007-09-16", "2018-01-02", "2018-06-16", "2013-12-26", "2015-12-03", "2000-06-14"],"c_map_date":{"c_map_date_1":"2018-05-24", "c_map_date_2":"2002-05-14", "c_map_date_3":"2016-07-13", "c_map_date_4":"2019-01-24", "c_map_date_5":"2005-01-13", "c_map_date_6":"2011-09-25", "c_map_date_7":"2003-05-24", "c_map_date_8":"2007-03-07", "c_map_date_9":"2017-09-18", "c_map_date_10":"2006-08-17"},"c_decimal":64.1085,"c_array_boolean":[1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],"c_array_datetime":["2011-09-06 01:49:28", "2014-02-08 09:04:52", "2019-09-05 10:38:37", "2008-07-08 02:45:21", "2010-08-14 22:19:07", "2012-08-11 12:05:46", "2002-05-02 19:23:07", "2003-09-14 05:14:10", "2004-05-23 22:10:50", "2019-01-16 15:44:25", "2002-08-20 00:29:52", "2013-12-22 08:36:56", "2011-08-12 20:52:19", "2002-11-10 01:20:06", "2005-08-28 02:34:34", "2003-03-11 12:04:54", "2016-03-20 04:30:52", "2014-05-11 09:52:07", "2015-11-06 03:45:54", "2016-05-03 13:10:59", "2016-01-09 11:32:11", "2010-01-21 10:24:12", "2001-08-19 20:13:54", "2016-04-03 19:36:00", "2003-04-02 20:28:42"],"c_array_ipv4":["aeuuiQEKbK", "zqEsEeYdMd", "DDyHYkVBZC", "gImkntYwCl", "HrfjCNlzBf", "MEIcSAcELh", "wSIJPJrBcc", "scLUBNKfAQ", "oEHLXGVYVt", "QrnMPggpFT", "MqSIgvoltg", "oJDxqrLDsZ", "MgtsbzSSEs", "NlRloVpcEk", "SoNUxSCtGA", "mAWgZJYhKK", "KVPgpDcTbN", "MQgVCUxbUY", "SzDgOKiLVY", "VfSoNNnuZo", "pJkbFdWVMY", "QNVjUTcZFx", "ogCjaEZzuj", "bfClUxEltS", "zzmhTlJuan"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_int":{"c_map_int_1":963319601, "c_map_int_2":-634225456, "c_map_int_3":-503059899, "c_map_int_4":1600286240, "c_map_int_5":-109409012, "c_map_int_6":1703574294, "c_map_int_7":1588949702, "c_map_int_8":518245717, "c_map_int_9":1700447621, "c_map_int_10":654429893},"c_smallint":-2240,"c_int":-1941144351,"c_array_string":["salnDskAoQFJAytfERjOwaveobeTmiYESGhjTTymIynYkKEOqLBbKyHTYPSIUUuByDQUbxMzcgTcjIHDPcdDJkGUWDzpCMEOUueKdhtmlHyqTaDuDcRCNXrSINTQeajTqUZOZdhnVpJVcLSDrKHYDndVfFYZFpCqgNMrljuvFGMoZIJngrPWozYwQlkwBLlldGsfWpqFtdwWJEHykzffJgaBCWmXPaivwNeTcemohOKSNsWnYEFhfOwhbIeZsrHJIgccLoHQCLmVJQPyDmFHQIXyLjFdKvBQVmFYrbKGElEhYHQMHWrJAwMggejAfNUzVKiuQEiCNviBlAiPlVDXoxuQuXfJAQNUdeDyVggKeFkzgvYLzFnowKTLSUTZJMdTOeOShjGdUaxMuyrkLuiuluNStrOTUJVTXcMfbFYBENxqptychypEwaKeXSZiigSPhkYGiLWWINAdEtaKcbeSLHJEWZNwtPTepwxaggUaxeimZoeaQtAPYGGaIgUFkYJt", "GgKvEmsPUEpmZrocmzKngEtyFuIipSHVwXJqBSyZGzxAqPIiGtuRlfoSsaDrCYqJSkSTknttpYhxFhfqXbCwVmuoozMIRAAtLRpnJOYStgKGvJNzdDjCtJtSLsXHwmIAVKEXQLPYTcFJXtLUEfFlnEvlMvvcwyvHcORpbNOASSIgAEjmSgrbyGLDLIBxSNYjBLoNegZmmnibKovfADWTNjxVrXsKpDRWeOhIGKPpNgNmjZuQNLSBTkHiWAwlJiGXWBByJeIUntpPdPUjpQJRDgEKdnlEXbOSdFVtjQJcOaNuFEccPjLWhihFQczhQiXNIavhXoognivKMMaKEcEdWVEhvigejKAmcAjPwUbxBbAPHQcUVROpPfRwKQFqlPXjkYeiOcYsYijDKKUXyZRVhFnlONzTnzFRGhtWRyeBlYqmFKBRZpZJvrTTgaqFfRFvYiQejYSXpFjbqtloTAaeARMHqNdEwMudvuChRaRFrBUfnLViRFVLmtDvZOVMTKRx", "YLaSwpwUxmIoHpVpiUAAwRcxJpibnjYXupBExhQUUjEXOeFFUMpOojAgwiJKXwKAiSwrtCMsByjuctclqAAHLPMTqtXuclYLmYAuZZbdRZwHqjFuwNBoKyhnkQSGWThXZltAwPRCPaunjjlomDChDsTBLHHbPlOzRPSPlaIevHkmgwymJUPGXnfdWolcAqYERACtjQTuqDXkuZlZfPeWpcwHNjBRHtpRFOETkzvniotMxMVCZmJmErqGQofCDolzqaQRafHFRJnWMpkTNbSMFYrowlIkxTYnIPEbGMmXAkIFvStcHhKRcZyNjdmbpVqfkNkbRmAlcRrbxPRyiRIsWOAoxrFrpYKpviLKNERaIXYtoKXwRoGkUZvbNMdDpJvtOBXTXAOgAlonnndqQxjtkswhfEcxpSqtzninCeUHXQYrMtPfEmrqObQyWpzUixJrxWQkNwAGCkjQbXKTjRSfLgGMxlxtCRFpbTNJnUzmjQZCMKJVsvztBLVncBlnmddr", "PuFupTyHvxlkxCbqeemwLijosujNpQOmUjtNECYniWCEzOCVnJVWiFVttOmEOScpzFVcywbOfWDZsJUVOQXenPRohJqnSuOqKxGskdbhaEarHGpwNVBuCuTxjHhUNXTSveytnpcrkUfnvpJxnNUrjEYjCuKkTnnoaMkqQjcIlNoYroUsSOyQuPGfEABSDUbeMjqkDhlfkjWrTkxmxfZHeuvpBgrCnQlGcbKWJmOhgFvJIZPUTbnGadbByQwyRafxidvsMcJjOXKhUblNptuhasVcnTyxePhMzJByTYUUwhwbNaENvmghMOGVKsZQDYLMSJWPrgWjItJqfLYZROoLbBADPfpXCPtzrkZeBIkLjXVynbxbhpUZThenPGBTogTvlEruCZkFEQGbBGMfvUdUNebEiRgvNQSCUozLXmKUrtFgIewLfVLYcLEAhtteuDzDEjqedzwsVKWtVUPCqwEajUXgUImHhlTbOxmbQkfuQZqXbZfYkgRUgNswzpBZZGyz", "eYyxCrhtYJKbHCpdWbZoHudMQvKKtFulrhZQkrBUrKyrDXYEXDCQMYqkOSvmAJLkTefFIRCXsjLeERgLhuADjffYNblBusoctQQzXoLlZSjLzDUlzwMaKHpnFSgCFJnxhJMzZTtrdlasnNtzWKFyueEWcfXeANgXPNCvoxdwfLKNSENOYjqBtcWugNnUaKVuejSuSmWeQtWrygQnSymjEtNntAPnuQZcVLtPtjKMPVnvEsGMgUZTQftJbNqRiBWTaFrsFrVpWhaFwZLZXAAFxVuVBwteFVPsdPKmcxThgAerwhIMBSXuNPDVmMeuPdrmicnlpUQHixgjlUEXNlAhEUyEaCzXWbDZnKzpEzcyPXDGuegtHGTSBypAKvGcQmoJldVKXcTMSZZxuTTMJiZjsmKBMLCNOzRpNRNXCXjRBxlcBtzeGbKoTOwzkxiWYXvyLdsPzsAkDdqdayEhqVvqBLYHsBrDOWqXpDlZMGhmPykWjPpGwtVAxFdkgKoUZhOn", "UbmTMlBKNpWNagGuyezPmNqMKpMpfywuGnWCEnNsmTkabRumojfglScCHUEYzsxmGcjBTvNLABYaDPSHxPBMCbhgMwEhGfjpLdeWVgiNMAOfedtHpDIAQJeWMIdrYAQaDGUqQcXxllNPzoDIHWMBgXUtqXeuUyYTudRFcqAvZwCoAMQcnjhiVcTUxtTcgDwemYlrhTSuVHHavxORtSUOoiAGaXeNAJCoAzEvowIhRocrQkwFRUQCvyVSGdGJINbOPKQdUSJHbGmYEVVuEttUkjswMaZbvpcJGRfuZIYvniNvwNDWsKTZeuyEoCFeCdCzriRCNOhZnSEnplattDjesrDhrlNYwczgMjbTRBvizznAHXbsPUudXupKhXmcTtrabWwUfXZaXKaaZERKGQupxIpjbHntLfmsKGrhEiGSxlTaXmyywmYPPCTJweHQQbnFmRUWFHonTHLzqneKrffqsEUxcCjzsLghnifSplCMfalFdhnGsuRukzwBkMwyaWYV", "GsdPSljePFlcpTmNmdJEoQKwahBdeQTQzgglGVhOoneXWxzNkHhBUYMgoVzelYIDLiYeLPTJyWQFuwbFcfiOchnXOHFULrDmhbExLZnWiqKYWQvYHCxqGUOyUBqKaysBDBOcqzCFLfbXgpaBvHsUrgLslkPavsZbMMNdtjPghiXrTSMAHxJrnrONXFWzsfDJWVGeoYHYYiuTpVOYqcMKRfLzlMCrfGRpwbJKSeamDMEUDLogqXJeuQhlnpLiZvWloMdbjZfuXiJzPkarWVwadJyOUydTrlLpuWRkEzWlqAfOGjJZnApvNTZKrxeeVhFYGOKFmOGZUQElQNMYnbQjQTzWrqDSQbtNCfdLbTstwtCKDGswDofATElrNTRqAslHanfQrJYCiPXCZXBvOMajYnpCaIgPZpAWvDQhJMhlmnVhNcBDFKdPJjqrmYjfzMwXBlsSyNfzJgqVLcINZrWYWUAKVrfDSjAtGhGOhByynumJbbTruLUFnAGbiUjbTmsR", "YyVnklybAkbWtLgkCXeTmhRWDbWBQYesLQiWErXEvheMTTVBPjFMNhAaOkJLlAFgyHukkJqcxEZglVtaOfTTHeuwOOKenCVWXxStJnLgKMyHLEqRKzNFKmTQWCtoFfcqmVUmGvtpPUKxbXVTdDCkBdGaDMgbiKpLOWUUjnZGVLBMaaFrPndqlTaMsDqWlJrotUUmuGffAuMvHUVFJVYqVHVnVdfFeFZrKJXFKcwfdoMDJMdYfksASBIkAMqkfOFUcFiYYDBJAhmaQTxBIttfULmIMefPgNUEQUlFTPtUWvZIIvxLiqolmVLAmLUQZEXbfgCSphBNvQUCkhjkDPuSHCijHLtSQBBVcgCJFJwCUybfrXjzfHMRyGhoPJDtmyXiHTQGfMkRjWWnhEKxTbLVhTXsakIqezTtNRcRoAzsmBKqzoskMwDkSrqUBluUJKbkEluQTDJYkQZlKzFrEyTgnMycDhJxstzmXXDPGmaFPrPlIAUXapidaQRYguZtJqQf", "aVIMIChIGknPiqejwqxwhjZKfgsgcsHjcEZJnCHWmlZobNtNZHsnuutTOvPnJMhurOPVsPlTqZgkUrlvthSniugsmtRwSyhQXWzOkbKbnzBiCJyELgArOEKOErrumSAPixLADatKEKQkicKnCszcwfLiPwacxJqbovlkDgyflRvBupUMOWXGUMfQZImFPqkdZxnDSCZueLUdHAIjwtgIzqpsnZdmCVLNDsucRuvQqaCzjhSJLMiZudpRavJqHWpoZoMgWdOEDgxGUuzTVKtOvtWCnbklnmloQFYExHwnOHTgOCCnKgUlNXYzwQzdLNrlboGirOCJQshilLAJYyqfiSwZVsqCFPuadcvEWrgaBamepCEFxkDuvcaiDnPfXFZcvKNxcjAkwhxEpIrObMKXQNCfYNaoVkFcqMzHHiSFQcYrmMzNAYMmRLpxnOtQiOhTHzfaDbQcSBZzPmFEBXdoWbsRDIXYFoejOwzIVmREAtayiTgbozuNyXSTMipgHcQk", "bAzZgcjopSkKxzxsNihrvthgCpJdyBAdIMpTVPAKvbzGPyQWodVjslySJikOsvWsyKtaylznQvuPhoJPVBKyszGycRgEtfSJdDmVjWwSmCjgVQZqUSdjPtDliqexPlKDSjUxNZGnanbBqLNvWVtRqPJyYqEpbkuAYGKyMxSatCipqhTeBeoRGegbTAccTfGLTqyMhOtVIfMoSDnOZwFPfxOVNJLkifuMiVDxhZBLmCdMWURaVloSdiHMXNinbMrhVaLORQsFtUALWozGRIsRtTWMJcgbZmjmpMhyLACTJPkOlUMiHNVpdSbIEFyllEaNKfLjYHIddKCZuFaNcsrtflJIttHVFWvbxapjhYJVgesYlrZgJYTCGxJBnbQmweYPPMfxuMdSojhUpyxxAdQwWQKQXxgqHvnGDVSutSdrMeZWtLmkLLtFoYxQVdlJExfjhJahDdJyOyxEAqVMpHpfhEWrQKWYdUCeZNRDNyGGYGwrINYfNkPIfFuhVcRqYDjU", "leAtJOfNyFnNeZOowqGUEXPTAjkRzJAVTMujPocXugtmmWeRAAilXlABuRRxsibelbYaGAXHcDwNYFDYixHegaWeBctQISzczoHOwIZybqXwxBsjkmjKRVolZtrwNfxCVdMajzlDihqdUOfmKeVAuSflPejjbIMPpvfJAZcFPlVclpGaLZhzeAmwQKiudkWPHQUEWkoyLaOPHVJeHLFJFFMahXCeSetIdaKrgbKmytSvSWdEMIsIDkcvfBtLiDiVvHTRHPEmrzjnUIeGAIWcpZLLnVJkUUeFeKzFAeNnQPxedgMxGlGthpgeVRPEUeYoOeuAvqxqBwkecjopIpXqrVWPVfzgTopFaNACAFwjcZLSSTradxZiBvWrPGdfxnMpZZlVsDaAsXllOyZvhqxFzcQzoKkQNUtonzASBCqFvThvGQPuXQbloQPLPhmlnzZKgvFAKvWMTGUYzIXhrXLjhbJpMtDsozQPdAzlSEBaiNqtXXNRCMyuOFUaNIuUBNEy", "cAgwOJGIyUOoxJxvfGZZBpcvveKmbhgZyoiwLueqtYOsSNtVSzGDalMhxGWWkzODbJNbEYLVnqyQqVjEiYgJedqgNruHDhJMDMxfHUwKrORQIyrtzObnXOeWvBcVzuLBOpuiWXWwBYUmdiqcbUOMNMGbdwGvThVBMEqJcPEGsHgugNlxrryNIGpokToYAdOOwKmbEtkMEENOvvwWEjaKqrEBWEshrNMpBjilwmUjZWQlQERESwdhjbPCamBEVqjjWQiWPmbJaqJSeoZLYgbufyOKeNtKhUfUWctYAeMabNtnCpwkOjXaEynpNdxmaGvBRwZMoyZWEgtVHMrGVLWslKCFFTCrbqZhLVXiOPQhCKUBlYbWYLPoDcvVJOHjkeqKYTzriutyGqkYYajtEAxfdOlprLQZpgmGjXfxkJXRafTElsjxpNhiWTGgJMRDeliDHqCQGysfCGbeQxvkqxAAHXHdJHhSMZHeexFUCpdgZqmQcRTsJBdOACoIzopjDDyb", "elRjTOeGQoADgtAVZRTOfrkmdBKDKDLADtDcCnKPoopMGfmtrPEfzsbtYvyquXrrtLMTQlJlyahfqPkwkuYriVxjpQyGorZpDpBiVjgvohqThsKqJCXAnCKvtqhFFoiJePWMLbncnhonUBpyFyuFWaSAtlfHeFdzllZFawroDEezekbYgGuENcnYCOjuEYOGGlJZTkdOEDIKkeOUsjfVGycTUiMzsIETyqcWlDaGKJVckLAcOQcXUNHKCkVbNaggwSMrLpHNBnGZrxmMPgrxNklzyHhjErYVEVaCVoQuHwauhyKUOUCLaIkHvHQFcHCUyCcapcchKPXyGkSFadQYBmyeJEjONoEAWOWcLxfkEPWzblTbJdVBeXAtoiPPFKOpolvEpkwsUdRrdSCbBfcKnVYaOtvyDOBFcWNpQmvHXGBlRSRLEfjfXbJXTDQZOqpkagjeiqZzEpPJCdHnfFCscCtgeKxXwlwNgVLxsVZBnjlHozAzUyAhkArJOIyimGtK", "RaqCjwZbbZowfkMWlLXbrFQSTzVlNCjTiZEHcpsouubnCUnhKBNXDdGmTQsookvSkJXTphoNtdnWSShzQfBhwLsTAIXlSLhVIaMSYWEMvlVQMwqrNUWgowPONeVSaswCFbcQOtFkGoCHNssnDbDcredueCVOVbcOnqYQEywFznqAeGOOyAozmuLCOLpJGgejeAqghDwbIMprmXrgMcDlxbRUMStNqvaBcwlKXkzMvoLkFVygOzmHQXwwJibiSqURjyqBbqhzOOJbFsfPJKmIMhougszdiykoycEWogLRRWSwVQxgQCqmDNPMZPDDzwjfPiiDeKpwopwwhsMgpZbzjgLDGfHJXIEgaseuZSUxavPgaGUdTRxKAKGEHrzEnhaPptLcqOXyjuxnSQaGSefxmYkUdioHATOCNpZTPHWSxhmslHyZmECOFUoXMZjpHFDDQgsJHgvvQBmCCmGLbcJFFveLMVKrTTijUGFzGToBgNIZFvtGpclzeqmhwsipTEKi", "tyNSkvzxEfSixNxYphnasfHEWSRAypbflhHBYWBVVYXaJOHWkxDtpuhJDxIWDaSOkjmzARslpTuEfeHxMjoBDuabVNSizaPhxfZiBSXMRdBKQcHRYptHuDcQeazDYgVDToEzBGwccRpNztXRsZXUHnPhtyvoCxpldVGZDfJRJoPyhSIvOGlNtVTHwJnFKsVuzgoJGLuPGYYyAPeJLTzYfPFndpYUkZLKCjRyyanucwdAHAoklpqwiLyZkJIQjsbLDxgoqAuwZCUTXlehfUOroyGTMUILlsfhmbLcPdlmnUTmvJKmtOFdmLIxcDlSRtKbQoJEzwUaAyJzVNIUobRVmbFbZLwFNymvUPNkRJdCqRoEgZQGFAhdpakNSlNZtAUPVYmVvEAAHeaoocsQOQhHxZgENWIXBsLPrcznVlNHHILxqFdkIjpdoeidXAzwjRGEkMQZMyTzNxAlHKnFGRlWHCQpUCKdUtUIvBbOXoQlDhsbGnMWBINlDHPYzRLFkviW", "KOYcufLOTTKePitATrbfpwqagtfrfgIzvTiDsfOGjSzUukYpJlzOZamuDWtxfCXasPyHcnvMrQGpkRGQKAVLtHkcvIXNTorbwWJIQdqqvGEAXoXzKetoEiGPayyqHWOlNsribsLAfcRSdUZSdLLbKyoWQescjJIOTfOZUYoUMwXQxOcVlrkWYbfBubNrsdKDIymGNQNQUnubJAmRzXMscxJgvTjOaykUsdnvhgRGGiFqcLMxSCLdprbQmXxCEBPJyxYzzolicaaRXCrWOdxjjbfVPnGsazyKJabvAIPCqiOqENSDaKCEpoZcCclvTbvZLQomPKnnVMfTtTfjYBjZgdkBIlfRANuYeMKvZXRQbJSASowAMVVqozWlfaGTHuJSufJKBddubFaLlxwGTMdvXbiyJHMotjzWjEKYDsBLQBkMOmKEcmVAKnuAedPozZeadHXvsWsjyoDGkEaGKTrdTotlQhDMVQGwJHLsiGPiUkDVpgIsZUyUUZMIcrIMFXlR", "jWDGcjDTCPTYEpcQyMarXHOBCidWVxqVBRyPYfIvRIAgRsdiLauVYUNvcTiSCLiELkAvZfLgtMrVHoSiSrqFXkenuOtDoauuLYWsgyfkiCjQVLXIkIrXXPbhyTmgcKWIILIYGdPDXCBdIRBsMlWAwTpALgtLYJygppakQYlfeMgHxzGzPMoVEexvXEQqVBBCdUeAfhIIeKvduQJLPRQFvcZMMGVhjsNoAUzGJrmimXfZbApQIkGXCWDpiGGLoAkxkmWupPFbSdHFsWCVynmJlfDRhOcFwdljOMeXjmwKxEytoKNgVOupDwSBhgOsyFfkvQQrUouLhYTnSBXqAAxOYHCjmlIkvSvYebAvWJnleglkFTLYoqhEBqProfjgwXiLPNMdOJnwzSjaPasMcFYraXrWhRyKVrUVHXrzVAxoPkmNLReDyLLSjrCNzXMtjjYVyacGalNVGHEjLJtFIRMLUuMEIYTEkPSefJIezTygIPivFyhdOxvirttLifcdIvjk", "XUXTPJngZyLuWfpQNUoCpzeXDPELlpADcNgTcnxpAZaYeMlnOzbpcciYiJbGdCnqBtHplIIrUfNpHqgABKqMcTtgdzWYHEiPYYsVblNxSFrsMNTuVIoppAbzdkcBdRobmNQShWoCWAJItAvbeFVcdaFKXgenHtSrlwBnwbAOymNOLLGYSCCjquHMkgxlYrwabuCWGWIdOSfflXuNSWuMUEYCuNffoWIFypADIkmTPneCmTCEzQWtRrwvaAjrIzeKfBvOFYnyDrxTlAXamGxBmRhthyCCJoBVbOyuBCCRtjbdeWhCRjngKnkWUUviVvwxVFLenJPCHDsSISpfqJxPGWEhcyXoJkTFKDiGfrfQfuIiSMBIaNvbtVLsEcsfaWHdWiUTAWoMhIEJWqOYTZvmyQsmFLcTOLJFSWotoRknLRMIjdLEaridxwRRhcUbVITdJoePPEvmMBbLBwfeLVMXhvAjFPiWgGsRwWJuUuSisJvikxtJcwKbAqBKXBYOOLsb", "vGMyTvrMEBRlPRoeUfcHiYGeRvcaSkFTHYMwTmPCrnisBaBhQFwEJoXmAXVgyHAzVTtEhkWksaaOwpKuPosZtbJIqYCcOcCzYHVaUXPZNxESUwKaqPbahoaCNDDdxHQtTtXDzPnQRHqjCDgteirKIuPozzQlKHcZBNbYeBvyacrbKNfdCTZZUJuDOHSIBfqTQxhHZEZSuHTtfFZYxtCLKWQzaTvuiiHlNgWzOYcCKpEUMJBlhwPPjLSpAqzpVvDfMDXIbvGFNveEwOlkNYAOYadPZbYyqlmEkVylQLMANpDIrMJDAuiUMbqERoZdWBOzISFyHceIXhVgKwfeUwHJxyZLxhIBbTyPsBBgZuMPWqXFaqAQiocmoCBaGJXYpSRcsJzBszLVjfjKVHoRtCitsOTTRPFyZwsHLzgyzHNVOUVXWQkQDVibFAEzqzoJFhrQwCtzEzcsiUvMkfDGLnNfxfgQcCmlJixBymWxIJJMhIaPwrrsyunkWlclZtFLrAfZ", "GOZclXhnFIRApTfdsrUwedsytftmCwWdUcaZCYiQGmvbMcZqXVaETdOPrIrjvwMGntRUGOFMMEwNpuMxDafwOqxhaeywlvNkaWrBtmUiBKyJMngjhSDzTxdUMWXEKStXKTtNYnfzKruNLhBOFoLxYmvMcaHYbHFjfjsSPUrRwrtYmSXNUjhXfpofWfaXDvFVoASpxonkRwXKqpxYNJZnAMvOPDsMywZhzudDaRRQrMXiLfJJHCkMRseFSgwiSWEMOZtObkTnzlQdtWNuywESKkoIbXCQqGaFJLVibAbxyDkxBXVJloMjtAXZVpXcMzuzSkLBbhyoVCvtnGgWqudmIQPtRnqTnxzZFhprzpSTkESAEAeFCNeNVpyYGgJBWiiZaahdUtiaqJxPUvgsGwODPXixCdwlIqERcStKXgBTCuRkffGfUSKTLyCvDEBiVdSpCbaTgsOCgGpcYvtvSBVyDTeMLJFGauBBmgYhpUqPQoEdSVrkuovsTFCBeQcEOtrq", "qKglyyQjDghjvMuqCCRwBqZYmxfzDlpcnCKvFBrpATFpYeXUNCYUGQjglZdSGAzIegHtZIQjxtqxkDzFjsABqRbOCvDKjtHAuNchEHVUgDLXAVctSaoOTrBqqIaiDcStUJOuLRzhKvbnbPvgDRwPWpnfSVWORwCCxCziAyrgCfMFTpiFRxHlJOdanYwnUrySHoZikVvsmnWFoSiRXubSKxamTkAfscYbEvHzWdILcsUMFuYJmpxbJYxjlknOOnRVCDiWDlvJALcYSvBttMFxourUiNBDTCYFQGDwYPHdWdLwLrGhLSaFvDrxoUMNgDbNyBPvpwqdUZLGodUDAGdReisyBkOJZgUiSPMtwiHlbxhwSXLykpNsciFwRUPbOdTkYBTtynHOUVWqEvMjuxDuhCVjHCskUaRRdteLkQmicYbkarjrRABsaDAUOYFtEpVhVtpqKIcZDIXWFtxEjzUFYZsLSXXbCXMhuHioVWXEvjlTWvErfRvNYpCalWVylLfu", "OibZoPxCMBhLrAlFudjQEYikMHQzsARpewdFFwwodSwgakDgBHWQDAnbaBDoXwtADVcdMhCtjfpUpnoeEfQXuXGWjTGtdKNckvVagvWTJKTsQPVKAVjLIxcGQhRGgznHoCSQUTDbWxdqueIVRUzzHPxgHdKoMHLNgVkAzCArgOALnLYKpukkZvuzcwijuXiCQtErIMoyIosknMrKPhUnhXOEWpQFmKIdYgbsvStAZiocCqznZYSojxbRBOwqzLLJdxlZmOPqLNVJyWJOnCuJJbDeQnDrRFBIepLuNHAuNmYKWWoDTaWGiVhEzHmvRSLTbdYiDFVikUDOZpktWiAMTLdbhRpeNTodvPmhqhIjPeCntHMOwBOSeTAoYKCOATrHiSOSgOUxhQFDGjkGgrZppgrARIqOLNrMEsAEolxeERFcawiPOhRoDHdSfJPrOpigFjIzwHmERcLCXLmdMrvoHWZifxfFwYcFCUcZHTOmyynZMlfcPuwaPZCznRNqvYAs", "wDBMIyPOQWCKGlMfAZEEFQmrHNjtRQTpRYGmwVqQIPDqWOQnwVMUFGRhaCAUPHMYzTMmaCogSrBWNhTpKZASfpZvVagDviKgqIULkTyoJoytQTuWqKnVdqZIzLsUYBctBWAhsAnEqzQVqeycsGXWLzWLPptySqppyPBmHPsREMqPrDVqAxzOsVJPZXRRkOZNvGCdABCZlrJjjuGUaTDLJFCdOnGIpUBHddfaLHhTSSDwhLrpNsDTSatKkRVfIviTVamSAfzCZjRmjVzhgMVEVBHZGgaZuJgawADUKHPaAoWkrQAStvBvkLVFqwhhdWGDrQDltscJceMMSxWEXjgYmMNWrldkiDhzWsZIrrbLEBqeGnQhkCRjPktzvePKxqhMWxESXhsTjHVRZoHlfkTplSrpNKLfvHpSgLWZmxVpYjYRGJYhWMYlNyBIvvGPgIkKPzNPdSANvIMgXheceCfNHekyccPQyOAVwmJTukwtVEZDEeQhBFJZYBpRLpxuelKn", "muCwAYdtfkAeEzJoTLdfWnqPdXJijPcDuVagljGabKrnXpinxjAoLtJfuPltTHjeyHyaNUGAjNeCtNUiYOySoDMevuaEYqJcsLPLsiEvXTgeiffnYBLARveMRKOnUrWsFtwxlRIoOvcguMNHLKbvlmjUyRVAIyYJyUsVBoUtFQTaARvvjogUNBXUJNyvjEFRNpmikjvBBtOaErKiMcFqDCLFgFXweyjPLQxsCwAgswSkEARWwuhgmiYuCUJxoLGBvnxrpekXlALQbdGWrDwbvfHrChNTDacjzRCZifsQcaYnqnimRwyHsfffYMtjBztCcRYCJSDUvIhsjITvXoGzhiWgSSBoAayBhfahTDJbnNsKiTgkmdYFEMtfDNxTXkcEpqOxyEWzrgKeSkzyUadGRGGclUIiaAifGoeaNTvOByKRFnaLVSFsxZNJfHqGRWMRggPhxCkgeVyiGOZMCpAgNdKtUDsJgFhJOVFTgvLByxuJkJVmlAuOzvOVdCVGAoII", "MBiilVrTtzGampYGGHLBHUuJBIhPdsXQBrDzBiZtYXDiiaedfXKIXsTHdFiqFLnKZykrvPkkkvMfnSzBqcSAPgryrhdXhrymRoIEKZaojNctDSnHmuJapJhgZMrSqRhQcsZHULwhVtpaXKSLGrUEpQUtuySCJYHtFixEfKfgSKbKYOBjyWEtGAgiOiLpiqKVjuoaVkcehgzHVQWPLmOGqWrRTsVIhbmqTzfoeLWTwtCYXCpthMvfGJOCNbUNXggicqcBCzOcPSlvkKETkgIpqEseGmHrXDLMpNfQcphPnyikkgxLyCChHgSwChuFZLvruhdPXrecGGJNlWgWgDowZTNepbDyCmyRioQheFcXJLTBGjAzEFykisdLcJejeNreZUlFZEWVIikiGmdHRKrdRjChPtbcIjqLqTHnzLBUprEhWLwgdGSxrkRkqYIwtkxnLxsDmplWnksaWgdJslfwlPprdFCuNkKkFUomLuHawFBaRcWmqwYcrXqkCNOwZuRZ"],"c_map_smallint":{"c_map_smallint_1":28762, "c_map_smallint_2":22529, "c_map_smallint_3":-17611, "c_map_smallint_4":14606, "c_map_smallint_5":4052, "c_map_smallint_6":25804, "c_map_smallint_7":-20733, "c_map_smallint_8":-28708, "c_map_smallint_9":10427, "c_map_smallint_10":-5345},"c_map_double":{"c_map_double_1":3.2090448417524327, "c_map_double_2":26.122688696737853, "c_map_double_3":97.68475659634252, "c_map_double_4":9.981176414909806, "c_map_double_5":30.60491495952428, "c_map_double_6":94.73339814101975, "c_map_double_7":60.88461971535008, "c_map_double_8":80.48508698999981, "c_map_double_9":17.51145338513946, "c_map_double_10":16.848158703634443},"c_map_varchar":{"c_map_varchar_1":"vtKwItZWutwOJYcdcFsGEWJLmPvfvOdeLUPrmxbTcwBmWrGFAWJbLvqkDvhtEoCQJJaoDcEbIybUWysDXXjMMnwhNgJlBLWDYNDEwoSGmdZviYAtUhUlFGUdHyqRjLAHGqdxTgeQfmrWNLMsUyCFUziQuHkjEGdcrEGOvZTXMbalDYJpmraGtEWByucxipzQleNRsofrUYNeKgUXwZsWbJwvCeyekrKJXHivYlOFRUyHhLIiwoIDAHKCOnGbjAyu", "c_map_varchar_2":"tDIcnlonYfwklAbqoiYinKCgkiBviEXKoqegJjdhnOtTsfKqKAYdeaCUjhhnABXMvZaQikNEEYDstBqcYFgtZvGntLEwsDlTWvxJParVifAnxapWbGSpXENoWCxCJXhAOgSzLRNQrpcYVcEaHqYpWamedspOjaAjTciBjTEUKzouYvcKlnnObLZKMorwwsCrbroLdyxywLDelEgGojWeCEZgSWJgVrdmcmeNhXmnDRsJLIQnCYDPszsWMXbkEsoJ", "c_map_varchar_3":"scmQjCRKcRWRiPVzPJhUgaBfksFmajwNcYlaQAjacvPNJbkyuKYPChGypOTEwNKayxIqJJeJkHbslUfxAdpRXLiCmzYYNMLZNYHMHogOMKengmIJsdOPAOEILCJYuarmQNiSKXfutfXAVnUGaFSKMxnFeBndjFFfGvHkaSFYvmuRrXOsnGYbJVKPVZoqPAZLkOQfRuanXSCzhmggumLSfjfQaFMsaBRfttDCqAutzqFygiLIPawggqwBafpkZGwb", "c_map_varchar_4":"eXcwTXJBpDscizOCmNtnarZVaqXjVUZCdsHZrdpdsocRZtCSALrdeFXqXCjZIZqBvMcoXOwwlQVOIKJQlBGgOMTVRwEirYipOknmVCecfbwXPeixqTFCnifRTxKTPmZrsjbHLQudTiFXcoFYPPQgQKNnVFtnZOtEBybWPjmaQwccTMkefXwoZkedstogQbfRzjvKYOQIwShZzYebsWtRLikmCQQJWaYEWKqFTDweEoGPXCyHbNekhEoOIItYKbIg", "c_map_varchar_5":"BcenRwfLRLLflcvdvupibDALPFnHXVFCtiAJPTKFQEwWhsbrGUlIImMFLOkMbSKLFsXuLjjDcZOHWSCICoifNsleFCROWHzyFvCNCpgpGgDDPRDsdasHoeKUefPYxeWPgpeYjqWWbzfgZNKPtodpgOJexnNeWElALLhYeKwWNBsUKqAPQJvMWMZcvkTMCXkgkKOMVAmbtuNogQbAiJwXXfvICOAIUputUYkbevRLifrlIQXbiGEwfBjBPVcEBAcI", "c_map_varchar_6":"ekJhZZrcrMtMPnZVUswteKkAqdTKqpljVwlwNUPAqBVPdbVWgOFNKHkjoQdpJjRwsusaCHrWbdNMkBouBzTGEpKDIVxKuHRhTgLlqbxYBPQSfpjvcYRtSizIFDjNLsEDNxTRszjctykTxSxAYZmEIuxquuqjllyfWIuRYFUoUqxZFUqfXpozRLIjqRBPPwgVQfwhKzbfivFgllwUXDcXLgjUdRjgvodcovRybRGbbdhxRscvPiCnjCEEnJvbBdqP", "c_map_varchar_7":"EuVKFqMOykVqFqjRYcXdvljNViBlMAZxalVrsswDAckwLwHMWvZasGdBDMvryXsvYjPzqIRJAIObeesLiIJMWezqlhwkSYBIeqrriuoHaUjIKlWQSkSvzwXJKNOANeCrrqOxoOzpPHoIeCAOSpAQRiBsdVSyorEXNWYTXZhGYkOEJnvJyxiugegnxpSQardMxDMMQIJJASTDGiBGYCCPxovuZSWDNeunlvzKFPdQvNVDwYkiSZMRiqqsnjjvdSOV", "c_map_varchar_8":"FOrnwIlAXrVHmZGyCcylDgiDKFpXmeUZtBMeImZdSbaYDapnLDcfLVlYQxjJDiysynafpHOKiLDWgcqzqWrOBpTldlICBVsjqfiKmJUbxzZoLcGEUKiwMNlmVKGJqjQsasWAeDIycdJQvurpRBmDDibSmprtLAuNQHsOuZHRHImSunjXTHyFWqMPrxgGJlNzqlqnpPJQUoNPmMDEocKGchutzgxLsNvfJBOVnfqcUoDMxfqtotjCdoHeMLTorvid", "c_map_varchar_9":"rpkINmSXpswGOuEgRMoVMePuyZeibinUafDQsfxYVrBKCnHaBRFfMfnxqJDInenkMuTXZlVxuAffqnbXxMCGZHUQYzmJLUArtarwbisofDrHZcRTCfmsryyBmDnKqiGnNTLQusGtjHozkaeLtQmrjkOUxtPNoWfOEzuSaFlcbABNnUVsMbXGXGmSmCkdIBGEeMWVXbZmqTElAKySLyUbwZPTpzmSvjAmAOAsZPRSYRnCkjOjsTJeGRzTkIZExaQW", "c_map_varchar_10":"mcMIVBXDKlRABlVXRcTPSpZXCWsahXOqUDemOBnwzhBBWmGudBBjNTkuCqMtjqRXzTxTkVHwRxdPmGnXhTnpWEPYHppcLYpimLjBpxrsQRKOpBxnrboEVhRDWkJuGKuHlMJisStcUMxhLVYsMVdmMqaxRQEhJWyOzfVqGJMQauhTOvFLTOLDcMopnYbtinDGvLACvjURBKkzynWAuvXOVXUalyfrdVKSwuLrohXQJbeZebEKmdgLsvrIfRsyVtmQ"},"c_map_char":{"c_map_char_1":"pqpcIWodMr", "c_map_char_2":"nvUihoEnbp", "c_map_char_3":"xoNeHeiDuf", "c_map_char_4":"QqGdopFPJN", "c_map_char_5":"TlPIvSWmYz", "c_map_char_6":"wDnZpdjjkr", "c_map_char_7":"FtOQAsrRRo", "c_map_char_8":"ugCaucGhuC", "c_map_char_9":"OEPTkEOusb", "c_map_char_10":"lOCUzreNbJ"},"c_double":5.951237290173152,"c_datetime":"2002-11-13 21:37:21","c_ipv6":"b7a4:f3b3:3d53:a42b:60c:688e:3dbd:a52","c_array_int":[-1661037052, -541146910, -2021465020, -1578143083, 910925883, -1942825232, -632978317, -1154580567, 786933909, -495294068, -836434617, 1322944935, 686353507, 1940180144, 880164973, 2083444159, 340877203, 1532041757, -150105331, 546881104, 1736011728, -1028174736, 733579467, 621810985, -1895516779],"c_array_float":[31.888361, 7.6753087, 7.6653876, 15.32967, 4.011682, 52.398525, 1.0811492, 27.868015, 100.009026, 70.527016, 84.765236, 13.634928, 75.06518, 63.136093, 97.54525, 78.25213, 44.93158, 34.18079, 42.60366, 70.43829, 29.51417, 79.380455, 19.9395, 81.37245, 15.654843],"c_map_tinyint":{"c_map_tinyint_1":-40, "c_map_tinyint_2":4, "c_map_tinyint_3":19, "c_map_tinyint_4":110, "c_map_tinyint_5":35, "c_map_tinyint_6":31, "c_map_tinyint_7":105, "c_map_tinyint_8":85, "c_map_tinyint_9":-97, "c_map_tinyint_10":-72},"c_map_ipv6":{"c_map_ipv6_1":"ca87:3145:e7cc:ef05:9484:8f26:7762:bf7c", "c_map_ipv6_2":"a936:7cd6:a043:17c4:d4d8:9bde:c8d:9409", "c_map_ipv6_3":"b547:9e05:9ba2:9eed:4fa1:4f9f:c356:8d06", "c_map_ipv6_4":"e968:ee49:bcfc:52c0:e75f:6881:fd3b:d53a", "c_map_ipv6_5":"efe5:4096:3f6f:84ca:916a:9c79:c273:14fe", "c_map_ipv6_6":"d7de:3f9f:e3ba:655d:76ae:fee1:8c91:321e", "c_map_ipv6_7":"696c:f828:3c71:5872:dd2e:338:febc:5778", "c_map_ipv6_8":"ed53:19f6:589a:4819:778e:ee43:e53:b9fc", "c_map_ipv6_9":"1ae2:c834:6f30:390a:facb:b537:3bf9:bf2f", "c_map_ipv6_10":"9661:ce4b:6bd7:fe03:393c:295:a463:fcbc"},"c_largeint":-6867019787036895829,"c_ipv4":"122.111.217.217","c_array_double":[4.6621709428746225, 76.15094876924057, 10.42949380458545, 34.88266857558584, 10.061081057772375, 31.86051855657569, 75.18959793334375, 18.94087285571787, 59.130382411677985, 25.326512125596032, 43.70800949408234, 49.62891230239521, 98.51181329561847, 21.697637184556132, 60.46586867590343, 93.77133830523341, 11.683732339557247, 25.618775087460403, 15.165672492487413, 23.720924498513142, 25.291902545605105, 32.997567910568165, 85.87299906230538, 43.79079769226435, 20.79463321902025],"c_array_ipv6":["ezKyAdigjL", "xHHUWpkHFo", "FUpZJiqcaf", "emSMWGyeJl", "mCeoBHVGzO", "dFiOkClTnD", "enINbjgkvP", "hJqiKihcvd", "kAtisrtRNo", "zBshaSYZMB", "SAIYBQVEmc", "eLITQLUtOc", "BDIefFOzME", "ghIgNUVvgU", "vXBUiLlmPY", "GnGlEwXxin", "qOffewZfdb", "fNyVbBEseH", "WuwrSOkjZb", "MdpMSJmPvb", "gsOrQQWSQP", "rOcaZZlVmQ", "YIbfFxkTrb", "ltdPpHQrEb", "wJgDTbhVxk"],"c_map_bigint":{"c_map_bigint_1":1169453387761012506, "c_map_bigint_2":3558129078327862219, "c_map_bigint_3":-6495207419790346501, "c_map_bigint_4":-5152245738646862898, "c_map_bigint_5":5615550066441668571, "c_map_bigint_6":92652375071756618, "c_map_bigint_7":-3054917758328031889, "c_map_bigint_8":-7848439563021749491, "c_map_bigint_9":6152913222430030122, "c_map_bigint_10":3482706402815508563},"c_map_float":{"c_map_float_1":86.08095, "c_map_float_2":94.63764, "c_map_float_3":63.37013, "c_map_float_4":65.52103, "c_map_float_5":67.58713, "c_map_float_6":99.08865, "c_map_float_7":47.87827, "c_map_float_8":18.402306, "c_map_float_9":49.962414, "c_map_float_10":38.584885},"c_float":24.792318,"c_string":"jREoGcpSSGGUSaDGSUQgkTubGiQqotFxQtjHyAPXFnzggMnlfCejNYAZKQAyrTWMMvaTlUQlaNjWbOrMnoOTHOvIFyUVYlzrQVURwyAXfYFKsBaZmUgLuCTqruNZZTRqIHTntEfUIlvTcGLwCmkXoUnOAvUbiZZvbMzUxkMqdbqDfanYuTcnpRILtAkGemKvGpbYxHSsZlsCiwbmxLcrawUPBWeYbudLddqlSVLBbyyKGDPmrICwKnBGzzmoPGwNSviPccMTFyhdogqCMvfIuhXeTIvEvNZOuVOinVLTYcQocUTODstqRCkCNqzhtOgtEKKSKzZjdKRaOhrqaYlHIuOQEKJHWIagVqWTHiOmhpItoaNJYTgbYwbCYHuuLQFMsrAxksNQqlBMZDlINtUEflRwFLvSMzzbwEHmDkzIwrujFQFhClyNetXjeLRRpQwatbCQYnyKvzYtkyNuiiqHHjdrwTdkNFwKiJqxoejsmSIwApReldTteTDUikxvlapp","c_date":"2013-06-08","c_array_tinyint":[-96, 0, -125, 118, -9, 58, -48, -2, -28, 42, -35, 60, -63, 99, -82, 11, 1, -82, -79, -16, -7, 7, 45, 41, -39],"c_array_decimal":[66.0100, 24.1854, 0.1485, 78.1241, 7.0076, 90.1642, 18.0384, 86.1462, 79.0885, 25.0836, 30.0039, 99.0263, 37.0638, 82.1349, 73.0574, 0.0170, 8.0751, 38.0799, 57.0755, 46.1812, 97.1938, 21.0471, 72.1755, 13.1853, 8.0000],"c_map_decimal":{"c_map_decimal_1":74.0055, "c_map_decimal_2":12.1483, "c_map_decimal_3":86.1863, "c_map_decimal_4":25.0445, "c_map_decimal_5":4.0394, "c_map_decimal_6":56.0120, "c_map_decimal_7":32.1834, "c_map_decimal_8":56.1724, "c_map_decimal_9":14.0831, "c_map_decimal_10":62.1510},"c_json":{"pasttime":"2024-08-30T07:01:40.220494+08:00"} }','{ "c_array_varchar":["DGIOPGOhNylqfFjtvalRMMBhCkTmHoSQTArfRtaydSpOPwUOCWJOMgwAUavOBBIWemoWDAxOBSUGvydCGiqqNdCbxlqTkQrPhHdnpTmZEfPxPePjGNbFcGfNdzmDXKYaTVAmloOGzqJtfUdcZTtHqlyCrwzmkCnzYgthgooeoidrERnRDUFIwaouLuAnGeiBifYEnoTaaLvxAcSiEieIgLSnoyMGCQXJkxdanhfIwaZlenmHIgdvVwHfxPzxUIrm", "SEWQBMRqncWduOKAJtGuoxDjiDeXZyaRqCEltVNaBnwoaBKJmFMKdCrzEHGQVUcUgtdQxjAkAJIZKnrWeUTNAmhXHYIvlbuivNjveZkdDNWVoOrTmSPbYIynKaNBFlRYZGuPsXmEpNNCHloYQhqxiYQUyRUSiFoBQoCHdSIsaTNshIeOOYUixkiLNcacPiDEVmoLeAVdTuNyULaSKJrHIXCKPhYcImZZwwUeEhuUHZkhOBxFeKfwpaizjUmQwCWE", "WQjQUkCstUwfkmMhMSCrRQwqKpDkonaxVwhoCOGCxaHEquyZhRbMCISTVxGgkOjEPPtDSNHqNHoImSUoTMzcKZAZFurKgexzIrnByqtTXQrZsdTQxyZDmJckPMuDctdTLUIhdBKMDSqrpEFBuBxxxmMGFNVbADdapmcamWrOJuDRfyKugKGzcXwnnqTsrYbLxYMdctfxJvrIlhYAkYydArVzGxwpKjVQYkqfolUrPygUDzObyUSrkdxyeKmwFcCv", "otCKtZIeFBQBNyxpvMGJKskEKYcqIEmIUONczazSpXtjSjVaxRJhreApmDGdNZDEiUsyEFKUPxxFAxIjeQLagQPiBtxRNRIJZbTitLyhcVWPxqztOjkJkHDHXFuinvSGyvHvLkpuxwMHRACHClRzWqtshaJtCEbyChmpdWhGrGVyACSBABAHngCEUejGqzkfErwjhFZRxPwXezNclhHdwehJMDaeOfViJcVHtwMHcWCZJmnZnCVFtedRjkpthCVi", "UPOkMqxBXurcgwTwtFBWmWeXwwqFAjzfjpqLNnIYZgIoWPvhXXyHiAMlEcmpLGsayFdZDGrKsFlkNGDhKtbrJPwrAuwqVSvMpkRUTdRMThdGNOyZhdTGnpgxwWiHIipdyskSzKqXwekbkfBaLyToBImHHXmFznqEcHEiTHgmOTpQkwptmORhTPzhCAJfNwqZzFaKZkXiNoZAlwjaXpEnpkNXNiASskDGjuUgYEHPCQDrdGZcRGuRyQjzGMbHERLh", "PEyIXZYOCEnEFPJbTdENapRSsHcoZMKCQvSRBDqSqKxtZCEpjMkdbVoCqBEagszJvbaoLQLHwspHHOYWyyCpPWibfChfiONJbleuQKiliGfsQLbYrjKYekcrFklgKGPTAJAnexTMufIpmCZPrlfmCbHhDHmMSwSKAJytFhSWpZaknlWDCLEgXrVQiwAhlkFxowrmsnrshnjjJKojMplWCkkpJUPNoynWdczofMvNXnvMNPHrXuSElcNLUZxBkbnv", "ZIXUseVFlPfzthexvUotEaRDVemoxLfBEjQQwwHfGjydDHeZnkFcmXTXHJjBPMOzngCrLpKQAMyQhyqyVsMysOkUmeLdABveYDAjQoOtOrZeVHiYfPiKYiwXDHshKYcFFxEoGrWoYhNJnbImfUttOkOAlmwfdWFNXBtAhZWmuyaRqgoeiOOSJYtNEQqzExlJrVGzoxWUHNCBweOYnSJtJZRiyQlfGIXbUCkixUzNiUHEWcKhFHMsBeOQpGKAqamY", "mOOOlbFjgricOplGOrOykfRqBIQEZFyMGhXDHxURUsUSDmUqtxkyjuyBBwuUiFHeYQDDHGpFLHRVBPayADhAHdOiEXdmtkZiYYLpNsIaQRpiyNUqgozYBsoorgYyeSyrqeLgprcvVKnXXMXRKfCjNWaYwIoGaHmAaUUlZuWWsmeFMYDkVtIRaSEeEoyYQpVdAlUUmWmemACxyppkcGsMcZoAvcrXTJJsWGtKxliFDftrpSSbKznxpPZBLeefcAxs", "zBBgCmsHsfYxsctsdamPzkSoWHJixwFVcStswppspVFzIrkTQRatKuLIBqybmzCRRNZHwyDcBbFqWcPBHFjQssEWtJKvcSUGgZNGPzkuWAByieQCekGTcGpuZQEHUwcgWpNgxFGroBWmHsTIFFEdNspkEsqwGHeGQnhIoUOUSMDzUHaKxEqtDdXEHbDhodOiLmzbGyahwadQsWzQCHeiJLifeZZpGBNkFYdJRiqqXwckKNUAjUuxHuZagcGEbLDc", "eEenpsGrIxbVVlUAVRRyfnmDPXfuOYSkbOCbMTwBGfZkKrXvBJaIVXdLXwpjflHyqPQHubOPfqGKOVsRvIUmCWMBoDJWpAAZuGXmYtHXZzuFvATpExtdwgxutsZpYqbBycPCtypfECvrTSHXLtBTPWjJVtxxnzSrKErHSPmmNjKfLPGBBYpAPwiukchZTWPhPbEPIrIaZtaiwoeBttMfQztIkjdqyBqMjPzQsmBiWfLkmHXmpKHmlNtMMjFPeGDr", "hQXjboNNCjhpfWaTkOPfggiSPkkYqwLevUpHpRFrdCUGVdfEURymhUnuhRUsonNCylFFxOSylmdFcgmmbOVvtSvWkWhsQjKlbvBKecOGDSRqfxnjGfHQcuckCzTonwqWYyTvtEkCmzvJRiHkyEQnRhIhTErDPpsglurNZZZMjwUFuuUsbrEFYtCMXgQjWCGvdcvbrMDXdUzLHvYSINuwXFKIHIENmBcqAWVebzYeBaqkJnnozrnphrUonMdUFQez", "DWMgGWsemKrKUAWwKhEJYzyySgSmZchJhMDvRuSaLxEWFWwSEHXfZvEtLQpNkrPozHhznVXghcBgPVmsrOCnPOuPfLqCDfYUcLjCApIGyPiVhplWQneazqHwwOkYlrONfwTywLNvcjjNiGvEwNdOpKMBkfibAYneowTJnrRGjTxllXcYnTAOSFUeJSXsbigCvOVhJXVuUsTkaxozmmJfSJyIjqtbVqzzhVElqlqRuszWkEquvafqJxsBfNxJQonw", "GhPDDtNqXftFVDCuYKtXcaAPsXpvTRXHDwCYiBpzGuqQDacozyViFsCVngsjYUmzpQyDDOTJDrsAgwYyWrJvxxYCGPPjDmkIgxIbSQgEutjVxyDpJvOKXgaffsZYiLSVKinyUxMQFLZxcTBwmuUAvRiPQfeomkLBaWkMYKaFiYwqKwHCixNYEuRBjdGdXmRRIjKgnOmUZmulrNPTyirNcvjmOMhdYIokcwVEsJpPIYmGUmawaAVxLPOAbWNeaaNt", "koSUJLZrAIUPVZZncpCvkoGTkIsOGndFPSsLXQuLfjyuSzDlsZLOaaucSRgMsAUTyObTzviyRvdGUJVnlodAqLsGCPazrWujcqOhMYgENBQUJMNkEeBfxwmNZqOcNKnNZrwjQdFrGQUQVkTgzlkXysEIMUxVvRIGwjSnouNZjKjzQfahIciYNqULCCKSuWIUssBQMwYaapMQDzvbARvbgdbHzHBtFwzUTcjHvHkVgaHzdnbPMDAgPRmyuCqYkYzA", "dysRiYhfJEaduJggHjPWEhAjpPBNyxPmOmLlbRGpfgLKcYNAbOIsZrsvgBUXWsQXDJSilDDWSdaFQbCSJosWNNqxORBamRvFJjUbjjrBLqZEMpzpkEHXYgNdhMmbIxMxyJAVNqLxcpYnziqoEapnLAmIRIrZJjTKJVxBVxzMGliRHlylZrvpiKFJkEIOfkNiSanBsmdmbgECJGiEmxwDSJIraRxjGDyuuatAwztHluarwSrLYiTtDqefyuJMMwlY", "dQIiQOjbCSKsnBeIUrVAqSHCJaFgOwsFFHrBeTtwhBeaNdqPCGpLeKMDGHvJSEXYESeezsRBgqrTlNPGVKpURzFZsNtjaGfbeoahrLtPAetpTSLKcJgVDkPZnoxTrUXfbLdmBPZYOjiDzrFatRpOhnWozdXtlBMVxiWPFtNTvcCUlJiqWnzDloeFskUzAtdJVWChrMSMgMlqUkdAGxLONKBVBSnnBuKzUXtMMSJODsfjDubfJgBtZbWkowPIQvsK", "GpzZpDRMXprZvXUzbWoghbbhSmkjImCnPdiiiMLvcOmNmSsHxsFmZlvTaySUDaSXJDcCWSlerdkQoGQGCVCJZuOBFcacvIhgwkgWHseoUIEBfUZgmZdnZgJEeLomDGlDZJHxQxFhggNhKjUlznUqrZcfmGpQrkoujsqkqaJBBhCKcTlJjnotqxuEauXsJgVtkREdCJwGKwIVSGMQyVXZMCkhNEUfEHnOCBovQitBDksBlmBzPKffmbSanVbzHyKy", "uYDltxOvhvsrfrCUajWvQnfVcdovGmLBaiSZuliMjgGvOFqsdebeuRjRsniWqssHWuWyLMVRCMeXjOAVcWLWUMVymrTgNQTQPobIJOuIhZdNIpBbKEZtJtUZmiTPXcaCaZHZOALOsysCVLKcOinHspypoNVCCPMgHALtEslYNSnrGiirFocEJpBqYobudwhIXjutSihfGWJUhFwiedpLglLOSjNqthjQfopzKcimQYlBUPVkuaaXcSEAtIdOuWGH", "tFwdxioxqEIjxMNjjAQbzwcFjwSxRQTJuAmIyiOhFQmXFMjIlKnzDpwIokIJaDhpIsXBxsnjsVcGuEcsnZSIRuhRJkXWLutPoKnSfRlQdlarKMTbNffNagtUZOWAeVcGaMYOvczEWkWjDHrOSwCeUjKvfKdWLwKmsFXPbYLQEvKuDFhbYUxcMwiMhOdIaqCNMGysDmPzmlKRKkjgbbMXlVPyKKiusDNpempJnwrtFfvHkEzWRABGQgtDttJbArBC", "stSEmNtqmRbYVvUWnsiQGcuYPnYnYHnpBsLCQHRXmfsYTJWUpHhfwbgARVkYTirbvmCwDChdoHyJnCoHjJOvIhIvaEauyKQRkNFJqBfwQYtWkSjETzSZEWUaiZxJIekTzPhuPbZPpuSjNAjKbGjpIsoaVRjpvToqkOksXQFaWizODuTurqtOsLkDlnuyAOfAzACRbyXiIraYKETIDNdViNmICRypLSzkJNmcealLfzPNhZfnkFYAHeXYplwFALMp", "KJQHGNlzLGTNrTFkAkSESbbhurKgXARzyntsmbEhNBSgiKLMTmLoCSBwjfUQiAaqEDTRNjDSmfVslwZSIyjegnYVSjvzxAdotUMRiJCEUecbbpPXBRDBMCTraOZEWCUSutcpYtmsnAltHipFmTHeIeTheEdaZdamvsMvsCuxkjUcIkYYzblwvMtUxaQxYPdHBbLpOnLVLnyCUaJMIZNTpKPawyDXrhGobrypeurtoZdAcJvKznzbwhPrBBMOQsef", "sNxKLoCRQbxKHaaHhfjoOjFMjAxiASPRhsBtfEAGUpugsGBMZLrDibCbOBRTrMultzGESFgBrDljSQWpVyWwTYrAUYyjpMhWmIaUQahoeSfTeeFVApKkutoSgexUFxLLLGZZUzHucaIBlqeIxulKsONoBYzPMAtfqyzcBhgOYBpoXTkYGZHAqldsEnCHTbpKmIjXWGBswFQWInLfEHQiyALMYTQDXSuLZBbnDaTIJtEILIUIpFzIQsQxdZCgUwmO", "DftEAeMafjMwgSyQoISQIxClTPnEXmmqMgKfXMeIpwxBEPmQbWTFVHoCcBjDnjcvZwbGsQoqzCyHcCSKvBjQXNjEnpnnYSOdMDmYgNbLnpeukdkKdZvMptxdvJvIuOigHqdlKQarrUroeVSokWcmiEMdsZRfMAHSxOEWXQJXFCCVMHjtSSUpSEkxuBcMzqMaaBXxPwcRZPXcuuoriflUyLswHVmXXSjqodfnoBtejfBFaTWJWZuzoDrbrCGqVMNt", "tzRkwDgbKYCpXQFkVVDcjxlwqQlERkiGCRrnqAVFSurQkkyzhfZmseesYacVdwufpSHNgjskDefHugoAUMMqjWUWxpcXYbLAEkWxzEaECjYlTlvxkxmikvfacItncsCFVwPIUImhnajJebNiLKEcugRaqpcmGKpLKfrYoFqLdkPhjyYapfyAmABXHczNVWtftYpVtyEGwylxHYMeICTIJFlVAOucKOlkyKDFUAUWfDtIKEKKxIylGlyPaTzPBQBT", "mnyQnfENUScsUpNnEoccLVtyMxfcwpCqoRfhDRuGHvLbXrqMgSEKpwyfixvQDcdqrIkVZOxVGrYZwXcItyOIAmqsNAGHxYXFLVjZqGObisoqMZbhWeapnKwvCCCovvHESUCEmwHfBRDFXxtGQqkeMARNLmoJykzWminZRUwOdmqVrWsldBiyxolFPJRShCcfLtmFXCWCJuBGkbLImeNKrRBbITQhBuxCuEUoNdbYxSosmqYaONUiWQCGwHnxtMdf"],"c_map_smallint":{"c_map_smallint_1":23537, "c_map_smallint_2":-23041, "c_map_smallint_3":18084, "c_map_smallint_4":7649, "c_map_smallint_5":-26592, "c_map_smallint_6":-19341, "c_map_smallint_7":-25593, "c_map_smallint_8":-13498, "c_map_smallint_9":26689, "c_map_smallint_10":-20400},"c_float":39.79117,"c_char":"KqVZKhEtVz","c_date":"2015-09-10","c_array_largeint":[-2352271337746426495, -3043800193602628107, 8772607012622769422, -1195339298119386705, -4096293753857026783, 5805175506286347941, 5880706833912512620, -5535843062147282821, 5736445557340341503, -6120691955479466165, 326035479188727634, -1176485622524903909, 5265113721748622271, -4951612737357094311, -2904880502443360203, 2441944884585555418, 4016422284590756646, 8604491129843876304, -4809575333844717069, -4035169464453925734, -2505470914475578763, -9091125679904173359, 7841210397725692400, 762593924412064584, -2230551435485534423],"c_map_float":{"c_map_float_1":13.555236, "c_map_float_2":50.14682, "c_map_float_3":75.805756, "c_map_float_4":72.724205, "c_map_float_5":74.961334, "c_map_float_6":87.767975, "c_map_float_7":19.775082, "c_map_float_8":61.587036, "c_map_float_9":1.8459361, "c_map_float_10":85.892235},"c_map_int":{"c_map_int_1":-1494087577, "c_map_int_2":-1350090648, "c_map_int_3":2053497195, "c_map_int_4":886269434, "c_map_int_5":620032560, "c_map_int_6":-1080148345, "c_map_int_7":-1644548204, "c_map_int_8":-2082756556, "c_map_int_9":1688741996, "c_map_int_10":852730881},"c_map_bigint":{"c_map_bigint_1":-2096772558200071572, "c_map_bigint_2":-7297127428358324870, "c_map_bigint_3":-8473939529299066623, "c_map_bigint_4":1249308384605438431, "c_map_bigint_5":2896472658162681925, "c_map_bigint_6":-1915828975321352672, "c_map_bigint_7":3746998665272034428, "c_map_bigint_8":-9145020217483001990, "c_map_bigint_9":-4982094847883180696, "c_map_bigint_10":-410204852748479245},"c_largeint":-7019040062770449054,"c_double":41.515073894756355,"c_array_boolean":[1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1],"c_array_smallint":[-936, -28928, -29669, 18610, 7777, 6866, -14275, 10064, 4886, -484, 19447, 7750, -16771, -7590, 11431, -15303, -3257, -11884, -10655, -31339, -4593, 4980, -25791, -28077, -27070],"c_array_bigint":[188407840469876945, -7893355778822785297, -9123668776318132371, 3866119814496870178, 6059542496649612911, -2852435762024581954, -3577497931583645376, 1897359790770076876, -3603643367633969061, 8259462777453025673, 2975064420383837767, -4388906410305744241, -5898917383204581954, -941574395793960869, -2127728521850166086, -7306523704900190363, 5882667217159164552, 3758849291403012228, -4642747584349405314, 8386706270694854700, 2559082586061497000, -120177161085766513, -8878444108681171628, -5822729311481344503, 7609674166297546892],"c_array_date":["2005-08-14", "2011-12-26", "2001-08-08", "2005-08-19", "2018-01-02", "2008-09-14", "2004-09-16", "2000-10-20", "2002-03-11", "2004-04-04", "2005-03-20", "2018-04-13", "2003-12-10", "2010-04-20", "2000-09-05", "2001-01-23", "2017-08-13", "2015-06-27", "2009-02-20", "2000-08-11", "2000-06-12", "2012-03-20", "2014-03-20", "2014-05-20", "2017-04-22"],"c_map_double":{"c_map_double_1":37.32124387896048, "c_map_double_2":84.62787776765711, "c_map_double_3":88.35139938338006, "c_map_double_4":89.41897013093664, "c_map_double_5":77.37157423482067, "c_map_double_6":46.39621100049896, "c_map_double_7":35.91206697417847, "c_map_double_8":21.77795521735581, "c_map_double_9":65.81477617235333, "c_map_double_10":42.37301284487654},"c_tinyint":10,"c_ipv6":"2aff:fda0:524e:5de5:8d7b:ba81:c678:670c","c_array_string":["gcwAkxcOscGtynLRBZxxxkSBOgJrSvmHUmbqmzLPVAhISOjbATpSjOOcjsiJsIhtyhTsDXAGgMePuInyETyAcZciPfNGXqilCgHCAHxqRZXphtpQjZFxpAPiYbvgNykbmZkZmrYKiqdmouloQdLaIHEwyJIKNQDVeGfqTDiLKQZQlYtMAZjPDzeWuRhmOSnPQpzxYgRRjcbCdYWkrYqaPKZnzSDuiIgPQNQEoYtRolpjJQZoYdhmNaVPBgbmMyQHGwpijwExZAiaiqSnpoqPNNLwoMrMikGBSHCTzTwWWXeoDmjpyfSWtYMKShrwljYuqpvRRQrzFCXuXXcBfOViKrLEBcWnndvPOqmdOXjDFoDLrqFqrgsCKyEqaZslkEsGPvRyDAcKmjnxQUJPAlhodlwAFryXHFChKCXAAgFTMlyxvaGstlkFhhfCyFZAlFrpohqUtoJhtalSwjbRItHhKpnuNldWEuICYWSuhjKBauymojZSlLbFwskohrdISuad", "HIzKUQPUvdjNnQTDdZDrSAXKFjXgYNKNZzddYSWdUaksDFrIYRTSwPUdJYuPGQlOAfaTxNZmHujQsfHfXxZkFcgIPriKRkspyAFARfImvriuTolvPqoLxrUrWSJmtCFwxxjdYcgLtzhIjAFaqmOnnQsERcGcxWEyEhEtPKGEZoMMKcfVAzJjQdarQWkrkXVOZFweFNhEtPWYCKWWknnXgHymliJsvfgjnYTpgTslocPTknLtvwlLVIxaQexgQDGfYKQchFesWqAlwzkAhgisAorPxBHrVqSLourxMIxYlMJTgiZsjbfRxstKUFyjWozzRhFLDnOpJXGcZCmwVHaoLTBJnbHWdOTPFxkxbIgxsVQupsmOTHeYbtItuvrwSJQbZwwqjIlrzOBUIzGxxStuUFJfUwWsrrIFiffmHguiSovyPTOTCSfWsQtJeNiPGmONciwDwFQGfIreEZvmJocOPpNzujFoEQteuzDLoAEYPwyywgnyUcEwATKxzuSScTAq", "NjhBOQMGsOlWGEDFbhGGMwmQrHYaRignbleYDIFxldvFPOHbTIOdVLeOdqVmOESFPguPtDHJbPJSflrrgWWFAUFCBUhQIJKFpYRkBwUNHOQuHYtEJtTQUDXiFUGoHTOxOXjTtfjWarwshFTsAOKKBAKvjxWOsWYAljDhFbNDWmQKzokocNGtGjkCnobJuCUBEGxMDwczOOvzbbdDrToatfZWWLpSRBVOUHoFkbigYYSBrfcZMGauxsJMARkpjGACFxGVPoARxgiMzgLANTWxvgnSYlCKiPwngqwoyXLnZXSXEMGAaUTzUvWdirAusKVJDOMfRnVvFVMYKLUyENBhZJlwtYiEXeesWxExDfouAArsuDToPeyvmrNpMLgUjoqEjmXnHywWRaCLQSGKjfPLAjbFMsSKqANibnQzrweyJFEybbduNLYutZvnOIUOzMUCzrftoBsGGnERxxkCMYLTZHLostXYWyWWyNykbROPCiiDeakFoDOnZvtNujolvSDp", "rXugfKItyGtubwklKlnzCyFMufUIaEEecFZLHbKyIEtCSwMnwzuliMEDmZIccYIQnrJtlqdzaUNHzdYXWotvkBMRIRZSERJOQUOygfeHNnzuvOYiqNdctSQVXcpejedUvGpEVByvriHatOsBKxZzAIPymXLyzdvzNIQWZKyFjPsecIUlchKlSYmgwSNYxnycWiHNNPvCotwEsIXKVDcafiQZssUpjtYpwnDOqzJczqWOSuTKVMhqrTiYUgbcrnUfMydOgImXTTnqIVnIUTqFacFEuhcHScBvVgvUBcJdkCArIXLnpySjtEMQqrDUvCHIHDyAiEEDlhPSAYQbJHWjMJzzKbFikWvqNjkVCysMYcIktZqABvIZMZsrydtbkAXWlSdEBWkhLfUoUTpMnvDxQfFkWseHrpVtmUhxGduHEKogvLhmAqKPGVnwBktfguknBiwHzHGMRZjxGEHOjwoWNQfRezwcmoQMuIKSsAIcIgESyCQGlPUDmFHGCCultlME", "MmjYXrEulvtNgPPqdfwEoxhptFjEKqFqabBKfgvDqlUhSNUfENIWUFVLitpDSqSkgBkLsAVShNzxIPXCUgkVrXnutHhmdbGoCjMoIfFhGPFjAXuNPFhjawwURTHwSfkCfWWwTNezjBQRwqNDlEijgPDfTWJEbjHbdIjzbcxislDsvLeNboQkgmsQVXUMOdJNmozukknzWbaMfiTUFEVTAPWvFmoywGoqYkJjXLREGeNZNjtHfaHxzgaqXiWIOXPguwtASaNHmYzkhknBVKEFRtrmfrNuDUBvcrYMPuzGNOgBMAYyAUdbGWHCaDWWiWafkmYEwfzAvcLSnjiStVPuJDPuOeUOuIXXiYvWvQNrhOlHUmtXNqpLhwHGvpsWYCRqdQxaVNieHuxzhVDTcwxlZFmmHblpzyTkUQJJBOMqTnxXjrYloMuUsnDmjhmPJHDPwitmGWetLUXZArzcVxLMBKHYNQYWlowNWNuBWfSszJxoLNQnNIgzbmMMkydbOYBq", "WEDBuMfjYVsAgBesWEhURHhVPnDBoPwKXDfZbwgiVHfLvIAUyByaGCVfYXeFgUSWwpZVryFZoXsNIHNptCclkCBoEBjBMQwWAwmyazmXKShUSHzQSdTSZVOGYuAmIzvAHHCutckjqRLcjBogEcoJadmuPbDjFpgKHlmMgqWRupOFonwhbTlhXUklyJgIKlZzyAvewVkjLsDbvtaZxYoCZtYjfxlaBPafvqMxMCfGEpHOMMulCrXjlabKVaRKuZGQMUbDCwrllybDQePQhBHLOZLZbvkoYgMiFbKnmiHyahpbFxitLpJsrwHnMOXUVMINygJOKxMAPBJvjiLOqZslnSZxePuhieWAWYrBEsINHohyHBzGoAwxzASJzBpXEZuFihdGNKHBJakLPTiUERSJxOcMUxPUoSfESPyZrwqgJrVfUWiRvUVuBikgfEKkHJLItXTdnYZaphbPZFRoDFIrslGGtCrwqSDlTBgISylMeldkPaAzdvRKQqldMCvgHhMV", "YBjgxBEsypvQQHtKHlqTzcAJrtdWeWxpRYzJJxtDKfyxDsxNtcsxuWScKnnmbPVILVQBeXFXDlrrkajyPjCeSLOIkQJbKtKeMewpXuVWvhyhABUvFAzXrOhXvywFfJKVyjAXtROtzJmRXZyUgoLlymaAbETVwLWalWjQTUTBorpDNVdVURplhCGIGlAYcrSWoYHoqAiwjccjZSstRdTiOXJdaJrLFRypBWxMtQGpYQoayZWKxHBWEPUDiPGIztirullBIFFwqFWJqlLjpdnagpBSXtruTWSGgJZOlBLLQFJzumqXBMcEgaRgjWwkJOnfRaarnuuEQmlJJdOlAZQYxJjYmfFWOwuHJpRZBNxisdPJmmPgtWpEwvlxWuDJaFGJtQkQtOJfaSWbNVwEJlMVWNOhAVjDqMvCJiWLxrTbDfKeChRuGhrzBFUXkWZpwBiaeXxHxDWvtauTlfRkxIbIEuWTPkXCPcgLpiFaEvyqDJgqJPdHRSavpfWfjdVNxCQy", "wAFGzkZyMyCBRvknKpAVHNyoQsattSidXITuPSRgYlWieIdNEBkIJSdFGeFNRhXqAGWAJdyOhmEfPIUqViTSHxJthagqQnmOLEBJzntPdjTeFjwKBTbmqbcmNXCxeKyvxxsjerfkkGOlwKgIpVXYagxZFYamMtytRwdzZjHFdiEguqmwkAlMaRfqcyYuPJMjbRdmhnewrUSHjsSwmtqEoAHNKFtrSsLdVwPeHcaIGFfeOTejOKIhTRNnmyhjzFGlzXzFOVDGrcoAZPURwauKHhcPcfZPtqqetqIVSlflVJxvGLhRCEUuGtsMXlDnBTJHFgeHWAgYlSKDVvJMnBjoZdMASWaXPwCWtehAOSdFcafftZyLlfpljZXsfrVDVZVipuQQLepShNMjCPIzZCzQXxOrrcKyTqbKGNCHtRgIEacHKOiDERAcvQEFWOfEIGhhJRKDyWdBotEbAcVBDIQXYRggbUuLUfrDzRrNwrBysUWngMWMaYtoIqThoiUfzBbq", "hgBljoHNHrTOswhOwnYGARwEROtaIfMOtkHQZwpzpSsNxTMXLiXUvVztTfjISVYiBbTVDtlfAvYDFLKTcZHJlqDsYGOfnZESowZcljuDRiFkpefRMAjQTfxHhKWkjzJDQiCdSOLCmGwMuRPKyYnamSboRjiASyzDQwMfKVABCxNxgNDfhCtJzvKOKEbJTgtFBDLuYGJRrwdUeNxEwZmzogwfEzlLuHKknWDgTVLLtMWaqKggsFUzeplIIuSoFKixvJbVFdIxffxSZdasdATHnUkqjFtiEvLdkbjPWXxtRaZtbgaALdVOquOenliIbUdutEfldIvHLvBNaXcRizsUPXZMDEZGsStQszCisBmNYJIypMZkquXOLOqAkmOOdDVxBXeRHtHKkdiXDPQvgltjNjOqeVyfySgCnyxduyEPYXZDQvzPihvxYyIqRBtEywvBPfdDLhcATloYJXDwMAIvHVGRlxznYGXZmDQEBhgZcfuSIJWHdUwugyaQhvbSBcik", "AzfhCzlGiPKcXuNFMeZHPtgqRzBZKDTyFGWjuvmyFnjxicFXgBcRptycauZXbwfQyhFIbOnYQdZQfIvHcWHMDVteitxShKYtHpUmfLsuKPZHTInWeACpBfOKnExmcCIZLyvifzguHJCXfMcvWfMoqPAImTZYbineTRiWpIHWEWcUgffgGIwDZmejUBPciIrPrGVvqaqwuCUPVNpmootaAZpRdxncCRRDnNVBwcPqkFmEMwTpExStcsKriKgluiIIYLzMqpiFhdasBSqKZWtpZLZmNhWUfCHnvElNCKompXNLtlbJHBTJefzlHeSIKUXQMDcqmcjeTwlvbcpyoieDCaCmZpdLFPhvKCDLyBqexGCYNfhJwENnCWnWfnnWascYkLbrUkIZpsgWdumgwJQZKVjyJMdrxoScfmFJSjBaNleLjWYLvgQqpOtZpSzTGSxuGtRyMusbnXbBGBgdZWsnQlYJxUcaTGfuIWPDDLpazUxYjXRxRdYtoqSfnDwIfKye", "oHWLFSEiTljhUdWvqpwqFabWXRqnNdXReLmckTbmYpdeRyRIqmBWzJxTiIGWUipqTWGnIFAXHPWuzWZRTmGpzZRrYnzoGtNLZaihTzcnyysYwVLzFLCoPYIRMjDwpLBkUkYqEdJfnAYdbEXJizcXLUouwFppqViUEIOgfiKGMMOWnYTwxckMcvczESOetLijGcsDtguTeIBGuYpuPbmfaHKYoQngbrgBLlPzMuRkojZLStzUSBcYZltzcbdgEruvKsswZeGpHQyiEytcGClLMjpoCogVAlnYFbpddCCdIFmXHUdjXQfbgJhOgfzIfZxtvYuXtrgtkVpsvGmWFkTIIPHPfcHjaHPKUFByZBBsqjPGIsdBDdxHFBoDzRGgCwUHRpZtqzqDSNwMWWlcgZDVYSsOpEOCtdBDJJTzRlKoCLxgAMJEJflZCsqmpjCFpzjhRwbrPWVySxsswVXYSICkJeepFezfZNKpqnWwjbVmdFVzxqtIyugOnVqCLsJhXABQ", "StKFBYkhVsZbVzuRFahyoThDgnumIGWnoIAanktjUfoJftHeCGSUEmiUraoPVBXJcLwMlWVMlhNcKXDsgtxRPJfjjoyveIhHjnghoyUmKhvIxuSKleuLsHHGziOtXGlDuufWoitoZkTevZhirGMrtejoMZUqvLeaMYGQHgcNnsyOzphRwIHPeMRBlBeAxrwqopSoAkqYTzfchtdDuThhGlLqCmSPXToNnpwAvylqQGDndOHXSQOoLueIQPkZqIkrlPbToGyvxJmSLOjSSxrNmmvKSzwDjLGdoprGwPqpGPgBLjFaIUwfoEmwRjTEtPuysPnBhwBLJwvXDTxlIpKeIJPxJeyMmKPxzLUbOHEWLmcUJLtaXrdXwufofCwIIfqTwJbySjvxKSHojnuicMKyoehHtWQOAzbQDSmEgcaDlUBEKmhiSoyiwABcZybXHEGpTrHYUWZZMgAkUXoxlwhtVwwfDxLSPuPPMFjMshJfPaIHSomZCdqXkYYsxzkoDWIf", "kUvwuuTXlhORPkLMbXgpXpjCKTepyNrPoposYecCNFWqUmBGoXYHtvrJrRjykazHlJPoJVzhyiibiyLhJpobsmjsOQpgSnzGOyMMghYOpoCZgSAAqKSaQCUWmlYxgNydkIDPMCQCqCxFdduZDyMUFaIIgoDIOGVYoRSyoSFmNgBasvgUbivkptTAHboENTTmTIuafnvqHQghwCtEwSRlMjwNJhmUsGmVsneWpjYGKarUujWNFuXivaYaBZRJaTXeRpsCEMzPsgUvreRdYXIxopUBDUtwYJwBtcGMZjgpZSKcECQaIjTgpQsfFRIYFLMtkZNnEVnnuIcxcYoSujSjyYuKtcXWrVLBFqdNgbqmAXXaXYtFwbQAFWLqOSkHKXbmPtTXJpIACNspatFEDzFzOekYhnEJqIWVndDtxrWUdtSSMlFAZKMXwDYdaNzlYdMWWNQTIvqfTuYpSAgZOLPzUFwZfgEycyuiKuZHVDEbvmonbCzGQrsojZbfIQgQevUr", "fGFPvqSpExgimRtwiquMFJmzLNLzdofKftCwhSUQHLjTYAOgwhKREOWBqFvnHOHMLypTqkaURMIvuENsvCSFtVmDHIVKjESKnTuJvcvMIKNluPwjeyOYFlamniPpdCDWrRqLloHdoHPgIZewuzajcEYkTdWhCqUoGykxkcQnYJqoIMMgOzlouGJlcOoejyqNldlwCpumxCjSnpLWcvVroCIjZpvVvifkWXcKLOZjXYyLNWCBXqWpxKQfmMMYgsOrCjOjuxZfpTXVEttwALIfQavieMyQfQECXRrFMxDehAqwzHrESGriUkKjtbhkBjyFtMSJBHiAVRHWeDykfKHkaAkqyuEVopstNHUxIhyiRHLNOmjhcIjPWVLHkKfELcupgGXmaqCYtIfXYYXBGbCfOGKiYGziAzvcsVLAAxJgpQYmieZZAkDsoaRrvGNhgLzcZUHCMIQlvUiFNhcquQZIBAZvUZkSdHGVeBWPoxtszVWEVSMZXciMYyVxLsDXCPhI", "wiDVReggkqkdafEmBPNRxxzRYCKjHgKcLnynpWqTekXwjDTaDCCrvjViVMUDXyTsXbqvsmCphqqXoKIJnvofbFjXkdoJVyvdTQySeGpDUxkySJVmRffogrReCksJsYjQQRkjTeuDhMpFknekwpCoQysVrqAfXplUlRlHuCCQxIKfVfmaOpVZUGKSVnwqycKlOSpXoxlNHPkExcFOiTSrUjMdzNWSCjmUTJOOFgCWxyCWebhlAfTTtydIlshLRhAdnZzFDkIhKCBrRrGUArQjzwoaVWBstVunpmcCUcgDyUoKHvLFCzZuXrhIDAVyUmYRkNjllkXtRGNuqSRqZVwIUYkiJcRKriTYfwzaZDAtrBifgIRoKFUUILWrinYIWGiEBSFLtmvlraSBLJzJtZhPQVpGjYdnZRvoidFrwnFpzfCKzoLuZGTcorypYwwLoeXIQRovgwNJaucwkBmLyWNfiroZAxaGoewBJonVfIuHsRxSvXoXZcgIgGiSNkhiwqpa", "FsorDnBLVqJabGfhzGhnMPZriKvxohIWuqVbEjTMjdDnDPldYPLggGAAbRDBNOCxgnaDaYhQymnTmIGtjlFQtjcrteTMRwAHLXfpUFLDWfqxzBPShJvoGLtBNJrJaRWYIsSNZyltBONYvofXtRpSXhptpwOgCBdTzWduAhgJFputJiBTWUlJDxIYpJXJFCuQYsyHTLlyHxOpUQNUFgnEDsuxtdldVmNRNDLTWoimxNAWRyKMLKCvBCERjPHhgrvHkrtAEKoPoUgvDKMHSFQWUNSyXNaUtvpGYDwnvDWSZLkpxjwFhMUFdzZwKpyahJfzcwJRHvVhWufKvjEADtoGDWLEwANKmDYhdwBrMnkYIPGEqQDoriaburjMfVYrTWUBkcYhZJsggSDJYThcqIwenJhiPgEjHHloVQPNcEYmJJIHUGkOKUqHDnHmUqEeTMEiUFCiDbuzVttStbUcStuTGIHnMNKIClTgGztMkjlyWLcnTviutYjVcPXMXSGJqnIx", "OvTKOHDWhCTgJrwThulDXgpNQQdveedGHBBjrjSnYcYrMfePDRMYHdivNzsiiuvFtTwtCvzofAgJHFEgyMPFVFExfGIMTnCRUFXeSrpbnyJLlpxZqRwEveuKIodRzzYchZQsQTXDHjunQWIMCQiVuOXFabzZYwftBlsSKggXyiOGrNmEMvtfgkcLrVxXZaSMjCENxWgYsTGyilwNKPuuDOCsbgjEmmmCRGxdyYHwnEzjorVsfNphhDjdSuPKNrkwBSFMsxHDnMLAhaxlLahdqvUVLSEVgUseDCgOhngIJiSoEjzuhsgbIhTjkbuvXjQeDbTjsNranOSTLmTLLeUGAwzSPxnCzPrqTNDZiCZfTNIIznNYqLmDvgSVblbMMTqVoLHqyEtVvqmPIkNgPTypyeVPThFsCyfkrNBYcdcPNYEPhHecPIYzhsvgBuzIUyRQByeykHyKZobtXMYpqvXpEwnaJOUiqPxmjxfgrTxwxAqCxOWeAnsCOdBlURzEjJUn", "wNzSiYDnbMhCPYFVQRCCPuMXZmoaacNpKIUakmVjwgqjhzfNGuVAYfxJyNjjfThioOKAUkrcalMtFGNZrysStvcxQIqkJtyVlFYLYLrwEKsRghPOhAcydUXoCZXQcdvOsfXEcJzSQXfggTUkddXyxRgXSGMGnJofLPRYMhZNThacuruakobqYcnwsPanWhPrujUdpbhvUxNayYRbGgTYbyglvCovzqLjDpzMAmfSvKdetWwIXahurTozHXmJhfdIyOgEdSIgMKQukKzSQoNjejDIhEMiGnObFnIRqWTHpwgWJRMCprrZyxWecKXjUrmEUUQblkDicPzyuFbNSEAkLdcZymIKxAbqEQerEMuQYETMCFczhfoBOwLUUiezECtOYZklSYSSasYOkRCeLRAWPIHHCCZpUUJveACxVKEKFbRlsqiQZEiVfXiMPjZQuMAiRxOGfUYsZlsXvEQtQeXXnNKHisKAYbrQPSAKlurWvrRkDmHtcWWAmcWrqWlptTue", "DCMsHFIopbBQJauDnvxAWyDBTJuqiZeyDNflMejadhbQosjFoeJKsVSGmPEFjxUMrZwFQWVLZYxkuOjctxDpyruTVbluSozdafDsbXTTLnSLHqoVtgXtAciZDdjHsFKSbOPMFgLJoMcVOXAwDVamjckztQUVEQBTBItVoYwLTKhtgcBPKAPeoiSSeGSmthrBmTTlXeneCqIGeIqMOQPtrcIEharjfibxiQiLwxZwZCDTdYyuIJdvErxUTUrkjaWXEKuriKzoocVhiaxnraGTYsDpaiQHksyFbaFArsZHaOxEZXuUuGmzWAZGccztixdGlUVoCgPKGpEkvLGNVTGdhUkjKSeFodrbKvCoQEOAPizGDUbSCgFKDIWfpDyAkFkKpuCwKyISJZhqaLTqrVjCCHqwlGgkIucQTJFaltzCAgtOOUzGULMeaXPVyluttgaDntNMvDTtNrgJZLBIozOgtoBcXuTelEBEDIQUHrXCFRVPhnWXczbXVVSNvuryQpnt", "cpldUMdENRevLSiPegOlgEaNuwTFXQIDulvrhjHLmwBLqRqyzaiQUBFKlqqApvbROPimhNBdikjKTdKOBVuJYDRMHeIcmUhcAUVwtcqrMeRjnpmiIVgjDYvbxpWCYJRgCRSJVapztJvfjhNRLqGClPvDWsJyajqmLJFrbeNEVlXGnfyONNVlVOchDMzSFifGiRxpeGWYVqRkfdtTSeayQIxtQXWBAgLVtrlHvRMyrXyGvYRNvCmUuiyZhCMqPqFdtsJpHtrlPmetlBufHuzBFCiVkwYxjXATRwexUdAVHyqqMuzWacfoXUmbTFiFuZqviIWTuFRiHkhGrxLNgQVSibSfmPpmYZXXrxQXIifPMyMtJElDmgLlkMawwfYqzcFVnazPlweoDJrXmvCgcleeTELToIINspXnhJbnANDlORPzHHsoXSnqZGSByLzBRXLCqrGIraNfeDlDUrjLnYQlaftUzGFfKbXggJLHQznWJRRqbtiIgZYwmJwBGoxMMiXa", "OALBlKtnRHkZHSqfxRDWIaLUpOmtYWlKNGgdbPmwnpFjBJObfDhiEiASDOVyoFAtccSSHqBbYbaDXaYipScTHZruhdcgEloLWlvMZtAUnGmswNVwYgqFJBBeouVsVAmIrMatgPNnzuLpExZeyfdGbbROnsacMhckQZyRNpSzRfMdAKLTcYOGBvWRNJZfkbTZvibpdEozUGMnLILDpCaLkVyGJusoXUnzpaJwiuFyDBXxmtFUVIRaTdHxieOgymXbFaRBuSRxVwQJZhlOJCzcYAzmlvmxxiYNjKbrDCMYiJqwFPSsaemNzDLrbzOEtUETqbxQgZbZIoEoAqoWaXWbVdgaTmWIylazixIKWiewbpoSLnCeHBnkhMNFFytYOiBUmmLtrfJFYmBRCXNdqxFymdIaOaQXAGLpfgMFsjQJAAuMmGUEiyQrbmXHZXBDuOtZEOUgnBQdqyarNepCJTSfVdccoKpnDDjoqLlNFYpuTdRmclytjIWzEqZOeHQoVJEn", "EoKvXOdlmrxneZQgAMhcbhhdDgyeAvKpVbQqJYAiyHcYXPdVaWYtDPnznDWyHSynNAFZITfQmdyjJxfxcLhmzWYoDyvIOZLusiHGkbPAwvsOqNjhiSJhfMhZaBOHDjlKdmVfgPHXVdJmwHXiSplQczoJogWGPObKyJxhXPviFFuSdowYhXgkGeXksszCLgSNUuMIWwDonRcRMnztRJbAMpzKYYJYITKWipsZqKBkAczhpOxUuYUqlcJKvkLAtYQcXwqtWOoMzyveeIXWTkfWhzKhCIaNMrbkApWJipblRBDFQVCKVfTQjKSFnUzhcjzlkZeRUItVDtrxfUxuWUkrsZRSmQRhBggSScCLXGgCneVFXnYPBQFyITxwYNiiYcQrbUpjbdNbzEphbNvFfIZPoJkJHpIoeNSjRrkGiiomeyXIIwHmWUZewAfKsHwzPdtvnQezKvbSTpszdnOqRmPjQfXocSWSpYUsddYFuBrnlYctgWMHOqHzcsuphtSohJps", "oDzQWcwzaSizNffCOIaBBLSwtabwZMJwqQHXhDnETycdkqpNyAUylzsDgyUfnnfXHQrAOoBQzjearmuYBRmVYjdVmBhEUnQrZbSHRvIScmrbyVykWMQrnHehJLpFvNkLUOiMJdZKLsRmwNvxlZiQXwvViGDffKTfVviwXzzskEJfbxYMLujTzcmyApqaqLJOCjaczeoyUtDtDgaLBNJIQnEaLJnAWgsoUBCsmnKESRpNZHSIcyxrVuHDjVOGJfrVGQmaauOyZPzfwzuDBEKhMrTSNYxjdEQHJlJMEqNfpLDbzAMZeBJdShbtTXeEeBIwaleSYnbQmbEOhhiGfiPcGWJeeuOjjlcdrbqoNabseOvjvouilYDWzfCHrwZXkfCivfzdQuuHpUWCYbpGiIFrprodcagdzMjAXHdWKITVlxMaqTixwleUPOapPUhMcQbfzWeSGRMrCXNuBRHkVMFcEKjAdWwzRpduwlrWBKLpPWQSeXXJzFsOsRonVQvdlKSi", "AEqFotKZhWLjZgXojvbVKXNseqMtPTzqIWYWinkJKizoUdhBNfjEtXBSWCDqrXkaRlFskVnntOGaAsjWWwFpuZNCXQUpQiqYhKOpDsqLpJMKDzuhMsGbrPYJEIFchZKVqkXueLSyOHGVijVOZbuuCfARnAahfxuOMheEQoYJRPIKczZfGQqnwRnDUmjWZsdFJojCKUtThBuLxhpaWdtjcfGrHabrLLpZbnuFhWqgvbwnqiCfSOiSUUDFTsyhpbshYaoIpYZamHZOkMkokKFMoooWKKOBPNHuoCvKOIJhwQRwkkAYCCvMUhZYHqiHxLFNzSfAXXEuGsFOqKEkZxhWyveEpwfcEyrTJJLqiBKIpbLPHghJXsWMbnLXQgbaFcGxHHuWiKHeerGlyErceZgsWKDKqONsZOnrVcXkmuXAjQaOPeQSYYIbXHAudpAZRvvQPGfcfoEAVlRvfctOuNnXZWOveDRmHYrUlKfFgdxmmAFktqHrhpPJpQKaFEvfTUUq", "ITOMEfeqMNMGRjepFOuYmVdgbUSpioSPDvJheDCeyIrYHOauItzDajSBcroUWynATJYeAPCdCCYDUAZQOHFlQNfoyFjkBpwFbVpjGJbppSpCqtZKEhmzBtdFeiKGfMMEcdFHKzyTnXvepauIyxHhDwGmVNWkvxEpfkZiAWhLxwUnaFECaAWFuECKOdimoEBlQtnxuKXMgiiWOjYrkjRAywCmHxwFJKeWlLDuPSLNfZCOZqZGWfmTwkogGicLAmAROlVfBcqJQtjSHWpJAtRqDDAQzFwZjOzZFRAFPGtcvurYcCJgPnvNcgCwHiwnhoyBvqjEWDrEPvPlYxpEZIUTlFfewwbEIGaVNanmMNauSdLLRGAYNsezFHqXLGzNpCJmRKeotExtmvYsegqyNbzYjGFlljQvEPITzFziqSAXrFYcCssDPVyDKGYmqobgUYAUWvkTBTwBuJlmkzOwZIwqEApQKVeutRdjqgTbRskTlbfuUgeQecVlTAlYFFLLBeur"],"c_map_char":{"c_map_char_1":"NbKhKhSuLC", "c_map_char_2":"HoiHNYbZAS", "c_map_char_3":"IpdXgJfiUM", "c_map_char_4":"UUTDmWJpbS", "c_map_char_5":"jFNeQWhGtq", "c_map_char_6":"nKFvGOxxSB", "c_map_char_7":"zMDOEsyQIC", "c_map_char_8":"UuFHuxtqDn", "c_map_char_9":"rRwpWpcUHT", "c_map_char_10":"rIBeSKCcYO"},"c_map_string":{"c_map_string_1":"MTEwNjWPFYIsSiROhjjejmwTMNuMRXssqAgVvaSVXAnLDrOrKgwTfzFyrZgTONngIxLIYYuYmvitfRXmkPZedcSQLaZPJMflxowVtxUCEWNAolKUrUsleYzjYiiwRLxAmgLGgVyDzEUmcmiPkDDHunzIdlJYWIIYTPrXnrVVGsyzHLncSaFLZoWViEzkduoPaTxQwjUhmfdmTszZuhpPmcilDKybdnheIYuQoXUybJLyUQkPzexEBXieszjUfmovcigkgLHQysDDVmiyHBCDYyhfysnMJTvHxsDYuyaumQpUijmvQCyBVprCAYJAdgNSQnISGEbePogcBOOjRNhryMqhAVXVuuUulQeaJogCTJYZLhuiihbPOKjUCnCaoPavmrybcqAjLieMfLpmZJGQXOCIkNOwPZpAIjInlfFDpWqAaKEqzuSmTCMwEGnxPaeahmRYIRIzkMUMHgMghawWoqASIMSqEyEXBZECjwGoqPgNcAxSKpNnSsTZjKToYcmJ", "c_map_string_2":"IwKBSKJFtVfCxXkhcpInhXmZJUOSkcTIWFfttUZKKsUmwjYeziCJAiruDZoOubVcAuRukobATmUwzqFefBqYmfMJzPzNCyHgYQoflLVVWFzpNkMJpVbzNPSLFZwJujZSRsBkfrTQoSUOPaqIWNfbibWfckRHXKbfXjOUSmhujoSDMIbAyBavqUUffMaxzepDWskqkmGicDZRDctSmljMkmXmzeHpqyQuYLCBpiMnRRRBoJJcihfiRwQcfdQPQpvgmYHWaDqaiSjTzKmRbNnAktQXKqBEJFDPWnvTpmQSKPbRMmtfPlGqOwjQPqzzjhBoIUXosNfYmfQHbHRtmsBtniXInPmjwtpkjGIIhFAICxULwtKsNIFROWIyYShvyacHHymOMbXEdWKkCIbxGrRrkvXRgQlGONXjNiTPoyPoXYuVJbPSUTZaOGRmJUAtasGQXFaMvSlCxjCLAiQOXulCIMVGVILkPtvTucSLgCoexjKByJuwvYHCyIGSzXcNKVGs", "c_map_string_3":"ePzGNfomQBuTPhCvTrqHHkApzJpOQXYxIfmtXUOcXppSScplhdRebdumStzDaYwKkBqlboZmyXUtNmOiTigUMLzHdACOGTYqqONiIYECDtBroZibJaYpPLJvgrSXvAcnYvoZiLTjSzxAdumejpDpnXtMdYCuQyMGTaASfilJHiCFcLUsmXGXnjQVUXYhKAONLCBlDZmyPDOorxyzpxwSDvaASdGwnFxcYmNItvpuWAdxoeiDUVoGEQolFoaUNpZkoFDLATkJzHgvlstaBrpEWESBAMngyxZFjJUlFaxKghkTOrcVhRyhiIHhgqqGlTzYwBbLWPCJiFPkDxlHDtANyjIKuDByIgNItNkAXRtFixQekawiUwSoCVfzFpGUYANlDlBSrIWvuaazXdUdDbVNccoLtwHeKHSiUOubgVlzoyuaSMpQaOwoFEFdIbYimujQToNZxzHxKSQKxObNQbwvJXaQTDeMJhHwlItTAkvyHhrmIxvtjyBrgwErnGbXKHQb", "c_map_string_4":"hGEjACbXAFarZDIplaDwSazPwIwkrSrROYotqCCdBJupvMkQfPWLGMpFmudgDJqfTjFtKbXADWJCbJcbJdbAESmFdcqKCtmYUMRspRwbhKIQBqHyPMmzuZBxxrzPmzLlszlMOLBvqfanqRsvLLnSrCiStVCqHacdDppeWLwrPhpVthpxvCMKuIrGrOIcEYWYiMPXeHCrWKkwiKoHhSQxyzFrczjqQJXGpQdwrKLcRZQULzdmeeDfgSRhDuBhbjVNjdYizqlQpqyBBtVYjJTVemHzmByeMBstQeJFYcxXsqvdWSQKCXVDQwoJISoIyfcPRazfLwFnQOnpepByzvKmlpkuuGyIBjVjAssuZDDigUVVzUNFvaCmmgJCTrUPjprFYshulzlKGwpyTNSuHugAIQVfLkuWIXkxtmdPdZOezhelsKWHfwnZHzRHVTxKyIqpoJQMaRnHIFfJyLKJFsdtGCGkEBHbRMVnzthWKuuLNAWDDjCuhvJiJRCoSyrNEwCr", "c_map_string_5":"NXLialjLRoErYIzpggrYObBuFekTqEifbtuRZFBjnsXUPZzXNtQPGZrZAQaNKTaIqJBxiNrefOjyeJIlhpXSYzBpNVwrlUJjpjVApqtHrgIKSBjbrVxeJcYQouDuokejlmvLOLNdWWHlKxdWjoSOSWSgIATcRVHDMWWhfzmFYlVjIIpROlCeRmYNNrJsbkvfwNhkvLTnjTKKpwKnGXPqHGhwEHTnHRAybPkRxEBpFlUjhlnprVRQWFIIxmamjYMaVZkzDNgYnwVYMdObZKbWtKiAkXwjYqOKTSPPsClkmDCbiQngYMYeTEffFgCrDkdIAwZcqdSBZkZosdYALroruHLaolqyquKkzzeXIVkuCoRbypCBhsqpuixPPGBhLulOOoWURdqrXnroeisHUjKfrCiBeGKQeDVDBAJdPBUtJcakFrXMgVExdNLyDXFLcEULmpyJxKSCywZtVyAsXlVcsizGZjThsCDFYnCGvSjYyUjSBCFwwFsVvGUHMcUybWMW", "c_map_string_6":"CcytPKEihOZNCmScXtpqjLJiLPDhFPYsBHRUHHpFnlRUSujxwobXjpvQpbBqtkInZEmwpjJaPxTiZRWAEzxCudMRrNREXfaOgzHMYPYmPzeNkIiTuAGmwbqvbiTfdSwiVJRBbrKeFFksDxncPZJfjPBNiKKBshvrjRfsBLNXXGWgKDiVMCEKWLmVjDHIbWuKnwrDaTNxFtHoJHMKkowNcpbDkYMRIaLychfdVZoaPROjWrWJhHKlwyhlIbDcppFJlmVzDQKpJOCwUMNvdVgisVSanyibDQmOOpLiLkvTWUvtVxUrKQmGiFEuFOBIarspllcPyHydRdBTUxQaVHnJfNNbpAdqrTgyoziYycuSLPtulmkzXRseWdmeDzmPhodktogPjnXCixJfMOKtLvCZhXyobuNXxmtmQWGQBdrUNELdLPCXajMZBRBBjCKxxjfivpbKqnoTVlmIceFlCeecXwdqNTFHeszOqROYTSfduQsZVfTwwMUsLXRwcBIBczFA", "c_map_string_7":"SrdUglFRHdoqXStUCPouMZXyOReXRMTSKhrNETISuESUPKBZbPkxCFsawcuemgKtliCUgKDxQXjbkqJarfZrxaZnhXrfkrkgWsLfgbSZuywDOSaHkKBkJNUpOLPTYkxtkkjfRzzPMGhZqldoUfOJcoftVmhgzssicAYUuyZAnNuconRYDZkvkzMLxHkXxUjIvpFhrziuwYarsqvSEqyVyJVUZralcKSUOzOkRwGdPtxKLwgAspgomGWJBqBFraNowEOJiMNXeCLZKqSTqFJabcDNcHzksBZWwSLAoYBsBufMvfWzuLTlLTCtmYnRYiBFPkvWyAgYnRUABNleLUryDNgvywxwRWWMaBIlBKnMGfpbOylKyMLkatUEhBsAeGIkoTBLVdfZHieKuFwdUuszIvUPFhtXKQIjoBckLRLKrkbbsrbdVrjVWEDgwgYKPqdVsJuvYSovzYFsSWpeajldFEQWPeAalwzHZMlyTDKDgDbnGnpbAoddYuqbudyrQKHq", "c_map_string_8":"FBDlzWLnyNBLbaDuvcQPbvimbKnJcIfjqRTsqaKMHQPpQpEyWYvRavosKMkmnnwQrRGPoUwbXawQoyhuYdqqyjPHagKVlHMdpJyRJQjzZBXpILCfjybrAlpDUtgHzaDLyEyjbZGoDFWURzzUncXYHoPToSeGGkYekyKmsPQiinuEjgfBwKNByvzrCReAclInKQDqKJupFmnVdKbOJWmmtDPRCaRjadIaTpjVRUEUZBcnNXeuhKNwKDZwwUSzDCVTvZokGlJTBqnjSxsawHMhAGqeGrWusULczUwPPfLeNveDAcNEtrVwQhtJBQPOBMPhwYfBWeiSbfgQVyWjulyLMCodhRDpvvhkTnagOfKZEkXxsgveyxZWgkklUaRAUYGPVuDDXUvbJIjTfVFaPiJGKyQceRpygoIVdLLnZPkPKnggLhyHqkMSYSTqYFBvCfThDzDgGfKKcNoKnSsuzksSjlqDdyjspmomFmKUZfxcrscDGSCUeLLiTsfWQQnBOMoR", "c_map_string_9":"xclIQZplmXYMfNiHgpwJCMJRFPbrNKBZhBsORyRgNvGHseivQXlpghWphJeqntQBTzcMUaOmiJMvIapfkSIJRPaqIvOGJhGQQoBhIGMOUqssgvjcXMjwoRRnWWVsbjjqjHOHaKZOqUvnrzGdfMklWzHxusuWBATFDkFTZAyaYqXOaINjywbivYbTdmgmxiatlooaZuDZsJRRIKPKsAHkzuxcPSzvaYVIbhZNMzVTXKWDCeFCzokRWrIsIGRswLgFFIAgRcqHbNxCTHBEWDWFqYeCPdZfDzNJebxiMZUDuRnSbwPLckxUTNVUIzkJLnUtmeDCFqQFXpjIoiCLUWnNtsTzMgaEnojgdVltPFlBahhajTXTvuTgqcOktKlHQxPgiZXltbkBzbhCYibeHMJumikAjHebxxQzNpUoXVHFcIRqeDrGygZJfWGzoQXtdUGsfAcrRFwCgElBNwnRvgBwVoxUWuTHmzpsiGMxzqLCZulxIALcXhfdYZkNBdBrpMZQ", "c_map_string_10":"waPzXDlUoYEmPZutISNfHerwoKdNkPFqINavJdVHHSbjiyFlKAHIGdIPxxRnMiDIPZffMnyoKWtoIDIxbRIoPdfaxRcRoXVKZueFiNZYhTjKumZijabyKLjnCbyiWhnkzNJALlRDOqErOFpRMrhCHPQkINLLPwcrsRSMqjLTBiJsgcDeguvzrKrpAfbacuQaTjDlfjUjwXuYGKOPNUHEWPATwhzjzUnFNJpZFvFpVBYSESlmrjbEFFdUvqWylEDqEGTbdnngrwaApddTmkwZYYFsMvTFzpBgFJBDBkMNrGGYrPIcnpNsjOPgxXkTxNngRwlpSLreQyXvJdxyhmmYerdxgTZuOAHcdCVRVpBNJRGzejcoerTzIvUomwmxZdTJGwymERtUTIwcueNbBSUOhEVyxpjaSawrrAXGnHxwRDdUqzMzslHAwnXNuczvHiNWfEcIkZOxxHAbgeSPceMgpsdXQrswOMDsXzneAsuuSaSZLcAYcZfhGnXhVNSBRdnw"},"c_map_ipv4":{"c_map_ipv4_1":"15.94.169.254", "c_map_ipv4_2":"225.215.48.99", "c_map_ipv4_3":"58.132.167.87", "c_map_ipv4_4":"97.219.209.180", "c_map_ipv4_5":"194.207.5.220", "c_map_ipv4_6":"25.81.179.109", "c_map_ipv4_7":"26.214.75.164", "c_map_ipv4_8":"221.137.61.226", "c_map_ipv4_9":"201.191.220.231", "c_map_ipv4_10":"83.254.210.169"},"c_boolean":1,"c_smallint":-3980,"c_bigint":-5363421993548170587,"c_array_char":["jxrioUOLqn", "qHqZJAClbX", "JnxMLldOmg", "aiseFNHtur", "pyNgclYbUN", "UiNrsYqLFg", "FXraNhgpaK", "IoOTgMtdsU", "uBSlsnOQGQ", "asrKAOYQsN", "lWompTXhlI", "MCTBzPHdUw", "uGpPgMPXdh", "UGrSTnpXEk", "xFuvNLpRIK", "smWHsKBrlh", "LjKkTqlMKt", "RXlPIqceXr", "TbfKbhPURU", "KpXPmtNyfA", "nAssXQyuJI", "RFRlCPoJPe", "tJcPzZKcuK", "eLpGMQjbQI", "WYnmASVWoa"],"c_array_ipv4":["qjqPIZvvPh", "QVMxDAHsyA", "ZeTKBhPKHg", "zCrIVwvFkI", "siGvStoqyU", "fKzXHDxHqL", "dlQgypMISl", "VeAHczPRGt", "RVybxkmJIR", "tuMoKWdAZb", "hBkOrsOlVD", "qxNREfMHrX", "fvVlMJiNWD", "xIEsmHUFPk", "kMxKDqvUgv", "vsphuEzTMh", "hVXNhQVqZF", "lbJNjwyDgj", "UaGEBFKwSL", "AYpHfGiMls", "uQMKhucozM", "KnWLFKcWwd", "SksWVSHRPr", "IDkPPTvFfp", "vyttKxwRHH"],"c_map_datetime":{"c_map_datetime_1":"2014-07-23 14:19:14", "c_map_datetime_2":"2018-08-07 21:42:34", "c_map_datetime_3":"2016-07-19 23:56:13", "c_map_datetime_4":"2003-12-20 00:43:43", "c_map_datetime_5":"2019-07-02 08:50:30", "c_map_datetime_6":"2005-09-14 15:46:00", "c_map_datetime_7":"2011-02-08 18:54:16", "c_map_datetime_8":"2018-01-19 13:10:37", "c_map_datetime_9":"2010-04-08 01:48:38", "c_map_datetime_10":"2017-11-17 03:32:51"},"c_map_decimal":{"c_map_decimal_1":99.1825, "c_map_decimal_2":44.0227, "c_map_decimal_3":37.0861, "c_map_decimal_4":75.1427, "c_map_decimal_5":43.1325, "c_map_decimal_6":5.0667, "c_map_decimal_7":9.1889, "c_map_decimal_8":1.0860, "c_map_decimal_9":22.1220, "c_map_decimal_10":52.0256},"c_map_varchar":{"c_map_varchar_1":"sAHEMceSArCBLhIVIXPAQJwkDYTuIYJSwZFPItOOnfdllroTkjyapmitgIEpCKzQFkKEChVgvtUBjMtUPhLCyxIcgzcCdOWSduGbKrqkXRjlGuIvAtumDJgRBsPzNnaAfnJJvdZyzBJRLkDHHijsQMezVRujFTTcqOyTwTUHjtkVqNbwTCKxMLzfdjVrXmiIFuJpBlMwKqKYwNhModwtynYbsqOlqSKiPiwUVYiRWRGqlNbFSZVrurXBXezlNTlu", "c_map_varchar_2":"PxIOjyVtjqGoeRpQcrziUvDRHjdVzzHbqmRgaedNRDOJEHlZXpsFMIGNKJkCYdgJtHLKXJFUsopvDFIMypdTWNzEhRauwWChnSHGoRvgMiPMjNLXSbmJYPPbBGkggOoZjLTUMyncRQsbSjhquZdcLVZUalcOMqOjALlAmsQrbsJppBYavAwfDCbVPUEsQyfUyDaLgCWqGOwwdSAQXdLsFlEGcfUxyNRSnyCmvFbYBpbraGzfhERsKPFLfCiNgGyp", "c_map_varchar_3":"BPGamciutzDwVRiajmcwggnmJuDwRIlTzrqshgsKlqwBdAtZEkQgMmYcfHVdMTJBwpkaKQWQFTtPfHQAdVVoYisripdRbsQbotAvvsdRJIdekWSPDYvzlewXDlpUMExnoogFWaVdOOPYfatTjNsVujTjuZLNBYmlrTSlcKqLzwQIHXsPBRpbQNwHmdHHWmesCLNxDPFoCVWCgFSoHfoKtSlAAyhvsDLMMWNucPXzgKoEgqRAHucvCHlvIujIDMxi", "c_map_varchar_4":"MsZEbkJKghyfoCDXtpXWCvoPfEoSYHOgVFTAEZtehmfHPSzOssOSLWGzqkndxiOorBCikGZDZiEJhyiFHjFJdBiKyRlQMCxQjypytcHsuuWifnpBIUyfrTZhexEOkjsOwzHrzdjqzzZScebTTupAPLGVshYUZDtcIbRyCPWWcYvILXHLQzQrADVEiOIRJzGSMKPmsjPLBJzQIfraeusZVHSDRKYTqZiQKATJcHhHKpnrndiVSWRddunWVcfAmQkL", "c_map_varchar_5":"qCCjxStQSTPyxQTQSYHiQdIMZMeiWWhKCcCqHHlAWBskCRtZYCfAACJVISrNGWzaNLJgBIeucURmeygtHMmEjAoNsjZxiFPNbEStfQMDHkvJMkinDZrlhUxuURXXqNTIcBpaKEzCKoJNkUEBHpUfPOBgjYMcxYBbkerDvZpHPwRFFsYNjOopmbAkqEgDSEKcZwPApOenhPYRwICLZhqLjBDIwvaZPQVbltAEhWPWlFJImeUCVgCjQOugiFEtILYH", "c_map_varchar_6":"WcsYIRbBojjtuiiduSHNLLccGIzBarhsuMsWeAkhInHlueZlgNcylTwXDlFRTDTJxtwTaGOPGQdntzGmzdSSlrJABzZsqQMMcAMnZRUkuIqDawgTQZNfIhkiXjVKWhPBbKxXGQbHPlVzTOWkKKESnrJQBQGGdEMyxNyfmUACFzBxcxWjkMArZqxjSjuoLoyKjwtZzkwGVHpdUtqxkTQFhOswjWMpjIQWVEnbBStVSZlFxzcNkWJvWKmQuRnotUiq", "c_map_varchar_7":"bEnoWvlZsTwEoCSYMorzCNCpwyHTMLPpSHQklThfjNPaNJdDUFEXsTHYzweUIvxNZPtBIZFnYQmmCPAxwkDrLFIaYIWodYOdxJrMkARsbpbCTCVCybgNrTeUmqiBvexHwqowrKAFscLttzdBFeRvMpQYyKCXrzRyXGZlexFjSSfQiQpAbISAjGHwNqRcNGgpHypdJqDtKvSZWHAESVAxAVgeuUDqTkNvBtvgkrHzarvDeAQaNZfiRNYwXxDhKpLH", "c_map_varchar_8":"SZUcDGDBXTWVmgGXzCShAfaOvcXwlJNxsYCmlnFjbKYkwUxTYRHHNbynWTYMNWyTYVHaflAhnRpoEqSOAISsatBqAEJDreRDAeBQvEMLtZAArTWSaTwEGskSUwFpQfNjrDyHVcLIwAGHIeALQnzAqTcBbOWUVWLifRCmfwnsPcOhnNuRSockSawYBrZaBlkLmdEBvcQuyXpkXyCcbrymUXOlPEFePlhVHFBSMSElvmnEkVrAdEjlYvXafkNvCYih", "c_map_varchar_9":"CEqPKiGCfDQziTacbwkEoSTuWjPNHtbqucqftBXGqBfJfbPoYPjJjWRytliqzjfSxIziCuVOgjdpeoXuvMivAiVpYhTCoOAPeJhdbgyDsuCvSNZizpTFfnhHEatpCIJIjRpmrIwKEaHudkBfajLEZZyQeNwoPkAWWspNpXdnqqZXWwlRsuJIbjNmSdsLBIQwXnzDsKbLbjHqWiVaoxpZDcJYEYKZhHUBfmwDWdgjIWceFzZdwoTTFThSkDngeMEY", "c_map_varchar_10":"ZJGxEhwBNNWsxZeEOHVbuGjOMuuwMnlXMBfvTAoLoUHEIetEKMeMFTflnhhSIMrHTnPikjUuuCwbJIQfzJTfeowKOcjoECytvyazntbzFEDWYeDBCpAhvUGmXnFehtGPbKzidBkiUAjgtlwVWPBkdEbgKkckZXMvpnbbyOZmVsSuMDvBDNZZghgSaUYnaSfVRfiXtYQzFIcYlgFokcIfXULRkEqOcbyaTAkAyhfKDegECzuJNNTlroLaxEktvglD"},"c_decimal":5.0785,"c_varchar":"they","c_datetime":"2010-03-02 10:14:17","c_array_float":[18.731241, 66.46993, 87.88874, 48.250786, 54.763947, 37.92584, 12.277087, 26.125612, 12.355392, 34.939796, 36.897594, 26.695341, 27.618631, 33.516754, 32.344383, 45.781086, 35.205177, 26.998856, 47.77129, 22.733385, 68.16557, 25.75526, 49.65853, 71.58947, 83.65416],"c_array_datetime":["2007-08-10 22:26:23", "2018-09-19 13:52:56", "2007-03-26 15:04:56", "2013-09-27 01:07:30", "2000-01-16 08:33:32", "2016-04-12 09:07:07", "2000-10-02 15:52:34", "2014-01-04 12:59:57", "2008-06-18 01:02:32", "2002-02-13 21:14:19", "2017-02-25 03:22:51", "2014-06-02 01:48:10", "2019-11-09 01:50:32", "2015-09-11 05:13:07", "2001-01-07 16:20:32", "2010-11-03 09:05:03", "2009-09-24 18:18:41", "2001-11-21 08:24:28", "2002-10-10 00:21:47", "2011-11-14 05:43:45", "2013-05-05 02:11:26", "2015-09-21 18:41:53", "2016-12-27 08:18:11", "2008-06-10 12:21:01", "2002-06-03 12:18:25"],"c_map_tinyint":{"c_map_tinyint_1":-95, "c_map_tinyint_2":112, "c_map_tinyint_3":-85, "c_map_tinyint_4":80, "c_map_tinyint_5":109, "c_map_tinyint_6":-96, "c_map_tinyint_7":30, "c_map_tinyint_8":-79, "c_map_tinyint_9":87, "c_map_tinyint_10":-65},"c_map_date":{"c_map_date_1":"2002-09-08", "c_map_date_2":"2019-07-24", "c_map_date_3":"2014-09-22", "c_map_date_4":"2000-06-01", "c_map_date_5":"2005-02-10", "c_map_date_6":"2018-08-14", "c_map_date_7":"2001-05-05", "c_map_date_8":"2018-05-09", "c_map_date_9":"2018-11-02", "c_map_date_10":"2006-11-09"},"c_map_ipv6":{"c_map_ipv6_1":"a951:39fe:44cf:4862:b632:89:f489:497e", "c_map_ipv6_2":"c547:f53d:fb0b:f9d5:a52f:140c:652:7bd", "c_map_ipv6_3":"71d1:6ac8:1c74:6eb9:d784:8dde:7793:7b4e", "c_map_ipv6_4":"1987:4df:93ad:3abb:f9f0:d187:a0da:a52", "c_map_ipv6_5":"fb2e:e212:bfe:db16:5ea1:ff72:bff7:e7c", "c_map_ipv6_6":"d2c6:8c25:4783:73c8:51fe:3967:d05a:52a", "c_map_ipv6_7":"5b96:fbc0:da4e:100b:edcb:3494:f26b:91bb", "c_map_ipv6_8":"8c4a:98f9:6d39:b978:760c:9943:f573:795", "c_map_ipv6_9":"549e:d5bd:34e5:ed95:133a:3bd6:94f1:550e", "c_map_ipv6_10":"8b89:b29b:bd35:eae5:5aa2:44c3:abc4:75f0"},"c_string":"cvHsecCCDiRcorYFcAceDWZdZOEWMWHdlkGtVMRTDiuZQNDwnbcprUoQMKSSxagumpCFmMFhLnXFHogzctIArXwXdWmuAsQcrqBTIkoDIdfwTjqMsLqoEsxTZARQEQBJCBNXWJCKKhUCLADszkqngpcBFcypVCJWIOJahNmQsKbfsvadLVxqdsQAGfUkarzxiRfWoTJHujLgearpAQtLPUqPhyOarksBaJfJGPkmEzHDmzuDGxnQSfcTcOgYPtfZrNKoxIWNKyqDuprSDDBlkquZUxxcFNDEwbaQJGiUSNMSjIPbCeLJebioScIIFTHGqHhUtgrDWgyatZqNQBUMmBskVpEFSpnJCHrPKvrfLwTUzeYnMLnbwddzMzZnSFBoAXZQqoWrviATBhhdAwaTxGJpxbmUxMHUHQHwjUZATwefxswYfbhNeVrPRFnKkNdXKajWqliivmbrlCXNpaqyDSAdIZbENFSSCVuMiJbBdnbNyBaWCwtJHofdljzdkrGF","c_ipv4":"124.122.148.250","c_array_tinyint":[50, 10, -6, 24, -125, 101, 80, -55, -67, 43, -124, -59, 44, -51, 40, 119, 67, -103, -63, 60, 99, 95, 92, -92, 68],"c_array_double":[76.96087027925992, 45.71082143081707, 9.187296302161938, 73.20117119769068, 14.572334095390481, 9.664737461194822, 68.69587691567627, 70.24205657805794, 4.6873543118348975, 57.44787004318616, 80.87353807994171, 50.56331729681433, 62.90244475942429, 13.089877768654539, 17.219103646198377, 14.415817418473063, 56.37484108706107, 0.5930682252160615, 12.642235740997227, 69.27903217460644, 56.59277722816126, 61.48712554150658, 7.726984763717407, 79.12267585466857, 15.490887442056012],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_int":141406840,"c_array_int":[-165309646, -925624100, 2142995501, 2071742942, -287752012, 211218444, -525178954, 257288802, 1816160516, 961996669, -1266084351, 1823100405, -579231467, -727420805, -786144189, -273108486, 1010215033, 895995785, 1200515633, 1558061151, -775666558, -1717846287, 1776683621, 763957647, -1752104883],"c_array_decimal":[75.0027, 78.1251, 87.0339, 95.1751, 61.0873, 14.1333, 6.0466, 44.1327, 17.0799, 69.0322, 80.1396, 58.1600, 9.0017, 12.0401, 75.0078, 60.0019, 35.0028, 2.1782, 70.0967, 66.1380, 45.1240, 10.0995, 94.0573, 30.0811, 75.0730],"c_array_ipv6":["cvknNGzVBa", "zakeQTHozk", "QRNCFjJikw", "LypgrrZeJe", "faoIVrhRhs", "vIJJvHsTMu", "BpBDbWHYGP", "DpnNVdsEcJ", "hbmnZCOsKg", "PDVekpTlvm", "rSAzxjSjoI", "hKYmcFhPZK", "mDsZyEZDwS", "eRKmckWhQX", "guoqlqgKeE", "oJPVlGlJpn", "hojIMRYtda", "jZpmKhHpWQ", "hRAnyViwvI", "dWGnPxbmEO", "LGjEwvgLlY", "xPvYfljwYZ", "PJdwtAtcAm", "MZDoFxsHQT", "GshaKksTfy"],"c_map_largeint":{"c_map_largeint_1":1307971650221130144, "c_map_largeint_2":-4458912832209953408, "c_map_largeint_3":-6571377442159645223, "c_map_largeint_4":1386691026019934088, "c_map_largeint_5":1578522533461756643, "c_map_largeint_6":-5513616862981871584, "c_map_largeint_7":-5643693093077931157, "c_map_largeint_8":-4560511733496499328, "c_map_largeint_9":8153323410974441590, "c_map_largeint_10":9019413660610463485},"c_json":{"float32":0.15273166,"timezone":"Central Europe Standard Time","timezoneoffset":3,"minecraftvillagerstation":"fletching table","appauthor":"Madelynn Goyette","verblinking":"been","color":"DarkGray","second":41,"moviename":"Harry Potter and the Deathly Hallows - Part 2","bs":"expedite","carmaker":"Farboud"} }','{ "c_map_smallint":{"c_map_smallint_1":17522, "c_map_smallint_2":-13544, "c_map_smallint_3":-25945, "c_map_smallint_4":-24946, "c_map_smallint_5":-50, "c_map_smallint_6":-27310, "c_map_smallint_7":21127, "c_map_smallint_8":26369, "c_map_smallint_9":-30654, "c_map_smallint_10":25784},"c_bigint":-2071655973997059634,"c_largeint":7552615075472780463,"c_decimal":47.0243,"c_datetime":"2006-10-05 16:08:29","c_array_int":[-1622371985, -1136117002, 87931663, 1126365859, -404102865, 1607049633, 999452285, -1259799497, -1118970282, -786952004, -1122840119, -1144231411, 412537836, 439991486, 1314448365, -2127063038, -330848400, -1241844677, -155312741, 1511970561, 861501282, -1149898596, 1078541641, 1389097296, 733482852],"c_array_ipv4":["fMbwyTIAVp", "VrhitsqxWq", "YweFdepJze", "dNvvviMtZS", "jsYuZpHCrH", "cPkocBGOCV", "uyufMgwoWR", "YajaSSZyxI", "lzwhGFLRmQ", "NfwytAPHrv", "wuytKRfNos", "gFckWgSCZr", "AxfrCRgWhN", "XXpXgCGWop", "BDEXAuHqFw", "PJpggbCKxO", "sZwKHPtSne", "kwoNvjZWTq", "YqrTPrutji", "nTRcFpYvrY", "aUKVhsxLBa", "gKLnaQddPi", "GdOjajlmiZ", "KAfwiQijzV", "HMRchCIbvq"],"c_array_ipv6":["GcKfiHdnHi", "yzSLCmNocx", "MFFfMlrjIT", "UCfkJweDzy", "kXQuEVSylk", "OgPnSeCRkJ", "NvRECZsQOu", "SZtwWyyxlC", "NjTOfeNLCH", "sijRkiDiIm", "CpKAbUWvNt", "BYYYnEObdO", "yUwVLwGOjr", "ldbBUbKzNy", "PYiWxcskuR", "hGMuEjpjvB", "gEDyKbKWOu", "DSXHcXjjdn", "wQfVaJUcZX", "SBVZZYySOO", "PNmMiiXHny", "gsUngGFrfp", "kQfgMXpkzP", "mAaCAKdUnw", "pyCRblcSSo"],"c_map_bigint":{"c_map_bigint_1":5002115429043984087, "c_map_bigint_2":-4761907901134646673, "c_map_bigint_3":-3106279162479205075, "c_map_bigint_4":-2241466319261234635, "c_map_bigint_5":5466228725764777012, "c_map_bigint_6":-2178502580734489240, "c_map_bigint_7":-8282516065315140052, "c_map_bigint_8":-4059645846510136599, "c_map_bigint_9":7325260475841512925, "c_map_bigint_10":8170151106567647814},"c_smallint":23687,"c_float":91.44702,"c_date":"2008-09-22","c_array_smallint":[-10737, -18551, 28437, 1935, 20361, 30566, -12310, -6930, 4236, -15794, 6159, 17736, -11021, 14718, -18131, 25822, 24925, 7292, -2985, 30146, -16029, 24230, 109, -20439, -20919],"c_array_string":["szpyKNcrLUuYzznGhZpCDHFTGroCHREzTBiDvBrbHeAtUAvRBPNVDyjjxfMyuCznXiSTXCoSMOzJqomrKdhLlLyuppCCquSHXQSslAwsNKTzzygzCpPbnBjSLlXhxArjPwFHXgceuoVsVxiqzHIMiyszFMdVGjptozWWIdQDJfIMljChLpGuvTmBMQMMngUHfogsLCyHvWasvbwIUbsLJsjVjXZeyuqqSxHEsczxRgsiQwzkujKZtUPUndXEkUCrEfJyNMUZotIQbXEcWziznPStGuyKNOhTFHvQcsSfIdhqiCTLRYuAuhDyDzBYTxJLloftYdHwNeXHCNphZjmObNtxhuNvKhBGacJMsBQxJRsMDHSfUfSvNMPhnaJkquGqdqaZVLtpqlmdgfoWifvcKveUJLiYyIIuOzrbdPKiFNttqyEARwUvltTeiVgnbnQNEbJAdIxAdMDdTaIrBxoSKfGPWJSVjCIzBnzqwaYOTEFiBdVwmacFgoWcGaJfhxuq", "fHWENzegcIXVVKIfsaWVDbAwpiAgJSwvVHCtmHYlJlNCPTfXETmXsnjmYMAgXdvHlsQafABbXVCFEsDWijHMOyyfQaQMlRqTbOxpCUBdnBlVvXhcjwEnknCciDeCspimkVqMTujjkqAzANHkDRrveTJbxjXCCNDmQQrUQjmIlODCYMZKlWjNbIKJtRUQmwUzFBUblklUgCitnDQwOQnZofeolciYGcGgBToqKOTshNRCROAAyqudlKmQnXAaEJgUqsasVozkHEHKpdrfVCuQSXpEskwJXLDcUxbkQTufhdiTxiEbrMSQToDtUYftPOOWemYGudkyOfWeiiBwbAkVSmmOFAXiDeePldcSmdEiGjFQQxMexETDcERPJlZaqRCvxyMYpMYdbporSLqpahgmCbLRKQpLCvIPlkHSzgDRivGrXDmzOSbNQfWbZULzruMRBtQrCHQUTBHlqfqsxbnxwIdzcAbTQQsyOrhFQDhdChGsiCGEziiTFVcICoHLznaA", "BBKzEEtPFADXlcpKpbVKAmdRKeIioKZlIezCkphSzBbFjJKDLDJlcOGokvtKTkqByaHHXhZxwgiPMCoKGrXKPHtdxyRxsvukhVdOGwbanNhiytHEzoVnmgxsMXqnOaovHuCzmYMjQzAUdiUCUkONdVmYAiGgitMydSAadZqgRTXABKLRMqFMfJAkwFobImJnkTTlzdHTFHkyemYyLvfzWSwwEWyjMGvnIzvzXvsKkPsxcvpVhYnJBysrDCFzYTFRYcuHcexgAlPmsgiHZoMLXRsCZwjNhDCteEEwXALiHaDvFTnWNvBRZsLuqFNQfsFTBajMOlWUKYQixcNMfdQQYISNoQYmLpiVcqUqvZLjHhtyNouVzAIkcziscOFrNbCTwctvCbTFRRmFDrjUbYRdwdTfuKtUCVXzpOxLSplJJiLmaeCrHXKHPUvvgXlFVScgbqolDeipOUbbFcgCUdObKkNodKfIgRiuIcJkxEwcFbcSzCXYQjCqCdxwowZaWtyy", "dCfvBwPYGzZAYtwdzXKrXXlGJBAZCvmdcnQbfLTMjyvrFBmXgeaiLNgisyIQLgqNGAAVvvTsxgkyvcMNIuVzXvIAoIhJDyoSDqJVlLUWQeflzMFkeOPrIXdorOSTRiHEIXlemDVgYGlKeZvrbSdRkzvEFuItZKLEjUQSbnJIdMRKFEcxFBWpLnvRPOvKIvlIYMNGOHkdQcmJNwGumOeRAvRfFrctXWCybtsOJUDgXXDfPrCYcXLpqVJVHryXbaPeaqyJdFlRYdRObtDLRXBWhOKMDHOnfzBJggZgGoLTxfuZrjfmdabRrZNAjwERvuenwwBOMhLYdnRkqgkZmYhXePlQFwznujJhSiVhvuMnvPIJGrQOSeccRGciHJRysRVTErtdWxJkssLDExKWzDouUHRgxmrLEAFGQzctIEbybjrCsyCtDeIxnLqhHzTjNwaMeUubNzaRzliMhiriVzYpSCdpXerWdmDrnDwCUgjPtEncJcBvUixRkfWQbZQhXDPN", "gAEEriGVSUMyIYjcqqoDWQxBbhRNOFuhPnUuemWMJFsAiKZVrMbddFvxCWWbgGBxCrRLgbwtkqLcoXRZvFlLtQyXUKCBaRJLRZbPTQanGdVECacBrVmKERtNTDfMEixTGvjuzTaZhXPULOuQpVYsGmRCUuDJoFgsNmhCANKjbhpvzfTzOfvbIJMNqLyUPrVOKmRhlWJYMLMnRkxYuSBjAYNErLyPjMWtYdFbHQlVBJDUszYyTBAPjkgcILlVLmXGxcVsTxDGTRmcxHQIPZnSlRJhgYVJMRqFPaKphVJWosyewSAwaYduqBCUSgcHJGGdBtkCgwLlScmCSXJxDwbpyVosaQqcUMDbZVbAGsCnbLCztaPSXWlKkoXZIbHeJUMQQTlgatusafxRxbUUQzRinmqWBlkTHlWSsbttfMJAUrhvZnURbWcVBEyuirsnkgLEzqmKAswqEqhiTrdExHgfVnCBImyjmDLmQbSfPRCoVfSjWamjrcbsiaPeGJrnQsUx", "SPKrxJwgCdeydQjtGUYeCIweYnanDQaNYpQlxHACwElPDTTJoINvXsnmiRVTUMEpaEVQBJBryEOWDSApGZRYAxPEIyrSMaDyhXXrMzpWHQALYswWDAzNfkyFasgUjeIuLfMxmLdnHuSCzuhEbBmjKgKIJpOwmftUBcKaRkPYOHZqtyrlVvBNBUvBbkHOFhvVHBVdRRhRUZERVzrKcJSoXVRtcvtobiipUTHDBGHWYptiCvvnTbhDghRVFYeQqhYtsasdKjeRRbblSOLZCBHYyCBTpbXiwdpbxuJFdTBRHgPdXYoxRKgcSVVsjDTQjjvoTFcgXehNozNONZaxubrrcugheDIbCqJwXpkNYSXwSDdDdHRtxuASIOpVjoeCNrwZlJktpvltLOXfzptFwdLOlDCGbIUFVVUQUpAWOQflyyytFBVORRKAozVgOYXGmCcEvWVfFBdgNXLCPVosXxthRTvEQPjEHiBiRKEuBcgTiQjEYYbXEpNuYwJixpSpxHvg", "yGBjbHTKFfBeNQdGGsNXIRgGZkPyHDePoSIckiGkzkZHMhBukVGUcfFoyqxfGVUbfJePFJAzKSnFTlXMVAohssChrWkCfFqkUplkRYkPrEczcBDCxYMuaMptcRLFLhLfNwhmMeRbhtBXjAOuyTqcofETnZIXfBpWEsivDfTIfsSfbeoAIUjrGqsGlfhMMLLmDTBfKYOetwJiBScYUQXLVRyOizIZiGdUIbTTyuwlNSqvrtIGMpJOEewbJfkleQqqCdhvxJUXShklacScsTMikeWELplFDjAXcqmEcZWtseHzSUIZqjHzGYviUnGKGoamQnVrYWUAlosYwKZQPEXXGdVQaJMhGksLTHfKXkdoKieIOphprQPUfpOjyMXBSrvZeYMVckNPYMzxFZnOoxkGbRIdwlOLxmRgmLuBdOLyzqQwuciGpHPUIgvMoiiSLiINPWIQGxDWjhsMRhdqlIPVcWqiPMOVqvrbMxDKHEtRogvAAhGhPYdpIsQPOzHPQBNC", "ZlbNaNeXEjhViDKyjFrWcOolnNyzwNJMBTmzLoqIApkJgkRuCWCNrSLlvxnUmiaqgTxGCevYcvKvRtKkqILSCBdZhFuVnSGgTjkcWoNwKsIApbbSKjlkLunUArhdiyPCBlHylhBHqgmnrSNlTBeZEQdhqbWgbFXSfaHYRbthJdHblgcxDLYupXLQXLzZQgBjHIYnspuCUlwYBmFXlrvkcqmHySmhLOCMkyElbIeEGxBJCPJcQaMdXRqzpBHupFxQdXhPrffNnjewWcYQdIEJWcvxCwpSuwVIpteBZBlFjNkAUHXgbxnrVolnhvuOrQIEUWIPndPNyXBQPsaSbpqrsRSqEiGCVwnigdBtRPQDHXbvSBFselOFVRbSNyErZcOnXOQJHXjAnHuwbrLSnsghwmHbTXSvXufewMnqTYrHPSEcEGoVnfTfznVrxbebBvxxNuWXnvixWTsWVrQFaRnCOwljpxhSYMxbiSmBYtnqGWUJadCrSobjCDnHYodsPicV", "mXHBBgOZDcUwTAYnOkNLBOSAVlGuTVJzNSMIzxEgCJXIlwnPfAmldDofmGEOfCvmiEoJersEJxgPXHFtqlfzkbiKupoLKSfSrYCixANLkUJwjJghpslBTpoMLhFIIITAdkoqaqTtahFrLRovDEOyULFPFuMZPfbCPomoUeFYIAqhLMaszhznkGqmGdVsUUWdlwqVxIthlBxoAjduJvCoYAYQTjgBwGvHsbPXWXwsdEQduoLWGYMjKkUDdNqhYFGcSBPXGhOqgEAsUcVHXCYHKPyALAAZetrNXjQclSTWnyDHNVqPaxcUIRZHYiopqobzQtHLVYNGWFtIgwBLHAquylNrXNiksHkldwkuVcpUExnOzXtSIdGOwnQIXbvGmoEheGtUZGiLukQDBelyFeKKeElbWbJwRmwPSZAoWRzOZoOXjbgNsNpOIJGJROpTObOMjHJvufzmaGtVkIuvYggaViMLSneJbJIaiUhcZmpbYAeAMUqHThSRwjSafweZPKPH", "ifAgrZnLMOVnfaUKbbcBkbLbllUNqrIaKlmpLVeldIsDGHGOatGwUXbdjBiVDmkFlvugXLCPoTuFJZkoeyweNNEAGYDBvgurXqNuOMJCWixAyWsTbinalIYnCqUlwbEfTCgLWoNOfpZCcYAJpuBNuCYRcZsmCURNKbspSvlxyToGLBwtpDZJVbLLYYuOPmyPdnUDHBEYTgEwqXkuPUikltclLVNvaDzlcssHXkYguitAXvsnjJSHqYXZraMUfsqVazNOttQIbifmumEMhzAuOzUMRUYCzVQrqjQHZySVefnrElCkVbJPmpcRPMWXQUjRJBmeyhUAyfHiNCRhdyttfvCJogIUDTeGFgtRpnRPfgRzshrnnhnqqPgCKXKrIQQiWUCrFzGrzIBIanaZKfOrgeyOdaBtTGhKlMlBxCWodAKFtLeURzuYtyIrlzknQzSECBoZQsqddZPQNclyhmTxMBaDguhFnqzYAQPIfhmCHNWBMxLwGqPcGWPzKVUdRQgg", "IisCZmkTKnwZdeuEAfzPgzjUMTmKBybAypXiPWjGlwDERYOusEBEUliiAsXrfOeyQWwtzzrNIfmhlfSpImSENNXZmhYZnnsEABWgJgoHVPhRXtVJpBtNZxRyPbGsvbRMoLLISyrrcllmPLkZvyXurTzlPDZYPgfOToUXCVXuLrzuBMQKdGFsqIQwyMZfyrYpCGTvIsbkeLTtPnhTNvCokccypJTSvYHcKhRLPxDMJxaKtZrjqczixQMkjRNAeohOEFSEyVSjUwFGGlLWGJQYMtYvyDXVGQGvMNGjbTnBsvHUjsYyQPxVFIuVyLYwSoSlXLHaiwxIYclapnXyNlUTtOjtoFHQNOWFmDkOTDYxwZTOKgQHnXuEJgBLdupFmRqUookBSjEApXurTOVPcsCnWhCNYkzGwogxnbNCOnpnfULwMRccVWOGWvGveFsSPrJowJCdvrecLuBCbskBhMSajvTXZQVFBmetmTJwNoTyJefLwVUHTINclPkCHEnZfAum", "fqcmZCIhehNlDpRMPaBtajwDncmyUIkkIVoGIvQlMEGBVkTTrdVJUPghCxsVvkTEBEGiQJMhwCtLHCijnrWerCtyPfpvmNnezbqpZDBakQwooZQqzcDyoRnqFvtAIycMcWIiahivMGTkNhciFSaefFaalmEdgOsiFNqCMgCEykPTgwexJobaxWGbhoagNLOMCULLzYaOkJzBNshqityattFioAXyIkbykOcRWeEyZaYHKkCMEeMHAEOWJXOKoeaKRNcyIeHFzJRuKZdovrxKunVwLktFaZaTcNDYbaGpAasjLScMrLwEEWyiBovqjETgNAHFDRSvzrQHAlOfAKngBMuZYjlzAfuZCIksmdwMNEsVtlPGtcOGKcmsmqvwyAkCbsMizThsUFOywbIhAIIoimdtIZfxZsqjQYnqnUTorkDEUeMaVjQZzerMFBrJUFAwTQxSFpFFRBkmgJLppyAMhGwhXsLNqynSfrowycWFPwzgmlnHvPqduJsVJkWukCSp", "GrHExdRBELwPGEHzkAomKhOoRYiOyCwEDNZCfNjzqlufBsoKDXElvpmrzQRhTNxWKOJZbHBDJZigyRgyNlLJufPUOAQkdKNAaLKCvOVVxoaeUIZHkjLEatXOoFAyxqCIhPzTxHZAfZjGwsHkDNYxzYGWkgjtmUWwETyZRmaagbzpSJfGbGDzlFeDJOVeypQjEDyahBwXGGAkzutDvgKLtPWbZMNviDJzificeHUjglgCGXnEjdNvIwphwiyCIuGavrfkBNXVblmOhZGcJrfOuKonIvJIkCLjAHSVNUXSdSnIDwmxGSsYEvbgWkAbtnWKQGxnsVlMMWWHyrfCtCyPYtBsnnrHoVOJGGCnZIOYtPtnGmoMNJzkhboxXKCouFvBCQFYPEBbNKTgzryZtHDyNAhbpmcQvKuByRVqdMisNJQjqSYYogTOSpMsdwdBhAoSIlOucEFSKsDsuUbHpqGMLlAdIDtOitfsPvXuUNhKOtfvgAjLJbvsvrMzjeGJnaky", "zqWKkpKZEVRQTvYNTViJObEGjVyWrRGkoHafFRFcImIUiBybAfxWzkvLZDLnvpaxdubJNQSFIwPGqqlNPeZwbmNBgZLCnRwIBtlxrTsKPBLDcZMKUOhVMUEWiVXIldrqhQprlghomUuBItjRcvGUZbbJxqwBVQIFPLUlUfaSfnDWxsGwMBJqMhqLUpzErRGNrhskhkQnooKQzNxGzWWbUAbzABpnxxHLPpIuxxMBkVZhukSXTdRevLtneQpPUTNfwLxCMxPcYUcPEsPbqeVoqxprMaMbxrfvmXWrEYDeYbGZKfFXjYJMYFyUmNJSBXOBDAruBnvPEcfMQJxSmyVARCucloARnbwgzEumpitIZruxrxxAbKBQGxvgbeMKvqKuryUzZoUbGfWbqYnBtQZpdtGuthvZsBBoyXYmBTOqpGgSvgazwPTSlgfnzOzdEKYrhtxntcwYxfEThjbtKLZCbxewSJLmneSsLQeQJwsyrFFySdRzqEQdjbWHXZfhTmXk", "lxnRlZWFmGJvKWITuxBMltWZZWbPHDKjCVnxmkADiOSvBleVikHrPBFvVqUvFMXybwpOqnneDjpjExcdbKqaItfyjHzsJMoFMLMOIAZfaQxdfQEpDHJtCZfymmOuhTAlQynctfiuQUuowXeHWOzuajlywQzJeNgLgYbtfyMusQGRusAkOyfsPqFYaUotBDNZoUlUgKxPaGTgCfaHYeMZOyuvwBYYNOOAFEXCgKzsQCGGQwQmLNdrxIOUkEzzqBasThwlOyJHoaBdXbIttDKzSwEzKNlUvaQULvblQBvCBqSBsKCJpOeitkLNjUadXUatZqhZmyDdbGcJZEBTrhPPuOanNCmbyggTcXERfOAWTUAowUkhFDiqxIZznroEkgvZmGzTgnoBiYSPuBTXoMkQxZENwDkauhviCPOHVCxkGnTVbsvwkBEakUdfOxfGquKrADmNAOvkNGqTskVSRcUYSxLHqMRUGMkmTOVmnZLHQJprfVtMApJyxJwqhfyZwxwA", "xhWYzdlMDQInVcCCmpVlSmScJLsnaRNDfdyeSXmuskzjxlGrweAbxlEhvoCEGQVbFzPAKwaCEiGebSvRbmOfhRBoyTVDIkdlDwXxZOCLfduxXuXPbSIthIYqWvJPilsEOQpiGWumSvrquhBngCCiyASMEnwdirbejqbzjzWYfOKwNzCFpDlbFtZlTbGBjsQbZgfQEzCKHkdNvivTUTrMwrjZTtFGqvkdrRMTfxqRiZkARDmUGtnMkojkUMjxIoYYbFXwhykGTSeREhTeKzjWptiHbUrCJDgwDqfUfcSotTemoZEuUYFgoeNqrVxagfjtGGegwvPjuECAoFsvDalMAUoMAMamoUSswNSffplzJZINVXeKXaxHhesMMLjhFJUguDGkkHmTLeUjhUKUvEjcfjyUoasHJcItZTzdtFVGXSUvhxQgLHjLhOPyKcdxZpeMWkbjjaksusQTtCbakUMjtKrSSzWVKddhTdVIqkikgHWKCjIVeAbTsmykbNdTHcwe", "hXHbwOapnGGoLVsrhESCXPfJQUFzqUGfgKnOtDQAQkFfvqaDVUMnndqlgHIuogaNMmMfiiyMxyzTtyyqlfEiLvUpRhIkBGXFfTbUyfztlmrIrkiTdIhYGBMdvJgBwNHZvuPuaxnJRoCsTOpvXoGgOilMdtxctEBTxWBWFlKOcigFrObrLjneCAfCDfQCqIVLWxVclCgeztYAydXuKMjuCHedEUWAoUDSXuiXUPmMnSewczpqsgezcffMCviuSyDbOvPCJQjbgyJdRnzLRbTCdDzGUTtczhPnizqTlFNwXNUxIOFvTflDXSQquiWLBUiQNJxrOIndiXXxuQTNndJNQGBBfFRquukcEFcquVaVeJdAIJFvxkbFtRDSXxQpgRCziLDsvoCmiGlDeCPwstYijQOyomwAPyJCpoOiCZnMQVuuocnBToyuGsqycePeoljstbpzImxASxiBOQbytDejoicQMJOqfpgKKuwRGABPFGAZgzbUJxZAUKpAHPDGKWKr", "AUWLQpEwgRCuLXnuuuiXJxCDMXBbTEkXWTJhcsPEQCUgKdYcgvDkSzwCspaQxyswoMROqyflPByZKIFOpsWXFoFFVvOuturBtOkNEZzavHZZOWdVrAEfgoRBjbVOOWYdzTlutDwQimPecTSZCWhPxIBZSsIMVoiQaYeByUwFvXOPezsRutOeFZoDWSyIprykpmjpVASGDhqhZkJthGWKHSLElCqqzJiCOsJOwJkPcoXIHatrGadCrgaCFatshWKgvnPcSBaFmBTBxIFbuCyuNuIJUfgoaOSnyRdiBLrPYsPUzcnsxZNimUvkghOkWXONcUaykQPfrBWPRuQzFsGJZpGwxZAPDpXgmKBEQgzhdqfxhYBQZENffmYJEXWWcIMEuTDCeBxtpbLtoVuQeHwUaYwXPerisWJLSPDQeneGfKXDwIODnvWrtYBMGKPPXEUyaqzwyZHWFYmRMAuPfUVlTjeQFOnsrAoppEcGjnKTEqzmeQwBxDpiNjBOgpTgdByF", "qxqLqdrPSozRpoGRVQqwhROiSIKJOATbwaHsRKxHqOuksVgpQPEZBBBBsgAYsTcvVBRBtGZPOuAunbaOjBPXFSOwWbflDdCpMRqDazkLCFqPrzoCtePdWNrRTnlkyLYGOWtZVjyBLzaRyquOBUTdPAwdUncYWhhrUOwTVphiBvoLsexQEkJllfnMgiqavykYbVVsbqcimJizZgUacLOphvWUcYvaegDpTmstobXnZPEUwgcMAUEUCzMZCREllpVrtlcyIyyFKHCneSYVFwTeLAeARSGvdEZPIpRFVBcnvWwPMLlrUwRCAPFcXcCSSbnVzNhVSNPkFcGSHnZbveaaYQOuwDebWVftfGIGzoZkmTbszbrOwOLKLCJdKMRBhJFUOrgeDfcCkaZAStYVJfbdjFNFIXxMJaYhNMFSywheaJrUMrFhdfqwGQaFnvZjYgUixHTtkxdfhuOOBEdeKHSkaDZIpTSFiELtmAhGuRkUaZhlDgbBsxfawSaceYGSNzcH", "GwFqNyWGxTABBKmVYlcwruNwveGnCiRkMWNydqGemwfXtlQCwclrcjQjxSKaHMqRhTVzCgSbMVNIEdAKVcGHVsOkhLNtBjyOGNytbsBjgQDixSZYpqETYTjUjDEeJiyNdawZQGGZkwStCowLvNNsbcmZqcMZDoZeeewVCNtmDhgIIoPTBgopaodUbOElRSGfCzJvnDeEDVIKuzjOFjPDgAeoqnTUZuJnRfFsTruEoDUpcshtmyrdZQIiPZNnouMPZdOkqUbqKYtlmpDgvzTfxUzLLvrDWshbGCGmRUvsBuZvdpVwElOpBFvgkdgwghmxMDBpreRyCaNIeeYMZYhzFzDeikAJlZIKuXsVaJXojgsfsaYbsxQleHsLuIsedUHbZTLrHfPvybuXtGAYEgriPYxoAwzLbVxJQdbqfEmRPQrCLeiCEADqJYOenFbgwSifPIABPBhTqCkHNypIxskeOTIHTNSqTPrdliFECNPhbHNjNjwUuLQgYYdsfjVtAGKn", "inbXjEmCRLzKcGPFeyvIUmTDxIVgLsIgpqKHUeDkQHqmOnMwEEPjjQaOKcuYWDBGPCisXjiAnYjMFdHBkQQTGwXszvZFjlnzXUICznZcHMeUxzlZBQkFkoNmQBvaWpHKSELKPXSnFYsyzghvjPTSfoQjwVBzjgdyhrAaZeVRTbmRqgxQNPMqfJaBSWVBLiMlJOHveuAbTApedpQqskkQtuMzJsaXcAumWwvCdixkAkYZaEOFHVMrWWSpXwVtYJsaxdmjqjdwyMoPCTomKfnunRZYfezRelLqbnQYUstujfBBvKGFexUNdjGVtvXqMqhNolyUZebmRqcFpLYiyLpYcQYKrSanqBabzytEnASMnoqDEEUypJmSjvWyFxerfuHowslwKLhuugBCScjAJGtYYtGtBCktiEHGkMERKrFaqFaFJbZjuQvEPkNMXCabPRejiHBmTuwMVdHaXeJGmmWqdylcHPCdHyrbMJIPIQiUuQWWvwhGsXmpBqCszOsKyBiK", "vDbHCCSygPPiTCqhjfdAnCTAIVPdkvrGswomWmdgWQpajTqMXelbBRIOQSvRvvSPXxAvENuhCLLPUbEVDQtjIUvbKQdqZdKUExAMfIIoOUKJCUHHKhZGCMpnFLmcecZyidXeIGjIFhBuRPlmvljhuFDSIwKMTXpphaoFyFWsJIOGCpRvTfxVVeugXsZpUYLQeaXejhjldhZQEUBuTINmMHFKZJizbPIwEDuHUvMxIfLRyTjbkbmHfsXcxwvqVoavCVMKDVAkGtSdtDgXBNZFrahMRRdWTBEggsWoUZkVuQKcWPktpNjPCaMOTFPrjzOwcEmrtBQGcjSbuAqgBUibzJCNruqcIFTmkXBVpgHWzBMPYYOStqtblzwhBGezpCaSXVAUyvgRBjQJfJrVMoMcQicqNIiJlzjnNoIccFiTaueIcPcRFqFiHkmgKflRjkPBXERDwCTNUrQRZxeyRpTyVAPMHRUTsWpLcAgIbkmHoTYOBPMXWFpmYpdfCTlgivgN", "zYRVYPTyNEvjORzLxwqbwjfPLTxRQdaXnCEsPkUjHurWXFqWbPmqsrqzpHEJLiEdZNbwPtufyJAqWCsOztZHpeqPGYIAuovbHGEyoSMfbiAwgBGnMSGlvVYSExEhZJqKDZnOlmGfuTgAeiIWjnsIzJMCogeUjYhVZkYvtRmHmXyymdtVcRgLPraDixOKdujSIwnpHThGJQgiGLUqyuUbsNICGSiPShgloMNgdklLyvFeCvPyubjzGWDvqKNVUrvlFqxFZYASjtMlVKlHDjgSmdOogJAzeSecAoWJuFkTJfZWOKCiYGtTiAdxMoaIhdcacsPbsdNzcALzPAtkFuSPUxgdxaIoLkQmAKHwwWvqEkgNhcTKpwddKMvMaSmnIXYVnmoOtJjbkfSGwkzyRpIAEOiSIywopOBzyUSixeFuVwPFiZMdDghjwvYyCbGHKNfYBrmazBHikJfuKGBkRQFGgywXigPJoMHydvuwzUJzvSNNwvHkNnnvdPORhJtSoqwz", "TXgwRPJrzqIhrssQVCcmDkHGSmHEuLdLebWXrUbDBPSPZGhFWTGHfgXMyNDQKEbGccDTOjAVlLeJwxWLGOiECIxUZTfRaMtYYvLhtUWLfzQzlXMCPsLWwXhACxraibdKIoRUmsRjtYRidcwiHcuMFSaStExLYQGPSjVffgWSLDrpTGmMhKKzxkVBwPsaWnpAKzXstsfOrtKZwSFqcvfoOrJsKHtUBGikFAQMaDyonReYkZKazOSYaZakzTGAYLdRNBzQEitjAcpgUwKmCGtdWRqVzGdmZVJvywOXoNxOEdQrFMxaRaADTrHOTJZxKrzSdGBOAennLuUPxIQRcxbuGSgZgQNpXpzXRaFUUKxlxgdSSuMnuunRVAaZBWiBTJhrWGRZLXYuphcfCDetzrjjDJDBfBrQEjdxQzQSdeCKcpmgecnhOqBBxtkCqXVQEkIgSEXQGBVgGeZltUorxOUJNnnROuXqYOLxyicBQDoIYNnmFufxVPxZWGBatNPKZRys", "gqjbfxcTMjDnYYyrsqAsjExUwzPzIkVmetPDTAxhavOymNtQAwoJsxwoFexdqvCxeElwcEoJLrErGkeXzOdtWLirBpzXPmximDLXNuSCNwohFmuuUNUZFRTMzMQubluBWhEwoDFTviQdQWoMTmyAxGhmaNfDYMeRuytrZtQZnMLcXpkylBfzxzLSmwLtcQnzvNWJxCPbFmHMSadTcUzBMDbFHaEzVUUreeqaWEQVMqerPpMdzsvsXGNnkDKOBWUtGLzngdLWuBuOZvhVWyNjTZhesuZNVAdFhXrOpCDiHMZQGVJAgLhSjiaRYqAWxgdSrQFHrUfyGTdgfSUXrvPBpnsMRyZULdoijtKSKsLAqMPqUpSuJygttcRPSEynYRvLPuAAGVocnfRqdpYDGIZFBsIOJYbUcJwxqkGCKORAHRuuVCuxxCGJPzuxICyOZFuagyAowETTBwaLCFFywTzSiiZYgXPYZcOiYpJFgACjhueCFbuUxTKaRQTvOMQTSiPD"],"c_map_float":{"c_map_float_1":48.354996, "c_map_float_2":1.2870226, "c_map_float_3":27.926424, "c_map_float_4":29.315119, "c_map_float_5":95.02259, "c_map_float_6":97.42589, "c_map_float_7":65.73706, "c_map_float_8":51.889984, "c_map_float_9":14.70999, "c_map_float_10":37.00225},"c_map_string":{"c_map_string_1":"pFPXEplNGitLmFLtYJcGQmdFcBDMVYwEWBsJsWkydEQEnfeHVStVJojwiBMLLwjpHflnIYrpXwGIityDavMHwkGjLdBKnFZuTUifzuTMvpxPiImTMbsyTqWmhunkavgsSFKVEavoxQKptVnfDKnrMUgnjVIWtFbCKzBIGoWGgncrjmKlAgPtOFpLjiQuFkcglGhXbZgmFIlCnpXgCJDKfQJVCahIMJvHqapfqXXTZNIPHuJadmcHquCDsNyuWFoyNPvzQDLsZHSXLLYKayRuQrZPvmaHBkygydeGrguMrmIQWIFFiMmuduxSCeCYtXamOjRtVUYsrWbpIAnuLtxrgrKrHqhPbCOrvoQSgWkjFerixqUkiaAUOKEzqzHautQfLEByUCNwZVHtjYKFRRQGayBQRXDWJExOmpNfxeoIzmDchYeIyKMxnFiwFQJwAexHLddeIpWKoLwlVRPiMWkAOYrFwaJUOjaFjpezFEnvrdOgEIZRlHxDSqcSpgnXSBmI", "c_map_string_2":"tFIMTZTqckQkmoLbsNqbwWKhRgbiUCqqgJZnqDeRxnpKxoIKDLTIpvaTYPMMXZGHxgBfuaDeCYStycbEwNtItCrxqvylfUbKbzdujwxoaMoXGcuICJlibMvcvqDdUiCJzymDsDenXeIZkjVVeEtrBnRBOKwaydcaqULZUEXdXOcaxaaqCcnGhzShhvtKhynsnsvXmDVDTCxcCyhvGNqLpevSmgRIIHawlXWwqiqHlbjbPrzSKQwxmIsNdLGXnbrddbySQLzLOutOahuehwHQRaAYgkStvigFbaHtHGGvViTVQhuYVBjBLwMXzTEVbIEooBzrXqtOvxqRPuRzSZdzguteTSxwgIXFtddHhVunwYebubTPkPoGmcPjYjlVpxQdTJOPVMoKDnrAsJvDwshtnaHVatBSOnlXQEgCMylAEfRGvHUUpqVLKNygTgyJXSzKufiQMBoAvhnovZsEHDYyhfKKbiYlobghgcvOvigjxepYAokLnspoERSKOXGBQttl", "c_map_string_3":"lAwjSralmCfbcgOxtfixIvXfPHsFQjfdFMEQCggmQZSUPCygHmYfhsvRuTDAKVEdAvsWaaMgpRjuBKNUNSZFQgdcZSkZQcDsiiPqLlXiSPMTYGOnclOJKqiSPAIjvamjcsjajtoVjHKMeOwNZtbqTVmQXNPwLkKNFkcokYtmMXDLilINeuyFYQZPLPJNiaUuKgLPoZpiPuOMbtuXZsLXkaYJJoJGCYlPvDkjsiTQTGOgoNCFZGuedwGxLrBrwzLXxtCzQZRWahguXJgXGPBJuDZokjeUjTLDSAXQVSKTMlUenelPkZzYDAxrYkrIvkZNRXiVWtTLylHDPvbUTWIPFfEhKRmkecOfSVFVigtnHiJewNmsnVjZzESBAiiJWzynkPdFwrZPVQTorRNUJEadwmewaVWNlsElZikhuOByNfyUvpygNIMmTCApraTyyUGSSlVrMKsBQhtSWagQrwhLDaIzhIqkSqxgcPRNGXnGXhTSQARedLevHXlquehmFLXg", "c_map_string_4":"OrNnVOvgWdBfiQasuamfrozTcvbCfkaLdSlGNjBKhLGQmFdMFjqhOdHslmZBdwcAZFqgteiYYvMqvEolWOAAaVDhunkPVcLCuJbnTnaVJhTGTwPRlfMRquYXLHOMxMjZrofoNobjJatLjcZHQAACsLsQJXslQJcWDrOuQqXPJgFkrvgNSveQPLmbqoIAjSSNhvNOyiEHtEapWMRyRErTAGSByoWUsULxhmjJeMsXAwiIpboCRvsUAtNKwBplkBgnJGcYSkPeLdOnDbkkMYQHfQjCmdcosHJBmFTTvPLRMolywervvWzGsEyLbzvIIfbLghHcBrEvUgcRcqGotXveRANWQLGBRFKqVYlrpElfpeMGkAwXmPYOmUijOMOwZRfgoPokcdXZbImwcKurToGDeyUYQPNswROsrKqaquWbDAzdEORsQHvOYOesbRWLxsaIBMWpibjXVoCUaTsmvidtmkClIRRxzmPtzimwVhDeaVTCjcbXgMnIjjGLCLRrvCnS", "c_map_string_5":"tjXArgbzjWPWvhuBnLJLdHpgYNPyoGBkkFGCvOqCVUCOOWjxkNKJJdZUUMoIjGvZRuncbRCujRQPiuwoLEAxWAdTkPqQoqQZUmQPPcnMEBviiPThGlWDYNllFNTnZtobQjqsWdiEdkiWRKlJzcTJDwqRXOSpYxDNxaMmKHsKTyLHhPElnJmlRvWPFLApBDChMFQDeZmwfnZVxWkeqKTERLzevNWgqpqPOtkTPbrnNjKrshlPEHtqAjbBiNOqzKUZjhDtWPalMWGrvyqJWXCpDAbRtBxIsWvImhsmhCCTmJjDdgiFUcOKHUtcvnVPevHaNBcWADhzaHcLCGGhAzseVjylpINMoWHZHdajBWmkpaEZZebWDNUoPasaVJKLWLevtzsBtAYykRBmRArnTqDQstXPEislbVvshWxKeOTwKkQyqWFaetxYiyiZnBRiMEjSoGztvMzSTqSYBErzKvUHRoShcfsiKrsSQRhILQpUBVuBDBGfOJRmQfBtOAZJmSPo", "c_map_string_6":"HcJRmyiMhKcsLfaglpktpBOsBZyXwWJmhRfDXNiFofPdWdWOWHUgttHQgWlULmGMhrEyWPwUqlFvYsVJhVFmfXKwAXPoQTKWNXhxXKmoFFaIbDhhplWSYXtqyltuDQeKqjlMNXuIsrtouoCThtAsaXONvcLQAEdAMIvEsBMbnlKNGObJXnYybigndNITQWRjdRmfNAtpBZlPUfEyUurIXjaAQDpanRvydndQoBoIyUkbKBpaxduvcgInDkgJGiWNllBpayobweGvlfhWToNCNjmkanOqDKReXfIAZWOFNVUPqMgAYsUBAwNXTVuXjHazbLwOTLHGXQssxMoJeLmKqzLGUSQFvbyjDhHFMXqKWBNTOhVdKItqedgiyFULkzthEfdRTKwlZUlbGeObNMdOkXbNvfgcGgCAVKrIjwCwxSoqcCdWWNzEGTUrBWtrOcFbKUmVXgIDFzXGdfgnJRAxCAuYRACUWTFNqPfQqaEjrtmXfEsLLHnfRicrxghlbDmt", "c_map_string_7":"bEHlUqEsBIApmVTOXmAVcIvnJUEXGFGuNJsUyrDVlidsQFPYlXDpAmmnkjYlRZOEbCrTbyqhgXtVSjHlrLtVMndlHEiJzJvFnscaZStAWjeeIfCPblpaSpnODyZrlokNDIgeDajbsTZFwqtEdqnyBadGsJhoqRvXbhKZwiHoWAnNOqEjGaRPcdLxPMhyyTsZaOOyeFVCFdyqzTiMKqOlaNMmPQZxIdcDYwIaXhUuDfChmnFbEVBBJSevfRNeKiiJGWQefLlKaoYrsQMZcYNWtUzYRTipfvqhMlaWjslnFWNRhWwJkLeUnQrFcwKfILaiEWNgyheFjpUBmzpIbHWVwiXElUPRmWAqYhWdowkbmLnRryokpHFXvJgdayAcKVAuLawhxactutLluKrFEHCIzychUTnMskGGSNDiSJyMKixhygJNHPExnDMaMUQSejVvTfQBTqdEjraHfrTEDtekPDXIKzCmOmpxEAfHSxnOywcagwEUpznYrTCLWtENdoMo", "c_map_string_8":"ZjurqMgSrXwaFUFIkhFsyqcOFTpIoYLxUsbxYuvIKSLDlqDwtHcaWyCNbhTvXHXpdraCTAcMHYfPonQLTJtMabqczmuaqDNYkymQpZInOGEdjwvlyvkgLsCWScBNaiDwrYuNREOjNYJsKvXujSrEuURxzTfdlQlESYkwEFVYlRpGMzULcPoTAFOHeODwQEOzPQAUmpWsBQsEvbtDqltJbgVScTNrndCVOsvcfAsWiMFbLbynsvhIkupOPWSjkqstGVUpUkDWnaTzFebIfkUpcjeWqhwCcsIULmnVukLNEsPKKUlwWLtQEWnSIXBbdPiaRYqOteZYRHaZkyyjuUhcvOiyMNEaopJYCgOdvaoVhuSaKyuXFbpLajwCtSmFjZbYifzNCLGuhAAVymoDLVPTaIruKANuwFatcgWpjYVTZhHeAweBbvImXdlqghxiMFCvkfRBNNvAtOLoiMppjwWQOEVWMnJKXEJeVCZWSURIhaexFDbyPvVIxOajmwfzWsLS", "c_map_string_9":"KOTJkBIfOgnDXdLNPZdUfsaSxsnCFURFawnlwHbsWXkwaYJVrFfHpffjOpIrelOktwUZzSoxtWXRiiRbfpNjqmuwLGayqpQRriLuyTiSQRzqUkIgNCccQHCYboPLBEohsnNcHxftqiopgqBlKCaJAByQxImbAGfOZmRcjMIyrkltLjDzTSyfkPzsSWkNIZadFThmpzbayhVGrFcbunbhcTqQssCBCqzCIMMcyZfGFxePRfsdkSSTAvfnIGbDPfiGhVJhIozJVdrjFCElyeKQkcSvloztCkGkiwyAuXlQAAjuyaEJXRDPJTKxQTuWOwBAGxpMvwDqLqWeOLbeYRSOoiPmIIvKOAxLzJWOyXIfESHjQSSexXgMagsutspMRuMAMFrJJWjUWyPeaOSaJPkQZxIMANfaoknXZJtAEDpcWiBYfcAhtFdIraAXHDXXZxXKmNIwnLdbbCrIHRINnTMpyUhaGmdpXgWKxAnUhwbjPPfjgTwvEdkMQHnjJvsnYcPA", "c_map_string_10":"GLZCugNSMelcUPreGOVALJfOYmLZyCAexbYIjIexoAhAOGhwoLsWnvKgTusecDpZNTmHqFInVrjjRYlXiDWQjYoeBdVOGwczKVXHQXrRwZOhsqyJGJYsoYoiWjHzdCNURptJtsCilKKskzosKsDZbupIVXkwhdJIDSQuQnglfzRTYSRRXEMgflsAbMIgDrMWNdDcSIsrDeBFmXaVorifwPDjebwOQKCWWJqSyohOLMUksczRkWcFrMdPIHRFGcSfCaFQUJaOOtPogDzwckDnfvXYnvHXzVvejEzdoIkVvPiIKLzNaPxmvanjmgnmaVpJDACdGGOdvogEBSqvoUHoeRVJOKWSJcyHVSkmLiqvJgaMFZjXcmAVMpdWnKjfvxkXxJLxvwNNXCbQHaxOkGSrzzeiJiaBKNqPRlUMNlDaFmVtBWBYojHoMPrUWfTAHSwqyamIOZsMxrVGOjMiSFYafDCEOSPchXfKcevFHmkzQcETIOiknrcbhrFYCHTvnzUp"},"c_char":"JXJZyhzYHZ","c_array_largeint":[-921051617530971564, 2453751597079972986, -303517050135929857, -6943286341597796913, -3829526446794605566, 5882585684629081077, 870736173310890214, -4626147593571953906, -2611291110741758658, 7309264690222107360, 2976295765046601669, -3590954629340245687, -1953707377240933607, -5864086627214378925, 8606889076087483757, 2395125679221015580, -728815582189878892, 7206276779548238377, 8843031058021215842, 8868397780611299065, -723347034946091455, -4525369571146760812, 2477983226285154833, 4779817028085178678, 3551583423687205411],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_tinyint":{"c_map_tinyint_1":23, "c_map_tinyint_2":69, "c_map_tinyint_3":43, "c_map_tinyint_4":0, "c_map_tinyint_5":11, "c_map_tinyint_6":-108, "c_map_tinyint_7":-85, "c_map_tinyint_8":91, "c_map_tinyint_9":19, "c_map_tinyint_10":106},"c_map_ipv4":{"c_map_ipv4_1":"81.241.208.165", "c_map_ipv4_2":"32.212.178.225", "c_map_ipv4_3":"31.251.101.208", "c_map_ipv4_4":"117.143.175.216", "c_map_ipv4_5":"4.127.101.174", "c_map_ipv4_6":"172.86.135.74", "c_map_ipv4_7":"180.191.116.54", "c_map_ipv4_8":"72.242.31.41", "c_map_ipv4_9":"101.217.28.29", "c_map_ipv4_10":"188.89.45.154"},"c_string":"gfnvRGLxKnlhQFTQavGBXLpZQKkdyEKHtyyVraeJoYMsMbpELnSARZtDCwXDUOgRCWNANoummGApoGktbMKtSlWAbzsTtlgcMWDcinqIXcHsJDgyZZNJmGrxhwgEbmkFbzQKaZLoTcGMIfhNLojnmHxWmeIFRafmXFsZLJABvWYWYrAOgUzMrQFPfZIxosvEAQbBxbphCXbHYmIAGwQTfRpCHwCBdZVPbkHRHhaOMmBFqbFNzVXmarANwUarplMjZCsbyteBBvrFCtoROcrRXocVjjHEENcuBRVyPkybqwtmOqPrvGWjxlUCAALaDVfCrAgZGyKgUogezbxZVWusboARwnAcZjvllpIZtsZOcsRWoaQokcyigaCrDMDrvUGihMYOSjJULMjIXNRLqtkLvpBJSpgEGgqUjVYMlokTRzjkbGvaXqjkQOGmxwuOdPIrPseCUfRWleJNdHCDeWCepsKdNElpLXSPbdsiPvxzsdzrCNxOdiliPpxPWvggLIok","c_ipv6":"e5d:c920:61ea:ea8a:70e5:4e6d:aa6c:eecf","c_array_decimal":[9.1367, 58.0462, 15.0707, 25.1477, 76.0195, 9.0480, 31.0562, 74.1152, 86.1635, 54.0055, 10.0017, 3.1340, 48.1598, 57.0870, 49.0606, 32.0626, 46.1541, 85.1945, 86.0041, 14.0413, 84.1037, 60.0542, 48.0271, 55.1959, 74.0712],"c_map_largeint":{"c_map_largeint_1":6896073124536217168, "c_map_largeint_2":-2828746789167227438, "c_map_largeint_3":4960429591263400400, "c_map_largeint_4":-7936382230918994628, "c_map_largeint_5":-135532981721179831, "c_map_largeint_6":-4326415435289817748, "c_map_largeint_7":-7680738648362513116, "c_map_largeint_8":4367392911152144849, "c_map_largeint_9":7318282355607808263, "c_map_largeint_10":-1227109630001575821},"c_map_date":{"c_map_date_1":"2009-05-22", "c_map_date_2":"2010-11-04", "c_map_date_3":"2015-04-20", "c_map_date_4":"2015-10-08", "c_map_date_5":"2012-04-28", "c_map_date_6":"2015-08-06", "c_map_date_7":"2004-05-14", "c_map_date_8":"2011-03-24", "c_map_date_9":"2017-02-05", "c_map_date_10":"2001-07-09"},"c_map_varchar":{"c_map_varchar_1":"VLzOShMbXeevMYMGhFNMcnqLTlRAnjkJKNPwvOzoicFdSHUQvEhNxkWePQxRwAxWOMJYaFQqnrtGrqBvSOytvhVaJeKlcHSoEQcJEfyjKEXsKHPrUVAYvAtnKTEPaQHZOIzWtyJDlTGRBCXERXgGcjYjBcQYGSeJjWUVHzYOcTAbeJoPGlmGBAEcxUbqyMcHzkSbkLPAltiCryXaHczpyEMeGRdkVKIyuCdlwzHyGofHjPsAwQdMSdekiYWYXHsg", "c_map_varchar_2":"jEpHQExTJbZQrvkCvfFKFerEiQHqsoDuieYcHuslCjGBbsUAGMmUFRTzTfCLgUFFeVJiPhdZcTvVnFutXArsLezAZLbDOfjJVawtlgyIsWdUHBdUFguhGtiNakhadMQEGxVJZsnLfmEFSotIWCTAQPLVLZQntcQVxUfPGbveysGYKzBqVQOiDuyZbevKpADrrvOgZyIwwgoUZFZQEMquLfOqJVofoitaDeIkcuMmcdtAfaJDgEzVhgZedhtLSEgR", "c_map_varchar_3":"FWFzQiUvTpwRuLCiMdAtryWshlooXfFWiublixdKXJOaSLmfeLlgnYNPnKkDsozxSmLgHaFxyyTwuxnWxZtQjWkBvbsrNquQOeMvloHpTraAgLBsUXefUWZRHjGXTkmUrQdaJKKDBTRcRQguVfsuXyjuqFyLLsLGJPyYmARQmKHrWhyVLsdQydwyDrhBQIFNULQaszPtWQriLlgLsZnwutdLMBMHcvLWUcCtsfZlfnOfBxxvaWAJFXstRpeyNsZw", "c_map_varchar_4":"OfjhLbWqHefRImXTIlvSDpnFjENTJWCZeRGsCIPKeyMWVdDngItNTHGRFdtuuYEsBROfIVtWusFokTxWJSHoicHKAPqtwbhmdmkhPWWeZbBSqBKygzGLVHDHnewdWGyqLUAuiEqNLVoxJGPYkYVDsghjvEHkhadaIeTOjqzuiGSARcpXBfQxtfnxTpmUBAbBOkRkIhXuavzigLWUiaceSQpUAecAyMmrmAeXSsHBkHfTmlsFcPAKczXruhwOjqbd", "c_map_varchar_5":"hZYEGDBZEYSmvpxofIBpXqoMCabSVvVrGOKozDuAGamKDQdcaGMAKhGUkmgYhKmpiNXSOYSjfnxtkZVADCfbxwgKiBeewlekqrfKtemQIBXNZnggZCdyDwJJAbEuRHXXflwxmgyVPOQEbYHOBkVOQbWKzAQrPGiOXYRnJTxpGQbqyxaQBDMGHmhmYyPbGPmyVMyEiVMGNWhZpoidZeRVZVkLNmlflUFhLHxiFHOgtKNHgkNybLnmDuOREoGsedEF", "c_map_varchar_6":"yNwBIOJJVlPXvjjVhNORaJVYPqSeSxWjptcnYasuJjSJdHIkwjWzuZFZJvPjRjhQQoYIFQlAseznkwgAnmNYMXjYHWafKfPopzeNJsRazMiPkURFWGAOfDSXlvchUgMPGNFlXnHJXhvevxVegzgcPVjHgTufjEjtsdDcPNHyCXtiJeUXcPmrjCWGpnxcQQUNbFOwqHUcvdKbGSLFiodXLKOvHqcAorDtjJDHtZlPFPcEOmrpWluJiPoTlDurXxxb", "c_map_varchar_7":"fjCHBQQwkuASQQrdDWpOCeHfZKdkxdpbDFRsMtcZmGpwUWbvUebUoRHIXVdmoQZBHnlWNtSXoPBYDUzTpBlDfLghvNtUDmVZvFwEBCeycppzNrdlhSDfNxcmAkelhWInfDnAYMYalXBTQFMUpBbWTXaSMkclwWfdbiOFFalrHBvoboGzdIZCrlsgbjCewkhcuyEpZVVjPbXRCRylZDRBrbCJoAeziECrLbpecytLAhHhlOBLySwFUQVdWeDkFzmn", "c_map_varchar_8":"akQvrUmsqEdLhZIafNPbLjkVcYunDoBhRPwqEHxBicRRPCNqADwfgThtlEuIpoOfpKmZrnVklRoZQfsyalTykIPyahjjYgbdgThotbilpJuYdCDUjMnvwfxiFNFRwfdWcYfbQECTocmoLMiiLgQUmrrDxrPyWUoYttZToZBMHHuYClWSTlfALMjaZUBAZUsFCjtcfZzIoDwkhxIqWdWXvFOkVEpHZZfkWibRQxFCOffZNRYtzRItJKUgpbjRwQCm", "c_map_varchar_9":"VmEwIFbrotnWwzREPQRxkymCjJwxHhTSoabcNPbWTRVOpDQQiCDlyjgoJMumbAmvTEeXmuULkuSXTtYoaRvdCeNGDjdCEGVPKirvOoumIPcXaNeJBbDACmoHLpBNDgajJejedHGmEywJTCHsLvUgswiLFDRsXEUJhNPeVRuwBGGiRUxYvLgcmNowdcZZUZJpOohbdVsidzTHzmnLHxPhyAdDuUaZOCREfEpVJYcAgNCkxuWEocBAizsrFivIUldT", "c_map_varchar_10":"zZrtbkdxnmimZjbLhoqrOcLkKIzXTZzmFjbRkicCWqxZeIdPrUwMtooXbUlWVPteMOcRnYzIpdbswscLwZCdxYEncnhiLbKvezKsBGStAzApAlhcnEsdoydbuhTGeKkpzYLrndBcDSilRqYjNMevhmCBiZdDazoQauhCDWiiIeOHVlzduacUBazrsEdVVjaETHHPrYKeUsRoYqzUZhpUKcXdRIUDHsrrIMKFYhqnTQctmaTLlpqeQyzWoqaaOWus"},"c_varchar":"like","c_array_bigint":[-7317951394014297859, -7720266139601327514, -128969776065806098, -3870764696411104107, -5963560905811125908, 1591102628819578153, 5612014470930343367, 6514548276203798987, -6747324836830028999, 8903019551050219025, 3140436989874248784, 6993566805478687719, -1198766026938731587, 5531657917762517308, 6956977728591400561, -8768065698852417580, 8697367769178936676, -3371789929679732105, 6169631609936104099, -3685046390500531237, -8616594291180087706, -4648682896566082681, -7180335930158603253, -3197721103507830691, -5839452891132213764],"c_array_varchar":["oApivVhcPfYvNfiDTBHcxbunsvAqcOccSecsnqYqCViKpQYjethoTPvRNwNcFqcuaJmdUHMHJaWhcqwRCcArtiodFwCFoxEnYQTgKAtipvXMgSllMVggTStuMKVajgFovrPpeJLpoVjmwvJTIUcEPfNGTaafembOuxEfuvnlkBkWEseYUZEcMfjeLiPWsIVZvuENbmXsSkqfDZoGiyXhPEsyJgVPLnTuoYiUOhSxenrsGrWiKgaWowQEyuWuXovV", "hReBkZmSTmmAOvwWtEgOWIqdgTYmdiDNcfRghaKhuMflSrOfyJyvilLqGDBHKbUXGqEGNzydHOzrQpZHjjrGaNRlphHEAfbczIhxcmLPUXvPVqeTqtwgGRNfzqziIPBTQfdzQediFNZmBzEEjZETNNpOmoxtcbLEFrmtgJxRhnqeCAqLVyhIOgquLAJMbHYVarzTTUIoJFodojUBinnTqFLYnWsGKQWPGDaLRSUBbsDSmPmfVJTmfCtWuRAYaMUU", "jbJYXJRqTcXoaOxQTvTgIyFGiwoGIALIGNyTAkUnnDZOIDyxPbmyBSatJCZiATwvAmFxmEqboqfCKyKVdmVkjXfASddMFMLRSmbydCeamswmDuIVgzmbYsUmtsatmkidHrwWWtegpDvhKDjihYdXagNLqXuhEGBsnEfrGGBPRTHFCSjEDpGOBTZfXvjcHPdoEvMxdigbDRLayaTHINbUyvQcshnSOKbyFFvrgwevMuiWTyebEWLLcDQDCGKzmpGk", "pkXZkrYsjwfkjDBEAdSZXVWIoLZttaXNkOWmdSgGZjYzGelbBMDzqaFDnPHjjeCeXSdFjETwQzJhxvAxPwSuBTAPzPnpLPWxFWPcIYjWjXwhfSuOJjjgDMiceeyfCeAhOYYUTmMEOEKYsSBqtMWCWHAqLtGtLQBQBioKRVYkLLxMtODZxdbyvkvntTGbIlxfVkYmcFMjdgfOJlLmoQGFCskHGGfZnYmNkevAPuBOnbwSoysFHWPDJJdhuLuVAgtT", "zljaQDVsVWxtVMoIheidFgExnPyoCNiAdfZRQKFApcnKmYhUNTyAxoFwUJFyOYkDmrWGnAmrxGhOVbmfHiJImhhCRdvgpobjlavVWvqCtvhRmxjgHdRLitdcjzcgaiBycFgpvQqYRvFZzdfwqJMaprupLkgYpyQnccezGvhIQgJemDJhUjsgHoUFgGTjTiJapnFNwFZnLYkdLnqaIgODoYwxBPWJShnaCMqkIGLKSUfWKSBSvTDzTjGnVyoNGMZh", "kzyWhWlgbSUqwhPUTQpPKRbicbufyEwSuFnpozUGOCtnjvlCwbOXqDmAMiJlDKBOROkKhouiniFNrvKDPloNCXEPhReCxCMkIUsSumGIPpQVwczeVSnYUHdvrWtiOHhvCwqSZCVzrQpluEjPfaTpaWurPHtEIisAVgLsLCHvdZXHEQAgRKbxzHFDbBRBlEylTsIcDqMqUpvcyoVGtxJZBkgLEEttXZKovWULinoZsvFZJoOUMgBGSMkYtDzJmDOO", "FBCgkBNYpGTaYrnJMIHUopUiILqHEatMZeQjFxnRmxwdkvwkmENQrSSTIsyEwMCWVYLfedPbjIAeCAoznZjEsNRKMfVKJYCWUJcNBeWfYSplgwKnMNgFMQXlkRUwsjmLqNEWARvzcIrbMQWjWGiStooitLiuHkBhnkKOpSLNgOjIvoyALBDHmswpsMlSZSlNtkQEUTqHRbMOANLaNBDKdlGPqCYosYqzhJAtBebyKgaMQctdnqHdidMnwlWusjIc", "oEBxAtURLijqUFGkivtouBeqoxzJFWzruPMvlOjbefEAEWhXhciobDTGpJrnooQhOmubkMNcmHxIzBffvFDwOugmfPVhQefEbsbhjucVXAWRQGEhvRkLscvQEKwsDTpMQojmfKxZOmBwuGHEOPLKBMUHCpYZsNSKpRtrbAnTMmzpKNIiuVXdEjnxKgIdKWzNhgiwYbWNTbMaLJQyTjuppLazlpZEaayrVNEXJMuNmSaiBytSolDzGCNnmicQGTCl", "FfHlVMUbMuXmwlbOdEIjusScLYhSHxtQsfxGTSxHgurlTxXJxsHWWVdVhKrzYKTmChABeGvaBsRBPCJFEnzRfJQkijqFJEegdHjQeyOaAbfMNORaDJkVjQRqgSBDsQOpxIKAwUhtLuedDEOHVmhtmGwflPwSKCVuZqLMfrZEWzsYrVXBVPOaTBsgNiXluSJVviywSLckjrtKlzBPCwdPUHLYNCrhjDeNZOschsBIyDhYDMzgjoEmTzKjtcXUswRV", "zsXFlcuKXpXbRIPweYmONzcsHRmOznQghHdnaVhiJUBKlzSJYOkxvekswShaVjmqYEyNjhjElOEBZYLwRuHPXrvjDZMIaeIpDEKcXMRMZrhgKzbuetqXcmREGGwoEDNlkaXDBDFtMjvFdfbaCzUEmpVlYdNfFLZjmCumBENNxSFhkbdcVnmmkRGebQGZSaIweefZkQmVaYknIEmFxBQeLQIFRwktxHCpusbaWuZDDSHVbQuMOARsUvJOyaZlKNjt", "VTAeSALQBLMEEmBcixYxZnsCssgsiQiMwJcGFPmVssnAppGIOTEXFjIjZrLZuRjsYvWWOemSjKjEQIxcXbppnbPTTIfGQuBLYaWjMrlVrIaJXbkkhNXMxKNEpPtbWrYoRuVUBMSZqldAuvePZEudptcGXPwTKvmAFNLibzOyTEXdPLnhVcJtLvoecaiKyyEcrOZGqNDgmnzRKJbBlNtEtemIAZTaapnkXRwbZLdMatCEryiXGbNMsjBAUZrfXuhP", "aFFqTklKtmnYPmCGTvStUcFPfWlKOWLqpqsjasGeBtJrgLdgQQcRAfyBCimsnsYcUTioXXGpCbDiHDiBSQLJCOzBsnhHLYMuxXoAkVXZyZqKKTGmyctrOdwdlivaVZiigRwpcMuTHbToFlnOOwgcEustbKyEPRuJaRpRIIRMtNcMkoBwWEnwtnGyjUSjGkHKgwfOVxRTPdXVIltFrFjADYRMqNxHYJcDdumavfNschxquYqtshOUlIBoTSRImqPR", "OCfQFjDsXjhtABXBUXalTyRnvSjVPgqCIpKmDiQGdCNCjkGEFHvFvSpZdXaWOLwqqUwducBymnqWTdYHDCPGdoWYHOrfFbpTkKrNWpGbYxInQuOVhIRvItdvNzzXutMBPnmQCSCbfATsiGPHpjUXydyufvIUljVkzgftVgVxyfbhfkEFnfCkfjgIwtGnKWSFSmYazWppSZFnqUsiLvxyxHftTxgbZqTUjoIkkOAdhLvMBJZjNboystrJOWQSSYoA", "kOhfndyWsOYzXXgIpfPBGPrxinjrtUVghaLyloTBUVFYRQxXiywBSEpYDawohiPVciWRMDdDByjYBnFyBAJoiGPUCMBMXWCMaduuyKXYQaGkINRIOShaKNzQsNzwjAqcxCLeucRJJrkWrfjGTAJIXbnGpHYmWhIDPVANqUcHjKTpzAoccgGHbGfkehxbdQyDpBCyZcuyKkUsXRFxCyQGkopesHAIiJoVVhNFuFBbgeQlHkjxrapsUKcBvGAymYWF", "gAWsIQgVhRjMrJlqKeXHiQJJeDvwIoZsUCJbGwhfiqfhLBAfIKUPHighLHvLoWFxLGjXFlYUZaayhVgJHvgRbcjXNyxATZGywltikDQgJHEJPGJYGYHtHWoirjJvxKAvBKHruPohmZPlSyyEEdwmVafyTWwLgDlxevrNjBQnSzrnCTsyphlbuOqgaPdIotNIRTVwpLGijWvmbvuxwvbCFmgZlXbqnANJNvxKUeGneKFQicxdBzJQDAgVWDUqUUrc", "wmHHXpRyrXdlFtUGahYcNNmHjNEmlpvsVkOyqMIPYfHrBIqVNrnNGkzMeCYSeRvEKOLAgcpjbimYUtXyfhaBubyuNpqTvOzshiPiQvmONUnlwiUaGVsWirOHYlQEskuUCcwBrfYLzXIhbJbPpFYqhFmzybzICmYyHuTKjnYSfUmFKIUDpSenxxxJstBAiRLDjbsqHXQAlAvZcexxrEVCSSrYxwJUcbTLgpoLfdowUwtkZEcsRdorgUrPZEwhOEOi", "MfNBtIPXneQvoSoPMutBExEHesUnajEbbZFBEwMBdBkLqEMGfYXZkhFpLEJouuZVokYNZWTVrLrnrdGpBszAkWmFSIQalUPzfLRZACviQEeDLzCgbqPgtQZAsVXTmqHUFTPtPAYqpVzHLtUdRqZMrrGrWXLjBwlVvvacHZjAXcWCAbqrSbwNiiXtUoAtJgEakctnUunDADjdEeyqRRFIbjiNTsUtDtFEbbNAQNLZoanujCOKCxxgweZZsKEpqpLa", "MCSykgknXPYONgcLzVzxSZvSvctcuLjBcnGToOcRakWBsiYiGBXdngXRLldvxCOcIGaAGHUbYajWOlZgNpAAGTygrWILHuWtpnQQYKkGakEdiRFWvEVzHtoTVXSUaOVErWbJmykfzEPBYlqFAoFAJQvIQAdrfOKhXoUMvRExPtmMPWURxNIKwTQahbIVGCbjHBBTqgNWutUeffZYRAOxLRsDCNoKRoWeiJXJtzwFmgKFWlzzsMUhubNokewrmtBG", "OcdMrDTIpDpGgfpwSkmEAwezuLolMeRfeMFUrQVvuUpVDqfqmSFDAAInhIPIUVwonqYSjYXjaZUpKJNpODZvSjRcAkQFNzlwAcMgXBLumhSGkGZNqyfXZEfYaiXyoONzqlnlZfmmfvYZVpclMMmlQgCRUoefeCcwztgsLmpmClKXPxOwlwYCeONRvKZabHQBJkvahflMzgezuZVEyRhzwmjELLzeVsWjSGoduDhnlYvveoGSqFrixDLulQuTepWT", "AzDZRxwEigiRQYTSRjgqseiGapHQUVYOQClCphwxWenGOhvhkQpkjKBCothnZUdHZxTkxyqUueZqjwfIVZFohBBrtOTMaeHiVONSxJELGTOXbBJJPuoMEmpAhOCltsVuoQRvpaIFeekfKoamfDDcFQukOihIShsnkwbGpZIHIerveFnNaeWkdISWDesXnMoDZZXQrIXeZbiGZBRlwBcOSPKnrdLLfVVcSsKLlZpwetRcqGHDiAKemUjbEzmYaQdp", "BXFXZfICDBsswMpYBYsEWoMLYAfdyRojfACQtCFhUhhLdbODWgMGCPtrounxqKxliKAWcXKJdjGfAIMFBGxshDUTQpLrHgxyqHFwxaamSZIGMvjfppuavSmrCHFoDSCHoJJJjiHChyqAsrnJPLymJUZSPoLLgZMzxFremjNOILfGpdELSKGYmqifQvyQyxObNFpgjUJGlAZfQsSflBSrcnKOTTQGDdCnbyQPuwdYraGkbFqCKvFwKUafICSXKReW", "ebUjqbaCbAQKLjUHIWSDcOZXAMltuSlTbJNpgVpXEGOFXqQziLmkBLRkRWxtksDTmUuzAIJdSiMMjdjoMwobijMixkifgVCpoycQIrZktgAoZvsERxTqXYbSMPNosdbMAbLbxYLcCkPESEQLOnYgVhgjittaflnaCdwjXDWPldmBsmsVDrgPUVObwMsIuSnTxxutbcofOzImdMDawTciieVVBFopePaYNtUoqfvgkceCfLpZwvxoJITNhnTongFU", "LEgoYUdEkOzxVaqsPExpprUewIkgnPHbpXQQiiDLOxtdubJOhZpBpvXlTyhohPGwgvAUDGAuDuLWeIapCRCMWctihetliYyMUdFdZGcOhzFihTDtKwjBqqdPAZPqNYxcCuzihtUaAwiEThDmHrMoPPjBWfDfgKaRydbVKkmAWZxfnJDXnHZtlxdGecBqrnNuKZTGvBbiQNkXCeQlHnBnsGOQCHEPJsAfitzGqFbTHVJqQLzEqixguDtwSjcpZHxE", "lRHhcSxoyQoWxfTBkyXFXVcirATAgjNjexVRPJQNHWDzjqnojRGVuiBGyfrFunhgHhrUHyWTJizJWtlNmEGuRSAOSbBqbjXLZSxpNGPKAvshralYlwIDPbtKARFvGlqOLsolYIbQsLBtXYTjvGtdqsRliYUuJOFjWKwjsKRxFYcOgNkkxqlFmnWPBbWqJxcokjpsFLPnMzTodiQWpfaRvtoHAJKXKIbcUpeHJxRdHbLjygQRBDrNWrdsPtNpAKAq", "qgRYsFjMrvMGyXBoHHhgkNIhTmXZCVWwnnifapTXIKgmMBkrPymninYeCgUSQEOamICkWbYerApHGvrzKtqbdIblrinXJWUnqwkQPlKQNgTBvMVoWWLfmTTTzDOsVguAiHBvRUmERAWUGPNkqbAhwRBVMfhutOpqXjigelqyXqLjfPCmlxKMoEKqygwbBDhIUQNJYNTkmlkyaSTtSFgPnKtccgiaJXMTjkBeruJndyJtPifQDAkStCGnHeRHMhPt"],"c_map_int":{"c_map_int_1":-997088714, "c_map_int_2":702878129, "c_map_int_3":918454855, "c_map_int_4":-243760885, "c_map_int_5":752332490, "c_map_int_6":-1936587087, "c_map_int_7":1024449368, "c_map_int_8":2017764802, "c_map_int_9":-1182353574, "c_map_int_10":2133462208},"c_map_decimal":{"c_map_decimal_1":32.1136, "c_map_decimal_2":13.1288, "c_map_decimal_3":1.0730, "c_map_decimal_4":88.1791, "c_map_decimal_5":68.1802, "c_map_decimal_6":5.1518, "c_map_decimal_7":38.0606, "c_map_decimal_8":89.0066, "c_map_decimal_9":67.1626, "c_map_decimal_10":76.1904},"c_double":81.53505674761747,"c_ipv4":"116.253.63.142","c_array_boolean":[0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0],"c_map_ipv6":{"c_map_ipv6_1":"5d05:53b0:1242:d660:ac61:ccba:621e:f72c", "c_map_ipv6_2":"97a0:c507:82c:6cd3:364a:2e2c:d1e0:7bfe", "c_map_ipv6_3":"8f6:9d18:cbd6:afd4:26b0:33cb:473:ec5f", "c_map_ipv6_4":"3327:97ef:2160:2aff:856e:ef92:c38e:541b", "c_map_ipv6_5":"5363:ff9d:cc88:a2a3:b11:a24:1ce4:3449", "c_map_ipv6_6":"a57f:cbe5:8927:6e74:541c:a344:ee97:74ba", "c_map_ipv6_7":"915b:4d17:fe95:aae2:e6df:1478:eb9e:e833", "c_map_ipv6_8":"b49e:ef6f:58a7:bbda:3828:c1b2:93a6:823c", "c_map_ipv6_9":"5dcf:326b:e90a:6760:5110:422c:9247:5178", "c_map_ipv6_10":"ed34:913c:bde2:576c:e1bf:f4f2:89e4:9286"},"c_array_datetime":["2015-05-24 22:11:27", "2012-09-23 06:32:16", "2001-06-07 16:48:02", "2016-06-13 05:44:14", "2010-04-02 15:04:22", "2018-12-15 21:06:15", "2011-01-11 04:43:12", "2000-08-09 20:56:15", "2014-03-18 14:41:10", "2015-09-23 21:23:20", "2004-04-13 10:26:27", "2011-04-18 13:43:44", "2016-10-20 02:27:41", "2001-09-09 04:57:35", "2010-09-24 03:12:57", "2002-10-16 23:41:12", "2002-10-13 09:36:40", "2001-07-18 17:11:27", "2003-01-23 06:55:37", "2011-09-10 06:04:51", "2019-10-13 20:26:56", "2007-05-01 14:51:08", "2017-07-22 12:58:11", "2016-08-21 13:46:46", "2007-10-08 07:42:12"],"c_boolean":0,"c_tinyint":-103,"c_array_float":[54.99411, 87.81911, 53.10324, 88.10098, 68.758354, 78.61152, 51.80003, 72.6154, 21.029158, 55.492687, 1.7576182, 78.277534, 95.30852, 70.964645, 11.539638, 68.77215, 35.71952, 78.2216, 75.60988, 37.813873, 100.88013, 46.44695, 52.58951, 92.58401, 87.48586],"c_array_char":["uWWTZLTnok", "NyLjKmzjfu", "XgWTkHQgUL", "rHKMLpbmgl", "uuiBeoyGxE", "NdwkUtsiNU", "ZcrXGnEfeu", "WkDWgvfvOG", "yaGzUsPhYo", "DSktnidehM", "kAtMoHJKnz", "dcWkIQSFmt", "KxuHlacciA", "PwPqJOiaAY", "pRAigsxwQY", "hJKboebqOJ", "qufygdXdzo", "ofklmzZgTJ", "WBxzFfjbMT", "tIFBQsJKBn", "xEGEyNLKFP", "uVSFRCfWoN", "ejXHAlFhyW", "PkIaMTCOtx", "vCddQRzqwV"],"c_array_date":["2015-06-05", "2004-03-01", "2015-08-06", "2012-02-10", "2004-12-08", "2015-03-13", "2019-11-05", "2010-09-12", "2005-01-04", "2008-03-22", "2005-11-06", "2007-02-21", "2016-10-19", "2013-04-28", "2015-12-03", "2004-09-26", "2000-03-11", "2017-10-10", "2000-10-25", "2013-05-22", "2018-07-20", "2009-11-20", "2007-07-13", "2004-06-21", "2002-01-07"],"c_map_datetime":{"c_map_datetime_1":"2006-04-13 01:38:31", "c_map_datetime_2":"2008-12-14 15:44:02", "c_map_datetime_3":"2012-03-12 10:49:30", "c_map_datetime_4":"2015-07-22 14:25:11", "c_map_datetime_5":"2013-04-01 17:03:54", "c_map_datetime_6":"2006-01-05 05:22:36", "c_map_datetime_7":"2008-07-13 00:58:53", "c_map_datetime_8":"2012-07-08 19:20:49", "c_map_datetime_9":"2004-04-19 05:01:19", "c_map_datetime_10":"2004-01-22 19:39:30"},"c_int":759518502,"c_array_tinyint":[-95, 88, -52, 62, 112, -119, 55, -87, -116, 4, -117, 35, 125, 94, -125, -22, 53, 35, -47, -125, 42, -57, -21, -113, -108],"c_array_double":[90.92818489486491, 40.760698513652486, 28.693469763777575, 95.83376257582285, 82.75280781516071, 54.354053596166956, 89.00208613016709, 9.300781811268815, 81.78871471804904, 29.533520815563037, 55.153023178234854, 45.70030433607344, 36.899360246638665, 68.22560158044364, 25.399132536002167, 21.56135574414612, 47.21935567263849, 14.390837187499969, 78.60774936777989, 1.5520764917036687, 99.93845411560524, 62.229314429770874, 15.04352975936026, 57.80431800088635, 92.41008267746646],"c_map_double":{"c_map_double_1":95.21933601690499, "c_map_double_2":98.95138973642561, "c_map_double_3":43.15957546974314, "c_map_double_4":45.58529954047485, "c_map_double_5":26.452452444808632, "c_map_double_6":22.08771265488596, "c_map_double_7":90.41202341499749, "c_map_double_8":76.3578490804504, "c_map_double_9":59.40652674092115, "c_map_double_10":21.93260625309309},"c_map_char":{"c_map_char_1":"iWHYgTdlLA", "c_map_char_2":"pKQzfQqRtr", "c_map_char_3":"RRXSRVnGcN", "c_map_char_4":"CRvZoHbpsw", "c_map_char_5":"HicqpLqXzN", "c_map_char_6":"ZRcHwAjqrb", "c_map_char_7":"XsxYHhXbOk", "c_map_char_8":"YgWtEBFaCV", "c_map_char_9":"OvifWmdnfz", "c_map_char_10":"asjlaRAiLj"},"c_json":{"creditcardcvv":"966"} }'),(3,true,true,120,-128,1,-10,null,20951,7741,-22986,1474798260,1019434402,1167180535,0,2088,20240803,-5208348010958710054,20240803,-9223372036854775808,-6081027,64.90333,89.24439,40.123,99.69002248704584,82.0979,null,10.1646,300.343,36.1028,null,40.123,300.343,100.1586,100.02,25.1435,81.1039,100.1748,null,300.343,100.02,300.343,null,96.1682,100.02,40.123,52.1521,28.1685,40.123,71.0635,34.1015,19.0531,300.343,{null:true, false:true, true:null},{false:true, null:true, true:false},{-90:98, 0:127, null:0, 105:1, 71:1, -8:null},{60:34, -1:0, -128:35, 7:36, 4:-128, 3:7, 1:1, 13:29, null:0},{0:-17626, -7502:-18244, 10641:245, 1775:-5328, 29631:32767, null:-30751, -17819:-18462, -11159:-19581, 32767:8049},{-32768:26135, 24026:0, 385:32767, null:-28879, -339:0, 32767:245, 11713:null, 24958:13103, 14389:-31895},{2147483647:-905518447, -1007694589:845859983, 0:2147483647, -504019600:-1926058000, null:357896799, 605302286:883039036, 915049925:32679, 1878954481:null},{-1428745513:null, 32679:715287506, -2147483648:482846076, 384624700:249269002, 1174617071:147483648, 1747394591:1129094717, 1614313633:147483648, null:1629597288},{null:9, -26396:1, 147483648:32679, 20240803:6816855, 300.343:null, 1:1, 32679:245, 245:245},{0:300.343, 8:26666, 245:1, 12909:0, 20240803:245, -9130060852289182570:20240803, 26426:32679},{null:9223372036854775807, 1:2256218833029842242, 32679:7340067774330202747, -28968480:6986369, -8193110119447341487:1, 245:32679, -1748521531040007556:3468513458185901836, 88739714659247561:104146262, 9223372036854775807:32679},{1:-1176150116, 245:9223372036854775807, 147483648:-8640847170589352829, 83845:147483648, -1071208659751096785:-2684710461487968401, -9223372036854775808:32679, 0:1971568772, 32679:null, 3244671810154353082:147483648, null:446476220},{300.343:23.906094, 47.50666:null, 20.780502:40.123, 51.518955:42.7755, 100.02:100.02, 40.123:98.09304, 74.40031:40.123, 52.058697:35.8297, 15.3603735:48.266705},{92.281456:40.123, 6.1454024:40.123, 100.02:null, 13.981274:40.123, 10.359682:72.436966, 73.57726:100.02, null:100.02, 89.94694:80.245186, 69.15511:100.73456},{40.123:66.01292021800391, 300.343:71.90890487053916, 26.017961287095048:98.51749969959089, 100.02:300.343, 24.838586507622257:93.14999759035162, null:100.02},{30.325159636937:9.448230293216744, 40.123:100.02, 100.02:100.02, null:40.952093207818315, 42.926284902858825:25.480561781478908, 300.343:100.02},{300.343:"9999-12-31 23:59:59", 87.1935:null, null:'right', 28.0610:'like', 40.123:'g', 11.0812:"2024-08-03 13:08:30", 23.0671:'yes', 17.1520:"1", 24.1880:"1", 14.1562:'h'},{100.02:'her', 40.123:"2024-07-01", 99.0737:'it', 96.0259:"2024-07-01", 7.0125:null, 17.1259:"2024-07-01", 29.1576:"9999-12-31 23:59:59"},{64.0642:'really', 300.343:"300.343", 40.123:'here', 100.02:'f', 95.0821:'d', 2.1172:null, 38.1526:"9999-12-31 23:59:59"},{31.0113:'he', 40.123:'y', 68.1088:null, 300.343:"9999-12-31 23:59:59", 73.1361:"1", 89.0494:"2024-08-03 13:08:30", 12.0461:"2024-08-03 13:08:30"},{40.123:'that', 70.1725:"2024-07-01", 300.343:"0", 100.02:'to', 10.1351:"1", 72.1160:"300.343", null:'o'},{300.343:"9999-12-31 23:59:59", 54.1097:"20240803", 41.1100:"300.343", 40.123:null, 80.0239:'z', 50.0956:'here', 66.1854:"1"},{13.0222:"300.343", 89.0314:"0", 300.343:"2024-08-03 13:08:30", 100.02:'look', 6.1644:'l', 32.1582:"2024-08-03 13:08:30", 33.0065:"300.343"},{25.1097:'she', null:'but', 300.343:'o', 40.123:"2024-08-03 13:08:30", 52.0035:"2024-07-01", 100.02:'q'},{15.1523:null, 300.343:'on', 79.0290:'for', null:"2024-08-03 13:08:30", 40.123:'up'},{300.343:"1", 21.1997:'oh', 100.02:"0", null:'g', 91.0351:'want', 66.0790:"300.343", 90.1581:'he', 99.0925:"300.343"},{300.343:null, 100.02:'your', 57.0052:null, null:"9999-12-31 23:59:59", 15.1739:'had', 54.1768:"2024-08-03 13:08:30", 23.1783:"1"},{null:"2024-08-03 13:08:30", 12.0940:"20240803", 47.0230:'think', 300.343:"0", 12.1028:"2024-08-03 13:08:30", 100.02:"9999-12-31 23:59:59", 24.0854:'yes', 4.0622:"300.343"},{53.0663:"300.343", 98.0917:"0", 68.1348:"20240803", 41.0461:'but', 40.123:'w', 2.0068:"0", 100.02:"20240803", 300.343:"1", null:'o'},{85.0539:"0", 100.02:'d', 300.343:'e', 40.123:"300.343", null:"9999-12-31 23:59:59", 94.1070:'y'},{"0":false, 'n':false, "9999-12-31 23:59:59":false, "1":true, "300.343":null, "20240803":false, null:false, "2024-08-03 13:08:30":null, 'right':true},{null:false, 'been':null, 'l':true, "2024-08-03 13:08:30":null, 'up':null, "1":null, 'out':null, "0":true, "2024-07-01":false},{'some':61, 'that':1, 'q':127, 'something':null, 'g':14, "2024-07-01":-128, null:6, 'if':-128, "9999-12-31 23:59:59":null},{"1":null, 'do':35, "2024-08-03 13:08:30":-61, "300.343":-128, 'l':-128, 'are':-99, 'c':21, "0":-115},{'m':32767, null:null, "300.343":11728, 'no':null, 'l':32767, "0":4374, 'did':null, 'the':-15570, 'a':22719},{null:-3311, 'why':13364, "2024-08-03 13:08:30":12801, "20240803":-8923, 'f':32767, 'n':32767, "0":-1179, 'his':17768, 'u':-20603, 'have':32767},{'n':-2140836798, "20240803":1916427888, 'something':1523884137, 'your':-367040737, 's':0, "1":null, 'o':147483648, 'he''s':847749317},{null:-743018335, "1":32679, "20240803":0, "2024-07-01":-2147483648, 'i':63186256, "300.343":-1627097598, 'q':null},{"20240803":1, "300.343":1, "9999-12-31 23:59:59":6955254, 'no':1, 'e':-823651, "2024-07-01":-5800798, 'I''ll':17237, "1":1},{"20240803":245, "0":245, "2024-07-01":null, 'z':32679, "9999-12-31 23:59:59":-8124588435513991004, null:32679, 'do':-1956567, 'b':32679},{'u':6680774885945872385, "2024-08-03 13:08:30":-9223372036854775808, 'w':0, "20240803":0, "0":1, 'y':-2864413038868475775, 'one':0, null:-2186100},{"1":-8394203681350752309, "2024-07-01":8359187371092858680, 'would':9223372036854775807, "20240803":2832608, "0":null, 'go':null, 'back':-1819992833, "2024-08-03 13:08:30":-5231694260317302311, 'r':612054275},{'p':87.607895, "20240803":57.442192, 'is':300.343, "1":3.9547944, "2024-08-03 13:08:30":3.5041728, "9999-12-31 23:59:59":100.02, 300.343:100.02, 'i':47.76348, 'of':23.424196},{"0":33.84391, 'p':80.068924, 'been':74.26357, "9999-12-31 23:59:59":57.401573, 'b':12.297083, 's':68.21047, 300.343:300.343, "1":87.89787},{'j':300.343, null:100.02, 'p':4.664274399120693, 'x':96.37087541956215, 'o':29.59161661507205, 'can''t':1.508572209873904, 'b':75.67335851954003, "0":51.48075547892666},{"20240803":63.70818888820864, 'what':300.343, "1":97.56429162521825, 'your':100.02, 300.343:67.91802492535156, "2024-08-03 13:08:30":300.343, 'we':50.28593074714488, "2024-07-01":null, 'good':null},{'oh':18.0539, "1":4.1575, "2024-07-01":13.0981, "20240803":37.1281, "9999-12-31 23:59:59":72.0076, 'l':null, 'q':40.123},{"2024-07-01":null, 'know':null, 'think':40.123, 'it':35.0903, null:63.0636, 'n':43.1018, 'c':100.02, 'who':100.02, "20240803":42.1309},{"300.343":0.0112, "0":300.343, null:300.343, "9999-12-31 23:59:59":40.123, "1":100.02, "20240803":17.0170, 'h':95.0394, 'she':26.0557, 'what':99.0785},{"20240803":2.1802, "9999-12-31 23:59:59":63.0472, 'mean':42.1763, 'would':null, "2024-08-03 13:08:30":100.02, 'x':40.1293, "300.343":40.123, 'she':86.1750},{"2023-01-15 08:32:59":true, "9999-12-31 23:59:59":false, "2024-08-03 13:08:30":false, "2014-08-12":null, "2024-07-01":null, '2012-03-12':null, "9999-12-31":null, '2004-07-25':false, '2004-07-14 11:29:01':true},{"9999-12-31 23:59:59":null, "2024-07-01":false, null:false, '2010-09-01':false, '2019-10-15 22:16:56':true, '2004-12-13 11:37:46':null, "9999-12-31":null, "2024-06-30 12:01:02":false},{"2024-07-01":-22, '2013-08-07':null, "2014-08-12":9, null:1, '2016-12-22 20:56:14':-128, '2012-06-23':-128, '2014-04-13':1},{null:-62, "9999-12-31":-52, '2002-01-01 13:38:50':121, '2008-02-11 23:15:09':-40, '2013-07-23 02:16:44':-128, "2024-08-03 13:08:30":-128, "2023-01-15 08:32:59":-50, '2010-07-01 20:55:10':-31, '2004-09-06':-128},{"2014-08-12":6658, "9999-12-31":0, "2023-01-15 08:32:59":16821, "9999-12-31 23:59:59":14545, '2016-01-21':12413, '2011-08-18 21:31:32':0, "2024-08-03 13:08:30":22212},{'2018-04-20':0, "2023-01-15 08:32:59":null, "2024-06-30 12:01:02":7570, "2024-07-01":0, "2024-08-03 13:08:30":979, '2001-05-03 23:21:57':32767, '2000-02-12':-32768, "9999-12-31 23:59:59":-32768},{null:1380331427, '2000-08-02 15:27:40':147483648, "2023-01-15 08:32:59":-877095403, "9999-12-31":1912038275, "2024-08-03 13:08:30":-2147483648, '2005-05-18 04:38:05':32679},{'2000-08-22':-794220697, "2024-06-30 12:01:02":-1907947563, "2024-08-03 13:08:30":32679, '2009-07-22':32679, "9999-12-31":null, '2016-02-28':1423256982, '2017-07-24':0, '2011-07-19':-1019782077, '2019-04-24':-52227137, null:-1640899387},{'2000-08-04':-971703, "2024-07-01":147483648, '2017-06-20 07:13:52':245, "9999-12-31":32679, '2005-05-08':245, "2023-01-15 08:32:59":300.343, "2024-06-30 12:01:02":-24147, '2013-02-18 11:46:38':32679},{'2002-12-14':147483648, "2024-06-30 12:01:02":-2340722, '2011-07-25 08:30:03':1, "2023-01-15 08:32:59":147483648, "2024-07-01":2, "2024-08-03 13:08:30":-28226, '2002-11-08 23:54:14':245, null:-5014277179801313903},{'2017-01-10':-1503781959, "2014-08-12":4766581, "2024-06-30 12:01:02":0, "2023-01-15 08:32:59":6674415260455423506, '2014-02-11 01:59:29':147483648, null:-5772356268990452562},{"2014-08-12":32679, '2015-04-22':1, "9999-12-31 23:59:59":245, '2008-09-25 07:33:22':32679, "2023-01-15 08:32:59":3190234484738582408, "2024-08-03 13:08:30":-9223372036854775808, "9999-12-31":327668773667768197},{"2023-01-15 08:32:59":300.343, "2024-08-03 13:08:30":81.982895, null:null, "2024-07-01":100.02, "2024-06-30 12:01:02":40.123},{"2024-07-01":300.343, "9999-12-31 23:59:59":300.343, "2014-08-12":88.11216, '2002-04-16 11:58:25':76.089264, '2007-11-25':300.343, "2024-08-03 13:08:30":25.573742},{null:100.02, "2024-06-30 12:01:02":null, '2008-03-06 04:59:29':100.02, "2024-07-01":82.08512592961688, "2024-08-03 13:08:30":100.02, "2023-01-15 08:32:59":61.132670646465584, '2011-07-19':40.123, "9999-12-31 23:59:59":9.931173203846429},{'2011-07-26 00:12:02':51.0794351227561, '2017-11-16':null, "2024-07-01":59.22251089501468, '2004-06-06':40.123, '2014-02-20 17:10:21':null, null:100.02, "9999-12-31":10.594195196860632, '2011-07-17':38.110072175810544, "2024-06-30 12:01:02":40.123, "2014-08-12":13.798255821524602},{"2023-01-15 08:32:59":null, '2011-06-15':53.1120, '2004-06-19':30.1703, null:100.02, "2024-07-01":38.1988, '2014-08-17':null, "9999-12-31":40.123, "2024-06-30 12:01:02":100.02},{'2001-08-16':40.0869, "2024-08-03 13:08:30":62.1569, "2024-06-30 12:01:02":100.02, "2024-07-01":40.123, '2013-08-22':100.02, '2010-05-03':null, "2023-01-15 08:32:59":100.02},{"2014-08-12":100.02, '2000-04-10 02:46:49':80.0595, '2004-09-28':100.02, '2009-12-21':null, "2024-08-03 13:08:30":null, '2016-02-24 17:36:20':300.343, '2006-08-11':100.02, "2024-06-30 12:01:02":null, null:58.1848},{"2024-06-30 12:01:02":300.343, '2015-07-26 10:04:00':8.1212, '2013-09-10':10.1931, null:100.02, "2014-08-12":300.343, '2009-09-21':100.02, "2024-07-01":38.0358, "2024-08-03 13:08:30":26.0618, '2000-11-02':40.123, '2015-03-19':40.123},{"2024-07-01":6.1362, "9999-12-31 23:59:59":41.1762, "9999-12-31":300.343, "2023-01-15 08:32:59":8.1184, "2024-08-03 13:08:30":40.123, null:300.343, '2012-03-22 18:43:22':98.0102},{'2018-02-17 04:22:29':300.343, "9999-12-31 23:59:59":40.123, '2013-07-02':40.123, null:100.02, "2024-06-30 12:01:02":59.0210, '2009-10-04 15:27:41':68.1770, "9999-12-31":300.343, "2023-01-15 08:32:59":300.343, "2014-08-12":87.1223},{"2024-08-03 13:08:30":47.0427, "2014-08-12":300.343, "2023-01-15 08:32:59":97.1803, '2007-05-24 15:33:06':100.02, "9999-12-31 23:59:59":40.123, '2007-06-15':null, "9999-12-31":null},{"2024-06-30 12:01:02":40.123, null:300.343, '2011-12-06 09:25:02':26.1287, "2023-01-15 08:32:59":49.1857, "2014-08-12":100.02, "2024-07-01":40.123, '2003-09-12':300.343},struct( null,1,32767,-2147483648,7,245,100.51151,null,28.1800,null,92.1791,40.123,null,66.1317,6.0322 ),struct( null,9,-3795,1382743526,null,1,100.02,100.02,34.0602,41.0900,100.02,300.343,null,300.343,10.1879 ),struct( null,3,32767,-1878593283,23740,32679,100.02,2.911067014356547,32.1415,null,300.343,20.1861,null,53.0522,40.123 ),struct( true,75,4145,null,20240803,245,97.05118,300.343,29.1821,null,33.0605,40.123,null,94.0098,32.1199 ),struct( false,0,12013,0,32679,null,300.343,15.675639612020387,80.0345,null,38.0608,40.123,null,100.02,6.0284 ),struct( true,127,20149,2088683241,-1904747992607922388,0,null,40.123,40.123,80.0768,100.02,40.123,100.02,100.02,93.0282 ),'{ "c_array_bigint":[4003527865102206032, -716586255727976624, -3622133215913374595, -836168484028852259, 4346975967773469092, -4678449210977219159, -36373994171007539, 8194879484267717589, 2787805151047003967, 3140656708486937294, 8020553623759840732, -949896953880415396, 3603381431593265409, 8443839283268449443, 1344475840544803511, 6189630295053944570, 8086689524866035135, -340062767091683232, -6154900953359516273, 4174189769454142347, 6279977790661040307, -6158287608849877326, -8364652927572064193, 7695753205937795588, 7907813824480267629],"c_array_string":["dkTGZEvNwmxUJhLNoWTbjGKhDmBrExsrMQlgVQByNyqBKGCHgvEiTuXdPDvFuKyTpAqerCXnHzDNldDKVFqcBCWvNuKKFbTboBYWreikwLhUWOOqRnGRGLJBCCePsQBuTsNkhGWxGfkkfKgpXslyGrUEFuilvHkaHYZQKhTciJwPvIkLJWUIwVMWExWXxghtMgoENwSRNWcgKSbnWktMFEWOBbaalgPVrGnUvNRTFNtwjdaCmSBWJoqLAXDDmpcdZhbCFCGsbdhlwqZwasvGYsycISwnNCWsNlrweOVJsKlVGVNRJYaainjOnEZYPPgZltjmepmfRcvGUVwTsRavmLNKDrTRYnLoRmfWRJaUyILxfIrnCDTLpDbhcKOTwsViaPlSMiYowQWirfLndgefSrfxsWKZtTwzspOpCdcHLnxUtGNdasPzTOBcyzFzgSZpdyONToAzBBhfOtkdfalIaKAPONDkFbBEaYbKuLJTXDhfzvpfGRHUsYrWhhaLFwUg", "XKjGBWidyZlMipGfWLNsQaryghAfhVRjOHBceKGHhPyHsYakUNyzGNdjGkicPqhNRFLOaoBMrlXOYKptMvGktpWomZEGpbfzBLwWaXBjrWPVVIolweiCTEFQylRRupBPleBRrzgJFqPpzqjUKLnfgtNpymQDgNBFNwMXHxVQXQQSyPNvWkNtsDVwtGLFbvxjYAQaJAYXWQwpgQMqvMYtZNanskQcVeEKpXOjQqZitUpHBYhJROCLnsRDSFSJVFuVqJiWffWdlPvJNIpxYgFLeFyTXrwKBbMpfBtzKaSttYyDMsJpIpAOxlzEcNbDmUNbBnqbwVkMVijubBQvmvQlHpbMXDBBoNFQiDZjNyckYpzVHgDkEEEMJLRoynxfAulpuJPVCkXPtvlZMQICrnEGghBHHgPcjqUJBmyfAZOwVtBrCiWZJfVYfdotOdBFyNPmheNnxVZLfbAyqfWBkfbYHMuMJTisnPavBLFmbzbstHfMEcQoJzENVZtvIYRpikgR", "nVnhxDAPPGdiUJNDSYOBxEIRwAemVsusUXrzuAYcRfYtlXFijlroFkJsKMPFfUlFRBYWvYWGosWNeudVHzsrFtcWsObTefIYCJZyGDHnyDnxJnbRllsUJPSMEkWPDPotLlaiLocEVaRDZTXDYoAoZvcVWKwScSsuGZfRgyxJCQvSdwrRtrbnSnwolEWxSlOZVJKBSSSvUQGwsMhyRDxQkOMJQLugXXPxQoHHRAQTKLkimHJNBtlVzuHuSCfnoNMWmfwAbkKAvxSvJSVsSeiGaQmgafcMMEDtTkdHhLGzjIopBcYijDTRFFwKHBRATelnIzuoLTwAsYXzbBnIXobsbdispNAKtLJJRjMojdsddyPKGRIFFuBswSeqotUfkXcSMoAqEnpivXBMOuuMvpOfcyJLJhVsPKwlTSnXAoDrwkcNBXFdGWMfKiVMuHQYJOVZJqofhMjMxCCRGgghPWVEzZDWHLtpbBdbeXEfjfSBaFNyrPnlgQnRszjPwVnZxMNv", "BVQLNKpbUkjtkUQopLIasKZsYEZIDdMFWlFBIVIIPAKzFWdvOxpsSDbWPXQkLyQFRgLiIKBfnxAKRPWesIXZXYkskzneMGEerstQqmPCQNkPsucoqQfHvADeAxHdcFpRdcYDxkrWOqfUOVPFQSNVGouMJcDtKJoRwilrEUsSFEeZWlashMfdzUhKaxaKdPtfXlujCqGRaEpWxCdErJrNIdCCmPApGfSeTSUDpEWWHhtGaMkzOEDGZRFgxkKnSPDoNBkVWjWdsIREwQSdgefwYTXObFXdOCMLvSJCTvTEzLJWKPTqdKFNNzugzcsXGuBynmfhKkBMVosrtTezrJCanldAqyHAjVpVitBvcOkhsztXDElYXLpmqKpPcyrUTmUmtxKmpvwErbZBhGTHAhIorYdDuezfEmJtnADOMhACrEPRbzjDOLjKpebULBqngdMPhvRZoLtMskMFgdxmkBGIdDKMRGktxottPjOETWUsCvOGaTcHwNkXaLqYqTFOMnjx", "uqeYyKnmhFvevxrxFrwpHWxqelzgLsUXumrSGzLTHXDvahedGWyhFTjfrpLGnHhMuRFKbRFKBPgQWIwYJCIJGASyWfiBpguuKTHKatPbYALshgEHtqMItmxdKQLPBoAlJnVaEHsQoaHThBFMYByhITIoVWHMNaWsQyshyZIPSJDKWfLIwRdRfVNYTwpQqdYPhYKDKhwtcKFvkhfYYVHVBPgzdTvwsqIyLCsSLrMRwqoZuREXumgRSwqVcwxtiyRNqIwtcSGNtLOgyhqXxnVXNWbqRGGSwByVlXSWPAcXzBZQMpoxUtiojtaEYJhjodrSdNqcUDLtdSThMipBqQSRQLqAEeZgSclGOBLqBmhAvpIASWPnxemArxmOnUkgIhUIekEoDGJZcnaDPvlcNfXmsQUNOEnggEvtaxHkzAFnhDpmHMtDxkhdToFaxLsBIHJbPjyCesSoEFORRXoocALJwGMmLLBLSKBTAOheVICYSahYJDYqOnwrioSdgmhAtMDT", "GOkIOXiISGYThVaxgpTUFUqWdstRBCQonzmljEawDSYWSdAFNsLkmVfexPQAkDvkSMhTihAyzeVcTiUNbUZTDhGfclvuvkejdQbcUrLAIbGUpujswxBzQOqIkQbkQRmkFSReroSBvovHeKjhhJpBSWHyoDkoVjiXIVvbVxegGMGtRwAWRXSbEYTCupGzxCejlUcGyJNGYSKyIrDtXPIigyBkmzHDyCipdXSFVtcHMsWxoBelukZRysdaJIBgifxRJVzSlpRWuRYhRICvHNPhgGlNTFdfcaKEcHcNRuIEtzmXrBvsngTbKbqcZPrrqzsdvkdndKqRMdzABEgILsjsAiIIsznTJeplBEqiwEBknoljXvJKFyhtjBIVyWOgNYEvSWDXqPinrPhEZNRnduFjjQdisjMXMTlZdhDvfMtpUngyqHhHCJNknprCGtXewUyneRPEIvDLAfHfXINzrFEKeiNtIYsHPEflrNhgzQWcwlNCZqLVvJSjpplFMDBgeFcm", "MHaYKMqxFxkVzlidRPPjIyyhLgSEVsYoYCZxmiEDrystDVFKQXhfuANtEQKDnMwPqjWGiXzbjSlpqVLwKHNqAsVNadrsJReNgoDZvyqOimGGfnYhedMLYspwIrjlCtjsQGLBxCQPhwWjEokzTvbRiSKCTJestbSdAAmVVHhaSXGpMZSBXWgRmNEfwKdJGMHluGnXLcPuroHfoqFXtwbTRxmeNNxtcRmubTdFOTnBYbnQgfbDXyTnYZNzjCuMplkCmgWNlcXJjvrxmNlXqFKPTzzsDKQoiUeGMrXRxRGuFGCGrReifcEyZJfFyjQBpHsqPnJPUGqwYBgCAjwwcxxRAhpaIzPKXZECCuNlOphevvdYbtpeYhjqpqmRTSwIGbEIzIyjOSgIZSCPluWRAXSrYcCPCwhKRKkmTzHbQnHbRccZtlITJYrkYgfTDjoADnbiyifGQbSVGqhpWZsSqRLurpcFvzPBtgUVBSPhFudaFhlTmmZBxUjtQjIpTnbVycky", "CAPSAUnxJOuCkYuiIetQPwlKtXlmuVMgTcicMmWQURsLGpgczjGlrOfrHyJOwpAkxhZEkVZYCFVcOvpQlJEGTdUQjluNVgLpfxKEUpiAedURbYSUNXtyiOQVSYLOjVMZvuVbOFPxVguEXXVFOoAxldCuqkODmUbyUtCQrjQCAeNbIUuqLczwtxXujnJRydsjMfKztablqcTtZGjOCwlzACjyMMmGUtuJcClFsRiuStsGcruduXJVFIzwpQBJtqTkOiunPdtDvpJpFZpZeNnQottQuDEXAmDYLwkqJXTLgbyfRpHUTZRfHyXTfYCiDPuwKGfEtwdLmqLKWdXlUXZmtDXXGzWeNRzcZyYBgCQAGxWLBoqEdAmctgMMiMLhRrPXFaXFOZBkhycNNJQDyPTGMUpDwUmytwHPIrFJoPdUWubGhNfrladgWvMBpUiSbSGSmdgZCxruyycZjAyOJSkddzYnIAMnjFizOxKkyhqMuxSCDzoSrOBcxthlruRKojsB", "YRctWdlawSGIuVNlkjZepRtrBrPdvsFDdhaRdnXJXeodZjEEtujvsfCxUNRcBMPTpALvpDfVlMGqeQYxXXUPNShdvCzmFsBSPUsUcYfyfHZWCksxDbkVqTiwChTAyZqsHyaezidxgobgpxatGmpHoTaCiigyDYhvudEnwnHdZAicxSDHqNqXalganlREgFUtfWlXnNMgGTjluebwFmdjZrwQaONWxesCZxNSjIJcbfblsuFVhxoSzJtOKVeEvFKlsURNLaeWFWOrqnNNUiykujukeFtNiFxepbIyJbiPXvMPTATqhNKxAJDesijiGRNwJEzhrsLzozMoOqJmReLpAEUtYBjvHcWrrpOCLMNHDlRBqnJSNOeZuLGNYoXMBKJvumlFEGYHgSXwpVELAASoGpSSemghrETzkhmAIWONiKKXHbJqovGZDvUjVgsEDbNfPaBXwtRBpNvxnnDGewEDrUEbvkbKAxnNRtBeGKthSujVdkXzENVMVzuZByJlwMIL", "AxGwhMNFYQGkpAQEEIlrghIZxEYxHlftscmLvnjXENgQRaosJEOFPRXylTVFsRWFQkqUBNhKZapwJdmVhkaSJXMPyjxiLHWTawOXBTKmAYgUOdhOOmaOXSnjsrGOVErXrAPKWRfHhPleMrBBqqAcjfJWsTeovbhHcNjYsPLedhHrYCxWYNiOpUZXvQHDdgtSuYCBHrwqYrvbWkgJMOmJQfGVZzuQczdSRsYobJefCtgUwtOzFfybKGnBabMZdaYjVCUNdrkBseiPwRlojwdLSmyYigMObnAtrlWdRyrGRezCofeiWgnvxJiIddoEjYwlpCKaradHOXOxKpCDCwawMEkdqfjCqUWtVHvDBrxdOoAbFMcGGnAfhtTHREUbTuxciqqCaHxRkVJaVAKfBiMkMqCHxdEsDYMGWpEeugtCmKnjhauopQYUQcSOPlloYDNpWaqKWqCiNDMMAqWMzTVcllDknrIllLogRKIRoZfKvDurBkJfeKSFfSqxHVuibcKs", "YEmwVAywhRaDfevmcoWGPVjRHiNcDxUoLmiFpcOpuQvSGPBLEOWyPYjaUpBPaMwZSHmWClShAIzUfVenuDtkEjxVgAONkNwYUEpuAnQmPBRSZRmMJBShPaYbvagaDiPKoGCkDfiSPmfHQNOEXTNtUSxrJLCAWgjnyUGUGheeLeyvdiGJFdNaDQwBZyeuKVSLAVfNdLpuZppBLKBiYIManVtOdEDiMXlXcxuZOCEhfDmsbbUTawgoVDPzNxjuxctvdGuBLZbGgdMmXuYMnWnuWqYXjNxVHOjGphHmmfopLmRGbbfRZJKczybFCbNLEehClFUFMvOYAYckMFfjMBEqYKzqJzHPYySHGssawKZAwnrsFKBfmMSfLWKJcIzEolQBvineRqUHqYZBAVJATgicCKZSzCuueHkYgogtgyvUCRFQulHFaxyrBoZPhKXopiWQoDQHtaSZFBxcUmINKlAjXtgjHrSNjgoWjPPPZxSakhaVtHCURHwocsQgpSIBXRND", "mcDqwuPihqksCGfmJKOPKjytXQsdvuZhcDBTPMDznFNRegDStqRyqdgaMTkRBrZtWuFcUfbCpNuzlGnAJvMiDpVbGOkwWYecsAEqiJGdBoRroTZiCvRStrPahNxmqKyenlbHtExSSKBZwizRbQePROtFILinCMUeqquzAiPLbazvtmgXmMFwswfNIesZQfdoqoeOIUdujnPyZPlfQOHypjjOOqOtAefovzEvPMNgWArLIFTwWrMWDbraQUoFmFPOIeKodMQgGhkCgYnurOxZiDxZbgknNvTZtUTlHQdvCReFxlJdDpdDzYeFEokvSDXaRrRCEKKJxTlIMJKXMoEOEwxkcdZnlopYtqJGWhxnYVJRnxxXPWtGEPjnfkbWsRNlNVfRLfzTSlanQejWzbnUpSqrExgImhhLFiHAqYYNhXVPuHpchFfkFNiOcRXoEMTCPniRLfWeTbmkAqhJywWIMxsWVjhFnCwCbJzDUjpsrgRpIlyGJutLcEGIhcHmuRrP", "bujdZHDyaQJJlSLKUKbinAmcoWORZOyTWxbdRctROaWAiSbJpwSAdfXYQgAMLnZofKfayyHiFMFtLeueJoDKTdbOFmLQdORoYspLvyiVclFoelDebwhBDzvfnJxdHkSjtogiNZetLXhFhbUDSOvqUCTFmuRfBlBoqzISpGTVKfEWhPMHMolFhQYVGESwFlNJJqDIIAlfePPsaWHBZUPbacdzBBtRaiCDVnJBYSfkfYULfgAkyXvWWaWmLZyWcaiWvFzGSfmrSFOydMOyYqZrNoppleIrIPOlGddcLjDZYipcEIPLParFIFxetwHzNhJrSihcqqwKVKPXjGFqrqMfHzcJwWhVJKCiJWlVIFWVwLXMAnJPyMcNpGifoPzdpZQELKLYoAoJDcHQmCZEHHYHKUXSTPQqoZPqMPmzeBqCHZZFCZsqNJErTPdsEuYjxZwZYbZRrNtDzIgqnSAgmRDYbEWAEsxOMyLUPGuqpipSEqFRDeopGOzebmrjEVhJOOGc", "phsiIFyTUMdSlINQtkxTmQJLSkFjmwXlzRuOrxEmqaqaraTFhoNSdWBnYSOfuiamCUcKMEYfBGZncCszbGYiibQyIxPPjoGUuWQytMVyKGzGFWxTlkOiiHBrUAhOTAoKaQUZKKoWSskUCahAHPsZObXXsOAojHUIkGOUodzwblIHLhFdMmzKvOiepzUmrBXmPejypycKaecFnmvTKquJBxlOYxbVLsIwhDvcMsGBFavorlzBgUvbmIEygWavOZqvqbyNOMXRuVsFVmzTkZCnHchTrXBccHfOQSvhHfSexpGNqJyBXuZDOzhFYXxqYUqUzXmotqFCefFxFwEBVzrxJRmngdIAasflSvWzYSTooqlIEwVLuJqowOzwnLNdWNifnsZMqeskzpDbDCUuJJhUsqcoxlNZqSMoCBUQwYHCLsxsykNzOLDhPnGcZdeycYVViriXUxLTvoKGinEAEADBxaIVQQawbKbQykARHShuGbxtyUNwKPEDodjLUfqqPLtm", "bafBGQAbTamhJPitcgkqkFvRQqlvsAhGvoPSinkDOXwLMRVdzQgLLtzZYvfqYPPnpgYnQeCnzRkaUWBLGYdEAYEkYGUywwtxEvaUWGQNAdjboPKsgpfONlEzPMIrkGLAUqnxPjnYvmCFohCMDWrtGaYmMKKYtMdvmPNKSEFJWdVUWlnhgFWIJzZgrNdakxwinEKAnvIygTpKnlXZLQfALTekYqUpwMOFWsDNZIxoZKfSjMCdhatmkPUJtFfsEiIRkrxSoIcEzuqYNTYAzIYHYfSdrUUbFZEXqLFccdhEejnhuTZCWcFZAmOzjhynTpnXnAMuTAKrDxzndgUnVVGmjmxLVEbAgrdSsWABiETbbsXeqRbXjWOxseaswudZIuDFYVvsoVCVNJuOcJCmNiflDHXDzvjVfObpmllsxVYJRYcEhNFrmngBWoFoVCvpGjaKvMGGIKcApPKWghZPwdcVPiPoBqFIjkkLuPCzvyLFMNhLNGZolVAOWtKCNAGiCCRk", "fccDbjjuLTcTPXKFngWxHcgxJmHbCIoHESEHBBAeyztkzfZEsTBYJuLzQJzBUFXIJPqHpXSRNsggbGNDLeFfofXHbNvtnEgyrvJQzcquvGEjbZcpNptCNonDuCGbQdjUTZYUsrQKZwYUewITZwpeWsIYeJXZuTeRQKtWGyXwUIzcKttYMjEhWJHxtavrtvSVnaBxNcfhDjJlQIEzxpxZPbrSIQRSJBmOJNEdAHhqeZjDbpmYgBlBHMwAKfwfDTYxuoGhqnQDhPIEHPzUzaHGOslAxSJuouRfTenogfbtciyjRdrtQvzwjTsWcldTXxJnWfGPJATNjmqlBvVPiwnthvflEKBcQDwHjasYUciADznbOoMfnubAzAcAKTxnFwocjcyiEBxieBmWEwntdSpgrBeMqnHpKfZxaLthdPLTyknhlYuxCbTdKNYntALTQtfexaXXrPGuJbtGsyeWtqeFIautYDLRtregukENqYaMWHxIJgNfqxdpNVkuLCfrqaql", "NyITLzJHfjEIeGPYGCauSeVbERJBEIvikVmgyEIlbVGlTItpElJpqvkTrxjiqFyMpWunhidIPufVCjxPmfWbpRGRVMDoPqkeYodadRyBdkIitBlqBNvvcNHakpLCKNvYewaRTsIQUbXSZRlOQawxIVJITbyVbposVndtSjyXfCuqrkXClOvVQxzExEnVQHaEdwRpsCMBldMjAnXlkdbDZrmfOAPVgGmkXqGENvNZVPVnPjFFWhHKDYWgHYeevLImXlEJrscToCOHWXaCqLFfSNcyAERBwoTiNZfbtTegEGjjpvQrTWdHvzeAlfvCRdaEDRHBrABDkzewMOUpeaKSQblTZmSHkiTfXphcDTEqhRJbJfhpKtwueLnpExJqAFyTQBZFrQMXlkpGVofHxsEFQFPjKENNAQOnjNHYiNWqzRuvvkmtGRBYfZShEKRrXltUiuXMNZSGYdciGnNuzDXCPqEuQODbeqbQrIGaWHDrJSgVLFPySiPWexbtJsaPioqK", "HHaJlMoBYtRHoqUUhIYyxDbaIiczzKPcQYHaDpoWlqTmjreYvldNRmwtjJlfVPIAXUAgchFRyHavslQSqEMbZUbgxOaZpxiOhmQSZIzMToNwjornxJjvLWliVVFtHnQuXGvyEBKYkKhPbgnQIxyzDqfKGcKPRueeDunWZukDxROoYyIJiqXmDYoMgmxzGuBQuHnwHbLTmuoWXJhvmYEQYOSyjcPzPLOxAUmbhprtawTNdAVTJmbvJHHnBglgShbGULtjIUkhacLIxdIbHkWuLQeNXWIdkJzaQXkcgnziUamyEJkbOZFZSXKPlshYUFPuTtTvxyhkgOPWPVPiPgszlqJOYSVIhJFsbdvNMYfRkPwyJynorunBZmYWvWVRAzJxDHbSsldqterNXJdaagREgwfxFcrXvgaCiXWscdiTixblOLNwIZcVDxOcHPkBnSoMNCqXfBHDKvBdWQbVnTZiPusaUvTlPHmqjMiDmOyoxySpqtZiYXhopzNaZgSnFVHC", "NynqVYeEMyutosPzqyjQEMtgqfiGgQLwXlHlbjiyDQPdvuxPIrNwxYEMDxhnGIUBrYygDATbMBYPsuQDTSUTKcyZVclbvBIfisdESqFdFyBIRpwqedBeoIIZnxZmUIfDZRfBjUQfVGxjlvbIWkejdurAlMRIbVWbNGKfdUfOqJluJyjEkPHAmMPyZYDWsIpemrwFUyPFtNAwbpWGPiaVbGdDwqmJxrPlYztMFgPyMzaIMNKuAYyJESjBACXdMEGesiBmSyhSHtXysAIfrFmVKKXgoVCMRpGThMEYQoguXsXRRrYdRhrCfZwcGkAsxUTbdfhygtfHvvklBmLTkBbnKACcmpaMcWNldpsLztvkIzTRWuMFGHzJNHocKxxKqesvhJXhMWUFiQORUyidtuURKmVISZOaWTvIWxBdwsthMaDHDKDhiYVmdxFbYfpyKzmRvsCfWUjSuFgfPHOrmQDKTLiKsULJzRnJlixcixFoiMDTPPAQyRQeSLzPJyZdZPsy", "CBDfbJuwSWrvCZvDrPsiFfMwwsutfgodHaDTVmnyJcXxpEPkNsPElHHhjngfknslpNcPcpkfOUYqMBamrioLCBxGjwClxXmsWdcZgvfNjPgDmxdjleHjJaeSyJwhmfWAhdrwyIVdxLEZIupRgJJEeZfSuiAdKFKaPzzfOzMPxTFaApJCONoZcSOlYiOWVaDwLCcNwsKlxMWeBERIyvYBXcnISmMeVVrZxEcpJsgGFIpdHXtaNyabVfpcUBSusLoGDUGZWXrAKlmSfuRnvqSfZxYhiuWOPpUhcXqjZpUpmfEwzxKpYpZRlYHFMMXEhIsHEDFzgLiRnYLSwHdonjRkKslSvVNEFIQbxfhsrpoALFyRIFuKCSKGWolSZRnYxWklDjUVsPsWUbkbnSnPKuqcvFtyMFrHsQaUtJAMyzBAHJjSsDpjcLexwLFFpHKVDMKXtpLODLMOxtrmiLhOnWYwvYceknzblHyBiFtJyBLdVEKOsAVzjDQADyTzDmCspaZa", "hrImCfyPyKWPFeOacjLXhHxzXTGHjoUCmQmEoPRtbQccyapRRbqHivaKTGFjlJdBYFdDrhnExhrQPbPsyYfycHKGkLWDyBVyIwwmCgXzptvQQSMBDnfmYKwDNKOzmmzHoGbGZWtUIETyjmVLPwnTiDQvBLULBNFZbLdjuQwBPNiJJJQwMbXNnsLHQUHkjkWailKdLBRhSoHQsyiOHxzdKJfkDiyACmDKxPJoffPXUxmAotJMvWpDQIwQjPFibPMzxerlGpbaxhdojjoeSuIfyYOYnqkKzIcjmaJajRxpapVzWJzwafDrnhZVqiAiwxTqJhRWalxqaZXaYLFWRsLmcOdorysBfbvJzCiNcnSXNoTilmQUibPRMZbySNmhLrVfqfWvrrlcgcdBWHcnZXKRKDCupycMWddMHCeKeVHSUORSSASpAkpdJPhHNbSRSoCJTBHyXPaxztJheMoRRuhsjCEvnTFQjjerfEDRGMVnsxOOulPaFGZGhmZzdfHSzzZs", "NbbTljmLVvllPDNyIsVQgduPcmNrSNkMdMkVHmvSojOXpNaLGqMmiWavwQEGXvHDgRlvbZxnBNkwOwjsPXDIzFrPqgloMMAOGveteymajmTcumDwwCoZGArZbkdbuXKfRqTpYmQuwesZeswRiujyWICeIwjObftrXEkEfzyzWaANLAsmycRnaOsgxQIrgsNuWxZVKVAvepLHYfOmCsZalZkAeetaGWHjggfOIQXOYcctdBMGzUdxOPmhscJFkHYWfmBtOLlBxGgDHmEmAyduAoGqJgXCVQGEeBIYepTEomXSVSQtVjKXBCbTWTuLXzgIcYiwZJcmtsdENIjyaVPKIEfTwHFuoUixAcMgXnPQCTJtLxFrHJIpFlivyKOwnjnaYoiaWlnxrRqIzYJZNnBRefvtwAgfqrpbVEiJBhXUWwgTwLWXGnlepPhaNEkfKSUZSYwdLWsZJzTHjFrZuvpZhdnoSGKVXANXJcjaXMfuDIfOtteJkYkBLvfGnXlqWgTy", "xFmKpFnPwquujKRPjEBhHAWUoMKqNWxvTeDuUuGFRAzSxXwkpBNqHNKgTUMzoxzjQNOGmuWIKvNyrfGKqSpNGubJgdzySQizyafBsAINKFHEpKsXWwqcTCuVChTtGIJIpUdtqVQmUyVuEdDtvPkLGlkCSDdSMMRJCYkaETaakIwBsKfNGiXUbChpfKaDGIkYgtNBanYSctjuxMEbIrpvATXVQbRlvPatUsCjnZZwRtMCujGUFUVhyBSccfaZHgoVPQUKziAjKDQcKDeEPbhbfnWfWfMypryHLInYJkuyRkSUxVPnCTnWkaPepTohtJhpRDPwkKEUwBTnTEEOlrqLUDoAQxDJVdzDBPVCjSiPYCPwOHbPPuSvsSsTBJZKDRgtTvLjCbwnFdyuwgnNyjvuUsfkiraLZdPCyICEpmloSUHGjyZLJQCFJPmNqdwTYHKyGxUDYycQLprSZRphnGgCvjClGhANyTUheFDCihrePOnCMGVQiGiiNeczGNzrtmgj", "uKkEGVpizJaLqzRKJKhSluJGJsvGDLkyXiFbzGAgNReRXOBbIbNNQSCQjvWlcBFXXbmVIMhCozHBWHKLdbUolxXLQONViyyvxEbBsZEbFQCdNEjyoOjLVVvyXvbZIcYcxVFMWNJsgoGlKJIStloVvAlktjatqnigRwDIoZZdtIqYpGFHZUYXiQffcMAgFWpbRwqMlLzZYsysGsLukHnLUxXRsIthgwUkWLTkoTNPoonxAufDDSlBpZWLlsvCCvLQfKeaPFqZmCfkBJiDCjRmOqxldfbareWKzaljQwTjveSlJYpLgqqVJPWIuqfsKOfKIkDyKFOgUqAxeOyoBkKixXUCKcqXvcVNmcMaaUyvZgzLumgCmuwMDKkuXEQsiBvwjFuNJvLQNYhZkKYwNXBvpiVSLhXrwGFgamNDLkKbNOzlEcrTExfCJmmqEUjNZSTuUzaSilQKGUMQtSonovtBXzldPehMYhOSZUPHvvKVRSWsUpZzJqClLyskUUHudZTj", "svRcthQqNyetIcznKHaPwMlSUTBLZYxsDncBYFvBBZcBJXnQLxroiTMYvNTPBGNbYCaLWXMHXLHcfozXXwLNNjpryLvMKhyfzguSzvPMePsHYyotKbvYlziTaiPKHSOWhJlvTCbKVsfguroIBETTSXTUxSbeefGeeEbQRuytBTHRwNOTbZLVqOdbJuBscALzGPHLlDzpHkIkSoOrkYFnpFrJhaIROQbnNBLvZpHBnSenoQfcJabYXpdioOXBGTBOpLgapTRzBpuThnTLpwIITCfcjuUWuPCMAeyMsyLZVCuiIosoxCNuMrQmHfwgztorBjjONObGVJtTYqxNVXFAyZShqNgVgDrvzHjgXBJvKtkeWHeIXqRMdAYTmrAZhKrYeREQYcsSAtLtBrOyLhlyNmDVpGdCiSlcYWKCXhyGEJKXBvKOdGXexrXmqSvFMimxESjcCCpsZBAmaZNTHgqfVRyohbinANNeWeqSIXlnjTJaqgmCftIWmAYdSPpVXzuT"],"c_map_largeint":{"c_map_largeint_1":-7430315317759439367, "c_map_largeint_2":5078783151775897177, "c_map_largeint_3":5059172807275408483, "c_map_largeint_4":7990213464594962170, "c_map_largeint_5":-5838387747046046297, "c_map_largeint_6":2491599997815207000, "c_map_largeint_7":6412638723715972719, "c_map_largeint_8":4684182195310514567, "c_map_largeint_9":-4252207420919794177, "c_map_largeint_10":6995629242907066898},"c_int":1997934394,"c_bigint":-6819697738835810971,"c_double":9.390133018442011,"c_decimal":33.0358,"c_ipv6":"5a59:d841:b54:e1ed:5d24:6b4d:3513:7613","c_map_string":{"c_map_string_1":"viIHICvJhwtRfvdysYIWRFlgSojyTjoUxbMCqKYaqBmcYfseXLnQEqjXhmCDuipumYswhYWUPtiqzHKCtjExfivkalOBIIMCUfYmajrnhmbOXfNdRnpxaOfvikGJRvYGIveyapfGJHhejbjAaBdvZupyKRfGQvtZRRfTnvzdfEnpwczngaPAjLRTNepKVkHUkfJEVXwJNGxYIUMrqvQaLFIJUgoYTqiiuHLMDpsJskhKyGOkOFPXuLEzUudollKBRCNikdxqgGryxXyunRKkhiiVMKSHAkgbMRacVbZTxVHcihWInwMOycZSETfDOYDoLuzojtOPmJoCGSyzIbDwTDzTegWVphcRyMBhLpSrNSElnivUCWHTKSvbdWJReDFOoljRkYUOyJnilugLhpCigYiSoIhzLtMqcKLpYUpEhGqrULQoemYrOTSpLAKfxbPNPADKkQlgCAONBRnPfzVwUqXWrXLRHtAXXUBSDOCYMyDXEXMxhYUBAuwvRLugKvRd", "c_map_string_2":"LVURPYdbIBmCRUHLxUYWPxqBizKjdUPsHhIWipalbIIcWzxJfLxAvEHYUBmNIYFswhruqCrxMoAdqEXtxblQAepCaszNctbNBAioFhEWZApdOQKKqIMETAkrxFWAgGQztCsiCVDNwCITAzqwXHiMbAnlCFSGgXVsDWvRkqwuPoYnlilOwfpDaTEsAvzTXsExbQciXVmGdgCKhBnmqzlyVECywNBihnLBkNRyEOXBINWaCZhDubvJgbcZhbktBEIYlVDkxvmausoqdFokIhRpRvXfCddqGUrmFmjZNTNpNzsKqwfxNOBvzhUYxKkqSOXBUSxoOLZYQSyyjUPaHLugdNrZTXyZfMGGTqDNVHYLKRFwCYBItGKynQDUKlqCEQrbhgjJuaMtFBFlgJheiuaUQUpycdaqqHmTzwxRABfnPvvxcubqNxgpDzSFjVBlLOfkiVXVhDwiMDaXtvCEsiUkGXAyrMBgEEQTyQPkbnDdIhhIERTUBbZFsHsiQfwpVKOf", "c_map_string_3":"iqweytZuDMqHsJNlLJboXLFMzfGoxWsfKXrfLVfPPVIWehOBkasqsSVZbkJJkIQNMnUyslrsPsmmYIXXJCvBzOCujODfjwHPWITKLSWcyDIwGzlrVxQUfoNUOuEOwxXUJebIHWUkiIGhajXcJqtRZfIjGCZcNlDJOQsRroqhWCIDvINBVpXytMuTCyfqZRjEakjpJznYPxFzgiiFofxcBsKrPTpoofnhclFqOtzyOoQDlmCubPNDFoEEBGnMIHzbwgJcdIWcLeAAXPjhIDxAWDjROnUbUMjRSstmuQUuyHdaSwwCmhtOlRouWqmKFVhhwBLFoEtTPVsCXwTdFPjWAunZYuRPzZnXDQhamTEXvdXukQUSpyYBkgmyldjhardJIPeqEyEGBxEohTGnKZWUqVvuTnTbFBwBoaIMPncTDCtVOZtfroVoRxiObJeBvWngVCiIsOMPcjpgaNKLGhamvuWXtscLoLLdcykKWZSAhTUldZFKypHglitLDdZJtEpq", "c_map_string_4":"MjiUEpvlsLbCrHbuCzDeFvZipOqmgydVDbcBneYLgvDWEkhYHbkAlUhMuDGlgbOIywbvNFqOqJJtDiEsIURuHxAqYUrUdrpFSCFTcFAVNUEjzMcBDnzlbXsgEjYHlouxFECUsQoEXWHlXjEoDsQnvwFetUpLiiRAMjMxCStblhhJYfkatJBumebSnXqXXdqpbjuqGNGxumFpFgADmygSKgNqyoMdvSzkZVNQdeIcPRWMMwkgdDSXKxKoTmsZtIZUoSRQWYhkBGEINiTGHXrwGvpwgUOndQHIjOcefchXuuHKoRIsktntoIYKMvGqmKrSBkXnFhkThnuUmLLcnJeETVZwRZctklgZGBYhebvVMTLujCppXjCxAKCLqlnfIGDeNiuUZJqvwfGRwDhMhnGHDRDzbZekmEohDLWBSrPyNCpirOprvBOkDbVfXHVFUeSbvJAxNbXPcRPQbXmmJIusjarkTJppdlVaphpZfmVUSpCYwmREpuGrhCuNXimpjOiX", "c_map_string_5":"HnhVPpVuXrPwBBwMaOaJiweovKZsZriPJgXNEKGEcesQrAyDTyQuEntwZnVOkdITRwfKWtSSMBSbvGLJScLiecbTbWIJoQNVwrripyVxzlWCHICsXRCCFaIUGRHWbcwkanXetVFJGZwZsxBaUgyjuNchZbiThukCEMJhIiIhAkkcEBZVzYIFFkpJTSyKAncRlFWzySBIYljttrVOZovLddXPwXhBZGnKepHnACAsnGHPAvUtgWAFBYwvyGkOcYxuvBIUReVaxVYFgnPtPbifxWQAekKkhOpUUVyLeGIyQCvzXNMpBKlEcQCHqbOljPHtRrLcDIuwVMFQzDkuxHKNkZxMoEHKHEYRoiaghCiNXlxnCNJaBqmiTPDOIdxzBfsUpULZIRReRmqsSorQibyEnTpvLDTANkNFotjjmeWxHtAgGubRruLKYCaZsFbkhICJcHFGcECQPWyIvVdSqOyQqMCmVsRUMklAgLamspXKGaMfSPxuarMsOtlkQhRMAJsr", "c_map_string_6":"kjjLyPwAJZaXAQhCNimjUTERavgZdPGKyiLeyNYzGVFZsXGbJmaSiiVVBeSZuYtrZkyAnZzPvqSYEDpunkKGohuIYXFfXpDefryiMGKQElEuLrcBnTybtHxAKAVEqemNpislXTFysJKcFqTObaiwmYsLBsHmYxwqvpImFZKJRzXBFZNMIZPSYepgJkDvMVGUEAOiqxMwBDrCbmLVixPtxrOfqmjIIphBFZPntMciWJLywDrHEqmPWBfMutPgNrzbGnZGGKACSAfXwXORTuQONzZNMfPRtebIeVxEwcvFOGdvwfcptuZvWhtfiybvhgnTufYletDsdhHQtAsUBpHkudnipBDxxNeuuKiVbQpazbqxjNqbKPNlmsbQxPVbLNMkQgckaWQuBwwYbFSPZVWJkLGxRPqJRQrxcAvVROqjMsvIFyBNugnKTPcauttJzxpziajCmLYgmhBtGAinklRQepXSRQrlMfWppIticpnoGYEYNUkPyShHCXOHHQbZbdcA", "c_map_string_7":"bBMBhYdXjdACJmBsdUnQJWYBEwpHnbtrtbLWtJNfGUfXGWqlQRJLQnoEteLpKcgnCpDvPgtlXdShJUFDDqeFsaXzHvGkzyIxjOytJyODdAfuYVgytdgTmenHHvHfNZsUuyJocbfqZcdPfOyLwmqvmTdEWFFOHzjrSnEevBohRPEdyubuPZrTLQpAJbAozfaBuDSCSdUYTVGVbHGBkpgcoMZaiEpeuIBVgGdStTyqAfaMzPRuHGyJZFyGGbiBKAFvBKiEhyeYixbWoXyEsTbekSaoPmUscNVgjrBxTlfYFFEZQPWZTLSXGjfgNSuOrMRSJGFGZIstKWDOxwTUftBsANjZoQQVSWZXOKHbxYpgznvUvQzVqsLagqljRLPBzYPWMytYBLstUcrDrxuMatXJzEFgGBGqIZknMEEtnUoLtUvOwiVIdxiRCAkSfqMeWahpCOtUQZvJWxFsrIBSMBrPiSuTSYgCLMoRMhWlQbcykWSacFXimSQFfMiwadDpUfEL", "c_map_string_8":"WdLJdxwimBAWMgmzXiGpRygZlSgUpizdZgPemZiDGrVnQcDEVRqzcrFYZpKffQlvWYFiSpAmmVYkXWphGGbBjyGMHRvYBhYBllNZTeimFaGFJLRwhmsRgCRYJJCXsZiaqetVSioZFegYASmrybUehPMZSetenXsVJgwSFnMWBIxgaTTUFEcDUbUBEwYItsKfJMzSyKXkQVfCXDzWhQewoWWiLDCFAeFtQdsHGXjIYzyPFynuudEhmWFOGSJBSnAsnDeemTwkOJXwEJyzMKHZNzvEtEvBGtCLKiOzDtzcXmCJxKhLhKJcddlFIBjvCIEiIiArgoCcVpJhXUVODBaDVpEKEhablngdStZicAeFrpOJFnMJezNQrFCUZcDefvYqRLUWmCGUpAtNIqDydsNsPEeAskiDUhIMbxMvTerjBfvhrvTnfFfUJASACUHEAmQLknbQVVlFyQdVFBAJwdvOVcbUwtoRBUPGTHqUQcsMysEaprFTkMAaXOwsfHbihJaS", "c_map_string_9":"sYSoyxqXQuEnBFrZOhkXhaUgjYaphbLCnfJgFhMxheietGECKLKSmkgaZAGYxUNiPTSnKzMlIjmASSqrfRqeFBlElmWdajQSBPyVEqgQJuTtvqDPXfWqkDXKDrCHmTVQudvZdXtXvyqYoPoECntuYxKpbSqrcwbJrXkdQlIaqhkvkfpaKFTOXlMfzXVHauaIvxSmISZZtDDaMLTLFXUDHjipLaxPJKOOSqEOJyvmkJxffMyDElRHBjZMQlWMttuxwPtDtFlYFrRlNAfTeFFmWlpqhsblTXDuUvgEQMKgOHleEzLCHziVzfkgOegirLNYfdwDLHBpScFQBaMkbraumYPtOwDqnbhMzgpmGSrFJVBweuZIHNEaEDIktZEnruZAORPoeasuavCdBxpCGGkTayiqbFlsoYxisdVKioZvoUIOcpHoCBiEsovVRQltDbEViqctDXFtHCQiKjwJrKJToTXbSbSavfKAvXwAevJkppHKbGYksWCAaXskzrHqqNrA", "c_map_string_10":"uxLhtsDizZZCRUldDnOHrBAnKNgPqkluYWyjSfAwOZBpvFPxIxQujcKOmlCdkkhJXZmNiuMGFHQpffLHmpHEdpYvgYeodypowNfYHynvUQeZrEyZFtkgxyCctrElazrHyihayYUoKlRSpcLFbhuXfRYvEcptUAXNwvgpksbiOONNgPasKtJoPKdOwKIECLttalJDICXKadsxlCAQLxlqtnyyWPfcSNbJrjRnzAFSXxBfzYJUoZlELNVwcFAkUJUFzQNnNwpLaKKhIHZzlasoOpypPaejDVbEnBKorhkjNKkDnhuinuxYiSNlyGmxGYgmPnSlvFbJHvXMFhCQXaTADHhorTjVqMTdxWplfFZsWzGtqwVAJMEpnONtNPryyvJyyIAkmnSCyMggPoNgcbbKYVPiGzkOrDQIRqrsJQsqVmBZkBCGNzQhAxsbsEJhExPDCOiCsQHdYifxgByjFTFHYOArEfAtgANeYkKdotIKGtnxkqBNKFevYhwMQlldvPAU"},"c_array_date":["2011-04-19", "2001-06-12", "2016-08-26", "2018-03-03", "2003-03-18", "2012-01-11", "2005-02-11", "2018-04-17", "2002-12-26", "2005-07-26", "2001-10-10", "2018-04-24", "2006-08-08", "2017-02-13", "2003-05-21", "2016-06-07", "2006-09-08", "2009-04-16", "2015-12-18", "2010-09-05", "2005-12-27", "2018-09-05", "2002-11-19", "2014-11-28", "2008-12-25"],"c_array_datetime":["2012-05-03 21:16:41", "2008-03-04 22:06:21", "2008-10-07 02:21:21", "2003-03-17 20:19:35", "2013-04-15 03:24:15", "2010-04-05 22:08:41", "2008-07-10 07:52:20", "2013-09-23 20:32:25", "2003-04-03 23:35:44", "2002-09-17 15:00:45", "2008-07-27 03:43:31", "2005-11-23 17:15:42", "2009-10-25 21:22:10", "2018-02-27 05:00:49", "2005-06-15 15:46:51", "2010-05-27 09:45:27", "2001-03-03 05:20:57", "2005-06-11 22:17:22", "2017-11-22 00:39:57", "2019-07-09 10:28:33", "2003-08-07 16:02:09", "2010-09-27 04:49:46", "2013-04-11 22:28:09", "2019-10-22 10:20:48", "2015-04-20 15:30:09"],"c_array_ipv6":["emuXcnXLdV", "rcuRlfxIpJ", "TNSaxbkNxr", "IUWCnNfXHv", "FVxoJrrBep", "rIlPtjOTRg", "vEbVuMLaDK", "VhHEQyORkF", "GVooOXelJX", "VinirQMTxw", "oMTTCEApED", "YVjQwcBMWR", "QFGltpGfCK", "DqcjgIPGzH", "PadQfzkBsO", "rkLNMwFZji", "yQsNNZWMgE", "EmEWmhhEue", "UwyxDGflOp", "XkaYthoxpr", "EwhnKhRfbr", "QBqHcpzVIf", "oCnpxjFukL", "gucxknYfCE", "qqByafaLnS"],"c_boolean":0,"c_smallint":29786,"c_date":"2007-02-06","c_datetime":"2012-02-25 22:14:38","c_array_varchar":["cYXrYdHPeDBpyyIVWyqvQIunHEeHSAhdqYAmsSWVXQRYlmnahuDXYnfijnMuNfUsrRpaWGmhWgERmEcwNrVbseBnYnzMrKYLnwGnDSWGXJogRpHKvJbdwPjcFbZEuSGIFRNZAydxjtpjHOtIfLnpnpqxoXcKxqDvxCFpAnFxEBYGqunKpKEfRZkBZvJseVOMCebrOvVyUCwDNKmAtmhYaPTKnWszkmVYYCqcJkSiEmSJEisoUdGHvGyuHqeZtFMQ", "ISuxizYevysTWeDowazuoTKRbpPTrnxVcIXJyJrmWsXWlDydGqQBwAmeznCDfrWKYRyjeCvmFwHJSuucXgcNAlamFdiuKxmPZIhuHmqLuLnMZXwnnvCYiTQWfMySPKodlcNPAOjDRZfOiDPWYDbWPZeWhpsKoETjDJWcxjJaVQeEAOjCkjUrSjdmfBPKeVROnKjfAjmgMCGfdOxuFTrwQIvGnXDutswhpCckjEAsnkJWESbldyrkJIanjsWNbRel", "hXlBUccwOKagIShTGQmkPPChvIGDnDBPLNQQfbLHINuTtpJFkkrczwbUJrdCNceXOYFOzCEmuiZXWDRbYmAhttSSFUHuAZKGOLdiCakTOMyAqUJLWjrXOPIbeeBSUgdjqVQilpSaBcuSSAoJdkAooQzEqxajahDZnCwGNKdphnqoHQBMtepwNuXECGqyhxwCGeHBjGleeXbMmINtqVobagzwwstsDjhHfsDwyEdgcLFkNsgcUjLhQqmGtRWHlyhN", "azRrvrcWXfSLKAvtAxTOxlFGcNxImYyqnlxQAUcUrEXKdJOMlURExSKHkyhrRwFsXvzLeVVUJOeCrPKodhWkwLVEExdQSYEivKfdudzRsrlhLYYtbAqInsZrxVkJGYwvoQFCGhfZeVNiWoPjcVLdkBUQGSpWeASJdLTlQPGAksCmxYmjAWyBnnBiIvZBdrUpWGycxjZzlVJSeKfsBzgoxGQsBIDcQdbRnKAbhTIHLAOzKrpitDgTlYfMxDyQvLqH", "PjoibaIpVuSjdZQwYOqmYpDyBwWTadiKfElURBFqxojSbORSzTLRnKTcryAaEpELzdpfnyPIeJYZISnQRibUaVDzqreFRLCmEVJNEWNpfQEgemIvmySjYECgARsEoKFWMezlWWPipOGHEuQYdAyxzLtvNgmJOVWweoFKIBxUtYeaLrmSCIOtwabjwqflfqYeAddtJYOjgYXVMqbSmayBImlkRGxnnRluYMqsEeJdhKwZepAbQlTSQewyKGVJvGoi", "EqUqkTtuzBvWQqoBEJoOFSzqCImOzNusOmYfrbsvyhBHGiaAwDNDdvUgRVWidjGbapFLMYVjgRGpulyJYsweBMyqUoiIhTqyCySmyNjkdvDoqKuFPDbaKtNhNiguJpkGyxSxpivlEPEcwxRXyhCOebSHFAwgUDAxuwiMRaTsCcpZWELApVedybuYDeFCoJNenhiVkRLiaBHNOGFSPcBKMeeDIKdviOqybfgLFtKYYrbCecQbFzDklQPXPsaTKihj", "RUWRRTEpxCvMsDOtvwebaixVUUVffWvwZLEXepGJMpGKbWGTxDZEZvsyUpxgWhdAytgjNtRddDgBkxQxkbGWbgDMwrYnGaISnydbBmdpfjOqBvNAXjpUSxEEdvibTVOVwFYNlVyoXnQSloHNvKUmeZNayHCOiGrAADQIkUAkkrLqoyPiMczciClBGCSDtQucozgUOyZFWHqilREeqONLqgBfuAyfjjYBStGsMyTRjjZqiMkiXwKdUJfNMJyekkAk", "faZtmGqaAEMiGbHsNsDVPDSsBOOuetyaHxNyGYcLzNLlDUEhRPFUkbmEhTWoKCEkbOtukASPqDuPFcLolzdQbNCJtOcChWLTAlMNlhDDAQISIVLVKaCrvyAkdZvPZnFKIDDOFXzxOTpSapfXmRyrYUtkUbCglqYXmyaTQFmIOeaVjrHCmVdbfRsiYCzNlYuLOOyfKmuZUbFYRMyrBSOfFYSllerTfGtoJoMNaOZAnXcTiDuEjyhVJddGPbXkurxS", "fwcExgFNiUcnPKGSeGiWGbdxEseSTZoRyOtqtsEpqUoUDVihAaISdepriOFtscYGJeqyayQjEGlGQFCOSNBtElVhJRjYcYbABjNGVKJHmpkKLmaqISNgkIiGsnfeQVejPfKukmrfZdLwzhJkgjCBXZfDfUgMTLFbwtHbdpXjUcZKjJfwtbSaSudxMOfNWyxSuFfeMpwgZJoqcLABovatqiMKseYPKsnnNumydfcKmgEoWmsnHhfNCoJqLTSosIPO", "QialWdGcrurmJUtCUEkyUSZvPTNlvzFZOFEUWeKuvsohyywLIIiMRDhSRVhbAfNveJfmsvrOctxZnodhuzPTSWOWGkbeegQEruvTyoFYQpKZzYjoNTfvjqbBgdfdFUJmhZHTlfWhibQnJZywBpoNyKyyoMyXDSaNpgnwSsVTgtIlyWGKPIRgRMUFagVCOllOGhrOeqQdkSTxXZLBWVDJpRqxkeOlGlnNePJDsLNApgwCVQkJjSULlHjqTFXEdPCX", "RdkZoNdWFSXeKLIOvXjjUwOxeLrJWeYLyIsQlqTOTVHhQYUsALHtbsNSrDRAHivXquduqQhqlXObEiBIitICuvYTeiquXWFcdoQSHyChaQWfZbwGbuuCmxSJHpkwlSsliUSmuKqDHhBcxYEDThfxFBUcdUDWLwSobhFatdZmTgoUdeigJRjkmtXCfcmOEJudkbmIliClmKXMrzHdqbSbcAMIFUtltdypMbDzPQMJzVcaPHYjIHsHeGWvohUxoFYl", "ahkVOiMOEIeuYEDHDzOUWqxXmGHTYywtgcBpzrwjfFsfnjuWBMJPWNeznnnqbXMVOSphSMBfHpiHuXDWBPldlVIGkJwnkLlRXYqFhoDbpLIZyPbekoMjzyQEZRsvCFWlvBFoiPKDGlWISBwCjNehAcVLdPqqPyvEQvQCNJvOsWEJIlqsQovmZaOtJJmhGGjbEHKoGfuWmHtjCbwRdeNGzTfhQfiKZmShMjeKUoJluQnEDKYtWwEtMXQXguhpthdu", "uZKfENjCkPAUUAudAzjIxOyqcJrlAwJFThMgCIPzoDPRhPMbRGAEhgFaCMIAqsJxLbwRfLNhCquFOVusaPoEXkSRMeCDacfVQRiKKQARnJlPpGCylBhrTmOKMPSyRTufvNcldDugxpVWeEiBbdeFmTDHWiShEtZSKbxpUvsqOOKNnmEqfgsxSmOCxcNzMzSgoSHrAEyIoxaXUwyXWiLftkEMmSOrAIpmtVebHITdCuOxQKDbvEFXasigvNblDHfo", "pvSFuyrmrdnKFjqynUaOYikfKxCDiOMFPZUEOksWOTqPAgNNNsxCEGgIIsVWIghpdjNfTwUviVxiGmEIpdxLlSFYibQYvLLJTJxKZTyUxQwEIWklFfofaEiYCcInXPkXWKMdsSgeroSsKDEFBYcsKHstaoEEoofFhGkXBhTsJowZjWAVBkePvNvStsgNAjhxVIaSUdAAxOWwlPULwWLRjtBmWFThIzTSFADZADSlXAUDQtQufjZSnIabdQRAxmPe", "pZpheJoQBNidSkLRUlTlIbUGjfZNCXIcJAjGTSPZdFlUtORibwqNSaywbiFaSwVfuwvUwPucPWbYCBCNQOFfyEWBeuWkPcNTedDBWdeLIIOmrBpcevpOgyLXlugkjBDmKNuUmxXADsAeozHfYmLQvJGSbyxnTmqyhSaybHujQmzBYQlGfMOnddfbEdYUHyTovtiXlmvLdevYfuoVwcfmyCHwSdyktlVkhiXDkWcGIosLljiHRJmAYHIBuFxAImSW", "GQJLVLhuILLCvPdVOMNpYLCZauqmcndOOUUETqfOmhoUJgjDKlXrgpejVxTckHTxihDoFwYcFPVqcNtYFMbaGrTjaearPxsbRVKkwwFXkcmqneWrcyCxYaxZuYZoFaiSbGnaMTBPpRcfkXqkjZKXjmCukHkuJmmagtWomGktRkocybfpVfpXMQSmrJpPmfwlmaDUhbOwCcStYsrslmIRIJfduvPLodDFlVVulUnNaUORhQirOgImfDbfuHqHgZaw", "oeDIIxMwlJeLFjWGWorUKhaOPyWscueloLDifzrRRKKPCUGgEzWynHMOuurWayrguDQSIVjekSagOHGESwdgtnlWTEcgWTxOTXnnwAPQEIvEjTHxWFUYRZuxhTxUCiLDdkMyxWatRGPfVQLhtDCABUUXVlHHIdzfOmCigaPuYzHumEulgFZNEXTpoTdZRUOCdfAImSZNFYmScFqealSIqEeTmCOijGoGbIsOTbRAZuGwEuDKUgtQEmHqabVMCnDv", "brokuVobSyEGEfUxlKWwgUYgcSgZyVWpdvzbvsnPexETCsusuXHPxPuBMasXVCerWiWbvrILBIyReYEcftWFbdFNGGwoxPforKujnKQGfQHQqvpTCctYYMnXVDPxzILBZkNyCGknrmGQhyQnttIkHyibzeylTYNQoIPORxwFuxzsayJxmxdEvtSuhLpqIEUbqieQShBBmCQYuUCWKQXRYKdNMtMlnQGSFPfjNctOFKaknjfZpMBfvwhRGWclxPMs", "wwjNZHFGShBIVkEjJMssBzYlLlymhhEOyWYVqwLOlJTKDWwKdMkOcrYkPcGmasoAFFTkSxgdiReIsVaJydReRsfzcPKicHbCxgLLmpmJJmAPjKVPLluRqNJDiOtztrAoyfAGwHqMNrFgKJgOnpFyXYlYFHAotLugyGzHzyxGlhqdMYowmpHGYFpLhCygKlRiLlvJjFdtWMZhgMCofRggAWHbElaRDXDJVnsdlSPywabkBVGqbtLHTnitisrSMIrK", "zUeBkIHpeviRUrXqSYaNAPnQttkXlqvBGXJnvoMBDiSCZetmjeYEClcOgHJqKWDcIrmbBdCnLKrCbZcbyzXPWVQCBxAQipalGkubpqqaDqRbcfRdzGKQJkuJbkcYILNgzCYPWhNfTuUlHYVzmqGcsqlttifcRGzjiLLhypqwzdFHPeAVSMedPDRVuuuFNpaqduaERsYHKuJCYwBSqjcgWYEmbhwwYsVBaAKwNfWzrXrlAGdwdzRuXRnJwQYKqvJH", "ZOinoAExAfBEkvdqMqXvGpzNRaNCWApmCmxCNIWfoSmkbRJFQFegBPoKyULbGpbqhPYWlwlGinFkyhCmytiUWbPBrDRvRxbupcusxnLiobZaIeNtmmJabRSFWwWOyQBngEDUoplrsdsZnokSJCGefThmbwgGXOemQfSVeGWrtecgEZbkBSbWMJDjBImAgaVyojwglaVcYHYqivslihepLTqTBWYFTdixgxHCbpmkzaBnjAuOQIdaIhVUhEKqiKUP", "DqtmQckwZAeKxNLDzIAnNPaMhMkQbuAyXtMEGHPUlXUDEumPyzPfBKMyaldJCKPXHFyJBqHpzcnodCsrblzDklwNclJbyuzVPoPnIiiuzZLqKoWFGRCDVBnaoLiQBgzOcjwwdniQQUfUzSnWudTVlHznuNOmMQmvpONSWjXeAoHUHUIEGSGfRtRTyzdiHsSuZxioFuJrTjBMBRFtspPckjTReDolkugnwbHDJGwPDrAENOTmmHpzXOIvRYjQYcgJ", "hIQzRZYChZwrSffPBRtQWoCZKVvTqIjLQbgBxOSfJeAImhNeQTnrTBjzhQzCpgzcWbXtiMkbpYLBceBggGpsgXJBKFcqlPqBEAxTBQTgmTkHvBUZcTgPRsviHtfKcbKgCZFXqhXtAbUUnEnByhboXPCPsHkFkcvfRYLaWbJevlMfVkDguYEFdITKQpIVhpALRaGIBmADnhTftSnKKlxltaFThsBcJJxXAVgaexYABNqfRyQDTMvjkpLeGAQcqSPO", "wrXpAKzIJBSOzZLmHMypYmORrYmoJeCJgBaWzdeGKAtYhyeFbGkhmcLWNKENXkxmbbQFZXmSYtaKMjgPzlNiOEwzKvnGUPqZCbLCZlwewnpwcgRaoAMwgQABjOMPUfiAfWqtXefQAXTheUCiDKPgfprvZLPIQobBXCwuirNKtckkHFVzoBNMiIstLzoLfjHYDxRncjzCbvvGvyrhVANHUItSJnudZkqNZjRZeOFaPMqLmmdMChwwykrPPmuAqLaI", "FeQTEOlYoALNlmgMfJYqyUhMzRYHHWVwOjkWvHGvFPQMnwfZDuKrvEAODiGomxJlEsyofSKtcNldtcEufIAIyDWrPcEnHAvzstGzBRAfhYxblLyDzDvQCDEeVNfanFULhLUxoVURjZXsVBGCNYOTpojQxvtVdPrxBhuvzyyNGZvZDKwmYAsWYIroSYLfISaYAWFYGEIQZDCHtOqvXxNqOOoGNqTXCCOJNtMPKptmtUAwUiAVfklUGcFEDlStbqpO"],"c_map_date":{"c_map_date_1":"2004-02-18", "c_map_date_2":"2000-01-05", "c_map_date_3":"2003-09-24", "c_map_date_4":"2011-11-14", "c_map_date_5":"2009-06-12", "c_map_date_6":"2004-03-11", "c_map_date_7":"2013-08-19", "c_map_date_8":"2008-03-16", "c_map_date_9":"2003-09-24", "c_map_date_10":"2007-02-04"},"c_string":"ispRxCJIXhIODLECEsbGkLQIzsmSTUBsWLqtEAVunPbpvhRbLgJSFhunlaDUcCnYqbVZTLcvKxjXWYMDigfTsPioOKgLWyXclghmARideecuuRSOOrkCjiiEglbhIJXldrrMkRDYgACCxqVnEuidIYzaWsxwqyUCCyjBUbkBieqkwIrKfgowjREZVakoWlznNLXkKMVWHPSBacajhFDptWBwtyfFuYicrhfZtkTaXOmkDLeNCvZArugZHpUWDmkmgxDmxQGCpwMBuxJZBiYVpclonOmMwdlGirJMwNNsqNTLprClthJZvXUzveVWsRTzNeZKFlkUKBtwuWDtCHhCJwZMkZgSSvrTEnMqqrJXIiKdugjJqothcVLMMFpakLSpABatLrfUDiNFjDKMdqXNwYlxXbXTbwzJksLYgfwCNbGYosmdTbehVQVeULOtYvgdmICMxqHXYBPwOxNarqmlyazVvlPzVWCDeaCnseAgRUVGrQzMmXAUVbbULEuVqkZH","c_array_float":[97.49779, 10.678992, 2.3358305, 70.30484, 48.129875, 34.21184, 31.10477, 52.949806, 60.420967, 40.514362, 44.240143, 55.289223, 9.121879, 48.49403, 77.54458, 70.05077, 80.02012, 52.465897, 26.336632, 64.427986, 41.619125, 59.625988, 33.727577, 71.080734, 81.21013],"c_array_double":[23.047096314916285, 21.014726456269333, 14.033388227528887, 86.43809087360523, 25.18141915295701, 20.519550227672998, 69.45070734856853, 56.66193286836693, 82.13757767647425, 95.89417481541321, 66.12933225173566, 30.360484575209238, 34.70195845658948, 3.5734816380269194, 17.280566705253214, 19.24410104407694, 12.64927602782921, 74.14780825851739, 76.3075575120114, 97.69317444642323, 44.96143996096857, 90.20557935909329, 33.0879106738516, 85.59729512935009, 91.0076051680132],"c_map_int":{"c_map_int_1":-1377140255, "c_map_int_2":-1560872667, "c_map_int_3":748147957, "c_map_int_4":1481758676, "c_map_int_5":1387341494, "c_map_int_6":-1446113668, "c_map_int_7":1412034721, "c_map_int_8":159747045, "c_map_int_9":682690597, "c_map_int_10":1762160237},"c_tinyint":36,"c_ipv4":"74.212.181.206","c_array_decimal":[6.0288, 94.1313, 50.1780, 52.1114, 35.0435, 18.0394, 78.1315, 86.1226, 99.0200, 38.1799, 23.1464, 7.1834, 33.1121, 69.0053, 6.0177, 67.0320, 60.1809, 22.1319, 0.1847, 57.1361, 36.1714, 41.0916, 79.0338, 24.1761, 92.0064],"c_map_float":{"c_map_float_1":94.55024, "c_map_float_2":44.936443, "c_map_float_3":59.153515, "c_map_float_4":97.97799, "c_map_float_5":67.049324, "c_map_float_6":38.059166, "c_map_float_7":17.678806, "c_map_float_8":37.393898, "c_map_float_9":54.22908, "c_map_float_10":55.028625},"c_array_char":["TNwvNKNaxT", "oYWcHijwYM", "RxMPnyFAMI", "fYqswTXHWq", "DYbQpoIaSK", "MMUXglrwTe", "AkUmHNvqXG", "PjINhsjbFp", "ZdRAwziSWP", "gHhkAXsTJc", "DHiiekGjJR", "tzSRAaBAQb", "RkVoPiSVAL", "HjjMkLbCEH", "EkTwLjdqGm", "ofxdewcdEz", "RDEnEoFLlY", "SmUcUrGCzA", "HbXNkSTBpO", "AShrdIAuxR", "wNMJNCpbtP", "nyhmvyuWES", "ibwWPUCIYj", "HtmZQdOxiO", "WRlEpDEOoN"],"c_map_bigint":{"c_map_bigint_1":-430166773058774508, "c_map_bigint_2":4923316595401342222, "c_map_bigint_3":-6927573339901682798, "c_map_bigint_4":3628293112735835024, "c_map_bigint_5":5520427000846817642, "c_map_bigint_6":3693199292427928985, "c_map_bigint_7":-4205248466592414416, "c_map_bigint_8":-3352470374068830554, "c_map_bigint_9":6283935198830351545, "c_map_bigint_10":-7201284973030760928},"c_map_double":{"c_map_double_1":29.234735680071587, "c_map_double_2":95.39004898624432, "c_map_double_3":68.15746627246791, "c_map_double_4":1.6100777569649711, "c_map_double_5":2.4630753592625387, "c_map_double_6":78.86932039510462, "c_map_double_7":4.486913709301785, "c_map_double_8":95.73032997213858, "c_map_double_9":54.71242175911856, "c_map_double_10":8.33960623263476},"c_largeint":28387661830271828,"c_char":"hQIYBwOUcH","c_array_tinyint":[122, -97, -21, -106, -78, 54, -90, -86, -121, -60, -5, -127, 55, 125, 106, 90, -70, -16, -63, 2, -116, 48, 82, -66, -126],"c_array_int":[780184878, -1807073786, 252308947, 1924311719, 1243184410, 1754120629, 1764129598, -41002431, 1419280716, -5220511, -212616357, -1915241582, -1363488623, 1202625505, -1486631332, 1413425140, 1611259948, 168294232, -730640181, -2119000405, 2121281626, -155979410, 654867766, -533328368, -1652615850],"c_array_largeint":[3485726577371228839, 5547065719618380816, 102982244301603432, -5950965988528798491, -1506162292543431394, 6626488602163037392, -1000701789012615516, 2247740227037027124, 90932854496988228, -2388453362341016671, -3149261814432519370, -6158486808815751317, 4286165271833610454, -5786461209581153291, -6121151558199894550, -4082120900050611281, 8546549546449996818, 303115191158349331, 7632371385590578580, 2640793889424026048, 844011127747880021, 3364671821202198582, 3663278200535328188, -2925342261805323385, 168208013460401688],"c_varchar":"been","c_map_ipv6":{"c_map_ipv6_1":"76fa:231b:dd12:7bca:7a74:6c9:ffc5:f79b", "c_map_ipv6_2":"89e7:d813:8c4a:7530:d029:220f:47d8:d951", "c_map_ipv6_3":"ff67:13f7:5b81:988b:94ea:d10d:300f:ec3d", "c_map_ipv6_4":"2e96:c7a0:7b4e:2c0a:c23a:49d0:44af:30e3", "c_map_ipv6_5":"d23b:ccd5:a082:3fb2:99cc:510e:f169:1d6", "c_map_ipv6_6":"d109:2346:362a:85a2:8b17:b7d7:b8cd:6c35", "c_map_ipv6_7":"56c:2f3b:a2a1:7bbe:be8:4331:862b:9bfe", "c_map_ipv6_8":"b442:2eb3:2ec:5b1c:d529:b2d5:5147:83c3", "c_map_ipv6_9":"a33f:5dbe:290:918d:1417:fbbc:b69c:a6bc", "c_map_ipv6_10":"937c:d27e:86c3:26c6:eb12:1e29:aa91:75eb"},"c_float":16.446278,"c_array_smallint":[9489, 16055, 25159, 20101, -30014, -15920, 9452, 30143, -20727, 8488, 21261, -26839, 4924, 31868, -8728, -410, -19385, -32275, -12499, 1514, -896, -21785, -5684, -27812, 25044],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-324, "c_map_smallint_2":27389, "c_map_smallint_3":3949, "c_map_smallint_4":6494, "c_map_smallint_5":-8378, "c_map_smallint_6":-19656, "c_map_smallint_7":-20530, "c_map_smallint_8":26509, "c_map_smallint_9":31095, "c_map_smallint_10":-9832},"c_map_decimal":{"c_map_decimal_1":86.0797, "c_map_decimal_2":10.0516, "c_map_decimal_3":6.1148, "c_map_decimal_4":37.1089, "c_map_decimal_5":79.0068, "c_map_decimal_6":96.1954, "c_map_decimal_7":88.1288, "c_map_decimal_8":35.0000, "c_map_decimal_9":61.0444, "c_map_decimal_10":67.0479},"c_map_datetime":{"c_map_datetime_1":"2011-06-09 16:09:20", "c_map_datetime_2":"2001-10-17 22:51:41", "c_map_datetime_3":"2007-01-15 13:24:31", "c_map_datetime_4":"2008-07-17 12:19:51", "c_map_datetime_5":"2015-10-16 14:02:11", "c_map_datetime_6":"2009-01-04 08:42:18", "c_map_datetime_7":"2008-09-01 07:58:53", "c_map_datetime_8":"2017-07-08 19:52:41", "c_map_datetime_9":"2008-05-02 07:24:07", "c_map_datetime_10":"2012-12-28 19:51:53"},"c_map_ipv4":{"c_map_ipv4_1":"236.183.202.157", "c_map_ipv4_2":"48.185.132.155", "c_map_ipv4_3":"238.197.182.97", "c_map_ipv4_4":"130.217.62.175", "c_map_ipv4_5":"255.229.212.74", "c_map_ipv4_6":"18.7.200.169", "c_map_ipv4_7":"226.176.134.19", "c_map_ipv4_8":"33.10.71.219", "c_map_ipv4_9":"253.162.82.0", "c_map_ipv4_10":"203.84.167.182"},"c_array_boolean":[1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0],"c_array_ipv4":["eIdImZXdhz", "sssoIbzwPc", "weuuNggBhA", "NECyZRMfxy", "NvFAOICuTY", "nBgSRbaxTt", "WBESIPuXdR", "FlLrtqfzmO", "QhNMywmFzK", "DhHHxGRIqM", "NOOBaxVjxQ", "TtmvKEVQeB", "BHiqjvHxIC", "zcSDbZUowY", "DqapNENweJ", "HjGdlgmUbJ", "eiHdVUUGQv", "LDHmOqPDvi", "jiTHsEZHvX", "IGflJzMYeA", "zxLwMMjaSe", "EwhzpUhCbp", "TruJXaWogx", "vzmInDhXPE", "RWOQZEDVzW"],"c_map_tinyint":{"c_map_tinyint_1":-20, "c_map_tinyint_2":56, "c_map_tinyint_3":-124, "c_map_tinyint_4":-28, "c_map_tinyint_5":9, "c_map_tinyint_6":-95, "c_map_tinyint_7":-32, "c_map_tinyint_8":19, "c_map_tinyint_9":108, "c_map_tinyint_10":-116},"c_map_char":{"c_map_char_1":"GeRDHUThvq", "c_map_char_2":"ochIPIJNYz", "c_map_char_3":"OpIsmbTXAh", "c_map_char_4":"chzTIvDmch", "c_map_char_5":"dEfQDPzXtM", "c_map_char_6":"jloxTeIIYb", "c_map_char_7":"BeSBdqcwyX", "c_map_char_8":"NluNWlIYnJ", "c_map_char_9":"bXMMBebMcA", "c_map_char_10":"zDjbDkVvyU"},"c_map_varchar":{"c_map_varchar_1":"GDVYJuveiindHRjrBZWakyqYbsuKzaJKWLhmYlVPBubfBQulfkFIFCtJDPpohbGjAggRXXcHuAWxAMmDDUuqKBbFUEYZAJCncfEGEQcCewBZMxLCElLpDuCJCrlBSpZJwkqmUTFAhxHaYeBYXiKuEDRPexGLyMdbWPRewykHAELWsPdyMXAfPUPJFhwwsxywldgMcrEeukXCuBIBBYPtxZgOYRtNcbDXookkKwWFqTHySzDllKWauNhmTJZZwjtg", "c_map_varchar_2":"pKhdkBMEIZKaWGqnwnivnFjrkayqSsjXeboZjkZjJReobOFNiNqwRWdLqyqQvvEmGDlUkQleFHIGYBXoaBfANSHODOaEsqmQoQkZoBHXHKSyKOwIrnGwIpDyRzUlvakjojdKBuTnEZGWfFhYXlFUZXlHPHEcxLZCmomSQjscDTDaNmzzJMwMGucYaiigarWXteDsMvWudmHVVyAGlAdBPlIyCUcjyvywUxdsNpcFmqtNsQaWZmveddFmBSknNRBp", "c_map_varchar_3":"IuuAEIplWxiJRzdgLIJWfwCoOcsMZqanVNhnsFiupNQhBuBVmIxXvUBQeLJXBhBAQYWANZBeUYzKMRGhTHDlhkRQKHlQuWNUvPpJkHhlyrXXwgUtYRfsCVhjfcjGowuDSnVVqgxKUiJOynKuDhhLXabHhPfENInjCJnrdUZaxAFhNnugqiSPRqdnafeRJyBmxuMATNqkzgKONqVFhEsGYhuwlkHXjIgeHZDXtHZblRoOJjnLmtyqrvMPeFgNxtSP", "c_map_varchar_4":"ZPCbeuQKdlngmqsupQEDOuVdLVspMCmFDLIDoygfvaxiWHeNhxiTvOMncLQpqJRnUIuECspoNUEPHWmvmSBUKOGqqfaxOERVWlKlkxtXgWQEWUiflOjJWcgGIhVDcUcRxYcDEYQxHbfcaCwvZeRDrstRKqsUJNPzOXjPaqXDSJINGNxxZEOWrLMHoYMHNdeeEaZoniVeTjtTJkQFBNKxzqrbjhSxgmfHqibUUzhuerkhhhduGAWxoijodrcJBcWe", "c_map_varchar_5":"kPVRoMKIEpDjEHPQnZkhyMKfrUNzBthIWgdNBkMXqGiJJujJomYsWHyYsBrhkOBsKzYTNeUdaQWCGTdQkuBlgsJjHgfiUKOcgAVoOVhvpugXpWuRDFTEHvtjhlmSprwrXDInZQnVvOFxuxrOOsuwzROwDAhAcKIpbtlJRRxgCdMQeEmIqEtFrCEuSotFEZLCtYAtmpcynmfzhxsiGVVOczUVczJoTRWDosgsrJjRVislVeKMDzEQtZTubocdJJLU", "c_map_varchar_6":"fuzfCTrCagiJgkTsJLWrvSSJwNDikzstyfVTBfzWfZQcisthMwmbWoMpivZJGxlmpulqRdeOsglrBjIjOMTwUmGwWrkyMLrqAAbFgDgSRdNYISESyJNxhUWFLTBhVRaTrVgtCaeHmCTpSYpAcVmvsbPhKmyCwztfdVbrzpxHaurwFLnYVLnBhKQxfQIqUcUsSsFgyySbdMFktDNkIOfEWdlSdoQbYqqUcBZNWtUQdktfUJqwsdVvuLEtYFredoni", "c_map_varchar_7":"kYZRHeJxhQuLXieVwqDNgfrwnbCDAkjZXBbHEPdLdfFRYroYbkzkkkllQduhHOLxvRzaEvZiEgnwWKmVSNjRJoCUrdrxjjPbdixxaFfvJVopLPIRobpdPjmGIoheAIJWYeKxfkFtaNtRnMkEyiDIfGAONyDzcNVositbOTcnQFJcLyDEwFnwTllitiPQqcWPayMWoRBpTqECqqTlEesSTSPvkizyzieibHYufPdhlsdGHMlpKzFrzTTpKjGujwGw", "c_map_varchar_8":"hziFFBXwOouvyguvhAghBVYTkXBhgwMyWZuCsbymKPUbbeDeLOzvyIQrDDUbJGsaodwqpaVvTOxIuOQHNhQBuvJmLgyLKzXDOwOMSBDxgLIMAvaYXORPtdKNHypGIsRYWivwlisaBevGVJNRcMOuYyyRjmsZEwtvNmrzHSzoUcOvJUfbywxAplXelXYzWWrApnuintEKWBEmctgGPffMODppIQbkyoZCFqWhRHzHmNmDiIPfcYfiaIkVGtuNiOLv", "c_map_varchar_9":"hQhlGClMWFFoMwPZKgPtQCBKIaFfJqzxOFUCnODRATRzsVFnrDqsEsRoUgUjQadvVTKVkScGUqltFXTNabptCXWCZtnSMFCRhJSHGbyrLwgzNphovkvBNeHDaScYyiTxOhNvJRBVEuvAhYPoiPPZtuoKyoiWWgahOcwOmVMXFVrDQEPiAZMaIAVwVvDjfXJsMNnVElrHcMaFuspnwUPlDXkZfqncYziPwHqtjtOHUIhhWhxtdTBgSoWooSlxNibM", "c_map_varchar_10":"rYPWfjQyfCtMhTEUeIJcwtVXIFGIohQSXpfnHzTcgqkpeucUcfOqHiyqJrAMNJyOcXdqmdXptAVJDRbaaYihTzSAVFmYRBjWddeTTWMFIMlpJFHUGeqkBYqUJRRcmSCefhPwaFwfOQpUMlKREYrCfGPDpemBwSxMKCcZKAxNFXqKxpbKWAbNqHjnQPNFmyLexRgjlhfXhGEKiOYkbgKMfikvsdGogrpUVUiKHGXBIVgwYaAtSafhNJnUEMHgeCbS"},"c_json":{"snack":"Delicious and simple fruit dip"} }','{ "c_array_varchar":["gmcXOYMDDFWpQOdKCzrTOTvutpXIgtSUAYMddnnlvMEiYJZqhqGMmpyjwBnGNVzkByZalLSbRhWikWiaqHTyavBjSjSHvymhiGUJKQNqZcdKjlHszLWpOMnMtDvXxwtfYFedCLDsKxkOxAXHQyNJVnAuyMUopshzqvhHJghyBTdkYvTFhCahEDjbpewlwNwJAytIIqJELgnWfRxbgJDhccJRilAAlvcqPqIZmtYIQzUEItYPveeBwGWYgNTgvgCn", "tNZnoQGLpSYqaLRrIeAqwTwntlwgiAtdWfWDsevIlxzPPFQYTivjowStYVWnZVMqyIJVydosWKjRtiiSWChRyhvqGgrXsNPalTxxhvKdPhDXmWwEgkqgAKEqBkRsjNTtTnpaAhDxtwrUxGdUdAticayOOMcDYdghrFqIqnGjBIQreUgPJYGDAtxGdQzlAttSJLGuwCoWZoBdBZshbsxCJGWvKJQvSHapzxyVQcOKstXzLzwRcZojnHjKWuuNbfDq", "HqFfOqKgXyPtkkvZruztfhXuCGvMAheMLrayHKNztLmDKejfmvsBcUuXqVRMKVomHslHhbmgxWYMVjWXnUGWMSvjhRzYOKLbkumSzADeRoFpTwQjHntLHsXzoXBzhIsfLzPxdypHTNTwcevKNYCdeQDyIbhHtGQBWrrkVqpzmjzZKOmBGVgmDnnIkYmgQxCyQZVEfNlvbfLbfjMYZvvsAcMnhEIVOkNZswMmmeglAXIrfAVQZyCYWuiPWTYhPubF", "MIzRKLDesurwdfsjVzMkLtiniigEFuFJncehfaaKdTihzqeuNUIHcihsGfzgModduuNZIhQQcSyNOMtBrZXbkvWNWBdCIvsIIenbFCTAoHlAfoojulvEvjbThekVtmdkESioYMsvREazfwprFbdGzjNPjbINttnCwiiPRFVqZNtzokyVcRbpwIKdtbwVgrGTaVzrUGdsShCwRCMhsBWHwsUNmxRCHZSQEycvroqbOyuMRMYrhobGdgTzxdeNHCLk", "WZzIArkXRaaRWVHYXdCJUeUmFjPNInOPexpCwOcdGiYdOQjzxaJSjRIUnNJmjGsfdxiSIIdlFJqZdBSrIdwZQDARbdXCEDXtScqczjLBxvYMoOZKWDVAlJOPTfyUWrEJyuXcoUABwdFZePhVjMQSdbnLVbuADboHdOOdYZljBJgKrDjCphpFuKmQuyqRfTIPstoxHKwkMcJwyCzVPTTecIjvvBawVHdAJYgIkfddmZoeOtcGXlLbkgzsSiynELRs", "XFUHVuEHchnrwSHKuximRezIXEuRRtvdoMoQeUsOXSGajRmLykWdZqpqvGBSodvAFEEowfFGjnxBeMiteOJTfQKbVRjEqxKzZdfMqaFuZRndFzbXCGVjWufFilHdpJXMMfRANFtTaynVzOJozglhOfiuOHUnieoNLSvKUbMbIikEIraeWOxouXEhrNCMGnnkBkKLtRpMByvQfcRlQYxxMreyWZhAInExPORpwtGVKWKTGdmuCKnuLZdsZqxAJUSI", "IZJJheCCMXHBhAeUjDxApPmrrUZygmffmStmgNudRVWTMBKJjlXhYSicATZaPzQKoqFmrSEiVjWKrQbgUzKlERbeXoqRYdwIsfazFIqIBBOKECaKQAVqdaODzkXozJYJvwdZMBYjQMFfPgVePEiNdyHgOtlxFQrfPmLsAcGRDsdpJlDtsjKWoLirVBfmYjNaocMTpqiFFIlwdLNaWwxhEcROqvevZhcVuxOTXUOkJWTRLexekfSvyUQwdDNrCGzQ", "dEtXicdzsDoOlWRJYFSUSVjwRSryGwyoMRtSebAvlrPfLCPolWoEjDCIMuyYmriTimvSqpKzsyDFIrHEvFAhYwMOrioxQsDtjBSTPDkwAqAzRVaQTgnUPBFFMuyqSYJqNQPuJyUyfNwosLcVOBgnitueZWHnRwJMzMomdIIHbFTJmQwXQOQREPlFoTwfToDDUhGMwpezpSvdTooUceBnCWbDKAdFLTVuZqlSSJaTsdiRdDKnjowbOcZNcbySvyYh", "GPzquRZnYKvWvbtnhjcdSrQkeacxuLojnHsaogSNtBvTuKhhFCpjBciXLlIJcMeaPQAKpztuOUZwGauPAjqkTBunFyRUqrFiKOjrllUFVlNbjlujTuLZuOzcvpUGhEzshtGjPwiJObpsLVKqxnhuRkJcoTqioxkepHLpzYkXfQinRJDKemXtElPolRwnYwuvThfwmvoYscZaIFLUsYbHRMxazhLtndnzWKvGjZjUfxNKmNKZEcjIGqcHGhMpUoJE", "YFMmjeZtmTPunViZHPeZSqvdmMrmxUioWczkOEFYjeDbwwIubgyMdKSmRerGQyGSGaQwKFWpsYfHqLusrXzartXAPTIiYYqPqsBBFphMsyRXdlqBaPXpZGxTOgTqkiiewtbKoqPjHsIBlARpzdDYImOBTEWzqSvPgzmllHGeOWUxeVuJpXGbvmQvdtjqTLOLmWllqRxUjlThQhEjZwkchdHZXohMVlMXEsbojeNuKDwDdLqemlmxCEbwQOeuZpiJ", "ulWfhyZhFrDzcGiGoZlbudpOaBZvnGoLHsfPBXAHcPbHODntxrXHLmPldJaAjhbcRVJwwAZsnQeipOzRdKspZEJPFIJgzdrbKgIBNGrVtOJaQvOtQLBZDZGxDCSyLYRnyzkLnZIGRziAoDCloUyGnMpRtujTkyBVQPSobgFqPuDfLexlMTCoTMLWWaXfHWHCLKLpZpBjJqlJCJzhMJICAUlWhYrEkGMtOZcicVEFgaLCpncTIblqwpJFGjRtlOYm", "AUAmlIuNbDkZVyRSuQIhremaQJTojmIpdOCQRdZNPlGRpluhQQnbpxceGJBJWmDKmwfaSFjHRmtDcrVxXAZVsgwoTybVnGfMCRSoPtlVxEOjxhPHPLMpNrxJFiVrSwltkYwPlpeDVLLTfZqeVQtwjaQLoCtjEDBoqHWgjZBsyZaKsDjSTZouyttwiKRLdAwiEZAjXxZEvKfERVgJzwRlGBQMPdpeCoiZcUMnrZlGivmUpIWvhUBLyUlqqNiqhdat", "EkBaxVWruCaxMCWXWadfhonilNlCHzrqSRUCpTvYtBwAAJyifWFUPtLtuMCdbeIVnUDgPyaCbSBUUSQDqXNpQUAFSPGbieaEDBAdpMpPXgRHlLBzrfRqtBAvUHFndPsjjsrXcawbZSrKOMUTGRpfbqLCABhokidDwgUOgVSgZTLFQmYCQtzXokgznluarLzYiGziTQOryVZkdnLOClOFTkCxRwKYcdqnFBOTAKotCxzxsATwmArwuqXSEAcwezyZ", "qYIOzhPgzyhYAtwWivIkFKuCtktRcqHBXbJVYHzdMMekAfgDxYpyDhcSJXiGrxOenrMkKwkHHLYAWRWVBCbshzMKVEHlgRHFmcOLdMxoZKXwycgQyCeIArsOMnyxIymYrltIrDwXZCdbiHFSCFBwYQHhAxeYgpIJkwZBHQJSmRHaXPkbyHrGnpVeDpcvNhEnwAHzZpeLHpciZuecUEsjZszuyhPWCkaiBCkYFIgeccEmDQYKBMstykLYoyVISfwn", "HJzZDYLhzazioVGPsRgYwGKSPXxpkVVEckXnRHzECPIcKoQgmUjWrBzfRWQJnsJPEwOgSaPACUPlIWOpmJjqrQwCGtEKnXzzzPeLfhsbZkylOsEKSCJzvxrewkOignBJtgojhNNSpeTWvPbSwgXBPvXzXcPcjKzimqZrRmIpDIdkyaZlMdWiUxzTKEwXIvDHDKCpzxxbstLriqmdoXSSAeDNLWsMDJSCcpFvoXgZmZHcwgQiSSjpnwEaXphKngcm", "htvkYLSVllQACxKhEOcqMgMSNGykMjZpzAGmRnCTFwXKIKulBURDfTeEWuQIlLwKIpZOcnNjNryZaHyLdccQoalUFZcOkzOjzwsUAMpQwfmdUXxqKolLfiaucySfJMNVlceRoPvbZrYNJRZuQSoSNRZcNXhWKnukDvNOAMajzYOfwWXrrcULdoJnNVdrzvtARRcezLRcrzNgxBLaDmCrXivrnnbUFtjizLlEhwRlggKbVowIArwwuIWnwJZZEgKS", "mmlThXrlQOXqtEgGNeERTafqzYeeSaQiZGDQCNaKQijYvKbYENzCVuyevgwxPAGjyAmtkCrXUPIrYBuAPuqmraoIZsbtGPlNsgkFSyZQlrZmSJSLQqvnqvyLtubyGJPCREtovFkKDeafLqbVZqPDDcXCigtvhvViLpihPxmVePhbjnltKGPGDkNeNZLTSpDbFAHTvpWJqKrWZdLKoGQWShsJuiehpTFCrHbSdveQmJoxcgDcwjXeLemarufVFiXU", "dhgFoTmjQTRbIyyRNAvJiQCSysGFmCOezBeqayaDofXUXGGsAzzThWlqQLLnxHYpdDjvyYvwFwcpCODvcjmUBGrRrZdBLNltfviYrTVXKLXIrbaCYumxZopPfQPKoBcvgfnKYctuxfXYDRMpfkWShLMFwKBRnYjpRRFcVPQXyIabzzmbQefpqNoPnwmzhLjumzeMRySczaXpQzCeblVQLSEWwDSnsZcyaUxxSqxFcavrQEyNUNjQgSYjKTqGMduH", "sWePeKQwFlXBkUoWXCAjtCSsGUJCrUYRAIFitkBIgBHGQUgoyJVBtwHGrEHIwaOmDshVndDhGsspQBLgrjyTfnTCXHMVklpJmcJCDgdIXYcPMdWXlwQxQUPuJuTeFOSgtDGTQuWwWjScZqaKKctuIlREeGFYqHeOwqAOslLYrorXbLGVtCgOsKOWgXEnIyRaZaHoofrTLRSUEMoASDovurDREgHGLXHlkgUwyzctSkpXtbcrBioqropvymIBYOFO", "CJEpxBgvapRLuAzYacMaSQlhxrNKFkrPrwOTSJESLXGzYFNhQvIyGkPYnmTmkJcIwREoVAKAAusnEreaEHkeHYAvmOWAwOVtjFeJakTwEgQCqPEPjeXWbveigymWRSFWynnUdLjvZrTntGuzbFmkotQyVEOAFOzVGTIEBtGQrtdIPGJTJrRCeNRMTYcbYjRPXntpnlwFUDnEPXcAnfZgKIAvqsZDrBKVnKwgwaYyrKhGVQraSNLdjBZmKyqWetAb", "VIqhhzwMBBwLjAtpeosvicZqpeEKOdQBfnJdymDyQNUOzmAPHEDZeIPcezrsvLqEQwOfPikBtLjfsOvkUxBLxZLWWUlGYnGfTIJczWcxNWLClSWDTaXTpUcjDbSZpBPJodWNPyYYjJBfiggILAOGvyNzsZvrvoETjNJsTlvjxpCLpofOqbKVAMCqvKKSvfQGIaRZuTaRVUwQMZAMWQFCuzoMwEWOnDzWaojwATNKQkFBjdYobBugMQQSkmTsEHTO", "UWGNSmXeTbdrNtASsgaivMcqKIXQQcDBVSWapcHzLUopPqGJQRDQpOBSXUTnOEiVGSpDKLJaZckOPNqPZgOIZgIQyOMJdsCnQpOSBLwcaqqpHhnYWDYHXnMCOspoAyjeieZStaWQNDvBHxeyIzyIBCoXcWsPRPDwywCujdfUSgVeYETbDBeLAFkNlBkzcuzVrtzoVMkAJuYoPUlTbFGhnIdtraUTZxIFMVuxFkKVicGXbtMeoGONwutMesoVZsoC", "CxnyRyydKgNGYpdUXeWAkiylBmrVcFhMoylVYsMDINRRmJCbPyeDZyLpjCetxfjzriHtFritvsVrQMqLUZewtsFnxTcmAxGaBQxBlgGBjslklmtndkvBjrKTVCJYOMPKLyUuoLXSfvYAhqtoaxYxKuDmlegZpaFMeuvFCTezXKvmZIYvhXUauhFjKwjKyLlenADVjyEzqIjoczsLYrIjrEAUyxQnUZlCLSPZXVjotpjIQYlayEaoaOcVZmcPJygG", "TQLHHmTkiEDyPkMerIacmBsFMEIHaRzdZylifgFnpsbJmcPxtnNjdDXZzcrCInmmMMmPVRCcKakmWFNAadOYuIZzeVQnmWebiLmVHpzoctfZsQogWZKsXaiOOAjFIFLxXcCYbyeSPZXnIkerwOSdLHGYIRVEhYFhSXDUWMJNdjodbvwGPcALZjtITRgsOKCMPTdLMapAVydNGolNgmKtkfksGGjdPTAneeHcgSiLdupGKbXGGvBovuPxwFbyEEFr", "whqQPYZQKcFkhofoMKxgjpmXITkPDTnrSMNCMjXvciyTCQyAyUKRLGrcnqLNKkMdwKJIMvTOCVljZgVZrVMTjdVTYkkRjbNXfUCdyRSSEXKHXgCgGygjoVViyXFOftTVBPdrYIQlmtwYBkwgzGcHtXIxFpmCIBDWEBKcatxvkKxjpUsZUONAvXcZVKdWIuDlHTQgLTLyxwkuFiYwJVsGyHQihMiKiogAWjZUPzqQiKHfClhZdHXdPrEnFvGVUJza"],"c_map_largeint":{"c_map_largeint_1":-6765097466206655704, "c_map_largeint_2":8563638481597225900, "c_map_largeint_3":-2578925151149909021, "c_map_largeint_4":7084557049736731755, "c_map_largeint_5":1708719817900844610, "c_map_largeint_6":1628070406440361022, "c_map_largeint_7":3961855484121203573, "c_map_largeint_8":-244632968144868628, "c_map_largeint_9":-7616715797530440798, "c_map_largeint_10":-4293415699097261377},"c_map_string":{"c_map_string_1":"SPlBLEWoYfeEfKfuMvIjSlcNRNJfYLwZBacDwMWUHzCKPywPVgUGddKDkKXkfNPrpppQXhBrqxpAJACJpJsyGrtjsWuiOfclGQHijtkogdZciEWgIaBhgPSAnfGLYPCyEOwbDHzFeJTRHtCvLcpjEpmakvpkGsJFeGnNDNudGuvbkXqhvMFQbUyaENExLCtOtYeSWouoIHvmmmsXKOkTfLvAqRdZFAMjyTSJhaAFgbaISWWssdLmmTrtCEeGHmAmHlazBmSoUjUTkvFDDAHNVmFfEEbwXgLJgPtyGXjoUqnoESxcjRtxJjRJZDMCCwMmpawmeJjTKIMBaEeVNdRwFRItPqRHMRxElHifPGnkCzHtkqjMYcIdbPnLDCGJCzyUYBDUgEtuJOBmvmZAAiHfcXtQmrzljujETJTYIVLqXqWgxhHGQQaCRWzNNrnVzXGNwmOzDoJeCMIvTQiJZIKTAVZbAdMXEhREhEzkLhKHcMZubMGGPUJvNQYxfuiiyKeX", "c_map_string_2":"tiHBHeiolzrLIFlnEhIThGOOYUmakoLPsPZhmCqMxDaBrIykPWxuyKZaCEabeABrUFdHitsdJncdCJSNEqrUKuYeVTfxwZtBiVoHZHLkYQhdHYXsbPfiOYvGOjtvoQnphQtooIMEotPrPBGjddJahnJbwElMzlXSAVtRuAOJfmtqKSziiUkplQCxrRftxYcrvRpkmawYfijXqAAzESnmdefIcszzcIcGAHivIPprIgegmgCldrSRWEpTBefXeyVipWfcklAWiVpdzgXNwZlgkGeaGkKPDVrPiowJtliNwWWNrynsihTDJgPMryBSccpuVecUtJynNmHqVSYqnZhScrPFIHRxpZycPBShEInzifiYUxmwWbaXCUukQXKLqhWSVWkMasHXjtKibfMQrpTvZbjNFxjjXwoLXVpjlUJarQyEpGZOltZenSteUqNfRnPTCWJajRQBmTeUioZVJydMYHGboVGwLdeSKziLYYlgArCHFAamlSCWvgBZtylHyrpn", "c_map_string_3":"QgSLQKyoRQjkRSyGZLznUSiZFNuVJVtebaWCcAMaXsELLbNCtaOxvHiPBlGTJVBqnKGMxvNjqoUiEDPZMbOBUWgkPCGzlWKnMRJpXUAaaKjZFHqQYKMglDKeEfGaTCFWzexFsiZcICfZhguKWeCsTBGUPnTbhSggTSrLqQenSpmHHHcDGSZDvFmcMyCeldfbCmDZCqGjWUZmGozEVtvCpjGjmmGiedbHAzuvqiCqmTPpIaMQhMYROPjXLXRGnVYIJDKbbtzLOgxypHOTICvYkDUyCFWyOPGlVaGUDuFgSdvTWrNQYSTWJHWMHsUlKSAeccgFgneURthvZcFIiVpcBmsEgQEfTDCLNRuqjTqOoErPObQZnFXcIOoQrGsWHloWNlRCFXCCArvBKcByTfRDSGFsMWXIGeiZaHxeMhMUQMVDNCkvgEPPSXmVnPFazIovRWNMiMNXhmhVTFDVejjYZHZTkbUrUasnuzZEoEahapOahzEMUKDgLiwCOYZtDcqg", "c_map_string_4":"imXCpTcdnFBRRrrMvUSILVvoUxvTNLXWYRdblYSEgtnFCRuTSrhdFlAEwHQYVLkZNhItahLJTKrLFvRDvGXvnHXpulgMFuqCimGQMGKcFSjykUwMFDlqtRrQNVUnYqZSfXdCXcYjuIlucxhkYwfMxuzdPvaoQhjmVlibdWYAZsgCmvoouFpUXyJiNpPNESJHkcUBHsRzbrDAjOmQzxUzXkEcVtvmPUuVQvDCUFtXTmcDUIuxgPZIyVypWrGzGaoeOYNgBEfXFTUfrKqIQppQxTzSXmfSpmTvHmBQfoHyXeRQUIclHCkeQpfwIwmZUZponZBYysuyhqUoCogqmhdUqaikeQWYhovgDWslYwYIhcmuVAprODUbvhQTcHxNrwdhOXUlEKQMdPaUXZrcfUkOTczIBWAryuHPIfLoARNoRVXhaaRLmISiAngEFwEmMVjSyvjskFLHrKiFJtLbvOKczCXxaYLnIaGqTpxugQnCEEBAfmMEvQgfTjexOXwqgvrB", "c_map_string_5":"WXAVxfYLJIdXvDePRWsmederpnRKCOPlPZvXuSZVzuEQLYdJIsQtTkMoKwvvuFlrMYeaNKRLmzQuDHdiqVVyZRWAdKBdYrgaYkwcyHEahrAEdZtGOWloqNnYWuRUHxjGdpDUWpjMcIrKQPhMTCFkEKpoaBbHrPrQyDAvYBkcHhPhyBCcGECkoaCKYMCmLzcqufOTICjhhFCFWnUIUhjwQtYVylgEjoprWvTXVMMqSrhLfbpszkiZGbJndBRthaIiPnCbZElOSQTBCSQRHBeWHcZTifMxJffcpYAnEGmIZQptyfxLZxsoCJbAycDRvDVaQLtpVQZOYywQIsUNdChSeqviDldCjWoZPomPABJEkrnpUKZbWNxGztmqzFOknJQMERBmhxStwSaFEsbSFgBjjvnRmghVUqVmFoDhoRRcMZYSHUOARWAtgjoTkcQDWzhkeEaOlQAtNLNkJYrvgVEOSeWvFhZbZfKqdhcTCCuesLDGItUxCCPUfWeaJvcWMFWF", "c_map_string_6":"JDJpyNZqnipJviqWXpGaxsmWAuLdPBySseFRXlCCsNgbzawQqdpewpYtiyaISdXOggHdohEqsqZrELAYVnaLlZRaPjvYCHkdeXPxJDwgGYoIOFtwKSxOzTKmgHGomnzhEOnuSsYGvhDRdfQYEzCPYmAwOabOpzeNahXFBwZqqowyCCJBgqMUjpjmllyYAxSXVtQqrdNVCwOlmAqUeCSqAWZyyNQAuPwvgCSjkQXZUBQKiZZCiBKJQOyNSuZLJHsDhfQOhdtTDGLJyFtWDfdXWnwbKgqUMeQcOcHKxjalgstKvvfzkdYdtUFVGfsmOfbKBsQLzerEhvuaVfAapaVAgRBRCCzuMDUSuHKDlPLpQFJyrpbNVYGsyzIEutrUGtIFGssZLyGzkTUudytPidNmnVlVQtqVfsqiUATbFETthtsoKczMCvjkilaKhTuYTdcVvRWxDvgIJCrHJTCqfYJowFEseWwCNNIODqSIRRHhMgumYLCFmbiyUAEaxBSgLRYA", "c_map_string_7":"fbjLGMZETiGEOCYmkhDpRJUxFjXLXImHuZaSgyJIHidNuyUqXtWxHFhUsGrmzfBsVTihdJwkGJymfvhPgxBTiuIVuXLsuJxZhiYqsgVvvwqPRTuMwVUVScRmkcRnJtTWxvjamnJiSKVAsVkzFjkRMOJWzBijWQlmbOStjyZnkIiOKalTYbCAysPhtukDxuHmFlWqQNsItHwkNZAMhGwpysUBXFqNvlJizoVYRSQulBhDrvddCbXoMfOBhHoBowzwryoRsNFplbjhvsWweewpynbTBNgeZuaazcRspyJREIqZzXQkXCfgekPeaXfKfXVdXRKzNZTKKdhwweeVRPtcsexdmjhLsDWPUvNIBpUZqgMDGhaJNAlOrObQBADXIdilZLUtmSrYejAJjuUnyzbmyQPyytHXjThghMlFSsJyjtytWoGVMSoyhltbNHksXUGZBXrilSmeyELAmJVGapQFNxXYJBfWFCYJkleKrDYarrgZShfqfGbLZIQnZJTLRudD", "c_map_string_8":"OkWaVbIKuMQzLMvYlIipYUisEHvkdaxicnXjpxZwRgqamfvIJEXNCMSXluKyHTErDzLpxcQepcMiGAKMeoRMXrVkXNHJByuvIXckkeedsLIccBReAYlEsXnyOHruVdjUOqQjSmdcniZsBpBZgMQhxIOcdSpmvsqbRvIYaanQuuAUrtMVeqkAgvVsYOTkNKFzznRQbdcVNEOXGJvlTiruORiVFnFakYfqLLCoVtLoVSpgDXOeNsPGpJoZqkmzZoJNrEcIKYLkvVaMazChjNdISVoaZPzEhcmBPRlLZeFmVTJgewJTqahFCZudxiKXFQCnQkPHKGaPkDPKQgjpPzVIITcprmQbgyyUvASTvaFhTPAjwcLgaclQQbUYwsVQVUbQRqHigvmLgLMpnZavBlWDSZdxCedtQbgLcXgpwNiygaAwmuYArUIiWWsuguPHQWGGEnMvNjYkiQZHnAUDAtlUqznczVPutGbCTnyFarGixmuwbIknqdvSASbViKuDuPzk", "c_map_string_9":"HIqcpwhesQxBGqZDQmdGguWHxaGvEOrVnKWnsVQbXuMBBIRArXzHDDcCzqdZTOwGORWrvmOWzlCVhgqzGbrMfPtLFOHdejetkvKaYqmqBXOwlFEOQyfSbTedIuwnkCHdmIxwXbtCimRJcwksDGCzVxnzowwJsGAHUrrsrOdZOUZbvmsraxiqkfEiDvvKrdQWWvQGLnTVwMkNeeQBDPpVfjKGQqahLVUKtcLrYMeUkssvCQCQGTPKrORiCCSqUiFOVuFOYPrvgvIHWZRNBckNykKasWgKMOcgWiJZgYGKYSyPeyrrBmPpUdpFfauycnVUCwNGDOYohjpQEFyzOJLhjvoQvGnIKScChGEFRfSbUZPlVJeTixmIBitmqRlxsqiEHaIXXMWraDmBBBxncQfxrxZvOaoWBfKepoDjEpuzaNTWGXKTUkDbqbaHqfAVaneRaWldhlOYjFQoicacheNFXYFnsoTTrzynMvUvfVnQKZcvXpiHZedkuIvlEqGzOHYo", "c_map_string_10":"DPeSCttQCjcjSbKkFFKYlMvltgifPjpzQutGVZcPlivUnvUCtTpIuHhwaORsPIJrVGIGxWWCtLDgVYTaNuWxDDlbuLqMvQvHzejPsKwlKEKCPLzCfhHUgAnyfgbXbypNFYaySEvpVyScTSBeporxkNbTUsqvjVViVQvvYewHsmRmPWfUNmOeTdQIMLwXICrvyMLYHifNKXhHYzwkYkFSHbaNLRsAhUWdzBRaiyBPHxcOnMYCboHHctpNhQVAClbNOTetppmDfYJvDRoPZvTqvyFDoRgUuAzzcFDRgvYvVWWAikGbnimcvWyFxhpEuppmtHlPTpMrKhhFHAKPyroaQnMzfRHngpKgBpwJWlOSzuMLGLLTpBbCFYdzRYVaTTigusjWsLVbZvLBylTtVcEebFPgckapJvpUAjLpTAAAgHwHszqMjzdeIkNaLQLkjstlBLMGHquuImPAsqiCGRSaUdTwojkqSKKrLCrEuNulyLzhazCvYgvTTcDRbpPrvjJc"},"c_map_date":{"c_map_date_1":"2014-12-09", "c_map_date_2":"2013-08-17", "c_map_date_3":"2002-04-10", "c_map_date_4":"2011-08-05", "c_map_date_5":"2016-01-13", "c_map_date_6":"2004-08-27", "c_map_date_7":"2010-08-05", "c_map_date_8":"2007-10-09", "c_map_date_9":"2015-11-13", "c_map_date_10":"2005-11-26"},"c_map_ipv4":{"c_map_ipv4_1":"44.81.33.56", "c_map_ipv4_2":"105.244.245.79", "c_map_ipv4_3":"110.252.77.187", "c_map_ipv4_4":"99.27.91.103", "c_map_ipv4_5":"50.43.101.146", "c_map_ipv4_6":"152.72.162.166", "c_map_ipv4_7":"69.49.246.137", "c_map_ipv4_8":"254.6.178.252", "c_map_ipv4_9":"139.106.10.199", "c_map_ipv4_10":"208.120.156.34"},"c_map_ipv6":{"c_map_ipv6_1":"803c:e82c:7c19:16e7:4c63:5c2e:6650:b395", "c_map_ipv6_2":"4e60:9a50:a5ea:5bf7:87f6:44e1:80bf:6754", "c_map_ipv6_3":"4f61:e1ff:a074:fd24:7941:d687:3dc2:ade4", "c_map_ipv6_4":"6b9b:9f0c:d6f:ead6:9030:4236:a347:d671", "c_map_ipv6_5":"2736:e06d:2f21:447b:5c91:70e8:3b17:fd47", "c_map_ipv6_6":"5cfa:4fc5:ee47:af51:2300:9af1:b967:7333", "c_map_ipv6_7":"bd5f:2181:62b:90dc:146:94d5:fc3d:8df8", "c_map_ipv6_8":"3838:799a:b470:7628:cbff:5a43:bcdd:3adf", "c_map_ipv6_9":"74db:9752:e2e5:7e54:84cc:4efe:17ab:cdc", "c_map_ipv6_10":"c458:7d88:60d5:35bf:88a6:fbb8:2407:d409"},"c_map_tinyint":{"c_map_tinyint_1":46, "c_map_tinyint_2":96, "c_map_tinyint_3":46, "c_map_tinyint_4":-107, "c_map_tinyint_5":106, "c_map_tinyint_6":82, "c_map_tinyint_7":-56, "c_map_tinyint_8":-17, "c_map_tinyint_9":23, "c_map_tinyint_10":-14},"c_bigint":-629379919548064061,"c_char":"sJVjnMKYby","c_array_int":[-1790937639, -1949845525, 2092735536, 966910365, 722750782, -713046437, -1362498643, 84563952, -2039195749, -121615779, 1006839086, 195615030, -916212357, -950114512, -2036441337, 1157678218, 1757954835, 113383987, -393732405, -2101041353, 998161083, -1911300058, -895818713, -438535980, -252955599],"c_array_bigint":[-6138660313422891081, 287247403272021842, 4511271573996675282, 6397543834307442015, 6784102102439713290, -1451018856463238930, 1238342921287219565, 376730349988206546, 4924800195853357777, 6304780161969242478, -6982708819517542983, -2187377975583557703, 1718154141998804957, -2931143856414082454, -3357925206672065527, -111400245690555781, 7836676589120892033, 6473992416924762400, 5277528223631492448, 1364090183517004129, -6389851460787835529, 8546688203004397828, -3428830224887741279, 6871315716739734691, 7494908252578271580],"c_array_char":["xzityNQKkA", "msJAASQhTR", "sFlOPggtXM", "SXFkRGQplr", "RQhqsgLCAt", "pbPJslIlbG", "veKqOLzzoQ", "RwWGCBEtxi", "pezjxynSjY", "CVDpUOcdkB", "kiCNhzySYU", "WQylgpOtfa", "DZHPYTcKnV", "jgSvQYHqdF", "QdBmlVyvkG", "kXDBwpstRx", "WEorhqXuCt", "CCwmlvcnnm", "vdztigtbxa", "jZGvYiOoxr", "OnAONSvVYp", "gdGfAWihJh", "vCgeOmYaXf", "MIaofIPHjR", "FlhhILVxPr"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_ipv6":"d79e:9aa5:bdb9:5cb7:d99f:89a5:1dfe:599e","c_array_date":["2015-10-12", "2015-01-23", "2012-02-24", "2013-12-19", "2009-08-27", "2010-12-09", "2018-10-06", "2017-03-12", "2010-09-11", "2008-04-14", "2011-09-24", "2003-02-12", "2011-05-05", "2019-06-06", "2001-02-08", "2006-02-24", "2002-05-03", "2003-09-16", "2000-07-05", "2006-11-13", "2007-08-07", "2019-02-09", "2014-05-27", "2011-09-10", "2005-10-09"],"c_map_bigint":{"c_map_bigint_1":5425225109838594561, "c_map_bigint_2":3698127171971128718, "c_map_bigint_3":-9154271581979241109, "c_map_bigint_4":4498377545995954136, "c_map_bigint_5":-2765483603373481754, "c_map_bigint_6":4506598210232798127, "c_map_bigint_7":-29989499094404821, "c_map_bigint_8":5361108379136402403, "c_map_bigint_9":2292735577644250118, "c_map_bigint_10":8353780004188355787},"c_map_double":{"c_map_double_1":69.24251822871588, "c_map_double_2":84.95056599795856, "c_map_double_3":97.21643605151024, "c_map_double_4":13.487500586295512, "c_map_double_5":36.48205355293766, "c_map_double_6":76.71399914713632, "c_map_double_7":67.48461232446643, "c_map_double_8":25.162189258659392, "c_map_double_9":12.688108803452177, "c_map_double_10":69.60511763653875},"c_boolean":0,"c_float":32.54256,"c_decimal":97.0421,"c_map_smallint":{"c_map_smallint_1":-16143, "c_map_smallint_2":-18979, "c_map_smallint_3":13980, "c_map_smallint_4":-22052, "c_map_smallint_5":20189, "c_map_smallint_6":-16526, "c_map_smallint_7":30996, "c_map_smallint_8":27772, "c_map_smallint_9":-27556, "c_map_smallint_10":26470},"c_map_int":{"c_map_int_1":532220462, "c_map_int_2":755536997, "c_map_int_3":-29555713, "c_map_int_4":-2059146212, "c_map_int_5":616926270, "c_map_int_6":-472248324, "c_map_int_7":-2098749631, "c_map_int_8":-1721646599, "c_map_int_9":-1521375340, "c_map_int_10":2120953977},"c_largeint":9172429220559413880,"c_string":"DAAbvhTQmVCCBwlNRwhNCOoFpvoUPxBhLpVamDYgrEuaUytqqhOErikcHGHeGoykIrmPLONOJWFDSGBoSyJxdzAZopcrjIcGORTNDFwJxIHzkpaRrHpISacFZFbKYXmOuJpxdjAvEJagRxwvoCZhlqpRyOgZjmnBBtVxUPVtsYKOtqFueURCOzEKseJlRBTvbeexRvQYQSHzmUeLssCpAXXtBoJwdFpPDToMyTnthiZppOaJcFYGQKQZqWRjrfPLVDJLlSKETNgHOLtVDasaJKvwLSaukhFIpqVPAGDCWkEXVuaowGyxgfjWcVnBOBquDYvEWhvtpjPToNpYcRykTmEpCzhumHdBoXNmLdGaBHsdzqxtFaUbUmdobEofsfwKoJzQuPyOzzHhraqAVjBBpDxRUwzSbJSezPqMVmJEcoVytHcKzZstpmaRLxEkHvbyCRCTpFYatWJYuIlEbOeQdqBzXnjtDaxWjcVLyjKBYSVNkZpPtLPHTREDkWgNNbfD","c_datetime":"2000-01-12 03:45:25","c_array_tinyint":[-42, -113, 45, 91, -19, -83, -117, 29, -22, -70, 33, -126, 10, 56, 5, -97, 72, 75, -36, 8, -37, -34, 103, 107, 89],"c_array_float":[90.36561, 50.705166, 46.42067, 59.7802, 37.345245, 5.636399, 58.096245, 43.95425, 52.675003, 91.67759, 81.74924, 58.446796, 97.66109, 57.363476, 6.6109076, 32.623104, 32.062424, 48.278236, 41.609486, 96.5997, 68.09743, 29.642391, 1.3238783, 75.43132, 95.77943],"c_array_double":[30.92924122415922, 53.20903966686115, 45.864536658960986, 70.2237474499658, 62.98443229996498, 13.106890762524314, 52.444138791210314, 37.18890639044422, 55.36830353470951, 18.26649875062293, 53.86543611530264, 48.49011464739894, 12.010424829842302, 5.475350213782536, 69.1910828869479, 66.13671717980621, 40.59312649889416, 40.87925863116292, 4.975839967558801, 43.42315966312272, 81.00666266379899, 94.80639022809333, 30.511143332192844, 10.659151260257762, 84.99648547026447],"c_map_char":{"c_map_char_1":"ZPZzcDuPIF", "c_map_char_2":"TLLjbOvliC", "c_map_char_3":"eefFSVdojN", "c_map_char_4":"zVHbOWVgfX", "c_map_char_5":"BlCcvxteIF", "c_map_char_6":"rPVyywSrwO", "c_map_char_7":"BLWUWQvxkw", "c_map_char_8":"ljdAEQwfMT", "c_map_char_9":"IBqOEVrMYH", "c_map_char_10":"aSVWRBLLtA"},"c_double":66.85358496876557,"c_array_smallint":[24723, -7914, 30736, 25460, 28311, -25647, -20479, 10517, 5073, 9625, -11434, 19050, -31175, -21610, 26459, 23383, -1537, 17041, 3582, -3810, 3729, 26754, 23460, -15181, -11099],"c_array_largeint":[602748559427567662, 7131268785725720797, 2005878990489041954, -3087131696045404018, -4323495592384582201, 8372754937215182545, 2137414123241737700, -5185338141684160080, 2221817751808365005, -8764554846779572600, -8932914909038043335, 1591790801138530902, 4102208015514218857, -5461711011987816659, 4122068505433843164, -1636825544314904276, 3654866736691735374, 7358934128693020893, 8237290112836545644, 4753548746000637510, -1253691852363460227, -217722432308682790, 4760284695676444620, -1272633660236738795, -7772742327760107820],"c_array_ipv4":["KuqStCkJHN", "TCDRBQJwlI", "cqXXJisacn", "kiHSFYNBdQ", "VUxAPMhsEu", "UfSpdvBZzJ", "qEsfBQIjAi", "OXjOqmcFUB", "zklrDEpqNs", "xbflTyKrOo", "GWijOzRvgl", "tQlWAvcQlv", "rgHUwVOfmr", "gItMWSZiLf", "OAZwNXStfe", "AVcCjWrcnZ", "flQutGOXBA", "wzsAJHuvwc", "EoSrBjyCZJ", "vnBqbwhshm", "aZfWZrsDfR", "QQEFCeMEfw", "QASMmOZoBZ", "VDQtSngNZD", "lySrATyNxB"],"c_array_ipv6":["ulORGUHNvb", "GAtRklincx", "lqItViOlHf", "IYfPUvwSGD", "dqGtGpAfpO", "FhbrjoXiEM", "iTFfwIpcFa", "KtNJjiLSHn", "oHAnuhhxxr", "AevjhyEsCm", "mCyvLuNmTn", "HxWmQJrgKL", "bzYCLsLqzN", "qNHuyoCAPz", "RdUZDHuxKq", "GZwyaDLiGW", "OxSrCtBQZa", "AdwSJDAlPl", "TiDhcvXJDK", "GZmtPaOddz", "PmKZrBGLRg", "qHlWhwBjin", "cjYCdGBVnx", "gPiRLWgyNB", "XXLLxWtCWu"],"c_map_varchar":{"c_map_varchar_1":"mdHrCsCcSlASUXBiRdMsNcDpAoUJapvprHfDuZCIpCvEJPdHCfcbDIkHSvAgOcJzwnEjUBliVyfHRKVJuxuROJxscXLYkOcEqxdDdjTwtjsiNZcsHBCDYSysWtgQZYfAoqvlLrOCmPlbRyDWCuaXaAHdxwvMdEGgxmZhmHyntZTsoHyJjfzzuiYxrRdlIGLActuipxPshZThHMNhqKxVwEiHsWoZyEDIBMPhOpUUoRdqISsjeSChflgKoWRbqEWk", "c_map_varchar_2":"aWUCKHswNMdxTqSZpdoMpgWJKqboeUQTkjXiWrvqqsfSFuPzDvQeHmAbaGEEHGjtxrFmFxdPpJymBUZnYcEHbWIITmHzIJUcvPOauHfQbGJpZiWHxSHJxzczASokgmeXmzWYzwSqCVuJlXsGURaABCPRotbuUxmgDvNkRGNuKvAlzbxVFMJfuRomySzLaXKZLHIQXFCSbaHRPnIiHtGjZEgpqHwCfGYrIhxBrFrUBIVgzhewgCRyZhnflqpWVINi", "c_map_varchar_3":"dFkHknvlRzjgQVCemTIhGaHTPJqtJytKZGAqQusRrsreQvkhlKxUqXPVsRDhYdenykaDSYfIoHOunqkVdLIstNVlYUDcehiNJtFWYrwGXcXgEJGCiYKPgFZdehUbpdYkruAYKJhbAqmCaMoRasHPjgrwsaAcRgUToLhAYlPjUkUwKrKQUTxmWrZycQItQZPCsiOwOaltKXmfoeKcFnzuZhuoLwTWcGAFtBFaLJRTilLeGhWuhnjTLUYtJPrbfDhH", "c_map_varchar_4":"uITaEFFggmZmLQMUzVwmYcaJwpWNmjeWSsMbhPKePlHvhBSxiQsWXGVydofGWyUNaHjGWuvoZUGyIYCNSOuxSwlopFmAdZWepIjtIelOtWWwIrNxxAMOUusVQvzUXLSdLrUnbhUCfLupakRAUnAlpaFjwxtQTWKtyVOzhxgYNsWZuWpuouwspMPoWpMARlHebTVzvYyNWYbmCpnmNlaSawEfeSjtbrNrTWOSaxCxMPAhPSLlLKEYbiuWeHJEqGFy", "c_map_varchar_5":"lDFdeBJoNrSiHlqgVPMXJUwHYHxqsfTpiUqrDKEaKAKvSpHLPKgEoDbFBQpvpuFOWsXNpobLODISCdyhARBizvpENIoTIlqaRSGefexljUivwniPLJInxFSBUXArTcgInQzFfgUIBxBAIZUnltVEQKzDCuXuPlKLwFqVOpRQndXHiAJfbYncIlvMbBlwWIBTtBfwMUNmDbFtBTKkIbWtcLxNYcrzyYkYXROBHZuXJBdbkxAtRKfNneJfGaScIcmn", "c_map_varchar_6":"SibgvzuSPCTOlpxsQCLYrBqYIfhRMthMEpaxoiVBHVhBmAzncywjaRlSzpXqmZQmOUQcNWbNBsVRYzRxVHZoGvTxCieeqHZxubyoyafHfoCDymHhrkyrMexIPQFJjvoVJJOYWydnTznTKDEbLBjPRVnCJWSegKvabWuVDtYZAoKzAslpfiGCWxxNHWMmOEEvPlkKlPIvgCllTfDICyysyRwjVMEwAncxmUJPrmEoTMWWeEGYIMYYgMqJJpmusERA", "c_map_varchar_7":"ZMXKkLTLGRahHLlhLthECcHvGekhwqFsSqtXgSAXKxfDqvxcULqVHgLnVvxUdXpYLmaGGIOWSLxdhJfXOMiNVBEsjWRVHQeNfeTghuHrJFMscOPNnVFxjIHDnLGNhBrWMpinKCkUsBNpmTqRCUHCYoxlYPkCJaIDlvYzRvUPfekFxKtLcCPSaNAMSeNpgOQXdsoWNgKgZEchZXNyYdRjtyNmSCmjBxZFOmZgEklOROfznxyaWjgYxxlwHGJFaUzq", "c_map_varchar_8":"OgAnGYUPiPRaLjxdUhDJFUJvKiudAaCsasnGkGHRAEoDsBogDeVtItxMCgCltVtKXbuZfbHKBCcuhDkGUZLDdXiStEBkDbHcpNoohaPaBsZsbEkpZLPjDzuhFDbQPSnQUUKpDBcsaxrcfKBxQmJxSLhZfpczXiGBXTvHroHSmqWNLbmtFxLRIduSMcDAKxdpfsmjBrpRBqRIOgIRidHdCKCWmHGYHEfDygDbbOxfqQHOxhrlFsJRyyDISXGMGvjH", "c_map_varchar_9":"gezalAvxRZglaigSSLlkPXKkbfTsOelDkAEoDKolSprfICzdwwpkwjnzeOIgoLYXalOtxVLnVIOXWvJrbHLggmJkZBSLUlahzfzVlweCSEsEVbncTWZFughJoeiRHAEZgqiFDOwklBBWhuCDGhBUMBtmtLAciWCIfbSOzUkfxMiNQecXwyDOcTbOXowxsPZpWZeaOMfnaqZuEWcAeboRyEaKmqTKVdpBMDBrToBzdfndUuwNKupSBxtCTiTzWwBQ", "c_map_varchar_10":"RptOExbLawmKcvnNUeoofEyfiEovdEGxKHdqIyucEIbyAmASBgpTePIukmXGuFBzsenXRZuZwcCOrUXqcrGZgJNVitOieZhCBBmAzDMwYyILSqMHgDzRdBVLpWvGlsgEYVuURHnpZzsPUGujEhaiBSOFCrPUmsFGzDZJFZckJxRxoIdROcZLyGZsOkVWMKrabYibMwjaxAQgMxapXQTtOgIHZxABDMmtoScfiOzyEAgyGSJRZPjAcNkLpaviVhEn"},"c_smallint":24764,"c_ipv4":"137.36.63.164","c_array_decimal":[33.0021, 44.1017, 31.0816, 28.1710, 70.0663, 50.0843, 80.1985, 24.1816, 27.0719, 16.0531, 29.0230, 87.1397, 33.0221, 28.0453, 2.1584, 32.1907, 97.0364, 57.0758, 46.1176, 71.1716, 56.1161, 68.0962, 58.0989, 12.1882, 28.1654],"c_map_decimal":{"c_map_decimal_1":76.0632, "c_map_decimal_2":19.0729, "c_map_decimal_3":60.1088, "c_map_decimal_4":83.0513, "c_map_decimal_5":83.0906, "c_map_decimal_6":56.1766, "c_map_decimal_7":63.1059, "c_map_decimal_8":55.0118, "c_map_decimal_9":95.0176, "c_map_decimal_10":12.0032},"c_map_float":{"c_map_float_1":19.417034, "c_map_float_2":9.677274, "c_map_float_3":35.633514, "c_map_float_4":41.267742, "c_map_float_5":97.167435, "c_map_float_6":90.72743, "c_map_float_7":27.559708, "c_map_float_8":21.695105, "c_map_float_9":81.95609, "c_map_float_10":15.566616},"c_array_datetime":["2019-03-10 01:28:25", "2012-09-07 23:04:17", "2001-07-17 07:52:51", "2009-09-15 08:39:01", "2001-07-26 18:11:28", "2013-10-09 23:43:54", "2006-02-09 08:37:37", "2015-07-22 16:06:12", "2018-07-21 14:15:48", "2010-11-25 05:59:20", "2001-10-19 22:22:21", "2017-09-15 01:26:07", "2011-11-26 09:14:01", "2007-04-11 08:16:30", "2003-11-14 02:51:57", "2017-07-11 11:46:13", "2003-01-19 00:53:38", "2017-09-16 13:04:26", "2015-09-07 06:14:19", "2009-12-28 23:30:19", "2008-11-17 08:40:50", "2012-10-20 18:34:04", "2013-03-14 00:49:54", "2012-05-21 12:47:01", "2000-12-02 11:59:33"],"c_map_datetime":{"c_map_datetime_1":"2017-03-01 03:49:54", "c_map_datetime_2":"2004-03-17 20:21:31", "c_map_datetime_3":"2003-06-20 14:55:11", "c_map_datetime_4":"2010-07-19 21:24:56", "c_map_datetime_5":"2005-01-02 11:18:41", "c_map_datetime_6":"2016-07-03 05:07:04", "c_map_datetime_7":"2000-12-08 23:38:27", "c_map_datetime_8":"2012-07-01 22:18:27", "c_map_datetime_9":"2015-11-09 14:52:29", "c_map_datetime_10":"2012-01-11 22:29:40"},"c_tinyint":28,"c_int":-1744914278,"c_varchar":"had","c_date":"2004-12-15","c_array_boolean":[0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],"c_array_string":["zcqsblkPxocdBDtiRXPgRUuFwOitFdNcYJdTNMuZaunLsMaCdWrjnVUCCXswVmgkEWMjwopgNJDEgrIwOutiEzjroOzuiqjFcqrjxFttNuwRaLkYTDtnZKhhzcsZEAyfcGCaEQFEjuNNihKdwHPNVPoHAFYYFHiHJLXzqweBpzQOKDpbTZTweAqmeNrzSSjpyTchWWAVXEnwsJCjYtwdIyiIEphYIRpLqHZXpyCFBrOXnKOTiEkqbPNpOpPwjjiOmhUPDSzGhFCBBCklWvKEwXHlNIiBbSKMCVyprEHwUVcOGdQGyLoULDmfPfbRBGeCKiFaBTnOtJjKkmZuFpMShDAsGWxGGnQFzlweYeYNQnqZJJvKsplYnXGdkaODqQMilhjXYnEWOguqIyfyapwupgWGyTCcIuCPSymXZogfxSyfJKnFSjMyWoupEXgHlTWRVfiYfdmeZYkYueLRaUYkGbBqPhnORGgbUNqHoynpcjSocPPeQuhPyLGsjObdKtbx", "dTFxoGoOFEDcIevNhOqhzNRaUrMqJqfMuTZjdaykwLAekwXfRvWxewfSHFjnzNJCBUWfLxwMSWtklfYdybwdfbhWKNSUfxYNIdVVLuHJpzyYymYSqQpGvOJqKRjSJxexrsludyEpSfqxTYxmfoVPohkXoCUqnYuepLNSXZiRzjzzYOPUQdjWMSvkiXJcPkBjdOjrLDnsUpUdADLebsLqGKttRqqxxLZMBFZLiYmMGYDBWCYNEGmloNhoIiiDJFgrSrHykteJlRSZNkMgeDBGecqpBNoagFdFQbskGfJulyGShxrNVATdGVjkdlYQszTSOEXZfktFwwFXoZhrhFuuOFEVGOrKJaHRDIToGTaDtjCzfcwvyoeQlCjfaiKnVVvvpXMkYpkypYzJjuepBJCCHylWhBicrmjxGGFftTVJlufjmfXdHSVJOMDgCopgDiOteRDqDqvxWvtvidOhLhRGwFPodpqWjqpAERGxxSEFesrwNPGjyaAiowXJFPpFQcye", "OENeUOVOPCBmUSRFPGKUmicifuOchEkKlJxiFRBRZBlQsoummYhuyqwkRMahMJeoOZzGueNSAsTYAFvhULZxaARQfVzKyqYCaeNypzvaYyhredmgqAgYfxgEoLvyYMbWpCOatfuXDCftZvweSThKmtNEdpVSaEOjTdpXbHgqyAxbqwMChMkCZoPLZYpdQdlQDBMUWASDolDuDVgGWNbIRNiKsecoZEkGVqgDPCGYpnZVrvlxwGWTuVSRpjrqqNizECOOLrkqfuoCoLdJnPThIfRQHwetCuPInaRMqjBIBumkNJXTtKkhEgyXBXaLcMTiBClYuWFhFgDsVbFXdBUUwVGPbFCJOQDAyCyKOFMeOWBARxXtvIbrwKiYXYjhOYwBzZLIbNOGyyNBycKdZlbWysRWrbFWkmputzzXYkQLUFHEILdIktGzASNEcmLbWemdGCvXpQeZoyOgNLzTewSsfEMRqaJLrbGLKlANOIloUBNbvKjhZCjyaZiJbnAKsDcj", "uWcNmSsCRbxbsdKcDqsZRpcFVPxWfdZCpxofWwpQzybGzoGdtnGFFEyYQmyCFERHGzcUYwBsGRIBQkTYuaqlCrATTvbLkXbuqAOsKrrtvEqANQYemAZAQATwckrWNofDHqOPkCFBMDBstWVrTFRiVPVNHTBhBTxbsoKJvHjqKrZWVqEwnUyeFeuybFVGJCbWQkFXniCPqQnDKajowMksYFWfpqNnZFqGbMPPguICetmRQzlGueGkcuMXtywJVMrThazubPWIDTIrLawRgaNwDPBHfSMKUuvhlCzjBnEaEKsTQynQcOkmMTrMUXSvKVWKCpGnIlAnIlOJXeOHHfOiUIUyTfykYQaEfXKGNdDMSsNDvMHMnGKHDaWIUSLthmoJtNnzPqmZCNbvzEPUJIWBVUHOcfZpFvPRIXnyGUrWuAjuswHzCKWqijZFQXUfNCDFctPtPwIlsaBAWwVbLZrmmqWhPWSmQwtlgLTPgsusOMxnnrVNfkKDmryjMUlmNsLB", "SMkTUUykwVuLytffuVZNWjEcPWTEBbucvLkIXYpSYSVHvRGiEHcBbTJaNwLvDCNUiYLjrIAeulJjoYyHnDBgdqfBYiAUBdrPsxUuiqrRtaWoRMcqTgNGLXRxengiHGBnbswLEpUGflMVythObJwvjJwBZbrSToqsbcwedwWHBZOZYqQnrSpjrIyLWZtkFwUPjqfhXUHyFpGEqOQfIsioADsZdGMHlblDNnCdBJquhUvhqaRXbLHqSXHYShDseHuwEjaoDzHpbOvBjmTVmytupVJdVOpovDCdQhucWESAvZITRbxYmZsBzBzkAaflaOsKmzQNQZpcEoNcGlcSXCKrFxXZRsGTjvHSojsNSLbxBIbNuPePrahYphjThUlXfNOaaavrBpgLertNHFAKgjBDNZJOzJjpbHwjCxRWtPfWHxULaWSZsthdslSYeYGureFqSNQzKDFqWgEZhQpaaToxEZyDUOMtkpsvbZwGklVczDeJuivAjPdsgTqPfAmYATDk", "aNKqkNTFPREsniwTXibvfwoptRZDBAPalxpqYknDXgEwGFPkDDfmpPHMjYEMqVDXtjTFNovGlLPaoCkfbaIPEzfSxgDNVOBnyQgaYkzJOrICuoYbLqolRNqWlxBPJryyWczIGzVqApUjUWaJlNwLdhxUDFOXbkcXkmkAkOYaofskhTUSmOOUUAfRJXqAGlbGeMhYkGavVZWeyMFwQHGgETSfHXlHgusUwwhCDwOVJYoQDXNzPiixZbcDxQvAfrnfrhNkJiBjlVGKzsgeUPkkgamIRbUYzZzQzxaFoEipAYYXEzVOuswAQsqLnyszZapONAKiKskkWuPBlzWKmfkwRgtZrxIcMXpUxViJYIbEWZVjpSsexftbdEBNKQsyvADxCIdpuCwvZbCMapgzwRmQHayhnSabJaesofvfImtcHAZyuIKUbxTxYMbTbZfCMOQDwhAsUPLlBFEIrcUtnczBOwVYKIrRViPXcNkZDsNbtqPWEOJgyCFdjZYCFYZmOLIL", "CktNErVwCuVElhHzTpiwMgIkzhaOtwPXlifVvYIUgLhoUWyxOvufCKhSeITuyxWxJtVEdbWvHEgZVTHMJgqMahPPLgyedigSxHliagmKbNrkXsqHCGTJnniAohOATooBunGNDZVMdphNghgUOKAHdNQCJiiFZeVyUcbxtKaDPvpdJqSuDikGgoLrOwcSksKTXzdtskrkxeyKTfnwPlHNuBFNezpWzCrXHlxosPaxGqWjWNyIeKjIhBLeqvspZNTYPDpKgFHgLuWRqyrCmeRPKeumSkLARGbfMPmfRuWUHPpuZgwHeaUXpijxGyOoLnmRhcriMoWYVcJBjTndstlbvvuWKVajmEdjsGOOaGhHuEDesGOTiDVvQjcfkNSHjJnrHeXfrLeJpHPxhdHtQGTGiozuKcJJUTLhcINrLgWzFkZXBeqgYujkewGLUnNvqsBKowjEHvNQTqonmyuaitDOYybqJDFQGQfEloTGPxcSJEoEwbxTOqYLBAawvKSqJnxa", "sygVGmCDAExYuEpfHjlMokQQXWPCVuzGTjowVPfLfsfCOzEahhBDmDRprOKEiaxnuELHxevUzVCSqfiOeUDhKIGDEuXqIJHoegdJUwpoVwpaHkhFGZZJsTmYVGslvHtmiMBIaZhFihppWmnREKTQFbyaqGZLTfUfNHaLzjokrPmPMvVrxqiCWAOHvpKvcjNkatbnfbmloxvfJGzAAfktZHlIoqHHPKQLVQwBXyLjUQKKjuvFwMnThYigdBvDUBwLTYXWborWjsHMVsuUudTjrNDRaJEEAhdJDenXfZcMTTRKfqSPvLKnHFWpudnqnTCMgflaqPaQRuTvQEAZSXgrjiayFYUNsXtUUKeWlcYEXnvjoWFEiSVfJsfDVfnqNcbzPwDcsHtPlYlyEvcKjJrxAwhEWhGqjUItOgSfLvZfzLSdDfAPPAVAXHtqdLYJlDQQMEaFSOoOnaMUHVwWlWMKsbmqlFAwiROcrLEoVuccWpFsOHhSfHTPDNgrpwEjPvnt", "SmdLYoAFyXDOzntRmXSJHlIpHTlTjOFRDHCPWfCYpJvHMgQngXqzhsaNgqgvvacRQaoRMrIMpUgGIAWfzXULrgotAiRzhFXsPSXyWZxWtGPlBDehvLAuedkHJxIJhPhtLDhqapRPlESHvXcCnYLMsijToxLqNeGdaatttnPdWzvvqWdubrrlPQrAWurxRyUgtxvrBtcihlFzrGotqZjctcjdMGuKUDHkGyZFXXghXlnDCUisRshhfEdTtkXWulMuFvIxYoQanZNtUbightRCNUjydqpRuYqvAGkmpgEeKkHrnyZybRVpruJxyrMcndoDiFiJoWNwVAbvjQFUHkgbWEkQacziHgESfNzvhWGXfpvnyThFuJpneozFCCCsVQQzbfDfRIYqfJZICSdfUZpppHojqufTqEbAOJDdlfUAudXnOdQeBwnxulNJePjANrNAtrXIsRRXIpRlznOzTlozLBNoNkRChOVTDszFiLmMzbLczbONZjsTOqjnbTKbRlJa", "YTFRCQymYedBpcVnetOxJLjbdONGYUMAkKgLUDfPENQrkFRZFRiyupEuplcVLWsemLGnEWmDaowYFgpOMgOTRyfoHrPlviXjTrKtDXYrdLPOYOwudQNqYzqUZzEAjWIeiyiqmDqDsZfkrUVExlWFHbeOwKIZymumshaWLxaNlzPTwCBoDELLmMneKGONwGCejhQmGBSFNVweTowjgQOmwDPhTXVwdnRQmekZRTMTaoInufoVHXPLQbkyDOUuTHXZVRyzrgaMjzSinOtBxLysfsJHexrOpUhefHwMftsdCmSZhJeRITRNnFgsNnzqMSJatQkfHymZhyNiNVEUvpbvOfjTtcsXILOwXUTsQIbGOekCVyqBLbDtxClOTExiUbnIeuaTZVhmDMyPYscUnmPydbucjVHBGrJSfZzdZGqnkduyThRkRyExMijIEaUqygKBtbjSXgiPiMoSGMKoSfPKCVZhZOrNLvAOslIdgqDAEVXznfEnCFYduMpxlRoqcSLd", "VResVvJdurppWUTyAhUszlyoRsDPwYikSTxjOXHjbgiNTxPkouLAwxTKRiqlsFZFnVqaCBnzPjAoaqRdZhASRYRiHMUjWgyCtfExPMwDogMutpRFzcPTTqzfNZPcJUvRVtOHVLRgJroaLDbqmhiTjtjYXDLosgnnMOFjsogiFgKcdhzoSoqOCwzlsPUARpTWVnuzXfELFLzINEKcohlrdQSlhJemQPkKoUpZdZWPCsNjmyYPeiLTHOJEDClPRDajIsvHKGoMpjRrWSXfcXwfnIrOxiqwgHocgSaWWtMhvXZFMXdFVkeYHAYxUoDQqnkTgqGMOSeBPZxKEzAgeJZLlaqswyzfKJeDRPMaDYxNyTdoKMuGFWIJXQqWTkcwnwERdYllFxwZsfqnMHBcaOrJBmRlqRWCgGafJimFtyHRceEHeQCpwtFJTfMCniMpbprlrMhIOkeMBvBUXQmzeNhzuPQWsjUHUpdOnahWbcPBpMyFSbpBFWRKZwiHsAdjcqUX", "EQOxFSatMYgVNoSOsHRipqBQZcHzixURHHfNdCgBYuKuOmKGzFUIQsIuQYuAIkZBzkgIFyUyDzWnEwxeRFlblkdtvDupOcHmSjlZZCeNdrlrLadSLGWDsJdhpBSGkYOkNuTLkuCdCaoPgHeAXTOUdZZGTWPmAIZVjjxUyrZUjWVRwBLQFIMxijGNGkziLekAZQclqnCmDgSJkjSedwducFbHWSCfZodFumyciwNiqbZniyVzfQWRHFHeZfqRHlIDEcyJOnTXyMAfuifyzZkUxbcIBwCGBAmyLuBtLGczsIxbqKrmpHIBqmGhlGIoUPJfWSaEqWPejiaPZCWOHGbvAqHRZEPHnvGKDpnxjlghSakDoyOHajSLBtZpWlEEGhJTeCkaiDjQsktJTRgqIilkQAxqviSKqQVKCaYkSGSsxBsIMdSdmoCaMKKtzQBvBZFoINxqhLMjGANbJHjbuSxedtQQqSzyCTcwrEPNBpdSeraBUDYvQntKdEkEzmCEuynC", "ERDEYPECjWYPDbbvhdrLOIHqurHXZAnGAaFOhyJEepNMtOgjIMsoraRiPxuRRndFvjNRpPrPJBPoKtRzQBZbzxBRBrSzwfLmVsZnWtLBvCxCefwADaSGZqlhNfqdQQMGMcpFyPfOSRmCDRevtXnhtJViKBEDaYQuatSViCFeeqLjpZrvunsXWXhzwUHcuNYuPYyMJvdoJCbuNBKhYMWeACUSehLMEhvJzRbeCIWpGZcaJAinudxqzcaalvawIuFJlCrcShGUDxjWkcLQefzVWjGalQWVhFrHiofpAWNaccJwVaGEbjsFvxiCoBDXHFNcgfuUvwrEQnqiwUWgoTEHHnRVqexojrcPuqobEbbwAzjXuXvbuurRNaXGDQEHbcuMTgvxUhgviAdnQVnttBlmmAnkecGljjfClkMaVIrXwskCGcLSxZUQXTjbCbMFzBTekASthZIHChRDqVmYFrdzvstWxEKvlbJGZPoFoObFoGMLmpfcqOywaEnWyDqTuCqu", "yjaJHSOjLrAUZpCuaIjPFrpnNWKhTAmOyHUFRtHBjDLWeXpmRGpMBkLlOmikOozoHfZYkXJbpMPNCnqTbVHaJXTFSUfufpWpoiVvKkBBaPWziMfYkWcehpkvFsxzKzacuCjsPJZOcVPMYUBRPTiFikCxIEWAOkAPTBKwbiTtePsCgPTWDAISIPOWIkwWTApxmfyEQUgoXgrzofesgATcbsuXVoNmIGJvrwlUNqqNNTcyFKMcMDHREDbuuyhyXJiKvGWdGafqWBixODukgkfhGUBcmuwtZyhGJqGicpqQrNvNOEwpWeJbAmgyrdeqtpZMdpLrCcomHZreuOjKaSWJtzIBoIogQqwAcjzPUkaSbCSgiIKZlEkdUrHbRRFuDksYpuDFtevKOAysnKUOrPHipOrzLczWITOnYHQZQRdogJbosmzyFJOoVbWFWNFIkJSDoAtnrrUOJeKkDLDIqvrOFqKzKxtHiIkTwXzxNzbdBTqkfYSZrHQmBNWxckUvxdiG", "ceWivoGdbmKjUyDCkgDNlXRnOIbffBJFwDPitzmppQSNTKzRMOeNaSeBAkOKAIWNbfxvrdnFKTGdwbHxoTAQGWGtdlYkJrCkZYjGZNDRkglHklkIgjuMhfVlNyRRYkaMpDCTqyZqxeRoiBMwTPUiJlDMiBPltHbAgLuMuMPizgzfTqABctrkWnWCuCmICzbQZubGWXXAIDcOVFIPXriJkpkCRmDduGyUQkudLusmfjAfeLSHJxcTwUJcaRORDHawhvpDhfwRuHXpFNVuRxsEdaLLKGZFfDyWrKAqZIVVPBgGhWBUbMZvcHeCSIxXRpmdkQQeUzAtJgIfGpTYtiurGSkGtMSREhkbQGeRqQTHUstucaqkRuTDvKxtaCkqOxGeKsOqrbcaiMIjOzOAFkTYKzNyipubSNKjRIUpqFQBXZhIOemvthUDXuLeGXipZQsqIbtvYbvyNgdPiRrmpvlRPqnjDnPCEGLXeDgPjftZcZXLfLhlwcJkgmZKMDjZzNdr", "CIVJQLuvjjMJQNjGNAAnQPGsmWxhwrXmbRWiFYSlcuGEFYTDghyrGAVATLAmTOkQxiZSEasHSGQSIHtESvQFZOzQWTJUXrgTgdnPWBcyXunmRSNfWHKMdCkqrFMbiZtFGChjZANJXcXGazkPVTwHqyoCYRPGpmNpzwFdqiesxxHxUchBFApxCUcViZAmHnpRiuTpKgawGMfXVqfpcTTLuFNjTjIcrvYSOOtrIxJqXchiKMSyHdcJDtktgUvWuxKlxrKiUyAoqrNmXLSERvBQaLJZjdjwrfRfSIlKFktOUnSBYYaWFRCxLKTIYpeezeSEsdnDthJQvgebHGnYISaMkEcmAgMcfTxtDcQJHCjyjDzzeaazQpjvlgWhOBXgqDyUjyRAMkpXjGFiTWxskEzLgwvjCRdQLVIwlyNcEFRkupBAnchklznZytZueVZPYQpdKPoqsrAifeijAQpPrVIXrgaetmmDEyZDRXXOivIsbWdkrlrONMsJoDrCRbMypXav", "opwHvMYeWBauEYCFKWWOiBagbJpZVDMDoYJxwpqvVXsEtOxGMmcDMgmoMILIogbOfrqgHEEMhmhLFWEaPYdCfkxUpKVGqizjnPFrRrsATaexcsJVUzhEcDIsmcAjMpTAfkkmZFMuQsZTHBYPeOhhwdAdlETggrjetGlUuUsujclUgIOmyKfRzDhnpAulknYTbnRQOkkqyZdOSkqLaxlycbqZJpMVpRvBsZVEXYJPWwvmvmjAmsaljHMZVfagVWLwyInGavaqUDmekhvEhrlIBttgNJKhTdFZmoLoVvZEjbatgBZgCjWizGqzWSvMSPvHxrXKJjuGkDHOVRSKXMTdVOuYZxguNBabIBzmRMzkkHFZWjkbXSuediHfWgjpVuhRxMKGbAQActXnvivRPZtPNrYrrJKgWKBxELzEGWzCgQLhLrvCRcNiElOjWXQaUpOvmWhGdJpoQtchZVphnZGtSfprUgXqSWPmHxwwpeAopfQkvyeKTSWMcmWYeTCjZjgn", "CAUETBSefPhKaqRjAAoouEsJDCWzAUCsHcVTUbWmQMdeCMmtINZuvVWMCKSSBnDAovvZWEnUAFcLDAmFtMfckERTrQhBmFdpgZTsuprvEyMtHzHQbezKEczwtfneyEiKvzcIOoKixELQjQsyifmwYHpsmuaSVXnVBwQvvGOyXrWfdREfHhlgmFSWOqKKsQwKIQykchnkvkChkrWzgyNbLKpQLUjVUAuJLpgCgBAzPjsxYtgljEOjlNmxtFSUWBqciCMAoXIevOIgDFUppXwhjodureIHKrtuegdhzkQaWDsrZXOaQZxiMFaXZlxJenWXVhsyxEbfBPvgMrSfsuFNgiCtDrkMGvAQioiUwlGXePIPzRytMsFkAQJURwfttYatWWUEkZayYESIfGUUhstTFgXfxamyLDVGoFDClOTdWkMyILyfAOUSZoPpoEszkhOCPYbeZXiqUBjhsTlajpOOMupVRSvDjmmysXMYmCDrmTZejlobFWhmFkLfztQTQwVb", "qdqTOHhUXipmHQAqQEyymVuDhQpmViIanzZoQUbUlQGBzcIxJWvkoFhoRCagzlzGxRmOOAoLqUbyvUaeGdlKVpFZdfKjzvueZwgeHbzyllprEWQAzbWpcEipcbFWoLBHuMamLwhTksNjrlRKAWoPNzPauMDvhAMQVhKlWHiHuqNKBCDGPGrgiOxNPznXGANoPsYlOdJLDpUhkQtqjhfjyvrqbrFYNuGtGWsQefJyIIORLcxZCLGjSXKlzoJUafwPMtpoBHTRjpULkrSKvxPjbeLnvbavZeTZjUXlRBOuQFzdpWsWvUHWkxepygRMDkPwCSvVvZMSOmwbNbDmQjtPxNEGRhXpeXldERcnXxCexYBUbOnvTmEeXeNQOGonRmVObfCgSAPzNTCeZVDZfClrOSYIcKIRYbUyxTKbViAkFhUsyKmpXIqBOPkKDagiMzIjFAhjySfzagrLrCovbqmRSlhjYONNQEAyMkgYOAWKwUCPNJlFcrdEelgMwYWgHDiV", "rrwKNEcjzpkizVnxBpTfsfhNVCzMyMRWDdTuXYpmoPjtNWvBYBPNupFXcqtPUdkPNBRGkazmrIBPQmDKinroGcgXbNwEuLXQOTmfWqVSXAwoUHoRLRvhNixIUOTQZmDQHdNragKUJOARwYKUtPhUnLRygWJpprhtiNWvoNJLgboKghQenSWcwaeYpbdzZsWKLnWvcLouiHRmVSBuazTHRsUhdOiSvcvyWbnmZGSNXTfQrqIENupbdanpCKmPpsUwgCtZbPZafLViPRJUkYimTZAMOAoFrWaXTSrGCjoAtoeCeQzFDHczRYXkjNfkTGDGcmbqDjrgtAzwsilWVCAXqBQuCjCADzNNxEdtssZPdfmQqomJyOmkSjnMnbLXUxEozsLZQRUISmKvZcPNLUgWUQkFYTBBaZwbSEettmejzmEgoNKgsEUUVXpufCrLCqftGXgMqrPUTAQohoouwqBWWuYykAynjbCRXboatUojALxhuRMyVQkrPOtzKizEnOIO", "OqLolOcvXYEkWDjPclDJbOmAjAYMFNBLbJGekVjUkVnNZgOgzLSJCjEeECknDrkCOSsvmlRWAxsIMkDQrqHQqMTFBdGPkYwSUparXHYYiwEuecbHWzSYQCLQjrqQPBjjCthGvNncZsYxpOixsqQcldDulMFZhmAvcJDxeQjHSVzRCaZcovSeVdTtLgNzzDYuaxMZoNLYlYWDPqOnxlqvcHugSNtMZIZLZOmnkToYuzSxhkOLbGcPbyVkMVFVFMjwJcWEzfXwcXcwIyQzaJImlKKacoGbeeJFHOzarSfweKcmyrbYjOcYMoRReEiQhESmnqAGlyMGhKjjnhlizKyhWHBBpRpeflqXcVxUTXZTAgFDmXsypeSiGzgHsuXIXuKBAAnhiPpnKhbyyTwfCVTlQbgwFBLWJtYoibqupHbYpSZOsCqmCCjEuOrnWqqebhZLDpRvWaofdrPUwLOibRfKokVIRoeOrxzVgfOJpMUVZLrRoyuocYxgWJRoVMCLhsqI", "ZyxmCGidffSpgurQOlxYnwXozZlBPNDUjqAnWWEwHutgHSGNIqecCSoIteWYtztiarljlJWKZsRHonokmZezQGFBNqUUfQAZfaykNCsoObIqjOXTTahCJcOEoImEKFsGihaISzAuVdSgvxvwgvOHfjOHirwaxjNjVErodNTuBYDPQYpDkFkzZLOFwmqgLDueEHerhFVihQzuaivXoUxTJDNtJXBUYhCKwCDNCMQOIXadLUuTYOQktQSYxPmSqdNDBuvcZeRiWbjviuCyhMszswtSuEguqBdCWjLqsWtPqiPOiIlGGEUanxOIzXcXMVPGpPmWJMnbyIghNbUNbhdDYoPyjjKhqsQSZLvVQwxiXZOVicyeeNyKFgOPmJeHqnBAsFCMdFODshWnHbllbLfhyWMafgsUYUMSOwsArwZgJTpICgXcKAehjetBWuYbyNWAVGPhkyjXsTSGJUrChFmRVWaheVpoRSSUIyGBpdpZWmOBCiCwBaYzqVuwWHDHfvyu", "ngoHxVTGWKcRqBTYzewKyGakChfzrcNXDBxylvojQglFQiGEizDHNNHBOlrpJvtWWKfuvfPQWaDMKsZoZuykQZWGPsALeeOoAlzWqZeeJzHJBRGbQyfWQfklKyxEMqDVPxaAVXTfJYQLXUKKJBXOPQXUxJJjsYbUqxTnGqwppYZgcRfYiIXRTOJhBOWeXBbQLvTvnKggGkdCjCKhSDPQpJXJCuhMfLFFyHOBqTnEJEqLWYphoFCAzysrIaFvJxdWrPUKmZaJeIsDfsghzeZBJUquhwOXbInJpIHywnJEoMCdEXiSpRgugBYDyugmfvHakczctAXqRXTmRTBTRwiQoxnZcEfLxakzYuoYVAGgBsFAElmdmkGbIeNHvfiKtrbuqbHbLptYIvswvCtmfhpyLPixvRIyjscCmaEhtyCeevfrOtcCZSJACXRHaQRPImbrYTVJUltDGdmWUNmarVSJqdbPDjktRrBrktzLRhIOazzqQUBvyPQWUApQUsPTGpcu", "PDDYcfPLDpZaRAbeyldRtztFtCAcRYVuWMvcXCCsamgpYjHCtQrzDimQTVlfQHeLIXIFeWctAAMKMUhMaeQJJbMgOzANdaRLbEGNBktGIRXXVjHNYmRClGcLaAEVIeNEaRmpjitgpKQcyBPyjvSHbhdTdEMnWcreyDGWzWgqvzQmhkZFRcSegxIpJPRrrLXTQbLLUlPPJDNFPBVqIoWMRBHqvzBehddyzndacehtTgMNmDBXFKoFIAQAIcCIbsOSVSIDWIgsgTUdDDGpIRQjoBrdFGzqQMQcXAjfIXQwWfZPBGosaXEksMjaPNhRQBzGzOyTkuhwdNmlvyyfxNhNyHHRVBBeIFKUWZscnrPlbqCPWEQhrwANGedYUZZWJSEaJIZpgszjMDgFOBViEHVKVwKYxrLgeJSKaiDUjjpzgoXyHZRdvkENNilKzHUICRKBfpamZGFYJjgUoKWqTFYpUpjjzyZxTqoBuNXDOrPrdMoHNlsVQMkCKwTFTXGrzBIo", "izTLyztfBueBcEpRTvhurVZQmWlOeDWFUfeXXKnrHdvwezypMJNldFnJefLLuWwqyxYugUDfOtKmOigXPebsRcAyLDeRZdMFoOpprBVOWHMmdYByLgQVbaHJioVQedtkrkxpYHzkpPSqBrkHDHjnGHShqryJFoslkkfLmAWrftfFwALHUZcJYxxsAKogtMjIVhHAHkHXgVotFeXjnoIxfhYvojxxFCOntMbyYkZOhCkIlPLMkpFmAbVskKJovSfoQYAHYbyPazMCzAxZLWWmyDRBMSIuSWNKHAwvfzTFFaIJHtFExhtzliBWFcGTeGnplIBsVqRIVGtrBIWEFPjxnEZNfaBtGxgcVPMSboVvdmJZhuJTbjUrVczuqeCHqTZdWFOJjzDNSviVEQfnqiDjwkriIHYvEXAVTGHzeyLwcZoEfMQydcsweIrMcmVmreJYGNBotbmPeQKuXyIDIEswFLaEaqNweecMFjdeVvQEjxUHWWxVDtHaslYvPHaNHqXX"],"c_json":{"pronounpossessive":"hers"} }','{ "c_map_bigint":{"c_map_bigint_1":-4701290483899476281, "c_map_bigint_2":1581702131817910584, "c_map_bigint_3":-2662008273522075486, "c_map_bigint_4":3805213836216837555, "c_map_bigint_5":-2337866403346910960, "c_map_bigint_6":-9109966628167027954, "c_map_bigint_7":-3514176119321846422, "c_map_bigint_8":5907648109852842533, "c_map_bigint_9":-488072894872068427, "c_map_bigint_10":-5216051306661171774},"c_map_ipv4":{"c_map_ipv4_1":"74.29.141.24", "c_map_ipv4_2":"124.74.84.93", "c_map_ipv4_3":"14.152.13.17", "c_map_ipv4_4":"83.234.140.164", "c_map_ipv4_5":"189.112.53.166", "c_map_ipv4_6":"92.211.6.233", "c_map_ipv4_7":"247.34.165.31", "c_map_ipv4_8":"92.171.209.36", "c_map_ipv4_9":"57.83.88.217", "c_map_ipv4_10":"156.76.234.21"},"c_array_boolean":[1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0],"c_array_smallint":[12532, 23365, 7428, 22555, 9506, 24588, 5309, -29302, -13390, -29414, -6372, 5158, -12244, 5949, -20042, -20516, -21352, 20110, 28270, 12543, 23143, -31877, -11900, -15846, 12000],"c_array_char":["GMbwGEsmSa", "QcHPrtDNoU", "IAUZUgQvjY", "tGCMwyGeEQ", "VEzimDiixK", "hsDHuEXwUp", "jbwmsEUPOd", "EIHFeGpBVZ", "aStjvhmdpb", "YsppcwVHRd", "wAXKkKgWnB", "OTfRvsLnqO", "IcTXdKTxZd", "kfEuoYkFej", "WRzgnefajN", "AHDaBIvbkk", "pVdYtdrJOk", "NekTQAhgYA", "rgbkmcweCH", "kMNTxhlFhP", "lOIWtctkuV", "hIiUdSPlVP", "NMNAbjutqB", "DyYJtYacLh", "rMaqJAfdZS"],"c_array_ipv4":["rhhTanUJrc", "QDziTWHfwC", "FTzdVMRvXt", "NCRvrucNhr", "NMOtHLPaab", "JtAeHcnCXl", "XsBbJUskQP", "CCdbNbzuCH", "DBxpbDWtHW", "pMKoNRkTQO", "erYLGUFzUk", "XcgydddRZq", "mhDNhLVgJm", "LzGrZKgQnt", "CGbvHRYscW", "MDpOBbIlGM", "pJkwLLIqVr", "KelHdPjgJF", "iqQJJGfLUK", "gNGkgtQIGN", "oiFsSPRxtT", "giArtICBLz", "gzKKawaWnR", "LOLSAYnowX", "VRhZJSdNuW"],"c_map_int":{"c_map_int_1":-997318086, "c_map_int_2":-1734216277, "c_map_int_3":999355016, "c_map_int_4":-655796542, "c_map_int_5":1661280575, "c_map_int_6":1107511355, "c_map_int_7":83347493, "c_map_int_8":1489384389, "c_map_int_9":-1839141170, "c_map_int_10":-641447030},"c_tinyint":127,"c_double":39.71642877164027,"c_array_date":["2014-03-01", "2004-03-13", "2015-02-01", "2004-06-15", "2000-04-13", "2006-04-23", "2016-06-21", "2016-04-07", "2016-08-05", "2003-12-11", "2006-11-19", "2001-04-26", "2007-07-14", "2006-02-28", "2005-04-09", "2014-01-21", "2011-03-06", "2003-09-11", "2001-08-19", "2013-01-23", "2002-01-11", "2007-10-08", "2018-11-18", "2017-12-25", "2001-01-16"],"c_array_datetime":["2011-12-14 06:05:08", "2012-06-05 23:39:51", "2007-08-11 06:04:28", "2006-09-21 22:09:17", "2016-04-10 05:03:51", "2019-04-21 23:54:12", "2018-09-10 16:33:28", "2015-01-10 19:45:37", "2015-04-27 20:07:48", "2011-09-13 22:58:48", "2006-11-08 03:02:05", "2010-12-02 17:53:29", "2016-02-20 12:18:04", "2017-01-03 05:29:02", "2014-06-18 13:36:31", "2008-05-27 14:04:38", "2008-03-14 05:22:49", "2013-02-04 08:23:15", "2002-12-10 06:49:35", "2005-10-03 10:49:27", "2000-07-14 07:15:09", "2009-02-09 00:37:23", "2018-05-22 20:37:40", "2011-05-15 01:14:05", "2008-07-22 18:14:14"],"c_map_ipv6":{"c_map_ipv6_1":"a91c:d354:5560:fa31:76c7:c490:b8db:7e44", "c_map_ipv6_2":"ac10:d4f4:c42:e46e:1f32:e760:d18f:50e6", "c_map_ipv6_3":"9025:b182:3253:f856:b626:d1a8:584b:2869", "c_map_ipv6_4":"37e5:dac6:aae:4697:84fe:16dd:217b:a034", "c_map_ipv6_5":"51eb:2812:f496:e7b1:621a:5018:a99a:6556", "c_map_ipv6_6":"ec0:f7b4:f2b4:4bbf:6e31:bd5d:b179:1b63", "c_map_ipv6_7":"ad12:305:230f:d15:ca64:c662:5487:f8a5", "c_map_ipv6_8":"d883:69a0:42a:dc53:9223:bb68:ed17:f1b9", "c_map_ipv6_9":"3d5e:30b5:1adc:5916:a0bf:6cd:db8c:a56d", "c_map_ipv6_10":"2a06:2102:fdb5:736f:667d:2c62:a20a:23fd"},"c_array_tinyint":[-87, -76, -122, -111, -71, 103, 50, 111, -25, 73, 33, -67, -13, -85, -44, 89, 64, 14, -73, -55, 109, 99, -102, 17, -108],"c_array_largeint":[368116649993777068, -7225308892138642401, -3833094569018312173, 8180144191956378578, -8066148985867803496, 5014454912972657625, -6785583672712557542, 2600981455258702417, -2078137952773065389, 8958234020142578492, -1402961157836740644, -2730202213068105175, -7560919932052162270, -6528386963112144638, -2562689285463163670, -2689893840198662373, 2500718096265226338, -545435050131938470, -1509796958617687825, -6286693897202141420, 8889788860062324078, -3905282604098234814, 4743264826496729887, -8920801473505502296, 8585526453490249050],"c_array_string":["juGcoHnABOEXTxRpDCqZARZnwPNCJYkMehLgyluJtCFYVoxcChlSZnRqaXviKmTnMuifDFUpMxePpudOZIvIJaPUsGNpgSsVGxJtSUUQcUxVHXYLthvDfjBCIEFLYEssCOXLLIfHleXlcADmrCPeYEARXAlCrYdvDOzkgSjQNBYxHdpsYhYpEyWpFmcHbloGWXkebycJlFxKtKypzZtAEAbnwWOuUfutcqUiFNSQFhaZpKodSoRRDYaUgGbfKEvQaUYrxfIcRYxeSxcChTAykkuynOCXbexdvAinYlfwbyEGGSfRCJKhsIapizmRGdHeOwFVFNtCyFdmyzsXjbylyiRxlQIhJVayQgAupXeMgayQMfTOEQsLizNiilwjMSScEOTNPbgbUZHkOrUAWlUFJgitVwTdrEKrCXdugOEMJXNpDPQMFposQHlOeYdFLVPOkpXDwBoaKsSxDbhWhAxTxBZVCoXlYjSCeVQxySvqjXVwrDQhPGqeCUSZFuYgkJnB", "NDqlbPwhtciVqeeNmFPWxVEhxYgkqWmRiJGcULnzsrwmIndYmQooIVdBOwooXFJenfogbcMxZDPvXysBcczoUYRjCqXckktIbLKiSSFVhkmVwhVsSjMnzVPkPJfESJrwjmYuZUOlezHbvlDDQoOYwzNFnciCZwVBrOxKTPPXNBTSJoUsQhJZJjLrNEumCSKomfGYpkXrzlNOIVfolORCEVcmdIfnwDeMpubmBwroMkuQIzDVIBnkelFKSDOBqvqQTPcfSkQmjveJsyUlwBkVNegEUTpGAIKEFPMMkJasyZjqYQyUmeumTeftbtFfztJoiFEKUgsSRHhHbzJberiQKBvWJgYeRNZrSwRfxdTYWiYhIQrmVCkVqoHUUFfCNttjpNEbwJnZRleRtXInePrYwaPqhzjAboGBcxMVKPgFFKNzRnvDbszWJHESdLeuwPPwvpWmQtaYdOscFZLFVhJhhAWDJdmJwaUCJUNKZNxsnUAmPsTrhBVXvhYTRCimsBLQ", "onAxhIYlrhABXHKAJGrxPfuCSpJCxBuZRJBITQLIuWfATRtiskFfvGkcCdETUajVZqktKhbiDhqFhcgCyLiKdshEDFWHdATvObRQNbuKLzRawLqJSiOEOiyssnbsMTzoQNneaQzRnseMbcQGTIXlfrYxdogEIcMJPJBiWqdMMzakosFghGURaMyBZzLQyBHVqeGEYVQvKhocMlgJVRNwIFxmCDQLgzgQGiWxoJbCxrpSdOFsgJvBrIHQXTMDhlWnhVETgamasxRhgqyXqqqQmJkaiiRDDNVmLBRuEKzXNmOoZsmnAIWmLnsgChXeDoEKfGKLXvWypgBkwlarWqFAcLsLwIPmqGGjSYGAXZnYRJAQumCZKoqKcIJngFPnZJGgczQfrFYGreCMxLOZJvbAujyTjNptZGBfNNbtmJriTLpWXgBUvWbuoNDzzZcFTSVDsVGTqKhOjLcIkvhEWNObQyRSpQIhsygIBExtOYCPhJmatOuYiVzCaKHYUjTSKCaJ", "VQvMzDOyggVKYohaQaXokqZVVDWhuzrIOGKWHQUldrkXlhqJpoTggVYBDERAXnhtkDAskvKnPIOIScrLiTiQZIYfreqqQbjfpRkHtvMxulafeUXArMtRyUuyKpRvNWGZVzCqtLHTeHCFWbRuwwfThfFrriqrPsndIMtcDxukYfhYwklRCFTRiXtonKcUhWxcWdFzMusBMyQjigOfwOlbHrZnXRvjQrROeeOVFZetAxIBUTnwZJlRrtOXBxWcrZlSMzzmXLqDoynKDxdShldwMhrWbSkgQBvXJRttoRVjkffZzwrJwaITLbBZeNrWGKttHNiSwEhCMcknLhKLqwKmKyOScrzOOzYKtsnCdLGlTddTOCOAlQVOuysSDUFaHffUQqrFrJPEDzufUkeKrTLWMKvSpfeLDOyAhYVymeOjnochKMVWRYdZngTEqwpZeMNzydstbqWQaOlXiIkcoyUFtmhAMCVrxCGDdVYGaXAcPVoBjMmvMvGqoMeYIbHjIpta", "gtEZWJYfUpyZYrSBKWlbucUSmYtbMTaHyUEZyLizWgHkAsaRtOzpnGDUbcsDKwuRugcryaxjxCZKCtAbZFkcPlSFTOxrITrxEiHdzIZcuhhTibqIXukwJjxuHVUeLuKuOFZuBwrhZcGHENJiSDBDRWISJVlWHHuVoMvWkVfZbcTyMiwaIbzWFgxludleowIrqHDAuyWbHwxeUfwDtXGiBwwWXbUsJBOEgkyBhARqvrUpoMdAGQtUNUUrHXVUoXLylLMNMkPztWfKsHPoiPhOujVztOqvXbbWSQuMMUSzIkoSyrTnrCTPCkqFGpHfGcOXemCBRhblCMVztxPrNYmllHBwYYSgrHygVhIpnEaidiLVLNwVqieEGHlyAKduesnVSXTXQbbUxryHDskCFvFKQKryfIIOPivOqvhKRgoOYXnLCbkxeRUrSpuBORWNtwDbNZZdXQBbsMMwLxuUKRacxEopvIOkSbCJPGwoumJXjeCrPqzVMXiPoOvCsDBinjPA", "AGYrHOVcvqEkuqWrFpBOMhprQWgYJtnosyOBbvtOnJKrELvymGVXREtQmSibRroUWCsCjcaVEXuzmVyrObZOdGzRXoRnCsKvGHMNPjDexEWJqjojrPrKUwVLdSNlWWSrjyNLtgjHmfpHmDTFKrvEyMoZklKiXHYzvPrtwNdYOqoboYtLGerzGtJjiwkaoWEUcACboWXqXrFXjMUguttdSKTUtDWVoyFUzQuDskTWNyOTtwkqANgqCpRUXnzKQjJwOvKZTzrjkiOqSTqlYdMoFPyxPqyMFaruEMoCyOgdBvZOonXZwNdlRSZMsqFEMCMTwUskphAilBKyhxxUyHVdwPrUAdtPsdNNmdsfMBAhoALPGQvVZfeeMORZOSDaDSimAQyHzcpogfzrToawgQwWoUViQgCqyYEmsSGopJDNCkLpngFwIlnSkzGEkTTnvmSTNKsTBBfjOIiUUIDjeiaIsunUUmlWpGQgYnGJAZwWUgQKUOGsmuVOLnTmyJABGieo", "coBKvrOMPktuoPNgVHOGBcdmcYesqGZmlYZbHAlIrtERrBKsbZdpFLOsHheebvKTAYSdiglaeiVvzTlQWOEYohiiLZESTsqDHcvPcZyJwblifbPmCIUThTMzKnpvTQanLABWIscXxxCDpamuJgNuDzOLbSmiwAXMNZKPMxRhXWinApGlNcvniiIsmxZBipJyoDbcYPYTMkxuiRJnlgekQpEHNXIKoOhFZylAmxUOVhptWLBpvBTbpTuGSMecPKerBkjsJeuFXvipXESZLHrHZiayLLoxZuUntMoJHkixyYDrkjSgMdSMwlxwmtORzeyfZhOXfZGgVDdCuBNDySrZpsczJJLWdlhQzyztyRFAFVjVIGMcgpgyowoxhruOqpPHFAaZlKrfVafBDFjbFCqIZmgRTHPtFljWmkUZsKVtqrhqrbuvkSdTBiOjVExbKBpwVPFSRWeUZhwhVvxKFDIhqAMtVYrtlUzWGHNwWsjKNpsDTUJLzFgduPNRkdyBtWzs", "PPyWXmRlahTHDVogqvBTCiEMHMBkXfQbImdWJeWjNeJGcgBvfbqowKedKQMLFiCDmJtJtbhKKUSbDpTzYULjQtDIPpKuXjmdwyofxzdAznKGLxgbHpgJSVTqzKpgjgOubhknHFKPrVVbsGRPcZfIhOelyAcuBmLbkWntNQFlJJphYlMegpceiHnlTMEOSAloCHKAYSPUbCQXfxVzBKLkFLDvLMmWHnZWPmQMXhEVJXvarGsIsDEPlVBekgObDaRWThBhiZzWBjMjzWDfehrMaOmFJRCWaGbPuVwuZIqMoVRPcafGrRhFWlkVzdGgxFMjMkWVZWdrNhDnYzSrOiUcdDTlkKyiBRCsmLIaGWoEUXWroFBqWdIPewBtJaSEkkdCOtODhdQzRPesTGLRbMWJnxvuovdcGQJxTzbbeJhkdWDWhYyOyLKwfVIWNVQTpaADsDEsviDZmCJxSqcZNDnvZZyNNvczgnrFrZRWmmowBmxlqbqpkFgBKlWlHdZRnfeK", "igIocnkxrTFIrfoRlqxrbxolhyFXOSBAdWufhtCKlNXYRdzbgypYJfMjLBhbWzcSzDRrEnmBdHaZGDoHOLQAestRNcQhWlkDKTTevAkhGQlAFqizoFFPqabfgAxNFVeSekpfWXjKlifIiZbOUsbVhGSZrodZGjTuOzGmEYmzVOwQDMzoPFJNzPshFgOmiTsRMzSGvTGZBqZEHfbEpJBhRhSjrsTsUHKBIWgZgIiGpsIrIWIIppRaIjHvzNHpIuPenKbKFpAuouXqEcxZbYZsIcDodZYHSXgBBkLHrzebtIobuDTeuDLXzmZoHFAiZJEXBjiQAxJDACOpaGtOhVHPbDXKJIuoGbZZaBnclHMGeGdPcEAItBIhIIfFBCtFWhEjMNJPLvpPyoizOUFjsCvWEeWXSMqNRZYOherJbuZQontXNfqaYiBfDsDqNTnzAxsAESISwhzLEtGAcTJFNktqMcINnofwuzHQWEIQdFSDjvVgvlfwWohWWZvnrKRKiqjs", "pFpPPlgygMQeYuPxVsGPmrTLLdKgQpjXLjOLBjCCGFxTMJHYsgoUgguExfFilzLxdBfdiFcLqvJmBFvBXenHybiiTubmHooKOpdILJXvWogLuFqHGeAsEBrJnURLIHvNqfawPESGoUUpBpKsLZDakJYDwdOWtNJMzbEvxqCwQXuQdDuPppYKMbjRRhzZxmZvcWVZIddtyhHQNRBaZAQVtqrPVdxYduamrBHfkhFAoWaLkYiIEBNhqQIhoaBhmywCFsAUyLZdhJqldXcvBYPQCmrANkkkpgvcIiCDyDtSrusqwlSdxwAcaHsmniLxhryVJQbWSPVlunodTpzjviitSKoxxDGWmzFFfBBQmfrAlaAsuFDMLzDrbBOTWBIFnxDgtwRNopSWQfjosrKuGRewhNkkKRqaadoXYdMFDjLLZZltpMTUASzznhDgAszJdjDxnVwTjhPzygAJpHVWKkFidSUHPpstcDcHoGxxxszpphJxLwfDSOhDLeaGalWgqHBq", "JCCnjSSkBjGvvRJqARciDXzPRLVsGWlKvUsCjksBNAHyxLocBUPFKanZOWEezClklKFXuRLzGCkqlBiydvpzRVvUTMScHyVWPxbizbNzhqdlmEzdUnswVpaBvPKgMcuQZpZdZbDYHIJSIvjUepRIAwIiKarKitnKppuSdHasMhXmnaUpmhHeBhCKQqUlSdBDTbCNceDontNNRbXTyKNFDvjIYhliiOprAClvxwEENzBaAcHONgAmyKoilUQKTtgIihBLkJNZALGSWdbWpjQMsfJEMbjnzwBpTWzqXxPSZgscNTxjYAWNQVAhhRZGbYivahvjmelJzwuTCyAkUZjCLBIWoQuCPzYxnhANhKlmgjWpnsZQbdykEDrlCOcFEiBZZTwVrjKexWWMznLMoESeKlyxlwVxkDObuiEgIklgALhAukmXNozMjVKFKoiTOAbncciJMEeiMMLPGSyApXHGZZxghQaCkmGPbTvctWrHqkXmYRALbhQPTYtjMDUkDgzT", "WvbQnqCFxuazEOGAPsLmjkhFpNPEbwKhrURMYsywuUKNveOzLJQQLcubRuEjXxQbYdrqOzAVpvwvwlhXSDcrvhjeRKajPbHlhchUVClItPvcrfUxfQCWzISNWPIedhIKGxSIrehnEfsNkXDvxXwtrtleKOvMHudFZmacKgzLUzBfYJblKdowfPwNNDBLWwNCgzFczEmrWgTVTCKgfEyIfFdsgCoUjtbaWdzjOnIQGearWUvzUELCpDKNutMMdekxtzxDmtYbijuCXnFkrhLNSpEwoTvCQZViNWIELATWFePhpefTaBsCljJYpMAtGFPfSPQllcfBHStSpVbOolxPKSAfKavLKrockYzGCxtOAmyiiqmsMwYdyUTYnvnFPAJHRWsbkNprAqNnUroJElUoBBqHJVKlgIYPLsUwoktpjncetyMauOleHKafEHpHUMqimwUdSJicFsTSKbLKuYibDpXSjlUTXCdHKYfevtkBWYfQnXTBaBSjHdOrVpQawApa", "DkeSfVWsPrBZpgXTWFKUTvqFSUcwJANyhAcpripanrLqUPFBQESbAsdwrrFPUrSJqQryFJaATzIbASPYcGZudjsqQBNdDkNzkJtJEsdTOAWFPxXglyJiCfeVkOffmYRDkfYzcYvIsfMUnkCmvRZysusDBVPrEPEtYHvxKotscNVGGOkFzqtKyAyjaXqBxsAQyvxsQmiRUMjABOJtHXwVMRAhRjAgpjqfTyGdBYeSRNXydNzFOrHxWmwkZcqzeEZrOvfMpkCPgRcKynzjrumBEZGmEQwzHorhmeeQZunaXXdxoaOUZVRdmePtLaAOciKNDETBEkJADZoNjZKvGwGRPSpsEoCtXDFkeiweLISdgQeIqckIJibPBzferSYPNaiVCkfkRQYzqiyhxBNpHTfYWwIetIIbXlsxFSDzjvmRQgyxWHiaWVTahitPViWhKXZLoWliTKjKzHoJvRBdBVlbHHhYZKawhsufDSmLTJyFTqJlNrTQdmMQahYZQLDApXBR", "BgsHQjvgKgOBhWCPVoFoerMKAlqDxkiOMGmEkWAmfDaqeHllBGgWciQcLweYXlgNwsreJepbxcCknJgcTmBYUaDnHHbPEYHfzrIadriiJkmBzcwXxZTTEeFWsUDAkRSVnMwmvKIaCzSjeMuJACZEHOUfacttMiDGNrUVHwubNREihnXHDAEdZYeYkPkzQpRJnopznyLAAHNxjvUGesJoUmeygZRdihRHdpFZPJOfDiDcHKlXlNDiAMmvhKdGoCcethrCDqNUAcOViXfUDBllyDLCFHRkQYrvxbWrqMLGERcFCQXyvVgQxfvmzOYVoRSBOjjokImcXrXupMvCBFJotaxbJZHygnoDhWuwkbHhyHHSfetJyNjDMQdNhqHLvIIIRDrfxOKViVHLnGDUtBetAotrSFwKCqofuMvGhtPVhvcJXkxDlMyHmWukUyAXBlTxPziDMkytTJpeKBYAhiAIAdtbwacueTiobleaHRdnJdWFRrZoyOMRlDZTtDwnkuCh", "EOEQDHJQzWlqfYHrjQpVkSLlQzovlkhfznhQJjYUSSTTjhyVSygSEwXHmZFRhNtCFlybmyAFIsDdQBFumRFIxgupDocGoiVhMoHtOYwpvcLghJWoiPUVmggGxVDYRDKFQAabeaAzFjSScrOmrocoHuECTbEOwmJXgqoOLFBiSkbCeUSBAIsJFRsACNnoaKNkuInvRnGKAwxnFDSqNHEKKuRkJymtdvHjzITBtzIJEqULXzKpuqgMSLesNDDnnItInGYpIvfYYGKWrJMOdSjCjCHATvJTcqZYtjoErihXzSwDaXYvXyiFRDSOdhEboDPIHyumHMcEkEFceOmeGaMIlGwtJJIoiXAfWbiPNvDfsXzReFFQnmHayaEgHwRHKVGxYAqzKoblathzzmcvWQCzQqHtzHpRptnYbryYThWzQhwQHebqvhPoTucnSnzDwItvOoCFPofDVwOXbdixIhLpUFkSgMpjPUtQBOAJamEioxhPDXVOhCazTIsamnoeLvXC", "xFYZnahkokPmTnnBDZqKZRBLiDwITQwQxVBaufMeSSPNhxHVqabqQeKVkFugNfRmhVlDqzWsMWLSKajUAhvRPDaVlgDGUPQOsclcHnHpfPUGELuJqLusqhazEEFoYepbpLqGWLBIUHaXcpPxcBIoKFOrRelQUbaKINVvLBmEFPsVUFhzwCYBDsuJqkvjAYvhgrWfPKXuKQHzDzgeotZiahvQiKPSXtjqlHBUwSijviVqfxNAOjoWlzPdbrKaTDCASdeujdSUoahmuHgoktmtlEkkRfGVfcUgLDzqqCuLcirIlTopgHTgtQmTTpdjYMQdxBhGfaDCaCMQzllEQYKmUwvABAKSnYouqqkrDTSQsxdQiCjpYwWElSawYussijaYIYqxujuAQOEeHKheUaJxwQGaQCNCfswageJeBqGlEyEXZCJezemlvqQdJoZwFWjaJHieDhtMWjSPitpaaSPOcMcdzsKGJKedRtEswykdWNxDtOJxLSycfCGIhDyrRsbH", "cgZyWLhUnNaDWWuhakufBRvSxyymWgkTpOQLZsWPNYWWhwaMRKNkpGRIAIMmWYBtWIPhOStjVpTKmijayjohJfvQaTnlTDPxEwmoNgVPNnPymsBMzfPHlSqOpsGmNPVOebAyEOxHrzFSrJiosLApgxmdXlpVbjdJECtKnkqycAgaxGAjfsjVXZmYZZBVNhdJyQyYaqDnzGXyFOrwYRmBjOsYiWJHfdzOzJJskDUeLmLgjXCxwcyNVRPNFVqHQhbFBSoYfjkrMCriwFApvpdKzcWpKpCjcVKsXZgwGqSodRcylYMKTGtjhBbDYsaFGacJzAaVtEazvouvFIwZMfoFjengYXfSpvmviLfXVapcMRsqnLYjGvKgWGFKjYVKXbyQlqNebsjqxibrSENpAOEfwJfitQgRWzABFufwRiggFMgbsvYdYYNEEnPvpViygwDwKpAXcRhnmTOmJRqnAJXSLNZbovVKPYdFUJbBKZEqFJTwGRyfgwXpLdjaBeqzeJoA", "vfvxPFzUoVXnYfsLyJhScUJgmWdwmgbXrYRvrMQWMrueyZQaMQxnrIxldpSHDJGzOUVjByBKeOwLjUTrGncjcAYJMOONHdwikwJveNMCilkJcLvhcICQNvokhrGOqtOthSOFWjAGdCMpWGfLqmTPfdEnOBwgykOsqsFzhEDjCHaRrKjemMUvFawLoEJaEwhfqpaxCyVdOgETQMfcRnqFpHyXGreESiNAjNBvqQlamSfdoKAeMWcfAjLBGmXHFuvOatuJZtizWHpFMgpsBzkpSOCXyybHhbLNaXcnhJLaibJxnKkqZRCyYGIKCgmPqcyDZMtenpiNmLBUGjikoOHNEIAOrCMwWIKKFXRMnbDMpVKLXVAzsbHDQyqVqkkMmBmGvOgRrShBTxpeAlQjYpenpVmZxHLwObsXjjLXHvQsGKIBvygGDavoZTjruVhhFdwKpAQQgWLewMGnnrIvWicOwHLZuPNpPscsrkpTdUkFVGzAnVyosqyMPrLdcSUxnDbn", "iDDLVjJuzGNaWhFlUuHmdXtpKbImDgYvAGFYdAZtaSnzQshxncOqMmsqOoQmoQvFPoznMsfppRkknnGmPaTdIIZGFStSFbEiAxsHBiswvgRHAHNcfkhFjIjkGpoigqKrtRWKOXFwYmLMEeXiApWcOAukDnureyKDtNRjYawYLDHcQijtTjGEbXiVxDnaAjqzzKBAoPtIZAwWRGgvlqvwNImbIacSlKHVwBYIbqusxsJlJEpvUCObavNceVynhDOcKUGjUbRuBECjwieTAewuIJjEkUKVSrFSvyRBxJpYrfjLCzhNAoslpLIdGhtMBlRwzbAfTCMYsgLfihUtVZRuJuxDLxxwFuiBThIYfcNZRmPVmOUgIJAlLNUtskczJICvfyeHZYbWxtpcAmfBBKZIqPcFnXCPeLseJQoIVBjvBboHQmCrYEwekHOfxSCJjSKJJJrsYinESpUhiHtdEkGMbnvOKOkdZoaOdBltXkNzgKHfbQNrGhNGnZoJsxjqAHtc", "MSPtgLnhrklZrpMmxTLyTIdoqMtZsDtagNPfyuwxxKUnyNOCmOJeykFloEBQHzWSRQCSAkiQpVkooLdXiWPNVyyLoMwYMULPMwghCZDThlSNXJjAHQBgufCWeFxccqDxLigGUcrhmcxDRJrvliftLwlKIxQuIhTxoDBdEWqIbFokiYhmYtfEtJhRBuLXSlqnJfMsRIHrvMTwxtZbreIDtokwSiiXkmmfXEiVTCjBZYpqEStipocrLtVedjCmHTaYyKgDeKgdXqyKscbcVSxNhwmKnnJLZbXXrbmtjQvOIWDyxnjHEcxzxfxaUqQDNSPplfajijJceAdNJlIBAQEoGoAqVXlXfjLoubjQFlquRcUquLFbjsTIibBQzntzMhGRaYTIpNUDacUoshIjCXLvmmUFfdzlVpgXZyfagdUrZTFQyDiUdVSTZvnXaSVvkqvIIkhrxCALTaqbFkZuOBYIGkGBMHRxgMvvFwdsevHiXQNqBbZqATGTLrGAekJFWOMY", "lIpEdqPzcUKyHkiWUcBDSXwtHWRiVLaHqFmBISoLpwLUVZIxezRsQTtHqKLqsLTwGNAvcIqHhlRWZpXVDJdfOYpDwCALsxQNaXBtFlPKyKZeYcFwdUgFHhkGHLclnwUfSWrKlKCggDBZpiQQREYQzLRUQhambhqZpSSWSvwmwmnUndMcgdZHEvPxJhKXPujxEaEekQMYKvceRDwHCxyOkVYDkoxIpuMeWevVIXTzbYnsyCtJAMQzaoudDUBSAvEktRABuamluJdUWKcGPbdqKYGWaVYttqUSxqdejGYrBIuYTgAFgNULTmfBEMtkDgGoNlESBjxSgRhWeBWrMvDTScwxWyFBoMwMBbCmRnmxHEPyKRzypPHkUGbdXybLGpVcWNnJzSCUAAiUVkZmsEKshhjXACoEerhOEsRAQAbHCerXXuKwIcfECYLmGsiTloXZsIKgOWuNrzgJWLGPaAkidAMqDmRmDylNFHDLwtfnirpkIYVclTgNCCVjnfVTzEvC", "JyAYXQkgKWxjfnsjFvpPDEgYwfrVQUihHlmpgEfqkjbTCcmMmNORfUlXalAiXNKOLfbhNMpUZhTcjztMztYFjnVrEERlnLdhWrdIgbyzepDkibwcHmYiwZbuqTHlOXmMNTaolspvEPybOGEQuiItVYspYncIQrkwSkicBtODKRbOUNsfstBcBCljlnYARFGlbaawcucaUWxRhPPKwahncRDHEAEowmsaDkzvBCgHgGHbkTvjhIlEcpxKjgSSyMAfIhDHTagwAjhfkZiHbjmXatYUuWueuFXRCfeSdzHMvPjdHEsgdYduXzrqnZfHeWIiWKxQYVOWNPfsTtzwbuwmbykQXocJNhbpcxhZkcdvejXaAVTMiFbvPsnBriyLAHLhywecaojwkBXAduQtidZnQlYgvmUtNhWaRhVywttxtwoipnSkIvllPWJUWurBEAZjcMBygkoSWJzaeIohfIKsQXnlfBNxLFxlqRdjdxBRJpEzgehDLyXwgLDaRgmdenPd", "ZlZAxPMnyjZXGlNzCEBNdjzqLkqixJDwvYwZSJifIvKIJOIfhpoMfIrPQYtEPIdwDsgzJtyjPzQySlMBfkFDutGVqXlCmpDIcphQUJDlLHFnsyaenmlpcKQOiQXZkYnvDdGzPVIFtngDUgQOqSYeBOYfxCtyBmZgJDpTuhdfaIuHkKAHGHSJQBiqKSKxGuwrwqXWtZZiikVMStnBlYXFqaJWIqJwhFvxMvJjhziavnFsIPRIEbgieWVeOxvjpUhwrGgJEyARQZvIgTksjKQwvXvplFendEVjciZraNPyFxtKlpyWpBTcxxeygHShOoVtUqQCwJlnPozzasOEETwGUFLdkxAXSQiyuqqJKpEtKbffWEBUZkbkhoaMkfXEyoLoQihpeZwtAKnTeBmoqUeWKTwArUDeBLQJEYxWZJysrbgVnmagNfdwwPymJqNSqpNpXUMbJoEkQlDKSrfePNxXHUBGwuQlXncTRfCvHJWFvCBAELdFchMpciJmwODzzxtj", "bVKOesVLjbWBMuaGjUreMyZcLlKtzObepROjJizKIJPkQAGVwhUADLgKdetJDOIpjhElIkpecfunCRDcnuRNsZQrhuIQwaqcMxbWcFDffONAEErQfEWtXtTnZXmINfbjHSEZatKpPYjkiEQivlmvfqoGbahIUNwyHUQWBNDuowcUcTRVFgVgYRvbxEamaKwWXMWjJJrloMrNtkBPicyONARqQtyFYRfBnmEDQBkkWSSPlSpFMIvCLyjQiXRvNblNLdCMiLAhhmOnHmmWXgdgnVelmsglHOgozUqnLwRVrdCMomLFRYhWkCZvhlvaqPiasFmyCgJDUUJQyozNeEYuHPKQLNSgbzeTttlpXrJTZuweazGGbkHlYdkfPPuOpirVCgUFRzZZakPDvaqGnhQIxaEUfVnSaeekJShjstnFSfhKSUVPRwrVNeROXgIpmgWYlHWZefhSBsFHxaPwNKRsruFeatndnjBnZLVavTRQVDqDXgghomxqJMSHCUgzgrrT", "vHxuvBkOGmADwFLKNaomWcIVgqZeSEkndGnZZgWmIrxhkLmYIIsZIpRqbtFzBAXhJXkeYrFfDawGTQvDPEucmzfnPuXwCcHDMBfFPBVTvUpsFnUDFADaUjSxGXOhjHohKHcSpwESkdnUahyHxFWMDvOKAblzTFrVtIVdkcmlNFNeAqGLLGBybfoIObdYTbyumTXgATGdnNCtYAImBOfhClmAwOkASTvHYRUJPVpwTuunXFTlqZuDaPBSLcIJrpivkszmZXnuelwzlRPzTwmBqjtzEdxnkOhmyzOiJPMKlbiDWPkucHrZPbGkxNLhsjUuLwxlsyWJuGRpgGMmMiKpdmcYDyHjSFReHGtfyBkRoUqBpoqITGHRGjoEzlAQfmhHukAaKqlsCuXNBuxGpWKYggeFSVcxMUIdQjMyQePoCHCFBmULVnxNtfuBtbOApocodxRrlVAuxxlMCSNkRCdEORIGbZjaxFcCbBriBKFYzeGmyXKLzuGXNGjOxxJhCIbJ"],"c_array_ipv6":["KBDYDdkIpo", "aPQzeUgJpV", "lVjdgBrftF", "uBkycwSLip", "ZXwKavepvz", "DTvzNzPBHk", "UHEKNbTGfS", "hLaiAqjUic", "wFClRXQGhh", "BhfMNvwfNz", "xbPRuFLREz", "nyktwOJZAU", "BLAcbZAqCr", "HZCTcytpyy", "qHOmSgejkB", "rEqdBkOAkJ", "tZCEpoQgvP", "tKQmINgfUu", "muGODaQtRf", "XkChJNCyps", "UcEfVdHdAS", "wSdsdvNoQQ", "TtTQHPEKfp", "fFYWxOvoaE", "rwRQLHiwrN"],"c_map_smallint":{"c_map_smallint_1":30175, "c_map_smallint_2":-25230, "c_map_smallint_3":15029, "c_map_smallint_4":-15728, "c_map_smallint_5":-23396, "c_map_smallint_6":21887, "c_map_smallint_7":-16210, "c_map_smallint_8":17921, "c_map_smallint_9":1008, "c_map_smallint_10":1650},"c_decimal":54.0513,"c_string":"CMjtcEfZyzOxoMAZEbYvQEFiwFyxVUDYopBJvjOZiWNvqtmJdPMIblLgZLEMJKhJtqemrDqEvLHDIonFHZuJDKHWWbzGFbXtArkUPxKnIUnRXsJJwKxupWuijpoiCJVJqXzVmRjEXLTcWDZswblOXzoQVgbjmOlvmFGwVPaRmCZagvbCJVqgJsEAofSFtOCtFnYxfNtoaCuhIeOiocCKoZimaEoMTpnEiZtsSYVyBrGITSXfvOxKFekHJuuzONGtgUTSYsMENnGjXQTCQQFlqSLYcxTxQHpNvfyVjcvcVSOnDtikiUZLnjpNQLAKhWcOuhTWuyYLHQkxfnJVmZmLxkfrKlQIPczGMnDiTaItvSASXfDVNYurhnNLteMnLcIZoYjrTwcqrXcJYYcLAlFUDkjCCRBkTNwAZSGBqpFftltEviJSdwjgzDRFOcjGOrPGLKRfxntUZIhFjymEAdqxmfUksjDkIvgBAXRdVAfnJGWopsyorBuuOkfpFfTWBMkM","c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_tinyint":{"c_map_tinyint_1":7, "c_map_tinyint_2":-75, "c_map_tinyint_3":-102, "c_map_tinyint_4":-120, "c_map_tinyint_5":61, "c_map_tinyint_6":56, "c_map_tinyint_7":-108, "c_map_tinyint_8":-5, "c_map_tinyint_9":69, "c_map_tinyint_10":-20},"c_map_date":{"c_map_date_1":"2017-10-18", "c_map_date_2":"2005-08-15", "c_map_date_3":"2004-08-02", "c_map_date_4":"2007-12-02", "c_map_date_5":"2004-08-13", "c_map_date_6":"2016-06-27", "c_map_date_7":"2012-05-05", "c_map_date_8":"2012-08-17", "c_map_date_9":"2006-08-08", "c_map_date_10":"2017-12-12"},"c_boolean":0,"c_largeint":4562778002386611380,"c_date":"2012-09-14","c_array_decimal":[44.0933, 59.1411, 40.1247, 78.1464, 14.0618, 83.1976, 55.0193, 6.0631, 33.1226, 84.0026, 45.1371, 97.1849, 7.1740, 36.0009, 40.0460, 49.1182, 97.0594, 11.1142, 45.0005, 28.1937, 84.1078, 67.0721, 41.1587, 9.0786, 29.0418],"c_map_varchar":{"c_map_varchar_1":"vXrnfUVEuOmUhrTBQWjbgekwpJytIuhEHXuPmZjQXXCqQbrvrTXtfZkwaRPsVEPoTsvWcFfqLFToUZhmLfBfAGmgeeFHqtHMgCWeXzOucJdNAJnCFlMlEvshrqgkRlwvLzcknTAJZLhTGoQIDVwKvpGDmwGygOLgYlWucBtDvwItoBnFurMmSHxZgfRiFsVGaguBNasEduqrwKiIikItTFuBUgrwQpZvJKQavYiTqeFdEgIIrDwJHidbEMAoeNyI", "c_map_varchar_2":"nSkOHkSCFHRWGGplAkyvFgjhuFXoSKrcylSeTcNSVQEfEtfSWIVeOunCqxjjYELNZKsZlmKHZHbPqsypoSrLsxcwgTerXHtDyQYUffpcXwPlEHhtsGAZuZxiqePsasfkwNFQzjrBDFWxDMHUsGIXvsUPDwOenPrEJprjYcifOatzdnlZYyLpWsqnufeDJxqVkuZMOzISqGLhZQlNzGtDNApPiYZxBPHhEvxBDoDoCIdXGggmZbncOugVgCLEejMj", "c_map_varchar_3":"vSpQlXXJpfCQQyMJMETaobHlFkePMbIUxVHNPOIGUyoeJXNDVACaNFgliDSkEaBbeSZbnFwuWNtsdfXoGVshbBJQAideXlVCYISeBAlKLRTDyoIyVToiXoIIwYTNhhnAVxfEfnKEutPHnQEguvOihPWoCyAvCPWahlNFCPGhQPpsiGiwSlsmqVMnDLHfKJvWfaplwMyqmgSWBPNJHJweavkigAhZdXJreLqGXtXAvRqfpNihGCJErErpiCQjJrNp", "c_map_varchar_4":"vyWxHxcYLjQWCSGLrlfBWknrsjkHmBMmmtBiSccFkSObstVjfWPzyqkmFvcDYRPlAJMWWjCZnmZGOYnmlJPeeigSwxddeFQOsJtywiMimiUaniDOgQutXPCuCbtTpBRRXjYtBZVNZjHsSPjwVUNKqemrRtGyhDgVDQBIoGcLJrCEjULMFKUqTWaAceqtzimxvzwuzKlbSciSmYRYIHYSuDIPTyUySkJWVfrslEMpBugfXgKlxQQtZbUTvFteyARV", "c_map_varchar_5":"rUkUtgpsDURWgIxjkSEleKiInbvBQHCsxWQMfgROKQPFvpYKblsSbIBefdqqvZncgjhIyFXZWBKQDfKlYIfXpcPriKvrsAffTMGIsEIeLdGWveGzjSQHJzOPGYoqWoPdJftFApzpOkdcIfXKFoHCzJJRuHKVXqgBfaCqIKdllhxXAHvfLZPmgWfDhKBwGvRuGVsCDPofCzcPwvEJiqHeQNUReabOGkfDONLMMIItSGNYhDLGAQwBJmEwmYojTCNQ", "c_map_varchar_6":"LUBFedZetObyfkdhyfWYqKtgSVQasgfhkshypVuMejytrDwDhMJWFDzaPyoOTORWBriQPZXlULehKKDmlxIBtlPonWYZhNiLwQvQMmUGIVYGVeKtNcXqjucNMUuIUGZqAdWeRIpKOhmRNzAOYuTkMEVSXqlDTqFOFrOKGxrKabcOxCjkANLnCIzYNdybqOyXbJyRxwQSYLtZGlCXxXfarFqkfQNsxMgpzvckdYIAaqrAhKZzlhjJuUdeTifCDXcz", "c_map_varchar_7":"OurXDcXJcpNuWunQvwOeRuFHJjUxVvdkNGppESZPHDLjdOZYXyiKXYFxJugxKdRXQRslRFraFNDrHCyttHlEHOqoOHDWQlFwLBszXQOXYqlVPocpNZGMLQwjmRGbgezDrvGemfQBegoXnGQqQaIEGesYJveFaKZrhxkvOgRYAMjXCIvKNiHnuuAyDfFJUyVEptiIczVjtLVkbJwUduglYUxNugQqexcmmsYcBKudZNxlMgbgNpKBrgEQKHNgEOum", "c_map_varchar_8":"cMOGOhfdCslezLUPYuxlMhoGSRpXjgaAcGKnVDZKnIdxFXtEZseHNmstntIggfwkylcevUzlcDtMaKjcHUFOWcxvFYgzGARTOBMcYqBejcaULtKMzxguFSXgNRJgkQaZMyPLwnIpbLMyQgZMDmjOULjcHIgtQWuTxABaiZjxQjMRbswaPoflPLFzGFOSnVodHhHYtbbqZmlXSsBMLLJrZvMzLgTaBylHjvSAmxiEPGakPToYjDEgGguXgokIzdxq", "c_map_varchar_9":"nghYstRQHVKjmCryfSIYoRPPoOayhYnqMeusVWnrEVhXbwuSPewfjWSvWyAcRVlmdnKbgJcyJKfpYOppLOWBfevlTiwXcCFlOuvNfjqNfOcNWDCQzGLtXTBVSVJKTXoRnWctioeOzSTEsfJvMLfQMfcFNNIfWHpFLPKMPACrQUoHyLPyHrnGfAvzLwTKdOGBmzKWUnVYFpjcNATFcfNGCCzoyVUnGqUDpfKVEMvrJLfAbDvHiVIjoADXBIbzmPUt", "c_map_varchar_10":"DytUEWfhGzWOmXOjHKOmlTlTzDOixtrNXSmzvYalYpTXQKGInQaCLZBEOgbBRExGLsuXkgdCtpckKGycnvitOwILPLUHQMqAsVpbJPlVTgABqMSGiBKWwxJKpGYLbadXmXyAuVMwNzlptTgUGmgFlhenmtEVVLfSvYmAxdBlmJjmAtDdlnFXkTDqYamkPgoROvebpTNZHemWtqAekSeVJqUGvXsSJsRdVmbHcwGAiXyWrfZqVnIwpegueOohcqLX"},"c_varchar":"get","c_ipv4":"34.114.13.237","c_array_double":[41.51247698583264, 5.908088680996653, 86.30586314647023, 49.589623807081246, 3.6934627742503054, 99.52117810487186, 60.77416712226173, 97.48206773530787, 61.479250821796455, 91.33416813781756, 71.82058213112263, 31.506613838994355, 28.919033086893535, 63.23921262346148, 98.18719302632687, 36.81197692989557, 46.5178162368795, 24.540332433537245, 40.42813963041382, 83.22941939095789, 55.0960395473483, 0.23885515734220802, 30.298683159610466, 100.08292026753826, 0.9095164498357574],"c_map_float":{"c_map_float_1":56.055252, "c_map_float_2":96.85373, "c_map_float_3":88.11606, "c_map_float_4":81.09435, "c_map_float_5":24.56209, "c_map_float_6":74.06786, "c_map_float_7":40.402874, "c_map_float_8":27.155373, "c_map_float_9":56.96044, "c_map_float_10":41.422844},"c_map_string":{"c_map_string_1":"OlgtDIdQdJmKPVrdlygeiAlPVhTvZJQDkqMsoGwCTvnqyjnPCTjfKRjTicrSrrcWCZnnJCRoznKHRObTbKZwpwnLdjairPvKoTAXplvjAaNwQLRphqGrsNDufowwbBoZPuRSsImJGSmzfFZmiGePDMUTCveQLxJIkGpJNcRUtmyvFyBEodFWYPrTlJbxzzPQhjzRpuOmLgfOWWRYkTllhrvWCsrgkFzRYdpBHvNvToBjQQqkPMoajTCDfoWUQqCElKRvjDygNYSaAtrPpyLJKRbgqVohFARnXkmtOTZthASKmOkCnBBhqZxwImYaRhKnotxEgwDLayNOnMUDhXfdFXcVTfXFErnHXeDbeBpWOcqfzbAeanzQEgqMQoRjmfvVnKIHUZQyYWRxjKSseXijUihtoDPxQUCbMmmyMwmSvrMFZoAYiPaApratAznJsxDzEreqUMCRBgdmYOyilkxvFjsovcjZcyKlcCuBZKWcgWqjFSLmXylsExMzKCLAVOyo", "c_map_string_2":"OJqAgQwXgamhkATKUfcqNyYToLLFEnYQwUETjEPXjtFUaMfKWZOjwgSSixLjjAGsnDORnqcexsMoTTLmisNiaozYhUoQCIDskNRuofRYXguJdlseGpfqUcJZTmoDlXwbvaOmLmwfckIodbDVkzIfhtltxrWHmBmOuwjYWZLWFknLuARTmnlBKZfcfLHsKBTBwcUxFQJHwpDVqscSqggradRaEnagbZxTkiyLQrdHMQwOCUAjvJOFBOkxMKqmcLaCIhDRyvjlNWmcFIHWvmgpNWswSHzwxCILuYfcENqDpAaYreXbeBPbjVRauKavMEoecYQmXAOkWDJQgehYkqSYIyrKpBlhORaJHRZnGTyRstcymWDUnGkugeNjZIlxCdNdnZKoJoWDsrZPuZMmAYbSzxISdzgPQOlnvDYatQKqSIQDRFOUbuLoJifNatruzRqtEXrZdRxXlDvGxicWpFZGEQCxvDPLzwEreGgyjUrVTwSYQivzMYguJtIVUddJQeVt", "c_map_string_3":"kXohNpeMFdVkEYSpNakwAHUNhkcizNBetspbKTGNGUDtFCGCaAMVrSXWpPjlyCByrSnwOMdJflAubszWEbBPyfCTbwUWpFkwtGmxdOGJiRNZXnJfODArKiLAIZsAJTzvyBQuDqRFvrkqJGfduGarAjgmoEkkoSbHadSnVsbQjVeupaBMiFbynGluKRseizimutqtXegcAYIxDUOcSQEnCrgIAjkUFVOThOLoNzEgpFxqfEXTvkmtwVJRvutfxdGUIcrKKulHXNHkgZHUpwgvkDFHEDgGWmMUdyqKzeFFnJJdRFFrnwKNpQpksbHzrYQvkTahfUAnLxHilCviyZskAdlmHmTeSGZCaAjbMyaNopZPjUIyecTdQOBbpgqRcEgoMlkUOXmqWDDOYwRqkRfOywhRgruNWHqPBrpAGZTvhLOAouPKbSIPThLJnEzrhHURjvkDDsPQSkwCaTARyGFyVQundFvbAhjTugnAwNLDmuNARpmgPIeDJyNtQTxiZNTC", "c_map_string_4":"BgijAVMgiBOStPhuOhPPccJygiuynebsugoyCbmtjCejMVWDaWGsqNwjluhQQEOextIHeCtMnJQIyMlpxpKJkFwchxRxTPmvYdROjmndUViBlISvIEhfRtFzAtBzCohWYuuCtiRfZgcgbQrhhvxtNKkwKCAIkTmRysLCTvWjLKPyfQxbacaoGeIkOIGWTplYsQscGGgugBOAmopCqwtWrniqZqjGYfQALZxIKDrHYPoghlkjQaXBwcLIxsLJmkRIMfZjOssiCmXZByaMrwIHtyQIGhlexrvtNhhQaJHClttsOUZVQvFuPjSQfkfBNHoinzveSfUsImqIrjbxLveSPkvOIrJxOTjQBMivefZyNWMcbGFpFKbcXQyFOywFIdXMSssVOejtigqtSyLKYABGDfAvaThbXvUsZGoDsWaehIavtmBwYpSmSTsHuAqmCqyZcMTIWCisJCjPRkMABdRJJjsaSMhmvrOIqoLEjifcHEOBwyJItAnMkNFTRixEMVvP", "c_map_string_5":"AnXkHcXxFjAbZljlyICRNbzkhGkorXRGDOgOMUOaVtIYTUsFFeawAgehzKjWhRxywAABaENBTnTjxexkRHbjJQsyBrbVLqfdXZhxTXsHKiXYRQeWRzQGJiJbjOtLlLyPArAzkQoUnRFcQHkcXJDQQEsceKNQopqJUnwkisywuPOAwNbtWDmfMIDsAtBUlZvswIKYdMkDCfbjFoCGkEAKQYcpyRVeSUFRxJHtpcdoebKyMfBUrwtOgecZqULVUUYErxXaKQfJSfouEqSETiYZpECfXUglecFWGnmXnxtUybtSMmupWJjiJcqEBhGIJEfrsibQlzPsFPZtqHCNFsGTozErWRwvDpOKcUXiVARjrJhpgNLpetQLXNobsCQeatIOEKGkcjBDUpZWBFnoTVFyLYAiufodKwEQAJrErhXaryrVMWiZiUGlIepoPGfMKxyFksqtMPhpVPIAmTuIcgKWJzXzOzihwcJqcBjsAAlzHKKwLRHWwoRsGoRtgNUguDDz", "c_map_string_6":"fojulQfowSKLeHjmroRgLZffeTZqlnGaaoMaTSjoaKqKLKcQSOjemfldyCUeqUxIGIOIOFTXKRBGRhuXDUYYkzTiYZjfKphMRtzRCCGFMFjUlVeLwgOIxasmmjmzUNLgmxoJIHwdScfGArUPaCCUewjVWiQobWzKMXRGVSQYesPpcDoLjfuNZTyYjVzHYiDBbLSivXSPckwbjCFsqAQooyGPihhddxABHHQGfTLhHLsuqUByzmeiGynjInTBTynaYxESrWlPqQBnDzUjHFOcuCClgUJevneIjRqDbnKBpFMQlQGLZXYlDvmkJQHUYbZXdnVsjwyYUHeMXzBwMuJJIzqOovsTRYnoGLGJxWKrUcBzXvuuQleVmkwHHHtwGhsSOPUfsqNJkfQTNiHZmFEYDTHBmLTJCxUfHSdVniKxWfVnISlgbrrFQUcdDYlZmZXFjENFIoEtmJuNBudghWBzmmtamaTmBxbIKXSFWtpHIiKMjJAwvUHxMGzJUqkzgpxC", "c_map_string_7":"RuxKcygwLUMRAooBrdVPIPkVkmLWGDgPmZKtLeraVkDtbjYiDrgXefwEIjovEakVKnTJfBSClHCsqOlbJzmRLWRhIIeavGGGgfNHjgviHGeANhqQgGuQxMzjFBJyHsgXmDkyDOdrzFrbEDqHdlskikOVcRhvEVGsSWipYfbRZQZFDGRoNoutDsLUjXEfdUHxfIrEHVIcyuuHlMIZdBDjSJQHgieHBmzRhqJAefdaBOiXJUIcVmhDRpUgwuyuohbwYjnLdsGDEWONoplgVuFdtwCXDTZpVRzupoTaXgxmQOELlrfkJVDdamgqOccVTjJdkFnCrTtfBUYzeSgqMnAaHsiiDQCMISXqMVVWNFUwgbqyHHsFxqTZoHbjoHbIYmycfttWCDnHsuJICDpIBznjiwHSefjOjaRhtyjrTEBndofbPvxhLLunBtxNGSxsraRouekbsFDEvQdqqIdRzOqhWmrtOnSoBcsFunjHJSuWsMCQEGGczpHqZBECTtWCahBu", "c_map_string_8":"DUCePyHwWlWEALYrMAPylKHSqZHILGlRXwdZQMDDXGQusOkhdWKMSLYqByAezhPqnzxFABWoUULBaUryblGkmufcLAFHMnrotPfvbzEtMxmtCoZQapYntnZxDxaVhkDxZAMYeYLHOyLxfwkOqEkvBZxzVwEksWkRmDjbEGMntReOLhaoLbeAplnNDZjoqrTiyJZMVvkexzYeFiamjcBMsOEORQBTWjEMgfPgxVKJTzpbxIivzNpzeUkSSapcHXMLWKXtRAlsYnAviXyxQqSgThQYQRoswvQolBTaDXgqSOIhDZuYUZtatfPNPIIZlyarpojWDBjNYkDYRVNZAzwmUZsigIbkNaWcpHYnSjFkXpTUxviOyJfAStFyLvCngursPHJyGvOOtXYMyHIfzezhOuvKBxeOmIQGanziaaEYEMUOOdsvOGSyyeWaJmkaIuxVEmFrHoFWuKMHMMKbDvqEIQjhABZbobqWWhEZEtbmBUeGLgfkQfqFakJitBCgsTzy", "c_map_string_9":"ExloNPzCvWXDHOcmGhdNsVdklQkdLkLkexMmFTVQlVdJGhUVYfYKpkGodGUVOvuqOLVVUYtvLIfpyQTfDhTsLmSwaTwSCeMoDFtiosKIyPWymcMaRIVcahSHjWWfpxzROySDsdAYXSybtjuCcTPQKOmeVXCQcawpTzKyNRpIDsUFyHjPluktBQeIKyTLAyaNoewVtVUfvAXOpZPCPRoayQtYxwirhwNBeoSIVLxHKzNckGyvhJowkJmvmRsRkqeViSEFSyrPbWSAjeIWKOTJeyDVhQgftenhKChphWScKIsKzChBvBvkSEmpTqxHIptDbADWjBGQGJhJLvQVPvuvwByCkvNMQdRuIesvTfxcXHgNkburmGhVmNKvHmjgcNjMWtDvohiAzEVOTPWBRRvhybHLZVlNRUlZeoELgNfPBwpSLzxsphkykGRDIwlZFSEwYCjWnjKvYBGnRijmWOoqCNHQqrUZNoaFwFSbabqyvkrGHlSfcueDYIjkFwuMcFwQ", "c_map_string_10":"RDXBdKYsGZHoIPuBRHhEqfDSFJXBjPJHdEOaiFnurlmPpQikdseIemAhXjOlogYPFepVdxLPNqGxhKagGQvBcwobQnmObActMhXfNhObSmJiBVyNyFpbRfgLBTfywkZRLOXaZxSbrSzqhxKGbUhYewoNOEwKpgQzXuAGBIoXtGroxZJCfkYWNJPsyRceJDJuNrLeLefCYxPYQuCwZYjceLIrgvsgwalaYwLoYGzdaYRfBRBsTYGnAxlSrbALirgZKPZmrkRxayofopezYKwSYgIzFomdWbeQxtZiLjnnUePwZTFvSMAOVZEuPdWNGlKZLVKfZrDdXqRuhJtVJSaEhlscWRqVvTYIERSVdAhIfsJgqwiiFSnJxVQBqNNyEavEYkBEdWyuNyubvwRqlddGgeKJKPnhWphwnISwHPSlGpqIIjwXNmTzkDGzPUnpzTLGCwhUjiomCgWCzcGMyInIHXxeWPMuhLHmcrVSPkvAwDAtdIkGxsrPecucUESEFaLg"},"c_int":-366677710,"c_bigint":-70912160439054206,"c_float":10.383268,"c_datetime":"2000-04-06 01:53:13","c_map_char":{"c_map_char_1":"fHApKdejDE", "c_map_char_2":"YzmxcXSFUM", "c_map_char_3":"sYWTlUiUUb", "c_map_char_4":"bNOatTFiqY", "c_map_char_5":"ejYlvdVzTm", "c_map_char_6":"yAZlDmnNyy", "c_map_char_7":"WXrravqbRl", "c_map_char_8":"pVDqsJljZF", "c_map_char_9":"NlCywCExJy", "c_map_char_10":"DXXQbIAoZo"},"c_array_float":[81.82149, 42.184113, 47.85024, 90.78676, 52.57937, 75.979904, 60.20702, 74.09105, 6.199294, 91.6167, 68.43752, 57.877804, 9.943765, 57.87855, 4.891643, 88.069954, 64.19328, 67.59845, 21.056301, 79.0595, 3.5324457, 12.54843, 53.946938, 27.028528, 82.7052],"c_array_varchar":["rxmOVtxnEJBpTRwhuUDHOGGUsOVbMxhfTZsIyNCIRqRYWfTHMugtzhBgDwKRGZivnSvFawCmVZJQSorxIEBDmcRTUoOxFFDQBqPpokDsfCCkwOOXRtBMJooQxitBqykjyAtYFHggacZtEOPofKiBWaEBXchvJyKTlxPgHgvpjFfyRhxkPffmVzlajguvsTBkPAoWCOyOSjRzlmxSdixmNpYmJaiZOrAQJVADaHohLGhhKwofWTTyBPtvVJMJAYgV", "aPoIftZlQbHMMqzQxOEYSfQWhYKpAsSTdEUKCBsKEaXSqDqJSKzWRiRtSEACTPtXsOuplakLSukuDpqAAaVNEcjMqCnqjAoxCSePtzZWCrwYhfjwrCyyxRskwewYlLOmvOXRqcKJAaaRpBTBXGMxAOYLyMJyZVjfxrHNTybkbZgbHGkEvVUtjgqkiUSxEkCloFmfPFoxuuuWdiGJeKXQDDUbvczFnJbUjoIuUMXRsTeHOnePMygHMGwrcdRLpnhw", "bWkdvCFkmyaaXmfUAFmlXApqDahTFNrBBGtdkKfKDkHGXwCXuVDdWdvHnFWOYZZjEoHHJJjWiPqyseEnZXluwbEydbNRZtMFuLzsNdHXrpfJSMmMICIGBoOEQehdFFfuASndjpxhmMDkbBHjDUpiUqhNsVwOEBTHcVkMGtHEmFcjOEvRBiBGLPDSvSNvtKqcxpCDLGSxAtLvvwMcGrfdNrVCXWDPKeSigpfteWYXqBKHwuyXQrfHtUxLgJTQCaIG", "bSKgSSStcEAabitDyiadKFaxmKdBLDiTXcXvtFNQpShgJLfdBVxpQCVlrNkbTMiHQNsEFEEDPfJtAUvpkopQIasPugbBFwkKKQaIgdNnoiNrlBBpfqqqKBBLNQyLVFcqzRrbjrfJKcKQjlzuNVPkTdcCCaDpTWozSmuNYerHuBlfxEdLYgYuMqanDpxpzIVRkyhxsyvyFrTYViAnoeYkvnJsJJISmqTxPGVNXgXKKduBZQvmUZXXJzFKxodzGIbC", "WMcEFFHEehdDCqknIfaGvZKKfOZcQIZsjhZHlbZOzrRGbYvOihCxcpbugrOShTJbhTIXFZcYwieXdHnocSRQzoMLACPOsPATgnQCknnakDFfglKjhKjTBwuAxPZmzQbsMnVGcOOUIyNtVWDhomohYRfwblBYbVGqOqyQTVavHESYncBUQTTkDroAaVWtDUJyeOWzClqiIFdIkSVomjQPMxqwRWSWMoADzVYDGjinuSItMsycDVahStWJSXDebzAP", "BfiIALyUrHIUaVAiztQLcPqQKKyEXMUaRfzFrmaXxehAFnUjZifSdeXVaRZKkdGIqwKQSsKXzCqfMuCppDhTvkyZjIXeRxQoCdGMwwitpnzgCCUHBavRQaRdIggkNJwrsYGfdAGwGUxoBVqwcnBHSxClYxFglEFNFOsDbJlXpwCUjoGXltExtpXpRhmkQCmTBGkfeiRuojmXHRaGNGdrpJoEBQEIyHOKOvibfIQWHTkIQaaubMcGUyfPrEWEVwjs", "LmwYywNVOolDAHilwQPUSBQiPSAVIUCVHMQgVeSxAkMxiBHPwohMZvRMopoYnIGBezxowgeXWKGkfgGuRYAWCdxjmSpMsJGFSqqiMCZztaeSFnhjtMTwVDhnYWFCmAuVNAxCGwgnLLFhTsNnRPNVAsPDiMLALBGTheyyBmeHqUntkDyGFCXgDROBkLwJpvnREDGQrfdorAjPpDPdFrqrtxKtMbwkEzYiOxdbnaxlRDwhPyZjsjvdRxeaaZqlGqeA", "NZpZKfhxMwqHSsSjcCglpsQXPLEFBhkgOKfJhxRiDKAZcnkdkOtRNnQIebHVdGFhCclRpcYSdncyKxASKLiqqhBXLqpkbtnofsRhxeQiHYbUsGlvxXebCqFYXbverUXByQSrmbyGqJodRknWNpXhyTCOtSYByWRwUkvlHYFVRTxmaofhfQSAUMYSzEGnwbupkYkQGEPJCuEmEZLsGMgPuSCiLjDpImltLofDUKtWsuHgvPiykDubaDXtSloTLmog", "gLgCFibdKrmLozmaTIqCcCRrPyjfFVFneJcfODFvbYyxYkmdeAccUypYjLcUUteyvxXYeGsYFlSaKUwuwvWIZHZYTNMcHbuYmdDCHftdaSYtKiCMJmZjljKSUFgnmpCIerneuqBYCAAresOEcbiZkHBxOAodRmiBnpukgIdlijTPqoJwwtiQdDHtuqTlAJOHSklGwaZRUDnOLpMOHcRDyWlsdcHJSynIINDZGOgLzQzZnlhfTnAmMnWalhFCdNNC", "VxfPELeTNsTtLvvAlbNsgmjyngDzimWbmBiaRYkvtdzzNJGqZpesoAzwQBMDkudbNHcGGYyujNRTcjFxzGAgCsnErdVPDzWnMgYGMjPWVKFAREWxTsLfexpDNCAYDlmPRoWbkyadNYwrUxrYOroiCpfOGUThYMZDykVTZvipOWYrQDlSnfoTRhnWWBdlavBPvAyLbUnXfvFcaUHalXCHesKuWLCJdhLNuiSFuwZhaBwlkccecgXldxpjanWBrDBf", "AKsHhUnoMEXuYlCNFWsFRfHluWAChYuvWunhuFCgRxTWFzIUhEEsHdTVKeXPXBtioWQQJYzQSnLKnUsvsNkEVPPNiAyuVGDdemsQZoJSZIBfXpTPydskROnxxtKosuwGUOvPowKFsqneMMdwCKMPVlePRlkBjNlkuVArjbYlpYlmDTAwolYzKzmZuPXGkiSLOugRuxIpDxMnSuFflAkGHgjCTUzPxSNTSOGEKdRONYCnlyFXraZVpNSUnxLIeNkj", "WQKIoByNnSZAgtlqKwHhntqPTBLPcEpdfCdGfoMZGjmkHwBKHhfyvARiwNGMgKQdrjuziNYWQRdkOQFIdAnGtBZWQhHvjiyNGPWlFVuGwYHgBMVtgBTUijwpgRHfmfSNkCqjSxDfBdLyEGmuQfoiroXyrggbLsFpQAFByDXnegqwPFzCQahmEEgySmIvzsUQPyqFGAzhOBAaBJPZQWaCLFvKoWJuFGXGLgclBhbZpDaGwKnsTBrlBunyEhKxaRkR", "vNGbLtosvIznkeNkSSEYmuNDGGRaVBABkNCoZXarNgqRaUCkXqMVvieIGbEbrRRaPgdXdSsxnNTuwzZbLEZkEkTgUBKPRGuIWIOhWfaklisrLuXtWoMMsaBnYpMZppDIaqAKItVCwkRQLRzzBnHkbgxNRGcLOLYoQrvGOOIHcTXNeXAWeVxkyfTJqTzfabJGTKTyBtsnirGSGjElbLBWpztOULmZYjSJNUshpavRZQgroKZFSeiBJftjUElZvwnB", "jFUzuqbCvoGZhGrRpvMkKwuZWikpNfgjMXioKOcrrzemfaFkCvmhdSjHPRVFyoFqNYmEJDaRGbejvoywcuiIUrYCRWOVfsYqfLUNImIVebIDOjWBpOvODEArArbMCXkLzBHJtrkVExQWqChSDlvyiZaYmtTQGxVstxDEDOOIWDvCyQgdCVkIWjRVwmdWaOpTUuFPQOZGJyWBcYzLPohOaMwASaWjZGeAJXMFibGmEUxEBQJtdfkJIcDSSTCzzSNv", "ywieodEuDDPqkuPIZakeqywgffDCHkZyfLctISOPNQKVyTusIChpwpnIhwRNGWxrpApgrKOPQnQfTUWnAsCLZiwSWOStECHEGsrqfKqmEHSURbmYnfMxezsfPxdBqjpxbMAztSRVAcATbsfXEayNlzDBQSEsfwcXjYfLotrNghINuXWZlSoiDZaTrioZuILCPjBNvcPKFCWnMOexTkYQhTkeLQfOdpoopuOGCEkwnMpNUmxMxqUEVTjDGtslHWpZ", "fDsznFLdvjyDusAEnswKXDfETuoFfZdThuIwywhSuiPYmfdMqxGumZvKXojcBEbXjjZvGtDBNZZLIPSvLGlQaeTEAFOybHZapkvAmUXYDFxOFxwOCzdUMmlXJutmvmoIbqWFoKbFMfHPONTGzUJCUeALfZtPRdoEhFZQfBjdmBSbkRLnydsIMYHVdQkVdtFJpeCZpBUhMpOBYCJxEOfnYdWjIYbYlTMYSSMuwigYpkodEvlPwYgghkGnYpzsymYj", "XnDJcBwsTAckDTUflQBPEEtfbrqaYSUTHsAPDKohEDeCurkjQMhhHuCXZQCeKLhKlzwcCbaidPEXuVrsbldjjVEHZThoCOofyhjdCAAdsCMyjDoUUyhAKcScFQDXWEgarejOOXzJmheMpaZdSVLWlyqLExHEcJdIFgZxqqWfqPvAwNbwFRHXdmGpBekekdFsnwYcqruxmXrFcReuPhiEmsYfMbVvTDdZXuDLXnWiEtaJrGhdPkTxaPaEqMWQTsFz", "uVZTZULTnjvKzeTBwjMqmqTbIIQTxiKOoCYKHxGrJvLGKznoxSigOFpfudNxHTSlCjZLZIcEwxMPLdIkhYNnTtJxzYatWHOIMgCCWrlnXDcJRKwlyNEdBSROtAclrOKTbWyIqqJnqoxrahPIZhYOYTZlWReYLJXTRgeKQvvstaOVbSLqRNNwjNpyOhVKjXEfJIQNkQnGHgQEFHlRrzQqerONuHfDEdBdnMUUwulTfacvvFhsXhSDiGvenTDigdJM", "zdjlqyZPakGtkoCgjmuHeTzlZMDVpaANbAcwSQBLkQxsYCWDYRNudAGJfkiTDLInzjsUcJpLskKIelirjYlPlXqsTfzHMaaomSySiwgxlxvnFmUvJIksTfRjRKJHhDOOkdtJEQzoFrAqAsmeRwNUMIJJDpkpjTxeOZQbkdnUeDheQkevFDEhDsgqDphKUAJmyaDQcGfOVsFEvWeVSNGJKMgjIWTkEzYEpTWRDuMQmRZfdDKwCMbuMUGWxMnrQxbl", "CBKwyxCpxKRETubPmTDKWpuEyGcOzfhQZfrgAOOlJcfoGOuKfGRBKZcyQjemAgSGpwKFPDSxiAnTLVAlswPwwmJqpZmgfFdbAKtDPXetCJPNgDCcbivoTRIKxauWPXMFJTBxxPAFnitWPYSOsYDgQeKwRehSveETGRdNXOjPLVEcwlTJGlkhRuvpocMDFTwjDTsPUxNZqwVoeVvJWrWVVIMuszAdtiPlHTVecvcbWXpTKZPbAZnboRcPtgIEQytk", "QyNdtoGMtaxCeLFJFsfFbOQbrlUMZJDpcyUcvtYsijrMWJdwNvyTgNBvTfyRJBxFyfQdcmdhzVooGpgcdYcjvFcQuUxQNKWXoSxzEbxPevtKZusikHTIvOjdwTGgqQiLsHyVeHtPfqKrMVmYAHmlrxczfdFwotcTpdzGDiZNFKIRhHUpYkopBOzKAWAzZpxlPysMjEOLRnvbooKlzCLpqwwbgXDKMvBnAeChIxzovjFvNKhcdPQmoYswpzoVancz", "IacGyGTlhMWZJXhsvKYlDBJOAtTguWbBOXPDjZOtTyPMjvykRDgCiQanpBbEmAOGzYslWBRLQOzvsHsuxPcPVhwROUIlVKdoYlSTluNmBktuZLpnPxptyNbajjjAYUreBLNkjkrhXbCPaGixmbclhqkHnutSocFOvBYvIDXdKZTiYqaAWTmoUFrtumMgaUjQFeCKPJqQRmsKkDKxZGcnMKlBWjxojJOfcTjtsrNXTklSyLUrCGaseEWnvdZvVvEm", "BkLfGIVGGivZxoytwHOeCEPBugjuiqtEwIEuUoxnXauRoxnsDXjdvMwXZXViHwGokcapwTpmvOGJoVvhyfiYpxEAiQltmCjMeUpPPUShdJKpSIBbaaBEWSVNyZtCZByIOoMWYBXeepzxwUqseLyHuBsSshavkcpPSInNwaIkPgAIikJDEQnRfTcjIRomOxBjtAzvVodEOUdsJbFNSgZPXjUwunXwMnSosxggAuyFTLFppzvpJbeCmOgvYJGTgbTC", "nIUupltfDEMgMhkPoilfzSvIgMtPSipkdIWiNvwTCpKIueYfqQfxlSpwwsGlNDHtqAXfGpmjnPUPriRyUmMqFHLMJrZrFXpeKfjYsuqDtyVbTnJQOVpWUlCvsnwBJSsZKcNvSmFjascYeCGyCWMHJMTZByTwKgGGEjzgrVLYGXocjcwMbfUcxtJYowAgyUCEjMqDIgKCYupyCVXhYdLuZzxlKFSFfPAQzEBuQEWOEPTEqSGXzcdnBOcvqRIhjTgd", "aKXqrIlreMhafjyKuhpiNKOnsQLhiaFtdRPTrTcOWZxdUIigrLiWJMqKedgBZekJLRRIdNtSkxxDKDIJUcCcDcaQWIdaUFjpcTjcXzAHkAJOesuFxxOsaeJkQcTphuSjLtOrHFqJwcSgSydwkmXFyyQjXbZtTafbsLKxsehLHutNETQQiAdJLXYnZnhWfjMmEXuydAefXJqkMZKRDMklOgxKbsEtDMNPRodjgusbAIBxeBAXebFPWzoEtOKwcaVZ"],"c_map_largeint":{"c_map_largeint_1":-2223251323169036799, "c_map_largeint_2":-5605475666573178736, "c_map_largeint_3":-7244290868167911711, "c_map_largeint_4":-7475179954129442306, "c_map_largeint_5":8970831171343941900, "c_map_largeint_6":-1599326885815029423, "c_map_largeint_7":-7017956260410009549, "c_map_largeint_8":-63489519314178912, "c_map_largeint_9":-1523460382221652442, "c_map_largeint_10":-3725455019441720265},"c_smallint":-29718,"c_char":"NeqZtTvUXa","c_ipv6":"41fe:b9b8:fbf1:a1a7:1483:8874:6848:3c28","c_array_int":[858181733, 1706070112, -72047543, 1420302953, -2096111709, 469248499, -1981163985, -1982536166, -2020566294, 1660359809, 142055023, -1421416379, 402103080, 879137939, 326243163, -592989030, -1448626739, -1353893047, -1828275364, 544608655, 152652911, 891967860, -627782462, 241434688, -1478892039],"c_array_bigint":[-6832215783759624967, -5223186342115571056, 3651226524518080650, -7234416203801279479, 4450024929417269611, 4523081594061999994, 4855257337160155117, 3404814178864039871, -1079418823059420736, 7486574746812117212, 6876239922745234163, -3393143159744532726, -3261428380640026378, -643686328345202349, -8911495871392447608, -6176548849284697692, 4649224889908617064, 7585264505247700202, 4883610490538095443, -6659170734398378961, 5560638944994439759, 1839422544489721340, -617941503375888750, -1190735645081947131, 2255656079507923296],"c_map_decimal":{"c_map_decimal_1":72.1842, "c_map_decimal_2":53.1632, "c_map_decimal_3":86.1164, "c_map_decimal_4":89.1277, "c_map_decimal_5":79.0936, "c_map_decimal_6":68.1158, "c_map_decimal_7":61.0474, "c_map_decimal_8":43.1179, "c_map_decimal_9":81.0794, "c_map_decimal_10":68.1040},"c_map_double":{"c_map_double_1":74.25861577238015, "c_map_double_2":37.572624052984885, "c_map_double_3":49.805072479841236, "c_map_double_4":28.216140783518888, "c_map_double_5":45.0921121092493, "c_map_double_6":83.5825872595766, "c_map_double_7":16.996328804887685, "c_map_double_8":53.56084929968279, "c_map_double_9":90.84535639277988, "c_map_double_10":56.01204714493046},"c_map_datetime":{"c_map_datetime_1":"2009-07-23 04:21:41", "c_map_datetime_2":"2017-11-09 15:31:11", "c_map_datetime_3":"2015-06-15 07:01:47", "c_map_datetime_4":"2011-01-28 14:28:29", "c_map_datetime_5":"2000-07-17 17:37:15", "c_map_datetime_6":"2010-07-15 06:32:48", "c_map_datetime_7":"2018-02-08 18:40:38", "c_map_datetime_8":"2011-04-14 09:56:20", "c_map_datetime_9":"2018-08-22 21:51:26", "c_map_datetime_10":"2006-01-07 15:51:31"},"c_json":{"errorobject":{},"name":"Abigayle Langworth","animaltype":"fish","nouncollectivething":"heap","streetsuffix":"fort","moviename":"Heat","uuid":"e51d6675-3cb3-4e8c-aa16-dc6fd223df84","adverbmanner":"rapidly","firstname":"Leonie","cat":"Ukrainian Levkoy","error":{}} }','{ "c_double":56.38326920862653,"c_char":"TTVXRdnXRA","c_varchar":"really","c_string":"ERYLilnYpZcUmNsmnPpoQJXBcOgSZRHHBbZDPBbtLQrJUbGmWCuwYlsacRYbuHbujNmrzXOiaTeoxVsdBlthnnMzXDoYufvaYdKIwYTqmCXVxrFIMXGMsVsFKFcPxJmiTwZcIxIOCdgtTNSqvXvhEEVZCToxdpAaBsGrxrqZPbMVDbLSqnxolQYtakflJjFnrPhDogOjUUjXetGPndChgWpyOmrYPkMQJTkMNEvWXoHbuWhkqGMlzoDXHUcIeeiZqnggKLndDofzgnmOyWXJTbOwfQHVIxZlyuYMYSjLrrrxbGETOctOoTjsteFFcrSzwGrlImLCDqqNAbxgonmTNglMZyIoFtOwQjVtOuEPMcsVxjDdteRwFKkZVKgcOpjYfwTpdKvfZiOUxuksjtTDKVdxaXgbBBxRHFlEVDtLtGTaGzqSHlncMSomvnLVSDSjloUOCwzJbdPfcBTjJywUNLXBcUPvMDfdOgOMDruoKFsTmchtzhGTgxbyezBxAuTv","c_array_int":[-1013403781, -2025884660, -1373727997, 109271600, -1212670039, 1548280993, -203122692, 910428498, -459767934, -614604466, 1804082497, 2084795862, 256296763, 858479788, 226238681, 646020962, 1306689771, 698548224, -961513542, -1399186823, 1177883977, 1996268866, -1175020061, -1455733811, -1716728123],"c_array_bigint":[5275647139708052342, 6247251404407733576, -2204126862883810017, -4355142083042240508, 4821751799675278756, 4589963691838465136, 1879261244651967431, 3892346779168893913, -7455308997559989383, 377038247362295006, -986004451868579582, 3856391772790310197, -988914107345849363, -5412185252869604156, -4281281806094894363, -1545481076429333763, 1518937331812241471, 7144108216323006708, -3483200348379633522, -2603711234538833415, -2443075506464492625, -2773140947569319896, 2633997064381080499, 8053960593092478966, -4969538960451968812],"c_array_largeint":[-4694294988470102271, -9199505847345853293, 7995311463654134776, -7359664761120103624, 5670791974096206149, -7314279386240071169, 5319048450773303137, -723301133150137902, 3697507822695983110, -2074045636839338844, -910087090776482959, -1250924120835189821, 2588830416844763438, -4888056763178200558, -1068288672574429126, -8130560468360465128, -7370061435544638963, 3629622366332087806, -3908050461046107358, 4075034373564103016, 6569557560750657055, -2303736870206619721, 5612718684537544947, 1824203034559042630, 5364106865107835516],"c_array_datetime":["2008-10-11 18:34:49", "2012-11-25 23:33:19", "2018-11-10 08:46:53", "2014-08-20 20:24:46", "2016-08-06 23:03:20", "2005-09-10 22:57:51", "2014-03-03 02:22:01", "2009-03-02 12:29:38", "2001-01-15 20:23:53", "2003-01-20 16:13:28", "2003-12-12 18:51:21", "2012-05-11 20:54:33", "2012-11-02 05:08:34", "2018-10-19 07:20:59", "2005-02-05 04:07:07", "2017-03-11 15:13:33", "2008-12-25 01:39:23", "2018-04-10 22:23:28", "2014-06-04 21:36:14", "2018-01-27 17:57:23", "2003-03-23 20:41:00", "2006-09-25 16:20:23", "2013-06-01 07:08:29", "2007-09-12 20:04:48", "2012-02-16 00:05:00"],"c_array_ipv4":["mntJsSAxZh", "XVThvhYGPy", "CNjZUTLbHQ", "ovJkTRiapA", "oaSheqvYBM", "cIcwAHitOW", "WnaRLHiMNg", "FbgfJEBnjO", "oqtbJbzXZv", "gVfZENCnHX", "EzmeoDbeZO", "tXNxwESmbB", "dvhiWBhIRE", "qmIjByjqbo", "BQKOpLRfeN", "cOtXXDjrPf", "BdyhQflcJq", "ohvSxQBkeB", "AxCEXAInjR", "xDRQAlATom", "VHrgnlPpbP", "JcSwKiKekA", "ypgBFnaIFW", "LsyuNGVnGk", "xHDgmrlXfj"],"c_map_tinyint":{"c_map_tinyint_1":92, "c_map_tinyint_2":123, "c_map_tinyint_3":-67, "c_map_tinyint_4":-127, "c_map_tinyint_5":-31, "c_map_tinyint_6":-125, "c_map_tinyint_7":27, "c_map_tinyint_8":29, "c_map_tinyint_9":-94, "c_map_tinyint_10":-125},"c_map_float":{"c_map_float_1":84.97872, "c_map_float_2":89.52061, "c_map_float_3":4.2464447, "c_map_float_4":24.900747, "c_map_float_5":53.084637, "c_map_float_6":85.06439, "c_map_float_7":94.1811, "c_map_float_8":41.42646, "c_map_float_9":67.67596, "c_map_float_10":8.164782},"c_boolean":1,"c_smallint":-5882,"c_bigint":-8858192274863499887,"c_ipv4":"177.174.190.121","c_array_smallint":[12195, 5919, -7929, 27526, 17273, -22446, -6756, -31241, -28056, 23322, -21538, 26951, 11708, -9426, 27978, 13474, -17254, -26190, 10009, 15944, 27659, 9520, -10544, -8419, -14455],"c_array_decimal":[58.1281, 40.0687, 98.0071, 51.0207, 18.1730, 16.1419, 39.0562, 30.0362, 50.1258, 32.1806, 0.1362, 20.1500, 62.1446, 22.0391, 70.0281, 75.0633, 7.1354, 56.0227, 72.1854, 37.1945, 20.1717, 0.0418, 17.1284, 48.1565, 20.1735],"c_map_double":{"c_map_double_1":7.122651436819635, "c_map_double_2":38.58411437523058, "c_map_double_3":61.65053158696708, "c_map_double_4":28.259346553043734, "c_map_double_5":30.32261217273775, "c_map_double_6":71.36699944626687, "c_map_double_7":29.309406705219693, "c_map_double_8":21.361455335175872, "c_map_double_9":18.113858371998504, "c_map_double_10":2.743636015642512},"c_map_varchar":{"c_map_varchar_1":"tDGGVLhvAJlnRyJaUJkIlRcISCwwmcEdakytXTaoNJnkJgicbIRUZmLXfvUISSAnEnOVGuzMQpWWXMeyYAZozQXFHkDGIdDLYUFMjuaZnjxqHmJWouDybPvxlDSLWqKRNfBwgbnFAjDjpQDmBYCdcgSGOFzZhzZFgLFhUjmzlkxiFETBlQyLUPxTBeVVMEuQnvROfHwtDHdjXnwjdDaDNETzTNLJekHelBPyhNwIRgqhimMKbBBEgtvOSzWcsvgS", "c_map_varchar_2":"oQjXCOSkpGEoFKYQniMeDKeIEpJKgPVvFiIfzENgfClXmGVSAcjlOcUrWHfjjdEYSwxpRcUhNOExgBUqZrWEWDMqRQvSFdoFlDtuhoVCqvdqKvBMxJHJRadRrIALzweOHXRvduNluVBAdOhaCkCPhCuiZeFgGVDPHzkVgwNYKvHDGjBYqSaQnhanpEWrmttjXRqRWtPnWPyPWrjBFNZqSajkwciDYNUnJuMnczkimSKMVyjyAUcnhldPxZwopUUm", "c_map_varchar_3":"LrjNffGqIoeotxldHRyORHlmBpHeDMgoademUHAMUKjUwfqqbfJabBIUNRgnXHHUZvarSduEVaDZmbmHuypJJUkfvyifQDskxKaSAEcEruBzASogwEDvJccMwUVZRKrVHHSWCAmPABlWVsSLzcHrpWTImuOjXqsEZFTRyWDGsUVnbwdeUGKDvzrrTmNSBTAHDbwgpoBuYRyQGROVDEgGDugJFQtzzHRdpvdUBvbmqWYVjdAcAHrMWstaJCQPREEQ", "c_map_varchar_4":"fnQWEOOungaNQYRGiiWTnSEnkFqEtBJALkSzwrcmokuPqnOEVJMhdkChsQEsuBXJkPYMwMyenjdfJhagMliKemeqKjpQFcTNNUyzPuhNnFzZuvLjRTtEVMvtomLdDDFSrgVzwgckPOnQvePhPUkwWgkraMrFlLNTizcsKOTYHNFfyILwocrXHqLVadbtOsqtFfXbIlOarchgYJwejMmbbnKApyBuDPSQzboBuHbzxYqzedXKmaIhtjdpGgofUOaE", "c_map_varchar_5":"tyLLZxDIJXyueakNOZNHYeyLpEAFQMMxjgzfAsMSVylQKysHfDAflTMsDrQtwvgnSkNZDLnheJvWeKfATIRpITeFOLKDYiXUCdSIDBoKlWBMjjEfYhYUxMSEGNZMfLmtxUFyaGaaahGAhubBGPAdbWNQfHnQawCSnOBNciViDsKwpMmJNKgJYsQvjsoiIJxKiTYaqQddqVGiqgoXdhEindLqvbFDjJWTLvQHcsaFLPgXjDYoZqQHNDGAqqXIkohr", "c_map_varchar_6":"rsddvZZBronDQCPHBGtZJTncmNJxOsVSCuRIhOwLmQBOacRtIgltrbrgqXQjRmcTeLABajUacManHdxDHXOsGJBjqBgkcUGhxvXfbuexqnUBfEddqjZHyuxEbwfjxubFwvzkznRKqCNQSDMpNrIDRBRMGWHfuEdXlWsSFwYpuKNqegiEAJlQoUIVgXPzAhDkhuGXausiZsoAuDWLKdlcIumeuKHCSyxJLtrxABvkblmhtwgqDzPyiVwYvXzyjHZN", "c_map_varchar_7":"GkIfJsuNoqtuTgMLVXTKpnTdbCktaGYzhPbXgucSJNDSGIJogdKfllHwoEnMymOldUBVMHwjqFfJQrXuPwlzwaHjLcXvQUCKQPQbppWpMsjGjfnFjDbbWDFlOJtBIwWJFJFymWnLdcmWjCzVKqvUeNXLnSGcmJdCpBoOgCmqPZZCSgtUeOkUmtoFMSTGFvBUIOMuDeXLsIZnFFKwtLkrklyAYosEImjzzobPXrXnUyGlgkgZMqsGgljWIlkdcGJK", "c_map_varchar_8":"SDrZxnDlNMleTnqjUCdmTqbuNGbFeSRlAVZoNsAZhoQpTMLHcWbkailxUKeHzZELPSuxGSvnxjRMZRxhuXeyFtfjvmDYnmNnKLnLTKPrYFraxiTYCxmExkmNJROlqJuAFOPvLGoGZEvSROjrgZPuucekDCGDehrAFWIasNDDRqVRQcQECwrvWgVkGKZtKPCkjzbGZjxnYmjXsJnyDQhKwzuiQLezImxLPsxwikAVveBJvJPtAHEeXSHQDwvFnXUG", "c_map_varchar_9":"qSZROjGqVSlYZEKjXtmMqAqWuQBFxxiOMwvLbKFyFNlZjdjFUKZnmakHSjTsqoQyfjsVrLtZOfUFhQTvBBOUnWoQMYnVmLIHoxuFfWOtVXMaKshnHiawFYSrFvhqipvjZJMcbGcgWZqfqbStLhHxHwcOBhaLfJyyengXdMLlWoVYFrMaOdAivCFKtIxGWJRgpWdQdqDjEpUgiAjbSQCXJVCrBWgBmwMtHSQykpJdtddOynJeNlItoFdgusMvQkXY", "c_map_varchar_10":"cKrVAycyhhXGueLQdcCsfYWndoGsvySTFRizOgKKsgUNOQnxWWyXrdujZMvLZRBhAEtHFCQrrdJOJWkqpYCIrWRUrMLaonvtfqHlydsifrYOWJQEEdeTFhHeDVjPTLdtjOeykRZzorjvJJhosVSvOlgzOUNGOwoQTAhPjraQIhExsjcHBVhDWbTrCUOBuSxHgBifNqzzfoscYONDUFBvhEcgXHsQqQsviBoExpRiFppZzbuQkQhQxbdXArJLcZbr"},"c_float":16.007256,"c_date":"2016-11-28","c_array_double":[17.46262987069942, 8.479451228877423, 37.55961864729977, 53.92924588800137, 42.78338719489497, 19.973183582437148, 74.67346484380347, 35.56207002234982, 17.151359848892692, 10.083436419680865, 16.349586081128923, 11.85803344100286, 82.84231053949729, 37.7338695515068, 52.603233912934975, 37.33996475754905, 14.910470170297792, 7.264864648539935, 3.2207757230415632, 63.36018064529218, 86.94472551560676, 69.08137772492314, 98.30029758720619, 60.94303429575937, 15.318270653859246],"c_array_string":["KfgdtZKbVZPPGxnkLTPAUJENaqaAzJBIdoderlOyrPrlaoYjFRPAJbBMkycMwgiYiwmMgMJUAxZYFCAIFfuNwEvbsUtYxTqUzNbOkbGbVYyXuVAQsUuiaxEMTjPqZHtfQeJHxgWyEEYsfOSBgGJxQRBVvpNbNigLmLgXpSbWMOoZGfWlYAHYipglwXqWDabSizauvDUOoBnBGDENavBPpbIXHFeyTyOYzjVbQFjhxVgGniYqCupSBOALQSErZyOblTiIpdnmEDHuywOLGRTUSLVewdBIuefSloYtRXYuakNToNrfKGjpaONkpcPSuASvbUItTnoHfZTqEaqITqDIbVdXzFbTTOciKocvLxSXnoWRRiIUkhHRZnPqztBsabxCaJUBZEuFsWsTTJLGGeubZUpjKPTHTsmfawyCWSobqmNVIgjoTrdYbYDSLusrnhqXSISxGHBIWkyEHDjGsMFPokyjzFCWJbyoQzsZfbAHmimOIJXLpnNlmQFPWCZtaTEh", "GvlLxVZaUqWPygjEsnKTcrEibwNdzwLNydBJowgPAzMZWSWFYwXlygEIRnYvaLSdIVUnZznnyLYhTjPTbvjAgRaIkaEmAXSvSFFgLUjrvpabJbaOigJXRubuSNcGbbZhuobDGJYhyXAsUCHkNwmFHIkyaTKdVPkUnQFaPqRRjRtyrygPpXFUjOODCDqHnnEeYlkqlPwjyeTOrcUtQivWKtyQoKDisTYjYPwJTqgAjFtoAeMPuSSaYaLcBdCQrDrFtagMhmphOkuttzNNDxBVZNWMRjCTDmoZDaLmqHcWEdkTjKIwVmwHJyLYjvadBDDFXurMiElynfkODJgKpZVDjnEdwaYsyzOfbnrHBKOjaAoCDkQRduICMMVKLpVPvjAkjvLWLUVYpOwHDBKuSgZKrMmdeOBZNTZztEQjKnyMoZLbIibpOjLNFblHNvkubHabJFofrAmRBnTTrsrOxvqNMmIXwnTJYwwEfIMBOwNZnSoBMZMidBJqGzyczFgVkKhB", "BgusgkIHBFXOISXTUavceMfVCUMBvbnUfHvSnBVsBnkDFZyVuVrEJsOSCWcMNxkNECivjtxkiUYyDEBERJCyVcjqhcMNTOKJrYHAJQQnuSHmpaPqLVfqfmEmdLTjhnyDkuSUTZbsHjBKbZgWJjpVSfTWPgkYtzcmLgjrhcOegtlPmKTxKjghZaBWhmQVnXfXFPaWmedLUbQQIBVzHWelKIHFwpMYxVkRVBgvvXWDPgQidtpcXwXcjSIRllnrhzXSrdKehsyZPIliTELfxMucBmMwSPFWrtnaVXQqbkgYQxnfcXOyccXeIMemaocmzrUqAezixTygVfmoziSthrthesMXRqmJqkbJhPXDaevvWrQaiZmrogTFfAplDicchXoTqgkmsEYDDIfkJjLlQpHdWqPYjdlxIoxlgDeOJdTQFiGYdFNOuXDRwBcqoCxGDLPqmPspIsOQECQqZPnRadnBUIZKWYLsSqjxHEYVKfpMCTlFljRjowynNsVUBLerXnnd", "mfnIwRIMwbtKMgoWtRIrgBGlVefNmZBeKgvlQUJxVpohlJMbOYFVIuxWAohTOyRqBkKRhVpzonQWfnfKbDafGeWaqudRuNurLzprftcdYcDfjjAocdePgnabODamqnkSCBTZhfJkZFxTDYoVaSAKrEaanuOAvjhFUdYNTNcTSBHaOHKXJJncMjkSQPnYVmFuYzpkyMecyUMeqqznARHbMdohuZtVYNiQmpjhtusqCdUUcfqTuIcPdFBRwayxucGOqwFXYIQIegMFMfUfHOylVjwQkAmHXMdbWTZDUaaFBiqwgDYlbJTSbPOvxNvQqYNGGofiUgmMfOcpMiXjPpAUgJqBPbYBaENOFzivyQMHMemLrhzdPKHSySmgHlgVpLneZuqjAwKjMEOnHiTBXUbNkfQTBjIIzrlQtoZPYYsQepAMtYhkizDeZBLKaKZNqiroHohwPqjAjfdiqbPxyGFeHrdwailakQKszrPDItXrxDeiuFLxxqkSHhBfnFYdxmAo", "dZblaaqcgwnCHaTIeDAgCTOLUkNlIVQmOplclpWHhQwReCjkZyTOtVFTccUWcWtSjbJdqfiWiWvGsFfXJewfssEUuOvacsmlWHNVHsHLssGxfYOlDUzhQGeqQdDNnoXeakNtbehmQzwnAOBUzrZQpSVMyCiyvYSWWvqGatnUIejeDIqmAqzLnUqalDAcGJhPQpqYbbqmzoqAuGBcGDYjjjQZgeFWOWyGbekiOaWRjlUKrZsOUiFWCyaVNGiqaKexHQvCesldJWhBivLNSnRgGNyVAFEjCppYUrfztBHrQfvTiQtecYiPFdElkbKIwBbLYcmmgNnTZlNmOZWnsVmhpUpEyiwxZTGNdcAGaUveGhiipVzwrpkcvOaYWvfrpLNikKKIEIWWELCtYXMpWGgjPCNPORZNlslfhDkAjmmaebICWrVYpOaTXaHdweORwBqrLcMYFtIZXnJZmkPIjhQSVqViVnXNNENGvfrhXEMlJCEKyUgaasAiDvIQevwbqeFl", "MIbXfInYlXrliKpmABMcknDyolWdXpNhFRSAcXfntoShetXMYuuCyHFlEPKKmEFTBGvgiyeIoxqerbtxqXcPGbCDfdvOGaWHIhMieUBOGMHWCmMdgrtXHuwxrCLLsalhWFXAQjLVsyrjzEJpaGeQXIfsYWdwnGhKORAEgXzQciDGmvXNgzYDIWEtwvBwqIoaMVbvboyDVEmHSMTuwsGQHpYjYvfKfAROwZNsJnmYXeMoVMJlLqFzELyCmRofGrdKFZRQaicjTtbnGjpeuVMYRZIBXYvUtaGuXTexTutqITvFkSwvNBXPFcWsVDBKcWOxzyzaNxPDNehVcfxrzmKkshbXiEDfiRWArOVzgaYixLySFenDJnJTPgBuezAawsTvTyyPCreNOcgfdXFPeFTCiBmVMXwAyDojvazHSjPMsKCCHmgNjodXoNWVdGxhVfDhuLbiwIjxBIxdJVkNafhwTNKHZdDvxiHzbYBInHMpQrjNveXmVwuoiJerzAlGAkJE", "JyKnLIKWYFWOvntlPYoIPfpKivyKXiMxTbjcLZyOoljEEeprlwSYCHPtOlLOLJKevsmwuTGPmvyrRRzNwgYvTqXmsICJIYcSPvGIwJKWWKNYdmtjjKeCbEegTDUCBTixpRcrlUajWEXCGOqLVVQoMpreYfWYuUCiMHiZKApwEJFOAIJHKoIvznWlQfiriZZvqQGuEqJtkrnUnQyijxYPtuQkCQUfFYnVvUwIMCFTfRebJAMyhQbXoNkLCXYebnTqqdrKvjQAYTtmPXIQPwNsLFOilQFNJoIWsNBTzZqaNmGSHQedeKstjlyeByITJzIcwFIfBVPxnWArqOCGMXWeMadYodBIfvSyVVJjlUHjqjKxYmrPPhWpUgHzVsqgEtctQcgxnPnQxKOtUsVjFceTKKEiCyHRMXKEQMNlliQWADLuahPMHOhtLUtKIjaJhbUyEZPNMygoLmsjMBwirwhOXYiTWxgmkEEctCMjMiuxjFbbEinvIvhHzEGAnXEGedXO", "snExvQTQKgekBQuDGgeDFINUoBrwASVOzwrArvWXWOQnmnAvAFKmriMtReJRhjXlEeRtclpbmpNlzxmbRlUnVVlwCjsolTBGKknGwPRGcREgyBhxUDPMnYqpgUkGlHcLTPmVJIcPVDmrAyLAQISABHLedwSBOGTcMkuksEvGEobBQdKkaEHCpiPUmqtCUEkNpmwKebolnUMDnwiaJJxxsLvtVhHAdfpUkPTVKiaaAdcWRXrLQEplltGjahiwtnDcaEcMDBuvXEvsiTaczFpdJSAyzuCfAgVBUYPISBCRlrxDWJJzIJSnzmSRXsicHvIEzLDfRQwMMXqulBeCSEgQQxPNJlHltCjStpJiSvwPjTkPpKiUPLPAlOxRkjQYMASBDjcnrYbBPxDAREBEKzZplDozGDsdevqMxqtFLkkBHzQBnlIKzHGRdjsYWGlGuaQlQeOZcgyfSBjQAKOdHrbHTsEeZQNXBmqhsvCHbsgkwQAEZATjHTfvAqULYwrjTixI", "WForHGPJmBZJmiwDcFijFbaMmVkzMuuxcwqHVnrMuoARzEHVZYUyuKiqhRNSwtmOvPkKurgLHFPsRJofmhJwlzoHfozBuffjbbWvIiFTBnMWAUIsJEXIxZkJzPWgWzWglYCVpXMqpGhnFjzYAFbSkoOoRCDHiusHVbrkTifAScVcwmODIEDNVAAAqvNMhdRRqZmdBmTYsDizmwcWvSijmVnVMexPRjkRlvlJDfybaVUthXxFGuhdBAZHDYDOYRHuUoXzGAIpaRhBUknKGQlnjPYwdgANPQafeXLTnpqYuKltMokSfhMORTiKvhunQOAHhewbSHOpVtVEEVtZfpxGZxeAJJAoWFxVHvJJACHoCibrdLhUCcJTesreZjHhlmuBQESyVUcHWUkfBhLtUCNoXzfbGgKgjiXfPtUzRiVckwyjzgguCarpKToRudFiALqyNiIMHgOHvqQhhEehLItXAaZbnzmsJDilMOnIBHqGZWvsZTRcnMJPFqKLcdvFHZWj", "duJAPxwmTwKAwBvRjzNuUQIXLcQnMEdZUaLsTyLaEyOYyybBrtdPKiBmCAStkRIACOVUAUyiEbNScUKqjUmLVijcQXgKAEwrwBHKaARbpJvbSSIqGYMZSzsnWSUevpMpfdftEsgrPzbvmrTQIXdmZQPHjFXIRjCmYGrlmokUvxyHOlaYimJtOBraiZcPkRxEqRMaCFFyICsUUJnHNWAmaowuUQYQMEHCmnkWItTbHTTGxdKVINWAoWeMUugnCNPuiwFAXfmbIxnaAzdSeirQuyVkcxwUOEPdsjpePBYnTrrnDZTgVwTPqbKMieXJFICqcYKvMxwIrBXbIChFTUJZWBipRCdrkczphoRcqGVXuZuKIwPKnUPMHMjAOLEsRBcUWTyEfhjCBrZWUgrrNlCZWiRdXKMxGOwfZeejmahFsojoeynUaqjfvtWLKnacRDrsSzDpyQKuNWVjqHoLFBfNxlSItvHFLKvpWcbmQasaMnRVvWcMFFiMkBvTGZbFLWpd", "jGOUbALpAXEnsMyHyjnvxHWkLmysLEtFsjZTaNSwvjLQrFxlvoUANJUqJbbCivQWValrNmVvvzVrHzDLoglOYbzaSAVbUUvtoBFvfEkNCvjcQorbTEfoELtemvIdALysdlhqRHluulFODfSiUWDPIchNgSIiPNrVakrIhenmibtdhVGjeQMfmnyixloqENiXENpQwFMUiaiGLUTnKvVgRXuVbVVZeuqOlnNIbYjmXCmyHMqESxTKxIBAyaoMltHRGRvrWXSPqbhAOHimufABjJkvljQydcpVGpFQTLEGHWczjcOtIyluwDoalAdMIrpJgrrojaxJShEjhyNveDzpiRXRRtXnNJOaCbJLqCUAqeVLEsgLOtFlrxysNqZwyggkiTMCfSaJIlkslYXddvnSQIafURMCOQNjHmYRRCbUIzDUUINrAQRpIJVVBsvXhllbwLOLxdDnpWgOjtYgMyStKcSGPXjjQnHJdZRdCbNMtKAATuvkENxPnonzDxwZxuut", "JIrQpDVYHINrNKIKoSQqQifmaQXAXxJmcPxAUlUTcRmKSvWWxdOoUcTLpOOfRhOLoaVCceLwONEgCSGGmkmVyEQxlPqZOeSbzOVMSzAblKldnfikAxneDQYwjCMrDlDJZhZTTGMzxfteMKfYtQpabReigefhLfgtloujloltNbtuASZNOKscrxuayMhNhnKVOtPEeuRXrwPfzTOhKhvHGcVJNrgfuGVMzPSpBrQKIDfBCjzpYqZGEWwvDhzdAjVDDvQlOlmhbSmGgCTYIAPPxPgsuFXmYpWzVbSOIyzhiQuQFVQmhYUMRGGuvsZIjRAaTlSGhnkrwayzRNIlWrJRlVYsMsxrFjItBtJQBpAJFcrDAvKNtlcQgsvSWRsuWXmwukGMFPgIJXaoSdPqfppcptvrcexAJUzwoFqMmuyabOlbEwDQyRSzvGOWNRyYopDarPkEPROuEjHvTzQmMMoNPmjfqaGwtbwrKGRcaqfxdGCiMaLmLeRUqaAhSBRiFthT", "zrfULIKShpJHdMwmJiwjGxqVxgCzyuWUSKVBqqTyimeSfYethxkZypfUiMacpWUSofuEjEndnyxxhZcmMdpKZkCAnggtsFrYYPfkaKGHqkNsTmENRBNkyUZoYBbbobAwlkdCUFieOmtoAhjZukXJvtBOVFeTwXnmJBAQTEAkLzRKWDdbUvoxtQyQrnzprRfrObFuDVnMgddFfUuoYelHaHvUGNLhyybAuQtzHreyLoCxwanQrRDhmfJElwzDRDtZJqluIUwWlKYbKmVnnHBaOfSFfgKLjcdWcdHFXxrrEhYGJTupUMUgOHlqPzXYKIBicNxaWKlKdqFtgClfuBeLYBOsAuKydsUNlQrxMXFedQpVxZPAoZEEIIjYFSjiIvMsSeJJoGbULuwnNzcZdpaZNGKflbGVtmFixNPCjAyvhRFDscljmqAhJMTJXKYIWtrCVxFFhTXVizqDaveTiPYZKeuqYMWviNXusWoukkMmHkdDUYCKaOSgiARCBYsKjodZ", "fDXQaSGgSHNIRZwOhjKVMnQVWelFBXEoXnykWYUxEujVzUiJQAPBEDbYaoPUojEQjjPweVcJXFVnvJddOfOiXQvXoNhXlazinNqWMvUNPZsgyOdORVxyRDjAHeeqDNElGOyjsJbegJUvdOYlfkGNZoalmUOmgirLZLzbelCGyDdJSBbrFBAfGMqQatdPZqmChiYKWavSRvtzttMGguZZXYocilvaEEUyfowetPbCVizQitPdGCPyumrZycUFEPnfOzwFgwlmGlZpOooHjAcPwMcmjdKuWDFlYHiSEOFPhPwuxKcUGeYXTreTZPAjtcSafficFNAXdmRSpmqukWvLSGndObjwgLMFzOYYoYjKPyGOyiOLbdflpzVvqmAuvFJEdQihpHmcnOwhXRIjTeVGPwoOFYBdpKgKVBDQxGCSiKoyfYBDuvXuirluxUiIDJjawRpHFapvPHtfoMVlkPwaWkaVuyQPkErsENavtIvrKiXVMHOTdpARAWUaeYeMsMZZ", "PEyabjgUIRvoXHjIbjCgbpBtEatHtpzikSlNFtXKNbBDtgOTMIkpTvtcXzgEloihBqAoyfOxsvmYicvNIpecpYauRoznuqeDMlILuRAmliHjsUfGGGnvYbKLyjFyxwAwFiFYnrPpyDFpmAgnIRUlBMaBXWWiXXxRAtNeXJYslgzHzmpgJPIFoOEdjfpTpwRsRqMOWwyyRCAioUWDGaxgviTHsdTUTqJrVLCMfFtKmwGMUuOjdMtwJYKGyOPBAQMTFizRCZFJZGofJlBoahXHzABYhRcVFZEkKpgNPRVnuWoEkxVrbhwYODIuXwrzIMoGhLpzOTXervdMlunjIKcCjhIzMaUPsUcwsFuvslGdaqOBxXQRGTJtndKaAfxybqhjCoKvPTJjFhlJFbPNmhNSswmjXrmLbWAXndYuAmTkoJXGAATcIZMPpACaApWurBJemZAunqmocrHgWAWfadDhbIXJdfmfHAgdcrWodfAKoYwuGwBthAYFIJsJOFPtsdIi", "zMGOxcMvCLdHmvWyeDPgWpmxFTueyjsmLIdKdALoRBBQaxXCZwtgIhgPEQQslqWscZtcnibSCrDUhjLnTzvKQDGJhvXWNYkivYBJSSkZwLBQpWeDmmefXrFyMKGjEPmWujQiovhdaFMwqaLplGkyISSLerTGTfiFuWyiGiLqKvTmgtAjEVxiAnccDzYldUyEUPGUZehXAgdBKrBaqOywYzZIFxFrpzxjrwDkZJHmMiYcVcvAGqeXtpOAPfipYQaYcwmzPHCKCPDjxigZCOTbaSJjfUzBSzXJbVAXPIUMaBXqdZZnfTbabvnIjGzcVBvXJLbtcjVktaJijGqJcWEFfBBSqyezmyssktJLxiVaEeNxJBLAPwneZuHDvLmwpJeQqOGqHeqcZTAENVIGVPkDqlDWoIIOefBpgvVsBYikJQdSVUSwfNbFSpdpdvyRjLMQpeYSPRvyHxnXJQTFPvQcYMwgHyCJhKWHFlDMRPxYfqiBrplkVrFVrLqZJoUCLRIU", "JOkFtTRxHbRIeQeEklnISTGCsKnMiXAosnuLCokIeCkbXuWaqYsjPOLKEXzcKikYTCSfYIAsrJWWuocYnSlHQtVTEeaitamSGLPCCZSNauzXLvpcioXQqosCqCsqLTSfJPuWYhMmXJFNgQUlYRtzgaZigUsvJWIajIMxUSVXwHHgAKnoOwcpioDFKKCPIDwGggQzGaaUHIELyDVkHcALHahzNLVFhBnCxkzpEESgGLizXhIDFGKaoaSwtAtTGpZsGgcnVZfOdCemHjoMhTozEQhaEOZoEYAuhOhOtfzfJgRLkyXxizTgGgQLkUrdrgrAKRClSUiXUJlOXBsjJvnUfqVrobNpmwjiBUuJENkMxSwRtqIHYEwzrOsEeYQAIqgFNjrFoujGyrGlpWDbcynaxOmKiwsmlVErIkuwPobBCqMEbNsgRZRbMsdfouZwHhPhnbgdBUAVdTIQvOixBRqWdYWUWWOXkcewhWsablCJGLUKuSTnsPbVOxuYiHzNooBi", "gzVUFnsuKDygnUHYSEdqrNopbalbhtkijYAKBrfwqhlCGhcGwKQBOuAoigefCBLdnXSswrEoDSWMUoNCmatdXgVHSLOFadVKggMyztKLEcmOyJvrtnUzcEXVcvmDLNrOrEwutNRmmMXCORzekXdrwDBtTwRzPAsAEZRdFVXQRyOKVplshPLaptsTbEJbNlHhthaYwAoyasKNcNlAyQLwbpCKVunHFYpCabkZAMSENnVGPfSUinipztoPANtynINfChAZZVKkrnILborsEwOrWOJxubDXiDJoySGKDjkvcUqVkrpYiegnNTyWFmzUwmCgdEYwBrOwSzzhIxkLHENFnFakBVLkPMFdLySxGyitYkoenCRxxGqmOPuQTppnVghTKZTqtbEoSkAqlIORJMxsYhVxzZWUjsrYlMfWySYdbERYRlrJuHtfvzexYjCvJLBjdVrOZVsSKrzWTmuOIpXptqObVctualggfBURAOTXIQiDmKoArqMlRlyjCFPEDTbm", "PlrUktPrELJpJVeHliKKIZzcjQDfRbVAsUgamZcStDbpmPmeSvdUabmAMdRRRwitXAyuXraiNSpsomymXrvGXeAqReNVIGPJEreZkCfgvLSYpHpmvHNnwPmBKNRJzedCjLzeyCZfVkGvpUUJBwWPynDaVAOIsSMvEBqqyvVgOIgtcnFbbYipZurnSrUQYugIBoNXkXZcZKBiNgYLfbdXVzkAoxHZqTlyCcSkXFbRuqXMTZolmROjqJpHdhoQyFDxGftffMkeXTmDupzKauDBuGnzFCQIkyXoiYeDynZGvByVMFGaUGKGQmfLlIVhMVqmKkalVlvSQAXgwGnNDDqfMWexUXpBliWHxhzrFqciSFZvXEzODpwCyQVSuCrwMpWfMrDNKoZNpEbUSBLRLGggYEkzIzrZZXwSIjKbzBLUQEQhzHkhwlYUBSDraPFDcuEkoGwYhmZMqUZrpjOkxTbrgwfthTCjDsCCYmzgleccuhLoFBvxgEZaJKTmxfWOcjeJ", "HMmqGGNetLtPdNMiutgpkKemBdWCmPkUYsvorUOSBjEipIPVjgVhtRIIIDXSVSKBQMbJEKcRPqbhIjqvhBgDgxpPGTkEQMUDSKWdYaDCxwtwSRyhfUpMzeCKzUdcnPGxhiRWtOhbchZCbjszaHEZrAkeRUOpcFjkSDbgOATablVbcIBXqjtKjhOsPdvmYKEikZyXaTzjazhkwpuFOhDlIJJXQAOZhtBjWdcoOfRGFosMyspGILbntmphFJWZVBhrfyqkDwuaoBjZAOxWjBQXBvMPGMNbIbqxfSUFSNTNsCzurnDbIZtAGSXfrvMmXpBNjebdqFcXSjcVoRqTgtoVocestJleWgxqkprUAlJFaoimZlpfxvqhaGMdUylYxkrWqDePulZkjvNoHJdlTMcLWzElUApszSbEucjqNLZXssfCIRJKbPSWFkAOfwVoeVBqGbMOhreUpIAVrIFFMUuKbwyLdGGglZPTrhWLZoMHBQWkiULxgiMMLjZAtTYAjsEo", "XWHiKfToENLOlhbOCDjuynJvNOFSoXKrElzqsxQAueRKJnVXXGyOgyTpEDvcMKwkJsQZYOzykeMhjkKlnlItIYMsYYMnJCoeCalkJhtiGCVZBNUqJdhTGPqnpUPyVFguktchtLXnSlaefKftFwwZZNSLPmCCGDxoCUQxkdgjTtxaNwKlPtEvrbehrNwJmLrDqCkGnrdtYoUpqJCYRVRApdmNapqnxnEXCYcnBnxUTLvQZuHbXfOkyrahOvVIJfmsaWTGXduBRrjvpdOljOcxgXupwDPfqQBXpCDTbrEbUagevktQevQkiCUpbwAJAxDvNjAAHQZCcqwFkPUQnJOHeLJnNscLrMNsCmDPdIRkEfEuPaWYLkZOstYhZKafkPekCgtrLswREXWXQAgfUnDZrjRJmdoFCCucpOObhvJTTxamrfwvRndsYAkRadRwVcyYhYbFkDItdHLXxTpYyXLrQvdShJfRYtcZoaLiGuPoNBBnpKIzteqsSfkNeoVkDaeL", "vJVGoCKEOXIdyBFWpDChEtjrFcNeCqTcPrTTufRJaAVeSnTdCyLxcJDTtOfKjLWQhiXRHXKvLOhhwlvkbkQTqQYWueXTRhecBPSTGBnumQCIRuSKbDktoIoBDrIgtyvnPaGRIbVxaZpGnhUqcDaoupmLcXVkmYEslWjKZNodKVfIymRLbYcnpGkdQZpDKPwRCCKIAiHxQzrpgzNYcTwBywZfcPIEROyTsCIoNAmYrpEaMwcGjVBvTlDfjqopWESdeLidrNUzJPSBkNMzrvfRzkhCtoXoaeWTwkMdZodmFERzKgCakSPKlfuEzdtSUqtVVVeZbVXLoCDbsYFftTHoQviOZkvyaUbvjfPUjiycUyzWqFhsYrVasvlaemdMlJRKiGAbpuoqmQJWmylKagRSienTlZWpUNNthbsjauXbbFvXpsOplWLGZRuvxLmSiQJsoBhNSUMVdpRQsmoBDwLDCgsFqetlBydBdzDMoljlUdVAAfOIIDCbjtuRBSJItwSL", "iWxTjzCeVrIURuneFIRHoyYbafxOUPhFbnxtnsatUYfrJDjjPgGAabwZdWmkzmpSZbeVixhLMcBUXrRnloeBVobDIaiClWlTFYHTvlGcSxYacQmQhcyQcrUsstoCMaySWAjlEVFIXbVEKiLzPQqWKVLSxVJJUQNLCqCPNvuGCQjzISAwXBglhxdZWgQtIYAisyKvkgciIkihXBIhDBJucaIQVJORNajXWHwWGzjEdfvJpWvafRbBYnjdOArYOMkQLAyBHfOYlxgACoxpYuvuSrgKYKvuniHwFIJNqeqpGqLdECTFbAEmRJgJImvZZjVbqLDEubEhaPcCiNGOyjhHhDnGZCpOKNBFEpnekapIYvzMUabmNitkoVMOEScJvmsQfVEqQXQgNRPGUVvAuXxIhMxpJxiRngPFGAGWPirPqBkrBgyZUTCZWTbNvOsDWoTfTLwpGFcthVKlzlZgRkKcenkHDePyJLHyBRZNopMLHsLDzVigjtIbYoCAkLVEgLPV", "DtyUWhuFErfDZMhVwMqjDEDhWVDnQXCezpGxFBDHVHWpoaUGufQbStWGXtZHRuowDwuOltGeTRGGfbaGMIAGGdlBQqdywrtQJbptJyPlHOAxfbCNlGmEsKBYKRLUbVRFjcWlMaqYAFaUIsNZcCXtZYWqWbNYQBVFXKoNsOvyCvZRzyLEaXGqBIlZPLDXwIOmFLBKZvwMxCBNdbNzmgLaTWUBYgjyeNdUCMnjUtSwRVeYZOKziFHjcGDIobXJbTCMDQvqIzjkHcYUpbNUvlZtwTSJykIyjqLDrlAYwopAhSaTgcYknmmTKKfGokatisAAQJnyMGPnWBNhOxSWTRZuPxeAkbJsdmQQzTpEmaHsJFPqDeyYuoFatPIFwTksckxKbHWzbsHKBTnAbWljDPfoQtHSAAbNQaeyUVfUMnDJmspIzztBPAcTUCPMtubpzFXIqXQflOhgsczTxdzphItMVzSNmmKSECCncKHBaDJZSNVMDDfcUWWqCnkJjTpaYRMW", "PuzrLiSgItgTEXklsOngeOpHEDIyIoFnEeCTcKWUCedyzacaeTinpowIsiRDrDqXTIYeqgyXbIGkZkWDdSenJZPSvLxiMtOrqcneAAVXxwtZaHBcXacDvQZtDsBWdbCUUbztsfjgvGftcBtPbxRfGgrPZnNAQSAMapoNKsbAWsXwyTCxiMbgZzUTSwkLeegBfyaoVXJBRiekuAZuMfBuaCvNlHnYPKunMediVSJsfeckmMzLpDpNdqkWNVONoPJDukQnUZTOfBwfYDIuyqYNXcnBOIbPlGhKMjBCdPGcPFbbmKBqiPtQGimXnNNdIVhOepqwdtPPEYpZhFHhXjOUcPYTwOvrCCvBdSgdthHAhgrfxUzOcmChobaIzNaLgdDSTwSplALkHkKkfaGqqfcZYRQKWZMRSOcGNiTBWLfFcTYQXVrwhLhyAceGqdyzedAQAuMmapyukMCyHLTrCvCkJnDoPfkBikyoCYEriSUbHoFtiATAHbDhSAvSQSlRDhNs"],"c_tinyint":-38,"c_datetime":"2004-04-15 08:17:21","c_array_boolean":[1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1],"c_array_tinyint":[70, -41, 66, 0, 14, 72, 108, 123, -118, -24, 95, 95, -73, 73, 120, 99, 40, -85, -40, 124, -83, 116, 120, -13, -2],"c_array_char":["BUSPpXRzDx", "RsXxZNrTDV", "YrDUIgWIoW", "XUVCWxkeUd", "piWyAYbjMa", "fTLHWbACKA", "IBhnnpevFJ", "owVzxuvsxm", "TmJACMWPxf", "WVHgOeVZNa", "pwTzXSAQYZ", "PWvQJFZXuG", "WCXSyqWQqd", "XcUPaIUiNd", "JoZqTifiAC", "LWaqfSIUWn", "itXPKZZaoK", "MxhItzzsrw", "LIqWwCMPzD", "PWlkOGuzzL", "BYGtfXNQkK", "EQtPLstYMt", "AeyDWfddZx", "EAfcuJWcLs", "DXLVywWVGp"],"c_array_varchar":["vPIpksubqKQjueosxgZpMOpbgeEMfNKPvnYrWFKsMkWQmzZYQyVjlDSdZkaDhlIgpqomuyzWYJjFPZCxvZkZUmYMcgIDqVgfBmidNIrclOBtKknIOYdHlhfNBMYnPclTutMumTpDbSIDzfcQIgqrPTeOdSxKczNxZxiAytjKSTPozlfHcAAZbcSDdxLGPLknYpwuPgLwHmMXWDhyfbZWnCXQGKGwfPjqZzhMnmaoSLaMqYSiTElTybpKwfPoJEIx", "ENjaVXlzgOkSRhOLLyctKdQhvWtRFbLnHHCShpxGHELcrSCEMOywCvkPaonLKGnqZgwgCbGgnGBWoQeIuImxWmwuLskXUCqTawGCtRQWcpmwOciCQowRWOwldvWepYubLRYrTUUTwcZsNeBrZVnDyvZwmZtFaOPcUxzSOqNwsmunhbEVUNuIkuRoTvIgIcRmTtshxTwZOGGBFoUcUxJamjbRKQcdooMCGYqJAlfEAfwHVhPLKUSjmebnOTCyNGEy", "zQLRJxAVEcjBsSsViiaVfsVOfpFszRmIeirhqpXMUPoGXNZXiuwPmIdwaSSEYnZVJtUJidTfFbszLFNcyNBBsrVYkGOKyVEAmJphLwZJjFjNJciaEByWTpXBIhmiSZirrkyBtFWPoHyNpCsaoaDeliTjHJpLuiiOGkNLXNdffsSUbyYLoMuhxyzsjPqseMkEMUsmiqNbgDZrgBAAFxgYrUvzFCYYlZRDRVoPiMciSmthmjptKkNPKNYBHdaPuPmy", "LJQBBNWpkJhbbARKnHjLcuZhOPQaAPdhkWppSryJbLGrcKqhSMTtgAnAirmrafNEXrGklxusJwkwxCiOTlNWXOCqeaPJRfNugBKepqNccBQzTpvHVYZQvMOmGHBAFXgYQSiTPWZzHitCuztzmpqYwTdnJIbTXOdHEgESjuJXeGQcHkgGUaYZfZzSaeCQlLvHWOZdPHJPbSDRSDNirURTZfeJKRCLfJPuGZCaTGluAcmxzAAKuSQGGmKnzWCKHzBV", "JQiZsFpXxiEUDszMpguoabIuDmiKOKTkCnpDGTCWvoxSCamXTBPdIHjBbYaWbWbTPLzLxkcXPcDZgYaYFFtqXRCJJlyuGCVHJksRfYoMVnxbOfeLWLUsREvJrJrpUhpciyPWsdHxgBwbjmIBSJnDphtulKUugiHwfCdbGWJyfRIXXvafOYbrfRDCQZXsotKzimuBymgaLUOXNZMfmjqophlHJsmdlirggDhjufYkrtNdXcYSNkxdHUxMXkZLyodr", "vFSZqINcDPLviFbfBdPjVBKgsAYauNokcUMGSWHGcWJoMjgrHlhGCxpwPabNbqMPdkJhcBrOGOQDiSdJLeSwMgzksmwEeehGerNKRkICyKwiCZTLghBPEBZtFoTnvCdgsZwYzFeYjsKDxiZlUfFAxRAAdXUygnfMbJBTKozbtxGzJLnmZRcwtESLDTlBxLeLnwpmVKocQcMRsTNjkdCAUwGyxdTYHbuRnaXLCJTNGmbJJvoIhVNuBUCijdlxVoeq", "TlOVhTPRUKBQnaVzqzTnMTgJgezQeRIucylTXMZiLXfGKbiGCzugGXEXbkmXEJGWAduMNZYUYAqxoaQQGxSurGBIQnXURouBDsMNPtcWCdStaWMqhxDIuOtOiDLULchsmbkzysQQAyjBtcMhxDIwUvtHXaoyqFkesnekKFApghRlulTFNiMpjfvmEIOSzfECqKAunGUsRLOCuGeNMvuZioSxBBiVuCXgGOLvwsKJAunTddawTFkQqBRkeYYbHOOf", "EemNUIcbAhawTpwXLhpZlOuxEuxWRHQoCoCNPjxxipMjRVhXzgGrCwNzlIxHtjKQpVDGjIvDsaDmWCzhhmoiRikVtdsbiqiOEHDsjpaTAuZnCAgxNOljEUrSoyNyAGfWWciKStrmaAYljbNQJBJiDXRmnPoZOdAPjKcZgKAjjWEsPsupPzKXgYQeahnVpPJVsDqlOKfpjyCZnhHsOvxQKhYKNKClrbxuWWmlbLbFhWPEfkPPaQLuBQRQqdJgecIb", "uNykhNojoubyioBCgwRXPtdIhlSeXnddUKxDLFmRTkwSQUjtLJSgLRnRQSouFCbnlyaOWAjtYOqoPxvWuaoGWMDzPdMKaYWzkASCgDOLREVsayjsuHqGkPNrrMmcIITRChdlRwZvBgHXVaJjjKGPRLiNOnpbVnjbhcrcTWORmqvxhLJzXWqsQlsrDJeNbsDHuYHKIlUkFHGQxOidnqqTlgKzJPDDZUWzbDRXMJjEaHYjdKygTHVFVVRtcKfiuCSz", "eUOJXpWhzqcEIExhyFinRWAErBwWgKPZzOYmOiuVVGLFDYmLzAUGFjubcURBGCliKCqebqZFvzUlvBWRQVjFxuxtQzgCOepnMNdwtNKRQGOiUFJYXlQInaDpWxqQhsxbrWnHhDUBpZYJppImkngzvktFSzKuXtNlNiwpeOXICJFKKKTmOiqGMPVSJPMbQeHylaSHZpNBapreuTxYsHbzPjVqwCjSuIbeGpoOxEbfziLhlGyBZwRgznHBeIfQUOmt", "nHVMvPUABORmFvmTPWBKAVHrLhQZEeznIwjWqsAPmNIsPXJIzMSkKTmWCDoPRXcOhpXuNTPXHCCaHMgtAjSituUYDVUWqJliqBRYwspRKiXcOmAdjsKWxljDLWRxzOLEcHzlwoFgxGOYqRWXOBpEUqvyQNUlMmiCXtypAVltrfJVtkjawIUFszkndCIMlDgVFVcWyEePgLaiLnTmbILFmYELPfFWFvHicRhpTiFsjXWIUzcsRHeOaQJBudGvASgT", "WZtUEktGaOFMyIDHdhSxfuoTMIsCPddVKBQbmYlEFoJdjxudDBXZLGgMxVcXkvRLHDWFsqbRyByBXNXExsDIQQCdpFfDPpyYvXqseRNdmhWKoXNXLqCIVHDVvckfxrOjaQKiSsXddjxxdPJPyeTExOVNPbAuJimorHakQEfaoSMSGyHhGCjuwoSPlasjVrRotuQoPvwuLiEMARiuUkZIUTPapQwHbtLEOjwBkkxdBploxvrzKxygbCtGXOWIqvze", "BRPvIdUuXKsVfAuTyhdkOcNRotDbgUWesdDleqXRfjBGtpRxZuMirPYMOOSTTkoIJPyNTPIhTlYWhmMVZvEbdTgJLEFbiSaPSIFrlVplIjCIJlhvioEBgfLIsinLfbgDKUCGuPDhRxDwmfhyuNTvDvntdvwOjmPhidGNPJNkTeuNBGAhtzLqrReUFfHZfEwCRvvRlZhJuSfzaEwXJIfkIkoRAdoGbfWJcdOZdyRHsmWSuBTXpXoUCRRXhfgVQBzW", "kfLbizBXyKnJBAbXNfDoNnscdXojZdIoQIciacwrrNgTSrmoYVFdsUDYFPZhZSHBHMPpRghmEMLVQLKSGUBBRSHVWItFFPhAWafNcjqvDKdSOJTdnAjcmvxdNsaUJMvZIOzMGrUYeQRUuogEZbSIyelVhevvBmuJPVrQZhZklkoeIqpxJSRnKgoYiwWmxeIzSauaqkqRjzAnYsmFEOEWcBNJVIMwbMMpQYVoJaOaUVJeZTqhnALJIIYKWzXzOumH", "NehjWieCElnrHidyoOyVbtyrWRumnAzQUPVtZNSCNWaEEeDHYfKwiTSvkPfOhwVNzVBflxlPFkfUUFCRAbLZoCawctbxuKdpWZXjfarlWAALjswAllmwfudGdQfjQmkuZzxoQRNQsFngFNEcTxhBpVZfKdOLmTsKmqErOoBvgMRdSQYhqjeqfdYcZoqwCDYsRNifdazrTHhaBDOMSKjSyUgKSpFbGYVMADmzKNVCgVcFAsTCDoLrnxIRtnNtXUlR", "WpzMPwbGNdULiRacnmKMAYfVkeUwaZktHMYlQiBQabeMYADaTrtLjETDxGXaRRZVwZWCHgRonCEluZfkZJzkDfbsDmlqapuVZNxfrnCVmkzFXMMvTBnDHwWqYzSknCRhzHJcdGMPoBXhIadxmFxGruqLtgyTLBLyhJlhfvPgCGDWMUiGCiUqkBAqUAiHpCzzInjFjbbrSSQKLTykhVDRdcOuNnsabOpMBLxFvznkPWipholnLNWNitapxZOVGbgj", "WSTNhqzyNHlWtJRNgHRWBsBILdivYyGCHRzeUqROhNNuYDzVwrsQAJSEqGgpLTECIbhRoPnfwCKAbQcrfMSXCGssgnvqvppmdlftsfKnwlGkFTcfzvJUzvyACbIXPBCuoGMFXsYBQQZuDgrRNuNKsZhVjKUyglKthJTIHhcqrgOyrArDsCFcijUWAczHerVKeklVBbJGhzvdrOrbLmBWuuOGtaoUIBkmvzGxfnPmSyZQlBHVvwqGXJErfHDxeniv", "VQblXpbpqePfZZASsPIQLhxwgborgyTSLZaloqExPXICwknosKWQjXGznfCWhJxHzEoBAdtYEnZIwEvmEWhKFpjyBGWKnmpfHgOsxDZTspowcGMBVsbvriWLPBPVrJFZUQbcbijYNvnjoQmotruFkHzdvMWCjeXSUfZbIKuWLhXDMByXoHhGMDrFitPYQEsFzdQvwWEPlocjiPQGIxdMAxTKkCmmEWPclEIMmjAldASPBKVInGCZZLmuXnSFlZlT", "UgVikIygFLQlPnluuieoWvbZNMPrUcFMrZGpljSszgptdwENaQqpRHsjpvPPBiQKxMQLnqilBahIpNGQhdczdSqMzrTHicifGXZlAMkOLakGVkkDTRpnLaFKEeyMojjYTPSemNbqhtkTgWtejPncfQpvdBmzoWtKnXgLJVrOAObdFBudHOtvenVhptiOkjXaxPvBPmBlifBypirAkSRwlGkjdkSGfoekzzNGvUgnqouoCLmyfIyxUARlxRxSgKPR", "VzPLnMbwkPFBFaxLlBDAppCodoNzxbGHtKjLTZlMVRBfkpvmyHJQkmQhYYkuzXezrWmpQyZTWWOZfIKQHsZucDjYjNTnhwAgyAuUxkesDNzQtQKfSSJGYneThwbgkrxjpPJuYCQBoyilbOtvUHVnSJEraXqGqHEsNWWiGTTcAOUtoLyTQDJVSTWSDnfnhwyHGyQdRwSiNImSNuBZrJrkERVXCWrMsXrTqkJQceZMDSpqKrBogDNBoEKPYhnDmaEd", "HrqURgwHwaIkxfJVhwjtxBmMgdJryEJLlDyjLSpklxcGRqaBkEEamngoHCVXVAqoWYYuAlWRtoCgAeqWQJabfVWmQqSWSRiuzhLkcaQPEsTZQxrNvJCCdOSWIgZzPZegqXVERyJOFZwoJztSzZpJLFLqvFMPjbQmglbmguWsmkMrUcbVFWqvZFCbxiXKNWiufntpjBKfgtaBUEcEDyZnkbbOjwbeDhHZHkgUQHsLeFsBNFhukRHHKQGJFiMXpDif", "wahFrtHWwDvZsNzLcavRNyYUloxAQFPHrySIWdgwxFpYTWOtXAzTCJkzkqsZdqqMGLwjXAbjFitrSdPhOQUJciAWcGFkgwLJuTzgEqnZKsjvEmNkTezfTWzwSpsUjBqrdPRVTsaqlBOxyPpStXfiFxkthRznLrAkFsmduadxdgiZpITwPMkvUEfGgQvBxtgvIVFwoNQALkWvMvUmGJJiUAOEFNOihKHPbbZHXGdPVZjaWlgLauLPjFlNERHLFGtG", "yqbXqYvwVvsnZdUHxXPojltIPFhOOkIqKtxaqQSwVhnjCjNlycesDuBJeNGJoCYAxZRSlOsTuICmpjwSLnQKllqOPmTkXRYGjWzucXXJBsNepHoljGJIbfCQbNrbHKcRiCLSGbCjFecUGkFbySdkoopkCBgYsfeNTLPuvdqGpRPyYMVkIwqjcxmOSuMsDkRdilOCaODiYVaBKxiUxETqkOFIRjxgajJLwFVXiSBKUIQdRRPBtpCqTdsoWRCyCWXp", "FIIwkoGQuQirhVUGATeAudCtpsnjJKtvInpWpkdyoVRAlFVWBQMamtOxpvDGfIgNcPFkxtKzmXrQOBuIIhkqGmuCgHTLjbouxrDjLAZPHDPbgVLoUlgnbDcdgcPjodXYTQzpumeQxKziREjrXGqAcXbNBEEcQmjuKyBLLZBfaSznnGZVwvfAdYjcdSfPFaYJwKirzKohngwYODsymFJLyRDdBBhEViBabPdELLTNCQtTxSvUkQDHQWysoeSBjiCV", "RUwFfhuhPskJzAQeROAGvobpkEbGodJJYMeXgVNZsLgIvbzLUETxmDGaEAxheEeWBGYfYOyipIfTDWlVnQTtuxbqVdEqGUoXzjXQjsdUKkCySTRERDEytuNoWtVjsBJpHTsfmFCpavKPZOKukHAXvMWJEmuXePYfhENkVpPxyBsHOSUqilrqzVBWbcKulvofFsxZGMWrpuSqlVokfyDOWQAWBmFmnrITcVAHcnMXHTeYFhTCFUNLmysGSVCtHDoY"],"c_map_int":{"c_map_int_1":1698803179, "c_map_int_2":-2021828676, "c_map_int_3":1342759638, "c_map_int_4":-890319567, "c_map_int_5":-260849090, "c_map_int_6":-103567227, "c_map_int_7":1585029605, "c_map_int_8":1140028736, "c_map_int_9":1084603832, "c_map_int_10":-1080488312},"c_map_string":{"c_map_string_1":"hNOBQkYcUNTVjsOkevCJOgyrfrvqvsDUNiVRJCgYNoBnsZvLkHDVqiKNfetNaDKqqebIsoAXuJYMsnqMDDOIKzlnFqiuUmVlHawOWQnFdnTSmTzwMWozoCDTkZmhqhRgyZhLtclgbtgcrjOIJBSUqkhrVDDoTewrgJICreugTeucLvVTkrJexwJSwNLLPSKFWhClYmNCuEZkopgerVwPUVtfWEgHeAXnMoRtgoJnOwYlJlsXBcobIDPtOiKoprqlcAQoXJqncvKihtEuQtFyqlPBwcpSUrpUdmKTayhtdtIMLLNKSiCoadZOHOXSBhtDhRtMVjJulFekieQiCBRyKmWxsoOgsYRDOPoHujDBJFlMcLnIYmAbzQGKFnSjvkPceEqTxUCLdNkkepuZLnmAejEONkpOUTutmbSxlCOklnuDbOksKfdijtUNLNJIZwLsgsPToJjJGHvhSimCKOSiapUySTOLypWwUKVDypIjMFrrVaGzNUBivFStPWJdWpsK", "c_map_string_2":"SznWXJKRxCJMjwWwJBCFKfpOGubCahIlPIAAlqwwXZNRTKVGyJrrOHyOqyclEJlLwqwWNPCHvNMKqdxOVCHDrTwYdUdOlNIpLkjuMbLpzDideFFTDqQrGQvGMnAhYKSTcuXHlioxFzfmEGxfzTJdalgDUwAhWJVJyyoDqPSkIYGBmeOFbMqpSyKDfEumBsXFIGKEskcDMCRPaOQOtAdsqFHwksldEnIQUNKGZjJKTRUMlhTDALbyjZAXkNywrmGTCokfOrVrdaBwPpuPEvhPwSaUquwBSbTDDZXtWqBjLRpYOQntYEZdNYCZaZhgJzUyAzwicULhaHqLmWGUwWBbOpEbbStuJqgEmZwqCFZYBTdbPlWbWjchhQGDyRYZiqWKkGISbnHAaVoJKAyqAjVZqzUPODFSwuetCehgyAQGROlXWFgsPlZohtmPGpUtwJooguvRvmTIAkZcUJxzadXtmmGbqbBLANDJipNRPYmoWzHOAXXshkudMQocuqoYvsbR", "c_map_string_3":"daFFXiUxgKBpTHCvDfbZqTAQuXhVCWZJnLpuKujUEYSwUVxvjBfurdawuXLuEopjBLFAwCGfwCXexmVMXLTZIYfhuHHUaZjOvzXGNggkagjMXOrNUAMjWPQdTsmWmcGFCmBuHNayumoakzikrbZDDJOwlTwyqZcoPJIpAuegcNlFsVilcJKuZuTGawxlDJmddNplQMWMnTkwPYTCeQFmkzXgBqNlueuDdOEQYMDRaTLdkvvDWTwjkkHpdoXzreeGbLRkpqqdkzuLUjaQQwOKILqgQeWxuwZPhPqduRHZjoUGTxmhXyFHPDxgzwjPZQNsGAoTHLpVUxKcxPpJDkPxmbgQcXxZTIhoqpgqzoSGtXPtNlsqZGIKLsxFOMZgWScTvMVXpQsLHZereAPrDPPfwlrDQrWqwkljZvDljJZGdlFKaLKoBVFaPeKaTIZdkzaOuMnvMxudDOjZgPFwjmGLDMCaPkLWSEOqxjXsHDSoioKuvvZRCfLRaaAlrHLuBmhT", "c_map_string_4":"ZaZhAEQIKmAuAtfTYGlvvmAfVlLSposJDlYjuFbcuQLqLVxCfolSvcUFMXYWpWwMOkWgGQJepWraAMsSKxoSzvcNQIKHQkxaCvJCqnjpuSjkTNwyIDmCcioeSZFvuiIqWMzKxJwvmkQjunNHfqkGLkpKSsfCJHrbtyUmEhnzrcmtJFuiPtTOItbHxEFlJLjWBTGmncxGDcpzBSULYxlYgNWOWKLERvdfNKuNSdVKMWiyyexneGeDMmyflDSWFbaahGxNjpXQTUpaQjOGzkQNKZfxlQmoqDDAlsLDLqjZrinbhpXhvLbbLvscTgbAFCAEGiRmwlaTwrAKtYfGVBoAoDxEklpmpZZmVUtYqPTTafMRbwNHxedFrTbITmXKoZMiyImorbGPGWDenIODiHXVVAueWZiOPapsjhSNdEglMCGNuIUHzgaXYsGVGQbKAWXdIEpFXSRVJpWsvFMaZHwwLlSzhemWsHVdkVhHYlDkwvHQsDRPFQPtDhNeVPMcuiUR", "c_map_string_5":"yKkjEXbBuuNfnNMJjBItIuBPNgAqqQRwolROKWiZxWyWYmGWQzDMGZDtSurJkfNwapnMWcHOxDiLtGXnefjYaETYzOkDtQCDteQdfxIKKcsJibDBpBxQJlNQPVULUsLigNNgCQkuuZFsNeGLBYMqiOLBNdAXuOBGrDGbhcNgXbEJkwTpTlPRFUSvMqUVoAIsLkmoKAWuuvqjTHMFMlvPAgzMQlhVWLJaomMfePqMlfnPakvmBLPYuDczGYEyxIaFsLzPKowQrDgZxTXdviKYDXupxwSXGiJTKGaoFeKdlgNOPZAdjPchQXTcSwRbdQmrVXvKGajIuTkTWWYOsTxbKlXuszhmSpoJtwSyTMzTGHyIFmWqLzeYRaIbDujUnEoNiOLjHaDNfENZPviiodsaVrcnFCTaSejvbbZhVLEDGQHbnDCoIegnwfZlaHWnrwsdsSZNhFelPiyluZiqxQpjJaQzucvaowBzjWZuptFXtxXKvPBfJefXLvXaJHFPYXvI", "c_map_string_6":"eEgfrHLYQSocKLaGkWCPfqcBNdnqatYoccCeKhHWaMClwYChhPFpZYEZYWCdvPLbjTjFxcGBghQGpfEUmYrCBXgtFlkSoIbnYfjDkuxHliteCyZVFQHhXXsgnboOXlaQQPGplABogbDdKehzWXMXcuWvwyQXntTzXzMRlYwIlMxSWEjQFXRxbZoFXHaROSPgYEZtPZvcNCEZFsNtzCbOczvzzEEtMEdyTnpTByXAibXIhFzzPEkyvBohmhmzZXdMgzDfNJINcfHxJaQeKgfAKgFwxfdWlGaUAJYuYAxiljuMcAXafsTIdnxotrCeKgXjwEUKoVORJOFmrErprfsWtyoClbKHqEyNrgPBuocpCgdLxgFsQqwUBxnUbyuuRCxmbfFUeIuHOlCHkSPQDYBDBnFWrTsydnSAeWPxBHhEHJGcjrLKSfVTaDlstEpwAfWqxNBhHciyyZCQOlWhMwlboxVkSOqrQvJGqymMviNzfCYAAkVerRGyuCotXqsBgGTB", "c_map_string_7":"wplFRVRSQjksTOVnGmUCxVgIVkRfeaDPVXBmhkEjdKdRvXhOwHXSgijREOpnqMBcyURsngoAtpffGaUxZERsMFgozusCahVQchCuLsfrBDZclYRUqaudMkVBqitAwyZlVQDKnsGWjSqansnXvNuiwvEbkZTPlQSXYbhnzdTIINAnRWnCddnVMwQXLJHWnYhiTroduXIztHVijDLNOeBFQTdbLkVilnYyiDyPlotCrDVQYVqMAJnHGCGOrOBbVYbuVmcwLahyUfCoubcmbZiHJAEPxoPWdHCQsFimyCDXNXxQSdvJAEbjEsliahuGsYfWPcaLqXxMzakZegZaAjGLXmtcfSZCfTXKcJXPHxIeRNBziixqTBpIJSczPITTVSajthvcWCEVFgbipaEOqaqzOEywNrXVYxVIqHCNJtNhqVpnpYcZuuyoofAzpaoUHQghIrUnMQaAvYlTHjrlGmlByOgKcUWjPfeMIBAwKYEUdfZLTzMTCYAwQUmVuCJLJwPd", "c_map_string_8":"NWqYkGFxTLhESTENMUbngvNCReazfyrBrHZPYjDXTDAGNNfkVCHYVltNRAXpCWElLHtWvSKbSFKHNRiehmGLFHllDDtFmJiejGseATGKNiPEPsOyjlcRziUNsPJYBHWHSDKHvyLcNYggIrDADDDGapaeSdjovWtSmcHFcvJGnZHuwSZmkpuRsAreYGzwIjULjrMwGSlKHKFccMmRoMRpqlblhRCFSAwiknHHDGoAggzkEDboSynMBZCayqwhcRkmkSHHURntxsuZYhdNbEDAtDvoWWfMLwMtGJWvekQYWiVTkOtudoUPqUnJJfZGszkHBSLUJfpLZzLIPhYlAQStIEtqkSxTtyLqctbIDOKmdUjgoekWTYxLdcpATZLFcTWAsnecrxuvigiUKsaWXhlRePrIAGoCdBfzQFWFhRFVdMnOJMnjiVPdxPqJjtPKPdWcailSoXHCInkQauphodWANyDnGlZYhYGaGtDzxeBXpBHqSUsBtMMQgNWLqasCPxrl", "c_map_string_9":"TVABhOaBiVWYzvdizpzaVlUXhakEPeQFSVYiaoKwZbHCjUQxXmodNIqvxgJBUrmdRrAnczsTkjxqhALmlLGBirmpocyAHLmINyYMjqlawsUHnUYnDIIorRPIzYwIebwAixTDlKXPmikGBIsUPZvDsvvvJBjiKUHUrmRHKhzJDesetSIpRZRofukvFwvmHbTLXjkZtQqYLsDSIbKkagGvBEHRyWhpmMDTOBaZJZtUkInESuiRVFvVAYpApbXfHTmXLadsQAdspIkYecdkahialsOsOqTojdwsFIKSDKpBVwxtuaZbCpdZeBbZJCCDGCieZkPNhhlkOAYbTezVsnjwTCGFXkjPNoKRxbmjZPKucekBbQrEqeTaXLtKBzZYniUsuPvmKTwSmVAIpnFGlARhUEvciPXeTFvFIlIBtraNsdcacrjZwnbMcOztMZqqBLfjBRrAOidaGjfgrlfAgHOThprOyvrziiLPEKVwZQaqRqiVGhroOVLiZyZNlWcHARJc", "c_map_string_10":"SmvrTfEuJEsGpQVQHZFqQmqnULmFaQJUiOlGwDATxMofEfxdlKrUZSeofbJYNwdPTTtzPwHOiTOtVheAUCQIPXptVVzVcxrXoRraQwRwwhtAeGkMhCkoviRgpkUZvaQuWiBteLCDRAseTcYxodKkTgNLLCpiSBLJcWRrbpoLbmXtvdUPsvJYuiIeITizwJqyeennxxOIQoKzGelIPACfQvlmUcxjolYwkvpZFkbiusKcyAeGCVKirAqaNvMwFpxPbjhDKSkdlEFUysjBYJxCgOGnalTndnNRkYZBZLnBPivdtPSPHScGxWWABBknXQmydVYBYOhWAgtwRefxAHJuRhjVpZODdFObsGzJxIxUyuoaWvVWWPpRRgxHTjBRIlGzmuhyGnqlWraEmfFjyYcBYRDrxkqRTRhLboMcaBFXalSDKzIsaHxLsdyGGZGUPyBBlBWpkylQUudPypMNaHOnwCEWSckGdsyOeAmNNLuJlCmSCxtKHINUVXYezGoJRXci"},"c_map_datetime":{"c_map_datetime_1":"2004-12-16 11:31:45", "c_map_datetime_2":"2013-10-03 22:00:01", "c_map_datetime_3":"2013-12-16 04:31:40", "c_map_datetime_4":"2011-10-05 10:50:11", "c_map_datetime_5":"2009-06-10 07:09:14", "c_map_datetime_6":"2000-11-06 08:56:17", "c_map_datetime_7":"2018-03-06 11:33:32", "c_map_datetime_8":"2013-06-16 04:09:49", "c_map_datetime_9":"2017-07-24 11:00:26", "c_map_datetime_10":"2002-07-14 16:04:20"},"c_int":2115573097,"c_ipv6":"6334:f33e:8e4a:db44:e11f:67e8:828:e6f8","c_array_float":[63.375896, 35.905914, 28.90536, 10.110885, 62.345474, 36.504128, 25.54895, 47.482834, 60.07335, 0.3249287, 19.694506, 87.902176, 81.07434, 89.07117, 25.81737, 68.28391, 32.473873, 32.893463, 18.269844, 12.186093, 34.37301, 81.89628, 29.426617, 80.338455, 51.993164],"c_array_date":["2015-04-02", "2005-10-17", "2006-01-08", "2009-10-17", "2016-12-25", "2016-03-28", "2018-08-03", "2017-04-04", "2007-01-05", "2006-06-05", "2002-05-08", "2016-06-28", "2011-05-05", "2009-04-25", "2004-04-13", "2007-03-27", "2006-05-02", "2010-03-20", "2006-03-06", "2003-11-17", "2012-01-08", "2002-08-20", "2014-12-16", "2015-01-17", "2010-09-10"],"c_map_smallint":{"c_map_smallint_1":31508, "c_map_smallint_2":-26778, "c_map_smallint_3":-25818, "c_map_smallint_4":-9915, "c_map_smallint_5":-3047, "c_map_smallint_6":-12147, "c_map_smallint_7":-28989, "c_map_smallint_8":10405, "c_map_smallint_9":21619, "c_map_smallint_10":3821},"c_map_largeint":{"c_map_largeint_1":3273244218127213534, "c_map_largeint_2":7097407131501215295, "c_map_largeint_3":-5417571031136587197, "c_map_largeint_4":-3565752291590005143, "c_map_largeint_5":-7851774652884066657, "c_map_largeint_6":3664323811203213598, "c_map_largeint_7":2565327021094903594, "c_map_largeint_8":3271029983798873760, "c_map_largeint_9":-3970264481399465950, "c_map_largeint_10":5614190486918983436},"c_largeint":-1456237413597838068,"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_bigint":{"c_map_bigint_1":-7841240793252171798, "c_map_bigint_2":-8948413290261976850, "c_map_bigint_3":-630024175518643541, "c_map_bigint_4":5838062187350215085, "c_map_bigint_5":1395368488934842228, "c_map_bigint_6":-4241272627168533910, "c_map_bigint_7":1020382764093818468, "c_map_bigint_8":7939841807405743527, "c_map_bigint_9":6932288632201952869, "c_map_bigint_10":-5418335252273667236},"c_map_decimal":{"c_map_decimal_1":58.0602, "c_map_decimal_2":43.0440, "c_map_decimal_3":19.1759, "c_map_decimal_4":42.0436, "c_map_decimal_5":12.1529, "c_map_decimal_6":29.0672, "c_map_decimal_7":43.1887, "c_map_decimal_8":63.1099, "c_map_decimal_9":60.0653, "c_map_decimal_10":80.1490},"c_map_date":{"c_map_date_1":"2011-12-16", "c_map_date_2":"2015-10-02", "c_map_date_3":"2013-05-25", "c_map_date_4":"2006-10-22", "c_map_date_5":"2003-10-02", "c_map_date_6":"2003-09-27", "c_map_date_7":"2019-06-10", "c_map_date_8":"2012-11-28", "c_map_date_9":"2019-12-25", "c_map_date_10":"2009-04-05"},"c_map_ipv4":{"c_map_ipv4_1":"196.222.58.68", "c_map_ipv4_2":"46.12.229.10", "c_map_ipv4_3":"143.40.49.127", "c_map_ipv4_4":"15.187.53.144", "c_map_ipv4_5":"145.33.81.188", "c_map_ipv4_6":"184.112.103.56", "c_map_ipv4_7":"3.186.160.197", "c_map_ipv4_8":"255.194.161.114", "c_map_ipv4_9":"29.16.61.80", "c_map_ipv4_10":"212.139.52.177"},"c_decimal":95.1891,"c_array_ipv6":["cfCxLLoVzK", "BjBvxQsXSA", "sZUDfvJdxv", "OmbfNfFHPc", "EwSUFrLPzy", "LmhbcPCpbL", "btLVZfOpkD", "gGlhWgQKGW", "SLPSWtrIWg", "KWDNEhwnEg", "NKfonmNiDG", "pVQytZTMvo", "tTzKgjzaZj", "TctVmLZEVl", "bjuyjjxTcF", "ZeHWcLKfmp", "mguikrQxUM", "YfUoOjcyzc", "tzScRINLzr", "OBjeOKSdvA", "qRQpkaEtTQ", "YAKVrSgzWz", "PETdFWdABp", "riVMQWCtMV", "bSgLpAWIah"],"c_map_char":{"c_map_char_1":"DsuzSUPohL", "c_map_char_2":"UlhlJtAAFV", "c_map_char_3":"uZbvxnXAkk", "c_map_char_4":"LfaudHJXdO", "c_map_char_5":"eFOOhHDBLI", "c_map_char_6":"bAuRkNMPRn", "c_map_char_7":"NlFYqROmBA", "c_map_char_8":"icpswgOdVo", "c_map_char_9":"HummZaZEAB", "c_map_char_10":"khKDHvAlUr"},"c_map_ipv6":{"c_map_ipv6_1":"10ef:f7d1:1b64:cd4f:f095:5f8:e39f:4ee1", "c_map_ipv6_2":"6106:b217:96ce:e93e:555d:df24:a0df:596a", "c_map_ipv6_3":"959c:b38d:8d8a:2eff:a0b4:ffa2:a823:5bc8", "c_map_ipv6_4":"ab22:4309:a9ba:1a49:f656:d4b9:2367:4a0e", "c_map_ipv6_5":"5469:7d90:7fb8:369:5899:9d99:7bde:5336", "c_map_ipv6_6":"8d60:5209:edad:6374:374b:aafa:f1:d8bf", "c_map_ipv6_7":"5c97:1650:c108:964c:6e1c:731f:6182:19b0", "c_map_ipv6_8":"f97d:c92a:78a5:7335:8f75:4112:761a:e103", "c_map_ipv6_9":"67a5:9dd3:1f9c:bfc7:8d93:76cf:c77a:99b6", "c_map_ipv6_10":"ecf3:1bae:50f9:812e:1364:de02:f25f:db7d"},"c_json":{"macaddress":"da:43:9b:6e:fb:56"} }'),(4,true,true,53,-37,1,26,-25605,13116,-27388,-32768,-2127230714,-312551021,147483648,1241485336,32679,-3771173,245,32679,147483648,1477414556,100.02,34.32756,300.343,40.123,5.0588,null,44.1214,300.343,40.0082,40.123,26.1417,300.343,40.123,80.1622,300.343,300.343,40.123,57.1516,100.02,73.1755,31.1783,null,57.1873,300.343,77.1295,300.343,100.02,66.0535,null,null,27.0482,100.02,{false:true, true:null, null:null},{false:false, null:false, true:null},{15:-128, 20:127, 38:1, -31:null, -128:127, -52:-68, 0:0, 33:127},{0:0, 1:1, -58:null, 127:0, 9:-128, -93:0, -128:8, 10:null},{9144:-19059, -17090:-32768, -22654:-32768, -10421:-15976, 11446:0, 12124:245, 3040:null, -20987:2421, -14952:-32768, 245:-14624},{-726:-9991, 245:-12372, -29932:-32768, 26619:12269, -2498:-32768, null:6941, -21046:null, 282:0},{32679:1489623715, 1213452007:593442501, -2147483648:1576904343, 147483648:-2147483648, -614517809:-1011776387, -158851561:-549307214, -1883981188:2147483647, 2147483647:2147483647},{-876131671:2147483647, -1465614587:0, -2147483648:0, 0:null, 147483648:2147483647, 2147483647:-1469089190, -171300316:2147483647, 32679:-2147483648, 607902227:723482254},{147483648:-2008969, 1:7607179553839627413, 5:null, 5315011506682210885:245, 8398076284816438938:-7816612622277154816, 4364856:245, -7500053505126996357:2025996, 13408:4, -8593:147483648, 32679:1219347},{6789683286821946139:1, 169316359113571868:null, null:147483648, 147483648:300.343, 1:20240803, 5681264:1, 32679:300.343, 245:6, 2614316:7172779, 2540857899066863097:32679},{147483648:147483648, 245:1442369413, -428093344652870560:8796778519358858109, -22164025:0, -1684510:147483648, 0:1},{1:-5703514941621968179, -1280573:-9223372036854775808, 7205243605852171592:-3761209688838409976, 0:32679, 147483648:147483648, 32679:1293482, 9223372036854775807:0, null:3474816943687990704, -1377706475:32679},{32.528206:40.123, 23.35598:40.123, 100.02:null, 300.343:40.123, 85.32747:47.673634, 57.846607:40.123, 69.04056:40.123, 40.123:18.830984},{40.123:40.123, 3.4612637:100.02, 92.419136:13.251877, 50.890938:16.48578, 61.30164:7.487936, null:null, 100.02:77.014755, 79.1442:21.0167, 21.547516:66.092926},{90.91234027770369:73.37623225299362, 12.001846166508871:17.86772536171694, 300.343:40.123, 83.4346635214136:100.02, 100.02:100.02, 93.45192521204686:59.90423177815545, 68.12984926141561:40.123, 40.123:36.33998014543607, 99.21214385804637:null, 73.02709507828334:98.05378225652069},{null:80.76495076972178, 52.52620563914:95.9154111551502, 100.02:null, 2.681827113326803:20.63934449140294, 53.80508397289658:98.27580569903415, 1.093575753065224:100.02, 30.230528536729096:19.377916820937283, 300.343:300.343, 28.044402285843574:45.534803686263444},{40.123:'here', 100.02:null, 45.0218:'would', null:"1", 14.0467:"300.343", 300.343:"2024-07-01", 41.0582:'there'},{17.0613:"300.343", null:'now', 100.02:"2024-08-03 13:08:30", 300.343:'w', 82.0335:"9999-12-31 23:59:59", 46.1100:null, 40.123:"300.343"},{null:"2024-08-03 13:08:30", 31.1276:'t', 100.02:'can', 300.343:'it', 34.0442:"20240803", 40.123:'c', 8.1585:null},{22.0832:'my', null:"1", 100.02:"20240803", 300.343:'z', 40.123:"2024-08-03 13:08:30", 36.1123:"20240803"},{25.1238:"300.343", 300.343:"2024-07-01", 96.1802:"20240803", 22.0713:"1", 23.0626:'y', 40.123:'but', 27.0257:'the', 22.1216:"2024-07-01", 30.1640:'with'},{null:"0", 59.0398:"1", 40.123:null, 300.343:"9999-12-31 23:59:59", 2.0723:"9999-12-31 23:59:59", 7.0014:"2024-07-01"},{61.0659:"0", 100.02:"20240803", 40.123:"300.343", 63.0585:"9999-12-31 23:59:59", 40.1323:"2024-08-03 13:08:30", 300.343:"0", 10.1499:"9999-12-31 23:59:59", 43.1554:"2024-07-01", 96.1412:'w'},{40.123:"20240803", 100.02:'n', 79.0313:"2024-07-01", 26.1637:"300.343", 27.0612:'okay', 45.0304:'x', 60.1225:'f'},{33.1244:"1", 43.1643:"2024-07-01", 45.1197:'one', 26.1255:"0", 300.343:"9999-12-31 23:59:59", 100.02:"0", 40.123:"2024-07-01", 57.0740:'c', 89.0361:"0"},{3.1851:'o', 300.343:'o', 40.123:"1", 100.02:'do', 47.1532:'j', 22.0511:"0", 82.1018:"1", 51.1138:"300.343"},{300.343:"300.343", null:"9999-12-31 23:59:59", 44.0547:'t', 65.1014:'k', 100.02:"2024-07-01", 40.123:"2024-08-03 13:08:30"},{null:'k', 300.343:"1", 40.123:"0", 18.1883:'f', 94.1390:"20240803", 73.1164:'t', 31.0832:'s', 40.0523:'with'},{85.1343:"2024-08-03 13:08:30", 85.0629:'k', 100.02:'t', null:"0", 53.1880:"2024-07-01", 300.343:'p', 19.1086:'one'},{98.0086:"0", 8.1437:'because', 83.0682:'v', 88.1231:"9999-12-31 23:59:59", 5.1020:'h', 300.343:null, 40.123:"300.343", null:'you''re'},{"2024-07-01":true, 'c':true, 'the':false, 'back':null, "1":null, 'b':null, "20240803":null, "2024-08-03 13:08:30":true, "0":null},{'was':false, 'I''m':true, 'z':false, "9999-12-31 23:59:59":false, 'r':false, "300.343":false, "0":true, 'i':false, null:false, 'a':false},{"20240803":44, "300.343":127, null:23, 'i':-128, "9999-12-31 23:59:59":1, 'q':1, "1":33},{'w':0, 'come':0, 'will':0, 'f':40, "2024-07-01":1, 'I''ll':null, "9999-12-31 23:59:59":-27, 's':0, null:null, 'from':-77},{"9999-12-31 23:59:59":0, "0":-13451, 'time':15482, "20240803":18572, null:null},{'back':-22810, "300.343":32767, "20240803":245, null:-19923, 'g':-26933, 'n':2478, "1":-17542, "0":25151, "2024-07-01":32767},{"300.343":2147483647, 'n':0, "20240803":2147483647, 's':-138607180, "2024-08-03 13:08:30":1143725065, 'w':2147483647, 'out':147483648, 'm':null, null:147483648},{'o':null, 'have':1994758726, 'z':null, null:639011913, 'been':-703048235, 'r':147483648, 'they':null, 'here':-1176175418, 'p':-1239164509, "300.343":415692330},{'n':4, 'b':245, 'the':20240803, "0":32679, "2024-08-03 13:08:30":1, "1":18366, null:20, 'a':5, 'had':245},{"2024-07-01":2857366, 'a':null, 'who':-18635, 'n':1, null:4710439251117223098, "300.343":147483648, "20240803":2763118, "2024-08-03 13:08:30":-10278, 'c':-5519},{"300.343":6992484, 'x':-9223372036854775808, "2024-07-01":245, 'g':-18308232046481838, "9999-12-31 23:59:59":1, 'q':-9223372036854775808, "20240803":32679, 'that''s':3244233, 'y':9223372036854775807},{"1":245, 'think':-1754249886, 'l':6298922993555451594, 'are':32679, 'f':-6739287512305398863, "2024-08-03 13:08:30":-2259349124603718721, 'say':147483648, 'we':378516246, 'some':0},{"2024-07-01":44.010685, "0":2.4754803, null:100.02, "20240803":null, 'i':7.512604, "2024-08-03 13:08:30":77.71927, 300.343:67.82671, "9999-12-31 23:59:59":71.34286, 'q':40.123, 'I''m':97.11921},{'here':78.699745, "20240803":100.02, "1":33.838646, 'p':57.524326, 'oh':86.513885, 'tell':76.73839, 'when':300.343, 'her':100.02},{'c':45.730324836441156, 'know':88.83830969257131, "2024-08-03 13:08:30":40.123, null:40.68671553656324, "9999-12-31 23:59:59":null, 'p':44.72908408450313, 'd':300.343, 'as':1.6944841972884352},{"1":71.92942006221209, 'c':3.800266527326766, 'go':null, null:null, "9999-12-31 23:59:59":null, 'y':50.45414341235128, "0":50.85522445492053, 'z':97.91361275879623},{300.343:20.1464, 'her':300.343, "20240803":null, "0":100.02, "9999-12-31 23:59:59":null, null:85.0287},{"2024-08-03 13:08:30":100.02, 'm':84.1344, 300.343:100.02, null:57.1396, "1":41.0276, "20240803":300.343, 'can''t':100.02},{'really':null, "2024-07-01":100.02, "20240803":51.0426, "9999-12-31 23:59:59":73.0411, 's':null, "300.343":96.1218, 'x':40.123, "2024-08-03 13:08:30":100.02},{'l':300.343, "300.343":100.02, 'c':40.123, 'there':100.02, 'when':40.123, 'y':300.343, 'want':76.0444, "9999-12-31 23:59:59":40.123},{'2002-05-12':true, '2005-12-06':false, '2007-06-26':true, "2023-01-15 08:32:59":false, "2024-07-01":false, "2024-06-30 12:01:02":null, '2013-03-02 10:09:32':false, "2014-08-12":null},{'2011-07-25 03:11:51':true, "2024-06-30 12:01:02":false, '2018-08-14':true, '2019-05-09':null, '2007-03-19 00:54:07':null, "2024-07-01":false, "9999-12-31 23:59:59":true, null:null, "9999-12-31":true},{'2014-04-25 18:29:10':null, "9999-12-31 23:59:59":null, '2014-04-01 20:28:36':5, '2000-02-22':127, "9999-12-31":1, '2018-02-20':null, '2014-06-04 16:16:36':-67, '2014-06-18 14:27:12':null, "2023-01-15 08:32:59":0, '2009-06-13':0},{"2024-06-30 12:01:02":-5, "9999-12-31":0, '2007-03-02':null, "2024-08-03 13:08:30":1, '2006-07-09 07:27:29':1, '2001-02-12 20:13:29':9, '2000-05-05':1, "2024-07-01":null, '2011-10-20':null, null:-58},{'2005-08-20':20915, "2023-01-15 08:32:59":32308, "2014-08-12":-23505, '2001-10-25 17:22:45':null, "9999-12-31 23:59:59":-30188, "9999-12-31":29545, "2024-08-03 13:08:30":-32768},{null:13075, "9999-12-31 23:59:59":245, "2024-08-03 13:08:30":-32768, '2004-05-25 17:38:46':-4605, "2024-07-01":30328, "2024-06-30 12:01:02":17797, '2004-09-20':22736},{"2023-01-15 08:32:59":1879692656, "2024-06-30 12:01:02":-1256634975, '2006-10-08':1227069684, "9999-12-31":32679, "2024-07-01":null, "2014-08-12":-1154491503},{"2023-01-15 08:32:59":1928192519, '2011-10-06 10:20:38':282931232, "2024-08-03 13:08:30":32679, "2024-06-30 12:01:02":1724930126, '2016-08-17 10:22:52':-39130684, null:32679, "9999-12-31 23:59:59":2147483647, '2012-10-02':147483648, '2006-11-21':-1544394969},{'2007-10-25 05:53:05':-996699949381151023, '2015-08-24':300.343, "9999-12-31":-1146638, '2012-08-19 02:29:07':32679, '2016-12-24 20:44:05':20240803, "2014-08-12":300.343, "9999-12-31 23:59:59":-3792425369646078024, '2016-08-28':20240803, "2023-01-15 08:32:59":5},{"9999-12-31":6252181, "2014-08-12":300.343, '2019-03-17':245, '2011-05-02':-21497, '2013-01-02':1, "2024-07-01":245, "2024-08-03 13:08:30":-4969580995276351431, "2023-01-15 08:32:59":20240803},{'2005-03-17 23:26:42':1, '2017-02-16':6050925928308939864, '2008-03-26 19:19:57':-2733773066013666455, "9999-12-31":-9223372036854775808, "2024-08-03 13:08:30":null, "9999-12-31 23:59:59":null, '2013-08-12 22:43:45':147483648, '2019-04-23 20:32:46':1, '2000-05-06 06:05:40':32679, "2024-06-30 12:01:02":-5702293313912588784},{null:-2508426912084871313, "9999-12-31 23:59:59":147483648, "2024-08-03 13:08:30":32679, '2018-09-03 14:20:39':0, "2014-08-12":7280471725252323816, '2006-11-23':32679, "2024-07-01":147483648},{'2018-12-12 10:01:34':40.562016, "2023-01-15 08:32:59":40.123, null:40.123, '2009-05-02 16:01:24':55.57791, "9999-12-31":100.02, '2014-03-08 16:56:23':59.815243, '2008-06-22':100.02, '2015-10-24':37.34303},{null:300.343, "9999-12-31":null, "2014-08-12":100.02, "2024-06-30 12:01:02":300.343, "2024-08-03 13:08:30":81.575294, '2017-11-09 21:35:01':65.15863, "2024-07-01":36.47813, '2011-01-26':9.51711},{'2019-05-02':70.37064498590755, "2024-07-01":null, '2010-12-16 09:00:11':300.343, '2019-02-23':44.62237879417901, "2024-06-30 12:01:02":94.97951096820009, '2003-12-26 19:30:38':6.163472907810095, '2002-05-18 20:29:37':94.13854547368372, '2007-09-03 00:29:01':40.123, '2007-12-17 17:57:09':48.03204024585784},{"2024-07-01":68.78418189621996, "9999-12-31 23:59:59":6.053940340538524, "9999-12-31":null, "2024-06-30 12:01:02":34.1231903646769, '2004-03-26':84.93081774935136, "2023-01-15 08:32:59":2.3557136217341026, '2016-12-10 05:02:36':16.779020902195768, '2018-03-14 15:26:36':15.708910434889255, '2009-04-12':1.9191540992747373},{"2024-06-30 12:01:02":47.0103, "2024-07-01":34.0431, "2014-08-12":58.0628, '2006-02-14':null, "2023-01-15 08:32:59":300.343, "2024-08-03 13:08:30":300.343, '2011-08-17':12.0993},{"2024-07-01":40.123, "2023-01-15 08:32:59":6.1918, '2006-01-15':40.123, "9999-12-31 23:59:59":40.123, "2024-08-03 13:08:30":40.123, '2004-02-01 22:03:51':null, "9999-12-31":100.02, '2001-10-05':90.1809, '2002-09-12':100.02},{'2008-11-03 16:32:04':82.1606, '2014-06-24 13:38:11':81.1519, '2011-10-17 07:29:20':40.123, "9999-12-31 23:59:59":null, "2014-08-12":40.123, "2024-06-30 12:01:02":37.1188, '2004-07-09 10:41:55':300.343},{'2000-11-17':100.02, "2023-01-15 08:32:59":300.343, '2017-03-14':100.02, '2015-07-12':300.343, '2008-03-16 11:04:15':40.123, "2024-06-30 12:01:02":92.1001, "9999-12-31":300.343, '2012-07-08 15:35:58':null, null:null},{'2014-03-01 05:05:23':100.02, '2001-09-10 10:03:39':74.0822, "2023-01-15 08:32:59":66.1475, "2014-08-12":21.1229, "2024-07-01":100.02, "9999-12-31":100.02, "2024-08-03 13:08:30":97.0909, '2015-07-16 12:43:11':4.0427, '2018-05-22':6.0353},{null:50.1502, '2001-07-21':47.1203, '2012-12-20':40.123, "9999-12-31":8.1904, "2014-08-12":21.1075, '2009-05-27':18.0678, '2014-04-18 11:31:31':60.1628, "2023-01-15 08:32:59":63.1483},{"2024-08-03 13:08:30":300.343, '2003-09-08 10:41:58':null, "2023-01-15 08:32:59":80.0399, "9999-12-31":7.1640, '2012-11-02':null, '2016-06-07 12:38:09':19.0010, "2024-06-30 12:01:02":100.02, "2024-07-01":23.1690, '2014-11-24 07:07:20':87.0926},{"2023-01-15 08:32:59":40.123, "9999-12-31 23:59:59":65.0768, '2006-11-24':null, "2024-07-01":47.0350, "9999-12-31":null, '2008-11-23 20:41:51':300.343, '2016-07-12':7.1230, '2003-09-07':20.1893, '2014-12-08':13.0202},struct( null,1,7227,-630350508,1,7513995860583822991,40.123,80.43279554860916,41.0008,98.1201,42.0595,null,30.1810,40.123,100.02 ),struct( null,-128,32767,0,13149,8273188412961652670,5.2006683,null,8.0705,45.1266,100.02,25.0776,null,40.123,100.02 ),struct( true,127,null,2147483647,32679,null,300.343,36.208480990826274,300.343,40.123,56.0843,91.0016,300.343,90.0934,40.123 ),struct( null,-117,-12210,590470148,147483648,4406351010942067060,98.53256,300.343,28.1017,null,100.02,68.1822,null,300.343,40.123 ),struct( false,1,-12435,-2147483648,147483648,9223372036854775807,null,100.02,300.343,85.1090,57.0903,1.0093,8.0839,null,100.02 ),struct( false,1,31650,2147483647,300.343,9223372036854775807,53.417946,null,40.123,null,300.343,100.02,100.02,300.343,76.0814 ),'{ "c_map_int":{"c_map_int_1":-416700548, "c_map_int_2":-1544109708, "c_map_int_3":-96936650, "c_map_int_4":-1666435121, "c_map_int_5":-800625281, "c_map_int_6":622508937, "c_map_int_7":-1354144147, "c_map_int_8":-2041899148, "c_map_int_9":2095904279, "c_map_int_10":-1654388471},"c_map_datetime":{"c_map_datetime_1":"2008-01-06 01:53:16", "c_map_datetime_2":"2018-06-24 01:31:03", "c_map_datetime_3":"2008-06-07 17:21:34", "c_map_datetime_4":"2015-09-08 07:38:31", "c_map_datetime_5":"2000-02-28 19:46:26", "c_map_datetime_6":"2002-06-02 16:22:42", "c_map_datetime_7":"2002-03-20 20:13:11", "c_map_datetime_8":"2010-06-11 16:48:23", "c_map_datetime_9":"2005-03-14 23:31:49", "c_map_datetime_10":"2014-12-21 18:10:24"},"c_boolean":0,"c_char":"JISfyRjnRO","c_array_smallint":[24468, 27087, -7767, 16305, 16392, -8160, -10292, -27782, 28202, -19596, 27031, -12911, -9917, -10514, 30935, -16972, -21994, 25608, 17439, 20467, -1213, -10562, -29307, -5975, -27758],"c_array_largeint":[-8330143032981847483, 6531907846828804789, 7269166200448415597, -7899687684355542252, -6588870692097323568, -5591074047813028696, 6903436904010482370, -3759654729458335681, -8159874475546864909, 3126345178461915482, 8413072133878906657, 539239109765564389, -7880385967261246218, 4259439410446514593, -6553737728687248962, -942579869190259983, 2618985039789246795, 9185496023178815616, 2906237774878340720, -7422718906969770063, -5811010272488337537, -7401058899894599299, 1017957723060409109, -4052647360068663304, 1662006317315317924],"c_array_datetime":["2018-03-03 13:00:04", "2010-06-16 13:25:07", "2008-12-04 02:09:56", "2019-01-05 03:07:52", "2010-07-22 05:16:32", "2002-04-23 10:07:21", "2018-02-09 20:31:02", "2015-10-20 23:19:48", "2009-07-22 05:03:23", "2013-11-21 18:30:14", "2014-08-09 14:09:08", "2002-09-01 03:15:17", "2003-07-10 04:34:53", "2014-09-04 04:11:28", "2005-02-10 23:20:16", "2018-03-03 22:56:12", "2009-04-09 18:01:25", "2002-04-08 21:18:12", "2000-09-04 16:35:50", "2007-10-04 01:33:41", "2018-03-06 01:58:24", "2014-03-16 01:51:42", "2009-02-23 08:40:06", "2014-06-13 21:36:38", "2000-06-13 11:37:24"],"c_map_ipv4":{"c_map_ipv4_1":"207.77.204.110", "c_map_ipv4_2":"112.5.236.203", "c_map_ipv4_3":"123.25.152.160", "c_map_ipv4_4":"14.238.240.136", "c_map_ipv4_5":"247.124.252.150", "c_map_ipv4_6":"182.34.108.228", "c_map_ipv4_7":"159.210.32.131", "c_map_ipv4_8":"74.46.178.59", "c_map_ipv4_9":"84.68.20.89", "c_map_ipv4_10":"248.143.178.81"},"c_smallint":26514,"c_date":"2007-02-17","c_array_boolean":[1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0],"c_array_tinyint":[19, -63, 116, 80, -96, -48, -20, -109, -20, 0, -89, 77, 53, 52, 111, -126, -81, -5, 41, -127, -124, -116, 109, -15, 21],"c_array_varchar":["WHwKQDbypbYYJdEeyRXRUaRFQrclStwyGHNCsDeWAIyjjdmpJqqsSgmMoLqhPCADYbiUYxMtJcsgIWsDriWxjFnXSaxweCESHYdtEVZxyMUEtQXbGhPAyVqCcLVFHcptRACWolHGXFQCWAbmsnKTbEMRdgBBvumqrwIrSyUFEjGzpYKVptdFfixlgrRQXjSFhEMCCOvOQOiFCcNDHliXAGtbisdyvKEQWnfHyFvQktCjxsnzQYOAKFjLUEwMEEUo", "jHTWZSHOzLnpvKvAcqFWEjsiCRzjJChzWRbeOCNoGzEbTkHaHXKCxBhhWWzJVjamloLDBnTfZbMoyOBcvhhvrxraayIcQRKgzJgKPrSOtamTIoIbdUjsLNZUhULoorkkcpvKPoImNVtazZMCDfOuXkhKYOxgGbSjusurNAWZsarkrPIciEpuvdLYhgpxEDdzCHqzVkUbxXiFKwwXKdTENIXEzdAKnDvhVYLyKUmzltiTWlaVGFnTIHjdwiwYDDuz", "fMxEyCpxHIKPwRNCKLOdQTNjrMiVOsitVCCjznOCfoZhVhyZswOdDCxJMkfQOWqMinLtWphYPJMZYmRLZXOaXUiKeyLWhLtGMMJeIMRLyMpZJvFoxSxoKjflRZwMxIsNGsCdNmKtaaGkeQUeXvVSaiciuVqdVxgIKBsyULGetQwexLsLjMRCalavoyioXxmnpvZPDnozajtTqhbOJvctcOJCaZkWSFctBKtWzGaYYZyXTVIohomSYjaLNpTVoOPk", "ubOZWIHVOkFNznignlyUlUeCffyqdBiRGouRKupJGOpqORHOaiVUXLLRKGkHafqVKOlCWFPurlMwlKmaYjyMxHLNeYHFtpBjvUzCSZiamdqsnirovBnJDdcWfPErcassEOtWPyYutnndcvSWeaEKZrIrLwxduRjrdsvdUmvgzUWScEuzqoMGppdSuZRoAJKKptpgwKYcJFgDNHJpVSKfPwszJKDbyjgPZyQndHXxDhyGpFsglsNGAuzkGWzCKtUW", "BKbvnZdEnBVAQslSLzCcUcASbGLxSMIjLLEtpauGThKflKpUToLpjKbiKdRDtDDQbyJndivWIiyxucYlzRtqovtRIPFfbbxMhYTXqrvTZbfnDhopelNnwkXlDJcRhHVpdfvUpBZxIWVPexvcNUkkwnXNvUBrFoMRStCErMqOcHkwkQxCMIBtsXNGnOmWzFZfIpaiaYUoybaMRRFCPoKhpEnydMKXzNHJKnWdNHCpwZHDVmxtJIrBxBwuDUGWBzER", "mSvNsWyTzqVkzJWdWdnYNECnPLgONwpkmmqkeaifIVyNVSStvBGQJsuOAcuogtMfEvXxwGZdJhSZEsoiuxIjxbUAMVxbNpHJyLFdJoCziWyuKeScdiFvYWlbssgCgEgVBjYcmeZLbCaDNpquwPcXRqCEAczJcGxksnuIJdHxapVZBoPwFOmSwuzbRTKGCSFWRUahTBBjrWASDDpqubtidSSoIiLKUqsysHDfXeUcOhAjSMrXKaPrGaqUMJPumfIh", "nXNUcsNTxKkpzuTbLHboELnymRpBfLlZDmCHlVligpPUTNVwwOowvXmAhwVvSoBrstBNGIZSOzNHHhGhSWCXzQRPLgvLSzIhIGpXjtGmzMnOEsADRPpfCXWjYlcZeuDMXuZgqmaZMizSJaUBvqnLHuIIWTWHkayTsbOccutYdpAghsUklFEYKbwlLVpIQmJnUOGbXKoPLJIwargFrpZmSrxGrjQrYJpuxMudFFJznPHUadnSlECOKwbjtuSBinpr", "NgtDAZIcYCbAufpYRwYuCmLjYIHdPHQTXHlwEPmHmpPrqYYPVllGUsppPngRREnIhEZqAiMdJUhHajyQVbexMAHVlxYGWGuHuqbiAMkeCmVVDJUKZnrJEVHWwSwGQPpsHDEvqHINuGeMfILMuRmaPBQlcZQiparVoNaeXIFbLqqtNwTjcvggInJIKGkZQbeGlHIjlQnrSyLFjotsuOIxhjnAlkxuvAPFpVuHkaHJoMaTDjzYfCBGpdqlqlLHSYYu", "YyvDROVFzNHEtZXAYiRuhZXvXUMhvalILTUHICpVnvrQKoWXUWebTLeblcqwfrnOENaFCXjTdOuGQbIXwoKjfTIWgLDKZfPjcvQpdnyQeSvNODoUWfxHyplFNdGrPTPPEkvxPzzOQmcgtHGgUMobgNAnMgiLgKdAOLrtqmZKqNtdiVCkTsGNiNkyfPVNWSMVbTDwPUBrRaNCxZXXRMXVyNkMwGbigLZiIrSbfqKmlONNiICATjDenpWAQDDeqUbg", "kmSudHUXjCOEwISSQOzxwwCfdZpmUvwuTnUMrwVFrMQZGSIFAGPQtdinTuynAUbQHMiMsxLHllOKMUKSozrEwCoNzAskQkLKuuXIYZDUKfXwjWLCRjBnaPvOXRbqSwHYxUYYrfjKGpKxJZHvZUqsMPUpcLeJPAcxkEDiTJUAVFumxfCdSyICrGTeBTLuCTvVPKrAaTceaRmzsiNzSzilBHKGOppsIFRSMEXtOiScySFEZTfkVdcHYfjvImsedPQT", "GKLgwXwuJUTAaqQvvJRluFTovzKNiqJeRwgAGScruPFDPdXGpUHoEWbJoncyPsQfkxIXpOOFQBMcvGtXCRcdoHBRIhsZkuQoWcqSjmUeWQTGzXXuZOJfsQRbgwdNwysGECXtlTyefwmHTTUDyLrcgVrtUiqibomCmswFaEvEIYExlEpQEWgSaxLSdCTcHxFMIUZKRtXheTGNIQPXiAqBJvCClPLoOtRwUdsYzaNfEHSzlNfWyCdkjNxZZpgIKydz", "gpwxpuGoteFZfuojrKdzAckblsxSOqSxMUxpgHedbXrXrBQjUEyDdostCZRjQGTOpHxzxkolvOgrjgyqzQOkNZvIxXkpmKuZlmMPQxUQnhZLqenSFjmLvJqSUeQOOGBeTgZCblltRMYlIFSKNVtiRfaPGZqWRgaFVFDnJwprnjLnZQytGVHYBkkkCrSNyXaapPVpiqHZsnAsqekeOwohDaByNnQNFYRBPoDasztTdNmCwcbytpiSMAGstIjCixlS", "njiJKTQGPFFgXlMPtrwxzlTpPAhTVRdZxmfZQESVtbFjBIHeRjPrPhUnmbtuNvTPyARqJJYlumCekBVMQzJBVmCDgqYeTZaCAdKrsPvoobImniBbqZBGdZajsnChHxQSLrePuroYrPtDxkkpnbRPHarsnJXwiGipiqhOIxpxjwHUEphMtggSQaysdRpfYDROqlVDelnTaFWvgVcTzOBBlzJsBaCrsUUZsggFkteQeyUilSCdeLMSCCZSveblVFzw", "zmOoYfnwIXiEijMTZEfhFXQByHADKEDZNpnNEFfMqZjJvORChFfqVjxWmALOrLEVeemMEBOGTaiGJYxXSOSvmhRctrxjVboegqwsGHPlfvDXnvkpiYqCnoRgQnVMvnxOXYJDLfmDKkJWfVfBwgpsLzGQZDfKhLqMeshOBmxFXToOitImnhAzYGdKmFGxIzbkgrYFWWhMvGMPqBJRYwGgztAJhGpXHpTPmMQmJotMFVPqSsfydLkQatblGqOkcTrL", "lsuXchpfUrXMSNQUjQyqEetEzsqNWVfZbfyJONeuqKAEqwvNZJWfwiDvQMIXSobupJsfQTuqmrTIVSIfvNpZgbieSIotKUTvUbrZwdMZRMlxnxCfmzMHYRHcnmMpEKJoCAVDQVvaNTbqzTacYlSVmtpSoGvJaqHWSptOqQxoivUIbxQNDYbMfavCWbRMEKtTLujRRGqueMsCnEhsbKnkhhGsWbOMCzaJyQibsXFnVcuWbJxmfzOnSSwAfTKhcfjn", "VWjPhFYVIgGUbNFzQWGbRbCUiCCoOtAViqUndTEuWfdlTJwvrVYLWZsFwSthlLNfXstgWiWSRWyKqzrOYgUVAJQomztGzgYdTsaKSqtPpoOKmUbOcXYMjhNiIFVKudmDihXntEbwsIONOZZPjTnWUOzGaiZHBOMRKpXeeIXZpRHPxoAvhLKTZODedVKcMbDEgzXWMQRSqevmNrPGpYidAebUdhbGiegaJlEBzJvDQBnZNvBwxLxFsaFUtQbdwdxF", "OVDTqTjfnKlKjbIrArYocQcCFapTQNhxgLdDZaOCYXVEuGwXrzOWvuDtiXziDGwMVneWdAPzKqRLduhwuKLyalStNjFdPyDEYzyvttpkdlVhfCUpxKLedJkQInXtSYlXfcjwlCaRnTdtOjmmFcZOYGJYWUzQgtqEOUmndSoGQrFSLmoBMxQcCdCbqcaSiYHAJHoCfsChBGmDRGiJZebfXEnYQooxTHBrhmUvvaKzCwnVVygAkOIqfvBSqLBldjSs", "otNecYCFrttGiNFmpYbOgPBgMuCMyEQVnmujwctuGhtsItlbqQbOyDsImRorTlpsbonvFdRtLSCxqRgcTqLSOHlzlIIWNXvgBJKWOuAwPqXdhOCnDQecNigGCrMyzxFzXOtworKhsTuNxBysZwOOBhrjvDFjVXyNCWwyiTnjjkuszLDXGSMiFeLshGcKKGDCPhlJHspojckHMFqlFkzVRmOmqnHwdbBIPEKTHRFCHFTLWZtZswuKxLAuiuxSzTuN", "aYtlQqKgSwguormjyRAqnYBFeFasqVxGqwRIRTJxsGyfqGTWSHhjSIySxJHfbSlafDpMpXHjCmmicNktJkBHzsahvaonetTozdzEtMdjZhLCITWvppAbJjZKGSgqbthipVJSpVedULhWiFFetjKBfziPToGEVIVVJZHdVUQXdGRqCDqQvxJDwOfqQXXzaKxzKSqqyNVRqCPXQMeViajrXSpIpGzSIkyNTOtoQdFCaoaymCVWbDAlbdZBhqYxnoIs", "bcGIJgayTMHRMmFSOyURpnEhUyEWHvbkOZnLJbhLdMaQBMnDYxPBnsMEFRMVSyYmjRmMDmOypMzJBtpAlMownTCfbuEtKEtuTsYBAnykBQqXQqxemwqemYWAMiHnKKmwpNCCQpRdiiwwmMLYjRuYDcTxfDSzGeOrJbmVaTfXQTQqtfwiSaCQABLAPvdhkQtOFrRjwfvLOGlUTQKBbEZjkYvDVHAlepArOEDrIqGqrVVQZUQMOLbsaDHHTHoUfPEL", "yrVdBocQsMQwEpWVWXHdOtvNcDvUsNXWioqcAkUiZxgUkyeJXdvWLVJJiKgIwkZPhzUpLHyMFkDFkIgztKODLeUEWXnYzfpLCWlSIDSUJloSELTdvnJEgfGHQyrcVyLeopcAPvPWeqvmMdLVPZBIrDMEyPvQZyNeqOHCMMuyMAxMYOMAFoWzaIZeUnPgLTfQJJHGshJOQExehyCXXefnAPAzUaCqrWybZARGBqvpSzxQoVcOjKCxJEwfdMUbYJVY", "JudRftzAoaZELBSaMHpzUZNVERfmWhLNfxoEByTxNTjTtLrIDtteXvlerzcKYcPeTwWXqXgsbzPOoWuehioLxQXkWygrNKtBttavglxLlejAVvzxBBHwLAoQpEQhNIltJxqBlDDyFBCiLaYqTXzTQolpOTwLGHCVXbpBntzFANEKtobMNHmPCIAEDUaPNHSFebalFlAlTnDWGaaHcKLVLSONnWkwBvYqxYarIzYgHYgDcYbsZUtXYegJnQMgGLBz", "cLYSdlXacBawpZKRiPOCaUtkgLwVjVOKvMqnDoAiWDikZZtSTzuBfYZoqJmEOwwWeEEvYWRWYtfUEmMhXdWZoGqEMMvWCqtNLSufTprurThwetbsTafcwmwPhmLTjoDcVvNTmgrZxbmWEwSgTSPOPFkBSTVeAbvOaAeegoRoEysXQNYYxVgthXkRmaRxoXQeSWZSsSxKTACsPjoJwloNcwlcfgZWWHeKIYMjVGieljdPtbWvpWSbjurjyRynVBTS", "SoKrwibtVWMjDRgRUhrTYajgAequfVfvlDBQnDBkNgDfKPFFtZkyxQWXqhXWgEIEuCLiGQlLsqhwPfMLSSOJTNQGEuMKkfjrZQcOIKDPGNVkMUDnvwhqOkoocQngbFdIIwPYjEHalEnfiJWoaRZKZqIBtJIeekuVslfMEbuIBMpBzRfvTliyNMDlSRtcfxjimWtOVvcAjefWdxRwSBzpuqjRCfmZYgEsznxhIsGdMxpivMLVAaVNWROooHFTELDm", "dOXxXZmCPfkShVaqHKIjAxmEHMmPtnVfFrcHVGxbGOZRHBQpjiDuEXRLNiJIFzkVHGmJKcwcoHqCuzGfswpONfnthRzkJdsYfjrXsZMHkDhGLgZvcMcRKhrMWRocctAXGGYhsKGUZJMXMsfhPKgnJRuJaMhercyijCnAwlcovsoWqCIOVCkXoSlaYvtrsHmBLwhWqNnEBMbLLwgpLBLbErvDfxcDGvzJfRJGbAkIypXkcyCdflkFcOniLitRMyMk"],"c_bigint":4907217869756765047,"c_float":7.123213,"c_ipv4":"171.251.240.239","c_array_double":[62.94748297654987, 93.27740266586454, 8.07661521458952, 26.593749933966176, 63.50561847113126, 66.02417458729174, 95.4775976378483, 23.48260395461618, 13.238982933527952, 9.401238853831241, 81.80701128843455, 7.774679381670994, 87.92075095352617, 65.8391193982378, 85.91266457110099, 52.23196392260681, 47.97578619589474, 38.66803725198642, 4.193119804705019, 69.00737868438024, 53.73605551813258, 64.40205053904734, 26.85749316411678, 44.0042449111656, 34.13292297488172],"c_array_ipv6":["MllWxDEfHj", "FxdvHYQSnM", "caBjEQsNFF", "PHFHqxvQWn", "sqjUZwWzEu", "LaHlJzsVFn", "OYpVefYTTn", "yiaNKRFwho", "TSslsRxBua", "bWLGGbCUtp", "UgRJebfKUf", "GnkkZKGLZJ", "NGxvDZjStT", "kgefQcfGag", "mvbTkIpdNy", "XWLIoOyKhG", "fFAwZxFlFF", "sISgoXcOAU", "mDWwPUSSrL", "NMptWaxkMq", "cWmxHfMrJQ", "hOMajCIHjP", "LENqaHXcII", "PaGgtFPxRW", "HxrZGYknJn"],"c_array_ipv4":["pXRGrAhgMB", "rJDqrxTyvz", "GlzEzQvidX", "lLbGgmtNze", "wZsSNtbKoh", "WlDILtRYEu", "LewJuqsEnh", "SHfBKVUsId", "JHXUpNniUh", "AaNkFDJgqJ", "UlglTmjRCU", "EXJpzZXWNN", "ZtyvpgKokZ", "cgIBkVRhCg", "LyOANWaSZh", "NmaFkVSqGG", "aPPpZDGcdF", "IajrVnMxuk", "GqtUOkBNsv", "XuSiaHncqL", "JEjNunTCPi", "HrKGksBKDM", "bGWNlhqvmD", "NNdtuAGxjd", "oOSdVHiXme"],"c_map_tinyint":{"c_map_tinyint_1":108, "c_map_tinyint_2":-23, "c_map_tinyint_3":-5, "c_map_tinyint_4":81, "c_map_tinyint_5":-121, "c_map_tinyint_6":-33, "c_map_tinyint_7":75, "c_map_tinyint_8":-33, "c_map_tinyint_9":-28, "c_map_tinyint_10":-15},"c_map_char":{"c_map_char_1":"UROfENaYRP", "c_map_char_2":"oNCfMVxPTY", "c_map_char_3":"VMdbEYGanF", "c_map_char_4":"jwayucHvmh", "c_map_char_5":"dnjrfXnKbK", "c_map_char_6":"eVxKPZEbtr", "c_map_char_7":"XKSDAJxvgc", "c_map_char_8":"UsvGNEymPN", "c_map_char_9":"EAUyLUeaXM", "c_map_char_10":"sxqTUevldw"},"c_tinyint":-3,"c_int":489739590,"c_varchar":"okay","c_array_int":[-404391479, -1888297060, 1667599550, -1704310173, 75467172, 1215716187, 1349474137, 1773948999, 51924532, 1921756929, -1516362094, -577764732, 705613184, -1574335722, -1705382932, -1337068511, 646451310, 576963839, 2139332712, -1753481587, -688568962, -477483502, -1583077114, 1351306573, -1755315196],"c_array_date":["2001-07-09", "2011-11-10", "2010-03-16", "2018-11-23", "2012-01-28", "2013-02-02", "2003-01-19", "2009-12-12", "2015-04-25", "2012-04-18", "2003-12-07", "2017-09-19", "2012-12-21", "2017-12-14", "2011-08-10", "2012-12-08", "2003-11-17", "2000-07-11", "2009-06-09", "2001-09-12", "2004-11-02", "2002-04-02", "2002-12-13", "2002-08-06", "2015-09-20"],"c_array_bigint":[3286000692355939016, 21864209308989124, 5111735984446461106, -3482589606000306718, 7237339350359208636, 3277270873958996777, -5847833714016260447, 3065394355098302871, -153986342761519469, 5940155673933249573, -2817445097157376389, -8617455051354912975, 3036682333839620361, -4084311523143104515, 5653833586814100631, -2991335959834293668, 639778930566046635, -539596208550519805, 8715806716254523514, 1569497912278692644, -6357780385093828978, 1894672152732683649, 8302917109338261424, 4180554771833829211, -1169772327255041298],"c_map_largeint":{"c_map_largeint_1":-2909043708527745171, "c_map_largeint_2":-1356089567446087109, "c_map_largeint_3":2525188533634475674, "c_map_largeint_4":5535579400427142106, "c_map_largeint_5":5231679191461684876, "c_map_largeint_6":5746319144777051741, "c_map_largeint_7":-6348491811270489799, "c_map_largeint_8":7980975417713341857, "c_map_largeint_9":-7364071367735715054, "c_map_largeint_10":5816993439206268441},"c_map_date":{"c_map_date_1":"2010-08-03", "c_map_date_2":"2003-06-18", "c_map_date_3":"2007-09-13", "c_map_date_4":"2019-07-10", "c_map_date_5":"2017-01-14", "c_map_date_6":"2017-09-22", "c_map_date_7":"2016-06-09", "c_map_date_8":"2009-01-05", "c_map_date_9":"2018-12-23", "c_map_date_10":"2019-05-10"},"c_map_ipv6":{"c_map_ipv6_1":"91b1:c06b:c564:f7f4:37ea:4f63:9cda:2258", "c_map_ipv6_2":"5290:b2a4:61bd:f2cf:74da:e629:a0d5:bdec", "c_map_ipv6_3":"527d:729e:9199:6d8b:77cf:d0aa:bc13:1ec2", "c_map_ipv6_4":"44f:12ec:5a8b:39fc:688b:b844:5285:810e", "c_map_ipv6_5":"2e8d:4c99:80e8:b04e:82a:fc47:5d61:f4f0", "c_map_ipv6_6":"b565:db6a:2c78:a068:a5f4:bc7f:226a:1f88", "c_map_ipv6_7":"3155:e2c1:7fe:ff02:ef0c:27ea:2ee8:2ffd", "c_map_ipv6_8":"bcb:d108:5787:f7fd:cf8:f6d:f702:c7f9", "c_map_ipv6_9":"6188:be37:9f23:9dad:3984:3cc:ef26:b115", "c_map_ipv6_10":"4e4d:18eb:7771:4d33:722:97ef:7236:6cf"},"c_largeint":2166100255030594531,"c_array_decimal":[56.0764, 26.0120, 1.1728, 11.0987, 83.0757, 69.0366, 91.0525, 68.1299, 59.1491, 76.1868, 58.1951, 14.1610, 51.0208, 62.0807, 49.0888, 43.0122, 71.1849, 24.0569, 71.1701, 42.0640, 51.1133, 82.1454, 58.0933, 31.1713, 93.1379],"c_array_char":["VUlDnbMDfu", "harEjGTtJM", "lwyXcdXEHK", "CIJMSDGUPR", "nPyWOkiyhG", "vNFtigUhnP", "fIOSRKhJmy", "FGCQqBVDRS", "zyfGPAFLAu", "AQPcEZBBJK", "HgUdtrzjRa", "JgehpyqHIH", "KvRBZqIHzk", "JzbRzgsMwx", "ntSTVoQrdO", "wtkvGhfiGr", "EuWAIuIpqe", "byqLQmpmJT", "jtGsChrzXx", "PorSBsmVyr", "egZAJzQYgW", "NGfSwPeRSA", "omcKecImjG", "SvijoRQgvw", "MYXresrczg"],"c_map_decimal":{"c_map_decimal_1":85.1567, "c_map_decimal_2":15.1033, "c_map_decimal_3":50.1979, "c_map_decimal_4":92.0124, "c_map_decimal_5":18.0477, "c_map_decimal_6":70.1523, "c_map_decimal_7":7.1765, "c_map_decimal_8":22.1271, "c_map_decimal_9":61.0580, "c_map_decimal_10":36.0978},"c_map_varchar":{"c_map_varchar_1":"IGAsBJOPbxdMHhAfgUCqwOWcsdsMOLjjFlZmKQgQzbKrCEXZMKJaNMbAjuWxmHXVKBRcaDIjsIctdzdusYurHYKLeHMtGhqHhlbkkIwLZxLDLmknsaIxxwEyctOiEwiNNoVacHGLsgagXGhCAHbAiaZPiEtaKJyJAJFqoAdfVyzJynzGZVpQmPZIOgvBYAacDsyCXieZwsNLDkZmRwWcpsWgSPmDlnDJeVCsICBOjdOpUVkayRAZxkqFNudNLISl", "c_map_varchar_2":"EXTRrfpLsZSxlomZzPfvfZQsWlCldfHZOWBMpDoOYNykDRAmnPcuEVDxEWnnYtcCfXybUgPiDzYFMzYbHPPfcYoxvcDkDDDsUeGRUbWpFEqLTtZcWxbrIdZzvHVnjiKWhJKZIafASkhMaqYHPjWuBzRstKNscjxjNGgDccrxOwDDPFKTqPNtfRPZoqTeDbXNVZELYLxwFHcPcQKfgwWPKThNvhnKSHcAPskmJridvTzseKeQpfDrukFWynQaLYbl", "c_map_varchar_3":"vjLNBHFnYrhOqCqTSoxghnYGrkBTRtxcmTbAakheGuohCGOmvjtLNuJSAvYYTIPvGdSffAvnMVeOPjamzMvMRlwLxaKakngAERlBzFFMUpjxUqqnqiMAnQwEGaLhncTCWCgeKnWUICAsGpbHRyoieNLOwrSqugszReBWLWyBKNItFmIPhZPAJkazZYKyAwWWTRkEXhIMnhclkulWpqaNNwjeVadqFAaqRrIJTUuDOZvJfBLNhfbzasgwRhSWqjbD", "c_map_varchar_4":"pSPMSSmjoaPCyMlyaoKtWJmHVMmVUVtOAxmMVMWrsPLYMXDAaOVRKygbHCSLsFjvvOIFNpjqcsviMeccYOVczDOhqcxCvjTaexCDoIuiXPKppeQpabZkNelWkrmqTywMxBdogAvjFqxrmUwfsGYpmcRuLEHQyTDiGMJnnlQezkQrSUvHlUCCdANVzFmlYXRfwKlktUOJfpQrHixDNqUiKvKQwqMXxfktjjONVVgJJfHQWlhbrxPNNkEQvjCjOjQT", "c_map_varchar_5":"lupyfQXFZgeonHoyQMEwTQnNCvCFqLEbLXpfUNHCrjKndRmnMtmtxTRBJVALAjKYevQHjEvheGUULfeLvqosYWsrMUzWvBshLZVRXIyAyAKnEDABFgTORNYvKqVeziuQFeFffsZTLbpCaHWvhgHKBRybSUrVVSaBcaCAFrVYZysGDITHTMScJCSoVdmINidgJNPxYUqCMYJKqSdbNkYoGdfKiJJkcZeQxTqtFbSiRjsxDizSRvsUyXxnlWAvjPdh", "c_map_varchar_6":"BYIgaRzeJpoIdmecnkPSccPBkaqRZxcEGVNMcnuppSmaizdfCXpYlUxuGTkQlJoyKduIPVYFNWScvQcLNsedcJCOxPiUfWgRrttlbZWJayDXEINaIMPkgKHXgbLtceuEhOVkPnzywRCiSJjkWlDSJkutTqfIjCShntHCsisXyOqqowTXwCqVnjOlgBKjWPghkEWTckrfemBHeXtoDXbZufIzlGmrywFcoyIleXWDDidaunOEoCFYIROxzjYuAFxJ", "c_map_varchar_7":"qeWegabDHGIJaaYLQuiXyrsEQlMKsUOnBEqNhZBfUiUiZZGqTsGbAvAABZjCRmAQpMIOtOdEfJfzxvteTLHxpqVwdQiYlfQdRfzcRNkNmfwNeoFESsBhSpZleaeQAvheGMuZHFEphidpBWaIFoeYeTAZsWvhYLcdkxnROsUXYSdgvWNlfJlxGIGSoQxJOyOpyKKIwWUhECgKaWwiJCqFihccYENlggdUloufbqSspWlmPmgOkusehOkzMPTZqQye", "c_map_varchar_8":"ixCQeIeGuwICdRqDTCinwdIBeJMmsAEJfOcLeQcJgclVaNqCuiJDWqCrLghfQIzrJvcFFCNeBCDrzQmqpOkxJJGnxwvlXKSPcRkLcmKrOiOhyrEqkvhNFNXrJcFjtXuqGOviqMajsxqeGYTeCwqkBtmMoOnbhYmyvDlJCoDioQChxIuvigfCForBRzfcyLqIxklTxWTXHuDyLfVjkFwFRXNyrNzQcATHvnnAvOtLwHWYrghcCKxuXyTdtvPgKFiM", "c_map_varchar_9":"LNOfkbgkYhQsDieoKjqsdpspbdIrzLeUuWZUQvayqGhiXknVYDoruxzlZsAjSHMfMbpyxscDNTqtqgyziZOvbNuIGVAZkxcZuRCWEPBKwCDwtpAXmkTxfDYetbbiiSZtmMEfzstnWGHHBUEopXvdvaOuygXgUUKeycOhwpVcbeMSnpUNBNRvnsupRmsuxiCnVfMELkAkNoeUZmmgOcLZqjADZAllWXPVHDyPGvNWpgyMEFkgKSAjSIiGLqppUphA", "c_map_varchar_10":"EswiMQNiqpDxNEJsyhPdzAHujQdfrrLStYBqAPOqmNaZGTMCEKGESgdofdzWODksPSARBDMvkvcQEfOyipWPxYZvFXAVTqkxUSyBwZHXhyBfMiCdVmVtUhyycFPaeBmzRJJUzvkKSkxYAVjIfalvJnDJgdMiJumXzTcyKjLABhQjgEjvJUmyBkSFlbeFQwJwEAPqPXlxwiuqdaCdpKrGKsSPvyahWSpaJyzVInjOAUMgwJroyGKetDVAndlberbK"},"c_map_double":{"c_map_double_1":17.346057238288196, "c_map_double_2":0.1923524269177193, "c_map_double_3":17.51422054832654, "c_map_double_4":40.044335122923435, "c_map_double_5":74.00015859834649, "c_map_double_6":95.84820492545916, "c_map_double_7":6.631364760352195, "c_map_double_8":99.00032175745183, "c_map_double_9":4.703321542168202, "c_map_double_10":33.55865508287014},"c_double":83.6809926871814,"c_string":"WCLpyJWnQUpKYkEISbBLnTdqbHDoVHHvZiZAxVtmhNuwbBuuCGCvRTkmlTEpNgkoJbHzxHbvdTnkpJnZRcYkSBWlVwnMjvhABCzIYVpyJufytnqoVcbRbtTdAFalIQHteRrNwexUzbSQYoKhmDJHuAkDyEzKTtkNdZztXUbbGQejzbuUiIOJuAzhQtlqZNoACAUYTxGogaexNFSuOiTXNbjKRrhEaSPHJXpWvxcEmpnQdcHcCcFpYsXJfaOQfHMYkxfeAKTkPBzWoNSpkrltYhRYOmjTrMvjwfIjhQbsqwwbycKNXRMiyikuTNZwlDGDIjXXNfCHDrhSREExNtPvMyyYzzdjVSalKWqlUQdRIGuGFWJIslwtOjzZXSKlIsrTcGdOsgQgtfPhmFGCsJIRLiVgnCtjJsLGMhVOLaicpqqIACQBUMWPhOGKVJhDfmxjVNVJifGzCpHVyNhnEAzMuFGKJijreAmFiRbYdiYpTbuilYLsOcLcfVgsBDovNMcK","c_datetime":"2003-05-27 08:11:58","c_array_float":[70.190926, 85.55789, 57.45869, 52.119682, 56.939247, 90.41047, 38.91163, 95.318924, 72.4823, 41.05783, 88.12997, 7.756863, 46.430943, 93.60133, 57.37482, 64.84224, 69.59063, 21.185352, 46.42231, 44.106964, 14.918974, 16.573374, 0.45060387, 45.324314, 27.626677],"c_map_float":{"c_map_float_1":82.779915, "c_map_float_2":20.04611, "c_map_float_3":80.978745, "c_map_float_4":27.745932, "c_map_float_5":78.71594, "c_map_float_6":44.139393, "c_map_float_7":80.57663, "c_map_float_8":22.894535, "c_map_float_9":79.76442, "c_map_float_10":59.024273},"c_map_bigint":{"c_map_bigint_1":-4494662861525423890, "c_map_bigint_2":3560899992168846448, "c_map_bigint_3":1233986980220990353, "c_map_bigint_4":-3315172830636439429, "c_map_bigint_5":159745515047615001, "c_map_bigint_6":-5085791012186113815, "c_map_bigint_7":7317264342666995291, "c_map_bigint_8":7224205714658426152, "c_map_bigint_9":9139249142991933712, "c_map_bigint_10":-3778134661870026404},"c_map_string":{"c_map_string_1":"GOHqXEyLNiFwSTHRSRtHhLexelBthqaVqOuVHTIttwzBTlBNhymqrUmsvgNlrHeeNKPNNDQIKDoewlApunJqXCxfTavdFlUPoWOryCUKpnmMhCBFZsAjNSVVzGYTIgzEzwMUjlNLicpfzBXuSIScVeRdXSXXKwUwvIdqbiQNNoaWJdLuICsrqJMBlRlTBNkSDTGHrBApEdcqxiORvUddzVpRocBYguNcpysyCOhlMnhGQBMZWUeIeQmKYjrqbjOQeberUbnnGHQETawCAIVcJyxEHsisMeYSNYYAvHGyfiOJdPASTumIXiuFShKhsWMGAQRxBTzrJFLXUgKQlHqcOQdYLRpDNcqMzMeBAJnRXnSTCNQelTHUMOzNLoJxENdFnHxvUusYjHeOBdGpMfkHSSxDOnCzjtxeZJgymAUGsHlvRFOGvfHduOexxUuCDLjBBMKoxxZOIJwSTOUCbbMmNkzBjKibRtnNNANvcgYzxFpPDuSHesItJhBqkneawfwX", "c_map_string_2":"aiSYPLhCAvWsYYgnwlvdVgbieJrPHifakXAIramTiBgbTkwZDBwoRVOrojmBuEMkwXfqhPLJlfoNtGhJnYWSeIMHouTDxghllCcCnwIfGZKfkWZyrHAhGKsqfKPkgehBKUksWeliSUrqGWtoGyAWCknVnDuyMcaJOzuYNTlGzrjbYvEovMexwxySmWyeufEJevGAheetpnAikCmxcxTDJoxNAiicZHwxgrRlSsOObAXMGUiHEmXRgCmtwpftgIOHDmBFDjwfdiQuNBbnAOeSgtqSxRxknLEaUFSHCqBPtswWFlXxGZyjmYyrkhQePTJUDnIQVwqYxxXvaaioAtobXFgZQPfCqSTuvsKayPLapgcJmceNlnHtkkAqfRMHDXNmgEuSuMzYSAoddZLtLuBCoaRkVimogTyGQQuOokHwCSOlxUvhjieXBrKpOfmuFtvugoANtlBBlJzQEPMoxQrxvtnKbqzuPsPtFFnVGXGgYKtIIvUmJDxofWsgOOPtcLxF", "c_map_string_3":"rkIVsoKgPZnKeEdtQzhXwYzcGdjnVrNrlbfdSCvJGHZyVPgrfjeGhkkjMeqLDeLLOheFIalBugEkrFNqLNRwjgKQScTDErIxnxCgpvtnHlgeYxsBkUhcJOskQSvGnBOdNIxaUIedVtvrzEGPhBFfMvaOjvKaBclqhAEdFaDRiZJhxPEPAeNuKiTDmaGyLwFtQWDMdqSicziqfZxLTVFYKAjBdBGPnkafbgOpMswMXsTcYsgCRVxAcCpXOMqwIjtSqdorbqfrKWIsWYKAeKtoivtnwxBzpmbRsrtCCMfRlxCtFpDEHXdtmeRAKpGQmHMUSWMOBqsoTBhLOcsxDBOHgUzfkWOQxLszLDvptWWWSuPqnCzqYFwftIpoHFJMTsYNlroxFkWxeQWJlKuLpfflZWvBnRvmogyvqKUFRvQlcumKVLoAghnhifYCYdtMiZTBNThNdwKzuenPTOcGRpDikTOgGIhockMpmqqwsoTCPVnUFhsvrdSztGRHnkGpZCet", "c_map_string_4":"eJCiHLqgIwGBeTPWeVIySsoqamMKQeXBqTYnPtiTiBiXGPjjxzAjzaeGhCuLgRgQJwAxKokEXDaBKeyHIMvAwgWRibgfRMWozQxSmzjmjTXbKpyJpPEDgskwocSVjTcRMhLtfUAdMJJmwZzNZcWadwDDCglgFIGfdnsQwRGEjCTjwmCZYCrfifiwAWgBdivxZRqQVdrVjCJPKYXHJguMTRtfepRdmqoIqkwofVfMXnwVCpMHIFTTSSWSwwBkUAKQokANLnyuJisCTviKTLpwvyXtXdHcYBcgjnRklfKLsSHtkyrdnhLHoOxlKMCDccfPYTpSXtQalwZhEFlpOFqjkdtLxgJTHafgeUQsJyuQkqihnKPYHKALMcjBRqPqdppNQbpVMepKCHwpSAYSUHUYKQcoJSVjexhqMFnAjTCpvRkyvHgklzQyawCXJyNdMicuiKHtmVMOWWAQXLsVBoRMltCaNMlreuyknfMilbcCgbWopsLXMyFOPUZMVPeWhPkI", "c_map_string_5":"hPAPzuGIByRhXMvBYopmsAXGFtoVkrlqHSdrAQQcScwakAbvQqsiZqXGxoDxdjbcngVmaztNSemGYvpAaHRXNXneqZEjoNhwOVlpHaqBwcqwmIdVSBiFQxAQLedjjINUwIvdQsHPQdpxlHlTZclTEDQCpJXOfYHKYDHxefnjxkvTpIqUoACoovxapUYsYCUaWdCikfJzVrVhLckGATHPyuifqNzpwnqRahNykSvzIlbLFXGzvWdwdVIbMCcVqsewNDpMUHNxIQJUWWWZzkOeXTSKpUYDpONjswEEGPrfbSlWICMruALerBLFZOTSCafTOrwgMNGADwkSgouarcocNxBeqLKkCbiVZPhLgPncAbrNaeaNIHvBUGAgpldHbgqlaldyaoHTYOhwYBfvyukYpXYiZmOjpcFetyfMvJqTmwHtKPrgfJdOsPTGDuudbPyrChUZSPxhbEoSGfNkFQQEQXKOTNRmXYtLADfJzVbzkUyzOjUlcbniaVXAqVAgpkfT", "c_map_string_6":"anZBnAmdSLLiURwUkpWsdjEghUGbPJDWjxiPgcGgvZuLArFKIEyqyKWOfpaafgDadpHuMBFgdeEyHveZlTeqReAvhHgwwQOjQEPabkxVHgEiLyAuaNOPSUUdKwoSWlnuDEoRrfqRjDvQYQsPuHEuuRZCImxxEOktvEjkTuQqXZHrSOZZcnWaZLTsCDHNwTpEUvxvQFnAtWiXnagOBBuvRltkhbfFYjxEbWsPyQmVBVuDGfhNpAnZCFzjfdrOsrdelCIFGXCDoKcAVcMulTIpnwnRItaxTbXuklLXeuayuvqofVEfKnyXZwqaxKfkIfzsecBxwtZqRPWvTmiuwzfIWoluZrOXEUnlYzvcYWPynSeyjWeMRIxXMsNgdYvqITBbkyBFUfJUHmVdXRSXHPPThaujSdBWzkMwGrmnvOPkumrVqqvcNoItuGAOuHWJFNQkyWqyawPiDKzbpxleDnutczQLXpffyYjAGIHhKkjxfXCKQkblvBqLMIkvZpMnpcPR", "c_map_string_7":"BfJFxiJrgbmreszqeXliSUlwriEgBEMSbJRbkymWOjSYXLDxrczOsHEFXmqiVmJhROxstBOGzNgQslhQwGjrtVAUpWCaiFFHizFQPfNRAcwBvhMZcabeGdATwNuTAMhuKxSXYnlzZJEWPfMKkYRtRwySLIFNBSFTPVlDeHRjRpLhcpVKDjePqivhJcOkxsRNTFUYnOTTHQrDWtRuzanlwuTOYjnavYjuBTECKgJskLhGHHOKprtbDeclaYpmpCgZsRqPLfyDwEzJTCwXGXfNrdhkUaclRJtZfTxFdVzFmlzOZjRhUyHYhAZAMREPGGSkwRZZrHuvEBRKcnkhTzyEIAyaCOHtuMeXPNQWlzrZcbogGJsLHVKMzxBTHHcwbUxWqIyMCoCjRnXTDCpqPoHakYqqANhRCRctvhILUHYhqXuojekPtstghBWWEaLsGfBrBRjqRFlxLDgLRPdaVoKlhzkofElVkemFwJhcqAyACDjmZopjRWroIijznnSwockC", "c_map_string_8":"oHZHovHlqkRsSyIcDKKZfQIRMTWkWqTzFbkLfzBDqMBAgVoNnmjMjRlUBWGnxUVQqynShbLqWHfgvrohDGHKjKsFwtDXZJZbKNNMqFNXScNJwEkLkGzxLzZYpWhKqEvCZyubvnRnArYorpZjtygWBtKVgsLQmhDAvLqbGAWFUWIEmcMCUgdzoIiFWLFpkfFWBLCaLKVDjcbaGJtIsOHSzgPQxJsHLxjPgotPSmTgTSjesjJWnPjEnbhLqCBYOqunaviQUxqQApAmfYRMwYThIxvLgbJMoejMwlzikUMPpipIQOhVLNqPnEqlNmmhsuvYxYNNuZMSiilMrMDQvdthJRxbvedoowPuvdvvlyHasXBtKwOCAAwBVbWlosimTAyXIziIbPYFMGYwoAJOKqcAPgEZnWufskPAuPdvIoqVCSlvSSlNfdiMHayUaUzITiyraKZfAPwalScPnmXqYHheTzDVKGnmYlMBtnrpmStivYnCSUPrxNnDPubmTDPouKZq", "c_map_string_9":"TihckIoSAEOTYbLHcliiMPVpURaGbgMwJLnLTEhfcEruOTIOdqhRLPmuZsJPzPswYHGmHgvRBXxvNwoWVcOGcHzIBIEXaArBnavAaUGiNqmOHmeZcfXZzEICayUZSyuWcPqoNOQCYOKBiNbQLmJadwRTkKwiqwEHWhQSPkvubfPXXIrVipfVQpnQuJneIVBzLAyyvwxWrLHfpWogkuBXTFUBkDzUflsDIDssvDpIOCqutsqPdZDVCnQtLDzgnKZyqNHfhRpEwArrgihZMfaCUZqrxIageKyIMGHwtNmUmQCuWwDcjfttyxiCcEFowVBDsRTGZEXeljUUCquaYKCOmkQGPRcHTRbnwpEoKsmjdAlVgSeyXvoSUbVRzKNRhUMfyAEETQPCsNOcwxLOrMOnkFWzBJzTcmHTsXfuvvGjutrQtgqIzfZGXtUczgbWfmxALIkbrQTiOgVTThGFzJhbVhMyKuTjnbXFdlBHyvmRRZMnxyVugMqIahBPtmlYAUOo", "c_map_string_10":"kQutyAwidmidceXwreZQDrHoOuiEGILtLGZTtntTvHWEvbFGnQfhzIvJtAtjcxGyzFsCKMHxsEycXVLMxqgEIxIdLygiQnNfsYgoPtGPZnCvLzIJdSjQczJzvOobAjubWnomIhIvuvrHxBkspBlgmJeXPUStaHeYCQBOGivFBzKsKdfHlQokVRxbuZsDBwIyBOWTEMscZthmCdknmSqPirPUhKstyEoirbmgNBazAHRALAdsWOiEHnppxXtcFgmgRcdVIAePixnPOxZxNCFQslLccXNOMNNonTlRmSKjPvATzfsKBfYqPSQBxjyEndiLCwzVBfPwIoboWcZPjUoiJeNdzhvbjqQCGJjmHBiYfxLmXvvJKXiNmxaZJLPiTZXEVXEZXluGzwYxShExblVzlgIMBmuKgBugPcqUlcuaKJDTUlEynJMXPXJmbuGGmcrQRewsjPbBvAQOTaTTXpQtcgJxBfZTuuWRnHYFoJBNxSkLJwcnSAomJeeKQqoeXjuZ"},"c_decimal":58.0751,"c_ipv6":"e29f:2a67:e0e0:241a:e1da:6449:7e24:a57f","c_array_string":["VAzVBgTRtziFHQxEefcoSFYrIgOgfVDZJxBYjgaAgiIFQWwtIeFywWkNuGpAHHDgsxbETLMnOXFufeRxZmfQHHNCIENVCjMSkLORKZxrxHPVsNnginiGCdYniENyPdYtzfaVWIYrigQzdkbpCpochwAVZhTCqGxENPSrPeDluESGhrPUTAIKZqcxWrKRBgwCGEsJsPpvwIugfVGyryuYLpeBgWoWEebRRRdUXxIBNLVqBzHgbtkcNAZQgvXnjbbjKCnvcfetyFLTYXHkEpKWQpdyEwsPfNXpMugQijSmtZjMavTGQoFYZTetqbbnhQsgUOSzDdBMfIDBwqfZxIBTryqkNMlMedxFRYhCZIoszoYsqPDPlDjICnGLrHVGlvLUFkJDcyHhaDHTIbVWUWnCqyukfaZVKBfqqQqeFxUJifojPJhUokzmwPKgJOEhBEyGblCZPtkfVIxVsYzbcdvkVyVOhzVfDjeTpGKtjjdmISIcjwkHZGcsFmvlyEbtIYTc", "EqDLNnVzmLHjryhPiXdatHEcsasLBWWUCjTwgftHiycMhAqkrfXtiCaiJRcAAfwCQSBGxMasfxolyDBzpIRXHdfEYxfYxWEciZcpqBgOisGagDXzdBhbvljunAWBWieyEygllhzsWScyaWhRYLYiSrvgvvtTLXTqyrimIhbopsaMQxrOOCwsMSRCkvXEDKPyVTktioIyLPTXjAnvcNNjGWYeklOdAwpIvLIiTPUeSKetJXGDhVVsrhBybYjAbiWcfQcLNwZpYDqRxTgNUirxaASMcVLQSLzAsCTLawXOGLPuRCXyKfczOiWAcCYJsBokyoRbEkKGshSzGeiQtYrSSGpzIPRWYTafgLfVhEZabqrbMJaLlboCUkhbFkIMxVFKEsetcpBxZCsHhggosraqJrIwJkVUjTEOECtvDfOxSuZmmnfKVTZOZVziENaOmTExVkuYqlsIIYbwIriOVEPYvEHUwnZffuIZSWqdTPhGPfWNMvLaZQrcdDvjVpJTVeAh", "JXWxkoUstVYUrMZJXAVAkEzzVLEUgctdgWxJrpgFLOvgRHDgMsWYLvozocwekgrYlMebYvwFaORKVPWcLoJIMhpdwfnRsbMNHPVLDZwGxKFinwUgZzMTaebTIBhHzhbMgCBqIDkcXBJVwtcieZLapayRlzNRZpgYhsLHQLAzngTkXecElLHpyojSJWweQdsysViYfkqmktZajtZpkgoLNncHsbwukOQiSjHKmZXghIuxvhNqngFphpINgOoKSzhtFHQbkuGoagWrDJYbHYEdadKeuvEBFXtbsxAHQhwfJBqfplmTpcEjxDiJcBjsFLMlyPttUicKhEUxBKstTNfTLxFxrWqpgmRfBbnExcamdDDtTAsyziyGnAJTEYejGdaOxMnbWFgVPVgRcVbXToywvnRxYLpeVLpgKNFKtxFYoijIIonBAPAEmaBtkGrnPmjvOWcTenIlnopfKwoUSOqAeCbIgJJeziDVlzVPOTsjSijNYxmzIIxumCzxZikAefnw", "JUMpTPuhmHlxZqISonOPNEvPNzReRxzTpinedfiKqVZwUbZxIkGzXyRJqhqTTTGSsxpltIVJRzOrUcBqxfjspQNOVZbbkwzUlcxmwPvtHWZojhrhxfhirTlmrcbGOUyCVRUsgLWFmFMrOwKSPDZdwQjvexPGDiHNwtvZMDfgvVaUWECCjIeXsZVUECWbJEVrwWKaUcdMIBpbzUtKxQGbqPYRiqTVrzFmbtwclaYzLHEgTRajBwrfVLDgofeAMgenulZMaJVYJaqRpIfEJmKpXfqmRNicPoGQgfmGlRoCUAuTFISYnlArqcAYDOekwBTEacZMKfdZoOnPnBNAOSpaGlWPHiCZdEylbvDtiBKcNehBtZKtBFiWGHcRgLOARdMHvTEcZcoyvvBGaYJskSAXYTMFchQJAwyfliJFOWRQXVOcemwqfuRPGuufnlZnbEtshLcpWEUfXKQfPzGJmQjDaUHuQoOrHciihDqKVIIrshleyYHmyuTBxrNMeqWDYdDc", "syQjgHqmjQoRxxFpiDoYvdVgjzypWGqEKDVQNfglkSfudBFAnNdUMzgtZymPAVGUERTxhcjsFDyUOldAQamPZlUNzsrBEqKBchbBXKJGlUehiwFNgkarMHuQyOiYxscGKcOmBjVzMLoNjVXeXUNdSkyDmgnordFIjtFKjQoELonfAKOWbRPYcuUZLwYHKhUqivnHBvRzeiqodsVxugJbkMpmNLlZHKPYNBWojyiyfQXovenmAQWdnIyPrKqJNNziTwKmkTGvjvHrRtiHsYfANgACwZTcbfiMbROSkOPdDeLHSIsGPQtjHdNdwVUaKcEsqyLGeiRHtCwGTDdxdWWIFAgCaAkCHtPHPjQJkZgqfZlmnpeiVxlBniAhfpQLMLiNALWcfxdtTnerdsZyjoJUlssBBXNVbJCfeiCsGOjDDmsAwrVUPxbBZVxELPdILPfxMPeBDANafGxxOEcRYHtTcqZKFefmieujNbrcBDsMBIrgMMHfNaRThxRZHqUAadHR", "CpeKLoKzpoQsUlkwIfnoNSllLFxqQEqtdZVUcZlUELRaPQUKnKQKFAzBmchlWvGzyMtPOuZOWBAyiKkfvRyzKylqCAlcBhrWkILoJAJTNzNFNfwTIDAQWuMROqxhHqqOtufwqrTDiAUfVaToaOxYLxQfYNGNskbuBqBZOyhwCRRstzqjewzPwMJKTkqmUSdiTmkVnVibBOcZZyoVdWyRAtngNQTHrdjsXQyKRncEUCseJVjWNYnmbrwWtDGGXHAJmwgkTiHUlLNUsaKfzChHYgnZCyqaZFVaYWgUqgKFpfrKCwwMxXHwSRhrBHxeDOoCYcsXgevDtgXPQdbJDCkwWADmeXMVWOUcoBsKwZxTNkOWyPbCmnXvxvEIoDrYeqWeqXmdFDdtnVgWsFkuLrTVVabdBjeodooWoUiHvjyZtwZlxqNMihxbiOgQnvcbkGltBhBoOBufxqhczToJLLrMTkxKzHQIIqKOQxclaStMdXOqToARyTUVaFutomOvEnfQ", "xoglRBsqthxyYfiWyqSveJelYfVwDDawPHnwwYcVGxkCPUMkmDFRSYUyZjtzpTHxeAWpqEMsNrGefnIyKPqqYBWaTQDZIvKULRFanTHQhBXNtFDHZxTZnQymeSMFIqLVMZEdpugUpuAFcEHGexICmSuEcBLsgmfnHTivhLNbDCiDPPMQDWxWlPwjvRMGtZRtFdkzlfftolkrkohkgSuKmuTIqnICLIxzRxqWutnqBHAOBxscaSeBzUBJvYdakzxQcrPArdcekEhBSHpUrjJwOiqpuLqEjDOKFiTvKZfvyeiXQOHXldQhZmrDKqpFcTamPbfkubLRwtFrRWxgxUXwlNuRaLqqvALnAhzbIdvluvvPMFLkVMONaDMHoYdnFeigkpcpNQSSOKbpvgrRWeAmQgPBbIvfblwqlVMxaZnvFUqKmTvApNNwKUZxYcTIEltzfhhoEnIeAGzIbvBzTOBcktBugBMCyDMcNgmEPyaVhsvIoaOHKcQhYApCKDmREbAn", "ubydwICkKAmRxZYPxQVKEOegGqFzdqdbVvyLXskYBbdoiQXEUreptMeOTVoaaGoKjOoOuFoepMafVaIPfktzXVNeUdPBjwfHOMZDfGzXSBmTVdheZyhNfUbynpRFKPoBlBVjVuvoFRHBHBEbwhxlkEYXdSbBldIkrqNqYoOAABgeNJHohAxZzfEqkrmJPZxhpjvojnblJvtsbaePUcMdbYoLEodDzBgooqVGsuZRglAcktefyUTFDxueuBqpCjKBKXlrswbATiSdrsWrfcrWcWZilMlaflzcLWBTPWEcrLdjZaCfNBynIpGOEyJAdrSODpjFTwueWxWvReJUTXjgyGrQWIXXsWmorJwxgYUDmOKmTbxyrfdsNOgvwnRLSgSFmLmgRbeqAXmjJfAGzZZZbhXFeszIOAXpTfdKvYoAmWTcdXrvTKEWORCTxAXUeTgtVMYkPTdvnAQusOCKgOCBFFLVRNHOvKvLtXnrKkXKmRiAcgzWmxVpIKKfmEvgkvdN", "NftlbNEVmMocnMwQphcufcTkEEradbjqoiSjmWeIXAmNGBfymlokMahSbazzeZzWABTxxXardrNeLGVgSGXQQJabRTbRLvDrFPOpoWrarlCLKIBygdrdEnAoqBAISzHdeqivQwqyxFLZySZtSXyaDtntPPIAinkREbuTPbeUEuRzsOCPRtkmoXULJSJIvvyWvAHHWuSLFxpbtvJPbGvoZadXuLxMLlfvSBGNNSsAsxjpKqpzgqEnqFxQPvuYULtNqUVVJOqcfTAyMVkjLztahnLTaLwbfBJZbyDEmYpXDkApKiwRZhTkMUOqNUiYDasMzGRfRkEGlFKSkojLPtjfhynaWjyMlsRoECHWObrvPGgkZxbORpwfORJjiIdLxDXPvVwslhppApeFpJECSbFpvDgfNImVSbnSUmlknxfiDUpFogesZOwuLcisMBXeHYWHCVAnQJzrEbxpZFsFlzooKUCthaJkVCarTCforQWNvZQfQoLBmWeHHHiOWURqEROy", "RfrhluYRnrJLsaXNdJUIETECYktmxInSmCZPYlictUOwDcCAlGWdQsMxZmuXUGnDqYxHOQTayrUNkNLMzFguOPFZDjWlGyxoCfZsJmgYAQaFDHMRPETshKWuFRaOmGBlmXravPdXoijfqIMXTFaCtbIBijxjSCrJeyUYctUoCUfgmudfNYsnBGPiQXiHZAfoplvuAXNEfbPcHSmNbaoGRYGdQFGrwJsPwhrAVgYGYAjyDEcjTIQAQolijLlfXbnlFJgcGnEGXtVXkmgxorqCLmzfrmpanzXLYfXCMQqDvHABSMUjRHxHhmHyCPDlqJsgqMRaIKiJEJFWfCCmivLoBQcqXAxwfzOVfDFTzcdXmhLWuKSJOBhqqzbVxCYprQxXPJDwYWNJmDiOnWctJoihBQnnWLsZMrqfSFRcivEhWhktLEovBLVZHgZBDyIRMQuoJKOUYocKGgBeahYeDWWeyqmVrSLPYcBvToOgbOwaIXbtuVbvEZimiWffwQTaURVC", "EWFtFxtfJFhjAXXfeyaYKXRSXfcjRlhkXnkatlgYFZfZGvjsZZMUXOrFlTeelvLohaoIxJRqnqtvlrtUjzlHbckvoxOivBSwImsBtDfVaYueBKjsVlOxgJVBXQSiTQXLSubOXOzoxIfiRAhErBwgnocuPayQVMFbueueoLyAYBgTAzfPwYtiCngOEjLBipiwOLxagVRqduNSqUFgfcmBrEAEeAtUyZaUUAuwzuINxewQkOWoHgDTkeyYhOpzqmxUJgZFTxGWVTjLPeDlTAksvoRZJvggGYUZfLzhJMWgeBgLZqhMXqlJNcaqzPmgcpdqYUAmlchVdFAVILFonTEMenrDjWBHQVeRTkwpeDJXlfyHVjfDDcajTYStGIThvOeHgIkwAdVnPwiizrVeVPmikHIueqOuryMUVZPVaFBquOyfkwblKfyNGCpMlRSymqUzobbxsddJhRqipRCtHmLaFOfLRbgghcSkuZQkiIqcElLXOlIupJzOHNcjqWrjIvQK", "WKLWSbBWFGFRgrDjoMFmsesOiZdueQRqYTXiQgidQzyfnblGFfiWPcifVeuhRRXPpoBsgoLXoTIErvPUtvwJlQpvKmHrynnmOjZJoyAHcFLWBIbMeHaHMEHlRFCuPWqqyhwUDHxZvhzvKzadirKftAYLiFEUWuTnzKjRUBHnAzmYWxeRmzPvumskMSVGHZHuTANUGsWwvWmwxCfxmHaUlvPDnTeoazhUCTazWdRYIJenqfACHwHwZkiRFPYdCJCwnQBvxKidWkLsBGtVBmfPvmMqMHZsVdvnhwYVzQtEWOKKrBdoGpwBtwtEBvvSkojKiWzgkqCpSKFGrRwaQapNbYyPSJcOLMwepcnlcGVPMCUsSzaSXdtxRESOXDUNxjVIsHCIqLfVleWDkFgJhNYnNWlpaRGERHQErGWXvksoADNCfBGGNbBJUTwzVpvgklOyawNacrvMkYiVOOkmzReToEXDwaXFvtMMCWwKZwFnAHnWYazXzVifFGAwSkszBuIC", "IoqBNLFVCXCyNnjOdGRnXtRYbNdFnEwxauSKqojNkzGFLDTOhYaMNOjzlNVCMYktxASyTVlstWcsxZSdycIAEuZzucrFmlvqInWFJeNvyNuiKbhTjNjsWLRJLSFrXjzHZCpYQonwraFGclHecBnjKINHxFmLAQMLotXZrHtUVgKjCiyNPdffvEjkINHWwvTPpVjDDxtsXcgWeSeNOdloJFCpXJOyodvZHgmmuxJkGhftYgQEkHsFvXImCkiDLjBVuUitHvROzgxmnsoRHhGGMGfedojakagRSPbKRrQPFWTFdRxYzKIbrdDaPOBGtAoSsGocAraNdsncNIiFADlMfTzAqcWYtLqgEfeWtwCQYMYmXwGbIPUubbsNjBybbehqbtLBpwKNoUoOBkljXEJYQqgmEXzWnWMrrMTItjEetYeFlTcHlKEeRmzKVgoHueouSnECCuKeXesIGCskAoPPgGHdWcsJflEhaERUbAhYdXmBwVwIXHMCtycWNZYzKEJP", "OrRvtkiRXFhMZnnpWuMvLZDMEThHpBVnCGZujntndioyYbEBOyBepIjxRiyFrEkCHOpJaHHBGLtapBFHISQPVYpJDQhvvqfTuZxuNzyImyJnckZHxkXpxxwKgjIspBUHVfYOzpTVMGOXZPAlUNnAWcOIEZNcpRMkwQuQbzbUDXnGphuzUyllhNnvQxxZirzvmEJjfRVuqeLRnlFVFEGDomdVAcbOnGhnAzgULKOMIbGqoSfrSrprTflYsdmGzNgEETBBycVyzIuxvCRZVsAHwRVvYQFQMVHSqgDwjipBuLtCUHoFsyqgYRjYzsKbIftRwpxEiqorPLZeXgAbZaSIIuZwhCIlVZYlrgozOZpSBOMurcxEiNOuhGsmmYAkXnSfDtbMlFAjJmZlgFhWagQCwBdBIdDXvPulskuxXSsfAwJncZFKGNQAVCGKDnQpZYipmwxnhOEeKiEcjBgjfMuSYzuMrOLjMaOYiCAmxgyzbhLpbWCzhahVBzdpMqLLHNKP", "XVYJgXZilBCiTlTIojNIJzKrbNdmaWFlRuIXaNiOYUUPVXzcFwvIbdVHhnEEqPwSINswvzNKcdnaxWAwSWUjRmMeMyAABqOlUKvnjnpzHSVsOKbxzHWPRlxKBCsjZzMqvxKjRjimAHjqjEoUOdGTiLHAsWLIOIcjxvHNayDsuqsNvlkdvFkvjmUlrFtQLmAcFyotODMediismiIUdPPIPzbjWunegUVkDMbSliBnlfGACpAmdGxEgCVwWyjMJKnOCnHKqDPHQEeIGyzlMygmDJSyvbgVTMfMGViHipivFphosSdeQiLtheUuNBxXjQajEFiOXsSueVOZRAzanhjsBfTipeoPoyYZcCEfZpBdYlOAhzovushUKhYPDffbWNPUOUzHdWWUpVtYVNLSjarwKekalfwXGKVAJaaljZpBFjKikcbGwLEjaAmmpmbtIopuLaxFkvQkMdkpWpVhIvVOoZjNFnUURSTwilCdFqPzbAEjPCasSYonOOQYORUQoOGs", "mCtQnFcOVigumjUykNotxHDZgIYdCAgzHrnUtByLcnqEJjKxlqtWeCcskxDaoNSRFBvXqWHtCbmUjDfCmWmbdalkDDceWewPOPvvwKlBerVMwPuNfYmxrsjMAfOvdOAYuIEhjOXGdhqKJymRVMPAFZYnieXBMJvEeahsnBXmNRsTTnlxCZBsAgsRZxDOiDTnpfCxoVZXafwIuKIGpaCkhHRTXeOKgJMAjlUVAaujexBNbwXAnQJHygzKOHLAVJMerpSoayaCcTBoqBXMLjJhaaFvgdFQLJeOVENHAtZdyjNcoUYpVespyTuDbPOvxvZEUupnnmQqNCowxlPCZbTYaXboZnREGQKTNyWgbNjObIHydtDwPHaTkaMmWvJcgVnHddmMQdHNVjhETWgrhUblaBHiWglyKtkqUNvoBuRhObCJUrDvuHlxyYlyaqqLNpAWGqxKdbLCbtJTriueXHZQmdkkTRqsjfOKuTvXxppRnTJdOWgmSNHqdkoLCQMDqxLF", "KfQNDnWpGekpcDJXWVdsKGzupBuvhnFjfbcxWwFiHbnwErTPdffcCJcjdoyAuwczhqXOcfoTGLuOjWMhqyacAfFiAatJMLCQIQPgVDCFWMTJBkIYHqwMRvuHKigzjjeQoDXEglhNwOUrgqwEvTOvYizGEtibQHXNVBtEVrMIaUxoSndSNcdbfnRDBjdbNDMXaVUuwctyXmBGTZgaMNdClumJyggwUkPAXrOUxyHKXKwrQSUDMvJfhAgNqmIeSdrlMkfZsrvGoICkULFuLubMYLVFeopLKSEoTptlqCdxEoazvnWMVmkRFajcUmXdfTKpQKvWwByVSQSiWVGOveEulEvrYTPpZyifdfqnGSTaIMvbOTrDbAnxRZHudfCprqFRCVeaBSurIfNmyiciZWGCSzlJHCFzfmklyAlBVmPrYTaEpStldYcDjVcBKgvLTcXtZhNuyTCUjdvmFClYUbCfpmYvHHtjGpvxYyOWulcIzLoanpPwXLzxiAaYvYnGnQRb", "gjzvBkmHKFUBCGqsfwPndPkyRiuoXrGnoHXWmRCxGwFsYEgnUVRepVsoEtYTMuTMMxTgqZWJbSUqKbBTjsyrhPgeDXXIbaDtbIiyzBbghuTHNeoeCxqnMBXHupXFKgzQPHlLaeMbfpUBLnVzNFpEeglVAcHVwjOPTCqDDBYbevKNReHRZAHUTSgqwVfFDrLydMIbHBErUiSEhonsneQwdvfmYmFeCcZFHxPuVHurGkAfOmHRjnLoSaKuxZeuJGzvucwoxstArxrDfIQyyRTotEllnIIzFAXMrcEsQXGmWCfoJgsAxOrkxbkIXNisEqykoVSHsjTMzMXEDSNnAcsJYBkpabOITCZFcHfCSHcpdmHRSeHaGvlfqodghlkNXFVhRclzUGRhsCxKntbSjwckFsSHKHonWoJPLQQtFiLCRnpLRQFoHliFoBqTmtRhmwnijsBhVoRTmPhbzbQqpoRDrkzKaDAHAHbSMlvhuJtWJQPHFCZjPbIQKejKydzJDyyW", "PRpAURpfzPshxVDttnQElSCLOXhNXbSHDsxfWMzgrmvRPDZpWLhGdnenbcqhebyapEsmQLrQFFokwqyzyHsbBolkVvzZDCWmcdBsgOZNgkHtMoAdBLvOGJSjkBptgekpEVaHkgFckCsfiuOJlHAMamxArpgHTAXmYyBNyLYOUbgjkSyHpxkqmbolsgssIcRgZQUeREpGJdreiuYagyJmrAVuONgOWGNxhIspsuunlVBCjuZriljabNNTQvzfdEakYzGdLwNTFaomKyyjXvZPChatLhAdfWrIAlYvINtykoXHoqVQKEGgWcSkfAnBZelaHtWpeqROfpyspzCGzwZAZhtWqUalDhJEuNWyTefGUzCVzsYovFQAhIaTHOUoBRUAAdIjOgIRiKqxEopUQjKTGAuWwNQqkBHqpUHQbcDtMJSncRFwOtIMAPZpevJgtPjxQbAuVqVQKUojAmniAESSigPALckafgGldxkkUdMIruuDGhJCfPgpuAVZKKNNAmmZ", "ENCCVUTRyfvCspdrdZkNRhcZYSDIapFRepVrfdXgjHnnVWNinaEJHpLHIiZZUwmDxUjxcCfIXoksOVoKclYOhZBysQHvSXJhzHsfsIUcZzHSOqbPFrHxDFKUkkhSzBCZMSvmXTNbPupmPsApRWzDuWCauPJlKszrzFHrTGeRdkFCSuagSgWaduSoLPEBrezeuMeOFWJdvxRmMzkkCtnmQSfGDuJAFCfnSdDeOfEgfSDFQzQqrikLshPtDDEyTgwlUBXPBTKVtFleBjVJNwendxOolBTEaqPHmTNNfsYlCGwCCaHkwfKjDdxMechQPHQNMymJyBWMJuJFIByjcbRqURiyoixjInbEgNHQdZuQXTHjlrjIuRVmawYdAPbKdAWHwzjaIqSaVcxJPblphXoIOsJjPlRXGeIjEWSkMDQjGuhqVnHhbKHrQrRBxPrXPZJQJFhvhROynfAmTFZRnReRjZGsYQXOsCcWWVhaaBwtflkWAoGWWrPVCRaIVxTmBWdt", "cvUhfrAbTMUlmTSMDykkfGHaoCfQEDmtaLaQoEnZTPEituHrNBjzUvqGSqdUStdebitsJuqriURzDsUZvZHceCiqOTIQzgdQJEHcwWBPSUvPTKtENhshsjXloLahxEaSaPflXbvXVmzkqEbfcDUOCfUMdZsHIkIBDZsrjoItlYWDyCgzmVDcKuiKTHvhUxMZrGnbagoUgFCokgjXAMaKnbjVKRiTSuoqGbSluNwjlCpxgyhnYgHCYhPBQhxAiOtDMbboyGpwafClzGtjilRpINXPGvFcMmfdGmauWbMBphTqRbiYLWftcVmhVAQyjlProAapNzBVzkZeRckFWWzKAbSUVOBXWgyNJXTktpayqlBOyfCtAbPFKGXiQSYDphTcFVvsfbNyPqrhFzzPiDEdxDEHRsneivpHtDvycRcvzpkvfzwdOGfOSHoFshmInrMmQsWcHYVfgrNbPjVsTDbezIvvlZnbNaziPkgptDizeRjPBIRYyfeDdjZVKEXRAMRk", "AqkoeHZwQzyHzaIciIyHfhAAmpzIGlYsWUsOwgckccsqhhDJdcXQrLcxfOAPHqYDhYojwToPASDanSiILEshcmIaZjkpcUgvlLHEHRBLUzfVfxKoOlksBzkeIrpSRAChDgLOaYitcIhFQIacjOWtDzhsqqLMYnKNGErgYQnJRaKUHpLBtTJsoHquYZmFTqbWuOvRQlMHnEcMVyTJGgtavGKIHLTCwxoqTjXtONVgVAwwzIgzFCrcEVFJmPUErLLfBTpKFvJJnwaijfBSlhmmUYlcgmAhIEZRLZoQRruHNYiSvmxbFCGLTNhgqkFDaJgvGrixLUMjEftFjtdGKmAhAGYtBYeLNGTYksfLmURYwMcEWqqGENxloFiIDhlLqBzRpkdREbhFygLnRnJFcnbAOXZSPiDRUlanrBKcxrezOAERdOvjmnQYrdPwHAknbVtaOWDGUlnHkrlzgUUrRmuOREfPgSkZVtLIrMzmOTsGkRKDbnKAEhaMTNANwzbWDvVB", "tJtLAVEFrvkHGDDVFwzyIXYpkvPCpGddcvzJdyTVBBEHUuzotbfqipDioJPItTgcSFnLaTGytPtBVMQnuTYuTFEquCHHxXNmIgxhOxLiSTlFxbNZiIRVGgVesGGpBQNKZXuwVXJXnVrXVKztcHfnPcmbSqvxPreJgXTcSWSIlAMJcwvpMPxumTXwbWYsOVFKqfSphrevMsXmVpGFDeEeCddMApjHgyvVYNVcbssAVfcLylBrwjMRVUbyeFhjBNKinyYYsFLGwzDnmlolvgiCKsOpnrKFsKtlNsSgNjadfMzbKPGwPzzWdDxTTZnBkNfROHZEBARbwfesjEZMOPoDoEDoTTZdseYIgYAywFeoFcfwtIteTvTBcVGUUjyMjsDSvymUfnbFwidAbBdvafLElHRvUIuFviWZYhgiyjilVPJwnXdzOkDwRtafpYfvNdhaOemgmbYqKJrluXpWWSbrDPeKyqjEQvWFWyLaXKYMYadyxgPZXIJGCcjOQhGFyKpo", "QDPonkYQPPtJrLSiCrgreuRADSXqvOQHGeRPRNISQHECfwrUyehOwqpUsBWmcMtHKMPjgYQrCfOyPzviWOBdNMnhrNwFnHYsrhBUsCemrmZDeTamvOAwlUmoFgbdCshfYsiVIvBXTWjTUyWdySjINijLJBDBnyHrVULYfpCvSnKvEeQUxULMFknsKrslCqpLAvMThoyjcjVykbyznmhrjvYLGnNIxLhwoQxTeNuFENOQSDaGjvfpchnwxiRzrzspyPlFcjczqqiwxAlssWxzgNYAbHsEZFTySTTgFXMJzqrgXyiZIjaRqWxQiqPkNWvosFkJnyIYBtctSKDNgfDXYPaIDfKnDJojRzVJPDPULUyFFXduzwZPVEpbCdZVaZapeWMoyOJkyLWKcIMsiIAPlMmZGpaKGEFNtUxgDFUyVSytadjYLjFwquRvbswisUtHQtSIqBsOVDAwtSnPQxlaxSavywsaWNfDjHYSDYmNYwdkkqCUArkVfXjHwMEfudqH", "sfGYprtoxsdiFltzeuFNZFaiNVBQWZhbdqYBAKUDtfvaupGJqAopERmRzGubomkpBmWRfHDFLGWJkObPZdfnIQWaDmLJwzkvPvAFBkBnPPxNZeKrZKanqlgwpdkLjqTljqbkeQgFzLbCprCBjQwRCGUrhSSSfJuZDufVYaCyXzeQODPeGcOeLVmacvXDFnvTgwOgIJNlZdOVdBTtXJYYItygPzHYeUjUPpVNhlOknNfnBhmtnHlehdwrQdQLrBNyNUuRfKgeLxscRjKVvvSMdWaxTEeIyjMiovRjpFqPkFtOSfbOUFyJgkjMyEOJpFklzyyIAuPsJcPdNHTbTGCxlNdWFZLsGemuSZYIEoNQquyHiWzZjPdNfwAyxoKCUdeYWLAFdopEXPYRQAMvlyaLzGAukouKMgpArZXvyKmDXsfKSUrKHrjjeWwnkjaQPQuNkFWzcgWsgyhFboJUeCYLbyjotPUTxBGGYqXyfqfMviDeFFxsSyrzJFpPbPXWItyu"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-12650, "c_map_smallint_2":20269, "c_map_smallint_3":11502, "c_map_smallint_4":7168, "c_map_smallint_5":-15975, "c_map_smallint_6":16000, "c_map_smallint_7":4881, "c_map_smallint_8":-9751, "c_map_smallint_9":17396, "c_map_smallint_10":-18288},"c_json":{"fileextension":"php","emojialias":"couplekiss","phrase":"temper temper","adjectiveproper":"Bahamian","snack":"Green mountain granola","loremipsumword":"nihil","carmodel":"I-280 2wd Ext Cab","product":{"name":"User-Friendly Earbuds Compact","description":"It whoa instance upon staff usually on today these last first close.","categories":["kitchenware","sports equipment","cosmetics","educational toys"],"price":26.4,"features":["ultra-lightweight"],"color":"gray","material":"copper","upc":"074725056754"},"productname":"Wood Green Car","url":"https://www.forwardinnovative.com/front-end","month":1} }','{ "c_double":85.46734160428399,"c_char":"JQvKegQYmR","c_array_boolean":[0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1],"c_array_date":["2010-09-20", "2005-10-02", "2008-09-24", "2008-10-17", "2012-12-01", "2004-09-14", "2001-12-26", "2003-11-24", "2004-08-21", "2001-02-26", "2018-01-16", "2002-11-15", "2003-08-22", "2015-01-06", "2008-04-27", "2010-03-18", "2011-09-04", "2000-09-16", "2014-08-13", "2018-06-10", "2015-02-28", "2014-11-01", "2010-12-01", "2012-05-27", "2000-09-14"],"c_array_ipv6":["UHtkZKWEpe", "YDasTbUCHN", "XoKakUuYZw", "KdppOXsHhd", "uOrSUAphur", "NgCIZStcWm", "wPRVUfpFol", "CerlomxiIw", "QbytNUtBsK", "fYUETNiHSN", "uiEAtQBvHN", "tpDjFIfGww", "jeWAQlMDNA", "EuouLkFvcW", "FGTVoMMTgA", "LdUrqBqdQL", "xqRlQxPzfL", "cpYFWWsAqA", "KITUhvQPod", "mPGwSmhFFP", "glGeZmpcgd", "LuYieeacje", "loRDhBFRvx", "JAcIphFlMP", "bPAwOkYZBl"],"c_map_float":{"c_map_float_1":62.965054, "c_map_float_2":44.600998, "c_map_float_3":81.716446, "c_map_float_4":79.19936, "c_map_float_5":91.31939, "c_map_float_6":99.969696, "c_map_float_7":41.871597, "c_map_float_8":84.069176, "c_map_float_9":98.918564, "c_map_float_10":73.82318},"c_int":-2096123324,"c_decimal":13.0328,"c_varchar":"okay","c_map_tinyint":{"c_map_tinyint_1":-16, "c_map_tinyint_2":105, "c_map_tinyint_3":51, "c_map_tinyint_4":-107, "c_map_tinyint_5":-100, "c_map_tinyint_6":42, "c_map_tinyint_7":5, "c_map_tinyint_8":50, "c_map_tinyint_9":-110, "c_map_tinyint_10":-108},"c_boolean":0,"c_smallint":-4281,"c_datetime":"2018-08-18 21:04:33","c_map_smallint":{"c_map_smallint_1":-32032, "c_map_smallint_2":25799, "c_map_smallint_3":-29809, "c_map_smallint_4":-14286, "c_map_smallint_5":-17270, "c_map_smallint_6":-17230, "c_map_smallint_7":25575, "c_map_smallint_8":25032, "c_map_smallint_9":-3698, "c_map_smallint_10":12646},"c_map_int":{"c_map_int_1":-1015506843, "c_map_int_2":1366339885, "c_map_int_3":-2017797061, "c_map_int_4":-1361017727, "c_map_int_5":-241261897, "c_map_int_6":-1730446565, "c_map_int_7":-237848723, "c_map_int_8":-463370628, "c_map_int_9":-1348960112, "c_map_int_10":-1266446296},"c_ipv6":"5cab:fdd0:e8b9:ed58:6bc5:7e89:9087:fe13","c_array_varchar":["HrMldWNGrWJwlgezLFPpfwaCnqobaufoKvFSupSrrcYMVvtWCCOngnOilzmVcBHtNCQwRknjGkQmdgKcnwBdISWCsrSqwqKzuAdFqYCkOKoYQCRyTzByzETiuFJqxNSRSYrYXBksVMZLOESVMCumYtqfEGppuNJOReeqqiPguVNOTeZwPoDZlpdBOLWYXESgMeMoOBwNVcxSTafDVfiNjpqctsBFtoANoUrfyGcnUmDzRdibNMWXRmiTqKsEcFmr", "cetFKQHmsBGdqpSRyZcIpACbWWLkrXjErKcgIYPbngnhBQLpvnPVSLVrXzdcxPiDvVEeVjQHjRdUXsfeKVUHYEXbUVHBbYQJVTSEgffiVIfCiMBBmNkfjnHzxIOybMtnglIjuzmSkEYnhjlcurOgnxDFatSLEtKPaWAamrrcnbtbxNrOrZrGNPpEgapFKyPHMqctmETftFiphHCdVmsyjvwGRBGJGnVGrkBqNTkCWIbypzLmHdWSTGJVDEePgfcM", "rRgyCNNMtOwCEkKrEkfkpNWMZVHTaqCZEnmItTLMuBqTopJYJovHNUcQjlJqcrJDUhoZSxdlBtGUUHuselIPgRIeglhgAPpYaTjwHWBnXOuHvqLwnDsWQvdNdFZbTETobvZvtKQlSfcNYSsUUlUoNnlEChvSIYtKLSvzOZiWFyciZNhQiMCRLwevNLanLFnyqJOhTgwomCTFjdDLyJFwpjwWpCsAkWVdbVjKMNkDigzTotlJdpqeTuNjleyeoXWV", "qrpQJyMfzgmbANdLETeIjAoLGjUYEkmFRojvQhMuJnebRQjvnvzyeBPxvOBlBPXMHCOnwxdCsOsMAggxAMHGmBKMRyBdFulFiosKxpXNXeuApzkEqmQccnPjnDEHcxXpUAzlnBqgfybHjPezSNUuefjcADxNYjrbGJnrZZLSPXpoBbwXvvCgxyEKQxJrwToKQuoqpKcZVtUepNaDlihDunNmnuKuoxagLmpnwidOdVkOxBDnrCeNkXAMKIPYVITz", "qDpAnFjLRGIeecGIVrAMayzXnUWLgSbxcAMzonhaHkjtqNcqfxrWHjLFQFOlzGVfofmpqYZsvHKWQzxUHaqowSxwRJcOOqYiACxoCLNRakBaMkafKnMulonlsBLenFSMGAxpeIoQlGHwMLYkfywaGIDGzZmYdNfVCVfNQsXYQOnAfOMsLUeqFfBfCYvbcfhmDDnPRPTBHHhQLqRapuHSZqoxUsBMUGxRbInIkWXNEOYVgOpMKJulXxaKuKRqpdEQ", "myoGJgexBZtNJHkNkUsFdYsoVHunAVuewxHmbUjhgBPcvNQJQPkkLaepCgtJypbPqIqtSRkNSapQbpOERcTorQFMiugrQGBZRmWGrcSedqurZPvYCFeslwjnSHMhSTzwBMRSWtKmRVZKsVXaHAABhqOtMiWdxjEssvsyIUTELERBMqEJmxIOyCETYmpmsdVRwSnfjnXUObKCnWnzOQjDhgzynEjPHCJVbSTkOjbvfYKXdbfbqwZOKqyRrntNvxjz", "IQIOffoUaThrmEvgJqOeoioZynGmgXxnwpihMBSMWcOrvgXyMeKOCAeDImjUlGmuyiITReMIeFwrzBgQzecfETqkhcjbWNgPxDSYzNrnEqsIWVcgJwoWUpJDoODePqvLsuTgMGjrKsHsDEtIeqOFDtgyfTYWQJONjxnFMIOxWizJvgAwUspYUPcRJznSgShUqoJdBRcldpaEFjuurWPXEmhOMIUGKNEOSbskFWgVPajQGNiYJoaWazSJeAMowbmi", "FPTHQxxyyHARRekFBSFtIOqTtzyMPMXFIoXSWBprMlGSdOFJJkVdSNesXxsnkpkVuyxregUSAvSHTUtnOLcmPuUuDubFyFFizWqjPuYzOnSXqjwqUZEfdIcLdHBJhzXVreyszkrRJojmmfFgekhhEBepBSLFtDYoaMieqLAsIazvAiucsSaZPXBbYZgKiaYeNGfcjTcaDQsPOFRVimzBQWwLErrVwcsHMPYQkfyzJOELfGGTobGOQzxNzoWiqXBf", "iWuQquMOzcGkKpNyGMOgsuhmCCTtBxStHUCPmTkFymkAOzldwlodYQPQhXkPxbbyfNIKHOAdPJcAojnBKftUfTnGzUKEEhKrJcNRlmSmqheXuPMUYPBXUxViautjJWcXrkPMAeLzUOTydLyvZaqQQUhQIJTAtjdaTgkpnGZcIlkEkaJKetKpdjzfkbFBrvHGQIJwJhXJwYFLdYXKSSajUYtwqIZnNIjboaclPgtndOkbupdlKOIkUCuFqhcyBtYG", "PDTxRutfKnMnFudoPDTeerfNAbnxvIUmMrLXFhajYHwIQJGbrZdWfzwTwDvCafsSAZcTzoIorcroZlduCfrYKuPUApEUeFLHpkVaCxNOpLncMnDByyKnwcxkeCuEcyuqOBIJUdFpSeKntSbBEXDjEQeMwgeSehDAgeMSKXpqSnOYpuWibSeyEGYfxArRGbIsVGCyJJXtzqpnrmGDoRKhiCRjAuIhCjkDlWTJFNmMpmYSvKIlHObVCowSzmKFKcme", "QvvhdEDySTHPmQTylIdstDZazRWmgqciIrfuSTpRrxEqhnSqYjQSvRMIcvyzAtJvrIZclncLAkGYJVnkLLocSzocLSfMuyOysjmKEHWJDTAcRUBCPpRMvXrUekmtBCFTmYnuWyIApUvzThmxWSbZgLiskuUzHbgPJLGZwCvxYzzpEYCQBmFHmYHYaIAILifTJBhKxaeYvMGbRUXjvTAZtoWCjzxfuYGvZqqaDCvPbudrvgzRhlBqxoQkTcCbBavn", "OdkYjjILlXlSOSRWdlSICvLRlFxQkbzIRQFzMktupskoTbFzgOvOgiOtVCVxhKWhvHEjOHVAdIKnEzLPAjrBlqlpWzFRcMYmsfTzHFJRSXdARMpVohqhDnduKZKCXQqMJNEdOvyJkyUfelyAZuXOcEXTPJQGFXnTybXsWSuAgKlfRImlhhFOQuHZCrSIfCzJWSDGMfPZBYGMHWEjaCNTRrWHMnAsucwnetZKkzfPKHwVlxsjvyHcjzzaXLmQNJtX", "PNktnmdWEvDxBJVtOsecWSMNVbAHXJfMzLUnRlZNhLgFPzJHOnpXnUnMkIGutpHMmYowHkVSOLaUWbTGPHHayhHyugPJcFIfxXZHXzNNqzbwWXymcOIXaNiQcPwRYUzFqsaUJTDuqYWNIYNZzSquvUuaOtltPuSnBqbpHiHmvHOpfVJDarGPtFUGeUBhBUqtBsPvyUfmUefaLOlddpVHbLZFFXCVXUYMOrgzklaqqeFvqwnEAdpwgjSZffWOLhwY", "pQoyuvIJLtwyAvspXsSMrwVFllKmAqifxSvLiyFEGELISXReExHLNQGQquxZaEAaoEmRCUZzhnVgxEPlqlGiFvxmptjsPFxpxWlewaFFYUQiamqQcrLFlInwiqNEUvVFniCEOIGwgyBlhDaPmSYgbdCQUBRRdlqHhEcIfRBFUwFmxhEGItQWRmpuqKpAeDbVdktLTouLfPojhFnZGKkYkfBOJbeKucNHIYedhbJxPOiibPzcHuPEhOLiHoaxhbAV", "yPCXqfTjVkbrEOooYknMSqraZHmXDQdhdGzkpMAIOXjDVZtosepGSMDutShahVsrmZxkImNiTnNfqwJEtQlxkfPNdXzFIFddUvLgcRmUDkkNaqYZsMQjhYVcMAxByCIEUaforeuEBMbCkBUiTbgguoISMWOaTZmcCicESlDogPYBNSFObIVdjLVVoEaYLqXdlqcRyVWTRdfYTWoiiVhHzIEuRUHhDSdhdaFPtaBFoOieOUlxuuccSjpqbDpPllvS", "BUPIwSbselYmiRJKstNkqiiZrCFtOdwUlJEDlwkMhCqDCIdrJUlWmjnqUkITkMGyLUGDulVRaHnEbIwzTDVytQRaMZLhxxeJfHMMOxPhYlKrmcXbIBlOsHFigIdaVviRVjGYGUeErrPvHENtnZQIEwxLgMYPPtdoujDQOVWiriEYBLRYWZJpAVPHdONpMUaLTtyMIqviuLGGFOeVmGRoiZIduLVAXvkuZVuCUmOVKqbVfUMRLKuSoXUhVQIMAuNg", "sfEMPUGebRFvbyyPweInKrgWvdmSRyhVhIrgwDNBPbkJmEgGDgtlNEDCllGuUTNaxfEQdvesBkVCdAGVMsoYbLQqNmJGRJDqNFgAwYtPyFJiRILxXpzsvxEZSihRDPtqWlwinHEBxsWEWqCjAfzAyJpMQyGucOsyZnrAoNjVzsbFEYjewQQcNlvteKyWHnloItpJdUwItncpRJDFrbagCXsKzxhdFrzoLAZscgabxfCxFThlitekXGWZOPtwbWHA", "pyNabIgNPAxaLjfRJTRbqnxKYyYPOIkYHjrwPzSSANITGyyrxSNCWMboBCpIqUkbpNkFbSEsPjyhmCaLcEbRLkWCncqJTbOrzXwkbHxcUYEcdVhzwNoaJDgdQTotLJUzyMDkEaJtRxWSvxkHTDctaaOyBBvRcaqWUieeWgWKGbxGLPzSxQeobKtXnfTukItWleIrPtyQSqxshTOjqxKAFJlLmmBVgPQYTMkSuCGDigEoSjEpBarYXESzolPCYXoZ", "eFaIGKqrGAhyfFQwdSPhNuOdwaSOdRPZqhvzFXneCCZESvcNmtIkDqGtxUlAwlYQQuUlpuvrKNrPpwNzZOhXjFZKVEKkylQBUWFeaDVUtwnzJfujgkxWDoWAncmLwujFjNybuMjdIslRlsaZAhhczakMFqJmCDlDpfJhwnqHWqbWGHnHfqYaqovxOyyFazsaUbWNDqXmTSoCftNzPWbCTzhigqfSmYGMUQWmgPOlFqWsmMmJwWrRBhjcUwyLIcyU", "WNAZZTXfkAUIjpVovujylnSFNevKyIBjIMlpBsLWCbvIdWdnsxNlMPYkrWShFWbGSwRkICtmCDJyxYUdriGQnLJlvIqaGAeQekudbbfAojsqfIKdJNoYQmZuwFYPzkUUNJUjrtNIyxKDIfPTmWlqsAHTrDSHmknnfmHShyUcllNHcPpipeJwklkLsmGZItytWXCmtfgbiCTtxDjPnQRlTHFANWncAIPjahUjiNIZkDpiFwORECPYOpLUbpIuqlXT", "sodxSuRTwvCEupOYBTyLwmvzzkEfIXMpOLFBwwIaEIclmWvVLCILFRmpKjIdAEreHrTcUPkKItMbQbmNeLxIIxBOTAfnbrQkHqPOzsuhencwjxsfRtrrpoHbidDSqGSqJJNOTLSrjSzozgCvthCARsuQpRdTDjLvKfceTpbVHgyizQoPukDnklLiDSLdNmtDtZfVdouyYdnTTUxtTuPhzCJAwvRbIuxQHLCbpdDohGgmkLztWuzDMAwWBrJtjNvn", "lAJzCHjFXwIaAAeMygtFmdEltCzJrgLkxUyNnwqjGrjKVluFiskVCUUkHvazxcdLhRZTgqLJzGJMzflXHEfVjXggBOQKBYAAGpIxukAKQSDDdsHzIPREoNsOOtwruFphumfmeOspDUTEHgRznODSlTibAGtZcFPKdyDVrxvDjAVrQtmCDBbIcLlnJVdMCsJTUevVWTbsMVmRyhBAGsyNhfejUTNvefLUyCUjRBSWJFDjhJsefNjeHxOZXWblTEnj", "WhYbWFmBjwlzGPPflxhRodrmilimHGmghExfIZMkMgdwXSmaRLarMpGRXvoOVBnqECCzcWuRpkPrtAbbIuapwMgcqXnlJOeNFmDggTkNTsYYAZddcfARLGMwyuLnmZMxwOUQnoTmwpwTGYhSyDduxkmdrEHMYlNMuXUSuZJCgyTzrNMUUGipuvXeSmKMdFtakIciQCZHvhbMDYqDGjRZEzhLlhpezIvWNrSVjISPLMDwPkMVmQYUsHtrgSEXJooU", "MbaGMIJRixpnpSHjCukCackYEUfmMCvDlrYbpnvmibyldwgpbEDPkLPkanABrbixadbbhjulRsviMlaoRzCxEOiHWDRuTZIHlfyMKKYXKcgXNHZoSPgCsHDsjIobwbWycIJLPdCEqrbpwEnEqekycgvoYSgbqWRIsWWwBWiPfVsvUpqcVNFkrfyjBWUBuZELrMygwENGfKWRMqaBdKQZmJEMElAQgwQxgGhnQIhuXPyTJvJCVMiYnAFmHaXgJqqS", "SfXpQEitckjgElicZwqhCoubqvKOUFLPSyAWwGOabazxjLAcwzJXqKVopKozGxJqbxxPOOaDYtVmCaJTzzUagoRaAKJFHgUGbEjLbMWNUjudLbZSFlTqefSFFrRqFGhpIPgcEjGebhcYEllAoENmbwVvstzvfIfAXkdFrfEuXLjEJHrDGMLBUfjQJyWHVfUsbUAkUzuTnSZxRRbYGbdkKWNHqBAlmUJLiARYeoggMMtiuhRZqlXDArdtpZTxiZsE"],"c_array_string":["AEIgVuEWvGHUEZYPhjblOgRTPSWpWoONJxaNONThWhJsPeOnstfdQhDOWIRuzgFlfOTKuurhPHsjKpzsNGauUNkaspUSSDAWlwrkHEPJTDmNHdGVuYBvZIAeZaHPINjFllmLJwUOXlUcogDWIdZluHjwYexFBuTnQRrXdKStCsVavqSJEqUKddAOzJMmXCQGclXkpUtLwfZhsnGVrhLPwomvxfzpSSFGDQUQcnPVLVsPbwymNfovTrHGSMcUEVBnYJrIFHWInZnggnsyxcHYsDnCnzhPwRXCnGRELUQBHppKsonFswDFXdfFFqTARKeXeRmAOYkSRdIozpLiHvMuOkIPQnpztNizMzOOuPGPrQEChwAQPAeuPcvRTUJMIZgRWierGqNKyhGkzmtpYJDizmZwZaMIbvhslCNKmyTpzTdYzintBvhjsgKwOiACYEtJCeSbXESWdTmVPgIekXirLTqfqIksseHCWGONsqcpEbLDOlkFqOeettjeaUdukJqO", "bJHapmivexVfUGsbPZcxWwpHohgdTfKGgvmfvKVuiKgnHycTASiUWiNFNhYyDSbxOadErdDRDiQgduiUkioBvikAAPxZRUNNehhGoXrYnAnePEGjDqHTHAfwvnvAJRmbYCCvUdRphZtgQgDujhGmfpozpXffDjMHCYozQLaSjPwEQqNBoVKuCWGorqcEodBmkjUpKgJVqfxzFkGrXnMHsRzvYvdkpjSZowESAVuLzIgXhlmeqCzUifmADEdiQGgmCnGzkHXUrgXEUvmdzPZKPthDhUeZpnrkwNbqsMizVovqEttDPqzpYwVGKwcNIwQgkcpLijtbMaYCFnCNaVIPJbdyRljVoPrqigpgiXHzpzCuegeBgptwDZTqqcXwcevwxxGOxtGOLgHPWpsTIdBqLFodkFPTcInzMnAUFVCFxnHPNgpjvBZxiOdwiMrjGsSxTDoUKdHHtNPKyqfhiDcseUijUNhxMnntHCxejEtrqcnhnMmryNGyKHcNHLGycNhW", "KcfszahvHONqfODyNJydQspJArIWxKVMshgSgFnoBUwABNerjddRpPbHdRSafuynaNdMCGFYitekyEHgVCtIlfBkvbwhFkxEDmaTfduqUDtMbwTLUjekZuNxeKQkowuiNwJoqHJQieAyRhpXXUKLMxTGDWSNqlneGaensUzPyCxOFkRDnjhfrREXcuNoteFSasFyFqyDDvjhdGPiVQuZENdNmzmvSaNZBsewcUPbrcsqLVFujzfCmRGPzvHqNdOwTwefqHqhcLBjtRgYWuLvUHumWdEKCLEvzcwoTokVGBNSdQXaqnFHtUZjpsxLPeZjoAosgNsbTyEfHQAVgMrmyCcjyDyvtTYxgwbUjUUzWVhPrmwNynsWgiDWKNNcblsrvmugmTsYVEIxVMnbMVzNkYChFjvwlMlskgWoMuZYmIpLuvfRhSjGCJmKctZhanCQIpKEVxFXlpuqcwlaFDZnKUwAehdOlHzBNEexBLwIFBRGRITTFNaEhOFNqUzsMyde", "uoNIvMKMReWDvnjiDCzgDMFBYDnuDpXZXRJxHzkrSxhHJupmbBkjTRXnNVxMktImiZVbUZjtiGrMAgeFVpnSpcEswxsnimEmQkHlsCpQnDbrZplNTZbMrCqryMVBmDQFtsAHIWhTgTkzZSMXUWEXlhdAXNlDlPKPWxmaYoYioKqqLAqtGCJMakFLikPFGYhOjwGECgCyErlAGQGCeumyMhfbgaWqIJgAfUSDgThdZVFAyNUCKifOwPvuqqPuPvUgrwoBNKwdhMCcvwxxZiMPsQnEFEFgtJkepEXnxIQWEBLkmQWIzRbNSiaeiCBHEyUEiVjxMzFZjEyENzCoLShoUHlBqdBfuBwWVAuqJbEtdolmPRxkJgRldKaEgYQkaTfMXMapqSZKSZSqtWfARoUciWZrsjWsbbzFHJWkxEvvqmstVjgosSxJSZokzSXqtABlSlzYWYCWhzfvMXpHfuTiInfJkTosfeHmkPQcOPboTHFvThvbfDpbejitQxEyvIxC", "uFHyZnWytljBdfAKeQFiXFFHpnKSmjzIvbgHoNmQyMZbUERLrKoWBCDYUJUDjQwMrCBGGoEagHZFZcWLBmoTawFAYjHiqqWDyrSJOhCKaaNduUaqjHqPDCBTLLZRiszHUmwzmrSPlUdFqzdKZoWnUSZAWVXXxJKxBZOahqsgDzkvfAbLzdxZKyqFdMQrCKljiADkFLPhiEwBvPXZnUTYVXyvRkCTMJfVxMFgvFJKjKrEroHslUzbgfIuZOaUiPBgRUbUfWKfMDLIVkRQeRuUuistoZuSpqOlAgnUXMffamsAZWAFoPBuzUNUCnQSmsyxhpCNAfKPEwtTJVcELmHNqJDaGqbFfbKltfeVEUnrOXpJntJfPfHMYUYjRMjJDajIfmgacBEEuDRNkuXgKktzphHadnEEwdgVnMrgKGlpzlzQZCOgcbfkBAVgjynrSbkbNYpAlLYmzJljFsCQhYRoNuUFlwOuyBCUqJumNyQFsJzOTqTaARyfTEnsmayjAvEG", "MfrqHSEJNXcivBdOtsKIkwKBbwwBUujndqGsESruFuqrhORpEkBYLnAddIfBRSnBYrtWtnHpDyZnDxNuQjQcRBcDvHopmIryCWbLaKaffQbskUTVgSRmNfbTXFYWfPsfvSyrsAlmRANYWUjBTfBWBNNePqwWiRVBmguBxQlltTCKQzqkhIgcqzXxtnPyyVAZHkvkbIUOKRYuaAMuIwwenwAPSSCUensPhokSsuLNGCELZVNJTpBfbQVLzMMhGjXnsWRoJTzbvUuDHgTTSenhWLrZKeqZqtsRnNqPtgELlHnDxHUllvOIwHyWMVeIOSDnmtjqPRnxsoTyKDfwkHBoXdrdFAffrsJhxpHDTECzvCjUgiYvezUiVFfARIIFbKRFRyCvUnQJosaQCfNxiGXLNfELcJtJfAfcyRbCYvvRUnEsvTQFnpmFBLThGduiwdgTCoMoNUWkLVleKOargTWBGVxtHNbhMZmbvJtHUvMmumIOWPvtmvXrBTflmcCWCOMf", "IOzGhePMpWraZeVAIyYrZAvZhXFoHwyEhsQslmrdCdhVEWExTtoKeebzJOfVXTjGkXDzhkywvcfeFzbWuoiUeGMURmMrQgpBwMPUPFlHzAhyiadyPcbNtLiURkzvZssUKJUVeWCWZzUFwFrVewVLihRciNyaNUzvGuHoscsBjlyfgWEAKJZUyGCGkwMKRrKgJdUvEQExqWsOZMiRnCvcQEjhZcgipokFzCDuxNSKvMaamZmVbXbowAOZzeUPpcZRptZNQTwtSEEzPATmLGUpPMVqGKLjwuJNMFfzfERDhYcqihsAHpoGlDvzQJPOZcwZxPhyURJvVWvnAotarkdmmOsTEcJjuwQIRnUfopgJvzJCpdXsInkGUsWLWlrGSTiFZhbHhSRmTlIIEBYWHXyCAxadMGxxIBTWxhJTwQxRxKKutFhvRottEtqQKQihCYHUsOrUBcQwqVMiAYuuItwbyaKZLXCrjJTMpwmjRAECHUoFUvOadJXqChtxOwfqDFEI", "cPwWvrwoCuQSdUAexNXcFqMgqgNQiFAGqaDXZcbgWukGFweTSNvpFQiJbUfTZBudhpTBPQZoJIpwbqeTteKxPxdAnYoYOidqnIlQCiENHxNWFXkdATwmYQLERfDSizPTrzezXIctVIfMXevxWQRnVItwHHRygzfLNsLYuAwSzZTEkcVKsRDTCPVzmrzHoLDaribOwGaBsKspfCFGUshHGuDYBeQTfKxgUtDnJCWxUtHnhCJsbMnKypKxYNWbrqCkQAwlJJBDTQLQKFojhzTyKNVVlLsjBayZVGGZLRnieBJHvPsDViPFnbTRaPlmuaqLTDQnifdhSCExTaWBZsmfjiDPSahJrpFOKFqABJKPlUlWEYhNXKBOxwMyyRsphRAudQKWmjpUMBfAlJDCoEEeHEMrdjpkHsfeQRFIhscwqfvcRkCSvhNUSKNEvjlDKMIDsGvPudugpjDGItrGEZtauwBlncVVeAYyuUGqoNmypqrHmUxyaSweHJdBkgorRxnQ", "QEBsQzPLRbJQILbckNLQKgyDxvbLKTqvmvtUfJcsgtdKOJgEbzEzUlKOPsNuXahAijIjjyfMVfURWJYDNqheGzjdlWaJLmqZxrlRYVcVsHdNMxqrGpaANJbVWXeDrXOqJmKcdknxWRDvzDMCCXZpKptNsdOCkrjDplGXNWGWVEoOjxkyLjemfMmtnASJbVGSvUbFZhWyUpMXNHhOSSrgMWtCqytFBqDwNKVKZapqBTGLjnFuSTwVRzodTNsohulrDJipXeGwdkmmwddlqZDCmAjDCwOoRArWmUAbbFwvBvcurcByXrNvnRPrBVURxeuKOMLAoDeklacjjjgxwIRkQphROJcqMBkbUtElslYNVDFHbSblTFDrRCzAwJlVCtbZOPHVxIsOgoNepInlQocqShNCIgpQtOJluuuSSgaVtGnmpuXjfwpLnziBUliKLDWJCxEXJJjtqShqMsMcIHarmyWfjAUmFKGhnuMqKccaVuERIofXSPjgGmOaSzEakWuJ", "DMiEcCaOaJggHaCwDCQwfuYmjkzsclmdbJWSUPGDrjywMofFfTcpeHpfnMKfhdSjgkiThZPHKhXnPgYjLJnIpkXDDFBWWODaaPBePZfZnbqXRptdZlDtBehHPFTxbwfEdqAtbjKIecgkPFUklOVrCRcWkKOtPRksxUbljIiyTibOKNtTZMtFybORRKtkTKhBqAbICbGTLRInlykKvPOMzWfTDnFfpeYjWzfAEUcoGmftIMHCHDYzUxWJPNFNseiJqDOftEFAmkkIkAPgadAEyBKMKYwwZKFJAZYmiPMfaZuvVSNkepyrtHAZaIVcPsKuxSEDgqVEsveBhtuATAUggEsgmlYdzLUGMQVYutqlWGKGwauiAygxglaMtsUmfoYNSUkvNEwPXvmGbYKShBruvrBTtFQVIiEbPGWFCAnhJZoHoriupBqbLWsYVefShOGMmxFMtgZonEviyqaZkmztRnIFZCAyxZwIWLikmRhBbUmTShiOUsxORdGKzkTRHxxq", "SRFKmRBHBaIVkUJChcmWVulGrVgSMxQtfcKGwFpguigvyZNmcLpUDsnMLlNkyfKztZqHlKQInkWWWEJussGRmTCHLxPDChAJXESmZDBbHaktbWYXyMpntidXdHQiCqRDqLDFcoIFebMOdrfTEbBtLyWWyrNJBClOlrdFveEvKdNZQIqAkTVywddpHbXZubKZBuXsXgZOTxSAaNkrtyYstjzxYhzbVHdqFUOEJXYVQoPZDdRQkKFhaLGpojCLEljkHQdUqLyBtxwbPqUeZNNvnGTNPDoGywwbCQuGWOzDuHAJYKlZYbCABrvoHybnTGHRLgWnelzmUInQBQnQmAZUdCfTBEDFVmyUBmqZBMkiqzcYSIoWOtJkyWihBPcuXKCjgQcDQGPJflWQjSziaWBWbGGgmLUzqFjTRYPvjcvAmTfEWLmArCCGkHMhEqGWLfLGkXgVSxpcwoSoEtjBHxnUrjsrrXkDYpqPoEGnghEgGgTDQGYWEXNieKdYYrjjFYzZ", "QOilvtnrcMuunAuumXtLQoYlvLbnlznUxDXFgWvIIjeiqxvzdUUIUzdVKeWSNWQATztaxhDPPKnIHjGYAjcAjbTgsuxzVtJigVUhFOIfSTjugDztuKparoOdswPdKdFtorMMNxopLHeWWYDnKTjdJJBQasMCNvUJVjqilfMdsiUhcqoyHODRjufJaTIchpHFdjnIlIYShlfsalnVTNVcTTrHoqbSUhHgPztizPzNoBWHhvJGMfoaeNzytdKcetlFMAjJxURykZpvtyFkMmSjdrMTmJREmTwwwHtpVSbhrzajYCHFqtVVYGCPiZaAnekjyDLdeyFcMRfVCcDuyVwcvvHRCyLnydLuyrYCXENZZrZMsFWWsXzjrJmyNyyLyvghLwepmxCZqXogKmOJPGCLfKSHUjCARXXbMuCmdWDRoxqHJUYMDvknjltYofHmfgzOLKPYmmrenuFZIOlqVppjXKyWfZgGjgXiErpWfKXRhIxqDxegBjtUdCWtPRVvjrJp", "BRPZCUTpErtRLJDvWklqOfglHoVrtIBuVquLUjymmtmtzmSeQQVAMgKrzSdDmepoADwMYXByNbqwMHWXBclrNYeCYWDAGsDYIVeKPyAYVAROGrmvkibEEbNeLquFgKhhEvfNpCIzzekzMQfeVmRJqkreDiSiDYWEgtYKLExmGNKzYxmZkGOJJwpdRsPOtOOnhBiZvwoIHIqQOyTlhYiNaLmfuZOabrNofFyAKcKzJTmJLPuKkpoxpoHJJXBYlmPZwZiZgtFVWUWUfprYfjaadAICOeCKBJLQmMetRatVJLjyFJDPPRObxFbtcSraBpRUxrnpLUaYOHgMhYAUizfylptZkkgemgvyAmRyChoYFWERreBQPxPgdtAXSBbYwJDrzsXMzpNKeHukTOSTXqVyoEPMxkVBMBRofZlTeInIyWEHuUysOibDmLATniUyYkCDZROKjteLSZnadOaOoQWwlZYdoFAqARLcZElUmpaJpyRuxGetmZaXtkcWoQmzhVML", "eIkUjlWCEclHbDaVOvMxvWubcmsOgPrYMjKiVWLvRInYcBUNdEKghJXRLzRuzBnBCyvTaIuNhajxsJYahPkkMIXgBfsKzEaVIRcIfnHhkUADCnuIUUJSDSpSsqNpeAndYbgbtzZxsfWbKPTnpDYUnCYYYGRLXgUkHANodOFbXDNSMskmvXbTDrFdFSFpHNfIwjlLrIubWpnypHeQoYvybRJPkGaadIsjmibyWDjvNzYzIXUvUKyQiJJCgHAOmdqXygRBjusvvixyAZVzwxjOkRULjlEOJaOdAfzVdnvkaITiSRSvLSFKNTqTqgWSYnswmybpLtjObGmxvAzvIYunJjistbdJBVdziuzhJHOwpnMAeGoUHGSmrmLszpAxlvfTsFMRmYnAlLZurfbGPZXiQbqKwtcUYdRxZULgOvUZEeYQZwfqfGVEfnnfQBSXjyHbxRfyuyfkisQbGXhchtoRlnUyBSMyWxnFxKZogKNWPtGaTpPpHsJVHlMQoMNxAskf", "oxfzGmObVuFnrsZnDtVyKsZGvfTKEbZbntUrvTtidPftXYktyUIfSjeKDrnKBcEBqLzHcWCafmUpmmYTZSffiBnvqwAukDfJEoEJTnBAtLEtEpXuGslJOucCrHfMBfqQnbfvmlzrjYvKrvoQzaMvZrRtgnNWhyoAQODNZmdAKeghgcBTxsLLxCwCDRPYDCkVfiuwGsfqpbejEPSMEWmymXRhCFFrGueNDXmysqCVqDTapphMUnkjcnsCQjHviLSfbdfdWOqQteHSIgeLdtplVwonsOBmtwwbtHkPByBuxRDETCFWowALscedgjOWnOolPVFbMkPcjOrovWUyAWVqbhocwBkIYQXetpveMjrAWYaqjKrUwwrALKhzroBTxymUeFVJJoARoOWsrSiBkzAhljlNoSMXsdScLaIpBkFEHLShnDiEPkTqROOMFBDWydrtENmArjJqsHnrBjGHGPFPxrPfYVkVYRmVXYHOuSnDqncHXAwgRIwqTntnDqxskMkb", "dNNcRBbmMwZQtolrXDsyYzJGVMPfDbzVRkjwfhzAYMLGTDWrQhxanbQJTJffSjIrUaQKeLcADPNqkJbcmGxlMdgXSyquKkzoVGNxGqoNJjvkbwncZapSDqpNKRDtxQxoDjLZyyIvXXgzVRgsYXmzQdtnULJTzRtrCUThRCfLzUhLnYEOTzGxFGxdJlScnwwsWyMtxMWZDRpLpOzbFTjXcIrUzyjyegbsnWumyjPRWSVJIwLODfdbXZUZnVLyaYvSaBFEJuZOVOAqISfvPHKygqYdkDsJZIujlMGvcfuOjAtZMmhLlvPZeQFsOatJSVvkIXDaszlcneCZnFrHHcneArqEDYCAHvyrQLEIZOddfeLDupvFAmzXgqzOhbGlmYPUDsLnJdpeqmbGPsWdYzNXKjvCvXbueyRXwiUGUDGFfERiUPXjEaXnZGDOqkJziOSGjTFQWSLEXesAdwKzslaezHCAeTotsGzDKNHdJNJaWQOHHQIuxVjZgTxnJigAIwPY", "jLFtLglWsfhdsRBXiKeZalhEuvGMoNahWCcXTargoAVEPoPOMMvNdoXAilvmzXXxQwKBGtAzEAswyjSSAYffILFAFMWrUoBUhRpWhUIlqMvRumfpNUbNydkPScKytUhiYUHgPkaepZXbqrlFJgCRRYMgLKSSydUWOlibHXBuBCwlXXooyMdOzmlQeJJLmRRBlKYdQndLrSLvniZlVVpXEINDtBxsUjxvvMnhpHdDayGGUAeemEuFYyaURKBHQVYrUcoSqisnEAzVjcJaPDgJRZgzZHBbeNCzEIWVjMihsxFTPaCrnwpHLLqzrzPbMQSctMbfnwmpcidfDJNjKDSruaLPOmdWmtyZGUfvYPeUwSytaEIMIjEcSMdaYKwMVrEpRMhfWgZYrxdoVXuKsdoylZZxgmvghilKvPuzXVbOtasmskXcwWZVhvHGZwCzrUVbQtaeOwGQSWRlqDejYMdRchhpBHciWfVpedNhkXJmISHmDbsYnHWePvjhTvEKHCSs", "SunWetnTHUNRcTCkQvkAdqfwZlSmHnefgelSPFLmUhWlWzKCEfcelpZAsiaLIpYBcjAYkoMWYSThkUCsWOnDxqSpEgfOYyvLmCuERjtOCMucDsiAWqqbpFFDVOZCDbTVZOQOChjwzcxdFvisLPxjQKaOMpJYWTRyKXJffrYxraVmwGRvZiMXleSPsgrrzHFqlsMiHCpTARLMdnhLGIkcqwVtlEdcjlUyEEocntBJUcsXLVNkLnBDTJFeevLvNJeiZqMMQLQWRhXEYBbFcKXncHYHizREIgodVftxDJhFKnoChdPtGzeelzteKtQaLJWYuaashAfUiCWBMhvNqBaECZDRLgkSYlbFNBrIfAOOYxRooDFGlDuHRYSxXkcGDLHqHvnUUhEsXnHuSEdEIOuGGvSZhyRXEAcvdQomBTcrNKaxjDqBETONvRbAAoCETcttzlkAGQEJALJizryNihLyzZHomtomWANrQagdPWWHKLPDkhPOJwgOaEriSzGAxqln", "zazfdGiNvCwNKtSRMrlxoDCcKzZNLqkudTelnOcVwqvaUKTGieHdKsNRqmVXMdxmgHNvUCrkFXThKUxNFxZqArDwyTMZugBNUWGYsnZraxwQpiyJpUZzJaUViBviiezXrWIOyQsWJvEtXyDouDApVKPkShNAbFCGTnmvcMiZGVVBQOSmsrDvIhLxyBodNGBJOZgKruSisClgyVUwSFFTCKkFpUGZwDEZKZTFYtvFRYlRhfzYvMixAyzctHVcRJicKWWvKCFDYFLuKdSaQeTvSlGnOUhlDQvABhoySwdvRkGhNopxYzFcxSOVlHdoAYjApwUBXLxYdpYdRRmXjFWwvZvksoEfBLyIQDIajRjFoxvJAwATPEkPrOkcMhWBObXUTZMgBxWRAPjuVhlvMNFipgBMCBSrVEjJEOEjuoeeaJHSgRoPcadjLscoEcUazxRyjFfHIsaqFwRUCGlFHjhiHDMQYemtXRmdLxoUeKvbROpAuJaCAQmKOfREsSfFWvsn", "pxZYmvuHFIRNqxdVNtWOQdzAgTFTZsjMVNjFlPXmCRRNVXMBtFirIZXGHmInWhPpxtbfANnJrcinjFZWoRTQSjtXaxblnwJVRaxjHxhZqqxpxIxezZZzGAQkCiIymgzvjkiZBtATgyuBmDYSGMmXDrPhsHawrdmNnOuCllvXgNeNhJVhQfgetrtrzmStySbwlwDNuGmlmMdPQldVnjmSpCyqzZvfyeLeQATIHUgCttZTcZiOuBpIeLZbARtHfHCoQTMbhiLjmXUigfJOtWGEeJrKeJkQBiAvLldQoYihIEKqUMSUUMniFBCydajwiXeWpcAUwuBJSkLtNsGUszPqtEhyAHFhSUxwPjZdKwMRLQSEUfdQaLGtAoWOGmKlDsTuFehKsfUoMGLTXXKforMKCrMFoEFkTKBMwzyvzMujREiZkgIFbwpUbjcgwckEYsXArfLPmLFbWKzspEUvLhjQIgqcjTNmAPlrXqKevwCXKEfQfybifFkcPpcHMRNBseKo", "xazsoZnDygUEzCvSgTAHwcnlZpWkdNMRhCGVJJOefilTfdnADXBIzTeWUfqwaJZpcdZeDgCeLzpBLfUTRVRgUAsQRtIYXMHNxbLREbHXjCNOgdCVUhabSxLAwavwOVZZZWBtzGvejQiBFIhyqSVPQDaJrtvWtgDSwbvvpdaPYETNvkegdNlRNVHBrCUuoDMdskKyjiLXEqRYhBeyGRjDvxzRaHIJJPRZuXZlRKAIxuSSLybzzJINBRMfxgRypxrzgBAROqvnYgdZbqzkrCVkuAPErpzXEhVSzOpeWdFcZXaBnjytmjEbdIhRLprChFyeomfAoZlLWNRsEIcXZZuYhmvLLDbGpTIuhcEceWqiPDQKBMObtYhtcyxfjRUjqxHsqXxUvpOWAAZcUHhTsaCPFMPJWUQRSLYiEcZrExSIULcefdWNzjfgLXToooWecrSqzFuugFXgUqPgwGTSnpCoKFpsAzXkaHNRasLZQUnFqrCjQdBhAXpDHhlkKvxhWgDj", "fCtElBeRpIrFmHTNpaTEEitYRarMGdHsRybkxlkZPwovKCBWXYYzdUNkqxQnFaPOViaUrVXKIsQGvhIYYsgLPdngUCmIwqiWYpfKABeULwRSBxKhNzKQxcUtPsvQvksNMApzbqoJehGJcbKOFFsbSQFTwrELPUPvDtHTUjuPdnZvWvNoSPCvcKjbLPAICRjWLRDIYsvCfpMdRMWPdssltNMlQXjOcdYMuyXedcOsyJtUFNuygPiPiiYPVUCawlQsPzjdQTFWQcLlBIwnqMJyPqYaSdVaQdORXiKLhhmvHeNYMsAgPPFZwqQdWTmKpngNQZaiscipaQptxaXZxHKtrCXOyQPDPYnLpCimFTSHeaGMHRrMoPPFdJIklotJpXxYOBWNSHzLZJHsAOGYexVEaKKIJCViHiZCWiluQvToguLORfZnUEMzNLeGxKgUqaspmrTPxqbObPeeqrcdYTmZkqJGOCHhTjdLcRVoeZkTtQAlLPzkFMCTniQdLwzQslDR", "AzWXrBubaRaNosuoUxVKNbciRMHiIFXFPbHEWXbSpxDtTHKjtRvBCkOhESwfrYBTGWwJxnuuDVHsshOFgAxQrwlPlTinHGGAzvEzoNEEzxAwywqHagvrsgazRCpfMQCsPeKifhcfXSUwTRGxuAMSwdaqvxeURqOupDbcozfTHuyAVglgjFOsMOtqXkwqkoZZvVoVlKXvWEATgqozVLHevfWNKJieUwSpgvdzWVtTyKvkITGWYBepbCXBrursKXQGkmNbuCYKwNZBcbttkTiAZvBwGZvyCvMYCheYrsaWTssgvqdmHWJnNWAGCmfzguobhOxMtpVMrFLwXNtZBwUYsSEslPBUfJMSOECRXyWcPhiHppxQhpFsHyQYZHhuEGNRKBPYqzFzYmCwEeIxEBxFvkbsJaYzthJZANcGwSuDToqPHYTYFTxHeovgorbVrNOpzwgVHlTISWXmMAFvSeAdCJOzJPJNaMPSaagHrEtBduObShVJawvYKczkfcyvRZKc", "dgEzXeBdudIzsOMWrcTEQNKnFjxpDIHlbRKEjNgFLqiZqshQAbrnMQXOwzIMIDPLxLbeXcgePwjBIJbYXFzSTsBqpachgktGCXLXnhyxnyltqbPcQJlhtklvacViBqHTiVpTIrFsBHksCVaBVIqwKArrzBrlYIGwqvRrxwvTfifmAyTRCxkEkFfKfHOWyQZhzZLoRyvvIOXTrOwuvrfHwfueGWUnRYXPJPGcqzvQOuKTggdosSKrvbpuNyTAfcLoaCBiCEyuDGjKxEvsQkQnsqcnRZrScrMmVckChFlJjUTUXzphFezAnTcHnCPjSpXYKOrBjDkjoXNNKmhXkmDuSzRUEksxCIrjaIRGpaNzvPYvmsCelyQKjHhwAbckemBwAKMYglqfrhngMyXIittKXvHlIrBwMmxDCPTiIzHVKWuwwiaivkAwotuNjcpjKCopvicJmWVBcIXkqZRQrNfdXLqwBvyJbKIVRkBzLvQkVlNKrDDbZClMGQCJfKzsmDmC", "HDEPbyamCkmOyApiosPIjXPUkPPRoilhdMwoFpFXkjAiJiIQLeaWpfsPRKjXLDeVYESNSlJEgXfcCiXDasriMsiOulkiYHAgOzjgsKywYUcGxATdWFIZsBmOgRDhXgQXMoLzbpqamnnpKzXETZiepxlxFNqyxhKuomfvqvYOYocakdjksITbxpHIQvQwapEsXuQpUKxfwqCXNFxYSPGyjAQVXIVWXpdzUypcOVjHEUlzZdJouNiKoSAGbPYmTBfcSHzAIKsPqmUvWtahLgiZabscpNTIUnCjYWwWmALuNMGNarszMywYxAkPXasoYJcVVBCTyOvqiJcEXhIDfqfogsHMpKChjAXaetzbaRDOBkGxWhSXfejpKhiVDUOZUSNvvRqpnfegIcJWFdufXEzReQlPVRRxwCfYiTfMllYMqVAzPXDcNopINvKMfqGRLMzVNGSQBNjmzKFHrOYILmDlSIckNwxtTybQrkzbySZRwRcNWUtnKhZVgTAjvJPdbuDf"],"c_array_double":[33.80150753201827, 32.161458688838486, 5.195069327371485, 65.37407991457137, 36.91064793603996, 23.768544607579784, 85.18608793619285, 61.25963454543323, 27.429675010401954, 37.60846281052636, 11.3603670086899, 72.29844478240919, 50.80886913746145, 91.00792425311253, 51.451672383039416, 0.20095360762845763, 96.57931714296991, 55.93085069174609, 98.91029837323615, 14.210448932363686, 37.55506369145572, 25.951106971055825, 43.75522245858157, 84.40382503334952, 77.3333401469389],"c_map_bigint":{"c_map_bigint_1":2098386554775797372, "c_map_bigint_2":5148533053234176359, "c_map_bigint_3":-1959479783265755996, "c_map_bigint_4":6129910038952046850, "c_map_bigint_5":179417157724849937, "c_map_bigint_6":8196187039940923496, "c_map_bigint_7":6807546100822983298, "c_map_bigint_8":8032150030004255928, "c_map_bigint_9":1351950884988196012, "c_map_bigint_10":-8652889334744076036},"c_map_decimal":{"c_map_decimal_1":50.0007, "c_map_decimal_2":12.1860, "c_map_decimal_3":70.1737, "c_map_decimal_4":91.1058, "c_map_decimal_5":26.0745, "c_map_decimal_6":31.1272, "c_map_decimal_7":53.0171, "c_map_decimal_8":100.1372, "c_map_decimal_9":27.0368, "c_map_decimal_10":96.1219},"c_map_varchar":{"c_map_varchar_1":"QnQyYnPRtCEoyVgCsbwdNfTMZdCUsTMtAhPxxogttajjlYtnYEdUnAPbCwvRYByPNmXsknthtHFeMdYMVmqRoUHKosPatGBTONRbImpTlYfMrZLluxbpVmvWZHFTiQLfPgfqDKlkhjVUFzwtvSAlswplaMpbUrHFhHTNKcyAfBlhQRmaGaBfnobheaUBzrJTxuplGDPRBUaQyRZZMKWhMpNMQYVUQyXdpwVaxRqrUBrPewbGpZFgAfSiaYTbqUEq", "c_map_varchar_2":"kyQLgZgIeyUDBwWFBIFKnzMKgljivthViDjAZBDgPBCnnCjKvmlSePOLadAWdotsxuZswBHmwxwgdovCZfybGgqwPVKtasCSLIYJFLdQeLQwQklUakEwwkhliFZeUoRhPpFsbVWITqtmtCixUZlJPtLrWGUjQUEmWSWKGDFewJrGUQDsfKRassuiHNxRDXJeEfoBAXFzyEdSoAGlMakRjgDYjmeXixTAGCmwaBpZimrbSzBxRsnOWikayHwkAVSb", "c_map_varchar_3":"pZjJOgsnnZVMbYVqaROcxPDTdOcUaPdmYjmnxRkXYCLAixZlHWznWxsPOSWzAcrTpEBivvBtNtfuUFhQVCjYNYcGoMCmlSVtVCZmRPsWsMIjNMVGUwbcnCmkMJinsyoJMOTGHtGznjrlgqeDLvaYYixYaNbddLbUlKBpompMTCeXEobgWynshVIgZDykphuTAYRCSLlAHsFjHzMYReqHxHpsSTQRWBHwacOpGHNVbTCLvcsRCXmSaNyhgbTxYUhL", "c_map_varchar_4":"vfoHeKqUVoNvlYDJtXyGoJQPVnKjDGwalZFNUmBsYjbOjWjdvdUMHHaNnEdPsHiBCXwkJWriIuyGxaMcoqnZKzSoOVmkIytLffIKxsHfbpnKzfkSqPkMPrBeaKDSnRTXnztIGuwwOvHuUsMYxbfTOlxWOedaINuBTmIjEhapJYJLbfninFNkUCTgZRVdCXlAAtNtnoupqdNICjIUSxXsGBIZTnwWShcVcYtiSggMVAPJQyTQVjpyCtZMAUjiXjBY", "c_map_varchar_5":"yfhOBKsZVUXpvCCbTXyWKuJqsByCvISIwTwyIKcRNCkTOYyOFYIbyzXDcDxTfKSlKCXgcigFCnwgmlWdZqfBeopGevRcpAurGlcMXBalgeCgzVgXwFvhCaxhouWiyyUGORNkINKIDWFfXeTxjvteKJqYqWkNBTyvkdslsPBnHbiWMqCyzrKGpThiCftfBhXZoNFbACqrHYwcInxTKsAfQSOXFaJtWWflKDfsTMjYtBrKzcFbEriXNHHYAMCfoavL", "c_map_varchar_6":"vlXYRZmwYgXDyjJZxSVawkuWYSgYztdIzwESyFTSVBaaodURvyRvksFzdSuKQietieNLliiQuvHPzrRRpWEEkmvtHSTGqXqIWPBxmHmahiGGFpRgcYOHIyIyMaawlbSWpRLErJsHUVHtGOQqvmhfIyEftAIoTVHSlkuivxiUBHKCUdjJUqODQPPJgDLHpWXfJqoTZJRDvIksyKPeoigMyvZSlPUjqruLrentbhIcsRAnpaqLWfBqARUicWGOnQdc", "c_map_varchar_7":"OPDDMBgneMwTkbfTddHHKhzexguRkTnTgwmoLTHsLsbpWNScXjcArBJUJzWhRXWjMgbxwzBARARQohkythIsefawoqQgETtxfJwCjYbBnYNZxmjjvZLahNkEmOwqTjjJItGQniNkmKMsVjWhNEelZImvClLDMYKLfhQNQLZoaZfsbDDRLVZxivxhTRPDFvYOOIDJHRjdHXYqeFErstShlRPfMfvJspZRGvdoPPzeJsWjpVHkjohXUGgbXLimYUEg", "c_map_varchar_8":"qLURDAWXCxtEafGQNzROwfdGvJMcLgEJZCGHJBwDLmCqUyAAatKcBPQoLnjsTZSZaXvSOoTUbgVdPaQuHorPjIBXGCVjiHxxqvQfmbhOlkqTWhQmBbcDNfeoPGZNxNxgayfWemNiajCpvYEWBjddgkLmeoCnMqQzypLdEKkszoLhDHWxYdfSwqPAavxTZXxDBNXwBcwnEmknXaUCQjorloeaDeOLiGoquxuNpQZAzMUsWLgPZxdMRJQjTyRjUzga", "c_map_varchar_9":"PNxEowyFjKHiUaJRyLKqNVyDuojsjXzlhnGeuzUrlABhgLPwtHkeWxrUIgoyQrowVGGgUIGEobtjDbiQctBALqilqRfUCoLshHQeHesotkyIoulToIXHQezNTPMcgEnTmbxnOFpvyFZKvuGRipakzgeXRktqgRoGWNGwooqBfocIZwfJZMhuKnUtEbsQZgUwDmtajubEmCkSLiSJDSGbdxPnzoKYnIXaojtHqQqagBArFpExWkHdQNNctCzbTvrS", "c_map_varchar_10":"JUJVyEMeGUElKrRcuRMHlsSrpMNezQROvXHuJZWlsfGSaGOwkIEcIaGyyIgzvGZITAOcwngOHJeLzUcYiZaFfnyoaSCzmDuhGQzCOAqJORPeyTnqcpQzAWdtZdSIfNUiZUsjBRyOaKTSNKRuydQzkUYUlgdWOybTdiuSXcqPVOqBuzzVtjXTBGLVNKiOujaKUEAvuGxhJnRzYsqFFQDuCCmBWnhSMQJAPqJSQDYtsSjEJcezBHKNhCzTeAqZmduD"},"c_map_datetime":{"c_map_datetime_1":"2006-04-07 22:49:35", "c_map_datetime_2":"2005-02-11 05:24:41", "c_map_datetime_3":"2010-04-08 01:31:20", "c_map_datetime_4":"2007-02-16 02:54:16", "c_map_datetime_5":"2010-03-08 18:16:40", "c_map_datetime_6":"2008-01-13 01:22:21", "c_map_datetime_7":"2010-03-03 19:17:10", "c_map_datetime_8":"2003-06-09 15:16:54", "c_map_datetime_9":"2002-09-27 22:18:18", "c_map_datetime_10":"2008-11-02 14:07:07"},"c_tinyint":50,"c_date":"2008-02-17","c_array_int":[1401015116, 1079690421, 19363398, -1481601436, -1246037068, -1949197954, 1396272752, 1076233560, 2063646707, -1919730893, 1581556402, 546650591, -168576300, -1996617833, -1513972062, 1985447992, -2070172768, 241676985, 288335552, 1869935966, 1638968189, -1022734300, 1137897456, 2116073760, 781961368],"c_map_ipv6":{"c_map_ipv6_1":"6b5d:55bc:a857:ce29:d642:8102:8d34:fc40", "c_map_ipv6_2":"f455:7206:c17e:38f8:8436:531f:5b63:512", "c_map_ipv6_3":"b719:2e06:93c4:385d:68c7:8cd7:bda4:bfbe", "c_map_ipv6_4":"21ca:13aa:e47a:12f1:14cd:7c6e:86b3:fa0c", "c_map_ipv6_5":"c01d:73c:fb0:b26f:485d:6691:1288:add5", "c_map_ipv6_6":"fd8b:6ec2:1129:8429:b5f1:c2a3:1d23:228f", "c_map_ipv6_7":"75a2:b530:4718:d16:3f05:41ef:af2d:7a11", "c_map_ipv6_8":"c902:a2d0:f81e:8e36:f836:93b0:e11f:6f2b", "c_map_ipv6_9":"5013:435b:e8f6:5be6:a594:8a30:ca6f:4028", "c_map_ipv6_10":"141d:61fc:1255:25d8:99b3:6b3c:a28e:99ee"},"c_array_char":["CtypHGLpQm", "wmTFVbpRmw", "DAtpLwhADN", "EvZriZaENK", "TBsfruPOuZ", "LRyihqRpty", "jKaLxKuLGU", "wHRvtdaFLP", "uNCeOTKhDl", "vDQzHgbyaJ", "zIjOWAsSEY", "CHGhnppSnU", "KSuTLutOCh", "bJBSinLsJZ", "vTBKlFJAVJ", "uPjqzEyCoI", "IBXzEVaErz", "JDDZxWObFR", "gJLmkiSJlH", "uSvYKzZknH", "LbpUiiVtdm", "EjrqUERNsc", "AfbfFYBYTC", "lwgbqLFkAR", "jBrYAHSOiM"],"c_map_largeint":{"c_map_largeint_1":-3300189431451967806, "c_map_largeint_2":-5022017104570886248, "c_map_largeint_3":-3080356744923574632, "c_map_largeint_4":8728647909758313261, "c_map_largeint_5":557837221127332165, "c_map_largeint_6":5277927866098223779, "c_map_largeint_7":7764942239727413110, "c_map_largeint_8":5842198149942565313, "c_map_largeint_9":6830631189813886843, "c_map_largeint_10":6521106492789146355},"c_map_char":{"c_map_char_1":"mUolzcqPRT", "c_map_char_2":"qHpRRXajJo", "c_map_char_3":"bIDwTYtvhI", "c_map_char_4":"PBazpVnMTG", "c_map_char_5":"SovFClIMDR", "c_map_char_6":"cAuCGiCKtU", "c_map_char_7":"MOZaQlSxnB", "c_map_char_8":"KCAhTHxABy", "c_map_char_9":"qEsvnzZOBq", "c_map_char_10":"aoftbiznjX"},"c_bigint":-6188214047310063899,"c_string":"IUvgjaFdFZzLzOZqNCmuxzBlNFoVkjGMuOirPCCmFzMYbSVZZOesZKFhjvPMkyZnGLELVAnjbyWsgojHzLQVipOCOdbcbGUVMTnKEEagKRWKKLQZOvuVzrFNPeNBbYIANKXJlgmcfOaWtNMiRiUpTwRmjCWrtHAztwaWuJAEmtuJGZnKgTBfZdfNBkMDEVqGDuGiTrpTkbcprtEGtLrCXWByFKwWPgtGkCagNKadzhLWSdzFdumIDpwunQwIEHfCfACZtlqLUhpSuMQiwLMefgqLnrpwiWpYZwdwaAHwRuuHBFknUHerQlidZhoStcFbFMVNwJpZxsPNKduKDCUloFSMDedDdDchxqKWXwmJfbPgkkQxDRrbKnrDvGXFqYliDeoRdyQwnwUUdCmkFkxpwWhDgInbCxiVMsxdYBPyapBZVddaeCAvCrGmlfxQfDoYfkaOCBUsksgatEWPLtEAEDwoYVvmIhKcqfwxkXmybYCjiUApInPPBuRVhnbPqwpQ","c_array_bigint":[6552186048957911161, -4535877460965165095, -7419494378093449978, -5759577100526925009, -4485099128828860792, 7976396505406743759, 8255906426084246333, -9212724236640308704, 3592410296619876223, 7447874406575782514, 2532565379697580262, -4779146838470861160, -5178130417305957684, 1965204358055903442, 2994487808783604977, -3247514467952265306, 6261218930955810647, -4061553859618845615, 6041170134717698216, 919025700120458446, 1453303241661198481, 4952628492229040155, 6554148994157993985, 4013529342549431985, 2677670470344301428],"c_map_date":{"c_map_date_1":"2013-01-14", "c_map_date_2":"2017-08-24", "c_map_date_3":"2018-08-05", "c_map_date_4":"2017-03-08", "c_map_date_5":"2002-04-18", "c_map_date_6":"2000-07-23", "c_map_date_7":"2001-06-14", "c_map_date_8":"2003-05-15", "c_map_date_9":"2013-09-14", "c_map_date_10":"2001-03-20"},"c_float":60.095566,"c_array_smallint":[-25654, -24716, 25129, -7851, -5860, -29020, 12307, 21034, -16704, 13619, 13662, -5484, 2020, 30503, -25283, -6512, 28436, 4825, 31860, -7292, 3277, -2232, 2613, -25522, -19299],"c_array_datetime":["2008-10-17 22:19:35", "2008-12-24 10:29:10", "2015-12-13 12:41:18", "2007-11-12 08:08:39", "2015-03-28 16:26:07", "2017-11-14 19:05:01", "2003-12-13 17:56:47", "2013-09-07 10:01:56", "2007-11-16 01:12:17", "2016-03-19 09:45:14", "2015-02-10 10:25:34", "2008-11-02 12:10:47", "2004-08-16 02:17:31", "2003-10-10 00:45:00", "2019-10-20 05:17:20", "2011-10-01 20:37:09", "2006-11-07 16:53:01", "2011-01-07 20:51:40", "2002-04-18 19:14:46", "2003-09-02 19:42:31", "2018-10-04 06:38:12", "2010-04-11 06:00:00", "2010-01-15 06:59:02", "2012-11-05 14:50:42", "2010-11-17 00:47:50"],"c_array_largeint":[-4921862631916232809, 1811366296631811240, -4071841134837489317, 4084349141421079111, 2747371213557332083, -1208859707310333192, 9086225688626955023, -7825020519764373100, -6838413696303980763, -7699350059293027776, -3109602522577436288, 3587253891741206150, 4221899787410928977, 3036993719985509090, 7747656474783896198, 1313545035370951273, 8360677804179258253, 6968083513350749555, -7866922189480421345, -1164966781438371294, -232763248352721618, 926396117700222804, -5188894094578841750, -7073030847981945849, -9194650553002733817],"c_array_decimal":[58.0148, 89.0061, 63.0975, 29.0757, 22.1287, 69.1275, 64.0795, 33.1872, 16.1969, 26.1810, 37.0411, 8.1084, 60.1984, 45.1798, 30.0910, 54.1982, 48.0808, 27.1769, 16.1462, 52.1548, 46.0371, 20.1707, 24.0617, 88.1053, 79.1361],"c_array_float":[21.981972, 69.25147, 42.284122, 2.7502425, 44.85095, 22.160055, 72.54384, 2.4516845, 96.36919, 24.605694, 72.052605, 9.041935, 73.150505, 68.401825, 86.65605, 72.55398, 55.116783, 76.454796, 29.038034, 84.1028, 37.153145, 46.389214, 38.925926, 96.6198, 96.52586],"c_array_ipv4":["UgmlKoBAZo", "KJEgqAhlhE", "bNDdDbNSsZ", "DwnZIXdkFl", "bPTWMqWloZ", "DJiEZNWLFQ", "YfaogazQGl", "TaxMjmvZyY", "XXsvFLXari", "XsTIcvBLOy", "fgjRhNUXXJ", "fWQzmaeYYT", "zNxnnIyWHP", "snnGjzPRFt", "uNOPPkScGi", "iIrBvxKGCo", "lMimGvnFaP", "klyKvxSFoZ", "tkaHGNQGsV", "kYcybSvjGb", "OAGAeUZuzS", "TCpDMWZtCN", "yLVowTslPZ", "mJrSKNweSk", "tjIEhDpdXB"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_largeint":-2561278751208068751,"c_ipv4":"67.23.47.27","c_array_tinyint":[123, 96, 56, 75, -70, -54, 53, 126, 87, 72, 75, -32, -83, 20, -118, -35, 58, 93, 44, 112, -118, -91, 75, 70, -113],"c_map_double":{"c_map_double_1":81.00423949994888, "c_map_double_2":52.10929098981886, "c_map_double_3":20.781392593321602, "c_map_double_4":29.89647650340645, "c_map_double_5":71.98742123942603, "c_map_double_6":36.602894025439085, "c_map_double_7":28.43052370082462, "c_map_double_8":86.57479759189087, "c_map_double_9":73.62590871514159, "c_map_double_10":24.441868013529852},"c_map_string":{"c_map_string_1":"TFEmCUuKCIzUupeYCZZmdSwYABOfJKGrAyRkHRnzKwbByDmULWzTcBwAbeiVvTOHOhfKIneIoXIOitttQsvqDfBnlZKQJuBzLFeoSQKDLPiGLnjPAiLWYeVXiWBoqEPJqvmaKzIpjhoinwqngwzfiFDcyrFArGqhUUTIzsljmnqkwLDVkoPoSLXBaHgoPJfqtHZCGcuXNpybibpwwhUhnKtSrCaJFoYvlBsqSgvQXvlYcOwvCzejHMYjafvSjLRfezQVZhPDGkvOsmVGEKgGBAbEjDHBTQJAGFOsdCwjKkQGFxOqfNItsoQrKvvuDBIbSKKtFOwduPdEPqRQTnAqYhkzfrdLvHrtmtfdIWRCPwpdsWdeiRAlCFbASecCkzBYzxMINQFVmnUlNkFSMyUXeIpVMOgejYqVRmMIZaCMSLWrBeGjnnKybZecGSmYaSQsibwcbKEmZDwsqaXbGHvMNIzSkXkalFQPQlNZZwUSBUMzaPNgydiAviTPnvqmCKrx", "c_map_string_2":"oaPfQyHHLlOaRNWIVsgbIbANEjmLiFWeSertFuACfNdLJGbbRaVnzdVYTdNfsrMSshYRLeIIDmRUCzhNMoxSvPLlVfJSvXFaSGudhXDaNzkTUIXPeQqyhgtmknDVbQJsBGwtSUobgRaZDMlJKZnxMscCMaAsbhAOTQCODmGwhQxFeSfKsexksIdSTcNpPXjhtJaPQLkjLEWFvGfMcuDzDhBjCOPEuaZekqSPbiJaDHxBzIgyvWRMQGacAEPYJWlzVsqoBviVlCMYJTXQAOiXMLnCFdGqtNOpwpVFjGwrlsteByMXzUIJtaJEfDhmoXTzciBoqrlAYrKzVwpUCZjHaWgbtqIXenMjzjczQzTUTKgwVOIdjGDkvLMIqwfFhilctLVZBMxvMLCdlkqcgGMXKtyAOYHkrFXOhgkdakVZkJwTuBNNizHcgofrJbLQWGWfrryySEIzHIXZVGnWNqnAVadLCdVqsqZoohRpDscmlonUQTodkivWFRuKKStQsbUB", "c_map_string_3":"VjMZvfNYrVVzsCVNVBZLHYMkKDUORwSgpENqeCCZHqbyKjnnsvqrSTbIoNxHsSLLqfbyeQUXUuEjuEULtRYRKbmrubiRhBxjUNvzwholmNDehrGmyEnUJIKtcctsOQeBDabzlGgGxgyHYAkuvyicwAnBdXDmTdisIwcbqvVFBGGJPgbwArsGGeEldBJPyMxmEYDrCxqRrWknzpMhcMKiOJcfLQrPWdfHPffrBAIMDxLiVyMebDDUgLRCKbAkNUULhbCTUrSWGVzOwtqOWkByosuDgMfXhoUldRQDhEmoBnCTuHnsdQJmNnJbWGliIPOhkxieWlEzidqYbzjDTPYbQcmKuknpfjarUZDIzbpqfhopKdJsnzjNXjzImIddWjhADmEkKnaigMmBRrAimxpcjZWSJruxltkyuKVNqJqUMpLngpfyLXLYFVSslmLEhErjpWdIFBihTMmAhPVSmzDNXgVvtgTsAHoywjciHzAdATrtiBJtWlbeRyjoYeLXqjFN", "c_map_string_4":"XtLLNmWwKRDwZYkRQDtNbgRmLHHAvznogxjXpzhusOLIaOZQTEjEodFuHSOyQFWecRjbJgrtnEXIiTqrXVJubmKoMqWqhscBmKUXoKLvHGWKHcDbjHMvQHtYTcqVGpReYMOiqBCcAprhxZMvjHPMMdGhyTZaCHnvwlktbzhybnWhCrQpcbGDvHcjdNdOBDHQUaDaHmUVznouOBAljaHHuExsmLbMNoXQSCNuYNKvjcZmWgNQJMHpBfOswKaeiIVZxNnBkSAefGewJjvqcCldHkAbBKcnNztyGEazmACiIXQnsNxldehuQswGSFiBDfPzaHvnUOAHCOjIuwZndoKtJwipUqTBRlSKNwQavKZdTxOMbezWvNuRfEaEzOnwPcPcConPIRnIxGRXRMjYCskBACCHQcCrzdVwlLAUEDVUQgETeQBuJdhMXFTeZFFOnySAivfRbHZrLSgOASAlMpURxHVDsbybjHsUiOGGXtYzIWKUIHStbyjsUTQYhzpJgxsY", "c_map_string_5":"ufFRLZIpwbKbASlUnDQQPVMBshmnOTTlFUgzEIQIzLparjdfZKbSgptBZUeoyYsPbYAZOwTpWNUTNiFqcXqLxgYKmHAWUYgyejqutflVLZvVMPCZEJnDSVHXctJtybWukmsTMGWGBrJhDUwCfPKjaFEOStpTUwdWsEekVCbKAPOqkFSoRkQoDGTLbDYLUBoyGjttIPNiDSNTrkSnzKbJOObhQzkvVhLyjqSELqbpVpoKYKxDexrYXUgDvysopQFaHAmnfbGpvXNFvqrGRDQgxdMTQhreUJoRYcqlapecUeauybtpfnsXQupQJyMaoDCnGWiXujNUtmwhZgVAYZCzxdDnQnDdCSNSqHbwfbQFAQyDZOqIhTiGFCBdhIhzsniPnstvBuNZScURdvfxfKCGCIFLPqYyktSoPQJZldJHRMkSBxduPPZZOnCUFzBncAXhwxqZEeTInVhAsdRMvlEtZweAncDTlqAWVJRKbvazPFVBOPMsNaSjKWYXEOonAjhx", "c_map_string_6":"wOhCRTvTaqmTbPflQuxadtkpHiDPBcaEjxEcEdDtaFTFgFhiSHDAyIIEAzYWvOrAhBmvZtdYdXCXQBrjexLtisPOggVlClKycptMeHaTsoudDZJIafqyQScTeSxJnGmSAizxCiBHHXKELyXInAcrxfBMKBXBbPeFPrSCPlGvPQKJezCtikkhjykdlErcarMLGmSifyLqMNTfyheGfonbfyfzylwRuCLlFAntLUxtiZTGhOmpDtdHLzwDoroszqAJSLdJoiGUJYDEbxAiTLBfToBdpFbxaLfhfIYDINdkTCoSzPXieuoRLqgYnFdycKbcJqYiNbjPKkQiItRerIGIwjQpCKaDgexqZljpDqniOOFPLolPQoAaYzuxgSSZxCNwhdFNTQAkipAqndjENohFOIzKZERXVdtaIESaPzCRVYllWLNbmxnpdAnzYziQHmTEWvPybizwLPPXXQtYOkVUyFmiUtulGWxAoFEptSVnSpxGeMhERmOsYvIhzNORFFjh", "c_map_string_7":"JUESlEGtHVIJIELBcnhkKCxlThzPIgqsmhZvUDSddCFeKNtYCsxkvQXqBzDDfnGGtoxTQQTRDmULVuBsntExwQyWvtDoHrOaDHOYMNcMTAwigbpzsYlTWliEenPSyZPoVwglhkyKLGzKOFnJIzmZYjDxBJcUBTTCscNGhmnDelFRDiZNlSTyWNXdRmucBiTaqufvPHXLOZlEoSJNgxcMGEZTmGbAlamhsrOaKVWFkyyNRpKaOdSJfCjqcKKShKLOAmTjCjXRpnRvKxIZfEfyWPVllDXfNGXHWtMqrGivnjCTpXquHcLnTuYzZRskWWdNgpJnbWSzIVvVzyXAXSIPEAoFXSnapnVYNeBRybtyeAXMPIpxquEsUNQzSRshvzhcFMbKPIKCGSNVhrdfsgUqYULdBvdKvXuovYwwCFQnjAXcMsjcJFKAGMknSAizBRTcdmiIItKxwsXCPvSESEtcHbptrTapndZrsLbQCvpwuQULLjYDZSeKBKXnNBkifMTQ", "c_map_string_8":"DoESchyqGJZQrodfYlbIPbwJHBICSnDIzxIleqvAHpxyCJsvegPZWadQHissjidAGThhhOblWtxwbMNYiDxsKpMDOHpDKSVXgLmdsydvFGkqbYYCkvZPKAYTqliYlBaphYpbcPsFQECRfgBhoIJKygjjQxnVmHTFLwCZAbqQaViOycyVoYbOZkveTsJbosdgGlddmwmIatECYeeXbRtedkNUlsbMhwtgOnYuAwTxBtqqvsDzKraxzkdJkRYJbpOEGAoPFnTfztDznMKspuCHeHDgzcdCRfCnztADDTAVsScHsVdiuvlSZORVvnAfPSmcBaCzQGaSDstHddTAkXHmDjaekGfggzHSGFvTREAhvSOusrSWrpTDydTUwtHWdsOuKLyYgzbkXDFjkBdfvMWcwchneYoNTAXIKQFzVBDEiEFbqgMkvdzUxQzNJhopUyDOJpmkRShZxAeuTScAWSWnmYIbtsmXALfLEBjMdlXUuXcoRPAhnZKOYCtSzEAxciFk", "c_map_string_9":"gqWuIpvGXELWlSRnVJuMRIqUPLRsetBxdqytxnQXZLrhyisLQXHOePCBsVraqiOpMibKnPZmsfvzCVxRnnogfpPlrdzLwDlMwjqeiXdiGcqdWIwlFayzyXPfPEUJiORwmrCjhegyBbUYaCtvLygOpIIuejQTJBaZzfyUnkdSUgGWHcLRDzHCZGYDmzWbzRlhZOhhOPuVFopxBNYNIVepFtfZMTftSrsbFoclTQhpxKdlSLoeFooAAEBGnSEyklsnOEjErXHYrnBDjMEeDXUOFrlNOeHYuBROBpyhwOdYqFGIgmphaaWHStKjrwbqtVddMpSIDOwTpdvwaDSckhviukzIcDLqWreEYfQrSVxMdSQRNUMOAsCnqrzQjhMzvxsXxSbrvvviWuzqmbpCYcbTvzHcyuodyYYJQtvONTKzMRTnFdPtZdnHcIXuwcCKPWtZFOMqMBIzPUEUNQurLRNqFvgsZAnLUGtjjyxQHJVNVIOBIFTXBfcYjQFCCalGoaNj", "c_map_string_10":"KXqDLprZkcWnDKwanbeUaHvtgMLYEBJTJMcFbVMwuoQIDKnPrXGtyTZiHTciiFixqXvsImlBLuwaTDdEokASXdTNpiJVoQNtAyUKRdjFQwmYfRMNNLOWFIXOGiGyHdKUVRJZbRvDfVFjFyihObZCLdQjWQkJsMhAvJBtWqiEVmOVQlLUsyjJuLrujZGXOIgCtGWSYGhLtipYeOMQHMZEfjBYLGYfqCjAeIEVuEBruyEzhYlAOYBCjLWRBBEepppPRAFZKhGKNjKZZSxYINpjZoGKFyAKqiLHbOfKTNGPkanMzQJjrMrrTvUTQXwzzQNOYislmAXTNhwvnuTYHRJZQdApayqsRarDkTFDyrUNBLfFzUcXcponljpvazqQuIOWTBYwfvruFrnwRnegTyBcJvdpsbYlvmjPQrYhXOeAHitmxhuhMoqUJtxEXWwLoZocvlMQovAHiDtFwYXHPsUjuWNikRYDKYWpOUxdcqmDfMcrjEQLsULFKFlHAImEzMwP"},"c_map_ipv4":{"c_map_ipv4_1":"112.77.45.135", "c_map_ipv4_2":"180.104.227.122", "c_map_ipv4_3":"11.64.147.220", "c_map_ipv4_4":"136.240.211.81", "c_map_ipv4_5":"158.97.109.37", "c_map_ipv4_6":"108.16.143.45", "c_map_ipv4_7":"39.6.242.72", "c_map_ipv4_8":"186.71.171.5", "c_map_ipv4_9":"5.160.21.235", "c_map_ipv4_10":"238.38.14.222"},"c_json":{"color":"MediumSlateBlue"} }','{ "c_map_tinyint":{"c_map_tinyint_1":55, "c_map_tinyint_2":-83, "c_map_tinyint_3":-108, "c_map_tinyint_4":-83, "c_map_tinyint_5":-51, "c_map_tinyint_6":47, "c_map_tinyint_7":-15, "c_map_tinyint_8":96, "c_map_tinyint_9":-37, "c_map_tinyint_10":-84},"c_map_decimal":{"c_map_decimal_1":4.1558, "c_map_decimal_2":33.1400, "c_map_decimal_3":54.0346, "c_map_decimal_4":64.0141, "c_map_decimal_5":47.0147, "c_map_decimal_6":31.0060, "c_map_decimal_7":66.0473, "c_map_decimal_8":32.1503, "c_map_decimal_9":96.0925, "c_map_decimal_10":14.0552},"c_map_datetime":{"c_map_datetime_1":"2008-02-07 04:49:14", "c_map_datetime_2":"2007-10-27 10:24:19", "c_map_datetime_3":"2012-12-01 16:39:31", "c_map_datetime_4":"2009-10-04 00:49:32", "c_map_datetime_5":"2012-01-25 23:04:39", "c_map_datetime_6":"2009-02-27 08:04:13", "c_map_datetime_7":"2006-10-12 18:27:00", "c_map_datetime_8":"2015-12-26 00:30:00", "c_map_datetime_9":"2005-03-21 20:28:21", "c_map_datetime_10":"2011-01-14 08:42:46"},"c_boolean":0,"c_int":1311049821,"c_array_char":["fCPSifJcQh", "JHHgsPaDnY", "vdLVcREggF", "xJdVHpUYRs", "vQZSJVXdJk", "RoIwlqfAZA", "RvgkOPNlxq", "JnTCYxTdJi", "QtiwmKjYck", "TWHZjmcsew", "YVabkHIhLG", "GBnghrRtDt", "WApuygbkJg", "yUYgjMEScM", "daRZUnZjYs", "bAJuRIQzrm", "OLLPNifFbl", "iHMhVJLVKu", "nKYwCfQoze", "huSPMjreVK", "SUVeOujqyh", "IZUHcFuyzX", "btgPyKKsCv", "AaNioOAIqd", "NYTXgqrRDm"],"c_array_ipv6":["jLjhNTHwrg", "yOULAVKTDK", "QSBniRyIIm", "TzgFKFtIXY", "zQAnYJXvib", "IKbvJPYXvS", "aVHhpPbmgr", "fjvlwfyJSP", "dmpaFYbLMr", "phIJRkVpVO", "lJTDIeanpr", "eHRECSTzgU", "qsClNZIXhJ", "NVtigoWsMH", "zhUNExQmvI", "qnamGlHGBq", "thYENfFccp", "gmtxewkFhG", "vjFIcDiOCK", "fEiALYGgEz", "fEQNTtLjuK", "ZElHKuuKjn", "rtqSMNUWgQ", "hCtVAmpkjv", "dNcnnePsLs"],"c_array_boolean":[0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],"c_array_bigint":[1465659020405799906, 8588454015778944119, -9048150199547802697, -2315210178394536685, 5466182103359249609, 8551874835475517111, -1268512512840597744, -2591234022568844460, 2055258230908126487, 2315753284339028842, 2224824830264329701, 5861388690279169871, 5988241806607280786, 6528588653829831107, 941186202288291815, 8064355786317035826, -2327022577502391710, 578376372376293736, -1942726227631647259, -2906489227389087039, 6892013603370691899, -1578225482465622422, 3419859584943359456, 827993847658528569, -5457706098131736715],"c_map_date":{"c_map_date_1":"2008-01-09", "c_map_date_2":"2010-11-24", "c_map_date_3":"2001-04-14", "c_map_date_4":"2004-04-15", "c_map_date_5":"2005-04-18", "c_map_date_6":"2018-09-08", "c_map_date_7":"2004-06-15", "c_map_date_8":"2010-10-15", "c_map_date_9":"2000-09-14", "c_map_date_10":"2004-01-05"},"c_array_tinyint":[83, -89, 124, 122, -39, -19, 12, 1, 53, -56, -30, -121, 17, -11, -16, 14, -119, 37, 92, -95, -82, -67, -124, 75, -17],"c_array_datetime":["2001-12-08 10:00:53", "2006-04-17 00:22:30", "2010-02-18 23:59:45", "2017-04-09 12:49:31", "2017-05-17 18:42:22", "2004-11-07 04:28:15", "2006-09-23 05:07:06", "2017-09-27 10:34:23", "2019-04-09 09:12:28", "2013-07-15 09:55:45", "2006-01-04 17:43:11", "2004-07-24 09:33:00", "2008-11-01 19:38:01", "2001-01-14 20:35:52", "2017-06-03 08:55:09", "2003-11-18 10:27:21", "2007-02-16 00:12:59", "2000-06-28 10:55:54", "2019-12-22 10:38:49", "2019-11-21 23:15:42", "2014-06-12 07:51:16", "2016-05-25 09:43:48", "2002-11-26 13:07:36", "2013-01-11 21:31:27", "2015-10-07 19:43:24"],"c_map_smallint":{"c_map_smallint_1":-7858, "c_map_smallint_2":16906, "c_map_smallint_3":18243, "c_map_smallint_4":15342, "c_map_smallint_5":15505, "c_map_smallint_6":25587, "c_map_smallint_7":31597, "c_map_smallint_8":12200, "c_map_smallint_9":734, "c_map_smallint_10":1587},"c_map_int":{"c_map_int_1":-17923695, "c_map_int_2":953638258, "c_map_int_3":306353934, "c_map_int_4":-335631795, "c_map_int_5":359553032, "c_map_int_6":-1159608880, "c_map_int_7":1520513530, "c_map_int_8":1416480205, "c_map_int_9":776356946, "c_map_int_10":1295746282},"c_array_varchar":["PRPcIceAxeJhcSeRivgQhOlGIUuCuhJWRWxtAwEbaDizOEQTBUpdLyVDwcbXjVCYQtPQuHjfwIOVeGEXaQBBpVahVIYdbYLxDySvjMZmuYFBMOdgkNKKRFvIMrJSLsnKmebetSqwORwLOMIYVgijVvGbjXLZhupeXxLzSjEiTgzyIQmRxCwHunPBzWIxRHDujnfSzvOZzxblUVWKlSeyrCvHHFtctxtVTqpayHxJFxwHjxRdUXhuJNusDqBeTGqT", "jZmOkQxQehGnhPpFizEADLBeCsbdnIlUBacRgssXCsBeuiJcULIBcAESeBgayUYYEfoexoJQWdTLehIrrUtmiHYXfCkrqvphZAfPRogEbSammIWbVZbzOhwREhaAQrMCfBXoCSgPSdLmcRlzQKKLONrUtLiinuRsbqCRvkyChHRFiWfzdpCBnwVJQXycJIuNeFmUbPbAjXDKrHmpxMaOELVcHgAlBglDPyKLBquOhpkTDqqHzVOWfhDuietoqbLl", "VVlecjskevXgYIVAGqMAMfzphkzDCmCXOxGmcRRDTGbKBzeDrhGexSeLxkBtEvSvMrWnHxExuPOyBjnrkZQSjmjBzQJUqyvlEFLLXCciuCPpLeAFUfIKbgNgWzWTOfmvXKBMvvINikMKjxPFbQsJwPPSQCsEVnxiKNuESaRhBxhDxlpZMGuRULTelKcJHuAdUkjlcOXZZOsWsTooPIAUpYYwGtHciQqDRQvDTHmywsbhtROQliCrOvYNSHKIkTXe", "SQvchnkwjNwPhACvxoiyDoaQSNcHCJeAYNcdOfqkLrgiBKOOzOElBNvsGwLcdjVtimEQPxLTEozYeibswgtwnqJVAyzdXvTRctRlNLnTvrKSNXHCgKDZLhNBeLmDdtRcYwnEsaBRoFofmpoNyCyIUZQtsijVQVYwaeViWcqCVuvAdurVOnflHRTjLNMCRRnkDEXnKOlwQdZsMNKvkwOcAuIYiWFdAEiJUQGSkbjKqTYMSsuyIfMajqfVmOygvZwE", "qdCxmrbkuxdGlWEqnfNulhbqQCjbXICwMijugyWmOqkRBSZtTqYCWuRKPzHvAdHFVIiHoYXpJcaHKDmvICWcxaVTiMtDBpoLZtruMyNGkZkjKJjlMaBFCjdBzyaQEWBWGYyoqCLDcGiCVANfaydKODmcbLAZYQKuToaYhPWkJJaDxnoQfAsxaIdhSxTsCVCILLDVaAXVQpAncGvioyVecmFPbuFSMAkWhaCTUjSqiKXmxJoTSfKZUXRlRlUTSYMs", "OzivySXCfZCGsoPdmTzZHkbhdDQIeZJZzLRaDLODaSOUSkhTxPACMxJudOuDxTirBpmFzipByjMAQArEilBMzeKbWmIMJTzkiWSRHBOmtyMetXGliGdFoVKysalUNAoqONnOoBqikwNGrqSCrTsMXJUuesPKoIbfCVOaPhZAfUQNHeIwuhxMbGGziYBqKZkRlVvyczzHfkInEoJUkdhqkEVynGbVElkRjtdrzZETCYuSyWUdUeAKmOGJbfWIrjJI", "BKtyStULoTKVRkvnmVylaNQNUxzBnUQEdrIQFDpSMWyRqhlrRJDCxDyIrDIvtBAkLpwUQKoeDMRRsiaxpwCqIhDEBftXkXoCKpwCocjJbBHXeAJifldecQgFNHBkrvrulHQCjwaCVOnEVwcwHkpwrMpMpLAXVKlIFgmUdSOHEwAqfqzfEZFnOiHUuNlKKfyQgUdftppeOzUKAvtmDxDSmHrVcjQMqZFJWssiOAViWbcyndubPMpvosjUicqXSzRB", "tfzLPFRqXkRNZNHkYgfgpKcPWDacAqbpHayQWpTuudXDEgjklZYfOMHaQkOqXSdNCjzsMHrxXvjxHgCatrqTOsmsrUfhpKPBjrfwlcckhGGpxIouDueKXaDwJqZEJfKapDUvJQUIRDVbTNfsUjFKXjzHueOENzHcGOxxQgFFpjdRzogILiTKOmFoYzuhhHjxrGxCaurRAfNPGnIBqbqTerpAXJKWRBSBsadbkKMyASAXRUkIEegPlKOfCayUJCUV", "HazTbDkzcGcRlPNpMLEoBUbNTUHoDEsbUSANXvtUeqpZbdKCePbhmhVKUrOmWxYSeUUtyuSkonKbyyQOyUURvIDMAPCUXZgHadJOhTlhCypPUeNEEElxfGyKHxGUCdednCKYlKFJvXgoEKxSAVoTKsFdefwhVfPSAlseutRboCoNjsrNdSDOPkvhjjvQiNQflJWhxGxVMrOfEliguOXuQsFrSIPZgfHxgNepoXCQZzhhHMugQGHEFKNAgiAIMNEw", "yHKVPgyFEszoLMBvZVLwmSwppTLLoMPXpAwUxDtoKftOQDwskVACZFGyNdUdgRoNhVgOCvfdKCCWdSyRNadLhmeGfaehLDUDFTVynYvqewkYuhVyMVXaRkSJkFgHaVkBMjXuFEAGvbSizvvWQbBjvnsVAWMGwanAkKPJgdiDyvLicODspIfepqfAZNKXYYAOpfmSIREiRpaIBGKJtscheRMVISmshxWifdvpovDaMWAUoHhOjMsYZohlGVkbYvNm", "luvZfpKmslHSTnuPCuOOEXmUVkfcNFIhksDgveEjtuNqwFOUHJTXmrsxXtkfmmooEwWiUSQflWPEYwCiMdLEEtDALUcKbqxEHRFmMiJoVRZtJMUcMnpKFAwXIantsPFlmjHtTuooIZwjivvGyVmQRxNbTcjWeuWuyWUznfiGAIfISOmzWIkPYMPaOHvKqSpgYOjQzPFgsaxBIyPmhkLVXrlHnktidJhucPLOiskgRElrCGWJzOOTWnotVDjdvCMv", "pijPnPKErXFUTpFvUlwMCjnbpwWhHdnZvVElDReSjBOLSAyoZaZAkLoymXaoxTShoXpOQBipNNYsaSJOQRpNNPrDjsRqWsOXUsiMDpqxbSEFNYetpVRTwMQZOjicxpUIPGQOibOuovtzocgVEELgHkvDDDKJgJauiFbsoruHptfAKJAsAgSIpEmedhefCCgAmmekaSOHFgSsmnrhsCKYSCghykCpWEghXrJtUzxqJoJvQyfHNYQgKBwQHQScMEPr", "qkmSraUdvVbkILErWTVxFjBovUuLUQVpDMNTiIEOPqBOkTlISdXLcRjyedAmyEudCXsZAJWtnbssjawVEgvqFFURMiXosrmmOCMSQEQCLYCIjPpemGoKXVfwUAYaqDfDvsQwSmOqaUSFSXYcenGJfbSmOkZlHZgTeKGQetOjBEJtqvMiubRwtzJWHyEbnnqmXoVZjFrMlyOsGYUEzFIItgMlCsZyBmSJePdbqNQCIMXjLLWTohiCQEcILpSMyzxd", "ZkFRlOqbgCDzZQLmyQClNmSpmgtobhIzBYwktAWNoAjyfrCDCjSfiSODpNFFYFIgamXWucXIoAWbawgLPHaJKHYkxxMIQRalMfJYMeQHJbNGGaSOhAzBotnvZiZbOKoKAFPazMeCorqvwUJZQJeuvZoZnfcrULbEOYVdzppSeMNUlkIkcPnYcvLVjffXApRCPNdpHUvhrOqMrjSuLmFQXqSqTAQmfqhyUqkstAdwmRiwpoLyqfNUkYfyNtzazCoT", "sAESbOumVzpYwsWLLTxjDCNBJprWWhJqXPlyxKJQhZyRLHONhSbxIXRVMgeqJXQowMvyQuwtXCJqLdRqlnmjsUmsVOqaSoYiHocgwxhQqULYpRJpCeuDWLRasytCAWXavrXuDEwBiDgGuKiynjCwvWdJADoiCCWdZNefHVzbDoqQGhZjtdTDwpRntgrhdnYzMnNEQlkVyqGSZqsVanoXlxmmWAwliQOVHhcPQXTvVQZUnSNlxYgGAkRIyQqkgZEO", "JnGQrAPbxFviNtpgoLfqNdaWFPYdNRvhtcHyMoXKdfwvtaHWcYHyEuaXaFoJMbCJVOeyAuPJwiyKRfRChCACQQZuHcxbVLFWKWECJfBZbEDQhVrMUpvrrTtuvoMsZvaYYlkqIzGTEyzNpxIuSWnHAMizMeKDxfiYzvYikRFtwkIgqFOJhOHYYZOgPVgFsGQEJhriVWGTSzIHIQadxhwIHaaDQbUSztZTzfEDstJfrPDKkQoGLKJkOQcKqzEuzYQy", "kclfqRkCMvavrQqAHzbssMessOGPELLsvCtROVMjHDSYoZNPQpmIhqQafRkOTlqYlvopAbdaeUwOQedgQvJrxZSrRHCuARncPDaTkqKRguOPhWyUyzyJcezSuCCpozRNGjewGTzmoEDEIIijwhZjFDmkTSJTNpXQdreXhMlrgIhLZTBjkyGOtjXoCqTbzAcKvlMoADkCleWxKafxFXaVVKiBORigefbaUpAwIAhFjHMsctgRzFbYKkTWRrTdDZCa", "YUiOjvZuUbIZOvRPqnxZiCxSYxZvIeFelObioZrwSfFtXKMjfUTpnCptqfJHuSrGQPQpGMNjyXFCHCOWCQXfGoREphgiJAnPMdOQgFCcMnIeqozsgxYCGOxYdajZjsqSvtOJfHhUzvQKMHvSdGioyVohXUhAWXFyPwVvfogvKlDpYUuxPajZqtUfQsZvmHcwafTltNtuUxYLnRjmFLaklCaGTVJzHTXnYUkpORQIkoPEMvgAnqViffMekgtDAdDy", "xEWMgBVvCsukzUaaIdjwlWjlBbignpIWZseTIlZMYuFXUHGhgdAyzEJppplQlmcWLnIowINicVomsqAlTSzUFsbrBFTeaBWtHMvzYKmUSFFJyBoKCqgkJoJjiqCLlWyYgGorwtEzaoCJGtUnXbKZiBInmnoRdqtFnRwjSXMhmQcJyvCKLnojJtqERbWwnKdTnmsFNQerzXmhXebyrVuljMOhSYAAyPrvhIHRpPXqFvpxANaEGCiQxQaZFjNDiYKq", "OgnrLWmhTQXOjrgeRbaNQToiLvfqhesxgySfRudrEBWiZowFerjNRQCrkghoJBYFMOxYgeUyvpQbCrHuFaItXHRLIkuhEMuXhHyCStLzzrfNPzoJcKETXzrNPUCFyOGvHvOWAOhiotsGwdSKyNfIspAVynIYWQykkHCHqzUGRuEbVSQuVmwmIMmQOZqILfIkKKPMTNSVGEaoHBunVobWXytecsrfIbiXqYkSevPENltvLyTDzQtiICIjKeMhbtku", "ImCHsoZDHIcNYMaQEacjsNSNUJVWPMKrTgVnjJoYLilACURbMcGcpHFJLaQiDZsjnQmJnyyOpWJWByIAbWbRSBPITbXAgeMNUjNzebqMwZalRfnMAnNGWSGvJGkoXQWZuSUeiritlQYsyxMsuwxSBThIFdeqzfAurfHpPqvfVrRyeJoWCylFXHQZKwGgmJkGFkmgCXrnShiQvylVfngbbpxOzjYqCWkeIVLzTlFrgqKGoNztAiKnBPHcSgliwgZu", "KphHKVLauBeDfTMtoanNSZPswHuyWwZGhBWMwbGpKyQPWFSLCLKRqWuPoGrbosswYTfMAptdDFmCcdueOcRiyaFOmHVtqQHXpjcyXbDVjezXYziKVlyIsqRvkWSlPrdnbgRVVyuULkPJZXIDEJUvWisTlKYhZjWEUesURpDMABbIgGtcGkcjpMwRoIBDVxQEkEwOCfaMdIwMpoEvOKymFIMeqlSRdoNFqMppFNODYJWJwKHxiHKwJQiDCUwhMJPd", "EoqfLydWpuQODFQPiMclEtztJAOFaXMaAQGXhuJCSPIuNqfoabQwoVZIEfHDMqaXtFKHGHSkdxECvGnyKhaFFccNUIkbpGEqlNYAzRSSXaaPvVrwXdtSpYvmiJnGZsAABZdZXPcmQHLyzUTEqRaIskvvOXivcmTLnIJfLRncWVgRUkdszvaVddcKpqYjhmKfJSBzrtxnoYueIiDFnNEbIiQLYEoAdYHrwOwFKfvrFncRSzdPhHJqaxvpMyjFcwzq", "TMGtIzwEvPPDoyCUNGiYJuYHfaXBZDIFLVCobTLwEGZniSjQTdPCadvSdmqXKMqHhxrhpIWnmJfCRJnoltZZLflxDiOwuGrsWlNhcUsPnViBXmjtyrcjddWasLtUwswYkqkHRCvXBGqTfFMCUGheVgICDOoLVzHWPeQrWyuRpTCIkBeytSqOEWXeZfZHFImVrtvJzPskxtqHdmTrPhGjlhapRQwyAoKsWrxQXdpCoUEftTkfrrPzFLdZaaxAVYJo", "QeWFwfPCSbVDHlsUFCjeHJRkhkvoNjaLcqpBBDIovqKYtESiuWBPtoyWqutpDhLCfyjCKwzJQbYNSlSPRRMEOfACYupWYzWXDhUPDGDJXvwioKIwEGWSdLXNsnyHoIuLbZeXXcmIfGxDOdxAvycTenAkzyOCPJmNWuMOLVjNYCIzmhFTZKrVLvylQPdFqAbGZQQqHhlGTiYJuqnyGBQuWbLkhhHCRqDjAesWgOaznyNeRNPFNzUZCgHfpIUuOHtx"],"c_map_ipv4":{"c_map_ipv4_1":"32.180.100.41", "c_map_ipv4_2":"147.152.116.127", "c_map_ipv4_3":"20.97.189.117", "c_map_ipv4_4":"35.66.212.174", "c_map_ipv4_5":"44.248.211.85", "c_map_ipv4_6":"165.195.82.35", "c_map_ipv4_7":"250.214.153.166", "c_map_ipv4_8":"168.43.102.183", "c_map_ipv4_9":"217.236.212.218", "c_map_ipv4_10":"238.107.48.6"},"c_decimal":48.1621,"c_ipv4":"151.73.65.104","c_ipv6":"7201:5b66:9f54:c564:a6e3:750:aafa:2cff","c_array_double":[34.5244139212193, 21.042947959058225, 55.76126944325527, 77.64987919573736, 10.060590879784016, 4.106678937190981, 18.33192216751628, 70.09393642470037, 28.00274395413144, 6.899189948979024, 47.85074292310883, 72.1787596711469, 100.20560631008547, 97.68936549823854, 57.7789188641253, 100.28151509720222, 54.1404357854187, 44.285969828532814, 92.26005876816527, 61.59774123802332, 36.163780095090765, 76.89247025499327, 37.381715836995085, 42.011008885468925, 33.73644549438775],"c_largeint":-344748134464068253,"c_array_date":["2014-09-25", "2019-06-08", "2016-12-11", "2007-11-17", "2000-01-23", "2018-05-24", "2004-10-28", "2015-02-08", "2015-12-16", "2016-04-22", "2004-09-09", "2013-03-07", "2010-03-12", "2016-12-03", "2014-01-06", "2008-08-22", "2016-02-11", "2008-05-23", "2010-05-11", "2001-12-12", "2007-12-17", "2011-02-26", "2002-11-25", "2006-04-01", "2011-09-04"],"c_array_ipv4":["ygXbJxuAeb", "IQDcQnHkXg", "jszLcPbUPG", "oWQCLUlCoq", "HLDeUPGcLQ", "hmSwkucMnq", "tDBEZQFAgK", "nzBAtbXWqN", "caIVTGzKfB", "USlIpYKtFe", "KuYcNjrUVt", "IaQpdjJHqm", "xlcsPmdFoy", "ohrVdGMSNX", "RrihXsOWhu", "naFfHXdPkh", "jNFURaBDLO", "jDrAZSAjHQ", "zLRiuhtuFJ", "KDaNpaiRpZ", "IQuMKrEnyS", "MiKHXspVoM", "bIlDdGeoyo", "HGDAXSjdch", "BAKiCBHvAV"],"c_array_smallint":[-13304, -23963, -352, -22376, 31909, -30389, 11063, 16552, -25969, -29062, -10342, 14487, 7153, 18500, 5259, 24689, -3290, -22689, -20915, 18314, 16657, -4817, -15608, 29183, 8243],"c_array_largeint":[1184119131341500082, -7141428800428694380, 8414042096110754292, -1531314475185107695, -6173961103537190004, -744583547579897674, -6933252240208333313, -6244130348513549882, -1241016481370448038, 7410745181464800880, 7190249257411741897, -5811994348439771923, -4543212165328941239, 2261109219441417680, 1898530239817864506, -973703572565940872, 8556687284668045053, -3677943016755427979, -8000365740134799171, -1993084541418648138, -9107619528958916294, -6945785142982125919, -8680451194428225769, 6060448901599410731, -7331318033253108245],"c_array_decimal":[37.1998, 60.1042, 1.0967, 82.0726, 1.1753, 55.0203, 70.0786, 74.1142, 9.1933, 78.1004, 95.1645, 40.1124, 66.1088, 30.0945, 93.1510, 55.0439, 46.1979, 58.1213, 47.0227, 43.0772, 61.1590, 34.1674, 58.1226, 87.1890, 99.1846],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_tinyint":-94,"c_smallint":-2145,"c_char":"TDzFEvYJwy","c_datetime":"2014-04-16 07:04:32","c_map_bigint":{"c_map_bigint_1":-4957795402508732218, "c_map_bigint_2":3920167270051191418, "c_map_bigint_3":6478106329213837936, "c_map_bigint_4":7915936575425559932, "c_map_bigint_5":5402923219516686544, "c_map_bigint_6":6815240588610357752, "c_map_bigint_7":8662744435489225973, "c_map_bigint_8":1129872240193705933, "c_map_bigint_9":5835369623252019278, "c_map_bigint_10":3165381156667273107},"c_map_float":{"c_map_float_1":53.27243, "c_map_float_2":2.8572302, "c_map_float_3":93.66941, "c_map_float_4":16.51352, "c_map_float_5":95.26011, "c_map_float_6":35.05842, "c_map_float_7":19.623222, "c_map_float_8":77.02431, "c_map_float_9":96.34373, "c_map_float_10":47.389267},"c_array_int":[-1570679767, -821235709, 1536864325, -756812351, -2000551133, -1374634888, 35973875, -125834807, -1588051612, 909188530, 66856920, 1355658907, 314768155, -825468899, 405217903, -1595990972, -1370548800, 1984457566, -1157600229, -772479677, 1505551902, 1292722354, -1886824922, -904529704, 454789200],"c_array_string":["xOKRAMkhBTzckOTBrnXLGReqjSAihZjNEteBHbsUxxgXgjPaRmjiQzeEVqAwiDbLOyLcgANfcnnyvoNKvJOtVmhPOexTLqVovkBFFlhhVkaAldNZfPZPWrJNxhahDgojylpNcNwUwuqKitnELyChhlFdHFzzaZFtSUBxUFCUMBdAsdXDQJkEAoAegYdauatBthTGqvyeSqWvquixBRYAQzQxQswjkDVzKaZMCPNeeHLTtkaLJNAiSMoSsVQEUvCmPKsodapbAUlGnUIqQvsHYaGydszIPCxlhXKCakGmkcCILJktiiuqgrdjZGvfwaZqIzRfsgCNTfizVChuijYwMuQgLGXvNoXXFqhLiJtWhlpHYWeaaDsPTXOuvjCvWfuGOnOWamEEAUpZDAYwjSXwlddMbZUyKJHwMCdhiWyXyEjYmvkElKKZaZUxxxkLGbkDjmERvWGILmeHusFMJQkftUdEiXBtJVhlmIFMQbUTyxPpVLwxUUdrmnxSXtGvPWua", "OiZoNvFmkjyAVcXHdMBDVpIpURXyoThADBYkOuncHbpgjgLYgtoSKGFFzYIUCznRyDoBuVSjvnQIFGjkqVOecMjZnCKiwteoXYvEKFEquHdoWLYirPedoZwNzafNlHXiaSKOPSdUjEUVnJQpmCKqNieYCCveXymLiykFpOhomZKLFOfmyVhqTptYWxvDUKXoYhWOhVYDlOIfDbakhtjsPNDOVQHlbYibxBDvfBZnvlOZJNJpqJSVcrIEoHCNNKUwHcMVPMfWkRllUAFQPuOILTDMjCisSePqQMlyZhZPsirhxPQiQyHqMKkngdnbWGwkvumnKoUUCkbPfHFOKzBGpNTcHdAUXnCcrTsHBNmarnSyKxMQnRcsgoOOIJrUSPikZvVheUoemstTrIriuGdfbiPhNzAGhnoOgcnYhBjjzFFMCrlKBScdkmmDmpRogejaGWSYRNAFsUPcyjcBuvKREsBsgfTScgpjmSLibLzWDVJYZPGWNStVNzaxwPJwKvAC", "rzZXBhCDDUPmHCTXYZQdmbxmPMtVXkFiOSLvdnMekXfJKznaYbVRRDafufiaNeKwMLqmSRixAqprHrZgMfGyYLMAdLUlgzJHMWWOzmzTdBAbJREhxvGerohLTbXqlBFHCUkeBghanDohwfUPSqmJhWSKyeGWfPRtTuUaywJLzjTsmHfoUyXnFRLMeVMrYsmFqZvltmjtgrNaCyQOornxiZHvQndMFevsTaaidypBkdHJoiapiblKigVboYphrTPPekpeWbuThktjQUfeOhdWcZAZhRPVqaMjQPgCVfUmCKBDsFuhYlrjigmaikDEzZEWtsibOatuFtclLTcBujmTjYRUSLdKjZfUFjCQeeUveqApAKLMXLczUmGxQwmOYDIfghRpocKrLFfIMROhLnWjGnesUGUpiQDoTEfvPBYXBsQHdAeAEgGNDUKqQguHGtXNgxdPzreFTEVJEtGfkdnvLROtmOUdkGKWatRCJoFFhtEeufdLMbjizhIcZumRSGFe", "TJyFswbJJZhhRWTLkqbtTYXsLMmqKEGMwHXonNJOnteOBxUbiCXLlqFUMoCfWafrmYwdKGzQRNEmYRqqibqpQUdKrqenSYQjPurNHpHbpZDFIOywYNSSMvSYQxwlphGDVNkqlwwRRIpJuvmCzVpmbBcCQSCYigtCoiTkSyfZoQcGUvdcTllCqhBWehcmycLiyievBfQxyEQFCOCCVcRGqKxdzkPnZZGPaIvkNThmydgHiPJvvaxSlDTEOdzflCZwNtLwYWKVjocRwTgdlCBNqBtlIacIgIAJNUujPVWmnsRYbGLtVGSGRvlVgfWjTaWBaFIUNJwissrOGImMgMTagAUdhOtcIJKoZHOlJlMrYCQNsmbLgNCQiKCzkSsRGdqirAiIEzcWcgctrORSZvOoPjJMZURsgMmiCEpofkEOEGkTNuckoDHivFaKTyCfWeETCsuPcrqdZshzVXVAgsfGSYguzIjBaYyFqPqZftSOniBCPowYGGaBRuJAXjqgJYfm", "JSrjuRksQhRWbDOYsVijOUMdkUUvNgErMaSoatyZsYZCMFYdFMmaHEDXFAzhTPnmHsGRhBQhcrHBnuNNlFWsoYGuOhTdzrecjuMxjdCdPDoLaIUHasiewkfXzsvbDoKOvklpSxmBvAvvUbjoPpSMBqhhXcXCMqxPvdShfKufMRQnyrYymvVoaFqoOwAZoAnoZmMOXLEgwXbQceTwBZxxEdUxtiMBvgglYZTigTvzPmHCoNvEOtSjiWwsIcBDQnADJWstMZqIftdQhQAgSPADNuEUyEXrjBDjwuLxpoWKGZpFOcsIKaPrkHWQlxZmSgQkvwDWJQSBxFSKYKQbqQRyIMgqNgjqwaFmbHYqPOfUeJpEgTFKVYvPrmPMjFtaCXYORmSeNmKLgcWjVzkFqoEBeXzyOBdJazMQNphmtqpcPodSxIOHgOjepeejZIQBNXKBBVxSIbuyNmeoKPbiHirRiTniCVFTAjqssGpPMMngLevXuzstTnkIBvCpIOknKOBf", "wdCCfGTcgbWwKoZruCfMHpKBvtLTdqAdfNbiMtblSeWogORsddJBzykveXIAPnnkZAMhDKXjocARPaEjfabCIumbAPUsfvPcHXjuTpGmNHZCtXYqtILmUelSzLdYCgWuSPzQFbpPiwAwMdKxKdzhTycHpPwgQeIBygJHYVVYiZpOBCzxDZkiZrAGtefnVolewVhBTdfhxtewHIZLoWBYrsuibhOnnhobHAYzcLGiwAoNbQHKoMUxbcUvqJjjMihDINJBgpAeBnMPncsUsOXRnRNsYkaweAAHAnzSjFnWHgcRjAkxiFeAzERSBqbhEhzBXkfhFgvmohNGwGypKmWzRydaIItsOLfIGlNBfRpqwxBZrVeGJhISGXWFKCedwGeBICzclPUAbPvqAbMEHYkEIDiIBXhVNTrSwQoOZffBNGUdTdkrUuykOONErNSNXJLTAiOvRSxpPYzRrAnhYIbispmuYWLbiVvJVdPxkPNGrbBoqeiFRytVYiAkkxKwQkQv", "HFwAzlgzkuEqdNFHXgBQEkuGEStPjRCEpUCXIYvPHnAiSXucsvyCNxDwUCXCIqCWCziXSaLkRoBQfMYHUxtqmitlVJYpYGLrbiogtaiTnxlVcCbcemLXwGUmmedhWcqoMYNcvNpkObhOgmuGeJLDdujutDyfQndXAdOlBXMmuCUwBfgwTwAIXCZwkgqefhCCKEppqqUBiGLXbAulzfOxnohOcurMLoctFIBWnyXttRWFKTXmvCWYodUmTRJnhIABMxcJTTJlgPNXgAUQtMvWSAZYiaDZkUcBMnOwugrAxmEhedCAxyBxVoWVQMupYoDqrAMeEUEGYJRqSpqlRxiGVoQYwulfjqTIHHwtOBZGtplMXsHdrvMPjVRebCNzDawDPllAxffPZjepJIVODKTJqRakCvGITsBKcfHHJoIyDliRZjsSqegohppCbQftkCqUGMzqoNQBwDsmFzqTrqzooCJxdVbzzCyXjrIXgDJZKYlmXEZnlamHzWuSSEbreBah", "qcvonVAWUXAnlmTGxFbkHxokmjBPlyPNiJVsSyMISWLKbnXjhroBaAmtZYhYVhyxulTNqowHpKmHfleJUPWVtHykYiffqDQokqrIpOvzHdmqazsRSdYBbtABKhptGYoleaDYtEeyvKskmuUOSAjkjfNKUYCSOoShiRjpvpBxqNrmPhpOHFXLdeeuYbUQRbzzfGyPQpdLKpjpRsITEYHmNspPzAnzUSSTjRYoHqnvqMggkarcAOSrJLpswmxfNimCYfqkPHkXRnkfiCsyTJtrEBOeoWGgiLHmohThLcFPlbvTVntIJqmhigCKoXrxFtBJuIqkNJGdSfJGJfDySwxIaihFBbVrjFoBgwdPdKoahrFCzbrFzongdrMmagIDgOJhZVCHrBOFyOGFOXmpjwrUbXPJIkNjrKhWZNpCBjjQbFTjhGfIeOIHQtawdGNqhFXeBvPNhzDncUXVIusExtHWidktxxaMhnqhvEITwXmBbyqlnAgFRsIWVnBIWNmvooYn", "StBrWxfoQJVAPdNmTzAEFIGjnkcKLdxoCrWGuIIKDdsdwtyIICsOyDCiKgMusUOyrdbowThdIlMybQmTTxcgkeYuEBwacaOHYstIKxPznFCqninTqkuHEWeojQdFexfljrHfbaUXPUKoPiEFwKFtJUVfySuWceZLwajDyIWLsnRXbNdugGpThXkRIRonAsvFCxZmWXHlzdkRlzZpXMgiiiKuFqNUVDMgBjNhleVLVvjYsLkhPQmgWwUKtHBVOELLfjnUMyrqDcEWvXXyrtrclYuJgmaKtADolbnDNjYPlTYYtWDntqxQphRfWtWQGeIvEvOAHenOqtKaBrvqxssPUBcHjTFBJhICoDWZpOHTQaLXJVerpHhGTrMDXmBkFxfIsgjpdMabbYwEVIAMOlECNkYVcmNFniQMeigTRmujPkcIPvuxTrGdYWByBueEmAudJKtHzAGxxNFGqGcWYhvgSqaRgBdshtVSQDjhTCWvWqWBcjDhlqmfebVrsVNudnoH", "txjiimyQebXrWUbMUarEojLxuAzwLgbZvWvgqVmXlfsYLCrKczvHseWnDKVXnYwAToPubVVWLYSpMVqqvOIezRzbkLyDiiapmeHaLyrodizyXMwwUMfaoLQwtOpMqDREdupTgoBZIeBwZYFPNoVERofEqkKeJotIovAwImWFXkhKkpDOyRzMvDDAeuDhpOrIcGNAWDLNkVpMfBrwpscKfokdTLnvfcWgndnqSkAQPWBIXirdQaIvMTagdcQGRJrsYoJrcADEYNBOhDPNafgOwJQIBEkosnCnpvuNxOEELyokJfHHeQoPCPoQUFEciveheGFkxjrsYLaXUpmkHnYkSkEgIuXFJzGVoxeHELqVcRKXYKCZHMefQqxonlcNDvMaCYdpFWnWwEzEoOCiTTqaNyszhkVLCJroDgaFEOXsychthSCIlcRMTAScZnNOoQrSIwRuOiJueauowesjzRmTapJXEpIbJsGjqQvsNoAhejcjMDlMiQwwOMfIKfAHHkWs", "ViDTOSmCBVVAhygnSCdeUGDNxhpdTiFFuflcGcVNCaPynxCxOMectbFgBwSDbLWjcNrqRpUMbffcODqKstWTrGtnKSANKnLgGHclEgMgjmtEaTTsGSETFwnCAgzuZbmaXtYXErhuwrhWiprNJKsiDRXclMDnGsXufrMUAFpKIjZINQrzAmLHnKkHOuWuzvzPYixBcxoOvjIOgWYTAWJDgUkCuVHTzMgeorKNTczqemrgCXysvYqdEDYbVoauzTrHZAnJXQVoVjHmYJeTpfQtSdhVGYrvdpfdizbegtGbxlcsuuzJQbYCBpjXsbCcssLVkuYluhvOmYqWJUvVGfUXneVimsCLLYdELhnyqKTbDlflxpNsRbgGZuCjqaWYdARcGRPNevmrYfFdGagbhwdGscRckjDFFqQAvOygXANkZKZXCCrzBjBhMrQjuuEZSZfxYQYRfZWFfIxWDyWMswlyjFhNkkMoPuilBKHrUJDHHIFmgwNwcnpeziIhCPvpegJz", "jppTvIstAyydtCNsnzBtEclUgcLxPYaXswRrxUqDlcbZdbIBODOfKHYgGfAhqvdvUrkTpsqWesWBaqlUtnKpNHqdOqcLIzuwvramTMrmWsIGAlXmLLPHZHighGKqrsIeCmQOgbjqcyodFfLoHcvwCXUHqAUVANdWXHwOYUySPjMxKDKceFxKusRextyOJSBDiLNqMnTlOIMVpkWIwvZuXcpHUkCFcylVEpInjETRixCZtdIWWifZriWjSmHGZTDprvPyNgQTDBaHJAByUGiaWdobfXzCRtGenYZIhZlVklKZDeJjyZZpFMsXsshFzCOnJBpKkZzLYRomZrIjjaFrjxBXAhrMOZAiiLbKAayyZEjbPAbYJehZVrDmfpWGkSDKBxquryhAkSfdwEmOFWzsJqdVTKQpqrOviKGsJwNZXpJVInitzPHSQSrbAbLdaWquuiBWGIyZtsCWYbpkDEFeFhpeqBhBVgDkmduBvXTrYSDGPHAyMjGPbLdzngUwrZdp", "OJzxzOZrZpNBFMVRErtREnPwqjNmGOueZbhrisRSXIoouDqQFwOpKdwcBZbqjuQtQqEFWwySqnSBkvcJuTGuvtWlcIDLwesIjrdILPMcaJYkxVyHxaFcjKtPVWlcFtHcDLntIhCXaYXGOdfOaTKyVfWWTPPjDLTHuxRoVOiCtpSrzZRimoLXOwDQzCtzqGekNSFUqiKIoKbsSfAaNwHPSgUyFSJXgNQaeJaKDeiZFkcaoHunPYzbkqLGfHDXjkdOMpqInvhqgapFxLhSNhtCXyxlhJOpyViqEdoLYzHZHKtSFGNftDZcXJQxwyBsZCompMPMWwFMMThAfvqjWtkeKVDofGcrAKnTZkWtZXMYyNrWMxsKHzSZfqvyKRJRdzMxjanzZXIpQyeSKjKGUuqiwGnATFkLNKMthwbAEogOXoOeiDuYGovncoJqVtNtaXsdzBTwYIMOvTKSzCwDCSuctmTSpHlmYaXBYbbHdlNUmhHJeBMmjshkgCFjzUMAJkaO", "RBfNFNNzOnlMnxYwxhNlszhxviQvIJPAvYLYOceBJyptQzfacRFLhZDdduATkgHwLqZiLfnhFVEmSnnHtyosXWjVnkeFkYWQbfCFhgAqkgYTsrEsUVxxUnDBsbsTUGNlhfkWCCLDokBDJXXgjPXXAHzKTLDyswfbmtavZxdEbUbrvHOBhRCiQWJDQJsqhQfuuavxshRhtOgXkACWBGuSoXqJakuLYQhPvlBCNRMvSaXWuzZUyDtXayCkqcGyzjWXCAcnrOSYjzNtNqMQBmMbbAZzjEXfADHGkMDMWDYPMyetDrbbiofmirKaArAbISskfietRFYQOdYtQvNypXSWNGtvHeWTsFwqRHCFdVgVhppwhOLVjaubrFEFjQocTTMrJAwcLMVeLkzjIhjzAocHZDCvEOzrqHfyRyKLLsFCIStULrmGfghROLYlFjxxRVUbYtppXEOaMEqSQiEjSGGtzJNweAegBCsdcUZtcmQlAsjgKhsIQlupCqlDbCEbQQcH", "UKbOjleLTlqoWpwiUotYpJXpyJfUhwwFaWsvqoaDGDmWOuGpyyTSeSFYNSSfFxohaEdUGZGOJkIeyietOlXRFdGNOcgJTJsfAdJJgKAJlBKsDSTJzmYVVlnhAbUFDHFmfuTlVVpSkQdorQvfmPESIqbZDPufRYvYmSPRRzDRbHQBnyMNPDYmMUSqQGSZKLcAgJvJKCrNevCnxCeYvWTcIBwnoVDdWMGVnYmiMlgNpyghoXlFrhFQNLkaWJIvpGsdFcnHJtAMUTDWsYwsJsQOHXktmAXjBJoybVGzByDCOwzPaJvzNEHYripIXgzlVZoGBrnbzYRuqIALOZyjJPOxDiZThialeGwGzjMJgCbOpyCvhAXxEGkRFMAQpndDIVNcmIeHBSfHJAyXOstYAMPkNcYrupJeaKmeOWllfCgyejfnzRbDAGroJNAGlzZxTMlDhyZittBUMKkGSxNOAdmBRhHnFTUxiIYnqwhFoCsRyycLowFSDgWKEbcUvHsNwUSw", "hVmQFfaVFCnPOZrNqFgNyqnSXeKusCEvUqTZFQKSVYHJdihofFhSgUUDEJqohXaVuWeNsoXyygnoSvDfkBVTJaIrURbXdEnZpyHgwogzxJIqVnWMRAIhZHXqRLMQelfkNYRIrGjfrZrDvRSUgaRAlsrGfuIGkJXoPveayqssmzuvplArTPnwewYSujDHgcACNOZsvgNEnsATzNrePieoPNwVyXGcAvIgBsxbVLHzRNSIBaCgbvbFlRUxrGeTrPKgbnRfGprkWODzaBBDczFTWIgToMgueSZcCuiwySlFHqNufiKprEHaAJkmCMKOToQjhnDupbuiNoDfkazqWlOmRgaeqyNdLNcGOaiGejTNYNQNulibMecrHNJhzQwIrTzxHuFgoQrdYtGHeUsngZxgIjrCASqXcUPreltAizEsAFoPGWDQeQaEuUQMdmruwVhonvEXVWMLFTrZqezLjkFfKPqXuRRVNjDlLdZPYcQniqLPrZkGDwBkqXVifbBgpJjB", "YgeUTguqihfnpKkATfWWoLfLASNbduQOaPqwCnUieWjRImUpVkPLaJYXbFXpQXpYNmytEveJgNsDwirGNQBqMLuMCnnpAckfeeiDyCWwBhDSviVgOzqYZUVECLnDKIIGrlDXtagmQwyAewTBbYGPfMLVqwvWtAOuXHznlfoVCFyaZaOsOiGfRHwLdlGcAKWguxtrUiXJXHlvnOyNzXzCPNfCLIWrDVIhaeeyszZNacqvQKDNXXhOvsNEvtdzTDzBuXtKORlvNcmqWTFMcAiyuJLGZtPTYejetzPlsgVlnAzdOTUZmKXQArXoLwouecnokikXcFGjlDOwZphTTcUBvKUnBxZxViiXPjNsuWUJNKebiPNylqeEIFdxXXQYXsMKKHApBOVLBwueUtjMMOVqyBBVZUNiginUsrFlwquxqBWiZKQGscVMpCssYWjalLuaUMRqWVKTIsflwxeizBAxZeaODHNTPQLIjGCdWuLGOHZOdHXrloSqCsKFySWcVAiH", "pYvLFVVivwYlkJfXgJqrAJLSpegEVSiiIONWVueFffBnmYqDbRFlLOUzBGGZhXFtTEbmozXDQsTlTHFArmUOAYKWHJObSNwYdPKkOgtJSbgksaVPpCwNHVubyPiTvhQRemofgexjholWNjZokVRiqsIrDgDLaKFXhbKpXqpvjonkHtMcdsSIBqEJyUFdzOrhhNkzquZffNMetxzqXJwUsNRmSITPhVgNUYwpwDLzhWZgSdGhBKaVUGSpTfhgeOgXhFtgPlPGiwtYHJmkmaBAOtwMGNlqMcUVmtYQsjypnRMicRrdsdSxlwCbryFbFHYjUNIbTeopigDeVCcfvHNSPbcsiXKCJYqprEBrjpDDPbIEOjSLKyjAvJjLcOzUxnZrwnGqFkccYuLPaFLDjNevJwrgBYOmNzJVFfIyBCeIWwjEEkakwWoqbCFmnzfvdXToMTISqUdzLpJAjruiscdQSusfiyTawvOdocJSGJwPmEzvvTpoNRkSCUbJkMHhKGob", "ZnDYkwnftzRSneNCZVfiCgxsLdZPNvUuYoyhlleuMgZqjpCtpSQafdGPWgqzmMvOvgqPhYvhhMvTUysreQfRyCeEdjBubxwXujLFPsEKsPslxFIYsQlnhLecwvUmsfodkElipMUKCVbxwwZckfauckycxsqATDBWKrPRzRyNUcyWQLNMvGgAPqhouqaTVLQQtBEmwYWOKqiMHmNrrCpYhjhGrMTMdExaTQgaEDLpIhHaZNRmRaRnaiicUgidqVzHsWvsmeajcTmdkGbYzrMDdrLVCsjKxVrPwtzutiOKutikVCqQRupRZzMUTepoBxMoVluIMzPYVdpVAuRERYkOFANkEszrPeLfgPBoWpLYLUAqFLIdOrqiCCAucQsnCAKEpXSZgAAwBNIuIbhZdEebVKuTRXyzBcQIMzJNTGZScdnzjwjjXWEYqZbmuxwXnyGcDLBtcZQXcrKzQAasESqDgUwSoJBBJUddhMwAcauJxHgVXSQcNTDbFciapoHiwXod", "WKtBpFsLwzIMZnNBdSvWBEXwbgBxWMWOAzsVhKXGVmywAhqWtMLRJEjTCeuzYBvaorCghOtvKbLDUUeJZEkijGXroktMBCPUKHnouvhUWGfghBeVVakDlhcOKBEWENiZeBprSVJAFVwKHHaNZZSWcslDtPbITdrbvZvtLBbxCIjHIVHlinLIdahUcNzBbyHSOTnSrzjGtVCznImewKYsHVuyZQMvcFPmqBBhaAxegZyxFvLDrXtXDmfWzFCgaeksLOuZtIDJGFUDOAlvNbazSAzIwpgTLnIDxyWKbBvuUsqTxJtAukgfRezGIQxWmIhuVItpSWBYFCEshpeLaniCSmjPmGDbJgwwqcXnfuxZwdHgNXGxXJKiaMSwMnWsyGgImHzZWvqsErnhKoNNUKOrCumbsBQcRISHKGuTCebTUwaobzVWyBPRYBCLGJScLUeWKtBzOkyJokDBdGtaZbsGhEFgUWKlnrjDcKDxvELGlugJZbyGrOAOXeTNjmfzADnh", "XThSxNhIRsmaBAzhKIopwZfPFbnPHmwvrFxBtZhhuAoWbxGpEfRgMCvYBAtYxoYmkwMrDQjZBeEWRgpsdCqXFnjwogFYtrLptdJsRdXkmKRBXNoIIEXwHYDJIuRjlaaZIXFzudKomrcAIAcNeXOuzFLXxJwwcDzogGISmRkCvAXntqOxqQQeJzdmVShnRDHFolVDHgdgRtUJDDwpZygWFUTyTxfOBOHcDYLpcWkRCEnvFTSBIXLuDnDWKsfFtQKTXHvAzuhIcIgGgfIMjyMJzDOeqQiUKiXHPaQIRTcfJReuZkQZOAQTQMfjfHpLhCYGuQPdjLtbjBdZWfHpOmEQaQFMgQEdFdligqJHLwFBuuWluTRKzABxlRXaSSSoMPTLCLKgUBVUkgfIYXfiCkmZdtLvepgugmIkpFjNeYFqKUqWoWlKVRPLtqUaLLRDTpQyYjUvqdJRKtZSSPPsqUulLLyTdIGfxoMaFDWqzAsbEYwlwTvqfqfAMSVqZtjdDJvP", "oxAtHXfxmzPnvpCNRAKvsqLyqmmNVgMxXVDOfFeczBFcPjAHwayLNODAsxUyZIeRMDtNhkkSGkYgSjwwvfnWqPsPHGuLSoKCYcveMmGsNmhAIVLJJjzRjzqVqXZjmWSPVruYRIoswQlBrmBhHTjGwlXVYLhiIgjPkICdCOzFFJcFqieGXcjuWAPIoBZYpHTVqAmKYianqdHztWvZnMNYSoxKVxGNbaNUOlDyVXVfyFCOQcarPzKpEZeECygzsgPZVHbVMHzoTfnCcZXqaUTQUJrOMLUiiWzzCcgKozzBTPfZiMcEFqzWjQXjbAdDzGBuuuhvQGRMbHiPgKbtViiWphMVfsogXZNsWvotrVkyHdeOZdBpeQjNiLnbteoYkWFMsYPfheGMsJTztIlxwAgAaYBDVYUMhYjUUQWTzAbfJMitPJMApxDRvvCmExChKHBcXzwZMkauwkhGRZywqainMtjWGibaHsZEWDAcxtwAaffQmdAUiCAaKqAcELYFGcUO", "NjBTeAVRePOZnTtbdQIVKLElTAhxAYNgRxqehacfbfpexCMdjperklywUCKaaWXzinNRFrqchuMCMPPDMkrAwNqMiWCAzqnhmjrVVWsudVxDydXbShRGArXocZKNqSeDyKTpUGyJpazcSTxAaZoyAQbLjrKwKuODwSlHwAPjQGQxxwSEascaVajTQKEyzrnuDsOrJthHZJhNePUrOJWpXKwgqLwHotgWJLPxDIFicmPEhxkCuqUTLxKxKutDeoXiJKqKKSHFUcWZDYYntphLpBWgmmfgqQxssLDvSseiAfTtpHjYFJsVZNQuDkfHgGNJWyoCbbUiScESsrlMOOpVGytUlFwpLyaOBvWvomoOAfNnXHhEsnigZNDAwLNuMPnAaFxhxwuaUgyHSihDVipToaTCaOUqZRzRqdFsciNmxdJYZZAmXOnnNdyHYXCgZRdaJXVPwLywcgTdoGgoRuwaXtOEAmGYUHyEwcDrprvAkHOhzzpsFQmmkyWgQMwnxhpS", "bjfnYRtnMoUQaFydzQOgARWFYEesUNrYSAOdhugGdLWHaIxkaOBZCReFdjcvmniIKwzKmgzRJwFgwoatjctvUBTfdfnWCakwkQHjIqYGjXuYoodtxhVxIMZZoAeRKhuyvpUYCSseLhadgldCjQBHCIJEiLuNseIUrGKeAQTJYKmADsluMTaqNeqmnaJsPMqCfkUMTTIeWDolyjybkqKyXfwuVMQhCzQLDJnvSYOfRMYFzTXxIFhOPsqGvrWBnEclDokatrOlQskfKeXZInonoIKVZZUZyTkKcpeFrBUkKCfuLJEiCGYpKMIQEzFlseGvEGoFFgbhdNkXyWrgJFCsSQbInupRFGiJQpDawTxhmEInHoybNFDJCLxxxMNoBvuQquoRKOeFMzKEqepbJhkQCbZxyycsyHyELBoZBEQjFIhjPXqYoPWSyTrSzkqqgKdtVNkmzRLkgkdHzjMzTROmcLEwWrDlQeyjNrilYbnuNjaXcTLopnuuGOAmJRGdGoBs", "QpAuldmWQDDNwGQjgkOuUfqawNAFlXcBQWodIghwnsdRvkrlJrNrCraVaxklZhadklFPbLjdHmAmbcxnMGCvDtgwaddFbynGesxMQfhmcjpamRNnEoyZWbwFwMKpBjSRLzobRUSxXXFAAOKOVMHPaHkXBsihZBBdTnoLzwRmQLjiuwLNjKNLlCcqrpBQyGOWtCHvOziBXjlVSSXdoEIsLbUDJOZMwPymYnaibPvhjdAMdPKpCktMqODpFqPlVngGCUxMiJuoROucXhIJAPVtjbceISgLLPentCQIGKLziAPjrKXYkYvBHupJkueHuMzBwgsvQBHbGmvQiyDNpAMpYPRrIvzEVhoMTncWWRUKiJGTVltblbQhKYXBzmrChgRDoRQMzKpFRICuAClQykrTXQYXtRRKaWIwCmXuAbdUktMYXnxOECYwMCPOOhEHlhtwboSAUleOiAiyeEiySzSziKEKDgzRGmqIuQBJEiHjCzsYzMqBlcoEdzDPlSTkyvjE"],"c_map_double":{"c_map_double_1":1.4256561418290734, "c_map_double_2":18.46189661123518, "c_map_double_3":42.632802353536555, "c_map_double_4":52.12155858826384, "c_map_double_5":31.93255260972308, "c_map_double_6":68.03666778396722, "c_map_double_7":39.653227447086415, "c_map_double_8":33.21824311725104, "c_map_double_9":22.753751177481178, "c_map_double_10":80.74967735535635},"c_map_string":{"c_map_string_1":"EdOcJXiwmYHffLliVcDEJpByfosprfxHrkwNBmvzBTDoqFQKVbEGWIvjbBtmmcuuzqSBtiotNAXUWCJIhcQfBImdhJULzvIzEXDmKyNnzPzdcWYSdmIumEbyQDJhTIzNPFkLyMjoRDLktHBpxCqhhOeqIohHumlVuQjoqvvYATAHNIZUKRMzciccdEtniSfuThkgPvzuDruRDuktCEQHyDHJTjqCmnBdZUogkLDhiZZXTHsPkNmAbuPKFvqlCdsKVOyDTaUcZcDUCvFwvOzUqdbLjcSzoWyXxtAFpbAwwwrgZkxLyFAxDWczAcPxbviFYDdSpDCTpLqlTaLLslfVJzqVGaWqZJLDuermdAXYCKvJzVfmkLYUMjhoOFwVycedvtuZtUlFBMepYdNwAAIHxzlavzAUQUrxsLMQKwRfNiRWpGyzZyFOJVnSexHvQOIMrJpzrvsgfRJnPgmEaJQsSfnNQwNVGmcgxJrywAWvVxHnbVDUZwUPMhxeNpeSgWdx", "c_map_string_2":"iACUUgDgIvsKRSrBAoZdOdrUWHVvOtDxQbSOkeZMgBInBDJeqLbZqZupEmtrwiqyAbfXFKITmeFjQuJekHFuTsmDSUPFLpSODfSKYxGxgKbRLtGOKTelOAiGUGnPnILnFKfHKUfsLOPRbhjvFudqnLOVUCLudOWeHDGKXjWqETnIZUvHjtzxNhJsBlvpbWpOxNQMqQYUqzVmZdoGpeUHbgsIEoogSeobMYrhwGmDmmxSbKkLVhTqtmplciCiwFcXpEUkksKTRVUEZFTQBuELyksMAxauTLQGVBCrFIgAuhMyVVlydhzuoUDcOLevvxVIKKBnZpyjpkLFFkiOnBrpMPrJXLGMZIEZhudljXcMEWMwWnBrwyUiiDoVOFAvSrTrMxtoCZNLKgOmeXIZLJyjoGNpKkcYZIoxAYlKDrtyHkojjKlGuGhSvYrSnFhTfbycKQdGkEgpzZDhlmryiynSFzbNqsLcVzADbBSDCAIKrKJqJaCexAfceBEGeHlPqFSW", "c_map_string_3":"hyNyVsqIwBQsxrgEwuypPjcptesowpIZQAQHKuBMOkFfCzeFZQqEZavqhmePPxXPgZpDEjjqDaZGxNjDFecJFSvzqDmuEccnXgQFViqIMFJDjYxOWMUPyjNWhMrPHCURsrZZqtkfLjmwqwBOKIxneUudQJaoyJggmFqwCjdmoWSflzOXDTfQnlyciVCkRNOQYEselZxARMttxIvpcodsBAoEStLskieELNRgESozzdLFVrKKEVJEjweCSqfshXcPuPNMFSZjLiVvtEKrztCCrJTfzepMlJglDauIXcUOASUdRLAevzccLaGFpHsLnqgBWafkDMItrovbvjDbmVlytcbJYXMatKIZzgbLoNJWwKgdzXUBgHnKfeXHpcTogndBsNIetoKXPtStBLROKLTqxFKMqwmUiICqPjGlSxulcYyKHYqnNwxbPYQINUmdMoXhkgdXPIZQKfhHZwmqlCUrUNoaSprFAvqQybJsADvJOPvUUiQegzThmZPopNRTPtpy", "c_map_string_4":"aMYNLVugFEGXNCvXOGfdlIzVYYUqKolNSmQLQjLIBtEXjoQTXtBvSiEPsPJFBLeasOyktPnsYQQAFTivGPowpDPShTMVKZgqhMtwVFFRrqcgOmtDdItdKfFKGNvduStyknPcAXwDtdIQoOFnSpweGGXprQLuaYEdGHgnheBqfZfdSaqCwYFbBQJcwUnDwnztaTMdtPhZEFuDQNaELzdQoWKPiBhDpQJNeaImLdkKfxkgnpkhYDsaVFIOgfVzVNNjtTzzgzuqReHtKQnrBwvFMkcpLyivbeYGhygFieHssJujHWDimvLRjherQnQWRLwfRgIgXasgNGkDHqOYvDCcDqOlvuInpLwkhgJNXjmpImdqypMZLYdFpjmbBfqgzmqsVMMznUtyhQwlubydmkKQIHDrjNAOzWgRMnUDuJMktjVfMwwnGQIkldbEGqQoxtEyXXtMSlQbEGppoPeDBhKmmoBIftzbQuKAyyCoLGuwkHIAHDuOxupMwAdhPStFOJOs", "c_map_string_5":"RFsgXKuDjhgrvKjGqMiQEHsqQgeQctokmERCUXoMCSWlinKRYJZAVLCEeKWdwnDjJwyzUjUBUJZBLhwOdjyHHlORQEkoQxFmLLVkQXdGoXgyJkPCrhQkVAttxjYTHzumahTSHeUFcQlaAZZofFcHLYgigSNxdffWqpiibcYXKcXvaNzXCKlowASibIVEKQIGzRPPWrSBtTLAoqvoCDraAerHlBKKdrmRIyXlCFmBgQokUXoZqsnZbJAWHmoSifotHpZSFlAyQUnoqveWLBbFSyuFDzpQzGhEuZYnfmWuEPQwYrcLhvnmOgWTinBhYtYBdNYmdPiUApMOCZcUDXxrRHCFnRaGRftRCqMEeuazawwuMnzHjCeTpOyVZzXJBKQFAofKJZBpgHxFSxdrUZEWmQgWIwSWFRSpivImyZKGRFxgnRhtemHmHtATPDplHKZyaBzAvRRPUOKXnHyWSgCkcQZulOxOjyYducBhEvXXQuBtVFmmTXFMUiiYxGVXPmQl", "c_map_string_6":"ScMCippBHDypqDriLSlSgCFgHsGeuqQfNTcVGQalPpvsaKzTcEEiCPIzyleAROGnqJQZSlhqfGhRpnKjxIeFPEUTjBEDEbqBlaNeyHQrFRsmdEPnlIpkXLjjuGlBAgSvEPqIdSdnUywTDyQfsJfOWoEfvpKknNjFmKmlxigjbvIKnMpLxhpxJNjEyasBLQAfqdQzFPIYbIjUoYSPGvTEeaSQkLnvHHCTGNfLkZxHkhWUVVAtqTpoofmTZGSLCfigZCRmikhoAvdgMOsRXqENEoylDWFooMNQdzITafbcNNBbPuoazlyMcVgSMdGRFWMlpxyvNcFqEIrgDtxtHdcaaMPAWhdwaJkaKROpfSiTyABZwhEDgPgiwcMYrkArohLgWMIhYRkxaMpLprMSqUBvWKAYbcjTcZothpEhhmRckkDoXvFZlEHUtNQFMbTZWcQznafvdpscEzNLJUnHbRLoqItkeWTmNXiwDXcWhjwpoCfVCXZmvKRNzWORumZsDzpY", "c_map_string_7":"zfonsAoqMtXBDqgkPQWnfLSvPHSXycAoloVWVtgOCILqavLJtaWlkHLgQupyJpjzlnTVDiAXnwZGknBmkLIKzUEWzmoirSTPGBxDPOmIZKIFRBwwtZwyQVIGelQQWTBXdCxvSadvUBbbdDOCdlvrMpOUEHvkQZTOHJSlgADCLoAdmMfxINttRuyeBmXsEOqIVwaumqfMuNVKyqYUnrJtLOjGHLTMkqUSpvadeLdWPGTMjTqbWWOAHkjyxVVdQotVFOlvcUbSCoqesIxWicggIlNtGXxgmqBWNztvfUusjvemnlFrXaVdtMrwBpWZuWlldfKHYtlhMIKdaHRbmnwtzXstAstrrLgiKsIEDcaogheYcuywDiNmyyCNFnODmIjBRCxCBkBShqowHvKbUpwiIKMYQvxmHctZVNXZrrlsolIbvJfwKmJGFlEednsmcYiMIsUrpWQUrkensFgxtoyoZHoiHERlZYvQhUrgymQpmLVgauJRZgUjAOHTaatGozrN", "c_map_string_8":"gHrlCOzpkeLXYbdOPjISPiWUkBJraLMdTMHgZFEXakVFVDUZaIbnQLwIftJpHkWzMrgNcXVwNdoXkwhLlJPFuzpxGTjKFAnTGQrDaDYzfDvsOeBfWwOpNaSsMDvhFHsTpiTBlaQWKTMBZthhPZonXXpRUYzzEnZIDUyEqjrhmkmBYkSLJXceYjgZmhTvLsytgBbIaqlfrUiKOofYGtayRkLyfZvZERkJJKDqTENrrOSUzloXGsoLOlwPaBDdcsoMSLLKCEzsTVaDenOiIgmLlNLCjLRsoJcMvEoLNUTVbwVwYkflBDzOLdTQrHvvhwoILdUArsETQVKNtRySLBhwwNVAjZOgwEYQAPEZRovgJrKEMfVhmcQVDLETTEnumtXfHqDhmUvxkyXUDRlOBwsWTdRNnUzOTDPBWVpgxFbzXKFcHssoXHjwTcwMxRFgqogzddRFdCNUwAaySElzXYOjtjxoyQzhRcOkutMSdhzpPxXMrqoJmRKVZuxlzZLVFwkV", "c_map_string_9":"zWxYaJjlmySQdDQnrZdOaKhIIaMQQVlUfCDbVzYzfIeZVkfKBubcaywznNVHjSlghSfHqvYcvvTPtrTNfTnXWnPWXdIvpetCXLhtJPKYhwHofACfwHPCkheypccQkfqJejHIumQVTjwXVJLZQdwkZlJVulXnIyZEPpTAGFkflmjCPayAHXliwlZdIGdDcSAElymwkeaDAUSQqykjpkYtAkXZpIYcbaPzadGlmHQiUIuWhWXztpNfnCPRCBaWiKJDRSyeeJQtgAjNuowJtkPSynGyjHfuqZWWzDktnorBLYkoBKJVPLpKNtMQWRlUZWYDMLvgXfWCdDQexVbPEsxVgRCAcEhoGJJobamcEmdfsVatcDJUUoMQNrmxwnGNsUMrhJYdAtEyOCTtpSGnkYpsbZlaYbuSjDXNzCwGSQkUAWAiSMEJDiZQcQomgGztWVagAFNjcoIWvipBNbEQYDIRjIKyzEROpthaKxulawJybvHIKpPPTnnKmxkAsCUtdjdp", "c_map_string_10":"EgmTXCxWDIPonqVodESFpllunRlZNMDzitkeRFSmUTMysArdPRwhfdgbozybYZsFujOSgpNnsxScsLgrCJBBrRBcgDvARbEMgpHQBtAzEubGzhDYqOIHOxmWtieuvVADnAbzUPgASahtxinnNUuDHoXRwQZpPSzVzfcTLuWHGFDwHzEuGsuvnETUDYKsllLwjQXSwsSeBYMzdEGkpyohhXLPdDLuvvvVhNodQaNUzTmxiOGjpgYhKGyFuIVHmYOTTshfouDiCpiRVvyRxNoVmWdABgALKaSsqZjkQhOSciEXLKkJlzUtpJNHqyPTzQWarIZWTmDbSUorZlGTlAFjKIvTlCboNIrVbRsNLYrDYkpxYuEpIMHajUQHGeRTNeXxctCZpstFMfuFcowAPWMVvdncwCVEWyjAKyiDSPMxmdBPYmrmorYtOuDRGgffeBLAItTixDWLMNLPghfckbzfddYmXNfDIHnCxkJsGsQsfnKurMjmrkzqYOyNaVWusDnz"},"c_float":33.36995,"c_varchar":"oh","c_string":"bMXDSKxdgcUoneBDeSMRcTtIjeRRqaAYZqkFzFaaqmsbydenLZJZYdPSPHszTEjuJIeOwlXErsofeJGoiKyVRQpZSzKpmpkzPtcptYVwJxkESBsnVcdUZXrpIHyAQksDWdjjibkaAmzGImwOtOTvQLBgeHqTQebpZiGPGOYBChcvBdyikTWSqIoVzuTwkTxTlcByFqlNcAVAGlfakSrzKAjPrjjYAMgQkEnzrnHGaIRiMeDzbTZemQPeIhEahFmHNWBcEmTvGYOJXYtJirSXzrfQqTAYNcmkOuuaPnulyiradRNzvLiaoanxibJmekZTjhSDkJageBVdtHzicajNtbmEfIukaNPOloesNjgPxjZoWxXGXQSVvXRhKLVKRJTbMQOrLVHOSNZUYfsvJQfmUImPbFgJwOMKHDxBPShxxvihPYnJzqGTLZvBDFUDlbmqKPzcPGTivQmysRFphsUJuUMANvtbloskTNkgLZSupoVkZIcslxDYruuAzELipkqQ","c_date":"2008-04-03","c_map_char":{"c_map_char_1":"rvQibontkK", "c_map_char_2":"nRWAUvcIVA", "c_map_char_3":"lFhBxBClJa", "c_map_char_4":"HOEVezlHcp", "c_map_char_5":"gJXwDwttPu", "c_map_char_6":"GgYNoPTJoz", "c_map_char_7":"ukTHlBNNbB", "c_map_char_8":"SoLDvBBpqp", "c_map_char_9":"MBSzSQOdNs", "c_map_char_10":"dDJAwQfBHi"},"c_map_varchar":{"c_map_varchar_1":"nJqqvJFCAkkVywlfMevnoatGpNXtxYSsyGUgupMsVjVqExJqtaufkMqRHAUCvQRdaWEnLLbltWTNTmTWvIiEoKMQFZHXNAygisDjixKdwjLeFkBWvClrKigrTrAQtvtFEWQnofthVHvmilvKLoJOqaHukTImjeTUSaGwqlUpwfGqddubHFsoZeyYNigoskNzAUGvZdKMJvqSDcNOJKziQggnxqwnmgsSUiIRRzRNnCZIfCBLbADBuNpqmcCsLDbn", "c_map_varchar_2":"nlbVjBWNsnaNkpMupEjyOTGaHjhzQmszfUWWIhlfPbSZLUrCxOWZutLpfSwPsnhzWAQEstDDpZipHxfJuvXAWjkvIbvSxjdwXlTVtOQGSzFBdJmQHDrDDEjRHpXOsuoWvLZCcQVUaDxfccYHSoRleLWqjYhznGmgMeeNkYOmiowywctrgQmevRVlFSJDrlKixaqZudLZmjFLNMUFumObSOyiHmjmilUlsEfBNrrzrJXHEFvLcXYoFhUDrJHCvveq", "c_map_varchar_3":"tWnENaZSzPsYMAJaOclUFBDSIWJmuhrQompdZNtfusibbtrxNnLIRxKwKZLUVSUeHpFzWfbagpvRMvtWGGyTGmOSlTRRHvAnwRXhEFLvcGkCcdfKppIlWzsyGwpxhNkSTRgXRvMhMXeaJouhyERXKAUzzBimzCgMgwvemEluAKMQottPxfxVQIccZsqnfwzzGAmTDaczrYWlealDUiAxWygZafMqYEhgKXKQheLbJwIyuSSwsnppGJaTtDmWZnbN", "c_map_varchar_4":"XiTIWweIWDeTSEjodpeApKPloEjhcobmwAlBxOpwzqkTbVASzWqZxwXNCgvNqkHFQAWprSjEQEoJutlSNoDZQrWPTGAJxaTOKcjtxGtbGTzkcuVHlIOtvNsIPEVXawbqWYbBgEPhkZjqCfBBUMyBwnhVywSePJpxEkFvoicwNHPCuzPXCucCllIKfRNjACIfsApQxACLnWCQzxgvEFGmJzdXexAxMxnEmezhWrTkylsiGHRIyMYkrqXICIvJlEKO", "c_map_varchar_5":"wWUwpuNvdZxeKnPKzvHViEMIAnlRhcaEAfvFeZcRPBLnWjfwQSagxAgoDjqotifITlLrvDWBYMPPEZFWuDWZQtjDUQczHgmbaKzpvqxpnmJtQjRRYhHTloTBYKtaazaWDVdkvCmdTuKaXENMVuFsTnigQYsmQvQwyIRkNaUyWltaALsJZqwOLgXkLsPLHTbGPaSiCkfcxGSPTUiVvPwpIUxGYQlXpjzJeqZCLgZkqzsaGFqVElZkALUDIIoUwvzz", "c_map_varchar_6":"QvJASXLXbNZskDDiuzlCuHliEVQCpFFWfWOJraBnuIKCCZynWoMgrrUmiiRxYIuYdCSKZZialBUwqXHOrXxxwiuwLwoDaxoTDoftlDJGysZbrtaowWYIDlArjgkzzVxYonueUQjgMTdGkNeOVORsCePoEQzRdCywAhgErNwSurmTEidKzheZQFneuAtheCkxrbgulKGPmSwFoKrbJCZUrFEPNLlsVIDyPQRaHbWUgLcvTaHcxidJRZCHRRJDgljR", "c_map_varchar_7":"IpCiiYBHkhwMPVbFnGDpfrokYRXNprjBFvmZIqBPbSenlQQtNQevuDdLlCqgJbWejQCaNSdbJBGbcgIgvOrRMvhdgItjhoQBuvzESnLcWoTArjqhNtjVhGWVPHHNIhUEeLLhVqjZgOPJCFMqXPzYErTfgVAOndegDInCyGQcltdMVYFaBoOlLeQkGihNUonOSVbbIabazDEbvBytZwsPwmEDRZRLpCWvpJvGBPoXPTBbEVIdtCWyFQKmpujOXGIJ", "c_map_varchar_8":"oivnGzcQZTfxNZaCGAsnKhPgXhpEOylbZadQzSnKKtAGNzxgNGLLUNUKngPxIcGIIdyIpdaveiLpfjapcjSIRnwcOsJiYLgsEAujuTZhqQnPhNLPdAlmOIWWSPDHqenumbvgUsNTrDQwDfeblZLtnGWqLYwGFIkXHYytKjAlRvfUTmqdZJgRMnoTScbvbScWahycodgEyKYySxAQbVfsqiXstRUbXZBhofWLAIZekdULHsrPyHtKaUjBAUOpgQiE", "c_map_varchar_9":"beVaJQULpnUmJCYycjiSvJQAEUJMEgEQmayqsUlJxkdZZBeJUZmPkyxVfHdDzCXHcsptGOGyJHaHhyFiszMcIXWKZkxVcqZxftvQxcuwqCmwCiTVELUDQnHVVOyxxkxbANEmJrJcTcGkpslUzTnbSCxoteaNUIjHYWlGtHJQYMkgigcvYMqygOfBmPbDiwemohHPkgKXaXcDKyuqnmbxeAPuyJIlYWwCTVzguDLTNRQBcrwmtJIYnuYXPCymznTF", "c_map_varchar_10":"bChwrxbKbQoFRCvlaOCXobfoxzTWLyKTtoEwaOLxvahNwsLvvpnhdfyEmRATEcDSxGsBxZYpIkqUngUEiKfoOJBfKwwLjdJYAvcOBkfTmynqGPcxnKOiOOEWphJehEyWWmRApShfNmOxFrEOCOzNbURIeWXXpFbEOnPvBqKgosVmjZjYruvXCmaBsQUDcUxfICxsEdXueplmcdfardZcdMSnrsfgdjVvTgvaeIXTaWnJSiymZtIMYEHgZDHzAlhv"},"c_map_ipv6":{"c_map_ipv6_1":"fce:d210:dc21:515b:fb1f:af68:612b:1a12", "c_map_ipv6_2":"ab8a:b8fb:5b86:2581:2a14:66bf:d921:618c", "c_map_ipv6_3":"9516:713:5c67:1a96:8255:690:277a:2b60", "c_map_ipv6_4":"2eac:cf01:eb7:9c91:42b1:3812:e0b8:761e", "c_map_ipv6_5":"8510:c692:cdeb:1544:46b2:3b4f:b777:5da4", "c_map_ipv6_6":"f4d9:43b:4bff:97f:ae99:6af5:3b10:1ab9", "c_map_ipv6_7":"a8e:f67b:fae7:5317:e2d0:244f:f799:2581", "c_map_ipv6_8":"9f48:a178:d2fc:f288:87e4:7b43:c7c4:4a31", "c_map_ipv6_9":"4214:111e:b2c2:76ea:640a:76f8:ed2e:2f7f", "c_map_ipv6_10":"8d37:32e0:e7ca:10a9:9ea8:f625:f93e:879a"},"c_bigint":-7661900943620777700,"c_double":75.97053771700115,"c_array_float":[28.599436, 56.883648, 74.69296, 10.837187, 97.0327, 75.749916, 33.307228, 100.63862, 84.37233, 26.537277, 84.1329, 18.931583, 66.40376, 89.62207, 24.60499, 67.654495, 90.68358, 87.45612, 19.59674, 73.80292, 55.063187, 72.37912, 9.001981, 20.971338, 46.14007],"c_map_largeint":{"c_map_largeint_1":7937843092790324721, "c_map_largeint_2":6391213139734434642, "c_map_largeint_3":-3269732458926154118, "c_map_largeint_4":4145275602031761137, "c_map_largeint_5":7485600085440428821, "c_map_largeint_6":-4106892027346735150, "c_map_largeint_7":-3085746076556829183, "c_map_largeint_8":-3425178320358635732, "c_map_largeint_9":8071195303166367594, "c_map_largeint_10":2163480998858177523},"c_json":{"pronounobject":"you","bookgenre":"Magic","celebritysport":"Sachin Tendulkar","comment":"ouch","minute":41,"latitude":68.539956,"bird":"albatross","errordatabase":{},"httpmethod":"HEAD"} }','{ "c_varchar":"there","c_array_double":[77.22564010668042, 15.622086381635318, 76.53501401859145, 44.97042354222481, 6.6048098009049205, 44.657392769120655, 46.41790223142879, 29.223232428586673, 94.99189537034898, 100.50245629197829, 45.16790244143776, 95.59612066170988, 5.431557747605911, 60.498475875898585, 79.95126893976393, 40.47029928836838, 95.84727301829864, 56.069358647635354, 49.59657428347615, 12.330635695135499, 29.331492477603195, 33.86231316341449, 63.0377169216449, 23.149334190066053, 43.596532070525946],"c_array_datetime":["2018-03-07 05:08:15", "2004-06-26 18:17:21", "2002-09-06 02:43:55", "2007-04-19 07:54:28", "2010-05-21 18:29:37", "2010-07-08 09:59:04", "2002-01-05 17:19:35", "2007-05-26 15:52:58", "2001-09-04 11:11:23", "2016-03-02 18:45:44", "2004-07-09 11:08:34", "2006-01-25 08:35:55", "2012-04-20 01:32:38", "2018-05-05 06:24:18", "2012-01-03 07:55:48", "2012-02-10 17:41:21", "2003-07-03 07:11:21", "2006-12-09 14:58:59", "2015-02-06 10:27:10", "2017-04-18 22:09:48", "2006-05-01 18:24:46", "2012-08-28 15:50:28", "2000-02-24 19:50:13", "2018-02-06 14:57:33", "2007-01-14 00:01:50"],"c_map_bigint":{"c_map_bigint_1":5784747976782501474, "c_map_bigint_2":2762596243654869728, "c_map_bigint_3":-3197619567319955024, "c_map_bigint_4":-3589105430107758010, "c_map_bigint_5":5265878103620168040, "c_map_bigint_6":7310083583340921430, "c_map_bigint_7":-1601892434367516178, "c_map_bigint_8":6633209987123232459, "c_map_bigint_9":4268503736797326006, "c_map_bigint_10":1338575542208374011},"c_decimal":86.1863,"c_string":"QTlwEewmedNbzWilejXXWzJDFvxcpeMSFzihbQaPOujjduYwweKjvyAvwzdBZZYMBXERqWAANnlPvIyMfFDlLegdFGHwXnKWtCYYoScEgONYyUjRvyRdwhtWLBcCRTelgDRWgJSntHxARsBWBuFkjKOzXmjZqHcvuTLYNsLwfIWjBycnstDdGGkwlVRHYoKtwNfsFjaGDfvFQKvluuWLrhbVamSPKgkWcsKVhARKmLhRPCaMkOGekSLhTFOwUUedByCkuESFhOoohKoPeTeWGmthCCDRpHIlVnxjKKloRZvCORoQflrKoLnknCESMxOCldIksjTkIlGJtsrDImxrkTVIaiOHazfHbwxkZZrdUKpGrOXEtsDKSAicyKWslLCkhlNlmdtzoDuVVFninsCSSdWCzkCNOcMtmbGaNPhNrLNrCOuwiOsyriaTLjXsZPwiVqmfcVNSxccAtYPeWPlegtdwcWCgnvhKRCuAJncVlvZZuEBibkQfByflXFwlWZvf","c_largeint":8476090547279118103,"c_double":64.07907514810314,"c_array_date":["2012-12-16", "2016-07-17", "2006-08-19", "2018-07-13", "2019-05-26", "2016-12-05", "2010-09-01", "2016-11-21", "2017-06-24", "2001-06-28", "2008-06-08", "2000-07-13", "2010-08-27", "2012-09-28", "2012-04-10", "2015-08-14", "2018-08-08", "2013-06-07", "2019-03-19", "2016-07-21", "2017-06-09", "2002-08-24", "2012-07-04", "2001-10-20", "2007-08-28"],"c_map_ipv6":{"c_map_ipv6_1":"c4b9:bb2:9d4:c28c:4385:96f9:77f9:c4c8", "c_map_ipv6_2":"c2fb:33ed:461e:658b:3530:13c:b0d6:6bb8", "c_map_ipv6_3":"d2c6:62e4:121f:e8cc:b0c8:2661:b4d2:bd10", "c_map_ipv6_4":"e6ca:e862:9394:1d29:b2cd:d353:7720:db3e", "c_map_ipv6_5":"b940:1ac:3bed:bb24:7cbd:7649:d8d0:2e15", "c_map_ipv6_6":"391c:cc:4011:db0c:a593:d732:6e7a:8c4", "c_map_ipv6_7":"e20d:43c9:523b:c56:420:9beb:1205:bbe7", "c_map_ipv6_8":"a4d:61a3:6161:7fcc:4f8d:3e4c:e793:2832", "c_map_ipv6_9":"95f7:197a:de0:1eaa:8126:5838:522a:4605", "c_map_ipv6_10":"ac6d:3d61:3cee:a7da:b025:84e0:24ac:6caa"},"c_array_int":[1186780488, -370355304, -1967476919, -533849260, 375289870, 1731499391, -1676710410, 1477311615, -1522510892, 830250052, 1462914385, -1938473063, -440264559, 1729129600, 1541663910, 1132574884, -1175825098, 219854076, -2025678865, -1813284007, -466011256, 432669880, 572803090, 64309226, -1624268699],"c_map_smallint":{"c_map_smallint_1":-106, "c_map_smallint_2":-11690, "c_map_smallint_3":-25549, "c_map_smallint_4":17529, "c_map_smallint_5":-14423, "c_map_smallint_6":13457, "c_map_smallint_7":23698, "c_map_smallint_8":-31821, "c_map_smallint_9":15512, "c_map_smallint_10":12361},"c_map_int":{"c_map_int_1":-1711283922, "c_map_int_2":-933096522, "c_map_int_3":-1938995291, "c_map_int_4":-936861484, "c_map_int_5":-971929968, "c_map_int_6":1819382526, "c_map_int_7":-1130422922, "c_map_int_8":1601904298, "c_map_int_9":-423077034, "c_map_int_10":-2061743036},"c_boolean":0,"c_tinyint":91,"c_int":-1573267186,"c_bigint":-5882946296065591042,"c_array_boolean":[0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],"c_map_string":{"c_map_string_1":"AumvsKczdZEQxvBUNuXyaXXtBTQNqlacoaspTFtCkjvSewyNjyIYYGDrbqWMmyhvNyiKJTzhSfcQCEAlQySNASLrfozvtRWnPHqztECqlmUGGzSVyjtFrqzSdoKXTQeJoGKCBJfdTzXqztxsTOtCfpVKyLWeTMRRxBIqoGrrrbltQIkygKOXGYZDYiLgDaJvQbCoryMSubnLGvacnQdIyAXkSxIBrZGLqozvXdxbFNqgcOOhibKjmozRuAkwCdgmxFOwxBswBtJTFTjhkoYwITHrPSBHGCZntzMSlQrTBgQGoaRzlkISYNbuFidqMrSHTSTqMVysJKsyrZcXdSdLdXtDRVuEbyrEuHjANGDHdhKSLssBOhedRKirTAlzOnhGAuSduGVIQbxvKVdWzvDLbBiLJwMuFNVgTIRYYzFYHgqEWjykBPbYlIKcKGrMzZGWbdPsoApGpmuCBbrUzOwTRAoXdAmAaaDgbyVVImTYznGqZwtsufdEQcaKGNxaYflV", "c_map_string_2":"jLDoOPYUSgnawJLrDQCpwXSgQEkjyvPRPiifXeYAuFjrkiqbjPKpmdnPdWdxcxMXUEpNkkkjBUZOMhAyrRUnObaJcRhllAffNQucTtagILhNecMaVKHXWxOQRvkvwVwMSfjVkKYeqQmJNMSVtlzObcqOLwNKcQeiYrVSxlnBwMFWFmtskpzhuMryWDuRakemxCkiAqUehIBNsTTMEjuvZKfIHPQufQSBuUFdnFIuTloDvootrIwZyuoGnsTYqBwHbmRZZhhsJOmaQmwpGblEZCtfOCygiPasIGaxnVvVTZfJnrJDeSfupJpWABjYaoLQWUqwcWcnzvNqtKRukelohPshLWIFHFxoePQmdIVEOVkCdaCDuqrkzUgjVyWeqJDzymOuyLyZIdMPajszFcIkFzQjswoXrnHWisFtZXYvwzoiaWizKyMCyovRwwWxVqkZKWZqCjOXusYnzHiGsvXgFAkVxXLxjyabvKRBiRslXZAPQfAyGgKmCXNlEZrcEUtC", "c_map_string_3":"mYHsClpnzrmJKeAxRFlZgddCeCKPyustmjTvgCbvdnqqjxWvSyOrLOueiYEnXFkTOEBJRHIKRPHdhfUTqyaxEkMCVVfGYaQdPLcWzUCrKSIeVETWPoFcxkCxrDbmqvhlHjYeKMDPkflPkexsVMtiWeiGDaOvVktZVssEhDNjZooXIMewDYUNgRkiNbBXUUmwsmsCRnlkNhyWGvpwpTxyJlVTfFNipxiTsGTTqeeWbDEICpuFOXOFEqHGfPxhRSrTYcFlanJpyNQiZPsGHvnRrlfdtmEFsqRSCNxsmMEmNhGDFvrltxJUSALUpVTLqkOUzkLYAyFaDLfBIoqNwPHjieuVgevVSgdiQtwtyUIcEUeNxmTTSCwMPtNKIGxIKLLFVpcdxCZEqZbZckaBXonsIOqYuwnhnMOKRvrHNIiBkrdTltIDPomJYDtedOnZtqThyzCAyPiqjNwzWwSisWACNZOKvRxSpGBnaaLGHcSaHSRiSfJPVRmRlXSweUdNISPt", "c_map_string_4":"edQwGsfhFiuhVfpWFcVrkhpMxWohGfESHuxqXENwBqzwjldTUEMrvowAUeARCJVBoidCAkmHQoKqVwrjYJESRiwZLXtLRycbPbatuLRKIKdPcORFEjeQVscysuLYTTceDqMeqwvVUTGSjVoazpTJZKcPsvVRhwIpqUBUFYAOVVAzyytXPEesIJSPeRyWBEppGVrkfmpCAtEwZiUczbjYZJRQkEVajaRyktJNlNMQMyawmHmAMisyFVtTdunTHsYMeyrAShhgKNKcUCpJANWhkPZyZOXVJLBnJTWjiDGjwKLzpkcUsyQVqxubbCxHYtEVzedMNdQwPHeKDAFHprASJhsbKYlzLUQCPyuAqnnzCLMbnbVuTsPQrPqkLhJavVfCYGuQGYlKHnvfbuJYgDrylhwGfhMjWFHtFmvkCSZyDNAoABRepkvkJtwiHcPtcpekZCmDXtorqVTOcIFMwxokflTQxupaXsYIZneIBbIZaOxyplnaEkxvPuHadGxaAdSY", "c_map_string_5":"PKCYPYliykVCxGefpLZmsUxNZaOCdGTRgCQzPPikbBOhesfvxzuACNtaWXCWHsenIUhdxtKnlCJtwXcbLNzXvZcHwxasXHSWehQZlqYlkdIfwsQwRuLQPvVRpxvczpHtRIBFsfsOvnEwWGIzANfIWOmFXbUCtBHDvrYkFxIlhDWpEmIheBxYjCHumebSKmsxPWNUGtZJxtWsxnSAlKdzrOZOCxtWrSfUHtMhajvHZNMbhEHwSAOrYvmfDcmcxjyrlBvkgAbQdDCGGsygausCnCZDaAAXQXSpnTFltvomzzsiUkHCXpJbOPkcEOPGtUIsjqyEHUIBVIfBjIrVykMzOoWgbUZfGcJntCDjYaPfeeVzaqNlahGxTsYwJleVGLmlCtYdvCTWdNRZrAmUbbhVAnyxxXsJwDkqCzuRcXENsNxsUPgLlkEyJMyuGKLaqiWehYnADqwokfSuEIqhnekUlhNqmizKQmQmBsguJNITLkvGyxjroEnpeUNwBKSaBmXh", "c_map_string_6":"CruPMJmXFNXkDKBjKhkmpXYXccZGBergOnmnFMyhrdtGumJqurzPZJARQWbWotSWbwkgNAxKuwLycnGswyTgstyftzIoKyAZXJjMmLPBDpHaDKxFfBibajIqLbgmxnqPtktZFFhEHhceJvOLYbSHUgTFYPcNcqwDAUsuEyvvfHVDvLIsZSztOqPftCAgfHylFZWdiWvLDEazumHYBhDgQxfPlAOJnCJNLCaaVrbSsDlcJAPTuNgGgiQHoZUCodFbrzfCjUyGfBVRxLdDXgWOSxfSgMsBcyMAvgETkVmSqldlUMbBqkogwqtSEQpTetZAMUwbOFwZflNwwNiwVfSztsBpcwWCCPmcnAtBWdJzXPvoEwhXXedFatMKaYnpyQmKZsONFPKOphXqzVCKqDXCbMZFoGgYgCAjJBtqxWNqXXVBeXxrkZbfJILdEnncleHWYIiCSSfyaYBXfSaQVxqJnncEyBmtjWRcwhkGSFVCyOGoQRxiYJUnowtvqmSZfozA", "c_map_string_7":"pvFMmXbsqqyEPluVYAnxDTIepjdgPbebDvWCESzqqBMMoUESLadqwNgEXGfUYykRWwXERbaWJayvFrnIPJNCyKAvYzbKYcrCLeIVhkVKatiAYVHvUXBwwXCMqMgGSglmfETgjglBdGihaDsXHgGEADvIeBCIchYjSOJfgoLzXPhHUQgyyxDEaWgodxkFTuoGUXkWKwMKiprULtuIZexolQMbiWuSwPgEfmEVUKmZtIoFUrPFHMfDItLDSNSLGXnjgdohquOxQKpbuRxySZoEKOZSLmeJXFuBAkKQPZSetGYoOIGHjNJXqhbLNrmzssIpymlUSIPOEBWiNHYsJFcemmiSrEuTLdBIOdzWJxageDBKqjHKcTOXYdbgDuVyoXsqigFoLUXEQwdluYHaIKejiOqDcsJWUAxtreHANbMefGVsFQHHTOpqBQgztTqSxvUKyEDrggNYOXbAEsUTSasYvTRHPUvRZznRvKpVToNQkqniGFACqxHhvAxVSkPFjXRC", "c_map_string_8":"mJvAJBtyggPmuKHrxzAqXPsKaYbFcKWXPUkmtbJuHhzhnQWElpXagXHJewUCwnKFvRSlRLnoZFUtRTqNRQtBSXZWprapwzstaaBMOlreRiIeSwTquluFbekhvzbtTlJobnjrzmxNzGvUOosOfIoyEUEXgxGiqiMzdHXIvcGxfSZOHUPWwSOktWPwpVsOjSwjJhsxNvWBMjSGmquxwKLogwyDlUhTgPlbEyhIjaxZgJUNgmLweSAoFxXiKazYwRqpxldsmqtXllIcUAzqPhwWfPmVDtYLSJECvQfFCxQxLJOziKSVrRlpIBmIHjPcdLUcqoPWGoVhezdDSFdCMNpHGoGKOatDfwnDxnuzeadINhdanuZmzqltWNuHBNyvbhPMZtcBcgODXdTEykuUHwKsroapYDTmnHtPXJWQvjsOEsWKfDIMCJiWHEeGAZfiLokmUzjKrvkbxlYYubHenFWLNbATvPdlczcpITJuZwGbllcdizBtrIREnJDZOqfYJwtw", "c_map_string_9":"EIiiciWistHPfPplFzIxlTcvzUnkfORSTtXiyHjyUbuuoOpsgCXqpQpyLHrMNkIbLFqDDHcKKWKUCRIDZUUYIxnpfiRhHZlVfdCNsnZYkCjcBwuxBjymHnntpHMYScxwhYIztZGDyfrcqYNsqhpBHcpoiTASSnLYwaUgUnLHojuPqWEkjaUwdgdUCvbTbOXXADbATytOFZgyQuZOFZiSSEMVdZFdyQxTOmkzquKwZFPqsgSZxhVerOdsncrrJAVMYxAgeOkPvIOifEtsavKqgfdGYWKHOpURLnrjPdrsdkWbXOdTHiibitpbqoYcaxLIjhvqKocboHywJOMqsuMFqvoDjmVwsXVlQRxzUnIVxokSxNbOtzBwSzdwgkCGcrvqNcHvkkJxnQZHKXkKHiZVIMbVesslTwDhwCwCVIGSDhoZiZdlNHYYfcNDazeTXkoJzFCkWbfxHOzOwikqqSBIDxfyfpUuXbdKrLiePbXnoptXungbDABZELltIKqHkLOs", "c_map_string_10":"nmPAQpcjAVQlVadgiItXapkVPfsglGCyTYqhTRDyfWaOqmIzLUHFvVMuQelhKwpkRduHylVrIMocqwqvCVJbByUWKdWHIIHkHFljhOaAtccHsacsHYZrSVHFWGMVQoTbjZOZNAWtlfGnxAJEWcnRANbmvidHxuQDeXpJCojaivzdWaJHAjgpOwEgSWMGkAvQhTXhtrwVfmWykzjOCXSPtpRuCyZyuagkHCccVWCYcgqNkQeaqixcwRLzalbTsmtkSMvcDnsCwDLKGMvmNflemhHwHfOYoOyHwqQrdtruqylgAOtyWSLLoMDqhwYNaqOLIvqhzJBIInFuUaCstJFSmFYMkwioTfBWpTYsdIqkfvdAVBipcvWPYaTExGICdoZcWoVlkvPpdrnBrrbUyaNBlvAJAdZSPvgXyBcSoihpbFfpfqgWNeuOLWGwKKwGhsQNVCjVNOZOOPyacZEbwJKnULYpRSareXoRqmKGgcqrkAbLEStpSTxTVSTgzxTtHlwH"},"c_datetime":"2011-06-20 18:53:45","c_array_tinyint":[82, -80, 44, -86, -128, -57, -63, 27, -19, -109, -79, 59, -12, 48, -46, -68, 4, 48, 94, -60, -103, 35, 3, -17, -52],"c_array_decimal":[13.0386, 51.1397, 80.1091, 6.1833, 21.1306, 6.1835, 17.0931, 71.1400, 54.1847, 45.0782, 100.0382, 35.0791, 46.0628, 51.0473, 72.0530, 12.1661, 65.1680, 74.1467, 56.0677, 84.0708, 65.0829, 45.1461, 66.1123, 78.1606, 10.0768],"c_map_date":{"c_map_date_1":"2007-06-07", "c_map_date_2":"2003-05-10", "c_map_date_3":"2018-05-12", "c_map_date_4":"2018-01-05", "c_map_date_5":"2009-07-09", "c_map_date_6":"2001-08-15", "c_map_date_7":"2012-02-03", "c_map_date_8":"2004-05-11", "c_map_date_9":"2005-06-04", "c_map_date_10":"2014-10-08"},"c_map_ipv4":{"c_map_ipv4_1":"233.89.204.155", "c_map_ipv4_2":"95.110.69.195", "c_map_ipv4_3":"189.39.178.193", "c_map_ipv4_4":"119.38.150.112", "c_map_ipv4_5":"124.30.149.196", "c_map_ipv4_6":"190.58.66.60", "c_map_ipv4_7":"189.237.232.9", "c_map_ipv4_8":"219.152.198.26", "c_map_ipv4_9":"232.189.185.44", "c_map_ipv4_10":"57.78.200.69"},"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_double":{"c_map_double_1":93.61648614355283, "c_map_double_2":88.82280201577656, "c_map_double_3":82.87842116824856, "c_map_double_4":80.3936438953427, "c_map_double_5":8.54566533795727, "c_map_double_6":79.59246824744277, "c_map_double_7":91.4068738253624, "c_map_double_8":89.96369100669943, "c_map_double_9":33.42739688504916, "c_map_double_10":9.139210848035454},"c_map_char":{"c_map_char_1":"arEruqOSAA", "c_map_char_2":"LvFekNeRhz", "c_map_char_3":"bZtdrnMsOS", "c_map_char_4":"AMLBMLaWEz", "c_map_char_5":"BlMVVlukKj", "c_map_char_6":"AkCDxMoTsf", "c_map_char_7":"meQsSmOiuI", "c_map_char_8":"eajfGcxxsW", "c_map_char_9":"nPIUDCXIEV", "c_map_char_10":"QVzYUNyNef"},"c_date":"2000-05-26","c_array_bigint":[-2828296613302068747, -4068667641181177088, 302818465647916939, 3587809095499342323, -8784894325325529569, -7395126861031929222, 2709027713897492102, 8996199717741756395, 1231466947872951500, 6398114179170450655, 1195659468104658701, 931394372111268, 1289030203008130548, -4536203452916979613, -1012779094982913645, 8470311468200811333, 7852206015887608613, 7098325304778650699, 4526951656251149740, 5728560519286247078, -1123180716230654913, 3287201219419230822, 4633667117713161861, -7534086274820417905, -3654261466302734133],"c_array_float":[87.89295, 46.53503, 25.864656, 90.63626, 15.558901, 88.47959, 71.46956, 80.05908, 6.810595, 91.93008, 29.505365, 14.697655, 32.541775, 54.338303, 35.843784, 57.73026, 24.919691, 32.790092, 17.408884, 53.767826, 54.009327, 73.45807, 100.3421, 76.06266, 46.948235],"c_array_varchar":["DcTuDdTxmnbZcnPGbVWIuuvyUqkTVglSkuCkSBUjSBoJquKijdfdSbHOcWfpshpKNfuxGDhHqjmfzYwKYAfBchtovffOkvEAsYYwIsfvEMUwfJgybdZxPDzTdozTBMEwKEhtLGsPhCiUnBLuIhrmBNIhwdqoaUVoXhzigziLUvEIlOajJRaTSZKepSrPoJGXCNHjrBeCIISUsMxIukRoxIkXtyTcpqeXEQSSRpQwZGOywGLKIRgsyCoVXkhbulxO", "OREiDANXzBWTTOpTqSgSnxtjImRRAnfagSQaPGxqtCtkXEitnaUMrmDCRUDrKtFVsexjEDAzfQvcacMyAtpNHJwJZtbubeWMqcfvGyIkzwWgemIsnXRYkhZFtBFzuNQrUHTmdOqSdxkQtSAnxMCHgXdUGYcnyLwkQbcTWVpGOgKctGzkqOQFGvGmlzHjEdunluiFNezkhaMGrimeOTwkmjENsBwAjJkSMssTYOkJVAzsiVsZCJtwxyjbyPkMaIrb", "JXkioVogXWugHNkcJzGYxkhHDDVxOXWdraAtJHxxOdPwuoQOYZPmbvoTjptoLmjRuCpDvBbeNcgyOCrOCKbPmXQcCIarCvaMQvkuOAIGxNzcVZSfQhOkMVzPskPcmXWvqdBqyOSBnHKBTskazTyxQzXySamFdVhjDkvINkPEEPGhZFybwxUKxjmBAXQzgOZQiNMmMzXAgwveUFuBzwhQapqRjyVADDoriDlVmxvyVxDQbdVPAhEyOoDWRMvHVgSC", "KBObtUYSLjNteMwWYapYxzCvGIiCXIHogYfdeWjPhORfzORkqnKmrVPYJMyZIxposRvrBcsbrCobDBdykgToyVWxStltfDpagCXGDUpRbZteIOLSYtxAPvUxbSrCnEBgkztPlDkKwhCuSAHYDqmCDhKqUjQdBJvefYWAxXHGnWUtvBCJMLYSBIZmMSlxkbOfiUrKLmfOGtwLXtLPXTSPwvkqjTJKOgmEhbSDgvVnpXKsXhuRijoiAlHXZJcJoBky", "GAWhblYzYkMiMInPeUIuMknvdbkPPVyJxVUvUDqWlmihexfaXLvphRuxryjNRdMbqFNyoYgHdkrjsyNFtCYIBWZntsifwMFAgROCaKJKjpDVhiKgPItLoXCPYjSNboVyOsRaYKZQxafwSKQEyEaahVBMXxMyPJdikKHVSlELOMOAouOPSRQKiRVNUiNyjQQeqCYGaSKZMcTvNoGJTuBVOrALyVdTLkvzhvwAqxssUaINGHtoVgiXWTjSQDxFpPaD", "wXDpIhaOFOBVMIRoLdxsOxzlQqqCUGTBjgXDrCSqJBanQJNTRCkTnWkClDsksBJlRMkQxhyTyXUNopZZAQPDpceGrswAhgTlbSttHLfVezacLIfAnJAEXnMVMgxTNxjkeAULlrTIOKUdcWQuUmqBceDuhcozuRsvKDiqcscAcCovbeWSvpqJqJPUsOEqkfuXQGzJoyhdJxdeDbrsYbmMneMdjyiUDTpmqvSHNoQQLZBVgSaBFRHMBbudeQjGZqVc", "oIxfsNTprDWKFzcxlrlJlZpsVmKCrDRKYHMeBqXtDlPTCRhCtMEcOWHMysMwtTkhdzIVXUpNBtXMomCnYcKfsiVMnKwwAfVSJTpJJdUwHwstWJgShqTbNdPIpiXLHWJMcQxqXgKEEbExCCLeDYGeUVsDPMVjzpVweQlVKmUPIwiuFaAuqAEFvpyfoUdbraZKVuvPdtWWmXPKPbMnkjleDxorEvWPstWEWmTyUTCSzasqaUBwLlffCipgejWCpNTg", "hhqgWbUhmJXcwBVcEubmhsTRchwTykUJpQxvIlcQGqaIROYGjgibqyYClNxBrrzFAWlDlqUlrmbdUplsERaCmyTRpynjVmFKrHIvdkhNOwCsLCZOtknrDswPDULGLNHVRtermFPHZBOlKVsgXSWUdRjKOTaxAuLtUyDWWXLAatJRcMGWnGwcLpLChWWZieNbZyJzOjLVOaLGZzWBXTWvxUNSvCbagHSfXUbmmdkHCXFiHkcnLJLevHoieGhswxdx", "cHHIUrJXPtHRLiNNqxOsMbwlJFWhFAitAlufYjCzfqmSLZcznBgblCTSXvtWufPsGQDOVXcsGxDonEzoPtkAhAVbyKRIVDlIViRMOwonQUsmwdTHDrgYVmYloVtzhYOTZnBsYxmMkIKcQyJiSuiEwqUqmIGlmfAyApmdQRdhZFYvdEviQByYAEbYAOObBSSqGlUeOnuOwILnKJNcwoJEhALffZFNcTVAXpKeYDoQuUsgqWNseflemmandKCHQZWz", "xTIOxRfqcRmTtTxEosqIxtojKwNpjGtMDzqTfnuEQjsOyQQOJlViIoItKILFKxRunGyRtwiqQsUhtGGLdvscbVIczoOobFzZRLLBFhWOEBSuaQcmKrnSmyLGNmayxtwENvdtbmUzEghrrMsMPAZxbCbHqlMUpNHeZhGzDLZTKEAEfMQvVEiGJieiOHcOcKeWibwkBmLkvhmyqhZOWmemYNMOQtHFaOLiNxPltiownEgYtyvFsgGjRXywgbjFkdZz", "VlPuBoVZCLoDxoqgRcLzaiFEbLzwvkEOIPhnviEIWggLHxiwHZGRPYzpvysTATTcXGixufePPzIuLOPMREcuYiSLmcSpmwwFtwURGgsDwGBYGUipXucTpIbvGQUvvpTNoyhtarCiGQDisgOjjTiwtKtTBPdqbJVPmSrwVqGDYDadThHDJzxUpJDwvjbqudOggTEYqKtlizLrNsHfuWCIjtuIJEiIDncjBVJgxTvPZdGOmkuVtUdauaIYqERcSVfL", "LxbPdXAHxjRmzRCLSmffKvwNROJZdkeLbokpnGSAoOvVmrbWhZepSfjJXmDkeRbYDjxPcjAqXeLjNPhAKzgrtCkzsPTFQTMLQmkGGdQmhrnmUrCXGIVERfoiuQQzSZQkgZkybWipsoEpwpNIEzyHOKVsCGQrISMStMmZpzCnmZTeTmGextkgJVWTSneegSWCXLLyYUpvLUShNViSVvdnQsiYESgBBZGiwBnxXjBiBgkUxVqwWsaMfWbywFJscQnw", "AuGbcpRLkTAjIpwJpMqJReEldBmQcDOumYMOatxWJdvDAoyUtwLRUiNUkafrggmitpmNWIQLPWARHzPusNRcvuAGgFiVupFeSpTbEGouVWGLmwWqzkEECzQBaBKntgFkSdchkFnYuDroDzQojcTUqwOwEnmRkqjmWjgdJshClOVumlJVkqLRMdcGtsEqwHJbsZMuwiJNStKomFiUrGhXuPcXJTIzwGlZFSxNPNZmUzkwqIYbkoSCeMPzHiYjVcuq", "DgKqDVRduVYLzRtKLMOibUsPMsLwzhKXDHSpVGpCsFWTLkrDmXhvaNQxUKRPdUgUbQZbSqaTYIRQxabGRrYYePXoyrdWLknwvHKUpmTmkupAbgYhdvCGNvzZLnOkqiCzXCYdKgoGxuXkdSubQSjybWFZlaRYqmNirLiSdQeTseWbGstZGgNIUnXTWCQJwPFcGeYVfHWWcDiNDkdUtYjLrqRSJdmHxJaMmcRiFMhZNMidEnrPYRafMYUKlgzxBUmZ", "NkpxdErFGEwwwXcdxagCvLPwXctEWHfsueRnvjfRHEuHQBjbpQlVtRwRwgxonDUjWKPDpujYIKNZuzUNToDAAVACkfRmMLEPztNQtPsIBYeMMJibXCkYaEpsgPlUKVpYrHNmbdVVsNgKIiTgKBLjaInlSxjiUwtImPzvDQZdoLBUmeNQfyYcvdmFNCaoWpCjNEOQNCyVVYXumFkphCFRHQWziTxpexUQNpxSwDXCLOIFdIPKKDfueTvEwBoGfhJR", "AMjXuKEmgfXvgVbGXEWhoqrfloIgZgklFQLWAnfaHBCMhHlQFPeXgtAsWKtwRAqeqaFhJtopEzzmGsObqiNaIsxSgOEFGiQNyObbjROjPBQzvfeStHBEAuYXQTKdhwcdEXThgztEzDCzyqoRFUdJuvxgXxALvSLhQKAMDPhHNZwnXnOLcjjgfACFDUWgZliATRwqQUtwtpYOxvJwinqHKzywfMZlQRaToEktvUhnEWuSUazfNsAEQSDsGfRPWKcA", "DilKDycuLQaCZpxSUangrTjboydjQVdAvpkYyKVwrYkdHMJPQZXRHjCkPcvoXNSCbwouAuHLQHUqXUIjUXHHNAOVpOGSfJvDGKQnMJcAFRtenFdBgDlpowGQNvGncuxFwzxZLeCossUvsYpjkrDvncHmXCdfxkGfnQeySbUNWwgsrDrmwYFvzJIhOBSzxDIWXxlMLqgviMZkBcgmNcLvquASUsnbLfBelEIJlmYPicrflINfYNimMbffvAoixheu", "vPZxheEwyGxJyFJeaPLXUVsuArTWXgiijRLcEBbmEVaJHcVordcWwahblMGhCICbAHubOWomxYNOINLTLVxXOOIuxVIdbIidhPzrhGZxjwGLOUisgZTEDhnMTpICGHoMCBBxACgfHlbnXYJZDeUwjRHpFXLZFvLxivinQbjVwTfBsbFvbgiNmlbZJMDjXyCrcCqmwRUiwQsuYmrQXKQCyLnsMhUjSDWFwbJRqHpygwsQtnCXRtLUVLiCLuiMUhOL", "DMNqXCJRYeRVOpHBBPUXoQwEZAwpWujknyPlelEeiCeeCLpMdgUDHumMMkwcGqZOjNmkmUTMEJKcPvTmbCSYFqrRqmneQOZQcORyeEYhPMAXWGESpHsCMMmGztQBKZHudOkQyVYKLcPILdjBZQKLcrGXdkyTjodCZMzNDuzBuFqvvAuQVLILVcpXPPndVUSMZrdcnbbqlgBOUKzgBgRpBZjZKUSeUejulDbXgBHMglMBcWvTTGiHUkgRqEtUtYGl", "anzaDtqqSfwzduFkSCrbbYuElGruBsOoCgnRTdEGsAPLSoLfGTwxcsFUTsLmzRLvyWaxMFfrPVxSVJeDJmjshnDjUxLAwYbeFGntuXnEmkZXaMGZoeOEmgNzZHUSVvjMHlmjgEBFXQqxsVSaDiwuisHLQGWHRVJbIxsFgEPMPLxVcHGnCGAcszpOLnHeacEFeKwWMfjzHkUIZZyRKVZAObglDlqDnfvVlWXBYQMVXIKCXpkVBPUynPsUaBOhxqXH", "ldRGjhvNOSDUoHgkaFMshvNDuZwTbZTjodlMGsdkTSbrOmszFQRMpNRoEMkqfRjphrWUTpmHjVUYlRTQadmTswJXLCVzOXOPPjwUyoHFdBOHNZLeKMcsunzLQLsvskQUlKstkYMLsgfzErcuRtHcskZtygMEnhzHsUQQbNuwwJHNTeUWPFtWsxusFgEUcPeLUqBDuiFUoSZpqbbYFRfEQbwtRJtMnyLbzrwuGysBmocPHotryszNqDxOmGaXQuLn", "zWYaRKzxNHrKamKUiCzwOxsadoVmcoZfCBaUAuVcrsXAMZIhOhIDgltOHsyIetEiwPZmbIMXyKUsbSXkfdmxXRXhzurZWmVhLMLQvdFUhnijvFiLvoUndpvLDQQFhAzFjAQEetSptlntNZoaZRYEvimqOshsshMKgMDjZyhvtvUbENVnJBGAkjmgwQoECdEhhNjKcWjVZrvPtarXHFsOJujRnuFGnaLlQQVnHiZtaVSDGgcBebHALEbSRMqRsQpP", "KdCejeMrbxQqZXfuMWXZcTNIcinPcQUbqhJdvCbDicpXuBbDzitzoZmYFaFoVAxGDKyauQxlSySPehCYvBYRLtqztZFvvdBSpLGfivtHjpYVDXCcfqKYRdmTheBsDBgpakxoSyEDnvOEDPukvtevYodvXJfLOpxrDxgdRKnGFwGcFbEIuYlkKhLNlQJoVjtNpsxZYSspIPOuxlgjGlnKcqVgNdVenuwXuWEsXIokcilKTxcBkxBHrfRQYZUUgFLw", "dGowTfmtAEcEicjdpFjyuwBBdAssNTRoHcrcchXNvlpHCdwTNjBEirAQxaqVMowgraZpStihzFlueILoLLethzuFhJOzSbMpYRcftztmEDHNVDUINuMtePTdVynICmaSsHaQhJhQbAhdkSvQVoLIGCFtQbNLmsqxIJRRHMoDkEUDGQFPOifjBAVFchqHOuMDBcEVsOWYHhLDcxDxXkilgElwSfUYejlmuQuulJhoEhBoNWdKHiyYFDsQRsTtZxMm", "CPcuvjmSFqXncToNnULXXNllVhbcOGrUJsApGAWEEVvrcjHtSdWUexiGPSWRqHBnJsvpoWwOZkJwzOWRkxHaWfHKNdaBnbRURayjPnxWvQhbQyBFmzhMJtMasDsyDWEzgdmNgYEbCXAfDREJHDXmoJKJuRFXZelbiNzuFMtzAEnzWhaIfJZBPFOkMuodxxUuDyKdbfTBJXbIWeQlxWEykUwUUbRGPswpCuJURcdyQEWZRpGefCIZEdUyDRRlpVhp"],"c_array_string":["xsMNdwluoHEbCRlYSmmlcONllWTmeFRszEpjGzoPDzEKQntnDmWCDQKKtoWQyLFBcMRggGzIGGnxGpuhUuFqlVdbsHqfQZpiHRRAkJuxenKIzfzajJbAiPmJCHMGPcPKMSpSaGtqLdodguiixrqYDlYmSheoasqHEASaBfnUEiOKxArZUSxNECTlchgwnxLiaxdSVSWBZzvWQUTyKKvdXfogDvtdYPNRXsCGIENJLTYvBcSTTmRvwHGBTYxfYXnVOlPoXFdddxgEBwOJwokeLmATuhKvbuAQZRuBNrAdrfpCTgqtLueRgGtXatmDgJZKziDScslDKmFOLfSYmEkEqUmgkAEFxMnhRCClJhAyTOmaVVSSinakkLefhHTdcChLPNOfciqQjkntDJyguUweXCZkASotjMPkCNxUPKUOdnGAGcqyBxctyWCCLYlmjzpsoMLGRlcNCGMewrZJRZHmQWyEsChyfeasTINqzmeEJiPgodHegxpWbaohducvwKnc", "IaIhOQbZpJpEmLQIoOHzEyBsqZXNJmsdIsOebJiexWhgeHcxBprRHDGdQvGfXKkGAORxsxvSakqLvBSwZtFiRONYUqzAlTgmxZhnQficZATZMyQyJfhdZQCxnJjFTAXpGjVrYmcrXDVOwkKGQxksHJsKcRycmsjjtZlRvPyjRzLWrePUZiATsALlHYJfflLKfGHzNBHpmFGpNNKShdamzmFAjzutgqYleiKYcUtJlZNKdoIFUBapjYRBFOWNDICQnxaZoOpqMpaPPzvHYXlJeROvpVaZBJBbhPisfnyLQIiHCRVqACxZVgDSctjLsnlxMwshgfSLINkvBDoVngUJOkuWufsOjRsyrhDvHHfZWjTWVlbsuuSRahBjofDdRtWJAMVKGoOdJdacKtDaAYaLnFWOLWPCaNsZnVllifsbaQcYPwwibwkbMtOzEOpSZNuOoNNslzmAycxZoFVBDySJmXkGawgYfVxUECwusGnckjIPYuHTAttEflrpwDcWpCGU", "EPCSbWasBRqBPozZfzFRdzLHaSAmMiOvOlThdSknJMTewgnoMbmDantWANrTXhcOkQTVubjEgxxlVlSdmpXlJJxYzLPwDEvZLyiAMtVnEaNPUxblcQtzwErDbCVHKMreDFejrXOckjDDYgdDKoxcMSJRAArEHLxKZDEJGalrVdRWlqvAkLwFZJzgDYgwdWFEPwqGpHLnPkbCnmBTdCDKMwvoIKVgoPGSzYwjFXmsLhbTFsqlOVLPyDZeSttmNobRzmJboDTlHWKhdHhpJcPeUAzZxgGWfqYUZzbXwvqwyFhulCVImwyXWKKDcHYNEzJdlylzgwuFvUrvoGBkOnAfpRlQmBKvyFDJSRGSXMXMccHoDmCMtbEHaFxsFplFwrEYRPpRVMDqnjlpkcGfsUJQNgRsGgWhYpEVxVqehUSGJbjCcYTxikSKxEusVTGbcPnVVJnFEzyGxsZmfZPOpoHvJSbKfCTynjTAZIfXPdFqzpzyTjKkMVjbknuFKZHDQAMr", "DMIWXKmrdRnZRyxurFzPjrxCFeFMyVBApiLsjailrcnrOnsUqupvfcNimOReeNKVDqqAPwMgaJbmUuIxZjjkCXArinKbtZVSmGhgZKuxILOQCxaUBBWEBYjhUzFnLigaRCTIzXJXMJjDfxwsnhfkEVwcPiYqQBJPMzkycYwMrTFrGYCUiwiXVzkwkcCDJSAcHHIumSJZPSkxbSEPUtOOkhjkIkwLbfExhluQSPQZotSyiNSZWdNyssisVQdQPkCkVfJPEapUryppRJUZChYtPDkOAxpHYaJgDNoAUzIbMTTrfOwOdsxTuJTlKGJSdwEVshvqleedznVgCcXuTizWPZePXCqBYlPofolPLWoKhWFlbXUSQnODSqrtSXDNQAJIsDvwoqmxLwwGqZppyMIkjlyqLIQIsYSFRinBzKoKYtSCPuzSPpBnjpFOWtYmkcKwRJdLoeIziWQvWlnPeKpCmtTIewXteWBXQCyBIYpSKxUTgQsRyzpsHdgkowjjqdrR", "PytegBaRrWEuchiMqURYcdMSvUiRIhlCcGxTMNKvyFkpHLUcvCiaIBfQFBWrYiEGQGMpdxtmWLSSSqjcsUkoOHhjqvctcrbCrxyxqPMhjBcajvliUjzMbvdjOxXDXQSWPDXjwGnhNOHhlDlZoJUKIPjOBNQNqFmcukLCIkcxXmfFJbEOPZICaGCfYiVYegDMDbMIypLNZFhNcRtwaUeTIcIupygBDBHqAzyQQdHjKYBAajAvaDcPqwRhnJayPlhpKsvHEJIrxEaOOdGiUEHYvzpCWyguEEkxigjyEvhCSeVDWVCFUNGTMWZDylSuQosfPVtJBriepdXRStdeNtuUacVxOAKfTGCaouPaykqRBUIHNhcIavHKTNWYyzAkiIVEiIAFOPOLgeoiNtHxSWqIhOZBXRUbZPmTByGSJlwmAFapmpjXBrywNdowiavgMHZOWbWQsKeuqzYPcNGWMswRiiQpKHvOmSGdPFnmmNFGnpZwyHobiXxJvZxcmeQAQXSo", "CvjBTKvVbbZVTlaMsbsjiEuBQalNrEJFusrJzmGbVfskYYTNMaloFuwdhSEHLumjpwtSrZEdFJeqEzyZZyBiNEHMaXFUbohZQommMtngqjXxkRXNUAHoQdMcDoIPeLiOSabnOjAUVROTFMTwReAeAlNmmuIDYZEHAaOxYhEqTyeBKKjRPFcEHOsmpskHbKtGVDKTsvGoHJjLtxzBPcRMWiYYQXAmKiWZmmEZwwQQChDMwLFZypMROizJvZKdGPMqsilQFFGoiEgAgOqtboRgNbzgAFuglvEtobyYdnoJIVsRpoEIfbwayojiJIhLRtQAnhvOQTbtzuCemywBdQbsjxfwfUESaHcEJwPFlYyMwAmVjQIrREjVbMmnVcUzmcxKGgAtkWOOCZlVBTLXzxnJOLhIvGGDUeTSURkpMouhGgreEEPtcvaegtOuWApmzRENvdQmVKLrndztgVxxheIRHMBMhnKrmsQWbVFDEHLahHfPLUrSPVZXTcfRXUshewJD", "uMGSRwxsQJhXZywnqzsQqXckUAcvJZcnOFrpOMefaBUPPIACLSidnZNoSRgByhmClFWUIBkKRivDisMEqRuBclqgNMLvRFdNwDuJUDfPJPnXvUsUuiHkmrtRfuKmcUEWhMNxxvETqZvHlZFDsEFeHzmywZdjLzHXDrZmpTTAGNBOsIwLhaOqKHRmXBDtRTuyfgoJZzzpaPMUruvjNMDOzWFKqsGbKiezJfGUeLIlCJrRapEtVArqKPdBOuHSUElqDSYKTVnVclAkbSWsMmQzonJxBgpNwVtGJyjMaaCcqrJEdlgfOPmLzFrTiuMPUfHpDGsgDOTGckWVDTZiFcFpivxshfdEHQFfxkKIwCGYjJXNMxVjwKxlRoZqXlqkoQrfVIAmnipNKncIATQIEieGkflGlrXqaBQFmnQlqDNUxmpINkFJmgLCAxMXsNYRgRmdDQVmKIpNiIdoyjNXXfuBHGeCbWLaYBOrVocyoIJGLErbMdCEbHzXadNHSXqAASzc", "qdMiijWrLxEmRxcYgvPGHdHOKTlWhrotjGrccKQpzfmqPjUxGBjTpCPqlyGfJcvaEllUwdpGMdcQuOItQlDrRjWfZkvaPVUxYKEEFEdcLtOdMJvbewqRBSzMxMcYPPDEJmphxTptkzgVMuQlNkyuXGABqbmScbcVazbphwSYqYAwdSvNRJAFmorDVfiBexkgBFvDyqUmsksFlPQRUARTVuSrMTnmBNEWvPItUVymMhmBrIPVymbhjcwSwlEHVEwnwuoizxmkKPTpkWgUYAtZZjlOeNefCflafuDYzosuyRPUeQFPZtMRFrKGeFKLhokJsnsLqpWHmllGzDwgVNeWRsXaWNSBkTsUKVPRvNhPtDPsksNVoqweJlKNfJZfzVwgerDqWoYMEjmvaCPnuEJMODchXgZPvjxqUKxvUIQOmkxbOmbhOWCdbMyXdrLiXfmbwcHXaBDwVwtyFmTJOBpiOqfMdTCitEltSOHwPPdBbBxzwxuZmTirAjhLlnVrZcAc", "wTedXoeEzPBTcZSoEGwYyVsOBIkeaLFFNUdGIfWPlrmoWQSCNJMvKNKSFiFvtRJTaFDQyxzadshiTMLrSwIkxJhCBtXNfQlQstlDFrWZojtXpCsYzNnBekEBJHFWIDSEuhnBvjqXggdCdNZjxnfgyQjFzrIZzgsTGdgXjsuLcUgMaTPaBbtLmHSLPGvqdDJsluxMTVxrTpDoriLvOvpZhPuBkchdJmbWXsHchYbXpoFpNVaGqOEttcLikJjCfMRYGbkkvhuisQIFDnnNWjwjmlKfMjEAVmWnAqxTkmkwHVcztWUNOuQFggdhxLNTubWmOgsxVehtgnvNIhtlGeCWqpYoskNahRMTYnNDSfAaDhCbbgYdMNclwSuJrXePdmlwEgqMpKGUDUWMVhsNcATbQWOTcRsBPunwojQzOofgcwfUpYQJIfmtgVBbMbgrysQFVMlGKoQRGhkeHfCCIVMrGNLOUdNPLERLmYWIqbYRPkARghugwSAPYrnyFbAbSaKR", "ECRdmfdYJmflTsWAIkzRBNuodswKvnXZKySAFjsDkJIAwvsdliZbECGnmefPGZEkvQiXIJGExRbLfWcUSmVvKnYZkRRVcQONoGNlKmMBklblToABEbIVvmYxzZrfYXgKrxoHfueqGIkSvYChDwpAfqtgmBrrHpVldBoIzhnFIgDFsDILxLTzlTbjFsXVTYXiuqJAxQyUuOCGwqVqXSjRDZTwXsNaDQLVeydVnEttWgpfZsdpHSSAjcXYcEexJwUAQWGXyjVLUAsecxLUgmXVjxuDbCnvbwvTcVRCWktgIGcGuxDAvempJElUmZYyEEkHYrYDjwEpeFXJspqGUonDnbgtVslDDOzPJbvsDsBpgtPseoobTKbEflXePEFPMFLIwRcBRhHiqyLwaDfTlGsGWJxHGfJcruGsHLLnhmASCeclVhAjlyGotbYZaTbmuoPpGrUgcoEVAqsXFpqBFTPEGKwzXJWmNWhLEhFIAEhENcxGLGgixsmhWDFCEwgAuWbE", "bpDjRzMKEbOrlLrZvLycvierFVMezkDmAtTkfMVCzVSkcusZApcqcoReVgrLwYbUkDOCVUJZPtQpaEPgZgdKaOHRPvAJvIrwnUvONMBYzAxWdDuLHCrxvjLmXtHitHqEmolUljrppgiDFHeTKdxVonwBGXrFvMZWkQuCjMMamMyXopYnxYxFqzeOrCEfeZtFQmaGjKBuAlzsEQouhHfOgXjNCaHgzyOIEDJIIHYaHFYxhGFwbsYgicoKdgNGavwwhwyQuWWYoJyZcnXmosMILJhcHbSygfalpopOcikwsFxOjiLmnzgPPpJrYJIhKQLHwEseNNbtqrvfjesCCIXuBRSNdrtwLrXqqfKIYiipqagqeHNVCIPQzFrUJKXzOmsWDnogzTZKhigBlIcSqpckVbOijWcyMcgLPGtylPAgJJVZpgBheOjDqVbPGFQKooagmlpMFEqazdpoTacFKkIsiLJiygDiAKnBeXVZHBGvHClBBUMFGWYlCLzxbNzTaMQu", "XIyInkQIIXcqJnxWoqQKSIpOyoXbeWPMXYMmvspACWQewXXVmIUireiMVqJZePrUelTlxCWnYXAQEdxWMsJtKMPAATXAKzSBUouAcIzZERpRlRqqViVgDLcxDOeQmNofQKOJpOWSEIYncCyPyAePMWpvWqEooJRzdASfKkpWEzuVuvIshjIEkXRhbWvVPYdgtjNZEpyWnfnubfqLhYzLmWwialDNdSZIWNlwKiYSKPuEawAgFENBxhVpdyMgUYJhEBmMyHVysUEBYyzDGFrGSZMXnPwORYXihAaphTJcEOWwnxmKGrDAKYLjwuHSqaxEzWyCSeaLKjXlByrPriLsrSlGgMvFVegGOojnWjSPOPbLwPJoRupxmfkaRonDEQqpPHzBCEYlWtRYDLJmQPZOpYdNvVDFNVaMtAFggQJdrCroEQCblJvkLzBkdKPIdVlVrBusFotDCHThHfxnqqcswfdkaohwneKmatJYrmwvRFwCFoZRdQiFCpMIlnZrqnuU", "YYTHqCpqBgrBmeIKnjWzkkWOsffmtPRFshWUpokdHlaRsiisGkbVvsUAQrlQAxnwUpmvaaiZTCprcOOwiIuuLJIpyMHmqzbmbZxgTkbADSRZMgFXiKHWwRMljodEupnafdRMbXfKgBXdAxBfoGfvXslGBsZQQGsSBrTSDSiYnIShCnfKqZXeqsLNxznyPgbhEOHSEGSdQIRLqRQFxWeRjLhaPoUUHWutJsoxcfRHuVfTKuwfeDAzZjDHTpYSLuOVRiZAEzRhrSkdqkIcTZGVpwfAFciLfsWUTEEtByctREVkDuckMUIbvtAvGchwdwgIOmntTTteAjQJBkCRivYciTKRixPwWHWwAjIlONxalLJGawZiAWSpvMYCAawbFfCTGlBnxnizWSSlBXkVyLvLtwPydSWwhUEcbkwQOMAPDFULQPAHLSpdwGTFVdCNPsSZifPExtVHCYgQduglNcxBxbvSgUgLqujqvVLnYWdEOVwlEEpxuSpAERpwMzqyPgxn", "iPUGszbJukxiUdiKhTXvSnleZqZQGOfItgYsfJTHbfueDqYLeIrsLyIdkUVgTnxjuZEPQQaIMfhKbZWMbSvIBchUeBKLhHGaFxzBaYtVUZgPLhHWMXQNHfaCdmAnOQoShyqvkPpjuNWViQcNJsoVbkDgPXiUyNrNBDgrJEtBHpIpDLTozXPWqnWeWKOuhWHHJYXAHeWzxGoOzpZKodEUpuyDfKyQXslORabnnNlrGlUlyGbXTxppUmUAIZXdgvYMSrHtseMqeOJNsBwqtXDKrMEfvbvSEzwfXkmKOTwVlcJPAhadVaBkfNVJDntWvLjbDHjVjaYPspkpcfPgyJoxuzfxSuGhkrLhEORjGZSvopjxJmeYsoryLkjjYztUozzplAxIRlZgPIKgpcKUVejmEQnmbcqPnWyYWXgzawgQOPdBJdtxKEuurAKxJmUWZaLpRNiqVRTCNFHhMwgXJzZxZWBKFPFRjfJyHenVyiHrVdCouVHHKiljBEDDdOBwUaTw", "DTyUyxdZaPeGZtCfORFQtYqgKyrGrQPpJOJfhDAPMPyGXfHaWukPxCdXcxYflQhdCCsLQXdQtcUHOparfVWFTICyEhOoFRqdWjQkMNxVKiJRGyvpNbijHbZOOvKBZsJjaaktvSbhowWqExlEdZKHSYDPrHNLJevRhvsBXuloZzQyEbOUooflAQsxDdDPWUtjSHnwcFSUXnpkIFvZhjgTbuVqJFuCztvNkrXiPvAzjJxYoJvfPhbqaeWuHTIlbBONEUUvYKOkrAjgvCAaJzJevfKbVRrUUSoofJWVSRGMtvUDcxyNojNWYcDbLTYXzxFPvjnahlbPvaTRFCYPJhizclsTaNrRmHHPLxchfRxAIUgoAOeUkxOEfmUFJgGrjGBgtcCidabIYtAEfPUbdDbWQmSVDsutszYYMSqxMIWwtMkLTfdsvLzEjfvpXApejcsvaghZRLHZkbIneafKLzMHTQBnRZXGlwRZRddfKxFzPoLNjvvHKkMLRUBpvbOFvlMs", "dycyBeqYpbGmhUMiiaDXsEOGRJnMWtrxTFMSDfmJVaNpLWaPcYcIyVAIrfGGXqcFlwfFyGDGLVksEccWnunQoFUAYRHgdNOFSOADBZqhgNGBnXDGxwBYAmCZsJLgdqgxTqHTKHsrFnkstgVfRJVJsrIbGhEDypLombpiCyAqyyuMeFWLqTuvGnHWxqoiLpfduSmfXSHcWqxwwgUCoVehusorEolkLfTLHjhRJeszKqUmHErpfzIEscQtDGhouRLdYUwWfMmYSEnBXrAXLHCVoPZsIhoYpobgUkEERHuHYvyLYfFgwifSQYFUSpuSApOPSHabfUbYlFlozCkcuveQPsPFMpzzDxUhDJLBhqNJJevkPGTEuLQRzDCYtrFchrrWKXVnpeedfcvkxoayFxXKaWBoXIKzhjfadxnXtRqQHqMecVHtruIWpPxkfLmxXwODqEgJCzxYnKsEnKoBYhFblvwVlRQttWXxCrWsHIjYrjnfgNWwazAxUZTfuTlpwaOp", "PJatBVoqKZZvyTgxaKUlavbybFvzYpUDUbTPcBGxwpDACmrEMbwPyYMlmVeIWBZpqUywvWGNDGxdabTqKqWHAiGievVbTQWTOFfppdSXhfPQbAemXYBMZlhSLngCUxkthjQMqZssvEPUvDZhIAhXThmXLFmxuUnUowNfzTZZDeFsYDuxvCHnHeVxkqkImxFTOiXLEEvRDEbdAGMMyfkWhcEDmHPLSGryeOGuqtShfsDqQfUbqBENqSwHTwABvITJskdbZHeEHNdJAjXUUOVzfgeRSmJhKuqbXYfnhuYxacPmUtwRGkjzQPbmFpDPWForvARfyrSXJkTrvVZIjBpJAEPNhtkfNgheRqDfFibYYyeUCLVGdMIPVCdTSKawxAffEDgcUzTtlKPSJHuZqimDkikAqERJfbfMqenSWeSaOYEQeKuLDIzDLzplfPoqiDsJPnnrFhfXndGtMsjawjcWgPMurlriNfxVCLprHNbLnsGELIlEenUptWykCUlRXpeD", "FsFlcbpQbGPZukKRBAXwnWFiCkUqZwiHwJVovmTKKvKxpfjKSoceoSERDCxwlgDWYiiukOnpDymEPHwZOhvuZLhAaLzqhmKTYYNKEGVjhgnEwYnZuslkxjUXnJAkKskVEdKlxPFjyMxkkjJwpmFAOOzLzewQqKnlVzkUxnTnGsHxBnqLsqrOvfpCfVhObzKaMlMNNYpxujkSNQefBKtfTDAHLlhgHgrnzimoVAbakQVZkxnPwCpngCjDIBxwKNpJcCRspuOaSFoaRQZmOPvncQODBrsfbzNprMpghoJvpMlgYMkctxSAaNpMKnobuWNRyidjslUAgUuweVLTUlsygrVQTxSUwUWEdstDOOiAbBbDuoJTVkZApyCyfNunYugroepTMtDrxzrNqhLUYCzeXGbfxbocxxblMRMqfbcFEQZhTUXGJfvmgyikPGmItoRLSFEzTZVxlvOIqQkImoHsiqVPUdlTxGlIXEXtVMzYpPEVeRLzvbLVErdklMghqAQs", "lFmmupYmvcfZHdhlboMCAnJCxRvnszkvdhkwTjkDcDPSLfGbHCQpgtehYUhRlGkghHuFryVPAvPeRMIilarPumgycgpMmczykApOfqVAlouVwuSUoUjFLoPcTdOHlUVvfHKOGWTumiYboWibkDnkwsGyvGehwOHLboTiFtMSTPBhdOAwSqdXephTdsveHrvcfCuebqThdnRcPVRDrTfawuePVndTAOJGTJAxtCLhMGoHKIZujPvlIzdoaKdTIAkfTyOwnwJCRslvhfIpbwmSOnDtxnvKPgxkvWiiBrBCeOViGLdjizxibRvGpmUuiQfPZsowfIFaQBEOlFJUHXxLOKnbBGArlzXJjaivNmcFIGAzYQuTEafwolAwkSWiOqTzcJCAxGcUXMvkrReONDVTYjCRqMnaBlPUnMJUOjpOZUDkeYPYfyjlwxkKmgXnfOPmxxjPTAmAhXBxFsHtZjlLDajEPQqylHusuoAgDUGXeaMYwXfwWNlsgSFGxdEzzTaw", "gbBfsTPBAUKcNDHuOxHTuFGuNqlkClEisuWnmOAZGMcLXThiqSHDiFGBohyiaanqAnyopFpPttPaQCERQEoJKfjoCoZltTxCbalbSKekdZjfpWRzqGgGiLPKVUxeoPAPYNEAyPCrGKwLCfyOWGgIlcEgeBSWPSyTjXXPvPvquxrSBWQIvovyhQWqfRjnVCunZKSRbtNUtWzIuZYUvGIfUufeFqBicGSIaSGKqnMgVfqbOYToszvnKJpkxfFCzmOHXtjZZVFuFIixnnuuIYiTaTNWtQIQxNmQRSyNJHjjwfCAxWoQRzPpyuGyRpSAyXdpJLhJspXybBaZBgwIjBFIEddLRwcumfcXOeqlrzxFjwpURCcDukAIhHrryEPRwpPPxWkbUcJXcXBKrWXNhTsrQmVdLElYUChdwtnzVUOcnoMDfaCaLPeDbegdldautsaMyyQfDPSgRuQAzNzLuDLWZREakafREPqFfhgqwTdcjeoWKMWYortNKphiwvuCcRai", "cDwsNmwaWvAuubmzltZkYxIobdolJOlVtZftMlZBbppqoVcbWYteaJfHbXzbhdTIxsSnSbzqtBjWVFjOMpJFUeRErbMFpKOTZhCYMsPANSkCcJoAAejIXAAvmTGiXzIoMpFuuXHMSunTaZBnIyctmahGjmLpzCNuEnvemokJmaHkurvfCkEqxZVOuUordNkxvCiKwCrCXVwhYBUjrRPPuHsVXZCQpUwyiqzHVlNDhjZcpbttSeQpDdKKRILTLwMxcmRVasMJWYwdwTPxSmDXsJzAPxeGXNTiouhSPtgnJhPFgEmOltxRSmQjNMFvQnSgfklXKwtJPFcjShbnBGbmkekZkEsBdYHubHmhiSTsRhgCbtsibdBMrSRxxpqBLyEbPmGQouermXiXhhdJzZliMCdxdvSqJpQJQDDlRFUJyKwXuRZRrgvaLNLBYAUnrjtockarsNtBbwMWtuWtpekfRCoAbnytGWjUHxEKoMhQyDENLCaTWYXhHGzzXGRqrIeR", "aLtqJMkvAsnvHDfGDOgghgTuaLjyVJGfmnyuPkwLrtXkudItSrZQryczXWNBBgtqMwJBwEktQmYrJOCuaKiWtybIXUxIjkkcUsBJXGMuokQjrXBeCEhWLQIFBBZWanVeZWqLwSbinSalPPPyaupLWuIRbcSGJaXEEDIUuJRpQmunXHRVwmKxmIzzRUwAWgpilshCXoxphEJWqjUtXdOqMJAQETOAojPeJeRvWCWMotXESlVELeYucHjclferKhFmtJTAPrngNMyCqrYulbTMVwVhexPeZQLlkzBeSUlwAQUrvimjbFgadPBbIlnVkTMIylxRCxvisqxaqlHvfauCUbJugJBwRTjYODiUnFiscuCPwMgwGeCPCvBjsvsDzFkPiDfUEhyKcJnskxgytIenWbChxNotySgNOtITfXTUuJUzhDpbfPQWomRGBvfJNwbGfBZscfoTNMbwCGiIvWoxrVBgYINduDxzDCCLdgOEmySAjScLQEYGlfUgZRBtdcAb", "CyxtdRnkgTGMkvAqEkgZdYdbpUFdxopsixErifVZZpJngyWsOxucwpIrfptfexlKSrnlPCgJMOqSQXGrcCXAQeVvvSgdeosBNPlFajbPYmqDFoRLMihwIGiWGbgRfaREzcPxUVpnxfXyYnMWyBdcDtcFevywrmsxFQbIQZilWPnPGUvmoNdgUrEPQnedpFVYULkZLJvauDiPtgYkJvGEhZdJFIOJGsvOWrHGRvdQtHkhqGwbHmxLjSoECpLdDtUZkNPZikJxWoNkBAEAGcqyCuXujdatPzejhfLWRIPVdhqmyfckOvvBaroyNQAgnGsMdIFmwecTGPqHTqiXHvUoamzUouZIlmqblFWnUFlOyBEAIUwOtkYKAbahtqgeZJHYLUIsTYjrEDyzfCyilyckwAkQlzhZtsmqBCTHpiehaAYUDQtFABeKSXtpuMviwsfUbcFoCAWyJhLemDyddvmNSwGdYIXetxPPuTAWemxxrUYFylDxHFmufKnwSLNklUZo", "nFsHatuYyooMGAfCWStSZgMPtVqJkFYhNndFBcPlrKAbitBCwmRYkYPYnHQmiRqjDZDecCzkdBTeZxJWGgqcZWesnmbXhXmOalpjuOtRJJrpuOMMWySwgdQwMeDVWkhrAWVnQajljpYLidAptrlZQePkgCOHaMKhDUwxrxItOYzLAyXACdKKYruALENauEHYJIfCFmaurzstbLZLLqgXNEBmIGWhTiUoOSslnqpWUwoAiBfhfRHEBzjIaYZnuchgGzImGKgoHDFJKbEAXdjBMMBenBCmvcTOTyDRQUzOMfVBYDVXrXiJuhaUmCrAzxiyfVdfmyLGigjRRuoFdSgsdxxSCHXhOzVFAkWCyjgZFxuBGMmPmQlaHpOlvnKjKGvxVINNbpQQUvbafeoteiHmHUKFDmHJTjdsmlhKraXQcfLeDgkwkJqSLxMKAmXOcguTDPEOnQnyUcctmqmpUEMpEuCaHYxsbzOeokEcMXEsDyQFLpTEFstbiqMLoWQfprbg", "sBjJETJAEOObyYMjOcGVCdRVfuYWxOabKJXPHruuYeNdRBYjjdJxjHBBQCgOmxyKjbskEFVLWeYhAXLvzYhNmQlsJRrhyQunzAAhSOKqplrnjzeQCJMPXfPkkvxzokFdSjfBFEoLIOrKbZgVbXFSaxJdOTuREkgisQgJlDCBvfOmArUBEgalOPNAJXDjBcTetRFFPEbKdpZebedrmwqmCvTiuMstoESasdXMYHPCOYkxNXyamHBmMOYJbJTULIxCjQvBDFYTJvjmHEGcKpEdcBbgazSOzCdYsLrmrsuFBQqaRntAwBCOzUdtgpGeNpmqcWvMuCkDnkVfJgetFPerSBsGtEnXvAYPoVFhRzMGvLPeUkVXvvUenJQlxzVlvZqUpLFLrhsTrvJjkZzatIZOUGhtawHWsxSlagKMIqRfRbRsctBCYUCjxvVRmJCyUgUFjSvhUJuThVmODkNslVHayUbLrDsDYCmovbcOMxIrDrDbbnBNHdElaBxeFjaKUEuS"],"c_map_datetime":{"c_map_datetime_1":"2015-06-14 11:26:53", "c_map_datetime_2":"2003-02-02 13:11:58", "c_map_datetime_3":"2004-05-28 14:12:31", "c_map_datetime_4":"2008-11-24 17:57:08", "c_map_datetime_5":"2016-12-21 00:26:05", "c_map_datetime_6":"2001-10-15 08:33:40", "c_map_datetime_7":"2012-07-18 18:13:34", "c_map_datetime_8":"2009-05-24 15:58:30", "c_map_datetime_9":"2015-09-14 21:51:19", "c_map_datetime_10":"2001-06-20 21:50:46"},"c_map_tinyint":{"c_map_tinyint_1":-48, "c_map_tinyint_2":85, "c_map_tinyint_3":84, "c_map_tinyint_4":-73, "c_map_tinyint_5":-25, "c_map_tinyint_6":-79, "c_map_tinyint_7":88, "c_map_tinyint_8":-42, "c_map_tinyint_9":22, "c_map_tinyint_10":-18},"c_map_largeint":{"c_map_largeint_1":-4109682962065236367, "c_map_largeint_2":-6128730554842398578, "c_map_largeint_3":-3348188478217462975, "c_map_largeint_4":4659643695278323009, "c_map_largeint_5":3419084702754198732, "c_map_largeint_6":6137728838970256258, "c_map_largeint_7":6123196819231745051, "c_map_largeint_8":7374293565471354447, "c_map_largeint_9":-6237590046007638492, "c_map_largeint_10":-964571188776039559},"c_map_decimal":{"c_map_decimal_1":68.0066, "c_map_decimal_2":73.1968, "c_map_decimal_3":59.1479, "c_map_decimal_4":39.0112, "c_map_decimal_5":13.0530, "c_map_decimal_6":92.0569, "c_map_decimal_7":60.1668, "c_map_decimal_8":99.0497, "c_map_decimal_9":42.0520, "c_map_decimal_10":81.1553},"c_smallint":-6025,"c_char":"cmZcPjeCLs","c_ipv6":"1d80:7ba9:de63:20aa:aa56:83dd:834c:a805","c_array_largeint":[6522803213373066495, 4857006449438814723, -3495759793604968613, -8845366099640692358, -9025577855399440303, 4310025737158742413, -3149570526480448364, -1500728184721238898, 3780397302182139754, -5718847872856506598, -3163677633611710941, 7699927334649310450, -2026183777666571971, -7019834322593761525, 8053106430568811459, -879880233328619239, 6867738297063612059, 8432324256022005031, 3029008403026962910, 5721162036233203656, 5022134483425176721, -5149465543921466721, 1394961347802434403, -8117311819315136278, -7644838064929965993],"c_array_char":["cthqFKMgxI", "APmTnRJrIh", "bRRsJuiDTO", "AmeqxSjIim", "tOjKCXeiaH", "XQjmrTiEVF", "UhWxhaEmfB", "VYSUBsCKeg", "GSIJUCZAVL", "VNemfkZHTu", "FYaRYEevDa", "NMazBTOXJQ", "WZIJJIPief", "mvCehaICVt", "LyDhIFeJqj", "EJnxAYgwfc", "bxJkPxMpRo", "JVjoNOWfOi", "bjPstADoCd", "taXHLphIiQ", "MbJNJWlyBH", "dIZauHBact", "UpFHXupzKo", "qifXAjPaqm", "hzStYIHVJy"],"c_map_varchar":{"c_map_varchar_1":"mYXRDgwpUmOEUeWSPOKzZZKjoUiAPmAXEnhHcXePCoIHNbZzoOtpxOwBsazjiPVvDySaIBkGFWHqSkDuyNWbxeDGXHxLbaaFjIsmitWorNmEHtYpkfviKvdoTjLafCCzXQhYbuBKgNGZEYCSYiYdObVzvOkxQjxbRCYKnKrOXsIViKwhJbLuWKfbzdtcERoOCOlUFdNEBcAKrwMUpbaBxPSFPLFlFhqsUViznBONFIltQiUejgpcowHhBTpFZqhN", "c_map_varchar_2":"iAxaoOFsKzcTKlwEIvFLMjcwbwnJdIuIwDmmeRYjoiPqzoKNVQPnKAuKPynXeeutnGKxwcwmTnVdkKHgWzXaQVgDotIJSaBPkXtPtdokLJSHUvZkTkTQTGqNtuSkIEZkjiPOGVJMrrtjKbByWApvdVDCDuzGoNvbENVKnZCiqCwxapKwrtqCBlqeNtaZmiFqnKwPBITpljbNwJauUMIOCuPfxRzzYhHnFTJrbBQajyonfTAQNMTuAwKJOmuZQTDG", "c_map_varchar_3":"IupGvygrqDXTBBubyBkiPXquXpIvlgGrbJafYUhTCcHNSnPWyzaRKmJwdsTTcsRKGCOWEvajqNAhDmqgKahMCgpcshYOHGPrYBjtteTziJeQpmEIbqMfaMDwjQCHuICsSDpiKcvXRjeODFsNuTjytviWbsEHCAKXJyhXlQcdmjcagIVGTSaQWEtBZHgzRiVMKdMbicQPugGjOUTDsarfArZEYyqPGPwqssISZyudDTqTdYXGEXUMfgwSaxVLizTD", "c_map_varchar_4":"FpGWcFyQSzBbZhRIuHZoHaEsJdqxylkLURoOlUditxNvXCqaFUveuueBZgxSenXkQWIQdOeGCmISesMCYzXCEegVHZlBkXCazORnGZTdkbqgyVhjeUZYwaaNTofFtFHYruuLRdCOpzNWmqUWuhJkWGnsmTMhQEJtNePQmiVgPcjtFkXNyAGSDqrhBLvBalTBRYsqjEEtlGpkJEAFBSfbfLiKDdIfkHVhuKlnpUgsVHaQGyTcNpkAMnUczkWXIqiW", "c_map_varchar_5":"jWTlLnAcpPGyimbcdURujmuNBABlpMkktObCmgaTkQPimCzrLKBENQFWPbkzeTdwsxlxDYsgtbShZxrSxufKqVenDXVOtYWjiTcrSWbCMChpYrEbLSxzyoXkEOEpQSJhkoeprlneBGmvyhBbYsLvrvcQaAjFsBGKSphVXQhWVVfZEJGGHUtyUbsAvHPlNXLgRqvDhGQpJTdFqCEAEDvnrRTlHvhelGtWsnsTodeBNwRitERmetLqaYOiUproahDS", "c_map_varchar_6":"JnbxOkMZXTAPvEMzluwgTKwUqdlERmLBdAVpiLdJVOmzfjHyLsWSBcntGVFbChzMqRmzxIAYcdFMmwILjmrKwCyrRpIGUgwXHiWDovoxlbITYiujZDvcuhlRDfFpYeVTITEmmjRNvirRGnXVllCzRLqgOsiEeJvBfTCvsbmFZGWxsemIkPkUsOAtUCypnhwZkvCBXIIcWikNRFhrCefCdxirSUdnHHTLLHuyMpQCUhByHdwhIOIvYBynZCMLFNth", "c_map_varchar_7":"acaQTORJYrNgQYlSQnbXtduUjXzIDpXeGmsOELVhdHuSMipUvkKsaqroJRwCYIlKOaQuqtkrIqTuOTpBYmsbxRvkzQYdGIFeniWyTssiyOIctHeOZvJxULzRMPjyacDMXTVoeNXtjNHdzCVXPLrkocCXHyjYwLxDuARmvccNpNJSZEXEuHZqpLGGyeUWGfckqyMuVGelrFJGJrYVEkDqdHJbHEIsHDEVoweXEhftoQarHDzKZigmjOLITmmIbTth", "c_map_varchar_8":"nULMCEzlmixUmByPubCpFmYHCBfZXTAhLIZrupCpFezzfxxSBOAStoMVAQSSablxoNZLonlrsrhIArskPBaDtXFHwFKIGDKHSULFHscDQRfWvHSIvUPipEGfvzcTFSTynUSJwlvBMYdKaVYPfvgMmoXPhUFHCxYvupkLGCyNamqqIjcVahOonlklpMMKDsUjaKulAemjJAdJBdvKyweeiRKYHOhIGnpYdxnnKlakiotSmOOTGiUZybARGJGjUcld", "c_map_varchar_9":"ljqgJTuzaNYEwyATboBCjetBFBnoPeBgUKhDWYNdjMsgrsFoSXURYSmPEdJXCZPseecvMVgKMBUZQUVGnYPXHUmMRYcRCtUWkWqEfKxzoYuXMxdAJGuPpLoLWxXwOmGrviuhaNVoLPVcQgPclqLhnJAPBDOSUUlftoyotXomQPyIappsMUCTLQaHEyNmeXyxUAxcHkHTWODvAlukTVjSnMWUxLprUeMsIaGibyQVOxJXuRstZLWXfhTCwHWDmhdi", "c_map_varchar_10":"UEfaBJTaFGDAkvprqdlYfDPVxhsDMPUUdrpRfADPBRmlmtSEnGChTJnBSgCzjtRrfrgnoCCiIgUgspUjfjyLHSUYLmWVRvRLryYveubgRQiLiDahhIiEouGcZAZPXVrASccHgkFlrkmrJZMvgVPpLHEbVmQWybLYyRHffVdPWNDLevhRvuCPLwSgLxheniLnBgAQdQRaEYLLxTnnATjLgtiEwJYihTEagOVJrAnmDsRblBNPbUNwuvmhPdXrmNtN"},"c_map_float":{"c_map_float_1":6.6276927, "c_map_float_2":11.3335905, "c_map_float_3":23.943525, "c_map_float_4":62.06915, "c_map_float_5":17.618591, "c_map_float_6":8.799403, "c_map_float_7":7.597407, "c_map_float_8":93.8728, "c_map_float_9":25.913528, "c_map_float_10":71.2059},"c_float":90.480606,"c_ipv4":"226.72.170.251","c_array_smallint":[1249, -31035, 7235, 10597, -3466, 31413, 24814, 27707, -20693, 20714, 12095, -9185, -10231, 14906, 2886, -10055, -920, -30864, 21700, 21906, 22850, 6277, 23592, 11930, 13195],"c_array_ipv4":["OnaVoQKiyy", "WIHHzCYLWA", "giayvQGIor", "ojHDtcvoJu", "uTEALEMcih", "TGfQAdFmRP", "fmMfZcFhPT", "FUcBfgeZbw", "aWweYcUqQs", "HxKsxbFaKu", "UgZqeLypnH", "RbzuUmWhxW", "VUvFzpfvlx", "vqQjcbJsok", "QIfaKcdZZB", "pXfTdDaMPO", "cDxqehFVJJ", "fvedqGWtrr", "xFNeKiVipr", "SiPsCaxhbI", "VFULonRfPQ", "tuIrNfGNQG", "XneapCkPQG", "RMYQdgVjBj", "HKGrQHZprM"],"c_array_ipv6":["yJNRjzmWPc", "wHSvQjuaiD", "AAWHMhPDmA", "YNKBzLPxFA", "mhmsXLmkza", "PIJmdheYso", "BeFDrZouYD", "kCaZQItRjR", "dBsMFIPiAd", "vGXvnoNCEX", "RrnyqlpWeQ", "QRMovaDNiG", "GvHVpKNHce", "hkEOSHKJNr", "jGGSguTExk", "woINLYqJjs", "YGGRGEbmgu", "ApOgFHPkHW", "DMPIxYNKlu", "ZoRjIlwMgI", "foRETcVNwn", "AMdwFbYjfb", "NnAYkCyaDU", "JVFhhumrtb", "JGxMtBsBLH"],"c_json":{"firefoxuseragent":"Mozilla/5.0 (Macintosh; PPC Mac OS X 10_5_1 rv:2.0) Gecko/1913-06-06 Firefox/35.0","breakfast":"Blueberry banana happy face pancakes","chromeuseragent":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_9_1) AppleWebKit/5352 (KHTML, like Gecko) Chrome/38.0.869.0 Mobile Safari/5352","countryabr":"SR","verblinking":"must","verbhelping":"being","nouncountable":"day","emojialias":"bicyclist","domainname":"seniore-services.io"} }'),(5,true,false,null,99,109,-128,245,null,0,0,147483648,-2147483648,-1312151647,2127104205,20240803,32679,147483648,4940,245,-4891002956627362009,36.493996,91.400215,100.02,100.02,100.0570,57.1071,100.02,300.343,28.0650,40.123,22.0414,300.343,100.02,63.1851,100.02,35.1927,32.0335,64.1326,100.02,40.123,100.02,100.02,43.1340,62.0238,25.1472,300.343,52.1745,100.02,66.0757,83.1040,75.0351,100.02,{false:true, true:false, null:null},{true:false, null:null},{77:null, null:-128, 127:79, 0:8, -93:-5, 1:-128, -19:null},{102:-83, null:-109, 0:0, 1:-128, 9:-128, 127:107, -33:71},{-569:-18429, 11684:-5568, null:0, 32767:-19914, 1689:-12090, -7548:245, -22928:0, 0:null},{14733:-12732, -17851:20008, -262:-6385, -32768:null, null:-12432, -26923:23572, 0:9835},{32679:32679, 1643958588:32679, 2075109477:32679, -1643725623:2147483647, -974040387:337924205, 815062176:32679, 1743526649:-2147483648, 147483648:0, 2147483647:748053307},{null:null, 428772649:32679, 0:-1514660719, -385805620:1871558436, 153797301:-2147483648, 32679:1644753419, 147483648:0},{-11039:null, 1:1, 32679:32679, 147483648:-9493, 300.343:300.343, 29135:null, null:32679},{20240803:147483648, 1:300.343, 6361946289213262479:-2356086, 245:147483648, 147483648:999477, 300.343:32261},{187167124:-976423005383787227, 147483648:-9223372036854775808, 734899602050147197:-7423979, -9223372036854775808:245, 1:147483648, null:-3717225074278896192, 9223372036854775807:-9223372036854775808, -3575696902180960934:9223372036854775807},{4498280:245, 6348426362844126882:-9223372036854775808, -5188043540759498594:32679, -9223372036854775808:-4469987672279255972, 7318594693190844593:8495406128453927807, 32679:1810020506403605269, 7077285:-552714958, 5435368253104571509:7626895, 1800277:1},{29.832354:null, 100.02:56.40803, 69.09747:37.781406, 40.123:300.343, 32.439117:null, 82.2292:97.149055, 300.343:54.58962},{40.123:40.581947, 16.905605:null, 59.24143:52.69779, null:67.44733, 100.02:40.123, 300.343:44.263187, 57.291435:86.36997, 67.75301:null, 45.096577:300.343},{70.01581938032892:300.343, 90.38424375697367:51.56122008715469, 80.19392630470496:59.754913509620145, 100.4328474895658:22.451805392632036, 100.02:57.209314045007766, 37.64610582852967:100.02, 15.839526167223475:39.27352731758647, 53.64089733877731:100.02, null:55.74093583373571},{89.20422138515892:67.22817002498114, 35.300255458708314:300.343, 54.10560085766509:47.507921852062694, 40.123:95.36228722180996, 66.8718548018655:300.343, 23.319625629800754:100.02, 300.343:77.21525011177398, null:40.44000842691197, 100.02:62.77020374916742, 55.1025524130971:76.10752165805765},{null:'j', 92.0446:"20240803", 70.1273:"300.343", 100.02:'g', 15.1120:"20240803", 69.1731:"2024-07-01"},{100.02:'were', 45.1934:'w', 300.343:"1", 69.0564:"9999-12-31 23:59:59", 1.1373:'i', 49.1024:'there', 43.0910:"0"},{100.02:"20240803", null:"2024-08-03 13:08:30", 300.343:'to', 68.0770:"9999-12-31 23:59:59", 35.0042:"2024-08-03 13:08:30", 40.123:"2024-07-01"},{100.02:'were', 16.0949:"20240803", 40.123:'s', null:'because', 35.1128:'then', 91.0298:null, 51.0431:null, 44.1236:'one'},{34.0465:'a', 95.1238:"1", null:"2024-08-03 13:08:30", 42.0396:'k', 100.02:"2024-08-03 13:08:30", 40.123:'now', 300.343:"2024-07-01", 42.0581:"300.343"},{90.0724:'n', 23.1653:"2024-07-01", 100.02:'v', 2.0326:null, 40.123:null, 22.1550:'be', 0.0578:'it', 6.1219:'look', 87.0119:'o'},{100.02:'didn''t', 24.0129:null, 48.1040:'t', 7.1677:null, 16.1930:"2024-07-01", 300.343:"20240803", 20.1313:"20240803", 68.0156:"20240803"},{41.1968:"9999-12-31 23:59:59", 100.02:'k', 8.0024:"2024-08-03 13:08:30", 88.1017:null, 75.1684:'up', null:'q', 40.123:'u', 75.1450:'here'},{41.1852:"0", 100.02:'f', 40.123:"20240803", null:'just', 30.1709:'me'},{12.1221:"2024-07-01", 100.02:"300.343", null:null, 36.1460:"2024-07-01", 52.1786:"1", 97.1082:"300.343", 82.1609:null, 84.1804:'to', 300.343:'r'},{63.0053:"0", 1.1429:"2024-07-01", 40.123:'about', 82.1374:'there', 51.0165:'o', 50.0370:'e', 100.02:'for', 86.0228:"300.343", 0.1610:"20240803", 67.1690:'f'},{null:"0", 37.0585:"9999-12-31 23:59:59", 80.0603:"1", 300.343:"2024-08-03 13:08:30", 25.0855:"300.343", 100.02:"9999-12-31 23:59:59", 80.0859:"0", 83.0149:"2024-07-01", 40.123:"2024-07-01"},{null:'will', 14.0261:'j', 29.1024:"0", 6.0628:"300.343", 40.123:'q', 100.02:null, 35.0404:"1", 10.0526:'ok', 59.1480:"0"},{40.123:'q', 69.1152:"0", 4.1195:"1", null:'well', 87.0354:'the', 300.343:'f', 100.02:"20240803", 27.1741:"1"},{"2024-08-03 13:08:30":null, 'g':true, "9999-12-31 23:59:59":null, 'u':null, "20240803":true, "2024-07-01":true, 'what':null, "1":false},{'k':true, "0":true, "20240803":true, "2024-07-01":false, 'this':true, null:true, 'd':false},{"9999-12-31 23:59:59":0, 'l':127, 'on':-92, 'how':1, null:81, 'd':1, "300.343":-122, 'here':111},{null:0, 'u':-21, "1":-64, "300.343":118, 'about':32, 'who':null, "9999-12-31 23:59:59":1, "20240803":-128, "0":1},{"9999-12-31 23:59:59":0, 'with':2050, 'l':0, "1":245, 'my':-32768, 'were':0, "2024-07-01":0, "0":-11539},{"0":19381, "1":null, "2024-08-03 13:08:30":-16594, 'I''m':245, "2024-07-01":-12671, 'g':18081, 'hey':-7691, 'i':32767, 'we':0, 'e':0},{'are':2147483647, "2024-07-01":-2147483648, "2024-08-03 13:08:30":-2017016623, 'i':-371165020, "300.343":34173138, 't':1855617968, "0":1345091413, 'she':98019609},{"2024-07-01":2147483647, 'when':-2147483648, 'in':null, null:1533058860, 'j':-2147483648, 'b':-866664973, 'i':1504744516, 'ok':32679, "9999-12-31 23:59:59":null},{'a':20240803, "300.343":245, 'well':1, 'v':20240803, "20240803":147483648, "2024-07-01":-6821499087751294052, 'b':1, "1":1, "9999-12-31 23:59:59":null, 'f':245},{"9999-12-31 23:59:59":3220571, "0":1823539, 'y':1, 'my':5, 'who':16256, 'one':null},{'like':-1266994143, null:1599090639, "2024-08-03 13:08:30":32679, "300.343":-9223372036854775808, 'that':-1377813, "20240803":245, 'g':32679, "2024-07-01":9223372036854775807},{null:1, "20240803":null, 'p':1, "9999-12-31 23:59:59":-71828, "0":-5919955787106418126, 'him':245, "1":9223372036854775807, "300.343":1},{'c':40.123, "20240803":49.490437, "0":40.123, 'hey':99.81564, 'will':null, 'w':34.100708, 'for':40.123, "2024-08-03 13:08:30":98.78805, 'i':300.343, "2024-07-01":300.343},{'from':null, 'x':52.43603, "20240803":12.041239, 'to':100.41235, "0":32.75798, 'r':25.236074},{"1":92.40631796026285, 'know':100.02, 'i':86.90164016514096, 300.343:88.27805474738506, 'some':14.911006560163234, "0":37.574415184583536, 'j':40.123, 'they':40.123},{"2024-08-03 13:08:30":300.343, 'he':49.451963857212355, 'l':null, "9999-12-31 23:59:59":null, null:100.02, 'who':86.87087985635658, "20240803":54.6220260514566, 'that''s':100.02},{"2024-08-03 13:08:30":null, null:null, 'one':100.02, "0":74.1158, 'no':83.0228, 'b':68.1730, 'come':100.0508, 'd':100.02, 'j':87.0048, 's':76.0236},{"0":71.0575, 'v':17.0938, 'did':19.1119, null:40.123, "1":99.1659, 'me':86.1904, "2024-07-01":40.123, 'w':300.343, "2024-08-03 13:08:30":56.0448, 'really':40.123},{'v':300.343, "1":54.0707, 'you''re':35.0697, "2024-08-03 13:08:30":100.02, 'mean':40.123, "20240803":300.343, 'ok':100.02, "0":7.1540, 'were':300.343},{'g':100.02, 'now':100.02, "2024-08-03 13:08:30":48.1377, "1":69.1541, 'why':37.1628, "9999-12-31 23:59:59":300.343, "300.343":57.0096, "2024-07-01":100.02, null:40.123},{null:true, "2024-08-03 13:08:30":true, '2017-08-20 01:14:50':false, '2008-10-05':null, "9999-12-31 23:59:59":true, '2002-11-19 19:07:51':null, "2024-07-01":true, '2011-10-15 12:37:32':false, '2019-02-09':null},{null:null, "9999-12-31 23:59:59":true, "2024-08-03 13:08:30":true, "2023-01-15 08:32:59":true, "2014-08-12":false, '2017-04-01 09:16:43':false},{null:0, "2023-01-15 08:32:59":124, "2024-08-03 13:08:30":-128, "2024-06-30 12:01:02":-49, '2012-03-01 21:20:11':0, '2011-07-10':127},{'2014-02-22':-119, '2002-06-04 03:17:48':-84, "2024-06-30 12:01:02":1, '2013-02-10 09:44:07':0, "2024-08-03 13:08:30":-128, '2009-02-05':-128, "9999-12-31":1},{"2014-08-12":-5642, '2013-11-15 11:01:18':32767, "2024-08-03 13:08:30":-21085, "2024-06-30 12:01:02":32767, "2024-07-01":-6699, "9999-12-31 23:59:59":19615},{null:29952, '2010-03-26 05:04:30':12341, "9999-12-31 23:59:59":-4350, '2013-04-22 15:32:04':5608, "2024-07-01":-30317},{"2024-07-01":-442684845, "9999-12-31 23:59:59":-174853571, "9999-12-31":0, '2013-01-14':-1441767209, '2003-08-11':0, "2024-06-30 12:01:02":null, '2010-12-12 10:16:11':-1938142153, '2002-08-10':378328576, '2010-09-09':null, '2015-05-03':-543174376},{"2024-07-01":null, null:-1142371298, "2024-08-03 13:08:30":-541821430, "9999-12-31":804974834, "2023-01-15 08:32:59":null, '2017-04-14 00:36:50':1397009700, '2016-07-23 17:16:55':2147483647},{"2024-08-03 13:08:30":7845784, "2023-01-15 08:32:59":32679, '2002-04-04':-31335, '2003-09-13':147483648, "9999-12-31":null, '2019-12-22 23:47:24':20240803, '2012-07-12':245, null:20240803, "9999-12-31 23:59:59":2},{"2024-08-03 13:08:30":null, '2015-07-19 11:20:12':null, null:5, "2014-08-12":147483648, "9999-12-31 23:59:59":0, "9999-12-31":6474000089829406187, '2015-08-22':1, "2024-06-30 12:01:02":245},{"2024-07-01":147483648, '2016-12-14 08:34:10':0, "2024-06-30 12:01:02":147483648, '2019-06-21 17:10:56':32679, null:-9223372036854775808, "2023-01-15 08:32:59":245, '2012-01-04 05:08:44':9223372036854775807, '2019-09-26 11:26:35':149299264820142147},{null:-7233108245333072681, "2023-01-15 08:32:59":245, "2024-06-30 12:01:02":-7341463421440485076, '2014-06-15 21:21:59':-411164052937692349, '2008-08-28 23:26:38':32679, "9999-12-31 23:59:59":5764071452763938852, "2024-08-03 13:08:30":410226, '2018-12-23 08:19:18':-1006996},{"2024-06-30 12:01:02":31.420692, "2014-08-12":72.51075, '2001-08-28':88.87618, '2011-08-22':300.343, '2016-12-19 18:42:33':40.123, "2024-08-03 13:08:30":74.12731, "2024-07-01":300.343, "2023-01-15 08:32:59":100.02},{null:40.123, "9999-12-31":300.343, '2008-05-19':42.03571, '2008-06-19 00:15:05':43.438198, "2024-07-01":31.925669, "2014-08-12":20.825615, '2001-09-15':15.347431, "2023-01-15 08:32:59":40.123, '2002-12-26':null},{"2023-01-15 08:32:59":52.49705913064135, "2024-08-03 13:08:30":null, null:100.02, '2001-01-04':300.343, "2024-07-01":15.703089846823039, "9999-12-31":40.54338490228394, '2007-10-04':60.379212901378374, "2024-06-30 12:01:02":63.815925674391785},{'2003-12-16':null, '2004-03-23 02:06:19':null, null:25.116383748008364, '2009-07-25':100.02, '2010-03-23 01:30:40':82.67089086740768, "2024-08-03 13:08:30":65.14202681524405, '2019-07-13':300.343, '2007-12-13 19:36:41':26.86258500033514, '2011-07-11':300.343, "2014-08-12":1.3516818002275894},{"9999-12-31 23:59:59":null, "2014-08-12":300.343, "2023-01-15 08:32:59":100.02, '2011-08-05 11:20:36':300.343, '2009-06-03':null, "2024-08-03 13:08:30":87.0557, "2024-07-01":300.343, "2024-06-30 12:01:02":40.123},{'2002-01-04 00:06:46':97.1580, "9999-12-31":0.0349, null:100.0639, '2002-02-04':300.343, "2023-01-15 08:32:59":null, "2024-06-30 12:01:02":2.0227, '2005-12-24':16.0150, '2010-12-03':300.343, "9999-12-31 23:59:59":300.343, "2014-08-12":null},{"9999-12-31":300.343, "2014-08-12":44.0394, "2023-01-15 08:32:59":40.123, "2024-07-01":40.123, '2002-09-03':100.02, '2007-04-11':100.02},{"9999-12-31 23:59:59":3.1400, null:51.1176, '2001-05-19':40.123, "9999-12-31":50.0778, '2008-08-05':null, '2006-12-07 15:35:52':null, '2013-02-21 02:51:46':57.1685, "2024-08-03 13:08:30":87.1113},{'2017-05-25':96.0358, '2007-07-08':100.02, '2013-09-14 01:48:00':40.123, "9999-12-31 23:59:59":33.1292, '2007-06-09':300.343, '2009-11-15':300.343, "2023-01-15 08:32:59":85.1882, "2024-07-01":32.0108},{"2024-08-03 13:08:30":300.343, "2024-07-01":300.343, "2024-06-30 12:01:02":null, null:88.0815, "9999-12-31 23:59:59":null, "2023-01-15 08:32:59":300.343, '2012-03-27 04:29:22':95.0460},{'2004-03-17':27.0669, "2024-07-01":54.0771, '2016-06-04':76.1622, "9999-12-31 23:59:59":100.1449, '2010-10-16 05:54:47':85.0629, null:89.1670, "9999-12-31":100.02, "2014-08-12":300.343, '2015-06-26':36.1542, '2003-07-16':100.02},{'2009-10-05 09:05:21':null, '2007-10-09 09:39:21':100.02, "9999-12-31":84.1888, null:40.0691, '2004-10-24 15:54:06':40.123, "9999-12-31 23:59:59":77.1182, "2023-01-15 08:32:59":40.123, "2014-08-12":null, '2009-11-28 06:47:15':300.343, '2015-08-09 13:17:16':79.1193},struct( true,-128,null,-2147483648,147483648,32679,100.02,99.54431780726644,null,40.123,78.0508,300.343,300.343,88.0301,100.02 ),struct( false,127,14256,68897276,20240803,1960742993,40.123,33.67691494755379,6.0967,300.343,300.343,10.1738,86.0634,3.1026,40.123 ),struct( false,-14,32767,-2147483648,3,9223372036854775807,26.579363,40.123,18.0188,87.0691,100.02,100.02,null,null,null ),struct( null,117,null,0,300.343,32679,null,300.343,69.0920,null,63.0016,40.123,100.02,26.1191,300.343 ),struct( true,21,-6570,1811520960,10892,245,100.02,53.00000525772476,null,40.123,58.0979,8.0915,300.343,300.343,75.1031 ),struct( false,-116,0,null,300.343,null,100.02,46.44473785826244,null,53.0852,null,63.1259,63.0693,1.1257,10.1610 ),'{ "c_bigint":-5827387415180619643,"c_char":"nTFUAdHhbN","c_map_double":{"c_map_double_1":74.95891418756989, "c_map_double_2":89.05518524386706, "c_map_double_3":84.60702731261325, "c_map_double_4":75.69111751253988, "c_map_double_5":75.85564641854828, "c_map_double_6":2.108723364060631, "c_map_double_7":64.67403897027015, "c_map_double_8":90.15072406343432, "c_map_double_9":40.512875219583464, "c_map_double_10":61.10855506069284},"c_map_string":{"c_map_string_1":"RLsTRMLExWlxYmXwQCqeMnXWmnYbuGKOjmvnJvwedpQohZTQUTIrnUibQoPQTzjRKGWHiALscPvpbVZPalLBcrxVczBlQRritmuQgHfFpEennhjpGLaJGwlmXlkWZdMgcHCpnlLIgRMVLemfvOmufSmKxNOwRYYAksChDYFrjvfSnSXfWcjVBlMQipysSBqbptvrFtxcsXYUVumAtMYtMnzBTpdJqvikbmjWjkepqZedwgSeMWntwlinkSmlrfsBCftXOzkgCuJamRSIyRAMmugsVBDYXxQNokomNwfSaLwAthbanHWucMzmaySrEPIjDIGbhEkDWMukiVGPcMtPEFXKlpOMHDFxEzvOUhpGUlIEjSMjKSRidjffceVJibDLHHBUnIEjTbILQcopVbYHWxoDfQeMmHMCUQfkwMIBeHgDpldIKYxawIUAYaxGAOVVfUmEeoxyOWyyuMryrVPakoYAwFZgndvgTSmkxdDeSnXBodhSBukvMVbQkmozxldf", "c_map_string_2":"gydRjxpTQbqMDAHDqTnQMwEbBfZNbxnVQzcGDusJvkpEAgxmQbmTXpahaJFfhREdzFeWLurAlZFjtTCxvUYkRPIENnTSUFQfffGztkFiczRclwSDHGRsoEFIWtCBHJizwEfWhLsflrhSJYpmxCFIbYZbzmiaYusFHSzhhoQLptsWdtTksxBIjGHPZIwmPNZgZbXjMXkRjosTXduUXTfUkvXQYlyUjGRJBYkgosflQozLVHtMdexgcYHHDujmfuFBOPuDVXLMTzszEAZrKxQJMtPCmiraTkBotEYIfcMsrYHlCvArHCwcVzskBtFAbKnMTVQNCpNbBncMxbeOwwnSzvCmSwccOtNCPUNiloOGUBIZxeEgsZmLviCjyBAIJDvLuXTgQBAsCZCgoHeNUapUNfjeDTyzbxIdMzbqhMEdvGNRyqcQnIoMqgbPbFGIhyqpgLsbyWvhFMrosWQDzebfeOAvypCjiSSjovhcaYKpdYjbscBoBDPmnImSOPsYGPWt", "c_map_string_3":"xlVmFyOHoIqACrwBSgOostUpfuAKuiVTOZYpVUAqWnWfWbReazSlAEbAfKweTEgVfyQsWPNcOFKkZDLKvduTlsdzfQIytjAazxDnPBokORIiNJmFfwyrgIdqPsiPUuAXmXKuJlDcVZfAasWpOFoBtXGrNWBquNxYRgpOgtUbFnZolpRbONqVsNNxFCpYPlLGkiZhIvIPKHPRTRoFncamdtJmMCpkyrVMljclhvCwRcVSaYlKTxxUuQgerxRydbUqVQvbPoRIisBLQsDRXqjCcsRPVZSHVnAVWGzXguwCIWQeGpMobkipTBiFnEaFHPkWastmJYTvafuiKaEwqndPBTueNyczOdWzVkGPruRIYlqCQISfIHtXLjFhOPNfmgQVoPVRxwWswmsYHQQOKcvWOwMKeTgbiueUMAgydwxwReZIVXsdVJtnfslIoVblETCWmGUIiWRccmPlqJiZncURqGjHQSmtSLEGeRhwLPNQTIKXHxHUSxzoEXxaigRDuhyQ", "c_map_string_4":"NcwxEOKegxwAUySCApInplrvqBWvAoRkixGerLFpnKEXanOEfMgWmzrCkrzuhlYaYdzRnpzlXpPtvXqIvBxKhLNafaqKWEPCgtOGPHkLtkHmpkzBngqlKQAJLLnZbyjhWblrvzWZayugkCroIyWBQXmbsJzYXzmjKPXVIEIxBSDddDvMIZoBKbzXlezViYJanwSymOyqfWYHsmXuEFbmxsRWFJIvCrLpqVqXHZsNKoefEwhqPtmuCYzDqqXeCcArpPlDvidxrWbhNIVYHgbDodccuRKmYTWASGTJjhEKORMcequZFqPZhiwrXvDUSFrpNzDXAsRfUWsrKiwUJissnspIiyaQxHoiXbWFFNFXYnmXMTKXCktiVbkYiPStIxVtcDpciBFvqRAHDkarBcnDxWiNBIHIlkyvuNrIbOyBWCjWORlBmmtORndbzChwVVNibjiPvCwZOsCGBSJrAXcPJDZEuDEGJMwEhwDrdIdBtkkzlxZtyhfLZrpUtEymFeDb", "c_map_string_5":"RPYsLHIwUVpkJBGrpYDFNBmkOYDejHnplVQachZHqCmaNdTLDbPXVUSSPQLKfvAyqBvmibpgrcSfZTcJDRPCQEoskldTkRmZzUnBQmFSeMrdTsOhuaTFguftdRbilSeASTXpCGjGeuuOImTHhzYtOIvDagWJfBGvLGaQgypjikgqOCCRDvAoXHKDrmtkSWBGwPcUwLXUtavZluRbLxaXmGUfkjOSWExLPNqiPixTrZNSoxnBJITPwxOwbXCRwVLEwPatCeEmnSZEOjEMgBbRYOhdivUhgsPCAfeJXurSFaSBCjubmWJkakZTZGieyhuIpfwkDPXUxkKktiNumzedlLFgokhuuwujtJQPplVdUdGysUjOVgIzRrpLAsiwYSnFulVicxwJSWqEVsBIGcjAJvXgvcXxTNrBaJWWRFedijIkFQyKwdcecNmOjASUXuVhKNsFBQXRKSiZuCUIMvZjXIBgyyqZUjQEfHPrubZQRURrYLMlSzdYZMIPLfgpfWqL", "c_map_string_6":"gzWBjbcklMzACkLxjgpkQTKEMmGQhhEzaWXkqiXuhWSNcgiUjHTDjqmDmfritgoGxHCJpbAmlpiabgSXgOpUubeoPKVCuhpUYRvhpQQolHjvDfxAuhyDUTUVnnJGxtzgQpbhLWvyAVlPkJXrtReSdSZttpzzJNFRmmGAogTEYdJcRlPnkNHHmvAhimfTlKzldJTTEVyASGOzuMkACsktYHCSuhdRtcvDYtQljihLQYHSFXvouxkEHnkxwQBjUSULJuTYxoMFppGobyolKTooiYodByhqLeTgbswRQlXDaTYjNKrurdirhbcSmfaPbOrfqLsRpwliQVhUzFOMCCSTPGYKxDnKEzJjhACSagKWnOzjHEtiiAHoIDeBesBxhDNAnUYuOTVkzCTJthJfSegMStJlKnVQpPAHIvuyxxjqwKxKXIeKBULNpleOqBqaUShjXPZEvPuzKpCzgsBeYhEgZgKwlWyivAQJgMoBGGQSleboaiYaYijqeJncweorxAiy", "c_map_string_7":"MeLahyBIDOxZLPkfjJoTpzuDiaHhdVKzvJWJAvEftYZTVHiXppiJaNNBKxxArDxTWLseArqbIUkratlPVCTwlcqZCZakxqOXgoCiZYZgnfTFwxcDjyUilXKxmarPFjOtzChHoXRBdggbATATZAHyupJodxyrLrGXHVtAEaKmrpHxhcsSOFSlUkauUxrhJeWipMNxdkWKJMgKXvWrgkvdRXshmhIkjXbJBeeYqbUiWxGAGDFswCAdQWyrmVxqNoqzvVTYLSOXCeNUSMVhoWvnnyYiVyDjAoLtbzKWnwtLdDOOAqmvQUGETvAADJKARXHmjhCrsIrSqdlTEDROWNoPHJGVIiDCrgVpMeLQbpaepTDSFprdkLDOnhLHdfHMGQjNFXbLejWDbueJwWMtxHPOwojxoyaGDYvKxOUQltyyYLwAViwUBQAFWmrUTLzQnklVXAPbQpLLtTPFEdCsINevWHnRoVwSiXVvdmRQqeJldQOdaAglYDfhiyeWKoxYhipx", "c_map_string_8":"YndPYhpmsXDYaOebpsVhXVztqMtitlgVyQYdKTCfqpzRbedMVbDerRrugOKVdBsjUCZHVxfaVJzXDHgOluWDAqOVDSqJwjlDLhOYAtqpBMgzcSNZHJbPtBhsYJTYUFoVjNwraOeqSsPIXxYVyKGnZZptoKtgCMhKRarTwmyqgPBDigUMjcLvDQSSdcmnsflptUzqTnbhTBgpdHkbAiJfGGFBbEoyCbAHJqQVARmKNZezUWCFsmLecdSjZjIBGtKuMHvZwyGqDsZAGnwJeCPxewlFYulzksOpKTeHEnMEFRjftLIFqOfmjFLXVEBVwzgeHTiJiqZMaImJeXPxdEMlRgrKaGNKdVxpjSsclUEDTHqczhzqtSmmxoxoRhmgQCiSSfZdkHIeQukXFdwNwKWFLtrwWlfMskztxjfLuyRjTDPLIsaStAaJqfGIRmfRjasKYZkxrFLaRcyrWVElMWKoVsklagbYslBZsIZTWvyYGMFTnKHoRIFYZxAanlGsgJSP", "c_map_string_9":"mRKJGlgpdvnCQqPcpASHBFpBXBOGfKdqvdweyVSWEyOfcBYdqYiwihDpPnUpSMqraBQWJjOggPawsUDkIiBfWNvcRutmocPWpvYMhTFFaoIVKUXnzYocjOXaoUqLgIQNFHmlFLQMBvBOiRiaZbZoIjEtiwZifHUKDYIyWBfpWjglJaRrBuHAVtmqNUtCVrxGZNJNTYkndVWKUsIyBkOoOdddnaeKDnqRMtuCXaEXhIgAyzDVgCrtrkdolQiqWuKqskxjAENMAmRFHgKqpDZyEcWaDEALBAGrYBQYkiJOEjidimoLWbrfdZiNUYkCLNaoIgqiucmiKrZJjFHwsjvzrIqETsgbwyWHJiTpYZBbFNFDfHdZdhAcyUcaPFXcRcjqdZqNpDLadaSLSrjTPGCFPnSuedpwpskRGvQcYQJiGxuAqQlInuyvFvToshzfvkJFMyMHFHNzfaIHGqfQcaFMRPwNxTTbeYQXDbarlEfEhIrhhHgPXyjAjLCsBqjIVxvs", "c_map_string_10":"GkZZYMvwKsrVVAIHxWvWILnXCXcWvHxAtAAkinnOazkeyTvTuOcNTJZbaIeAPejyIrgFqrbwGycxBbBbPxTerSutMJeBLPumGicbdqLPKqdiAeYjUwYgaGyQTVrWJYbemVjprEjDLMjNBndKdPhCjvctejwMHpTVuyevcgieYnfGppXgedwQJQLxzUgYSoCXLvmXThfLkMtDBaTViqLGPFMRCZNygaFPQaoyPdZTrqEIfZmHLtdlsmRsdlUcYOsEhJyEhgkqlgRYhQdObyGUhfpdWOSvunHNThoJDYMcwBieiTFtoOxJFmlpnvCZFuxQJGhojdKHHBvsZGyKIauITPZBWiqRAPygvPYpBldHSkXUmItuIzsWNIKwNLjZUYQdjnofjargXVgimyfiyeJpJTvUizimNfjckjBgAjNOPKMtszGyaIWzQbunysNAjnOQyXOznFSZrhYefQWwTjxfAAqdMrKOmQminsyYvOLtegiQQlpaVTSKuJpBZhIWbwjD"},"c_map_ipv4":{"c_map_ipv4_1":"69.93.132.232", "c_map_ipv4_2":"118.15.187.166", "c_map_ipv4_3":"58.19.78.95", "c_map_ipv4_4":"18.252.34.174", "c_map_ipv4_5":"41.204.231.0", "c_map_ipv4_6":"152.34.8.55", "c_map_ipv4_7":"22.99.19.96", "c_map_ipv4_8":"151.252.208.126", "c_map_ipv4_9":"242.120.159.152", "c_map_ipv4_10":"191.247.0.129"},"c_array_tinyint":[114, -8, 95, 91, -54, 89, -13, 42, -24, -89, 121, -9, -67, 112, -59, 35, 118, -68, -36, -109, -84, -25, -120, -61, 6],"c_array_double":[71.95415818661105, 77.7554120009294, 7.521405353492445, 44.74292072566906, 73.056388884345, 20.728051382088562, 53.343963709205276, 84.63050699281177, 17.44208110968249, 29.6988025108219, 72.70266333537243, 82.06674944555273, 55.55425694463101, 7.279107242795355, 77.43048825078458, 19.92055395946723, 88.98124648295695, 5.916004870316139, 64.12101798306504, 8.074825696657548, 7.368398926451803, 22.00100761546134, 30.216628808970498, 26.936255605171574, 62.671459178978296],"c_array_char":["CWAJAvQpov", "LdkdYVAfEs", "MRXLdvoMWa", "dorDABENri", "hqRFoxGFYk", "QlvutzHVgG", "kkljzaQRQX", "eRHBggPsXG", "YOFEonsyrB", "ZAiFWocJNw", "kwNtCCGKgS", "GnUDAQhNHT", "mOrAVjKCqg", "JwDLXkkboN", "geYuwfghDX", "nfeOUmQJjW", "twRiNcuZsX", "XMrWXykPsT", "eIcnGnoDRf", "DFjfqcpjJI", "EVhfEKlbop", "GHdZfPdYMK", "apJnnOuNfV", "WrpUxfcNwa", "qYYEheeFky"],"c_tinyint":73,"c_smallint":-30956,"c_decimal":86.1414,"c_ipv4":"137.0.141.229","c_array_boolean":[0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0],"c_array_datetime":["2000-07-12 02:49:21", "2007-02-22 01:21:21", "2005-12-26 05:15:20", "2017-08-25 21:14:35", "2005-09-15 14:03:35", "2001-12-01 10:54:57", "2018-05-06 14:34:49", "2007-02-03 10:26:51", "2001-05-21 03:44:57", "2001-05-27 11:32:33", "2000-06-18 19:03:21", "2010-12-04 09:17:42", "2010-12-06 14:13:52", "2013-01-20 13:10:44", "2003-10-07 17:04:21", "2009-07-28 09:30:43", "2017-09-08 10:22:22", "2014-10-21 02:50:12", "2011-10-19 21:42:33", "2009-01-14 10:07:59", "2015-08-12 14:29:24", "2011-11-10 16:26:37", "2006-06-02 08:12:11", "2000-07-13 14:28:18", "2018-05-22 05:05:39"],"c_map_largeint":{"c_map_largeint_1":-540900142287072123, "c_map_largeint_2":6652658592124533007, "c_map_largeint_3":7727506031345387072, "c_map_largeint_4":-467532380883723112, "c_map_largeint_5":2486611318355159876, "c_map_largeint_6":-7372976071206873365, "c_map_largeint_7":-2911888962839351963, "c_map_largeint_8":5445690389184315838, "c_map_largeint_9":-8796793305297041268, "c_map_largeint_10":-2042175492649318467},"c_map_float":{"c_map_float_1":91.488205, "c_map_float_2":86.56424, "c_map_float_3":67.91496, "c_map_float_4":56.042152, "c_map_float_5":96.24143, "c_map_float_6":51.593903, "c_map_float_7":46.010307, "c_map_float_8":71.43069, "c_map_float_9":12.239123, "c_map_float_10":76.582184},"c_int":-414436093,"c_ipv6":"9bca:eef5:7ff:863b:ba09:9e83:5f6e:978e","c_array_varchar":["jFNGyjKwoiNDrqTOUZiESLhUcliANkpwYFTQRlMgtNzojaTKmFEsbOiyAvVLXPVLgAagbaVmNsAVYseLsusyqPfDRtsgRkxLUDAZHOiQuAOauCjzzKsIkSjUvUCHMKumvHAgokkefqIlLsPoCNOVRmoGYKCnNEfGlcuSNqdzLgedDwofEPCDnmnaQDicQXVbbZqypaZGdRkNzeGxmKTKrJuCnEUGRFClBuLnPjoPVIfyaZKOJbaagagnqXKXOnqN", "jsIwOAHanfgLYuaJXTPRZuPugDPfnInFtdbRYsHGcBQIoxJSYdrMHBkxtVPwFosCubBDJCWYKPaFLVRGepUiqEVTgRfezkLFnmVFyxljzLtPZdKIKAdLfTefZmXOYunThqTyfXMOTZOFmtYSWtGHqMydkdFTipcnFQegtpEBjepjbyhwZdvhmtUGezaNzGAFsEeLaIGGMjOQGYTbjCqIpTFPrUfudPlbhfSwXhKbqdQWYgypRVyAVsSVsARvmkFH", "QbLqidBprkTkpJJPDmDnxrsRXKzxUxDCDVdaAkCWPBdAQsfeeiRrFyggadASCVObakaQlXzFqgbuxofXgmjsKsdesMfxnlILJUBfoZSfwurWgjpzYUadvrWNRHELufOKdOREHuCKHZAUBaUsyGwaAPqWxyKFbeqhnBzNMkxmaTbDkNKAEKOGfbOmQXSbpRZbRYgdfLrzVtMaxmXjMjsaWeCWoKQxfiRHegNZALEQILBkXwPhedMTeNTBdfPVRYFx", "TzFJEcEprFEjYyQhZAYHICGNQHGOiSlnjnduHLZKzrhKuHZBKqwxmGHJCaDqStBrGCCEVItojNdKhSgxZtPTUhuaCjyfXFnucIWiCwSRWGcnsehvSTZSIlpnURHrGxIHCFliCpVgTRAAZkpvsyQxzBQJIEnORZqMfPFtSyGXDFkNwJZEumnGygaEZgMnBUDBYztSJrQineVlqxIwYQcvLcytozmCeKvMPiYBvLvCYEHordEeHsvudzLVEWBCxBCu", "yQIqCnAPFgbzoKuFeQBgtLofzwfkxNxdfTuBJcCgvbjJifmyNaMBGeMTCczTuSzaQTUsalAPkUsRTyotAUNLGVbNdsvMvgvmxNnijTRQUNStJtACfGnvwgpbAIKgOyCwFwbdpJMKqgHIaQaZTbZJkzrtlJqwfNkQlSBiYIVcpqSqtCWBaBZlltUgnMfVjNXUKisPEOKMJdTHFUWZtxkjZrikZEqLMKrALhxCCeFJOgYRfLxVBsUhbpLXFCIwCrch", "QfDPRQgFCxCwVtEFkxQkMTehXBmKEJDymwVWxsTBNGwOwENKvSkkbOPGvyRAvkGOzfpCHCavzfxjCeTWrcBBOtJfVDkkqxYHgeHFOhuQqvYMjoTcEmadUkbKBkwxtOYKxnvAvwoZahtXjFFwgTNCavGRkGTWfcrJSgRXlBNgPwZrbIYhgeaaWRmqvKJOLNBZhbUhzOydocRHREdepLBNJzGsnSwOniUBAPCsCCrcceTSTBvgOjWAluVMTPpjltjG", "OfXUFkZYsJtsMTGeQTSgNVEodOKRPZZYeCWNAJXRLYqlynZtAuwqlQYTQkuAUkJcviXpHoiEhMHcqIcaRhFHewVmkLgJCHEghOYEpdhJZKGhyCeDGShMaHhPPAhWVnuxuOFUtIypiRuBSuzUHrqckgaNdUrGXyFClxxgDBrGOwGIqxSqzYGfvAlFSUgdmUMYAcCxEDYbILIBNFDESCyqwNLjmxlOwCCBHeqOmkctEptSneUOuUzAfXVACdMrHhJH", "EcqFcnSBvwtfoPepiTKMNIggHbHMzdenDFngbhBbwrOkmgSGPZOwMgzUwyXSmghwUbgvUFrlKxfAnItSZteVVgBjbMuTcVZQOShnGGDOoDnhDMjLaPfleBQHhPcICvezFbXuqMmBIzbFsZFMkuWhvnSoDCDHwefQhPzmLEpeLGvWrxqObFCnqluBadxHbVEkzJsWVDgykmqpzUAIGACwYlCfFbntkyqAYvhLRLbaPPLaWFuAfRmDiojrnRrmwHtr", "ihSjWmOaDltUeryyglbCjdFomXPTPyPFCnmOxdiHOtgqRSLVbuUKouXOTYqxchMigfGMsjOJpUDKlWnpxFXzbJHpzLdtkChZTACbNnWxJBnysFUnJkywemQAwafvaKhdzSjLWmcMtyJGZMhvPbbZwnSkXfubEigZWXEPyZRWlUyWqGNnBCOKQnJnTnXyMGIKDmHeovxIiBBunJXTteDmqBnWeDknBgCzklFTCnQTxKqjPcMYZNggGMxLdcZeLxys", "aQkIKCVVYFTTgYxzbeioGPEgWxZSWReSwytaQJpYIveQKkdPEtoVimyYrslFjqMPixNMjfoKEYxsShLYewbvYTFymrfuvQxnoUjEWQkTGjIFNBvISVZKUXAyLcuYKIURQpwlEUymUMIuXgMEseIcqwgFjBJKCMOfJjCzSoXcbVMblgekkuNkSyDJmqpmBjvcLGssgCjErKAZXqvxBSLnazdphYIdiDYCWYjRpHdohxFezpWpfmLGAhCQFpLreBwN", "kqwXYvXQHHxocxzQIURrFdzvBdfhEaNjMbWoolgxtmelHxBxwbbpTlhvzzGEHYFpvxNPGkKABmpCwLbziwLKoXtqqfVrRgXuHnlXLXCDcstaTMDqHUNdLvAPisZyZdTIAoMePghmbFCrtrUwXdPEWLxtElnlIVMyBAeMCuipnoAonEGtPJevDRRyIFVDVLvSggtAavdKkEuBrqUrfnDlsvECiFZmBuGfgTXgWbMFFZNNtiLERjujsidUtldQOIaB", "xlDIJvjmyJGFImfxucSQRUoRKinWUOqusyESXffSVsSdmMHEFOLoFEeUYxfYNWArANocuATTKKffGsYJepDRtslNCsYrVOYeuMLClPPJgCzPYZUBeWAfXhZtPeUDrYtriWFOepSLPHVgpktxPYZjDVmCRpWBGdvRUiGVLNRCMdzjxmcaOaQuUIVDDwWeRguErKtberxTErOUHYXVpkqxKrrJlqrRyQJZauXwQvvRPFccEuMoMymrLDqrWNYBqlka", "hXxBGogAqzPxnHsJrYWqmgUezNgPpIUwLZgqdYFQpFKnskMCTWqQFPVCACOrqcyYpsVFvVBkneMwILFDoVwmMDgNVeKYedWUbwXjdBJzQFInUnmvGQdWRjitRezLhSOGVCNWIyIDxkkbhClDCdlqalloSwDllsmZkBzDNJatNCADwoAINCDbzlcehGzfqTduDcHohpPfxUZfqGxClJpiHDXvQoCLtxnKucUcBJINSVckAekgbtaMgXrsFhpxwAAS", "FRicqBoGNSaPYnbfflaHkFQKYsWzNxZSsRFwZnbhaMoGCklCHwGEdLNSJRYGBqegdBcDjcJMNlGUntoqburGffjdkQUSoJqfKeJVESvLmwTBfzvXfBaQUrieKyETNjNhlJUoDBnQhpLdlKGVdJKhzivDtjlxNgDaXAihUJpEtsBSwPJHaiydgvzIIZXBaAxklHgsANjLUbIumLtDsFTkmqvDmhpqwuvcYQCUkVZEXSdvcWccBMItWIOMJLDJILMl", "FWbEohQgtdyjorsHhCewasuyqpUppptqzwoNlKRCjXeoQtEyUrKegQDnEJxYfSEoozxuLUOBIPzDHeXMKEbcmaJIAVpBORpMMykRTaGHhKJZxEgDOsQAPYWISWteidaSBitaGAriVBDhupNvuBjhxHyebzpPsjivyVFABgnbZYOEkGtinNCMhvvlcvyfGBFrPUATmzkTYQYINswEYtloZSnnnqasrnYtFINnDfzcHbgIdmZrUQcDeZlnSwKvXrqb", "UDcOYQOqjCQHrqmujnmqRZUaiVzLKAStOQyFmYZHvUsUUQUnFCvFETAxWAKnjDEKMdwqnzbbjiMHInSxRsZYLodZVCElFcQxjswKUZtoDtxGvAsUrvrgYdciuFOAoNeiIrWqieJhDwslyislzvXBzsWyIszIbsYvPblLvsMKscllQhXzVkzStGNXuELRxAwZKVTnXvzfeDLuXogFqKxmLKdcqjtikzDFuvvPjKqYdjcFhpBPmKOrlnoeypiwSSnv", "cVBRtBWgZkJsnJkfFfJaZntNLcwyHnqzcIFvEHesbIqURFtDmjoCuQhuSilsLfwxuLuGwhvayGgbnitzDPOZJZxsLiGYmZJtDAWfWWjhYlpmaUbYJizcevDIuTOwzVeQNKlKDmdKtvzwMtjtEyCOsRGUdKnetoWWblDNmOGSAopocAQiMSlpjbHfMLAJoUvrBAmRUOgDjZjBjvyqgiENUTEosJvIoZRqpbtDggAekussABnkysIlenquqTmHLRTS", "OHicnsWAvIbCoGdAvzKjsxWIorCYtWOEwcOSfqSestEASECaEcDTpkxdriUmyiDilUsvQXcAdppTnlXRDdEgbMXJqchAFBzHtbyiMjUSzvOUAxwiipzuLajminnAjIAgvxTfnWICESjvlXxrkrRNwtwEzYIewqomtdtgxOyrvoUnqZnjUHrmhEibZtQtjZRvPLdRVEpZnDwxViEDGrwFrvBtStdqQutFxhqITDFeaSZFXTTgJzjMfGSgVJcBsilS", "tUaOCPclfbQnkvjaGfEuFFaksvrYIzCQOjvMxmJuKcdRtjQzLHKpQAloUCJxESosOKLoUVjjAnXQtgwzhGLNrLkZoRrQHvUjuwCyTNbxhsXcUEkGSqKqoLDnseICFGmmBKJNZPnzPgiAuMWxhMHgXUKXHppizktrksoENRsAeSsMkrltwkmuXiuaACFKwUAvWdcMGbmaVIbrZXMUIZPnsIlvBuRXlHKpNVTYAePbnOOStlgVibGkoosilfIRWkJR", "VpOgNTejioKMpxuTeltVeZonhVsNDnExiLCkgxZdyyfuZIwxMecgCoYgLjlaajktCmbtcvGINwmSLEvwvYUiDSTfWumdqFYfBFqUvaqNmhNJSiMQEnniXvDLTAwnoGsIoFomczLePftPpIeexMTNkayMZvAeVHeCpIdGcuGBUDMBcpFlQopKojvzaFowEpeoUAwUNSkbSphDGDmHaKLbQjLplgJhFMRAqOedYyKzDmGyoThTnSAxSRdWXoJNsfuI", "bzVWOnuIimhydbXnOZAWIhQnefpsBjROWyUxpxLlbohQnSQUbqooPHLuGbaMerWrUUGYfxTGNYIYFjpurMkuEULYcKBIklHjVoBtptxNqBnKIambvkjOGCIPHdncHAyQkqNLVGbdfefgmyYpbxaTwuvumimEFQufkkfYZxKAzvUqzJecILNkzbCrcvrhxpciwnZdZmGOzMMxCrKSiduNkZXjhuCcAbJAaeNHeYPAntuarBjjfAGAqXTcoOeaiZEB", "QQtYjgNVpzxdFUlRbDYHppCjrHhAiLjgUCUNCIBjTnJSRLIizTQEVhCzRdtRbtLmNWqFhzYZvmSYIzzLMSMjyapIMDVOkqvyHqCtKlapTljzvMVbBHcuzIvtylxUBYiaUjQQrRVcHhbywyhCayKgxhHcWDYGxzIPxqJeSYsRZQQxfnNNeodbiuCoYbEvhWZEEuZOyOtDaXTarVLsafcGTBMmgFZTArbLflxBwUrKsNquxXSSYHinVrkxGIiwekvE", "exgAYwvNkhoCXtKPCCRbyUztbPpWPxETmdRDKFGGWHOPykSaymHczAmrsMMRDYgnyRUONWlRVfWHdrOQRKfAyuMhNbVBjAGeOaGhohygxEERppbKmctloVxAaoMgxysWSrUgcAijdDOyYOwCHkZTsxQxXLuQudscAJHheCBxcKHuJNYhtilHzHqhJZXzadnvFcbOdhzQEVeDxIwJItoodefbTtMymAIKbrfKGzuxiOaMTMFJuXvUfISgyUYXCTiy", "oGHIVbYzpToHSmyuBROnJfpktJVnhYnRMVHULFqhQcLoEJUwxgtxAotMOGInxGDToTChsCdwrFOgUaalpKercZjaDQCkNOtEwjVZTHVeAmYEOaYDLnlWyWanPjbEaMZSwZorWIeLYhpTNJVpKhRJEFonIwDfDBfsWduyMClXsyuXGEcCdwVxjIYLGIYPvjZMDCFhQGqpMQMeVJjDVTelzREcEumjQpvNDqnbSwJkJvnQXQRylcgIJNAwsnwLbbNB", "VaqfjFljGgxyPmyGlGLqxSGQBoPUrUaUBSHFqBxcVzWGORpbujEzZDOqATSPGzoqSLSvVgVaZbwiWnMfgsEgCqkNQBBwmVhyGrAgSlFyDNOPZHCWJqpNBXkEbqDozyVZWCukIEJDgHqyeEddVpucbQahdSEsRADhYWfupTUtulufOpuuGZDSoisqvXGIoDIpWqkBvXsSECUHPZTMUmcPAWsJUDALXSvSHEQixuJsEGSaCtDamtslFZEKedaksojG"],"c_array_date":["2017-10-17", "2007-02-20", "2007-09-05", "2005-01-15", "2000-07-15", "2010-08-11", "2012-02-06", "2014-09-23", "2008-03-24", "2006-10-06", "2005-09-09", "2008-10-08", "2014-08-05", "2005-05-07", "2008-12-15", "2003-08-10", "2002-02-03", "2014-07-12", "2016-08-02", "2009-10-13", "2011-01-11", "2001-11-24", "2010-12-25", "2003-04-11", "2012-09-17"],"c_map_tinyint":{"c_map_tinyint_1":36, "c_map_tinyint_2":79, "c_map_tinyint_3":-124, "c_map_tinyint_4":-50, "c_map_tinyint_5":96, "c_map_tinyint_6":-9, "c_map_tinyint_7":-116, "c_map_tinyint_8":69, "c_map_tinyint_9":108, "c_map_tinyint_10":-47},"c_boolean":0,"c_array_largeint":[-6141323593800839661, 5640753813951997576, 6458255233224678896, -5114047559509420419, 457597876148914188, 8381275659950967130, -8309347910047123348, -7056507809028535006, -553461926041946444, -8320575311075414379, -2672782976244400408, -8945206962536395671, -4078112279964896622, 1084981683316523711, -5380939279439562573, -42477830527546477, -1930084093566292011, 1187387860180783040, 6255519838226389751, 779501798059458409, 7022568664106059380, 3666440511825664692, 6034463146864072030, 6321382255940090964, 7102730863892097856],"c_map_int":{"c_map_int_1":-307860762, "c_map_int_2":-1107227743, "c_map_int_3":796254387, "c_map_int_4":-182648019, "c_map_int_5":-422684610, "c_map_int_6":100912783, "c_map_int_7":1997939421, "c_map_int_8":225533885, "c_map_int_9":1420471722, "c_map_int_10":-156368927},"c_map_datetime":{"c_map_datetime_1":"2013-12-04 00:16:41", "c_map_datetime_2":"2004-06-21 01:38:39", "c_map_datetime_3":"2010-07-04 17:45:04", "c_map_datetime_4":"2001-10-07 18:38:03", "c_map_datetime_5":"2004-11-01 08:45:23", "c_map_datetime_6":"2002-09-22 15:02:32", "c_map_datetime_7":"2013-09-06 21:23:00", "c_map_datetime_8":"2005-10-01 12:04:38", "c_map_datetime_9":"2013-11-24 13:24:35", "c_map_datetime_10":"2005-11-22 04:44:21"},"c_largeint":2783576169959449499,"c_float":7.5551953,"c_date":"2013-04-26","c_array_int":[669475323, 693421967, 1565193162, 582491329, 263721989, 1879756892, 740199936, -1940315467, -1479835591, 468858814, 1394487536, -859251093, 81395320, 891617746, 912645015, 2132955929, -280349605, -817377348, 1218181627, -847066982, -1793013425, 2122503649, -1335839473, -1069620390, 1960177345],"c_map_bigint":{"c_map_bigint_1":-9099284925534675480, "c_map_bigint_2":-4581286978715138260, "c_map_bigint_3":-2405698544066049045, "c_map_bigint_4":1243364201332574852, "c_map_bigint_5":485410946734659318, "c_map_bigint_6":-7492889433061246900, "c_map_bigint_7":-9018631072063353644, "c_map_bigint_8":-2004156665353637427, "c_map_bigint_9":4149257723088870536, "c_map_bigint_10":-5977151757788121232},"c_map_ipv6":{"c_map_ipv6_1":"9264:3cb4:50b5:6526:4103:10a2:bb0:4db9", "c_map_ipv6_2":"810d:8879:dbec:618c:e31c:b54e:f4e9:c877", "c_map_ipv6_3":"2f48:17d9:3acf:c93:a2fe:55ba:9777:1e7", "c_map_ipv6_4":"534:1196:8710:2005:64f5:734f:fc0e:1cf8", "c_map_ipv6_5":"6e0c:1f1:a6c2:cb36:f43a:a4d:f167:8820", "c_map_ipv6_6":"d89a:2879:78be:209b:e4a1:a637:22ed:2eeb", "c_map_ipv6_7":"8e79:54cf:c900:1647:caa6:2135:9fde:e517", "c_map_ipv6_8":"621c:5526:9de5:353a:65f4:729e:95ca:9812", "c_map_ipv6_9":"b2ea:ea4f:86b8:a52:9728:657d:a62a:cb4b", "c_map_ipv6_10":"1617:f2b:900e:334d:1c00:ddfa:3f91:8208"},"c_varchar":"be","c_string":"tYDxgVzmYFHbuESWcegWYHMLQsMFpugABAGZhmwaIHurPseIStryNuFFaTmJAIDdfPAWYBtYzszYFRhgYaHKgcrGseyHSHtrzwdVMDyPDLVEfTcEHBlKUdZZghBRSbHagiqKXdNGRywjCLmzWeOvDVkFLoucJQuRFZlbgijhoNMrSKCiKZkVadrdrKQHiuqwoGcHccWeqNJWHHXGFaFjuVCCIAAfjpijldwgpLgqzxTfPhQYqNHKhXEOWlOEngrVDROrlymugyJhRMapsqigMHqxsaiQMekFSqoyieHuElbIiiOEXTkPpBdNOBpjvSBnGMvFAgeJqbxNJSQUJrdURIiOssqRSqAYmKoUabRaNnXiYjpeDAmXYWPeSpromWSddRtYuAZIyzMgPBTIrlrjZvKVvVZlJwlNNCPzCrVTSQxwwDgilntJBcUIeKIvRjvondseIpNDgQEppSlYEMLIqCiXhnxaiPVMHQTILvOLFIzLTYQXjGhEekrQXaHuurKn","c_datetime":"2018-07-21 12:10:44","c_array_string":["DknuZFuoVFlfXfsiUiHVLCrVIaOOBKdEWvZFacrdZzrULemGKwsblJIhFNTOxjIWEZJRHPCQJYBBkFjbOUKjSpaEnUTwRBkmkhTzfIegqwFZdRJClEFSQhfaVuwSdRxLkTeeLeiCxhCCTQXMMdYwjPnPvcjhFbYakYzGVnTpZJLjxJarWtLvVZPSaIsFawcMkHKfDTyjNegMSfIkrRPikYIDYgFbKacmihAtBFTwsICDSmhvJBvHpRcJGsOqeNqxlMTcTQjgrcZfYDPEOfBIUXxAJWPsIorZueyGBQFJjaCpFEuiaSYsFqFblZxNWQamkkWHXTTtfPvmPkUbtqBKDKdFtTfoKZjPaWVNZiHEUEYhOKrbbyrIZwbSghKmXaODyGXjRpFSHqLDBXnoCjdNUIucyGJOwxxiEfbzXswaXaGmCyjpAgeYfaWnPqUNdWOOEWYaJGnbMuxsfkFKjwCdJAhWFnufOclLwZYtRdVlMKyKtKnedjhoHePcROoOQUdv", "jKpYBNCueXrfrfvZYkAEoBauGJjGdfjBBAMRlyqUHlNYqgprSSNMLQmomzkVTLsrAgNCIHgAQrOCjktMjDZfCWTBJRtortUKDNazbeaPYfKFMnDLnWajOjntswuBWitjUpPlCeMzWPLimKMxPUypJMYoPtFDRXYXSXEtVUlBcPiRLkfisEhQBsTizjuLcrcEKVrzfronfehWIdbmJPpbYmObLVWnIytUuelvEIKXNNCvuybWCFjFprbVUisAAqJRprEohIVSoxfQhzVOTbThrChMEFqsGLkLpcBoxvpLOIbTnUDSjfCAGoBpvZbKAZnCBlXjbyPgxTDdNQQJlTzoeaKeFokNleVuXEPyKFWPWZvhgMqwhtdcsREGUSJtXQUqufVQKbDnlquZkVwENkRJbqiDWEiQnjMksqBVDBkBllRUFPPYxlItdwDwEalyFkhCnbWtEaLrYytnGcqMkNHUosPlJFiegdPpKlPxrDbmcCRaUMPBfxMhDdxIxcOebhQq", "gsRqYrhlhOOTnSjdhezcLqHUDsLGOcNtoYVIqoePrOQgLrrwbJcLTOSTzOMMDSqUqAvEWASFzoKuyLcGcfNiMFLPdKZJqpixLWTavYxXQoQbgLLItecuNcSwXMiTpkUKAmiMSKczgAsyuuZdVvGbDkeOSzMyfYZwMVadbFEkKApQspjIiTAhfFkZkwMONUGyiDMopImxlskNyfidgvUbWjobKFQJLvjEonRpAVqhkELEfupFqyUqzbmGamShDpvNRDKArbVGlzvWulyaKcXluqhzaPeHXraAPGrrTxgmdYBIFNCUdVIXzuRJUVHmOXYUCYiacvFvfrvAViEcobuDnKxlDDGCrRnZdGMnnqHnMBUZiQrchneNCcdactzKwmzSgmaZYwlKukuTwagJlsEbnEruZQyVfFxFiCDJqECDaojhuLuxgEbPXHpwncTJQURDKtyRApOfRJwPIBIhYbCjmLlRmrjyTIjDUhasdOQaOLEYjSoDahwIOynupVzXpZsd", "kKuDuWDWfsWDdFGzZUZlhrCFGCDZFHkqjCfvdZTuqcKaZtOfGkAPaWWkcnBvPLQeOVQVVSxxrfyBiBpUWNfeJrLExusvBkbfAdqMLUbPrhzUcuOVHPFdfuJRJYtDxehkXHHUrDKQryvkUpysMqlEYLMoGiXQSmzXQrJrntLFrWrQbVadjtivNwEjsrNQICcwgQvdZnxjTJKGeOAceAsdAhKbtuIfDpcLVKHWoinOCvkVngAFAXJSSzsnKCebYWkhiOywUOwWDcmIGkLxJtDmgaSDdfHhsspZnZPYNimZtPGIooepyweVWNqGiwGNKrJLURoIIOXsNyupbBUOpRvYGTNXatzHjxRtMSYAhJiYohnttxnKghdFyRFkSJKXkJgtESkOTgOYSietRIwjrrfsYsLgtWOwZbiBwEPjRojlmdSTNrJDVjampfeboIXOFDZLEfQSANbNKlqHmOfGARZyCMybrYqsjkNrTVTPURqArkbjzqqMWXhLoaxoVVkKoTwX", "WslHukBLkGmTOFkrWuZmtLkoXYKNKpzRPhikCtOusFGkatRLSEJanuvmICrHEwmmLVabAEiWrmtqeQEfblBVebVSFTcEccOdSBVTAPkHBShFCKaszPuWkngFYQPFRGTLEWxYKgLaGdYIvJNqCNAEPSjblDAwZVnKGSxLlLVbTMcFiuHgwjJpWcKZjgJHmVJjrgKbQDWpiIfpylIJzZuOAiNmDEsjBESDQkepAIdaowPnkXGomLHCpYgQWRvPLRnawluElKbowujEDDHVOujEFWmjWKyonxnkyzDdgwHIiTLgOQZdnMZRtaIKOylzBLGNmVWihRXOPobjkCktsdduBCoUuaDcAevlEUFoxyEBYYHfSJGEqQLcKIiVwmEXORdVZzVltoXVxSgqTIsZevblSqTqlXfQzCuzuenYHnCTTnjhKMXGYwhIrXqbVUujgcaEdwfNklusnabbxiVEZInLIcnqxLaSleueqPcRRLfRWsOnbMxFqhXFFmzuTyDfHFhg", "cbuTDZeGntobRnsqNzozgJXckzpkrSmEvpXRueGmjqpbgIOIImjuJOtbPEkckIjGgwfbiATnRhQXXMDuYBJNOXsCSWNQExzsWfBoQYdoEwlmQPxVlaODNDMlOTvqeDErsrRfcfLztsnLcYtKMTVucSwjcWnETlphIyzoljcmNnhfTOpbkkDoactHbFkdVRXXINNKCAMQXhxbQbJNEbWPrfjlzvOWTdQyKqLADoZxgaTJjUyYdefbuWKIMNLGmKzGESKHJGOkqJZSrFxLRHZXNQxvNMSTpCbZARGbqptrOITuZVhoEfBsPDuKdwSerpXVpkurCfUuuhQsxJmKBYuLbblnSxJAOLvkYJEPWlIpnsoXQtZrVXrZSGCzyEJfMfxHYQrKrceMDhzWddPJNMjvdLLOkAmXQMbcGnuSMmetTCNXjCMywYWXPOkCmXZikkhPbUCssNYjvkqqgvEdthKlhUSsmvKpsWtntxgKynTyThfqVgOhKOPsmptpsJIugjyE", "ZMCOxIreZzQQqxLsZoPBgcCSIgOPeCWFYVdxUKlQNgxweXkNthNCjvgKBkEizkoAZYQxgVEulMLMPYRvZUBgqSNwZptZLMmMEkauwGmSACMgtRsSQuQoTZHbKiauIHGcBCvTcoermUtIcwlLtJoeeKaXkYMaxyKHeFeLNAObQBAXlNasJoszfEOsbAEfntrYznaRXROpqCpwTrPPePHwdcceyLAdvEUQMGYDsAIaXoApWUpQBqDvzFyTeDqLIZeCDdMDfsJsNVkqPkUxtoXGzROQOxMGWZbrZAsEoKIVVEAzxovSqqQVsPdsoNMTXwuguxxFazjHZkNFGDLSpQIFGsxVgQuidNUecwPqUUpGULZTrapMBxFnlzwlZZUWFmGkHhEEyuJWkhIVbagblHDnAzibvxsSrEuToDaPGueucZVVErdZHhMjSJeuxyjbQkkYRdDdbexYBTjKcRWitSdEVDbsuPNuuCMNUcaGDcpxyYKslUMqIuIvKkyiYlgiMwzu", "imFaonUpdEPZhJxnLHOQoNKtkaEtWRSCBsyMcRsMqfKrlDoTCQokKMpNOUANClOxMqueSpWWNEdwQLCZiUXsJGyjADkjMrXEndCBQQnTNGJxErtHMAkQjVZFyLoGXRCPeVpRtfmGSwfXtgAWGnurimUzpZVxMnMyshxjmZeQLUCkBygAvWvKIMBUGvCSNYCDsFFLGNnqrOzfxiAlnojyljVpKVDumArvfQoztYoXLreSsPVvcHHESLFicDuJHdOiaQCEWOhRBlXntnOpGFVVPlmohaVwLHxQPzwtPzVmmtvqiUmydjOnHoHOprHxfRFOqhClAWltlxRDWUSAkqwRSgQDHsanoWcNYptqGDMNZJjTYrvFDRlyDyFuHAOvHIHBNxqyrvWiOpTfRJOEbgyIiwWaAzpZUDCyGPuTiwcBHQxeeTvaKAItUVLeneaWNAcWggeqhRwsjmkNPCXpTgjwHPeCxifmkuDTexvtmVsPKsTVZuViIVkmhqEjKtFXAOTC", "errWAoMIOhmDDitmwIMpwKexOCyYSgrioYERPuYjirkkSGwASUXQlYOVOmXxDCeCkiziVkgiukeHLJgKNcxYRyMtfxOywDVHvWFsEmCgwZeJYjWoBstguiKGdFkkWkUjUYYVTGontQkoVdSflbFvrgSlzXVAhWwgBqmpjlZghLrAqrrzLtKcOxaweZyXbGLoFZeGvFNirJtpMNnByWMiAvzMwHqeulYobaJsqJqUQHMIVAHZrDyZrJesfYAyWzxhlaczMVASVenaxxNxTetqeCKgopXszRMVtDAaayDThBAxiUvBNhmbyCMDSXDLvuaVPvHNXZhZmsNCkgZZPTgkgxyJvoXTimWkdpoNcXMgtYLWETJPhkEnPtyDmmWVoFfRzwboPFpROpVrFgMOertfaUSVxpfLVmBMlnrYvrCIOnaZFPSHJBpIVuKXsyzrFlBOKXLJvPYkXeOoedqglofZDvBHeoCfUyXDpHsucXpbZgssQuMIecRjbhldoVtQIZHH", "DJhkyWJWKTvdxDcZlsDQNwJNlrKhOoHJVFnqMCUcfTgfUEQrdEbZYorrRdrmzMxhBRtjUgUPmQyXummEmhkQNlepNnNSdgGPvOLEPBVEjzTbqifOkeDEQNmZfBCzyzajmnBTMNmTkvLaOuskAoZrcFRuoxKcvCykkYdYNYtjzQuBePbixIaRPkEhauSOPdiSfeExVfaruQdkdwsModNMjeeYvryfNbowTstPbDdlUYCzqelWXoedTDmtcWFubQGEKTobxLPmodCQUCiTqLPNDyKLQLSPqVGffblPdovWmIfcEixLKuwQKJTREkRwkpRKFBoOtHmPoXYDWGIxYGoWcMEkOJhYqaklAqghUsFPdKjKsUiTZQPycQmxVVrFOOuJrzNdfaqFUCxcKWGtoHZSPahQqkrMyoEMhGeMKIpUrXUwoSnbnbenYmXMvFsvbhiKGpvRfBCmFHcvyMkvvPJFHBPiySRRzbGOmEVzmoUeZVJXZgpyrfpyEMvhqadcDpil", "HwwdGbJKuMfwxIWBtGIRUSzSUQefDoPMPuxjazgVObRTTftnvFJLTnvWVoXsnrdAgXnxAwiRRQnWoVFgkStAkfqKfEoYYjuxqXHbjEAQPUqgQUCWDgKLNXfQcHDDahsDMpgzMqabaHzXPTQMozFOLlrHFPqNBvaDNqEsLccGNJSelGLnnFQzKOVykxtuldCPKCGBuoAjWfiiQWysNKpBVwUewKogvGkvdLFbwsiptVzLVJnZfCtwePqKiJwpkUKhPEoqLRpIzgdBOPXYcvpzJVJAHcxMZFEuBNqWEejINWKnnduydleuuzRiVMxuyuBmparDqoIuBylIIHlplYjzWIbjDqoCBUDaOAMDIewKMyjZsGDEcgJpoRyUfhPmwcKVzfyCqPfUEJlXgrunrPWtejzArimXAkQwRMmsZtLBAtlTQivHFCTDqxeaoyMDgwGdROtnfxApewAjWcoFVralnVBJefDIxjehOHYVijDZnqJxrEWyswqqyEFqhXkmOzBW", "BqBHsZISZWBKhOVmkJNmRacNJRgrmFvRkggKgNPvMUOAFBerYvRygyHcXhCrYMJxKoFNBjvToNPLPoNlwAakxvozQrQnoCJXjihaaXgXkRAXEAxxKtFvYHbbOofafLCIQbaxdvpJAFizYEUZjjBMDzZPaKZwsxTlOeihGmcxGIJUfOzXfGXpSKnGXuojSZBmaLDCyjQOktLamXkltyzbuEULiBpCfMRAMhUBLQyeIUuQbqqaEOmyIdizmyrxekXedIgalWVsTjsMfCwqkiepvMAVtfHoQVNQjdXSqpvKlVWDeEwHwyswxQTCtQIgUvgiDpuagWzLkLaseTAqBPbSjILUsRvBQkdabWytutQNRQoSWSOswgqjSDziFifeczNWTiWuFjDFRcNukxLpWBdPRDqBDPcmuRjPoiqXdyeDRZgnIFStJHzrXqJFXEoAUPkmVtWSEjchpOmMulbbtlryZILtxHppePQjQBFyEjCcSoptZUBJoBAlJVPosvogIxwf", "UEGKmuXdiVqkFdhHDijBxNiUIDYtzGRpFhtmfJvRTPOmFSGfvopsDLujyJPxNAUbKaWMDCscPHXOrlfbywdOOfNNEKsZDpLLmkGSfwMtepswLxbZYZknohyzrhNCGFtpSHVYFKHBTnVLHBfuHuLQEnbrYPvZcERlPtmgcboAJVIUeVJMaxlspXwZOyxslibQDksppPHCtzSmlsXXZSjKELsyQuKAElNbXUZlwUBKZDMzmgvItVsEJemnDDKGAczAUmmnhXjiHrEknTLTIirioQydzwEVINGGZQzKSNqQGVsQaidomiayayBtJDqVDiHYtNOrgsHRdflVcMbeUeRFabgCRVDIoIoBDoNFqwZCQrvzmeWgiUWDPYRovEdBowgAQjFSBtJmyFhRFqgQBxJrrswWKlBNQcMoeNBwCKFmfePASqBRzhzQAAzqXlvOfjVDCSwMeXcGkVhFDcFmbfRrHfUIhHIQHhllvgPYtAjhRRKKVcosSmscXTAhAHwlwPXQ", "QUvlwWteMQjKjaTMnDsmrRDTGzobwuwEXxhZKRYmLVFgZIzlXkuSzwdBPiPRcqvLQDsgXgNLpLODytMDtCjRDFJZvKmxlrFqvUGOSMddTNHtKHSngkvtmBimUEhjpsFqYvYiYCIGEFWKicNSIYeHnZDEVAFJuTkYajXdrLjmaYmZCaLISeattbveyEsEBjKoXQZcJhDahxOtpMeViuMOjjgKSqRJLBFdejQYNJahZpjKLWXKnIOcIWKipBYlWftSMrSOPePDLmoFUvNjFcMnletbACrWFHPwvFvEDWtyoPvAitCWGIbixMmPVIzyHbAzRLXvEVkRAETqXicfrKGeZjRCsCEwAbmUxdiRERkskRMhBnXQlDLbmQlLrMBcEazaLGHlhSIPInNpyaEDuhUDesasCrqfNBhVgbnaQaauWnboWYgVVTMCFRJSSwpRrXVzuFMmnXHxZbUswHzMMUcIPKNyPqQDkOaZssQZlhbpqBSJxvTmIVfnZvIWCdjDSTiM", "CzzjkSUduPLbvwYSAKqPzFIdhbbknkMecJwPaRISQLMhocFLKdwENcfsMEIwGbdNsdgeZZhUJsNCTPzhFTnOgfFfqrpXxwmXIsHxqsiuPacMiOkBvBlmJvvxcXDvNCTLVvRqPPjTPKMdkmisdzXTADrWubmZqTTSrkWiNZPwXSLXxGltOgGCxyLuaBwrSFRXMBmDmFJTxlieStCOhviHeXWpsSaideuDYmQkyUOtZlZbbrLnYHPvqTxApBJZXvzrCdUqAHAEUPgGXmNwKFOKKTxjRWirRxpRGOEGQnXifOBLmvXUvuHmTBRgHaGNhAdYjbnNGdSaCwIuXJLskLKYwdJjBorlxWWbQCYVnRClUwUXLCdWIOXzIyBALLjtnBWGidyAinLdNrSyyfsBzCxHsocTAFNaPXfZPDGVeHjriOPmDsTfhuwrKvXUeWQJWXSpCqvKSOBumETIaigirVRUDbePcjivFEopcpkjPTIEgaJKWNeZibsHSxVKNpLeGSeG", "GVmDXTFzVMfWIPeVgAcAOPxJByLWFyyLfybKOrwWiwqkXoGBetVjdNKGIBewEYHixoPPxcbkzPwfbAMOKoMUwAbaIJDXOXXqQYzigoeHkALLGBDgCMtobPGTtacikzTQpZNSaJJbzmbQlkzNqUsdXWHlXsbfzDfhnAECRQIqVXjllGwOwxzjwUOHjXAbUbvfrZXpubiwyrjgPCIJBjtxIpUpMkkxHjTFnoqiuIjyhJJGuyXHbHPhdsGaLMCqwFZsgnMkslNayNiuBVQEheoLiPuGBvIMDgZANgKyqKrrnSvXlTIevTJdsDLHSxSYivXFyfGgwHdrEeGIJKyCPhdfzqWCKvjPUVDEcwCqdWjteknSFOvpSKOlNXtumtYSwSqIrfdfNtUncCHBMzFIaoqQhkPqLcLufikgdqwQZSIIospeIAireFmPJedRdzeSRxvNSJFFimTxPWWyYqJQrSgvsDAnZDmGOVODhPicMdFHdLmrEVuBzoOfzqUcwmlubQXf", "odTqBTimfGLxJphxTcnfzwdldjlVdNJTJcQhPCXkQqBtofBVdgKOhMtCCmxEJqCpzUFnZTPDbXxOIJBMTQaQorYuSwAwcwBkmTCqZgMGIgUnrfFVLRuqTHkOfsazRkMKjiPPMQvJOOAXmlLFyBMqEhDvgRHhasqYPzTpmdQjGvwoIptsKZBYPEkTLwegAgZKJivqUOXPibRusXIaGPtNdDwlBIDcYpIUYMujbJFZbmeXYySLDBSciDvSLCHaTBFCEmnPmBpKpXqpSRXjuMZzjYXgXzefTRHQIIZSmxFtTZKgFnZWSkWKpuLvDlzaMcdmQZIQeUiwDUtYdyzDyzptpUvJFiHVTtqQyojHCYWzVwyPyYHwYsGHHDQUJiDuBHRVFLcplDaUafaCGGSVJAPmfFcxBKMjPwJapEvIPXmJrrpmkBrhLEwpdLHtTIPnQBshPMgWIlWoYHDBzMSpYiiajjvsrzKBebbXIHkFRXIcDaNMnpTeXvXBtrtiaxhqpHjY", "EHwWTaFyOhUrYQoOdzyUkZoXIEJgzenmHgVDTNMbuFsvOxFTsYAximlhUleOVIiNotRpcracBkzXAWgcklRojHWeWmXZYnJWACQIbxBoLeVDCpzyHhEFhudPYrnOAkbNbCTytPISJSWRggOeFGrAKFbdavBJKIZQNjTYHsApSZrrArpaXGrcsRmwYGxstHFoZsQstlGDWVkeAvAEdcvCsAPrBOIoUDnfGUiesGUCrDBBaDgLjJZHnxSOgUvsCKQAeAdHdcaSBUIyPeTcBYvwQYVZYXHLrADsOsNCEpzAzEbbqlwbnNQWWYNqFzdPaosenTzilMsVTiCAnHzDgdOECfbMPnlqkHFlxtIzeLWGVepxAXcfhmoEuOxMtiiHzGqKaUYFqJauzmFeHqbqHPSkEmjwUbiZElnmkDLgCQAmxjUiZqrwYgRnnsnybgDLtuSMUUOSRREPfrauRwdxcCjxAvWJsMpxijdumdmncWHQjuEoMczVfoXMjCIxTjHeUvOW", "wHuiQqwaxNQcJZXlxyAJSzxebnxIRBeMGpJVfdZTGGnMuKEdrplRwulKCDmYZIUvDwxyHKXQnXGYhicMotxEGilFwcgPHNcZsETTwIZgYqgjyeNPfgGGQfImgrsZiVlBbbRvbTnSmAXglncFHakhDawtRZrjDZKcIGMImqzpJplGvSSWfRBpdLCTYSkXcEpjPeoZHmnKKJAFrFtpUXjioMSOqpDOAEzCzbnHQCqCbDdKspidlxmCThAtAVnTNZkKMCnzKbYqZvyPKGzPQoXsFsyJjNUraEAgQPgssBETfNcOHnzeSHaJLVuoosGHcmmicPtzrOmmQnWOgbQuMTmJqEpnQczZbMwIvLunMKasChBSfwcDiKnVHspTBzbXFAcahlkIfUIgeUtMicDEbXWASrlCvqFOhDworWaQIdicnYSVSmaVuWNAdgxNpkCxldiFBcEJfmQmcicrFPSANeaVVzNfIOafxeLRLglMvBcCsiyRwzuIqIKvzXWLPsmWEMPr", "txRtgMCrekdIIspbHqbBIXQnylrQZmZzOFbOhXPGqNDYQZOUYXGhCjSlmebwbVeNQiHJEVkFRAOFcIdOpRuJEFzJkusHDZejurZntSBVCvQXCjwwJutfgvvRJuoStTzPmjjoPrDmAnABfIvMoIySSjSEiLvmVWipptOfaOSQhgwEeGdKpJVBDjglpapAwYOpymyyeSMScMwldHvaHuSzKSJCkyBYUCDaIMcJdVWgbavNXxsjniksFUBNHLvuzRMWJRcxEiykxUPkjVzvtRsndGUFySenWXQWFOJcWkcZbJtMaaBISvyKENBQxfazRufjnVCmPZuVZcvosbBBZQPwKhKOTaHlVCWDAIAsTwxyNwrUqeUNHkNsjfHtUdvxragLtCNXZByWgEZbHpOmCgiTkwZfSQUHHsLshQdgJwrvtZjfqncJUSNfxKWxsxAPwHcBLTSWxPsbafFOMfuUNEvEJSLnaxkxMiwSdZrFHXSYWHGgeErEYacYxkuWhYInVBqm", "awngvufhSqSTutQBbuTkfgBUGMXmeRVXARJcWOInAiSHFIoRWbtNqMWOoJMjudcgXHKrSBTQfYyOELaCaMPBLhZXAMPOSDagNczmutKaWEtdtcDsWurAQQMoiADRsedyHyBYhnnDJLRIZDFVJhKiRSfPQTyTmcjPpYIsBsLNkSTXhxIXFMkKRmOSaOvCwWRHgzTdsZkNwgjICmUoSWGiAKuSqXYrlkaNOwMwLKQexVDUkILeAbCOZiUjOssBqPmnNGbsCBSEaZZVvvljqODYPwwuiImOHTCWMnlrKbmblOUcIEseltwCcYEIZKfhwTdRENoIJNHRRWDzcaiwNWPrEGnuGNtkGuswmGXUDZvPyQKJLnITenzFFQxgBurMhgdMqktyIzRaDUuxHmPJCDAJzdxkyHFgbHoVVkaNQydeODKUGuOLklRicaznvBDFkcLchaUcOHLCpIDGDTbOQDarFzwHIMJCkIDNQCMbtJibGfVYOfEiyvwpWgOoXbcJHRSl", "nYecFzsFBQVpYNsKxLPchmkZZohGGlpTvNnMlyYJgUZOIbCZkbhKFaUqHeRyqGrsoVWoPhoTHgzEmAfiplLVcgTjSTdQHpUDSGRbagySzVmerCKZLtpoXzxtykUUkFWclLHBvjmVgsNGGEYLCgexqzmaCOYWaXPqONTCBXGAUFsRNuiWfXCcKXBeFBbbucwKitDhqypYYaNsgpvJWejFxhGOJwbVqZvLIgiGhsEkgSylbJYolaifSQbeRUCqfIdOUCwKuTzeORSnxGqnkGvnxUooqROfTBlyuzThtZYbUcokroLkhyLHUwVCcaZFFKBLDqmBcFdvxWiALVCBhWfQQZOLdiUtcLcveBQzbNJLptQmtiAYFdLAZPaYOrwyjAGqiFmHbSeNqHevznjARnRiroMKguibdpvDAtWhRtyfaeVdTrYMlfNkpWjXiJUiRQyHXCondZBdCkiiksKLzcRMCGeFocpArnjslInzXuIkiCBhmgyAlKvCpxbpopzYzYmA", "txOZanfDTGduRizQpxiOqlouyHKPEkJisogjpIukpAXznRMIGvBJHYLSJeMTrmYpeTSaBOjmLhhVpBrHAWnLuRPyzjeuAJigBHiuPVTAeIbhCEfgJQmuhERnJQsSpBPJsUupCjWcWXNargoHbiWOjgvtTXpAeCtnbsDugEDwBcDLRlWeyiVvOBOMYTeJmFXhclpPFfibeNXQsrtUMzSzvkABPpdYxCDiROhwXFZWwWRzZRvdllMmckIYipOFEAFqiNlTinHKuUdsbdlamGHVUtYiJFyIAOnjDecWMkgyuudzNAzUEfTnxzhYoLWBxOpphaFGRjqkqhxyzaFZiqVXgVsXJYiIbjAteRfiXqkvLYsCJMhypzPDFGJEXTPhJsAjlvkQWpoQjZbOsBQZIKwhaOsAAhjvFmMuJsEFIGSVMcCaPVtXLPQemHGTLAHGwpmthycLjtWnqBrnNbuvbOzPenYKhsBkjUGuQsaXIFpyMQQaqgtjSdTyFCcixRnRXtfh", "yNoNVPgkaqlhvuDOrUtEbZmPruiWUmTqImqmsYkzQqwtRkCdyjCiaGfYpeZfhOrIAxHMXTVSbxzPITbGoikCMbAyXKpaSpxMwTtbbuJhbQKBedSUbSeqofbRPWWWLWqpVrnReRGaFdPzBWlvYrrszWTYOcSpTRJLXOKhhRzQwFKDwcvfmTCmNZSlRXdHGKDNLrYnSHgtOpBmLAvHmCxjGuaTqRtynSBQLZioaLYHbARaiCWvIbcQgXRMdNgAMZtuTSouTqHQwJTYLvwtvzGCULPDQzpLpnlBwbyMETIsAVquWKJXaUORDdjiBNfodSOruLTwlcaYVlGDkeuCRWkerUEITilOJToNaPVBLRAdDCTPcrlyHlSlrBvZUrvdHfACeLCWhbPlAGFdlOzrHJmUoGAllSrZkkNMwaBNyRtBovatUeTlNGgDCdKyupHSoLruUQtYhVjctpaCWXLnHtiLgZqJEiZjUFepNmmirhPUbwFWVDJuSTPBkoDlRzzryIaa", "tkOzXnvuxiDlNvxpLsbtETZvfkibcdNoIVVFznEVKaFdjnWoHlUnNSMEMBNxLBZzISksnZQjrBLZfUWGLictVEfndSLOwnkFWYqGRhEhheLNuZKcTzzbpVUwfsAuQPvZWpmdnJkOdCusHTnMKNmoSZGhIyGKvajsqpuNlgvpPQDJuVPpacGXpcPFXBPUmRIcAhMwPKnlInadjymTtQSYKBLSDgTTnlYxEwebpDhlvtaxeIdqOIPwVRYWbraHqUVStxiNGEuemeFMlhXCBTOqpwSUsNehtltghNDcjjyThFIdgsGEHEyjUJHPfVxmoDGElWfhJUSWNmehYLetdtRGCPiTPlofzekXSfzmWWTFVVmrCkGioBYhpDGkXqDKejcMJSETBaYuxGLDUEPnZWFPqSdHXdXUeFUcWYgJCAtwIhzUkYPlEVDfzFBdKstrUAuvUCnruelfJIYenulEWjzhBYtrTobWoYpMPtjcWadraeHaEvESrNJdYzdJmfetCVMR"],"c_map_decimal":{"c_map_decimal_1":28.1844, "c_map_decimal_2":8.1819, "c_map_decimal_3":95.0257, "c_map_decimal_4":15.1229, "c_map_decimal_5":39.0936, "c_map_decimal_6":71.1839, "c_map_decimal_7":34.1585, "c_map_decimal_8":84.0000, "c_map_decimal_9":95.0504, "c_map_decimal_10":72.1141},"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-24921, "c_map_smallint_2":5395, "c_map_smallint_3":-16873, "c_map_smallint_4":-24777, "c_map_smallint_5":331, "c_map_smallint_6":-7763, "c_map_smallint_7":11647, "c_map_smallint_8":10167, "c_map_smallint_9":-25017, "c_map_smallint_10":-5419},"c_map_char":{"c_map_char_1":"bKTaodDjmu", "c_map_char_2":"tBHkTnSEsx", "c_map_char_3":"STbmRIlCkg", "c_map_char_4":"SItZEhhTHK", "c_map_char_5":"eGYgUmVrLn", "c_map_char_6":"PCHgezklFl", "c_map_char_7":"mLOQmZEdTC", "c_map_char_8":"FIWoPYkwbk", "c_map_char_9":"nvcUioTOqn", "c_map_char_10":"XPDQSDObao"},"c_double":73.94322594250315,"c_array_bigint":[-2194813881533937674, -8429647685428542036, 5659736856792694189, 868812220432005939, 409103502073098195, 738535393798279576, 2562442235696559188, 4040195281055858230, -1622332223710747416, -3892103185326408415, 5032672571249523493, -607732260707475509, 3247090967009129163, -7926960411068693689, -5367699205774722688, -2870313841115597686, 647483309686997631, -6184670378463034098, -2254428996323933636, 5835426197615589815, -7690580595044180725, 7599944417447495641, -6181731713269031298, 7492745778782926910, 4295350493642503233],"c_array_decimal":[88.0233, 8.1921, 91.0260, 71.1811, 26.1877, 97.0508, 30.0238, 48.0048, 41.0220, 20.1475, 42.1609, 39.0856, 0.0731, 13.0338, 38.0968, 6.0138, 25.1141, 38.0660, 8.1459, 88.1885, 68.0289, 65.0996, 24.0572, 37.0586, 64.0512],"c_array_ipv4":["mupGjVJRkg", "HiClsSgMcs", "xEJQkrKWVX", "JxhObbUjPq", "iBHNXVmhzX", "bolVwjIWzE", "lZZdmWKTda", "eUAHMvnMXu", "yDAAyNcwBr", "jFYIIoKstB", "mSgkqmgfDk", "TblSVFgPII", "zSwtoitdUu", "UPuyvmYrFb", "zlBIiOXFiK", "cqAtxxbfph", "QwaGQixqUz", "EFxhQmqmJd", "aVGPRGWqcE", "lUVagZcgac", "rLdSHadhWN", "hHGwZscymZ", "yYypgZzjtC", "SkCgsuYktb", "paviPFWdIE"],"c_array_ipv6":["dBYclCOMKA", "iyHbsqSkzE", "QymWcjtcsV", "EdRbfCWaWo", "jqQBzJvguB", "tdUofqIPNa", "DVfgqaTZBY", "vNRIAtWwLC", "BSotJetWuz", "hSOObHBkrK", "spJqctqVsd", "EDtxWmHKHH", "tBvvZGIXzZ", "RUzIpiyhwf", "tBJxmedueX", "jpjCZHVUgs", "pOZhwXELJa", "hyRgnXlYjs", "UlBkhRVLqQ", "uQzIqNhZvO", "MSyQcyROcp", "vGEovzAvLr", "EEhrBjQXYE", "cpfuUofrik", "QNlltVMVZO"],"c_map_date":{"c_map_date_1":"2009-07-26", "c_map_date_2":"2005-05-24", "c_map_date_3":"2006-04-06", "c_map_date_4":"2016-12-13", "c_map_date_5":"2006-04-23", "c_map_date_6":"2017-02-13", "c_map_date_7":"2016-05-17", "c_map_date_8":"2007-11-02", "c_map_date_9":"2000-04-03", "c_map_date_10":"2008-07-09"},"c_array_smallint":[-442, -20344, 24834, 22954, -20909, 25083, 31659, -25534, -7317, -13178, 15122, 22982, -3202, 4018, -25812, -24397, -14637, 2715, -1382, 13109, -21328, 3812, 29200, -28919, -4682],"c_array_float":[82.282166, 38.270836, 50.16697, 9.863465, 34.414482, 94.77459, 34.330784, 47.383102, 57.620667, 75.72513, 91.994484, 78.88776, 38.01606, 88.4628, 86.06299, 61.750088, 1.0143477, 29.399582, 72.83917, 97.60199, 87.60496, 100.989586, 21.860735, 12.258848, 61.75247],"c_map_varchar":{"c_map_varchar_1":"nVlTKcieCeXHpZjJBSuAPVnnawfQzvDcRwVLyNsIYRMnwrEgYOjpqOJUXzzThZQBKOqcmKlbJYwGtRLeBsRpdVmCRUwuDyQvGnDForSDrVnMsAlgzMPaDZqoruPKOITOLicBFdahJqhlYXErumkPKDXRfHCFWIsOfOgGLxNslRKtdUgLwpBjAAIkXiLsvdFManmCgEXEVtpPDdRluZtIWWbOtkfAniYCnQLkFxiwxJmMUMYTDJVqeZVmhQTYyXLq", "c_map_varchar_2":"xzrcLWXCrkWhwOFEwkmnPdYTqnqNvGSJljJswFZuhnSHjGqWsvDNelbcTrQDejAiZKWQGqRFncfatpnzpigbXhEaZOcButTVHQyMcoMTqqkEIURLrWBZbHxKLbZhgyNsCHTyMPyJQUDNQyBAMYjduuuvWeChfTQJLViLyxcxcfSorQeAOXQpoTQfwSVxqFuBKnfyWnvecBfOOXdUDVJRpVRihqkDUpNojggPKyFAZCBbXtBHhGNBNmgwCcEbkoIm", "c_map_varchar_3":"VxBhriKYIwIXpnIGVQcjVLexSlHdidPZQvpWOgCGSFHoKHWxPiEkzRrCaYAgUeSAvzQsusVVkysWjjRldktDRPHXBHroxtTqQMbpfiHVkIrhBGSXShpsDNoqmcaRmqxKbzKWazobbBeZKmwbuQOmPVgBbQdrSTLKtZaIYayxCnyQeuyiYmoToWgGhqzonWToiRsKMHocaZZaXWtGTBPXsEWMFEEkWKLZsZAhLErOprtYmdzsjlAAnaZfRVwxOgrJ", "c_map_varchar_4":"tPvEoKryuDjuaLTRsdvVHitFDPZyJOGFwYAigZJRipUOoXUBNsPmHZqVeJsnxkIYwTJxzdljHxsaLFuNsqDVVhvTvZfzzsBiTxdlqpkoTCTKhpQypeoRYTKccJRdTlEnLLrMebMwQZVScxCzuHZreOAAPnhAuhEYpdeImezYPCnrvgUYGgvVLVzNUZugODStYCwPrQgvuNFNSKhDjFFadaKoqDbSDfNBUNiGnfiKvIUlixrjVQgfCqtUEBAuzObx", "c_map_varchar_5":"FDLBsfWWQuAxxEOvXuonHrHcDZOourrTtmivxxOTXvcJNxTdanLbKhsWCeYXkUpSpiEOMYQhmZwkzjcAyQYbaOMeQwMNhKyRjFsWdjQybFgWsnLUTSuTnJhNTpFsKUAbRpUHDdeegNxRNznUAULZhGkrVOZiKDKDDRnRreLUMOeDQgvqmQVxPlGzWTMSdsWXWzAqSgLfWHCHtUZuDbhvXBptbMeKJAVQksDRqkXqyMVBfyisegtjNXMyJpiawrHW", "c_map_varchar_6":"hzSeyyiGUbarzGfJZYBvPIpKrFqRddomGnhpZRaYCTTlrgdUadXsfHkFHCFZdmfTUdexReKZLTAoFsmHKWnfIgtBZkqOAGVDFDwDjRJIVSjauvmrcbvjwIQSNUlFqQsTihkGxQmaJOpApVTSiNNvweSJzJeoFGBUzhysFiMQPpmLexKBrFhCGVEeeLlsLGcJxyKKAhKayzdUrZeYiEhPNQuyBCZawGrSIoLZiKWTmYpxkIJCimcJUfuKjftnAhCI", "c_map_varchar_7":"GzUHOhfDXiVzHqYsCzPSTKzCoKubOXzESgYqZRLwkOQditiJtbPKNPXYQCntHimHlqlCXwmzeFyLoNbOqHunPGbfLAhOCxbISHcsZfcmLGsYBNIClrVVVgsNdlboHEFMwEKeiIMPVoCnasjYsaThXHBRwNzFSUBNIvNGDyQmYVsfBlWXKHPwWxyQkTrvJFkXtRbsQkARybZyUpmwKAgVjBbDtmZvsUtqcQEbAgFnKPnKyjGbvWyZuJfXRLohxGwf", "c_map_varchar_8":"OjNENNjtoniKocczZtZIqCuBvyIxzAfPAiebWoKLdAoCeZtJwojHCxsqcXTPOhDNcIclncLSOsOmUxFvfgDsVLLXPqOWMdIpwmtAXAhFYTmenpquYxdIkAisABHvvcCjkxupBvHyFqBJVqFgXxPfgDUASrAfKfLxrQtuiaYRlhreLAgAFPUevqKwydXKphLDOeRrsbgZqVierzfqJONoVKlZOhwvvQxTpAcpIQmTyxcljyEkqGwUWUkrmoemAYfX", "c_map_varchar_9":"SDKRRVlhdYdMosXJzOTGzUQxvBSxxrJbvmlaAmojdQKrUrDnxBNrmhcCPtZrVpfkbWATpVHLpMbGidwgprGJlEgaTnpZSFOYDiGfhOLlnKfZNrXvNDdvtSSeOecQQFsSarJVodiNHZXmmRLuTdnsAUcqSimzjcwoKRECFYLphDcjCqrncmxEZjzLxomvbVyXenThZIuFhUkbOmKccHBUfBvLEfoeuAhvmZPfHsSIzzfLIdofYQCSCdJtAwtppXng", "c_map_varchar_10":"zChnhMIzgkBfVuNjTKRSPRgqccRmNLwmAmxvdpdqPOTYZPhUvHSrSJGItUonkMnsjLPxkvjlXPYILtGaLeRQgZOoqWzENJXGURajOCyufZWUfzdywJGCgmyBYuSCiHZunOxSNVEhCnkQWUJXbLgZXZSWcSsuSWKCgweTfZLqgldVfbGfFXTwyRunBRMDuFNWuwTchBTgEZTOEdwESxHZZfvcorqCWHdfwsmzKJzqVkHjLaivXXXscJjLLOaWIUlt"},"c_json":{"bool":false,"streetsuffix":"borough","lastname":"McDermott","hackeringverb":"navigating","ipv4address":"179.8.50.89","errorhttpserver":{},"middlename":"Ryan","sentencesimple":"Clever luck cautiously fight healthily as a wad gently.","int8":72,"moviegenre":"Western"} }','{ "c_array_largeint":[-3675896206631758289, 8519929116592799880, 8103855176799583823, -2584138884307418620, 668095101775351158, 3173004690627727458, 169575149329429111, -324025487293475917, 4249892379530276559, 6976023834834993597, -5595832631372528661, -3999273640604157893, 5374572143659857677, -3602915178832983006, 6302469928167388605, -3206968517176000014, -3890895892631135914, -4271158287531377317, 3157050829826503566, 6002967900518060440, 8971538875728772783, 8205848977174192704, 3229589774186560473, -6649669502273414544, -8660562041451028593],"c_array_ipv4":["TSzlnXzFil", "vBWiMXrweV", "cLWrFikCYM", "xDxnkxKmeR", "QbNbQehoBM", "SnJaFAgrdc", "ozDzwpmrlc", "QWuoprDvVC", "EtYFHgiKvn", "vHYawLkrAm", "xYNgRBrBIn", "EmLWAGecWa", "wIRLWVlCZh", "shyEKAndqJ", "HZlRHfZaYG", "ygHYsOubZP", "VYeDaRaVNZ", "pcvLSRxPau", "xFEyldHDod", "UoibIvKHIG", "yzbgAnzgyd", "IURussIJEV", "mJvFGyNjFQ", "GDWKOMRpOT", "CWuGIdDRuP"],"c_map_ipv6":{"c_map_ipv6_1":"40b7:e593:1ac8:202a:818c:c16b:6698:f2da", "c_map_ipv6_2":"31f1:fa65:aebd:6a97:f2f:d899:466f:f348", "c_map_ipv6_3":"4471:806b:e16f:5e66:3176:e9be:5b87:9686", "c_map_ipv6_4":"e8fe:af83:7c51:cecb:76ef:8865:80b8:312a", "c_map_ipv6_5":"70b9:dce7:443a:39d6:c8fa:1102:aeca:9c5d", "c_map_ipv6_6":"a1b6:d3c2:711:c3d7:9c2f:4b9f:4544:ac41", "c_map_ipv6_7":"d471:10fa:c23c:2838:f11:737a:4072:75a4", "c_map_ipv6_8":"959:7079:240:9061:f656:8678:c11e:847e", "c_map_ipv6_9":"c8cd:45e4:e12d:acdf:3340:c223:dc84:f78e", "c_map_ipv6_10":"c6a4:9bf3:524d:d597:63b9:e45a:32e4:4ecc"},"c_array_datetime":["2019-01-05 08:34:08", "2004-09-27 07:58:34", "2007-07-01 20:20:27", "2014-08-14 17:20:32", "2013-06-08 06:41:43", "2019-12-20 05:09:34", "2003-09-15 02:49:18", "2011-06-03 04:38:08", "2002-06-08 16:33:33", "2013-05-04 03:28:31", "2017-06-06 20:08:52", "2016-12-26 16:41:44", "2008-06-21 17:38:21", "2011-01-16 06:54:27", "2012-06-07 20:40:17", "2008-04-27 16:46:02", "2004-02-03 02:36:04", "2012-09-23 16:02:00", "2007-04-09 10:55:13", "2011-07-14 03:00:23", "2000-03-19 13:21:54", "2000-02-23 16:52:24", "2007-10-28 04:18:11", "2017-12-17 12:54:59", "2010-06-15 03:21:33"],"c_map_float":{"c_map_float_1":36.621483, "c_map_float_2":9.485481, "c_map_float_3":42.822273, "c_map_float_4":78.621994, "c_map_float_5":45.604923, "c_map_float_6":54.60177, "c_map_float_7":51.053806, "c_map_float_8":82.30973, "c_map_float_9":51.1162, "c_map_float_10":65.96433},"c_map_string":{"c_map_string_1":"nZGmOLWGTtnCfcSpaPonPBIZoqlnmjAscTLxSfRxYcyNjCATspdfqDCluYSXTyaLmoMcdeaPUNmfhfZgybbTIXsGTNfvQgdJQbGqBXuLmHBbTtFeUChJBpANLSaTxEljRBUpUwutWnZqmjjPtEzZGTgsikpdHkunWcAKHHVZsaJkLABWskqLMZrhYtXZPSNnMnIRGgPxFfIBCtsxQpIyGgeJIrBZJqoVIxerHTiznFjwSrtNzIFVaJsFYLpMzbiFrJIsDJkyacvQqeqxptPIQmRXzdoZRafyyZWXvRIXbiTEOxrGHkMwqwTNVrpfHKZLwAgWDuImjRlfPlMOPfDaojKlfoLByHXJgahnyVrFPoYVhdPvUXNdlYcatOWXXoJTtTeoLqIqXkwHrnrAaJhbYMFuNuDaRmEZgTbjsTUxwoORciMtnJTIhmhxOpVYtuEQzVYgdjLuYBEolzmSwzugjVckAdfsANTpSYZHZaiYnxCkGSOBfJNhMqIrwojBrxfQ", "c_map_string_2":"uxEhyLykKVTRtKThKQUpLvNRrtyRCOLWaSQQKwYnnSBMglaFUyagTobbJgunvDBphnUwbNrdgEFydSgnnDBtoHVZDDOFcSlcaLRGLmfraoDrlTSbgVxgjUkdbtEGbjVSglPaSnoniKbgsIsQofSxySPaFiLzMkxaqBnPqruKdxCZdmlvXEzFwpwBeZcDONEDMcWPWpQqBzBpvCbijkCRNYBdsjjIPIANAvaNWBtSlRdsTLvnJwlTiZtGgblRHsowVulkleKVJheaUkxllAkPwOVlVUXLOPXuTtqYQqpbNxkJJuLSAWyGoybXrxgDqYbSdJDvRmrpTtQawvezwWKLyQJJbBJBisspucJFgvWKhXKKtvyahGinaTKrxkdKwPzCjFnnZDGyJqyPXyZmrzgJtiGJKqEYFIiDFaPjvumuXpTmQdUltynXCxrdUdFUqZkVQsHCmNPKihIeilREVyAIIphtgmWcIdtEKCZIccRQfSAQWeAAebUUnexSvmWibtiF", "c_map_string_3":"cPxTCUMwLdktEPNPBhUuFgcxUSGltxqITZLCutynNxNwyMGiwmZgLSrVzdRTtRaVxMpbKLNFJyrYevZWiFhrdwQDvRDeCTbnLVkYIEdzTcyCExKAISRIwfUkpxLXXbGCbQMlMlgwjfaotmvXEpYrdKuLHtkCrGecuvfIRAimAPMEvwLOyAUVWlWAhmrQdZDlpkPtoAehzwYNAStphrpnpVaIBYZRgSJwqzZxZZisbsNyoEPcJjpzTlwCzWKJRPbzcyCXEnzfhsmzeXKtWCeOmChHqBSDeKADFTwAZcxOGSstgFwUbQWMLKFzPvpvVbdZVnGMWNeTXATUdjJGWVVtJNbNBFvIXMVbukZACtZyKvIoZEPuixCiQzgNQJayuAoIWAmNYZwSGbzYAwxBToZLZwFUcEwgZHKRRKlsNfuNgpMcInNUXmPYdqBJZPizWJeipwhFvCCkNkTRYWLdeuYdLldZYFRFAEukArmnjJxeTOuvdDmmNBFNAOxRcMIxMCVH", "c_map_string_4":"CgVTcIuZZBFKuVOKpBEKxWiYDCAMVuHgSBXAegKXSISpfYFcTcQPaihqfIQmsoKRldveKboyuGMpyjAgWCSstzZqVudkmuJTCJhPIxiYvozJdUTaZKOXLeHegCzwovupxeVxzIIJwiObCcDicqSKcfqwKhFkDKKHBoTdgDgfKgrLefiMjNZkGxGXoQTawUYtGTRaFPNLQJXdMHFMLpFZbiponGZrzEmctjMwUkWzjjajUAhAQofmlXTrtUhCHzTyAsWtnGQqquUXgCvwDIFJuCSwujaylAzEadxGeUgBNVXncwAygxxTjPLRNqHZSvcoPikkiuFENreUqIiIYSTOIRvwXEUeJTOjnckORpMEFKYWGbcZpSwqJbwuUxYxqEkCIVYpTtSpahHnWhhqRtSxYARAgIOskwyXQSxBalwCZFWdEaNdMMIFcdsaXEkHMdsDsCPmbMnkqxdsiEhLEtILpMZxyDzSGYBLKPxWzvpSRabNMKjIaNkzkSxtvMqvvvgW", "c_map_string_5":"WwxrfdweLLnWjjAqhShWNKvwVQkrILARdNllcrEKIuCtrOGNKpscnLvwOkQNLnxOysMZvoqdfMFzHecHMTYqMRDZAORjrETftgOjSmAncfIxYtFILiXYXGmqqUFRqSiOvDGUoMUobSybggUXjqUEregCjeEpgNSjSILXjEVgaBboRQiPepfYrxyVmkrYIQWiEfUZgqcwJvrFrlvmpFbUlTQOSzLUpzVAldhGEDAwVCUeIeQkzHWtCqETwCpABtiLPxZJnNRcTzslCPJadXIBJRwoZONobTdKJrDOyYRqgcWspKNRzMGmABWCtNTqFBRpyYHgeqeoNCwIpWZXUuucnRXFUWqETwJWqcRjmjsrzrCiJyUOsqIgqYGCZHnHRgozkRGYNCApYzKKxlsNWckSlrsBUXMgESOZdbhEjdElWWEVWJaBcvCdASuiAopwKcDpJOSMDtryclMyVFjatCUosGLVtlGOZqNwHiLRQhnxDcGyVVVEdQlkdDGMSYADuAfW", "c_map_string_6":"cFKlWWZZFKDdgeZecaANFpUBHdJRBZyNZwPbxUSTeyYNfZEJUbfelWijJXJSrWMuGiixQTQXKKCryeDlUiipALEjUzdkbpQAaZXHPqUVqPEVeAcZOcMCqgaWZkRylyRwiDbNhtHVgHEqITTuZNGOvpUTqKHaMWPHvkKaDxVRnQhBnpmXbALcQVQtObMbYRDOmxaZtcZsmgULznOHnTASLhTPBLAsAMUJlLShFcqUeBNtpejUEkIsILIpkpSNEoTmpRYdUeXAzBcIMGxNNrOpMSFwGEnaGrsjzxexAvEnKlOWMxPjtpsLhoQNmIjzZAriivxZCYhVbeTzfCHjdVlsvPWvcwWAdZQalqLNPDvHEIdFJchGEJXTibLcWSukSHiHQnRULtGwJXhTfHmzkyoirPsFKFcoeeJvQFkqZMbzfmkHhQSBdJWeBoVfzdKRmZFnCYJQLDVXwObEevbctwofmiLXumZorLZiqQkWMzueZydqBNZlNMgnkOboXSPPlmXG", "c_map_string_7":"tdVDiunoMldefSSkdkQSVJWpZQLuHVcnqUFCyOdkpNQGCbiVOGNpsIrKSxSWAEhHCZBOiuxzOQZtcbJrQShOkMhWXNZGRVDsVVgnKAYftgrDwbIySFSIyWWWnHnrSCQHOglLlLlDnsWPWRWalWzgVBBlhcGnuaMAmBZIBNobiwLiNGnSuywEcXDRczyJjqiWnnTWxcYsWHgBIbyPQktARMiAgFnYfQThvQjTZSfORqYwheNlQpiHYmGSsyIwQAPuUKaWYpQjkVYsLXmNhFzCQPlnqJldSdkTvNsTBUYAKHMUUqbkDPQYDScgtSfpmFAaVFxDZjyTOrDOhPvuCcTBhRRSAVSzAjAnwzOavsyiUsYQFGYgTaCYdVPpUWUCdqgUxEsvbQmPJzinujNtgwrKeQqyZhuGWylXcjdTGvPeQtzcPHEFdzhQAYjYlvieNACgbsFjEhfublFPFEUPitKuphBsogQIfcQcGOcnwYMSYUtHENQupdogWCnyiEUHMiGP", "c_map_string_8":"beKaeRXRErrmqbjwtjZDsdrnWwxhFGRPcKlrxXQdNGIpscUDfCVBQTaWcvIcvVqtQwFZwPvguZwRMefrkQXAvdGxAhfgLIOQqzrGriTATUSAfiMUUYpuWRfpFtMxBzAjAyMlrevIOGwtDPcILDvLwcvAWEkRCeBYcnhqshrRsRYYpEEOZQozNrQxtDZAdcTvUqLCGNqKCsYiaFdXvhkJaKtcBHqAAXbQkuhKGGeSzpkYAVWRADbKxAnyWnmooAHABWdvoKYmwOeOwzzeqParQFbhCDVhpqsWAUaoohXXyykYhICfZJsFJwxnDeIPCughTkMSsSZCvvNPTlrNyFrGpPgjuIUOagWbbmAnhwYAHolukkUKPhHQlXPQATkwEvPJBnJZaczDzPvxjYOiHYokiAGveVltAQjzIgaZgQxgCvBIMElmTMGgtlSxyXBUUqwcKydbZsvFJnKgtzOzsGjYgxySOGxqpfQxLgoFysTKuVMBhWyPcDWIiYyytVKFrmxm", "c_map_string_9":"dVvuhkfxtqEoeQcUIdGkyoxUXxEDmYXbHAOnreGetcrZVqJocmxvmkoyPJWHbcGTgkiZsJvidlYxPLnubzqcezJocYVlzJqlLyxSWXtPwnGJmxuKujUeLeHmBwxBhzkkxWbiJekISKucBKqhNRosLfoFacpJFWgVOjptldRkjthGlCSHHkQSupsLNvTFuoSYHKwYldZxzwEbGCUEZZeRLIzafaipHdVwukzywrMFeuvQqAIgmlQgPBAXKDTUHtMFaDeOwrdVQvGfATAHehxGlzxSMAusSshKDuEWSriEBwplXRtuzOxELqSHVnCGfxillbfqwRWzqzRxAumQmYerxBlymxflBBBiKBrAvzhdEOZWPFaWKhotACRofgRNFXBihxwJhUmJeJfmyOUoUdtJOTFfReUPVMnxrWRAaLGuWKIEiGFaxdMTXjJrEKBRYPNzWXyOKGHlMkuwNgCiGwrryPLWeDhvHYIRSGZkVmHcViFQhOqYNyWKcBGBIIbAqpIj", "c_map_string_10":"MAoOZXJrJDIMHVUqzEQKnCaETbtArVRBYdiiSnpXFcQXVBindMOSoHnGQljpSDVPOgkzPWWMLRgOUJDGySXegGUyAjrpFdejxwizsoACxbmgwuujpWZpYlJMqmYJWHqZZljSgaSaFIDPEULiKZvrUFsWCdSxJAdIcYWcqYNHDVwQGTCkNBIjgjcKNInriUaSVGxnjnvPfRoRbjPXtuRNPUNyZOBUtkMxsXcuxCkxMYMyEhpeGtOnzSgYJLvYvjQWNwcJuwMyCSeJtCsErnWnihsLWXlmfLrFRvCwpuuBOeYTbaDrZwsLTlrntSIQDbjLoMDJlilpYWWeSYlMRkJroFeRdCnAyWykXLaTetnZsUmPncKzzJhSDoUVTBLFwWnggDjEsENQkmlQcrdHSnMeAtwcEhSyaaZAdCKBiIMYNmhnLOIDmEOCBCJEyYKKuTvisbPYlAFYRUohbOTLhcEdkLGqVweulVmZScFrJtCAoFSCCNwvHvBstGMvSMHpzwXc"},"c_int":293830263,"c_ipv6":"70ca:e0e9:fca2:be46:2a07:95f5:f3e5:70b0","c_array_tinyint":[-32, 28, -5, -126, 21, 113, 40, -91, 1, -76, -51, -25, -27, -75, 39, -87, 3, -27, -122, -110, -27, -24, -82, -33, -43],"c_array_smallint":[31247, 23312, 12254, -3807, -901, 4117, -28881, 10283, -13991, 23510, -19390, -14047, 15396, -4720, 17943, -4652, -9686, -17364, 23394, 7482, 12343, -25300, 22890, -24628, -16246],"c_array_date":["2004-04-27", "2006-01-11", "2014-04-18", "2019-01-05", "2003-08-22", "2017-06-17", "2003-05-27", "2016-04-28", "2016-07-27", "2003-06-08", "2002-12-26", "2014-04-21", "2001-08-22", "2014-07-25", "2001-11-21", "2003-12-27", "2001-08-25", "2011-05-20", "2016-12-09", "2011-03-17", "2010-09-05", "2005-04-11", "2001-12-11", "2015-11-09", "2010-10-03"],"c_map_largeint":{"c_map_largeint_1":7865989604741991492, "c_map_largeint_2":-1782825604580942171, "c_map_largeint_3":-8893615981928952815, "c_map_largeint_4":-5075416872505674064, "c_map_largeint_5":-8717015635170194997, "c_map_largeint_6":-5864652558929482970, "c_map_largeint_7":-142885869136408609, "c_map_largeint_8":-8992128141273398640, "c_map_largeint_9":988938360201770760, "c_map_largeint_10":8556996107158401135},"c_map_char":{"c_map_char_1":"sPadZUBmeB", "c_map_char_2":"UpIQKvLfZj", "c_map_char_3":"YieVdqJdaZ", "c_map_char_4":"tZhYOKaYrQ", "c_map_char_5":"qLtdpWZqIs", "c_map_char_6":"JpLpohFcDS", "c_map_char_7":"RAEfpXiVqt", "c_map_char_8":"TdDCFBBRfm", "c_map_char_9":"RrVDUFLxIC", "c_map_char_10":"pcXpeJbkCZ"},"c_map_varchar":{"c_map_varchar_1":"CGHUyALwfbWjKKpEvsqXfLUdDTpMVyMVCUKHTkCnIPfPedhCtnUkpNlgFtoSNqUgKIRZUgZowuKtevMUQLXZjhdYtzhaQNRNkCcoVXdbKIYdiFiumaGCFtpyvauyXQIRuSSlJkdDRiNfalhzoYqQdxzrBFlYdwNZKKThHpsXFyiMzqgqjXKIzKJjPURKMmFkpTCAEoRrkvkICkbuSkyriLvKVLUukOgmGUDcRsPQNqivktmfMryJpLxtxSKVvWoX", "c_map_varchar_2":"hYZKOemypDEhdMtseoZxncqLmSLOSFudStDmEQEZaEFpLSJyETWlghMPQvzXeCNdLwRMBwdvjZDEpIfcTUBZAuDgegGCrtcdgCfyaOqRZaqFhuNGgHnrTkCCzSaYVKgkBKpiVdpcZOtjIooRufLICaXIeQkloQFgvslLMedsXeOxhhiGXrrKqIoRPtBoHsrYBpSIvmKhoGaHnRtCZMwfcyAgDAQMBcaZgXIBBxumagGTptBDFOisRnuYRLfwSbtX", "c_map_varchar_3":"YrnlNLczewvOqZaWxYIuMgrcmJDAurWyYernncCBHkYUjASYKYzejqzREHINLMPKjRFXCcYJaIOjSjztkQmMYVGpGAGKYUKkghDEXseUhDgvcjpbLAcerXahqkbtEGKlwDobWJESursCRaOlGwMNelHhOhPKuHysQlAscDJFOGNYPLRVtjMMDhuiqeePpxnlHOMNsaYyIujHzmBgFrUoxqpLArvFgEUtaHRzTrVVewPOUGCbhBNJrRQKsMMAFOtU", "c_map_varchar_4":"vbYyZxQjTEcSmmlSCkXuUGWtPpOuIbNWNESVRGuknMjgCBlitSEwfcQJlKEhmFpYZxbcPQezOdPPjSJIpmtRAWPJzBQAkRZsjduyyiFNPDDQiPIggGXVVLknTjBKRpXYLkoepAchlQkGABsqTsHjoWSnGKmfqYCZhHuJsaTIcEicpAzFddkptZuDwagjDNhZhDQFvJkXRTkLVcwjnuUyQwUUEvZuZkBGmWaieKTdCYDFPznFabJkhoHptPuGQdVt", "c_map_varchar_5":"AzdbNSVFHYUXaKKXOzxraOvRhofjAAJXItWZmnFwCeAyHnlgAAGPWwgSgpSPyEJkEFqXRMWPIgpZoCGXxIeooSRHhTUwOPAcffLsUIPIZzPihMmkziBWQTbXdkXsrsqJzNOZuYNVyFxBrYrkJgBlvIQTDDdFOLUzWgtmLEiDTccjLpUNpaCuwMirZOCCahObYDNRmyGPocCfZWuNfKwcAZMGvpZjsiFcodNeOdzlmDLbXwSIMMpxXrgpAWaaQnOP", "c_map_varchar_6":"QCrPFKBAVIcOzInZclppLtknRMeqqiHjyuZkhfopiHfKqwGkNTpdQSCHTfrDuoGdztDykEwKkZlZBhOogJKTHlYtEoDwvpoJERETpKFqJJEruwjpvgTCnSKPnudnzlMJRrAMgIJDdWLkZtgywLBPQvXzCreMmdOyVRsIMeVnqVoUDBJBTRJfNdgEfRzlMJHfsvowdxcfFMWZKFEMzkSahafzHSDdBRPpcqcseeROMQaryfYmVObEGSoBJWMLjGGG", "c_map_varchar_7":"rcqfOzyMzcclrkvgDdjrqqRUExMMmZeTNmenkVnrhkaazvfPEXVKdfBcRJkcFvoXjTpRjVqnnxgcicmPUvUAnpIFvOHvUHgDISZBcImDgqdNXPaMWvFGuoSDGnOosBCryAwCuuWcpENMwrgmWtqHUAjzcyqpBeMeNfRDqIpXPFoBPsojxVHTfMotEGfQWFpjzoWOGNZXliZntYKVZLyIDrATdDmmJbGTSQPmwAnQQYsNGELeSDWTTjDJRpfRetgC", "c_map_varchar_8":"EMvnuhKeGKVXIXgsTRFCfpUgBGiiEqwRnNCMYUynyhLPBosIxLtCVFNqnpjgyyQXzMXWUojnYWFIWkcpdZXhoNbbGxypdWUwZrLxDEqMUnqnvOwGrXgZnNeWeiezndjHRrERFcalSanzPVQfTRlMrRgAZBYjBgXmnOpPTfvmsnprLEbuyamsbAHXToydCorhcnyVyhytOhcBEwgJiCbDQasPORfrezSzcXRkgxCWzOSTLGDPHFepHDFTgIbKOApx", "c_map_varchar_9":"rBZgEloseRqORcVdNRCRiMTbPPgbVHAmcPrlbOEGsEAzLFImwePwxAcmjGBhKiYrURSBgVPgvCTThREgcKzvaMfdkDfZvIYBEwQYrXyOwUEEyXtLwJDImqorsvkpyRPHaELWkEVWEIIMvHZyQBwDLaViDwYsCrorMtsNErgkbYTJargKgmhUClDUAhhRDisVlzkjRwvnZGaAYjYbxFIFVpjAVNICogPHLihOYWxIEERgNMOUtFGkPfyLcEEuvlAY", "c_map_varchar_10":"mFHpHvuoQTWslWupMCmjIkQmCjqSuPSfmfoHIDFWUaNMRUezuttaoMJEHIJJvurrjnnJxIezoPBJZSpndmWoIMFyKvszxJzpTDqoTVAtyEBNviuQrdWupfYuEemvHmeuVuKXwTTDmohbUtQFEDFflPmvsneVLtOIJTmvglYQxbuLMkJAOkevVObtaBskKgsUnfoVTzmihNSPAeiCRbyfKMQfHzetDTmhMAsXEyqljbGNzGGMiYxoCSjMjtHhicrH"},"c_decimal":25.1818,"c_string":"jLqandMjdABRIbXlBjhneICPbeeHhccCNEYriMLtOwuNggTRfULMEFqbuVUVgweRGPigaEQOgCYlPJZThPvGYyciHFgKSgDcRMDUUntOkRcfKLcxVDFWDhKXFRqYDjbKNVQFyJgwOvMMKdIjAYsdEFFOAFQjaPPzgRaztkGnWOtlevRQDObJCiUbGBfbaiHWybFyBIkiOXumPeMEkNAeEgECGGpjsuSohfoOjIpdudWpQVITTVTNEQgdiabmYuivwuIDKKttrkgnXTMgZzVmFRKoeMuEAsdysoLYVUlJVAgSWJxZszOdGFsnAyWTjtEAflgfnPkEWEOuoZaApHiTJvEzTrErsauirZzpsFVgGHmRZtoZfroLsueCMfRfYcdgcUMwQPQxgKQFETjlkscSAXjSGvGOBGsSPlUlpcNHlOMNKdBATMbSbhLCKZsUnTjPTrIXNQpOojHAwtDsZkpXapAFURmwZZaqqhdmDoNXmSMeNNBvNuoIGgrJgieAkQwL","c_date":"2014-01-07","c_array_boolean":[0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1],"c_array_double":[46.09779900199579, 84.29931933104022, 48.70068444883522, 33.38474963039669, 63.11126593144217, 16.968531259173098, 2.0339019260026223, 22.946970891338847, 65.6224450222313, 72.74969085676972, 28.947728738631252, 4.865119342899398, 8.792381168338853, 80.65705504263653, 92.19614898317616, 61.86974985534464, 96.7275414080206, 15.677066140436004, 29.769242906453048, 49.50066670411622, 59.50942156542281, 41.441105350662504, 65.06078363652884, 10.687814068316094, 58.05381503920015],"c_tinyint":-48,"c_smallint":11438,"c_datetime":"2014-09-17 10:18:11","c_map_smallint":{"c_map_smallint_1":2044, "c_map_smallint_2":-2944, "c_map_smallint_3":-22276, "c_map_smallint_4":13159, "c_map_smallint_5":-27383, "c_map_smallint_6":21915, "c_map_smallint_7":19337, "c_map_smallint_8":32375, "c_map_smallint_9":21138, "c_map_smallint_10":1067},"c_map_bigint":{"c_map_bigint_1":-8911862812214538874, "c_map_bigint_2":1009653907566817342, "c_map_bigint_3":892158984417092204, "c_map_bigint_4":-1517930532148692879, "c_map_bigint_5":-7956353276658039149, "c_map_bigint_6":-7360698985041711081, "c_map_bigint_7":-7787657157924447958, "c_map_bigint_8":9002380415474428329, "c_map_bigint_9":267206934450468940, "c_map_bigint_10":6817853124938531843},"c_map_date":{"c_map_date_1":"2006-01-27", "c_map_date_2":"2013-12-11", "c_map_date_3":"2018-01-11", "c_map_date_4":"2003-10-16", "c_map_date_5":"2018-07-16", "c_map_date_6":"2000-04-21", "c_map_date_7":"2003-05-13", "c_map_date_8":"2018-01-16", "c_map_date_9":"2008-02-13", "c_map_date_10":"2002-05-05"},"c_boolean":1,"c_bigint":-7384936751832416448,"c_largeint":-7605096103797915784,"c_array_ipv6":["FFiPgDfqHi", "WSdgnTnvCj", "AmcdgceyaD", "PFICqCsfDR", "KGTclmzxKR", "MPPmuXyKUG", "vRlAneVfOi", "BXFRNEOjGA", "QFezchWudJ", "aMPAIqpWIH", "ZTBFKfAQzh", "ZGPNZWNmNg", "ifILxszDsg", "fQYJJKozEA", "kBIQslHMkz", "ZleOnKqAWL", "hTKKXjlflP", "RmzcnxvsEm", "dIglntLbSD", "NRGahwxmXW", "eqyUOPSkwF", "pbGprLPSiv", "FupsFvgNQp", "yWnmLsZTIJ", "RodQkHCfuL"],"c_map_tinyint":{"c_map_tinyint_1":-99, "c_map_tinyint_2":83, "c_map_tinyint_3":126, "c_map_tinyint_4":-116, "c_map_tinyint_5":-68, "c_map_tinyint_6":123, "c_map_tinyint_7":-18, "c_map_tinyint_8":-8, "c_map_tinyint_9":77, "c_map_tinyint_10":114},"c_float":72.90675,"c_array_decimal":[93.1903, 8.1575, 19.0120, 0.1613, 8.1268, 24.0851, 68.0618, 84.1244, 71.1431, 53.0767, 92.1161, 43.1323, 81.0845, 3.0351, 49.1042, 59.1126, 67.0244, 75.1094, 28.0959, 82.0313, 29.0938, 99.0675, 58.0669, 72.1334, 37.1525],"c_map_int":{"c_map_int_1":1975020930, "c_map_int_2":-1209277145, "c_map_int_3":1653355264, "c_map_int_4":-5185545, "c_map_int_5":2114826237, "c_map_int_6":1505602680, "c_map_int_7":-2058269110, "c_map_int_8":1579395343, "c_map_int_9":1334529977, "c_map_int_10":789828044},"c_map_decimal":{"c_map_decimal_1":2.1957, "c_map_decimal_2":30.0729, "c_map_decimal_3":91.1512, "c_map_decimal_4":64.1304, "c_map_decimal_5":16.1417, "c_map_decimal_6":12.0952, "c_map_decimal_7":14.0648, "c_map_decimal_8":44.1598, "c_map_decimal_9":71.0147, "c_map_decimal_10":7.0487},"c_map_datetime":{"c_map_datetime_1":"2002-12-12 03:32:10", "c_map_datetime_2":"2008-08-07 17:19:14", "c_map_datetime_3":"2000-10-21 10:34:39", "c_map_datetime_4":"2015-12-01 18:33:30", "c_map_datetime_5":"2006-09-18 00:51:42", "c_map_datetime_6":"2018-12-24 01:30:54", "c_map_datetime_7":"2003-05-28 15:48:46", "c_map_datetime_8":"2013-08-20 06:09:37", "c_map_datetime_9":"2009-08-18 23:32:50", "c_map_datetime_10":"2007-01-04 07:14:22"},"c_double":0.39923752576237104,"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_ipv4":{"c_map_ipv4_1":"248.151.15.227", "c_map_ipv4_2":"162.42.210.179", "c_map_ipv4_3":"30.55.11.45", "c_map_ipv4_4":"132.17.210.15", "c_map_ipv4_5":"37.179.123.124", "c_map_ipv4_6":"143.60.163.123", "c_map_ipv4_7":"77.187.255.163", "c_map_ipv4_8":"95.155.31.51", "c_map_ipv4_9":"245.146.136.173", "c_map_ipv4_10":"234.40.239.226"},"c_array_float":[13.077698, 46.02788, 3.5363996, 53.054527, 76.796265, 4.1405253, 1.7387513, 86.73234, 97.84499, 22.221447, 100.80074, 62.887493, 80.50462, 81.275116, 81.956024, 99.99945, 58.3043, 69.08751, 83.710846, 6.820473, 68.85469, 63.831856, 87.93081, 66.69466, 13.141209],"c_array_char":["RzOejIXsAj", "vovvZKAtox", "lNZkuMrZph", "rHgQZkpfbF", "UYtjiymavw", "MvyfnmozND", "YLjqZGHdfg", "IGeLIqQsTl", "myrsUTpFVb", "bNvswStFbU", "AafHqSgxHp", "itjWNHphvb", "gOxnqlduBm", "kyyNWFrsnl", "YATDmWbumh", "OrQNLHFzpa", "hcPLDgRCXj", "TiHBZsiUAZ", "gJARMOubtr", "yICrsPAZmF", "VJJKneDTcO", "sOvuuUygAj", "soULIjigoR", "sWHdvagdev", "HTHWBQQgzW"],"c_array_varchar":["UCUlYxIcVVNzPflFtMfuaTaiVtaruNSJyTyCJKIccTDBIKJcoNOtmoBEtRCcsWkFsPiIESEDaWWlizlSLlaSXBIEHrgVTwZcDxWjNMiWxJjeowGeaSNfGaiigCYLxeMDieLoFWHSeovFdDinKULCfkrfQOIUXqgoWUbqVoKpQFoOriNiPSEuaIOHipvSfCPsfBhneJQRDvghdbEoaUnxgEIbYpmfeFngovroGJSSggWpQhpWqSSQuOHITcWneLXB", "rHShxZYzOYAVYqYmiHmbhLJWxMtIhoKyXnRqTNWbwNdfTwOMHyGVpajeNUQDVXjyfJQXGYbRipNWKJbPnuVqZXzvOOPeUYEdWhXmuIWZZXxygdupFNhpFXhSRICOHEhOyjGoVRRcfMItVbKCJAdHtTvnSGqLvOmgqKHeBdaUFSyasawIzhthXYPsuaPYYeIxUUPMwWTEKXKDNWDwHKggJxWokGBoPTxKkpuAZmOlCKsvlUPFMkcSrztySePWRVwJ", "KMhkuOTVfRaPqnxVORxOEKjbrWGKeagHGOnGLFwbcAgdetQjCguOnosxwfxGeDJqpjMPQsYAVlUmBCwMatdIHNTRnWqLTDhpzGsBoeuUMsOErNbIBHuPABHTSfcMwtqycMuIgJBAtJzLjvtVmdlWOFpOGnTvKwZbaOGWpBezpjDEVoEiXhixFVjDsRGvJsVPpDMDuJIesNSnRzRVgxKUDErUhSLAmZdUOAjbtWOzdvSCPxLPfzgjYHydtaahSjUk", "TydyuVIDqOUgWvtLPzrOnKHvdTSbHetVKoEfgHoovgpWbLXSRMlGtaAbsKGgCMqbuYUvSxaRQJSJnciEfnCXHmXxTQEKcXQKhJZFcWXBIsRZrvupbxwCamneSAnvptGivHHsDbbByTBfJaXLVEJddWKymOakWdWWQgMPETUlQfhcQfTbTVDwqkdiWYnrUsHsmHUxhcMGYOvCTpqhVIogUuXNuTMAiaYGyJaFDOLEWsbocIFzqlEKUjyVBweHGrdt", "ySqXfXcvKifBfICUtBvssmlAhQlfQYAwLlRYtigvioisSHXVstnvLKZEGvYjkchQVeSHzzLxQpIREuWZTDcazkQfWuvZNSkXGfopxPzMPwjdQeWBWvsxWJRzfCrAZXiMYwwwQqsVQWNRpHdXbjsoLzJyhrQhVhiOdPIKjJQDakGmeozROcxAexODQAOAoHPCWorEyayRksvtSeoiboocHlAmJqHghBLSelwcjMaYYBFRPAlBlrXYpadWEXhRLNxe", "TjlMeuzuVBZSdPWaMqoXyBaYfPfWzUTjuovXqGPQVqhHJdyUkxXYklbpZAvwOftYsVOXqrJlXQUXQSiRqoNszVnBtrVCFhLsAVdEbJyqBMzKTvTaPBvVlBHgdWivTArFJGxByBlMXLScrRdcBqtVRXeVVXXOgLoZEbpZFGxOFxaHFXruEHFdMUKQOnOUnkNkRtFPzAjOMLYLkTwOViDAHtgmzQSolxuhxGZMlReCNniQxyFUulDIhMxfMMAZiXaS", "NXgdnOdvelEzMcyJeFbsDaftGAUjKYkzZHsqMfGmkQPnKpkXhBwuxogNjfEdOorJRYFbGesUmdvHCxytqHBVmlHRIUOshdArzNZgCXNJtPJOwKWmbbWDPLHPnDpcDUsObLZhbcQOHVzJeQWWiPRZHWrBPQtWksYfgDRvQJJMzOmfnhxGxVCxcyQBwKUAULWOLNBzCbsfftEbveZZBVwUQDelGTqDPzQEYFmmjZGHERDoYTCFVdaOcJSzySDQUdfZ", "djYvlFLwMUJQMOAnVDeRwqfXpgGurvjJBJmjJhZrGggTtnptFEXeYGaWiYmfvStfzCDhzUkNIlGpWUMjGxRmGeFfiuNzojXSwBolNxbplievEAQZyZPPHSKrvTNteBKfHxDwNPEsIaTJrXPpqLxzwsAhcvAHLRjAqxtEzEHVGLcJvUMCxryLWiRITSXKOeEMNdBYhdAuEsjZGFKdsioIHmGcOchoVZoAXDhcbqWKbgHtgkXzBaUvYgxkDGANcmPE", "mjSQYRsswPIPhcFBNwqbvIeWbSVcaLFqYiqqsXVXHXKolFThFkMMcGqGgeIkDKfmiMsFWzkZABjPOMfmvjgWGfyMebowJDJIESIcmOrSFdACQJdOaKJXZfkbgrbxZfnwmZcevjgguLjdNTdZSPnxZCoDXSsUrbnIRDHJBvSSmLmgLcLsYyTromrRNZoMxOvyPTmDHJGppPfSHmBAZwOruqwoNzEwCXLIPeSKwPNGyMXDbRCOuYnJPvgPjhqolrHn", "rOLRxNqIwzpwzVPtKVscGWmgkeGZLkuObcUZsXCdEunskEhVazDilDZgLfbNMYAEiFnwDCBKowQDWncEPplUfSIeRLZkEXaOujpKdSglfHTrXTtovdibydqToPXBWMGTbQLMIUfmPuGaeDrIHXMBnjSaddpxQTXnpOMCtjYTMNaDTGxJvRbfSLkdJKffdNfZGpJhchQiPQlxRLsyKKhtSzwmxapBZkvAJklvMKdibJTenlytHjMmPrHOWhjHJgmZ", "QKZHyxnCoBRKliEjYCPpZLxyGZxvPCLezfaLDvZeAjRPrBvSKHJHpnXscMkqJqpblSpAQVUOzjuMqkQSPZMKWSOuJtNrHyCbZfNGAvADnjrypDjVUzxVBlwKkQEOWpKJZwVztqJCBVlvoOokpctIoFiSHBfzaHNORUBSrXpRgheOzHbzfpIOqXkfaCeWxVZTENjNDPAmUHocQqaCJuElYaVKbiLezTQbXPclJnEWyxueButYGImJoIiQCqdAPAcz", "YJEXTgskdqYmtvQJuptzvAQDXGpveapiMdVhFHVNKOUCqqHOcGsRyeESSIbOxlsaZsfpTwLxzdAAJGqKhlFabqFfeXpoRITnGotdKWwPbhIVVwGBGCNQqbhxECJbyqWyEUnCHRzGLgNXujcneGELdKhtnMLWTQSfAsViOsOiDPOqqiLyVexjHaecQavxAVTzZaaJtRNEkgybWSobAyWmGxDRbfhvsTfYiCeUgVKkzZuQmthRyYVSLBVDioITUifK", "cvdaKACOPCAjJCchUQaTBSrLLiQtDivlZtBMNtYGDYPzfxlMWxypBkWrnLqsPWQRUFSxOQnoPHOaoNinuNQQAeKSZUlSCDnTHNzWyIzZPIVwbNuMbMSOmzcPMRjttrcHMREVsFGsoEvLyIRxoqUAutteFkwBmHRpyQusvZnjPkdJPIvBYVOnARVOmWGvRPCnaaeUEFmyRmJlSOjdAbMmBwtSWYTNjxeRMaitQweapIsNizvYCoFdUBQCVeBcYIVB", "LKumqeCWOmzSBWKhTKgcUVAamAGmBqzToveReoqbxOntDMMVQtslmVIDjDoZyzMQqHRbhZmnJcAbPSCnZJxvaIuzTyMMGydtUInEgEWHxVEpVYdwakotVoqEFbsXEmKyHnxKFrQqMbDxeXVqsMlntOvzmtCcFmxEYHGwsVzUePngvTAimkQyaAjvxGSbcZbOjkuszHIJWZEwthANKopgsXVljekbZwNqrCZoimDkAJqQNmsVMSpaYTZAjiqIDCzq", "WocCBJBzEhAUxwCzYySFdxEjcyzvizOwUvttUwjKleWyGyTRHZpPMHMaVWPAmomaicZJKxZLmDhBHGVglsIcXFXVgehXhDtUNMqlNrfodhKIMHUBXrwIYFXioQZOecAlGaGmxQFIjndomtEskXBKjBngJAaEhktPikWDLxrvUmDxUAxKFKhukXtunjnsqmDrsJkkQQwoynTaKBTRgyaKoKxNDLBSWkBsNqApbbqEZdqFBkGJxrYnHLxNgxGKwboo", "DaxQUERblNGcEnHjJekZSooLkRFzoZssXlOVWViMtTLrgtBrermwmNYeiFeBKvOJAbCeBXWWdZSKSTqHBndVZsunVlHLvpTJCMvrNdiioQuuRKQaYDAVDINzJoFubknfduqjZfoahUmbLFJKmGEvVfkHhOluoNmyImxnDZwjEMwPsEgXhEdOrSNBembSkrgmbwHaIoZaSfBcLnLOQPPTvkNbXIiqtzUUUUuacSUQKsgDzsGEGaCOQPaKVQbvEHrz", "ZKLZIQOQaMTHumAFtvPHKbqCSohBgSOzTXJxMRulYYTDAKCXYUxZhyqhohxRlAsettnhWScFGoHidTILGummsURNrhYPlgDbSyBAHxWlEggbccfJSWRKxoGQOWmTflYPWXkAwwzyIlKvKilgwTzgBDLvfuhIxYXnGmhVzqINMsrTucsSNymYborqeZLEHVVftBrNWjDYwfUCKtauHoRuYBMwGUDezBWChTzusRPLreefEAheGEIpPDJwrBcGhztL", "PORpmvVyNKNWJIgwbsOzaKMpTtoytdzAqAvDxLZXSFPPhlPVrkriOSWfAIAFINrlwIZVxnUKsoXgoJNdCZwAWHndQEdFIQudCWLMxhlPQrzAIQXeztBRYxVabSwaneOhZNdjvOQXZbVfZzmHaWxHPMHTRSnRoaNjdMVUEQqqReQQRovHBnGyLNmIKzPRzQTrqnhjDhwLOKEhlupefDxgUlohCwnQDtzUPkkgkJepvrFmvGcDXnvqiISuUGYUiXYY", "XDLUlGJYPLzzDtTuiqYbOfLmTTtCLixGlEoMtsJvHzSnkdUXWhnowIbNzVImhBTURwdDVtKZgcgRcSENziEaOYUQEagFBqAPzDozwUesANAYhDteVtRMBMbHDfujhnpyyVJzPXqmekNETVuylPQrBDJrJoNKMqMzvtTuZNFhOVKeAZEPAuWFGmnRjIEgvGFagscbiGXMLaRjvSqqbvbiscXKqHusLFdzFqYRpRiBELcxNcHBMCXgvcHIjMqZDJsk", "oWWaMpjBGygkbOickgZFcMWJpcEFbMDJcVJOFqkbtHMiNpcxQDWvugDviKzJNHjWaMHfRhVAXazQaeyaynDWnmwhSkcxNtirtjmczzcblddRHQxXftpCbholitfKNfpVdxFhLflCPXqQFRbspiGMIXJGzGDNwsCFuHBffIRCtNDBStYFVtrVlfQLISoMvZVYrtCPlkOjAVKZONjijJBWudQUccALuSXCuVSIbezJhqecVfJZpwaklYAYoppmrast", "jqpVgjoyfhwbKdGjeZhQGFsNLAgpgAFjSBMmYpDetFXtqGJcdaGfMpdTVZIcfAcMBcsTayOPHdQYJbbsqoPpxtssXBPuoFrNaxuYvvQcFDofigpbCHVUvftuISnuakmoFXnPSHbxYXpMbwNPtTsFMOscGsZVzCSqVDRoQucZdSGgEHTRolOoAeWwHpZRoIEZTTQBgwWajGnmxNzsmQcNFWtftVxiycLhzkSuGTDxapyYlsSwrnOTrayENodsNEUH", "HGFAOXLQlQwGpwJZMhLDQMJhUUBnjRCIAtTOCQBBRKNFevOLhUvOCHnuhFzFwQADQXmNDCOWEyyeWtGHMEFKBBLvsLVXlueYHMAOvXYWaSIQrcwLBcBMArgmLTaiXepBTCiKAFGYwWBZuJWDBVHTiqkjXFTKISbEXZGcOSccuCmMBtSBuIqHIxVjMkSbPoqiWvfLedpmIYhQasGLJUAkqhgLwtKsJOhWamjuDbCuKBHdBLHDMoVVDqBMBiIFspIg", "JLsJkGlNjwbvvpEFvelDTuBFUSWbYKTyDonGLmIFtkeaSHvzgltJaYvnLBbcsSgMiGZnoQYdsAEUvXxFrbYGEKgCCkwLvfUgycZwxGVliMyxZibAleyTnZDoXrddywEKxtDJdofjFMwkXCefmusnMemDpFCOzAkaRdZhrwnpmGwFgdjBGxHMrwZtSkgiXgxRvOOolRVuIsGgTuSlEkaLhmaTVOeXmvgBRejFVtfgBnQAOEUIfRjOtajZEUAHBLiA", "lcbaaLiydkrKMeJDCDEOYXcHZOcoeYKmBHZCnLfklZFkZvtNaTymGgtYpspCfVNLlEGJVAZlaUevauQkSAOlzQICakUCkZEMTdAjkLTYOQVLRtmHJIPmLUpNxHCoKkJABoLYBNFFNCgutreEvKjxWdPjwklvskiststpTAAyhEDKvPjCDXbhCkdCJddknFyWZifiTVIdHoQagebySrXhnfQhioohQlCWinJWEWSwhkJHjJAuFuNwgqZeVWsNMFoE", "BPembUXKsFMAJarQssXcrdOzKXRcHbAKIIjWlHcupCGGNtGaPeZYizieNeZOmjNWVZoYEiJqljFkpwngLnBRNDJWYUDgArLSWPvALYRLUVoPgKnWyTljBaMQYsibKJJxQbQgEqavtOAUUhkoYDfkydnzkDAAfqgjKvfaXPCTReUqtPIdpTgvIWdDyMVDjDINJExjtyRiNfSdohIRlqHMcvBPOPoqVOaXrGFczcUuoaUgdRCHEeeqjAMdbCiOEXni"],"c_char":"dJJlEqzYBZ","c_varchar":"time","c_ipv4":"46.62.176.206","c_array_int":[-1734692536, -2036290599, -1938445579, 747532012, 1702788746, -2016439120, 429077744, 1412992981, 68455994, 948549473, 272884471, -901649579, 1519616672, 965399925, -1026018084, 767175686, -833224743, -1991873323, -1908275542, 1395598880, 1798963929, 1838978635, 1852403392, 957278242, 2106471278],"c_array_bigint":[-6346587549698393476, -6017712624673726658, -8760656830186504892, 870405636640378929, 456773750139344098, 5448214776207698125, 6366570402790854166, 2101060775498911224, -8976952437727057227, -634312604292096275, 2458785348010167780, 5917230117092493621, 6879308890267414726, 7464590403831302614, -8798773639449236196, -7806259735992085524, -5041562235749512701, 8074531844570353281, 8977291138496417056, 225134360505616607, 7742868556257052983, -5064410504062110037, 2403385773581222635, -9178496439271250161, -8336768707718775476],"c_array_string":["POOQCchWtftHzHAnqKqmyExCfAKnwRSXMliInuusGoBaPuLngpbuledCGeiVCSMLbwibdpHuLSVIQZLHfEDMWYeUPWmBYdwuSyaQHGBYOKwZVWDgntsvJGSkBSDuEXbllbsBBtYVjhqjwKASWfOFcVwRERNwqquskENcQSUJGVezBipcWGaibFwWfgCdNnqHLYPFNYUqdAXihnPCddWXTFxtsHsNiVmSEJWPcqWIszUqrcEYMeTbTneyUqRkyPlpnDmllKMKCIVVZjNOJohPBOMsuejInabwxAvezkDroqKZCujIppFejfTNFpBQlZGmTtdnhzfgGiyMUzaawVnZzKyUGuORqczYZIfDTiKPfbMNcqxXqFHLbImSFEzrQJewyPxXAdEasJLMVMMUUojEuKZIOymIxotwLaHGGUHgnHfJTesFIdAbqdUKRwTUozrpVcTlRmmKDZwkbPPhupEFzNWAJXnVWxTBCAnNFBtonnuHgqiytpVRYwJeXzfihJuN", "GvPOgxJmZRcppyMlYyNlgUSMPMKnMpTUpSKbliBDCLOEnofKdDmjgvmXKVrIglvyDVSlaRWNFmokMzKlTpWgpYuzXCTfQjgpSTRsJBNJIoDbRqCgBwfcupLdvRlisyLmXHLrKyMWOPUywaThBAyIgkgOzUpzAddYDFTAXQIcrNIEUThDxBxztlhMOlEmYEIopgvaoaeZHDlySDBDAdbjSumicQXxoZUPAfpKqaSRzjAVKoRsKIzHKyGISdlPqkAJaOQklqMVsHNsbhamlsRTQmkVwzLLVXsqGSZyCQSPpCTxWSkazeMkeKkiZiRATmjQaQhorwpnyAwRDscpCkbJKoLjBGtbaphGVAxTiCkvRZCwsZYfOBiByQmsqBxZAewlyCIXqzdlOWUtvmEXIXqUNlCgCqrpUWRjEWmHVoXZYfvgTpzKZgBjzwVMdkzGvigSsGdOsumQQKglQrtdMQtauZLWPOMIaBZDUkbvJUvnBgIEOOnbMrBcqrTjwVKjFMHX", "eBwXLFlngwYDEsaJtDhtOAbWQcdvPqMmzZCpldBhZaEihsnWSwNSMPLEwSbcZlNLFNLGJNXFJTOSymHzMkMQTQpLgMHVkjCjvcWnqvINxdSTlXlLguMBDLIOmCPBvKJdPoRTIpJSPVgDPLSCyQIjmQKIznikuVdKzjTVBvSMVlHfFpcpnkgCBgWBiuqUiTYkzsnlZDBrcdVBavZqRISSUPhPJeFUJAVHEJXAROxUDnxDUBIljRQHYvjYpHzVjtyBiQzbtYLfKVtNxNPOIVgVyeZniUHKprSBYidtsdupjHltRwRtLSEZOhvTNOFrDQauQEgXgkqxHvhWhEuElCGKsxEfPODztxwePBkMKVVJLvQiWhaTaWwBoVbYfAZcqUwonMxnzgiaDrQxlyHwJoKeCGXYrscGyIGmbxeTyOZElcfyrmURTllBftUElnGHTwfkvkjoqgUOykPfPaJxQLweySkRJaMzdqTaMpDaXycKNCCfjDBdzsWxHSflYQdRFMjH", "XcPIFjPknztWfguleZZNjOFQKbWyNIsJJCQwbGzMqENBdtDwPkUWvQvXLGVWDzJTaBmVxsNWogcTizgIYwItBaxTwtPVojKqGjAavgbWUUwiXUENzdmJXqKspeQKxvesGYZdKarMtmLKiPewkmSkHjLDMFTLhGpyTvmnlCAluzLUZdLcTiLKavrTdBnAlqgjtwtbgHBNfhJIJJikbxisZrLHBYetQCTpzKTaoiJrNsEAPZBzSQYSvGpZAvslxCPYBbTYKYYZOgcanZVucdCRxiiUesJnOofTYpHOSGqeKJVlofJHjPtjJbkocKOrfGIWFFHlkFshNRWzcFHlNabBfYUUsGxQbkwTfVMwNkLbUSAbdPjRZjxkEBbDRhOKmgVGdNhlIsEHrFkukoDfKBaNhIVyZhXcynLGOXOTlUjIuZXSNqjlTOGcQEHosrubHyvxwMySOTCjEMpRvQJQYpyFhRVevcqkWDhjwlFnIyYndgmEWQoNFgVpYOCtRWmvpZMn", "PAJZIFdgoyrIdEesJWqXlzccvVIdPhydEbYPHlypxMLLgQVjQYiElAwJzVAZqxrlcHaKcPtkMcrXZVvZHSqOPbvlZhnBlvlCFJljzdOBkwuNSQYqjKDNQlZaWtFzbNJqNTGWWpTvBxUOhhDogFQFomuGamkBxmpOFNEnPdioGMWQehScHhUdtqAFVpfHdgAJsyydIPEQeXBGTaGKEjkdUiBxXxOlKLgGtIGprFlAZbOoAnsvGhpOFYwunjJymGAPlagXHirVUdWOAfBkfOHBAqdKajCiUBaRRjWyfogJoTeLVisOJzUvENWqoBLlyKmKpEDQPeogepjflwtpIPdjwbhqANFkBHtqkuRsIOkeEveBwUComIGzxWidAjmHppsdQqPBUakjbnLKNwciToBFlnRorLiQcfcLNLySqRkpgsdTrbbaokbXLzrynKZiTjRMmHHVucLsoTjVJJpmajnypBrpomyQsNcDHPPKanZqclBfZSoIFVWJuniIIOUlxIis", "yitMURimZgcJsaguGrXRjIIfijzCDoVBkNknyMapEYnEkeNrUUpmzuZgoOQaoaeHdurVaPqwMtPZvKqLbpvImqRkQzillMKJfrvbBqDHMOuhEIMbZGKXXienFtjsbPzApTErFIVudzNRELUmlioYNReEToUoWBouJmzucwZgMDvRHfaLAVBTXVzYzbTFkjqqSpWrkUJqlKhRLPvdniSFpCRqzTOfHNSOoZxFAldHALkuusSBXjsPeBwIeJsyNCSbtWqYDtxTaEGLLkxWaJCtnkFvAfPkasbWISKemKbENYTHEQrcJmZFaRogEtPulDmFJOPxAMQQzgYlkNxYiwOnSeJRDiUWvgxJlEqxOcNnJoDLbkzWpitnOmIsGNYXYGYFUJVyUehUbtAliqSqDuxxlNAOdNnOfsYztOYqUQBAwmipEEwfRuxNhpFobGtLZCqewLsCYGRMflHZZgzjphBXuUBZfksRorjaoJPIVGVnmEOSqJiYASQDzrStZftWCFkh", "HKUkrMydoBqTbVKiwWEcaqZYRyMmNhFtzmMcEQfFalJtZccheZcDNIXFoioUdhWAtmPFRugNVZevFMGYvUcPcnsMlEAdhRpYGZWYeSyYciWWXYvdiwYwvPeneMMbdVwlBPbCtxtspJIiJIWwHlTrwGKgqbYzsePGjJoWyGbzUSQGAWGwposQLAQrUSlpqUjbnNWQdJvxFlVYqTDNJJEhbnoJkgzVByJTKgmxnSjJepRMKzmQyocmrzewOddeeMIdOgSHpLLLvqjYiAjZFbcVBPxVrsduOaKjGEIGGpMPUvIuJwenBLUgEidylxmaCqmKxYHyGVSajvrIHXuqsclkNJmbFmMTbPHmPRwzYTtWjVorkTJNIuVcfhqjYtTFBysSpayRVrxNVZCNfLxpoVZIltLFCtdUQXZRSfwLWxIewiyxdYJBPKCJlAgrFrIFPJDKFYzySeYbTLlnbTBXCanqNnmMzGcCfBEstxvmgMMwGXfwPXdNjVNeUfFxQeFUqfFT", "IywXLMYEuwWnTBbHqokQOQPkSuIrNSDFQqQZfYymjExeGkTBUupvNnMeyJggZOrPdLQYbpBRmWXYHzhOLvFNLkzyZpnKXbEGeYlVxSazsDExmhOwQkEmoPAHXEWRvwRFTELURTTKvJbdfhInExtqzoUvOarNpRxFDfclzuandibEhjSJwxcmGruUFzxbHjrDsGluPEWSnpwskccKrhJnPFMUFmXnkbJeNOukGZrfIKtfSVStHMSEfLaiOOTUBJMzXNThVIbgfkVlrxhgXSqjXpHlCXXqZhLqVAVEsDpQKxfKTGbAKjKzVGkfCAMyBcsiZhwQnBewdLgKIDQekCWLsOrOZGtzoqRXsnuUJVGrwpvzUxiVbkMWBWZfnzJuSFAqCMHciUUPOzbJoqRmhdDBUXCPxBmqQvAVExVkjmfqDNirWNdXMusbCeYVgLaCIJGLYWlskrYNfnHNUJDfGiEUWoCXgNHhBBVFSTmQhqkLIqOdihZOusScTffDhUxCXiKj", "STNjwoURzZkGuEEqKlBOAGqvKocRnFOwMPsiRgjuLgTJSuuRsdTRFIfnGvrexjmGRioBhxzLbdJBoJYKJKlsCFJElqmrKEWJzGDaGlyOOnkgClZSNADvkdoiKmUVRJSIZuiqKnnxhdguAIGuhjGoYTGpFqYxkSwWYzOBYYMAOYvcngnJIFLORrxtWprGSSoFIBhFLyzCQURVGRVsxyjHMIfYMeQqQGYxmkogJfMPGQCwnKGSTCaSvWOmyTzwzOCGVmSJLUoZiNDGTTWChFYGGAvFoQjQGVqjoeaTGYhNtJXdzFijbXYhhaQKDsKAaTAypAzufMiQgptvJgrXSvhyFhPhdpetlhNuiegSvyDoOzgrqnlmfggSKaAHAYyhmubqXfWMpKqevxzjhmWAqPESGoPaUMnQUngZscHVJGOdBNpYsTtYQXCEZVzaAJVALiCmIieDpQFBRtVOgWoowKfsYHueZecWfxUSBdfNbBJJfpofcktmvbQoxlKrwsXrASar", "xDfUXzfdxDGGvQFqmjGmcLZmbCFsvIzYxFoEQOQIaIYOVerhIjVEYFPLZlXNBVDHonzQvJPwxFMHADbCCGQgHLArklwBwsOEuvYwQhxkNVDQJDVrTOBTyaqEpVgapafUMqFJGgPcmrsfVwToOXEhfQNgVCcijmhMIbrvrgYumjcdUWjFIYEzLJiWpvzNDUDNBcUigdPWQnZGcAgwMaYlGKxUhqfTAHwWbFnpKhXDBQjAzYdOKfBqzmCffmQSHTRtyYLXTLfhAdKsnCVChvjIPJhmlBMEpJNFibHutDcJtnnoXltPKeGlNUDNsdVdjpGjYAlQQtXxDqtqHYyKxOyheauMXLaGaqpnqcSEWTsSnhSuuoGVvIVoYupPdEjxdgBSiSYFxpdkhLjxpjuSWqyFTeRWSuhlkJkMdZXJIZLsLMVDvbbLMoNmucPWsWOcUMnaHDMpBXwBeZkBytkhGbsEqzLLiYCKJSBPFitqvQVinCJJakKIytDvGqmiewjVZFkD", "HdqYkdBDUjmNFNoJLjpxZoAXAVidJSdNhExJnkTxBtnWtuEWANceNajKCjZEMbINiduoptTIZVSISmOZXVmhtHUdTSPNFVKHXnkQNFiOrBjQIiRXfkcNdubKHChGwLvytXWEsXHGhKpfHJgMcndkIVARWLBaFXAuoxeaztwJYhGXHGBEKGPmpkNKclIEjpPLYInEdTkqNYapkVOjpVTSScQKAkVXpefXOgYGSEKUFiQNevWBROHIyefmNkBiVLTgdCPfOhEQwobQTkWiRkMYGsItiFQpPNFNLETGectwWczeotASivkfiYFDRjdhFpGpiOWlMrXZJQoVWqSQKKoIHFtVVwmyXzkpYIVzHPQRyTvCiFaTXVyIxjfVxrqFCWPYKVEVUHvqRhVSAtIjmvLiTHjFbJigpYNLjnChMqrJSmBFDUxCGsOdbTfbeGJZiCegPRsVhPCoaddQZMbBntbqvufsWhbqpZwbOLRyzszmJPjRCJeccqkGSSXTvRTqzlmp", "OPTShSWXePeoAPrTNphDxPnZLhxBDqIJOeCTXHmVtvXDcEPEJJNUUqtzrmDsezkgrIPiYWNdGSKAFVKwhWevlUlkOJuqqHzHKmXydyxtuhhNLcqobMaMsZxgUTWOdjkHYqOZdffGmXyZmwoFqznnaGntkjciiLYigrxtxyTPJrAuuaesTbBeBQeUTpfoxZKjcoHFfuyDXQedDSRbBWMOGlViRDiRrsFYagQBIRDJTIOApAsswERsqnJobJijWoSIknvXDeBwNBIirLxozqWIODKVFlDvuQAVtMEBhGbITeMWEalqAlJVJnJDViTIUjOGFtwBUKPjMDJWQLedqKmeyHDHuqvBtcsNKJAkKJJoElTUuicrFgIpQWzgbeqwBJGpVjlwXPCZKPWlQcYcBIevmwVDvDDeowKpxERnczSwWfiEnvwJNsuqUeJkfTSXHtOqBWbpBFcdsCNIBvMWNlumnKPTpYyNdTWmplkXclgDysPWfHIBFUepPVwCYZtydmMo", "kwkvfUTKkpNGjMsenCPWVZnFkJQMXHbfzXxOhuRdDMbWKcKdzsOpcawkfgvYdiOJsvfELkzRMuUOHuQyKQhTxZshbNezIHfejHLtIOwVpWvAxaIrowfyxpkXmgpcmvoVlPehutOiHbchKfRKUsKhfxsUmHXHhTCOjpkOKaEqrlOOfSaYFKpaXaKSFlSLqAzSOmIrZSkzEKWCpDYDZXJtrsgdDhxbSsZyHNhYZrKyktLYzXkrGxymTMSaQjvDaAYUYIfpozFubwsAyKFsyjXQEEdomfgtytRWJENJFtiUxLsjFkEtohICuJRDPgZWWsdmNoWMcFMovuZwURxaXTAuMTosgQbmsxHluDwWQSCQEpLPSIcaHJdWnqmOoSNlFxVeeKExaUncbVZDYKrqGcYMnODzBhNSvcHOjswpmDETPwUUzZuszaXcVHizREtHABkjLuVncnUeMmkdvuILQhNCVtmiviMpdEgAkYgSEXWpmMpIYuucoGRppYkndOQvaCey", "xJtmSDRxoqepMCjGeQEtsNDSwPWSkVoLghWeOZfnakQlhUraHAXSTlFMNFMONJYuRiHILMJTgWPyWDrjUhcdyblopOgCaSxEgGMBAyEnaOXpZpwbaAmARogOHfgzdizpucqPRKksGbEuPFWukkDmHRZvCRxajlFEfloxXnSUHlqStwJSlRFveSjBcsFjmFnQznoRcEeYuzTgSMLLYwSXaOykcBThOYtBHlVkwTNeDgazicIZpzGmrtgoPGmtVPJYCLOTqKTNYMifBcKspEBupXtPVSMmaUaJpKoNVHSolANPneLgWwVOweInABJVLiIQoshIidKFljovKJoFyYFMknYzRpoEZsOGYIcTlwWoVhqjCUCDBwXbyeiLoHDAhMexfavEwaugDzApcnLIWcTwsOzjxRIyeVuxsJQkiqJLSogOHLnVvZvwwjBCvKhyqYpVnVDuRIrNDjtJurenWBxPJzASySbuHuuCTLCnSjWjYThYbBhdFOKiQirJMxntcTvO", "TLNnKsqspcVjxxqndIhUlpyaevPRVbmqUmDXuxlbhQdxQVPPxCWCwiylTXZCBlxmjksLBeJyXTpwsYtdgGmuzMCquATwqpuVUlRYIjCQrvLqbDCVkoRWqvxBKZJTyqbaHiYxSPxUHxkjXyosmHZFyOljyXqclmxyEslJDiHFhWOUxcUvjdhozjiypEmaOEgersQvSJOmiABTeBuZTGvTRRypFxEQunkBMiZuzvOOLCXYanxxFyviffxJcHlhXzoVfmGWclKLmwDIVEpkheDOoVEaftDBtnwWNkXEYqwUkkrUOuMqWntoMySQnikLqhinxggHJCjcbCdiIFKATBcYOyekPFAPqCuIFBhozZvtAzRiDDDXcOxRmHFXMNhGukccUTjNVatMfQKoKBWKuHAHhcbwfgRbtsrfxYGhkFSRqInVaTTcZSKPYPXFBrrEFokqHrDtMwdpkpZqcMNdzaOrobfRWZMVoPEQpYLVADxPfWWlGsHjjOMACmeSxiDmIkTT", "xeeXLAzcmKrhTMShHRsekXZGdYJCrtpOFrrHuFTvpFlhybkBmRbCfhtNiBTjmlVrTwoQAKABfGktRFRzGWKKKnofcfyfMFOwuVclAiqshHgQDqpiqfVesYNadbvBqhdopXLIRfTsLdpRBiQEWzfVbXaLMqJlYJsIRwJhECTELmjWGKZDEtIRubuARLMQYAxLJZejGzKXvpopEHsoJoUijLiMfwqtRdsSzGOnFBiVDyhBAmLVWXnyyAfqsKABzqXhfuJsnGcaOJyhjrGnhGfwIkqbeklBRFDDZMzIrbTqWlejFSYBdbjReoQndTlNlYNavUSLIQbTufeIhhlnqMgfmHWXFhpnqrsXwoYFcfTgSgJzZanOYWRBTEkBkcoeZjHeHkBgbPdnNPGSeqEeYinpouNWzdwZJLNflNtiawVEeOUGRLEaFXPHJwDfyMOmLncxyETuyQyduwZLfIolFjvCXldoiXvUDbHyZJhKjiJvZOytohekeomkwPPtyrhxusnj", "PRhpeksqQRecxQdDcOQPKUEhOWoYmjWQoPpDRDYoLmrDZygxFDLQMxEgToCoLogXBXaTKkxeilwZYRqOZVEECBkcEAtfZcjWgvSUrSDVqrWzNDuogbgnOQwBBkVEYmHlfmmRtJOzwAecZDzdNAMqvbuMoMmxbatoRIOIFErpElRCVkCeQHAlkHWJUQmyNuSbJZHAyGmbbjcQQbzPzNWGMsaiNfvPrSKkVnogZKYwAGAiNEaCnHeAxCZpdRcVLWhMQycoBuxmQqgxjewIuAlrMDxxNWnMCJwRczlinGIJUqzmoNfaNGfbkoPXrqnEyFViuTqFpayJkUxtGljYgMSlkEZnKilqJryEPmfhpWXVXHCVOQXzQVSvnFsMtZDXssTipfsBxThwjStenJMBVmqKgcagjPBijfynHPiFpIWNMfYtwHkAabNTHxNVDrJypQRvTEghrluvEqDvAMUCCEQXOEsNBgtZZIvesZxWyYIMUjVHrmzfrUcXZMJlzVZOEvKR", "kTNlUQaBpCrMbCeJHurycNIvLjbNkiuPiTbVABWbapxoVxLNYwxmxNKaBxTLUZOqnUUvluXFSsgJLortonDZWqLOwQCRnmnPmBMuXwNSjFeLpObPaijrjTRgOSXulEIFiUMnVACujvSKwVqvoJXcnxhYTVcaExqCohOwGEpXHisrHQugNuTTVTxiKFYPYTqvbpmdijRvdNexuiDKZzAYFYJXwNjYZmgHcBPrZiNpulIIUiUiRwZHeEORYvrvcmvYbwBxFqUMzknYuEOYInxBoBJPKSUysfBvxaJKWPpfNiVimzsCwNdJRORhmmpKaRfFutnpiaXEGZuqkWiAQZjvhgFwrtSGlprpnbjLUySrwUchXOzMuDOHPpfKEXSgdOMKTVGWvIgdjIDsZtpzApHzAPqCsJNzMeAJIziIVzUklWZEbMbwqfMlIKNrCRuKbBMjazjBuPlFrdsiccjPWRzCDoWobTeCworubDpLilOlncVhbNkCVmAWxbWKgEPvdDKG", "wkUgWamoTttUCeuQoqccNASEqJVpJQNdnsRJiNOBdXgZKBgvsSKvzyspaBgHosMrVtJjcnFWUulPTaKfiowGflHFAKsUgblOwvUfeJsGYmkgiZUvyfkJZlRwdHClMjVTeDWCViMnUHjUgmwpENPYIQvnccuAlAAcWYjvSmPvzxWbXyezecXFAFfUCVaMniXnaeYfmFLHKgokQbdkhpXYGmzjMHFAZDbyOPFTZrSuwxaiEgqLNMWfyHpbHiHbkAzyXkrXlzKJvEbuNLMkOLLZFqCrcrdulpKjSaBkEJqyuERcGbbwdGivctOnPVOEEjrngJtVfqBetijTcBTCJPEFyzmmHuWFauVQNTyVOcMsAKSuEwlKVZrEKYnqsUIyKTCmLxyLrbGmPadsKohsxysDgvvKeFXJKBabTGtFKXmurfmPYtiDbYVwnhqfbGdviLWAPwpbyoltIExryVVBCXshUuEGlfeWFcWHoCzOOfgtXKhGNMwudjJgjFZHTgzVAFBp", "vTwgmBNmUgRTCuSfiyRWpjJfHUDlEpKxwYvrUxZGuwKyxfuSHVyXVOkMgKhdHElBJnfXzNyMSUxBBBSPTypxTaQwSgyQmRRUaJVmQAKRuzDVIrpZLAtIyyXosAVhpXVDJRYZcEQsQMkAnHFDZTEkGiJtVwcVtAYjDxWyAJGExcIszScRmUbuOkYJhliToLlthNlJUOsdAtsQEwKDGaBsbCFhEXtlPWiyJylBjLXWDMesNzWeukkZERAJPHPNhmLCeTSUimctdVxITHKhpYzOAxMoZcuiLlmmsbMTuhJLTFXGACFFjQRHUKJIrmcXgFaKOmvMNvzmvEWloMydhzZbfHpNfOXJzNYfZXXAKPvvhoXiGWxAXEppQRCWIzVibsnKZYxEUsIVatqJKRkoCxFhgmxlNnLNfmOiVXNIaRHOLLKFshjpeAZIkSdPGlEVGRcquNncONnPqlIkVBDNTUlersBtojDJBFQRGummNdGejifAkSRBHhmLkYGeTZCmIori", "MEzOemgZyqgQoLtAeoNSvzFOzIDoBhLkJKqZkKLKVAVIWlgZXPkrCurXdESEyNRXuexhaJGBIvzHFimFeougLtmJtLQARugBaFwvWgGMGCTCQtnnihyeYVCsfqnDTOJvVwZeYyKnCjMMSpqCPanmgIPHxPbarnOOcmNqlPuofQGVzBWzrYZIffSaXlNTekSKqYCMYurUNybXdpcrjKtydPzrbifDkEEEQqyWpRKwxaiUBrybLupSqJzZXXYGPRtjeBbmFihbvooqaLWwSEclTMGnrooNyECcwumNTHKvkhNjXUeTcWhyznZuCTJzeEyfToGlbrgsKmeJVCTdLQRnezodeCIHhqzxuLhwMASLgZuOHCXPsVQnbfcbHuheemkgvsEToZpbyNIXZZmaNGyArmTlxwiAfDuvpsExYBMZrEeiYteAsiLxoiXsvlmWgYfTVsfYMAqdZygFqaQKxFjHnrATlgfSfLhPVrdNwkNNwmtyCzmgGfApznnHXCxcgddf", "NbXjAsOAQKMYuMhdHStbVJbqGZOlfPYbClPbutgcSAUijshlwcGzmEYKOTNNnWmfqrmqFFAvGkEOgBUqwhjNERvnPOzWpoLKcUuzapNfAIktFMUJDBBtwfrFfcXOJmLONegrGTcGhRGjZeVCBjKrFskXSUOKUGvtJqPehDjybTUANgyAUEuHEjfnELgsYReBSdUjdZZQgqOMKTbVHgiZSSSsykgbGQPTJsCsVKZTGALKfGlddiMioGMCUJoEMVsZjJNAqCjvxokPqsTqvyzTnjYrBerXJmvTSbRDLrdRWsThhydWbSbMHPxxBxrNDfsfZXgVxHrZSFtoHwMkqvDKyjMdqzOSoQzTsNUyjjTGzqylxnldbDhHedcRgTduyJyVXIFojrROJdPsBLcjpgokHFVPbAuaCMEIbexIcrtTBrEYVBxfjjxNUuFOMvEBbOeROpsZrSyIRkBdCZskZsiXbmXlNNzTliCPYAeeRSgwsigTDmAVEbuxFyHCdVZHwGzK", "lJvSlVCRosOBYMDcjiVxHGhENrRuzcuOipwBezVHTEvZxNxNeanwVquUOPCzTqRcsrYqmQirogkHywCAYpqwlTeYGBaOdYEwMOVzpukuLVsyisXHwTcfrlJDGurPqtTiSPWHngUYdKoRemyLFUoqbcSiVviboaLtJYGAfRbgiUSTPnAjarxrrtBNQyRMejCnUiUEcdQOCzmqGhwhVsQTzVjNynoqiqZQhQHwByjqDypuxaadAZPFiUUEsaSccFYoeYfMidJugpkSPYUhEEYpixlHQQrSqYipsbrNHZyzwiRagCqvCqRnqyrSJJJNZFYVzWFoLmTEsNhOpJLcSmDoVLwPhJeBlGEAOOgVZhOsnTFPAeVBsNBsaYhRGLdHuscJvzmhOuekvfgypNhlLWghCWOmrICjRadzWpsFcawQzRUalZWAkNMVPcwFXauSNZMJqrQFXkAvziUgiIPAYOPPESkgLrkMKheElYYPJWWGuHlHrWdtsWdUSzsSjntqaOXa", "SibrxGHLHvPhCOqWylsLePFKoAzUJvoKomeuBwyPeEWxYplNjFyuGKwNNgiAwNaxsbQIJDqOWWGIiafYwGuSTdxDAlNIXRTPIdUdfBxPDqULzFkfsJXkdZemYIijzGpFlGPtdWXtesBxMZgsvQTYFtukQDGhPwyUAIpEFyyBmXloYvkaRTqtwsngNeEVQEWHmgxrVojrLlyniVCBCPwIyebIOBPofVNNbfibIdQMLBRWQIibOVtxZswoRSNQaeWWXrNgvVPrvqpBCAeTEwuFniqXttTsadyacCVvcBKZcKgbhRsIyjuoNelcthrafVNlMTzUWezZgsVcVPeBGnDQprUdlEAwJAlTbZsGbqWcvRTcdWwHXSymljCAWjKBZYVWfArDCKKJFcGFcsfkjoIxVWBfgYtpFqvQOdsdWENOhyGSiCMVMEdeLXRguDCAqDOFzpaffvHjHYPuUOsPbODxguIsjhZRHmIeCIwTAkezmDyxkJurkhdzKraOtIPFDtaG", "VQguMMhoVYoGdKcjBSQFSikMgVQPrhlotmtxfCdfIxSWXWYGpnPBhgwcZBUPCifJlRIxUmVTJqbYusDGUWezJoBgmdQPaCjLfRXaEQpDVnAjwwGZRatCvwaHHbxoCKnxmxSXIhygymwHqMhTsFtadXHvAVkSvyugvYtpNFXiKzTfzAXdKqeWjFefyrGsFnkzbbxUIMUIzEFgWItnHUjkzuhZdknJtMBhfYBHqCGVEVGCXZIeVxwTCJnxywnDQKBJsgsiAOaDBpvzzIRHJDuAqejeHJhzgQYsQuVAQcwgEiBFQNGHzyUAiqegAsKYXLafMVvxtkvZFZfNlIQirHLpGEhNuEdjSGKFBQeKtETYNhQfGksMfrEdPGZEwCswSobPstKWVOTHiSHbXOQMQlXZcdSqIjKIYJFvpLOUgZHqicdbOIJACXBuovJzLZmhqohPyXlOWVqBfIDBYYFIUKoPyXTQEpRoafQUdVLaqczMcrSPherzpYNgtiqzjZfOjKkD"],"c_map_double":{"c_map_double_1":87.42856700948523, "c_map_double_2":32.15771136572081, "c_map_double_3":49.18962718736044, "c_map_double_4":20.044319135856753, "c_map_double_5":35.90671762692084, "c_map_double_6":80.4576908499766, "c_map_double_7":28.342234989390523, "c_map_double_8":20.81661269621473, "c_map_double_9":40.89405417887986, "c_map_double_10":75.8564958428673},"c_json":{"emojidescription":"metro","productcategory":"bath and shower products","lunch":"Delicious and simple fruit dip","fileextension":"tga","ipv6address":"9afd:9bac:4381:5a39:391:67aa:b41:bcdc","minecraftvillagerstation":"stonecutter","uint64":978668146672903467,"minecraftfood":"raw cod","url":"http://www.seniorintegrate.io/mesh/front-end/enable","zip":"27767"} }','{ "c_varchar":"I\'m","c_string":"FpDZANtGsjkIDgZCRHATWohpugkWVeEXouNmWoFJINWtiJCxcHjjPKSmmmPUwLsyTHQOUWxECAxXEMdSaRVurbBeZUdnzSOhKOoostYdzZeEPeDpLzdNoaBPlyLhUXQDsJsszsfAauVNQaBIZSzwKGJGDjgKtMUemEEGSklLbBJGWpflyjIFlEXVquRBaNvPFgmIOUSVXDTfBffTxhPNXkyVOYbtWlhKWyzVcgJyCFVEUvFjakEszIYzxYcSbxtEtBZLtEgDpNxnvYjXqVstRcuHDHmEVwvZBXApOvqZJAUUwAeewdeBbPeoelocrYHcPXTOCSDPcxFFQrMmrbBXPygxSqCHCSujlXVmTqqPvfVxOLAXsbsLJQwCLHJgdiHBUdlAcbHMcTDahLxmNBjQoPPhfDbvTaOTrpHCypfoBgbAjURwfsCayUKhEmZxSTogGbFFLLxIbyDDIfdtTPbaPGdypRFPwZrPKmzgIIVdHyGhHPdZeBCADdvwXWyaoyXN","c_ipv4":"142.99.156.151","c_tinyint":64,"c_int":-1641035837,"c_bigint":-4271129444382934546,"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":-15, "c_map_tinyint_2":57, "c_map_tinyint_3":-95, "c_map_tinyint_4":19, "c_map_tinyint_5":60, "c_map_tinyint_6":-38, "c_map_tinyint_7":107, "c_map_tinyint_8":-59, "c_map_tinyint_9":70, "c_map_tinyint_10":-16},"c_map_varchar":{"c_map_varchar_1":"QEzutvPAUbHzFyoCMRRCYIOXYFcfYKNjgSWspkvsGujANMFjQHWdTIVrvXAZKeIqRcSfbmGvpUMBZoXAZUsfhyCvorXwUhPznmqsxFnXBOomIjPUZnjsfurFTfJdYUOgInRmLQYPKdeyBmjGqbWFfgtIUnwAPGwuoPTiHBVYuheoMTHohSvKmzacMLkseFpQQPKzlGAkHJGavAzJHCIBgwOHyKTofItcJYICYUPSocDICtHwRKmDPygMhVClNTvy", "c_map_varchar_2":"pDdmEZmFZfcRVoZOHfSmeUfOIROCsLmWISFwQaJmnRgPulOFOnnJvVbeXhJpjdFtzTexvaDjieOfGBVctNrrsZlDrvQWgWFCnFvMkQuWfAlLjiEYXDClmLYjFrLqyWpZwQhGrhWICcaQfLmubXCXoyJNaFZxLxofjHsajgTzwRsXKDzaKkveOXYHWvfyXdOPEzZdOHsgamgZiiDZYVLTIgGJlBcjLRqlaBFlLVrJIloBEsyKNUoRfOGKzXKkvAFc", "c_map_varchar_3":"ipjJHrQFrTzIkUeJaGUiiRRmMmUyKYqgslAhVjKmieugXKrBbxlwqNysagFqRGqTVPsRuembDVxLFdAMvxsgeZOCRjedqyVBBCllDifIbGWDdUiUxwlTYqBvvWZyuOsBPRxkdshkkmdiHLPPBXgOxxyBkXkHaTlvJatsGuXyBrXknapXyAqCpUGNfDPaPViHZdGdSCMEUZNnmjXSYYwfICFaXqcFWKijQArcOrRwfpTwkDauvMxbUEgNpDXCJkSb", "c_map_varchar_4":"lXOOgQZBHXcKUbclLSMBPFnKTFOdrTUKveEczKOXzsjmNYygujlgLrrpQSrmDefWwMvzLwdxZAsRVtnVHwWCYFqDudjmIXlAyKsnDNGYVhjKntURJnCHQmSXHpjFbWyAiKOFsWXhHjTIUyMZDnIrJWhTlysnPABXAlETfNSORIdKbvKHYbfZSGYXlelFSLsjdLfBINRdylNqehjOYweKwNUyVmqbxxpTyLOZJnEYqDLgYUKmKurrlhzmoEFbvIDT", "c_map_varchar_5":"vduniyxQwXpVHMSzvqwcqrBmiKxtYXhFQAbuKAgVzfczqSZceFzXrosRnOpWZexZuEcwPObMloArDUceMDlpAhJxeSMrbMHcpCeOccVtUqkizdxEfgJrCIdmjhWJWleWXVTgOzVLAjZXsOHEoKFSwHkgTaxCAakGRGsprIBsZvQTPMLNjJtXAlnHTUqpmGwTIbvytOKxYiCHNlzjAWquiSQMQTDlCbuqytZqOdtbEBtXymJKVVVjUthNQWRuiwLs", "c_map_varchar_6":"TzwrrTHAJNztsTBLoiKyBwNOmdoaiyboBKvqEtuPVfxNvYFsyKpNmkxmziLjVoXWPJqefVOzwVlUuKCiKmbRkzTaemylylFKOiUqkGSDRYQhdmNAmywYBziVfhjppghJPAzwKZSLAEAsXXqqcdYRdkCQGMadiXnfIIWwvHPvbKpWEcWlldkDwlsFrqmobouwsJWhhmavOLJJLhVjLHOPqAedhDXkemTvirPHdooQvaXeqHskqatfjsalTucBsnjm", "c_map_varchar_7":"DuJXWHPYQYRPCUxLwqUVTYKxihCUoyYBSFvFabMKZYBHsTSugBzdOGORQfuePevyFFjeBXYoFBPMvmHsZekKiSWqZZHvsAbYUCVFSaeQBnrRwLKDHMGtGPUJoGYYSURSMbfOioStalYXkCIoxCgrMaOtoCFjFTYVgNsHpixfRCYQmTInNeKlZnnuXhBLezzwGMKlLpZFhzDhqyBVWIwzbCSLmMoiNxpcfzGhkcTLFIGNrCsWingJNBoDaguVmkNt", "c_map_varchar_8":"RwjCuiNSGYvjNAWVDKzdyZslmSugisCzbaccTNDyYGVXCGESskYioiACvpxDozCrWrmXZItcmZcewbNWcRTgpBVmCJCVQOcvqnEhQIdlFyITNIdpLxcibrxcnPvtXCyUqpzfXTzeVeZDdhhYPCZQFMGawgAnfEQdlUSZzWzeAccilEUCSPYkasxMSxswyvxYrxOloBxNRzhYzTljNhJealdWgKpdGXYFQbDemLEZMCxgVydxrMFEpQFNxdkbFBkB", "c_map_varchar_9":"HbhufqrYEwyxPKSeDjQXksAqjmdKKaFcKHMYIUlIFuirPrvjfLfWzPNdEXbBwLxWDaAeoTzQteZkhToSMvYAibYPeYefxrqoSelGUuVFQiZxVOEhheOmfaWPOEQXqMrdONZlLQFTGDooUZSSmOZSOOEqGtBUbifaQprNJQVmZiRIPdTmDPBUaFmjDFTqEUnFQBpieSEIGBuydQoSjnewbqCDwjvFerqXAOcHKwXDlaZRnZtPcRnSozQMNERDIpZn", "c_map_varchar_10":"bpKMOyhwICWZerofFLjrtrrQYpJPyyUCkzEqpgyZruSBEFtKIqntvnpPJIvtqPyjjXRhnfBJjnkhSyRjbggzFBwsnIVrtMQtLxwnzOwyoNaEeQsYxuNtCEPMBEcuGgTtSFGAHeQbraCWfTyCshZXamgrDTYFDWkLUrcmanBrCWbSYDTlJWEoNYYvGOsFVQfwxhKoLSijKkPKTDtVMuyYvrZzKpGWAhDmTxiEDUYvlOIQVGKdZWUMgKjxivyYVguc"},"c_array_boolean":[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1],"c_array_tinyint":[-89, 118, 74, 20, -31, -124, -23, 67, -62, 49, -107, -10, -53, 87, -22, 35, 57, 47, 115, -31, -55, 30, 26, 7, 113],"c_array_string":["oaGqVAzPgTTsIUyaRfVVNQkEawfdUNyIsokwOxjnCxxSAeTyLKgxnkqcwwPOOwZTgKfkFRewBVSXqdjqLkyHcyBlPjHkQGGuFZkevPkAABhQlLmyxZPpmCQuJqgvwWUbAQcftJnWsfybLqjsNjejnbrIuFFXXmATZHTJoXZfMNsSlnxhBNayLcrxzwAmZIXxjuUyiTyyXDJBgLcuxSxocTYYMIcXGgJyMGNTRTzoGuiJqoZUCmDegtDMCSkftznzlJfLpmVsywHhLXIlhTkhFYbcxPsOlenyZxOTozuIijZCVYVfDgmbVGeXpvARPYwlykRTfztRiGWVfUkFXIRbPfTQwHkhSorlCrkYndgwzbvccSDgRbDBKvqxAaicXqodbdCxmUNImHcSgFdJyyZHoUeDLbNbjCbTGRjIxKXPbKNysXbVUMdMdqFBdxnUVscmhHkbJDkPwFgiqPvHhnzvZvgDXmgFldCUuTsMgHcEyViBEIVaWIDatdfpQOJdTjtj", "fwghDuDrrInIMfhpwsLtrXrjLFKrGoIkOLBqdRLQrkObjBGWtkTOxOVpHqzBgPJMEAXFWZOGGbleQgRyXEFHytqMALCVLcKDtaaSAaJFBxZPsITeHvXOUUYwzLEaJMWdfxzIHHQPuPJxwNTKlmYsvJVXFtVrWcAsGcBUPGfaOJlNvoSxWQlxpqznLDnjqDFbeaNvqbsHKTDTUTzpMwJcqOYAaDOnDSBtLXCdfcuTMpOSmvbudhBrMkVgJRFmkLxpTehszLkIxCzKXmLTfAhyshJdIdDQMeyuyGJdqovNecFmVmDYNjFklLzCADEzoIdAFAJEJUAQegnEHbFLkHPzFeTPlletwkRFxTNdOHimtHdFzdCJipWKaIEGjXvMXmymOAtrvXzOvJtcYOrEbJlzdMNjCIUrHhmntNnAsClCdjxKzfWLqYbGNsFityApnKmGvSnXrqnodeSDQdYtiZMRhdmvCRGpPbGRpjLWIVJHcMIgnPoLIKJmnFwGEEwyGTUz", "xFwgNBUjuvUDAjyrBZvxemPUbXgNOzyuixZdJSlMBHHCFDHgTyCieeqwQSIAYzAGAjRUZHXEaElPimOffYYWeRCvMQmmGasdQEEHDLbRtwZjkgQRUKuUwHFgoFgnqJRyJgjAjBieDDUnSTtexfhirNQmaBbwKQhKAoZheHPtQeeUbbXGZWoWBhzosjswXlyECHcwBCrlMKLJMBHAOzECXidItkxAGAzdoeXPiCQqobxPJtccTzKRRWdSgPqkwUuGARKZaeHKIifsErsDrhiSBWIFvxMPMIctJECJnITzPhaqiAhGoCeDtwlaPTrpneTJgbuIrMqoCGkprywmLMCgmhwhCKKTtIBbibpcmcZFZiWhLsBJiXEUnVbfwAGuHsaUPYJWCNubKuwQrInKzaKGjDxWvBWNUkDPrGXrzCVsIJDYxGGIeNxDiWkxePFyZYmqkQXAuTcSjJMInlHskIDLHJWgXMdppOePDTIXXcmbbXqvUjCsiJtMQQvMZKsUsnir", "vHuvbyZkWvmfjJDEJNpZHruiSwudSkhcuCaHodusvziTpWBPvSNWkkcheWuuTzTZmZxNUtHMbPwOOWGPXQCPopzWTieegsUhalvSHZRvDjfbrcgFcafctVryIhmIrRlbNDiADpNoxQZCceLHNDFUkzOkWnMohrAivSkGWNywjaBeaSCjmZDHHULZSEVYoWxsxPgjSdmTaEJMODskFhOXOEhqfgMwOZtWogPeimkxihyPifPLXUPVGTLUFZIaWBSsONeYYYiawHuehjpvPIcdnpPlDURMZWpetyuvFFTcAzXyFxAYNlaIfeZjKzAYxYeFjVnhlBgLlvUTHmThboYoagHezOXwSGxngWeiOWSIBvQNoNdvwvGlDpXSopHPzdsyarZzjEzmqwSVLwzOiVxFgFFaqVwFpFlqBHzeTLjPMsiVtBJgBQFNroMEvDgRuUcTxaeOJPRyMAtcSUIGiscoKrwAILjAhAWhDqritUYprzlyNQTPslfGMzINPtjkwBes", "GWdYIAYcfUytEhgEQsdYYIeFRjskPIqYHjgotPeFnlMeEBdSSySyHLVuJIQQOuwkHgzvOVXpwDjJQItpZcaeduxjFVRmINBKSVFdENwhYyZfosdzfSCpLabgBBrOCFLoniLINPrSJmqVDmkEcCZiZfdfrOZAJcXWMXvBOXwtxnRCGoiPygqrtJJvzImJPivpXceYyeozxcZoVAQxYTcXQrBCsyrwyOXyDZIDZmmmBXfAgKpbgjHOtEstxKiszhHIUchVRRrIkKpAZtXteyZBxPWPkpDmNWxTpNtvyjPCrfBsWDLamGsDpWTQmcjmgDOxhFHvcmqUlwRxTlyHCeUnNPAukrGGmWwhQPSrZymvBGHzoNGtGcYLanJUMNaquznJBjNChBVXXFxtSwzMKgHowHNzbogzVnUwZmjdtxfUybFikccjxlCmKKHFioHUJzceFFbxPkEHwkXSBCcGZsEGvFpTWeXdUJtYBgPHkStrmgYMYjTjffWXIzHegxvftpbl", "iNSRdLhqRUGygezSeKPOKhRBOdubeMIwhiEdzJbLsRSIoxjBtQoQQdupzWFNXelZZYbUTHmtzvQEfbHCMdbxpQcZWbVDoEouxxhfZimIuMQBrXJRojHGXsEfYpIuFksoxuyKHNahGmZmYKIMSvNRAxmGHAbsWCWYqdHhAFCUFEfyNmDMypPAbIOHGJVLGNlkgYQtaJxUznSWlpvgnGOuUBIkpqIwHvCZhtdXAZWWCNUnvlPqiVKKXdAFOcZxTQLpPSsjVYYBEWktRVSdWVaicGKfQArHqXfDVBsSnTBZPARPfKOdGWiPVAASaYHoAgMyHkbMDgTvDabAtHCCqkCCLmTBYhtbxUxLlyqyFjZpzDOhnlqPqCqhYGvbnmEVtNXEsqRaQmtccpEezoItCTlLdkciJUDjROkVBlqVybRkCAJVgEpOAdptkDsfgKfjgtYgJGnpWZIeQFcuYSjjiwrVZAgYMCcKvOXsVLiZiACvcxlZTQtZvjMCYGOCYVvhOfxx", "eLHXPLYmARWcorHoiuXpvvIylbniPeikULwKPeXjCaMSxjsLGgaahdTfWRqOUzOmKPSToLOPHQOBBFTmwrTcQqsYejiaZHbVvPsmETvfvFnscZbvREjApxJrlgInnIHJtqGkAuJFFfTzRZGCppyfzzLQKMGyMZtLinYkNWCpxJrIhPMGCAXcHNsCVGMrUufaPwJGIbKFCTrZOxSpIOOQMBWQiUbpnUHpvAMChdObtoKcwRtLIpcjyOKIsIHDhNSPvKKpgkFFbVAeGSzCTMhdWzEFoZCQYaIpvkcNvIzZWfkXXJZnhOTABRWqlpfriQWRLGskXnXoWxACvVxXKOZGGsPDMzixxzVQqlOjFsRtgRieXFbesuQYhqvCwOgdcUpEVEtgdpVcYIMyAXkulbtPizyFeWnZxXwMaaXUSarjzEVIWjQqGwOvIDPmRZNdeJbAHGjECBYczbUyVHjsuNdWpXoeGUPmhDbkbZXMqXkFNeKkMYXGvmPMOXHfLzReGrhy", "UnKCnjDWYdjwTcQnIELDwpTuAMjZXPraZbFyunvktxLiycDIBJcakxryOCtPmiPgScuexmPydTpegbnsbezCTcjarOThbKTRSSWresutQKQdbrLRBWPLLLLliHPKYBKYZLqFfQvgEhDZrcAVwGVjKaFPxdueGAtrkuAeYRHPnyVCtsxirrDkNmbcsFHTwEoTWCLXdesbSevHRBFbvFLAkrXzATTSbmhQAfmcaxZogFBNtPEufyXaWhBpgltIYcpSyHKJkGzHmYqRzVMOUFmEGQBVpFsSVEdcaARoRvTZVhBJkoyiWXZcvtLbhPggTutNHNukYxMdoBWThuvgUvBtyPYyhUHjHqZSRugRKYrqJptgIrZSHnNauekfeCIlhnrKjlIKSvHOfPeWHSBWtmQznQuxlhlZtchRDuPKMkyGqqccZoUVDrxQbCMGhVJDBqtzveOQEQWWgVWmHQhLVafURUbfaZCjoEXedRSfHfejvqFCsEuvusJrAsMYxvKAzbKO", "wsFHkDajqOHEIuQjXkEHGeDNaTRoNwzzaZsMbdLQyeqbRfzOQsVvBGJCPHkxECajcFBacHoWwXSdodqtSGDdsylxYpAIgyQVImoDeAVKQXdtWkmemUYSiBFXcIKpFQDGJfCQKIyHWllzRmYPconqmwdFKcSbljllDAsqTakdBKlvCFyPcpYbAHOmwcrTvPyUFKZtojIMssVUrpECWjgAnwtnAulCgrnTidoyTvnmyYjkZYplUBBuQlCqoQNSFLBrBqxQBbGwCMimVWKAdKwXfHXOoVvryyNFvUddSJfwLAqoOwSRVNhIAQumUnrHCSycWkckkIogFJIdQjQqQGevDQAHflcssgZXZUTethTCIcKNULrrCFQxKYLsVtlktxtXXLcCmHHaoFohPDwrvbgUSGtlWRtRlRiHgQqkGhAkxHdRRqnCUkZlXAsidjMwvhnXNEdCVRxphQQrcFHachKwJHBVKxXslSrtNjRAsXNGInjzzFFNpSHenEtcqAlicBtc", "JhwjQHcpmNrVEzEHUwLQZfRcbnAYvVxmhCgtyJwppvPWMglCTzZqjrQtzrTSPvMAiNLjsXUvXbITFjuKMCLFrSyhktCLkHgZHxppSgOfVBmRHQeEeWCiOedUIcAmhUaqyHGxqqlqDsaUNWGYgNtHCkAVLsLsjWMPfhnFljxBJYyWEgBjVtNAYOxmwIQLNJunpmjBDHQeZFEpaiRIEdrhmgLUtriQCeFfrcBzMPnbMyUdipFOCHpfYPrcnDprFYpTyEJZiiAPLuFyeKytQUUyOXgcIPsEDFgjocPyrIIpDvdQrUaZBskcgrVUJYfpxbGygLjCwHwrgrRDccmtVNwprmCjBnMvDIuUaTWSjGOpCgkHxAwAyCpvoJMIWpBvBXqMgvOfbujaFIQatmDdTwPIoaxACbrEJfjxMdnizvPRlkpguIItZCIjEsAKPNLufwDLJMhwXUxNPiVOjJYPgRMKjoxFmtxeKdzXqrDYMqySsxQTXOuBYZkAVAbNJcKgoTTP", "ISozNhqirxbgeCWJDIvdddVaoscTklwQiFfLlgoHvsgpPCfhhLxphHhdpXYqsNxYWggPUmhgNzUvNbvmzoFljzwkyLCQbvTlcGzouoIvEzwSYfyhwHQcFqGBjQreciDgQJDlTHHCHNVOBrhHzaSxytNCoQgtlzoyCBaVGAJOkUDFNxpNDrqpegtYNqmeOZDqWvbtnbkmwMdjUPoJbOkEhLOmXXkKEtJAVBzsZIQBNoDrTLLJrIOIVqajPtcpSDGSkJEQJpWxPGwgmbqvdqdkPfeJgWGgyjepeqOVOGsPCUCNaiqokUXFNkaUQHfcZphTcnGVeLUlsVTtHQWwrBrkClJwgZKqQYZKJzWOsAQYgdUkajyhEWTjxBvvArSFNlqwNnqnSvxbQsUSQFBmOOMSeKKxIJHvjmPluVYPQvFwCwPdqHkKYwikwLlcOAQpViFFkeJinwQQqmKHkjWGqUkURClfuxylExCZqHoTOZhTyxAVxlQGaNwbpJpxOgpgVsMB", "MMKvoJBYwmmPCsDfMilXFohnkUtVZzGVAxtuDAQcywrMRCszemQUrQDQXufPwQTlDhtWAwSMiSVFmkSYhHlIKRduIoAJSQghNMpbzZctiKIMaWJhWDjqtzRdbxhEfCLYNUCuoAvSFswAmcDJzhdfEaMRFNioxRYJXgjYyrKIZwbWFQYOIfuSQFOzvfLyPyrbzrNEcmIvhCZtPDwTQxdTfmiAfAglvgmaHlGDLrWXslqQmlVvoutlMzLCpAEUYiHSWJgTCRvjDqVAMDxxCernQWFxdfgvtnuNhQrhgTNLHeyNRDyVcmWgyumxqCdBoBjNgfYrZvfwndqNLNQnWtaORlAYHcxtylRkccQctmVxjFMaEOsAEmMtfMoBjKkfxmAmdPGEduAVUPvPsAOJlCOJPkokydxEzgVETcFUiBAhJPtAeBzCeRQAGKRNyqHnamnPtJcbQxyPSFCiovkxnNEzHODzLAMNmmdzEYHsSGtGqgqTnhIUdWfXoaHVGqNtCNWG", "MNcsfAMhTOJfsjxfSnDNLHDJqyDzWwAolcHYGgeDUKGONOaGBfAhkIhxaAmYslqMytbwPdBlbRqOAeOClRnYaDkLmvTxOCiwxTqpdbrbuLXNTvwEjRwlNzjZuYnAVEgWqeZWWFtYCnnmGfELXRgCjHqySdctEgsFAgXSgHMiDEwZUdWKchNXZXtrtDpwnoeccZbILDHvlQBQGSbiVmWDUhGrJuCwrhlqrEzZBpBfEdRsRxYlTnrFsbuNTHWxhSJiVNCGlCJAeHJjiNUXtbGUYLKsaBwhggfwzSSXMVUgLObdwLdoJwhScQftCxUbAqavWoNTXKbZyZKZhibfCVmYJVYcgriNxsYhvGhnizVxyPbSNogvvyGZzxlNkWKwpvHQZcMvrPdxUAiMOxNdPgLImHYSCwSSCqLkCpMWEHTaQjpdwIeZZRitcGJdNmHjxYZJgkSZiEYcOyrhCcoBTknqbfLKDjJBMVJUTRiiJIBlNKIUDAXcvvXJEKIZCAgfWIkV", "tysTrOLjYAtixUwAqDpHUZRbtiqJxFbpOCMeJOMwzPjCfmUyjisZxErrYUSITvBffsznUTuhBScihxbUjzXaitsPzgVTrdiJENmncABwEgvHfFUtgxXRblbfbjLvfFBzQmuXCfvvdQSCyqctfPJowzokSyKwpaRuXcefbgUIHbqdcJKdwayxdPVhFTuuyuxVndGxIYPyKGJfwNVCQLQwGuYOzjGslLICgkrsmYEitcRNAudEedQmtIpwxSDMPiKaMOmCfNisugXmIfqwStqaKLEqVuzzOsuHDwOlbCdfoZPoOyRLIdbluKQhNKtKZvNxmjAVcLwoCDFZOfhvMTFQuPXbNHOsulpeIrJXvQznYBtkpzowlZUeUZVZKhUjGQdRfKVaHwAzUSPIEssAHmTzyrgcYhAiPlUopHnsTjqGGLERcdxGeUGIYNsoGgdxhrcuUgczwcQJXgVuCJFrjwVjXCWEDcKYittTmkcgIGlovTyhJOmYLOxsSvoCEPXtSSry", "EElDELtgIZEVpIXXiYwskjHtsBPYrVuZMElnsJrrnfCWgCgwbsyUqjcijytdTvxaqtdDssOdAIaoQAwHQrlzBkyxOIqBpwTYESebvoLqrHNMAktsxuxXmnnaDgIamdkmiGluRDECbvMPwSCjEOkwMYakJVnMwzaNuhrZeDgmcaaLNpnJWTFnyCJodsYOYwuqQetXMubWdpYIEpNAvEwNlySoSGSmvlOXJwTNwCkbxGLZGuFiAYvaQMzEzUTqlmJfpUomoADSdQsRYPvtURhtssOnmWvhEEKWNQJZkgdttgaTqKPUCjanXXUkLRDnTKoNsqLwHVeVwcPdkFqVWkVwHejnESNGjzZCYBaGkxPdliQnYunfYubtuxCvTPqzSnTjesihhdDzuVTbAkpdfkPfMDhyDmhzpbVnPbphmpHqTrrnAVEydmTWcOQUaHxIJFzrzMKegJYpIqJNLrdzKfFOOrSaEjtXehyzkLtCuekKhSvZFezOXkIGedEMqeKJJJYY", "ffnieStANoMOHFisLugVMDsMVBxdzsCBUPmBQRarkjNBsvjWFqPgcpLQeCxTZrMNjFsDFSkOKREszOMWphrolTJwObDbcykyFifDIUvewRbUozfYlZyzncKBADlDHKUZroRhqEYcvZEEVEYuVVUickyESTVStLPExmSOWFotgWQizthBNyyhojooFsYCKLDGxApZOxHWbVHzEUVwoSPPRIYRkIPjwGvzNreSEOttGzvsSlFSuCeZSqdWvpxjUMPuvQMihEYVvfEEtNIuimnsDzurIZEFZNqDslyJNRgRsAjbRYNDrhjtLXswcAAErsFQxnMVNjUKnlULvdlIExoHAyKXVeGCncxOAQvySraFkfIAXZjKWYooJxMuXRNEYuiEWcteenHfjmcmQoTubQsYSeuQyAmMNBzBATYasxkYhpRTCIlGVVyrryVXObQoeAYifTbHqjiFpxAojhBjrcwOmTEDNqoRCIaoLuqAQVYysVnVhhrOVCZZkvJCQzgWMAbU", "yuNFveZcQFyHHCKkOSzhmBbuYhMQLEGHeEqXAsLYexdcNNXraLIBZpCmKctGKxoAfSeWPnZAwklPlFCOBJBnyLHsPljXsGGZaDAVmyzdfLWyikXTiGCfyposhKjZzyXbIOCWRhMHfnrMOAEKMuEUYHGpJUnwdpGjuHokFkQjupBqdKClTnjzAnberWICcfjqijgLxjyQHoTNksgYGaTKWLlBkrDbwjoZGYBJiwdoPlNXZmTDoYNOFRLxGHLheiUPzkKXFDtCQLxIOcagUNjLmzEakUWQWKsrpSalBTmCboKbqxOPoTptZhfkbgoYcIVaMGhxkxZJmyhkHICjtpHJtQQdQGuVHevdmGZUKGLKFOBsyYlhDCCVMCTdHbjfLoCgBwkQoftPCzvnBNtMamSpvNntkkHlCCXgOGgKNYKLfEsMtQSjPIKdCKikEDCRhASTVbsOZTkbWXreiHrXiYZdLdkkoQsotWIhSymLPRzGHBPZOJlbrQyJJSHkbZuDrITQ", "HtTBCFmnrzxNxKDENbbNznSghTkRNVjCvCkokUrOTsvuFEEoSazvxHHgDeICJPTXNgQNTpYISAkXUwAZfOGPxdNGKOqrhoJkvSnmEBphSzNUZSyayrPpanlepzAgiNQVfEZHnVwHvjeOHtuajpxjNeukEveNqpgnBuQWVQJEYmEgVwyiInxIMuUbImdGewQQbvWawosNlAlLFpWiaCJlBanZCXrxdFXQoUWPgkLKrYfiOiwgHqHqpmJXNdkQJqPaXQzUbktmVBjxBCEPAfdFxXSiUBehPCbIxmxMroQOUDPJbIKbEewbifhuHyONQhGyIFpYFaXdiVIHFlUEBAgzZrEUBvjmFhCntjNEFEwvIWfocPbJJoGpgmxVsghvDkOWGifZpMyPNtMEvsRcDCSWAaXHUOLRvHwGesqiFcRPXYsiUeddRhWKtjBUyoIivLmeHlAypgYXxQXwuOqPMAaTjSfwcxFZkabhZIkIoAMaeTfpaFleWaqfIYrymnvDvBDt", "HvJQXOvvVmhcboDaaGNybXtrVNQCsUtyrYEDsJrjcdwYkpGjXSCUVfoVTliWHvORyZSqxXwJnFvpsycTtAMeDJlPPSRtbiqFZrsPVSyICSmvdUlfpPHZOnMShMxYSGWFDnqyWCmkyQuItCypAYhvFXHONAbjtgkLnvpjlYhDuJMpfnpmnlKSvgNHhloAUvfHzLCUaQukcmOYOOThbldNyxFFKduyQKSHVohIAGbHmpvxDnuSjgZRAwFquCVVWPJkIIuuTdtSDithooqDAfWkiNcWpaDCgHAjshlZPZwTMhBzfhTEbuOEhVFPpLItbSCGSdiCQseYdnRNxMOCedpPDaAYXCWLXGuOFrTYBaXsNReIQpCEGRYXEgqDULmdwVDhNVyoRTxcOaOQwWRjAseyBdKbaDuvResEiYLckbiRKsooQBkDBJIkbsPNyEYXosAfDoVyJsOUuELnrxIWmjQsKfgDYSwhiAgUbKkHSWzCkevIRlDUsMzxSoxEUKYGSVGU", "rMYeXbDIOOkcXlVFrhjOPMYceoNGbqeaAEGkSkqpaBFIBKqiuZpfjterEZVkMxbquXodqcTfAVhbfMwsdlIlpcdKvFAxNkxYlUevMbAUyJglSTBTHAWApYthptgJvVRLnSfAzevaVxTISppxTgzZaQFuEglchVjijMHDcEutjzRDUVQZRCDiJqlaiQuepGZKMxdnjScDAZeQPciXYrSDiKzaIRqeTlqqybKyeLhucAlPZzqvLmEzxUHtlTePFWWcxXlhbVWzkAXmlSZDmjKCGFtbIKVzaManyRbVqplKYnFIJLqPxqsOnblSqJFzcAiCQQWLatuKjiBkYdwMxkzzjBTAKPQMqzwEzmkRAdpJemrnQrJFPIzwDafqUlVySehSgpVEyUkRTDonAOYWicEEUEjXYVAxIFKDJfWkFwhGRorYQEImGlyIrHpQLsNdMfPdbPTfADnZWanvmAilzMvmtznWjJZbxcHuBVtqLRXZPxuNeaQJORsbRGQTUtGynrqO", "ZGDBzzjOsoSKzNrUwaxbyRJTNWawDSuffOElnKtjlFduzEDGFRKoWwRzSKBERjAboExuYBlkYRemqgzJreeazEkbgAsBStyvJntWKhOcnoAiACIEwsMpPAaxedtLCTrQIHlIMglVnXLHoQGGQKKARdeNIGDTYuTemOBPezAfgxcnMZZLEBAQQbpqSlMuupOkvxAUTBYrlnvLcoOVnacQMjLRyKncgaAJWeWNjjBDUybBuEDgpkbZSfHGHNFZYGIGYvdSkRneSNoPsOxJBNHuBpEmVCyVzOZOdLyqtyekbDZGCcCJnCptzWcakoHKossTZHKROKSroxivKNiohAcBwsvwhiSKuMPctPuIEqzWXFOQXzaAAaKhgeBqjAEpVwUkKXZBpncugFQbtMSuFpVWAXvVUhvScDBVFdBXFPVPYeIZneEdwGFHOTUeoAmgKrkTCjOUEzEgTfftfNDLbYHGWDAKqXhAaObcSPuvfAdoeThFKlwkpOiBeWrbLVTWgppH", "EUfZudCoriPeELjbSuoxkPDubMMPJlWOHfAVMdYsPckXkcjVygmZidKrqTKxotzVBjHMGUDFHkBudKQpNGTKsRaTPhbyGwUBCahSqxJBDpfqvHGuJySuzvEnmgHSrfRxpjuZvQVZWzydYMbtkndRXHdecKyySrKOXEZXSKpnfDVvTCHDrdfPxbeslAQftbfQbiIRWahdiJWWBVKlWAHIkRSGLkiliyqADQwVJKNPOjCcixOfwKiECDqoprAEozdWETTWkhhhRahzlMSjUscAlScdkENxtdwSZNEwikwHEoEvZCkUIGZhzYwFBpDeRVBpnrfyBNjDSsJBcEITNeSFDTYGFUCHIBnRqSERAedQKoQaVWFhjwNPpefodzlWOXyZVLGeUZOwxGKUApnjZCfgMpAwBgCbKkjoscqRtPFZVgAnNvqLejStkLaDHGJVActrxgCohfcFLHmbnoUWBXApjTeUthVcGYAENeNFyTMGWrpVpHJRBiPZIUVxPYCywYSF", "VVFPqmrWEUIQNZpEuqcsBcpdQVbfpTTooIqFCBRitTVGlouGnNzXRRZoMLOqHvaISWgYdlslYiBRaLvYPckTrBfCTnhFVuZFDalnJOzxnYRGIIvJKREbTjEyUlPXvtetTiRyChxzbTCoJKNzwvXMkuBqfgyHqDfcCvwXGCgTotrdrsWathsWQQdnKVxdmGWDlTVZJwLKFAnKnXJHDgqEniKZHgpyBrMjLhbLgCrdxcMicdQXROvgGZQbrJVFazfLTSqeImPnPFKedAxmytHsouJAnExXHMRBOmsMIMwSyzQrJvunWlOghLvVzsAfWKNJmOTXGPiaADjqZyloejwiUCUKngpDxEOzesvzCpOdJdqXzajIfMXeGTXOlbqQfVdxHcsOJqCkZcljkKiPNlqqbDaAsplFMESsNGWzFAEnSDygXLSiOBsUcxaqGEZdyeFPRKdQiIDyUkyhJhwMtQDksBxonxDxSldtVtOEPFABOPiROHQuepbEoHzQUcPJWhCC", "gauRKrufXwiTHmNfSxZdHONVsbmDiVnUHuldykKAijhgQMJzLdCnXQZtaITofUWGgmCVGxZIfzcKWSgBaBfrFEijPDyZocxwhuwBvNemSemKMaGLRjwCwEoQyyGCdBtkfrkISXoWMwberfBfVKNbEkkRHSrNAPLbPskxQWgYuQRnwAUBLKzXPGeuefMEZOCbqZuGaBkvJbNWsFgLaCiZBWXISyNeRmhtaHZkCMOMiUeNaaXAmqCsNxXWJCbcDVnduDoFjGsJkqskNuGgwWROARkaOgnTZcsjUfpMwwrifwyPjeXOlkUIarLuvmciqLSVdtOqGeMxqnZQuyAmEbdouvFoCuYArtflohDChuNYkPAcyXwTwmdXlZDbsaNooQmfLZxZTskGBRwBtYYCJwiaLBBCCOsHASrXtDbKCeohKhQvowDbDMEiJLedjUxTmrVCcXkRckSICBBkEBnxXvpeStIyAvNyejEGWhoHsYErvYwZmsmCrRLzAkgjAjCDBKDz", "OemUEaPXABaraoCGMxvJgVUEGxZSpAyKyxqVvRIpJJQOYzgYgLHvbcipGGOKFlvalCHzpLnMpyqkpeDgDHjNwXEPCDZfUcvfkYIgdPZfdkxrBGYBfueGUWZDbFIFomQcohPlkHQFVnDKtBfJstUWGyrPrNBMwIOHyLkLLposbLjRzCMROqrLJuWAitbZachTukqomvDwVcEGsJujYvVPTicwPcaGoHbouVbCpJAgRAeyVIcyYCHoHDEPaijFHAMXkCuUnfYLJdOAgZnvEZKXIplOrNVlnmfFWYEknUiFjUPPaqFckcrrqfAXrmFuHvTEQDxPfRyhruUotVngyOUIVZQznZHNNiHLJPPeEAQNiLmwQcVVqGYbDkWnQQXZHgaskCEQCLeTrPaudSOJBJrIOfWgqykLCqByjEOMLFFlsAJRJicaQrxxLCZUOFKQfVgdCsjEjzGAQHVHZVsBwrVZLdzzrEbsyEPWJSaJUTWPHEUVYtTIapWzpavsKNkqEaLB"],"c_map_char":{"c_map_char_1":"FqkulsIWTR", "c_map_char_2":"cUXTtfqagG", "c_map_char_3":"rbpyvYMAPC", "c_map_char_4":"hCWWIeYKfN", "c_map_char_5":"jYNhcqwyUQ", "c_map_char_6":"eUiikoaCCV", "c_map_char_7":"VmYxrIfndg", "c_map_char_8":"oOFpjpQQiC", "c_map_char_9":"yAvMyylcFA", "c_map_char_10":"ddIaNftFGR"},"c_map_datetime":{"c_map_datetime_1":"2005-04-10 06:16:51", "c_map_datetime_2":"2008-02-25 21:37:25", "c_map_datetime_3":"2012-03-21 04:36:45", "c_map_datetime_4":"2006-11-19 00:23:04", "c_map_datetime_5":"2003-06-13 19:08:10", "c_map_datetime_6":"2006-12-05 15:21:40", "c_map_datetime_7":"2002-07-01 14:15:25", "c_map_datetime_8":"2007-07-10 15:35:04", "c_map_datetime_9":"2003-07-03 00:33:30", "c_map_datetime_10":"2017-05-22 12:22:22"},"c_map_ipv6":{"c_map_ipv6_1":"da9b:66b1:a340:24a8:a2fe:1139:7d1e:ec63", "c_map_ipv6_2":"8d88:b326:1f28:2c4e:9f8c:6d77:20fa:fc30", "c_map_ipv6_3":"2f25:be25:a5ad:8922:6f24:676c:80e1:4758", "c_map_ipv6_4":"d113:741e:33bd:b11b:924f:51ff:d9bd:a13d", "c_map_ipv6_5":"ae76:da6b:3c95:87b0:435d:16d1:440:7e68", "c_map_ipv6_6":"30dc:2994:c13b:a296:8989:7600:886b:e888", "c_map_ipv6_7":"fc7c:83ff:d023:6b25:86bd:b72f:9251:7512", "c_map_ipv6_8":"be59:8105:ff36:eb64:f85f:f52b:7433:2978", "c_map_ipv6_9":"fbe4:625:5f48:ad8a:d95d:2d73:2851:c3a1", "c_map_ipv6_10":"2717:f475:8a03:63e8:dc7f:5239:58b1:cf57"},"c_array_decimal":[64.1761, 27.1569, 54.0886, 68.1670, 27.1263, 29.1217, 65.1582, 4.1446, 27.1576, 11.0102, 61.1037, 62.1920, 10.1466, 5.1740, 25.0081, 35.1824, 64.0252, 82.1137, 56.0531, 58.1484, 67.1769, 75.0011, 66.0913, 79.0597, 24.1932],"c_array_ipv6":["dSeylIdYCL", "DwCSLKpMzx", "nXUqGHCqJH", "COaCUyAWgg", "wICypUNPwh", "GRNowAuiRd", "RYceJFiufU", "krQttwGEgt", "LEtAbMjpWm", "VIynlOBEng", "stVAAywmNd", "NpwLvABjpb", "CiWVBoXwPV", "JREOJjOqzy", "MyExIKtxut", "lBPlDCccOB", "GeeZwnPrNo", "QggmyIasTj", "QqByvDjrGj", "gqFCOhOPXR", "aEmaqJtQmo", "lAUvGvCoer", "YaYUsOjFuX", "cQCUVRtZkX", "yMmWtasKhU"],"c_map_float":{"c_map_float_1":54.67522, "c_map_float_2":49.07902, "c_map_float_3":65.442795, "c_map_float_4":7.030493, "c_map_float_5":95.40688, "c_map_float_6":37.684948, "c_map_float_7":25.265099, "c_map_float_8":63.609684, "c_map_float_9":39.037262, "c_map_float_10":27.306828},"c_array_smallint":[-7721, 236, -25738, 26645, 9535, -21307, -25836, 9866, 6027, -14466, -24006, -11748, 266, -29163, -24241, 16398, -551, 7024, 3272, -12086, 5167, 21285, -3313, 9818, -29981],"c_array_int":[2146238010, 811002567, -1441375361, -931338915, 1695040578, -2017830725, 1599139181, 1767886843, -195662465, -1273254531, -575180416, 112272834, -492378425, -2071457645, 1055753502, 1961955827, -1629821763, 1440719416, 574787424, 1310550683, 1887926602, 493601348, 1777006949, 793355422, -919930318],"c_array_largeint":[2185125954113211267, 2655402415191287243, 7505931906169262083, 6545453934296523063, -5317667661374201241, -9076207383484132998, 8251278231656594244, 5858614729968725847, 8055405196578782792, -3662620754189224429, -4593754467547403428, 3410910137796780598, 2917808446295546315, 831601754115193532, -1893342292479265687, 2211965782193370294, -8838226254565352671, 6615786314502241803, -4229319976131930172, -494912502936418064, -6027014742540594673, 5862954577130228865, -2664674267493434453, 7360531641589258858, -7077878377939213330],"c_array_double":[60.4974384140307, 0.5194747082458478, 3.9522700318507127, 82.71396017814963, 3.9033485921482836, 90.63801029684141, 64.83863687141849, 57.445591000227544, 9.906285354972953, 35.04354488658336, 89.68858051602794, 42.992144724027355, 17.67662754075682, 90.98915169587185, 9.564090522947936, 78.93347201158797, 32.2402169519886, 30.373319966190138, 43.474106254874926, 34.18892348922266, 85.9381119076021, 8.23897441639068, 69.30513411887294, 43.24179904531105, 83.09984825758598],"c_map_smallint":{"c_map_smallint_1":-18284, "c_map_smallint_2":2572, "c_map_smallint_3":7127, "c_map_smallint_4":-9947, "c_map_smallint_5":11978, "c_map_smallint_6":20305, "c_map_smallint_7":-27560, "c_map_smallint_8":-9345, "c_map_smallint_9":-5794, "c_map_smallint_10":-32740},"c_smallint":3302,"c_largeint":5043272853296672842,"c_datetime":"2019-09-07 11:09:41","c_map_largeint":{"c_map_largeint_1":-5040099196233698362, "c_map_largeint_2":-8645582082272145781, "c_map_largeint_3":2407630192504933538, "c_map_largeint_4":-168048288864975327, "c_map_largeint_5":1640404396249667718, "c_map_largeint_6":8751200547886653144, "c_map_largeint_7":3644967616380783403, "c_map_largeint_8":5066788582017247645, "c_map_largeint_9":150870126171641423, "c_map_largeint_10":-6557679101539806967},"c_map_double":{"c_map_double_1":18.896414708515522, "c_map_double_2":60.13572359675388, "c_map_double_3":75.17381738229399, "c_map_double_4":37.611550670419604, "c_map_double_5":63.069563927699576, "c_map_double_6":43.821251423326196, "c_map_double_7":13.46244054257365, "c_map_double_8":96.69538504505479, "c_map_double_9":20.389457231622597, "c_map_double_10":66.04663639000412},"c_float":91.70596,"c_array_varchar":["moggzVnqAABkXQZUFAtrZVHqksdLIOMNogDBNYdZEyQMtoMjlmLzaTmiexEKTEogxxPEcZLIwUmIaopxLHGLtWKXTZjjprMoYsvkgiZKBNGrmyFspbXvlmOUROwVyTQRZMCLMgzcQvqYXBAUJjtkXUpqpOZzsZrmEOXcDuCNYoNKTKNuQntDhjruaUPVpnwaCXTfNJhiUOShFkjnxTmQImeFdfxBaerptmQYhIFyCvUVMyVpkvjyNIRSBjsmQoAI", "BQTZuXdwmdrncHrirZaSKFCUtGWbUJldFrLhYoUxPEeqxxpdxXlIEDcWahftrnjZmxfRIbKAluwOTGEfSDeZSLgrMIHqMdyxkwuySQzFJOjaOIfCfPXnMcLTwfAtKVINBsKZmMmwlqLOexozkGluLQZEKbHyQxJzNtYvAieYwRVwduHLvjOQyuiEcTYsCukcgvUbxlqxnOdpSjyZHEDaJOiVDbDJPtexzVqZbHdakLydhxbPMSwBAYiQHRwjYdyU", "xqUbTdOWbHiRNILcJjmQYTYDwZmJXpVkDsEegnxyDYSGJEiCxFkqvYcqjEUunoPaRyrSGlFTFgGUrvpDVBqOYjEjAgprqwhEuqCTDHWghkUHlSqvnGoGfOICanzXARHrQobmEJlgTOdWLtvcLtqjagTLoUtiMKpQDuhmZiLskDaITunguFCJobHSLFjxVuUaJOejYNSYRLutUXTltAsLxHTbjFuIksqrIgOvUjvrbeixGHMJlHdgbAkLqRzIrmdB", "SSxRMReURinSAGwrzXAwZYedXIaJztlmKwKcTjynLIESBhzQBWkiZyEAXkdcnRfBdGWzQoGSuGDzKKtYImJbCdgBGNXSPZXXuqMEZSGUpuXPMyZVymRNiaicDiwFTsXjpMyttckvPpjiHVZOjvvLVbiGiREzvAfhWPaUHLKIIzSNbbMDMwLhhRXeRPeSNzxdmXEmPvVuusONSlLdfDFeDOWsyTvtsgAMdrFupsaBMSWoUCJdeBbxkgCRSzbjVICS", "peIiGGdqqQCdbMBSrKKOOGQPAsRbYzVekZPALZFjtdHbNNRUBnXTuKOgLhUngISPhqJYIEofYqeCYWwIhCeSVdOLVxZklIezmKOgZFTzDvZKoKPYWNjjSvBWHqmqUILowoxdXQfnEUtuJEiMxcTELqhStFrXYqOgmVISXAxXtizfnqFbFXYBveaQDgzmHRUWzztItzyIkZDjaSLxyLFpfnTDBTuOixgaswPYDjHFTAlhyYQVtYfxeFFUivkVNohw", "KJszksxxmcJuWbmJmGJxfDvGlfVUczbTLtkeaTmaPduXYokDaqpsZACOJFOWmwKqAyeHeDrTykNQkcfkbDXnlOlqUkGIfzaSjVtUBqupCAUDXntJnpJfICnInJaFHBYKBYYZDNUlHVmQlKaNYOhESgesJDUiCPVXbxnEFehoHCKVkygxhxityGiYlWVzSzTyesBGLiWUIdWKUnPMwcKSliyMsZJIqYWMECibHOWzBJVbBsVutjkhBsxeXvbGwkoQ", "TltJmOBfHIUgZXRkDsKSxCtqsiDFvHHYfRXFnAfwjhfFlJszsgGJWwnRFHMgfoLlGScZZjzRFLZvbOonKIyctDlfROUVykKUjLETHwKUkXjYjyUrtAUFjlLtbSSNVfcFsNMZdvsqGooZNoZuudTtXmkuOvRDEynDYijagiczgDYhszJabsKBqQZWdIGwDDAQMMNDOPuUNIeCpTAPSLSgonaXiBZvNIaiSNPjuLugTHfooWcfqnrByCkeacVehWka", "NmXlDcYaMkQQtnIOGwyzyTgnETobgfOftpSnIyvNMsPAfLnxfLGzBkrXRUJQeCfSxFkqeMWiGgySfHxxruisYYARAauzaAvxejtsRVBGLfVITsxzzmgRICqQRucetfKmngdhspMKPnoXVlkcatHROKOPLzqTiHTGfvKlVseXrCfJIPyikhaODRPewBMxhyUtejrZOBYVrvMRMOBGzQDBxKWrSGuUrucrjqWAYIebrhPAcIBlUPOYaesxxNngGbTK", "vqiwpEiFRabuSFKMkdlibLVuYtGksLWoxUiAZAoRYgXnlQcrTWlDfyLQwXNQddtMcirIidsONGqgUpoEhECFRBjhMaOAflGJfjiARkwjgLwzfYXXuETczNZmxGiCowiwhCQyOOkauubhPLUALsGuOjbWubUgojYYeAyuPFVGhPbOPpgVNPfLoIZnxqoaaiJNfzKLXykNhuDQyCsZHcttJyatBRdnHEgrwyBlVjRGjXEOdhfNFNcFhYYSHQxFqaBd", "SBtcfIHnjsucwCtsYfSNajJJJsjIASrdkWWgXdREicsscrpLMxPEXQCPQlgURXRBmzvmTQFpMkNJlvgFkmZspAsaaQcmAAxOYTKAQdmVGhPzcMXoJBotFenJIBxRUZYvJStdYRJDTBcDJKiMUJJpqxNqpSrOgXoafYzFCZGzBiOJbcgqxQwDZTrqolneUCjSrgYsroTyHJxsvPnDushxfdTOyKMYcPKEHiOfrtcrbqabhPRhutofCalNpqUjNuQM", "FptSloipbrOATCQGbVHkJJmGUIrhwFJCXzkRxorQazFbcnvTzOWklxuVEwvaDAXloyKzksOWxUtXcJlkkzTDywjtkCMUGGDVenWYMnpesvoOuZxTdzmtudDoPHNNoIPLtSgdDWevGPOMmLtFPNpMSfqdMCkTDYIvJboChdwVjTnGPXSLVhLBfkgSDADcbEYohhHEEKZuZfKwrVsjLmAmAueQYzeyRmiudMncxEoUxFwyWTnQRQRZDRciyfqeQiBR", "dVKDfbeXNldcUCFKRZHSqbPVmNDxKeRQUoVKDqeXSavHzPvvLXjrYjeTdAYUmXgFleJiiuRwnLAnjtbqvSDZIDUGYwUtundbKIEONMOXCdftkmqkfzCzIrfOhZTXWLYZDQKDhkMoVMumKqtZkpiLLeihtqUPzoCiYjdwjoeGUfyluHuRmuQYPOWjGjjkVjlxkcFJXAaACnFyohmdCZKniqJkCtYHPEKTBBpReyGNbBrqyPwcxAUmGEpqTUphDNEY", "lgmNTmEPztsLZbLaHEDqBMFmqdTVSXPbWDKsEUyCkOSRIveQSMZCPuHUwMFesTZgSYhaXKzBAXSEkuWKRfQKCgBnwtgnSZVavtyCuniwLHaFOnDJbYQFnIAVvtsWDQzPDuArhbVyiKlpIfwNYEQAjirzDzjeiGwxhXQRmThFTMTbqpCHuJfKWYwlHDWVYYoFzrPUlloZBLkMpnqaniboTvYGOpZrytxqoPzzzNXVVGPEqvSOXrTNkcijioQohDZX", "mPvdzZndsghYHuNJEpRUmAqMpnnybuZiqyNcCqaOnCQJuBsCFEbvJPlPsaKePRvDpuRcmYpzeXodrmUYmbQDzUSepLAukbLumfqSQjCGokvCuFpTuHvWCcvkNAAWIeMSlmOtoWJVourvEQmamNLCuZtLdADKrRhebVNRvTVExgpLgtZNfirbHOSrAKWbPTGemZwikEkiLFPMCKRFajnMbZVvFTIWPyivNYWPMGseSQjJQqhTYyvIuovBSUlQcYoD", "DdYKwKneAVKMQsqVbcNeHRZcgUfKmXxhHlFTJCIqXMVTdPiAppgRyhxuwhCAjehVkPKxtxLtWUGUvnlQeUGhMAmSjtWXyFtwhgSbfDpaOEvbdTaACWzijsPMdBuXEQhwEufJbDLaHewSxvFqqyfjEklPqdqlyqUyvrtSELYclVIAToAMdHnnFshBVgbbkjPfXgQABDDacwEHrFkCCnkDoPtFTEHdTNscXgbZtXnNrpvoaonwulgBXhRjfUKssbqU", "tOdGQVsdUbYMSodYjMPHfQfnhRSUeqUzROnJCqRVGNFeIYxLoCFYOwRaXYuQIRDfhZfnwzOJTpseHDuqyfpbIhzXzDEpFUQkuiKxtNlnmHDrgzGZIAcrYnAxCrZSixXilYdBesIWTCPtjbuBWUFrweYftfSKjpDKwKwxkWqxNbLIGUhHpGXRgmFawToZckHwHXPkLKzakZjayLKJLxcWAeTyJsuwnWHQsSmbsnabJXWfJbPqtwdzEFeDpUYBYPAL", "gCGWMQBZpFCmKPYLXazqNOoTTEfhrOTZqDWaQvBZyOcXMEcaEjOJUFgeUSkdMfHujTbqcBPQAKyRqZowGmWlZzSjLRDpWcfmNBDGQizDbUNnFeqFMUgvOFsVfWZcSYSciHIgJyxKLlgaNMQeNeLNqECdBuyGBYMsRVfoRRxGfIFsdKLYlowUajMpOuoLXEpIxEkQjKjXxgDlFmUKvPIOROpbxeocFrQrSvkzcuXJmNWIQGaepycsBtHtwCJwYwvt", "CXWqnxWsngVxDmKvQDCpKlEtSUkvTHLKIersCeBUMbKeJUUmsBCmNXMLCmYLZofvEYCslSdzSXuSFwecBhdNOzeyNnBJAmqkvlnQUqdABZyiRnMuzQWMGftkZaSpzuXRisKdyTvdhMtVgIawlVWLaDNHWZZhwSQHhLPCIxRwKZDUprmawrXDuOQQYPqCRVjjfnHPdXMWxenJZbvFDpTotBdFiBaqJWcUvjXcXuMZiacMjzCcBApbJrMPwLzRSzcl", "dlEZHUYTMtyOSWcQJNYRSDgoOoZdXOLYQrqEopMjLLkyiMHpuVHdnbqkGKngrOaFLxOIggYHZTQSKjmvvBklBEYencycPGYmeiNNMrJCuAYehvOqKrhKJOOAjLIzWrUJZMHtIsFeeZIkjqeWpGmuAXbUMnpqXrmeFmZAdgTaqIHRwQTgZGCtKfQJcdNLSgjBkYIeoPZnKmlyvVzGaHLNRsVpzOLSIwIKpUwWcDjbRADQepktpyYuoJdkdeJZLSDL", "saBxStDnMcPXgUmmhdqhCFsbAIFOmwiuKDqnVBpRpkaKedqSrLwAKlmXmHJvNEjtsGTGquDVFKYGPiOpwmWuDbeTASapNszEtuKFZSOBofLiVhsoAAygaaUBYpbYbVaQqxczbBzgqcTViJhfEayIoQpmxWqgFjPLHOhzwlVTVCQzjsjzRExmNMhHUuPtjlUPDmCHDfAfFswubjoOdgAorvraoNKaFBXjSxXJmQDbpbJAyRLdGYyZbzsgEcqcSYmX", "NetbEnfGXmMwwemDoWrICGZjFsiuVRwbFqXmDzzaexgdAlpaeJQSKXfRUBedXgpgpeMwwxxLwQXMOWZwCNsirVCXShMzYWTQKEzVbcOsRWNbjuThOTvqMXDUNaHskAaMFuZoHbmgmmsoYVgLRyqTRkdgIYSLYSEwXwQSTrrsbDrsuuCpepMjuBlXyacJQTELPFDfBRThjufvFVxctgsBNGUMCVOSNoIIWmDRVarnaPqkBYjDFpxYDqFPPOQDDjHB", "fdIImQRvOuPMZBfaeqCaYoQExCuYKXHFrgNmGBDnuwijMZauCuZCufsZEevrUfQSDvEqhxWLlRzqyiMndBssjRQKenKTxtvdccwFhTvqjuNoGJNyBzHXkqVHuwfclXBNXnRHlCcoQkxSTKUZvnDWYPzHDWmFJNcjozHlzKjeggqbMaxSRTCNcgQhLtFOdeYjDLiGmfrafQaQETtBwlFuIZuUSxhDKojCyHRYqILRCCvloGgWzRwDZGYjtqGFrAMT", "WKXAUbhihKYCAMxiDNbIPmsTYHfCWogKxLkmTIPwQCnfSlXIqvDycGdxVeYjLijMUfvNFEpvKcjgIpmtxEEyoATUxRQxECXWqPRLlqMvVTneJIgoNvmaYXJRxZXcJgFBqHbiXwtUrZpIGGQbklODtdwrjNggQSixTIgKWWVIuvJwoSoqvsxztaYxAECqLnXRCYYXICjlsLDRZiUNhLdXNJTPdNYUxidyOpiKQVGnYNxWndFMGlvqAjqknArkWQbg", "hicOCyZyiVPWtiQRCBUUfWJMzcpVMMzjosYkNdwNkAMTeRcXRRkznVVVgmOBksgyJXfnfvBudsqulrWaJyFTWuqXFwOocTaZNleyQJReEVjNySDONEZWYRSxiBZWEOMKWmYZWEWIfTrxVuSGtjAHTtgYnyBNEUljnyyrHDBgWXkSzvJzDUjDJmkaNxkkXMTBytHJVuYSrwQwgUxQyeyoMKJtHXwWrOXMxCOdnWAPODNDDChCaIBqMOpKcLdMjazy", "zCXtNvApGxbtCzxNetnZskXjuVZHvEwqthfArmBqmgxfszDZQfPCLtyMSOuWSvjjzZJPlaioKjjSKLEJExznHxawPwlqSqdiNxxZAfjjrdcZKcqZPJCGXdRGmSnyQDCfLlBroZZrVLwgmHcTOkIsRzRtvzcYLulDWmpZOiUCjIpFiSHwQMcTHIUmlTWHBgyIWvEGLkAmDwqmelyxnNvZOXYhaLcptdycOLAnwdDSkmtArEPoWtoDrOozcuRZgiUi"],"c_array_datetime":["2003-03-21 03:07:13", "2017-10-08 19:23:34", "2000-03-25 19:53:58", "2014-02-01 12:27:47", "2001-04-27 09:59:49", "2012-06-03 10:02:17", "2001-08-04 05:39:51", "2005-04-21 20:24:31", "2003-04-19 00:06:38", "2019-06-11 18:05:37", "2002-04-14 07:54:13", "2000-12-23 18:18:16", "2017-08-17 05:11:12", "2017-05-12 17:54:14", "2012-07-15 20:37:06", "2011-01-02 06:19:46", "2008-12-20 07:29:19", "2012-10-15 11:34:12", "2019-07-01 01:22:11", "2015-07-06 06:21:05", "2003-06-10 13:10:13", "2002-04-07 22:18:38", "2005-03-15 04:10:18", "2007-01-12 13:51:21", "2009-10-09 19:19:31"],"c_map_int":{"c_map_int_1":-395720406, "c_map_int_2":25306194, "c_map_int_3":-813353698, "c_map_int_4":-1953749347, "c_map_int_5":1180706895, "c_map_int_6":1751184418, "c_map_int_7":-2027411129, "c_map_int_8":-850429608, "c_map_int_9":2119945314, "c_map_int_10":1231773814},"c_map_string":{"c_map_string_1":"mDzMZAvbcaegZFhzzToTgzZBoezqFjPWgdYJVnAWHbsFWUaSKmSVHdeQDgVgXbUJkLnuMrAQzkCcKYBsKoYkpkIdZcKDkAwZVRgGYdvBhXptfdjXLzrrXAChBUVtSMpBJnFxIPKgHcILgNZowIaxBDLYyiiafKgqFRfYNBxwWBNJeuEepvOZSgZCUSwuLLePUHqfvJlOOxazqgRjZDqNmEPWlZVwWoewOFHNGiYinRAcDyOjGsttvEAVuTdJFqhpGkMDwmtartyGeuqyQyNvpDhPgtcyceGzbDnMAbPUfZEckStxocWVhrqIAwpPnNNhgpNFKwPTFlMOJekYuEzTVKAEgjJgxdzwMhYSlcWrvWUvEQyerNHKuuZUnzxJWxhdSaPEgalIcJfgIneaxsIcpxitCiuqRFzYoOuZhjobZahfLZSAeffeldYOYYECikKUxObENGKQXNuSxBUtJHuYoXTRiqxQfvljaKenDrOGysjgnetJxhBjQTuaTbuJRyLG", "c_map_string_2":"ANoeIAWYEqKUSMjSFBmeihXyGlOgiiUCIdqQztAuWgRMnIAMVxCYwijdXKZbutUiNxrtCiIXlMWBBrqtRPwuLvuHrpUMqMEFiXzuJeoSdEDWZdTZGIeZazoClDJchNtRIdszwEygvWJyaxiaTSlBhUmJnvZEbqYCjVNoGirMbUMVOhYtbjqnevndDfUpDismmtVOFxHSTrtiqDBsDQfBfCjrZWJpSIgMVuUrSEULUoslYjBPmBEstqkEfzAmTmkIPFBpYTqhYonTTyNDJkZcXljZcaPErgomZyHKYrSrWxKnkVhcRprnbuHLdeVBHLVLFdqmoNMRHdaRzEZUvYEWaYiiQHVKcEmqBAHkeQCQWwsRupFMtaceXuvotPxecOEFCekxlQsufsxZLQPmzBIgbGEiRWhyKKzbQzMmupXnrXSRRdURvleIvgcAHudzzqhqdYYQPEJBsyCrKDEOUJIfFGHxnkSEoqpdIiPlTIUkNNzTAoWeEAqFZginCZaccwSN", "c_map_string_3":"RKKCLoVhvLHynnMhMEKWVTsxZxZZdzCEznCOFqWRmCzzFymSIhJrLTGSDDBXFHDgbMxOrNClfLVsoIVnyyvbpBGrCeKPFVHlcEcmAtiYDTwFEAshsIVNcuUqqVtZeCeekFPGfffccGvHUOjRzOflzrXsfdPQaNyByZVQsmxgaormOKqbmQixKOFofHbjCYjSJskwPMRdyFquiROipDwXBOrmmzScmNQKRWWEQpUFbwRvVCAfqpdMlWUnEasgkkJiiPzKjIuSfIsgnuMinCNRNIwnbgrqiJEDfxTigJeePoXhsVYLUGxtbHtTOaKBMreCTBQbPEdLWuyjRqFMHNyoRtetVuxgrITdEqsrkBxovNCeixAnSXTqNunlpTijgMWGsQQCqrNEjIJtjiMvoKjtKgMMZSUJXSLjpktZZNGbWpzbPYPJHhZcJyEfWSwCieSmjxMBRKZLOqJDQSbFgAvhMmEKvRTQYisigzokjqyfQSklaDTfahrZNOfAktMsqRbT", "c_map_string_4":"yqYvxGJLgTJXxHbkmTVfkflvumWaTzdQGqLhwiLqJWsGSlySDYFDOVYKAadcOLwMSWVRJFAifMZTSMhrEqltKUOhpFOrAUIIZbPUuWtiNigalBAbSLeBRaNPPPAvMLtVFurRjtIynmsIwbKNSHlwVILtPGYgJcNJNwEPnqNZKHKedmJLVTaUkZWBaKIjcyZXXSsmyEGcTfNOyDlnsxigSJDDXfUEANnkfaDAXjtGCYPzdRWackyYbBTHVnGkkNygXbSsWSHHsJmSMofPgdtVhMUFMhdXPCDQymYITwxfEikDGcprkNQxVauiBZtfCUjSlBqXyWPPfwRIgfFvHlxFWsuxufABZVOcBhGJPedirpUJBtBbyitMrpYyEOSGOqPySkhJwkmTfUEdGDsYCnbVrVPEXiDDvqovTjurjdYPlRbflBcxUnuvduTMaooRQOgPAcCYVntyJBlwGaUULWmLeGlUjgLDGOhroENuldIISNwBrEGIvozvnvWiUVvAGoVq", "c_map_string_5":"dCUTtbIPwMotFEiaJMURdyxalMLadRpAXhVtGfIhfBnwxtenkiKnQGlEDEEcydBuNXxthHOBhklgXysPcOPRaYKqgZgqFznDooXgqLfsFLMgqSsOcQomgAeRTZibvfWjnvQImScHwilbESqUbvTUQGIVQWbIBeODMFywYBatMPvkimeRxblvZugXsYwGxiuRLLyDXPBSivITQBXzabTTRqwTTzJmzNLSUOegTUWvfopirrsPLuynRmQuqJHvVzDcjIJaeOZGypVArwjwvNcTpQVtJTIssYaCUTWtMfvbAPYXQFqfGVjBqhTPInUBNhCgLSdnIzdhuOxRrebjPHgijtdHUlunrFkBMvEbcpmJKyQgUGsnPTcFgWeeexSNevmhlEwdnTgOgkDEpFucMQGjzPLGjVshZIyJhNciLLJAbatpGvmrYUmRtvpOMeeXuloUmlHPxiNKPkYkIPhwZvUtnuaBDiXXMgumXiBZeUaStLFvdWtZPUOlhIZcKciGRkwn", "c_map_string_6":"iRVxcqMzPLDBSTeoeyuMqoCqDxUKwAzzQtZpkhPsInIyxqMIZeQYERzXLfXIbCYguOhEQzsOnZyNFNgoiUENQDYqteHCiMmketkHknjdxTAjMoMsFqlJInhLjactdIpGTfyDzIAkzdWoSBfbrQUpgYOPxQjtTnZxkLGfBWabsyqIwgnUfficcymykPTeZInppaWxHLPVVMXVvmsNViZvmNnJTjIsKZZffEGzZhLKjffovGiKtGMWfPRmozkrgufqqqKwutkHaykERSpFcDetfDTNUnMycjscZLMXDpWtwvXeECgldsXDMLQUSvUkLwvrbBwRpZxMTVmigyRiNAdNuFVxpgyPcxATIxScKRLaeuSacUCxAzLUFslnkPLBuDxHInRYbaEVfRaUuHimPnGMqdJStSKoLzUWsoNaDqnOlrpLgTMAcbddWnGjemNQDeRDQcPqbMadWDKsYUyLJUeZeVrvEvwLxOXndYiuyfZZuRZlYIsQrsBYOWXnzaVIBPxU", "c_map_string_7":"fToXcLafBcktaUTXyuxCwnFtdYAxGwclIvAsxXpUOtauZIoXsJZUFkfBMwBozeCUJjPScQDpzZJzunBwxVtNkqgkicNOTEBJawdWMyjnkdoMZqKcYYqkJPYsmDcRErJyZYoneVdoqGJGUBtiPoBgfbinsJiXjuvTJupMeRrrQACiTjatgFNbhsAlZnQNZoPNzCgiEkIuaNOGXzgylnQixfzUEJngWzJtmXTofEyGacybctWvnOlSQqOtqLsDkXGSfpEaqEuJAZPWvKHwwvoXKozhWxMKkaWemDiAGtAbCqTcHYhKIBTYTymVEiGHIzaiUXOtsHVZmJNAYKxuDRPjyGPuVTGWUxPpwNCPdMyPTgFxqZcHsgtrRUUvJZVBWPMLrHnuuDCoISQENpeZAsMRyLilQdkSwHRTcLjFzvcVpTKFqXSehWKKJaHtiDxSfgfvmYfphTkQexSUSGMGwDGwwgCeErzlfLkElloQIGVPlQgNDXYOTmdHjMSHTkvBxBOX", "c_map_string_8":"juNeYmLlxGRBFzPKXbjHMYWgtJccUAxHImEuuJVNyaWMBgvtnbDwVPahudkPvqACCwjcYugIiPTOKWXoRpkElxTdBzjUSjsZeSvAhUEcmQGxEfnVrMmKpDzBxUpAimqmkqRjjzvZHcXcAAlGgwOTbYMRQFKHPLqoyJiRKdKkgEIWyrqoSZpqsPgHblvISLbUZphemITjpIjfzhKKFmFuREKmBNCIittjxWZZEnnIZkqUkpGxfRHHvtrutQKugewtjFcQeyVWdzDRbiazFGxKxIfupcdEbYjmJfNiMurPkVgNGeqKlzbmYqMVKasAdbqdJveGhpyYirhJaZnVsbHCddTrnIsAlLqFHaXwwFAvsKHgBEavKrojiClFZZYRYlDoHfhkGigBwAAegicbTZfWzQupRlnEazWGgYXKQeVVRGyQHGRzRuxvcEewUvDONulVxHCvgMpeAnjmrQlcDQAgyFOeVduvjYFZwdDfzIJqWbvSGKlHrSbuyZHdJjSdhZNp", "c_map_string_9":"YhhfYJdYZURPZzptQygeOugVqzHDStKWFCyTrkHXUBNBjaTtfgzCVTIVmkTqOPXzzeLNMjiUSnfSyDZglfLhYvHVrHmTYOhjOWXJLQQCYZlRJBrrKYQjfJvmKAxcrQjyIgtHxNCJtBUeNidDOqJKnnduFmIccVGWLKYWugnUxDhkjjGcslbIkOmsUyPkMvqxVYwkLTUGWcrwWsdtDOxCJcYEcxQgOyuSirvxUOhyvckdPZwXYJTpbvKpBkgtWhQGKAKtcQIOBuOYWymkiVtiKheSCPEVHquCvOsvpGcKgbQiiKgqOxowqiqqCOZdtvcZWxykTyJPXWSOJkqygyfLgHjerIZAMJMmnFxVPGoXcdyAxenyHLSVWnPXozYafGTYMDntjAZObsiOIRIrLGOruUrJnxebfJwfuXwNMQjdESPBwckXWReidFTLyklYtnXFXTMOMJRwLFTMgCOXFDdzwfbuaWooyoWlRFzevBzdFKTESGJIkLtVGVVlRCnuJlyT", "c_map_string_10":"kuOFmzrwMiFoNDUcWEVbihDKLDWTNxVyLfeTTrztxRmwyuNPktQHhBdqubrpiEUOMtsEmDyNhykIIbGcQUKSgggNiZRpBYHodmHinuCkNPsYfKvISxvNttKRhwsgcFTPFzRjYjdSdykwpsptWUACGRwUUPffrBcxoRhjhMLPMvjOlWCWVAabpGKZCkPKqtUpqFukwFBwiZurUyHnAZuNDtoLIdWlwRhReMnMoVWQJMlAimJfBYURMIsNfTIxhLunJthMxShqSpUTWfNlIZaRSEkAnmfyoorBjlnkcsAOAQoKNVWFSQQjkTWFYmJzLKhcsCtrTmMOFtypWpfuhZKttCWiyxaqHgBMQHNbmppHOzXhkvIlflmNYoxRfHewtRoJvWRaglEbFCBgaJedjGOxfVHGvYnBKxSnYCGBzEVfmjkWqgPWrIiSJAGofrGslLHzmHMSnJRFdlCrEFuTNdRhnxeGkPjinSkHPjBymwnrdkRtSrIeybmSmEXKVdFujTlL"},"c_double":52.91961515947064,"c_char":"nJPyjAxZjS","c_date":"2006-10-02","c_array_date":["2015-04-04", "2009-09-09", "2015-11-12", "2014-09-23", "2019-06-27", "2001-03-21", "2004-10-01", "2010-01-23", "2004-03-13", "2001-01-13", "2016-01-12", "2018-07-17", "2007-03-20", "2018-01-22", "2002-04-16", "2008-10-10", "2008-04-27", "2003-11-19", "2000-01-10", "2000-06-02", "2004-12-23", "2015-02-25", "2013-09-17", "2016-04-07", "2018-10-01"],"c_map_ipv4":{"c_map_ipv4_1":"148.143.143.15", "c_map_ipv4_2":"222.156.35.102", "c_map_ipv4_3":"208.115.65.97", "c_map_ipv4_4":"69.11.110.159", "c_map_ipv4_5":"234.92.75.135", "c_map_ipv4_6":"67.230.34.196", "c_map_ipv4_7":"216.242.144.113", "c_map_ipv4_8":"5.116.40.105", "c_map_ipv4_9":"99.83.249.17", "c_map_ipv4_10":"207.119.197.164"},"c_decimal":50.0862,"c_array_bigint":[-2915716966688753990, 1311427701953327139, 9008041617923867263, 577127896634247810, -7495928268342202823, -5667478126994015213, 8536833881435628562, -7054047493953933124, 481753106399908041, -4094138056084197847, 9199293556967045987, 1708458651930964206, 944548724404175181, -8929929224130341160, -1452011327179593964, -8224559238677665790, -2750226647604093341, -6504532509818863569, -4810674533443518116, -8906382638432483616, -7711244359929362512, -2856696006668700888, 8568457506278743258, -1314328032273641210, -1992461274015606450],"c_array_char":["RXgHKIvgbN", "BKASPdUEYv", "ULLnZCDdBQ", "gHQzNJywBG", "ZMpdQjlGcM", "wejLemREju", "HDCspJgsCa", "XdWOdntZpF", "bGlcijSOuz", "EsVLhJDNHP", "kxWaedtVDR", "zYHTjMBfto", "FJIUhVHPKc", "jvhMmEqzLx", "OcYdvFSzFR", "RMMqSMsdkK", "jgUjGJqFYH", "QSVWCnYhbE", "CQVUGXIAdK", "vmGfiPTHnM", "nLCINenbby", "eLXqheNFOR", "KYzxUBlKXK", "LBBefhLYxe", "rwvNrKEFii"],"c_array_ipv4":["EySXqVHZAf", "KXuqVYtLRn", "twZnXWuxaS", "trkpNKiZyu", "giqamNjSLk", "pYPlgvzIWh", "xzCriemRtF", "UhGIRiDRSG", "AkjkLdFZLQ", "stTLBKzUJp", "WfroeMbQvc", "PeFESRyFTB", "RgJZKyvHMb", "igLZqfTuIk", "DZyVwNyPrK", "bEQdWxEXvE", "gzXkXRlShr", "xJnqsrRJni", "IWgwSSPHvL", "mTvyOGKeHX", "xhaIkcKEud", "bUifMCfjbd", "LOhMzHUbVr", "phhKKLPomI", "asZxeAVnmE"],"c_map_bigint":{"c_map_bigint_1":1175658594573517612, "c_map_bigint_2":-6531802424449316785, "c_map_bigint_3":-1944053123117407589, "c_map_bigint_4":-7381027385425688187, "c_map_bigint_5":-1801977875903523294, "c_map_bigint_6":2057678098207348956, "c_map_bigint_7":4614244070522241758, "c_map_bigint_8":-277274722578435643, "c_map_bigint_9":-8403711825727365650, "c_map_bigint_10":-782296547666849758},"c_map_decimal":{"c_map_decimal_1":52.0519, "c_map_decimal_2":21.0119, "c_map_decimal_3":6.1957, "c_map_decimal_4":40.1811, "c_map_decimal_5":88.0186, "c_map_decimal_6":25.0641, "c_map_decimal_7":30.1996, "c_map_decimal_8":73.1003, "c_map_decimal_9":53.0597, "c_map_decimal_10":3.1054},"c_map_date":{"c_map_date_1":"2011-06-20", "c_map_date_2":"2019-08-19", "c_map_date_3":"2003-10-14", "c_map_date_4":"2003-01-05", "c_map_date_5":"2001-05-08", "c_map_date_6":"2012-11-15", "c_map_date_7":"2002-05-28", "c_map_date_8":"2007-04-21", "c_map_date_9":"2004-10-16", "c_map_date_10":"2009-09-09"},"c_boolean":1,"c_ipv6":"5842:3164:4cc1:ecd3:af31:6dcd:1f8e:3cdd","c_array_float":[6.06303, 4.6168337, 82.377075, 30.771498, 53.782234, 99.10157, 85.32683, 99.12009, 17.186281, 34.504707, 15.1247835, 13.644217, 21.231668, 12.132011, 63.52225, 16.154856, 29.189693, 3.36657, 64.81516, 47.05788, 53.886986, 5.4047785, 59.93511, 60.648716, 7.991792],"c_json":{"minecraftfood":"pufferfish","bs":"brand","currency":{"short":"EGP","long":"Egypt Pound"},"nouncountable":"pen","sentencesimple":"Attractive plant win.","vowel":"u","prepositiondouble":"due to","fruit":"Bilberry","movie":{"name":"Avengers: Infinity War","genre":"Family"},"httpstatuscodesimple":302,"quote":"\\"Chillwave blog plaid authentic.\\" - Cyril Klein"} }','{ "c_map_bigint":{"c_map_bigint_1":-6307701340410084614, "c_map_bigint_2":-4085239038037158166, "c_map_bigint_3":-5195604844251884823, "c_map_bigint_4":-7041442270631978566, "c_map_bigint_5":33164943303961804, "c_map_bigint_6":-7958357004027717784, "c_map_bigint_7":8105906386274607777, "c_map_bigint_8":7083760697404423064, "c_map_bigint_9":-6309513548948036755, "c_map_bigint_10":-2788935155245673174},"c_map_char":{"c_map_char_1":"lwAsTCeTPI", "c_map_char_2":"JsITOLgDGh", "c_map_char_3":"OlEMqohFON", "c_map_char_4":"syZnmbkYmN", "c_map_char_5":"GqdfOejAKn", "c_map_char_6":"YwPnisZBDv", "c_map_char_7":"VeZTRGKvNH", "c_map_char_8":"zKhkJPttCJ", "c_map_char_9":"DSObfAQnAE", "c_map_char_10":"SlthndzBIh"},"c_map_varchar":{"c_map_varchar_1":"XjPEOGkMfwRTXjCIsUZijweYdFtSShMqpZwybxSGwYCCRuOietBLvDTGtSunmSlmTTJpABWLvaqRyGGoqOmSgdXFRnFiIPtrLWLnLuFJxZnpglvUpSvzdFQEXLvRPxxujBXvlyLRxZQDUFFbMtLOHXZKkIFsUSoeyBokrEPfTJkIUpTUONuvnEcUBpfZYAlTNlGkPlXNohtTCDtchZdytXCXKuUqdpkofxyexDLObvrogeWnwHkbJDbGSGuTupIN", "c_map_varchar_2":"upuycufWHSCszSEXhsvgiPpVPHrykKUGAvEoCxTgnHtKiqGGKdpWivRXjcAPOTeiQGALYIPRELNSGJVyvdqGNFGDMKniFHAiNmRQbxkCXyQfKdBCJPzecnopTYUMvNRbZNmmOIoRYbUQtQzIkZNxqnLPotJIXiJJKvgElaQDPQjjyiBWXZubxDvoWhgZWZTZOfuDFrgDIrSjToIjFhKydOLmlcnkYRSxRvIObEuceHotBEIyjAvRWYhMTnwHbkTl", "c_map_varchar_3":"rXUDrdmFfKssoiLblhqHMbjxRIFBWJSdjmUqHPpQcDKEablnQZWnGqcNvuiGyhoAAFhvXuqfydhPvEUqmHBxwVzhddBrGWLIDHNtpDNGpObEmJERRJLGTQDiYPVZvjxdOjRJoMkvbnwGAgNbfpHmUEedROpyUMCTmMsadorXCRllJrRUJFuuZakEoSzLtZxMUYcMkecNIjlKggtpZoUvNPmqXPZAbfbFAUFTKdWxDOeIXTPZftuvRduUuRkVSfKZ", "c_map_varchar_4":"YVbymizsbIWRlDvixoZyVojBVPEhKFYlyWgDKmSLztqAAKClxDbdamODKmmgSgvYFpKweUOHwRvVknxSkVvyvoEIPoUoUgDtBToudBueECLUMXipuDwGudKlLhTxgskAHGjaRSlQMNSepARJEBQuYXWThgfbTqdnRiOooLBsxlaSWrzASjkviUSnkzLOmbGazGYkfUMlcSpmjzEINxOfwIbLRcvhKKbnAvOnuVvdvvRgMstFwyaxzXDswbzifpDQ", "c_map_varchar_5":"qNXUWzxHpFNsCdQtvLQQonVbgeDiHgNaNNjdgbVxvsibmzQPLoYscwcwytCnwGgFnausXukNoJCKTUzIrQKHqrwPKxIbVRnMeLNzETCsPmwmrXlgodGKmlTMgidgCjvEDztspeWXpsfjBuNwMwadNTroLtNHFFRYtOMWQQXjUrseOqGmqlebqAJoMPHOeyQLCwRXgccpsjiERbAaFGSTVduIvAFvbdICMiiASXnRAHFNtbiuEpRgUsjtFYundBwb", "c_map_varchar_6":"MwoNGJoiIZCEzSGkColrBAYnTPpKslccaYqCVHvMAjuzCPpnGGzYZxSJOgxRBRQGQRETBbzTisdnMwkZQTukiqxygOUpdggGBSrGivOssjnrYBEaOycqQuhmTUlHHNLrTYueOKbArOuonmAKqDrGTImLyAkGPJSZjzuEBKlSBchUySkbtNahZPIroidggFeHEozmyFQpTljtZyoSejAzwzDCffguDSrNpesfEXbbIqxXciUIRzhQxAbLbwkRWdrn", "c_map_varchar_7":"sUjYoFslSiobZcyoTnoYEFhieBonZzakcDTwLIUlTkLIryucYpINyqSpiAbBKfoCOAZHivMbsghimWrEeYbiNXijYaeOClRhqnUkvyajdcVJunZEsTqCDGUEfeHEBGsJeaGJqMOWsvpatyBchiOIRkiTpGWwJNfpzGqfgRKKmRppMJPiCmhATDqqTdjpCdASlvhnpaXmzQAmzGLCsLGvDKwOqUBxSTgBmbgYKYqagslSzaBQIvuDrOFCMMqxXKKy", "c_map_varchar_8":"SxfNaPsyRlqvifKkvtOSukSteYJcNBFeNgtXaGtGaUmGwijvwjhtysFwOWtMNfBWUcmpIECMOcWslkbhwbESdglMUCTtShXctNAIxdGazIRJpwHNWCdMgnYeVYfdGgjBihQhnBQHWNxCpkjyOBsjAExorGkjBAgWWVChzmcdRbMIzOQeQJhlNUTQJLTnknvMaPlYAXZDjqAZeeMLSwKydWVIyznRNeCgUPxhXdlKIBvPtgaVMtDlsrCEozpLcLPl", "c_map_varchar_9":"cztOIdruiLNQYEdYEBRuoPYnoRVMuGZxAuRZSuUbuiQelOvpOxCKhDRlhBeQBsdzurRXZOiXzprFquPKvqNnMaoXXwIPpLnhigRnpTsUZQctSnXkCXuxITuAgnVvPrVNhVczOWoITfhCvsilLyyNTokcwqXtZeCkEFLfhVrpVjwcXkVDvBGEFjBcTbVfsbUJqbiVrXDwBNxSsLBpVonAStZBbxeStjrBAPhlpYEyCesCSrscskKEbDxrpwmdxYLI", "c_map_varchar_10":"KXvjZWciiMRZWnhvzbwDTpaCfBIdkCxWHPJJXDnhrGGCYptoEsLmTPQGahkUkWswKRWKtXJuOQSRoXzWhIEusAGIiWJQyGlFWxlDLtPxRdGoTtMDmeKDpAogDZfspLgkUgTPqAESiEdcyMLEOJGDpBWmCkfSKetrwDvTsDPYujolgxMsyWbfQReORJqwdsACfOZccuTlPaXFrXooMsQEFBqPTcFDBqzPyremvPJdxYvBhrrsPyOUIQUcuJymcBBh"},"c_largeint":-3449974108983382153,"c_array_date":["2007-02-12", "2007-03-07", "2015-06-01", "2010-10-08", "2009-08-10", "2009-11-28", "2010-11-14", "2001-05-11", "2004-10-11", "2014-01-10", "2008-04-01", "2009-06-18", "2004-08-13", "2015-09-23", "2003-01-05", "2007-03-26", "2017-03-18", "2006-07-15", "2005-02-04", "2012-02-09", "2012-02-16", "2018-07-10", "2003-09-13", "2019-12-17", "2005-11-17"],"c_array_boolean":[0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1],"c_array_largeint":[3849980923987028832, 6394014916820808928, 5059033971183744094, 7122029609092487293, -7123092516139199873, 6358356702290092171, 1738128697542921725, -5493348574129270796, 4102394516541900973, 9137481832222664915, 2507750772965547842, -2431426682478744480, -7756151116388468990, 4257650116571865048, -5831661447883495945, 7815206324025953616, -7981345848253156613, 1783075782115741477, -7589605875936990556, 4450666232567701705, -9079977864282926635, -2179210437945853637, 7462505879493104427, 7200355424584729707, 7227211359241991855],"c_map_date":{"c_map_date_1":"2015-10-05", "c_map_date_2":"2017-05-24", "c_map_date_3":"2013-04-19", "c_map_date_4":"2018-11-20", "c_map_date_5":"2004-02-12", "c_map_date_6":"2019-11-28", "c_map_date_7":"2015-12-09", "c_map_date_8":"2018-04-05", "c_map_date_9":"2000-06-07", "c_map_date_10":"2010-12-12"},"c_map_ipv6":{"c_map_ipv6_1":"27e0:9a33:5e20:95d:ded2:14fa:9cab:9d29", "c_map_ipv6_2":"2b58:1a0d:418b:a3bd:621a:67ee:7eaa:3bcb", "c_map_ipv6_3":"7ae1:a3c5:fdf8:ffd:a7d0:de42:4dc2:5fcc", "c_map_ipv6_4":"ce6e:241c:c57e:9045:327e:c51c:8577:efe2", "c_map_ipv6_5":"f694:d015:d53a:a4d2:c480:24e9:25e:9a00", "c_map_ipv6_6":"3148:e667:5248:b115:27bb:3d15:d4d4:190b", "c_map_ipv6_7":"5a5f:5428:20ef:7e9c:836d:a4ee:4c57:b069", "c_map_ipv6_8":"b144:e073:f794:4af6:e32b:8476:3cfb:f0e6", "c_map_ipv6_9":"e177:325e:c272:e71a:21d3:a719:c28:adfa", "c_map_ipv6_10":"a423:3bdc:9dd9:ad70:853b:d7b1:3693:b1ec"},"c_bigint":2970078017670702830,"c_decimal":84.0896,"c_map_decimal":{"c_map_decimal_1":43.0455, "c_map_decimal_2":62.1945, "c_map_decimal_3":10.1011, "c_map_decimal_4":33.0580, "c_map_decimal_5":9.0034, "c_map_decimal_6":87.1831, "c_map_decimal_7":11.0279, "c_map_decimal_8":4.1768, "c_map_decimal_9":12.1149, "c_map_decimal_10":54.0754},"c_map_float":{"c_map_float_1":37.144806, "c_map_float_2":57.968422, "c_map_float_3":46.709675, "c_map_float_4":57.899967, "c_map_float_5":49.5614, "c_map_float_6":34.895004, "c_map_float_7":5.2573676, "c_map_float_8":48.46786, "c_map_float_9":78.53317, "c_map_float_10":86.115074},"c_string":"LKoeWqUcfRJEqwzoGkpDpGJGkZfSJMNnQZKpfNerNuKVLfXOWnNTqKSKMQUQIJdLcJEQMUjpAXifJeeNHFNRcBiQNTeHvDjRGlsLhuHKqLkNKWDBBGrRmrucFUpYBNskunEdARaGnREdcmTeanEuwmUZVObaoHPBCsIbkHpvoKyVVHRggZOEYuFpvcwuoynHulzKlpgXsnGcsAKBnGhvaBmHvUQSAFALtmXOKjketmfPhFBsQQRiyAGozjtHsiyvWlrFlrGMQNitoyrUFSiCfxydmeMiIKyqsIsbTgCuFsYWwvSOiFSngXDBTcRKrofotjaPczoxzCZAupTaJQlbVajsNJVTxbyTpMoqdrnkmdXGLcoXbrxBzrEIyRxzODTydCJblaDaSXdyfmBtZORBTZPjUoILNqaxOsItxFNIyxQivbbEZXJvizzERRXNgQoUiAGeSdnvaWcJqPeXPMdKmOUncsQdffudQsWyNozZaufjeqvNOnWPvfvpiGspaypS","c_array_double":[30.82989223847114, 84.82850483646348, 66.37269109222125, 60.43705511852857, 8.720560167986106, 75.55526942894971, 16.21631400317765, 34.596444607103315, 44.92117383379448, 63.17429172569958, 24.732642068030177, 15.784190668963562, 18.693815301201624, 52.966668310412814, 90.57270416328409, 28.362829543080675, 64.7191049098243, 12.980968824952317, 78.99016548315642, 81.8428819189717, 27.57167261529793, 86.62845074209821, 94.64727986224862, 75.81760652351913, 39.8551483328512],"c_array_tinyint":[18, 55, -1, 0, 1, 121, 72, -90, 124, -107, 118, 76, 124, -104, -38, -55, -72, 40, 48, -28, -48, 50, 105, -43, 57],"c_array_int":[-245097882, 1445643131, -1909117175, 1402245151, -623502789, -721995211, 280277056, -1435988990, -1556282766, -1988737664, -17219779, -2005701201, -538401591, -882371140, -593437778, 983551011, 1262992407, 1057659863, 679451812, 344111920, -585194070, 1774019112, -2005488034, 1783635861, -1859656012],"c_array_char":["HdOukRtLYf", "wHrxHbHjbl", "uKaWXdwuqU", "QQiQFRwlqj", "sTojuMXlQU", "mmTzuocoXv", "rKNwPSPcgL", "iJxdIOfoQL", "QnBxZgaHvH", "iwhbxpqeCU", "eQKqvAUjpR", "mWnVfFESXD", "DTirEPvCkL", "ODzGFzFYLt", "wZbZtYWpGZ", "MLlLhhhBOK", "MHCQUkyRMa", "JIfrQqFkGt", "WAPsfyPFxP", "oOvcyFYGzR", "tolrkXLCMM", "eQDJJaKekC", "XVQufgLBzt", "RIYCLhqMdw", "NnVwsUsFYF"],"c_array_ipv6":["WYANchSoYX", "PjJHiyPUCS", "fxGXIRAEyl", "nfwBqNZwdl", "jdNlBaiQIW", "jYJfuUwryH", "CzqRxxuCHh", "lINYmuwwdK", "ArvqyXdibX", "KngOFokfnU", "qdQkxBKhPf", "SOdrmbzrZo", "zUvjNouOrT", "wcYFUALYoK", "kSfxPmyEco", "eoOPwgGHNJ", "jIqjUgHFok", "CRmQoXKfjM", "MFWRzGrkoK", "eFgvXNrEES", "qGKiPpeOXZ", "iaSGaojmCI", "DqQDCAdwSh", "hSNndGzRcM", "vZeNYcyFMb"],"c_map_tinyint":{"c_map_tinyint_1":29, "c_map_tinyint_2":-38, "c_map_tinyint_3":-99, "c_map_tinyint_4":-99, "c_map_tinyint_5":11, "c_map_tinyint_6":-18, "c_map_tinyint_7":-110, "c_map_tinyint_8":-57, "c_map_tinyint_9":-31, "c_map_tinyint_10":118},"c_map_double":{"c_map_double_1":4.961338706430838, "c_map_double_2":11.666804544806169, "c_map_double_3":64.62265256038779, "c_map_double_4":38.06960519142297, "c_map_double_5":1.0216417185794981, "c_map_double_6":41.10289975311402, "c_map_double_7":29.79225483312744, "c_map_double_8":93.20765754778915, "c_map_double_9":24.460435884505774, "c_map_double_10":83.60130042783764},"c_varchar":"did","c_ipv4":"130.73.44.33","c_array_decimal":[81.1296, 52.0911, 35.1391, 35.0884, 4.1681, 96.0946, 69.0386, 42.1856, 88.1937, 71.1848, 74.0545, 6.0623, 23.1583, 58.1575, 8.0954, 57.1791, 47.0477, 53.1347, 58.1073, 40.0389, 67.0148, 65.1407, 26.0191, 63.0267, 84.0684],"c_array_varchar":["JjbweMqqkLXPrQshAuFrwrndEzMpBseyEQsfNeKfgbtZLRopvlxGBNrVPAzVcQfkqtKuDwxEnxvlOJdTazfPubCqjWKVlKnGcEygeWZdZTcbwovmLwoVJLhXnqwRnnmBfKmwdQNeKoANgZyuxVqyebEPiiGFODquCmCqDaoPNXMbUHPETmnVStlLhJMUfpCqYOPHLXPLXeDfcDOBkrhWBVQlhMBbZrdcNymzbspfJRCCmtoIfVQFQbPkKGxiuNfm", "oczFPiIdBDhteQCPctRhMBLhPvMcTYTsrhwPZmYbZSICqCtWLGiLRCkGvlmIqgOVxdadkCtUZEADbHYxuzXOSqoHHludeQBaLSzqYcMCtHmDJFzKDpCrTkMHPxxjtmsDPrvwEvoOYnycrObUBGKQjwJVwHezynmDZMUMtVroSbMCqKtpCulaMudcQQVlrKKQlqdjVgPCzIZjjpTDLBGRQIWfvCKAXjELGOWDYUJWCFDTQhiFVNdtcXRsTxYCmSmz", "qbbLtdoMkEDEuriyMMlHkQxKHHBRzAmsPomZLGZxuJQaEvDBhiggbIXJbAXAOgcnSgaXFLbjGmvGTyZvkqWqIigwaQVjlGKQjLPkclFlGFxQXSZtdrazUlZoYgQmvtDmiGQGTziXpZpfSQYydzVstonnIszrecvcQrIRlBAOvIviNlfLeCpdQLKmqmAlWNnaqOefhqhCMNwvNDycckbStLVxbqtSqIGTyfYRYHaZBDywrWLOdFoABjFEQVxaDakd", "WAENteSqLtAxeWNKaNsPeGdNkhRlWRxQBCydmolHmfSxBLPJCGMwJQKVQjZhylzNnEOtjIbgQqeGJPpQjYrBqFKlTeETUvhxDmQXfxaqakiZVnhyafHBDDiMqRFihmybWWesKxfWgAoEVWcZsrMqsXkFRclXIDQHzVHkipEXuJDjdAAskNvslgzXZRJozkCcWJWnLTghCQQNPjEVjHzIwnEMnyHenuWnNYTffwvnyXAJfwIgsPrnynRTGtQSJEtq", "NiucNhNDLPpGrNaeRhiCqnFxIXvimgDhjazrpCfuYIWXDFTtLkQGvIfFrxtvlyiaenmKSQKMdLsSYUfPzuLHSHUKOHiWVPqPnZHridjmaKLTaWncdxlxYLzxvukIYmeCWXLctoMKCEezcIgRkDolParuFLMPIxGrLePBTSGjiuMDJMIshqvArGPKpqkQWFwTdpCXutnjkPzANdaQIGjgukWFjrZLPXbzRMMVZaNeOAaKHgKQrOdAlXIjWGykuVyI", "LFgpeflxqlKNhWbruCDjUFbiPGexIEPVaNMOLfJBsGGDpPEevbbXwlWTveTOsFveYdmTGnSGsyKEfyLAbSjvYakgfBWeCWUIbiURhglSTpxaFmVghmvkDGGfUKSrfaOnAeXOPuPUAGDMgXSUdzreseFZgZZfzJewYzKGjZeUPASunkKWSmPIOeFRnUivECLCCfXgXgSiWotogPVYEOxbVqIkzmkJYuDyqhDxCiOLovshFhbqzaoUUZFjxOFzHinL", "bdOysMXSMXONviWmzVrGMxGIvOzpnDzvPetjHzlPlPzJUumZmkjBDmXHVAmNywPcQrpOvUjWYejbmvQFseNVzOctFPhYpKqBlKsbaiTqOxPDBHhJAVWJdygrBFTWsxCJRnxQWIoXFeULQJlCDbiLCwdINMAicBtMooMlAssMuRkQiqyUikVbWZTaMrjzbevkoGHfGpcDzQcbqWxFxPESzkMPWwzgIbDygJxGiMGBjhdOAJzDYILdTZmZRwYAyEQV", "JbvuzfRWXGcxdnYPzyfrBeezsCxLoEuzFjmRNOjJekQHCUfLbgthbNnEcNKplAxbHbgYrSRuesWOErSNVOQaegxHYeWcahNfJSMYWNHMvHbxPoSrqMGIRhJKBsGkjNrEQwawENeVkXXzSHyHuGLRNnwrhaMmsaLQkcSBXalDelBBxwWYsEHTwDFbqjBVwpZpsqadtKQOohoKuVWBsVQcgRMeLwKlwbuqdlHoJxKkhpTspqANKueIdzdrIbFqiPbu", "waxBPDBJSDCWbMwfFdNbxqSrptzHaIuKwRjzMDxneJsEfPGgvFDLBsQAIxwOEouZqKqlFQsYABqwXExdioEokAOZXrIDoRvLigvLMdmlFWKCvbdfnBkWBaOHqRNkYqBAhuKgmsUkSTAYnuOocjGOEeCwgMoGyjoDjDUkdGhihjWduYgAYRuUPrOQaqPJhWRuXyrpImpZcETTqxOIBbeRejbXEdfxfSpqTFPuNWYzfZOVyUeEwSXCFRKkWlwpxnfY", "AoMcFcnwAdjuKJjRGFTOBeRloaeKchQlzVxpjYJqaufYdDrchoBithgfcqbXDlQjeNOBYLPxmdidPlWDPZteqVsuQvbCwuXmqwYrpZGdwJGnqcIeYUfOSMQgjePqHjDHDVVDgamjdMCCHnjOXgxdVUqqhpAZOAbbQTpSfwStrYFpmbtnXLmMGMUhRZXYQQRzNCPgYaGNSqextEmhVfUsgTybGYwYuYzMzXWcivhmpnUDlfrZQYTRbhjCbtFYcxBs", "eVbKJpdNxFXKwawCHMYdaKxmQMVLLvlQaALJtOEAqtpUoLurlPWgLCxfivGOHDPCdbXNOinychgbEKWUDaPZYmbBbpgOxlHeymObdslAASjPSipnlaWJdjQkEcRkAthGZhqByvkovuoMoUpPGPnvKVBzXfhdytmVBcryXeYhshUbPiMAiHGTrRMPRBfsCTFdvnEUynVmirGQOMWnSJXGpENHiMFXkksNiozOjhAFzHmRfeOQEzixUMcJXPRBzuGY", "DyavGeSaGEMwCOZDhEpGKeXimWWgWZQkRwTZoyqSruSxeEMCrfSbrJNMrSIPGbuWAYMZskIPmyrfGTUrdSdkidHfALVfEyXaXTTUUBWBnJZSxHuCWvdMIdxEyZNxyOFMAsPvDRKQDvlmVOGrTqlgtgBeVINtBDfpVazWISGRUhDKGXSQrEsdAYbCjXsjGEGaCinEYmsbxilVXOHZPNgHHxfVCeJUIgrpBZYORFqkMYsUNZIdgYqfaifEpGsWQWma", "MHXxkGWozBWVIkBZNjmGXsRpSBufGjOoynenSrDvWdnSGxLfYAlTWWVXGEfJfPDrJsLUYVbGsmlmnJbrmCkJXqNtKAvKZTFngcjfoMFSDZHlbxwDSwPdnEoUCsrmxjKpkJcJLeysoQgVDBZumizaghqwcIYKwTlaZMDbcNGdeAMEXTBEvpkwmlXPcScQdVjPwHAXBDhsvMCEWceymvTBGqDDkDwiinVSeQdhQiuOWDLhrLoFwdJrqLqigySZbwtu", "EtfNluiMsAlqjuBsIsFZfOBCSsstmosBEfEWozLAiNweTfZlZMhVzgOTWKnnZkrnTnEaOvmrlIDvfzMeYtmFIXOUnKepNBnLIxgCBwUeagRJxMILYfOobULLjYfRULzCdTrRSbLwpGlhiGlFQzRZqigTlMveSxUhICkFgyMmISPpNOKRuYqPxYBoQiSEJNwOXxXzUcfhvVSHmESeYxGRZbFYiaJVuZKtzpuqZWMEQjhwRhXxJNkjOOlYAmrZxpUB", "QLwjVPgnikJufcVfMhDeQqstkorBUTerkbEpYhqRbUCiSUyZongSIYGwAWFDOgUYkaIYKTlCkyZXLPAhNVWKnkRgCiXXdTKNriVaDLNEPiYwgCSbJbLaKHxLWobKEydRbWqCqfhzFaUDtEzAfIhFelLWhuWdJBNqgWmbfhaLgqjnHyhwiLijhwuzLdoNMosDNSMyHsZJiXDEKGzbCFPcfsllMLFvrrYrKdMyrnNBsdumaImszPLQyYAlgKKOTruB", "kqNGwsWkbrBwfKJshildmxJqJjKldCJTgExnYUacRDTfXdDWwKdPXyFsRmpSDASujKufVlfuayWNsqVSrWupgvKwIZQXVQfORzqyHBNVrsAOgyQeKOIGuJzCFUpnRqPCrEGyRUmEpDCNuIoDdwsKkgiGwkIAteyRKkbZGhoBEEOsgkgzGzflAotvvXObpgKveTIaVdbBOxOTpqAdJqpeBUmRGRnwkKCGsWrtFRkCIYAvKSRLNAcFShYkkKfjzmiL", "HqulKroMPtiMEIdmwcVinvPYVKdolFtClCrQAcConVmgMOIIZFTLkwoeekvKSBzYyYOuXPDCuJrkrbeYGTPDobIzrZLUxgWMYrCLXKOcMneFHbXVTerEcSxESBJSMqrjFSIpYOPjcMoFyOXlaVEIDgWnfcnYSdhcsjjYnBNOcybFfHNQqxCrhePXMnfgjDaagxYNWnGudGorsBVDMXRjsMUWYrutbgoFqWSvLQUmlGvBBQZjuLNiOQTYdDGyLxBV", "lTLLcAgISoYjqTAveLFeOxhXYweGZWprMWbhjLwWUwMbPVhBPicSJAZQwLjLlChmSiCRJUdBLtyOFlVjzNnyMifcoCaMSNOGSmOWjibqPbzyCmwaIjPRtuQgQzgfWsEPOEUPQmEeuSAYMYDtKCgXOilgUBhDHGwHivBzuslKWBcpPlxFBbruJPpoKzOGUhVtVXUeCSBSIuhvIagUkbcVvkomTixacWtHyvzKHlzpkqzBOeOFfAWfNQvBOmrBnBDU", "JWqbQEwMNufwtTYhOuHXKhYdDdzwixnvoqpnrGBDlqgycOEjqBDspfZqWOwzGDSSBEobdcjPlpqArgWCLyqCzPhUZqaSxHprnXisneaQQtCZCbBXnlKOtrXLQbTaFVXQLjqTrsKHRxEGTspdXZkfDTlZygyCLYParxaKVkhtnTbkfiRzoQQFxWyacXOgCvPlvQkNpdAvDtZklqgEaHZdUcPwwXaJrGddGownycKcoYfPOjkMyhTKUekumulWvfAj", "FxXPwEpOydSMiuLswallWjKzjYmxFragnSdqVWGYjTaOCDtOArhNbDfgnSnHQcsnrgHElHtryZJkTqpEavxHoEJvrJoPYwSARpfgZlBJEWFWrvnUeRZWXjpULhwNbYqfTfebwhWFLPPvIuegkiNsKgwyICbIaSfbYHnODwPIPwleGrWNTUpDJfkKnnUgzvYcqyecGtDjBmPVFwfqJgFgzNaomuWgAPobWGnnZtIojUTcJuUPvVizLYZDOtZeuLrT", "zvaqIWKMHhJdwWcqyhFsDgyszuUZGODoIEsIJljcvxUUIbEKitUUnhJCtDlUQPzppMPcDULxQHgOWYpEGZvxpffwihXpNQeEbXjgUWtUshnxaEZZJyxWAUNGMvVXKprZTyHOFYJyxihAHnbZeSOjDqNrexqQaagXLYprehdGoFzDmhXFmEIkkEuxhOhbVFIpvXvtFOdOJDUkUUPvxRDfjJiAwazIbfyPqeuoOLdKyVPGsUFYXrRgcxCBQnoOwekx", "DXbAlRhwuZtuEHPmoaiExHvxVtOcZPrHBxgfIbpLeLZuzqwyUWYaFQfSeDALHlrQNnxBvavsUKrSNwiTFwtGcSoexVqwOiYaMQjBmpRnNGMasTPXvJCVQKsjCKIaLVfrExiqoQaqEqcFkEqpOkLAmKDcLvTmqfTtBNpIjlgAREBPVnwwsKIeNhuVMYgGUosKFrkBaSLroDeBVDoqAiHQFzJlpigrrMZKmtbAUTWcxTSBirInWovlTVoInHHThvVS", "yIDuFluaHhrWThIbLWWEOaJHgwTEProlivEfLjfMhmPQEZXYIfIWbGsokvWhwMvqRTvOgHZsYefvlYdSOFHzRjuGGRBPKYJFYQCuWiCnIHKbBzxUlOTNtWowLXwsXninLDiopfWnKjyEytIHRRhlRslHtPWrNrHYZxPgnCUORORQkwLaQKmKgoGhjubYGjIPZFlRIHAZmedMGTFWVybfcXfxHVJaPYYxifKjhedqMKuBhJyfwBgKAjAeXIuXNjLL", "BmzrGVsODbRiJjqmvOVowxqVAosXUSBOHSVDxbWLgpAWchBFnrqJyRhpusDXqcKrWUJYTiRWXDtmxNtchGeXsTGXKGOzyoNxKbbSkRIxgJlsRmGAERptDeNHtWPuTdWcgwDBxeuXLQNnkNPtYZLZcVskBwJidEIIHCjbDTfLqCCaAgZKJkYelnDlzssNfTPZJgMgdClPIJSIbigMvpIKrRxTzRGreYyqTaNZndPUlAQTrAogvJimUHfciksdgIRr", "yAGcnBnmrMXSsTHXvuEGCtdenRIodoQDAaEEUfVMpWvxChBVcaBmDUGeDJUbmFStCRxXliWTHvgYShoGmkHKbqhHhuZTgsXNgLgHJzIBQqOCwzESEisApzjohKMEvWqZQJpSQGIHYqNsuzizfChMoQssNGepYPREmUYzIslLjhzTYqkCAYHvEyUxqUzwJNMCYxMVXLjbtIbCgCNTEAozidFGCcHSpJgPSJLDKLkkZJCuusKvTsUMgHpTbZsojBUJ"],"c_map_ipv4":{"c_map_ipv4_1":"208.219.166.136", "c_map_ipv4_2":"192.199.48.183", "c_map_ipv4_3":"144.66.45.66", "c_map_ipv4_4":"141.25.47.164", "c_map_ipv4_5":"144.85.169.13", "c_map_ipv4_6":"211.25.0.91", "c_map_ipv4_7":"155.125.62.198", "c_map_ipv4_8":"237.180.234.153", "c_map_ipv4_9":"127.63.234.208", "c_map_ipv4_10":"14.101.81.182"},"c_int":550301980,"c_datetime":"2004-08-18 02:22:34","c_array_float":[80.63669, 53.34956, 74.353806, 6.015575, 37.66871, 10.19604, 71.33252, 84.170815, 29.040289, 89.127304, 78.654945, 34.09844, 74.577965, 50.39752, 85.4702, 48.44692, 62.62654, 100.54154, 42.791546, 4.6345687, 48.11364, 19.27762, 63.713657, 75.699585, 63.06014],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_tinyint":-93,"c_float":20.006252,"c_ipv6":"cc56:f332:8753:2f45:2919:9ce8:16f5:f2b5","c_array_bigint":[3767961275011552849, -2780143078778399990, 2157078844279457824, -3121362290105903641, -9040124935401559177, 8845096657134914507, 1664923843783814752, 7470200313935546046, 8823489698952441653, -8870515700444849428, 5130611256015773570, 4803291374974233270, 2138993747732741307, 6461848886449274516, 1821276689303396147, -2390330705789077877, -6479662078902550785, -5113795428370991529, 6110285506791885001, -6839036099563735932, 8763536111106457464, -615883104238575661, 3367657017093778952, 7278544991569175375, -4885827508645543836],"c_array_string":["EIjQzdgEOFhJAxhQgKiPnChendMTZEETAPuLiFRcdqHAxzJZqfgWhZAPWMAuxaOrWQrrTszjJiuaLFIBErZVSwSgswNXrmVBktuqXfjZzqgrHJxsNRilLUIyORrnPRPrMhPBHPNVPbfyGJqnkTcFefjIBuAEsVJjQRVJADYthjyAqhIrGGnDcssWsySLvKtRMVRfngdfNtHRaDcJHNDoXbIxfgxnbHmKhZsvEeYaxkPCcsNXKPnBiVJDAJbYxEAPZcksBFAujeAaTNZmgMbiEPDyLzsrKSIxQgCdYrVtMJhakqLBufFtomzgeHJNvmNckJvbRTqwpndUIhqyAheuIqRNEImBXWeTfyyPSdleWILNsZnirFOBnVzdHndfWxvLeAPtNfHdjBHuKPWPzsHmcySdrgVlSCdJiPomugtYfSXUYizrIbZShBsLKOCNqNcoHMbtwdCcRGaEtybYCSBnXOGfiQTEkHUUteGJORGqqmThXnscpQUcPxnyKlRPISZQ", "KAmObVSSKixUrvSGeOKIYqzAufsbhzrVwRLZmowILIcDZOwZIcfGThRwEMcLjolsMJyepcNYWAGwpximYJaUUCZRPsQLZlPGzfcEzMtQcdMrJDCelBcGNpttzHzoOzJQlFdJcNqPpCSGCOtBOVMNsIiAIUQbNtNzjgoarRBjjOMtRmlvrDPCMdeAgwQJQhtfXIdPpNdKtlLmBmBdSZVOkBJJXIyjpaiSVJKIjcmODgWGEKRbdcEtSHsxexuXGjeWFWXTkpGgqfPOGLvnuMqTuAaFkRtRHVIVOALxMQBVDuVBpOqvoAdqizRoEMuliWCJJEPaxnjsrvTeiXpQuZEvbxpBJJEKGAHaIwWpKqGjfFBKMStlRcFfHxfdRLNKJDefKLJzdWjomGwjcJCWmmhfJgATkhmykzJWVTDoCeahyqzSUpbGBdewZTvuHiAzTSdsAylYiOhRCyWdGjyhUnroiXlVikbviQWpzCQcwawNgtorSDkpjlEYBwJylvnZlzTS", "NxfHzAzkPBUluSnJaTJIhRCjBcwDMQnRrgZhvaEPZVtdsvKUhErdAIXEXGQnCeJLtzZKNMvLfyVwVMfRVSnVlXRubFdOqXYhUWSYLIMOHLYdyNhKXUAWvcPZXVtMGVBjHTjfjUhWhezcCoyKiLKioLdUDTieNsTTlitSviwLKsxGGMUcOKFcLfAxQxPPrsHptpOabRcVLnXzANnGgDgzBfLCocoxEplarLjsINAXfmDiOAUBWKOPsLHBVbmEoMnwWgtqRtDFtEMqJwYebWhYyCysRFUXeoyfFHsaDbUBvANvoLdNsdJyHtiLJwdGvWnjEXDAJJoyzzjDrgfkDRMtgwOcsykxxpVJfkIXPuOsZqmXXzbGnyOnfqOasYkmHZKspFyLCnCvEcdPBdexqNqyGvXIbajSPakHyouUhtPTjcLfDVNksVsvmXPKrjvIrFUCtJQGbTdWoaZWLJCAeoUpaLJWmvkzehTRxfvAMwaGvaLGcrdzBDOLmEOiNpisjzHP", "kzMtwexNdNQQzjGtPzLWSLKrQgTaBXNbaySqUrvPyUKAGBpFlVoUfZZbqBClaQtHndsppfgHKjmFuEpvomRFuOKKezVOBypYGdAktwidpdQGjSbYbJPJdzBeUYVfNxrxdqkbGPRCDOOXWIcCJkmuZdufgldRnMZDZOmDiedMpXFaiSGZhrKrGXUYbAMzFCyzInqpIpDsgHFybOCKJcMCKrlEAGzFNBNsGajXHFqkhtsxboutSYcFpZcbNNwolWCezvUmHDyvGjVKuLGvhrgCFNHRkneatYRWMhtAaCmvarVbHmoKbqJgBoyOLcbtMEGimWwSraSwrcHQOirBmdWQgaaEOlUmwfShqIyDfHzsIuogTJgJmnZTpOajlxnSMBPQCZqotOawzfoXlRgfkhVrmUgqFojnNxbcxodUJpvNcQvUJkHjKegtXHsroTSuKKTLjqWfyrgojsbMWNTBCHpQGFAzkVFJIvLfuXQJohQSeqIgBFCoVaQKIBEiydqMJYOI", "CDBSeizfxUwjjBwcKuBfUqioUqzAxSraVcmxUcZDMDxHvMGCXTElKNkjxqdvZuXGhrRjWOUIBgPJtJPdYPqagdZVzMBRYJchcbcPfeCgEucLzBjbHBzaWNasnmcuTRtxUqNxUQAAqtyfBSkBHTwtgeAAKnDXNAAPepABQXpQCDTYtQXlCKZrejYNeTTdkitvCdJVDzxqSiTKnGgAyvTvGZnzpwBHKFZbzIhbRuBvxdZrrDhCztROORBaPCXcwHOQUeUeLtAicdYjdhPRkNSojExflREOjiRMAAvcvauLgPFnOCeuvmhMnbaIdTrQzJCoYDUujQaxBNDJxzDQKixDdLOtOFvyYPMgPNivHYhUGGDTFTWhinLeYwcGcrheDKzOhacOJfvvmGbzyKjokPyrKdzVBtZJHFAwkveGGEwHOwiUOlcZSZAtKtheEdixnXkBnoizFjRFXGrCqkhoqTNTXiFyHwMmRTtnqujkVMxDiEstpBJIqVxvgQODBIqhetMp", "nBQAPuWYRrQkrjtTfIclNkcoBjFHNmGLvHUYZXMldcmXZURwZsZGLNmxgXjjvvHvxHUuMRQoUKMCrnyrSZGOuLldctAUkUqFvFgtiuWDAVNCcjnHrABHegxNPlKNNzxlAsHHISLxMNyYFnteLoIggXtPhJmyomSMJChkkGgLhtZdaZpfwOUxVUXTsHExXPweUzcxhVADfuJnwWQSsCbwYHNteameuKaiXkskYDzmuellMbvZZIJtqrupxXePIZnnQZyUlmNyNoZHrlkeTujTEnyACOubGDObdbWFWZbLCJCsqeKJPPRRJgqnBIkIbSqroEIkaiKHjcdUMdGbdIPMDOzTzmctUDDAwAiRYUvHIlsjgYOLnpHskPPhPZxinptnkOFqvKzaALkbTBiYFIOPmCTaYHleSehILHJPHhpojrqdvWPIOaUBGRnTYSxgNvFBzgmMcjqPULrvZQBVPPwSvDjMqiDIrTTGzWZBJbReAXzVPJaczfUKIcfwVgLQylxC", "mpxMxUIFCYjcSPqaeBCKGMutLTRVLPVFYEFUlGbcgcusQHrHhLxHWinCXWBsYySwSBRpdeWEFTZeuqypvGMIsDsiHiYbzsjDNzZSQSaXvqJYYcCbnonSkTbZJESVQrmJtMhltPATZiHXWMURyGimaDdTaIeyADEsOCwbgpmfCVOQzeGBQVyqUYGjNSNnnADiIVCqanJOvqIiHcIWKqyyzNqluhoByiHTSIUphqJhmgiDzIakZwhPvrENuXLBGjryQQMWZuJmDPXSkCcyBGEaqclpwBbzUHTmPfpFuZANHqwFwnvMTQwBBRUjJSDDlQIbxNMKJvMNsQxCzRFRbaiUBxPGmqyfVZvzcoOwLkiidGPaVmnTVJOSGkBooDXBGblvhyXgFhOfyhxjRdijCYuTPjrRMKdQdCEogMvDZDyHfxitQWnmpLHQSmwFaLVrnFnGrOfmfgpfkrnKylLAdkeeKCvnUYatPQUgHAjnMyeOHMaxSyABcmZFGBEqiRdcWjzT", "LQMarLBerNXaFShySFxkXwgaGKyXoRKUnjwOHVBleyyweiguxDGuXeTeVtrHtblxEqXOBkzzSikpBATSIItvDPQPQwpxmBXPGgNmHBKSgfuFbtYxqwPbncqfOAvKYoJBrhgdvqOHimJLvGRDHejpjJtDFmzDtfzvpBdPEwKrLPNqPAarxehrdaqYlXhJMUuWhaPoAJAByFFEhvAVLWhRNjkRAwFSmlSUUaLlBQupFYxNYBAjxSvaEQSAdTAairUpdaqmJODWauMhVFJdQRvUlBIrPjzSXdGpsTTZsTkDfmXiGmUGRMeEBjBsragivMesrKqDlcgUYoMGsNVcEwpUQhLqoBuxISGgqWUsKvTEfQsdisOGstDUzPcVcwrtsLQpVeGMcDAnDDTSLPHdbzjuJDUMDnWXjHJCjZebTxsOegrYSZANXOtUvKJvzWCGHiqROIeYCgLvFXmMhugltpPEttEMyVaVNBcKkIKjUVvpFFnuAhdYSBXqCbYqRpVlZeLS", "OvAFoImJVRUkDOFfWWqkBfYmtSKoBguJsrJKNegPraSClxRjyZRsYXKzTyyShwViSlcDQmKLUnDkJhzRgbQCNqgEODeUxPjWXvCviFFneNhKnvBdjRYwpjhOTpnPLvMYhQJeJMTrrjFDidVWIzzcMKLqusiYIagsMMSzgeMwoKYOxWjtAbTWVsSHUPwpZpuDSGYBxoWCGsEvlzsWdCoaMBtXlPmQggJPQloEDjNezbhfQDhxTeiNgLbaVjAocPsMqUPWnNNIqmwTDXtgTqvwdnPixJTnhkxSJsqSmzbTDccqSRQlbMMVOMuiciwmITTCNbfYzIlMOXrxTvvloZjgoiaMArjcbqsTwJyEROtaUMClMPVpzgVotRxeKBAeIwXKibpWJoGURNmegbkAvzFQlCADvEwGfvEXRBBpRIbWzxuSpmWukxAeYHsNOjkTloAUfepFywEZMtqttjDMezBAuhrDRDOqhmuOXwqdwtOzeyCHmAMIRBnqMdQLPtrDmENx", "tBlWsxYHHiaRbgSCNsqHBiKTJMAIwcbmUweBCOzUczZxRXHTvZolBLzgtwSvYFwpHrTXwdiZKuvYRmiAoMVjpSrcnqoAGPNuEkNAxTuKICPxKmGUfJJOsFfPFZzXXwHgedCPxfzydANqBWgtekkvdozJUMpjpZbdfnaIDzuWMXsbPKBeeoOlehRqwhTWSjIksCgiNBMrXfnbsInsfGPqaGKwgcqAvZTWNtGfwNevyjRkLERloteBNvuChGqGtleBPDjCHYgWaubSjrbeUKQLSbQhWTeMAkKzMPUsgKWuAsYGyIbeZXFlBlniVxdnsepwtEBYeWLpWDSawkdaYTFSfPtZsZWbqNtHCRLtlhEchMaadnhDgSzfXnKjOqZWUZvHzeQSqZBKZIORfuHCiWZHosbShCJuLLvVIkdVAOZcMNDOiIVBIpYlvwXChKKeEpGOyblkHiPopqJzFcEhLQtzMbKNzoXWtfmzuTVoWYsHkKOWOtovkWcAaGlDkSIovBxY", "tsxFXEUxEptztfoGYSxDfuMaUTKhlHboyWxMdjJTYoCTWRnPpmPvjWWzijvtDuXoWYFZISMFjuhlhFCWkFgvtPnNeaKHaYjKXeQyZOdQEpPwqZppEvDUWeVTpSzFCNooJiljEsTZzosWDdpvIwwoKJoLzZlFDuaTnEqUNzSGakSkyFkpFTzgqcDSvnQZefzBNivnILhmNqhMMyOYLoTfDaVwgeGtrWxgQGJtsFkMFFysTsVkcSrsfaTyjfGFPGcXBzwOqHFRRzRRFJvItzVhasYzcRlcfvQBofoOdwIwDVZrbWNHCswduxwSGcbicFCDOopvFNvHVFmLrznSqUUBDKBqXnLBoNCItMLeUDQjtgoEfUYVmuyieccurZlEPkRFsSaCjloIBkvwnlMisCQVbvDUJJdefqFPBtsJgFsJzQWGTZOoVaPSXVdnwDjuIYPrSRCWXxxyHUsDAOKlXBCqSNyTojCqdHTpKDfRGFoTRXUhZqlDLaRkoMitphzMwcvo", "XdLLIjtyXyOgtqCiyRtCpfHVvvhKmNIXmwfENnHgoionOLRLUAVJFLaHuMyXYjsnxLclrTIZtCVMTRRICfdCNFlvMAHSbpNEjEFYCgXoQQkjoHPXPzLvSLHrKokpXOaueVEnLPFGCgWGHTwrvPMVZMtJChtXqGbKJNQuDMdbrrivOiHkLtwaxuCjvmRVgClXglmrJKiEvmgKewnFyaaEUdaJoqSuYAYwuTWtMkSFvGQXaYRlCTCqMgwVkoRChGwXjaIofrYykuPSeidvxDZJAmzEikxhTEKUAvrkgSmwEzGiAcaMRXvtqmyMvcKmNCyYVnZPXwnmTsjhnNxmcLihHtKIBAqouTsfHHoqhGnVbpoNzxlAqxWLfPSECUrLGwMfLBlYLOnFfaaqiiVlyoHnqrZxuFtSGbONBfaLkvSmABIumgnhBADyrTOdByRkszzsHwkyqnPsLCIGBKQIXDYrKfMtHODInAkMjlpKYtUcgaOgpPbvvtviZDCbcELgQBdJ", "DRmKDjxBJErlCfwFGJCJIGHVqXgARViRolvrODbbpLBqXCPolEgvJVKnXubCGlrMZMrbZctVASJmDnMBrrCjvWiuuMIiMoCdMhFDBhVPkMzSHtXMPoLJvVZJYmqpjASFsUqVNARIuYNavpAhPrrBOmvixwWcXqnEjPgrBWDRvLHNJezqtKXCcbFpCpQQqZowUloCrUxIbNhkgvYzwgvpjuJOpdRLXgbMpGLklesxGwAyjUrPvjZlAWlJegyxjgJmadzJnlKyQNYuyklRjpbmluwfpsMlrAEoKlrsfCKyGTavSaeaBoNyveHjQHSjHEwFgkKlqusaDpnTQgsyuJRCmAbmWGVdogZiDzyqkNuxBlHwKWuchJKhRnWPohGXoOUqpvPXHSDQOJcKvquJeGXFeHjfUQPfRPSOHaxuaADzFCUUaZlqutxYlaSOrFWplBWfJUJCRQJexpCLWDbRroYKKxSrWhpYkxebFFzFCvUMrJteDVqMcxMWsNCOpaQzRpos", "lgIGiLVZaDjuLvKGPvnLSIKhPLEcHZzDWbkEXJdzMaBYqfaXGcBZNZOMxAJgpDyeggjoHBqHDphQrIjNuedLPHFSTSXQqbcvWVPSNknCrTDQTKxUbLlUhwosdlUosseAqoUgzhgzJdGjlJaObGxloHdRmnkXWHhivwogmKYFgwpWRJpjSMqzYdPGjlnIRODVlQPuMdMMoSvCfeuEsFIzduEVguoKcsRVjmCJzbMNKczLaeQCGYEQZnpCRYIWjknAavkqKXOPmXhBbZnMtJuJYtpZiNCinFSTjVjtJlSdSUrvtRwIouQeMKKbDqBuVoLkCEaQQJReAEpCPGzJrKlFdARdUevbGICCXbjgHuplnAzFzoctzsxifBEclsmoXhzrNVuYxSgvxhnsbGTofZatsWMQNxStEbIAKxvKIjCEnAyHNhXeGjAlSFkHlmTLIYLuzRyqurhRvSFPDkdhcDxXrbIsFLKANpehngZmQPXsDVAHGsXlIfuWrhEdMlypLkBp", "PxvgvJqEZgFeaOouFPjKOAsEtjhcSieREckYMbMDTGhCgNHcpYAxwFkVBGHoKPlLhDOoentvFagNsnOEokyIHILemmroiVtcTHNozrGQjQfYTLONDDKqFTjexHjdsDFTUVhCbmQusrKmKMiuvnmZUipZlkKDMGrFtstYZgrtkwolsqPzmAQtxPLfsvocvqCqklCtxsPXneAjsnLOLOIsOzUjnAlVEZyVeUxoQKaHfNlwSbVBTZrVCtVBatXXyQErqybUQISGcgjKxUZREFLOtPzjjCQMKKrqkCqnyHzOIbCGUwvCMqGklRkIdubEYxPNLnjxmMrLhSoIRipiDtambxnCnYgCXXrVzdOKfVhPNazhwGrOvxBGlpwtqeJzLGhGXQJFNifUrrxKpGtAYxSTXPzSgvNbParXdFPlVIZthHekqfUzIrYnOIldaFOnvTezFEEXYKwUoyKwVDyuTODfWgxPVOLYmxqdpwxjEXmoiaKbchFtGVuFdMSebraitemu", "ivMdqTjhePQHrtvVVwGHaeRsowkTeBtRyEQnboXAuGSpilOgGFOPSSrUQTTsQksBXycGWBQpQAoHKxytuQhkHUahElXXdfVwWPHUuBEglBilmcYJfQKGXAAshAabbDAmEbsHmHQNgpDROqNIdITuHzguWuAeKMpzasVEptyXORcIhFYgrkBkldqvyXgZhbiJouKkHyygntXPeitDXrmZGzILuoeqXRfsXdTkxSMezPbzVTJpbyIUQogvrLYHTzAHibIKtyWGgQifLfCjGAdgJGUjQyXiqSZsuHeeCbsJHacgIegBJmotCgZpqyPaTCtBnMOaiHzBNIfhIoMMebAyoTmggZqCjmfachOLckdyDSztxWldefpERvWUnSmuuVAGMHSvlgaAVRUTswUHJchERKgDwNFCBPJpdcnZOEyDMzOSYaipeUezzeYByrBHgqxjuwMYkeVWhJUsyJylNXRqRhtxosePAcreNbWZpoueBSRoxqPqKcsAuJMRyRRVeykg", "tGCntXqThGCgDwDyCHPHjWEQZwggrhYSWiiGMlYJlQZHhTQAkgzQOvxzjjXcBEMcKJzqfVEFrbpMPNidExqgjrlnENfaIvRoVmsSYmjJSxOscgBWNfgRvFfkrqEwdYWcNkDMxRfJQGaooVaPLXwnRXFTXOHdmXkNxwmPlIUJJYwVdkCNVJpsHmuIejfgyVgCjwULHEykRHwQesJIsWRIiKPpsghjyEqkNbByFKtjGMjcClAFwfSGdPjmjGFWzTpqZGIjWVMfkNcBZDiDqgoMAuJTAYlgxEwAXhxEHAoBHrOdaHjSaSdfoTwhoxChnVToKqNWKLJjJzpABQjKZVBXMnBtJDXZmlHaAASLSAurRcAcYyWDuzugmDIrieBfQANCgKDdYRIoGhGiJoAXcjzjygksufOsHhHhkADqdZTjMTzZAjdLNuURnJIxOfTSrHrpOsFCZiKkOgnVtiupiwJzgCeQqRutIcMCFUaROfoZvxskEnzjWForDbZrLTMgJxHR", "ZfQDSGIGrwhrfGTqDFbvRblLjvcOaEAvwdiSILOmTjWrgwArPcmdOxeUxmojkMIrnFsgdiyykbLZBlOHTheaDWowdkKtDQgvzjeBuxfwEJrQdFfIAegiZBEsfvNFnyeSLVonNUiFZwfCIVzOnVPAxWUJpZWjDVQwFMluRLvzSRIdWnUyyRAnvwpgnotXWuhmXNLYnSnXuEQHIAUKWdSxOhiONBXCSxIHnbQcupmrfrRtkvjEKllBgUPMwwVgEYrELqNLmNktyREIRZasCeVwREbNUCGjueHnlVrIudUasxWyFvDaxfUuWaEpzppTeeeuAZMAcJnQpSnwovqjEWPMIaiYOKFtFaMZKwALkkmPTnyhljQlbFUroGCLvDbNsegzSQPhxGMJDITwkRxBfFLHnogAEAOBsWtenfmOhFMjBSOhcsuuGoEwkWwpJMcHfRsjqJOVRfMxYhrIrMMXntlSRTfcNcHcNNphVJCgUOjWMdZUUljdCDvhBaDACgIxhGYW", "MwsHElYmmdCtywXlIwpHuLkTMNZqvbKyyCwSvCVRvhHkoKhtFUGXLfnUcqNUvSNhrpMHoGclcenSxrGHcucBBQjujYcDHepTufVUDOaVbhmlsXcdIVHSyWPIvXoQHWeEmBICzhNLdFUIZRaOPgtipVFGsbVELNJmqkvZnpCuRdtpdSfNOTbjEAFhoPLnEkeQMbGUUGgkXFWBqERDViJquhGoUeZLGSXpoBHclQXAsYnarIdVhFTiiRCxgSRHaupdQiKnfMxdgbSjsWtjRseIIHzUeNSctuQhhdZChqvYYuyfEdridDAboVasuKgppmBwCAoeZfxegyTMGVHnauEPDrLatVFwrElofRneKneLHcUatNVDCXItFgSykxoLkJxNXePubMkcgjYqEdmYLkIdHZKpQIQVLKigageFCAoXwRdbDwfZSaJETXvFmxSQNMakelqSCHgQluZWuKYzdBKTOrdiDaOjDxnIIStzGUPBWoMQOMngJehAGtqDIYbrouKv", "qYJwuRegOIxcwsPPNHyJpltWgSJgiOfJEmFSzUKHtsPZBRVEldGqUSPvxghiEsLIEkautXzHwNciPaATsWzdErvDYYqmFsfjxSfooRFLGcebkFmohNNgDVaXdPujoLKBZFLvADKfFjKSyiWsdGvSNPQYSMBaOTVCCUXoXkXiZBBQSdsXJwchuOUSTdYuleLiJgNQJIIcktuVFYuRewsYQIFIjxQnthWpbARdZUvYORPnwbbWWlKnOOvRUMVnmNPlUpQnesEslXVCVhvCORfzZVOaQKAllMMHmDkHYSwWMPoFbZAMwysbRboFkPoOclEUiDxpUNOVsKTCyhOGzYGeXHWcsxZQgFrNzUvhGPSNLxgZSNYSqQClilitPeXlcAhjTkIjFtaNMocNUzgXkCEnwGudcVhIsgMdxAcaBUUoaekafEmqSBVFlhEfBhISUNPaQdQTWsywMRjmpgTBlzdDQtJUahoYueqTeSrHwvqDVrCgaGtRucDvzFkSJFasVdTJ", "GfAwYOUYGTUEabdDztRSeEeKWtxcPDYUVzuzajYerogLjtRzsQvnQBwjelHvBYmgjMRWNuUJTXoboVBziavEAHELMsqHTqpujngOHSZCInuMLLLmoZXGnGDmNtrNzlSnIHcgrWiwlcPQOneKARQXCKnqSQczNftwCflVZgNtezlpJVfyfQPqlLhIArUOQrTTogpiFhbURJzpJJqmYrsuwknRwxjPGwoKCtOVhiEKsHbIHRneMyIrptDswGRsDmGcfSGMGCTvletJntrPvPRPbFAZAISLqUXTijUdLxtYVGfOhDQtZofQFkKLoNaUFSwzoDlPwpYTAWRdXqDblukGMqIumosQRhbfWBGBCQNcdeKFUuFlpnyUSSuUXZRgaRrpZvJntQvsJPjoDwmWLEWvXRzJrocjsHvJWVSsszzRyZwLwEDXDiEQcXdYNvNiAziOfGgEQOmkjSiqAJpbHcKIVWgdAfRQrDTTFAGZxgmMFdoPKBsQByVCaxdFhNiFGXHx", "gscKguAwHNYLrADTnxoZYAeArcASFfIjScYhFsiFstguIeNmLxTZrfUHLXUsTSEyfDVycFcxmpHKavsfgwUbRHakzPTTUTjmmXsRJVtwNeMONrozzXBvzWBCDmdJIvYpzClcFogWooTvLMfogiodnCJUBjRfPdjDsVKZDjJoMfSePTrGtweoqzagJOvimRLXurwWToTaMxsKXenPcoyCmWJcIywfHNaSLRTaxcGszwHfJFYzrAvfDHdduLRVrrtjUTbINFXhxiXCkWKNJjODHAAgIKYCkTNfUITzmyLoNFUYomOnyEvayuVDWDzLctfPalJZZGhMNimTgIJUAugfJkosrSUtGBLFjKlBdoBVijlpYPWuwhErBbnaIZdwCFUJXjkLPrdoMqXdSwobJUVMwPwQdUdVAsAtIDjmZukPyYrjuzwvxnBBeibalyUbhHnILlbObBpqCOkmfrYpehVXCNmVERXaBGlNlzxFBdzqYkAnNVtKJatCkvkgAZaSruPj", "liDRKwHPDpMhRkEduLJnAgMpjTkLFnIyVFJAZeuAueOfOfFiVUoQCjDEiwzWlzDBtBasBDwuateSHcPabCURvDQfMLMbRnUVLhfZcKxEpxZKGQgZCVoqJBcdHehhEWaKCgbUIubAKGXUmsQchFKzLhfoapbdbRhSVQJxrwgsqhqzXzELYrRRiDMijqKYjhmwbunvgXzsAvOoRawDVnFtfspxjXaJiOQaMHxnGxPPXlhuzYzYLryxpTFVhQXrqYMSpuCgMeAixeHJhiSTTPtGGrPYguQiSQBjENXEszynGdAJGstYNgyqQzkbiLIFDYmUxhgCxAzNJwampiyLLXKJXsoeNLLfAMrtpRMvAjdSqGGwvZYenheoAhIekXQxMRkRcGKkOzkoiAtJzXROkimdBooxGLiOPaeSHiIbyMpBDkzGxuxCgWZgQEWyLoWqUtcAugBqHtUABZZTCFDMTgpDYDOYSUyDPCowoaOBdEEDnWlZQyycdkIHKuxBJBnprAzl", "zDQonlkGifdNsTWlnEFyrsVkNRUmhrRXZFIreOvOorSszAqnPsEzZxmxljyJkkpxfZlsUXXHEouADWbBUbWPvkUGdKFHnNknzuZyNHKKYjegRAevjssRCyshXhoVZnldpMgtlBMEkUqJsXJZEDuQzBuIhbFmyRXyaLkdFksaBZpWiVCXSTTbGKrlIYIMpXcaqbYdWKeZGhnYnhGcUtZrBjNzUJNFAqqvRdLubaydyQVCSzlvISZqxEybioDKcWFFHyAiJohYdAZmoHFnEQSYItalYadolVOErPDixUWjmWJwglDsoxVoWRvBwzhLHMwdDClxDhJtsuvzjwpQLOrOXNyvBqLuojzWThFtubPBOUofvvqFqpKvfGFaWxbMVpXksLKKdfAgDMhWtQkcQkCvvBvhdbfFfcTYZtWfYGaVPmYlxmqjPkyXTRNdgaJRdpyUsZlRUuHivZMapwLrRgnMdrgdUeORwRavPNyCcvltBKkztBnILZgTYtKverVMYaSf", "tKMfPkubUALGvNGBWoxzFTgMrVVDKwFaiBkJYDbMPUBnHQHMTYKvRgppMSGlWBlPflItaNiqnGYXHToISaTPmAIsNarOjZJnRrtiUdKzJaKljIeHNCqbqHaqjvayDRwWSIsMQeLlCLXYxXiwYQCoGWYRXweOyRrRDkPRSsWDXiJxjfXbauTxBwNvlLFVOXKIEQwPBxyMQNLrcOzNYlWsmBcjtrgxORtvLxOubzsFGlwRqZJYaZiMBkelTthhOkoxcFMhdPqNgjUknOEGrSmutuQJVdAHoPqOwtWksZxMrCAZfLJikodDQgdDkMlWPJxrSZerNSywCprImIGBhTkdjHPjsnKVShGLNbaKMvScBabbbNBaeUjdasRbaQeULNlOPVhOskYyfhLtWgYGfkTxlfmMGtMSdVYTleaPzNkVUFGKuKPXXMGrLncYuttrkdlJgWwXmIYRRKRrrcyrrJZDfzYUZZriAlrMsHyzsCdfPwOnUaRNhbeRzYCDOiRvppqP"],"c_map_smallint":{"c_map_smallint_1":-21905, "c_map_smallint_2":-24659, "c_map_smallint_3":-14907, "c_map_smallint_4":11467, "c_map_smallint_5":16, "c_map_smallint_6":-19595, "c_map_smallint_7":29505, "c_map_smallint_8":10751, "c_map_smallint_9":19698, "c_map_smallint_10":-23857},"c_map_string":{"c_map_string_1":"IWHJNdaRDwOOTMjOHPHrxYHhXUDDRvGTQwjjgCMDDNodoReIDkgOcevpacFIgvoTUbfZoZmlEdRLOMukidutsVnYHhdwiUxrxwrNhboewEJOMFPoPjLWtvsquYiYumGxseaaxniGeizvPBWGyaUfxqsQSsXHQhIJJVAYALEonyzrzQESzANXMteSawpddnQZSEENPxWchHLhhomCInxJHOyIuDmGjYzoKhAPAFyJOVNSnpahBVcevGIzwItQkjAhsoaeFvGdMkOfxqgUeRRhWHJjRfcXGCzRCdbHJugWQIHSeQkWeHYOnlKMtEUtHWTuppJfIydnozzHExapXtTZsTvumQnaymolLiFLJCEeUEjfzuCkCkYtpshRwiqwHdarliuFVSiAoOEIjNVwyymoMzDmpNNcnqZYrLCKMhiDlcRnUOenRuEUwmLlGJureVBewpklpmyWtdqEeNHCZjHDyMfCRFUSsXnhcIgHgPwOptFqEUBgyOTJBLAMPsTYOfbk", "c_map_string_2":"ROqhhxYIaGnwgqhqhFwtqOCWOOObWkcCvCYMPZXREcpHWxmdjQOfBGJqgkIWOGBLpMrMirgZvxtkHWCVaXjLfmCExeAKEqCPPGOMOSlhBvxmaycvBbbUpLeMgeeczdVvhdTOdTCuWmXoNfxpTexgmJlroqjodeHPkAtextAxPlinBajyMtvyZPRGdSHWGlvREIfCKaCqNEJxJtEfQdxfkgOYyotuzkMkFrEOZLrTauZUjELKXlYTAXRGAGcJCyGvWglqxoJPGJXhZvYoEjpxXDEwBsHGyntOgCZLjrXgwGOqjHtQFjEgRIzSbwTdAFzZSRNLbcQbrkGzewGBoKSVokLQaVKSiEdtLDvfkdxDfpMZldvEwjoGOuEwHljHuTcfEHJblrsZffWecXIGNXDMYzXSUhBfiEqVToxFeORcBudmhXynhczwRkWAyovLVWOSqctpFbadslZMQTSmGQgAMGKrKAJzPZsJMMobQEBwHQNFPHNXvtwpvOkXcZNhBlvj", "c_map_string_3":"LVYtSucDrfhUcFcYvPZiQKqquYcstZovFIZgsZdOWvmFwRINlgJUJqCWDjtxAnMZSuaGOQyGmgMiWZIxxfZbRQPAhUwHcZWJGLGwEQMAxdXPEIPeyeDGcUeYyhVxnvNGzfGBFiEtJcppfCxvisRkNAnlRuLLGICbaHkesVVujgoBcczUXksqsjpUmGKcWDvUYvgWXEFyYWAulpqYXWoXlJOVzpKhUbHxHSiPhQqTQdqGHeInRpXNxZVRNtOjvaohsMnvMOAyQMpjaaLddPJfNlSTYHjQvajfOqvRLVZUxZtoqAbBWacMtNztRIpaNHDNEtulFcjNonyJRqlqTdHrHUhDDxrCkzsePQcvmxYkoPASAuxBSKbHcXZxHMQpfOUuThDuQvvTZofRvrzOtPafEXCczDfZiJlvnDiJNCrULGTatYNqXbFpXhCtEiHRGpLCIUmfWwmnAdNZjykhLgetDASLQfuGYnIdpiYazhtXgHLsWQBlZkHcbNJepsdgZWiA", "c_map_string_4":"tekYXuvtoEnRjrVEvZkRmWqqmFtSAufEEPwXdwvazIZVuxBdvhZMwBNSWZGqcLHMnWINhcjDgETqYinVVUDzSXsOaJBTbBojORkLTijIjHrdzVJnPQHSjfZbvWWVGvUtLgDVWnyLpfQKWqIgJAovdTrQlaHXKtRdThjeXfPJYcaGEIrkafgvLXrbQojBfqsIyzQcMrrcTZojwzGHQZWslhcSryMHclGqpnoZVLloJDPNfElvLVJGbsbLwNnaxgqyXoVkcLtKUStdcskxXjwOEWwbCEFQEnAEGXSYZpxVlNFoftJsONdatLakGiLpZuFQSEMFlMOegWtkGbGDnXdUryCKiSUjljOqqWGswJCNKmvTEkVWJJlDMlEmzrOPdwWcpHbevZtdxfVHRQcYVgpafnCODetMzSvHKepZgSHfjVFFGHBqJoAFJgCgLWRYloifUMyhEqITelCjciKLkABerJWlhMkmfpHUqdiwkoKyGeqbEttjmtXQahpgBtfpQxIC", "c_map_string_5":"pQeQMEknVQbBRvitnLXpBZqGnWlArBhnFtpQgZrRadIDnRpQqGnqFAWTVSOhKkKhBwCYyEzAxloNIPXwDAjFRKZJAgqcBwLRXeQwsaHyMEQTYcrHumIbWixuqzWiHuosSLPwwFusSqFPIwfsmxFzfnbCyZGEJPgXKCpfaWWyPkpnzQXbeOOefmASlmYhYkxYiFvIgXRGEZqGzyblJbeqArqzQbvFYdfkkzVLKCxVTvLpXakCiAQSeQavAthWTcZEVSBVWrJUZhjDRHwGklvZfXLgtLCvUpgypFFhkRMRSMNVBjtZyYewzMRkBAOHsSZsZKzdtlfibtaLxAMTPRTSauzBGIBamxvIjTihEljDcpXRRhcUzKNPJccVmOOlbDsbpQzSrPiVEJCqPmwnGMqxveGYidtNkmDhlxeKOweGNtDYjIySRpnTlfJBIwMXipAkXqoWyAGXSpdcqzFmAsMhyRxOEchvjXlGjkmuqeCLSjfaeYiItoGZpcCxaWCCoDUI", "c_map_string_6":"KUjRoxEzIecqocteLoGFevRPBxDqxrwVHnHFmthCCzwueqToOoNkLYKmsujgjxJZzbouFnKidgJrAivQcyWfEJCZAwSYMAOzebLMMLfRzMvkMaAJVqtUeAktRszwIFPaswPwNeZujJSjDMXjAAkJZYdblKcFYubaJNoalKbTHKEifOgpCUFONwhfuDoTziDEfaUPtuJCzxPRyCpNnsWOxhrPKCCSHGmvilAnVpvGUeCiTqgbQoHHTvaCAuqWdyVVZYJhtpHIKCVOCYGDGkZTXoNCXKvsKAiukHbGesCQrrYGxxwEFGgkpUsJiNDPyDgvvikxxQYJnjsIVCOAcMDWxnXuhaDwIElGQNUQFITpyjyBReZfMxHbdGAFpLeUPFkqdYhWRCuuDWlFfVcMpvuUPJrrtVfIfLKJSNWbvOmVTVvFSdfWSbuHkQiKSZbXpnEdyOSMCAzyKitrtAGxwVCyWlOysfdotaHJsUPFdrZUdzUFPnRskdFiQvNGKKjyEvBu", "c_map_string_7":"tAIcxOYwjQkXlXuGhFMsQUIyooHlqaRFVNEQgIgxEwnozlRxsQRyjdhCfjDbutojplZGoFYFuPApHiOuAQjNOnIvwqEaEdQWmnBNRIENftzlcbuXjbdcgChIpXOcdOvAKqPNgleLCoHdrKKSqZCWtQSNpHqTJKSzGTkqYweXXcbjEnQqdLQwwisYuqpMKsmUvGaMzvrIzDIlYHPBJFkLYFrdNdjcZhRvZRnFqQxfxCbSUFKblOFxLWLasMSunYnaudMnfPUvMcMsHPCGIiiVaZRKURvmhelrVHguqruSlzjOXBjtwJvhkMPntCRQQkPeOwTGsAuynnDEMFdYEAGYAmaPDHRRXHpxIeIyeFoIYHwNVSIjipduZUwwIYnKGXAEWpYyRWxETwuhohTGKbOJEUIcpmCNlhnWgjufubaFYeKQgdoOiMGfSyiXoICcxZLCafwBKeAYxqlsGdDGFxKhWzbimsoZRWrPuOOSfrXHRbzgEvGySMXrmxoDoqoWDIQU", "c_map_string_8":"JYehMSTgExqRSXkfruCkLcXapOZdPygtVfQchTJjBvxUDzQsCONBLpALuIcYvDrQsQjXGUvEZUkHVeYomOAwUZCMhPsfEnPhVdBeeSonyMTqGPXpOQcpybFBaGTwqxMqVFlsesXjdSNJFFiIjmIBHiqqtSrcDaUjkAdCEcJHSxqSvZPUpsGEByHOoIlJlNQdrTCWKUsKzYxrjYhDssLobsnSTrEpgnjNWHxbbhyyZmDwdpAyfuhDeLOiZgYEHJAgNXbMgNftmVwyGhRGNkHneEpyNjLzbuXkbyCTOYMZvkoDwsWSTRfSlFEowCSlvtncNLyNGMKxxHuVggfYDJdOKjzrXsQpQGSbBRNvfCPUexNkIyoCfRrMvuEwLaGiUyKOewcNsKHilYuITualIIobeseuLCJDQmdVxQbENWxXRrjsCNIYIlSzfawIuVwNzTctgorXtIFcqDnBWAxHhtAvmVPlFUeyAWsPHjgOXgIJZkIPoIlMukjWaHxPcgdEyyka", "c_map_string_9":"xDadlYxGOrrwtJLUZJJyWJDXKYrsBGFpWcqpWIZAMAwXVhOKULIteWcjJMNXHVWdrFutwKeoFdCRdFkOtbqzmobuWthREGTdrfpKIQhRpCqfljEHVWoUahHyGgOfTdIRVdcBWdbqvIYFYCzTsqjnJFJDvASprhocfegOeMXbPqdTUsJOHjyzYGjSUfGMuXxbFrYDHdvesZUxhtVVvRabhUPUuHJJMRHSdWxUlAgXSkVRkEwxldqxlmDOeEmYdHhyvLrMeQQGPLYxBshSQUbIEtuTHxwRoYxiLPUAaTkMCOxuIREqxZsKOUwbAMnqYlUDkJsvoEFjokvNKVKOANNPYKxHEuVXBLFzYkxYlMTwjAYVzqgEsRltCZGXswmfvJMPudWjBAmyttcVQLrmtzUXPWJLXKiMXvBPvXvyaOCvyBHElXcLBomxwVzElxZmsVoqujYxwHxrVqgkvtgSzHOIBrTJLFvfbjJaqoLaXxJIAUVMpIqbowqDHjFSRdCItQtH", "c_map_string_10":"DRCHEcuPBCVJfWtonvEXaYDNYfIRdcaJMBNngyGqJSBBziWGvluvhCTWxQmVaAaBlIauDWtyFgxQQnBVaarGykosSiBKjwJrNhKMNwFTxiuZdSSrdYnELbBGaNoEOGYSWIUJGMVGyfYiYrKYpAwtBZPliukqdAGKzYPBvAlaAGykRogCCcgkKkzWHDocMheNoDYkaebXuwBsEFWkwqtYHpYAURcsTuzJbMXhnwgjtdhbDzGQAIWqgyZItCPlFoemzpuznMQpktKKjlqlBKIHrXpBkFRiCddvzEdVVlxGUAWHWqkNqwvPaiXMAoMAMeGcWLKASndrXSkhMlNCbTVuQwEyImYKeNKVxVHEVsmYjQkYwxUsOFIyNpSnFOVXrbXsprAWwOEzijvnhYGWaZzIJsDqlFpaBxDojfZVJjjVIOgNFDQXVrfxcDiskQbYHWINFvBitHLPtFpeDTUrFrgxHzhchfOvKMATznDppaTRaKpkzqSTmbJkqhnGqTDQAqVo"},"c_boolean":0,"c_char":"ZPqyPVduuz","c_date":"2005-04-28","c_array_smallint":[883, 29065, -1454, 4284, -11531, -11506, -9133, 32119, 9880, -24349, -17924, -15658, 26085, -16213, 20899, -25248, -5085, -32376, -16150, 5413, -11127, 4714, -18338, 32503, -325],"c_array_datetime":["2004-03-18 00:32:12", "2007-11-11 10:43:18", "2001-04-18 23:53:43", "2010-07-22 18:44:45", "2009-06-05 00:50:09", "2006-07-22 22:07:42", "2004-07-09 06:44:38", "2017-07-21 13:54:33", "2004-08-01 03:39:00", "2007-11-12 11:42:13", "2019-06-19 12:50:01", "2007-09-21 14:20:13", "2007-05-15 17:52:45", "2002-08-16 00:16:28", "2005-11-19 15:33:54", "2000-01-15 11:55:09", "2000-07-16 12:23:45", "2013-06-22 03:08:35", "2003-02-25 10:29:57", "2016-09-10 05:19:01", "2011-10-10 07:29:47", "2017-07-18 02:59:23", "2009-10-08 14:21:23", "2001-03-26 12:40:14", "2019-05-09 12:08:06"],"c_array_ipv4":["ypZsPOMiHR", "uCYpCxmutb", "WiHuJsXBGa", "boHTjHvbAv", "LLPLYNznPe", "MGOwGaAxHc", "pMAggNNIOC", "mTrcYBhzoL", "MAUWkREMZq", "lhIyPGKaLn", "pNrIdmYIFv", "MOWAYzhBSr", "Mufmekdocp", "NZKUKoHJnM", "vFdBdJuEic", "AcUtyYyCqp", "lqCfWInGkL", "NTvbPGRrSR", "XOEEiIYBnO", "DTcGwgUkFR", "BLqjBudLHn", "tNYGhcJPyb", "VsEMRJcIpC", "oPtJPXSfNU", "taSauVaDJD"],"c_map_int":{"c_map_int_1":-660654441, "c_map_int_2":-322679306, "c_map_int_3":1905151413, "c_map_int_4":813396548, "c_map_int_5":713088779, "c_map_int_6":644520364, "c_map_int_7":1961541782, "c_map_int_8":-267039544, "c_map_int_9":-1398922037, "c_map_int_10":1169697067},"c_map_largeint":{"c_map_largeint_1":-7954737168846943083, "c_map_largeint_2":6913885459595537646, "c_map_largeint_3":-7002586629385334744, "c_map_largeint_4":-6313307337466779071, "c_map_largeint_5":481284308264762637, "c_map_largeint_6":-6133337008672363638, "c_map_largeint_7":-5694492568839042817, "c_map_largeint_8":8549702167084743467, "c_map_largeint_9":-962413104899426167, "c_map_largeint_10":-5265971165708463701},"c_smallint":-15455,"c_double":48.54106209809374,"c_map_datetime":{"c_map_datetime_1":"2004-04-14 09:20:18", "c_map_datetime_2":"2005-07-24 15:13:04", "c_map_datetime_3":"2015-10-14 04:19:22", "c_map_datetime_4":"2010-10-14 17:52:04", "c_map_datetime_5":"2013-01-17 13:29:14", "c_map_datetime_6":"2010-06-05 12:25:19", "c_map_datetime_7":"2017-02-19 17:57:05", "c_map_datetime_8":"2018-02-14 04:40:01", "c_map_datetime_9":"2015-08-26 05:02:22", "c_map_datetime_10":"2008-06-27 22:11:46"},"c_json":{"noununcountable":"rice","nounproper":"Angelina Jolie","celebritybusiness":"Henry Ford","errorhttpserver":{},"verbintransitive":"consist","uint64":6267637709090127495,"countryabr":"DE","adjective":"pleasant","errordatabase":{},"email":"ledajohnson@hackett.io","pronounreflective":"myself"} }'),(6,false,false,6,1,8,0,-9528,-32768,0,245,-2147483648,0,-1155391404,1201789830,300.343,5289721,7,300.343,null,1822634712,92.29225,5.923917,2.103957556751413,59.65898201230929,40.123,null,40.123,67.0685,97.1516,18.0912,100.02,60.0197,37.1124,40.123,300.343,100.02,100.02,40.123,98.1172,100.02,null,40.123,5.1821,40.123,100.02,100.02,300.343,19.1390,40.123,50.1409,65.1391,100.02,{null:null, false:false, true:null},{false:true, true:null, null:false},{0:-109, -126:null, -87:6, 1:1, 127:0, -77:0, null:0},{null:1, 0:-13, -60:7, 2:-93, -128:-13, 1:-65, -82:5, -62:1},{25720:24555, 245:-4506, -28370:0, 10353:31691, null:null, -18189:-28418, 1568:3898, -23981:16939, -3760:0},{25528:32767, 32767:22632, 18339:17453, 2558:-14568, 20043:17387, -3823:28812, -10937:245, 0:0, null:0, -9450:27276},{147483648:147483648, 32679:-1980351245, -2147483648:-1418943819, 594581130:2147483647, 0:-1126328009, 1460783647:-2069690634, null:2147483647, -63437247:-1271384483, 1637547952:424311925, 346700877:null},{-1273746557:-1612906564, 272059271:-918839846, 55626832:2147483647, 486396422:-1453191028, 484487287:-610053098, -744127184:-2126871396, -49962671:197634474, -1697012458:-2084550910, 977500638:505572145, -956908008:1642393062},{6:-5321835, 1:-30022, -4419545600042414307:29122, 617014868649873613:-1739409, 300.343:-5459103119895187181, 1609:147483648, 5843:7660819, 8076436377094305125:1, -3733:245},{2796:300.343, 9:15432, 28285:null, 20240803:1, 147483648:null, 24308:300.343, null:null, -7449799702410080753:1, 300.343:300.343, 1:3722399},{245:-9223372036854775808, null:6762677, 9223372036854775807:147483648, 32679:null, 4261296687836526661:147483648, 0:null},{0:1672705, 2860164:null, 9223372036854775807:0, null:7282465374211474340, 3218999:9223372036854775807, -184577948820371650:245, 147483648:-9223372036854775808, -2002034808681238893:5803960497808768575, 6199225423875357225:null},{85.276375:null, 100.02:36.79866, 11.506808:62.568516, 40.123:70.84992, 300.343:30.172884, 60.323208:74.05162, 33.42703:100.02},{53.967484:6.9478235, 39.864002:100.02, null:92.96524, 40.123:300.343, 100.02:40.123, 300.343:55.753395, 82.58288:59.285088},{300.343:98.75157989153631, 70.5139062713005:36.69395408198387, 40.123:100.02, 70.83901542923795:81.13395425338632, 26.6655961095428:20.665071057317746, 39.34926771528038:9.126066611133837},{97.8647007810161:null, 40.123:100.02, 42.22260863775238:82.90067363269716, 300.343:40.123, 88.24576378731608:300.343, 3.316475168004165:null, null:4.530011621419719, 57.49045687523707:300.343, 46.89709901185564:40.123, 48.69028444109189:43.757528591269896},{100.02:'well', 19.0374:'i', 300.343:"20240803", 40.123:'w', 43.0023:"9999-12-31 23:59:59", 40.0490:'then', 39.1046:'so'},{null:'did', 40.123:"2024-07-01", 100.02:'her'},{null:"2024-08-03 13:08:30", 80.1087:'v', 100.02:'are', 45.1622:"2024-08-03 13:08:30", 40.123:"2024-08-03 13:08:30", 300.343:"1", 6.0718:"300.343"},{64.1022:"9999-12-31 23:59:59", 300.343:'it', 90.1360:"0", 40.123:"20240803", null:'i', 100.1921:'had', 58.0237:"300.343", 79.0854:'i'},{40.123:'we', 95.0497:'o', 40.0064:"2024-08-03 13:08:30", 300.343:"20240803", 100.02:"2024-07-01", null:'d', 14.0391:'c'},{300.343:"300.343", 100.02:null, 37.0523:"1", null:"0", 50.1385:'d', 54.0330:"2024-08-03 13:08:30", 40.123:'she'},{40.123:null, 300.343:"1", null:"2024-07-01", 100.02:'have', 92.0208:"9999-12-31 23:59:59", 60.1917:'w'},{52.0856:"2024-07-01", 300.343:"20240803", 28.0575:"20240803", null:"2024-08-03 13:08:30", 44.1660:"0", 1.1180:'at', 40.123:'r', 1.1988:"2024-08-03 13:08:30"},{33.1424:null, null:"1", 56.0999:"0", 28.0681:'been', 40.123:null, 30.1016:"20240803"},{32.0882:"2024-08-03 13:08:30", null:null, 97.1935:"1", 100.02:"2024-08-03 13:08:30", 59.1683:'u', 0.1595:"1", 40.123:"9999-12-31 23:59:59", 82.1439:'up', 57.1764:'p'},{40.123:'p', 300.343:"0", 71.0474:"20240803", 100.02:"2024-08-03 13:08:30", null:'how', 42.0510:"1"},{57.0728:"1", 68.1377:'could', 98.0758:"20240803", 0.0880:null, 100.02:"1", 40.123:'y', 48.0156:'she', null:'k', 82.1618:"0"},{10.1120:"9999-12-31 23:59:59", 1.1620:'don''t', 300.343:"0", 50.1066:"1", 40.123:'i', 100.02:"300.343", 32.0313:"9999-12-31 23:59:59"},{45.1013:'j', 51.1814:'w', 100.1568:'q', null:'c', 71.1204:"300.343", 300.343:'k', 26.0978:'because', 100.02:'e'},{'me':false, 'she':false, "1":false, 'or':null, 'v':null, 'x':true, "2024-07-01":null, 'okay':true, 'f':null},{'your':true, 'h':true, null:null, 'y':null, 'right':true, 'o':true, 'not':false, "0":null},{'j':1, null:1, "20240803":-40, 'they':127, "0":1, "300.343":2, 'like':127, 'is':1, 'for':1, "2024-07-01":6},{'go':-128, null:-128, 'of':17, "300.343":37, "2024-07-01":-90, 'then':-109, 'like':127, 'e':9, "1":-128},{"2024-08-03 13:08:30":0, "20240803":32767, 'i':-32768, null:-29955, 'you''re':-26583, 'r':-22941, 'l':-1603},{"9999-12-31 23:59:59":32767, "2024-07-01":20516, 'o':245, 'from':16749, 'x':-8614, "20240803":16437, null:0, 'see':2688},{"20240803":2147483647, 'v':628821087, 'p':0, null:-17506644, "1":1198815705, "0":270430655, "9999-12-31 23:59:59":1070106878, 'f':32679},{'q':2035133424, "1":-719720682, "2024-08-03 13:08:30":-437291468, 't':-2147483648, "9999-12-31 23:59:59":-2147483648, null:-2147483648},{'e':20240803, "1":245, "9999-12-31 23:59:59":7561880, "20240803":7686772037919327234, 'q':null, 'good':147483648, null:245},{'m':3125922, null:null, "1":null, 'p':32679, 'j':636088652084768585, "300.343":1, 'that''s':1, "0":245},{"2024-08-03 13:08:30":-9223372036854775808, "0":-288350428970312276, "300.343":9223372036854775807, null:245, 'okay':1, 'z':1755231887, 'y':-815574096770230499},{"0":245, 'on':-966265929592018800, "2024-07-01":147483648, "2024-08-03 13:08:30":-9223372036854775808, 'were':9220383267811254556, "20240803":1, 'k':5309935424291033329},{'g':43.294216, "9999-12-31 23:59:59":40.123, "2024-07-01":53.747707, 300.343:40.123, 'were':null, 's':null, "1":72.31983},{"20240803":36.700245, 300.343:100.02, "9999-12-31 23:59:59":34.4006, 'one':16.897375, "1":22.436703, "2024-08-03 13:08:30":300.343, "2024-07-01":300.343},{"2024-08-03 13:08:30":29.0957792175333, 'l':40.123, "0":100.02, 'here':300.343, "2024-07-01":89.12621097132845, 'v':100.17008083579658, 'y':9.99380110083117, "9999-12-31 23:59:59":300.343, 'd':100.02},{'l':40.123, 'going':null, 'd':60.66845386156417, "20240803":100.02, "2024-07-01":17.65123546345001, 'are':null, 'would':null, 'who':39.0802968902975, "2024-08-03 13:08:30":51.4368946090758},{"2024-07-01":100.02, "9999-12-31 23:59:59":null, "1":300.343, 'will':null, 'd':7.0481, 'were':300.343, "2024-08-03 13:08:30":100.02, 'e':300.343},{'u':40.123, 'c':88.0834, "1":77.1541, "0":100.02, 'do':40.123, "20240803":100.02, 'I''ll':100.02, 'f':null, 'b':300.343},{'if':81.0188, 'hey':40.123, null:100.02, "1":22.1688, 'you':29.1759, 'because':40.123, 'g':33.0364, 'mean':94.0723, 'j':null, 'of':53.1322},{"300.343":40.123, "20240803":46.1292, "0":94.1122, 'l':300.343, 'i':null, "2024-08-03 13:08:30":43.0556, null:1.1480},{"2014-08-12":true, "2024-06-30 12:01:02":false, "2024-07-01":true, "2023-01-15 08:32:59":null, '2017-05-02':false, "9999-12-31":true, '2012-03-06':null},{'2000-11-04':null, "2014-08-12":false, "9999-12-31":false, "2024-06-30 12:01:02":false, "2024-08-03 13:08:30":null, "9999-12-31 23:59:59":true, '2002-07-02 22:28:34':true, '2000-10-10 19:22:09':true},{"9999-12-31":-99, "2024-07-01":9, "9999-12-31 23:59:59":-128, "2024-08-03 13:08:30":1, '2006-06-23':5, '2014-04-09':null},{'2011-08-14':-128, '2007-03-05':127, "2024-06-30 12:01:02":0, "2024-08-03 13:08:30":2, "9999-12-31 23:59:59":1, '2014-03-19 22:48:13':-79, '2001-07-13 13:42:51':79, '2000-12-12':20, "9999-12-31":null, "2023-01-15 08:32:59":null},{'2018-12-10 06:05:18':245, "2014-08-12":245, null:32767, "2024-08-03 13:08:30":null, "2023-01-15 08:32:59":-21367, "2024-06-30 12:01:02":0, "9999-12-31":-1775},{"2024-06-30 12:01:02":-32768, '2009-09-16 19:13:41':245, '2014-05-28 09:56:00':-1917, '2010-10-17 07:38:41':21493, "9999-12-31":2994, "2014-08-12":null, "2024-07-01":-19895},{"9999-12-31 23:59:59":-2147483648, '2016-04-19 18:02:21':32679, '2014-10-28 01:55:38':251247731, '2017-12-04':32679, "2024-08-03 13:08:30":1184329740, '2010-08-01 14:41:29':-722150654, '2003-05-17':-2147483648, "2024-06-30 12:01:02":2147483647, "2023-01-15 08:32:59":-400197093, '2005-11-22 16:26:52':-431405114},{'2010-01-15 18:33:25':0, "2024-06-30 12:01:02":-430058664, "9999-12-31 23:59:59":-701279013, '2001-11-06':-2147483648, "2024-08-03 13:08:30":32679, "2024-07-01":147483648, '2017-08-20':2147483647, '2013-06-26 18:40:35':-1617302613, '2010-12-02':190297184},{'2017-09-18':27515, '2017-02-13':null, "9999-12-31":null, "2024-07-01":245, '2001-01-01':20240803, "2024-08-03 13:08:30":32679, '2013-08-13':2790282895285398750, '2010-02-20':1},{'2007-12-22':7535408, '2012-02-20 20:36:16':5155664618418260750, '2005-08-09 04:28:46':147483648, '2019-01-26 14:23:11':147483648, '2007-01-09':20240803, "2014-08-12":-2676964409392029232, "9999-12-31":147483648, '2000-04-26 06:16:27':-2185546437167355583},{null:245, "2024-06-30 12:01:02":null, "2024-08-03 13:08:30":147483648, "9999-12-31 23:59:59":-9223372036854775808, "2024-07-01":147483648, '2017-09-13':-9223372036854775808},{"2014-08-12":-8325930143967460970, '2001-09-21 20:38:55':null, "9999-12-31":-2098267, "2024-06-30 12:01:02":245, "2023-01-15 08:32:59":245, "2024-08-03 13:08:30":0, "2024-07-01":245, null:-5155012, '2007-03-01':null},{"2024-06-30 12:01:02":30.292223, "2014-08-12":92.90326, '2018-04-08':49.526627, null:75.76941, "9999-12-31 23:59:59":39.64271, '2012-11-16':null},{null:null, '2002-05-16':6.974331, "9999-12-31":100.02, '2011-03-27 07:52:10':81.71149, "2024-06-30 12:01:02":null, '2004-07-28 06:34:03':300.343, "2024-07-01":100.02},{"9999-12-31":69.45438838250452, '2004-04-15 18:53:52':300.343, "2024-06-30 12:01:02":null, "2014-08-12":100.02, '2003-11-19':null, '2008-12-12 05:47:31':67.44362411925746, null:300.343, '2016-11-22':20.78060304710557},{"2024-06-30 12:01:02":44.01745173647314, '2018-06-19 14:00:57':16.802141091342136, "2024-08-03 13:08:30":null, '2005-04-11 12:06:46':40.123, null:100.9430901460354, "2024-07-01":39.90973174099462, '2004-12-19':95.27931556544277},{"2024-07-01":null, '2003-10-15 14:19:22':100.02, '2012-12-21':300.343, null:40.123, "2024-06-30 12:01:02":40.123, '2011-05-09':40.0853, "2023-01-15 08:32:59":null, "9999-12-31 23:59:59":40.123, "2014-08-12":47.0266},{'2009-06-18 03:57:09':null, null:300.343, "9999-12-31":300.343, "2024-08-03 13:08:30":null, "9999-12-31 23:59:59":81.1638, '2013-07-01 08:12:44':65.0213},{'2013-08-12 02:17:38':null, null:100.02, "2014-08-12":null, "9999-12-31":300.343, '2004-10-05 23:14:10':22.0065, "2024-07-01":null, '2010-08-19 17:09:42':52.1443, "2023-01-15 08:32:59":61.1768},{"9999-12-31":null, "2014-08-12":70.0278, "2023-01-15 08:32:59":300.343, null:40.123, '2017-11-07':null, "2024-07-01":15.1852},{"2024-08-03 13:08:30":null, "9999-12-31":null, "2023-01-15 08:32:59":56.1156, "9999-12-31 23:59:59":86.0152, '2019-10-08 14:11:49':null, "2014-08-12":40.123, '2017-03-03':92.1978, '2001-07-22 10:11:14':40.123},{'2011-04-10 12:50:50':70.0275, "9999-12-31":40.123, "9999-12-31 23:59:59":13.1896, '2018-11-04 10:02:42':98.1446, "2023-01-15 08:32:59":28.1020, "2024-07-01":40.123, null:29.0982, '2006-10-14 20:41:57':40.123},{"9999-12-31 23:59:59":100.02, '2004-05-04 03:44:54':null, "2024-08-03 13:08:30":40.123, '2016-04-11':100.02, "2014-08-12":34.1441, '2006-11-11 23:55:13':100.02, '2007-09-20':null, null:40.123, "2024-06-30 12:01:02":28.0140},{"2024-06-30 12:01:02":60.1125, "2014-08-12":40.123, null:62.0255, '2013-01-09 22:23:14':47.0536, '2012-01-01':null, "9999-12-31 23:59:59":21.0581, "2024-07-01":4.0549, '2011-07-01 00:14:39':40.123},struct( false,17,32767,null,1,1,86.37233,100.02,88.1158,40.123,null,57.1882,19.0558,7.0381,69.0308 ),struct( true,127,0,-143075400,6106859,147483648,40.123,13.768472665855738,40.123,40.123,100.02,91.1529,300.343,100.02,73.1524 ),struct( false,74,-29629,126652633,-2831,5505593297627695922,null,75.75421733813006,50.0213,42.1095,40.123,300.343,null,81.0525,87.0592 ),struct( false,0,-32768,-2111549540,300.343,1,100.02,17.297097465734545,36.1632,40.1683,40.123,null,77.1644,32.1773,36.1238 ),struct( true,null,-32768,147483648,-2465107,1,100.02,300.343,58.1861,300.343,40.123,100.02,300.343,300.343,null ),struct( true,1,-29331,-1888301410,20240803,1,100.02,21.28429593775833,null,40.123,83.0371,100.02,55.0443,69.0662,null ),'{ "c_map_string":{"c_map_string_1":"JmLEGhxHqNVTaeXewllmrurZpNXfiWSDHPtcRWvBVoyQayNlHsMdodrwVOAtOTdTUAavGqIfjwFEsiBmupyaTclZBZQZKGGRfHkfMvwLgpPBkiSseiOUlIBnNJhtYSmbwLiUnFBVTcavCNnBwJLmgsEGqOGmIXIXSblyVqZzBLUjMnVhaEnPDBlwCjFbwgceCZMYgpNOxDYUnbVZUFwCYzilOMMhJrpLqhbjzUmueLkwcUXdRpXAKoNXeVkOmTPFZMZviBxMKbMrpYMjbOBeHPeJQaeKKFJVLAUcgREpJMFQzSRckeaSeVgqQcsQnqNychVZUfAHeRNCuMaoyaBcjPBeqbadScWrFmulwyjTYnzlHfIbtvLSEnbqphqmeSXDCLohTDYCVsgZSglmNKchzaxaeKgCsaUBIApbHFdtxTxsiCZAdxPQRvXTfaHTKnEsHJBPzWXJQlKLzQFryFlIyAynIUXzAneQjDpiCxCkTlluhcwyXvABOoLtLhCMrpwc", "c_map_string_2":"xnwjxLErpsAXChJIiAyukFlvyKKOmhCyujiIRmFMmrTBqLsDlKFkDCkrcKGwgwLrBKXzCSXIfJdxZlcpjmmVRNdXXUZEZpnrHopzmKmHYCQnIxJeGBtlvgqOKHOlbNbnqZVvchbuePoLZfAXxPnmZyoLYGmvynluNTzhfaVpEqoUPYUCVXgPItmpKKYqdzpyGhCGrQvQWtedGcveGEiEuJEFNAHRMvhccelqctTShBTeCgaIdJfteMSefdEjMbEMAQmKcxFMaEKKoXbLioVhuqMrnmIXchbuUQbeUHjnpYDjtGmaxQLLAmUTNjQpouWcstvUXHaDFmgbHZzPSUSUrgzMmNrzceUMmVnPahgEoDqlVpBJwfabvvHNIOxQEJmbAlLnwCmaLSJnWuFzkjOUEsILrIpNedtNwjKgwCDWZjcjgofVyGKBAHdoceRPhtKDfNlLDlazBqPZIuetUyuXJuTvvMFfomoJMYrgyqNyZjEXKUIgvKiduHPAeTvIisdP", "c_map_string_3":"vsmgXEBmKmciGtGcVHvfNxbtDqIMQBjapUGPgKSsYJNhYgHyPhKMZaOASKtXLlRFoovZOpzkbqnyJunbhEkGTvDfaTGkarKGrRfSNZuwZjqYgUjSmnZfFevXNaShXdwwZymDQiAfQWFijkdAbtMgtzROskQtXdlSGDisRjGndRvDGNNYqoLPeFmwCcPxXfSfoPYTjQQBbvMvmJXaULcziqPlkjiBsWILNVgzRDrnXInZwnyNdWCIzKilvIBCIcCaFRjLFctmMVfLXnbdMereySDysZdMYcRnCEURpqySKnUBWjVcxmXandBwokkSEiglvUUSoIQmGjbmZmOjismCBeRPOCUePKZUpIxCvTZwlmYPWQEHplygVkjOXnKNCfcYPqiFPIJUjeywKzamuQqUORFyPScmsVCFiVIXzsfMpLEqizJYkHMXgtirpmFexvdilFHvgcxgxhqDMHgQeRBFsCKTJXtgrJseZdmqdboHQkReaBvQejrDFFjpFmToHqcG", "c_map_string_4":"RDCwafOTGVxQKgyWAkmUjiubnGZYGDdefcpzaZoeWnQFFUiJogTWOjuImsMjcsdmMvLPwOQlSZwLoNUVVwKsDdQmybuLhlIrtEZEPqctmwbvwkFoKtxBNTFvMyIUIcSXSNkNkvfuZrEvFVoUvqLxvNfboAyMIboVFpaPbRuCnHJUHABbEZUMGPJSwzOhCmRPgQkCotGjHWNiEHkBlngOyHofxNJSOLwLAOdjPTzLbCEKvSmDoHvrbcprjCLCOxrOXymNQKrBZgyoBGbTlvnwwqrOOVRtsVZtYMCwCfDonLjtEquUVReFxfdnaKOYWyaQSdecsVVgQVwbXEUeSWimBRyckZoDxqWqhaoEERIRNdZIbokemVZNkBwVmSPpMhAOexgWXZyosuKSUbKETxIDcjcqGLxEoiFgZHgMjSQIZqypOOHpfGoHCpBEeBUPgEmhcItjPTrCZTzgJNWAmeaXPYteaSRcZuEyJyghOELzKgGVEwJjQjwNkdDiQJjirrJn", "c_map_string_5":"TnSzPcoYJKYbXLDPZmzMsmnBmLzWoawIzGqdCHdfMYUAmslsvEsPSmHsvqtnOeTjgXzFcHfafEcSYTadJTwlvFzpQPwibAUAhbCFlDEUICoHFRiYcORPAOgRWSvakLDousPCOeIHbZgoxPQmFjGqtHwzVdUbckGrJZwqUxcYeeUhfbZXDDTYtymVOoINhmeEMhJUzJJlMItuIDpJUhVUMsQLWkSAUToYXNwLfllccYUjzexbcVqmVcxgPjCzYzushwFcWWmSniccMjUmGDNvhGXghAQPYScPTLcZUEFHlAjPEGINOwILzeZZEGYHRrXlZAZDOqwtfMTLwLGiNVOHHbOMSJjtWVkJlANIhHOkGFWFBWYkbWrvMreSuOizwbFeNhDwFMRxDkVxquxiMsdFUlInuqqBbUojqkeFQturNXTpoEtmiXFWlAasmuqXFjLstJNjjWPQeBxvwoYPIgGvTgtDULtodqouhYZQHPNlDCUSCQYiISSXoVgoyPwdVrKI", "c_map_string_6":"LtyerHUzqvvPjAfuzMySwyaVcvgPxHvrmYhExCvHFllEDJSzaGEzPBPhYjQJbAoUOVdeypYJRIUszMWthHrHeHpGzgqTefSvMrQuhoarcChiIAXgMfqiumZndvMXlLUkuOSyGcKpyKHLxOxifmwIEebRwISKjmVwOtIEiaEnfWtpmxRgWnzZTrJoIkePpGVlJimVgDtByxRdyPikdcWyXXIPSLPdItKYwFQZnszLTozaliikfjpDlXmnixfNuHCCWnJwhsANdIReXBTxCnOgOHGQOliztDWGnJUSyKVQhTePoxLWoUUcqRrtYSkxfXpGjcNACfzxjLSRvrQNiLAZBhBOHmLfZKnOcceVUDhOKQcAockPNvSyjgAxhUfqgwgAsdUqSETyXHLVdQoFuHHIASsdUdAmStvKzUgZLkDwxQkyGVRiuhbToiBfTuFnSPDlkzkIMLDBUlFeMmUhOYHmlmLYtkzIgjukCNbrYOfnUmGqeIJKzFDinPGtDSLVRxIh", "c_map_string_7":"OjMfQqRKkRNjfjzqArThpVcBAgxsWldPVMagHkikVdoElDPxyangpgZvMgcZAFxKteiKCxUbwawiDpSuYTSlRarXFOUNIlOpfKjnMwumjAUgjJZAqAxPuSYDEjUbjLgpUXpXwIOGqilXbOSCzhCfMlguadyLfqfcRPNxNzgyexMkKKosROSHmPTJgIgtAHoThcMjgWnmJpCtBJjqxhZusVLifzPdcYMgARxtSmSrzctWlhLENkLvOoMdQjtNDTKvvMNrpcYiZvxkTIKXEoEcSaNumwwVpzJkQtlxRZsgnbyzMwsMEuPPKmMJLBIdaLJPADFOMxSfkMRQfXoFFSovaWflZmwgqLZXcbbvYTwaOaujzIfmCHfUUaNAfEUTVpiRSjIdhymSnWkrmmDzUNCENArdqvOoBkbSsifScjeAYZzFLRuSwolyFnKsDPjOVkFqbqDxIAideJFRHlwhvLNqgmAtoKzvFjYGyxUgjuiTMauiFEVChxRRKnRxUlLZSCoG", "c_map_string_8":"hjIFbbnDxefiteZAUKpOqCOeauXYqyNxmaqnyeRokjGvjCKrpmFQuCzatEiVtwnCKJAgGbgYCflYSJLwYxDchkTlIMoVEujqzknfkFBYjXVHBVMvKPCVqFghvLAyDDHitylXvtYWsaOSpuiLAlyqRjyUNJXtHADzzdESeqjifJEompeEXpUmehOmaukoYQlbSKbyKcYFnauTgHDEjWhxuBpTFLcTqSErhtqsjFAHhuBPmdDtEIQOMZApPEIAruqVOGqOaJCITdzvJMlrdwFMvuBZnmLffCSAuXtlVzBBWBYEAbZTWGlbAZOuRpCQgdTSswnneiIbAbfVUlXrIEENLzrvBKlchYaJzTinAZuxEnpWeIXLEuXXswnqerQjcWphJkqyTxBGpMJXpeDJECAFSZvwRDHkgMgwqxukiABWeOAZlyPQlybtdpPnKvPePcpVATXMKaFDRggqjHxScmhaTwKJOPorcAVXmXYQYtpwTrUKKbsdvVZkHmBoKCuvDYuY", "c_map_string_9":"cuHbQhyeANGUFyaFWEebzlzIBwItvrxHzOgoiJZUAOvxHXQWwNRvbwgMLtcKKzLYTtHhkUCptAExHbYOLfhJGhhsiCUoAWCffJxUkaUYshRUBtKPpvXorepmFHPfYpXcxdcRlHJqasxjVTcIeQCGJOycHnPeoSezebQuSPGxJHMfZeDYRjhoZMqlAkyChQxvSrEHKkmLviBRcaVSkaAYOKYUxHeapzQqCTwNtXqtWTstPXAbhYgPyWqZdrdHByMiwUFwnAlcAsecsVSSmBcPHstGmgSXDEUBemrHIhqXMQgyQKxwoSlPqmVQLVAFDemLsjUNBMbwHCtQSgMflddSGiFbENbbQlHcMCCMEqUqADTmrKjmvLIMiSxcbeKjZECZQXdKhcSIPtfAQGiHjbmZxUOCHeeovcWcuUcmoZotwWQFCamGfHTDLBsAFwiBDjREqQYmMGQJydwlEAFFLxDNyfFiVGupojAyGGvLArxnNDnsaJVRwLiZDlsJfjOnqYSm", "c_map_string_10":"yyIAxjascoXYuZboitVXJkggzFCMCAklNuFTcdZmdSEiquroMCAgDvvbqqtwFDLTmcsAQxqabKNvUVuQMEekHToHVZxfbFPyBTvuRXwdNHLYZcFDDcZVPhKzXpLSpBfFYqOkByVmMKwOdBllNRQgYIgCWXPaQiEnMcOnhNPxvrnuxsdOrBYpBLKaXXECCJNZAaxbxhTWZhMdrAcPpMncxqiKpBFfkywrkoMuwUStTLYgLewXSkkbFewTHmxCmrLYRgqWqhuuyXUTBwAadjiSRAYNpsFlJmZAwtIgjPyDzAadRZBKVVfDYSyxTCDvBaivyfDCXodBGCvnLenOImLLYUINgDqdIXIAbErOqzuXCUJCtpQFBpLJTPYtYmlniPnofRgOEXJsRzALXqpuCeRExzMKPeILYyqmhkjVYUhUJFoUPSrkoZrpVuouGhGSuBfpzGORLDbeYNsibIgCYwDVcegePKaqEIlyUdeOOkYBEvZajDdbjjADGVOprFOvRQvN"},"c_varchar":"would","c_array_int":[567114823, 2056599277, -1076878777, -1948433647, -1987414013, 450286, -689345336, 1508861326, 465164932, -1995331889, 547671702, 976350498, 200100078, 1303372412, 801526621, 1964624066, 1234724136, -1395352392, 2006727359, 318924967, -340197325, -467608993, 567217484, 644760987, 1497384407],"c_array_float":[85.096954, 31.541376, 74.29908, 31.646206, 66.83036, 27.923655, 89.90101, 20.062595, 96.78752, 89.37342, 23.448551, 21.498474, 72.90704, 54.805065, 77.93735, 61.93153, 75.40993, 35.401108, 49.95973, 80.11022, 6.443667, 12.157292, 73.604576, 93.22211, 70.83082],"c_map_tinyint":{"c_map_tinyint_1":57, "c_map_tinyint_2":82, "c_map_tinyint_3":69, "c_map_tinyint_4":75, "c_map_tinyint_5":-55, "c_map_tinyint_6":105, "c_map_tinyint_7":92, "c_map_tinyint_8":-19, "c_map_tinyint_9":-126, "c_map_tinyint_10":-41},"c_map_bigint":{"c_map_bigint_1":7138266459684788629, "c_map_bigint_2":-6773052759635640104, "c_map_bigint_3":-3001223383138423390, "c_map_bigint_4":-9109743253155216428, "c_map_bigint_5":190302497383647445, "c_map_bigint_6":8808201213823267218, "c_map_bigint_7":7173050586438598415, "c_map_bigint_8":7743230510624082195, "c_map_bigint_9":5320984654334591481, "c_map_bigint_10":-7181186055965231408},"c_map_decimal":{"c_map_decimal_1":19.0104, "c_map_decimal_2":46.0980, "c_map_decimal_3":79.0759, "c_map_decimal_4":2.1068, "c_map_decimal_5":77.0997, "c_map_decimal_6":86.1814, "c_map_decimal_7":91.1089, "c_map_decimal_8":75.0219, "c_map_decimal_9":55.0824, "c_map_decimal_10":58.0138},"c_map_double":{"c_map_double_1":47.55283129651044, "c_map_double_2":88.47253551949478, "c_map_double_3":12.47292145207366, "c_map_double_4":22.65289560836476, "c_map_double_5":86.30797132680631, "c_map_double_6":48.2461114952443, "c_map_double_7":44.84222420199861, "c_map_double_8":29.558864749450937, "c_map_double_9":40.69283510112193, "c_map_double_10":79.79095120423884},"c_int":2126930590,"c_char":"ZaYCyQPdaq","c_array_tinyint":[104, -61, -56, -65, 70, -35, -84, 17, 112, -48, 96, 7, -28, -60, 109, -43, -45, -15, 99, 103, 124, 78, -121, -32, -97],"c_array_ipv6":["QCDmQAbWZT", "huUXWqnBEh", "dTBGLGZzTl", "aaUrDxulud", "ATBwWHOSnl", "VAquAEXotv", "sCYmAIThvK", "fZtKSeoYNC", "zwMSeWqwqD", "XNwRsyAAWn", "mVGPUBvwxu", "pQCZiPBOcx", "bOUsneNYDA", "YUUslZmhJV", "fuKNmZMLqe", "DvNpuanuny", "XVYyPfTSID", "pLDBHsCAVJ", "IiNqPFCezO", "mtzwJqUbQs", "fMYooAKdCi", "VJtgtlMtyD", "yRLteSCteE", "oZXzvbiuBx", "LJZezydXTc"],"c_map_date":{"c_map_date_1":"2003-03-07", "c_map_date_2":"2017-04-01", "c_map_date_3":"2016-06-24", "c_map_date_4":"2014-10-28", "c_map_date_5":"2010-11-01", "c_map_date_6":"2014-08-01", "c_map_date_7":"2019-03-22", "c_map_date_8":"2001-12-11", "c_map_date_9":"2007-10-21", "c_map_date_10":"2007-01-03"},"c_map_ipv4":{"c_map_ipv4_1":"21.108.94.225", "c_map_ipv4_2":"49.13.225.166", "c_map_ipv4_3":"190.126.236.149", "c_map_ipv4_4":"49.229.94.245", "c_map_ipv4_5":"137.85.170.254", "c_map_ipv4_6":"197.197.107.203", "c_map_ipv4_7":"163.69.20.218", "c_map_ipv4_8":"20.86.85.203", "c_map_ipv4_9":"157.4.176.137", "c_map_ipv4_10":"20.217.111.238"},"c_array_boolean":[0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1],"c_map_float":{"c_map_float_1":87.05772, "c_map_float_2":45.985832, "c_map_float_3":60.839043, "c_map_float_4":94.821205, "c_map_float_5":98.1786, "c_map_float_6":33.155262, "c_map_float_7":17.419565, "c_map_float_8":41.964596, "c_map_float_9":13.701091, "c_map_float_10":65.290596},"c_bigint":1155897464921347490,"c_map_char":{"c_map_char_1":"siWMtwfJbq", "c_map_char_2":"VrqhCpTeqM", "c_map_char_3":"UNzStFexRq", "c_map_char_4":"rHkHqKLhZt", "c_map_char_5":"JhOPGKqdpq", "c_map_char_6":"yBFSxaIacv", "c_map_char_7":"kfwELNvhgm", "c_map_char_8":"QtbiITqGvD", "c_map_char_9":"TyKGOPxWwG", "c_map_char_10":"XLKdUsruoG"},"c_map_varchar":{"c_map_varchar_1":"eTtJTFVlFKBrIrQyVwJyzCpDSNoEyCmcvvIuSKEPhrGchDuskCFYPqHbQCewOREgHOTNMrseArDdAVqvwgKapCWrGRJdcImqygCzpEMJjtYVNKWSDzCxfwgoHnYEIwsrsNROoLMKiomdLUQsnrUWfKsHxqEuqKVcvlqrBxYXmePXrqpagoeYpjeKslhFYUGbPAaRDNPUIFnuWtUsTJBaSYULBGxEXwcclzOAiQnPoREotBhFWYqeaMrICVoRznxw", "c_map_varchar_2":"IaqMxGgsEaLKSYJtzhKlFogPUBZwCWrWjPhexPzVWwwgdGyoIiInjrJHwDQZShvNSFlGDzipDztMdHTbExvlyfCBRiKehOBIpklGEYsZigtvOUwHaupeBNctkiTpKnuidKJOtylXfQYXvRRQbbdMyrXottTWmQpGkJtZJYtvLUdOYGXSuTlQHiSzAwniDaaBhswxXDITsNgjQdRjddryovCxyXMlwAuDNlMqktgWoviziplfKtBXwnojNscBsgAE", "c_map_varchar_3":"eSkJCJpavbygdeoaIcDzrkBypedEUmdRWBEIBnkSatHzDIFInpLxtkhRKWxQKPHJQEVHusIOfUVIjmrohmSvyzoBkKDjfqOodOXwbJGzrdttYHtEsvgYZBQAjecSRJDIiPUycUCMIrwiDjiRNLKZYgOumdYRVOGwfdRzxrwBQYxoqFCVaGsFQGvdKfZsfouYrKyTeJltNhhqLlZExGXYQAAtOwuSpKKJfPxIWQqexKAHAVzmYCIgGmJWemcjDIsC", "c_map_varchar_4":"KLSUPyGIPUsjtESOdgiHwIhNXbWlLvxKpSZNteTvZFnnrKMpsdtmjnaJyQTnDWavKuNxZaKCZHoJbIFRQDMwnPZFROeQzanyQLtWqfUCunTkNvDsGJlaocPzuqjlRqXeGIePtfLYrkIcuoTahVMqJGyhbWooTLiSnwFYgndYUKcSpFiAHzPecxTROaOhCWjZxxCMkFaeYaJojznrZqgCIIOSsTUhyQBsMrrcGpqwOpRagATybSFRTIhPjBejcoOU", "c_map_varchar_5":"nabwdXbvIyeHJATPpxqSlWBTTGYZqDcNzozSDgQOUjCaiHcIsKiLWFmWlmkeDpkrmfXitDSCvxQCMOmTXZebEUpomCJTKCiGIDJssdiaQzNGmBzEGmrOlWcuGwPpCBCSiKIfdJiTQTIwtCdXYrveRGYcUMpHRMKejciBJyOmmDWaRDhibcTkmUTGrIlvbtTIHriMjBfkLWwpQPKensZtxKwMmpPzRqbqnOoqlMhGTLpmKelStJOIelRsdMAdPXGI", "c_map_varchar_6":"rcZMrUBFxmgMEvdOtSEoLVJjldPSRNyVNZqcGUCrGibEhchuOjVEsAbRAptNYqeDPFPdWOLxkQNGIeUivyYnDQKVLoSVnbLCuTzEtJFJvApasNzINPTygHQgwyuGOlbOMNltfOYLckscDDGEnlyGmNttFMWLadjjLvkFmQKQCLqHFlxKvqmJxvCfzurqFsebslbSrrgXNIZnqtopKzPtUPdJJUiWJGhazvSuyCjMjKDAdwZuXgSjMiMtjXislLOB", "c_map_varchar_7":"JukWRunzZfzkEfVucKGOhGZiIVZoZfeLCfOsPofTIJAqWAOfKjKQGAPfaLEaVBpGFkNorukzIXnbdknrxpcMcDZzHluTpKgzcaUFyuvdCsBBbrJCsewsBRGSrEpAvSGKKQmAuGQacYygMkYMBhnrhkXPDYCxaSgSTopkZXUkotSDBbNTcwycvvWgKsoHlPDqQELkcHojZigLOFcYRNkLPyrpCSbyIwDVIZSzpFFJKsSFwSWvNKsqGjvCnTuqmPlz", "c_map_varchar_8":"CLxrrVgwSedWMWCJtPLraNCtcpYtTvVHromRwbGngYYheSrqSSzHkpzQgHuAjvufAtmIIQPIvBudjaFcFqOpZSHArlCjJlUdNaPcZRfcooMYtDCuHQmwwugDkTacMXhJhFdTYrtMcasNKTrdmquxMoNiCFnZLckrVqzaMsshMuMuvDbdgCtwRmEDvlaRaZboFDOmzIJtKVlJmYUFULHkzNQbPuVHknTKtoecAFhhXWtsSlBYPspAQCysWADyjQHp", "c_map_varchar_9":"lqGECwzONEzAgwaSpjxkcPXEghXSIZKyHblQbzsFecEiDfldboLlaJEJndMrrGfIzFXwfGmhBqClXlyTvQFFvrytvLQpldIDwpCQlwPPvaraSpTdCHPUBlDloRNbaljFCAhWpqlyOpKvitepoSOKdxgZyowyPBZqrMiMvRJBoKHKvUMkERYWuSQFLgUjtYTNURoppZKgwzFnvfhbBPQaMhphcEtAFEWkpYnhhbkAHoySpNvXpZMoKWuapAZsKqJV", "c_map_varchar_10":"zwZegwhFPxtFNflxEGDCIaFsORntaIBRhZWToBvLpkIomNysMtIqgpWssZkMqCGMUlvkdjKeIqhhhAcsxdXCJxFIJMlyNWHOKxnlNNqIZkcPURgafSXDacEYMtPlVQBUwEWitVXHvQDWYvbjgglDbHFkPiJryXDlaaYeWumkkqjHoaMIEoAgjWYJPKRwLFiuOkuoDBsDAbSccqcMLsVKuMnskwuXQNCEgTzGSfPeLeDZCPXrhjYDosCWFtjzLLxh"},"c_string":"DCiQxlJpqUhlybOAsOcJkhPHMobqFJddUJOoGiPFEQOQxrecuIMjHegRszDfGoqckwdUOoVxXltfCTSlbKxlfuZogHKtJIKmxpfYQkWLvWtOVenFeEDAyJQyjpeFNPuvPaFyUnUGAJedBfeQQHVADIDzcHVbNwkIMwDSyXwYhhgwXwTQTTeSeTgVFEPgxjVMCkZXwCzMmMfqOtNgznxRxqyjxjtYJEvhSKpEOVBCqVPIaVjKHkduMlHkjdgXGXEkGfTnoFHRsMCnFnXxPszywRKmyfSwICkLyvNqJLAaFeJNImHBgBDtVhgcvNuXhFcsktEySPVpyaxgbBohwxVkZDdtneLpAqsRXFJQSKyrkpMtPYyyvBgPtypAEHBKmxaKTrXEoIOVQBLrFBnqRgacdHdDzgjcctioBgxBsoGWVoUzEfKDBqHBgIMaOVGeXZzVnHlTuGNQTsxMTwrYhsXqOAyErHEYiMGeaaQPUnZVmmPWriPrttSGjuCPulZvSjAw","c_ipv4":"30.124.124.127","c_array_char":["UytPJEUBUK", "CCIECgjGhb", "hndZpwnSgH", "GjralaixRv", "UYhYsMrZNv", "nDecEjLXXs", "ZyUvpAMVuY", "mrIlWGCdoS", "QTefjYYBIi", "ivmuSCBnzF", "XDVBiGBmOb", "hUrupVlfUf", "MlSkbyRnRu", "VePHfpvgAt", "ZcvUejfVlS", "GGoKMGSBVF", "SVgGpEjpsj", "iACASvkhYz", "WljTRWSBAq", "OMlhlbSMBm", "TFrhdrXEta", "qcyVswaVYy", "fKOOCmPusA", "WNgSYGIAui", "WNKzwhefdF"],"c_array_varchar":["klnnEPIBzmlpOPYKwkvLOfibEHCpshjcVZCKpagfLMLtitAATealVRrCMmrDBFyxhDabfdcLpLdDrcDtsEsFaMrttkFMBALyJamTEMLMCsREvMQegQCeGgMDuaITMMwfJpBDCdOPAyimxjUzogaSxQrqloAVUnZlSplrpMGVpJoeuafXkhqkYQzzJXpChzTuqHuveDSoQCzNUuhpIZnPMqdrFzXtqBENthxOfdONqQmIjonFhMQyJhLjDEjxiJbc", "GkHkdnrRIPzdHvPNSFYPEZRTihLEjizYUhwQBvVEEVDclpyyzeoJkVonEWdBVEoPqrXObTkhQJnPmCIFQaCQQDKoySqsMnlNPkmvHKAtJRUAgBoTmfAftaUmgXrokajwTYRFnRClNDMDCszsijDmEYdmGRFdQDXLuGHBtiHtOGoXazIcblOwZdKVlnvELuocoauqfgbJcpyitBeDlanikXdXTSdGFHFyfdKMADhxaEskcpkNDqOxpCZhjFaDgwgW", "LsWZjbDvcUYciVevlpqDhOuMgqvlPiYupbtrVvgILDvRYLzdiQiAfsYWMtoIykKLrysieInmeFsAcjhbyvObJmEuFDNBcHldApiohrrBNnrSeWjYJMiNgZrSrgZyJoJMhXGYSIDGcqlLirOBJnGkInxBkEWvgFrzfmFMpOeAeFoDdFHzeaxTSouTXTWtCjxnnzUlRwtwgNTTZKxfjUqPHjHzqTgcjXNVpRISshVhXyTPOBQfcbMBaMaAUpaVfyXB", "scNttvifScIxNBlPDGxZhRXSZfmDoWXWDVUIsjfdIBhEdTChHdRSpJrtbtBFCYLKfuyFPQyTbBULFXUooKYWDFhrVrGhvKUeAdrXiqCGBfjBBgzMAVsyKmhEdJEnqMniCGMFgbEXBMmCeqBmaRDjJprznWNSQSYIYJZtkWrIsDlLrzSmfCPkATlsEGhzZXlIIbZETnnEXNqdGMTuFHTNihjAAyTpChDaBEVpuheuqZLSNXaXhqNioDVWLcsWNlnG", "MiMFHobQyDnYsbWrCZbUoOvZXMskggejLsKXtDyNawiizdfmquWpxOTaCAdwJMoMZVJTZRIHbtkgXyqrRqnoIEQAOuRyBeSDYooQZlHHmRsyHvNQSNqcXADxjdfhJfQrBzxghbpGecELfSygdPzMICDliJAOesrqbfijtduiniZBuNBGKwrJBdzXfnALjOwZfdmQyXVgfxXebcCNXWbKabMggbnzKILxmUbcwMHLtQWJDiWiJjDNfOzMxuqlRWRu", "dfPFFbZWJgyAgmbvMYhYtszsGrutZCMsWvaftoVnziMDdBJzLrrurPRJXAiDQkYGdAjndlViyMTwogjThNOopZHcGdWJSLxCpjvPcFJDNWYbxvfYFDsCDYzQOjynGqCjAOtbkZpIyqyxHMRPPMDXVKJdHBcMCRbhhhPelvYnbDcXjpTqzphkJDxNFjYbYGgMwPQkdTIZpAxqcKtOxtAJYrJTMgdvsqCeytDIlOGNbsXsqOROJbACkrEcZiYnKSLv", "zvjvmscCFYASyJbvSzkTQnYUaBcLXLUqhYqoyYAOcJcQTutXoDMQqFYHxfqiRKevEKBUaRxjsazHVaZhfxiskOglHuSrBCjHwCMLgpvtfPJoTVlDOlGIJmlaLcLjArwjMfMxCNxxfbUGbJLTGXhpUwrQQhvHAMHumhfceFnYWdbowaOMGHOwkGJEHHNuyFkODObjGmedCDhgXZaCWWXegjJPiyDIMBXHNwMtxPlascxZPxshYDRevuFQovEcPBPW", "fiBQPTnXNhgaNDOPobIMniKCOrzisTKqUwbWqbNijRmohDfIaTUIjRuxgjHvGzOLyoecNmcmumqTJKpDaFaBadRoNGZStpfOmoBatQxeOONvvOhZQMeYSdnZGpjunysoKWgfgnHXAypSOBbffJbTgoUgsmsZjgkhZozHFyzUFCwrluNkvAcBycdVhfDlwMdeUGmVOymUOssDRkdfYjDVqfeqXFhkVXbXKAyXjhZoJICWHefoWFwDUbddpTSlUSov", "MgDRVIQrmYaAnhySOsVmBUWRnDuhAPjgTPzZYBhlaiXvNTcVxasZSydsdYNsqyyOhbXGbpWZTbhvCOjzGGntqSJFJzTjQdQTVmEBUvoVKZKMlRlKjXbLvuPYufqaGalbkJzrJlgmJXRoxvPJXrtBMwFiEDsNARHyEQkUpwqkuPHpGUkyTfbVSAsBBLxRwkGXtEYGdXtqyhSwXNbJrwqjtNFXHmdhnQASsKGGHpGgEoSUpKdOJtkelqNOChKtIQCo", "zGtfepYVEczVzxyBXJJtRcFuIzLTzcxxScDJNryfyIyInjNQVGMIaRcwgWdKQVLvNYgUNtXAgcXmvFdFdCblYBMoVnbfOjTjLPOcNABYWiHBwrCRPBNZELGeoyrtzWwbWuVNcmDoiHxPvGAoYgWRoDrlJJNiVxufGFpipOYIzDLoNthHvXWaUGFPNdwziHQubxfoDIsoCJyhNvMSIcCNOwmIbWROCbhORjmwMwDWSEoWMTDdxmkCHNCBkwOKeBIQ", "motLQBKnEtHYQhrUtXBsbhRnUHKHZtFmFoWiUQfgPJZeskgQPFyuuoLYBuOoMJxIIyijKVaferyitXVNwGzYaJhZMieLREwysoVxFPXWVLkAvylFaWUQHoyZMKqBQGxoquKUFLxvjXgDjdQeQxbKAHSLbmFOxISksZhBlVoDeNlOyoAYytMTrfPwommsBWsaCOxnDIqPuhWvicdKZrkEgvLyYfQYLcNPfZezyHQvClaDBoicvOzmfecXXzevKHxw", "YxsYkjcfceJTZyCZffXIOjnBwAdBRUlnpNUcwAvIqXQTiaEGiOOcjJQWZOLXKanyTzLKueukQGlAkQADfwbmhUJNdaMuTKkCoaEKSFDADuDkCQjydoVjxTunkAuVhfDBgvkwPywoZoudlBEvivBBpGuDpBzfKSoYrZPdxefsddikRntIRLmXjvohApJtcdcUhUuOfuxKNOYXlEJccDdsexYITGeIwsnAKRxSHFYToblXEovhLrAjlDiYDDQqAJwl", "OgLHzQODSbIvThfGkaSxoGuEgbGfWsNFbAjuHOTyzMiDjyRfCBdFRUXbfHpeJkOWqYMqLlfXyMacaRmfuSdTaPFMvmxPxjjIldgEymZsnxiQfieUeVMQNLvEgNDcluzIlScIOmrMliSpBgmjrMQPxiuoThXsDllTSieMaXailwOKoMQGGPRvuQcAtbrypIrEYmXtoYuoxwXswWLkEQtyGjYydkVPDjvBHkbFNVvmSEMubwQkUhlmWIgEjhOoxIyl", "KScgROQcuZYhtMnngKZxAgzlCTCBlGxrGOQjHwpmvWKAHoLGXWlUWHWGxEYxHpwQdmtiKyvWmbJvBoJFucwSoQakafsAUSyWuzTzNMwYiXOUqdLAAGjUkHYVYpqgtceoAfUqUBetJGBQgBJlOtVNwWFRdvNDXtDCbEBUlvXTvyVvOSloAgDfbmKDEmzgwUQAHIupkFUIZdwYnRSUakifPpisJmCWRGBtAsENpsRrMMugUOXtmUcgWcFcxAVnVoDF", "mmjqwaVfnbpQgRTBkZYUPGUoleOHZwKNgBPKKvdIhplAvLGmrVPwDZFcVbqCqyyNipyDMcwIOsiatcGbLVaEZlPktKSwaAAQDdzwxrldQPmAFOCnEUzRprwadsKHVUVFnFkdzaHkunvOmodCQTzKSeHEKaJrdJeQJvJdSVrWMgwXQmTTVMMXNEXmkAWTTuQBDABWUNiWxiNAwVKwsOxrrKdNPsHEaeTScGaoigTToHLtxFxQnPVJKEpIeSJEFaTd", "adszvopmuLlVlxolOLXXJywQUBHdSwdkLVffvpWoyPdjWSuqAZkBpRLzOlpuEQqYBjfTbwertoDsFOzYoVxirLXZLFhyhvrgiNikLUmoMiiCcnlaUonkbMxeSSqkhgRmGCoEjplWBPjbvAKmhvwayZoHjXCdqpVWrzEBUvpEyxGWjNuIZbMwrqyRdCUeBPmAUOhuKaHKDhUZeuQvoStwyifCRftALfOlEtIiPvNNSfJxYDFVzNtMTxgJqLkmtFEq", "TWqNJjJoFjkEngtokcIKYxIJTPnhSOxtsYPpZJuJRlrhXWmIwWoFmoKuhaMELTcyzafvsYzQfwRolHzhbVsEFZwFaIVzKGAIvNtqHnmgPFsKAqplZIcQRARHdGBFuAcmBFsRtpGOwMCIOhCcysMAfolZdYDpqgUKGhxRQJAwoggoCuxXueOYfsRyoKcWfIapNysNsawGoFySCRhDcJcsKIHWRinVoyaQnzmreZENiVARBOeCeronqsGwkfSVgoge", "CkiTQtLCvmSyRyHrWGQHxhgUDJjNdOlqyRDRzyBvWgFINkEezgeBwXNwDySwRYICOQCgTLMoPhBqsyjdjmyDVCgMublGEsCiUbpudTpEmCMsjzXHyTyTqhCoogCgFgoevOvMeIYgvMrEDzeHcqiqBoepaEWoDDtnspKMvBIJkFlszQkpIjhfcuZChylYIOdCsmuWTsIIWNvvHrbTzCBLyqLBWIXwugcaqSMJwnHpDWPyPkWWGhNzIZDKZylVRqtl", "tpGvQriWpMSGMlbeQkvZKOPFgURzzrJgTBMzDiIgsnjaLekVkHDhWDaiCRsjktRZukegsaghmcvlNOYLiBXfXchsvVbqpIeRENryiMbtbPOCcGQGkDqEqnUpKhgEeJPBSZThWRwZHoZwLIQEoMAPHJkzCggQffjgMzjwbxEnaDwZOkouAyCwIAGxvZtWFgZRuuvABGBuiZiNCZPCsXCpKxOLevPgibKEgFclWebXNtquqScaErltjXHJROcEfRah", "bsTjcpSkZRrZNtkecyUkPmFYsxxfXKuJtNSqTDaBfffcZcNRexKbrHZbUYEQVWhuUWyaNeOORkHLPiNmCHPAwrwgHxjGkNtBtZLrmmXuZoFNFxBiBCMsWtJqkzvlqcrgwRcCfgaEHBSAowBkYoWcKTddgJqSJDvTWvzVeFcSawSkVWVAXYYFNBGVnTWzqZDhOIvfyGtZgIoZFwNcDUunxLqvoahesxCUljQDNYhHVQOQiOVIXVvIhthLQlgBBura", "GxxVRdSxcJSLEhHoeGoBzXOhosRHoCTVznLuOlcXXXauJdYNAhdKhfBSFUUrcLIfpoPKlHvbyPDQLzVfnYyuGBOzmQYBnvjQmthIYtoaPFNKoelPxeXLfvgAnIcLlfbgMFEWsvYYDhHEHzMfJgQWJIVgtvYWkjPZlxixmyvLDMfXsNGsqaFEFoiNMKNtxntPSQgNWHBFOBcYiDlTEuyQpLUMqzruoYlbPuhWLMlllxZpNUSFWSUNfgUOSLgFXPbH", "mMBKJEIMxiPZYBUxfjvzUvHiolJzDLjfIrdBHqCyCiFDVXYOLNMvemdaNFytiTjrXirPNsMeAzHBidqdGZxFdWItyRFUUACMQZyhSXIZeLMwZbkGWxsulvlUKHDngyEmQuQOfVKbMUEjYnZZHKHlNnVnYdKEaOINiEYgnySxMvlVofyVfpEKxYIDDnEKhcykICxfvMqTiVSWrdWKXVoApziNiqBWJbgtOPTQNaBNasBpERGGDfznCrvCiXnpjQOF", "xiontrSCtYZKhEgelWKIRZECYoHPquopDeXpKcHkmYnpVfAKCFuhwtFnfcwexWeuCDlcFnPAXtjInBFQFKApueTPPpRQOuUdwzLPmALZgMdJVgYHBhxztdnLsZhSNSgGTxFgFHwDFhHwjFUWhUBqHMnPjJuOvsgjmScZABgbXIhVXGvUtMTHmkwNSFMysEUvWWAIHARYtxgXZJYCGuHKgCpmdbAzFQNKXtYiDEjzwJcUoicEvgvatKDvbExdJWBA", "REPsgqcaFooqfsUMNgtLUErwhcurUFhPSNDlgIIKvdQkdDCASqHvPjBdKWRhAlRhKOcFxCswLcxlIyDuSInQuViZhtDxvNRpIOcUXSIqdTraSZVvcboSSjFbYqrERPoKIhVpfaleEJpccpePRiSNgOSynFQiSLpSrvVLvrrwzYOpPKNVMiWXSHcookTJtFMVTCfoqbQPNAaDpxpDUNtPpMjISqvHgzQfOsHLwskHwLoscsDyllIVTJSXbaGVwHOw", "PghKvaFIacLmYiZyMmzIYXMnBZxvkFeDuSUagHGaskXHkWWWLsPuWklrReoOhmHVQgqhhhYHlhsQdOImgYFtznckANGYxbvWMWWnflJrvIVzzqnCqwwbQcEVOMwOrwgyhNAUFAviyGIbzLfpmEKWyUGHrbBjBDHHTBSxgevlYVUoAhnviQdgpALRjUjSoDcwpDLhFVaeLrrSdPIgDYaOdcrmVqslQwqMNCpzADEGQVeKFmRTaNjeEUenegMClZAY"],"c_array_datetime":["2014-04-19 23:54:16", "2015-07-08 18:15:29", "2005-04-01 07:12:51", "2004-05-15 11:05:35", "2019-04-22 06:11:17", "2016-01-13 04:49:25", "2011-08-07 01:33:04", "2014-04-07 20:29:59", "2012-01-26 10:56:42", "2007-05-19 10:17:29", "2001-02-20 17:21:32", "2007-09-16 17:28:28", "2007-06-19 23:56:16", "2002-05-04 05:24:08", "2009-06-20 19:12:33", "2016-01-19 06:30:50", "2001-11-05 03:58:16", "2008-06-20 13:46:03", "2003-04-21 14:52:14", "2001-06-10 20:55:24", "2013-08-14 01:42:24", "2019-08-09 01:57:38", "2008-01-25 18:48:31", "2013-12-26 14:25:54", "2007-06-05 01:52:33"],"c_array_ipv4":["jJRJOPKYlz", "OKwkFhdTDc", "xhKJzboNJZ", "FDNvvnqUUX", "CZUMkBvKCB", "VuBNZvcRIf", "llUpYKqTTS", "TjDnmBaWLH", "zAidafDXks", "lUQtKCQIST", "lFXnPuVgFL", "ZTEMEEUoOQ", "DHDRyaXCbX", "LCOYWeePzr", "WdwPApRWXc", "nhqhocpiTx", "ncbpqywGsI", "UaTNrSphQE", "ofQKgRXDjQ", "QvefHCLBtz", "nTzXvdmlBh", "MTPmxIzXCC", "fEQeiwrVaO", "LtRbcItkZH", "RPRYlmDmjA"],"c_map_smallint":{"c_map_smallint_1":-12680, "c_map_smallint_2":-21880, "c_map_smallint_3":-13613, "c_map_smallint_4":-30367, "c_map_smallint_5":27190, "c_map_smallint_6":4880, "c_map_smallint_7":30177, "c_map_smallint_8":10438, "c_map_smallint_9":11084, "c_map_smallint_10":-27222},"c_map_int":{"c_map_int_1":-1473136859, "c_map_int_2":-232323739, "c_map_int_3":764777939, "c_map_int_4":1571648348, "c_map_int_5":1005573698, "c_map_int_6":161506416, "c_map_int_7":-105385548, "c_map_int_8":-1717276515, "c_map_int_9":-492401857, "c_map_int_10":1573910261},"c_tinyint":91,"c_largeint":-3477635426444582525,"c_decimal":69.0479,"c_array_smallint":[-13105, -8774, -6628, 21364, 2351, -25303, 32079, -8405, 12321, 19288, 23554, 22045, -16638, 14151, -31972, 12468, -12485, -12134, -28130, -21459, -4472, 28303, 17450, 21179, 8299],"c_array_bigint":[-9220624195019278307, 3466732150123338523, -7931784620539257120, 582772320838724648, -5226336650359752693, -8419963179508208842, -7632487672355989787, -1104151545858855273, 4534549644375447322, -4621764923197369958, 1919410796553664835, -5074337960125883330, -9026625454896039588, 5210202480852234480, 2445229106929139771, 7315489116864726502, 3405177766930185563, -2953998504520086388, 7725393522943588964, 2422831957521591361, 75224069590492586, -6548113032195979279, -9033613157817900298, -8198306147682542137, 803122346761091025],"c_array_largeint":[8408016699522937093, 8014158840210570796, -9130898843396169230, -8902731377428569537, -1462754425964041975, 619570290829408745, -8932173938554610036, 4578002062981797049, -3672961439892137471, 5797448106866693670, 1793952765483268234, 2109230739856917452, -7388049359154707481, 3080857237471141141, -8009127971686894964, 7523487307319010681, -1373247216006750520, -8413634524880959559, 6297171612284699574, -3325758505208023977, 5772157916365675956, 7401728101131479771, 5398463884703411683, -4057296893239425533, 1215510319055691431],"c_array_string":["jBwKoNCuFEQSRokZRVfLeBOuNJCPzgrcziuTgCStnnIrIDuhDCdjaUwQzFYqDkQUmstFrDWiMfKqTHwxebZAKBMNzUyzwCnoHeNoaVWLPJSWKMetnEpFGsbvBjHOjeOVxCYMPFeHlSeFhguPchJRtdusBBdYftstcIDiDsLVFLAvXAYSSxWytUWxSthlfHoSOZPxFqQQxaIBlEPLGSVucaHTZGfchLLvabrQbityaYHhTEOCTSvEcCwuHnDXDFFVHMgxBStDMlJQkhNtdgXQwHxMLMgLHaEVcEYDFWSOZqwFwMiqwhWXHoFVsqLsBwzIdliQRokYsrBvwoiqRTjNkjdBYWGLKtFSpliZrBHzgzkqrbTegzRuCkPlqqRabMWxHYxfIVteVPuDAcBZTPKdkqzJkKMEiLOYIjgEbSvrFxfFatdByGjOIgnEVFHcrrApfPUQRvoypIxqGSvcwkBNiRrKWocmzRanVEPWnkDTjuokvQHjttDeTuplbVDQBDDi", "lNTWlMmldAObxFoAFGZWDsMUkWNWMGrMdJeZygabzELlgtExHlRuAJSetkTmZdMriBVzNgnjWtaROKGeDAeMsRleqXFLJGVkLlwDJOyIneaBtwWedXVnxewTYKQyoprCTnTsXVVNWCPKcaTweKgfgUBoBIvzMoxssLnuBSniPaSRwhucRIetxfYEDDnKQAIpWVeOrLBGmMEZsbxbYZwAjSafsgJmQtEatppCAJYWZqDyKaLnAGuuCwpGVZjmATwuiLDIZHlTMkZnhwCBJBTekYOyFImQjxOoSFkhHvCEoWWyHJZZNhKpLybuKPVQFiAaKUCnSMGTFYzfEbfXLSuAaoRkirAJApsyMlmYkBBPWGFQpmFuFsJtnxGQBCxYTmcwvXNPagOXJRpvrrWySFJIzZHzFngcmWGjsNefhcSFtOTvVVQYCuVNFCLRhoRXhPyjzZxUWsnuIWORxWcgDkbSRvboywxZjuEmQoVHKoDwyRnwgsYULPUGEZxabwPBWSBY", "LaLHdSQHPqylcClHAOcgyIzFFsUxAKpTGzaegruaaxPAIiNKHucuIPtRvbYTCUIAjIyjuwCROsJQybFWGrpVMTYzcGRyhzUCnPxLYOZUTdSFxiZLZTMkIRkQXsCjCmEVllvdaXVhvQxCnpIATOTmFaaKVVsMrMWerRoeDASBrhwsxTGmvTetSbHszgZVveEbaBVIKRFMlNdgAyXkDRrOLnSpYuWMITdQoreZsYtkrIBfDnbUjaanUhIdrShflPlAUfZwbpdZZVOIaOMqEILjogXMJeIhRWfobakgRsSinIGiJZBerGHKLSUoIeKLyklBgNjhGKWvAJwRketdkPsImfiWKdVxIuxrjavaaPbQVbdVBpEuIGffWpRsIFkkEdlRxYUxiGahyLFvPFXeUbPhKWbXSpAKEsFcGSOlIzMgfPtUoaMFmIcaagDJLgAqHnEveErDLpsXIhQdnaohbGzBAOYmfzQREnweMiugrHEnHVhSozmNSHdQkrSOgBqlMriu", "ZnTbxuRjnJRlBGTAvVEZxkjCtxKveSIKDrfZiZVYvNkDDORzVtpxhuwoAmRLmYJkJCxFoHdLKALaWsVoDSiAxLYpdbGPFLtGuRPfoNUfKLgyPnsAjhoojygSFpHgbiBrmcDXtMmCOWIcEWygXDXRzbPcPrnouYOPbRcPbtOPqNmnWMoDcopgnNSeCiZDqECxHOtlywvGKxdeaMWgQQycgcFaxzQiCkPgWuuRUBqkAxBMgyUhdCDJPDrgsdxTZTUIpaUfGjpqDEsFDohFWYwzAYlpcobHlSxUjhvSdfzQxlYJcZjAyYAhrGfCjmAsOweVKeEuiPqQnpRobDimLDntzkSdEQkNCwsYVxoDLCGjrDLhcPkLgszvLbyakCXaJoeBgLVYWeoYHcaWhGCkpFxhvPRdnGzZvxnCGBqcfFoIMLbqeqXoAEcHLEAUPvxBtAyzYoLfPQsDHDijVIbKYYLLptJifFKYbJQMGAwRCjGZlCejKPNfcDxMvHqxmGDHMXdG", "jAdibrVjhCIaiLyKYRpYSojDEoXGFoguXIHOTyyjhCvvFjKoevOhVItSHkHUjmIxGoglirCpfJhmtlhkWNTLDJvhNEgNPMbZAUgfgbOvvJkapnLjAGbkMJkvRGsYOzsJHqpgrMsdCXQnWUYtfsWkrWgwCmZmvkSNPCIfGRQuKDiUcULqiVbAiVUPSGfeYCTrkJQzZCWcNRutWHadgXHBjzDzDyKIrsptLLuIVckDSfQbDAUlLQUDsREWHwCpsKvejBSRHsfjHMpnSqgDoociiBkSShtedVrrtHYxhdBIxaJBIdojqcfeQYtwsVHMyFwocRemcEPmnKalbRAALAGxXTGtcejYcbSuFANGMWBHaQarSQUeKtewJcLFzygMVONYhmcBpzvcPMfvRTrUqYqwpUAPCHBivwDJrqqdKNhyckeJxeCOhkePoyVwPieSeMkKjhbGjpCpmsMlSjpACJtgKPlileNFLYqWGoWqFISrQzdOcLGCTqIrOzXZYSLSJCnd", "MkMGavNbaxsxQriFOigOKpZHZbifQOlApLfsOwtAHSkpLdHKawvGaaUSmhxrHQfEKZrDGWAwCjYgcxRgWFedOMAMSUPoHiDBbmIUqEaAutGeIAcvkYGKFkQDYFJJkHzwrIsxKRBAeaGEcwKFRwXOYHeXKdRkrNvkWpLseTIYiIpOcaNhTbnQdJsrbaBGgXMKEXRsDGhmyWcwzrFTCCVoAwusUtYVZoeIWRBNJSzDErJNYsvupMRrRRtVwhBWWGiTBusPdIrnuNIdoKWfOCRhktTTKhkvMkEoKcZAnmUmnhCgURWZcXQqdoCdVtDnBOGGWfhLjlGxnUXHumoyojttrIMlnLAHhKpiaePkbamVQRfsHJAteKdjZCerAECZCrRCyHcMwnMiSgWQcwyGiEmBmZrwSywqASWqpqmSxLDMGItucNtTHyizIoPHWeEwezAlNASaIElzxwNwlzOCfrLYAAsXhfNqSFJaPfMaYWkCszxuugstxuXndsMSSRkPqqfY", "MrDQLugMHhOCiPoEsMHhHBZeVOVHBESafhPsYVqHvmbObyDGjFMxDyvqhPUdWszsJWyUKAvmLSWWevSrsJOOBzmEdkhKLymgkwNFCiHlgMPYpTPdSjnMXXpdQVNxsonAVWBaBxIZSWFquWSMFmgVnsffTeAudxlPqiwMFFzmzYyaCtWkyjUvYFgTCNruiqQZXHdeRBSQOOhPqSnoxHcdWfkuGQFCbFpSKxlGPzTMsSSyAbXfSLBhwGPYBBAAIcIuiskNxPPIOKpXhHLeqJXEUfEdhhxvGpWbTTdkpWKekkgADpxHStyWxfiUgngaUORPsITEnddCwDhQlJczJWDCWKmFABejXFqSHchYttVhvWrYoZVETHLGJMtArpZJGtRnwrTshChVauttHQMhXAuPvHsRnsuSlvcQhkwpSLSqLBRhhBZaisUunVgiGSHDfmjeKlQlnoUgrbiCfWHYCEritmjELhADFjcbhqKuyZnLXyRFWjrToYZDdjrLfMuaSPTL", "hkrDdwIpKblTbbWDwuYCKiAMKTncNgRZxDPHgDmMvbbSNCWrKdCwxXJnpWZCCqLSKgONkzfntiTWmWqvXchNfztTchDXJujiQPAGzFYPjPBFjWQbLtGmPodekVHEAZBAJCqbXMVZFwdxqhTPNBRYoaDsLRmPrDnzDBfKnrRJWnxAevpWWlGGpuYsKwkDMDbLNBXbeAJMJcLogrCOfcCoalzXynQfhUuKGUQXjZnkrMUzzOhHLyMAhXXCpQltTnsMOjmWPAGuzxdfiMeXYjnjEPViNRwfzzCAUJCpQHAMCkPxnjHvjSUbkhPdljcgATmTGLObFsOlWjeSOlPMUbbkUbQgJduwRLHhRBQyGsMNuGrKioMDJNNspXwQVSVcvwKDrWyfPfYZhyBJvkcvUsjWxhDVDySKqqmCdgTwwzFfvIJVnKzYwwlLmYlSaSbwiSBlgLWBFVrKqLSuDBFlCPHqprWbJDiNrkTrxydHZGHRFQvupQEWGCwvxLHfWFkVzlQo", "EvSGDznEydaLXLjGBESbQCtcoOfRfADkTPlGNdllmVlYklQofkTytlHdQSUnxDoxnReUYRemertaHYBfeWmkdfLRuCAoYmRbpHLYlKmshenmczRdQAFfDDwAlbiYIqnPbwGBDQFLazeTASlKzaGIGgbjlpOVQrPxGWMgZwPXXUaQIUKKDSMphLLkSXMgPyfSskSkUYpNjmPoibOLqGhuTqRXmUZCmmtCEzLfURziKEwuGLbnmPmacwiavlpvozzPMtSxBGKBaixUMAYQjIlLaZtWYgEdzyCYJLRNDBVRaYhUgQoMjwKCDkHORtjskItHCgVDBmLlJMiFbXNOPdychqqzcxomVznoSGZsxyMryyXxtDDBvxKfnJkIbahOXilQPPYmYaSqvBUfILXJfzFZzQpYjzCMgfHAjyvGUqayaRbuDFIQEwUDxLmdpcziqiIHiMFEhAkbQujxwHTPeVdPLHIFmmVPYzsxSfOEgtOtEubcqAiskEWhGVqHpAkreDVe", "nyngMWqnjUUsGdQoNXOKGTVpzNxIUGmiwqaTEwLEGcyuXNLwSboIlvsVhssdKQSoFStGpFbqkWWwuRuetmDhegQiEXRXzKKnMLgMkuVdLfCHWDKbhuFAtHgVYVJilHiXfujCHVEteGBxiUvtqrMXsHcUffCHJWnCLFplJqvzamDQNbZcYgXbqAxYmCjBfQESJwDpYAyLrNUttKybytrIAsyBUZcTgIZPmbhyxiXlkxTdffGFMpTdfhtNejfFYhhuNGjcmlPqGMghcJoZXgblLmIxxSDdFHjOyuEmVMIylQYqZKZrMlcyfXrskglNxvKBXbHHNgwUTCYBWfQoYIJxWlyagRkBZosxHHpgCjPHjKNEFddKKzqGYAhRQoHynFrZflGzjCuplJxsCDPWbsTDisDAodehFkBiiNcCVDgXAVKhikBmtGUYUQLinBwaHunFVTmmDceKuouYDtjvAaVDqCEHvGUykOBQsujJnRvjevGizVUUAenBMKkXTcaeelne", "rBestWBnVqKgSDOajKrmjGtoSyIjEdgrvhKhtSvHLNPySnMrRqDoPXzhBRvBhNYcpEkcIpvpHPzBWwpfmDkmBQJLzlSpPPqJcXTVXwnjKDFyAEbcpgMolLZroLQeMmYuafPQGYdjqcsQYYJjLKFEAhsZWMNmIJJLxPeybXiYCGejRTdExcrzVyjdxBVGFyLhHEtUYjluzSwrmhZigFPOXUIheoZvAnyiJeLffVmjoQKqtMOVewOGwnnMnpXlYbdJYhKeRwCebqQHlvdLjIwTaOAnZDsyYpztIOAARoMrLztZzZEjZrVCSzwYwoyxVvACabcmHjNAafPZAxCIrJtQuQjalakQCtpcKqYxwaowZRQIVaUvhoCXjkilyfgFAlUCVdKQeKtDddZMRUyxOuYnVMHhbhmllFeqoEKGAyCvZVFnTNELHVwWNPNEQRWDKEGaCCGwnSskUqmwkBORejidxCFAkHSopTlJciuIIqnzGMeGMHynaeSJkvktiWdjnPtI", "PpQgVcyuphwufGBiUlbBpPKuZXWhmSVltViXkhaGUiFIrwzyDaeUZamFDEmyZyiNAOeFXkWRCoLZMzliqqpnjKmMHROHJcidwRcMMjDTQqWwVjBPiOlxUBLlAEKfSlrnoymskrYGJOWeqbtMOSDoXLAijrUhOHzgMGDOJqYErLegbkScQqGnHRkbqFnAIgBVsZylKGvDkQhTUjRSnZGyTIzNKcMUjzNMMVEmBukqKUQARXknfnXfuwVoAGZORXnOTbJgMwmJHzEfptNFHCDcmBDPREaYWEgtqEfqcilDlLoRutbshBJnHgUMLizQEloOKmyOcChLJlhvFIAKRTtATIvRXJpwWCbMvIvULJSlGYFkjltSQedrfdKCyxKVIfydqsxVzYTrVNwKEnakeSiHWCuIejgTAcZtlpCturPdPWAzRVLiAnGoJDEaBbWJJnICHFhbNhJibdTQciQxsSvOlTXIdIpuArvjvpQIhUkkbBejOFUgyYUrZWBPCIDRaJTt", "nGiKJhFzRJhhzoKgmkMrzSFhPmxsEOCJvGzwLtxdcMdUOZszdkFQaKtxtvSAWbqZdLLfxnXSMUbjczkdlMrbyFejIwrCPlbQHIncTfmkBlAtRfJXfDeCCjOMBFvncXhvbOaiyMcDDYPzjdrrBLwoCpoRKZqQxKqfKlrFBjBuQSrOWjeGWlHHyePNfEhwXWfcfvxvjrsWVJPGPdFATmHbuCqKdpnzAITojzkbXTbvqAPzwGGXslzZcxPYoTrhGwMybCRogLRvQuoJnvIGbXQwzGSnLDDGLCxshrlmgaLPQvozIPeLaAvOXOTzkumYPNMvUgawgjMgKSGNRZdZSNodNkFzSvOugoFfPjyenKRphQfnofJCZZwLQShIfKihAZALReQJUzNrDHzGwfozxJDwFrNlEgwNVuXcFuBnrZnLkKpyvbtuFiuRFgUdnbeejrlArhXSlhJbdqBFDwbgAHzMBEPTwRFyXFluGfchxaFrBpDLLLGysbDOrstdFuMwuDFq", "EkSedlwttsbIEQRfkVLgGgLVGlSYqLaGrwqeyJPZYRXIFrQloXZdesQjridUPTSEedFeaDXQpIMsSZlDZLUXrSNJpMJUHHcYvCcZljJgrjkrgInXUDCFQEUXnCNCheSyPFtafYQgvrDiKqlLlziIaYdbKAiQZzVLOVWXpVGTFivqfGoZLkAbqFipYyNTdHADPFYAyyJfZBPzvEFLmaljnivGYFPiGvzPRcSkXIEMkqKUCxcUSeHdnWHqBsgWYFnbmPJAGftrWPHZPSlHXDdKhxIXmbrkmMyYbIDJhmcSQdmQQTdVmDaSaEdpVESUzmmrbVePwCoKFQEDXVYywJriRtWhPCOiIgbvppaplPwNvJjFxCekaOAGlgCdarztqaeLqymuTbBenyOrKDAcNyCdcgdjcifOgvKXnFjdwlDdiMWzqwnARNvKectxxDDBPoBzZMhlYOKQZvBoCaaOzjCiYRJdjZAWWljaIDKDIjDzqBhvqDSreoGobtktFDjQHckI", "sZdUBtgmwmnLZTKzEtJpuSrYfLZQKgodYAslmTNjXVvTMpaXSeivaXyFkBBNqVVWYmZGDdeoXFeIhLYEBdbGgKtpVKchaKpkYEKiaGpUzyjSQNWqgczdOytrIWetOOKUjWSAqiAWRljAolCFGIWoxHLMLhrmfGEmYKocvhrjlWOWMHeAwDOwmDpqoXSToILltuPlNIENuJmqxGDnffyurzwIAvQvJzUqZqlFcNTwofFdilqrYFotYHiQvVszJUbFTXwxqvSxcAOQWENUhvvXBanqMKlPhmYgXSXXOszFzRdlOQBNOgUBVUUdRGNtWkrYlXkfzVVFnLkyiyGfVXDrDPoOJNJzmKuXJGjqrtOnRJKRUhCktmmKsXkLVKqzrVUUDrBRzdUmrxjNugForjNrpcpBGwrsifFweQLuztNKhlgdwbVKiIrWJadeJdasHdQUcpdxhUtymPwCHAovzacTZXhCDrSNtFfuMMGrEzvQWHoriuHbRKzKlGRRyPcSeAWS", "yvJRirxrxjHxwaAfxOJGDcoJKzIObSokwntrwAcZYYMvBUUkbYVxMNJoDWZebaNfBjzLJwrXgORJBhAMcwwZvXohYZNFEEhTxEsSzZKHtjjTJYBQWTUSbDusEoYAvjxBMQfEJzBkUdnCWLkHVvmOGEVDLBFNRQGTgMRozcwUQjWMcbIEZDdQFYWjZgfefmUKyvFlFnUdNRaCCmsxQVgVxYRlCqfmYgazZAQeMdFPBUqNGwhtIEXNYmzRBXMGyJkvucakvfSBkZwKzZyeaETLKAgssQLZmzvZcUImkaIUcOMkkiIJGTqnwVStbOeoolNtMeKpPnfotegotNkxhICehZMDZyUJqHaXXohxNzbkBuOOVyHGlSjVOEdxCePFAAjRxIuJpPuFyiqnezLoynhYJdVITpegNMEYvQtOCpevzanklCiuZXNfPEAcsQDlsskMItIlXxdHZYpWJUDURhpiEXwxprtrbUTuEKlgSiyINKhKWQvqdsBgJEWlxWRAbTxq", "WkRueojZoatTUWXYujdWWHFWcNTUQFcMxNgpangMiKnSglWgWFgyqooyAcEQotfCSUEnAsgCFmaezxRJnWvHuFdsEIfmdRdHnnUAAscSNRtCnkJzQwnYixYLPulEaCMqyyxFFVTumEFkagnVDUsZAaNTVIGWSLUDFfawjQkvUFCmLDnNAhWVkfAhAzZfCSAOGhobGoQlCQFxVgqmCwwktNabPICUzpCeTXEdidtCYkOvvELEzwJCdvqCzvDDbTVlbsUZmJnkBsaOfSlXmDlnTZBnkpOSdTCkcgZSXFZUYsQgUogUQITOmuKdxXbgumZhtgrDiJqcXheFIZaHIVTgOtjtNvZwghNCyLbEAuOhvaqOwGCdjJCyweMRtJYkKNGcrmcfxszOzDjNIQzfESJUFwVwFXgUQAteMLECZUNMGZgwjcDAeTqVBBUipmYxRCouMImXkHnGridzfEaNnyouAEoXYFOHvzDlFtjnsfMTafDgHGJxufbIDDSziDuybcys", "KbuYfdNLOSQWzGePXYjDzdBDWbtrcFsKXipectOKJFmbeXIkhloGKarBZrRrQwxzztWpaQRjlIGvOkdgfpBUANQJSdGSFMAFkpVuVjbxwTKFZMiDLILdaSISGCFZZvlbnhVVkktVVrasTHiaegDtOoLHlIXBGvVoGOewMHdqIFndtocFiPUmpSeZVoNnIGAnQSNFjCqzLAydJOoBbElZjulJwNLEKfvzKUIMWxPrVuihKPLmaNJQsyHyZnpidMcjLebDaCfqYNjZXIowzzHvHXfrQeOOXaDWJZKpeVAYIiDhPfEVyCIKtUlTNebcXnlgqOJRRJLTzGoNJnmkulRVqFVnxuanvbnSuHUEhWWZUWmsdEldEUOWAlegRAYrlQyrwwpNzaSFdPmEHmTflykEzvFuEFYLeuREZAGetxoUqvrcMojbCQwpQMCcqjEqCqNQwrgLOtePlzZQdPplFZHNFmBLPzvOWhJzHewiWNsEPDhqAtBDOTKMVaXjfWKdBWNz", "NUjAGGaHDlCzhQGZWoUvGlmJnONsbDnCjFqArkvlyZAaTFtUliecAzVqczjGlWGbDtnCGDQLxRnZHUnoElECSbZKcbdZNZtePZVzHGmeiLyPtRvVoWUPZQvMIpGfLMyTlGAigflPsQaKrjhIiKqliwwnnmJlcnzuJOXhbsYqoQflicUhFVCnWzgrZlBwFjDKMYDRLhmbvRLsvTCfYsqQiRpcZrQzEHoqznhKQosQNscQHOilWTmDIDnHIgIwIiZjHLJxONFzgMTEgCEgClthzfsNczQwMaWXQBuDWxZiCIMSVDWwusxCrLDXitKCjBCbHxppGVZZHPLzOYSYgChqdKDcphndcguBmNjxYHjrBUOtarjUkMvXPudqObOkztjYMUTKYHzwvuxNGfxUTuGXnzkUSOAYFxSqGKUhCpcfZzRGwOiDmxJjOVpaWyfWUMdNAhXXtlaNqryPQAozJMlsmMFIgjheypmSgZqDHFFWdRVRqjoARxdUqiztOgcOBguR", "WBZMYxbAoHZHdOZNoILzusFgpGgYlUvUueYbfTmVIqRHZLbaDUBFQIaMRtBPPJYUcXdIDSqYxvuNaJyPAQytdAEYipJTngqfyMPBLmAZfCsfDYBVBjHidGIbPnjGqkCpmCRkecrKFVZEFapUpFhsICpXJlUwHyMdXTlQXnWgAEUdOXWjnDGScVjtjAajVMcTWcVglhKpCSxnuuaqeQcWmZKVsyppBOfvdeZKhrHxnXMhUyaNsXPVkQpnmOmHsnljLkkVRTIBZkCeTttnBTFQVzgwlntdsNKCrFxAFnqEiXMLAOpUYIPjsGtKAgFhIIGuNvPsFnWHPLVvcpFGMQNHpGTmIYjjFbrARGJtKCjroZbSNGcfYYMaCrOJpojCMXVMqaGdPgiIuwqPcvkzIWfzGfyhKLjeRMHVlMXkDDkHmMAjTocSjvVokvkhsxfESmJLfVmqUBIbLLljQiOWCAEZcPdyEUsbEHzwLXtDUdTCiQtPiGGoleocNjJIZZjINvad", "WoSHcozsjnTSXlQMrhusEBSyzvhOQVOQaNnEGtFsIrxPzPCKoWyWJkiZzwrWeldVvzZfELpnizPztfzkoiVoMYmAOfHwLkgfogoXBZJsGRuCpFAUzywiXImkuIDEQlwFtzgCZXOzFqsrfmdbEcCJAAFSmaLUZGHpihcBvDJwdxejZjyxeGjVZthmfWPWvpEMBvoLjVUSAvYCQmcUKvQdZAHNxcVgCEYTQEJLEmYBOqgXRdJhZswQZAHYydHUFHIrMmJKbaAfFpGbOajmuTqpOnGMeWvPoGYYVVUHFlzWgMsosLTbmANWEsBRLNPBVieTxUfDWRYentODhuxRigzlWDLIjSHhzMefyvHyAOVULfPExOMJgtWgAGJEpAfJhEKezFQNOWiXCIjtqXpfloNuSTzmetBOXEQZIrdQsOesJBEhJRGqzdzzvSoXeQuFPuNcYsoRylBBPCswijFEJgNneuDgHcGhHfqQWqlDQriXUJCIRVVtbVEjScvpZAwkYVGw", "SzsIqNrpqIwVnlsTZjwFjizDsXuImnyEzobSdmUaNoEtBsmqnvbhUkgHVFxszCaUZSwlBoCDLpzKgIHuilQcygxFxSvdBLpEgEkKzwKezfkwhdPajmExZuaPbvrmXdlizmsXLQjhLWjidsetZPIRSvduHBhBJKkEHDzHyVmPIzLeyVPEqYENfcmUgjAjBUkHJGiUFHKENGtjugrhBkEHjbyClNySMMzehKfEfzMkhQNiadIWDMOHbQCzmGbxOezSKEcXPzLqbmzOUGQxraczGQUdVytVhbLfMVmhaVKTyYZsiJnBoOjXInZCTkUybNFTtevgHEbEqSunCSXsFQpFmdRjmEUtFRhSkacLVWAjVouFVMEKwByppphVOWmrnTRVjqnuIiTOiEhScTcsjYXAczWdXqtgiHuiZmdHPaaIliViriMxeRqHHzgPjcpxpOdFjnwAIJmzIKOnLHdItRKaOjmKoBjskBUCBpiKPJIGEJZBCrDaZKcsZOoZdXLgqsMk", "hKQwocGuvgjPiUNvcJpwmOjbZvrXrSAXTkOHIgZjXnTvdNtdXdPXFFTxfQPCwKbUWXvTCXFKwOLoiwyPXmDHiNZVzDcsyEZrspnCFMLqNERtSPhJbUUZpreqkBtKofuGqtxaabVeyrwkKBFbxiALAouNZcGfRQUVJoiTSURtHHVhDJGmUhJcDQUivzXAElqxZDIFbipqamikEzcpgAVYqjXthIyNFQSifEtGRgTnFYpEJSlZyLtaxPUVpZHHJWnPtxEKLWbxYNkydzVdVChhSlEolEKvCNIArOwDRiLJJttuhAMfKVuPgtIKtBHxMeUiMJotREegMHNFpXkrEkNKPaIbBsDUcGxNdnoVyZUfBQfxJQSuBmdjWHsvTTYpkZTtoYDjrSdmVbgTQfsQspDIEoUeAkEWyZrgjreHcxQSUPFybXxccybMpTieOvqlNvMUlzQyeNqKgsbjsuMrDCGsbdkBYMEqJvltAwZuRSEHaOOjytYzTnCacasqvFrqMcBc", "YDFRWbYyoUbzXnVhjpEJJiJtAxORLTBSbObtnqLDdDoNnPGFGmEViHXipSCUPyhjvdqmjcnFsEbwiYGHMYizvbeIihaViMVLGoVVmueUlxynBBfFvUACLTBbjcLhqWDgxPwwjawOuUEgkBPRRJMEskjLsbELjsEgvnonhvFpkWKLxXbvWudwTWxGhgGomHkhOgxaafLiorfbvGxRRqPhGOGiWoehoMJqhZWwretiQgWSYYQefsXTsaakWbfeZnrJtAcBvSPAlWLNBzPXaPKbnQRmchHjeZvAVciPZHbTCKHzfqLDIKhLHoHnACdKMduvrqXzcHTxjITQvRueeIKauclywLIWtFrdiZEptkCMtGftdyLqxidiIlDumKlIjdyRHkuiPlvrEVFamJVQUofxHEjawmGDZHhKXIOUekxhROngxZIcGzJSvHwklexdztWHourxhNZFYNLTiEIoNnIfWvnldhmOzBpwPHqKEUYhcclaemQSLCJIKWMPdJWBdlla", "BZWIsDIpWUsAgTQjPeGtLoxFNIPFaRyKSkyIlBXtRTNcxgkdLYTnMXUEKehSWeJMeLiadMoJRcQUOLFaGiXgWtBwZStSiseUOstcKfPvbidvdbHJJRvpyCTIhSynKNSQPDOLfolsTvjABRSwaynTIXIcJILqLJxYwtBsJiYjcsKhlCLliLpKcpWeQRvLeXWTTxYtAWLYOfcjQrLQeaquELsGRFxchipNNaZMnZfVpCcYGXmtQdjXutomvifmUUgijcPmXKJradethNqikZpiGgQWokllxktplNUIyGRmUppIILtBtTGuLPJlhPUZnVhyhhDPVxIHrLHiwmumUOgHexJwjHRCPCyYIhxmvxYpDatbSKoZqlWHAAivZvExflgaJWXwhpjFrVwmNrupmwQtWMSZzDPqrrEekoaAIGnlcEcESdQvCuKeIYLQgmPUZnMiDlsspEiRuOQowcUHMXXThOnbVzrPHGjNfzDLCYsANKBKqPYuQNZwamgklXKWzHJZ"],"c_map_ipv6":{"c_map_ipv6_1":"679a:9878:268d:3ffa:a280:4979:d256:72af", "c_map_ipv6_2":"939d:aa3:77c2:c6b3:7e71:616f:e5e7:ec07", "c_map_ipv6_3":"1a5c:84c8:68c4:f125:32e6:92d8:fd12:628f", "c_map_ipv6_4":"22eb:7840:9da5:16fc:42b6:a078:fb2b:b2a0", "c_map_ipv6_5":"3799:926c:eadf:dc0e:6966:af55:2338:6084", "c_map_ipv6_6":"a5d2:e0e6:b03e:c316:6f0c:381:7eed:cf6", "c_map_ipv6_7":"b6a:d52c:3184:af08:654a:3297:ca0a:b9bd", "c_map_ipv6_8":"c903:82bc:1b0f:6006:1659:8712:4562:a75c", "c_map_ipv6_9":"6b93:baa5:1577:939:d695:9b7e:835e:1921", "c_map_ipv6_10":"18b:b800:cb79:9b9b:38da:72ef:c137:33e5"},"c_smallint":-1222,"c_float":44.23581,"c_double":85.743071010069,"c_date":"2017-02-19","c_datetime":"2002-02-22 22:55:39","c_array_double":[89.51056612062276, 77.811486771044, 91.31149753777031, 42.61813455019708, 4.53865658780438, 3.601092394126862, 58.625916434336204, 19.441628698277846, 3.3723563202941893, 79.93950251010165, 82.26352487726538, 42.919628630387336, 58.48686517006476, 72.69193678283791, 36.79813182115432, 41.04644540956672, 69.46991594912217, 58.290875852934434, 80.26620459189888, 18.116513600081888, 62.495111282266386, 47.0871635505211, 71.17441365764928, 44.20160249368264, 65.41740593291584],"c_map_datetime":{"c_map_datetime_1":"2001-02-19 05:18:27", "c_map_datetime_2":"2011-11-10 05:19:30", "c_map_datetime_3":"2005-07-25 13:54:42", "c_map_datetime_4":"2000-11-13 23:19:35", "c_map_datetime_5":"2007-11-04 18:10:18", "c_map_datetime_6":"2012-01-24 00:21:48", "c_map_datetime_7":"2008-11-07 17:26:36", "c_map_datetime_8":"2005-03-07 22:57:55", "c_map_datetime_9":"2013-11-22 12:14:03", "c_map_datetime_10":"2015-09-22 16:23:50"},"c_boolean":0,"c_ipv6":"8049:dfc5:5d4:9c22:5fa:96cc:c1ea:5acb","c_array_decimal":[68.1368, 89.1538, 63.1111, 21.0390, 66.0682, 34.1144, 77.0568, 38.1956, 71.1625, 27.0146, 21.1616, 38.0193, 40.1690, 80.0558, 93.0067, 4.1908, 57.1296, 27.0372, 9.0995, 83.1051, 16.0254, 8.1919, 58.0328, 11.0798, 9.0396],"c_array_date":["2019-07-03", "2015-05-17", "2014-08-24", "2010-09-07", "2013-04-22", "2007-08-07", "2008-10-15", "2011-07-08", "2013-11-03", "2004-08-09", "2006-05-27", "2002-03-12", "2008-07-16", "2014-09-26", "2008-02-14", "2019-07-01", "2005-02-18", "2013-05-04", "2002-11-26", "2017-11-07", "2007-06-27", "2004-06-10", "2007-11-27", "2008-07-22", "2011-04-26"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_largeint":{"c_map_largeint_1":2808852960875313021, "c_map_largeint_2":-3696173266384160117, "c_map_largeint_3":646434431732078908, "c_map_largeint_4":1417775290015754465, "c_map_largeint_5":2204339197766700075, "c_map_largeint_6":7255539404680532994, "c_map_largeint_7":9047809697487640806, "c_map_largeint_8":-7417218607942063900, "c_map_largeint_9":-2299969676619012992, "c_map_largeint_10":-7417157619242451127},"c_json":{"noun":"posse"} }','{ "c_ipv6":"af4f:813e:e417:e3f3:3c59:7301:813:2ef6","c_array_tinyint":[-29, 56, 118, 35, -12, -74, -23, 41, 73, -63, 84, 119, 101, -101, -88, -76, -83, 87, -104, 49, -1, -15, 120, 24, -2],"c_array_decimal":[21.1637, 48.0365, 88.1843, 83.1154, 23.0528, 81.0831, 92.1656, 35.0388, 2.1362, 28.0304, 51.1506, 72.0844, 4.0442, 79.1590, 2.0430, 90.0856, 62.1986, 10.0717, 54.1515, 56.0147, 10.0532, 84.0725, 0.0425, 78.1114, 74.0715],"c_array_double":[14.618431018259571, 32.88166503293721, 86.99605907129077, 32.096867544228324, 36.60762413610328, 26.579148585291495, 72.74380534029677, 99.3056287994664, 39.39049014438103, 18.302401994541707, 23.00640694057373, 71.12903729716903, 11.58688641860809, 22.55716994983901, 98.33613518212118, 78.53217576360004, 36.72864950589101, 23.680569611558422, 69.8750165191239, 75.5586221507188, 96.91833471493823, 18.738112291791385, 71.91774684516022, 14.259966473341638, 40.391384191187],"c_array_date":["2013-01-21", "2002-06-06", "2010-09-15", "2007-02-06", "2004-06-27", "2013-10-08", "2007-01-15", "2013-11-15", "2018-12-18", "2000-01-26", "2008-06-10", "2014-02-03", "2006-11-22", "2003-08-20", "2019-08-12", "2017-03-23", "2016-11-16", "2015-09-06", "2009-12-18", "2003-09-21", "2000-03-26", "2019-05-15", "2004-07-24", "2019-11-01", "2003-07-28"],"c_map_double":{"c_map_double_1":55.28183715428634, "c_map_double_2":85.14837640546368, "c_map_double_3":50.221631539678825, "c_map_double_4":92.64769416431093, "c_map_double_5":86.55957198098766, "c_map_double_6":98.37243441259737, "c_map_double_7":1.994908679148792, "c_map_double_8":17.928890929284975, "c_map_double_9":69.21999469014756, "c_map_double_10":43.99632690416594},"c_bigint":-5270163930814258761,"c_string":"WgkUfGWChRhkuFiyqRoWZLBGENFzocjvaRBzDFqYKOEmppUPSaedbIRsupUidoRQlAYhtQnAVHqMhUvaGJSvBmIncgVVkvXPBPvmozQbaMODZMTShvzbfMRbjuKRyfSdSKmNRTTFiHgeHgKOfVAIUkJTFPKWIZDtYsYKCtwRNdaLJCSCvIqacoGMMleKWTqOQKYHLwJXIwluegHHjUdDbiapyvknAbykUnvsSgYXbOUVPMGwhceFvizaIIusHasBeOdHYlEqECpqfamaEWLPjleosDAhSZWFvWGdTkggvePBHkJcLthUAIHoFVhQtsdttxLcsrzRFhBobrrUKqbxQWJsYtEBSXjpRFuYzoBtrxlgeWeXdRYpqYahEJriTTwgOFBfnXPMSIUtpcjwsJFwIGdtkJntrPhsOucSswDJMlxGcyaaHwXLHIVCoBOyXURHekVCkWGfuUZGvlWYQLgiTynfbHcPaWmiaAuzrUBlPwobfcXhsLdDiHbrNkbFhWDK","c_map_ipv4":{"c_map_ipv4_1":"218.213.163.26", "c_map_ipv4_2":"38.30.247.28", "c_map_ipv4_3":"44.57.215.226", "c_map_ipv4_4":"37.52.210.132", "c_map_ipv4_5":"184.255.250.6", "c_map_ipv4_6":"131.230.213.252", "c_map_ipv4_7":"65.119.245.108", "c_map_ipv4_8":"181.102.217.87", "c_map_ipv4_9":"78.212.251.13", "c_map_ipv4_10":"133.133.45.40"},"c_map_date":{"c_map_date_1":"2013-05-06", "c_map_date_2":"2017-08-27", "c_map_date_3":"2008-11-16", "c_map_date_4":"2016-03-08", "c_map_date_5":"2005-01-08", "c_map_date_6":"2017-04-08", "c_map_date_7":"2009-08-09", "c_map_date_8":"2005-07-14", "c_map_date_9":"2007-06-26", "c_map_date_10":"2001-03-24"},"c_map_datetime":{"c_map_datetime_1":"2005-03-26 04:40:15", "c_map_datetime_2":"2017-11-23 08:34:24", "c_map_datetime_3":"2013-09-12 15:05:51", "c_map_datetime_4":"2003-06-16 18:46:35", "c_map_datetime_5":"2013-08-23 08:49:09", "c_map_datetime_6":"2016-11-07 12:22:03", "c_map_datetime_7":"2019-05-16 11:35:45", "c_map_datetime_8":"2013-06-24 07:58:12", "c_map_datetime_9":"2005-04-23 16:14:21", "c_map_datetime_10":"2003-09-19 18:20:32"},"c_array_smallint":[-29535, 13530, -28556, 22592, 16568, 11468, -30683, 22739, -32039, -30172, 22469, 1719, 30935, 23580, 17067, 7497, 3594, -29557, -30942, -1688, -20009, -5329, -28485, 10505, 18585],"c_map_int":{"c_map_int_1":-111657390, "c_map_int_2":-704753234, "c_map_int_3":-629573770, "c_map_int_4":-1172293185, "c_map_int_5":381263025, "c_map_int_6":164923818, "c_map_int_7":-979229391, "c_map_int_8":522163991, "c_map_int_9":-388000123, "c_map_int_10":664644485},"c_map_bigint":{"c_map_bigint_1":-1875734795871203031, "c_map_bigint_2":6398289841012424490, "c_map_bigint_3":-7173148039786534955, "c_map_bigint_4":6556871708935006559, "c_map_bigint_5":-7994709622603148646, "c_map_bigint_6":-6311973976808105973, "c_map_bigint_7":2638155373404561499, "c_map_bigint_8":-3146773508378163296, "c_map_bigint_9":-5376187208259953294, "c_map_bigint_10":-1854534688925287177},"c_map_varchar":{"c_map_varchar_1":"yQZSJwhOuXTXZESKVkkOfAdtSkFUbzbYfTJBybcxyqxjDyqkyhFOlDisBiHcUcJYlEhUTedtKAUcmIlcvsLlkAbwhecJBvdjWLKpMmkPMGyrGzhmeMaNlrwJstzSWEbZztHNJEFqPcbYgHlbljIOUuopfRCyvdvhzaYoDerjUsIYaArEHodCYKILFyaarsfjBXbhVsviiBpPmVoyMinKePfbQsKZLbhaoPZEgEscXKECuIjmXelgBcTtNfotYIqD", "c_map_varchar_2":"BVzGNLhgzpavRJFQJgAzLZhwkuRcnfHLtwdDncSVihHrueiTfkNzKbiBotIWcrNdgdjrjAyRBbvOsBsZYPqvCjrBJktyfoMTdqWHpiWnCusKaPWwOGZBSOKTXLnobrhtFbLyZVGdAtSGsQfJxCqVekHYXxJqXNJSgoJxkOQnVLPuwpNhvAxkTrYAjuIlRCyzCTqYLcCTYsmfkczuYtDfTqzaqNzhaxvmyWgERciirOvxplIQMVKXhdXGqSiWWVXJ", "c_map_varchar_3":"aiRywLCoIQFRvwtLbPDQPkVeSwkfYpNqJlxTdACztlxYoCzsLAUbDVsrEhCULBHxQOnelvKZxVtHTIIxTbPJcBDyGxCxeUIZtCGdotwViaczfGbDENpNTIhrjGZmugTLThNBUpDbPfiZNlTrTzUBvpdjfoXrmsxVxtqYlOKHqFghgBJVtddfOsFwGujshvYPCoulMXGPzJZirXyVPYtWIVmDgxTQnHRraNcyZmuwPhXhszbUCwmyLsdVpXfgHeHz", "c_map_varchar_4":"FwYKhkomRgcAUGDwdbXfzjxDIQhgBStaCsTidiiScKPeEkXxBHevfeOxvaDQasIWZpKlkOJSPLmZYCDDXlKfGaSQyiFAZjYADTZQYNrBEfymnHuPnOrBCzxkuEEzwupWhbSMRbsivJWsXkpxZlugnEHDxhKANdZArgAfQeddfZzUQOQvMtiOjLDSRMJqAWCyUYMlfdgJWAdVRfYycwbQXfMQSwoarLeKutWYApHLgIOPUqahVDcHebFRFWslntBP", "c_map_varchar_5":"STpPywGnyvFforaywEiWJprvLJgbzpAOczAtUUVoNCGAADpITTGGmiBgKAPpDBtDdUCKhzPYNUydVlXKXrvgGqHTVafDtICSIHMURgvikWxYkbjfjMLBKBWljudjWOrDAXpkiMRzYKQiKAMIzQGxkrwqdKLBepnSXRYHSewagVmGvvcdMuYwrQgvibHWmoxTNUuXZavPCQRmTtGCSrNNoqojSjdgqfPMjCupJqlpHddfHfvxNcTqJNdfMbGfDLuZ", "c_map_varchar_6":"mAubRLhhbnJgzYuvCVhefDLCeUGclNYjRIhIsVeXFfyiTsZZwqpcayuVKMpSsQnirEonhAUbuverrsAHjtRsqwOEVUFCZgGNxqGfzFmsapYizUpjTqFTOHIDCdVusPwianhEvitWxVNgOsBfTpHsdEcfFKSwMHCYwWvpyjKGLwfewyNcCFjDWSvugDNkzFKyoRMhrtanMgZSqeytxKDShABbElYdXyxyzTcSalseWCTAsvGPliCughFEKpUkdNvD", "c_map_varchar_7":"OHmRcrETeFTesARGNBBEeJCqqtbLPiQcsRxXcTWJrzEdXdZEePCUFhniJELzZiaETXiLNgKbSFGPLUUUvtChXVtrTsNrTgrMFdDdlREVXKlZWoJBGDNoTLEqlZscXiTxtJqUjcQZgIbzOiJcXgnfdpOAwDShjXeCUEHHPEewNguUGuubmfVMrmYplyqRxghCouIJKTQzeSyoTsaYfmrfChEGQnpUMlimVusYqZFytUhRxlFuzbSyxhQPRhQbXUzE", "c_map_varchar_8":"PfjquGkhKfipYXuezzufPtppEKZtXPfypWuBmegHdBAsbQzDhKJsxBmuTBfiTIGELHcpnrcmkzMeWILJcyxVquugwTnqiqiLzCVhjuSxtLmppcODlygNSpOASaPtshpOvLOqRqAbpNEhNCaHcjnQIkAthFsRusVLnSADTsWkZdTFeHxGBKDTbStDknzRWInyDoBUVZooMJLLsfNLnYJgxJTXrhHsvlblrfqMhWDUOIfHpNnicVKdNlWWCtePPDHM", "c_map_varchar_9":"ADQGsZhSKZZGrUrXNHtHOGJOXoknseLgnyVdNwDOSAGgyFaJFjTwfCEAtCuusqikTvvXKIvLRUEHIcuhzzOCpjsvDiPqstEtdyKoUVcbyCKEqdsTdniashVyznnbgZAUsuEDpLzTcIjIEGvybVfJZcKJhobvDqLLNqZNwrvyQDcmjMcxSAfaLetWlOBjzabtniyRmiLpsECEgBbemLKDMfRdhpIAntSupwDLzcMYBDFQIIyQZuVJpArHirDgkeRM", "c_map_varchar_10":"PkJOFXxGYSWiTtqZLgmazQYahLIJmfyduvsqPBHOBuxZDhSnfJSWczaoEYRRCjtZYlqtKrOfweDjPitjGOgZSDddbMbtuOTEUKOKGqzyRcwaYPnfAbybMQgBhvbcxzLWUcHjSngcscPZuWCNCLbrZfxNnbXQBCWiUyiAsuSmxpvLmLZPEPpiKGFZyAtEmqnkamurojSkCySZalZVcjGDUcsthHroDPNIpuUvSemsrgRCawNtRwCEcRmtLCGsHADF"},"c_decimal":78.0096,"c_char":"hvDOHtMXcF","c_map_largeint":{"c_map_largeint_1":-4702035391698649295, "c_map_largeint_2":6965828748923140806, "c_map_largeint_3":4862270570397141660, "c_map_largeint_4":-2292241183574398294, "c_map_largeint_5":-1704823503075274694, "c_map_largeint_6":3649603443026742237, "c_map_largeint_7":-1602492292442174275, "c_map_largeint_8":-4734760494370370950, "c_map_largeint_9":-5972598556267526175, "c_map_largeint_10":32140127092505207},"c_map_decimal":{"c_map_decimal_1":4.1345, "c_map_decimal_2":6.0655, "c_map_decimal_3":75.0596, "c_map_decimal_4":25.1982, "c_map_decimal_5":94.0149, "c_map_decimal_6":87.1079, "c_map_decimal_7":16.0887, "c_map_decimal_8":84.1864, "c_map_decimal_9":10.1098, "c_map_decimal_10":17.1641},"c_map_char":{"c_map_char_1":"mSXqUqaAZT", "c_map_char_2":"OEZHAxXSCH", "c_map_char_3":"JFwbBBOghY", "c_map_char_4":"oMjZspvgQW", "c_map_char_5":"fpwnqpkzMO", "c_map_char_6":"HPhwrQYvFQ", "c_map_char_7":"xkxpwpstvw", "c_map_char_8":"KxjazAkvVE", "c_map_char_9":"PeKhFgreCu", "c_map_char_10":"IzEdhVFkTN"},"c_map_string":{"c_map_string_1":"DmfakTHPIKcPQyTBGjmVAsDBQfOPTfIxwyTtCwgXAULYaxDthGUNcjiVuFOTRzTAKmgLupuxASBdZmZcTTrPUJEAniNJPYuwrqMPcHinrNmzRHtuArmatdJcyutUvRwMWvXGmFIUsqFfnWIhGAHLwHZGcVJjdZnzvRBqkZFHDVVIrAUjZbXbxuOOmePyZHOYdPTYQrVWUzCyujuUyaEmUSsYJEgZZJoqndKHnyZelxQLmUzvDrFXSiLnkEwSsrrNGETxyEevBOEZhIqMjlsrOjwknouIGzcElHYnFALjPgyTRGddVqmHewrrWDhbAYxnsTvppsMBQjyQlSnLYbLcoEYJsjKCUgvdSwSsxYvJhdraTBBVmxfpHQsoaHYuLbnSbIFzpenxMkjaxglhysJCxBmUCMWckiskHEqGljyjnrTitoKuajKEyDAJfCFzDZgpbQYJrXMENrUqWkqloFPKbSMosNordMIaJbSEYABVJJyxiqIwNPLRmWtaCLABstnd", "c_map_string_2":"jfmslmXiXPGgkmQnXFJxPtJEihAVgkkoqWoKGQksbpbqKbjjPRzQeEIajDfLzRUDlzYcTYkhqIvUJXTSWQolJFLwdOILBWnegjoynXQUIcATGNalUOZzfYHMzgNdAFNEnBNpYuIauatlAmCazBusUOCDAeXsSboacxffFMxyQGBePypKChOHzLyijzXNJqsGPTanJFSrAOpPmLedUggzxHFAxuUVHzwBlGIvEbgCXkgpbqsfRsIpQjNloUvoxUgIiIsyLuGDvLPhJdUqxowwVAfpdwkzzoAhfIabokFmYnpUjIiWKoDhenAIHPLtQdfotkZSjKWokUBOnkhdmQPzUAKRVDIQjAwnBosXMpndYHypQnwePCTAdyDcKNrjBSahaacdNdtXHWrCWpCWLCgJXQswtwsVBOvXPYKtCmPiHwtBdpjkwDaWOtmfGsVsWSyaWTJhTfLzrHmNTrOwFmHomNZqZODUNakGMekVFxTiULAbtQmKPZIjOURkAKZGbiQc", "c_map_string_3":"atFmgLwijDPEnlHGwMnDADFElArvXCptoDfAcURDHhZdIVDRmaIiwjloYPFJQUMkFLKGiqwOjonQWBDJvJhPtoHOFVsJaZlEQaLCrETGJdwcqKLkgAGQJgRYiqeVxFocmdoedmRrxETYYAgnEVQQdKnJyARMMWtUjISYQXePkXFwZrXQrNFTkulbnzRdgCJmDTcEtwdAYGjfpsAORDJfzsJLMbWneYcCSBzrHtfuwQDRXZvthsXwTENZcxuPjHgkUtHxWiecRgjlYCyZdpLyDpNYthCQaHkGVmOlRVSnBPRGmIQdPlCxdUXqzIPnVLeImFLfnIYKBJVfYEHHldhpcZDlhwZrAEzjKstjmMryxwIrfUBpJSTFmgEeIBAlIlQIwXYxlikZBoBBBUrGefxnnAZRdrIErsDyRgRZUoqCbginfSurCwjdOomXsltIFQFCXuXuJksrhjMguBEGsuHsKKUrqVMvILVfpUBhYIIuLUZsJsNbhiGkXjoqXKyptENm", "c_map_string_4":"NGjACwuwhTjGSpCfSImbLyZcGckjlcHTwKunVmNBYmSyufCXpVBPWdGKjxJVbXmmkxAdMetLyIOqGoSJYURcfNwtrCHJuTJwLHrFQUtAIvZxfBmXdVXWqSaoDrZLKHmrhrYmcQOjKZXyLlppnUvtGmIEBhoRkWIXtpPOkDkCHBvmdDplaHMMqXnSpFUBssEkHKcVkIigcFmgSqivVWRtJovclBupoOBgpujkBszLzjSLNaClHFRVNuFbclngsSMnctbMiZQQwtfVHlHgqFGJBNZNSDzWzhoOkfADKjzKwntMddJbSBwYBsmNPnGuZumSjvSgZwWrChHgEDXyRyAjbwPOpFvnortoDNaKjwJsqIjEuWgQTVufuajmpwLQEMbILbEQZuUQjztoBmnpwAwpdnBJSMvhtgSAlszvZjacziKSbeqDZLjBqnCSbxRlvRmuvTymSuhhhXQKZkPxFQRIQBAhpwgxCkauJpgKlRIKJWTcjLIpIOffweXhrKqTnEjA", "c_map_string_5":"rSuCekngWRpCWMAgGWnmmTJussQqsUkGBwFBQbvapdOvuznZgRMyBZdBEPUSXfBprgbNxBlXpMAhqiUGxYLozGakmWUSJoPYbwUdEznOexGffIiECXilLYKNVemwCpdKlUnHFxkCiwmzErMSuULQbguOieiPRMZASRjUjPadfXIvoyIhLYzyyTVmWNHihcUqSueLtMqnDbJezkxDSdmsRkbluSfwMaxpqZHgCWvVsyWCcRguWaCXqwVljJLNuyCCjNnhrBcGkGAzPifoQRDJjgkUJdBLrIkdAkzTgOKyJcGgXNPRulMuPlLMvRSWRtLeYGnpCYZDpRkvAxrFdwNzSdCpeWfSisZpAWapigKTZHHZvZNPzQGLhbSifrUbSgwAeiVPimNPJRlJFvPjKJIyJTWaqnfXBofbTBIFLEtMGatcxSBfHOQfguJrbIEKoItJfFavjKFTSPgUQBTUKUhnIAHOlLLxyOiGtIQZgAwnFFQenurKxzfEpYhEISdzWgXE", "c_map_string_6":"HqHqJKxCcCSZeLusQBXXOqvbssDGzIyAOgIGDHbuvBtwSVtWZkMqKopdWTzeifWHvDTDyfnYcHDecgaZqUJdlxQcjTujFdBOLLAfAxZlLCYhuEAkzCAJiDhGJVmmVHycKBnvVqwLIPZzcNlPIVFpgLPyHeBccdRLcVEKwkAAFOFRHCqcBejmpPbZIenakcGwrAFiapNXCCNHlBxHuSceDqSOzOLTmskTxVdNZFKmZGiaDioBOukEKjyCMqYAaLRWDIgVeTOGkclSWHbKjPAUpdbBzefSWptGARFcCmfHbkHcZuskJGWRgkOCEsPZRxNNOYQtsHkJLYPJhpUFYaqMZUpWUfuTKJJOYIiFTIWhbfQsNVGMnCHuOeZvKNaxRLDlCNMaYKRAFJwJzotZaYXtbnhusdrDOpaRhxEySspZpCCiLWYlelJsYwojokQMpLDsFYUjtlIHzDzwQwYbcNWnHsWByfnouJcdrzbtmXYraSWmCQIFHpEClakKKxGFjxCX", "c_map_string_7":"bbvhjLAHzEETBJDBWbBmfJZaKcGuugvFnFytXiNZpRocFqxuKXhzZSykouxEqhWYhifGbkAdyDlRGgTFXaOTtWhnPdHbScvtEhgTMEIlgHiJSsPJOBVdHgjapOfaDQTQBTcPpWQAonFfnNssIlmBgDxkLXGnbIjfIXTgYsQYjjuRmZoCtOqDdpVIjvgJUpoWMpfoldyFteLMPAnzcOKjKFxTyTegBQZOmWGxXKJJaFyVZYVFvwtIMQKuVzmndzJDpAHqGLRHktdKUNocuICbdPlrzBFWXryMSovkZyWLBgMvWBSbOZPNQNbOzrDUAKSbyGHGUjNDLwnHGBrimuIsmipJPknxmcUlxEFPQAofuGLVsbVLQbqkwNQSzWtdfEhrTfWnpCebUHjMuUeBYsnGEnEfApxyJwoFkkBTHcBBUCDxzICokyYKviYjSwMwxKnSOAfnlvjIYRtKGpLrmyvxOnrglHeTvUXGTuRSpAlisOzQqoExSyqXhVRzopCSQUEP", "c_map_string_8":"HIdGvOPsJZxFmmkJktbxscDOpiMPPoxsOgbAgrhFHzJGivjNsLJyvxQkYHEhBXQMUdFfWOKavfHWNuphnlYXKfVsaXvXTJQhmTIQjfGhMhxtmYXQMJmcxXazOsBWhaSomqaMfKLWSlCXDzSllVOaNEFyZjCmJicljAxirQkqKbVOejjxxdCQAMjNJgKMBzlzbABDUZocgRLbOvaGFjopukRzPbkthWFdvMxmmBrRszKHNUTSueblerstaagrtoQgCfMsZmprOwtDCkHbnzAWrseuGSGYGkCdCqOHRPIlUVskEQkejCeYWYvuOyFAlEHXgmDeiXFBnGeuLngpasaBTYeIEspNkKaMcttqkUrvUesGIekPSRbDKJRFOgBhSLDRRulhPVYkRnYjJammpruNtgNeZtHMCAWLLoBKOFzItiDKuLYJkqgofjIUgquwrARmPzVhlsqAJrTSEVElTukOkFrCVNCJgYjftlqfpVgurBdqaxMwzcVqXvIbJSSduVgw", "c_map_string_9":"GgAKUkjOOCBXBzDMUzwLtaQaAMgHSmEbMbzMQVqWBenaVsNKXWWwxqueGOuFuKDKJqsJiukEwghSXJbxWrIVyaKkYQcPJhCvGZtZkyUXXOcTCDnDwOJnqEVMYQQoTRArADrDEVWInsxydbWnGvMreXxWLyfGwtbMQFqEuJesqkFIgEhSxgWuBBmiusCcxHLciECxgdaqLwkCezfzbtFFRMPsfcidrwHGnZebTIczkzwKxPIeTqqTPRnWidvboqqntIEeSVfvJhBuMpXWCJmObuXUGzAbYEgOHSVBwLLrnPBfiNytJzmMFiXCOBJwEjFIIDRdhSJzCBNJYZnfWedvTktcwiUnPtgzsoLALHGvqwrOGhnAycowBsixFecycRqqKnHmPWkITIfDiFBRHtECHEtfkrHxfMwBspyAXhiTTHsCoAJBzGlPpyURPloeJqJMTfyHTXNOpSmMCadDYrIDKQHnHjVkQCWBXJIGtuUoIoIoILubQoyrVJzTwqNucJxb", "c_map_string_10":"PggLXMhBhaDGjfBesRAGVKKmjsZFubohDyyxhtvyxEsqCTihHAydXbcIqYDBPjOYIGDCejVdeItyLzHhdseiWvVFswcohXKYhImRvbxEUTDcODOzzSOeVLwjOmIWqEZwaqralOVNBDWVCeTtkdoLCeHWCCYiUCdPzsVZuSawpifTyhERManECYWkXVSrtzeOLFZKdcdNWANRlcoteoMUsBZjJGwWDIOZXzWnZuyNtGKEBqCnFpbZDcsqHDlFqHwbVNnUqWZBFIYjgVhflGSAuTncEBHWyLdUnIwEIjlKBEajHoBskCbNxnooJNPFWMQwefbQNtvhOleLGwleMuwAoJnufxwIPPXYJErCivIBxqTIkuuMIfoJBKLdkTtcmDHPbZTDCEracUfZXklkJsLJxavWuXDZzBNumAijkPQWqVztzCceVfTxXBNXIiooCEQaWYElNHcsVMUUeoowsGALhPOoHaWfzHbVvCKHOTbqxbvqMhwGJYnRKPYlAHRlJQPs"},"c_array_bigint":[2182046678202929008, -1372590152242317501, -4439643066524676750, 6940921250227448368, 1510431156647734747, 8345150834504457144, 1475007471617183804, 2294136749985962557, 8145834194311674377, 7267500229166553525, -3762365774940537322, 4461205296709732683, 8785856320052883655, -7923234532433121248, -7494373948731808243, 137727578324227211, 5787010815869977886, -7725838668170690308, -6588959248679526366, -53179387248750813, -7740330900778116133, 7938326190670779849, 5962153135591230790, 4392405236091251784, -1946964962234656903],"c_array_float":[20.137062, 81.665825, 66.115364, 53.078743, 24.650497, 55.259354, 59.104786, 81.47102, 89.00084, 28.922588, 56.233173, 47.955727, 100.90328, 56.64627, 24.494387, 95.48781, 16.51975, 60.027317, 0.735108, 34.74948, 31.203648, 11.653755, 22.679756, 57.920704, 67.19986],"c_varchar":"what","c_tinyint":104,"c_float":13.967353,"c_ipv4":"29.159.77.42","c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_smallint":-18894,"c_date":"2016-11-12","c_array_boolean":[1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0],"c_array_largeint":[-6057194648070652961, 5341107653236038723, 2176198952816126533, 3118029536601282029, 17546624129613027, 991421549840288115, 995351104146317033, -6182542234485648725, 7994897862941869054, -718598822528854991, -1741435855481795067, -907329279260463205, -3142642247014107509, -6835630440919344676, -6105998280577852707, -14993361275091754, -2535619844977511976, 8110213775950804376, 3322456603649758560, 1252435451071537106, 117273395218060719, 8129446386229032774, 5678753545719738339, 4218291274004044906, -4550938392462053553],"c_array_string":["TDtzGyTkwmxoVMpgwnJeXeIcdRXZzyltUgHzxMwoKHZtDpThuVKRsHRCHgxUEAIQrOqSmCyGbupqnEKlxOMYCchspiIwgBTLGCtSSSADTKiEvuAmtlfuFZkSkiknecZnTjibkwXoRqfkJqohSaukikKbtEbMyZeNJVISWOFLPecJyVrAtHveTJWwjDObbfNoJUgfLqthENaQyrmDviCizkKRNZRBXQeyXrSnRbhcOXlUkzXllAQuhlyzKOvixQlHrNQTbtjoECWDPasiUgGfHhpnWQBpOCColBxpPEuopkwOkGpmwsnRtaaSkDxYcQcXulNjMUISdZMWJkwzyaldosZVxPzzMFFXefYeKeLozxIWzaGoUSqJlVqOuZRdNCpSPIOFTHKgqjFmpUbvNklmdBSFgTXVoElHEKeznqpoqrqhCSNMFolBpqsCWykYBOJTHzgXBdCwKqHpKcbSWoASDNuaELLJzRmeEnumqjbfXHbDtBntinSJOSXyZKYUOBam", "XTlGMKnzdZCOjqNNEyngTkFWNeMSeHunqXWhMsjylDrrNtzupSoITqTCCwfQDDBFHLXogxQXdFUtLQmBrZgGhaOtIOTShHKfxAdQUzicMoweFssoxiKJygErqPCpngPExUhDzaNVVmPYsVifSNftxPjhOBVCvwdxnYdOGtWMYWMTyWFEnSqeOUYRdGLKAeealQJKaUVOvCNnrYWxXhnNEzIrWEbpwtZcyPkCFIvMuwANgDdONSLmvJXTlENTHWJWMZLpoVqbOUwEaonLLwmsEsgjmoJxyTsOGZvaBCWsLIaGCRqdWSDCMVWkqgwpnmPkntuZWuagJaUWpUnZpUKecJXRWfQBsZCctTLGjtnSqgcMwMwIDDppGWMjHzSCSWTxtQuVJGbqTzkSNiBMQdTMxAGrcftBzLSwTciFJLHxzEiXDgFJhDUCGccFKIBseuqMkzuJvfEHaOrmcIzNdifEJWqIEdzWnaJuXnqVaQjINNSMtkSjVUubWrnAcltefbAX", "daqgjbNIuXbByvhaREwRMXhSIJwnCYkzybgPpLfHjHHbOZjcECvyBihwbBxrmLEerViydcBrppIXOpdgDkGryUPEmuceWCKLIVjqJnWiGrYEukOxiwTTFaUKrtPVkUfghhnKsxgTISAdjfJRoOqWXjxbRrPHFmtvVkqcZMQdVvEGIKEfUBLEsUPuDwRLDEyGzzKxVUVzeZMsqduykUlnGDIzHfjgdhCBxCrrbpvuMlTdnYJmkAoPvzKEOnjWxRXpoJYqoVkxDqnmHJcEZppPDnIALRHMiZSNcukgnrIYfobHBpIAZqeCfJxszGKGECExfYFTXzzLpxqxXRBkiiPxAvMsxoqLMsyBwAjRTylHnotgKSBIHGqesGjkhcBlKeqBNJOzusRpJPgFrSSYkkBMqnIOcboPlKLqPnlIbWZWeZHoXgmPVPGMrCZvbKfLLRWybIhlzRCqUnQTfdgjWXZbnDHIFnsobRyeCQprGxgpjdWaNslXtEzfIdKmRtXYxSqH", "RBWWudpoLqiLqTlHTcukqhIdpqyEZikoJsAdVMCfQxNroXcmceBeTRQyUFDrjzUwOLiYynsawrUvrSxOCbQgpGRSmeWMOQvsaZnOCkTcRmerjpOTAJrbvMJxmRyIkXDmXricJOYGjfmnKVbTikMCVStOdvrduxMCIJoxpKSADEkFVGOkgqsPWzGQtuLllbHEnnDyfRDRlyStLiZAoRUXOaMoJxUpXYRPUZQMLMniQQGfVrRaWwJWTAkVJgLtdNlADMmhBrDHkPeBcTnRfZVlFfGILaRkEEKgXCeexvlLDhCRCvbJcENNmMXBFrhjlzDyYCyeQFvoHnHdkRySNuUheMplDglUyxBRryTwFZqMwsWzYowSDbWqRpcdnWmmGZuulsIHgwwkMHwyxpZdjxYVKshhLnBrsKqzllgSDIwGqYICZbjbSQPWxbbTTaplYZXaKOZmyrHlnZLNMtibQFxUpBhblTKtuifNsqLPRjbUAzSmjbsgwyaMzBUwYeHptoDu", "rOMppiSVQCkfbEtOLJDHVnmujMWeoYikXoHThxfpWfcQARxzwzYsAgZSqxuYEadQRyVIquWgpPDEvajbrpGymTpiCVJLBMXPoNjKPipzVfkjYOtMnWniOnbKXOQOUUONXBIhTXOCzZkikBHqEOXpOUjQYpckYfGeRCnbIURjmvfYGCShlhUpciWeVUuNqczczsQkFYcHonGFpkcJuZjOBMAIuJwfyEWzatklgGsxIyYwRXmPYMHXeyDZOazdRCUaLUGCxvXZooPhIdbyDdwkZvfrewZoqqrHZiyFJluVEKENQfLXZUgoWvwUtzgHneNyyGaCLqaLibSDoFRdYKtpeEoECjUOEqRhCAGIWsrUVUhnqzLkEGnsZHcuizuPyFAfpEqWYEBbrUGBvVUarmYEPGDwxAcwOPMJqurmMASwtlMGHavniUaQpSDJMmnewcpmPWafKHkMbxYnKtGwvXbaPwTXnpbGnSUVlRomYInlrpUuszXPQYFYklxSPUFydYyI", "YkVEcXclWBLOTLubTlQhssxIkLambijtfVSWEnuQOiCGMwnMvXRELevTthlQqbqjRZtUwWVYZGAcxrPyVRRZJaVZPNXIyrLfUnaQUZlKKHGJvDklTVZAcynFzsYqNuTUskeGkgHWrqumbeLluOohKjMtzCKwOLQbQvxLoYDLPVabHXwvQcwpSSwWlYBCpZfkDrjXkuamgJeDJyPCIjnYAtiFKUJXlDcXqFMMqaQGNFlWNrJJoFAndrcpbewCoLiBBmcYyFQTqVioEJmSSwkVJAfHGQVpFjzHPFxwxNxGxpBroMrsBqqycbrHZJMmxGXFDwhgvskqHRDCuFiohsKRwevwaZgEcSSglcNEEyBZpSYyBszNauDHegydFoTpGmcPFvFresgKICJuVBDiYHdfCKHOPmlVeUCeiLpMaqBSnIVUuzbeqHIeNHSfEeTAbqBXKrCZpKFPnFIUkpKNQqLjuWsTLQzbjKKIwLwazQBbzeQZvEgrQAiVsoYPXHhJWNyd", "jjmZptpBnFieNKurVUyGyyswJRVMVEkyCUsdkrWwOSzFzhHopCrixoKVvXCEFzjUFeWwifwVhTAQLZrvcYctDNbpwRWPWXESqfPyKKFAZZOywpGNqzUAqmauQYhHekaBhyYNZCGwmkeALBbdjRbOgSJUFGRyxLosFPbwzAGmIosOnBaKINXiXLHMaaboKjNfiUBIixNmNVmjlPVoOcMzGTRTggCpcsRqQhkZAeeKVQGQQpGGIIaPcIEtWoKHFVjXHDIfUgGDwyvmYBPnLIJraGjMJFaEYZjjLZlhfzinDeDCmdmLPDppBwTLPklxkAxYbRBANnCvUkGoNAMJegzWJSnOnwreHYlBeYFkjsfQYlyXMhJohBulzLiyhloVFGLgbOYaJgtTJDtucFNFrbHfVJIUHUjmjyyWNlkupYFAlwtGfihmyLYCkhDGILlgqdecUPONOqKIZVAnalPYXoUfvnNzEDmTnKuwORvDgATjaiMeBBZWPAndNAJNhxhfZdPV", "tHSMtOWdHOMPYBEacbaWxsgnamrytsOWolmhhkPmxnigbOwNqIUYBjJVzHqaNsmMPJWXfOgoEJIKGVymEKXnfpFrbuhXztrKOIvUysjCYBytxTnTBTcwxagEbporzpnBqPLciJDqykYMbaILJlPmPsxpVNCAItSTSBVjNSOefXMlgVWBrPPbmXFmibwiijMKygMqHeZWXfuZWBWKVhrRbCQIAuUEFwWdvFAqKxvqkBFYAzhvvjVtVxfumTZEiAsJMEZVBezYENyvhrgMIqJJygiadMQnNvlEafVjsRLsVGDlNcykFQjSwWOdyEzrZEKDcxdhBYIocaqxTzrNJVvaPLMlzGEwoDivepLZBFlHWTLlPKfSUgIPXgJddaJOWkKuaMNgcwysmQMSzcIhyuZzREcFZEkbpjHrGqWHuzCFiMZtXeRgqrOODzjhRwxsDWsjgtkEojvsUPiBTKjYUxULqurONlEdgcdyVjxweSROEAZFSbUqarNEceTqjjzaZFbt", "TbDLgkUcFVNWvHmQqRhIlEWZtlbvFMpyobdKmUUcYbvfViWDLyWupPYtgNLsuYbKpTMMWyCcfZqZhVWKudUgniRJPZkoOpnRfANeWVUuPqbovACTjPQWncaupYIcqBLmRCBTJqLpQGfcooIpFzjhWxhdxBlgfVNoKmTUPmuLRDIKcryirNHGKZJUAYnNUXqDmvxoMaSQrOWIbhFMRzAbWZqugbfLgpeMQNFclaAqTpfSaszOlAUqsmkLnhCzCMcioYqQefHQfFyocZbHADuRybGfntoXEHqYQYczrmoAJvBmwoQbaUemqcrCqsUbRYrSUhzmJSsAwVVOpqHtSTQDijvmyQbiDXZpbQlZiyRlanjtxvFAlEkwSJGUlSkXEsZGnTvWEThwnCBxWPMRTpzMrYxbjGFmkxhVhIhIgELpqGTwUEwgyzRaPyDVTMJsoVBVKfZRlblRvSEPGGIeXgiTzPaSCzOsntbPfBxjFodBlxCaZzJGIirWWutQzZbNwubi", "GDioDsmqPkLIIfTTQayywRwXMSGfhSMEdjLygQCLYHIaGMsEiGhHXdzpivlCzacMYidZXGJOkpKPNxccKFwjqijitBEJHFVgbLcICPRKhOqjxUOPKlruBaiaEhlTCNpoqqhRPJouwVKltfNEqFtfvUOUgXpAXGRfYKAtrbPLVINJABqduIeAfZVjpkKjpqIeENpkusPgcNeubOxrYfLNUkPWBxiwodqFuJnXECknureHNtzrRWwLjdEHMwnazBowOBkvajnIbHIHDkLPkkMrhTHdHkLBmnrTpbWPqCmizjxSrCrehSietlJFIJtNtbTYXHUUYJAzgBnWFwYCuVIBjiHEwrRaDoYXKcNxyitJHfsBJkpXEsXIVboTLykQslpLmuzsXJcqbgQBGmnbPnlhwcAmMPhfWxwtwPvcVExofjrXTDswOkFdybrXAUDDgndbMeiuELtMwNeKKdxPgOsnajMpYaMNokUIBNCscTgpqQNiTdqjJrfAkFdsTAKCAcVs", "ExTDPRnidZcCverECPGIyVbZlaTepOgoxptqFRKbQmDjhQwxJNrxNpRwvQpnrmEtQtvTFzbmYcOkntZMPNDuBbfxAnJDdaAjklwtnFjsHltHPcFEXwnLuVbQMfQBJJxhOdWhxXZZirhSVAOdZQPhsBUxxKfcWCjvOvwXEJjYdtNZccoUawowYZEHpEvRbqxzddcbGjKYFFHreixgrAKZBpIOhlLppjHRXrxSeZsIpmQXlQKAphOMzHCsDEVDJqBdnauCBSYliYUMGlIfkBMkMkwhBCkEKuSvoktYRWmcqDbXeXHvJqzSWKSxRGmYcyzXsGPPksUsXXWNfgSjYYkfteGnwdxUXSAlKsudjdJiOaazkgmqHdVWlIDsenSWhwKUdSNrLNYpdPLfdjTNcisiOqDafJKThIHsKpKqnBYLvBMtdgwqfGCEsxoggBBdhRGWGEfuYfpPfUrZCopblOmbPcEOEBXAOCYtHFtPHFCziIGIHLcCbVgelnPghYagMltZ", "OuUTQCljKgGEOAbHIygRVXTicAmJTNXkQNoziemFXEaQWTnOtumIcENhHlwrpKuUkQFnuvMnuthVfoYogFxbcokqbdkPGFaTWkhSLGLOrzKWEGCSzlPxUzcRIVGXUGHXMtbXjfPCRWlpPWjhmeHgxddlcWsyaWRsNdrlMFwcUgeOvSgkuTfVAERPZayZnPFLiMEFkWKekFMrXUNrAaEJLDUwFYclGkPcPVdKvSHpkIlJabCeFzrNDVGIzLLBarpasCfphOOkvuCWXgcMvNMVXUDRGvokHWjibZvORLsuEQaQAXneXXuOmGVDbRjLufGZMgemBvJYwQQoQXsvkCRZcIAIIgAIfWDlwJfqpMdHHlQKKKPjqudlLmDHNjmqORVMoWjDmaAiyghRvOYWudhXvMcilsFZXtAGMWXnqddgwfpoFsobxWqjgEKYRcqnGjVmqIWIOdYurUpPnbeNkvsZTReGJtJtRtotpDnxUjgSAehChQjBHlOZiTgzUFEBOuiZ", "qqUPmdJOJsViTFGWbRWrAgXanHAYsJGnpUVLLAXJoylkkUQvjyaaTAgQaadjhjkyBOJqBBzOiaWLaDFmNeSFRqOlJwcKxRIjJXagdCpMPMEQRKskDlISvrRftVVawJagXYJbekGuklwUWRrCbDbzPHgGgRZRVmsWcSnrmmgYHhsnYfEPGkbMffLjuaFKSRZXeWsBVhzdMQuDTUCULAdHRnaHKiNzGXFhtNEmnpAgCByLXISKIVDyBxmWASienWQqWhiYYcfRhkCspYMsxNvWYVVsoNJeQhJmrYYXjSuhROYdqVdzXLuNnMnNOSsHpGRScnuLkpDTNedXPnBJlqmWXEWlscPfYcuLBDMOefBSOCXiEqdvAhuEpLYnUnvpAeBcASjvFoyrGLQVOovLvyOaiYrJepDTvtBIblgZpRZafNdfkDUDQwEYhihcIuuSxAAPqCRHkeykFDGEsBuaqMlAVoIICsRVVpvoIuTvzGgfNiIcjJXYEBPPfGkVBqkoNxBh", "KIeCLJCmhFxjmFNZrQFqWHkvKUXwAUxSNbUtPdyATZHsUfQWJyUUdBXpCetvXHevYdYcXYgPisVlPrjGyThnSDHXdgygENgQMDMHydnPvzLtuUTCWRrOKQcPxspqUywDlHtysUNHzsJVtfcJmNqcjfYPZafYZGOpTUkKmsoTUibQvaCdJhNUVoefnIbBNIXMEjFWrkKffIQRwHwibuommULZIDPYSnQYGdCPBnRADYxvIeKjtkZiTCZZOSdGKubFVUrIvnSuyJhVlTEMrTPEPwwPCZZsZydQOmdQngADBBMXIORlgJjmInSjaRqUuWXKComnpOYVrtZgcdwiSKyUuMWtiQVNcNtTbThgErwbFWMzueawrucbZmhlZFdsvCTUQlvSoaKxEJCHGzomCgipUejjUyicEUkHjQqIHVWHPiTfyvxVsYHUDDjXuVPuehgKskkuATJwrHXXOCfBRIIPEJZNtdDbqzHPZlYzeigHJXuyuIlVogkHYOSpqrbXTrLS", "SzyHUHZxZavWGUVpPxqMomcfZsvSirLLQGcGawIzlYmtgEVtjJOBiiNQrGeFwyDvTPqyOnfRbVYCJUKUSvBoMWMWvkeLHnUGdsaxwqanwUoWONsOCqsBAtIISYlwSkdoRPluKQQwnqbSMKaLbObuouqjtzCFAuQYCTdJXfcXbMQRLVgKYkRrJiJXPshYXOphsfBArkUVIAQzvrgCjZREfCvYVPhRoWDVOCXtinlINRIAxCxLWXiqnsJYCKyOMjDxzfcDJUwErrPfnscssXGmzxmPfUsPerDbwLlwZccMxaFyXkhJuvnMMfRKGCGTDUhZGJJbRRFwPRaDdQyntdkSkLcYhAbpKrBBXaGcZGjWnFOFiPtiIIYXErIHjOflSwHadRBJfcMROntgFojovjKbOirEmBoieYLqdQLDtXSNrEUskRmVXryaYMBcyFYIDUmVIgGVlbgHWgnpaDdWVicsNQHLYsvhBIOMVeeMQVufPfiCxhkVwaXsSJWmiWvxBhPJ", "xTSrSJzsXrdWkoGXaNONYGgvqMCYKTcWSCHEkptdZXdnJgyXcdfuxSKBAiYZQtaqTogJmejZOdeRvGRVRskGEAlEDsNsnGpeUQyQGWwHhYFwrEhpnmGnCUiIZCGITkdmklNFkGEVclCLEDVGOiEHWdgpRYkuNOjcRRMmhLXdXBLbbfxjEHebrFCUEdmjCkBXZOAbQKkKPddlOygcmmlRvJjRFSUjhRotrFfKwhnaXnTXMTxTLkKItqwIxfSKnrsazoGHaHKFVSoCAwZRGIzPADvZthnTVOzDIEWNMmsFHVYFgGQZwZdXEspUMBaOWJGtiMFXtYuIeACqGXxThaBtEPfrbdXbXajypGywORbpDOWlHkJoAVPVOolDaWBVhePmrRgTgFfpDjOGdoKMbuvzgFxfEwlrZkmvHsixnMPPhMmkWRyyNCJFDMsrnwVBRuBUecXTZQBgbYkBlRotIQMHAxLGqUBOHVOEIzQryxEbkSMJLmrOglXXDjUHrwfuevOg", "YsqLXqExuRqEkotIaUfoXHHqaLQLetnQipkNherPBULCBnhHTaXeBrjIGAIoDEpmzpgIJkPBOkWTdkPdtXmphGUYPXBiNopyVlYAJgdfLneLZGWJRIvcNWiaJRLMyJgeTArwCUrDgDxKydeHcGFfVugAXayfQEOzTZURyfwNOjVWxZXvdMyRGNAjCDwdlNzTzZhsPqEUnGbtzxitmyPZiROVIkVaorXkcGOBdXdfIiIDdVhlXhlNoeURqLnPEMnFgoFgLfmWAFoaMSvJYiGwuVZuqWDXARPtTYfQVnwDfqBlQsGDWGFwgMvpFTqHBMhZEOmitONnLdZjaBUbhllpItBpCPaXQgeWQgFErwzgBlvOrAvUSSxCQlelXiPKZciVKxWxFyemcsDvDRDKtHtruUFoGmMTFRPdsohQpVwWTRKXOXysqiScDZRNhqBENSAfhJUuaspazDjoGkMEfGdOVhvrHDXuQuENxZjIOBkUbXMlrELtSHQKIhJEqtmYlHxV", "guLAlzeKuVacWYHbszgHaowjRjeHvMBYYlanPDwIZWMrhIjvpoGBmmRlWknbVLqnmWzOyGWnrZfWFCkBJCtabBuvVEPVeNSwgkeNlVRXXsJnEHlqzHaNxmJUGpIGyTFvxAfGvMNVikbAZyJnaRWLFlnsYQScjwIRSeigJKnAEbiyekVhCTrBjxVaatJFUfELJrkyCahBiQcPMKffADRwLBmqxovwdXqrEomlwVMkfJGpbpJTVePUmmqICCGXOIbiksIfGxWykovhLbkndiroJUjOZNplGQIRxSgeGlYrGsnrdwWqZigGKsNnoQtynDDNhOQswglWXTtLTSEaEKhDYWibkwwYOlnZvzHJEksYKlPPmtmzsRdEtHWuHGNEvuQmbstAktZGvTmNoPxLsJsgjmTctZnLNJLDAKCdZuTAdktQWkUBZqbZHunlrsGlrdWrOsRhqiTAITarPKGfhzdwjmplhrKxFCqjPSQAQHdfLeCxnjNQmtHSCHUbHospxAlq", "DIZlWSrVkShzIKCTRGyVcNnbBefqLlwKprkjcQiGgVjfIfeqqgfphjObhXnvHLdDmMsTuQMVHkziUzJvVqkgFeMGueSipWsEwFTKgKZyRWifXvihhKeACBuCVNqnKPApwmeRqZsLjUQQOQCSXdgKYNrtVhCZZXLgrevtaEiqTtPmFjtuvpGjRIdZodUWgQdccLBmTebNSsjXNvBbRRhzNnhBdcaVdkpoeOdszLfNLfZgBtAYmmjWQZwyHsLXbnKVYrPOLxubrXvPqbBNbytkPldUnxjeLEFKgLHwCVPjPbqKZRCIwBhHkOPdlFPQuIbCfZfTIDnOUSjBbcnINsZqBGpPWhloknckSdbiMeVpkQgNAYyNjbceowShngtNuiBFeEFArMIZWaIEZvBIEPXRvDrAqFayxrSnXPGCGWDviZFposUILCKBsVVMAcshnWdQtrdjqPbyFsiGaSgNZXzfymlSVnuKyyDxNOXHiTXhqxkatUTsUQNFpdGXJAJrwupQ", "ozLPbQNOcGjxGzfjgslGbzYEZDDphEfxTjefihlTFsLajJWOariqzSXZltGqfDBeGhsIgNHowWjlumIaIIkDaCUDjYumPntzzypOKjLFzjniRPYttCNxmKClwwxzWRNJMvxYWllonNfhBtLJTbFjpJBvXSBvdQOyTSZovkqEkxlzSwMkuAgULIqHLoNZmTlxNYPvqjTxuAKaPFuhdkVOsclQQgHrehVVdNNeWESVnlpGHlCPJiwYjJpdFzmvEiPTbrDfwhzccoOoZKtAANKCYmYGofEgfdbHmZJorvDysKlDpbJAAxqXoqLDuMHhUsPlhMmozqmgDefpeNBkWNBVbnDfJyZsZlIzWxmmqieaOSlAdIUKmOCCOssjyEWjbqRNPTxqOSlqSrCcqvpAMNIMFeFHANeoyfCwKiDQPJaVirlPSLRByYdUtwcRlGerQmnqSPfyEAKYDcrcQMwKHVRFIUjxsilDoLnfQihiTJiacFfSUpoRnLfsldFOJjuTTGkp", "AjqCtnFgqzllIxNfhxxNsFgUtOlmQFmcMEscRGdvIcvaZyITDRzkONZPaCzXkCFpocPICbbVRjQopPMmGPBxGQGzpbaYLUhStUwoZFStiYGAhXumhcTTJZIhWXYnVttgckwplVmQsRVRrYWklFaUaeKPJAKPVFfBDVziSWuNCPbnhUgYbbXKYuCFwulDkyKNPHyxJGsfjPLbxDmYBTPOXtxSpbvtUOsUxAVwTkroNKoqjbGRLgTQDsvblufWamQvjmhERiHsGoriVdvBiAZOJAWyArffcUQJMWqAhzqIgzWtAviojDCdnYweBUBdfOLQrmhfSsdoVJHZCIiqffUVPKkIiqsulpNxWQHVPNZbrjBOqubOhXpkxoBQgJpVDKMHFtRWAEotwNHnHmOVtjbBUmwEcWTSMQIYLYtlFtlyFulWyTEEGaOkRHYrBZQbJGImBrcnAnnLvSzYCxZVJUHmSSJixfltynvKRpBHiHZNPTPwEUtagXWUUMnUfJKFPcxD", "eXaelualsRZPBdVHwQxOLjHUfTBfYwnioSFxweUAkeADhZTbCSjsASoXmKkOzOwarkjWfccRkdgDHJTZovxvROJTcaQCyhaveYKuXhIHVlDwxbaKKBbFloPkWDZlGovaHaPJUnBwAnYObEOCtwBCYOchMeMGICBshtKGqitZEUmtSEqnmDXWQKeekJXNFIMaDMlJEsvXLExRpJWIZNeCQTTtgNhYVakQpfWEePqjHrzzkPuGtVRoihZOpPlMcALekJblvtMcwghhVVuVJURcOyGHaZELvbvQpvRDHjzjQSgaZsMcoFlwoxwhyBTNfjqnKygdWiVHKZJZRfrQWwMOvboJuHFLbVYlksjKpbNvYbdWWbYKPndTorLEzsupaAgMrfdvtejgKEulPSlmpJnlRYrflKjUfKtMVbvgOIhkxrLIbdMMLnmhbFiQJdulrOkzNtGCAbtxKBVGiUvbfQhedecHzSQSUXztpMIJrdxxuwHiyyVPbyhwSpTvISIWCStu", "uUWsALtdVdRmrIccUlxvPElRIFNcKNAaHJtJuaBwQgEzxScKseMsDnIlbgeiOkcHTsqvTShJuQuUZeZrGLIDENYAOsiIDbEGLoeuXWreUApLImShZXpzhaEPyvCUzMwTdkxPcALrxozAVGopJmDgJqDRayvwRcmRjvdQlidTMQxDuTqnVJCOXLRgTIMLGwPRdFNtouYCyWskoUDVLblQZdphurJmdeagHZIPdCbPLlfFSSJOVmdmLRADVuSzYvxhtemtBvTzwwyTRVqRremDhyVJVmWswTurJFPsujHqJjXMPuugaiKNRrwabkBUjNfvOivqivZQaMNmIbgtmFmkUjTTZoNTywwSeYyAPmjGUOLZPfslpXPAMYrLpYUtHmBXpuUXjUHeuYMWEjeuJAlUziUlLIJvmwHzwGJRvIkFsvuRfdDYFiDPFocGQaOXpGHIQqWNQZeAnQAMFNbZtiBuGLFDIgnvZeiABWgITuMSiMVTcinWmpNWrImACHKPeHZp", "zrWZLXbWDBbhMoCNYnqmIjskFuCdoHKxSSyfKjxFeMrOsFKVPnOKxqmzEmyTRHGhBFaaIVLkUyMtdeXDqJyuadiRALOlceznaDxGITGiotUuukdynCnGZrztUbxtVIRzAKefixBAfwsflZCJtXxsNaKxIyAZdscWUWdOIIUIAQTEbtdJjyIEhjVAAnXjeewDjtxYRaYVhfIMzDjupUleyOKvxbzNYfPqeedyRDbHBLhyYNIRnMxbzZBHACUUCeDwhqSdHYwrSssPfSAXepGZliHBApenbfxPTStMEATPkZCYjHOUQLPKwrpLCpczpzLymUmfGpnmsRYeEpglVoqYWozhzWbPTfJKEbyhOjmlAmhbdaNBSKvJkOqPZxOGoudjKCVbmILGqfGQzjGMWMFOkFmZEqxnpRGfSKGRWzreuYWycQantdECqhzKpcwvTOzsSmebjlkeaflaUnvctAzXUoHPxjChGbPLKLLRolLUOiftfSCybDkQsUSvCEYtafjB", "jdbZkPKQicSigCXYiwmSYNvNZjhXJPmmEiQtmZirJAibdNwcigzoLlIDlJrRpGHhtvTCPWWZpEViZUoNsfmtOjnSmgBKtURRaSXQZVuDIFUAOGHvDZuHuBaluPbLqvXBEjEEWbRYEyazhlCAoxzfyMyujsjBfjLVLrZCSkTvqzCSGZJtqVIkvhIybpqWsIkgblgFQscHCaCRZOUyweHmtfzWpxTjkmIIUooooOFBbdeviHiipLCdinEYNagCOjeseRdVLyahrPAJTzWGzVfhywoKzwkCEdBSrUghwcBWayuCnviRufpIxFMOocHiKvIluSBEsgvMBKhQrVwnNAMkkXSJDwBMiOgzmBYgBdjymkDhlSfWouJWaSOUlOYbCVmOWLKYkFBfiEJmLloTKrTJfBnAIsyBdlwZdmLPNHeoSAkYJWfjcDSDMIFVuOWFESujdUaIeVXagsmmnFqoXQCBLFuNJpeFLbXGtNWutzyDLsfBuxpjfckqHQEAJGrCcwZO"],"c_map_tinyint":{"c_map_tinyint_1":-112, "c_map_tinyint_2":-61, "c_map_tinyint_3":-70, "c_map_tinyint_4":26, "c_map_tinyint_5":96, "c_map_tinyint_6":18, "c_map_tinyint_7":-58, "c_map_tinyint_8":28, "c_map_tinyint_9":-39, "c_map_tinyint_10":72},"c_boolean":0,"c_datetime":"2016-05-13 16:45:35","c_array_datetime":["2007-12-15 21:01:09", "2009-06-13 06:06:05", "2007-12-28 12:11:36", "2016-08-13 07:58:19", "2005-03-03 19:41:15", "2011-04-28 07:39:38", "2008-10-23 15:52:46", "2015-04-03 18:35:12", "2004-01-07 15:04:40", "2005-03-06 13:27:41", "2015-09-15 03:02:04", "2016-12-24 01:14:04", "2006-05-06 02:12:23", "2012-11-05 08:54:42", "2019-02-21 20:21:21", "2014-07-11 10:12:52", "2001-08-25 15:16:14", "2011-02-26 20:03:14", "2009-01-22 03:50:27", "2002-04-07 21:58:54", "2017-07-17 00:08:50", "2011-10-27 07:24:07", "2004-12-11 07:17:42", "2010-11-11 10:39:27", "2014-01-08 09:44:41"],"c_array_ipv4":["cAScvAdbhP", "xaoUQlCtoy", "sSKEyrbKGz", "NhHWDqbDZx", "GWQnChSnax", "nvSGuXPTqK", "ANTDpAKvFY", "iJQYyswQGq", "ZehLLTBqYZ", "RPqSXQAFag", "KJtVSfXoWo", "FhPfBAAYwA", "osRyoMqkBt", "GNtECznFxF", "cSkUDYSxtc", "aOsyQnLVvI", "RYKvAUlCiI", "QjXVZgszEZ", "fRtMDQdTAr", "mJlykdrcNx", "FsQIPglMoX", "hzqWMKLMOU", "hcUYkafcnu", "ZJfAaMmUNA", "ekGEdvTiMd"],"c_map_ipv6":{"c_map_ipv6_1":"5b25:e803:7ea2:3f62:3d9e:6a2f:548:63a0", "c_map_ipv6_2":"a7dc:c868:1c16:8231:7e69:c88c:1a0a:b784", "c_map_ipv6_3":"805f:418e:af7c:3d55:63bc:ad4e:2817:3fea", "c_map_ipv6_4":"bfca:7829:fcfd:7b77:e0e0:17ab:c386:1711", "c_map_ipv6_5":"f09b:55ca:282f:c674:967:4d9b:50e5:79d4", "c_map_ipv6_6":"dab:f532:30ba:a62d:c01c:ab35:9390:6f37", "c_map_ipv6_7":"39b8:39da:1cd5:c09:fbb3:afa6:62cb:7a13", "c_map_ipv6_8":"f1b8:3a83:e027:8c87:f85:93c8:de71:f5e8", "c_map_ipv6_9":"2ef3:3442:4c6d:184d:d6ed:326d:a652:6663", "c_map_ipv6_10":"81f6:49c:b728:d324:56ad:d6d8:9fa0:b625"},"c_int":-892513509,"c_array_int":[-617438922, -28528231, -2013955897, -1212681628, -1952029090, -1829430247, -1875673962, -193846444, -1109749121, -174382029, 457284964, -1509793550, 1684289216, 1920014089, -844190395, 1588182563, -793769164, 333984577, -1863945085, -1182107154, 1142140382, 164931149, -870705362, -481429300, -891087484],"c_array_char":["RoSLMGPopD", "NloEWXJKMY", "DDPAvSdtRv", "pSkdbRdWRk", "dQjgteGUDy", "irybvFBaeA", "bAgyyGjcXx", "LvmDKBYsBf", "irOTCQcCza", "TlDJCldOYa", "kzPMqzrikF", "goouDzskHr", "lpVSaweTtg", "LyPxZQMCsc", "IoLLTNDDjP", "ZxRagneypf", "YEQGuFEcxJ", "OlLKWiNbsn", "DyJObWMmaP", "UrfxrmCnMF", "WjLpxYqHcl", "oSRDcPaofN", "fsDJGAdEKP", "rKRESKJmAY", "ioyAukvuYZ"],"c_array_varchar":["GvkrZgKROAOLBFLgdNclojYLxhyCiPTVQLISesSjMIWyUqzhWvqVCIhSSDIaJxRTefwaQHyFwWdiGQjkhruGcoQnSkuIGPLHMYpUIzpPdTEIunIxCCJTlcyDNisKOhTUrlwPrlPaynqiScehPIOfFVMQOFCXvaNodjPePCesQpRsQKBLXNgxBjkEtOGvgOTOjQFxhYqgJMeioDECnosserpOgoUbJJLlUXChYVIQfHxTOoOhXAHYXJCZQNlklkDP", "rlWHJnxBneeNQdsHdGQwbagChDAmEoFvsWpGaNSBIrFLedwAqoCEHBWFVrELXbhQZXBqAtwdVjOQjucHXVgRNyQBcuzbUvrCkVDCElNAvqBzxBjDUusNySGKoUkFgQSkgDPVcOyWkEQrtRzuTxdeyyJjUrRbPKYEYZBHsWcZqUwNlJpSFDxuLIToHknGnuOHipiRuaQQZrMUWRsUrpXEjbodkJDLiFNitwlmYGLYUagDBZGGTHEZdIwbaqYCopmL", "ZzpVgnsTANNHLnpQEkVUqPGIGveMZtqaSKcGWVGkWZhRreXLAuhSuBgUObQkQHvNfpLUwqslieeWnwXyTQFtBXcVSgxgSUnmtxHQHnKkaslBtTeIVOLpaGzeHIPrmThhRzfIyHmklfXyGmYlPqIJbEBSuVatDqdIjKOcubRajZFjRUZgfZiMyMBoMlBTTnNVrVuDTWDxdgLEivOYwPMVGdGGcsdPcypwdMlauwfHBlwFKoemEhVjrgRTkffCSvtR", "pvnVstaqTnFbpCPOqnYkQheMLfNGygemaVjIlGtPIxNEnDGgcRBrLEsIhXsuguxBuvFdBpQmrXgAPnQNGjzKmzYqLGsVBiKnDsDWdcwPWwArJlPsJkhXFyFXUgpOTZGuPLppVDGCGyNlBzjUyxZQPpmqvIiDWKyEVpbvdwkMRCcNUHcrBXCbieNffbYKqLrHCKYBkHzVqlsKoxXKiGtBrkXwUWHPwUHebrKZqRMUZKcQoRdjCRqSYrtfPpvkfyGr", "diWCBpLebOzCNslueyFCbCDGSHRWGlbvHcYSqeKmhqgsTzAFYDJCEyCYANzjlsgFfkPIHqbFAeeccAEFurXIHhhnbbnyTzkulcCfgIgUOhZHlnZgKyOPuMGDFbZpESpBgPrDWGTDPzIdQhXHqqalmDrvGFycjFdGJbzaxMglcEBNizFehXnaXsXXtGxnivWDWqHMKafqqbMtcQDjyYAQjCCPrQajnMgFLgprRhKzUJKGbBGWtaNkvmwwhMpGWuZt", "eVvaKdmXFrcJqeTlNFOzorMDnVftdtqYvIgIWGCyLaVBgGYAmfvOXMRsdqKEuzpXSBKAqNXttLXJdCVVcTvdYPHCjVgphojeAGEllkKmjRmSxxnqhGvzAWEFuwQGkViOxhHNEdlMvjsYlfYyDBaZrhosLqOozqPMglMEUjXlqXNWXwNGPXXuCkSLeOFnPcCEuBpNugRCkviTcXDtJRsDvSgjAgNCUOKpANMgOcgReaIhNPdQekSAXXxDWeAQODKt", "lzlahvHQLjFdGDihzwAGqUmpNsITDnQgLWvDHUXFkDTVdLDtoqTLOEwqkUOrxdrhcwAQbCmEVyNticyPEESFwEFLkvSRQUiQRdPABWVVAniyKNMyGbuOjPQQbhsbXnLdBaRGtvTbovoAwaJESDpxjgkNYfNURCKzkyOMPsIbWyiXyXsDHYacpBPecZbVXYGUYRQTDLlZmVjZJpWKrMePLUDFPSddOKHVEFzbHmnnlRwlDgZxlQHwemrgIdgNiqoo", "DmjhtaTeQuDJZrKnTBFDOHlBzNsLgPqFfjikeTXjrFqOauVMQDoOyASKCZwpAlbMhYktpAxAaCtXrLtRiXFyQObuRTiZgBYwpFStKfcRpIrvZeCMlhUwgqrrrXvBGyehrcgbAxsEKjwaCpRwvXzHfyskorKvlGctHgSlJTbOHbmvIqEtmzmdToMzsyaLtZSQMNhtDaHdFAvFsgKRtqAReFSrrJZLBNrziyYaVloNkFrGIpfvLzYdxYjIJrtLDFbc", "yLyrpMYxkCWjLfcYcBklUuDvaXTaDsRIpuxWACoggysyyKNJyecsgCwLKVflTUikFyXxHlyMJFubFJkjALZBNRQlLNUSCXCgZfHsufdfZfqjKLkScyOWpfuHJORrWdQfcnXJetwMYbMdMzGjifOCZQWMCHxMSSmNebZntjpfpZOKvzClVxMzQXlWDejJlXdbsHmWUwQMLZqYnswzAlqqmrvXlPJyXnwLwlhMTpfMMeSnhuptgXnMsUMmVMdlpCIx", "XjWbJejSDbFFTPbTmPESGNEOkEPsxdjfzSRaOdgNOSelqlWFOSWpywkgppiiCpUofpfTkwqKXBSGcwKidKZKXTLfLCmxRXYXCufarRTcadCNkWdjrprfBgBqkroIgukWJNczxeDVHCRHuLJOshprivzyKRjkGzIKPWpjRtwNIoDjFDOXmBUGDFLwUgGsZFAtlStRVCmSEJtFdmhoMYCflyLMhAWwscinrkOlbsLtooAzdkCYVHAWdPTDkUgRXruX", "SboOHUvIAPXJiMtdpOoXlESjNATpAZgjXYlfAhlCklUmkkWgQgLTKyLzTxQHaXUtSqnIBsDnlrMwoMNAPbBsRnsBwSrBBkCfooGCeKsCNHeEmHkXQJeGaHvrZsAWiiFxpkvEQMjAYcYNJpgUhkxSoShoWwerCfFVPOIvAcfxyjceLDlJedDChFXYPDvHKRXHMzvfrmnRmStGTOpNQtNJZmCpthkycMSFsVyqAEMuGuTrXHNZEJwucSMUKgzoKWtC", "lgkpsasZXgoIdsYIuLouBbZSQvtTOSTujGArvfmGGykjscTTvIaQbOywIaJtXecsIiGEMIwryojwFvbnCuIShnRxFAyUpFEjXopeAoVOvFWFiqCmmVBirpQmYaLbNryhHMHJMFoKvapcPoXfKXfrCWIkyvcQhVGntAyoLCkzhIOgpCJASrATZeWieIptNNujLFTBfKLMNaHbMBnsKSDsAzVccEJbjRVDLZrmtpqPTZkrOcxRZODxibGFkUZoojPF", "LJcJDwryOoTyqPIIqNusTuzOTVUUVqNXBBLwTbEikFYrSPUSTYJveaCnJnyJvdLWtaewpfOIpVMtYTFHyhEORlvTHMhoiCLevvqlDLmRauRIlueHqJfdCQmmjPaMlTsxnNSuPhsRddomcqOKDTCbFzxBqkgsrZIHqxgqKqiKozDgfAQiqfvGbylLfZVWBEafUWswBKlyWHvHqlJfrHNEPZSGXlxJKiPGhPkXeXxiwTabysKFuLiGpRgFonFAUIPl", "dkijZueKKlGTlVXEkgtWAPiEPuHTBSFrCwXQfOkDwGnAYwDxzRnuoTanwKcsEhTKZJTHfaDuJDEbLETcPNkdhTZXHIpINRhxHeUYjnRWxCaIQQAYHLDVkoruETaTlWFsdSovrGqhZRaPiAPbkkRgeUfjBsGoFwLRBQqZlVUVRoGwDQAGgetGddcZVuPzsDUfNJDZuMxwbDJrKzFlzhtxrMzZPOYjxDCqYCxxVJNIKRQhiedMPUwOULbKVuyWoqPd", "AGARztUKbnFcqnyXRyeTIxKRwMKtivgQQsIJYtkJRRfWKGqFFwBEbZrIcYZlEYbCzLvpbofVpUmHpYcaxvQtRfLeXXIvbjSjfGhpxASVHbHFlchfJYzUmDxZlDuLeMGaIlGTBYwxUUbQgTlDwPkdGQIrWSujGrNJXTHCpCybsIsoPqWbTJnPGyPpGYzNAoRYQXULtIpxxOmhMrJrePGxtTdcXRrFCYboePjNwwMwxkJahByBuIVYpIPNYLGTbFRg", "KSRLSivhgktQtUvBvxxBPTnkjwGqEOxYByRTtNKmSMNWRfBPHwxMDHAoUvJaYNSqQtdgXwBYnnGuOcwVngZssTFrXDxBfbcArlDSAncnedtgEpMTXTijrVDSVvZiWMTvhKbnmkFdPivKpWQzYmyQgAjDzMgCniKwfshLnCVqXLbdTxHlBPsuKqsqQGNypoXVWHKYehBjJPTcWClAaNTQUqwcvoGbCVYsFZhRJZcNWkuHdFcVaUBpyKzZekrEqxAe", "WngZaQfKNOnrWDuOKqvqvLhNaXJjCFXORMSenzJtdEGwBkwnAGNYvaIeEDNFUQwtKtUAyJuasneduuVHEnMiPMkyGIuBwOCEHVxoaaIHqVkJWRErsAdfVtebtjfpFtkwUSckdAmbFfacZCddNYmqFeMZdAMigUaJAQWwaQIdVHNSKUBLfgCKuhCSmEdqgeAAKnUSuMbtZuBiTZCdCgQjvIiMNGWcBDeSwYByUcZkxFKRymTWDZAHzWIfedgTCRuL", "YYEdMDuRcwWeqObEiFvPMIGbAeFhIhyBczxfsaELLFFtGvbxpvWakpjhJQrjEHfgOftJcZFtzOquahTYnqPPSXvNWkKCNUlJfejICJOmWjXSQtvTwXokDKGUVQDylfhspiUaAmbsQqSwkCiMPEYdDPpWCMifypkiULECcWEHxgZNYJXcZjGhhGekuuktADqHdLfXIuqPPjsuOmUGXxZgzWRAnohNnQmsEzWZoFyNZlawwOVUlaWdEsOzpuEZZGEA", "irLnsLhqsqBcmSkMTauWpGpUEJQMAbiKRUdeWUEXubfBtTyjCrTJKyTXTzmZYpRcaVNoeNrzEyEsCYpKOgneWQAqZtVNiwrgQWCdZkSyHNVDcnTAKVNNueqhXKGNDIXoBYmtVgbJgzoZGAegLzUrgzOUzUmCZcoMRREQKdXiGOAOUFqdeirqEViQVvgfOjEJgoQsVwLGmrZYVKoNQEBqJcNQogqiNsdHVaETrLiXFzZgrUWprWXFLpTJaAqtDnmR", "kMzpvEhICLJJGXubdsPscmhZDCbKUGYBRZfXiURddhWzZmjBalMSbXAvyvuqIJPCGFzrSCpPNORsvvyQWLnkYRezcmXXpAvZNxCbRHvLaakidzdQceWgTfvKNAJYnExknZhrozkBTbDvoWauydhSXdymeknFtooHVLHbultHwxmOSaerLwpoGCyqwefbyIyxDXstYbAHVbtHzChdCkAfBnGWBKCgGUxDxWjJceftStIlqIHrSJlqOHBBPAitVJPu", "TWUWqUnUfCjnKqWgoZaeQQVlQQiGxXrJBkeFnVyLjhgpTTAceOCeORaJpgmjIEIgddMzgxfPymtEViqluXVFgHmTMTVAIorWsUuZxuuPJdEADQNdGkcsripCoOVYNLdHPSsSbfhnWAyfDNzKmQvMDompIqYaXcdJMHSLGshxcaKEhqlanrtoVneGYRyULzqDsOOSiTNneIhWxPtDUbpveSzPmgacwOyuUZSDXLmiQwxbNBERetBeadQGtlfVVTAO", "GCTgBzeYgTIJuEIQcIeuobErXKaCasnCrXCUNuftFbVhMiRWBpWOvKyygwYgYwsWkelRNkBCefELcSTzwsfuYLvFivBSacnyBDKGIYqPYYulgbudsJecddbIximVuMioesqoaySnjoYJwZLXRIGJphkrpnqeOoMdeehTAOxzXFWsCDgVSfvCMqYaVGMwJQiSjPQIQtkqiqISBnJZuaAUSzupKUrgwqiZecnluXiFTxAMnVxWcywYvzubJbaoLiwE", "RpYsxDlmysivAWXGGTQwNcRGCiWTbDlpAKUSOvqOMDzOxreYBBimEdIITVAkPEstqbTFiuZVWARsshkYdwhoPQzTRXYlDgOnznIjnUnWphDjlPrnEKyzTxlfwlxzKDFoWHjPcAecPnfoVROYhpcFajKtbvTpYXdgCzUefVbCdUjsMoLwIMJZvmrHxahOejwTSeRORQOOmBrAvCWfqVXOEctKAfxxtpyDlRcsRiFSBOCLqVcbkUcSimbZGTHYfWQM", "EDvOXZEQqrKrSiUjwEJcOqxJWaWkvbaQGoUcUtaKIEZYDYDJUDHBuqiHHjfBSpsrGWxZLpJvcJCoVcUSrjsAcatWcNQNTTuheIIwjGqnNZRgUsDzkstxWexpOFwAIioSQgMKauILPgvMRzLqrMJawfgKpKNjeAmFFSVTZpSfktVroqruWsIIwHQgJRivjcXsfSNPwelzvLIAAIBnqboWwSlwdGrWDTOemuaYVPYQMYRILBFElKYeZQNuqUGeqAri", "KcmmWlTWUEkDQYciSAUECIpXxOcylpNHepuxeIwwkYQcJkDNHxsLWDuljFFRAsjzAgkeyXVBxlqmesAGDTWMfmOOpONpMducJipPKhmMVEYcNtCcJWqoQUgiYCuRqAYmEJKFiAgGBRUlzsIIlvsrjDOMKmgmJPzbfpxMLsIWEyBsvPFjdjCdPdmFUkwFRPuCGwIpDJtwnhemVdXOUTXfPNRuZhLNNgGEurtQuAXWaJcHDMfCDwaAYFYIVnoknvYn"],"c_array_ipv6":["QzPBSnwWpN", "yuULGUMWFB", "nUzKTpPnUo", "muMPGCAGfQ", "pxqLDQDBMl", "yVzYJUgfek", "QnkdkCzQxm", "BWCAQwBAhC", "gBYMAYgNTB", "BYeBZEZSUL", "vgknQbVCNF", "yEZOwdcfBU", "mNNBfVsNNj", "QOJPJPOEKZ", "dEqGjSInOc", "XZbQGPGjSe", "ISCKfDRQeI", "uCLabqdJyw", "BgPBbOBUCh", "JskjnjCAsL", "fPfyUCaXny", "JWNxbxyrxS", "ehYUIqCQZy", "pwTMyzOder", "jjZMEtNQcl"],"c_map_smallint":{"c_map_smallint_1":-18291, "c_map_smallint_2":-30863, "c_map_smallint_3":-31927, "c_map_smallint_4":-11441, "c_map_smallint_5":7917, "c_map_smallint_6":-26885, "c_map_smallint_7":-6907, "c_map_smallint_8":-14176, "c_map_smallint_9":-22047, "c_map_smallint_10":-29643},"c_map_float":{"c_map_float_1":71.600235, "c_map_float_2":49.040466, "c_map_float_3":19.532217, "c_map_float_4":96.1372, "c_map_float_5":13.983282, "c_map_float_6":91.95463, "c_map_float_7":17.687304, "c_map_float_8":55.7215, "c_map_float_9":8.357905, "c_map_float_10":74.86545},"c_largeint":2774603508941777420,"c_double":73.23916473268723,"c_json":{"minecraftvillagerjob":"armourer"} }','{ "c_date":"2000-12-26","c_datetime":"2010-06-26 23:31:17","c_array_char":["onowcZboIy", "qSmShESCqI", "YGXapMpUvd", "cPtEsxoADh", "NtWIRihTFb", "hDbSRgHzHH", "pDhmuVOsyS", "UNdzpYcbvA", "yNFFxopXmk", "PRXJuUrQuP", "XGXFqufVKK", "khqHVOMLsE", "wJixdRmxcb", "MKCvMqGcMN", "ufLLqCEzJi", "FkSpVzGsSg", "VKgpOKDUsN", "ZdszVCuJXU", "DZctUmVxiP", "kNeJkVxDeX", "RQKABXdSIZ", "pxQhyMbUOu", "phnCtcwhrB", "YvaywIPHDw", "lNGQvaLnlx"],"c_array_ipv4":["mILIMZaBCL", "BpBGqyrFEF", "vflwRLKWCa", "FbEsTEjTIj", "MrSYkJBkPf", "ljrdrlchPv", "mellitmPoz", "TzwZhzXqVO", "hagdiMkrUB", "pzKYKcDyAL", "hrxSEXNLYp", "RfauwtjACw", "epiuodZjDS", "geAMOVlQqd", "DaRAZmFeSL", "HUjjfCPgWJ", "tPIHHykfyu", "RTBlQMbcyu", "MkANzMMXri", "rPojkzYOas", "MFRwOvoGvc", "GqjVuMaOOk", "MdayXVaKkd", "xMyjbizSqW", "ZiRDYCBWxt"],"c_smallint":-366,"c_decimal":4.1923,"c_array_tinyint":[120, 122, 6, 114, 78, 99, -84, 126, -55, -2, -45, -36, 40, 111, -7, 92, 51, 107, 86, -66, 97, 33, 35, -35, -4],"c_array_int":[-1629906086, -483599408, -1259815712, 1671528177, 1771118726, 1622803079, -1385241211, -1178778077, -1693748187, 1889217863, -271271360, -822264144, -840911190, -1735809760, -1965853161, -304836665, -453399150, 2079192783, 1539815103, 1057704772, 1921348039, 1442401143, 450936075, -556841755, 18844796],"c_array_bigint":[-2297031838661577418, -3009576148661832407, -7776065344374076348, 4567313055006333539, -3042332481496600215, 3394691202428580321, -8591318680715389476, 2605431109594829158, 6907206226841599429, 7894687255506472148, -6749698137854631139, -1667760986334483890, -2552531331151010760, 5986060950374098436, -7710371442624733966, 5471456996794237347, 4256168176018499459, -8962974207809025836, -1777799041873469605, -5068968711704087664, -8829170833511306276, -2148235241201315533, -8868908993811447132, -5705738758296065367, -4312951766067076580],"c_array_largeint":[6836619889237559685, 3655624226125851904, 9039504735272846381, -6231771059792863298, -4201323995140555545, 8252820480670887151, -7286231764777288696, -8187513064036078637, -4319096806387902822, -6871424341405142036, 2119865686513412147, -1699696262475999250, -4820156727304378860, 9142858659907355090, 5363378173148579870, 6431542296547475729, -6370269383215221086, 7399011664698325280, 7420265446385462925, -5817680166586540206, -542466553916629016, -1406574062407504562, -2966988905451026514, 9188707240189530408, 2724757421037209743],"c_array_varchar":["bHpMZlFOrOKaGkHFWTjCtDkRigULAzJWigYsFcCVFuQnYEBAIbkdsmMcdXWTSFWXNqHOJgGpSbIRcqVmlpYopKsQjGKavgKHBKSWNTmZwdLJTULRuHTqOvRnTfdBzfJhFawainPbmtTZahohqyiFMxddRiJTmCtxmNttsoBBhoqzDAFtbbOCDwIeVOiRWhjIUGkYjQmMhaMEADwUjrHvvjUugAmdejsYmlwmzpALUHQYozLXhUZVkEnUffjDWnKE", "NcQzMEdQdVAuARzFVNEBVIxSbvkxWvBcFGvokHSIWjnCNXMvkoWdcEsRenjoxqwTlAeMwsMaDPKoOKJxObNZigvmxoFoOeDiPawrrTCUnCpfnLKPcZmElguaZwmjtAqDQviOUTmTKHtHztswuKzLQeHXDUFMqKgRXOfpBWYzfqSkaOEPnQSqxkVefIPzIAWXPoBXiEfpBoaUYoKCziFWMlgWGfLzMzdKOxOAsMedchqvmhAePNlWJEEJlOavEpbj", "DbRMRRiNPaFPPImEwyZkvuSQJNdnaeJMELnCfOmKpJSJSBAfwybbfATEJHYEiTlaoVdNchSpKGuliYjZBTYogOJZRDiNyWnbzrzPLnTjGjZjWktSPmAjiEWGWYWEuDKQFAYmKZYRadFbNhBnCMeTusxoLlxiQtDXXSVunKzGTjLZzpxsCFOpCvbvyndxqxlmKdoCprbXDBBbdncwGEFdjzRfYAMXQAffraOEKdUEUtIEHWsiNcBCTjKsvEAaAsJJ", "ZWwbSyRuvEtqpxakEslRMrNZUqoNMnFcnfpvsxQXVhylTtfrSCcLldFMZiVXxbTomGPArfYLmniUFWzhqCtWVYqcgWaITMWfyHuLQXDxsGBLqsISHvpwvEudsDCgUcTyKsqPbQLsIKZhaRmWtzJxqJOxCZCZoUyYHZulPVXbPFKcDGptMGSpckStcdSxdRTmZTOwRnxrgRVooAwGqfwPKstNjrAbpHHmMXUcwnxppoezrQyXZVuEvbWRgUICQFbR", "TGVRdBmliOnJsTFiRkKCMOtEKUSGezYosCjtADvDUTrZyRKWLJtmMnkKribPzAgElWuRpuhlKCtLoaGtOXjmQGPCxYWMhCoaomJBgIRlKiWqecMIplRXtmtyJkMXoIZoMcCyLEoJmaDpLyBSMxVfaeJHjuclMhfmbCcwfonaIIMpONFSzgkCCtCXUSmyOXUhSUGizjcPxLwYvdtZFMBDyDFuqiulFYuKpUNaZqAKyPqPyEGBdgbORZBggyHYxsZq", "lDCvdnbyjFTPInVWsmLuzUHvpJZYFicZqawXDhUzwkuvLAONQwBrwFBpaiNUsqKfkMOKVAEwqVJKfKKrNieOcRAgeyiZAaMHgPacTuXpXaxFMdPTYJvnBnSLajLrapVJhXvMhoCFKPAkthjospjMaCRmdpwVQpJNFKZHiIbOZvNKdlnUaxFUpCteHChcEiaTofYzuCJnTwnvrcMCNchVyKXOviXsmYmVkjvFUBYvKioCsCNpnxdxjnfJRQObdepW", "jNTqnsKiKMKjJQjoZjSemiEuYIQbMaiHGOgSVMLMFphVVgxRHzOtLKrKTQzVeUPSeJNYxrQApGuzwfMcFzyaaQrwIlOgzvRjsicERllBqibmSXqPhdaevSSbMvYtheiigFbHlzkmlwaQbJgrnjmRFLabLhlUHlIYIaBqUzbSGmhZcMZXFJbxZtkLfggslCuQqZcyvKXyOKIPnpdSmZXJHyKlvLrjMzZADBzTwqsFIixzziIzVPgczelKnZUBNogU", "hershanjvbPtHIbjarbPfRMalwFVRLcTrXTRmaxEgmpSdGtDHsxfzlYULeQFTeRjLSfWLRmALHFJgdtyiPUYOWWhdJEQUqhbsFcdNiSELOkfnAbFyKGfKIuNCXiPZASRApGGSopLRJFbrGPSaZdymbhqxJUqnOrwOhwbmYykUstDrRSBkULzYoitkGLspWFkFayUvXWUttVrCbCHvCFXlUSQgDvwzUuJCPTKbNBlZsIunhraxDbcFqPcPOPRsMkn", "TGLUounQAspQkTGohmTFugpiMjWrQNqJcaaVtKOyQhZIUVSGQlERVWMOrCFlQEpceuGNqpsJPcUYsCxJmLxTWGbqjruvzdNqpvkrAXYiiYOqRhqNQygAbFlzcGnldIhtRNWpHZlYgPQYkWDZYgGqqkBYMGujYdheQMDiFeYjycIOHRnNRLPtnAUAadGrgfYQwrXElZlaDqwruMiUMvZdTzBLrWOqCowrkirHkKmKoepXYCEjmyaKfcqahqwtpzfH", "LpAXvAAeIFiisjbeBWATVeZjNVDXVpPNXBKytpZibsoJZLIMqfPsEzGnFwAdeNllqTpOtaWpIexQDorzsALsUlzdbRlYaIcVppTNMgawOuSAWaRXhLZJSNIppJLbRkeKFRIlZOixqtvFVWmIZtvMChvloRbqOdKydaaRIMdyFpWFiaLPjLPpETPvWcNFMHwtwNVsLLGEfhnXVnsDJCTpUjWdmjvwFGhdfnabbWEUDvKvUNlYWfGilWLzVKpnbnRA", "nSyaIjyKVlEUtYRiDjxJSOKaxxNuEupAKqruQriLbaitGcpxjBPXcdjUCnDpUpWfqztpwMuzqlpeSgZUMiuVgXSwfIGRdepZJGniBTXSfmzhVPlbhbSPynOhamVqmKMHLvmMcZZDzpxRYInLQjqapWaCPuPcmnRohGtQCXvPtSOZTVUYoCqVOlsPSMOOSYotIYBMgQZdJjQLOfHqxyxfqxtubYGwjjvgoLLcWTUQfQDdpQvSoxmBpYyarSOxWSnx", "UDRsLyKgrerPsNbdAPEXLDRtVVXsPdrmQvskHqLAQOElaPjJroLNwljHUdZwULeTEXWCydegnuhBffbKkOiwKwOvePMaRcoScQnvNqefKTJjFdlXEjOWcJUqAafksqAocmHTECBBLTTxcfWOoRvkGblQsehyPFfICIwrsVGfRWxfolAbNgWDrwZAjdpdpdoTlIdThnTmayFNLrWPCSzoeKsrCjxAvncPQycWzzrFENQiMIXBBnujFeQOMBjTjwky", "xoTPcjrixGBxTUBPRDpmWSoeJZkrLwjWMUAZpisHaxvxEelqxnvzgVtYcCdzdEvlTrwWQUPQohNXduvZsNBKPjTSajibNpKROTfDctycZXQmeIwLfCgDUYrgaQZcqkwgKnpSBLijbovFTmyAMLXSuREIzCRjInifqySBWBCATOYTcBcIAHEsVQvVZrAUqKmGhtbSVXSFViIlOlOizEhaYxTiliuIcLUCukSjEjCIMxLLTYfjYvUFnrIwSpCZFqSz", "oIocbJbFdKjUtSdSOoUybWsdqKYuLMPcrWsbmXBhDlKyIbbTnJbAiYdrqjbmYaXjBnQKKqsazlqZUNNqOnOtgKvojadnUIqXlzZOXvxHEPInpBGTFOKuqfITvZGxesxshjcpLGAinilbUdrecGexpVklykMpnasttWLlzyTLnOGteFQqmWTdJSgLswHkaSlBRSneFrNXibvdbUjqzHeTMWKKcIvwapgHToOMKFmYqXGCalQQsCkFrCUXpfMeVXaI", "OzNMHfgiIvHnfMgaAaFnzgMgEyPXRBZbTFDlCsRxETJuaAycwLnWumtwuQghHKeburtEBdIUfHPxAHjxqUqcPHpYwNavoJderTgMpEbZQJYEVWqJrlYfDUxLGxSfdykloLKufXSgJyYTuqCmTTyBfwOuZaUVhdbbIFHJTyvNWCEsMlemAORcJTppEWfubegjvrWssYqFSMaOmQXbGoyLjbSKpiiczpWeWZvCFFOSzFHpZvPquZMfaxDRimPuYaPU", "BVeDcCAyKJXgdkefPXEKnoZSjYUwMENZhGitWPFFdKRjRAmPRYRlrlEywbCBSkRmeOjwIdPVpNxJGiQNqbrZMblbkqiFXZceuuHXDqAiaNfwjgeTMoOFaSEPLNrojrHsUuWmFalJKOQCZwDcXWYnEQTQhvxLHMpsanVfFwtIkDUSovLfVqRUbGofPdzuhzmKkivtnkvKPaYOwxFXvxuSdVWIViUPQHemPcIyQSMqxZUhakhxQUmMcKjyiJFEOweX", "PTGwIYGtAAbnXzrrfAjJNvQIwdPIooPnPwTRodZmHGVxlmrgewmyyqwltmaZapRZLEdjFhkkbkeopdRilvuleRnqsMYLOnwpiJeGmKdLDuKwVvGgOlbDYbDkzKwVpswZpzDGkGbPejrtujpwsNxdvzCrjXVaUnnoDCDqxstUcfPoTHjBCOhXnxMDojUkbKefbJZhUpVahLVvLqYGNFssvRpRBjQeayhsvKQmNMkRHBHpssVyPLuMhbDQOKTNRHlp", "wlTMppVhlRgkGhywdCybVBmFjQRCMhweTxAopwzHyWLkiufmFeRqNOfbCZfgLFBHFcmTcnwtnQEoPCYYQYsHfbLRmQAKYkRnoTNZTNaKTuvuwFCIGFCYruCwCLntpdZqGbOVYHMRNlCqxekChppTfbBEPtUZEBzioigvbwOzRLjMLPHhTXduoIpaOtDIgeLylKvqUppCuoIqMznugdQOLXTmOLhhCGjKhXSJBBrxVCuypYaLvstnpwNEnKdUhFvr", "wWtmflwFhECnRwnUfIncTgjrVhsTqYZtjBiLuxpbcQHGGRVgrbBfpUUjoxwivmZygaxhqDVidkYypwivzYOgycuYZkbdBeurkuPtfBoVCaswaMazJTmOPpgGTgaQtGYHEalDGsQpEHzxmCPlTFXTdYJkCwtFQZamKSXRBtNXMaUbvaJCQzPGCQSqzMWNqKtTaOarNwTyFGEqmLUOpanfztHHHPnzNcnMdKwsUDCCgrixlLYIZRGcYOatCzQfcEen", "xJtdhlcqipGCJiBsMtsknJDOtkwwpSCUKaXdYDGGXMRIyMSdUbfgrnKzWDoLhtjLmkmiIHdtEkZTiXEGdKrazqgalAEvcUzBPTCXdfXGUPcLhEcVsfMyapodSKmTXVZdoZQPkYYhpEqSmDKuLVbfFzaisqHIFeSrsGiTBoOJGtfIhTgDLaAKuFroTAttQlyNgKMRFhISitYENNvRBzWljxJAXxbhMpOcShpJXiLBeRFzYbPVASkAApKRKIpOaOSr", "wAqObBQTSrlzVAjEKWRqGlTJqVpbkYdXsVRhtHEeBoNRqkkjForBOsJpvvRtsZcMIjkQmlsBffKXuLpypZKvMDrepBaLSiWPQwlWJSECZtCXmeFnRmAuxjBUfRbGslKJRaNgqGOKynepWyIHxqIYuxsPOAXIPXdknHJDVqVITBrYatDbApoLJxDYDZsLWaHnszASIIJRxvHrVnvMGeZcOxirhBhJpRYUkIztvVeJRTRRDAddnsjjTjcvfmsXkFta", "OhJPcJdYBIoQwlcAbAIQdBxuBAgedvPoIxQBpDJnRVkpuAUurQOVoeolplziWiripdiomJYxcvUDqZnoQxoaaZVRIUstIgEiXhPJnePgPQZeaeBgrmcounIrKhsyMYMhnJYnrRrKKvmZmwXROPcNWWsAZrwiyMZLHrrnvqbvwwqaarMqTizqQbHWZkKMthcPvjbYsiTRuKNMswlYdrjZqsRKZKQIMajzYqDizUiOTfiZnhHGfUYaZgmFDYCbTsJd", "pkWlHaobrDTVyHcYHYeKMdvYRWSlacIAAnzAGDfxbhDHLZCFszNQsbKOHeygkvvxdmPlfNBzcKpPNXPBhyQdyioZbUDmLDPhYQXzWRhtUcroZFRXsfOgDcpDpMjUmJYpiAxMXEywJMydmDHiwGTADpfIHvLMOGtdcxWYLLVEwCZICliqaPtUegutvjPsuAPqbHPZhNjRgmhkQocBGMVFsSovFrErPPGEWTdWCkKHsYqxfOabYbMkSLDEpbXenHoz", "aywCxPxonTGoBsyQEszQaSsbnTUDMhOsYWxAYkLQlggtSlEcVamzQialXiYmWJdYiYjYenzClrrNMWiAgmoOBhxfwMQkBbMmdXfcMzLvTbwlmgUaTdHKixajNXPoeqWdsrMdWxedPUmYWLhKdioEjiXtkyQIgzbsSFrXsyhiwEDgWYcKrHiHcapSOXrIljEwqDDylDbxRIiuuurIlwferUsXNVRspBlbybwDGKRLkSkmRBXVgUIzCWqbnQnaReei", "ZkjWBLWAuCWutEKSWZaEukRZMQOstdReTGYbUxnqNfqxmyMiMrdcczHYmUyffXPcsuArDLIJMEJVJjOGWBzxUwkZIGrxFoOSNkmwNlRcyhHxIzjiZzRBKyqJYjSdSDsFlckDgNsFGCkuAjVuczXtoyxvcJyboVMbjJNBUPQWlZaNbZQqJQFQuosVOSykfEuuUebvxEWQpBXpPfPdkTolqNlgxMGpywCrQAszVwhdIFNYpUWYasZhOCmsDFPSNXJE"],"c_map_bigint":{"c_map_bigint_1":5938340206810094666, "c_map_bigint_2":4346152265986199249, "c_map_bigint_3":-4879658761447915050, "c_map_bigint_4":-9202845025005375926, "c_map_bigint_5":-1047936320297803670, "c_map_bigint_6":3775939461866962813, "c_map_bigint_7":-704495776041935795, "c_map_bigint_8":1846128855761589012, "c_map_bigint_9":-9057940942817165053, "c_map_bigint_10":4259856496590595435},"c_map_ipv6":{"c_map_ipv6_1":"c022:7ed0:f873:b1dd:5373:25e5:ec15:4342", "c_map_ipv6_2":"559:43cf:9a3a:1f19:472:4511:c98c:e88b", "c_map_ipv6_3":"c5d5:16d8:2027:c59e:99ba:b058:f3a:1b29", "c_map_ipv6_4":"4c80:7f98:b037:af83:af06:c15e:7197:1b36", "c_map_ipv6_5":"29be:1fad:ca89:c9e8:143e:1e79:19e3:5241", "c_map_ipv6_6":"95ac:564:e7d:e2b:8a90:95d1:1e89:66ee", "c_map_ipv6_7":"51e7:d11:5ae4:dea0:f08b:d3a6:fd77:2eb4", "c_map_ipv6_8":"5124:a590:361f:63ad:d1a3:9e9:d084:c435", "c_map_ipv6_9":"d716:54b0:1d6f:34f3:e433:953:fcd5:60c2", "c_map_ipv6_10":"f476:1a45:295b:3621:d28a:bee8:1815:2047"},"c_map_datetime":{"c_map_datetime_1":"2011-12-09 11:35:51", "c_map_datetime_2":"2008-01-01 05:54:10", "c_map_datetime_3":"2004-04-11 03:20:15", "c_map_datetime_4":"2002-07-21 00:30:45", "c_map_datetime_5":"2002-09-23 07:27:43", "c_map_datetime_6":"2000-09-03 13:24:08", "c_map_datetime_7":"2018-12-14 21:09:27", "c_map_datetime_8":"2009-04-22 04:56:48", "c_map_datetime_9":"2003-12-24 08:53:36", "c_map_datetime_10":"2014-11-04 11:59:05"},"c_bigint":-243935046354965577,"c_double":24.392805599434322,"c_map_smallint":{"c_map_smallint_1":10936, "c_map_smallint_2":21337, "c_map_smallint_3":-19526, "c_map_smallint_4":-1258, "c_map_smallint_5":-21882, "c_map_smallint_6":-28686, "c_map_smallint_7":14233, "c_map_smallint_8":15878, "c_map_smallint_9":-26995, "c_map_smallint_10":-21061},"c_map_int":{"c_map_int_1":463283255, "c_map_int_2":-1110888700, "c_map_int_3":-883388274, "c_map_int_4":-1873386598, "c_map_int_5":-2112894282, "c_map_int_6":-1036861335, "c_map_int_7":1502327948, "c_map_int_8":-1548650587, "c_map_int_9":-2062764140, "c_map_int_10":-906852420},"c_map_decimal":{"c_map_decimal_1":51.1050, "c_map_decimal_2":68.1183, "c_map_decimal_3":69.1448, "c_map_decimal_4":71.1507, "c_map_decimal_5":96.0805, "c_map_decimal_6":93.0667, "c_map_decimal_7":14.0158, "c_map_decimal_8":8.0247, "c_map_decimal_9":86.0091, "c_map_decimal_10":54.0533},"c_map_double":{"c_map_double_1":74.32452229398965, "c_map_double_2":51.92009536564087, "c_map_double_3":54.319238793265846, "c_map_double_4":58.0739827152655, "c_map_double_5":14.941721784866669, "c_map_double_6":6.714107195225167, "c_map_double_7":21.160631693747487, "c_map_double_8":25.815729587641364, "c_map_double_9":74.60554231270085, "c_map_double_10":46.44657950578643},"c_map_string":{"c_map_string_1":"jyCyhWfXNLMsiRhKoqxJyWlhHFhxbPaXRBLdVpPnXBSrqeFMhxGbdCunWtziVjLtCHrqttTaKjlDLLuWxSnIcPzsHdJLKIJnsCEcIJoWYWpIfjelCHXmUcKHkAZnzsxKgIlSpaxOOmyKRyVwxIlQgFSKmdbpAmNykaRrPlSLCQWnrtfURbhUebtPvJdArwcbxhacGxPYNTJFAcThpKMvuXJaeKnPLUokKzipPppsFVxKgqlAsNJMTaJBwHTCQdeLPgFTClbAONnKEcGhCdrSfjvXNqXCyOJShqPSBquPSnjoTyoCVnmFxqvXowzlSUxQMzHlosgFDYQnDIoaqzcyjoiigjCgjBPLvRkOaohKZtvVxKXLlaDKbsSOZfOEpWmIhHkOttQFaUFnrOsFpLMgBJLXUqZJXtwwScKfJEZZakPBtUiTczRNiMFFwIDZTlVOVOkaDNdHSUnYhYOwwFINJgnWJHGreGVjwEjsmukwrTHowdoXFtLffBumBeqjLlks", "c_map_string_2":"mHPqtlNdFUeVRXQLnyfGwmyhWwFnkVhQJbySCWtYcsIZPmSaHqUpmJkpXAIEyjnqiqjuAAZkZWvbWQGBkdboIJQmdgsfhITEJehLxHslYvNIwnJpuQSVppixjmLaGCDKorhmLlVJdUGpqrNrhZFVQUJjDRXEuDxbpJztRELrKqgNATmZfNKsItNFBvAFZyVfFqtMKWBXsyQlMrSZLHCmGfaucSrdGdSdpNaqysweGorFUBZPRaEqQgKKHoXdWWfVDQZVqddTVeTnjjWTFVOfILINsvBCzWEqVGpQiLQkUSsgGnyLxxpcKgtXCDSEqZeWtTRfWRPahruezToyYHxRAfESEJVZgwlQvQwMpqRiOMltHDJfpinsWKHDoZXMhqekpnOmXodHpNnnIOGVSFbEgbJHoFgwKaxtuxWGoZhdpoLoGfQpyTsPQXPHsWNRFrnbtMNyUxZPYLGQzndlNnuixuLUIsiEylcHuOqQOWCvtbuQeOEPydPcwTfWECCzGTlx", "c_map_string_3":"BoqpSKNqIyjimlzdaoNyfkiAylRsshaPKOhrMQuFAhurfdSFObVKTMxxZloIoMvSxUMjGEEvXwDuttQFezlByezyXFcEcurHJUqZVuWUXtOJtBzFYxnFYqHaHoUNDHSWphxDwNCKvJBpVfaNUENCVlUaCLlcXOJBGXcHudHvuBOMQulFISlREUZLLzGmXQSqExGqFEARBlyokfYCyTqwkzJrySwQmCYdItULJdYVVYdAPRkrVcFkQiBdIMrIrXixBOcfVfZfIAJHfYrkQyxAOYtJquRvitBpVNPlyuHumdSounmicGAYYtAlGfJRbWaCWaLLeCcLBnZXgYyKZCsFTQbwsyNZkFJIaNwSdYhXydyWmjSwbBTDwjuDCJOnEFvniyNFeRaQBsfNHohXFpmbxneWrXqgAPIzvuphbgDDwMGXUZvVyXfQcFoLEZTuAAfmwRLeeSzVbLOCiYFDtwEJCGbIQUQCItyYnGnLtMRTtAEtbVwnEtdLFpCjGvSgAeEd", "c_map_string_4":"syjkHFMREfrxWFoGyvUmcGiVesLLZHTAwGBytWhmJwFoaCIBjqWGtMQFwGfbqvDNjLiLFeGLSfusGdwsGaSBVyWhIAxAJZgZgZOgQqwWUFNAISbEaRcuUMEnmAeJLRuabynsZLFcouanqjgojMvAcUVRnJLIrsMRMwcrXKvMFKksKqpvWHlyZBTkJCEejmfUojFEYvjeaPtFWTVFqwjWsuKVvlrFFfSvxSXMveKYUvBqKoPcxcEOzjlRloafxafrLNUzDfGPBpRjuEFScmzSDZsrabMQnFwfArfkVtPcxobxNKDLSONFyDRoWqyHVrzmSGQRYznqcrZrBjtUeTtCpZOZZoKryPNyCHNZWaKegaUAEHKVasEHuFJFcUkHscJHqJaRkljDnrzKknAywaGasDlnOxTByirXJbiGPbZTZsQnCMTrDQKjbmqIdgCeZcclDZAMhZTYzRNmmhLLIvCDSQnFSPiVMtcCEIrdpTWbVXoFcVedokPocETsOWNqmGsO", "c_map_string_5":"XLPkLTACQhsIrXwsTZMDXfDuTofPjQwLhJnwwjYQQNSPYRjRzSXYhvyhaeAStvAShWWMBwYAQweaGoxbYdLToTFyphrwVrjjOJlmQlNYawrMxjgFcgZwUEderAyMFMybMxhDsbbQEgsiGgWKdZULIfqWduNcZOrXogfAMkYjUvlNhGGjuLPZLxSZoebxygtCPcXwHThEDDEpZTsIiUepZRoyBmpzQaIxdkYSnzTaPjHoXTdCBddHQuirzRuRxfVZBfuKaWmerOdHkosybhwOttqYhKkfjQxmyxWRaSxlGFglmuvgMzzEDYgnjVncLlYtDUGmqmIYEUEvXRdgFZiZHDfHDkRKcyEQmtdIJvbrTBCFECBkJUlhxPZnbLtsLaqhwQDcQmgBWLywmXxzZMwOQzmSBSFgNIGqMKJAFQHHCPVfGhrkRtVGQBTOSAAmuobUsryMbLPmKkKAagETVCGXBUFoPeFWSFpThYAnwMZBVNEzKgzmWzkJanqbUcGurztz", "c_map_string_6":"frYbOgirdKtQkAitsyqCjmQOuiwxSEgxLitGqnPwZtKjwlptXnWYOEFecFDZBaKlRmBfXqoZiDEcJJbfUpeJGiNllPgGoFJdwkMdVUJYxqUikdZKVLtgWLUvBHyQrcjLQPHxSMbWhUbAWdocPMvGHQTuvrOMAOvhjfYHVnGAzWvnVbcHghBmibGscVghIXIQzSGQTPnBmzcXnTLEHqBvLYXVPrflDwfhBoMlnbAOctrtSKMfqxdwcBvoGVgkpPnAdycxFsSTWdokoGInjdjYLZovDuHlVyDFbRQNQKkBCtwoCFUVElrPKMvDxmgHenAAbjDyjatwMudHxcBTUfoiGXjfRsGGTkNGCdeHSGjFSrcgEEnjXxczKQCYjuiZySXFecEfHKOsiDwxYxoUXqNnFCZHSaGaastLvLVaOWsdfyeowoTBNdOQZBpxRGBwdhLowuZXwWMtYUgjwmtlmLedsSSBOIadVTIapIMqqgqeasjrZtLXxMRIdQIDnUTSXYBn", "c_map_string_7":"boZWMfDwQNSMtcsONdWPGiUCUdMaEdqytniYHuqrbmNNPVGMYZDZKKldshoEKLCQRyynQdqLbyRiUTSZRZJejofIKQzDnBZAOCgBGeltfkyIBqTBodxRAbXmhbaVqeAzjWpjpXogjXyjYuDoceeRkypkVBVGOIkOVMHgeMKdiZDocCFpRdCEwbYANKkEgwKIThDzURuNSvcHceAxhtWJOJtQKMNljfoWCliGpktaKmivCHXmpQiwaePGOnhTPjzvHMrNRGRKSnaYoJxwXApldRkwBtGMeHUCcSAiPorSuvVfnfXnRxYzAfZVjjXHwaafZtiLZKzcuwExZWNMpNthzZzHtTfsswGkbCFysvYVCOTXtIAXKmVXrtYUtzesFoJJdpLDWqwAHgdndtvgIyVAXVFwdGDouOJjvmUaVfAIfsnvlUsHQZaciDETrnFDgOqhDUamWLWgDaPTLKSmyUjYOMbQZGynDSIFhzCEbJAxzrvIIfSyxdpNblUdGgjxPYdm", "c_map_string_8":"mEyolWerTgaSgHAOFqGRqWFxVQUsXwgUApdocBBGNVSshVpDormJmluwtYEMvltAvsTxoeAEREFGGHczlTZLRnxkynmoUpdaxxBVJclPsdwBieOIkMtEKdcOVUzXZmhWwUnqePOMUKPHzDKsGXIDzFjfTZIaDgtZhvfEgvxVbipyFqdIXprwducaAkhumGzhFUIGenRMbOegmGRGZOsthTXpRHHaYBCAfniYfQlazKYxyWzylWqPXYUUGRMfxIlDoKwqRECCnHdTYEtZmLCvEKROAzKoGcjAeehkDcbBfFYonlyCWYAJVetrAstyrHtxKbEaKUwTBisMtIcRhtYvZZVkPUqfgLrHFDnJuHAqIgtqsCRscieHmWdAmzooZPDRpWtaqAWzheiPbvASFQhCkLRLEsdrukIAOZFIVhtQkkNgGlzOKGOBpWSXxwWosLSBSAlIYBdSzXNKrOCZpjPvJXYvAYzuExKBFvFByaunapqCfcSyIOoxBsDzeUApWUJd", "c_map_string_9":"FckQFhXSAvfOLNFvSBtjtQRWMchkpJefNcLwwiFKBTjsREdIGALyOwOgmbmWvfkATbbVqOBgHkRBTBrvIIGKNDkVCzfoSNmKNGfypvovutmZMwyddkUdjnSkIzbOzRPnGPCZEkqxyxoBPOSLcgdnfiQxsOqSufyqRgoJYgQhcxheyDAxhnLoSxzoRvaImXcwnLXXTeUkPaSDAXSzpIfgnGCDKvEPlQDbyKlVpPWkqrNNHikCoXmpVGFhDtRXXuDFwWTNkpPixLVessPyhdiSEhnNdJLqCMhOyYumToeimqVcikVPYGjyKlCMdSMJtoalWWjFAharEuLRpKtDclsyLKHsuaHYQIOHbGjsFXyoVLtyWlbWvhIhAEeiDGPOSoRrTSoPKhSustgWFJPViRNODfPTStDFwpFvvmvavnMCVcXBYSAxpnzfZNZajRqHHlvFknycXjstqUSjdkkfQwXibeqWpsitwxJPUFoLXQSBlkFSgbSkuLFtXUUinYhgxTnn", "c_map_string_10":"yanYIFKonqIxVdZNJpMTmmewApvyXnESDqnKLdMtdxPFPjpxJcSKwJKpPKHDJAavLhNlFBHbwsfCkEDwgQdPNqWfSJeCkVibDwBaMWLUBQwshJZRSfZJAiJccIZdOfsVyogePJlDdvDXORvQMVmoXSqhtrcIdvaiSXkvPGRpWnIIzAkHZAZuDyiyknADUvTVTvGpqLbFVnHXGpvkOSzHCMIdAZGCsBRglxzORLPsOrFUMrXdkaLGSbflmSwmorExoFYHIuebkVNbAHZydGBHIWSJfEYSzwfhbhBBQgFdbjFoApMrhrdMrtfBTCxJIrriCvANCQlOFZublUacFwuRDoaSTBPKQvJGpyRvKoOBbieiOWjrSagOFhMaJpaXqqayxsKuHWrvKtoxYUtzeiBYIBnlxvMzkJzJaaqByawBPsyyKjaGFekEgYMVIhNVuXuUcpijxqPnkzjuBnLPuWkxepRxWCwLKOtiLCwYGxlwPGzrluajtChamKBRyvDIqWEd"},"c_map_date":{"c_map_date_1":"2019-11-07", "c_map_date_2":"2019-06-23", "c_map_date_3":"2018-09-28", "c_map_date_4":"2019-06-03", "c_map_date_5":"2001-07-20", "c_map_date_6":"2004-01-23", "c_map_date_7":"2018-12-05", "c_map_date_8":"2014-03-22", "c_map_date_9":"2008-12-26", "c_map_date_10":"2016-02-17"},"c_varchar":"just","c_string":"PcdXUzdyMvSABnLRFevrredMcWzgUbvtZgVRuWspdSHBraxXFGlpunevivsGIzOBNjVhvqPcQwEOUSiQfYhzEMbqLxCJRLvAaauRdjPOQTYvmhsvkuPFBjsddtscTsvfwyJkcJjyeMCIWrSkzSLfIFORUTqszcFKCMJoLRVRWSiHxzbosuepKVtMtLQaHwWFXVyGCgvtjnOESivJPeawlIqagJwKToZfOBBHjgUjpwKWKxlmGdmPmtJOAZzexrIzKmBUdscNTvCNTRxHpFseuvgeKYeMnWJULAkEKnERLgigXEidOzlpDHLmLuSAwSAaCponSkvrqLhSFgNOnduxGGIJJYVOQalfpzQCuKDiyrwoxPypThnUFnKGVlTzKHbrZtZGWZcyGEGmiEZMvPJJUUzVyAphfBjWZBCMYROvPdqNYKNgUskYUjCBQHPOgWlGpSirqKmtMdXyqiZpQjSlBSRJzVGKXYHpAEeZAdPWNjajwxLQnyDNGuDkpwopbMUQ","c_array_smallint":[26215, -25278, 17676, 28474, -5328, 21748, -13096, -2667, 1210, -21613, 9015, -13419, -11289, -19652, -16000, 32190, -5843, -21088, -20048, -17166, -10907, 19171, 14720, 4844, -495],"c_array_decimal":[24.1929, 34.1343, 66.0824, 9.0845, 98.0283, 0.1919, 98.0949, 1.1311, 12.0108, 73.1401, 25.1312, 24.1248, 44.0428, 26.0223, 98.0526, 1.0120, 51.0003, 65.1363, 86.0022, 52.0246, 98.1477, 50.1046, 39.0908, 75.1513, 31.0569],"c_array_string":["jOgqzAoGnmnnsrPVYancTFDhwAmgNBFmaKVxaiLGPSodAkfxaPzllqGiculkzBgIEzwhQmgllDicKftRYJsRLjLFzJzmxbYfkZHrtuVswathZZkBAdstFbJfbzPEvdUXsQxBtmQhrOGUsIcWNEVIUbZdivUYHNOVWPmppQERWjdWhxgKviUwHzTXKVQdALrpLxxetEYysCFsalsajJcCQqVIoMhxIdrwsaTaIHRhTNlDimvAuhvOZOTvkLUDbZcZFEBFbaeUFkZUKrKSrNAurgFqJzOPDxpGHftxEZpQHRXydumlwnIKOhSPRwKfmrTXhaLmOOPoTHgxQklFBiJOclxTWXYZKuZqYWKxugXnvHlTvNDPpqnCvTsjPCbmOxZFkHHuEHayGrXHUvydVCPPPiRQrdyMcrGwxUIiFcunKVKqHflWZakwmXLbyiBynGwrTRMSHFsqrPmPYCouzYOoHRBbKDgYHqYZwdJOLfaWtUuSPLaSQgJcwsdfXSabWGUp", "FbRbylLOgeACfxpBCrlCyTVzIEvqhxRfNvVelZOhSHKLVnebxGfLulcOoZGBWUkFtipKCUTZRCDtbYePKdavZoKetnxxCTSbrKeTpJnkvAZgIfbBBwqUPKBqfVvJzXpKrCjssAgntgEFwBDTfiCwFUzRSTtBDTbBTMWQZHtaGEicxAhpdoFezhMeHscwnZTvINiLKUGXQvodCdAhIjqdpmaHwDPCfYmZjAgAcxifWPOxmQltKENrmXCctLPNZLLYvkWMrAEGsWtEyZbyUqtgxGnQqWWKFsKlqOZXVYiUByQKILQjAxNSuEuvRptLerNSQTtREewdDCpTItUDjsnRRghPEndPlLBCQicpuWGaupPkrNjfdSirIXhYPZnhhoBmfXYRdXBVSTKuQLlIKaxjlidZKYxyJeUuLqOPyjUcNzztIFdEEriAznrpOfpKhqUNhnZhoHpPdfIyKpLkPcEgVxsVuKTlIvNwqLHduVYMkyIxuEmFKjBvqGVsbjRRgiwr", "OORFfDpOWNszDEblSEWGDJUSUuZuqLyesUVXAwQxZixxoIRfJsuOBaKAmcqKdSsvhfGETDLVDOHbGsrwCMwTsVWQogBnPknVyblXucUjjizpAxdiCDkdrpBizdrjCtKJrupHpodaaHfrFtzHAUArQmGDrAnihAvvcDJBaAituGTWbNVrfXpKtgDurLBAcqIXEVmQkeUIfrfMcsdXPeCzycBMEruwKQjpmWhJAHfFQUKhiRrzyxPyxshssAlcfOKlUyAyTkYpkSUxkflRWOTrFxlegrgoHMxrQBSfTyUxMXgaxKsEODUlKAmkfCrYgdzlCfBbRXyanXLBqFvniHVBgIHWNevQJDgKgjyUcfCwYUeVGnTSvRKjhitGtvUSviBgVGbfNWQWQebhZuReKbMwjvMTedfVplqwRHshyiRBekPcLpnOoyRAaYmgnnZyufzFncuaCvTbPaWzQPwntgnJwtQcKDJfrxKantxSgDaGsutbjAQTTTZTRobKavhJLZBj", "QGtISzYpunNATCKBQLhPEcbuONGBVbVRpNTXKkFDtzFqPCxqRUGaxfeOLPHDGeVWvBSebhYdkyaXCDjSerukQzduhlYxJHkPJievOPNwJsjxCpjMDziHIfWtvpwJKiJHSRFQWVtyrChLVcGOWjqiPWevRheYeQPRoxDWAgnHRkXVETPCTgktSZVdTYYiwKGpvKRcdJSdvvUzJKfPVTkdSwdcpaKUWWxbmDVhSvqvrOikYiQUSRMhHNOyulrNaRMAvVYGcfZHSiKuTFQAiqhWiHwHhoHustQAAgaPVGCAKzAaSyuiAAwZLRqapmBNuxsHQaNGqRFkXkXoVUzfqyshsWCIqmebKWgZIRxozFgHgLPbvoiHLtunFgpUfzUYULwlvbQqqFzOPYcvwmUgwdLDwENxqqZzCyKzXLWPWqUazjCeHFDdYcRvJNHNFAuUDwIoDsNSFGdWqJZavbKNAgdAAYUXeYRUeGekslPAYrjOoRUsLKZbyMwRyLKiflKuhvKC", "MgRHvmnjTAJrbdhByBeqmjPovxPTeuRqucJHISUVCauidgsoZDLoUWurWeIsKUsQMJDNcgtwidaXBwnozaXoiBZrjkqvylfVRenOvGWuwFTWhUzOVcTdxiIVsoQknetBXyqoXMMobaXkFyPqxKwTRkkgukqeSNprDEdDZoRpwwvblQMMtEEZVQBKRbUgFHzPxxYtTbRoCEuCUFjDikyJXTUXOJFBArOikOBbIxbZzoDGViVcQYpEhKqUMQCgnaNeXGyyHcdJAVGyCWwkPmghwezdMTTFYcmzGPGMikbtKryPTFMCknSfSZsbvxizkvfvyyWlEsBvzxnHuvlsKmzMrjBPckkQtqgmGMajEkhapwawJDOfcdUfTSnhklMexcMrpkOfqxYTDPwqPgZlPTsvThSZrGwUWPlDMSmuXaZAdnPORFyhqvcGcSmrjsgZBSBeukvkKkSNWJLveiewsfjzkOWSTTWSBpDQtdBeZAezDdhqYTRdIjNwqDGTeaGFSQrO", "NYJXymSbNmTAjQqpePcASroappfdAGwwXZQnKdqdPwkDoKBqUbmAFChaFvVuSXkbLrhWShhMGpLRWilEUyfOEWCMaOtOUCzIPdTLHrBQxgiJgOSFwarVcejiZKNislSWRsoVBQLIYmANMFfCTyXrRrTwSvoSNAXLkUeaSbIXUIULKaWnhivdUJmtivygJFIUBbXCAwhzbYypEQQluMHuTLGeZJywPYlVykTumILXSOApuucxxZKWebRJNkRyUXqVScDHashnoGYoyMwGCEVGCnYAuAPfMfLRTdXuzsFJwKURIwupkgsOdswyAjgTdiUUWNVFQzUGdKIycCSTZWRSqmvOgujgqttFvvQbKfrJAdbWQNhPoWlIrRfKlwvoOrqTyVhDgixscpcPMKpqCcWLTHetusCJoVejRnlDhdHPVttaqDsPEyoHnmzofiQVztqgkWSRpsNGyZVOsRplXDyEbDrzRXjhAGmdvkrHFJDUldNqszOsXevuBqLPovrIglqs", "dzpdvAfMuGlWsletozsDUPzyYpQcMXkAEsARTlqrLepAuIHYIlQORxAAqRqUSmyRDOIwDntdrrjpqbDnTvzvKRSVMCKGwACYfWnIhFgwXVFqNOFNriTOyMhmUIVPQsFUUCZTXybpQdkGptfCPKWrVwcUmfWsBaKNjRIEEQPlfCLfAfWBFtuddMTopuhwFIDCKezPnfpBjFehYuaEXyWSPrTtyHMWUvcULEVQqbJQeyFlNyJforLEAopEnLUCnRMRnkZxerYOScSeiFrusnrxVCyTWATRQWsRzCelwnlsnfvsvkKXzxrTiCwoMRAyxkTjNuQeShHDIjlNBmwvOJexmKomkfZXYWqpWBJPNSgxZfWsXUGMxBIYywBWflTHAajIZBudQblVXDxnTcPMKudZJPpaFJICSmNumTsTjncdNikrQReNwosAHHViaFhDRuuudMHbEbdekTxoTkezsrFZRGOjduxJJBUSQSNyHkGAlDuZzWBTQMSbQanhfgacpzBx", "EqKuDfhcUJlyvoufVzdKXXkABWzdbGXITjriLaAgJlMWabhouGbyofSwbXKbjmOeJzbzNKBZUVwWocyNimGGsMNpRXQSaYkEfnwuCTjhMBJJeknGaMeQcokqRpgBnVAqcckOBXoGhrqxBdTIsPuhMONHvGZJwZobbMviFLsHcfaqcjtVlffckSYHfKkCfbFxORsSqPabqpNORjnEPLtLGpLveLCFBTAuQJVIjfMEllUIrBoQzWSBNMnFrwRlTUNtFZmMCuQUcNctFqVfQNtiLhBJXpSazdgedtiazeEOXdjLoZYtWDBRntDHqegYfNcujgjvjdblQcsdxOjJhUpErVNntorkDexqqACAYmGDLdsYMuEFUAnBHjvAmOMKgHRhSeOmmEcHDekWzTJGRcxWPOeKhsKefhkTedqrJBqQDFRiptnkdAlzqhFKWgeRtLzbZehNFyXtVgwtjcbiRQUqUYkakgHduNUpuzfxiXHpfVXDMcuYAUTHqppYMvPCJyAu", "cSiqlsbxmOZTSHseafZqGafkgzAlRwGObVNWmOWSYjnSNgbEzsaeJxbqlSRJZCtltsxUTaqRvDClhJEERVuxYPfkWZOzvAITQAoGTgcJCDxZVnstDGXBcIecZYERPDzFhKkjVGMXIWvvMhWGsmicLHNRtDQrFIxcvSboIsnpLxhmEZnQBkkjdTVjXfRlZKMqNGFXibItqJUEsSdqHTXRVRSuqFESFdtMdjiPvIUlHkYUOtKenbhyuzkpALUrlSqCUWhYJhHGtmdQVUhfkovKCewEtEFCmFxlLHBGwIHPspYhTQDqpflyKiesjhsyMVjLpEJcxJPBHSPaWRCyBekGYIHFiwJdSLANPBCgBFxzwrWwNpHlEmkbCBdGJRajUlRMYKyBBmohSwxSbRIcUiSzvsVjTFiainPUNKQssLSAzDJLeOIpXeqMwopZBcZShkDgRWoSanKGlpXApMsFAvZSvRuVkpTWnRocUgplrKMApuKxflISZeIeOslGNMkcyVlO", "yraiTDKYFMZGMptQOVmxqkCPXsAEksGkaYrZRrWOZrnXbOGlgbriPIYzejxlWigahiDXVCJEMbpkNWfDwmTeKaaHOVcbIjzcGYmbpVSXiCbkPmkOHJdxpsHqhchfagAsMSptaIKLYlxIaWPYfUumsvOVVkhTmnuspJmddgWmsaiFEtRxNaezxGLMOXIkUoczZUKhnsAbLXHUOAKOluavPLkXPNQhJKHOtSMMajdzNMcjIbGvNHaPjOlhAcdexJJogtsVLQFemMOQvsGdYYXpMONDbNVacguNSEAKMdjdQhYHWyzbQcaGWTAbcKBSXGnFJmthpnnlxgbahSvNckwfSLBxaXFtRGAUPZpUvbYhwWDNHYcxRSIQGsDwFHOFUwVvjzCbVmsQcklQIhqircvtYaPHqLxFzHLRaZCqukgYWaaaOujiSDsJTRcRcuSnGzNCyQyDgjmyLQMLLtUrVKRIShPejvMYmeuPOlQNYvLOXbYSLKExySkzJBqrymrOnnvB", "GroxMRBJYgmCHiiNItwXjIhbPHeThWBptkOJOEtjkhUdBtknSSdfJqCcCQuUHAyeiFrzIwCSwzrtdNVIgeeTpUiYmiMcpSSdXerLeBnZdcNXHtSdYFSpmNlboXdJOKVxjltzHcbnDecudCrJneTEDpdgNrGNPMmLQXFwRtnNSfakBOPnNcRDwHkWkQVDwTXNVKaEbaTRWHpVaMlpeGVuHnWsthslLTJpCGHCsyLLwdkkcVfubxlgFvxzEeIauwUZPLgZSYyNvqVVtyQVvbJbNnGJIqZnwgEsffeXVRmatmClicVRVDTOTMZIkJYdtjuoURGCLNruhqloEDDQvkiYZevjjVLowqxpPmffGakAbjUKubCYFXquzZKBjmGquumGZcrwipDPsEdgYZDbkcXmjajwvkKqqASbtgnulhgxzVpMuVMujTiiEgmzMhUxZxDpMacyqmbcCdpvxKMicxtRvnvvGiSCGoUVmFgbzzDckLvPCfXIHRBedYwXXGJCuVJk", "NwBZaodKYUXeoaOWHXYEGxKjRfFlFSFKVrTwdxsWrLqNhXDgFyzbZpiVBTamXTgwqMmnfyOyvUimyuXyUxowjMbWepuQgIMtrqycFtItbwyVVyHVUxtPYKNJJPIPsxPQPirbZxKKkpDFJVnETfGszBQBOvnEzmLQTbDpXSpbQduLhRnBPkBWDxqlaSrkAxbNldTGPsvLDTFAVGbhSBqYCzCAuRpXbvvUHsMhMrRPicjwzClLYJHdcSJaUXnIVXqGfwCxCUfNGdEoDIbeLZpdbqmzSqkozDIHmHKFdmQxTErErBCEVIBLxjUtHgwlDwgWITsFGotoXkcjXwXAOqmRpyHaTTzgzmiFrrIPXWYpdVZpIQCQHPxVFWqKubXOWCZoyAWvIkPVbtIxOTmNxBFkJyLIOygIhmHOHmTKmViAGYczUofwveLTGJZHjIMWCXPBYQRaOehVbkXfzbEXJgDdxqwgTeVBbQvHYcKoHDdkPVQytovHoDPGAxKxogMuxxDh", "tDspUFYeUqievwsiKJFAVaMcWVtkgBjcJcbtkSvlIJQkbfxSmeEDREfgTAbmdTMvGmvWsOtYLnBJlcvasMmmGphfDwumOQJsyRfeBhqasjgHlyWuIKPdlmUbUqgNgthoMumVTiWIZRccNRdcNmWMzExWYuvVBqhPeeQjwSKOwmcqYAMklovbjOUPuEAVPNXDXyXzRniEWrVKPvsrBtMQFycaZlLkUHmrWUgSEdimejVeCbmzHknLLjPuQyxOePVwwmLFNJYguWNMEiUBPWdOXnMzAYUZSZHErtsjqBlZGWaIyNkXHqxkxAuXhtinwksHqmvRMpkRqOZzMzuNfxrTTPMCvCvdTYcRysLYgMJjFepdtdDQrhHLVOIrfNPSNZjtFhLgkDSAFIlNnZEURwbsWTgqNbItrlHTEAEMuLLrlgqjMkoCukmPPEjqvwmaVxaXIuwvcsaUVbADquIQsvEGEjlfXguoLnYHtpQNlIeZlieIYUKItrBgWYYuFHlOYFtM", "fbpkKSFflrTcWYsmEdTpJisYRQfCIdMAmUBlMuEiOrSGrpRKEzZbHNhIvkyeUHCVEQRKKiuHVyrAWuFqBPcqCCRfQRvfXrTMJaCCdsmXyirdsAGbpuCvAhdTbuijFAtXUViVZIAwuQCaJlzSUbpqzqJacYGbXwJrCRXpoQWKLiBrZrWPkHVPPkVDMNORmJIZhpriYRsufwdakOkYIaZMOyeIfuNmsIlEGhZyksqAkxCwhNqxNhMjtcFnccQcqDjEYJxVqBFkGNQAlLffKJkXSikzAJbJcAmJeLmyBVPoskLOMXsieqWMImlSiwjLGwBgHSoqFPqjyJsRBEalaqZRGljaEMbQBNrzHGwbiEBvlFZCFSFvHyRWCIlxUZYjjXTykjtsgFrUxXFlgXlvGZmUVIjTHGNgoqMYNSjpxCHLQOvFhSZwPkiWMhFohYNrtWtGCmTYQLBTSwiSEVtRmmTsMPbRObJOpKLZYqaJTjSFSazJsLZKDTDeYIwUBuhDYjaW", "oPFckJaBdHFRDBFFTVkOZvqbeVnqaRodTKsCadWVdJjjiaoOcGrSqVfFJxQfyAryjTKbmeIgiGkFnAaQzQsarLghcedAEmPpBrGyVTDHduBPteHsJHZhIbNsDPmjoqDyNSgKCtyUYneOmiLtBZGQtYGuDbMIhhgoXVifGWYFjZntPzNVbeZazjysmXKFVsjQeQOYosKkCVifgQXyIqRGiVHYqZkrDVyEHFYliLbgbdLwnpmreqcizKeCFQfDCAIGdKohrwucNIiTcALOteVbRKNJbaykOKTTeyQAQKFgSFCerMerMphEzhjrsCygrSdaVCvOiLBzbHxzSdNtBHNucVcAqFQAlSgPYKzrMSVZeUXhzHWrgxjDSUudxGQwHOQXuxpccyXLyxDmaDJVBbNXHuCZbqBixHklIWMkYieAUzpNRXMKArGzhpCTgWKAOguyjMgpWWaTSCZtpoooSgeOQQijeOeQNsrOCbfQnCBIWUjdLEuWCzaheZoxcQjxSoni", "xpdXbLWJyNKfuXErDUZEwpjPJRcHMuydDCrbzepHFpyKokNnGMNOVqADkKeJrRPZqMzVdhZrESkyfPrITRMwXVZrRpsEnOLuMtUGqBHrtUDkskpWSNjMyWdcLhwgBBcqCrtZFBOrcxTRLnrNavKFcrGPCzECKyoFUfBkewFMgjBaiibgCOfsLLaENyPsYtIibgMvAvwHOeWmfThLbeeBWHMCFPVcvZfNWlagrryUSUNfoBDXxNSdIxvFOczpPLImZMnYLzOlQBsBsupqhbIvbkRuGHVTmvmKjrEQyHyZrqszcxBzYTXjPgODmMiEFiPEhoaluYgKLAIrOeBMLkKcouCANdrRIqiDjYULjWAYDUAzVuUHFhqAcoGAApQCRHfQcClzbRgdTpYAAagVAahNlXXVQshGeoVrvRNLllROwVXQpNFedyEXBIdfIlmFSmWWklKbjXGvWAOVddvweEJtqudmNjtaUQHZyvTkFYrADAVrCgXxbhjVBRgVInZlYQok", "iixRKazqbgLbhWvdRJHlQEZsRlxXkoJUgKBoFYAjqQXUSTBIEmcDoQOKjoohRiAPhNmCajtRCfViiEJMepesBdOYpYthIuWKbahwkqCwSRSndBuzySbxpsilkLNRjqlNHkcYHWZhNxkirRfWDjjAHoxFaFlcUPlyafmCxUeJYzJGbuILAoOKuqoETAurjocvWTVCUKuZJPmUQvGUTAJaQSyBHPdMmNPZjdhXTYjjJKNqcleozXJAadVNeqKeFyFOxjyxZoMBLixDJBAZWLXgSetoHiUzlmNIwNbvySCpHYxEClDziUFqafGgsuTUQqbjlCcHdtrBGtblAsqdbMZkfSBbEZaYtNyHBEOwjWopnYhRiTERCzIyOwCgIffcdxBGpHFqybgpobxMhELambvVtgXNdNNVcjcwrtruiHELwZBcrCDuEBMCDxrxHdqTTjVYKCWAvMMqbjsyOXzJXRRbOEcuVGgmRKruibHJUXcKrBiSMAosQgfifmXGNZogoRZp", "ysWFlcBNjqyYrNbDyRLIqFDiBpNzkjOUcKTFeXOrdujOCxZVdQWwvlqQqVYvZVibuNNbXNriKJBVBgZeGCPEyNfZxtjjMBSdxInvnPXCyKKAQmSZaQWTOabhVWfXqnwOyCBVIPDJkxpTQEtAgNEaJtWuHDeJlLBspzUsdmSiwmRkpomEiHRljpauQIokenTQLVoiZWIvqUrirPkXaECgYIaScqMiJNHwTNbSzEcHkKHTPHKPMxgdlLSaoZeAiuWiLZVrifwqBMqHJSnDDchExNUPEzncgYZwXRJFiwXMjczufoQkfGRqZvuoWqNGKsLBmDJvohapjlVwHJltQpTLxuEoMNzHuhACYyuzsyTZmmpmryjqTxCwTHZVSiRSGnEFHdoogHNMXhTqQvNGfMhynTDAHQJdDYYRUqYNaxmVoOfsVtGdFPUVvrRkskXjqrysOYGzZmVoHlpDLZUZUeakFRFczyqqbmTiNxSKYMDvtkCqEBQeYQpKVedJZyeeicml", "btEKIDkOhPUnpTxhwZtBCFtGOGGlmjzzWpRFXGdZOcAsqlmRNONOtLPjzQAGoXcmnDTCxFCbZBAniIVUMnUWPuBIHnbREXmRXpFLBhaammAJhtEYCXArviCNCSOgMOvznRUwmHoPfkRSHMOJzUSUBDIeuCUZddZUibrdMdiwAyqJsYzZDgTQbjmoGDRbhrTswvLDFPinWasTydoXhjhbqEsPlnxdMoiNeltGuLNmNdripYQBbgVqhMLugWbrIFgJQmnBtUHXMKYHhYCLMiCkaxfMOjgkdjOaBsfwbbzCopAdMWpDkDzguZCsrjcWzDmpiZMhplOAsqCJZUodJgefBfATfRELsCOEsRPLwSDFeNUovoovvTgEJaMfGsXKtBJXkKpluuTznlrlPbGMSxOZmJqglHATKsrFgHuFYkrlpJMuOFtvZrLMePTnilzCphNSmlUaCYkteZgyJmrVXhZVqGzPdCzNEoBOHJXKgZQfophmVcjJqYmScXBSPwOvYOcC", "QKFZNQghcBFaEhHqLJzyUQITSAvrvqnFtenoqJcTwehdodxuHzFJByJVRVEOfeGjXwHiEsozQyKOehxeoamBNUTXuiRYOIVTdMjMGoaHAiNwEKlaDMShTGqfihjPsXbAxbhHnBNNCFCMjwDvNJXuOhsmiJvFKSobCpISQaxnOcWgHEHBXCrfpaFacFdFLCmjYsuRZzueyqnwGZSIhwNcrGNJsnBQXFuKatFhnllzUhZszbFtULVDvenfQjIzUXqsKQEaTUObyDHVZYrnTlJyneiRbqdDuWXZjYWDCjrvTWBHFFYoJxPkWXLbAkhlZtBxwZIvFqxIPerYnVHFRmPxUdxXDSRwkVSvlvVOFZnCRAMFGiQVwsjnlPiKvMpFJNjvDPmJGXlejcwYBRuTLdSIAstCeEaQUCBUHJYtGcZIdXjffFDEDOCqaeNfWonHLQhPMuZLIMgGrqMYASOHOxBISgdTFBMxIcYFHwQIizJtdrNqRAZTuNGuQsEYAXxKYdUl", "RUgJxcnFKViRpyboJcgBqnwthrmSqoFTjobMZjJFziUSBqJNBuTqLNQZNJqFGIXNlpQWiQhYGTNGCKOYAvnMkiNnmOxGgVhPwXMuTIpvQfOTnqdPGmiwHjEvMuxYKHaXCRJefuNSgWacXZMBqJGZDJHMqCOTZgjahokZqaYeRpQtPRhpkRnnrmfmDkZnuHVouPjbCRdTHepgjTbsKkdtDBoDTkTAQbmdkuHriwBLmNqehMTNjDElGUDBWCGAteuXvBOKBxgmrlnshvYuwPLCMEOjbYbYXEkfTgYsrzujjWVOLBXDyViuDCBrvEoOzhtSzZnVUJqJmrRxovzCBvoYmZROqwiiYiXFrHVvAbBMRyeOtAsxrMTuCIozhvGriDSXIlpOsJypCoCQOuCYnJszmorgBSKvESSkVqGKlgraHmYoiPPPnFMsIJiTdiEzInHfyytgTnEtStYgwIwEXbTvsnjVaaWhRXpxQfREzKIlqqXtpsJcMCboPnyYpgUshDBl", "zCvdEbAqoFwkccytTDyAoqwcLouneptSxrCzYkLcumIKSWAKjVDeqrRfXBEQjIhbexDTHwbbcUlbSSqXgWAIlEdLiDzzlSZAaGnHkaIbewsBKTZvlIjnyNvNWOKEDNTEAhSqheavpDQTnAZaaIwAwyQTspYqmwwCUrjXnoqxDKKTaOhKMrzsikmgdXaluNQiqWEiOjXiTUbYZaARdONQqfqgDUeoqGaxgjbDDMmiESntggdHVBgSMeGlrtrQcDiPpYhxYRKvjHcNNnZDHiRpeLyIUbdSgicVDeOhROrimgrUkcWdqQnIJWXionYzqijPmJuEBJxJiTyrdYLygchAvfGADxMsusrqSwkGdItRPErRhPVGmfIvhvBFPJeErXwfDJHHXEwzupyRgCEQwQsCRCfzctfovRcBaPQixGJWTGBzMqRTIicyLNmZwNodRMkzlopsFBUpgoPaAeKXdIocXhgtzuiuYCYKMTwffTOrQtzvfpBVDVlBjTsDvUQhDawg", "gMtsUIEghpwBTjmaqFMoAcluTmoeFpSiVQtdhnLlgeTznjWHLtpKBorGcCouDgpCKCEGDaRGZVYLnPqswQPgoDefxOwSJJXpCArfKEXUKvjCDGCRmSZGXsvPYfAWnFbDQnVIDBHWgtOtEjVieueYXTCzRZCfUHjuzwcpFKIZmEPKibUpKWfbpAXLTVdKENMtHUERcYWfbRBNVXhQzsGXIVUTGlYfDlfVGiRavMUdBxxjgPudkWsvOBqGTRXEOsWLteeQpVpjIzDfuVYTCrgGgbAocfTwuvWpuMMKVNvKSACnQSMPPEDBzztnWEgJgLAmCmakokDcOZyLdmnmdFwoLyolonYBMqbVjAydHdWcmuFughlUYNCuPdjULwGIKgYFONMoFhHYHUzcZtRtkfOkspmoIPsDTpqIHNtGuFnHPIqHpasGgcjsoUSqrgWVumsCKfmOgqxHYTClYnkkAfGeUXsshlPvdEpBmioOcBdnWlsSWjKMjYrPqzBMEiLIXcMq", "coITAZmhlPhSIlFgTdhlHpbkHNuNamivwrpShChVKBdzJISgcaGGIbyqoldHBnXdgxbwIzElnWBxIWaLfsauqQsKayrHIzhCCXHTQYWuBxnuAFAmjKxJUpdkYnpJnwpTMvJOwySxRUtfFmuvrBXXvJwtyVUBamKJuNAwAmDumPBDHygMWYKZgfojJgJQrYOExKFenKcXHpJxHGdBmzGmIIWwxykXQbIFUEVJySdljrNLIFIJDujFsOYthbBGvCWHHvVVhSznmLLzEnHeVqqEDDvGOUkKdUzOAFtquDQHwhtCgIMbgGaHGUIMsLzYHvrgOqJFNBhxnXrKItjEgykKLoXiTsxklGNPScjaZsWVRmvpLWORMflDvGkGRXbeUGvaavtAiPIcusGqgaREzbceBXWgDogOMasapyNHBOJJsxTgrDFBdXfcxjhHYVJjgJwNtoUkmTTplTImVMjkvUXDGcZqFctVhPfTBYBxocvmQjSziFoSBaHPoMgKLtGlTKYN", "ZBDHDdUDoNMxSEZlllFPkxALJHfZddXJjfYqTOdmzSntxFLlBPZgjkRWjmHqgwommCdfkFrYJKrdTHoFjnntvgfSbKGUqEzAynycpGTanzxoLFRdwvqTiOrWqMZIQChIVItRYkJWtaXrjprCjQcpIAhDLUpehCGXvoakEVnexkksMGZUqGNaYZIDNwPzRmBWVEtUWkNIVEbZEkxboMkfoCCIlvHmoWehNQKpvfxxTfnHtMNxuIDaGXYSKFNgYiWImspWprTxYiTTpLQntGRrjKoTjfTAgqYJJQrWXgasCoqmGimjVkooYgtZbasYnHNAaMFvEJTHnaMRlMSGghcdsuOoozkwCRwkHbkhqGWZbDjMhprPoNnYdSxcUfemZnGubXuaylQBDMGchDdKmGQgKcFzsDHVkfvBuBKBafPSxXOOsQRVEyShNTChsfumrJzeUepLaiUNbFqddBWmEtQRoqfvutcVeYlBLzGrDpRIUkZtgyPdIuisRnsPWtTyAtTN"],"c_array_datetime":["2018-11-28 20:28:55", "2005-06-21 10:14:03", "2010-06-27 09:20:50", "2009-03-19 12:16:16", "2009-03-07 03:36:45", "2006-03-13 13:48:41", "2015-12-06 09:35:53", "2015-06-03 13:00:01", "2003-01-15 22:00:44", "2001-02-23 04:04:38", "2004-12-13 14:26:02", "2003-08-07 20:03:54", "2000-08-03 16:39:21", "2008-05-20 18:47:06", "2009-11-07 18:30:47", "2013-08-02 09:41:35", "2016-02-13 15:02:05", "2018-07-11 19:20:02", "2006-01-14 00:58:02", "2002-10-15 14:27:42", "2000-11-01 05:16:58", "2000-11-28 03:21:53", "2013-07-04 04:55:43", "2016-04-25 11:46:27", "2008-05-25 17:14:22"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_boolean":0,"c_float":28.129963,"c_ipv6":"4119:8072:6d58:abe3:710d:a53f:50d1:da64","c_map_tinyint":{"c_map_tinyint_1":77, "c_map_tinyint_2":126, "c_map_tinyint_3":-124, "c_map_tinyint_4":-67, "c_map_tinyint_5":119, "c_map_tinyint_6":65, "c_map_tinyint_7":126, "c_map_tinyint_8":49, "c_map_tinyint_9":-11, "c_map_tinyint_10":105},"c_map_float":{"c_map_float_1":40.18732, "c_map_float_2":17.642483, "c_map_float_3":15.953425, "c_map_float_4":85.3449, "c_map_float_5":67.44128, "c_map_float_6":43.685387, "c_map_float_7":36.74847, "c_map_float_8":38.365273, "c_map_float_9":73.16965, "c_map_float_10":32.04316},"c_int":864014382,"c_largeint":3997806082875513042,"c_char":"ggWVLVuokL","c_array_float":[79.40923, 47.359688, 80.454926, 93.23727, 60.18824, 21.942856, 8.868139, 13.698947, 43.687275, 64.758484, 68.33262, 61.58637, 25.307882, 91.45176, 88.239395, 64.40219, 92.088066, 64.01872, 24.066628, 20.44396, 37.79832, 3.6192589, 41.052387, 47.885975, 51.170124],"c_array_date":["2016-10-14", "2015-12-02", "2013-07-09", "2001-12-19", "2006-01-03", "2017-03-01", "2017-02-12", "2017-03-06", "2013-06-16", "2002-12-11", "2000-06-14", "2002-10-16", "2002-07-05", "2014-01-25", "2017-11-04", "2010-06-14", "2003-04-12", "2011-02-04", "2013-09-20", "2011-02-17", "2013-06-22", "2007-05-17", "2000-09-10", "2016-12-11", "2006-09-27"],"c_map_varchar":{"c_map_varchar_1":"DKRkqilXcmHnkeclFYLsAZTLWfvGkkZpMFijrbzdyOvQDoyCBOMeNYCdFVAnJyUEmiWaeqSlAMQBJvUHBVxUfJKtfMAofNyePQijLcYhwTSHUCfHEdPCgUnqtdxxqRYMsKETrPUNpWxjGWfUcKcWTWePlFNwxJDCPDPYpVYrrzfFTQGgobTRvIMLwVShMCskxytACTliElwkwpsZBvpcuyQjvrqhdBZWQHDDUCBvxGgZeDFgxsPlYYXkeFSOJYsL", "c_map_varchar_2":"HmKPpJXJNoTbeownYBwjFSGMdIQLQiPJtnSGEQMKyrWMGiYizWxJbWYOsBTeNvwBiqycCiOFiSMXqaSghaCXEZpzHSOBoSZMlRHZBqJeHtTieEmlbIYDhZTbmlkKCcXtgJRJZMUdWvSkkcAnohURajhmnsdXntIGHIbRLkLDAyMRKRZrskIhPGkviLXzjxNPCMwpcqadadhXwRQsRSlIsvnsPbmJWDWxfgpHDvWsKgwlRPlHNNVJGMFDTZYZYdxm", "c_map_varchar_3":"xAsBQoWPyVlhjITSKuKPOQDBEkUlpUXJBEKsruvHfgCrBITXxqxMnokfCWTkAMYiYdbmkwcgbVxlPZomIZcXJXmsOOcSBlkEpqyLqgqYonEMLYgqROoswaOdOYKbqmEJvvNvThxkZhkXyiUMhwpulRMrQQwWiSpcMQcAGHWAwGhSqUsSKBgXgjYXYKsUEZDywiwVWmdWvLTnskzZaYLylggsYEgcccjjlFPWdHXavlPkjHXKdVSuHqVUZIQQrOAT", "c_map_varchar_4":"xlrpyhZnrgGbdPgwHtLcikmpBjsOpdxPLeskgxNDDxVnjkvojPHTwJBlSvUSXAndMdOukaqONUGQfJGUHkdZVbYTGjOrIlgJaHHyOjhqMoKWUhRDOQbARnCNqWkjrwDXrvRnTNVDDJcuwnGftzZnuFZLgHCYXTrIMbIAqalopGZrWrJUFRkribtVyFWEzvJlCVrEHBPssnhQCvvLUJVODePtwHBrziQCtwesFpicxyngKXCZcVuZGhXfLOJTlftd", "c_map_varchar_5":"aAMJcgHJHhJAXDGIJMptutpmNbaTvIawaDAczvlEeWgqJwsJeDGujgtjgtrTMCUCWxJfporphIiYudnziHziKwKSXvWojxEePiAOwyuGgVfkUgUXKKnqlfUFfJXnOEPHXDmWupNsdbbyeBSfSOdlPIvVQEnttqPpqswJGfXQrZbsYBHjVdqKBSTXwtTZiGPERGDLkyzPEtiHDKsAwFDZwImxbaBBcMdJTvgLHwEnkrCxOPZtqInlNGxoRyozGIuR", "c_map_varchar_6":"lkXKSwxNPAncaHGIEvJlopIXwoWOtvexMutlVYhpcNlAkBFRKjdHiLoupQuSXbJzjTElGNUrZzwmHODizOfjBSdkYTYInrcMtugbMQGXmXYoimYxRpShoBFjXTthEhGCVgbKJTHlrrbYhhXIIPSawuTUGMVQlzvClDylSZGyqkoXYyStaJxBKulNUecwpfkNagDVnOBpjwDWxFAnmhEctlpZOMoDevzjoiqnEOChxwUepFZbMJfisvGopsXKjxmI", "c_map_varchar_7":"VlWyBHLPNWyUPpTTukwcrFGIMcmyUeGNaixkIXowIJunXKkrVfhYfHWJSUVLqgjjTWypnvvobvQwNIGYaZDIRwfgOqkVygyeBCkfIXNWJtCxyGAioUdaPvUtxDNaMKsCcVWMuDryyZWbJqkXIgTQCLUWxSmZwPMSJXUOtiSYYJnJQkRzMIDCNuYgNVyEkQzpwMVPfbPPCnwGtpAaTGAwvpvUowOKKOsQGsnNAdzUqroAmrDEScGOfLRFLoNCvPmI", "c_map_varchar_8":"PEEykLHGwtaIAlIGXNyEetykkqTSAtanzPmPnchxGiXcFdbElROapkDrLEicMdfIbDthKXQEymKMXvsSkViQobOBUuRYHteTPRLXVlyVXWrXMtdkxUmbmTfhmIAKdiGiScpmooXWwYIaYwTawpVOIchPgHLrhVKRAEmfXfoiOOPndzksxdpqCFFVLtGEPuyhWXuHKMIBpqWqhbUJmtZqIpIqrOFbLccwukdPcfGJWSydZxdBTpXrZflJboWoQRAr", "c_map_varchar_9":"EwtwdCjKghCSUakhGmvfTqsLgjewEkzPvCcCUgWFZjOZaxEQZcsQqiAWNtMttYYcqrzofsDbRGHLmxnjbIVpjrZfKotDYhApwscywkzPfyGGqnCrONlbClqrJuduxAXPrtWxWLbTolAshjCBXuWLyJVvOAObFlgDAASdcUPHTuboKvmAvqcXTqqFcrVAipvXCjFOqGIbLbdNGQEIYVVyUflGOtcYZAqyPFiUEhWKqYJBfpqRWIewARTnpfWiiybU", "c_map_varchar_10":"dvdbiPpGPxuVKhdAYWBekQZerXZzRjInXvYHJjtoBgXKolBIjqVUObRdzejrMobMPyJErXawvCbfsdnFztJeOSIsYtedLXDZslILueHCAJVjAqrBASTKCakdwigHnolrjweYnGRiiKvWoJTGTtBpEPWGkVjaOfGryJRrgdAbLnqbUCeznnAucytDeHrShELopWwPMTnpkFkgNLpujRTviOXxAQleLgHsUSgRIZLVjSNGudviHtvkoEHzUyjruuQE"},"c_array_double":[14.600767312786022, 69.0412355185817, 27.72116640394715, 10.994422401786604, 24.141985954884063, 46.520101579557654, 8.729749841652263, 10.496885964211529, 52.157878169954934, 78.5791162178783, 15.811949053017049, 62.425080645060945, 7.471609498494838, 66.44723575671523, 63.75457662574256, 31.756608973889765, 17.109604012082745, 43.15058848562296, 74.36255769410977, 60.26616393610049, 100.90694624216762, 10.610455349072065, 71.71785172969525, 69.64595620179087, 68.5888964950759],"c_array_ipv6":["xwgnKkxBNc", "BleBZyGhlu", "UrnbdmiQwT", "NtLbsjRxxs", "IozTLFGXrV", "GDudytTKZg", "gbkJTRVInE", "sJzrMBPRrt", "JJFkSPxpkx", "rECztCYagt", "LCVqJnIdSX", "lQDyuUDeyT", "JHYuedaduf", "lzfWbdvujg", "PXnEWUSZfg", "iKssyRbfVi", "ToANIBPnwo", "MFBcEmtkza", "VfYsQbxoWm", "nYXEocTkrr", "SvJIiokXCt", "wHgHSQgPqy", "YrykKLJIpp", "VKgQZyfZiP", "csuaYjlvmZ"],"c_map_char":{"c_map_char_1":"uzCYWRdAhR", "c_map_char_2":"yUCyfOYjUw", "c_map_char_3":"EVbLyGMFQa", "c_map_char_4":"aHeOttnlMN", "c_map_char_5":"NGwQMeduXU", "c_map_char_6":"fpqEWwjDSi", "c_map_char_7":"gZhiDRITtr", "c_map_char_8":"WHmUDeODjY", "c_map_char_9":"dJvyllzVfO", "c_map_char_10":"yVRtsDRVmp"},"c_map_ipv4":{"c_map_ipv4_1":"176.183.2.68", "c_map_ipv4_2":"227.47.213.16", "c_map_ipv4_3":"230.199.90.129", "c_map_ipv4_4":"90.196.194.76", "c_map_ipv4_5":"236.171.212.253", "c_map_ipv4_6":"39.74.201.18", "c_map_ipv4_7":"79.208.137.181", "c_map_ipv4_8":"143.211.214.151", "c_map_ipv4_9":"76.148.21.239", "c_map_ipv4_10":"0.77.204.190"},"c_tinyint":51,"c_ipv4":"246.1.158.116","c_array_boolean":[0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1],"c_map_largeint":{"c_map_largeint_1":2680041739125979394, "c_map_largeint_2":-1004782502940202312, "c_map_largeint_3":-2888256803201196606, "c_map_largeint_4":-4489738636810268157, "c_map_largeint_5":8973137292292478580, "c_map_largeint_6":-257352148818042410, "c_map_largeint_7":8444781752826205865, "c_map_largeint_8":-1309360539217557158, "c_map_largeint_9":1359226370547648864, "c_map_largeint_10":3676115543302478618},"c_json":{"currencylong":"Kazakhstan Tenge","appname":"Magentaday","namesuffix":"DDS","adjectiveindefinite":"each","timezoneoffset":3,"emojialias":"free","minecraftweather":"clear","animal":"fish","pronounpersonal":"it","flipacoin":"Heads","connectivecasual":"in that case"} }','{ "c_ipv6":"d72b:475c:8cd1:f198:9c6b:c1fa:cec4:667","c_array_int":[760404658, 1790663608, 107710087, 743941285, 602310062, -1092251456, -632754523, -1347056580, 171029384, -342047580, -530731320, -1086048147, 157862466, -122282671, 560211092, 2054447278, 1234287647, -1700913871, 2085719144, -396306495, 708849311, 643802770, 1265292071, 977860593, 1710716628],"c_array_decimal":[55.0030, 9.0163, 4.0907, 27.0128, 6.1179, 82.1237, 77.1464, 38.1669, 42.0959, 50.0413, 62.0453, 17.1898, 96.0201, 65.0070, 53.1552, 41.0477, 5.0559, 48.1909, 52.1880, 43.1098, 97.0170, 0.1394, 91.1556, 64.0850, 5.0919],"c_array_float":[87.195366, 79.35468, 48.60809, 70.006, 48.455914, 94.692474, 65.96437, 85.19836, 77.22889, 14.2307005, 27.371475, 7.1301494, 56.760826, 4.1774273, 81.32824, 30.89305, 87.189995, 2.3790247, 93.59624, 52.020943, 48.571804, 53.20648, 93.415276, 14.7726, 83.729996],"c_array_datetime":["2018-03-12 10:12:10", "2005-05-07 05:24:39", "2017-07-04 21:53:41", "2014-07-12 03:29:47", "2019-04-10 00:48:03", "2004-05-11 05:12:43", "2019-04-13 15:55:01", "2015-09-20 13:20:54", "2000-05-15 00:21:51", "2011-06-06 01:28:33", "2008-01-18 12:29:15", "2002-02-28 12:46:41", "2012-12-04 04:11:19", "2010-07-18 13:19:38", "2002-03-19 15:51:28", "2019-11-25 08:19:51", "2005-10-23 01:54:02", "2014-01-01 20:36:06", "2012-10-10 06:58:16", "2002-10-09 16:21:31", "2012-12-16 16:08:30", "2003-07-09 19:11:51", "2002-01-22 11:43:05", "2002-08-02 21:01:05", "2010-07-08 07:35:20"],"c_array_ipv4":["tLXPLcJwmU", "LKDkGvarYz", "YipaIXPreC", "qfdefOOgwu", "oUPBYhmejE", "fLNtysvEOD", "VzlaAgJqYl", "JsBUYlJpIA", "IXxiwkvxbD", "USajZhylLI", "OGcVmxliSl", "rsnYKdTreQ", "XRiNFsEwKS", "gMqLAXVjzx", "LxLfBkQJzz", "ReZBcHhgzu", "IEvjihcWde", "BqKVgfgARs", "EKnrUABYGK", "qBDoWMgdgg", "RFNIDUjtdB", "EnkCjaIZLs", "yBBZeYjGok", "SZdqNSyLmR", "LQnviJIwZJ"],"c_tinyint":-87,"c_ipv4":"65.69.195.96","c_array_date":["2002-12-28", "2010-06-25", "2001-09-13", "2003-05-22", "2006-05-27", "2002-10-06", "2017-02-17", "2004-05-25", "2015-08-13", "2012-06-12", "2014-05-19", "2005-04-03", "2000-08-17", "2004-10-17", "2018-09-28", "2002-10-23", "2000-06-01", "2002-12-25", "2019-07-09", "2018-06-17", "2008-07-18", "2009-10-01", "2003-07-27", "2005-08-19", "2000-12-05"],"c_array_boolean":[1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0],"c_array_ipv6":["oELijoOXBL", "LNPExfnrZh", "izwuqYZWHn", "zvCHcnSgSl", "MdSGsGJxKr", "aYHSYghFzj", "oEmclRJeJu", "oLDImMRAdN", "buKRYhPsDo", "MiemWVKmCV", "nJQJazShys", "ZBqUFfpRsC", "CFIWNythyI", "EWhoRgfTpV", "DUlqyZFERg", "tEzzFNYzMX", "skzCbdFrbM", "QpgGTxDJuH", "gNWyrfMahV", "TZCdWmYjyi", "AVCLfghjTN", "txNspAgFvl", "SQusQaSerW", "mQWPldugyV", "KmlieSZVaP"],"c_map_tinyint":{"c_map_tinyint_1":53, "c_map_tinyint_2":46, "c_map_tinyint_3":-109, "c_map_tinyint_4":-5, "c_map_tinyint_5":-81, "c_map_tinyint_6":48, "c_map_tinyint_7":85, "c_map_tinyint_8":8, "c_map_tinyint_9":-22, "c_map_tinyint_10":23},"c_map_float":{"c_map_float_1":77.65362, "c_map_float_2":26.843237, "c_map_float_3":70.09558, "c_map_float_4":41.84946, "c_map_float_5":13.551465, "c_map_float_6":52.202732, "c_map_float_7":59.64732, "c_map_float_8":48.212143, "c_map_float_9":93.21014, "c_map_float_10":99.63524},"c_boolean":1,"c_float":40.067776,"c_varchar":"tell","c_array_string":["gUIKhxoLZNtoKTzKVnyxmIpQGqDFBLxArZOWyAvXqkYPuBrIWfvzpjBjmRIqtfVWYQinQHDZiAbVsRIperHWHHKUUFXUccJDMviDjCQKrdTLHzDKZIWsvLhuTTLXwvYhEzDMzQHIWkcSsTFBaYafXwZauDWRgXWwgBSnUhgIxseppjXciVfKleVkvKwHSSDlcGYdXwTPaMRpLxaYsuCaRtXjKnGJBUkzvYsNUNynqMTiNKkDxxWETQTlEDBCxYdExPXcdukhTUFywyjoyoODevIBrrKyNYZvZxUYfzwZlYxcbOmjBYkkAgUjTRqqcIvWvGgilJsUzKqWkdrHHTGToYIPYYwwXrGMHiPDYwWsLycbatNKLEgLEgABBWLxkIAbHRKTtbqXBzwyeIMLuFpIooWJBuiIrEoGnUmUBaToqWbGGdhKhsvJgmMUaUFFealPbPQVnxpIrvSoaFDpzOSWACsqtaZPmLZnMkpxwNXrzfMfuxhiwjWIJGfCpToWBwur", "wvCpNENbNraVjDVxiHnYTiPbUfEyOtoJjZKAwRHvcxKlFktOpIDzZkrEbYJcWeWkLaTVmtEMEtOILKWXWfCZPJEXqmQYMpxlqXzuYTTLidxTeUDYtaTZzxTnFnbXqoliyFHvvnxeqPhAoYMcBkzNpTLmtBkuPhKSIogmSCmqWLGZXKcIIcfTkNKeBAaMCDyYsvQxkMQYKDEkTWaWtkGOAGUIKPByxycivUJoGUZXdaRqKvCxltivdLaPpmkLhPmOMamOZNrgWvcyVitMzClVsibmxyBTGbKMRJQMFXIpEreXcxDIrCJbmKpOrANdLDaWRIDQDhQUcsZEEXLYZunYbKcPfZkprfEXYyJfbncPzwMbWBPpbhPkeYjzQHTSixIretmehkWGNqjguqaapnmcXjVaaPLaBnYwNuIVyQjLpoeddIftsCvAFtURRzqkZGxJMxbCmNRLMJyLCnWRvUDZXpkuoKMXqmqGOtNjUPMPDuiNVZkcRscXRQoUozOvrurP", "TGjSVOBUUjpFdnhzsbFInyzsQkDcbwgXJuGliZbHNPUBDOWfKhHYGDwTWWIUwskzvkTPEmXOxsIBeFgcBIXnQVGVKFjShhoohJfEvjrOJtvVENtbBatgaTRlfGssGIjVaIcUFMifdPgNwsIauaiZUSzbTiGkQvKaCkCYLvVjtEPEcFaPJTIHxTNnTeYRCVNeSUdMvCgOhGmeBfGrjCtoeaQYDEpZfIDBFfYtKANGAKsnOIxFFxGixfOutySekSdEthezmtqZShqSSYNPGTBPlkoOCjvHsAjRGheVPxElusBgNNTnUHauiwfbDohrFCYIZulOMspMAYpHiQEcmapHwVcYukmHMHDBOiQxpdOtiWiIJTaBdnCwqVqaKmmfAQjEphCzFlujSwACXullcKazpyiCLgDzUXlsEdKvzAYnEIHZOEpGRCodCqvfTEGAtMTsFjfCmYvLgorTgWMMdyLxjsoqpkGlSJLncQSYLBmwkCwmAvHMNIIxqeRoeiawkVIU", "rMeLgyMtAWQjJJtlRRyXqyfhozSuUHbtZHaFpmLTYrDmFdiYaRuSKkigxGJnWgnpBMwYZreGJCezwUSlAaRCjjcxgXQoBGMzcqwPXLfnawiqWNvjkdYlYvoAEDUrUSlkNMJyCDeRdrUDlFgICjezdKEyBPtCuYmUAQcFYZiBZMSxdOUymfeiehEWXIZuYWXIvDKPJPsiJsiNqzACzJoRaWEHRdIDDWjqWmgBzIYOKDZqpvSvNgcFJwlWmqYwRmgPTzZlYFGZSwjvPdSwwasMTotLniVlCboGJAnfJBotHTfWHDatNZgmMlUtOhHcveLfgzJzbdCDsIYWvmpVzZIrAAEUwnawlmJTZMaxfSaZYSCYmiCIOkieVTjeQYBVjmajPJuumUdJftkONgwDxhvkBpgNDVdqvLgVPmfDmTcnKrBdHwcljIHVdxlcRSRWaEPSfISATpwivCxMaHtjBuAyMAFWtEKURICFCOhuYQnMIXOOFXMCHLNpZmpLRLxukgGZ", "tQLtdJCtFHWelixVrRlxabvAukKiDFsIfpSTzYWIJoeaHTIvSJWOihdCDnackwCdpBJfgRxgEuorMmIBnOeiwyeaqZLZtKrlnsMXDWmlhfDHJOJyaqczhVIClIOgcFrYGPTTGyTjBpIfdpWEuhlQsaEYvZOxAVgBSpMuYSenJEEpQtssEXFFpxKecjtnIsskfdGFEYxVyeyocbeiWijRnXbHMhOyDmQpymIaRpCUlPWqPmkLadEwVgBdlaHLiczhAefGZdBJyxfFAhELiadFUdxTJxVFtDtndDHBzgOESxiZtgWSkAxEMmhboVEseFDSBgOfVTysSfVBaABZxAmkXKXhJqQieJohDhlRfdxFXdEyFufKguOZSeALsJDLYUNpihUDIcEMCMyBMDnmDPXueNOUjDYEEQsSZwIUqXwMFAXgRkEHtuxPOxoFRLyBHDySBFntKbzreIGeOQWSCNKiDwBmuvBXyrPhkbwAIhhgcPQmgWZxrtewuCdcXpwzJHsn", "rbrFyRzKFENQqoDTLpbWwMnZskiEfFlcSiggqBeeZxiwEOLgjwTWXGcsfFZouaMoBOkhVQFzCnjpjtysTRgSoeJuolnlWLWKdqTQfWycNpDjlfbTLzPMEAdDlsVVkqMlrzjtPzfJYQLZqcKqRtXrIKIkmtSuAUSUWgcqcOAZouathgqzcidLEZLzXZBCtwkMLLqrlyaZLTbxejPFsRvmErkPjBpGsxnYbdgMbZacVogyGSRkeHFoKcpxKZbTvzphcocRKmwbEpFzQCfRpEjsxzHokMdhwiIJPKuSAPDlwKWBbvoigReLPCLrgJYWVgfUVTbRQSTGkyyoSpuMaSnSqPqPuMLqEBNGYdyzpJunXQZDDphdCsDUeDQLQmzAXcTzZmRgkMIgMOOtHhrcHDFJKexBpGqabjJphiUANGevfPKAxVfYnoPmEMSnOWpLXSTrQZExPXtoxgPBfkdrizZsCXXzViytcDTwtHjpWrjKYtcvJXwwPpPckFOxipitXPDk", "AlApxyauPvLflNpRgaGOMuFmYoHpZeaDVWrnXfKYbqgcUnUBdhUhcTUpLPjPHEQkAUNbJdGQNIChlqqsGNPfsCAkZelOnCQiLusZimqGIeHBKHPvqOegINRcEpPWQXxqyfcDjXNOBgTXmdXrJLCKZPIpWxeJQbuzjRFLEDaVndEqUTOesJflGWJsViIBLmeAOIZdtffIgTxnCYSGNhBHFqrIOgQWxXJzCIxjpIBsmrpgwiUhnDlRYTCVKTlwZSvFpsZANkAQayDOOaxXxjsusSotgrOftjbOnTAoEZWZwBhhdCjRATsvUsCnOogKlBPNpfwJiDZbdJuSbHCESLNGPWBffhFmvAwYYNhmCMpgoJWoHKqlTOdDnorqOeChuVVASrNbaDmEvfQwouKvkKgVqVDMfxwZcuyRgqiKAHEoUKahBmRhkzffoVgdYefCzeIQXjQDmjUVgIHqNAafbbOZoDtpziTdJJYvjWMnXUquNvTadDzBlDGAkpMDxIqIqSUn", "zCMRBLJomzgKVrntZdnxJslKmwOWIKgWmITZJOasiSRNNgwbWSCCNTgHdHKVBPvYAvgXsyJiXOmzdcBmsSlacMEkTmAEkVUxVIihAqzutTICwLvIjvwGcRzlPotmWWHMPwqgtOouHuzJiQNMHPTOgilYDdoNDjCJcuPqryXKoPzdUKoqiiFFqcTkNCdSJasLRZzXCsILKNLwjXMbsoowiTAjfFEpoTrQmbUyjXXWDGoXVPpjgGSbEQvFhoqrFxNQBRRDDgajuMtQoYqxpoSUVTCyCbwbiLXAsOMkQuVhvpMHHbgRcjeOWlEAJIkQahgylPjoKLvhxkyIVgdqKaRBhNEIIPjPnLujGjUZJqkArpJfScmTngivtwhCEKPZRAElGXODFhEJKXtZVsHJwANOupoenniNBPzvdVnPSDwYrgJPAWqzQvKCCnKuEVBvNJXXHFtYsPsDuDoWChHxVCpPvmyTsbDQGUjmHdfoOwRtVFXEFkwfietWVleWAyRvfVpH", "wfwrNrWYXHjHcDYOYFqyluLKbyUTtPRIzRCRzyNkCrBcfNceEdTXZsihZVaTVdyTZiJDwgcBVGZLLrPXKNKvNaREfEuzRtMVfxaWPXsUjsJaKDFbxwnxEybLzRbjtXJKZezmAiDdMqUJXimDqPZYxzaMboRKTbQtSvIzTFvvYOeTmZgNmzDoSEPPJsiQLdFurkOdtIjhOFFPVKfSsowHmApGIraEGoKIWHHdtobydtQcKQurQPwejNmFMBbXdFZLMAwTpZYfFxTIdecELCIAXAHRjIAvbnNBKgxhZwJzukYXipyjnNqgSRfMculoDSuISrtcHCuzkRPtIKnBzXNQAndQuYPDsByZWJzStCCYAUtIjTCHgCdpcHFGLRVjlpWfRwrZaredZTKqGsrWAbBxQugVflJLFmZYlYGWvLAgfzPznbIuNJVCaWvEtnntKSkweWsuljGnAWLmYeFJqytFkEYrwJatwIsemimKCCiYRJoWNgJKYnwlsGEKwZdpATQf", "cXKRXkLEyAevDryWNXgYyEobCChDoocrsPqxBspUZjCQkZAEwzygVwhUTZVGkNNWJvYhXmAaiHRjBuAkVJQdUuQhcCrSyxjWsJSWuYHpsFtLgrCVDRZlFmDwTrhDQDLDKoZmTuiTDXwXWqQlXSEZqlyJeHkWcgrXKGeOboHOWnxbKbUURyNVEXXimvoATWPVtFqlZEzxJSCrmgkusPZnZAjQmHBzjWpbjmvchXfXVfcHOownlxdFiUpZGHeTVTpqSyuGFDGKwCbBcQqAtNFJFpYQkldMphaRadAooinGqgviQHdCCCQikUhigGcqESiiTEtdjJDkWyVnIHpEYMacsYgZQqlmCywGAzxVJjOhrwMgmoqriOrizOazpnFpTgGBNNpSfhFZpipbgLQCEfdttJsvoLeHvPgGteMCkpinUyuEiVblaxfKxQyqwjjdhAqwpkWjXzUYJYULOzxSOUjWlwOOoRCFHCRdDPIAqALQFrUSDzcwkcROUFZfJtYkMJQC", "zUcSEpxPiAKXkhlWmOhpfXiNyAuVVMvtMMALRayXICbhrYKaXXiTuWoFDQigmlvMNUUeZafNKzIaBpGOPSXvumFJITMEqyoAIMLLezncbbtTxKJHVGNlunljYqeiRHDPJyEQpTfjQkLeEWUTdcvTRgRlFIWfjkdWAOowoWBFuLqqoIoFWTlqFbPTjrIpvJKwXOnVCZTkzYAaufTuvAASBIXTJpAZFLdEvfZElWeawQeKPTVQhiYnFZLhxLvTTIgnmTdRpztoeNydwpGnmlXuNnMJtkdrEBEpEuvKwfNDBvHGFrRoUGuKcbqvJunrDTwqozeFTxwKuLBABDMZYrZsJmnrDGVSohpjnbLwXnJlzJnlGizlAkvhehUZQXOxXvIONsvkAewGyJSbFJHsBOBWiYZlOSuPqElmIjHgeRhSAfxMwgqUmtAvszlflQkxnhZjiqqUwlHOwrLrAxvrKCzjKdfiuafLtxVuaPqlsdMtxmMwMSetaTfOpRlUokcslReJ", "PnOVtIcoGNwpeVRDezyAOwjSWxXygNUFChckzGzHlJPfQMrvXfVPSiihBdKSknMeFhJCEMgMKmOYSrIIUhpRvrxhAdWefPLDbytWFeIBUXsnevsfapLeYXguOoqoyImKDFDbckLEkSSrkPVkgqQzamOsPEaLrRnuEvfGxvexAPzZYeOLKnczOclXHRJapuopFxOyUOZgCUAPzIuUSRiQtibaCxmHVutcvwsRvnGamCPyemffnxsUMpNUJyiGbjyzrgKOlVcoockpgfcMNCstRtjfKgQyJxScrKsjIddCzvffvzdmvFaUrprbQLXfEDATIIlbBhnQdJZdNUSsJGwXiTtWANMySdKqRFpgISVULVUEojWCFArqXBXdHdcWzcAXoTbzSTWhRSYQJhQQDYMYgpolXNhQkkbVEYlaZgKlvZQfCHXxMCQhZgTfeFYQxdFiGbnWVByFyMhqnVgZNnZNHVbQBKHlAxfNTNmwhrRQYkxVaOfbPDJfMMgYuudMHgBW", "otDSVItEtLRBfwVWJaiWjyWxpoBMpMMaQeHIiNRCPxDztSbdApVgFxARxUJpWFkfCHxjxnTZiuSfIoSxjgwShUKGHJEVmdKrIawhgPVGjMwHvPVcTBUqKTWiWZOqRvvqSCTgOhNGHNbBDRASZskybZYumyMHmAlUSVWkTMzijlxQGaqfHjYhXlgrwiIQSTqrXoSwDkooKVURkcZYfsEkaLJNVWAGcjIPwMryBtzbzWlOEmtwyMCfplxfJzgrpheWKxUATDOdbiypVVdKzhRbljydYswHvjUqFagsLNXTGqblznpEUWZddGRSUvLCYuwaIMlAValFMyCPccPijeryyXBngegXRNJLwaKdIgYHielgTfhHeBctrgjwNIamCyuCQWhwiWVAqVAyejMppLBfdybmACuVQllRXKEyFhLeyNbxZkMtSQbfctPfVUAMgTjXZgQTppWryYlPpbMiTYNfEOClXjLAKwwQEJjZAHkjFgYqawGCNBVyfcJIldnZRiPx", "QdtQYBKRJAkbtPvNwVjDbpFacQPLVsRkdCChwSseDGvkisIMFucsYirsZrlFpBmSUGeobXKDZkfPdBqSeXTDjqncClHbMZQRVzKegjKsSKbmnjFSirTEBOtuewPRhLeyzzylpjEbxCQgkSXXRyfTTnledPAStJHgjnlFULvPhUZNncoHcXSaAgEIUXxXsjfaDVHjMXQEltBHwekhWMGRYodgmSMbldwHVQXlcyKPHMdFvTilbbARDutlCSOaVtiLISMKzQQzCcOMDwvGdOFNPbRjzXNJOzFsawDFTAUQDGLZCPJXyBuuZEGoPIcWDUxOrfLysDtoNOgrnIAWlbCIfwPIUrmlNeIlUAlHxaGAJJHTSlWlOHjTttlajFmnlmqIpDNFVdoLcmfnCHpUySNcYdSczQTnjwTZZWMLSfxnOHwfJXWdAGLdWLYMOpBexOpLeiNThNYDBNMkCpzHhhcWIjAbFgYENfsffiqowxxNpEFgmhIMxIdvRgJJaWrOnvMP", "tciUhbKhHgrvKhYHlSupnkVAfLqgbtIrAvXLuZCrZQiCwbOAGoDoCiAnpSCDGmLHKDegjexQDLzTLQhTWVFFhYvRFnTggBtWrQTmkJicfVigClBGAdOlbbokCiQQamrOeSNcVtGtyFjbWwGbaphMfwXSjISlAubXtaDWzwksmDGCOxucVUxFkLEHscqSGozfgPlcUXCJCenWqjpcJwikETryrFxcGBayafjDstMbkUYUedPIKBHHoOmRhCdBVzarCcYLlTfBYvhYbMZcXKbFDcWarsgWLQXsWiYQMSzyRQliAGHPXfNrBsOOcoHvOjPGksRBsIOWuLwdEHmmVEwkivBpPrgIkrPaFaQIjTHUWQvtLjlSXfNUmVVZziJmLxwLRtECguWcoXLTSwPGgrZCZMymzYByMfSFSQzpjbgfwDGpDoUGCJuYGzdeNsuEhFbtcxtagYoHgsLmXZUwHcADYPtOztlQlBwOapTFVBuVtXXssxwYNijLdtZhllDZHriz", "wzakZRBanEqygoUhnhwzHWdFghZJhpPSpKFLWvzhaXISIKdoXUGfOznWNvcGxjaBggqhaEJWeBfmJiLJYYCSMjCCxGXhAMNhSoSsjBYLfUYrQtApXeJakojnWTkorSJuNaaalzPgVKfWYYWiVttdjfqpnRPDQOFwQQwtZKNHjPSmGkkmSxejLJFpQBcFNzTDhQrrYPoFZyPueqwdMGByqgrmAmDvrDSChNcTugRJcGHbNZQFSDYsOwcNWcOdehrtpvHzcSBBxOOsIBzIOzYUeQGFSVUDMAkYaUKQJxZlBNRfkBtreNitEMUmAhEpVbEJwuVcKQumQGVNTHQlRDMljgHgYTIPqKJJsLiTUtSMHGzQuEMRGguRLbDRvFKeKrRqjjEsCoWCermtfFOkRTpbFQZSThtZRpdsGfSaJsOsRIMwVfeKgRluQhOIhbPjRPSdVoVoUtTUsklUhUohVvOXXHNAhXEuKRtuXajoWfMiXmpqbrUfuclXiAQhNKMCkzCN", "OQxJXtJAZXObqCowzoMiDHarFxvHbalcNBaDcAWXnsGbibPJSPHJenmGuDHKIyiSifCrBpQYgFICgydgZAriFYiVeOqXmWNgVqLTWOGfLOmgCxOHRJBtKJnNnOKeBaCJSvVJMbliQLLOYvICYsfBeAooALGWNtcBcmECCTXDsvOXZtOFjKdLIpaaELYwZiErYCLpdioLQvMMSainGjeSlnbGLiALOuFfugdgsxjbizhWFxgbErzMDtvsFLFMtgUIXIzVvqeOhZkjUMHmaJSeYihnFyxNLAjiNxInDFJfaSKieQJtLwLedoQEokepLDOBCkIydFyBkOiPtxIQuKBIcauAswthoCdHXpsgltfcCCrHNXpSDLyNqvjuQCzqCkynQLnMfsoLYvMVHRBocQTdHLOofDMGZAzSAukpFdgpJoNScyWAvpncloGAUcSBUhpbiGwBFwnATJvIVYHElAfhFKvkBmvhMTMhidkRabqPiVNbTQcLEksWDSAWbepbzJxA", "wRAzzUEDoWRirzAxvDJBbLsnqGVadgdBolowGujyjkTnZyWuFLmEoiNFYdlljnhNKDezQroWSBxRNxwHuAmyyuTCMJjTUfHWFvVdZRogpUVAAfNhxXCuSdaXRjuYsyxccDgCzrJRVrhybgsOjTKeAcAhtwlgHjjautVkdxELlWOEGIYALhjvxQocbcRbWHBCiIhClmcmjDhYOmzIZkIGMKwBsJKjtTReFVyQaWlrQSDpdgMXqiRqxKMACFEWdZboHZCbHaBIRJZyFpzBwSOYZRCPmAikKSlIXtRVBMPXhLphXZmKVncPRUxNQLoQjZXTsmmLNKorcfjKwqPyZWtVZpMQWluRuZWtJMTShBbMrkoDfRbJNIktWWUeuavqVngrRvCVkgQmYZVgWqKUNGqiRBbEXwRfDDiAuwOSvisExhQuMGQHttuEntFooHnJqsQCFSeYcERyAfkDPPeXlAXqwZrjrOvxnTvhIlVJUnWEhCvdhPPOwPixKnDRXTvTOjkF", "NeRvrRMfAfrPLPsfbLAsiloXTHIiWfTrTjVBXMSVbyjkQYsGQCGvzfDJGVxbNeBEgJXHecGcFuanyWoUWYBWbAIemkPMpYuhGWRVxROjSocGflsSJuEShsKkEKRFcWSXOfxUVMvYVPzLMYoiPTHTHXNSWdAWEgstrRGGxhpduChAPHLFVmpKuwcdhigDHdeaeExjXSgyypdhczLBwiYlTjSiVChdBCzRNYpaphMCZPDHwsXumridlcDxyaqjqqARvbeporyJSRcoMIGZmvIdVAWvKdrlNBnCXdlgToqYcUQkSsxImwssUNqEVwCMSXtQhCgGIFKgohPibrCJCuZemJgluSKOUlIpirdfDwKpoGofVhdpoQvuNKKaGEbJwcGZeVxjLDhrWkZpfEJwvuctKWKvxGkWwrgyQizxoCNQDJSbbdNXvFdFBacaIldPvTpKPJDyRfmYtpuZYXiajdavoGNSWKlcKLESJclXVfPIkJziZPeGiDxiBvMcavIMgIMB", "WkAmJKwxleLzZaRFQOysdrBBDiasQyFrvSKtBFgQKPJYPfFxooczXfDYRvtKcJMFXEQiqEHQNQrPfaSdVJvTlVXqzzEmFUMUbcPvORaQDQSJqQHyJMUfEfdbQMefEdtghQzeJdewIbfBJcEfBtKPlHFffulSkVyZgyTCNqzCxZPHwCdlNzzhXHvuFoOXGTfJgWvzOqJLSKixRIcNIhFZUfqnZPKLjkhQzTUecEnhRLfMpNloMxKKuuWLLzNhNOsWpQgYDlrpQLeOIYOZWHYwQxongoBJpaLiDuhpsNIGijuQcpqGhKrAQRrRjRCzdqAfeMHwGQnBhjCyxCKOxlFmXDGjUunpRCidwwRnkqHJlZvBwmSBNTOxZbXncJrXeglDdAKYkgeWhxKXTpEqtpyyyLOiUoCkZGLOZBXdERhqSTteBvRlXgGBeYiwjkmNkjUCUrVnouqkaDPDaDGZaCzgnbYvtujPXUBYGuphFJyXwnIgsTCdheAFOdsKciDTjDiX", "ibZYrrUGvINurdqbPOddncKQFDvsKbhkXrNVChGEWASGJkVxCURkWmrXvELYsHNPoUdJzGdiqjWxmSeUFmcRaOdGKujtSRkkwUWaHrgYdHWQShCtBrUFTMHVtjZMswVADkiQfulQCyHGdTRdQxNsIXVdWSsUGJhHGLqVaGhXBPZCxcyemCZBydvYsTPNMdXHFdhdgyAQvRjfhNNCcDxlnVFpyDogcFvarzWuPEITZqjoEGixKYBGlofcQnRJusnGnIoqvQGiXdDOqjyOsvFbqWlbpoTVKekCdsjRdgyBapfMskFhDqLORdSUlTZWZRKmfIemCKorUIEzkPYRqgHPMKYFysTeGaYIxjvINzJWNnMVkOMnTWivAmoMyVcXpBXAHoMUysMNunkyLOfdhoEiuEKBJfsfwXjrCDQhiiaGQojxZRzcokvJXRsEnSPFeaesMzvWmYFSInYUeJfJwEFBHYkEWdHRnAZYaCPoRMJsZGBudqxyrCTcbbCQzeiAMGdY", "HXJsVElVnMIBweTTyaWoXVyHHruCnFNmqhgKfJUUwPJcCPSCJBPRJWiFbVqGCPfkOKTMPieXKfPnDmYGLNGLZnJyYnngdpaiuYqyeGxWhsbKtUvuLhHVqSiOKFGRupskPMJeVbHWIPHAXPGGwDFGMTolbJwTyzZrinhDooMGezFYSpViFDPMPUlCJxQGwLcGTLmLItcyBpMXSWnIABXixutTXIqFbyFGVRyDyxcQfAIoRJogkedDgaOcghtJbJlNkPaJXaHWHBDpcYQDqkSnDgWdfHBKzIkTUZYjtlOUfEVHDsGXScBqbNRprPnkigZPLKREUOXnkCfiunGLfKvYqHTaaHopoHyHYEOseYsRBKbfrXiErogszcoSnLRfZjxaoezUjrxHvMNpchPCkCUbgPqCJZnujnSkIDVtVbFnwtIMzVaEeMdOYpZyyhmlVwjZEuTEJDuFHksYogMhASCqRGWLHIkHqUnpxDnKtRHmhIFjviiLaZRhSTOKfBOdTAbD", "MYkBLFHlDLJxLTpJfatBrWqTVZtADkDOLHuBZNQCKRghPswMikUjHsvtNCBHogTlumPzDHFjvODKnfjWyXteHbdZunGQGeDdaBbUJpcRfNOhSNIxfwBlXsavKozXdNCvJSgRoGalnalXwvJHfYpYwJvmzUXJWReBULxhUZpoTeMtXiTpwepLNDxMaWzloeZCAZAOLbjEZzQkwhYzqINptGZqfIVJmPHkDfITENONxxThprAdNaiewAOllMkiUgzjLjSzfyTwTTWawChYPcnvLJpPtAgSBEqECZURBWhblcOqZalwJLNCrGtaHKgxbgnEkYFvZzomBDuysGPMiXqVuhppmgRiTjIQnhpmtMEXHzBOARwiTTLoylxezmCPeVDRNuiIYTUCeveKeNIsvolhHQrrmkfyJkPoZAZWHQWCAFPLIrMZqSwleqsHmBrgqhpTziaJPjOkwbYxijYUyBiESoQaiRBynWhwPSpXCIrYhAcCaGzSDuCOxsqzQgWlUxLk", "DrvxKzNnoktqrNmkRizgqaBCHVfArHOVlwCwSyASxwhRQrIWohhhHJUtjTUGGLsuZnzfGFzUfvULozSTIkGCdTvxoxjqpeDbTBPkqAEicJqlZVsGYwTpsSGwSkgltipsqmNUVQcdCfpmoIiheKWGYtNnzjmPgzfDmmcHxMxmlhlfNYJYJiYUmvHkumpsPUUtksoHWzkfacQRCZGoRtyjgVnewmBxmJHJmtgArghJFroFcwnVcsEAgwjXmuEfChrHdXZNNXJGhKxhBzfEzmxxODhWYGXwtqXQiQlkSySlLLqVQUXmfpgumatnInclGAWwZJhJzLzbsqSVwJqTJRZKrVQzygKmnAIIvPQXnPEItnzhqAndrUhgHirVkTJBVEunTFRHAftTuphupbYXAbKxaUbDcGkujtSDrqApuzSmsOcrRmUZDTqLcxwgESrxrnSjestuiloioyeJETNZfzGIdQZUGPTKhtlBgCNVkGyqgwLFPausgOXqnPOZYXHlsQxw", "CzUlujSWGGeDkmIuOUlftsXpGivKcJrQawibruvtuVTUFVRnSlmGOvKQCLywnlQEtAGeRMPTPnfgNHTVfDCIWvIYhvCmleElSRabRoMOaDkCOkTwaYMtcuRdqHHsDnouXrXzlgRjRdkMZnUxvOiWJxKIOcMaTIZHiUPBVNUyjlYLEQpPsFIhRqiTGSkjQvdkIdOUfmHQwZLPTxEfCzhcnIsBOPHsojaNBYAdMbBJkCsqLslLaZcUUHNMGTRNFtJrSeiLxopjLfQtBRygvLoMZlnGUvFCyqDNpufdVKtFCWjJsyTywHWUKFGmUMquOZqzPhZXUSmDOacUspPdntjaAhpgRlCQXjSerHpFuYFEmdCLhiCmoesReXFMYzIgsQqlbSDBMBrQYYsuavVLuOsuznNtFuTBUEKJKPVIblawrbITpZECJYCfktVHJBZcSlBJHAGdRgpdGmrgcWwaDxtWowPtHNCUBxNlmebuFgbBjAKCuXQJHWBQtBVPKiLqyRSd"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-26865, "c_map_smallint_2":6473, "c_map_smallint_3":2997, "c_map_smallint_4":18457, "c_map_smallint_5":25663, "c_map_smallint_6":23289, "c_map_smallint_7":-25878, "c_map_smallint_8":-10434, "c_map_smallint_9":-24002, "c_map_smallint_10":-26654},"c_map_int":{"c_map_int_1":-21698123, "c_map_int_2":-868566382, "c_map_int_3":274053570, "c_map_int_4":-261149721, "c_map_int_5":681747447, "c_map_int_6":522023065, "c_map_int_7":-956197891, "c_map_int_8":1776009889, "c_map_int_9":852550081, "c_map_int_10":424114728},"c_map_bigint":{"c_map_bigint_1":6128882007339601531, "c_map_bigint_2":-8856885133434325927, "c_map_bigint_3":388232207721576169, "c_map_bigint_4":5369832249631852435, "c_map_bigint_5":-9217323170058828625, "c_map_bigint_6":-6782562530459234857, "c_map_bigint_7":-721488084996773443, "c_map_bigint_8":4893947234390901555, "c_map_bigint_9":8384142950267320093, "c_map_bigint_10":8395391227270214932},"c_smallint":18228,"c_bigint":-8396699005325801007,"c_array_tinyint":[52, 105, -24, 35, -29, -42, 126, -117, 5, -33, -125, 31, -11, -34, 55, 30, 5, 18, -77, -102, -113, -86, 52, -15, 43],"c_map_date":{"c_map_date_1":"2004-03-09", "c_map_date_2":"2008-03-28", "c_map_date_3":"2005-05-02", "c_map_date_4":"2013-10-12", "c_map_date_5":"2015-06-12", "c_map_date_6":"2003-06-15", "c_map_date_7":"2012-11-25", "c_map_date_8":"2002-09-08", "c_map_date_9":"2003-09-17", "c_map_date_10":"2011-07-27"},"c_array_bigint":[9093671326378831741, 620235963537640012, -5541892099927851253, -442295600312094048, 4468678002693096741, 8326384866838061200, -6870674803355004161, -6147462935978387326, 5525916819363047966, 8401081329478351271, 45246065060884711, -7662426866195005049, -8277737248458976820, -10676281199641391, -6866640971288705122, -8539090648384387543, -8331715181869370268, -2150165568239610361, 1538077123278608942, 4514239911314544031, 9118492244631637422, -80694335989037527, 8139690056268916942, 6279111800959737400, 8050368446885245053],"c_array_double":[80.19027954181163, 76.17008382815682, 70.85666014161671, 29.266731937482614, 33.22520377896122, 60.187184063537764, 29.962507338908427, 73.84498168658037, 46.602127876021044, 50.106656093270004, 56.00052805457042, 87.41320138307712, 93.69934315997024, 5.915273715259255, 44.12896505399302, 20.28737037541138, 74.85413831962967, 74.21898464874525, 31.359326003462154, 97.98407986311702, 10.381677140210716, 37.26658356222672, 68.04741441070962, 14.690102896168685, 71.13174039964177],"c_array_char":["JXyrhVEInp", "flmqVTtxHB", "cHLGIfDRLh", "jsNibNyyqJ", "UZyfbKYPfZ", "yMTjRUtpfH", "iRjjhXCMZH", "GRPopVKgAN", "ABmTyxdall", "CRiyFIujck", "pTVHrqKRSC", "AHXiJIDgHY", "YlNAVCgest", "mGdtNbLLQP", "PfapUfdmvA", "GgLYtKfvxo", "nTfDkLksrU", "vYzQYAywbS", "QLktiFZsAW", "oseEuGkCzr", "aFkUxKzUdm", "GJxEfAgGJy", "RzWnRyZGlk", "eOPwcEBiQD", "FGZFhLHWOK"],"c_array_varchar":["jZPusPMSdvXqwOTSDLkSXWMBTbOgXALiVgUTFCeRAqWZImZvFqxmWYXLJQQsremcPWIkOrBsFCRAnYEEeFpjFclXtKSpYmMTjOlwvGlPQuPnOmexfJSxJiYgGgmfxnpnhlmYUkIoKhvHyONOuTLoxbMSMtNNtEqsGAkGXRZQMnBSvBszRQnnvTorvclvAqxtYQiYtLdFYoyigBYJYKOfYTDaiIoyHEvnDVCRkPjsWOYdQggbBBerMtnepaxfQAkt", "hMEwxiVYaMfRIYJnFqNFrvQqLcbcdcsJCFBrzDkLRdntTRIohxOiyspcNACzysvrwBPbjiXNoHRWZAUxOUcfONBZzgegtFXMARvmqctjFdUlAkMxvhJXnQuLReMZDdmFNRezpMgewZgFqHNfBVKqVKiTyGtVlNCCpccBeVAFxZEnTQPYwSCJHOSiEFEMPYQOGtvACfmoXAeXlPgJwxCfgvfUOQQuLKkPwILRTWpGaCKPHbKtFtZOnFAswwhYxeac", "tVnBQbpedEYKlQOofGmlyfkaoLqGzwsWyStoiPkkftgXlySQZSNiClcjMVfSgwdgTLpCZLrXASHmNLMnZQScupJrZngARbpjAagwejJoVCLKvcWkOfuIAHbFMeVOEsYYnyVlbzqnGEnzjxGPeSCKxhpUnoenhJzkfivIKBixGjiXPLLQsuamoRUOnuNTcGHUaVxyfNBSpHEIqXRbmAzZPXDDlPheBxUTsfXTKncpxQunzeanRgqyJPwlYQhzvzvp", "jhSWpVeWwSwPTCvzkyeXMxtCRAdGAmonDYLnEZacYDGqAycZfGKKqpcnNuYbFjtKVQncVTzcMMdGlioYuvBMxKDfdkHZEPvbhIletrIcLbTIBjzwVYhbIAqQvOojrUBykonNBAPArexQgtltyudbzaEkkkGtnFJStHXibPECGyAoWxAYjizKBuxCPJztITvHEPlrQAsVnBfJUqElZFkvmsHHieaUZJMjHtnYFmYbotLLbCgmJscDzzqLVuupikzp", "QIxulZiTZikmASSJnRrjzJztZibSMqspglEVDRDhPmwdmiJaSGordJhqRunoCLKNvohIFyIgIDBsAUyAxPgePlnObfShOCpEIpdKDxXkgSfoCGwnmIUMtSovoOPBLOhzpRIZDWpFTUTFrEnTNiEUKXKfJTfqwQqrgrYgoUtzAkcguZvgIjhnEeDXAzEjAklEkjrvgYACqmQwqXclBRQwnoTquycediQmBPwNlknSphZUckLfmDEwFZAjvGhUKqZo", "DgdxMUHDIhonsyCfeXbSCawCGFTdPoZKkNaXTWRvHxuoGqUEXTooGnPcUCesdwcmBCWNnqSHvfYuHBTtglWknHKqgBOyohGieSDFYJyuVlyLFHGRQwbwmFZWzHGsQFRKaUzGJUkVpMjmMHhhGugkhLVMVkZoSgzubGjGWBdvhDSHnnqPlkJmptzwcskaMlibpPpJfHXIQRtXpeucDlQvhqjKNylYaRtrekIbioKMzjkjiZZQiOdTcIpPEnkjoZOI", "uPpihXWInzDnvCoeLGLnGmJrAwyRxlhRBHBuvGZdeKbJieksljyCPcIWHYhDVmtwPTTdpifuzevzFsRwGwMdXcVGWpqVAqFCpTfWaGEcoIKzYaBUkUTrsRUgdZRAPNKxoPWBExMgcuXYHmoKcEMtObvFBNSSsbDfQlickwCFLEVixCLIHgqEYnbZwPKgMXuyOCDdXelcEdxjCbwFbuKUtqWXWmizGiBRsPpgdPfhTnsSrRpYgraSTuVOHPvYjScJ", "YyWEcgnhbHyXSwrXWcGbWpxeTYReEGCBVTPIXEuzJLACAnYKwJCUaKvNZbFACTwPpyVTrSUIaqWcxWQPGrvYubvEbpOGKCaYXGPIHqgPsvnFpKOdkXpYEoBModLwhoGEXpPvlQBodlGKyZvyWIqJCkdMOQOvvaTxLnxzBxhoojnbyprUYNGJcEeGtofSGYydRWTPjkQsYhJoHegJXsFJziYxdgNFRtxxBdFgNeJBxkiUUzdbNnWVKLNvVQQoekMy", "OhivVMPxBzuitfIvBIhxXCorJSURANgElCiGYZuXjEUpOcXDpVjMifomtWcPHVCrdYOdvRiBoBKKKxdxuRDWJiPbOGWSGIVRaglEefEDWdwrsMGfvwjBYzNgqvHescFFjXEQZYOpQOoGeRLmDSuUwQkmJQBsqFbDMqcpfhHyGqlBiyUNSmFdPNolKMwzujNoRDQIjtnnwhXumLCMxUpUCTCHFaQqIWWpFGkeXjrFjVJnkmQkodNqUFALDUuYjrlK", "wHKpwNeJdKPPnaCjbsgvlnFMeAWDUmBxLlnfrIQuXVmaZwrRMWbWPMInOghbmRYiGOZxLDeQsIWCQVfSYQdvJsgXwXIzDLwZVHFsItdGTZyDCLBAfFRNmVEokKbJwLUwtkxRJiLZfJNvmmkyzZmdfqrTWWiknHwMqJMmhmSFDlEJSrZfBOODUrQzpHsLFQKqYqpmeiNCBYNexhjCwDCixcbngKLNkROmFTGCwlIuEcLSLmznxppwZWGkojZMhtoR", "lgUeCuhBrbsJGALnGgxkKMXpEqeCIHioUNzAHooSNYJTSAqutilUnegCPgPokQfZpbMeKPRUCPOhrOBQSvrNwZqhHMWpqWCSuLUzKIviSbfjDcBNaclUcQpWPQiFhGNdhLSNyZlFkwJKJPdFQbqkLgzyjOpPLbrmsUHJibeSPYzZjoenMCcpaRkqQroVNBUmknDxWEIBIOpJZpgUnslFXZzMnEsutZyNtDrBIRMWkcOgZTQDSBbiiGDdNWxWDjtE", "VBPKrfearkNXUkfepXXpBahQBxbzPCrslTSCTFwsUMlVidsYpvUrYNWrrghFyaeJomYMqqyyMwmUrsjVUSAaZBUyADmuBiiQBnTAvOXSIRnNwfsTjoZkCyrKbIjtooUjwhuJFHduIJTKjAtQbzBkdAVORkJIJymdpsTqeOjXvrRgSXbCVHqngSPkSnUpEAAyyMiWzWJMOTjXjEoBUWbyRVWYgrwtQLgApEoZqGBLUcPzeQqyYGdKXXODBDbFcHNT", "sZukjKTWGAlMTezANILqLyuhYEUQICrfjaFKwsGrnVarXHhKuIiLBKbUvARQeGhIFpPwbRPzrycpOQILKuNHGXGuEHMhcPlhHuOYAJCoOHCftIuLjLRTSlthqspcqLpoaTOVtlxaPXbRZHhUfKdONWrNyvquUuuaJTjvnhkVVtpOVePMPayljegXwYmozcgeDxAVAHiWPSUEBlTDhIkbBkTlPBOaerrSNbUWLaUpgqKiQWyLQsLirpLBDMVBTbXf", "EBzZOCZcLeMIJMlFwgEoVIcbmeWtCplMFalDqpmHYNoerPRWpshUtKWssKqfMbUpkKFUPMVJrQXEhsDWsThSwfUZQCVxZExcVHWUAnEbpvLMvRTywFpbHFNzGowFBEIMIpmrtFybnwUVOpcNUvhUDVJtzzaobvDTJsiUSvvCWjNhgOgSJPVaBCKBioTANoLmiAqVTqtywVRsTMGnoEklCqnUSfxVVcZFoLjmmKMRhnbqhOVrPBKrXfcOzdsELkoX", "nYmPLBRsNjCJweFHJNtDaUneANbCZYbFxgBhndtXzxIhAHZJZgrAeYymNLjTpdGheowrDhLpANebeTwZHPbPMrtwrWhSufBozwoqbtZgmrnkvSsPwQULEuFixAJwbYMHFBdMgrgYADlZZIdgTshzEBsdePoickxxrjOopgCqwfaSLveUQhUKEHJkufuqpJpwilXraMAFmeOslzqpHEKlgCmGdjRPZQWzeIBIlZvjfvGlvPKxWdeDYEKTXJXcsrov", "lZhOoSjzABUEeAaykZeiCtCuBqPYSyThRcVDKlRKMiHhwVTdoMLCFIuHKrMKqIxvQEzgYBEDssBhqenoSyWNYBGcvPbCrVCXDNXjDQhMCwESUAMlkjtxKBDOSbeMSUHMPdllzBGSVgdawEmlHgKBhmpAFENfitMzSiWjPyMFMsXFzdQJImSLXLeeONZFSVltLEXprmCpGpdeOQDeyRIvxmPpdyaHEdLtmCkCMMPBHzRHqlEFtliMPqFBaPcORyyZ", "zwlhsAamvehUQOKYzIlWYCWHIzNecBnzynykSAVldmsgrCznNTWRUXkgZDSqtYtSAlyzElOcBozPEJmyKyZWVuuosqPZwfWoyETcOprfqqVMgWwlbfspzJurlUZhwheQlLfTLpLibZIxAjRPzZxricnAWeoLCkiBNqQQPfufSnnpquCsDPTaOHVVMsQzrmlOJhtFnGyjAGYoErhQqfSwJgCJafduXrVJQjfMJqOVEdhWBfoRBJjWYngGnnBRWNzj", "uNOAvgExDjAOXVnzfmlsxiSowzXFejDtFeBvSibYMjlLEWRbMQSPGKpuiQJEtHrAbfXHrQxcxIHnmFoKcQCzLAIHGKfRZJvsvaVyqxHHhOjQTfgGyVcKhLIbVPZtLCrTFMIkQThwbFvvOHNomXZfBYfsTVgrfpAnrRrkGjXhXCGSnYLLmDkpuwOgvkVRWAhQsSAGNgVMcUnDxXQoounbUgtAPluiiVSGrztaPGSkDCiFZDadkbIhBPIcMLPHwWTa", "FxlXGXgYWpCQDcCjGnJgXTfxwbsdAkAjFSFzYyKDwEOKGeKCpGpvZfRnFdgAdAeGCnfjbPLQqnehOGZMWlqCigBBPWOzbUGEMSxYPKGhjxBXRRqojiutWYrJzFudqqOrHfUVUIQplQnpFwcRCluOpnXokFJrTOHXPmZiNQADiDyUdeoxDLqiUIhWodTkhtOWpFUimXkjhkOQvIkSNUpaTCjziHWVGHAQavNIvqrAjrgtPbmSjwLETiqRjLdUBeJx", "lOyRRwIfAhASDvGxaRezPxkgGtrtNZFTMZYIAMdAwwjCldBpiuSiuqsmilOIEjElPpcGXWhdyqLzbyraNVymmOYMXwWBeLKsfdPmVaUqFFaaEKqGZyrRqUEYTynRdtJuNVIdbCDuWasWKrjKonTEdUAozxUBkxaRxAEjOQlYttFeNKhzpMmJHsKZFwxhHgueBwgopyRvTkWNAEyqeHXktUYLebwRGWCEXTSApycTCmLyciObFHswHKdOWgWjLzBh", "APIpgwUktwdThxtSOWFfVXTNgUnoZDfKefZMeabeqdLnrJfvrzxAgwUKvJwNAGiNmdEAOwbLDyZgWWIJYUycYsPvKkRNzerKcmebIFCWiArPKcOkSODxSmGrkZnJpOuUIjlYAGasWpHoAjVsvxJLpnqWMPEzkcCvgqNwfRPDdkmcYCabkrnkVqdGpoSXrXzzeCcebzfRLhRPjPWfZXKWFAXNwsKdnlLRetYhGfHyekTOYOLpMLxJujrwfoblIqOw", "ynRfcQbpZbElwulsByYNhGooSloxvlrOOVcqJFVqINTVzzHTtSAdeiAHnCaITNNJAeThEXvASvaaNYrAHxhgYmbrdqOnGvlWafGRjzCFjgsobBWhZCaDpgVvbycGnqSaysfVDlOmknflcXBRZDevxUsGZuoekuChNDvkMaugCmXGrwLUrddQxHiyXPCoadBHknKzKVoDbwbAawuVjiDAPWmiOVFzAfdzQsElifVKSjdxpdIPtmjQShfCPGGVTsUh", "irVQwWnssieIuIXHWvHgWMNiryGySqTRSYIIBssVHnsVLjXiwbucrbNmGvoPNZcUbxYmxhgnyrOALjymRaYIpLoyMLksvBXTsYewjojyLXKwMiyGOPLIWUwXiGSsOYnGVHwCPgyeXEVBhVaxOQvjArBRjUnAjOwMFCxPhRIsVdzjpckjsCvaZnRxysVcqbyzCyPzPAlqeEJsKhIFSOzHknPLUndRnXWBTOYWmPvRuidCuYCDcXjrnQABdSXeceWh", "hnyIvFeoaDxjOHsqTIBTgxVTiclYxZkptBzJxFYeEsreyPgBQJJzGsniIfqcmrgQOtuRMraistXxfcSCUJgOAlDLTBYEsDOyJenfnDKjPRQVCYgEcdedLdKRanMojAtZAVaWNSyBCtIrwAHTJfioOFjYCvtBcwhzfzAZviXKKiomMKpjhwHZLWZedHNLLDtDmWthAQqDAkGBTyvKWkycgruuHtwRHjksGHKiYtawtboMeyGZQzAxufeSEbeUMZUg", "KnkSMeNdEdhuCMUQOiNkvTgaZUtBDSSWlOeKSmeLfZzriEDLNFIYVqGWFINhjmEgIgVgbyTOGMYOlGeqnIsYXBBWQmuptXHUeAxFGvAaUYIiiREdTbREcGVmzoxJMeaMEeyPcGrmwwwGWcrtKFSBhKPGjGqOQxtopvkkueYLiHxFvWeVkcbdQxTOtYHLYDIfzdQfpFIsvrwyounCLdDtAiWewmLxbKuJyXZqOxFJukpzlSudZXFOyXQEvEhdmoBh"],"c_map_string":{"c_map_string_1":"WGSQQYznXVnOmSrRxDJnYOJVEkKvFXRddehJhaRuFvOyrbMJJGPeRJluhlzgIhyqLzWRqNMDdXyrSYlLoxLKrBtKOolaDPQteOTqrKwaqkaysKwiUDmnQgIUQywKeWIsnqAqpFOgzBMkinGEAxzCfMvsiQFQHtFHwEAqIOkOKXOoaJROZpJpVUDUADeGCQbEoNnUtdthkWCqEtzPObsvNoCSDuqPjExKWwYjLALhkjwHxYTBCyvcOEzNkokBixuQnvqqfhmVexAJVDrhqgZmsXOqPutudWcYkCUXbdHqimEWSGnNBpPKcRROdwUeuksGXUiLEApDEBJlquAcEuNbraKHmgZoyVoQJyFJvPXcTsFishpusDaHJUQfSGkJGWCwBypovpzsrsjZsAXqrqxteFAuZgvzCCOPRSMqNLzpFNoFpjLbdISguUJLRtFBilPGXJDFBadjgjNjyqRTppshgpyvTtpNtzzzODPvyYRpZvruajREqjgePCDzjgMhAHCF", "c_map_string_2":"cTLCkWsJAZmDhPucQZfRtQYfewGDKJmwwvNvTuKYDXqKkAphOPBQTZynanFarfExiljLuupnwkTtzBbKOAawVtUgvXzWhwYKVYlKruaAAzXFYjDBIUZCaZKOJEyZXjmRZLNPIALkpJlfAQHeyqObtguPNbKIehcStSbNoQPUTNTCDGBTNfgRpbXFVpsnwOQaknaCLhFzkiyhtgINLyjPKiwNNksvnsLLoKyuJjdUdWxKGTPgQbKcDKJJQyXyBTkoPtqQALIBZSzlofPXDSVikoWNXWhixKsWYdrRSQUlFyyRdGtgWvomwZdeNIvgztVaJbGLViYuAZtyyDXXWtLLvybbmGIJHuzBNrPzHgMlSQYwPzouqONIAbQSYNZVrfLIbJbvwIfknQFkfPfuHocIPpEzwJOlSSNuLhBHeZHYWPRnWfDSSmhTgdbtolnsSLZVwmEMMQspUozFCeTGKeurKKOpwQrbPTREjGvOQZwncOTgPUvJFHAXxRproKfulrmb", "c_map_string_3":"dRxXRgUWhrRePtwzeNAngtRnaagbsWtkIeaSHGRQVnfdpULlLXLKZdUsDxwNimdsoPPCEWxCgULnqYCOAovDCbOgUNWlsPPRiAupdRRyDfawNLUpebRZjQJJUqEBXAHognTRIBsoYuUleGpNVuIOOByQtvRPZCkpiLdChnmfDoXRseFmPBzYXaHrsWVnGApAKeFDnbXESGaZxvOYjOeOkIpnpqMCWNmNUbgNVrKiHSZAvqZqnSmBgKHNDUbkmbkpQJyUOQDpBQVFPqetkvCevxtosrLFLUmTtRkBNuGOoSRwAvTbOeJmfEcXRDlTKELDaFvquvVcAkWqqSeqhhPUvTDKzzYkLyTrgvdKQeGDwTZsdYhgUWBTCrEWdUBsRDnLxbbznufnHwwKhBuglsQTGrCHJTRVMTveORDrAajkuyAdcSLofJGETVXdUbFgQzUAzWfFKpidoKcrHxptLOdHCQCoSdkCQdPfjQuYcwpTNCStnnyJQtdmUyBxnfnHRYkR", "c_map_string_4":"nPztHsgUohUmbGbPZnlCDibtzNrHylzfaWiVytfftZCUVsnAWiVUqoDMkpcFQxmWNNdFcQEKovQXrWwbfxIqUBJICdQLKalFOvMFAterzuERdXUatqDifYpAoPwIBrtimbHuWhoBtJCIxcHxPFlmpkrggzMJvYPQHvpKfiDqreNjmFboyelCSUUbcOuzspwBeJNtNUATQyPegvgFmZxvTvilHmuHqKPHNcaZzDxmimwOUmGFaReqWTieegKWjUQPxkOVRgTZjrwAABeVbYCimxWWWulyvXNIfGqFEiSZrbvOyFQEvgteSUhtyUbrnXPeakIiSFRsvxowOFVYCfbffDTIDCpbzQaqLZgKMYzlLVcjwFeZpCJsfpLsASeOlyraGrHeLGSGoShYqegPoEBgtUhSsMOdaeNQkEFbsPhvEcXBgYOGHMubwiyedatZbotuheBieOnDvjIcBnUiWlDDxXckWxnuNXGBnFRhxCgeEiaaiGFfWHHQpmkNjvEdwnjJ", "c_map_string_5":"xByMEETXMJxWQreOHQiMhCtpauspQRRxJUnOFoXQkslAFihJbSmQcukHpyiKLuyijyCBnKidtFDZJiXIKlPQrJAlwxUCneThpSOEHCmvMWJbEejsVXHyuxIqQLDOKkuvWVhcFqsigZhvWOdewmwHdTRIyvobBQrgPZetyfIpSRARAkaLWCfgdacIUrChxQjVBJhCNfEeNgxOBDlbQnJfxcnRrdZIkpRmVfsCEccMgDOZTGHrhHuxfNijBTQTpKZIqQCrDdHKaqzbIJWYnVRNKcQbwxOiwikoCGrjyTqvfowCPfvrOLIovIEZjzrFqNhAJxnrhMmgQeUQXhTijFGMqcnuPXCpeCONccebSontpTSPHxUeSumRJyJfyiJgdPDvvxusrwFtwToEsxxqjCHFCpwTXwbvixSXhsgNFuKFCajvJUxfnhTNXaDhSoSBLVgbCEeZxWKJstAdAMikrrTQLHmagtFAWLrshAhUJIVibfUdqdQxtZaiBdmlRnmgOgNa", "c_map_string_6":"QbjFQYtFysCKbIYSicyeWOYAPLETNRsypZgRnwuBYyNBojTgzbEhQtTBvWvWcUoQXpLXxzEhJRedrvDSqdMwpPdjmXJUsWiwkNjuBHlZeRskVPckgcpHirXsriPNrHijsEVWRxAUqvTNXvwhlMImYgCjVdcYpnOstomZraUnIVxpyvTypDrYyWHuYVwzTaKQSrlvxDIIjlrstutctjDCXZKyasAHvwkTQOKRSunHDGRbJKnLHfEEIsLbYexBLmTqNCUGSNxZFmfNtgdAomjQsByrklUxAKlkIgtoiqZfRqMDOGXpJLFZevwSIPeZHOKMPreybVXccfiBlcjZPivlryHTFSNgcXMjmArgfRTwvtlLJxWihHmQaUVzhLnqLlhMhLHiiQDXGLqAWwrbJPeLMvbBXUgiSueEyGvJouHEznBkGfCnIPkcvXbNvndTjPpamilggvbJMQdjOeBBBXKuYrUJZCqpGQriEdlNOPVySPjajqLTAePAWmTXluVOLZUo", "c_map_string_7":"UIWDKlhOEsELmYtizHKIsspuDUmOAzhvZqdldAXfKHXirBsuMPDoXFzciWTzkCCfrahhLqKrEPJVsLUOOLKmIUbjJXAhDFJTVtWHjVyjsJAcflKamNBACdDGLnNbXeSMxwMxrafxCgPTRLHERAgqvsmxaPuQtkyjUJNddPBflGQFFJAdAdBHvzDBQZuLPEmCGjTETeqGIirPCTjMMsKsxhLHCZIbWvUBGmLErQRuCDaSGzXaxEKcIXYUHytOfgjNphQzPQwQHPDUunaGXlmynmKgZhIrSLbbYXivdBUzwLRtZwGNRYAJaIjyVkurHnbOgTyeIHpMsxJcdFZxrTMRMiiJnpCZiehikHmSRjSgUjIWpbigmTBQzqpsUeZepeimeMdTmIheqARzdCzaLNlKHWuEwDZeyTONNiGqHxADvLKRuKyvYdjEjVindPMRxfXHEPsFFiswfHSufFFpKLwajHcJnlNCjBrWhjODAsMFSLBjtRZVFOhLQkjctwpztYvR", "c_map_string_8":"WiWXQSvQUAwCEPNucCPxbpoKtWCEwRQNdvnnnlCxFVaKOiLHrXgDXAuoUADIJRIPwvoyrBPYCOBWrKLnrhnzLmhSTShwWuFLgLicDNpoVFwfJoKdGsiLcvivyJWnjGjcoCNEwxHbbTKIZWQmBxtKrIgazxjLBRndUjizGGjrPIibVZsndhFKHIHEKfSRwpyMLsreCqyudpPQVCKsUFRaEQKdHuhjqtJKiELNAirgYbJwaCzyGYYTmPoopgvRYbhqndoUiWdOSbyLdKFTCHkXXUalaDqvfVKkSDLktOfTAkGbbpwYpVLWBClvaKnfkpHqBPbGpjOJDDXBTVlWpuUIfHHdUjMXbenMXwDMlwNFOUqcfvirnGFkTGHthjHRYLGaBMeGwIbvfontUojdOETWIDIAaUqPgXsCtUEfDrRfRRHboXkKZEgRgTjBYMPaiFmVSPODUDDzGQLzhgnQGJMEFWdwixwrFmDtaTqsIyBVNgCqQWckwWoMBDpsEHZQfMvX", "c_map_string_9":"oZYufTuKpOzhqGaXwsVcsZvfZNcNQIAonGyaTyYtkYHcEjMINCezYViJpvosWnWqGoFZHrixbgEFvgdTNdJsKLmndxnNLRldNXYkkiPtjygLYKCVUydpOugYFrcoaPDyuuIzRZwepWnweUfbRFbhCQBBnhPtDzPjXDephfuAojYRhpnjGkWFqqYRfrJwUhAKqsEkvSGPwQdiwFZlbsNpDjsBTZFmUDltmGAOmKVxgtlyGdMayodzRLIQmTzorsJADTikYpezhixTVpysahLLqkypUYpJcuRhkzwKwYybjrdCViuTSKnSuzuxwWCVfEgDYiAuESyxiibScumCxpcasmMGrURLFiMGxUFZYqLVAgwkXccuZGOmQeYKICkXePyLJJBshgiucVonbcSoTSXSbfpfhBkDXzRtKbZfymXDULjbmjWonUlPPjDiEYyAYfRwzGgenQQSRYauuaMUhhuzaOzWKgTmoDLCaMQkKSZoWTbwzfsAfiTUUlYzngYpRLOU", "c_map_string_10":"JmSVqfPjTGVzejVoQpLywDmodaeEWmehwTOBhcoRepLWKOSvoZCqfSrWMKVNrjhZvlXIzTZJqVuukBzIOhZlaCtlWTtKPznLdAWTbOQGJFdYyMKkpcayVmtIgBfpcpshUEKNHBqqDvpExuVVouIyXQTVNJgXwSJWnoOfkRRTtzwPTOIhPyNLcXYNpvyPNUcXmDQhzJYpFkcYvbvpNXKWbxnhAyIOtViIsHOPfbjnzhJqnyzkMCGaYZyXIPvgbYjiCaUFWVvqFyzkkRIBxSkwmFDXFwMdeVZnwfZhFAiIVXdnSgfxCnIyxxISdAmBxqpUTIxKLdAFBPlSToFbwkmKOVognesqsdzTCtinQcagGhvRqtBmmydKdpRQHWxmoSyxCVotfApZlaVRZKMtQxgsCjSIUAPaQncPNjUuLtmbImZrIzumODWsNLSOKYIvKTgkmRfGuDMyaNuFjhMKosboYmyLztevJZsfhEwmjxMAAJJTpDaAtFTxqWuHcDbySBQH"},"c_int":-1321190437,"c_date":"2008-04-08","c_datetime":"2011-07-07 17:13:46","c_map_ipv4":{"c_map_ipv4_1":"192.93.166.122", "c_map_ipv4_2":"232.242.197.215", "c_map_ipv4_3":"51.226.33.149", "c_map_ipv4_4":"45.65.1.34", "c_map_ipv4_5":"102.6.6.164", "c_map_ipv4_6":"76.2.227.252", "c_map_ipv4_7":"247.208.30.28", "c_map_ipv4_8":"233.209.5.214", "c_map_ipv4_9":"232.254.90.171", "c_map_ipv4_10":"178.161.15.244"},"c_map_char":{"c_map_char_1":"WDjuOIrviG", "c_map_char_2":"rSUZsmWPnS", "c_map_char_3":"JSAmoHGDxh", "c_map_char_4":"tmuJHvImFk", "c_map_char_5":"fcUrSbRhox", "c_map_char_6":"MHRFpmUjAT", "c_map_char_7":"YmjKfQlVin", "c_map_char_8":"egwWEgeGMS", "c_map_char_9":"qpihsmbMNA", "c_map_char_10":"WEMfLMqnfI"},"c_decimal":65.1829,"c_array_smallint":[-25307, -812, -20623, 5540, -23964, 12854, -1619, 11733, 3834, 3256, -17805, 27817, -32052, -4193, 30853, 27247, 14107, 29379, -430, 22931, -3279, -9246, 10418, 22780, -32738],"c_map_largeint":{"c_map_largeint_1":4393135623833778140, "c_map_largeint_2":-7128495381559758120, "c_map_largeint_3":-6574840772066731535, "c_map_largeint_4":-6866168732590979722, "c_map_largeint_5":-8609969337626466644, "c_map_largeint_6":3449534279566784211, "c_map_largeint_7":-8570998613008248822, "c_map_largeint_8":-103641560137504274, "c_map_largeint_9":-5049034580463676874, "c_map_largeint_10":7181564745653038477},"c_string":"wmdWEqBmpAgXrMQWgYYyktjuiulDyILOdSyhYuzgJZjUGlwunWZOzgaUvXXwaVQvBcZOKujOoRgukkNEDHTFpPnqfRNtaljZytitmNlSwGruPWREROZOryUPIoteokHNXtWvxmCukooclUCBsfueHGMurvUTCqBQNWKVyEhWWjPIKYJigNgDzRlWiSpqbNJFIGkXrjVdRErJCSTZAgVntJXZrnJdVrrOmmFQHOcnqjoWGHMBEEcGkAUIgfFOCpDUQwCphkzydaxAnbdtKdssmfmRUcEeLuligCIVOVoGFUyJKcHaFJUcjrfVrkBOflamFInGjEbZjSORiixUqkJLKvzTejDYOLqYAgHCkcHZpSjguJhhyEvQbfsxLLdlTkBwMRwWCotfFwGBnUWaCFaqqFwqMPAvaAAopFmQpiXzlEWdZMLColpdUGQuXtYnPLBGHTOHqDNEhJXuTzkmLnSyrSBvjmSVhnupPfYwMDBgyTpXxRJhMOzBOrznmlYzntGW","c_array_largeint":[-120353381124062383, -43624029734282479, 2581907935613167194, -4963727396728794009, 1943939385535614105, 8598061102025172929, 4175302827500710157, 5028901932460074391, 806897949694158126, -5193179352871949380, 3015236095714104052, -1571624029717535240, 3818775715786784750, 4091107679175204572, 8902270078027491419, -4235427297944827601, 5811560781164776697, 4545842843645368471, -6987591927197290815, -7221120483385925860, -5285710309709046090, 2826056867349160953, 4608032878077993583, -6060010906175717336, -3065212609638615907],"c_map_decimal":{"c_map_decimal_1":100.1520, "c_map_decimal_2":31.0738, "c_map_decimal_3":100.0838, "c_map_decimal_4":46.0483, "c_map_decimal_5":1.1151, "c_map_decimal_6":43.0312, "c_map_decimal_7":59.0871, "c_map_decimal_8":31.1637, "c_map_decimal_9":2.1985, "c_map_decimal_10":17.0150},"c_map_double":{"c_map_double_1":71.38102160476852, "c_map_double_2":37.968305054750154, "c_map_double_3":5.965446299686162, "c_map_double_4":90.55725400923157, "c_map_double_5":20.49267002742609, "c_map_double_6":82.52069640030953, "c_map_double_7":67.15406543140192, "c_map_double_8":82.52546168044637, "c_map_double_9":60.193564666506894, "c_map_double_10":11.108498715711404},"c_map_varchar":{"c_map_varchar_1":"BAHlbFuujqiNoHcjTdclRouoWzuqwaQCqYqMjACQuiszJEEmlkJjZtusdkSwMGYAnllQDdPdFadRqzYINXIrYnFwnPkZSNfPcdyYZmVHGMijvpNIRwsmUqgiErtxMiQSyojPHHPxKHyOCtWzFFnusxhCRjchhYHJOtsDQHNhpMGAKTLGCyaBnLRrVyFXCgpzbnaxQieuRnIBkmKYSQLDAfDVCygnbvpnPrlclUDxwQoBWzXXCCxChijEMeJnfnkA", "c_map_varchar_2":"ngoRYTGBbNZjmVwmIFereGEfFLiXExzKVpdFaZuOFFGBYnePDANFVWOTZNuVMNVlrdMFYzWphVHDVfeDmSxxiUTdDKleShrKdTIAKGzQnmHoAeKUhGCZcvcVlrWfeZuRaEhPEXUXPMzLvRWGUbBvAOoNqaGXpbWfOTxlSwlpfqEuXpQcBQxKWKcQXDlfsvFqsINTcbfcaLmdPWnVCFmaXzCOFyIDmbKmWeUkyVRHYcbDGZbVEcEWoOHUIGcYtFSG", "c_map_varchar_3":"PwJCKtfGCUQoVQmyLvBoFCwDehCZqonjLMGqAOtDEhauQnNfgOEMHJLdJTsHhAeSmcXEgWDDchnnBmrXLKsVUwacVMFXPHwJrtYIiapzuJHDyjkKiHxAhlmjKGogGTSxzAMSNFyatDzibFpIvgTNcjenzNiLUXyPuDxwVWuWYLpKFonrDfqMxXPJPiOaakQBrMZsnXXuhQumNAUjSfRSACePdrolALfbBgDVzSSHgZmPuqhxOMFRJADwkgnilTSJ", "c_map_varchar_4":"PCjmocpFAxjmsNxGgWUdZUTTPhFWkmRzDAMiTEzUTCgoIgLJVJJJevcSUsRXnBjTpEnyNtlrxjQmiUmuZdWzAqHiEQuXDoposlAEuGeUJPFbAzYFkPWfmLsOTruOFyljyczFvUaQirmoxWhbrfRkAttctjbShvsksXhxHFBdZHekXVzKicihNhjyJzIvewLWUJsVpIynnbITMzRRrpJBvMeZFNmlRrrQgjANydIibhSLcpoutkOMaPfvbdtBAiFt", "c_map_varchar_5":"DQIsdSwqRDnEqZXJUrEaKodAKXLLHprJukQctBtjqYjDxjdVSlDuDtQqGlOsZqburMFpExDNezIVzRAeAnMYWnjErNHfOlcjeigYjFnYjQGvzlnNfxplrYhzWwKFpCnMZiqpFGowKecQskUHDIUdccYlsBelIgOSHNqSPgHtBKQahpoHIzcCNPhvTllOeLWGOyoDbszNQehMOYtqVmXMHsRFcSVNeuMLYIFEBNtbnUGkkoAkaIUukoUdaupOqUVZ", "c_map_varchar_6":"kouXCdHxwVQDHDSqAuxIrqZitWXKKFkwPJCGqpGgKqumqlPdbAnlimkSVOjGAqYxOLmPPRBJXFpFArSODpEvPbvzalBNFkFsUoXSMbEavNptZtiMSjuuXAcXJsmSrrEtquOBHXQzhhbrLofegEmDVlxsxGzgJnCPDzDDRhyiPZIAWGTAztikMAaWddFHtLrPVoQHLAoPRENsaNxRQaTktifTwXhWIWwsGtRhSBgnnnvHSMbTwzsLYIFssBWEvTyY", "c_map_varchar_7":"HfmpXvjbqeSKmPBWebEeoXHjrFxpjcJSpwETIChUnshqwwyeShjrSYaTltwhPPNAvjAzgdgXCJIynsGlYPjHvGMZmMQFHdUEQnUswwqtmlpcodjlJsjbSSIjCUAVQzPilTMgVBaSCJIHeWCjUevYLOqvaEzRnnQJbLHPSXPCurTsTvwYznMZbXVmkBeRLQXHnTKRYFJBwAfHdtqPNnSNNOyEysylchEYnMLmxViWVEPtRcsFfJuWBIvICdHEhYGR", "c_map_varchar_8":"VJqKRJySCVHrEuaAweWSljIrvGpPYKOxoVGjbGdOGIzEQUlzZMYzVohIeRZOiSiQQjoZNeikqrnSxwfotwXdYtnchiMMpuhUjiLLsrUWDbeFJdnuqpeYlcfxGLSkFbeLgclcQUKpbrRSqCyLOecdefBVvaMVtMAoIOihMwUQhwgpuAKbhsGGgswkqmQLUsddlHfCokwAfEpTmUXRqppdlynEBohFzQGfRIlYhgNtYkQpijiImyeoaUKpchfuAeIt", "c_map_varchar_9":"YOpOObxEGzaStStiVpOgsDiXUNmRvHBTXmPTKOCDecArbVdDhoHnWHjYrBJXdiUBBoEsombxLOGXfrQtySemEDALEZglOhiVCNYLOCusMUSMHlimQaBobbnCgJMJUtgCFUdVBolbHqQDbsgDUDnWQnyfZnpqZDYxFpOksYbRozAkVfOUIdgCxcBObyVzdUeBGhklOIozySoiKaNrxooGmpIaeTgrNfbmVFWlaFFaXxbrWACvgApJKdDfNxjOAVWK", "c_map_varchar_10":"uPjzPPihKMBwmgOzPGVUYRBVekQnXPZSqcBJeVcYGyMbvGauVoWTVrdDROWAwjrucSMxRhgUXIrhsVzwdaINedAdotLBgBWumkXgIRBSJXWduFNpmVtbPantApwZWETYnHRMDkKnkbcIgMkujPaykqPZZWOmcJslESfSGmHgABAsziSTqLrQXEVNbsojTaUdGqvWWzEFSGRkBWxsbsuAtMkkiuMRucNDBCxXXggtpYanRYiedBXVMYakQJIqeRAo"},"c_largeint":-8225473291251556603,"c_double":79.65064890010908,"c_char":"lrvUdBGcMO","c_map_datetime":{"c_map_datetime_1":"2009-11-01 11:05:01", "c_map_datetime_2":"2001-10-18 11:02:06", "c_map_datetime_3":"2009-04-17 15:31:13", "c_map_datetime_4":"2013-09-04 10:50:18", "c_map_datetime_5":"2014-03-02 13:03:46", "c_map_datetime_6":"2006-01-02 04:58:09", "c_map_datetime_7":"2009-11-16 13:54:14", "c_map_datetime_8":"2003-04-26 21:14:17", "c_map_datetime_9":"2004-04-23 09:58:42", "c_map_datetime_10":"2012-04-05 11:13:24"},"c_map_ipv6":{"c_map_ipv6_1":"a549:3a0b:52cd:64b8:8e22:6b06:5521:9c", "c_map_ipv6_2":"bce8:adc0:c9b9:86de:b412:78c5:d57c:b942", "c_map_ipv6_3":"ec81:870b:6db8:c2d0:7fca:ad78:5972:f952", "c_map_ipv6_4":"bd60:15bf:148:2619:e507:b63b:816b:ed60", "c_map_ipv6_5":"4344:9d6a:41d5:69ae:9039:ed3b:8970:e86d", "c_map_ipv6_6":"1265:d071:f19b:1be9:5bb7:d9a4:95fd:e0b8", "c_map_ipv6_7":"a05e:6d29:7b81:5aaf:5988:290c:c07:7a0b", "c_map_ipv6_8":"fda1:86f1:978a:ec17:7230:38a1:47c1:f1e4", "c_map_ipv6_9":"3c4e:f150:545c:3362:6c27:ac62:9882:a000", "c_map_ipv6_10":"9a5a:ef13:ac4:3f8f:993d:9629:c078:b376"},"c_json":{"question":"Intelligentsia knausgaard marfa etsy pork belly?"} }'),(7,true,false,1,null,1,1,245,21788,0,0,null,32679,-1458120206,2147483647,147483648,null,6525285743379333990,-9910,0,45043664,100.02,10.356763,100.02,40.123,300.343,100.1088,6.0245,100.02,null,6.1339,100.02,40.123,9.1411,62.0612,40.0556,60.1288,87.1264,40.123,40.123,100.02,null,47.1629,34.1565,300.343,100.02,40.123,40.123,86.0543,null,18.0998,300.343,40.123,{null:null, false:true, true:false},{false:true, null:true, true:false},{1:1, 127:-12, 0:-128, -128:-58, -58:127, -24:-118},{-128:1, -119:-128, -44:1, -112:113, 109:3, 0:0, 1:null, 72:1},{-4066:22218, -32768:32767, 8066:0, 245:0, 30866:-32768, 11631:0, 27122:5262, 0:-28900, -18208:0, 27484:5796},{null:-32768, 27210:245, -3172:0, -29359:0, -32768:27879, 29792:245, 32767:188, 26581:-30775, 20103:245},{-109771106:2132517222, 0:1202630729, null:2054666720, -1232693355:-623393305, -636534987:-874347827, 2147483647:-484250961, 957350904:-786178212, -2053066859:181490569},{null:334498034, -2147483648:1984896659, 147483648:462744955, -566990792:1967557189, 933007115:-1590787154, 0:1753945730, -626875336:-1753946998, -2043785744:109069923},{245:300.343, 300.343:300.343, 20240803:-30685, null:300.343, 485277:300.343, 147483648:32679, -186328:-11854, 23063:147483648, -5678052:147483648},{245:-21505, 0:null, 4:1, 1:147483648, 993259171567431569:147483648, 7934872:32679, 147483648:1},{6879726981469196615:147483648, -1083750:-69292001, 1:null, 1501420331960396123:245, 5273683:null, 147483648:-7700761, 0:1, -6737535764290275277:4767678, 284324562:245, 32679:null},{-3191910:9223372036854775807, 1894053:297003510, 9223372036854775807:-2506116945168743629, 1:-9223372036854775808, 2443272882074973619:-5287320613447199074, 4261856466286524867:9223372036854775807, -8607020785545044330:776935628, -1742414434775919583:0, 32679:32679, 0:-9223372036854775808},{null:4.980135, 300.343:40.123, 96.73572:100.02, 92.09347:71.71382, 100.02:100.02, 29.52376:25.612242, 34.38615:300.343},{40.123:null, 51.10276:null, 100.02:94.63109, 5.4177027:26.226873, 87.81686:41.72219, null:100.02, 10.594508:40.123},{35.34753930002498:33.34193507677642, 300.343:45.465963940274406, 66.92960953418375:40.123, 88.21261795489555:null, 96.2616771808362:17.693456654624658, null:null, 20.681515808264983:null},{17.81766503946067:44.228244382899256, 40.123:78.57982782431654, 63.272405442934726:20.3036601835129, 43.34355743804243:89.77492789121207, 100.02:7.19964339964636, 81.9734654199298:300.343, 300.343:100.02, 75.91906747344169:69.4927774987128, null:43.30124998182484},{28.0469:'with', 10.0239:"9999-12-31 23:59:59", 300.343:'n', null:'g', 40.123:'up', 100.02:'no', 64.0413:'me'},{79.0366:'been', 38.1712:null, 93.0824:"20240803", 43.0714:"2024-07-01", 60.0009:"20240803", 100.02:"2024-07-01", 300.343:'then', null:"2024-08-03 13:08:30", 71.0867:'i'},{65.0959:'t', 100.02:'x', null:'were', 93.0911:"20240803", 91.1019:"2024-07-01", 300.343:'a', 89.1144:"9999-12-31 23:59:59"},{36.0321:'x', 63.1879:"9999-12-31 23:59:59", 100.02:'from', 300.343:"2024-08-03 13:08:30", 46.1667:'then', 87.1581:null, 79.0789:'l', 51.0963:null, 78.0018:"300.343"},{100.02:'b', 40.123:'a', 22.1625:"2024-08-03 13:08:30", null:"300.343", 66.1035:'m', 300.343:"1"},{null:'k', 37.0541:"300.343", 100.02:'v', 300.343:'n', 70.1743:"2024-07-01", 46.0101:'want', 18.1011:'your', 40.123:'d'},{62.0047:"0", 60.1926:"0", null:'you''re', 300.343:'l', 40.123:'d', 70.1227:"9999-12-31 23:59:59", 86.1794:"300.343"},{null:'her', 94.1324:"2024-08-03 13:08:30", 300.343:'n', 40.123:"1", 70.0856:null, 100.02:'x', 5.0344:"2024-08-03 13:08:30", 7.1437:"20240803", 69.1146:'it'},{7.0879:"2024-07-01", 38.0275:'i', 53.1323:"0", 300.343:"9999-12-31 23:59:59", 100.1806:"1", 57.1376:"0", 100.02:'n', 95.1396:"9999-12-31 23:59:59", 90.1457:'s'},{null:'y', 40.1014:"300.343", 100.02:'and', 300.343:"20240803", 40.123:"300.343", 62.1217:null, 13.1789:"2024-07-01", 4.1362:'p'},{35.0490:'what', 40.123:'j', 100.02:'how', 300.343:null, 56.0530:'on', 96.0841:"0", null:"1", 83.1959:null},{40.123:"20240803", 100.02:"300.343", 41.1209:"20240803", null:'h', 14.1982:"9999-12-31 23:59:59", 20.1391:"20240803"},{1.0093:'up', 93.0121:"300.343", 60.0760:"9999-12-31 23:59:59", 17.0987:"2024-07-01", 300.343:"1", 84.1269:"2024-07-01", 64.0597:'a', 100.02:"2024-08-03 13:08:30", 82.1253:"9999-12-31 23:59:59"},{35.1291:"2024-08-03 13:08:30", 300.343:"2024-08-03 13:08:30", 7.1601:'it''s', 31.1392:'your', null:'he', 40.123:"1", 2.0287:"2024-07-01", 0.1557:"1", 67.0771:'h', 98.0045:"20240803"},{'they':false, "1":true, 'x':true, "2024-08-03 13:08:30":true, "9999-12-31 23:59:59":null, 'o':null, "0":false},{'a':false, "300.343":true, 'b':false, null:null, "2024-07-01":null, 'g':true, "2024-08-03 13:08:30":false, 'f':false, "0":false},{"20240803":1, "0":1, 'that''s':0, "9999-12-31 23:59:59":127, "2024-08-03 13:08:30":-104, 'for':127},{'oh':-128, "300.343":0, null:88, "2024-08-03 13:08:30":-114, "1":127, 'g':null, 'l':53, 'in':-100},{"20240803":1382, 'one':5096, null:32767, "2024-08-03 13:08:30":30612, "9999-12-31 23:59:59":null, 'v':245, "300.343":245},{"0":-32768, "9999-12-31 23:59:59":2818, "1":29855, "2024-07-01":-13009, null:1521, 'but':-32768, 'her':0, 'be':31078, 'q':-20911},{"1":1072542404, 'j':779458685, "300.343":0, 'w':931710353, "20240803":147483648, "2024-08-03 13:08:30":290602450, 'come':845233165, "2024-07-01":0, 'it''s':null},{'is':0, null:0, "1":646436293, "0":2147483647, 'n':32679, 'k':-2147483648, "2024-08-03 13:08:30":168242112, "20240803":1932015583, 'have':-1442184831},{"2024-07-01":245, 'it''s':1, 'j':32679, "0":3, "9999-12-31 23:59:59":32679, 'a':147483648, 'w':32679, "20240803":-4306449932732088763},{'is':32679, 'got':300.343, 'd':911483629244067091, "2024-08-03 13:08:30":8354709, "300.343":300.343, "1":null, "9999-12-31 23:59:59":32679, 'p':3721172598212141343, 'he''s':null},{'y':null, null:-9223372036854775808, "2024-07-01":245, 'I''ll':null, 'your':9223372036854775807, "300.343":-539496944, 'could':-1415529, 'b':9223372036854775807, 'would':1},{'i':null, "9999-12-31 23:59:59":0, 'there':6883320486908057486, "300.343":-5197643, "2024-08-03 13:08:30":7593864223242215245, "20240803":2070231150, 'x':245, "2024-07-01":1752206132835874349, 'n':9223372036854775807},{'some':300.343, "2024-07-01":40.123, null:100.02, 'don''t':100.02, "20240803":42.496666, "0":41.125854, 'him':63.624252, 'a':40.123, 'can':null},{null:null, "0":300.343, 300.343:null, "9999-12-31 23:59:59":25.999186, "2024-08-03 13:08:30":79.36431, 'e':40.123, "20240803":38.292862, 't':20.043839, 'k':34.618874},{'come':100.78469156638927, "1":300.343, "9999-12-31 23:59:59":45.76677156651404, "20240803":36.95306935878699, "2024-08-03 13:08:30":30.65090497373489, 'n':27.089139799615563, 'have':29.952402671176028, "0":15.032254287806312},{'will':100.02, 'b':74.84597013061403, null:40.45896168452971, 'then':null, 300.343:40.123, "1":58.77813139287783, "2024-08-03 13:08:30":78.65804369283369, 'u':34.018955475400894, 'when':100.02, "9999-12-31 23:59:59":null},{"2024-08-03 13:08:30":null, "9999-12-31 23:59:59":100.02, 'you''re':300.343, 'she':40.123, "20240803":100.02, "2024-07-01":33.0411, 'z':40.123, null:100.02, 300.343:null, 'didn''t':300.343},{'p':40.123, 'did':null, 'that''s':66.0906, 'and':40.1857, "9999-12-31 23:59:59":89.0043, "2024-07-01":100.02, "20240803":300.343, "0":40.123, 'something':40.123, 'would':100.02},{"20240803":null, "9999-12-31 23:59:59":77.0294, 'did':null, "2024-07-01":77.0752, null:100.02, 'can':56.1212, 'yeah':85.1855},{"300.343":40.123, "9999-12-31 23:59:59":100.02, 'him':null, "2024-08-03 13:08:30":300.343, "1":98.0304, null:8.0297, "2024-07-01":61.1378, 'he':87.1913},{"9999-12-31 23:59:59":null, null:false, "9999-12-31":false, "2024-07-01":null, '2009-01-07':true, "2024-08-03 13:08:30":null, '2009-10-24 14:07:59':false, "2023-01-15 08:32:59":false, '2006-11-02 11:19:45':true},{null:false, "2014-08-12":true, "9999-12-31":false, "2024-07-01":false, '2001-07-17 23:41:00':null, "2024-06-30 12:01:02":false, '2000-08-21 08:06:53':false},{"9999-12-31 23:59:59":-16, null:108, "2014-08-12":-76, "2024-06-30 12:01:02":7, "2024-08-03 13:08:30":-88, '2015-07-09 12:45:25':125},{"2014-08-12":1, "9999-12-31":127, '2014-02-01 17:36:17':-63, null:4, '2017-02-06':1, '2005-07-01':null, "2024-07-01":0},{"2024-07-01":245, "2023-01-15 08:32:59":1004, "2024-06-30 12:01:02":245, "9999-12-31":0, null:-496, "2024-08-03 13:08:30":245},{null:8152, '2013-06-27':32767, '2017-02-04 10:45:35':32767, '2017-02-21 09:56:09':23493, "2024-07-01":10753, '2001-06-17 01:46:39':28167, "2024-08-03 13:08:30":-22293, "2024-06-30 12:01:02":32767, '2014-03-21':-32292},{"9999-12-31 23:59:59":147483648, "2024-07-01":913939494, "2023-01-15 08:32:59":744188445, null:905172998, '2011-08-02':32679, "2014-08-12":2140000214, "2024-06-30 12:01:02":-1290005506, '2017-12-12':-2147483648},{'2013-12-06':null, '2003-08-14':147483648, null:-174088844, "2014-08-12":-970280705, "2024-07-01":1317819274, "2023-01-15 08:32:59":-2147483648, "2024-06-30 12:01:02":1474608992},{"9999-12-31":-8946700755454745207, "2024-06-30 12:01:02":20240803, "2023-01-15 08:32:59":300.343, '2007-02-06 05:36:33':-3564746, '2006-02-19':245, "2014-08-12":-6776671870621519718, "2024-07-01":1232865506787810535, "9999-12-31 23:59:59":63666474647558198, '2009-08-12 00:40:23':68156},{'2007-09-23':8, "2024-07-01":-4535312, '2003-03-23 04:06:24':245, "2024-06-30 12:01:02":null, '2009-06-20':300.343, '2000-11-16 11:16:22':1, '2015-07-13':147483648, '2012-11-19':1},{"2024-06-30 12:01:02":2864044, '2012-12-13':32679, '2010-09-24':null, "9999-12-31 23:59:59":32679, "2023-01-15 08:32:59":1, null:null, '2004-07-22 19:59:43':null},{"9999-12-31 23:59:59":-2635713021479735614, '2012-05-13 07:09:55':-3109525799471559794, "2024-06-30 12:01:02":147483648, '2012-01-06':4399791, "2023-01-15 08:32:59":-9223372036854775808, "2024-07-01":147483648, "2024-08-03 13:08:30":-4416187429867072405},{"9999-12-31":100.02, "9999-12-31 23:59:59":100.02, null:100.02, "2024-08-03 13:08:30":40.123, "2024-07-01":100.02},{'2005-07-24':86.36429, "2024-07-01":64.1793, "2024-08-03 13:08:30":17.944075, "2024-06-30 12:01:02":100.02, '2007-12-07':100.02, '2016-06-05 16:51:23':65.359825, "2014-08-12":71.04024, '2019-12-21':93.25578, null:300.343},{'2010-01-10 19:22:45':8.235341882642786, "2024-07-01":14.306218159096824, '2006-09-16':83.04302229763714, '2018-05-01':40.123, "2014-08-12":40.123, "9999-12-31":90.46094719142415, '2009-05-19':80.36947831332036, null:100.02},{'2009-11-27 05:23:53':100.02, "2024-08-03 13:08:30":null, "2024-07-01":44.384032051659844, "2014-08-12":null, '2000-05-26':300.343, "2023-01-15 08:32:59":40.123, "2024-06-30 12:01:02":30.030752355210122, '2014-02-14 14:29:47':72.32901707308281},{"2023-01-15 08:32:59":28.1407, '2003-01-09 17:19:42':98.0761, '2000-01-03 05:22:07':null, "2024-07-01":85.1441, "2014-08-12":100.02, "2024-06-30 12:01:02":300.343, "2024-08-03 13:08:30":300.343, '2007-05-21':81.1186},{"2024-08-03 13:08:30":88.0538, '2012-01-14 04:33:06':100.02, '2002-04-06 15:47:46':null, "2024-07-01":100.02, null:79.1851, "9999-12-31":100.02},{"9999-12-31 23:59:59":56.0359, null:28.1209, "2024-06-30 12:01:02":24.0101, '2010-01-22':25.1831, '2004-02-22':300.343, "2024-08-03 13:08:30":null, "2014-08-12":null},{'2003-02-01 04:12:00':100.02, null:29.0127, '2001-11-12':100.02, "2024-06-30 12:01:02":40.123, "2014-08-12":83.1636, '2009-08-28 03:37:57':null, "2023-01-15 08:32:59":40.123, '2006-10-02':81.1666, '2013-08-26':null, '2008-12-22':40.123},{"2023-01-15 08:32:59":40.123, "9999-12-31 23:59:59":null, "2024-08-03 13:08:30":74.1294, "2014-08-12":50.1608, '2015-12-10':300.343, '2007-08-20 03:30:27':40.123, '2002-11-04 20:56:49':null},{null:49.0298, "2024-07-01":11.0505, '2004-08-20':null, '2009-12-19':40.123, "2014-08-12":null, '2012-09-04 17:04:17':11.1632, '2014-04-01':14.1893, "2024-08-03 13:08:30":90.0104},{"2024-07-01":14.0402, "9999-12-31 23:59:59":97.1028, '2000-08-21 18:45:39':18.0114, "2014-08-12":null, "2023-01-15 08:32:59":0.1888, "2024-08-03 13:08:30":5.0199, '2013-06-04 05:52:55':100.02, '2000-07-08 19:57:45':40.0050},{"2024-06-30 12:01:02":300.343, null:82.0430, '2018-08-25 07:49:34':null, "2023-01-15 08:32:59":68.0033, "2014-08-12":40.123, "9999-12-31":40.123, '2009-07-25 13:54:48':300.343},struct( null,-108,0,-218252144,1,245,36.377777,100.02,null,40.123,24.1334,24.1150,76.0277,300.343,16.1940 ),struct( null,1,13395,1214388285,300.343,8358317480671368779,50.18773,1.769651023288584,300.343,300.343,8.1477,21.0221,92.1356,48.1116,40.123 ),struct( null,9,-18786,-1895383704,20240803,5513482,null,90.75544948914056,7.0735,54.1261,100.02,100.02,300.343,40.123,80.1432 ),struct( false,70,21181,-1312766225,147483648,147483648,45.78015,85.5113889152902,14.1473,7.0137,62.0000,null,null,29.1307,100.02 ),struct( null,-32,22405,1605300178,null,-306711909,40.123,100.02,27.1166,72.1616,300.343,89.1499,63.0499,45.0326,69.0742 ),struct( false,0,30310,0,1,6076481341430587647,37.76937,78.68345007118414,78.1367,300.343,47.0519,90.1371,70.1243,null,100.02 ),'{ "c_array_int":[979644091, -819798942, -168265417, -642709267, 996980936, -1145878197, -1710976631, -1300880814, 199128970, 1009437773, -1617098905, -1138587235, -2083630908, -1656425542, 1625663164, 625894402, 490689312, 1636952432, 1594742296, 2048925057, -1104120208, -1947394465, 27338950, -573772578, 619817551],"c_array_bigint":[3652461916699701878, -6017580230574493472, -6770864528176726148, 2623892730681504449, 6174602051589196010, 8234632045878582598, 5498078554349365598, -7558848992210308761, -831456058238745198, -1981577849052623398, 2992245488952377560, -6519612465206401174, -653527512646387255, 5944634266955042813, 801667600782454769, -4731147222296625547, 7929541984811045260, -2611973185202883565, -8971684892296757191, -8628597930844147354, 8649614624829582194, -4488099817558632492, -4734857641827955176, -7790532165146444497, -6816281515224512251],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-12969, "c_map_smallint_2":23309, "c_map_smallint_3":28195, "c_map_smallint_4":18086, "c_map_smallint_5":24052, "c_map_smallint_6":-8491, "c_map_smallint_7":-5228, "c_map_smallint_8":-22245, "c_map_smallint_9":22054, "c_map_smallint_10":-13396},"c_map_largeint":{"c_map_largeint_1":-5630023824520488738, "c_map_largeint_2":6107032740916987956, "c_map_largeint_3":-307593646504545710, "c_map_largeint_4":737799428727335799, "c_map_largeint_5":1304551985546786641, "c_map_largeint_6":-9014087815768668177, "c_map_largeint_7":7772422793191760097, "c_map_largeint_8":-3786401652163971272, "c_map_largeint_9":-7896121227005137650, "c_map_largeint_10":1905038931407130147},"c_map_decimal":{"c_map_decimal_1":35.1808, "c_map_decimal_2":70.1537, "c_map_decimal_3":96.1343, "c_map_decimal_4":87.0798, "c_map_decimal_5":70.1098, "c_map_decimal_6":10.0835, "c_map_decimal_7":56.1471, "c_map_decimal_8":2.0983, "c_map_decimal_9":35.0255, "c_map_decimal_10":87.1069},"c_boolean":1,"c_ipv4":"223.93.31.250","c_map_ipv4":{"c_map_ipv4_1":"203.76.32.12", "c_map_ipv4_2":"72.247.158.192", "c_map_ipv4_3":"127.105.107.60", "c_map_ipv4_4":"192.69.46.82", "c_map_ipv4_5":"51.211.124.197", "c_map_ipv4_6":"22.163.76.231", "c_map_ipv4_7":"117.211.71.5", "c_map_ipv4_8":"200.252.81.62", "c_map_ipv4_9":"32.117.154.101", "c_map_ipv4_10":"195.193.0.164"},"c_datetime":"2003-08-01 08:15:12","c_array_smallint":[23063, -22286, 7761, 7392, 20483, 16347, -21543, -1665, -28725, 16171, 27679, -5904, -24447, 28030, -2568, -14246, 27891, 8949, 1140, -32514, -25280, -15911, 8789, -30288, 25619],"c_array_varchar":["OPdWJMMPIWmuYhuyAteJmhWheBKOwmFECWnFmOmUCuuuswSOyTSGZMNxjbaInSaNSncsQvlfdMxUmQRBcDmsZWDAoxNRziRvwMhPjtyGLnwkSNKeVLSfeiYtrXrLTbPTgUwptFPsBQnbvqYiLtTyWfnHxvOppKFSYGVcfJvBkGMQLAFoGOMqRciZdNUzLleKyyykpDGpUBOaUzhhXFpoPqejhPzZsfxPYfVBHSOBQETsDRjhYoOVdMgijAQbTASQ", "SUnBaUvMClECuqkDwkchTqUPDGAJhFBTfOttsnCZHdZpreibEZKMMCjvyegBQKHNwDLVPNwnOGDPZjhRRzqNMnTXjZdHatflMzrvDsqPMoyFKizKdsXkWogfBlrrjSpsyxCuAxnwxlImOwcAppRttCYZGTTAYzcBwHfUvIrCLzgwXMVNBfPriAemImscoqlPVFgEThGplFWJmqBSqvWeOCryGRMZAiLyuIkppIbHloUYlyORWjjuUifBkNIDvfcl", "SEGLPnFAwndLOupgHspeVmOHqJxuPmeuHbYRVxXYwKIpJLIlbLmdsgzlrYEbMlAcImBJCYJHgayFuZjhtXTVdAgKNHMKjNlNzNApynOSfzNomXCfiUiIFXmkDjrhtBXlUCYOcwwAZLVjRkQOwJGcrJJDeMEGXuvlXwOknXjBscqTtUtqvXzLalDBMLPPoafDiYvyCKdRsUhNRxRComDYWUgoXtYmiqomMxVcWhFHDRHBdFwVUFQCtnDpCgMGlaPo", "QrpEtizWQoaDTdQyHjkdhmLfHoyzmeFaxixXjgEJyYSzKMmwiEARkExcXTmDViuCspIcPcxBhRFZnxpVXjZrYSkXaKOUiXGZggPgPsufpGyeIzCvKNaqNDoAVbEdslOjMReTsyckmssLEKtMdigVnDkkDljDQoVQPfbtwzcIYvczxmThWPpLeiCFxizHBvBqxpDsdaPhqFfihAZcZNPGYClMNOBEnqCpCOGsdFUWcDLSMGAODjhhyOItuelRiLjl", "iBrBXPqnUEwifCPSLIzTxFQFalCcGJwsJguDzFnoCIdQEyqBkLdbzSuPMkkqYKkJfsSfMOBTsvsYXjJSxEtOddPCPMNtJvZrVknIdnpvXHhUONsaBCxNAERQAjjeJVgpLXKpjdlXdWLgwieiphrzTsoIZWsLgqNVbXCywHjqMSxETuEDcrQHAczOWaDpUZGMXYgkRWWMYlHtCBktoBliosFEtUMiaDiXWNLlPmmGmyeauHaBOoIYLsckWxihBrSU", "cofvWpvkTTgwdnOezlQRMdYgucUvIFLvDHcScaGxKvxoJAdLMMvuDZmTBpAueocQrAvUDXOvFmkpQtnpeOrzKVORLXcFjOOeknhXghQnNsuwhmAKYXOwxWxRPzIezQptwVoBMAIGOijgwsdqzxjCdEqOtgwYSJTJoLMkSAskyNZsgsuRiyPohJYKiTptVOMdwKvPMfmlIteNsuAtwPEvTVRcoGHRgkSsHkNnrLcjgFjTikURrfhdGgraYtRnhzqw", "WFbmElWqgdnhfuJovybSePMkOJtBFuBbIJqrcAtNwyfAZbmRMPIqeBETxjsjOHEsgOnIKKRdPraaPYsMGEnMkxtklvNVcExABpzeUJMNUtxhazXbnYBZFtpOOWBePTVXOXaRkAmWkLqvIDdXXHxRHDXqdbxMPlFsSbMgeONMAULtpSOyMERggpnJEhjljffTldhnNZxzMVZwIyxdHTszbDCfRkuPqKmDxuorkkogpXomNjWztiDgPgBQqBFWXxmx", "HKXOoZEAQybIvlBDsPhEiHfUqhnxLRXuspiRiqdUwPJAsUcgNxUKAacqTubBmHFRIDIWPRsJnpSTvGflgHUFlmSyAuFLQTRhJTwmxpizeoBiVxqQkQeJTIUyBqQRuwLeNsmGHHEoodWNCqbHYyBnwsiLjmXrViFaJdrKfkBtfqyztVbORecgGzGWwoZHPoDJBKCPlQJAPDikGHiqrRNUpotwnwrdoFeEMhMmMRnTAStBHlNyDdevfkamKcmxgurj", "PgeDGMLSEQStHtfGlDekMkJOPXyFJqYHYVkargcaeakzwBCTxlRMVdVniPJFIlviCrWzhNTWsCnZzYTjsfCPdHiJQRoJVZqzRGaDwdzqnQGVwcPYYCsuaOWtbgPoaZTidKzsAELbPUTzjHMoBCmcyGkXUwnaMhPepMNUUEJInQQMerkniiRoovFVpBOcNwIiYgEOKIXLvXgzERAXpWgEFvWwwWIJLtdleFpyMLCNqudGpeRtTlfxmwytffpqabRS", "ULqXinyhbwHAWnCpcYSSSbJVvjgHaOiZYJUymgTtitZXUabYtYlFLJhsGpBNmcqHNedzDpMWYNbNqyKrzfbYEPUhkRFVsdCOhmzgmDtPwjCUYsgEZNYtehjvqSKtsnqKrxJfqrUcoUOlsPLhmYVvUuwVLukXtApWkrfJsWeFOalgseNWAKpoKeuoofqFuJWRJhTCLfvDrxdjRqpJPEsjVjkuCrTQbPBzgYiagLAPOeZhUwlWnUnVvsWcNRnrGKJB", "FYfDFjexDPSzCcSZyAxvgtMZtKEFzCLtNOUQndLllmrfVESznubwiHRSVPqKKwnBjLqqYRDnnnwjQocbnNNPVZIsyARpkrRFLgTTmdNOXgpyADcJXQLuPKpgMRtEXaFOnnTmdTOfljCsQtTeTXKUXcaaddzqcpSgnsKsFLZrfhWjGCuaHMqZZGtBcYTSntNKDeakjSiIPGmazEWpigkOPmnlHEJVQqWzSQqCbzFNdfUmCdEwGbSkqHxHUFQXUNoC", "pBaChROJikLeMPLNBxKBiDHzoWlbMEmCDxxkdqmsbymtALXDkpkJJRdoSrNgzMgKzufEGilvuTEkARNTFlZwYrrgYHOGPvWaJSSgVHJzfgvxdccWxYOvFVoKJuuVqIeleQkQYnunqqfUSWKjWqgFazVgsHnXDSbvuCaxINkGdZbZnLDGAeHmkjOfsHuPsDkqUarTFbnSUjXDQeXjZTPHXoGpdhyniQEGLIkcOutqfkxkPMMcckaufpObosEWxgYe", "oGzyBDRvhFIvuEYPNfDIChHrKeHGEHhzUOeXiymDzZHItGtDkfYuayqkZkZwOKRvLOtwaVgnHmZFYaTLtsONMXhOEFJMGkDakpfdpGEOJBbsufYZSXnFuZVItXzcwDfnPLFHgVSXSXqTDmYDLiFUImRPsUTjBZsNfamTAKrVygQwPMVgxOpzSjzLxRsOYhGIdWrQFEXxSkEASVgrjcjzNKHGCrESnAhWEhnILsVWobXVfnRNaKMOXVaXFGoImgSq", "ybQMTPsdaWpkTUcJsdApuNeyKkZsPQKJWhfzwWgpDMRhodPaUlTQMeJURPIFlBpZRmgjrPAUKhwIYZOvzBxtshtPJznEzuuRxxLMQxxuzLLUCLTROxFGjSdBPlSEIQPmeoTVdNPEcyEoBIcIeuPOeZaYcYqwCgHsxGrrzlSnTzSwBVAeXpAOmFbVcmmsBIoqwMoQuoCKOqaZZYUIpiPOECFGGzPlWFgwEpfXXYQdhZEPQWMbZIZHgQhUrXPRMxBL", "mlzIPhzbDBcVmFegWoXazBIVBsczfppbUJgDRvoNPxfAYkzNJjrVfKFkfgKxVcksamOSTXmYAGgNvYvVPDaflUIAnRslTqbaLsmZWMUWgwWlLbsbRERvlyyiNniiMOGGxyZwoMmpXZyHuptShkkSXCMXqzByLsJDoCtJXvpIbSVIlGpOZVtctjVMIEkdFbNhTrqDkYRSrcSykHGbNAISYqOfcvlywAZCzyXuraMycSgFiMVeyagKByQTRvkdKKLY", "emNykRtfJDZuHJEgMyDqAdfDQjwpFhJwfkklLNEbDgYhOgxVgTgcYQKRSjYDzgFZQuVtqefpHXkCqOYOQlerQVVxFvKKQnsQHLeocIkvqouyALhZMEfCEjkPocKJfCmJPrYbxJUvEZvdkIPPWHLqSBnYRReEngprrRSmjgyFcLZbUFNccDalaNCwXBvcoEKguKvVfsoZuqswLClngCsUMcKjTdEmhAeIOImYVbGZvJEDRMkTCYuRmeVbQNtimDIj", "HUwaqXWGnbujHQjobxCuykWvAEHpbQEiolPESgewlrrnnMtjIWyKoYQQfDUBQxhchtiIGJxLJwMdTEjsjGNpABfYSTNZXCFoFstFhxbqBUNzfoCcfvxEjARTfZrSVZFoYQBScOOBaUMGtYrfmwCjvqSGlnAejFbTMGoOnBRHNlDcDqcLOQizegypNXABaFwVXtKRVzAzqUfioelpZFellPIyLiUnRuplzfiOAqqIvVfcwIMewQBOAZrhyRgmXCkn", "CorIHxzaYqJxuhufVsaFjchjmArUFdvjAVPXRZOjxLJwfDzTblzrynWyTpaRfXgvINnKiUVdFtUvCHopWHpYQhpgRjunNpwMxvVadkyFldfcbwVGrDmtvyMhQqIfFSgyFgfTgsbfCLGIGEaMmpRmZpyfhtpWnjzkmFUdtsMGxUbjkvoFDWlfIZlRiTwGtdCJkkrfbshxxXXfJImPcdGzpxFtzPPFoaNsshrizqSwTGOXQrECuhSluWVDttUojXGz", "lHyZpUuYHeBZRVEFHYmRkZElVLpUCcuuzefRocxVghDzghgBkhvThgkRAHTuPpsLCJyzShhMjWFzLTQfsYbQCqcvyCPWofQifheoGMFbXplGJxOrNCwaVMQCMiyeTMhDIBmTfcwpgUKIbxwyrivqLKqWFKPKkWvozPaedGOAKbdNrDVEnaKOUceZAkmtgRAUcjWiQqaviSwvkesDLbFDIeDgEcnTmQvMMZFUxRpiGjMqJMmCHQIHwgsGhuCPAZrP", "myPnlStFqvtWtOuVgFUWlvcmTnVmOznxVAiiJlnnlLioRDBchJbDrLNbpPPkMNbgGHfJtQguHfUuuLfpxlVfgvOwMmxBQZswYzljEjMOjYmaJYeKwZdtaPEITgzlXrlzlRqcfpHnJBsCHOiljjhdgfGWvawiMYUVZkQHfULTnvLUMwLbpxauzLEJeUEqfwNgJDGYTjqsUGHQNjGDjSwXWiaLWndEqpASUrpugLKyOaMOrOnkZDCmyOwGwfPxdDzg", "YZjFrFIuVbRJjWxSuwhYsNDctEHsWJFULoAktWlkxbkUjdGzznGavHrzXtIpLqJsujmXwWPhtHSiGrlYTzwkKbYHtYVbHPaiHCoFwFiONDYvMGUDdzFWTqpAQRSQtZMDPSXkuwJrsubqXTmDjlKsNvtYLdOuBnvfFDqzMDjDaztoRbTowWnkNcKxaJOTfOhMFaoWdnRapMlWDTdpmQyjaFogfMIuUfoNVXQhtxVUBIHYmvYxKPdWOTzSYAyJsced", "TbCdjwfllWnkrdBNECrNXHqlqprTqOyURWlySQolIjsJHukJSrnbaZqZVUmcaHAQpnNbjWvuqrkJQGAwtyjSyLROzuMylCVvQSWNKuXnnxxQijycFTuMqjUbtCSTzwVFTUXPqYdercMRTYMJkLfvOwOHwKQYrAczuNraVZmlxDdXYHbkOqWCcqRoLNFLSqAlxqLqLEwaWxuvQJloHJUzwkKcahLaRjduSSIBGVEbYXInVkOWVTCNOEXCvdsQlyKX", "zBRGirFLuVjFfjhXWZBrJiwfFAMSMpNZKMMaHRMoQCMYsDlZFqXJuAbATAXHCZRaGAMIiPoKjvldHEXkDAGjQBTEHreNsbMqqTPScBkbVNFQZrlswpNkjnDgZGImhvFZUxyWtZwnPvKZCshTgnEjDIEreLPKpViRQUkGEvLLRRGZwREddpYNupXXuOhJfbspoItrxuxjfknOscbPfObxKEbYNXvPvHLbpWEKAvaKfqnsjNNRnjLRTEcLVqJmxhWc", "iKTxvLbFoFSMQZgbNnlPVzfYqQJTeVFQlTOeuCKuFSVNYMMvyUEWlbzSYKckSZJmJhRWcNWhRowxkGiMHQCzYfbiVgUqUAmihdtCQrrRStSaeDCCROQCgrMkNiVScKhqHSrmWWoKyOcIzhtnXcHcFbqhVsfyBNthoZGCPYLWaAvXmHIqjaqYpcjgLpDlNNgtmkiDZOUHgaLqQghGCdjhnEwWtbOayvxTLHqdIizIqXTpgiLPUHhySdAEQSQUOMkB", "BxFRfignlwchhNIyxOIhOcdmqsDbzYspJsoJSPWIVkRwGYUMcnrhtBGDDrLeOYBOBMYjtaXfjnGvHxtWlQtpYmisNLJQxUEsptChgBHsRsLWbBFzjIroAAkeMUhDTSjphLHABIpQRHYBARbsKRVdPzwCQJZwRtgZPrzQLswjdpiMmDEgJDexsybHVdeVdAouyISWYfafJAPyvvhCaaBEDTXgJOoGTCRDwhjGbFFsEOkXvHABSpqvGQvtJruCLXBp"],"c_tinyint":-11,"c_smallint":22176,"c_array_tinyint":[24, -47, 92, -44, -93, 114, 10, 106, -20, 0, -12, 105, 116, 18, -12, 127, -36, -39, 99, 105, -118, -46, -6, 106, -2],"c_array_float":[26.155241, 25.261223, 25.498775, 90.30366, 5.472854, 15.0260105, 1.858115, 9.603518, 71.61771, 3.9832687, 93.19464, 27.13277, 57.511585, 46.81791, 24.365475, 82.421745, 86.54056, 25.040285, 89.16064, 58.206722, 62.581696, 25.432068, 51.893852, 25.910414, 69.9228],"c_array_double":[50.002532895930756, 10.832971811288733, 10.446152625847676, 24.102107147613907, 99.65818976452236, 73.49848224544296, 28.85861609521167, 39.69086347911396, 17.474757725397627, 62.1975246553639, 15.745518005073176, 83.8914398337231, 69.45559154335582, 68.19076620163436, 12.11074143606634, 38.08888558157454, 91.36186441015302, 80.81841187570483, 50.944980041171135, 85.6654480524152, 28.668667018676356, 86.48637813726799, 44.217470309512414, 95.42579011409498, 95.63814409335056],"c_map_ipv6":{"c_map_ipv6_1":"777e:5c1e:8bad:5ebe:c887:9491:9559:cddb", "c_map_ipv6_2":"7279:1263:c8bf:f1e3:7ec1:9923:4875:1b96", "c_map_ipv6_3":"ad9d:fa7a:5bcc:29f4:160a:1ff0:3686:bcd9", "c_map_ipv6_4":"b6af:68c:20a5:bda2:a5:3d56:90e3:1d94", "c_map_ipv6_5":"1d0a:b053:e949:4cb1:37e1:d5aa:3e44:df9a", "c_map_ipv6_6":"37be:2af8:e41f:dba7:15d9:95b3:a01c:d386", "c_map_ipv6_7":"145c:518c:2b55:f992:5aa3:91f8:c95c:6d63", "c_map_ipv6_8":"516f:e1c8:4819:e14b:9271:1af9:5d46:512d", "c_map_ipv6_9":"f0e2:5dd0:8338:6b5:197b:136d:11c0:3516", "c_map_ipv6_10":"2501:909b:2070:386b:e66b:9451:9a17:96d4"},"c_largeint":-7492142684048934528,"c_double":77.495158728197,"c_array_date":["2019-12-07", "2012-10-26", "2001-03-09", "2015-06-16", "2014-06-20", "2000-06-14", "2012-08-21", "2004-02-22", "2010-08-27", "2006-11-02", "2002-04-13", "2004-07-15", "2008-05-27", "2001-12-12", "2006-09-18", "2017-11-18", "2013-03-15", "2015-05-20", "2007-01-16", "2016-02-09", "2009-11-09", "2011-05-22", "2003-11-22", "2012-05-12", "2001-01-12"],"c_map_char":{"c_map_char_1":"LqDDvhKzGy", "c_map_char_2":"HHPijAKKCA", "c_map_char_3":"aBQIXNCJye", "c_map_char_4":"aruixfWtOJ", "c_map_char_5":"qnvbkfhDjX", "c_map_char_6":"IqeyPnMnZa", "c_map_char_7":"CRQehJsxbt", "c_map_char_8":"JbPwmOUbHf", "c_map_char_9":"rsnSpWwShh", "c_map_char_10":"dWrbFGbxhe"},"c_map_string":{"c_map_string_1":"BJfSNFmmvPcdTaocPDSmLisvMutPUFrveWJNqjPGDxFCUZWhKBNMyMutRJAJWpQXkEUheotMPCOqZSRVyGhopBBdhSHmEVVJjnpeGTNBnzqDtVwGIyYiCIsIpJFJCffUdsJptcABBjHNRhURZUGBZAptOzstLIJtGIRBlttVhmcdmpDVUfvEAQoFYTpOpkXrIlXFlKzMWghSNFcSPyRPQWvEkhKnufwAnemrGMSgLcvdYqMyzCbKJBYDKNOvSfZTkQRwCXqBqlVQTcWuIUpViFEUdsvbUiEMulYAPgVvdERiJahSZduiKXCjBZxYpPHUbaeVVnrnPnmLMjPkMJyPLxZkkAJXDeXFBZtnRMMbAMvqDRgqlUAdqLcDEXYLwRDxKLOeCIimAUfSSNVfHvUOkvyCwVsBOgLGDNKPXRnmZDtsEEwIzJCGfwdKFGYQYwmRocnezsKyfNAyWtexIBeMsdJnrGPnYGEfcjghrpVsMbPoZoqRbCRhuOUjVdUerDSv", "c_map_string_2":"FaoIcagQRONtdscPWmXcJsTZUpycIhKjqRVZzJvTGJCrpwRWYmfRiuUTeWPndcIuFpYgXynZAnumsLrEAvLUQuBuHuWrJgYxwpzzNExXDbiBFxkdWPFoQDdtWpqvLOCBrzLDfcXLAKxuhNdvbuAvFxiuWdUUlsBNQIimnVtvwnzAmQdXSezaGPSNHvnBmnKweZVmbqXiBdaCYVCGeqkQfpMiwQDcZtDRDKoSvvsliaDQDTFrOIlKrTuTuHqRGhvXcvfGpBIepoWKXAYTMyppraQJNFFADcfDbuEowuNYEDTveJbiUdWXqFDgKEBLhGvfJWKYMLqBzgCttzwyZTsJWRxViUtvCjGVbVIuEPfmtfsUyGxIocbhJPEHTTYaghJqqvkAltWEKzGLVovIxDtCtFvEFLVJpEVUJybLiPqZvFPaidUmDkaCgmJThRzTOLwkYVUsepWDoFQVEBngeayEtQrqdJaqDhCXAnBrBcyJOSrXabIgqYhcxwwFdGzvwNqZ", "c_map_string_3":"TqDzMqDAPtStvtpghobkevHdmDWoDYFkcpmZkWyGJiBlBpmEtywOFRoiDaDljtMRcSnlwINXZJoxYgwfUbZVwBKkAvzcFDDGAhgBbRdoTKISdFimfEclGmxvkWXhjpnyytWXUjRgNejNcwJvLxDKbswCZAHrlMFMPKrpXiwtlsFWJTgdbTdxLXKJTIgmxIzFYrjHcNVriZEXKLYLYzXbelEFEUXrChfWNAiwMWxrUVrUEVhliUQFZfvKhhSfYjqcYZXrLlMLFqxouIMzUEBzSTkqWkyplNpqPRbLSvxiWZtpNmKtSZYlMnbGRHNPuPmEtLncsrsgFHeJsPqGdJpxTJuPiIaoLoqUMXfMJslNmtgmDIMdOFEUQGnxnGYttcBEvNmdNLdfBZqFRUKLBFxkHPRXKtyBstzoLSQYbvExCTfuGOUpqBMwRVcncuGrOfqoHAoPjBUWrGrwbhHKwBdeZplJeouRQYVntaeemrzZmbCmEsYiMKOrffKVQPCvkVON", "c_map_string_4":"emialSPoHJmFEKulNHlCCXoMuIXEFBfYxZQobbUlVjpjvpdlcjalIWpTYQILcABwmSCGzpgtYOBqCJbsoGHPOrihgKZtjMSBhBHQqZfogVQSZxJXfdpAlMpqdEoXwKtreaNKzKndudsZgUKNbGAbKlGapEIBdXJRFhYrWydzuglgRHRyIDqKXmNDsbYnxaBokibGduOYFYTqEgzxUYtaEzfamlFpzrJLhldZiZQGEqeHqLfXoOQliBcayroRDeXIBnmouKfVJolWArTgHgXCVjiPqnnXsDjOcUgKojRYujGmEIUvDzMFIoxnZYBqOrRIHcKGNmeJLvPgiiHQhUbCprNcgipuBPcQKlfMrnQCEidPnWoPsaRYYlzlJXBkpNNhjyeOrioqlOqqDoxfjOisnfJRqdWtuRekAvDrFsLhqWWHCzbwPUILTAWsrCrpYJKIWwuHBODrNMXsNpWtaRtDUwEtYGpUOTMjItdQuBLplARzvqSUnkPaPwRNfhDkRNYv", "c_map_string_5":"phIpMoUdZshiLeVCmfpFoduBaKCWOzoCwKEDKLtTjnxvnqALxQjQnEypLnRvVDOYjybTcvjhmnPZtoHTAiHmpEgnEFCYytGNZqPUKWpoanNewtVGstiYezKPQCrQnAZIxxofmFHaAUymsfdFmgiWVnWCZbEfNVggOqZwWnRlXjFHKnKBYUrpwsietPNnDXrAawdEpdxfyjFmLcDafpsdVkXurBBHCiXbxGFrOxROUdCTvZVaFUjyqWNKANJPZJPmngWRjEezBchAyYnFNYBsJORwWFmjSubVyOqJLqKNgOdgboQFiRlxppGFmrvZpqBoipmuBCpmyWGGKyJdaAHWvfJajKWSFvvUuwalFJxvHFIPHuvrxXwBogeEBjQNjvFXqwBLvwKaWqYKKQZbljhZfUdvtvVYRASiSKkXrsxSZUncxwZYTUfjnCFkTPkUDavuQEAopaDDcnsVHScvMciTrZBxTMLFcxkQrCMkYafBuMrNDAEKWUMYfOtMGXMUbNOq", "c_map_string_6":"EqDEHMKaLPurLkCyGFmMjVyHZwZjQEwilGPauFNbRMTQkQRDzPtZjkxmYitdGSoMCgOuuMyEKpLLhvRaDuGEQbxDBHTHizxPHrbrQitvMbBlAMlzIuUnDMWqatCeVyeQmBSzTQFxMJAInQGzLmPfockLWwSHIGbonbvjBvxVgSZtTvzFiJadLcdacHfMORRyCJccoytycrfSgsUjdVbQeTQJcKXDrwHxfbUqTZcizydjoMrqSCXbuCGGmRAujeCQikOAnAoHKUszorXTOCacQLLmpHKwtHumqKClbAyomwoKvaOaHnqwuCtByClghKCEcAADmpzoAVxColvmVzhjkJssmsDGLsjBNYReXewTeRlcKuzAJretkEaAvNYnscgYmXkBkWpTefweXcnDETuhxoFmFaTWCkKbkFVRPSlRDEYdLGMemuAMIvzyekuTzuhdnqDrigfurfBcElKbZWkqTUQyxfNrXJtswalrThHCXKxTOkKXNVroypsQRfzfyijz", "c_map_string_7":"iHCzxgWlAMEgrimsTVlcukAnbOJppQCYfuNFbOHnDHyUsvAFcSNLaAHNpTlVoZufnKjEvFUlSYdQfhHyYEHUYGUYOPTXewWEmUGCLjahoUzqhMbCeqSmaHOnQBeSGvzkRCfDmAcsYbIayMzJsTAXgjLIqQPBEBEgMLALecZNIoEYwXJBgcXpBXkhmxFjUyoazQkOvkkCOOJHJybXZisCfgRvjMOAIatENvZdfGCXkKVphIWVXruthZfRyrnYpKTWMtxSbDeyIfHavVNuapYQjXwQWsjFlDvtMVHTxZKmaGbXcvjBfjxtthreQmVkSXzypAEryITqXCiLwQsEQgIPSpRFrSnOwwragSWRPyFfzQIaYlxHTbhdQNdYJVtbdvHZszVDdKZhmNacScswuprSlVHVOdECktrvmZqPjQQQVZSbcSxkQokIzxUBwlcZVNTeTdQHRgmnSGGSQmEjEIMPlFCddNCWdbAujWQoAIBlzcCbRvoWQvNxvxZYDIyFesHE", "c_map_string_8":"AtwhskYVdMrbdRxNIYkmiWHUQkMMQqqIySfafQptcXaZdpPWjjUTYkBvOLwRWyQgGBgQwDGeITpmrZUiTfznfkfWBTFSViSnqzLCPoJSNLbSEAXxATmLhMejKriPblcXNwvlXPWRQmlgUhuFqjTNkTdszkCQMtCMNesMujiflxGrhssKdIhkTSPiSZuEqFDTbkuJvkshgOcDkiWdgCUhlybIywyOcTViImDJdvdZhLCmrKlcukYqeTLCpRQNanBLDMTLNbpZItApQoUPrnoRmMNcDCSkJvYPdphDNSvGYZdlcRvaFYFJDzeCtfmQhWrDYZspDEXtnKTtgOBShoVysiMeUAzHqSymmnbFnWybarZxyVIHADXJORtqeiobgwwwsMFPwSLsXIkhPzpUYaRPPawSrMbZgLUSlVLXmMwReEgLhhPurTWZvZmfaydgNUvhgXNfZJpWrRExPsmEyNcNEaFpSGRMkJXTeindkJjDCAxObspgtSOcSrgjSepudnTo", "c_map_string_9":"lkNAebHIWysqsqTjZMCoCfsGsihBMxoqONiTYWqvZKsQaeKkpLSXzzVdmzBdrZKmNRyHPeaFycSnokqKpYVJpQWnmLvMTsDnzlPFNMghdmDEtEDNCnitAqdpVJZgMJQuxKjBrnytvdZKdehyfdNCvjBDfhdhrjoscMjuPaZlquzTISAEgSUyhZiTOgtnBQZrrcAJyRxmtQqvwIFldXkhGUUOuyOAxCTWwKuVTrSWyLWMPzbViPnqgrKvKKqOARPvqCkuNvsiKYUmydcyaQYPCfLISdwqPIfujJbZfSEZVBeYRyjsoPZBrHbgaGgvdGsgOPCDOzzUWeDdpqegKvsGzQauZnINLFDAYmAZMrEDpeNSbLbLffgVwCIwKopVuqtZQNqEeOWujEFzjDEryulHLTBcCktXZoDabDgkWzvSEiuerXiFpRVCHGGWbsYTQTPAzkBWFngYPERFhcdxWOSHGFxiZyalxlXZFsxtDWYSuJIzXoZkBnFlKnZBRCFwjTFb", "c_map_string_10":"dHeFCiVxMdyYhbpPudCDfKQJYLBxyqpibwCgHcpjXMLsZQEGNbXUZpXElVdmWnDyUsoAqjMFFgqQLLTpwVWksOJxBREfvoYvGmojBWiXbJQcoWKegBVhqlClMSIugKefTosPUDhhUNLHvfEBiBmfzgGTvkHomAgWQfOLALTTiIwuuSxmFsvsSKJDoJiSdbQYMfuYgBvyVXSskxppIqTtgpukBdJuFkikMgtywNwAsvuUDOKssCmaMBaYfhroNyWodcpFUTDUwyrtNZwTLFliCLbrUrSteRpEulCqAiESJjghCbdeFygzuhXvstPPXKIgSjEnEXGWIYtwsWGBhdTNKXrkgnnnnpqznyvhnXKugoIAahKgIZitRSKdBKZtEudRZRXAETOKBJIDvLBrwcurTCfCTlxzvshZnAOITcISLIvoprUkKAkpAyTNJuGUFRZXbaZehQnHRSWszvFYrhuXzxMLUbmBfKAEhMvwQQUMeSDzvguworJEvzbiRZepUkIT"},"c_map_date":{"c_map_date_1":"2005-10-16", "c_map_date_2":"2010-06-19", "c_map_date_3":"2015-05-07", "c_map_date_4":"2014-10-23", "c_map_date_5":"2002-01-21", "c_map_date_6":"2013-02-08", "c_map_date_7":"2003-02-22", "c_map_date_8":"2010-09-13", "c_map_date_9":"2015-10-23", "c_map_date_10":"2017-05-05"},"c_float":0.3326727,"c_array_char":["iPTVRWBozR", "DoamGZogqK", "AzHdUtkpZP", "gmftOvsQGy", "ODXzdbctlR", "EnvMEvJJII", "GyBcAJSgGh", "rHuHvxXSeW", "uvFdAdSCDx", "ZLSHdiMtOU", "PkaEbEwSjC", "TbgqpXbKyt", "FzdMXThbLM", "KIEJutpkWn", "zLyxZTPdVO", "fogmOeryEH", "BuFjICdzOv", "fQqZIyfPZd", "sUPaAaycfo", "CbNKScYCpA", "PXbKHqAaoE", "HXQnlPqtUn", "hQpPEhbWzd", "zMjwhKmlkY", "KgsvanQjVY"],"c_map_int":{"c_map_int_1":728494984, "c_map_int_2":-1761553117, "c_map_int_3":1465463384, "c_map_int_4":-80821941, "c_map_int_5":753994720, "c_map_int_6":950371930, "c_map_int_7":1242457167, "c_map_int_8":-757120173, "c_map_int_9":-1426615699, "c_map_int_10":799960074},"c_map_float":{"c_map_float_1":97.60164, "c_map_float_2":45.192623, "c_map_float_3":61.326626, "c_map_float_4":80.846, "c_map_float_5":55.123573, "c_map_float_6":92.609825, "c_map_float_7":59.23155, "c_map_float_8":33.813324, "c_map_float_9":51.00531, "c_map_float_10":30.731647},"c_map_double":{"c_map_double_1":35.65041998702152, "c_map_double_2":80.78535200299109, "c_map_double_3":54.50226803518965, "c_map_double_4":11.092867925567885, "c_map_double_5":10.184290141577646, "c_map_double_6":54.083402686805904, "c_map_double_7":23.869505315560083, "c_map_double_8":6.958483974808086, "c_map_double_9":95.07260380450406, "c_map_double_10":82.05230168928361},"c_array_largeint":[7755949419168199521, 8741870303717357706, -8442687583921208919, -209014729773227226, -407129098214914290, 4199015332277975043, -6557433051843850405, 5230975801784235827, -1877860598211925863, -7319123096426125002, 2857673600237330400, 6048623089274924142, -3182575275294391686, 6091359500252511155, 888605890478237577, -5525976909393938438, 7654894316546032822, -1106049387735958984, -9066709136687757560, -573559195509703668, 2396650417993770399, -8058263433259915789, 3152689152231192607, -3831779570853170449, -8193023599913864051],"c_array_ipv6":["PhZpJIsPtR", "txWNlXajMg", "AMkLOIWSvh", "rQDAiusOoD", "vbgtAFXTpQ", "WmzlFaJMil", "ksZPugIxha", "zhlFeljgwG", "NEVBZINadi", "nibdwgrKbw", "mNJxcUiLTj", "jUMAtfcaUq", "WhKiXYLxtF", "cvtsbbVHLU", "bvehhyVJyk", "eCQeBwAEwy", "fEAGbyJbRT", "sJHTXPGhii", "gUlBtgUAEg", "fiZdSOwSJu", "ADYuMzZrsL", "vatTJnxcrV", "PdkdlGOzJc", "skteeXUvUN", "HIChkYMVOr"],"c_char":"dvGOMaOrrL","c_varchar":"know","c_date":"2019-04-27","c_ipv6":"ac56:207c:ff74:5c85:eb81:db3b:95f0:2dfc","c_array_boolean":[1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1],"c_array_ipv4":["pdYwkBOtmI", "dLmAmPPIdP", "hCqNlfZVaD", "LNwVzssTQx", "TdwnaDrXYB", "XdUOAeFMoX", "luoAptrTkn", "DVhNYxGbuk", "GOYuikmoaC", "ZaxLhPVTKt", "pbkzBZcXdg", "kQQMjAJXzb", "oFaSbmUObW", "BlGoHjUhbB", "XxXyxnToaS", "JronHLbrew", "lGEPfHAERx", "NwawwGOChu", "tEDFPmvILu", "CjDIJsNUZV", "PvaOMsuFCC", "KgyOPnRqUh", "kyfXWwieMS", "QjGHxgHmpD", "sHJvMatGAS"],"c_int":2139257133,"c_decimal":65.0020,"c_map_tinyint":{"c_map_tinyint_1":5, "c_map_tinyint_2":11, "c_map_tinyint_3":83, "c_map_tinyint_4":-75, "c_map_tinyint_5":26, "c_map_tinyint_6":-79, "c_map_tinyint_7":125, "c_map_tinyint_8":83, "c_map_tinyint_9":-69, "c_map_tinyint_10":-14},"c_map_bigint":{"c_map_bigint_1":1192853408898276587, "c_map_bigint_2":6919958526684304832, "c_map_bigint_3":5120989347532860564, "c_map_bigint_4":5142946962519249936, "c_map_bigint_5":-7939755303389233733, "c_map_bigint_6":6866973994215307689, "c_map_bigint_7":-1096526055073587762, "c_map_bigint_8":-1139530902366505970, "c_map_bigint_9":4549971042455871792, "c_map_bigint_10":-378944211648698151},"c_map_datetime":{"c_map_datetime_1":"2017-01-22 02:08:40", "c_map_datetime_2":"2017-05-21 06:55:16", "c_map_datetime_3":"2015-02-01 23:27:57", "c_map_datetime_4":"2011-12-26 22:52:30", "c_map_datetime_5":"2002-05-13 01:36:36", "c_map_datetime_6":"2002-11-08 02:54:28", "c_map_datetime_7":"2014-07-19 17:46:01", "c_map_datetime_8":"2012-03-19 02:55:43", "c_map_datetime_9":"2006-06-16 12:52:25", "c_map_datetime_10":"2016-09-24 06:53:16"},"c_string":"kJsoHxYuWPgoMnJiXqpiLjkzGhStdNzUDrkYdlJSYZgqTtifcsRTbTqWlAPDCMMTobxkmgttYjZMlUPAElcQKgcVNnhpFBtFjSodnehPOtTsVWgbKnpHeumTzsPgJuhxPtifKLDkivIMSjuOPCXqiMGeYBkoCDtHPbPeWBNhYuarCntQWCtNTlcOLMaEBcrUxgxOeNAKpglHZMmVPrfaqKfNDlKxVsMpJUIyKjgyJKHQXHhdzOlmdepCNjYWRkIuWsrwsIaJTJQSxljxhFnThFweWHejRemBefcENPApEdTngVoXokugXHmEiIzixcLrNbfTeQzdQCPqkaMYXsQHCGKWwWYGytQxEgrwJMHoFWiPwMAxcpaVcuEwEsFesDKRQRSdXbRnMJFbWcyHSDqYKBpximFhAnIYAudLAapKHHwQmzWIDreTelyuhznVaMqCKqZGmgiQeBSPHLnaSmYoUKoCcsXYnaRwsqHXjrLTfXPKLwiJEiJLRBmykyXHcFoo","c_array_string":["GHphjfNamCxVwJTPRNjPMXiwQqksvCYxLCikuEObOfAeWvOFgwRzAEZJRWiJbtBDIcYeCYYRqEcVWYAouSGnxCGSyGaGPuhfYzYWLxnRMhYdhXdkvErvHUOJAmXadVscBfVUneyRtuyLdHhtkuybCjNiHjdjOstpoGbjLSKQbeLdYZvHbFNSsFQuefpBdTsKDqWKGhzurYGdblIVMSIAmXuevHEhHVgmwemxlsdHcyqsOCQvIzDBXdnJecTaBcHamAkOooKuvrSsexAvvyTSEaAOheOlHBxCksrcSaSUsmuGGvbknfbTBwSXayUDLCgBfwqkmvKjyFnfpjkooNjTwxanpWZgExNqQbBlJOoWMdpfbUqMyoFBgTAkQyxvgnHqEcquqJLaNNtuKHfmuxMJbhgbCSSvwfMDWKzfznaZztAPsBoWkpmEevwEBZZRCJkvPdoXpXuYiQoXPWTPpNidInrsEyOwMOvELcjUQqRWxEfZqpGBOjbsksICHsTwoQIo", "KldgYkNffdoGcSksNGYlZiMamkpDiRIQZWRhnpLETTBiXjjAzWKIdlZebRXgYkLcSjHJZFDpsGrADEwPFynzaEgIjhmifdYWikFMDaGBZGsTZejhxhRTKceezFMcCemYBGbRuTRdSkfNmGOjGLwiOVqPFvLeIurXjEkAhPAFXjPRLCFIHvBOUoUYAeKqyOEnRFtrfbradKlSpcKwEMiXQgKmevCLBaQtpzyrgIhjzPubrTVWfQpxCounQDKuCbKYnnvYIaUGLKZoqLFkUpRABkXXWShqkgDyGqxhKVxBJbQYuqvEbvaNuTSLQDDHvytSxNdRTiBXoltZaimLenuoLVbuLGlMGoeMjcHxVUyzPLiBwLbsHDwHtIFMDoEStDBouwhzwNHcAkwoBsrXXTHPGzfQqQEKeFIrdlwllkpeTqfeLEoMdJmvuOWYzSUhKfKqNZwvOWbIfhSrsfvVSBceKwSPrlZjysHzbuvsxgIsLRDIXNQOMuGgceibblPBdxAg", "zZbWVCFUqxYjhUyZPjkrbJuusEyacFUCbQuvnSZvzbHfJuNBrBheCnllmKSnmiBAGpZKXAaOCrFeIHFqCCmvfFiVRLbxAExNQBRwxOiwqLDlqIIttAGTwSNgvsckrrBIsPZiSZYuYXJgwMWsHMzrTVCvNkYVjhRLqaWjRTIgZPZdnbXjvymcymNwJACYUzCCmbdOpvZKVlUEOTfOagFhfBpOEjaGsQNaZgScqAopTSeHcBlbWTHsjxJtBUdXCVrPIJPuehKbXUDnmJzdZiYUSohgywsDVcvoHFZGXBGcoruuwjXXQcGukuzNdEMusdTixjGlLnVWUcvekZHlHMOTAJTdMobuGSERxPgrUmcSigpJYUjNsNZSIrsesvInYoTNCmyXQiBZGgXYytCHRpPZjGckdsZOGomzsjjEcDoOdMXxXDZhRcJtkQYAkiFfZeErWLLYMQqLYajjThiptkHMmvhAMHIvyFDxTTSWKZcyMGApuzuHXhPDpwTUoGcgcRVf", "hEUPhvOLvAGnrMSrFcRCnhBWGBdvYqDfKDROIYzgplnLyUvTAjrSqXFEMhhGOZnTmwopCWPMRZWURpxkwVIwvFIzLMgTiMIvgPSAiBYzAvSFjdgRHdusNUPxEHZOWAOQDCCLOhmSaBdchivHDnaOuqNwqagqDZJgBuIXHIeUQDJxWjWsNjVROmZetpuugNRhgFimEFkCKShNgwIRBtrtJIKFqsCBgSPqRdFeUVtCBQAkVJoTOXrIKCZLMWwcoWmiXItRjGaTwEMxzzKEmkQCGiYMDOyZWswonfyZoDLgNUDBXTVWtvslfQrpKzycIrAByuGJXoHMLmQaBVPGORdidhmngVZWRaPcogpMnWIfCTQHxqKGmIpjrKpzKsqHoJjesNIsFgSFqGyDkcbzkUszPsNewWSVDddxUaScubMuhTMTuieIONzsxwdPMBqpgFgQwKktPhLTetXdnKJevidoyODezwIOksGVtFBQIrlbJakPZaApUUnMOIrYgQMnBwmK", "wHhDFJpSsodiMtmjCkFtfcRVcDJsPbifLmojOwaVXFcFsLLEIddYkpGvScMBVFISvOPXlkoQQFbwkSSjQAKAtWSOyfMtztMcjyOoGlWTYJqPiYRbFdKvgMJPFFvfODBOPrwzlnxsdFGzZofVrFbIgVCOQlnIgoEaJhwTHYMUBPsjRMkSWngUXqEfgvxFQhCKzcyRjgjFGpQBjOAmGLENctydllkWyxqgSWwUTlxJQRmlfzHSdvlSmsGbIroMAUQYeEXZqHzhRYdAwTjClSIAeUimyraxqDrReGuAQrxVaDvvzwgALRUSmepZEpyyWnsoUvXyBbluANQeWMhRSmmuJTfJDhJDQuhnfbICwRIGieuvAxaVbjvYrLoGCHmxTcPyHkdCcJaQVBQidlDeiDIpOsjoNOacgZlcjNtjbIaaDTOcBwlFFOIbkDMZqUDQiigAjKVrzhzynkzxhqDVainYHXHWHzZjlaQCMJhopPBZhrRiTKdOgwWRsOjNthylwTmx", "aJtvpCIdBQvTPDCmyjrVopVXHjwIGltqHHdRgkFdtRIawhZrvSesuZrtVGoBOPIcwwGCZUVxQQNIqIvXUiQxDVXBRRnZKSjRjwWIvcJcYXgYruPZJLyXoYzyoyAuWxszDrcEIFVVywIEhEojlVfNlZZQspjooPNiqfTuBvbdVjSbAegxiIEYLoCphUpKOcsqVIeNRRUsPOiKBnqgAEuApevVzqbWyqcbEpxWdQrBksYJaMnMMnsqLnctJNrWYYTwruvaayagcmOIBLSeLQDOexZgkqEdOcMDtzZGuMNbCoFoKhqjhhwudbmzgeqCCIJcZFcuFyyQegrXFrkreFExwEjQizzmSETpQnucoiIDlGRjVLRkghIHGZGITBrMPkjYaXIvJfPoaeRnQtgdHWcZujAdCFSBXwqjyVgsaBoqUUDQDSUXXOLLKKbQYpfRyYIkVpBhOAZahFdvJcSpjbIiOokuTLayZtbfQQYeHBlnrIUvbdcmcKwzvrvZrZnzLren", "urkWJcocqqXNBjawOvfspaZTItPizqRNlWJFGAErnEhKtocjiBfGghWLHYnycseqGUnDosyskLqwHwxlwbBQmHSKvXgdzWOhhVEaVNomlsIDblNPghNyqPitaKxJsgFiQGnUeJhOpgyWGHYtBfHPNuJmZcYaRhgnHudnFYLDMIyqzedwYzNGJYdZCiRrxlaeEoKjKYqrCtbWoLbjNCTyqYCESRJYKQghryDtEdJbLrJVOsEvhxqJZHsjVETWDCXoHRXofMlGitcWorGbIztwEMyLzfjNKTxMqZKFHZckHfsECZYUcAMIvZQxphzBAgPpxbusWJhBpjEAkJTdrFCQvNNsstNdEPpiHpDZbbYRkqavoChdtiPEszTbzBWXfmRrQvlNwkIjztvDxaWPJgtKIGwSsoctPnuvtnkMwwpfJQhaVgMzrUIyYzXjyjVnSILZdmeDmRelOlqVQELcpQoUYQpsaEIzaSgzovICesrifBFqMtKWexNhTJkeGTzVpzfn", "KvErECMCfevjSBxpNVzSbSHNUCcLOVdzRdtlWWkKSSBiBNJwhfDTWijPweoXyjnYhROaZYlGkUrSuzWUeWyLbVfYNfvFVBIxgHCatGDuwViHnwuJkoPTPPPLEqiUrglWsTFFZWCnwcBuKjsAjGQNJfZBAavOOIiBKZysphlwiMJFCWTGEGezwiogWRaPttFlCJWZMaxzikflOnqTBVdPhmWBCFEkqJAKPvfSoGVfmTzCpsVjldAHiOCXWvJggUfrzwiahpJotiZjIRsYCKOCgoadAxVVXfiPeAsAfdxwtClGLubnDhpBJkcKBvWRSKZSlzhCnIpmUDFNDyLTdkZAnsMINtGPicVAXjPfslOEYKhOfLsIvWcUVsNBSQSsBvGwpmQQUNfBrFVDQXDJmGGFkgJpNwkYxljFUpWKtyIsHQkDiEtrLbzZKgvxyAHaenamClPnHiJUIrAJAMKAelWxEvOPSlCyOKkUdIKyTxzRzsmKmzibcUrFVYnWHcXHZknj", "DyLNnWkMQqYVDxWHdpYdfexzfCZHlKtXtQqekDDVYBZyjtoqxBqdCvAIwmNTTgsaUapCGTmvcmDTkZXjpCurzuCjcBVzbfDdPdZnJszZoWYgIZTsVvAusQOfuIgYvdJTomcdzRwdbYzGKmPsYxLHpgZMSkTyqgOkPOqejhUgbwNvmkXHCrbABgDiWfmDJnbNIsdTnfLLujTIQlXhAToxwdZZogiyHFkqOMrATDoaNGUWreNVZdfHcGVvIapboQgxTJmKDcScGMbJfvFTXBccjagsPnyNaIyzinFYVELmRwKagIkpjWQcmNqMRXVYgKykDpLSieeBWNCHEBRnYWUzoCQdsfqzbXLUGHbHPIFkKsFUUlMdLSyKrtkCVxPXprDLKjHHvHneKJqlNpGOKGbNbWdpunGmSZxvHvCfalhDSyuREDmUyzKBRCmcqBYlNFplNepYRqQknBmPfRbZQMvlYZRUXSeXweszWKZjXxeacpcjEeybSoAKCPadvzEfKZnZ", "wvNBJUBLZIUVnhVKQbFwUWevnkEDaZhQWrjcAeEUaLLZnyMEWzGntjmJFtnKsEkuOJaNEPUysQkthvhXlgIjoxGPUAZtVylLVaUpwxSfnuWccgfNOhIvwciMmrMNQsoxRHQraHbvhdGPZzdcNdXPUENwtwoQHzoZUqxmNZgmDoEHbxcmGDCLVLHCOTdQNMOQJfodtGaAcjCVsYnGmMUlQQvrSJnKVoTroHSUKUGaUojmpaaqugyMCemkiuXxSDoFbqoRVDhMvrxTEvlQgZxxUSZjibKXuSjvOFJDNxCrJhNUscafaCUccJqrqUfhOhGUpqROrsDjVACIpyNWXbTpjEFvlyXUhzsIMKMdEelCUhOBHajPVAoDJDLYlqnNEmizUjwMAOrqQaqGXsnFHqxvjPCtbENPUlBkAlhEjEzhZtNKsBQafnokqiuFPmbWJiFpRTGVYkddCvQHHgrjlRZoAcEHCsVfLPdqllqQOiEhmBhJuYqMYJPbVthkAvuecWGk", "KVcilvCSctvzHYflvqiDOrNRzfMlDSighaawEVXFnaBSOBEqjOLSzmXklDxkGOCdySfnWBcpcQWfJpJwsRYswxOZMXMerlaGleicBXhSEYjzbyzaeceulBFacARikNZRdEZwXxvGlKQkgFCYFObqPclUkfHxvThRGgUMjHvnCClZUUTiamMzuFNMBfABwJxiLLsrtwADdTnMAYYVvYbuFolsCQHtrMuFSjOLbpgIcFQhKMlGrWFOhANtBjuDFCRcGKfYxSWoNpxIHybIwNDsoPSeEptweAFiGGPteWnmtwpJmlpqJgUATFuNtqRVVbrskKuudOFerrtMMPeKMSKdGZXeigSmpzEIQjPiJmaQaDpZpgQulcDQSdCqthlBWUqGiiqHFwVInjxbXEXUxZsQRuxWkSUdkhdqonSLucwspXglOqrPksyFngVtcXpwCZGNnEYcgOmuoQFRaEltxpmyRXUMQDEjdpSmkrYGUoGjjQxLosiOYutMLWvRRexgUWPU", "yInTEDwDaWrlRcIDDEUfDGraswgGFQSGDuqtYzkDfaFzOtKMTNkQOGYWoEHrtGqYVWjtWzBthfjUovSqFFDKjHmzRUgvIWMiRQIgYFcmGecGhVFouQVulAJbAyqOMbrCDeebyAyxFNjUFDAjelTuuKmfWOZSHGqcsvpkOWqLbviLzxHNehxamRemmJBreLdcUVutdIOQgaEosdeEQDTXvKePDuSLXyoecrGqCfbxoKFQkspMxtSIsWbpeebdBdPRxQKjSluwbHcNxaHjPvkVWYdgOomgUuXilYjIIxTBOtZjfGsZaObWmutxTrdvHmnrgFIfGovJEBCMpedlRUzRQzoJLjickQIahTFLdiukcVuZTLDxooXnbUQTTbFzPWkwxoTBRkMGXLRNuErPtSllSbevibukrcJxzZgrBDIJLvfxvnIicxnLAUeqbuEhFxjSRnkKtrUiBozzXKoXPBsZCevgLBtnWYBWFCOcsKwfEsbmXSqNScftOAPlHgmqPjxk", "nWoUSFqcxTQUmmcfCVmrSSvucrrPZZHseoHWUuOEXKsrZlTMNPLeCnJXGggwVapPmmXWxMHzBlxhtWzKmRqLBXtjMcWdKKUiTXgQVPwjFPPBNymbboOAtSRLdXXXUQKqgQaKjQSZsmKVBRSMHTGbPpImIdbcaeqMeDyCCEGFEaFaTCsvRWtLlvVkOkLllhkabjSYRUtugsNSFKogbNjzFFurwOpZKIModbgZwOXEpzotcvWSJojQsAZrtadvbSInpXSAcUnoYPkWHRfjmAyndcamCexBalpYHzLPaTUfaLrfCFwHBLHcTxCQyCVywVyPkrwpAaVOAbphiTluoQFnLkyqtlJPTkbjwHYGUWPZlWyHkAjencGkbCEIRREPrZQdiYBMBOshJulrkdDqUNNropbzvJIrTXLZlGfOCLnODEsesXXywsUNFLvDMivwlZWqveaUnNDYreTPGfptCkFcvVspzORXKfwSSpuxCWxKSCILaHtLWAaRfvOJYpRxRCAN", "PyXCTsmkmxyqbfrayUnDaNVZeYqiCndmftUPllxRmAmTKPvlvvlUqSAEBpbklSjepoxMCrAWICDkdYKZfszcHZKBSbKcjONjcEZnugmoXnxhTkrXhgbXrPYpHKslCAUbBDCIDFSUnJdImvCDFTMGwFvTIxkfcVuCPnAAmJDsqwNSzQGNSZxgVUhHUFojXBPzGJpfdKgyUFhifyaaQSghjDFHromvcYpoLlDxbqvtBdUVmkabhqfaeHeuLWXUBmyvvksaXqKHWmqgCDQZcrwdcoluKtnLssQkLVRhqTPMSmLeCUVMJYgNwlSuuyHzxTvFCosiLDHulbtgloXfJvFpZQkrYWnOnGCcsNTVnwJtjikqBjUvgRQJyjbHhbcbseSuCZkGDbdxLlGhrvmqtIiKlfNEQFfmvRuzvUvVfPLNhMckNyWEGiYDmFQbmxMYqeHUsNhOXeEfOXhpWXkvluoklxTdHUtrYuGdfmUDDDiafyeAdFfMlsHrGmmAvfMAArxG", "velIhTjqaAvhJbLBYfBChGaiPEsgwznkRFozfqIKWbvQqMdyxwHUwMnQHMrPsmMXWbNlZerZLoBzDNLUHxztnFXGSYduvJJbRAgrggiuBkUuQmdLCfGhYOqiGuCEWLuQSXLzIPaDfSBGWEtWowCiEcsYQIYPtZyUrSEAcBgOSNPMYGoFpSFxEzisEmZaVFzGrUSsrrALibjQvTBHOixfJjXfhCORULWodHGnIIqXVKfsCMRiIyDMmdCxbzmugjVpMaevVazCLUtBdLpXxFSCCNDKfIKtycrsdjzwYWehJjdiZKfHgOQCmNAqXuTKpsaXPdWUYpCtzGzAYMjQLTPGgdkiAGauOfGzpbalTkKDrKWTbazAyOhjxXisGAtKEKjKEptkGipaAIjDMKPYkdwxdWGxoNHXBsLKzVNVLiJdIxfSRKzXfgTweWoHzBPYpelCIrPcstGFSAaUFCHlHSisSogenMTbUjfCTEVZYffqEPokkNrEStgKxJyMkCLDkYwo", "KIZiAnpqFWBWvHwkxWAXgtrnAplxNlQkpSDGzfwXXEMeXVqDQCaJyVLtIhSrccNtDWDmhSwjMDXFkeKxigZyKfCngvNPqBOxIEHZtcJkpXksnseZTLzSOzRBttjuzvXsRQwQdEzYIYWipSllgWJretyVXNBZXRVgxEdbrlrowYKTALcQImKvuVQWkvhOONkOAHnmsFfOIufrrrDXOtjZZFEYZMTqPoZWkHvQbaywzMTUMowNiBFbhonaZzAmQfWTkdvKnAhVQpMRrIruWkXKpPCZAFORlyUTcdRhbXCHcBrqSJldJORLlEFpoHhdvpXGgDWwKTFHMNuYwzOGJBNbOTILkGufFBQPiQdZgAepOgGTHQWxLzEadFOIdBnYgiBXwaBFWBZGkxZTFlCjhynzLSUCVNlOwUMACweUStLJLNkJvdIaWKJtRPCrgwgCIYiYyGInyAHUbNzrUoOMRxZlIKOHxQeBqhBCFptjEAGRVANVYJduRDgokdpmNLizNHMr", "vbgxlgWPCdHNaxrGPgOjfAAsWpXDFRIfHiYvBXRBCHNhDPPrTfqhBaWonAVIBmjCoYtMhEuPjUNNWPuHOzrBfBaAxRnziqfHJOuktfDhAgKKTMeYynjNxwHWIMwBPsPteCUrJZBUIPHOxZjHVHlsVkqCqffkIEPpRxlMPmgdtswXdVmlEOGwQeFhYbMxsfKKIKdOKDyjclkTHKVMOMMRLZEHqxggwQxMFWxBfMTEZrPuCflFVMlRbuflyJWfloHYCStswwGIosADFaujDtMGMiUQqpiFgFLUoZOgKUMbKXvUWzeNROyBovtDBsoEUTsWGQgoHrAgQGtXGZUbgnCcilMxrkeuHOXLnYtNeXfSJDcHGSZIYEFYrxwYFYCFJJyrefgqrpldoekZnyXvIehNbSCFZWczwlOJvFFRDHxsvmUnQazvnXqmFJiXdPOeFlieTFnkUyPtYqLJTkZJsECStOrnhqFWCWPLXjiLfxRDptdvGzeJGQgMZipEDDuYtYSi", "DGwdBnqkCWduezWPGeXuuawWkSCvrOdtyiRDSXmJHFYNUAIbDWAFFeNaPncEmShYCRaTtCaAVdXSAbOzogAFtpHOmJAJxvlRsKzuhfLZjRXGJjEPaqesvzlxoyKYFXkAVZABPBEwKShtrftLddTPLMWWaiqNxVFkdzfhEVRoHUSSbAVUgyciotsIiQlZCrlLDacfCMajiqKQquycebtNjiqqwzpGgPtUioQOTzRoOJDuhVqgUByQtLcnyLlpXXtANtSJfxZOOuRfPBrNqoQynhKYLEddaqVtDwLGfsraOWDwbENPxZmCiqPOizkTyBRYGbKQWQgnCSZRUVBiOOyNhaMUSmUEYcDBSEPnveXDOzaRgAvYWvqZLZtgSFgtFwiusNQbVWROilCqUldrkpSbYXczUdzXCmtRYaXSmGJYQIhyqhYGUBUTwLfspdXBsTbRaYGvUPJjwxpFActBuFMVtjVLpnopiOLQgbxyySPWWHOUftYBWtGBWTNDcYkqzHjh", "lxIBTyimwHQoMuelUuaEtBSoBlagxNOpAsZBCjuaVZxIBMpvYJxETAxuSvdyEojTMBkgHFaRrqIfkiQlTqFAkZMkQRJPMflxwAFOCajBoYRXWKvIQVhgltJOexoDYPpYhKRPezgpiIsXOqUYdgTtHWUnSnbSLXmHEvvdZhZneMAdDpJHLoCnGHSStyudOEOwLrDdUOrZvTLlrpEbvIMCzSYDVNsNdkoGCjTClcMkqhpwswfZRtdJcqmPjkLibqAXjrilywYGCNmWzoYbEAYksZeEzBRtwJqbycgvJeumPgNOOEKoFmmZmqKBWCvPhOmMgNYtmOKmYSuUbOsJsSOeUzRnNggEPmyVfwBCxvGBjONczfSdwWYpwFFmClHDlZzvscddCxBNTRgLnqJjFYZIuVOsyFkgblTPgLLdgNjCfRncEWTTNpfrHrSMXGhTmTZMtbVqYcdAKSRSyoNiscqNymDrNAuEqEuhAkHCITYEnCSlxwiFQtXxCywaEJsvfDiV", "jKtNRnlokKtdWTlEFZCCqqKICpUKfWmlBfEJGvmRZbnSPpMbOcJnNDdTimcRedTiVVdtuunlHZZCImMWqqkQQjPCsNkzTYedHtbuDBqNCxUKmTrLiGVcuhuOhQhsNzsyufrwnzGDFPqKpUKggzzuYYmEHXnSeVPIdeYPPXzPMOUgbeKLOYgPXYnfncIojmLjpgzLyRctaUKzMEUsaWleDrVuaMZejDDUumhxnXZlRCttWOBiJaiCYrgIwTLSeaWnEVyOEtTbKevUzOYSeEVbOmOyHZFUmQlpBpezJBtODyMYQcoYcEIcbdBRljheorfdjSxoKfTnvDDrLPzmmIoeEIppcEarHirimaeJwzXprDEdanTbARpHjXTGJTmNyaViDOgzhJRvfHQMsvAhyYZlhBDMTNBOjXeQSMBkHrAPzBJcQaPfVMEfezSKUQpTQRutDfkspHqVrpMkSMNTJrpvyniqEOGyFACLGmbLesZfwsFIGCiHKwXCTpboTZZvHPnD", "szgZHyJUTIEGTudpIFgIVxTrCSSJaJIIvnFPbYHRZNcJaDfjyQHgaJigmxMFKketeTcXtXZwtJjlaUSwhyQVTCKTgpiGbMNtDEmoYKQpUHEBdPVxKEEAgKprJVqfSrCsQaHIHGbmZsoQeJAOUEJrVnRTgitqjrjDSarqNUQVGlQnYDrpsYiVMpbFlFusXARgcjxHGSOWlGjgufdotVgJvPXPiYeWqXtapcxmmaJCnTdSTbfjPxtOezNRJHjZnFOcfPKsZpiisotwCznYVQiscrLVgrawKInDqhBPlQFchmDugCObvqBBdTGKlbonRqrkLfOJtPlFIGlBJLMZNxHJRVvpQOcmVtGThijngZHvyJBqEYxFAGfnDVCHFriKImUyPmMLjXRDJnweFEdwKEOreIbwxvAywSCOqAirkxrHMkasUbYwqnYYYdUPDPbKrmawmcmLnaKvdEBAaPZuEjLfizJIhedgzBgdFzsVGytoGERjRELMYSsQKhLdkHhBbNqG", "ahuUMbyTkDANBQfAwTlTMwNoDsIGMavTmFAcSRsJJEYLLfcoQIVuNaSjSVSOPMxKvsatuYDIlrGTAgDWHrdjPmFIkKzeqVjJdttyaMXKFstzQarTxWBVdygiLeHhkkIgpOZayvPMTkCFjFaPIlRKauxeoslxpEGDLPLWRCoqWLiygbFmIYJJKJbKhmCAvMfGPCsLZubqivjeaimwFfIGTIwemXJtvBaMsgPfjKjmKNxKXmQPJsLdvwUlYIaXZhhAyrBwNQZxTpnYesktsPdPLRoPwHUysmlsrfZOeLUIYLbOVSznGzYaoHBvInJjarisfhBCRWCYoesrbNJPOgcMOLTmJXUOLQtBnBLUFHXaYXsRXGhkSitaeCoEKhvZCNQUPzfRzWixSbCnHvelIyQNMvslLlkRjEuhtHzuBumHsKvLuuIPMyAJmtLKdAqJxNghsGyVVOpVnIWcqlxcnzYEnkzmKhhDxsMiBmYXwZTQWOQYdhfICxFziMLBhWTDzASR", "jFtnimBKOYAHBRaGudiVNZHtRfbkzmTlcxEcdyYaGJiflpVwVzRsymjCOuJrmAtVInCwSfyudNEcePMaKUnTvDiWjnFJcEaTHjyBOnWeepcujBQyYNnAFevYrcgGoWQGmFLZwNTKLoStRRgImQSdHolCqHpwgheEQhMnsvRjaUzNAIgmhSOweTWoVSvHimOWJkEigrHXARHxBUQQIJToJIXDWxmZJNUqDsmdpDSGxJYuhweaWyuJHSCZgPjbozyyNmOPaqFkfELtyyhVmkKffcmbaqYiVMnAgxqEOWmKifSHzmJauDuYYxpSTxoZZImmZHtoRXfvztXGvHQBJsxoXfQEzLyNncRtCCdhBGsuvRUGPKGiaWvwHnkysBnNrdcKQfXYiOBNTtDaPibUlMBJZDhCBCyKxhuhuhMLSABLsQobgNBFXSExCrlClbdqlbNTSKpwFhMqeiyvEackdaPPDMOxxDWAOUaVGbCghBbOHoYBSHsLwkEBqMOdhYZZTwxE", "YlBCtntmKSsGHtMCHsOVaQxkNNiqkqnLWIQxcyFmPwbPfqatBPnTxmYLVgBxvlVXWTPibzegcCJLGpdrsVNVtvDflEhTnPcHpFzAZDmYfILkLjXmNVZBFfosLokpycrgTXyqnrkvDinKrcjunTGvcrmHMLZHYIXGIcfvojDfDgRbNdUyprwFVPMMzqTOTvJVBybeGGFmryimZijPiruCaGegyBBbPlVcIBroEEARKlKzNQdsGABBYSxYCMIdGRZiIBjNvumTnQgFlgAneNtlcJLdhjpSENaIQKzZHVQAlSgJORYErjFrYAHdwTpCRYZduPYrmYgzlYwsjaqwkSCiAvPBFrklxxLKQbOpgzUJelZxUjzGtqiRGQvEgEOlUaVhdEIowjJAbtiinLmrjUDRtqieJjhntijoIPqAWXmAxBhLohlwrnZbCEIGxJbVVEMaqGgTiPvbXyJHSFaeanzdPPiuGvbReZiyeCcaWgBJtipaPyDuYzYmlXsyXnUtJonf", "iRAzrEtpmQOwDRvaAMBBdlKGMSyxChgAIDJsVBtQtRVeSKtqTMeRXkpbSGIWIelSFTQIboUxQEUOtZabClykApVpZSVQforyMCFJxovEWlREpkQLxRVjRQxAxoForRZeZDbGqabEAmYHGeXCfwafoBUViPABmfXYtIpoqHGZQgWflZNyiYlHBhVHGJnZtINDLuQnGkcPqGmhrgxoOaiWuDCqkkmGTmrQTEJhOZwPlvRZemUJDRIZscssvEUbWplcTUBvmxbUUDKTLwJbAlPehOfwzHeOEpXVCfBYAGOhGZwMXBOEFKyZfdNHrmJrPpaEvMWQQRsOHXnbKHYRUPmCBozqbSUnNfMELlqEIxfNXBFoiIfsNPBQYdmbFNOsprcnTNcmTUYdWmdLxFsRjXqFVgHHgfDVzJbZGEkqSdCIsqEvBMAlnXJEKOnEIthWltrWjszWsSFdUsIhRkzfAdKPXDMWfOmUgZUpVbkAGrryAibEMZRmxbeuiBhstBbhkKAL"],"c_array_datetime":["2009-03-15 07:52:44", "2017-02-11 12:17:33", "2016-09-28 00:29:50", "2005-07-12 16:25:20", "2006-01-06 10:40:45", "2018-12-08 22:57:22", "2015-05-25 09:02:46", "2001-11-16 00:07:49", "2005-11-26 23:05:25", "2013-10-14 04:57:34", "2004-01-09 02:46:12", "2019-05-19 15:22:36", "2006-06-08 09:07:33", "2004-04-25 23:06:28", "2000-04-08 03:24:07", "2017-08-27 12:21:51", "2000-08-10 00:32:49", "2012-04-09 21:05:05", "2018-04-08 13:23:43", "2004-07-23 07:53:22", "2005-07-05 12:21:14", "2008-04-16 09:36:21", "2018-12-02 22:19:03", "2005-03-10 09:43:25", "2015-04-12 20:00:37"],"c_map_varchar":{"c_map_varchar_1":"gGLOKveAIolIvdrlQqwBDSspkArNNzggzsJEouTSGkjKKAlPsdbXJLnXVLnYOLOlSufmbKHksoMKgZpdJnjfBNxiQClQlCGhojMFBNYsGkgXRszlATYWmhldXsmXgMajBdfomTzzybMzBqpjMyUWJbJgwghrHEeMlJekTeZmshlSRRTWIpmGDqjUgSAhGBfpAuJkspIHkJPWkzwZXcGTgDsANTyTbmxvQjXHKvqmIicxgZYbqvSNPQAlzGJgoNdE", "c_map_varchar_2":"mdtRdusfIZXrzxqphgpvnushtCKPwPDDanmRSLYuTTCFfSuFSFqmyRDEacPGMuWpshJZSzNlCUdOJFGiYjaDKKlmWjVTCEeZLPzVCnxKVfCUTLjfvFWAtEbKHJVWgTQenUNbfTpsDcwyvskYOdZAOtQgPACcoMEfMUpDxazzNhuUpTLbDfjIzQXwqLkKwyyvGyPueXCpBUuicdFycjYYkRePxYHqVSpYaTnUnrerhalHnqmeklJLnoVOzefPRIOW", "c_map_varchar_3":"znxqkxQsytltOPqpXiRnflslnBuWdjTCAUlBSPYLqkgoCHxyJJvIkQamfEtocBbJTwJdzpXvPGkuaVwKIYaWUmPncwSgsemxgXkqZiQzudBRMdojACnggcygkhUbkTnDzsjpIVDQchtaEyBRRTDFwwxPPErPnasDxTanualnQhtQFfTdjZkMlvYPnDGWRTHRWNiwvtXzOgpvHvkiQLnKozroBGDXZGjmsgZxldHfMAJbOkYPKWpqppFpVNvQoxxu", "c_map_varchar_4":"loEirjUsDvqBcDwPSbeERTsdJtNIGKzIfiQXuTnFjAyhowYdNmJrvhbohqeofakGBAuzUaoAvAgARwUOuFqXldfutXXbwwhcWKaOmooHHzxUuQdayDjsRxucmPYiJOupRsGJmHenqOfgdWqJSdANBnJdaQtzFLKocgZQnBBNvaHFQCptCyycQxArZocgZcfvheStZvcichhDbAjWkSwwaTjWgKMIxGFfusqUKHoAWQCjpawHUedfJYjmwgecXOwi", "c_map_varchar_5":"krxsVOXqPWLZwbUEugeuUPNAPppmmXWCQbiqwCIYwkcMHXJNzPjhaUEgJpFJQlfjCUADoJDPRpoBhaYSqFVPtmVtfAYpaTYuKIwNEgZxfiIAgqjqQZrPvKoVRlvxpNJZHrkrFJweduhlVmSwAndQyXFGWZAbiJmwesJXNMrYShqxpPpYcPYtIeUaeDFxjIlGMCdtxMWfpsBBJJUhenhriNkmkBqGDwUwKcIzHEgJkrxGSfbCLsGGlnKVPuZInRQh", "c_map_varchar_6":"esWCxjvBjTkNGbzncRwtvItuNujBdBUmHPDAjTBseVOYUwCAGgbwJHVKZBvjfCJqUuRGYlZVcIYizpitYhUuyqwnVQjYvCyIZORniQRLkNrbENHJwHONYLNkbXFEVPprDuYVhVZEkBsaxUBwbKpRWvTRUlrqkDDkooFwwWFksUZeerdKRjjwhHSgAyRdFwhVbnCfapqfCBRLEllwDuzLGfCRuUEfFOCozFQCzLmaYSBjHvHVrhOPBoMfgwcRpzvx", "c_map_varchar_7":"CJKOBeMPKICPSpOurKLSfiUIJWGyQfiTUmiqGtofnwIyinyljRRRtxToQgmVKiUqqQpynLXYFlqylmDXarglhOyECFPSVWmfMEMPuONVEiJIxKaGSOCdplgSZoJbjNYTEglCTueRqSjfMAusuBMrzhoRlfRtkrVlWVTwIRBIwzJdDzxBANkIlRlqtnoAiBAtkhVUtyZBDDkxYejzbysfeHHYthQQFMqGjDCjRMAdPxtgLgIiRZTbTlVNTDbNNpXb", "c_map_varchar_8":"EpCxWieihyhIfjJarTOuJLixgLNJykDwhkpIKfOmqvucECymJgWVRzDKbErSLJBauiYDZfskdLXgCMwYxCUSzONHEFttUFidFkCWfXEjMtlTdMGmrDmWcNnYFhvizMaXPcpDQakWuJKwQdphSEMrodqxhrmvgGToUwDwlAKNHyyBoZNfiGrtoGRLPqRqHjJZHBKZDFecFlvZbWmhLpcsTumZDmclKZegLoobKtmkaWsIJuavRtJtDNQZpdeIBvNM", "c_map_varchar_9":"FldrwsjFcHDapLpbyyUauzmxjSCxKjSuJEtWZYwuzzqJnvmaYajUypAWuaJFFssciRbmVfaFhQIaHZzvJhcvaNtuEfyuOXGPvTcLmeWYXFlsGuVvNcLYyOCvrFryYzaBbAWNxjLsqPESYpywDuGBItnQkNcGMhgfFoITGbJKzesIFtJsbGvvFxeKtbYGfnMOtuglmuLbFMlrywMmtdkimRnNtnooEKbZiTYphnMuHNxjDtumfkcPnQLsNuuOJThp", "c_map_varchar_10":"kiyLGVgKWNtskYPaQuSlOnaQfpveOqCfcqzGdOgoqJGflntCiwJQtDeKAECQvaiKBwtwCWVeLNeHXYOLxEFuOppYTpmseKQbeYvOCmwWbgfzBZrCgNTzXtxZIFUoPytkUCpbFhvcpAMACIHppukFRVDNRiOXflKMDkwhNYaxruGKQjtlusNhpwsVsNgAmXXJjMsdAdemPWBOJrKOnxriQfzHkcKzSZYEKMTmsSyurblkwUCOdbGcjkjVzrCAgWOb"},"c_bigint":-2153996268394823630,"c_array_decimal":[33.1723, 51.1747, 14.1410, 23.1437, 65.1833, 52.1261, 85.1738, 33.1296, 13.0952, 65.0551, 95.0100, 36.1247, 37.0666, 22.0011, 95.0372, 91.1809, 31.1855, 97.1723, 31.0072, 14.1156, 59.0998, 90.1806, 60.1705, 100.0798, 61.0961],"c_json":{"digit":"9","pronounpersonal":"it","drink":"Smoothie","fileextension":"sql","useragent":"Mozilla/5.0 (Windows CE) AppleWebKit/5320 (KHTML, like Gecko) Chrome/36.0.817.0 Mobile Safari/5320","safariuseragent":"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1_1 like Mac OS X; en-US) AppleWebKit/532.37.1 (KHTML, like Gecko) Version/5.0.5 Mobile/8B118 Safari/6532.37.1","preposition":"about","prepositionsimple":"with","bitcoinprivatekey":"5Jef2EJ1Gg4um5wZnBmB9ULWxwVEo9soEyi8wx3cEpcrcT233NM","firefoxuseragent":"Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/1901-09-22 Firefox/36.0","emojialias":"level_slider"} }','{ "c_ipv4":"41.92.176.201","c_array_tinyint":[-44, -116, 19, 2, -76, -118, -25, -19, 106, -124, 72, -82, -32, -96, 52, 9, -111, -23, -10, 91, -98, -116, 110, -9, -100],"c_array_largeint":[-4745717561237695107, 5644130916292580884, -3161115883492867094, 5845247388055903230, -6579835429951017454, -8435777866237704380, -8064125022432483372, -8746980871049073211, 6830397702665704540, 1528120272245627627, 1264777644541308445, -3331930558085723580, 6047064637873875430, 5897441829373463196, 6928139374990387744, 4787952681740686014, -5704965876780786775, -7601793562015917425, -3714158421868857370, 4618121271381681060, 411629989833887991, 170240197858897985, -2846482943855948856, 2294344797270418011, 4944868790958273909],"c_map_tinyint":{"c_map_tinyint_1":4, "c_map_tinyint_2":-44, "c_map_tinyint_3":-110, "c_map_tinyint_4":100, "c_map_tinyint_5":73, "c_map_tinyint_6":-42, "c_map_tinyint_7":26, "c_map_tinyint_8":-47, "c_map_tinyint_9":-89, "c_map_tinyint_10":24},"c_map_int":{"c_map_int_1":-1481877617, "c_map_int_2":1975884705, "c_map_int_3":958699730, "c_map_int_4":-889747684, "c_map_int_5":-640819182, "c_map_int_6":1841390976, "c_map_int_7":-1720578392, "c_map_int_8":-1777987063, "c_map_int_9":949910043, "c_map_int_10":-741523624},"c_boolean":0,"c_int":-1963896440,"c_float":88.571686,"c_map_varchar":{"c_map_varchar_1":"BkxzRYnCaiTkQeBYnFkVuLzfhAOjltmKWCIttPPsYKanIaKbuNPcjcrTAFJjUpekdeOIMlTFIKEyjYKyjwvCVscxpNKBbgmDMEdoSRxYkRLoZfXMVjbYZHokVVwgXKLgSZXXkTyLiyztSKPMwYVqhaXHwyGgMNwUXbiwjJRIBLBiuStPkFUdpXyslUZIvdsgxuitMLQFtYWybqnLUpawZcDqRqqMMinlZkduzwxfZnBwimiOjpWlSbBLDfuojbrK", "c_map_varchar_2":"BhLwatQTLMZJqgfHwgZDqdnReUTmdKKuLPKgQarYEbaUWAlDBoJbPkhMsAmQNdnTLWAeEVTlRSDCbdLXRTQmSHcVqGgALyvRxIIqZNtHllLhbbUQLPtmrvIULaINHwEzBPqpAmAiocuvlHSypmGcWYczUzRFRaNfXKZUZcaNnCpLRghMLXbGHeREcJmPkflncfeVKkougzsTIiUTpFXvriREtbDSVgXVIbQBNQRdWPiYcFmcRVpyWzxFTwPySvPj", "c_map_varchar_3":"JcrQTefTpeDzkCThUwvUPGclQdnVVlETsEMJLDzJlTyfFTgzlZJhuFZDaUuOlimHWWItoUAnLsdDKIAelSbqqZthJusrEohYSfUVWjOKucMnistzAfSTmdqangCxvFYCrvKzHonDsHtwkmPcciAgfaDFgxWWZyobFXCvbhliGeJkougfolRnxBgTsTVcgUvtowjgRaHWuBSlGZGAFAWIKQsnnXnMLOWHNXleTlJGnMWuxWEcdgskkCSnlTvSbvMH", "c_map_varchar_4":"xFiubPdmvUPzCdGtLEHwaJmRLQRXBERjEkUWNwwpXDRBFmMIFNPFkGXNULsxuqKJqhiNxXSkfpvwNAnuOIpAtGzjcfQjgbsbOCTclGdcSvFZdVfNEDYUZkzqaaIjdcpFJZCwfoFanpHKHgyGQlGYKhwhqrXPJqEASsbxDqimeYqXbEtbpbRMLpPInwlEPGAeJgVoNABfgcIuvLcTBnpDTvQcYPENpljGKgwGpbzSfycLOpdPkMZealGaufRykulg", "c_map_varchar_5":"IZpZPUKranvPUZucIQzYeXuSTRXdHPtlJnpuxldhJNZJSbiYfPsWIOXmTZWWNuDdOAJubWeucwhkfwdradHEDkWgTdGwvRTHHnxEhMiYCOdZkdWzgyjdcdBYIstafeEfZFRuwOfaGVajBFKlcOrwaBBDFjhXoogOIZIxzGdqiLYvDUNIxkfFQUWWeuZGgWwdMTEHdhsgWjwaFEiEywPGlcRRnPvGPRUNZXRPawdJBsQrprTGfJjXbvrkXVVFffwg", "c_map_varchar_6":"DdjCGvsKkxZBlEbCdDsWZbCYBbSsCbNEJImRTpcrpTMHlCYNyCypdphMzCQQitQNSfBmmHgyHYqKfcxuFQfNhaRcFRLjmqhQrmSenVcvDpALwbFWdqHrmQQCVrAvxrDFgzEvufPhYUYmDHWkRRxDpnMwNdgVYUKhlEAoslCCmZBIHEuEDVOTVDLbIySJSYPbrEQwNhzkxpxWYdNGEVJnHXOUSIsADtvUDKwZJYilaoXHjQWySrsTnoUMfIdOGRrR", "c_map_varchar_7":"aQYxsCDaBvDwkSRuTYEYEQnONcDgHFuWZXUlRntsPlfbCAaFuyAyCfLWITgioBYtMODWcJXmgdAlHLtjOCCjMFpWkECUBXFSmgwuIcEVGbePQFcemeQEYYBXYxtIHrccZMqjoQgkUfLBrVLwMZQHIHuUQuStUCersfcesxweJyehGUsyoyALXwAkfqDvYTZIrwsYGDOyimCtwnsgvjCKaVHWlWuQMwXJvlXSQrHWFQwqcLlrRgfMhaGJpcsGvhiS", "c_map_varchar_8":"ckALbNqjqzBktJCOtFkzLPKypozbcvDBIqmbKRbIRpejvcBXLEWCyvtMAtcGZsQdkNINpGRbMlpmZDWQGTBhcyNNElldOTaUcmZHOsdxXtMvrrGNjpntDeANECdwzfOzsquPzAMxLBgnrvCTKnrpIqXgXrwCeiybxJXTakcSyQgwHTwumCklYQGCWjPnzJoEBhjpYXfSiJPwsLddbjMPApBpwECsJsCqefVOiMQdAJKZcNpoaGftkszrYgXtqmGx", "c_map_varchar_9":"okOfcablhHhPmflsFxHigwdfuwjyDhaSTXRRRRoJXsAYnUyJDTdvUsKwOkRZiHwWGOTNQeJxwoTBJRJDflfCvyCAcnxkRLAUNWpcBVPvFUrnbtQSqjSnwKjjOUPxSMPxSKrknCqhjeDaJlAGpzvqLquzrTAdIklPuEhlmnSwbiUdptgIzCYDnyDhtHbxRqIaRqxejVNlcrfOfyfHEZVqqdCJoVQGCjlojMaIzPhocbFotceoWWLQooubJPLbbPow", "c_map_varchar_10":"hDMNKwVpkUHtktmzZQGkaCMkNlVBkwadxevFJOjfIUzxPXWGjlXHRHOUCWUwEIhucnCXNGfKqUyowvGoUrqLUkBcEbDhfkkcFZDKqZNGFFHNSpqFqtehROPOPwDYtkeQQgqLkuorVKBXDpMURNXxJnMREPpXpGveWWvZsSkSVChZqNARzZDALoQcQGnrbmHyGoDBEjzYazlZYeWmwLfypaMogNouWaDWvtfkHWhoQTiFQjUvPJAqhpPRVlfFXXPN"},"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_double":{"c_map_double_1":99.44313090453399, "c_map_double_2":92.60932097902828, "c_map_double_3":12.343230061770164, "c_map_double_4":78.4542192604718, "c_map_double_5":5.193388248461718, "c_map_double_6":54.75933109075411, "c_map_double_7":84.45609405756218, "c_map_double_8":20.463197516302305, "c_map_double_9":41.62612287932598, "c_map_double_10":43.37884658667427},"c_map_ipv4":{"c_map_ipv4_1":"50.241.234.236", "c_map_ipv4_2":"9.110.161.142", "c_map_ipv4_3":"89.146.46.90", "c_map_ipv4_4":"110.151.74.117", "c_map_ipv4_5":"67.74.13.159", "c_map_ipv4_6":"174.164.188.162", "c_map_ipv4_7":"39.117.120.208", "c_map_ipv4_8":"35.34.179.65", "c_map_ipv4_9":"233.156.102.121", "c_map_ipv4_10":"198.192.70.163"},"c_double":78.35986879413858,"c_array_string":["RYoUSKsypzTyBiEuqhCbrtIhNjmggqioDcCxaAwwobJPkxSLygLISGeWkGSmZNydUNasjZIRxLDAEcXvjvIscrhwHKbqyTzHtwwrgQeeezbcBJKncekRyahoOHXeTmXPhovmlBHqkfDCqagZMFiFwBoWHFEEpRbwdrnvVIzxIobjZhHJzuWKFSTTCfIhJlKXwVvjpvXzYAUXQOLEfjNUUBpxoGGMrqgbJIJDrwDuEuPejzSABWHXVhOSJvVvaKfEGNeRzQoSPvGDVZwHTejgbhrbQHrvCQIffdvRnFEsdTxDUKfkQCoxMHRUWRgBATILEKLZyrBWRqPBKkVDGEgOYjePOFCelqMbZxpRULNdVEOxnIRNsfEQAnqtAgLuiaGTJOPeZxphaHqXdZftKzFNROlfxzrYrtkxpBuxYzuPxrulueKCJuBDZLUJhkmHEtqnHBkSkcXQAjDRyAnhKujFuLNnCpxdnQdxpTvmhoIpqPyQLmUbIyUiUeygjicbpSSN", "SDPIkYElsoGkwFllvGlEawWPgjfUNuLTnGGhKUykhHpZVMkPucaCMNOHYfbkEtwMyNWXttnTtpjGXtOIcYWLGixFejEGewCzqcNMUwPuaRogGjvmBWZXuXQDdBdTvjFWFkwnKTwctKUjRGgASeaNCoFbjsFWRxNMMNuVwwzlajDvWQvgZmcVdOgqEBzrXeVSjEurMFjXEHRdLmPzABkabvAktefwblGgPLadtNeMkgTEusRZxIKSnSrppFNnRGbAetvCryKdFxQnHSwvFxRVxYWrGzOleVykjUNrpCAtDQHSDwOjOavZhIDpVXuixXvTTHsxnYYZwKDLDZEPBOEzVZUnghjXEYBBKByBWBlGFWEemBtDrRWYQgkIKmQptKJHoMoXummkuAvlookpSekSVxFFmxqzEXnZwmVRHwwroIsxNSFaHFJLMuHWncXaxWzBYNUdxvMuYOzQshzreIvUAmcvIaliSgFVswDsJiwJvHFbItfevcFGXTvaCVSeQjhN", "FAklqyCPcSwBXceNyZaWxIDujCrjzIPjPioTmMHOUAPoMfcnbnJgsXUGSSOAEMbZPzxWeIPaMNDSYblvWxuRUYgqOpwobxFhKwyWJcdJyHKnoIIHHxTvApJVSaRnYLkLqcUHPsWHGqgXfoGOsnLTFmbtTmtffJpJZZyPfjvuSFNJtLWzyJtGePvMOAKwHUpFlPPJYsHLTqJHjFEGlpYNJMvXuJOeMHLDUKGdDXDZkvSjxZCshOKVnVAAIrxPXCXUeLjFoMpsAfwanSgTjEICONfyePFxCLkfpHUJalFkjVgAbEdFMkiCzNMPxozQihqlwGuouWSlpGTljyWXRfUwsKYvqFWEUkwZgEJodmGqyhusDPrvbGwrYmrgUjDthrNAxAafnDKceOQfFpXGzVvSwSnZiAIiZKHsqedtpjeEpedwvtLExEfzWMueynLUWbGNoImqFUZhaTifoPADVxTLaxSGqXqngACRvRVPnhxxLEnpdcXrxcXibBkABkJpMvRt", "dWuasncZXjkWhMGOQZMZUytlLvbGKIObfMMGLUluwOZaHCJyIjMirdlfOafwnrbgeQkVYCHQRjfWYUclwRkjeAkiQITUkrkbHxwkZUSDrGAGzTprceZGukhcosEssPBzxvVlycGBVQqGCDYZVVkbgndCGeVjueigiBxkfIoIezAZpxcVYNlpFzbwiXRDdMhvIPRaxerqvDVAzweeagfQQlkwwlszbItqYEGxUcSdbWDaMsTkcgHGitGrsrAQvKlgCyULbYSHHskgHdRKQeMYigOYOXWfflLxYHuMbpBlBzUfITaSUapGlAoAZRUueggZMwVBjiFnctSGgVQEUvtcehnhmCMxzccQbkXnqLHZOSUMJAeFYMcxcCrJjloTblOqmduZtmtzczXYkBlYGrAvwEdEltFjGZmJQbamWwejevAwUDxeELIhVRRjnOLSJFIzKZTNnpulJGfJSwkfitKAeMiBlPQMSRMmGXaySycNVDRQtpBfLQybFHLfihUCmMcc", "NREvSvYyURMgpRfCWbGblUkLGcODKopJMSwAGkRQPVHsJHVPXvYwvvWIadmUvfikdLcwbDFvIrEQZqLZlfdEgvQZmpkqTfwhMPgjUSXqKFEEzggCriRFREmBotwuhYwgTrFkVQYwvuzijZQTCUtOtbBSByWaSHQSoQOPRKhwUsskfPyQmiASMSfRWLyrnmPwBzEsuYRduaieRoGLsEsLsOwFvHVXijMuFueHVgmrKesbcBSCAbiBhbVKFyadrfUfkTChkCccGNLtjPAzLBCoYvzlzhabaOfuZdVtolUjpLNFGfLvDidlpgooiSTVjLKlKfYjVlyooxrViEzFDZYidNcBeQJmTlDYdLvfdyzeWqnkQhIDQzxRFCQRZcxnXLfdCloAuaoTzIbQOmLiRPXUwlHWXpKaxjjgKYsgmapiCuzWxHGTyGdfkKBVwdrDvJimsnoudFmDlwanCvxdfRerDXphJhATOzkyhVAqgtbWikSJXWeIMDWUYcqihUbZSmql", "fvLXyEOCkuwmLkVvFtrWmyGlqJXNzEwCllVrvmOmawdDxjmBQiKFiatQaCazEgUePnKBlDUcRhbgqIxMhIaDBGRZHlqtbIslDutYuBYPDhDlfvSURmqBMCjgBZjEGEicjiANxxAVnPKXZFNDehMfmouskTMEGNdSXsnrjjtbNSodPIzYBCAWjFREIIKQBiCmCnCieuEwwEydPvLzEYRIVjfPtlFUPLgyXNvGUyFGIHjXuYChyZEzVZMGvnbWBVRrmmViveSvbhGgTszmgVrfmFGEXmdwQQFNkysRXXpeRimHdRaBrjFirqVHbUuttEwrgOhEjkqZBEseihDtDTmDOHqJSpnJypwNvIPAOspKvrpFIKpCysDqVZEywDvmxDoJfZHRQfeQLdyFgUXhLiGKLxbqbbSfXhhXeWwoSUMLbYwlTpuyyNJEWNkSQwXXdMSMueTjtjmMlLoVutuUjGEgigwNLFCrgVoMUpjNaZQKSDBejZUMRaWLlLJhMgkbncnQ", "naXdnVFZBEjVdPTuYOKHQYTaufBjOWTAEdeYEfxXnAoxMuvSnemUysTvZIZzsEXxrhWmfBQwmuUwJgwZibPgDTbIMfEHHYBhZLpTojtAfHfsNiXoYKFAErVqvtMOSKBaCzaDAoUdpRwgeZsZpKtaDpNRcSfTZKHuQDdDlyrfOgLTeCtlXnIEDpFyZybjyKvYyJkkYOoNIeALbkisEkwMpGDDkPoFnGPzwGhPwHwURjmEWNOQfjeuJOYrvMnFjqSiJncCTjVYNGtQcAKSoWCdkJMPRyomANKCpHhOEVlMCLzFLamjKufWXGKWpuNPCVavyxLiWpgCnWOHTaoGOAKEsANfWJmzzcfBjSaPvZwXnCwAvMktPpnhJuljGrAtzehxLTvoBqfWLUzRzthiTTWnmFlAlkiFclbhiwTCtaZKleApJusgFlgcFzvELsEAwXOHHKrCqXROnQMAreiwJjZzzYBHTKbxpHqgqIwdtSmiwxzRqepNmtaWrMJCzCiFjVnI", "QWDukJUnDaLEaNFVLCHUvxRehJdHAFaWpELhQlxHicQEGcaFzdsNxsZgLawJtLgKHAOVevSvUPmGDGLsPQNzvzkPgjgKNodvGYZmgyRCUMOXfzlriMmShqPuOaRSaFedfnTeAYtzRpEQMiyKaUBxxZaOVhTkRlPWxNaZoLRjNEPDWcyZDgoWyJIoxXZIQzfVadMscQTKbpcmCJgaJJSyFpJvdfGwKtmEUePekYLwmFjaNcQwLRXLWnUWDlGAVhFcinqTnJFEtCDAHxhluROwhYimgXpFlDFdFRXaOtyazKwaHEqbGwqbXCicpWeRxHvBwivtSoHEvWcKuechjIYmidhyayholKwHxZzkjVGjawzepaiArDhbtbXSdMMmVLLnSvuoDrQogymeFcFLtRUJootBBwiPHjWApqhrlkkeKlISYVvgdRnnxdYMWVkcmtkYwqztgxIDxWQcIxAnYsbmLvGNFGmjAMrcpkjpAXqvEvzjoWDGHSnbNyiFRbZQSrSB", "bEHkMQmEbkJSrngMFAvBLEuBKIHHDMHIiLCvcELhTPzwxFPBCmvKOfkHGaPtLThnoTsfhmxuyJZhqCAbyjvZsrErEmZVlkbJZnLOFAHERiIWXxcSjOipMCzvJEBAwWNIQOdEpdDwiVHXYGvmdpndDHrknxnjFNCUwavfTBRMMdkYNikpFaShMaiNXibVmhaSwXhSIYHdMftIuWtaECZpiwiFkJVouddaOnEtOqNWMowdunJYUDAWQVzPlBgntYBIjsoCavrIsDMXHbAxFBvTqAvzBICAuunqYlBBeMNCICfZgCwnvWeoToSCkFbwXYHySUWrZeNYytwskTCvcMrBTRtJuvqLYyOfAnPyiAqRCNAeEEcQvFRuNbHWvsEIkEmvVlMmHMymmJgrlOriAwfbHMqKhBlBpTSPhDSusbLetITLSBDEeFtFfVqUXDVANssLiHJciPOwgWrNXCwFtAeOjRwbuzKGiUcMnlgXPBfNZxihxSaQaPgjgmiYJrVqlsQe", "WqQwcsQjSlyOVmwoBvJvMiJWIaOvzXypAzrUNwTLvcRicGOLpnkAdObuXtOfBbNSDMFNbUkpCvHReOZxmnSKfgxQbdtzcoNNflHiKzAQSaAbkBtkggHUVATEpwzcpheZdxCiKRiTufNfHQuAfaqPkOkrvYLptRjFnBIGGfnEhVmWglDVnBXTyuwWgopxNHfTqmHlETwqcZyJKpctDiCqUwjUBGNTNoAqInIvkYJPEuCXEGFZRwamgsbWTppBvEnSbCrBNxsnzUGNYdIwHKhcziTjTwOeGNSQChrQDRXujbiBxILjtBAMfkppZTbIFMoxrDISaOXXxfSkhZWaajAhqdPfuFhkagfHtrnDlQvoKsBtMPrKXWBvrUwuHUWudPgBChMARJYdHSMRvNyBxYxGxaoyoNpvtPVSDOvhLAuclbLvWnjXvBugTZAcdnYOdvaiwNxWFWlEoIEurjIyowNeoCFjRrLdBonfmnOwlKdwpnHCgAMyHMiayMgmoPbqsFMu", "zVsYlNVDFplhpQgAhxDfMkpRvTwUNCifciueSJNyxWrXoOXOvkHQyrSpovoWaFiKLHPQoEIjlfMRmLWHUErKHtTNTgQfBUDVskDMUymNQFyuFhzBBXXkoazznmfOgTSirQeebodXpkPguCKDlSZbTQDVcHrohNDtXyCDKDijXjrqhIfFANuSYRKlBqQSjmxDIEPatsIfdMGfBkdXrAcpTeXfCoNNoCChynTKDEBvQQzWLIXHnmKbtxdeophkzBYGlMUQETiPWSWtJPlgpdXEktgdZMDIIZZaNnmRYaKYSgAYXYrqPoVaoUmhjAVdOjKDFdfzBwQKnufxWBtEqIXXlppvOVdXmMiOFiCwdHDhPpVqCGUPGztXjhtcSPQOQGILBmcbTtwDNupPVcEcdcnqGyjyQOihwMYfObKhrTYSBOQTcRPqBLUrNVhjjIKWihEzIygQxPstbyJAbpPjFAWPhdHiRmSwIUkLnmpzDTVRlyACGUQtesbpMyWFusCbKqsL", "slJsuMRGfERDeQJLyRLsHdiDDPLwpXhyxVCvlBjncvpMcNRTpAlzYtJJQnneXGpKMIwIvUpOxPGIHGkpMETdhTKdnVqpeQkVsElVQlpvmUWzDWINIdDfPSutaYsvZTuxOBQrbruYnXQsIAJKZqwlJoGrmKcrnijBWoymXWGXtPrtwnFSzfYmFgeXYuWBTRehwjReoAPcxbwciZECSWRrUzWOAFsdgLBMivBQRprticZhTDuMMlEcyBnTWXATLPOwEtPcbsMsENPffThQGxzRAZYTFKXCvgcIMlVQzbaHFoMIIDEwcviKbxZpVvewlZYpiQUaGfoJGuNOUytvTKuBHRXOUkehMiZECkdSEDzmogJSUbVraTIJlWFHFEhVYtGaGOYRXoMjihuDOGdwfNcZJdNzZAoejJHeeMhqPLqRkhxLftsexFRjPvZbCaXVJBGknkgOrRzCZRUNTwekakYcOilHILTnqPruqDHhgEyxqvDjwtxKiSynnZKsutqxEovt", "xkzdyExktqWERJlBXctyEqGcobdHjfcfxHOgHZuOsoVsjEptDjPItWLBhuLSZIIRUmZsWdEpJlYygBsNyEPwKzTXVvHUxIoxETQyIZZOEvvetZsUxNywoMnIDlvNHnQMGFmdKVClMHWKMBULbISAnUunSfbIFSqFjFsAIOTtBeejUfPSOuaGqJYXowSxUCWlhGCgiKsulMLQBTgzBoeyEvqMkKFwixpUcBPHEKVfuSkkQeIwFaVbIDUqQZmnRSeJMCGgPXOQDZtOUnGPxvbSdOqysMgyETesyRdVLdONGSSVhhEYuZNuvVwMupSynIJifTsyuFMRPKpQQWsDTpQmDsgqnDBVJFbGhvkAVacSrjmVAPeVKphtMuwQvmgDCpPefqnofKpflYMYkJagaxWLEnqvHoxMoorBILhjhIGDWhpVFcwjFSSwdHxsUUUPWcdcNugdcosyxiGknCJOfjQuLDBNMBqaXtmmLELmagwFcCzcatKjvYftjOhpqHiMXgtC", "aYzbtUFXlSzfrpfTpWjUvWCYCWKasViAfcDngHFkjcLxmFxyTgKVjBVrrZCKQdICVfyFaeHrXivQFKgeRXuZXwyCtoZaAGrQLtqXqcJpRrAQIWPYvMwfcmNJoFWILxttyIykbwfsFnBeXwvfeZWkGOZdWBhvdYLLJRoXilYxSkNxmzYvnpTQrKNCSscngdQnCAPbaquUDHmiZpHEYOcEquqWvXATBJrRpZxAhbgLEjfBOqkJVPljhFomWUDPajfgXoGNuOnziwoVfUYmaBERFUDbmNBJpbPoGCfPzffthyYaKHaYucTVmAzUCjmGllZTDwsNxwlDIUDWcrsGRxnWkOnfzfkptazeOlDtZJcwVDHkoJVzTXvpGKdKJbUnxLHoYubvNJcoGXJlRSnSZXisTaLtEArDDyTfQgfTApsDTZdTNWfgDGymWCyXkniiYMeuaQOrlTVNUjitSnSgAjKDRAVUnLkzkkDuxGSgFArphGBlMeNxxDEJMdsjcHRObHzT", "xIKwsonSJrrJbDQFmZLsdgMkJVUEVloKJQjAwheCaGhYLKzXbpmrfWclVxoVOChhdfzgRpCptJIfiVjUWtylmkuuonTMBGnwJvFRzgxNeJNfCxAPWRfgwlbQswbDoEretDTUIgSJSlSHquggTaInhdjlqCaeaDknlklHKLTSErZIfrAPrIMmVkOrJbXVeBgKVwzUTzpGoXNFhkqDQWpXwyDCeKyWZclfrUGyHgbggxxCltHOaHwlRZcZRgwqJfwgMUgcwpZNbFViVXSYBNCINCMODlurqMxfReUYMpfqfsleynsIcPAWNrVxVXKCoiwurlVFFovxxedxlrdpmgibXGrBsHlYeSiIkebPuOzXcrIfTAPApmjqVCoWPbsRiFGazOSNohxRPOZqKcuJUywgpsrJImOYWZaHYNTqzjGSqEfkZTFvRKnEEfPsmgxUBSDNcxVYlqqrAZPuaqXiMEPXfUKktUzjbWxQDwodpEaArFOvhWlMEZPDSKpMSInldyuc", "koVteWRBhZDnPqLtBCirOcdXJvUuhxvDEnyCWCSjCPgLNfarRvisVXBFfaNKxSxOebBToNFAYYjCxaGvXSLDeLivCtNxPUQkwxMjnWVTocGlOStjNjtPjBXmftwJqlQuCdoRkktymzAVmwxvvBOTXOlyUEICkafIIiIupReGxPCVVfolOhxbWFKMdiadDeVRQclYdpfkpgkeMtsRczmiovogjpPoDyQMgDrVwXNjeVfPwmkdtBNtshereLWSUfAqwLhdWmZrCvbCfhpwPpvwKLZglDnozxaZHVdaXRPQNQJIGhIhOqbqSuCEYNfShuzralNIgjPjgxFnnpyFyfttaLpfxRQkmEqZIrWVxiRtLagGBlJLAdbNuQqKvdcLKIJPhuKaZkqhvwrYXunOTstMWFgsAxEeBLCqioMwLgcKWECpwYldRXfPNUCVzHSTRNRAxZNKLsCgPKdhFBiebxTRKxaDmLVNHPppwviWrztBzPmbUXFnmcufkDvqfdfQzXpo", "lVYLuLqYONANtrqgqMrQrRniQUZJfoUamhJzEwIerskGLcqrzaGIFhATYRfVSYrcRaBEXmQztijGyQtKrgPStZOuSTrbWtuMFzNQaExDpcDwtsJmLyNFbsqTtWPLPhMYTpiGXcUPdNWnWlQPCCPtDnUQPivTvfjYYbLUPQpbKOQzZDcUiwRWUAWwaeXcHnhTkYkFQBfLYHcYnHNqMpTjIPXJABKJZvUsJUgqdNikdnsBNoBeSJrUExjcJacCHkVoMiBzHTBxAdUymmUqydHCcZDzuJLiXxmeRiwsJnCvezREYImaUBpIANjIKhJBokVDiDrmhWoGdPgxmIZVgZnuOUIgvgbPPNcbVRgdQMIJaVnJPKmSCzQlrILJDDuWhSsBjwcPQhdeSywbGlCYKYdMUtFqYwZOkOLBcXOPcaJuwQBnPBiwYCXAEhhvqrOZQBvsNapYuViZghGiTSiYROUIDzXtUaKIvpwKuTTYGfKZnfZzkYbbPCzYnFXpgjylipqX", "zWTuTXmyHMFoUoFawWmeJgRVphWNSyEIZtBpHozQekdSqdmrrOAbGoPdFovqDgKQCUSOmsLaLJgxTsBQEcXTPBTrzUmppHzJyIxGzvvRVisgOtuVslmnAVxstJqrCwZaZOyYvGGxqgnItJyzuNtxXPRXHMpMNtmBKTTimRqBCzqPWZdfgvmppSydYNquBjGPqZdDiwjCdoXgDglitFmAnFcmdrRqdcdTdTGsJxTmmHPgrJmmdZikHJnuaYeJbWZZFBKHwKLyEjjNXybsoWenPtJjsQDpuZDRFNGYwrDVdIoWyCSIcjYIRFXAlQlDXYBeLooTOfGPOqdVuRXfAIxZeBSzgHXUzgKzqtpBRTsvymqqOUDmfZLWGJjboOKUXkMtWfqrDDXyxwvgGqJJyXRVglYXalzdbwyQXwMHyQetlEYOhzKroYJWCIyowlVcKNMELqwhxdRmxTdEIkcsfQhysaBSbtxdEfcVWyyRdjULqEpPOPBhXdMfuKBXBMgScSur", "CuWsSTiMtOyEWyHnJblFXVOFaSGiVDscCfOrvMWVNfVGOdmHOlbePEDkwBaJBNNQUNDwmsqTqEEcjZYVZdxqPdwQFyggGwPEZeFnxTpFkWxxEOEWPOIlBlNZYKFlfeDcEqksgEmksLbRNHRBELeYjFtbFwQWoceKRytGyjoOHtNhSNEEcBbAqlHnAANLOmsvqkdkhzOOrnnWbanaGWUjXKOObOhvYrVGHaSAzzeJPZnSPmpJriFcrdZlKUSZHYEhQAkFwMvcblpjurfyFIgTJUozOUnrKIVGWlvZTgZJpeFxMjZiiFrewhtVRIQyprtPWWAGqYgRCRnNkFcKXfgZwkuwNhnXrVUFgLVXGKzZBVdXRJIUHCcyegatGoBhtjqgAFJupkuWjRJIGlEZBJixUIMPNshTxulBYSISkgyvTWQElDBmatLlKCqqXAqDaLvEigZXsLjFRQigzKrRVEZsicsYOCbMtBVFYucCheWCIxOJmdjfDkaTBsgNVWgqZFxW", "rmUVdeofVOQBysEjDUKwochkAfESqcXOiTEPQFwVKQXUHovzFbtDdTgBdnEodtkeBWAXFPXSQMMvMPFNzTlJMsQcIjyjtEhXdynYyauWNZLjZaHMQkXtPwGAqKqKHuNSwECVWwThgjMxyGSbsyuXWgHguiNEuRMwwWrRdCUnHSnmjxOlVwzFChVFxADODmoAFyhDsOiMGnHVTyPoKoWUmboCCiPjlQQsczZZpDygRJgIsXOgzmBEWkccqZLruBZukTzRqDqzWJVYCTENfUIurNzTHaCEmsPpgyrJXRETPaahHLZWUbSukKNCrCZgboAztILbVPGuFnBqxMtzHdiLhHVDlTGmPHyKAvSMhpBSpWrXHCbgaTRYVMIMTNnFvNHjUjNGoLmajzkFXlOgJQNSACHLMQbcicQmdzrijVWdPUNDqwhYuXocsDVFYSfgjmEFsthctDyQfgaaeMwBADHczBvAXqOGJPqrGjhtoIrqJvcevlUjeVxEBHSVRlcsDXeD", "cAYLbjFNDwLniDcTFxcfgmzSCIWnJIYIjjrWoncPUsuOQJBjdJwDJiXmDFGVADWTSzSCaXqeqpPWuKHJExnrtFdpOjkhuOrpuOuoWagEuofGOEcFMZXTnOUQurAxLYDnyQqrCvHyCcZnVsVHyKswcmPSFUFzffUxrNjeaJkvITBPlqIFLDfjOIYkLTYtdsnwwcAduchgawOoltoXtsiDcYVYTKFsdifIsTJATjTTtRcoXwOuzcFaaceeXEIyYsaWgKSNmoNqjuunQBjkXkQPiWDCMMapxpSTMkIfFHgUcmcMaMGSITQvXHyxenVcLSZPrFHVtjMsukFSJTLSgLdVJzdmlHwtBzjfHyzYdsWDjSSDDRHfhOVdclGwgRXFPOMbFoDFotDxdwbREhkbMDNFMbeQxuPjDSkKibPiZmIuVFpIxQUWiHfVvCFglHAzKagukpWcVFgUAfUjdziQyfFNUaTXQucvikeMOKvUXAifUpWoOOqeaOuYtYZknbvVEjrE", "AaABhLzFvgnaBAIzlFcEFZhYIGkBTgRhRmdLPtkgRvTwvgchAhsGJHqzJDhGxZjzVZpNpPPTVXmOpTQZzzraDcSuiuIStYWcoOWUtNRtfRCmVkBFiHfXajZXyvkrPgcoKgwEmhvvYeUSOprmKjnYKiBzQsPMtXhnJGJjQuyoAxgPkxiHyztMcJprSbNZtVEvUMhhfnXsXAcAbuFOxGZAYeaTviwrpVTFqFYBiIIcrMVLWBIKEZpkVICDoTKSPeTYNNgbeGjjpFDOFvhIgEzytfRgLQQkGIuQrbALAjJyIqcVetVXirazdaVGOCENTPpZlllUEUMMqmFqavqSaBWkEThWEvhIwbPcqlEuKmDZPPwKFHHGLpmxvuqiQMOhNOvafjHymGeeScRikWWMnGcygtEQIGmankvtQMvOKrWJLJypbiSeiQKaBEZvmgOdeVhPoTwXvRrHrOijdnRobmpFSSHHXlRHYBTtBOcOnnuoIYINvTzNwpLxkYWQLyPwBqxi", "rSLfgpMXGhNoELkPYUfSCkNhcJOBxXIHCUavZoZaknckJkZoRKhwClOrkWviMqqvjejuNApouTJpqoTvEdnrEPApROXcQbRwKXIKhgzFlGboAiLdefSaErbUWcMKVyyTKrifoizMWSmZOVtEhpBquAJFbTpTgrDToppPvYXFxgZWWyrkjrRDNOVFfxzVKcbgmynGrAadXFDcEfVSQNOyvLVHmGgkpqOzYEkgQhTGHCGAZhuJmJFQZZJxLrMLYsKVQWfVGzAnQPYJtqhrOHLKrXAwKMLCERaYAHjeDifRAxCzcTKbSFgEiKTtaftKlglzJzDTKiXeWcQWlmgaGiLjZSTEntfxBDWRAKHDhPzeWFnmQjQJpSNehCsslZSLdJGkfSulmYjUTUsRtJWAdfGeclaBKTOKUZWkVsaBZDtZBLzpZKxWYcJHjBBaNmMPuMRfFOWnbfpKQhtwhAPcJddZGAHCaoJPmzrVdLIWfBDxmcjQTgcEhzGqBREUdcmTYvbK", "kUrfxAOTczkngyaGjgCLBCEKxdvtqBoheIIOYShpUTTGUZntdTVWUcEkzhmnCHfBtgEdvMUlOVwFdTxqXvlWLkeyZQVnJJEaGIuCOzoORBstwMYeEyJDxCqYuSDGAEtTvaaRgLUtKDaBVrlwcwiRwJtYEveHJqcsZzfgmUDokeGuZGACUiCxpfJlgFeSxqZGKFeCdjoSbDYkLHlDIcWkzvtLFxnqyuBOthNoeKKvnduztWgXRIFfBGJzLRWigIRmQlVTZoUZIuwkwCYEqDPPygCMWarejhVZCSaLxQzdvXkBWTUqtRfqOzvPHpNHSVcGfFwOngjocVNRubBTPZEqrFtucgztJwJkFJAaLKTdyvKCJSCuZHObYFUJOUaFzKlxmDpuBpQXBnFqROxSNHEobhTOyDSMOJRtSmZqQkDdnfimGZTwzXxCacAGyemNjrrOVHkdPNeegZcQNJaxIWtKgtCtgFAIXLMPLuGGeTneiHjHhRLLUmFTlxjgEkDxoGDl", "FudSXYMdBJjHApArLYlZbPiHSgEALoFxNWpyOZMGtjfmUgLfDQGLHubIoDPYkzUzvlZycggGZtBSEVTpnaSWVIYKHgZKGxmosyeMMbGzxkQBMSBNrHaFXmxVDNZQhQvoismbVgcYYTMqqkymEiBBcJmwEfWSstTJGuoAViQIMChxjsVnlBdhEapFzXvzuqycYKUQDPCGaUKxlYbDmUxAWTDoqTJQqFWbcWWFLnooSMJpkluuRtBJatwueIhEqwLdFmkyIEhOpTUzzHWCaNamoXyZuJjVPFaLCDIIqgRxZZWjyQRyYmTxcYawKPmGKDagldKbSNesVTMQHBfqPFAOdXfdMCxVcYBHRbFlezhvmOqDEwyVlEImealjqFTtvClZtRdpwFkXFFMaIyVaAERlREeOjJEDnKmBxwVVJGpmlbXHbCZQKRwuWCuIyEEfiQotmjwzUQlZdysaoCayybeOmhBeAoMaSfpvlyeilsKrqlTqdeXkDAbvyCZLjeCwodjO"],"c_array_date":["2001-01-09", "2015-04-20", "2000-08-12", "2009-06-07", "2017-04-24", "2002-03-27", "2013-04-15", "2012-07-17", "2012-07-08", "2004-10-18", "2015-09-02", "2012-12-04", "2000-12-27", "2008-06-16", "2005-04-13", "2002-06-21", "2000-09-24", "2018-09-08", "2017-02-02", "2019-04-20", "2012-06-08", "2005-01-08", "2001-09-22", "2010-05-27", "2016-10-05"],"c_array_boolean":[1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0],"c_map_decimal":{"c_map_decimal_1":27.0392, "c_map_decimal_2":85.0898, "c_map_decimal_3":85.0205, "c_map_decimal_4":45.0365, "c_map_decimal_5":75.1012, "c_map_decimal_6":25.0034, "c_map_decimal_7":94.1938, "c_map_decimal_8":1.1897, "c_map_decimal_9":95.1496, "c_map_decimal_10":71.0576},"c_bigint":-7761728160545139760,"c_largeint":7659423147456548967,"c_varchar":"her","c_map_largeint":{"c_map_largeint_1":-8372611032390575862, "c_map_largeint_2":5045699754779989773, "c_map_largeint_3":-1287950038596118824, "c_map_largeint_4":6547181834587530767, "c_map_largeint_5":1579522807870936264, "c_map_largeint_6":-7740587247488702738, "c_map_largeint_7":-9148612521516186557, "c_map_largeint_8":-3280173961993708809, "c_map_largeint_9":-3173040706289592160, "c_map_largeint_10":-4424104799704081433},"c_map_float":{"c_map_float_1":47.042953, "c_map_float_2":71.84654, "c_map_float_3":70.53289, "c_map_float_4":2.1831374, "c_map_float_5":87.78946, "c_map_float_6":99.25303, "c_map_float_7":98.572914, "c_map_float_8":85.23496, "c_map_float_9":35.746624, "c_map_float_10":91.20324},"c_decimal":98.0074,"c_array_int":[-122472622, -685894581, -1783216792, 383074969, 574412176, 270866652, -1101696986, 2069385447, -158421270, -1744842501, 1847653658, -453047862, -1891638114, -619291505, 2139181279, 707967046, -685830808, 582484907, 1810632194, 1573375748, -1478780882, 1240215720, -1342333527, -134978931, -221631153],"c_array_float":[2.9174676, 66.68812, 38.626476, 25.972887, 59.128307, 37.765797, 5.7888317, 20.795084, 4.141976, 14.811644, 58.322174, 24.178211, 11.008515, 94.04542, 76.731544, 51.772324, 96.12829, 56.27677, 85.65196, 22.368284, 50.311108, 5.7627954, 69.40298, 42.93455, 70.347694],"c_array_ipv4":["wFtUVXfaNH", "zmBZkoXaVO", "IbSpQoatbk", "uWsZmtgdxq", "htbmellIPz", "xVkitQeloy", "ZsSXPJDclk", "omdVGLQAld", "BewXcMgIfN", "MpkFrXjMQR", "GnlPyXsahW", "BqxIjExyJi", "ZzPFpTztcQ", "rTjPboPCPU", "yWAZQqhAKC", "EFXBsIIPuM", "itxmiVfAZp", "lvTvItsCRt", "LIaFarGHwc", "LexBusvBoH", "KBNaulsUdU", "eWfqAbRjlA", "aiifAxUGye", "oKwNdKDyIX", "VUfVUNIqTJ"],"c_map_string":{"c_map_string_1":"vcNYRsmjktcMVlfJHkQmKMEMuPGezNXzmPeYTKBRHMZySIZzdqnKiWATxBUDVjHkCRSvnCZwyFdnNaTdxjYFYodOMJfmitITyxHbWuYGPKclcStLfNCfbHfVfdKPgNqaRVSQNXZumXCYVAlexhleKWcONNlhNQRvYmqtXsjZYZjfWmtAjkjigOuHnGJrbaXjOoEndvTpZlVYHrXfxcyZHkHmBhcOdxCJzLuTYVuvNEWavENzYfyZtUmZhCNUzxDrMKYhvQGSXRUwerbVLBfTGdswgdZynpCnlDzYAztznNMhocKgolHeKCGxHBmuLwctHcnAIFiesdmFEGVUfMIiNCiWxuOQDyBulmEqGnGbkGSqMtEIwGIYaMIOrLQsVxuECLzrwSjTfwRoAGxJPFZTemlihZITkjjdwOdACqTjSDSKDHlCyzagdnLxYtZURczvMlTOVgAZMVDPWjTfshzYxFiffnVhOxTOKstpfghBPMrQwqcCYNuTsuySbTWiXKxN", "c_map_string_2":"rjdZvkwPVYpCsFAuDSFAoGHVczLDehGHjYFyJTnHXjTMVEpVgsVWykMNaPqUwbUhCPVYYzyBVnquXuKKqbpjstNwJSmWmmLcWTtHtxxNGVWrNZbuXjbmNzwZoLYVIoGTMpIFBoMcfxWerEYiYAdltgRKNDHfedUKfAQSLjXHeTToREZIbHcdGZKCTuCWumElufpazqQjwrgegFdInNZgaUXCbpUNRiFYfpoPiyBascypuddaCiaejmtLGSorvGObvjuqDHjpTgPfiBHCZyAqAnIqioQDHUmOtOmzuYVpFVtcVykYecHZaDkRBfavCbzYTchwEYyPDvFZtPMLCCaZulOLQJNrWcUFAJooVqOYXdFfVlwpsbCvGFYglpvIrfxygOZfCcJTLtwFVhPLUrQsqfnuEHEYBuXopzTFBzheXlicvwbXOkkfYbRZIDUfJRsnZUTovxzNuWGTqkgmpgpAvSLlsEBDUUgfSQGYlJOeRNbQKeehTRCnBcAtsjxXxckS", "c_map_string_3":"MFzzCbknrsAPEIagoHdPWucsIUTCjdkkEoEGBuMZXjklfgjbNCZwBSivcDUxNCRIhgUeMvjWDASWVsQfVJbRQzHHXzyNjNovNbDeIQnBPDXTpXXjoCZsklcCwkcZzPLrMSGstteQDPPWCAdcOgrQqLPLlHazrMKiPCsFSXhirdWKADPeGCrPDGaXOUZTfTbBrTNvjHfquVHEUSsXCEQPRHjZMiXxpgzjHYoznXUSzkelBeNdoCQsYnUyJsWLdOKqMgZhIZECQEjIZihJheZgqGZTwjEZcRlhmzVbazyaDZbKwJpnlxuKSNmtLxZRRJJDyuYIzKwbccwlCJjvNONfzfuQupWlvtspuyTnQIFXTtywpLAikzIGuXhRcfeHmSkdErAhjKmQwksAYxjjkdjPVtjuUrEKuIdjPsNDbXrwoYsxbNYeWXYaFYPokXKFjHcajlftyFjxUuYUNKQDItHLXktoxxBuivethWGWPAHMwkObAAxteHWYlhSSVWZKcUHX", "c_map_string_4":"ErqyoBxAbeRynVTptfPNypEsakiZoiPpPuhWdViYqwEIkpBzvdyqaIUhzShJOMtDrqKMzIXGRGFgaBYNGWdrHBKgIPqAiCMjIGwWMAOFNxIFXrFwSNIaGbEukgXDGxhfAfsqzSWHHdSGeIhFtJQTDwcPGmpPwdXMTIBdjSIbdEGjXbVStzZTNiBpLqjxOUepTkOCMxPsOVDhnzYiclCxiWNzptqhtFqcMULTqYXXxSqFjueEZEdUKVaBjVLvebWXMcCzzWKHKkPJuHZeUavBqtCgngmukdtGCbfImHCpkwGZSwidBzMxNNizGRUGETiBFOOPvXiVLfGphapRMkjOTRcTnYDoqfndmAKfRRdEKRtvTxXVxryLdptFOnmszAMvxituMgWnONZCAKtIrfbJJMJvVAwOvpscZsJSNnaMwYLoTVtYhCZUKbYmmqVZmfCLdKoSStDWYzCDMizqUrGPnorEzIZWDimvOcQFBEZRlRWcXGlCnwwudLOpODShNKDc", "c_map_string_5":"fAiIFLDOBbyYxQiknVBusKqdZNErAmACToZezTbAamJVsmIMPNEYOWAXgpurRIwGrStKxDncHegFmAgWmLtAuBSaMjRqgqKyQCgCpuDBYScTnDXttqhPeJGfxXHRPpFFFPLhrOcgEdEUdrsCcslsqnBIJbLanYFpoIRWygACRrnapSCrgRUSyOMHzQgJoVEKkmwAIMBHOwakvlsgRZxcqgdynOIIESMNsKTLVosdHefczaKEsUterzbzoZGjBJgFXvLZAmCVSCKwUpWGnnbQHbepRteqmtcVQsPVfloCVGYYeHHmsEBzjZmqhOYxPJOgYWtNvdVpuLcEyZjnooXHIHsirmFhLXOfxbjaYZHWgYGyocxJKeOgauFeXcHZqpQGMZyMnuAYWyoTfTwkuVgvPyoXhKAWDUDiGHvsxozHYlFzxDPpzvjbEPQyhxcZGrryLEbjXTpLRohyzEdXrmkpbKoEUgjxtqjliuBKTOOUUnoxfphNTKbzpjpnIuzYrYMH", "c_map_string_6":"hMCpqRjuWJrlPmnyQDJWoOvOUUvRLVtVDYbxtSNZYscfguTHpkXKFFmlhzyDoVzZOkbYKRDCZhUJqDhZwZJHbpTEvHbzZyqLYghTfknKZpGOFXIGnEpAmutUHKaDTIiwuLdGaKPpJBXekEeanGMqplbCzNOpibxfNOhxEKpIqsAlOaheFZKNcubZDOOaXCltQZbaYaJlqUqxvdpzrBrIETbnnsUdAvHSFJFGRLHQZtYzGyHvLfzHQmdGZoUvccUZFHLHNxYGVnoCWpXiOMkYcxnUPSqkSpgMEESLTYImzYNkXlHTctEnFeZeChBHzzREMMWIjxzYocalSkaVNtqKbeXXrGSgoGyBewrAtSDUtsmwzJJyJNgclPRSHoplxIamfyXYHZNrerSUJYQeizWDsSivIFxGiSnoMWuMaeApzptNuFUSRqoNThohuJvXHMmsrYqxFJgQfTVzKrJJwlKkfsmlRyWNootyIBYUfVVhNwtIAewKSuZncmyLlYgHxPrR", "c_map_string_7":"szrAmbMkqIpIYMEblfYKyAPxdgIHRoUrCNzcAHGwyrYmfdGyBThmXoPlUzbwslnkjyeQhphHAXSWNpnRgVecRffldDGIgAUlVVZHXkorrHyesTWeBFtWsdsdzMwbVohnzCKOgFocfxaXCYeudnUoHZKCExkCKdEtgSAQFVLBbPcXydSdnhtxMZjkFsrLvtMgXijdIDMglSjqFlukQNgPWiygchEYYzrovaQhfmzZHYGWrPNjrrOUYdEGZqdTnEFertFaCPBdMQmZCdVaihgxvcLqiMkMgGSrBXcHQvOtmTNwkVcyBrkBiyAjTfExzTEVxUpNVdcjGeuUYIOeZHAdIjRfKgwpxfVOcWvqzVLGiRSLzvzLlZfxlwbseKjnggCfuikPHfmbmbQtsknXasyOvwjixBTGgSvcYxYVtLEATJexgEoECCIbpOVqyJTShSSnGMTdowswPClByeYIcMebYnwWZcpOflYNYkGvTOblbJKTKhXrHLhveXCLiElWnltE", "c_map_string_8":"jIVageAQJucOPrICdANLUEpRqAYNCdqMjfUYIuILzrSaYaRwZPjKWQpVLiUASjGwfMPXunGFiHKsWlZaMiKuOMuVIsZULZcdCsolTgGBPOPDWBiaOHxNLuFPxbzhVOdEBrcywtUZeFZZKePCQtwIerPJKfSfpOBURdrSYAIXLAMXSLUWQOtzeEYHdyHJGlwPqjJhLJGrdOEIBZFtQKzMsRJDCpKogQcFEhfhCGPWbBySMXzCrcASmHiiIyqFeWFRtykuZeSuMTuoHYoiBAzIBFXjykyJFPPrevBcnlftVlghxCQBXnxkFfVbWBASabVvuinZKOxURyXDHNbOeDUvdeOMohKIEHEaSDHQYyXbvLOwaJfOzmBiKMsgzKlJDnHNkIakhlZsUclkZcsOMehykEoINvfEimkmQGXvEvUiRHBmrIquxqvlKanspUFQqwMPdpfRJSZUQnWouDzyeeicUAgvimrdmRErkcmIpbRGXFgIkgwPSYJabuSGVZwlnKYD", "c_map_string_9":"FCUSaajeuaamctWiFvyGmFpTtVLrIrjidUfSKMjiyksMZeqPoPhswzjRmXuJAUXeHuTiAkZfcNaAvuQYjYNfERzalfDZIRkirRlldYuTbiqzISGsFhduddbXtrQPIaBdUZFfOjgWpIMGkTOjNNlkBDgtRHPJlHiVkTaSBOvHtPQvEikbYhfwDHosKtVAANdyaZRKYMupwmVCQSQdJlSvqXSDOQTwfEuolJKVbUeVcOHruiRacICOSgsqPSOpNtRezYwseJHgYWxFpruoRqIXwlvGZvbQNKHpFNPeRsruLdVzNCpRltMTxCZUJnhYqwPWRGHvvjacBnZVXMFPCrLxELrIyqMqzHBNRzOtxmiRZYBDfTpThreMgDZtffzBARYwcQHfYLpkfJJxiVZYyDeXTYcxWrgmImSBaesabsBemTDajxOTLFKTTecUBNekUHyUpWaeOfLndXINGwTjCBOKIrPAwWfpWBdYagJwWlHgAgDxNKxdTWZPagJdysPqgIzo", "c_map_string_10":"topGrLxStFJjpEPEVxEgfBKbVoAWgdLezwNVdHVuVtewGlGsmfPgmKJtbRHYCsVYralJwudPUNDZEQZGUrHBEWlszxBgRXTBDWuMYpgssUawZMmNwmHSZByWusBKtGLFzToyIJRaHOdsFaeVyyeEEFhaQXTQcDiqncVKZCusvXkyJaVzYyszREewlkwXhhELTRrwzCTtbEOcoAUSPBcYVFrSbgYyCHWaYKIsEVZlomdtTxQBVPBSUvfvayynOBqmybgQZXFjjcehLPOikONBwMvGrqQPqvXFUCYGBQUsGLtRnyACQNWzFKWjplRiaBeElJOmLtEfegYtZdAwarGdJccqHoImBGQrXkRcfcVagCPcMSccYXuDzJDrkqvzoNpwSloXOySWdjsTKtiCFQzpfwlhXaiCCwkxHoEBvwJrpLEwYzSaCfFiYOJetHbdCEnHRaancwrWhlujWjgoSHNNUrFzuectrDycHCgRpMuuFBehBcPSCYcoCFzmVOoKTljo"},"c_map_datetime":{"c_map_datetime_1":"2016-05-09 06:18:57", "c_map_datetime_2":"2015-03-18 01:27:48", "c_map_datetime_3":"2010-09-13 07:04:28", "c_map_datetime_4":"2016-08-01 17:10:54", "c_map_datetime_5":"2012-06-07 02:20:11", "c_map_datetime_6":"2014-06-25 06:11:25", "c_map_datetime_7":"2003-09-20 10:33:19", "c_map_datetime_8":"2016-01-23 16:52:07", "c_map_datetime_9":"2013-12-08 17:31:41", "c_map_datetime_10":"2018-05-28 14:19:19"},"c_map_ipv6":{"c_map_ipv6_1":"e1df:6578:fc4a:c8c8:1f6e:6054:e599:42e", "c_map_ipv6_2":"f1b7:5308:8c03:d5ae:85fd:adf7:213d:1d6a", "c_map_ipv6_3":"8911:182d:125e:984c:36fb:d0ae:1aa9:2f5e", "c_map_ipv6_4":"c52c:661d:131a:3741:1dd0:753f:b8d1:3b25", "c_map_ipv6_5":"770e:a910:6b23:6bae:25d0:4eb3:6b56:9a57", "c_map_ipv6_6":"b6da:a3b:613d:72b:9afd:5e5:c24c:44f0", "c_map_ipv6_7":"39d:f907:a531:145c:972c:2d56:1768:99eb", "c_map_ipv6_8":"2fc7:bff8:de56:7bfc:3b0a:96d6:98cb:684c", "c_map_ipv6_9":"9a70:10b1:f0c7:1100:a7d0:57a1:2bda:2acc", "c_map_ipv6_10":"5340:99a:3d8f:c6a8:6de5:e427:cd60:60d5"},"c_string":"GgBSFYiSVPZryPIJpjfqrTNprhTlmnakzmHCsgebrVqQQGxMAVYfKGUSiljPtCBaMGRCjLRqQyQIvMfrIfJkVdHwAmHInOAHGaWKjeNaHPCYAfaqXbumWtRUXDqUsdfDCOkgegokQqXutdACVzGNuyXTfitFRjTPaIAMcXKeidgFItTBmMgCULarLUOOwbtCJNwzoQpsvnyYnxooswAZKQJiUGbtcfAlltMMIeyRHvRJWkahOGkWIvuuAEsBICyDXVMoNvrQoGlJGpkqoMJdYctVFukBALvgLKmUXenwvREGsGSRdZZtQHDBwaGJreJLiRYIgiLZZymjhtSLmzKUdzWSkNbNCQrMiTwFnEyEuXbzcfWWVlqvbiBMtttaUqevtZOwttnArkYsmCKMsfucrORECoEedemzElPYFpXBzYPDwWhHPxwSwPXoFIggSuMYdidZJBAYgNiKXlSyjNfipJoziWytUQODILaGvFUkhFDjTlLUgOcycUFBYqlGDJnZ","c_ipv6":"e91c:6b79:ecd4:7b5e:73b1:466f:b50a:f7c2","c_array_double":[62.63615212444145, 44.00234344594369, 11.601377464416746, 73.9351828216301, 70.75338048893639, 54.263485495867876, 53.475847115060155, 27.369663449822482, 62.02027210075509, 83.63224361036426, 39.18440473136603, 31.949721448682933, 8.463270663135694, 16.65911314699209, 2.840604869469988, 0.20557165923893847, 26.848837728027462, 40.01459288911618, 39.39072306592376, 80.04034604926201, 40.12157267105173, 42.92410262976762, 72.14765435853712, 0.2308340987686857, 4.635252589],"c_tinyint":-98,"c_array_decimal":[57.1825, 32.1931, 95.0989, 72.1944, 8.1223, 39.0312, 65.1713, 34.1824, 17.0646, 34.1870, 86.1416, 47.1218, 22.0374, 52.0328, 71.0133, 75.0287, 12.0077, 34.1491, 70.0229, 72.1759, 67.1902, 83.1041, 42.1491, 32.0897, 10.0486],"c_map_char":{"c_map_char_1":"mfizKMFPHv", "c_map_char_2":"dWcUFTDpFN", "c_map_char_3":"IzKAomYbfI", "c_map_char_4":"edODbAvpgV", "c_map_char_5":"NsrEZhmmCI", "c_map_char_6":"HckNkZMxRy", "c_map_char_7":"ALwDDTqupD", "c_map_char_8":"XXRxDqOvhb", "c_map_char_9":"VttlumdzJC", "c_map_char_10":"TiYJsGdpqG"},"c_array_varchar":["mXaIZndvRNZgNdRBEfErqcQGMEBegizDhLvfhAqizsXSogunAHkMIiKPnJjYdfyqbxCttGIwmcIWHkvmLOFJSeanrQpRTIUUHvJCEdKhwbjYHtQhAUGAYWLVbQfScOcbqtgZDVPJuJmVNWlKJNtaNcPOqTIeOqOcxfucOFOxOhTvoxMXQYmMWkxNKHrBSIwzXYJdFuvUCFsCTUDYWodrqbBeLXsmFNQJXJlyyBpaJdGbtJiZrHyyRwapEIaYvcUW", "taWAwERrxsnCyjltllXxvzbdwRcfTmpdXPLyalZEWzPQSiAdBifFmCYYjYEOxPZGFVzAkCZjDqjgdhAuYlTqQSkjinPFbktKhMgoTdRDPUGEoyQiaBNEATGEWXnwzhEGBQWoWcqsRHdohWSQPUognMvUvIadZeSkcSibiEINANjiXClQpFRURrHMuUfHaOSDzhxHwYKQnjhwaudoAtPjedsBuJzPswMkhBxSaPxOmoyiyCoWUGSnskAaFcthnRSY", "xxqMFQvJwZByClrcNGcCtAlKUisfnAvOYdiPottxbTXrylZKLqucRtBMXWISphzhBliJFXZTWYegfSCJhcvuklLNmLCkbfduNGSmIzfuOeXRtwRdUbgjCvDIKseCZCSVVLmepsQERIaIvlskxuzjDxCxCSqQOIxiWlbIDrJfPHNEjpXRkBqHiNwNizmUgDdbgNNAbVpmqRABtBsnwROhseHXYQxJZLqDjtaCltjgDNENkkyrLHSQhpvkEnlEjBqX", "zAndwtPDGcYeqEPakgNQptctFXPihrkMyBCwzdprFUAkuSuAhHKrgeaNDQeoFoPtDeiwtWfBhXpBVJQmGxXgMjivIDttujKhzdcsXSXaTxFdlMfRjeoGAZXvgzqHAmJWbAospkTtHxpvAdOMmNGLEIufErMbgJqnhvBrzIzAavTvzmLcarNShhFxkmKrHqbxjaVMaagoeRoHBURJlafbOQqRNMhutVzmuebPmzOkJdlDRgtbCUsUMriCzWTxaXbk", "mAPNrGCNMALOmaBEqZhBohtaUKCETaYqpGModlKdUUvlZHulPUBaiiOEjyKdliVlAEJCsGiFuvHgCWYrqDPMilHgrLcCclfdoxhahrbOWEVerUKWSMRUGQRzzfdZQeLXQJODoBxRCgzmHtBmGZRwFaCYDQLipsGgjQabnakBhRbLIKVZtBaHtdMJTvkAUOvNWvpAVqhQxNRjRISMUnVRDMIiwXuHkBHbdYhPXxuKHLGbMtJpostydJYwKPfCvPXn", "SSdohbAnGnfnKBxqQKZzijuAhzeHInDyCxHDhHFxsyjKuEfUEJfwsEWfEnuIZuxOBmlmtSDLkGACwNZGxoiYeVDtQWdHiqFsZpdWVNDmZzSlGTdmkBuqVKeCivMzRffkXekfAdcmEUaTWhbsvYYbZHSbOzgriuRgvoIJycUROujXrypCCGCoKDnvOdnsxMoIVtJDlpbECFQyXihKpYfawqIiLFPjlDciZufuPSICabotYuMItDpKUBHbcbSAOjYK", "NzgApXbYGueGXBdbMPeCVvWucfZbmCjUvmVkTLFMAMJiLIEirEQvqAbdZmdqruXquLmncSMsJccALsQxIRgLkyuqPqznYOIaUBzQujdlQGXynxKdrgdzWuDNcAIxURLAXSbSVNdMpfVfbpNfPfrtKFPUWsTLAdaribagoPiBWbIvQqoMmnasjoFTsyyCXdnlJBCRnZisxoMXuENZtTonhAYMDzLaFwWSCJArWgYNjYNzUgwZLJRyHKwdRRIiiWwO", "oRLZOwBxKawNHexLNCwZxsELXqbrygPxanTWYAQUUgwhjcgLzDPbaDkczBfgtPVCtyRNqswHXgQuCOQQGUVLrEtAqhpKeMtfSwzBrcXZHayBjFeSTZmzLeQPGXHuIsjhIyUIgCEZrmWPECCXLyNgDZqtwAyaKhvUjrSlwqOGZkmyPcxQsrKFihnIIhzhfiJtdoWOdDVYfudbTllVHmFnQIhDrmjiXDLJPAqgbSZWzcrWgeHazCMshqgjywrgbKlq", "JeluiJUFkVlGxeGhDzjrDAfKbbygyKWxTbvxJiXFzkzyiRxtSVZnmTBihmCAunTzwKXQMkLkAWVbjtqlYFCnSuAaUdeUJZzYNLTkofnSXSbIfXczNYatkfYrORsogUZqBZXDGXHPISccHOWInKYwKSlkeTZXUlsgVDJclOqnaoYICXYSeZeIAeGWPQFONDWBoddlzJvICccdZsDHYiFsjlzRWxYfhSiQITseAOzQroMiYiaTXFFTyUHJjYEEhyTo", "zWEMdNOCagljAnooIHIVtvfqlsXuXYlKGLnqtyPlukdFqPfdqtULqLnlCsSHvTrKTdCyDEqkMgLrhsUfKfEDgXhotyhYdJINNDiseSDQbJNDyNsCAQQmMAMBFmLlTMpWtkKwvimdLZacENlUJnSRgoGnBKghGEEqeXJnwqkjsqrXEkdRHpoVopCNbzraOHPTBKUVSNukICnmpjLcdOKrgpLSPrmrVCbnBDuUVWolBMRtILRQWlFoEmztgvfNPfhP", "RGbTRekNFNiPUWEBhTDxNyfdIxjvTusrtwwTdtsHRuUxfXZnIHdeEnpruoiUaEGiiGyvPfddBhZCKqmEFHnYaJMDzaiIwIydFyYYcunkSWqGqWHEwrGWhcoWoblExmYkClGBsnxgIIqqRxIBkVvmDbGVwFUfoIWtRfZzcQvwEaKzAgXMqhlhrSuzRBLeIsSUpzDFqSSdtxSkqxbLSrLEvcYhcxPzMmKmTytAjKKJojqIcjLjEdNzpxWflJnVQasP", "uhSJwcFxvBdbkOCzmUajSUrgUVkwBbqZeCoJMUglNojRJSsgbXBMxCgYIXpKekCFCqVHukIChwhaoUskCjUVChZqfGkqvHZPmRShVxRjiHwEkQcVgOwUHrTKHaEMGXRNpbPZpnueWyfSuQRTGLGbxzbmqVoIGuXzkcyWYoBSpeepjnTesVZutYJLWLHjLezUbirLtKAFvKvehQeKbAHkvbrnpmGNWHhSxLkwoVohXlkuiFxDVczdcoUfgpwuzAYI", "GpWkxczLXHcyNGlZYBHnGcjSsvqRsffynCqQhZVNXJpQfQvbwfSAqjtWUowyzayMNUlprhhZavMdLjLOufaogcnQhRYHwJdgZaiOfiCYOyflhjzXzESlxQIyNfTXYcyNsDVoCaaoXtMLQCAMhVShCRlHYJvNknPNZrduklBFqplJXqtCEgeyCPBbBHpJpNTZhqbiWUyqYMgbuqFzxvuqQoTxDGPjMZtEszkySLPyXIXmUiaYpUeXmivzznsgnkMh", "aRLFiHvAWsPNThfcvlRErTAvSZABJPcjUUuoDFEawntiPGFZIUNskxstxwNRSedUdbDntTMIZThtVeFNMhrKVtEUQncuVleczPLIAPCPWfcQGEMEAXQqJjPXKIffhWYkeqUEhVcqfMwvtheGFbsbNtixbsaSIVkWekhzHgdSXHGVjdofbZbsYIRQItCKqjKWipeErFXXnYsQaPvGltnfrFWIRLrcMsdjUSNBBNkSRQmyWvLfpgVDcsLtWLtTKKNK", "QmieCbSpTRZseJWoguXpdGQytNEAFwCuYTsSzCQTBIVMDbrgfMWkjXBuckpQnvLxSkqTCuTjKFVxtWYZkamtNbqYeJVIfTeZYVTMLUphYuQbixBLumhovagEoaVWQkRdRjOJxyscYZvbDbUuMrBPkehxYmnjJdAwJDnqOKeHsCoFngYJsMllcsheBTlocpoyZzRLQfzVyWdjgLnBNrtvyDIvPAEiDtGJSjHCKqSyflMqFJGqOXSiJdSdYBUbfNRU", "HIvHKxfiTPtJdLZBeoPxWeJxXFZbyViLuBqtvBuMNTqQxjfbWKgShvhrjDHjVxRarAHzsLkihPdUfuQCbJRzaSwANvbpreFeiPFbPyfTlmJySlGNAKVEmDRdSONBFnnACpUkVFsNXOyCMutajcYstBrcowAXMUVovcqBKusTqCvVBfpYmiRgEeHnaYzsnLKCzFUWfNLGnsoSZxwlqOpjuIpzRItFaMUmKXhkOgdBlHNwDPSYjaPaCKNsttDCxbGj", "ORpCxOebsOQeZdDDGaAcyGSmLtPYHmJmtasrONByMpnlRYVTaZzKoqqwAevENRTfoCxUwVzBDNpzsTfuOaPDJRFENZQMcMmRvxRBVznzMzWzttidhvyqHMNaIsqGplYbviQohIpwjbXjsCHlPMzXKtWqFQlbAGyqUYsplIOvxvehgeQzSEmvkBkFrbFFDahuLHBRQFVruHtOTFRzbXvtINGMilXptTEIwQHaPUzYiPpYFLifALxDsRtXASDkIyGB", "khCEknvNTdtoGMiKAhKbTVSZrSelETZSZQNGSMpWDBGBMdbfOswfiCZkfasUSUxKbYWcaRTukEzPfLcVEYOuPoEJgoXgdbKVdsgdMpQRtphLJcdxmEqOWxhkJoIjzJDkKdLfPlcuvUuDXgPFAqkotvTLABsqKrKoMrdSsRZoRjXCqAhOfjysZqxCarRtJskYcXbhWIKcgFeBIruuXmceRAGKacFzaMmFyLOFiSVycvWImomnHZsDyxrTUsKmPNVz", "VAnUaveUNKurRsraAOqBeEEYCiVkVxpfdygJJZpyChmaxmyjxiFdxHLjweaoZxRfwwAACvfavnMnpuFvYTXPgBYWMfeHGmFNKfULDZNxLjIlHTGhIunVYIikEDPXXfIPBNFrmsFQwcXKMvgJZjxDcPKALJlHrqtfKGRZdlKNvEYzFqjpulImCRVZgKOlkfPdIEXKJtumIkAQcBOVZnaoEEPoUpqMnsJVknYUdPjWMaYGTLUWOBihQyARRiYTVwmP", "hvLSPzJeleKLXnwLUVniYsmmECSjGsmsBtHBXVYOyEOiLVZjNHIqsBSmvScDTXHhFdvfDCeiioDnFGIDTNooqLMcItXtVpnhhaDDimrAHIyiEUbHyNLAiUSADAuTanmceXsPcjjumyjKBiTxWZHtzOtrDgvaDqnJtzjDUtmZEETHEuUAnJeuDAPXnDoONvgWinlMAbNeuRjjBNMfOdhZnlIcepNpmqerGCAFQsuXrcPaZuBAKAggVEbfXWgXJFFN", "GzTlmiSVvNLLXSwBFGUnMOmoasnUYpcszAtrdnqntFssEEdMiuvWAlaNOVHIGXkAgZQLDFmEHWCTTPwXnOXPHUJyiahzisTvmdaDRbCQMWSNQuShhPJuIIJXoVYdiIVoKOEHRpVTyFmwwnmHxKiHFVCgibPLMTARhilDBoIUCtlubQNzMYAEQBwmiYGyOHQSHKjqMWyYBPvLNbAOYHGexbhnwSkqgCJwACvEYubvVVETqpEqgWTDLddjZVEtOlzi", "SqtjcHDMfbbzPvZkHHmfrWaJWqYTbscwdNsHmfVNIgevOreUyYYTYmPbKxuMOTOvgiJjrOqWKjaYGIfYwsAIssPZwHApghkxupClGgDrUfEhCzfkcnnIMlPXverXJjsHWzUhosLqhthzoSrBGJLNvKzkcYNnDDEJJfSFCxygYiQKOdfTBVyODRWTizfLxGRUltKwjSwUNhJkypswKUjyhmLkIyWhlHjQhpIOvgsGqWyakJgfSTcrezhAOFnKsGri", "KdwuMxfuuWribCZGambYVYRyBeXHJawVIoUvJnMsprnposwNJzkrwsQptIZkAjWPGGUeZmRSmMUeHWLeSHNRxnhlOJWHZOhQcnpXmWbAgqBmiHRDYAVbPQnhEQrvmcbdUgPamtsdAjbxcIEQptmphOJbUwqIBIDDjZymkjWBLjTjvcyazBCvnCiCrOHLgcWBbzoxYAPUFBTTdoxnLaKPlssIqOtypEWinfhothzCOLKNEmstfgTVeDgAVigdykkP", "vVGCqLTaDKVrCbBOMrlFVGrhuXtWRhJZUNEMoxBmAQfQiHkrxhkzECadBshjzYwZODrZWiDJwpKVCfGzPlflzTLfOBKjAEPrANUQZVfokpVfGRbhMgarNKiyTtNNKSrxgLXpiPHXQsSoUeJwLXObyxSzPqwNvHmNEbMnkpfGFBieSPQyjfUanuyZXROXTOYHkkFEaOiLxeIiXioEXXuQVkCuOxxfYyOCkzAXAPUQwFRSHnHqZRvujWKcArOtwgVD", "TPalExlZAQrzVTwDeTyLpEpUzWWYkDwZKHZdMKqLouTnoRTMjjBYwCKBghfdFhiXnAaSnNsWzuvCuBcmYWguZjEEdyZdnDEcJnewguiTBoXWHBzYTnAZWXwtuzBdeNEiEmKYzKjlilXvCtLqcUIYgycWZbKEemmyEZVihskjENwMgDnPBytpoFwTEpIKMVuJKzhpSrKHpKNEsPhUFQWculpHNDznyxhFAZrrYxAamPEfMJDVAGQjcWvKwzElbEDo"],"c_array_datetime":["2001-02-28 01:47:38", "2002-09-26 21:15:50", "2011-06-28 08:49:35", "2014-05-17 09:15:10", "2006-04-05 10:42:06", "2015-10-23 18:45:31", "2013-12-06 02:55:50", "2013-01-06 17:08:16", "2014-11-06 21:30:14", "2007-02-06 12:54:59", "2013-05-12 17:34:05", "2005-03-24 12:48:09", "2001-11-07 00:20:34", "2012-10-01 10:33:55", "2002-01-13 10:22:18", "2006-09-05 10:01:48", "2002-12-01 15:04:54", "2000-01-07 20:35:09", "2001-10-07 11:48:55", "2002-01-01 04:36:54", "2019-07-19 20:51:00", "2006-06-06 04:14:58", "2018-11-19 08:31:43", "2001-02-05 01:24:03", "2010-03-05 00:49:03"],"c_map_smallint":{"c_map_smallint_1":-1155, "c_map_smallint_2":17358, "c_map_smallint_3":552, "c_map_smallint_4":8915, "c_map_smallint_5":12999, "c_map_smallint_6":-17699, "c_map_smallint_7":-2073, "c_map_smallint_8":24851, "c_map_smallint_9":16221, "c_map_smallint_10":-21010},"c_map_bigint":{"c_map_bigint_1":-2852593812611931046, "c_map_bigint_2":8967682152884293363, "c_map_bigint_3":-8024207131797697148, "c_map_bigint_4":-6795477594273472123, "c_map_bigint_5":-5336326055970535043, "c_map_bigint_6":5510748303547752527, "c_map_bigint_7":-671906997461899991, "c_map_bigint_8":8799580754151323631, "c_map_bigint_9":-4775966999623033396, "c_map_bigint_10":814934704152309165},"c_smallint":6218,"c_char":"xzLeUVliIx","c_date":"2015-11-12","c_array_char":["KmyWZyjtDX", "qFGKgiOJcw", "MrUOBrmBCM", "vLLKRuWFPH", "zshrdPSzZO", "rWInEMpAxn", "XajavGSWXV", "PctLXZGhyb", "bUKSvNUTGt", "NXoTSxGIPc", "sTkktXaVxy", "xRJqANbutp", "VzOjuUomII", "UOUCbMQuRJ", "hGlfsWeoob", "eOegcUtclp", "PZiYkKrhTd", "pzBGTWZVdR", "qxmXlqtLjr", "sbofsTbaFf", "rJzdcUyFzZ", "yADDsfwMiT", "zyTuZQGbPs", "UXlIDXGjvZ", "qqMoDdbVsO"],"c_array_ipv6":["XOHTsDlHiB", "QWJsyofAXn", "RAqCakPAaB", "TPYtbtsxSc", "YdcGnZMQeU", "VBkOphfSqD", "tkkuriAULF", "QIKpPCyEba", "cVLmiKJskH", "fMSLBoipuX", "FlnqMttYsN", "WwcJGYktfu", "ZuOCLlovkg", "vQUROROxCN", "SRhCfLezEG", "BPEoEszywF", "RoLuGrjilf", "PyHCOeoVas", "ZfBTYWQRwf", "bTVjNEpIwm", "ucTlUQcAdp", "nXvgpcbdLY", "dFACCikMKn", "JPpFIhMPzs", "pdVsacawzO"],"c_map_date":{"c_map_date_1":"2011-06-15", "c_map_date_2":"2016-03-09", "c_map_date_3":"2015-01-27", "c_map_date_4":"2014-05-01", "c_map_date_5":"2002-04-10", "c_map_date_6":"2003-05-08", "c_map_date_7":"2002-10-28", "c_map_date_8":"2013-01-17", "c_map_date_9":"2016-04-07", "c_map_date_10":"2018-06-21"},"c_datetime":"2015-12-20 11:13:47","c_array_smallint":[921, -32347, 23503, -7777, -5187, -6552, 15921, -4818, 26147, 4738, 1257, -736, 28544, -7856, 2335, -15127, -12776, 4284, 13874, -10624, 12533, -31010, 391, 30582, 15004],"c_array_bigint":[-5758940735761805060, 2510825478369406140, -4900852060799787233, 2027896015457244622, -744323133369800777, 3594414597096391131, 2188185840037043435, 7138453771892455514, -2530209250767805229, 1038771640947523901, 5270515891939427824, -5309223223978654435, 1509784946026188425, -3585734206783487124, 5866081741699002409, 7391577019091761393, -5523626349238944016, 2211053892090904426, -7344551181720951979, 2397326375008642323, -7192288108731772044, -5854482442087016920, 2173267783387381111, -7743184657944662709, -1215213260974026311],"c_json":{"adverbdegree":"utterly","uint16":56530,"errorvalidation":{},"job":{"company":"Allied Van Lines","title":"Director","descriptor":"Legacy","level":"Factors"},"connectivelisting":"for another","macaddress":"d6:c9:da:b2:68:e7","letter":"W","bookauthor":"Emily Brontë","nicecolors":"DarkBlue","street":"69019 Shoalbury","zip":"15724"} }','{ "c_array_boolean":[1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0],"c_array_double":[85.98645435528468, 9.287475455155981, 1.5937884285657489, 8.195886304952579, 63.22447242115027, 74.62682794247863, 40.65618467210883, 18.079801085619593, 46.790983504658875, 82.20957741768909, 45.85553297071244, 97.29122745258707, 64.32375420388892, 12.68932416554314, 59.76539555163253, 54.23858749731875, 12.990720936953515, 95.36006802971725, 81.44654710991907, 46.75643620311906, 7.271325322772791, 72.25845102442953, 90.38007353752177, 89.27805064281767, 92.45608303631676],"c_map_largeint":{"c_map_largeint_1":5341982704625595711, "c_map_largeint_2":7528567820588721374, "c_map_largeint_3":4197405412581156084, "c_map_largeint_4":-8179137382056239184, "c_map_largeint_5":-1319061895759563465, "c_map_largeint_6":-4350149210846368851, "c_map_largeint_7":-4896705180872866267, "c_map_largeint_8":4587118901489699166, "c_map_largeint_9":8493680653606999295, "c_map_largeint_10":1587056145414475578},"c_map_float":{"c_map_float_1":71.09616, "c_map_float_2":63.68948, "c_map_float_3":44.081154, "c_map_float_4":8.629638, "c_map_float_5":87.7835, "c_map_float_6":23.328726, "c_map_float_7":69.6908, "c_map_float_8":39.124565, "c_map_float_9":75.32156, "c_map_float_10":43.3715},"c_double":59.92376860966041,"c_date":"2019-07-03","c_char":"EKMimsiYZc","c_array_char":["COHpwadxGu", "GIDPoeQhUZ", "boCNTpdFnQ", "KIOWKASLvw", "dmvImQNRGu", "ivemsCRsjw", "jLNwKjpsHA", "jZqehYKlfo", "fuCByhkUfK", "vuvXzWKyqI", "wUfpPJaVWC", "yKsaOcyjwk", "JcsnZohlUR", "bOzaPjXRdv", "YcTEBtHeio", "gseEyqYSIl", "HROpVMDdmG", "YiVSfZzgOk", "kacyJFllQq", "nMHKuKesiY", "FzUTuCTZIm", "NamoGPJXET", "BkdIWbXKrE", "mOKVzfnulf", "bvtdGpMsLd"],"c_array_datetime":["2007-12-08 01:00:42", "2006-12-19 18:20:46", "2018-02-02 10:53:15", "2010-08-28 01:40:20", "2002-09-23 17:45:23", "2011-12-21 17:33:20", "2004-04-22 20:50:17", "2014-05-17 16:45:33", "2016-06-25 12:01:47", "2013-02-08 22:11:43", "2009-07-01 10:05:15", "2001-08-22 02:54:51", "2012-05-14 15:04:06", "2019-02-12 10:07:32", "2001-09-26 15:29:46", "2010-05-23 08:12:19", "2010-03-02 01:47:13", "2005-09-04 16:21:25", "2006-10-26 04:08:49", "2009-09-19 17:23:18", "2006-01-11 21:28:01", "2014-07-16 16:28:04", "2001-10-06 09:09:48", "2014-02-26 21:05:54", "2002-01-27 07:39:21"],"c_map_tinyint":{"c_map_tinyint_1":-26, "c_map_tinyint_2":77, "c_map_tinyint_3":121, "c_map_tinyint_4":12, "c_map_tinyint_5":125, "c_map_tinyint_6":124, "c_map_tinyint_7":123, "c_map_tinyint_8":-112, "c_map_tinyint_9":-53, "c_map_tinyint_10":4},"c_map_int":{"c_map_int_1":1445329874, "c_map_int_2":-663608140, "c_map_int_3":-2116180827, "c_map_int_4":-1174444816, "c_map_int_5":-705875859, "c_map_int_6":-2023484996, "c_map_int_7":1080932641, "c_map_int_8":929563432, "c_map_int_9":54958429, "c_map_int_10":1802083107},"c_map_bigint":{"c_map_bigint_1":-3080223081125818164, "c_map_bigint_2":6424781152162570783, "c_map_bigint_3":1907051558299928906, "c_map_bigint_4":1621249002032650630, "c_map_bigint_5":8747243454150736101, "c_map_bigint_6":-1183220105615568849, "c_map_bigint_7":-1405737661535024152, "c_map_bigint_8":7911891799471959501, "c_map_bigint_9":-3656372617856670247, "c_map_bigint_10":153863664777234652},"c_tinyint":78,"c_smallint":6076,"c_map_datetime":{"c_map_datetime_1":"2011-05-06 00:46:54", "c_map_datetime_2":"2002-08-20 09:39:43", "c_map_datetime_3":"2018-12-15 03:34:59", "c_map_datetime_4":"2007-07-14 04:45:49", "c_map_datetime_5":"2009-09-28 20:48:03", "c_map_datetime_6":"2019-03-25 08:59:24", "c_map_datetime_7":"2016-06-07 09:31:50", "c_map_datetime_8":"2006-10-02 16:56:42", "c_map_datetime_9":"2017-05-12 09:17:10", "c_map_datetime_10":"2003-10-21 00:51:37"},"c_map_double":{"c_map_double_1":35.674441636391876, "c_map_double_2":55.09923441833061, "c_map_double_3":10.940831680939647, "c_map_double_4":71.53450060682655, "c_map_double_5":49.70242251768265, "c_map_double_6":98.72517141478977, "c_map_double_7":95.81006919867617, "c_map_double_8":91.31795318591956, "c_map_double_9":42.370403212062065, "c_map_double_10":93.8361907704901},"c_bigint":9035216290060091962,"c_array_ipv4":["FFLYHBoIoF", "LqLCDIbapY", "NxFHeuZItd", "LKpHaLbEeU", "iLEBQJKcFz", "IlkpskXLdV", "BONKREUjKu", "ftlXoTnEGs", "hCDfzLoHnS", "PGmruVDykZ", "SwMcwYwsYE", "GaWeWhqOiW", "itHtNSbzrP", "cjYPAoEZtf", "WyWpjAzNoc", "hPMzVxtQmm", "hFGPPTaogB", "sJeXPDzeab", "nICqaFIHLm", "pTiZPNyxKq", "GwyyfomrPk", "bbdZnDMbNU", "rPTiPLxpjo", "uyNGirbeAQ", "ewqOxSERkw"],"c_map_smallint":{"c_map_smallint_1":30195, "c_map_smallint_2":-18919, "c_map_smallint_3":-30821, "c_map_smallint_4":18477, "c_map_smallint_5":29981, "c_map_smallint_6":-20193, "c_map_smallint_7":-13752, "c_map_smallint_8":17508, "c_map_smallint_9":8496, "c_map_smallint_10":4057},"c_string":"NEmZmVxWXcHXwHElbtrljJRiVkqVGUqxrfFEcABdZDVqYVixUfTXAryDnomiusreNyUTMigiTdIBvirKjjcBrUSvKacdMSoTjrXspvsjNrJFgBZZKjTanzVoKiySnDhVIhitXHFlFCUuJFsCEfDmvomBgmbCpidmakQpWpiygThOlGcGbvMKrYOZYmFKMTmAwGASsEJtrlYSyhmIUzxayldsSRYBdFdRiEUfxZMcijBZmxRCByBiNXHBjpJmLOuEsevttEfPVwYFKcXRTPMGnWBMmibqVwpHXOHMiNUFghhLIyszbkbhiEqnfmggdCNBzeYvSwLcQIHeslFuGhZJkQnPLwUlpZjTSmEHdeVnMGHstXZyzjNgVoGVDDotPJYnKvwZwBDrRhEiKqphGsTzVwBubMXamrtkfbELScpsfZraSoJXreGEkQStVDZHVQclewkrsfxKslghVNITuyihePIvjfxupOblkErKhRdumDVHNWLTGCtLUwxObayzCTdh","c_array_decimal":[0.0650, 43.1821, 39.1656, 50.1346, 52.0348, 33.1212, 66.1595, 88.0503, 71.0263, 26.0177, 92.0290, 33.0108, 9.0369, 50.1000, 47.1868, 55.0745, 49.0966, 0.1598, 28.1286, 14.0765, 31.0964, 37.1639, 72.1763, 52.1885, 40.0511],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_date":{"c_map_date_1":"2002-02-03", "c_map_date_2":"2010-12-07", "c_map_date_3":"2006-03-19", "c_map_date_4":"2011-12-13", "c_map_date_5":"2014-05-13", "c_map_date_6":"2002-08-25", "c_map_date_7":"2002-04-12", "c_map_date_8":"2018-12-15", "c_map_date_9":"2018-05-27", "c_map_date_10":"2013-06-27"},"c_int":469469137,"c_largeint":-769356405784151921,"c_array_smallint":[22438, 30928, 14994, 27649, 7725, 23429, 13109, 30335, 26630, 10672, 18597, 30101, -19788, 22134, -18474, 22205, -6060, 13335, 11185, -24785, 2190, 5172, 15341, 9696, 15677],"c_array_int":[1577194655, -167413311, 1814932769, -546852026, -755384837, -1552249580, -536834280, -295393243, 558173189, 1052376872, 1675838700, 1602307835, 1666594616, -1708879172, -194124934, -1582885603, -1407565511, 373608757, -738996655, 1826110334, 397199283, 492331353, 1821708516, -1458146349, -1783286820],"c_array_bigint":[-451743263996699077, 5628507878405981371, 2728974068477446705, 8240165728468278596, -2493529844919224204, -3948838705802461612, -6536997298307173843, 6108421087243274786, -3449963028536352100, 8598454681777467565, 4469407981258420106, -4257444726541948292, 7249803055754644071, 3609514435904429685, 7285599662843702378, -6462626630885652290, 5017896495610765860, 3201696872568686328, -8854590540479593131, -6364481639441757796, 7778863216083563303, 452625726565006516, 2478794617980388632, 5493819517490906503, -4770354411568066256],"c_array_ipv6":["eRkLpIZbCO", "WlGqDpGwjO", "MhIplmfMGx", "jDDmSxQDIN", "KBxpyyPlry", "SNxjYrpXfB", "wEfMRSntak", "VzDsyaOFJT", "uLjRbbMxjI", "gZMkWkiCsR", "gIIurJmEXu", "AkBieRyrll", "AQfIgCMlzy", "aQdwMqTwUL", "SYfriSZzEt", "ciqPazvdNC", "uaGMaowVkf", "wIkRPiIrFE", "hHQysaJbaw", "WUeQCuInHo", "oCQNRqeHiP", "jTnySFZDPh", "YbmRvGefOI", "wCpLzwcesC", "vAArLCwFvk"],"c_map_ipv4":{"c_map_ipv4_1":"88.63.216.246", "c_map_ipv4_2":"173.185.137.26", "c_map_ipv4_3":"92.255.152.29", "c_map_ipv4_4":"181.109.85.197", "c_map_ipv4_5":"243.102.135.99", "c_map_ipv4_6":"50.33.151.13", "c_map_ipv4_7":"29.138.59.181", "c_map_ipv4_8":"233.200.97.245", "c_map_ipv4_9":"117.17.125.77", "c_map_ipv4_10":"102.195.145.166"},"c_map_ipv6":{"c_map_ipv6_1":"8187:9791:4a63:cf6b:4f66:d4a3:caf1:44eb", "c_map_ipv6_2":"d34a:594b:1a63:6b4f:ed89:e650:9e49:5b1d", "c_map_ipv6_3":"79c:861a:9f88:ecf:730d:c7ad:759f:840d", "c_map_ipv6_4":"7cad:b3bb:b061:b496:c31:d652:a6b2:7f9a", "c_map_ipv6_5":"4928:1006:41c:61a9:924c:fe60:6d61:6bb4", "c_map_ipv6_6":"152a:fbe1:bd1c:727a:6d26:d5df:b4ee:ebd8", "c_map_ipv6_7":"9484:433d:27f2:4359:4c8c:29eb:6b79:c6b2", "c_map_ipv6_8":"35b1:309f:ccb5:d462:cf23:13b7:5bac:530a", "c_map_ipv6_9":"6b29:4e0e:2a1f:b909:4873:8bed:bdc0:695b", "c_map_ipv6_10":"a503:d209:7a7e:3be8:4b1d:be19:a776:3d8"},"c_float":62.926117,"c_decimal":0.0452,"c_array_largeint":[5012920391008746651, -5531782226570390459, 9002195370301073756, -8865608666263185057, -427990288304422062, -1560067287843290337, -4061519883669000264, 4297876669961320589, 13556699744001299, 3553783974319202026, -3473158945316557093, -1541390390725839169, 1788165936157420745, -6471868190843153962, -1187932086127355774, 2734890361615224225, 2958155584236747868, -8746073779959378454, -7956795407107452141, 2185569837571075692, -3809849010229713371, -4109451823322028006, -7558750909028820246, -3618749487701063601, 8717066040746290129],"c_array_string":["RJhqaFQnxcfkNUhKGHIVzTUAOxWtaHztHIyAnnGLaYTChEctAQCpkwQxbIVCQfMKehikwnLvMvLmLUXPcPlcLZoIvhAYsxkLiqVDqYvocQilyYJFjIenjUgqOtZotrbqQUDLfKOBVptxQZeCRmjHjLyOITjYhrsrFzVZLwisRwXMYbcOviChzAUvJpnyTPSnzCPAugeLEdvQmTKpPfHQVsXhjKtOXtsnZIKkuMGZbUrMoWSlvzYKrTyBCEtooaFjaYJvhKEPwQSQmGWqTTGFmcfcBvDgsWEGdRcPKaIiiIzPRyYEYoOmOtApFuNJRzDzmKnsrfDlEXNBOdJvaufSQXheSlWOCCVRsxtqtkAbNYmFMxoolerFVHbCuCcIOWzqGspYNaJDfbmwAkRzzmSJXyzPOdIqWShSurOBTwDzLBkOOHXlqOshBxSqBNMbdFzEOfTyyqNsuxGKvpqsEdAPnkqAmfwBqjoKuzMLjZfPztieNaGttvDURMUkHYLzbGNs", "gQbPqirQIFTiXQnKvuZIMrMPbjDBJhTpyhcmRPvPZFOQYyXyvyollHXaOZAxUEvdVPSgXcQHeWTLHkHFGOLTxtlkCyRPVlUByESeAcbZcxOimweXTcbXbrkCBhCkImGhpsnjgWbYNzjsAKThtgnPTGrcQkjVIFXQxOyLpxJWHAkdjBJHODJiKnPXoFLGxhQsUhCUWXZmnpUUvHcYqLKikPKBhszscTPupOMMlaHNFTJdIuMmxmXOvockOfXodkDWAfGggDxaEtYZFtfGHSdSwICzxRSGBPmnvPfumaxCPENCBTVspYwIgAfxImjVxIWNiAMnCAPpVAqLeCkfhozDNAEmxitAqVhsMRSTNHcMZOyJSHfsLhpstJykxXFwAqcHpBQJcPigNeWAKrFjmLsQDVEjICpxnQWhCQBddSVxkTlttytfPUcNvOtkCamzNcVFVUUzDHJhtmNkDssvqxmsqpDUqzCdAtsVRfrmDxJBjRBxZSQvwexMVZwodXqaWMQm", "IJIncwobnAtLikijOLqYzxskshxfXBnNCgnMUetCOSqoBamOAAvNcwkGOTlPKyZBIXwkzgKtPUHPfIQSLGScQpvybWhIDKzQUxyzZlWgRQMiyQdzIjkQMLzwPLmDaFJiBKniUaUgVEvjtuwwClocHrQOYQdGseYkFfkWljcQzDJDHTmlwDvswIqyZnpdeXYuDjWBbkPiHLHgCFUqSYCJEXATzlwHohubsAMazhsfnJudkyLUGkRhnggjQtDWJzORoeIHABWiAOVQBKmOQWXadEcgWmKKpsIzjFnNleMKcQnTDlEIcVAFJLBAmPUIgubDtZzqtPWPAQcWNqCAZyfzWFqgxPJxkeLAwnIiEQDWAYdRyeXnwVnIJTwlvSvXNDGBCrIxMQUIPzsNLuUEiswkARmbhLKojCQOcfMTUCpWAOxmbmJhvtBjVZQTfUfekKtgiRrVEdPmIfjksSWzSDtQUDGfRyTRJNmmScKWjrvkDNRdymObzYuODVqZdaTUxKrX", "KQlfFqiVxRtKvpUBaSSqLHyokHfaUyaGqsHNFkYqHVYgHwWfJOqOsmNftCShMUqRNmQeHhhvVYVGaMImPneHuUgnNYnAQoBfAYmZdMytkumsZkLOuReiLyGanewYvhltWJeEeAwgkcPrYWNAyZcSteIUeUyyTSQLdatUFORABiEFkQDBXPsLJPuPYqWUFtmrjQSSeIoWhwPABZkuvBNFPNABwjXlWkJIxqnsxeWqwiEleXAwWNcLSEdKjwNpquiUFIMuRUQwQSgqNKqqVxrRcJaTygVlTfRcFjoRsFJlOckfbVqkGnUrJbabvdjdwvUqEapAKktwJlBRAFpyVQMgFKGBIsaSgCKLiQfmhDNGxgXmgVwaYbKsJOvZYCeFxRWZDqcydFWkPSnAfiGYmvtwRKoXfxoRvKYDLEtrhpQXfsdeKZEqFsyrYcAlLdxLBRCeVrdrMlVDOakZrXANKAXKyfwgrmmgDztqnIeKRAdMFgXWQasUCVbjOcqBMRsAOaox", "nZxpVRjkWpYJBrclVbatfTqPaBEVtvfgsHFZhlFFLnPVnVtpGlvkJQMdspXNmYIhVYNvIzbJKzuVgEYjXtXSMwogJHSMWmLUiLJTnjRiotLJSirrSrhFzxTxXbXDMHFrsPJstgbZjjbKwHkddvayOchMnnXXxYhXoiwMIFLPkHpFNSzDHofJGEHkrOBhLeYogOaTFxTGxdzinmLhEjfcyiFGPHrUBFjCJUNdtNsBcKfEovOmZyZgnnosrbsHFbCUqsCMhGifYrpGkZKsNfloNWIPGutMPBHTFuCaAJEJsiXcNoTqTfmhXOObkjBVsjrjfJCegeMbqNFfolImAloUQkFJGjoPoxzDnFSMcnAKXLJTZgvxBKygQvtaqzpDOBluIuUtFWmEIZwbSFUZTDyNrlNmadPTDanSgiZXeHjSIrexYsvigODgMsBGXubLiJUazfltsnaZfoLrYREoUaTYuePyXaHbWriwHbktRnkShizbusnsfJoVvpWaTChxUkAs", "BVoairyJOOECIpmDIoAXhGZtfjxbchRCWQkRLrKehygqBYEzRMsRNODJrEKNckCsCwolzLoaglCOYvciEVKawQUbhlNHuDfmASTPyKzuaMdSRciQZhXzfKQcuXAMGEWcLkuNNBoHStCRHBOVEcDpXriWYYDrgGqgpXddDDnVTKvmGTrhgzoMyBjEHfCoibHOlRaRUQikLAubOLPUNJuvzfOlJiIRwVukFMOFtxfTsmQrkrgvhJmXuPhsXBHVrdKQjRIvpdLuOmzOEnsssakElWuWpulZivuoXJHzKgPdIsrfEqGFUaqwupyrrJwBpnnycEEMbhpUcTMOgiKnCvgbobVRazaTAMbhfPOwzJpbEYDHtAlPwZOKxhJYOqjLUOjVUHPrsxQLbtNLKmRziTIHoPbjOEmloyBlywtDqsoxHqXRrmDfisHWwkiRLzrydhpdqIwyPnZUKKWMJeckSwXAaCcExYTyUZAssvEonvlCmpbcoAwrgaokUQjGFRBgGdST", "UFgtSuLseOIQEFbwpTbGWyjdeALWsVXRcUzDkHaXXrDzBuMHiMjcOsuvMjPuTqFBVnmiXywfMFiEGcigBwnKFqkHnrqcEIAZyLDQJHaKPZLvxrMNQyROQqdkPQHNoIHRciiFxaTGvYKtDAJlJTiJXnZFShwzpYEoloebauXGwhEBLzMNDuKNuILfuObebWVPKYYEvlXkzwALXwnxEwGqRhTgTIXAdlJGDYnvtDQZgYBIiZrylQaAEyAGfwWJdQCfPJtadjqvETKNMVLwhXVrnETxRFrloqqPqpcwTCjrQGDsmBBiZuWYcLOOOXjwsuJDNuPiyfnDbGTviyiRJbwlfbTNhpVEcKJAgMTfFlMihqnKCvspmOmuNRFTSMSpEKTAaNsRXfOOuKQqKHmDdVkcSsPReGRCzEATiwtvcuRgTHwLRmzqnMnbxrOCAZFnylFaRnOovkLGDksGoIBLcklviithJdzsDwfgAxkheWBeurRrDPAUfdwrPskQlJBBBBgf", "oJWeeBsqEGBucNWIasPztIFERWKotfoZMUbGolpAvvyeGsZgGZngodvKgyXcUZwdeQGcjAnKTecFQGvLDYNNfKWoReLCqFxILRJNehhnOJKywkpQkhKTqMeUCzngvTaApEhwVDypXwePMaDhqhyxtjdArXtzYIRjCeOCIEVCSqILsvbhFukUZROkuvcwksjJEsyyvuukGlzxvgpXXwGHVsUfsHFIistkErzhTHXpvDklQQFmxFeOEPMEjTareyfnNaohMepIPItShwLOTqgciuWusfEzKKMOZWvAHwgIwZPTywSXigVyUfquyXVMNioqOtiEjGvgzdWHtHpdMBpKMuQfjSfzPkJRclZnOwSQBJqBgrMTGxHIADauEwsdQLyVFmzInsGukyTmZdajeWIbPggiCwdvvsrLWCTbUVPRWCBCWtUMOyeDmFLrkaCIxdwIFbdHKVZzLFjjdauVPPAiElEruoaGoiTaKQBjoDxEeVfOvVnXlEByKWwxGkHCPOBX", "yBMUWDNCEcPvvXNwGeinlzZPBApwUCkvjvTLNkyLrdCJIrcrfifsRMBJUsqtoeIgNvLAgUALdEGXAxFlidQEmpyctIOVvxcSNjKWPhhDoJaugPlRkirXcaTqJGRrpuzBcyxMgDneystXtgxxkSmvOroirkWrpNSdWarDbvlFpHkkezXGKkgzLPHIsbakAlguaGBeeBPCeQiFASklxZbpvJpHUrAYqsackhzqCmfwqYdrYdhuKIGuDilqAHnbbKiipcyNUePToOUBSmTxcPgoVfsdFOSzMkHHjXCGIschwRvYAtyZnCozjvcPiiqRKvMHtQzUpBRkUJFNBGviGOnCuhZrQspuNoIpTwcnIRYTZTTHzoPiOtiZhcfjexVucphsqqkBaGRcfZEwcznVvlrbGviZWdwRMAeJSWJXlxQpVyGPGLlSMivGviRJsVMDyAlFCOICQaGipHCHUEPnqmEXkRGVmMqwMJkZYPlYegaReANJCZDbMrgzgnRYDWsjwLyx", "xcqXVfzJxyMuCAuCyOEGifXUdvVXYThlnDfWoyzkbjakdlgMsowltebSHDXimFtTjbNrbNXHfcIpQbQwTpnkhbfsDtfXFmfPZieNuyGEjcIrxiKQDDaFGGQIvnyrZwnxlarqIikOjpvWpckiHAdTVlitHyHDinqIcolVyVxdXerAJsqIkafGSaVSHgmzvsLHNHTRoIdTHLdCWzMNrohGzxeKaPsfvFUqKftaanHSiMnutfDGEdwaeOqTLWxwrskYTjwXRlUYjVIVAZFnUWOcoIqOivMtlqYUqfxkFvUEzHAomKcARphvxkTKxBDAbUeCrjZSrHaLQNNJXLvnNlBYUSyJRLDeXjiQiKFKmDhrpmXpHxLPOdaOvFdAgPrieQbMYdCtRgSsgXfzWSMHfXnjCESgQCNbHBGxuLdPeJpwTGUCtKEvfAZKgafwvTXOYkYYCwDChbaqPejYmGJuDoBdBxeKtwNJngqnRJznczubefTwGpMOnriOexsNCdOdMBcc", "LmdkXYWJovxEtkRDCTvmaVRoYsGRuEjGROkicKGeJvwoJYtNUWFVGezAWjghymmQiAMhTJEEEcQcVnVXmPBjJUOhisCTWighEkvgxCdJYJnnObzPHHeMxPoeQeiRnLlNSNFJnzvAjJqaubBKhMlzdHLMYIreYuVfLtaTYSnkgcBieSXqCPTcLuqODbQqaiuBfCQoyKAFYtYwcfMkBTSUBIwuXcZEhwssTrHDNBtErmzCWbcukOAPoCPDuMHQXCKoslFjFWqmbeybaSskWzLTzOqjihUcZjhhDgkdxRhYrIDkkebzimzYvIzNGVtZqFOTGkmyxmTYKavQXgDkuQnsQyiDXdxNpeaMYbkkvgTfRJSVCvgerEQpocsRnOsRBTduNHKEMzTjEwbfztdOlCQjUpAdRaqtoWCxrOKFHFvhVUpvjgNoRHjRgnpmypcNloUYIwFDucQKMCGNhzbDMIdVQJPWuJSmuGAapWxxMUNQhrOpOEMFHzKZfsNNqLgvhmuP", "EZlpvSbYASUMyzVzSuHNvMYXgUzSRBcxnolNyWhXRrQrYhwCNgCAAsaTWURenxzqyECoeHtTLBXOyaROJughpASPEjswGzRQmyTHJkDTBJwKeYMLDhugRATxZmPIdIBroJSNJmhFGHgSsFJbUmfULCzuBhlIgbbsmlSkhCwyreziPftYvAzjHFTrniNTviCAdbwdBBMwtSXrASVeuZTofzklyTDYrTtyFigBjxpuaJCVEAaQeSyiKhtSAsEvusNyRTiuqknjMUaJCvbBnEFnQPArBBGtvBAYUzxFYaOwTqSVuDbliXnzeflphMdqzHiLpQIHEPxgPyXSUkJUfHifXReuWFDkXvgTUHoxVkHanjPpXewAiecVEPNGbmUahfRwGBWtmkhaEQSEnQPUokWaYoTpOggwerEoyMtEDElZMmwzmlWRtriOAzTVbyFIRedkmyqEUFvgTHDTmKZKUtfiFdUmvgqprrFsSLOgTYJdIkdiuurBYaagBqfeRtVFMSpJ", "UJIjqjoioeFSUiLZCovdEEjfTjJsetuKomDTivdUIeryKEbQWaysCRXPqNoaXhgZwseWSpORWBPwqrIriZkMDOJjHHoZFKAlDiGKEchbxFSJHOeoajsOeuYzMKrFqPrFFxxPfTOnyMPeaqYfsQLHmEsOYOHwfAYkEqnCAHhqVDiQcEYdYWFTNxboeyZtYFkZvesOEtzbZkBdLVJTnRkmZtpqXBtPADJBfmVruYhbxMcbMpDJwsVySHkJzUvzYzFrEtAHMggXUdhRJDdThlndBGKgwwNuKNIiVuNcevrZJPLMQtqEgkKssWHOfPGASIxqFKOLVYGLKRhFnVeRscsQjiWRmzOxSCAChAGgzlClUMwCoMcrFTJftmnXUTpXQHknijpXUTdAsiGvbrVBSlVASvEnWvFPEptvdvdZwGFhotaxPPfJomSDtDMOmQsOhAtNYyrgQoOJJEmkUrIhsXPrfrNDgvBXCjZCMDUiQvMOWqbaelZDBKzjENCEphTiQrnj", "AvpVULoPchOCMJOyxLCtskaOpmLXcnQgDyhWTkyEDgIVjUYaRXaHkKIPqTQvdntyrNhZmWYFieLVPPwXamNqdsZtaGTOKvRfIbjQGEDRdOZxrhrkshvfSsuvEirTiXFvNVTPRFSQutTYgviCFKwRpTmMZTlrqRsJBYVSaczyrPYbbjCbqXhfDdTDcqEXTecqEEWqfkSgxTMyAoIGopdrqSkceOPdeUCABVChtoJCiPWrhArqAmZOZMNFTwEkbgeKaTAbMiGZlqiffuClTmSZKSqBBkvwkjcQaRScVaQTeSeLGqrHROgthmkZeLlxuHLOcDOoxVYLnfwkPwGvBPePRKqYdjZiRorTyrcsMJgoAWhOehDvqxwgKDZrzlHbmmNSVhRvurRyWUTDyXhQdNjHyUyscFGQWpLwQdNLJSRSehUCUUZpKFRJooQozMLNLVqyKSLXpYTcaUjLuDYfZmwuHTLRFKGutAErlSuHfdMiPPzmhOCefQVsFwglwxADhknZ", "KomenlFfUoZVIPjtgVowKweGzhcTlFceojCSLbPfbthYYJhcGUgWreLFuILTerybqYGGVecxwkKqsdmYwIKdDXTXRbRIfrKoBqnifLwMULsquPbyBImNAsqhRpjjtucdAlKPSYPdRbqSvdMxkTqXlNMPbTBpXlNokQQGPHAayNsfSRwAhwjoJtKRQsEOVhSZNvaQDTCoZCHNdxEjyHUjlyYZFRaqXvOHcRueBjxHDuyuwcNhzlFeIsjPNNMuYjZIBCmKPircHNBcoFEWIQDgXKRHJHIhZQNCAiQgkzPJYJrNyfyzsCPQUoWikMOLeasmlUtatjfjQXXjrkWOyJJPqPvdaKtcnTGIfkNuQpHQivYjuZQKoWixuzNxjVopySGRWmVOChPSblvWuAmYNngXFVmYlJYdspnxnKjqBxVYPdeEiSwnNZcmncWXZulhMgyhJMYaiNmjNVwlisdzCNBlDFfFIXNFSJKnffLrUvmToZOFcxhIsqFSKaSJwhqaXzgO", "QMPRqGbsFEWgtaqDnVYqZDhnFqDdoPLSaidngyBdgShhjLLISEUlrilaXsnZkqqzAHNHZEkPYsACIiSbDjhTHPUCsuCQGvxnjSllhLvdQIgqrpRNObrrAyiIuLtYMiiKBqLecnxsOZvfSkVcisRezsNfteEvoeljopVygLHtNmswkFXIqdTdxhqaYVjDIIqgKvctPXONkYViOGHQJXDNBwrPOtqVEcwaTyIfRcGJTmdkEwyEaoPotYMBBADhMTlDagsJBSiuqAhCqAnMrIARzWqzecbJWrlPqRdCIolfgiNWfYnhTHbWzfyzNAUErWDUwgRofkhysnIuuibVEIiXJSwzXhyQdwNkYSBGIoajISLfcccvitzmNtynSeTUbdheMrWRCexvTcVSeevEZhKTzbmtGnOEZGaEWLVSswubwywoJlGyMjDJsXyvPeYNJgrDkNQFIIxnQSXyHLvPJVlBlDPwmTVYqqNxtspfBhLMbTsbRHNRKHgfBccSqWkbSZDK", "CXcjyCfcbtQbcWVtMqhWkyaFPYoJORsmGFocGmacgztrViHLOVvfdarjYUsLLugroSikidZDQrgLparCgNYATZMFqjhbcifMdJiEGVOMmgEroUtwSyCFJGnNsuwKbtjBsIcdJammwSzNpwifXXGAJxfOEsQZEfSkYfOmERmWxcTcPUcqOSzfogDfeJAyUimbqGZDUXOZvIqHevdiaotezzMlZewnpvADBPeQvikwRBJcUzAqormSqpxXEIjUWuZCJdkKpkaZtZfGbYJbdvDgHyvWEJrxIiGZNlgUejfbCrFdGTzfDZUaOLMuqeJmrjzJkTzWBBWVcFEhbNjbpoBlnJAMocUFSmRXwxiYCGQxCEcDzaCkFmqcMqOIUWywvKlUfAFJeuzxSHKWQlBIYkTgRQtXddFQvUxvJsvcdDaqxauKFiRlXIQdkFVYeXytssjusMgZvKSEmScUktgsyzyIvbRNHRjiasZlvCGiuZOSXINymrfVSvSkoXKRNqbVFPKi", "NavGzsUicclIbvoohotqzurthMbLXWzjXSkimlPECDVmsajqFstHofYBUCHcRVRuzNzLgxRNtrpsblTJZWLRXMFysxlYTCADkHRhNSRAirOzPKQiozJQRuNbKHwTgoQqVTuzDMejCtEfTIMIPdlWPiwtwYOtAeOotFYsyiDRDlpHLUWJmwzDumgTkJrIdimtcwnHhudwAfzUIHldmzdAqZNRBNFRPpGfIqaLkZWTkWozZqBzVQeFqqJwJPbBshFgtoCYhBtZYJXDdyPZjyIIIhqSzTtDeAESDBooEyBsHiqKfGlBjXttvBJWYAwDkxAFLPmRVKJpgAjzCaZuhaeixcvoYmcLhqwnJsbJJBVWTBXGePdKHJaPYUzLiLWBPlwXfPgjAAoBvjMIcVVDFXnpTHwFyIJccTfTStTwByGwdchdTAfSdOTInkNVmEaRtkyzTPbHVvkMdUKZwToevmlcNZrgdyijKbJbzkgOqMZQlDEkgCqEkPlNJabIImYBBEIz", "odMNbCLtMnKndbtUyMIFOhQsBTtsojZELUkkAzhNxtCFURKuAuCjxaqQijieNooCNzXDFfWRTPFiWONMdHMbKdaggTYWXMiizjhmDTMLlamCgSvURhlmXDDcjpbTWpAuCuJrDbFrJsaxpHAYaNkaDvFwrSvPyNmELxCiyPzwkqDmiIkNAQExwBXvjZaCpOXCgJpbkHhpDwwXkpcCLDxHaRrCnAASZeaDrBzGjbJKgHWBftAGZiCjPIrCWnPlqkIvzocPCNXuFauTTqFXegFOWjSXbkNBTigQlQCtbMWJdpIHHVmBkRBJpIAZcvFfKUApesSZvhvtcXjKINlUdaLhHgtoAfeivGPUBXOLBKjMOeYFGjqLnoLJPCCWvFAxrnTNiSSNGWYVeDFiOXAdHspIKyWcKozkQrPUjCWgrArYReBHvvVsXRZsvKSZnseishhpRobnBzjynLhKYLjEkgcFxSmGpSmJtnDnzuXPoBxKIsAEcIEjkjuoIiRHdPlEXmWk", "jgaOWjdfYtxSahyLBYqOAxAFZmBaaxvTudFGcGuRjOsxfdyLiBVgkPRmJVaRwgEpnQbFTLrmWuZKiIkLYVMBCcpEkvYkEWCVEkSVlmmBbXhBqTLzcBQgyamTfzbKEZYJGmcXUvztuoevRgPiTupSluCWDNERmYUjMOueoECktaVudXkSWUqoHooLYXyTgBOamjqjNtAayJvLwvToHDmZezhGiKScDXavKLmCimXfwujczVkEHhoUIrEEbwkeTPJqtmnhiKtpXigZgfHsgkHceWkNtyqEtOggCGyvhesQLxFunyMReVDSRlcYKfNbGBwYPMerlXdeJajeZuUCaNGImgmmjAyvMDIemTJHdbVQeyUmnNiPPMgdZlrUmWpicLnDTDTEeQBCCMDNXcpBLtyOtJVeWuMfdzOUqZjbsLfxdfSqTBYeFPndkMdAiwKDgmTFVfVubiVFIwnnpjWywBygjSsZkDEzzeMzievTlJUihyoOGnkKaMhCoEBkEFcoTFGr", "vIJHEHNJeMPpnMPZtalnHMaHzrSmoCkjXvSeaDJFuxXpffZTCUselRkUiZAOVpEknkapBxjWAanFVmXadwNPKtjuOIXPibWnVvphMXCkQZMHQcvPEVaKqYxsqlDrZHaHenrOjXtoZGHtPchdGqxXWWBJltTGznmPRurkJSFnkFedaExTWifNyLPdIysukiBUaFLxLOJWgcOUmVZyBXRmnTKpzIZhtuYKeUXCQIZDDbIEFWNVIbSQJTtHVAjKoxAeDStwzJysxeaNzPxiWrVtBZhWMAxVMSGOBmCRqIybblIpYXmaCQySYLZdGRbiJcjhFsxlbzkHBqbnSOSXXvprPXbQYVsrpHVKGcTUGxlrAOShYlEsCFiKSThENEpizCPXawsyyThPjXmXQqJRlTkWDyMgkFxYRMxCtnUMHwGieuISlMUpxtHeGDNFeZExectuRMgYuGwJvlkRMmyDqECEMcDQwXUjbtpZNToukDuyEXVFsOdABNupQjMURIcXoeKH", "eaDUxcUcfRIVWJNfCMcJpXUPAAcMrNkWCCoVagVBusOtEgBiDzBphMkFebLiwfjIotNCUaDmkDsseAfUYgVBvhBVMelmmaLOZlyHqeDxytryxreejJjnRnGKseoxtiJCZHyJvuBapeHMsaZdHxBuCdihDYhdYMtPjNFyocyXSwqaxGoZTDUbGvLCibMudiCkxdQSEvzKzEWZTyvzXPyKesZKlGXGThMNiZkuVVojgUzwaPRRDpzMMQWWOmsnPyPWpGQwhQggOfobBxARYkkEFYxgtbDsXVohLzYefKCFYAnCEtDbcsFyAgNyjWAQisLBlEYuJBfyciTBaIijOhOIhYAHvXiVUCeasvAbyIzZZHCDLyasxyNixmtjUznFpZCkpLEwQxnCCKkHVlQfDcdKepiFFMtEUokyZvOFkCxRmBYVXyhcRNyHfzoDRnrexuMbpuTlnEWiJqJQAnFIEpUUkelhaHHTOibdCxdSzPbWVknglvSgrmjfzpvLZTSegfLI", "giNuXbHvQMsnJjIrtvEnOBWSeUNFyupQYUZaCFwxUijWZFeIskibBZptabqOdoYGKDURxTvwljkWWHLbgSszAsUYPmIOCLgiwJCsAgqUlcVUPxBdsAmhQFIRWnRmfNXYOpzTwZgXVJbEiKOocIfrkRFNHaDNArmqhXihCuJclfgMHJgdFmZHISFeVKArRZnQJVbQnXmXGslBQiBXFxxjjCmnuUYrStauINwlKoxDQZRWXDflIJpuZOKAIFnkNwizNkGuQLjAcfNTsbqsiHZpgkxKgvbtVvgPqXRBfuLjZbKSDfofrFrbLZknACQXdIXdhlMqvzgmKVAluPEAqbLUBGdZxJDXKqyPfYzEoDEQQyqJlzSriISMcyYNpvildxAjLlAaCcpRYFSpaEdtKTlSdXGmyzkFucWzvqQlTbIwjuHaZsluduueyCRwyGnRgRujrVgHxDmzWJqEAQODBPhoEjsfVzvZOVcDphGQIqwXVKrzzKadGsvkhTwsDQcEltDY", "YJCJfvDkPPjBGiLEUtVqwaLlIEsjynmNAPbAjIhvVsyjihcXMVBTeABfXBKOcOylnCZtxAHTxEECbhAxJSZuMPwYBfqKUTQTPJqjaoxoMQMoRiVdPMOfXPlEzFdfjeYVsEVAhxjeZgxhJXyFtvMWsgfBxQDpLjXLwpwbVFKUcNXniaoiJbjZWNIfwPwpscWSbWPGqsOxKACwnuksyMSvtvSIxnPGcSEgiAJoXBfvGpwVFridhRsgWXdGaTPsbBblpRFKlOoKvmzRPHPcOkHyYAdbRRTozMSUIviyyMilQXmUcoVNJcmXOwlDissBPzydJoiYwFFjlHYrfpveHrMdJYtbYdmrYtDdFXcwPsUazGsYSKypTTTDjhRYSAOqMtKbCHFWCnnbyIHAaAJBmthvnOnPdLdSCPuQTinIpctvZYHChfpHLdGptrWgfjGARQTjXCSkXUcHIxcfKDMDigxkgQvhsKLmXdCQRDkZwAGiIPdpSmIfTtTHKNMMpoMvRFVn", "GwQZJYJMFfxaKJCUbbQhUlidchTbEsJEgZklGeTDwRidjsTqfSSGEgdykPmlauPsIvGdyCBRgLdIrXKaMIVrXbjLtMTvSSxXgKQxafgcBOZOjDVDzDrPwYqngkLpQlKlmzYYNUDfvWYxPAZyWjsSoBekXFHJkDsMEGxKdDKPNTPiPMrsFTDSBRmZZOZqAsaeajQMahrxRngPQMWxzFsmEOCWyrSYmrCFYivMKrrLFTyPXTuuGCYXJeBtkXSGMEyTmgDRzCchPzNFlKRRXkTggWSfIIYGqVOjDRqvdfHeaOFdQSxCZgXZATSeAfeQVSaZWtzSqRjqHIgRKPEpTcyAsrgiGBWyEqpuMjMnfsUhOTvOOJBHgdqXtmWIlIpXHNwZkRwwcjdSILjTCTZmJUwnwEGzjmiPxKYRppNMcDYxeATselpwmspAookcymQjPCkNAUAPosozjcgnxGtwTuUindwvyPQVIihBOSLWYohuHamxpiuLetCyJUvVijOxBaDH"],"c_map_decimal":{"c_map_decimal_1":8.1675, "c_map_decimal_2":33.1843, "c_map_decimal_3":6.1519, "c_map_decimal_4":37.0792, "c_map_decimal_5":86.0425, "c_map_decimal_6":25.0094, "c_map_decimal_7":38.1446, "c_map_decimal_8":14.1251, "c_map_decimal_9":89.0875, "c_map_decimal_10":88.0456},"c_map_char":{"c_map_char_1":"vzDDdkyXUm", "c_map_char_2":"dTZUAwNcVk", "c_map_char_3":"mbjHjNTtso", "c_map_char_4":"rzPboZhiSa", "c_map_char_5":"FbJwzKunIS", "c_map_char_6":"FEzasqzMdK", "c_map_char_7":"MbKMZyQDAf", "c_map_char_8":"SMTJHvUymY", "c_map_char_9":"kXidWsgcdR", "c_map_char_10":"cxMiOsqZbJ"},"c_map_string":{"c_map_string_1":"jFZdQeFpDSVhvyviNfgfDWzUarfPfznImtOCTfnWhQpOCwAnIazATmGWLTtnwRfwYmgPQGIZyVNbuCJUvUyFANqxIoiOWAaIKlpzhWKafdEATTOtGpaiPERExOxfWOPIUoqFmZZqURSmsgwWNJXWFqSdvTjiEeBNREVlqdRiuyUvCvbDPwDRqsDWTHIguhfcqVbFewPJXPTkJdONNRpEageJdjNJPUAwsiaIvhvpIqXdteqHVtQbEBlOnHBRWBFdhydjjAUriockcKemskJeZNhIYwuIEDPgoMJHoZVJvZNeCTZJxpbpTAPveFmuUZddHVwtVWDxrlDfDkeORrjsVbAiBIlQBykLaBXFagNjBwXskWRyxsUnNSzDQNAjSiAlFpNymkWoBRWCZOfmHamlNOfEZyxEpToOeTuskbvTrYFybkqDDPOoWvgoBymRGnfqxiymyeOdMzknchHnIUhJILCSGCfaaLafeJBPubBgyKhChuSVeJBTJjUrBHOfSJLb", "c_map_string_2":"uTmBBVIxtLKIVMEbeIWkIzlNJbomzSgkdUYeCaNCHesjTqAHxugyiCFeLXMupZEHYIphKghFMCICdLnfwiyICAeLoiyuJuzywtOctYxQOXHAjTFUcWhTkVcHXbRxFToftKrWygDDqtRqSmVSQklamfAKwKbdFdbtcxzZBEjFjfxeSrftamImSmfZumaWljmrHoggZyKNkSaEkJWmsaAQHQEAEHtuBUdxeYIxyaWQXbKbcwZbjnVTbWLplqfGfdWOnMdUxjwjJtjvKMBOEqwJJpSfKwXSCSwluOBFDJLFfAxbQiGpTdQfcUUyHatKeFjRrpsTdIaCfeJcAnNKMzMqsznAhxPgKlITpFpCiVoithxCVpMATxjnCfUniLBmHDziQpHfXHWjDNAZkfGlgazdSpqumClJoRvsuWgSZGdHfVRsIgPqfwOlUosxknWsYcrbVTDRUYjkkuKjSlsfQoOinOPvOxVngHszwjPqcUZBATcvQIjvHwPxAjMbMmiIhDza", "c_map_string_3":"rcqfmRckMcqtUVIEwBENvpMFSyiVfBsWqBOfcSLeZOTlfMoFenRBeBjmtzaiSEPDpglaBQwljxHcaIGqDgbCREDZYkrkMfWsCbSrPGXKiKiCFVNvRrLORSHfgcVWWPafMVsPSVAMyJKddJsSRvzrPGRabNkwpKHQpMSsiQfIIOfyuVqMvjKXXYTuGGLtRKsoZGtQCtJRoDcDfxvKCuusXSFJgNrSlRJzZJSBCDMUQsYCdfpmsbrVlgKEfyaIxFSPXOvCKaxSLYfBDcmzchfsYmHsOAqlPdJEGYdMdHsntRZYCrrBuDHAeNXbzqgHhHvunteFvfOhuuwDhEgoibgYUMxtJNmCvINmyxYSyBBsYlvCiVcliEhPmXeiZgGBcWTyWjCYNRAwdEfXVoZmeUShoknsoiWDkZXyWEqCxlKjAxqxwdQkdujsbUPFTDpnOPpUYeDwYNUkLJRnatkiIHvyQwKshsRQJsqxeVVVTqgMNRZYArPwpEDIhbZgNXfhUPKt", "c_map_string_4":"JqwcmELeRxLuzLnkTbtDmnOKcAsgDfEwwovbgsrebINHgCQnDegfoAlsCwkxAjFyUthhEPJFNIegfKmNUtkCdLCUuaHbMrJmtAHeVtgjnWKBswTGcLZZSIhMyUWCitOWWfQABEbdccExLsVMseBabDadfGRBQdhrucNUUDDRoMpWEjLCbkBngBSNfDZGoAZzXpManDSSZPwpYJkgOFbqtVxAzTvoPenBANyKtIbDIbjMlEHaaieduFgaZGOTAKlhyVzKQDAIDIcAElCoEMNhpdJuPZegPTTCSOlichDfViuWjevpUNQvpxpmKPZTpjFxzjUOkfaPDEJcfdXJVhhumRHEHHAbuZYBcCHBcToAmtuWisjUCzOHYdmKBWXWSEpERNrdCrTFDbbvXFbTFFoVFLOInCQGaDWttGlPYcyMmXbsgTRakhMQHfGddGrdQtbFTnxQCKIclHYdKZnRBxbmuhTkPiiRjygiZAPwGxSSxOwQfrswDQOSgyZJhrZhjWro", "c_map_string_5":"TEOezAQipKjnQSegsJKdGydbSTGhlwCUvDKWFsZPjPbmQVkFngjWVQhqMCNAqYjUaEaRorAmCwkBdpWndAKvZjMbztJroylXsSvLSfSvATWTQSCvjmLeRPPoEnwhEQDMtmYPLSqCGwybqrHogJSCmpymspiOKVghIAClIohCvkUqAzYBsowCKbfLAeMlhkXvOjuovhBievtkpehcOVCMvApAmMdLuBhPKQUBbhnaoUoXZFnKxSpvWmeGEejjfPUgtuHkEbALivsRrfurxdVahYIYgxYzeHJHGGfhdDyVTODJvPzkkBXHsuBYNIFImtxHDswXymHmwpqnoKwamfXKkjjBLAJldynxfVFhHZKTkVpVskkcjOHOiYrdFcGSQCgxuYuuPmToDAWuWuAwNYYxTMrturfmMdXStGKeiKJhtmHtfuHaHWPQJXeUVctZAiGztStFWLpYhrrtwnzQYMbtAXsnjgvnTqpCuYBlNusIFwiqpqXcoMoyBuOQSVuVtxvI", "c_map_string_6":"VjQhioUnkQjDLnfimuNzpRDQdyBrsRhXjbGOxWaHGCmigKDGsjxiNzwaDByxJyJOjCccHkVEVxTvTVByKCWgdjqZQUWMUuiWVotLNrSrhQclzmLEruoBKnmlxAkbddsccjvwbxWmBKmhlqzAOCuyHMomKvvwGWfHvkVgPHMtcNxvwfQVgBNkVFvLsQrPJSlTCIzVuJyezhHuSDRegrnrUTCqxknaSKEhGnpPNzhZWQxTywLthBzRTUnzPooXnMZiaIuJKHEgHhPqQRIIkTstukCGrEErRFdaMmobSbgSisYxkXGvRBVPrecGCgBALRmAUetjUayalyKduFkGvIXSBRHxyryizmyGTzpErauzcfmjQLpxlpPhdRbRkZccMdlgQGgxuLHtEGMBgocMctvLhxHNcWsIBGOiRqFkKtNgrrtUSFYtvFQlsStifSkCzPzFDLLjBiecSwNbgVfOQgHHtuTDcNhwcKYjheVncecLEgNDUVUAEAcYljzzIAiCfdAI", "c_map_string_7":"MOFlUzraGcXkEHpILtHVGOwlzPLDxtcSjMpcteTUORnygAQiRQoHFALqzBxlhwaLqVwcuMTQwhBkJgAqKdemqtweqwHscfDMuymCeCfTkvmSkowkYPALxvScUfAxcUAttNktyPxuwEOteZPylMsbaUxxFqzYsMAoewtuLyZYAoQEutkxiePRszsttTWGYwXxGPBlSskfrvuFwqRguTOAhxsvaZmGcEelxoSIhcpKRjpqXfBmIyyGLJPlhvdjWuJVjgckyxONyJWnFyIvzNGaqEaZQSHDwfavMlmkfTXIxmrPHtduGXueFEaQKaQxnTtZqJIqVcprDYDXwMAbhaKbJASKNfIjcDIIjrfhYKhNNHuYPJgkVfuaGhCXsEjPLltnYEDUDYNgmElXQETOwNrjDupGhzhQhMJHketEJOcuiQUniUGeIIRMNbSxmfIGIMRHgzRzgdLqxuTKOdKwODuLppSxOePaBFcbETfKeFdeVYlyOplUInIYZfECprMGRoTn", "c_map_string_8":"GZHNlqjqMxJzJMpQFyIiTkXPHRGFBnwtqKyJjyjyQcJyaKqfuCCrozDQhvTvBictHSwNdYDaDnZbNxtLhMHmxbTQGhkRAePrqASjTJYLCReNVHYDDpGlVSeCCUYZurWVpVJzmnccFPQlpaCJInDhkcVMiNZxjlIPLnCImJNmGetbOwqpkUmrhihYJYLYnIJnRbZiasqudCdiNwrCbKndRnPgzHnDYvwZJfdNHpfIOzwDYXPCVdqnHvVYXLohTXMCZeEyzciGIqYQMyKIocTvjarloLwVxOnweCkMKfpGTelQLkximBCBDXUquKWvlhyZihwwluaUuVgJOMfSxwTZluVFjZIhNxkKlKEEUzIwYEYgiBHbfrUnrRJOsalVJDdfDYGgJKtEvBHqQhhkPyQBmxODsscpkBRSfAkiDoGfKuiaoLGpeGBESulbjSwAFznXErjZfXSGRFtEHNRkGFiuwlQYeCmVWFRCOuCGrzdTOaPmYbyiHWmaCfSfVLsiGVCA", "c_map_string_9":"oVEeSoITUGFroUpmTOTQoJGuMNGMtGhDvsjbTcMZHEQRzlgZucFkxRXTJQajMKMIduuimtYcPPcuSWMDpOoUXbOvDqnemEBsbDkymXFSNOCGpQHlIiWpndNkXWAZjNvsSWVxNbgbRAjPZHmjtTCeykpPSbQoUDfCHWiUABNEIWfkjiLghjdqFcIneIbaJiZRDcavZKTQZOFSUvTlyKfsOeWvedczVAoQMycjTjweSIPuXsLYecQDXrkpNtECzChhMaYrhduuxeATBPOcDISiDCyWZUzevUfqlzVKPAhnwNgQdgrkKzIwQlscAZezUPRUXLfxezpRQUTMgCIGwceuYXLoEbLWmLdZAUaguYZHigdCgRVuQlmXidSIGbmqnCWipWoWBFhsCcEpBKZbgqhrcbIVQgyIDPRlHmrhcsYmUrqPOHRQxbbcZfAZYbjMmfonOznwVLYcvMqTqCGFjaoupKLnKTwtkEmgxhzdSwmBjNzsCpDSmczqdKYVeViDstPz", "c_map_string_10":"ntKPmAXfBdPnnxOkCQRAjyJbYlNZWizPAFPbSRmJDtoRpafzlEcyoqiJWgBKhlTgEsLvHdBXTpXRaYtzDuftvHDCxtHIEEISGLXorIzibNrKGOBJznXULPcZCKMomfZBGSszsASywZoJcyjkWTPanmgJijHDYnweVadbXguCrTNeACmLNGcdiUNJJvAdubQTHnkDuFXJhatvKKfGexdZvUWRsomZNDIZnquroamEVUFmrtwaZdNqUBsXQKZpSJSuNBJoJAvHSWhvCATNugxPQdwaHmRqaqOPMumnPHbnOItmlwOtiOOXCysVNKnjUBUsoFofYWBJpSXBjvBeONLXuNoNryyIildYFAzwLRLumTTcNQgpHoqbbGxnZJlcotuSvhIHcfYiJIvzwbZEXSbRfpoUYnAmCfbuiOgAjmkTkzAZckcDkFhMBqfxJqTIhCJKWCWNKpWmPakDdXNRNCXBsHrutLlsAFRUdBimIwiQuKIMwjAIrPUAqBVuQxMTvAWc"},"c_boolean":0,"c_ipv4":"113.149.5.118","c_ipv6":"b400:51ec:6546:3d2a:1342:284a:eaf9:c3aa","c_array_tinyint":[-93, -83, -35, -66, 75, 34, 14, -2, 82, -121, 18, 23, -32, 51, 98, 71, 102, -51, -99, 28, -103, 63, -110, -97, 75],"c_array_float":[81.62377, 83.37922, 96.21856, 66.30586, 94.845375, 11.897271, 45.11365, 22.975916, 17.789602, 83.9005, 15.215675, 64.34361, 49.47795, 47.39576, 42.617237, 80.58155, 6.8424535, 38.908714, 7.3285847, 23.353031, 71.286415, 27.536882, 99.90072, 75.36139, 17.929544],"c_array_varchar":["PHgtIctXMaeCVxUFfnKBWWntVGfOJSHzpKoPwPESYYWyBsJCADQbWGacUwjUBPazTaNRodPvxVanTDqWgqDnzxIkcywcnUDLzqsTscjznEnRIdDARmXzXuqLPheqkyeeigIPMbdZfNVQaxYezgDIoklVqwbVrgtzXRGRTmreeLNQxvNpkONhFEUQloypVpWEwAWngGMrgYGgWYIaaSBUavSibNCSiElzKdOUrzZjHlnWJttNWtdtQqaZVVCsFglP", "xRTGRWKKdTlJxnEbRuoHfpsTyIdTndydospyKZEoMCGWwzBrOhzXtMuixZCFWERmAgORYHBbNJytuJPtgEvxLIwUKKglqoOJFVAulURsYHTxryhkWhBMPlKUDJuXITeiaClDwmNUuApBFbCfwRFWobDblpWqxBCWkUDrmXHBddwpGXJJHdQUNkuYYxpIbhGuQenaUQfPLfgxGMfoTwDBQeVlmwvNCMTPNWELHwstmDqcuuBnImrGfcZhGACXcdwp", "UJTFRhvzGOexjrOtNTiWKRczmvGKquFrOJecCmINJdXpNVzvfsVlSaBsDdICbivRUsOEWFSUkdFesVQnvTYrDiKoyGKlsenKHyPSObvgEOLobGxtTRNJJlWHkFggTSPGtNLrlIRuaLGBRDEYzLvRYsntjmFcloVkEwmrHClaNrEbPvBtishHZUNznAeCNJyKmiAPxyFULXcrwoQbRgHNzurnBSvMlOoElfQqLbzyWfPHbQexwknIIgyCnKZPEMzJ", "UnWYqVhWXtcuAoIRyUYczdcjaOaFeAXEEJrbPZiCXvDdEubwwgGqtSXrbpRWJcGraFwHRbXZeWbUfNqgtyydPXnuvtvUfRhHTmUmIHmoQataskhtLMZzpfATrQLTVqWCqgdhRgfSiAWaLkHKznNLIclfPDxfPDDjoNOYDRTqCSXEtDAawmCaArDTFEhgjeatyOfeFLzySLoeBtzlQaLvcnMIjfjZkAmgAVjIKFRKivINEBISLfOWsibzsmjeNqQm", "hYbNTGQMJExEdHnMpgrOmKbkSUxTEkjiTgqkHpbWisdvPXZonSDKZCxllDeREngEClJZtGBVMXsdcyTiNUzbCJGJHxoIoAtVpgXTnBqqLxZCuYSEfCzoTAoErDXvmqcdPrIdKNBOegNJRaFXdgOMEbeVRjlGBISiUZDStkKXdwzlAaXJXGCGEyyEyTWVWXodoJDZTUdyyfZwJOHFrMPPBwRnSAWqunpmOIBqWOmPRZxJprGhUmbcEknIEpyLEZxg", "YCNMSCZqYXeZCBsZswfxmEDpJNyslhDtHuMyKMlpxmExcgupVuiWwFFbwZUOZhzxnHoPOeZYVVzpaPGeLIZtEMCzefYtFHzbrrNuudoMuOjoWiCaXlPqNXMsnslYHSxxjWFlIcKRSHxenOWRhqigMVTULNnHerHgGTFnRgAKldlXVvUsXitMhwlIdwLmLIdsaUAZfogYgQJUCrushBgfuvwVpPcsSNTosrRIACQwpDanxTaEQsxJrhhqJWnFDhfZ", "HxXeueSNXStIvDYyVkNLfKLTFOhThwxivzCeGuJtKmWhDEwBQCUrkOtsnzSuzLwDDGqgNrQVbtlNyanVryRdCiFomsEbRqrDicmMtLfSiRnTdzZoBJeliWIPauOvsngMOgmyIfewfBxHMFciRCbhYALoJsafFaWQYOsXYbnvgnWTDiLkbPtMtLyPeHoFkrYORlMZLBKhUJcrqNJvGcPKAFXcBuiDHQNqkFkhlUPdtYYiyKLvJYSOfKkMXhtQiBCU", "hXUyfcVVHYgoFFzrQsVIjhJQroVrKCzSGvWDKCdivVRDZhggLtUSLLvVGklAVavlMFMcGKoguxafxKMYwBOwOshAtHRonNZtiACiogpukLcTehIOMuzrOryDEHVCdGxQDynqNthTZRczqOemBfwCIenBHPTDOWRJtACZbcFKJlgBOJHcypmlTLOxYhSzhzoXiICsbmwjSDwPSwFnNSIcGXKsTiHKTaUWTIHMgQildysJWIHEcKcpYeTapaDrKXpI", "iceOIUPLNbeMXYWGbBrOybkhTJcUoNqeVdEmsKPANqPlTBkiAZJjEBgsFOLHmxReZlOjfrHMSFMnoFbkFmCliaEwDBxtURglueiEqOuwsYnWQxkKFXnfNLMUWajKmeRlCeMwbVVQlGTOBDlMxqYMccIybopHFpKTBMLgpQwOBoyipKXZvPIdwWSKxobyRsrqbWLLNMKqVVgxFWMVEAlqIWVzDOatsskmRJirIwbpdxkazEzUHtEZiThKUBnfXQWx", "xkNQqxdpyZmCYAcRthhEKZgMwAilGgCkuEbLvvHfwUBVnHcJJYEbVemyUCEUowxthIqeQCUqISzHnznftdYqzuoYTrynsPJIBtyzRwcUiZpMUeLJnutSvMfXqIcyVIEUxPSNiPrAHUWQaocdHGTOSzgtYbZKEaQKJCmGTqxueQZaIjKpMLDEmwXNXIVDPPOJkDHcdkYXGCVBsXJVsoPgtmzQRpaASRLMXIGglzmHUDHlfeCMCwGVXeNtWYdjsVrR", "lfXZGKanQoZOJGMBOsChhRPflRtExnSWOXPXsbCgfmuxwoOLPvJjFkBOJMLIReNxoJjMpwQuZVKHWdHvElsINtdDBTlOVscWsfFquuFhgOtVCKYkYEKuALBnNAYlaWQMgAYNVgCCJlCPzodxlIHGmHCxLSwUuqbcFOOfRsamswhdyjfRgNeQWaHnipeCBqGqBFYahPJhTQAFzKQVVfcckESKfCiWguamKNaMHfMRIDNbEKsrQBmiWglZAKFKSbJb", "SyyaQHOiGazMGJQRgObBmijNvALiDERaWNaILZZIhmDXstMekhQsKVngCjFJnMDzSYNuItIcISCybxlXmXwZjFbTKXOLpJkzIrKuVjzrHABbnQtMdzQMNJBdSctCZUDZLtzbBkDOfyAimgwUAzJEitwoIdSgBNMmOknMampNXpMSxfEAFsrCcLRtczIojrUDfSfRMMTSwljDPeagcrjtvhiqnTcfbymbGwRAGFeZlcFcUdeJHPwdExcrbmnaJIcG", "CvjzdypaNtcXgJMgCMFCtYxuoZRgWaIqNyZUIMTTfXspkWZHINMyWhdqqlBrMyOsHymbyYVXQGeloNdqWFuHBxZGYtbICtksLusPPSYcPsejZNfYfttPkxIkJRwXcHSiHykbgceXtLbcHXOiMdXjhjKcmZwXPeidduatyHYWqeJnTtrLRYhZgIwAfUpXXteYUlguSuDVSnLIRewSCqxVQVzveTqOUjvtsfGuSgyWlZxhYuBaccQtFQLnGxmkjnGP", "wOVfJrvbAirpfNvaNOOLyvkhBzZfLzUUgkjvOtuycTCcnNUzfKecLsxcjPXzytkyQiPmYcdKSBgRvXecnaBGYBoXLYlYavgJocAUmekJjXtcaCVlUlWSJlqWEZZWkyhgABMCbSWoDuDnghmwpFMEqfXfTldXVlprUulHCpxbHVihtLCnuLdFmSaCewdWpHyRIVuPBlrtlaHFktYXbKPeMQkCXZqZjscoKbSRVWJszwQjjrWAjgBemgzWhrXelTmo", "iVQeWceoyrcGaZfmNgihSGHKDLLYbqOfsnAcpKkfQRcWnDXJfzDSUnNUgNvQRFEvDWjFDhkNNiHCAgZnpiuRDeQWsZRClInNNdiDnsPpneKfkEoFJpzlujSLVmUxBbSWckXASODEIfohLtiRWvJSSuLZzMuGLUXRUKOwMjxwBdJAcCvBQLjmsHSJlrZctegNvkALiBBuENayAFlHiebdAwMmSXOonwflFpaXXWmqgUuLVbCfXZszJfRpGfgGlHRy", "tiKSeiAATNbaXLgYcUYBrRdHvuAsYXrQsCntEHyliRZxJhBFCsYNgQWMJVBmyAXBZaqyujdLSLDgKqtKqDsegWNwrJHXgyeMjvlklDSeAsikwSSEHwecLhUtvffbmHKXLWcblWhogjNsLYdxflCTdYNPbyZoHxlSZIKGYojOOfrgNIpOdliCxJSMjlbRDyGcNXKlDypGKePuYEMkbiSciWRMWHcIuDyPlIZSoLOkoyYxSEtaxopnxADOBOQmAWfh", "uCCngDEWSqIZNQPhuufjmaQCLzFQMZEEXkOtPvTUQhnZZtFDaZJsRDwVAKfRiEXzzlCbNXZcMXbWbvwErFFCjDUbgKLBKtqUjDDTDzovxzfeXhviOdaFKjGgLFYNIZDfbwEPzYdKwPswUiFKzKPTttCsxjiMKUDSLtWOlgwnXkbVpEDJmezVjEdQLYCdrHVyhCRjqqufKrKVeGMBAXZWlORznUYbsmwQDToDBjlmqhGXrTmcJgpnqfkXHVLhTzUp", "rHRowolATwpsBEheOxcWMreITOtXNejezNFDSvhbzApYHXMecBZSjgXAozwcaVOBVTkCMEIWBLNmRkiXFxGhYOZLMqYPCZTQtsiIYJrOdWocpSeKfawzrHnPdgzpEoWqmtSvLdYlKIeoJiwfHAzImPHvXWklZPWRdlMmjjwWZAFUuwIEEBIqfpMmbZlWwFGJSaUZpeniPcPiVdbZQvqFWKgmjAUMUmXHPxIsGbfxfOfxrQImOyTlIZNvYFvAfGET", "kPSbQUtgCMVLeziDTEmwbIzIaGUMdaUzLFLvYnRAGrlEUcBbPAbzvspsBEednJNVOXvKXIpRHoRrcGpWFUDOrIWogEiyhfukLIQIOpoEsWZTDVmxGAjRoraSYbvcsUALCnPXokGKQqxaIGpfZhOkEnUoUlrzeuKFFQJJLFJkzycWvOLCYwmUmhKgfzJbJiACURqJSGCErxVxKkUboNLQWJPQzveVWHlSCHWbxCKzZWmXxSltatZGieSZNewtuxeN", "lriAYfSRBjpurGwiJGBRrAUTbsxuToKkEMWaOMFweTOrqJQsaIKfmpzELQnQwJfTLjQiFhChzPpzBbdTRkyJDxHlDRHzkBAajAfFthDGtuehEqZwxOJPqUGSBdlsxkfpTeDhYbbQzhiCWxpfcvxtgRtArVmWptlhHeSflkipFLSEADTivyLFzLosKBxPNisFLBHIiWhQcSdmCxXlzyCQuNFlbldTomZRakslhGnIPeounTyKpQSBbHHmOnuKDCXG", "YKrYrcFArrpyFqXrDQJvjSwjHYdxovrwktYsbOrbMhtYvzbJDlKIZYYzLQEsJLoxiUaodaAfRUlEQQNXQutqcTwSbXbKoosfJTCLKMAXwscCSiqasRUyejIqecSfBxcOxpBShqYArSxyLKBhcXKnYhLmYfsKzIdAyfAGTGptvVQYNJLjjVXoALwGOwMKgGIDsrGUlheyohychSmVkALwASXkAYKJgoHcvYRdJQTsONaMEvwQzrzAnkwiuRAaOUts", "NeotQOvRSgPZplPUiDKjQQAMmmtwYUtZksHYxPiiituyDfKkdYmtXkOZBYIFYjgbpBXdYEpeBnRJKXDJyhIhOKdaQoJtIqXZOfosZOjKTXtNEYkNMBEjCwettmhEHmBOkIOVQJdFyRnRoaQWstHKZYzMYAHWYvJpxIcErHhzrFbMgZBDhxPfIOUdzfiAaYAnqtzKXgfUskEeryGsNKQCfxjUbmSUIKjeSZCxxFVnOcQvrCovFLmYsHElTBCgzpKa", "QBSebPcFGOFjDsHUEYvNDzIXqpbnXJeuLOLCIbLxslErledLTFxmKjPAcqsceZtzTqxjYnzwYVjtwVUBtWfrXGNIZDYluQrypjdiqdNPKEXagriSukxEyYrBUtcQJltgROzLZsXNYmkFOqMTpCmSalPbfLwKGSIycXZowPLgdjCKNhgbWGlrQQWdNLjpONgOSTnpmBKMylgGrnfPJMCwpdQGslViSshSinkAJMHWiodJWVimTOJQuElSKWiHZkRs", "ZraIAKmimdoivfktyNXJywYttvKkXYVyFCvSKxNgmssNYttFfGSyUDqvwUMveYvZQrfFpYKEZNiNEVRVAyNgaxCmbZSFDzVihzIjkGeCqdPtsQAFHzGYiFsceewKOeQQCONNXGMzwfpmQxKzmglcEMDYhGTSGpLYPCbcZPCUjdjhDBAbFpLTvzuGauixolqFfBjodxmIzETDFkxwSFNqJlDwNsnLEzSiRAikHXCHyxhDQrosooRGdDrECWCZRIEB", "syozNpBxLOrqMRijPsECWuoNpcDArewEGOaNHmGYNZJAJcNRCqnlmlqXiDkmsexrIdTkGpZeNfjfiNFwylyGrTrnjDkYCdFTwXdFFTQDHHIxbrwEuKXsnZvmenOqfDPimFrqAAYXBZigPbKZUUnianVjfJEsMSgKiuzBAvbUxGdouFlyxgFLicPnRrPiypsToKfSFUyXYnEDyjoFcFajWBEsEvJALDsqPGOkqnaKWPUpUtUOBinUHGxStWPvVUKt"],"c_array_date":["2003-06-12", "2002-08-03", "2010-09-27", "2017-10-22", "2006-11-15", "2012-07-18", "2010-09-18", "2017-09-04", "2010-06-12", "2009-12-04", "2012-12-23", "2006-02-22", "2011-07-13", "2000-08-28", "2015-01-08", "2019-05-02", "2013-07-07", "2013-04-07", "2016-08-23", "2011-10-02", "2001-08-15", "2016-02-11", "2014-12-17", "2006-01-15", "2000-09-11"],"c_map_varchar":{"c_map_varchar_1":"uHGMckpWVPMbIoBFpRddGVSOmuZHpIdilWabKFBWIEPwMkKfLPxrbSivsgkuoUctvYmgArQJKcpflCjInLfsiRNZWpRiSUzcVmfLnZRAGfdGCtHQhoBgnqurgPgZqvXEexjgaemsDNvpRBJfBNqqSrNURzIJcWWTebMQsOribZaXdvEumpusFnNffdqfnRFjQjgtBuZWFcOlDWvzaIxmKLOmQwtXwasLBnpTihGMuUczmOXKdORWjySOWXaeiDsV", "c_map_varchar_2":"REoQXoCeKBOYEfoHeIRSDYrvnYwlgaYWESLwYLGLAvJDyGlNEVJBQLjejGiGNAntidHXhvlmpqhGBJjAbSEEpqzYIKQKWLZJigpkCkaSmapXXvWhfOJGGXdGbKeCDctjOIdDHDPwiSNmtWtljwJesxIptFmppbkbTGqPZWwPJyUEADZjAjhszNkZMeSxTKYwqmBwYqruNoqAoJJJhiFXJyzBhDpPvKftoMNpPhFwgiGKSZONoDqKxQtYdaAAdIWZ", "c_map_varchar_3":"jMaSIEiPzFMHhSTsurSBglNLPxwcSmfxVJossezIqbryebMshdupvHebkLRTFAwfxYygIkeQIiiJAFBRxBmqOgYEzqlBpfKwaLZEcjOlBvRwQYoQdVBIOMhShKeeAQQPlRKjersLXqAvVsXUtAGXkJTwwAlwZiDryuvvjapLmIdFpjtcQEoZfdIHXeRdpQgHWDPtwhCfyqjpIKauYOTIzkatGisQzKEoGfQerVFEXYKxSVoiwTWlzRberRVzMiYl", "c_map_varchar_4":"SkvQlpDRcpfIRLIXBMIxrEWuualsYsEUziGfGjWdLvXJtEAmkpijFRFVGHwhHUjMtMXFeTRlGtcqPCgvfZNXuEUeSNZxjKmypNkRgTVALATZLTlqLZhlItXQLjbKdEZBlaNcvBiUyIbZsBKInOBUppHbGqRHUjxqteFPQBtvMHYYZnSmdmOYbjPFAaJBGKRMRAztdKINaGgBeHkjUKDzlDHkWekUpsqrOhOeVOtfOlUjLIQwQCCSHnMAQxBxYnPr", "c_map_varchar_5":"OgDEFbiYEPotzHXvrKNZmAqYdSXJlNArMZaaxXAWVqKgCLsujNBwLYEaRfxwTJGWDlzXQfjneIrRsZxFmlxvyzTwSEgKxBkSVkXcmoFmIWphNmHFUsWIAvkRnCyTYoAykstLZocHuSDrbzDCmUiXDwJSrCJlahvGnPbopWPBTRwPPZJccyAZkVexKQHccbhajpBlrGebdyvWTOzzRFhAFxatgsusENNsPzXbTMsxIJBwnysSnlgXkbhYoidpjElW", "c_map_varchar_6":"ASUgBScxHDHMJOGdGUKFLAaqdgwtOspSqipKxiiYItoCzybxSxbUXlUiygCuYYgfTqVrAYTInXSzsORUvvEQgNaondiHkzeZWyMDchysfZoSrsZeqxceQLujyaKvsdRKcyDoYaULEiQAnkMzxEbxWmLlawxwxeUkCQaVbsZwzrXViexllGekUbVXQXvuYbniYVVkbowGTUGISEPlpanOlWMNmeHUsXKzuIoconImIdLxsBKGguozsxzRexTstpEU", "c_map_varchar_7":"SNADbfPPuEBlfnoDnZhAVDpMqdEsGnPIlpqSEABHVoekeZltmaUIcQnIASpkopvTjMGaLLCFReKWsBvuwdMIouCEBjngAIoZVMnNvpTzuIfwLCHgHbjdWSgdTUVrNLgaAZgJIzfzCiSNYhawTRjCvHIdnYNUoslCFKLGhRkJuzlkieqxTFxeojXhHVhNmKdIDGqOZlVdgvZvWbDxJdhFIspYTrCRMyzeabCnVdbFjgnFFPnyVaxAjOvWQGzTKHlP", "c_map_varchar_8":"hgbizYiQDXDlExIPEbWxRSAFartvrfRXMxlHwfQQKxQLIjClmRcRXFSBOaUvIevTOOnbXyanjOFwFRlVuCJFWgVFmiHfltNQFMeEfYvhiGDiJybBougTigAVHIHntEQdchviIfjbmSIOtxBislrjAzSvDZfPIFTEaZLcEovkTUnkbKaibdFlegWWSCfKbWRuhwbaKbciUjXJeTIWUXiNriPwupIgzgaPEvPMdxesFrDRgUINbfGpJPVwAQcOaYEE", "c_map_varchar_9":"frWamsVNUYvMHYqhhiKgHZbqGECAyfwfkLKHlYEefLrClvfCuEJEGsJTyfwrRsHVWxnvzGaxbWPAhbLgcfXLfJuDDcEjSVYIODZxcXnCiBePhMsANeZwZXaaQBaXVvbITeoLSkhhQzlRvdspmJzZNpgLjVHWnQPBXAhpMLHVHUynEQOEQwsJtkFLHWhmboXkgsKysTIUabkSoJtLSJRdhdeaMawXlmCwxBHWJuMFbOvEESsFWwgeeGvuidIWTqyy", "c_map_varchar_10":"IrsxWTPAsSPZhFgBNXbCtMOTURIZQzLviyKlRyCsVEpLXjiBGyDhztaYkjWMZTJfUApUUhMcJcARFplxEFuGIhMRLJcuekzShNvbtcyGtbywSSoAvjrqpGErHGZpPEIorwKwncHetcXGWYWAZnBdlbkZMOrGioromjCeoQrVRjjbRJlothmTaWlqUmAlUwIzknWxKMHBLJrEhRTuTcZBHVqWHQKSFvFvpEizBCyDSVnHFgRuMQspeZUbfFFqQYPk"},"c_varchar":"because","c_datetime":"2013-04-28 14:08:02","c_json":{"float32":0.47153473,"minecraftmobboss":"wither","errordatabase":{},"dog":"Clumber","minecraftore":"redstone","cusip":"6TXXYJNG5","digit":"9","pronounpossessive":"hers","nouncountable":"cigarette","noun":"catalog","productcategory":"clothing"} }','{ "c_array_decimal":[75.0858, 19.1173, 47.1323, 78.0953, 73.0480, 28.1155, 16.1831, 8.1080, 50.1345, 54.1919, 4.1807, 90.1400, 12.1224, 93.1127, 56.0965, 42.0465, 83.0389, 74.0052, 12.1558, 95.1124, 73.1589, 98.0222, 14.1159, 100.0653, 17.0661],"c_array_datetime":["2016-07-23 10:42:26", "2007-07-15 03:30:28", "2008-03-12 01:18:46", "2010-05-25 10:45:26", "2001-12-07 17:47:35", "2013-06-03 05:58:56", "2004-07-14 11:14:37", "2016-03-10 08:24:27", "2009-08-09 08:42:26", "2001-05-16 06:33:04", "2012-01-13 14:37:57", "2012-06-09 22:27:53", "2003-04-08 19:41:39", "2007-08-07 05:27:07", "2002-08-07 16:55:47", "2010-02-10 17:17:46", "2005-05-25 15:26:56", "2009-04-11 05:40:06", "2003-08-25 04:27:05", "2014-05-27 07:18:25", "2017-11-22 08:32:32", "2002-02-21 13:39:52", "2003-03-08 09:19:12", "2016-04-21 22:32:41", "2015-03-21 23:07:21"],"c_map_smallint":{"c_map_smallint_1":25109, "c_map_smallint_2":8170, "c_map_smallint_3":-10533, "c_map_smallint_4":-25139, "c_map_smallint_5":6100, "c_map_smallint_6":-22403, "c_map_smallint_7":-25704, "c_map_smallint_8":-31243, "c_map_smallint_9":-24308, "c_map_smallint_10":24657},"c_map_bigint":{"c_map_bigint_1":-6471088997387996847, "c_map_bigint_2":-1363143138297147660, "c_map_bigint_3":-1475544405296537094, "c_map_bigint_4":-5216760103667583100, "c_map_bigint_5":6558037524612084783, "c_map_bigint_6":6860101437601779726, "c_map_bigint_7":-4895880868449666229, "c_map_bigint_8":-5364669284998076243, "c_map_bigint_9":-1285014368822682966, "c_map_bigint_10":1320493101342602421},"c_map_varchar":{"c_map_varchar_1":"auvntRamRRCNSXXShfGaPMwRywsbYcrRfdoUZHDPZzaRKMKKCnvSgHGpMLJNbgzRwwZyUJopVIEkbmLWBKxEKIofURYKreyvlsoXcdrzMPRyGzoQURChAxGzaZwaOogLaRMTTsrfXAwKykFkkBLjMzrkxNBXojFxZFLsECKkEllFHsYkINPXhiZmoKMBeASeeZmylfWmZKMcfNYlCEvttxVesZXAkxNwQqCEhopShwvtSjwnaVjyRkqjdfZyoiiU", "c_map_varchar_2":"yCgnOjYakqHHTkrfOBUOvYtXQmWdCilZKJLMepaRoZiEkmcELkhVywThDxUxIaHkKYdTWmLfinKnIrbdyXLbRARJlfNFEnSCeVBBYQdPHoLdIgDTqMndhXqMRRShrADZeuYZzIPAJFvygMevNDVAJPXPVyYdQMOpQteMPGpAETjZzDDbZUxokTbJxhzoAOVwcKtNzQGVzKFNMxKCJUZmaZikiKGyhLreMnkmxkPQttQnWKvTGSMBLgolqHmPgKnp", "c_map_varchar_3":"cMkbNvmhXPnemgSDjGuEPPSwYgrTZbAuHorarkphkwODVqxKPZxkTeecHukeaOADmqkJDuAHdrRvyXJEPiWzkTUEzShdWOkMHgHPEYlhUDwSRKHTmMGjFXnVkPqMTktGJsPASHoDVyhzgRoslBJliuRwnkuySqZVHRhyXnJzhrIRLigwBAyvptMmggLpiqPKIxdayMtdJdBXroDUArBRVQUdNBrVyqmLeHpEmsKKJnYbwoJpeAxsVwzFNQSTRQte", "c_map_varchar_4":"wdPbCNoPtabiCgzPAfogYWPZXIsHLjByRYVKbGViJgFIYdzQYOHUIUCihlNoMjiFojbIvPOSYrjyVuwEZsterxJdfqgcsSAcgZoBXnClcyQVaKUScUCCLQDlPMPZlcHbrKtlfYMQAbARFYuYKnJtWXabJIPHLgufroNaUsIDPBQluiULtXnwgQFUBADSKQIZKSKHlQntZUXcRjERFVpmpJGmWZYRPmHcYHzrcchtemgYcAdyqPevuwiFjEAeechU", "c_map_varchar_5":"mIjGXViYefXmaLMnXWndGKCbJJWkCxilEVyZesHqFqhcnVLSFGUHFVojKGcAWMmDPlkYKnUJXVimGBnzYwpoIUtLXmmLXDPqtPRiykuGRlYwTOIcbERgqBzWqWfAHSfuvRTKtyUUiUWUrcAskYVQtdUmAuZqmVQsWfSwuyKGWzNFdKfZzUuLEeFqPBHIBBnoBoHuyIKHRwTwangfmOfZtroUICtqYgMWeqdWyOlNFHsaeFGkQYqCziKlkHtoxcVc", "c_map_varchar_6":"jOigbajqQrIkIqlaTuDuumkWBYtayGmmecquqSUHoYJveUNWlEISmxZitVGXOSiaiBXLztLvaOTFqSqwirfyxgZnoWlFrurtTtejnZjnGpOgccOkctZyLlZnBFqAyIGMkTczLAgsavpfrxkKWCZOJSMWzaXTlJzrMvvSSXBwpBpcnBAcvAriYPmmbXtTOppPhfaJqUiBGiWmNoZIwVyOULYbVtclhOjIRpAWgyAuFiOtWlrQVLcQAlytZkgrOmRx", "c_map_varchar_7":"YCgeIrDxCktYlgPSscKSaJTlpQnBQTotgFAOCaJGIFvgygVKKECKQYDIqjnmceueVBEwvsMFLianrsUsngmBrUzaJBEViEElpfvgnnHxsfktjyqgsViQazaBlVIWFBZtMoApeHBGZahUQYkWqanfyXiJHLLqKAZcIMHyHBoQrKHOfpNfVEkrStFmeOoNQMRhmjVnALkiGhFVXaLVuBMcIGvflHnpOArNqPbUdqHvFgrDiWaEMinVfJDlHLhQXAwY", "c_map_varchar_8":"HUhiZhOuoWFZxQPVausUBLlDzPstfCQPPHGTlrRYTxScPeUDrkxUNaaIuJYSHXXgMphsZrxvbctcNnTNuOljBhqLcLBSSvUVqAxZnQCMkqoiWZYmNXEuOUOoJnKzyBGKyaXdkMoTqZKhZSqRKWDNLZavsiAeFIiNwFaawMVMAMccspewMSMQSxecQJJgmqYGMXpCrjZwKFMfFWMzlwGetGrNCrTjfhHofGqmvdqMEnLdxkpsMLuYQbzdtOChmUrh", "c_map_varchar_9":"hVwKkCUHhDBQpEuBxaMdIAfCaHgzAGNbbHaErIGdNvcovpzdoMoOMLwQgwkeZOTdHvgHWlrsCWDxFNkOtvtUxkVffULIUCAqPDkRBaYoAfnBRNFAWJNjeEUpPMHKhsaFVJbXeeIJAwrlXUPxEJlmqAoTTqBIzBwDBoDjSciWOgdjjYDtoEgYIhskCgXFzWAQIfsDzGLuYOHVWVeRkcgnRAKpehTUsDfLiPnaIzdpaLeYVgGULhoSGsEajSdHAfKN", "c_map_varchar_10":"vkltbrnbeJNKfycMPBhPeTFLRBvwVFiroafjvfDgECDqbNyHLtvOOvdVFmWwpeCBDEHnLKWRVYcNoWVFIiRXEqOPFEsoRnXwZUwUWKOEAvHMpAakFWhafIWprDRJNFUlFqANKHZOjCkvhtnkZxOPOSrsJZgDHelTTFrXgYjUUnJFughbsdHEkYWvKOCUwPckOIeZUuZemZQheCojKPskTMqgdRWxUAPsKgwSTmUvgufhbUAAfmirSHkYFEKMrCjO"},"c_tinyint":-7,"c_int":-259010387,"c_array_largeint":[-5761022708407935576, 6781254196475910257, 7868635919277831152, -6114995516540751403, 6821296505827915640, -7262582692407970504, -73378477982942015, 1902358699523740638, -6703210142795885812, -6968394189846850341, -6947848929663076776, 7116502497752368830, 6885549347586860578, 4815418157015394312, -2290132518747281529, -5548659520862324400, -8947361531808053755, -5865010982923433046, -423188702381995010, 4624512836498684795, 4451137864140785975, -8124802816946206373, 378612612751020284, 7222059274375364936, 8374248419854694566],"c_array_char":["MiDDvznAyz", "EPFIavOMzj", "imtDrueWBv", "yVBcRGXedf", "TESXVdOXvK", "SRlWgNAhIr", "IiIdIefKaZ", "XxGDVLIZJP", "GvCKlFIoqf", "dwEimEFzvw", "qTBLTCOFYI", "cSkwLimyQQ", "qDBiDUUZpN", "LuAvJjEDyb", "wBHllBqvqv", "bmDwMOPpuc", "OVuHkFjUJO", "dNpKxwrYBl", "ZOzNiuPOUu", "SNMeVDEyzK", "qlLsoThXJA", "AmRcqhSaEo", "AwCWTFRlai", "fYNmoicErx", "wlgEJboiRJ"],"c_array_string":["ZWzxVUXyBneckiGIzRlANMEXvAhqNySaxQTESyDpkQKKNOjvdeIbnezsOCxZmkQqguoyxDYOoOOZXDXwVLnvgEFMbKJoSyblFklrtPQlPtrIbjUWifrkTrirCuaJbNSdPaVnBBihmpBghcVtrtEMnrRFQHhzhuTjGbkklHYYhrXZPKndXmspkpQdNtFezYOwufuCMRYFBdXZaeVKYfIGDDHUptXZvKrISxJeUJAzAbJbbIWhvZtKxqcGCBuTAzrAmgYqsvatNuZPkTMMELszhuEacDmBbPPTQNleCYyaZUQFiyjUToJsYpEEVdOazObfKaXLfODBxTXRyQCKlhPJNRUgHpzFvvxNAcRROETnScbwsQDrEoTRuaLMfhRVDZLQGFKWFmheRzZoBNjCaTkmpJWpRYGudweARWoDLWRvkIGEseuDmTmeqXhMMMuUZsmqdZDHplIjOFrrFDLSfpCaHqOxvJGkThqYdlFXmOQPjkxSSncijEWoToMYFeGiOSgz", "cnqMlhekotXcIYknrYjbDXRvPZRYuTrVUeeWpDMSZRyyzABJbrNUHlZkbROQLKYreCIkGvxodOAHbgvBPUiHRoVowRHGFHEGAfWFwBEzHwwUOhmuJlfdGdoSAAedqGnManxuTHwPPUbsUpeLMvEYcBLfDFBdPFAwHHfsVfYzWwRzTdCxIJyxdfSgCCGnMaYxxhHBEHTovgnzooPhsUSWFqfKaYxiDRCiciBTiNimlxbysDVBCjLhtAanRiNwKrfNOUWdxwxFBdcQQeiIVjpNLrtkaBgqaWzCVRXghPotIqISvNwUdPktOYRkWBGTrJyccfuFsBVBXHBQFdKTmnLJPeTrfUlpZhgmqsEHnsWdODsFRwvVvelCfVkRmHWOFevvnBfxENTSpiINHtxoLQKvqhxDKmHlUqIPHHccWUpGkVZKXndproFDJVbQTzZbdRGGqLuRvQJiWWxADDgLVwiBIJbCGTCGMOaujvhGmhPqQwqCoNUCWQoONTwujMfWAyym", "scOnlEamVGcPebpYnRgKpIiABWRGEnQLCVPPbzoEPGGqdadTHCsdNqiQLoIYMmXSmOkBuFZLSGcsJkQxsuEiCqUZjmFpETcDzcxvjWhNLDpApzPepQxAGfHfVsIHOdmzAsBiYQJuyixDMZgrXNdXhSVEaHYZVTBUUALENjiDhbdrPDpAopTGwdtIuOqHBUDyMoJWhXNzRiopVnOFwmrjikaxXUtioKCHidRewrsQekSNJUlZavQZDkQcongMBhAGFwEtaszpmDklZjkBUQaFkPkaKZSumAYWKWcPVqSLmmTykMerdUfDvilCyJkeBtEiKciJNuzMfgwrBXNEyVGWkLzyrpMhkLufmANVzhOjtjHnPCyHqZinqHZcFoGpyVVgjcWFixsnwGaVZcHWCicYNhlatVldJOvKcgTCivZgFhrRxmJtObUGxlLDLEeEcgQqpPXdxtjSOVcjdXyIdmxxxwrvmymbRFdfZXLScbKpwHOmUvdtqXaMhraJOePOOgee", "qXuKIRFbcDtiXzZJdhjcqiHWnGYPHLbgJEeXajvQzXYPUKgATOUlotstFHefuJBHgXvGxHZWRzRhVDfatWXvXARsKLDTMnNRbpaLVoAXNaIrCiuFupaFCWxBwCpIvaiJyyyYUyeQrCThdQrdwHlDUyacbBUSLSrKfsPSrSqDnGyPNZIlfPVepeFRrGUANHdpDMrxeyBHEPFvrbcKqaWNgHVfdlJxnRZsifrUAALFxEcGdgrOoIrnyWsRVyNViVWasabJyvoOxYlpmQUwgOFHSrXYvPVNuSLWYjJAlAVeFWtWSiiRdYXEheYmTkVVwfydcXDcDVjJpfehpgawdfLXbyYjxjPcrlzcedIJCfjovpGrzTEWvOgoiLAhjsJAdHThxrSxqVnIeuINJfefdlrTWmojbrYsMxwjRapqnMuayiTjVGqcOrPXmKibcQtkoioUVTfnwMybPobabdHmzRtkRUMIJWeCjOFxwxcopuQUKlAiPAySnsGvOQafxKnkwpaS", "LWcUnHQDBFKZsvnAXkKGDhMCJNDmLCFdNmnNMwGhUVdTRTodpMxMvnPxdblDEMkyWAGgThkMyLVvDZviGQqwSbNFgQICWoVKBKVEXORiTqpSAWPrFkIpMMkqGfwTWdddzCvksrtpokaZSNOVrLraszVZIBZrqnNRvoJVheqTwMrEEJAfghCxFaLfwcfPAvnMkDtfQqkaEIJepdKBQwoxZjsQTiPCtGavNBKFBUhbcGnZGCZCIpOfHYiTTxcrwAOTofKGembSovBsTOcdPwPtfHFpbSPOZauYwkvYRzBXkKeoxsaYBLZayvBDkVrCseeFECmihFvlBlgMWuBhyRRXuKmRgvKvUUxiKFLbDZPqUtcgsHeIhUVSYGBvhMujYYOhAUgcERysoxFHakKxIWHjjdVxCfwBBnISsfQhmGVHdieqAxZlBFaCiJPdPrLWUYYYKuJfSWPSzdMNcgMyrTIshhTspTrwACBWXWoGJeisPpeLdcvmIBJoejBudqclxFsZ", "pJZDywigIyjykPDgYqjcuWbgNArsNaySpIErdEsTfWCCswYdWfOAclNIjbOPbwKLWvjehXuluYGHGNtIljkEMquubvtNzHhaBzvHsVmzzKxEHFuzlBUXHTPmvGniBmyAutNzQYqLAMYhLhIGMtzgTYIjAeWiziczevKfhKvOzHveANMPqExBzTbHoZnWvpvymNSmitranySbukonhiHGwAmhoQIPHuqBKiGvlRexndhmRwaVQwfMSbrzQDuDBzzULRItIqdBFuXsJJKcgsFYbaeeQJDxWaePBCJrQrvlDaODReOJJmfWsMrLEMPctSkwsfprLgHQLiDZIWGMPTGaIELOzuERJMFndxYDSPAmxDTwiqwVoXdizzfkdkxISANTJHZcHspCqnFvGkacAnTpLdEsLYAnAaYRqKnBGkbcjvFIQcakjLGOCNRLZimqQlFFdoTasrlFlKRNnoNWVOLCBLuuXAzAWHMaWtAjqFBnVFdBvQYHJtBXZKtLVKfpUoUD", "hFSDyUvftqWzFrQUfVTPozVDtmJKfezynpicCGtRrSnQybqXugfVVYuzwbaZtyXDpMxteLyZLWUDGWeAMArQtmGSDomVtDugikAAhKUvViHsCcADWDxUjfKiETjVCOyFpSDwyQSdzNwaMgomiqsUDOYVqmICVQmXJKLKWWwfJJMCFnJRcktIrRqelSWLaDcNZwNcklseRZcjWustlnVrAFfFLHRjkbEFjSxwghGZSMTSpvrTBZPdzgsxfIInkZIIwHdPfuybfJPagFYEVtmIVrCnJllSYEQMrWCmBzjldpjOgLIPVUMcxsDzDKTQjTAUtRSJJnnbryviKrvIOtxYeUmwgBUMPMWommEEBbqRtCFSbWQgHKwFxTrlysHRHcUaEnsCTsgwgGjYTMYQvbnbhgHUsSznpVZnUnseOtlryptmHUfDccQRPvmtjWuFvKMBYyejlrdJXFKskGzcyNYNBYReVeQEEZxTJPNWQTqmKenydNshDIafsZMnHdZUpjzO", "nMkZHYtapIVUfSLeiKuSWVLJrdvLsiVGTOqKilfyidehdnunTtYdVosQZAKQsnNUQtDSDnlpPyRKUyGngiviZDiAVymxhovfwODgmmQHqnpvCwIxcTcrRpsRfiCbziIvCoNUgvHwkEIwOEYTJKIlHoWEvVQAyhmuUdWwHwDWiVGYMrpjcfIdeHtKeLZODjNcJfCDKFwcRKelMPxhWhmBXZBsRslHtXixtHShVwAoilMqAnMDeOeGlKZkuaLpwXDbvZhbcgzTswIkcJzeOpYsGsmQpdvcxqWdbzliBGpMHTDWQxxgVmNHwgODjXEdiYrZEmaqhGDovTUxWItUnYJpzRSHHAXqKJAJslPuPsZVDxMCxFtiqHuCIJwgwJGbkqpMaAeMtxpKuTsmsrgNwwZEdOYccDKVmphtkGPuDGmHXCrVWBoEDXPXFsQWqbbFcCdoDriLhSCVvUYTKpFggqsinjVoooPYZCsoszASzFThzvSdyPlxgFrptlWspcHnHgkY", "sbVHwQDXduXZFtoKyolXVxLwRUhaEUEqFNrPLowsXyfqiVreRxUDjfzRNpIenbmqtvfpJzXfnKaeYVWsgBHigQUigZjyYhWBdWLAPKRWSPqVrhYrLUkEyoTKlGeTwozppPaWbDFSEmHRztvdMVrLzZuucRBZsRgqKVzjeZXZVhbdUNiKGYQiUEzmVFGRIQJFzrscIapeMDvsPLmnDKiGDHoSpsxktGKyzFdYjcsdwgWnnqCHVrjpkaWrYJKRibAfXQYPirXHiSMYaDztPLrNPjeRkkrUHHwQLyGwtCudQxIdKNOWptBzWTvbzeehmhQIWRFTfZZuJvBnVaibvZKfejGlgyaJoeAkXVUfvJwoBToAewfflsHTEnwDzFpeXSDZgluPxDkCLtbIdMSySVCkvYiHdGYWvMmPHtARLyHpolEZNMCVWxxkOcqTfgovSLyYeKfUhllYujHrwrSihHHFfVDuPnHSqcscmYGdnLHeuIQELAQcvfznVdDgMzYFnyHr", "nBhRJUrvuSXwVHjGkhmqMStzlEaWLGCzHhdsQObYirxiDGlJsSDdkOFpaTghtzFJyTykWYPwNeUKBsLwSppANITpvMvMVzZwTunPTgWfvZtfHtrMvfPbFDnYkROrNqEqCjyKTWNlGDMzZXoikwsYuSpHpuZHziEWKMXOwjjNLjNZfaLUqTPWvnrbmsSiEghUeHTLDZoTsHRPfkdpSSMDusVDhjLLYQfanCdjKfiFvqYAGtkmlrCqPRXwHGhTsGeieowqcGVIXKVsDKwmMGpSpdjZeRhKcTVZiWebWoljIiVhMFQMnDPCVjkaqauPzMdQTePArpgwJfEyeRLxOjlhNYttDyjdDKzRNUTqFxHhoFCEBIneolJKAPQGqEmAKyFAcXAwXHQooqRaDbovtLiOxcWaswTaMUhoxPyQHkwVTfmVScpHfXwylukAbwBkOhVqJuypegyxLYobDRYzLfJKJeCEajEGMrFkChThkKlmmflZcUkRBiDGlqaxUlXhXZaY", "IQnUqkPDGJYJRJzzaYlQGHPSNfSSCHHxHRISVAignlKsKDYCfgjWvKGZxnrJLsMLaghiwowAZimNkzrpDVIhGVwMqNrAfJCHEBWhZbcuhGZJgnXtcYPwTHcTDBWcKYybNIwcwqYuYoVLbpLWvXBvAOCZVttQtkwVkzcBaXeorRTkDkXZskYWgqoqgQLmnCtWgKFxpQWFfhvWxehifohibYcAnQTUnaatAAiOHLmdGQwKmpWsOXrLlHrrGTIFUBtGRAILiqsTeLEesaxZQDDwFMtlpVbYwHwZpZcULUbrXLBvyaRMaaAbmvKFqLkEIIqFtTWGVHQbayjZjhYHGXmqUOenHPTzhvGETdcloFyoZYAAbCTCBYrZQaAZtKzAjgRzXyqrXhsgfRiRDtmpRvliHRVeuZFoBtRwCeanxkijRxBCiFXTxiAeqNDOvHweBIuSyPuRtaecGYCBgFmIIlunhHkiPpOuqGtYKhTEwfxhFtunbiiUrUFrqlDtVBPmtWtL", "ZGNbrGraUpxidBDsivEZsVpUDYBdblpHxqUDWykhcFvmycAEPhACJzzoBQeJUNsXZUXIyzpCqcCGAuqqjeVWpqRnRrxMRDscAFXDBAcecsTCUZYFLtxZsrGGgranGIKuVUtxAveNyhRPOCYvqvFCPcuZwaqDDbklUODwToKyYmsrbXJiFxeEZDLLebjqDmpHVBPRPyFBymGsQwRuJldIxYEVOCLyKClrZoqmzknrNdWaXsHnnykazGuaZCFUXTlPEmeMdAJeWjDYImlDFCjTKXfYQXhLuBwfAqjteYYIIzLcZLWeKaYlFoyoqGDRYYSKFBQGykmaXnMJHCZKcLDnwZGCFACWUmiveyLOgRFmudmbuTwhQUABVTyFRkUTJZMFJBzMkPDeHqsxLQFiawcVcpXEwZZcSRYObdCgxZrIdDJHtDHTInyiXtQtglURjhpLwgkTzJZBtSATioaAOmcfCwcmUbogqlSmAWoHNvZtyFXSSbfsFUGvCUdQScHuKVta", "ZioaaIllhFslPbaZzbuKXSbOsdyEZczgFUPcpgbjGWJFzGnprgYHWxPFMuPTHSUaDiEGrNjPxLCIgGQChDeaCWnlrYbJXhRciTDOPQUnvqafvnSdcvdRYPWvhtFHtzltcOPsiHntKylXoNZOxJAPrVnPOhqVqYQzyhjkrNlVRwPPdmJWzUItGxMsAETXNCPfRNMDubPLgwCHIpyZTAmJaktWiCzGxMycJPGJpXnafIVfSPJBuwivzmdudomrYKBANgfKyltXYbxMglPpNUjnghPqXluWoSZevbqHUEdBCRkkdOUNIZCiQgsncrRFlsvWHSChqsLnaAgrPAPOTaNqMCYmXmgJSQgLNLRYLQQqBYPnvNIarrEiQYGthkytaOEFlABOLYpWBxvXwFhSUcMUiCuJYTgtMDgChCNpkXLnNHWXOLejtlbRijCPJjOFvLCMDTcDbLpHqNGoWbaNnLIBILqpsfmYDpJSTEfptOBUlElwpItuxCJNSQZrbnwJTGPJ", "kEfBRCzHssVnEAYwMnYGdfxRFiHYJmSnstpKEuWxsXjhobDFpwgeZNvnBOqGDIXwfChbmeLNiiisQtVGWohgtPQUxXeTfdfgGZeXzqTpyFUZcTAlSnLVeNMBpesABjYyKKVWjHtoMyIdCvKCOzfeYzniKVwDKqhvIfZmtemNcEJUMBgaxgEHoQvFhGUlcISIovTCeCdTRuQVDBgjXeakqACuZrwnkDckFmfMfExJQPydvNgoUAsplYcTIKwDypAINeLixqrzTXhZVFjGXyHkRzahdAIYoNUjZVuEVuxzqkOcKrpYjavjIYKnwbBiPbPPbcEtCBzcKYpjumvHRRBExMdcyJVKNOsQRvHKEknPGPlqyuKUqZomLMlzclKPpevzYupngkGOaRAWZNysLkUbMuLFirRgijRUNoQPPLepuMLDVIqTmGbFTJunJgEgpOgwLUIxCwDsbXstDKbFiWRgqoKmFjzWphVYbzUdcyYzHHSKhHOhgWtGgBckCbZzLExa", "niCYYxHBGcjnSOtvlSJNNyxLlcVvyGmqtxMZVtUNVFrGJwTPvCnabyNjfwYLpJaJRnNrhIiJICPSaRohAUGWuhBYzcbnTHkNSanSGMGdQAwcuUrIFJRCDweyteRvsMLPEnooPCVjJAbUmIYYpTfFwHzFfOttEOYzgheYearocrSxNCepXXojLUMYZluGuKGiZDUrgenDQnMGAyRPHQbvIlYPyxxnveRmMAeqndLbePAxirYDTiiixDeXwXCsKZXzwRhvOBDyMjKyMUaqOxMdKpJplmlgVkEzWEokRkkRgZKosGdZYOOUulcJwoBzCkAUQACeQkPaWOaCAcEkrdohZOHsHjLevMvahyzuiDHChLahCHsKuegZdhniSiWGzJwKxvFGFTHPiQgxWVyFqmoEwPyNWSnJCJAMLbgdrtTlECGRDlRYUkviImEjupzRVffCVsQffjqhDKynwhuuDdopKYfBVprQKWEKEfjeKtOSNWzdflbqlKdMQqhFKhzPOsfS", "DLIIYxbetWxAOEEXkCAVnLUbuOeBucwyiFEsDCUtoyHCuVkehdaRUIVkZUDsvHPuxOiFuxcevIEcGdgopzIgFNAWXwNCxWTADIdANyqdNhQOoGfoiyTstpoZOiaRSeUJUvQLdExDKEIskgCVgQVYNOqTbbDTQimwpGWLemkxaxYHxFpPmzYvdIVPtEvIVwfhpJgoFGQxNIwhcQDcmAWvOvNMlSYfAjWFeOWkNfFmUWOtrxjFOUVLElmKIUFyPbLLpxGCxfmVoxXkPtTXBwkhfXCiuvtAbCZEbDYiFTGYUYpPhCmXHJbEBujwgUkQvCYHmolZRBTuOCODmDAyBPjSrpDhFuumOtqcMNlCWytMCkSSuUMEcgtTtNwhRRRyTBDiEQuwMaDqtcuDVtHCGqvzUazwLfZduNczaRMZMsAKIxrvmVYOOqnaVIIiZjZWZERARsxbhovgMyeFeQKtmVzcnJyVyjFYWUyHaJZYpKmiuTCqLSTMVQhjsfbIHMoCeOrB", "UIqZEInxPUZDzstADNlUEQzqrIkGBSHJohCcZshgNetrBLtmUsdrkXHHBkkCxNGycxpZtRUxWBXjxZHVRmpQYabQyGgVEwpaBfjAQGKGVZFFXVNxIXHcSxyeOeKBzxtPvRmkCbIRhVAtWbdxhcLjpszivqaOEKMlVYiYBDIJDgjDTMveSxjvRCcNePssBGdsWknlfrmbCFPdCtndYngKOVbTVACnzLWQzXvJzoMreAdqQtvYjGmwPztmYdzQwfAapJvrMTtwWaQLjAhzbNdQpSaHNXHvKgVznPlEmKSYGHrxhjxiFHltGLcGIDzFLxeWRVKELwaKYTfqSrbgaFiSXoOpfMtxnbSIioeMzAhEVmxJVsqaIhvjyCmjPWBFusWVpsgkQrSEKfiEJDpGpUcxRyCzJYogojvjVvyoooFraXUDoZPPtIYgHKXWzsvdwoymkxoiZjPqDxVMikPhTBOYpuQFezrdzSbuigAQmkIgHLYGUUQbMQTGKsSxJEabusLf", "DoFAYfUKTAtdHdInxyZlCWcvCUAwxiTrrWjLjbEesEVoNkQnsfTbEuIjqYlryEZgdvWAGMmqtyBbZCSiRzyvdvXjQRJDAEwmUsFYesLoqmWtQEUzdQKBhudMkzkxKCDsYjhehJZEuODNLbQMExdXKgbPRhSmYohOGkWyMFIgEFCwMeLbEHFTBzGHRKpHzjhndXoLJHYNIxDvYZkPBtBTvsFgSaTzHKBbpupNFLGMPqIsYfXzlXNSbUBZtfsjpvKxPmERdYwaUFfadVLhvsYVhgfREMURBlXgGACNNBjrZSLhdLsjDYWjzlfGVVOYTVdDTGnwZfblBRCHRprcEMOboXKvEtDkgjcDfhHzlZdcCTnKxHuhKnVSCtrGWnMqXCmsISIoAaPJqePtpitBtIJYNlqBerzKWFKrSRGfbthRzoIawYAsEglIuOKrovAlRbdKZxWgnlFUCICrqdXlwRXhXQWtOUvfvRUhjsOsEYbAWuBZlEZQKJfySOAKiKyizBfI", "aHDUiNzOoyxotBfgrsWFDRTfGCmxzbWrbGrTeeLiQBRoLNfvJjSjgXDZuRDWEGsKYxZEhmJThmYffPpvLVnLHzknwjkBhDYoZNUcSYlqfUCMPCuNxSVZYUcvqyqdMuDjxuzuovxxbgvajbolEPatMJXQzywcrRTYZElAtQFjEomTeqCQvyliyOicDEUxJKRHWcGPwXvujYJYxsOFWufWzJFTvIgYNWMuujRJPxYFZNCRkIQMrpRbhENHvwQghgcfUCfRHbFHcBBTOHuaSksyENMbKfodBIpTWSjpCnRmahkkOozQgHwtXyQTkMifQDCdhLPoMvfXWZFtFZWnmgfrjNxiwUZgnnKrRQmrgyAlWxhXoUDsOMnhHLPjRPhuHZUbzgaBlOfwowJCWhlcxFegnCIAsWpzzysAxprAinkcSKyjPDcoppJkIQWsAxYsvWSCYHgQYVLDbtkAnyIxXAbZbyCbhwBJbhpgvbJvSEenUBNEzmlhvpykifHEhTIxlJWV", "ASmknwcMcJkurzgmSBKJZmPSeJWHfCyilmQzMlLOAnQMDoraInAmXEOcispGDzVKjXfPQDhdffZKOuxxfziiwTTDzyNspBmpHPONIteQtGcjwpKTPNokiUgYTvuABgVkBDbaHrMhfKHMRvgUlTfMsuacMJwEmDkFpKzPnqVqdyoZZfCALArrRXaDPXPiFbFKbgdktfoqxgSFLIwgRzoWFGiqMNuGFZTEwViSoRkmKNWxmZpxvpffyvBcqeqKVBFRnpECONloWDDwhKlRuwApYYAlYRNwQPUZOLovJFlfyzszdeObUEzTjNbngwpNnSKMGRQCaPGMfyjjFzbKCfdDpoAXItuZIFRdhaKeFXXOGDViNoTJIUXaCwnPuLvhqmtzESQGdeJABVUYescjphXrdAmYKxswXUPDhyrCXTwFqTOsAQoFlySUIXuFNbnYqZLTqfNYxFVAYuwBlAIqWSBjRlsOIVeGByokrfjGVfCuLMsNIrEUtfkIgESQIXggjEzj", "KESBnNzRPYooZYExQCtzSmQcJzGZFeJGUBMCIofoDBZfPLOtJnVVuqYdHOhgEFzhWjSxdkkNruXFOpKgKboryGOMxUCbbwEurMUEeQNRzaDMkNrOlusJkZmkeYanckjahpKVQmjjEDoLRJQgvJscorrCARYkkMWKdSXcxnmezdrdPfzyVzHNLjdfzJjbeyCavzmgVYtoaESocbTSPHRtZAohCBTMeMFiKOcOXpYNdhMLDRzknCpOWyULAxOvCcAzmdqkXNfZAaMtLhImpWJOkuCbQTHmMYHRpBOSOOdBEfAebphWJXQMoVzHVmEWloZCztJEYkAbBFLYdXrWAJACMPuscQZQrUWYCaMIdnrrDQAZxgwjMgqFJKtqfMawwlphuhcwrSsxHYhJRKsqDvoElZKJRRpUATiGrDBBEuPLMgYwUwCOhGvzgLUeywoUBKrgnWgbwnXGffVgSWuQMqmjDMXAWjuNtBpZRhujVZgIWbTTSjMWyQYcXKEYerqVoOtN", "mIEuKWPSVSYxELWGEVVbFtUncXBUWhlwvtXXuVLEZSGhLFrPkkyOrJmWHInkVLfjIAoyFdjTwkyRSqJtcVwuxXLDnlMEfUmsfRltfhncvTOGseoMUrcxxYHDwbUosSMNxIXJGQQRxAZzQsMjRSDajcQJqycAJhzullTAKeQiowegvPrqerlmvKNtNFdExqPHTZEwAklEvSjZqUtWTuupXUaOdFydNMICwmikiTSLuXHHNXQRlufhfBocvgpOPTsIimSUavGjwLqUFGWzcnDLqegpyqGNchwjfWeHiVxFyQYnHyxbHtwnfyVbEuvQHqHPWxMRxGjyGhREXSosvNJkkkaAtTUMSOThKVOFuxQjjeqakqUXZcvqdVrJVsKahKrDbDDdpITapUGquGjkDFQgZojDKuiluHdrmtJxbfVcmJRItrMiHsvZGPPlSAipWYWxbLKemQAKjDUVzpfYcovxHAYiPOeQPocKwOVtkSkekwpojsbWAkOmWXPDgOSebsWf", "pLAPDOdNYQvaRwHRTlJUuLHksynhEDbSHgqetaJbglELfvlSqKDsIjiKYtomffAevzswBOazzyokkKyssuGQnfkpajbcupplkINLsWdhHbosXZrmiDZQqCCvCiUdFXhYnUiXmNSpQdgWtCdTgGKaogIvhgrKCBQTFQPajFAgtYbedBJRnChPDRJjBEeEPKKphOcVXWyZzVwBgpLqTdNvcKsOaKBagGzuoyxBrKplTsmMFOBPbxufzZpzYUlvcAkcmaNuJHoMpScBfiHAxKPyfkhroRkigZLLNHjHaUYBXtlUObXRgRuTfgrgEssiPiYeDlZXGvgmcGcjQzgkVcskPfXhIfQWCrdRXgtULDjMGCQsQMLFqNCSsMuViWaaVBoaMhnCRRZNqpFXgwnWCVsUuWdopeZaDjzUpBlxhzxUikgeDFHCYzOgwfATBPxFDmFrKrOwIuGnlFURMXoeHKOpLDQqxeeggyhYOtnYZFePhlHQllJaOffsiaYqLelnxnOR", "lRCwaTTmNnYFGfxWIXJeMvaLqSlVOpPoUrJrFioIuMZsyUqPWoKyNkWjsYxCakzOzfpjkUDvzmsdCezlSDjLDdCYJVRWPoeuFkkEuMWNVwtFtpOkJBHEKLnbdZNlEGRXJQRKynsJiavVnDTLiBWgMrrWtfxhaxWmbCTbBlbsJXznkCxRMfgbeJVBsFPLMteHykUrBfAwQDzHMcWXTYbSGXkCnuOBLKFcWDyblKYeRDCgQxnHIplSoyOqHuADLgxWaWXKtkcUvEuCjixaLxUgybENJvSZMBDgwxJlHQfTJUXMlByNWqZRKaNlAWbCqMlCifnCObWPNQGNcgXNgcxqSOGRBcPRdyfXjTGAjREpTwAvYlnMjqDJfVsynCpAbLmIxwpOiajWksYdimLEIgdRHoxBBnvDthnzfalrQfQwbmQchgnuanppkwtsSoyaAXlipmlrrFQgJdYGvXMNLncTYohhPHelwlcDqVrqZkhmJTaxtrdcBioQtPKXUsWwMiZX", "YNzFBmLKSbrsPDjyameIqnTRTgBjxqNhSiempsLczRGtjfxSEvWBTkHujaMRtlNFaQuNiTMZAsFNeFPJElTxcCjMoPFbVJBpldUwRpFlLJlFpXUAemitFccEDQYQJvyYHqmgUTiBhhIQJTxovdxdcGwDoCiQrhpbIlbEqPxpcaAGndNPUkCnjCbifjcQvgKKcJvGnsxfpOhrJXtBeUPtcVNIXiEHRTSxTDWzwxJjPBMnoCYEClCDqycEUFuKVOWfZqGzIgdosyzvKFwWpzPBjGDkRWplSYFyRwNajqsBsnrDmKHNcVrRlOXAWHGkfToMgDauMuvdjheaCiUMdyeJiUcIdbgwKZmnnAkDULzEMweMTbwiCMzGAFTjYiMUucMwQWNMiCsZflSuQGpjqYkccSFFYdlhDlgyxACKmVJjlRYgeRICkSAJtOqJbCcJqPxwqJiGWTcbpoyplWFFkhATowyeKgzwiBVHWflRADyHTVvCtdVHbpnMzGOIlovYBHsQ"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_decimal":{"c_map_decimal_1":20.1737, "c_map_decimal_2":28.1798, "c_map_decimal_3":66.1771, "c_map_decimal_4":29.0885, "c_map_decimal_5":80.1179, "c_map_decimal_6":89.0540, "c_map_decimal_7":0.0201, "c_map_decimal_8":52.0672, "c_map_decimal_9":13.0612, "c_map_decimal_10":13.1782},"c_map_datetime":{"c_map_datetime_1":"2013-07-19 04:25:42", "c_map_datetime_2":"2000-10-10 00:33:42", "c_map_datetime_3":"2016-09-07 10:45:28", "c_map_datetime_4":"2009-10-10 03:42:51", "c_map_datetime_5":"2013-05-09 15:06:00", "c_map_datetime_6":"2018-12-05 20:41:42", "c_map_datetime_7":"2017-10-09 01:02:21", "c_map_datetime_8":"2007-10-07 05:38:19", "c_map_datetime_9":"2008-12-12 15:20:01", "c_map_datetime_10":"2002-06-08 12:43:40"},"c_bigint":-4445301163882916171,"c_char":"miJBKrlufe","c_array_boolean":[0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1],"c_array_varchar":["EyYiUCNxefkxFtfTSfcrfZMiPCDTvsHANbgIKWyVxvtKBLCDRLIHOeGxfuGsyLsmtEBoUPkFaRIRKYgapUklTHpoPNuoHdPSPslDmCXYfFampjTUWkJWMiVJPsrzlmOKJstTsmMfADtWIOhUANZJGInkFzPMQgojWjHaEtsLuJpxHiZDrgIjOpkLZBDQJmtmHtBwLYtBfrCOTXvWdKtHkvQHbuCqFXgChtDuJYznEQispVIbMeJcgwIHiRatVwOJ", "rlhhDtFKGUMXbVIhSFlCFMqFmTWXNSyklmhxuOBeYtbBsAzmzHFoMAETFAobvZNsVfIvTjVfoqgYafTxbWCNeiGxWfLjcKpAJWMuYKulEsMQSLHuEoJavwVVwnykvmMxAiegBDoluSefscxyugVynPryfftslEPnutQXqlvmejNrYxlTbwSWSQZmhmKMUaWWIUXZnwztvqCNPymsEQMWvQempPpAeWwziYKixOBFwBSESqcevfxAjVsuTMYmMdfZ", "LKoJWhvOvWzKQaLzyciRbEEZmmuBTYBxrMcnohZHDmbtfjcKcJtyORfwnwdSHeTwUymuryUSQYmwPrVeleOimMJJdLwvfLGsBvNSdRIkHyKPvYfQrbJRPfzTHRxcQLOSkzfHbDMcNtUOUDKIxPszCVatmNrUnyTcmuCOeQHxvvxdriZMFgCMiPtDpVjrvcOawvsftPcbEIkNwYsoUkdlftyFalXVAwqOmbIrrpsxsSjLITcVsMhcGyGAkNHQKQIo", "vssNMyVfCIOAVbwGAXHWPQEbYBfSTjuisVNuuUplNtVPLgFXuFSAdzMUOUXSegAgHDFxCEcXVdlGktLIRSbdfqbHyciawAaISBUbCRJncIsOnUTrldAzyHvhEBxJIlEZJBLmzAIsSbjkfePFLydChtRLmfbnGsHvckmYjMkZIZvEsrILQMOHeXuUaymGjqbRhkFZyFGTxIlDdQAweWhSemczzdqmRpckCTJUTjROzuZOTJUdmqJYvKKFEHYhaDQH", "CFWdHndLoBhYhmgtxUcFSZUDwOKSjLlOuSpNreUcqxkpwDuDShVnADyuoJgBLZNBuxBJZsmVYNTbLqGQwXzNqXMBWESBGKLMIIBPZkdeHuRLQIEzVfWONtrXYZjEXzTYlRpZeIjxyawlfrlaieKQYJhcoywDczqnrapPHuLecFQqgjFnJUWdEGkhelJtMZJpSbcytZFxbeTYMTdAYBgPVNveBQSOQQlsjoQpXZjtntjMXRwqMZPXtWgejfcFYepI", "ySOGjJnmfsNbppTvqyZdbSAqVkCyntRRWxIovbQcUxiymFdRTLkTVlbVkxQTMVXXYrQWochRWuvHfvtOFgbecNhqpjkvvfFqmoiNhxanpfHPzaxFaDKGONXquJYmNIDbFzVrxITTKHsbLPDeuJsfFnPSlohZOajBXsWkjajyRvAMUIaLozKqyDGzGnkbVtHkqZqvpUWuqHncgWLXeicBQHFtODSDvMAlulvAyXXsXiCDlwyQospZDSSsLcbakiec", "jYboXTupOioNnQohGrIYaDghCbevBxCuATpqoWvSdZHbYCHQUUnLVPSfvKJTevJUGwSqKIYRhhpSblTjhRmkCKzAkfPtMfbdDDzUPqSkzhmNsVLrcAWnGEcpnOGAhAHVNYNeczHBkJOAaKNwqyspnjvgSMEEBaMVGxJPsTRLdcFcyjwiFSEphPJmqFLRgYqOOjWbKAQJiRjFLAfWOgcZPAiVFZeaHHtgSIPRVKgMmSvTXErTaxlYFWCGhKRboAut", "CyvrNCyKJgaUzeXIhaMGfTCdQWDSajXZEgUIpTcTNBOAMuslhrahbZZIELnWuInrnkguXlspsatBIrPaPWjbstIkdYnviPTsCzlQYHqWkWnZIbxlHdmccpMMjhVtDanaTxtXgnSYCtsSkARVPECqFXeNPdsIfgDULTaIcSKUniGJFPUkpkZSOcuKxLwHEMjAAFyyJaHjXUjGfkLFMrRyLIdVZEbGgdtqeHQPHRoKbpbYUdpshAekzgEmoUitiVZL", "eRNELeUTYlWnDUIeAlZFbFaowYWEhoIWEuavvawkqPGJnqgVSMsDTXDTSeOzXZXgEpuvKwEgsLLTUHTSqRmDtxmnfIwPqhucYFBTJdydNkFdTXZgXbPvzKvkYiyozplTfwLxmIruzoDOLiXcsuRBOAedNRUZKZlzEQmPvZjNWvGhwDFqWXweHIksSxIEgNvjCSUhzZSlYbKYddZTtuLoXiKBzlIHaffURdxucSbOCMictyWQlkkBPhrbigDVoMke", "LYHsuiYFkhFrTFXohaZfrYdzeYsnWIsFuDyuNVmIKpMfrfgyQqObHbyDLcADaimDWCIwdzyFNjoftOLfkjGFOphBSjKkQGEJvSeyvPAMoYAcxZvDcghLEnWNMeaDyRoINXMTvKjVXygAljBlJrZhWJaNZNiqKkunAsgjEWeOAYNLFZDoQXrnDdjnrVIWHooIHtPQvSCuxSzoZAtWsPbEAufwdXIsSzeFhryzIdjsTeSJZgiwFfazPRmbresAPCLJ", "RUUHCQrQWaWUVyqhlheSIyrbRkyeONWVCvClKjCOepmsUKSdfwNdkzCtMrjhDhimcqQnIWaOroVFHiBfTLYXnfqTjUkDpJvtatzLCIXmIJunOhMhAUnVoXkYnERpyLgAOyqWGAsrfepYQaujMbqhzHSYsBuFOhJtNvTiWFClSgtLqDlUrefWkEPvQvxPJiLZAUeIdcJLymrFjdyxCZNTAbiGMPRDGsNHbAHVcyTlbwFwCMMJaFatdmSjjjCHInCD", "hNlRyrwZLbhInZpLXCNRLUrcvovYFBtXzssfknHICDGgaYAnvdgSoDBwUOXtOTpRUFbjpjOGkuxSXVoGAFBRUoyBuFBcKEzQhRayjvVTkfogDOcuhOIEshNFrnsMgGAbRXLWSAPYOPdGEQerpRhUBkEdJIUppntAkJiNYEPvlaHWZDaEeXHoxmFPKuSgewQqHqvNdbwnsUCnnufQvsoEetKsUVEciuAiWFbbuDdFTQeoXBpJLBAFpmRKdHysyTkd", "uWfKUUdCvIjmiCuYzjUqjLTkgHIsnKsSlQSaEqhRjhqlnPvUKKZNrpfszQfYbKFYaVrakiqgcpWUxZuQrozpXBhdUcPobYcdUhDewrRNTUofwJsfExcNppaLDUPQvzieUVCAjYGHSlQyudrYQHMycdjuBRrprNSeRIZcEAQBDXrbQkedCEwMtMFLLDYICOZqAglFEBZyXLUYQQffGcwFDzlQaDEuFCsJOKrGXrCGlWLHlmxAkYkiyopYCePfKmtm", "GmqLHOfXnPXJtXiDVKEYAqdfVCkIMyEtTeQvooPcFsELcJqsztuxXIHOIEPjQnMYqzzFttSzpesZilXHvomBusvuwMKmZQhEnRCYAPuPsQvffanHESFLeNToMTblvVrSIXNuYKptNHSSfwXtpulVRZMurkLBxWVbGJvnbofsiAwSNlzBtzRRQdoPefHfEJeGCEXdHZbqIWyExegiEhiJsUroxFuOAIdWGNUSuszQRpnfnFBESxXfudzihFlvOvwN", "XtRHYZliKFlGdRNbGOceXWWrPRltMFUdWyLFMrAekQJaLigUMScuvNUMrJzGqEeYQgSxwkxzXwLKftMbuttpattBCiYqAOvllKGsuJdxvdOkLJMghzanGQsULWYKGfIOYdqiwbtdhraulloFzjqPhYrWtRmgVzRzbiNYvHWeZHxPYEhtUbHIDNKmMPlIzcqRFNzenUimNxsDhGCsmteCMlSzsZnSxYhOGkITyDDEEeBxZPkPmIGZeDUyHEiSploe", "RrHkeIkwwTOFXkQlcQSaICTulcCFUuflclgniKKwnoVEPDUdLQDGnrwLlcmwdyErjIsYXtXfKiwIEtbMDlsbddQsovgVCKSckxiBBxdCXKbRWGkOZPfdVyFnJvhxEdWriYVpGIRfcfCLZiXlmxJzRXiSjjUpGQJoxJKeUiitukuJPnhtVcjSxMJuiqNoohBUjmmrUkCtcioJOzJvWBbovUbCQcPZqkqTqEypgpojGhffhQzAZtGvaloBgYanUDvz", "LKAJumcPlqQBYaaRuzDVbnqYSPFlQjadOGBsCMJzLfhlbZFuEVSiZwDrWUlHIKdZdAJUKOgNNPrZWColchmwfoOnJxhdMiwLFBvtuJsezMcoiOpdufjDwHBKgWCFgBhRdDmlWoqSEEyBsFrlMbyOTISDROZZiUvLdGnyTENntBjJWpuVWUkmsJwYuvXjsmdPIktEROBvjZeJOFTnvZYgfdBIHZYSaccnhEbEsAUgNXyAzUWeSHMnwOmPdXPCcXjI", "eWHgLCwzQctOsNsAtbVGIAtxhDNRuWmdKFQBbZnxWYCPrCeaCyGEPBhfyODMtlYIkSppaOPymMYYwWfZtCyZrIcjekjZtSQFoQPWXvRTSBcQpeoVmPyFygVxIEQvcOtwthEofLMdXfKBUHYZPbLkOyyOyFSTULefyAXRwNxhiZyyqnnbQofRMSialsRGfLzyXNEVHaWDMGUbbPNuLiTYiCcvloYQdWhlYZNepMFqVqirIIrgxXRMTqCCqkfdlQHd", "ZEnfCZVbpmaqyLlWSlLaWzlfSdCTebnNVvKLgWrASMCpuemEWvcSearBujUJZVEjfvlELoBWYnnshSNoWCptuuGDmLxAIYupOSPRfMHDRBqMzUEGNxxjWFnmRsTPaeIJCsgXwQEzqAwFFVLoONbmGJCkpuWhbveIwUNAtOnKxsDNKuazerYWcGsRQniQXZGfViIKBHiWvthOYEGyHOnkOSlKWCCfyOEEdJMmhzKzKZmSUOrSfhdrSGXBTWYvJhcf", "soHiLscYHaKuNtyuJmNcBOxnuyyoTawdzdMFGCmcNAfSTeBTdWUWzPFEEBEKzKtyrrvXDXxWVBAjlSvNfZwSMdrpnvbkGRcNchSsVrRzznHxVlZHdXwoIyYyzLsuBUxsEGkoabFJVYzsZlncqrOUwLksTotszXKMOOVNQLoKyPOPYdzRajqNLbBEgKzTcCZirEYchfZuPvRphgrgsiyMktVJQNHdpFLvcFkoJvVyfqOtCeLhmFolIscjJXMgfwZd", "DfGAZGDlJlcVZYbwjdhMgWWVsztNuBFhNpTiYpxErSREPoxxXRBJzWguaqioLXClbXYGINDSBZWZedXxHqsmMrJQocHESzeVYpbEunVCzmwXCgcUxAHyLXdUssBVnFfRpqPesoIpcXFniLqxwUwraeSWBlujykaBPzCGrCmrauRkPBFZKYKnqQBPPduqMUJHtfmQBgdBduiAjWvIAzeNTFDkWRyFAZLGBGRzEMXQJVfMSiluHCaWSOUGBySkBhRS", "WUJedyoHRlOHakugnnmyBwbJBGqisufyqbyQGIhgkLQJodqFgxYQhsOBlMwvvGmvpikaKyFspcOGZghgSspBiGbhfBOIydHSFvdZeqFnWEGJIAHVaiaprHMapLfMrbVUvTJOKinsnZhjNvZpOqDyaveabHlNIseIlhbRjynKTkySAAtpYnbHmooCbmzyYBwUAMQHrMqrVMJRrXVnlxWPRcNSLTnpyKXSdpgpfNznlgNyCzrfcTEKWPugdOhXxnRM", "WbeJDQIQecVjoSxtydFqRXkAcIgQxQOaaFTILULYbcwtfOPtAhkcbMRmSuwOFXSidUSeJgQyxEmLeSyQKUPpMJyfrEGCMeBmGgRpvmZIxmUnYyeAXLAKquBGtOLPHvXYBhiZAZFEsVpfnZCGDPirpGPGsUnEIMEtKMzIoGBArnjtCYNAYemNavgWtRIiTSbcfIasAhDPlWLcWKdwpFFxlenhrFjKJzEvVaKiYfLCAFidcTwSXrVKBPeMoTiHMehy", "jVagWEthTSDhbuytmgYiQwohanQAwrEAICyVaJXPQwYzBGDwGKaaPJLVPlEMitzIXtuwbHPHBpGbJmICIRGWBZbTGsYDLTXGfXbTrqBiWMrVBwFfeYUgRPLCeNkaUudCuAEwSftyFJgklEFHbrAUCcqMxSlEthUjXkgBoqOOipUTkNOdEhiubLAYhUpnmvaZiOSmOyUpQKAyttWLfTKzhOZQsstNXowLyNVmFMVMMggdjNrqDuawasVDhnCQzUqv", "tVidQtOqvGVUIGQedpzYQDMCsYyiCbUKjWBSMDTEshgHuJuVWBOiuIinfLeqrHeNBnkCbDflCHzvfriJMOjwJMmAvQNRMzQaEBDuGOrSaRijkPqFhjzunNyqZxEMoEAGXoGtXljilZKUbSdVDGilfaMYpwIXtyYKeMoHpRrgPePUBUATzcxlnuWXaFiTGQwHUpYvfsPsbQqdUSyCZjMhKxvPXFYqrLdVcFYfOswtaLbskvBBPDUUGrKvhSdemEZK"],"c_datetime":"2008-03-04 12:07:17","c_array_int":[1850128637, 147072305, -1117490962, 982228822, -1181122410, -2004386643, 1407809873, 1224526336, 419028092, -435574704, 1388689238, -1687953389, 882148586, 2140964814, -70796987, -272998460, -2049308464, -1489282538, 620448932, 1708197108, -1063453662, -1854367948, -497793109, 1844943402, 1231093476],"c_array_float":[71.433014, 20.286385, 48.15287, 91.99784, 42.73366, 70.32115, 59.343315, 42.02884, 89.23448, 31.309002, 70.22553, 61.33631, 26.105703, 82.03599, 37.169083, 46.367752, 28.15981, 92.29221, 90.09372, 77.87099, 6.8531275, 7.6030965, 91.45275, 60.70227, 97.08129],"c_array_ipv4":["rsMiylDwWp", "MKGJNXnLLU", "mkhhKgrbiA", "IgZOJsDDJV", "aeJjZZoOvi", "eQXCCTsdBn", "GVDTLRBYUm", "rxufWwKNKd", "dZLmLRKHCV", "nGLqwlLklF", "hlseuYuGTa", "xYwomOFPRy", "KzVAvgCypw", "VsEokMaJuB", "OgwhvVaSNg", "vjNnwfYztP", "NkqiunkTXS", "zXMeUzHlgB", "GgsXtXBtti", "vNKfLXuErG", "nMzcTbMcnL", "ZQlZSxcxQi", "WnwtwblCoV", "gmYXJDLPig", "IBZtjwstlO"],"c_map_int":{"c_map_int_1":-1983766036, "c_map_int_2":-358000969, "c_map_int_3":352392447, "c_map_int_4":1551467005, "c_map_int_5":382652061, "c_map_int_6":1272255208, "c_map_int_7":1929854414, "c_map_int_8":1595714054, "c_map_int_9":-1241464438, "c_map_int_10":397738480},"c_map_largeint":{"c_map_largeint_1":-6973083255988397950, "c_map_largeint_2":4179542917203155095, "c_map_largeint_3":-7677959612807866474, "c_map_largeint_4":4100084250764469563, "c_map_largeint_5":5327022854877527732, "c_map_largeint_6":4224390656476167552, "c_map_largeint_7":-8377186902477318265, "c_map_largeint_8":-8724651577168180150, "c_map_largeint_9":7281077087289727551, "c_map_largeint_10":4857726467243849450},"c_map_float":{"c_map_float_1":24.038822, "c_map_float_2":39.64583, "c_map_float_3":2.754979, "c_map_float_4":81.58167, "c_map_float_5":68.400024, "c_map_float_6":83.361694, "c_map_float_7":31.683239, "c_map_float_8":56.05807, "c_map_float_9":49.60828, "c_map_float_10":57.286667},"c_string":"GVDlJWOSNmFAKGbhbAdhlXsTGdJAqSpCSCNwpaEyhJDReKstUFcjbluGnLaQRmpPHRDmlUNkOjRiVOQYTdrketPUzFdtKLQsSVojfjzhZRhjjOAGLhzmseKNaaYhUocgMieWsZCBEGGFoUpNMRZbQFeIJXuBcCRJhUAiKLyKKpSmorXnVWiRGSyUpjYkdvxAHrrdjTVVhZgwYlCecHWZNcAziCrNOqnDbrxJYlPFLkIsZaZMQkhwUHDIZGBsrhpMLoNAnwYZNTHwJkafVBGURLIPTkdzKGzMvZhDuRvwJEFycHIfvPOhNivJhDZuBaoNNaBSYreMEfDyLcyZvRwnhVOQELJnNomNCxXSIhKnmdFIDYDbDfPZQhkmBjkrCOIwSFXygpMNXvKRNYbzJiYDliKeJwAQvZRlgbQXeJyLNzttcxdNnXLliQSPFDSfiLZYnxlYMSgzJNxHShtGKrJskpVPpNDAtlYRRwUjLfAhxRlqEejmsLUmoYqMYYcZybdU","c_date":"2006-10-11","c_array_double":[92.47480947562532, 81.95458149610533, 90.49538539738154, 51.53942993916882, 51.97347265074764, 34.908336735109856, 50.970473552354626, 79.44365695251359, 88.86269044188012, 69.2443836737451, 76.03435998152062, 35.639481327794876, 78.25618019403223, 61.343514044898086, 39.375798213787526, 96.49155388002353, 28.99612548462443, 96.22303995257735, 52.39938459732517, 63.14574153697883, 6.120164437573195, 54.04745837051986, 43.99882086119375, 5.088074266505361, 33.90784187675381],"c_array_ipv6":["qdBnTtJmdN", "BaBmxnZotx", "SPWnkAAhft", "WPyKflsyZc", "VcYkmFPDBD", "CUzWlSsvib", "mRcgdbsBQh", "LsNmyVuTwc", "cqzeEnICOF", "ReTCgHmNHU", "uJFLgxvMYz", "QoPetSRQvb", "BrIMknmiDQ", "mCJFpNYqnX", "OBSHCVMmMK", "NkvaMYEuMa", "wowmUSGLoO", "rfWoPqjGqD", "ngqYDMOEwl", "YKebPAePKu", "rSutKcBXeo", "WfpVsSLdXH", "YfjdXRLsCE", "IWshyoFhDc", "ggPChERqns"],"c_map_string":{"c_map_string_1":"UmctdXjkOOxKFLSlnoLZNSUHMagICQVoXVxtPEgiParXeqEILkqIiIOmWRhXJagqNMicRqxAnKcbRXbHGOSrjydEHJlxhPxlwtGQauRVrKUoGEVlKwzXtFiLhZXwmuZDNPNGUNYWQQDhYRElHQyBnRrEyQGfkIUbjUvwOpjbSKaENSROCChswtZkNcVEFIsgpUMVHZEIwQtFvTkUGdgvbUTGzegyoCilDdLAYpwaTxSzGEfitXwQDFuUNZBeNIGiWmPwQRNyXZYMDxzqRtXjUJJaRSWZkTRpnwamZUsOuFTPQqPKsUAUbACCDnMsOEPBXzvAIuehrDCEjweYQwcvWyjaFGQymPYQjsCdqtLkdgQlFXirggjclCLtsuCZbQWafabrrARprXaAvhfakDpmvbPmtPbfcGogobJplMeaDubryTeTSbcXMsjGQpBoDFhMqSKiHbnHvJUpuaTvQBDEHqcYNmOyYKFYUsjCxgLolDwujLeoaaCtNueLygOHiOsn", "c_map_string_2":"AQdqjpWSftDtiakEQgAZujNiWVOhxDpqsciFmfnwcfYIEsewoaXzAHmkWnbkJZTAaElKPGrsvBmNsEVPMlMoWEFzbPhlDvxRbWYRFUjMdwVBbrpPYigBynLeJKxTnjkwFBchCNcDaTpfFalxeQcvVPTUTqHFqwIrWzDnugzXuLmCTDElUptqJzymWIOTxGRXcAZatXxwlnKgnbfaMAvpLstFmVCOYmltSXObAEXnstxiMpRroytPtXpGkRpajhogWnnGqCBLuBceQUSXRwYeaHOkOgWGdtySbcvknpQshxKasQWWTukrwHKzuaXlNIOCwIDSWeEEnNPLxRHxJcBDpXmTMgVobmnZHVohcSSzwTEoPuymIFkvoSZyVzTnDrwjvxkoeCTPRXjjvXZEAYwprhkEwMACAUsaMzXjlWrXakEBvkpfXnALoVnhlQQzOMWLSefiKCsSveiQanpSJUnvcZMFSSKPKxmHggedCyrCPQAXMsjlnlCfndhtUHMRolYh", "c_map_string_3":"jwJZyLrRZLeZQptlJuIZqWxslSEiMIlrQRciyVzTbgwHqXYyyQQFxZVLOqVBaiMOHXXIQryuxNnHhyYPsDeJfEisiavXOzfUzyDtqBohoJQvpZWhORbpMBOpFdmjVcVIRzgSirtofQCTeUmKMhekLXCzrpxKtHSiVfxWMNRVfcYmaWzvLSHGpdoUvhMwwDHLYlkoCGnVgBMKvvXIysSjqCEULdeshGBDkaGHNCFaASEwAoJSaioRpbXbtfCLaNZOYKIgZfETfntOlrzYWRRcWaJROpmzZHOIrsMKHwqDigtaoMzwjkjrHJQlNidfqURyutOKQKzYygqDqnjKDkgVCTAYWOSodpTvMvHIskxgDUhXSQUJQDTcMsGuomIsNcBtqtCOgvKFvFipDKnNtQBvttNlEFWRDKnwtHLNlTtDfZBRdCdyFynlWqAQlqnryqdSwIJWNCYAOHvvGMtrtFtANHnbQaYvniFoDvSHuhDjYFPgthqpHtPAQtaVSwseaXxm", "c_map_string_4":"yxTwmdpjBdqsSghZFGnRjZBOdVfWCuptGfnjDfAoJuTVvNbWcVZKEBYstdYPVGAgBCwKDevxBeyiabOiWuifwqlNcyJRgsAlInFDNjitjVxcuzZDOajbUDrnFVkDPAZBKByoQCSLhezrFhUXLbvvcwHGWHddScYuYkNcqYzrFkgprnVsSQgbjVLgwkEMZaqxPJyieMEdUnvkgCDaZbnCfGsQsHHDMjeabyiUieCOhYCLFBYMhIfVQMxOPNpsqSwOsHUecVPFqkIbKkNBJtJAjZUJkuVXaVPrtfKCZcmNvwnmmzjJxINaQnqeDJSOezGMNkexYHdumsqKmecHHGxMPRXAEVAIbZkkdwYtnvBwUNpOIdMJwURDiCPeDlXgukQAiVDGPZvwPlqLBRukWGBenGBqZTGHEVgltQEyklYxidiTcoXvyMVuQRekwtmrMgTXagwEnXfhTwZwncfaTWkTGnNpnXhFFAQLJlnxxiEPtvHLOYpRCWSDTTyrtthJGbbM", "c_map_string_5":"oOfhIHgRdxsHnuLvvPpcJhwcxfLsPSDFwKRVXiIGzdMCqhfhsRpSGDVnRbkCKSsTajmzoqFHNsPnJaSgBYFHVbYcxAnraUKkfHicYPKrqDWuATpLqiJaGeLfmtFVTdaCqBHEjFBvMynIXtBFfPIvljtgWyjRVrvlXIawiiMUOQGzpEbrfncoMyDmTgDjrtjEzefaSdMQsEtgwdopqFqcauJcSpYFZCToEzCgjoiiSjIhKGOVXJOmRVvmqsJBhyRPUJrFeHWPePowpKUDthOBrsHUTBdwNxcidLMOqdIGoscZtVEfreGcaWqYhcWyRmsmTEhcufmrWfTieGlnLfrsKNyJZvRpcciBaWrwEHOvcxevSyXFOBGqBTGLznvoRpULmHjjiWGctFLEaTltIQKTJLGiRhVvmaivQtsrfdMCUCKZxXMlxicBfTgdBfZSaXkMvCiLQUDbcyvPFdflBUKJqIhbeHccBiRayRlZHJHvlWDAvaAOotcyMeAAztaGxJcn", "c_map_string_6":"FSMzUPbycXFruynaEyplXcsvUyydsEQJheZwoSpUKTCmDSMZNyODsmYDYUqDfgShwIrPUknYvxaCLwhyczbvEhxCUNTbfOpWenYIekQUsdAdmbSaOtEqXsovfMrAFSRGMsqTaGGhmcANNUBLZfzUesjUUKqQNOnXYZiLHIAtzhxuePVjSIQwrWDmfsmWUJODosYqlJdMWQkIDRJZxsZgchYBkmfxHiCFwdpuzjgLUXwnLhGBHFMlMRcoiABEayNYkVaqwXDRidSFXcjkOBxZwDOvQmogpCcDLKxqiYVUzzKZIAmxxMnjgKfOIjesDIQvXZSdwwCZTstPMzXyQptWjICtFescIfyWvcgVZLpeJhsADwFquoDBCupnlqdglDrPZGRjbjnqbBexreySHGSbeGbYEwRScjKKJKZfLBXNQxLQhkEeSqyXGIaBxYujhoxjElGiJYfHLdFoOTFXoNuILcSuLkkNNSAHOyexlwORmpirgbIoFboldtPwJpQFFXjx", "c_map_string_7":"miOuuwJmNCgccHcQHpBdrPAukeCXYDGlWpvjBsbtYqBGpEEgCHXBrWsGLZTRoBhBlAOGvSAyEyrVNPsPODGjAFFmSAXVqOERpMaSSMLCSjrZaTHeuHDCwejPqKNgNbwJjDQQPnJavwLwivzZbYAxEkybpTmycfpmLRDgzDfAPuATDtrKCyjgSwSDbCkUMBzuByWLjdIpGHQGpcyivRyJjsbbZAyqTFfmhkvKRZyPswViXyZkBwqDFBFoBhihmkqCCTNnPKXhzyleFIMmlKvDKILjifAgkfCLnDVsdeMkHmBHExOiCHiknkxIgYjNRqXPUCwhLxjYNRAGmxuPUqcRReOmxmzJphZbVbfcJJBSklOXbzyzXkxPBLOuqLBpEWKoVLQxHrEloxHFEQIMMxPtwCjfFHHmLBcyaJEtcHOIFJYIbWHSahFYkuDYwQjWYRsZFSFIiFBsOpXKyvDbJuxdolihaTGPXLflpCvjWrRXHcKaRoCFlmhUNKkLtpsQcuVK", "c_map_string_8":"YcCeKwluyybPbBrphsCvEIfwAGMaJzwFFJWumqNaxWEFLsVhYqExtezBTHzPuWwixEacJsecnYFzBMVQBPZrlHUcSpHHUqauUlsnsdmwlFNxLhNFXSmcPbgEqTPllcStkLNfTLxPouPiUbSwgDVsGquQgXkhSiOAzUnvIRNeriZPMHnTRmthkTJMrNjQsKJobheueLdcHHcFjCwJIMGMbmqKPLYZRTHwbVBbIOJFKxIqsFZbtlMjRlzGoGgwSyYgmrkpRPxTKSIkzasGoapteHAIClfWOLPTHccjcYGIYYCuyUwwQBgeXyesDBrQdtkLDblBUTfUiCOTPLgCDDmCTESdzYkhUERmLYoHyJOLjKSjxzIUKmbWcoLsQKsBbuGdiHfVSjiJUmluQKIoenjsOmzxQqYaOmwqoOpMpYRbuWClvUtXjChQgtoJakzIpgjZPsuOCyMUvOszPMlCgXNwujPpkLVTyStXvmbKFndTSjWqIwGUrnBOuNNIHAZukvwP", "c_map_string_9":"zXdEGBtLkTiJcDgoXLGjRZVgnSZXVrxdlICMqdJqmJyqbzZnQUmwwcdIdxMllbisjoFRyWGDtYzEYWnXYgVrUBnrwGTkRijsfZiOOGNnjVRkERxHhrYblbHYsQPVNnQJiUZPNgZpOXvknuuJVJVwvwcRXnqzkwyjdAXPPGrWDaYSXTznPGQXwIFAtkdyfVzlRPivrSXkDnegUqdRjKAzjsgucKpmtvXuQpFORqDmItKqdHwxDSWGLytoTZCguuyNrtGOQUaWDlahzgBiriYsVPsWjhLJveYOwltftKZraKRmtFwkPKlygKBaQiPUdmjcIROhDfzgzTKXqtczbgMjoOkUBAUHhHHCZlXHqpLycFsRuIRkaNKhXIlNKORKEjJLmdrqlPEpeHjZaPOGzuVqFFnCqEbEnmWrSbUtXczXViBOzIkjZubvMTHFWavEIBHYgdgUsKJaBhMjFWNtqFjzGoqGwIzVLhXUanBNcmmLFQPjLflKoYedSZWbGNGXNMSc", "c_map_string_10":"XmQBvFiBtZXpMXzTGthmVRRyzWvHDFsvQykLtWwuViiOkUvNeIPnJrLPutEjnWcxSpJlwwiGJtLzjEZMrPjgAEyBGzqwJQErWjMSCZKOdyKzxOHiWjBwionXifCcXjPuRklRFnNreHofCwNkoxBDMjjyFnhCWbXNlVwLEGnTxHyLPrRXslmNyZmiHlIjxPdmuNZQhPwbdfbgLfCIWSYFgXYqAOFyBiRHGhbPOWQuZGDVezRdpgsUYsxXnkTMsgloxgtPzHSvXtwfyMrBZPwgrxFJGQyOqrrCljxiaOMJEPXBVJsczdIvMeILxRlpOtoiuxGVARMffvpNlPajwTwCHQcUlckCLVEqlQQBOcENiWesnfQdghjEEzwEqSKjTgEaYCOEJZFhtcyeBddUETTwPdVTYvVkZcgVvYXJusIHuqsZwnyjtkZkMUVRDhNZgLMYqtQZSCyEHpBdGFMewetEzDhxMkNruPRaCdgPPCJVibnkFmYSPCIgifiYWgegMzVV"},"c_float":7.20581,"c_ipv6":"300f:4590:c191:cbd5:4200:cf10:8559:73d5","c_array_smallint":[18890, -14274, -15433, -2294, 719, -14039, 23096, -23608, -18243, -23613, 17384, -18156, -31521, -6773, -20328, -9723, 12787, 18041, -3746, -27837, -30205, -15176, -8528, 23382, -23374],"c_map_ipv4":{"c_map_ipv4_1":"146.142.231.121", "c_map_ipv4_2":"0.200.182.197", "c_map_ipv4_3":"211.183.86.184", "c_map_ipv4_4":"113.240.214.60", "c_map_ipv4_5":"176.245.55.49", "c_map_ipv4_6":"221.176.250.146", "c_map_ipv4_7":"51.69.242.128", "c_map_ipv4_8":"146.1.235.130", "c_map_ipv4_9":"152.58.65.41", "c_map_ipv4_10":"161.84.155.67"},"c_map_ipv6":{"c_map_ipv6_1":"52cd:d3db:561b:b4c5:759b:71b8:447:2aa2", "c_map_ipv6_2":"791a:5716:f448:fbe5:1c4:db3c:44c6:eb23", "c_map_ipv6_3":"d212:bc16:1c0b:de4f:842b:42a6:b635:5695", "c_map_ipv6_4":"2e8a:f660:54a:bedf:32ea:29ec:4538:c8fe", "c_map_ipv6_5":"a58b:c092:530d:aaf8:9e97:ee8e:c75b:468c", "c_map_ipv6_6":"a31c:77f9:8fc2:35c7:882d:965d:89b7:1828", "c_map_ipv6_7":"a913:5f8c:c0b6:6577:3570:38c0:8351:f69d", "c_map_ipv6_8":"29f7:8572:c0f:51ab:10f6:938e:5c63:fc70", "c_map_ipv6_9":"e99:fb1d:11db:78e2:f4fc:c33e:64cd:9879", "c_map_ipv6_10":"c49f:7934:c2aa:d39f:c8c5:6385:b326:bae0"},"c_double":38.92855059634862,"c_decimal":80.0344,"c_varchar":"with","c_array_date":["2016-05-27", "2002-10-16", "2012-12-09", "2004-06-14", "2013-07-08", "2006-02-18", "2001-06-25", "2001-05-08", "2013-02-21", "2003-06-03", "2005-05-11", "2003-11-13", "2008-12-09", "2016-07-07", "2009-08-08", "2002-04-17", "2010-03-05", "2001-11-19", "2015-01-21", "2013-02-16", "2017-09-03", "2014-08-27", "2005-10-26", "2010-06-10", "2005-06-16"],"c_map_date":{"c_map_date_1":"2006-06-26", "c_map_date_2":"2014-11-16", "c_map_date_3":"2017-12-02", "c_map_date_4":"2011-08-08", "c_map_date_5":"2004-07-09", "c_map_date_6":"2014-01-09", "c_map_date_7":"2013-04-08", "c_map_date_8":"2017-01-26", "c_map_date_9":"2016-05-06", "c_map_date_10":"2019-08-05"},"c_smallint":4268,"c_array_tinyint":[-77, -25, 4, 97, 27, 127, 12, 99, -117, -23, -22, -112, -66, 19, -94, 23, 3, 68, -12, 80, -96, -58, -62, 4, 77],"c_array_bigint":[7839582660249243618, 240095264876872540, -600310345406230115, 8131944255418444391, -939144051867702976, 2189962618032774933, -1344881480895327341, 6132369334239115247, 698629640525652481, 9157943624399124911, 5787898129534301449, -4320718939619308658, -8190842790292368057, 781743114273816354, 7209525701890346189, -391144664901400252, 1236210419096151348, -5486855979176392040, 4127238292357449914, -1304539636193779865, 339241664484480119, -1129569288684109717, -3876043133931934060, 9075343894320981744, 1744944435018451162],"c_map_tinyint":{"c_map_tinyint_1":-38, "c_map_tinyint_2":-120, "c_map_tinyint_3":-117, "c_map_tinyint_4":-109, "c_map_tinyint_5":-39, "c_map_tinyint_6":57, "c_map_tinyint_7":47, "c_map_tinyint_8":4, "c_map_tinyint_9":71, "c_map_tinyint_10":78},"c_map_double":{"c_map_double_1":78.53475999154792, "c_map_double_2":34.85911650383453, "c_map_double_3":23.37192263601107, "c_map_double_4":81.17242875431675, "c_map_double_5":79.8509565608473, "c_map_double_6":39.68213117002229, "c_map_double_7":90.11944531270058, "c_map_double_8":0.7508577284929568, "c_map_double_9":23.004500549998195, "c_map_double_10":61.579705003852126},"c_map_char":{"c_map_char_1":"IJKJDwdThd", "c_map_char_2":"pdVUKUJSlX", "c_map_char_3":"bChHKDprpp", "c_map_char_4":"MTZnStgnqN", "c_map_char_5":"jefxgSQVxY", "c_map_char_6":"AJMmRkDkjC", "c_map_char_7":"JkoyUhMxLH", "c_map_char_8":"CAxiuqzFww", "c_map_char_9":"swgDEsperO", "c_map_char_10":"dsaXTRuUDs"},"c_boolean":0,"c_largeint":8182847190913245575,"c_ipv4":"121.220.80.123","c_json":{"adjectiveindefinite":"anyone"} }'),(8,null,true,127,-128,-103,98,-9473,-3358,-20856,9421,32679,-1352776413,2147483647,-1774973290,147483648,3,-3704495880366405252,7,null,147483648,94.398445,40.123,92.27375040695367,40.123,6.1882,40.123,40.123,100.02,100.02,null,100.02,40.123,300.343,100.02,300.343,32.0116,100.02,64.0258,73.1244,2.0813,100.02,42.1989,40.123,76.1701,40.123,null,72.1151,47.1485,300.343,89.0208,100.02,42.1510,{false:null, true:true, null:true},{true:null, null:true, false:false},{-50:-8, 8:0, 127:127, -97:0, 0:-51, -128:1, 115:9},{127:9, 15:2, 102:127, -56:37, 1:null, -62:-55, -37:21, null:-128, -6:0},{null:27661, 245:-2120, -8914:0, -32768:-31696, 21129:8076, -7177:-32768, 123:11196, 22622:5324, 29024:245},{0:0, 245:13829, -23884:25852, -20467:-829, -29310:-13429, 30330:3386, -1471:null, 13439:-15196, 16276:2894},{-168251920:-1674579980, 0:580178398, 2147483647:32679, null:527722517, 854082111:-1600546030, -2147483648:147483648, -1727382764:-895048875, 1241455783:-1050425313},{-110553643:-2147483648, 2147483647:null, 164244701:null, -1359094128:-2147483648, -852404027:954270877, 0:0, -77900186:-185167449, 147483648:-1604152302},{300.343:2, 1:8755, 32679:20240803, 245:20240803, 147483648:1},{2:1, 20240803:5843024, 245:300.343, 300.343:300.343, -6193686:20240803, 32679:20240803, 147483648:8},{null:-176636220022953536, 0:0, 9223372036854775807:null, 7356315443215450361:1049975480, 3150633167684647136:245, 183742862:7784159, -6741569623181537364:-6900717310855310015, 245:1},{245:939141, -1469756:9223372036854775807, 32679:147483648, 9223372036854775807:0, 0:32679, 5360945634500390714:2766964288863783245, 147483648:245, 1:0},{76.76265:15.247835, 300.343:93.28316, 31.765388:80.30337, 15.635804:35.57465, 50.828873:null, null:65.60986, 40.123:67.655304},{300.343:null, 24.994051:300.343, 17.739632:34.994865, 2.1426795:97.322945, 17.393856:100.02, 34.18225:100.02, 89.717026:0.67585254},{69.07421011423072:100.02, 300.343:45.07538464155158, 57.89823294412114:40.123, 8.060117561552742:300.343, 52.5850441650239:null, 89.18176830108756:90.16392076866796, 45.48572249735148:40.123, 87.03722089219771:null, 100.02:92.86504031304938, 98.66536889837256:75.44705644867093},{5.883299648543051:76.53275191360052, 40.123:22.750238838053928, 41.89518132047422:300.343, 19.84013394080113:40.123, 93.8978764825176:null, 300.343:40.123, 100.02:300.343, 78.33270164213359:69.58320228762707, 59.16662889198217:34.616906350452496, 66.00605448023857:100.96452416327571},{76.1222:'w', 95.0657:"300.343", 38.1872:'you', 57.1847:"9999-12-31 23:59:59", 100.02:'up', 40.123:"300.343", null:"20240803"},{null:'all', 100.02:'it''s', 18.1651:"20240803", 40.123:"2024-08-03 13:08:30", 60.1069:"300.343", 300.343:'from', 45.1790:"2024-07-01", 63.1124:"9999-12-31 23:59:59"},{null:null, 40.123:"20240803", 29.0607:"2024-08-03 13:08:30", 100.02:'b', 72.0812:"2024-08-03 13:08:30", 21.1248:'v', 39.0704:'okay', 17.1845:'j'},{40.123:"9999-12-31 23:59:59", 59.0070:"1", null:"9999-12-31 23:59:59", 300.343:'d', 51.0530:"300.343", 50.0991:"2024-07-01", 41.1236:"9999-12-31 23:59:59"},{null:"300.343", 100.02:'who', 18.0801:'I''ll', 40.123:'him', 54.0261:"300.343", 300.343:'l', 75.0226:'he''s'},{38.0776:'going', 100.02:"300.343", 39.0674:"2024-08-03 13:08:30", 7.1634:'about', null:'out', 1.0058:"300.343"},{87.0769:"300.343", 77.0859:null, 98.1036:"2024-08-03 13:08:30", 57.0128:"2024-07-01", 80.1719:"300.343", 15.0180:"300.343", 300.343:'t', 34.0553:'yeah', 58.0045:"2024-07-01"},{40.123:'q', 300.343:'o', 96.0907:"2024-07-01", null:null, 65.0576:"1", 52.0818:'z'},{57.0326:"300.343", 300.343:"9999-12-31 23:59:59", 14.0014:null, 40.123:"2024-08-03 13:08:30", 65.0983:"300.343", null:'i', 92.1206:'what', 53.1264:'why'},{null:"2024-08-03 13:08:30", 76.1693:'really', 100.02:"1", 40.123:null, 38.1627:"2024-08-03 13:08:30"},{null:"20240803", 300.343:'l', 69.1536:'l', 40.123:'o', 83.0480:"1", 4.0474:null, 100.02:null},{50.1853:'see', 100.02:"300.343", 2.1870:"1", 40.123:'u', 37.0959:'about', null:"2024-08-03 13:08:30", 300.343:'b'},{5.1451:'were', 300.343:'I''m', null:'come', 19.1619:'u', 100.02:"2024-07-01", 75.1539:"2024-08-03 13:08:30", 53.0906:"2024-07-01", 40.123:"2024-08-03 13:08:30"},{57.1454:'some', null:"300.343", 77.1816:"20240803", 61.1354:"0", 100.02:'good', 40.0126:"2024-08-03 13:08:30", 40.123:"300.343", 48.0397:'s', 300.343:"2024-08-03 13:08:30"},{'no':null, "2024-08-03 13:08:30":null, "1":true, "9999-12-31 23:59:59":true, 'e':false, 'r':null, 'right':null, 'do':true, 'h':false, 'so':false},{'that''s':true, 'm':null, 's':null, 'one':true, "1":true, "9999-12-31 23:59:59":null, "300.343":null},{"300.343":-128, "2024-07-01":0, "1":-128, "2024-08-03 13:08:30":127, 'g':null, 'b':-124, 'hey':-128},{'e':0, null:-128, 'r':1, "2024-08-03 13:08:30":127, 'p':null, "9999-12-31 23:59:59":65, 'x':79, "300.343":1},{'him':-929, "2024-07-01":-32768, 'a':-6701, "9999-12-31 23:59:59":22802, "0":245, 'u':null, 'z':-32768, 'it''s':0, 'one':25961},{"20240803":-29725, "2024-08-03 13:08:30":-28745, "1":-32768, "300.343":null, 'q':29652, "9999-12-31 23:59:59":-27468, 'back':-14668},{'y':-1754595740, "0":-1400786922, "9999-12-31 23:59:59":147483648, "2024-07-01":1285049678, 'l':0, 'v':32679, "1":0, 'i':-1689806695, 'in':-962102292},{'e':-1817740922, "9999-12-31 23:59:59":null, 'it''s':1181468012, "2024-08-03 13:08:30":-1356937909, "300.343":2039216284, 'r':0, 'that':1616352633, "20240803":147483648, "2024-07-01":null},{"9999-12-31 23:59:59":300.343, "20240803":2047461219798357052, 'h':30910, "2024-07-01":1, "300.343":300.343, 'because':32679, "0":20240803, 'ok':300.343},{'good':1, 'e':1, 'a':1, "300.343":null, 'b':245, 'how':6186147448949451540, "2024-07-01":26734, 'know':32679, "1":147483648, 'are':7},{"2024-08-03 13:08:30":245, 'was':225463, "20240803":-3961692, "2024-07-01":32679, 'know':-5085945487166963943, 'he''s':147483648, 'g':1448843989, 'y':717983514909992093, 'h':32679},{"2024-08-03 13:08:30":32679, "300.343":-7869554255875539682, 'something':147483648, "20240803":619603, 'n':32679, "2024-07-01":-9223372036854775808, "1":5805124, 'p':-5675034844231383288},{"2024-07-01":14.249011, "20240803":53.111935, "1":300.343, 'e':null, null:89.29116, 'x':40.123, 'yes':40.123, 'it''s':100.02, 's':100.02, 300.343:null},{'going':2.0193558, 300.343:60.7662, 'h':100.02, "1":33.735588, "2024-07-01":3.171508, 'didn''t':300.343, "20240803":87.71032, "2024-08-03 13:08:30":40.123},{"2024-07-01":null, null:40.123, 'at':14.98811676492923, "0":300.343, 'don''t':300.343, 'really':100.02, 'oh':94.78750107971481, 'd':72.64861855568421, 'r':92.36756735296689, "2024-08-03 13:08:30":null},{"9999-12-31 23:59:59":94.62352540191517, 'r':100.02, null:58.47734061134846, 'the':79.02005859144863, 'h':null, 'l':22.084641567940523, 'say':55.88966410973087, "2024-08-03 13:08:30":37.91973646077354, 'is':30.009379502787908},{null:94.1057, "1":100.02, "20240803":300.343, 'h':13.0786, "9999-12-31 23:59:59":4.0206, "2024-07-01":68.1526},{'up':88.0374, "1":90.0585, "20240803":0.0938, "9999-12-31 23:59:59":100.02, "2024-08-03 13:08:30":65.1810, "0":47.0166, 'say':35.1272},{"9999-12-31 23:59:59":76.0051, "300.343":300.343, "0":21.0732, 'v':null, "1":300.343, 'they':39.0553, 'h':40.123, 'd':null, 'c':null},{'time':300.343, "2024-07-01":72.0822, 's':88.0540, "300.343":100.02, 'k':49.0453, 'p':null, "9999-12-31 23:59:59":25.1427, 'we':40.123, null:null, 'there':6.1875},{"9999-12-31":null, null:true, '2007-08-12 18:04:19':false, '2015-01-16':false, '2004-12-20':true, '2015-01-03':false, '2016-06-28':false, '2019-09-16':false, "2024-08-03 13:08:30":false},{'2008-06-26':true, "2023-01-15 08:32:59":true, '2017-06-26':false, "2024-07-01":true, '2012-01-22':false, "2024-06-30 12:01:02":null, "2014-08-12":null, '2003-06-04 16:50:01':false, null:null},{"2024-08-03 13:08:30":92, "2014-08-12":0, '2008-10-12 08:14:50':25, "2024-07-01":1, "2023-01-15 08:32:59":null, "2024-06-30 12:01:02":-36, "9999-12-31":null},{"2024-07-01":8, "2023-01-15 08:32:59":-8, '2013-11-21':0, "9999-12-31 23:59:59":-128, '2005-01-23 02:14:55':83, "9999-12-31":1, "2024-08-03 13:08:30":-39, '2016-09-04 22:15:42':-128, null:null},{'2015-12-09 00:10:45':245, "2024-08-03 13:08:30":-24795, '2009-06-15':25788, '2009-03-12':7101, "9999-12-31 23:59:59":245, '2010-06-15':2638, '2013-07-04 12:58:46':9201, "2014-08-12":0},{null:245, '2017-11-03 05:47:54':18599, "9999-12-31 23:59:59":3453, '2008-02-06':-14833, "2024-06-30 12:01:02":null, '2015-01-01':19184, "2023-01-15 08:32:59":0, '2003-01-20':-32768, "2024-07-01":-29047},{'2016-04-10 02:29:11':1801302572, '2007-06-18':-2147483648, '2000-08-27':32679, "2023-01-15 08:32:59":32679, '2012-12-28':32679, '2001-10-14 16:04:24':1504306534, '2012-05-16 16:48:22':1165072658, "9999-12-31":147483648, null:-584303026},{"2024-06-30 12:01:02":147483648, "2023-01-15 08:32:59":-1034633874, '2017-08-28 05:50:29':0, "2014-08-12":1238072392, '2002-05-22 02:00:45':1046624655, "2024-08-03 13:08:30":2147483647, "9999-12-31":0, '2010-07-01':-1948485446},{null:-4244979327068642776, "2024-06-30 12:01:02":null, '2012-06-10 16:51:54':245, '2017-02-17':null, '2003-05-04':20240803, "2024-07-01":-487289, '2009-06-13':32679, '2013-02-25 01:48:49':-2915219, "2024-08-03 13:08:30":6},{"9999-12-31":32679, "2024-07-01":20240803, null:245, "2024-08-03 13:08:30":-3621084, '2013-11-26':-1350756754566827478, "2014-08-12":-7582, "2023-01-15 08:32:59":32679},{"2024-06-30 12:01:02":3524333925166925144, "9999-12-31 23:59:59":-9223372036854775808, '2018-11-23':-1798896903, "2014-08-12":-2454902974223602913, '2002-08-16 00:12:05':32679, '2017-05-13':245},{"2023-01-15 08:32:59":1, '2016-09-22':147483648, "9999-12-31":245, "2024-07-01":1, '2003-07-18':1, '2015-04-05':245, "9999-12-31 23:59:59":32679, "2024-08-03 13:08:30":null},{null:45.141655, '2005-07-17':0.4989203, '2000-03-06 16:23:17':57.3042, "2024-06-30 12:01:02":40.123, '2006-04-09':68.031654, '2005-06-15 22:02:49':100.02, '2000-07-14':60.411766, '2006-09-02':20.667446},{'2002-05-13 13:30:28':86.392105, "2024-07-01":100.02, "9999-12-31 23:59:59":92.97354, '2008-06-18 02:34:58':null, null:100.02, "2024-06-30 12:01:02":22.54087, "2024-08-03 13:08:30":100.02, '2001-11-27 20:19:56':79.86279},{'2015-07-01 05:38:19':100.02, "2024-08-03 13:08:30":31.266406925277863, '2018-03-02':75.53392994395793, "2024-07-01":38.1246804986903, '2017-06-24':40.123, "9999-12-31":100.02, "2014-08-12":93.9052654036412, null:67.9436294688921},{"2024-08-03 13:08:30":88.78871554028898, "2023-01-15 08:32:59":51.17410681798295, "2024-07-01":100.02, "9999-12-31 23:59:59":100.02, '2009-03-13 08:17:48':53.813707081946546, '2008-03-09 17:27:27':37.216345854945764, "2014-08-12":null, '2006-02-09 07:09:38':null},{'2001-08-03 23:48:29':null, '2007-10-02':300.343, '2017-12-08 09:42:56':100.02, '2014-06-02 11:01:08':18.1534, "9999-12-31":40.123, '2018-07-10':17.0097, "2024-07-01":66.1384, null:76.0437, "2023-01-15 08:32:59":66.1345, "9999-12-31 23:59:59":null},{"2014-08-12":25.0143, '2000-11-13':44.0797, '2008-10-20':40.123, null:41.0289, '2015-08-13':100.02, '2018-11-28 02:52:50':100.02, "2024-07-01":null, "2024-06-30 12:01:02":300.343, "9999-12-31 23:59:59":100.02},{"9999-12-31":0.0359, "9999-12-31 23:59:59":15.0618, "2024-07-01":null, "2014-08-12":42.0243, null:36.1939, '2017-07-12 20:50:18':88.1268},{'2005-05-17 01:51:00':23.0633, null:100.02, "2024-06-30 12:01:02":3.0526, "2014-08-12":null, "9999-12-31":null, "2024-07-01":null},{"2024-07-01":40.123, "2023-01-15 08:32:59":94.1940, "9999-12-31":37.0059, '2017-04-10':24.1843, null:38.0442, '2017-04-03':98.1319, '2015-01-05 17:23:55':100.02, '2003-10-27':null},{"9999-12-31":35.0333, '2015-05-09':null, "9999-12-31 23:59:59":300.343, "2024-07-01":28.0804, "2014-08-12":40.123, '2008-10-26 19:12:32':42.0586, '2003-04-28 11:41:34':62.0141},{'2016-02-22':100.02, "2024-08-03 13:08:30":38.1861, '2017-02-17':70.1558, "9999-12-31 23:59:59":100.02, null:40.123, "2024-07-01":null, "2024-06-30 12:01:02":null, '2017-06-05 01:47:03':40.123, '2017-08-01':300.343},{'2000-01-22 15:48:25':45.0555, '2011-01-14 04:53:29':47.0112, "2024-06-30 12:01:02":54.1333, "2014-08-12":100.1800, "2023-01-15 08:32:59":300.343, '2011-07-02':87.1306, "9999-12-31":40.123, '2007-06-09 08:12:36':95.0058, '2011-07-21 11:20:39':20.0360},struct( false,0,-4971,1559493971,null,1837429986169871747,8.7049,null,51.0319,40.123,82.0118,100.1885,40.123,300.343,300.343 ),struct( false,1,null,300316815,-1781,-9223372036854775808,11.55541,40.123,75.0887,40.123,100.02,100.02,39.0520,63.0999,40.123 ),struct( true,5,9704,32679,0,-9223372036854775808,null,40.123,74.0004,60.1375,100.02,87.0315,72.0149,40.123,39.1215 ),struct( false,null,24256,1169879832,1331742666338913248,1,61.825245,90.56446354460243,40.123,28.1811,5.1084,83.1799,40.123,40.123,23.1069 ),struct( true,127,-19511,-2097764352,1470158044116391441,4025175898427337016,300.343,100.02,40.123,66.0272,100.02,45.1168,100.02,40.123,64.0696 ),struct( false,0,-8554,2147483647,147483648,9223372036854775807,9.467986,72.15041997795063,40.123,300.343,null,76.0484,92.0681,40.123,73.0642 ),'{ "c_datetime":"2005-01-16 12:37:10","c_ipv6":"5071:7a17:5682:ff20:35c3:14eb:1dc2:7d60","c_array_tinyint":[-118, 121, 104, -71, -11, -36, 11, 60, -1, -14, -118, -62, 80, -97, -80, 66, 117, 5, 32, 55, 108, 56, -62, -43, -63],"c_array_decimal":[56.0895, 36.1411, 86.1242, 28.1665, 26.1728, 88.1767, 95.0675, 33.0574, 61.0930, 92.1457, 63.1883, 93.0145, 46.1620, 39.0018, 38.0199, 3.0271, 35.0095, 1.1430, 48.0088, 10.1289, 97.1762, 76.1468, 95.0292, 13.1062, 93.1796],"c_array_float":[26.595879, 64.851326, 43.942127, 11.003241, 5.55179, 36.621033, 47.42337, 21.67918, 4.6027536, 53.965626, 93.04285, 43.35913, 49.17836, 92.85636, 16.862705, 39.55732, 41.40171, 0.38362053, 44.79111, 7.8409324, 27.39301, 29.487495, 21.605148, 36.135452, 13.203122],"c_array_double":[84.08466389635267, 9.04505217757147, 72.45414052850327, 22.063799195512637, 93.35286983048641, 89.97777181514454, 99.44699536337887, 87.78852938749479, 12.39838196564951, 19.728295651662933, 100.56799031014535, 97.42107255147862, 15.694081963202697, 3.620675350442178, 12.376221701245171, 37.78540542036601, 0.5714636398320041, 1.684075365206143, 97.2251241218939, 51.5030819322475, 45.514308769071114, 81.36947075589936, 52.159847242578415, 20.313528827918375, 13.37070085434846],"c_array_date":["2014-05-24", "2001-06-14", "2014-05-01", "2011-08-28", "2007-07-02", "2019-12-04", "2002-06-22", "2005-08-18", "2014-12-25", "2013-02-25", "2001-10-03", "2015-08-10", "2017-12-19", "2014-01-16", "2007-07-13", "2017-03-24", "2011-10-11", "2018-03-04", "2001-03-19", "2012-03-25", "2011-03-24", "2013-11-15", "2008-06-22", "2004-06-27", "2014-04-12"],"c_map_decimal":{"c_map_decimal_1":96.0440, "c_map_decimal_2":82.1911, "c_map_decimal_3":52.1689, "c_map_decimal_4":83.0733, "c_map_decimal_5":71.0696, "c_map_decimal_6":76.1719, "c_map_decimal_7":7.0484, "c_map_decimal_8":64.0126, "c_map_decimal_9":98.1969, "c_map_decimal_10":46.0494},"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_int":{"c_map_int_1":1964747319, "c_map_int_2":1168208023, "c_map_int_3":1364819494, "c_map_int_4":311679847, "c_map_int_5":-685351379, "c_map_int_6":-2125920222, "c_map_int_7":-342133783, "c_map_int_8":-1019998152, "c_map_int_9":669345126, "c_map_int_10":2029126511},"c_largeint":-7244050655133869487,"c_date":"2003-05-06","c_array_bigint":[-1582668259922469769, 6024111328950737277, -127832892905280258, -2375385775714833826, -594747883420215783, 1129791012423059737, -8578884384269638210, 8702231318529303757, 5614577097045460128, 2866046001015271653, -5971750901509737179, -1673419363139100931, -7199347451004468338, 1015413188776144588, 765344457963297459, 1526575287475972850, 7537937937959779198, -1384433861191275872, -1122511749250503157, 8336085168256444931, 7090693063245354446, 5896105546660843904, -4479815392996152302, -6611552746322207606, 3297201818636560018],"c_array_char":["KtuIYBZLTh", "eFjHsCqllp", "bbYbEOwzmv", "pjiOgMUFuq", "yEKxxbBrMO", "QzWjWVFwtQ", "KaVkERnMlm", "uhXeeWaqRo", "dZnNKzMnAP", "KTwwKHffWg", "dlDyGjELrV", "rfnuJURqMY", "IIaBDlogqk", "hOxIuuiFqa", "LOususNWFI", "gyMakCeSga", "OoBffwNBji", "yemCTRvgHC", "sjknWaHPQQ", "CDfgugTNFf", "NVdcxctnHZ", "NdlWodRvWA", "THThAWWAmt", "LxvarEYVsl", "CvNGMcyZgl"],"c_array_varchar":["vjaTwkGNIjvFGAUTeDggTJzikFNjxAKwmqxBlWISUbfzFHYpHDwJEkONJgyKJPwNhGaHqDLpwtPkMYmyxXKTYDGxGvIWoAHePkqnAPixkBgbVKUeAwjZMtpttWGCVafUwbeyiLUFNXwjkZskrGGHAiNtCFcCeHSjlKtDtkPHJjYlTsklHdoJVgVxLsgEqNaJSzuJmexiwyXNtGbkOItePjCKqeEaDewYDHfHVXIAijWTnTxlJaSqXnTCPMurmLve", "HhIIXOTxIIYfhhedbhISCUzYOrwIYZBGAKFwvPHQhNSIyQCsbyZUkBeejPdRGMTVYBHKCfYrxyBRhNETyOpOlaEyGifEQgMRVjDxkalcaMMGscecHvvqWYtQyShFgXvldbHAUrOldEzsYnCoWWcSXIvvpbhEZQmzBykyXgNjVyUlzRaLuYFXcuiaZpkPjveMKSWIqwjHuFzuJbcqJslHZEKKYUXxPrWlbACIqPyEUcJDLWoJROlsXjOgWthDRSdb", "hLRfvENiIzYvKsSisgtcOAjuHZOiWBRGhZksIzZQsnsNulQazdKrwQvaxgIKarWkxGUiwPsspfkKmTFdUsOSWwrkrFdAwldxJxrZicjKRVWgZFzLyAjXncFPHVfQOtaBuajrcnastdrqeBNSzXrXnyYLqwAZShrxojklonOjDryNUoAKjQbnPQcFEFXstFUWvYjzIoIBIkYQeJSAacKnLlEoGBrbDlwYTRoQpzrMXUxQoOZlyfSnjWxnyXEAnlQJ", "LbkQzrPUWWPrxnUSvdbmRWaZNNeQWfmZiQqHgsghkBnqCMBfomGbnMSTkWffPvTBPBVhKfkuuFaPnkxeRVrFbKuobOSbeKzepSBbtQACSAXnKedSbTEtBqpXMyFzawPTOdVAIgsdRSeuuFqCtplNbCQNHbGrHQKLfNWQQHxELFdoysrXpSXNJJbjtZAVBkJCBnGQUnizBemhiOjnWJOYEoedADLKzZKtdZtLcylaprsVCEdZGCACvemATpTtorgr", "cJpfwmfefwLDHeCyYJhCBlriozoOHYbSxIKAtAygixUMgvvADbZMsJDOqNhPGXAUPrAjnsylFWucUDOmAcGKKojwSknwuceQgvTdSCJdTUZOvBneWeVmqQmVbFbQjNedByTJJlCSaDBUtzoQGVcQfUCwarhFgQGNvETikiAMlLQZDYKaLUhuvYPMtkJJueJKhqwGQYukUjQmHtOmCfVXkDMNXpdvKZmxoOwpGUCkZVMwUdpwVuWVLAnBayumpakg", "qyuXvZZYHYhvDtrWeHWOSvPipxPAfmqKXtcNisSsBClWHqgNJYPupBDTumVIAqVhxHfhJZRvAIDuZduKEoMHCboARSxIhWapfUlHDnXrJWWYzNlGJQVQukCetjhLdKkbNxUqbwzOqvZycoznwZtqYFoqKzlCOSSkIIZpStFHvJmhIiRbtLsixhRMTEiRohGsVMIYykjxPpdMPaaIJHhBbtgcSugEtefoAJwwYQGtwpCOuBKDFjsCtuOQElDLLWKd", "InWPaMAoqOZnqySnYVAguHNGGdZhxAGYrfpNMKccQCtKHKjzzYmtZbIBwgDMjyhRSFpUodmeDxfLmVvOoNsOZsqmDcKiUzWLXMRLkzimrwhBSpxcrQvpRqDxtmBWMoyfTbxmRqcvhQfMmxpHCrgTewCxqoYtXqNmKBfgNLkBscGMToMmNhaZGjeQRrhnEhaqkSlVPVTetJAbPquuOVhaJpYOftdSQzrhJoZFGZcTVDrdgUIVHgxcKxhTOQPHOoGG", "oOeEhDUPJzdKRrBXSwxOEsGPzvbJoQxeqqZhJwoXCoYyGhWTdnLclNpoIzqNwfBhEikNXHkIACHsuTTdeRJEicvANRwUGXglECQkdhIkEVGYqynvWkjWAVVRiBdqVHzGJTmhgmMtRPJAjDjYMJBdEuhIICCKiVNuojQoudKJvuHFGSIccfPuOqeUSgfISEjEAiqHjXoYuRHonJSiTmdehfhqDKoBDfUJWmTRnIZMlDPwoPjdhcuNOHoXHdgocwVT", "FtADSrNiCOZlzvHQFEfBqleivvgwzIYOHhdDTWMXocxDBzZaSepAjkGyTMdDbAxoRMapkgfOUXOgziCSRvbcvRxdfLkKnkrjTyaXNlPtLGmgQzPpHXUhuOVdsmfbYwQMdrSuaOsMWuELmDvBpwdSEoZgNxYYmxmAGBeyywFsMoRuQrUnYGfsKslpmiMfaDUMtircnEReAVBzJPNduZkeCRdOuQdwcvDaZbSSWQzFrEnDTaPyhDrJcbhXCQTLsnNI", "TdLtNDxQdZvwVanvFiTDDakAlcXrTILDlAxOeSAJFijujkgtjRGnuLuImWVchArSOLJMcwZfcdnGePJpLUTKXYpHgieiyjiRlENvnalGptMQWmFSgQPGSWhEvetYSenMFoWSlpDIxPBIIKpGvYSNPjLlUjHpmDYpwZEQeJhvpejeSOlgCRRtMqzPwUdTqgKePpzxJxvYCUjchNDQrRzMauirmWyBYLmbXdaikZXuguxEUhMgRiSPQUeXdZhhzgCu", "yKbjLmKBESujvPUuBlVvzLdumGoMvYPOZgAUOAyOfxyOFeNVPNtsJUzaCSAcybrkMdbhHNgkhwJwgsYKKKUsQtCmvSghaFcBKjMvQDfUWWSznDVWpJeYSrybxCFVdxtkSCdPnzRuaAgISvsInTggLqdoFxPawtxBJCRJxNtYAjNCjTlKTgDzgqLqvHhBDEtTWpGsqbkRTvCpncoWPNeYGcQqWBEABpFXcyHFQXfNiLVtmwOyhoqnyltmOWBQSvLr", "suZcqsjpnhBmsFRmZlPXnawVYBRjpfnLUHJNHyqzgVnUPlplAtVIHUWflOFPNdhzKexDTDCTVQSjhfQBihvbihEXPohFpXROTKcItKcYptpDndcDrbhxUwKqmzLKUDyTAhsSpHqbfkvMSoMROqVtnVZSFLMESKRsQdwcujmlqYMlFsVPmLwfIhkRpYHnwmLaaAJTZyClNtpvAeEjPEoCfcglmzLypSuPqAosEqruZcvfCnhEBDsHCWmqtYbwQref", "WBeZKfoWKwymEsRdaFfioKyueWmZQdvnMFhTJthuSPlffhDVXwlihYEVkuBViysPEMzzlYiRZmnKTYFjggDBTJggzPJZCVDgwrGqvVvnpemajkpghFZnzxoDhSpMGgSxHpqeimqvgBaDCKJqmiZIeQOrNAlbPtCNfoCXPkUYaRlNbPAkfcVnbfrseOwozvMRJQBtmzobqTumJhoIUuXQTmjzonTeFYRjVozsnMWZJiDgBYLFxCOjjHFqfuEfFfAf", "xcEuHXkGfqWDSUMrifDLdjhpTTEzNLHGWWgmxGwjmjzkgwFDiGTPFNmzKWWpWWKdwgDZJgimMinrUShrqKTMXsxCFwOdfYnDQLWxoFCrFBOzjHzPSqnzDDWIbKGXnfambUGHICFsIDtLLPYgKcfQVqaDawIzgdUosfLxVZCSBktgSOsinkbWXUjBeFkbYGiJscIEcEBVoaZImPuuFFSLmIFzOAbGLBOSxeOVxYTSRCCYzNYOjkTyrffZOHyeRxII", "KBwYtmavFaqllivJQYTguLbSlLbLVMHULENpGCHxAuabNfkhLKtGraBFZIhJCFnYvWjWBTviLxFguyskPIHjSFvmDNvqromzgArUdaiWOzBazXkwYrdGhycrMflWayGVCGTyBQloymgCLNevjZNibvmwYVIKCoqsxPuLXyZNJuHrQRtzJLgXFRcdXXmAfVYCGXjSlgbfABgMGVnQCWoknZBqUZNsVsxOpgaCPbJLdfUPHsodxrozNtnNyblKkEOB", "KunXtpyyjtSotMfqYLNryXrUSvjuCerBdylNNEJcojJVwArPATUTxYvnFLpeMBqySxfDzkzyLWPaFxXkXKNPSBRuVDzCAlIdKpGDUMwNcWBQgEdCOYpvXzlhOwhKmJTjKwJrdKvIXhkszCszzHyXkfwDAUitiBJfgRPrdeUYfpKXxXdSAaxrOcctjeuNSRsAHZQSyYurKNaONmiwJJVAbnBocUoKGHvtwnmIjipxjPLvzuIdnGfaHmsfslstiEDx", "NYXqcuGLwWftvPgWpcDKQIgRqjIOMegKdACjFPshkiPIgABktfrtcszBZqvfaZsRToueVcWdbdrPlobRqDhxQFIlcEfCDqpwexwPwkIqGuLgdyynIpYoowIaiZUAyVCjccAFhMlkSZqZgCnfjjRDJGKtZgoEMBkBsIOJPIrdPUbEULZiSnGGRMmOtRijKaJGgFiFezcOdCFHwKBpCfrgyCpRupGAoqICHcMlCzJAVgUrRPHdPzcRLQkGYWXZsQVu", "bvZEcBkTBIhBpfmBZvSvIfICqfYLfXcEeXGeyiCnWqsSwAWisnFnVBaHlnHSEdhqANEvCzEUvzWImwqKhivQIbMQGfmAPaBFrffEBPAJqkTWbqBRwmLpBWYouDFjvQVuAWnDJwCaujfhPMlrfNlknndUeuTJUEoXolwEChLUTjuUjTuPwqercXqdZTlgcSBqRdiYOdipNnhBCwtfOuIbLvbtfKfNpjdQpnJBaumPBSgbcCymXIEAxAsuXHkxBjLy", "ZijIeYeFAwCrucEYSEjpjgrIBcaFXpNPLnIGztAEGrMSZzJgnBTQYsVXTEaIjvFjQMcAEcXRUcuGCInszICmrvmySfmphCnoCLlijntDtlHnynwyviLedqwfogTjpqMBLfUbGiKYhZaEhKvowNKwHHMlAIFWfyxcgFvfZzNDnzfmeULwtzdFSvEfqhAnQgcrahFsZWdCUQhrvNTagQnfeYjDdzNCGdXGdaHqKdAHEZUvPqQUQAJyJmxiwVudMkis", "rFAyZpNoUyCmegcdKtIHJvHuqUJikDJgutSTwDnNkKtjUcweTuoYIiYZmbTIJwVqLOFLvLZahazYpkDVhobkcLECpAhcdZwlfwtOPqdRbUxlZNZGNoizSbHJwttIujGpffSszDYhhRvEPKSbXSLdvIPZmkwrklVlOWxzUflHozPgNMeGnwWerFjNXtrsWcIdTqAOrcVylbTohEKlNTOUTINaZDmDZYMOKNYleHsiznpURkUGiVaLGEIossKaJMlC", "mewxkqvtdUsZtWKEeNlzNCsriUKgOYZrDIsPplkiXfbDGqhtMPNAojOdjYmJNwNLMTqbivuIxPXTZPNSDnnEXaXLXzStdgtYHXRhDDxZDNLKHXnUNmonyBZWlSZaFQgxIhWPbMnruryGijwYMZYYsGXljxJFugPxlMMXHDvPXTKQQQDWrUInBJNsWTEAvBcQwtoIUeGIhEeyvaukzePEouKnBoCQAGSSFCpCyrlvBxrJfiyeLZbsdlyYzaSXoluX", "YsrwYkNPydRJZifpLhjsqnibxBgjdRcOunWzJFiPFCArerDUeznkBNsfLULBvzSNKUceFUdxzhdFbDSOHksHWSRReTSsyPdhtdxgbNsuPGJtPtCKDTVLVqdvPzRICSxhiKCPWJmSUkQDYFHryBmwvlAGhzXseHwuDrfknuBZckcMIrKjshccrkIZoJfIsSTxzmgYmPtPfgzuTEoMymWZCfUVFBChAPmcDcrpdCwbvKKptccZcXxXtSFdToCPoxcx", "UToaGAtUZtBYvDTXMpJAudBgYSTdxLHRbKUnNoEDYQcmRWSffwftSciarxvvjJXCDVpimwribNhUTFANipqYwLMaiWggTayZtghvlvcjklWKVOaZlkxZqKMBSJPJVlHrnwYVZhxOJYpNsxoMKWPEKWzoUFkGfFuuNxsaiyAewYlUwkoGpkHsVNnNzHKmCxshilwARskZwyhRsJeDAdyVCUbHYTaYYcvYBSsVIKXwmwLuAmkVidQsufqlQlBIDphH", "NyYjbqQoetjWTRpZRFPBdxoSbJYvGFDHuqZlgIwuaCfldHbHZmAhilXBJiZEkIOwFHHYRNjzzhQlsDJCpiKdQbUWcRBaTJqzSFnbOUhXZKCQmJssBVXTSQgUwBINarHYeJWtpwcpseTTesCHNmmXOITrGKrCLkpEFAeLYluwJodoNDJzPzqpeLwvxjZVTWDEYrEvsxsSTDqmnQjzcMQsHRHMnGCwqjVqoToCvtJZCEQXybJIjrBDxgllPxcAHaYh", "FWqruzvVEqzNyRyPsWxrIRoGgJebnqUGUJYmKsXeyNKBeDnibkwdWHZRTLtfMbyReXyhQvIjSlLKPVLumCMahPhwmHVPYbXMPmRFruLOlOvDKbiVkaJbTvVGysDgABIzQYrWOnUTxGACbwbPrukUwtBEDkFdIWpNCnerSIHPRWOQeoyuiXmHBEmZZkMLensmNMwUTIuNhvDDHdWkSjtFEowQyVLTDBFEBaNngBCHhaUnbQkmMRAIerZgCYttszws"],"c_array_ipv6":["MtYnXqGKjN", "VOiMQTqrfR", "eaYlUuFijV", "koQVtmuSFb", "AcOcZscTme", "JAumtLsZWv", "DboCouCQZE", "nxmWxBAcLH", "ojnodWUPiC", "qqPJzcirAc", "rmdTSZBQGI", "QlpeUedaGq", "vtSUqMRonT", "VlQSryqXUO", "PtqBNzqxHA", "JuUTorBPYg", "zYIGQNNJVr", "MTYGsysTKm", "AhPDEgZAno", "yQBgowlecH", "DFCrMAhtxT", "UDGphPUcfH", "PsJMCZVlQq", "ppCLyKlzcM", "PTbSgMGbvn"],"c_map_largeint":{"c_map_largeint_1":-7979132103429517409, "c_map_largeint_2":-5994531384091689265, "c_map_largeint_3":3854122192083854790, "c_map_largeint_4":7195687356150892641, "c_map_largeint_5":-7631978576354146130, "c_map_largeint_6":2741214235989208511, "c_map_largeint_7":857157770134241047, "c_map_largeint_8":4230870967294099763, "c_map_largeint_9":-8442441275305281729, "c_map_largeint_10":-2184843147086088878},"c_double":67.11968574568905,"c_varchar":"will","c_map_tinyint":{"c_map_tinyint_1":122, "c_map_tinyint_2":33, "c_map_tinyint_3":13, "c_map_tinyint_4":17, "c_map_tinyint_5":-111, "c_map_tinyint_6":-93, "c_map_tinyint_7":-100, "c_map_tinyint_8":41, "c_map_tinyint_9":2, "c_map_tinyint_10":-121},"c_map_float":{"c_map_float_1":0.03806924, "c_map_float_2":14.403742, "c_map_float_3":39.816113, "c_map_float_4":78.36024, "c_map_float_5":10.804087, "c_map_float_6":2.9940872, "c_map_float_7":25.393782, "c_map_float_8":28.831604, "c_map_float_9":33.19133, "c_map_float_10":87.59037},"c_map_string":{"c_map_string_1":"RvCaMeQPooVuewBdJvhifmEHdoLplMChSWiCYMIuKAFJeXVRmlKPeLvzDrXQPfIvWYPRSygvKLBLDQOtcgrAjoOrAKVqdIjpUhJGVHvaEESaOuuAxHMIuvJZrsyVUHAVLQvyVTkKQpCftQQpAmOyOAHxzOzgwviSEQFsOADXCchdxzsoebyuLQVKXzaZHhYwiJHAxAvpAQAWtPArclfttAHqGBDGoKLYLeqyhSheNhgZUAhPyTzIbvuKBKMwTsJjIdjWxeHeBEPCxOOUvgNoVzRXYFxMNbfvjWiAsjYBsBuzuSwoiQSFfDkOcxVYzwyIkfGvBitChkwMRNfXEvIBsVsoHHEbwiLgyulNgVPxxfGUIoSCyKWilOeKEenuSOeHgYjzSQwnTnksNjRhtzFLgMFaqiaLORaJxztfyfHlCYdErKQifWovDJknzbgZLzqOfXEIQfgrWuaSUsktyaqXdoijULaeARtpxPqJPsGoqcdmcnqxbVCeBiBXuLAhQGwI", "c_map_string_2":"MiZAEpZLFNUuMSJqBYMiwxCDyYwCwAmqfkZGLcspbhzYUqpVcSmEnTKfbyYVvxxMBVgkUkhVAODHnnWFxYSBhZuddEjhPYaAAzlCZTnsinCUMSgZAIxNGRTVxnbqjzAQAqCgOqygtKtUovBbaXYOyfnCoxMxYhTMOEJxNWlxWUHfimyXYlwcVugakSFsDdzwfujFIgaGcBxSiZtWWLOSwjjDVdQWqPZYjFqxOTDJZPsTVbbrnSBffzDPgPRlLJFksQZwMGEjtsqtdGKHKsXTTqXOiFhoQAbuHhbWzGqiRktmgVBkWAyXmwcWCMWSMvhZqZXWeoOtkVrBgmYOPpUvGjwhhquQrfXrFPVHvWLHyIPLANsffJWZftNnUJorxgOZqZwpKlDXXNAGmhhreonrJwnNTsthmjafPOWnZCrunmDUFtUyonAFATzBmXpLqCeKrPSBNKTFccMUxFjGkTWFDCfFoRpkfXlkoIzfZasZjAnSXWqwRlPlvlLQdMgFKknB", "c_map_string_3":"ukYBKusdVGrPRDehIyZDvaSFUdNrHLiDNnRCvZwcJcmHwGzZlCjAfmOXNwxCZhLlfDEBoCTdtNmNkZOheCZWGBHEISiaHMWldIYFxrCyMsNEbiKpDYaoJERQEzCPPewqaaLzBAqhLrlFnfVfbJiNMFZureRGsEmrzYlZMSpcoYBSNCEqWRLJJjtmSdGTxSHBGSwmQpzJSfxAAhmmDICChGZDxZufnouuTflBumMyuCQjkSZjqZpkcIIPERQKwMxhxmbpoYUYZnAhYPastJAZXJcboywPiVhjWuhUOBvhaixVAbIAVSppkgGyINivBcOCdAvRycwcTsVEbXZFJBeztcCsKbwUqAuvHYEVSpJhiUNXskifiBCHRxiahuBNPZJKRzoiJTmpETAZzYoxFazPGLkoYCVEkbYMvaJybprEPmFNtjJGKnCjfJSCwnTDHgdOytfmyxfJVtGiFPVewilumGullXwaZoPAFvXTfLFhPRhakZmhKoWGsItcWlvQiHAu", "c_map_string_4":"iqTBLNcENXWxBjceBDRVqWfRzAMzxFugnCnYvWhVjNTiDxsunJhXwGrAMRpIuKihRyDPhRulqQQttdGAWOTSRrDYJQuopRgSrHeczpQGwJBiEcsNBYcgcfQKwZPBgyXtjFARxpwJGgicvckYibHQejHGffyrDibozQGwCttBldTGBcYVJQonFavVaQfcFELdMAiiXribbbAJfyxtFLhkWAAYrgEjAbYEXUbClaYtnGEhwClJBhybNOkdNZjXIbvjKoiueeAKbHtrfcswIXXVUzFtuqyDKfemnsCEcyVdLZRNKMBQdHQmvjDQkJYcbVXwAYbvYXpYnKXPheDyNiJzNOjVYWTOCwcnSTqOKPoJgtavmkJFVsvLanIsANbtQekRrUXhBZAJSKUJFORIRurMxJCfhxyrwJYiofhTnpTWyWXpyZatoDsaolveDgSvcAVYhYDfenpWapgXKdzbCcqvolQcmdATWqHnIQmJEFIcjewhFnofxtpzHRhEQpCVCLWD", "c_map_string_5":"EaLsoBRZpySvhuyxcqNtHqjqrRxAwuelJnlVPaSahkwxphxHnUdPDRvCEGsiNZLWdIukSGQTlWUQWLLMfoDplzUPHjtuCYlhqYTaAQYdWhGpjJHRLCRrzQLhYFMzdJcoizMQYVySEQxHBRLpTjNFlfOTYkMzXHOLYahbkneQMaUbpCKFitcHvouxhvfZIaMNDUNaTCHwosarGRxgJWBgdOugLhJlrGNsxfztQsmfPGqNTlkGdjKIFLpWoJJbvDgyBqOUILyjKQzNnEcPDGzwUHcXclFOFGkVXslnDHpGeHxEdxpfHmElFxmMTbEXLfnaWSgLeBksCyTQiROdnvYCOMmSSyHSsqcUbslLCwNkIgurGtSyLWzdmyzbCgEjDCNrjCxxcjlvqcqMuPeyHzOwAmegpJBOXFrFTKQQkFCyowAduUXFzCfFkUNImOHNYAzUzpiLXiiTEIqgKZSsHaHodpyKAHQAjjZaBONFeGoECrLaVYgmAujrybYwjgeiisCT", "c_map_string_6":"jWQLvveqFszqRNdMLMXeGcOzlxTUtSlKfVOxDootFWFwQdVCedHMfildCqzlCddjHOFjFcYPBrMZGMbfJpdEDDjzEyiJLGNTHVIxfrCDkamSDgfznYPrFUyDFbOBuMYuKlstSAoWzbvAmFJmBqcPwJDNIbUKisJpYNlxFWUZYTAdtiAHbeFEGKuUXKbtveqxZHAfJwkHUiYElTQsNlxdGjaySJkutQfkhuyswNlpupeZGGLxlCGGVlYieXaHJWpQSvFEHkdXEErmDvpGHGLNYdjfzxLzpSqsBmZpXeAwgbaePeNXOGJWSZIkwAwgMqEjPaHDxOeBrjCpDBGKwfMAoahcLVZzPyKKBtwTQzccFDxQLOiAJHdnJWfGCGabNYcOSaeFEHIKJtDOBzYvZHgzBsBSxbtHHovCBCTQAysgBPIFbMwHaqTWoydxwlmcEJtQfdgQCzdllZUSoAHsfWuOZEFNakGhYhgaUkVDZCMKJFPDoAbVhFcpNBIPYmSVeApN", "c_map_string_7":"lgVBLUstMglrIvpvZZArQwfjcabxRIHwlTHlfDzAtIcJFSnfZzWLrhblgrjQPqdNKQLGYCRECSAUHpMRlgbvSRjiukoUojIaXgIRLzbEstfxvbtvXoIdLjMtsmQzTYFmVLtUJigBYKHBBOxBFlTPxtXgSwqydAAYbSkGevMGMrRMLzmLcbzAYYMPLnrYvueItXDNwUUMcHNWuSkgKxiynFagTKNvcPWKFiZaLfZLJeLPkMilGtRoCDRzPqFmKJoRuLmwwKIbOMTTKuhiwlOzhagkyWMLpliJlxOFJjiYJNpLkxVcakpwFqUSKEIYHjXWUUmyIghySbOGWeiSVGWoqQDYbQjtAQkqcpihdJAqZwfdRxZnvQzwcHSiKBXMiTNmbOkZcHJMOjMDZZWYbjQKRqGasxaIscySztZfBKwASlVxJCfGTXpJAmAfXNBjLkgUmnQvziLYgvpGwVAYQChWYJDtXSQTLLnjOisjmBNzWmyFSwomSwpgwoNNIugOWYBF", "c_map_string_8":"PqJvUxdbtzmEIFqIinUvsKzYEogFtzZSvtnYAqVmrcDhhIXzDtevWHLPLayOcljfneSZGQgGNtnOjAnqCetzITqTTTWaNImbNcyDtBzalMbFnrISnyPhRmEewCJXKxQfbDIXdmcFZGaPfyQsbTcQuFzGUkVgxAvRNqlXwCCqWqsQzngoeoRCoiIDuqhqvPuPcDgPuDnxjpaIrKEutDkZCczTKRWrubOLjYhrzxzySllGioMLgxjHkTfmTunfTAuGuaXrIMHOwRxBQCZQEOhcAPrNLEQnFkTkrZipXHrAzCPdpZPzFVSNzqqtlqpZcfrtiDtWTRZMxXKTdNxxTnDspcHdCxmfjKmtGfmUFznKwOuoLrkGpQvbDMPgsyyMuGJDfDyButijfSFOcRMfVrdNKwEAdhmazMAYnXfINPPjxsgKeGdPdSbyvfrTAPTmRYTKELNmgGLWgGxENobQgEUyHMIJzDDdebtRTvrYVlulGWYACOJLkhzpuUkYRZiklxpn", "c_map_string_9":"DIxzhkKhNvWbRbeNNtvFMcoFFpxqAXFvUXklZYuQScaUhlqUYdMJQVMGUszVyLipkevRWgqDxwrveRdNVUUhTrPuiSVyifzmgOrxNiNAMatthVXRmyOVlHnrKeWjLXYgfFpmaDVSXEeYjpqnAaPAhjJrBbLbakXcALDYbenlRyduHpmXJEjLcgVayIwtfpxNIdKPzvoRykdMtyxfZvYCVftqhjhvOMKtuSQPWiHkruMtPeUXxgTcUGdokGYajIoOQwDShZOWYVRkrPxQothHbBubTYsQnbHjlsVjjQDIFgVgkyBneTcwkMGDwZrIrTCrANuSGbSnZKaoiHNFnlyZodSNnphiXuxgyotorTdVhwMhIASDqTsuqVAIrUcPnwenPtaPCneFYXlIMNXFCGgCkschaRgCpzMdQRRAtdwDzFFRrLWcHcnkeNCAkNlBQvDqYenVuHymSfysDlUkVDmcihrhoQKikIinCZaIYnBiHVjClWHInDUwcqXKkYrbDokh", "c_map_string_10":"RDBHlXtzRIpMMnBtBhitcuGpRPSFIRCsLReRejrCPErZpWljuwjHzvsxYptkbHBWwMtmTiwiQnhpSOFaVHQPlFhZPqJMnvLpGTLcGWNYwkwnxlLsMOlhtEErFFBSznJvaVJxGQpEZjqNkzuwnxJtMPbRIMaDBXhDuIxthKECirLvAVaWuaAKkrlxsvbttvAeudTVQhyQNXChwqZAQDUMVuNfdFNnjiCGDJAiLaqbThxiCJykahgwIhKxBOnrbNwPQMExKkwBpwgFGzdsbRpQNoCxYZCArIoeUtBVjOFWGzcVVXpeFxjFFNSJZwUlOacAjwIGHDSdosrWWmGnqkYVVNbzqAiQnspKcejJQJyLNSzridQlfPIUBatmTTLbEJWUOYXjdFOSOKicPQcGhSqswjRRwaVRlJygvawYkzAwwEItgqbEHPhMDUjXPdKfXzWmePoRECZgdopUQfFRzWuwIePArGjzylKcozFVDZaCVhPjVnyrTgbNmjgDmdtpWvWY"},"c_map_datetime":{"c_map_datetime_1":"2009-10-14 06:21:46", "c_map_datetime_2":"2017-04-17 00:54:28", "c_map_datetime_3":"2007-04-27 18:41:08", "c_map_datetime_4":"2019-06-15 23:58:21", "c_map_datetime_5":"2018-02-14 00:09:06", "c_map_datetime_6":"2017-07-06 18:11:53", "c_map_datetime_7":"2010-01-18 16:02:37", "c_map_datetime_8":"2018-06-16 17:56:57", "c_map_datetime_9":"2014-06-05 12:26:04", "c_map_datetime_10":"2002-05-19 14:50:23"},"c_map_ipv4":{"c_map_ipv4_1":"65.173.110.207", "c_map_ipv4_2":"82.109.115.165", "c_map_ipv4_3":"231.237.37.29", "c_map_ipv4_4":"160.212.41.213", "c_map_ipv4_5":"64.125.113.134", "c_map_ipv4_6":"227.104.38.198", "c_map_ipv4_7":"15.174.160.157", "c_map_ipv4_8":"175.217.189.158", "c_map_ipv4_9":"200.191.178.29", "c_map_ipv4_10":"191.183.136.136"},"c_bigint":-4920207449213146302,"c_decimal":58.1726,"c_char":"prKfMVvhON","c_string":"NnTlcVobOYlYWlUVMjcrIdjllqAcueJcGblUKzSyPqsQflYxrKyXixommiVDbztMsbeVyDgrTTYiUaVeDoHXrrNVgYoiKpKSXdpCeRVUOIDAnIObaycCnAPMdPcVqZEPNbfOKSLwwtSPbjyzgCdabWWRDfkryEdNBjnpiCUvHxFIlNdDoTSpGnKByebtLdwmtgXFIUaFgYIyxOHhrmBRhQhNIZfzuHgTnGAtmcYEppvBSxbAPRxAYdvRUlyUUtEpdMmJESIwrqVYfeqluptvwIQYyRVLYsDikwAGKTLJNyTCnejqASAVWzFxxgkHChxGpXWtrnzAcDBXzZidyelcbHZIJwsUHQdNsvIcCFCxdGtewpltEMzIhtsJkrgsnpMGXqhjbXIDyUNspDGhVlPChRMXGeYlFkPGUtvGNDcCWgqhmDXYEZeNOArERjvVwIqbQkrkdRxndMzHcbyAumENXMRCzpYKJaiGjLATcQuViYxWMHsQsnSOdLfoAIlnpFxp","c_array_smallint":[7774, 18906, 21336, 8312, 23444, 22250, 22569, -9260, 10886, -18517, -29254, 1760, -24468, 1811, -5229, -8355, 13839, 31494, 29746, -22163, -561, -10867, 31628, 27337, 10123],"c_map_char":{"c_map_char_1":"RxLKyTjcuY", "c_map_char_2":"pWchaDZHyV", "c_map_char_3":"StbtzPDKcC", "c_map_char_4":"QgGdadTGYa", "c_map_char_5":"rPoibxiNgg", "c_map_char_6":"HNQSNytFWf", "c_map_char_7":"soBxGnOfUP", "c_map_char_8":"ODLjbMlVbi", "c_map_char_9":"xyFKKhWVJj", "c_map_char_10":"kprVicHKML"},"c_tinyint":-119,"c_smallint":8348,"c_int":-1479547739,"c_ipv4":"98.13.186.139","c_array_largeint":[3984924307030837825, 4141743964397307721, -7257879638465439594, -6928065128724242196, 2038871218475304931, 7914607107296972782, -8261779702479270153, -5619383573559748131, 4362863651718640083, -2673074921858193837, 1929837192666998577, 2379041106891283204, 2460307597648469451, -4269839149243914090, 6469609514063230140, 7154337641661131774, -3690481369501302549, -2737117336509403332, -2535990239865391583, -4220884310416601947, 4115164124289646116, -7902864389604438274, 2380371311226408132, -1562122202238353039, 2105044145238301658],"c_array_string":["EWqvJrjFOeIbqjlbUSxKPwtYbWDhzXUnVGKgglmrALERlxpAyuRUTrprQiHLwoeUdxsesGVuHRpwgVxkpxmChspFufYtxWOAbDbpHVJKLygVsKrLLdvNOBSaKaULEPPAUlBkcDrLtLbpACLmQTQKcpNNkLNbLdQgUkRUvcPAadguvikWizyIUpJtlhGqRkORYVekjrPqZllUuixPhUUQiUmKavPDakfvMdlHcUhQQReFNjsbVIbMCEcvfJefJROnwOEkcctqfCYJUxqZgAPqCajlbLUJjQZhPoBdomvvvUWFUFwSSxeZbLyjOZbwfDEwuToFcCwjdQKEjwWHfpoTUNGuuboRtXCUXAkiOhSsIjhuDSJvBpBxmvqTLfebcDmxMKaBvLrULwLqfRhhLUeNJcLSqvgSvhiIVCutIsNBMpcwyfBWHvaFkRSBgyvtneAFoCKibjiaobZGezRqSUYiQejoWYaVmuSunStxSaumqoJnLeHJtarETlCiTxdZnAHl", "tgpDveEaUdpXAUdqzlLIidpTaQibLDHgIQrNHDjwbAWblrzvlVbzsSBUiBAWdnLDEMfipnyMeoITkSxFqltQcxlakdByOsrnXBwIVBkYlAhzbnhTuQRtTmIaDUBOwrkPGQyuPJgFwQlhPUcPeMfktrOUrsHMFgjQoQKvYxEiXmzLWYplPeQbCEfPPsROHsPTKriwDYLDFfdCnTIgxLTOUEjroctLZSbXtZksNLgFMaVGqlkluaqUCRgJyDLYTPgNIAGMhhlCsgXePzllDpztiVNEUdIEUrawyMGoLnsbbcpODwTMpHSpNpqvhILEGhekoVXRqbENGnOLjegpqhJSpXHUWVTWbhdgIuuFpNnRRpZDQiohmaidolXEkcsVafFgbLvYwCeYQZrwqZiiRKKPNdkUOfKJDsLoSHCvnkjTcYPOuyBPdBmvvpSfCZLzVXXphzfwjscadJufkCfXSwdKNJqGVQjDnTislWJeoweREMJwxeDkXZHBGTeWipmaUaum", "cxIqdUcFjGHXNllgiRwoLqjYcjIgEoXJOlxYxZbROhukSrFWdJAqqQuScEskdIbzrhaXGnUNmvhNyhcsdhxFkWkDprHYdFdWaXbBDpAkaHMOiPcGMBOZdCeFTxiAJjMMtZmxWsrdnLATWgGLqeNBfNauZUPYeEpKaNeTwSFQBtjVHeIqtUvqfkWgCJKnIpyuWPwjJMCEfCNJqHeXfXsVMkHluRJoRwWNEVrUmNCGFgWzCQMDSRQKLMVmilwDunbMwLNEIrBqQFOCdGtSbXJSeogNUAYsDxzlaPAFJRuPdhOZfwoaguFFRvTNwxNZTPmnDqRewLHDJrmjhzlSxJoVmwoeTSIQxnLtkNFltWOLvEXhKMohqWWfFPbrImMUeZCWBvisdoVCzminWJwbQxzyvZVEPdHiKmohJnlTkSshhXXjIqywBBABzutmmGydjChjWZrgloDlpVOKlaVLcmsyXnpJDWvKPMZfKcPOtglUrqBhkbQjyGLYhGgXvlbJyOUn", "fGkxQCMVuwPYreWEQgVEiuANMGEfwNZxAbFcbcoxnONpgdZqMAuepKZUNNFhuCHLWWdvPJVhVjQjLPZqgoqucdXwEzTTxHOEvTVrTTmwzgpWmbqaTgfAVTshaPYvEnRVFJjsqpZtauixqhyJzJPwauaLMKpsoFiXCncCJaDeMjmAuboETPuPMsjUUjCYUxHYbVvRvdARikvaJycHGnTVeJSvWdbzPkwITwmGrkUfbqTvHzsQvipgEknpEkohMhIpCfYdcnGNrwAmaPOsiJtkfujVocPROQHsaWrFLxxJKmdhdeiUCPIjXhpIuFPibNfEZjXomvufPpxlyoAfyBmjhgaQWxgvFpYamdBrPKqWZmDtleOiDphjIGscbZCYEADGCdzHlejjhlSlJAIYMLjoYoyLAfbTkUaSOBgZHetEmYGXyiiKSkeXfwqWuPqwGbLntAJNvhuYaIstQhfwaMJsByJYCHimpDTnhBUxhWLkZCSZBGmaVoNDMOgJLRqJIZdg", "iUcDuTNBpdVUwvhdjLbzQbdHNshgvBmIEBUjtZVOTWuligDbHysrnqaNdTiCQxfCGrYVtrXuJWzvyoiDgkEQXymlMRowCJcVCyvDWlkLPGIxsWWJCTyPxCadNXXoSHzYHPGEEFvYuuJvCFERPIiFQxtUWIWVNzfladbQNSFQmuRrTKuRIKfNkLZndvVRntQxQxrMLoWQqcbzWBnbKidQzkqglJwtepEckJJyntxeMfcMKBqzRybeEYIEKZNPetHaiOZAVvVThNZSYZJkBriiRieMUSkjKiPUXSwIuViXVqSgTqxXkvhNhiWaVGVWibMotgQmfWIfiiTryhBGTgpylGhwRBXVfuCiLbbPejKEJhZyufPuOSZnofmfYkmeTtxysbxUrSzWDaeQwjLywHAmTITVUlSBtWVpArQpnvBPCrJbIfSqUJdCKVobTQebQtxFYDeeWdFGvqbNtTGvYVtqEdhcmeumkTzckZzQwRQWRJanigqWzeokcWFOnCKOhQBC", "nmJNWnoZpFBGAplTXWcAguGBbrUcFPmamZwxRFYJmiKcsCnxKulOMZXPIPjwXLGqCBkiDZxMNoVANjcbMeMTJgjKQpcyOMLkFAkJLQljpgmoKbUjbHXLnXCPmUcFxWSnscHsUYqhWZLOBVkgzZhbNOBmBorcNmsvBBWyjGdQfrJHZHuHPUaYzjtlAqAdQfiHaltzXTEGVbUeFsJiciAKeuexlCkMtPYifzCEPZeflULznHjehtJAwBNwKtugzBzvbcQFfKMKqrVIevcFocnFCMIibWTMOIiQxDDoHcJpMDVRLuzpXYkAXqcKJHeCXxiizebxdLRPJRQKyBeFMXdbjYCwIpCdCHkbjINFBwoNuVbOeDCTDOJdpEdWkUqnRapxbkOrAVEKIMIzGTzFvoENNOyRsAxpOiTcSCstWPrdWHYlJaHnVvtVbzFOsVvOBGlpnArzjQVEbYCjpkHnTclcNbaaGTlmxdqnYeCzOMAMoozsBEqxswSIkRiwOMTdetaU", "IRINduzgAsCbeZQkRmEZMzrjDMLgmtnskdOySVZbceEZLtJaijqtEUfDeuXysINpBEAHkqBENNOaKgzugiJaNirVUcQWbmrBsspbpBRYIDPXVBZtofbQKDmuhkomySeWHhlVRcNDlKiHEFFcmAcBcQJdqGzMOibUuvySUoMrkUMQEbdLLtsuPTZrfBuXNKJcPwAklRSmoXPhcMjPmzgwVuonIUNjGxWNbtkLzcpFzGFMxsYQiQcjoJJgODLfAlrzloWnIhxiGZGylrkLPhVshRSvlOKGsKqPfLUBhAdSJWyzePHIpvTlluxhutteHRLLlZWhLNefHNBbNXzuvzCctUGhymEyTakHrWSkQvJXGvuogQSwcqTxzonDhTsMGEDGlHibpWjFHcRIwMwpxiVCrEyFuwTJaozCWncziAvzAPBvLoQVoiDxprdVnwtTFJymTBOFTGUfaVQITXCkPoHopRsWkMKaLohqAEDVYNyCkjERHWgqIiCQQoCOFCSEqLxw", "faDeNslvJXLZWTLwlwQMGWjgXerMqopwjjWUDjLsqlsPjnUglbIjdMoJcTKdyItkuVGkfxdPmvBKpRWGUfyhpDuqrrteKGyLpygECFkCEVHEXBLuiiTPjDvtXAaYoHSbJpGSTRQWLqWuTBkrVSvIDReMEORtfrCmjwQEDjCvqtXKZVoYPoyqXOoowWUUbxhIuniImyjfCbZcFNpbNKBoTqMeOVJlJgVwwAGPpkHLoJUkzljiyPgMUYUfmTMRIUJpvisWEVvikCDjuuOHnTSKTtUbEaoFlxxRrIepzcLJClGTaVsClnFcNyEJPeTAYXANtBBRlCopqiiTwgyXEQtSPqRKavAfVWXvjrRGJjtfHwaijHgXphZTOSZuRgYhKlQetiKflHiOPbLrBGuSYhahaRVRsqaKjHBuzEIHtkLDFTvJCuTJGdRygJVtXfToVdyRoaLrvmnoNdONPNsnnKJzpNmZdSOmwitobSryjftUPrJihaHCAMRBRTbCriQNOvNm", "JYZDusFqrUySBqEbBgSCtXxYGBXKSXQXQgYHpYAGsZGUWonEHktIFcczLXfjSRkiMCwklcrSTLvtmegwNqigmOUJKmBNzKlAaRwEnPZZMkOcmkHsHvXSkRpYpxyttwvJUIDrPVNWuGTDmhBFIgkLafSUOETzvjQjDdEADHOQAabidQqSkbuSQciHcbVgiWkgqLgdTHAhhsLzHjeVwPGjtlrZLtMSCQjGtVcAcZcfUqioiUdrSluvMShpgCMWZVHakVRWdskbfiHeiobJApxNTRIZHprcdmQpdxKqpqWGkKJWOJDIgQspXjWNCaWYBSqsYddAyLtOUXMCLEpdrRijPTBibigsuxYILYjQWVhVQyiMrdQdexUWwLpppzjtenAMJnERHTwDVlmweNJFgnCREGJMnbVtvehqcixaoYKDjhDVgvPNYBTMJDbPTJqDGfutpGjIlUywkNOhuWyTMGkSICYwDCuowIbbzPUOwllRYFPuvejMmnZXCfBCfhmNPiSb", "EHyxLaqtfzzNHJObhzxUTjiUpZjkeUtsKnjAbCRzFtIJQXZgnASgXGdBKJQabSYTMVNvYlNTQglFVkdiwsuwyAiQlHkXMSsnpBLjdcPVCQjQtiYljyIzqLBOxkeNqLHHknvhNPJneHahQHdqsTTJRcJyXhoDhImLgPVYIOuWBdQcdDQqqMGgRKUzmisECoyERpHxrQDaMANtnHtWSYwCdmuRGpEPksUljMhMpoKTUKoWOcIsTCmKklVKhSyAUCUGUnkVdxnokRHsAMeHymnjlwUTBqgbFeYdquccKyzdHDNHjHndsWUcJyqucCQPnBOfQGbHGAecaKeOBCXsUAMrjlrHvypHdxEyzQpxNGqIvAbFExBgnZxlrNMFnyBPvLbSKZlpOJWOeouvjQhWFeIEJUTEvQSniRDlyabdHgKnvjkSfyGNkLoCmOPFOyezThbCstplfgrkOcxtJwxPmAXUXEkrrftbZrYsdjeTBZtSIpTYEPhZlUFivcptxJVTqMrz", "QZsLYNghRhEzUywikhTaAWWuDlhSAnvQgBnGiwIXVHLyAyUrqglQeyLkgBBHOvAUBrwTaeXuAnEoRvPwzzrWhfZtRlceaKQmrAUltqKXjqFlfafoPrFBNbTxnnwVFVMDbCFkWGYxqNxVHlSeMbUiolsXvkUYwFfdxgLBuCzHQULABPvUCKeytHBZLCXrQJXQcMStyinVRyvTjhBkkuYzFILdFWWzPvtAVHUuwRanQptKlqVmLwhlTpOKmvritxXTZxVWFJCduDsrHTYcnuvOMHrDuYzJNakKXXzHXbcVZfsSPtDAoINxCGCfiAtrjOrpFLsbuarqrWjBMvjDNOubVVYfWsMdclVtWCbObOsXYRWBuvikoNaHyJsULDoAVAbNdPghFJvSNRkrJtvfRnEbFvslxnTpYCocjPbiQMSyHLilsPpkYFHdGUSPDZlESknMADgiKdfJodcMHNzubwpjYAHUAXZWceEFGbFSGjSIaGeiElwFYYkgubYfvkfJlvMy", "aptwYtJXNOdEdtQFVpRpkxmcORtkJIEiwIQdYcaNYKMympagBIWslFwbilagHWBIFOBsnEtVLZhkecrSucNFOHIefEPbGdYpmKlhCnHeZxKMUNksuXChTeRbtAYaFEzBVShdKLKGMRUSlNaqVRqZSxCkxHWUvxeJiQCrEajWsFtxmtRpnAyAiVDGZUgfcJXjYeVVKDqXeXDXUNwhhdlghlbZPtQfsQKZpcqcRlKTDivoTVvxBZzYpYdOXstwFxyQBjWXNJrGCZVsnHmvGxwmOleXYnBgfjRPrDJRnFVRSGDOtHQTPPooduBdohRuYJLlefaVtpNODPUBkVLNAMTdEzZNsLAxlqDzjHPalmipzAcSvhJmyjgopQVDpHbylzszTRoVOvKHhdtLuHNJBvCMXpWSNHuBUcmguJRVvxYojTCcmUgtAyQDIQuWElVptmJgnEMpIJzcnuYlCrCGnPDxvHSCJDzUEriLmPPNjoLpCAaYYYPdGgTrstOLDvSdoOCy", "MfoUCicCfVADSZcwJSVsmnrtpUGfHhFmZpziBOnNDJAeJkTIPRtxRbBrzMZRPcoCXUEdLWEPBjhKpITohNIZuUGtPGdKcKhgVOXxIEQotiwxGppYFaiYJbAWJjPoiZuioPxjbexqShhSbJuVaITEcnqDNmPCdLlufabubXDcknoYeLlPzCLfQtDVdledpRJyXSYmHTPKkWowelzgLLMGhstsnVdweTXTqbRnmkayiTvndYxwNTkWilHarwPBDUfASpkjYfUmoUZfLCvjzKQVhySwjmMEkyiTtuYdqxYkURRpoCleAskBGoZkjWBkxtltQIqmKPeFTKouBbfvnmVeJscTqKeycrZHoBRoSxmFrVSTAXOuqzCYBIuIVsCtGsljGmvZibbXTXFWtAuLhNCPoNlcHnWSPSgJhskZeOFmyUmTJXqYfrkMHAjJnTSFZQjjQjXRDIpZyOOpWEIFidDOquHNbIXzYzVxLxeLURxYVyaocMDopCOoPnzStvxcEbxM", "ppyBGyqiGrDRcampohtKPFoqSRcRWGosrrXTboBitIIVOfEhPpzXmQkuoeInEQXhhqiWlcUwYfDZfPFaPssLrnXmskKbDfPlZWBcxsGCttSogiPVXWUdyJapjJxqTcYLQDMuZcEDSUMthBddiiGUKuxyPnfVpiGNhjbzfYThsghmGGLmMJGFfsEozFsEFgitkqkdToxxWZDHfoWKgZhcfrjnMDqswCdsuSKDYOyliGSlgvSgGokLprdIwndANilqJKPUqKVKECUZJiDYqwpHtgyoNSQspbUBBNqfFTNHrvjWFXRhuPSdeLrhJQWRTpAZpGafOjwPwvGmyrbvACszIUCOqqUBzzZJyPIYbWIzxBUWRxpEhPeEXupSaQIrheLciNGfrGTQGtoQVktuIzAAFMomKNvPqcPYiTVZoFZYUmzCixxyTYymjSOExkSfoCKkcGExIhRuaojPXxCoXkmwrmgjJROiNAnSSAexLrzBqNzKSbyXidecYtLyRSAXmVDo", "BhlwTqFEmhtBlSumOhzHcaqXOCVKHqBxHfFDyiPccslFTiXgmWiNwbMTNtBrTVMsyGoFafXWddgAHRdyhuHSDtxtwbyspUuFwNBGvFbEGEadYzDqCrBzPvABpIYiOnAxmwaEoHfmzuSTUsQhtPKoLLSghLleBqFWuNxbZiukrWQfdCHJTTGrgtSYObrzHfWnMFWyTJQhCIYHrYzPSCDnkVJzgrTtjxswrjazuNDKcDTzsBLUBcBcDnQYoQPoawiGOQNrtfpnNlpndDllFmoKDxCFxcxnjlSEMVzDAUgLskDemePwOgpiUvrpsRgRMQxtAnqTIwBKjztkasmOTVTAtxkGXoIfkHfZCblJcTZlJJceKZjSqFtFtIwCvthwfSJbwJEAoUKEjMueMPTXMqeniSllASktgDgnXXNbNdvQQjGwgioaEcjMRocIeCysNhjUEPmSTwyWbXqJktObnUrJfbqibTmlVtmKYkvqczKzSGwmotLvNTIzHjGzwyVSLxpP", "akRlbwmKWERZdgPKyuiJrIYMTjBwZRxyYQsFhzLoWpatvJpYgFkQwkuFrPgFgkFwTtHuWAIYoiwvNAngJiZpsdQyqwdmensrhUPsrHuLOqkYkKdGxORgXIctppPUyLzaxCEpQfZpGGTXaaJerdiKSNpkJJWMeqCAasoEjwWdbIPcAjJcFautroBMQfuxBNMCtmOmWEqvCgGvYkDVXXKwxppXXgjFYeGcDIpyafzBPOwPkjQMjwlceSkOyyAZIvpPAuIcSufOLHFPDCnvFbTqVNiyRQTLfolQsTtqGCfaBVoQvLohmreXDhAJzDqysJUWzjBqaMgMnQIDGlStutxefXDoyDVuMuqHquexntsTBiqPfAKGXKqbrjYJVOinJurxWtvMMkRucyTPHYbKYvWjWbFoaIuLOqivhQqFOBJiFXFYQNXiNcBtFgNGURukeHSPTsZbxrcwDHJXYAfLyRIOyZQcArHnWMmaRqhpWoIHohwSCkSJGcoflBQfMFLSVcXH", "BCGrkmaRydowQJbizVumOZVXqdMaoPNinqxDaxlcOWZOwqfnyRhHyzTuKvmyXhsjlTIhsrqgTaRZtaUPDYInIzZttVizKRovLqQyRqPVupesVIaOKDuddqAaUILtWrNDUWnGhRJeJnrBkibJjQyfIwVbFoINRPtiyUfZxIbnvBGlHDFwBZjAVEvoPXxngRglTQNhGexuBByRgpSkzaUplbVlnLlZmuPXRuDeixjZtYtrTHlBtDYjZkBvRerkHfCDPFrLpEBjhkwHaSFIyyfRioIzSlpUxqWwzXZrQROZrNbOpVQzuqyefQReRVOvrNPhNWBWFcdJxtjDpWbmdggJzlhjlewZuMwUjDIkILfhuvPihLVEQIXkmsfUAxhvPNaIhLSPmqVaUguLncfcsEQsbuFDaqyVOmZKufmLBGoPOyKLCRNaiBdjPTrLeDoGTJCuzuKdgnSYjxlSDEXqIcsxUTrqEaDwibxBqALZnOuCfsoTAfskZUCbbzBlBVzCXtOy", "UiAoVOyyYsrswnwcnpibmfkSWrVOAcdiOVkMrGgEmcVMxHnEqrCOZLSfUhgMLdnUKjKRiKeevlBWsmZXEXgZQfSEGAHkxqrDtfHUIaLsrEhIBppPTDGiHDonSSaAhdAQcuULSeRXsbjpCUadleszAzXpixYXxcQkBsWumorEPefTLBgRgJZthVYVurRzkzGqErmGDlwsiFSJQWfJFzLYSEgcWflLjggmasnyqkeFdcAMOLdvXIKEpaMkhBQvrzjGhubniRRZtzIXWEDHwSyZMklDJAwFHxktJWYzJxNwCKMLBLcnQsukmklkNqEWMojIItpzTnoLnvbdUwsrZpOXqNHkdwDPiXZWUMTGkZgRKFectYtPhRffTgZIyiOwNchwJFVZGpuHaRercFZGeZVxMZMQBnZJiccWcuRtvQDHUuXtIcDVMgSQjspBrmnXsKoZNhFrMhggejxJfsChlpwOnagVgQOmEFMirjFLPexBUsKqDTJFtYLyPULnxNdSgNzg", "kgEgiLSGvtmtaoIXgEQKtQvoPLfRlYdPgSIejxDNWcQfdcQCuHDUhrImSYGfcWiUzJBKbmoNlpMvlxlTxoXJvfkgJAZMswLfRRxesOqbKGzoiiEeCmjIwXqTzUfpulBPnPYyNJEGbnkGjcIbbHJxiyztiQwPGRGdpwYkobSvzvwsKvoXIoeyGOrQYnnIWYLLhnQYLwhpXVNMSodOCnMBpGLpdCYvWHmVvGDUenaFNLrXVTvxlAJTyWrYTDLGMIKlEJKqhlaZZLmrRQgGDdzeyOAFpuMouUpimBuFpfENEuaJIBGZcYizUWSHsFYRWEcnhIfsJGEdsTSSaNWETlLvnOBYzlGROMOacsFjvWpepnterfdiQNIpUjtQGvHugNQYwVazPMSOfVGFhtuVGZrHYscYmDrgYFJbqtdQAQWvkKWCTUEokCnBtEXouozeaZDvYnPpRphWdxsQYOdKEmCNejMuBpmXEhFljhrllRDZkPdEYjRHJMvmZtEbNkcSfcXo", "jrQaebMRqIibifUWBxAyHvSBKWLkzwdlHwfmKFJDPNbCuxlCwWKSWxZJoGsGJuXEtKsrHfBJPQjdsBhsGSiKaDogonvTqJJKYtxdBJBnVHykNOwqzBuKHZkqjpIxtldIRELUgLRFgidbtefnfSSqzmsUJAoPICjdDJwMZoKZVxhESTTvtuYgGbyHNJXXdDUaRMoLeayUaZgWgkjrsyQDxsIreeluuKcGelaxejfpveGwXDRdAHZNSLFtSkUoyJKfWSyoQjZHAHrczdfNsWaUuCOMVnFcKNxhwLNrwJXYQaaJZOYNBYbJkiithzYSBBizAjMHAdpmCIJKasMGsFkswDDIqdMWmeQkDpCJkdUBZqMtklCcefmWPzIExwsonzxfdQrrImmcFoyKlgOGwlzerPqBsxpeiwPolJUSKqFxnxesYTDfscRNdasSTTMpMLRIGyOInnuVBIosgeALeJpxwNDpySYRAvDkoodnjXxyIYIoKnjQUwVrDvVzOCxrICJo", "iibviwhNvIjnhTSHkoFjCiNiwETNYlKsvPZqsKHPihOBlJXiohRwzMpiFEkTNDmNmvyFgvaRGZOSsZgFqalJjvQxHOisFQwzlPkWHxPKwWUApDhWJPIstBHcknTCKdpyLnRGXLtUAIuvekEAlBYNQMlmfIkraZsVJjsZBCkMouTHOapVbFhekHSswcteuDDsmYMRkAwiyKSXDcqXrWSOiPoYnqcGFUJjsYNDqRmWpiAmPkLXZaPKNztDRuXPsRxoaIzNsEPtnztumtVbatkBdAMThDHHyFqVDVKFOIgfGhJBISWRGcfUWbHzwJpvLEASNNbClOzxWaXxesBzNrATyUqVmpDAMiPUbNzlhughsALtHRAEceOIHbTKtfjSVbjQTpIyjpOwDOPCRoNZbviXXGbTPHWkTzukySzJsEyiatUoWbLcfuthhsKWUErgfvsRPCyppPMAROUbmHTEWDuTACalIqTOSBExlPuUdFgFgQJhNOHKuYzJzFkVkqgCTJjf", "iOHYhTYIcVhOACWpDMvAjTYUBtxyhuEmfYcFFkDbPfNnsquemQRpgRqyjTLhiRfFSYcPaHacmiHtdOGOjclkgOYfUIiGXNaNcgDrOgxWGaTuMVCuIkpQrKAZTziuOFGmdchhMISnbOBGyjyPFOqMuAfPnrwqeGynYUDPAxFlMKsXhiGCkmJOBKVhrxjktMrGsqPOpJawwYadWkhYDxYCqPoAYhYWXBiycOWlFuoRRlMCtnTpwTPwVCgpLIoLhjTxdwsBbBNvtqBYAfcFjamKiYDdXzqIdqGlOWtujtJxWwBgkzaCKSdUpGdaFdtuaisttFpwEPlXgrOBWeOdPbLFLGaBIlmgiioXPUCobZfKtDUtToPevoABpxTUAeXJQBHpaMbqoHsOVpflGbBvSQPmovbisTamkzKPNtcaFbDUISpQCvgSGPYFmWYhirQtXgAQfgKAgmrQDNpniULyPCqUOfuGesHpAxnLcfNbaKwItbRiJKEoTMFKmaHfgKTDhUqs", "SuzaAcDaWRFRXpQUdfsrHtjadyTnMIiSsiynebFklUkKfdGWvWgxRjRcYhMGkYhENvjdTZlyPVdbHGrrmukNCXXzctCEyPZuYlmVCgEcTxdaYlMfHEILRXFTrkMvvRQGrOVYzPnGEwVBcJOJusAikWuKJEIplIXvCgsThQZZtSGfoSXcjisAGkRDWPxrcswqZPQvnePDpakjnynrTEHasrJhjgckRHcnzAYgPiVCBbrLvrXIFLJBedmcRRDcpnGjPDCTBYdNxfhLpWmWcZTaNVJiFBiHsorUPwnIoBuuvevBfFIlvsAYHZVNFGmKWqPvGlBYnSNaAdQYtDgYhEajnMyZlzFgsJGoSkyHaPPasxmNtsBzVcvmUqXfxLHMLlQiVhuARlETKyDIVcIZuXWFnYrCJFQOfRZcBTZiluFdSnOKMoZLEgOJsFMWIPOCCqtcQJTBncrSEJQfWiJZBhkarULKVfwXjwORXtXdqXjkmajScsGyPThyUhEeKxJSkmdi", "bfzptwwQqovquWmRfmqOSAYFwNiOLBDzBNLRjSHsVkBArTuSxqKqtBYbiRkZhOSKBRLxAfqcSwugfZFnleoMwlrbbmvDvAwBtJjNhgfGYWIKNYesyIwuVusOMjcsxwPffvEXBCKXsrRZLYnFWXFrACtkhPsKSqylkrVAWgEHaStkRQbMMxKJiFkKfPJEkLDcyDXjWpJpqzweXgSdLTxNEvmIDuZTtJAjQBnVHWRibMWXvKVDFhxTGYPLpAwryfajEiXpDZvvcCrbRSSTPNrVcnNWEggjrCtAAxXMJXuiIRrVklrXnIZXlTyrrBCZKQdokhVpXlnbYIdTFIgJKtrhHInMGxWlcjkvRXVzNedEXkxPepLPnWkpKgrXOxzFcLKPLDlQwJHBCSiEiusTtivpicHepZRSySyxTzfzhKYMuwUUBwiaCeOOtdlZiHmfnBzpkILoXDaKnyNkLqAIKGAZpwtThBUjDcQBuxNBqzzYWdXLzYARXJwaTKnEthbfVqMT", "xjXLvMCgFAZgJeAsnVJanxrLFnzymdtMxGppHlJKHFgIpeeMUlTbmwRXJvrrjwgvaPyrzFKvSjftIpJdPnatLDiOofmavCIXRFkonyXrujRXfDwStfqsHEvCoGrVWiBeIwbTkogBODIZeWGALqgpvxTKaSHGunfwyMtCnBTzwGVwGeYuPXfaLWarlbFgGKulLeCLRielUJlevIrwQZVGDgKrtursoKvoPjVMIkSxQJjaLhjszYHwueSdgLzqIrSoaVvKwdDtFHSwhvwmEfxeccyYNPfZonVuJtChIlOPqNrnShgaPzaBDpoVzVATswiksbWprrxUkoXBXHrXeShxPKmqYLNGaTwsRSkoYudLagPlHYqzVEQULHBLYmLfnmkbPIccEXqDAUzZGfLvnMdrMFnKzIojskCsrWRtdGDuoWFxGxDvNfncMCUHhwhAoeNNZndAIzaogDPzVEhwtzjhAvgDbrSheTrbZOUGRGHPdASXpptxtasKIcKeMuTAfHUg"],"c_array_ipv4":["SuxIkisfPr", "hnxCbuSNye", "JKyIedhycI", "NyyuLeEluq", "QXQPGEjiMU", "iigBIATPvy", "TMhrKvqBjf", "MNlAGhoMSS", "FUroxnbHlH", "vwceqGEAkc", "WqcKhyteFk", "sOVCNmQEsg", "VcuJiZbWAS", "AJpEoolGZT", "kyhEQFrnOK", "KPFXgtnDnm", "ggVaCtboFL", "gSRjaKYWNW", "egCyMlSnrx", "XUunbkNdBm", "lMJiKORALB", "euegBptBbA", "vFDWMEoAFr", "knSOGtSbMH", "DHyjMRIUJB"],"c_map_smallint":{"c_map_smallint_1":14788, "c_map_smallint_2":-16494, "c_map_smallint_3":-5625, "c_map_smallint_4":-27359, "c_map_smallint_5":-9369, "c_map_smallint_6":-7971, "c_map_smallint_7":1364, "c_map_smallint_8":-9356, "c_map_smallint_9":-5706, "c_map_smallint_10":-28912},"c_map_double":{"c_map_double_1":18.54349153227466, "c_map_double_2":52.32505732091437, "c_map_double_3":79.0259251364564, "c_map_double_4":12.388039673372612, "c_map_double_5":48.19706570083378, "c_map_double_6":37.31120355120422, "c_map_double_7":70.29161275966513, "c_map_double_8":87.81371400001994, "c_map_double_9":67.62796535344735, "c_map_double_10":9.81643017381109},"c_map_date":{"c_map_date_1":"2016-11-23", "c_map_date_2":"2007-04-04", "c_map_date_3":"2013-02-13", "c_map_date_4":"2010-12-16", "c_map_date_5":"2016-02-17", "c_map_date_6":"2000-06-07", "c_map_date_7":"2019-08-15", "c_map_date_8":"2008-09-13", "c_map_date_9":"2018-04-07", "c_map_date_10":"2012-05-20"},"c_float":54.16962,"c_array_boolean":[1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0],"c_array_datetime":["2015-09-08 03:51:18", "2006-08-15 13:03:30", "2016-12-14 16:43:37", "2016-05-19 21:37:36", "2015-09-15 11:32:08", "2004-10-24 02:42:01", "2001-10-04 16:42:22", "2017-05-17 19:51:08", "2018-06-15 21:23:26", "2011-05-21 23:41:28", "2001-08-14 08:03:46", "2001-04-03 22:00:07", "2004-07-03 05:59:31", "2016-05-05 10:30:05", "2009-04-18 09:14:11", "2004-07-03 09:02:46", "2008-10-11 05:28:14", "2014-02-07 14:58:25", "2002-03-16 07:52:00", "2019-12-28 03:40:30", "2007-11-15 09:10:33", "2013-08-10 22:44:50", "2013-12-02 06:52:37", "2015-12-25 05:42:06", "2015-04-09 01:40:54"],"c_map_bigint":{"c_map_bigint_1":3604580454371637441, "c_map_bigint_2":-2545322867467690152, "c_map_bigint_3":-9150934387599855006, "c_map_bigint_4":-7273605363736425332, "c_map_bigint_5":8896737550722547804, "c_map_bigint_6":-4522154693963309397, "c_map_bigint_7":-3569601293134113890, "c_map_bigint_8":5999895811321315802, "c_map_bigint_9":7423200713441738452, "c_map_bigint_10":-5355316824977476730},"c_map_varchar":{"c_map_varchar_1":"TSxcRexboUDJtIgDaGHGlVbZzDNRczjDryYgeBywZxMGfbCToIWHiUmGEcPXPCSaIuUIOaUOxGSIOdDVvutckgigdzKGsfCPheaqKfkxIIljzDtUoMXtXfiQOaCoACcjnJxZsnXhpefyegweFaOhafOShKFwlnZuTrkmacNAupWmbhlhwjUSKhIyDwjMGPYDUPaxwtZGPpwfCaZRdAhztMWpMiaFDeWvsdvLAjsTMYmEyDZjZiyubqpbsxLwVvhZ", "c_map_varchar_2":"UtsqtQpLvWzyXhAecozzoGdxaiQWDaSTaMpjDHtcvtgfpBuFmPZOHaOJNgkeDKGNUlrrAxbccrFxABGHtYkJBEpxzDfdSZWZlzjTvQofzKFNlEENeORjaOgthfsGOIQAdiWRlQcpvGlccYKSjBcQEKWNVLqxOIFPMSYkVBlFVaMloHTuLQBAoLjFQpwvTCZggyjDPIdjIunFTUyviWbYeUyoYbITyzwKHJKvcGpHPxGAPaoNoJAfrHVrElZPUkZf", "c_map_varchar_3":"wNJiETUBiNCPojSYtsOpTNxiZsdiTozfsYnvgkTsVyriCvlRveNnPQlTqZkfQoXxzSZwLtDhZmiLbgckoVYPkdRGNOuuiYmCMoEUQQjcoLjLJMVwGcKGYooVXwJXnsKaGROSLpFRRmrXmgMoxmmkWAYgKHzunjgbKRJGnaAQfcjMFHImJxGrrkUAZqqwzNODftLnUMzGsfVkuTxiogEOSDTuBJqhcdPVJAIpoMxJWmJmTqJFjUvhsifdIDIyczIA", "c_map_varchar_4":"HyAJBOyeMQovOndTdoCMEiPmkdOavkJCFBPVTGxoazwIbxOIrJXacSBSZQgJUzGYRDgRBmUaQQeyJCxxxNxQasmtrhQHkfOagKYICMMtUmQwDSSRYQEpTBrUiCjxOxonBlmUzKLoVHYmZsWkwKQSCxMFMAafMqUbzBnjQNiwJuYTZtIwOJYzbliNuIsSChzYcZWEqRZLJdUGCIDEsQRJGnRoPkwWkJxnNSoughGxhflYIyUwhnWxVOmsWUbZkfzS", "c_map_varchar_5":"BkQEQqtJdxZzTHmgvPCAlZPSrwmFwUCJOdWTzYVmoRttcNOALpJmDhMLYwoBUsiOzLaEeKqMsIpVsFtbQdTriVEinuWSIGbMYmkOQgOfWdPogwmohpWEHqhJXVQfzOlMocrYyJDvLKRLoSmoIoQDaroJdDDIHebQZPVGfhWPwHYWQXbVaOhCXjilYMGguIEwuqRqBAZNCVCEXFSIrfSMMZHsRQTBnKMGaxVWluPtCbvOCJpmAaIvpWuvngIwPLVm", "c_map_varchar_6":"ACMlZQyXllagpRLFsBsFgeAWuqCElPtjdwMOLFEjdrEnFwOKEEKKdQDfpUXfCRligKJeqqEtpzWQluIMXbIPDWYKRzcPIzBlhNBveNInbCMKGTmyXpruheMiVGeqmLrqZauKDqpsLSRbsFoeNljgoZtluoejssIOPHQFtTarlpglTbklgpSptjmIhFmyezQdYmONXIuvyjzLUWelxdtIUWyUBbrMzcXBZPTpKiZLkXTJFoRwhBkVfbcuQTXbUzxa", "c_map_varchar_7":"nTeialhpCIILRIPXkxMThQwbhQOMKbZrzQOcwGRXroUfJvbctQsdowRYJNtpuDSFdXNyrDpFZBjPrCozmjVFSZMbwwTwpbGmiOslYlGrvNWzJHkNqCPonTURyhFOOfHBGssEdoCyccNjboEicMMOVukWjRTVNlLAFwoentyaULByGjMeMYGNsnzoGWkhOVrMdOlYVkzePZlXpmUVNXsFpUHOLuKWxOgPWOYtmQTUTYnLhYOfUzITsDzTrhrdqnit", "c_map_varchar_8":"ohZRTJbpPnMoyIxBmtpiocSGyCSSrEaLjWjbIRUsSbhIJrqkWEzMpTKCpRrjoOswhqXiYqmapBxRWSsrcRzOUAGObnVQDowVhcgfQOYYfTHZwXSIbPwoAKgKmwhcCrSqiSjpUiREdZprIBtLbpdAtipyYfCyWYeBJqxHjCsIMzaBkKyirIEzvPfyRvcOJWfkuxfOLorUlzBezoCpGsHcqimLhhPZEmgNYVUnooPJoAiBjHYvpLAlQWwQcHHvPJoB", "c_map_varchar_9":"hKOQVWZNxjKeExpIxpcvkjBdlLiHNuaAYAqURRVaZBnbmdldBJjHkOMJKJunpYPLdrMagHQQQYWOJsbfqHRSbGZTxyOSgdFzsRQZpdzvNTWKLsyAewxgltCzhHQfTSnPWzvTMAfbIUNDCGQfqyvAjExMDtMxMNNdVVjTDuVnuNwtBxcgdWOULqVItprjefynhpMebvxsqizEZoacXaBVpEjBNrXBHRIqbYTWljSNLqpAmjpfDlWuSxDcsRrpsqsa", "c_map_varchar_10":"QBlmLaVCANCdRaCBRJzxmZYXzEfkmKBvSjsdfGRGNycFTBSMoFfMMppZmQWuOFEoJrNNTLQsKZMBbjjHntqxxBoaPFVRWIGDZQBvwwkDglUFekqeTOypgPeKveDlOprBQhwjjNhKTUaVpfdmgbIgAnuUWfibbFhsvAlkueTykiheumqbCeabNLnAovcYcurSyKjllLATstcSIKXBFZQzwfSvUbZkTGQDAtwjlMTygcbRuDqPnyvPJsVQDCSFgjfe"},"c_map_ipv6":{"c_map_ipv6_1":"f3f:816f:10ec:9901:6706:cdde:c43d:7098", "c_map_ipv6_2":"4d54:cdd9:ae24:d811:18c9:2e2c:d641:b83e", "c_map_ipv6_3":"76a7:2e45:89f0:443d:5550:2607:d9ba:22e3", "c_map_ipv6_4":"166d:33a7:a25b:5036:e762:199c:4135:c050", "c_map_ipv6_5":"a2c7:b41:96e2:c3c3:7703:9400:eea4:aa5d", "c_map_ipv6_6":"d241:2b0:3bbb:903f:df39:4b83:2b37:65aa", "c_map_ipv6_7":"6c0a:fa85:5b3:377b:e6d3:afc7:62ca:3e5f", "c_map_ipv6_8":"fa85:6807:ee3e:39df:c81:d939:c4da:c4c3", "c_map_ipv6_9":"83d2:d9fe:74d1:de52:5a10:5957:489a:ba30", "c_map_ipv6_10":"d79d:adc3:630b:22da:6b6d:9c79:ec6f:8a7b"},"c_boolean":1,"c_array_int":[-853149270, -463215653, 72837245, 2130887112, -1095617180, 1793932499, 1985052440, -1849760295, -281385948, -950547028, 1045545488, 110913769, 53376657, -236677830, 1922889865, -353723519, 871361121, 1301595058, 373082045, 934221607, -835784416, 287880577, -1549774264, 1309878041, 406318508],"c_json":{"ipv6address":"5b44:61c4:2b98:36fc:c1d0:4e68:8519:ad4"} }','{ "c_double":25.602234293776007,"c_varchar":"well","c_array_char":["cjGiIcAjQK", "IMshYqXIDU", "vJGyfnhOEl", "rjPIDzJwtd", "THHpcDGoBL", "ajQUpXFAYN", "PTYCnFbZYe", "HosjxrhLHl", "rRPeuegejs", "IGtUcEbTYu", "zcoPyeRQrq", "XBzZFQyDFm", "ORjrqpyQqv", "bjSjBHJyhG", "YRQjHGxZpk", "CpIPmYbzpf", "XMGMLsZDut", "NMBONHsNUG", "zfdBJyrbWe", "TesdICUxkp", "QBcDbmOVKc", "tQgQYmZNnN", "zbvGmaTtgX", "JlaRLoFjAp", "GAquKYvtIr"],"c_array_datetime":["2019-05-18 17:01:56", "2003-06-20 02:05:58", "2014-08-26 05:44:08", "2018-05-28 23:57:52", "2010-10-19 20:23:13", "2013-07-11 11:40:57", "2000-01-06 04:41:22", "2016-07-14 05:31:13", "2001-09-12 14:35:16", "2006-01-26 11:11:34", "2006-07-24 16:06:08", "2002-11-04 04:19:56", "2010-05-08 14:41:19", "2005-09-11 19:08:46", "2004-02-23 07:48:50", "2003-03-22 15:02:10", "2001-01-01 20:12:09", "2017-07-18 08:03:30", "2006-07-09 09:07:28", "2018-12-11 09:00:10", "2014-01-11 19:35:13", "2001-05-26 15:20:30", "2004-12-13 16:29:29", "2019-01-08 20:10:08", "2004-10-13 07:07:55"],"c_map_double":{"c_map_double_1":84.77502824884775, "c_map_double_2":25.333814927619503, "c_map_double_3":27.43902441783853, "c_map_double_4":33.727300393819036, "c_map_double_5":80.45337856876458, "c_map_double_6":54.40266454550184, "c_map_double_7":94.83118452518423, "c_map_double_8":2.9501637459264147, "c_map_double_9":8.609012789482785, "c_map_double_10":79.14999359658995},"c_map_ipv6":{"c_map_ipv6_1":"ca40:c557:7f5a:d039:3974:65cf:a173:7c1c", "c_map_ipv6_2":"b271:2ac3:ea3b:5acb:fb28:9715:15b5:da54", "c_map_ipv6_3":"dd7e:73dd:1bf5:b7b5:f281:c789:3588:388b", "c_map_ipv6_4":"5020:eea2:b30:bbf4:fb0b:fccd:99e2:1a9f", "c_map_ipv6_5":"9d2b:8c76:50c9:9463:5fc3:34b3:ad51:8691", "c_map_ipv6_6":"696a:ecdc:803c:90c7:72ff:7b82:7832:26a8", "c_map_ipv6_7":"3b09:57e1:2e1d:d51a:351d:c008:7d4d:2050", "c_map_ipv6_8":"121c:ad02:ef8b:8473:dde8:3eea:26f3:5d0", "c_map_ipv6_9":"1363:894f:28dc:8740:6fd0:1b8f:df03:28f8", "c_map_ipv6_10":"2096:b818:8ad1:8b04:20e9:3d1b:46ea:f9b6"},"c_int":1890044290,"c_array_boolean":[1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1],"c_array_largeint":[-825902102852808778, -9186253780797592846, 1456086213878322098, -8483871023597302093, 6959531487397052637, -5349278366929348981, -46338675290544581, -5880572441095791387, 7442406613186792450, -4013135911022471035, -6600864270417832099, 2059668718940026183, 7372246515183640586, -2370104509497447763, 2934992638176669285, -8479670254022841858, 6912450654792292880, 4004704521704758337, 2203751960797473694, 1072839189784652110, -3022518932569316624, 5649104161849508728, -8500625794064261863, 1253210029395207515, 6830795263848663523],"c_map_bigint":{"c_map_bigint_1":3990919038771393639, "c_map_bigint_2":6192797210951551041, "c_map_bigint_3":-5054793704485168612, "c_map_bigint_4":-1610733581502342083, "c_map_bigint_5":-8155485193780379488, "c_map_bigint_6":-1073137637954964186, "c_map_bigint_7":-3781861986383349213, "c_map_bigint_8":354679264490641622, "c_map_bigint_9":-3460353184667107584, "c_map_bigint_10":3170820063091861209},"c_map_decimal":{"c_map_decimal_1":10.0792, "c_map_decimal_2":48.0940, "c_map_decimal_3":42.0726, "c_map_decimal_4":42.1885, "c_map_decimal_5":13.0897, "c_map_decimal_6":30.0534, "c_map_decimal_7":72.1563, "c_map_decimal_8":36.0228, "c_map_decimal_9":24.1076, "c_map_decimal_10":49.1108},"c_map_string":{"c_map_string_1":"sZozvZwiqiipLaMUjCIkomztAbkwRlzOTjAmSDQlewLeRDeMenMfIVMKXCvfrJoolHANGeCtHEEYzkRDZCrVBbsZoyRyOLXYIWrDpehdEEzNaBWieuGiroCLVsTbFYNpivAqHjgZtCtGURBlVPwbeAeLKUQKsWtZtGJRFhWkTQfMfpOadxsRkbcsfwMGRPjRapDBAIAuPSQRCpWxjIKvfUtWIojmjMGmyZHHvOcmdsggUBBZupNAIvnHICcxBDfBzikWckRBtsqIgHVidFFLvDhIUSYqiUJWJcgqhNjFpXUEpstrSeBeIjdiWZdoEdLdgJfqDsuBIARRIEaAlhRibadkOdTmjzfwNzIqeUlAlXOzSomTIrxoqTZmsklePOaDfMlTNXUbEeQhrfdaalvPbHFYFFiTNFSXMEdsPAGRhbydZDERRZCEjIHrnSMUXAqFrmhgWTBGNmqnFuKDvwpZWRxyEAfiVVbSNkbxCqHvNoorDcavHxoLYGVhQJKfYuoS", "c_map_string_2":"fmMNzHALJQfkyWOjEvXDiaOKVcGahkkjRcPnlQGiBoTIJoiNpckRNvJsiZvKGZGFOdlqFgYEDEaZSpegFBcaTcMcpCIoNTKtrpAFZqrXghvRkRkRJlkuogDzjjWQeNRnqmisKQhPVALFhFRFOCtRekLxCfdrdkKRTYkOvjbSXCeLhsLgBsWQJTcxYFPAKmfWbhESiJfxJFTJBYpJSmaOHGtYNkhlapWHdMQEbkERlEYHGKVAcxKcaJCKleMdhVdhSvBbLPqZtySecnVdoICxgbgnwPoMjxzGMkOcPiiGzQuLMGYZTmsoeWCzKGdvJJGXwlXaxKvMnSrQRinoHLrBLZPPzDXguDQRReBCVqynidFNjUfRmRLOEuCtjrkgobVlKLbsZeCHYkaTpETVgGosuQDClNjETeotUOilFiTvjFPQEbgpDjTaVlLiDdijaldnETFSdYWrpigKrPJVXWnXwZrqjPJFjNeQycIPlktIpLvdSwkRRPpvELmwLKALlPfw", "c_map_string_3":"IKUBTlcSCsCGFwNZNgWZZAEEokoNgXjgHfBvJrDchAKufNatjTUEwCrovxSwHdSLwunTbiDlnUHMHkPIUnlNFMlpgVenZmoqLNahUOBRZPnwdoNiMKlPDPmUZjdApNxSGEEStiAgaGGsjizJWmRhLPXsYjqxYkhtxoWzBcKRDmXRmelHpmjHiCLBrHIgnBhQfBqcPbxbgSyQeUSgpVhfzfVLKKHPZjATzYLgxnlihiBWXtSOALyRtqdkqpKXEILcasQzTZpRgHqFjLXcaYQMxtWtgqxsRpkStmtwOyyJuOsbgeuwkpSRGFPvoxdxUsOeMutnzlgOPOHPvAzHWjMTnfrtOpEtFXVZmbhuaugSqJMGEBDtEoEMZXKftxZQDaRfigmpnNZTzcHwUUQCIWMpfQhvOQeRWLPhXebgnlcCeOAyQbfMHgulgwWmlzGPWcPsqQusQtweuAOMmqIFVSADLwcXkScRMGiClMjPNxlIeOzzfuFBeouSAClLHqbmtRnl", "c_map_string_4":"aeopaTsBiyDUpzvMuIZStboRDWyvkhLcLyGmunuYwRXtiNLSeaahTgxsCaXOHQRSLdVnuNFIyvCVwRgtsqSDAgofRtmYElobuHkmdwtOKHqlWHGwbrXSVqtsqNYIMGrAWVCkiTwSKotyBkZPlCIGiqLiyGEicLmkwMjXCUsZdetMRblCbrPebznYQyTWJxheOyTpRCNHetJgICFImJteoMEcpPjjZcrGPgunmAdqFBDKzpSikFCwYCpheNfTqvPqQbniIBrltoPVYrvPrvyVuwmsaiLnHwuUryEDjTuUVypFIAjabzHOTMpszGqnUwWjIofwrSpJfBdZKYITIiCvioRdPqTKQUtYhVAtPqPgvFVjVWtKTEtioqfjeLkHSrEcrvNkOyqnJAiaKuvRHBSlWddVxRRzDwVCYfZwGskOcdxDAzStkUNyVjhJxVLzwswESuniGsERwWcnsHctPJKtbgfWVRVBmAVqdXdUkDPmMaMwKVrVFIvudTbmhtfFkVBk", "c_map_string_5":"RhhFGjRMJOBNflxgsfPhLNERLmGIKzUqyApulTnhDztvNrgKTdmeDSOQOyqBoZQqqCJoMAGlPmyfvMJTufgTuJFLSPvcMogMUobRrjULzMfQZZHURaFHaaiBIWFEdzHEgMjMVKoMINMyCjpXIqzkXsYeQNRlxQvBIrsGYMQHUMDDXHNEfUmpcIEwmBSIDCzuoAbIRfRXnlHwrqAQSoSWCExPqzXuZHjcbIseAaFTMjzNhKrflGMAjYpaELfcvKTGUUtTgmLLpEmtSBLKudVKvTIgCngIwdnYVZQKncceVCYQzggvxZSlNuaQmXQkWNyzpxtVoIpASfZeEsZycYovfzVhYETvJyUMhCuoChIwpeACxNRwLQgDJyuetEuOdxORwHRwsunVxlcewgEEwzuwrtfxYVOGhmbtjaIrGDYiwAsLvYiHbSJUSjHjvJMONHBDEFHtzLSNkGBWMdNgUJHrhMdAEftuTnmPcLZeGpXpjuYXNBztsFezTEGiNDhwGiyX", "c_map_string_6":"wznbJeaPCJlegnJGlbCUlemTZKVVxumOaFIhMoYSHBKgGsXhqwoUOusGnYPkjxRFPryHUbghyqDuPmUeEyKEJECqVkqmWHxhIeXaNSoUccDtmcgRrwQCchyFuyBcfxCKgyLhUYPWsBwMcWrqUbTSseJLVzeGShzxUqNeYbYcozIuomuCsmvQhsexjRWyzFNPifNXNKsmEkJzeMdsYDGPskunHZESOwwpVfJMalDbRzfuCdSXylRJUKEeYmyNsjadzyHgTMrBJETTOFBKgAYOjWUMezMutTpXUsKimzpVQEitIVdsusQWbGAevBOuMGabAmlhsIZfcbMKptghGsQfcBuiMlmnwfDIFrCztcQGhvBNEkafzwwawnpUgbAfGiDhjAxPlxoYwuNrUJsHnAyqWdWzPxiBSWdkrYJyHLqxsVODdpatGjbCCNHEIdxkUGvVSSdtwXCUbhiENZuJybAgPTlUKHfDNeyjGdmXxHdVKhozcvyzNMEkWgHbHJiouXEE", "c_map_string_7":"AtnmlviYwZdBVoNgHENzHkrFnLDcucULxkGKIwqwqgDzhfcxbPTfaxrvmoYfZLoxfEnVArntuZkoovRGPZrvKNxEkZMlVwUjRbaDhvkVJiDkCLSOaSPxzeGIdqEtywdMDgUGGKtqYVzLeHhRzcSFQwhpDpAufYwTzMokPKLpqgqVJVTKJyMlgZyPgmGqzRakhfQxaqNMOCtmJjzmYpwTHCNRSZUYGvNAqfIlJwVihsUvJbwBcTTJxnLFESRRsNoTRUzmeYNwNgkGltKkRwEypbrwisLapahdnIXMKVFtWRgrpNZqzqLouVvxRkKBmWTqDNFfibKXDBQeKsyXxOQiaekbDXjIDizGpKCHGwCZYyRzDCuWYTlWyaTapqFRvBTpJKYYTckLqWJuTpiwciUgUuoGDcbGOktXYFbJLNfjUzjENNjWzGpEysQMPDUlDJqEttWAPfBqXmeCmQkboSsAyUVTzrkMAmfloBYSjcAVULMckdjdhhDUuZdPnipRfSjJ", "c_map_string_8":"BknZwqYeIOElYuPGrPpsxmVOcEKbWVywmyykLwcraFnYIVJmkSBqBgXgQFUWNhmyQzsikTmjWEnIMNrTDpbZURevFWBQpYkCzdBuyjluTIKUHcnguivqYpLFNgPOaTEVAYaTxqeIIrbsiZlLLgusnIQGJVuyzXSJrieBNzapjaiosLIFGOmhzXRPBoANWZevLIEOillGxXnLSLnJOBeATxeRegYoajGHPwzjnHTBeULgUTsrSSwwlHNMlooxTZOSbXINLBQjZJQBLoORavOrKaAKTzhONFNOiMnIyqBwukbZlSCVJzQEZjHsuCDjXNseHdVCpfdJBUIqJnVhmBRmvjnWylghRqwUCfwtJfhjaOMSpOOPofdObDFcOVcWigqrZtWgbxWowKaQsuTnaLkndIWLgWPoiiekNRrdOhLdCnxpBtvolwNmNywuCHqEcxGXzWzWEmvpNtwKiaJvntasRBgKXXxWLLKBYKhmNgPNnAQFdDkRmzfHAqOADzlCzxWl", "c_map_string_9":"IkiXtbNTGhFPtXyJoHRpGhEIcSYEVUleShInUiXJmPkIpDLJTYcTCXPIuzNlKgLHhuiwVHmdNzSvjrzVnNdqgNBuSYjVrHjGAsXrczpBjuUdMZibRVDguosZjjrTZPvWCUunPEbYvlsDXnyvnlUaCGHZvQwURhCSBYyfTfFEBxcltdnMprRtNknQIyrxZEuvwRbpPSDLJQUtVFFgXeGCwmOJOrmoJXCCbdSCYHFFWHyXvSYjkdCgBYgRguzeJOCKyvEVFTvVgZQJmBHwwTVJYnqObwrHjhXmLvfFIJtMNfWDxYTUVMExeQnjRpsJeVGKOKdAHMsxcLtEiepEreWpLTrnBSpMiyGvAVJSvxyemTtbARnsxoYZBObSgtHvCqkGkqMnKxtGhtMEeLrUOlJlNkTuAjmRAYcxItOMOQljfMZHAeMuwiAVrGeaQVKIUsvxpTuqwpklrGEFJdkJSmIqsuaCJIiPbABXAWNrUHDPFAjuxXnldQihtbSSDMGbvSwM", "c_map_string_10":"tcWsmNszlBWNSrmDcgRDnzCkifEIcPXEanUHSbUQFhNXKemvcqzODFOQFHpZxhFvQQQsMUlRgzgHybcjtVKfVlCUgjYrQKMByjmGQPlMJmiXmZtchtAOPxvEZyxLTpjbjJzLczyjVCyewUvKCfICwjNyEdbOoSGnTJQaIgjrIuAumNvFzlcZqWkNHNmkODRXeovxeNSjYbnhiMvzhgcUFOWaCCDCLbeZIcvlOkuijcLJSgfqefRVkqlodCKlGMpcpNdrpbkvZSivDZyTLAgunuPtsgazsWDhDXTHRvAhmjihroMMHmUmQIVQBUHCtFfKNNqFPniXldjosBRWKxMkJYxClrlDOxrjAbTNMuGLliYAljUWEEPYvalYOcoKjQxyljEETIiIneKOKgPzioIIXSOQIvpfccVqkdNcwDsNPnoJIFuRAYqPpGmUapoADbtMXMlDXWjhPIjgBiWqIrpAAtptSYaLRRyAVKHuiEGJnPwpbkcLBnDKxxwkLKYyXKtn"},"c_map_date":{"c_map_date_1":"2017-09-25", "c_map_date_2":"2016-07-26", "c_map_date_3":"2017-10-18", "c_map_date_4":"2016-11-13", "c_map_date_5":"2014-06-19", "c_map_date_6":"2004-01-18", "c_map_date_7":"2006-09-07", "c_map_date_8":"2011-05-12", "c_map_date_9":"2007-05-15", "c_map_date_10":"2012-06-14"},"c_bigint":3271363855412019767,"c_decimal":24.0854,"c_array_decimal":[35.0554, 27.0985, 95.0330, 6.1412, 84.1489, 36.0685, 13.1674, 44.1125, 72.1434, 48.1895, 99.1799, 16.1374, 12.1812, 53.1563, 18.1524, 63.0683, 25.1150, 40.0435, 55.1899, 20.1759, 11.0207, 60.0809, 100.0822, 93.1531, 30.0696],"c_array_ipv6":["yhTxZaZxAO", "DBYLShkNsa", "COOrogfTbq", "jRyvWminOi", "kIxtRnoyAO", "TQSduxrOBl", "RfCBpHSeuU", "EWSbeewDKp", "zgCIzHlmOo", "MIpWsIyUVD", "EmLCHDulyO", "HzDYiCfnyO", "EtvBgdQKep", "hnmpGeHrdU", "bVamlCUaSK", "ZSlXpVlpaF", "pTWSCvVxWB", "dUEMENtwHT", "QjKFZRTldW", "cGPuKxJfxj", "LjaDxgfpYT", "wgMiQdMeSF", "jCmsJnVwSH", "HZYVCGRfcY", "PpgsQqrzHx"],"c_map_tinyint":{"c_map_tinyint_1":-45, "c_map_tinyint_2":80, "c_map_tinyint_3":122, "c_map_tinyint_4":16, "c_map_tinyint_5":76, "c_map_tinyint_6":59, "c_map_tinyint_7":96, "c_map_tinyint_8":-47, "c_map_tinyint_9":4, "c_map_tinyint_10":-91},"c_map_smallint":{"c_map_smallint_1":6803, "c_map_smallint_2":9251, "c_map_smallint_3":15367, "c_map_smallint_4":29624, "c_map_smallint_5":440, "c_map_smallint_6":21625, "c_map_smallint_7":-28602, "c_map_smallint_8":-17532, "c_map_smallint_9":-26072, "c_map_smallint_10":6457},"c_smallint":17689,"c_largeint":-8533599499095896540,"c_datetime":"2005-02-19 15:17:29","c_ipv4":"143.16.71.168","c_array_smallint":[21787, -5041, 1971, 20519, 21564, -9992, -26063, -16983, 11619, -9519, -25623, 8987, 4646, -17151, 5020, 6049, -28586, 4850, -8237, 4430, -21353, -26216, -31942, -13168, -26567],"c_array_varchar":["eZnEmTToFjPZgTSpqOTwaCMQJpGJwMrgNrrnHsslSGSsodeZxRVaqwsvByHjlKbwtoUDRyJqIveTJmYtqZfqAADpMcWvmQGtucebvhTalUrtEVvmtLFysMqCzhOuaDrAuRdufarTeOhLvBRFwLCznSnfOlDLvsySIIlxbRBApEEWQQwuZdXlOxKclXZKXUlztgBIYyPqnRaavjkXqCbepAvbDHLqSCstyGJGFBQvrlHqIHOstFprkIbwLjOEvRjk", "VcGSABeIwLapIREfbyaBVoeZgPQpQuLmBBjbdZLWECKexFTfdlogIOvNskiLHotwGTjfDjlvUagCVCUddIiselkPXvvwyFhyNivAWdwxprtyzMzzFcosenmFhUUhbOjpbScAkOJnGwSbvdgBsnsreXosUTVEHVWXOqfaYdkarAjvdDZgngldPAwYEEoUeQEyvkVDbrGXNdZrjkyHutYSLfNErhcMbbMtgyvmWMwZownBVFwzVTMoDLYjQMdNjUrm", "aZWfegGSrNunxNJXrMUdKUtWcEmdzhtOnGzPNqduteKzVyLGhICWkZmWhSkJdAYNDgqcDCoYYRLXmVMhcYHDyPiNicQXRivKJGIDdYdIVYemhNNGbLUcrEYcYDgFgGLKXDwMkUUrsrBLmNrgLOeAUbBoibpijhgJRHVnkAjihMIVtEmynJYMCbSgqVLjYenWsinbSnLaKRgWCewXlJUczXgOwRdCzGuxZWpXNCGFANFPudRffchxumlfEiWNTXNZ", "qTLgavbRDOTASpkndrnWIGNUvBAgEXbnmKoFcIhdCaifLOUTwgQILjLArxFGBWedTXzHHEszcwQzXtmaHAdWxouOtIGxBMVRGtVWGFzKkgaFyTchdIHNSPIWAZpOBnOOJwHFwgJPCzHGboiAoRpRoYtGXrxPEoBQVgqPYzeymxCWCSEyzZIOavjaEjtURJZDZOnWGwrvoPIfLBFRBhxRIPCeZTyqtvSZiiFooXRBfWcufnhqnuzQMzUKhJxJglOQ", "akziasKYiSqGbuypvhFPrgdHoDcwSCbttevqdEbbQpEciJeCgNtSkJEUrseyxGmyelwhUtvoLYwRqwXcUtIyOhGKNugUuzijbrtfnFykRWUqehHBNhDbWPaAlwZlAlRhgAMSuxeEwtqBNwBjrArjayPCJrfBTEIjchazAHUFOOmWiwUYVoqfYFbQluTWhwQzytOjndtUARwBpQkqMnjxAECGfzjYSuzQlryrJnSGHdyIhBDEVPFQKUufkfcoCera", "EKDzGFRRMKnwxPpkLGOtDanMEFBovorahsOLBmXispDkcdkEseFTbLKspLFFlzYipNWIFPZmpATOBqkixljzhOykHjNSJcEriPUGFgNhOvYDsuzVWZKHkAUPGDmKFuoDsRhRFepDpzeiHRdrCAEwvRGzbohEVJSHeuVlnpavvGDtHRchgnGjQULFWyNTNlQBhGLmGhAflLemLqCaDtpsxWOUwUsvqvDvTUMuHvFsTNkzwDoCjtfAtlhzXamWOYMY", "PRdApNoLypJvXRpsAMJLFSXApOvsdNUEdSciBLJkBTkbvMHyWqCXtdGwqcJClcKyGiRXCJkHdOdGRlpdOElvIVmIJzdkMrXbpqWMHDpPCqxoPOQObkZlJooOVtPjcMKeWUaTEfBzbZMLSSlliLUUaJdpEXHNnepYtDaHmhkavYZpRxzweoNzxPGqOqnHzGiQeJTFQkDloXpjfbNYNkuGQwVPnFJkMzxnbztvnGNYetqghcDixpcalKfkczQnfciW", "MYvqYvLiXKyvljwebwVkjUaGQMkchnViZQnfbMXbhdKZPglbCReubEjObDBJxQejtwnjaDhaRqlZHSjMlbJlrUbWCncxBjxKyIZPWaKVlNlqFFZQCmktKZHiDmwfmyrnCIhsfquQxwSoQjiWmIXJvkizzOELRHOkLiwSLlCzFzcUYiYImpDqrtmMeGkzIWFgETbGNTVsMtTzaxaGbwCLNVXxtFpyFansQRfAoWMNUDVsMmAshuHSRtSBuabQklry", "iCvLuyaGxPRpzvUwjrJtolMNeNyAqMRvESwoOOIOKIgaNDBKCPAyGqHqveEvrcNSaPxxRqgkKLsbmLyjgydgjXkxrSNYFoGjWzfLyVogSrVGagIuNNEDgLOEtJyxhcXYGLpWSuViSvgHInWJgGcanTZxNRlqCLuQnNCfoPucFEPWEYBoHIiukpDbAKTFqRjpJFVtiXSCOXZiLdmkoRwTKshEPWcFTbKpgKmpvYJLOKnYrNokZrkIMvvcCyINfNVX", "cMNxvgglhXfiGWSKoqeffqQbWQpapyqFrRFstzFxyvBVPifYxLOGnbdqtlowLKHqbzAuETytQuUpCyqYHDJiFfPLonArWaTgGJjOxIhnwKkNBvgBvHxwGkmjEOuctUZnJnmvsKSFzASmHHqIFSlGoYHGGKaNCbUxsIAvPlwXHUOrFnJCLMGCeswiBOJGOUrebOZUnqvneZlIFxKiSHkqdcDJDWFFeoIShWXEMTTdlETVzBEiUvrqvToUJKnCoZji", "JmshYjoXLkyCSEUXsLIMFDbtoAbIbwwZJBFrFEhPMWqMpIgbzLjbIWQOykThWkYSwOmfkUDYYzHDyzwaXgEEgroWCCAXizMvbrUwhjSfTTBOLmlYXfaaZGVkUoqGgDQyNbjOfqfthbaGahAEjQHfeATzLDomTAYiPjMofWUCkxwEnotSkhASeewhQkuKrrnQTpCHlMAWoHULIoJYlfdeSJuGfRjhgBqBLCnVlhAbFTQGSqAbKfiJOFoThvQwPCAm", "omDjjCFClFqkYwCAadpwSUnhpRlhyQEDODGDMxpgsteBExSOvBbHmVnqUXSUiMymoAdeNojPCjKuaQFjaqZVKcfgVBeirHrrjEFQXowdSuNHUTrapJQvGvtmJuZNwKNHlQdIqfiSMiFQHjCPamDsHEjDAfFnPSTlQAIZAxnPscgwATdtinwThVFfQXRqFwVypLhhaCLGFPsfpSYpgoEhHYbYtxLkbfCEAbfimkVmKuDNfXGwgpURADOectWTJavd", "pSvONeXsOenrzwgqirSjLJzEwSGENoeKnHLanSFanWQUoivLMNSoZlPSVfxLOIHnRfkjdCSegLSmnXcDgNNplphzdMdXaenJbinsluQQRGsdVjyxhKLDGXRERReoULkDkXDnGflvgPPBacLrjEnMAZHQEuzTCIWwiqwadKHeglnnGfBIahbaSEaDWirkRArXNSPSxvHqJbPhdFoMfsjNNDipjyhggZOZNjcuhIlTBfWcKhCUYWjBYXzYVWTDjRJs", "AAikWyupPkwJSTjqRpRMLNlqYtJJWbryIVLHRlypOgiXqIxXurzoEMCtbQXIQFxWScaOpVHEEGGePONMxBUdudVKkoHSVQtuCJWjoXkVPCNukXWBFnsqJPLvOhLrHEMDwdFCEQizmxYWNrqxOwTxFKBXFmoNQTrPdPVhZJUKYwTtYCFLFSKpDfwOBvBYGrrGtPTWUBonevlpHrOfJNdIvzoNqHsVUUPDAqCiBLhGFTfFCTvSwWCFZgwaJBAOevpC", "fiKZdiiktrdrYCymAwIJlxwmjkFPNXbFFFnWiRVCThDHDzzwSAYfoekdbDmVHqKROOLdGipFBqRdmzEZIrNuNxrhkDhBeWAElVxcmbbZWqgDzhOORGSQkrKHLdlHlOUhUGMlWmhGcViwNLcdtAkDpPejZUMwrxQufWxyOQtDoFnCeFLiVKyPzOYQalAnZYjaqKYJswFrJmwgFDeTiwLCxYMkPOAvshnMffHWlHDxqbumqDAPtfSphegJqWGkLBAm", "SwOrUGmnzDbIcbgsaynprHiYCmUReYZzRDhdfFLaMfAZcveXgNocOSvVfDzaNhyCBHGcxWQJAmVzRaKHgdzSlvjkOIJHYjaVjZybDupfBlvhSCTRBhpcLiWFSOnYjefHSkftOYbFjkOKlUZDbhNOJvyULwqaSonuwLMzWbYnXwopLFjuiFEAdzIplsGaHBwdzUMhNcgsGdrDMWjFJpLDUMuDkxtOhmhFuuzrGHtPZQlxmMXYqPHrXkkHjkuHFoim", "pxfXIXyRWfJfcuEzFneAwsvVLPASrJTrpVbrPWdGBcFTOsTaeuYEHSORSdWgrYbHsfRjmBknbgoacGaBGdsuZUgEwCnDgpXoOzcjTvJcBzsYWORxBaUyJSJTbsMVazaUXfvcvDnYklgoiqzPFCLUhJbZiPqPOlqMwyjfkMjblZwfoliabvUSDiiVDXHYKbfJSyKCGzHJvBzlkcWyZjvIoDhzVsJZuRDUGCutujTCErWKiimDzZsFRMltSFcKqKga", "jPxHMgHflLPPdFKSIpMIJLPBywqTgKFYfXGHCAzAwvOBVhzTXMPMsyEDIYIkVwCyfeJplsqUGvwumiOCCUjWBGUmoGfZIALkHObMDrGKyDOJWZxDaOzZLGFehYnyevMqFofgITogDzXSkAPJKEKbGVkMWDBQagyBkAgLfZfIOvEdVhHNoPzWoPfKMCkYbJNeyNRvvDkweSANGChOaojdMIfxfXWAwnAcCIZJsrihwFpWjufLtiZDjbiGziXxiFjt", "NcCUkodhacaamSGpNuTxquShdKPKSabevVsybpMFiRpLgTwdjIcPCjeJsFaXDovpKhBaZuBhwBadQErxgYHJDokDbfDxCdMExmbCUaKzzpGZHnZGevqIZEPjicPQqUdpjGoXbaznELJMkYLKzNrSqJsIdfkpvwWbPYkNknnYXJSGaFuDJzzyGVQWEBNaMoXItIZvJyhpdnbsRuSGuyWMYSgJLkdwotyAOuRrRvyrfSfggCBxWyiEAyhvUAqktIkJ", "iVrtjDrPIApCckMjEvSDBALbFzafeaFucOnIYTOdHZVNiYuqjGvYhSocCOulaSapPjNRsYLVZxlyMfkAyMPpZmPQDXWNNnWVTrCyjFdgnDpbitYTjTQFmKtoyBbpdWgfYUCMCjppJytEEEOBylCgmiJsQUJdVUvxqLsCcTefksmjRCWLcHtCbJfNTjFqpOQlHiPhRdCFLIEevkGGtHZkIlvWZJPnYHmhVDcTbudIdySRsikkKvBMtnfOCSsMiTyW", "OaHliZomutCDQHwFZfuTgRfdcgGrpUlVVtsiDJXewKuPqrFLGMnfWUyreNFAwcvsHCSxrFGascAUZLneMOkqnZttnUheBVBWDaTuQSHSFXLGiBOPBnNeJNyGXmLGQiazokJHdIwRFEOhTQUCMioeoYqctDMoiTeJQjHxtrTeHKsJcbJXdqDGtOAOZEiZCMSnOueFMJSVzZWWKhzasAAapKRZUJsVDHJLWLwQoiZLRwtOeYczDwwRVOjlGxaijkQE", "ZdkmKMxrCcAYjkgsziPIKKLRwbAiTKmOAXMeENXjLyesNoFedhbxLXvEzayWvQDAplurQLVBnLcWSgiNBfaQelyGsMzNXuQoRDNHBtEGhsjvLEZuhxzuXiwAvHsdwvBDlTYHUDEheLNunmBZtaqQZUuUqWcRYTcJJyJmCjjZDiQEhLoBzNAJCcuSBJsZAohhgQsxoezHroOmbqwVkfJbrHivGqeGbgndehvqdITIoZDdqUvIUxCWSPpYOmucAspZ", "AfeMHJyDuOUMgnZrhnsrlqpnUwWukJNFuRkBxYffZnlvqsUcDEBEvByBmLbCJEmKycFhAocqHXMafmNwsZYpgRnowKPGjAWccQEjwfNQctTTEDUetduwuaYbnrLCNWOBtJwYQqniIYsQZTzMyFMAvemBFJhUBEXPZpEvFvugjSjgNcvdunozSwBQLLxmFNqJhtLzWiXQKrdGtuWZKsLPxNIZIIIbJImthfjXAPaeQywjOCyfnBvvKyiIVlzbudQq", "DgCrnsIlhNNORDfHemwucmazeBZaDHoXoBlNWxgcbkgkVDxysdCpykeQwjxffNqYSQOTRYkrePmCdJzDVuUIfwapUElcuToAZyZSqddKbAyVDjZsrbprJfmqXsTSHoYkHFaRuxbIlSYwbKIopsinXAJUxECZPjtGaOBEPRXdmqSfJIZiOAhDigStbaaMeNCqNqpGCBeoauuHhyauFhMGBVramkVCirhSyMwOLMeShnEEcAQZuHECexZJgXXyMRnf", "ClQaqFzlKFBnyheNjSvWTfuCdpRWKwGsLrMKzADeebFRaXAHlIiLVhjODNEjPqbtlTxaZHRkyepMsySiuIHkxQOmeHtuXWNCUHsvrLAcNYgEEnNxQyrxGcvSmsoJGctEloKOtuypNmxIVmItfbPFeXlfPrIXyVCrQmusdKiaTHFMSPIsVOZRBgvzCleylNFnawDQbfOCOfyXgTwuoNCCpJpeIFrcrptqbHrtROHfclsOvYVMaNRppApJolGHxGAt"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_char":{"c_map_char_1":"HIemXhaBKW", "c_map_char_2":"xtnKJvlycw", "c_map_char_3":"VzVjjgobDY", "c_map_char_4":"QFALqiwTLJ", "c_map_char_5":"eGZxcIbCkJ", "c_map_char_6":"JowwpeVrQN", "c_map_char_7":"IegKKUWick", "c_map_char_8":"FxWQgZwawJ", "c_map_char_9":"BIokcPgnnn", "c_map_char_10":"jLWWdFuCNN"},"c_array_bigint":[-7504499531899276824, -6468274943706869416, 5500776188507456785, 5895972104783830606, 3701875428836612259, -5188110887946148819, 9028059022788192806, 7886162633906386745, 6894858798421312503, 3563804149707110231, -540222632022818565, -4509041078984849589, -6503531412393354986, 254123439787520909, -4806522410909139034, -886765598709027719, -8845668071623041357, 2904270536794614634, -983971822761296233, -3310853317044864084, -1355833722008228057, -9110642011098982625, -8844781088815930293, -2751671863308895372, -7911922894841745518],"c_array_string":["uOZLUDMqhiJaGFQWyuGYwVXZbyvAFjCiwszYLgIofthbMPmkdBxqMvlNcoQQAWTrXdqiDdsvUAVQtfVNqMeWaDHaEAndKMHhZJuGzDzFnNOABEvcvKFByvQOGbFTateYGwgJzSUbDnZRVHhURJwwvEDrdWwxVmuXqDYaslXTfSJPDuCPlWSBQTHmHMeejPbbbrAjoJLpOuhPJQxcUWdloVTHkWJpXyxUGAKaasTIpfjyYdzJlBAPvpGckPRtfHrygwxqHcSnXKFvjbuLPxcXXAfxFVIiDPlkcOhmRYaPvABmieyrJVQsXzWGfIIuJqrbWlfCDuIIgJOhTgyjNxzLESospWwHrKUcWZEBXKMEDEDyfxyHPRAUhurjirYJZmBbJIXeRgeATXrAPbsMBhPVLjnIuKIHdtCkEIPeZGlsOKsVuJFnuyVphKaJoxvPiCTJIZmLFQjPpfIiOjjAqbNRVtqdYYPXjmWabgpzljxaQSIBirgVhrwTDdqZqhZGsuBC", "UJgphlKjiitvsnHpIyTtVHckiBjnmbJVxZkKVxLqrtWzFSgJuCHMmndNyMhxzFiSZpTobjieHKIPQxJTRwfmGHQwLUCkquxNljDBRcHyfJKoDKblGSAfzTRevdnLPQdPfyPvuSJTxgRFPAhADkSNtufAciuhTRbaHzCdIroeRrYxjaueKppJidkTIJFakUNIVsYeiWiwQRRXKrmqFwDWlBwNKxrHiByZBxzfUCInKagXkeuMIrPPePrRNveWeAiNuKBVVNIxXEHCHRLTovFyHzVIuhZrMRHVWQrDuuwrrSxuwfpDqRIlbpWHWAkScwAbjlGljxQvqMtGywFgxdGZsnaOyVVUtHhtliCYDDacLSsTiYxbHRNbmPoVgtjYMkPZbmCOvtmpNiNgvKLIAOConTFyhKNNXggAdbqLLwJKeVtkztFDeveyCJZqcICDhyCuApMVcnhpQIpvsRsZkjOvSlJDubLAxMxhrnfeFHVTbxMaxVBpAhHmaRiLPpxLIKvJ", "pGovofMcKbGnxBYtIquUGgTtGucwSNTXIEMYscOjeLbPMFajyWGMuALyNmcXvZTwFyJzJzcqcojQnJgOwDbaFZciiSyrjneKMNWXRpFIyFoJQovNrSxhcViSnffuTkwlXvkxOXRudUsLhHGBilItzgGthPHXMKLtTNcqEHaQFsveIcnHoASIkZMKsJujEpiHaNIqCxDKwEtRxXOcNsyxmCdqWwmUtbIOPRZSwHzdsUqPUsXoNvNyvwfmQfEIoVMtMEjYZSypLwedMVvNxsWPfhLDptSFHOvaiaCDyqwFyjzHCECvKOxXKNPuNhZbqGrNiTZEizuemOccAnLRAZVOykskYwnXZBVuEGGFgBjWFlwkzqkHugUxVtsOkvXPmTsotRiJetEvjVqLcyZUqbOGSbOKhERefVLzjEwbEFoIuZGDUicrfdsKXplEGxYjwPFjwuuOIDArNbtwQOMMdetELXOCcYpNSZUSCWrJRDSTQtnSbSRlWUiWPAYwhQvPkTDk", "IrvYjZOjbmsmQIIWXDNjcJXlIySHwNfMUTeZXszFrywlfzxQhgKKSTnvgUfpOBwaaCzXbSGFhzMMYBicMLbvMLDAltjUaIPeYvuZltevWhuljnFiyxKztuLwuiCIzJKctLzivFMtMQVmNiPDPaWhSGFvArbubhSLisByUvOIdXwQuFTtBSWdlsuIrPijslozJESSJeosjrmReMscQyanSBwgiOtDjGvErUNIDMwYiuXAcmJkkSAEnGtrxTaEIARDVdmHgIazatOHpQoJnrNbyJINGPOdpBbXBiFoxfoyQUuuqKmokEcodUPzLKWZOTpkRlYcJkMDUnZxtiHSDblFzcUOPJCGMvBcRjwWoZaTWvaGbsdPdxdwYnzqBJlbpWSVnrrZsGmugUruxZYiwyXGknDktibyIqzZwDOuumAZSnQQsfDUTVPRnJvYFnpDTzxYeCLsccVGpqjvVEtnpnfBdWcSXxDtjPthqRPXrnwJjgCNtyCriCbeoLDzZNbUYZnS", "icgoqtnjpCiUciidOFbABpULukwqbyzWifTXmXasazWpezlpZTrmHSPKlFOXtSIvWRLBeUWdbHlWsIppxbwqrkMbhQeMHskzeiknQhZnnMYktCBRZOLhZldDobASHmvLHdbdxCqOHADsyVjUJpduePfSMszQrBczOfsOrxXhueKnKGeBlshkrXeyvRdtvVEuiIXDmmdLiMzUSTafTtzDCswweuhpUvshbYjsnVHcCjeBIxxriAjLRHwIwxnIlEVdmAkkgvFPsbLlfZSBoGSUxPWppiRKBCnUZvCplOulYUpgZWVcNSQbfFsjqfyHHVCxrfissWdKjGpQOzIprRfkddLyndHtkVSXKHZVordnkMyPZQTptIemhLxzmvaNTdyipZeOGvgyAiiksDXqiZJfVsyhpNLVArZCvCAlyfnilKACxgEcrhciRVtIBLvibSSzmgrXtAsqlzJKyQWONrDdLjFXUTgNuulmBngIlAqDkIAdTUsHZikwLSRmdsyOgoXR", "fLnqzJYRhdFDGNFZGJVqgiqiyuoJRCkKBEvsnuNeMtfMTfRADOpOcoAApoWDIUzKSvbKoewwdGGFkWnkIPWaDfcJeacjmXCicYkMOSoLDyJFpcktPHlUPsOyLGBDKenMSMOxEMEpgDcClSXUNVMeFBBFNuRzsvzTvQnUhaTJhwpqNIMxVEkeJssBnlPNhrIrXgBCQkiAjGdidbkJzNhthUTWOPYiQkcaKVLvZQEBVWzpgBperwUoiMqnjkwzGouJaOcNXkDVMAqRhMCbviTcBvSaXbDzMfHTDOeJaKILgYBJTEchAKBWsfiWaBeHNuzaQusJIvzKdNctbHELBgrhmBqVuFwQOuhZnlcCICEyebGybRclFczrjbqEmfQqdOepwaakivCKrEwPsGZuTzwODOvLzQmyhHonKMeWGULAmAtjIdiuCUGDwADwvxehHcnDhdbDzIJDgOefMmdQMDBsgIKCSkNzGyFdCqiVwUYTRWUbjTQysCSDBUdvAlvQxeSH", "rdFGwDDsiptoVOqoBXHokNYBqUtWmQBNxbgkScEAlLhZTzgkcpiMJfqJVXrrshxJmRnwWbHPNZsyavwyoyQzgmUBnlDgcmXGtdAvIQjEEhcISWJBABfpEKEscdOzVIRnIkOiOOndTPmagcnKPJjmxXsoJuwAQLcnCpnYREPHFkIayQdGoQNGxvacWIGKNIzXUFcugClOIbQcOeoGeZFYYwkuLdjRfxhDdCTclpuezeYJNEDjwRKWMDhJHSKjpNObYaPjUiYuAWjBhdwMhvSHGaICPbovgDXOnnoeuYTMQgvBNXvTQmTdIGTCyhhDRjcQJMCFqpDvrCPnyiBIJWAHssoLEGXklHbbRGcMmhtDgDEwnckRtemOjFiIdevBlVIrVIrZDKILlQAulQvxBMYXQuMzAsIojQQVzarYLCVBzdMnXOAWzHdqvsjzzqkAeCJWhtzlbhOsuXToJrJivbnCQgnGNdpNVWPTivlyEAFLThwkgmdlQbcgOwqeFmImRdwC", "FuENhTzmbdqmDdiRlmDdCmvQgnITMlmyXaOFNgyyjGNKyZfLxVSEiywVknERGyhTCrKIJUKEnYeTwTfvCzghmGhsCLxNLPijCaUeMmPmbiZVnlhRZyqseVhZvaYcEzYpMDzbEtEZTlzfwhsEyYnoRXxpUoxZTPqCgNKnPsbZlQvBhCiqfGtDhBvvYpYrXASRvovaIqgdiPnVAKjoNnaWneUHnNjoPwpuWIyPRhwUElJQBYZnaeEOIbraCpftmsxudygphdkqOAYhuZhJFRFIhXeTlPsABPPWryffdJeSggaBwXmXSvuvEZgWvHEhsMHhWkGIFrJtytMCUyNzkgLVzuFnRJrNyZHPwOoJHXqnGWvkNAJcOuwgxPVsByjoznOdJYSqpOqWPQGGdkWtZPiRWCLnIrqydqxyijYIKDBNoqGRlUqAkrkhOpoSPvMTxMNTBsvPmdYFgzANqcsOOXzVJXuDcmOuqfflrgWPaLamQQPInjyBKKzCRornUjBljXlZ", "gyktOEVAAFXKRMHRXFLTUMnIUdMJIZIjGFklDEpQsgLteqKReMmFUucCkzAsOvoAikFThFgMWInTHsavhDfZewMFVhKwhItPOsVnRkoCrZTqCXDoFdczlvDZbunNpkTEjbfPkrgUzYgsHmSNicLVMhunZxMhvDmubgbsXXICMbORbItGnkiSVDvyLmQaAhZgBjkGIDWWxDRkqXdDNBRHpiAckfcXPqVmXmeQIlnvFutciriIulYzcIwoUarwrUkcHMTtwckppcRSSpvfgILDUZMPtLzdVAhQEVdaQgjJaUzskydQkQuEooqKwItTCyfnLCbfPDzEvDfraZEZUwIpaJxxPbPDJZcOsSQpMRXdkaVpKojMrFVNtPKrgsiAsHnmDgIRlhoRAKGvlSOxZmMhtGIfbCTsnGWlZmbfXrAAGksPVuPrrNiicMiWRsZFlttZecPpZtCBPcGUCCzkzVAHdvsXOapbdmnycFjXWicClbwagarMwcMNXtDDChxXjLMg", "ZHLnhoASFvXxGnYAzBeoAcrNbAUCNZOIyomMKXttgLFpyUosHUdKTIOlDltHPeZpeEmFIZNKyATKiQJSkACyonpglaffhbLppXYnNGjQmZwYvIYiiGTolOMxblfbyTDlCdjRBPtYIkGuEajiQdtozAbSmWKHSuaHyRozpsdzzezlKxMEMvTmXDUUyDoQAIjEbWcNngiVOcKMsOayojPKKocJpNnRCkzVvRHrWnVYNOnwhOSCBTBdznApqHjPCiYAINUUVZmcBZFtHCjXNxLDNNWrePcVmtRNMuYrbFAFUgDJUWcCGTYjeqHwhiDnJzqdRKlvCXYnGPHKvLviJWOSTAxhspUkaDbZKQMHaHIYKzboOxPAEjYagfikibPQDofcjZXinBIpNyrZwbMOoYrruKQQswomfhbKrbtkrrJrRKywalDlReGHWKRZJdteeMhzKapWOnJcVRlPtXPHTToCeFaLfwtxZcYsKkIBRtlnaWVbSrJPfBxOluULQgGwAvzy", "FGyvmbrPsqeYLNbdibLTlXBlGjINqJRFWZjuGNFZlZxGwTIQdtBdcJnZRYBIbcksgGmovBrzRUlyOrMLEVssJgyewVOkNmRVqrJxZSDEsPCIfpDpFfoyPwzUjjYobQRaLKYREyxrXmcPrTAwKrRDHmQvdPPpfsfvHzUOLyvhbEdBRVUdKoVoZjLJglkGMgZCotslMNDDYbOXzdPPkCkWIopTOGFEMEfzDENQdVetKmyerKvHZlDIuyXCAOreJOYcqwHPYfQDYgamkPjPooMYWLKpjdnuowbqbMvUgGmzsHSSWMngAEpWiUllJpSRNIjjjzmuFJxtUgwFZfykQgtAocxnNISvGzJxJnsDyoAOCWOWjOhzTkGpYvdmGacxbeFcePGNdRVryXkoafSoPSRjKtOeBmxbFQugxpoyKcoHONTqFkcAxCISvfUsAyIFiOhaTHvFWuWpwGKWkRiiOmpoFCHhPmqFSsfDMekqmzhOMJsYotSbZQxhoCqKfWcnXQEb", "IWkCSJmADNFFTLurLzDSEDvdLuwQGNKYgqpoDgviQbAQtJAQmHALHWgAcdKRWywxjrirCSyvCmGLJwpsysHnCpRKSAZDKgtSslLRASkvxsviUNqVqaxCtPdLApGZPKpsXyUJSyoZvOzVCGGCudiKTRHaPnaOUxtrLuAkGCSnjarWSjyPwsTpuacsfWHQvwAIpLRsIfUywlWPtDHboYhGBsMQvAhLXQkBcuEuOvqTFaYksAXQicikOfARfSJjXvrVfxyzymAPtxTAJrOhqigTdYWDywNaLcJBBaAHGXbNhmkbXrSKdUrLxyuZnoiEjSEVvrxfyTBalCdxsZNgGRNmljXfoNEnjpyiofFDObMPGlTwyOZqpfGTqvSxtWuQWdULwyhPpXEuFRmifEbJAwXBKpTvoeGdRMVSZWaJkAIvaWVofFiGpmCHXEZulfhxDkFpFPdzlDgGrRkMqMnhekZOIqupRaAPPhFzesUgkWEVsNFzTItGIUajFkeRBFDAVDuG", "fQKJEZiXaproRyPUCpdZSVaylefVqeuHeEkUmSrvZaWUfhUSIRZoLQsCBcyVVFFxPZwdoPCSKSbparWbSNWfVobCERCbRTcMHZnKGTWnJallOQqNYqcWvTWZfjZvTYSGKctUuAGLyFNsDhpPZRhHedTnbamgHqqJgDKYELBkGrrTvmIPzQLvWmgyllCYVwQcQqElWdbhlynicAdqtLUqNnHtjHjRVJCmRHCeGIdXRtYTrzggljNCceLwhQWoJKWxdkvmNvxxPiSWBgABFPuebeeFAwNsLjDSGHcNciJxdyljAywYzucDOuokQkYPLyHOoBqEDYZAwPRSIcIhXQGVSBldoibbSsyUagzgmvPMDdxweTuljCAdkckXbKWQbnBqwQpkyTovFqLjxDbGqqDtkROBphkMsiTgcyvXpsmSdvusGYfhWRNeRKXoOLtkUwQxpduRSLhQCLnLNwwKHwuIHuHlTZCuVnbBWgaIzrIReqlgIZSgwUBAaSzBegacrssE", "AjRYQZUtETylMMSzDgamISZUMjWbWAPBviChMScLAukfUOjiBMtkeeuvHiDYkXcQLoktNprGbiqNgtrdfFOzXgXXAEfewyIsItMmbHAfFHVbGPhvsytUnUoKXhsFDBhTSAKCfTYAdGYOohFwvBaybysiElnoBzEKUSyDFBspkXHhWMYxdQQjUpAruDqfgZnLNEtNvGHcZyoofFwBdFzVHYTEjWAvcxcfAbCzmvqFTRAQumtNYPQgIIYRfXvjMdyhekLlKwXhYgYhQjNhgOHLEauzpvUiLTjCjoCzLOiezUgAIgrkfysdRagpKSlJORAYjrDhkEWEOhRPdvIDMyRARGRyHpzIDPZYfbXCHdZQZcZwIxwazloIrDWfRjDzVdrpXZlAAPnixlbWwQeXLlsOSVplOhaPHuKuUwtlMifWBOzWqHJZqHXGGWetulzvcrcSfwlkzEkWjSPKQamxpZVgVZAFcIVResfPugkqrmvfwUPgwIFWCRabCXCJtzZCESvG", "sqdWtdlBbsBRTVdAgvKTwDxssiUeRvVZlTmhpgkVEceKjdMWCblosPIIlqCsllQCtHsGGkwUxgJeoQQMzDBJWdgncPAoVBWOdWKsavMelYkosRLamogBEenCsPgBREtpppLcOqIVXhHzDNdSMnBnhxpAcNFPFvOCEItTLEnSuWsOMcfHUmMVLwIlBOoVvvaCyFiVjXiTmdGETBCRCWnpdafIJdaSJKZCktZKrpVhxPsllYsSBQmWdgmQeJMuoBBtiwhZyibrRWiXTBdkqrrUPPnouSyVtSDOqYxbSZbRYgMmShFVHWEyaPuuwdDTuGLWVbdpfHgCUAZYSTMtEiUuezwXkyXwJoKUeoeCDZfhivAZiwvHdXaguOZLmvklUBLvImCBQADJskGYCNHEfIktbumZnqcNuYrYexJvkkpeRMFDkpvnWENFVwZEfMBfHIYWiIxGCFwkEnJuXOpuhCxYZmSUozTrViIrYCWelvCYOjEVoTYiEoPUssHGXvzuxHaX", "faziMqboCBKAFlctgOzXQcYHppMgLurMcQJeqvKgcLJPlmSYqkOtfUCXCDQjSUEgCTYftcoYxJMgkkCGLDKCHyVvdNchvpKRNMrwGtSSLHhUojHkxbEkvFQNQgXIinFnrJjtfHLjWfFiLIFYAxWkMJoMbxzzwZHUOjBsYKFgkwFUApkYqoLAuYKjbptsOGlpmkpZocKEvKRlUSWNlClwLGvxHkYKDYlQKwzoIpCCbcIZkPnHXtXRXAymbYkgcYbhlzxWpvEhpDxGAIaZUUPWafkRyNavTsxPdHNcZulKOzGZFFRfDrFidmqpgZULApyGXjyBBxioynJbOCiCVagThZktmPhUxBpkjXiquEAYcwawbPjBsTmfGkVvfGjPWvlBaixhAMScfOEAnegEbYYAbzxohqWjphElznyUudVrZjmnFnkIfCUHGLSiltMlbcHRdRMyKoDHackLqXYZoXhVYXPArXDSKgrvUxPJuCIEmuEYokOPlGdwghiLbxMrLHXR", "igsgnDfUxkPOMCEFdmZgOxnLTyMjUisueTbfPfwsqvZlnqCZOkWxMzuxeJvkTlZwyGVBedAqzMnRHxLqbKMdAawdJuzqfvMfwtcZWRkgWPmanJjOuagGZNgxdSuurEIhXyrmneEbNplMvpNLAszbOoFXQozJenFzbULQOTtkxIFhButBpYFimqOfLxJrdshuPfIBsxsttpESgHOSdUUspvCCCwQSsMlfvEoCeCLcdaYqrMjCvvLyiSvtbhHYElbnJisZhqSjZPUgrNkUuphFhartOJqhEuiTTeqGgQBjeBSMzduerPFjDXrWcGiiaNczcUeFaxDIvPdYgCNsCwBwrmKgtENwqcOBtUomSnwvooqhCTxQgCvZIhiGdKxqwcGGTDeSYsDPJluDFmvFKcfhXEVzYOoqPuFpxmljYqcvexPpnnRkmWVNOVofLtzrKqyvmkrMqBJwQjugJyfcWVPKYAXfPrBfldLkyJxNsZRZROxtUngXBSBdqjrLyKPYWkcJ", "zembPATJklmrPkHmSJwtQfkKoYVULJYGbmwooKEHuNfMmZBZwYdZYSyzHEOgERVKnZCrzJoUwobsMLdWWRuyPzKwqBtdaydTdPBcwLgQckEZtSkqzSAEuQUCGEOrsuCrxkUAVIuHkKxnhtnKuBPaRTuHgWPZcHOFIyphETIhoGyaQKlfXGgkwgwZzUwpXrzXiggOKEwrNZnvJoAAtFNENCLTUPHOVpguZTZjGPzTBhqSVWdMmtcPbxYgHQMywvqpGSMFhivTVfcNdOeZKKKQWjpyaHzZIfONjZICdVqOhjttmRhykrGRbbQpUUfxDIUEXjekaXoeldDrvQcnduqXcOYFbrWgslaCQgaSPeAsNisilkttKXvGLlaACWbCjPDAxqjaOOTEdyfPWUYTXGdBCrjGHMBlgLjnicZqLfnUFtzjcSJLVjLwpVPHFhZniwiDGGsiRqyjCjCZJFxzkMGIjJuMjrlLXxUzfaWfRhrvEUpNPiXsTQbzVAqpWPlrqFMt", "wWkGcCEvHobDUDZenvjZyMPvzIJszimbMAplBAsDHgdOEstCvuFzqMFgKsblIZONQacPzJUKpHeoRpqtKBrZqLWmxMXEegRfmACbeBGRcpxvMAMaxuJimIbVBQNMxxvjckKDkMznvcbCkogQyLChTTfLdSVIrZBxNBxfvoOTzqCGqWvFEjqdsSXXgMhdTOEicwHCxnOuwYBwkHzZMfMJSCeOHRolSBhkeSUSJjLcfUCYbPuxvsSBIFBJYIOXWdffhHkqwArCuvOlXNiLFMmOvsGGLRyuMKBVTIMeTMeHivmkiUcnBHEbGrqfveGorCqKMGVblBCjRSJAAZMJYGyKpkpBoUoztddvaAmnSvQSwSiqHBSClIwfYLFIjoAMSQWHwJLFveTngwtLCXkYuspuEUJDYalhymZBzrEWgohTZFfsdjFyvyONydDGQpmPqcYFUmuWWAJbYgUOujAWzHWOpZYNkgTXpFLXmyQVFujxLXxIygIgpNyPJlWGzkaAqFvN", "ikXXbOwPmTBQjwlOrdALlhbJFBnbXbTffWdUHhnnywUZDOgXJpnlgumHNnBRvQCdSQdnRlZhGKNTrZdYeNpZzuGwsaOBnMqfLDFsOnsPZwEWhkMYjcRcHDNbQYKeaTsMimoKxTNDyMsEFnEpDGLdpVMnLSPuuqpSrhPnzqlclPBwPBaFFxKxxspsSjZCuYVIAaLLFGkaqjmveztxUwLVpyJugQwWiATInOKDpqlHUgmwZlWubGYonlZBbkMgLIDPAtranlOykbAhLVcKxFdgIpNYayjAyfxoUzxRdOcQkPHmxQdednXjNaLTgohVszpmbMNHHZRiuGPnPQIriPWebhQBuJjsBxSJGBrMVROlJWyrlQyvTVhxWAjhsAFbdTDqIJHNWjMAzuoDzWPnLwjPfTpEQpUePqXzhzgBSicNgwSUXLeKOrHqnikESzyDrZrsIAuUBxQciMVHeqYphUKeBDMNbGtyBvlHCWscsQzmBSbwfypucvovThbvTJdSnkhW", "reazUtXzSOAiJTqvWYHpQGqclDaQvGqMhEHyDTtOODaDkbCZlAhIgkCCOBfYkdbURAXTyupvATZlrijFdbVMhfwKldhuwnQPksqlNQETQcVdpfEHkbVjUUgIUdHhtaWyFKvYIQfQvrfDSSBxEVkLwaIHPZWzyrBtgaoeUFlUhEjDDiSAKJUNNVtVaIuIeiGSyZTLMvcSyMRwQXKGVYstFSvmEkctHcTWPNjbMWHLjqOZfDgsVMsGRIdmCRqTMpwWGYiBqqhuQgDsioyWLDrmqPpUwpUkubmTBHBXDuQTjvlkpAPpxzlYiNKpXQOpNCKqiASlnSbPmvlMcWxNaCCVcXrnXbOecwhYeHHtFwclgkMRFnJeLXtEEYUKiNLSkBUtowjlRLkJvMFAHkeEnRdJBYRpzZgGUbRuymkmgLLIcUklaqROXRSIyZYMaVGTbuyDfQejkfqeCbClxrcRfgefjrIaNjzCHKXgtsWgFXoBGKMiVSqnYyjkfjrwItuwbdJo", "vOiPZlPTwUnlxYmPPMNveyxIGiBWqZUDqsYcIGfIaShCGainiKGSdMcLEWwsyPePsfUoNAErRiVDeKXLdRBONDoOlbsfsrYbGZsLIkzGSFrBtDfoEbQrlbDEOtEMhUNolVZCftxYGmsJbGNNtqbrvdLzvFslcDYiTRqxMETmYlqKJWkmOeaprvKFNFGQCLSpFLQGToDwGCHvAfAnNRTwkxKQhhYEtSQXpBkHpKJzOGEAROItUGfPTwBzMYgyDRzoHWyCAHyWVnaWGjkyxoykVTjXFUGciVwIJHGuEmxsXqTZUpQjMoPLnBTWDpYcWSkQcClvRyyideYhadIOBvBFWnwGCFlDWByhWiZEXsPNShCqBmWNClreKUiKEapQnTmHggRvbqEHRMaevhXkcWDUpVlCLTeRPtgkehrPvblEAraRiLnfyxLMzJstiXVuKOJzVTrNsevDNNzVjMGThQoOerQpVgXICJjGVJvKURUCTDNzqptGTFgLdwVWOaDEzpgq", "pgSByUhCkxfbwfuXsYnKvLSaFNpVXwyctGXbktaSgYDzjIngTnjLneLSiLzTiqmNaDsJQIwrBtGNMJkQtjybqSgNlONSEdAbRFtHGItHIFvLYIRjaLysNWktqVeukEFeGcZNLeAbOtNKJvQXGhoeBsFWWeXNCTemJOxUHidqCEmKlAyjoZgQpTcjixhNRLdIZwCQWbMHKtTEJUdwLToarvxtUIjHwecYbaDWIQBTOtqPkTXUhPzszkiQYlkHbOUpUDLVBiNkXagRViqSVtNAyoloWThpTpIeYfRwdxNwyjVdicXwoZZYUwsCvPWJbxsVMULrvfiXMnezWVpeXWGvYgyWxxGPGAGPqvhwLmkVDWFByQeaaWkmZqVfmrNezfimXrYehzrUeNIAorvocyjXCXhOdCwTamkdAQnyTQtEMBqzEVHjNMDBxRNAUmBWZlOhjIXxRbUPzxtHUnSVpDTxIMaerIMyKtKFmUWHiOdcUpCPAYdDLivuHsSucsBKlkqC", "BtonYqkksBkjRHmdlMgdynflmGxPJBfixZomHcGnSUYVQLaCpIUyBznckBnpPFZhIuwJdlDPyCUnLiAWxPRZLwRElJioizOHVcnYuHUkTAffAKDrYipnYhHfwNFRohNOXADdnDOjbGBpmovpEElEDmEnHLYaBHbdrxVhtUJigpJPkoEnJkvmoqkQHBVxOgotjVOYpXfvTgOEyVzNUmGIPGiFkNghfXenidjpoHRXNrwFuNkmJHMmDDvSAGHHVKklzZEhTzKdifxAXOPJibQubPbkBYDhkwHUUzgHkYGbOMeGizpfDfIpAWwFcwgjIhyAWaOehUnPzOkeFDpRZspSQrqvtkwXejnPYMgZihzmcuLKzSGmOpqGNWIghQdFfwWjIVemenGRHoruyYMjzldKUJsiWxVPwyfVwdPsEWEOJGrbiMtlDOwSEyzgafofnwnxSQOTNFyDcPWBzHaUPFbfuBMYIgFgIscPKgwEfYQMMyQyfseoeDFhMZPBOjHSCdcY", "rqWfowElNiCvIhExtojRlflzmWpzrScxTUlNHpxhOuiEmtSKCUyFQyeFtSruVjMGmqkyziOISKQiJwGguNyZyazuOkkdbXYxgumENOvwennYUHabHLzNNCOkUtZjPAdBzWWPEncqNToMnpwjkNBPNJMLLBcBROzUmHuzGfPQPONpfaXakNujZDQyngVIFkBjCZdktTCZKiWXOhVriKYzLPzhHzmtGXdTtadDHbotjGNeTmRaOnsQoKUZeVJvfHnTzMOuZzlsAOOMVkEvhNlYCDYDvVvSNVliWEEVTOvrlTGIYusRjCGXTukrOiMxDMuXncICcDiuasIYxdxIwYMIGlpUkLYJUYCScEUOLJUSKEyPVngCsyphiRUPxwkTVXVBxKFgFWTFHeqcQqcnGmmszHvyjFdGGSSSSpjDvzfxlsrWhPBuTHCIFrrkYLxAxTorNhkWcluiOQiRUYovpktLdGeZRbPbpLrElVheTpkrtDhNEVNpmjRwTmHZFglXBOgY"],"c_map_ipv4":{"c_map_ipv4_1":"95.81.202.181", "c_map_ipv4_2":"251.124.209.251", "c_map_ipv4_3":"156.142.156.202", "c_map_ipv4_4":"165.39.207.237", "c_map_ipv4_5":"232.110.88.186", "c_map_ipv4_6":"131.179.169.200", "c_map_ipv4_7":"121.244.163.84", "c_map_ipv4_8":"2.191.51.69", "c_map_ipv4_9":"149.88.127.139", "c_map_ipv4_10":"148.61.134.159"},"c_boolean":0,"c_ipv6":"c99d:d0d6:48e8:27bb:772:a5a6:bb83:670d","c_array_tinyint":[28, -74, 73, 33, -114, 95, -68, 16, 48, -34, 46, -40, -116, -13, 117, 32, -15, -91, -81, 110, -113, 105, -107, 78, 74],"c_array_int":[1116825339, -436492919, -2054238724, 393963940, 1823382143, -76914814, 1565480298, 629624647, 1505932505, 984774902, -857854831, -942915569, 1482589382, 1252399097, 484487166, 460840464, -463317882, 709738009, 2087447, 531185318, 235850811, -1896750017, -594364278, 1639345256, 1024917176],"c_array_double":[12.359121615708787, 0.2664081969663407, 29.77907877044159, 44.001698917671185, 89.82319284744993, 27.741629540799806, 56.697472219319785, 0.9315151263174376, 30.519329772017244, 9.576455241756989, 75.83308098785928, 76.16124353611188, 5.589972157014584, 47.734706017746056, 67.06328480454775, 0.5742422857976531, 99.1398970019048, 90.49161353360495, 31.60114770233188, 36.31226171239359, 53.29105172117197, 30.921820700283174, 61.19447826521253, 33.18325211688337, 89.09181725984982],"c_array_date":["2002-04-16", "2008-09-04", "2008-08-27", "2007-02-24", "2000-01-28", "2014-05-26", "2010-05-26", "2013-04-13", "2007-02-05", "2010-10-18", "2005-01-28", "2013-01-16", "2013-08-12", "2012-04-13", "2010-10-23", "2012-06-14", "2010-06-19", "2004-11-13", "2019-10-28", "2003-09-28", "2012-05-02", "2018-03-14", "2007-12-13", "2008-07-03", "2008-12-15"],"c_map_int":{"c_map_int_1":-220419564, "c_map_int_2":1417653953, "c_map_int_3":1346173676, "c_map_int_4":557889979, "c_map_int_5":-842152836, "c_map_int_6":-411019182, "c_map_int_7":-1877841712, "c_map_int_8":-1224559999, "c_map_int_9":1296752055, "c_map_int_10":1329579382},"c_char":"KmaqepZWWg","c_string":"NHFHciFgBnHeQwndUbvMTIdeDswCJGwqwkQZprgeGLdVOhwgOnEXEtIxnmAIQodbahRRSYUlMkJfVfkiYmytlQkzOdREUwGXhPmSzlusQCKKPTlLMkUUvJyjMcPLSOVBdWTqiAJMcycAzBFMjxftmxqelvfdisqtRmmFyfiPxfXPNRjeDcbeAAjuaXrsNtwWOgEplarKcGZWMjNVpaxmnfrXmcqRwpzFCVwNqoayYZcqedDHikCNWTQrsoBIdnMFKfpirNuRXyuizjonyOPXWzKhypNYyUYQZNMnDwoQweJkUdyBgOPmIuYWLWIptnbjOGhfWhFBykvZhBJbtZWacIgPjjWufYSJWqzkmwGoskrVtyUQVBDnGFvlUwvUMTzBVgfpQgkWHGGTfajnmTzsOrgsbgQOCggnRBTgvcEYWmbWFfptpwsAOjXWFCPMzoYLblHlLXxuVtpmsRUewbschXcmteaSUKwRVSBtjnZphNGUrhcSuOpNUlRjmjmksvmi","c_date":"2013-09-27","c_map_varchar":{"c_map_varchar_1":"rnQswTsjeCKgdpGfHvdPwXCGXmIyfGCWoTWGRyaHzqumoKiWkKwsnlxRYlHJkrSlJCBPqTqfyEkFnZNMYrsfLQLcxEimCvlAVjLyHvCFzzOxSJfLHvEYBukhZyLvnVUTJdCmuZXApQgPfSSmSnqGqwHNDhUExkWzKfSsUsBMxRTbzoiRAcxLulEgCpebTWkzfOizYTktaVBIWkkmsmPnxUXJijnbUjRjriOFWvCqLMEZWoSAogifJUgFPRpTCAFS", "c_map_varchar_2":"OGkibQusTuGjspWPNVVfxLfbzuvxTXcMeebrJSyuyFXOmhIPhnASgnofyrWAGLpqQndKzaMRfJBNLKNixCupHTSDLUMClSomKGBJQVoQGYJLnySGiNCqneLjMKOmOnREeBOHduQdTeOKAOFXFaOkmbRKcxseEuJmumyDSZGcyNxwaRxTlaHBCBuPAehpuKHdQirAkIxgXyNjMNnrAPdnioJCgLezuPatrGRNFEJNQyJdqqiNmiFtPNVudUilXjXt", "c_map_varchar_3":"ciGjMUyvbZcNPRosQAZxdtTfofJmDpcHGRapFYmcBtPFPYomuVGXatyLUghAfEzzxOAMgsPXAuGDTFFJgveNweCruQeJjHoDzzsHgvcvWiOzeAAbAYyVBRuoPfzqaXMjChidlkXfxeOxmcykYcoIIdMnDruFCbutZHvVNxpcLCXmLmbzggJJvJwFfUbufpyeYXJRJCzWggkDDlESMTYXYDHJwcGOUsroLFtTSvcXmNzJGAWTPbzbUXWLtFnimVbQ", "c_map_varchar_4":"ZLiQrzCzGIBhILeXfNsJrQkigDOBPeEsRNLvzKKFuhPuUsIewrbpATEqqAjgDQCQNQXQVCZiKmyNkzvUSoZokHPYvWFrIzGsigwjNmyVoTwCbDvMblFQUHQPsxCqBFtVJXDmtqcvGPKNcdUvswlpsYpFcbKDIpCIaPqwtHDnbolTnKruAwEAbajZuubEjDVqnfZMrVPiYUyXFAuZKsmdwolnvOoahwjvvMOOpwVPFwxgihfkcYyVBZEAJTRaeDqg", "c_map_varchar_5":"hySibzkzExIyKqCYBpsiUioTwWQRGIcKEmgDpGwUROoNqWiWcDwJTVtRtJgJTEAJZuDvtedsSZoctzdOozSpkdBkAnHOGdqkRxpLlCLkicqgRITMXlCodEsikroUDlDLxXdoABgkjohvVLNCElfROuHyRxMWlzQQfLBgvKleWeUFEHCaIFkUkyAFJucHaWkNYEEXXlMbHSwvYFNgKPgRlkXkouFCcazdyxCinySVGYAvfdCTlAfrcqELNwkdriVl", "c_map_varchar_6":"jsNiBRaVeXkVHUxGrSnGsisWjlhGTmmrYewuJqAyVbDjwmwuztSndkiVDJMMChJnapvXEcXRbcZfcMiKUJzRXEJTwGFQmqjMFGmpNFhjkuYrAPKezYVvQEUTYqcykhEPMfwbIRfArDMkPueEXfSYpcYEajRrEndhEHcltnitFBqUZariNujEGlMxYjQTKzEMhMNyKvrgOSnXKQJRrSWijpyJcMRRidBTyrBylISTcKpRgMUEebaboMnxJasLirNQ", "c_map_varchar_7":"hFllEKcjbDMVSduFrDHDchFukQwCYSqYIXgHCEKqtZfqeAFiHnxQRqsxHojjzVGavHSiGXmfZdMmVLYhgtSyMVUdvjUqVOWAtLnkLyxPlKhDyFHkMAQReywLHcTFbPFbjVpJzkVpalRkxKwrDtkDLbhAULVmTrKwvqELLDyZSdRWlIIqjrQnFumWUIxlzqskGGuRGaPxUwMztPlfOcEGbZHalyAWuthMWjPNciRkOXxXvovlJytIUXuJJVMfTnKz", "c_map_varchar_8":"zMXzTbMkLThlLyeeckMAZRFiDOXpHagUOvjUvAjoxItyiAFGXeWlhRBkUkMsUlEMohLeoYPnSgFTjHGXLmdnYGGOtTfOnGOibzWJFDnYLPyrPXXFXTNvBUCdlmvxwGduNeDXXUQTsyxqVZeawVrEnNaQsWpupaAFbvxVRKVCHsOGgIwJwBYtLbekdqVOvdVuOJvyFTITPqLkbtxSqSzHYdujNvvYGdVHgJHgwfEROSKAFpkzhBzKEhDxVFXUNYhu", "c_map_varchar_9":"PgAMYrzPxxdPsBTJAkjKkDmfiTthHhtfASgdLaeZRwWdnxDlOpePmpGqvPdsasnhXfZgYOszKthCEAztntkXlELcNQlrRNhdjSoGSSyXlfZyViDyLZtiCDAHeBqdkPdjqchwsiTbsbpMyZnYeXEmTXNKDpjGusacVUgpbdKSlkrZBSWeboCSfvQgpwpAdUgoYzrXZQnmdMvDODlmCTtJPuYbzrjVcJrnYNIcXmzMJskyDJuYdYGWUEvbASZzoxCA", "c_map_varchar_10":"oPTtixrmYMNFJhuDogfdoQZLpNHilioYqkoEMvlJLigMhJVZtMCfKNSgEBjKaLaHhrhzLliSjJZuclUjcvaucuiBwzqDUYzoAAVgHOOXjssNZEuztuNNTJYmyywGcvlVYSLxHtCWrYywjAPOxrcYpfoLrMxcOGTPHetvPICcSZyRQOYIOWThgSPYYCXmzgqNhYceRodAoMTKpctMMBkpykieJqGELurpQyEauqUwPvxOsYJvJZsOOMOdjFjuQCvs"},"c_tinyint":-98,"c_float":90.03421,"c_array_float":[98.57358, 68.18645, 7.5928087, 29.690569, 47.31412, 10.053437, 86.031296, 5.4705577, 31.608082, 84.13956, 23.935951, 16.918777, 96.94774, 64.28439, 44.359158, 71.070175, 5.414665, 86.4988, 95.07163, 68.033, 3.8015847, 22.284595, 88.18642, 30.323172, 8.725749],"c_array_ipv4":["gTSBqYkoKs", "hcFUGtstel", "NzXnlAPwba", "OrhfiHzoxK", "VEHTLDFSgt", "IplmzhUVeQ", "BYcNhLemhk", "wXAwUPERdD", "QFwZPjxdng", "hdeuTxtEVD", "YWkFqGVeNt", "twFsoSKRRR", "cAuVMDXbyu", "VnmTvPIHVx", "JylBiVdQPU", "YOGrZvmtTp", "PmpMkxlwck", "GiGViaifne", "LhRTGUvuiS", "maCVsaqBre", "KpjDLWFPLs", "FCKPaBBRVe", "udZmzRbmdc", "LLEJiUzOSy", "qIORUjPsUk"],"c_map_largeint":{"c_map_largeint_1":4548008735133065950, "c_map_largeint_2":-8037856703778487394, "c_map_largeint_3":3401700517240211717, "c_map_largeint_4":9138030782496635415, "c_map_largeint_5":-716586861244671072, "c_map_largeint_6":1433170634259682538, "c_map_largeint_7":-134339004457630208, "c_map_largeint_8":-4286215133683566152, "c_map_largeint_9":-5237819187749692798, "c_map_largeint_10":-5078200764432467962},"c_map_float":{"c_map_float_1":31.754751, "c_map_float_2":92.066895, "c_map_float_3":36.767273, "c_map_float_4":99.211464, "c_map_float_5":84.10588, "c_map_float_6":98.013115, "c_map_float_7":20.078997, "c_map_float_8":16.660452, "c_map_float_9":7.7814307, "c_map_float_10":68.342155},"c_map_datetime":{"c_map_datetime_1":"2007-04-27 07:00:26", "c_map_datetime_2":"2001-01-12 12:32:25", "c_map_datetime_3":"2015-12-03 07:23:32", "c_map_datetime_4":"2009-03-02 22:35:15", "c_map_datetime_5":"2011-03-10 04:49:39", "c_map_datetime_6":"2012-02-19 10:37:48", "c_map_datetime_7":"2008-12-02 18:07:35", "c_map_datetime_8":"2018-12-13 00:53:25", "c_map_datetime_9":"2019-05-01 01:05:00", "c_map_datetime_10":"2009-01-05 07:08:04"},"c_json":{"stateabr":"CO"} }','{ "c_char":"TqRPKmBzuF","c_string":"KphBQlwgqtFBWDbFbpQYkIUDkJWSNWUfgDpmnUJxRJscYRjsoFHjcZMPvyvzaVaWFqChAfnjivqtgIBjNONsHFYTxWMRkpdiApZNeDrVsCHXVgYfAwNIFTIaTOdjUPLyBwXMWngvdRWYdLZUopmeuFxvebkZNckukRWlewDasRfFcatAXVhFMRxvJzSdAousCixbmaPuCefXBCaRUXXFTdcnJSWTyzGjGwEyiEuuvYavHYfqrtuUcGMhavLkHElzWDSuSkvJlCQPEIkbanQGtZcAFsGtvIUmpXWnTFMBzzOdwwhAdLlSROHhpyrlOBldhBcXOKLxCIEriEDNuIWRKvVixqWPPXDpkfDhdCpsCrGkLtfusvMeTcLIPybrzUZOENJDdwvtXABenhJjNxGXnBRZOqtxStXgNuePNiyIeJGhcPUcuEXrHUrwXWZjVXYbAWKYGhJwauXdLoTqhCNsXZjymhleJGnqUyLJBeoFZCRkLcgKHBYVjxFEsAQkdqBK","c_array_date":["2012-02-22", "2007-05-16", "2015-02-05", "2011-07-17", "2002-04-28", "2010-05-02", "2016-07-02", "2013-08-23", "2007-08-13", "2018-09-11", "2004-02-17", "2016-01-03", "2010-05-25", "2008-06-02", "2010-10-25", "2008-06-27", "2010-02-19", "2000-04-19", "2004-12-21", "2015-06-24", "2014-04-06", "2011-09-07", "2006-03-01", "2004-03-03", "2015-09-10"],"c_map_bigint":{"c_map_bigint_1":-5879758369634201694, "c_map_bigint_2":8826327053102050695, "c_map_bigint_3":71043947634674534, "c_map_bigint_4":5066187633230386511, "c_map_bigint_5":-2508894505503606663, "c_map_bigint_6":-112749115640480688, "c_map_bigint_7":5894456865081870672, "c_map_bigint_8":-5657822072750574719, "c_map_bigint_9":-581629803390661136, "c_map_bigint_10":4186743998860657745},"c_decimal":70.1568,"c_ipv6":"4b12:b6c0:9d54:8e53:4ce0:69d5:6cd5:1981","c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_varchar":{"c_map_varchar_1":"qplcNTIXCQcxipYarySoiQCKASKPkJxxroQuyJzwGIKCxsdjOEejdRazygHQFzCYrYIPLnoliOaVetCCkfmMbwUUxKXiLwLRHkVpVnaHbMLYwYtBfFoxfgmMBPFvisZIldBCrCQAADDjrYUNhpBNCyBrNwPCnnepkviQPJhBdzROwzDPqHIyiaiPBqPSNBGnqEuugvHKvuxggiLJNinNhoKFINcZiHRKpETUFfrkSDuPomheaiAbvyXvXPBGNGQW", "c_map_varchar_2":"FazmCmevXJRIogKMebihOySACRyIlqgNRNfUlqrUfkKKPGruASQVlTeftpNfHZaaygTmSbDbqOOtanHrilCfpejuhjTVViMHoJmZvAZPWosSbFVLbqyBQYxzYpwksMXFFLIUqtoHoBMxSmTqrnfOSZQeLDVIlgKnoKUqerxtnFUpchjlHmXhkEwvksoJwfpnMEhFQXBZwPuQGXqfdPZoHUEAjJIMspasOhfphyeViMEouMXyKJCQipiSHwvPsVnp", "c_map_varchar_3":"wxnzbVHnzBKIEQhWPRGkaBnxnnYKDiZsxvSvczIzrDqOvMOexdJbanXlOWjeFfsqtXtuVbgGDpDZgSTsdOQaoENmbXVgSVmTxwSotFUPUJatsCyDwBTXXsHBuDdMctKAywYgGwNEOGbPIdziccwTMxJYPuVszQkMTtyWCUHIxRnmzcdBpBBSQvgdcWSsZNZlStVHkRjKHDqEhnzOQuSFJoKyQTSZDnoXIORXPgqOZMZvvZExfoBaZaldtOmjPbas", "c_map_varchar_4":"SdOajPeKgWGGYBAVtqqyxRhCUNtuskgLNWGHhxCmNBXWYYJZIEBKTXHPFYtNDpoHYSUpqvyTbGEfvdhBAnwMDYVaqBRCTDbJSquQXShEsMKhpfrPDidsOUYeScGvRWHzNRCmfZPfkPQJbmwtJpHIGnxAtIorRzZoCSdyjdwZPZpVmPIpLZtUnOfcqfSmtcIlriWlYlfTXxCtsHWTNGMjQRssSlNcEnXzDYqBJvIJmfgaDrqxkOyrHhQVOCdxjdcS", "c_map_varchar_5":"KmHiBlDIdYLqeHVNYwdSaMVNAspyzGAUlBXdIWmuVpInJfDpOUqiWlbABvjawSdFgjRanrVODSkxVEGwJnBmfBekpTIoTAPWpANCXXYFFSeYZfzjRcelckSOHISzQsfeAZRtUSbQKOYztlGNJGVPqOQtWcaVIXJWWdfQmuLDANLvuLxYIgtdqtWKkabXquOCMhzMGWVqUPZPaZxQHkoTEdXDUWXoOgKteyciEGCixnXPGHcujSUuvglmGVCHMHHN", "c_map_varchar_6":"nHsMhoRcFjKONXCLAPpIVGmSozvGYEdpeUhrfZdAQRjcBfZHWLtiKwjxpBEJhTIyWPQVFtBpNTTHaVYZBDZEzCIlADMkLgdbyfwyrNVJHeyttVUTJmnfdksbPNVIZezLhoMaoAyisNYHRuoerhNhvxfbvRavgiUwUJqStbyxgzlkvmtbLvPHkcCuKmltymMupCMFVBkDcqJmjpLUAoCsshZSwUJyntulUOPvToAUPHAUZvZpreeSthzRQTcVOUeq", "c_map_varchar_7":"FmiTfAeMEaEMgorzNXBiaEasUiIDTdlCNXNiNOawuOLBYxWcKtGyEoXAriAejLRkQKzhseaIWdrFDrjgHopwBEoGszyXxkmIZzzIwAXWAXTgToCeCnTrnKWcphHDGRnwKyQiFOQSpCerTgdXKSJhMtTqmmMehKPCbvtJVTKGPUcVRzXFAyCqGwKnYgqAsFgMUdPSPczZgoJnQMBKflrzPLKbbQPFXkrPzskcnySUdmafNSRfVuvcXdkdtdOXBGmC", "c_map_varchar_8":"RKKDHXhcsLtudrDqshLUIqbwDfUPAOPWdrZmzjaFzXBzzwtQhpoYTsiHlZFIaLirqnzKvDTvEuzWQrwYQOmUCKVtBKpokvfCsNQhhExDAAVUIzUshKDXwVzsZJOPZPMZHzDEHqYHxxaKSaseIrdsvIyvaPWMJnkSCZhXMxiahpOxcNWyKTZRxRVQeVBcGQTBOonssSGnGPYyLayAvXmgtAFoTrFPoXHVAfFLWJQXtFneGWQxbyPKVSleShsOMNvC", "c_map_varchar_9":"JyLTmukGZDFfxKjiNJCxcIHzCCHcLVBAlQSYaWmcmOkyDvUmeVQrdHrmOeCPFtKCwSdDwcyoWzKjoJrZSxuiNDrepLzBKUTmArmKpapqPlGMyAxKbPIwSHiaeYtUGwlxrgaVRNjHQaCEJPAFeEzDlYaxxvBVekDWPfbKsUfYphalwwOandBPLzJUwjYcCsXKrfoUuLSfOHbmwrtQtCkkVMgmnbEmOIRGitwmkWFlckyiSRONJzxEwfEVLgjgfwnu", "c_map_varchar_10":"rTVQAcbEzHPxRrYFwfawcSYaTPCDKTXUvRleIINBgVaSovbJcLVaLaAGEGDogpqYURQwZRhfSMAfnvWxYPTajQVJCKLtDLeDzgzpLKZFeWvVhGGHYzTVlSkocflKWQudfGpyRLEWuKOUwMdvscxndYjMHPpAOWMXFikKSxfUnXcKbzgMLspiqQGPYKufRqQhSdTluogUlFoynrgoOZaObwhbeIbnTkpqbkvyhYLwHoCMtRKaBKoSpJVhpixHiMMh"},"c_smallint":231,"c_int":-2057162151,"c_largeint":-4576996052485017297,"c_array_datetime":["2012-11-13 04:32:28", "2004-03-19 22:36:14", "2005-06-06 22:04:32", "2003-11-16 00:07:32", "2007-07-08 06:23:02", "2007-08-13 06:19:12", "2011-01-28 06:29:14", "2005-02-04 23:17:16", "2003-05-26 03:22:58", "2009-01-24 14:07:12", "2002-04-05 15:17:32", "2012-11-12 05:56:14", "2017-09-19 06:51:12", "2015-12-20 20:16:23", "2017-07-17 22:26:17", "2001-09-21 08:47:34", "2007-05-15 02:07:42", "2010-08-03 16:15:45", "2003-04-18 07:21:56", "2007-09-02 14:03:37", "2016-12-01 03:44:23", "2002-08-21 20:25:48", "2015-11-04 14:09:44", "2003-12-21 18:22:48", "2016-06-11 19:22:47"],"c_map_tinyint":{"c_map_tinyint_1":74, "c_map_tinyint_2":-37, "c_map_tinyint_3":-18, "c_map_tinyint_4":118, "c_map_tinyint_5":-15, "c_map_tinyint_6":16, "c_map_tinyint_7":-78, "c_map_tinyint_8":52, "c_map_tinyint_9":-84, "c_map_tinyint_10":118},"c_map_largeint":{"c_map_largeint_1":3345454758161407690, "c_map_largeint_2":-4871343384665573365, "c_map_largeint_3":7960869044174998868, "c_map_largeint_4":-5557128551529899390, "c_map_largeint_5":-4132899404714526294, "c_map_largeint_6":-4807231800518715562, "c_map_largeint_7":-4389610139537699951, "c_map_largeint_8":-6176587543589390691, "c_map_largeint_9":-2953982185053628113, "c_map_largeint_10":-182822102851711951},"c_map_float":{"c_map_float_1":29.074163, "c_map_float_2":3.721445, "c_map_float_3":34.23656, "c_map_float_4":84.84427, "c_map_float_5":16.963467, "c_map_float_6":93.205086, "c_map_float_7":96.61695, "c_map_float_8":93.19727, "c_map_float_9":27.216225, "c_map_float_10":18.34842},"c_map_datetime":{"c_map_datetime_1":"2018-01-01 02:55:25", "c_map_datetime_2":"2008-10-28 15:25:36", "c_map_datetime_3":"2014-08-12 13:25:51", "c_map_datetime_4":"2005-07-14 21:29:14", "c_map_datetime_5":"2009-07-09 21:19:52", "c_map_datetime_6":"2003-09-19 07:05:38", "c_map_datetime_7":"2007-08-18 18:22:17", "c_map_datetime_8":"2013-03-07 05:19:14", "c_map_datetime_9":"2009-04-25 04:37:31", "c_map_datetime_10":"2016-03-12 16:19:06"},"c_float":3.3928676,"c_double":94.790809401546,"c_varchar":"would","c_array_smallint":[-25756, 8175, -22988, -28259, -14006, -32358, 2543, 10309, 6891, -26182, 3333, -16232, -6519, 16659, -2901, -5305, -27217, -6953, -5014, 9545, -77, 17054, -4044, 19969, 30445],"c_array_bigint":[-4237848592321872414, -3715035323204420401, 4013884102124972707, 2244593945597251780, -869831736528834628, 5861261043082226270, 5156323218139011712, 9182825877296125588, 7265270577374375374, 8575062401656416099, 4548387356064713555, 5050087409581520587, 2437918073226635688, 6500043923521004818, -4179040129864566448, 8468164556743774263, -7233271248713054982, -152023999291721581, 2598575514737773003, -2280631494438602415, -5700038812897679847, -6964794140652915741, -617834590086876462, 9189780445125086622, 6577750918576629012],"c_array_ipv4":["ekdUvRvXgk", "ubSgfMsdGW", "pnZtigziik", "jLoLvJrYqw", "bDYXiQGZmI", "QeXmmQukPC", "fVLvcKtpIk", "ocFCwTIIuh", "xeJEXSbYyc", "ZoDkpUCtmL", "zewYURSXHd", "FhJZLMwMlr", "gjdnpVaZHf", "FqVrdFMQoE", "rPkQMvdLvH", "phbgLJHFxR", "hzHzUaivIC", "sKozkDOwhT", "djBaIigEAu", "xVkSNJbmcX", "tHuNevATub", "syHRuGJOGw", "hXaBIqpNbi", "NSELLgmyFM", "VjTHWfndrC"],"c_map_double":{"c_map_double_1":4.129052821439091, "c_map_double_2":31.131202671546998, "c_map_double_3":93.3334533665711, "c_map_double_4":88.7771257768467, "c_map_double_5":29.702875736633516, "c_map_double_6":60.589417046575875, "c_map_double_7":35.80158470449893, "c_map_double_8":90.3992361152609, "c_map_double_9":96.13258577388173, "c_map_double_10":27.32076694496963},"c_map_ipv6":{"c_map_ipv6_1":"8f5a:92e8:da9a:dfda:5407:470a:46f4:8b1d", "c_map_ipv6_2":"6172:61d4:6bcb:c076:431d:f589:9bf3:ded4", "c_map_ipv6_3":"6473:e225:2d88:adbb:ff34:f5a2:45bf:d7f3", "c_map_ipv6_4":"6d4e:2c03:d885:a17b:84b2:3d18:7300:1101", "c_map_ipv6_5":"1835:f156:b008:3a81:4747:3793:3174:4dac", "c_map_ipv6_6":"150c:5448:e773:8cf0:6f8c:2d28:a16c:bc8f", "c_map_ipv6_7":"5c98:a5c5:ee43:ef82:e569:4173:86c5:ae8f", "c_map_ipv6_8":"ad48:55b9:cb42:402c:12a8:65d:aa00:37bd", "c_map_ipv6_9":"426e:9b25:95f3:e737:1dba:9fe8:8078:78e5", "c_map_ipv6_10":"4093:f7fa:a894:c506:971b:87e1:70bb:de55"},"c_tinyint":41,"c_ipv4":"136.112.1.57","c_array_int":[1487848051, -359155280, 1044657162, -1429902882, -1717411729, -1327847052, -1855353355, -1020436278, 1064321341, 985600848, -1092619450, -40242026, -1878798055, 401886220, -1826160828, 912611796, -459974006, 1418891271, 56732186, 1510132578, -785448020, 791940355, -778367024, 839911578, -1848448646],"c_array_largeint":[-2774743655202824243, 7379254527555957526, -5766876358926628451, 4879027557410222688, 8656449525747095002, -4122112211130113776, 6803234783588487696, -3020856915418440404, -4471253613750673091, 4755466451661837594, -2876359240948053490, 6178077037810971622, -4536363750011592470, -6951691327037790830, 3202219919482088916, -3813663133761499188, -5369037131416616563, 4033205879404362360, 3227495878193000744, -485653044610707277, 1866346999275163521, -3515207815809948183, 2779678288605755863, 1083927070913241119, -4967865032260680297],"c_array_ipv6":["eflFFgpBgE", "zDYdqwpRGv", "cwdXxMgTea", "jzxEkdvnwB", "oORLVqAplE", "bjsPhaThUe", "oLNEtCjOiG", "ATZfQLvfPn", "RTRyyWykGP", "tfNxZAMSOE", "dhNzdnNlpV", "mMYMmHtoDT", "sYoJtzxFIh", "rmTJWSdEdx", "pyZmsDBiJH", "TbuOiflVlI", "IpuRZKXcaG", "sDBJzGDKbx", "awSRdGaXCw", "bKLBOQluWg", "ieYIwLNuTH", "IdVytgUIRU", "wrsbGoezBo", "lLmkOMwkNV", "IvvmSpkApT"],"c_bigint":9198353158398647807,"c_array_tinyint":[-121, -66, -47, -97, 63, -3, 68, -39, 51, -93, 75, 28, -42, 91, 124, -67, -106, 26, -117, 124, 101, -12, 70, 92, -25],"c_array_decimal":[12.1887, 99.1112, 36.0214, 45.1625, 8.0569, 6.1869, 44.0460, 14.0909, 8.0553, 9.0299, 45.0125, 9.1463, 29.0314, 1.0404, 91.1638, 14.0098, 45.0879, 47.0333, 22.0461, 73.0739, 72.1825, 82.0204, 46.1488, 82.1190, 91.0011],"c_array_float":[27.65372, 26.656063, 82.62732, 82.79741, 23.151232, 85.36642, 27.458414, 12.997712, 70.42471, 49.338615, 51.068222, 66.77129, 37.931164, 56.56013, 61.278778, 20.594593, 21.661198, 59.735043, 61.10885, 23.155697, 98.432304, 71.41958, 70.70546, 93.41862, 81.17322],"c_array_char":["JjykLWMWkm", "rMiRlhkhtd", "UyVbOFriKf", "bEJOThUDaX", "qUOUfENqEh", "IiVaMmlpxf", "UgDrwXLErA", "MfCiPYPPDy", "OZhKxVRhsq", "LrTSPweUjV", "rDVklCcIpP", "rskfEqdaMx", "OJsXAiogYV", "BPHntRMlHL", "hjHVOOIwTF", "RWALrPGtMP", "XvHlFTWvFq", "joyxWjhvdJ", "sLIVsUApjT", "sVBTvDjfiF", "cvmxcRGpWa", "acMLRtVYbg", "WIHVWZKgHm", "HEkuWEHLIF", "nxYlHOfBfG"],"c_array_string":["tLgyYDUZSgxFixhIOMzfiKjNjbFxuMhbDKYMvAhwYTkZejYwckOMglStKREUTPCSGfLrVmiPBAmMtGUntbwlqgpRDVlqlaOjeTHkCgrRCZHPjraANzHHQFmuclGGeFkPVSjCxVZvNbMnNwPMzbqPpUICEsCBJqwGRzJEvAWjNRmjTuGUNTjLLLtSrHoivWRXZZUydQwVqmZLTKdXcPloYpIWZohfofVxRsLobsCEjVPjaskMFeUdLAykfWDgdptAUQGfptyPCTQWFUZBmRWSVsYAXGyyHVbkJFoyOihzazoDnUtwtEIlPULmvFLoZcfQLotpGRuPHONTKAsQeoEWZWnbdtnGdsxmDZIofXaisZDHTVYvYiYJGMVsutWBSgUqrJYHdMDtMgVQkxKTiNSCtxlffaChsORhvndAwiGZNQJObLIMtafXyVucQcIoDhGIVkKYQRJIqzouEiwnvqwBhvevhORvpcViooVIjjZhitLHQVCxceNhjcdkYrFoqGEA", "uCCbSLdYsIsaoMWkuKYihgaFfSpnZKZrwXGecAvfxExxJXNXYwSMAmprQRRkXqAUfGNAFgUiqkYDJVVBVxbqTedldnJbfNOSnNRbMRkQThUhxndmQpCDTqMQRrhbbZseMSOIqpqxCrfLlHvCwkncsGuuUdfvPptQxrQuTPyTosAcvwcvyCnVTlZTeGbkVhMCvpJNyOiJUGmgFlONLTCBacNtlbGvADFzhXyjHrcoJjkfMyHmUmxhwKHErDLkuqOkiFwbRgFLiAddWwKMePWeLBbskrpxbkYJbyyOUhJXuWkXDFdkbgtRNgupjjOTjYCDaKRDDOPTvUkONaNVEYHCUeIXWygQtQJfmoCLSyPbFwvZtQmWOkoDJVKjXboamHprvIuKklQdIXYUXneoBcPFjVADjRIMhpTtwKTKsGQlmOjeaqYZWnksnAWUoQZhwWcDEcTHhhnnaSCYrURRJLnuvpBqXlWvbNHFnJlHulmLYJhVtEkzyMQUhcMsKfltpzbi", "MRVWBdhpcIcOUwAmsvLHJwwRpFIrUWCKPQCebsgwWHuSYEqVmeLXnMzlIuhmuIEjrITzLnSBBzLfqJZCdEvcyZLFdwMsVXoOmLwRHCnLfJaDpTgDjCJqUVhgxwIjdxBtDTuHiKXhMRRmLiuGkpjbdwZqhwgzuxAOeDJQKaReQLvrzoHzlpzLfpFjeiDUkiuXpuOkCqaeXJaSJmJFOuHaOuMWqiUWLyEJWAMQAfFAQQAqSGEFkpgOuqBdfYEcbYhxFgPXIhMfPvjMzXCQcRDBFpKCvrAgshGcAubeiYMlVnBFVsjLJnUwAIMgBunMjNoXNPYEXPgCOqDojbdlDqGwkfVzNOqCvhbxPtPkAnjzLyuEsIqlwwmmMOKIEYQSmSeNwdWYwAECkSXwoDFIwFNZcLctNpxTbaVkSJmYUAEnFUuTjIhgtLGlgGyumMmMcTWrlubfaiJbiZTpSLxMCQbHtdYzoYPJEISgjetggkOWDHIAltjXaZTxjUIqZQNCBqtg", "ihFhCwjvZqbpfulZHSGgAYOMlhOLyoKQQofaiNPvAiIdbfYHStWBGQtfphEcxzGhvsvsUTlCAWCuXchJGBmeaZHfWGwhIuYgokqymrbKWjmkGNkIhIjVnDvZbzMDjTPDfQyLwNufAmHlNdYOrRBJeCfJmNiFApNDbLMGTpYLPbFdleXpKQtwlFCgGcAmkuWUDQOHRnPQSpWxaCiPkLJHNcslKRvhcRmFaBUciOSavQlAfmgVrTzkdmxaABehmlDNlPoBluOgHDwuiCfhgzkXWCnFfVkjtZLDxlfQLQhsZLmhAJYofHZdNeVkcjZioHvuEBNlpIflyvAsymjBmQcvKqrGbCUTylASFrBdqZFgJObSPUmhEbYSqnQKAmqGgxqEJJYJehTFXdSsCBIuooUfiKMSgcLuXhXQxlexWrVHgoWXETCkdjCvIJLVhoiKEVrMkbLQSXlBDFakATDhJUzOEkXDGxFFaYFRVFPGUGSmAIjsHNxsXjrHsRERVEdbJNwM", "TmuIbLUzlmOYOnXcmSAIlRAbqMrKAehiLxzVVrcLZVmTFLLrAiCeXtUeZqLweTVPXknNHSCwCSkyqkSuFOTYvxMWtiJerCxxUHcxKTsXAJcVANoYAOWWzIbLeLmDxJVlZqngqKmeGXgNMDxXFJkIjCZEWBVUYisgAtCpjBfcNHUYUtKJOWVncpFeKBMErbqTbChkjFjOrDeVqWxsCcUOLtTkskuYltLmCeKvupoVINZBBDYuVIErRUTyvaGzLbYPLxMFbjYytfGeGMuiaCZjpSTYNbaZxUfvgiqRoliVccvaGCxxxZencEMHMozDElrXKFbYjfrtmrKzwtIdwTeojxqLhiYMdUXxtuXDqCcQsSUlWwxpiEjnmitVguQyKaufbQxkGuhYXLFyJeuGPNipbDFlOVLoAoNGwNrPWxMkXwFaXghWwlCqorTtVzkoBwGvbfefGGoXpfkItlgcwnJKtwHxNrZsWnafINTRBXTnuVkxYCiBZxiFKEHRZAOaLcOd", "UVzONrliqcdPxDCexGalvfwgynuhMmWSTppcgDrHfYBwwqOwfTwWeXHsCbIwXntoqdREqcRMpXChwtUuslYIUOWVEGhdIVcDUszsYfxLwvflOGGUcaSMiqqhmmFmxxaiMRsDmipmHWvmmiHcpvIRZPORVjNETDeeURbZYEqhYyXqGSNmbriPeLxdQuyopvzcmlcQZItnfJoEQreOzUlAfOZJrMslAjViuJPXQpFnhUboxOzRucGOkFrqpyOztKRWqsvieBeWFEUnOCnLfMuvULzPsFxUkoniCPNIHzTUyiWvcauHPJGWIGxswpEXWcPqRuwjmWKcuZxTcecURebddYSsrpovGJClAuvqnlQbhNsFHocScUprdPHRFFaafEocLHgoZzGNouFnVAovpuMBiBeMrsAVUUIJGkigEmelObHiKkTXXJrLqZUlVDtTnVSnSFEmaoHAeOHQxzEnbiGUSkhcHnZsIMIJrGNnJvvjbgefmTjFVNGBObWFWQzRrkwe", "xWyBSWazdswKWamqzWqjNxyggBCuMpREtAhmXSWEgbWkscWaXTwbTVlfqCcaakWMQJwzQQPPlStPSArERpqxionpLQFBhJElMzxjqEfXWNUppwuSawNwwkHNJYwjugehkEQqusZLVSrnkURKpseSjcvZGYMLarmOQChFDxeWbweMVtLNvhoRWNONjFUhFYxLmWFbmwOPtPofEaWsbCfFkVTDBuadeXiKEBJKoUNWAJhUXhTHawYBZWwUBFLPHHxmcFPCRbeIlWqmKDQCBHKmWpimTymAPehnDErohMfITSEkOJhVxDslguYnGmuksVWhdDHCtblEFCfqebVPmdLYYzpZXzVIGnoGmnswHKahfVRowEJbDcFTIriQLeKVCVuUJQOfTJDjzcIVnCxMUTgQecKXjGThmfqBUTingaxjxensmtNrtaYhCaJpYZELrdqPXjPQbSNYcwYOHfvHdJZgyEWrvdYOHTECEGJGEfthTnZIwbvVUxROVumJyOOjlsVo", "BnYloeHdvQJtogoeMrOMfNxoVYprqOLPtIcsjIvMieGFCWBmqdYwWzaODeSshdHPVLgGGrZkMdrkWLxmJAZjgHzjvtDeSCvYXXkvrPHeGswDicubdXDisimLJAeJGXhHIWnOhGWxVlILKDhvWgloTIFIxBOdaOdkZZmTuIWLIAzmmLVfSXguADztbFcZiwChSTjIpwTCNilASOtuSTDTAswToHAVVdJaBvPpuFqqnktldXhENBvjCXEgUhMOzLqHrydEpeFFwqlGBfnMInjHNzvUdjVyrAshOyUMiIWUJCxMoieZvpmJwjtSScFMgIFkUDGZMNMANRJUqCUHwjZclmKqIycMPWqbbfylDCGepnzFmsSbjxqNmdHCTyrhmrtMzjDgNSZwYEARAqhVFdBIkVBTmBIvTHcnRVEszXWLyClfiQRSjdSFcgTxLaQrgXQUadzjSrOzVyUVHrTkaePFpfjWscXguHpukFncdEuuCRnycgRlqGgOjnayprqIwieL", "UwqeZewJjDxZFaIPkWRQTMvdxRfSNLVWUyuTYooVvSavSjJytCKzujrVPmEiGKHklzaaNKWXBgKkkQvpoDDOlWAIHQxpaTFXUHfAfeDhWlHHKnMBxdxCRftmUcxbCeSpnRSSHHeoYXebFmjPMEckiyybTmqLbiHgFgahBTEGYmqJRUdvtAOnIGwTniNRZybdYNISJnjFKVxMjpLiEjMUQErOnonnkFRBuocehRFyZJZFSNbtHycCdxfCSFxkqqRevWkyQXUvaqoLztzjfAhHfYMJofBhUtPqRhUMMOONwQbeKYoNKAtvLdEGYQlDSVbcHLGInwjVqeNYqqHCESQbENpGrxMDvVSIKKZFPAXUxzBClFBgfwecrMkibjZQiCMXhQasjoRSyEZEgliyaVihYXSDjsLQpqCgQfhbogWBwYKdjajlTNpViXnDRVMEpljycMCsqTDInjmYvhkvvYkNSljfQVTtXFRosVZQBoVVUHdcShGAJvCOuzkNuKBPOFDm", "etgEuunmLhqjNjYMAIfHlYiEvQUAGjLYOWvhWbSvuNjtncnGJimNjKhBjcKVGYxWcfcGDlowljJNRVUpziZJOSytAxSzRZIeKVLoVohylrnsyeUrpDVvxSXrzrKMOxYHupNQwlVOriWkaqfsbgrocHrdSbUBFIlsxItnOWdsDhKGpXWflBhQsrwVWNZNrGiaiKRujNPoySpyvxjueinubsOVktIERQdfDpYlAIkeWqfKpkSsSvvwtJYVTLMBEodwsmHuQdVpfxOubBnRrXNAJblKZsTKgFBpnfudvDsxMiHtQPUWxzmrHuxHdPQqAXQjQutSWiByNmtJqqjCeSHWYEgSxjiClZlCYbJhvvKjdlxZiEHAFOOnVvuOUBJlZMRRkuTCNeORgszGXnMoKRzxngrmfwNndbyQjrBvPDyqATdQBQCHoilkCIdvgjjyQKQmpqbVkAdCWTwTeQbwVHSPeOYdGkcdkLOFBlOKvllfHOylQtWAgwHyRTjsvSxMeRYN", "QbEstBQgEAhUcaQXhFXOYHzPuFhoYmMDmHSpccYjrpUlNffxmhhfPYqdxeUYEOOGomUeVjOtZkdmBnBMefrjhcLpzwvcBJkqXXMiJltchTTlGTjqjMfQwxtJPpcUCGZWehwMgFQVvocFZbDdrPPqdAneiHXxbhpZpqfmeysshynCzDXkztaIEWCwuMaFiGaVqYAzrnjcSWFFKgeHYHjZcrAicmfvrCRfDHpvMZmfoVqUPbpkffnPQvCtTHQaZjXNxoXrrpIPuhYsocBtqVmYbJARZFCDgOFozfVmgAhAalNBKOoQSsqgzTpSKmwsntRaXKFrVThQjwmbLfMaLioBgLCkCmpkourmvVXDzTVZuDIkUofJDEBuHqndTktBVILIejnLKuGuzwCRERdfqAzHPeFlZUXUGEIwxFdIcyeXVywhDgTaZJIATSCsvCjypEugTOzukcfVrXbapylMduqjPOqEBJkZBmcRrVVfPDAZNebcmsySHFXudRIfGobmLubr", "ZlBKZetBfTTPLlmrFavWxnBMKaVHaaQaFoWAUNAttPHCgrpuXVveslsalbDpnfkvYlwCYfcvXQgJHpAAfciNkLEJMUwstdoclDSzxHSBTQkViJZhEuLOfZhNpKKcIIcGWCxHNNtGSiwQKUMtkIaAmONzdvccQEoHqKJjGkgDVGtcDHGblbpftsftKExMmmIQhSbRMRyMHoFqjwNNCoWXqtNLVsHlSjOIPDTHKWxKVgzeBBpkdvuibTsbixjaCRHEbTjfLsdyOgXvEsQtqhkdkZniGMSzKJiWHVehtDqCPnVUcPmMdPhwWQWVRCsBAVOCxMZMDfkehAGghbCZEWtIFEkKJTfJxoGDPaKadhcroAuQhoBPRdNDnqyQpIMYTobEdeVORAMTZdCtPGpZRXCUpMPpeiSESKcJyrORtRgnbVIWCchMXvpnheJCQppeVaeaiHEZxwytqaFfsJyhNrSUrksrklwKOCiRwiJpPikjiGwZVQxsZFNYJLoOHzDAHzem", "ubeLRsYDANyOmkJbQfSfChlXRemibMjeWSWKPRehKAqClPWMKCsnKlbCxJyAaWEnSLcTZzDqWDwLfJKOOyRjIDzNdJfOowFHUliysIWdaRvArMzEfBWJCrUtMIEeHdYnYsXxbAJtwonhSQZqrdMKIosyNQbDGcbLPOTxveSbsgdzktjpsoZYCoZgkZjSAfXMbpEHQtfhUUKrfMGUIPZGZGNADzFLQbHyXIuCYOFUFNmRoIvokaZvKxAKTheVCGBlJXdAYoWALfkaavawRXdMOdiOgxYYgsFajfRwVrfDhwZXvUHkTUMJTMJLzjkyGSaOqXPzWMrRHaqowidOJNIKHwIMQXdxppEkYIcVEwwjGVFbZfbakAdxhkhhGNGgQuatWxKUNTKLVSeVZfcqvIaLqbSdjHmDtQACUxIPuHgfUaWoyYcOctpfiUXNOigeNKMlekxddptzDbvAukhNzGynZZQAhftEeroohJNBkseCWqkJFjoWmqIIJRWOWrilQhpX", "AFJGErypzJQpfTLDECHhvYkQFVDgRPsiPZowvOSRsrUYbPIbuLLxlGocOGzkxCmAoYTovAEoVkDoLCdXYPvBXJGdBzGsMDlucYmWdgsqSZezcBgVEgKTfcQvgwqqhAInYlyiiqMjMIjHwTsFPoawuUBwASytuOkHznhuXBWkOkkzDClKbZpCsIKmnqwFnhwSNuLbYesGXnzAUhMcVIPJoapcwlWbQIfWJBPDNWjBKMPCaLjJUaypTznnYRuxugZccovnrJleFyNjttWMGlJvPvVmzojlDNKrXquLfkwgzXZkZYgRWfFGiAuInxUHtCmnRfVttTYakYjCEbNmchTQLEbhqLckKCWbEvJQKSQgwERvsFrJUniRgdJrishHKoImPiSKvqYLiyvBwNsDrJSQvNUkPRDxAsnKHxCHgjoPjmxJbNDTHpPagFiaisoeZLcAwjaFzOybIESQhnplamNpwhzxIAmPAKWMaqUWnuNFFsYzgiWcDdqHOOwWbFEpSIeJ", "yhlfzgBoNWUxcPOYIdfLYhrQBGVgBklSzJjrBGzlicSXsRLCqQRvIMbSJmatRvIugsCjAXqxEvDrGvUREUJyiYSMiWxNhJxPrjBEYPNdvOgOcDuYfFgPCHqYZXOajVXziFglUHgFJWCGMIDgWrUJVVSkgrYCGVdKOeHaOpoSLVbDwXvRUPOTMmFCDsXbNcSTznYvUoeTAlTWJifgPpDNtVOATLggjnFtpmGYZSNGJzfhLXkgISCknYAleaMtrmzfedlEDYbdKGjRhsovKthnBtTufdJbLwhaZeIpUxrvqHKwafDNGdHFfFcxZNLPdOCgKGffmSiwfzVUWsqYfbDfdoHwWVveLOXgckquzIudZrdnTXIEtkJahYJBoBBiPnCLOsQVyVzOxDswvhtkFRwmfiUqJxOHCjaLtBHzeneXRqItfaROaORMLpYHGjchapNFijiieEOPcZiRgRCsHHGVXPcsCiaUtOiLlFICJdQANEwdtqDnbYqOgdFDTMPBINsI", "dxPwRglIgWXitMmGAkOdbhNVcGVPOPlGvFCPDDjydbWvCfUKykhfrQGjttpcqnNpxUbHvTeuVxulTgxAfYjBxNghyItZtXrBpYelEHxIjTamfbkdgOCljsXxjISddaynrKuCLqqFJRATfyrcpHUJqxSbxCrbnxkVUusHpNxIOQDxxmbqZxTYtfSfLHPNZXXjvBbgCYlyOckHxzTrvfqRXaCIDrkVZkrsZKqARWLQtFxiRVckabgQNmghvwAZxcxAJhELdFMKZuonTOObaquBetMZXfSCGQEGeJgcEQMgQqFXRfdBDzbMDniaDdiFPBtLbrhaeEQQJVpgawJiyaSFoOAjmwoazfeqpYSZWKQlOtfcebEoeDxqUwKQQzxdGpSgsJkJLEunsVxiAHVcFyjrshcEJgayYDfjNuLzpglsRPaYBIIagzpDKdwBnUcYCUZFgFLfSXwNbLOAlyLfLZdvOwWzCcPQAxcXCutfgEZdvSxVlSpWiaTgoTdMdxYEARra", "eVDZVoxzzxpbvFQKCfayIByncsYJlpdqLdmxsGrmlwLJptNKowEKbqtpKrIZGAtIXLzcFqndtDLbZmroeyfHWTQgFlehjDySkCDfbCoRDnnIeZrSccjeURWUdwkrrmIHfgjOEmjRqeUBKdCowHWcAUqYxvzZKVHTZAdiovSIHhKCFZbwoTGSyDNZbaSsnvDAamihROYrsYaFcsJpctHzVzShVokUmAVDyYNUMoPodFVpYUbYAkUWwAtpAFguptCDBudaWtJZNvGEaDqJQvbRAWOebWTSWVHScULKSFeZvodVptyEZaRNJNqohuiiVktPBTRvwVAYddtFZQrqdnvtXjxFPtyxUkdCpEEqzfZiCRRcFPNoyyrThSwOWxyLlaisjxlHjIaNfHySGHFhaZKiXaTEbqJKEYiYjSINzbYcXvehzAjuYUOixkZjXLHvZtfyQIHhwjbNfZmibKiciVUWHxVmKAtvmfuuTWESbTAluoGevjPQyLEOzeexVvTWTinP", "hVtXPyDVqQXxrzUFmZGGZmufbbkulgMqqCcHBVoYqhejrHMpbBGItiErKwtXTFJYtEJIoXPhNMxaQRiZtrOBBTvpjfUWmzoWzMohpPrsfTZVqgBjtWeyDEelVgylsSNVfhDLJrwBVvKqRJiGDeSuvrooterEpzfBwXPOyxbKVhtcauyJXYxsaWsjxDhVtmGjsDDzdQaVuDTWaDhjXAikFlDulwXGwTocXKpJGQLthXbRoETxZPKUpyUzWMoFnvfRLkCfeMDgZDmhKYTzFRxptlAbxyxNFKHwtzUjSSHQBJjLWwsaSsWRtGSMZksSbPyBdKBCoXtSHWXAEFSgWMAEcsDlxgeGZwMHdoauIXrqDBOKeAVwJXlmZbGNWOJVuFzHNQXKsEdHgHixymgeOvAaFeukLEvzZTtcSxaUgAkTsfyOEQGLQroEiTUdHmhaIyvjyvnCKSXmrtPfZxvLLUezwljtmezmVRpdCuKDTqhVwLhWlDRKSqRfXumgToMMmhYw", "mwaKwxxwGKGknuqyphAocUMuAQOvlqUhcgztWWDFwtBQjpDEOsvADpXfJpMrvuoLbySAcYDwcfaFplXfMnXCwnjEeJeaXuIxPGgTFIVYVkpyvjhEfbFjIEcFYFjRgqxTwsqPzQrYsfiPoqqfqTzFXTvdLrViGZzUMyxWLlzOdiUxnyhMsqvWMjqojegppDxcHVANMMvaomyGNxVXOwckeSxvHJkteKmVXdOHGOQDJtxbAGtRWFIQEkYNtYtACoSSnqZdGfAnswrFcYRHFbRCXkAZFwSEKFrcdUsHoOJpwTEJYWNFZJLFsEFuhuwaoShpUqoWuoWPPHUxchNGMiBiZkcTkWsMuwUhYTzlwkwqKGKjwgHNSzCCafZcSaisaINBxddhbFvjCzndwayAzppOAlRUfPiwIGKdUKawTpZXzUHCpSiFjXfKOxtlOlcFkvGyPOIbNeqpYeRMgjsLwOrBMVeVyGzCvRNIPBGtNVCChBheTvNDdQKFxucJYJRvYzZq", "VyxWpqwbnhSnjtFqXxCiDmdrthmcLPSDioXIXtGZbwuKjfROOmwrVFFpDDQZVAsYZYTmAnoAHmhKyDfOjEXyNLKoXjcQVnBPOIwNvvanzwdlFAuaMFWdAROCQxMVeLlaMtGHkIQQGYRtElROmRjYwfNkiwtTsyWsmmsrVPCEJSEuXgwcZsKPnQfTlzfQZhErYaLBARAksBUVkKLlQBtHBMJcrrMNmTNSHbXyHEdlLLHoDlGHdLXLPpcoHmxUjSLxizhBzKCZQzMdDEsgNhMHDPRULZGknRRkbyDMowBSixxhzAMUXipsvtkWknOpOmVlVvBPLSuoywFegdpVxsIubdXszndFQzFTPWJCfIeDuCzXhoVEqHWpyBSrPwtKUDlWIJgbkfOvwHNFCyrWHJXaOKOXDJmXbAvfsielCkLicsMkLsXvYGISQARmAChuYWAJGXcqQQmnJcKKWzgMzNfgsxebxsdpvwcWBDdUxNlHaATnfLdpFMwYRBvzJCFMbgYH", "ZupmXbDWXaFPUTFuchTgFwoTzbimNFgkkGWpbCvkOpwZATTkyBHISYmYrgeeRLOmovLskMHzTRnZsBXUtUFhXKjEkBPcMlDqHgPGqofrMvlGHrtIArWJQRYrSIsGirpsWsNUrJmILATfEneavBlAqimMFOaanamPpAkVSKnGlnzpWRVEFyaIltzckbnCFvegFxzmHvPJzEoXOnnnpLoVyTcGbmBGhVFjcDqORAmpfjtKagglXzIHornMAikOkdTOnfXQhPzOjnGJawnnddJARpOgpWsXrimqTruAzLymzPFeWnQmBHsYLSqOiSNNRLCSzpsZWYOqyTtNyMRjRPoTpeTCXUMlESdgPFVTAflyvKJmOAtovaPriNjasziNdUZgKsgaIZghEiTnrlKQTjBobsLMwopkJTawzeMIShjbkJBSXbVMEoOxhOXjqfMcWjepsOvTpAeQKDmNfwoyNRRmbrCAgUvObZdOyVEVUwRUqWzlmSLlDEnXwVqMPWbEDpHx", "PTDdXvFUEfmRcWwlgonaXFWLJITLIjqgmsToGoVobFbWMYypYxVZlCUtnWmmoLyckytZLxAbwQOhxPHwaDxRVHPWYSmZOOMiXjRjmjbVzpTaFDcacyYUhDVQbfIUETyravTnaSHodgaPawmlwRGPcCsHvgZqWkyHOlbWAtuAHNkqrtkZAslbDWXSDcnqjLIeKCSrudKSPMAeZuIIoWEAHTadrWWvFeHJqvAmshYBfkzPBpHBgmLcRnjJhVTwROdOzzwQfYQHTBsfJjtjGMUPmDCUFmZUjPQkVWAFPmBRGjdDNmCUCbnSQAqiSzeRouUliBVNWFCwbEDrFLJfbMJPveyRhBPUsWscOiAkgcyGijlYeBzjAAwxSzaBirKruYiZuiCAPOPnDcVXyimnQgSTQmeZfCEwjROKafjSHuArJtJiMNYdpUOgwxWAOihbrnxKYyTJZxkHRVAtuPbQCDlVloGNKkyXJoYggaxRaCnvckkNWbiqhyxoFXTcLEVFIuCe", "ZyWbniAAQHGFtfPekARcDpYfOHZDgTZJlNmMlHVXemPjrLprLLDClNhEQBzcALNkEhHzrceNLymvuATJzjgVVvtHBClpsOzxXZBOqNgGpaddaRIlouChHnNzqSFbnshKujQRpcHapOkVyVqTiNOrGQEapLosIZyKfRFtgtVuxKBQTiBrbZYbnGsYOzwVLRqBELEvNpqANZTPYfSfAqqPKHnzvlLkAPkDkBEikYHfDyHuOkWdlPXtpssnFjrVwSgpLeLAeGEGfrACgDFPDEtSHVKwOTvyqbeDBkhLSWJzOVQGhEKnRVoplpmAaJGiGOucdqjYOBVOqHHZSYtqnewlSOvCyhdgprtFPRUDbdjKJZEUmNRmtOoslSdWWwFfscjpHlrQhxdPOpexCDhZBoDXNhnZYgHdhifPgyrfWHXOvIScvlvwUzMweqUAVFwWDdnkZTeaBzvrhbuEDsQaEsIwiFGajntcivKLrBYZHVAdvUFDMBsCpLyIdBrpMxccEvhP", "PjZdEeZeXXNaDrqgUxRywimucFUaIOFlUbhUxrNNqWshbxWkqjPqrZehIUwjOjAcucGMbASqJVxLuvmcNPXWieCgriBLHBAhGdMlrRFXxccbrdrWtlprkouhxvxwiZjghLbFOyRrLxHvsdXXCsoEscFZebHcfNBVVQkCZNrSzmtQGDCENLGDSmvrUUuASwRjFeLGgyIbSpOfSelhzCsbyunDMjAMmFwOserJPpBtnaiAVPefLSIlqzsDmPRvDFGrYIyIEKnbaMnXkPMFIcXjsNGRSUMbNBRPoiMESBICYoqJlMnBpodOMrrbbLCPSuHgrDZzCDNBCZBKJlndrvPQkZnQpzVWsfdWaesobhbyKHBLKlCiiNMgxbPVLCHnvrXcYdjbqfcSVRklcrtciUJjRkTftfGlftZLhlkSqyVlVilsskcVrDVTXyzcUwsSQCVWEjLBCxpeOypNKyCZmvNBpWkQkporuoJQVwFsbGPrICsnMLIePOtUmFWiMcDxIWXV", "umuXHGZLoutKCAhkJirbkkxtuXJgMIjTdMVhYQiTMcUmsVFdGsjXrZYzkxIXelzeJQUIhMOGZvbAuCDnpGlsWrxgOSQJKEksMDZgSmuwqQNTBTvpjaOOnIZiyDZJoDQiFwgyPbsGCBnkfVaASTlLPlsLIEbotWUOXCBnBhGYrqkIIUkehfVkYrFGpHkekWkZnpDUALrezwocSGyUoJpMtocAIGPwDRXrFzLATLEhFwfjOGpmtDCsHlSWocVLqnngCtnKgyySFQpnbDiOpHbNRstCihiqcjqOutVZIRPWMbCPQxBbtpdFlMTRZRKmLszhMdCuKBPQaaIyhFeIkVqbCTdHBZcKnUMJMQNnyWoJQZnlKMWgumeizOBtJRQzZHCpHFUqLqePUyVnUyeEjVhaemgTxufjdSVzTcHDTZWajwSSqERsybVYMxrugbkeYrOsdlKPsqdNtOdRqVLsZHxTtaWWNSKXXmnfOQCVIoLoUzLsWdWPRloJFsXHPDhiXdtI"],"c_map_smallint":{"c_map_smallint_1":-22208, "c_map_smallint_2":24364, "c_map_smallint_3":-3866, "c_map_smallint_4":-18762, "c_map_smallint_5":-27235, "c_map_smallint_6":32303, "c_map_smallint_7":17603, "c_map_smallint_8":-22581, "c_map_smallint_9":14671, "c_map_smallint_10":8757},"c_map_char":{"c_map_char_1":"JKHKVbQSJN", "c_map_char_2":"QLEcUQqahQ", "c_map_char_3":"oKvmbFkWXB", "c_map_char_4":"msKYOChMnQ", "c_map_char_5":"rurliKJgBU", "c_map_char_6":"uNuBowqoCY", "c_map_char_7":"AGgFckjisK", "c_map_char_8":"EoKpmOWbnq", "c_map_char_9":"RuJqoMnPSG", "c_map_char_10":"vKhqchiuse"},"c_map_string":{"c_map_string_1":"mQwpvGiGmwaVXGDyvIkjoFtMOGkoRrTWDOqTrBsUfojbZnDjVNwITOWvClVhZlkaLrIDEEXnDMBgqCbduCFxFsBRDsPIInbJFbjPbHNdzINCspVJKqpJtfFrglyZQbcUlYrnYcvRlGRZxXkruSUUYojAPXTOqiaaEaSzlzVyQtwbSzHDbtaMUSgZlTMSljNWQsVWPrIyHwztJJrjdeuZZOuHVJOsCSkNedvgLVmgGjoHEOARZLTTeZNLNhKsDPXFbQyeZJtCXsrfjEnJHiKsqunlluDJkFBJzWIwsTCXFAxxcduUOsVNqdHQDDRmiPPGJDDFiUwmtUImbEWTDLMNenjatPWLHGVnVrBmZdyhlwnfoIMyDqAMadJilFWFjhCETTLPAypZCfWGjzCbVEfXtqcXmktGKVVyPgcvxoUSuzwIKoVMklYcvNxBMaotTpOYzUePBpzRFaQKKUDXMqbfABuYZzLGEPoRZUrYUqwgSxbpcjwTbAtGpCgVhQKzShtT", "c_map_string_2":"BaiaJxUkesxMsMiYIhQlYHoZYAclKITLMrtKoXLLIltmaqDHSQVCaikXsZwTAFpTULelttOANZmUnmQZPcNMzTFApPOYnUeVQJQphdfMrJsLTyTveocnCLDWHPXwhwtDTZlVfERtTieXXTHvlMykgjTMGpjUDoqumJjJGBVtJVkqawjqtGLoKoCsEYwNimagDgFYKbWeDfUMhScdArdqjlkdcqhOeAZxPuCxFevZWcbRQrRHEcpavpGVooGancHjvCqgfAPTpjoBXivnkEhtolAKUTZgpVutPxddehsruPfgSjjBpUSTKrHKleeycDFmsTEImKVFABobalnSAYEITgOnakpUzECJTXYKmPizmNFlWRdztykdINaSBXAQEdXaqCoYxLBgCYByZcWCpftAaCRPChnaAtqPqDwBMUJIwLWbcgwfwLpxFYlpFgfeywycWcCqsJtuSTkfIrMqYZmLysmeeHJtpckPBdaMsetgdkAfWpBakdocAowAIIjabhmC", "c_map_string_3":"BUvVnIJeScVosjvRZYmFLfmcXKiFDrcgjsmrLeQLoTTzJYgxeetDzsDMwlXHxesNEYQPqbTeXSQQiziTVIUdvtYuotPBUGxGfcsUvqyqTgkfvgSPjxMZGzgPxtCsSdJQQDsCLVlqpsbqJriYRfkNwIWGTkHTQcgsQjtYUzyJAEhVPoyahJzcIhcxPJHUOZvIWsggxssRNWjpwLDJzYjIbFyufQfnLpslytCYRnTMMiWSUBuNhHsBJIpQyfgMYbKLMxfmbSwPsxExVtoVLWGUbXDNIfParpZbpQyBBbkAMIXxqOqgxlxdienfgJmAwkUHhIIYNKYgNxutSPkCygBZOcEpBQVZSxcIlUHTIZHeuuNjhZaWiGHMuEojidtwBpFjTdjujTgboflEppfyxIjzznUQnERYODarboeNOHwPTlRJBpnaNRQRBurqTuFPrevZSZVCWfeLzpRoghAZjTHYqXwvFXhUVLQgKbYyrOxDtmzyWuLgUrnUgReZtCocXUNc", "c_map_string_4":"TzyXjpiGiArsTILbGKZprcpxfXJnsDuwxlqrZWcRXPiCqKCbsLjRsNUkCbhyXhyferqxTOqRgrcYqmsATrEIILtoegCstHXFVIIWcgVxLCkhoKntHUKKoJwDsHpedZHNGuJBaCTtxpItZcYyzpztWnIqJjpsynWakUVBieSsAqRenlbvjXddnJlaCqzZHqhbjxzkkoQKMISarISKcocLeDXkBRqvMISEffWtpPxLTGRjEIxTIRUCQCsLHrTfpRlsERTxlDqxaEuFdjXKMhbdClMyGbsXfXnbpqtVoewDvRiDexkoAhEajNtONeVkQmNAMFKDHYlhCvTEuCYYGIgOkIdQgaFaJOyUOQcJvDfCMXpeYHDKxLMGdiWDcqjoXGPLNAYjWFKoCMFRnQnduJTwcEsyRTPHpEwPiJeSOQnwxUKIeNXCeQVFydVQjVnmbhscaSXbniGhklhwUktOwRoOprknXCcVdUhSxYpbQAzRjSmBivBHjktYyarMQnLnqTFl", "c_map_string_5":"bbTEOFFOhLYBbYgKtWWgxonMHimgJZRaPcAOjeKhfFwCRZxLSTbVZmOpRmUFqiIuYeLsSjdFWDUYpaazaklSxEHUtDuSQddgHrPZHvzZDQEnLPtIRdBPgsPHPQcANowjlRooUVXidyMFoHisGUHZHvawyfXhIpSaknBcANwNhpWvzTLZxwhQHIUOJCFGaRDMZLpclkwqcQcwnmsAsPTPBkmuLOKbmdZeBBpNbEeHgZqOXYomHKHpdgvmiTabzRhUkhPYrkVHocSdAwyLzdzJTEXiLcQtPCzcIsCYVXMzfGbalCNKSTVWKkIPulouPuBeZSdNVReOIgzWpmhqMZDwzDKxbYXdMHMiHbeSsiXWcOIUmTyzrElgpmaGYdPcZFcssBcnMNBYBmpxCYgMwBxpzuGpcSAYwoELFcUpPNOUwkhMTrHeDvXjLZWeinQlFcIBULJeoJiGGSNIKHbsOdbdUxeFOapZCRetEyjjqhybpbooUNrfUTNsMeEeMtcUOwEC", "c_map_string_6":"nPAfgWQIPISZpqRWJbhSdHxjhZJUZbXdlJNuEzupBDRXdiNzbDCCvOsDGmwZKihkQaqrreTgVvcseRpovaizYOPyHEspQjfHhwLmxGQfHHCYcasvqPZvFiVtJaFExdwxlKeTZOCZhBIjakHVpEHKyULEMFjoDzNFhXTrjZrKazPpNBGUePcwmqUqumXUdUQiAHlRvXxRoERhBSnKFHqJOvoJMmyWXAvgvZGBDovMNTQXhzJanXxTtbwBKNvoGLtCyXNUBDzfsMbnZuqrSBrafnKUFupZodjJoxOWcZWSjvUEdCdnJsOgnuHrFPTjSanAjpylabsRdoAuhMZkRoAYiljwrWEUPbmRwWaQVeWcTLsJgQrDGqHSswYNPvVwzjUJRDrySSjqaGsKCKVgHpqvtkRSEFstojLrUSfNdFsiUVmMnsejbKzKxHzlHStcyBtxvHscbuPgkyRhjZsfbUeeEZJokmfitTwunBvowQambOqgmJCNYNLtRvmlsWBjRLho", "c_map_string_7":"qZRBehUXpqLkafteUvZyWNNJDMpZeMNDElUmfbGtBmCwezAMMziZVRgyZqwzQDPyEVsYcsTtHKrqkfCMjuoynUCUOvBJqLRKechclTcNieOrLWkyMDHLZMyeHhiWSxHASabvPBYQSVxgoifDBXGyWnQEPOErlSRHYuPCTKFyDSwzAZEtgiysCcREnNhuoKcZznnefLzskirOGwrgwdCcQKOpXKEUoaqEdhIwlHglvbOeAWEgkCIAekNzktUzvHhDEfokWtpKCyIPNdjikBwNGRSrFQKTYAHdLexQeJdmvoJSXeXtALuhbJKQotsKUsrHrRCDpBTJhVMqfpkQrtVKpBtRhwRJRBSZxeaYygUjZCUWYNcHhJArIxtcHyqMHuazotskSJrYeMyEYFYIxbtuNRasSXOWqAXitbEjkskyPQxwAysKDpvIyQPOpEWbmjRqnqRfbuHKSfWPDMmbSmCKGWuVdjmCtcHSjlpaVfFHSvTaMrUNebtqmBsPhpKzjiBM", "c_map_string_8":"vZcSWsgfRsDpNeMsoUOMCKqQdbzdLqlkCXJYRNWqUdseWpkuhHUuqNXPXAVFJqncaHvNJzbWncXrhkNWMwPQlHYqFcdEyxLdVtHsZJkzKBkTBDcnxsugGodUDkRKPViWuQighyzxgPmUuLEKUOyjSphanbcQluLaqONzZwtLaLEcHeDRwkZinwCDeYLYKhjmJpJFTCGjyYcyINgjwItdXPBJfXUYknZTRIHlSHqFRaEmamqZVKcgICVnzRpGyKTgrDQaxDFtJxbkzLYbIiIaCrFvhmmMQmgIOEwyuZYXIMZrVgVccCiRBBClRPrgHhJqaefjouumGomNhJYAMfkLgTbGJpMBgjaQPUOJaGFXYWkmjpAOeIpGPzGVjmmnmnkcUQBaZTlLhnLCiIGTyOXOHESPdddgidPSbXJTnPaqZqUqUpXKnhBEITqsMKeLiBxFKtNmyDmnfUVgtsfoqjsakmwtbLUHYrvOLneBnSiiGZKQinPpWKOsOmjFTsvqxEdQ", "c_map_string_9":"vYsGPcYBGPZhZYTcZHlROQlgnkstwkprUubbNJLKZhwXhsULDDHhRXxRTdoHGYdbHukcEbjIivHScfHGQpTeodLxGIhqMrONgqMtBzPZmZIUfVhzBJuXKqTjXZepBinsGMMqWLduyVqssEuvEyQGFTFZozvBxmZChRLCFCAIccHOpWZqejNyKXSjreCXZPwDCypOKUBaoGDCaAZatrCgKsPTMGSFMgZphShFmwzzEHrlaFvBXaIAxAMOnYBhLljqbMCoKlaCMyPOxDDApaisKHiwCcNmSlQqeAKrElpkmbLDeufKqOdkuWKgFPCVxCcKdOafmJgFGXwKwbYHlbwrtThjVIlKyEcENrhZjyLyKuFZKTIyBicdQhZggiwigeTjzZoHZsDhqRqAYpqpOlKVCFbUewUHHEgMTPciNODeFGpJxcGFgHNalMCqcrvHwphjmmidsMLhpZuumdxpphtuukTmnjUTgsXLcayRypGBBUqCNIqgtYxdReFODHGttrla", "c_map_string_10":"cuNAzXvRNFBqljazsGQNUkXKDilmubcCqQgRIVdfAGIVwWcgkXjaIcegciFoiQFSPPliqjPFKyJvavtDUNuhlxqqYLIcXhtWoMknEeaqbscbqysXOyEgnHZOIseBRWiriVtifcfBHdZhfpyUMyixDHNHcLYJSiyNLLQOzDCEYZvooycqXMLtxZJaLGVcNxKfJdKcBNXpTRxstNpsAQdKEoaqSiqgAbrdXyXCxBHvRjSKTxYnLCypyJogaSZOYCHEdxOkuqyaQpAlYvXzFODGbKylaLTbppYnxkdYSjysqMYowTzzUjVftfQiEhDbtSienYEsKeqmEEjeXjVCvzxIcVUVWfLoIZSpFFqrEvHlivLRMtFeoVHHFEyvrqmAfmUfiePAfdgGtDocZXREFBtYtlzZGpbNKtSOwhsZAzYXsJMmuyoZGJXiixdPnQthIvYqhIwWZcUrkMFMBMoveTTjfUCSJwvgpqUDGfrgRZVTyTjJbNiiluglEXRPlpGaRNNC"},"c_date":"2009-05-05","c_array_double":[40.65912234661585, 45.3351825329313, 77.77987549288709, 44.34635337277749, 32.1927050096784, 46.31949598312287, 84.14482670498319, 14.37918788268619, 0.15528471171285266, 71.11774798517041, 42.80033957401727, 96.52385594760463, 42.3207530229684, 78.99356049513709, 38.69769746197865, 28.412848333327304, 76.85688069194335, 69.93397770859623, 78.05482986238421, 60.45302594356532, 67.66225795049351, 24.444621755954604, 99.55391017983305, 8.197401597088238, 47.70974199823594],"c_array_varchar":["AFeJQrZvwbXRAEDhpurHhXcTjliOFMhHylHmymVJUuXOIkILCYxZtEBAinnVzCrYVXLgNXFbLSFRGeecNjRDQzxkHotBemPJvsRNnsROMAGVAoDYjFAmJJEasXPDzfsyNFbhUHBbgtlZPlIPzNCpQXBwLAAtyjVlgkaDiXrAEjCkViqVoFZwqgKciVSXKMvWJjzYIaeQskCWHrcCTzSANCNParLhxZFKKSEXAhlfKFBGvnCmJYUBfZiIBMFGIvkA", "ulLaYWIUqRWYQufLEVHKGjtimrpktrXMzwIcSyuQFkTzqlSfLspMWIjjdtyPVXYKFzXUdIuplFoWLFUCEOpARdDSbSguLRzcscFyLCYRVBbsPmoemBaLUBjjRyscbDmwQBqXmMuMgaSHCvWHNBJIUcIzErPfTrEtOFCbUdBOVKzlDpJhijvJfdImULUBABcOEzuhybYgRDWmBCpKJdKwKKQFxWhxqLEnvFitaFtYKWxcYvNJvXXGlyycfMweJlYt", "LvpoYSUhSFomPqIFAaloCMtpzgDcIPNKMMGsrKzdUvvsrLfFpiwFrjiBEUozOCMDBgyGFpckDqhsKXfFapWzauIHedpGZljRzkmpmuBOCUgbELDXOrmMFGZbnOiAArMnQwwUOqVnvDYtwjOHkIyybVojmrVFzBnXcBJDrEpBOpOibiRkiIamweYbLbiUFpieNEGOAupERRAuRndrzjSdiLxPussVEMXEmyncgBODqFkZUOmoFTYHCClryejVIUhT", "PnxOXycMecCNClNxFZyZbeZTjNVHMMqzAWASziBjhSRhmgLBYgwgDYvkRTaVInEMTPlyMlMFAQtDZsQAFlKPUnVBqDiUGyNhxevdGiJDKIrUmtKudJZaVagKsrVKwUUlpUytaKyqWCEmzzkgECkEAXWhXkccuZmvsLVfxOKHvBIdsuSZZpciIlfLDyAumgYFeZQtfGRcaglpmsVdIOVWqIEtaBzyIdSarylolDEsvqZBsDJZkaLYUgwQqOSfcdyS", "pTeaJFJfgJfputBTZzVMsxSscaOkPGrdGKIcVXEJjvckjyoPUEbvAQYohNRXnMpMbusTpEqCoxqqXjBAnHIpwWqOnAndwZjqwktZadVDPDRucXuWQymGgYjctWMbRdEvHMaidCmhIdEEZqlutewWJWlPuesDQDAUNgJOdOPoCCINQIsfJvAZtvkdgnyCOxZnwHnTBpCVNXLTfDoTZZNmvZZzJlHUYKcWBHAimkmVxrsZshqZFTyPewTrEbxDBWNs", "EZRuQwTvRkzpgtknETBysjLtGTpZHBFuMmsQjqTFUPajHPWEvwrvuRXDbNGiKINIUHCoFQBZbekWrjSGyvThEpErOrjfXoFouajzuSoHBNNAawVTjICLFgoKnWGMGvaZlEyKLWgJtgCOkepmllEYSsmdvDzbjFivQrrcdUAWTFDDxGbLYkxrhqkJZOXMeHkcuazaerapGgPTdaDyMilAnpsgvzPPdmOIJDkZPZRYsqwgRLnDefegAyLqQkJLjFPZ", "JDChiPnnlXcfvpMDyBHrwEtOsNymTQMtlOXhfPoCLrbzMCTjykzICuZSThrQvSNhzRfTOiuUbhejKNqWCOtcIPfRSKHspGArTiGNOOzAInUaKbdfGHUgbpLyJTDnpdQNncjOPiQzrjqinAdINitlWRDvJgDVIlFzPThkkFWhwflRmeFOVqQIqspImtKwrMyLxpbrRsIoLqZjaURWHAPoheRrwtZVvuWaebufuRjqHLMDQtaYxCRGtDLMYHsghBiw", "cUsAaPxztRnECNyKnvTVPxtiyCfyswPDRdpSJbnxyMXPkZzQPJtnGkDMGcFITEwiiGMWkwmBElbobYEovncbhRrjWfYMTHegMcrrfjhzhqVORHsQPfNEMcdAHMCbfoViMCkqMSxMUrGGuRKvEqsNtjgprYkweOOzSGxskylmYepcbKAPlnDixGIHZrZUGCEmFObTHchSHyKVAyUnErXkcEopoeVRasFpSNTusWJEbvoNxaSHbYbcaLNrsRBcObsZ", "eJTJhJdjvamzLETHjpOiBOzVeRbfJqFmxtZYLRDYBWvyHZTmkUmjSdedETpZCntpiSsfahQlBkfWLkVHxtmiXSrJDpaaYlGWsrKEHKDIDJPZEsBhRkgrajAPTScluDsGFsdlKqySMrjxQoDfoNUTJmogzDiifUugyQZsVkerpvAEOWJuESVhOvQYVOXlkrUCmMkrXuyrvJRKXlCsyVfQykidpyZHnoweacyjIXVkMKnxWrQBFSPDXUpCMRZgLZup", "XepQOSGlTGyNCFFrQeUpLtDSEOojMSMkKANsbvEVkTxZmEeMAFHLlamaXiuNDOWZJsUAGMFqYRKxiHuaRVwvcbWzNtLuSNFeuxWwzqnfrgkaXXqLscJJaLTZUeqGGoCUPjQUIOfMnWMmDStqiLxfxbXvtRueQqNLHzYlNfhVcALmNXeNxzgadHbYRdKXUFdAnqPkvYeTelNHuRlgPCzzGRsvLWKtBEPqYXMVjCUVqRulTAoPdRVzpdnwhipCcNes", "RvcslkzJMItqzxxDYARVBWEuskjzkeICxDerXZukGHpkkbGUcesxFVXlMPmwORsTzEdBqYJRBqnVFXEYoQdAgFgVlgoZvlUPhRdyVxeJwcmUAHMmJCUOXLqAPgwxOszTCoWypbeBMaBqNqaHwenFyZdfAmMADjFUMNlQRFiCzVZpLwRHTMRcXlAPQHBlxKPafnPVwWahuvsRAjFMZEYVGgnGuHYRbmCjYJmbirFsdDTaLtnFzeTsXRvNkdlPpyQN", "tyfILJXFxLpDooQqRscoDUDibIlOXBBIOAlKOWTpoSSSvqACPWsAuUCvCgOyooDyXzSzaNksKUbYtpdEYCjtbbcJpsRkJYledKoYxObDkBfunlXElIiezhGWlLppTwJFULPRCpOeLpsHTzPydeidukACXfIuhKuCtfNHXHYfDFeTQeuUVsMGIaDizrxNDKtCxPUlGlMnGRdytnlAkQmehBSrFWNufxzvMWsJjXkxbwCTErdPlagpBHCRaSXrJDxa", "PBMJfKrEKnKzmyOzzYyjGbIIrbbErEDEziFGCoSLnVSlVFQWdBlnTUOndFkIlAuLbJQjhfJXpCixYileIwuUSxAynFWYYFkPFCJyvnTpmgsZpzoipSmSCVyVgBnNLYYhlyAnRVTRTRHyoXKmntRIepDwErJgmeALiHQebajHkDQDSNvPijXZgkdVGhxVTVBnnQsiDkQjgDvCawvKmhZaRYCZFdlUGbbfMSqxkViCuWYaHTWgAGbmGeAbzbKEACoW", "HoKdTljWTYxZbCDcxhOgZqlawvVneVSAclIsDUCaOaegEAoFehZxOHgTYLoyzOpcaoXkILBlcuIZdNOIZgKfpzAqRZcSusINyZnrpogZZBCUTELHiWDoVCRbcvzXUJbgeTYYijEYoglPdbYYpBlIjiQPZXcoaErNvIjdCYHZrAkqjRysqGlcfhazeRqvVsYxblTThbAufnwVkFQBNpKHWCKPtBfCPXUiKoVTYAMQcQRpHNXYbgGCKSDIYvKCHmKH", "nKEePkhYpKLDiJTiNqQUfqrrwDANNhKHRoSMVQYTNDqBckBGJpbQirvMkUuzNAhAieBeVKSNNOQwwCbRLAfUpZiIemgsogIPRCQaGmjruUEQriEVRYCvhVFlvXDtOOEkHUxNFMnsDXBrZXVqlYtEkVdJRzwUJbFNvevnkZaefSFoxFaMLviQmwLSTNiHEdIWjzNaYqILLFuEwhsDeMxbERgeSHdiIUGbrgJuiNSlsCfmoOAZAqQsiArXSiIhsBOy", "JzrXsrYmzhUNWrKlCbPLiWcjtfeFNKNOQxhmRBckZgBEYNabrlbtvUEUMEFhMbzHpAWsGWDbybocZePtkuAPrAAaxgTaORsvVSdUHDwjbihpubRjibIPfKMXmFDWwurePdZegVWzjcnUWmOUpQUcPYtQWVoCXjgMoAgbFqqkcMugEayTkAfmPRKxZjLZoCZsiTsfiIcALcddeMhYiVQKuaDbHYrdUGKsFYDSRyNIAHojFoNARYlYiEgDdogwiAbN", "eOwBoWjjkglyAsjALjyfxqKGnwoPLuynJKMgqFXsqjYstQcxIaLkIhdVfCZXvvOPRcDOoHePmcxryszVACBnNHFocdsNLZjOQxwnBMmwLmbZxrwsEMpVQQCXXYrADlOklCyxtEFSqgRJdCuezvyJqgkCKtyvGUxkCRjELpAsTVSabyUVthyjxnpnXAYTtbBeurgixZZyNNKumRCIGXAgapPdNlMKOHAXMDRALFxUxRLxBElBVYSnCyfgpTZCwNZM", "njVlFzIbMvHNhSmURJXOVHDdzIPZFdoGgcWWUcRsRZqpRINjgtIBaRjqwDbIXuWWRYYwcYJoMedvPSSYYxjJSZRHPlyvCtRbOfBdeNhKQiLawOdZdPEYhltjAwMwNrdSPXtIHdLIJnCuafbLkiRNGeEGINZSgqwwcJiHQyQAgOTQaCYMVQqJJvyKYeFaWZhXNGPmmCgKvvYAkrUruaAiVyxyltXueYJtBMnvbdwajDpKPaackqFPkoREJCoLjJum", "CCHctEYyyHtiRcBVUmiQxcmjiKsYmFIwMTtYUENWvqyeHkrUBBxQdKPqSCwENZoqmrUwmdfUTYocYxWOIutWGkuJQXgulUYAtiuIsvnnmpsxHiKGoOEGAvzbCnkxmBKUSjahWIyDHZsXTDHKuZyOKVJoXhVbJOWQGIekDexzeIlOQsGugYCsVTGQpkJQtPAQiiWZNbYwDzbwDUeinaKJZHlIFrPCVKEPcagxQOZNLbuAHgOabvqXBqJTSdRSDCSi", "PrMRHCClaCCLXtrpSWpWwvZpaHPGVeokbjAclYRUVPQqWwVZkHaOSOsdzHfnZUGaJKAuGZLrVvIvThWWiSidRkLMXuoVFEKoWflLjhElFKiBxwldHFatuSXZPXRCdoHndpeDVDxDyeteXqDfdCLyayWsamwDFprYKISxdXIjHETGypbeULrgVPIDhnTcHvvDVhClDJmgipMeFjFYRoEbUELEiehquadbsyJUraZITCEpyziTbaIYByzZApRsdGlK", "diYoMimcpFHVdJiUcajtOKDRtHnuhdmKNmTcaAFlRvnNpQsmpZsmKSLAxbqqBuHrUVMGzJTiopUzrSuyNfjeKHetITDmgNFkITbEqEpgewTarBTVEuVhJrWESEsvLCwwCWWdYywQfvpBjEcqWEZPPiLsolyIKHMDLHNdfYyrhDxeCDeRQfFawpyTGHSisTjdFejpedaojHNyfOAibkQIJwidLitrGWoFWCTCBkuSzeTdaFBOHzYFDqKchnswDsnS", "FDnjWdOKOnkbMrohTRgdSfyQtWfzUyWEuhWhnQLkbNowrGtoILzhfBXSkqDPlKSaMzSuVzlumIWKJRRvXgoyHGdjJYHgnfYpHxZxJDgiRpOhTtjvqNpoHoqJzzAfgbWZIHwBdMKNPsqUgynpckitVwaEiiVcTkTBbXOlTNmLFTlMkxizXkeMXPeLdwZLCqTygYZgRybGzThAObLgnoCmBXgNDnDhTbdjPQtscorGbOAQZzJWZAgEMktJFBJFmSmL", "uIufiYExEekwNHIvhlnOAafqOUOqDxDsufidKAnLsnJiLLhDydpqwoBpQGMAwDVfSuYywlfNVAhgpjHdnnjhhcHVFPzExIdlOZGTHqfXNxXCSKiCuicANyknyVojTnaQKnQbonBTXXOPNncNrVJBXjXLGgLZEzPQaPnyiaveDuvOTDxehCQPVswBqiENcpcsrQjEdQXvashEirLDNFUpUbzDzMOxOQxBbEcjChuwHkiZyXhGEkloUXTzUbqgXWFY", "dUYDLVWhElPLefRpAFBBcKSkFEFmoliHKxsKjPExaCIazQjKKohWoiMofNFfLCfSvuNWdWyBpOBBAUuyGhbDfmZQfpBMKEWxKHufbZHThHDBokBnhHfcCUTbVuajBdaGgQmrHLkLTXpRNtXnmIqpSAUlghVAoMSFoOuKplDiFEQCUbQoSkdfOfBrnEeMsocHMJBXytdMgGtEwjDWReKXjKjjQHxFcdusXcUGbAFvtmTMRsGxwitDpGTiZFECRFla", "MWwaqtgBuRLrXycxjVOpFOymoNwIHphAfaqAvZhLwPpYeyRuGiYBLiPsNBozOpHFfDcDmaqajlIbprHUVTiKZzqSHDmbGxtfoDLdkhvJcABesjniyCnIJWLDdkmAVPMbzSeaHsqnGMVneLuicXKVEpnypeqZAjWsDconeRDlRHnatwtsyfkCZrXnJLuSVVDuCiakIEXVlTvTAwenrWTOUbdZauOghIHxCgxcePAyDoxtEWgKRSmRAMSSCTpSBlqg"],"c_map_decimal":{"c_map_decimal_1":95.1192, "c_map_decimal_2":63.1552, "c_map_decimal_3":34.0611, "c_map_decimal_4":27.1907, "c_map_decimal_5":55.0575, "c_map_decimal_6":40.0741, "c_map_decimal_7":80.0412, "c_map_decimal_8":9.0520, "c_map_decimal_9":59.1193, "c_map_decimal_10":79.1664},"c_boolean":1,"c_datetime":"2016-04-24 05:31:37","c_array_boolean":[1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0],"c_map_int":{"c_map_int_1":-669381829, "c_map_int_2":1315341308, "c_map_int_3":1343615632, "c_map_int_4":-1758823035, "c_map_int_5":-673655165, "c_map_int_6":518155315, "c_map_int_7":621826183, "c_map_int_8":379592401, "c_map_int_9":1744400417, "c_map_int_10":-460075952},"c_map_date":{"c_map_date_1":"2006-12-17", "c_map_date_2":"2000-07-03", "c_map_date_3":"2005-03-11", "c_map_date_4":"2001-12-24", "c_map_date_5":"2005-02-23", "c_map_date_6":"2007-04-17", "c_map_date_7":"2009-01-22", "c_map_date_8":"2015-03-03", "c_map_date_9":"2007-07-11", "c_map_date_10":"2018-10-16"},"c_map_ipv4":{"c_map_ipv4_1":"153.112.161.182", "c_map_ipv4_2":"45.33.76.156", "c_map_ipv4_3":"179.72.253.42", "c_map_ipv4_4":"122.5.51.221", "c_map_ipv4_5":"192.239.49.18", "c_map_ipv4_6":"61.31.121.110", "c_map_ipv4_7":"133.235.106.71", "c_map_ipv4_8":"72.187.35.235", "c_map_ipv4_9":"18.54.220.99", "c_map_ipv4_10":"182.161.188.232"},"c_json":{"dog":"Bedlington Terrier","ipv6address":"b04c:9658:7a7e:39bd:6361:548b:7ad9:bd65","comment":"oops","adverbtimedefinite":"tomorrow","connectivecasual":"under the circumstances","httpstatuscode":404,"creditcard":{"type":"Mastercard","number":"3528541717813591577","exp":"02/27","cvv":"720"},"minecraftweather":"thunder","appname":"Martenshould","lastname":"Schiller","hobby":"Nordic skating"} }','{ "c_map_tinyint":{"c_map_tinyint_1":47, "c_map_tinyint_2":-53, "c_map_tinyint_3":-70, "c_map_tinyint_4":-50, "c_map_tinyint_5":33, "c_map_tinyint_6":95, "c_map_tinyint_7":27, "c_map_tinyint_8":-50, "c_map_tinyint_9":39, "c_map_tinyint_10":-89},"c_map_decimal":{"c_map_decimal_1":23.0113, "c_map_decimal_2":1.0293, "c_map_decimal_3":19.1504, "c_map_decimal_4":7.0826, "c_map_decimal_5":95.1328, "c_map_decimal_6":19.1033, "c_map_decimal_7":45.0583, "c_map_decimal_8":37.1942, "c_map_decimal_9":64.0960, "c_map_decimal_10":86.0253},"c_map_double":{"c_map_double_1":62.76929843283867, "c_map_double_2":81.91605805948798, "c_map_double_3":37.504440836763884, "c_map_double_4":5.0500656369370445, "c_map_double_5":36.7726918739012, "c_map_double_6":43.05935580901535, "c_map_double_7":60.29967310571688, "c_map_double_8":17.780670060648355, "c_map_double_9":3.8022646816613035, "c_map_double_10":54.694693149104204},"c_map_ipv4":{"c_map_ipv4_1":"3.25.230.220", "c_map_ipv4_2":"25.172.146.61", "c_map_ipv4_3":"227.215.188.17", "c_map_ipv4_4":"123.97.41.119", "c_map_ipv4_5":"119.37.9.21", "c_map_ipv4_6":"227.95.79.143", "c_map_ipv4_7":"153.31.122.116", "c_map_ipv4_8":"12.217.207.235", "c_map_ipv4_9":"249.232.239.112", "c_map_ipv4_10":"240.197.225.88"},"c_decimal":26.0500,"c_array_largeint":[-2044532028591674868, 2577489780276280537, 8557246733226387223, -5667964122738687392, -4761749611850055155, -7523745144823321707, 138724857598013152, -6476703269733529302, -791294433520261133, -5147140281184660185, -6724955108713578795, 1631532389832674186, 337369020245745092, -590822452109583090, 7138635877792197451, -3754311763099790839, -1286495925625999826, -619211436637895057, -8230078895755218837, 6614219845279691793, -6060229082704705125, -1366292532423459786, 4773228967025865666, -1524550475846592203, -686171711651717927],"c_varchar":"got","c_string":"gpqYGVkWqyFjeXfZqlxgelXZLoEzgHsatPKNZYSZlIpbQkPMHkbywZbSxoQYHzwEjFDQfECaiiWbcLmeASRzElcPqziIDFyNexmFPWkjwWEPxPjyGyKlesPWZNPBAkWNzHbypfQtIPRZGOwgirAfifMlYVdDWkAvVeQSIMUaRCkSMRHXjGeWQmXbjOCDissJxSWcuBEOaxkUUviNLbnMuZXfqHHOIxhdWMUCEdtBJpxzduKqFupxIjDbojiuRxufMqDEXHeARlYeUwDnLaGkucCBGjYyUgUpkSdSQZOTBaaHMjNtirLLAomezVzRStRXjzIQdYfkrHbcKujXmpSIQHVTiMeGBPExsyrblDOZTGqIvXJnwQEzHjNzCQHaEbgiFBUnJmUpkzpRwUpvzNQtPrmTXIxiexBWgPjPhdbqFtTuGJZDkpBIUgtFgmcaGKdMKoVSnoThYhNYLUvYnlJmziYgWOLlJpzpxAfGsTaFscHsUhGjefnCnmeQeunViHVn","c_date":"2002-11-21","c_ipv4":"140.203.70.82","c_array_double":[53.59839503163351, 10.687885650442777, 64.76047301034296, 27.167401776975815, 70.80697607202934, 12.244319449655501, 21.21700550077789, 19.143167789945863, 69.43307112156964, 94.05974260543768, 97.89059126655174, 61.43992291925722, 85.4018038595466, 15.766790570107341, 81.20389231601952, 47.08350170501749, 6.393905039968284, 0.7894883312274377, 52.63394005661503, 84.05131242079786, 6.792793506216881, 48.67742339532028, 28.058383837720754, 73.45315233443846, 78.41583721994441],"c_array_char":["zVWQSDVdSE", "MhEZkxsHpG", "MKDFabiTay", "lPxopkmXIs", "jXhYpuAENR", "PzXnGPDMlK", "HdswqFsXER", "DILzqtLaHE", "aRFyjWFFFw", "dbrsmbErWl", "DbPKVlanMl", "ITBWrrMGEu", "znMSPVdnVV", "wxnkvwxmBX", "vvJKLsgeTX", "YlIKDwsyTF", "WTvVgRUmSx", "eviimfKzQB", "uzAvDhqcbZ", "jxzPnHIIHw", "enzETIPqeZ", "EyWacmblyH", "ygojfuqEqa", "CYPkUdppyH", "tTagwmeAId"],"c_boolean":0,"c_tinyint":-101,"c_map_int":{"c_map_int_1":-2002074363, "c_map_int_2":1064235132, "c_map_int_3":1087358418, "c_map_int_4":1704025831, "c_map_int_5":-953692953, "c_map_int_6":-33305738, "c_map_int_7":1061634530, "c_map_int_8":1727886157, "c_map_int_9":-819124957, "c_map_int_10":1550607717},"c_map_varchar":{"c_map_varchar_1":"BbiwOZsLSQQGbiIMNRquBdbUcxDAcHEFqlLhqMzLYTIlZAYklCbCsaUIgPQsOWItGGxIwGuvQUGEmEimVLnUgGfJVecXdCnepkDFDMdRNiyPNrObbqaYoTMRFtvlydNESEdCdhrlQYxoulMeOiGwTvAVgxpRsyTqnOnqAXBoQnOElsHtsDSjevJcEdvhLvefdYNBRfslwrAAHUMMIAaQNALRmOHyquHKdtHXFAgzBHKlTuvDaFFKiFRLYdXBvbak", "c_map_varchar_2":"xMCbgKQzfSLsoeLyrAKnaRwwMFyeTSVeIMHXEkYcamThnUXACxGDXefhiwYHWYRlqoEduqtIDmVyofGmwkRhESXALSsAtpBuKKmimcAegfXXQtYSibUsrXgLhLzUBwQxjcBYLUfIrVcvgaciUYGaSZmCowOWGwCBmWRoZqzxALoKLcZzsRMKAqyVPPOcXLFBhAyoQFZupxafRZGJmcvNpCrdqWFKLRAwjTdRcFmNdRMKCGLuqWSoXYRUyEEqeNRF", "c_map_varchar_3":"YLyhqvRtWrnnTdPinLjVvpIlHHmDTaavKHjQeiBJSOZdxonBucpPFWhGDMfiWcSBNwqmxoLYMywtdMFXOuqbSLHABbDcIWyrDZyrQOJlXrKGQqNTGuhQzhDMWHKLJKAWjDpaxqlPGVmNtQwlDjrRAneEQmALdXiWEvVOLNOhatWyiCoTzwOLJsZxSVxFqliafeyDapfEhvRbACGlmIVysEIbVyMjXmlQHrpJHZpBlfmpXUHsWLqJHltsiKDBbxau", "c_map_varchar_4":"kvRunpWWYrRaSokBqEzorRuxVtRlMYmmNxzBoAivdUBJhnOmtkunDjHvgLNIgMbNJNtgdDocKizemIBQlZxMqaEfmyixHrYufgJXMrbdFzYEKBQXIcQcLfgXUGUufmBJgjjYASZJYlEmeCDndvVvGIlfNuEHyAUmHLndxpPGBZxxfUsFBodZFnOxegKCLdutCzCmrVaxkOwTcqbyMHzBRszeqgprAwcFgUohOvoNtuGPtVryKKKfIBUNRURbrFFY", "c_map_varchar_5":"BVJXEMFcmBKbiXcgDxZUczMfsoQfGoXmdhQhTjWYpCLbwBgqNKraRhRHFEedUHuVREyduErBljyjyknuqLVQpmBYnMOMjveINDAslcIgwgmhleywSpZwQJbSaiQMadWgUAfyEtSuQYREWCmPmwIkJuecmtLhHxGJosjKjuKuHjlmfnWwPAoTYhOIJQpmnCznBQxCCsPGIpQfWEZtvsujOHNsveXDrKUZjjHUlqjsCzOlGJSRCIScJDLyDAhbZoIM", "c_map_varchar_6":"tPcbrFFwQxdCVUqwMYUTZVFxSPcDfgdbHPgWXfxeCdeCepDnfycSgNZCnQtSOAnpLBkQLtepwmWiqbDUDWWePAloRxvAiRVysAGztCHDzxJZmpOFxOzgYeizQyCdWDuASEQkqWaJDNSoZVAPVQsfsbbpIGSafkEShghkyufjAbxuKCKeKCbOIeQoTxcWCtBuNBFtoSuctVqcmcKKxQFWQBSGOFxUKMjgqLxDzcoJHyDLOBkKvfpyNzHEzgBxuSCK", "c_map_varchar_7":"CqjfMGkmifrFPAHMUgbWWGCWcDJuCBffSSlKWccFYqwaFVxhXseuvPwFKngAZjqyBQiHBnZdYxuGljwqhvaREWRbkwkqwtRFjboNHkqbwfJGKVbtiHnzVYPbDFMqtgJBPKjOkusOegnjIcuwakXoUUxSVLmKGNwdUxeGmsKPgWXaNkPunbeADmzkuIsfSsBWquXRCMRrWaibEMvmbvkkWURJQXqNMdaZejVSmdamiTZJgByqaOoCJqVJfjtWHLCU", "c_map_varchar_8":"SbXBNbQJcMbIAlKrIdjfCNELYNoZZlyUaFkdlHbMSQJoFKexJxrrUTgjWggByjqmyoxDgpFXoMyuvNuhspJgCHlnZAQLCILclmKcPJuIXDSRBLrmsZCIqrqLDnxENLOQKUdjcwIwEaUOeGbklfESOgsjJIjSVnhMpUCihqWWbvQdOOEeZlCNyRoXFUGEWuZbdHeFyZrJRoEHupcXdUWrJqHREdZrJsgMKefwoJdNyUjWHJiqYdoFByOTWVuLQuGR", "c_map_varchar_9":"OEoiGufJUqzKZIOOkIruoWolkxVUArAUeluarkPRhCjLEGcISSkjXpcjZkSUCJJiwhmEoAnjEUhQJjezNIFWKKREKWAgLLkuraxtFBEPaddirpRbxUxnKzLBevIXbJqxwFRptpWDuASvgoXMgxrGDaANaqMzHFbynuTBSBGoYnGCQhNuFifeSvEbDVMWCeaHowfRyKqCpGgitFKWeuLBICupDIrIMtbosbvhAdLTtNrQrQjtbygLrEVBCiIKGCps", "c_map_varchar_10":"GRNAoCmmFPJcBfCvUOWByrCfMANFijzXiLMjIRsRArvJYEibPrrMkDKkWzFrGxJUyiuNddgeewrkdhYsjljVcxPdAFXJikaSUHXEnlrhUEfOPohRtbInjJzPxzlYHdLDHEmEfRRuRQrLpGZbRuybneIUhqxlWBZbZxgZJUxaISWOmbZmtMlCiaPZmoRLJJDpoTuWzMKhOTVzXPGvGjimgyEaiWkUgRjSKdgxIKRWPhokxauXAkfQnItbmxRJKUxg"},"c_array_datetime":["2011-08-12 16:26:00", "2012-11-08 16:38:10", "2015-11-17 06:00:00", "2006-12-02 06:52:14", "2002-04-10 19:43:18", "2005-12-16 11:01:09", "2016-02-23 11:43:58", "2013-07-10 03:48:27", "2006-06-22 18:40:21", "2011-08-01 08:35:44", "2011-10-18 23:49:21", "2008-08-23 16:49:06", "2007-09-25 17:30:06", "2009-12-18 18:09:45", "2004-02-07 08:48:20", "2006-05-25 22:32:10", "2011-09-05 12:35:36", "2001-09-02 00:52:46", "2007-07-09 17:49:39", "2012-04-09 11:18:01", "2002-07-13 18:31:19", "2018-01-05 17:05:48", "2001-07-14 03:47:09", "2015-10-09 12:58:06", "2009-06-23 17:16:31"],"c_array_ipv6":["CSulBwIsao", "wFXCztfHNZ", "CYitkLGQMA", "hrbXsPMwTi", "FoEFmGfzfG", "hpTFXnmhVQ", "udrfDycyQy", "eNTKXarBOD", "bKwkRJtSWw", "QhLXzPvbwJ", "xxlumOZgmK", "qMiYaLgzrv", "SZmrjJdCWA", "ezdxkHtJuW", "biLcLZmIyK", "OrldIKQbKk", "GZxJlCUnFg", "qCQzgjcUvU", "aOrJWleaHO", "jooGlcDhat", "XUgQMRQbWT", "OKNniyKYVC", "hYapDgOebw", "fvowjphLPF", "DvBPiAiCyb"],"c_datetime":"2009-04-05 12:47:31","c_array_tinyint":[115, -67, 88, -77, 92, 54, 122, 32, 80, 127, -13, 87, 110, 78, -75, -54, 0, -1, -118, 34, -94, 6, -103, -107, -31],"c_array_bigint":[-7255553183883835855, 1809979999017496145, 302796307411575777, 3337837254538945564, 285054501339203642, -3759074961716873407, 513076174648595172, -2356767699796228402, -4887027111576777159, 1986363911041361423, -7758575928494867038, 5665516796912894456, -6545176575747787544, -8414970620775719288, 5286632235826021240, -3888953798095984249, 4425065440655732954, 9144953075401362276, 5504494983028996305, -1710980753702933793, 4726864782555793340, -3223712478313042486, 3921635923988453056, -5408448991739343933, -1043979795043600155],"c_array_ipv4":["sJCRAUcwbI", "DRDTadNRaY", "ZXUNWAyOqF", "CmplUsfgIR", "EEWlRnXgre", "MLDCTQyVmd", "RsmBEYBOUQ", "DWHXfZrlxy", "AVQSDfeUJH", "NYNTNRkyCK", "VExNVuPELK", "UVfFwkCrls", "ttsfXTaOlh", "HsMunbLddj", "ejgkdVmvuQ", "RsnXyNLowg", "LlUdhqdYUD", "lGWZBWfsrm", "TJFdCwsoct", "fAHjoQNZay", "hWeLvzyLeB", "HSlTaKSZqf", "bxonxUHRSq", "SfIIeVuRKt", "kLqWmHDzIU"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_smallint":14005,"c_float":48.56491,"c_map_date":{"c_map_date_1":"2002-06-02", "c_map_date_2":"2015-09-25", "c_map_date_3":"2016-03-19", "c_map_date_4":"2011-11-13", "c_map_date_5":"2016-07-20", "c_map_date_6":"2016-09-23", "c_map_date_7":"2017-08-05", "c_map_date_8":"2009-02-08", "c_map_date_9":"2000-11-04", "c_map_date_10":"2001-03-22"},"c_map_smallint":{"c_map_smallint_1":-32395, "c_map_smallint_2":-28487, "c_map_smallint_3":11501, "c_map_smallint_4":-18876, "c_map_smallint_5":29616, "c_map_smallint_6":1744, "c_map_smallint_7":16408, "c_map_smallint_8":-18983, "c_map_smallint_9":-869, "c_map_smallint_10":-12031},"c_map_float":{"c_map_float_1":4.0829897, "c_map_float_2":85.44213, "c_map_float_3":66.704865, "c_map_float_4":10.30131, "c_map_float_5":43.810493, "c_map_float_6":11.636789, "c_map_float_7":50.660435, "c_map_float_8":32.190453, "c_map_float_9":50.37687, "c_map_float_10":35.23072},"c_map_string":{"c_map_string_1":"NICvcQxahwUSHTBMngdCRaeyYxyiAivqYPJYlTulcMLJwlDuVHGjOZbmijANLXLrKnNPCzDCswWdgOeJsEHJJCVRwLWTzCftyRbfUQBfBqRdkfKOlazdHqxFzqXPpHISOpQNUqGUDnPkqJbKSYrikHHUPxlyqxGcMaCbqNjGNdfGcioeepoCugkzDLuUsMcderFDAjaXwykJITgSdzNEbXMmocikiUAggeMkjKXamVdMiWMlGXiILGktPNOZZtOWiLdjeYixctxjJXNyFXzbToXLBmZcLbDIXcJQxBpSTuorbkZwOtsblSQXhSSwwoKMJQHaEEiVvZxMTJQEVTtdGCnSvoyKNxFOYpqNmunGXBEEQMzNlPcxCpkxNJdKEXOGpwGDOkXdXsBcKRGVZMkUeBEGNREFSzKlUDISARfSsDCFOIXRpUJpcsiYoKvBycToJDiaasHfLookLiEEHUgGHNSIFgiXtgnIEOCaWxszUkMwOQzqbiVAqITpsaWwWvrV", "c_map_string_2":"AXdovDCrdehUCaxlbwyNejbOwvXczKvxIIwswEpHiOuLAqNFQnLaoJYGEmKZcTcAiRkcAVdmxqYVetItCPvaBREJZWeKyTWpVboEZqPwkacRVDdibiGqQXplLOKbtbLOirnDbgiSzmlrAsjSLWyeHfwoOOfShYQMUkpHBsqAcUoijmyeEMgcDCtNVimxuuAMApcrTQqnOfTfhkncpLKHJnVBNuitYxnxhBaTOkKRJBnomewZvhLVlIfxCyFUPNsKMRFsovmXbwoHQLyhCROPYZEQLYsxZbwkuZqnsNGlWmNboBasPUuYGCGDRABqEYgvFKDMBegCpcibHIaYDmytKvyznSQYyxXutgAXITjePTPyouMrSWyqLlDCBLrgqYIjQetzQRqBCBKiOUmATmNdhanjVHYwAlOgaEFEGXsofRTYurPefJYEAlDrIjfigekXrHygCLnHTUembDFAqycpLaUrnhViqoIIOnJECCmBHrQGtRKJHZDHxyYjIhTKyTYM", "c_map_string_3":"MvuDbRQIfrYYjSYObFNrbKODCPmRZNBjghsVjLUqMZpwqutuSlzUqpGTUGDpimdMOaYxnOjwAPIxhJyQhKjwMYNHlfHdBrwHnCntDWVRFzhlvrikkNmgBXmdLlxRfYUmlQUmwGMyNtwYdYxfjUkBJrXZBbTgeQpGOtjiwfKCmpwlkjMGjnZyDpatTDlRZSUNusphQQluQTpcpNSxhrzFMCJqkwsCAlMJkZgdqGtPerZXdRxugNrsJJJSVEFhPAXCrtWuDPiLIaJkfVYDVAZQKFfKUnbNoCVpQvtOPjCJTHnCDTszcYRXBhlHCrcubMqTfuYcIGEfwedstiYxGGPIcBbsIIjwbYtBqXintFlhsFFJQjXOYoHjuxrUhgsufXZcFryRxomEWyZPyRrqZTvBYhInpuCRSHPIpCAGdlAVBySazOQFqmkJDjNAiMQyDhGvXcDqwtrOGUDmSgPyPxokZGGeNcWsdrFJxpTOItKINlOqyeGgEKjGirgfbRBJkdih", "c_map_string_4":"wSEiiWDcWBcpFdxiJFFHEimYMMKyMEWDjahjEPcKBZsnhgZMFrYmZmOnNjusipLqjLjnnSHcsyWtnYsmYyIIqlcyDHceMqZagqlQTnJlwzYxYWEUFAvFXkiHkWyEVkROdzWcaqpcQNTyuovFDFcPEaJEZZhzhJSMoAAiTwQyiiZLBCvaFtgVVzMydtSEbvhkntNggDOMYLQgrQBYjtsiXAjAoGmvQihXqsqiNjRAdRmJbhGWKvYnreouEHJHHilsCLWzsFdtcjmeHmwOCxOuuXRnOkJBeRtfEMguZAKtyakBUqLFhhXDPIwwOfgNqVHtmypOBjKSWFeisNDCTecfqcWrflVNbIDGIcxnMTVfhHhKUYOUnpLqfqITyGcAWMreZKZWxYppLredAzklOaQtJGiOWgXXVmvxZpRviznBAZVtwKcEXQKRvhkPBSNySAQXFuPTeRFzbDuBQIDnMnzGnjWBcrKvKEZhHHNmGjBPcnboXIqEjWbzHkdZEQjrMSlT", "c_map_string_5":"PpyEarMmjNYleoOwwyozppHiBpULtYNFbNeTnLUQUZUCEzggSGYkTFlXvAOAfodlPIYrqbDhNGLXiHggOuRoXseDElxYGmCgosGzSwFuzjxgIyoTrKjRExqPSYqYDvsUCENFTMxMssacelgdizwUjZQqanWFkGdOjZrObaiUohaYfWgFTkATQglTDuTXpeFKqDbIPRIyYTykGEeTilbIUQdVffdKTSLXTMsjFlKktcEuUAxvraWFkAhCBHaWHEADZwhhOEkPEMyBxCUJSmwSjGlNvvcLEgJTrZisUYZDnlEECwfaSLOMnmedxhSdfdMIrPRnmGkNMGELUccyRHiWZBlkKSuEzeqbbnMdPKjCFOHgHiAMwkPZnaclNXMLjlbKjMDYeGurDkIEMWVtEadfGiiNuztzIHucGKQQoOUbDmxaeXxEkgntMgmerRJLcRocFXIaqFrcsiHbxWZOTuzJrjAMDPOQdiLOoWiilmenqvjLnUCjcVuQxvlkKaKozpvj", "c_map_string_6":"vmrrainOHNJXbiWAmfMMSocNxBLyFJPEjPaDjVpFbLjtjkmhEGBMfkSNbmVSLplSfabnyTJJFUqJnxNCpoqykojoVGwRCNzUMNriuxnAdmfiwVgoMFVKEiticibYyJaMXCbyKppqjuvAsACiGgVKIPpNprhjHXYukIEIhjlRABoEQlzAfcWXjYqQYiuAajMKYlsfBUqaolXTotnYpVfPLrjpsXybZrnLKBZYdaetUkXLOIaUTGvlNsTziidXncQfWlZfZKMwlZOydFyRMJwNdMtxpiBgPJDUBitoTzDYbcLGnKtFqZNaOtrnRulPbexiyYzXiJUOIymiESelfKmLjJFByfYQdtcYayOOwCgsGSaZAnhrQjRXtJljEYbRSQFPfYmZcBXfXAvQUWDVHmktrPxNBHwRlsKjzaHbpXXVWHliofhhkJHrjQYwjkmbQdPdUGNYmxiWcfxNKTCwqZBKnmEyzSSoneKofatSkQNLOZRDZHRNIlyQnYriaclNWEMO", "c_map_string_7":"mpgRYcVBCpQrLnFcXJeFqhvSrWjfBLHuVvcwfUJjMVqcqbWroIyBoxdazAdcLjUSNFFRrhcTHYlzMKApNEjSjvodGOqGkJkzHKjtoDbxkrmTqjEeCKnrUadnFbOyQsqzktcqkpOgbqrzqnOxmWZXxvzpcARqTGVeplIEpDujZwCdXZvqQpVAhhhzzPcSZKIBqEqSDSPNHRyNgcfZJoZZAFfqClPUalCRMnmzkXfITfsukVobhQwHHHTFNaOhNiAjqgYNTIYjvxJETBGdSpFgJkOHHJRDyCRCVDmKxVTTkNDQGJjvUPKEBWINeEatallGVCkbPESSFyEecSVhJyRIXIYzQqBNUxlfVsKGInbXsOlwnCYntWLGORBXCGFHGuafZeZwwjcxPyDoNQModLQAGzTKqzLyYZVBQkyGpmfFsREHCpavYJVBVqNRxZEiLeQjEJmaSRklZyXTEnLGRlPbyABvydpOpeBOVFaKYtMzFnVqTaFvLtfOMDerRQMZJdNG", "c_map_string_8":"aRbUfEmqbqYbyOiesYlurpVQewsIPLUcUxvXmdMGdATteQJPAsspkMQThSiCqIsZSgYkFZlhUOSbXsfqexlzEQcrCILlYWYcmmxHUGsEOoYnlousxOPFLRnvOCQzzBKwPLyyltLJVIEmNqxuZvZeRMcLvjDeIXNyqvhuWxWQqJaNUwuWmQqVfcfphUYreHSMFrhroLotyVUdOvDDTnqLaMcApkjAhfuusAtmUjwYRRwDWmdOVpJpMeQcIDXWNNOuLSDZDJcHBxEZpOiBBdsPzDodtSndUPRQZjyuyDAJqYiuJLnulEFhNOqdoRqgviuhVijRILSnkUAXidrAqftoIXZDfjUhjYcybJxNqjUKAqfJoSPYCnGCSEOkvShSbJDxpCfcINywAhXDAIfWyBQEScNgLKEqTPUhBkNLDdXMBDqNqlQLvlGcLILnDRygYzCoLzMsquicqnQFZzLrpzNFcMboTvgWNEffaWgFtKdHItjrdIqaQEtnzXLUdkaskpmh", "c_map_string_9":"ruWrMgknJKImbikTShAlUpsshJABMqGQMTDbfbvKBQsUbtMHKMcxWeAqTsNaPqxbCVubansoDiLKXHUAtrhAuwHRreUOnIRpabDAXGXBRPaOnLsJIUzyBDSMFJAbMhwJXxrveblJjvaPTLXCQhVEEMoFgeyEkAXNryuYXnpBCvKdYJBPnOFeQTgrrAunPPQzvlUKUzPXJxXgQmsqepPIjBJaacSenKcmwOpAfTMvEGbwdStIShFCQXaHOEfXaGqTCskMQNXKHOyagubqZBTosCEzyXTdcxvamnZolNHChBYZmYVDjpirlLAmKiejRVVejbwTOukxWuyxqQPZIRqFRxieJRNerUclIimnGecNlIbfYlfpdFuvXUesgMTPNaKkgkAUMUkmqMzEvoxwxchWLXNwjwCmKYyeBjLSdEdWyOgJVtfRDOCNzprFKPdJdCQrRlKpEZVoPylSFgBjtFLDqSQvdykOIMwzfJFUIZauqScoqUlpdEfvawJiibWyjojb", "c_map_string_10":"wudiAUWrogkzsnXTlNwEVbkECKzJuDFaxtWXyaqVEihUsKbkOcjyjDNSwrRsShvsFEvQsMHvFbveZJJivOsNcHtTBQiBkMwVrDzXzmGwZZDKZLhQQmqdNMhlhyUXOxRAJmMnuXyrBnZzbeRVCDYzJiKDjUboEmZlGCHhQoNtqrxzsyfanfoucovAGbRqIlVNlIlrPjRigdwAWBRiwSiCMNkdmvhNQvluEXrVmTAgvVQPzVETPHYInoWwrmXnZFlBSVmElqxmqSDAgauWTSNtKOzATrhsAFwJPnapzJVOfrqEmmYlbqbuwNHNZtlLIhokdQBucaJpXPITgNKibMCIQCYuYNVXVTzQEjswaMlANNncSIDXAfActbXodhcKcvXECJWKlPlRpambmcATjhbGvorYkrpgDjsDFjQxLEhfdgmCGLaHOjqcifUViHCsyAxgWKCpleViPcXbSVARdxAoKgHXkmGOUZQflpeqYHiLYXRmcLNYXJRQcCKRlxsNIiVl"},"c_array_smallint":[30657, 27222, -29321, 3695, 20314, 6771, 337, 24188, 20059, 10916, 21402, 6841, -6929, -2471, -2739, -21263, -20423, -8643, 25533, -25644, -19017, 32335, -8214, 2442, 30500],"c_array_varchar":["HEDVFNqtDHeQtQVgktGSEjYXuXbvfldbkTqPSXImHDbhhHTmSjovVqtDwaBPVCvFrEYEKQSBIBktGTHRMEFacZAbmaTTWsBbvmdHExXKluOVHuhtflEursSoKbJUgVYZvHNNWrgGkUsKnMFhVnLTthLHGSVJmaoMXawllGZSGKtUFTJmhmoYqovGTPoIHxNwtQUcTWpnaXWYVjrWkVUFFsPyuHGvEnwGhAAdEBzHwTploPIukMpdCxwwwQnpgJQT", "wZMOiLFkHHEdtyqTFJgdHACoxpopchMuYGNCcafuqIhGfssbKtVSoQrjxmxTTgMUiFBrFwpwbprtSDWAuYLNDzaCPLhYnAIaJjkXeSBrglvAHIrXczdyvemrhrGHSgdthclSlHgfpfpsVxHdBSDqXYejPjENFAlCEYhLDPLkRHxZtuClnaptJkHPErNoaxKEzzCCIbDGrkHnRmWvMLrXVkdJJLZHOiCozEFMDiqhayWBeOtzGavYSDAqjCarwvMM", "bYPSIYIzSBVWNjTYZDEhCMPwWlhtuMYyKtkULYGpBSJyhgTBCAnQNFtUmLsYGoMGQfRFclpdjKAVotKpUpXKUonfpzIiVcxunsdxonwOkymYsGXWVrTLYwrqKJxgenlXkdiFJQDRgkooZixGCtGyzWPcQNiRonSoWIqsThOoavbWpxJnaSitEgSbEwUMibuuVvMPRlJVglZvuNMpvzrPmwKCfDxvAAjatewlCsMqIJfHNYveUcJdFurKvZRBpudw", "eydatvpVmhyErvNWwIRMLbMYNkWlUOnYaWviDGRYzuKjMlwaFMrNJrVzUShdhKSZoJhOLSqaaSXJcnDfyZCrbQzrKDcdMLuieAWnEbZEXiQMHNYpkVNfNPKPqmrcSUzrelrZnjgdRFuSKVnDckJkLSwhEmrSwbWtKVixjhEHDMVEuFpwkkgjhrCkgpBsTOCNLeVBRWmYnGIzcrWGalfbdqpsVmWFZqQbNnDTGrMyNXBqKMZryFJxIQNomlGojBYa", "GoxKfVPeFpymqsNVvQggxLpPjjLAmQJiklfBJqbCMYoWBhGYksjMjcVHiOhlwWleYfdPHOgGKrewLdgipxVBWxpVjKGQspJkaWfTrJlYBdxyYMNGBbSjQgunYNRwlTxnoNSLaKtipizgfTxBNblNxfkHQWRUkMlTyGMZthUFpDlVWexhvxCJZsFxuRPiYihbJTcELbqzdfImvQdCvaHciPksBMKekfILXrTVksNgnpjSabgnQfKUlzOijtilUTtL", "eTyhdDZUkTVSLQbexLPhrcoKXDyqpYdCSalwSnsWGtumPnUgXKsGEgEuvrjWiMVzoDCyqbeDXNYiDOiAAPOjNUfepKgxlvxLWCJJKlLhNKckjRSwKmKljYjkzcbjQOiPUdcImkeVrhsWaRpNLNGTbJxxCvmxIfDsRsCunUVlcQmLsQFbcgYnEVLiLYxuYZlemwBAUCdhDHpHkqCbsXlsmeOAKCYcUehJEdmzXTLmruKnTOMFNiUzFmwQlRqtNywo", "JzcobFgZVcThXanhQYUkmEveZnJmbQRLcAtHaUsywOMXUkDPwwejDiIRhLdqMOlgEqfiKkoSMNHuHExYUCdDmbjDpatyXQpBXyyliZlghPguAkaRFZIDYtENbluYdtqLrXekHBURIZfePtWzOzqFimVqTBfzpgIxUXXRveQJmnIRGGooqQSzhOaVwYWqXDXsfuHrXUdrbQxMOjgcxOZcoYPWXmcBCXLAZLWMAXTktkYjMyqzBADRukzYogCIfxyD", "ktpKVIjMEsjijskpusCOtNJlwmmgkyHQEFNqpNeshrHotsQndDnySYpDWetUXrFeeMabAIgLqwoUzsgPJNwbJrWFEQUQkdBbhmnvxBchgyBVBeGPjMsLmwdPSUJMBJMAdTgZyMhjEkGNFnsKerSseRtPJnfcDFKQsJjbcQIZurNxygpxPKIWWINYJXWvVpvLWmvaZpQQFEIhlRBriwqiqclNETdaEuXNkVqZMGobgVhxNTstDvdiwVGTKgszyhRa", "nBBXqFudVUNLkcsCkuPURYXKWtielZCkRATjFMHwibmxcUnsVXvWyCgVTKzPmicjkIGBdMZBYnNriVNwdpiDRfSMLysTwiSuRMhBgSmUZnITeGBmanTawruQsyBcZmeYXitMPnOQRjFqxbQOnqikyUgGEdJjWNckmPirHJMuBQLxruUQiupBVvfHNlCStPVdtThrUGtkPwxdwzdrmyVdyCmlFwLwvZwCictvDcCHpXRkUsSjgQrwHjWZasgQXOQs", "RzxdxtPnCqxbcpbYUBpXjOInecjolJIbfkSLAbqlOOqXMwiqGsIiPAIaqRIdeExphsdcFGHrpLhGDpEzQZgEJpReelgHYuVQhVUhdFSNtbwxCGVsLOMNygxzzZHlcmRqFeDmpCSaanBjjQVmNaNsIxaarQZhzmdfVeeKnKxlEryEvugBSvfPbeNHdYivOtddDLWkvYhPWQirdAsqhkFhVyUoVBgYFopVyVvcpaInmSFBkqgbmhUKPIVYBTGYdcKz", "QyEZOsLucpmSSvIVyTyKdQfinmCoRKqLChMAJrmxKJKvLdhWdSLnFNkXLTGCCXwuupjNVBorAzgSoKxDQMhKoEjajRRtSrwizBLHFLFSpyQvMJwNtRhVRsZhylWFrKCleSJkJxTwhEifCvkmkRUXmJEAyDNLSaGqUhkCDoQYkDkiNiafOocjXjBcHggSxsJyzAqdYriiYbIiZqDuzifqiyWYEZhDoUVEaYKMwChrgtrSmfGcElcAHYVGaKAMhTaq", "sqcZVazexPdYyTBpnhTBamzlbjIGCmZhKOVgXjLjfhCDlFsmkbhtSXBMGTGXyykAfbaPlLiVzLOUceUxtmThuQxRFJsGssiFGDaEGGVYfFATJOkkWuvRGXaBIzrMpLYmRvKOGAJJTGJfitlrkRhEOyVBbXsfCYxbRoZWadrKJDpdFvjqBFimGzKehZDnqIsKvFIrqXjTIwnHSOEXRqANOOeTcwrKZrDZtpyrkKqkLzLdtSTAxroEsemJzqqZGhcR", "uNsVwQEHmtNhaQbZokHZwYAsRoMyVjkclgIdgdBwTdbtRDaScCRXgjKkxNkHxkKWnMcJYUJHVHFosEioXwYnSQAdeqMNAwIiqplGxMbXASzfFrpSPkeQZBXMEOzIGZdwWghsVWpEwWLujRsiDFPeXvqyUeFqDxKaDdxCngEGqbjKblCaGQRMYsTAelysVxnRAKyEnRyoYOAZMGeOFrBySgdAyyJHQwscGisApsrrVTdxFZcbJWsHLsGFpCFHKUSV", "vHRCPuYbSlVBzQnlHGAeARtzkipugDIORjHsxwpiDjSudSUhtAskHyuariKFGgOialEOqBhZgwlToOeCmqzhDbXinaNlGzoKqhZXWFxesZOcgXhikHddQxVyXOKRYdObseQpTzXaRAuOzjORWtZzNgASZxmlBPzhJlWmIgBYKwxgqBuUnyTkctKYDpYgLZhmgxUiBzrlccerBeAAlDmBEIEcpsWqzyRoIzsXfOFfgWfKRVuycwWkpNsNQBKvtRjq", "QvxAUXTqOgvRorfmohQkfEcJgkvUMvjKUvTGbajuuclXcNNtVltcLToRwVohrfXxuKxhXQNmvUMDuVTjLYseZHGzhLlseOcoNhgQqgCPQtovburPeMZUoLAhqPcLJhyUJqeyVYuTxpnWSjHIcnZdueamMqFpLZDRXLhdxhlCWgtKzLITDEJTyRYgruPjAzQEMtODftPNtIKZTDmbHRIEXOYVuDnLJnugnUUmHZgUodCmKYNPDQXtQWfpqDJInsHq", "LkHgfgYpPBqFrCQzayDeHsvWYNVFXdxAiLjbqpYqdHBTyoIZfJgareaALPONgkUaagyfNcQDgmkopPaObZgdWioLOSswdcjolcOWtgIqElypEKoGKkzBowNYAgkZUPEJutOWnjkHiNdvZYYmZFQWmuRJGlmrKAWrVnkvMUKZKAjfQlhhaKeejEsfPTiJcMFvDSHqJjoyFxkNTpiNjSvCZrOCGkwwhdKtQLCOXSFlcUsBYhvUqMDONUrZotywEDLO", "EZujsUdHXgdbMzGEROuocPSzlMZzbFysLWjfTXtFfEJBCVodHVIFYbVlnzoJjvgTTMkmiaAtclPLVKDXaqHVozGvojvKogTakaIkndvzKZdTIvswaOHlYjoiBiyFOzxTVhqxaWViLZSewsUATmaoglBtYfkTURWpVTewBoOAlacfCJbZBKdwLODIcBQovVJdvsDHqnbpJUAhtrxCltWzmKnVWvnUvyKJjiNDoYsAEAqgDtPyjziVYEtuknZZPjwW", "LYiZTRsBwVXBjHpufZrTRjnDDIOamYHhKQCcdsFjfbBXyWDmgYxtHsfqIwyEcakrXvUCzxtTjONWHhpocQSxhiDefeUxAvqWCoDMNzuUsYYOtPpCuEoeQqDWiKRtaIlIMRRYyEdBTOunpCIeLByBUmzdekIPVcsYyZpbqVcMbttXTiKvCdWcVPlEjtAfftcSvebQgVeuugDMSTizmHTbmMHzHvgJqoeHIYsgBLMkebMbTesCpUcHBpbpOtqaacAx", "IMqCUvXeBFqoiwZilWyHHaLUxRmokqQGWLDpQLwteoPIXkqXgsZysCoxoZmxBgsqeaufZKbjaqfZFGulmIJiUtUTflBzSQtcmHQBPtOSeAfcQpyiskacrOsSjAuwkDpYQqktUBgxNatZleTGvUQkLEwjBuNBCoelxnqaLitMrVZXlUGtNeigNTSoVizCtOHWjthMBtGkPDaXsQFFFsimToGzRhJzFYwWhkeuaLEOZlrVoGFYuJcEdVrFFrkFqcmD", "HJmTtxDMiOadCZiBfevwrPBoZNJSqJzTjcnpLPYKBipjhFutpfeQrlwvbeZjgMLUQIuqUkzsheEMABQbFntBMYrEGMNxuyICwndyWMSGnvFnWfRLWuWMLhyWHHzCXIiIRDxaOQZGfOGdhuOsanUFKYEMyeugBcKMxuskHXWNYtkIiHiNFqNxmevlKGUrlzMpUODzxeEfiUoZxXixMUPPUywjtTyltMNCxdTwiWFKXzlrxZoClksZkVOhqQMqdWyN", "qXbCUmkakCTYxAubMJnkbsYFmwhFXxjkvghMICerPHzGgHeRFzbUeOWIRbFHRzndJISFLppdSvvvKiQYYIVfOwJtYbBDIPPtjXSCcTtPeynoqKCGZrNXrdiDKHpQhcEGUcruYYdyKYqBogfxDsgCHzQXnRSKOkyrwyykWfmUGQviOykqQZdbkMBBGqnsmnJWKMwqFCyqvmzGASceRMMsGpkYhMYabVWtjSrFvIdURkHYYxKibypKhcahIKdBvNCK", "cxdeGKnfpcCApZgTrKJNnVTFFjMgfrOYrmkqUuqcXLmINeyumawChMuloscfyEdtoLXJwcrhgwhqhDHnmnxjAgThhlInCjrjxXEzhNgnCSgIPTWLLbpDSwoIfxjkTqjayzPpmroMyWoPVJGXFzlPmmasVeDJFkhhvSbdIkZbDvItcmrcXyVNZlZgNunKtZyCYfnPmJLlePpVMsimqtLkGZmpidIPLRFhlcvBQeWLBfehMXHNDTKoLCflKaBNsqpG", "yfgPmcXnlazEbkrnXplRjUBpqUDDpunQQIDqYPvwHXntVTczuAExhssBWYNDQbHhFsWXivhGqyvQwzUObOATAmZiqKVebWQdHGVTJydiLVKXoPOBkFLdqMcptNTsgCAxlRGMtdNNDlGkbmizhJqlZOzkUhoOGQzXTDTcpCBLFpoignGtEoarlUmMlsIQhfCdaQRCRhVCXFfQwYxndVxTNMqtMfhyAcsIgMhmPkSdprjmygjdvvleZBkUdIfRMOsu", "TETGGvhHGYjmCvWVTVLURQrIuwFSSPyNnGxHjXgRQPrjgroxDeYfVAAMqxNWgUCsQdXzYmxwaHlThcjJmQuwyZbiCmmSbFfVxUhGdhkyvmyynXtjHKwEfwgaUwEjQRVAyVnjicRlvyQvkQCRAzLLsXHbmBlpnBiThbPhLdjCCQxwtSZiqOUtaLvulMnBSclHcvJArqLJxxMunMVuEwjuHrizEKOMrccAGWvzmBvLPoaBebUqHJgqhUTQjLYMhOoP", "fQIEHWmcHLocsDDJswAiMUeueRiDnwSiAoCwIekAIVeVaMWYIduHcTIYGJePlMgoIpNsfSlPtweJIWHPkrNoFMjMKslyLmmovaWJTUDpimqwKQQJLTQxdwmKUecmBfYzfYNoKDfdbPzHSUEYKigfjzUxbyvjFuSbJCBBJdvAfYHIzAPPeuCZXuyZjypZUHLbpMzdYdVmlBSdBfsBIYSrmwzYqKUHBhPghuwAUqJtQKpLnKeoNinawgUaqCrTsfWQ"],"c_map_datetime":{"c_map_datetime_1":"2012-03-06 22:27:30", "c_map_datetime_2":"2017-05-09 18:48:59", "c_map_datetime_3":"2017-08-26 15:42:02", "c_map_datetime_4":"2018-07-06 22:04:36", "c_map_datetime_5":"2001-05-28 02:44:13", "c_map_datetime_6":"2008-01-28 11:40:50", "c_map_datetime_7":"2007-07-15 04:57:32", "c_map_datetime_8":"2001-04-01 21:08:49", "c_map_datetime_9":"2014-05-05 11:19:06", "c_map_datetime_10":"2004-08-26 04:29:11"},"c_char":"AepMrpkVBh","c_array_boolean":[0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1],"c_array_date":["2019-12-25", "2011-05-16", "2006-09-27", "2003-04-04", "2006-07-28", "2010-07-11", "2007-02-26", "2012-06-19", "2010-05-11", "2001-09-14", "2014-10-28", "2017-08-26", "2019-01-05", "2002-11-03", "2016-01-17", "2010-12-27", "2010-07-13", "2003-01-07", "2009-09-04", "2019-08-25", "2015-06-27", "2013-01-04", "2009-01-14", "2019-10-25", "2000-06-10"],"c_map_bigint":{"c_map_bigint_1":-4923359667912134825, "c_map_bigint_2":-4979035458772489519, "c_map_bigint_3":-6102388949606093819, "c_map_bigint_4":-4345634921098125107, "c_map_bigint_5":8543874886774793754, "c_map_bigint_6":-2334546645481985621, "c_map_bigint_7":6443712507054295859, "c_map_bigint_8":2900528602175826402, "c_map_bigint_9":4444497581271462695, "c_map_bigint_10":1073124504532251646},"c_map_largeint":{"c_map_largeint_1":-3018257144503768545, "c_map_largeint_2":8158315102277121473, "c_map_largeint_3":-779943537177093600, "c_map_largeint_4":4089576416477172068, "c_map_largeint_5":1448709971877621637, "c_map_largeint_6":3314752953389939600, "c_map_largeint_7":4716471329217008491, "c_map_largeint_8":-6366967917458211564, "c_map_largeint_9":-6795431323299312856, "c_map_largeint_10":-2843447985841716398},"c_map_ipv6":{"c_map_ipv6_1":"68c7:e9cc:65c0:c8f5:aa1f:7419:c6c4:e3c1", "c_map_ipv6_2":"2c19:937c:cce4:bf8a:3851:ed59:495b:2cea", "c_map_ipv6_3":"e034:412c:13c3:49cb:cb7c:3e09:3215:e058", "c_map_ipv6_4":"f4c2:adc3:d65c:5f0a:42b4:ab9:235d:c8ef", "c_map_ipv6_5":"39f6:a1b8:55b3:324e:9a26:51e5:1ce8:5d86", "c_map_ipv6_6":"feae:21a4:155:2193:ca0:7bce:a68b:47d8", "c_map_ipv6_7":"e8e1:3151:51a8:ebde:2574:d177:ef18:1bba", "c_map_ipv6_8":"9edb:ec66:16c:7f4d:4252:92a0:af8d:853f", "c_map_ipv6_9":"77f5:b3ad:1f20:e9cb:d314:38fa:9b4c:1bfb", "c_map_ipv6_10":"4e9b:6d77:884b:1106:2e3a:34e5:6946:1680"},"c_array_decimal":[72.0854, 22.0874, 46.0081, 78.1224, 56.1937, 1.0464, 95.0547, 33.0615, 27.0593, 11.1590, 65.1333, 26.0421, 79.1652, 63.0301, 82.0929, 65.0823, 72.1264, 27.1684, 76.0298, 33.1058, 7.0200, 72.0359, 83.1221, 52.1291, 88.1639],"c_array_float":[52.165215, 97.88812, 44.527462, 87.593956, 45.10837, 63.87811, 30.42109, 77.25463, 83.14667, 45.57413, 6.296721, 37.26109, 70.27287, 37.816265, 93.30107, 12.663757, 56.270496, 52.14566, 75.69793, 54.16221, 85.17192, 100.81889, 88.95365, 64.02613, 82.38711],"c_largeint":-4879386601385369637,"c_double":78.32365273020662,"c_ipv6":"33d4:18d2:12fd:e47f:8f24:bd4b:7850:5941","c_array_int":[-1715906973, -3184672, 137951269, 1687053359, 1311317814, 1396750068, -1068081395, -1752795688, -1022758220, 1674670907, 2142215734, -1527357633, -1749328239, -1716366180, -720407739, 1654809284, 543851072, -1790465571, 1590475583, 1836036476, -500191063, -1314702188, -235630678, 1126572022, -514357644],"c_array_string":["iovaSQLOQoWIsMzeydtRUvBctUrUNYqViYmbIsnyrXMwQomSlTAaZAkYhJkDjvdzTECbwhMvWOfEZhPnLVZdUlFQfSUWsNCHzwqngbdcpJLZbKEmZSLoLkQRVbIrrOHvvMlSstdFvLBxPWRfihkqmVTKHmySPnRuwcywvkwWGzbrgXPUbOPYnooHEFmQxGIbirJJiaQrXMzwPjGIpZiASbJdHRAHkzrKBhCcDbjEbdRkLeKmnrkzstFUHmpaiyeoDHCZEdjeRfRaAItJsDyjpbEWYbXwWqxCXidgfQUyXYXHfyWMIuoWXrbPHsTwMEPwpUhKeiXFBYIUGGtkfCdqoFELoNCAkyosgfyUdCYPbwsqisElkKDxtCWiUcEZqyVepQnRvEioznmqKdiceLdNNdotdyqyqxwajvMRHdMunARIxVDjDkQgUVQjgaOWKEVHIXOwUVZOvszjUEUrnxXBKQSZsoqoIrDUstCyziZAlxZfMVIFeUOqRGTVVkOUCDkp", "WpfblKjPiHeAdDCnWekYvYxnOOcVgmNhhAeEktyEGMWUuOMrGMUTuDVocfQokhydqHGzyezxoDibRPcUFYuJIjSLJEVDGMJMphERFAGrSzszlSrzQGubTRLPpQEALiDsCfMbDimULOFYnKEhweAIpFmhFscKPDUIkrdMfdGjvDXebtafgiVyqQKsRJADhYaPXVlYmeUoQJoYWETJFphOigCgpEQGBSGypIzxJCTSBpnukGAaeUVypRkLjpyakJcjVpdnPvaeRMRNZZveuHnLlewusKECPbjrYGYuZVcQbLTmsFCnjidNTYodFHTOooLXPWTUHOGCGmpRbvZKHXmWVvzpwLaYElxmjPoNSahRuZWoxWBccuOotsyGEftkprsdLdwLAFMQnLnOvGNOaaeygzPcUzqPvmuHpxiBupGWYWEfiIPbendaLhzrrbpRpeQTwHWuGPhSwrKfVKNyUbZMSzIdZAxJaEXqgaqGTbCspjaJojOUyZqjvFYwWGPCFkqT", "lldejKNNMogNQSWhjpYDjxAiPZuinaYzBrlxHCLbWsheTJaxGePTTpUPdCaCXbowgEeBEmlBlBKXujRAWUUVUkJJtBknMSwLeSPTlGggdRuGMRWxtXKQxNgzjZAQWKddgURHjcpechBBftMNTOiGgpPMLlsZgAEcrSCMvzBewCzQmdnbPNDhRYlrHjWyMBzmRqtzQrOgtiQkMpiEBHyaJarzNLzdnSlzeauKQSpLpENGeiHqtsQsfuQJueEUEoVRXrijZQUQgAptoaHYawdHnrqugnxKzWJPZbcgSAKRlsBHshFYVpNIGHmVAKmoBUXJVQlBPRUpLyvFnXmDEnZEhlCeAPVrOuyhDodjPvxkeApMEKXUkovAzFtEDcHHxwMQPHssaHPqCqbGkcOrElfzKQKKtyhzBOLcdKPvxSqeaCickMhzSoTzoedIjsOJnafkUhoMJjiErctpnWRUQmQXMNghOJQGeOCpIxgaDzhrkkqFuFmljNpypfnNBSmvXUpM", "IHXIihTERFsoTXjKfeSSmrkYjTmpNzCVZBdjWmRsebgeIqleCwukrzwOKlxTvukEebwXhxvckUrdeQTeRETkWYZMsVSLueHoskbtWLcUOPCNMHNVAcFbvrjyBjyydaSyGHObxmwFfeWtDKorMcdYzQOTDqPUzEpESIgtLKElenBNToQtRqhAoGTdmPHsBldqbgIoJZPjIXTRoQAjrOeQUjNkyAmrKGXXIuUxTncxLuRhcckMppXFSVJtCwhhDlzeWwGpQpzDBpGgXSjzKhdTXqiGeZmqlHKovFUpLroxbHicVveDbtBuBvLgLmbIasHSQlVFWWhXhBywVGDcjfCDBFNVKZGYflZDMwjvSZkZrvOxRvKsFITansMlmtUitExodmQwRkjBNJeOfWQnTeZldTzhPrHKfCGKGKmncqttONpsjaQyIMaaPAusVvuGwqmVlGzPmmImEjqVmVXPkFZDMwlaDQEyhvHKKejSdzEXCYgCHANsnWTwcbkoRVwJNZxP", "qlzCFAKZHSLUcZxFXVeppoWvAItvLqxGTQvfRksaMhAvCOfKfuqVRdqBvfOQYnDRpmdqkLPtBFGurVoazmffNJEiaqQwSPTDUxLGswytaNFwoerhedXsidbiBQRQOdDFCDGZUhxZxjlHoNEVMGlFkffLZRPTCuyBRLxHoPrXnHtKoNJTeLSCTeiISDrPSaOHYfduwLAQQFCXStIPdjockOrFAJsKNuYldcYVcLENzFPPhSVlsQOQCOERDxOGoUVSzXsJzikzuiPmGGPKCkhwGwQVcSWbbGUKpgDtywcZetzBLOOKliFXBaHESoXPSTfINefepBcFfxnipdjvbFmIlaqeEclBYdkFGFikCWxmAatxbOanmMzWHUFPWIRNeUdKfLOUhwWuADJeYibEiJHtjncszBROwuKtfnyvwcyakZyGiddNhhqVzvlTwqIFKFliUUJrGXqXVroQfSddpsytuuyEfMZgTeBSZjbiXyXxUdYSANZBAYsppIkdKexyhdNG", "OmEdSzJevjIiudCQHbuRuObjTQNnzvudOESBLoNuATsRravaQCLfOTjnbYUlagUYaKgOGCaKbxVHacrGKDZLdMXTIGpbPISCkgGrQmyPfjgNNMYIKktjDhIWziKQsqvPbvfFKrqVzIYqHWblHzPNQSHpNrKlsroicvBzOZeermCBLXDxuUamleKsxPmkhOtkHTheNlccFHixBoXTjuevDJfQzbqeLuAahfeSyFBPUkElvUCKlEjdInpQYMDvHsIoSJQBtGBGkxykVvbdgqtSpMlLSBZUAenSbBiUHmetTyvtAEPaKOKIKpkHNSLaKTSULdOTwDrmpgRaMiosAYwtGkYNPRQNnwBfoQKYnoloIIIAtETfEApiZuCLgsTzqhKpaGGJlDqxPsbhpFGvDGlRDuUDHpQdIvHROCJrbyAsZhZaZMGAWIqEnQHcsBcMCBDgpKcJYdvsuicGpCaCiKYAJPpIulLAvpnVaeXeWImkRnLytoZUaDLYaJHtiYJkJkWx", "SQuvtRvTaPygHXWnFIvdFMMpMDSoUrlWwQqpPLLlCIkZsbkgykRgdCGtoIfowYWhANuqwFUjvOZCsCIsnqBSlVOQAUzFhLNCeHvJapcgOVqQFMuRSAiJOAAaupGtZEYMEAoJyyrccbsgojPOVPsKBuQDtEARvqjxfxeXFaXvnMBwSdeSAAupVPwZuUnnwQLYviGCvIWuTErhpKhZYoUxkBnPdRbrIYQPDkyCJxSOUNWOtgphubRxPdgKhsMvnLKMhfRYoQxFhKzPDHhjoLMVhnzOcibMIyQptDqOBXioGvuFALgTPEhSYHzHFOysXVAbGCkqCYExVzELdFtakAOlqSiDRVNNQMNWGIrCqudUUDENYgXLHvtqkUVsfnNQJygZGDBOBFeIKTYKAOkGDJGaMsfmfkhpCCfrsNqvDfCyQGTwriSuCywZePtchGMPgkssrqYOOFOPVZkbHIrrBZpFBgYziwazvSYSsKHCWrwRLZtJJmZiVJxuWBVxmYznjcSq", "HecJpRDzkOQSkZSvzJFukNMZzOlcEYWHsMHOuCRROqHLHwEPiCnEunFWcmJaRVnqEaVaoVBWuVlYsLBkIbNRiwkPgqCwmvcraAYiWaBNJKXvncRLvYHidctILZrLspzyWnTjIbQtOhuchxGzWEFbVqCrQjDfSgRrbAaGtjAhVNiqHDIFyGJDnaqGMClFAwwyWCCRJHBvzacUkXYdDPyULFvRvWkBnVOhYTcwUIagxXkqRosKSVQvnqmiZcxaVTlPcqinzcEvUKDgKVABmkqRTncyLndIKHyBhQNzZmtSCJnDbsGFRCJXJQvrUMKAQdwcxmXqTQnIlTFqSoMSVuskNvimBwtdFNCZjRbwBzEoAyCwUlDXQUIUOldCHbnJYvpDqDbMtHkQYYGsoDDtQOJpUFlpExFiTuNOFBeNLuXtDjNOKbWMsUkIJsSIoRxIEDzEwRmezmijSoNrbqmCJSBgEwQxOJUlsEfKjshvdyVMaPYwevefJxJMTeZKjRHxfroJ", "GKHOqikGJXLnoEdFiAYXLwzZaxCKiuCEUdddULFGTuGulOkkRvzWkXBWrYVPnFBUiyKMWJkjVvvKpYGdCQoIrKBGsoDMwPiitSeRJRckfRGHXNEsZWVeqyhuCRjoWmAsHPpFaifWKgdLEkKAIhvcsRgMHhagWQQRnqUtyLkhrYUcjXjdfZLrKLHnKfawGQLkkZgqldzHHYPKBFjYenYbWRRXdYfVPxNrbTuHtOZRmzOeuHiGiSzEczLFNqaGruAGxSkFPRAwuxbkkQMIBuUdhfimshHhVQKpFRYbNMslvjpSYuxvfTCOTwuVVHwtAsrcDADOVeZHlWClCKvErNHHNsCbFpxexaQWkwowaEkTLkHADDSCOsuyaAWMQTLObhDaJeigjuMIJWqpZsJqTQVyVdxaOlqxExhDkpjSiNequyRZMiZJZQpDubVqdTgODHmtoSmheUnjDNeZgnIdjpStRTieLFjBJOEUpqJNiISZxSQmncYlINzFsUMgcacDRNfo", "qLjAyiEDzGKaibIICZVRhpGYMCpwtIBivChltDxbvJBxLCosaLvkTtZaTnpJVBFZIaSahAwKmfSEzbSseJQoyIVxaissrVYcsfflIPIuYVaHlfSKjaIibtqwsqYwDfUTydJhnBcqrCsJGOXJzldMKdSZsiOenXnvpplvZuXNqQFROHSaXwDWEeIhTmDYALDolnptnbOjscPmJRFbLLcjyUegrBJTawmsEzIJiCNGpRgOsOPfhZhDEtTFWsRqhJQtrVLZpmBqbhrAHCcIrqrvTxTDRemhxIgwbiRdHFnJZUfpiROhQpBhNQmucjTTGKYZFZHoFBmyDdVQwOjvcdUuZOTvDhCZLNdOIBYNyLKMfeNXCcGzDaUXhHJNtqXvvwOYLnfIsWoWGmRgZmgiacKlstGkXMUZQIiiLoYrLMvoEZxiozqEwmjqmgcYUcJFKWeJZjnOOpzEZqZLPhHGNPgVVZpkLhkJaRrQJUhvZxryZNpJGLvxgPdzHziEAPtuGswY", "XqbYFiDaxwBLoPUFJjcuDhSHZHqZWJRzXttGLgsHCPXtIAWiVBkecrRHMgGPgShdRNTgikEcFIbqDIubWoEniQviVYexPMEUOOzNXQlamvKDdPzIYboLAafViQYcXsrWPEpDEOPJTljzpulwvYhfcRvrpiYNsBinXyulXVmOIdsYQPvTqosnPaNKQEdSZVCZXCTPWaRFadngXyeWQTYAmFsWdfVRQMswaXeFlURrElInkOlzhSJpdHCVcweLpRZrZUVcNCXPcKxioGLeQjZaxdMUpiPcwRbisbeknTlffoAZJVXkpdSvwlpheTYTBbfVWuarWVoezvdrKuQwALvGrKLKLyzXxGHyEEVPcMXyjqJFHIhCdeaQTrLaQWioQlKhZdowuFQxtanKIjrrAIcDFMCfqjKwnTaraUMbXbjIWGnoeQHcOdvZIrcbeuWrEIoCHdrBKdCkwNoZRhpGcNmSexxLWDOQFUFbjNLnMpOxcyRxLsJQzwwiFJWpsLQseRZx", "ayTPkuVdtnmyMDYzRjHgjWyTgnxPKCurNbhDhgomQrgrcOOIJHTQUwykdRbqeSDJztbtHZWszvEZxGZdlAPbSKuERrBIJteuNrFyWaWSAWGgzBkQoaFxjCsTxhacsOakwutFpjRJjCKzfEKaWhBPwQholQWbdNZKflvvGHbcnBBhsVCJbCYxfRHHtCBRnAGsxbGjMaaRZyyxVxPAQHBKxVQexzZrQzPAEBPeyPflrhWaKURkmpNqgdagOJkwwayqWtEJKQokmRtsGOIMxXOggHguqlpFsevYxJxsQMPMbcMmRiWGecFbOaBrLskKJzCMJQLuMaauhVdYNeSQasLWCLgAzkSaOxjeYzWwwcbZNhmbFcZsTvBEyIZCjgzmsipyetCnxlAuZONFjkiJezaqQCRjqwOiHlnhhwwRSgwNFPKieuusoUkYOwVwDAzqcLQgtjQCvwrIHdXGbMviVmUXnXrikLAxzERatUzJVSNkFJlFWgxufQvUIplFWTmaCNBl", "JHDFVtmNjUUtejFSFuspSnodOuNIifFdtGtgUKUxPuycZxYinqACGDEZdgWnCnGXQiaLbDorELJBLRCBNYQXXMfiymHQqlgKqIEVyMuKnDKPHywlunWkmXeqDzAGoJfDHPHYejHOKBPUCxYGkZIaqLJhdNdgMVSRhSHcfVrFeHNNwRWdLSXkuVvkKtdRQbZtvxRXJyqHYDlyogQoTDndCNFVVgTYsRmGLhfDmCKwQPItRcUvEtWcOFJdnEuwLXwHsliynWvlpMKvXTIISmCSxyuyWuYYufuiYMTeOkNdgQxCPKsslqiCyrRctbbWamAFmoNtlRlQcuQfxNvXKpdWBAMvoQmoCxFcuhDHQqTERXXdUGBlXITRJxEXAOuJMTSuGQVUTQVzXWuQCMFfnRadTBdwNJNgVFajYdoXvjfLEFElfzDIGDKtggbLeHiIKFQQsfwlLJDlRlNpzxpLrcxFCcnewnUCzxZCWuhSSGIFaqpHrtVlnudFJAgyDtTeMrZn", "VNdWtWMmUfuSPwKBdTMqcIMKsbexEhrbIxzZfmINXNXAuPyCmXOOpRfNiooDllRomyGUZkRwpiAhbUzJUUDUqrKBjVcmkmUwFtRrVnfOptZwjtBFFtLzEBDcXUnJMlsfayxLNkgEWClkfqzznnHgZPuVhYKzaldHnQXkARpNrfSNYBEOcvmDYiAlMXhCOYAqgcvjDxeitQFwdkovABnPtTcSKJyPnKlMskighBHPWhIjdVAZjVtridHxDqVSYCeYWHEEsSuuchvbReWneaMRyBYHBrudMNQKmocxAyXuHVRzYMqrJFGFbtyGfKblwqczQHHeQMWfhlakqAWbmRzKCaRTRtvkFdKFEpmyijFCMlDpwpTXNdOxBmxbLcqQqHofuxaQBONrsFaukSrRUXraPEZgZjucHoHcQMwcOvZTmTphHmAMxURZoQgOrgVmfFGGoyvbBvLJkDSNGDrOuVgagAiQnmcLBmnTqTYUAuFvYIptJeAJvpbfYqYSgGwUMWcQ", "EotKijnyRKFTNVLjjbXaJjnqpFmPbehDZDPZQMzVbykdeXjAsPKziwnPobyyIIXGGxNxacvgbyAIaZXUsgNFsCCdsgkPjForitzrcxJXENqhAMBzrBIoctnbIGKRpuKyGYHLwcpNQjmIMXbIyeKafltmGEjgGLriTeNVNVzfRJMvlZLHxqHpgfMcrsMzeqWfTEmKwMycbtQuordaosKVUrubBcErijTnVjjLMZFuXYiDeghboEnvfHfekovHwzNFCHeuJcuNKTuaKhFaCAtBdDvNlUZjpYueTmDjBCOXidVXvlZOcmDZYrVvOSsAOlMqlZjHeQuXuBTSQpbASnnvIRxBKkxOXBeldqWxTrXHvsrOEYuvHuHaNWrLPBDjQRMhgmHxKHPfYycQtzjGIypBFzJLrOzGShnezvzriEbSdObjlloNmrRkPobeuDwNOVxyinQsOppcvYQEnKGDfZUTOrNsodLCrwzXyEoGIOCXyItQByspZOUknJVbskThhPkG", "qlWgntAdrAXXFXtiFrOfRxRUHTRVByOmqSJiReFoQHPsWeDQDnmZTMMOMNLdEjWBKyOwukVlfTczAxnHdLHIAiFOvUMDgIzccTmfCTtJELkOzYsUeRvDYgUurfgfyuSnRmNckDMsgYgKXqEkHeryHrVGvkIIANBjiLSqUGUfmQXqsTuntIznOlmCiiPpNOPRAZFAVbBgVqnyOEOVcQuWAAzeGMElMqYTIxuWIqnWTbaNgLQkdglkIHJTDRioKiYahyecWdhZuZvnhIbQeTPFNyyllnfsCjWJcsrCGxnSnUPeNoKboFkCXsjeeNfWHqkwSEAoRrUufFowyWBvVGvgMLQYxJZzVVucjYkGEebdVFInjYsldTrmDwEhfOYMMcSWpRnDCZgOpUMGvGwrQtvKPNBbtsKZVeeUSmXzMqApoDoZcBESdKdFfeGRxAFexyomQoMcoOShwJrQkbUcDkHeXYZdaLNurfTGYBMrLiRMLMfNKJRaIxtwiExdIQOdammr", "HCiBUZjHfkVsXKgeQHfslYjTUrfRIFCxunynmnYfRduKrmDSLpjJBGNjRYQXfaGppEheBtnDFmVmZHEtOcJreWNdQSZeTDRVacqNYvHYRPgxdLazVwWJqSLPpUTLjzGuywkBNQCeziZgisugPiIeduNKaltSDliczpMrjfbboLRIaWieSElbHYkqgYVPucPhBnuVBBlTDDAXTLffAStCyDPQQSFFzWdtqhMSIzmJgrfTIBELBKXbqAYIHFKHnZhKFsCfVWejrYCdMTCPFkUFZRgufLvyvtlsHsLDgfNjEeNaMTMIOQUEMBgIcsmYFKlEsIocyobdKnahDplUlXlgWFpZNFgjIXVYAKJTyaVsUbkgyCALrGTnxecFEhONCHiYHfKMlWkGOqZXitNcsHQvVhDennadxGlcyeOILtjIFYXzgTexkCXtoaErpQKZANwdgWNzyKKlyAiDSPgTAGxcbohrgeBImacgCisiCNsRRSagwgBAJTmCAudAbbkjgckX", "rVityOaDkRdPYCDTCjGZGyqRFaVMlpanCgkWcvqQIWQtQeueRBCKzgOJEsvijTeyLEAazGoCQhiuCrARccXqZYIotFBKBIOzLkpkNZzPPAEMYXPhvLsUfrvEXRPJrUbwnCEEnQTyBEyqAucTaQRLCpedvNLhYUTVWwhuwFNnKwYLikEhAtnKCTkHecZoUteBQHLIvFBYFsFZRpPXPUHtxeGUSFTIHbJRwtUlPcSqTNYpjrpQpXMHioyDNRNZTbuKGVsxdWFaOyuHsMEKscWikGdadAhFpOClwvksqQuBjVgdircuqlDsKMFnjIPmVZmsPDIbmQpvxBveKGDhBWQJpfBImTUqsFWnUuWEHtagotBUjUTWfULXfHrWKZRrMhbEDoWErghlgPalZLeIeZsYgkLINVchjKeXzlBIWhYkwqSLirAKpmVympXkiVuOboAxofZzwUhOLeNjKXQyhOjeJUbjBQDaFhwGemsJNwvwyCKutYECJQRmuCqCsBsWVtdB", "nImIswuULgYyxiBsKzJjnvPzTYqDnJVReBmFNCBQveEgpDYEaqpUOwFuDSWloTMPpTwphoGGeHuusbBhMLocutiRQHZVryIZAHPAogwPvzuoYpvYZfpGDMFteFkeDBiXMGjxVekTQNGWeiOTdTgVdsWmYZhzSpfLotmTFXFmlZFRBUCVAHKQlurmqAMoFXPiWSsUWlvmtFUdocaCBMopChMbAnmWloVdBXSFXxJTJhCTmkQJLsnsaZiQVZhZYnodanIabZiSyZXLVIdvwHPaLHvrwFXvsoIrtfNydDBlXItumrXmYGBfBMpxIepzLSbUUILBxEUkTwCmNajlXELyfqdVNpcxmEtaVPSUNcBExxdFbdntEfyvnoDRJjtyduzaobssPJQLrjydubcHGVYgTmPbHuRPtIkzqDkpuHgyBZZbRCQqlDXwPSSpVgLTXAqsIyOgyjwgWtwbfkgjfozHauuEdhwxMLcFeQioJBoJlTVEBzyHLRiLbmLbKOeJXcFH", "tBnoafIBYwRXkWzlRgjLVKkzFlUgaAiRSyjgWZdstzmofzzxwerTzvKTRJewNCUuatxCXJgfKhPSgrtIzjDBqSIXcxcdKUNclcQAiWyheoHWyJEeKqUdsFFcuZvmSYLLjHvGMSFBZGYvVEdkgeeLdnTSDIcHmcOXGNzOygQDtHzwbRsvZKhomnMetKOvfEVjWKHRKOmUpyTHDXKyRTOFmzEvIAnwppeovqulwHjAffSQymsjpqgJzMRBBimzyZSriokJMokAriuPwVHYMJatBXVsagkgoKUdfEPINaaVnNsOzbyWaTyNehPHiYbaqpTLUbwMLNANdHQtqYWpRQbbhGnIQImgCzUTzvgZnOKbdUFVFUddJwgMHrMwMbNBtgOBNbQcUTfDVWMytlPKHCWmOWPpoeecptjcOkVpcHWzrSPoiHwDLlUvVPDegGoDTnsvDrysxWYMmLAwtRptkTbMMbXEmPDXJpraeQeDYNucxBDmdueBjrzyeOfQrzrODPXO", "rPcRUlscgZUrfHEPecjtevAwIpcKuzPOoCYNRbfSLLUBFwtgzdzfHBYdajvwjwlcNoiqiPJJZEfFJphBWicvkDNhBIqilSBMdouZXhtoEVDfhwsJstFUhZsADajHjZbYRbFkHHpaZxxtvqEGpeJFnJvXhlkClGqwZIHEuuxkwhdZleKKYhMCDAOojSOkffQKoJMZEFChpNkHsAUrGQghMofRbqOTxayWCkLdkuAFROnJsoGBzXrZJPmrGXdHIiRzBEIaLHaxRzkSQBNNdUftcVZbITmFsayHkuAzVqCvRWnBbYBtIyAbyzbivYtoprOlMOTolXEGESEooOmabaCGUSzcUcgPhOxHyrhLGrdvsKXTcfcxxQyEByLQskmxssXNmErFIaohtPvPptEPrvoaAUbBbLaiTWYfWKMItDjCqieMUgKJPlVsFyEtJuWwGYDfkkYkHxGctCogtfTOFYflpUDUAFRmhIBEyFMfevUimfesHSHNJsqBHJVPqnkNzJIS", "sYDmsSzYoSdTODVBzYfWejWxoYTnuQexeGZNozHFEvWBSqMCyzdHIQJXDtmiaEnehrIIjYJdGqtRiaFSdfcLqGEoLSXEYErtzJrRYTLtpMfZMGAkQSgWnyTrcOQtteNaryyxexQfrOqysnjzkPSuKGjSOCITKJcTJlwSzulLGizfphAjeILgebIntOpKKiGVXiOZgfnYiuNxwtxvXorwOhsQbYipIWNZAWChVrNQsskFuXQMaSRnRkBLisOnMIfPILupHeSVntfJenjLKUzRiVgwlRUDSAlRrwYkriXlidpjufQOHqTSjqLUeFmuDSEqWiqkTvSMdoDLTAxVANXFSNLcGiqnxeaaJvmXRoCaLFzWPhfSXtRXclRZjHQZiWLFtAtHjimPrHJHQKKWIrYiREQVpGWSdWAEBRITOdlEQyUplAyryUexOgexzjhBZaJnPJQVBCUebzsaqGEZXOdOSqpCymVOBaKvvCZRNIKjdRSLnpplSvyumZECVkZFMhof", "PcSticXVvFJgTpRdPdXZGbmYqtdadBuDEHYVIvGuJoLwXXXXCxMSxmMnPnzeXNRijmLpjGrHUtwHLaoMCfMpYKWXdfWLxBMORkGQQwIgNpNFYqoueTqwXTtTlpqFkGyPHEQSFiCWbPbfMulYVpDQSTiZDFcciSAqKUrXOhUObUIPHJUswHAbvDNBBvIetNtzBWkcHlHbOSbDfxtyAdpcjpWofJweldEJTCRYJGGeIuwgqnDWfiPxwRkUBWpmuUIPPUzPWVFCZcUmnSQMcBLabmpMaCNoFWoTaziuFfPQdyohjhxTEtgerQsgYHmmnHeYDaqJRlAsIkcxxoHIonufXdTXjAuFClXgYZmXKpdUzRpvdUsrEomBpJTWKlXMaeXbCfxPLFJQXYkkVQAaxOZxODRnMBIeQNxaLdvFfbdjNBLAmLVJZkxItWEJyfwePaYPoLBwGlyVkaiRQywSNpzMAEdhtiOeshouMlbhIWwwdkJkmKqnHUgUUYxdUveMtwbF", "UyuyOEbltjWOqfsxUwvvTsCRpIvUidgwKIQOiYtLPHEVSJYaFyFPsMHIzKeWEnTEPbqciUPOwnLNDBvnTMluXJAXxSXACjHOxdvtqekwJqWOQHpJDGitjRsGHQhjUwHsRhxiNpeUuvwJBiZyfvBZMRkyKoWvZOwGoSSONndqyPTWcvIqxkeVIwNVFifghdTGsPlZllaadeVCrVGcQoWTuSYfrrWQsiYGjJAXZcHxTCvXIDIeMucCiVRNOpuuQWlvaVlmxDbaKCtCxmHypcZudpTDFwfeUhlpHHYoapzKdWKimCIpyPaHqcaiYiPFIsTsWtAPoOAyGBbbPjypGsIaStozkAyJsqEgFHYVVrnHeBEMnmJNKZpxcEoIErJajzasQdohLfWPBspAZbMVHDMFLCvdDPLtKXYBogfVyAlWDXslFbPuxLXRGdCsVxsuZecKZIpddIRrKlRgvAOQAsdJJMkbhFpErHYNfipSXYxeLLJZQmEkeBqQcUmmLuSBKXit", "XMMNNUnAdsPzwEDTNOJIFqcGSacJldofNdQfMVxyLhCZhvZaGGuJagrdIntaTDPJgmvixMltjeKNonEviXKotXyTobYKsSsBKPYbFqWkfEgWlVdlpfTuaoSHvlVtlkUzqbIeujgCeIwAyXwoPtHWaLJrWyarCSaPefWJvQoQeBGFiCWJsbuatxwQyOzCKcoJKwhnlFHPWrOWMgSNEvJYRYTgMQBcyfissEJRwmEkPLYmveqAnwIzunhfAAyzdZUHTmTxegkcBAMKmDjCNyECEvKfvTMsDOuBXYmNziGjwrrurIhpvRpIhCYjFWVuYkicpsjjkOObJvYyCcPAXSnHBJHDSzTOtkddPYtWJowPuHOnVeuyqTXRGpXkvQsUFxpMlqrgtUChSGLtZACRXDoUMoBemwmXVZIRbYCOVhvrDgomOmdiWkbQcIBdTyboqpMtLdSuwSxpWGFglPtzcCpnbjWQauyklatbgfXSQNLmOrdOKOvtJwrULNKPvRbJvvrh"],"c_map_char":{"c_map_char_1":"SSfzqxAWtg", "c_map_char_2":"XPpifkJRNT", "c_map_char_3":"wnPuSGJBMq", "c_map_char_4":"nXCWAbSbiU", "c_map_char_5":"iAkHXlJjVY", "c_map_char_6":"ynbZPfuYWd", "c_map_char_7":"XGvFDJpNEo", "c_map_char_8":"NJUEOoieXa", "c_map_char_9":"IkujUpXzMJ", "c_map_char_10":"yEZLFOCMOf"},"c_int":1807392623,"c_bigint":-1079789405392559337,"c_json":{"int32":1705384669,"buzzword":"benchmark","minecraftdye":"red","book":{"title":"War and Peace","author":"Homer","genre":"Fantasy"},"noun":"patience","uint":1187270279796479431,"domainname":"directimpactful.biz","companysuffix":"and Sons","carfueltype":"Gasoline","comment":"wow","timezonefull":"(UTC+08:00) Taipei"} }'),(9,true,true,1,0,0,-128,-19636,12079,3541,27978,0,947797922,-1343547325,2147483647,2926090438515604816,32679,3,4148177021654686156,-8069966365655049220,0,90.36891,40.123,36.8930209331538,84.48085800517602,300.343,300.343,300.343,100.02,300.343,72.0434,55.1602,40.123,28.1324,24.1533,40.123,40.123,20.1912,47.1673,100.02,40.123,100.02,30.0889,300.343,300.343,54.0261,300.343,300.343,22.1899,40.123,40.123,43.1396,40.123,{null:null, false:null, true:false},{false:false, true:true, null:false},{4:-62, 17:0, null:null, 127:45, 0:-128, 1:0, 8:-106},{0:null, 26:127, null:127, 125:12, 50:-33, -128:5, 6:21, 1:1},{-3086:-12152, null:-20551, 15883:-5539, 21344:-774, 32767:-14034, -12396:1854, 0:-6475, -32768:-4270, 22185:-20679},{-26164:-32707, 8855:-32768, 245:245, -32768:-24552, -10992:13049, null:-2510, 32767:32767, 28256:2639, 17136:-5232},{32679:-170648963, null:32679, 1622681144:-1137708355, 1268907054:480949868, 546518325:1035361766, 1951478386:32679, -1970079213:-921847630, 0:-1778380463, -1610034705:null, -1275826039:2147483647},{-1491110224:0, -904906306:-1027013210, 1255096563:599751997, 1507219587:-101347685, -1333781414:1189427884, 0:-976281004, 15733790:0, -469214968:32679, 1040035127:2147483647, 395299968:-400817426},{147483648:null, 32679:6, 245:4, 1:147483648, 3:6208368606644671557, -27435:6, 300.343:5},{null:-3823063, 245:1, 8029732305274579237:20240803, 2549598233508534450:147483648, 1:245, 300.343:-14412, 147483648:null, -5135544233182409120:-6127357711639915764},{245:-8639244163972151268, 7736433846124872345:9223372036854775807, -9223372036854775808:1, 672395686:-9223372036854775808, -1464660674681052762:147483648, 9223372036854775807:9223372036854775807, 4176076122893485943:3602151862772522206, 2991589109516040253:-8353679039305585396},{-4799681962830751136:-4220381854710357464, 9223372036854775807:null, 0:-9223372036854775808, 1:9223372036854775807, -2949283988043136634:909726142530522041, -1802826144:147483648, 7306865044547972682:2103305251, 1352863578:6978931402839514368},{300.343:null, 40.123:100.02, 35.243446:77.5872, 77.8226:39.706245, 50.752342:78.18812, 56.18169:47.08262},{40.123:300.343, 100.02:100.02, null:64.538216, 54.995686:48.794235, 42.820885:100.02, 300.343:22.96688, 11.01279:100.02, 52.215286:26.241129},{74.47743241166404:40.123, 100.02:300.343, 21.965756681048767:99.71398786724585, 27.66868471654077:28.339819453316753, 19.480236127333672:100.02, 21.78363698853979:69.28658931362646, 8.181166908616802:40.123},{83.78988801102308:0.8588361700591494, 55.242290198305525:100.02, 38.44048949085217:null, 94.98812324579107:100.02, 97.71314198359333:13.260648162308737, null:100.02, 70.90854648307442:40.123, 97.16902704113248:14.653914097711208, 34.76953082018145:300.343, 300.343:67.3291534704386},{40.123:null, null:'m', 300.343:"1", 22.1112:"0", 95.1123:"1"},{40.123:'had', 8.0847:'t', 4.1067:'o', 61.0218:null, 300.343:"2024-08-03 13:08:30", 70.0643:'j', null:"9999-12-31 23:59:59", 94.1592:null},{null:'get', 300.343:'i', 23.1901:'q', 17.1466:"2024-08-03 13:08:30", 29.1309:'b', 34.0991:'w', 98.0187:"9999-12-31 23:59:59"},{47.0160:'as', null:'s', 7.0532:'he''s', 34.0083:"300.343", 100.02:'okay', 40.123:"2024-07-01"},{300.343:'s', 40.123:"9999-12-31 23:59:59", 54.0984:'was', 100.02:'f'},{54.0516:"0", 24.0830:"1", 34.1482:'v', 100.02:"300.343", 96.0006:'f', null:'have', 300.343:"20240803", 40.123:'her'},{98.1548:"1", 3.1484:null, 11.1711:"2024-08-03 13:08:30", 300.343:"20240803", 67.0803:"2024-07-01", 30.0892:"2024-08-03 13:08:30", 100.02:'a', 40.123:'u', 46.0377:"9999-12-31 23:59:59"},{40.123:'i', 100.02:'h', 79.1619:'to', null:"0", 25.1448:"2024-07-01", 300.343:"9999-12-31 23:59:59"},{100.02:"2024-07-01", 40.123:'f', 16.1083:'really', 92.0607:'p', 300.343:"20240803", 37.0010:"0", 50.1374:"0"},{100.02:null, 20.0956:"2024-08-03 13:08:30", 300.343:"20240803", 82.0312:"9999-12-31 23:59:59", 73.1471:"1", 57.1574:"20240803", 78.1449:"300.343", 77.1876:"0", 68.1710:'k'},{300.343:"1", 66.0426:'on', 49.1519:null, null:"9999-12-31 23:59:59", 41.0653:'look', 50.1648:'I''m', 62.0923:"1"},{32.1924:"1", 74.1097:'be', 76.1608:'g', 88.0930:"300.343", 100.02:null, 45.1847:'at', 2.1866:"1", 18.0851:"2024-08-03 13:08:30", 19.0065:'tell'},{null:'i', 73.0163:'up', 40.123:"2024-07-01", 10.1685:"300.343", 100.02:"0"},{40.123:'would', 48.0340:'time', 75.0417:'or', 51.1194:null, 100.02:'really', 300.343:"2024-07-01", 7.0153:"1", null:'didn''t', 19.0588:'why'},{"0":true, 'c':false, null:true, "300.343":null, "1":true, "2024-07-01":false, 'p':null},{"2024-08-03 13:08:30":false, 'can':true, "2024-07-01":true, "300.343":true, 'been':null, "1":true, "0":null, 'y':true, 'a':true},{'b':0, null:-25, "2024-08-03 13:08:30":1, "2024-07-01":102, 'go':0, 'that':-109, 'q':1},{'had':1, 'l':127, "20240803":63, null:0, "9999-12-31 23:59:59":1, 'r':0, 'ok':-41, 'that':-97},{"1":-32143, 'not':-23148, "9999-12-31 23:59:59":28618, 'o':-32768, "2024-07-01":245, 'p':-19902, 'you':-24573},{"1":-10479, 'z':-18617, 'o':-4729, "20240803":-32768, "300.343":32767, null:24168, 'he':20320},{null:32679, "0":-1068941400, "9999-12-31 23:59:59":147483648, "300.343":32679, "1":-1399816671, 'y':147483648, 'u':147483648, "20240803":-762856529},{'z':652803650, null:-1018451609, "1":147483648, 'I''ll':0, "9999-12-31 23:59:59":1054574976, 'u':null, 'from':null, "2024-07-01":null},{'z':7, 'well':147483648, "20240803":5811565, null:-2361248973190567455, 'is':20240803, "0":1, "9999-12-31 23:59:59":4275676494178197624, 'can''t':-20606, 'know':147483648, "300.343":147483648},{"2024-08-03 13:08:30":32679, "300.343":245, 'what':null, "2024-07-01":32679, "0":147483648, 'yes':20240803, 'go':5},{'as':245, "20240803":245, 'v':1, 'y':-6255150, "2024-08-03 13:08:30":9223372036854775807, 'f':32679, "2024-07-01":-2996628, 'p':0, 'him':-1472968927},{"300.343":null, 'c':1614231372, "1":245, "20240803":null, "2024-07-01":-5972585, 'and':-6875275349483192288, 'l':245, 'because':-357296},{'had':100.02, 'we':300.343, "2024-08-03 13:08:30":74.02591, "0":null, 300.343:null, 'u':59.019154, 'a':300.343, "2024-07-01":78.08279},{300.343:22.72327, "20240803":80.57685, 'f':300.343, 'but':92.604454, "1":19.434292, "9999-12-31 23:59:59":39.85458},{300.343:300.343, 'e':8.835124117797823, null:18.683717374527372, 'his':49.8098199782943, 'k':null, 'when':100.02, 'tell':94.65251304169816, 'didn''t':77.92392997637461, 'you''re':40.123},{"2024-07-01":40.123, 'want':100.02, 'tell':25.468023802505066, "0":100.02, "1":300.343, "2024-08-03 13:08:30":12.824297944063778, 'e':27.918814856669584, 'w':29.464238499990213, 'something':40.123, 'that''s':300.343},{null:300.343, 'a':100.02, "2024-07-01":62.1891, 'him':40.123, 'look':100.02, 'o':0.1467, 'j':40.123, 300.343:null},{'d':2.0979, 'it':300.343, 'z':300.343, 't':89.1313, "2024-08-03 13:08:30":null, "0":7.0227, 'm':100.02, 300.343:17.1674},{null:100.02, "0":300.343, "2024-07-01":40.123, "20240803":300.343, "2024-08-03 13:08:30":null, 'then':300.343, 'q':40.123, "1":47.1699, 't':100.0083},{"2024-07-01":300.343, 'one':300.343, "9999-12-31 23:59:59":40.123, null:100.02, 'f':40.123, "300.343":null, "0":53.0645, 'right':29.0196, 'he''s':90.0814},{'2006-09-03':null, '2012-03-16':true, "9999-12-31 23:59:59":true, "2024-08-03 13:08:30":false, '2000-02-12':false, "2023-01-15 08:32:59":null, "9999-12-31":false, "2024-06-30 12:01:02":true, "2014-08-12":null, '2019-11-19 19:32:17':null},{'2016-06-05 14:03:17':true, "9999-12-31":null, "9999-12-31 23:59:59":true, "2024-07-01":false, '2019-01-08 15:41:52':false, '2007-04-06':null, '2001-01-17':true, "2024-08-03 13:08:30":true},{"2024-07-01":127, '2004-06-13':-41, '2005-06-02':8, null:-35, "2024-08-03 13:08:30":39, "2023-01-15 08:32:59":-5, '2012-09-06 13:43:57':1, "2014-08-12":null, "9999-12-31 23:59:59":42},{'2014-04-23 19:50:12':-112, '2009-09-01':0, '2010-02-27 14:50:24':-128, "2014-08-12":-26, "2023-01-15 08:32:59":127, '2018-03-01 10:23:17':-128, "9999-12-31":-92, null:1},{'2017-07-08':0, '2015-05-07':0, "2024-06-30 12:01:02":-29293, "2014-08-12":-32768, "9999-12-31 23:59:59":1722, '2005-09-22':-27173, "2024-08-03 13:08:30":245, "2024-07-01":32767},{"2014-08-12":6190, '2002-08-11':0, null:-13413, '2007-02-23 05:15:11':245, "2024-07-01":31662, '2001-11-18':22287, "9999-12-31 23:59:59":13243},{"2024-06-30 12:01:02":-2147483648, null:-254749594, "2014-08-12":null, "9999-12-31 23:59:59":-801665787, '2003-08-15':-2147483648, "2023-01-15 08:32:59":-18661827, '2014-03-09':926278160, '2019-05-24 03:12:14':0, '2010-09-17':-248510116},{"9999-12-31":0, null:1793285957, '2009-05-21':0, "2024-06-30 12:01:02":147483648, "2014-08-12":32679, '2013-03-14':-1715035305, "2023-01-15 08:32:59":32679, "9999-12-31 23:59:59":32679, "2024-07-01":32679},{"2024-07-01":300.343, '2002-06-22':5, "2024-08-03 13:08:30":300.343, "2024-06-30 12:01:02":245, '2016-05-17 08:07:25':147483648, '2018-07-10 19:22:09':32679, '2017-06-28 13:23:55':147483648, '2004-09-11':147483648, "2014-08-12":1},{"2023-01-15 08:32:59":32679, null:147483648, "9999-12-31 23:59:59":147483648, "2024-08-03 13:08:30":1, "9999-12-31":null, '2009-11-26 16:52:03':32679},{"2024-08-03 13:08:30":32679, "2023-01-15 08:32:59":-6655751673367943226, "2024-06-30 12:01:02":147483648, "9999-12-31 23:59:59":null, null:483746146, '2019-12-06 07:10:14':245},{"2024-08-03 13:08:30":1, null:7942404660252665522, "2014-08-12":null, '2001-05-02 07:52:58':1, "2023-01-15 08:32:59":-865042426564526387, '2000-05-01 09:27:54':-7584991, "9999-12-31 23:59:59":null},{"2024-06-30 12:01:02":24.747272, '2003-06-14':100.02, '2002-03-05':null, "2024-07-01":33.826866, "9999-12-31":21.956154, "2023-01-15 08:32:59":44.993946, null:300.343, '2014-08-28':22.270416},{null:7.249435, '2012-02-24 15:45:43':null, "9999-12-31":100.02, '2003-08-10 11:35:25':300.343, "2014-08-12":95.17449, "9999-12-31 23:59:59":100.02, "2023-01-15 08:32:59":41.90637},{'2007-09-07':40.123, "2024-08-03 13:08:30":null, "2023-01-15 08:32:59":59.600269514804374, null:1.0350270933450418, "2024-06-30 12:01:02":40.123, "9999-12-31":47.24628442015481, '2000-04-24 21:29:58':67.2348150552459, '2003-04-15':40.123, '2015-02-19':300.343},{'2000-07-11 16:30:11':27.54066665910516, '2012-03-24':40.123, '2016-04-16':30.274711084941448, "2024-06-30 12:01:02":300.343, '2010-11-15 05:56:13':40.123, '2009-04-06':40.123, "2023-01-15 08:32:59":null, "2024-07-01":27.61001957239629, null:57.9863569063828},{"9999-12-31":94.1144, '2012-11-07':82.0689, "9999-12-31 23:59:59":null, '2011-01-26 11:22:56':null, '2017-01-03':40.123, '2018-07-02':1.0293, null:300.343},{null:40.123, "2024-07-01":39.0377, "2023-01-15 08:32:59":5.1270, '2012-02-17':300.343, "2014-08-12":45.0528, '2012-05-04':80.0160, "9999-12-31 23:59:59":70.0290},{"9999-12-31":70.1268, "2024-06-30 12:01:02":300.343, "9999-12-31 23:59:59":13.0121, '2006-06-15 04:50:03':null, "2023-01-15 08:32:59":40.123, "2014-08-12":40.123, '2009-01-04 07:36:18':13.0420, "2024-07-01":100.02},{'2008-05-03 07:47:13':99.1403, '2013-01-16 05:23:19':86.0784, '2019-05-23 20:50:56':null, null:56.1470, '2016-04-17 02:19:22':300.343, "2024-07-01":null, '2003-03-02 01:42:15':300.343, "9999-12-31 23:59:59":null},{'2000-10-23 09:22:57':300.343, "2024-06-30 12:01:02":300.343, '2013-11-02 14:35:03':null, null:53.1445, "2014-08-12":null, "2024-08-03 13:08:30":99.0602, '2006-03-20 09:20:04':null, '2010-06-06':100.02, "2024-07-01":300.343},{"2024-08-03 13:08:30":13.0617, '2005-09-19':300.343, '2004-05-24 03:46:45':300.343, '2011-03-10':98.0977, "2014-08-12":100.02, null:300.343, "2024-07-01":300.343, "9999-12-31 23:59:59":30.0966},{null:100.02, "2023-01-15 08:32:59":46.1552, "2014-08-12":59.1949, "9999-12-31":22.1132, "2024-08-03 13:08:30":null, "2024-07-01":100.02},{'2007-07-03':97.1023, "2024-06-30 12:01:02":64.1825, "2023-01-15 08:32:59":67.0674, "2024-08-03 13:08:30":100.02, '2018-03-15':40.123, "9999-12-31 23:59:59":20.0876, '2007-12-22':40.123, '2007-04-22':87.0147},struct( null,0,-9157,-1007619347,8,null,65.03834,79.18640317761464,100.02,100.02,40.123,null,40.123,32.1053,100.02 ),struct( null,null,-20427,618396092,300.343,null,87.69543,80.44375187352199,58.1609,76.0395,null,null,6.1235,null,100.02 ),struct( null,1,30070,2147483647,300.343,0,40.123,null,null,48.1753,null,100.02,40.123,70.0638,87.0361 ),struct( true,-127,245,null,300.343,1990601497529436496,null,300.343,29.0125,null,300.343,100.02,300.343,45.1269,40.123 ),struct( true,98,null,1984486127,20240803,245,100.02,100.02,79.0244,56.1654,100.02,100.02,null,300.343,100.02 ),struct( null,0,-9299,361460753,245,0,300.343,99.98732144657528,300.343,44.0329,40.123,63.0912,36.1465,100.0703,40.123 ),'{ "c_char":"HUpXkKejBf","c_array_smallint":[28323, 26448, 20453, -10575, -31848, -29805, 6398, -14458, -23585, 4882, -593, -30174, 19532, -4936, -19690, 6860, 28089, -22753, 1381, -14043, -11993, 21634, -23501, 24551, -558],"c_array_largeint":[1881192718847847185, -2352356839102760745, 258057319207591493, -6962440656732923859, -6480150377490152088, -8834949735483555598, -2617080588864906732, 4129713279539363928, 8428324919547473113, -5543858505273009214, -2605392482466716550, -5807396998030340809, -780231087561417476, 3584478405609109161, -7585650381627350409, -794622050377984865, -8501459768289252679, 1292101731725124202, 3861122517489782365, 6759933544381310812, -1777274200645872072, 2461111621160742844, -7555849448501566967, 3048944991570948961, -2270174470808199440],"c_array_ipv6":["XydJDyZlEE", "NoqKJobQKo", "iSPHpiPptQ", "PQflkpPDUq", "lyJaqzKvTK", "ZybsoEPlXa", "OWRgxVkGaL", "tkxMjmHmgj", "IBWzqQIxjo", "BBBvHSltdY", "EXPWauOzBD", "GefRMsbwvF", "jotBwJYpCW", "yQtgeVwHaF", "FVPGrPGybb", "uOVkHfsRHt", "wSOCWzfCXV", "HxjPARyzyX", "xoVQesAqZR", "vKCkRXeMpf", "IGguEiuVky", "OmjIIKYWfW", "BcdEwoyOVA", "MjsEQdGaiz", "uncIChQZWd"],"c_bigint":6290945911524513167,"c_largeint":-2100296007256112799,"c_array_float":[88.50299, 87.048355, 2.8667824, 20.571966, 31.680998, 25.03121, 22.83334, 99.794205, 71.61239, 43.602283, 27.889193, 51.09629, 67.90927, 54.411274, 0.93813306, 44.098217, 31.252518, 19.93093, 97.91106, 44.857517, 95.79181, 4.811215, 41.05721, 14.951692, 12.181743],"c_map_smallint":{"c_map_smallint_1":-7186, "c_map_smallint_2":14714, "c_map_smallint_3":-4627, "c_map_smallint_4":-1605, "c_map_smallint_5":18909, "c_map_smallint_6":-2160, "c_map_smallint_7":-7646, "c_map_smallint_8":-12696, "c_map_smallint_9":-18116, "c_map_smallint_10":-30068},"c_map_largeint":{"c_map_largeint_1":-2117024685996820868, "c_map_largeint_2":-3087482798725213234, "c_map_largeint_3":4188323448571039814, "c_map_largeint_4":-3117590639396802096, "c_map_largeint_5":1883815183596331713, "c_map_largeint_6":4160593534319472282, "c_map_largeint_7":5239943286798275978, "c_map_largeint_8":-7510457503666472908, "c_map_largeint_9":2847831212415440230, "c_map_largeint_10":6050452551332326606},"c_map_decimal":{"c_map_decimal_1":62.0014, "c_map_decimal_2":56.0087, "c_map_decimal_3":22.1543, "c_map_decimal_4":77.1002, "c_map_decimal_5":15.0413, "c_map_decimal_6":84.1800, "c_map_decimal_7":65.1859, "c_map_decimal_8":6.0678, "c_map_decimal_9":82.0937, "c_map_decimal_10":28.0811},"c_map_varchar":{"c_map_varchar_1":"GecijaHaeWDFpHZASseLJjWhNKRWEAkHqNozrtUFzptdunCvUqoabapZKknFxarVIhJkEjyuiyMAsPCVyJIuDHfOnMhECjbxiEigpIiuuYxZqWMJlqZXIljeBQPARhsLRFUYdxGLLKqJIHMufrsqzLLKFNwFtLYwELASnvEyLhicoGzggAfPFwbVjxNCMiSaZpyKugcjFqiqiGPpiGsffcqqAGcHJNdWcVPCOuJWhxkXxgZKjScWIVtvweawtdKC", "c_map_varchar_2":"uHGqYiAylnhpDoOkvsOkLWdvBCUarYaZheUpCjScevmPxSlFgnXECAXeKZURQWWlMzKorkdOrcdiyZNTzWWkLuijjYPqFHpLPFMmrplFHQKKnfcteWLmBzHnnvvyGsDFjhiQtAFahgruTkZfKdUEgVETzRlKGhXpcPqFOHNkZCldarEYtDgBshLNbbwVBzLbHsXkdTTqRIiDNYeUzmuQTQavXaFblytKuGiIyJnTyYSKNJcOfvRILCgMiierlaOm", "c_map_varchar_3":"uNYRtMaVgRVrybEfUYruoxeCjBPtouUoJRTLErUtgLyfgPgqiovKasghSydBxRFHFGqbxSnSiIxfDCtekjRTDxyFRClWIGxWNutbvOHdCSqVYrcjNLraSNrEWwWLHjmuPUuwzUqLJEvaAODghRRfXBkDxiQzAxpbgrEtTmqNKZHvykXAWbidaBaNOSLpPqcKfSXSDdhCKpsHnGBNwvKKUjuFCDgqEVPJxkiYjgSIzJlqKtNkfoUaVfBhvtHmoFke", "c_map_varchar_4":"WWDFoHJpRsAfWNMEZYwxeiJvNSYzATxJousvoYErtBWFQGlKrpkqEXVOMBxAWSTFCcSIwejykSnNqVFIgVNUVRvEOdzjVscrVKvqQTNLbysCjwkiOVFbnrzUFJBuODFLHSiSivEMvivZAOzufvUTfbwcQLrFqFKOpewqLmwXlnaLWNJcDIMYcRfHyLVPRjgcEPMxGXYHTlqUOombeJApbrqiaOwhcWscJeyZmXzlTnOODrphsyEdSockkIkJieBt", "c_map_varchar_5":"rGHgOzedgfDhswriIywVdLJhUIKlVDmtIYRzGWsuMxfKNrvUdmhaJQAuheUxkvansIPsrhntGUmLAfvvFoUJoSjpoQQoQJhGksayEPjjnTswNHAQGoorSYBYPizxcFXTJVBiakXzFvSvfRRUypjBeuBcPzCdTzyORdWqcigQceziajPAjCYdJoBGufZYfveTPJHaMuBDmpFbLiRItiSyQKuVXzIKBpRbwZBdRBczFNamxyIivGTUyTixPNzbPVBO", "c_map_varchar_6":"gyPnFzbRyIDwphazTWBRYLbgGDoldSUNGVJfsKDfjIqikTptnhdBTAYmmwRBkzjAfZRDNktzchxXpeeBxgHMOmvYRauHKDBGWEPdXaGuxkAOFgvivwNVCfwiaUkanATrdANVNKSptwkXnqJKBuIgEgWldchvcksfvScQyoWoYDItIudsboIuhkDXbZKcvEAzfbZFeQEJspRvTFJgNrApQmSgteluWglJBFoEzIPGAgfdOUTaCvapWcQGzIVSwjMu", "c_map_varchar_7":"kwRujWxNYuQwZuCxRnuOrfJSzdrcfbdOwVtIvLqoiKXlKszPCKxxHaljjFkrgIcxnwXEHxIuRAFdBvcOHvqIcsMkJkGZavXHrFxQwmdBqDcDvQReleAttTNEqfDAhhRacTyRjTIvvbASJkREoTbUxELcNtlSBOoGDmBRToixPMgzLuuCcqbxVLOyrFxLuUoFWKQZoMcakvGrqIdnToJtSsItlGOvlHARWxoKoiIogVXQqxpggveAuWDdZmESAGdZ", "c_map_varchar_8":"CcrbpPpKHpciHGjkAQPWJTdebBMimVWabHzTXoeigNPXUThULxbIgOSqLziQnpTefNvZFfmfTDJrVLzEXdXnsbNOdjYLiytTqEMgQHxrQqbUjBgXVfHCBAUWWnukjDwxWxQtyCAxKfTWxklxSJnWNewlsqtpMLagXBCgPsUzlyykgCkuKAvGTLJodpogzPVJOlwVlcAVsuIxrxtredboLyNVAIVlUrSYoJKYwNKgMaZBKsOVOGwufpXYxXLvlyhA", "c_map_varchar_9":"MmNavQOsUMKIPuEaUAGltkIXyiaRdroCvCvSmvgaOzrFODAqcHRnogaXtnNjnnBVAzhjPZwruEmURyGShPIxoTmhdsleVTQqXziPrVUeUiOaBqUrIsEcynnDRbFVerKbuEGMJcpjkhgnjbNHjxsmKYDPgFTNcseXPODgYKEvShdMaEMvvXkhLnYIBgQZFAjAVQbbEhavkEbfYHLFTdIacxrwRJjEnvCVFRCGmapFIeDxXVVlXuDXUJLdFaYcFgIR", "c_map_varchar_10":"apYBVrRWuiyGQBXhkMzzoWbtIoZdIAuCFOHgPZxWsXcPkdfLWHGXLcuRdqIUiglrpXlqREemUGueaqzzbjMEfiJBNBgCExNIdOawwBNWCZHqfeLUgrADdKNlIphnsrlBDtgqUkjRUPLMfQidxUXnlzawMZAuVHLvbehxsBSYSumFzHbqydNsnjIVFuybuboeWxjmzaVPqResdAtbnJGqVGziivBCkRKDtpZfPRAwYVsBPkFyjeGGmorZWjnwneuJ"},"c_map_ipv4":{"c_map_ipv4_1":"201.174.204.195", "c_map_ipv4_2":"2.138.27.79", "c_map_ipv4_3":"5.161.221.28", "c_map_ipv4_4":"225.134.17.100", "c_map_ipv4_5":"161.230.15.58", "c_map_ipv4_6":"163.212.72.166", "c_map_ipv4_7":"191.174.54.40", "c_map_ipv4_8":"170.48.196.232", "c_map_ipv4_9":"135.45.90.186", "c_map_ipv4_10":"172.231.109.140"},"c_boolean":0,"c_array_bigint":[6805814325121358271, -1774902874464787949, 7203096118844963266, 1959469161909876572, -8904938694970233089, 7388296234084653502, -1125457185982239449, -8859714930104015197, 2515065860893321338, -8908045066513499705, 7699306293745890850, -4718849839083001746, 8394715506016615176, 1459014582128049373, -8635767780150890003, -6782290081756250592, -2827873064102804824, 3988485228148826756, 2413060850684002067, -3858259088557185501, -1665642086922017249, -5049221243386128300, 7978376798845464989, -220398939555775144, -4508119166137844685],"c_datetime":"2000-11-15 07:30:53","c_array_ipv4":["KRuKdvhOSW", "fAJcvCPvBM", "RhFCfVLwAw", "ORWnzxotbP", "YLXFtwYRgq", "wsRqrjAkcB", "EHSkJsYzti", "XAzzvSJPNF", "CQIIYRiqrw", "hKdcqdBUca", "FZhydwxWsH", "OSwltcrIdn", "jsMEznWZAZ", "dXPintVQpw", "MvLOOAzrht", "tExigCfgxa", "iACIEfkgtZ", "sVTEcJlqpI", "ikwLNITjkZ", "zCsXycLthe", "FDBxdZhmlU", "rqcDiYcNeK", "BnReyNJoDa", "tCtpTqIRQv", "HgzIkCevrN"],"c_map_double":{"c_map_double_1":15.75135086050068, "c_map_double_2":70.19379029293573, "c_map_double_3":11.768471920866688, "c_map_double_4":34.03911395183145, "c_map_double_5":95.25650408983763, "c_map_double_6":9.03932017893209, "c_map_double_7":6.209743725298327, "c_map_double_8":8.674122271475259, "c_map_double_9":99.70781036700654, "c_map_double_10":66.98703704940803},"c_map_date":{"c_map_date_1":"2007-03-18", "c_map_date_2":"2006-05-18", "c_map_date_3":"2018-08-01", "c_map_date_4":"2017-02-26", "c_map_date_5":"2010-05-05", "c_map_date_6":"2015-10-20", "c_map_date_7":"2003-10-05", "c_map_date_8":"2011-12-12", "c_map_date_9":"2010-01-22", "c_map_date_10":"2014-09-22"},"c_float":61.469982,"c_varchar":"had","c_string":"HmBViMmvrXqXOQnBbFGnqsGWNTYCIbVMjtgOxqVpAqvMrFtQZdhVvnRkCBTofxVwidLlRgCRGPUcydGvDHJPZBtJkkOdHsuRnAMYSfAILbcmFgwszHVCivuTPkEtEhmhmIrviFmUzCRKOQppANDIrXxfVYTqrVeSRrrRBKkuDaipfhrZcYnyRSNpWpeVRXKccguJQMoqlRkMylkvPKPIoaAiHXumqBnszeDCJqkbjsJneldjhIshVpxuRHnmIetpCYsTYwfmJahGvIFWIpzSyioqwCjHmeDVHYdCbtWkaUyNpvyVsWNmRUWRgaXmkGKtPDFJIVkRMfGnSsWfFUMSjEwwhuvyRZvQsjBmZSJYUqwjhHwvTaYugchwEmUvpsBCaTYfsHRGuaiShCIzWSLJFWTBlszxNGJSCtQlEynQurHGqrzeraAuzJrhMUVIxjRRQUXcIXAWnHqTjSjZVImtEDHmXHnFehmsUtmbunJXNLkEYWYpukBWxghgBTkCqViz","c_date":"2002-04-02","c_array_boolean":[0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0],"c_array_char":["zTvIgeyEAD", "CXLvaughRo", "XZPUSSYZMc", "gIYECqLsgA", "IOLKYxGDwX", "mrgGmCuhPm", "rXtfrRQSSI", "iaiYyenbCJ", "JacKmAFDGB", "ZiNieEYGKd", "DBxtqnzJjA", "IyflbLhMEk", "RGMdZVOZYq", "RXoNceJWKh", "dasLDisQlJ", "ggkBsfOPdU", "WdjIawqpeh", "IgPPeXOQci", "ZktXehFwhv", "chhQyXwMUh", "XGAFNDvVIU", "FpBhtWjKKa", "ZNrLmVfTUU", "RtZzaMKhPz", "unfflaZEZt"],"c_map_string":{"c_map_string_1":"hvFDetstuwLVkHvpvwOibeEGCFbWTfXVWSNtNPzEZCVrzZrLbaEdsuWdpXcaGDJIXKpeULzXtJWZEoRToyzoyPzzveQXPBxRBqpZOcinRYUizwjarHSGihHDIzSbHavZFCwLcBKDgdLdMajQrRewQnPzITOROzbVWmXsauIxVRrvTUYEAMCwcEirzjzdqqpFJZtTBHVaZystcOIPGvMDeegGqQOEEFSCCGekDVNyZrdyJgJOtKtoiqCdGwDGqkabjSODTbozFpTELnktUQhUksxUeLOMkwBkYdbUhukJBOwFsXhFxXNgtIYHbWlJzKYSDDVkuhTLDTKNKYHqdzPCOQOtoxROBOATcMFcQvlklRLAZUUjTRiXdKhTOxqrFQOZPtvKXWtGahFSoFPsiNyzERlOuhdrsajrOcbOqYMbtWfKRygdAoSJdwByshyAzDARFEvhxJBglnqNWHGRQZFkTwBFDjHEQfprHcQsdtVhkpTrDPWruXjxmNPMCJQTiAsO", "c_map_string_2":"qoOWzpLkpQCslDwfUQvgCeclaWqdKyJTEGvZcnJNMgPbEeWCTxYbKmNUwUOxJSZCQCfeqUbEzJuXxybeBfjnlgrvFpBWAwJkYgSxmMcocAtzaRdSyfRxcKwiBanKuNbdgQZcBucxMvzGWOjpXHngvZusXGiKgXfTRYTtijltIVNhXPvbPxoSnROXoyTqQOjbBYacJBaUpKuxfcAMYwYlECuWZWLpxxbSBfnMfJYGfwGcTSlqBgunvGtRQqGofNbbFFkjVziQVhtmMIOFXrZFHKjUSwUiziNHxNSaguEPUyixPGYTAkUQhHSpIPHpzFFsHSPWlHCmGdbxHdxueVNhNUpvxjwPydylsDCkfCtKzOyXkMOVpEjOHNpptquDUezMBmEcvgheMjmZOnbyYdPYZHPoSYHkMYItOFoEgADClHYLIPpTHVsSCjcOTsILLLsSyCuipGAGdnuDuUfMeLRIVwfMbLWEmYdVJZJTUMXKqaqoXrKOUWUBuSJQwgEUJmCk", "c_map_string_3":"KaMUIOXhowwPxCiGiIASICBrmNaRkRmlxVYugsxPoewtjIDIDTvzojQrmAFWSExGhxdiQmbMgDlABIXUSbTzxrnGasbSmSQMiKUtVygPsOGBmWRULruVRpVyerWKaJDXiavOEcOemdgWBtGtDByTzOhVFYfCJBrFRdZuVrHPoMbiGfKHGACVAiQFDdftJokbufIaoTdBGnvXXNBAzodILeDjhgmAswKokBnqIKSMrsnyrqXCXOzZuANPjKWLSSNTiekdaVuixIrmpfDuqshCEgSvpexleOTjTLRIBtkhPZLWtCMfnqdaJfVmKbNMutfnzowcglgiDjcHzjYAQihbQSAqgqBLzqCsSFZpzQzFrRVMvzVOIYGRMWArFhETCAlnpbJuUxaCvVbtmOrvaelQHKyqblRMUHmiHHdRpYXkEgYKSdfVJkocHCvYsRvjmCAAWlimhXOsXzITNHQZjjvsHBQwVXKWPpWByfhDaXqMgWGIwSPQunBZHSzXWcCavFAF", "c_map_string_4":"moTvYCukkuFPLIbIQWgmsOksGazNZYYJwutDqBDnhLSpwKqnJEywEosRwYkLukRlqMLPKXjHNhMbBpKAgPFabljmaRqDrZBmCFdvhQVZmkpwYYuaESpJaJdUGbhVoNRqcQTSLBOhlgSeoFFZshjkNaUFfKpvTKSKwlAbINIuDcikzqNJZvssrOFvSjzGicSpMtizzYtdzswTmXAOELftddpbsMvpvWMDqMjzjWWNYSionoofoEdrnCXantQOUkTyuDoiBnvaGDOWTREyGfjwGXnPsycUVHCiQydOIhnDVpzfBMoNjiuisWLpHhvFcnbsQsZvOLrIJEqPQXByuKjkrnlfGyWPtIyPSQWkXHCklzohWVvaPeKFiWdBtCvNrJMJczTRZvUzjEUICiCUBLQEXrbSpIIsxDQqgufgwVAhVGJptNCuEUikGPQEHaKLEmEsGsTMwMOImaZskwwCiNAVtVPjdpDZicGQPzFDMjxZHSShpHCkaEUizbtEsoMzzXRW", "c_map_string_5":"xjVnLUTztStoDhihxCOahzYqAmDyJhlWgrVEUmVWvrRZhkjbzblyghmhaXPBVNhAVPYZQOtMgtPwqdynxOqiLrmmFTVPvYEjNesLZDVJWtdJxscuQQVjvoRduUZGjGLfIfqlZUpFVBKHfMShVfneUnpBUKSlJFvepxmGtNSNCnuDyAKNjqBmPZbmmNxexNXLssbJOSBftLioZqOQMwUNqGxVhBhdGaXrPdhyaSGcOFLIJZnIAXRPyvOTglvJWdNNLbfWOgcJYKQDRjRneQUDqWdAnZNbXyKJMbqSZCMNNvjDCjbplKNlrvkuyjOGLnUCzXtOZvXxCWenboTEccvRcCdpbEcTfAeNXmycPQEjPJTQaLtPXyYAvJApQoSxHDozPZilHkJjrAsBvQNiNgvUpyYjfeOFPUfsYLXmrXsmnFJxyptUgLffyXYqNwPtdTATaWFYFEPaVgWElNZIHUinneunUfrkjqymZwOTBAQqmrYElqdCiHvHhbFkRlUTLLqT", "c_map_string_6":"EWfWgRkFGFbUgkykVqIYBBOlKIjghOJvxGnZtPEBWjnlsJfxDDLvOkWpNvUaSpPrqzCTyFiyGchwvfmmrlrPujNYuEZElXXKvCBoVVmQvPeRhHHKahGOyhZiyKKCOQHDrpXdaJyHixwWXBUvbNTmesjNWNICIufzKkFDKgCiACvJohRSrjlRdVQdCnAOEvKIjWUtTMngJhfCCWYCGaGepwZGXVqwlaWHLbEWjSmXqblAYSSitQEbJzhuWpfmFTQRIoqGQRTnbBhtYMxoSfkLzODdOyynBzkXKmmYWMOhflxLYqviUCbzpubLHdVXhQFypXSMlOvvXgqTJOThElSaUiVTeggrOnFmZEfRlhsDUvRnZYcxixjLETixiUaLuUsOucsJZlTLvZjvlUuEcwCDTduyWoVTjqQTNYNBhknMwOeOmRMKoCfNBhNWJoPolBBivpAGKtyzsuIsTBOfuKMCxCdhOOwTIsYytBqZLKvEHVffeBvAqvmRiCYiPDfrIiFw", "c_map_string_7":"cVnhJfAqVPnuSbwfuGLzXdtrJyvhvNrpDwRxPCXxmZjqJtnicHPDWfkKPRLVPWApzYJEXbZeQfIjEtHmWpPYKauSBRXpAxQogOoZupFlKjdnzFIQHRegeAshSpOSoxFMSIADfxgyRuLRPYuFXRlzaxIUksINOgELsFljWWsKTZsPDoTvPfGJMVpngluuiywnYcFxbkjBQsoJrFLwNQhGEAiRjTFRWSjnaMLJoyOJcywFnAehrIQbCiPidpZTJZYowRMumKrVzPBVhFlBNitbtZArSZEgQAHlHHdCDPnTTvnspTzQTWZStpfYqgJPzSYdvDvnisySoDdBkvAtZfYQHbIyTkmnpSfruAhSoawhpKanjFSjKoWNyMJCzpKrsYFhHpOqZVuAsyOcbqFMISjIGwMINIjIrpNOVvvlTgvbfoNzMEPsJGnXYfHkCKZqUfNzomBzzwKqCOtbTmjDlqOlqAmWcWbkrxEiqIXvqyeroFOrBuTanAlDsBsbLUuwburj", "c_map_string_8":"ZHxylUvrhGLhaMfZGZrmspMSBiySbdEvBlTDecRXfrFXxJbfIBnaqoDrAUjWsewWuHWqmxgtrZWGTfUaSqskzngeTdjJsOHNhJMKqloPcXsZuaAoSAxjftCqNrjoZaHxhQnuvXLWLLQlZwNtKFOdcPYfDSYLmMVSouZsMGEmPyaMaeYFJhWicDggbbFpjlTxNgvjFAYneVIUFQbdkdjXkTMwxsfteUfYNyPnQzWhpjyauUzrxDZMdepCLhLVaTkAtEGsLcXcseKuTTPkvHFklNUVuwBYWtJOWWXSBFbbrSEMxwVDgSeieekyvXataaTrxdHRuXrSDyxQuDYolIsbrRSdDSFefpcLSADCaqzoromJDxIhVNGPZlVGZvXcaoDygAtiHkSnYPHMPoMkBdCsgKpkwkLtpWjqHGBWnnfIdOhmRRksWiOpNNbMpRmqEVonqhLPVZtpUIAUJVNyucHpoGJNkjqLQZCzdAZIlYXlWzkNFLDBTCrUExHryliTulAD", "c_map_string_9":"HzGSgZOXkMexCWCmdoUymrBcYLcjohRTqTYYvHYFNzMleFbVjfvtgKdFpRXESRWvydUcifumFNKdIcBzeNCIYVefglvYrWCSwcBzmgCNNRehUdmBDUWNySVBRpxrMXoNDiTQxWcNDfoSCYopfwAwBUGLzGruFyWmsMgUriNlUxoYLdobtiGtprdfQakanvVsGqWTyoZUPSHKUyxdPYUvEWxkagJEcXbGnrMQgkmrKALrVAgWCvsfMpADCOEPBxnEnosmIvRIDcFjimqDWonaabkOtFXXrOMXDReYPGSEgxWLTYoOvvAtLlRLFYpRWyfuuFqXirFqmSIaEycPCcklFFtNPlnzbJKArgobNSwsmqtEKouDWfIkwJwPABNusNhOefqnaFbNxtnrlfhPVfmsSkSgotyRnbQXzrExArsdxPMKzJBWrbAKgrqslJfOdSrnuwbOnWfMUFYcTjAhbmKNEYBkbvAsOXFbAnxiAXAeKklIMBNlFaMoXkLiZBeZGVlG", "c_map_string_10":"NmXyNWBopXlzTJPJBOagiaEEInkkMQyhXJBLpnHiSGXmkkXOgWZOHUlstpRhXmfVhQjYvpsTsVmorNHnswtVVqNDMIqFEBNtFPIsurFjCoKMHOpdbKBRjFTPNAoQdWYDDXNpVvorojrKUBInPEGdZXrDVhyHCesCLZqIYldgmrFwnFOqhmVURrVGKKiMclezpKTyUlGjIFvRgrZcspOLzGvwahHwTyfGsGgPOXiDBhGMQXhYdDZuNHChdUJfljJyErmpuyWvcgdvdtUITvboykBABdApjGEIfFiXrKgCQjVuIKMdTGBrmTPcFZFQzzEqzMlkGdSUUWMcNWRJhkXHjgSmotWIcnugzuUpXyPuvTsFBLfpwqEzNGKepTwtWzRLFtsqKnZQxgezuTgicaAISSaBcZriPvgKpROtbsTQAUxHxeMHFcOYJouTMmNmiaBkJBYwSpkLRHsWTmiLYZRaBWFMkPDELNrqMQrPqXsibvzGpnDZiIdbarIYearbztvU"},"c_double":56.48757703926063,"c_decimal":13.0782,"c_map_char":{"c_map_char_1":"bgqiEytPPR", "c_map_char_2":"laUlGPovqF", "c_map_char_3":"CoYxDMFQrN", "c_map_char_4":"lfMwdOfZMx", "c_map_char_5":"mxOXUdLOti", "c_map_char_6":"QruKilHwpq", "c_map_char_7":"rRCinsfTBV", "c_map_char_8":"CwGafFmuGm", "c_map_char_9":"sYYMYXZVSM", "c_map_char_10":"SRcvjpVtyR"},"c_ipv4":"99.246.54.218","c_array_tinyint":[-79, 37, -20, -24, 101, 79, -71, 104, 29, -112, -60, 48, 90, 85, 123, 55, -99, -87, -11, 10, -69, -11, -92, -59, 53],"c_array_decimal":[70.0383, 52.1155, 6.1652, 13.0917, 7.0282, 56.0426, 83.0840, 59.0560, 95.0272, 57.1340, 16.0390, 27.0600, 72.1692, 92.1832, 13.0605, 60.0929, 97.1971, 26.0125, 11.1024, 42.1360, 1.1120, 97.1655, 86.0257, 81.1782, 69.0225],"c_array_varchar":["KMkormLllmJrsYHEzKURncaovbqlRiIiygLpFEgNPwyJUZRFasIuiKVQhLQXGgcMlBAOERmystXPrJHGsIwwKmunHqnrFjuMtyxIEAVrvQeuUhxVYXfNkpiPuBMNpoqRuEBgZFQUHLwfHgesYgVtLOimfpahWLwSguECGBcduJXyoHadJEkncySvlAqwbtDxljxpmCAPRclyVghcoUiNITOHkBwCyzqWINdwnDkZhHkyIVOzeUdNTzqzZrDZHiVl", "kUiiKLOdsTTwqPiAtSoRwTcNxMUKuuFjizHfPfnfukBMKeabqDDbsKEhdbKIntvShlxHrZFxXygTnoFGoyLWXRILgdYiWvxGZtoOAdauywfHGmjPqmrrTqpPMhSGgXvOTyhrakJfhivXbKIJVnffDptdUEzTQSrkWlhtpIIyourkujItQUNNloRDhwXQoXfmhtrRJkHhnOWYYREWbQHnLyVFyNgUOHtwTOIYdtgrVojsTiEYPkwtBKVzNplidRsJ", "CCFKMItxfJaAlkbmrEPWBqDaFRONisPbOELquagojvWQFiRcWSsZqyahnpSJvWAjthjEsbVjAoobEWyuGxYfLqUKFUnOPSPaTgNBlpmHYcWdbwdrPKqFsQPvbqRdKLbUjiEjYlWJhoSWbVdMUIzAhUWbryXOkbLHJLFfjvuMsXUASoiXwnjooguyjQmQJSaoyfoOJTAwxIoakXKLCUVuzjhikLZPbNSinXWXwulAkfjEBKEqSwFtFmbrPrQfmiWO", "VWRtZRnbaLFkjwfMqpmfNdZRGGKryMQKeGMwzHTuBDdPlCSXUsnSWBihQsEIVCutRpoJXEGMMJveJPqyWwCUflvPdkiVwArmJoWjNfbExWduKNCJrLpHmmdiUiybJCKBtzpQXPZjNftxcuITERWTtGaEVqafPjpKIhBgmbDKbuNYQwmeHVkaliHSkdNhiWLcsdOzWGPACLHdeLfHlSDqUYEkFdZkCaFmickTRAjJbUvFDRYVQgXxNwhUHrCgzPGz", "RYTcscJdAZxHJTRsStkVDcoPbaoNFeXGAsyXWkilxTLxAyKPfnLyslfvOguegNEerQijvpAiVrZlPugiKcDjPqRaPyAwnPjksFdrWMCPLDHfYePgtoeMjkDVXKwvuXoODJUoNWBGkYKfCZwZZWDvLsbWUTKWeZhOgKmVdAxutOrbdfOajSOxvsXTEqgHTWZmbLWRFQRhYjtbQZSzFgVYhSIKZjkgWufpTAxOKzBbboxuFJBjWeuwlaIwfqzpvnkh", "gHxVbNQSBoIFwlmJPASCEoImOarOvZgRlZOghOEdoeDNdyFTQhMipTzYFVzTMwTeMoslcyVfzxtrYJSresHisuhOlYKaPCmUyScqHLwMLZsTJqYBudfQffvwdTkIfutSvcsfcgJAyrkgsOktrPVGOdJHPkKYvNyQksCMWzrtRPTjKPVPKNTUvcaVPgdVsVRyUAuFjyzhdKeAsiDzBXkGAjJelKIhWyHmtcLUugxUEleTfiGWmYrfFzfKjtWdyTde", "FFezkYXHguhYiemddSTQTdymijkxXsXJtuVcByjRiqyFYUzJeMglPwjnbEoCxICOsbeuvJSjHjKFAXWSbHELavOfEeOXKNYLqEZzxxRRzKsNetkVQMxTudcyjVToQWHdBNXLFFssNPLlMuqhUyHLbnwKCicLpeLyLAOCbqvrZzafTMWKLpMmjmwqTuIhRsiIsAihciXZdsoAgIDusmnmfwpNZwFNSBNBlxbsndQuMRsiVZxnsMwwMBnVmYGKlqOP", "AKfnGhORRbYCwRsigzPdeTaVxfIOTfDyrcrFXoNpBkZuEXyxgBOEWKroLqSSVHFeeojpqLkoUyBMgQhBQrLhexhIEIFbhPqeCdWDXSORqZYSKgYrbVYGCgxejVtvnRGOuZsRlWxktXxlEBwOvsBymWcTlZCBUaUzxlVZzRbkugdrFYJsjViZZYIJBTHYcajQSkuCreTAWqWFwWbdTNbSwzsnrwsxcpFikFHvEwIHrlTUIPfzNdSuZPFknUadzkAC", "mLOaJRFjiXlOToeZIGadwbIhzhWdWiPGHEdlItxznkWrIjouBeKZzIODexdtaJdrJNqzWvZfYORhyVtTtMnBpjbFbmGMXQZTcIOorcIidrUFLPfoGWumzhtvMjWOUBzzlkpfSBLKkpVfMZYlNQiUKEUBcLIlXgqMvfcmUiKQStnvNHkvNNHAMKUNPqGAljEURITKOMrNDUJUDxoCQJbEGeRiwybvuHXAkcClJTdXLCAeuLJPmErPBLlGLfzWMamk", "zFnaUoOZLRXuggGAMOPWBfkFJhXUIgLYEYEuiaJgnrEJqozknMwxEdQlwnLxoNsijwHVKlzUKclOSaVuurWHeewnyYjbOjsTwICOgjsJFmZmLRWHLHCpaQmDkOjcujxwRlBICxMUGAbMJquZRZileULqvinvMBURPhnwgQpgqzObtmSGnkGbjPFDLSVUbeatqgffvIXXGOfkrwALovfNBXgRPnhzdNATYGYMINNtSdaHXmXkocYxmtAyNfkEKheo", "tulQYoMrkUWoYmCYcffIXBXSMRLttuVCwlYYzRazFSUfTsANLZsIItnscbOpVWDqkTGkdXpQwFHBkGjoIYqnfsmRfRdMBJSruOjBraGuBdPKmNRwcJcuGXEPPFOXKKpbcnDPlRypBKnqmTpBqNbpqvhxyknCVeknoinvehNnYrQSDPACAYsjIVoQmDlxdnrQXeQRthWsGQfCSVrfLQfzYlYdZgRsROozEUMVIEkqzeokOexqkuNNJzzzrlGriVSp", "TklNtZeKGPmHgeYYVTWXDkXyzgkUcGqEDNXcOMRtcZxdrskGoWZkbiTWeuLVaHgZpyCURMJUEOIhOQomaTgzDLBZHedIbVbqtqmUkAjvwfFczdAAgFwDyZVrKJWAGDdNmspnMJEzQYXpBZeCZNFtrBUiVTlGSewMDZGhTwTFdDvIKpRhaGoWxDzjCAccqEaXCVOayPLhLDAEfdBHOtssRoxSvrlTkWepbQQNNqSwCxEOJCJllokCYJWXReUsWwxw", "UkLqmOwCcTmcTMIIwaeIXpGYgKemVWhpCFQLIEjMhSoQmahJXoXbsZMjkYEueDseHmkmkGitSUWDRVAphHzxRcyiHZIlqiaxOsHTPrVDtdTuxhmUzLTCMmpqFAacZoWtpImvewOvMHoqfTpZSrsmtSabwPSHpLcwTNmeqmhCrXMAPNUvTDplVDnleWtUqgEoUFHoPyAEhbeXoNcGZTCTGprzOEnJRciqkLppuTSgcWYimXjRKvTuaJVPrdkztPHT", "TqSHiLsRZpyEzyPnFEXDdDHuephHDZLCzEXsPewlHkxjqKhgYZjAbWmlMskwqOFSntdbjNkjqOzlyXbPLqDfYMmEGBmDCOjSgCwkKnrEvgOeNlyyVeLyvvbdIuxSUArnWLMrNlPENLMMosDsfAhVmEAknymESRovucQUfMqRnbKcNBYufXZodGKjuFmeRWQjAZmKMHIbszNXawCGjwyGnBtAQVJVWZXmvTSlsXFTDwQocvsKSBGUpWcReENMwEXD", "nLOqqJamoQXHBEHTYJCQAadPFEsXfJyeetfVpmsxsPuHfRXqoRLgcLkTmghlwoBxvkgVohpoqPCrguNFrocEKEaoHGdtYHXJeatOPbLpscjwObRKcubBMDHbiRKzynxEPLYevfXjcXSXYscOYJklshnVijabwrDTeqlWQRPPBUFWijykctdOgYSdjmwrjXUbuCktHyyMATuNqeVUCPBOLTMEXhXGAlQKjBntRKCrqhtQDXsBnVCuEBOgGStYRxLN", "QxNHVhRAzzgJuteNzyKwkGTqIyjVfVSjwMPLPYEDUZygXTgmOQxWlirMyIvQSLKIOVVFFeZnjGgmhEJCJoCreLGZfydgprAsokctDlCTyTnNPMCUvWzDjPrtrqAeMsRTNCUyJYEQPnFpmNMmffCBZPeTqivdxOKOrKVqxIFuxhVtRyAtHxoojpvYhjuepyLEaQHHRxQmOtiOEkChspRRgKearVqkQVVeIbHLtcYWPViwnDqvApVZrOwIwHFxMmWk", "likvPqBYVyTObYVnPZRsrICJSOGMmONJpSheVZnNqikGOdbclUdHCpEkjQFhRYVjkfZjOyiPzLGyJhsyaJlQFXMMbKmnVzinunpQPfGZhmVPjlWxtecOSIhsInknKDtqtsYJsVaDZAWEgvQCzDsczBrWtYRHKXYheBzODexbObXVeOziCYBTGWLuPEzVsFuCpzWrxvodIxoIOuyjZXYoymXVhfAkFGEHEmvJQXmMUJqCBlLKJmvYBogdnWAFgdxi", "zBvQxHhmWXFoRRIRkDeelcngJEpJDOzeIlwlZaxWQnmnWdBnobJjbGKlymejvpwCegtOQevGkYasFbsIfbCeyyGRrcydLxIDvlZWmDqShnxuxYRfmECPLjWRNaLIslJEMMgaIePShJodcxUENvnKrkHIwdHYeGauphzGdUHLMZmnZUZgNPNcZDOYYLbrfNOckIChEtsXydOxGaZvsMMqXVSEtaQcKUbXtaiwrRbgiXgeCbyKHIBmeOIjTMgzWVea", "NGAruubFkhlzOgFGiTiUoOFlthWZMuccsqaDLvXHWFeSgQTZdgUVCiMcuRTbOBWzUlVaHhuvEnHMiWFYFUEYfrqEwOZlPTCgbKlcWMjedqonrmKVrSVcPPnwUaXYqqBKkCAgVaxYWSNNWYfnuHWjMBfYznltxVhwQnoxhUUBSLoGCYUARvcXaXLpOCnLJhjAKuFfGLVYSkaalpboZiKMdxbLqIcNEZoFsoLBtZcUHuRLZLICMajeJNTIcQgsNDfY", "kMbSrwnBrmzWPBZmvThYdVdVauXLefITuAVjWvyjvgkBbxmhspQfCrEqrBIbcfTysIkutLkhFYGWDJNolbJZssEcJYgWxsyhhMbiRGUEPTknkFEhmcXIpgtuMmnglgLAgSaGIMrTMMXgTZXtBQHUPXQJSUoPNHGYfJSwPylsLLnDrrUUGdapFQxEMuuuVJsxYmpAwXJSXPQEgsSEKFGbkiFScFJTWDVcIqYwRmPoKyBaYMeRZnefCwpEUYNovxlC", "lpYAqyfClddzndHIwNIwmWoacxsiGZCcNlwGbeQFBsNZjutFeAfLpLAGACyBsOlerLzfvnVwWncCfzvDdUSCEnKnNAuDPIHkynqCmfrFtZruXcpsPUFJNCiqgiLHmiXzcaLJTnHzGWbJbNQcWxNJUyyTORqVswpSQeLqEHvXTENgkjRRTPXjpDkJyiFLkIbyEArGJqtMDxXjvJGNNsOngSoofGCiagUPNPLIlXNciwvwRhFTJIPOuTlgFqzxApqQ", "QyFeNBeLcAfcIJMSYFkDjkmbMceOcoQTPeLlCzzNsdMBvVswbkNuymzaSlFackQXfNmzJhqCgtxpHbUZlnnuhOCAWNkfNYVPZKPusHhXTIYguicUgnrEEucjdmfSxtZPPCaMqXeIdWTEvyIIQSEmXmGsyHfrwnCDMgqYHyNLYXXRwbIeJQxJAJXfrDNFXSWhDpaeDnUExusUAgxRzTleiLWQoSxzgoUNoqIjJUDKbPlZxztrHgukpZSVsDKbAyQq", "wtRscOsnmtAOkNUiMEyoQOYRJsVlaWxqoxeCSoxbwMIemQYwjrzRtllBBnqbVcsONwTcNGrWGppRkbjBoJwFDFbZDTaXxkKacTBRcsIwgMTrPwoTnRTAEewGjmAfQfatPMGhtDHFsGtsUQwBOgdZAhoPTlUxhdYLNNthMDHSVaRcheFnHuQVtXCUzYItGghYqRVrDxWkUYDllAAkJHDFFgIxceePIMBOnXXaiCzHuGdkyNCKTxzUkoEOvHAEMAgC", "JOnCneTvxAnIOEOeLPOvtczvOuUMycJjXZnZucCOlxxSGpbNtNkRDPTAbiKZJNpuIQvfacpudmzWMdFTDcfnskUKhBsfrvXScOJYUODEzBbIWPQwPKpfmXXwHTdUzYMofsVLuZzsAPvAsgGiKXLeolAqQtFDXFWIhFddpusGJwSrDBtrxfJlqgcCUKFXOOOOsEmCqePsjuJOywtiotJlzspDinflFLWzjlydKLwDuKFGAcbRCQgdpBHlRgLnTlBX", "ZxyRiAAMJiEnllhAQLgfVVHDLCprNNwurfKGYvzYByhFtziuhnPMpCJpIZQJkuJXYaSHiXiYorgSItjyMyTxAxkBjFKANIQtxwSwqfwQWzvTrsBLLumzDGdrXcswsrikDuRQauVtvpeuEfLOiOqUjEfPZWbsrgVIwvWEpHjCrtfcPhQjSqTnCmKmQxAxQjdtjABWgGNpzqGHKXocdYQdpgdioIfVdgmFkmhGqYRytmyhlVruDzsnzaocpELTWjKo"],"c_map_int":{"c_map_int_1":-2068207159, "c_map_int_2":-926792149, "c_map_int_3":248751071, "c_map_int_4":-833484615, "c_map_int_5":164212294, "c_map_int_6":-677198887, "c_map_int_7":1606542680, "c_map_int_8":1138763238, "c_map_int_9":-1719639690, "c_map_int_10":229593574},"c_map_datetime":{"c_map_datetime_1":"2011-04-24 18:32:40", "c_map_datetime_2":"2005-07-26 05:57:46", "c_map_datetime_3":"2014-01-22 02:11:23", "c_map_datetime_4":"2010-05-08 20:14:38", "c_map_datetime_5":"2016-08-26 09:07:38", "c_map_datetime_6":"2017-04-13 15:27:09", "c_map_datetime_7":"2019-03-10 05:11:45", "c_map_datetime_8":"2006-12-27 02:44:20", "c_map_datetime_9":"2012-02-04 01:02:32", "c_map_datetime_10":"2006-04-27 03:23:02"},"c_tinyint":-104,"c_smallint":-13856,"c_map_ipv6":{"c_map_ipv6_1":"7f06:7f57:8159:5a53:35a5:2896:7cce:fb40", "c_map_ipv6_2":"498d:40cb:4a6c:4db0:6e9b:865c:bbaa:bfb4", "c_map_ipv6_3":"50af:6f29:c3d8:666a:8d4b:7e05:7c20:66fd", "c_map_ipv6_4":"f9a7:61a9:7d8a:78f8:930d:3642:68f3:5a9f", "c_map_ipv6_5":"fd24:8b52:a198:2786:4318:6250:7529:8619", "c_map_ipv6_6":"8dfc:bb2f:573d:e5c3:83c4:11da:248b:e70e", "c_map_ipv6_7":"c39:88cd:41d:2422:1912:9e05:702c:3199", "c_map_ipv6_8":"ed41:cbbf:62aa:cb2c:6359:b27d:a24f:8722", "c_map_ipv6_9":"385b:33ac:99ba:a2d3:b604:48be:8d1d:49db", "c_map_ipv6_10":"980d:6fed:7e7b:2c7d:754d:2956:f61f:1da9"},"c_array_string":["AuSFibOmaQNAvncWtOnDRsfDEkcyBTgLMkUMozcmjWdkskVXiTkdDhFVgTrhbElnzTNlCSKNvPtULTbAIkvEXSKGoTbmpmJkFjhcTQZobvkWDnrtikHgBqLJxBITXFgDcTePfzWvHRRaBvoUGZTozzVyZojAZGdbCUkQiDRPrqEQgTMHLfEGCrMrpnNqduRbvbqpfQEDpZIPIgGCtUhknNEwNYezUthAROZotIrANgrVMHtLVoqOlNiWKIIGftBHpuhpBgRRbKRFxtEeqoPPxxDoqZFwdqCrUeJNLGqPRHCcmmRRApQhIhHXKkhbxjfkdOWQlKyIshkQCskTWMSPJFRbxKRmgaCjorXQNLnmRGuONtycvCAoqkQDoyABaxmXBrIUtXySYTMkRztpstxPYNjnQumImRguPsPadWUtHuLArnmRjaASPVRumWaCBLaUqxwAoWcAklrVfvYAimqDmQlcJhguJICwmfNdbjPTNksBKxrVNSPCbcLxRyAXLDsc", "HTjFYjVMgdycYmtiOKuBBQMJfnunKwDhwqMkKxxDJDwuXXFuyaJRQNPFrsFHDUudRGMFxonxSXRdKRmHQjuTwFjGSjdNEIXvDtkzsToyaoRrvwPVFMnLxmEIDxzQIHstDGkNooanXHnTngJtycJRuRcEHLddXLKcKtysVExZbPPuCldeMvirZSdLoYzyYeLoGxqwMDdmEHajcwJfWrilXGuMWZnJxClYwWGjKNExUkjdqLrHtshkerHBsEpyATxCGVvGjVuTGKwwNAvofVQtBXvkrkrMkwQHUgoKPrOoLeVnqmZtboZpRDoAwJVUYjqjjRSeasZfhMqLhxppdIPbBZQQsvlFMUGfHlaTsWcTItBxXeyzycdpmDAlygWRMmzHrNPCJcWRJrzjysSsHBFtlpXEvCPtZSyQAUgYlVqYSshNwgeRVKgrcdWcJEiWheFEnfjSoRbrTyQSFHfCMUkiTeegBMqpRovbwwZvhvHvBKmWjzbLQTSSsjYgqHFHwKdg", "PkwTGoveplHfxlWMFIDRtdclgbfDIRGmeNCcdZfLOVHiMiWcxhgftSefTQArKVGTgUFOdWtJfcLOvGbiSJpKmTqcgjpgbuFdmORowVmUKrHBEJJDLLplUTErRgqClYNlElwCQtgtJLmNgHIFFOeodbWBGtRGkPCZeBuYhojNZoNYOdubilWbDTcXzCvtWtvMveSMmhRzyxibiYaoznjoctlOuwNkykpbJrBFjpyxlmmecsmvCbrEemOasFmHuLfiQrDJioBGzGHEXgSfHlNoMnSKLnZpwFuisbwHvCzduPgfGIiCiVOyBuOAXwZtcWXkLEHAVcQQzIPelsLIQvWbdSocuXuidrCneFSGTbXNGhlEkSLPBIrHSraJGOLzmrixXKLfdwJmchaZDjGnbErKJXjLUKIyGlzaADptJrFpCUOxMwoxYBCNBgMwVrlCdIILsMpLLmUWjQhzsbZNetDOrkWJoWlnMTLCctjkFzqlsyonadOPXejwtBsMhGIbRJmx", "ZvgHkncJAEpmcADuxJHKqVNYpgVuVsoqXMNYtyyVVmGAUwxGDvacziLPDHrcnVVzFgomXpdgTxbbyBiJeEcghkMxNfaDWddQDzNjRVRBSjroCqKLbJgSGTFGkmisvtccmRRJpKVyTqbxacOMioTmkagvTAljAAxopfLiPFGGFrxJINleyGmiZRjUyTXkbLWOMwWmyXXajsXMjCZwoCyioSkeZscEdBZoMWXvZcTgWMYVNkNfNfCgoXZAYWYkMcEnRNMfVMYmoKHmFPKjLJqJnsXYFDlUgUPmKDSKqVrXszKTjaouLxUkYtCPYLGrdQXcjZNbQIkcjNzdsgWgzHrbPvdovTuPwYYAHnqBqkJSuscuEptGzlaBBBnQoAlyyOCGGCBUddSWBiIDnJijyTIecSoyFPZAehPqaxvAClbuzjqhEAjlrKbwDejRNRHdMzZSaOUCYpsSWVZXBTSlGshukyCCgBKdwvkkuKCEsjvblPWVCLTUSINoeVdRqJWeONbn", "BKDYAyaMiyfGWxZzXSInyvQoRtbbkqRSvsBfBkUJnalDWTgjefnzbHMcuezozEHEUuHiqkcyAEcMKlYxJCclVtJrjRhFUjYwliOjwFBElbaujeNDxXVxZJzJrHnUzaLYxOpwKEjolbogTDkEqxZEUBpLJkPvRkZduwbsTuWNfPYxQswWCNCKBkkoKcEfHONBhtVaBRnioOjaMZTDYwtJUAwdYZWzZzdxdCcvYVQliKDnJWYMneySabiAeYwGKfwGGTYfVzSjIVAvfvBJzKHekcRxMByEOgNDLheYVlPgYbBQUKiLNwRLDgcMVHACYXtiupfUqbVOeoXNHJaaCMnoUzfvvkilpkADWyDwcQxouOCLNlmYpJKPiCDsOrwNGeZVteVUbFijLHTaaiiELOXcxhnhqFCXOXgmsbMrvDBKZpIuxASSnopFspzyAvjJBujZnHEqBWdDVbLSiTMLDYiAoNDZpqJxCrjxPUypcLqHqfcMRkqpuuRnVhTpbABHTrvr", "GAVCLslLzMUmDflolKgVsMHRElujtlAWHgIpyTAuIkFfPWXiuDvAysTFNJCxoiJqjAKANTfbXlXEMjPxEvzEkMucFrGADmcLgjbfIVIhvRSUOwLjFTALMRMwBzzVAFOsxzKOHridfYIKUwyncfEuPnSUABrCpUlmSWTGcNtYacoIHcZkWygDDtFDAvkHpyahkaRSIXVVGBWnvkonpEviGEggCSjahjtjsVTOHYTdBXSYGuvCznnIoqaOLVIfRjZwLnyzmdacJMfDJRjjuIKmrtPAbgrNsRIOrHQaAISIpvGpqCDGCsbQabOxsrjjIRYeSAGDtrHQkbBcoDiEaiWHqwLALhSIoHIPAdVJiAysgiZQTVqdSCcNKmEtTGtXQzbzAwQHwsqJGoCOdDWxinPgmOUSuEKqaJAPCIChfFqiKVwwyKLBAYaNzVgWfoIHWTvVStWYYPajvUBKAGfVKHqdsKRBAUZjvhxLVlltvXYgFxdwisigySAPGaivcuxJYynK", "myHthxOeAPjJMqYFJJrRYTBUynryJSnXJzrrzsNpUuvjtgcQVatgMuxOJhZuLiYWvRmrlrefbXNSJvaPJBUUyXPZVJDyOLNxqhHYYmjwKEpZOpATUlMJMJyenLSEUtzrxGERjQqeDcSHeLcEdpXkktBAsEPOVuZfCAShWwWaDhUqzvyFOZSnEhBYaESmvYcWEPjoNcctqhSsoFgDmwMFXrhHLqrzHwxkCUcFQeWSWUehLPPExUAXBmJiXkAzaOoOermPwIaYnoVGpOzsScFjFzkSUJXwvTAxFeoqCrEQZmgqHIQEoBvkPdaqLksWtqgCAhIfVeQaesNVYTWJEiyOKeqguTSeXWuWMOzAWBpCwGaOXjOFoTKRLdfcoBPnCROPwdoabrLHvIshyedPDeYLxmnCjJjgomIjyBWiFsjunQvUzpvMhUCbNNESgtuseZVvMOAehYpJWqUJoecexMLiGMPakitkISIlJGpKqeeSsDFRGsVkKqMddVcxSqejlfjz", "VOLmunBCDShFhixJsbQICllwyqAUgOYfDhWeBsOvLXGXYcPZqrZhbIRQxBZOqwaIYSSfdqNZnBzwQPUcNxentbUxdKfFuicewmkzBeLwHUrpXZqawLMIFfBPcjHHsIbyPKOiPFgMMVKGFLyBiQOdsOSlLiJWvQWOREhceDFTesHppeUjwmmJxEMgcnzlkDSTpDHlPMvTWkMOHRnONubNQOqKsGDmVCIpRKrFyktNVRWYnSGmkwQnBMAUHbuPiRwuTFnZnBKlijNZayeafKnSbQyjBQrmNFlWCRrEGVYlbexQLykxtdTevVDtZPavmKWCURbUvPTLHNGvHjVrUBKZTMumWsynBrJgNrhxMTXVPYfovHOWPmDSdNRvMIrJxRRvEqtGQQJWgUOWevXuDIiPttHaUciGBedfuugVlcBSESEYjfBsiFQgdAzdmoPcJHAEhGGvlVqaaDoYXUQzbNOaUvrdOayFCrsRbELOICScCSLaLrFlqfbhIWyAUfEeKCva", "xfekbMfffjRZPbXaWwBwwWiPpWgejLBrwwYamgQTusNjuXhKELKvXieYHLkvcsTaZgTlREyNtOvMluHnRYppStAEGrSyQXTwKXdPhBWDiIwUtGlYDITuOswmnckHSNfMrcikqojbjDHhxKqVyQfsxrTiAAJkIKVDobTNLcJbAhyzJuFquJFeVqOnGiNACWgdHhIMRYmERwEUNrwbdFKZAqIcicivXrhrjppUHaYFsvfGGiqTqhSPjsRIKJviEkgRsMuDMUlFKxjwcJFbLnbLmGfAXdgSLSSqPvEonthGjFfIWPcxawFnRyCevmaOPNvbBEqcCptGupxSFVfyPhcAvqAgqDKcJMzZjZLAAHpOZDEyEQmXdNXzoyrCeoVpeZLyzQlGdQGAPMWEvueSPtmidHqXMNkrPxVaGPcbThxpYUCZmlbSDFEftDbOSlekdbjqzLRdtmkozZWcfUMzhVeePHbUZHddibYeHCKgsWMzCKoXZtFWktUocmmCchjKFxZK", "BXeTXRWxVPKSmQwfdYlxmGrliwGPrNoeMnsgxExLcMgDbPxDSwKyMxzjRnisSBrHswQRxtunOFWXSpKXOCFApoGlPGsptuuDsMTvDPNGsSNWZUBIGQfUXobVeHTioMMAfPwulwHAqEigJMPccftrGOIjkNZtXmuFOuJSMmqaDskgKOCRpTXHgaNAktdAogvbJJwzqRTZIvvqECwHHbmECenGwYbbvkpaGVZDgPPjGbTuiCCZTEGCHExWyVtsvLzNaHfGBGRzYGIJeDTBgdPLaioMRzxxqaEmCVfWadShzIlRMzglwWjTEoemhoCgMOhTYxxiIbRhfhUPoGvZTAkMPyXkaFOBatyazBrNQBvFIozYEvHXxCQrFCwUnbzLfnEGfsItnCCqNmzBnQyuxPFymusQYErlFvdEHdbXsgQLdQXJhFvUAWnMGDwcatpxBihkXsxPWUprYOMmxtofbToILMbhCSQZOhDRxnviElBIMlaPofkDqmQkRZOUCQLQRnlV", "qLNuZoAQjCOGkDphQkLpxxJKtNpSNpgnLLZAJfLNNqOUEDqJXahoJqcfaAIDQBfdFhYgUMAZlraytkYSTDVBVenJMMRCbtweyYTpCOWgijvgJZKSYsGkYDNplsJCkZqmiVQUQZhDsSBHUtYAUsKxENKOQxqYxRIzEDntSccQfoaewijZHuxTsEIZjxRDqsUpAsdRrgDEkAfpXxisIGViHerftEJWqsCtssmaOHVbZFDPmHEfryxjXXmvBNiTpprBxRRLwlYhEpocUwWMEEKpHQZpvwWlZHkNeshHUzgCxPOpTDrbbGLaIdwLFpMgsHExohtDOBVmqzCLuhHOpZYpOxPJcTJsVJovknMPJeVNnOFdazoUaJpGFJBhidkyiZBUKaXjLpTWCkyyjfrJVstEmGSPlupjxijQSjSBcqsIvkjauKbOipngIzzbaWxkupUpnDywNnFEEbcVZOZVIJsdwrNxSUqXDBwgwmtFVRlOZkNfBucOviBBUedWIboobQxy", "wQpFVztApsaFZBACFduNPvJGWDzbyOPGWhgXONUqaDXunJgoyXUBdKnMoohxDedvkqmThvxyTXBxOaWOWltnBNysjcxNutRruWHQSoFpAVqPEQciZJPIaygJLdQVGxEljmvgFKboKYhoZOezpvlveYSUpkvVIKdUSncebpmSkXWFMLxKCAHDNdSVJDjxeMfhDoDoPORqfwHzREJpPJEmeWHBXLEfdaHvNdJqsonpfdOejfnrbyMcWsehRGWuhSGVGCRsOSAixgLdJuApyQXZfTbYjsGFFqEmckNUUuRuVqZKbebipZtioadzOqkVCVSOPVesqfXzMJMvPfGoVtioFpBIWnqXypbQCieQKktNYsSmWwTAyaGDcrXDIqBZHnIpKPmuRnCCuXJOOJaiguyKNYXkOvhEAmFALHDkuwtUrtJXStKBXfLtUaclWwLKfwvKaTlUgQuabcvamPpQSTlciImCrEaGDESSvlZQFXpbffrfIfOFoiYoDmsOuioDovcY", "rDRrWPNSjmMDrhlgZNtOhkVJRFnzKgpNsaIAvcRrnGCVmYqiagsTGKzKcikUxYBKHcGygaxRfQdImLyiymWJLujWNbKkgkrEDsFDKXaOxfRDnjVfyefEVMZulpxprAWzxMPvMBSqqgkhtqPwBPyChfVsTvgtzroHvctddswTvBHdknpjKvTHtmXUIjgdcFwoSMDykKOnxvbAQPinacfBxjcgYiouEQDuLaEWIWmxdXLJNOkGPtiFqNvntAwlVqLVQuGSelXSjZLOukSXiMFfDfChXEzASwTAOBiUVHjoCYAfminZogtTHJfWlClpWDYaYJnlinkAJmtbAprOeVUdfsFTxRNeryLKxXaNgDfSYEvuWjfThmzNMIsLewVUDHzPZBjKzhRSYIcPBSxnilKPxsLgEocTMdAKlxXWgXOGsfuuEOXqdvcYXBOjTLvkvxQojpCCjuHSPkstWDesHJWZvPIpqMWHtRyxuZMcIVkZaGQdnefupTbSdmpXOvxUnoCi", "yAyQrLYjJIXApurOZftvkoiNdxQANAkWwsOGzMhWzJgtNriLqBTghMKfQJZQxFwMJrEYkxcVPbVKfEXsjDDtzcSlGgTSoNLeWUjgjtXtgUJWnMAtJnQbRaNYRMYdjSqpnwcfYxAUBYXEWroXMeeRoLYWhmeyDgRSPaoiyEzTjIvsSyhmUroIcXNTvjMlCiByqKvldqPDHrlAstPrfVAOSOlYRJBQDaVvwVGbDDjLnNZflLxXSGdJxwHtGUQKeerUpCgmYKOlyFmFSbBveNPhPioiLNNhrDsxdiopkBmxeyzaasSkDdtHbvmYBWQxbSGFBTYsYnddhSjSvcFrcfCpBQdDpIFcuzuqgaVrIXGVxwHhcBczoKLPGzucPCDXOgTgGpkVKQsTpFtThqGMsaTlFtpHkRqyPOnftAVlCiszRxZYJfoaynuSkzsgDCRkENIGmBbTiWYZhrExCkUtgLqkeFLZbLzlmSHpAKDMDNRKpqCrvdNNRNTLLjvgZqRorPPG", "gjFGRkDNJQqYdwbQkFBHrevDlRFdmFcdlSyZXtzCCSmyLCPQlIGyomAQaGxzCjIhFqSJGRBjWmRoXYoRpNlebPVHLkPHvfoVxyBbVQwSFkxhPJlFHLIziZYSyadCCbDIzQswzTKPEJzgSZwOpAuSJMOTquEnKATEfxKynOOFkQJfdlMPFlnHdfBfbvLVVTFwSLiNGsRBGuEOKUNpqHzisJEgDiZSquXfvXKiXnKMGJEbkqlPACxUDwzYhylwhngxNuDuGqWPzmXqiYbatCVNXnDVhNQDQYHtJkKvOIdXAacoPhHzYHIUphxPcEyjoQBkDufXOrEFixuWPyoqdbgAHDCRuXoWUUSNqNMyTDkCkHKbocapxbWuXpcshaIRQWBbzmzczwdLOLFMDShYoaKQPlCGMesPJullnFDGxwGocIrTHFOOuLwqgzdHbkYVyPJfMNYZQZIdnIKvESCTxENHrIAtylgKUbrjPGaapITdFuUtADoFumpbYrWxOFWtqlYH", "ZvamdhDdRVWqSGOAWCHoxrXeJyscGbcUsdLvEkQPYpfjeJqWLHDLEJfFjWDCZsQowXnqYgxRwZhLRCbXErCJyLJXHopUtJepbPctuIViagbTokDuFyQyrVNfWhlhsykCpKDERDKsBDIBEnVWszjOwPvrVPhhDfcTFMmyReAidLFKQpPEOiPoEnvyHylIDrMWKVDbDzZPXaomazZmIwacsNfBHEjEfIZjqsvuJcWdTYhwLQKvWtopHjsBgjIkDBnYYgtfKavTyLJFfcRgwzfwzxEigddAbsdkpJSpyyeXFtqJWohNuGyGFNziRXhThJDUOecSKVJCvPKInHERPQuNkJghVhymsJilwXBqmprpzJyjMQdLXyCBjCMilRaGRCQzJhHkiYOyvvxYWJwtnafjxssUUmqPUlKOaLJUNgYEFuoZayfzVMarOuwtmwXQHyqKPtdzPiFfrfGTgQMeVvJypziunDIVuVEiPyNBDxVJAPxkbPuKoQgggpUxgOMMMIhU", "nueaCtAXbqrFtFlHZPUOKrExWcTHcYyLTkpuCWiiYcglkcxOpvRDcxWfQnqHjirjfAbYsWOZnXNCgaAbOUpDLoRUBkAYxwcqcHUKXZCPmnTSxVbxLYYAvLZosaQyRlpEwsftTkzdKrAhHSjfyVxxbOnOzpvtiUJWxpIGDRyOueuMPmrfRmwcivnAPSgIRIAdDhJyZLgzyIVgtkPeUipLqZrvFKNOTiZxqXGNtvdbHDzmNwSqlRUTvMaULAzorCYJFdsbGVeTfqlxXMHZMPjueNeGzBxtvWATRYrkdFEYHALNrdeeeBkvRnZysXmRVGsxLLjyJGIaUvreflyGvXvWxKciOazCTMCHzTpaGUpbddLmNqJYTxHHwqZelxBhbEblwFNVNVlzzoaZQDTkLLSHxiQrfeIDkEelKMEojdGFbkhFwSDLtorTITCLCSdqyVIJXlCyxdNhyXPRgYognkvcXiTVhhVqMwGSOZjweufzMUIJhVbhiVfclIymZwCJvzbb", "dTAXDEXPmWoDICSXKIdYaLopYrLaCNgSKyVcLznGQVykgEPBlAoviKcCuKIZEqmejgcxmWwRcQTPwZgNZwgxEfoRwYDOxGWrjTrWoYcFtmXmtftvwRmVOrgfGctHCZxIWOlrsdcwIdTSFTTNwZRKlZhClxvlexsNKuZmdsZadZNRLSBlChBDXTrcmFIMECwyFhplcnzXwASEMnUWHXDPVkkdhsRwWwPeUbGxRqckgjPuZDyWIgJEYiayadWEpgolvivzccnZDGkvzHhfuJrQMAQhAjHqflZKkOOkvLyniERfMWEKWBAvTtyWPzmiJXvuTRwscABpopSAZFAfGZBTVbvIvxpJYXhdRVmYYJYVXBBGzwrHshwwRGmcqWGvkamOAMTWVslfmNbWLXrvHmzAuOyzHQDHbcSPxajVTRaigoesPSiFfNQZbnNHbnSrkYdKukFeZosIzIiqrfRHnCqLDMAVOzwjFXrdGuwKqpRvAsHKRMYKqrgrYMoFcIgVtlUP", "kyLVAOtDohLEGhnkctaNcstDLtmhJlKqTntUGGIaPjQGGGnbABtiZkhhBKAroWXIDrrCQtqoiXpkpwxKwteHHAvThEHtYTQVqwoveqNkvuQiZFvPQtmKeMbYuajsEZkhYYunxwaDiCQKXKsrDHZBUMPfThkexYyUiBICsDgaWlFhtwabrXeXXZLfLtgrWGEuqZiXYeDeyWqiNorgKgSwHATwlPRJdCFqelmWslrzTlPIfwPAhkgLhaxDtsQsHGpuYYgehSPDEwjDRohiqeybfkgXHubzTTACJuQQiiauWRQBVbUxqnVmBWXemEzxProvpdDUgchIDTwnlKvgfKGRQelVReceNKUpwfDdGWkoDufbzEZwtALOnUrVGPAqzxomikoXTFkUTmwKgnBVIVYRHfKgARcVImLVnvrKldumICudDHHwqwgSfEyPlfohhxfyZGhOBUtkfpmwhUIXEOtkRxzhWWDDgXsTvyIXUXnYcXFVdnBYXzNTmNkvVcMAqfEr", "UZxYsNwRIMPubwwduocQHRuawpyQHrSgfpZxNqlIDytKTJwTIesrTUEqewsaXIISirCdrpHwkkakoYMFxSPYYeqmKRgMsDmkTMdHMKTPzbUUPoFIRFpzHzbxdZPhjkYOyKHUsjZtZgViuzYIzUeZpxLhXFoxMGmPIWECoQiXwSZUydCoRjmhBjxwMKxoXZirigxgFablzkfDDhtVNsWOTHhrqYgOtTQExwtIDBpViFoUlctnXwnDRUKeWGyHHMGLpyqqKgbMdYbYqanjUGCRSdgbnssHiLioxtYFnjuJzycrXYjHQebJicLzhtqHYhTmnrGVIrfDTAQfBBKxMHivuMdUpUJTTjKZjsNHZOztmRSHKFgJLHkNWDgVVPReejQRmYFPyMfVMBWBdhSMTgsHnLhIGkhoFJnqpcMTPVkXsWFcWgYuXxrhhUOPzaSoxYJsxgxONfERVBRqRqTMQHVuKywswOWtzQWrmTactJBucwgsSYXNwLjBZLNPGyZsdSVk", "rlIYdjsSzmnmCMbijLWcesdfydPbNypRLeoAbCBYuRApzopaykEJhBfmsASCdapVdClOrhzPLifgSHufesXvAIJVNMzgxolazXVDaPdphrkNcbjylTBAQDxXZICLSsTtuQHSgzxQAAvoMhTImNYtpbRFDTbfUGFakWWaammXknRaeWeRolpKmsRaEEbgYeqFSqiaWTrTlElGFRwFqNUsmGJYTaflOckYhHIzpzuMUEWCgvMQlLQHBCZzJmpxmbQzAhTMOIqUJDOewOrhPJZerlWQtfpxsndBoZaXFjiKFNJnnLHwTOjPVLfvjVpGWMoGCJBshgcLntoEODeNzWzwPiPTfquILnrQznPdwBqevuxDhnKzIkbsLjSrhzHHxWSvrVfYTBYxrfeQocranTpJzIjyasKhVqXRatAGMmOPxyBfXJRrxxsAPSZXCyOsYyFXNrtYhiRkIrwzBJGYCSlHWaDWSrvzvxcWgUOZYNaDJgZjdmPvrKJnsxlIOMXMfNiG", "PCVKPBdZUCfUUgKypYNRthMgNMVfldbnCkURYipbIJWkQxzoCGxiFWZuwBqsUEFPjkVtdsJFkWUOAjeeuIrhAjmnxuIYVlXnTenVronpXByNTwhnCxhhswnzglpiIlLvXsuYldPDSyVNyOjaQToIctUljjKaZHYCXlUePXJRuIRnqEllsjdDwBYOtGBcSSqhKvAooBQUhnAKSUYYZskmJshictLhJIYaGtWgOFSYMSfgCfBaxfmqBmPpXMqMfeKuOHyhxbXMWzAfEqmWxwWhEYyLnCLgejiomrAIKyyPXIaoNbWIXxRUlMSBpLCpbnOphOoAOXbjLeUoyamvSDDhGjggqlPqCsvFWnxNfixgnfpuetxeXBCVLulIplCzJNACTLidqqnWCyjAgKoTiGqycsdhcuecsOxFdQKzcagPkMldDfRdeVZdxBZWiKBnCxxPUoIxHIUDvxQmafRurmuemgOmXgSYtwWeYuYDFPMdEggNXPsBXDubrGpFgdToeqFf", "XVhppLghGXfswibmOrkRkPwAaLoMRkSuNIGNfwUrhWeODtrVxJIoLyDYkmYQfJwwWRBcxNkOXLKHtqtbzWiQRKAeRPTEjhqxauqyHQXPMZqUBIYtMRgeWhTyDchJgCCDWMQjqFwzmCHitBKjyOpYKIDuJFFqwRtlsgglxyNbTjwAOIMlNQMOmBhuxBuqqGLfnAZqZXVOeYRyKydeHiqMFILcgATmbjwGRbSzUtMPwpSIIGBTaeTRoRuOLJvESWMIljfHncOfCUzyDlJJuNuqjsinGxVrLnZQubtThNcQeLaKVWtLvwDoAvVxUVmJjNQtzEAqPGvGdzZpsoqGEbAYkDAkgrDmfmIsBWwblLLqsByTBuaUPTBHFJCGbgNsBtaDwUihljJyDBOzjdimuEMNQuvoelcwAZMJTvbaTCCOtGvmtJYTamLbdhjtfMZDixGrnhYDmvdmbujAQXMICKHpBhJZePjDLCxestbNFvIfKJgbhZdpFnVWCwlYFYudjbzl", "tIQiTlXrVUsTlOFlwhiSXRyuUCPhFlZZyIKdaNGsMDZoScnpUppgDSbPgENwczjjEEryRxBkiViTDNqgEmvPWEGXMkyXXQHdQESvMSTasxBrGeSQZGPoreptFUdaBPvZdemMJThPMgMnjIaylMrSLCkDVSzomXlKwVFmnoiUbZhekdNLjnGushiqFXgWfdGfjdSfXlHNBuYmoWwUEQLGUjFnztLoLLidIuHCbAqRZupODIIkFsWFZEvEdjJScvhSmjPPiooYPUSnaObFPUPhnoSiybNumnNdiwGoHmsaJUKTWdONuDKBukEuSfpCoDGfRHxIwCZczQjLawtVHUtacansmcEkwPUBPDpOuepNlQooeUQiKNlwLbnaFNLtSypCUXHKYvJbrSgDgBZcDRuerqwbIwgBOmKMjhsZotSQdwuiUndvjLOeHEysxAkPNNvJkdExTzlBLPjeKpdcFwdLiEVsVqPQxxQVyYBtfYNPkLpduDvdbWXUlDAdoQCYudgL", "ewBVvEPoFQzqgDaKFKpLqatbheMzjhyEObKShqJtxcuvWqXRuREojqLceqHygJsmfcMsyVRhPzHCAHpPNgtkuLrdZrKEvVuEejHpCqGSvJTLDmlwQPduicswOxTerVetPQMmDyhUmKgTNsasElyEHnWHxbeVdcKOZczBVcNqhPviEyZIzTCYbbCsdBtBSbxKdQtRtaOernKDmSqpAgcsiLzBtUSSQxEfOYKaIMzZepiEbfHsvKFtlzeDLSLHGaOGdoKYsQyEZKIMrtiMuJgYLZZXImDaisHlbzRKvEFNSKyHlYmfNjUqMhuyhqjCMRsUfOLcMPFbJWRZQLPNHOQkWjKPRoemlhjqJdJoqewVxfwWiJQLXlpOldpKMVxvplgdbpOGEFJjLaeYjqemiKCUOqxHEhKKqegpdqNhUBxQnuylRSHerocZZuIxdxzOyUkPOZjZTahEPQPNMyDTLaYaQqLTmFdJlvBtFZeRMCREqxIYdVZMrxSYbkzVBEKvvKrb"],"c_array_datetime":["2000-11-07 11:26:10", "2017-04-06 18:06:01", "2008-02-08 20:28:59", "2013-11-08 05:31:00", "2007-12-10 21:13:30", "2000-11-15 21:43:22", "2014-02-26 02:58:58", "2012-05-21 12:38:49", "2009-03-11 08:59:19", "2009-05-19 05:46:41", "2005-12-04 17:05:14", "2013-07-28 10:13:56", "2018-01-15 06:18:09", "2008-11-24 00:49:15", "2004-08-02 05:03:32", "2003-08-15 02:04:41", "2017-03-06 11:35:16", "2000-11-28 08:17:01", "2016-12-20 14:38:17", "2014-01-26 22:53:14", "2014-09-14 02:27:24", "2014-10-22 02:20:03", "2014-02-09 20:03:02", "2002-08-18 02:05:01", "2003-09-06 21:58:28"],"c_map_tinyint":{"c_map_tinyint_1":100, "c_map_tinyint_2":66, "c_map_tinyint_3":-25, "c_map_tinyint_4":-110, "c_map_tinyint_5":-38, "c_map_tinyint_6":-89, "c_map_tinyint_7":-88, "c_map_tinyint_8":-127, "c_map_tinyint_9":-94, "c_map_tinyint_10":-1},"c_map_bigint":{"c_map_bigint_1":6727297195674216044, "c_map_bigint_2":-2094079677390698876, "c_map_bigint_3":2271422759974163750, "c_map_bigint_4":2556942103596122934, "c_map_bigint_5":-9072204411692487375, "c_map_bigint_6":-4672756891634485524, "c_map_bigint_7":8037788838849297368, "c_map_bigint_8":5380953860448617100, "c_map_bigint_9":-5061019882098897337, "c_map_bigint_10":1931657444955398125},"c_map_float":{"c_map_float_1":79.23677, "c_map_float_2":87.584175, "c_map_float_3":64.858536, "c_map_float_4":25.010843, "c_map_float_5":93.1864, "c_map_float_6":53.095364, "c_map_float_7":82.34454, "c_map_float_8":94.87887, "c_map_float_9":4.4998574, "c_map_float_10":21.267841},"c_array_int":[-737172239, -172337794, 1503583540, -957259, 348890606, -1941910897, -531142000, 31376675, -1436110588, -166911317, 2094638109, -1374418417, -231019555, -217199062, 1362908916, -162121848, 33748890, -505684807, 172439382, 280212266, 844661849, 2091621258, 652048485, 674864329, 474463604],"c_array_double":[32.97447827795302, 87.16815923500866, 94.93379316678362, 45.01942062011792, 92.91369089798627, 82.79864365574312, 24.63953824530026, 91.55773857433054, 93.27101387946108, 4.335349437540954, 54.89050416493972, 5.577315721552983, 17.114504401647, 85.57488662580849, 81.67177819342844, 100.79638517289376, 48.84026714350503, 99.65021735926285, 41.08614633943883, 66.9433370651964, 15.849700677250153, 22.9758983500597, 71.40644738641603, 39.81861331702821, 41.48098365133608],"c_array_date":["2004-11-10", "2004-10-06", "2001-06-10", "2003-10-04", "2001-03-05", "2007-01-06", "2014-09-02", "2014-10-03", "2012-09-01", "2017-05-07", "2013-10-27", "2009-02-15", "2000-02-24", "2002-08-12", "2017-01-05", "2009-07-01", "2018-10-10", "2007-06-06", "2012-06-16", "2003-02-03", "2006-01-25", "2005-12-27", "2016-11-26", "2013-04-13", "2001-04-08"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_int":-2008081035,"c_ipv6":"ad5e:81d3:e506:f1c3:7b40:14be:10d1:7835","c_json":{"futuretime":"2024-08-30T12:01:40.23816+08:00"} }','{ "c_bigint":-1465730435553652937,"c_largeint":1858245934462107414,"c_ipv4":"213.91.248.135","c_array_string":["wkxiWqzPLMNKMnVcQiNzCnFDtYxeXWulvskpUTzYKWWXSkYCdOsJoRbGEMthFEEZUOFORAVRRpeEFEuZjGZvenxHxLtVCBnENflitEEEGLjMLSctrFnBHnNxTGjSoxceztipXmUfIBPbfkKgxukxByUYZuvqsiTEVTUSJwftKMVfTIqbElUmogGHbMXPkHNarNYQEAcqXbzYAXFsnxqeKkTJJUOXqdzgVTZubowZpLALQNrKfYGOZbcYoKTMCQalRjbNZLOXeEhoFSUrwSIWGJplNmisnULcTigClmKrLQAnKNbdUqwYzSDvqEaDoCBRXcjIykntMKLOBpflPfDkICNJUxGDlkfMZMBBrIgscEVzlhYaTzgOzfssuumDaCrEzhcFbtiWRNubIwOMMupMgffsrETQdNuVDDyBCrHdXqMGpChlhxJDLfzoOjFpSkAFPkGLZLbisliNWibUTREMZWOpjgbsHOnyZIHyVIFdgXJBKRsRYIEerBhUpwGEhLMx", "HMTEUjqLDekZHbGlObRdsTkpCYaRysMlsDpPMOLdSKLlbjJXVCMGXTXZZrijnKSnmvGGMLfimaulAccluWySnXClFXZWYcVNEiCkLtSPjnwSMsOIcWtSSWpsINLqWZvfwwSdoNFpmNWngeRfMwbNMxqCwWEzUvQYDpIWqFAUAwGWvBVdPLmmBIvJSjvUvAXbqPtpxFJxvlpIUjDNOYeckxpRFRNnuYBKBiNwUhcvvhLFhKDqLfrlUlJQWWbnBauDoTyYtyiOZKeMLDAahkRXpjHmprPGfUqxEIAlPULOsUOlnVAXFRdsEGsfVBiRDFxBtRkObssACatymSMtGxqgvNwbsdihfdHyYzMbAqQKwYerSTQnkocmFarHxiTnuxNrbpQegJnQCEzZwoIedzcYxDyNyewajUUiIREAMExYSorMOIfdEOluzdepARKuxZfxaNjmWnOXaQGwmswphgqIZfCehnXhcIVmNTpqVquQEUzoFDmbwKzgPloBXyWayGAj", "GQFCnQdsiblNfcUIUZctvjQcQQWMzuzGvLregjauOABlBQInhFNKfUjnJhfLxiulykZWkCPToyuwOnYcsKxlQmDMfWdwYxlUCdhSOJjlQEmPbrLQGSDHPevuHNyHWhVFGSxiNooaSnIJAPXmuDwGoPacPMmMtKfptdpzbfAtfhdeHRCqtqjGvaKBDXuClEQuDoLEbkFGbkqEXKHQAvtjXEtLTEyMlKyUDGUwpYSWfYUDSBNbKNgFgfWknbiFsVCvfzqlRLqPPdPoRztnIjNHSPSrCLvtgYSSmwYUNuXTPQwCqQelivTvJonZpgBpVeusrPpbBreNeeOLEWAMUpZKuacpJunLGAxfWYOQDHSnhBeAvvrQhZWBOVZuboFVHpvojpJdUBEJYjTokUZnLeqMFBZbkycaywROoobiXWwnRvkWLanrwFvGyVpWXokpcPIvWbijXAeSvoqGpEPRQksWsRRvNAeQRgDiemWPdDsXpGrFiNpPJUcmLxTkjOtImmqQ", "MCnMQrVlvSUxFTcBStFuuntyDPVHjlGhdCGMqLSUsPUyZsaYNPMZYaSJKTKKKhkEHCtpDFaDFIrmPrUlqJvawWKrKkLSAqqyOSWVHWjKlxdbQBAFQRshWJgIcWQJIPGvLGhZfNoPAzMbyugDfvkVfGZSUnquOnnBjDFJOwijddvAYoKxdMwUMfnGcxdRDdbTyXEztqDxFlmXZFTTFoWxSORUqvnHZuBNezmFgrekDyOTVfsxUMvZyeVIwnCgBayAAnJNbIhCbScaUQNZWdVAFodVaNNbIYctAIGiSvhYkuQJRCMCDNPqNLshSnDNDNWAVqhhmUZoxabKMUFaDIrygxtodbsDJHNBbNvPBDUKDLgmnQFnAQnxwJtegQAbMoXcUNpQIGgrCmhoKFTMgBQIhQwnZAfoVIdtKBXgUqShAnBfAavGYIsXhlTscPgdCCgLIhCSADNqCQNqrNWaFMcHwMLpzGCbdfQTcFokBFlXvYFqJCvKIeNQtQobkSTUqExK", "lVfMqVQAGLhVanNJUBCFgwaIZLsJTBPrnajHCVVJEmGgWEALDixbBIACYOnxIuXjcJuUAqWQNhAchxXnPDwMUPODkedICHitTAaZFRbrAPeGKSiqPxIckSuOtJkTDsOximogOUULPbHEVcqpZEqmMciBxiAgTnUsWEaWVFgTvJlyjPxEmVFcJKZfvTClunLhSfsVnmQbZtNkTSwuxhYvZkMmaayhbFbwDdJXiISwnGqPWhgPGQEiunlAZDqFAZtbrrJjzoaqMyLTpXmgcDiUFfQythuNWczOxUhRULipvTrSivjnqgnbOSrkcfEdiAgapgcJqZJUgbOcozIkqtjGgJauZnPLoCTroAvHGQlyyijbEyKIrzKucChXroOhHJXinqzLVwBpxRKtINNBPtsdDoAAkgeIGbuSAymGzyddGEgNiqTTJsABZoLwtOvzNiUAklhLpFEWxToWCGBvkVEbWjdRjKmvIBISisBXRUuKpLVnYIBdBbYZuOXrizmqvMxY", "OupAqxDijlHEnYdoNrlrsZoDpMPlHVvuyLfuUWpkVZSqQrtivbfawvHEqNxIKlZbAlzaRbwOJBOlvXXpkfkTChfJvhsiaKTNdxTCKRIqvtQkWZUhggrKEhJDEGxScoFEhaBHeuIejlFRnVlHpMTTbNjsvsTowgRqhgfcporltjjmcbWlppwvULOKHNVltxxCPdcfWCSIhaMBabiHEhhwnrjyqsDOaEqDrsAwKwbZcmlaepvjXtsjtQxkKiumCyQzAXXygnoFPHyEdyeOrTBBlfArWhWAqfhChvwYJVbbxAGbwBvqBemlNuGxABrcNoeQCnudmLoMngWBYiUXHggAzHzwSTVCwlIbRkynKJguXiHogcVJbhmhedwrddkSgDtXnbvoYqXbtJRPKVgKOcOOZsLauzlfcMyutBREiNdmfxrLSbozJFKESNelAuPFxbydSOzfkpmVcgckyJHUoQxHrtEpdJmMzBrLNyruGsxMqsbzMQAuUikiNVuApNGsoQno", "fSZRfowObqhuDiEdSwTErvjyvfBFpxMNfAIMnGYFwAAFOWkBnriTZUbEjBVLQnIMSJKSzibgfwYahJOBiUQMeCjLBsxgbsmlZzMSGhTamZVbCvBFTdysmGhHQnpixeTejLgUScYTABPKQQXbPmvpnpkAvawkYNhmACvGJhcEceoxFpcRyiYCJGiFKFEdYWqtwoUuYemzNzWkiMpcpbeYQCSocgYkeOMDHftlgJdbAQJughGBripErjEsMkOnpibYoNDqxTRCHiKsVoZuYipbgxmnAmxHsmwKEokNUlYHxMzAReUzyhqhaqoRBImCSuklDzPFRYLzIIGUtaQbVgUwyFmGjTxaHtIcBbYgPrByHvTVOGpNmupzEkMubIMLgtOrkFfdQtBcKUIzCjGYjiqAUBmcMNtoVzfmKnTaNJdmKJNfpxxoPUguqDoxnbjSfcrjsJZoRaKupfsLeXqenrydPoMkZwXhcMvOtvbeGJTvjHZSwtVzIwFjuOOLEmeIZthS", "nOEoLNiiXxSYJAxRoQvVAtAMROHtGoNHeqRsuerLEFYzvzolisQSMYyhPmsCUaXPjXughXWPzYfzEaHrVahsMoHIiDmDccwunNOATDCCsFeRKqUFflzNhVGUQlCoSavHUsiIRAMbnQyjIxjrOMPVrxeKGmsgltPyDSeIYWhlfVrCtMwYzRgjMtFqYKeAeWIzBPQwasSsFDDxRNmIvBSAniWDykZqnDJmPcJtHLpkUbyKUwLjVaOxGZRtgdsoKtGQoLtedojvWZgBOQdfKmViWTDphoedlbLjHjFtsjThfxoGhYKyRFEwFetoVnVAbKlijuzinoTZUDGhhQjFblmYaYaWVZVQlyMMGALDEvNSxgLsOsgWOlNDzCDyMMkkilyeqEWreojRYXqSvKvbnwnqjuJMuKVoUdfoscIHXXcOEFSoOTVPrJsASiiAozcxMaZZhXvpClaKoGAvqxrAAQOhAySGAebURmrzUkXhUEfNuyinUpHdYNoAsgwtNMJIJsiV", "sGjGhsASAKCKoUkQKxqwFKWnlpvbdLvpWhxaDzsRMkMzVmYmwcpmXqnPyaoKpbUrMolAgHlBPpGMVUCfSfwiwRkJipByyUQNOlsLMssWHuZLeudWGXpynyfZoZVPpuXBNUhiGkDYZRQYvoWScJQgwYpzIrVUjlUwZSmhsySXwDngxZfRlwYtCzFAyyfrGDWOgvegOIBwwooYscTtkfCyrcaCEqVMRCWWhSrteKRjBQfUcmSRVEbSPMpytZMEvjHtEtwcmSzCnGqNPUBLOHocyjHaUooEnQrxFNdgdvFJrSaGxtMHZQldfdeLmtmbbuquVVwQudYljKkAKQyguVryZcUepWPjAxswUTRJlfnueQfRJXhlNNVebJPcfIbkCVHtSVTlcVjwHVXVhgLxWwfCJPcFOQFiktognYkhWhjMmtevwmNeRRCphUuawDwGvQUaOQHCEzWUWtEbBbneDCskuPNGGEvxNnNLFCnHDLmivwYCaaWSnANPBFqypjWSoFXf", "ErsvWAmDFEgXPoFxnfBLSbwHlXyDfkNKkxxJeCzzbKcgEOCXlLYOLxeevKqzGkopWVBzSmLLUFkoaakqQtgpHwtiGsOpLfWXsulOHGcbauQsniBQMuIcQVIJxMaJVtuKdesWHBowpuwnCZeQAqGzrVGuaFLipxBfFjsajNfITZyfhOTyDlkZTBXAuQvdlXlIgDIGpedbebGDTkmGRaHWReZFARCbSfKzHTdNtpzSFbqZTiKElIUUgeCOlFceHlrooEAHKXTNigtadglocHbwBYEwdSsLAWuvkVCXKmqieJNXPNPwDLpaYopzUODwPZGFQZcLZzIwnhYgBhiQSSCXZGqwcruVwMBGJNupeQWgDfNnfhjUuPsnSGAAMXlClKlzOeUalugWPpbvAOBYHCOCjbByeWAcfHvTBrFbmhKKRYzPKmGMQWtoeSzKGAybfZjgJUOIUcpeIXqpdCLJCuTzJqRzSDVfBRSwRKEfvqIEzTwNCpsDxNkjepqGcZCksREa", "RcukNhRgYARUaFEfOiCLOLlPuxGupSadEwpDeQcBqfdAULioUYQtPnQgqFDcRaiBVrGImdDsYztmQEZBkMamWbsrgbIBeWblzNuqhQbLuEECKSzcNtVpwKiSjodLdmiUeefEyvXGtTrTSZuDTphRptsfvvkUKRvFAcGOAqrKchQECUIMSPdVpIshlsNJbmtGaCoPFjTcBGIFfmJoXGCbTOFHkTMWRnXJJjBGTwYbSztrjpuPghNFnocMopAyQsXyzgmVWxuBXfuyjRmbpdrPMajHUvsBBiCfwkVeCDdrlQyoLTjNyKtmllCophiRtPdLcbkTVXKmDxyxXDlUKnLadXFWDpGbrjDjrdfyGpyJQbBQWCjMkrUbsqQtndcIktVJJaUykRcZABwDVOJNKoEvrIAoPmapCdcswrpNNCxsdQdgrkIJlgraGxRCmbUNJndbpxSBwAjNlKhfqfYbcPHXLtwxGZBzTJOPyaxBthXECtwGjfLWdZqOueCemEuBLmqL", "exoeiAaGmyESiAnfObAOvafWSTpECdUvKXmkocZUIHSaQrVWOHnvjqSorjDSPqkDsoTkqNpefGKLvGttAWuKRdMmLactpwOCGUwYKVjKDQxuhADDEZpybSklhbruPxJzqhPUYyskWRSYDSDkMVrUgtzsWpumJHcVOqLyAeFEzeYgtuxMlxClIvJZNtAVbzXFsJhVdWEESEPMDLzQbjVNmoxGZLsivNHOHwSXoXukynuJqyRwCWLTLfrmksMAWMiPfmpHmofFxwLMfhXhiMdRgaIEnZBEzSVrsgJRYlqlPPsoGGwRwFzuRkwDAAYOuetqKoCPfYOTiSaPTuPhlxIjpYquCneUgaUjpGvycEovDYvEiQATPyAnCbdTpLvNjlrPUYpnQDoZMEWPOLDcDqEsnLiOFlNuhtmVauOfiESUgBhcnEJmhTvLahvhUWUlviEMosnLoWWbaKeClcuhPzTuhKSowQbvtoxEBBixMMlTDeIrttPhHdkSFRZuRwIRqHTJ", "isELZgcOFuAhfdlrNLBmPmiKkwrTnKEgnjKlZBJhXBXPysmhPQQtKTGYYxyAhGVClqwlLfOrhmLlGzdRkFjQjMzPoTifaMqkckAIxWBZQZlVuKXoFVQSjtcqjXHOFLdiXgLiVyvasNIkzgydbkTPHBYabsYhGkqjPlBslOSfQPouwnbmttnBlRALosqkNlFeabRdQGhOrbCpbwuYDaWOGPiEtgFZjSXbqgJZWvANDFtPineDXUaZcdPKJLfDiLETGcTDfsIswGSgJxvTvFBhtcAxLRzwRDMZiIYvFGmQuBmuaTZsFsKASSQdNrovBpHcYWSxdncLPFHhegqcvNwNBIUOdhlrDlXZZTnESmeoFacDAbwyzeCPAccgvYUIkrMpWuQIfpwmvOSxcqDugqJDQMWBMfpkWekSnYUGsJMEmATtumCxCNQkBEEmTpiOWODlRVmXGLPWLgjkVHpOijgNaFIDyNutmACtMnSoTzjVgCxtwuEBuGHxraOMPWtFmSmC", "FBWobuYcrhMFLEFcBCVQegFHSzphTNEwCeorqOWpSBBPFCXWdMKbEPPKWZJjoBRQHmrDUuzTKdHasvPiWwuDWuBeNmJhohsgPBhdiQdzybQrcWttkNgDqSnnTrxiGthXMRJKOAsIFRMZFpElmrTSzDXRhLtIvrVCxhKSPQWonwMyQkHQwpZvzGgSipFXcxCvJyTqkqwIBAAERqckghqDPqjPuccLflfBTHkpzWtYagkrZctEjNvMdCosSYuGxkDpSoFTXNZUAKrdHEWFsSwHxslgTYzyAdGxtzBLZuacLwzzaYVegLOADTAzpHTJYKoFhlzEEaPdGoTqUHTCxSArLQDTxQsUZZaBHOnrNImGXVNqeWCcBGFlCJxNirsFNpIgCfcrhisSAkxRKcsxUYFuNlpuoApbbLUzoDtWctLGNiITSLASkbQaeBoSGFTjvFxOIFQPbdHyNPCTWGCWrsHWGvPEhKBlBABLSlpPUEhAXznxDGZeEeLfLzthvwjOWAwq", "ZcLMlOxOTSlbcLkkakquBcIAiRLTXVwytJDCJYEbvBuZTwjtDdSAUrafjADukjjPodKNnSzGXgTrLExXnZWuZzzekdHegMQoyuEDLGHbzQoESxvRggDbTWOhEfgawyIOXoNuHbdcGyPLNMdiyzIzTyjaoHEFVAOuMHaMYPOiPSIUdrPboZlKnIfLDlwFkVravizfLItWxuuAFgnywsZMuqWFMHHydLMVsJQELLnlxSXRSbKuJreYkOABgPnXGEPKpEvIXwGrWNHuJXsMQEnMujjulNVElfTpwrVAlKlbzSWQsNZnkzgtgFFJJZIaTQxfNsdbNdFrYtVuMgTrUleFUeqRAxOWUcThYNKHfvjWgjcIBpbZWeNkbOadWdrBFLZcNnCwpKwUvrcBmgXaLaHfPYGaCLdBhyLzTIORhtSEGLdxIXdHnclrheYoLxFbiUegnSLbUyQHXAaPBsvxfTJdkQlGSOUPxgUsgsvDYxKEczJBduMMuczJTFgncnArvWuX", "njFwQAxnBBfAmVSmGsJKUflkvTtXadGZjikbwgYgLiCnhOLGQMfFDCTbQUWKqxiUNKBgEkoeqzIvRozRlniYmLxOPXzDkmEanSnWachFgEhLTgdsQdzxhMKPGqSpJAfkXOAnuuJfPzenPyRwkOHpCZHshvRMgkQfdlMCwIDSlXJUIabvGYKKDApooEBZrtoNvxBJMpwNVyabmazkUjsRnOfARewlfqEgSXVndeuSRKCmVXRAuEccqbffciNzxmQLOzGDKtBUaODmloVgrftVQYkLQQzeOhusUPCxGmpyIEFKgJbXDjhEEjXLtDksyozIZDRxbNauoDaLNgHKmddNaqkXkEfPpyxGizYCqdBClqpOuSGTlQoOAnlEvwGxRuPTVNCgytJAvtWrdKIudtGfmyFLkBORPGjKhNjHXMUrDQAyrehyDezPeIrjuCFFfGtgFAAuLSvqkapXTUSJYZfehSePpigzGjktfSbOFSVmfxFZOuOvywLscHoXEuwAEtAL", "CMxbHxVVheNgTpqRBBuUfZtDXunQDGgGkPZAeyOMVXJdYiLzZpYsFvpZQQERfGhEHrxzhiXoyUcNCGOVRZIuBJiflDmXfxjKbHntlkcPwiiytRudbRRfPlaWYeFdVTNritSjgHYVDARvwFmNymQoBNBuccQMjOINojrpzZpohZLNspWaiPWjEGLQwIDQMzppglGHdIEZxGXPOMEXjvVOXelkkulBEoPJBjMuYTWKVgpoCSzRBEigHCInosiLPbZAwMMpxnEVhZvTmpHEMPiFKnUrvkmgiQFxGfusVjzqgNxIuvHhnFzPmNQSdYwhXuiREwcMCRaBDppqmedIacLmuEHXGoDrzJjMaeTUTrXjcBrbtPCtYGuinWZThoJUZZYSblcEEyFQZXEehPoykyaUosHmJkVWvdtZRGpsrBgslvsWkuvCQyNshqXkiQxcxCodJwzLVlzgcxlNrqtvrsZEXQoqyqwzdmwniQlkKBXEWDWmYawbZHhbiRZbGPVzNvRe", "hkwxpVwswHjAryeCwDWdNekpniOwzTxQrFAqgvgsLqtifaWmosRsoQMmWrXpbPzeswDusIRsbIkmikMUlQsgnBgiuQukcwicBUCuaGXGKEsesWaECJMRJFnUFlFqNCwjTPVgZUWZyneRISkISJEsfcgSHBnnirADeLclMxyQxKvXwGsylbzWnZVYGDKPLJDFhLlVxLAwUyaqNvOFAswhVPaxtyJkuRtOBpouSfjPSgnuHOYUGBcFhTKGCShtagFXnyqHRiWPOSsDwzFsdRmJnVKipskZORyqhVtpJosXCBBHNojnNoDCnZTPVQecLJayZlyHrlsTfomxcxJApeeqppmqjmoinucKUyciowmpXQZTufLiyKlwBssOLhBgIRauMtsFXQgPdwBaVVZPXUsPPfRFIaEjorxBhZYuMeqDYEIthkIgMjsdVZMpnFEPgYdCLFNasoIFLcwtxZGvYQDiHloHKjNOUxNLVzAfRDzoWTzMnFvUqiJqDmHSasUOWNga", "wtDcQUUUqShJMRhVHvspkGyvxdfhmgVDZfxMHIPUJsuAYkoRDZsjGzoemHwrAhTGPhXlrTGpEBfrFHbRWlSVeZOVgYEiIFJOWVgJUrfaiGWkBoXsWAFbUaYSMUuBgYoFovrdAVetXDkANvnUehwXqNRxpiyHgZazIfATxqOAMZrfNrngAZuQqlPGGIrxIcJUcVntoUUFjwnLSCaAgmpEmBvHIXQHheLFZHNLecqTZmyVGWGrVMNHEcznnVOYrchblZZvdQckGqJJLxNdKQEYPYEFySMYuBMmhdvTlzuErOZYCTzVIzmcUPIyIcxNMeNpytTYvmgDRWZPqSfbOOuDxUwYJYaBWrHCBdNlskOiPQFFgnTzuTLpmJcYHTjvQqHSsXnmSIBoaCnCsMoOkXlAJItmPAuzMRwCmjRKJQtrSqjGWqPJmWLccTNFsACNCxijjDskYBUxPeuBySiHRQsSyPbFUwqTkXrEBuazRkgXQgkAEpbeRavxWeYrUjcsTrUB", "cGEWoVGrrnDatbOlsCxTFHwrWgYCmiXKwVfkwUtkLTxJPmsLghpIiqDFPiqPVQGxQgAixXaffNomLvSEdtJTUszqLFHHuuLFqbEXsmBHKxhqaEyaKtfrfgUYrZRHNZEwItxRMTvPtniLJkbaIpZuBHLAiwmnjNeMvoYKROITnqjLXmqmNqnKDrTeMORRqTAVUedrDsMgGbfTeRtHgniErJulRGFBOXfttWcAEaSdBaMDTNybSzXHXMHXkueGUEjMuwyULhRSwCHYPhKkLbtxRLKwiqDoOXhzggPQmdoUvYbAKHhXcWMjkuPevNTcAquTZTRpSOsPkMGxOOyjioMMCqobmCWptefAgwxXidIBLXbPUJehGDmiidZUGuQCFsEEpDKDBCpqNWdjfqrSHfVDGyMIhDCcgRcXrLmEQbuInSCkrTABANxBJHRviRMUHyvcUOVkRWGGdMhYOUSQdcEzgnbKjDRbpcpNqPZaPvnDBKRRVaTEwtmSMbrpfkPFuluG", "USojdBzAKAmwTXWaTvwywayjBSUgNxCchUmMhLEYKNmQASJdgQDKPvsXyDMadxmkKmBddFRaEARKJtvlYAWbEyhDUcCWuPTQeelCbENHJDUySFnjEacBzYOHSupSEbnebTzzRFoxQxpgdOJHZcjnAhiCmleqcnvzmRylaELmSBCtwbvJAYyaHCItoVjVNdRpBnDBYCZOvBRgbUGpKtqLQYOVpGKfJpvXClabwfbMLDdbiIYdhEZbvfjwltbOsIOoisYTqcBkVOkSXapinjYQmpjwqCYsyFITZuOxcsRaARiPEqpHrFlCbegxXyWstFPXDrMXpqfLRlRjbVBicXnnvktohbNWsoAmgVGWGYjzEENKDhReEjMfKPbzzEvCDNazWgdrSKSzHpBAgQmJhJmTWYKSJAbcPbrrrsVxUoxscAFOrfoPsZNVYMVyMXTLQQORvtzfNYTTpBUQdmmVEUIABjcqlqwuuQpzOVOAHgDtohbLYtDbzpbXTEfPbPiMKbkA", "PWSQpjkcCbkSydHVLecLlJghPfXpfAQIEPiuqElsFYIpIFOfydLKXwwfiKAgiqvOXmiSfXolGdZBJrDefEIVzAjniCphCHOfpNKhyhtYRZxGQQIUuuanOWFZWWOWbiEUkhuhgYTpwadioApanVeXsZNFATEDycjFQWeqfFUqwWuQrFgVYlIyqVfPHVYRvXutjWhZBUTxpasRkFqBukvEfvLOcBfGiWLreiPrVLvGzhgJOdUfuWYdLkxhaBPrYboCUbJMJszxgwEdBDAYbyZMqjQEZHOSufodLWgldlIvvKihiBYjDfqjHjgMPMaTDTIAlDhopIgemkBSyoaJezpEXaQRDcSDDOnBqiMpVhhCxgmyCDtBvFCRqBhxrhqaqkMcJCcKuxKMBchOVutaMIolqjdQlQglKIVImEhSDSGNXdLGxbitbonRJCpiwmjfavhpkRfyYBMslXgtNppUVqZqRcVnUtWvbUNjVipbhaWVckMzFfifSRuPlEwpbNjMZWqx", "FIBPWkkDhpGKCGQCZcOcLzbQJdhvLWKOEAmixrzfVtdnKYBLmqIWqQrDtaanFkECoJFoeHuVBdvuAQSpfOaEuugwPzKdnFWLibwCKQlQJZHDCbFKFRkSMeSaoRINchCidLxsFAcjyjMKmEPGUmHoXezlWioGWjgZhAfifQtusodwYhWxwBkxuxjdVBRKqIKWKOeGjOhgzyXhmLPUyDIMKRqxYCvZTcYxeFARBCBnwqlmynBGlrYbPENpkzizIyNTeaGACXoDynWWtsmAiutTAKiPgqyQQAxZHvHqicwUqDDXBlmaoEOmmxEyomejApQsSboAllETzxEsNZwdqyVOympGjhrAcgPcjAxYFVMDihEHGBOcnvDicgTDDYkbSOXdfdGoAcxmQfFNWAibFCRgVWznSMlHAJDjLVdzWvzeDYHyzPxIHeruiNblxYFIPjSLRvDVnablwDBSxpNdnoHAknnJwwAKBViqoslitxzyqaPknWiOmWmFyXiSuQcvwkrG", "gQDLzbCrsrCRuVzEniCrcGzPTFKNfLQxsbeQhdxwyKKcCQqaZEMyStdZYpjSgFXCOoVYkDgarALbciMliVxHtiOrOuZedPJcRdnJXNWXrYIXyeEOpgjLWCZDvvQgGPAeKBaAWXflqsyRYcMWpIllHcAfPFpAiHlBETkErSczCZLRkjBNUsQUeQDtpByysJKcQzxfTXClvXVeEesDodekPOiAyTXRZziAZoMsyMvinVlnCQHCArSMyTZIBEYpkTUvRYSPIAnrUdfdBUmTvPoGkdvryWijzCWdaVJuplNwbjHzRptDzzCdpDxgSozyQXwyNQjMXBWuJZuBZVFDMejGgtuWhbMUnbBQCVFDwFmVMBiTHQSCjgIHKqrSTbeZBSgRrCcNEoZnOnBElqlwQciMYobexpSbjicmOXpkPrrQHroZfKaYiEMekChWsPqCFVzfmoasptEqgrTfZmEegxYZaTShEIcCMtswhVfqtgXAqdyAZmDAtEpdRwimcLveSHYr", "eonLIGOFcVLipYEakEIMnDLuqQpDqIXuNfIYYxYjkcBxWqvLSbLczqfYoKccQGTuPbpzQzNsWXCZrlpWyRnINpvDlSLvkFWYrVolfQSiEnOdWtaBiChGxuEDrAICOHOfXrOKYYcQbYWaXSgFlbwqmhMoCumtVBTXhEzdCpHQgoJMSlQBjOfmHlByHLqyTjzdrrgoTQpmfEjhcYnNYoRrILmNsraDsOXnjZbbTzdTivIDUPduucrlouqaoyBWUzsMXWFPFqtKmGhKwRvgQlTltLgIQHAxZarGZAjVBIlPBJbCAXyWiGUUwjIWApknhxAknXAHgqIHMWrxpbERsQvsTcqrXzhKFFlKIZZntcqMkWIwVQcQlwFTMToxvDFYYoNLDmcieFuJpIzILUaNeZtbpxGdtHDGOhssdeWjLbSsZBRqvNyOmYELPFqXfxtrqGOZRrfWwMfTEaFllINSaYmPXiOPWSUaeeKfjoNjPAEPvMZGfkJuywIFgVHDcTLiNJMa"],"c_array_ipv4":["OXncOuivXi", "qUztTkLTRD", "StUTkVFRfg", "XAHKqSJKrV", "eAtKakjurv", "IKdhxmZZVK", "jZAtbwVzUX", "ciFllfKPNX", "uTNNSBEGgB", "fVVWIAzqkP", "GpYMkOMPcT", "oVvnqxdxrM", "oOgDbRFovn", "UtHKYNMgIn", "TzvciFiQYh", "bHJdXJPaRr", "qiXPgtmvcv", "rkZPgELfRQ", "rMLbHzEmEn", "FLScMGrmVx", "lqpNrkEmKF", "BjmJMcrPyF", "MaBHhUEHnW", "hmWQwvqRTL", "weXNSvlNwC"],"c_array_ipv6":["GLGbPQoBbB", "bWjBSzZBYh", "vUXqMsTYcG", "zoHeMcEYhP", "NJTGrsOivd", "TaaeWCDNXn", "xDTxomjHGy", "xalylobhPJ", "EPSSryMDWS", "pYQmtjqgVa", "NpTIMcVQiZ", "pReldoknEY", "LWugrxSNIp", "WWKzGRImOf", "MvTHZgPvhE", "UqEGjNLgoD", "BPEkFvMMFc", "jqQdwIqJDe", "mOefbMheGH", "BTJNZmtOro", "HPsDsjcNMG", "wKpYFUMfVU", "gboGlejDgL", "AfugaBsGJg", "JCFrGHMKKU"],"c_map_string":{"c_map_string_1":"kQEYHGfiKYebroyhAkkWnuuQhhlpmhqiMHkkMLdtTEmwjraxmmGpPbOPZFWCbfTMbknLTEUdzsmdNyyfyqWmcdXeIwgxwpdywdZqKVHeHYNPxUbvYrfcKAWPENkdujFtYQdtfoEUlogPTuZpiiLkGHliUYXhCxzskJPgtWIlxJeDIXyfPacCLaHCWljcGgciIRXrFpkttuTvdRNGPDadaeITaKlNOoPFzqvTKswlYeifLHQAycJZQxTViROzeSNpDoBeocWMWirzxTMflWOtdqqxWFsGTbiKwbjXEBaQmMjWUEuPLRsXZdJKBtWOpeRZgowtSLtkrqobhwQzdsZcEusEgWGNvGgLFBXLsXeuJZSUcxUCUeDhorUCuANLOVGcxtDvJHpwbqazMLSuRABapamEhRBpaKiEwHFjeReRlMxiDswgjxnahcldVdMUHUqszUROjHSdEoQlmewHFGFVJzdGObekgmqqCCUkehlVdfQZjIGXuuhvTSBbgtUCozwS", "c_map_string_2":"YEhWPOzCBYsycwOFSuDGHdfZERrdLhdspfofskBRPctgZFbSbUNOYajmbErtobhIjQLfeZeFqLQSMBAOVPnqKWuulKbQILbnLeChroCusDyzgWwAJedNdoWBCHbAMnYqrrniRArRuTOfLlNtrzUbYkrGaMYiYpPFdVpagtcZeOeIwBnDuoDIOjlJEyFSbWZIoSjkgiNzzOotZuCLrdUDIyYgjpSdegvNYGoLeSbqYNMvSNcChXwGQvRbpzbZPrRCHhPegKjVKOfErOATfUpXBPdPIxlSuYPAiKkcUlxKNvmspXksCvgzsTZodtkqrXNXzGiDxhOoJOxPWNSAITxriEAMEMZEckHHGTuPpLMKKnGZQIzSOyYRJiyIwLeQpYfSKigHaERNonrzpQnvTSfWvYQMwGvxzKFkDimNPpSaKJuYzpyXOdXYEeAxnAxjjSctdNweiEnoheyhhtSrUlFaEjAvdkRWQCMfhjshNJkTkjNQaCOOVjiGWWkLjDEsSIlk", "c_map_string_3":"zWogSQkSxRZvBwJYdDtFCraPEACtTKsIJQEHnCVFwdtRNnnCVDMPPRDCCjyCJoPDRWvlZIzJtsgJmiyuZECMAvqrmiqmNrDlJHamYWLhxkfRYXQxmVwyNxXdcOSpUdqPLFoFuMvNMFOssHUSeIPqlJTTVMxvwCFGAGWRrQDzcWokZEnKIvJntOjXnZdhzcZGotumMzXoFohLuwPZnEVStbkBHOrARuAcpiyNiFjSISQmayDeedUsLCFCHWWexkLhawtPHfXbaSJepSPaMjqxxyNWOHeJfpLWAeiKYCORQctwETKRolVPQoSyAtgwMAyOpOAsjYPnSBvkCeEjmzTRyoXDVgHmNttKvxOQzFFQiLGCJPUStaGGhKFxrTPgmJRjdJGmslYcYaZNiLwMBiqTOFswOKrjeuPQgIxDUeShPbHVkkrQNvWehfBULdpjNyAdYGhnYxsdDSWIgWBxCqkOTPbfcNZOqVQLCEhDSwGRvzDLbRfagCgqkGhFHHNyGKPW", "c_map_string_4":"jJvpJTTJzyjswULeEEjBYZqCfQyLsgJlFGXkgcgnDfIZkafjMgpeLwVavPNHmKxlKSYPTozPOcyPQktqdocshtdSWNObfCZGFBgXKnVNsiLBQpjrTDKqSRRymNyzTTdcLutjRumDsHpRFCkTFiiVNDDflMuIVrSqVIFuKCNKZaFvAvuviokbXRKqHYFnVXmWCYBjKKEYVVCyEIlUWDMeRMrDsypfStQeriPhrVxNgJCKeSbMUgXsuoPYbOmbXyHtsTvWTfjExlcOHMCEVRdHSPePawclXxRUrlflfEKuPXcLCbgubAgSJTnURROfRiTtYoxlvPqeAPpguDjTaikGKimZylPOvYOCnLVNUMATNUgRFIhtoiYSJwrFkFgahfbVupoIXUnesQsEFohksHppIDvMVYUxbAPEyvsesZyGPiriUlJVbgKrlRSlePloLbcTsxvnFBuPDKpoistAAqRlWHGbeufGLICKafwWrSQkbhLKyECExqdWaCNLiKQnjmWc", "c_map_string_5":"wxWVJQirYuVDpVxxokYBPpaJQxegbKPerVQmfONNyibIRPFgRASpSIiKAxDGokxlWxjwsTYgijKxDmXlFdGfNbDWKkKNOSfwOQQCRBIBYBslImvkFvQcboYSwDLnlVGWgUlQPKEpNyNNQeCghhZxIlBdMPGCCaqkOljkvdLhqMErCIqqcIsRyZeEygWSfyrGXFtbjEHgKLzRYnjbnDOgyWmBJidQUExvzmXiJUXwmPqsWWYjOmSWRPegYjdaopoJuVJbNHpKejwjAVJECoDexJpMLpgOMQtHwPzFxsYPgtXJBkfVkAyPrNxYLajgiCkmqXNIQHMmhDuEVCXwVgaCcxZokWNPaViMoXWgRMPleZcsmYefhulXhnuKsvCBbiMqARUovQctvOLmXRMnQPyAEDuAJAsKEsKavXAqQVZZsepTWmXWoYthEikxCDFsonJcoAUYAVhmCQEQhpkLYAjpUZRKMCXXSEbIvvFXGmxbRsBHzJrIStcJqYgXJBAXzCJE", "c_map_string_6":"ACethHzIQuJPeQxcqLbXkoeybTWQBHJCVNDyeJAnSbviopXrBWxIXJyZmAGVjfytPhgOSNtksnoepxvCtbxVVcTVPfXGCiXneJMupPsKmfgSoQWbAiPBaUTXpPOrURiEdoYIDOMltUljBYsrOTpIuuVbtnaHzrVfDKmNaaoOGIbwlSGbBCEVQAPLRLXEThBRPMJVCDpjPxTNOYVNBjetMXnWsSEhlnvIfYEecyNGNvySxMwLUhBNBcIcRSyBNZdLDUfpvDQyKxIUOssosfAGtbebxgJtacIhwDXoixxxiyYAdTDsxvhEvpRrQbbuDqvnykSTSoRrRwxibMpVncOmySxRwTGOBgIWEdjCJCZpnVKZRWbOCyrksavTeJMNWOVyuTUICgdLdGgspNXCEIGnbeUXIGQlPJOTHwMNnECazPrwxonhKcYLmsVOYDsXirLugqNXxQjzTCGMVCXCZknunjaYGKHhsnDoVEVhaTCtWBNHKPZSNNlQdPWUnmdGLaWk", "c_map_string_7":"XkhJOaewYjUVRtuGEQlvhPfgksLovvnKrPMoANWllxoglBhkXdEPgWPQHkafwdeFXeZBXYMiayKMeKEheZKyYEdcZINVSmNDRQlWBIpBoEbvKJaAAHHjfVYBSXHWIZajsxWvLmXGdrXobBARWtOgZHloFXKcVEiUdMfcDXABxGDnYKhcwWJFCoyVyvYquoTXvNdkbdWrZeMFKrFenLtaUfzRimyeJdchqkdgCNlTzKOZQDUcvqRJzsykNbVOcHHuscGRcocEaIbVavfLXBllIpBCctIqlYnIbnuEyloMPfeoJWGrkICphKXoBegbycZdxhGxVVFyBcaIJWyIZjiQeNTIyzBtaycuQSLkKnNRqKnrYlpWGRBiGiVYZJiFOXuzeYeYOnkKQBDhCDmymcnNdMdkWwHiEEtulgVUsSvSVarkkHLWxGJyOhmlmETXXlkpeZLYBRCAAxKKQGzWIuAQfeRfIDDrTNyiwnjxFTvWgZJUEAcHaXYarpCUAakWYWOE", "c_map_string_8":"cfVLqcLGlWYvJqWsutdacKvXBdAaiLEzAphtnfSkWQAnVFatbhjUljxfILAVGhYSUJysECADAGjNPIeLWHzZaBsxDObJECGrumgHlBrsddngXhcJwPvKcVptfJByYbVBZAUgiCJHhsRnXRKqQbboDIXvTVAqVikPFjGnUMiLTqjCkVpAfFsXsLLtXgDTZgebUyQbauHSSFHSBESprjWxchVEfiScsGUrbMFwHZqyChhNdnJKOjgsoSkrCzcRzmdkWOajNTCHXRwogrOZxmVVFeWaydwkGRsDrstKxOqgvmIhzIEVgNoTbATpoMkCkbXxaneCrhjKOiVhPBSjKGIiwgofAkkXdorZRXgHPFeFmKnVNpqQMLvOuuZvEbbNsvhcwhMgAjHlQSVFVvujKAvvnTVjZcfGhyZBraSeffLyZYtgPCfljBRJryEgTBOlkDLkqTrpzMLGADLkrNldJcJQTyBWMdXAhoeWKbNzvZgOLwgnGlYxjJNYszrkWEyiSEIE", "c_map_string_9":"vtJpzvMgpBpqbVYvJEioRWHnDfmrbnHUnkffLnJsowaDFREhGsihXdShnSMgxhgrCkQLLHNoZNYPuwVEriNSPpwwHfCyRhDQlmlBZtxoOdIQVHsjzKxsmVpeWroSFjVVrTWPcyEFlOFPijKtUMtYYmdXmHruzWOnktLahryDmAtZtmlTVNbKKedOZTOaLOuKIGMHIzcCYoEjkjdBKQPrMMgigqwbWWpOYbSuproleDUjRFHVQgHPNKXHVhDvXDZOMvFxVwdVRTxUKOkywMQlfdWTxVoGxgSaVRHxWRVlRIzywrAWtDdeahpfVLWYdyJVAnfFeqxuRRFeljaXoyzcNzAjMOcAGFBOCSggTuFVTYVTrIpiTNbjmvcvpSjzVEjqOOVWpVWzuSPzyvCoHAQbmxzKSbwRHsbLaekKbXuytDaexYHVbescEsIUWZspwQyZiFaCOgXLZyyJETlfxCqDncWuhwTutWWmfsmSvUgnyKVHGrIKsLrMoiGMohqWvadr", "c_map_string_10":"UdkVjLHNTnigLFwUrjyyoNuBDvDtCcgsdCaLnQmHVtEEoseIaODvkVicPizAOhTAtoyvRCFUEYdlmnoZiQGubPkVywgnAaCorZheBiqpGHVeJlBfwxhabxdJCQRMwwxBNJqnCepJAjRbYJXbjfFwnlEgNqejarCSgSvSkQiqnfnRJTQJlWhNEuJRHwljukySyZhOSkgerJTPpPAlAHnbHdHfLJglPaTaIPOWhFHfGEoiMtQClaklROTQUkvNzyooFZWOHCfSxgdfecmotBsXwqfJkZoOTLCqlGJVUatoxzEJoGIwHtnSYUGDNGWweYItHzfVTDOlCzPgUOBVOCMGHCHfbfRYceyJEqvFOYTbSoXTkyYYQKKdwiVzTgSuRoveKPfPkjTAFFYumDQEzcEUQssNTAImQqTWiHztAMaDbHArxuRgcOIuohyqMLiDnMnWPGCIxrepDBEOwbpwFXbmAtrQXeHsrvGMlWFHsLgidFkuNxlrKIOmOOsnFSmmOIYf"},"c_varchar":"were","c_ipv6":"c530:e8a6:1f84:86ab:93b1:dd51:1f89:a3d4","c_array_smallint":[-21970, -837, 23304, -28826, 31645, -15511, 16156, 32684, 29380, -19292, 1868, -2099, -32661, 13537, 28441, -26594, 1900, 17646, -22085, 13619, -15695, 24362, -25231, -20393, -12767],"c_array_largeint":[3714687197739723269, 1510548591462075300, -9066561416916153513, -4079439981202713784, 1133018907561094273, 5382832105231743118, -6240306057042434501, 304586135782700984, -2822652925879851995, -1389457605302920660, 5789396459989577797, -641583636081811391, 8605867932104339112, -2387069595397088600, -6747646057073015063, 914310523710873559, -6252914734329994408, 6376430906423344771, -939056332779826845, 1849185277087835196, -394448870974031905, 8063997292583143440, -1188885397762481858, -7797138408653299812, -782881714372604867],"c_map_largeint":{"c_map_largeint_1":-6591905150996924240, "c_map_largeint_2":6048710106262431591, "c_map_largeint_3":-3702680336933018889, "c_map_largeint_4":7297482794535772666, "c_map_largeint_5":2194613138737013269, "c_map_largeint_6":6031055885364587191, "c_map_largeint_7":8180003741031973531, "c_map_largeint_8":-1165524025619027055, "c_map_largeint_9":5969298855252562949, "c_map_largeint_10":6581821108468240834},"c_map_float":{"c_map_float_1":59.582386, "c_map_float_2":70.34418, "c_map_float_3":17.44277, "c_map_float_4":98.738106, "c_map_float_5":80.52517, "c_map_float_6":63.70258, "c_map_float_7":55.164913, "c_map_float_8":42.65697, "c_map_float_9":77.67474, "c_map_float_10":79.48348},"c_smallint":-4130,"c_decimal":70.1952,"c_array_float":[73.53964, 53.453648, 22.578707, 95.94273, 87.481995, 5.3533487, 53.54864, 81.5969, 63.72222, 48.419994, 35.597107, 46.495262, 21.086346, 38.30118, 72.95934, 69.84272, 33.46702, 32.628662, 99.09736, 98.146095, 54.453102, 70.29814, 19.195063, 25.223345, 25.341288],"c_array_double":[79.34750202365345, 16.49689406938172, 4.6926757269460975, 79.8536729318372, 94.47077356844059, 32.13666512428201, 97.08584102826667, 99.21226638389966, 19.04316733112838, 72.05126550380521, 36.85991631545042, 42.775222231265644, 78.81395235896983, 100.9614848562226, 78.68737526327199, 47.7286795264251, 10.554379846157811, 34.52077605159852, 70.01137047653208, 93.03666246923889, 67.58709318852804, 46.55732799973795, 45.23130180341539, 77.32921402800508, 11.260499958639656],"c_array_date":["2014-10-13", "2003-10-26", "2010-01-12", "2008-12-02", "2005-02-23", "2019-10-19", "2001-04-14", "2009-01-11", "2012-06-10", "2007-11-13", "2019-04-18", "2012-05-26", "2018-03-11", "2017-06-13", "2007-04-28", "2001-05-01", "2011-11-13", "2007-06-11", "2014-05-15", "2009-09-18", "2005-10-07", "2016-03-13", "2006-10-02", "2010-10-15", "2012-06-15"],"c_map_bigint":{"c_map_bigint_1":-8746808822242558251, "c_map_bigint_2":-576929613763406671, "c_map_bigint_3":-5645941277872295046, "c_map_bigint_4":1461960585345865760, "c_map_bigint_5":1356080503777948899, "c_map_bigint_6":-2748068642751958651, "c_map_bigint_7":-6274449217986354007, "c_map_bigint_8":4751521994605435709, "c_map_bigint_9":-6798063110814771144, "c_map_bigint_10":-3384766164110533843},"c_map_double":{"c_map_double_1":67.18831184955557, "c_map_double_2":11.586312717442679, "c_map_double_3":24.96706351112494, "c_map_double_4":89.913370908083, "c_map_double_5":23.776585015681132, "c_map_double_6":30.460695136169743, "c_map_double_7":10.219861373028188, "c_map_double_8":0.6641366007220435, "c_map_double_9":59.27062903336085, "c_map_double_10":78.64988601244059},"c_map_datetime":{"c_map_datetime_1":"2003-03-03 07:06:59", "c_map_datetime_2":"2008-04-12 19:07:30", "c_map_datetime_3":"2001-04-17 10:20:49", "c_map_datetime_4":"2009-01-08 14:32:01", "c_map_datetime_5":"2009-10-21 14:50:06", "c_map_datetime_6":"2018-07-12 18:56:11", "c_map_datetime_7":"2006-04-14 13:49:12", "c_map_datetime_8":"2011-08-19 04:20:32", "c_map_datetime_9":"2003-09-16 07:41:05", "c_map_datetime_10":"2009-12-10 04:36:30"},"c_tinyint":72,"c_int":1750669043,"c_char":"tcncYFwGzu","c_date":"2010-04-15","c_array_char":["KUsfTwbplq", "tjLKMongzU", "ZsVGVNyowy", "odqGFzBdda", "BfxryQOwSh", "uSlQiKubYj", "kQAXQasVyY", "NqefyaKImo", "qnbZjLILEW", "uGZFpXYMoT", "SkCcNnNUPd", "TFYstbXaFa", "sekjObxMDB", "QyOARzXQKq", "FuccSGVbVC", "YPxtwQlOiu", "rGXUAUuLca", "eivLbeywEv", "nInqAoGkgW", "dgUDONuPQM", "rZqRYWsjpj", "corAxUncOE", "vGNogzwvCc", "WsIQbfeTCz", "EnMhSnWJXL"],"c_array_datetime":["2009-03-26 23:53:03", "2018-07-20 08:46:21", "2009-09-15 23:24:47", "2008-12-28 10:13:43", "2012-02-11 13:18:54", "2000-05-07 00:59:58", "2000-03-06 07:30:29", "2005-01-21 20:08:29", "2002-10-13 06:36:06", "2011-10-21 01:23:56", "2003-12-20 14:50:21", "2008-03-02 02:23:13", "2010-12-20 23:59:41", "2004-02-15 10:59:44", "2001-02-19 10:16:28", "2017-06-19 00:21:58", "2010-02-08 12:58:30", "2011-01-19 00:00:41", "2000-02-11 16:43:56", "2017-03-05 04:21:45", "2002-12-07 09:12:34", "2009-11-12 10:45:00", "2000-08-04 04:26:26", "2016-06-09 10:25:50", "2013-11-09 20:49:43"],"c_map_tinyint":{"c_map_tinyint_1":-89, "c_map_tinyint_2":97, "c_map_tinyint_3":-78, "c_map_tinyint_4":-50, "c_map_tinyint_5":-47, "c_map_tinyint_6":12, "c_map_tinyint_7":-10, "c_map_tinyint_8":36, "c_map_tinyint_9":-36, "c_map_tinyint_10":-55},"c_map_decimal":{"c_map_decimal_1":81.0985, "c_map_decimal_2":92.1013, "c_map_decimal_3":55.1868, "c_map_decimal_4":46.0551, "c_map_decimal_5":19.1744, "c_map_decimal_6":18.0156, "c_map_decimal_7":8.0283, "c_map_decimal_8":38.1817, "c_map_decimal_9":92.1119, "c_map_decimal_10":17.1960},"c_map_varchar":{"c_map_varchar_1":"PSVfuKMkYcJmvLwZCqWurJKcHsssslVMuFqKQvwkZSnIbPRhzqaeqTTSInJzqbgIIwfsufsDFMRewvGrxwhAUOJYNgyMeQddjZtjufpfxDbkybYTOoExaWfEzoKLtlriXLRhQZvxICEPLxUrPOyRLLzsvvzwpMqasccBpXsbpXfPOIMnwGBJnEsUXkVKhSNsEsdzNSXmkRuKpCszpExTIUYMHAGhqJeJObTQVPzVRRhTxSCaLRmZHJzZAxPhVdMU", "c_map_varchar_2":"OnGAAdNAKDrrXqXtEAsRPnUBZmHZwrEgjKLOBpBnDZTxObZjeeUMJqGIbyZjSXMhNyGowDcZcmvahSOlnwFYaHtefVFdrOjNdcVyGirrPPTLmjDCavwTLiOTMavqNPnAcOSdAMohAepxYCIpNmIBkgCMSBvxMehJtRitHooJIGVlmJMGBsuxJxCYgKggmpvxxilRQMMquZazrmUCfDRJgNcaYDaRPZLWEoRqCrskHhHTLYyyMHdWZvbZPeVqUiMq", "c_map_varchar_3":"PdEnlOKtdgZikUzBuSprjuSbWtRMGyebiWgYcXtxITWyqqJJDuhWwyqqJdAglpHMJenEBgeRvkOHOYmYEZQhiJeUnHEfaTcnYnLHNjsJskWtfTmrLxbvUroBWtwuKWGmguZiKVUNpQfmsdZKzzbtvDdMuuBURcHrGsTjJXfJmpvptQmdYJzzBjdNvTnHaAgrflTGGBbnSVczaddSqAxiUzjprkMpFQcjyscsRFjWCYLMTzhSphFEqlzXDoHrxJIl", "c_map_varchar_4":"TGcNMzttCuvwNSIcHvkGnPODemOUpxosjTXXWbsXbiiWhoftkPOQkWTpSNZLQXwOZIqxfgCFnJDEASgisIDaPbjFckAuqQBcdPESSkRoojIGEhAVODdChvcqmGRMaKsupSPbkhjJEBnvkWYeFIfukmuiwRvGMcvtHMuhyTKSzIDQxAYmEhgcPEYUppcEvMuazAyfWPwUWBdWaSscIzwsTLAuPyTDSMYKycIEIfuhTRVBzVjAskFiKvLFuHOzaUJU", "c_map_varchar_5":"YCvYDPHMhXlQOdktVdlpXKJGwGVrAaFJITuQQQFHMsbuaVhgOxqcKCBEOILEfOychjFYWXDhugtfuGGjnJtJxDVjGWrqwxYdWPNoreFgaoZBqCBxNSrozFTIJmrXWyGhdpNLYqxqkybXBpGmbKidmSeghLSpTCToqQkcKfXXgJSoQUJlWypTIJcxDDuztyfHcXuekwQqFDheKlpEpmEWBDsAyZlBINUjdXQnTaCTpDFBSuGxczMWDVOLyNNDjRqz", "c_map_varchar_6":"vnnTwsmwnsPZyIIDFFaMkruyMEPekaMrXLkwMQKSqmROARHqXOZDaLPyVxznCrqoxEqtfbyOvJPLWBPRWLvPuneAxqUHtInLmQzZBfrizjWwNeuJjMexnRZxpCwcJeTIoOjqcxQVnQBPnvhqqlBmoAsydBYntpdjlARFcOClBXpSuAhARjcmOQSeczsWMMSDBIiZDvJxfNMAPOTWXvQldLsFHMNhglaXPwPhLuTiJZKfovxHLaQnKEiKWaJEaQYm", "c_map_varchar_7":"FxJcZOFpYlYAYtxIrLojnzobEXrxhbVWVOpVlooBupPkbUeBGDKnzBvyBMmJtKKWiqZHREOlwBgQvgYnAkuSfkyUFLSnMYlmzTghFgreFMFWSLSLPNPURFPUeDASQBmgLUEXkGYTAGxcKgTcMcMlKporpGsJIRVCLmEAdESVjulBxDnwJUEjIHWsyEWLABkiSRCeurvEkAVSZYwvqATzQKbDPyjJfCEBQigHZcJXMRBHamIupUJsPFuYAMkaSoOY", "c_map_varchar_8":"GNVAqdZIOxyOdHHWWLjXAltfEwaQFpphpBrpAWSoOZeHAJjlChHmkHWHJjdMOTYAJFOuQjTQmPISDTkJpBmJJfOZUSMtMfnmawTyvBiyBlyRrMthQaMVPZwOxQTcrvvqLJeOOyKUPWRxiVlmhFAWhQDrGOcsbFbIUZIhLidRgjVLvSYLgLmKjYCZDyYbVgLKbQbPLAgZwFNiojnLzHLBNMNTBpBJJXDEpgkTCrWThxygVouKtAamOOUjCEtKzSUn", "c_map_varchar_9":"WVnluQBpWhQDLnyvBgwGbwfOEAUVdkcruNLyQechshZrRTxzdwNdeMTLMZMXPhhYerelrWEtkbYXVrmaKlcMZDIEYqcWMWsqFlSQamhKuvRIAThRSEeBiBpdbofXdDaGFUenzkCiWkrtcdUVdvmtmUUQsaOVyfkqKgNtJcaaxCBCCYaEnLAxAbxFJZOiNDLhSZGuAvkndNAodYsnipZjaSrPfBqxifBMnjCHpsxtLoJkQMANpbNbsapSKJwrAcva", "c_map_varchar_10":"nPmxasdhazercUZXWBCwAcKUmnRmaVfOnhvPbsxwwQCwocmcNSADHGGHlmZFnWaAskDYTgCQUxTOTfdEvZubRmVxdXJAKirGoSsizsubzbmWQqhtbGpCDRKhXQbuWvkXamEtbwuPKfzwEZgpATLbZtNuIiFkUMqgkAAfJCZVwLfDKLCSYEeNXCiPgzlfoqzVhpkupDZWLFZvOfhdGAanASlgKubbdEvPEkkhkvJiclRKXmupDzVjLGQVDZubPkZb"},"c_boolean":0,"c_string":"tgfRheYXxRsZcgzVhkMGAMBPxBGSmCZgBMWJOaXJgwXYQdTobIoMpStBUGjGfAjawtedvfeNVwylpKgKUNKCjLMIHEhJHymiRzATeAbcRQoyOZABdSxwGtsDCsvVKjLPjTwaUyoxZaeDUopnKPJFDLFOdiyypiRfsdiiJfolMaHJaEyHZvivMdOACQvBJqlvwaHnCETjmUEtbcmBlWnGUslcoUbEQDOKxnOAbnIKElhyaCFoaxpxznceAsHoFAFuEBznyNjOYAsFuhSfTfMDtKHWyxIYEhZrKMskmUBBxEaZyPVJUobFLFMyHmOpUQDqphVgrWAvyzEcFiMYgUtTWsxqovuTMuWuasNgcTofUIVnpyWkKTYCHtvzWsVzemiQeGAXusXOcMuxhsGFrNlhtdlDNfivGSjAsMYbrMeVDidwBvCpncefMgjJYxJmlJIGiGCoWgSaCcFWEbHpaGCzbflADylnoafyeODlzRLwElWwoNZEcRdytoPZohllLpWb","c_array_boolean":[0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0],"c_array_tinyint":[0, -91, -60, 11, -58, 19, -18, -42, -114, -82, 95, -37, -16, -32, -55, -128, 20, -58, 75, 12, -77, 116, 43, 2, 84],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_int":{"c_map_int_1":184880617, "c_map_int_2":-1604263209, "c_map_int_3":1946931422, "c_map_int_4":-1157414472, "c_map_int_5":148065010, "c_map_int_6":-1200465046, "c_map_int_7":-547429405, "c_map_int_8":-1746162155, "c_map_int_9":1798109925, "c_map_int_10":1740363618},"c_array_int":[1676644065, -1099126269, -679486008, -1873657674, 958247458, 282295104, 571037648, 1330510175, -1124806058, -2125938262, -84546971, -1904109777, -1489327407, 854137238, -374088661, 1400536793, -915937768, 468334483, -1272594899, -1856196552, 1299552123, -137822918, -1565520558, 600777823, -812511147],"c_array_bigint":[-4694882600495031866, -226821618981087242, -732695939671608700, 7254301920474011489, -2953525240544398145, -2587263506635569693, 2113562666801921807, -2445733109654611835, -1021696072279444419, -7731907028341934902, 1854851847193703535, -6059794166173402254, -3736154077150021260, -6799321671394812731, 2273290325374249152, -2735021207007164425, 6969182733087692596, 3843434469267230494, 2605732447602704089, 1621467879271889760, 7093147394378995693, -5521722494743018763, 7364807581831886998, 1959909724482428263, 3071492682959952814],"c_array_varchar":["DtzFkHFgpDyBbhhKhNKgFFJgpkxZTMEUDVIwfdNarpgyynGQxqYlszeVwCJfaVgLzFvnJQCxOaIJOxIBzRhWsRsztvVsnIoZRKpFINveSMaNbuaELKnNMyoVLCzbrbfUHzMmELEtGTRvXxwchpNbmnPgYlTdhOefneocMVGkBjmOQMTMMDmxWJfxFdolTVmwdaXBoPSmsilcFFwdYRxubhpCgkkQYOKPzrfZsNeurAaStAVpOhBRMBYqivqKrgnI", "VnfuuJfTZStONjjygcyUbYvMwTkXNQywzRDLeYRzimxkcoaXRtKydlnYBdrXZZzNFmMeqoFcQLBcxHXVlqGzRPkOyvWXcZCRqKfwrCJaDChpDXylYuENWSyjRKPEAHbxVsgXgIphxHjzYvyKhsTWVSdtYpvQVfBsEaPBVYYAVHNvRWAmqWYoEHsKUBpMdpKpGltYBeIKAbURThdwmEcnrBildcyxyormvzVxdxtgOkvIejxYkaFJyBTaEScdNbwB", "QZibbyxnmfHPBYpiXyAMKrvliggXabeGTCBuTbGpuTJfwZutGudeyHKOeidFkipHcSRyjOGmcNgtPoXgrxHotGjalJWcEJPPKDQwAhzMuMqLHbMTlNNuzPxAPowuoJHqbLIFiyAqkpPMLyfDUvPYBreRhXbEEeLqJePbgTPVUWMpgyyoKkfhKxexeZOuiGxlGzZRbzmDGPwWMbiwzCmcLvjzIreIIviIEkLKoCmpemyCRqaGyKhHktDkQEQIuOTX", "QbOYoTviwHdYEUGXljiXzJQTHpORrDblQbQrMiPhyoXMmOgLufjtVENBRoZqdBHdfDWXQWiyLvxrfVGMIyWTnONcIEHGHddviMVrvTzBBCCLopPIYWnLXLKfwAyDiRmwQHfbRoIWfXliNgzYMNljYExpiogMauxyxiGnbsPIbhvSBVoYnYwmtuNRaghfcFPKWNAAOgUTQSQSLSnEHEaOPdEoFfmQdGZVlNtGuIqEznZIcdDidJFoUwRWEhgciVOh", "ipPJPAIGXfcRhCGZmmwXbbqVxVVlskqRUMMvDSVRHwbVcXaeMaMwDytpHDbrGaDlbvUXCugwtSJatPbVqqqbYlARYFoaZorxMZlESrHjJqhxuiiirHyEFVVAVDQBaSVyOiPumBdzMNaCkSpcgXdYpLDYIlAILDLzgRYKUwBsrokScVEPRGDVfsAravjrWjbjzOwJSIPJnfFWBQBhKeodsSSTmvFhXqzKsygFdWpHxwVpGiXeWfqUbyhgBNiCJhyc", "BWzAttZfzDGaonIHioRkHtiHalGKaRrqBJgQIJliQwieJRWWxIlgvCfAXauQmKgXwykUPyMITVzHGWFOztIHDKBKESrhCeGtesDzEmyjprYpbLEEHqvIUfNbmMAutOPHPUuifgpeJXAQxeswdrYchoCEqEkBxCOBTduojbKUNmmJdhzXEMIJtsuoIWwaAzcAyknPGMpBNVYQufWKCCjyZbysLvCoFvtyhDRgCSatZwtKqzYKZtlXHrajksgXSAFS", "sxpKUuHHIpGblCPHVaokZRPZkVvKkPoXdCAqxvsCcDiDmqCEMdWOrWoqsLcoZNunlQeTeAjKlLCoVvKeAELuNSWURsyqBhUhsKrxLFfwsjXthgzLHVJpXSMEvWmxlrJVSwOEGBlZAeOMrfdBJfVvUcAsQnskXKecKhVcqXcaIrNGHCvoMiAQEloTQtzJEkyrYdgIzFWvrZeXbpooOawNZjvIxQcioIeYntAiyXlnUkCjhlwSFjyRDwhJxPJFTRNH", "cQSvUtnntXUjbmihNEgLnQROGBnBnMyjztBtGopPlNiRxXLbfCETBRMnOjNXDZpyVRekqrPgfZgcnQBrnFKtROExeeQbiceQfMDzgCFSbMmJXKKOWeQHaYzLWiSzLXhFzjSNROpisWcgtggUEzDPwvShcntwyTqMYTOczkofTNarfuybteYkEHJAOLAaAmNfERiylXMeGJSZveGLwVZifJvOYUKLPqDaGmvIaeZbNHfhrbZCzpuaQmKnRynpTauO", "xmxlNvLxrkrQfdgNbqcUAYMWWRqxAayhAohgxLuhbcdpgrowxvdlKqFlWZSWgBsQjRlTamEXyvvanfPwrnQRHwRNIMTCgcqCBGRDomkJgaNBchSaFdYVqhvKeEOMiSkcnwlTasUJGOVjiFLULAJPaHmGhPQDBnUXleOivmnpfeyrUkoJZqCJvsBXAAoZKKVnioKtrPgetCAZMbfJxJRbsmAKeeesLEDJqiGYdTLfIfNuLrraiFVJrEQZtiFLIBJv", "YzIsZfKAGpisfgcpJzVkDZDWTeVyAegHyPrYGndVdHcmWnerjcrnsDKejEyKwSzMVebJHbYhmDPkoYeOBNBThayuoAsvCmXshHEmUJypxUeRAthGBISCZmjHqPvveDYkDgoJCiqsOtLLTsDnimBwHNOSeCorXqdrkwsVHebkcOJWgXHOePMapqutpWqzolKNWEpdnmdmdiIjPiCuXiZJXFWGJibiFlBIpBOUSaPoDENogehHjihtkTTmtEqJYpga", "NQnSHwTSapJWwfKvyxEiiESEohiXmiyoJDisQLcnFxAxifkKmEwIGyxJIkJTkkJJzhmIkzLPQBFQhYZeNrhCimoVlOvXRGnNOcyXEznsYHkZkxGaTDkBcSLrgoAortZfPrPhWazilayKHgQwPiXzzGjTelaEYeczfdUtMhIKVcYvcilkYmNFJrWPtaxefoIxgHlwAxTRlGgmtgFaoSHdwhZPqnFvfpSRoAnezuwLNngEvdDGTUZlCRpKTayqILvR", "YWkNSeeTrWXeONmLbtKpsXhbqpdVfyvfxeHSBzbxuIkkdsEigJKyZvsdkkDfekMoAMGRzPGrKaLXGHGySIgIEGpMTEssQUmDZyYxYdeaJXpYZZvxiPYcibIcfutKyQUDpjxuvlHHDuNtkkXKhZaIPzuJbEYDZlmcjSvemgXKNfUWrTAdknXkuLLrmOXDjNFxkqliBlUmAnLYQhzejMiFmypCmVtOBqZMrqKpBRNpLSsOselzNobuYOvOTHvOjOtG", "AyMRUMRZtSmjTMWxygkfjabSwvwcabORIgMYSRzymTjUeEXeEZCbSfSYlJfjtUNBDhDEgakSReTtsrHpbmMsbAnMwqJrwYBysTkyjHjEIkOxZKJbUgJrqwySsvtaGmtBBTOROTHaFsVGCuVIaflJCkOrVEQNXbxQPxPTLmIGOMPaNInQPkSfFRnibzFOmhTDBUsdJqkyKpXrKRAMmYJbjNzcJHEJLKRSGgjbEEzfXXFNeSwyoNboKiENZbTxxWGB", "vYohcHadrDgnCJIxDSrDBpaMmBRGsnSJYHPXtQjEaNLiQZwOGhaqHLXGjAJleWVEyjRSmIQAnjJmxpGNXDpTZIAfeZcWwfaGcmDUdhgqADEGNAdRpVMVqmCevVmGGHOQdAgssLrlFclDLfRKftDWUHLBXLzQdrHBuMebvzxdsbeoJUkMiNhwpmwLeSqHiaQyfYBHqDmjXXamkgaULMbteWFmarlmQyPvoGBrNJrOXptXRIIXYDuhsgFYQsqDUEvo", "tWnhKPsFXkAbSbioMTTOVvyXdcEfbAnBmtyVnFcxhLuFdzNTqQZIwoMvYctrYoROawpDKTPWOVEePGGyfKSAcZSVHvVYMKqffDxILPjKEXTLFNeVHAEWtZZGJeQryQWNXoqidfjljJXZbJmmLCdSsZUTdqGTabKMpqhkPzFkPrgPXBLrWXXjarVXfazygxlomCOUsIiyHUdIcXKyvITCoaCCeYsINxXiMNoFvaSkYDCwggddzrVGrjjbfldTfBAC", "vNBKZRLOcjTCwzzHIyOiRYQxEEJJNHNADrJPirBKdNWTPvslvgQJpcJrWvuWFxYIxJoDJiapSjVgiwpOPBKmOusKvEWYGjDCUFDHJzIYExQLgIRaoOBlVRsrAOcIuNCHYrocXZMIOnOjPCmHSesNemGLEPAlGaxxmrhxIqBzzayqkuShOVIeULHWxwwPTOJMZmfZwIfpHNTQWrPKIzqKcMCJHrdplmijlBiLgIKkjBboExfyiNdFcMZPytNhAvFB", "ucOitCbqVSXiZgQfOpZQjXcmPvpgMkaLTnRrABsfiHZkELPYMMxFWuJrnkEMdpNaYRbDTqIyCkUuQdjzpMJCQzsLBMRSDNWSImVjAXHxDFshGrdSnrFotGoLoPUOJeGwDzSyODQNBeMDzxIZvLmWMJviRqRwjWVjDnhOMEDQNoQmNqubIFQBZRaHbEexJttVfVVaxygzQvhNkrHTuaVUDxkxKpMXxIEdCmzIMMtZbqcKtKjvbBbDfRUAMMqcDuVi", "DtxLTsCPMDmblYDyKLdiaHnpoNrfGIBUYgVTSYmepYzaDmgMzifNPVHTFxrmIwZnKYuooQUvHyBFDBGiXxoKCqKpsFwVnSfrcHCodzNIHsRxYgdMgAvmIDKzyCWaUzUTuxyEzjfehTkseVkYXcwoYLwCOFQsuZNAQmrMOSSZhDBzGZDUvfoIohvWiEamakAUKhMNTfXBQxYIspVuiYXeFiNqtsvEoWpBIkffjzBeqvUJkGPOCjVyKMCtQUujZhzw", "atfkhdiSposdTZVFOHGmacYaLxRzwrjawesLgHZCwdZpJcyKJpqBeMJqLUlbmFJxBdTyPxQwEAHnJPsDfLEJKKVQENLSNgDEiNyLmUYZyzNKDImramIURWQoDrdSuZcBxEuftONoxoKtcKGVsGAcbQqVhBXLPfpPaaYOxMIMCSEPYMFUVQemjwYbJCPNelsHdfPuyikBmZUuagigzbsZpejHbnjCFQfdtKGPxaDtCQHKwDpYnVCYqkhaoCWvNjHw", "lsALzMKtHtOAvMySbFQMtCLRcvcHHxPAWdHFNpFLIDKiEMqxAWevMSJskUkfeVCwFJGeubFSXQPYJPejQtychAMIYZCqsuJRhdIYAtsLMczFAxvlNtGokpXaVFAqJJKoAjpPYjhFKlykmMvBDIQjWFwvkdTZDFRyRUYpjADonJXCCHtTuEvXnctWYRFBjvlANUBjWCAEPbZMLojpSfuWebMtieDxSOihhpCImfZzrfoOAQbvfJuGCVCAsNUWkOYO", "mJLvCcyuHwWkCDfWOrVSJgacdOWRXUXUAoVdIBPExHoneTqzEIsANiXrCkMjKuyvCKZNVievCsqgPCsYjgPQmJLpuUjUcqiRICHXmcFycWqUmfZFlSPalGmUJLzgyuVkPVKoJbnmTTyZSXxenzgICkbPWbGakdKoUDSGSsJOSlEzoUjvpxsefzWTmmPSHYzRORwuwQjfGNEPTKDdbHkQqoweZmxHIYHunfJfLVevqgAJuHiBigstRNIjwyKLPJPx", "gjYoweVlZxbujGdLOZqIBDxKRAwmRlUMExnuXlpvltqiRWibiwedjFRGHfnsLqwtjUabCTDPHoyOEQRwjvBZpUQQMIpHIeXBuRXjKNdGlaMBeinBVVBacqsZNfjRgamUmyGBmPwbuXcKhmdaAjYKPKrEswavAppzXzTosCdkrBwRfxFzjRLCnrvYPWIWVgJDYjiMTwMzVVWjrRSXbydQGHWOQoPTGHOvGKLPGESAWYHfhzjQNWaGLibzIRRDaCuR", "HUkgTMkmCLCneuflUTZbmWPOpeeUbXWkYKGntpMDvsHQHRBAHyVTiuMClYexmWJdquNawciLKOldIVHOdWrkHctgfrQVMaFTmreSzUYMdgVYOUsSQJOluQLgmSfQvaPBCNqljVqJDSSsEVriRqgVBAANzmWciNPySTAUgsUuWSfcRjIDnqHeqnHrfcVRWDvpQFNCGuXxECMiPAiGMKAymtSupBPCQMMTVjZXjNjaqIjLDWCGlvNpbtVHckRcQhvF", "MzzkCBspYfUELWFJYSANUJdCASFsCFQssZDCwecnVEdZoeBVjObEsEtIuYqbWaHxfgRyxoKdenxkPbuMBTTGbEhgRNCPnkWXPSvbpqNwpKHWgOMlogkxYqAFGYFWQVVtshzqdGURKHaOZkyWeyRHJYmtHwVPrcQRJzTSVUkuJDePljzNYvmHKoXVYBxeGpMIIlzrlkpXksLmGttzqoqzqWFiygcnWHXfEawpTxnSEydbcfuzqabUvZAoBjujmrcd", "ujCnaRMkQugjkxHOzhkJTNXdaGcYGkwVXxPkjigyboaolkDfsIBTBwRHWTlWjabRMskNLzKgZGZhoRvwDTPGGizXKEDbHMyaUfNaPFDKxiMZgxVVxlIANiovIrQBsLLjkvyfcTzaDQpwhqKAKkCvMSgOKIahyvWUvPCLITOGdYsUkGIychQXeCMzwfyEjOYQaHWLMLdLnVWeCysMQtlqIfeKMOLZONamJpCMCTghhniauzZMuDTPmBkBQMjBLDcM"],"c_map_smallint":{"c_map_smallint_1":-19126, "c_map_smallint_2":2283, "c_map_smallint_3":30607, "c_map_smallint_4":29703, "c_map_smallint_5":-23796, "c_map_smallint_6":12221, "c_map_smallint_7":6732, "c_map_smallint_8":32700, "c_map_smallint_9":31065, "c_map_smallint_10":-16991},"c_float":64.59807,"c_double":78.92566570286651,"c_datetime":"2017-12-22 00:08:49","c_array_decimal":[2.0382, 3.1085, 40.1677, 53.0104, 31.1565, 51.1084, 26.1441, 70.1873, 40.1206, 91.0883, 25.0871, 44.0884, 10.0440, 18.1741, 73.1007, 23.0693, 39.0240, 91.1300, 71.1715, 20.1542, 33.0411, 27.0443, 57.0753, 51.1695, 4.0443],"c_map_char":{"c_map_char_1":"ZjAaeESWci", "c_map_char_2":"rNCcfoTFlZ", "c_map_char_3":"DLxcABBKJx", "c_map_char_4":"hENDABgBxy", "c_map_char_5":"zYqfsbHBQJ", "c_map_char_6":"ZTBQHZsNrw", "c_map_char_7":"IiToGdjauk", "c_map_char_8":"RrnGDasssr", "c_map_char_9":"GVjOfjckzw", "c_map_char_10":"RXCDLiMWKs"},"c_map_date":{"c_map_date_1":"2007-03-28", "c_map_date_2":"2011-09-14", "c_map_date_3":"2014-04-11", "c_map_date_4":"2015-08-03", "c_map_date_5":"2019-10-22", "c_map_date_6":"2014-06-18", "c_map_date_7":"2005-09-06", "c_map_date_8":"2002-12-17", "c_map_date_9":"2002-12-19", "c_map_date_10":"2015-02-08"},"c_map_ipv4":{"c_map_ipv4_1":"31.168.177.206", "c_map_ipv4_2":"118.229.154.118", "c_map_ipv4_3":"193.193.208.77", "c_map_ipv4_4":"24.221.186.137", "c_map_ipv4_5":"36.202.12.200", "c_map_ipv4_6":"173.33.241.160", "c_map_ipv4_7":"50.177.217.190", "c_map_ipv4_8":"193.247.250.195", "c_map_ipv4_9":"125.50.245.77", "c_map_ipv4_10":"58.67.227.72"},"c_map_ipv6":{"c_map_ipv6_1":"3a25:9da7:1a48:4158:5eac:aab6:c2d8:2486", "c_map_ipv6_2":"745f:d2ab:a57e:18a4:b578:b34:ce60:d770", "c_map_ipv6_3":"24ce:c07f:88df:1afa:a642:b7e3:6e36:9428", "c_map_ipv6_4":"1473:4e29:6390:a61d:3202:f52b:1d04:e2d5", "c_map_ipv6_5":"67c3:2d63:fd2b:2ed1:5002:246e:a45:d164", "c_map_ipv6_6":"e8ac:2b64:2983:b81c:60f0:8e45:6a92:bd4d", "c_map_ipv6_7":"f762:8ec2:177d:44eb:b27d:154a:1115:e1ce", "c_map_ipv6_8":"299e:503c:9c9b:a926:8a4b:97c9:f465:582d", "c_map_ipv6_9":"bf6b:9f52:f347:6eff:d5e:3663:edc:e064", "c_map_ipv6_10":"5eb6:11c4:e6d4:17a7:7aa6:8916:fbe6:358a"},"c_json":{"state":"Colorado"} }','{ "c_array_decimal":[96.0362, 0.1496, 80.1350, 96.1003, 19.0549, 44.1221, 33.0905, 90.1643, 87.1674, 40.1771, 27.0019, 64.1787, 65.0945, 65.0812, 41.0475, 87.1530, 64.0805, 46.0840, 78.0767, 3.0077, 78.0126, 93.1869, 16.0795, 73.1949, 75.1404],"c_array_datetime":["2007-07-26 18:40:12", "2019-09-28 20:03:56", "2011-03-14 13:18:27", "2002-09-06 22:19:43", "2017-03-10 22:15:31", "2019-07-17 11:46:20", "2003-02-14 03:57:54", "2018-11-25 20:06:31", "2008-01-26 12:13:02", "2019-09-07 10:17:02", "2018-08-21 10:36:19", "2003-06-09 09:13:46", "2017-06-06 18:30:07", "2001-07-03 10:21:12", "2010-08-18 15:28:36", "2016-11-07 15:57:41", "2011-04-20 06:22:17", "2005-03-21 01:34:55", "2013-09-02 22:00:14", "2008-07-26 21:56:18", "2003-07-17 13:40:34", "2006-08-20 05:40:09", "2011-07-11 03:33:17", "2014-12-02 14:00:36", "2004-02-13 17:26:45"],"c_map_date":{"c_map_date_1":"2001-06-01", "c_map_date_2":"2006-01-13", "c_map_date_3":"2013-08-11", "c_map_date_4":"2019-01-05", "c_map_date_5":"2000-02-24", "c_map_date_6":"2003-10-02", "c_map_date_7":"2017-03-24", "c_map_date_8":"2013-05-10", "c_map_date_9":"2013-11-25", "c_map_date_10":"2004-03-12"},"c_map_ipv6":{"c_map_ipv6_1":"68fa:837:2176:1cbd:f9d7:a85a:84df:b759", "c_map_ipv6_2":"717c:c9e4:e8e2:b604:8768:b62b:e765:1238", "c_map_ipv6_3":"4b27:92ba:f2d2:6dc9:b909:d2f0:1b:914", "c_map_ipv6_4":"d0e5:ee0f:31de:5cac:cb67:a66a:f957:a894", "c_map_ipv6_5":"a75c:2892:8e47:d538:b7eb:e4f6:6b57:ada3", "c_map_ipv6_6":"5375:f678:db1f:804b:40ed:f963:6e17:71a5", "c_map_ipv6_7":"3164:6b01:5544:3131:124c:5c05:4051:d756", "c_map_ipv6_8":"d47b:47b1:373:f0fa:6a6e:8bf4:915e:ad6f", "c_map_ipv6_9":"3178:eedc:95f4:1645:52a6:3fc6:5f9:6ecb", "c_map_ipv6_10":"171b:257:6ab4:3f47:a224:7ce7:f085:2e86"},"c_smallint":-1139,"c_varchar":"some","c_array_int":[-558076970, -1005028205, 1585071017, 1934333151, 1902334704, -596087678, 758614953, 873011952, -2096623068, -1346382115, 126719750, -462271318, 1356070208, 1818413789, 1252352690, -1815559181, 1660939383, 1263765808, 865153972, -1844970064, -1844666774, 991926687, -254406850, -262906080, 1987202196],"c_array_largeint":[4596189490334977592, 2142890683815013307, -7133627629218749915, -1471751818556223965, -715306142939822683, -487315587884282312, -3951866300715833733, -7802158590185870130, -3431445963717622443, 5806549232722703216, 5668842724058312425, 795958274226797378, -2990168083468315624, -181046940774120250, -5463711456952299017, 8710873709081873297, -8497461682613441564, -5009385819976414582, -6522860392894305386, -4792268579537267992, -3996927088798761137, -1047991736045965459, -4043100112418046721, -2993803213847924096, -1831972429047170229],"c_array_float":[58.312782, 60.4947, 83.01482, 64.95465, 12.218692, 84.20429, 19.049936, 6.825261, 73.9235, 10.610821, 62.527477, 16.08454, 40.368332, 92.69939, 77.12075, 87.49663, 95.7307, 69.43267, 96.889755, 82.0497, 82.63744, 81.46467, 1.3962761, 94.47684, 57.19824],"c_map_smallint":{"c_map_smallint_1":-6033, "c_map_smallint_2":21425, "c_map_smallint_3":24555, "c_map_smallint_4":-1880, "c_map_smallint_5":-26271, "c_map_smallint_6":-20911, "c_map_smallint_7":11223, "c_map_smallint_8":7385, "c_map_smallint_9":9848, "c_map_smallint_10":6240},"c_map_int":{"c_map_int_1":1633370029, "c_map_int_2":1657280214, "c_map_int_3":2140639428, "c_map_int_4":646518048, "c_map_int_5":1738908235, "c_map_int_6":672028875, "c_map_int_7":-375162107, "c_map_int_8":-1888745164, "c_map_int_9":1586480155, "c_map_int_10":-1233808675},"c_map_bigint":{"c_map_bigint_1":-2333943190361963093, "c_map_bigint_2":3663846080416621762, "c_map_bigint_3":-1684185198215132222, "c_map_bigint_4":-4321613936538538263, "c_map_bigint_5":-5081836434546684402, "c_map_bigint_6":6053643942204144413, "c_map_bigint_7":-3246329006886439988, "c_map_bigint_8":-847192833497650091, "c_map_bigint_9":-3320252391317953776, "c_map_bigint_10":-3955035276862674881},"c_float":28.186243,"c_decimal":54.0675,"c_ipv4":"226.15.92.23","c_array_smallint":[-20488, -7139, -12761, 30670, 19058, 17362, 32667, 1377, -23055, 14143, -26888, 2949, 1360, 20633, -22626, 18307, 15344, -17097, -11991, 22051, 29318, -580, 23403, 28190, 18258],"c_map_largeint":{"c_map_largeint_1":4575772487899847789, "c_map_largeint_2":1233506262001006996, "c_map_largeint_3":-8503917851997262947, "c_map_largeint_4":3172889678829429196, "c_map_largeint_5":6685096435456654123, "c_map_largeint_6":-3248404824902580729, "c_map_largeint_7":7325285600246810158, "c_map_largeint_8":2585666486994848908, "c_map_largeint_9":4006118231696531610, "c_map_largeint_10":3802781583635971008},"c_bigint":6013644014365612315,"c_array_char":["MWhUwYwsPw", "NsXlYGdcDx", "UpYgbzvVQJ", "PFHJaBCpkz", "fANRvADWBK", "FiEeUoIxWJ", "CLjPMTSXVt", "VFelSqTpzT", "iLuxDLnpaZ", "CuRRjQVNag", "lnrKCMhjck", "HnqSXOGHAP", "zZWMRUNRsS", "LklxGpVwRq", "ajgTmQLzzq", "TwcQnuQKpJ", "XtZOaMnScO", "LChXCwzAQK", "aByxcxfCfv", "jTvISPXrqS", "LlpbnryJFf", "vPUowAumoA", "GobzdXSoBu", "ESmKwSemwX", "rAZdzJRlBs"],"c_array_date":["2001-10-11", "2004-12-14", "2006-05-02", "2008-06-10", "2016-02-06", "2013-05-14", "2017-03-28", "2002-01-15", "2009-11-21", "2010-12-08", "2016-02-02", "2014-04-24", "2015-09-21", "2006-08-23", "2016-06-10", "2016-03-17", "2003-05-09", "2001-06-22", "2013-08-15", "2007-07-13", "2016-02-19", "2001-05-01", "2011-10-19", "2001-09-25", "2016-10-05"],"c_map_datetime":{"c_map_datetime_1":"2005-02-11 00:25:31", "c_map_datetime_2":"2017-12-20 00:26:45", "c_map_datetime_3":"2013-12-02 02:48:43", "c_map_datetime_4":"2016-08-01 14:44:03", "c_map_datetime_5":"2014-06-24 16:24:01", "c_map_datetime_6":"2011-04-04 06:04:07", "c_map_datetime_7":"2009-08-08 22:33:14", "c_map_datetime_8":"2006-03-09 07:00:56", "c_map_datetime_9":"2014-05-21 20:26:43", "c_map_datetime_10":"2018-05-16 12:36:48"},"c_map_decimal":{"c_map_decimal_1":77.0218, "c_map_decimal_2":51.0387, "c_map_decimal_3":30.0420, "c_map_decimal_4":6.0248, "c_map_decimal_5":42.0230, "c_map_decimal_6":58.1557, "c_map_decimal_7":48.0084, "c_map_decimal_8":92.1197, "c_map_decimal_9":73.1312, "c_map_decimal_10":6.1680},"c_date":"2015-04-01","c_array_boolean":[0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0],"c_array_ipv6":["IFaLFLWpon", "TzWkQpqZYO", "HcvdhMgINo", "KlQLfhlHtm", "vldmTcgPBo", "kxOjLJucqh", "TFdSWjvHcM", "gGvfQmHGSs", "iRmvIMmzpa", "zZUJswrzKo", "MVskIQAPWw", "jFqMsNESAv", "AuQzBfuoAo", "eTvNEOgryE", "ZBIZdQSxWg", "tsosHJWqyL", "ojjdtIYRJk", "EwdvcXJPRE", "ZjXWJbRHKh", "bHUrlvZCOq", "kuUWEjlIAl", "QAEJWUjhgn", "zXaZjuabDe", "FIPXfPpPMz", "XUPUibrCMw"],"c_map_tinyint":{"c_map_tinyint_1":-117, "c_map_tinyint_2":70, "c_map_tinyint_3":-65, "c_map_tinyint_4":75, "c_map_tinyint_5":-48, "c_map_tinyint_6":110, "c_map_tinyint_7":12, "c_map_tinyint_8":-93, "c_map_tinyint_9":-118, "c_map_tinyint_10":16},"c_array_tinyint":[-25, 107, -92, 64, 127, 7, -54, 96, -83, -123, 16, 16, 80, 47, -73, 19, 90, 22, -87, -43, 94, 125, 19, 64, 116],"c_array_string":["uQmWLuKDFJuqqKMUNEamUzErMYvTlFFtUwLoYiGQEMotWwiYPftqkafnmRjFqYWrYrsVBKnXNrbCuJmfcPaWvXRMDxTQxPEYSwjtCmUYpNTOswqWLYwaKvjlgHKrUogHQougWSoTIekEICIRVhfjVFdZOVAdvSBkyUgFadOqHPzVvFnSlCCdKhQroMQPNYpoHpiVXcERIJSJtHDKfPKuMlNupSoomcnkXkQPgHywxmgVHyCEOUobpKuitUDMYgtwnfugMEuqEYEYGwETFrVpSVkoXmbTEvTQirKxAuMtsSUFPTNaGjDWmbFhbFASpOUkOFdHCZnnRpWlIhdgCFfEtSUVyXdKliQNwKirJNmzQOPJDZeMEuwjYShYhZJSYceSQgHBUOmKqyXhjpuVnvYDnvafVVdcFMPiuBZDRVorBbMxnMFGHigcODrHfkGLtYCFbrxWMqnIfvzOIVGESbsomvDNfsBkuznSyAgYhEEpxzqODsAvLkpgUIjdgijJMknI", "syOovPzjZPxWOvxooCUZgpumRpZsRmGSrqPRwIbvheclIFYRCZXFAbYkIzrPJJpWlrDUQleADTkpKhpRqZCKClTbuTGSnaasgWXqhVaCGTacTeOUFijGnfBRAhlNMjEnrVJnEPxeTYcDyEWrRNxAbsAPWyiRSuaYzcXZKedvETNDHZSvOzXfStGxjQsMtkwlcgEGhESPDruFCDsXmNinedYjFfGsymEtendMDGXtyaEAvbixUamCnVRFfsDtKVugUwXbnQnUVLCbTotNGXLzOhtcySJlqjdbDXBOoyGzhLsercWGzcDxFDJdBFaavYvLllSrhuGXJZmSzMQtNckuWWyIukWacTYhVCQLGEoETLJqqDYxyPmDboKbgOHTgpAJldkiwhaFQBIVAQfPGLoYLxmoqQvsyTcrOQxRBOULvYjyaqCzTPiXkQQdzjJCHfFYHdbnZVSxRLUUAGvJQmdrPHZDJDnjbZmYpsQKOzFWyHPGhCxGMEsMvyKGQJcsyiaW", "wbcQECcRygXSttvmUtiDVuiQSTGmTyjJOOopTcuMQstJHbKdjnYREIiiMAuevyEBSsJSYUsAACdcCfqfifOxQhQTCWBiqUMnlUWpYqbivkJcObfvAyWhinYPJjUvuabIsepnIfCBUsWjOckKScIbgBwyIulwknIfjBXTjMdKxhZhSkBfdUdNpdAoIukOxYcudnzgCGPIkEJVJmMrOXWXkLMIJLfCSzBMzJtraUlMSezmpzrjYuGDKDDxzLIznMtahJcdzuiXEimgOWaBAKwevqXHXLPkiLBvamGRYjfoZVGvxcCQeHbOUgDneCwLbLsPUJNQaGVaRxOjLuMPdfqAbuotnhxfvljzGrDPMgJYEuSyZSSTuvFkpBkwPnarnKQICdBbcRLZELXavhcmAodwtZRTBVytMYaOktSwPAcdWTcAqguLDOHDOEszUMGeNHiBPRtqVXfYdAZIFKDOmWSrupgqhOuRvzDBisrxPmndOxGbZZaOJycbDyLMZwtLmcOv", "VzJZYkPWKmLaJVStnZaQgqLmBLYhiLdEgCuYRWlwGWILZsBQPnWOjcBkOCEGPfjuGYjkmDlcLVlvvXxmghxllklmSVYaYgllcGDKdKMpmRusqTfnIaMgYiEBmzNDhPzdUSLphsvcnWFuNjMvscUEHNWbQRiqOjdFeKoZBZEOuBucRbTrotehxVuWaoPYzQozHQuCqLYuWZTLBPrpwVLWwAyEXQyDClXINGnRiNoyTzItIWhJwUUbfUoNHUWvziwHHrOBLQBBrdfMpcYvVgmRbsEJvNSTCcJrrRrOiRvXzZVLOkfSfFxODdNdgAFLoDmhzJwYXNmQNdLoMuYCaoZVnkFvQKFcSTJiKbZjGOiybWnABtDbMATLrHloRCVOQfUAgPzgqIJKQGYKEMGpTvhvbVgvwmllJDImxtgwFlZSGEBlHuEJdvnwYjnVKYMkqGvHAGTDvyJdjUTunrCcmIafwWAjtMgrZgKyOXZPyTMoNBjogqmZKAOlxrDONkNSQcwy", "OuoAcRBVstQgcVHXCilgCdOgYqgYLWBjRQyLOOeipeIoVlewrAtvkVXeNKNTwalXVgefPGzDgwzSOhjXdKVzqlJUejxuRWzrktcpGuQhasvduppYwIpfepkqxSETHnTfOVEiQBlqODogOWuzluXgQDBALiRJnmIGGPTsoVlvmZfjYYVmKBwpwDLunRoahCSOHBZZHpHaXBjMxZeLRrVSCtntcnEoslfUFKQzIVqmqMFaWGwGWwwIcqTsOtNNVXgCQeJRRmqCQwJAZGgVovlpCpVTOGklxoPuLgatMLCLnWVGIdsPCfFwKaoBMMYABOtWqqZuaEnYXWFldtamXwKlwpogxbLkeziVQzUIFkSPJegRmczwsBTIYNMBmkqaVGvgVvcbRukXAkhLsgTqOMOuxdyaeMrHDoMdSQaMTFEsVnAggTVoHoylpHaRqHnTSpBJDGgqSejTtbHXtokmiEBkgHhTHfHtrDQoFLbOvypsiTPiQNAmBACYrQcUYVczmrrp", "XKkKajuIdrhctIvYHnVwXyASuWyhJKJlPvAaNuRZWhaaHRviBymOJRtuZEnohGheUidcAMXaoYtOXswGrcyovSqQJueMXXbGcuCiGVJJCJOxhOrHRFsBuNEiMFroUDTSOLMOFYYjgMLEOfEhNvncNiMRTlQRZCYRwwmCsAqEFKPPxpRqSZTbXFnfZFVrnfAvYmqVctIgjXMBJnkJrRyLztHuaUfnLhVMMARwccGEiuvgsNzTeegixJDioYZKiXwmDxdLiepvuUtzTcIlShvWMWNTMdQlZCCmmInwoObQJABbijZZkXqkfhMscUGrKIthUrvfiBQGtJqMIbQfYKMBFmfXFQmuHaYeypWeXjpZQJSMFDPfhXmMHfIXEoxQthFzuHmtoxxCufdkFVfECZgMxxYMceAXUyVtmiNTOnznxiPgbKvgVzkQCAgnJLALCsCLgpOGTXnUoCDClwtzQQvloSOCblzSNJOfhllVzFSIYpbaYziJXZBvehSZtTQQOUJG", "MhzsAOguXWVnQnPUXPftYTLrWJcBDYaMopEixIvZCwtlDRoyPGnDJpZqFcpjwXyFfaazzgUWRgkfYviuJgdRRZwaMelLrARoDXVIsLiQqXymXxkSiRoVbelyAXdSThkFawZTYXDJugBlTFVSlMGWIiiuUNsGGlNPIqJaFyxgmzmyjTPhDGNWBogCclHabehqPvPSMmwIgGQRLvpWLAScSGeuWOIjClQGSuTKyBWCVNHzghAvIAqOKNoQxiINtEIdgCoweBSxUzplasmEYSyMcHtrbQNrHpDVZxqaHFRMyPsqNEOUuvQKNqUvosXcxivmNsVmFWbKMeEbbnsAltLBdoVGEMpqfButMgccfilLhQyDsqwiybRRDCNzMBtuTUFWVFbslBoAwDUOIMjzSiULZjzPxGFBVlCuFVOiANxOVEWtZeeJyGOnySBamHMHReuVRGLFhBWeMdyIeeIZstdPXlTDJUDBzoHVBfbNcYhsDOqGZGNdRWvxObOrjLtaIETE", "NnYtpKqDShKyvJXSYUlNiKGwOTUMNyifoKVSRnyqDsFlWtdrBmUmdhXMNyfKMvJafnCSOwqXdKZoAswnFnstxWedqKkaVrGzVQqmmJObRCzUkrqfmNdAtRlIqBWRSJwwLestTOcDRLsBvZPVhskuBdYqmIPvHikXEJrFtPvCOewUFIWoIZjBYiFhxvQeFCiTsGRLznjZfVnCnMryXpgVFexmQISbhMtrcEpPXZkvqYVvTHNFOdgqTkcPHxUdhWODItIBVIZfDUdLAwuPiFjNHLQKDKksYOMfwsZOxFuozpxoEUTfvOaWhWvYhCxsDAwRwVqneceUCpIvYQaUrtKQcYDQJGuAiLQNqADxlcKpEJpiQhVRxdlddmYUVIebDuLjJdIGbpdnYMYeSGwRrRWOMrNhFANxktSZwIpmOCHojwmPobMwrLOEGnqXtMZRrSTCEYJMjKhpTwSmnfzgFKpcuCfUHVLkPIFVqQRLLuVidMiVrhunlMKXNqZVbBrVBlyw", "tocgDUgRdxQpClPLgNPurOqFSrKWGYwkYYzkNXzUlRRnxsyIlkQjhkOOPCKbZViaUMmnNftzLoPXXOsZymDOAZVwEsHdzciprUobenObHqRGKEcpTgQadRXJwmDWnoyprFOrlClUXpLsxnpTcYEhLixdgdiqABPAdVVlSoMdpjhZeTOnzFdQSUVmRxLzliiiyBZAWMndyxPKtSdqSmMTHrZjAZLbeZYcrKDSflYdURInvHWYISRXEPjZuXadUHrFImrwdyOZhgXFvrWHtOmapMLjekCzOLpVMkmIVmnExTCzNnZbVYqITLlGykfbsKThFBRCJlVpILDnjmsBfwtnUHgKdCobWNHJNrQFoaXuOYlFdfQrUJoTxUfTeKWOLCWKKgmGnInTmNDnjQYvracNPojzqDdtpDAgERFZyrPgSOsiVcShsgXpURGHyEnDiRXTeINUHjrMFsnlaJinrjQJJnNQmZritFdsmPRVlieFEMFpBavSXevAkUotWzVnvgcK", "UOHcyhOhkiaZoueGCxbCJpqEZSQSflGyMcsNBJzdAtfgEztgLhfwMCJkMkgbJyywGSRvgDFsHqRlFeIrDRrNqAOIyAGROYEwcLQGHFBTAvuKCfRaPwQIeKuNgZoRAMWClhDiMSuwIUEeyGcGltSLsdnePjMmFWTDnqlCDOhCGvRDRAgxzWwGOVBzFsBxryuVnKwFiIwVxAMwQRARtAXxhUuxBmTDuoTSEuRiuFjuvNzxyqkXzLOzpSSPNIhkkSrirfMwdiKKQfnAoRfBEXEbEuYsbElgzqZMhcNCDnKNqzmhjabNrLcpTJedWgBEursktgRWRymEFnBfCzVMctOozvFZZBekPCxsXwpgQRdukRPLVhnXPrlmAQqRSAWaJDBruQyEESASrZLmpvtHxjhfJeOMwztGwScJCGGTfaEyJwStAcIdjXwDketAhomZHejIUGpBuZpbktGreaTjqwBoIotQqljpzlWkAesEiWLEzbfaBpqVOCYIFXNNqgMTogFE", "YadiHyCvtJgYiTwtuwFryKPCVvYvaWgtCihDJCLeFmcSlDjPYlNHkMqcRJuQPIOAJfUkszsVzShcwgOxJCgPEZhWAsFoummPiPILolZHkLDhAjOOPEYyfNFHRxXvxIwHrmDCKXlRVtVIdNLWinxIKQAdzWnrthvJBfapbaWkvKwOqJOmHZSGYhNsqhjUKExWKwMTuCYoFUCyAyygRifyOMfHITsbpboOHAOYgTCBmjfWMcScGcYZQWaRdyvWwdCaxpcmrcylvGPlMlfaZLKkwLjLrSMrXTmmRKwrLzbvCxyGQqfhkySphQYiNjxqaIBBJqZSFWqTOWutVlTHBIcBhjsRUzqovqagjkCjIjgmWSuvHaAmZPQxrUmtVPqGXJKFFPSSzKYRrjjbSBJnUbeqSrHIeVGkfnfAKcBSTdtunMYmqDrRbCqCOirrovrbXbkDFVWJhviKdsoBQFqAuDAuuADkQoVgJDMyrZrhepfGxvECoRzCCOIzfdBQqpIBDlSZ", "LglLLQLVWSnOVVLHkbIAwGZhxAhdwXwfZcPZxwlqPXcWIhoUXznYxXfbxMTYoLITJKVcxMFwADvLlEfsNuxRKmqrhpWohPPmpgmEpFflgoPwHYUCkTsqbTWsWbmxJBJpAoOsQZpjQnOxwXosfQNVYDmFFzNAlxvTjPuXIKyCqXoDkHZmcszXpUnRpcWWvbYoFdNGiwvYSPmEvaKkVuCwqAEPJeEmgzaLmdHedmfDQkAfpQiLTtiMhDkjpwxESACBFtrKopLnoqksjBqRpTbNSlcabfdWUXunHvNgiYjAtxgcvaWnEIVMqSYOfbbwSUcClMyomhwjJZSLLoWgkZVpoODzpsZXvKYwTXCaCyzilvbuusBaXpSyxtEeLdhRMqHlGhmhzHRnIXLqZKoQlEGwmfBMlGIWhKtscxSQvodHDGakFQPRlQErxqsxPUoFnqylBhSpJqeQvdTyhMUIrgzFYEvjVbRYDeDqzSCVXpHkVqoXWLXFazvBJmCQqXgLFfvq", "ArzzkCuebxxigrjVgLKvrBHAhTkxjYyVktHyARZaLbHcoYuBejXDZPgPTBxzpQiHbKKpncFUVfgreFRHvoBzXyBLmOPvHlkoTTvlzNJSFXYnkLNTpDvDoNsayZkEKzZaIQKInXMBcmbTVXGTdTawWztwutFXKYhfSsYqdYjcjDRFFGAYRmbOtuOowukslSqzrJBWaxebnrsxaTmtdkxXnGsfvGDkUdbYHPNeKczrQSBAOrTarprFsPNsfYzWmBAcyEMPnpzgshqepLRFwAdlnEpxbXZBpRMBuaqieTzUbACsASOZSWzOCEhbHEeqSJdBhNzkBWlfUakoijcpjiLiRwhMtSOrzcTJzwRLDcTtgsSpzKnNaHmAWMGGeSoNRqyazwaRRREsCldfJLxPYUItKsFsdNepUWXXUgeMGXcrWinXvUKLQMoFuIAhTnSNTgjUvSCfYmJGMaBiAJNSHSIFlnivjFZcQvlwHQpALJfyzWSgsbnIcvsDbQGdtShMocQq", "BTeDWUPPqZSkTAKqMiEXkyZljLHZbyBuPbNSmAsdmfYMtrABXSXReMITeWnsCofnOrySyyBLauGvRIlCWMFrKcGJGVbbsmdUiboKgzVffUcWnYBFBMUUjUWzdfpPvgYwjcNhQEobmFVMWSMuRugKFbmDVrrNXVfwqsmrlaifzpqQTtTHADzCUHNXmyfPFMLsxzXBQrZeZywAisycjezVFZMntzADZylbQvmWybelExRYeSGcYNGykBaDTATwKvcqxBvyFZUPBdRgcFRHmzbcxBsGMsIMeOPAVUseIdKGGnhSaIwzRyGxZlEBvravXPaVrYvXdeFnxpIXhwtAQsIVdOlzhcIutLrUOolQPVkHANspMmFlLwnmpomwjvJVxDyrdSAeNAkGmjzPdQsTKLaYLegiKdCJmkvxRlouDpblaesXErATxGpLJKdsQNNjEAblabmCjzoxmgIYyActKspTVxwtLNKgHHhSCxFXOapiCYHZCszEYGzweBNRpHooLHsm", "SAALaKemUFWzObLzbNMZEiSOGDvnBlDQwKkcfBcNkXYanCRqwrysSlAojyuhBbNuwEwhSteBaMLHEvKRFaYSXrHIqvjWzOSkZkKizkdxJqQXIWTlDQQgrMKOuaDMgCGjAGTSVRzrxgZDCPogPQxVqxmKtrCdLzxNZTeipehfbxTyzEAGTKQxcZnSLNmGLXpCaOLJmTVMSwMNGpyRSXLZwwlxaiLkfGKqJTRoyqEPJBNFNStKsUXGIWXwNivrUUQlcaWCueEhSYfMpfmVPWzIPZkCosVRrIoDWaxezMetiAKdINjKKDFTPOGNKAnLgZslJhnjNMVsxfPZgJFblcQFcugNAuokeedXkWWHuKcjolYEzUVIluIsFKzMsEOLcEPpIiSDqLHBOolawzXRrJWdbKqKhxqlawLMtpBHYlpjuUElGptNoDUYFgIJkIucpmfHMBDTmwFNBAVidgukyrhbwzfDPpTegHjBqlNWUYOxLuAyyLTSARTrrRxkPudxCVFe", "KrXIeSBTOFiEDWcpzIcAJPlcwauOiRgVpMYxKxWmpAqBKYYorfyIImnbIIYrsLTszQTebjggguyEXCRlLggJNjmooRFxzTlhsRCqqVSEqeQecPhYfGLlwysGvzEZSchYeKVbvVPoWrSzRHTCNvKjvieuyAsfpZPZhkqrgCQvPQAHgvJnOGYTFNaKmlzZTFTCBMYvKqIsFqlJNfnVuRHhnteNehibbpGIXDvifvMXBMrZOBHJztKqjxAznmiGUiUkUtvNOVVkcpEjOwxlUTzVnuutdTLZuKCnTEKmGSnHaAmyXliGOOmGHLWHemmHpUHSOwhmbfspeSzzXuaXCTHLrkJwRWNgTvRHSrsHbZXkohHLzcahtTEeSqRbmiRZOIZFQConEmqMQeNcLWiAvhwtMgmFGeSNluZXUzsXkIQMkFsyGnrQsDKRMgFhTyrkBDSWmlzzXmuCaPFefQTEFYLsgjidNItDIbMhZNZvGspwdgcwynRKpilcqozzFYbMLxyn", "aSmjksuYGiiJJXfCYNRCTAIAiyUFRSRReAOUpmYiSEzzWzMWVakYKwuGzOtpznDGmPwSIMFUcTNBHgllzhdYpJrquiDmGKDxIXvPrRWZqHjJlHFCkjOYjehxMygHfqtUmRHXtXpNXsyJZDRIHFEpAmqShXHSoJyLxVbtLZdjvdzuMhSTtbJUVHCTbpfwkEjVahsdCzjdisEWhrqCgpEfSjlglJDvFRnbBSuochIrWRvffbtbHRePQKXTXYTYGqiiGMooTuTuUqlZdDKEUFSGtBPoshDdhplfjxraSZXUixWJSweCyYGttLInrxROdffAYdrRDpNTcIgZhdNffjeHSDHEpjsvxwbvahTehorrzKVrwrlmACgrPdTtcVkWwdxzAhMNVyrGAiFtRZpfAQRIIvVsiaJBoxxtgPvrgzhmKEMuoGazAeYEsZUMAlCLFPxJMUhfkCfcOYtHfDzHsDBjQTWSKTYAoRqDhFdPtzfaHQExkFstWKikBUdEuEmHBttf", "HxRIJzMaOSOXgVTQBTcfeJhSbSzIWYGnvxvZIKJlFPCWaPsFPkpTXejwJDuuNmPziBoePOdPAFkdXjuJNvNQePHBOULXoHrtsFLvwbtaJkoFMZasRvAxHFjGKhawwzOaNiDwRaGlCMIqxsbxxyRnwJMwPYMzIEJswqfQkELhKudZApgiitrRwqKwZGdSqFwcjLDtYmoQhgdjzSynYlcdcskVuQmWJfDsyOPqESJfOEjjGmTVcJvlXPOjPwxTZiKPYBmXJFNWuGBbbvUlpYfwkoMkCkEqdWqGFswrGfOyCstxiOlqUwalrolahAMSOXuJGqkgrclIjJJCyWhLeJEjrOKhMRroqtokoyuSGrGiDFDKlTBKjLyumRrOfwPBedchdNPCUBXrcHEEuUzAVQdDwVFoMPRdHdzaJByTzxPJIyMEjioeuaMKQbeLnRTPozjGExHiWLvvQzUNemzIWInRfWnZBEHqsgxfIySrHHiIOOlinfvnknoyTeLPqjxpdJZV", "YPQKpDzmYJFEMIEZAYljxgXHiyxSOqUezJPymBLhYLEpxEQfQMAtlGjVFyDygEeyeFGKokzUIBzStmKRWYVcVknhRuVeNftmyLBZSdZliXiVHMFdLGUwmpfHyHLxwwJVLKAzNVmizXkITTktZPVMJJWpaIXRqwqJNiOjgmDwuWHJXltGAAaOzduKFyvyDAXwfCKMjrKRwcbTfgJebvmqRsGEUeUKMYoIZVLJIuRQBaADfTvFIMmpvbONNAMMFAbMhZeTXuIlscKsDFQdNptVENmKjxsGfRQQfgaXxPgoeQMRbPRzZyGlpJBIwzcKerIvGOiNeuQrcnCcDcQtxeFAUzsmLTLoWTiNxtcxyVQClbSCSOwccJxsvffjxgyujwzfqLjFZwnFMUBaxTzmDmVXowkaKTQpIKxGgKKeeUZxxrGvmVigBoltEvIJuBluUsaLEDXINdyQykXqnonyVVNzXUDSPwgYIBHoEQSNunxRgldsOHfnIdCozZehLdStexRV", "MroOXGbLxJuCWYoeXDutEeHWRGfNSGgwKzCeNIhJMKhYWKVHwWdBsdWvCyKpyfdwtZlHooGlSXtRwhsYFvhZGfbKOWVyiXzlzLfgwgszRJHvsqrKliqDCfeNNzLtcSoDnXMqLDYpciLLPDliTkDZLctLmIPMIIfzkLoBbdZeMdGCsOzIQtRuFxmgOxTRnJCzmuaWUZYpoAAWUpPoBAPhRVNtlxQfUlnzhHFBExnKBoARydrHhZfuQkyvIKYYNmlJDMmHpzBiDxjvOqZARlNfJCqhdPYGJwZHyBZxKPHsJBTmWrMdQAxPXgQtZfONvycsddMsnZRhAnECFAzBbzWLFFQXeLNaDqrTTfCeyMCFRWVaRPcEycRlehfdNCelYIkzjXZfKlQhCkzIlfowFqGJewqMEZZAQEBQgHluAYkPUtQLhQqBRCNNtTiFmdWlPrUPjXcUHofWgRGhqvskZzCEhsmVlfoXRxnAuzlFOTdeaUCUtNOnQAQnKuYBkLKiTIcn", "hwWlGAGKPPYlMgBZPYHzeglRzSJaUWSDdqiTSAXVquNKXAAXBwtlSkQoEUfJIldRoRRAMOecqjeKhbuOnRGfCUYjfdPWsxFKAtYfpRQRJyyPSDPwiaMrpQrwUyjvOvgdUqriQGxqDFHPAPVuJmSwuQFkpGcXzdJWkSwtdztQUyWkuxYabYHZVgAUiNjlwZJozysqcaZvpHzGYPmtrHnxleMjRzdZKgVWPTeosAWAggOuHJfIDLoysXTzyWPCqLCQJJiWwuFpQlWpHTryUPDidiayHwKWSDSwOrqULRSBXGZYyUfQwegaZGVysJFXgqCxkWBlxFQfLsmJFPMfykXGVPhxmLYlbIRTzcPGISxcUGAieMYuQAQarYoXFnDaBXwigkNsniiUQAMZadKWgPWZkZniUniIghoKxMKxxEMPNNEYEVYAeHZoQdZYbNiqJpeNsPnvPzZwqgaFLWIZEySTRCXNcCUtwpiOajGiWjMtGakrcbtvBAfrRmtWXmkSPhlv", "vuqndjNEynkPRwmoGhOIYjCEIAensHIYQSSHHqKcbFNqoqXxzAObqMCRuUXqcEsuYOEeOzmtgTkItfsnKgiVbpymyWUHOrihaRDqkLavamBOUEWxuTYPWiRWDVBfbKnQMKHxXimOrpxjkjEkDKiJPQYvlMadSiOGtHxjABAdNRnlxStxOvDTLylwZUEimfNbtsoRwDAsWyFYIzDkatkvecugBYmAVkXRExtgBOebBupkcFLIlzsLKyZpyyibLhDcLhwiSWHCWGPVgvhbINNvlWsJakbBtsBbaoJjoVfhAAAFuLWGNsztMgGqgOyPTdzvzbyMGDSMZMBeqhEoLFSbmrSvUwQuewJHQOYWxuFhwcQbKZOztzAUiLxsDQVlTxmynTiUIvMfvuRlZrrbVetSvQhUuIPLuVnUZMWMzZiXDFxttZlOkBbUMAaKnGPcoePTNWfNJkUgDyUPqHRDwyNCqWxTZPEYiiGCQMYgtZBNusMbWCFXjkiMZLlTMDSIseWO", "AYQleinRkTxUhAKTIDaLQeFmmnSJeBAAUwfTrhNbecjxOctDCdxqfxnbfVXMqUXIcZIEbuFgTWonNOVNZqfZPAtMRhnIVLVTATuNsdlLYKXDyNECONTcYiraOWFqiMuihdmdRZctuKPgphkbkXwCYZmigleIrBPSbUzKsYsOHxiWPzcPhBdXdbMRCHIsBDyGaKeoOjwZVMYEunMoHkKHmzvtNuHvDNnowLhUigXjkdeMSqTZCBVdTuUCvIoCPPSPcNqdiLoNyAecimOOGwGTTSuoDFONuzStzJuBKVTcuIAVUZjCHTuiFedvnPopuHjEiMIbaeeVDGhxfUcWoHFJwwCdKgZmDSMoFbHwhwdmBinOUVrFhnLpuPCkvCNXHMuydgAJAeZamGOPobrefQKBcYwLTYPZVEJJKcGVaaEbiZxajHvApQqLDTVyjZFMKbAFmUqSYCXMRGeRnubttfIVseTprqBfUoWINvpsxwZxpWpQoCmovzsSUaTohmNAkoBr", "AgNvLwKFuoqkUDCEVyFltWNJiuLczYBJrWmKjXKpnpzHyzRIRJADseCwzYKdcayhVgNLVeyVGibdccPcNCdKMDiAbYnpnzWMgQHjgJSjDUIQbLVBMEnnXzRrxWcRkNKfGeqhPBLErTxvNeXVWGuTqSOmKXqQRITSDDqSQDYgwAQZmcMpzjkSdvgLujlfofIBOaebVCvoFkSIEVPwNNDpCeHrzRKtdYwQbDayneRmZSUYTdiUjRQXPrgOOJxsSdUOESOdlsVunBlpvOJCPyBFXALcGnoIZMJMbNxceSnHyzSpTPnjzmmCkwywbBiSBbCkwBhHPXRYKfyZwDQhaHZGMHMRejtDUUqRNwmhvIdFxVcxktxKiNjdatLuosckpoFjlMOVYrVruXvVUxWAVUjeAdgJNHBwUvyLutqMcudTdaFwVaAcQyUcLLDUZLFBhSEbvHhYUPVrNfoSUSCBpBUkYSlAwpSSpRDbbOnXDCdpembdTfRxZnNMAioHJGxHvfCS", "ebGJKeyxLhknQppWZztUSbnIsORudqZDgfBYXzFUtjMhmYKdMScCvCzBJBjjTewrgGiDNFkbRtRYeiFGnrEBBROBsiwQUOwwtWHbFxpISFoyWDtYrXlXtlcMZPDFslVcpLeoblQYwLBVuOkYQHzqVwQwuUDVXZRYPGHpKXoPZXDlwaCsYjfIYCnbbvuVZpacHluwnkZIGEjzMYnjkIEbQMeHwCpglTmYOfjbjJRjHrRpDwWVSocfWXwmqNZhSjxmwTsAckxgnRCNtplfRRYJzINiSemLEgaInjVKvEtlPezyzDuDGsAOpiKPQhUBjmKyLtJVWwdzwyzFbBNSAxJEWQpoTjSpEAPpEIIeZdavKqxpYcLlrBZDBmNTjNAyIxFBTBMTAsUtRKDOnUSPImuVZytqSvytPBspSmXDHzcqHbxrQNxqlytdZkbonVoSowfepsmzCNjurKpPKWksCUMVFPNjvJeSJIZNxOrqRhmYoJcDGXZNRqgMrmVrDARMcWWu"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_float":{"c_map_float_1":67.165115, "c_map_float_2":88.76633, "c_map_float_3":21.533766, "c_map_float_4":47.679024, "c_map_float_5":1.7767875, "c_map_float_6":36.094486, "c_map_float_7":8.600223, "c_map_float_8":66.79667, "c_map_float_9":83.967255, "c_map_float_10":31.843403},"c_boolean":0,"c_tinyint":-3,"c_int":-140138619,"c_datetime":"2013-02-18 12:26:53","c_map_double":{"c_map_double_1":38.31647412793004, "c_map_double_2":91.53025727572938, "c_map_double_3":22.509511076710755, "c_map_double_4":43.63208307284707, "c_map_double_5":9.292692908783575, "c_map_double_6":59.38608303079263, "c_map_double_7":19.109555453888934, "c_map_double_8":9.263603320055248, "c_map_double_9":72.38807261356693, "c_map_double_10":48.770244255868285},"c_map_ipv4":{"c_map_ipv4_1":"244.65.150.31", "c_map_ipv4_2":"220.239.161.109", "c_map_ipv4_3":"130.43.55.182", "c_map_ipv4_4":"189.51.162.189", "c_map_ipv4_5":"83.80.118.182", "c_map_ipv4_6":"210.208.99.104", "c_map_ipv4_7":"144.4.192.131", "c_map_ipv4_8":"113.59.1.81", "c_map_ipv4_9":"8.179.255.164", "c_map_ipv4_10":"238.64.49.72"},"c_string":"xTYCXLorxFvclOQIWgOcvGcGEZQXKTsLhJPumYpZziTRWghSQqYRQPdVdhwPvfXPllKiaWhmKpVrJZkjxeqAuApDWxkDpxqIBxWilyldPINdGnxUOqAZbEfAiMRKoFWpyBsxFMGaLihWWVSpiKPwswZxWqzDerURsSiAroajqwMQuTLrOzlEAbndOPmERFjgCJiFOzHaHRbTuitDrjAtNXUATuTByOWzZHSayLeTSXWrAqWRsFnbuMpxTrptnUWegXGIUKLExlJYeUVgGCvPiXhGIGXRFLWNpgOMiqsZsfipcaYWbomopwjxpMkermEYXUwVXbqAIvCCRcYGykWimhBcwsPTUIOMBJkOMPRwEQLQMfFyaXxvSPhzrMEGLfOPvPWDhIpVOfESnSBjARxJjgAitXhETGBfHJbRNrKcwJJCIGqZUUKkpVbSmeJdPLzxsYcNaJjBWeoUTDrkfHlOiszSQCqxuRmriMwOiYCxLVlOBTQfrnvcqjrQAsdlPPvO","c_array_double":[23.370344746625946, 6.827218184140519, 16.981117977089227, 45.139996173579185, 63.4501221730554, 72.04523768059192, 41.761667840235226, 63.70385549075671, 86.95095041545791, 23.53890984362294, 61.93206163350036, 29.986468789946386, 5.687783288433028, 59.280257908559065, 95.59624652185896, 70.00710190765608, 1.3827640859824282, 60.49545313490051, 28.491051183117712, 28.57301296758294, 0.8715052582212067, 37.79516738591974, 57.440361906935806, 63.32976974492617, 31.561288284447983],"c_array_ipv4":["kdiToMHVDr", "WKAVPWFBko", "aUHlAbdXxV", "oEQuJHqaeS", "pEBZaCGTds", "FnCvGaWnaH", "ZdCexfUIVT", "idemYdWkcn", "AlIGAibknt", "OZnmjcrzNx", "PSqXsKnFRQ", "bVEKhYWtUy", "FehYehwcuh", "oZecDrUfOC", "jqGdEKZybW", "emjYzwhRPk", "vbBAxbVedu", "HhXbWHtRdf", "kdeBLXbfWE", "PSPQBlbwZW", "zAAGCdfoEr", "KJzQpNcGEU", "qWAfPRFPfX", "wCdklIoztx", "qCPnwGIdfU"],"c_double":87.69502777044453,"c_array_varchar":["hvgsfSAAFfVSyzHAvoSJtlBtJSdzXkXqLoniqjPBZTRPHTVIpHboyefckaGxGFqVdIVKgwBkQXYWKTaxxGeKFGvloEekYHoawUGtIEIWiXFgNqpDNKtRcXdJXidHJuhSpaarpClIrgpZdKkSWGsKhyJGibZsaWeKuSFORilsHeELjlkwANJAhUabtDtFvFDtLAXBeDiNQfEBDxAVCfZPoYYOUhvxuSgHBeXDNJqixnZbMcMXvdhQcULpfMJyvpfe", "GSLIQdbQMMHWUtbVaLVXzdDnczAekOlaaDjaDEfekijOPOTeJODjGPcizePnHRzuORtvpuzwKvtepXjyODyFKAscAXQmPBmaoahcituTeJWYAlDNuTqvFeuieDwCmZJyuOeXUjQpsxaRXpJPOhCgbYLiMCyqaViGIdvNZfdnWxKAtLjMDzTJsHRgfdmNnUZBZGJofPSzShLzTEdGvOxVJIBuGoSdMzwjKsEWfprYMTdbzhskkDzCklyxdlTsQlZF", "pXBQIwlEtiUGrMQcBOMxCjRUYAHfSgEkykqJytntGlDvOzHNMOdwaZwVhEXVfGerKjojAkuILxDdBBLRMVrjFZmgDWzxiOnqURKwOQpftUOwMVRDgAjzrSbZhBMschMKqgmXobeYRHJSQjIWkVVyftiMhIbmmEzxlBschOqmonTOpCulHYIfYGHMKjMyPUlSdmruPOGHHgLvqzHieewVenTeAarCcUGhtJnuYmiiPjLTqomidGhctDdUCmsdMNEi", "wdEIVrIajvcYbJviVtbfgcREIeAencvsufACBFZYKSqKfhCZwAUkcXBAhQlcRnIXYnIMQDEsLduEqzOTCEMwYpueQFTHFEUFUmKPOVQTGwyWcFjYGbPdoukKTUPpRZFhEWXazpGoxDGMJvVLzAPLZbZAhyrOFkaPkLtOmQvBpQzUHsIQpZmCjIGqtMSFNCggkwykhnuMNZKowgUtGMBamqJrraNNnLTeFliFgqavSAFyAWkMZMhJmoaEeqdXZCLr", "cgIPzvfXcrrhaJhAYnNHdDdzWzpywxsnVuZNNiUPdXHMXvwBywSgRWrpPafoeJjrGDsTgdVxdFupYBwMFCYiIiccKxGoIFHdZTeUrJCxoPbGLoLLGFYravrjjZrmCviLIENDKCgzufmgVgAsyaEobXMHJLzSXaewRCeyvmTinVZbXdPuuexwmcLoPFweAkLAEPhhUyhZpFjnpJWAPsbbWQeWfyOUnzcRgDwFwwEmAxgQwnYCbJhkvERAssYNEnNN", "YrUPVhJTMYBeHTNjkxSlnHhgOlfJWkqLnJwcHtukaRCKeyifOwYEVkVQotJlzUlwjoEiqBoqudDEefdshQlNQMUGdnjlxaOJnrwHLOdYMJBQCdqJxINGQXEDOKosdaOgPGkFCKzHXNeOcugawmventBmlsuHULfeRfBDJmGyJnJLWVnDXUzwgdBBJHvkWZGJhxfHxAIMqsVAyouNEVzFYrGHhmRRJzlbsRyvKfTdGLiGgzudzdpfZrGLNNZKWvbX", "tkSVXdoOybrFJJcWoUzRWCyKacWbuZeCmDbqlWPBxwilQEcnDaBiMJjcnbJQcfrPKGdPqZDjnbAEhLASWetZnxcweaddWLDtamyucVVuqFbHlwagmdrGyEJQXuNQijDdYjbEKmKBmXOegDefMdsbNKKjTHzoMoLqhkVmKrJKbKbZRryXzBHzOoohjTyTgKYnDQVOeMWYNwjcSlBXYqvrLzKOGUtiHujbNgudURvSfNcJimVKQrOwIOnKutpYbYeT", "BQKHETtGPOGnLJUHijNHvoHrTUjIAMmOjpjYJwQhboKrqCwlaGkBnfcdjOZGiWNwmAcwyRqPpFHgkBmuVUuDtsvEXGWSqweiVwFjnXojbZzpiJJzaFHAWuTItHOansyUrgYyeffUjCzCtmZaWmMORZRBnMPxtcxYTOWoXEYuMlTkuZMQNKRtntWfRxrHveaLPqxAoyeRpoWBsddVuZWYUqXeserAOdQPeGmyXBPXhajXcVgqqmbdnTsfRJFmegOX", "CUUOPhwmbqkCbIZeGmExYKINzoVvCXpNEaEZjipCwrHUzYCnpMmeotkvMwoCGoVJEEwCdUKkDMNblbcVnMvxpunTfsikHdDMcZLxamQSSZUVfVaoHDqQTwdjzStSvWEigTNPwrLpphEOBRoaybQZYNoVNDdQGYMOjKnZmnTBDMytLdWoJfJjacCbBTdQxLoTIjSZApuFbgnNNJnhCYKKeBfHzbMlwyHsPGRFHwbZmOzHqMDvjklBZATLvGuOpSWG", "IIBGWwOWywLspscadFOoKYgaMAWYPGGzPXoqzfVumbJdlhGYcmnHxwwJANqzMBLkwNWCfarkExoxqqDNhRcpNQJYOgiQZlWZWyvdOEFhyVkggfZPkIrNTSRUKTYapENxUqKTVybfTndUaHeJDtVeaxfiQdNvvcXfKSHibVmNowyqUskadXNlqujuZaSzvupfDTWhgjhJMMZczKvmXrnjGtjiAyVBkbDMpUVUuCjXWlOUYPzTjFICgEfeGHMWYaTh", "uzQihDUeFIMpyVDYuEkfrmykYoohOEzsXcFkZHnQxPIxTJlPGSpkAWsdaknpFyWXOcWVzJrqEiSmYDXxZdCfBiJGUcXVMWTvviEQpngNdqlFNctDkYNSYbXzEXIvaYwIJtBYnVxBYeWaMHpEusqIqHEtHVMoxgwdPKwxZDcDVKlWfIekEvpInPRWiJWmqwQzpgLFUYUflJvqbaFiDPakwRIWnmPaSVBwJDOHjSDKqusyzHqUQDZWVDnLySPSGBYi", "WVqRRarCjMdJblcawJmLdhYegriAKKhtGGobkUcEiVBZwInpxAHOnRnNTWUMvXqpIxmGHmlAAsNSkAWhSdjcWxCDpughnCQzDRNJnVDOOMAMiGblcRrYQJvquZLyBCRVKkQdfwMuLoUpUdgugnLusNapigwezmYzCWpPxDdmTTxWIVVCYrzNSNsiUnuVtSFdaWJxuhplHulGfertVPwytLaGzBKnvLQmvxrwRZmsyIImzihYdIszcEBjqRWNFont", "fKshdomfvAAyLVCketRiNMrzxkRDIVpAjiJwrazZcbmGEvyOJeQLhcGeRWPhnAsbfsCHvpZXxrGMlbHRrZsfhLXnRohwUUSPdUWIOjKeVSsiVNEAhOhBuuowQuzuAqwMjJndLKhWNOXnanYoIiKNrEhdNsPYyusJNufOtjxtdRMKLJbRQEiMetsrBDHywJKptNhieJhJxgQpVKjXTFkMsUZeQiCFWrLHdPQLzXMeBmrJKKePcoyEvwPNoRFFWRrn", "GNogVZjUKOIuoiBfqRkhZUTkBBCEGQPnSVmHAngLEBDAhGBPbkWnfTQGZuKfQmXHiFRoRtKGxXLeLuOyUmBRNxrNMVZquCrFVbwqZYSSzYrvwjGyRQXfMznoHASbHfIBwkLGrNkPLLcBWdQRhBrkeVLGwSiBqstaoOetmFQWXRcKNXwTyktGMkWFiwItwtubdkInuXAQRKMeEBnOtOCaRZIGUhusnBUOuKcHmRuYdfWyfrSTnYIhKEevgdXgLOyJ", "lliJQdQTpufoQrJsGtWQsYaVwZVhqXkQMTigHlNiYODjklrWmmhKTftiEzZVtXwNhXFJUrmjIyvQSFEqTucrEsOFuMXemMRuGpjIERPwrIiXNkPeKVjhEMfCZOpUkPRimvMpSdOILeFksxCMRHhBKWnEqYMPNSbkMCvWgTCiNtZFFuRHFhDUcLbHqesOFDWdsotEOBirvxPsvDYgupaEMUYoBCbIuiHuYVorrQQbAuWDubfsQymIFRpJYJwHbgFF", "pfSBSSFwgdcQYnfBIKRJsYSKqqOzDrOfRQleQWqgJMjdzJNdzDIycVVCtKeJjUsMYrypLsvhQQpKqhXVavUQEsPaOiFLoKCAZbyJOADtQCOkHpqzsgvMPmRtRKUcyEzwWevLcBtwwwNEidyNNpGpEnBSOlYrdZHRZxcDYTjEAiQRiXnQkOTgpfyBMLHhLeWRwNIkhzlQpLEFrNgERJbtYjMPFfqCvvGIxCzFCwwGtsmJczhBXFuACvrHaXYUTnYf", "YgciUFLGdzYMkwAQCBNMOerYeWBposRAPYDtYmVfToGHDqTdcorjnDcJMJcfwuOuXBQKZSuBiozuWUFYbtXgJvdsUwtaVuAnlSgehJqmtrnjGroMRMPoFNCSJhjJZsrFfQPhFcYVhqojDApbUIUghpltlGMvlFjJRrziPAHFBjXzVPShtiZhlqvFhelhNwLVDMwAYdDriPovsmmupUuYFOlvPfTAeyOewGzZQgOVRhIfhjtVhvCSIPOLIrVTdFjD", "PIhbvmLJqHZglNMjztmKgMUeBJahKDcNzQiPZVrqSyPpyrOHFvKOPaBYjwxTGSsxOpsFbjNakKzPxUqjcpFYBhHaSVKowZmOMwUjrzGySdhmdVWBUKMuzwOhfPgdZxkEbrFdOBEWDnondtHRMFvFIFNCRgXZFfVWJGhHtVGvrObwarrdNsWGCPtfTiDkTVaSfBpKxeBpBzdBLkxXGHghQclTGzCydqvaALJuurvkQBkeFEiMRacitIMoyFZvxDSl", "GozdWJDBOTNYFsyoiWUPTiTSPqSAZwzdoIwooSQPdGoZwEpnGLddHGGWcdFWDJcWoPQIQoYOYrnXKIaHJgrlQFSJMKMJvEflfcDMoeqBGdbMizDeTvHMVBZiIRnbavPNzqpyYkFYfBGPesOlhBmjdeipZerlMrxdUtOsZwllZFTcHzEZhuMknSPglLyFABPFaizcXcNHODqjCxwyUXOrcWNahgcqzjPtgAIWTPWdkBFRCAWNTsXRlRAauZzkUenN", "YmdMwVmMoQcTOmjfjGTdYZOHSwPkzmoeqgqFPZjsVbGslZrBDPDSMfkjwWlSJVYBWiphGDdDtDYXbZqLdkavBgbZDxzKaEfxhRrBMAIcYodUlXrxOMBYnKZMgOEjNkVVOPjuThPQHQUyZCsCrzWDBmMLPgndNJzZvJGzhbjhMRKUaeaBFcKnBLQOmVhuANDkwsrmOTbKShCtanAIWtwLeAPttBxzzYJccmkSvAFRNWomfYzUjlqRFONXdOOilcaj", "iUjqBJsmNRINfxSZlnnGJTPjCnDNFwhxiQmMklmxlgWiNtOwxUYwpXXUjLdnhIvIZeZniHGhbabAsEMXvDTddKwinqPvrWSjHRAZhLhVEtQwzhABJrfFsefNmIFtbSxFjqfzsFXoDszjRtmQmTePRxHWEUPdUHklOjTZBslczibBBzxNrhQBQjDFQicQxyTggWxlRqRHJdElocSFVLXNpsfqfreKotfWeuIngRPTaYVEsMUgQJiCmPeoieifmxSw", "XNFhsZSLVUfiysRFxHIgitoAebCuMEZchjXJzGQERGaXupQiilBoYiPCcWzGdCJdyencbuhtmFBHUqAHVFNgOeMTyhickNgMFoxAzquwwCHQimsSAWrsagQJmocdmcbKUirVyeiWjcoXWYBdObtcQGTBdkjJEYIqqTwEkBsvfJEpvjQBRsvQwuNJrZkhwduJybgprtQBQYHKDwVEDayAEhJvoYYCNzfieVbafSvNqpBdOPysZzSIvnjzRQugfgEP", "DsSXjaVMbAgmRqCxtcWsBtPlIcAviutMVHJTmkAFOLjrbrjyAFGGPGpGUQXNJNZrLrUzvscWBEHzRXqRkevUkfhjnpbkvVxAdZAYnFXkMwcxKJWugvgDwtyooLvquEMpiewdiibcOOUNiaxvLMlKSAHoSdWFzyDaDLUPymFMtQFeJjvJBEPRAAIzqaLDYgeFoZjBTyNhmUIZCtEPosesXoStwPEyfFjaHOpPuccdMpsxINAANMwKuONMNGGycAKi", "FQlDowBpXYRFJuZIQaYIPlAzWNnPdHKdfpKhtDHMmJrNPNOTZRhxDAdrfbCaiWWFXdcyxTZcxTsOZjokbEXXvXaAojoDPclNHrSImzbVhQsLCHyytQDxztabmXTduHMHwpYaWWtwshdgDpiImwcDYnimoQRVTAnWgZUFnlfKyKNaVPoeFcDbHMjEXWBHXdQFlabFasfGPQPFikqtQfFsOpZliwqoMsNHcGYVAOfnMuRWeLKweIjTuZYDViLGVNMt", "bmRNomtfCkzZyENFdMqfXqEbKVcHIPPkOQWUhZEfYVRXvsaACsuHNjXzrkZSseNIabnQuuYRLCLlJwOGjknGHLOqWNULmNAIDyFxXmaiYHMSCQbftkRntCNzUjDKPHzakaBhaXzslwPenXHOLZxiMKKSASJapfcjRmCIFwHTroUyuFeCOqYQLyDDGipAaQGYtAoLEDnTWnZZBGHZMPRAjYbZaOihReaemBGfRIMhiCWRcIRGpSlYxfqLPBTtoIFq"],"c_map_char":{"c_map_char_1":"zkRplJNaAY", "c_map_char_2":"jWCIPbhpKU", "c_map_char_3":"GBFvioFFQs", "c_map_char_4":"XphhbVKZCC", "c_map_char_5":"cRnZaorCpw", "c_map_char_6":"UteZcnDLcs", "c_map_char_7":"JTmDkigCAr", "c_map_char_8":"WWDeTFsnCg", "c_map_char_9":"EReaEbfuAD", "c_map_char_10":"UmgaqQkToU"},"c_map_string":{"c_map_string_1":"nlTUjXxvVqgmswDqBJXGhYpYhdVVBtZhaIMDSYnVTqKkopFqVmqQQwQgubkcSfkciStbIYbdBhxQFyXMqQGJzUCqnOuVrSVnJlfkXvewMRFiFargjdyZNDNxHVPmwbAlnirWiKTaIrRVRyQSIjktCXZRILAJEngxJBnaIXHDBLvIKwsvLpEgrboJFSibJqmzqoYhnJpoVGvYPJedzSasCDOFzYYiZkDJPzQXdHeftopQllVCUuEaCMxCbFaNvSZbtwIGWNZSWRQTRWfKdDGbOXTjWdngaKmItywWasAMgHSqKOJzdZuTFxgyQtxCgcNWPIFIJtWUZhaFQvrrzVpHsColFmBwEHnVwYUlCSyVgoszcjBBpLEowHwJyatCMtOWmKICMIVoUjjuDPihvIVAAINFCdHxKYHPhfjoGPOoqejOTRNVZCIxvAqBltoaJqfoalNJNXlcslPAdlOPGLqlreHozKRwNDUqiaTHTUBEMocxWASAWDqwwVrOEJhQUzdx", "c_map_string_2":"QzsajcGyPKBbHcQKRGdPEYbrlUByxhsVWpHxNjlToaVMEEFyniSpTIWAXIIRxVBRoKxHVDpIhGpDuAfsgwGfCLpSOdzwgZoKXPgkAdLknRiIspGngvqwbeMyYofepxPcersSUjGKqpGEUcExfUfeBDyzkNIsDDqsZYDFdKzEpeflvjVKpTMZVzYgYqnAWDBFcyeyOgHkLiULNNIIaHXxboExnkMAWdyHAoDTMqeRZhudpHDxXKhZksIBYtiKnEjfLCPdBDdgGuNXGTnVFvgivavXJsOOYnqbaOXnOuaiIeSnlYSFuWrsdMdoSsZySRZGCmMtArGdEErxlLOpABHITJAULXgJFvKvCFGkeerGUrJhIctfSVazxQywdbJqdxKMJaqSLyLteQrXBcAzOYdkSFZDuhjSLazLtuAzlBcRYtOYXYCqzStshpnAfFeopCRqkQxOfbNmAItaFFiPNqyJvpbzoDGwhBPXHacBACfChVOPDvySYgWtIVgfAVaKkPrZ", "c_map_string_3":"TPVGRgyYTpcyzNoWAkKudZyqcQlpryMbyQfmTHHwDAwUTkiTTVMTaJGBDVkHpuTCwrLoGhLoZfTqbZhKDhEBKRkssInEtRNFhramcGWvgEHshCwhkkTSCAlAHBRTlpcijgYsghbxdjyHqBEFQQDxSNgzQEfgtpqsGLwIzVrRBWjWKFLwdNcRMDKzhvRTpBjgKIqyKxUueChDYTZpWRzEjIHdCxAheCwtWfJlNQEfceVXYnNcPxdwXeePtwxJwKAmzuetoNpBPGnPxasKVcQtpJPMilxNNUObJvpLozCBghFVWkHuxrLhzQYHeyteBDgXxMbNwTlSlmlYcQHWYjnwfEkkEecjhEFWRyToAYCAvlFgXNGKDIdvrOOYAlTWpfKeqWLIplJtKJIxJfYUIziWdBdmBbjDyAlMEJoJylwAXNpEscKKmQCsOlbnNBEGwibYfTClDCfqVCeWosgQBnfZzCZXOjzGzAMlafJMXoHcbUMewUAfdNkStagAhkpOYovg", "c_map_string_4":"jSlMGXrnRAYCtEUSkNswZJlDMJhVTSJBodlOfPjuXMSRTyjvtgfUjxpYSKuFJKhbpdAmiyMwGBQiOBGOoYDrumSPmdLmmRAjBkPzTNabTciLOtHIEPeucuxCiYMBfmSafpFIGzUjyiwNOdCpHzcLKRtzewDZrGfyhrMOEyFzUzWHkZqggPJFdiNyCkysbWGQsEfHXsPshGgRfohVsdaoiLEPAVdpYOHfPZrEIicQKIlFKEEQdvlAythXzeIWcDPnQOVuAXEWzvPXcALKtDddxBAbPvRApKXiNVbGTIwnXaZpaEUgdtUodrtwbSMxgZOwnHxerOFFzisnpDImtBcDaAauFERuhjWezoYeJolpyfSkPuDmBPmCfAIQOzJrWjfiClmNNggicYwvquWELllTOUEspAmxqGPluYFrcoWuEYGqKlvdDOHmRoXEINBqPsbFasfqXPsAKKTlqnnkVVIoPEEbXeMhxXDPrYEohBMFbSaoeDYehRGKzZoixZuAUPie", "c_map_string_5":"WNWnBOZCmqRbupBRpFNUUvCOCaGRhtVnCnhQoTAthEMCaCRaRqpfEApuRliBJxONfDGBLVPDjICxSvpzfHCOwUTIPQrCVOGdZMUkPwzmKWvrkHGZVDdKiHDOzPwZMUKZbrzgOpNGAghpXYFLbsfKMqoapECpRZmygUTpcyiQqvnaBbFbtJzvNzzzWAxDrlzVNikCjvrrxXvVWAssPVdEYBJGXSKFpiruUpfjrGFSLDpvJXZNMvZBQYicApRQiohDXajOINqJNetwGPDZICpIZuywYctdYGsYMtgFRNoNICLwEuRPULCPHQDMrVgUAOupZQnOAJydhKPvbcdOKDONMpckSDuqAWolySLTSwWlZZmXliawOzPuThsZPePFDNovalRLotcoNCkWHVOKleEmPrZBJLqFtAMMpJkyaCDDwNqrMNNDKWCwYiicBDDLBMGevTBfpviQXkhXZOAAORIQMKjIQMNbtZdpShqQBcSnPWmSpeEwTLdJvqXZMBDIgTrF", "c_map_string_6":"VRnrebxdgfKMIaoUFKaKsuwdSyqjIvfEDdywZTuyKmFmpsHGMkbXCHOSIOjpCpyyFQEpDQovVBWfVClDyuzvQhkptFrrSWMAJAgAFBPZaeEjcwPHyEpChrMObotQgXqrLiwBbpIAvOpuCNDYxaNsvOzmhItMuKmjtqBRsdGvuTsIlKBgjrkmQnpivkjjSXlbUehMzRFrdPYYTnEjfKcitigwqAJHlXGUufFyRLdufxLvQWpCyajOzqVZUobALnNJMGuOYNSnPXBJlrQILcIPIgRnYMROafxPaFBkvmeUxnvhuGzbFSjBEQavXdEUybpUhYvEWhmLKjPiCfQpVNDzISpRwJqNEgjfxyOCaiCdTwHfqvSrGIqcBDqjMqWeZKNhCUcIYlMyYukSGAYKdBcqdKxvBKQgedahVYpXUFrzzUFAXEJMtOsApJmycMmwdmovQBPMsLAkISAtIQCuohPBqvejXZfNOAiqgKmIOhzZtJfIDAxUJxJCOJGYMkGnObhn", "c_map_string_7":"GHTAaCvXwUfnQSaUvbZAfhwzdDdAnZeoedHwgYEqyptyFktbskskfdkiyOhUazGfiGBWGcPzbdtUmdsQiZfDKIaDaSHphYRhcOdZZrZlviYZUtAUAJTgbnFKmtseKvEzUQnvbrsEiJMRTacRXylXoDemsOaHcYxbJtPMUWmNoMrrXABuetdxJyiJyijrnrVfkkFkhtHHGbzgbnqUnXnDapKqrxtrzrcKIHJeanodhEvMEYYUSsrsuSdSTCfkBjBvSjarvjNKGhfZHqblSmsRujwpNKwMQxfeJNQzhZHtIGTtBMvOoOmtDKkupeSbCQFJPVnrLsBRyGUwAwwmPpVzAUkKiGnAXnPuFqbWqPvnqWDwYoMyukRCDHpcDuoxeFkexgXyrdkjGpCCjMGZgnFxvoaidLDRkAWAEpFSBzzIDaKUIpQkKHbyqLZyWsPHmUjYNIPbzOvMjRoEHTzPYhqpxRkJwmddPPTGtOvsqzdIPbOIiMbwyDuUPOqPHRigIzcM", "c_map_string_8":"zJcdYHpOBoExGwSaNhqUSGtzKxzDsATnXcNDvXkWBwlvoTotQLftlShvrkSbudzWrxKAAZwCugSKaxEDigrKFTLhpKqpDLmEgjFGaecxglKzqHbAwMdcdgDPbneSEPfWdRjJGImfGrWKSOzMfzAXuzmMWhawgVITNWoTRgjNaTCOWWEjeqThPPrScGfOJfMzVrLhemYnpaaKGbwsygQPWSnbcLDwfKGAgJFeZZUDZeYezgGJpfMIgGjxOEZpmOLswQklgFoJjcqJLPVIVfiTictRoVvTtOQMFxIGOvUNSpoZuPQFsbfdLCgrkHVMqmbPhJjiLFCJjvLYmiUBKMkxJEAMkIyimKwjnSClSVxfrVXETAgdRpDPUByLJHYWXiHuulMeYPVvJTDXglztzhzVgddoHQfyCyFQkkiIYbPUMNGergCSeNVasefYqtVEPgWvdSpTtgTlRImGtreVzJFKZWekpXQZCwViVqKjuuEKDxRfqLxrtimtBDMOCeYypkEw", "c_map_string_9":"QuThaUozajaIkkgbPlrZLmCIubFwAvSyNvkGrXOuJAxqMKGaDYsPBROdkNrrbucdkFJcYMsKPCtSXoZsrecxnaBEcxOrkXJgBlVTPphviydjkgIglPwmcKUOwyhQbetCDgrycKKVGPGYfydykPqaNITDASgSSnEGMeZJyzEPPPyvdlZNOUqcnIrebHQGyrezcllDJVVlwnCVhwDIdDHZOEmQurRXRlFHWPwTFBLIUwOcZRbDEwnFaSODloGDNvpaoggauYpLNQdepgYvjpMlouCGUrspQsalbxeRfzXIBeXrvcrZRwDCveRipXyThXsskNavEwMwzjSkvshVYMXwnyFqOzlmiGAOjVgrSvpkkrFcEwtEempCclaQRXfLmUcsLjZTVWLANlZXNgVgXGNuHIgZeFmRMcfpLDTrlFvgAzuznhwnSAkGCxuYbfPNgRlbdhUYVurQepdMjKDaZKLtgLORkPVwvvmbrGvVQpQmqKWEoMPykCFlpMbrbUPfUgtt", "c_map_string_10":"UxRdSsnqHkGfSlejtokoMDwxKcgdSwHBSFmxgTWViEvFRZWkFfCHgIHCfXOSFDWFPhIlCCjQSOjwuFNFELSlKVxqZlVDWMGXpVkYNoSXwVprDQobDLaSVwqPmTmtZLLvolbecKAIpqeuzaTbWIvVhIyfwKqzypGyhchogUWtBZnGonnTyLoqQNpCcaDGXfPaQZWjpSMOHVffzIhXZWBKJqujrdMCVLycoUWHtlGocqJBnIXHqUtbxuWagtloKTTLsmkshjRIPKtmEQTSToyUPuMTewfueIzALTnZlbPLAeIxCkMojQgyvkepGNKqfFnnviiFdEPRkbgodwWCXxljpBhGKwfgvdiVgGMVNOuJdxZnSJgnbJaCZDEmeGSkETGbdYxEdfazvuashPqLQFNMZNqFrtZkumdgLIsaSqINmoUWyuCrcsmooQTSPLzQLBrSKDMOzTpzlNZUcRplrKGsAYpfonZfvxPVUUlQigLYkSBYHUFzkyOfUmeFFHVnCHuF"},"c_map_varchar":{"c_map_varchar_1":"DvSAruNsCSZgtNTzjrNGMGWoIORHmAugrwuBPHjravGuSUWMuZJXmGLtGnEwVNCoNbngPOFIBUWQMVnoYlCnEcGIrxipUGGJVBpjAZwZOvVfqnHRpNKMJRMnAwzMzVFuiRGvWVvOoJNxFXDWODbupOgqQClyqWFuRObUjoPGQRnRXzrpAhcsaLAYtgoIMgHUJhHpHEXSlEjwMjWKToWUBNJpLyPazvoUyEpfKbcRUDmHnLjKGQLFETunXnyZKnkz", "c_map_varchar_2":"xDpVVXGMupVXFBFaxmSUzBnJEaKFOsBnvXmaVRIrvLXETfnxuDmTGDaeVzHuUzghtGPIFJUbBWXaxDGYaEIpmzQLTmQKUmLWyrdfwVarNiFlzoiwyUbnKrGuXuxYplWCcxTcmFomDhLpXmKucUJgeBoZRouQOYNqhNZYAFctdAxsDtvDagolRELZaofYTxoATetxfyTBnLsfFCnSAIknelHQvlxKZvRLchSbaeUtbQqgNkaAbyfHvknrSRdpEHfP", "c_map_varchar_3":"UrEMxeTlWobXbEKtmexNuqBpPkasPBlEbdNElnOOoWbMjizrSCvppNELTvSEYfTzOYqAopeLRvlQFzYIZXIPOxsrojjBpvSfyTBmCtDGaoiwFlkjepzfKnLCVhMBmxZkCmgoVIlNZiKFCWXoONVZuOqlpTElKdYuhfXLALuKaMSmkhKIpyDTpSaGFrIWfpLFAOUuIGTxjWEhIHrJeVoMcBBxaOJAAmnnAzHmZPiDEGcWqpWCuERYIereqPjeHRYL", "c_map_varchar_4":"VoERwVZFCsrpZfVaqUtxTlodEJusyGPpYQZoVcfISFljnrkVJjIjynFXtYZVyAxHwFcuuNxyAHrOZXTRauriEHgRFebLvEcoytviwadhbcUVZlAnKEeTCMFGIHwvhTFsWFSgMmHkvjoIpycRMfxgtQwAxecOQLAXLyurTMVXKvENgSziqlUWeGeAFRbhjTzhITCfbAtEpIhKZnwNaRAtZWwaNefgtblICUDNBAEsQwtTHupTwWRlLmoYKnejuXBZ", "c_map_varchar_5":"FJJDkeOMdftiRpePpgWXFULlbchwspYLeVeCuGOMyzSARHUHuoHKRpXxoTTYPEscbdCYLVqTseGMYwFbIOlooPUahNLsDnegnFBKiPuMeftprsydfrVLkcDlKeqeWacxMGRDGXsWxvsmkxQTUROvApBLWEVlpgWqlQdaWpxVNrdyKLuNAVuxdOYJYBXPwjWAFGWKXLLLrTEWzwGvHBTPDPmIDkkgMGPYyWoSzRQgaqbwMmpoYlwSoQPDZlXvpWJk", "c_map_varchar_6":"zpWTjGJvGNQRxcoOOgHnLSQqbMxqHyboCPtBbSsJqxwQFbgLTvPvddFcCdftSFPyOiBUinBFZLBQYPrvRMkkrKxgsJinumdsNjIhSkUyFqBMzDBoxeQBkpTfoyhMxxUyjSGGVknMfbZTcsWTIDMZnAPmntdmNJVsUkTwSXOanGlsMdVrmcsepwTVAKHijIYAdSSGNAwUYLLRCKjRMfMcdnUeDBDctCTmJuZzcpXRjLuWeVqqzqPXkAAscuItLUOt", "c_map_varchar_7":"rwFpSvixjkaPKNjUorjffTDDMOlDSLqVImCnTUNuDOPTHaegjRmVoeWgLvexEdoUDisoTMqNNBMxJtiDmVDQZMTkJxueVQVJacIYNbFLCXWFBKUctzqoHuejMyUXuYxpgDVCzzXfJWfQHOfsqmWtLGwHkVZRavmEXmAvEAHysqtmHKAlAPZrohcTFUkmtlZNVlvrlmeAhoCUwqukluivwmgJIYwHHrMMJrRlwJJEuTBmyajkDjheJAtSpuQpyNed", "c_map_varchar_8":"uALMYHlCTAOvkVilapiwJljJtwLyMnXTUpDitGFnYDIODIsUmaEcRldgLbQZBPFwTyDZOTdHJYCdXcQsdCpcYQiaEQBeTSEfkRggbiQPLTkqIIOfegNSOQtQkJrLWqclDqNabEvdNLqATflVArsiISlWGqpPBGSZjdRbEOTOguPCyoGkPzqAkmSGHvyhmblEowagwmqzRXvPXogfbDEDCXFUMYqLaSgtdLPZpoLHSGLnueDOvNrbxZPqQnBeAiOV", "c_map_varchar_9":"vcOqTdwxLMAAIhMbbHcqPBKZwNZXSORNZiLXlrJeVZddJMmJNeKCUFxNwCLtIIAJPzYPflzUfZpmsyrfsgQiKjnMAcVvwbhKmPmyEGFUbYGphRjSrcLmzNOZxCzYgSIYpOBxLLrLvjRtWMRJPZPjyQyiPHsDvKcvyDJJJaUywgaTRhlmCKvjhygOqjRUpMwjnXZcJzniQHyWBRuKMOREKkFvLPNmsXjLFntzUcbeOMxuUmNobWHLCLUNMoQIQFRh", "c_map_varchar_10":"kmGtkjHZdaNgsdMFXOUmliJttuncWniXvAWmhkrMTczcLzdERiVEyETwzyoUPfAPjrIrArcvloOgtdThfoQZIpqPPtrXmyBhXstNYAwRtfkDqZkSITgPZPJmIdnpaaXVXGrLJJwdxKhEYCVrurVCCMWLatbqCwsrkUyDIuOCAapsqDyFXapigYiWwMxPtQrrKkiBEDaGNaxxsGTtpkRWnONxrHprwSjuXiQmbrXOsULAWvqgEuPKmmCePOyUZzbU"},"c_largeint":-4454749675005879491,"c_char":"oiEJKoWrsq","c_ipv6":"6f7:f9d4:fc4b:da3b:d0a3:97e2:d719:b435","c_array_bigint":[6571330845937109476, 3631382209012422918, -1456607352651799373, -8492094432320998344, -7476016654435392705, 1772764046208487657, 6200592289795834213, -3673882647297938272, 3625507283646474516, 2694959193373968180, 5711275387516275970, 4369366971255659198, 3502495371550760107, -6792102676744233307, 5392324639471283151, -4447675123519167372, 3069506852916789840, 2853696653577495534, 666790573791901249, 2713367004996003711, -3429664299021203219, -6439689485307749728, 8427992406469398253, 8824762009234763847, -5410813616405858815],"c_json":{"school":"Willowbrook State College","snack":"Spicy roasted butternut seeds pumpkin seeds","joblevel":"Solutions","uint16":33747,"emojitag":"cutlery","minecraftanimal":"chicken","carmodel":"530xi Sport Wagon","uuid":"91855a93-ba74-46fb-8111-cafab04e1597","movie":{"name":"Heat","genre":"Biography"},"creditcardcvv":"231","countryabr":"MH"} }','{ "c_bigint":-2634079291227374283,"c_array_tinyint":[-35, -14, -116, 50, -52, -58, 105, 50, 117, -7, -5, -43, 3, -11, 25, 22, 90, 115, -107, 106, 73, 39, 99, 8, -7],"c_array_char":["jUPipzTmGT", "mROsYMjNVe", "aZdIfJAtax", "TkZMfHrtjJ", "bcfYeRnzyS", "BGeYoRouKJ", "YbqUMhdizz", "khLzDenIil", "uRyHpDfkXy", "rmEcpInFkC", "jroJiUDUCS", "kZZoeQHqdd", "zOdabNtWZT", "hpgjLzHvFQ", "MTJkpDfflw", "fLaQvTRnuz", "rnQykRmMwy", "EUhfNrbDgs", "AJfUtXSPIK", "iLKlxrNmdx", "JadGXswgyd", "GebvllyVYK", "MdbcKeSaVT", "omlMgURiBX", "YqWrZMjCyS"],"c_array_ipv6":["ZMmZVxcRrA", "ImjgDqwAOV", "UCzueDrgRr", "kSGkbUXgDr", "pUwYArwpBN", "SMYMAGgsdH", "YVNsQCHDlN", "QfSYAvbgWd", "lKBgIhHcom", "OddrSkBlLW", "HpqmhWIqfS", "jNzntQpehY", "GpDlnmAEhi", "mQJkhLJzbb", "wNWFmCyVHY", "eIGlShCIjl", "kerbQrLIlJ", "VABzhcwKAl", "QHsYljNxMh", "gtFBqFLnXu", "mrFKqLPnEF", "YVktoJnmgH", "JhjJLSipch", "vjSOOgLqkk", "PqWScTMFgG"],"c_map_varchar":{"c_map_varchar_1":"vIvmvlztySMxEnYhvXoRJOtuqnjjyPzWHJjtWXCuYtILIQqEjqPMzpZnRIhwIyBMduygXmZgbRAcmvbZkboHXngzYhNukfnYUaGBVrYwcJxYxSsZqCGKKygxdnAnOlotxYxxEukuvCWMUnLapugilfTtAdcoeMBLNrWZjoBVzLrOZJjxvBLuZKLnApLkwRytBwYMUNBCpPFaJOJWxAekEqvfkfoFPYcnuHfAHhpNmUWdrYbYmrGZlSVMAqDOacGD", "c_map_varchar_2":"effxywFiGXMqBcqUtCJNIamsOvlEEFNebOYMDqxkcoRbfLaEieBRoiWneahtRBsGqPJRiIWeymeorkjDaPMJBKzDhVyvpXmCzPbGFeRpQIiSdYEwzTkQdGVYzPYBAIHNMDPsqUGoApxeCUXrqiHzTAqquYvMYchzuFQWUkljDHnswFheFnOdzfoBogBRwniKbHEIAmvVbUkWWvxmGTYHEiTDHWEMocTzRfsdviRzWotXtHkhIiCncHabIGASeCKg", "c_map_varchar_3":"EsFVirKpyShtpQtDkZDzlvFjNgljekYLIdOaebLjuGVdUILUlWzpLvmcWWvlyMexnjrUYUVovrFbrJVFDacMyaPhzoZPeetdMytZvvJZBLKKlcYmikAYSySQSUBdpvQAMbYWSCFpsvvvCAvayQpdbDpYDwquBOPSypJraczRBPvNdtjqIZWfVBmkykRMsnKdjNTkhBiBzjSLnktvJkWWaxKIONiScgxLnhkMQQQkaraCoCOguXHihONUynTMdvtb", "c_map_varchar_4":"SQxSEjDNQmVQjMnEOOljbqHNSlpSirRUUJEkoKpAhksijkwNoVHBGbsWAErOGKaPDDAxxsUotjOkzekdDSYVrfsrtvElIseWuuDSTLpVARusIKjLfQpVGZMHFZNFlVTxxoHKQTjKQuRVNDUWDIrIOpTUscKYAZChZtIcPcFDUlLBcHGWNXfeVebfcxmAjxeSkAtBKqCYhLbtftyAdBbEZgkSWXPFjwcKebLyIwwcGXNjCFmOxIJdaqBUWugwEtlp", "c_map_varchar_5":"oQkzbBEcLZwdqVgLRriXKESxgdLuCGUYyDgPhHliMWexBDMyFZQuMAAWNgrGzvstgrWWFxvzajfNVBkkhVskMndtFfpeKaGMmHaOvUgfdeiSEoJnKxtwIuuUmaGZAZgVAEiLyregoSnZPGSibOUllJPYibTHChXHfYtqWmeZkmfAANIyfyJzFGYoOJLNumfmgQMssfVPWOUnjtPIKXkcOYkaPUdvSAwgBnzOtZavjijxjxDUhFTJqppSRndDGGlm", "c_map_varchar_6":"qbTcHLRxfYEERQYyeEAaORXKXYWDRkUcXceyvaCImhRkqWlIVcoyAOPoLiliEFMfsagqcVDocnAkEZHxKbWSOtRyRaZtoARCYbsJrLYEiDIQSJfhFlogmjMsXKdgGdcssOVduNecZRJpPFlnobFVxaFhGYXgbslREMRVrXkcXCcYZFJAhkdXBilnrMnnmuJHJNmRSqiElsKyRJgMbYnKFXnJXYkgVQXvigBhloxaehgMhOwHUaVRqrXraAgXfrBS", "c_map_varchar_7":"auZBFjQJdHgMAIgMCazinkdHbrEVAMnbzNyAwaDUimYksrzZPdRWREVBkiCUVaFPiNSyRtlWOnnroFhzDOKgIsKOmJslyEiiJvQCxUJcYeeRkvBSYseoiXFjvYHKqnqrIMYDqOIWEcjGgfRKiOvIaxWSfgDzsQZefxtJOjqtYxneaVGdTcbUrwLpPjwvNodYUWVijpuNcPCLFwGaLQlkcmcuafFHTEfGgtKmAFSNJypXWWNPsFOeqbhptEPNTmqe", "c_map_varchar_8":"DBZWfBAittdNtYIDDAEWgrfqHTHUWZdWzrBZmNMDWUUpCLBRMxwWklTocCskRXLbuecUtpsDLDnpyuMLfPbEvzlAOQaaVSOllNvraCsfHdeNNYKnppYzoTgfSjiXWrSvMONCvwyXXYWMZDIggjcYWuCUiwFRiHbtvyMKyVJhZWcbaRezeHXpDhSVmORGvHivfdgvcmVveZfohsGRgjljHZmVLQUSHDaHGkuALRnJufZCnpBdhFPIabaCPNURukpl", "c_map_varchar_9":"AApyKFGcKUukBMFlOitZAAPNgJlperOnlqdGcHnGWGfMsnGKPLGZCUCAWRqkxCyNryYIIXFlgDGDmABuzvPMoKpkDFwMNyuycekOWouoBXFBVbbjWkvZcjDamBiyXHUlkkOFWscFbTfHIafDQAynkcETUvqdDXXieMhjJCJDYzaaNQFfvylNRlGJcpbrNOsERBGavGijhrHdviRBmRgrTwxIfDneIepRulhdAOmjcVnzneAOEwJKoVbYHGvcbCyC", "c_map_varchar_10":"ljXQpHbyJqbHkRLNsahsqSkIaFnEKworcWszXBtXroiFOLKvzKqUQXShJouPuAeuOFKgDevmvvOtxqIOiWgHdLAqCfgKUkshxCreomDWtcmEvHfhKCVcILLjMWxTXTIFwyQPeyVXQxUjoKZcFNHgONJSZsWUXTsMWfUAUqdOZTxPzCtAgmHwiZJPkfSlIyogZpFlTIthJJSbypqxmtbLkmmVvvNaBvcvsvbArJghCJjSWpRtZSSWuNwrlfmHhLqi"},"c_ipv6":"b7be:bac8:c9bd:c50b:bf48:ef1:e54e:3f01","c_array_boolean":[1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1],"c_array_decimal":[11.0558, 75.1758, 12.0726, 52.0823, 1.1177, 54.1085, 9.1085, 89.0669, 94.1905, 45.1234, 50.1502, 15.0828, 14.1099, 11.0260, 82.0610, 69.0635, 5.1738, 12.1205, 44.1686, 87.1982, 44.0375, 40.1121, 87.0649, 4.1642, 24.0877],"c_array_string":["fCgdiNpobPOyTRlwnhgdbzUKxiZDhwmixEcMrbQmPITgNzWyGnnUlGMNJPAirIciuaVgGTCYPnuhqOiqFrvlqowQahbUdOCohyLxndqYZqpCeDsGAYudkJEmMlOagNOleriBxMTlyRxscqLpLPDEIXJkkSYquNQcdCAusKfPUlYXwxeMtmsQMZGTsdEqloCGlNacdrpZDxysHMEWQEpKqrgQttYZKWEBOGDigEUdjuzaxJHNzHYBAqgWEBXPzCQCpzvIRUDvKsZaEfyCjpWgAvmNVVKORgdstgcUvBRzQFqKFbZVNTehNkYgLOGxqltNxTCMVKqriZoNyZHVgHKeDhVzVhGJLPtDAsZoaCaNQjvYRiDzUzyHTdPqpqGiJKhPScFsFikfmWaujlcJJJvecFGzLfPBtwlQArCsaqohAObkoijUGqPsVTTRkcneYJLjaTHnQDPmXeEEFbCAuKrzriKLsjfJmYLkzZfMNdyJdGQScnNtaGerCtLKbluGLvcg", "rwWhyUpzfynwNLQcRNABwkNQtzaAQkXMsUOyaHBAeKjUJzEHTSIjiNRMjtDJvVtKcmKXVWJsNgQLRggaaWToMljmwCytHaYKzlgadnOjJrErPXDHcqzfCGzuXZFTOGmHZZQyxNoQDPhYQInfqEAuHADzzKFIziCnmBFqMQgjOYiFDSmuKrjaxrTKwpPDNLAEDluiRYIUlQhFRolwjsQUgAbFRTHSJmxpevDKogQmRwzCUCkkWGWykywkVtvYkHgNXXhKdmxkIyptpFJSHplnOuWTArWXKJxQjvvKlTdKrnJmFJBSHAvbcKdLvXNUmXzMxjwjhWvcEAamQrmQRsHcIuXvWeoSFNQGjxPipKpKAXRlETklrJMKfCZGZwywOIDZIcSPyAPNtuFwvoNgZHvXjvBckebKwMJgwZrMeiUIHqSUgYCUmjreZkFshDYzlwzbGnZWPoZBtdXlivHRMMYvYKzvGtPHdqXDhUKQBYOxFwDAoyXKvJzphsUfJeeGMWvu", "euiIpcOrprcPXTRqWnywZtzNpZHLVgagRbVHJhAuNpHTJycjgqMdRTKZmUKHnxsUUXZLLnKgJKsLLaUKwazxQVIHowsCaqxUaEJGeyQJOjDdvYehIaQzldlteEVCPPWBNBwekdfBUsGJGaiIJZRqZcqqerecbyKSaNYyDSBXoLAOCrijjTAaJPlRTsuWvKaKspyaXcpZsORhQgqtgOrMNufNOCKRNLUleUfMPGvNoXnPcgIEyFiPLMZsQQCdbRWnYUhTgulKkFOlkKAxTmPImSVQqnVIczXlsqrgrielyDMKVeuTxCzHCeOgMxKxmfljRQVmJlbWePEwcyjLuntOhFjSsdRnclRvBqAHMlCHzbUWtBqpmuWDmzzLyIdcqNMBwUEyKlIYywZSrgGjIWjPDDxNDrAIfOmifSolzwNFaYbyAIXpiwSVQaFwtaquNngqKhmxyGwoxzKcZTPOENMSLobqySSKgtSeBLeTpEFwmLOpBFNSXqGjOWueLqWfADhK", "LIVYZycHrYptrDxcQkZUOkyUnwwGWAUtTsxQLsGqfkiJQLZYSJrBWKmDLGzlbLDMDPjDdDCoTqZYGKiNDeaTdOMCHjCCEXzecPIkbyPzyNQeAnuFiMhbrrOmkjYyfZkpNLuTIrXyGPcJjsFWCbctQbrnHTFfKooRzOVabXBmFxKLKnnGXuWMRtUJWsilhwSvWEzIhANcsXEUneOEFbTaGCxpKatKehrkpuCEbxpbUGLTDaQPYFcAdWusYaMGfNrjvEyOEvdimkmremjGStEJyJhPTHgiqEfMaUPODEPqjYuaBLrDZpIaWGxhPdFVILRiHJtsdyuhRJkLOUcfoMwRzUlqimulhkHOUywOkToKgEaNZmqBMqTihmlIKNImVdgWYUNnMQZyewvTVyjOPWMHaSVVDKDbbDWcaQZLbJmAxtsuUmapZMpQtwPysuOEvyGZzCKRyNFAOasyMymoTboNQbIMKGktJZWjxlRCNDxocauHAMiwRzFbyZNkPYDmeGVO", "yzTqDCIbXXhPSQgfVJZWsKlAQnKNwZkrGWpicRdzIVDnfSVkFEpirHfdsKZhGTxRlfgKfJkNyHFUHSEOdSnjjcGmletRdfoXTsLIKOADYRQZwVZxgiZEcyOHZqceJluYinXCrxUngsMMPfHcYuLqTUlUAcipPqXhRMBoakekjVbyWTOkjbDdCVrjJtDmjMkbLngnZLbnWiiTELshpSlNUWekJEhkbZeAtYvPEhthfIKgrkbJPzQaygGsRMKUtQiZuSssIyMmpRsVWBBakNloboWaxwhBRIDbKInfNpZBfYRKFlSNPPEeacsrwJZbtdUyAWuRjFCcWLjylzWZymjKAIkvxEsOVyCCkWiOtXMpEADMmYUYchuVBPOsgSFygTEfAZwWymkgvjRbxJsfWIjggVcbPnLscjsNRWolfNQTQxdmRyyiUaYtlmrpoDXXsuKYDNChshuVHdpitrQlSCOcoWclOUJdlTxtMKcYqXygCpadrHZpCHHbgrCWYlXMxgvF", "HCGUnwLRwnDTqwTneZBRngEhAVzavGrrSrEEFnvuyMGmeanQYnFtAgiLLXXwREtFZyTcItByQtoojQezZFIGYJTKGGYYkIieyKPTJFXSoHNQgrBcfXdxISCuAjjKeJZDYnwpooruwwqEONsgtTMWigSApjZGfBPuUxPvsxlEySuqqrBqHGCIjpHxwGoIqUfgJvUGZXfDQdEceODwkIEFUFfApltxDQrihcDSSAZFnNLKATETNKGPWWJPwydRnANUKLosGOBsZwrmqXZiRoVhAHRqfVqLmTWQPWuBWOsMrpLVbkCDeeYFVrwRXFdHaqIieZOudoUewTwrtVtSTFSOmWUqsFoitwUCavFdFiJfolzUktpjWkKkpFqpuRpkqJJOIArYHgFblVgruzjbhIwCxsVCNRjbOKEhfkgNWAQEhOBxABaNEAxEunFCpAHsKhpbeSSBDULXNAVJPNDlwiEOKUSrCZlXEftbkQRXptJETrsyArfiBpEPaCpzSWBvEglr", "HmmkGohhMcWZtvQQCepADaZChIXuXTphZtYJZfzZkxEsLAarTgGjpqSCOWvWLgPaOOscwFLjHRZQpIyFJvodVprAXLdvjElJyLKurifwSYhCbvKjqQQAUTrWAWGYJUjwBLqMuEHLKACChxMdnkPqqlgmQOITyQMocXGofWfVOeBDwBYrSWlLLLeVgjPiRyLSMQYNqvgeRuWKQwEsXKzVFmozpUCLEKChACtuRpMMdnXNNwTAxxeqzcMfEZygWkHAZPmRHcufHNWAezNisxrcybcspeUjfXJcfAOrPwGwsjOlbTaQEhcLajvAcqPVGpERmWuEuDhkLrNZtweNySVsXTTTcRLPLtnSbNEjWRSdxmoDDJCOGjRpAtXsGznqZwOGQRsOpbeAntzmHlEjiKnvhjoWlDZzurIWhpygiqFpQVReFhUADnNYyKzIzaDMUnGoNjdvSlBpKaIlqdvYfbOrtaJWyPaWhbLaTJpGlwjfEjfaWnENHyOFrGmMXEMGQWgE", "TjTlgvuIHezZVdVYEobTwkeSKhEqDHfixtbxuBbRxyTdUeDzhXEMEEYNKVvYSjKZPirmohtkNiHhmMkQqzvHnrGUPfxQqwgQgAfgYMJNqavuwwhffMYggQUWfGEbCgQwlnuDqTFsoPwZozMSGGddCaYDuvDJQUEcNCFEaeJKcQirUaDTywoCGShEbOEXfiFgkcSxeTWQeuuBeSuSIKEwZnvTfuKrFqAhMFRqHMmpBAuzTYenpthMgZBeQjZeSLAJFmejomKKHnujzxSaoGVLSzwvFaIUtBhKEjmLsNIYZovkvtrqnLNWdTrMlQWeyMqtEzLxusRuemJcGwavifJaeIBxcQUOTnBiUpJgagJQWadNQckMltXeBAQfOvVlfLsQoNIzuAUyiCKiqbPQGWEVYrXwPeZUvpfdPVNXHFZadQOPvWxIjdppfUrfPfXiRMczqYZtUwWYHKWqlOrvIURLGkduyOkhlHVuWGeirzOriJyWCYOIHyNpzmjPakOJZdUm", "QrwloPutHfcGDtLCKRHHMNsBLdUaRCJxhetPNhHxzZrsmVFULgSTOnVyGdmqHvBUlEKtVBWkjcmJpWfcmgvrwCOzDFylkzBVVYiefXNlkmTVWiZEAoIeGbZBoTRHFtAbzgUXohtRGKtsSfmkQvJKpJbzPBvFlWyGCiXLrlmFkqHZFMgwiYXpkEykaqInVlduSyrxUVnxuWJghjYDOBFWhsZzCDqCrSKthnlJOFLycPVMrzaKkLdRdEsTpQfullwhZiGyJLygmByulODvfUFnCBHGpoqbskJcqGjHkhIdDfUZflGwIfojociRuiBRbkKzaIaNPmKgruYgSGQgxZGUHnLeQGSjslIkNmPjRXmsIPOfqoaZqzMlaWayQIzMAzqEvbqkRIChyHmruYvGaeCRKOeEglyhpvsuZAlkdtSWSepBbuxzuBGniPFqHGgpIRVeJVljgOepMMZEqcCiTYxspSIYoohCEEwugyPmYMIvVLQLHMYyUropxOCOCxACUajN", "MBpklvhAjJBTDbBbeskJZLPwaUHqztPmqGJwOHQUFXwlGvEdZSfUyWcYAEIuRTnGqtyBrxRzTkfTPaTjgCykYdHbuIaRGKzmXYchgtDkibmikbdKAsXnBgAmLJFhbWMRjrRVvkLGTUkdXELfQMBLjmRrGPalYwuSmmjThjmsqKibbGvfmZCqKCOIxjqjOuBAIkUgzlbROtnZYYfQeIlrHtxvOBNpibFKGjehHuxJJKavXrZOqFMKbeCdcXpZdGXEEJYTiajjMThlVnYRanFOqwdaDiOjCWucGHRdhmuyLpiIjAwacEjvBHGNodRScateXcozdhQHLIKMNXhGYLHEEwQfXvsGQrmAvBguXzPIMmXErgbGCVADfyXHBNPdDJdAonJGPqzZYTFpquIMAIOeayZYySOsGRsWbgDCJoTXYrIHASkAsDAwnbyktkWwuoMCcsZHBvwzcUEetMbDXZpsWbOopxsxDjIijMEdXtkzHPGcnNJqIBwUkwIBVZMpGmvw", "UTNPavLKtvLHKlvXgOGRYyTLOlWFaNqOphPmNyGbAlXchquETQcMtoVNijPODbTnFHbFbArQRSKZQJbDNKTfChmxMOdFMYzigIHuwXORcIMNaecjLcnuHKqdvDrpWUpIbJISGgkhLpxAVKtrBlGQAiovuOeeOHgkKHVYhzpPFodDoJpsizsgKxrrSaNOqYDkDlSJJNNFaZJFVNupHupXtmTgcgcaBTBokPLrcSlgUDgcbGPrfBOONGttyDnENNXaSUZvjEEjQyqYaaSYITlGItyebneMSEYYNaOLVWNiADQEnqslBTnxhltQwEzHSlWHlGuoiCfgDnbtpMuLUQZfSmVjcSrhZYphEsgMZRMYNKOjmiSVkKBlASTTdbKNbonowVHjdEmimvCuUJvPpvPZKRdSILqDcLWhjjaASXsdmqhJkuHtrxibGGAVBYZRDyTBbtLZsnrVLTaWhGdqXdeAOWUGBjexyvMIXCRakyBOUKOyrKUEtepFHaYHoTtatmFu", "dBnQWqjuMzoLHEYLaIbimzKCuwSNZBzYJogeSeDVofdmzfpmDMXhNlGSpTwUgSqxyHwTqWgaQjTiHspaJGtszKiLXzfToBiXPshDoPDAJePEwUVFdHiYKKHLFTykdIKvAPszlaBvwUbliDNMWzpTsYCvgQLALVuqGiIQFWkxkJdfiytWzKzmHMdvZCQPHxfzygoqiXYEpnmAyiPCweQaYiZjplmkwVqnNrlUZYMYHPpCoLKwCggjglYlogxIStjyIdfmWYMiQbxmPxegiuVKxIxfMUBDZyrBoxdqPzKvSyqIPvCmNygPFQHuwmastnpBCGzCuNFFHWqfMNvgRHwRBmitfftHoCwOfwFJdlcUCOHOCjXsVxwStuOTVEcHJGUJzmfmyArRRqemkiSPAjYtPPeUaJGOGpRWeHrHTgfZQMOSvCbmAegMbTrfXnzjvSeMmmQQhPTLCYTxUScJnHtWNaTrHduhMfUmPHxVyifnzYeXATifMSulFaRkZbjHClkg", "iiSaVxBNPvpFuPOSJSuQLKcdiiGJkALKvawtGXoNkyjraBvqrkUgZKXtqVktKUsFcAevsnPEEIHQYCHZpkpbShbEosifcAttqMCbfdWkBaoCspCukSRJodMzBfgLzDnXLJXSxnBTLEFwaOoaoThuPLPZXjBRagUsbNEOhDQZBZWakSakGZjyMDtDZHvOshcOvGjtBWYWsQEzmyWxKyRQKDmsScGZpGBwAFSOHqMGRWahvZvfllJUMfXwMNbDKoRsLCHRqPmWUFNRSvlXosczNlugwlXiCNRTqpcNHNBILqJYISTYfLfvcpHbcndiBDCUQIbsunGVSKpQkopDsBJRetdVGDurAsIVQEpXgYGsNNSypruOUkrUEDrdURQKJBlLmLXUgCimbmTWIGTFpOkvTjmcsnNnHgyfnalGjIwskrMKbziScvPGwXmVOTRcWghEMUMybLkLefiDDFyfPgWGPZgsMBhQCmkXJevAVezpFBpEpfTRgMpxZKXFEIyqqzrZ", "bNQZfdvbkLhYYPaCXjuvCZQebbvMwWsKXvntazJJwvhiluNIJUUFmVIejnZROvsWzdSHNULdzUAggCluZwlFbTuFxVUGJhpEpxEVLxZmwxzATLKAXbwWJBSYqvHQaCoigfCiGqxzuipPxQaDbufOhCRtjNKUvAtbfFeyhASmQImjRoVKsVMTmBudupvzRVXuoEAfBqleeJknhbYKLfDqdGllCLYmtRIVXgWvgIXJQDokYtfzLBcbBwslqASXAxuPUzIzIpIqeclKNnwHJJvvRMvhbdWdJVIUliTdxGczMzaDeLwHPneihbzYxhyvEkRhDsHJZGRGDfQjZLDsCiTIKCqpZMxmPewxlOikiHOrOFymFnBenwyliiHWdBLFwxzfZIOGoJjrjTzMvvdxBmMVBMdNUqdCbvFnsoSNEuElujZwYBKlLCWXjyxNyftahozWcnxJQosruBoaAohqWtZjQitsJUkQgBsrmLRzAObJsDAucZoLjtINibdeqyNyXwLP", "YetMrqhDvVrXcsnONYgycnSxKlUyZINnPWxBntlDzIWqZMnfbdzuXVkjOzwtCsysPPyAIKictznRqYMPGlQJVKUjISJTiaHFHNyDaZuSLDCsxAfmEUiinsMcvXZqjHVFDdoYbEQaJPvMLPxTPjPHftHBqHCJomgNWVQlThYyUXOtATfIeLeuLXyzQQpDxpHnMmvxXlQMkSlHyZvYAWcGznNcKTVODkTwWLoTTTmwYZeudmxHsajTVsiPdrBahnktzwzmnWbwDbHfclfchJjnEiuTUOzrrYiiNydnnYSDEwxHDLjqNMxSiePcVaUknnDIROzXyJtdsHoJrCXvMCHQWEjCWlthBwAUCNTwKIdGVgBRrolzondFLzZiQQHxohRlTxAeDScuNogreYvWkMGflpXmNrRVkapLccxCLyuhQdUWdowaAXvqSzFtItzTDXPmGRZgPgjXQxnlMLHBbyQCLkxWmVwZPqOoLZcVFETIMHBnRzkxUGySIDfMASwvXtCE", "zDhelOaKeQEGRDzjpNCNWxQJPnUXNTvKgHXWlKllfUPfqTprJkGyvbJwznpYxSluPVAPijezLHJBvESgGmlwlFdvOnpPOYKtBOQrlmAlzuayxGozvSiYsFPnjTLjSYpZSVlobfugfwtGvvzQTChDoOvmzuzmCkPWEaUIbbBTEdjmdLuYnfYDhzisRApzvSPkKdOIqnKxsLANZFOmwGWXbRjBzSCvlmjIaiKpJJvrkqtegzNfXldxaWNSHTwmQhGpOzkoNAddERJDkGRhMCLzqxwuyqpFZBxzZmvspFWguBjzyJDLjVABCCxIfmSGzVTvxzJfsAxGaJBfyOeEUKeSIokfiMzwjRJbzUNwylOoorMbSCxjDHpDMrWLJebQnYlbDGzATxZLigdknlylpAEyWlhvmhTCVTGbHKeRmJptxVvstKZDHgRqMmNchlRczcaeZwKOvIYHlQSPxtEQbSeMZUPLrEeevMSqeIihJMrrrgfVwNBDJciHunnxUPHzudYV", "uVvGBgwpldDdlPBUaidQhGuXNlzueKDkHkvKhVkKVXhXfsbxPoVqxmxtLNZcNtpRtfwUCZtKJyKlrRuvVColhtkOMlkwsUzNRonYoHhtuKoVJaVLdjLectvgdPZMFmHOfZDUYATvwsKurTeZEvzNwHnjcLAshqcNBWJOkUKSjoQsBnMmsudUhxaIvZJhzpJeLnOYVUcjieRvTnQxWWhlbzZPWMJuWBDFxjSyTTWmgpKbUSSlqFDPdVznWstsYVhgUvqFWfolDgCqGdgQmikTGNFEUASWuEteXSHJSbUvQluhhPZYCdxOrINnqGxJVzPMagHLJKcMqAbnhaCYNwYTeiwqihcaWELLGmEmxtjPwCPkkdANRvIucAKsNBodZdaFrMLdVFcjyDnZISWYKsKztuWOvskronXtAHjJViiAaMMaCiGdjzGbbsPoOXeOsbFJPUqWZlpLyFwvfbDVaXZfjeGqPRAmWfVsSLrSLmZKzhkbnYnnhrJTClXLEoyRlsBM", "PmHSjLgbWjJLmUQIHoKosgFLSNHtjHWKBFKMqGxaJTYaDuuZPPfZKaePwRmzkDPcORYXyhGelemgWnsewCbPbJqLmsuCazMwsKwQPRMOECUAdMJYSJUSuVBXvjkYgXgrYqUslOsfneXpsGGpkKaMsRPDpKRflwWngsaNEyLAEhQVGRkKRzOhlYuiavgREVLNiBLvXcsFKVjhXzcGpaRXHejquIwPHULLQSKUmcgoIXOoglcFjCenCeBBDJffYmkcwafdaIoVAOlBpIObUXXvRzAhipHgUcVOmflOEvUhHxAIPAOLGUUKUicgHwsyTgaXjjFQidJTlVpHmUaGNFVTHMpWkhjnziIgHbjllQrcAsXNWfFlNyodcpSozSjZtPOyEPdUYETqEvWklHLvxVKGiUtWfSokFElHbPXZXzzAsFTadPolZcmFTBtkgnFIkwQvLOZCUXxlSYaUcMwQWwlxLtrYOqeyalIAvWOjasUNPdYcmkagRYeplKtAYBmvWWgI", "OAORVgOmZljocHLGbdIMOWWLuDhBQcBQnHceKAJTiPlqxhPXDUTEmPGIRzbdqEdNHUquXWrcbMIiMKIMsIeuIZlLpUfZQPuXAeSTUSJJQijNjNAdDEZzTOsSHERMVDrSaCsYrOdWwHNsQiQzUkhsKciBUxxzSNclTIxUAfheodEsWojWMtludltgliJpzIEcXDKbkpcdoKoNFDbbxPpFJeHVMXeuJJYbbtVulHvfXkOsBKTQFukonnDxgixcaeSjhxULwUbBsyUGZcsSckpxwYpRgTcFwEwEkQEfQqDpiStudIDPzEwHuZdkDNZGIJncqnyBUttaesNRmPhNiWymjJCJmzaTHwdNiQLmWPHwXLXOmzUWBIYrMPQCiUDlpBxnDHHeIvyOVkTiVIwnJgOeroWIymVdcSnyJpPhmOEejanZvjNnBWoqIWyYcePmjbaqupVYitSLdjgGuRIGjsNlCZRCSvFTkEafceQGxEltMhmjtyfXGlxnHtgZWzjWmMNo", "LEaywmrnoPLpNXtmqEEvcPOyOBJfBuktOupgISTAThaPsTMBmrIGJeSGxYBvlqtdcWDqTfRqytnHLfCHfvgIgayyPDQKjOcBSJmYZxLvTKdLvwzskQWudKfYoQIyOhSEXGxEcPUKQDizIbBQsVZvfzevESYTWKWpAxUnvLLPsWMqmmuEnKOnCFmdwqNNtKhIUuDmjwykXPsfZiiSTKUhqkUfefwfNClQaDaSaXWfgNIJeaOgFBfcqxoBgAKkUceHAOJjxyCKcHszYiclGhPewkaYWCjYSNZaZBHKmpKrRuotEBiNCgyhgJOvtINsYTWQUagWgABTrsygNsgjZPgGjMamKXRUvxLJyLdZsnjjANBBQnDGveSziRFLpBALdcizVupNGXYHXCrZJDvkTtiQZcoSWUvOmifozsrVxDiRvJhOECnLCjGwyygnKVNHKMuUGruMGZIvGJTLnChgeRuoDqIJIamsUntwZmOpsVOJUygREhkUSEBIthQiBMzzYfMb", "WjYWvzuGvJFIluCjSwxwpOsLEwGqTSVbNwKFCDLIWoUYcHzOiWazisbqPormIRhQOYqWUMUcaZEmhsrCeIBwHYFfngHuVQCtOGnEHwQrUTvIrIvPkLmvunDLnZIBChndKTzXPTuxkSvxIylDWuaTWJhXXHdDgjMcPYaLBJuyErYxxBOgjzoaeLMhCkYYfXzAjvmOhfTYrgwzGzpqnPAcfybYgBupUiwJCkTgAyVZzIPkOYqVeAbYkVOHJRTCuAfUsDWBRrKPHSscQnHZNnDzNFviyjFoMLqCWHwmneTwQZQlIbjMHkGcnmgUhRDLWCpFwxrCVEHvcQykwZLDyUFAxFgYwgiQaZxkaihuTSSHaXetrNPRskTHzIPrMvVDyCUmJjxGembvksNKpZEJEOQWPzKVxTVRiDGQkPmDyetCcuvNvNJHVyGFvtcWVewvykJFYsjKKwITckbuxeZEVhCDUXLCPLzuCswEuDSlBNOLXFXMonzpswysevARFmaaAoEb", "blAfGYlWMywxEuSJxxvIuwnmssQHsPYNaOSmQpEvhZrtJQwbuNqUFyBqwMYFYNtftvnNwzDXNvQCAcBjdkvVgTbmgcGcEAwkeqNtYejYYGWmGshelpcVKQMSfxrXgSWyrAoReITFNBCwGmrUpWxGGolkBpmBiVUcDqvdwLNNZUPDqDyzftwSLxNgDnoPWRdNMNTGpBKwBJyBgwQmPubAwkmEXiNSJrWRVEkVhSyceypxJRRLFIjzJKvsHvVxkMpoJhuUZeSbRltPBvidhXbdAQvVyWOHTxUaTpSZaZSYdsPuDxlGwatWrKloOslpcElpSfgjAmZAQktptXNgyOXKxeyynhSAXVKRfAAvoHsCNKjiXIGKSatThFYBhXNkQSJKbfIfivfxwXJYDACUjoGNLTEEVmyZcxgoYZHDjNGerJETJzWewoVxYmupZhtoqEcQFfiztRzOdCcylIgArgqaXJECpZSVLUFbvSUuxlrwjZorRKboqgigiZYuIJASILiK", "lDteZnmnNEFRIdSfaqbXIPLRoYiRNgsEtnsBYPIrPjwjhksletTaQVJElJNumghCZyMBIwRgRPSAnxiswbqQfschRsdqBVrxwfRMgkeAlFEftgOqjiMZaIjEHQyWQZRSiOtpLSzShaxlkbrwNhRnkrlWUKKUuXAyqIthkqfNKIDXmslULGUlAsLlYELYijSdEcmKEfcbOVSIBGPWajVcugkzaJawqOzeHutnRiacqXNSxOWZXFvZskwqvgEQBStEnCJYdodmJJgsPcICOHHluygwMHgREQBFStmXedmSEFbKKrcnUewNMrDJoNJOEOtsDXMMYEDPQTcvILGuRTRBNPuGXrdqmZmabBnuKNODZsNobbcPXhMHUpubAbrzsLYWfIlsuLWDlPEHecDMpHUsuOYWewQzimuHqdetOaqoVMofhmNTCoNDNJJXFqMIQuHePwaGGyskYVyBWkiVUQxlDamJRndrlnOOmYRiicfTWZBpHfonABFNDfPwzVRWIheZ", "HFAmrgxKWrpsaLZEjvgPzGmxzWtPUMxZBJboFaRbPKFiUekrzQkpPtvpIDwHeuoRPaJmoNhGhHEbpvdQGLlaPXbwCdiexrfwpCZkacQbMuRVjoVmPlwzyyAnjeCvKrkjnuRinNFtCvNYOTnoobvswVXoGkgdxTQajGtFJIAIjtMduWbCWMgEbKazYFWaPTjqgnEchGzcVTdvzcOBxnQttweGhOseywfvSagisoeCZGLPTVqXdWCGyKfjWvaQxfGmOaLrWxxEzeRwloRaHFVHruBWznTvNwiDOEDQaRgUTovfACUbAbXriwKZbhWJFWPFBPNJBUjPIYmPZzVikqEOZjRzINXdtonlaFNadnVzVJQzWnFtXwsQpIcpTKcZNeZfiqlsUtYMBSbFgZYQQLYwVSmHoiujkkvuNFDkhvqVGCeYRysscywmtcYiStFQTUSmCdQRWFLeTzMylcrTagOczjRWqRVvWCWBnANQFsvVYoaOfbbIkujBRDAwuzKSXivr", "wZoEmANDzXbCueANRNqWsLwfgdybsmdGuqtcJHGNdehvWcfLrYihMBmuXPEmJSLuABFSjleoxamymysQvqStyySLVrdDzwqmbZAeVsuBbXmjwlVwUYFyrfcvXyRcOatnPeAMQpnfIFogxPqJmajBLVuwiXkRtBcHoiFngqVOSxZsxfSqPnSmRZTAwjmhfgHSlcrYiNyTZwChiAukDyKppFBcLKTxQNpBnJBJZQRkHycaegiNCRNqKMjpEuWMYFnaWlogfZGNgtuKQSZyqakirUSithzPnLaiQEGwXdGCakFlNyBAAUYeFHKSEbtepBKuCOuOLUUELzkXfTlEJyxIKTfGsDsjUXmiWaTLyfOagJyHlOQflsKaQiDJsXGyPRtwmcZPGsePlVYMzukMcwPnvisRFDHqcIkqggZByUiOALemUYRRNeaMSuYTSqGVKzzHYuZIrkszkJLWzjXqkrwIYKqoPEyGXXXOCqHqitTrbYqkxjkULtPDAEKQkGzuWyRZ"],"c_map_char":{"c_map_char_1":"JIGcUOyZwg", "c_map_char_2":"QdgzSvXqeT", "c_map_char_3":"xsSjVJEuCp", "c_map_char_4":"DtMZYHTHLq", "c_map_char_5":"LcHWLIXMup", "c_map_char_6":"gDloEYtczD", "c_map_char_7":"toCSIviNTB", "c_map_char_8":"XlDbbiQhHi", "c_map_char_9":"zJJpCEBiAm", "c_map_char_10":"JAfvtCYTvi"},"c_smallint":12750,"c_float":91.92494,"c_ipv4":"197.66.81.15","c_map_float":{"c_map_float_1":3.8057535, "c_map_float_2":11.14034, "c_map_float_3":58.908646, "c_map_float_4":20.02258, "c_map_float_5":89.7379, "c_map_float_6":65.350464, "c_map_float_7":77.01131, "c_map_float_8":17.320019, "c_map_float_9":70.15391, "c_map_float_10":80.20046},"c_varchar":"time","c_array_float":[23.827127, 1.5081079, 63.40338, 57.754322, 95.54201, 38.464417, 65.48921, 88.51667, 27.808678, 76.688324, 98.45926, 40.014397, 7.9453073, 56.99831, 20.79468, 56.748295, 95.111496, 18.147787, 41.3928, 55.86046, 54.942528, 43.851288, 81.48617, 90.81424, 82.88567],"c_array_datetime":["2016-09-26 18:09:57", "2016-05-16 03:19:53", "2013-09-10 17:04:24", "2006-10-05 02:55:58", "2007-11-07 22:04:08", "2011-04-11 13:29:59", "2018-10-01 12:20:07", "2016-04-05 07:54:44", "2010-07-17 16:20:06", "2014-02-02 21:06:44", "2019-02-07 11:59:49", "2011-01-23 22:57:35", "2012-05-27 03:16:43", "2019-12-17 05:51:51", "2006-01-07 11:49:57", "2012-12-09 04:25:56", "2011-02-17 16:19:39", "2008-02-07 10:47:23", "2003-06-01 14:32:03", "2011-01-28 04:48:53", "2009-02-26 14:18:33", "2009-12-26 10:28:15", "2016-09-11 03:54:04", "2002-08-09 19:53:24", "2005-05-08 16:30:15"],"c_array_ipv4":["SKzBIZqRGG", "xXFjizLIBK", "SOFCfupNFa", "sHiZUotFnR", "GbsRiYJMiN", "fcQQDarnMh", "STHQASdhCn", "kUzwetTPLS", "gHnEJJGPiM", "JcwJjkZKln", "hINQpFwtBL", "lRKXvjAyoV", "hPwGpQJYab", "dmWjAbnRHP", "YbIioGgLXl", "EOlZaVtXxX", "UcIjEOPcgK", "EHqoMpatLW", "rufmGWJVfz", "bzPWlsfvxN", "pEdoyywIbf", "dLIJqkPnRu", "EgRGjdwUEf", "dseMDtLwpi", "HkMaJRNbnr"],"c_map_largeint":{"c_map_largeint_1":4047593590472169176, "c_map_largeint_2":-6514790088187098836, "c_map_largeint_3":-2569212244157348195, "c_map_largeint_4":6841688285060727303, "c_map_largeint_5":-2204512631373413173, "c_map_largeint_6":-3144374154215321586, "c_map_largeint_7":5376804024539282612, "c_map_largeint_8":1580344178144781309, "c_map_largeint_9":1211392865988677259, "c_map_largeint_10":-8961807362123532406},"c_map_string":{"c_map_string_1":"KWIHPygSNAvxpXhOmFjBOPhLjfZFZxFSqtSgcqMAxHDgLsRCGjUxndCiZIqMqUNJyCdYbWQOFcHKJfKbvgrOVnHfcqphRuNNaQELueQJMpEReRShIldpORFdkWGvrJsvgCEfbgpiwDwVwwuehdoqmtPwJdCkuKwRvCQQHmgOBFfzcGXTvhrAbNDeiuMMXURmqqsZAolwtMHeakwcliOwQasCekLeFnEVYQIdicgiQtdwmaTCKTxbIACuPONmoGXBckXYiHPqxIvJocisrfiHHbSXiXcPjcpJyubJkZqpYLiaaMLrfPzUUTEgQCyNibbRqbbSIrFfTVQPENOfxHLZmzXTRmppmCfPszGOrrKkVPdTgKzEplgAtsmkDcIuRutdOBGpSmEztCzfgjNnfDgIUawOjCuOVWhfMLrrsmByBcgVVgrFTcbLRyqnKWXotquhxcYvaPEaJuttYWOGYOlLBqzhXmdqrelRDXdlRlHbptIUcUeYYXrPtvLOWsoRXXPY", "c_map_string_2":"AzcBwXvDrMnfDNOwgCdqqwWnSZjHdyrHNpnkvYUECsuCuotaZAvkRLLEmdZpnUNmUdzjOlcnVEaxqTqEhOYHPgzZJIhKSRzmiJwoqRPqDsWeLVtjAwgxFxLaKsvWWRBkxAGHzRtKZntsUSfADzeTqNkQfGceTMGpsyuwGLWLMnstBvwAKEzcvCDUPHehmjKXDuoiaJaahgUwhSvBSWYtalecOumyHeqDEeQWJyxyrLluuvZboFMTYFCLUvRIrhoFxVZxOxgwEIWAKdQRwODEnMxUyvDGPwjTCQZXMyJpHUroLWEXKTVljdrGoIAgqCtiWNPmbhvXoZRoHEhhHLfuyQWiSSKbXTqgaePLqQUZaEmxKlGTCNveEvlgSiqbTHckSllHXknEzaNchfcIusRCECMltjkqPtlvvUrlqXAxrfiNIUwilJaHgELSgmrtvuHjVAXXLPhDFilSchEkEOLLcbBdeAzVTQBqmHuVaJyelyfLpNshZnijwFfYfknStRiN", "c_map_string_3":"urgwYEivVCPYZDnMSmYlCQCCsskFlquwrMIjeOuVqAuvNWfjwClbIgRwLNQaWCQKbSAntTXGuFtKhugWsLwgnbXbmyBuJLlBtsqjXSdDsFPwwJIpvUMjPrEFjcBnUMpTGQbduSExENzDfSYMOyVgDZblDVARAKjvdmEfLLFdYZLpDOEWSDiedwLgPQGITxnJGZqvmUYWCcvLvYnRKvkVONKVwUYSAxFugjadlVCkgEZIAkBESGithRvFDDZRizWkRwrdAkHxNnftRbTwvSQGafwaFVvPbzUkQozhSqCKuffUfnIJcIOQLqnZVfiUdYOaYFUOudMurojMWKTODIwqZrqXZMNCgmxzkTxRAqMtwaqutrbTQkTJbNLVzmJnNplVDKYKNLWvkJnJJDhznxoRnxmKvytINLezvlmdtduIHaNhgcoYdeaUPmgtLfVEGkmPexwVJVbMoFbveWosWezhBWsPhUjDPxKPxezmRcwxxvpcVFnXjsHIFFbiJHDRYjkL", "c_map_string_4":"aTdrwGXTUbDwtpSCilvyiQFrANdeZyLVkBOmgWDocVlaVrHbQWCdkWLgBfvnzfwVMKnWUQKatApBgMhIhimimzdvFydLwTQFmMDkHNdDnTcouWCHxnJseDWMpTOvCAQKwxakerEbBITyKKXoGwWnovuTIjiIXBAAhcnQhDplSFqxWhSVYQmpsOGwYrcQYahzpqOUWbtwIQfpnVQeJkkDZGoZQlHpuwTxxCqyZDsgBPKREdJGefJfXaRtfvbKSPuMtcklxRARaOsUkMDXtRJXgLGBYKGVFSOoBeRudbZnoiPCIzlGUxkehIQQauZjeCdGLZSrZhLskaiDypTxlBsChyKJuKcWnSZpzlhKbnoGZuHbHfhpAqzkJKRScTxiftopiYpcEmewRWCYzYaIPFGraMkZjPwwbwMSABqzDDyDLAbtHjwmVeFORsxcIXotoTuVjJAgUtzZBeBbuQVgeWQoJOGOHLszWAvchUfJZFIywukNFnQMMyNWVkujUtxrMtHV", "c_map_string_5":"ESTfTBajETAKOPwmyNyaiMKzzkQMRlxLSxhPRgOkQaISkUkbWZMkvwhEThiOjyNBfoMKVbdGbEtMkkWpYTxGIPLjvvfujPgOfjnykKCMNkAZVVvUeaYbLyrecnaNkcWdxYXjxwtcLvzojPBWiJlMeUuoogVuQyeChxWSfqyKxhyJhLtagsOEHvozCeqhdvxnPmrYipFRjFFeZuRaEmUzKahtMqpVSNpwppdLuCzmILbqjfvNYCTusqRTbdRjYWGyplTCUKCRlQZiiNLDFNKsjQyEXrnopCcIfSrWaZLuWKjDXgWHbWiFPVYABsoWpyMVyIbULwAjIpjiDJSOyKmBKwLxyFbyHSaUnZitkBRcGNKKywtudfrASpgwTjIPrrlDnwmivouVejOWsrHSEzDfClCwllLTJbPymaHtIjwckpRQJUvzbxfSNFjwleQlfzwpjEqtQiDmWoqERbFMqRnGbqyzdfNjRibrEKQBRzykPzrCNOXgvbKXRDUMqNTFXKRY", "c_map_string_6":"LDXOHNgUdnLMdHKNEuypAzFhruuGGaqIFGtyzXvCKNlYrEJTumTumZdkPEJynoIvNVsppfgFCFJhYBZUovCRjKQuNYFsdkeTAgPJJYEOtDUIvZanFAILzCTjdzfqxGXIcYuBxLVoCnkaNkrAnTwXmeVYRazFCgdgIAGSXnYsWPzdhWKnkJTOZScQcmhaccBuYMSehzRFGjDYkKqbPzTGttHGAyorpdOGKBhPnipdwHghcYARepXcfmOXcUEswhLiPmnkyFkfKzpgtLBZMCQnEJqGeKceQCsYSmMgdsZguvFWWfyXxUorotmWjVuRZfZciswrsmDRvpVaspvlLBXaFJMYjqWglpSKxTcPjuCtKYHNmzHFyjtXEtqdnbZcKaScJxTDgiBYZBSHFadxrCMCqUWChwqyrUwnLAMeJPjYcwkWMKsZnGUhHRrdKAWWSYKwPUaVgfhleOXqyIfxBBycurOVfCZyrbfpurgpcQAbHtJdHIyusBWcXjGBCkMsYDmv", "c_map_string_7":"YWAmWKrNzNoCcMGkAUcppOpydADCNYYFOFtThZTPTdssrkMmjkcwmgvCgyNQtrEpoWlVkoguhFZiBQyNhPnVnHDbDADaEnllCwRBstCFfDarJXcpJDcGWchBOuJcXSyVSpWeOUsmtMTJwgZnPFlHjllEKafOZSsaeJuTrqNPqzionzKtnKqgYgKoHwOwgoIfyERddWDlyJwIjMjKKNjpLdRCPdavcTuCKJTLrUPrvzpYpnAGTkqzQorPzKWqMRJovJPulkCGbNBvbUIvDTOeurVcqYFbaulGiRExTeQdVZXNnfoFSdeDdlijGQPSNZhIIRtrzedAqyCmcjAShOigdZEkwdFNqoLZjXUWETPXGDGqFxnNUmbamdzvqTidMFuMsOYQiQMhudrfNBjSrCrACaTVPkoaObxFBwtHeZyIculOoxuaNyvWIlYtiZaGYnpqkSzvTBmFoOamxrISrUfuhLtqANYFxwZIDDkMGaLMubEUjprKqaHVwMOkDhKcPllZ", "c_map_string_8":"vhDEVyRxWceiMiVuQaUoXGErrwJsFAdOJeWyBOJTOzqhnaTlFRppLdMiHnAHURrkxpgYpMrEUsUXMHJNgqhySIWYCjJYZbgaqvggrIoSohNmWPzyJPoGlsWIlHrjdFArDZpiStNPCZQteHAzopgRdaMhSniNDoyPjsELUUJylFvIxUZwhTnDqwgAOqjyNmFuxDufJgjRZwHmpkzsuCtfOtdCkcIUdFUFfitxsDqMQoQQDfFHHXojWCJusiIhHSonTyfhjzvbFqJBnQRPgeDdyeowXFEOnToimAPXXnrDGvpdUFbjxZwIOlDWITZUWuCNLvdNngIcfiARgtfvvvlzIPPBydUnbKtxDFjsGTTgbOEkAjTmdFzAdJGjcBCLFrmIiJpBECVOHvFeQDEzetPhZmojSVUAuGeGuAuaYGDKdnSZVmitgacUiIuYDMALHBKkUYvxXtERKwNTsmYCDGOCIisJUxioMBcAVZGtrbjieQisqkYpdcooFgYydshKUMbE", "c_map_string_9":"JxDHpFQTgErGnWqokYrLityFgMLlJXoEWJFHSoTLTrvlPEwLCwIsMPfZEkAHXBjLWloKKgpFfsoXuaTckfkfFmTwXJSQNTxgGFOOpbfqeJnaPhUUjkgUKbaZZDAoPDymzTHvrdAmwbWXIcuNHSUPjNcsoMVxUNmlEpMNqKRaWCruuVifWGAWYDuvGdygsvgoUptKCNtLyYvOtTJUAYvVHfQAlWyDYuvAEiuxvhAaUeRcMpuogTqxLiKZyuFVgOTGZZFkGJjZmwVkfENDwCqYgTZZrfmXIEHugNgdRtkKYlgJLzZAASkegvrOSRaqeIyeuGObVAYsTKggGgZKzrxLyMZNpZIBRLrktPCSHUFyGHMNhDwwbacLalQQVwpPEVdkuqYoekaIwpkQfWoZiTGkBcszljTxEovEIRUnEAdPlaVjFIXCwKIxreXUQQWxLEGNoysuInwhacmYyMtuoRugJrSofuKNNcgRyFGxiixNWPWFLvWHwSnDsKAzdGefpPuW", "c_map_string_10":"qrwqXONVOJTOXdsgIlRPVIMqXHCVMATVFDnmEwAoATuoKoFmllLIKvMeBmeKfvcVIhoPadFTDfXwSeaxsSjAkmNyhndjBbAChIWryVbZYwhYSxTIKlyaOdZGHGzyWCcThRnphhlaxUMkPoSIpzyAPrbHpLxSOwjpZGXDfuTkgnZuZOsIkRUqAbLkYMsFQtirLqJEBJRwFYKAGyAcdGlBwUvlEOBRLKRGSVLtrUPWWmpnoTOjRkXwcOiMwvwmfWdhHyAEOUrjKoIRlSIfUgXfXrlZoqXvGuYyDghvQtDlZIHiKUoFGBrZsprRkfHtJLsHtGqprpEaiImhQrYFlDRQGaHarTRhcXdnbISVTNkDfdtSArOtuTCyFEWTVXqXruhhSqCkNPhIQeqIrtHkmhupWIlsQmKRcsSBeEMrlstWPFzojTDqNLwGjLmNjNfedwEWijrpZcErSYDrbZcOPCWzdHaVjevyviGOxbEVmolmwaxBRoqGnvBrHDraBqRHmOtQ"},"c_map_datetime":{"c_map_datetime_1":"2003-09-04 20:04:35", "c_map_datetime_2":"2005-08-28 20:08:10", "c_map_datetime_3":"2016-07-24 11:05:14", "c_map_datetime_4":"2007-08-23 19:46:40", "c_map_datetime_5":"2019-02-09 22:11:31", "c_map_datetime_6":"2012-08-16 01:39:25", "c_map_datetime_7":"2016-11-05 02:32:08", "c_map_datetime_8":"2019-10-16 01:09:02", "c_map_datetime_9":"2007-05-17 12:51:37", "c_map_datetime_10":"2004-09-12 00:34:32"},"c_map_bigint":{"c_map_bigint_1":7453700348499064339, "c_map_bigint_2":-5219633330205901504, "c_map_bigint_3":-3904410019386132063, "c_map_bigint_4":9072933424971526551, "c_map_bigint_5":-8333675416835742440, "c_map_bigint_6":7070448984941857088, "c_map_bigint_7":5584725855967330086, "c_map_bigint_8":8730104800423117112, "c_map_bigint_9":1165368922855544420, "c_map_bigint_10":-5186058991001128751},"c_boolean":1,"c_string":"unEixIPZFwUdqctmOZwlTEhHILgMShcpIzgjhYyjhSMpcUhsALrUqrIRHaRccobgiuCTZrnhkeQTjHsCYOcDawuRHvTDfjRBeGKNzXUomtLlPbTiIQSeEztLnTKAmtfrDHBvBhiQvTrbfnyBItlyAWBYtbSLAdJffQcnQGVcNvveSCSacwqfUpsXAGrsXKUBdSbKAiOCUDPTEryDwSRukBVvRWHaYXpfsOsTCHUoyWQOSqMwzzzUwbJyGItdAdGyjuAhbVjNOuEnwARbtJjPWgACIeTiGYqEpYxEyIJMvPwJfapfJmlOQvmkCzxrElqpFRxEfGuWrtZsmwZMaUyUXyACtReSTCXURGArjSHYxrdeKnSNXDzhbZlCHmeagnZwyWhOBGArANPvKHCJUopRuZAbsdSIPSQPrKTnybepSvuLjwVKeZuDefsQRXrLhyfdXOSuuLLWEgrYeTBOrqjYwObRRCbEopLectXvRmHCJBBCEcEaKwhBKUCFQuIxgkab","c_datetime":"2017-10-23 12:57:30","c_array_smallint":[-21608, 17000, -27255, -30832, 20817, 171, -26837, -8527, -31544, -4551, 30092, 32497, -32695, 13528, -22756, -27220, 18558, -26715, -2015, 9967, -27181, -27548, -2430, -14689, -18514],"c_array_int":[-607832749, -1636317825, 950083386, 100348967, -407955002, -1032700526, -622261521, 1222845906, -1252122721, -707200221, 586444771, -1825338481, 1616381769, 1919830178, 1548624226, -1127189284, 143830608, -1435803476, -1349373518, -1645151845, -63327005, 663945817, 563894365, 2036828868, 1360906788],"c_array_largeint":[2666583834638129549, -5274474698542356966, -620540742835838879, -4699530991129607472, 2777214211468653847, -5099412312805244161, 6537874161954469434, 3191703321771364256, 7865667110057261353, 2148912278781428528, -8435470093260932461, 2453652629610117583, 2181933162533720028, 8810372357742425279, -6689176294702401457, 297599081897350899, 4113752854555181794, 8813713202469646798, -2204251372555595207, -6694111214379112603, 1484665782546101483, -1917588004274431509, -7955725220737268937, 646844883131807114, -4681429774979680759],"c_map_smallint":{"c_map_smallint_1":28937, "c_map_smallint_2":9837, "c_map_smallint_3":-14365, "c_map_smallint_4":17803, "c_map_smallint_5":8937, "c_map_smallint_6":-11613, "c_map_smallint_7":11903, "c_map_smallint_8":17834, "c_map_smallint_9":-4519, "c_map_smallint_10":28353},"c_map_decimal":{"c_map_decimal_1":59.0991, "c_map_decimal_2":92.0881, "c_map_decimal_3":74.0733, "c_map_decimal_4":37.0723, "c_map_decimal_5":98.0026, "c_map_decimal_6":31.1845, "c_map_decimal_7":5.1090, "c_map_decimal_8":49.0274, "c_map_decimal_9":53.0246, "c_map_decimal_10":73.1872},"c_map_double":{"c_map_double_1":96.95425680614531, "c_map_double_2":89.45522276308084, "c_map_double_3":8.0649792391213, "c_map_double_4":41.47089742804694, "c_map_double_5":59.06488069622525, "c_map_double_6":75.15682680305981, "c_map_double_7":17.794756647176747, "c_map_double_8":46.82568755951245, "c_map_double_9":20.187191168808045, "c_map_double_10":93.3327714144052},"c_map_date":{"c_map_date_1":"2018-07-05", "c_map_date_2":"2015-04-16", "c_map_date_3":"2007-04-18", "c_map_date_4":"2005-11-09", "c_map_date_5":"2012-04-25", "c_map_date_6":"2014-10-16", "c_map_date_7":"2009-07-16", "c_map_date_8":"2012-06-05", "c_map_date_9":"2018-02-09", "c_map_date_10":"2009-07-24"},"c_tinyint":-111,"c_int":117356939,"c_array_bigint":[2608185815816694762, 344461900928021425, -8769279156630428803, 3818552178484464139, -1864405890082332376, -7129094329294622333, -5494945277040570194, -45923636236652822, 7723676357779419285, 7599885063449245353, 5677516762214901309, -1624515213845546136, 8660244079834527391, -819240816290919107, 1058966524715716168, -815822381604313712, 3290442556400202115, -6509842916509064060, 2672520142913063073, 1653636659621824270, -6767935942186583636, -8560026247524698126, -8982327148819707794, 2867583251609322514, -1419681774347389837],"c_array_varchar":["FIzIdOSnfkesZyArtiGobQJgDOVqZsbtqGMWDiaBqqBCxBMHmXUavIrYYTCpfiEzOHEvynGCtDbjyDlJVQAEcpRbMMxSgvNnBMWMvciEKIHZTZhFycZIaDKBiHJpYcPqngAHZWTZcTeuiDnpVetdDTDZHeTiKcTsCgSbOMSjYJJCYpQiCrJeBFAjIXkbQlsIrISVqjCmxqKcAbvRifspDsCVsVGdWOxsWjNVcGIVFuqeJctEOUDyzddPVvhmbNqD", "dKCiHNxqPNKceVPhlcCWVtOICQCAIoCQrysHZEzuwJNBQQTRJKXreRJlkbbmOTkdhpcXPQFbZZdalJnyhzHKbvbCTBhKEnqxSaKdkiyNGNFvQNOLonXkZxefqznLJdCYeJQQYPheyvLJkHwMPHKwGYhhiAnnJhqSqXhWogYWcVsqLBaRbpCjhxRBaKliskRiqEAZHMJCbZHRoZKlpRIcgmCZCgRPXJUyGoGroCtEOwkPzqxVxokwrNEPbEIzHvHI", "eTfSmnyOmxhqqaneDHSBcZnVQCuXJrboMPCWQdcDOCdxZFXrSJMsoJqzmTqEHQSScJQuNpCNgNdJEBMIFdGGTurzNSqQTIMEmGQgVHdovhXlHpGmcYhXKPthHdrJOIbPzJaegmQzYgFWGsShuuefNDeTQugUCGCeYhIyGmenxppmuvbHwZUuRCSohSevzyPewgKrurWGsHisaOcsmUNebXDeuJkbXFlTThNJAMorsLBvQTgKejVvHBYRhOmqYagY", "DatnenolXXYUDWHNCLdvRfCpjRLxfGSRncnLqJfrQhnikyLSGjuElGHmrbVIUcpHCKRiSlUkfDAiHaOLioghSayBjBCflxmjfeYuhPMXegQWQIuttSXVNqoLjhKDfdHkJpBaCCeesXOKwhseinUwqjiIxstXxJriUrfmzaxDKxIxFgyZiMuNruDUkQIKTSSwdtbKhRsYodEremoIQUZhmikFEpvVkQeVaCbOptAWvDYgBlkzcextEJKSlxwdvtml", "ppGVhJZRjFWVjECbPYHPeEmpUYpBGRvlaoaAOgNrxWwTPVEVYKuZphTRYyQSjkIfnbjHCOerJZBZTTyDVirGPpWCXVkHgRVMqDYHBJLYfnxtyWKwdNbhWaReaMEgmvABkjKBgZVKnoMInDXpOuJjNKepliZCUliBdfLPcaWysxalhLupLiDHPqfwZqjKEYCDjuBEGIVzjvwwVnqrPZqntcMycgCpLqfMUlJQuZrnhnLoptmGYmeMPeoiwECoInVl", "ldXDLabqnFYUOlgaaLOPxUaKpHvAlFlHCVGsdzFaQrKJayaIWxapnNQYQETtuAheLKEgyGvKfAEYgrjmQOxEyzTakroRmuXHfhVQmuAjgFlJOaRRHrtOofATEtlEvBSQasVHmElQgSrQZaMGelTbgdpuASLakPqIuksXGywJIjXAHBLHRZzfOCiDdEjqFKzMoQqpUMcNlXfqtgechPZBdwKtKfPyqPwMmSDtQgeihQPmvcNvdvBHIugwfspHdkRK", "EyDwuRVJUzwwFnhpvbfPgXAAQZyHVoMaFIFMVjTaogOjcdBfhnkWSNAbaNfZoYfXRVqwAvVRBKvSREZQADdMaCdupKtNXKEXYcYOzCURAlAXHXnpDIRDpBAKbaLtUMqypeIHHmXOUwCvKMrzyBnWXgKbLWkbmAkXyrsdhyosQNAvumkkjUxnuMSbWzfLSBuCFayrRiUDKUKElFzEtRmHUswJrufVHFEzONrfHQTexmfDVupKWEkYXbGpNwCMukCq", "uTbCoXKqMGNScPVzgHWUiNlkPkqrxLFbpZbCcQIqdQgtFfUkTBNCSWmPXfEvCTbphmaTPDLcEsnghMzzNmiZFssymTxaaLIxpIMMcWejIalklctzaJFzzctNjBlxHAiRHNgwNcgOrdoNycJZSMQUKlCtvIsWALrEvNzKEDkBsSZurAWpafIXfjJBfsWmvapPHcWckSDCdsTAYClUUkFOuSQSRyvyOSAQTPZkurTCIzwMQwUgduVsDUvdDKgKgYOV", "aCZHNfSYgYUfYdYDazPqvQZJWzIcmXJvmuxjmQHGkHOEulYumDVgCDpfivNKmfRriXodXnZMBJZZlIhOLCqQeheYNurHTYEadReWcYStKSPrnkZYWPaEbPseenrMVculfrPFatjamUzAbYNHegdZlrkqtuuliQGBVkAFsAEgxrqfjMVoabxNjOhXqoGNwMASydAamwfOPVbqedjmlEJlkfUZeRBfBLlMEtzGBnNWZHtoKwDpQsENgNJNLNdbYAZr", "zBZlyoqFujNrrsKNjIlHkmNctkZyHfYYWiKYqVtloaPNWvYQqVnyZgWBFCFWTCfhAmlAzFodLZqWWtSUWaxyBsMqpjMgcnoiVKbjsLVphzRFtvEwGjhapoDncmBzoeVhITRvYprEuzXlOGAibQscUsEsMRGpgnveciurXPrnDoowFupNrrvRoGmEqCFNvtrpWcJlpdcIrKxjyMbgOloCFHvhcwJEqjGeqrdBsXFXeNTokoJGgttYNGZJLUqFeVHi", "VwJqupsWXbVCmIjMeOuRNHPOvfbZwlNKRHiuPkhgFqUTmWEAMreJTzMUKLGVwupdxkcyGMsLxnUKKHmIKbNcorYzfkdgxEwBQBWLGEPQOuVDlwqWZAcUbIgpbmBHhQgLPemVSGnazKfONOkbNWndTdVPCRISuYPWLwykzMIQCRKjsxPSoFIPXyoBcHFCmoSbVqUPhoawByUaFOuuMZBJFrqEpOgFWJAKfqgfHSlpSWHyFqYatMAJjUxfnwRAawYw", "IOBTORVtqBxQfWoySFasajwWrxuexMhqbVlgtHvwWGSctubTMSXCFFaoZKDxOmCMbAZUVhQAxNWYmTMUogJNtHxasgREknnUBBVOoWcvbNJBZmHbICbyJAghiLpXkTDFzrSzUBKqbbNcXIZNmadQmImeFNdqlIeXmrInjPYZICOWOWjgQlsfZWlArCsgLbVuLJvowWjZttwCetfzPaJYZAVOAQIFgrMZJGzyziiQITJQDgjmuNVuqitGnAwXJcZo", "KPHmqDLBmdvfBwTPpGzGFALJsZRosujIBCHtQoTtbVsoqaaQzVvPTvmHiwnymVDWDlPwfRZsLzxKAhznMLZeVSfYfkOmoJHVcLyIlJrPONmUnzxequcaEElPXmfoHySMpEGbZdGgZPAumtAvtmUPwUkxQitmggoxAvtjUZBMexzpvgNmKAhoXkEeBWRLugagfiydpncHpwHuEHmmtXsVCCCnAmIWyGWFCwEkiZEYhENxjAOewCeEwRERvPhBSAkB", "BmEsZWkSNJInKOsJauPxmVoUsmZAdYYlfuLLgRCQbAbTeTglvWLpyukWUQDkCYPcQUIcAxSKycajWafkvfZyOVmkpJIyfiZOjSXTXvSTWlhLRddgxsWogxUtgbQtDhRBuvKpoKdFTmokjlXsWKVqANEyYETJLkXBkWhSuncSGFNnSLTzaHPKPjqVGYEJuZkcuZsSrpbiLtTgZapsVOgBxSnKAbLfgZNASaTdUaKQCWRSiDnoJqqsCIrsqMJZwguI", "fjoccpZLNECaHBjoKLsCIKClubAxVILBSOGGxACtUwkncFJcfHpbfOxLsxLrjwaPKdnouVkKyTMcpadxTdTwfNJNQxmnYVaAvPfQyfCbHFNFmmyAQqKTYPgSsikzEDWRzCmdTBtZegiouiOgAFfvRTDnLIkbDHnjAjlhkCscQZfquPDOZMmjRrUmIFaJYrMmhBtNzESuIRyKcwCmJXNPbKpPSuxIAyUHVnNBEvdoaIBSYDWNRDSZCwjjzXblHusH", "XhkQyIConCIfsuKaVhRSrOpPYzTjuFRfIWuKXAmjhGYZHiRLibtKDUjvcQKWAcyZDzojiqyIVrkyQCRlGSflxxPasZtjkpofzXryfCcZimVesIhICOQWeOBuKKsNmrPfudZHRVECDGNZvzTTKOAbQrPtwORXIJjVhzNOxAQejglnjDWUnyHJuQWlyQjANlDqcJuqxegoGYOPDgCqPGFlkXMpAABgIJqLwmzGGnEcKzXuSoEdxTusPCXRebKDhLRS", "YUEPHxsakUYVBMjYkkZIgGOebkFikhBqgwhGjRDYGdqTiIgQKmclVkgmKmMUSZcoETtxiWVFqSlkXnYTWfBbNlYMknRydhfVQjSROcVDmQILtbSUZASjHCWoseoFcdDCewsXBsXwWHeKJolSmztuMPgLfHHeFnxImYJHnvYBTIlwWdgrVjDmsgZhydJbUHKeFXgcuhnBKrEJwpaeAQyoUexahPgSBJSTSuNSGFujkKrHlCSAnZPUoCPPUUoPUNbX", "qFEURMavDNgMhIaQidRsUMEcyDFLaejVaomSmSgROPCzebByQtcBHMWevdWBuJqbsWrrlSbsAXtTsEdtuNYtrHpYIwxPdRYXIttTRDmgaBBLMGtUbEZAaIicmwbOyTecGtGnMMQjZzFJqsLRmiWyomCjvZhpsGeiikXAzDIenGzTeXuZzietvIJoIVVdxISeJsQLLgPsvbEZPELIyztbcsLJGZfmCAuxJdZfTAQIWmCKJRdZAlhbMzmLMwiluYzP", "EAPHcYszfNNuCmNPByHeyYlPLSFxNeGdQBGPbqmxeLfWdcXmAAKKfeODyoQgdrOyVJJVYYOhcifDrPsxhWLOZEmYkcrXEXjLcnEoJYLQHtAFJGfoLhEckuvZuUQukBEROBggMcvMoqFJudAVjYsyPgfapfKvPtjrYEvwQTEBFTUBrMkFtHAZaoruMHJGhDuEXXDXESaMtIuEEwadKuCnFkUcMPolNmzKodGlVRduIUjstnDhnOyxYTTmHPHXCRWd", "tWwQQLDppShFpFLalbnjkXGyfdqxwnAArfRYAFrbQAfPbmtwlzmFYNPcaUGaFYezjcEqNddenzAbPgkrBSVaibiFMVgnoGeqNYaAGOUpwRAUFziiEMsPGeKxlpVaZZEvsGrNYnHjmZttCUCuzoViZoLLHbBPpihPGAxXAhnUejwZAMvSGNdrkUbyxmdBEwPVYavfmJMQbTwiRZgnxartHuQDehPJBgGiJLvNsfNbHwKfnHNXKDJhCVsSEazoMYoz", "jzbFrjGFrImRNCgKarlXWXAcPKPcodrFBOLKmfdNguvSdpPxedZKHFIvOHJrYylleIiqbBzdxRyvaPTSGXjeLdWnaCrCvTHwOTGmXAVIuPSPFEnHVhGVCYVBcsQZmszTpbAYGfPnOSfvmARCQUYgLWNsGRFVxYVWgjoFrFmEBXyKokmOcdwlkUyVzLdDiWmOmeePXqhhUduMRQLfokCcLMRuiWbKlUiTUdzDrnjCRdACmUFmUutekgTlkaZAPmQZ", "anedhKDtYiYHkUcZomXHtcNObdFrTBEAXGShwRUAuIGSDMUsorEVwBkEtTMenBPPTwpahZWQtSmEMLoYiEthyIZGwcFxAAegmSFTFccaCVzHRqZsvhbgrIxLwgsmqdMIlYPxSmxAGDwnMiazwDoatxwGCvmkvNCUnaYjjbzJhIlWTZicRAgPjXNgUwdaBVaeiNhKhZAtcugIOTlBBiplVHPDVTEZGzRhZpgGjxPJZyfpRSVGoewSoFKqilnFnuCk", "JoJvNdQJAAgxuMukDUbpskAIGDlhYTVAiuAUpILBszkXhBzVUmJkFGPwwDtDvbzOwDczhYCciKRyGxtsuzWvFUBbpTEJXeGdwAqqKzVGTCWvXDIkGVYZovKftrDAaVvAGswRQEduAqYiVNeLwDmpeVqRAodAphotBwTcFovutQCRLuupkLfOyPQqYhghvcCjakyOWecAKNVwtaMosnuZfyhlzxHoLWHfJYUwFUJCHWpGghVeUZAOzCBdFqtKsLbz", "SZHVDEyyOYXzfiaqRxnioMUtQRWwKHObYPBqXdksbYbYmwZihOdihnApajzYzKWuMWuedjFPoFkGKxEMrcXhwpUSEEtXYXBnXBLORaKQnpXwBumknzBzQpTgzYBgImEfiWuRAAKjkJjrsiQFfhLvCqYszzYzQgyRVMeDBajGGlhjWzDSMaIOJrOFKEAuDYlpywWPrfiHhGDwuHQrrysUKtiVvvLTYnYWfDLTumqeQMEwETwugmmDCHPgufCGpSEi", "VAOjoteUAkeNNUEcvKbCmMmKqpiIMiYiAICtTwRcqZNZbjzzjHfHdzizpEUdgKCJWjDQflaiAlrBSwvnPAqRsGrVZYKuPkdOaeTjgiDGhOPInYWxZAHvZJbSSazTphQXTHRJsaDyOPyoSIigpzjwHnnwwnDgmxTFtfwduUXZDboDmjghrJfrGmBOVVKKBswsnbyWONbazWaTPYYcjccNbOuhBTECDQwKMmiwKRjhwrHVgXaUVFVFwSNdxiKjNhsC"],"c_map_ipv4":{"c_map_ipv4_1":"238.20.220.13", "c_map_ipv4_2":"80.177.31.199", "c_map_ipv4_3":"109.99.56.44", "c_map_ipv4_4":"67.84.139.76", "c_map_ipv4_5":"150.50.226.247", "c_map_ipv4_6":"178.179.6.136", "c_map_ipv4_7":"162.115.83.169", "c_map_ipv4_8":"224.135.103.185", "c_map_ipv4_9":"85.188.140.182", "c_map_ipv4_10":"100.6.245.239"},"c_map_ipv6":{"c_map_ipv6_1":"dd5f:1f8f:e3f3:5e60:2d75:663d:c485:f228", "c_map_ipv6_2":"88a5:42c2:9fd:e895:15fe:b2e1:d2a7:d013", "c_map_ipv6_3":"462f:6191:5d57:dd77:909a:5cd:b586:1f6d", "c_map_ipv6_4":"7192:2345:7f6f:e140:3951:accf:cc92:1d9f", "c_map_ipv6_5":"4a87:a8f5:b801:c788:aba3:e940:9bf1:f7e1", "c_map_ipv6_6":"6c8e:b5b9:ef67:fed0:c00b:d91d:124d:aabc", "c_map_ipv6_7":"780e:4bb3:386b:35a3:4e12:2cf0:c77d:390a", "c_map_ipv6_8":"ebf7:e2c6:64af:7fa1:9e47:5a80:814f:9f1d", "c_map_ipv6_9":"fefe:af5:dae8:914c:829b:4d70:e47e:f072", "c_map_ipv6_10":"19ac:72ad:fe5:a2d5:9dbb:b628:980f:5612"},"c_largeint":-5008651115751358730,"c_decimal":22.0199,"c_date":"2006-08-18","c_array_date":["2010-04-20", "2016-08-07", "2013-11-04", "2002-02-01", "2003-06-09", "2007-07-12", "2002-05-19", "2015-07-16", "2015-10-19", "2004-10-24", "2019-08-06", "2017-11-25", "2000-05-26", "2014-11-21", "2000-02-02", "2014-04-25", "2010-08-22", "2014-12-25", "2013-09-28", "2000-09-02", "2015-12-22", "2018-01-08", "2012-10-13", "2002-10-15", "2018-04-18"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":67, "c_map_tinyint_2":16, "c_map_tinyint_3":-66, "c_map_tinyint_4":67, "c_map_tinyint_5":123, "c_map_tinyint_6":59, "c_map_tinyint_7":-4, "c_map_tinyint_8":53, "c_map_tinyint_9":100, "c_map_tinyint_10":40},"c_map_int":{"c_map_int_1":-1508585862, "c_map_int_2":-1700279357, "c_map_int_3":1926677637, "c_map_int_4":-1208392390, "c_map_int_5":-2063936195, "c_map_int_6":-457691477, "c_map_int_7":1010426273, "c_map_int_8":178646062, "c_map_int_9":-1444478078, "c_map_int_10":-827568858},"c_double":65.29868539941589,"c_char":"VUhBoIznMA","c_array_double":[50.634258236177004, 57.65477704236311, 13.301245383506284, 62.85835056820749, 44.54457191830893, 19.04031497768144, 5.58827611089978, 0.891316511629446, 9.323478221758858, 84.56652344301057, 21.88346728298324, 89.79891862768751, 73.09919684893208, 91.86869184524647, 11.405756367363722, 14.034430879503761, 92.7979721756889, 1.2281629140433372, 1.211617860556966, 52.7538396346136, 10.518566124519259, 18.676971671308248, 40.31436710554154, 80.0837886087671, 9.005455274162891],"c_json":{"jobtitle":"Administrator"} }'); + +sync; +select count() from table_20_undef_partitions2_keys3_properties4_distributed_by54; + +set global max_allowed_packet=4194304; +insert into regression_test_datatype_p0_nested_types_query.table_20_undef_partitions2_keys3_properties4_distributed_by515(pk,col_boolean_undef_signed,col_boolean_undef_signed_not_null,col_tinyint_undef_signed,col_tinyint_undef_signed_index_inverted,col_tinyint_undef_signed_not_null,col_tinyint_undef_signed_not_null_index_inverted,col_smallint_undef_signed,col_smallint_undef_signed_index_inverted,col_smallint_undef_signed_not_null,col_smallint_undef_signed_not_null_index_inverted,col_int_undef_signed,col_int_undef_signed_index_inverted,col_int_undef_signed_not_null,col_int_undef_signed_not_null_index_inverted,col_bigint_undef_signed,col_bigint_undef_signed_index_inverted,col_bigint_undef_signed_not_null,col_bigint_undef_signed_not_null_index_inverted,col_largeint_undef_signed,col_largeint_undef_signed_not_null,col_float_undef_signed,col_float_undef_signed_not_null,col_double_undef_signed,col_double_undef_signed_not_null,col_decimal_10_0__undef_signed,col_decimal_10_0__undef_signed_index_inverted,col_decimal_10_0__undef_signed_not_null,col_decimal_10_0__undef_signed_not_null_index_inverted,col_decimal_16_10__undef_signed,col_decimal_16_10__undef_signed_index_inverted,col_decimal_16_10__undef_signed_not_null,col_decimal_16_10__undef_signed_not_null_index_inverted,col_decimal_37__12__undef_signed,col_decimal_37__12__undef_signed_index_inverted,col_decimal_37__12__undef_signed_not_null,col_decimal_37__12__undef_signed_not_null_index_inverted,col_decimal_17_0__undef_signed,col_decimal_17_0__undef_signed_index_inverted,col_decimal_17_0__undef_signed_not_null,col_decimal_17_0__undef_signed_not_null_index_inverted,col_decimal_8_4__undef_signed,col_decimal_8_4__undef_signed_index_inverted,col_decimal_8_4__undef_signed_not_null,col_decimal_8_4__undef_signed_not_null_index_inverted,col_decimal_9_0__undef_signed,col_decimal_9_0__undef_signed_index_inverted,col_decimal_9_0__undef_signed_not_null,col_decimal_9_0__undef_signed_not_null_index_inverted,col_decimal_76__56__undef_signed,col_decimal_76__56__undef_signed_index_inverted,col_decimal_76__56__undef_signed_not_null,col_decimal_76__56__undef_signed_not_null_index_inverted,col_map_boolean__boolean__undef_signed,col_map_boolean__boolean__undef_signed_not_null,col_map_tinyint__tinyint__undef_signed,col_map_tinyint__tinyint__undef_signed_not_null,col_map_smallint__smallint__undef_signed,col_map_smallint__smallint__undef_signed_not_null,col_map_int__int__undef_signed,col_map_int__int__undef_signed_not_null,col_map_bigint__bigint__undef_signed,col_map_bigint__bigint__undef_signed_not_null,col_map_largeint__largeint__undef_signed,col_map_largeint__largeint__undef_signed_not_null,col_map_float__float__undef_signed,col_map_float__float__undef_signed_not_null,col_map_double__double__undef_signed,col_map_double__double__undef_signed_not_null,col_map_decimal_10_0___decimal_10_0___undef_signed,col_map_decimal_10_0___decimal_10_0___undef_signed_not_null,col_map_decimal_16_10___decimal_16_10___undef_signed,col_map_decimal_16_10___decimal_16_10___undef_signed_not_null,col_map_decimal_37__12___decimal_37__12___undef_signed,col_map_decimal_37__12___decimal_37__12___undef_signed_not_null,col_map_decimal_17_0___decimal_17_0___undef_signed,col_map_decimal_17_0___decimal_17_0___undef_signed_not_null,col_map_decimal_8_4___decimal_8_4___undef_signed,col_map_decimal_8_4___decimal_8_4___undef_signed_not_null,col_map_decimal_9_0___decimal_9_0___undef_signed,col_map_decimal_9_0___decimal_9_0___undef_signed_not_null,col_map_decimal_76__56___decimal_76__56___undef_signed,col_map_decimal_76__56___decimal_76__56___undef_signed_not_null,col_map_char_255___boolean__undef_signed,col_map_char_255___boolean__undef_signed_not_null,col_map_char_255___tinyint__undef_signed,col_map_char_255___tinyint__undef_signed_not_null,col_map_varchar_255___smallint__undef_signed,col_map_varchar_255___smallint__undef_signed_not_null,col_map_varchar_255___int__undef_signed,col_map_varchar_255___int__undef_signed_not_null,col_map_varchar_65533___bigint__undef_signed,col_map_varchar_65533___bigint__undef_signed_not_null,col_map_varchar_65533___largeint__undef_signed,col_map_varchar_65533___largeint__undef_signed_not_null,col_map_string__float__undef_signed,col_map_string__float__undef_signed_not_null,col_map_string__double__undef_signed,col_map_string__double__undef_signed_not_null,col_map_string__decimal_10_0___undef_signed,col_map_string__decimal_10_0___undef_signed_not_null,col_map_varchar_65533___decimal_76__50___undef_signed,col_map_varchar_65533___decimal_76__50___undef_signed_not_null,col_map_date__boolean__undef_signed,col_map_date__boolean__undef_signed_not_null,col_map_date__tinyint__undef_signed,col_map_date__tinyint__undef_signed_not_null,col_map_date__smallint__undef_signed,col_map_date__smallint__undef_signed_not_null,col_map_date__int__undef_signed,col_map_date__int__undef_signed_not_null,col_map_datetime_6___bigint__undef_signed,col_map_datetime_6___bigint__undef_signed_not_null,col_map_datetime_3___largeint__undef_signed,col_map_datetime_3___largeint__undef_signed_not_null,col_map_datetime__float__undef_signed,col_map_datetime__float__undef_signed_not_null,col_map_datetime__double__undef_signed,col_map_datetime__double__undef_signed_not_null,col_map_datetime__decimal_10_0___undef_signed,col_map_datetime__decimal_10_0___undef_signed_not_null,col_map_datetime__decimal_76__50___undef_signed,col_map_datetime__decimal_76__50___undef_signed_not_null,col_map_date__decimal_16_10___undef_signed,col_map_date__decimal_16_10___undef_signed_not_null,col_map_date__decimal_37__12___undef_signed,col_map_date__decimal_37__12___undef_signed_not_null,col_struct,col_struct2,col_struct3,col_struct4,col_struct5,col_struct6,col_variant_undef_signed,col_variant_undef_signed_not_null,col_variant_undef_signed2,col_variant_undef_signed_not_null2) values (0,true,true,3,0,0,-117,-23397,0,-32768,32767,147483648,2023693329,1729099960,1615937966,32679,3176896,20240803,8,-5896505915126105982,245,14.447437,23.156818,65.19663958713684,300.343,100.02,10.0468,40.123,41.1771,100.02,100.0080,300.343,100.02,null,96.0703,73.0466,40.123,38.1017,300.343,40.123,17.0648,40.123,null,40.123,40.123,null,null,10.0815,40.123,21.1719,20.0378,53.1538,12.1132,{null:null, true:null, false:true},{true:false, null:true, false:false},{127:4, null:1, 100:1, 1:86, 6:0, -128:1, 0:1, -27:-128},{0:16, null:-128, -108:0, 69:127, 1:-128, 5:0, 127:-117},{-28126:30654, -7774:22134, null:26397, 16695:0, 31597:1884, -17589:-25185, 32767:29457, 0:null, -12600:21819},{945:32767, null:null, -32768:null, -22067:15265, -24294:0, 245:-26498, 13251:-12437, -20516:-31405, -31569:-2322},{614495227:592347656, 0:0, -354711910:-2147483648, -682602125:-2147483648, -2147483648:-2147483648, 32679:1777771724, 26365428:32679},{128643653:-2147483648, 147483648:null, -2147483648:32679, -1154917578:32679, 32679:147483648, 542859009:null, 2147483647:-2147483648, 0:-1458719878},{-7560079573055676200:1, 30604:-6271804, 20240803:-6942822169192854549, 32679:4, 300.343:245, -905607:300.343},{9:245, 245:4, 1:1, 300.343:32679, 3060155685455870386:32679, 6338037174167640685:245},{-6594317532596907503:-9223372036854775808, 0:-1261266, 32679:245, 1272605861:3835593086779548627, -9223372036854775808:-5857284316971935149, 9223372036854775807:245, null:0, -1148955069148718728:5425695827494242116, 9100218450390662257:32679},{0:8173080978131656752, 147483648:9223372036854775807, 32679:1859333, 9223372036854775807:0, null:1, 5097308:-8203282237256532096, -88351842:8104771, 1:147483648},{43.185265:300.343, 100.02:100.02, 75.646866:46.042442, 300.343:40.123, 40.123:7.185273, 50.394463:81.576836, null:100.02},{100.02:null, 32.426594:40.123, null:53.73905, 52.1723:40.123, 40.123:40.123, 300.343:300.343, 79.40372:28.474674, 28.800262:8.380665},{50.57139914907043:7.003113995394923, 56.4771258687387:57.51500386368686, 40.123:71.65602472083042, 100.02:98.7522816293731, 300.343:300.343, 31.91536765645812:300.343},{30.27896343036575:79.05344994635404, 85.85062074821931:40.123, 22.44453905086484:81.62230071888233, 59.99679961141785:40.123, null:91.35305760129904, 40.123:null, 53.15910725194488:97.59640376872031, 100.02:24.881750619017186, 82.17602549916849:40.123, 300.343:69.57809062974687},{100.02:'like', 80.0979:"300.343", 300.343:"0", 21.0995:'mean', null:"300.343", 13.0864:"300.343", 40.123:'j'},{55.0522:"9999-12-31 23:59:59", 300.343:"1", 31.1641:"2024-08-03 13:08:30", null:"2024-08-03 13:08:30", 36.1209:"1", 86.1294:'y', 85.0380:"2024-07-01"},{82.1526:null, 10.1951:"300.343", 100.02:"9999-12-31 23:59:59", 7.1288:"0", 31.0905:"300.343", 40.123:"0", 41.0451:'up', 300.343:"1"},{100.02:"0", 300.343:'d', 3.0039:"20240803", 35.0792:"300.343", 74.1293:'m', 76.1615:'want'},{40.123:'look', 80.0348:"1", 33.1164:"20240803", 300.343:'right', 100.02:'tell', 60.0003:'q', 90.0136:null, null:'that'},{40.123:"2024-08-03 13:08:30", 100.02:'g', 45.1860:null, null:"20240803", 14.0902:'hey', 300.343:'n'},{40.123:'v', null:"300.343", 48.1205:'the', 83.1861:'z', 100.02:'why', 67.0705:'was', 61.1969:'but'},{300.343:"2024-07-01", 43.0738:'hey', null:'can', 40.123:"300.343", 100.02:'him'},{24.1811:'want', 0.0493:"20240803", 300.343:'I''ll', 100.02:"9999-12-31 23:59:59", null:'of', 70.0077:"300.343", 48.0614:"300.343", 99.1454:'s'},{40.123:"9999-12-31 23:59:59", 6.0813:null, 48.0572:'g', 300.343:"2024-08-03 13:08:30", null:'in', 100.02:"300.343", 86.0218:'o'},{55.1807:'z', 300.343:'from', 40.123:"2024-07-01", 42.0032:null, 76.0823:'e', 63.0504:'x', null:"2024-08-03 13:08:30"},{40.123:"300.343", null:'was', 83.0588:"2024-08-03 13:08:30", 97.1791:'o', 59.1166:"2024-07-01", 94.0493:null, 300.343:'x', 19.0639:'o'},{null:'t', 96.1269:"20240803", 0.1750:"0", 36.1888:"9999-12-31 23:59:59", 300.343:'s', 40.123:"2024-07-01", 16.1615:'r', 87.0791:"9999-12-31 23:59:59"},{28.0068:'j', 40.1636:"2024-07-01", 11.1329:'f', 300.343:"9999-12-31 23:59:59", 100.02:"1", 81.1502:'that', 14.1259:"1", 10.0427:"1"},{"300.343":true, 'about':false, 'n':true, "1":true, 'g':false, 'j':false, "2024-07-01":true, 'v':true},{'h':true, "20240803":true, 'get':false, "1":false, 'why':false, 'z':true, 'x':true, "300.343":null, 'p':false},{"9999-12-31 23:59:59":-57, 'w':1, 't':-128, "2024-07-01":7, 'could':21, 'I''m':-128, "2024-08-03 13:08:30":null, 'some':20},{"2024-07-01":-54, 'l':-49, 'why':-128, 'know':127, 'would':25, 'all':-128, "1":-93, "0":5, 'c':25, 'there':1},{'what':0, 'x':32767, 'l':-32768, "2024-08-03 13:08:30":-32768, "20240803":-14558, 'it''s':-31525, 'a':245, "2024-07-01":-3468, "300.343":0, "0":-32203},{"2024-07-01":-19685, 'about':-21418, 'mean':6300, "9999-12-31 23:59:59":245, 'of':-21690, 'if':32767, 'it':32767, 'h':0, "300.343":23240},{"2024-07-01":0, "20240803":1643957695, null:1319097139, 'z':147483648, 'o':1311702231, "300.343":147483648, "9999-12-31 23:59:59":32679, 'b':-1753865744, 'well':-305742263},{"300.343":-2147483648, 'did':-1373581901, 'o':1242827092, "0":2147483647, 'for':-917650653, "2024-08-03 13:08:30":-2147483648, 'they':32679, 'j':32679, 'don''t':32679, "2024-07-01":2147483647},{"2024-08-03 13:08:30":300.343, "9999-12-31 23:59:59":3556041734319642095, 'z':245, 'b':1, null:300.343, "2024-07-01":5, "0":7602304},{'just':3078698, 'c':1, null:4145617, "2024-08-03 13:08:30":8961966505752295664, 'my':32679, 'they':null, 'g':300.343, 'are':null},{'i':1585705985, "2024-07-01":-928681, "9999-12-31 23:59:59":-493526103327304319, null:-1197189, "1":32679, "2024-08-03 13:08:30":9223372036854775807, 'out':6790691778729494224, 'as':0, "300.343":261890334442145929},{"300.343":321465494, 'k':32679, "9999-12-31 23:59:59":-2605404324326735460, "20240803":147483648, 'g':4601089763127211626, "1":147483648, "0":1793079, 'did':32679, 'l':-9223372036854775808},{'okay':62.586945, "1":95.43628, 'e':88.90058, 'a':63.820404, 'I''m':35.386284, "0":98.76888, 'from':87.35488, 'at':51.312347, "20240803":3.3075275},{"9999-12-31 23:59:59":6.4999695, 'out':null, "1":97.72149, 'don''t':27.956036, 'will':40.123, 300.343:52.596443, "20240803":40.123, 'v':40.123, 'were':null},{"20240803":300.343, 'o':40.123, 'z':100.02, 'it':77.0310161649421, null:20.90332602900934, "2024-08-03 13:08:30":100.02, 'just':null, "2024-07-01":27.59783600086159, 300.343:44.152283129565554, 'about':null},{'now':62.03706014666806, 'c':null, 300.343:74.88674455779675, 'w':100.02, 'go':11.126877105297696, "0":300.343, "2024-07-01":300.343, 'r':80.521401130427, "9999-12-31 23:59:59":77.51571939315505, 'or':100.02},{'l':100.02, null:300.343, 'her':36.1363, "2024-07-01":40.123, 'e':20.1909, 300.343:null, 'some':49.1762},{300.343:59.1187, "0":300.343, 'b':300.343, null:null, "1":null, 'yes':83.1565, "9999-12-31 23:59:59":300.343, 'you':94.0209},{'are':44.0546, 'n':100.02, null:10.0993, "2024-08-03 13:08:30":40.123, 'can':37.0521, 'p':null, "1":100.02, 'y':64.1686, "2024-07-01":40.123},{"2024-08-03 13:08:30":300.343, 'r':300.343, 'a':null, "2024-07-01":55.1000, 'q':300.343, 'yeah':15.1669, 'back':56.1763, "20240803":300.343, "9999-12-31 23:59:59":64.1207},{"2023-01-15 08:32:59":false, "2024-06-30 12:01:02":false, "2024-07-01":true, '2018-06-07':false, "2014-08-12":false, '2007-04-06 01:58:44':null, '2006-07-28 21:54:40':null, '2008-06-07':true},{"2024-07-01":true, '2012-11-15':null, '2007-08-03':null, '2007-03-18 18:59:31':null, null:false, '2004-12-25':null, "2023-01-15 08:32:59":null, "2024-08-03 13:08:30":true, '2007-07-17 13:00:22':false},{null:-42, '2002-02-09':-128, "2024-06-30 12:01:02":127, '2013-10-16':0, "2014-08-12":1, '2003-07-09 08:52:45':null, "2024-07-01":-128, "9999-12-31 23:59:59":1},{'2013-10-05':127, "2024-07-01":2, "9999-12-31":111, '2010-01-26 06:44:01':1, '2005-10-18 21:21:45':-128, '2013-12-21':-107, '2018-09-23':0, "2023-01-15 08:32:59":null, "2014-08-12":null, '2004-01-09':-5},{null:245, '2012-09-26 04:01:45':-572, '2007-07-22':0, "2024-07-01":-11168, '2016-11-26':32767, '2011-12-07 10:58:43':-13338, "2014-08-12":-21362, "9999-12-31":27970},{"2023-01-15 08:32:59":22309, null:245, "2024-06-30 12:01:02":-18620, "9999-12-31":2707, '2016-04-12 21:29:43':7855, "2024-08-03 13:08:30":null, '2018-05-09':28054, "2024-07-01":32767},{"2024-07-01":-1131722620, '2005-06-24':0, "9999-12-31 23:59:59":-88126154, "2024-06-30 12:01:02":null, '2015-12-23':-2147483648, '2009-10-12 17:23:36':1904631112, "2014-08-12":774907627},{"9999-12-31 23:59:59":32679, "9999-12-31":null, '2012-02-04 16:33:35':-661872699, "2014-08-12":32679, "2024-07-01":1592957282, '2018-02-07 19:40:19':782841648, '2009-04-16':-1706536604, null:-1734660628},{"2014-08-12":300.343, '2000-10-16 01:24:45':4468803, "9999-12-31 23:59:59":300.343, "2024-06-30 12:01:02":1, "2024-07-01":20240803, '2005-11-26 04:04:45':147483648, '2017-05-22':null, '2010-10-15 10:24:25':-1333671, '2001-09-28':3689437, "2023-01-15 08:32:59":null},{'2013-05-25':300.343, "9999-12-31":147483648, "2024-06-30 12:01:02":32679, "2024-08-03 13:08:30":-9111063040319805227, null:1, "2024-07-01":147483648, "9999-12-31 23:59:59":245, '2007-05-03 15:54:08':245, "2014-08-12":null},{null:6267217762213600354, '2008-03-19 12:36:21':-9223372036854775808, '2001-09-28 02:33:22':32679, "9999-12-31 23:59:59":1807466735, '2007-10-14 14:43:39':null, "2024-06-30 12:01:02":9223372036854775807, "2014-08-12":147483648, '2004-01-06':-2274188},{'2000-06-16 05:59:08':-272835, "2024-07-01":-49206, '2006-08-27':null, "9999-12-31 23:59:59":629226144014733099, '2007-05-02 03:30:35':-9223372036854775808, "2024-08-03 13:08:30":9223372036854775807, '2012-04-26':245, '2003-02-05':4051040658638878072, "2024-06-30 12:01:02":9141028104944086448},{null:40.123, "9999-12-31":null, "2024-08-03 13:08:30":3.950017, '2015-06-11 02:31:04':23.985064, '2006-02-01':22.387133, '2009-01-27 06:08:47':40.258514, "2024-07-01":40.123},{'2008-02-14 10:59:59':null, '2001-04-11 04:52:37':300.343, "9999-12-31":51.985073, '2010-12-01':4.615073, '2014-12-06':7.926441, "2024-08-03 13:08:30":40.123, null:100.02, '2005-05-27':96.364204, '2018-04-06 01:30:28':100.02},{'2000-07-09 05:38:06':3.7121297136453406, "2024-07-01":5.198362272238612, "9999-12-31 23:59:59":9.634443092024952, "2023-01-15 08:32:59":null, '2012-05-02':25.266860184607452, "2024-06-30 12:01:02":65.1384032603334, "9999-12-31":40.123, '2005-07-22 21:48:15':29.523790022677296, '2009-11-04':100.02},{'2011-03-03 15:01:08':49.86428234889378, "9999-12-31":40.123, '2003-10-06 06:53:01':100.02, "9999-12-31 23:59:59":null, "2024-07-01":100.02, '2000-05-05 18:05:24':84.64892387728004, "2023-01-15 08:32:59":15.445141304190644, "2024-06-30 12:01:02":100.02},{"2024-06-30 12:01:02":43.0254, "2024-08-03 13:08:30":40.123, "2023-01-15 08:32:59":100.02, "2014-08-12":300.343, "2024-07-01":300.343, '2017-02-26':null, "9999-12-31":300.343},{'2012-05-25 19:00:59':null, "2024-08-03 13:08:30":null, "2024-07-01":2.1263, '2006-11-22':68.0500, "2023-01-15 08:32:59":null, '2010-02-18 00:36:07':6.0769, "9999-12-31":40.123, '2014-02-17 10:32:19':86.0594},{"2024-08-03 13:08:30":20.0911, '2009-07-12':54.0687, '2018-05-21':300.343, '2007-06-15 21:05:37':null, "2024-07-01":null, null:81.1224, "2023-01-15 08:32:59":100.02, '2013-12-27':25.0824, "9999-12-31":null, '2017-01-05 05:19:29':null},{"2023-01-15 08:32:59":82.1118, '2010-03-23 22:03:53':40.123, '2013-08-22':100.02, "9999-12-31":14.1797, null:100.02, '2017-06-05':300.343, '2000-12-26 05:37:10':300.343, '2001-08-25 16:30:03':61.1254, '2003-09-24 02:54:58':99.0691},{'2001-12-17':3.0212, '2015-04-27 01:42:32':40.123, "2023-01-15 08:32:59":44.0596, '2006-07-10':40.123, '2014-10-20':88.0016, "2024-07-01":300.343, "2024-06-30 12:01:02":99.1501, "2024-08-03 13:08:30":100.02, '2008-07-27 12:45:24':300.343},{'2018-02-26 16:57:59':10.0431, "2023-01-15 08:32:59":98.1744, "2024-06-30 12:01:02":300.343, "9999-12-31 23:59:59":300.343, '2012-07-15 17:03:41':300.343, null:100.02, "2024-08-03 13:08:30":300.343, '2013-08-05 01:37:25':40.123},{"2024-07-01":300.343, '2016-02-14':16.1791, "2014-08-12":300.343, '2017-02-04 12:56:50':95.1703, '2005-10-15':94.1427, "9999-12-31 23:59:59":40.123, "2023-01-15 08:32:59":40.123},{"9999-12-31":null, '2007-09-06':31.0662, "2023-01-15 08:32:59":300.343, '2007-01-12':17.1642, '2004-08-14 17:10:03':8.0498, '2002-01-27 21:05:37':55.0728, '2014-10-26 11:36:13':92.0321, "2024-08-03 13:08:30":100.02, '2015-09-03 22:15:54':40.123, "2014-08-12":99.1404},struct( true,null,0,-1627773726,1,9118527689020875150,100.02,40.123,90.0355,null,83.0893,300.343,40.123,null,300.343 ),struct( false,127,31093,1718386232,32679,9223372036854775807,100.02,300.343,40.123,100.02,null,14.0321,40.123,45.0091,300.343 ),struct( null,62,-28966,325380501,4895864105404036603,0,100.02,18.05439221639992,97.1557,100.02,300.343,null,300.343,300.343,44.0038 ),struct( null,null,0,147483648,4,0,16.08771,300.343,100.02,84.1552,300.343,98.0473,59.1089,40.123,null ),struct( true,93,245,-90789197,147483648,null,78.56182,65.78237466732722,null,64.0678,100.02,18.1324,100.02,49.0562,44.1006 ),struct( false,2,null,0,-31579,1,40.123,28.133892531079425,42.0076,100.02,300.343,300.343,58.0887,300.343,300.343 ),'{ "c_smallint":4296,"c_date":"2008-08-28","c_ipv4":"173.162.183.183","c_array_int":[645329423, 1975037772, 1477037807, 132837602, -2064689482, -1748314706, 1031597012, -834857769, -1604053869, -593784764, 2112328786, -478141047, -540073302, -2054863880, 925648391, 1057682858, 1789649900, 1307921889, -1351642257, 2129667906, 1248116951, 646138868, 1995302101, -1590209834, -1220488061],"c_map_string":{"c_map_string_1":"WRlGlVpKgGQmYfVsmbAcUGDFKwxjPHKslvgyRoRAmlmIsbFcyESgTKVTdRSigllWnmKETyTfgPhwizHfQzhrVKOuEOsLAkrToovqgIdChkZpnnWRzekuImYZdEBpRmjMVkZPSmEHUkiCvggHWQswJBCBkMIKsbnYszDnWXwqiyyowfqaNmbJaTwjmItlXNlFVMOChhmHKNsHhtNZZwJxxifHNScYpCAryCUXfbBerdFIhFipbnhnTvBVqQMpujUtgEckklVnKTZAuqOxtplEIWDlwPJYBTunJoXTfVehqvFchnmslrfakgsAcBBqSgRwGzxffAjGPtxuETXRRUvrFSFKwAaylKyYMmfnhBFZGQZeSMEwrPUqWofOrTrDFpEVvIZESMEtwTDVzWlVzaFWKhkXGNHyMKXEZkqxrCHyTQDmlIAHEKglnPXpAldYzCKdrcDphABYdWRmVYUoddptknmhQaxvHYegiCHEIMqroMmvFTGGxozEfTApaZdIWODL", "c_map_string_2":"JukyXqMUNgOeziBpzTBDSHALaiWSFGGEHvFXwxtrYLoByMuXWVyozxbkoWMgkKRmvMZTxMGcaIGJmHFlNfkXNjuOdKOwvoDgzRQtENpvaHtwQYqPOWIcYeHuPBaENSQPsvLOoMdKAHhSGdgUmNuPvHbLpBwIPfeExsyTEOngCJWJMAPsEIvLnBaNLtsDBjvHQSQXCAFqRaAbiVrBaUpqqrNMtDRbrzOWIRTNRrEedBnXmEGMBvFsteonIGBtGoxBQILOVWzHiRsQAyWXmnBUIqehLxeFWBGGrznpooBRxHrgNGGGnAefkRUqTaBQbYbvcUNLUmScVOzuubnigYyhduWLNMkvnHtEBoTiRVenvlrYvedAeUoDDBpWmCtZXWhrleHCbyBqwgXrypIzGDzWigrQsfKOCvOYSZqsBGVhTaeNawMEJgmfuvZqjUfxtbyPDpYseYdZLBvTTjAbnNmHBZqRTljqqGuFWQYyDhtrkVcFCKLMZyzPWVguXwiSvOkU", "c_map_string_3":"VZNbjBzYzkorwSCKNOGhskMmHpVLFpMOQiWeVwSlrTerWhIHpzmvLPcbTQYInGhlEMjLYGfjobzzEXyCoxFFLZuwSslvexKacbTggFSQLeGXAOJFzZJzSwwfmbzYuqVWioCMsfzaKCwcdIZAEbyBboroEVjedNLfLnHEBnJEQulNouKCnHJvCIgnvqoHoSOfDXhewxkgWWvecoeLgWbxRiyfPLkiiudtrMecHHzkUpYXgypQvqwcnoFuhhqEquVkJttNNHRveppOEpsQelfhNfxugmeRMSdfMmYUidqHiUarjlNmMEzpffNVxlMylCnuUbmoRRDMokffteJVuCJwvETdckzxmBgBvHRxtFuPKClXPWVMKYrAhRaxlsdoFofhXEhjMTmBrIeTCDabwEtFUZOWYLBcDpHuvplekOdvEDOPbZnhkBcNSqvBSFpllflbcVBMVJvRnCywmyyaxoTjiyxYHEAGCKexZelxTkTCWAxXSxVCqKzdCtrrefFQJYEA", "c_map_string_4":"CwYhyUXkdpoQugmJodHEQTQpHIikLbvQGRGMEFEXODRkNbsEfMFdFFbZebVAIFaHDmZCfaeWPGVJBHVCnKVusvMIxgxUvgfoDDIwfsByykEJGTNEordfInXJrGkzQCczZkhuUvRnNsnpAofezCRbtDYTjKidARaMQyvNGRZOlOESeaQxUrktQnftWKdwbMadFfcZQOFVeVvAKayyfIAmHOBzOXASWtSwXgdzCYuduiWyAHniMvuVGGzQYeOVMieuuhijNXXgTFvdoyyRweghRQQxYhefMpZOrDSuEcMIkNKBhnydhASIzHvlKRIQsysOKIcbhSOLrpytSlLhTNCgREFlPBfgRwtqGuXxFCyIbXaeojbNNmeKQqqeRXHwJxDqGUfaqnBNyzBIHwOHMaicuQfOShMvzQFZWAptAGWxykqMbfYOrEWjRJNbIWGiItCqmEOcpkDOWkMiOWkbxStmtrrnnOkaWTfLahUXvAJXLnOpTWQBBwcVCXXWaTibPtXB", "c_map_string_5":"HvgjjuzOkDDLSGRbnFtxBSyWQfEzEddYjZTngEweHxDfAVCpPwfcSEQUPMYJFyDEGCzpiQFQfnnJFEaSKADarOgXIPATlfPgaXINddHbxhloCwCosDbUomOEwMRlzmApJVqfdHVrCXXGHaHiujPoirwqvqDRblkoVskKPPKZlWoAMZgvziGNIadIKXPKTFJdKygEevdSaQirHHUugJahlKuogAAccYzZxyxdWsfupMzUuMVENWnaUJEwdCaCLuxOdqlrrPYaYJczMbbSsXJYtzMcJRcHCCcOcecHtMRXVDybSkSTWmBZrSzVBPCyzRcXVOnbIIiYfjbPrqtembRzYJDOzBRQfnrSdSNovcZgcVNvkmieopODekYABTpojkEMqfLprJRTnVpjaKWadhNZaxCeZbAKVEmolTdhrSSylWccEZzYohYhBStQRCnSvrsepDsQpsjeOZisugiYYyelICGSKlImQALXHWlkBWnKPeieHMSdoNiXpEJPNWvbjNel", "c_map_string_6":"IOPSYxPmnGRxbzFiNGYncWemZLpDWTYxHmZThGSURLpdhXKpMRneRDRNleBjrpWZRYlelwkAfvrGzXjXyuUyGUWmfEpfIJVgwDfkQPDAQDAMKCJdRruSuvjJxOIKLFnZZYarthEirQfVhoIKEQfXuGJJtBQgqMbbcAChQJFTNpTgtjQFZpxntieTkClzydKeojjshgqDkzaTccHsqvfBfXpsStPSKtLqYkeXIchfjvgAjFsajpAnjjQWRKYQJTsrmusLQSoslzASxbOmhMrMsDzJaIZFpfvVeiZgythOInZzefIgVdskekFledBPcrzHnjpfHLTBrPNkxxChfMWAivXrFpxfdghlmHAcyahBmlnoAIKrHwunjAXXhaoBsjngogKHcvhFxiZWQyTQNzgeTvzZmQyzqRnFBuWlDPJvAQcfOSoXxuvjrqgAgdnFBZBYEbOfdDSAQuUZJgdpxdJCedrYfCxYGmMVTutlloaBVRPmWUeyxoVYqPUptBpNYSBO", "c_map_string_7":"JwEySyifnrrNgZCVfaQCNrbhQErIFuWNPolKEKkKXZdmnRGksFdGYuoBXkIkGZxduwFGsYnzxmULxDiyRItjKYFkbrjDDfwoEcHdEbyJPAlGpvBkUrLYhOoAmlTjXjBbTVgQspatuwardCgFMbhrZLiYwbblhPWAieXHdMVPBWoCUOiQtVZOTnwSWDCimGsJamFSypfUUuvLqjfBoOoEVORFxhaDXfxxDbDmvzpssVpIEJnMdpvrgFdziuDRTVFGlvvwmmwqCoJYBehnrXwPPbXCClTHDwGhVUndOXwXaCZEjVIQrDZXGcMcEcMMLruQRVlcgDrlLDhlponThQimOimwoezYZLBCimXmPbCZhpTeuVtQevolXWBjtXQBloEpYguvXpGumVMuKUEwpBzgvARiJMIlNxDYvgsWCUJgMogIeJlWvggMNIWsPIkfGfQmEMbdGZlMJgcmRXCfQEISCrAMSHnuxdnsnGCUzFNZYOPEvkpWnLVqooKZNQDCVWuh", "c_map_string_8":"EJugGQgcJOkLoucsfsffibkERDrnrTXwIyZlpoQyhKvojNalMEdkcKrfnoixgoavTeqKGWYptrORyBvbcXEzWsEDkDASKSnuKjfroexAWOGrVSfkEOdlvHNvKGxotUjRjuifzYZUUTXIEsAMvmfXlenRJouCOmZQwXnZFIutgJUmgmqHeDHhPGCoWjQniyBgLbaNWbqCKeuNKwQFiKcAAjJqLzikTQqbsbGndJoSSUlYuceFnlPQPqPSwRJfniKVmVhqxLzzkUgfumpRyVkTMnyLkUmtvBpRBeqKEXSrxlCGgXrbxhEmfWpfQMmZwFAwkDgVHtMZMPucbLuoRjdUgFJNpuiMqnAuPBnItAHcrNxJVTtYRTaVnUbyKFdZVSTlXSrIbPjlberzwgedIPMuIhnecaPpaqQpIfNtKYNAQvuxgnuUYqSBIoqdYWsUUmZDECoTxUyptAEruuJZjhOdIKTmDToakMvtOdRmHPXICWHWbvcGrOXcVDcREcraPkDo", "c_map_string_9":"vZbydbDucLgORxzNvknjzfRpjzhgJpZhdUuJfDEMWfiddeWCiGqcmZFZHCSgAzUwXbmopficfNeqmHdfBwRllxvzIjGStwMQvlVXcYSuRTYqJQptDSsEUqXPAyrxWaTXbWERJPnjceXxVEgxDEFZeSHyiDMQHahvWFUAOKrrmRoiPqtRbseCycYtpgUmnNGvIleJrJqtgGNKybImaPZYellzqEEOKkQPQVmQylsuFjagIsTmmdQtMfDguyOXxQsPfdbaEfGjxDAGeJzZSOCNXfWptToLhhNNcqeWBQSybfbOEnNmbOutANKgNELEqzROmoPGGgBqWUHmYQotnlhIjzAYsRsDILWdoGHMWQQEQVfhdgbBsTtonDNJGHTiBQvjFkvRRFZwfwbXuNkNRfYdopZARUCQacjfpANMHsBGFwyGKLHXAVbKcmHNENEUGQGkcNBrrqRACKVsslNAUECPFfgBmrKvhtytlKepjIOYwtRSbuvqcsZSNzFruBOxPESd", "c_map_string_10":"tKnOlEsnGvrtOJFwMLFLebiOJSnZmagZMacSqMdNlfCGTaKPMFtMYpBuQwgXOozRfeicFIUDLoVTsRTeXGVbZMDUGNAsiTCQfaRuZQNLIhnddpWtAPPgwBxPKkGrADzJNJxGurhdSzNYvzjGHsAEmjjmfjZKUdjMkGBtSjvYXYQjvYabOHCBmIQqNXQLfgToMdkWjKEdnibcsEVXouBlmedomDhisnkGJYfzQyoOxiFoNUlUZAEwlxQUcZCUDDbZvoxhDKdRDwxoWMrngoqqChMYwKCMocbaSdHKbcfkaWznKafROxWixxQosQOOuKyODaiOdriCkksGCPydxrrJMvUoeAeWctSWQVsrjMZTyiwxoFkOIupaTYWWDtPWPZxzUrStzzlTxBIjTwuEyoHWfyxxwzcfKraMCaKFxdVrZHMtfKIkYOUpUcvIQBiZmjkVtQIUNpgYfrEgSEQCNlmiIIaheRhjueWelNHoRIvAVRJgQCWSeQTrAqiKHALdpMfy"},"c_tinyint":17,"c_array_string":["wotKsGkfNmgImDjNvcXnEYoWjDaLmWjnnCjhHKTzMAJJJKSvFYyAKDtGlwhRRgORUGCsMNkarYfVdfrYZgNwipgecDUdVvocxTPuMOcvQoNOVGJzDZrPRAznYKbQcuCHKIBqxdDshHQZPLzLKMgTVExOfMVgYVEHlKBZsvqkXrFRCFvhwsBjphJmWmecxUKAXFKAFFYngGFAylVwucCyyyAKpYVdyKADxWlFaGThGswQeieWjKqDDMgDXAGbkPIiSuiWGNPIOIbIVAobNHBmhfEkjyCjZtHJIZrpVaOQdqqUlWpCBjPjEMmNfnsdXkcQzRrLkTLDZndtOReSBnjRDMlVZqgXZMxpYRKaSCaFgUGEEMCRxpJuiyOSpNXarJTibCCdTyVgrlUFULbUpwEEpSGkrcMbyAnuqVCDhtXiyrXTCzqxuwysWdPYGHSiRiLlsyAGbEYKcFHGznsptKinrNgOXSUdAlDRxLQChyFCMCCMSaZeHytevhRxZYPExQVD", "RlYsVXVpIijunhiYIYsUqHyqrfULcnJwJUuWFAIxQPrBkKTwjfjlmPDHlmZEJamQIQkTraNYNrNEdJaYHSZOeDpnhTVmubRxuXjMmuYbgmYZvdeYscBMrcMIAieNOCUKtLAUeHhzJXicZAAwQeKppJqHJHwGldlKAcJWBuahIyjCJfoPjJAOVMPaADfIUYmxDyZJChsbVBQzjHYaXIFjnPOfGFyWsAEtDjeVLvpERDSuesTpqTHxlSuXlAyAsHWIIESJNMPxbuaKzuWWMscDhXPmIwkowduCvdXjxtQvsZacScZOFFountayKdzLJkOmSmGezgbaqjYwvVVGmoVNOzWVcvxLAgZXMFmRKbLHhsFaVhfUDJDnAXfAaqCgLCOsNaLirFjfqOIjNGmZwquEKZdEzQMDyggoyDpOzOvGsRnaKXZTPzHdoiEirRoXzaqgREAKMcHVHGmQbbYOrbJOMjKcFYNAMYXgHJJOVjGnZEWweFVIbBplzAQPgInXGyRA", "MryKJcTnTogoRjxlOKYUdTgPpnNbumiYpjAqsHFiLEflDyTrZIPtWiBfjrXXjnXJFQuazpUslNcnOYvihwFZEjjAHcIABXnuwmDQfnCnCSUqfZLvostVooQhZaUomJcVIobskpvxkDiymNTwtZZNlQrJmBGfVJIOTlmeFUVxSOICeXDfZcwVNlVtabiiNZlHQzHCdINUdhvCTKxnLDIaZPJHyhRZSDXHJHjYmIQCwDHSeGHSCvKXnQQnTSjlfEWWeAQzZzmJFguXPHCbrSuDdUZxMuyhLvAkKBmCkjmzAEFiynHHDdKXLLHxDgLpaMtGBMKStYCNdMBAnTmHwSTLzDvgJoKaQweLyXcuWNjbPpFXwpjDCxpNDWGJLgJkXzWRTbeWZotwlwpmbmQKFHibPosnbaVQhukPGnfOcvUHGHmsZOqFQskuCLyJuNGXpJHXMEklcsabdDUZpyISjapOUZvwjRxQwNsXjyETAgQLYQuUueFZVkBhmQlSjkFlRemJ", "uXBmFzFruBaAWSeSLRZECWPQcGLULjAKPClCzRmOwOolorFCbBLNHnoRIGOqpvavpolbDeXVtljYKTDjZPBXskOEbCtlqVXnJpRbKHpmfPSMYNwQtxEAizBWMNxNtrMsfWPzzuZQYimiHJWaraKBMHGywNXoRIxpkFWwgnHYjqcNeOmLpaHPjrqQuaPnYKeNaHlTdWBgUPpsxLNTiivBpEDFfCtNHZPOuQCluwYInKAqjaSAbkYeXjUTkwpAEiQCRRYhvbfgEukdLauddDKPkoNcaIZGspbrgsJmZcLEirpchjTfiJbsLfEvuOijzwQvoAkcljpUJAdBNragemwaIzWapSNJSzgxGUhCczCpFANeyPfTWFOGWUjbZeSoHjFTMsroLAKIrzlXKFpOoHjCWHvJYFYSONaKhGWGBbfRgEOVFXboQngsMrDuKFGpwrPKCGnlGeRRWrBATOplHstCeyPuaouaQSFiNzuptEaudBWRGxJdOMVDxpHolqTgiaIY", "scWarAEBqhGOsONkdkEAAxrwoAjCPaglDlzsYGbgQIpCCDubHBiiQjROhBqpMfiuTWMDjpeGhomsqDvkuPcssrEQFptLfEDQCccCsTgVZufhiqUHjycReEoggmQTfBsQwoEIgQagIXROTLSoiUbXJegqSOqPKKrMXAexZFdAVnMufZTUXgbshXdlmfAdWFEVxDWxoGqeLKcrUsMcgERrKKrEFMiNmTIcmEUVNUdnXexDyWianCNFEGNhGQGEEmBTKqEvRchbHHNUhCOmnBpnePTXKArimsJzHwmULiSjFhzTyHplBROWTxMFghDjXgDYJScHGiqCHeXASZhYMmZgpeqkzKgxGrGOoJlljgEETQxdfEaPjAiddkcUaHXQMBHmzKwFOSQefepJGvDyuXMPaQeWzUCUcwBsergYShuWvPuYKyGrAQOkUfaPDRGYRhdHYoKpjTJsweurDPuVRaltFfgvENhMwUOmyxEOFZHWnUTyOAjlxQJAUgxONXguIuUG", "vYBGiqnvjihxTmJgWSjyCNTogSdaHYzLZcsuFyKVNhOTcHkSDMSGaZKpeAwifFrKNKwyGjDWQGdEpucqyxBNCuNqQUqsaEqVhTZCwOnEzrQtTBVvhNTvnXeEeDdtBDTbaehzvdhVOoPWnQBpfgWaXWnPIcUuUeHmEysGJrINhrVdMTbJDOXMfglKIATgpSjIxDYongiUEIRNVCRiZiXlxzSkMohRCEdiFjiPSQYNoIYOuCApNLhisdcyFvHHNGjaOAFiwJcSypdDcNDEYKVKfrrfszEEHmkoPLmMBBEteMXrNrGPubecqpKqIPUODIcwfwbNQJjMTlcpmHQnRPKfdWhCCQCBWkfWwbmJcpAhPkzuKeUCnaeWCdYochtldoDRBSozwBeDzlSBfCkATCoAmwvAPjKmELUmvKSIZTVJkkMTlAAszQeynSZwlmqiKYYnquOHpcKqxIQEJspoPtpbDWqEZKJgBbTezpupYTauTeZyLzsxxcIknjRDUQqjloFv", "yeKDVZmiNqRrnfMNVzGxEzsUjtULouBxAXoBVccCsxqJoeZIiejhwfEycoGXRqdCmgSyllELMYTorcGqmtcTRTDpTWtPTQokChExHiMTrALTYNlXgPgbLXlHOItVFSMdDPZaaKlpuLAvrsWAOPvoVniFZnngcmARjxAKSebdSXtjQgndxMJfHLjSFtebbbtNGQbFCHbwQonmIxaMprwubwkCPjjzNwmYplCNrgOzQVedulUnTNnyoztuCchfQAvEonhbrBMkrMPpGHteWjamGMMibkGgWBezMPDWMFPUQqOWGwxeTYBBPGecMLfIizVuHJecGwXeDCgWslUKtPRajByxMQXlGmrZZMNYVlSDvHfiVbCNwsnzODBYdDiNYQsDYbQHymsSZOglBrMYeSdqwxSQFdUgsAkPedwJFqHjFyYHmHpaTQogAdVIZGxPmOsOQaCGtElJswVjOwvAubbnsWlMMbnQbiIGzvGAdZncdAGkYswLXyBDfFqtHtUuAgUu", "QRgwbBjRpewVePwFPcgKVylHVoPOSSlSWQBlggAuqskaosorrtnFxiBRLQuzqUjQOJjukxRDHsTUvhkrVhygGDUbeAtrDDfnhbrnEoAUMLwXPvkMCxyNXoIVjTmxnpZlDRDSfiQquGHEnBjezoLbYatyrRMplzCReMEeHabmbTNabqXtZRjbDuLlFjtLLlCtpgeKkichubpKmxwocQbiaQrKJDBtQgSLGHjjxLqACRIBcsrdcUbRMmrgDGudaXljznJPocsSFkcYCdmczNzcmWJPOJtHTfRfYNGGcNxMhYeOvmMBFgoZncZXViVKACquylRjtbHMhXUvDyFgIHSgOUbUIsiomaJATfmdDdIBiOLmwOtpnRDCqReCEMNjlbWoUcwMxerizZkxshhqqYwarZdxAnXWdrTLcwXQgqWMaTHBqdjPZSgamDHPPVKiSZmIriGPSmEPrvBmCkhBGqWlsGvjTdnpEGlTeQSsFbClgMgjOZHLNJnWektAKINnsCFP", "jzjfoQGNvNwCWtLBXhbUCcsdqTuhpquENpApFURwqrXRdGJYCtyNVfgLcIhcPaltbTYhcgcrbMruXahJKbHiPTsMfPYxBuJRdsOttBnKWClTEaiooSVeAoZbGVkhsPHLPGuuaUckGriOcMUfqHHVYdZglBKTxKRpnBVSPBezbcwAhhFihtunsxJxheoKNWKXhzYmJJDkQTrKmhIqdLiFSegLiHSFDzFeuCUklmUBmJDOrDfQaRMsGyaiNIsSeWErWXherDpCayqhJjoSBbHaKOCacQUHIQxmUQrZNEclbEhbogdfnJpGHgdUmajaSJwEiEIUmANGFQYwbUTEmpYkczVVjQCaywlbjphixyzaVGOFcIrKeCHtNmGHbrMwQHrcXXZzwtUSqODfUtiAfjBCUteCSFOXmsMBOrHjJIokyevKpifZUaNyyuNREBosVnULIYodDhFpyYdmHYtKRUkPMYMvpNoJzEpeqNLLYvFhOGXBAEzArkxRdPFXCCiqBqXO", "MRErMzTecdQxpCekcxHObPvscGLkwNPuuKhLoiZrXhlrhqpVThPhYNYovrTWkrqeTyYmsotBRJeWZDDeRwOllvPobBPnPkTuzhIBLilEjxnIyrthFtSyOmCTuGfkvSWNnfqQbYhsRcIfOnydafxkMXbuYrJdgwlBUfdKnBqrtyFbhLwMBfBUPfLFlVLCDepddBUPfSkNUmhwVuFQsvczvoedoxGIGXWqdMeFdWLMGWnGjWxSTyldwGxdpdOmPQmKQMyBaUHhBpEoJEDeKZvmCWkyTxWALGjdalNZuvHtwxbkQFMRrndeRZdkZXpvEqMjGVIrTatmgNBXezgdAyPgcpOMmkZacAhbpGJgzbefzSsMqgiEuBVWTSTIOLUjCLGZGrtPstsjRNzlJwSYBMvswnBxEsCzLRQScCgLYQHcsVQkpKTCpbOdwgmvUwNOlrPlfleqqaOkTbXHOkRzRBjYSYpWafHkrFTbGfsGIwMGfsVcmWMpjnIMmymZoROyVNCc", "IgsxIIeCSDZJznzioLziXAIQGNZgbsssHNnUJxklQPoKlioJZWyMukrNIgCMbDVaWVBpZNYbvBHflOUwtRHfpGXYbUwoCkimRKvLoCaQfbhxzEIhfdzPTRDSrgPFXUuoFQYdpAtOqcfMRrtcIoYdzWAeyBBFgyMWOjmxYrTCqcAOCYFdTLZSaNvRjSuVXfNzoQhoPOEiXSBPcLkDiIBLtZStGcKxAsJIhZvRrgOilvwsMaCCnsFqetPcvUKYAAlWwcPOEigoOAWfetUpssemATkimmAqrXsZkZyWIYMEDoErymbzOcWkCHyrtPAqErmEPPrXjqZTOGeoIjoqRxRevmQOzxKjqyBfyDOFOOqdTQgKRHOtREoJfnEZrYCzzpbUSHrzyNUTdCgeuEBvlFNjjtCZweyzmbiKCCDLXBZOtCRNNenbHVAuuuHxNiTgXKxrXFZlqrrgtNjYtkVgPmmqXxcTbMQsQVYXfiSmaoJRAptkWIDyIUZoVYAtUtadeAup", "pzpcSfEVRsDYfJroNxtUuRIjLVTIatbYoQilzmjKfuUAwnaPoZrltBOXDOiABCdeZInyWrEVqYUVGidfTxvTZxHWjlnRZLASEoUEEWQHoLFbOBXosWwcgRDgmyrPWTAPcxZzXIbLSYVsoxZLlxvdqFcmjmSgHRrJHLMepmWMmhIbDIbcWocGbaGdlnhydgQDjkUXHVfpEQpnVQPDYsENkCwbngEUkexekllGQnUCmDZTJwVNczxoLNFkBJcMRCSwVpMKjytfuWqaApWJJyYavIlkJZbqrQQLyVMSPoLtnSZHJADGvfmBvnDEYWIVDcIuojOFFyWrhayjMvYsuaEICSAsofWpYubcNNBVTjuORDciByCNEiVySGhMuhcgLXTqRwpruobjZyuQInkjFDKoMUgvraLvsuFLufxAzGnVlCSfWaIxBSprijLvdMLNhzaMvpyLyYlwdraLGzOtJdGHupGYdhHUOujCEvkQxwKvZvGzGRyxWzQbZQNekiGoXHdQ", "wtOQwKQKAOZcNNdQtYgWpjAghhleroRFsxLHQKIEiuKzkDTrahVGSGuBMclokEEJnwZClNlCBbelBkZuSuIktREdcFpiMCjopJsAgdMFSnlbeQaFcvEOPDRatwoYHbGBBJXFDAqZhPZHdqiFChThNDBOLmBhYfPDictyRFBuyjMynpIMIuhVzgJMOsBvGLlPIXMOPHINhSuMShMgJpBQtWhAwSypobYurJZvctmiIiCFIIDkSqQmViHgitrKfmmKyLPyHcgQZzcfeekMNxtQBdlrYOMxcayxohNafIWIfDbFKfCZIpqXSRKZwDusTqBARAAEJdeEmRYMPiIhCsfkJEouBzRXHoEEXxbIYdYbNqCwqSOXUOwDxlsVAophJMyGJwkEPpOQarOnTmqYeRlcaAXGFPphXfGYrYBuDgZAxUMfzIMZmbpzCtPRnwCubWcscNZIqbxEzOXxVnszQffKGBncGfynYovDrcRTOYdqoDXprTTNePygaIzmTLrXkkQO", "tObKYrpAoPTMmcfvEoLNCilsfpmdsYqBcsIugVoebRbAdliiBiIZbEerUuFYEwPqVAVeplNPYpTYfzpVOLXWADnRvcuaUZDOMwdbAicUUAgdJDKcXbYuhJeAfhfbZTdoKhJRffNmEkTdRmNznrSyTBPggUygCdoPwXtFfoKpkePNLxYvNdebhbcJDsZqlQBaitlScSvWECHmOupuMEIWGaGecxolgyssSmSCsZHovdFCzNMlBFcuKJPBJxWXCdhlFPbbFjIjkYJvDLlcQcadSFVzDBOQngTDSsfOgtKAmfBCFWQGLzTgraplgAPkJlOXijNdDqSwHXjHNkJxbDoGUhrumcliOTKoXqaTAffxnUnmuUapuzYQbKImeOWhMdnnpbcMjVJQLHxnypiAxiWHbcJaTvWmGpDQUaynKlcmbibwkvjSvSWhPuvGOhvHKZQoAzVBfxTKhCFOYrYJbMAYjYsTlUNRjthSioLvrKtFBVrViVOiNkGxjQLOnycPMTkU", "MwRuckFQPcCFpkNeCFvvoFBeDsQDyTwiwFoTQoOmxFkJMWFtkQBqRVQNLpSpoXpUwBtRHpYvrvFSMkSufzLkIbKGMlgKhZOshZxzihOtGNivmDVEctxcbhbLiDgptdFZzFsCTTwtXcoTOXyrhenxIQCtjkTvfOmhdASDiEyhqsereLxUfrBYEQGdktECnciTvDGxKBftmEVqtgAuzdwxieeqdOoSgyKiQtaDKoaFpHvkxLMgDqkVJbKOICHbShPbKBtFetshWethhSWbugnTeWRITKNoQaOWSXcOuiNYUaunIxTHqZfQmuCvVRWIxukJsVEgjfteKgDHfzyfHECgMQolZUcJLUwIeVxbBbkwHIYFhfPqkaeRCTScALZsLxGBGwQLQRlDmMjAjwLtNWjpawFCRSAGjcrOjzQDTqCYSMcEHwcvVYHQMNRzoskcrhPCLyjsLjvytITpqAckmUTnxyDkIvCZDWnXJXWdOWEEebdIwMseOXzFmeDHFmmLxflf", "yyUIvQKHDOCfKtONaRxOSwGmYcCYOVSYgDIriBEVQkoeHHTaZpmsjOYXYVUwqOVuXYnNsflIhuYgpJcaSQPVLTEGMKpVuTvvDoYhBtGrIwCvHsphBZekvlkOgzMUndSMWPEElCpgRLWHIYqFJOxykJciZMuFoANcsnbsRiyeycOtfCAmzNqMKuoSaozqyPYlDTfBSGMtnDmTjuAsbPVzwJtnZqtyPuVOisFmMNrcoiAtFZDQzxuwvLYadRJewvcSNZwfwPwAYJXtFkuDVGQHIEOsWfTznECFIVKSdbDCzMoUNSibADutOTulgDwggjlWoiTRzLrhaeBhsnOjalMyvJXerfXcqAjgnwmwPDfIeJUcprdakeoUCRvHAlImKAhZxVGQAxkGggSRPzIjRsrGMKduPHCHGkMQHZYfBwwWOKvkGxjoDsAETwrSBtYymHZocbJOPVulFdVdkGDfKpmRerXRhDtEUXkZKXIPJZdTeRMgvtXQxRopfIktrLEMRtES", "moOVuorlawyCDZjulzfWOBwRtmGSxWZpgtTuflDDSKAhcFUljUQUgHCgQvwVnjRiufHRvErCJGqFMulMZeOWLxxNZKrlsEkzmyIXGVFxBPWQAFEpduBVMzWxQWhIEXuFVUAWNVZdaGkCyAWVhfMkYWItsnUEUyztvASGJHXjkmBlatqpjEtADClTECDZGczmGyXusepElFbvkwiBFyoOIPhRPegxJJWUYSnzaVjBHDTzxGwqjnQRsFZNGWoBnxkrLWKpRbBJOsObTRmqgUjEVWxvRHnjxQeKTfiDRamumgQtUgpLmXXcfRezbZpBvAUpdzbTfDXkZGsMdgChusYvBSjeApDZNxhzDwdpslLOzWXXullIhDgbYDIDxIPzYqfBFACGXtjlYNqVYLHnHCOEGDgYrJIVgzPAmUDVrGwcenqJYtWILqeeikLBuhkHwkZNSDahVMtALYKFhbWxiFoOjRlLDxmVpQKDTVULSBroXvTjCeMiIBvmrSwrCcWuKKXL", "VCxDyrsMApNAdAlVirpMWQKHRvHkBXsEhgHogNhqQvfdhnBVbauaPiiMZSPmVsOgBymlEUPnjlImRsjZrQIngHgJimeJGEZvcmnDAvNhKUEVXbRIZFGvyLZckUkveYJDwzqmlQUiWqUUoBWRNbhQOQUlGvGUOGHwIhGoLQhtKamzwufKzyjVccDeELIFpzwyclElqnAlfgMjyBzxaJFkLJwjayLPfAuriMHkUbSgAZbDymJxQuxQmGHwsrihOGVRntUsYGelOoxibENPHQVfIJLMcnpEJIfwPyIJVcwxQOKOADqmAWhYbviotlvJZJCfgXLYIurlbYpayPWTEiQgZsfKmbwpeDPyFgvkrGjWpKUtEqZDNxcgwsonnBCwxuSwhJcHCZDZaZmZnsXyGcfMVxdCmicnZORxTlFRdpySbzKNHRhWIpGjqzQlgEdBpuLqkGlfKXirmhFcQYHDbolZEHlOAWIFbMLsglVduSRtOJxsGUFHIXCORqTyoytXxlYI", "pfhWBRNCJVhFYzyXSBDAUZfNedvXlWHJVnmfBggCrupUeqXaJYJOQOkSKfXbdGPzMkJSmwurADuAFMEMxLpQItxVAJUvqQdnErnNQsmVvHBkovnZsivsOcYwCwheFkXQcJbaqREhjBOChRYrsZIQIqFcUmHyILIgWepIIQUMJGLUnIuYUWsDYZyWkymeOorrfzrkPvMuPSnonoezQixxmllDtbXxULKxVUkVnmxnZqqwuyRNnQWxElqyaiiHMOuFxQNsMGXMnSAWyniztkyXPmXxBRoXnavbYqsxuujKuvRLEXXeyhwrfRtwUHnCcpbKYVKOUQYvmjjpnQPbdCulYbWexDpHDJoHLtOhZKMXWFxJzTUyWFHkbHmNnehbxcpBIHdvUhMzVeENBjArCBENjLnAwAMqcRpdcdkrCvuaCtbYgmHatJCYnCMafOygTwyzVeEjspTtmHKaWBGmojThpsixJplJuxqjiZlSndqeqHWKYSQSxVwhSnIuFpsASOTK", "EVPUupcVydVIIFfyIPLLwvKcMatSbdJLAkujoqkQwSrqRPsoWCIscvMSPzrQXehRlaPneRmPKZtQVZRTWsTgBWpXFiVqRXZCRHounSvwoUjYbjGfgheEuLpBaWIdWNlUQckcifTSkxZMQwiQFbNKGLyYdfPtcZoCAETCmViiTkhBMSzaFhLlhTxbpaFWjALnNVeczAJgvujgGncrZoLSAcmwOKhVLTauKDWSorwuAppILdGkUnqWKHqziCPflJfLKrElubTKGQnzuDVwvYiBZghGnDDAjEDQbjNjJnGLBQTygWuEzqiGtCBMrGgwHWUgBvUbzMLfwOzLWZdFvVCbZmGEebBntWJRCXWQqHNTIUcGlWfjyZIueWGkKwKHpsjaytSyXTfJufgqLInmuVriYDMaQxVVctuamHsmLJXZrKGFRdoEeafltZRNIXCvOmIwEVIvfuBXBsvEPzMRrrKftEkdMovShdlSWlRnoxlUDebofaNXQgVKAjgIZXCLRJYu", "kIkNBYZRCKaXNNPirzleNqZrTQkqQHIYEKFRUwdwjTmVFyblLSnuaJnGkeCPIRJphlAKmPMapmtYsuPjqrDSDRYmZSdLnEaXqiyJzipDoXHEFxzbxCNNJERONrNmhSlVryFCXfOKqzxAVMBjFgbOdnUhdcMkpHCujZXilzSvBnKqUIohSLIJYTaYcLVgpRTRFIHdiGmgLXBAqDMGVqQdzvRzwqThabesoRTPnGgxiVTzYPBDzEURHpylhzfbCQlwyPmtqekVtJKLtvLHsWoYHxwMzlCXNOkIXcnQlOjOKwuZFetAWtMtRYAspTWXPaqtIWjdKFnXzDhBOwMLXLBujeMfFNkZfBUkwWFMYOAprMZIyZCsFGqjEDvjKFlvvSipqkPLRxxNeOuhaeOLvQArlfRbzcWFIrRhTIzzbQwBQlJjDqgERtgfDeReXsXXgvnPoKKGyJFhShuqNGyqymXVCsIIqSsopGSvdMNPqJxuWHluLgyZKFiVjwocUeGdeLex", "fvmQCCgVXWsuwTzguGzrjkTnBrfAvCKfWkKXHSdtzjJBsqYtrSSKbSUPzgHwDMXVrYmMLJXiQFrLOcbWcMgZubspJHcUsJCbdSXnjgJkIKBrAVVASznQYeGqseToXYvvcklJSUvUqevBiHVkyxeuDJsAaIlrWarSxQGmenxJkdxDXPdwAUYFUyDtaFTyTpUAHVcWGCBjvGjBKytcpjFYXPxRGulRYEaZJBYlJfOckheAedQeqATicXCentDXHgtoKJyvBIElbnLCFqJnJzmTyBwtPJcbwYpGgYleCcyZIQuiajLlvzumrNGHXgXwQZtGsuxDtwZXXWokfkXtwNsDQqTArpvObWXrYFVmcAYzzDXFAcfuyfHmkezGSFJMgKbKSAnfZmNeEfRFNEAduqTpAWBvBoPHexrxEokcWJUQAfbAdzSBYaivTllZcnkTAVBimIRzdImxiMliTcYmmHeUzAwTDFOkdwDFxYMTFlPHYkZFKJCDIbsHLRXhdWLQIMtg", "chWfyBEXWijumAkGIDssvwtNszhnBBOHAcOdPnARvWFpzyjPiywftkYAfZJwWEdYCEtnzMLStMcGphOcMQfRMgllqhCIElLFoVxwumvViarvAdzqngGzDpJLNdxMosAYZOrhRKJqyojzChLUWJgpnsYlalQjQSSVlphSPzMFGlNKvEOFqiKLdAxruDWdWQQvGCnuKdcVNfUAJSKdjDwkifYvgTVIzNMRrmiWnXLkQbXaEsiLtQpdnpKxqPzfDEoswFvfOMbJrpjQhwMCHIblsjbkreVjeYnpATFSIIcSjTiGmzsLnBizpkfOtwylCkDZLDMGuMcYeoxgHuYRuUoozgolKSbtYXxykGNkkDfGsxQXhBrJiVNlTnilDkrxTNUuehLAQLXotpxcpjkNNUbsLmAQoATBmWnUYWZQWPWUYMBWOuTcdzyUUwNljTLqFPVDniwrHEEbHTOpDuOCjPTUdbhPRfhVjopWFhhcqqffNkOAypHQAiLDAonhKRtvECOv", "ZKToLLJAFaSZDOqCIuibeFUDvxKYkvOCsEzgAqOEyKNmOswBCNYAAfloirjbZXowooazQVmeGTCmarapGqVSeEwajrpqIOwydWxUVRPYaVhHuzPcxXZnobUugLNZmuJJPZikVgCsNnwDtElKzsGoKGJpisAWAMEMuriRcydpIBGyDXMvZGdxSWKPJapaPISkmSrGaFJbTZwtmmqNSsvZvpkqyxlIPBNzzNQpzGXukKvtexUNsGnqVxEbnJOIrxSYldFnsTgISGgfntoJKGDHoHNuPncgTRdHuRCgbSyBjgoWhkdYNVemlsGKpuPQsjSuZvsbeDkbVkMqbykCfdAzCjaXaeljhoaUrvKdkekbOWdhEEspMdmeSYsxrBWGnjHejSQqlmiRdVtmKspQFdoPzeCLDTYnCCKpWYpuInKuWwFWyQywtlGQRLvddaBfKqEvCPuqJsbuPvnrcCJmHNpkcBebLVWzqTjvkMesqoSUPBTkkPEJROImXpdcxNKhgIrv", "cwwFNZnKirUwsYJBHwyMyLpGUpbhPVGMwrpnjnWfWDkJdSLZnwmsuTooCfBVJJAMdwSbvqfYlgbhOMzVcKkdFnhmDRxBghKZLInrIWdJoypwJtClgOczdTZBRouuldxZvFtAJJjkrihEdNwJYznXZZhimLzQclilYsRtxhXjsGSDXdGRAETXvMXWOElcLDUVLJMcoxFYQSBWujTcPoMdPcNSiFGWLohZOoJIjDLYsszgwWjODbqYfNEjKebqfSNIzeRCqraWXEfoBMaWHnisPKvNeomSidIBpCNnoepAOVTMLUEutBWJlykXOWWiKgTutXbUGtiEQWdNtzDCvDWFRtfDUizOkEjmKlXjlcosGKPGnGTUDyzQFqfoHLcPhiTBUuTbfVrEnTBrzouwMMLicRFwFFyDwhZGgAcSuMSMYsiWXitpcvwFmdjqyoWDDUHaCFQhVILqXCMkTUoYtCIrnltoUGlszkVDwYZgqFiBekbgMKluaERIMwLzcyKeebqf"],"c_array_ipv6":["DNATZppzOy", "NmmOhnjmLD", "nOfroVhxfs", "FrDUuxRsJe", "yoeUdkZsMU", "eMVklVIxEw", "ATfhpXVkje", "bIFNWXgzME", "cEImDciOfa", "PgJVfoLBAi", "FfXsfvJAit", "ZcwfTXhrFY", "qRTHvLGORQ", "SuZviaXXAi", "SvCzSLEchW", "nGJQaiiqOH", "dHqYaMSFyi", "BpfZmMCYbJ", "WYGkvoclnz", "DQzWDqwrJE", "uYuFpwLVMX", "RbULAfdTur", "GnrzdnLTTr", "zVUbbDEwsh", "WtJSxocJZL"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_array_double":[14.275440294201367, 95.23656344705743, 55.18795248641569, 62.76444803441366, 85.95342103125462, 10.500213297031577, 32.59211231126221, 26.795540685765797, 9.50304727808819, 94.49907648546527, 44.813787503085045, 29.047432605145584, 55.269056922299285, 80.59620567787108, 26.17416592166578, 80.0227550891297, 1.978442949641651, 40.26329606143475, 58.942936761363036, 53.265780827251525, 74.7105490221545, 32.993178817392796, 73.47256505806897, 49.66307383510879, 0.914171191488391],"c_map_bigint":{"c_map_bigint_1":-2072635105176529573, "c_map_bigint_2":5025593562159087287, "c_map_bigint_3":-8754302056059039901, "c_map_bigint_4":5409764908539743911, "c_map_bigint_5":1030839895995787853, "c_map_bigint_6":8184680835451905252, "c_map_bigint_7":9138641383050730107, "c_map_bigint_8":-3755872145419290923, "c_map_bigint_9":2234679856897732811, "c_map_bigint_10":-4279875365386839429},"c_map_datetime":{"c_map_datetime_1":"2004-11-18 23:36:03", "c_map_datetime_2":"2014-11-18 03:36:02", "c_map_datetime_3":"2009-09-06 06:09:43", "c_map_datetime_4":"2008-03-16 06:22:49", "c_map_datetime_5":"2000-11-01 08:31:20", "c_map_datetime_6":"2010-04-22 12:06:36", "c_map_datetime_7":"2000-03-09 12:44:31", "c_map_datetime_8":"2003-10-08 12:35:19", "c_map_datetime_9":"2008-03-09 02:28:47", "c_map_datetime_10":"2015-06-07 18:05:25"},"c_map_ipv6":{"c_map_ipv6_1":"7b8e:ef4e:4558:eed5:d34c:ccc1:533a:4ac0", "c_map_ipv6_2":"3887:e39c:ac3:d86b:589d:71cb:46b5:b03f", "c_map_ipv6_3":"e226:2bf1:aeb2:1ee9:85a9:29e5:21cb:a0d6", "c_map_ipv6_4":"d4d4:2074:5d7d:1801:88ad:8be1:f5fb:19a0", "c_map_ipv6_5":"673e:4990:846a:9d66:2107:4f14:8b46:1722", "c_map_ipv6_6":"b95f:7226:a35a:654f:d96:4202:b726:5f8f", "c_map_ipv6_7":"82b:ad7e:88b4:142f:8584:1d65:9e68:4dbd", "c_map_ipv6_8":"a741:5337:b37:f7dd:644:5fb4:7727:d7e", "c_map_ipv6_9":"7c8f:6a15:6617:b349:8ae0:899e:83ca:9b2", "c_map_ipv6_10":"d010:63b2:551d:ba72:db77:e96a:4138:c894"},"c_string":"kyFleiUTDSSDCFyYgJtvlllQeJDxrSJOTsraruTKdVlHQAPkISzFnByuAMCiXhAecLSLlWhHeLNpwdZWLbAjAQlIUTDxuBtxDKGRfwXAHoTmwdHthlyjKYdaWNKGnRJVCdDQLbdIETtvlrDAgcBpUgrBvIqFfIKOnJkaDKqBXAAWFBmyklXcHTFjnBeOEGQcjvOEYaZoKlwASkbsBUSLXUkZMMSUjMOPUKGOMnluvqyhEQxNgHAtbyjnLJREjsSGeIApkHvdWGzjDiXGmQFwcjtsuDylGvwKWfLYPuNZDlWbyJoYZGYuPQnhOACjOEsidGABGpfNLwmlgLivJnhwJsSoSBWvibWRqjnScTqoQlWzJicChulZsmvroWfUkzkvHqsCiyfxxzvDGQbNkTsBNbKSHGiZQeyRCUvyuMBhecoqOSVmJZIYRxqwHOROBrwLcvNBrdaLcyYMOiieucLyiVwsEsWIMCTlcxsXDnqohsUFDDAovYNLbCQVVVWXiqaQ","c_array_boolean":[1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1],"c_array_bigint":[6598860043980102434, 6816149190981510446, 1843947052639620876, -3953362526408343048, -1968825948697687273, 5101874349845288325, 2711152231249475819, -9121530122219425822, -7802877425784525049, 55424174915609678, 5601544253273851112, -1808799329238732238, 7579334473309836688, 5930381794625704077, 1195043348564882527, 5524703816628954197, -3088268710903170362, -8881133243418999193, -2638307229661462273, -4648928823687431166, 5707430666947444031, -2308937312427820211, 6179798705507435981, 4539356460615515752, -2494681046484251881],"c_array_largeint":[841230784290968928, 9159441828970440670, 1940442525230484466, 7377727058849139590, -8278184397470649382, -7988949265099146525, 2808615832741085475, 1676608230053094971, -7151974283132646273, 3719980623152628639, -8597027572377624420, -2300329605523772467, -2895112287365041366, -4447831005813756046, 2752018802937378620, -4472934849756441584, 1394178117700810559, -1355275059138714446, -2612722961230567420, 7127305165161324303, 5721586371841687903, 2901692722962373879, -6717944683584189943, 4306442464388564659, -6486623522226591715],"c_array_decimal":[19.0691, 25.1593, 8.0009, 41.1021, 92.1554, 63.1205, 98.0464, 64.0590, 93.1247, 99.0428, 41.1731, 11.0532, 26.0926, 3.0685, 97.1129, 66.0400, 83.0777, 93.1566, 19.0072, 29.1776, 31.0436, 69.0279, 90.0403, 50.1762, 47.0463],"c_array_float":[93.36199, 13.347505, 74.43615, 16.820156, 93.95985, 91.44117, 100.89826, 85.65243, 7.413921, 57.696156, 26.132288, 42.60368, 5.260103, 61.185047, 85.620766, 88.312515, 78.962135, 62.164078, 99.82373, 50.896496, 47.759743, 48.50571, 32.535664, 66.6635, 49.250072],"c_array_char":["mOXWGxzUbH", "RLyKegaziZ", "FINOOfCzbc", "XHbIpBrfqC", "FBTlIIDjXK", "XHMKoRYIRs", "cFdOsyxVaV", "GtiZNzJWqn", "ZYRxegyqpx", "IrsfAmjJiL", "OtrhDWkXWF", "GzGHqSjIgN", "tRvMWdQqji", "SoPWuKSsEG", "QoCGQlWNQk", "kLizryNSec", "upHdVTFCYg", "zeSaOvvxzF", "pHmPJYkTja", "VnQzJAVTSq", "ihsOGGZlqV", "nUYOQouhol", "INjzPBAUDB", "PlVtzCdqlC", "uQJWmHkXnC"],"c_map_largeint":{"c_map_largeint_1":-6290649454298617701, "c_map_largeint_2":-5070147145819305127, "c_map_largeint_3":5445803704937340539, "c_map_largeint_4":-4491707948421596629, "c_map_largeint_5":-6737632447784209988, "c_map_largeint_6":8123707504991213861, "c_map_largeint_7":-4299624694874342301, "c_map_largeint_8":2591477742191692830, "c_map_largeint_9":-8509469807468678102, "c_map_largeint_10":8673885874455794406},"c_ipv6":"d45c:a6aa:e3fb:ffdb:84a5:c211:6d27:1898","c_map_char":{"c_map_char_1":"rfVgRyBvmi", "c_map_char_2":"wUHMstCjOe", "c_map_char_3":"aXcMhtkApH", "c_map_char_4":"omMQXLbyLl", "c_map_char_5":"qceYjkzsfB", "c_map_char_6":"WmZJMhUhiX", "c_map_char_7":"WFlRvHsaPl", "c_map_char_8":"TIOBeAOakA", "c_map_char_9":"nlmOhYjjiN", "c_map_char_10":"GUKoobTWRT"},"c_varchar":"they","c_array_tinyint":[38, -31, 60, -125, 82, -96, -21, 105, -110, -97, -28, 36, -74, -16, 19, 38, 112, -48, -16, -81, 109, 106, -106, -95, 44],"c_array_varchar":["OQNmZkqWarVwaVKpeKgpyoGZIfiogJHzhmIWeMBkymoSZpioqkHeFzkwwTMjVstyDdurRvQkWtzoNiTssqYvjWYfDbIImEURUyTMKqByYNAqyLCDbSbIEFpYnFOROKSdrDziGjgnKYTjLZrQiCfscjVWTRLlDWfLQDRLKtvqNwgmNxXFigYFenQUxcJVFJMuoYZYIyOgLrMZaGerCzogfqxVQLapSYwMtuCXBcDePSLHiOUZGlNGKaFaaZsnbdcz", "loxliklHWeDHdilekcjrZdaXOwKOMWEXueBggJEUtCkhfLpiCuliuUTkwgqEeJkDeRwsqUzlhkXkVZcmrZwcYzhOCfPOjrnDbwrnqnMnWPoJMCDNETmpLmKJxTaHIGmdtcuSeMWFraoTgLurNJOPfMIJJiQGcGrYcggfMmWGxNyUQYOFWgIPZzrlCqfBcxQHjAbECgtxgiBsudRDPGlJkOAnVhCjGxObpGWzmOIMxMgAtyZmDPVceygGfhRAPEBt", "FTmpFBLCZsvnYxOYCEyKbXaAckXBzHcszYmYcKwteruuuRZGOVOXkVGlWamGZhYPFfEHhDYgaZAWxmDgAfzNAmzVaRviTpDPELDOgqqkdaaLMpPwiogPtowcvhWBLyJxDInwinEozOIGZgcuZfzCiKmGFRSJwezIbXbToIoyzkktFmpYGCHvygsGtDisBZRhxUfCSpMxqZTROLZnMJRRzaPOxUelONFBIsWGjMgcPFoJjoVRmmwRAAKMHGEuyYwd", "lqSDMzTtvqxfncNTKjncFgiuTzlAJMpfrizuyJFBArLhDlBNIwTBHUyTolegIGegfjJgmdYIRPCdLiStDsZqUmkBAzwMIzTTJXJoSFAVhXISKwjwXiaTaFHvpBGyQFzDjjOKZFePmBxWLoTIKhuVFmPTBktYaGWZeCsIJWLFScmjcWOcWWTdvnedMKPHHekWCrOheFmIyQyYxdWOPOGdJcAMgNkpEdzJrWgYJAueXdkqeqVwoRChjFfMahfqZEMj", "jLOqjuSRdrBVHswFHMgPkcAbsrUDrwYTfSdRJyRervnTrWAjNycuzOOhPifgqdLADnnDThINInXjCAJeUPMqRxDlBkJiIrGokcRiftvkQHsUTVIgGlmjziXLeChZVkcBCmCumomkxvzWgHiobCkxqaCfZieodOUvnBmnfIDnQcDOaLCwQrwtNtwNQyYBRirBaweXowYtMMAosPJTNlzXqhcsVWpQEzpCsWQwibkktBNXpTbPWtbkHAlzvyONclrb", "xtZRrkPvBAucbhaCKUqqkbUrNfEOByaQyVvUoGgDebuzMbDJalHdRoLfjsnwYYpoowiEuwXjphuRQbWDLWqMjYBmnziYNwSSEVCrtjgYBTdiWVcdahdXaFsQYjeuROnWBkYKVqevMxJISkMaZxoiDkNKjSdiFgpUFqzDIhuzXqbGgHVppxoRYnlxQpPyCNVRUmOuSFpDndJIphBwepMhOpLzEgKhOgiUBegJweNsQTyzMGQHwHacxrVXqIraIRFf", "wQfrxpceGAqvvtmEkLpceXQPKeuKMeEZQBXQWVJEpvzdfvvEXfggxtnwUaqswdDddVrPSKnJKtsXzuYkQloPFhUHtMDCJhtUJrHpDvgGkpZHsxcKmxGIzdCbnpOtXGWXcRNFycXumlvSTCPwnoAcrQMlwYEaJgCqvrnrGoIWtliHzxHmulnTTebicRxiOXyPPZtaJpyqAbksvjozUYQhntrwSdTRceZsTKzaLRlnoEiVdIDTcaZoWNVoHhGpVRtS", "DPKQIKjuRReILBvLWgmmRiLJrLsldCixwGLzDdhmOwZtXSLNMFZUtTCgPinjwRgBTsnIyxqypTLTyBkkPhVUEGVCWnrKTgMBaGLcnbAwdtdnJuuysqalgktNSndSFodILpeVTusXPbWozhZpmmzTXQWVXudtAVHSMrdDdyTRFODRjBTsYwPPyZrXJASxNuSYQzrAPncfEIcjQgZaHBRJqqKfAhWLcKcXpWtGGdqbcfhDkGPdUkfcINGsIzKvTclN", "lSdWTmGQKOjIVEYUXFZTywJilZxOXIBOqknmGNYeAjoeZxDKaCTbxAHFIIgFDzJFjwIIjhWFiEqizBbNiSSeyuERcedxhLHtdGPKaEGZGSyIPLDgpUeGQMZzmTxjgqwDMLeATjkuLsHcFYXHBfXEwjsAVjxbiMvKifmshpyzwETkqnVsgfLFQJjHwevZmASpDdlSMkLjlTcppJNXebtIWdnwGUkMlDCJVIcayoNmsINUEHivoVrSCzdMZjDHkEUv", "fdoAISjuqgoLQALXwrQiIkOOlbBfXYPrmMNzEQCTSKOlUsvjVEJyMoJkysXUTQFmAMRzDWvQYlRfRlRGWPnqwtMrIIkAkzzumoWQrPurKuTNGIRNWtNfkSYGuunDTVGWNLWcKEdjZKlopvIjkfaTsYnwWLPEBdrKVIXZEDKwMKbbauAkqwyfLkgEslQhWiGyAikVvOrDjpFAAJWnqYAoQftLTcqMsykpJzbAXPrnpXMfthGFzrwefDwaNyAdzlsX", "TAmEwTHXIYNWjiQnvdILhoJYTmRUJukLKTjlVWAFYfzlPVFNcwojMQjGmspByRbVbaQgcDoOUEvJkZOBBLKfuTcLEupdBLLyoSztkJFOGTxJrvAHqLeSptXXWzrEKZCPwsmBUEBlHXjMJOwmMMITaDHmpNXjhNfIhplrptDcCoWbhLrLgPJVtMgeAhPQkFCCnPdFbpQZZDTrjGOMmwiXnIPddiGVvRxfjtZjZvyzSAopOqrGowUPSUPtYzIzbwBd", "OTxPAWdgIsKEgYPXhxklcqbOnwIpERDvzhNzLegtuqniHqcjesCQMfFEJXHttVZcrgwXJSeKmfmggNugosGbeGvPXlofrFnBbniZqeWRigicyRRGcKTUeJcyhWfXZxBbhYNrajbntXcCIWxygLCLuRlsIVDgaJlbULNrDBrTwuXYhFhlTlGNIAHvhJLyfpCTvuCfOEEwfLIXGecbmUWMDuarTdBdyCIuZWfQfFSVVjsGXIFgcWjLFWCQiFeDXjdT", "ZcBKaxshHYGUeIPTisAfmYgozSMhRGmsdMukKhMEjhdcBPjtcnbbwnMWeUhYHHFUUSZGYsepZPcNzKmzilcuwVrKraFAhWsBSNrbKXDDaMQzLvrqrLzKOzYZBxAISMIYapPBxEixewQxMMxaVsStsgsmnZWJELctGVaiBmnUywuzKFCmsBTGNuiosMbNppTsPeTrFAfsfOJJRjSXvrrCKHRPOIPGAMQPDYfkdBhdawDITNDndUQvTTwBwtQZlwMk", "DCZzhrzPYSTEyMWFgxNZNIMFMQcaeEuPOdQNPqlPkXaJImWMrEvqepYSrdGPGogOyWBGQQXbFmxxhkUfjHZVTWrOxaxDgKLAjHXdiYXhTzvBaDcMjXvKnbXCVSayMZEFzxDupmgvnjaeOJLWENgMVGYKJILVxaPsGscpXMfCEZJPCzihoGKHCeMdBNJzSahOSURYsEvibkajHrafuXLPhGEkxFqYBTDffzsOCDpXcNXJgaDFWdSIjUttAiPWpcQz", "QygnIDhOkEIYGGllzQhugpTYKIpfegGRdfyjRKcwvAURxaOscBbLBOGYgnqSdzFssDuGOLuOQfHbHwGKYdofnfcBsCnWuaAruAGAamucEgotnAeyhZQkIpqqIHyxQhnkZKLjMjjCoZMmaNmnnvwQuKebJWZJrdDGaUHitkQNtPTstPrEPUmemMgLvzxDWuamXJHEyJgiTqTdFhvfthZluzOIjKqbqBWxNxQTsiZyWffBpyVmkpmmGXoEGAQuERqN", "pDHCcNvUYavtyuaGhRsrVdsyuqszxTPcOQRZQKRWsvBWrzcfyAvTmbtsoqGNpOkEDKHMxDMIRkEBMVQZbUtMAoigTCcvKOjSHuEJbBxBYoVZRjuPIukwTrslGooaMBQxKomWiaSLTyDGfutYRRHhtDbcjpaYUOzTuHVAbjfJqFIDcdwBFaMQONOzVPhWtjvlVZyyELrEuIuZqdVvYSpEWBEjEAJXKimbszYRTdTDZupOysvOZAgTtOfdghHvFEXZ", "OMZKXacxoSzVBqlxroCGtfAJJKYKsdhinqymMWaXzOJZMOPRqKDSTGkqRRHiMqxFOyPhdPrCXUlviktWZFLWbfLdIbeawyNjTgPaIwpmrKkrozpZowekMxXpDqCRbRqItOuiJXPqGmwgOgJsOUPNXKylgTGxnICxxqMNUhfxfeNbOFgmocFvypdoanXdShkGqQzUzgINahsAKVLbilMpjrlLmseRPJmdIGRnfyKHHNYKAWvHlvOzjAefJmhAIYPy", "ZxaYTRPReVDecXGNLJbBAiHUgcnhtSPXWOgOrkGOqupzWoohFYGxNZtzLCDIBMenDwELMrhaQRcRhffnOetBJnASuuQsBTpOeJwFXbXWGcjabfjNJAAMuUVTsfUnKENBaHyPrDhhbHsJLJLjrFNbMYQuQWQWtUClEOSlXTEZLZFqslbvhHpvPmWKDnzpNCblqKMvWAWawbYagLgDpumivfDTZMSwptGGysIxdJvkazDXAwNoepNEtniGMcPlMxxP", "uWVqAkjdkWHFEAkxSYpPpMBTjfAiWGWQPkvkLFbkXpxcraodAboXTOqNDYvXVwIZpckyCNBYymhhiPTZGpKeZpRjLjICeDOwkdFIvsQbCJHvEOFNymuJElZfuMfKfeccWWrHRXrGSSJhYBMhyogqmGWRjKgdyPHBvtxDYfiKxonhwoLmJEvlbUQyyIJLGlVFicvseeqFdXfKNiaKGWvSrTOsJzpACsoxGoJWkfKOXRvyALPCxfNvzAohsSkIOXzQ", "cPecMXvGYyVVevKllQHMDdcyYbDetBXMmMfXMiySqXpZeQebLicvnfCOmAYeSlFytPBVsALPGogocwHonmBRVFgUrHnFyhHBYZXtNaTegiRKxyEppYtJtuOyNZKBoyspoywdNnaDtXMHTNMmRdOoFGsMuAsSjAjgIhpDqHurxdcrrIFaMXzDNRIlbhHMkYalOEBYvIukKmnfnNhEZCpUSHvEDqakNoCqPnuzwUZaEocZtyzKhRHooTDONaAXTAdF", "EAQSoCCAoOLEEjfRqlcROiORAQTdCfsSsnpZSvtnEskBozEtJMayllMkHjerDeLWVEzwNOSUAGojFWxixoDtxxbBEbJPvnfXkcGvbvQfKnrYDlQVrbhKEPFzCFEeJteZHFeAQbIPNEyWGqUziAFkGPCJdYlvynzKgvwNhYPmfXKxTGNIfFruAVNoQuFbwDfIcOcCnAxjINbvfskprirgLcwhJfNPWaRzcWdkxmfRYeTpyplCEBpPHYAVnsxuvMIf", "sAaofLjXHhjIyXdHdoAyxwjmOfVwPZZTVpWAYKVuyWshXaTJBWCvLylzkygtvVCnecDmzjPAQquFdPrHQerFasdkoRKBgLxTPWXcAmaOlYHOCGiAYUlxmaLrOwtslMWikhkZfVMWlAIMvlQVLrdBfojhTCUrdRKlYXBbmkufpYJVlFWVviPMkmSyaIvqbNZDaAYjlhZBBgXFBntWqKuNvvMGcFhiNpvObcxHfZomJLbXHWXLpSKAvXtVjKPVPAYd", "ZqnjXQHkgVduAAQEtXwbKmhCdYMOWyGgiPQFVfsRYnpnTCOnwNlTYalrVQBGouhDTFiIjnDNKloxDDbfMAAhlvOJiNGimOIIvhkiYuCBYbVGqNBDPEflGDBrxitcMcwKUNnkZAaLDSEoCsVxelrMWIayXRTCQtRKCaiMgvkHTLKIklGzuOnPNjXBbyuOuRJOtLfgwKdNCRXsrVxtFzmFunqjVACnFQdmLCszPQvIOESugkpxprTNfhMTzBDTynja", "bBDuvrCqEKzXDycGeGILmHnDBlzEBKOVFNMlvSyNBjAYYakieYjLcQfYrCgMGtmxWenthtOPRjKBlILeruzgTDTQskpZiHUIEHNPqYREPNFKcpVCFeqZtvtNzHBjPHoUBHMWYWoFIxtfrxFNasREeErWVUeTpsgqFctyNrUoPCSWMfrTkCjSMrqZzAaXUwaQMsbUzugpmFBxyrlZscMqqNVqwDvFwuDUpqkQFbtGqdWXIYIGrirqkBICTnYOZWPA", "FXnWIKSqdBBMjvKPAFXsGeeXXNTAbzkBcNFZIxYZYNeBakjwMAKqYEDQRHvxtmqOAkZFDoFVzzOqrWCQHGDVKFoUUFDVpTJLNkXgBknUfYmWgfJCBdAbJcaaHEeKmfljTTfOETQauKdOObpDjsiLmyObBZlSpuAyocfhnpNAfyyvcApaukUpfGjaWgStnmfjoEDQupwIETLSCKMHdRggUxHochNzQmePEftLlOaMMIWswCJJjbkSzWGGdteFlZqL"],"c_map_double":{"c_map_double_1":100.46424623328188, "c_map_double_2":21.67842760520189, "c_map_double_3":97.6162533759, "c_map_double_4":24.81459874042133, "c_map_double_5":95.94650617632422, "c_map_double_6":93.63416127272448, "c_map_double_7":52.06326536104257, "c_map_double_8":1.4862483353420772, "c_map_double_9":82.02937688070627, "c_map_double_10":19.596254767021385},"c_float":68.401215,"c_char":"DoUDraThAJ","c_datetime":"2009-12-13 15:47:06","c_int":-271640633,"c_decimal":4.1389,"c_array_smallint":[14955, 9739, -5717, -12532, 10339, -9788, -2838, -7137, -23262, -1453, 21569, 13933, 33, 9002, 11884, 3857, 1701, -19567, 5966, -1427, 22103, -15709, -13007, -24581, -15437],"c_array_ipv4":["qDKJVhtfXk", "MXRKBeVxNk", "nIRZiGVset", "wvyeHNbhTn", "GtMIqtWmOx", "exxjRsvQGW", "zBZALLuRFj", "cCGGrTvoYK", "pNWSWBRnma", "hKTyYVJDWf", "SZWZVgCKxb", "XqdeCcXMHA", "kUDgQRIKJx", "zClwxlJOsz", "NtTPkByxcD", "ViMfZVdVpS", "aXldRXFCRA", "HDdsKJJjeb", "eWLiiwTFgx", "kPOlWYGvvy", "WkyComKeqT", "LbLTPsLgAu", "XFZRldYakg", "ubfxWuMVpH", "jFvLSpjIPr"],"c_map_decimal":{"c_map_decimal_1":11.1128, "c_map_decimal_2":7.0734, "c_map_decimal_3":36.1120, "c_map_decimal_4":89.0788, "c_map_decimal_5":84.1693, "c_map_decimal_6":92.0248, "c_map_decimal_7":59.1894, "c_map_decimal_8":66.1657, "c_map_decimal_9":63.0013, "c_map_decimal_10":80.0806},"c_map_float":{"c_map_float_1":70.5815, "c_map_float_2":79.06423, "c_map_float_3":61.49029, "c_map_float_4":13.780494, "c_map_float_5":92.21048, "c_map_float_6":81.090935, "c_map_float_7":26.93344, "c_map_float_8":43.946266, "c_map_float_9":26.709475, "c_map_float_10":51.760254},"c_map_varchar":{"c_map_varchar_1":"BCkdXwgnZBJzxVRFKWMeBsXmpHumpnvAkYTRlEuTIJycLLzQMRXJcakYTWtyCQuSeLkGWNGmeGhvRdnOPyzHRKTIHsoSSaURyqVzPlkwqcQrCocqUUjxvLigRICnRdbJrXrAlkTjkBVLvkPRzGJoCBVAfcdgzVtWpxdXpBhRweIWDANPswQsLGEKWVbAUvxxziAxzcoHiBZzIxsFkwnbvRZJvOwHIbldHXHcCcuhACRAbwvQccefqXHwfUWULcgH", "c_map_varchar_2":"DMsGMbENmSTWOHQLMImFDXflvjUYjhfKLOVZMYBPRNIEFqMxzpfsliAtlslgYfScJVufUmmJaZUaGFlxMNKXTekyCIfgHEAMcdqcCohkmldtYgcBdtVIZuClLqVvXtQaVAQhIYlFmoadAiMxelgCDpkRlxVmNdLbZMSmTswUpaYtcUHhjirlqICHBwbGBtlXRMyEWbLiPvsOIAgnBdtUxcnIUwTBigBKeoThePmAJgBNevcGYGQckGAvXksJgGew", "c_map_varchar_3":"GPUoMcGsoAAUehfDklhRzMsYyIemIYIxZpsjPYdfSGIEIkbHqlOkXGtxqNJzkCAzMtUjhSTfFrahhYrbIOgjzlUslRDOdSastGGNStoLUuoVzGsfOVfsZVvEvKpddeRGidWdqsjCwGLupnBzyKsDFMmxyQqnuRYBNUyKUeojZAvdKAOXamAZDyrISdTPZMvQneCHxiholkLmDMlrDlzNPhmfADbDIQlKoekqErdiYHYlCRzCVkVxYZwpyckIsryK", "c_map_varchar_4":"bJsKFoiDuZxVbrcpMNDDIwPOyDJrXQnBBTlDCzhQQYbzQofsRvasVfgUDOMUaEsmSvAsqiZDZJJCnvdamfdDUVuslDxBBHvtKPQquEBbTXiUATVvBTHnRIDfHyKJPkNvzxZXuBMwmRhXWOaALHdFmVerwKkKGhJOHaBFlqzppweHmPhcBLsjgseldXBabgMgyPZEEPKbAGUbCuunKZPxLRbODxgOioUeOdyyxGoVCZaHcKReuDQLlKZVGGeHtQNH", "c_map_varchar_5":"dzcaplofBBHjgcFCaCMUasXpbttnaVKkeCoyxGUULAiFMPIoKRiTcbcTWNfQGQOltNpTWkKmPUNsxcLBZjHZlgCZAiVLhTkhAfvfMhBCfyMwrCDsteZJztenfswaJbUSoVTyJAErTsFMrhZIbERivMmOJkCRRRDgyPPpKIyjugWaTZSzvxcMnbOIKafhjZiUIlBcvwrHZLhyLWqdSLYdNTiXuWBvZnasaRzvCuXmnhmyPlIqGYXBOvVKJlJfcupe", "c_map_varchar_6":"hRfcIdtvtjvxiIKVuUhWBVZxwDGRqEafHguafSPhxWtSQGEgJPVFRFKGreLtiCsEXpNgLtZCXpOoBGaloioUdAIBbCRqHtjhHTUqVKlDVNkNEcsJXrdZGJicjQQOdtUTRFbxsYOvukbEaquUfKJkqkETbPAxjSgtjtKICUOQIwrttHEaIcrDhxqWTTmsXRoUREqhBStFgTZQlvIZbCJTXqievMtNYpIEDuFjUZJVTFBxTyKnMHuYVgALTNVKVLZO", "c_map_varchar_7":"eYlnvkERZypklYwMmItEEdGGVCqnWrQCkKVFCDMQZphtZPzVICpgzyalOSmiOzFNbavGkUqOVGxjiiTiyjgHhduvdzTggTxngqOUDdbxhUlhXLHccnMDgYerSABiCDwfjbcrjIQyAxXRuncNwHiFWWNPbyQLXWvPAxWhdtXhqpQcrCwcDFBEFsqcRxEjeYUOTnnSxzgSXmQGuVXFqHvqrpnqpOByFKAHeMAGEZMbRCNfgFDyfRtalrAEKJtRZSKu", "c_map_varchar_8":"KcMzQhiNcniiVkCSfajvgYWKsdUgXIVUERlMUQWBHIOXdockZfvJxfSUktdHfBlVanYjOwkOaWeFrfYecvVzlLPFwdKUbacakEuQsbSUrPlSRBPcheWUWWTkQBKCgDOisUnyGolVfWlZqFLCfYrxTVhHTadFgzxiPbMXNxFLVMYpswAZXUZMmvmXaSNQeQILESyGRTcpjkuOedSvlBjFOfDPJiXJRaoDPADSzxYqGcWfKISFvTAxVEoSoKolIkJx", "c_map_varchar_9":"fzHflkDQzGKhxnmzxTbbiIDvvCnovKcjaqHXNWAigLwMKsKlvKANOeBwXjzoiqEGwUjJLkkyeRUMsnilLFyvGopLwNMfyWfoPfdgraZOHasyxBAJviOZqjYyawaVwyFWkumKjAtrBVHMkTonAezKRIdoHppZRdUOVUSnZifTlfthINdnTtqCIGjnAwdTZHQcJKJuEqMxWxjcwcJGFNGwgQTHzgOfvWoHIftTokHQIbttCJEbtmOKYAUYbpRLoTKj", "c_map_varchar_10":"YmpYTXRuEodMTZjqZfKKWedeOPvGZZwoOEeGivrarDWioXgQjcMHFuovyuYiiOsNFxymbxdlwwwWMvqBsOCxeWRMXWVAcSlXNpDtEXliHpKJaAULpWvQEUmWgCGmMGVXGYZjOCxfRcUEjShCDKFGbfyGFbmplemqMXajUQYRzkfZRmZpLabCOWbimApIoVEkRlfasHhvWZIkwmUeQdMsKNZRYvlPLUCDLjOIscxBOArcRdqVIVYwJknZNZoCgHVz"},"c_map_ipv4":{"c_map_ipv4_1":"108.152.248.169", "c_map_ipv4_2":"70.132.155.58", "c_map_ipv4_3":"75.113.133.99", "c_map_ipv4_4":"76.90.106.147", "c_map_ipv4_5":"34.92.106.199", "c_map_ipv4_6":"236.233.54.57", "c_map_ipv4_7":"227.87.196.90", "c_map_ipv4_8":"42.228.132.121", "c_map_ipv4_9":"210.124.229.55", "c_map_ipv4_10":"13.107.237.177"},"c_bigint":-8947799753188174108,"c_largeint":7492089715248858263,"c_double":48.781991738430825,"c_array_date":["2008-08-11", "2017-10-08", "2019-12-14", "2015-02-06", "2011-12-24", "2016-05-25", "2011-01-27", "2012-11-08", "2007-09-27", "2017-10-04", "2002-02-04", "2014-04-07", "2011-01-04", "2006-09-15", "2006-10-14", "2016-08-08", "2007-09-25", "2015-02-03", "2002-07-27", "2005-09-19", "2011-05-11", "2015-09-02", "2019-03-18", "2016-06-18", "2002-07-11"],"c_array_datetime":["2005-11-19 07:39:45", "2018-11-21 06:30:33", "2000-09-09 00:04:45", "2014-04-20 16:56:11", "2004-12-19 22:05:18", "2003-12-15 09:36:01", "2011-12-21 04:09:56", "2005-09-27 22:05:32", "2000-08-21 12:54:47", "2006-08-13 06:21:54", "2007-04-20 07:38:15", "2005-04-28 17:32:50", "2014-11-15 15:26:58", "2010-05-07 09:22:30", "2007-08-24 08:31:12", "2011-01-06 03:21:42", "2010-12-08 21:31:59", "2016-07-28 19:44:35", "2011-11-19 06:43:58", "2010-06-05 18:03:40", "2013-10-19 16:49:33", "2011-11-14 20:33:36", "2002-03-18 07:25:43", "2002-07-01 03:15:55", "2009-10-01 19:45:37"],"c_map_tinyint":{"c_map_tinyint_1":-31, "c_map_tinyint_2":102, "c_map_tinyint_3":-126, "c_map_tinyint_4":-46, "c_map_tinyint_5":-87, "c_map_tinyint_6":127, "c_map_tinyint_7":-89, "c_map_tinyint_8":57, "c_map_tinyint_9":-61, "c_map_tinyint_10":-114},"c_map_smallint":{"c_map_smallint_1":12291, "c_map_smallint_2":13212, "c_map_smallint_3":-3634, "c_map_smallint_4":12702, "c_map_smallint_5":-3810, "c_map_smallint_6":12555, "c_map_smallint_7":-11274, "c_map_smallint_8":-27805, "c_map_smallint_9":-11839, "c_map_smallint_10":-17569},"c_map_int":{"c_map_int_1":-923330910, "c_map_int_2":628932629, "c_map_int_3":-163079889, "c_map_int_4":-976452232, "c_map_int_5":125553693, "c_map_int_6":425942040, "c_map_int_7":465168068, "c_map_int_8":-1933910488, "c_map_int_9":130675658, "c_map_int_10":-1833604457},"c_boolean":1,"c_map_date":{"c_map_date_1":"2003-09-15", "c_map_date_2":"2013-10-18", "c_map_date_3":"2009-12-10", "c_map_date_4":"2007-09-05", "c_map_date_5":"2017-11-08", "c_map_date_6":"2004-10-26", "c_map_date_7":"2009-02-10", "c_map_date_8":"2009-12-16", "c_map_date_9":"2004-08-08", "c_map_date_10":"2011-02-12"},"c_json":{"emojidescription":"black nib"} }','{ "c_smallint":16202,"c_largeint":2151430863195573942,"c_char":"kxdoERiXBf","c_array_double":[64.17985037130342, 60.76648647587606, 61.36947320102316, 5.0872483085807945, 4.808902372737533, 60.24785570028639, 25.863631494251223, 33.42725371764253, 47.450235641766405, 80.22953742788026, 78.68431531604878, 95.72382099405449, 71.01445787543545, 37.7192201282378, 89.67617742079683, 35.87158089593457, 4.518653125046011, 48.8879472568024, 90.50246509873988, 81.92706793178453, 21.501597183211143, 14.162040584259715, 49.894770090422654, 56.74311581770267, 47.5690443490845],"c_map_int":{"c_map_int_1":1483527791, "c_map_int_2":-20231177, "c_map_int_3":-26502483, "c_map_int_4":-1734874165, "c_map_int_5":1444744521, "c_map_int_6":1747172602, "c_map_int_7":1073869697, "c_map_int_8":-337435804, "c_map_int_9":958753279, "c_map_int_10":-33950581},"c_map_decimal":{"c_map_decimal_1":81.0856, "c_map_decimal_2":78.1531, "c_map_decimal_3":9.1068, "c_map_decimal_4":88.0849, "c_map_decimal_5":6.1328, "c_map_decimal_6":16.1714, "c_map_decimal_7":84.1157, "c_map_decimal_8":13.0971, "c_map_decimal_9":6.0562, "c_map_decimal_10":26.0407},"c_map_ipv4":{"c_map_ipv4_1":"227.76.25.66", "c_map_ipv4_2":"6.250.120.70", "c_map_ipv4_3":"230.47.242.195", "c_map_ipv4_4":"123.66.159.110", "c_map_ipv4_5":"28.33.206.189", "c_map_ipv4_6":"121.65.55.240", "c_map_ipv4_7":"109.64.49.83", "c_map_ipv4_8":"249.92.140.185", "c_map_ipv4_9":"204.102.48.36", "c_map_ipv4_10":"182.82.107.182"},"c_boolean":1,"c_array_string":["HKjmaFFveNxjdYPaHJUjHeowIIwTWcCGFgHrzscnfAQMPWvbsuhWRufFuLnadqCrYxjoiICOVsQuZVzNhoKVxHQLPmPdSAQjLfBpfAqfrYEZOqCazVZudFjKuijkZnEWSnitAlCiXknRpnyBotFtzOcJmMuslXHYLDbviJwWpXZQIoMJUkxBIHKgwSXqSySFKKnEhhWNBgUfDRpdYEAUDRZXgKSIWWFVuzNipnMhddQUDnjZWilHSeTfekGCbDQzONvdVxSKgfydeduSgixLomcPiCldtpXDqIvyIecLAVRzsOoSJvPXOahBBUExAwoTzeZjZasAXSncICEQakEByMJTSVsrheLmUkrfasGFCvRhzXYXTYPBvYLaPqYYLLJySrBSprlTTkncDMmKVZhVcmqwoABKyVqhQSrVdaluywZXnOWfzYAuxkfwzBHHpUeyOADvNfkCzGjpbusGBwGQjcrsoAIENEaOhxjTVrqhibmoDZTgSxEhnkhqspgpUWFU", "mImQIrxuMRomYXYvKVmEJYobiTmylNgSTGqkrQhKRdXjExaUNWaKUZAQsDJfriwgJNZNKcKNXckobVithNZUSlOgRhmjDmAVEHSOBFJCvuaQylNzxSuGruZzemsoJjZOzXxzPHRKyVzSEnMymmJzMYUsSnAoQWJOCyRZVrmIciErUEnMjtKanJwQwZLKLwiZkjyEzJzKAHlxsUwgcnKbioKRLEcTJKcrPotccdqysYiFSUEvzZnuDWgOYgeVHqKwWrLzpzfEsjRmOuwEkIqeZKSiurEBGELwPthSOcVyJxaYdXqiTuHECNpgOCNTyPhpwXVoetEhvRrxqQfLOFIneyrFORoXHJTOeocxeoKIqMFsqUQFtBeKxSojSgRGfnVBRxrwIsiFIocSzpdxZNbiacuOQODWkUsqNxzYlvcFOenBPzxagfrsALoNnbxWxFMjhWoMdJKajQGdihflggbDWOPLnUeIvnQOpwyxXrbftuHRUxMpFIPiiZOkIbAkradX", "aTemtEUbjviYbJUwTaUmwXsOwyJcgabPOaEEjdkhvnZFZoMbchOWmACzfqxZQLsEfyLEdrWnBTUEuAyZMRRSRabyjHOgNjlamXIRyGguSSsQAmyiabvXvFTMvQRZLwcfqidSHwofjMUmgybgsFadHNzFMzKvQWpGhVSOEWrNAvunMVyTYlurTUkKwoUyUYzqxwSLVnuEcOqNeRVuzZoaVcXkAmORKfpfYyHJZNdZhqvZFwGrLRwcDPwKCLVVZdtOKkpNEkjJiHcEJOdQBwKfJpdmCpQdtwDJooRAFYLXYFGzQNTSNKqSVYuZwvgZIhgfNsKFnmBXTLWYJtfGcIeTjJrDoDIFKqKCbwRetygvmJyyFVDynVVTotfrSsODCiIOIWCJypawijKZCQpfiHgVpExQzPGXdESpnCZnKSnQGPWJqpSBzZuBdwjAVQejLypWeokPWzEPgKDlymCIXDOrESyKdTeCkfbsflXvazVKATvnKnaBPeBvukdhInNRJDsE", "yWOOhlnUWbcAvDFuljVRCmTHTwsyPMjCJGDFixwAJicIHDUsSBtuXgnIwWffXrSPOzvNWwkSzsXNEqANLdkrQYWnBuVGbFpmTHeoRcUeEuIuSDRHfrbVICpNhVNEgZuWRpNltOJpRHgxnJGQFZdGRqEUfkhNffTJSqtvmAYvzQrufzCbJftRkiYXgDhUEQcFSPNaWNCWolJUOzZdQEahlYHAOqmjQxhyWISvbIsEPTXWioxAeWGsbnECuerjxdCUKkGSeGuxJZodRNbJFJxVcwfKfnlIChXKGIxuMrQNulegikeXtsYpsTiEyOWnbrVvrmmKSBHzCjHtaiuRduKeOKkDytsaVfzAYOrNLUJnNEOiMPrThzkIRlhtWJVQehNYZxBVDpzMRPAbPsyddWlkJfeXvMiTCfOagPuOVFqYcnARbTOyHpWltiIqDiYwqoBOsrWAGrSEWlgTwvFaKxjbzGcEmpUlnSAGBSLLwlLBrSjLZJIMRGZIwpWCjoNxKQme", "LZWIjnDXRDATdUyhBquBJJpReLQHKqAGJVxbzSuAWWPUBWhTuUMwlxhaMPhzXYrcxZfgZhmDpmyVWTbbJEVGGxKQfMbqAUhFzSlzvLTwQnZCaikGcPHvPHmKEJRmxHYAMcPErNtDxDHckxkTLmMUiQVbFFEoVGFusoLVTwUdZPTsoCWOsvSulNUftBYRAsmcxOJIjuNvoeAOstXCuKcITrWDIlFhcBYAltHheYhyZxkmSiBdvkCfHNZPfhwYXBRhlsdEqyKlJbReQtXHSQFJgvfTpfEeFFdiPRuhcpPigzPUCAvnORnHityyzHOOkEeRaZhQnEgPYcDLoaHFVwQxPpwroqZXTFKCSyPNepfKIDULLJdYsHjrxkPpKFAWwImghMajxrWxmayPPiSIqPSZFgaxoYCaXLwbcxpENraAaXGhlOmCCExrSuFjKtqgnEMqmSDMFoyEcHXyIWhnnkuXdHmwCuRKPYRfpAOPohhZfHIzrocMnXkYjFsEGFQbUJld", "slXfRChbmtOChJCusQpfPuBefOiDLtkhMHUkyQZAEzWxwgUFsvhVxKNIsEmriDNqNNgnbsuSFpocVZPRGNZSPYrrNSUhhYlLgIXarMmQGjHBjOpyAknQKjDttRsRyEDLmqjHZABBjqIQJSSoyfkTutCGiHLmGQhWcaOeIDAwSMLXiRKRKNmBBbKpmCdNPfRREnHCMDdCVmLlienLxdeeWCIjggfRZEdbsUGHZnrlbgCSWoslmhbjfOuRUOEmUltPdevbgmZjzHEqMiMilJuDaXeJccflszwxZKTSmlDemlROIcyYTXSiLVdcotmCBLOUbXfqhjOreCpUITdGwPOEyWhrNEuyMnJPfEdNicltAkIVoalHuBZNbbPJUgQPZvwnMQOoPMmkzssrvKMoEGyYlnrXKZAMPxydGguepnwcBrrYMFiUdMrmoVxqVWFugQHNZuVZACNPHsnuQeDjIeSOjmQlioPUjMtNwiNpkDIrtZhfVnmippaKRYzMVUsnjLIb", "mzzJyZTWcBbaCAUWPISvmkkXwDdUyAcPXkmeJNoVempXJCrbIJGRJqrMkyGMYVGKaaLFqXaxvkBSnSTYQDuFaQklhrCDXsqYxGncJCxiVrbmwNWutDsFVhbbmSfZchbeqIggLjbzSoGzvEJyThupxzZPncuHOGGiZBsLcJjKZdDhvijCEOPkqXxKZjoneWrBlRRxImmTECZcHAMSrJnwCxRiIAcKQOPNGaaRZvQXTGUUjDOjBppxNzBjbnXmDwNeIyoyWVrEkZhtwASUGwJgugvNJhCoLMzrvLvnHwTkntmOBcYkDmypPEeSRwANgsyPSOYDKUmRPDlrQcUwEnAkwhlqLZOiOlelZAHxiYMKvldqdopjYqJrMyeTtrnFoSZChseyOFOuOmpRwfDatRrSguJcAeeWqIGvHqGderDPXTLwDqMiZKcauAwuPJYmByABZmpayDziwXWSeoYtbnZFAVwMaJgiFusqqkuVPQAOXnxfeylLUtMcohFNTvZtABmj", "atJydNoNtjFzPgXEZuNuBjDNATXbzttoOVFyrkrxZzerLWLFQcqqKqCtkfWQXGfrdXCISkaRrBJiPVfZNEyQXekByTJPcBBgERIEnDkSHpEcjnRnVFRHDtxzRWPwivzjjoRtAzychgFjzkowRGbnPSCNFrVgKxwjSsJdctesSJqWDAkDzGrhjslmJbygGOBeIJTNReyksgrCFtLNzaNAJOBThFzEXbnayNloMEskUujuhEYlUlNfFLiTBXwJyXdmdNrFrWKTwzvWNeOmYiYNINQkPqtmSVsCdgCTqJjYJDEqfkGhQJfICmLQDbpUCNoIfODVLxampMiMDStKTQNCsFRVwSSuEIkxjzkKmzZAcZQHIbglrZyeuiHDMQmURzTHFUsKFbleWwjjhCpuitHehKrMQSYQgimsvsirrWtcZLMqRIORgRjcqUejelfleTCxiNygVsfvFOeQBvfTjRSHpvqzpdDDcdVHxqjjmFPrnFdFljiMQACtFuRBRFZzsZsz", "dJJHiurvwrkMNTluoZVWqOVOAXsZDsTjedLZMusVWiQpiQDbTHKgNWXdBFYhfwxGZkVkcauPFtpqTTFIGDipKDFSbZbDjMXXVdopdEHsqcUtbPQZpjhnzVzEngJTyExreRoWzuyenqBuShVcloPvaGQBAsBNblXaWQwpXhZlnmTZGiPHVZfhguPumBzjFRWnsufaIcuZxkRiyUFoGtIOJaOxbtMeWlLOsxUVICpHHWnULFFUcynwVFulVlEzswYUPfOzBalpmugvxGFeTsAlgZaSlzcFHrGCxTHuhkqBIxGKQPqFVADOMLUizcpnfXBAdHspVfjQjGetLiILghjJNZpBlXGfJYEOUsqzCrBwiYzIoQPDNCgBXqXJFBmLIxXmBSkOqZSEfxXYgTdQalRUjuMIdeDhQkZAnxAHDyLOtqqbQXpSrJKdLmVROwPpvQblwrwKMKMOHbMYJbLlaPvyXuEJPPvSIAZbVgsiRUtFnmVCYGMtSbyPPFZKWYwOFJvQ", "mKtfdsSWaYizXNatFLhtaYOsbhZBhhxDobeYlWGFseBytbSwcRCeLTfCNkzctoHqnBLYLpxAzUimExPIapkyXyqXGGxKzaYpVbKgqqzewtZfMaCXcGBMGyNBrRJzVWMykmqkJHCnIVnBGusGxbGyoMuSyTnNTvKPiboHBQBcttGiMdrBlyKBYmerakIlvijFizVcpQKDIrhrpFrvZBryHoxAsRvOtPSrJpTUNJpYxlOvxEVwEvBfweqwKAazuExgOAHLiBDJgpozknySGFwnjRbwxSbgfvrgBzMCwnYNPUxbnIjocqxHzRIVGGRwmQcebWaqjkihKgKskduaDwHuCOdeWQiHigWCzMCzAibspGaUIRfesPpISbjJTzwqitchiSRzbaaukwPwYXLTOHgvUZagkDrQhKybTWadpTNSYYsALoNIlKuWCnZjGIDaRPAPpSzLAFoqGXlJjNrCpcQaGDylgOJyWvwWDnmSUNLHPitmnpulaXyrzfMnmHfCBeFr", "XrLMFHOpmVYiyDdtnMcdorHdeAOVKYOLGQxgHBxvFflEajXeRKDmBDiJKyeYgwaMaoLiRJVxjblMNoLGEZDIKFeXxNVipAASUgHINJrvLfgBOpbmuTxTZCQFliWlplHPugBkzzmXJPgONnTZdwxLfxKXYpZjQTCrbmzrARGwTPqTqKVYhvVPjyYqsSdRqsZrwJFRnycQiPIUrFrkaMOsZcTTMtfXxlwfnkMXNZbeIFrsCPgPYXZJxpXBMLBLTRiLHILvqiQSQhkfXWXEziJutouosHkPPiVsBhrouSXtAhMCgGPQsawercdKqLiflleHfHjxuhFgKJNJmvZfFhbnwJiZQDPgKpuVYGbeIUanyVOTAvcBcZRwwTbvqlxuCyIUCEwCzGNuhAecwbofGIpuaeMhzdqlPfhhUJnsQPpbmmtjAvqSYzhvgTGagSReszgkgGeMPmzxdLKtoivFjWjDIAprKhHLxOoPuTbXmuwbdBaGNXWXWMPROoeTjELyqEHM", "kEvkvMWbUzDNLoofYOXMauuXJQhGQDQccHPCRdfDUGoDXuuiDzqtimkKUeqAxSXwThmgSJfTIsVhnlJkXbVOLlvkqfyujRaMQngUJltSUjSToNfdICktatRloFchZxfByCXZEmEsRIBxwVJPlavCxpIodoGmgcJgsfBHAzOOlddxPxmjsynaQLYQHFUyMEvIAYwaywhxQpmDtxAMbUiChhCIpNpsPwfjqeQqKzXGDxBZkunDDvOLzPJGrNcoQujMvwnmNxDXUJuEgEmCfxeLakPFWrRpaDveJiSkICkQEUingRQOeTCEoFefnYfMNoHjotDgzyGaBBdaKroTThhAPPbirVcvBpcWfVVByIDFkGHCLzLFnhEteBfyTjjBFxbYtcpDZliRLlZoVeGBQONjDnSCBlhlOgGLbSRWfrLiyXQQCfmHGOJlUDErSNOGssqFlqKcbHZswPTSORhelubTPjceUGkpFBZyiAxXoEBXgDtBOnQguJPtycAmLSJwyQXV", "WsePHXoYzBuANsyYBsmloXPIkQbvgeHUjirpJgpOCfUmTrnkgnUYObmXlFhUGUasjCwXLBKPianixVaXnsFMAaYeemlQyqVUJNgDjOmJOIelgzhCFMELqnIQrAekCyBdfxjZFbodUWGnIJlVEjtZUNiRbztaoIYLoeiKpvjFxzWJUyVJRFeGcSKEKUJnDvSNKjSGMTCmStDeFSgbAusutSCfOLyHGFUiITAtJAzanYVWrXSwnFKgKTSsYNBXllketTMHKbhefsRoJJllCjnOpMuZfRrBJfTJAAnsrUYbqWdaVqElhOuagatDOdAyvFeXLIxiWcRhrSRqQXKEZVcIpsTIEthdovJEUrTZqPddllWpoglYRyNNNKxDTsPwLhsItmILijjKTKwUwlADKZVQuBIsNyJKKVCIWtvCIFxuWUxEygweqivcpsHQkrOaaoMmPgibUEYggBsEtxGDbuQHfEMVJjdyqFaeEOWizHTDYIviCMnEgtvOgoFSRGuuTsHU", "wWHcVLWOxQEyjopOCglOEBPGtJuyoCIbERRFBugaKPsmAVCKhJxSFLZuefeLYxqfsNTzFBeIVKtdZGzATEvBuIxEvxxUxCxYlUacvPXgcCmmCoMDQmTmicbgOCtgAtnaRZrWBcNpdUQjlDPatfecbjteOVpSlfCeVFxGszvRjwjZBsqDwSaMLOuSlKPxORXcgAnrcLQWxlAqjzFxWmzHTbqusxDbgMbiNlnzuwNlmCuKzKTLPatAtqHXktekoPtqlvRXHTFoWjJUbNmwAoeNruBJWkQnEPGifDTKhvJhFbxMgUKqXckUvaTkoGyeBNSBfXmoWkzNETJRyOdfeYcdpTnrduMalSwCTZGugtGlYGsrqHRAruBkMioEglboRSpoDpTCZJTFMXWdgHzIaqzAoDPOatHnPSKBsTKUJMSRDAlNxgVZLqthNAXlAnVokthhjxhfpgTnzXsqDUtxRHtHMPuwAyBzlHYlTsohOEHvZdlOXWTQCrlNaihCOTrtANzQ", "njCWbnyttVKRSHlEdzSNMaweakJbbNkxMHMgcxZGFqyyQwcNeNVJXgKcaMwQDrnaHwwBAHzzZnWPThkwvNgBXGjEODQZpXYrlmjsGwSPpxJtfihGzvrqKVYuAQiXYposAxrvjYMbGtmtPGaAFKZXNVfHoitWydXNKQKwRwIBVJUYmbIkGCHDrQBeWGgpBgqKQLTDOHPYUtLOhyUeYuUxWTnjbSLKViwNxrFQGVDXwRpPooYnvVNeWLQqWfMxQmEChYqqpRLYHvKuHitMsydOjNPnTSbMYgVZDDGTnCvFAqcRUclmnMmopwVgpQbZuGfcHmZvhpqCdwhFkZDgAOrxwUDggZrpqlWlpSOGXcCdGLtSYkkyrytuUbfXUxTxoObGmojKQARtGgKmWGGThwWPReNPjLuHaOymfSSoakBpfWkKBmcqVovGkIoPTYbmVhMhSVWFqakNlEAyKtAfSxoydfEkJnicHraAbJhJnONKobJpxMcrMuMGwbNVywCrGcSE", "ainNsZLgYtPUhtKBtsxffwbEZyeqwrsziguDwLEoRGDbRCRjwiMupTfowUfZZThnnXkZzFwmoUfCATdwQhhqqDThhRnCtcNVIlxDjyhDcNsXqaDIbKxIiFPqFybpZhQWJVnAlChIVHpfoRSyBxTJFeCAkCKBXoKusFWfREvlqWqEyjZGylVjSxdUZnsIlumGHKFfOjZNqCmniWEhclnACjgMhtzdkMestGGekPRTYLDZXllGrjBONLvPmTkEfvcRgxpewQmVRNarjdrYrllMTBkJOAzrNbBTNdcZgydvhqSrEfOEZgOjNsacPGfmkZBZXsvaivwmNdkJYSjSpbDBwrHFPbLFFfSHhzwzsVedjyMqAflHQajXrQMFicCCGZNlzrjqzuXAIavhNYoeENPnyeZhtiEdRrmVlTKRZzTjeNmjwuFVzEvixxfesqWIPltbXzBWAFzLXPaBGXcKSABhVSIvwbkjMkKfTlGRDpswxqLazZWlBYCtYypIdVPIsRyq", "apHiXPRVUbYXtbfZFeeDPRdrKWBbCNOvKkyuRvuiEUHcWiUkumflGKYNiMMEuCAjDUebgTIyARYRcyaKptLByqpYqCYIzXZlWhlKxarDlEdxWTJzzjtqbHaTDPpfpatGcbJPXrkqxkDPHmGAiYceVKyoosQzSOeRYowMIIhEGBpOmvOJbXWcppCRzFxUTVkYQeaDmnUcOtUmYBSlIBTZmvxdRkQKuOAqdgjZQPLjqORhdCIsKZJQBYmrsHiDoCVbaOHYbxQkGfrekhOmmJDTbbSkEAxrNkSGWMGXAaLuxWrGSXSyCJVPLuzLYIVOFAMwrmiBlBZAapNsRdkjlxkPBlmtGidHfyKqIEXBHOHiPBAdjsPilWgxOuWLbFdhoXEZICuVGSrYDnqnrSAyyhcqiXXFPSrgQquqlVKUJkhjVJsTehFeVXcwSCCXjswwtoHBuaOEXXvpTbUZlyXuWWVZqokmuEWejgbCQSUuWwPTooxntUkSMZUEbjdKwlgpJhuP", "mXhMQnkhnADpwLKMTypdjvfvorDhyxKpaZpykNYOGLOfALkYHdIYJFjOtMrLzQpLuBQICGlUFmGGCmrrcJsAgYEatbcPmOKEvVUziDhNoiPGLBYUfXbvOYSMXuZolPdGEhfmNvFpEgahsIVbKbbKrFLXMYtnMYwihEybpNaBUNhQJekVLVxoexNOGWwNiJIErfgsibcBwFReeAyygVBZOWSPAdLMYNyWtEUsAyuRxSHcivflchHpAmxnilZahAiVpYUpEDOHZdTYrPjTsezpQPojckYqxsXkdjFPpnolnQuTHuayorLMkgJYISncLqdxTvowYiyKAXMHoajGOPSYRfzVcuoLyVhkYkxTCkpWTIAWzGeACazvJIBjuIdHdoAztqcDocIKyPvDcOGpbBYCqRYyaUKPyuhXNAyNqFRqtPLoDoPvwAwhzUuXfrIwbrlSXSewwXyQeURUYrjTMJiRWYFXIRaPIHOWzaVsDEVHImhucmiAWlHSHdEWyoIOHwvI", "kkzPUpxHgPAvfoRlcHFvicYqYnFJIhmgAKMfabJPfHFTWtrmvRWoQcuKdTaFHtmxEerMHlYvTuxmOftBbQtyLTWBtrsIdBLnPNxoYanzQQbjsbyvEiGzYHhfFdENmSNBcBHqcypmADVwQqwtLaoXWESzrwAZNlmKRFsBjDmFOxagonKgbczORGpRAGGhLIrFUHehjDYvtbTBarVBNiARryfFACgZhtKnCuquSgqYNFZWvgwewCNjmjviwfROTQinucgVqnlKyMnANjFekqJkPzftGzTFqTlWQflnVsflrREwWfLgbwpynGtgvPXCfwpROqLamQxatNDwqkgPGdzizJCBBHmWXPRKZEzHfnJTHdRweVaanLuPAngiYSJPhvhHWxDHFpuqOXerVVrtDYPbYDozsbnlSwdBwdWgwcPsNznZrRqPnyNDExUQxMwrrsxmBHGnmRSfPDsktbsgZASHHUQehsYSvfZMsmtlrSAtEpJQHWMOYeejJzkDMkXbggEU", "vSpSeMgVrgEZUCMSQvdBBDAPpvmbTunqCxfUvXzFLqCXtKmGJJeJPqoEjYjXwyOYakJkHeHFpQuFaDzHhUnEoahACKZyBhXzKqpZmgVXgzpEAJThMNDXMnDphmJIboLQdqOxIJzvgsmdiUmdlMnXQPDzmHwjFQFLDyMtTiDoFJThonjAOWoeyJvBpueOQIcBYPUabeNhPOlhMEjIKhxgUeTzZMfNaizWptLlqXnRvcfjZRaNHJkAXSOUrypbBGISUSxnQLzrLbeRgCasBACLEmhvoopkYwAjnpPaKBboXpTbaKgBCvdHONZlrGDdCuPsLdNsGXDBozSwXwXfpFaYAiTSQsLkBQCxoSATgsLsxlptnGjCGusanXqssCpRcJZcjXbPTPYfvjUZVLKASDVGWxJwCzvinhmSHmvqJpQFZjdoViHUgQgYekezSozPmzmKgRqyOYxavQVezxiaFgqJKEVrUKnmXriknjQnuAoMGUEGitpZcdqUUhJweTrgzImA", "mbftcTRyStHnFArCkHkwPKSZOatHolGhDGQxjmuBcCOBhdXaoOAQYCOLSWzMhePOIgnbQlXumOsDLJneABOCvThxZCUOvDAXjZUUJSZqJeUOVfLTLiCDtFQPYFFgZtzDRlKQSOJMCqWKRVUjPswelReTPhhOcBGJPxnQiTldcnNzdUrLQsNLzrThfSNMDdKIOdhzPoIcxLrurtDcbKLHIPvDCylkGqtMlNPwMvaRxxEZQtJfXzsBMPdShUAsiqwZIjQTtkaKERevVvIskZZwgERcQakFPsqTlDYOFsgeOQlgOOFAfgoFmxuIXZWIrcmUbwPuxRWYAuVwbPQphMXzlUUBUGocroaulATiPlauCbVwDxANVVTPDnMuMCOXdiNZfWaaKytHgYXzXLKGinSItoPvWwiDGYmRwtbyWUXqZRQvSxtWWreQjoMpxWFGDUpAuKUhRLXRrUvulpapSTFGmrIoeSuCtXPRXOiSAdTfzVGvJzyCYcXJKpYKXSLNevJb", "IdVfJYOgFCRkHiHAFOuYaqwmwRFFcgrIGVVArufdgJubWfEnScdpQNCkRRZHGrQksTmgvdihTpwhiPmehkhnlEVpDQckOOavFOvODIZBSPwvsObUCPdRUkOMRpUoEqasrSIRDOsKKgexPVkGAjmuBFbVavNqPbpdpLzbPkvjDTcsxDxjBGzrSInWSAgrcKxMAZCoydurFOqHpwuZGuONDXhTjcdhYnpuWaUyDrNSFQLKsmvIKbaTZSnPkcHCGSevlpaEbHQUrzytMVIJArMxMEViSeYLNOiSUmgxOVGxtjHMYpThlAsjIlDVgziMXYuYWYzvUkzfaJLPihlvjFhGSCZMBhkiGBpupzSCYJnKTJNZWbSZBPtuQjxZNvomOLSthuQRQpDReQEnTJepLBHwLCYwiFVmzTcwpmLbnTxWVwrqfwtsMsfZcQQrBEdqtijLdeNjIEtGRuQBgFSwXYiwwBdnKSWMQSHUcjjdvAvoDKsphQzzEUnsHcwajNeWjwak", "PhhsDGVhHfTCCxFMuqiFKPxekCUmpqpCTDeFTuBXMQAETWFPQOMmQaeZREiPMFbqzYLUMJvQJjDtNLcgiUyWwxEpIzpzBTOpVjoUyTmMriSsznXCFIMzsAWHRrweYrrDSdWcPAcbLZCTBBjmWnisNKJClJErDcXPyjGLoshxPdifHUvmoivCNacPgsYNUDoybrKtCdgeWkvcTfOSRTFdptqObKfUnlOUYgHUSOiUIPMJIapAOrNDVHOQUuWWhTFvXdsmWmYbbFcDqmItCslQkqXQNbwwdrFEqULljYnWCkOndDmgjHzSeJwSVXHzqTvBGeAkunJsnjDVTHBkXUNouwQiKwlGsUfkdNyYFGaoUZFZpDwnvOrGTtPFrIsuOIGqAKnqsCPwfghlGsYhQHefHIIOaAIrOGFiOfnEJccpIFUQDdianMFJerYrlEjofPedvtlJBnPvHWUSfwXLOYulUovVuGdGDsQtquvoBXVdaCOogotIqltGeIgkxrPBqIoR", "ZjgPnYCfSBzAulyGjIhiIJxYLqJSrrYtrGJGTcRlgqosJPzuvsHFgqGxzrLkjdEXnxLFLSriqBVmFdnwxXHIjTwpNuxDEvEPAMXoGMOkDyHiyMUDXWmSczriLmNUYwGlGjyODvhWmzLUlcJpeELbMyPdPASZvIYpCcYvIwqaXwtxwprYiOquQBkoCbVKdYKNffPuNddmEvZpXdAXjXksrWTbsQKBfEoXohUZkEjTuRilLamQkxQDGjlizeHaFwJxdYpbwrYsvayRfxNEmRkQbeArVcepCiNLgtAtsseQMGNIHxYvPaPxAeZacKTpkwnTreyEreOBTaliXOfHSXnPlUWdJhsKSwcKfLsoGvcwPCCQMQDUbldwUjgTLinFqwZItwFmVHOqFKhdATAHcLwyiqjTSldBLnMYkiPtrWPeQoNBrZoqxcHYvicowfLmWTgafOmhhcaSNwfaReleICWKcDMiCjZMlseoMsSLbfCPUfWYRKPwyqIxRMmiUXbWcFpJ", "IBBTCBVkBYKOOeeOGlfYffoZYedPXeWcreQlbLkbqjDCNdGISAjKOfyegeTmKZQpmQsevDQoCQwoxGMKtLlUQdzGYXXgXumifstRpnhRDcWZCcWlNwYRqUXYIqVqcujIRCWoDjtQwnDBMJqFRvUNiVcaFezmxyTsazUkndocQzQgPCZZDLgbemfBOLbFTOtmhYXXXZVDcmGtKXFBwmsycMHkCGWkknrMgDCgbZKaucypqLIPcMMgEIcHpjNbyoYvoOwUfHcdrEFdUAvCSRvInHhEQcIZgCLRbEJysssgGjuPfObWqjVxkiqOmcxeZYBEdvoVNUoJmKbINRowzrPBcuIfHAednLMmJEiOeGCgrKrTXDEFZVJpPuTJnsaIpYSbPsVQPrPEsjIxExqmWVObSOMzTdQjJJGKOxFRhvheFzgTUxpcnyYGGfBFTZEtRvueVtfCeUTOwMImzcCYUWhgtRgpQugYGLAxgtXDrLHePxJDmfUikHpsEQxDfFJfnozq"],"c_map_tinyint":{"c_map_tinyint_1":-118, "c_map_tinyint_2":-105, "c_map_tinyint_3":66, "c_map_tinyint_4":10, "c_map_tinyint_5":-38, "c_map_tinyint_6":72, "c_map_tinyint_7":48, "c_map_tinyint_8":20, "c_map_tinyint_9":9, "c_map_tinyint_10":100},"c_map_char":{"c_map_char_1":"PFRaIyHOgY", "c_map_char_2":"qFzaDRLWFQ", "c_map_char_3":"hZbuQcLqEI", "c_map_char_4":"MPtkaakzNw", "c_map_char_5":"UUFynVQZgW", "c_map_char_6":"yQpwercaAM", "c_map_char_7":"TnZhlRkjZM", "c_map_char_8":"STwAKbubSX", "c_map_char_9":"rEYDGTsQYA", "c_map_char_10":"MGWYvZPdGQ"},"c_float":6.0488377,"c_array_tinyint":[30, -107, 49, 55, -71, 64, 95, -36, 113, -27, -52, 57, -123, 75, -18, -88, -56, -60, 19, -43, 49, 85, -35, -81, -50],"c_array_smallint":[-7521, 30927, 14483, -6986, -8526, 28617, -5744, 1753, -25700, 32418, -1790, -58, -27202, -19021, 16474, -27366, -30031, -7189, 1393, -192, -26837, -7018, 16670, 28841, -7250],"c_map_smallint":{"c_map_smallint_1":-31664, "c_map_smallint_2":8260, "c_map_smallint_3":22291, "c_map_smallint_4":-30800, "c_map_smallint_5":-20567, "c_map_smallint_6":-28104, "c_map_smallint_7":12758, "c_map_smallint_8":-2989, "c_map_smallint_9":-1890, "c_map_smallint_10":-3344},"c_string":"NhFcTWGzOcnxUVBXFJiFbmbMRMOBXneNMOwfuzDAjCUoSZofsAhIUWqAMooWIwtjpysZOHgBCpzLONZxrtgubUzQhmsQzZkqYXtVKANmZXtMUncWctGQAxJFXFNCLnRYqNlvWNwopZPKIhyevTCLVuXoIiDNOXJVGLAJqubJLoNytUEgSZgVbeSpUzyaAkZzDFAihvBbxdelzQbwZqXFyJxTVyaXJLJhOtUDIMrSomRIqOsQjsAbnsIxjboEvfhJLOewRcQwoDAABVqPQOARFULKKJydtZEWcjKwMFgmqgWFnVeqZQfBinAoVAPaaVPseEAEGqZpLvQmXYEldmZhuuMhIDDRGPAHyDzfXrZcAlFJfWstAxGUiiQtYTbKEMBWcfrEIUtrLLmUEihXnvMoVffEiiSqvYSYMNllZmqtTlVxNwEIXbaRsVfSDlNdIGykippuPaqDLmowbMruTehwuZMmWLJvyHUcVSsPPIGwwysmuhIbfhHILMSgTJgAasMU","c_double":86.74580321245784,"c_date":"2019-03-06","c_array_largeint":[-6068039685700703699, -830221899790703269, 6595141463781364499, 2256445092676821087, 9206161416073660495, 5327500919016277952, 7869986751200871889, -5565526043316174450, -1849832617679928311, 173666591256789493, 782221579688570345, -6048268655077844593, -6033838366698900033, -8810349222682168392, 8298266272391195523, -8255308790495336945, -4707051690253563296, -103904366949038041, 6016698316597850392, 326555954714457106, 1574719567815463484, -3745857862210170559, -3453034877704306508, 2809696290668340349, 7520862650881700210],"c_array_decimal":[44.1747, 19.1781, 14.1640, 45.1663, 16.0792, 97.0378, 83.1052, 26.1225, 53.1765, 76.1347, 98.1658, 93.1602, 86.0318, 3.0674, 34.0800, 0.1924, 85.1381, 3.0664, 37.0257, 67.0973, 39.0332, 99.1617, 46.0847, 72.0920, 34.1907],"c_tinyint":-55,"c_datetime":"2019-05-25 09:48:14","c_array_boolean":[0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1],"c_array_char":["wFAfvLOFgW", "hIgiCvSqnB", "NivFIojTCs", "DALuELMEll", "PwWEPwBuuy", "eFRyEchIRh", "LIXJnhIbtC", "bMJeKTRmYf", "MUCIuqLKsC", "rePswYFZza", "YusLZkTrTn", "ILLzCymanD", "ZuDbzjzqQN", "CGCgHUfgPg", "AgwnFLnTLD", "HPzwcatBbY", "fGnAFvUeds", "zDQyPSVRKo", "YpjNgCrxRc", "jBOEKAICGW", "NKgFDtwDbb", "jmNPFrvhKv", "HHVnMHtnux", "NhYwshbNbR", "msfklPSwks"],"c_map_largeint":{"c_map_largeint_1":-8966027406090990298, "c_map_largeint_2":947471382619903838, "c_map_largeint_3":-97631034772102793, "c_map_largeint_4":2858357276640783229, "c_map_largeint_5":8359531697797238511, "c_map_largeint_6":4368992935889651908, "c_map_largeint_7":-9126652562348725268, "c_map_largeint_8":-7431120923929734998, "c_map_largeint_9":-2653775895514641275, "c_map_largeint_10":5082512926457813678},"c_map_string":{"c_map_string_1":"atMDQcWVUrsOUgBDzYlwOpkNNEqyidxxpdkooPJRRuMfGBwUQTuBYAnvIUmEeQKrbwDUtnQftjtpRlxiMMPvtZceYJeZbWVoFRKtsECwDpCVCVmpdhqAHMsdPnmffrEmubtdxlwWoCNtWHzhwBLzhnrNJhpZkpBxaNDBXzZxHipKrEYsgdXvdBXvuQVmwwWOZUbuBxsFJXgvGwUVjCpUoQCSfsspVjzGCuWWWhSKVsLWkvrfGzaEpyLWFLvSdHChyJZuRpTZHpSVYceDcIKWpUypNqdgRzwjEwtIQJlUqSxjtPruFUJzRjZYDmOIHkNGDzQUffEitfKCrujPjnCMllWppwBPjeWNYsddyjQaDgzormVEhfFkMvQOKtPFlvnVaxFJGTttiGqItqKmzBaLdGJfllMDuPCRCkDzldhBXgLLsUAKZrLcIvyfNExgdyzQJZkcTUvLXjvyvlaKQWPZZTuExnJyuEhKdGPmsGUslhkNaWmEzumCfYFdduhZefEW", "c_map_string_2":"lEaQmOdkyLOhPYarjgNkiQwVAnSegMfTilnZXFHQoMCLWkFVrFahJZvOmyMJHChqYMZNisqTvpYzjwANwGCRDaCWlFiiuMlmsxxecRBRpwsAuXeSbSSmjRVKxsXkTYWLpIZKzUPZZLxvqTcCwSXuqpSsddusjiCHEWtWERrCIxnMrbcYdpUUTszEhozWZjlNOweOgoUBeRvrGUuvzqFjbrrHpwSHkVmmrWLLoCwLXrixCyCNgHHPKVnHMCaPnKhMFUoiLClSWxPctiSpJpFyZqVlxYOxetunNFFBMDMFzsiuxMBJihMFUChXcewdUlXVjWnRMKFnJoPIhxVjLErbPoWCLkHUsHhdLnIHBXXrMHtHDKBtrhdwQpKOMlqdrGJJQHQtIPZfaaAxzwwmGkcmjOxwgtjSnsBUOsmeVVMYywcmoNhDsdWhvNiTiOUSfZhgtvefoIdPMUCjAhAVhuBqCIaMKWaSgrGPvbOLndMvBlVyPNDAJvSZKzIiXHjDBcXT", "c_map_string_3":"hCNuUGobRISAtrysicjZFDiyhrAuxXeplKKKcsoVahLoVlQYAyQnZwBkKQUKKeNWkpQSabnFGwcWGytIqLfRPgGuLTthwckNjMBTfwUcmwesQTzrrjedMOBavsCmUqzviNxDJnfjpYPAVHivxTKyjIETfHbjRUQbdqtqRuZuBrHpncSqnxHUDSiVLetpqETyULPqHgXXkwCmQgCSMUqaDPiLcXEofbzYNOlulzsBNYUQIVERgUXjxlJynLbWFZYJYvOOEOjaMbMvRoyOizcQPEsxlnTMCAGJeHncmJXCFBGrGtpPDMmrmGWSuRCkUvICGNLjeUpHprFbWymMWsaSCYCfeZRMuiMdkSRDIzfJazGYyihHDVnXGziqJpCXLVEqZWLKMIqwUFbpocREJUUeZibLfBQhRiNsEBHFCjRaPIJuqXAEplzTTXLjjJhLHWdLNyQhhyTvsVUvwBWxcWUNWTPFwwzmYexlVUzxfqYIOjqYxUTQRqVLyrkVtFeuEPno", "c_map_string_4":"WRkBLfdFsSaLPJjSmVeWqEbXDoIMaTVXtghfxGaTVeHkWJuwvikOjwAtKeOAyheBmYtqrRTeckUbsVIPUNjhsnAedBIKGAPHZZesmaeOlzgDxDvZfDbmPYmfcAxaJKHTeKLQqsKuhPZWPZaZshlXsEGUpCRTUCfekjBZciLZNJqCGhNhrgwMpqYQswpQxoEbKQxKijslrziWkCHdKugvnhCsLwGAJMjiscpFlYeoEInpbexAXvhWdVsWOnzrteGoqFVEslHLnSUVUmrwpJvwBbWipruuImaKzwYVxDzqyrnHyhIuuSMjhfppAGAaCpbscDjihCJVcQxwTRkCvTgeVkVyaPpXLiRDQRbeAhXkClLBkpQYOmssCUvHPueBNjPgIPTUlZvDmDbjEWytCioySikWIGmCBzDRqErVmJuiCWsvJDrcqLqwcSpLvONxmqVxDITCpgptCTDCHxEEzIUgOLjFAsnzNbIhAYzsfNACPoVDYfPZbxmbyArSMgYdSxca", "c_map_string_5":"JwoNcsDpqeKkrICWmIUAXvmxQShhjBddXTtStjOjhVkOkBAmmMZlDxJIDGfZqvfzDRwffyLLDadLlvxNdIsiGOOEfsnGCnQRtXTkosUhkTkqKFtDYEcXoyPxkukLWgMnoGMErmbwCfOGMxsBBUqMtoUzCRrHyToWnEPoGDOPAGNvtAFOSJKKzFXTLiPjjLynSjqsvflOpWleRDALQqduOwAxifpqeJUQZSfUuyAXvcNeQDjoykueWtDzzeWuRCuajdkdEufzzTIusggQZDZejDoaYZaFUUrzzQnkpqVuppeulAOZrPUeNQjcfzrDBFcMoVLyNcQXpIgtCFkYIyDRTGsOoOviYNRXlazEoJeMliLBEZPIILDMgxpedSwkBzfEFSmJRDMNmNZTBiLAPEfBexuqhnaXpNydyKAqBPFyVeMQrLXmWDcmoNKYFketNeJKFKsArsDWhUFwDKESLLhfcpTEKLgzyDYTmeMOzrmLSbhxBgEhMupufxtwXnSNoScN", "c_map_string_6":"JzYmVEASFtlACjahYMXkbpesyqBoAXGCdkzHWkReqiaUowULnPEoqaQGSxLcNrpJQNJcdwTfOTOaBEPObSyarjQCWNFXzlziWpPPYzOSiLPuGJaYDGkAXTYSCbOJjEHngSLdmmGMcWWOSSNjPvNFQSSeFacmRpTajAoeungCabPcSFlaARyvgkTMjCGyCtzgOQvRjgTovumkJRzIOridEyqoUzWiAyKQTRTUMZlXETLzAmLwbMgZazlQMJYFfzSmIiKUgPKXVbScVqNkkNlkiYwBUGpkYHyAAOmZSdPYVJpTauAFULDSXLEovVEcekJHcqedfszmZMfaUqKUhvibWTQXZKaspRrJLRhQMlKZKmPNPwUnqGpwyygSsZjePZtUXkPcEWZCnzLTYEfjIGhnEklhhnSMRKfqtNmVKDZRIAhHOQssUmzpNwtqHWWKReyDHnrDCORubUlwLiIAXJrpbSlWtswUrSYvnkbDHFIriJfjmTmUZsCNOXvnClpPDjQD", "c_map_string_7":"BllFoyPUJufBoRfdAmLJLSAIgmpgJmVpJwKXOkGyBefcQsxReCcfpDZNfTutCwqjghgVpAQOoSzLQkYeXsBReXHidKAylfgJRuWQVokCXWjisJqwiFJLPuYfMqzxbWiTYZgqRNIttXrQByOGsNhEFywOLTnYeiWXEiMyHkEUNtAKqiLIHlVsZXVlxpysyvdpFEdPjIJTJCRSEcHtzvjCNmPntyNLobLAlcviNYLeWKOpnyatCtIRAmeBcHxLSGFAxBcDhMtaAXiEQUpXBVxppGwwvZEUmWDMEibvSIkCNNcdCQJzpUzHCIRITRZpcbmApqFRoIaEOfYXhBMoxcafpbqmohKbVBKEmvdPCYCDgnZqCvYphOqTmFwYVnnicIUmvYFqmmuenKbLZzgdCDeiHFvPQJCJXcFRdejwHlLYoVHUJPlowHCroEOubLFqRzcanrVdGVFPUDqJfRCrAKzCQUopjcBZBjzcsNCjMUppzQlOyMbYKeWBAdyNuljUejzu", "c_map_string_8":"vzHcLvMncCvAJOgYQsojAcUnQiJKWYAezBtYdyjxprvHuTUGXBAqTJAalAajarXOWDnBQdjgDVkxepHkcvqldaeWOBCJobKBzOggtIBXNYRaMmPnHdPFqOLKzMFXLMnzuHFQSXengbabDrKqOZCvqNsfFeHcTIvxXLDDTNclouPnNHJvvcDHGrEJfzFqNJfWBYZYchJHlwbbGXEBzhoDDPtwjEvJDNTtzyezmhdMiWgePDHlqElAsSTqMNwXwpDmMvedMrBSXdFKzrcjaAvieLjcVzjlCUWRuAOwBayqMGcNUHriAVIrrmgHvMqGDXiQGqTDkWanUaIHdyjxmhVllUrzuqaqRRyOyWqMpbdevWDRycWOzDDnhVVoQEHVolkVjJozlMNPslQNSoQHaGNCEwOfApERoapGVPdLgNdBzXhokljYEcxsMiXzYrkHLbYcGnIKgBMtgjVzpTXlkfKJLjnXsksjVPxkrIieTvbfAexxXgANpmYvznAphsKMBfcM", "c_map_string_9":"coBmIGQsRIfktSmhXxRqrheQFbLgBcSlhhKYXkeBTIakSCTRQrOPIRsrKZAMilAbFrRtfKyBKnpHuFcuTuzeRLmGXHglgwnNRUxcKhglnPUBHQQBLZccELIrsLZLbqSPvtLcyHIJkOfTEmODgdFplmVhiZKgFyspmrGCTFAdShurJJKuBzaEcEAHSBJlFJSFuiZjMwlHWZsafFWirZXoYBUXsokVbadMNtisCUXNNpuQNNGCFiBNzpqDOxXukHzGzFuRfTNKdSAVeHSjIFqyfjHaNKjjQuEBjQGzGxRwgozYxjdZoOMhUgLfKpUubLiWLFKqZkbpGtQtvBtDZRPrYOzlwYLinUkovOtKYZSJnVhTTYHPEPMzuDTlPfNAcBlPuTJHQJckmZmrIoZFpCDGJRVtNBTUQyfcTqLFiZdzBNmTEsKnHPiyhPNEizAFNodqSYSpuQoQaGtnzKkWtQoAvQSXRIFIcLDjgHsrprCTVVUcjdUXzpztMZImMvfDpzjq", "c_map_string_10":"OtLrIjwEEokCFpoHAmcBgyGGubcQhPoJLQCPrrIEpofEbPmWTIpQRdtIzoEDihWTiIyGWXkzsZmopMjCasHyJmZTXtlHvGckrrAvqDHDnAPlaKlVwtMIGYChLjbfNzuwKJjmsbVMVXWESdxoFQRKOpewBlHiivHtDpYBuyCxZHYRJQexUwlYLvamCinJRwhumbYViHcqhAiHjslaLhvKpVnfhsGLQjOnbyhaLIPAdChRKqvACzyCaroXlBfULeYYheEPlQezLjvbVDJABiUZLTVKggZSZyGQicrYybXtqiLKzHIFcQCRxGucuZLIRefWDIveVIRVTvPptGVcnZjwfoWAsZIwnGoyJIBvVwyyTBeaAnlwbbZUPBFRcptPQHufDTSaJwHxIqNyusgyoTTXtnphkSTEKrDqHSJMqliFQhsoqbyGeMMmDTnrHuhIRHCoFjCditvYGvNLhZgtREenFSteIzbFYMoBAIHndpbFmwqNCbQUdLwZQLumWirTTWKm"},"c_map_ipv6":{"c_map_ipv6_1":"faa:577b:be99:2dc5:171c:648:2cee:2012", "c_map_ipv6_2":"aa9d:a346:28e4:445c:7646:352b:ac21:fce9", "c_map_ipv6_3":"4afa:63d0:345d:35cb:a82c:193c:f5b5:37f6", "c_map_ipv6_4":"84ba:2440:2520:b496:2126:6c7b:9dd:5234", "c_map_ipv6_5":"8dcf:3e3d:b1f:4b8:10d:a7d5:1a34:4c13", "c_map_ipv6_6":"3394:cec:fb37:8f46:baa5:dfdb:e1e1:f65b", "c_map_ipv6_7":"24dd:5037:cae5:c402:e6f1:3214:c23a:29a8", "c_map_ipv6_8":"5bbf:3258:4c59:8743:6ddf:48fc:db28:7dff", "c_map_ipv6_9":"fb6e:1f38:db20:ab40:e6fb:aeda:960c:13b6", "c_map_ipv6_10":"d597:148c:be9a:68ad:d478:78d2:6cdb:f683"},"c_decimal":32.1989,"c_varchar":"he","c_array_bigint":[121090869015174884, 2721645747524840473, 6702150257007874680, 1754448087699146830, 6221810295458318901, 8238388882116230248, -8707087529214739594, 7349134257360113610, -932091492719456812, -1124426525602875415, 7420768343421933000, -1061682486013170778, -1588347848480020839, -1056692678659620732, 4801864361385992416, 8805286078724898311, 1010357089322646339, -1627425432945607566, -4348038494851591339, -7309024141931903758, 185080748221587794, 1478365319853124642, 7926909466690370351, -6885089045994892040, 4177125558035048623],"c_array_float":[46.80145, 24.405785, 42.46953, 91.08916, 31.36837, 63.643684, 48.00667, 16.947908, 6.6719666, 34.07579, 83.244705, 99.73931, 42.24059, 18.781916, 19.70482, 46.628376, 15.042184, 56.272537, 99.766685, 98.38817, 75.11963, 85.184784, 5.500326, 21.787918, 19.30138],"c_map_varchar":{"c_map_varchar_1":"zDQxbtDAtrfKbRRhudYaStTRxTJURjFoPRnjgVdWbjRLVFXZmKtemnMJuTqLfDWAlgiaZJufBtUpEaDPPPRhbhvtRvZkyHPpSdxMpyAZSnSCPTSoazvzhQCoAccGMmOKNiPVlkWiBPTSVsRzivbZwrbafeyhMhXCxunjlutwTEGdHbwvjeeSBXSlhbprhKLdvRZkBsCKUqjRUFyxzQZAjvJUivCJfeoVXhvWCzvAwkfqPOrpZsiwNJaPutAxVXjK", "c_map_varchar_2":"UIULeljzDRoIOSwUSkQFLOyDQTPPaGmBQjPVBtOuMHbLOMLzbveBlcktTaIDVMdvbkBAGIOhTtGBalBLBoPREoEpawVYoBXrBreNkXAfDOeBjekFQjpjUBBWGTCqUojCNGvPxARwcbhqSaCDeRsnZUigHCjAlXRmYeeqPxGCUaFsRzKVDaubavJIKaNXwzOlbXYwLbDRKMENsrgilIQLDaUjMkwGKzjUmdDxuUglEqgEFlDUFFauCUQkDZdjyaoo", "c_map_varchar_3":"cONxpFOqMfUmBoSezlltmgeLFykpSzxoBUnqiXKXOftMQZAAqZFjoLHtEgbOEnHWYtnjFRbaGYWKxutOBqVxyjZUsBavOeWvnbyfPOvXpAcWkNiGsgDnvySVVHSkuzYNKuhreAxHBhYwHkGkRyRHOzojbzstXUbldzjLksbRMXVlPYyZCTSvyiNMZzDpifEMAnVZlHhXbjDyHNOdAjkJXTrTPJslMVWPiGZKodeEVsyfKXajAQOUgfCFGVobhXqe", "c_map_varchar_4":"aUORyECDfXlPaEXZMRZhkkQWXWLZBPGezjNFKejCaPbMVXtkxyfvJNkFlwzbgBZgpxRxEHkJycwzFucqJqAvYddaEJyMbxLTUSlOCXXliGOWdSJwscacjtAxsaxTWEarhgkgrkGvxewaftQmvRvzhIuIEQvCllfiHBjDNPOIdjjYLjhFGkvSkmPNXddYYNSFusmPRhFUboJjvieXHzyBJUbzyjLVoQJYfiQGYBhxsbZfqrgJSTISgvIuruIJPJTA", "c_map_varchar_5":"hAdflXDpMnDnXTVtPuRTvoFpICEdOgGkwpdrNfvyjVdtCUPAzKGUbzWXOGBHQMNGaNQZrcoTBlyrjDQsXWawhOMtbYWGSmkNEjcZijuOGNIaMxiaUpSpFhMgBjBokjxJsYxWVTPbhUZoXVrIVflaTwjyHgCUZcsWxuhqUOMYlAUbkEDBEpNzozTSuhpATGMYtiXePyovlTKMvnEkOVayGhnBahQZMwjByTdEkHTtYqfjBytUttzKpYgxjvvoxAKW", "c_map_varchar_6":"dNeaiPKBkIrTaKTqHTJNSJlxrHpcOdvHQjTHmTeRYPsTSmbidLTNSvZfjZvGlPTghKfHBtdLdLxcmLImKBHaOoASYdUeCbjPiACBANNfCnhpDtWxSdrbvaGevdUsaWXKotmqxZuJJkwbupEFARBdiAoprhfAemSNYRWqgKyGQqmvqUgFwNZmvoWUpBiaakgffzTaMYHzjhvEPFMqIBCzAgGmuxBNmJlGEuivvopxplfNFDnswcuFgBGYJZzaEfZm", "c_map_varchar_7":"EEPGnkTAmHxscaTYNTchkwcucIXRgPowInCNFDRErqNpaWivxWHLKXGipLlmHEIFjGdFHlaCKVQDDaAJQuDHYbgRFXDjzePwHQseQgxxYvhgVygasSrdDdXFJGcvRbmWwLDsBTbNDVJexOqpUyByaSdKUocfZtUALVatnMfRlQWvdeMeRaFYNjGSvmhfaaYgbuSMZNyGyeNqchubzFPGRJRpkxVDdsVRMdlnHtAAluGYmQJbwRfnKRhkNlHuqhMm", "c_map_varchar_8":"nuZWqwFqkSRBKMoijvZacJXMVxyhEmfrrlOXQMCphLojiugZuarDKNORGXhUQXsqBPaUVQEnicytScFANWcJxizOKNBLgqsoIwEYzpkgqpuugWkbYmDkqasPBeRmCcYGkyQWGSMVNUzRKYIyhBlORDcdSfBdUUAdbLtcCnsaamqOSmAvgDHeyHBxOXRnVGJQJummYToQLCgIQOqxAxCmwkXDXuyeOxKgTjnJbqmgDZMKYpuyIFVJBrJYUMwVCRzd", "c_map_varchar_9":"LSzUnUhxfJKVBqZDkWVuNmqvVkhxjkKIVYxWAkxCBDpLgFYiJWxCwfhsbDAQTvCHTzGqFFigaTYWwxNHzrlFYnmZmFdeLfYbmQgOxaArCETZOdVjUwyaqNpOWSRXOscHnOgMxdHyuZvrfnZEMyMcnFscQKWhPBqnqDjQqmuYXuwnENCNBqCCTcfMmuBDaCpvlSLPYPrOgEoFysGvUBMjUtuMAIFaKuUzIPFOVUpVRMeyIjxrgDtdCdDDEQuSamKo", "c_map_varchar_10":"TuDhSsIAhHfBprKxGwXQvFtpYlKWGuqfvzGZrxexHyrzlZqbcqRtdmeiVepCpRhHpMisHdfsgncTYPSCqPHTsVTGPssmgiCHKGKnNUmOgitXbebgoROSDGLrXqyBPbCKxpcCjlFFeAyqlmUggvutkAONCqnUQGgWtFRoIPPfDfOzWQSIdzDZrUefahzxjHIQowoNttPQIMkaWRwlZqWbaAqIquDZreHSNDZzoVmUjVNMRhvTxqDvYICdSZolNBdU"},"c_bigint":-9063222748702170789,"c_array_ipv4":["nRhIGUmAGL", "xkLKzhfqqr", "InjuzPFTFF", "bFJszctOtq", "DoqwfebOYq", "PFUyHTnVKP", "hGrORtKxDa", "lwiFZtLsQx", "iayXQlzTRq", "biDhqIbpFc", "aPTHjYaFCZ", "VfkUJGhmGM", "AYKMGVgHeg", "erUshQQXUW", "vofgexqnBh", "pelbwVJpJn", "VrazzBSLKn", "sWKuSWFXwv", "QyIpwHFZfA", "ctBrunzvNs", "zmNJOdmomL", "edvBvtNZtB", "WNPPwZcaMD", "YSYNEnUfvf", "yvpBSLAcOH"],"c_array_ipv6":["mQOxOCpmWA", "uEjKFENJGR", "vPOTtTofyh", "ABqwLKzWWb", "RoVOtVLnml", "NHvPJbcdmd", "IUJAMcSxOV", "cjSTgaAlTf", "OIpHbBPAzk", "hdnIhghgeG", "JxAQAQwute", "fcHUuGTxJg", "YouMXcunlU", "ixWFExJrvf", "rqaJiJYFpm", "aLqXpQeKKF", "pAiZPFEULr", "fHYTvXqzvM", "rTZftiRPSQ", "xcRvZHSyzA", "oufGVwYuIt", "DFspSLzNKT", "HjBCoMBmUb", "hzhOzWOeDF", "PoXtbnkyoO"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_date":{"c_map_date_1":"2018-04-28", "c_map_date_2":"2018-08-26", "c_map_date_3":"2014-01-16", "c_map_date_4":"2012-03-15", "c_map_date_5":"2016-12-04", "c_map_date_6":"2016-11-03", "c_map_date_7":"2019-03-02", "c_map_date_8":"2011-01-08", "c_map_date_9":"2008-08-18", "c_map_date_10":"2018-02-19"},"c_ipv4":"89.225.134.204","c_ipv6":"d215:b341:d597:846e:29a4:8a38:10ff:6a02","c_array_int":[112994787, -1071922275, -140679799, 1541984600, -358501847, 1482346661, 1614954238, -1748323167, -1630696497, -355197506, -11439664, -515772552, 1643846921, 15866857, -560008111, -2072645933, -111022870, 41154856, 856445567, -1328895438, -1055260191, 1672316200, 1084719531, -448416370, 1190318408],"c_array_varchar":["RvdrAIrtdJWylfNCbkwSifFFqMnFGWyLmqFzHohvChsFgpQjXNhVjYjwskDoencxxuFoZVZCVlRgGzfoIyDRteUMNhnJZOjoYlNFBpstEsHMcNVdVGdLsphqucxQaOuYKqwLLxqXfvhhcwZaWdSbghUNzUoVKLleaatZKPQdxGIlIIOHmaeamJPocUmcKfocFpEqkoMjPErNVOtvlAhWxQZGvIFuJKluuxlJFqEpGTRHTNKjdqZzDHuBebUAYQKW", "bfnPkRwDoGbSpZPUmApwJguGcCWbVuseJYvaYNIpUvWJJPeCeVrQppzJyyKPyNIRQOGKKxosLEQRDkImnDeqPbQGaGltfiMyvQLTjJnMMsGMyxCyviRhAXZpdGvzyOykcEvMdMDyWoKkANUOzIbMjumzyLHqVMMofNLlTGLbmsYltupBEPPsfogPAwFRTTkTjjuLEWILJdlJSYuvgXZjBwNNdgaRVnEnnxhVuoLQOsdnDtBdIVTQeBsYXJDSjVbR", "lXZoeJMopasLgcXqIeieLBoMxLObyQZMbiyiIQqCrhyGmfpMcFWXNCmkmmwrWnhzVReWDaOauyOTTVcAJiEdXkwCqPZCBJddPAfFJwSVjruHMqTYLivdEoBGfKTIEPtyIuSYqKfIZxZBGWpqeRysQuDhfdKTVOFsOdUFYJUCgeNBYmNKznkLrJJmTsXsZZkzuHNNAqZaFSKmeknEfhvIcfTusvAEGXAYPDIMbYhLiGLWIIgqHgELmRIqFDZGgPbR", "HrENRynYdmbrKXsctnlzaHFizJfAoFVffwvDtazcWHjPoXiGHIBZaxXhJQrMUXwgicOHWqxVpzXERjKlCSKreNRdjergMzfAYHhnORwziKJhkoedmzhqiUCoeVKYxVSrAHoaGtiXXlvPxJHJRhxeeHuqQBjhUUrwOPFzFosrRerQOiPlAfOYMwLVadIAuhKpWOMUYuoJfVnzuSBywrJhtTBHZxXQAmJmWORKmEKTCExReSTwRYNOuChXFpzsXKrY", "nOUpLKrNHVbvSrYEtvfkMHDAVkGwbBVkoVWiHfmEqVTXZpEfXHmfGtSzeSoHvSZinyqABsgmWFYRhUQhywBOSmyqJwtcxMTkfNswimjucXvlLTmHJtFnxfhsjEwZsbHrekbBdFiUQlQxVOtHZvwSBlFLeZuXPGUYhdPAAodofHjjBmblorcIXZpRVijasQkfmcXqUaZzQbGhvGEIuWIbSQoyXbYZqdthpBtGkRqSoNGlTMKsezxwnKRuQScdSLmU", "juZoLkphAMCcyxfzCQWUPqeEuWkHWXFGCabETiVbCaUOmXAhEYrTaTvYYbIHYqKbRRVbkTGUTAjsFRIToVHUfvuQOSsxmjNlSIlXtDlCJkSkuQCJUkoosTHbcFhzpvJNeoPDDfLiLCGvLEFHskPCmDuVbJmRGFxeAIFHtXXUUZJHfTWtpTnkECSkErtTluuEnzNNfnfyVcVwSmCRhCIvGiEaylEbfpfOGrcReGhINrtznisjHwcaHzPVEZphSErn", "UYXVYmxUwiaiDTfgmmGDkINgYrcrJpoXDzFygKpHKEdVQBXrfBnmgnQsPbPcEQrviZEpPCtleCRNQZXBIDZjQTHUzsVYTDNzUSrtxkTSYENoqUpoMipmpUOLdGnnOolghPsxZfZcyqmecAUYOVEobGcApuLPLWwOZcXgowPeYpDJlexYTcfUrJACcbECQPOPNGAgcytjUJdyPUsKOugwwIqHVIGScetPZxHDaGZXmzIafpnIqgsQfEbvjNprLBRX", "lFWkKoHvYesnHJLHBLpNzvdxrbQqcBMOVgeEJxTXrxhzwCRWcpeBdGuewDaGipfvKWvrXAQjFoDjzuUwTMpCWglLLzQBygCDmWbGAbopiOiWImIgpXiehFYeqSYpngzgJapofdtCWxIfrqaaXowHTylqHVxpddfCjQOfyCoentGWrEzefCyNuAtTferYNIJaHGoMrypwOuSnMDpuaDJrxzspMkyfRyMYOSDuazVnGufKAtRzzPSLhaPPLHQIykrw", "zlPDASuRvhylBFPFPikdHxVZDpZQZDwzjeAzoryxvurCsxjGDkijJPqbWUeRfGdeXfMifuYQrXbKLYffnPOFXoYGVLrmVcdeDQbFCpsVVGHCIauRUMYgUrMFqKEbYKTWyHOyoBhiPhNkFFszdRZvxwokTdNezIWFmmKeibyFpcZrmdZTaTTceerLGuEaNLoagtreWOHkEKQiurCilMkuTNqsRzGGYjXzQkUsanrTrnDRCJkRtFDIwJyIVsCbpKaf", "xOtOsobxQICYrBStVWoHrQlfVFVaBwHAGigVJQvnVAfVQvtdrInWfvZRyUAiEUhVhdTlYlTQzrqtBfVvcZcSFFZEkPDHmOYidXjbbRclSZYWOWbJlWEOQVxkaXCtuneqpEfTEXqnwkVUeYsRvUixnZiTEUgMdsIaRZkmUYgNJmLRppIikMArEfWgfYwKIjBQqSfGEhijhYnRSIpqolqmTyOsonkAWXzFOHufXPQyqTtPCcsPFLAkwLTKFwqXbVon", "vaZtyPONDHhoKVsWVqweSsqJXsOfQuaHudmOUxJmEvdsJmMCskqfYszSGuMjZQBuYRBQyINFzncFDupAnvTLBkjhmhhilWSRlOHObMKPwbqVlpKljIKiSRHPAtMmjmsWMJHNZNoryTaKdZYwROoerhcwdDYJJFBKGHhvfKgZrLuWUeODuaZVTwaXjNmOUPoEbTvTSGdxxixVYhpASTToxhKlqUsYXfrOvsusbGrZOZgAUyLYHIsjJTLlYZeOosfY", "QpFiQAnXLgCQdaoZikvFpIoRZARsvFKTEAjrOPBNiyeLACviTNAzGVLYdayHgIwzwjljiLlKaXYhYZQxbiLjQMKrFuamqsuQSSAqscnCMjWpPEUdfvPIHDrlhDiGKhVgtZmMpAlSzggvUxyIBwZLWvzTXYARQAEgvIQBfUGjoOZkAJyHMIuluHZoCRfCHChXbqwcJmDkTjunoVYITkpbIVRHYqjaAMzhmSCdhwltsGKyQvBestaBECDEMLcusPLP", "BkbvnMOgKAvEwPNVPeikSwvrwphmCMAEKIwUWoiKmNPlkDrpfrlCciNhlYTUquWvUJIlaoCBmMjQuIcRRIEDXLffgPGSQizvEqTBOOPoGvUvqOgsxWKOamKBSQTiDwgpLQNvewyTRjahVkoPPCJepnHKsFkmQsXgUlyHOggAofbegnEkcYklxfplRaYTBUDUhHYCHecmUGKLTMrQlJXPsDrsLEVUGKXMJuQTiVhNNgnTPIfhDuwrZOdmpAAZBguq", "zHahkbnmYwFxmPLWsUhaqlLbBRserEFeebnWkxHScoVWtMfBSBHqEvUpuxUupnKtPDFOVoFtYSibkscOjUwsZYJcHBaDMIJWmYajaxaEHxCqOvSefXFAXNrSKJPfhWPuNRDuAwVkzGwtBBPrDYGVrSYCljLfnGjxnyndtRWdBToNdvEVCtKMqdbTJtklzcSbbOUSGuHmljlUTKaSCLuVZkqFMRANIkSZDfiLAAwWBMqZGpLpuPUnnPdXmcNMfHqI", "zbyTOOBueNPCfpyiXAopxWRcqHsURrjMSLcbOktqndjUJZyGcfSOvZnhAORvmclnfQidqTcFtzFqaTyTMIJJujWvlNCldpDCAPviQfHFQWGZtjmFgyufhYpknNHTrRXkILsOOqRESuqOWyoSxeLOrvwzJsaothhvoUuYQmGTjZGROwIoUUPUfQHTiJdHxVWyvCaQKhkYigvWzXfILDVoPBRbOouDJaylVoihGNgapmhwizNppcqQHYUaXVHiHpmy", "bspFfyYgbZNPtZMhkOAkTTEFWAmnyZxzhXOQavRmjNNZAwQCyWnCadpseXkyIpAAIsNivtwwOxDxiKTDeNAGLxfsTqNNWEnXGiQrKRyTXcezwNjRiaTmBxCYuQpTdUACJPwGHyCBAewhEtUNuEsxHkAsolmajnnAikrYAyNfhWiBDjWBmpzlIMWJEWNTFwvjWKPOfcqosnWLiIQsmRUhyezKORyuFlsLWQsPPqzsGaMUoKoewSsEYhKyfaeJqbgT", "XFsZVDqXhwQmQPyRxqlVDidgBjoLHhNipaiOcrsdLdvqPuVoAzUGwDdVAhkSZynOQiYGFrXjbfrLRZhxNpPshOIPgoAtmjhCLHQiIrYQrcThmPoahgBJZzHtQYMedlrUdhthrPPTjuecbZQGlBYDpfKySneEICZKJToqxRrLzicSUQkSaSECqGoTIhRdOgilSPGIRIzwzbCRinNBhDVNnMOrjTHWUDXZytbjLFzbBEREwvzjdliumLEVhgRbszms", "MWwGhQedFYrjJlwWPirtyZkbzlQHzaWCNNXjYaUuiCnLeBWbmIAxwtSJKPpwenYisaTfcTXvDxeAiQeHYSKAtZnXjeWsFAPsLUwczAflxjabQZzXnQkXeJzyhClfZQEytrGFQOOaXgPSikwXkCiOjcrcNwvORDnIZGRQgiUUfjiOiZRuoYBSFunuOzWiMcFGtvwUaRZxjuIwtdeKWmUeZfPGihXKpPOawWNjoUKKYgRVvtWGKUJEIsyaPfwqNhHu", "InFIJiMgHcGqAokYDyPyhXSwvIMtlZUpWXNeaTjbXbJZJwzVTLvXlvQnYWKMXSKhqyTdorBChAOKscPOoxwMbGeYbVvcNoGxqwbSgdvvxIcwtvDbBqdiFYNipgdiYRvLehJLsvjmSEzfSjOqfUGWQEjzHZCxzCIbRRHFAONRtrpAJqRIoANKAuGbNwgRdSwpkNbySvXXCPhLSTEBhMWrUqjtoEEjPmvcNaZMAIdiVmKYSSSDtBbtWZZoxTeFGOIU", "DCCkLypErnXibwSJqGQzQVLhKjFjPQWmnDeBzjHFrLlbovAWYdIuxRwFoYskxXkVkMqRolDdpIWkmkxGCqutxUlflYTaJgyfeOwemBZOXVWxojjdoLCvRStKUKlnPeZFUYTCYZNvOtYOvvzVENEKzpnJxHtaGHaECaoFRVxoKDdIpGxBbXYHAftVwUDzFDeUCAvZUwAiiEWOPmHBldJlJWjAoQzVnCrNtezVciFmKHUASVWgCkGXyvRcgnZPpWis", "oiGFthHCcDpevblVLKnuUGfJrVJdZDDYwNivFqwKzNIfFOXzuXxBAenUhQqsCMPQTkHhgoYqNPgHEMXHcSLurFpsMCYEHgDlRNNVFoFxmAFdRyJKiAFeDALpGMZzZTWyjzhmMEQIhsOvIRSRmMcQKVNAHhHAuiGkJVcxkdEMfEyaOomaqZjHjOKzpxUIYvKfBnUMTctCJcIMXOIWIVEXTxbWHGHCCVAdmXIJtTCDEKZDITcNPaXgMVDJRwnuhYzH", "kaUArgYlFCswiNmZvOsKBrJUbnjIhTJMLYyJfqMmSAwiGqxGRDWygyMoOpqenEdDrtxiMfVZWmSkcboholsNmNABufXDlzhkzQGOPBGtSwaKnknpCdCdXrlXeIunzQvTbBCxNqQJmmogtxNfmjWDSAEoLYMAbxUsmLEipNJZWTdixeIEkZPjktrfRcyBhWXlXWAhZPuZQnBQzkzBqufmJSGByUfxtMDiPQfLhYgCDaKkgslusxpoGBCaDpSSSAYL", "PYPKCRgmklrIscmsJKfcnsdUOtheiYxvfajtaxYzctxmxVlxujqOaKBwpqrGxoAlryhKGhgcSiOPfzxqXypxeyetlxxEQDxotKdvVNzvpxDHIRzTDGWGvlgsxFEFrnSwtqzFgxiwMmLlUkzSOxyOdnpeWSjbDPXQjWQCmNIOtIGGtsTkobEzVAEtixuHzViLXIVcWkfPtKeaPaWUTHysbdZFFnhMKgDYwjDNTQVyJUGrdFUnZXElppARRiUcbVCy", "YUtpDhuwDnLtgTwQhgmkQPbDsDukjdpqTymHwmJCtCPfZnlQoCeGvYBWtjoROZKOcUwAiILNbgQWupKkZefYEJpEEkCZdaRZFbnpmgUTsFDZDceJQSSkYVpskKSBIWNQxrYkSXqXcCVxgxlkvzgwvZiCkvKNrwNtxfHUasikXCqPoQaPuLMyRLWFhlUyQElagVUosmZjhPEWIbtTybblcTeRpYGelKWwRqvrrritXNamJGbFvQkQFvjveLgJRIgz", "yFMPsphkuBAmTiArajyTHNqvWWbakgVDGMnRoRoKmRdNHwqpCrodWudOjtbdfNGAPhunruLAfsmKOyGrGBDNaMhYDgjBaHbRCpBALWvwUELGDtBKraKBtSdCSSZlmcAjgyZhlkaNPMCvDSCzfBQpjELKkbUQHhPBLrqOmfrhdUounhCIDZWhPkFhnUxXLhnOYaeNMaidaLOJQVACzSxpaHOecCSplyFZEXjRGLbUrxcJemeMCexNuYruRPxKIsjn"],"c_array_date":["2015-08-27", "2016-08-26", "2005-11-12", "2001-02-15", "2013-09-05", "2004-01-16", "2005-10-07", "2007-12-08", "2004-03-15", "2019-01-21", "2001-03-24", "2008-07-14", "2008-11-12", "2010-04-06", "2003-07-16", "2002-10-27", "2006-09-12", "2015-03-10", "2011-01-24", "2014-11-07", "2009-05-08", "2002-07-26", "2008-06-15", "2017-10-14", "2011-06-15"],"c_array_datetime":["2000-09-21 07:03:12", "2016-08-27 04:48:18", "2009-02-10 23:52:29", "2017-11-06 01:36:51", "2015-08-05 06:18:07", "2007-11-13 08:23:02", "2010-10-22 13:06:43", "2013-06-12 06:45:09", "2014-08-06 08:56:49", "2006-12-14 20:56:11", "2000-02-27 11:11:51", "2016-08-11 06:41:09", "2003-04-03 11:44:31", "2003-11-04 13:13:35", "2008-11-26 11:32:57", "2007-11-28 05:04:06", "2017-07-15 06:09:01", "2003-12-23 18:11:51", "2016-01-12 21:11:36", "2007-10-25 16:55:48", "2011-04-02 04:37:55", "2017-07-01 05:35:17", "2004-05-20 13:15:13", "2010-03-10 12:38:29", "2012-05-04 18:12:03"],"c_map_bigint":{"c_map_bigint_1":-7417455230660486274, "c_map_bigint_2":8128195875689637754, "c_map_bigint_3":-5299156138258139553, "c_map_bigint_4":3845586164390135654, "c_map_bigint_5":6588453592853306683, "c_map_bigint_6":4357118089481748003, "c_map_bigint_7":-9606338759129620, "c_map_bigint_8":9136894959030641798, "c_map_bigint_9":8541811726908270766, "c_map_bigint_10":-6351791710318957960},"c_map_float":{"c_map_float_1":76.93294, "c_map_float_2":5.9749794, "c_map_float_3":53.013897, "c_map_float_4":2.9048457, "c_map_float_5":93.8875, "c_map_float_6":6.8814116, "c_map_float_7":26.114006, "c_map_float_8":5.801432, "c_map_float_9":36.056213, "c_map_float_10":5.529024},"c_int":-1205053388,"c_map_datetime":{"c_map_datetime_1":"2003-07-13 08:03:57", "c_map_datetime_2":"2017-02-14 07:18:15", "c_map_datetime_3":"2007-12-22 05:02:17", "c_map_datetime_4":"2001-06-08 10:55:04", "c_map_datetime_5":"2014-07-28 16:54:16", "c_map_datetime_6":"2007-08-28 04:30:47", "c_map_datetime_7":"2018-08-27 11:59:04", "c_map_datetime_8":"2004-03-25 02:15:55", "c_map_datetime_9":"2013-04-04 03:34:04", "c_map_datetime_10":"2000-07-05 20:33:40"},"c_map_double":{"c_map_double_1":88.19979688591285, "c_map_double_2":2.3036963700764788, "c_map_double_3":28.13863953659235, "c_map_double_4":97.00034214117915, "c_map_double_5":100.01096446938432, "c_map_double_6":98.80204930171776, "c_map_double_7":58.71612932230715, "c_map_double_8":14.033375495858106, "c_map_double_9":39.847785634275844, "c_map_double_10":69.84322911146496},"c_json":{"celebritysport":"Pele"} }','{ "c_decimal":7.0191,"c_string":"DugZtBtEtzKagJOGUPhIJQuXKAJpVegfvWqYmAsuTeFoJunQFglFfqsTkeyTDNLzcpFPkbMoOTdoJgWcoGDssFoFfwVLLRZoXRKSzEYLydzmXvYWXgmITskRfATCZtHqcBoOIWlCewFIaACpWmwjspmMjEjYwMkUraytDNuITrzkCARhCoeRZIeXEwaNwsnHgNLBabaIAgfiGaWlrGtLBeCmiRJIzXxVzOpGRBJETKJeTLzmzaWQFEhsKTATTeavHXBvzFeCpovhtJaTzEdOiiomRQJnXbyarnNepZyarxTuqllFzDaYalCOiiblMWAbAfOLRIAqmlaYYpKUwBJgUcPnfSFcGTDxDAiSeGnfydWmQtyOkhlUnGoumFFhgdQsSsaXUmfnBpXiHVfTBvdALlxavSrwJJNLcGqPDZuXyKlTUwKaEsuEtJTJyaqikNtYXcYJLHDtjWAxjrbFQjCaGltjRqEiCowpzqhDVmyMCQYCkzPTAjZhpjfdeNtpwYDE","c_array_decimal":[8.1341, 16.1124, 70.1752, 74.1678, 68.0550, 53.1476, 52.1800, 15.1065, 35.0283, 13.0837, 31.0418, 10.1646, 26.0740, 59.0202, 16.1378, 57.0232, 41.1182, 46.1968, 64.0321, 5.0644, 65.1033, 48.0128, 38.1293, 94.0119, 8.0720],"c_array_double":[38.31495690750846, 84.69091083276706, 22.30523503684397, 98.12691774282811, 100.84946415784205, 38.84492744052219, 67.14231468778893, 28.285496920598646, 7.744130960730908, 43.76295051698791, 97.71880273003734, 95.79368362476248, 44.816140242185554, 0.8495225450535678, 90.67103854692444, 70.28466001932836, 64.20545557629002, 24.801550110401603, 64.80198108490157, 6.021680180498478, 65.90124262332309, 37.319799580961735, 25.09437036638099, 63.42606711997505, 6.867234121324054],"c_array_char":["UyaFsTjySn", "tUVpdFkewd", "riQjVwziZA", "UzxfAsHznB", "qRvMjwpzFo", "FNaNGezKIT", "ttslqtuMmL", "VfwemBbQip", "pZvMpqOUUY", "kMHInMALTL", "ysytnDVJkN", "UwYSjVfWia", "GYLigtYpoK", "nyrdMXJjqT", "mWQNlcoCoV", "pHMIskKgCe", "tMEyUbDkyT", "rMUBPsvLsF", "dWxRileEdP", "ICKKkWEIYg", "hlrAHufTzi", "BuCRTDgQuP", "oEfTDnCSTx", "BgGLYCFDyn", "pvYZLApVoH"],"c_array_date":["2000-05-24", "2006-01-28", "2000-04-12", "2010-06-03", "2002-05-28", "2010-03-25", "2007-05-12", "2019-05-13", "2018-10-23", "2008-03-15", "2004-11-10", "2006-08-02", "2019-02-20", "2013-01-24", "2019-12-26", "2016-12-11", "2019-12-10", "2016-03-26", "2003-02-25", "2017-07-23", "2013-08-23", "2013-03-14", "2009-02-03", "2003-04-21", "2016-04-17"],"c_double":82.24920025839384,"c_ipv6":"2056:3082:5254:d33d:99e8:6af6:c468:5b53","c_array_string":["SpVFdgzXKRjegvbYuzAGNqhbhwtoJmNXSTkMfhjGIGHgEWmUkxoCrcWINAvBIVloKDoTflAzYRwjmdfPdgNunycwGwmAbftsJVCwikkkwiZKvfctxfaOcnHTgZNVdGRSAHcBhXTroGTiAIpGogYScIUVgUlRDoYCCrTdmziSCurhnNVcyCgZhcIFDiDmPTzkmyJgmVKyAIJyMDfadEkGciEJbNIBpVOlOfKjjoIVHmgZwUaSUWuEzKQzJaYlXmXnepEfxyYDtOyFCtCFKffokeHRyPrjbqkwlBZgwDYrQpSyTkFQnsFMBagzcGHWeabDKUyuqpCtEZyPdCSyduGzSYpoyciVNueUAPACwucBICLGGPYdHGaYNCjTMEsguhitpwqPrIByjSIiUDPKpohAsNRnkKUbBsdjuMJOYupbziArRlDMMgXCzPQGorWrmEXiydDxJTdQPRLlPFUGsiFcAEbsjhexWrtffgbiISpjkJkxOjYdHqaXlEjUiqhKCzRw", "EuiwdzxdsgZoDNiQnYFeLlLsvxzjYtBjZxqhKWndMOEkAOLDMCBdpHQFvbfYkpPslYKiNiBFiSNUzDqUMbdxSBWvNBPOWwVPSuPFRLCHyyydRMpSuplMuPplhsTWdfzLnaukOgPidVAsJlivsbwHiHXUWzhNSEXSBkycHEAQkaKXGpqrUiCaiorrVBodbhohLhQDgsQunLZPJADGQiFkIGnTijGOKsLyTCZozHQLGptEANpPKpPCBvVXXGMvxYUqmzfaYDhmYYWUTATjDDfwqWCDKAUVpFtNZLdVUlooGHuvTYBwbYJcjbQXRnHfQTUvnKoVnjGMiqySPgappXMQTGgJATnrEnZhUWdXSxsNTCEqrHorLRXEnydKmsuGXszbRSObVXsYknMofEZFIMeoyBhtMSchwVWFVkdqwozAiaTEkEGIuCjGMeEiHPeQvjblZExrjdqbcGAXeGReEAKbUgdXwFzHbZLDLDYzqtLSlIBLyMKtAzoUMPNBdDLenzGW", "rGgugpbbkunXyinkNMZRSUXwILKLWRdZsNLDzbMqLRmtfgjpbCypSvwFCyHaDnkGcuBVKQxUEIkAzUqnJhfLyNrfykcuMhbpNcXFsYmnNfLXOvUyUwKSySNsDnILyxYZLApArQznbmQtqVhqCyzmyqktMQOHSidCwabEudtubHgvWWaByvZtCLbYqgnQtiTdhfbfJkYBoAMzQxVnBQNlwAUwVoBioCFhyNtxbsSGGduOiljUPijakVdXBdyLzdLeAZuhAqPagCiMMgSwQuZxUWTRLAGuGkhzXfIxMizBpjlJiugukzqemmAUwQlXmNuPYjYNGhBPVRkbsmuTFLWrYJwwtLcoXooTtCdfusWYAGPccSeXVwNLBejakAUjUAQNVOCoFpzDGKATFgEuhRrCLmqhssrxmAaYzjKZYhHmYiNiDrTVXsYHVJOzdypUAIwLHoWHkFRYbHJOxbcWfAehnGzCcwJgJFlEvQaNPcMXNJUIYiuGSdEoYmEnXJbxLHCP", "mvAjQogMmziPxydGsxOmVPzacHhXWhpmZEvgPXvsCmoupFojodhtsFEbVeGpdbGuhJGmYGSqZmkjwNPsMmnStXHpxRORgHKoMPoLEeaEAdQdrYdccqqJmnEamUlEhhGFRpZinlhLttthFFMZcBtLLYriTeINvUnEGEnRpXRLFeXfroUsqeIlvaSQfFLepyGbofousCZPRkKiAtsOvdjNLXcfvwHZpKcqCxsrLBcBhbtRvkhnsFmIVpyyuetlDQWBixLUPZIvqTjlPTEsfntJbCJTVBGShGSUFeqPKAlIXYnVNHIIynOasJcYkiqsLGwumxOZyYEynaCGtAXvqSFYxsngWeswdQGwjMQyXttxEGvdHVntGFyrUFUbHutBJgoLrXSkcegnLLtPuadgPMKBCqrTAEiFKWJEjvlYjCFpVkDHcriKNOMHxnpCYLVYoSAnviIMuVMxuiTFoGbrmPXzYNBqXvbGQnWJnUTNVYCtqTLswdNBAjHsDLmoYAOTwHks", "CFcxQQVoGxlJXNUuxffRstnytNBqBzuabqipoumAiWtxeoWgvCzfwJvIhIVzJKUsddqFWjDdgnJKORaMtntBBZaLZsxrtoAOBqdIJpWczhITBPcfRNSRXtKobAnAqzloWAfdOZJjGvofnDMWVnaljGWKYAGUflKlPsVnuHCPrIcGUHjxFccgjQATZySIDUakgkvwzRpsgEmQXdQuVoHIQWpBlONyiTBnelZZzNIqZXEJctxJGNUQubDIZVeQBNbEuJItvKvECirgiwLumSZAsIFXqPAuEQnwBhmEfwSvjgDnUplGJEZYdNwOdIkfPLwygPARkZpcImelaDWmRBqGZFbtyjmduUSeqcRtugAWZxRUWfNMNSjIKDpEDsOztYZebjJJvuTwWmMSjtATFnFInQOayClTAfEHDnbsAhKqxTAOrAtHRxRdaYdebAIguuKYshKEjAMfbRddCOsjegphsPVzwmEitwsGVmTNseEeZgLGQCZLiZDBdWVOQAZQvFda", "xrmteNPioEdDKtothfgxofroglLDALiYFKxMIvrwSBdPeRTFjyEYXtxwgeQisWOkSfYBDkZrgJyofSyEPvlXbexRtzzxOsODhouHhoowNMHdRUqtzLxNnUioHUGuvNYlvkKvFumjwxIDwPaqywrRZvhvdkukcNtCZHgerMPIQoKEZjNMqXlHbEwvPwbOUqfQjBsuhvisIhvSkVMmkLEKKByVKXxUvtjFVUlEarTEDBoWoUzFIBZkDhNSRpCWGfyHoAEcRuECboYTxFowRvttWlribUqOHKAtTMpPwsRdSLZgpBrTFnQTdfdCBZoVboxkdIQeTHEheCtiwMmdBhkaoLbGJzCxYYAClkRTRCnHDXRxjwgXBtQEQzWzxgJiWaMLxCQlSMNMZiJXfKscgGHgTHrKQgACmceYhudAeWXJzyiBDejdyKFoFFwegBFndXGicbGAbpWKJqEtxHVNTlHmCMARnNUbUdQQWPcmAmIITPgwWNiMqRkLyuRHlkJLjigl", "hUuyMbAWgyKHpYGkQfSOuVIHxRuooyJomSSMnXDhpHvMGskETBhliMEBzFklFjkQwEtXrbfOWOIWSkZdlxXXOYriQNHmmsPewsVxeyysSejIgZXlrdirNxgPXTQqfOTaZyAcmqHLsTQLJEkRgqzIFoMWvbGIAicMHuszQPsYlDkDsEqMJdFtAHbwbORLySNiTMLwWizkIgqsHKHetUnOBMyrdRZCZLyKNvOUyGowJnLyeeJQTzyqHEEdwUzRBjHncMShBzKBhVSQlyYEhkVqCcZPDnFnqswrJdmYAsrCSEZCMwrpcOcWUSLyoElGTGzUKTLnYPcFrzfwExmGKeNKazDAYEEnioFsjxUpnRVZUQGRFRikbcIGFuuuPNRZGtyHqExdggiAGqtJOaXLIkDCCwOaVtkqKneJBeGAMtaTHiRXOMCEopdOeAUWjoZWGirwNZjcsNHJvZOvaOkyYdGwVvTECssOvNipKsJaBtCkuOBXmywTuQvQjZddtNRUwpjz", "ZsYLulePkYaJEtjWaBJbrPMiEFcMoaDLKAgEFDeNzosBkdJvuFwSRbjNBzIRCzGiVgqeZGXfzfXfChFhjWcWMozUMOSWnMQUidxmrApitvzoqwvgcXWOZgHPkjDifpHWkllvpJtPOAmQIhqqJrcoLiaeMYmMxjArLwalqQexIUfPISIaOVFVSwMkpFlBmjDchhSVWbeAoFbDZJLjFGnxnbHSvsWbMrdeAIldPzPAmjIyNEYXLOYrOuCMXFvcGaBwfhyXQnRVlxwbLTcUFemIQRauPvtDksDMtoFYVuxYVBVhJJejILyXLyMWtOkdxbEgXzRximVgKJacmocDqQvDiqgzubbwtErBjcqcqCXhfFSyuDkZOMxenZACjAynxCUgBfNihkcyXTvbIoLwbIXLkBRbNJKzhLwHqmxUVDgWHxjkIpETiVibcvMcYzBowdhTEdJMOKlrAIfRgQfIOAPMoHMatulUSJeuFSkzoFYsCVhipdbVEjuBDTWAaiFrqgpw", "dYwiDEMASNUZTRmISbcuzeIzQmslklMOuNTvdWgFiJZIjGcrpdpOlQoGSWIcDVICDtpLdrmqGUBomtIspZUetoHcgabztQZxgwklHrSsxipTfajkPjfzpUpearWzeIythQZakLBSNZacCZOFHSnKaEZRauCqMEIWnmlpOAffFYhmmSmHkMAhbhIFinmOSpvATraQdVxoZcwsbmsAHCqNWeJsNtidGKnIqNUQQoTyRbZDEMqIFNxbJxzdnRZOZwBuXKTZDwRLtiIKiftCbbNoUvwbWOjWClTJxgrbRDLQQBfXmKdhUwoUBnXrFaYtZcJyGwRsiIruajCPYioNkWbJzReScsLuAREPOhUlpQSNIDhXCNzoIlqnqZMCOcfAfmxykGmwRfUZdKTGQDFNZLcYXOCqvuAyBhGkaqDLNtnByQMMkiIjbRRNvtoUzVvJbGZIajbAWwlBQhZYkflysvRikGSRYVvqyEYArFeDrMKXTNCaUZWGvZlHjalvoqDOpUhl", "fjpvKGsGrRaNqwYjubHtsKVFhGIVPUDzuBFrmguMdvKZtwLBphHClsxNHWjWKBllMwGsWVLSfLLrKdVBkChJouCEmcLywwwLokExNGAxXPEvFWCAjMlQHXNQMCbMQlNfWGBefYLfYxrxMEHJaUSxtjrBNVHvwbOTEsqshuraWTOwKLcfojRhXYjfhHCmJsdDglEcPImYozQRfOigdVSrqQGYAOSiPzeKwVfalXuvWxCADoMQajgGQUJSbGAIXgBamvaMfvwRQyMgRsNBDBcLqmjuCeLJnsJFDwDezEPDBnUWRJepeYpNSUeTeTGIjthxXYyndzeJKUvifzNRvNburGIKGcpLoEOwNotMthlPfkzVDwoUVdRkjLCaoHabLJHjAGjnXCqFlHeubFylmwScSvCOnPHVFappuJGfzjzWFisAqFLBJEujexKxxWLRvFPLrOjaYgxhhiZMXmfkBWjxfaEhHjPGmVShTvdzLHlGhgoideRBxGVIaxipWnjxNWnY", "PnUdPiujHLCgmfnIcxnQnarsXRkmqPUFqgVkkdjzWdGPsmQclxltiqhMAypHqSTuOOLyKaYstTOzesiOJmcPYGZPpQAQeNCEZsvtGgPgsHuSewUOTcfKwwxSnpLYNgSbyiapibjLjBFxblBhVjPRrBtgMyxMUmFHCYDySxSQnJLaAoydtMooXbXQdxPTmDvAQXSWikCmqyTEsUGsPghiRecyTmHdHnwlgekxliQksYkJlwyCcIZANfqwOhVFHtjzZEtORnYrYvPyuRzmthbaTungwTmgshFxPgjapywZMmxCZiEpQQOkwtxAwqZwMucAKXkKaicVuBDupaECcRMdawrnHHBlqhqiKKHXtVZFvEByyYnlwvqRCGvRUmeNUcbVRRLFdrSYbSxmEFtxZcQSuANGCyliadEaoRJoCORujelGRPDfcZpQbsuczvJhQXtHyxMPTlhyvifixFoGMTRlNgiNQxtvkPeMHEuFKYXCfkqQofxMHpcEvlpQkCApgynn", "qHlEFOIbEUIcMmkHorvYoCNEopCZHffBiFYorMFSeZWAXGKYgRwyoqFBOTwHgvcwSopPwqWUaWHcemlPzOMEXaHReltzRJZUrPGzAJObbZXMwShMeOtRQnBTmqtiFylBQuomGILDmIslKPrEJhxjuLSrRmwqOtQIXdPWJHeDXEtzBhkCWTOXzPCKtOBcPeNilClgEJztmleXtFJmkyKLYNOgKWuAbjTVCojTptQxJyloqfHMrcjCRwYWmORDOwbINZzwafrTaYqqXReByypkqyuXGKgrKNeCeaymTepBtcHSysZPuuVGhSptEneZvRgEIsQjQrJRKNYNhYQbFaqOqJcVBGvKRHQhwQdGNKYwJAfDBUWVouOOvTCnXoeYkGYnqOOlAXYntaXhGTsDnKPnGjwnNoJoOvYLNYYOlrBoLXYDehJqPcGncvAFVQEgiyoWmIdEWMwwRPzPHJIehUdgxwJZKvMDMzsZwgQGzmKftRKZtNZYUSTVywfQWvgJvTne", "YheKPeqjpmJeqyUZpzlILKYFliLqjTZTjCSZnkgpxIZrrWHvrhHHCupwYvoWLtyOsoZvlpBEJhlYdAOSMzDDvObWCCYbycuLxPmqmgWiLeVzelKzpZzSvJmdMvqkKtVBZfSWjOwkbbfnVqgLZLrIOosUIkCgMptYnXgJkVUvmkoqCLEwfSNusBNXpkxUgXsOCIaAdRQuURYyVFhPJiqBjCAejbWZsyQYNiGHyqItFJmNQVoBeCKmUskeTQlHyKaKNyzQGGtlnmvBeIVtlWRmbzAEwcgmnOFdUxhMrdvMGgHhJwQwSKirOpfJFnnxYWJhVCeXiTBcpuEJTpBmfoNrcElCQtJENoQVxbeHyhbfCeKjzwggcgbmhNcvlmQTuFMiMfeEsWiHTXHURoihhAbqCMUbIfPewWnlRFuvgStuapUxhLOdlscEhkYrzoxKsHQhLUfgyBxAinGqUvkFpjbEVtDKGrbCrZFvHNJVACsbJXtAlzUkigBpAaYlNiebNYOm", "ltzXNsxIkhbfDrIWPyuqTvIkezoGPmYPNnJDkerZqiYeozQFfhNvImjqzPNupdzcNMyElbrgnTOJrtrSLjYBHfFobfUvEcbljLSzwPWWpuIUXaGPiRjIGsipztesvSUmvkuoLCjjBOqlehIgHLHpfbOHsJkshMaVnOpIAhFpysdUXccCgrsGKLicqbMhUiHjlkTgCjvMGvnqCijszUZsMBSxKtfQJvHGIdTkYcvYJmWoNuZpRASfKYCFQKkyhfIKfeXweAkIWZsFMFELSgQfGdwFTnRgzMqYkreqFpOAjyrvjDpcoeWHvjKwSjeNVLoCLpTeRjQwtiDreZrJYutMEGepwraDczzEYYSHFydZdLAtBKNImZSJiXskmVbbuNvTlLuMMWIHHkRNoUhuqNUqfNexeKiFGMVetzemrqPiCvRAOSKZNdKvlJxxvXPMKZPXgbBpGcgFovAriHGntgjQaZVQKmLciIVBnrBHsnZFBCHcHHILgsMtnGrgtPqbmZSU", "TLzecsSmkFnsTboEInyEBtlFhwyxaEbboXGzVaKdgKZjGtDhGdbrEobuwoOUGUJvVWjsbPlHXlMuTgvzDANmrnPeYdrCuTICMPVXyjLnQWnFhVwbTYxkXIAhrWFGUeRUlIezBMTkuRMAIZvlqXYpzggHvjUCTtOssaqzXXOqRHJlroDIvvPdjXWZhFeGkfNoKNATzOxFPVlRQdBQdofrVZvIGcwNsKCGvNlmWtuSWWyzuXXXhRJFDmhLbbsvmrluJRFqTSPJcOYFwOpqPUsfckDdeAeyFyBUciUVvssPxpEGOqHsDxLDHVNHAYGjptuuYubYwwxBWRzWkpUEiGuLWkCgLrMkNCUIoiZLIiObQcwWaBPSddnpJyytIaTdiffJPMnarRfKaWxoEjkQKDfmUyRJWqyHOJFqeyBRcoxWzWvEBGMyGzhawYQLqXbnqxBujZvIqfnKTUpMInBueMxuCJnQWVKAaFpdjlkPJJjBENygCthgzAjPsLeAfsddQoFI", "VynKdpTnYlOeRPVeBgRCCQVqyKtGPNHzHIDpRlFQBVMBxMQqzlPoCAPkyQcYqeTWnoQgBACyFfIMDkSXCSKFdJKEwZHnYdKYxcKtexWTmJuXqjQEPEUQfizKlWMghyzzRHrQLzcTkOACAshJPDGJpdTRaAkXrxbAOEeoMjDVzdEEQlRRcOyUwDZRlTgzRFlxWoFhoCSCdYMPtHjijRPmEOBqhAnElzkZNGWnLRnFHltiHxSBwyVOlCDBSpHCNeijGccKXkRCbUKSQnMvSJcSBfEyoioblFaNWpaynCmPQfpZphMJAOIYAxzyMdPKHJDtErWYriTTHXXRurRyYzadHdZQLaafmZdItDRdRcqGSaVioayMJwfUCgzrsktGtDxmefJtEWHvGdVUzGlrMfKLejLkRPWAkjZFVNHcfWQiznkfcCaYVWTLyfoyiWpjBXlpuZpdUMeZSHAhEfmVoydEIIlXfjOVVPOPUBKPcdvJUIXJoSEtUzVAhljMMJXtFhVo", "JWvDbWbjzmYSJlRDBIHeUKmWKEDnVhyDNbdVJWeUiCERyOWZBVFFwJrCXwiVOkYXDiConUlFgTUIbgNszaVdfsFXUylqLiSJucliPIyYXLGXSNXLiaxaUFDeUbQWUpGOixlVbbpLFKQFKjsIetjHGXFdLQBcPwdOHCkGcKQzPLPgagqAhsoxFYhxpMINyBnLqAVogWXAWXNqLjkBLKcULMomjbqITuCiYBOmnonXGPweVgrrUNOMEXdBCXioYixaDzvIRXtbSGjVYJtAsWsCnUFTVnZGQkqUzOwotepVglIiFLhSWxBYhCMlPzkfjkGVfowFGstWTADQCRrZyReSgEVUcOoacsPtmpeXrlxiAuCiXoydCHmQOiSodxxPwoETepyBAojmxxlTruPYVOpiaQTnGvqthnwzKwKmemhGwWAmjerXYwoJspPItWMcpuRyITPxmjvcdtpSMfqaDLEAWoIwAokomVykWjvKLmfWxSmmQzidCXlnFNCZhUIMlBor", "KXebkNVOzzYcBhVXAduBMrwJMGDPZroqzVestDqtrnadmvIHvSorvJTghmcKPTogFtGNsYDDrSJAqZnNJzTOWgYqTMYxsInZCDfJTVNguQopNbbKyxjOInitGbnQLgjcDnssiHzgTOZGqVGgEuplRsmeiUtYDbAIXNocraqLPcKBIMiFXlDtuMOnHLylWzpAAJHTmxTmvpKGjNkMKaPBlSVTEqAgCLaOEoEFTxTUhRwZzxfUrgNnVvVFuAUwksPNiAVXiZxvsQSdbOLgIJawetGZmOuDEkaexyDxuetRDfryfEopzAUaFVorsgUKIJVxwIVWgkIoOVECfEHIDuBAHxdTllNHuOURuQpCvhgXDshxvNdMZXijvurZBahmObEXsHORSdJyRvFmTsKTxPFItwuVPZONPJoIdRbAqgbOTuURxbdsKdFutOVbTDZMTPFolrLpsnvXeDpbMlYCzHpnHaTQfuiewLNPoUxiUqLnEcEOpvYDZhwnvofkyXAYrAgD", "qjmuqwwpIQJHTaEQgdDcInUbEWqrMosXXCEUwNfeXawMiZZMcaTxvlBlnPGXjxHnYSDhebUnfLwrpXGlYrbhYCytccwSdOHSVIoqmzCvBhLMFTrJXcwxkgAxGtZTPFUSizNQSfwBCTlyOUetgNsJfszZnBTJMQjEAPjAmOMPUTUUFqBhSggqMaxQICZmoRIMSUfsDQNoomNzFQgueDfStBXwGjwbKexZrALWadmmfaHvuKOXDKPcFsYtxmKfkDJbyPXKGRIEXkvwKHorTZwAqBpIfAnaDTuXZWUydzgSCpcSaIlsafCupTEHuqRlQPQqmivmKknColLpiFAafTgxczeecmWkmSMmerefkmdHJxeeZmBPWqjWDpKeDXhYvHBmzqkfaWGNMwEWipdwGIxIaQFfyWWnyFNawoOohhkZsYisFbHhEoYJCVmleUevbFJoaZdcmKgAjrLbjSLQQVIRvgdptWLuwRVrCAemclvQegUSXXtsQkhJstFBPwkEmpZY", "MnFfnaEbejWeVQTFJxOLbOZuSGKPUlkkFcNIfUuaRCagesJeNEtPyOxyduZPilwnalWnpLALAlpDTaNMHnFMhCmMntVosNXNoJqCikTYtAwDhBQtNxpUuoUHVHJYqVmyRqPEqVQBsnkArcVudowubnhIAFubJhMulKWtrkAvFunqMpnJEsuflddjlCduyEEXrCyeOGbjSBgHvSdZZakXLWplMryIyniAjpuCFbKIMDpnHccDeJMAjbwbNieeTyMXonRJHYdOlNOXFeqsGceNyMmTfZdQJtGOWpTcZCieTtUmFdSOzeyFWhOkIXdvoAEVNADZQHaViKIZCQIMIExTTnBjjlsVdePdugrdqHjLQeGqaitBSdurIVKXcrLHyHvElesxNRtSflBnmqyPwPQwGuZzWUeoPgekwgUeecVuLnzxaTmIJlQfHgnyDVlNLsZtSXkcRemqqnTLmTLLgseWHHitTKxrYpZcHuMpVdkyZADcObCzzxkWLZIJtkAIjcXw", "mfsVKQfGUmzmfSEsxEPcOHOuZjefxXqAxxufFbymwGHvfwxgcJdKhMYxEeDsddmpEOpkQGFufeBsikwTEpSDdRqJACXLGhoaqdICeeqylmTQJYLdrdXcLAtfgbpyLHELLXVlUuukrqLvvKOPQdsJgIQkLTDCmJintqnHUluAyoPHxqBDsxgvxYCCLWahiCxOexVsqMmBhGBUJLNqZvNcgBTllaaoBvSupdieLdmHupcfxkBMFdyZCIEMOjXFNUNRdXPJCRcmjyfzZWgmtdvSdPWCgEhSWivRatCaeSWbwQRgoQjwqsaPCaYQVVhAZoyoPcKaHqRjQFDxgSmQrLOQDSVfxwyfZgFLGnKDlFNBShaxvtGxRDgrTQaoChvAggbhgEbcNypqYZIFsOaLIbHrvyPetGTpHqDBVJoxdfvgnfDeNqyVREzFlathgmWuDiFnBMvPCyockvXlZpyImmRINIbTPvQZcLIqoMoNanzGrkoorsooHiWtEfqtgjDJfXxW", "bVZDRFnnDotafyNrGkvDqJjbPgavkzuwaufBflMxdRrmhtKKfrsqjVUpygLwvlJfDqOSHzMFJtSxRReTMXkZsBpBboMwbKSDnSKiNHuXnESCBbpInsLCQQrRmNOgQRzfcKrSJrOWcPtnXqvLwLavHJUbSeJSjLUIqyaMbDdVLVSjvWVpFYqhATKCxZjGIpkRhwzoqtDxMYIbvoxNWMZPgCpZqcJWCWDMQnybqQbMPqaJuxvPKTDvLlVGLJsNcBEbtKjjLbWtfUkgNjIIuheEOWnkjkCnGoxdJGbVoAcvObaglMnQiUCEsqUigJuBWNLVOtkeMZjLocsfEXbmaWBZjhjGfXTnMXwPhnDHMpHrzotrcLhSkyjqaPvjjfBaAMNPCFSmrIoLRnoPKURFqiIFrrxayXZDymInaFhDWKKnzRhKVAHJwUeYbrMbOevhVsqrWMNWhUbKmNgYuQdGqFZGBaMwcxfRkYzpFzcDjejDLSTSvDSRvqgfOQqEbqOTjJPQ", "mbPQnbtCSFlJwDKHiHegCpuhXwMcQtTLGZCOuuZOzGvkVnhNCuCAwWFBIcqMOuDYqaeWYAGkHrpzERmzsvvZpaXAlIueuwmlLGUbUZKaopStvmVivEJrosPZUKFEzNAlyFZkfRxjXPTCWXYbwAqYaNGLLFRMUSfsSagTOqanQeMGSPYeDxBPTsdpJcKtdXvzvpUtEKfcHBZMLCBPIjWzgNUCIGiRbStaJiOjOTqcBwDXGmOfNdZgzsKDtckdPZaCKKuJMrjTJjAPkjeTzSDAmIOVnQVizXAVIyWpYGMCZXrrnbVXekNQyyHbEwYAgEWXkSPUxKtEduuzYvLjTuEkvHeikwRdoVWpsTUIZeDztsxRDVzfBrPXvGxiMfCguopBvQbKjbHQKwYRwCJdVyuLytYZgZgPQvMpAwLaVoNcLNpRogTIgqGppOCXDeCrLfQWtQglnzgQaLbbBNwLjXsrDInxohTnGIKCOIcsjSgpiTJdlPScGwxEWtvWCkyBQgrY", "CXUJOsLEUMmapvFGtiIrboOgDEbhyLOGKqujkYFtjRneivaQFdsGilBcvTjOWTVsbVcchNykkHrUxFvtZULGzljNALmkiIbSEGJcwkPeZkLwWgsaIhsTCzMZTAWrgYuhHdMclzSKxHXwhLhQRnIyNUmJWvlownbSGPIebgoJVOvkbBInjpcuTUtUvLBvuBwuKXtDFcxbNJlVePtRhmyzsmjGUrhwxKoqKxmHgBScBccnwqZkknfycSVnJHRVmTXnRItLGDyLRJZaetYYXHUFreZNSbCldRPOviYjFqwKKKXQCeEtmHdWGDQDIXZsZcJccXnTNIZErsdYLAmNMBjRJfHdXupIMetQgYxEdBmoRcWKLTGuKWQdcqXNzSgUYslDQWBXGAVgVQgFDPadtSScUMHeVfDAJcxoBZmamKprfDQOQgKxjteOQuuxVgZfjJovashhxHLQYzaGMGLnmRkUvjWxBgffWVYMAspUlqIBgYSzDJfzoakkzxoJuOVSJogA", "vlCJsFudbzktehepcCkgaujmlSapTGcxNRmVPqjYLmjRMilnWKydyRSILsWISsCtUgEjpaOnkrcqlvaINkTELsxJpioMGgfwgaBrGzCKOYtYIYwUzUHSGLwSuLIMzNYHAeDXjyefMztSJaXSoqrfeRgikDvMfzaZIlbkFXzRzDhrGKUSSBlwAtwdgFtgUPTsIyLvEGvovrJQCyritVKsBeauhKdtKtowWBObaWYUgPEJUwqMGisNdFseukYwIRVVADJNAWuOWCNnrxABPimeqUuIkliiYQgPkyGBbHxdPYdPYLPVIXKqVIZvprdqcOjXuMfVfnWKgPCUkFAxQpTKyUaTakjsJYPqvNOpSaBEeXnSiEzhiqrOujcsMmyXgkshWQVrcGhwJNRcxXtZEhBqrOzNonivubJlqlEyZMKnCBvwFMstRuBlkCsRjaRxpseYxJQLIXrtbyKAyIWWJHMGPKwnBoSQAWenkTDITVATkJguzNJwyLoyODRVskjtMmvz"],"c_map_bigint":{"c_map_bigint_1":-2894229299489436874, "c_map_bigint_2":-6883674870478185789, "c_map_bigint_3":-3903213575760171678, "c_map_bigint_4":1988585515806173583, "c_map_bigint_5":8815493772689998963, "c_map_bigint_6":-5339818255211542106, "c_map_bigint_7":979891536723532641, "c_map_bigint_8":-1291755544250860960, "c_map_bigint_9":-3647378737336078828, "c_map_bigint_10":-3694200592099013434},"c_int":1950185157,"c_array_bigint":[-4493261991825186248, 4523731577815294870, 6607975301706904985, -7075156667296403793, -422426267612318796, -4643650827020992427, 3221196847663702658, -7125284172839125965, -821305955914203717, 2140380760823504238, -276896628079741964, 2412989219097657745, 1151222747133545573, -5281624554624657266, 8240562732421012217, -630317401578343308, 4947237786090783049, -4244343343240337743, -3767323869444545469, 8134377280801024943, 4624966082828399656, -1943667829660525741, -6119057628471762531, 8766440612885098877, -6952476408787799832],"c_array_datetime":["2016-02-23 23:56:48", "2012-08-03 16:26:45", "2008-06-27 21:53:15", "2017-04-07 20:07:01", "2001-07-28 09:10:03", "2014-08-04 17:37:03", "2007-11-19 02:19:51", "2010-09-14 19:00:40", "2017-01-17 13:52:05", "2009-01-17 07:50:52", "2010-12-10 00:50:18", "2010-01-23 03:25:20", "2006-07-28 14:45:05", "2015-04-03 01:11:08", "2014-10-06 18:30:34", "2012-11-28 15:17:12", "2012-09-14 01:49:50", "2002-04-18 07:19:39", "2000-12-22 04:43:19", "2002-01-04 15:52:25", "2006-04-17 13:06:02", "2014-09-16 06:56:49", "2000-05-02 16:57:18", "2015-01-02 11:00:18", "2000-04-07 07:00:55"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":1257, "c_map_smallint_2":26910, "c_map_smallint_3":-26719, "c_map_smallint_4":14550, "c_map_smallint_5":-21323, "c_map_smallint_6":28782, "c_map_smallint_7":29745, "c_map_smallint_8":-6728, "c_map_smallint_9":17078, "c_map_smallint_10":8180},"c_map_largeint":{"c_map_largeint_1":-4800358163286982884, "c_map_largeint_2":-2881921417056704679, "c_map_largeint_3":2566413484676931949, "c_map_largeint_4":-8563297340239435666, "c_map_largeint_5":-8548173902124926096, "c_map_largeint_6":-2387652995975316999, "c_map_largeint_7":-5648441651210985467, "c_map_largeint_8":2284514619221892322, "c_map_largeint_9":-5678277619077033220, "c_map_largeint_10":3334716300894311870},"c_map_char":{"c_map_char_1":"cYQyZcHXyw", "c_map_char_2":"zEATGRDMdV", "c_map_char_3":"nnomZBXYPH", "c_map_char_4":"rtvODHQWxt", "c_map_char_5":"YJEoWFPAAm", "c_map_char_6":"mKmnGCBtse", "c_map_char_7":"JCHTbFFsTP", "c_map_char_8":"scMyNIcuZy", "c_map_char_9":"pBgmCVOJDr", "c_map_char_10":"JPyPbPyDDd"},"c_map_varchar":{"c_map_varchar_1":"romflloWIcLabQuqFgBWMEHuUmGFifHYWmTPcCHqcuLfmybPzfUiCtwPFDVGcLvHRYbMfQnmCRLknRPukWCspNNGlCrUWlsNOdNvkEeLADljNalHcfTDQBUbksXCUQAGQEnGDvpKHsqVvLPpyyDmBKGqsGFLcBIPqYNwwVkWJJcSUCPqJigxllcUFVfPeeBXikaJRQVYYeCzsdeXxmDuESrzrIqHfTHyKuAxzGjzqeXKczApkRXzPFmFhYPTIDAt", "c_map_varchar_2":"RSSEOsUBUKKoJXNpZFQIeQPSxiruhCknpsCiOmuFtRomTzwDiLVToRPasuskHYGcOpxDCRApYMZTNGgYYOueReChiBtAXCLqplbgyOUFGtZNhDuxkbeKIwdQmhVlIQCBoIjClDQVfZcsrOKAWaFfzhhPBDyAdZEfshuqVLWnihwPTDbsiBFfjFGmshmHYJYFvaIVXXaklVZIQxDbVrWysmvKvKLYvLVAMhAFwPgUVjrZdnBfctcrAIkgjGaOzuiS", "c_map_varchar_3":"fkDbxPotOvmQbwLlwiKMFmfOHJfWQFBSKFhOfgFpHpKbsaBPNXrfIJFAVjQGZUJpQUqpwXQLlAcdIHBhaDgZetuDxakkhcEnnCxawluUyCmtscWzAtLnnsHSFdFaiFkJBjLStENbMFiPgkkFCvUEHPScvCUxqDnMjDkceZAIvbnBEEmWWNTpxPaHRmkWEWJhETYawIbZiCXwcNnEJYSchgiyDglhkuVfqcwtIxFpwCaiJQBwVzBZgXJUbHJOpKkh", "c_map_varchar_4":"ZgqSITYbkhgjHuLKETSJUFlFSZWBHxGcPFBCehzFRcoCpZOFQAJCpmGRebogbHcYpGxuOydmQTMsToATwGgATFWviyuFPorJaBKUIyMCAOAEVsVfhlGOUpULblASywRcCAxnZloFxrTvqQakpboriRNPQTlxbXJvNNvGfnlSiqNbKlRtVXXZEaiJoLeshSXjbAXHMxKCFcHuBJseadAQTfOOIkBxbJnyaxAoTrXTJfzTpSoLxGTbHSLmYCpWvhWF", "c_map_varchar_5":"uZkzuQIuQFVbZiXORfvsbmHkpmWUXDTostIJGqZvXdneJfPhSkYYSjbesHtRJkQZjxtngFUeITACPUcqrDeyvHlswMqtUIEtVUHfjGDQUWezULDiQrDodfoboXOzFIXWVefwkquMzYrLPYWWFnoGXbPfqjTefBQIsogEmIpKZAmtqbvFwEQNCGgWXVSEKhflftHLCZJKhvdRwXQJFHDOlzijGJhHUlnztOWOaxisChTjUlAYrAGOABxDXemyWDYO", "c_map_varchar_6":"ZNcjWQBtdtbjKWcqBzVEeYACnVpkFECMugvsEISaUqcEBQINHLyawOwBLzGArHEJijKkKLxEFaovWopDlPFRhiPhzHrFjEanLrtVozzZKZBCjURNoJEJZiQPYAFuqjWtutOSqzxkwFQOjpWqVsNmrzOccqzKzooOirujuNLrhiuBOiziArUmrafKwVZrNbbQRUApvfqrbKrNbxWcjLyaSiCePJZOoytQBBebTOVMxbeSvfhNXjGoVuwxbPLBGzfA", "c_map_varchar_7":"lYueWQFUiLLXHnLPdEcUMtqGXkyZMPGrCEleTTrQzHLtpGfSvVdVAbNgFKtolDaVwagKZHdbHhIMQiNyBGPUELAqczJDaLprnRJHSlgkNSWxPJtyNPAGHEqyJRDWulwwhweQEajESNCEiOxzOJAIhKuaGhUlskjlysRjJXOtTcGwFUIXGqamHxPztExAsPShrOqNWHeuBICqLYmWQBcOSaaVeUGdHyPWEfDFDEnDtsMhPDAQYFKfZMMDvwuNtOWN", "c_map_varchar_8":"NjkzxOlsHzecXplZaeLdiUoUQqrLElPJFzJelARNOvsSlYidnycIxLAcYWeqxQeOUOeyXCkyuqgRFcehjOfvhFMDafZKCwVrtEzElzteCRwGDrMEMhXBqtkNBYmIhXWbAuDKkmgZvfDTzhdoGlWSfHPYnlXiUtGQICnAUeldqVCiaogOhelfOlzXNEKWFkLxCkHkyVwoyNWrjsFeTtRCUFcQSiLTygiPpEEITTwaJWLJZtGWJsyPMsABCAHfhHrH", "c_map_varchar_9":"XIuHNWRvKzXlzHzETPHIogQAPdKLZdCLWTidFJnQwDoEVGDvDaSnzXUqiBhYcXCMIrgUJxiclUjccaXWGapnTAhFFFytmzpqUiiRiPsQWbhGjKhHJjEQkeSDosTLOIIeYomSUKPlvNewUYtPUkzgcXiDPSHmmAZxFjzUYGTrwRllezbNOUGxtGtjATOppGztZlYFXRWugrEePQkoFUbhhhRIeuCuKXCwrDMlgILzlebBCdISvEXhEnEPzPDzQHdI", "c_map_varchar_10":"soKePIydyXgjfTvChmrtkIRbwXfFIFBuugJigkmCwXZKhrmIKjAQwXGPzZHGbIOuXYZOHSJfXepkUinypnSOOYOBMHPXsNCfQJZRIhIgaujexjJZAyKGDFAuxTARoyNwXmdbDoNjeibINOBJJOZymnCQZAasNoPfsGOshdqORskRtnOSZPIrywceNshJiBmpPIwdrRlbOblqXEXtBFpOUftVcwqREFHXXFxMlBZJnqyvbdlXXgYmomLcRfdYFHcv"},"c_map_ipv4":{"c_map_ipv4_1":"128.104.33.26", "c_map_ipv4_2":"96.46.238.166", "c_map_ipv4_3":"243.246.186.253", "c_map_ipv4_4":"186.187.129.25", "c_map_ipv4_5":"236.122.162.189", "c_map_ipv4_6":"127.169.253.42", "c_map_ipv4_7":"114.239.102.33", "c_map_ipv4_8":"203.143.42.122", "c_map_ipv4_9":"169.145.201.3", "c_map_ipv4_10":"192.169.217.226"},"c_tinyint":88,"c_varchar":"how","c_array_boolean":[1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0],"c_array_ipv6":["FiyrOgzsdD", "YbQcGPCdyq", "PcLRXBxtVs", "XEmWkywWgX", "LJjQqbwNAL", "ZpvXexsfzL", "EAbyjXsiwE", "vTTDashaKO", "KNnKzCzFHO", "QoigGIwaCD", "dztwQxElxo", "fdJDhWmEzc", "xGROqFtcKQ", "yFdZJJckLE", "WEgRHlNZjD", "HvyWLaMGzn", "nrhyzwfkiM", "fAzDSpDXsr", "qEiaJNZnbh", "qxVwAAMiwE", "nQclHDgWFf", "XUPtRdCPRe", "MAUGClJfIw", "PAlWJlpJTa", "WTfmndPzPN"],"c_map_decimal":{"c_map_decimal_1":99.1226, "c_map_decimal_2":7.0695, "c_map_decimal_3":46.0311, "c_map_decimal_4":19.0346, "c_map_decimal_5":51.1524, "c_map_decimal_6":54.1058, "c_map_decimal_7":27.1497, "c_map_decimal_8":57.1017, "c_map_decimal_9":92.0515, "c_map_decimal_10":43.1728},"c_map_float":{"c_map_float_1":73.46521, "c_map_float_2":22.769886, "c_map_float_3":91.13168, "c_map_float_4":81.96564, "c_map_float_5":80.07213, "c_map_float_6":59.928165, "c_map_float_7":69.381485, "c_map_float_8":65.350655, "c_map_float_9":54.370716, "c_map_float_10":63.316887},"c_map_ipv6":{"c_map_ipv6_1":"4193:fb39:8698:a6e8:7339:34c3:10ab:7118", "c_map_ipv6_2":"59bf:273c:ac:a7d:a6f7:34ca:d6cd:ec2c", "c_map_ipv6_3":"391a:372c:c04a:9e0f:4028:f6fd:9a41:1bb9", "c_map_ipv6_4":"bbda:aed5:72b8:336:43a3:c16c:2fde:408e", "c_map_ipv6_5":"b351:e08b:af06:1efd:d791:b3bd:1239:1793", "c_map_ipv6_6":"8b4b:28ea:8f12:4580:a998:aa21:cc65:320", "c_map_ipv6_7":"47be:da63:6624:eaaa:8e4e:9a86:b630:f9bd", "c_map_ipv6_8":"8a7a:9bce:a501:17f0:ae09:72d5:2331:47de", "c_map_ipv6_9":"a310:5628:f12f:7d68:cfb0:1e:e6c9:9117", "c_map_ipv6_10":"4f95:9b12:c23:a599:741:9e16:9fbe:1be6"},"c_date":"2012-05-10","c_array_largeint":[-8051739999832030639, -4256756219446189108, -5023480006799800328, 4212572876944373659, -2168233626823108982, 2474148322243020807, 2746412558380517237, 3589055680960625049, -5261866258437389040, -2893270412624453527, 6935674913158499311, -9001115896813501700, 5839596271418184880, 5075665780347441107, -8764681664694266453, -7837493021463823230, 5821600593056619384, -6121620724157635013, -743732110395920934, -7895357451008847888, -5620845413510294529, 5252990088676551129, -5470652620115115876, -3389263522666614426, -3386108656888020213],"c_map_int":{"c_map_int_1":-404970195, "c_map_int_2":637462828, "c_map_int_3":296178816, "c_map_int_4":-1982991586, "c_map_int_5":744022770, "c_map_int_6":325102274, "c_map_int_7":-748383398, "c_map_int_8":2089533884, "c_map_int_9":-1366984576, "c_map_int_10":-1435152002},"c_map_string":{"c_map_string_1":"snHDquvLiILBykIhtudZXxLjeXOXktXjanlRIDXcSXgkvrtydVSgBVtgdovTzqinTarRfEkWItsWTGQaVTRbtAMiZYagWPoPRcIswPctgVYuzgBMCKcQVbaMvmdPtVLyjUVTTEfJspRHbRcIegeBnYkelluJnDxHbmtDnpGWNllHDIoYUumGDtukCkTJltaGhoKTJeeTHGBGECBismoxNiYsBClOVhEkiOqTuvDwniqagOIfGASYQAVoBPoFDFlcyroRTdOGWfPocwgTqrLOUhoSHGHBJgxFPsrAIVHkJSMpAWQQEsSSJrITIPniFeepWCCEDxZdksUUqRrwVICdHrAzWFlBQRKZMOwjjjGhksnhftcoXjHmtkmXdsXwkSIBOSUlVPmXgEUNzVOzBUVQDcpFBSxEBFamtqeMexDJuKxymIrJFyVSsPCuqPIQfGqoqYxMaOIXSDrVTCrPcQAMTbHxtwUYgLXBRTFlugPqXuXzMGoOyVYpNZgCceHgvTQp", "c_map_string_2":"IyAHUrjLPFSycbqAyaKdqprRXzOEhurKyVmRfSTwWuxBwPWKKXIkIkTEcYabrkjgrkKqhQNLiehWvFhzaHjLnMwbSpSaxboYaPbhBqQebTrRNJMPsjTlrUxrHwDlxLpzAyFyaMHDXPPZbtEiEDSqQPXqgBJohUnYsAgirpUBwKkYaSxLRdqJxVTTigsXOtoIvzTSzTSNnDgYzWLUbyqwIBVxMyGUekBUTgCJAevbHpBosOYbOyrfufTcgOwGDezHSAWTwIKuGPCBjzrtyikafhDyMSzvCGauVOaXWCTSudrYkKSyZERFGcXSFzCzjMBBGhAivoXkNoEozymzfWnjAUmTGckFwtSefecksiavdJQGxxSOjCaSNKrqjKsdzgXlzJIxvqvYIpbomuTXNjgKSdVaFRWnkhfgsIDwJAEioIruarYbrsgUVSAoEKuMeYZzmbIvmqLTEQyjfcMpaKlmjaIgllyTnKaHqtxrcmYVulgwSwwCbktZIZnWhLgcLtcv", "c_map_string_3":"eJFTRLscmmPugWUMOrTWCodnFFHTNTLffRZaXWIyZfaVjfOAXTzSvybkHSxoUktkLHemfChCKrekQhztcZqLqTBeCYAgYuUUeNPcfNSBCINjmYtReCzFPARZaOMQzqEfvfIdfZARSdFYasYaYdTWMmBvjPoUPQnoiHXiUhGpzfbPGtJMkoDTFcEuiOzbZRByDzbUXUYhstzJFyxfxuOIYnLFgdEKxxxeovcNDaRWmQYEIctCudrDUmxlOgVqLpsSkoMOLdIhvoqzawmejYWicTgJCMeYCllYKqjXrQKNwqqnbMdrWmXmHOmNgvQmBSfCSyLBizeFiiKpdRYGLuACphMEteOSZXiqQwbJnbGbNxpjpsWupKWfeoYycAOWampRceGODbgAhXjKfjiIZlxDyneZYtIECZGAdoeLmxCIGLQJQKmxGzVDoEfgiSeMSiOLfTYAupobIdwiPxOrZcXYKFgWCgqBVONezSRVuaLUtVWkaPffhXpiDscHxsRoaEZN", "c_map_string_4":"XCayxrmKHXAXcBCnVkfmLGSwTzQPBvfNWGmmpYxFJgEzDhoQjVECwrxyssiNlNFVJWXPMxNZBUiwCJmMYYKUQTOQAQHXqXTCuivIjNkaHTqEdgcAbZgynfIfHvqmqWIFMQcXWTyUOCDdhmkYDwPhXSeJPHQqGexdGWxaATOoYPjvGUrMGfTqYlfBNCsQTGaCHlIqRzwEGLmrZBmnCtViriOLjrUvUZlirezNVCEdbDGBlbPNemHtVdOYMTRTOijIWzIvhGRFFaZAYgegfCwfMUmXVMNWVYtDpFYXehFOZhHZThTDohLzglrMUNUWqPVFBUEdfHLClOBnaQkmVgSpRBVqAkvFKoOCmLhwdkbsjFDbtPZgPtftixKjqLcennjVFAUNwvnPdjBziiLOthToFBluRcuRXLTGFEAYuFjqqsibKUnqyLGFgyoDUBIBCAzsPgNRQxaNfGoNqpyRfpGiRkSZIOrETUQicglRAcWNjPZvLedRYWHrDZkXCkKxTyJI", "c_map_string_5":"NfKjLFMpfEpuXBRYRIwUeXFHbYthkVNqXsxYPYgNJcYilpmcjLSXQXGUsCCpCaEHfmcjRzxjsaJVfJDMOOvULkzEQFHwsNqBGEFqWNlwkCGWZQckQtTgIAKRrnTSQkqfWtHuCkychGMfXYwZutvJKUsKuRerRxXIdJPcqKqgsaypjUggTbBcovatHVWYPZXqwempWcRyVZYOlvyNfFMfbFYWNXiBtQumGEHkdKSdNJPMjgeWztjxZSnVhWJsYZCdQVtslGoefjbrKhSVBEGSgEPvzxZGePPrTRZXkpdrKIVVLKcsiGHEYsNGUqHMEWgYbpGJvRYdsLKUWXSifLDlwjJZlPvgFnwlVvoeIsBZUPOYtcueoAzAFzmcwznlqInvugHTKTrGfzfpsiYQmwotglFeWXTxUxlvNMYNWuSagwMuJXOPNspzZHmUQglJmIevqxvaPwoljKJlaCarunCuaFfJsGoMdmwXAAhvfKUMalfzjZJXXlOhvuAONQyGOGgf", "c_map_string_6":"UKmtlCHUmjkHOlRDQQtcyOPTCIRlHsVUuKTLBlMHjMDoQcYZqVrXnhIHznrLJExOaVyHBrzfNISSWUyZCaQbjPRSqiUNkWlDcmOdxaFzlmMwuWgvKVnrHGCityyLKVjIRHBqKPfrAwaEwZgDdgGTwhCcuQtqrXMawyTsEnFhRTruIxFQuqXGQTHKqFKRimNIeMnhtFFmqcpXshDIRnAXBHMvTCAkLRfbUsqhNWvcmtrRwIvCjbxUJfEpSxzDezskfKCKdgsgPtcWTudUKjCcmbnXUNzXaYzmAZxQiTUFSgxdlkdQVXlxEluUngTCHVSSaBFHMaEdkHsTrBFZbiJNjpYenSipNIGZyUqnhEnguHRXjKNtwCgPltzANWjOkbIeTcrWYBoTWfOuShFGCLHWLKyNzEWKgiHvHSGylKNImWuEKjYkYbBYZJObgdZHIJqRGetzwYCDRJsuOUnAWnUtgAFOcOmEFLBycxlJdSpftSJyLYRVDXqasUnKuAPCviRC", "c_map_string_7":"dyJQZuNQMDXZhBgfidoAODxexrJhJbkzpNsEfASOKdLBIoTeAtWinPcWgxzzqQoxxfjxFYRnqEUdvmbSntkAPWbnbAxtzofVMxxjxEudkuSvPmHiTozltUzRPdyBjFhxWwYbIBSBCJFRajNlmNjKlhGzTDUbnPoJRJejngZpfUvDcDeYZmCZOoRlpMxpDCksGkpTVmnpGLGOOYHHbDeXsPjAvFsKCFfkoAaqHQVEQujiaekXDiorNVMXInIQOygAZiHgLCBRZMPGFmPQUqnDJlLQVUxPxNpayaGjQWYNYdnTFIxmniQWFWtXOhxMHeTgiwlOUWSqiLExteeMyzNNPlqDRkudPAXZIckgiTDvouVLIjSEQrCgFhyKCiBSYvasphRozlPBxaphLcewSyHcAleXvSxtzRswOnNfYpmHiOAREjeApfuCYSLXwCVQTPdfSlBizeUeFffaOPyUigRVMIddQBijdmrEGWGqGDSfYssovGUTyYjUbAFfahvjzMkR", "c_map_string_8":"PwXwHMOtYFmVxQjcDevIurPzoYUBmUANWeTKhiiLsyvuNXvDiXgJqTPHiJBQoQtKkUwHYYzRykwGzYwiAWowToEFndzQWaRxkKXYLDOvYEpIfDSFwinZyozhgrhWqLaIjahRyVWjWXTrJQEFMpPIESgiwrIxwoNShVgOtMsdYHXJfkLdoLAvjzllgofStDGxBttygKKXKnnFReaeIgBXzXIOcPlmPVcyBpUJbRXjRKNjGVdmtQQgtSzZpVMKdYReVWHEQtqZLsYffddzfYFoBWTSCjPPSbaWgfeOYrVqFhvdoGBFuroryDhNBCsokgORlbzctYZzVzfCnZvEuzqElTuSiKOyWxfSfMcXWxoDZdnzAAYbwFkSOKepPxsIshKqtSvFBSGjCPJxwFLfPZbxowYXQGaLlDesiLWNxrDqbiZVlLlsIDrZuSkSrvaFmgrCSpqDPbzyrjjZlPcOGLRXQTuQdaTgpoACKFQxwGjeENftznuMKFUFfLhbjVsaYLFi", "c_map_string_9":"cKuSqYtyqOaISJSAMuGrQdGeNsjBTiZLcXSgJwUPeJYBJYPiHuHiUEXMpdsJZUyFHjKbMBisvjBsjjpaXxuQdogbRemzjNEfRszziBKAqXgkxvCBEicerjWsIHBRtHwPHqBInSmUKMZDTuCvnKxMeEQAbGMgPUomtjwhuBPBDJXNJystAglzjYQVgrPGKVMOnaKLWvihebvuvrjSsZptiDTSCBftheJWuAsYsAIXGdbXZkorTJXpWCkIAqFfQhvKzlgRpfKLkmlijXKITovNADMUEfksVbCRKhqmLDIKEGqmYGQobUQRtsmTtDQFJYKVJzavgFZDNfIJEPUipTSyLhniruVYEiawsVXMcRcLDNOAFtgpsBfehBRABYYznnyhmGaUjfBvCgvBgjPboRTdjDYTfVpHhsToCgmCcKQGKYLcHlABwzQGGtftDtvVmSkoTvbCnAlOWggoEVUYeEGrNTtlDPgIVOhgVaRJvNxtGZCsKLCUumVjDumAPYHSMoBK", "c_map_string_10":"SHDwaAzzceSYKxwokFbkaefXrHXscgGpxwzTiocdhzrHAQATTsINyMhCYAhTMmJMmXvKzYxQKUQvfOFAfUabbDLXaTgKQliPpZbkZUnStQGcGmdsAVFEAcXGrMVPaxuOAJwDXvydQUhvFREqokACYZiTpOEvDFHsUKjRAQjNiGLleVAyGIBiALWBjhrgIIrXoGghHmIbQsbLmZwYGJothjxQnTTxdPPRfRvMEoWpANUekhnQfmfHLdodFxWjLIWGvWVDWfiYjdBeGQsNtbaxxCpBPfMsAnpVVvDbmzdhciyObmSBtRnWFwOMhfGPReNvqsueBpNDgufKIWKNzwRnvpqaOsiOiddUvKkHlLAhaoSXjuzoYiiQRWHIknwPFVlyjgHHyeXHlaSPsylYYWDfoIIVlYcDLETNNsBTGFEXNUFNKtDLZfRfurofXeMppBYfhXyURLGqdrNYgZnBMsdBtdqkZNZuxTDgcwdhNBHCxYMLBkIlXltBbhwplzjSmTfN"},"c_map_datetime":{"c_map_datetime_1":"2001-06-02 10:04:16", "c_map_datetime_2":"2019-05-25 15:10:17", "c_map_datetime_3":"2010-06-02 03:09:05", "c_map_datetime_4":"2013-06-17 14:47:30", "c_map_datetime_5":"2012-10-01 04:50:46", "c_map_datetime_6":"2013-10-17 03:39:14", "c_map_datetime_7":"2001-04-05 02:33:11", "c_map_datetime_8":"2007-03-22 16:40:06", "c_map_datetime_9":"2012-10-14 19:11:46", "c_map_datetime_10":"2015-12-01 19:57:14"},"c_bigint":8805272270827671509,"c_array_tinyint":[0, -90, -13, -36, -39, 12, 71, 104, 1, -82, -128, -2, 53, 5, 31, -64, -77, -117, -1, 27, -5, -96, 22, 10, 54],"c_array_int":[-1786610997, 302515486, 1122911889, 1075565367, 281033744, -386645441, 807114248, -369279573, 1355567262, -2048909860, 1223096755, -1255021854, 759531827, -730235483, -220509837, -1916031244, -1202077481, 696834608, 521886357, 883364967, 15820311, 835380889, 1016493048, 56872670, -1793793461],"c_array_varchar":["cglHwcWmbwuKzfaDoeoxZdZpWmqsJgzHCtwvZuNYzfkchmPEwdOaNtuXybsUgLqnSslbOtoiWyfIPswRmeCsGophoNjjWcIPEjPmzguSnrNIcqYtVBadYxHNKZwhFHFGUAiaqnPOYYlVvstCBdfZXxyliXiLfpLGuvQUoVWSZEJUYQlRVjfYpEBBougDiyBdtKYRMxQfGkeClisNDzcBbBjWkALVlbWRQZhoNWDuEbKjHHcEhzhqNkEicRsMfRuo", "BHkgJhyzcSboyYRvkNSKimuryMxKcpeJzphBJnRIyePWfhjGAjQQMbIUUrjEYLjdjygiruFNrgLRliBrKXzIhVsBRwCgTihkQcgTazlechvUhcMDWjEKXfxFxeIFFnCaIOCuEdkCFCOJpeuSQMrtoCtluJnubLOyjsKFTexNSQIRfKnObuEteOMwkAGACJnTswoUynOKmBZMWtpEFLSoYDkcxSDEwHvBJUICWBuygRBxrgsONTCbnbAeKCOoaecL", "KpiHdRvflmqEdJHddyOWSwWKMsfYJNINhJHRKcwLAOMwIGGdStaDThIyQilmUCAdDMnkAkjvOxiVckOjlnvqiRqsRvZuqfgpMvBWPNXIJVSMpsWtlpGOUdAseGmAYUfPLdWcrqWFiOUQiopNwzmIYrDAJyuBrEYGbohrHfgmxTBewVhRllEohBzYqCCKaCEVkxMFMfApKCxAHkEpoYRHnReifsshMxUuLSdRnyEWuEJMPsgxGUuOJXUHjoMVHrud", "sFHIpAHkXvEhhkCYDdXKkzJJvNDqczfXvrcJgdDIwmbwPwixVkUgDpghTbNLJQVqOYVBqTORISXAgPnEVVWDbsSmySiHeinETfHqetgGtsmduxjTPcTgBIRuhueCIpOVJDyPBXeuNKVSYCaUVFIIeFdjUbOKmsQufeDSZYImGNObdzFhtevUyclUoWlPGuDfuauhuXMniLpKPKEaDhsefHWSWpKLixuNpYKHqXxHaSbbViSkupOBzxCWObiDyKOh", "pngYPuMTVowPlAhpRzqcfnZSuBWDkfSZehfqSlQGSAIvnyrKSkOcYeKWmIgAdniDAlfRWauSfKBxlLVenLUsKTnTVqCbhPXRrDzIccGcNoxtVYhDzfhAACtIkQTmXFiwVIxFAgGkQeBvKKiEZmcPdWedNIPkEYzLjgjymjwuKLPbvygrZWtCSBMxZcTITimsZzkohApklwWqGzNyiVVROGfyhfHUNcRPLqzkrifRSDfAqIhWmZnpmVtamdHiGtId", "vrqNtccDjbPDvAqWRkvAdkzgWfryFGSdBKedMSOzZphQPvVLAhOUipuMFEBRXpNYAeaCQnBKEkkYkgWQQPUOfKSYvOwYZanZwUNNmdpWKaqETzBasMcVENLPXDLUfizmnGlCDZCAWwrrQIGSGNfmuLpuORqzEgnRhEmywgTTXqsjBthcekZDxOkoaSpjEdGGMjIxDYhSmztfynQmLKZfyIjKEutoMbeSllIehQclENbOnSVXsnaVcIfdokanBrUr", "gCbjivSAHFqALXICqtLXWXKRTZmisDyFmPCqBuEiyfhsKwMsfbSSfvTIsiElrnAOzBpIGqvkbtzjVEAdonSkOmTOzJuQmUQrWlKDhfadyMGTOgKezlcfFjjMkaHzocrjucjtBhMIcbpvTkKDrDgTyhgMCXKMGnuFQrABXuuwhmXNAMzIPaHzdKvaKHQnlNWzZvxYKXRQMHgekAjuFumMxJtzFMLoFsFBMFVnZvXeGOWvzWBtDCAFxjKqslaDbmwG", "qGMEumFJmzNjzSUuuxcxyRxyEhRtWrBhXckEJyHjvZMXBOGWxEYoZVYyEhrWofkmXOqOdGPvhFLunhUzFHzWGonSJyPblWcqcODfombweCmTyeHAmFuLbavJzffNdPsBfWTMSHyCJukYFeaQGFGjLSKfELLfAYioPaDvyOPIajbcUgoEKnefJJYPdGRBqLIbtPTbBUrIJwbiXbTxbOqKyGIiQmhSulwLHtFVZgoQOSRLkFCWbJvohmRjmRWljPax", "HBMrSdZPDGOvdgqCpcYPaEZWKAwjixSCYgcETRKAbjQaOFsOSKtvDpUHldAOymCmGYdfarpfNplnoNFKSbZHtSFURtnxBHyuOUbNBqqkjNTJWIPslPAlwlOiRSFeoPpYjavBBLxGWHWTZZedjbPulsLLAsFQyoLZEJbGKOHTaFYWsxUThWNLRjLJURNWSIUKJcbPgMeOTHieWjjkBLYGcLqXvRfyeSRUHxxurqzmWTNxeuGdRQgEiCHSeJZFoFlW", "WgAQUNLrjWKxRgkSETspybidwCFimqVteoylrGrqyOvWXndJrxRQIMoTzkTAFuCsftPfHpdxlNeGrSekGVNSsOcwHddgKEJeGwSKOXvRICwXdGlKbntgAuxKAMQBDsXTWILrOaGTptemRSVyQDKjDxAtrLJpczHysVNCVPbdBaslvfkoLMLCNhmMknmxjzvqxFCIcKhZrvvxCsIJsFhPBdInZcjSCuFmKMpISkgMtxqtdTgnCyyAnRYFksWmwpQl", "FEmpzUkHklkbfNRWXjeffwYhwrHCCGSKLAFisaPOggMFhGsYfpixZqkCSuupTqmQgpktHMcfKfSmshhIKUBaXlDVfzPtEwKKPepgJQlUsUebVbROcPecbmXACDGTNYgiPwzYeiiiWshXSHDunYTwdbmNWBiSZHkEXivkDjelJNeQeUdWMIjorwBsfyVVGHyvhRPQqrjaXqVIXWrTljPbiWdbyJRtQvtBftGUTIMIfAakLEhanyXAaVcAwMOuyCdN", "fzCnbYiKJAmspXSAghqDPhBCcCbovhhmjlcMfTmnmNWinTmzRhiQtfvovElGHQdLigwSdKgaxYPnXqyAWSSkdGBVoXoLyJxFsxBOjFfZAuLfEgoncXyhGRGMyuRlPpwsdoIZbINRgNdXRykdHvBiQBrYobTLLgLhYPFDDLUbVvUMbtqnBMIbCPMfhTkDFHEEatLDhnKZxqVJIbibDxhCDDHzxatyJkPlzcDpLXhceuGYdtDJqXjBmnqqRZBxFReG", "ezizKEzcLklRGXXrmHwFfqvMDWetATsqZXGXzdyUmNOxIwYIIpYYWKfONzrcDqRUSlHrWfIvGaKejzcFrotcDJPDcTIBRxSymUIjPlDjmpoqadRuDwgAtuYhHJhSEOAZNgcveOOrVjccfzLcpdnakTiuEeMtYBRkPOhYBNmIepngcFdIyglJThDuhHgtdLSybLtMMPHTxwzjWzIUZQWGNkjGRsDGEHJkismNKOuBqalQaSBnrcIigWZXxfegJMdU", "IbSTaDqOjGrpcbTxMjEUsfRQmeDKTrLwJqBGjTttAfpxwhmHDPtAsrjOLGJyhdDCASpPGimUOdjjKHtUUqMOwdHsKCXYHyzLccOKIaavQACaQUitComlEnKexYsUGKnooSGKCGYgbUqZAbIRryeInvyovuKWSboHyTqDTRByluLXGQFdbsNlIAqyUHleUKuNdHJjmVbKMsSfyHrptuaMaaYgmjNHIvPsjGZQAvgcVYCUjMfLvaarJPzfTfXjeBdl", "obCVHnwXORAhOfSdriTWdxqTKYmbLIQAOwYPsJAXuwDJuXvLweWbtildnEQLizyVqdMJKXFsjiAjPxkNFferoMXatcMkKUdIcJxIcFmIAGWSIldwFtcoyPDlnCKVwIosNudLQlTjtclVNPQvavdGXtSVihNSrqLTPfsZvxicISDvtWAJEewGTFVpfqSQECXlKIWMxBaqHxhMxryzOXAjvxFTBQlAArFWDQTNmquSgdybwcUHhDwauihaFNjGZrRF", "NIVFvJztkYPkMYMnfYWPlcGeSQitJpxxhAFHSOKUvHikUjGlPiPRaOzmXhylnIWwAwuFfRljGdHnkRWwyHtGnJwFWrhvTOyJIIQQKzBjigIywNvClSToZAirEoisREcavnEVQWTLjdCrckNHfpEJhkQodallEWQmcDboUbMlhnotCZkVFXUkPPJnUCYGqYeSwBLLYlNVYIkbvXmOHglUfkXQiuTTSyNBnPzIOxaEYjWvfcVRfetgiIBLEZysmxza", "mqccoJkNGOVHuevEQlEjrudxCLIipMnrlVQIXVRmEMLjzPFnAhNArVvzQaKHOFaKnlEaKjuosMTXLeAYlOHUyzHsZlhAiBLqfoLIazNxGRHVziffkKMPbjdtmLfqSEnLfXqIeNbYOvBvfWtrOZWwPbIqLjxjNEIgaulKlOVmEmsXFEcKOGokCUBSfZbytgJrMtWrZnkPlxkCxxrxLLsseXtEcTfiDmNsIduycvZTdmKmormdeZNWEcSHJavYPoWy", "gAJUzxtxgRKQSBbGLDGNSgGXFOmOWmqiqWFcIhwLyuvzYONzhpUQytKoFDlJbQIYfaSwLRuaUuJtrTGrZuoOXyqdkEQzSxLezXojDJPJzuNQbVYkXJQsRsEUsCepqPtVErGwlTUZEJPwwHAtKaqiZmBlQTSmKvaiEkhxYKJsyKxUUWwiNYPBdeQzCOzYLKphsAbBmzrCoqFRyibKzrSUSGOkiTizksgWqoVSMCivaZFNbjmCpCrSipnOCgZweLGP", "GmGAfLCRXFyHDnrGFrIUccmgaQGBENZJchJfwGZFfPXiKIQZRIpwmVBoXaNJZljhxpeYKFeRYBMsPjPYpSUSSBgCzsyXBohvCHSJjSEdfTswlBNySJOGpJeLyrZOMLXQtXpoKFhmOLZUrpYPFHFeXrunPjZjswVGVlLnNRNYnYxNIANPwABOOPYvbLUVVzzJQZtVfheAlgggpOnDVqUdNoWBqdJRcElZGRteexpfIxQaRtbWHNSwtMKQYYZSyxZq", "ImgxnYvrjewGENKblQQneMLToLydjWoZUVPWhYEqbMFWWjUybTTCIXNIiYPhrKguEGZnSekgDpOlVzOpVKLPTepNNDojsGsncAmDmXocFEXzxNkgcPwBrfYklZiDIKNNPELGxmOHolgzLqIwNRSQawqhXDhwJYUaMaauzJeMMlCmDGdPRjeOmdoPmdBWHCasOFIJkyRtzFvZSEFfoQzxVKEaabeUWbkoVfBNDMIyuXRwDvJsdZrodDivWmcNnLWk", "AiwnRGPsvEmlsNcOpYtSarwcNFlMShJjsxErKaxCeMYrFmGuGhnIEQMICPMutxYyrWyckTLuZCTIJyTnzjKrKzYwGClBSNwliZBPrKEiQXPXmiCHiTjhIZXFBrOEPIAeFPivwHBWEOMaOWpqTVyQXvIAddUGPvVYCAiVAVeyujLGiEOPBXfzwsnhdpknGWZqXTseiJqIsyYrfCWPWmovzdRZcqBPYFpclZJJtzKqdmouguEkQdcWBuqwVtNUBEzc", "kKgrVkMcqlsQDaJvKjsnZWuqsaFVgoYxGNmJHPgGdFjgKFZRvdGLISshbzJcrfkuIvtrRkYrFRxJWbwrFnRHSjmbqvbqihjTjLgwshzEuXWmgFfFpUrSUjVRRKdzxrMVKUoHHPmcgDjSEkQzxjHfraBsusYupCZwjAMPJujMZgEtdQBhkyfTicGavYNSsehEtjarXKqmXVFLfiqgZkkAmTXljVEAqBXUTbeotpjAfPERrUXIzvvWjXHEUkKNoKaU", "pKpCRJHqvZlHktjwSyIUSnwhiygEmbYVxjaBATyfPRqhqvJhKkWtKjlEuhvSxzQpyOpQrgZhhWKzqyglprWCMyZCQfudXCPLLdPJAdkXydVDQmWebSntXSuoGKCjlDmhVTedMyMZXBNDdPWJAyZWPzxaEHyEiBtSrQKTXHihuTfcTPUFeFGDULahZrRIfhzPspgCcRONFsZondNmcWIJQQdMpywEsMkkWikbrgeaxFmKpkPhQQqJQmqAtZXIjkTH", "DuyTEAuODilfmYLIZtdnyYyAgMTJxnwjAvAQurAVVWwaDxQxKfOdOXEANsFcswrNiWaWVPmVHsZCLONNnWfVLFcfHZNoRCAjkWejAOasAKrVCYKfIbJCoWGJxVczcqhHqnGNOgEYKEErAgOmQZLCeAOtxSNGVYrnuYVpkToAhAQasdqRpCrTidZssRxMbJqoDwFFrnjWuyxcoxqsETxKxqJjeAAZlgXvEiIldeboTwIeFoMWEeQlSyuMQBgltkKf", "LHAHINNSaZEbBnyoqNqzotOsiRoWykXUjLwdulIUdLqbZdpnChzSXagnNPTCOWWUwfMfugcnQNrTkbxEbarmerTrzcJBXVRLIBHwCjJqgvUjBadrxAIYSiEWAxeoxmFnVKLleeMswbrWhgbRTAIYBpHuIHbRltxOJIVPhWdjKPYGxZYgrrlPmoZKNJWYxrVAJzHTXgeOFRLESKxgRtFAbInhGzGzmAYtuPTZWyuqbLcXSFhLvkwDXyvkUEycrcGs"],"c_array_ipv4":["dRaRkvDsRD", "RhFEhkykLJ", "iguJEFVtTh", "YJPJeXiOqc", "ysZWOPKalv", "GvObeXIHWl", "mRsLKPVoLV", "PZsypecMxA", "JATtaPTQIx", "drjgfvEvnO", "moqGBPvXIv", "kjTsZOsWFG", "RVTlgisMZF", "DrIMqsMLQy", "hFMBnjyhtB", "FmmOETPayg", "MqSdNiKfHP", "ZDVFzPHBpm", "rtPEpcOlRV", "smCdjNUEkW", "exCTXRaayv", "aCzxYvtBkr", "YQXeymLQnH", "RwhXhXIsXf", "nXyaSpEOfv"],"c_map_tinyint":{"c_map_tinyint_1":61, "c_map_tinyint_2":-47, "c_map_tinyint_3":-3, "c_map_tinyint_4":-89, "c_map_tinyint_5":-28, "c_map_tinyint_6":-112, "c_map_tinyint_7":-35, "c_map_tinyint_8":42, "c_map_tinyint_9":-128, "c_map_tinyint_10":92},"c_map_double":{"c_map_double_1":85.04139867033015, "c_map_double_2":9.606540076822869, "c_map_double_3":31.06735466966096, "c_map_double_4":67.05637119280034, "c_map_double_5":48.832848521639555, "c_map_double_6":66.80579562574158, "c_map_double_7":56.29501560088896, "c_map_double_8":93.45289869304025, "c_map_double_9":71.06211571062684, "c_map_double_10":33.25682998050662},"c_map_date":{"c_map_date_1":"2005-05-26", "c_map_date_2":"2005-11-01", "c_map_date_3":"2015-12-16", "c_map_date_4":"2018-08-24", "c_map_date_5":"2011-12-23", "c_map_date_6":"2019-09-19", "c_map_date_7":"2018-09-28", "c_map_date_8":"2001-05-07", "c_map_date_9":"2013-03-03", "c_map_date_10":"2001-11-11"},"c_boolean":1,"c_float":70.28406,"c_array_smallint":[18336, 17550, 7218, 26261, 10102, 240, -5984, -31211, -1503, -26691, -32063, 23321, 15572, 2486, 30478, 18293, 20281, 18374, -20713, -31264, 8467, 32162, -3828, -6395, -11615],"c_smallint":-30655,"c_largeint":-5835877996656694079,"c_char":"KKpimEWjLV","c_datetime":"2015-12-19 00:22:58","c_ipv4":"254.16.166.98","c_array_float":[17.497238, 84.94351, 89.75658, 70.18591, 41.93628, 28.727839, 86.07666, 66.07243, 83.0333, 14.252145, 58.55093, 73.71488, 55.228462, 37.554214, 4.4342556, 6.1018972, 94.30241, 40.22882, 35.222923, 3.4783978, 48.79341, 95.49777, 95.55708, 85.07026, 14.729325],"c_json":{"macaddress":"dc:4f:03:bf:7a:1c","dessert":"Banana snack cake with delicious cream cheese frosting","pronounreflective":"yourselves","jobtitle":"Supervisor","product":{"name":"Gray Computer Core","description":"Those here which may of her tomorrow racism those its.","categories":["sports equipment","craft and diy supplies","sunglasses"],"price":71.91,"features":["ultra-lightweight","multi-functional","wireless"],"color":"lime","material":"stainless","upc":"085532812821"},"verbaction":"smell","inputname":"first_name","error":{},"currencylong":"Korea (South) Won","uint8":46} }','{ "c_boolean":0,"c_varchar":"he\'s","c_array_datetime":["2017-09-24 00:14:13", "2017-06-01 15:55:07", "2001-06-04 18:41:11", "2015-10-21 12:23:26", "2016-09-22 06:22:11", "2012-05-20 23:20:37", "2013-06-03 07:45:07", "2013-01-15 23:32:55", "2007-12-17 10:38:38", "2010-09-28 13:03:24", "2010-11-26 21:51:12", "2014-03-03 07:17:46", "2001-10-26 14:38:19", "2009-03-18 10:31:00", "2010-11-23 12:26:15", "2014-05-06 13:22:52", "2002-12-21 16:46:37", "2006-07-11 15:58:17", "2007-04-24 04:20:57", "2014-11-27 05:58:31", "2019-05-01 00:29:23", "2002-12-05 20:20:47", "2006-06-24 00:47:10", "2008-05-04 02:47:09", "2008-05-21 18:35:09"],"c_map_bigint":{"c_map_bigint_1":-1064532124977496033, "c_map_bigint_2":7924681274184475773, "c_map_bigint_3":-711475820278061111, "c_map_bigint_4":-5414052412331407434, "c_map_bigint_5":4225109142680829534, "c_map_bigint_6":-4572002647547028906, "c_map_bigint_7":-2754015194842698088, "c_map_bigint_8":6169370556111006206, "c_map_bigint_9":-3062840070104510273, "c_map_bigint_10":-1093518248432916581},"c_decimal":54.0071,"c_string":"hTlaJTCxBuEhzrZBjVnFOpDkzDGcYlGSscGWcYBaNapoEDssTPuzUxKkMyVrJbBAzzeLfhpcWZZWUrPRplfwZMQUEzIqTtKRqyiUVtgjuFomcEgussfcWlNTGsHbsNJFzJVPrDiwvIGxkIgJRxtYWzVkoalUBmSYMVlyQtuFxeBWSmErggxnJnOYuTRvcQLoKTbvZXIcVHOWbCQQAxwBcUbcWdisUTMvvwUBisDtSCNNiyAYcmsOVDOULppzZegYcPxtajCkQKozylgaMKietwDzuePSKCRzmumPhDxiFPKxdRtAJhpDcQSsJsQNIbEtpHjGOoTcWQieWTYJKVhyvMVHEHYsitxwkxQcxfqQexYBYoRVWWZpMZwucHVlduUvtCfGeelDAWrtdnRpIawTUEGhDLyIwsQGtUXRnomebFYxKxSXtJLAPRYQAVpQBwOREMGoNyZyjzthtOHmxMUtDgPbYRFVqFNhTBWxVHMbdVMVSUCIKAZzlvhHcTLQqEjh","c_array_int":[1065048899, 827998829, 2004570718, -2128998420, -1140526331, 1058345283, 1642087167, 181425423, 1092864390, 1106741348, 1730889011, -817371308, 1655975163, 330909661, -2107857760, -1803304375, -673592611, 1279138808, 450466788, -364015842, 1749611902, -2001974210, -1315767891, 230759452, 898815208],"c_map_tinyint":{"c_map_tinyint_1":-62, "c_map_tinyint_2":-47, "c_map_tinyint_3":-61, "c_map_tinyint_4":27, "c_map_tinyint_5":-118, "c_map_tinyint_6":-49, "c_map_tinyint_7":0, "c_map_tinyint_8":-15, "c_map_tinyint_9":-20, "c_map_tinyint_10":27},"c_map_decimal":{"c_map_decimal_1":24.0960, "c_map_decimal_2":79.1847, "c_map_decimal_3":35.1433, "c_map_decimal_4":18.0690, "c_map_decimal_5":45.1336, "c_map_decimal_6":15.0392, "c_map_decimal_7":42.1732, "c_map_decimal_8":98.1979, "c_map_decimal_9":100.1533, "c_map_decimal_10":18.0319},"c_map_float":{"c_map_float_1":48.81345, "c_map_float_2":1.618129, "c_map_float_3":82.269905, "c_map_float_4":44.655556, "c_map_float_5":30.0195, "c_map_float_6":8.954718, "c_map_float_7":90.99901, "c_map_float_8":86.0252, "c_map_float_9":60.086323, "c_map_float_10":31.800688},"c_map_char":{"c_map_char_1":"OUaxUgJjxk", "c_map_char_2":"uUYPuLolBd", "c_map_char_3":"aGiHAIRGjP", "c_map_char_4":"SNkOjeGOVK", "c_map_char_5":"RIbKAuOyly", "c_map_char_6":"aFjzsImxCn", "c_map_char_7":"fBsKtuloKh", "c_map_char_8":"sZuJcrJsTC", "c_map_char_9":"sDLAarBpwe", "c_map_char_10":"RDzQOJGeXK"},"c_bigint":3177358484308051024,"c_ipv4":"252.86.242.27","c_array_ipv6":["VDbsEcwyHl", "BeHdUocafj", "crusESMXKR", "ZPzPEkQBlc", "IQJOaQUVWP", "waiFzNdiLB", "fbMpKDhKgn", "pqfeAjBqqh", "HcqfjdenvW", "FjrOCkgKqE", "WwvZMOIhOU", "CkyPLTdWkv", "hhAwOGgRkc", "ZCWsxjIVdi", "iUsStkBznL", "dYnZeHRLYL", "UAdNhoXWrc", "kNBKGJifzE", "wWDinpxDip", "kPsRozPdFY", "RbbrHRQzVv", "nEdmTRmlhO", "RQfAmsgGVt", "NROuUZKsxl", "uAAiVOogMc"],"c_map_double":{"c_map_double_1":23.81728976893489, "c_map_double_2":58.03286999749706, "c_map_double_3":44.974154626379665, "c_map_double_4":7.551626752195654, "c_map_double_5":45.62725885353341, "c_map_double_6":93.05516060548938, "c_map_double_7":50.883910994905975, "c_map_double_8":71.93277332645508, "c_map_double_9":13.197241727382924, "c_map_double_10":18.439480170852804},"c_map_varchar":{"c_map_varchar_1":"HaGcStmjWuntBxjrkAaEUVbYsGJPrDZgphzZntHdjOcqFeErzAnFoAyRCVYdakqUbObOSgmKPeGVCJMgwshpCXnDCPGaBfODibmhXeoNAfkeunDeQPITlpiLXeAZpMsqckjjVVecHenowfdKdivNYvlztiizaqICmVqqhMquvfPVvMRlDgeSDlyQGUGloGJBCdCfVfyQmRftuCxxAJKnAURvZPwhOhHekGzmxLxkRCUnvOaaDAYysylfxzWMVrQF", "c_map_varchar_2":"rxLGgLKjfXrykYLWhDJngQqlsBQezoyMVfPNbzzBJgCspieRLTgUoONMgOWXrMswqgYpzpenOwwhGGCOnpNUNDJJogWZZNKFIFSkpKNOtZPJDtcZmxeqYIRcgndavXcxKvhwPdiMwFWZHchjDWtMReYHWLjVbGKEdZTXDcCuAGblOQVsjlMyFWvbqFzWzsDlxYMrDFxloQLExBgTtJtqtEuGgpivQaZCjcfYjtubBQEJXbEFyWzWXtfdgCmYArEp", "c_map_varchar_3":"BtQcYGKDcNArOFvIRtRDgvKPIkXLqDZTEdxuxctWYQTLwSrXRXImQjhKJXVbBDViOdlhBDcGtNLXHOoSiJPmSSGwgTnqnqDfTqWuoOEyQyWlAusKjvxMAyvmGgDMuqlDEUdzkXXxTCLtYzQkLiChovYFtutaVNtzypkVpFFWDClVqZDJBsBUpIljFkMssngchqTPhhmwNhkVRImfmyKfRhUJiEfGdWJAJCarwooswQGeZUdIkptlPpzbkQzrrQFw", "c_map_varchar_4":"OFzwyNPcLVxDBKWmEqjqBTkcjNDrNGfLWPNRphEyCTorRsOkBfedOSJiJfMTQrvPqVHfrHTJWDfDQRxlKgKJawToJyQYcLSsRdQQLzqLohNqUFJrbaWFwSgSUPTOBdHFMEaFsIURYpWdqWdZztXoPLYbNwQjApQExpqELqqwJQelhenVFHLCRpOPmMeqpIQdmpYYGZrgLzVnzlDhbHNxQXxbRpPYyrIVMRgbGsyErWyELgNffbOiTuHFeyVxIMQD", "c_map_varchar_5":"xIgIZHULjmlSesMLtgnFqBwrPSGKMxTUKWFKkAqKpkRYHxiLswUmyzKIVVKYGYgNmVnkXknIhYKEbZkTsjTGjpCgCDMdUHFYQnFdcvEuUuPWVtpthmIoypDEtzhbskkVSVgCSijPUYtZEqFvwGNMcYDaWEsJHJZCXqAbHQAhXKAbZCSvjrLlGKdlqZowxrbCZkZORxqPuCYVBUkQImSPkrQESjenlmzdnMuQbRrdFrUvpGtMdbMmkQDBKxfjoTuu", "c_map_varchar_6":"xqSinnbAdmWfLPTYfhUYklioUQVFFGKWkIMipUJzFBvgyKqnYmjBdbvQBThloTKMIBNwnPyPLcnlfHFbGtsvRyzFOkRqtrRlFxDkkapdXtFYlLDxpXDQCSpQMxtiWZuhJnEiqTsVqloUDEkJvXYhKUljTiVtOKOqwilVvLXsXcfJaYRHeVmvbxeNCynennGGtFOglwaXkYvGZPREvvIcoNUIKXXOjiyYAQFfWYgricfQlJotOeaqYbdamuVsVTKm", "c_map_varchar_7":"wHXDDtLHNLjDQfDBINLJIaIngCIdYlAguGzLvqDeZHlOuIXXAqDurtvFDgwwTqQHTnccYXQAYNJYwBOKMQZZcYVdLDtFuZvnjBpvxMmsryHbhUNXGxFrbMpeNNTTDzQoVZtkYOnBXwdMcYeGMJfNZlWxlhLTIetMJLBZQDEXYpWpUuqPeyyLZMRFHmimhHZjUBbXmRvHVsoEtKSXbTxNJxgBnEIcyJFCSNCqOWgEGJaMaGjXSxyMNrvfxnUpHdzi", "c_map_varchar_8":"XEswEDlrgSjHTaAxVCKSOPZXjCPtBHEAfgQrmFupAVBXtbwNSIjhYIBcKNqZYFchgtTqFlokMBYiUUniBCPVyDObueBBFkpAUFyzPrurqyXuVAJMYKYZBEUFyKtzRZjdtpgFysFQezSfrXvRxXIXxZqtlUxgverZiKEPlwFhjqEoZKtIXUIuqXOzPtaZhTkwYAEhEuYaRArwQasSGorLfGNueEjNAHTstTSKVUiZjZqIbRLxSVkZvLqGRyXPvIVF", "c_map_varchar_9":"KhepFEfcPwBcVLZMXOtFLAkMQzyojEAfZZSKWicyCHRPVmbcfPdoSFlsZLWNhbUhpFYsVBHPjdDlyeojUvNaAfZYSUSViNUiPYfdYxDrsDiWIpSjrPafKnsYsmHxdmyvfpCYMfXfzVLMFyjoJmAxBZDNWSqNauxwFUduTuNtaZJRNSRKOanvMkQzhkvWjlqSdqiRdrKgtDsOWLrTdcaUtyZCZXwYrwRzSBNtddRtrHqcvHSDgHlLsTSpfiQUMoVu", "c_map_varchar_10":"fakNVifZgNkOHOaZQfEihJCTmUjfvVaePcHpHOQBeIInZBHRViyKwifSAGZLjgnKbLzLXFlmsxhRAJnVmTketztxliIWEsfnpFkldrbmqfayzSapxAyWETjyjAMriTypcdHjDBMOgcfzIUxoiBhNedIuYQsfccdTseEzKfMBNwBIQZmCzLyCuGkYfEJgbPblBEMWxHsnlhdDbuyQpbWhsQXyPSseZAfhTKmHNpICWqHOuHngbmgiPBCCrRJTJfaq"},"c_array_boolean":[0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0],"c_array_smallint":[-19642, 32555, 22854, 19410, 31254, -6031, 25813, -25169, 7253, 22759, -5525, 24604, -20235, 8381, 16876, -23238, 8284, -24494, -28918, 23661, -20218, 24577, -32407, -12366, 30811],"c_array_bigint":[-982810489097126807, 7150591538184195540, 2136106585628697767, -7770906653997241288, -5063753819272551583, -8631576316708268029, 8063376973372134092, -6758180454761259752, -6356276234846647702, -3781711692329414905, -219503848472715803, -5145401282581862603, -3202206831295874080, 893787475160530659, -8150827510868252694, -6905280320018731079, 7478801871383754075, -7125416730508200474, -2468198722024646147, -1010343153736348593, 6302184912979191843, 5900616744160318116, -6131852262285918384, -457382152487318230, 1488349120786512777],"c_array_date":["2003-08-18", "2006-08-10", "2011-02-06", "2005-04-01", "2009-09-14", "2003-03-09", "2003-02-08", "2017-11-19", "2001-12-25", "2011-10-02", "2002-08-06", "2004-07-19", "2011-06-28", "2004-01-22", "2007-07-06", "2017-10-13", "2012-10-22", "2014-04-05", "2018-05-04", "2018-04-10", "2014-06-13", "2004-05-26", "2013-09-20", "2016-12-07", "2014-08-14"],"c_array_ipv4":["IyvMDHIvUf", "uHTwPLedlu", "KcSaLrevZT", "DByvBMbSWz", "kvMuWGfggt", "GbTKiNNsKi", "nVvKTjlMxc", "RUOOUZrQRu", "YiqCOrWhah", "xGpOdiyrrE", "IqsgvDbBiQ", "tPTjPshAtn", "zHLgaoSUSQ", "bhzmbjbgJn", "tqilVoGhEr", "JgTntvESoS", "oLtkvWeidu", "zxyxMrciPr", "sNSxZjHrQo", "BPXKYexwyh", "tuaBYyExvg", "WZUnBmlREO", "RsWDjmlBTA", "zympBcTPNn", "LdoEIvHGkU"],"c_map_largeint":{"c_map_largeint_1":-5110793959221815723, "c_map_largeint_2":-8925851836159245665, "c_map_largeint_3":-5694393996995525990, "c_map_largeint_4":8604959826321970260, "c_map_largeint_5":-8025768080946146312, "c_map_largeint_6":3744423454830538439, "c_map_largeint_7":885946242480716806, "c_map_largeint_8":-6918912730784371179, "c_map_largeint_9":-2593477329181673114, "c_map_largeint_10":2418598494309652361},"c_map_string":{"c_map_string_1":"HbrSoUOGJytCpbgOEgtqYYXSZVFQsYzixVdwQWNGqmarpUSNDttayVCvduNfRSSJtURUelFUwZiDiofXtvsFqDLuemGzDltKWtOvrFxuXGtQRrZUYwGxjdQtrztjipkPkcgLhtrwVJHHyPQzhEcKkorRHOXknZJXuxFRYkPDknbeVjdSKrGcqmaLqIbXeharyelYItqeBAHqGiBSaXjGJftZDGrkVheISCrSiEMtIBKktMPrhUyBkkLDfmTQGTpwdUCMSVqWTwdefEyOnWSLdRMCDfCzCHZUFWmEKchHGawOTcCzwjfBLgOdVsvMPFBKTiiZtjYyTHVTWhlxnUPRGZxekZbUggKDYfUiuvyPvqwUdvXdNDhVdgbNEzJHIJmmZQIEszCBREwSjqCUhgHpTNLetdaOWMXqahbbrYbBUQtauvvPDpUAojKclSQJkfdioTFpBZDFGlCGnBxTjQhLSPbfJHLzVCTorTMVZiRIUkoCHbwypsIVdXdXcInyEoci", "c_map_string_2":"utJmugKOKDuLTViGuqOzaWfbrVHiHMmorzpLBtfXfKMskaJuFcAURezPsJrbirRBoTxOGRtCHmXfLNLoMBdwBxtKcNBFkZZhqtRTRSCzGwJosWxcPfVyTXGgfsAehCuavTQLLFKmstLVtAsmumGRgDNpPqkOpwgnCmzbxYVlZLNbYicGFHDmnvwdNFOXQCgfTJwuFXdZNVTszvNblwAlZrqVDIgRyIHgCawDJBfUjMhJRmeNnCQvVXNwWvpPFKrqtYxMUoBysUIkDkbtsIMdczizatDXYKkSbBivSXFmaLvtuHEnfQXPjlQIAXQDDuzhsYeybveVennFUeyvJRWVQXBAUzoSHJMypfFmNyEQedJXEyBoOAdLNWMQlctMAzjLhZiuNHaIXdhDhVmlUVhHcAZFuejYacuWRYXTzPooxEMqRVgXBjkkvmwxJqbXwkdYxtfkPQoNSeVwLVOpYHIYxEJRJTwNZSkNnYQKGNrxQyaABjQqEFQuUCGJCWzlyGAC", "c_map_string_3":"heaceQlpjdVXgnCbqmtIZSNOfBncAMtpZmXsgQPsZlmFUHaSsaRIsfRLIQzaCPiOBUxhKVAyNSTxglCWkFzBxJWBmZxymKEHlBRFXUoLpqUBhADzlWQvrGGgPRoSVxNujglLVXyIyDzIbZHOMUEOgYIzmqWAjENSnAKibnbJyqoltZaUbgDBeOIiIMIClrBYZLZCblYblIhuhqkbcSmiqRsuLixNkMPZSOofylVbAcITlBjqdarMEefeyjssClMqKEzusBKXgpNJaWTbZRhxmLhAxiasDAboksLWVinIZJdzbJrvNTsecmNWNrByACZEOvCKhWzinsiqUxWimZEfjcssBTVeZCgvWMxDcFJPGjUWsYSSJlvCkQrdeVtjFSbWydJqsGrDrOVkizSqgkzDAaBixTYgSqcEKRtKhNhaaGprpeyiYfqlnszvgSNGpesOpjUHHqtuyrEjubhkSCFJVipMToeJgQmdCVQtLXTFvSaqUBnThQNIxODsHOOBBwxy", "c_map_string_4":"KFCRhQvyzZVZkZmmZhiORvxzYWVcyFKYzrueiUCYwnKuTvPAzlKyVrYqnClNwLaJFYuwZQvYErElCikFQPCgruImPqVmeFIhNgIuvIEnKEqxWePiafKDGYpGRTbzkgwQIVJPNQLaMLArnGWYJxRhQATmHJXhaOTHIQmbOxaiwWZQFExrizyjLtfCZPNkBdfXYsKelJujFJBgGmPHmRErgtYUyFJgkGKFxqUnfNklzvBIInJDQjGWgZCBPvcASrjfireJFOeunCMvjtKhkgRmRbrvaaoyFLrhcMuSbRavmTfWqvExHnjKSWRRlIkVtvVCfwziaxsYnHfxzdDGZfVzySQLIEHUtvvHUcIvQYJXIyLKLGetnUquCjXvJENinFOPfOWqABpVERdziYceCPrOAtXibcyDbHpQPWItZBaqtPNGNbEtwHOXSttyUtIsSNakJFqezGNdLfVrXCeJnZEQvlHqnneNXyMMwgAJOvvMTGZrfhVcwCvyrOVMOCnssSYq", "c_map_string_5":"WDUIdAQYzoqxZMcuxDlLOyyfyFqSeOXFDEuNptLwSeMxcMmLsDQTFgwTpqNodpEhwSfRzUWFyVCGrYxZbjqhiIIvLXExQVYtsBQZBXmrHxRuVlBAfqdXODoxQsktodOKIELtSgQiIIisOFAWFbzQkhsCubjEeIHAspqgLcslUZTBjKOifLqUEmZEOlvdcZPptwUBeNLPPcRmJjHpNalxrpPGBmXRfAREPEpuaETNVGoKnOloZqLHvmFBoXxToTYsYdwyprMAhcLCbXCXFAHjuUIaAwqwAcKqhXfsbOkYqgeQQhVCImUMqQAvTzqToXyKqPaVrnhxYgKYExxsWIFjMNOFMhXioGZGNheAZcPCNoDOgoADqzLbrtAwgtRbOMHbIwDwYjQRHkYQauwHwisUgkDRDqbssRsrYiRPdIiqDWoxHdhKcFTUiDlpDEvMvlZVVVXEUtrumXLhbOmfTvCnpbzRpnEeTvnzamCTXZDrcgokeeuAaBVOQzERdCnkyHEV", "c_map_string_6":"TEtBRVSDgtlZHdNrsGXYpkbOwVMsrWRyDUpVCywlwuNVdNWthKdOTTszmEgDxehLIurknwiUuQCLKZYjlQQjbMWtAhgfPZUrkrUzTKqYqEWCDNuxzbwciSNIvMincXtjSAyTrnEMmfcywLEgOouTJhxMNngEaoRsjrzmLwQDuDxoJyRVArOzEluRJvJAlwklvgpPLdrlNgRXpbpLkLQyzYNThZJjzTumqVIAeZPiBbggqPoRXYCBLNEtyViDLXcotQGuWFFDEAqbhTeckFNDoZzRboiadKSwllKWUTkdIJySjSljNHaFmYvSvUQeYatebJlxwGtjbIISmEygkMFznQllDylOMzxKyyEMcYXKsvuACICqumCDhxnXxnrQeAThGzMIFVMuomsybMhBAhJjANgWlVWAAsdIzvPCmmVDAjExVuRbftnLLxYKTzIwCLrTaScaAcOmHuXbvvGXonmXjojrzglDQGmjpIFFixhHniLFExJiGKHVLjZNDCHhoHIK", "c_map_string_7":"HdGJxXFtxOJkqpOZndGXonAsujIvcbxkEGDJAbqBxHUGnVchwohgNRtwrSEyAoGGxgQQiROQTxitNbezZQiaRFizEYwdRDbrOqAKzvBxkMSnEfXRyQeeuvMboLOBJEJYhImybJlceTgQzAxOXHyRNotqvzriULfsvqNBojDdlEaREHjqiMKgkerlvwAmsvnxfAxITXcTuyGGlxwTnLgbWsdsmAskArghwMQEtJuubSZbsAMKHoEAjxLaqIObosanlaVsHGDzFIpbKZAHYRaShwxByrqmTiTZyGFZySLizNTxvfeaaMlCdjzpbZZaDTDBHdkucaYnzGJJHdczgKsnluHXARMcUrRTcnAzIhyWjWyrGBtmcxcpJSPolDMTPoHcecNrOxkBBtQTcTseEdHZpqgvUsoKOMuNZmvYZRdHkDOGSJGZsDMNSRrvEfMOmeCmbDYEKuHYndlKQcHzmNdxhTKUdIZAaXqCdgAHArDkMwxUrfZmYtkenbkBYTDjuwuv", "c_map_string_8":"bSmrcvoYPbqTuWjykZzVSZGJLIozHOvBQIVwqtRjlBhhORWNDTHUSokBeBIVOWHRcxpZCBnrZZWZQtxMJRkZXAmgrdYLrYYqtQNiHaGbisODRzmugONibRhjprIdjWyfJFSrTLLpMzEVwgrrbqsvcvytkeShmqfmmqyBiahocPgTNemnUuWKKjsHgKOIrInyvaiMyDdIIquimljSUBKbAJTERONBLGPvJJksaiTddaFuBaTdGzZnpNjxEdqYNoJminQBvyvOolgGVURvScqroTcslKwGKEkTTUnXXkNLRXHTwlBOpVTqxUOHKQLruyUnwMRsbMsvoVjOyOmDeHemWaZOgyvOxBdXLGUVaIllnNoDGfYmUpQzfzUEieWWCYPIzkqzmxxNwFXRDGvGNpZDvHIgFgwWloRZlRJqdsFrYUjXlGsGJIBYCZWMMMGwKTggHhvjKcljucZfVhzTUfNeLwuxKSiqyPpyahrOESvBizyBOTLKOcQAMWYFbIdjqkTL", "c_map_string_9":"igtlgIrteVuhhUnoUrGzeOfpGjVERLzVFrfESHfqIjPDbJhLZPHwXCWtTEeDZKhTHwXCRhfwqKORCLxVztsBAmLwoAzdMvneCwSxFfDyRLOQSZrKNvuafwpiDMoGOjSjqHSsgCchuJdTXUdTrqedZCvtusLUrFiosgeYSkVgKWnJgEqVKaWVIhNzteGCyWntDrbvdLoIcdgmUNXAoAsNnfQEetDTmfPtqtvBemSAcLAJDnSTqjZMoMkdgXVdeofkeLggqwIrRjgNNIogHGRzgLyBMNIPwpfQWdBzibKhCxmjXWHpSqBoEqBwkuJSkSFytECyHgLQTauIzPNKJqlUfYPpjEYxcBaJnOHmnLnUbdYYydAcQiDddnGsnEkTmvAmfwDwLNluehTALaxDZijFneHIlxvSAIWsermvLasyJPhGEezEHIKNnABDuxxBYPTuKFPIOsqhczAtopVcbkoTfYQXgyYllTfJsEIudPNqAJYvXKIaqwDTvoITnClsgKAN", "c_map_string_10":"jqLTuvCMBtXZvvrMXRnGgCyuMrRPXcQTzQacyYoqPCKTCMHUqnDHFviixNSUPOOUemRQRqtWAHOOMBXnJwqlbURKyvUJcpSxsbTMEKpwlUvQtTIXVTBFzZAyFUOiceGrgwBvvrSRYDnIGTjIlsPfCUUtJYXmlZdlnMFzOhtgzdyguNiVlhrmrAsbkcuRKxgbvqYIvldkIDmfoEKGypaFEGXAPsyahIHOqNqCdPiwttQUvuRgigjXbWHotigppRwtbnIPtQwQbioFezAjcckAcwJyslqyKNsWiYqeHjOvCTcrMkNQYMlVccHiDAiWwOmHCuuBNdwcLfWSlmkqxLpBjkcizSwqPfEyCXhwuqnpifUCULkXEefIrzgoOrkqPXMzeRlAiwttobRrKtoJwjXDkgFljSVpoQEjnDyuxPvzdfNGIbEgbCkvckhopomjJlWvrFnVpzTUkDOJjHDgkztvodLEejSUKlOwHajWUpAHlJhwlvdVzrZqsXBiWrKZEQev"},"c_map_datetime":{"c_map_datetime_1":"2005-02-18 04:34:17", "c_map_datetime_2":"2006-09-05 16:51:43", "c_map_datetime_3":"2010-09-09 04:51:47", "c_map_datetime_4":"2013-07-06 22:11:50", "c_map_datetime_5":"2000-11-13 05:25:38", "c_map_datetime_6":"2001-09-18 00:29:17", "c_map_datetime_7":"2005-12-19 11:24:18", "c_map_datetime_8":"2000-12-02 10:07:45", "c_map_datetime_9":"2018-11-14 22:25:07", "c_map_datetime_10":"2005-01-22 02:59:06"},"c_datetime":"2004-08-20 15:41:25","c_ipv6":"78f8:8481:55bb:e0e7:eb4f:fda3:28f4:2fe7","c_array_largeint":[3699547572678130630, 6976123594960046936, -3571320816443773149, -3741138079061493407, -7278449080467657920, -1870688729005278278, 2759228080783235148, 2152307946455079126, 2378521135699694, 5027467817137308321, 1043567831873914759, 5368889803703717597, 5247430894115661437, 8082648857194161826, -315414707370413106, -5381778778815537928, -1579064107956557199, 7197300084684406357, -1742865313145873854, 8540843083927875828, 3297526756959151010, -5771570982627367852, -2307973020491021038, -7831179882345128877, -5747310441972629389],"c_array_float":[75.071106, 96.63892, 77.12544, 60.837387, 14.596733, 63.663666, 13.901926, 44.26568, 85.19655, 83.85671, 76.46212, 70.98173, 35.361668, 92.78262, 67.0167, 72.5045, 15.038844, 14.140696, 39.670803, 4.852087, 48.627773, 67.22223, 53.046143, 55.706882, 5.450079],"c_array_string":["CiFVGOAkAtYqftivCJMfiFHECbBHHzvsoyfiEEYloGbsabbTaeSGojXagzVXWTBVnzIlUjNRkGYZiXjALXlVRwwmQznIBFjlxVixmqlydTPaSVnrqzXCYQcGYONIlTKHrcAvYLRxLyGkqTRQtDExrQFPHbLMYYjcnFFpNSssgeTaTwdhgZobvCkdDslHKybAWhwIKMyCJNhcJVhUHniqMIPuEAgCnVneVTchtAtChyTQlXjGCgnjQOmXagQsBWjAeSegUCKPVimJDQYVPGxQWnUqDCgwNIndXkgiLYvjVEuztLEFCvVAeBpVztdeAsjohAuNANLEgXEtJmYrjfIpZIgSlnnrlIMKZiJVLngnJNcqDeMJyBMgQpfnuDIQroZvoQEAJrkzCABHlLJtQJZOFNAcnJwGxECzUtZWgdWmFafGFYSpEmMFvxldKNxVDyaaMORowhQyermJzdRkoZSblhHBgEbyMLxrDiofVOWCnBVnhlFRvGaPVUnjdoMOywWU", "eZGiAIDpbKeEUHmgLSFfLjLsGwARzLRluhWDsuxdilXqaojlZQHvCJFGzEWGgjVitjYtCcvELNUaeEJzXizRCvwnxQmStwmWVivdopLAcLoihSeABDAjIaLZXrqxdKrnXNdZmZTlbpCRKqmzzzYVKkSAMSuoFwWjydhGGrVXrKSYxoADwLrIrxIPMeBLtUIVMJKKxSRdFbqiPIwHTZxlVhZUxOqVIgeuptWtNgHwkfWIPhQZitcVNpvRZIHfkSerAcpWnnJKegfxRehIigInTHjHrHJrKagWOQMgSlLYnbmdyixGjMengaRlkTNYZstgkGpyxdNrqEAvuZsWIarUbAUcCbTHCBSSPEYDfzhUPqCEQKHnBGCXyQSlyeWdZzhwGIBfnPDHYeALHbaOTIDCroTdMhTCJVhOBvJQJrUSSIyeLnZTPKiZOgCybXoOYjAuosFDTzSBEhIXrKKfIyDXMhaDMCNfUEBpOMRWWNFlrCvHHnDmUifuumLixQKomdDA", "rdSTreKLhFGyMRhskZYOruZFJWZbdtzZpYIQZhXJYdSBCRXEorRYxjgKkoeNYMsAIzXGwnAmfCsFlUOQjjPAzgCNtpLwbumtsjGpDYmHhiAbAckMTlKgowVlMOvODxdUVLiYyYZMKclTdDJVlIJTokRXpQGrYQJAxUEfhquKtQwwYmSGZGdCotYnqVczySoIBXUGuflOsWySCNTPfjmRihxJGsmwMztpHDhSpsdsAIVWvURQVMJWDQczUzAWsaCGzHHhGgPOmewMhbWImQRUcneicoWTlBpQjTLrpeVDpWSSBTJWbcGKnIirCxhAtheMAPihWVVllRnBizoWmaiwAsbMVnQSXRxDeMWzyPsOIqhLkqkQxJuhmFCkTDzETSWQZOOJawyyXrnuVvCbswxBlkhQjiVFhBHfKgnIfTDBwwunAjPucDDHFUOsVnDbwJzDLSoRhjIOGtGitfLAFYMiTFciPfreUIoFnuBUZOHRDjcwzGNLvSTdEvPAyHqMZjoN", "yZuvFJyVstzuKyBjgIbaIxEhKfCNAhvRASDKUEEdVMrdPHlFMLsRjZVeDQvhoMyWxByPhsFeUYhYgtXRfRXqHZqvgjIuXaNUzdRzsBAFizeAZNiYhHqbuceGIuVKiQrOWpPCDbeJlxSEcwzaYeuJgORHZfZkCPCGXdIScHzWhwjsDibNqmxdytTPYOjSMSeRSFZTTtvNaHWzlEpmIKuyWdPgIatLoBjUpKVpqJflYIwChKNomjeYnoLRsrdfwbAIrvoZTOlDeNjCGMQYlxcDFGChxzOPlKKLfeGaGGeTUbEOWUWNQGDpuEHbbebDuNjaYFMdIvuIjJdxZgxVNDRrDJXQJtaNAyiJQwRPFQmSpsNNsNQvcTSOVMefWqNXmhxiNWdKaCXokXVvcUSGxpOqkhdCscyEJQclYZamNPoPyeFOPEhXZAFNTvalSjSwTKtvRLFdFsSjHchmtgdIfXKLqxWfEihfcnkbSpjvgBXIeYvARGJYbmPolXgNwDZItnKu", "oVOohkXpMmNSlJIFVoauKOXexytvyGolOyumqwvXVXKhgisCpmLBoXyfIpUiOaHngIQmfihbABzJequtBCbLWDmHPeeTnfWpQcSbIZbYckduEztiQryLMiWJdLacAhyCcxalMzUcSDBOTOjGvWZnGlnhBAFUlnagmeSWyoGaXJSeeYudNKBfoYNovrCDmkTPJKpVHbfAazuytvRCVdBbuweDFxmJEExapsONbDHhxVnFgTyvIFWAoSCdtTXZWvuiJHKVtHePlqSMGPgEcNrrtQsxzlDGayqgjJsDntZhBQHSeIAXgxxwkNctfBMkEFLiJIgwJwSDUyqaELVauSaMGGLGHrxMYHweQpYEdHyWxrHbduvgSCSPJHXIJMPzxdSvYYytykGfiWVALfGuxHkRvvNhsRDFbWhQDXApLdoBfkQbhhHfqDpnuTLczdjFuGhihZusnCTrzfiAPvoLSfbrrndGdLDRsxfkUeuJqzqxvTkSADlqpbyufiUdZzwAwdYD", "dWecIXlzrKDsfTlIKrAsMJOnowKrIHjxbeXNGWCeiJxghENJeXQRzUKWSSMYmugikDZzedntOiZmGfvYyByvtJdzYBDwVbvCNWqysMYmJEseTxOlZrKEvQfoqRFwzPwZMZNWcAsHbbskOHqWIQxeVYUElHYcyHMFOYZNljhwTPzUNpVNuZClrTVXTQrZYHZAHYqzCeINUieyLCmFrJeNftTwBQpGmCNLVSkGTtjeqGWPSSKbiCLfroMxFRzVKQmJZDluxQitJAexKyzzQjOdRYnsPpkbLMrxnZIcOtfuCvqxmmmRSESaYCJBGeJNNxYgltQFGELHKaFONNHhecxjqRMEtBpRVwrDOhIPPwHNVJwRPrRERIybxBDiBkmvrIhxZBxQKVVRSjhBpIgtDuqeiiCELLStAdHwvrMaZetxhAdjbqGmJCHXgwzSNhdQAyhblQONuQNuEjrfhuKNTPfMgrZHZlOIEqRSbfoIhUTNsoFmhHEjDEeuKDrRMiAWSiNR", "wVoNAUYrbueHDFTFfzrervJxjZdXVPHDLnYfaByHilBpZUwErOZHQMFYRkKKDhCoFfUgZBibSNqAOTrYWVNmDakcyPuqoOhuZLTCrYyBMTCXPFylPeGNZMCpQvRhexshpYEaSzZzHckoegPcFpNcLVfIZcilOpqGGtqlEKjxLWHQJLwnQufiFXJHrcjsLQMSwbpPnnQPTCGYRgcqhLcevlrdhULyVyiGmWzuMWkBuSOVFktzPgyJLNLconQufrzpOWmvNXpcgLjUPoFeqvYWtUXqaeboJquesikangXSHZbECmQyvHJosNBzbwyuzIQvjaBXozKUsKpCIHKEBudPTuMLgFxqcBicUycNaNHUkSIMJavfFicJpgPfBgVXOHdvowzwjgBPjPKCCkiWEcdZqbyMLfjJjfnnNNVRKFiaiUOdWvJrwYEytgVAyojLKeMYKGYuDTSXsLVkUhghdTLCOMvzjdetextJReLtUwjgqYHUIWzUzDuAGwWbCjHdAUau", "sVemkiNSFQVjMPEouvycXDyqnEcyFAEaMhSiwMFHyzLRVDZdCTOcISKYbMzJhgxMmjqvcnncrDeVOFdIrauFQtARdhTmzkKsLYiWadTIMPfnJexAIQYhIndxSHqCEgDlDYvJiEGtxnGCQiJkqgYryFGNTSccyJMEQjZpdwufopjxuTLVxZPvDOYFipCkCfCYMzSBHuHvfMqnSnjObBSAnMaFbyNozfeoSKWKantwjHCBlqeLHUDfDQQImWiQfsBlNYvcGvTmiZoVZYLRwbVwzZBmpXPBfAsxDkcSwawRAdbxcYeajaxVtnXJnufwsiZWXEVOQHDtLdSRnNzwzxLEkQoHBsgbulSgENaIzImNrPFmguvPwetsJQfNerUQDMLSmStQDqLiyksYZwsyJqRvjYPyeLnWneHXZdeHHvAwFatofhSgwXCyuIDJBPMbGnbJqEMGpomgnZGbamOpjMhwWhrHTFvvhCihgnEyQkgCjcQoTfXlieNagXPCMzmudUmM", "FlrwBMRzvnpEUQFXlXxztZDlPaONHFNSRDLVsPvnUkUaSgByFvQtMPIiDtGDEuuVrnMUrwHMORbGyKPXFwEneAcKPPnVQqMgDfHkXRYiKmVNGIItoWrTrdjDAhkoAzpBKAJSeGPqRNjsweyMXMBwCjLRKWqvZBPbVhYYKaaukosDGBrntGKQawUpLZvarlEPhvXjuAWbfGjTeqnxfZaRUoPxVsQBERRHLfUHarMCijvCugNjHtzaSLVYbmoUOsecFIVZAudzCcJkpgvdPuZHTWGATdeaAaHUzKWLRyPOgQarVdxCCYaWtQmFgTuaAfQxCRTkscVDjEeoqsLKTesQkytfbvodZXldOHeDWDtzckoapSMGvBPSMJotQkbLBdYFqDkjEkUXiBExHCynzkqlekZFxcjPiVTNHwLwYwzCQuBywZxcMyMEITPSgzwElWsFFggKatboMRRaLPaepyJyVYRgZjpWdzVrUXHfjFyxxZzpcbammpEjjRJfOqReQtiE", "BbeVumOoPwexlZGyDRIcUKbBzCohOWyGotntlosfLrxMNDZcBXZLTibbzxNHVNpyTPUugPGxZGsyrpLnvCJHDFYmAatBGrSFDuHOBfeoBlrkYsMiVrrmvISLvQkwNNyQNspzlQliWkEHwCegXFClILIwhrUBsvgTxPYETKhmIlWuLTvCLGtbxVzvNMrZnLgaAbrmUgbmUokTuWxbxHqRatuNbEozYdqjjScVcATmoMKhkIWXHIKMknVohMvWXqGAlXxyRwDWulQsuVdaOnJqHkiDeJXWHfwTLQabhDTVNZKZzalCvMWczTjZAMAxgKQvmGVMFIjFdZJzDJScTCimfgPZqaQSqcwdMVtZvubFlBqvQstXwmxEJDaRCzcBfFmExMNiFyQCbwGcEGGhvbeGwYVmWPwkxFcYOsqDOJLOLJKouhFOEHhXIwyTNWoSkpAlipasWjsTttPKLjCSYBNWGxJNtrQAQFDOyUaRizHPmwTJHjhQwCkmFxxZcRdzRZMV", "bnKeEBkeTRBzHVMGtXxbnvDFzwDkQRcMHskqUwFMZjZUagSshknqEseNousdjiwRhamCriGwQbxVUHnnuKRAmescZuWzeufwYhslNlfqbXPAqeFLdwkOZvDQNzyNkVLazIbkziAiFCsdpmQrnQWVwmAiWdumCcKogjEqlhxHpOUwXtEEAqketEhSDeAarTTLwZVucyeqbFofAugPZMYSHeDZuomLSwZyfUSFlGrShlCYxwcNxIIzStrskNENSzfAZWwJFhNGoHHsiovuUfFbbjXnvVbIAmqYiSAjIkPthjvSvoDlkLLpCUHBLawSmbXJfKfYKCTxKfpyhKccsaXIhTTgLDKghRVZwBhMCRifuiQGBaqQKEyKyYShzBAnTPRWibgoyqvximUfloJZdQWTIfOClKyhPMGyjHmQUhehgjoGXcEWJseKzWaxZJyVmuoasQXQeIwaPLuhTeWBecdTOZxWhTUhTtkbOXyZRusjohPsIoksgYAZGmIzWpHivFdx", "RLGIEdxtdLeBXhorUhBrEYxNFmoFnPpEmzChjvnrdVKYUsoNLZxjOKuVwCBnAraXCgqrrlIrRtHyotrQADPdADPniCQEbdKTlNJxqqPmRAOxLqBMovsJdCYvmLxsfEZeKtyRbPPLjlnNMnaZfknlFMEFEFuKBMSQwlQAOJUDtWTaQFRzXBywhYVFEZaSYsilRWDZEGbLFoXpZAILrGBKtgMaeVWHfWmogCgwugGFBCarvRaStkFRminffiwHfeOSygJttKOReIiGCHUkUbotiOiOfPlozyNMXmnGQttrJXRrqITEQphMaoyRsLHxuHezaLnBATjovwdWvrkIbVxefBxarUpWrXWLrwFphYHEaHUOPvVzgFhEoDjCexdpaxGJpFkOjWCwpgKmBclLNPSiJAgYwwJOJQFMPQuXTVMWEiqRHSNAkddWqpSgpPIfXlpPEgsOZywDVteXsOPgnsoFYgkftIktoGCDsvFptEsoFwpZOgHkmEISttKtKafYiaMa", "sXCazKFQLDInofNtdqDxLQqBvAbOUSSDvrKRlMlooiBqIfwbHoXkqIKMQOMHEFCAntBCCdWxvlYUDzjlMXmPwDoiRVyzpYtrxpmasfqlGkguVeSoynVYoCNJyktIWmPjXWJTVkaZoqxXAaApVZvqYveQprEwTLcWbeuHCuDPVjeiIBWgOFAjrQoaFkPKTmgFvrZGydvKBJnLVUtTztMuSzSbhXVPxpRrjXoleLssTYlCVSBtifstRdXVqdLuZdKlWbDcOWoIGkoAaBxUEscywtVEIbxWTNZcLqwTwbDbfCsmdzXhOLKOVpvOlVwjVauRsgNTpRUisgJnhKuQjKGLfaJIyNyyWvIGbuVaDQOTtoUCsNvMNWwCQWphGziyqOiGCgOVsedmkLcRdwdEJvXXoWgdLgwNnWYEuGXAiXQOpaMvegzHeGSdpUCPcWoIbrWfWvUyJnImkbflChUmwPUydUhNKMIhAAOUpskNuDxCNCqntilEoxUQsTKzrGJmPlIj", "GmEpxJAboylgvzMkEUjGnWsSiQbfpGPVdPvRbmRSfMummgrbRrNLKRgGTDSVLOtaOKUQgzpycMtUdnpvLTfhAaUHhhKOkbcoUfgorgeSsaSNCdIASqcXzRoxDunRxUjcEFnaKMKzMWgOddZktTTmboqHwmgVvpOAEJgHEtAAYnTNiJCHfrWuKCoOwYaxMrGPblOJlxqYIQbKYzyxxJprbJsJEywJzLmAenwCCiMityXbSFMyOqiPAxCjgiIftQGVUZihwwfnMQSIXalWnwpbPyfyGPmcEmiNOYMxUCNrdTYWbktRSpdyVWSINBKpRBbFTpCNUmKCnyKUuSMrBnRFPMCIyjNkXwuYWYPkeMSWXCVaEnpsceXIygEYsQwqaMTPLIPctpHsfzxGpTuZtgnQNnBWrgxucLjRfibLpQWqMEYlesktIEvsWEJJclPqPHSIaZjEJchVsOsWODtyNCjapnnYMrPQWyUoCjJPQJSwqKQEbhieqCjKKSkQdZlbsVSi", "iiSKjAKRQslkNLOuYHilVkHnHXbPWwWgtjWUzNqnjgAmYCwTSMJezkjzKjmqggTsbasxlfLXKibDCjuAfnCSTsIVvQayqIGrqwIcnGRNKGhncwhNHXPJQadTEJKmboHTfDwxFNjMOiXgTytYoWanUdcVCPMPfRByPjFVBzVcMPLbJOFuMSBoETjvvVBBBFQEKmAWbiCiffwTuaxOmuHwmfQUNIWUPtQZeeJjZqjTNiDoWDkwMuAgbSnfmzoIZwbHXLgEIVlNrAOFwoQZaBUjcvmkpSrCXrwfgxkpeimEEepiuKstipfrkIeEPDqwKwDndWFVIAtFCukwazcHnPoMtTvFvzEAdhnAZAaNmImmZeGdBDzpQLiltAkXjhetLldoXMRHudJCKDfCZwdvWtDkEdGQhNJZkFwjPOcowtcTpuIEqcZADDUvgWvXeYndzLcxJfwHqcOeWJswtHpJHtgjWdIUHmPYxYnOkPoBNaBULwKjVCKItxkIWlwHpUcKgUwC", "KYREUOzyBHthTfqRQMVRVPPBYebysvblUiMdMrXfWQLdykXoddXrtaZzfSuxJoTjTIblCdipwxsUBkbzRDokybyHKCShtycwamlaxLJwOlsmEYHyPHAOmZNRfECkoFDKShOfGVbuIvcfGWRVnZCFqFleLCkwicgWXrokyppwzgSINaAaJRqPQJFUUkuQdhLwVoCMqoiSbzRnLKTxcngFlrfzXhrDGvbgfloHHqxbjawzvKQLybpooCBGUaOICeEVKOdZDOMGmTOtrCFWsoCgbUQRIIzNjOnCrMbSuJebhdglceTeaIvhOTVSwCGMwBnkXSRpTNOgYpCUxFYmrWRvhDbINtditmvtEsmwQIQkYtYwgHLJHyLtTObcQokIVeTkQZSpcTmeSASWgKljnNQVRbFWNtEAQdKslMjYyPDcHaTqMIWYODSZEpLVbMjZmEFBVhwhbyrrifQIciRWwQakAmpSiSnRSawWczKcHThILjbCzwneXSjahZrqyohSLFfI", "iZFmgvLkcTHaNWnXpEudRxnMmnqUnFDeFVAkjsWoxSAzipPREgVwdvkxbTmtGAPLIUMhzLzRjGpAJEyzgZqHXKdJztjObZKJqsaYwWCwDrpzmctVrJkQiKRmGwDdFWESsYNZpVxxLewHeWEPEZtUZalxyMQuInAoHVevGxIUkxJAgpouUIpdHiqXyCeGVASGVsjESkRTuriduzgwIWpOYIiHhgkIGosnfNUENbVrYweXaZZyfHelBEnOBHCCGrafdWRSDyxfbfVZJyCdMsIcjEsVYSmFgIwnnNyYffchfKLBPKxmDXhUehjJPpTUjkMNQFhTZseVLhsPWShZjWozSzYUhwkFaqvVfkRyICrmJXxKsKNdTGRfJNuGOYPzCWsIbYXccbNqDNCptRkGsPgVMcjUQIujAFcYAPCJYjkilmrSwanMHvVNVhpOcGgDwSbAtSdnoZfferWrzwVOQoOpwJqSZgXpxfZFuKXMLoruKBqHUhVVatTBFFiCgaLjPEui", "zXODkhYlNVPIacfMBhzZzsRNvHMPabbSdiWyKuzWcDvKXboHZaWfiXivWRrWLZehQZoFtitFtnPWTTLQcdlPvAMVzMASpjmgAHmyPNaJvvKgDEmbZtonaJcSXrvBScHClxgWRURUYQIJyCUmLPbMSVCBNJPNHgneszkMPWNMvUDYnHboxpjchdRYAzflhhkCBZbPvIePPncBzGemoZzuCFNzwUKdZJMfeyyYbvvQTIqrOEuBpGgZrkrjqIIKWkTIToAMKTVJMZlWFVFUmjiXpVARiTZDsNNfitjtVCcIXlUZZMGUDMNgIwiXvDzCaoftIODKChhmdFtQSBZUgekfFlJpIhvUsFvgSUrhClNjPVfWVAkZWCftNgKauyGFcHhIFmryfCqBmkYlGcxITruPcJtzutJEwZBnAWKZprXoRODqLYJjSaISAvDcZqkWJlbMwLfmWjOYQMXtEfXJLPSHdDQKZeTKSSwJwhglGqaBATkkFrHzpqHsoIMEJrRbuOXw", "NsiGpXtsXARjMEQFYcXFwyLXDRXsnhdpdOcCzhOmTGWAmSDyBWusgaLemXmFxxvycFoPiGnQHZcAEUqHlkkuctBFbdDSdoazSgiLsqrQVnPiVvBcVWMbAtoMmUxRARpFxiuCiboLzCfgfvPWPKLGtPiaKeBkFxgXNJycSwbuRjycHeBAaVeKbZbzeNOIlbteVTjzUNgMqHuQWETMWpeatUsVgsTKpTdbiOKpqcyCvLnDlkreJANxBHcYpRDrdMOOJwuQFlZJXcPtuErdpXtKadPFcuGTWQtFKANOHbWslGACvcKmSlKqJwigKCsXQNovHdzhnBMtCocTIGRqZlISxrXNUYlJQpKtxHcbPOhLIrnqWJsZgQxbfOVmukHFoLYlbhaefljAwWNFfRtdukNMrqocQENyEtTcmBOhzYXkHjtAjaihhqRDLMQrhfRNBzYTRnTtDnzJuxxvxUfkUmupgstFbeoMivuqwsuQwpqboVFPtUuWewbrqHicoFnvIeTz", "rwdKIaNgEnDBOQxRlFpLKISztkeVgRApAKPEbbfLfBRSRrYcxDbhsqCyQkDUKLIsIkELZxNUblhfepCriTsdgkAIoSbCCbbGViZEGOHvEXrMrREfAHzwPkqRkEtoYikeDUxXqgQkNarTDmjVSGGAyimNblOVLkAUiBGrlTssYQLUXMieUrRwyLbvEtJYMUWrKrtilhYLbufWlzMZWtkcJKwGyeXngBXflzBASHYJciFVzIuBtBUWClmXCfkFJurWYmPdRMuelTmROgWQznedctFExyQfpMDGCkxjOpCVGYREYoNmLfiClGLaPVIXZRkCRNctcHxBvmzYQzxUMkNyEhvvhlTBfKUMIeqbGRlrkHpgWxZkuHPWHoPNnrmbMmDQlmFuZzNVtXJRiuemwbsvzwlpYoAYfVFohurdaxxNGhsEpJnaMOaMVyrURSNjbIfWrPMHLhbEYLrvgDNWsbfrqImenpTXTHwPmAYYoUzmzNMQhesxNvvvpuXVCjjKPrRr", "QLrBewDZqEqklLGAfXcizijROEUCNYRlQBGqRBvXxTrCXVAtenUsNFoNpqxHQtduINZSMcLgBdjoJbalnnJclPWpqdQcUnSHdDRYpkMrtEGCVbxYbGTgLZeqxvGgTxedsSGOZLdVseaIgtZucWBEYzHZVdmPyaylBBGENuVEbWdZNGiAycBYrhrcaYleImcZIsoZtPPgERZbJJYwSwiJsQdzzPKjVhsIQtZgPkUQIqXOiTqakPrxyMrvxuZrNPOXaRSyfXMulZXSslzohOLSuzkdVsrGNMzKGkmGpqEkvZorgxrvXHvjeulHYmrthpyajKqOWlefnwWqYqwIgppOgLoIbGTvqySKmxoOCVNYtnUrFQHYxspBouMgZDjpxhxLftdStEHBrVODJmZNqlZPyrNwdtAqXgwBdmAzqlsvGAVoRpBIRcEoSNRhDzJSlktvsTTfCWPpcArCWDrZFYuQEXxLqhBniNgoSXgNLIfvFIYUhTlYLATdHeBMEXCqOEoU", "zmOuxCioWBVPPkFtrueKHsVOrGZQDOMBidOfQqMdZZlhkbfagorYhjwdhhVcbPjOmNkRzMYokTAyhDOFRsYICEUqUZDkgIylIsmQCIzwUQEerZFEUzRUJayApUFRSAKwFhOAYbtcBjYOGUaLEJhruHWTZiaxnXlIfIRgYVrVJyEpPidifZSqkxtFMcknGEFRIixdcSsHogWHJSLQRDSTSnTogwcEtPTBRsDbKlUPkHVLpdmSKyAXLaIDahyrNXOdMoCIMoeJivuZvhlCKLDlyxOpjghVbNQDATLIUYFqgywWqHIHErzyhWSNUcihnjxYlEJZrmnZMOIqUYXICCtfzRuVTULGkqrkWUlcYgLEuRDpDvoyaxGGpxFCrosvRHyNNuxVOevRGxBdrcAWxCCPQNJayZyILwwkEAsdikdgBcHYbMXppPiYIYKLszDObURBKzYmGwBNBcujdAjxzrxfOdoZLKmmKhYTKrXKdySgHAvpXCFiPGBJHtShyaWtzZMK", "JLwurdTFZAoukstErFzvwIoUfwfjtAJCnDPFLjPaazwlStBuzIkhpkSrSTwNmzkFFJuoqGyDLabUYZfEOJCqUwqpprFJtlsXldWVfMiZcQfmSEUdWAhIihjIAPxIgohwVkPCJbuDaqQJebEwnjZbtpDKLrIAIqNcAvfcGTUnINtDUCESZjswNUGXqmxBDLhkZVgGUUgweoYScHuHywpXSraaDzZUzkcLItfDvrJvUFoYgBmJWRaVNwhLkxPmGrWeykmppsULdjxghLCmcActFPNuOUFIKzVhBmnpFGgJZlyMmPWqLciiYKeQyKecrgZOJSUFJxEnpcPcbgAtGplBgVXFIJVqXSQaldiZPERnASPBhxiAcBempsmhxOEUuwUunPYMMUBVuMAobOViobAqEueazpdjkLEhxyPHVDEEHwoQnxrVbeXKSbsCXIOyBItFVIwXDwKwCVmSMOCoEUlSxriQFlzRKQUPUQHVqhgqiCfoBKVxHxXPFIRlxQlFliAq", "eHnhtNNAirASJPmrCAirSBqQAONBrOKTOnXLcLzMkVXGGySOLXSkJxfTGQZFdoqwiiTkfdNpbomErJkkxmbMPccJNhUihTCoqIstpXCxnpnSDKbQZuJGFcWiBnEdjeBzhaqUeAGZZCoIwkAwoWHqflzNfQIVGbndijbaeAPiNGNWqODehTPfyQqvbMbQuNyxnpcsywsBhaXsvuwYOUDBNtPmROopHTVhuLfatPQhOisxOpZAQOuOWAhiqlQyofwrhyZuIMuPOsSNSTyUAkUOqVkzhHclGVooDXZadDCImOgzPQNylPyuhGoytgfzluXKJPtyEDjVYxXZAFQEiTYcuwhwbdDrGHPUypDQZZfVJnhOAdRWvggQUOfOBhsboHAEdZSgaZZGWkJqEQZyCrYzwIPQeEQxKkqAWSTmUErYxOdiqwxttTsyySpTkwslSCkTFVJyJhUrzjiJnIdtZyIXRzBAMMGMYxHRYnzxnlDNNFNIJHaNPTOzkxfRrQAbQinV", "fxvzfalMcBlMVALuhwHwFdoaduGZPLjSXNkVkOLhjIHeqmiSQwIYlnoXtseBBtkEjWIWGEtNAxyKoWEzuQxwXEyDLPtmCZbFnycgXNZsNLTjqPRduYiCJASdYtEdAavDDTDVAryzmhfosAgWPxaLWZLlcaqFZrODjQCVzIvaeZAMeTeoirAJINCHTNBKJUuzCrBJASWDCJrgtYCbCkbkaELITUeEraFzPmMaALVIYkHuCGMTHkaZBlRNHhWpuVJpBgULUhEBhYlsqFCPnSYklaYSEwGghlUXmoqPIqtcgJTsKUivUoyRiSxTYrzEzmMyyMJWHyMSCbufAgYsgvfikngdzMvhOMGiQfTqJgGIKqGyICoyjbYBAbpyvvklielqIswVtsSuGlAYkjZYukbHyFIbrUUCpqUuMNvVDAXtbzcaBsExIZdzQwOyuMeIhhXeDCNPzwKwQCaDPxYEOCrEeqKYZIWBmYPVOXIwujPnMTiSjbpPTDfbPDUBybkJhOjg"],"c_map_ipv6":{"c_map_ipv6_1":"45b0:3c45:458f:f1e9:b135:9a96:9b9b:4cd4", "c_map_ipv6_2":"3996:b728:8:3f2a:1523:dbc1:578d:c2e5", "c_map_ipv6_3":"9bc3:6fea:6961:b11c:268d:f7b1:ffab:d61a", "c_map_ipv6_4":"a7ff:25c7:7c40:6626:74d0:474b:47c9:62e6", "c_map_ipv6_5":"1f6a:e7d2:e716:18bc:546b:b9cd:592a:ee9b", "c_map_ipv6_6":"aee7:599d:c3ce:b0af:ece:dac4:69c0:29fb", "c_map_ipv6_7":"a6bf:83dc:e5fa:67ee:ea39:5def:535c:c114", "c_map_ipv6_8":"34:b93a:7fba:5840:86c1:925:30ef:7861", "c_map_ipv6_9":"de6d:cd0b:d0a5:ab59:24e3:cc67:d068:854d", "c_map_ipv6_10":"f92c:608e:4f5d:185a:90d9:d75a:e93a:7a90"},"c_array_varchar":["rkXTRVatWUMMrPfxYFcKWNQtafUjRYzwInnbUpEWsYGaMaoLUYoNNJwaPDdHSeVvnpzCepTziZtoLQTYeJsIaroIJKtrItTfhOWzsIddhCZyKwXhydJSCwOxMKdTbZaddiXaxRORZydnfxuzvWtoJfofmpdbvZGlbuLDynRGzuQGubQwcVWkdhgNqatiYkLabicdHncpAZCEBWhKEucvmzrWrYvXmcINlylmTtQNCOdVepFkgmRONSBMUEywSXnx", "jiwASipqDUhCjaASwcLZgCYjFmUicKmtYuUZYsqVujEcrBYPYVZscVeFArfoLhxloDwhizjKuRPjokwoRkBoOHNAwQUzDeGGQiCoTsuzvcmMdwrBtMZavtvVtgiVlMPmpDxrzhWxUbdakqNkJyAvnJqHZKTAqXNLjGAyqBPbpBVYgPgelWxeMkbMmFZXnczYDDaVSLURwaiHCXZEkVwhTceVTKJwNfRUObjgvezrSZcCAHiFkJEofcPRJRaJNcBc", "GnersbdDMflokAjAjZoaXGDZZCQlLpfIFEKRwoKxrRKVshOrunBdguSptLiROfQXAlvBQLugISANppLygGgslOtvJUbZJLegukmsTMbtDbHDgydHSZyonuJrXwdiiOhfgQrNLMWKRZCBLglXDzNHslNFsrhwCTsTCPFCCkUFjNEsVTyhdkQZnslXSOArgbkAOjKXKCbEDYFYJmVTQmaZhSAKxNlMNmANIfiGIKQTffSXzMfGAYUqiOFJKYyYkCBM", "TZcWXBMAptQAnvsWsxsUdqdjpEPNSnBockgSXtVVGzEVLkWtBnOjVwKTfMWXOCzZlIMwTUdItKpUrhXTLnwOYFgNrrgVmiDSjFOCtipDHPdQWbAtXAyXXqiKazSUofmghOWQkYpPmhuIlkyquiJsuCDejLOSMBmAvqcafaDvgOirKgVcTLGkQrbGihEwqqBpREGbjeaCnUmkzClbkKtmCWQcYgIJHlxjqNvmvKQzIgjCedHqLWQGHuZIkYJSRKVh", "KMebhnUxaIVjCHOtWPZsCSYzuITTuQlDRXyidfqUnOWYdjzdHmwaqBTtvTdJSpXmCNwlxYQXQkudVSULZeASmWIrOnNeLGEChETGaqiXSXkIlNhvnoeMXNRLpOdtGPBVAzKJjPqNsxjRbWoassQkOsGksGELUQUjrMkgorppsSHuPpxoxXZgdjffrqFBuxteMcVmqmEskQGevGKrgqwgjqBcmaNAoceecBhFgiLooOjWqMHMOkQTGIxkarTNJNkN", "vpzQKPSopVYtpgmqSCuSrrAYWPzVrEtAYQuueyPBEFvXrFnXEpkHJUAIUdZVmPPdeNSLWawMKrOaYLMjuEOmwwZpcrqCxClFuBgyQNeDKsTqWYMnhYWWuRWWdxxIChvcvepgJKpfllBqlcnobKuLqwvHVzvlkLPnxdQMxPUrqFgKCBlTrYIrnWKGdTDRBqGEvCgzUlrbFHWiWdpzJfITdXVdDXBHjMRhuqLJOuPstxEjiymTflZHzqGjRAiIrZdL", "NnUtyxRxsdJHvqwZLCSpiIJNnwuZskdVnFlbzodMxffQxjOsyhWTJVpBvOmXXGhYeTyCEncAmBDvPAMWRjEBnxqVEcuSyyCFopzfeCyWliJZvVcnHouYGomtnxDdbGlzeSXHiKjAFwzNOkqwQSruPMYDXGvYpzjznTjaNrlWUxfQuXWhhOrgBqWrGvxxXFDNQRsVaDToHRlpxpDoTFiltufJCdShljNlwAkkrsVnYLyiwaHIBRGGnMgeAlzMSPmC", "XPZqPxacewUziyCdWonjeKVxEWqcMuCRIBIKWFwpgmktMHwWxghVKdtZPKKDbIogVsXZnfYfXbJDUPWzeEwqieFtWOxwRoshwbGkbQPHmNqWKknHTINxvWZMenaxwaaIHHYnioghJuLgaRWmwrISKexazYkiHhnrapxATxQPmuTnlltwwfopnFEMgICHgbsKolCbssaJuOgXPzmDytfycRsBTKYKYJBNvXHjOCnSotOZMpILuLLrQjsEaIHNkqdG", "FTbICFcIkSiBvnItiGPBSpmmshfLsgIWDlxpFCuGeKcNgIETGkWPtUIqZzkiynlcgvAqewmSxJTcDOsmHySPrlavNZTfDDBCJbYOhHJgxAFPFlilkgBWFDcoVpyRuIjiPbtwzPRHjvxRMveIxFezQwmedOOgJBkUYpZecrNpqmcNARgIaeCHBirmTXfXxBNwydhjrFAOjnBstwmsWMbepgqQxWCiEZWOZPVOTjFqlDcAdGSIcBfkeaybaBQwedYG", "NwiWFlAKtPyWMdwiFoJxTlynUZePyjWSnobTYyyAsGrQiKVquEeswqBgusWqUFOEPNDkauWkOHBphxsFPiSZuEeSDRMUMzlHobazNxKMzCkikVOFYFYaBXcIokHpQdsiObjJPWaaTaaWxPuadGxNucjxnsQqHDkoQeRIGbHwYTbPGvbDyeUbcysEhwMmmQrBStexNcfrVIBTmnJyjNXPTzavfcpfuGVZaJjRpYoNmMGcvUDhzmOtgEYkyZeNoHhf", "HBeAtZglZxuCsFLkRKrjsSscYxAOLBwQkOPgpIrvIEprPMWBVIwAYKfWPjRBunijELpzAfxUrKmMlLacCJCTjxMRLFxJpJUGmAqeJfjkSdIIOaRwUrRQstgAwkIPETGfmdSnBflnrawcwoExkFXzNgAyUUWllsYNbWIktgYyDDCfBslSBSJOFWhymMTimUxVjxGzVtLrUDaveSDVUxejaixlutLClSHjCovAgJYNrfmbdWxkxeeqyQBQRIBZkZmo", "mdDYsyCNzHsQfsQjXwxohNQqdoaifqTkGwtUagDVmWvoiDFtbOHncuaVkTmZoWDftfnKNDBNqMUGDstjZdqQayFeOQxvWZHGvygeDJoFMYNFuwNHbPoKguuXzXEpJtLAGknYKKMyxLCLwtMefSOObGMqJURDvcDtktyEWwTVgAGvUFXATVHJQNEyrnxKwIMYKucqFLgVTLoOaUCyLgiPuAMqNTVRuwUIccTIVPtloNAIWMUDojeFtHCfWCpJlyHV", "sZClwXAyFufMmmUrVzlgIUpRmTeXtSYMLkJOXGRGQROErJqvRVDTWqeLlHLMstZvMBCRsbVTEvQEAnngJWTtJCOLyxGvDuIbAqyqqrjCMpTLZPZVUehUvddzWPKFAGxFgyBPllRjCKVwcNdzSfUhczakbTZwxzQyBXpdIUdWEBilISJajkWjRjIiuHPRREHeaPSqWmwKamUwwZzfRISuxnUNckuhdxaSYVYYZjwOqndgzVLakWPPSngPOtglEcpi", "DFAreQbaBcJAwoLKWdYxNFrxMZCLiTwEmjXgUhrHMNfAGmlJJHOgDDBILmWnGSMDcLlHdXBOsrpqAdckNmBcrFTfmtisgDLcXfkhZwBfrkFlOGLiQqCXRaKPMxgmGKpboQAjiYWeysNknPcRutaykeVoSXmlTARhbdOzFWRavsAxaGAHgxtNqKtKicWeuoQnvHljxbBAMLcBWBXeVkvpLJswRmLUoFgOVXFAffyNDMYuxYNktlgigOQDGlkdhYxr", "JXWllqgSeRFOJLXTteRNooPymOyHqAWmhOKuAqoMyfQcRKHbSdBEtUpuFwhASTuUNIFTOCDqqGdVbgETjmNeipsQTZvzVYlHysNrfoMMhDwNfAskzFpLxnEhUyhtDvBKvyKSstYmPoXbgEpvMFWvtywHvXbYfoxejnFuTofulakHoCuuOYXXoeXsCiRzaylsRmpuexjktNtvOamTukSgwjgbCXbHXlBhZgygtBviUomvsEgcysqcyyqlOfLtSQYS", "zbEehWvNhNGrBBmaZRnLyztPTHarBCrpaXqBOgMIlEHNocQCjbbTVQdswqJVgYbeFBuexWmNguTPUDKJWEvTZkuSzwigoUDLilWrbtEWXNFtayhnBMqQZLKOLVnZdHoxyYIemKxyfeHiXFuldljzVhhpWDnuFpEiqRXPjslAFSfRByhaRcHQBvjGMqBzUgOeZzchHfXMMPcBpubEHiYizzgjpSJYQRRDcyeObWagkbMDrOqKryFqBzBXYLfrYxDz", "NxHSylwCcMnlkfLMWmhblxeGNauGeoUAPSUAmdbeuGAPiwPdOisHNuXvdiWVoRGelXCMapRpgjBfRLVspYHyfYjqBHcVkKGwTCKHjDtCXIAIPPmUTbPttkfqMHJYqlWaiAFJaauRdXXxobJJhmcEMyLWPRtWgfORcSZubeZtSZnJeOerSQMGBSLuSpTDhkZWSpszhbpmBdolGartRAumxrZpxqUebxlTAmOQlAinmtycOaPrAGPPCWPJtmZFhMOm", "iblRcDwUOoGnscBDtogmYXRwjxoBBRVAzwxxjHPyWPSKmLvIxmuvFNuwTRLpocxVjpfuXnBgnprfEEjFlTlxrYGAceIrsFZXSbvGPUevdZxScyXVEASAwPnhQJcsOvivxeHIzYrNLqXFLrWIJjTYjXGWubfXEEksMMcXyrrsdnktdMXMjCgOrLmyxqRhtWskJbteYdKqQNQOpHJYFuQptJnvBUaixJteOOSiYJchASkEznQwmfXSkTcenGTgRDzk", "BxCuYbidEglUoUYDamEuQCyofJNUYQCdNtybKMJHHLcSkUielQWkowflfJnfKZPUZbaxuMfAfljDOpcHiLxZgzjzfSLWczadFGpjzLwZeiVlAAUBniwOYWsKjilVldyZmYGuMZOJscGlSMMjsOoZBRRlKPfZpBEonHcvAbLAXdozWWvmzKaBhWlNOVBVEqUjWwNjIKHODMxahhTyMLQaKghZWQAkzCwyRdWwhIsGXUZqgtKhgutLekDuEURUroaH", "uCGJqmMQwPwLZoMorLNMRBbeOBBirywPjuUYltSTCoGcKsrifIXOJrlosjvlJMtBYkgCuilkTMJFnBlZjOFPwXzzehqaNkgYavfSnNLoDOeZCcNITxsdWUkkMoKucrbBtPjvzJZJYdCtymvCkBxnmjWGYFYSFnWpUEZthQjAOaXSyxBxygADcwfoZYqDEUgpRaROmdJMWPbPrNsnlzcUlIuYyBCMBFyaSkidPcHBoEnlITZzuBAccEqVAlfgIcFR", "MdCPxROWYoAtAvjvLlNMpKSUUaFiLPObcEdIoxknkKMbJUGnrSHFUPcCwzZIDrPzfiLYMxvcSwdFGuOoaaLelDuoLAbSOHUSqGQAGGtSDbPELOthOqgicxoBVBDLTuHYCThfZdDEmQUTDurtaNbDUzsZvMVgFgZrjpqOEzTccdSahjuSiBgMYQLCrDbPYkeYgZFNFsSdTReFFFltYmUBnWPmdbteZGSfcTiPwtTRNYRVPpBIZiFISYJMOXTqEpXG", "tKixiFvEVsiqTGizRijrjDUTbeJCmypAOojIdOZYomYwxgLQLUxVwTUSWvhzDOpQFRaNLrXVQLzbpyRAjSSMVKNXWlgFWUAKMPURSGqrUpjqlWExgkxRNITyQHsBybsyohwpHizWWKqqCPvkXzaynkEPkIPBJNlJyUZOtqIceyXIUetheBCgfDIXDsaDovvhdjRmLkmxsMowrxGdNIDSOonKALvxNtvdvWlFhfMMBOCpKidbKoWKTGMjVGJkpDsH", "DVXmeNJUEuTbqvblWTNFjhIvmdkYVdiCxMcEnoYqaqourIARSpcAINCyqjCWFjzlXgpErwirkiukBvhDnkdYUVkGZTooqAjDQoRybuzxGVgLyxfOqFCjFxEBNNzncFdjIIQbIBtudLWvcHxjhnVwYJbtPcJjitrcZCRYBbTrPifSklvFXAIGidYTqeNbxAENZrqWhzNBGjuiKdGVDidGaSLcOsbjZRJoikqYSyTkInpWmDxcEUnBrTyAnywYEGuj", "VCEIhNgBwIVISoYwyTkbzhmkElmEqYKQBzEwVFLYjlPqCQzETobDOhmkWcVJPdaZspVislwYmJuoKeaLuziJcJGwJLhJMCrHJTOjUZDMTnCYZkPAeLYicKrlBPhVITPKoowWckXysKsRBnRKfuCCHfWVbrPbxhZKKmVOHPzDlZGNAbzyIWOWzCuXIrxgKmqCvSbOUaZJpotXuMrIVRxvbldxCJDJRxZTPLidwIcmDGBIZSMpEkuQRrfMIzMCDzUt", "ZszbvfiNsHCLUHWxEbeZqzjjKOJKydlDAkwlMKOZlFMUjsfOLFwgwvCkGeNGPXxHKGTqCCbHwedhHNgQaSkkqBXahZoxVBiDISzvMvJUzaFGhyWezzNzsjCLEkMnXRZxTBsgxaTgsSsHjjVFbQZTibXvtTwDFnfGLNruEAXbHjPPRyvoTGcRtHXpqwKgAmQPRODeLXtYlCpcTvFXTbBqzALuYixFKPHaVnQRltFxYutAoTfsZUVayQuYLyxahuEt"],"c_smallint":-7578,"c_float":30.15747,"c_double":27.437467464988284,"c_char":"nnBWJoPYUJ","c_date":"2009-03-19","c_array_decimal":[27.1211, 52.1381, 82.0467, 8.1023, 80.0129, 12.0898, 12.0234, 22.1732, 66.0970, 28.1903, 31.0679, 8.1338, 56.0849, 80.0216, 59.0695, 86.0626, 61.0587, 21.1088, 48.0765, 71.0715, 57.0598, 88.1983, 63.1553, 5.0079, 2.1754],"c_array_double":[44.26031705445302, 93.59901226559819, 79.6994458425983, 33.714935855692126, 30.59594257793295, 9.644209239365617, 92.58107571948608, 97.67519548109111, 94.90502740489964, 53.04722578831943, 47.56706379543392, 17.558283648822755, 22.889403073479965, 25.231147125472965, 1.4950796879138724, 40.34106031312735, 60.259208385352046, 62.50986337043941, 10.263381557214474, 5.45073875442651, 79.11008143219581, 34.89606372078076, 24.602797276992014, 23.947714390852507, 43.014144182286124],"c_map_ipv4":{"c_map_ipv4_1":"11.220.232.18", "c_map_ipv4_2":"53.42.138.62", "c_map_ipv4_3":"236.227.64.220", "c_map_ipv4_4":"218.205.37.173", "c_map_ipv4_5":"241.200.26.249", "c_map_ipv4_6":"51.94.80.176", "c_map_ipv4_7":"58.67.15.3", "c_map_ipv4_8":"207.215.100.98", "c_map_ipv4_9":"98.45.91.146", "c_map_ipv4_10":"34.25.116.56"},"c_largeint":-796334357190137957,"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-3893, "c_map_smallint_2":1442, "c_map_smallint_3":9502, "c_map_smallint_4":-2021, "c_map_smallint_5":-16623, "c_map_smallint_6":9949, "c_map_smallint_7":-2782, "c_map_smallint_8":6082, "c_map_smallint_9":28144, "c_map_smallint_10":-8009},"c_map_int":{"c_map_int_1":-1837289040, "c_map_int_2":1386425066, "c_map_int_3":1676631270, "c_map_int_4":-1031693015, "c_map_int_5":-129746800, "c_map_int_6":1466054766, "c_map_int_7":1034106495, "c_map_int_8":133374028, "c_map_int_9":848748854, "c_map_int_10":-1906497239},"c_map_date":{"c_map_date_1":"2009-01-03", "c_map_date_2":"2007-04-23", "c_map_date_3":"2014-01-14", "c_map_date_4":"2015-10-09", "c_map_date_5":"2003-02-19", "c_map_date_6":"2001-10-25", "c_map_date_7":"2019-06-18", "c_map_date_8":"2009-10-10", "c_map_date_9":"2006-11-27", "c_map_date_10":"2015-07-13"},"c_tinyint":112,"c_int":1720998845,"c_array_tinyint":[-99, -30, 40, 32, -50, -8, -39, 53, 65, 71, -15, -114, -61, 23, 95, -58, -99, 40, -89, 14, 15, 120, -51, 1, 84],"c_array_char":["kGxsBjvkBv", "SvzNOmUjfx", "uFBQfQUOmY", "MWTdwaiThP", "NroChtXVNW", "qSUeyjZBxw", "IhXDIuWXiF", "VsnREQkGIe", "HNBskDNGiB", "dPyeyXrhcg", "fsXLGZLbSl", "reKJPsHjPg", "mmxkjYiaZc", "qRpXtFytoy", "SNTmphdHHC", "EEhAKfkIoA", "LqtiACsQuW", "aCERrjrkEh", "WPMWYGpbhx", "UpdghZufmx", "TFgOXUodGD", "XwgQedpnNo", "onQZYvUAbd", "vOjDeMfcEW", "gBqvDidxvj"],"c_json":{"pronounreflective":"themselves","beeralcohol":"9.3%","minecraftvillagerjob":"fletcher","firstname":"Rene","hobby":"Rock tumbling","carfueltype":"Methanol","quote":"\\"Tattooed actually mlkshk locavore.\\" - Tre Emard","errorobject":{},"errorhttp":{},"productfeature":"noise-canceling"} }'),(1,null,false,-12,null,95,79,11528,null,-21864,-32768,2147483647,2147483647,2017384478,-1555989866,3905447,1,32679,-8260607,147483648,1368506663543145931,300.343,21.448273,100.02,100.02,25.0499,31.1672,67.0780,95.0404,6.1932,300.343,7.0697,29.0825,49.1964,71.0203,100.02,3.0412,40.123,100.02,300.343,56.0772,40.123,100.02,100.02,300.343,40.123,300.343,100.02,100.02,5.1538,100.02,29.0487,22.1689,{false:true, null:true, true:false},{true:true, false:null, null:true},{1:89, 84:1, 9:1, -116:-128, null:0, -128:46, 8:-50, 0:127, 127:127},{-121:0, 119:9, 1:-54, 0:null, 127:null, -128:-128},{-92:245, null:16503, 245:-24869, 32767:32767, -18461:-32768, -32768:-23001, 21700:0, 13209:-29506, 1161:-20067},{6324:3740, -26090:-23237, 0:0, 23218:245, -18824:32767, null:32767, 794:null, -31943:0, -19510:0},{-680494129:-2147483648, 32679:2147483647, -1157005242:-2147483648, -1204821940:-1541765940, -2147483648:-2147483648, 644650435:-1984194233, 1808020913:-1009943246, -1939034856:null, -1556493179:241018601},{147483648:182577762, -2147483648:1717219892, 32679:2147483647, 246197883:-2147483648, -941827607:219418290, 1009401873:-2147483648, 857898356:402416234, 2147483647:728949758, -919654419:-284198355},{300.343:null, -21671:-20475, null:3, -4453647287949550013:1, 1:245, 245:300.343, 4824983438909215066:20240803, 32679:5764058311087967795},{20240803:20240803, 300.343:1, null:20240803, 147483648:147483648, 245:32679, 8304:6924283},{5403920:147483648, 0:1, null:0, -9223372036854775808:147483648, 32679:32679, 1170632660:1, -3580544848525429270:-1336074291, -1570637217968294462:-9223372036854775808, 6030004234299179506:9223372036854775807, 6334134254243646973:6588754690436066828},{245:147483648, -2098151183275340518:-2238541571184851510, null:147483648, 3923915026729907965:4527463786445434169, -4207587612989908863:9223372036854775807, -870422:null, 0:-2492651798625726308, -1852289596122608446:0, 32679:-9223372036854775808, -8808195680392364463:1},{57.699883:100.02, 100.02:100.02, 43.312378:100.02, 30.750544:60.359634, null:76.101746, 76.73187:48.33579, 88.21786:100.02, 99.083984:null},{78.036896:40.123, 100.02:64.82484, 72.26166:300.343, 16.535368:40.123, 1.8066592:300.343, 6.3089714:null, 40.123:40.123, 36.599457:20.439512, 90.325264:83.16722},{null:33.79399432509552, 44.80182455691739:300.343, 86.03510534696734:28.5154877754988, 40.123:100.02, 80.50555474716012:40.123, 35.53673599661436:35.24609615540019, 100.02:100.02},{96.7672302051917:80.20798525084824, null:40.123, 100.02:10.17889244212793, 300.343:300.343, 43.432082034303626:35.39299238701332, 58.49742366584789:28.824129612669246, 50.40355051054122:100.02, 84.88057236881927:100.02},{30.0227:"2024-08-03 13:08:30", 43.0037:"1", 40.123:"2024-08-03 13:08:30", 80.1082:'l', 81.0187:'is', 100.02:"0", null:'would', 44.1470:'b', 34.1120:"300.343"},{40.123:"300.343", 52.1012:"2024-07-01", 39.1335:'to', 100.02:'t', 31.1967:null, 32.1956:"1", 300.343:"2024-07-01", 79.0328:'on'},{300.343:"9999-12-31 23:59:59", 30.0370:"2024-07-01", null:'out', 73.0198:'my', 40.123:"2024-07-01", 44.0052:'n', 100.02:'q', 80.1269:'so'},{null:'h', 3.0099:null, 88.1781:'time', 300.343:'her', 40.123:null, 80.0300:'want', 14.0718:"9999-12-31 23:59:59"},{100.02:'really', 39.0693:null, 75.1714:'e', 5.0597:"300.343", 44.1020:'hey'},{79.1836:"9999-12-31 23:59:59", 60.0533:"1", 40.123:'r', 69.1979:"9999-12-31 23:59:59", 300.343:"1", 100.02:"2024-07-01", 62.0097:"1", null:"2024-08-03 13:08:30", 54.0617:'what'},{70.0303:'s', 86.1549:"0", 100.02:"2024-07-01", 90.1061:'p', 47.1080:'this', 300.343:'of', 66.1567:'I''m', 57.0505:"1", 38.0183:"20240803"},{94.0052:'will', 300.343:"0", 7.1690:"1", 45.1080:'this', 51.1542:'y', 100.02:"300.343", 58.0590:'p', 40.123:'had', 73.0894:'k'},{40.123:"300.343", 300.343:"2024-08-03 13:08:30", 18.1332:'going', 100.02:null, 56.1113:"1", 17.0376:'up'},{100.02:null, null:'had', 40.0186:"20240803", 40.123:'think', 45.0909:"20240803", 49.0811:"2024-08-03 13:08:30"},{95.0424:null, 100.02:'h', 8.1442:'q', 78.0991:'I''m', 40.123:"1", null:"300.343", 33.0548:"2024-08-03 13:08:30", 46.1769:'t'},{34.0641:"0", null:'x', 100.0967:'he', 73.1378:'r', 300.343:'can''t', 43.1132:'c', 15.1675:"2024-07-01", 40.123:"20240803", 88.0955:'a'},{300.343:"9999-12-31 23:59:59", null:"2024-07-01", 25.1171:"9999-12-31 23:59:59", 73.1412:"2024-08-03 13:08:30", 100.02:'w', 55.0826:'a'},{12.1854:"300.343", null:'p', 40.123:"2024-07-01", 7.1605:null, 100.02:"2024-07-01", 32.0272:'say', 58.1161:'is', 300.343:"2024-08-03 13:08:30"},{"20240803":true, "9999-12-31 23:59:59":false, "2024-07-01":true, "1":false, 'e':true, 'really':false, 'not':false},{"20240803":null, "2024-08-03 13:08:30":null, "1":false, "0":null, null:true, 'from':null, "300.343":false, 'to':null},{"9999-12-31 23:59:59":-120, "300.343":3, "0":9, 'I''m':127, 'm':1, 'k':118, "2024-08-03 13:08:30":0, 'yeah':-128, 'b':1, 'why':-76},{null:null, "0":23, 'c':null, "1":null, "9999-12-31 23:59:59":0, 'j':-44, 'this':1, "300.343":null, 'why':-86},{"300.343":-26470, "20240803":25907, 'g':32767, 'n':null, "9999-12-31 23:59:59":-7200, "2024-07-01":27093, "1":13008, 'q':26229, 's':0, "2024-08-03 13:08:30":3336},{'he''s':-22491, null:28306, "20240803":-22326, "2024-07-01":27419, "1":12002, "0":-9641, 'one':null, 't':8175},{'do':-182054238, 'y':75715916, 'how':203178881, 'just':0, 'one':1491919756, 'oh':-2147483648, 't':-491344092, "2024-08-03 13:08:30":1276023455, "2024-07-01":2147483647},{null:-1964546179, 'can''t':206197542, "9999-12-31 23:59:59":null, 'yeah':757652043, 'q':0, 'him':0, "0":2147483647, 'all':-704779562, 'we':-2147483648, 'y':147483648},{'s':3, 'with':300.343, "0":null, 'see':32679, 'w':147483648, "1":300.343, "20240803":20240803, "9999-12-31 23:59:59":32679, "2024-07-01":147483648},{'z':245, "2024-07-01":300.343, 'just':20240803, 'well':null, "300.343":20240803, 'y':27326, 'n':null, 'e':147483648, 'look':245},{'come':-3973377, 'mean':-1833009827, "1":-106723094, "9999-12-31 23:59:59":245, "2024-08-03 13:08:30":1, 'want':1, 'f':1, 'why':-9223372036854775808, "0":-7590247751801582306},{'one':-1912061851633311633, "2024-08-03 13:08:30":-4421170458046243718, 'h':0, 'w':-9223372036854775808, "1":2901776206864423265, 'y':147483648, 'on':1, "300.343":-7616385, 'm':1},{'have':90.32639, 'c':100.02, "0":300.343, 'could':49.111256, "1":null, 'in':22.037905, "2024-07-01":100.02, 'u':300.343, 'from':46.515648},{'the':56.630722, "1":40.123, 't':14.567861, "9999-12-31 23:59:59":5.6694307, "2024-08-03 13:08:30":40.123, 'x':30.892193, "0":300.343, 'b':25.234766},{"9999-12-31 23:59:59":51.73608381736502, "2024-08-03 13:08:30":64.29509028828167, null:58.315443072821495, "1":null, "0":66.47396714297805, "20240803":null, 's':34.776580091319275, 't':null},{"2024-07-01":22.375159631004188, 300.343:300.343, 't':null, 'and':27.601500514088443, 'no':66.94489492675899, "1":15.278599813609848, 'y':99.32236800585206, "0":null, "9999-12-31 23:59:59":16.514050991533523},{"1":94.0048, 'do':49.0058, "2024-08-03 13:08:30":300.343, 'a':40.123, "2024-07-01":6.1196, "0":300.343, 'e':6.0163, 300.343:85.0106, 'q':100.02},{"0":100.02, 'a':62.0546, "2024-07-01":null, 300.343:40.123, null:40.123, "1":25.1011},{null:60.1643, "20240803":40.123, "2024-07-01":77.1776, 'why':null, 't':70.0520, "2024-08-03 13:08:30":17.0184, "0":10.0430, 'x':100.02},{'j':null, 'that':40.123, 'we':300.343, 'it''s':100.02, 'him':100.02, "2024-08-03 13:08:30":null, null:44.0482, "20240803":12.1374, 'q':300.343},{'2002-07-02':false, "2024-06-30 12:01:02":true, "2023-01-15 08:32:59":false, '2010-01-02':false, '2018-12-05':null, '2018-02-04':true, "2024-07-01":true, "2014-08-12":true, "9999-12-31 23:59:59":true},{"2024-08-03 13:08:30":null, '2011-12-19':false, '2017-08-23 04:37:38':true, "2024-07-01":true, "9999-12-31 23:59:59":null, null:false, '2016-01-19 00:23:55':false, '2006-01-10 09:14:15':true, '2004-01-23':null},{"2023-01-15 08:32:59":1, '2003-08-15':null, "2024-07-01":0, null:-25, "2014-08-12":1, "2024-08-03 13:08:30":null, '2017-12-05':127},{"9999-12-31":53, "2014-08-12":0, '2017-06-02':-128, "2023-01-15 08:32:59":-31, "2024-07-01":-128, null:-90, "2024-06-30 12:01:02":48, "9999-12-31 23:59:59":34},{'2001-12-26 23:00:21':0, '2017-08-17':-8891, '2018-01-01':-18060, null:21404, '2019-10-23 17:49:48':29083, "2024-08-03 13:08:30":-27361, '2008-07-05':-32768, "2024-07-01":245},{"2024-08-03 13:08:30":0, "2024-06-30 12:01:02":32767, null:9079, "2014-08-12":-19550, '2016-05-01':-2710, "2024-07-01":199},{"9999-12-31":2147483647, "2014-08-12":-1848918754, '2008-07-01':329613331, "2024-08-03 13:08:30":null, "2024-06-30 12:01:02":32679, '2019-01-16':147483648, '2014-03-15 00:24:26':32679, "2023-01-15 08:32:59":0, '2004-02-15':-361214358},{null:-1239949812, '2016-12-15':0, "2024-06-30 12:01:02":-1762416004, "2014-08-12":644213179, '2010-01-28 23:36:34':147483648, "9999-12-31":-911560261, "2024-07-01":1392134961},{'2001-09-09':-8980719870329438568, '2005-01-18 16:48:33':-2998043, "2024-07-01":20240803, "9999-12-31":20240803, "2014-08-12":300.343, '2006-04-25 09:26:52':-1847057791263100822, "2024-08-03 13:08:30":32679, "9999-12-31 23:59:59":245},{'2007-11-08 18:07:02':300.343, "9999-12-31":20240803, "2024-06-30 12:01:02":300.343, "2024-07-01":32679, '2010-12-09':31290, '2013-06-02':1, '2017-07-15 20:34:35':5, "2014-08-12":147483648, '2000-11-07':-1296447750614602097, '2006-12-21':147483648},{'2015-03-05':147483648, "9999-12-31 23:59:59":0, '2012-02-15':147483648, '2003-07-17':245, '2012-07-13 23:30:20':32679, '2014-11-07 17:54:03':1099719659, "2023-01-15 08:32:59":-8895608957710095686, "2014-08-12":-813626380997286318, '2014-12-26 08:17:11':147483648},{'2002-05-27 17:05:01':147483648, "2024-08-03 13:08:30":147483648, '2005-12-10':7414979, "9999-12-31":907403105, null:-2489402127116005785, '2004-01-26':147483648, "2014-08-12":-280530101, "2024-07-01":-9223372036854775808, '2014-11-08':-1021908},{"2024-07-01":76.06611, "2014-08-12":81.75405, null:17.992836, "2024-08-03 13:08:30":300.343, "2024-06-30 12:01:02":40.123, '2010-09-28 08:17:15':null, "2023-01-15 08:32:59":40.123, '2000-03-28 06:25:33':100.02},{"2014-08-12":4.8923197, '2005-02-09':300.343, "2024-08-03 13:08:30":33.889503, '2004-04-26':88.19689, "2023-01-15 08:32:59":77.24417, '2002-05-01':35.508858, "9999-12-31":13.354152, "2024-06-30 12:01:02":78.30843, '2016-05-10 13:48:40':40.123},{'2012-05-17':300.343, "2024-08-03 13:08:30":300.343, "2014-08-12":12.975183313245429, "2023-01-15 08:32:59":300.343, null:40.340484197139915, '2013-04-10':null, '2013-12-20 01:29:13':null, '2012-12-19 09:55:18':null, "9999-12-31 23:59:59":40.123},{"9999-12-31":99.97627036883753, "2024-07-01":77.12650925395936, '2003-04-05 19:17:47':300.343, "2024-06-30 12:01:02":35.35311412646527, "2024-08-03 13:08:30":40.123, "2023-01-15 08:32:59":300.343, '2009-10-19':40.123, '2009-06-21 00:20:25':59.96240599051086, "2014-08-12":16.38820192277644},{'2012-12-23 19:21:07':300.343, "2014-08-12":300.343, "9999-12-31":100.02, null:77.1772, '2001-01-01':74.1615, '2004-06-22':84.0240, '2004-09-13 14:38:41':97.0855, '2006-06-04':40.123},{'2019-03-26':null, "2023-01-15 08:32:59":40.123, '2007-04-24':null, '2013-05-23':98.0601, "2014-08-12":300.343, '2003-06-24 09:33:09':77.1864, "2024-06-30 12:01:02":93.1506, '2015-04-03':null, "2024-08-03 13:08:30":4.1861},{"9999-12-31 23:59:59":27.0340, '2013-10-10 22:47:15':null, "2024-07-01":40.123, null:100.02, "2024-06-30 12:01:02":40.123, "2024-08-03 13:08:30":51.0832, "9999-12-31":100.02, '2010-10-25 10:03:00':83.1306},{null:300.343, '2002-01-07 13:36:02':35.0789, '2011-12-08':18.1395, '2002-01-20 21:19:21':null, "2024-07-01":null, '2011-04-20':100.0971, "2024-06-30 12:01:02":100.02, "9999-12-31 23:59:59":40.123, "2023-01-15 08:32:59":40.123},{null:40.123, "2024-06-30 12:01:02":73.0168, '2013-05-07':3.0344, "2014-08-12":89.0355, "9999-12-31 23:59:59":null, "9999-12-31":40.123, '2009-09-06':null, '2018-03-12':null},{'2001-10-01':100.02, '2011-03-15':40.123, '2005-04-20 05:18:58':16.0686, "2024-06-30 12:01:02":32.0667, "9999-12-31":26.1856, "2023-01-15 08:32:59":95.0072, "2024-08-03 13:08:30":40.123},{'2012-09-23':100.02, '2017-05-01':300.343, "2024-08-03 13:08:30":40.123, "2024-06-30 12:01:02":97.0674, "2023-01-15 08:32:59":64.1354, '2019-08-01':40.123, '2006-04-17':40.123, "9999-12-31":null},{"2014-08-12":67.1275, "9999-12-31 23:59:59":61.1912, '2009-10-17':91.1716, '2013-02-18 19:17:27':300.343, "2023-01-15 08:32:59":100.02, '2001-09-06':82.0035, '2017-11-05':null, "2024-07-01":40.123, '2018-10-08':null},struct( true,2,245,null,-25381,9223372036854775807,46.220398,74.89585998626706,100.02,8.1152,300.343,null,39.0999,81.0620,null ),struct( true,81,21201,null,7604039563261787764,1,38.690334,300.343,100.02,10.1360,100.02,96.1751,300.343,61.0362,10.1497 ),struct( null,1,19742,147483648,null,-4316170623402942437,40.123,100.02,40.123,300.343,40.123,null,77.0720,40.123,null ),struct( true,-128,null,977833096,300.343,0,60.896152,100.02,null,100.02,18.0270,40.123,73.1790,300.343,null ),struct( false,26,32767,-1246779595,0,0,100.02,null,null,36.0213,100.02,300.343,100.02,24.1833,40.123 ),struct( false,-55,6038,32679,32679,32679,70.200226,75.06599557736857,28.1956,300.343,20.1552,300.343,40.123,73.1487,48.0186 ),'{ "c_varchar":"him","c_map_int":{"c_map_int_1":664788850, "c_map_int_2":-2067632786, "c_map_int_3":-2018363569, "c_map_int_4":1158851471, "c_map_int_5":-204194262, "c_map_int_6":96413570, "c_map_int_7":408203299, "c_map_int_8":351152397, "c_map_int_9":16259603, "c_map_int_10":1931183735},"c_map_bigint":{"c_map_bigint_1":-8698467944496011397, "c_map_bigint_2":413407261812395075, "c_map_bigint_3":7409520852012759956, "c_map_bigint_4":-2320768441244274186, "c_map_bigint_5":1615179194178565777, "c_map_bigint_6":-841606969825952642, "c_map_bigint_7":8166166131968847044, "c_map_bigint_8":7646124066219538971, "c_map_bigint_9":2049056909527075513, "c_map_bigint_10":-56054532813261167},"c_map_datetime":{"c_map_datetime_1":"2005-02-17 12:18:00", "c_map_datetime_2":"2004-05-13 00:16:08", "c_map_datetime_3":"2000-04-25 13:28:21", "c_map_datetime_4":"2006-05-13 16:34:40", "c_map_datetime_5":"2011-11-20 12:32:26", "c_map_datetime_6":"2013-04-20 20:35:37", "c_map_datetime_7":"2010-02-26 15:39:13", "c_map_datetime_8":"2019-05-27 13:39:46", "c_map_datetime_9":"2005-03-01 14:25:15", "c_map_datetime_10":"2002-03-16 06:01:12"},"c_smallint":-28345,"c_int":1396189218,"c_array_varchar":["GtTfjWWHglrBTPFwuJWOyEHQBxoFKWpVrmhhfyVQRQZcrRIJtcoRoDoGuqdkxuDzPWzLwGimsPsLuxLXGUNLjfTbiXeZJbhoEZlKwmTdVKJdqMLPehMVcvQiQfEVxUSnqhOZWRmQsFQbdCZiYlUIcNrKtNPiuafrQxaQWhPOcJBgsrnBlwchmnXIOlaFmLEMEttWaOBidItbNTuXaoYrBirLVoRBcurkpaemZAeMAEOkgIdprHGPjdLOtJALfyvs", "YxPOVYtyQSpBfEfDQxTlsHYmZxzzhJoUxaSVHxDsHPAzKgMqJzzllBKOFWawYFcShdNcwKFnDRuuxznkHbxBsKPBaeYUEceDIkMtxebbWPWpJDgETBiFQDtPXFOWsWXJXbVuXGKOwMcjUipJiQEcNvOwOJOncgQTfAqnYasTPAMOEIQSDTHcIYXMMgxnUgCPGzdMUdEDzpPSfPTFwIbejlsmoDXvymQMhinBMFEjWBzKIRFrvcdMBTwnXWRBfCQa", "ArZsrDdsbFyibikVaqOmbXSkJmlCwRkhfmkzIDotdAIWxIxmaXTXxFTIGzZanhUFGKNutFmGGZWxkLYaBHALGTLVmCxyaqtgXapVnecnUJwtflFhobvKoVLOSeIoMriOGCbrRVaeFaFzkjGmGRelBdhjfFoNaFOqYVqbkvhuVhDeqxBMUfQsRwlwbYqFtosIxeCGQcIyrvjdQPcvnpJGcXIDDJLfQqXrLnHkiMqpTAxbGDXlgWsxeLfOIkmnKVvr", "abtSiYHbMDYDPdadtAPaukhTtPdYsytPUjWFwfoyUvuMHluKxPWjKhLPYfeuCqEAYycVFvqemWbndewCzCClhOGYXOlMWYkZBsJuzaTcpoNKjRKnMHhoGbBHayKupCpbkYuxQMUruFCuAEcnEzxtkIhHfyaoqTwYhXkrDxymKvVzWCJAnZuDlSktQypaKfCVOewsMkFlycPnaXLnfPRULHoGhISRpbbuydWxUWbsmbnSryjCroOeOOwybfVYgTio", "ZbQoOJQRcqXRKwdHKcNuaecBOsNmByKhfonBlwxATOnboHVsfGWBDhxCNvuDuzOfdhOgJyzusNQKnpmmzXSENJcqwnTxIFoqepeqAmzceYDDShYalUrXeRXCBMEbvpJcgkuxOMOFSghqXeHbNZgoeAhDhYeDXofOvqNJGjSlHNxJbfvSCrmSXBzhRuBqlvevobxOfIRplbQcFStwthVZfJDdjUPdaAuXlofKAHrDSRKUkwAXwiKXPBmcvMavdZUj", "dvsGYTNvIPgyTjvCGicrrpvkJXIFzPkrqdyKocHXnFCOexIGOewbvuNslSTfWapANAMfHmGCogWaAHuNYyBkdLlbBgGtWTsEfMcwYMmDjDgkpoarIcFAfqmUSnFENKxuOczNoRukTloWJHNEFFgPezbYXXFrrhuIxHSowhXjBvktSUgVEDZLwCrjUCryRDmVCNKWyWWIxufaCdeTOjVJtRlXhyiYmcOfIEtFwYYdJfdMjEIHGKamaYSzqEZQagBC", "AfPCNIxwapciDAlMrSDQyfEWckPxejtVsRmAIqRhCrPqMSCPIjPJXtGjAIsnojsJxgBByKqnXUFJvmVBFCsIXAmUQzIAkICfDYdvRyEDUsGbyjbvZviGQptsUHnhalzMpZfVzPzSPVfarEMQNDzYLXdGNInbIlZwAUIvFOPGdWymTxcahBGeWXWDEgxFKnomBzfFzzqgStVRcTwggmdTfVwmNlCMMppytiuydIdMEBQqivByKKzdEGEQBtkQraaH", "SKFWGLfXbbZoOCrVpRgDwQwbdggOnRZTguRlJjlgDwTRHOmgYyZxMLgwibVVpLFEtjHxnKklpbpxTyqXXbNJODIjyMvMUnUoiefazmhymBnElyrihXSOFXVDlauKXKitCnYYxqxwhaeluBJYYRkDEcfwSxoTgSpPVkXCPhbfenqpeABYtRaZxaTcTqZVFlqlqYVvbgjEcmehkXGWoOEdYuTtkEBIEFxokxPCqexnPRsWdAQWZfRCJuWnPinVfxMo", "ECxZrENeGVtIKaUoJXwJvVWcJExNuJxAfOTPRXOYxDOfHegwAeQstvoFiegFDhMllMRejUuVkiozaPBZTqSYIGktqBOXOLvTpqpyrCjeWZkmnXMQEMGrwSPxkgFErmhOCkEgXAMcWclqvqQJBSGINuIOAazNCyUWqOgHsAMeVgxXqlEzfPrWyOzfEMHzTzvWsEHhsbudYEQNezgZRucAmFSsTYkAerGzoQpLmfoaxisnWEmfRDkQIWhnFpmzkmLy", "TuZYhFNYnsqctzAvjTuSFqZBbTYChSGgpXlGTRhKWZQHgSYlMjBjWYLqLeqvFpXacdLmcmJaERvpZcompHiErUogPmkYfIzHXpACqDSIvViGXphwwgGbSenxsMerIGPnTQvBESPqvBXonMzuwoJHRgkslxoyzfShZFahbpGohDvNHhnuoRxrGNAPHUCOnJUIwzqAaSVMwmHOpvOmUHldtfRGwkZzGbdicSzkpdEIGnyhUIRPjMoaWHTMMhxLrXaN", "QtSUwPMxScENeSxQLsRMNhTVHOPKTfMrNMoqxWwmywEVPPUBBObfmRagKcRpicwVkKooHmBxgMiGAtNVbymKjKZIelanLSPSiCqmMSgiwkuojrYCFDbsFlNUYLEOJzOgUkaOfLwkTnoYlmxqjstvrgeapYkZMMmAfjOlQMIaMQCbiugMqZyiBbZNLLRErXOPNboRmOOUWgEjDviTkLmacktfxNHZocumWyAIBVHAzGlTeeZVOYYJTZSYXVpCuqcK", "PgCPVIMcDeQDbdCiLUjOWWZgAyNaaJsbyYOijfDJWANaSUXWINwMpBDLTPKIqUlSaturvFhNGoeaaDimwOgixRgkPmAJTWFQnezbOZBkGApqbbWjRzWOPbmZWWxtsmcGvsUwrHIAGkQOuWfwJvrLQwEJVKKrzTwhweDImUZajANqoqmiQNaBzlxOOyXETljOPjvkJlXqfsRiUgFJtkdlylAljZuZNOuJXuPpVVxUpokIIIizMWoryAvjUhmIZezb", "NeZChTfzpThOdfFMlkdxfMYnxmrIxhgtVxkuDwqrZEuYtzUCtrasqqdvBVAGSOdIIphilhRwLtVsyEoFhnuBvqcyBMUyVqRymLsiXyDTuHebtBsqmFWaUZFriZHlFaiDBCWushndnfIRCrsqvRfLqJVTDlyCvRWJGuwoTjUxgCiskZGCDKzGNIkPtHiwVjqUwTsErCXHkQwbCdhvFWRIPSnBcjaybxmfMmLxxWbWGfXDKzEtfwvLoqhPIAsNOpwm", "AIuHNutZDQEzGZPaaGzntTamkGRGXJNiQdgAgmnvjGwCEMUFkZzZkXQvrTAwEBfisaAhmZNitvkYQwPukMgPPUpDZfTcOsXbvsMSUbWbiOhqNxTKRoaSklXrBdJJrGEgpjjPsBxMirTaMnWfrCsxRIzbWcIAbvfmUdDyIOrHoqTEirkXIiSEDWXJokyqdDxbpmcwkkuWmYxUstXPZtOCXFaiIEeqUZdKVSWgJNzSZLVmRIOllgNJDvLEYhApBXzj", "FRgJpPwWStfFguPJmbNfWrWkOnqOuJxQQknZLymkRhWcRuQtYOAKaBsqgQaiSNWJQPgMgoBhVrcyRQNFahgYbTmREhBGvWatUJoGmVACmAGbsVTcIYiRwCrDMnvUOxVnJaLvzRVjQnLQkzwmHPTAMAEjixISwgIlRQllHtTtEmJBpNMkErSKLnrnZLEEdnEqFSWickdXJYnwcYmxbNUIfjQAWgUJyxEyUCtMJKEuFBmdowZBJcknYdkCsicdqFRF", "mOxNotPALictPgfxUmDfwcjBEFwYICCFuplUTWUPzckbPBCWJOFERipqvZvrZiNPrrtUSdRGZOAbiTGVqmmLZMvEtvwuxOntKdaDmhecoTjeVlUljIFCkquFTBbktjupbTcMOvlmAPQmblJkXdoLzVbHtUxTwIgWnwEISNWnfHuKiuBnmxjWFtBinXAPRqOWpBFoGLDTqGjvojzACiKuCZSziSUnWUmDlDTninVwfyUeuscgZNkoQtWGfvdtseKc", "aJtdZdeGRlppZhIprjGUMZPDKBgLvsTfNPCDHdXYozaTKqGZjKVeMJLHFCrTFaMnaZUkEmOlUuPoFwxazOaFUsxqWMXFRYwKpSKhcnigcpgwXXQBZMgLLzAMKhEgdJpnvOdkOHAWMlhrrmMUcjpycklCkpYSqnvzOWCWyIebdtKaapmeAaSFjJZNZVatvtAtlFgxcMdnwkgMqfStYRrJzYKARPHEjUghngKmAeWwwhynqmnSzrrFKjIQAKKhOAWe", "zwQdlLLtFrBUIxpPEwHpgoyJwpqRsFhIyKDLplvCnLblKbLNvidxFTJZtPoRyEykEOcXbthzuMMABIiXhOnOCRcxckwATksudWCjWfHQjGrbIEiEcYPROoFQiiPBToqtiiexAYFuiRNFCedkUAZaJnpIehlNgpUrDfnbNvxFjBXgQiDMXwABmZqgXfVXwdmiSXBmAErwOwEkjCVbqnPDfrWmniibQtOIPEPwZSDUvTwQCNnpKVwysdWiumObKxSd", "WXQFBLFHneOfkiPVRHKMdsfWnMTQZhMGUuxkkTpsXWARdiHElVCKXmpzLKAhzgHdrfRPJsGknAJziyfXjzdSNivNwzUlUUIFcNPxOqYaAWZHSWsDzBdzrkTVYazAWGcVXnccvfstSAsWZVyglLfhONLEufLHRrNJpGKFArkPBTpbzTgJdzhgGBSDFlvfIqZjbEaOOinCxSIlGIdMUCiASwrjksSLjlatugjJRKSRqnJUfiiSQHbIEYAzohNttjqO", "ZWvHqTYUBoFUahqcLOVDDPiYrvxrrnCsXaMQpXSwbehFtyDMzrCwWeJxUFyqpjmCMGUosSIDHcxukEnMaWiURSzhFEPlntSXtYdltJoNgQFNqmWBDzcrbLMuZDzFQHnxJnqCXAnPgPLKmEeFpoeTjGjKaIMFYzpRkDajFdRkabDxWHutHyMcNbFgJvTVqugLbrlSOYovulQHwdmqTyaKNhElrYJrTrabnsfjMxBKClGbqfPUoSJOwznaycmfOjak", "TdWianwPDdNbMPDblFcSpFiyBRasmafBdLMMvfmluzVdGHUBJPDBhfiEongmNEtyELuBtvWbPVPzirXdddrBjnkCYPTrhvxrHptXEAfhtsadLLoevJcdEdsxMXBpSMAAInmmYttaCMmOrJTgELjYyajznnNaNgqqMIUMflEEnkYyHZUMICxYIgvEhPNMFvLDEhftPgDAmceJYVxJuOQVMaEHtyWOmcdqIZdBtGiJNGUkVxCYCBHFUDngEWxjRWXt", "pFinIGZyHJMZquRmdBTQwdCrkZjppzLmfdXKzcqubrLjFeynDWSpkVZOHOzTomFoHesWuuOvqmdGqNEzrEcEXzvNoTurAPWFmkzSSsHkMUbFbOQsOZiblzjcNIIkozlAaKLtnyoXbERqVQbLsjmfjlcyQitcHSHgdrAwtGqGBKgmiOuWFGIJUXbtMasAMpjLcgTQPKyNvToGKpwsPiLQMWTdkCsNEgFrZYOSKSIoSwodXxWrqsKxBIUyFUbdvzLp", "LBUCCyaPeniRJwOavFIGBaruaPmiIvwOlTCHaJINzGLvZEqFUVVNIEEXACdhIJXZaqkWOJqbmiCPyuqhCbtOpjhjXllXuaGfWchxjgAiPtllnPoTslCBoZyugFjyMghikWuVBfBjHNWsSzhMQzoSgDKRHuiarJffRTnUgFPCBlBpOlIfTPYtDUnRAjdBEptORPhmkYnZVuUyjapcGTnTDnuvsYZDYWhIZfQueongIAFXsYoofsbKjNCLSVJKExcF", "HdFLUsFVMUfmkzmaflShbjQLnuBkksZwKowNuZrdvzcdejtHxnukvJehBQTMdTqJiMSPvxlKngzYshDkvoemOmUWiuHotZzcNMTHAwuqjFHQvKGyQBxLwYjjkMqqNyaDDetYeBImhlaXkTsrEvOpFHNydVmExqzhuJBPGpAmalDXOmmDnBhdmiqvEWQxdyrvHOLndLYyDpFpLkOZwaxMzpVZOpAfaRJzCMpnBGvghThuGNwlAKVYdAHkkKtHKKnR", "TEaNzNhebeXPWlPDZpSouFUZzPdPRuwTFrVktVCUDZkKVhJdRwlKYqKNwbbXDTeJJANNGABSliuoANZnOyYwxyAQCVJYCzldKCHYzDeAWwWOYefGhlUBTQelYCdOFjkgbxVHgJEvLUytXSHbaZRpUNlGvLfxIeHKvfNoNarNAujxwUqjdkvymyOhaOhtZLZoifONjNcqinlQTICYoCmmfSjIAMenFsIcjwSYzILXEdnvUkPFSalbLXkOdHAWnNcY"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_largeint":{"c_map_largeint_1":-4812285552013253271, "c_map_largeint_2":5871097462006383998, "c_map_largeint_3":5223720408421229177, "c_map_largeint_4":252377669569454075, "c_map_largeint_5":7254011145253899351, "c_map_largeint_6":-3298685193780774636, "c_map_largeint_7":-8844031209015519581, "c_map_largeint_8":-3059866803463738436, "c_map_largeint_9":-259495625517062547, "c_map_largeint_10":-5202809660090668908},"c_map_double":{"c_map_double_1":46.21109740903857, "c_map_double_2":61.81876148941894, "c_map_double_3":53.5948719096208, "c_map_double_4":57.23977951412251, "c_map_double_5":90.71111187598751, "c_map_double_6":86.04314282295077, "c_map_double_7":86.050559467353, "c_map_double_8":53.06884989901502, "c_map_double_9":74.75965458524297, "c_map_double_10":96.50808350527942},"c_map_date":{"c_map_date_1":"2007-10-08", "c_map_date_2":"2014-12-10", "c_map_date_3":"2012-05-26", "c_map_date_4":"2005-03-15", "c_map_date_5":"2011-06-22", "c_map_date_6":"2001-01-10", "c_map_date_7":"2011-09-02", "c_map_date_8":"2000-02-24", "c_map_date_9":"2009-09-23", "c_map_date_10":"2005-08-27"},"c_decimal":12.1299,"c_datetime":"2017-12-25 17:24:10","c_array_float":[69.38857, 72.62639, 35.970364, 88.00888, 45.7974, 29.144773, 98.16527, 49.405373, 55.88733, 47.866356, 27.132051, 63.2306, 43.914993, 67.214935, 0.92395186, 28.208881, 77.67735, 53.336315, 21.340506, 80.57727, 61.521816, 70.468994, 99.66186, 60.260456, 29.52875],"c_array_char":["JfVAplpnEp", "cBaDtBwaAx", "FtvGJLkNKh", "bsslbAGSUW", "wuMyofQYPk", "vBrJhCbled", "xmCxWspSAl", "tsDBwbAqOi", "HhGasOXzwp", "bDZpKDnGiL", "eKGwsztWgv", "TJqVEEGVaW", "mqjcqhGrJV", "rVNiYkEtvj", "nIqHKcYdIy", "oKPlthyIEb", "hsbIvJNxFo", "dtpIyMLxfU", "nHzFUSmITE", "MgoiHahXxZ", "lrBOmOCFWm", "oLBKbSAzCS", "frTNcCwxYU", "aFYIWGCrpb", "dXooTjFAgC"],"c_array_ipv6":["eaHuKvuCHu", "UhsrfKYsYz", "nzfBygeEYd", "PlDiEFgOUQ", "MbHvUxUjXX", "qfItFzpdcC", "gANVYAyinR", "xAkYWhqXQl", "ymyaevGUkm", "AONTeavCjm", "YzdqINssuP", "xeHizxaDOb", "fNUecRGxEk", "tVBOSjeGLN", "MvVpNkoGDr", "FsMVpsrCtG", "qMdjvIkiCS", "PwffwtXJbg", "gAIWphddqu", "CBJPkslBMO", "IZOakilRkF", "PvgxiBCVjC", "lyivgOrpNy", "dizjTOCAoc", "cVGwjKzqEN"],"c_map_decimal":{"c_map_decimal_1":66.1295, "c_map_decimal_2":58.1339, "c_map_decimal_3":92.1487, "c_map_decimal_4":53.0004, "c_map_decimal_5":76.0286, "c_map_decimal_6":77.0826, "c_map_decimal_7":87.1350, "c_map_decimal_8":1.1188, "c_map_decimal_9":50.1260, "c_map_decimal_10":96.0446},"c_map_float":{"c_map_float_1":28.959513, "c_map_float_2":95.29687, "c_map_float_3":82.0429, "c_map_float_4":10.595944, "c_map_float_5":64.51273, "c_map_float_6":23.038609, "c_map_float_7":42.85913, "c_map_float_8":44.225136, "c_map_float_9":71.64814, "c_map_float_10":34.12451},"c_map_string":{"c_map_string_1":"HJymdVjOCRMRsXlPSUEBgbzOqoAZcdCyDiiYMmPqyrYhafXbFAKonomYHVVetLVjyRirJjnnBvZKsBJFlVxTvfpzFUNfxcCJuyGILxjOqPxjJJHTaWwKexsBNGqEVqOmpZjknUCVhJOBofBdnzzxMcWiDnMaWVkSotwXgJazmGzQNTrSfFgSNfHOmCmlmkawkbNaBPgIyEoHZKJMDbiRknpsuMvOFYKLCeIaqbDMGTGZiDFpyFXZaUnFsMJwrvSVZZTctipeMlMNvTIWJEQCTSLzPznKSaHsQqtJDMofPonDeyPrdbhZdMBGGYDVupPedhgpCylzVgKhitLNfogxjcEkFTLCLwjreJRbuMNlzQartyhKAOenoppwZmxuPanFjzDKvhDuVqiLgtkXdyIYdhSZhfYlUDFyTsLRPdjPmNzyONAMsagMBvHRkaYznkoZEDgIULumjfRBcOuWcAOPdGwLyGLiQyXPMhCtlDpZWFHpnLTcSKOAWeXivvlbcRGX", "c_map_string_2":"VtQSEAeUUZTvHFigwwCOnTDKMCtDCKpJeHQhVshiJWzvrHydVQPShnDuAYYcFvDPWCfEShxgVBllNqHibTVRwXPfjHPCKfNgIdnbeKBiAYYmSMyGmgfOdsHZSgvPwyfMDAyRETrjXXuEqCelYVmANkBObgnYGtzfXNqsgwNzEVBqBchUCnRnvURBJcQfgSFGULyXYFFuIXZLXaCADbivdwtKDypngacpOzSzAsuLbOCaxGBriIiGwVgkkGCAysRKBYANTcgSvkCaVvEhMeSxrdxJzTwMymqjzxvyvaCbaOvmlKiMQTFlWkINbimIjXqypAYivhoiYGfZjQntcrqgqIZSDGdzcemTmgaCDpUmmIdHOXHyewKLsPssLFSIguvaCntRgdCskWRxDWJIiispeelLXdalwiqSLgjEzqCsTPkhzjTzDdgsbDWLKEWTiooKIOWCwPOGZbmcxRLJslLDFVHTGtVhugvMtnJvodIOJcXoouJwpRJJByXXzBIfWgiq", "c_map_string_3":"NiIyJfrERHjZclwkuvoDOyjvTsvMpLkRWfYNlndrjOpOLtyFFjVhrFSaNPxBKhFGTNVnDeYKdPAYfkLXfpNAwRzXwseTKnPhadCEXRuzRfckEzflAKAxubqPEWMdZAZKbPQmWYedZRzVUtrMLaVInxEJekuoFpWVfTGCdrnPDRClqMxWfipmtgRqmExCEsSPISLxvKIADHNlwuogHftqduCcYFTyouzPajnVVBIlehaQAnhxFJkBJXihidUsFHpCMLAGtnfHPqBwsJdBQVbaWkSealDHnfTKBLHINtFQGsUhlbWVvrkoRhyQOhfquMPitgZKkFYGpLNAeuZIAVSteCZNFKTFOuyntLizQWasJcUCtzXCGdtOSvmZbaXcCoYceGHCxGqaRoChDtZBgYBboOzIHsmbcBQdikiHxqmEdPEBaVecJzFfZYMMBhKpcMQXLlrlNbaSDlqtIjhcIUyZWSAMYFwHndDkJjUwuroEpZVNlsqhqxiejEzgoYKlFlZv", "c_map_string_4":"ROBbBcJUzJkfLskyQRSFXKvmYMaLBeIyLpilESuJbmGgiOnaGkjEzrqjXmApyxfKGWiagLBDKMhsCPDGBgbnBoTMdXNBBXvPzPVLyoOWXLYjcLZDmScwSRzVcdSnPpcwqqWFOEKazGuTbVghuvkNnTxVmnqpgvEQWQQeiQriqNGCDmgHRWYaojAcnjJcNlStGzyLjEbwJdybXFXkKNvamMLYIOxmWzkqdWGSbszuLVkAhnVVXnrxxEtCmftartVneCucYBOTsrTgXmKsLVPVyiWvXpaqhOeCPpmQMaiGeUxZipITcpotPlipkwzBQilrjLxjWzxccNZzHQMTWKuMGmJsbWrDSIxjLXuDBZFQqBVEVFfhOxpNpjpwtmyhwOudvAzIflOmEbqTJjWPTnDMCHntMQkjsgKsUXfrPchzQppcVnDhxEaShkcZYRoguGmgeqTPrlNhHfITdIvhgjotPeaxcBhHHlflyJTcvdHIWXBxWgGAVjWpliphtZsqixGt", "c_map_string_5":"UHBbzWYYqdPgQeqRNNFMziAaPbUVrRzbPsrZliHAXlKvmQClnHWdijbKrvZcdcgZPFRKUycEmOloHpmTmgpmjInXdgFrfmkzHPGMKpVyoImmxVGbvHxtCNMnnJTpqGRnpGbWDpaVPEHPQuLYmZxLlkHUAooaeyVfxZzhTFGzkGVQPcKFWrbGfDSQRdFwhyAzJkWpCJHwvdxHaBiPcSbqRYqZhnmBXSSZgKCEvqdmIEmScWGXDMwVPulQIlEdRctJKEkfoPtnXEYhjTwZOsMuBEYbWsZYBtrqSNUpAaCNZzGEJnrwtvTRsZJPOKFLbhfyVWjJlHWyQpPcdiLSmXAMFZyPgBIYGLhDZSrFrZajMglHKxtqLpoUDtVTRctSmzqiaBdUqJChhNPGYTTXdokwQwfMbbDUSobiCCwWkLkQksRiZJbtuUdwJaUcYAqOTNqHDasNOZyDBhdatbDGlRTyLnXRsMHKEjCAjoBnXlrVjoXqIqiFicvgqlErKEqAkfPh", "c_map_string_6":"nPpFOLpMkjGlImDEqmwOnwYnMhWNzZlqzEozNxLOzPrlnbfpGtvPVOQEEZYWdRTVvbkhdolxGdtoUxXSEiJiFBzpNeKAgMGhoKAsLptIwzCgjZabrkFWxXPoYHgvjHCGuxeSmvGvvZYkWTNOsmCKBrJwrrbLBbuuguyukNAzQyqfuohBblQLGsVuFMdOWTUXazmkXSNgUecgWcLTEZeVwJdjsVNOAmJDFKzxKXaMGXXuIxjHVHcFCALdMrmmLQhZKHheytGULUshmmoRqoevgvreOXiVfXEOXMKczhuuzJjNfUSgQJUDNmGeRqMGmXuoCyUgFVfcptitIhvfdckGPbZGKzTEymoVIVnslCFVrGlRYvkkMmNxsiVzcBEQhCtxadcXNQsCCTwkDrwEHQOqRYyoiplycdppJDyfUGQOMqEDMXBaOOnpDWTxRYEalUqwthndaOzmqvgpnvrgSmHwfFTrORrOAJyqanMEBPoxEueEBcsZNeKulCfebwxnAhId", "c_map_string_7":"sjVjuASOXpcBrlzoVHAtJyTyJGcuarZfSBmYOQnKCHJatvNZVcTIlFxqNSexbEIyvGfmQmVFvReXvloAAPsRPKSmIyPVhbgoXRCdAkARoUILnMXvDEAFMXfaCqJhqcKWSGTNBMRUKeGqVHegIFUYktFhCPkQtYTVAaHmtFDJgStgyXLRjsaDosxDcyqyfwtcDKCYZdtinAjfvDHSDYEAXHKJztTDowVQtQjkIfPIuaFZfkraDPlfCepteLbeVZmNDukBqPffDINyFsxRiNGukadIAPTGUDHJiOfkDEYdEPSYRXHdgSSwdZgmBtsUWaIZNJfSXLRfbfuoDnaZNdOsizXeJSoYehHJbKIfETwXQKgjFoaHwiiniFcZzsEiJMTidNkvlVvRbbiQXNijYAJbmfZkNOCwtXsGjorQNlmvZwNQxULUBtFydIEKKQYZHEWlwlazviDXgizPJqxxDydHlkFTIArGoqnkaeSfhSzThuYDSTXtDxVYCDdOcajaFbQf", "c_map_string_8":"qcJBLdMJKraxqLXvwfSybWGMOKMkXlYYXRvOawtNQbLVTwPwWMlodjqqtRLNunZqIvoGsQYCGtZRjMfFPNRnPObnuKrgkbvppCphdZFpQFthaaOsqecGNqUQzCvDVdsmyHyROpOJwPPvVHqGgZFuxHxmPxSidWECWNOxdGrHrMuAliBQbqGFxeKGhOpDJGSZrDSfmosnaqQwXLjDryorDnpPfrnVmDKvyhGUNlFiriirmvfmahcICYayFKMYbvtmuqTnbmuqBuGchPslZpaHrdRwWkEJwpuicowbDqzPaRVoLzvgupcByptehsvdUWbejvLGEAdifedusscdgqDjAwZXeuzfbGrvFaJwIAcBwoeTHllRTXSnlZRXazKtbxvrRVRCRLPcACvWvJiaAGMRxvBOSZZsQieJgCIRHiDaIrAeFJHioejJEGDFWOFUYJFNCvlFKeHcXXvzwRbtgiufsSAwBsJwNXMOFCxRnFYDqjiMxikpdwbyediMMLcLfEgM", "c_map_string_9":"KEHJvItrjCRESckICGdhlwQckbwGTNbdTGHubRzgyHjZkDWbtYosqwpFAjvGhRBBOhFBhebzxHsPOnvGNsopWXvQymNbjRyCWNnEOKRzcqSeSAZLTRGJEukhsyYqfbPcTDIklVWRQFaBIGgddlKExKCLZdEwZpvqDBOTGZRFUvAefVpwrvYDYAhhrQVgZFYARVKVDxBtyLBAhJEKexdUnVAimFYAwkOQZZUVTRIWVPMdGgafNuJEzNdWqVSenqRiYJbzUgrXMwTsGmNVBSvpeuHdavdqKHKHcIbTOTNQCXaWwWOmWdhHWQzBHAmAkGIiroYWzTZxeQBFUNewtLsHpYnmKKbEGnsABLuGISrRmhpsGUvEVWtgXOUBvpqoSQNXUPxCtGlOHHtsyAQtoaftzHqZdHHcfUhNSXfsFKzMVeCAqpbgTnqfUsfMBvIWIVhyqXQlmVWFfcdqMtmdUUpPYpjmwiQQEBKHICIRDdxGlPDSnoMyJtFQxKTyixujTFrN", "c_map_string_10":"mZkdkBRWRVMTAgxCvdRfYdNwBXIfnyRnaghNyYjrGhrQaNffcCWqNWEeJwSBzszuPwlYTCpMjCPlFCNTdiETXLoIVYEZXeyfAALRJwJwhQHkQfkzKHQyCYktbWnirbbrpBXguTgEiXdyWOZoRipbxlIcPyFzxpCsjOsRMyGyQQeZqSTGWgsfzFaHsGIvdDuAzJaHrKEXWbBCXMLxeBFeVPeEzXnxjRSrYCpvTpHfEZdGSGMSIIIBHpQZzzXipnSnjKRLGaVlcMkMGsykmScIPQkVSeDNpunMIGKiJJxhaoRTzHitvCsNOmGVduVysrQJEfOaTRWhehwpLovbHcBVSsSlryjdJIuZVnMPJhvRyyJIQGxJvfmIMpATyBCBpWAYoBgnrFbeIhzEeWzWTplwFhRjELCjDTWxhwWghlMeQISoeOHvSBtzmggBFdQmVOgEBYbhMSqEjvkuBTXcmXLfpHPXDfpMJbcLnnxuHOrDvHJfcrRonFmbPNUakGZCdDga"},"c_float":8.531587,"c_array_int":[1913640448, -303367182, 770578090, 712537209, 557362913, -1407836557, -1082382346, -157218294, 1873772390, 1026761244, -516288397, -1631844773, -1234773134, 1022731853, 1142192789, -1611066903, -255797460, -550032475, -418537694, 869865059, -322301601, 417388038, 1050255963, -703903205, 1344007845],"c_map_ipv4":{"c_map_ipv4_1":"108.118.126.95", "c_map_ipv4_2":"142.76.34.138", "c_map_ipv4_3":"76.96.237.69", "c_map_ipv4_4":"15.62.157.202", "c_map_ipv4_5":"146.251.64.116", "c_map_ipv4_6":"239.82.172.213", "c_map_ipv4_7":"70.124.82.131", "c_map_ipv4_8":"143.10.155.68", "c_map_ipv4_9":"232.145.99.122", "c_map_ipv4_10":"222.97.215.220"},"c_map_ipv6":{"c_map_ipv6_1":"59c4:e9ac:5100:6545:2e4:ee3f:388d:f344", "c_map_ipv6_2":"d7f4:259c:60f8:89f9:64ca:9302:762c:a971", "c_map_ipv6_3":"6b0e:b8d8:3c60:4057:4d5b:c027:47b9:1ce9", "c_map_ipv6_4":"5ac3:72c5:6a4e:1dc6:caa:91a7:e65f:b24c", "c_map_ipv6_5":"c40e:7542:dcad:11b6:e86d:db77:9661:16ba", "c_map_ipv6_6":"e57e:8abb:341d:ea0f:7d84:fa74:4d1c:7405", "c_map_ipv6_7":"8aa9:3e66:5cbe:af52:9534:a3ad:d965:9f69", "c_map_ipv6_8":"9933:c3bc:6a1a:88b6:806f:7116:7496:b0a6", "c_map_ipv6_9":"9b3:19b:9b65:bf1a:5ee8:7d4b:df80:280", "c_map_ipv6_10":"c82c:a3:10d4:4666:b00e:74df:36f8:8927"},"c_map_smallint":{"c_map_smallint_1":21999, "c_map_smallint_2":29496, "c_map_smallint_3":17688, "c_map_smallint_4":-6837, "c_map_smallint_5":15442, "c_map_smallint_6":-25735, "c_map_smallint_7":-31995, "c_map_smallint_8":-6664, "c_map_smallint_9":-22735, "c_map_smallint_10":-8110},"c_tinyint":-94,"c_array_ipv4":["DmwNOzxEYM", "XBVLJSPVrG", "zfEWfGWhsJ", "OGRuNkqXaa", "EtbTECjApC", "RanyvRhPgP", "GTCxrCFrjT", "nIgsMQnZkp", "JoMSYMKVCp", "yHQFuCfYTG", "OnobTLtFWa", "cnjyuKZeXm", "SGuOnobKAM", "FJOaxuFPPs", "wRaBrFPcAv", "nprtWtTioc", "AzQjANkfhh", "iRhEwNdCDB", "ZfMULXqkRR", "WcNXbVKQax", "IUQOaLIjHh", "SZpYGAHPqA", "gOhlOZDsOs", "BpNquxXoVG", "gmRvpWuZHP"],"c_array_double":[63.54359219645471, 29.473848096700653, 94.58966348474762, 52.96803270264396, 34.497566606038895, 0.30259288008087726, 44.89027748720283, 95.58061392002377, 56.48511498474149, 62.07835684688053, 66.21418716449965, 46.60682080847299, 98.00245085992519, 51.45769228872858, 59.625613461210534, 75.21674834767265, 77.22146350187084, 51.056004075219434, 1.7541355943516401, 20.784148239257586, 71.236922614568, 74.34153851535156, 44.64218533902363, 78.10528184744996, 68.80460025559516],"c_double":100.19544187101512,"c_ipv6":"cc65:9d2:e0a2:51e5:2d5d:94f1:2e49:be9b","c_char":"xycKvvMSon","c_date":"2003-03-09","c_ipv4":"179.163.48.119","c_array_boolean":[0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0],"c_array_largeint":[1068033138641283713, 6604487876415703476, -3887067682710264505, -5948589442576507212, 7414403375324344845, 109815180029364652, 507458744110626649, 4009072405317018241, 63072898943991200, 6949683483632210717, 2878401240954995476, 5324818404102342177, -5734275913415447711, -334706085839514561, -2769852718360757555, 4869261922808824456, -7642406318250538552, -8854287673363432724, -7033977507885683426, 6272668604764639191, 5289549422133665299, -3523092461156217564, 8764423622659139240, -3345750871002689715, 7016685644444950965],"c_array_decimal":[23.0490, 55.0886, 78.0767, 25.1784, 50.1233, 48.0339, 36.0342, 31.0515, 62.1238, 66.0882, 61.0117, 61.1230, 9.0380, 49.0064, 97.0147, 22.1603, 19.1502, 65.1993, 12.0587, 93.1803, 21.0763, 66.0803, 85.0357, 19.1483, 78.0180],"c_boolean":1,"c_bigint":1031872671188256370,"c_map_char":{"c_map_char_1":"ohGUKyXRHQ", "c_map_char_2":"lPoeeWvjBz", "c_map_char_3":"YpNkBaenOH", "c_map_char_4":"kGyMojMVfx", "c_map_char_5":"WwWaVoHczt", "c_map_char_6":"vBksYgEPWK", "c_map_char_7":"igzxsZgaUc", "c_map_char_8":"seLawaHdhQ", "c_map_char_9":"hpCxXXIPTI", "c_map_char_10":"rgJxASpvkv"},"c_map_varchar":{"c_map_varchar_1":"GmeZzqQNseVKFCAizSfXUmTYzsnFTufCWIaXJQaXkdxoYagAFQKbFFmTWrawwWxhMsLORBftBUqgYJdGMacBpkvxvqvGtauDskhjDfiFJKCKxANTqRMYGjbTFnRLLVQIBVCTRItGAJxsnUwuGsqLcfTKGPWOrBlPtjIEWgDiXmJGERveCVsMryXaUVGNhfUEOYJpznqoBxmiauUrXEZrvNRLxmiSqjCFFeHeHNQSZxsTTxxOYhSAFQNTHtLmEMDy", "c_map_varchar_2":"zpORJDtWRBZCOFpYYdRjvwWaTIltIckadvkupDBSuOGsVFxQYCBaodMaVLqbldpmgodmgdDlCCVZhZmpihcHjonlWmYSmCoPdvlfKKyEtkvcSWRgnHRjhzOxziRDisPsexoqEYjdUTNnqdchXzYkofsyRUCSUdVdTcRBXLVQfJNebmKlregpuUQICyVjDgJBILNwCWjCFAomdPMRCKtCJkVghPYunywoazWECgPMErJcmOlGljgaCkRIOBSblrEE", "c_map_varchar_3":"qBxsNJGoxtetkflGwAMOafnHVzQlIDnBlhZQSsojavEtJiWiGTzsfGyilbTavIVyApevhalkNgQLlFNNGoSTDOkQcfZAqXUimjHFSOTtDflMUBZhsKyJZjrETvXMWKdzfIPQyVyDskUEmZGQpcPOxSljZFRhQvoHdUJWgcjGRELZTlfbZCrBwjdPkqPgrEhJdjReJXNRUqfbvsCAkYbySzgUrAsGZbPpsYICUsSxjOKbBHoNjVgaXJiJNnKeMnLU", "c_map_varchar_4":"uagLflWbohFunSlvIrRapopwuqUPeXRJjnQVtDQnTdWfexBpBtSymIRdHhbDvfWmSjCKvxnZdGmwswuHnCHhQETompQItgHQUKAcQSCTMgPDUQTjeJeUZPfweWnUUKAcPJSkAObeyRXTEfAsAXzvWWWMRGdJUzhiaZpRfvYiipFsRSbBTNBHxkLrfJTeVEcZyKoEwifPAICKfknMFskruzrPtfpMuOAglyBFpEkSdamsJCjgrtVYLcnvIkxJDPBb", "c_map_varchar_5":"CMqNXzCpvonqAxsLHcqGLjvXzCjcigFxdvPNcoZlajPRiDlbWYpfUhPgqbKjHDfItHBXXTbOcjFbCABBgBKCEgEzSCSalIBiVGSRMlmkMVNgAvdrhALSQleItcgYaeGlMgEthCWskswJKuEIdbYfIOChRUQGHYePZhSaNaSoCTxrmcoJGRzINuDltJyPjRDyFNFKimWVcIANqboaoMxwQLYtgGROMHZNfsLlrARMwpcNOUNGyrsXROtjEUOEZlPY", "c_map_varchar_6":"zNyGZPjnaYshytOWdpjquJPgTrJffEJExXmipcHOkDPIIjbtlUFyRogncowsJINkIXHyPRoKogCTeSAKMMzPcmDvTGGvFDjzFsEcnuHiekYAWziSMPuCDvtjAYDFOSIHogTdLrTtegDjiyqhkTxPfyQJbWtjZwcDyhkZtbXBNMfYuBmrbPfmKJHgaFvEhRdQpxdaZibHlXvntBbeymSsJmjpXepNYEnUqZNIFtvJlTKCvnfUOGYcjeIWZLcILxTj", "c_map_varchar_7":"rAFSQdZERObRVSRZCXtgduIUfvJrngFiofqpcfMNZsYtSaafxEMFzrRAjuzRoXnXZGJklboROirjsCcYivcyPBQfsdPwHrzZIGkEfyVYSppAbZroTzGMHnHCqRqjoAkhTtYfioTwFNiImmfbHCPobIiiUaZybBvKtyOVzDTXRYLrIjILyyNEQlJCLBPpcwYWFIZmhbgtujaheRViGADuqrftTeNudpEFCKkckEHzaicBupTRduahrKxCKEWzKZqv", "c_map_varchar_8":"DZrLJRcRzeOWcIjvIpglNJdrKOwhQbIMVCmfqOJBNYmuyTIPMfBThvEsuaTftktHNpwSknovSehsmwhBdOctbqlZrhfqCbGzhyVRYFGzGNiizxHrKgywmpTDkGtRrxCoEfqodlQQWtyCROhVKmretYEZgzPKaMtNrqyjkXjTYBsSUYVKNJpcPWoIxnTNJxTIqEuEaXkpeouRmqArbTdzemkUEhVtngAJfntxHWtDdVbjxOngDTStjcQbFWlEmJdt", "c_map_varchar_9":"JZKEUPCbXrBZQXfVDxJoiMaDovAjmXdPjuNNaJpmQnhGuWtMVxLuCriEgNTNSzODFgvYGASJFQWDgoXCjvxINmOpnORAaEwRnAlFHoQrPlFyRKMCnLxWZAQzYUisnwRQHzLBqNGguuZsevsHbLDXobYQhIPydBHzWlgTceEQlzMizEJBIcxroVCYHQVFHWMGcneWbFeyayBJqPXIbnRsykgIVHLDRwieFNBkgNVOIgZLoOmpReqXLIwcDnPLDpSR", "c_map_varchar_10":"FZIUhrTmddniBCpqRCKGNXugzatKGFgLKjgpxctJMlmksXosAbEcRLQAyJaSrkxtGvSFcYyJCHQLQLQOrqavcBZIgdhTamvDjWmJnUAOZneNEOJkAPMnipzFjcypuYScAKauusLifvbwznERylmELJdWyprrxEQDPQDgJmzJCXXHkhWiCMqeNUOnxVGBnzEnxiBstWmSTBJMjCMtPHDXMKcvlenoheBHYKqUEyrTrZbUfkqXlDKcklRsqieJZZRi"},"c_array_datetime":["2004-12-02 12:21:00", "2017-12-09 12:03:06", "2001-09-16 20:15:23", "2017-12-07 07:58:02", "2018-06-24 15:02:14", "2008-11-21 08:04:15", "2004-01-27 02:08:31", "2006-11-25 02:59:27", "2001-10-10 18:30:53", "2007-09-07 15:10:17", "2009-01-02 23:10:13", "2003-02-15 02:33:29", "2007-03-11 17:50:35", "2005-03-11 20:04:31", "2015-03-27 10:28:55", "2013-10-02 23:33:38", "2015-10-14 03:36:49", "2011-10-12 11:17:34", "2017-02-21 11:41:37", "2006-03-16 14:42:58", "2011-10-25 19:08:53", "2013-06-23 13:53:13", "2002-07-15 08:11:03", "2000-06-28 19:47:26", "2010-07-22 22:18:00"],"c_array_tinyint":[120, 72, 98, 113, 84, -46, -31, -6, -32, -101, 12, 8, -39, 8, -21, -32, -102, -122, 86, -74, 73, -84, 65, 78, 46],"c_array_bigint":[-1576983183813717819, -3699478438175885239, 2520906260969445282, 6209125254597750841, 7295526025879022796, -8100804150892060084, 7668012294771836986, 424862104036895263, -914592607577832299, -6696786529754674611, -7933923625740948690, 3980214603282227246, -7989018707265828584, 8201009772730025353, -676976467255792255, -4709714904387668809, 7301909127808649329, 6075380675397116098, -4859958097431434988, -7878876344775240615, 8764142299762228868, -7421282126076014679, 1890465050635157823, 5488644515497581920, 1887584669488085275],"c_array_smallint":[-4186, -5603, -27872, -12138, -7824, -30470, 11547, 10360, 27269, 30597, 11482, -16687, -24973, 24896, 10485, 6844, -28120, -4382, 19579, 28332, -18643, 426, -28025, 20858, 27348],"c_array_string":["DIUClKyEutuIIOAZpovZbqaREPckBCIWEjDwLXrsGvtsrpnqILmFyMdoJyydlxetPRMubFmBmLTyRzcLiLPvxENvPxBGWxdRIOOtvKphnLCFjTMDClOWEhEHZgZPASGzRttOBeZIXBXCkAYaxHiTEsUOxMyyXuOkuquNSscpaNpGVfcCdDKgbeFuWTwVSarPJvDBWfalkvcufDTSYUZRyYMAHAiHjfwqFeesXdAqotBopPFlKgrjdHFIYqiJFbLBVEnGAJZQgYkUQLHfoSmZCCgMDMaoQPeQtYtZsNhhNgpNXEAVidLGYkInzbrztzhKxsqIxqVgrwMPlhBPjtqBeHrjiGQGuHUTRTegVFAlRIHPkCdMKIoxEtKZHqCVgTvPpLfEKOLpDmzXlgTDqpDeDXMchAmdAMkMgsPBnLpCTINMyKdBZIbKqitDFFjXWOUFkLEffAYrUmwYTVajkrleyNhDeSxOQKhMRcRwbbQzoidbfeHXIeqFhhRzxfHzekHP", "STMGTNgVbeHBMNLnYubbaXdtvCTGdCKOLOfrfxqzVzxbKMQmjGISzQWFNVdSoaGjZXqJSzjJhykFFLhSkHHqYsHSNnijVmnaRTdgzzvucCwVQqZsAFShApCRpqURlsbTTQbStbmmPvykyhFAWpgRnjtMJLozPUBnFhlCFXuPQrmptURWtnKmAOTtPFTppRplxnzTPLCIlEGIHdxeodwoVPafyRlVvtGuPGxZhTrzTWGopfHCSUdHUBEieOwLgSPgBTmTaTNJEuYWWKhAVvnOmRmDvZhVNKjheyzZwrpUiGGYjWMInyNtSsGQaUtWqukYctsATmEDoHiTcKrkAfNvBxpMgspAYhHXIoHAXFoAeCwRmGeOpyNJsVuPPqaIgqEiBuzCaYpAdyDVhSfrdrAGIdqhaHwXDNsqJGzwHKMDmvQAUciqCEUmEeZCNparOBmLCeqtxfjDOhRytFoIwDYdDkEuHvKfeNAHKhOBhIiMYmxCkmgtlHYEMvWLgpgkaYXA", "FDrpuYUGRazWRPWiFPCLqKiJQxlBGLcrtMPuzdWundjAqTakbbaiCdAGkMCavwPLxJeYJQniBELZangwVHzaYsaGxMQechsRNNlSzpbxcbKtWpEyRAjtZLkpbpGKkJJjcsVGetvYpGRrdeffcYiDDKliRRIfziaaOmwNQLUWpPmCcHGwImBSGLceOfBnxicHIRJwqYzaRdckmVUDYkzxzXKpUFxYcrCKtvPJVWcSePaOCLakTupRapYZazTdhHpxfpKTIJtfpJKbfCTgaBdOpRRwdrydAgsoCWaiUToNkZhxByzXLBDFfSNqvsnOhbTWoHhAXEXgSpdtOeOgKjuYkhLnWoGuCIYmYguyQIzGYouyPmwRdHYDspLSdFISQqQvxtORaBVfbBuViHvDRxIPMeeZYmeeNEnsLUSEdkMLbKUWErVHarcMEeDXHytioyarCSIfeNeyrDkFOIYEoVbimBmwPPogHtmsFtHzeWuHYiegyTKcXXnJEjytSqfIIdzz", "wQxVualjTBxKFuamlGtNKQlfJxYoSPLCsHiVaYHKMvEIWKeWJrZtERsxoRaVIhfMPbbcujzhsihVQrEgskHjYsypJWaXcHCyWlObmJrsCdFJzqiOlPVPFRJcrxJdAWgnFTIuMneurQLZhLPvdGGKklPfMQPmvRBjUigZhnRHHLgRXRpoYNFixzLuAODwtGsjPyqgMOTvraPXvbWXrhDAtBIgeeheOAHDhsaWYYhNBNeuKlyqUmgHOSYvZkshqlkwGQIJcSaLWAwZHrBQeLFidFwgukPXMycDjufhtYqIfPdwAxZRnxRGhUbxlkYAdfbXqgITIPEEgXzqpgdbfkcBfSGBCHwwBVGoraXmUYWyCCAgDuwndFcOhNrEWMjJbCzvlsMCIyUJMBVjCflzbyalpoHdDiPLUwMALwfmIsupkFAAxskMJmatQPTGEVoGeQjpjxVFNsJJUAztMXEcvfBjEeIkDLPxVlsoXTdwNQtSgLEgFRBpPhvhcIfMunnmfuiK", "RwZSZiXSvIfcbYMxkVklVNYLRNxBcSmHSrWHmPYFORMxjrncmvMxnkTsSPOFcxHFGTWvAWSGVLmbfTSgpdcotPeWaYeLALoKjqKiagHkXUkSsOoVSVpYwFhxkyVIzCaMaTQDAJsCCqKszVnrFkUzAdJvbzXpbKTXJLxemOjaUswLPpkhCrKnXcaqUlUNopOOJkZlXGVKvlUczqWKyRHnFtQKtSZRuZLlYqcYBlSWUtKzOwmZKhhWVhNUMSUzhrFjDgvTUeRRRHQKPTukzRTBhPOkKDEgKGAFegZnbJRUTmgZcMBFjoQSPWkqpGBnBoUUUPAgrobXuZgGhMpVNLyavbsCVLabGMJREAjuYYZOTsVEsUaKyiqXbFawkZGCOMuvXJviafPALCjaWjjIuiqODUMiKJEnaFmGNkUxfweZJrRgYryJWRYnDTFSSCrTgnhmcmEBuptOuGaRGUwxwjQnRfTDktfGuYsLiBaELzdBTMRkqwcPsmullhKtKGNduUNP", "gYOVAiayQOtmPziEPJQNSLQjDNCYxXPyDsIoKFDujkjdWaQvzGXiPzOUrBIOupduzoeXGPiWKkBieqcOqSmPYiilOccEfZReMGoJqRGBKlnTmrjoNoREVTbwTseIYIwNTEpPqVoTFjkoSpSPBTuRKtbsGRzQgmbpdrNmiCSPbGwZzUgrbkOKbEDPvRJYgOApbKhwrbUqtlxvvoQyvcxATQcMlBSBANQwelVJAJdodfVVwvAKSSRLAPYrdJTjzdpBnGUWiQpsEFilWQVFXHpjomOScpukvvkVWwDnDHeLVgxnIdIZfZsRtIqVgFXjwIhjZQAkpLfMYsZlYKszLFDojWBjcPAeSpymLLZpJTrPkZshzFkvIMNyAtRPLQJDLUqRjynVKkMCupWcGfnaHbCJuVhlIyOCSwqXWUMaSntaQMfMaetNLlCprNrvMdVXdnFFoKYMGZmRNiTtEeytSproaXOuhdiPsJTlDPibHZQmcOtHgOiiwiRljQgxThjKPTsr", "uzuyJPNXlkusoJFaWclmhQhNOASrRjnEYzbarybURJvUzJrwwUcRWQqtBdEfBshxsfDMtYBTxAYFjHYqeDpGTjckNrxKicWJUyMAXUOBQOhSdAzJChfFSVqKzEHPOeynbMYAylBbpDfRqKZPwXStIdgfqHiOVdXKSnKwpCaLGTPNUUSICtuOrFSTvzzfXSqWGgyWTEisDURBLvWpqrDDgFQczSdthCHDxKYWSOkpBZEpiFktiKxIDbTDTiuoRVXUqnRoOfOgoopcyWLJFmmrotoDdAYbjewVBbDKdatpFZdvnfHhujhiprsDcfjhgwbaivRRmOCLCtmbigFYdAHDDyaMgqEBSsYWWMdVHlFEhUpSQtHnkMJHHoWgtqjMiAJnmDETwtlUOJRqUwblgBBcJPaVjhDZruANfCiouOTUqcicNkRXiUTfVzeHiRsYNhIENmdTGyrEuPoIyGJjawMwFYlGJKqTbHVNQNubieeymbdLsMgVPLLKzOsAAmxGyTAJ", "LZIWuVxLipsXrcpXZWMZiZJnONwJlgzxcYTLGEzaOSjpAWfjljGaPjKIOrjwKPyrDeGabdcztxVyLPyNQHumRhRHlxceAGOMsmMxtAeydkaSbrLVFumfLUTogafAascgXUeYWtzXxQhvmyUuVrXTfECcjdNJptLXmNVLvhOIyMkzKXGKeclsneRfBirEdqCWcNNGQSSIWlQebqYyttNskIdMkMbmIiOgqsGzytvmICsjGwXlgKwLmNpoOVtAXtKxBLeukhmwPCNyRTdVCcWbacQchiOdsjpmQkFlpzXHpWrmDqsnjeHcASwylCgYibLcHeamWLDMSKFHwVZfSDXGYsfodMFcFIkjyjLZOkXpKmvOqMQsPsYRWAsipMBsOgATvFyoiIeGMZHDnsWKbClwZXiiIrPOLaqKZCCaCZLwQsQgFtQgZqrfvgIJfaSpPQYMtLkVAyIxZLRmaFMDaHTzGKchpEypkzokMfZDaslebpgGjSoAGvaiXRlEVJVeJruk", "ndEodnaaFDQiyDfCuzgxbGggYSXmBBMfZTKtFLUmdiyXGiNMifEmDBZyuKdvIXXTEoxgRBQyDoONGkfNOEsIgYATFcQLJCZWoqdxpfBGBkpSylFGteAihIENWhAkdPpXNCRZcNCwRUyOeiMFHFWjLldTNBOiUhSUoCXuxcOUkgWCeJZjxPrjMLTHNperlimlupXyvzlUReuOisqSlERIDnosMQnCGFntfHXrAmljUungkLbjWDYFcqJHRauHWAXFsZZpgigJKVzKqJwNyXKvEgFYIwMlcSvktCvsQLVJwGyupUSLurmNDlSRYEwesJqVALmVbnoRrcnaXXcTTZbLjbJmomMzZLqZHXuyAKWtFKhSmsRmnStGozTuyQJKzLTNkYxJDoijbcqAxcVLpkPdPDFLCLOOcxJDkHLDjuKrUMkFDayKauBINybwAmjSjjlfnXOKHswhxcHJjmwcayyVbfZiCWjdSPCIdDsdezWDKWOwXGJStSybVcpjtsPmvint", "eXmpCbFxuYGYjKxyRGpaeDjqBMrxLHXbPgRcrggQhrLeykEYtGBvizfqKdOyKYIOiQFZBzqHfIoKcmKSHYVLHBgbRmWoMVFMOjYKeLvLNcLpwlqPmPEFvHuhKpPMxlltgrTZWFscMrMZybNNpdvyrTNzWiHrWioZRmDKcQNkWINXvmFdiOBVDkmKQIkVjwJxeMZkAoSLZRQZmTdUXrJMyAeQcqUCSoMbAJJBNioeHAZkvwhHAbluXuwnlQTsDBvFGOCczygnwNraCdFBHKbMJfCqPooIWfTVyhPNdCyopxGCBUSPhOmOBmYXJrhnwGmAtkFmMYuTpquxcpHJsBwqyTPCOEAthEnMqhOimMuCXyZKNWXIItLdJZJZZOxvounXTQAPujwvJMNWRxOpdrDEtIYVyCaEhoBKkdnzfSQkbsuAdaNYBUNiWOvVGJXfFmfuXLiZlyAVqnFxQsdpNOmUsvlfJFKHmchkWkSLBbOUFVmKVoGwtDlykqNFwStapfLU", "ibakVhafIZmFZmBjEsbrjvaoHOcgJcraJXhTkvltwXjsAVoGzWPMfYTevBFKMZpooZyYznjOPlppKZQFhxVHsVEKnWXLkYFdDUrMvZtNprAbmIHPfmsmqUDkzJQECofZNdixyRILSiVjhlYMxdmYKVrxxfCBBgNSBKhjzwLEYVnMbiQwngEvSxHaOGWlEXQaEqqXQFpRUQYcoGptQIYMahMoIoAkGgwcNSyChWiewXkIKbrzpeLRROpjPUneWKyUHhOzhcGyPFDxjFhWTAiWiTugreaTRYDulcrThUwLsBUVLlftEWdIThhYKREkagMSDtsFKDmdtwRGXrFIQSOQVywOUUVhRuFEjQKUxRpKVtmoVhqULYDZujIkLbqcJHPDAylkGARiqRYeGjNKlAIFPSODXUDDfJOprzeDOOQtHgRQsyGQjSwJMyvWFMfyKxCtPBpVHPAgkJlPFcPsdRBqMjCiqmknznzRYqLzjNkSHALJsQixctnpntbcJnvolWhF", "VnJYrJWlmcfugwTuBclbPLAduZYfiZTbycAwBKbueKFAUIKWbomhYkcKapANqkabvIWMRwxwiEiJEAqHnXJKraxMZyqiUNwTNRGpcWvyrgxwdIglZNyjPPhayJPQrgbzQsltMtTsENMmaVLtOVikyItnnBKiAQBOHCefQPjnolUMEOpYvuXtKBZmrxDKljFOnwxXMiTrmYWcLydyqYhpGNaPxiQbtazPMsFkjHbfsLDNUYKGNBtiBWQqxpoWpWzYDPDqseDcKNHLrubJyyexDiXwxZxVOIFXzPmMLjMOPLiUgJNoYPdSQwFSTxFpjidhJWbANuLUocMWBHvUXIYMuepleQQmtpNIelqJOphylkLOqVLvIlpbcSiPKrItIEqEzIGVgTeNllbUaIHfhyufGpIAuzONoadwqjSeiWlMFFozMaWibTWWBnCGraFOplafgcUwoVFVaONonBxYWXRCUDDdYDHJsoLEwOfZhZiZoSYpDcXEHGAsdpISBNTuUvPQ", "TrDoXLUkODIzKfMslqcWSOVyzfqTzSravFuqCMOAASPcZSVRMGRQaZQnLPNwbZwiuSmEGatdkNxgnjQrvmsQNwSPLNBrZXSkfJXzUrjzuWlEyWCnQaFtloPsrCRkUZrzSYnrfFYevgjZJQFOzhYmylEItzXbojLysZdIwvzXmaklfJuwsVCfwGnbPEupuvncASsYpZWRQbXNZeaqeIOvwcQJLWLAtHiatnaDhZbHFTHOpZNJfeVaMghwdRChEcQkokPhFiWDamRJOttkCRtrCqpIQStomUmgIjRAMoyHwGqiHPzWUwWHlybSLVgpIVYKhOGOwacHuuSdZrUmnaqWNoFNQDyRPktItzIYpBHkRGRRCEYLvUhhKwBPyIKKKFnZgIEPjcezlaIXoIYrkHvMvCphfTMpUTIqeCTxLgiHlzArAAuzXBRonQzpZLAuvRSQxtXnuwZItaXpqlgmbLItDQCwhRLWxrxYUTaZOXGZWWHqrZEAVOFyBHzQrPDVFZkI", "CavJERdQMxPfgWZFdrhOoYIDyMNYdsrNCZMVCeAgCjNHmrJDXrVvPWVOmvOTNAHDqZYAsIEwEKipSvPeUqAEJLCIrJEDmZnZCMSaoxFkAnVczzQuaCpmBPaaMRvlLwzJYMMrZoCMVMkxIWbqqcusBGDIcdqdwGVtogMkmqJNBjMvkCthuFbmksKsFVpPAOLwKXcLSzUzBkzwMKCWvaMYxMwFxwDCkAPiealfjooJblLfUazQZxUknkZqnwxvmvCEYhdOZsSoeWkmlUxciarAzpheMggUjRBSCaCoTNYqhUfHZqVnRSbRJjweNACVWMsWQfMfOdUksgpdGDVUbeMbRTxDhdonqVaSUVEDoZMqvBRtoSdZrhveuRjlCgoJKiXFBdQclsOUGefIDVevVpkedBJNPSPJFDFeAAjVXviMLAoamjBmCfvKTAVtIxryGeLavbfvlNlEuVxTSxWkNZtjZbQFckfZRzQeYWDVxHXtAWwbPcnkTAvtiQKznKuNtfbh", "dOmgnmKjIWecaIzysrddWKAwMkKULeTPJEKvBNaiERdZYshacCuAdttZdHDbikBRsFdCVRlAHqnHlOoAkYSVSmoCPLYgLtFKshshRSwYcwtGEjgNuYHAjLwZZRIYBxZXTMvIEQMAaaNmArinZgSjAxOBFHvQPYfoNAUQngtjzjnrqNgowaLBURDhnlYPIonbbOxzMlYoNQbaxKyJTzXleifzkkHrHqVvShlFKyGieNhyVYcFQVJxVWLsPkBIPrYZoLduqxFpuoItvXEvuzUtUbAzGsBDLkWspAYJsAipiaYvpUGMgsciKdyZRTVLzYKIimhSLdqUcqILPlbrWjMsOAZbLjPaFjhUSkShbpnLdLNUwNgSUJCirrbcLjhhArnINJhxIkrlYVYDsDUWmfOReIgfiAjgPujhaWsWUjbTKUBVZRacCtTBARqjmZWanktyrmsiYoJBqIECCOYcKQOKXgqyileNNkUALUqryeUeJMlYwRLXgeRdViSDDzmRggiO", "QUYByvEDnFYhUTxyzzQensgLyKzEBIuFfuOJnEKVxoRyLputjiiIgMBGVzzbrupOoiKutaZXDgHDDIOuEHOLPhKJaLLDtgdgHiIOcajQjIQqPqjOZcqSkSOIqlOpjpDTpGbxQmnYAQCtxIPSuBlMPrKYrOGvYxaducEidWzeGrfIfqoavEWwiTgFNNQInNaYthEHzSkIrLanZpnmYzIOYwhmQMDaTIgZikjsOdaaGFKGkiVzHzjSyxoiSlgTqLFJYNfzxCtfjerySFUgLiFLmjskgoLAULdgrlEYrmgHiiOOBwUdsszhmKIZKaxgBbbxJWlgaKXAkjyQyvAdtbwXSmLFqnmOjuVQMMZcJiMMFSzrBrtUmlkacztPwXQQNjuchCscQfkacrTdDFybFPqQADvEQIoBdqWpDYgaLglsMnswFLSnUCwtIUFcaEQrRFIkazBkBOHukZjhBaEHtGeWpeNaspNHhwVgVrqaynJdqPkGCpLEvwhWIkAzDSyFSCsA", "tdfcNLsqXXwpQBMCXgoIDukhTVaVMBKrtolmPsovussWJJLrLjmBNIbrIHqTBZfbZiFePpCskIVImLEKXKFKJFndVAlxNEwtJNEzbBpvkQyvTxAqHReIDuFkFuGhRVMFtYgQxgELCwgnusPBRIjMvHWbWtptmvrKYDnVZwURWjwpmfsJrXEVQeMGRcfiAyPjqXyapimdNNNnQOkYsdzBkbWgVVnVJqokUhzGfpWCqXPGDSfrlcxiALmUgowZlncSsNKPxxLpbcHmVKjywMibUOmFLGEiJcOTmoQJrpoMfrTUVcmEkEyMPeFrIihoTzOsLqcZSEvYkWaJRJKlOpGhkoiLJhfScrtGRYyafBHvhXpgPlmrvVlLpZyIHdinzDZSgwXSbyBftiYNcRfVihmZmZPvjThNVpAwGfymTeavCYBejesYCvotloMpeAdkZISvHlOdpArYvwEyhpwpGRolWyGLuYawpbEvlgdTnMfLMnUQbIhWclCpIbsMZMesIPvU", "KFgnkxVRcTQWJyaakYNwXGJlwvUCKzcqmsbuhHPmwGmnqgDEmujEqHdsKGWzzMeNfqzDYhEvWeKeLgNksoodjllcBoByhQZFuBCsrOyGhRhbonGJUibWfOiKVbjkyQFxKloTIIsnxgtqfkyVpkZTeXzTrsNhLKvUbtZVxgfFAYYqorDbphkjVmwmXeUcWrvSfBhBlEjHMpOvbUKuumWCbqCvEQdCpOrmLtoHkPqlCXxKqisKvPFAGnTetoEyMKYfezwWCSQIXVxOACiHftLSHfrCRKlyGKeIpsvhDZynWhnqQUQeNrwfLFhIpMfsyBhIhHxJiTUQYRlCtcgGhqjaMLqqosLXawofQuulhbfbZiccdswMGOUgkNScSrGaTWvwZawEvQMiRXcKYbuwJhgnzrvukXRpdOsObeVjaBbGVVvmwIgvJLcPenVDyxopXGiumudsgecIPSDwxReSNXJbgIjGFWooUUqdnceVKuXnBYCirpowkvYwvsrxdNxNbSwL", "KKKAnoGBCCUuloZQHxKoyhHJHXUUcFPbEjxGMhZzjClCHMfuUpLBqHXYkVDJKbpCxVRIWupmJNhtvfmHSmjAfzOtJofMkkGpQOvoZTBghctUnlsUoOtyphmBqXRdDWlAZZeApLTCIZfJRTlYOcpXTjIzIrABxzFZDCHUklUxwATVTNZZAeSSyWemMbOgSHyDOJIWRkbvEKeAqmqRDBCIddVnWtVIUMGZNFclZYAEFoftvUPfokgxleHZzfJKxINzFjLWzwqtjxKoMqvPLRDFoUpgXskmGjQQQucXVTzrYPBDcVKXmcmeTTNIRbXtzeVQzWNBMUpOUCAAVMBhDPWfdTXsksMwuFaJxroGkVLwDlztYiPYhRxyNxNGlRcjDqgAXFjMaRiKAVNPvGflSfUUpdQNpJxXEYXPpqCmuLIdiIpKWZSrSHTVGMcsxdOZIDEJjpXbVnwXLkffcjFFnJJqsGFmZgLSIOvZSvvlRyeVyyzsTiIKHedGRfQdQfkoMdMp", "AeUdhkvFpVRncizpjuhagnWVGnCwgmXCCWuXrQSfDUOcOFqbrKxDsDcuRDWCLSjSKvypIwdAFuOoureqLVckLCNFsKYtruszMLzwfuqBUSWWKlyQZjJanglfFiYQauOsrqikXVsLkIqYjdxirfLCFLdqzlDsNkHqBbkEtNZDThhTLYbtiDqknzqvPRrOzvmIRRgOLNpCZZLFICUBhakaQAttBmXDjPOCKbnlYSzeJgyaDXnnXurhcBwAjwBKcuMjoSCuvhQOLZjPqrvvfSwsJvxrooOAQmJZBnTuINrubMSLWnBpgCAxliHKEXmHWgpVGvfMsAomssoUPzUkZFMOCUVGnfcMzhnyzuJaLGGQPQLTznXtUDIYHRtvoXgoGuAqNUKByIuEOyToYfjJLcdfxHOvtsJNyRGdTeUSjppBHvfGHQCiqSNyRcSxQCMgQMbYxYakpZtEAMYvdDYowoHiWpNIsVCJjJbZzaVWKbAAxNOwqRiMnVpyHYhNXaTEnVyp", "EVOQEiOJOoIGuUceJCDxkojBvVbKTNslnjYAIEtBYfhpJlebZPuCpJBNynXXpYADgRAuSQfOPufuXrkWujQMbjDknBQwdkbILibAbkBnmasoQKXHghrBZdDYaQHdCJtcRvxrGrQwBnhKQIrCLDNHBXQhXBwIkXYJjtcwZqskjFLtdbqdLftPgGwbmVemzyJjMznyWsdxXDKARzqTWpPkqqyHRCOXzmtUOHLTBUoxsOwQjLAdKbVGBHiYcxnPniqaVyacNauWPeCKcWAvxPJcWiorpJkzSYcZsPtzvJcmsfDglBseDJoZwQAxSwqkAxGeZKIEgxcTaZsbPIlPRhWmQfKBwTkAneLeQVzoMySJFpmUVnsDLPjfMZGfomptQJqRhbTImQjusBPixTScwSTBrYnzxxVSMABMXmFeTmpeacarMJWiCqqATKUgHJbMmPzUBhdIjOVTtouzALfEcNvdoWZdzwkSsTDieburAqlwFrohtMJPCTioDlVndtmNHQor", "KrcmrZcRmprzfCAbVbuzFzfLbvJwiMYEqNkHmjDZOhPIztzYWWRHgTCLnMFKyKTneLkZPrbejYcmbteOGwnMqcAJDaDqCrKvSIksciCGOZpfxgUFlaDCuHZjaIKpXUJqIfsWvaTyiEZymvZNviJvmoqySMiqsVnPsMPRXiHAkDHmEaFHlMUUiKMaePNJbzklwAtpvGvZbiyzVFzMcdKDIGhePPDhPmgiImNqXevDqqwagRyvmHcifWDLaLJdHXjwEUXCfQoHpgYzPEOUdbVjMIpVrTBIraSVPUgoVyYUafHhpWBCkmbQtJJPNndrXxxChvbqTJPIIitnYoZSzKZyuZCeRclofLSBxLGbgfFWZwlmhHJsKzHQFcBGgXpaxYQourcryNUBlowgupVZQTCRllBPOYJvlTZIMRXkzKoZuNLJtkdIqSVPgiTTjrRhtIPFWVxVcIpdKsJfPmhhHfENHKJhPdOKhUjPJVrCqvZvmgSstFaTpqNRanxyCphrIXbU", "vetNdVGAgZBizkolcUSuwXEjkYAuIJsKHCRxcrYzootRdvMqislMfsEyqPOhvAUAKdfbECxQBkRczFhdyljwaHOdVFAjwdJzatmSdnuSAFEhkeMJGjuNRHGOkVlsJcGXCCiTiFLQpjjUWHAIpGeErpdpWVocyzwNGVHqhAQAfRycESqXCuDjFvULIIRPiVkKtYhasaOyfVliveNtayDIANSYywOinduWaktartlCtPilqFzucjEhtaUhZmqixsIsFiEVKLlTSxkwyelWNDfZfMeDqjixGSAyySpxcbcZMfaaraxyBrscttzOMBNzAKVinPRnGbUKkeTkxIRkPIJqBRcykWFaEgHlnxxzQuORRVfyDKxjgXhsFFGnUiYVxJDUZRGEGRAuRzzYsBpuFlLmzdlPoRmutuODiMMboAoeslqKOrJgvMeoLWjeoRlxMClALchcmNGYmjBhOetkwiODGVDalWvBTxBxEfeYdALxlJgGAqXALyUiOEowQFzHWnmc", "vmDurHSxIlZGemglevHgKapMYezgRRdznQWFDgUkOSZRpMvFEKAwawzzKBdVEyHcGyFrrlPWBHWrcCOGkXaeuonNiqaQHInXbWVpiiNmhfjfzuOTexOrAoTKjQmdtpqrjUdWnTQjUAhMXiMtlrRbopCKnTVJdaHgTuhNUBDCJYRrKPKeumSpfGrkXRASbnoxiRphpsclBDtPzIpREWhzPvxHLpGYOBxYIvLDMlsnMBuQsYvhPSnVhytqlgCgUUaJCkRULgFIBrFbQMdShbETnTKLHqiwyFRcuHvcoStUPIHVLBizjNWGozBcuGKcoTkavQTwnDaYMTGMrdMmFENdQLBiHKkbSevSuklgwmHkHHGEeYguulYNcvIHTvOnYwKrvtRETMuDlgTgBYRilFyYgCRjNlHfXNqxneJbGgstFvKDPfMOuHjGKMxXBdBSsjCsfQZjKOjENaIyMDfNASXgzmuASuSObeViMsGLxhTJcnWwQrEeyfSXAxxFLSmdXlxO", "wMbAgeksydVQgPbbCrpkAIcrGWhWTjKoQoQElHZlOCpuwJPLXwkDCHzDOPkwLrwStwRzuDCyoVpfMdEwshWBKnAOVLXzVchAiFVpXuYBxKfcqjhQStxWOKQcXKYtTiNcrwIyHoIoGlJNXvXxiCBxHGewMOBgPypQGYAMPybBSuHFRSGTbXHaDbSfIQVVitDBlZLHqKwuJQFJrqMoymTFKJoLddbHsroyzmCNwAcebhiTFMmpHLRBEzSzKoxIwEvogAbYkVcyCozNmGphyAvvGMQeSCGxSAekhRoTBPMBISvMaNjgJcUpjMYbyfVMmPhQCpJWfLobueUXvALBqANHjtvmuBYWgvaSPzWQKObKNCNjBELzeySDPzYWnvzoDxImrriSJuiZxWEKiFZLmLvGehodpHStnHIlNWGTPIKoumqFLjVpTYHGizaTjKROQWWrIFgvkGeShSMDDlUipkVHSPQdJNeSHiGROJiDqBVhBWmnYWnYpeDECveOhABeuCvg"],"c_array_date":["2007-10-01", "2019-05-17", "2013-09-09", "2006-12-15", "2014-07-16", "2014-10-20", "2001-09-05", "2002-10-28", "2001-01-19", "2013-10-01", "2011-11-14", "2001-08-08", "2009-04-09", "2000-06-20", "2009-07-06", "2015-08-26", "2009-05-14", "2003-06-17", "2017-01-24", "2012-05-05", "2017-06-01", "2007-10-08", "2016-09-04", "2012-03-13", "2006-05-05"],"c_map_tinyint":{"c_map_tinyint_1":20, "c_map_tinyint_2":99, "c_map_tinyint_3":37, "c_map_tinyint_4":108, "c_map_tinyint_5":108, "c_map_tinyint_6":-57, "c_map_tinyint_7":-109, "c_map_tinyint_8":40, "c_map_tinyint_9":58, "c_map_tinyint_10":124},"c_largeint":7273707122722918950,"c_string":"PlusPguszQLvPDuAEtinZLHfFIYUqSZfcFUKCSEEvQAMzPwvoiBFpjfDnVJmtGgyauIpcmWtoOXcsanueyCYyrocEitlfpkcReUHrJXpirThnDPQZiyDBGZWSPLZRCNsuqpyNpdiWnytItTxoYJqOwivTkmJVEKCauwcxojEibPsdHfyDUggKFlbONjTiyLHHpRLEmwmIzhNqsUVcrFyflgVLAoBbPoNAnVKfkpRAwBOcDvAMbspQrfZeCbwvMyACTzvJLCeBDAxXVNCYyZiBUzWpCXmKoghkfXdPUcQhhLTgSoiZNhigAEyvykljvkSPPaJGzbhrExLIzlcmklORKpQzDHElooTbeeTShhrJGfVXouTSUQqbrmxGrfNOdfsJkXZRvXriksRZyBHBhyWaMnGaPThjdAEDDwSHOGTscZpcgkgYzhPyXVBdXdCSKbDpSaUgejaTDRgVOpMinszJCoFRdDdAEpHgrmEvaoOYzaeVBVpYOgNYZGhVVOIdnAY","c_json":{"isin":"BJMD04L8VI79","day":16,"flipacoin":"Heads","currencyshort":"JEP","celebritybusiness":"Ray Kroc","book":{"title":"The Old Man and the Sea","author":"William Shakespeare","genre":"Adventure"},"errorhttpserver":{},"nouncollectivepeople":"staff","connectivecasual":"otherwise","currencylong":"Uganda Shilling","fileextension":"pspimage"} }','{ "c_map_double":{"c_map_double_1":11.78668431127741, "c_map_double_2":16.83287162917405, "c_map_double_3":50.107690069581004, "c_map_double_4":79.531018039505, "c_map_double_5":74.50870868019523, "c_map_double_6":58.23505264922494, "c_map_double_7":64.19492823377168, "c_map_double_8":47.60715963417846, "c_map_double_9":69.32132245307315, "c_map_double_10":72.9095437833053},"c_boolean":1,"c_float":90.67558,"c_array_boolean":[1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0],"c_array_ipv6":["sEaaUFluvd", "sLFjatAnFH", "LLCwsXjRiD", "EgDfwECkmI", "ikyTGxkbTs", "TNlzcNXjIA", "ixSYjflBKz", "pfVkjdncyL", "TeNAntKGCp", "zYKKsILSGY", "LhOjvaKdaq", "GKuSBaDmoi", "LXKowtpNMP", "tIXxKKyOlD", "EJrnWtPQth", "ZfpplcUbHs", "ZJCbqmQyQd", "rXpAAFUXsh", "tSbuLcgOgX", "djQGhKwGOk", "iGvbbHHHOY", "yYhLOfCsIV", "vxreNiSABJ", "BiqYrPAkCh", "hLAdriDMcT"],"c_map_int":{"c_map_int_1":-871308054, "c_map_int_2":-1231738136, "c_map_int_3":-208793596, "c_map_int_4":508390949, "c_map_int_5":-249694744, "c_map_int_6":432836032, "c_map_int_7":584259069, "c_map_int_8":-1541488466, "c_map_int_9":72885949, "c_map_int_10":-1938384697},"c_map_bigint":{"c_map_bigint_1":-3518561550724734446, "c_map_bigint_2":-186430828515304377, "c_map_bigint_3":4232322178518415088, "c_map_bigint_4":-6266993299564862996, "c_map_bigint_5":5528608768394652967, "c_map_bigint_6":6541854551963247547, "c_map_bigint_7":-2715697224129396068, "c_map_bigint_8":-8012946864691546261, "c_map_bigint_9":4375022209212832836, "c_map_bigint_10":6781141579597567182},"c_decimal":6.0446,"c_ipv4":"180.226.216.3","c_ipv6":"bcfc:aac1:94fd:319a:eb4c:7987:a827:360b","c_map_date":{"c_map_date_1":"2001-02-04", "c_map_date_2":"2006-02-21", "c_map_date_3":"2008-07-12", "c_map_date_4":"2013-12-05", "c_map_date_5":"2015-05-02", "c_map_date_6":"2002-10-21", "c_map_date_7":"2014-01-08", "c_map_date_8":"2007-02-23", "c_map_date_9":"2002-10-23", "c_map_date_10":"2017-07-20"},"c_smallint":-9223,"c_bigint":-8095928335297347858,"c_double":66.80851718170699,"c_array_bigint":[-7009156948980639908, -6611748443771513297, -3682852467844592904, -1308704384558786775, 5263993015143381345, 2350004965103993859, 3140579381193659548, 8366722217837526349, -9067235791662677841, 8340871080398078740, 7937380813321448390, 6237172104298392121, -3663667446229316377, 4301391767569242690, -7359643918026664959, -8949119980770612494, -8031651719060224173, 658801333592124595, -1491248647409585627, 6958991740626435888, -8738638181167104923, -2559580558249349906, -5875915643768108016, 6781915041842575714, 642119290986970679],"c_array_decimal":[8.1906, 40.1959, 46.1558, 24.1775, 20.1512, 70.1493, 37.1685, 95.1370, 4.0142, 13.1114, 8.1839, 37.1629, 55.0437, 46.1246, 11.1751, 59.0372, 45.0809, 32.1434, 68.0011, 13.1618, 64.1621, 68.0868, 54.0466, 14.0035, 84.0936],"c_map_decimal":{"c_map_decimal_1":9.1868, "c_map_decimal_2":86.1456, "c_map_decimal_3":70.0931, "c_map_decimal_4":8.1457, "c_map_decimal_5":87.0363, "c_map_decimal_6":83.0205, "c_map_decimal_7":64.0056, "c_map_decimal_8":97.1896, "c_map_decimal_9":81.0743, "c_map_decimal_10":37.0045},"c_map_string":{"c_map_string_1":"ZqZiqFYSbjSTUDNnHgXcyCApHdblluNHcBKYBLpHcTcjxsPInmlySTGNCAjkiFZkPilNQrYHAMhJOAqLfDxvHTDMhznOmOKXAYFlYxfNiZLdkyopVoAHqZDqMzQgpOuHgybMdjBhHZqdtTXFxJnDAlcWbJKEXhNAAgWnvDYmcArRAjOdNRnAkNnQtcPHgWKoCVUfVuJIZxOqZszNUugPZhECsBvQhmMlsovLVUyDVTbjzRGavPUGvUFwdYaAisIhXZTeCObbbjpaialrkIictiucFqfLnqWZAnUcalNmXdRsQuqDveidJmphdVloPauGqbWYLNTbmXTokLQOlnCNsewmwZerHNiIRkEWUUwCeSHeEXpqeGImjTZkcxlspXqQDhzxlmDGJECTVdkyqjMJErOqqWobNLwoTrIShJlcaSbhtYlTMrizKfyJcBDqkBORotiFumfHYxKLNuJDnkFPFAMhymEmfKBBLnmfqqXekLkjlBHhURDKRNBPakJSXPQF", "c_map_string_2":"eoiqgDDAiRUHAwIcplMBJOjOBufGyfJEVGLxAAsQRhXlrOtASofYZcBKFOKaZxnHMbyTRcLeGIyMQHwblOiufBTYSUEsIvyJdqdNDemUljkQxeziSfiUxMLohIhVYuRTSKyyfPLrNMBnLawkvCZmpESRzzVdLihLesfFkMDkfeTqYmHdmMHUkNyOpTMLxzztXOrccTtuGExAtBqKetvutVtaHflYyFKYXVOQJFrPwjSnpmagzIbjVHMqadIOzXPkTOGOVpJUCnVsdeJSPZAggDiMDsQFhYUHbikhQsOgOoqPROFDsTFmdsnyNyfZNyUByoOYgGGWeQZDPqwWnjQjKzfZSLkSrfTLRwUicqhnwCDWMoibmaKElJsDbATNlVsSROrGKajlTYxCceShnEFfoGmBHqZjzEGzmAtioeKvIAGowsWxFQDxYBrQCEVSgaJfNDcNNaVyzftiTySZJFlwgcGEiBozTbRxCXYXyDsSsqdTOXfSFoAVJfyGfykFlcMa", "c_map_string_3":"NYicFjnWwjqJwtfbHRbkFefrdATndfpgZmMfxJFbJoqzxnUZzsosgjDFGvzpXLNmttYCrLainTvsyuULDBzooukzoETXXuKKdXGdNGtBXDAnzJqWaBxNcUZYyOjAEOkkNQOLFZgxJoknIvYAMuHqBvxhrjIalwSpwKhBkMESVdtjFAQhWuhLnWxBtoXafPUVZneQURsjNKQfbSwyZsAosSkZszOECqbrNCgZJfckteGszmeleoCTClqUJXgBMPsilEJLKwPPNvzOfJipTQHjWcWhELRcmGncYxtaLxuOqxIxRFgNtRKlCKzayCUZZKpNtkfjfwPbLBIBUAPqzljGnxeEMXtUNItCHCxqeeiEvcdpYudOHMEmSXMuBNleNzWXZwgJMKntEVttAcOHEkUppsNDgnVjfbDCMRlzzAxyHnFRwMLoCEXOrGNRQbpLENtJeIcteawNPizJKQwyJjBSSWWCaGcShAOSvFeVxoRSxpAMpEEqEGPyTRIxTyCzNjAP", "c_map_string_4":"HIGBxvdYDtKPQMTRHFAwgnrYBmrSLAkVLQnbbcqZrWtPjdDlPYEfLAXnTPZqeIwhzYGmTdoYXzBxgBELIJWlWTlBZuOcphAHZgiGwUFWVWccrejwDfUtlHFkFKUlNKcqwyMXKhbPytFIowfVoibFgkyOCMPGOdbtyvHhIrBVbfPcFsyFflTbEUMjOpbKpwZfvzjrKJkpVtsltfXsqAsnBdZygatmtAjvfIvnRDRQIPCGvOLFSXWovsThdMKCuZDDSNjmuebuNZRDNNiZuwFZvIBKpSJPZkamoVXuVXNDOCXPlxUlquhlhrBHCHLjyzOfctnczQcZEQvYoVNkRggSeKZygZAkGsnqZqwovdvYyyVJDcojqRmjYGgvkVOehajpVoSRkCIjInHKXugQdLYHolBvKyKeuCGymIhKzfccIRRMbiSgDbdkAGEmFKdQvkIqfroxcRDMBQHRjuTrvywxKwSiibZJKQydFvthLNgnuxSYajmVKfUGUGUdprFQxVih", "c_map_string_5":"YLshMleAKhRSDUIHgIoEVwIeeTCgrKSpGjsqquDvJYyRRCfoMxEtspjftnzqcjKcfiOhhNpBUelqmAoksEWjPiotcWbOrVDnPBmQpstBwuenJnkiCoYWjMxlfitXZrNulRUCbAixVwmQUfCpFVHCCNgUoNAaDVdkduMrnBaJZpiktRGOHZRCwHlpIlQRtYGyDJYdQgKHWUSiYWORRMVvjScDHoXXaUlsyfnRpAJjKIrTCLEglEjIIObLAPcIDJXprfQzUNrVHZjpMhwlTZgUoylDcpaiDZtXwDcKQAMBiBLtwvpUEPplTDilyyZYAiBAhypKVjYdzIcDqfittOPrBnpLYcCaCfpcYzIFvcFcmNCSwKFiyEzsHnwFCQQrkxqTcGSPaiklUsVUpFIJPAJFKIPgJRXvleZOWAltSAwNpmEkWfrKKPCFfuqWVxTYOvvItwyNqRhiTedMCmXyCIPSvnofnTXpWnXRBCAYzEPgPEHOWRVkKPfMkhtbMjIcdkpY", "c_map_string_6":"opdnXqwiAjtavwJxQxCosxggJtVYJDXZcTTnfmqeVqSkXcogmplcWTSdmWeRTGABBSlhkHHUECIySpGglAlErxfmRCuPpfTRIazalJJzekKerqhQrOtnpdBokapAeyZabdbfoeGraBOufRtyJDMJPFWPWUrHqkfsQVtNYKRYDFELVvuNUegVjcxBnmswqEpIwHhdjdgFmXxWdKCmtiRcdptArHHysGrESytWhtcvHIuQjGXkIJkFVmFfxiqDtqIRHoLIHycFRHqlvqZsmklhvVgEFLvpKvqquASeEWjxFNBnxruhZXfJmAfCItUHBtzBJxrTcvmmTyVaybnXEjtpzdrAXrLuZHexHnumqoPZLhyPFwwIyohBkZdIRatkxcdHZmBjujKzeojoxwLiPDGLHpQQJcBmmdoHLpgxbsvTrxnVGykSjIbOLoxvLRScXiHKHebIPPqtZsefpeZVepUIsNUoTGIbEFDGjGgsPebemhzPRbtssNahOzymIsqRuxHA", "c_map_string_7":"LlueHwTnutEriQQkXrcDfDmxjOEXYxtBwKvocalYMOjqkbYeHDWQozEiAPmpBkdLNVMeZTyBcmyLuhsmkBxMQYMbxlTaGnzaNQuqfzVWESHCJDuUVkSTugVfwSJHABlxXuQkVYQMWwFUTtLdlBDfHkdPHHkBwabVrJmaHwdVxSeTGKVAHEEXWZyeYLFAaKdETpdTBirpEPpeVrcdikOpFXqouMLllFIsKuRAAKyyxCxLPxfVUqzZFZKCvnpEmuIZlzPCjxGWmEzSOkXVveFdXTOqwzRvCPIgmaAhSuizBtsFWRUVVvxIMwXmeTcMpZAHQEArfLdjoFKgiAFaUZMNmUzqflmNuvkYmqUpjWdHSxpgxTOySJIJsunIyDFtoIfViJohoQMYfATuZNYOBLkOplaMxOxozbyaTRcNUVTuIuckVHRBliLgIeGQdQfpsynUJAlPwrElVVYTeYrgjFQThCBzIRGncqvizyhUiSSRLWgQyVhZasDyRDgMnBVeiXKD", "c_map_string_8":"UkeArVhNOfWIYeqOcRkeDZbvetmDzUAATMxlRNjEXBtTfzXRmFPXGeyfmUvVOtHIUEeGfsQqVFxwyEfKcnGwWqXHkVPkJpRcqUDuiTpEkHIDTzYDIiPeoNBuGBiUuLUbIKNCkDWGeuyutusXcbAtaKupmlMWqBjsWJkXOXFRfFpjDBRfraMWJZurJmyLEWFHcwsAFyMhiGNCJkbkFDZdJhyghsTJOvIGairEbIvQRZrJLrwcTQXpRtqRxewxgdCDnlexVrBxWXpifIMvwCgjGskTkBlcXDFtMcpbgLBdtkmXQQOVvnnNvAYfUNYMRbwrCysvmBTPCMftZpWIAoVXQTZyZpbtNGfQqnxbhNliYlACnOjRvQTWTVYzwgZbtGITGkbovxNJNDSPESpZGYwZJkbEWHndpGaVLfICBjNpeBQQUVWeVfuPHKnphLVdRLsdwXDwZNlaBZvYDoKziObVIxvMjusSHXcVPZzNXyhtYKyIoSQYsBkEjgdHMqGBfdmq", "c_map_string_9":"JHxuYSkzMubLRKmXLFJSASSCcCWFPsNEvAoscWjRVwKtdOcrsrUEfJqxlYKmawhxlUIvnDAvfmxbNbKfkkWxcOuBCqAqxaBXpumtGfSBpZaxRtmhyQthRJLbdPiOrtLBpIiBCebCMDLpsGqnbNMhhYTxRuHSzYAmHzvlMzCayQFZuHfgqLSdlMFxTOXCWPrhGjDhEiQClJTXwhmvkrbVqXJEzlOQjvbyiwcwfpJjuCPurKDeJzhVeaZjvzCRrCtdFXcRdloitsFdOMHcyhtPuqvGdCKEwiSahajUWmkMWhXgyDRwaCRNtXyXzebDpdjHAMZYtkrOMRPQLllZBmLrZyaExJJdwWzZOzrJezbzoGzVnCQAHVUgUlpNeSTWuNWkJcLeInaHYGbIFxWJVqcxDmgllEqunOFmGLyOCbZhxPmyiSgeCQhBJWkWlQeuglJLdJWecjRiaSKzpzBrWmcXiAAzsrKubHiaSIjDZojLiCXjIUisuVksqBaJuwntsNpq", "c_map_string_10":"pRkbMvSGXeQhQuYBwUopazwiokYZjUeEQcWvGdZgekaPNlUmlafFCRFYpqolYaVHcboiPEkdNNSMVZsZRRbFuxgPztcbBEZXBrsORBaJPiWptDywSbWyoryOlkLMVyQXyBiaQGPPdKwWJmdRqwthTdnoQoRkBPkWxDXYJCwWmhFmpSzImUtofIpchDtKGytgeAXIjWMnlABLMxQepkDgXLWXWiHnOklRXJWxwLbnGgxdwkvCWAUPRlxciobHADZyDDKAHdEedWZEsyEZnhSOgrOteFisscHrXLMCfiApzbIUbzvzIHiufZbdfVEEHiIMhYpHHAVfXxjztFTKZYgnBKBeTJPcpQrjIMEnctQIfhJsTqQJjksNUeakOMygwYHAkwbztxaxpMYloujvXekITQSWnFQNnEDsnmENyOEstzvsGIBUAtBIbGjAOYtINWxIFsLXdDZXeCYPAOewAjrvCQwZWIeyWeLhGpHzIHHulIPZpevuKHrLBoQgoHtGxEtE"},"c_int":969602420,"c_largeint":-7146121094425866064,"c_varchar":"tell","c_array_smallint":[-32006, -21192, 13640, -23614, 28660, 14870, -26863, -7985, 17859, 188, 17332, -26445, -15616, 30949, 100, 6769, 26172, -15577, -23710, 17549, 18446, -15247, 2770, 27011, -32461],"c_array_varchar":["mCROHCShQjxpkUEbsXLyEhBfThnHCsafSkVpzwPlPBpFkRGppnHunCeUumtvOEIaLdPxfHpqRqVAwZvEdCIkfGJRPUZNWTwKtnnpiHLjIRZlZjVjwUhVUYuiDbTxHtlOJJPYUVMIHSpzBRKYEebgoVennabjnbsWpWpggbmERYoEceGGdCBbeTiuBmKdlpAErDARTYSSPKpSydlvlzbBGPTneITivEyWTLAzRcxpIHQkoMEZNLNtMTdMUviqFEZx", "BKMPdOAPEnYbcbLEJQeFMTgpQilwifYYuVopcDgkxQaFAUPtvdcbnZBAAtVsoEZhUlVKvkTazVPHvbZkfFxdHYxyEctroVonceKeAUguECxSwqRlxaMWNcBEkFrnCCZlnmEmbqSSDGLmBNHiHqhELrSguJElEbuFXtwwbAshQDtjKpNuxRJzdAnmTkBPRWFRuCSRafUheVxrtaBHBFfrlFqRHMazGljCHoeKtIcaxDUZZwoAeWdWaxgAaCluKwqQ", "dBPurlcINuLkamEERuzEMDBFtyPBNltLmEwFJcATjxZJvepMgbFniINhZYlXOhRwwSKbyngOkJytRYKOMtfSDOUwAKWLbILknnFFTWmDTiWUenpILhxifvzTGaDgHwZVoSupeKpRPzrhoelokYSgASqpMOPErFhDKEtcKIbGcskdlvsExqQOMYzqNyvNaQBFCMFVYTwfycIIXFTOmphbcCgSrpNZvhEFPLnkrfSCfUNAuONadeIdvgPMAfflgRPG", "uNasDAFikRuxuZJlKBAxABRiqtctvsFItSiwtKnrkileribXJDROydpuBnoDruivlKNrYhkpkMjJDTuffFQYUWXetpzyiUOoSDhqrPAtBpfnFeuGfKcRNazlnbYeZrxDwLDELBwIcNwGXHEBbdLdxQscEwmxQPOCVWeqexXoeqHbtGmbrpWbWKTtpLGoIfSTxydgkMOYhtJEplBAttxBLxakPFrtKlnAEJFxDEHMbnRYWduhxjUcktEVLViGbElY", "TJlUxWdKVLxttWkrUoqGWdehuOToXeqQOIZUmhBaBtnBfrHfECpHQOAOFhaoupEpGYaLPPfSdiGNaBdryiFqnSWsBvLAGLFEqEHFzKeaDHngTdSRjEZsDARsZgQPOPFiwBCCkbHZMcXvidColjEczprWuiqNBBFDCOGJQpnRRiLoRENReSnMOktwGtRCTSJDWuvLDTXbonEkFTTqxexMdYwXIUjbGbHIpoPjKFCQRzjHUsiDtcOjaYGulJsUZJUo", "zlDPoyvvnKpiRuruWXrEEvBQWjFLcXIcelWPjyTeSIrVRsxkYIfdLMXNhQuHzQmLfpZEgEmWFvMWqtdAwuCPAXRcnbXbEBgNQFcdEBuVCvFlZUVEdiqMNuYBbCAALicxSmjkKTlcTNkFUrQvXSoVUDKWUdYaGlswTJuMLONfYMmJfARUqhqRvABpjbNtMwwfKPmdPmfXZgpzqBLTSuMkhifqiNPePvscrIVowPYKYAJmQFReOlssFxJuZwsgOWkr", "MwxrVjOZjVAqXwoAHYEiuQsymhNlHTfJOqOawmVRuPozoHGojOdcVhynIkuAGoENzdjlArpujwybXwkCfLeEpszTMXTpXIIbAsemAYFQUulwpgduAJFubHoloWVeHtTcZiqWkUTXWMmKnVJMTNLOVjEqBedPZbpwSyxwHnJQzZWQYiKTAcgUfRBgnRdIUFLCWxwQhAnzMQGIfahroZmDfkqOhCZDAIpJPoCoeLPTTXcCHwTATBgvCPdZVZZAKvbQ", "xiHUTivOXruQtJVzfePjrbNVRYyOsjbAbSUWhpiEAqgkoRPOVsIuSkAYEMynfBICwoaRzwNNyjQWlvbhPpxCDvDPxgzmfQHFpWpfgqztLaxeHyMqyJICfFEGChyONBDrPpLIWtfCzdvzvUTNJoMnCbozcjROaUnixvMDpMJYQwmsFNThGBqQksgThNlpZdjMkXObrbulZvXTJKVdiPahQjZyTuRlaoNZywQvjCpfEJefnIVEwJQEonJabqkYGncU", "WroFJVtKDJnfRntVcxeUYfKXMfUvidGEZBPctzjHVMKkFgPUFJldpVomuiokvXUfguNrrLXzNHQNmxEHSGnsGCuTQqqvIqkxkuTTuBXpyqlMzIUpNuwLDytHMieKabEPHQukBqxqbqyNTaxvoqthbKgxdqrKvDLlUVkaetxiGgMKEDszveElYmqvStORbuamlDSCaZRkqXuuDObcDoUQUOhoGPDOtvopGgfocEjnySOkJoQlEixpKdSMORnsmigZ", "akEZNTCYbWQNkjZcOpjUBKofoimxuChIWAdgEndzafeyulFCeUaNdoyOSlujtFnITKYxWDMMdStCbiEwUJXurLfnSeqkLXhgXvQxAVrpNVIwVtJmsnSMBTbLAxYKCezWToXKzgYSOKlrXBEUGolVStJPqLwhGpeOwbKdjzWalkrabUfRAGcQqAdujyrTWWFBGMskMUNVFjpopTSGvtGSKzCgWBHvQvBUdlaxgRgoRYylCuIcMKwokBoxSOnqkHUY", "CZWPrYZEZCsUSzdQsYMVqYOwrBhUrXxjPbDAmKgOlqUHdFPygOOhAnLjSBBFfXxXCTvpsLphbpyiVyqOqWdqPHRbYUSeuZJkiGEtxQoxYkwIvjeasqirwHmigTSDiFidmGsStzJijOfyEZAjLwMFbJArItMJnekqufwjFcmFnlBgZmJzywIWxEFLIoRvfASnfvpouUVAMppHzpwuWXlFDOsAsTvuqTDOhGfJftRxqugGWbiMXKtSmsJxOhgfotfe", "uRrwbWmwuwHOsntXQAfQCVMQhAfUHIXUFCGfoIDCstKnxoPsrAIUwUFaTSTmCRwDYCJkIEatBzhQrVlxQuwCHNyxdtqcLspsRAwYYYclkORBKtVUyssaiQWWegtdonrbnvSdwOurBDuqVxvvcMAYQlYIJqhKyinOOWfEgeIhokVqIhaWhxhdLHYaKmxLRoBkYfPCmUSHSlxsxfvDaKhxgOOkiudQhbWHIjOHhOgJMZFawCqCcpVgWgdoNawEVaHx", "EmqETBJqzhhodTtUzkTJqXsbcHhqffArhswEvJhvdUuFCSXJjsHLYBFFvMJTyULJXPOKuYPHfRJCbcScnGPFtDHhPLQPcpPZuGuAIZPGxVuAGZLhsdBrAGHuGcyWwhEqtWALQfvRlKNMyMQoNqzmOXAKfjIVEHAlxjQhbVrSJVCEUYQznFBOELcgMDbKaPtpGfpAVrbgQhFbnhcfNqgPYyKghLPLBOrCKhyEndjNLBKBaJPUfoQxTWXqGtigNCam", "FmGMulDQnDZyFvOimVyxPmkYvplJSwBMaqtoIhMtRRIHewDyawyqifGPPGvkzSZMWGpevDsGosrlhBCGANJVzaWSBSajnTFJaVesAPvAhdSlcVBXkKegARBfSsiQkGFjsehTfCAQMuQCNvRjlfsGBvfiUMlINqOXDlqbqLmcZBRabPUtcxoHBbplJruwxGvyJAklBPINrArxkxraWnAZyqAsvbhpfelgbryKaUzTWXCwjYMwwBXwqFzqgqmnUEsG", "FoJlYHHBPmXtTyYHlEAakKQuaOHLIVLmZncOAUZjlLNtCeZibpzibdgDbzSEczAQjkUcPCvpJVRKqkJiYFLChlRZVamrRZYHcmAkuChaFBmLlRXOlBYvqJdderyPymVQEkwFRnTATdMRAXanKZjrvgqkxPfcbDzSMhtAhdxNjLDiYoLsJcfhicEHsjJkFAdVreadbaahcbMDyQbvRQLkjqpTMrmdBDlkKYnJntCuFiJbFXVEHrJiWFunmCmTrpNm", "wiEfgEqaiaWnRAZsimNAFfEEFAQKYrdFUncLspZsQKijclQcTaOAkOusufLTqhWXAJRKiskpqkDoFsozwLHpeiFQPrPosFDefSMWmwDfPKLrgYjXzcHEeFwKKLNAoBYTygLMnhKYSgGfyybgbjyAcLmUqEVoXcItMQgUzkZyqkgJzQuUeMxjsCdKRcDUbJkxPGethuIxAuSBxxDIZAFldrceHdtBtzFTbdvJwgNntVNsIvvOQnqbaAZTbwsdCGwh", "rtOJpxocBlmFzDvVkdLLsUIrYOeBtzUgiNFftUaLzFDCkKgkAsHIjuaJjEMkYnxodpzAOALTzVKizHwnLrVLvwFqJDicTRQbDhfhzicqHdbSGAyxCEuiHNLnuWcNqzbJPrziKwGQUbtEvjkQKsIaODsswfTvdKmQIrtHcwOQOJjGiApWrJRkdCxjUlMDlutgxdIBKawPRRSRUNjLqkwMSmpdnXdvaTvovbjTavsjkZEnolMhwpiJWFjaurTQRday", "GTaVeqYtmWLmbAoESfLDiMuiAQkosMrvInVMixgfaLoKYoiIwjcoaiSWWBkAyZguApikRxStmtxNblHYCzsFXVFoppeTMoOmSHwUfiwOzydCLPlRdgAgkXtAJgfaMAZPXwqGbiekBmRxaZYGdfgoWEnEWpdaeEuYJHZOyGbOpZmoBrHZgmzhiKLNSmPSKpeENjNUINubakFnIUuORadlxyCdsUOmnvTEGiFCtkZfJPLHEoYsJDYvypTxVnhHcyQy", "lqTunXBFWmREbIfYQAEIYYsbGEOnmohxRhRxwPluSLAULGPmNTzEFEkpAGWROUFmmYLjKokEbkFecBtJHhxyvarfedJYaulWwvzXppoDfJRdoZFVFaNEGYKcXRvFdojrTiETOdEGyfRwKRmritJmFvEJYLIIxMzItWySVQgcmiLjIVqRRFPOHBPsDRXhxTrDzPOeplVolfndMoKpyTgiSiDDSDPjVESmknpBMGucdawWTkhzOHDyTgYzkzJYiJoX", "rRlasbfxWNFFWUdhBuMHbjFPuoNQBCXbEdQdRReialiHnbVQqVKbdnonPNoMiWLtyhJLGBDIburtYSEnIvAvnkMxWxPHuJKZEIJatfAjhTFMUsVSXvctFfjmgGNTIvlveOYnpwlYAVrykOmUZSOjpSqRlpITamJkwHBTIsJItsbadBZppFLIljmkbMDioYmkjjNtatEYoyVkaGmbgrotLHIeDDpgCkAzoAoQcbwqzftHDUCFmZBtUGGxFEiQyvkn", "GSliKJOYLIlYIjEUakExhWCioZOpielzVaeVkSeJaUwFiGowrefZrRwbEvhKRWLacRNudCEYMaECyPQcHytzJtKOPwWVisKkQEXMCXtEcHQdMwtwOejdFExocsJCdEifoooiWdCjvFfArXqQvettTEBqFyYzBltPeISoSmKAWPtOPxfQyuzKnsrFFIWOXuVLXBHSnRflAhVVuNioRKZyEzLXEpzCNWTpiktMFoVuTEBkJAlEjZChlPrwJYIvByVU", "lXTQEvUdqdhiYjTowQVvluzGjrMxyZzrsAqcukSauEmoYYRRBOgtlmzDUWtvuWxFKdBIzMZpcolVhQiGNlQuJqEgGirdUUajZlnFbWmhdtEGnNvEBUZoyZHTJAJrWjSlUHMlOUvFreIaaSEHRkChDeIzenOedWazTaqRRkLcajwfclUCwHIQtaDIlNhOQfNYSeKOkRbZWVETJwkLdSxFvwHMSQhlqzsKjzkvfcvNyLVoZOEnFWePZqbiWOpofcIA", "ncLzrqATSLBSeRGtSFGHuqgTtxBPiCyZLGKsUxFJnTtZiRkeeUZtHSbLkVbgEBoFLkEAJNaJGwXIyKyPBQAkspycSOGulbPURBZJKyawsDLDHivbhSotukvBhYivlKZtPIXXWzODWxHHhaDPRxEbQaHKaEpNlqDYeZIPUczWBtHCBoOALUpcsdpXCZQftNSyKLsmuAzbGtYjcuRojRxCmuvanGNYEGskHXjvsrVhnOCeywwQzSlzzOfEeMkVqfbO", "kMAqDKMmbqnOinnXmPhbtevZCuhtTpkNdkFycpgPeLCYEBDIITfEmGkxnTzzvllQARZUMgSwqKhwFHQgkZplifcvsfnDZYGyJXbLjkpiweSfafNvboTjhvrQuTulZYjtJkQXrvjlOclyyggiOIqjqPdIawcjENPzTkHvTaCjwWXhBUqHvBdiYjxcHWelLJhqvQGyWKaRSYUQpfvCCVEeDiwhTsMfDhWnzrtwSIMHJuYsIeNvxzDAOgeAZqBjKBkY", "UHRcCdgAlSpqGrepVXvNWHKYKgCeyCFjVrjugdwKKImKPwbMGZxhQPvtSviVaSNOBjvsttZhkywAomPSOoVxWWaMTvUbczGIbREJmfJXoMSmNIZuFlObYxICavnhlUwuFjaYpPuDsrwhlcpXcwjCoMTmhouIMEJxfPsDAqLPaDYAQnpsTNGfAJzPQgyYQqsBDdakfrXfIIlAsfNsSJMngGGkOYBdnqNgIwqiWIbOwcaAePaLfVCZesgtyokkAuBL"],"c_array_datetime":["2005-01-12 20:46:17", "2016-05-19 10:46:56", "2002-01-28 12:31:18", "2003-02-11 21:12:37", "2012-03-12 20:09:03", "2017-05-08 03:38:15", "2004-04-02 07:48:42", "2011-11-09 17:36:49", "2014-03-20 19:41:50", "2003-12-23 23:57:28", "2004-09-25 14:03:18", "2002-04-16 08:21:42", "2008-04-05 14:10:06", "2019-07-04 22:22:17", "2014-09-09 05:38:17", "2019-09-01 23:22:59", "2016-08-18 20:53:57", "2011-08-14 22:09:24", "2014-10-24 05:59:08", "2006-07-02 13:00:53", "2017-02-08 01:49:29", "2007-07-06 09:01:31", "2008-04-24 15:19:53", "2017-05-05 14:33:02", "2018-07-13 17:19:03"],"c_map_ipv4":{"c_map_ipv4_1":"7.5.216.151", "c_map_ipv4_2":"183.212.56.80", "c_map_ipv4_3":"188.199.203.22", "c_map_ipv4_4":"60.41.24.249", "c_map_ipv4_5":"44.40.211.150", "c_map_ipv4_6":"100.246.8.13", "c_map_ipv4_7":"101.105.236.61", "c_map_ipv4_8":"2.32.34.68", "c_map_ipv4_9":"106.150.222.154", "c_map_ipv4_10":"153.117.166.23"},"c_array_date":["2016-12-13", "2007-04-11", "2012-11-06", "2013-02-18", "2002-01-18", "2004-04-03", "2017-10-28", "2005-02-14", "2016-02-03", "2008-10-04", "2017-06-14", "2008-12-17", "2000-11-11", "2012-05-09", "2016-05-10", "2016-08-27", "2006-11-27", "2010-09-04", "2011-05-16", "2018-10-22", "2017-03-21", "2013-09-28", "2002-06-08", "2001-10-24", "2009-11-27"],"c_map_largeint":{"c_map_largeint_1":-380870482705491104, "c_map_largeint_2":965013752418646602, "c_map_largeint_3":-2402435074050768618, "c_map_largeint_4":6281913397724106807, "c_map_largeint_5":-7330598762660989243, "c_map_largeint_6":2919369495573489412, "c_map_largeint_7":-140709706212664809, "c_map_largeint_8":8330144808827609982, "c_map_largeint_9":6436440823811472213, "c_map_largeint_10":8135265316575828103},"c_tinyint":49,"c_char":"SlhzfvuDhe","c_datetime":"2000-02-25 07:36:17","c_array_tinyint":[65, 74, -59, -61, 35, 93, -38, 5, 19, -18, -22, -53, -17, 107, -38, -38, -82, 28, 43, -76, -91, -92, -116, 114, 107],"c_array_float":[20.812857, 81.60326, 53.340904, 61.321735, 34.05383, 18.303032, 11.73814, 37.670353, 49.943024, 47.013817, 60.23351, 33.123386, 14.004282, 54.90494, 48.368023, 36.08625, 31.05181, 26.769512, 24.43486, 58.877213, 22.664299, 55.171986, 89.95512, 71.54446, 10.031727],"c_array_double":[51.771527267290686, 93.6059114834603, 49.05602633868711, 10.913447852884163, 70.7857389264303, 39.567627899173345, 74.28831513706906, 31.133494486646835, 14.139262896116913, 84.13618104342501, 36.11067367417407, 100.2129691416402, 37.29181062768067, 14.792764563325745, 71.38031782580121, 78.42356019883674, 62.60565436584306, 83.96178635913456, 9.50758787329695, 87.53745448534038, 38.83117707518453, 61.21339534490469, 49.71631153956333, 96.45927390652817, 85.48427430069925],"c_map_char":{"c_map_char_1":"wLEUdKIwBT", "c_map_char_2":"nbZpqONkES", "c_map_char_3":"NXvMCUBUKh", "c_map_char_4":"OTJByYwSSa", "c_map_char_5":"zFOFRpJjcy", "c_map_char_6":"cLDPNJNBuc", "c_map_char_7":"BsCVBYAmhx", "c_map_char_8":"ywALkQxfQF", "c_map_char_9":"XsrclHLbvN", "c_map_char_10":"cJNuGtJekN"},"c_date":"2002-10-13","c_array_char":["vOSebcTkTM", "LCfDBHoDOR", "hmKsmUDhkC", "rXTKrMoHeo", "UpluVxhaGX", "QHwlHhirdK", "zHhseAzmxX", "tYXVodzHix", "DJHNBsAUpl", "BdDcDQTKXE", "YSBjZReZlt", "gCWveeQWfB", "fGDdAIKVmH", "TrunscQJmd", "clWjxNnHdv", "DrrawgWzpR", "xLifVPmaxB", "kdNTKPDUOj", "mXDQMQlaTF", "SpSdUPYLhv", "xKrahfHQVP", "eQDLFBidlC", "TzPXtlavxM", "ztLNUhocGx", "TZSJDLwyBY"],"c_map_tinyint":{"c_map_tinyint_1":35, "c_map_tinyint_2":-107, "c_map_tinyint_3":-105, "c_map_tinyint_4":-116, "c_map_tinyint_5":-99, "c_map_tinyint_6":119, "c_map_tinyint_7":-34, "c_map_tinyint_8":-93, "c_map_tinyint_9":-20, "c_map_tinyint_10":-124},"c_map_smallint":{"c_map_smallint_1":-4609, "c_map_smallint_2":-14600, "c_map_smallint_3":-30227, "c_map_smallint_4":14559, "c_map_smallint_5":-9592, "c_map_smallint_6":-1721, "c_map_smallint_7":-20687, "c_map_smallint_8":-24523, "c_map_smallint_9":25219, "c_map_smallint_10":-11670},"c_array_int":[-82704702, -1428524777, 98844612, 16428607, 398143518, -2086942267, 1801541717, 856873481, 365974224, 325979573, 1341261949, -488127848, 721466420, -639985388, -103478311, -1852777897, 2049533362, 401710547, -1199624992, 49605664, -1149851519, 353503206, 513052195, -1855723938, -2087150928],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_float":{"c_map_float_1":94.972565, "c_map_float_2":15.831577, "c_map_float_3":77.63401, "c_map_float_4":72.57197, "c_map_float_5":75.2458, "c_map_float_6":61.738857, "c_map_float_7":81.22356, "c_map_float_8":26.725824, "c_map_float_9":76.373314, "c_map_float_10":78.29635},"c_map_varchar":{"c_map_varchar_1":"axOjJYPcHHHvyUyLrPdUVbyPNehjBgkYmHfKGkJfOLoFajqmnCHzSCuJiCZzPjBQoqNNXSDEPJyBeCNSevDIsTLNKyCPPIzPsNvmhTilVJfZtCQQYNNsgvJhHstwOpgieYumBWIGTYcVxXdLGIeoqOqBYcGmGJXoMjMitEOppQrWKmKiXeXkwIniIqdeZaUgSqiBGfRAfsSdzjbRgZVpivbajjzjdoqbLKHmlTWyFlGSifqdJxiyRHZbOZgiyMSQ", "c_map_varchar_2":"gBELqkhteUXRPAotdOTNsEYaCzKHjollHXSHDuYdVatlfjhwhdZAaTYJiZPSxQRRQFBeyXKXilJhQQdgMRSaMJTxgusIVNAutnHOTwdhYHgmRGOtxgWazEbenopgLLFdLaNFseVxDgqlONMuxQajLDPoOKkWEQRMOPFJjfKmbhTkeZijgcrSGVISluTPpaUvPvnbdFwhfLjgqukKRgQUGguolqVWiHhuFSsyAursrkMVydYdjRKAjVKezJFpNbBp", "c_map_varchar_3":"BUgZFDOFClRmeaSNpEsdphwdkGAyQjDasWGtrKMksqqJnWyStSOJcnTndUfiBiyOJrsxUCBcxAYPeGePGRKBHWmEWnecVdmhQrKPeBwsyeOWwtjHFmscPIhddqJxJVIzLtdAOlRVHBFNQqaSuFGcUxYOeoeaBZgPmtAwlhbokjkqxgUjSmrnJYPNYFyXbJhRTkQPWuklcgWjsioGcjLvrbbdaMsNQzxeIWKsRwXEjXiojhBsAJVYPMIDTfWwDnEj", "c_map_varchar_4":"sgCwwVhiPjNunOzmzZtPTavIMSaqOjMZqmMWOROHuFXUEdxzGeWbyMcjzqIEujrFatYlBOquwpRHgoomVGLAkSYSdlklbxJiTTgRLnMOSoxhtmTKeVJAYvbebxqQucOZNeKgfneREfVjflwPtdakIxbFdUPyuizpOCcZDRHNHAHZguyDFKjNWIltwhRPAdlGTwQNIGVNjcYoKSSucSXVLXBlvmBplnIMULfxTIoeNuRYOjoLJoAjXOYxymddbSiN", "c_map_varchar_5":"FMbgjiwEMffVQqmJEWlVtDLeJTZibqQhUSLhxwFLDlceqthZztBKXIweCauzekqwKgbtrLdsSziNzmmTJLHZYlfvaWRBaEPPgqPEbMxLiosvcuPtLIzyPZxevWYkBsJWcTwGYgBskdtYfmlRqPqrnyJMQFsgPRASarhCJxpjAAHcAwcUJQYtFbmtgRxLkvVqviVScfLYjEONWddjmsLTksYGpnvsJJVyPokhzcwqgDcuEqGCtsATMNPimOFTEjVI", "c_map_varchar_6":"UOncdXzjwfofNzJIrIVQTkKaJZQHNHDRfVQhfvAamFvOrHCMaGkiaekvQiQBFnNXtJYrHSOCIKAfWXIZLWZJXTjcetUfFbAfXicMvykDvGDekIcoBRjYBuqObNqJaStQIvcYfYiWdpOZIHaoLibLUYRdBMVqopQHSsjiFkuuDmBelzoUQSawlViusJxWlLNYXubAtLwbvWtNQmTNrjOCkmbmWNQvCgsoXNurKYYXYAdFZFvgzSvjcSaOwqIAoQPd", "c_map_varchar_7":"GHvSHVglZNlvJXPcKkDJrAMCYRPuXanedXvjnMoyvvEklznFLUzUEGDlWfhEwDoJWZlZdguPQEdLUtGVeJizWDllrJlObGysqDOXaPqwweyxROEfizFBFSECzpVbtkuOpDTPUhyflldxUoDdkpLiVKeDxYrQbBEYjYWjokEWZjUUgtvsMGfOKwKcPkmTIawyzuRQZwllOHTHYyfNkemIzhRZyOGdKMIaTFUwCFZDnRcwkVFjolVowbWOopGgguqI", "c_map_varchar_8":"FUsoEhpxuMCuXliCrgcWaBuzzxQTnYdOUkAXwZbOQupduYvenJjbFmshsPkmUkBRHXqQVbjwDRyChsNkJFBTrLiHsdDBAoQtdGnzFAyjGKqNqZnvNNebEYVFJIcTclzqjQvQJgxJmWkVrcZPqjTGCCiBoaICUNFcCYxMsuBwFVUVGrjYutpRgzWCCiNoNdCizzEwgfcFeCztcgMQYUfpIfEyqhfpueeuISinUqfbajDjahLCwSEwtnZUfjdHGdbE", "c_map_varchar_9":"qUcpAzvHieItAkGRBMxAYKcgXQOpMpNJygCukBauvMIXdrHjuKAhYSpxaUzqiQSMuJnPdnaKLhvWaWQHScArVUBgpMGaDzbtBOnmRGYJFYpgyyjYHDqjPTHmBhjRbLvHZEUYqgiMmpjmevBjqtbfpNLXwlaMZNPYmYglEicjjoEPzOdXpPMQbxrreGoixpprDuBWowkHwcUtkpEQALNGKWjIYYSuAJeHiDMSGdDMdnBcmiXntHjAhvSKPPGbHyHx", "c_map_varchar_10":"ezhJTQCjteGgPGVGpLiiXQApQHaRucaHbSPYuvjHFfksKEjjobIDOstfXGOOLQvxErwjwHXSGzRqtINEAoJEODuDzdRHVKWOfDcLYadgoWBXnIexMPhmZqLkIwvJowssQDPAhQRRaFMhhVXrFZThRxmSfQbEFNrGGJyONICWZJhJwuZTbXZHEgZPTqueDYfmGOhLsRzvLorCeHKoJfhWotXqOfhXEoazSdEXnPCdzlotPIZMFaaafZoqAAIKtzje"},"c_string":"wVhYuYALhWNMJjJKsIlCBodKdLGtdCmNYAYzaAyDLqGDZVBrWfPnMMtXgnIwTDrbTVggnGTEYJhhLUrVhylXCSvdMchhAIsBNrxddiCjagOJloLfDJZCjtUsBeOssDHQkWLteeEUiGwriPENckoXgXIgXtGLJGSHHJSflxdibZWlntybgjoRuSSDbfLxyVimacyNsUwDLAvvZDSPCkxZUfkLsrKRCnsTeDcRnfyhjNerzSDXmqSvXEQnBGlqoTknOSjAgLIGTLFCAsfAzEfnTbEwUBmhtMNxjwntUYeNCWHfRZjDSEDalWoGBGrpvxSFgdCPEVevuDgZltVbYbUmqESOTFoFjtIAoVbKgPRaGYULIppxQafSMwmPAiZmYqQXBmlNZcKzaLVHqXuMXUoezZXKCsufcXjIhSrvZtElXAKZERCOTsEnBGaexOKROrByLfRwlHLhkVVGNIaChMeoJzJCHYWijnpyAUCYkUmAnwWIlmhVpBVtPwHXnqmieEeF","c_array_largeint":[-8630653493459188452, -7982493424130256430, -8102742818352464056, 1947733887905308385, -5126730030674483926, -9032328068146572735, -5507735120759236941, -1186940580870479636, -4557022463939240706, 7847627372513494201, 6407696998640851430, -6560567210900483073, -5145348515666799913, -5023741671231778338, 6471490918403325067, -7289051022639740700, 4791674893630586069, 3638592059069687564, 3757802754212410820, 6281846822266902665, 3774105479786813240, -6564677748506880475, 661253974977044695, 261832726024412788, -8207804109136590317],"c_array_string":["traOrgOPkbmfnYbzpxNMpxylUDbYNODJNQaRClnEXVHisQbeBcUcUrzqLyWUJOLLriPuvXLsPwOdOCGncvQTdnMvGajICyLlQXUMXLpptBhqQKxAFwtvLMtpiFucExdoLEpeqkWZoacXqFPDWenQnuAtPgqijoFwGuTSGrGHkosSQfeAxVaEOORtpusBvsiOXVXLEOrwgOcnZUsFTAucdepDRXRhhdBVHGhouFNgfcJRSSsEtOlFRxnnPLEawMbXQGLhFXVzlmusIJIMJHSQDNARHObbyprXqfboikjeAnmQgKGJlfPltSsAnTVMTYgihODKLRuQLxRQPTrRpWSfQxpMCpKszoQcBcIxgkJmDYvTPFHxlWOYGfpySibERUkhnLelJlPGnYgiHEYQEKLBwebfTOtyPVgrunJzqNWWmWQQObaQmUfWTRiTcmciMeCdStmIRlaCzXqKmeJreAnAIYOQRKWvkQdPjiKekaOmoBecNlVqkBjESmgPDWyVOcvk", "yoRWRBuTSHQCbFhJdDIRIxzDaYElXaQUCIqjmDofnqvFbzrjpHjxHilaSpUwFYudHIlHAKEumNsuDNEpOySkJdoBXQIWKdchTgIutTLUmTNEbLIQORjWDeRTRBeXFanSPXIrXSqNVcHyayzOCQjJmznQeORCpNCyEUVxpaKBWSSLwJqsnYEAkvRFWQogNWAFFfSHiOJAAKTqVyFFAUNIVPINzSamRQkHGLDcWXJYEReBsegKnPErpLazApnPZqsDvdLIoPsomErMmQgezRqtZeGpkOADqzpnHcQfXNbFpPgVARyOXMWpCwRPTsqwDlJMBFsQbTqPLigNJgticSXYojLbSwOQpPbTtoeIaRBNVsLBqDtfbNwJzkQFyExSXKWAolnhmLpMxquZadAnTwTKjtrdGjEHsaQDBLBSzPBkuMNOXLkBREXOgtgPKuxqhCUPMoDNWXeNcNvDoNElagJUaTObUsFsfWpOgWfddPoIBcNZGWUuWwUVIpFBDABailjy", "MiBzzanubPAuSqIGEzutbxIEbbSZFpfXIqCstjTtfQYroGmbNRZYprShnWXHzYKGMGtibYxQIUJpLScXoojiGpgkAJBanTcIgfsCnqCFQpIIrrApCKytMhhWCUCccSRjNqqGSFwIIvCXTUtscVeYdzYQLGHSGKtxsClkDKqAEjOfqsdsIeJvFbiplvJqoWmIsSOsHbQwvOhpXKkcbFlIInENzbWCcDRjRVZqwfOjBQDUByWDKyOSWZGSSQpfDUvKYnteUUygpUxVkxgXXNyMQkHEonNxlDWaPXrsUxduXxJuSGgsRleyWNVXqZrDlGXWKYiHIciMaYVNlLXGjhwcUHEGmoDUFaexEwBIbaFKdclnhVJYTYoCfHmrQAMpBWKbEZYBkRxkxZoIwDpgGqwcNufPDzCIzBkUcXoGMLIpTDzVcxCCgOnKxOQyKIrMvQXRRXGHEeVfXOGHEXwcUUmcOBOwiDAEDMwAZjFavxfbRWSLPLJAzqOzsdSDtcsIqffm", "BjYwmFbYDRbwpkUeQsYHymSmFSaMLPPhAiLkxQWpTqytQphDHSwtsLDHUVHlBIcdynSxLPXircpVgMLBBWOInqSThHtOZVutHgRtMpXhZdBVrmxehEQnFQxHeNGdUOiMJXnFJWjxViIKPSedEldoamSkZirWVflrVqZTkNNvEZRkYQWvXhsIkrdvkMXIVlSRKfybrQHyhgUMwRaJZFojpenSVRtIbAxTkmdfInIefoiEvvSIsIfJKKyEUWixMcSLaXhHMGPonLrNeOfzeIVICcADISpdHwDxtaCJotaiGtmLaTRkxavUOKFrDNFoCZjKEVgHRZjIjFWdeXMQcCDZKYIeveGHSDwpVAavfOPJdsmxUAQIqepeqaYAANEKQpGemmHvdMWFHLGUxdpTVAoukReCRnEvcqulEVWhxFPLtZpNgcMxMTRQLvmDeSCNySHISIaBtCygfZaEuYqFvjyuNKmzCKjNXsauwQDdWQiIExriUATNjCPuMvMdEPcdhdPT", "epBDQGuYUsAkrDTWSbrVjOqkHSuNugpNCUrNpPmxRBuTzSzgUSbEuxSbHycThxhEBxIxlrEYFEQopUPPHYeOgDuwDvRqPPBoBqZyrBLZjGMZHzzRVmKKaRcnfrGRlUuXvLhQuEEhbfmWBWSQMmsjeohXBQKTJyeFRSxUytcUosnhlgDOChuilRRHxqwDhZoNXCHmHItByFktjRaPAkLvZbsNyoyxHOxTZCzFWEcnxblyTCUUirCqzPcyixWxVHFRugxwsDMpCwppYzteZdAtZMRDfJHkaLRPMeHZnSASVlQummhBuXiUJKKfQvQnHIoHSvzJJuBGqoQoOcjWHpqzmGFZunttthLyMYtlvrFOypQLWuvPQPoHzaYkycAchWGguklIcXLWdJpqKdGoERwEOqiNlIdwHPqvSYDlrcjAdLmOPphbVcwhZUiaFAuJOSvAuleYYajRUyMZbVESoHRJDoxCUyMDfkatsfjgxKqnEhDOrTAeECFTxVjDBNsWqecc", "bXghbRTmNBmIKETKbRhcotafEtnQzzrPpNRHSNzaSxMXsesVVoXWhCSpXcoKoWHkQlDqSpvZehZwhkvWabhbeVyKXrafqRtIErgjPazWEaQbDxGUGadCBEarvGrKnpPoDwjYcDsJKDIANTbiYszOYipaXLLqbcNorFeBkCGbaOIemlRZpXIUSyJHNOgbQQLcbWLZSjEdbuxyNStovNaxDKjcliSQBRPsxnaghoAGxUgSzVHSrpRZMwQNcsXHJPsmqadJbEQvQKKnYjoUatxHwRKUWBNNqzbUZZQUAFtMuGUzoHdTXVGpwUCKpUfnodoPJFtyPDhJZRBvtKkJVgjDaJEBFEOXJZscOPwYzxnUdXLFVciblVSGqXmGtrcZUyJlKhwvJxHEDulEXMIJDmCPoWlwdiTMJSTfXHzYQmHVJPSbninatgxBzaRTJTIsPLjBNdSPOECglxiMwDubKQWeqfGDCiTxYEdMbSOmOEVDnNQnEIONDdMwCYrKFKwGSPVq", "QGurhRVRhsodFjGKkLnFvLVzDoqyOWDopiyTtfDJFytxyPWikwmozfuVQUsqnlosfoAhNpyNVTaxdnpWwWJVDziRSFHEhUPJPJvMdafkVgvoXRylpuwSkOjGjskiWdzWHBephdqOaShoXeJsedaMuSulrStBXknVzDXutgbOfczAsREADekaScbluTwMLaaBGbvnhhAqOyzkjONghnRunhytHaQIFYZpZPCyYBtdwxfsiPKWraGOjvVNypNsvpuRkfNdUvBVSblYXBGfMxxDdTwTgWscFUtNcPggXmmJtqcQGupRcevqYQuCnjBrRjitoqXjKKaMYTWOWGWCfxGdpSHaUiqfqSvpwbbfWUwdLddjOPyKxxcqydtYWTpmAUtOrsHAtRBPYADdgEymIesuTmdYZujSPdPlwBZMsAsWZKecMjclBwTusnoprQfVuVPbhowfLbYzgFhqfQaBvgdaESwEPXDaUfjlytZBTWvoHCUEexeAkTPVboRQqXJIkvsP", "SqGZcWWlKZrdFdtnMMByilATGZWKWBhNCKNmtPsqkexPZdGmLxSBTCbkwBVKLECPUoGQZldWkaiGqyCcCowfoPnSItHDcoNMalGBGORvdEjpaLnCFTTLHsQTNYDIAAWIcWLoaXyZOoSMbOTJiUfHoAIdXtpgpsmobTgyjVJokqCGIAalPWEZqhBdhXOBuOHaqHwLOMqdCfwOADfZjcufurbVdaJXuXMCRqqapBTybNSwExTpbLpUGMNBqhThJRimjeKmopsBPlmxJmjWYqzJBOuvnhZlvlKcxydYtKFHHVeSQZUdNzcVGBbqMkOzvHpipdgJxCEdOtgcoPLwcWoNnlmUyfJDefFJASsjvxEBtPbYqmchGwNNYSXZVDNKgyRIqBCqCWZzbukrmkrsLxAKMQNGbnlbonFDfSHyQSYQFfVLGVTdxEBEKsMZPMepQCkDxkoXwdGcmyhQtEQpjWYKFXTwhDdfXqSnsfXLRgtLOqJTyynbWpsQcBOkOcQhIYFH", "aNYhuNBbKpNPLeVWSeVWEWQYdUKtXStrpALzCzxEdSpbJGymackfyqFAgMDOShGRNBKzqvVrJdVMkmyHktzoibRmfJZLVvzJEGonORPXjNOAdrKZuGeqcbapMjNKRktHzlDCiqpVkxkXPGcmTQHFPRKESuoLFTLfWAhUUXwXrnvdGgqZUimNPppEdlspLfngYOKSuuAlYKEErXVcMHSBhyqGmmCrIBFEuAHTySAGaGFlRNYaKBuhwqEXPcdpbtaJnWFqiPlcZMYEROgtEmqSpzkNidsNnkkANnLWFMxdwaSDjgucrVeQzfkCrjYojtyZHfpxuTVgCiWNcmSTUGlMTbYUGyyvMUFQowVDXiyzOHwLIfrEUXJOzIuNqqokaCfGDkWllifLGwzbRCtHtMwDeIsWYYgcrYpyntvKRBWjwDiVaxpuGOswUcbMwRpftFEluTIyLULgazhCzxkLmnXHwXQnhTBjfGpqFCtEQPsQagkiwmManoyhcEMVMmqHwTtD", "aSWrgHErZLTczttTAlDWKpHpKYetbUauqQIkJJURMCFhiuNUzDntpZTzMZmSCUSbJRDEGjySBjLtngAaBVVZKamxCUtcGfxvqTsePHLXpvFkgwQDGaWfvpfEqIwpVdQXpnaeBOgwQuNSeFyXGBWBlUDWmibXJcbMRFcsLHsphuUCCEjGYYhNHnvZFUpTvsvLSpErqblrqaPjaJqGkAXrcYvjAchTrSmXltoROFZALiTWGpVljEWmGqoPsWvDzxMVkLkmmpniniSGtfOpXaZcwHIUKsWIkmDFBCxEfJUnBtyjRmPeYrUexcITjwusFGkaXGQyJwYLfURhufMCJOcNQusGhZbXcbyeotuKYKzttTNFCVcVRDXIDDsNVIQcxBxinBhkxdrlrEXDouHwzIyEBuhpwSiemNhPxHWquSdAAhrRvEwTPusEpWuxjLpvSayxudnmiHUpjAxNBADKcGywOLRHoPTudaGKkfJffZtqnymNFiyzgNNrLqdlaJodGYYN", "kTzAbJXJyxsnUbLFgZKwJrbTnbSevUIbcHiBmHsEgTusmniEgyewWDctOVKPBzPTWfXFqUdXPIULMhVFTPmzpCgeTblshJcaXRdpSgisQtHwcePeMdBrGThyZrCqRwvagEDFvoBIdRizwjyqWBPBCNKAgOnefVTVEqeaRiHxOzKlqnUjzgyLaMvdzhFZknvRPWJkwhmRmCxjFIhpakWmHonXLipptnwTyHKQuNoTEdRVZlZduaRWMNaMGFgXigUaUakZrGDhRWxqcMOlwZpyFWBHCCOmJvRSYZudduvmUpSObBoIhjPywYCtXYagJxtIoncNDiNMkFcpywutdvTQvslTSyItcjjUwhZcfLhYtEhLWiFQKPCMkWxHOfiNtwjjSQBQaWOuHuhvyvkUkfAoeMoAikgprMZBdSuAYqoDlRvOmfhvUCqLkCQbogaSnqOIHoNSYNmoIiYWxnQxlMLZYGsGAJyiTfcRYjfIDjBiSjzoaXpuLFEVEEBZflyhlEbN", "zwOfkfqwUoymsAANCjrfxcQajmPbFMuzufmXXeqFNQowRdsLgZBhuUObMiOSfigVSNfREWAPpxJnqnuFKHOxiXSurMztgbWlZqLGhkDTbWLJsmyAUpoEPtIcsFxooqPUsBPDtFDxwItNKrDbVIdvnfOmeHKIggyAuAxWmfqwTOlEfVhqWILJBsOCfBpsgsNtGBxXDAGJgcJmSyILlDDIvBUROdusRTjOiuxktlkwGxNEzPJzNlnpAiTDsMQZzstSTmzrsKneHCySIVsMmuDjJZhzIwWHVRZRNEZcRDruMBIsJVHeTKPzTumxhLUBgIsiJmQzVkMeLMZfnJmCgzMsGykhcEuHDYqBHJNffqFWmALBCLZRSobDScajRmVPduTSNhlBZhRIIBJAtieQuEdLlgqgYjKqyXMkkYFMUxchvsskWnxQxJwGBNVaxwrVWmnybCBjRuzddpfKZlVUnCqOxZeDjKORiCUzpzwmLHwoNRyfUJZhAPvgFsRfAnBxClWs", "gniMYslFjlfoZnaVtJfEStkzUUhXSXyTsoRBbCyPhXBDSExIfWFEtxGJqxGaMfWreMliiPVJzbeOWbrEtSMcJwMNzsTVJFTuOIWSjnZtdzSmZYaMBUmpSSGnnQqqAbXvbaIuKaEnsRpvmrdGstrQFBQoSwCZmAyMOUhOJYGeyypEuaJgtrxNcannupAAWeUrtPekouziDFKsEIFvTSxBQwgaTJbflMOLqrxrPJbDGkprqceflbeCTgRTNvzRItDTJDzYFzcMwWdwsPmqiQmKMjbAuHkbRValtsjGdidvcmEzshBqCmDOeOTQipHZTkYMALmcHTkUtWxOobiitaIzToawZLVVELTMTXoSGOaVofVIeUXooAGCEZVUkbhNGyshCjbvzHYDvQkfqNqGVSXZZXdnLGjMMNlNMtAcFyOuaxqVFDZpkGTbjaUVCMXcUXyVpeovZulftOEHSBfEVHzVJBujuCnosbQbPMOjWNCpHcFdHGdBuPyStKdVIBmNQFyi", "xlWNmoTbsZBHGLssOIzVkJgDAUoyZTcOfZULaKbgVcQGRUCHUXmNrsjLxEDzrftjsyeaLbjUkyCcRLrMZeTwIWnKirJWWKAtQOtpDoBdPVXXWyumlmovwtRDqJAWtPDSRZNtFqsKsgSQOzsfaRsjrJrJUHLIYdqrsIFCIkuhKmcSVVoBECuyoDjFjeeKcrqRHCVjEOMVxeVOkdSapBSlJpBWhdrSbIfxJUKjIdDtVfgVFDLbXTDgPDouOpXnkZISNKsBcBASqPobxRFEqzbeAhZbFVxoUwrZtWogkamEBqMPkUxbtszQlqjbysbBApoRIPdUVHnTvxXZDByFKYDaPspFDXwklGdssjACEEGdhsnuVfbadMcdIuyfzRqbQegnqWUQJdSATGeuUobBHvRARBORjSrhVfWXZCgAdPYWvRUnVjHlfrLwfpzmSPwUFwxfFebnezBGHtUaXlHdvxVAMFuvGnRqeVKKTZNKZrvUuaynHcBSAiGSmzUdhiLrRIED", "uoYDlETMickwpScWrrfEAfISFYYGKjGvCWDtAVfyAfGLtVJhLoVKwhRIzdStlwAVzkJNhVGemREYKyxzkJHiCRjQJrUIGlsfwOYAEammglcTLNGsxSVjPXErVwLOnsoBHoTDNJahoFBfQvbposUAfGCLwvKaFfmKCnhsEgubaoAfKAwOXKQYgSeWVaIYMOaRPKvKdrfEmBstYQPnnSUOTJGixSoXngeBZGzdmiFvPeIdbensOVgimwiPOfiSDYeVWuCngtxtunennoARUMjGBivEyCzDGaBYJKiCKchpQZErpIfVgzxoPlJsvtSSQyWxkqQnFexCnKOKwCaOUDdzaKXBMTlIhIEDlxNoFVvtvUdWjrQyywMpbwlgAOwZqcBGaOvIpqiRDlfSeeePCPMdEoTpzDOaFyNSeouuWODCLOOOXeBrhLnyLkHGLwsGNqsSsrQQeQttpsSmuClcGXTZydqtLHFrSYrrcQzpLXBBpAaTwfNhEkzSxMaYNhOZybwo", "WrGzUoEXkvyIeCsmGDLwiyeqMUQPGczEwcwpTRwzpIyjprsUTuoSvqaMUEamBqIPVwGsfKEligxWADOmJOrVFqJhUCgUDBkEIPgxtRFMqucUWoyZIGqeLjWEzHGjLwUtnYjSLczLTmiJIrXYrANejYtxOFUXoFxyXoHvSZTuUEcyAPxKKOoATJNeQtJRJfjVtimUilHZVAjVzCtxTzshSFAvfsvlGqZdMWwREiqwAXWVNKcCTStfKDbsPAtmrMFQuZawxhkkBoTaQopsmYIZzEZFuWIhssArSOWpuIspmXzWiPszKfBNGbuTwycwlaFOOAyxNQOGcUdZutwxslxtPUihaTSdZuPddUaNyQJyGCxIRRUYmTqDweySeJpqfrORmmFTOEZxABCcAfkGJOcCJfxGuhEeWHcBjlYzLxVQcvyOBRpMvjDvpVErByfKJfqssSvzfqGNSKpKfQAmQTZljsfLGxBQVjIVZFyqrOqCEsTvreSNbsCzgbEAJtwrGKWW", "DbuSvYlZgbKbxhVFfLClfRbBZqUryLDCfgxhyMVBuRALDdQqUUEHLuQpqdXHWVWJgBpljHKOopFSCNwysfJdFtmFywFiSqdZqRgEiVPMEOnPObYcTfEzxxaJDwrGfPMtpkWpzoFwuijkNdfjdjxCkCHVGYwueWFsSpFbLTILZHbUyypDUXRwZXgpRyFNqbnRDfuWPkPSSlXgoZSyulBXeGOGTdiZinufeyTkaRDMkfCaKBDjrkNAJfyvFfGqGoEoZQpnUZinlyTCpUWCkxWbzzfFyxfwQlhhLVcExToiGOydGAssNnBHpNtMsgCicFldYAMXMdqYRVWJXhnIUpfYGdVPrhryYAKJtlwIdZNHlzczYtAkrjiKDSgcOlDXDUsPCSftoQuMIKfhBjvsqjybYuJZCoTnQBdETPXmmNHjFIvyIvPLNJxAAXbfADsHwHXAjJkQCsuoZKKARtwdMSQfQkenISMcVbosdQfydHPEGrzjfKTCMXkpOsyOBrTDSchr", "TBXFEBmRcWiiLPElpiLFTzcHFxtNHjPqhauUtginSCAXdHjHplIwfwpRhSlNlXGlYIFtcBnYdbpWmywhrGGVenYhZGSeueWHLDVxVeunKmCNbEKCMzDSrvLcKMpcRVUwtgaUqhIjGRNwPpkViWplVpoCuGXMOAgKlbfSjJPoXjwbZcisVsAalYHNqXTVSFfFImchXRqhvBABMoeckphdgkYpIpuCvgZbTXrsYXnfTYEAywUgObNEdiQwOHUOJSqDVrxkChiIeatIKfrShEkpJgIslobxsWqGbgJmJjzyppRGmqbJmjffFaMLkUCVwNuHewagNMPwKHEebREqSyBuBGMGBjcZYvIUubXtoBYInzMJRhcoVfuQhqslaoiRatVnSIupjhwilXQeKlPfCFaTWEzTXwOONtlxvFimFGvBaHhOqrMwcPOspIlPApuxoVsXiRlIHSZlWMPwMRwITbdwieZWWGeIUsCbYGtwCgyIlOjaQTAnxixbVaHhVrunYXIU", "gVHIAnIUxptqbZHJFhkXOPeLHYwSCBffxSZSknZvSsAEBDrVtjXbnzbxHCAoeaexmduhoJNuMmJYQtdhdvmCrfmrwWDTzpMmtHvnGMXrBotuWRMjBbQzeGKRTpFPVyqIoYwxDPDNQSdaCOEYggDoxiseZzPgJcpsoOznWHnNSTqxYWyzDrBLFTYMGCWcQuSfODwjCLLMzEfzpzHFAfjSnGfyGgxYesWMUhDBwSuoEEFnereAzyWZzWEqRdmnqhPxHprfVlrthtJMiEpFEXtBEjYtlJUhwsdEkkNRUiXKjqvLwzikgpDvSoEfaiwfZrlbboIAmfyzWXudiuJDcEpYilSuUiCkmfNpezRVIERIKzWlhOeDRoePXJGIwSfPjjJLJOJlRshbcgEMzoRfCVwFzdUFLkOtXsjUYsNGIfxonkUhvoRAvfeVoCnayABdaltlGgtuZpbIzTaMUwQnNUVQhtoFtnplmsceRmGJAkiTrXjmYAvElyElZrUHkEAQWyJY", "elaemOZObKqCxWSTSDxikUzmxRHhrYlmrbNUYaHzewAsWptGlCIwzBYcuuphxjXlPwIlrYtnFSstGuSppeKqeTTitMNFfSjaUfilQcJLHwweTYzcNRBEzbzaPzEJXbYXPzsVdDeZMoMmCNKfunslMbCuYjAsBDDdlHmLtAwnbRSLezRkgYYLuCHWSDXMBRQACCCnfIkLbcpbVgNyzCBGzUjHCvBDyQPmfQPhftzioPiBxWxCoQXLHbHxrTWawdjKMDEmufjHVCRtmPPyehAHYtllaahgddDFiCEesDNUtKZLkMJttqNThFIplCbPydoIYZuZTqMKNbBxFElSwfRAprlCRhHjEQZmhRqBYyKfDkMylGRpUSnOcOHvkEJigiGPhIIoSyvnGzJeTuoXBVIqBMdNDnDVZdpYfSRpitLsLdOeCASuVfRwABcLsbmaSINewPvzZtxrOQPQLIYsRNzbvvFbXLNjdFvFVRVTXlmMDykpvfsrzxAPGpwnHVYOXnTT", "gimNmngYhYoBaUvhkMdBWlDVJJaCioTBMlAtPmPPFYdrjYRHQVwKcgEoUrdtOwOuGUXNLNkGMArGPXdYkmHWLnDHBkcfoDQoUELXDkvZvUCCNyFWJqLffvIJHtrZOGFJgmHEPQiXkrJfQsoETMisJybJXXJNdWWzNPcUFXjXMPlwUqhUwsVGjOTksmxecZnRzalzADRnbYgFdMODDOIthFxTiscojEXLRiOGtcubQfUCnMMLBWGxqsZVTcUHsUbGtgkIwbYrFpAjdExnHZNAFhEIDaMVFTtVKbTzhgXGeeNdyVFXRdxflLtpbqQZedZmyIlqMSNFNiMGGwCXjgeIAzCsBrILQIzoBhiDehvuWkYjUXwiVbLhCoKnSaJONJVBAlXQLlnSocciOysaNktgIrzJrgcMFIhwaSHOUqATFdYgOJAzQKJjAvoLmSYyXCKyENhuLNSUFfvUoXgMzsffbjHzHXqXuFdgKXdlIvLSdwwiXBogoZBEKyhIwPNGDFsg", "gXyHzwmjioySVeIDALvqnwdRFeNJAYxjBNYJtQHRBNrKEorUTRmNjMNioCuDXiwLJZYLztRwKXmyoZIofIdgoauxVZIDxzfpNrAPZpcRtytOHXmdSuBFtNMIkUTopMJWCAhwdbaqsecRwICHDBmmsuwmpLFtSLeBuidUHWwrPnQjkzjwdNPcyeLVWyEgDjsiYpkoRTmwGzhtLdzkHbkSwDWdQOENQaIqcNFhhaarSRXDrHdFqMqlXXTzGSVYJDZMCpYkhjGchzGvXYINAqCMjCDDhtIBiDATrnmfxfmnueufksQfVqjzgjWDFUGKXblqKHiBSmwYOcSkVsbrHpwvhIYebheExtJuPUoWPgSBYPTxXIZsXogvLKtzznKDBzPRiXAyXFioDngNRGBSeHCZEABGHOUoTOBnKmOnHWgtWeEjMvQXVNmfuLgtYocoUnFHJMbiWvPCOFewXVPHSQVlAeCxMXuXhKxwZFbOIeOLqbGxGPlfdbGcGARgVYUNTCyN", "daHmwEEzYaReWIMQEzPlCXpvZMoEPQSbAZleObPearPLiLgaCLsaaDflTVWxXwynilYBdmOfAhjMsOnNitftOwAsIcphwBwJDMHdwvYvkYFFjJfYoJufemcpLvYlGSLHKiCKPECEFgjWVRHgkpsAJFOCTGqpWqzdHfAfgoyiZQZxpucvXtOWLhELhbLFIDVDBZUemiWmSUfUANTQCFJaJGfPcozIuQKoZDzwWIvgZtxGrUBKQagLhlmfNZLsUsjyyVVYAbQYzbReNTPosgtWSWebTXEFulSuYLRZBePDienJtxjnzzXSnboScVflomwPDmRGDABCmYjayKsajNPvmLfHDddFTRdQaNMEFCyozpSVosDQimlqiLPwEwoAPQsPLZIUTlAvwrUGJDcjKBohnuaQKkDUsSGzlXAqTdvAjiIPnUBQOLOCtlYujDekXimjVOAMDbTTrdeiGtjsVvYQYpCCrYJGHwKLNWnVFrbsBRXDkWjvgzVWDSpjZkKfOEZz", "mcSHNODsFJtIKsUQQliFgTvLcMDIQwLXLJrpanqcBNXXDiPbOAnGIZDRKWOLFrApmwBoeSDSYITsVcOMpzwXBZEHrdSfJjMlPBUQURAogCDXzkjKoJDbmRKSJmfVnWbVWFPjzjkviUsWiKNGbnlIOUTBswxxFDtUffihRMnoCsSkYuPArBlnvbHKGWzBYhDvLxIbHjZqhiOFRQUJMqpdHjyKAJiGsMLkOcYjHsNQbGzkVrPnmzahwnnEFPdHoPAndEGkIOmIuMiiSOumZnmSHgeEFAybrEBywbRhsUFRsSSAOItvfmVctXAgLaOFpECqabBwfUPwjoBDKOMzXGZZvyAuHpRVQsmWVQEaZsDUQazEpdZpLbfwXOZmLbsHTrmYChmknMnFEjnEvFDMwftSCYegSFAqlnWvJZYELNJlKSVyUWFbEivzGWBxXKLHYONYYZeAsckEJONCkipzIPqjRXwVhXQacVhidkAYooMzFApRBMnOAYHvSqOcJJBYuIOT", "qtidRTZoySUyXGMDabOfyFDFghgRHmrYGAtXRWbHWsMTKpXZvHXDEXClvhmQrInIgNWyQMACEysxDFXrKWtlWQUoYXdUXvSFgExzjioTywophobwnEKGMDKKmjIaBRtVZMxhwGfAhuqzxnlphzkzLWWaZginlSNkPQhePVbfvSVMrQnozrHVfIQfIJmEPelxgUHxnEHyEVanPgDszUWKGtmQbOLqVzkFmzacwLSDghsxcwpkXpDRLxOvXIKTFPOAbczFTLektTWMbnCtgifJLkFnFNOiwsAXnYIlBXWOqSgHcYXtrpaEPSNdySLchPzzALiskwwJiNfzaRAmYLcJhOBYJSajxnIBittAcOXcvPhHOwWwVflKPyLdvUYUGlrlRNCvwqvGVeiwciPGGXUOIhvCYbcIgCXQlBmSEfDcQKWflbeSDwnByuLJurLvbqlcPOlOhhdBrraQznyfSaswMBaHIDjTABIOeOJxIlcBghzyeXlitvxKqpadULzfLBcY"],"c_array_ipv4":["GkixJaYBcm", "BfeaGvmEnb", "UxPFnxexlT", "saivpjGnia", "NeiCfOMHaU", "nFLNOJVoCs", "FwGOmTMuCq", "wYttAJDzDY", "czSBlzfZJt", "UZVASIubaZ", "yjfrlWbrPK", "XCpjMcQLgS", "JxVYyAUAlS", "yfUZFeLGeW", "myahtflnhl", "BsbtrcfKwc", "iaDexFGhUC", "VBNtzVDxTu", "PZTcrkWHeq", "uoRwwtjxLx", "inipJDIlbq", "LjTUIoKJpN", "oZcpGlAPto", "UArxyjCWlh", "OSCnYLdSHy"],"c_map_datetime":{"c_map_datetime_1":"2003-08-03 09:23:52", "c_map_datetime_2":"2012-01-27 10:07:24", "c_map_datetime_3":"2003-05-12 03:16:40", "c_map_datetime_4":"2007-02-20 18:59:02", "c_map_datetime_5":"2005-05-17 05:23:29", "c_map_datetime_6":"2013-04-20 20:33:31", "c_map_datetime_7":"2004-11-01 09:44:08", "c_map_datetime_8":"2011-04-25 06:50:58", "c_map_datetime_9":"2013-07-27 13:30:25", "c_map_datetime_10":"2014-12-20 14:12:43"},"c_map_ipv6":{"c_map_ipv6_1":"c778:9c3c:3ea3:ed2:424c:99d7:1e5a:e352", "c_map_ipv6_2":"32aa:ad9:7ad4:4ec2:f073:baf:a218:4264", "c_map_ipv6_3":"e2b0:8cde:84ef:b26a:acb8:f714:845:1608", "c_map_ipv6_4":"b479:88a9:6758:df27:e898:4734:409d:8122", "c_map_ipv6_5":"6fdd:bc14:239c:a816:9af6:be32:fc95:6cc", "c_map_ipv6_6":"4bc7:3854:4917:3b59:9b3b:6e3:4632:4518", "c_map_ipv6_7":"d384:71ef:cf0b:dd01:c77e:51bf:cf3c:be5", "c_map_ipv6_8":"dbc7:964b:9962:9bb2:f058:bf1:df0d:ae7a", "c_map_ipv6_9":"1d7c:2f0e:edac:d9bd:1b5f:29e6:70dd:ff62", "c_map_ipv6_10":"a4b4:b193:e840:d705:ff45:7478:fec2:9fbe"},"c_json":{"safecolor":"gray","currency":{"short":"MGA","long":"Madagascar Ariary"},"adverbplace":"in","verb":"buy","digit":"3","safariuseragent":"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_7_7 rv:7.0; en-US) AppleWebKit/532.51.7 (KHTML, like Gecko) Version/6.2 Safari/532.51.7","day":16,"uint16":15391,"bookgenre":"Fiction","jobdescriptor":"International"} }','{ "c_float":91.913155,"c_string":"bkOARNGMNzTgMBIjLwcoaBqgPIsvWtUfmHxMKGqCqwUnlMGeExqKumTmAxDxQOGNXoPvdIdPGyUkfWCbazkWgUZaHVqYFZZtxRWyEUoSOPsxydUhMDiFsqpEgPAFBmOrJvCkdbBQsDOyVRNjDbZrsxckCLQVAYYnMTxYtubqbHsubCKajGXnTdTKWbQKnKlcdvmZFsWXvGiJNvrCLTmgSAbXTydayKzpDYFsUVbxiJaavJAaoUFHEjmSBOjHLjckPQjlxUYNZlzuQdcssEJzleNGGOzYnfUrSWnVvBcyQDrfyaowCUifctRmzqDqyFPynDUBGlHDjueTfrNFkgIJqlriVXIuNhEOZXrRSiFVEdddjPqQHsbBZUKoHMjZfgmBItGAQropMNxzPWibBlsctWOOHVFHGVMUcJzZYRbinNjJSNISqOcVZFfYGiXOscRCUoCKAAvZxfNQmPODRpcNLYFOiBoBWaXAHPfWFIEuydxNdMYQNJsQcExZdyzmmhEi","c_array_date":["2010-06-12", "2001-04-16", "2018-11-11", "2009-09-06", "2018-05-19", "2010-07-28", "2016-03-09", "2013-05-25", "2018-08-08", "2003-12-20", "2006-10-26", "2017-09-14", "2017-11-26", "2005-05-14", "2017-04-07", "2018-04-10", "2003-05-03", "2017-08-19", "2011-02-28", "2004-06-06", "2004-06-28", "2019-10-06", "2004-12-27", "2010-01-09", "2009-07-01"],"c_array_ipv4":["qosOjCuoOK", "IxOuRlXwJQ", "SZXsqVurgB", "MESFzvJczU", "lKyqKPJVaE", "NulTYjgUXo", "fgeOkGwQSF", "URYVWzMbOB", "NBnicmAyVo", "JsePJnqdBg", "RwvyvSNfwH", "TtSQpPSvqf", "RUbfplibMD", "jtTGhbHcHZ", "NysSYPcHAV", "INhCHLvnNr", "wmNbTDhFQy", "KJYDpKCAnI", "UPyQLfBgUR", "UIphlmtFIw", "noyiZGOpGr", "nPIJhdupMT", "dtzWoznYsG", "jsqVlQzOpU", "uoWQGwrLhA"],"c_map_string":{"c_map_string_1":"iMvghUOtDKzOPuHLWpeVWWIoZAMmSLnaCZvFnmkeirLgpCrOuyMTeGsFfvVTQlPbcleWYFdTWcOANGeCnLsWaLvdMWaapFcxOOJhVoGFXfBTRyAIvLmJUWbyegrWCHiXOVyPHIVgezqlnazRCjjfqixzbBwIxGZxPgvEQUKNeQBZLBnCOqnuibBJEtdHcTxJzIzTqcDmgeUdjSBgvwikyYUHztnJCmLxWKKkokHTIBXzHqGCvfBeGWPirFicuiJGjSwITXtGafPgoJotxCcaxjiKGzPqoDVWAirYYWgdybKoYmdgLPdWBXTpDqzCVjATXdPAEJNHwLjlmILvoMeJTVzWWMMwtlsjEXgISuwMpClzCyYGdYamYtMgBikDHQnQqnqLKLWSvdgEXLLbabSavocZpAMwffNGMljOMUZiJAVclszMmqmnjqYCgBrfLIvDnIegvgsHTueeavuqAjlToNlOVowzFaRLfVTQEeEQPwlUytKZnveXFFkRIlqsnvUk", "c_map_string_2":"JyfEcMNtejxlDYkdnYrubtLjNxZamLSPdqbDYjFBvpVwVpNvVTgKiebGfpwAGYNThvoGEqIuowcqgYrEYtLYswMeWAyoxtEuYysTDxiOqeIrZuqbOMtUvFIojFYTKKmFQQfyRHDYOYsFDMmyWCtYEZadEgkgrlPFbyfcwIJOpSpsQFWvqXShQTTWHWTDwUCnkpcBYnXvchyyEmEcoAxaCEeeBOgwHXYEyKKeJmsdAygGTpKpWCofbIgcRhGxcWtMAuJfyhCagRNhvAmnKFqEmoCgCsrjhOKvbGpNhePCnqRLCfUcUUvwjLRRiAoSaJTMZnRsVjdWawjScBrEBUVVkHwQFVPfiNPNkQKeWhdgRfptkqzRjGvLaQSxqrspOUgJfHtZURyBpQPAsVYWzpHrtXUJFuJFUPHLjPDSIzCeglQAUZwQcBasjcJJIuvqGKZMYccrKLGVPmDADnoeyyLDabzUGrBdAUagnkmwLfpcLFWpUHJHaKDGeTmsbEpnXlfD", "c_map_string_3":"rWzSjwDbUpUwqSEGbSUuwkidBAdngujwekctakXJSyjEIDSolGVxGIFkGHKrYymWuORbmchyCHuFgqtormKSrPgjhuVnAosVoFAULwYlorTGfFnOORkUCqSPkxVYLunuNHDzYAKxHevNirvKmBiJwWOLhcSUNZQOgIQvMCcZolOELEPAzSnRXIIrlwLpLUziWtInQbKBVXCalnSyxLxYviyDSZoryrzGZtNvKyoHknQrolPLwZwOEMXlXRzLKktocLzIvVxaNkiKKvCKoIDERqdHKsccpkpmkLpeXBFHJsBKvIKFjtHAGxNSYoGIqvJJtoOwlOfEZzbYmITUgeNueyPROCiQJcUYRVfnpsLGkozbSnBvqliLtCccUtcemivukiNjuKTbAcLHHQaufWYWzARKbramPkYjwNFDxNxZvMaaMMkiXEVrYirgqBAFlxWzFLsimhESSXJuWjOWoqZeHNcRxRkTTPOMuILznCzFpTktZXUZnEzfYFihfkwikfXA", "c_map_string_4":"HXagzgLyZhUlpJVrRfPelDsXBseziHtJcLHEGXDTLshonYwoIMarQnvWWqZeCNnBjlEUYJttEXFdmLuXPwxeElqhoOoHhRnDKqWHZsDlXaWefetmoFwwWZbRgRjuKgcdcyxHXcyofCLXTyerUIUQiOnoMThZCnTfukHZplEZEYNJwXxbnsfzvorraciOSYbmzORLINKuFJZeqbPbPDvmyNmXJliZpPCZLnUPYErVMEDOPXewCxlmSmLtpuCAbXtYnPmflcUJNODyUVMlmdDTEvxSDzrBQWEQzizQftkBwUcGCOFTNyGkhHJhPLEBaJUVuOnaKeIIySLbjlcGiQSPDMHyVhmBeChLqKuixHYgBZxaLiIrDCOPjsIwMKOjcrzbnSNWdqgjuOGtUYzqzRPCHsxMuIjasIWuMDYeXEIWyXuBFYSOSQjHEAjdhXLopeQihWHIzygMXhxBkEMNvHaPyVlGAynQkDtieKtRTydMgTiTPhgobUuaxjjQUdLMitDO", "c_map_string_5":"plEIkQcYUjHnFoGBFRCXCdxfBCjlzSrsFGuDobruzoATuWEsJoqlVgXNbVVjqmhjcqkOHjAAhlOtyAqIvedaRRebjjRKKZCiEoIGZFJjPCgzCVEQliMDHiXgnSXVoYqmpuJAZozzvQDrOKGqTPKMkrcmvMGpfiBSbRQueKBMVUwpDuKDPjkXHuPxasSarBNkHKIowZeyvaFmkvtwAiTkTewhosMhOCiRASELklEeVgRVswcGAnRDxQUnEKfXIguWJgRuVHJUSEPisDuVdoyRqVKWGeVdgtMaFuzUKnidmTvEjJzcWQzhizvYfRBPAJktNICAeyYgCXyGUGoqfxDqVXjxOuCXkOmFamqCnxbpLjQqObIWOVwOAZagbzIZdNNxiIGLnPWPRhrJjPOTtullmXaGvlByvoZtFMuSkLYGmvkwdZqFcECmIGFtHdasJRcWHaePvVKFZpLPjhMFtLhPmDzgfQbMLMoHUAqKRStvCuImtNFcytsgzvYSgusdBUiz", "c_map_string_6":"PJbFTKTHTYMbTAlbhOVrpLHoaplLxEQFduNaIrPLuHcFIWHvJbdBtDQXZIoYXGyePSfjziFzckUHktkOlFiijkVJAxOupYkPoiSUHTFwtwVgqDSmCmCddamuDWjPdREBtKmKhpnUowhaaxOICYxxfKujVxnztVIortwIQQXdGSAFiPGWEbmcNhHTYMEnaKqcXRbpHqpTWEOKXXtVDVhWxHMtFKEkPfDixtxNfexNXnwqywjJNLTqbxzVUPYuLRQPoeUADImkqPOAtAwGsThaXzIKKvIgDwDuqqidMghRXCgjoyKwaCjAhdnEiIqeyhxaMETvMHtLwCbMYSLveefnYVQPUfnJAScAYrNxeCmatmmNXbZPAOdoAOdePvKBqoraRMeqkEftOvlebaiBgqbetkZrrxxqYdbOmXrLwTkLBdBJGSeBHgvvRSzPPDTvLQPlnAksigrBYZXondcaiAIaCPEUdNwSEKYAwGQFdUixcFoRMGLQrNAFVAmnHnNbhaNl", "c_map_string_7":"CjxHCxJUEewKPZOLGUOOMTKOwqfVHwEcukAeKCRiolPXZjxwYGCdtINqcSCETGxfrDmRKoMPHlUxxuTTRYewphmNGRfEKZrXtgrLttgdfFqQHCkebGyOeRfHnvkUJGXfzgQsqRryyatiTwzlqElscrwZhbKvBvmNMPNetWdnzhwldGPRernpxNWaMxCSLcYeaobFfVFJexUidnGMDLpkwAYEMCbBKKGpKyyEwCqLJMbJnoaRZLlmccjNCcKfHathlRMVPKbJJzOykuvTuETpbcfexbyUKHfipNYrwGRKBHrBVGGurbCDxdcKDqwZbNMNUGjeQySTfoXosvKvKJMJZKFYCsAMyCqPdNQqlJcEiVXYgfhQWkdYcYyyQWriKXjCXeGxDbBMPSbJbNsfQKGgMUGdTSWQzJLUxWfhAvhcOyatRKNOxXucyisPuIuvuSlVXdoMhRnNnfDGyxzBORqWfCBkFAFsfdYGOWuirBeMBGMtkMOZlKskOdrKSDmoFGrQ", "c_map_string_8":"oJbGVWPSQsGWBpQyVEzVjASZywctXLZIuZWNYLGqITjsnlYkQRTxMmQXpufYTyTOXlFDrmyzseNSKkSiICKKTLNzcMCxMzCmocWYAqLHLWkbQwklJoXtqvmbbZrjzrbCciRIfKJciiKxnGyGXOpLmsFPDZIqNgJeToAOKHEtKPXjSDrnVhodUdnZVAnmeBiSJTipzJfpfgePXLZfhylccqeBFqzMBcrekQnTcWkxxIuCYbJPrVnmsVBxtMogpyrRYLBmMgorpgbYJKiwqBelqxqgoLzGDvjhTogCcziFEEzpTABuvFhsWDqGdttcPrsABOWXTMLAxcDXVnSjxZLcrLwdJhmEvLJFQEQkohGataBcAlwDqisZSfltRcNBXWkMBuGQSooIPsjjBEwKnVRqJpguKCqSoOGabxhHwjsUdaAyoiVrfkhbBXaTKAIxAEBHihZpfbXGVVBDbZQdjDktcNQyKxxGzcpjdnFEsXQHdChzjfYMpjCthvYUrfesvlDb", "c_map_string_9":"riAhjafykUfJaXxDzJfzODjnpwZjfZFLIvIejKxdhXrhbGSHZUCgMAomfPpmNWwOLIFSQsCaULqhLdFigMkfSQejNEVNTNLqRTPfmYnagiKNipEfoCdDjZwpyiohrAawVgZimHgqSoPKtrksiFOiDfTpYGvKHqsJPVvhzEBthuPRtBVDVDEuukTwAKugjYsAsCWZgKJkuaZXVftasqJcyCFNBzmczuNcZFopiIFYzOoMBQpnDEDigrIfAkrWdDFbiRspySyRGTHNPEjaOutRGxqpCCrrUPyAXfrPwzUxXwpQhDkKCFQyMuSwZbhsfovyheCUTGhsskcDiilOXDyiBPXEchQcZaLSTahtodeHjGHCYEKVUWIJMMCBRoVevKXRCHlOcOPHWaanhmifsnIjCzLOFYHljOIPTnCDUpkaIHOfJwcqTrqUYSrlgIBAmwPJzjBEKdOaniIybRBNGvLqnrDfAcoCVultgnfjDHYGsoPSOlSGurDKRyREaxKAaKno", "c_map_string_10":"doHfDRuQvUFeaVsxTigjmgTIjUXtGHhmCYgvoskBblEgGgLXwGRprxdMGgcwfSoJTGaQVcMlsaUdMdIgFzMmxQsOIfXMkVccNfHYxcFWhKWDQKjsQeouPPEpcyFIZCsGRfeAPqqaHIOLTIGnWlzZuCZyWfSdDfsGjVjESQiETeQITCBFZRBpiTDMEvNKMUiptoxFEdcBuUqXPQMQtRsRAmcuIXzOyfiClYaWnFEIgtqBEWtmQydwiAYkofzsvjMgldIijBICIYkkDOCqJvGxyDfQUTToXuskVPWNENaiCHTpVJgDXbokRDZWDePRVJmrLcqNlNNoWygxXpMSeilXWbUtrJPqtPKRfVxrQrAUvhOfLzqRmHIjbluWKynCZrvTRImmnWMiCOeqyWPgSpBvKkuyNlYJSESyVtqDYPDLbuARewMpyeQhvGhFwOscjcEJlGbGmGzdHYgPEvKUifoFbVZigcEGhlMVwxLthrQXHwlDiKMnZftNVQQgfVXPjzZR"},"c_tinyint":108,"c_array_datetime":["2019-02-28 01:11:14", "2019-12-22 16:15:51", "2006-08-06 11:51:56", "2011-12-16 00:17:13", "2016-08-05 08:49:21", "2015-05-04 00:08:16", "2007-09-13 11:02:03", "2005-07-20 07:48:03", "2003-10-23 00:04:02", "2013-10-16 17:37:29", "2008-03-02 05:48:47", "2005-04-14 09:59:16", "2012-03-08 21:58:25", "2015-01-10 03:55:08", "2001-12-23 19:21:40", "2003-10-22 15:30:39", "2007-07-15 07:53:18", "2011-03-11 01:08:02", "2009-11-22 16:51:42", "2000-10-02 02:57:40", "2000-05-24 19:18:45", "2003-09-26 11:33:50", "2012-10-01 01:56:03", "2012-02-16 02:59:53", "2006-05-26 00:50:09"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_date":{"c_map_date_1":"2001-06-14", "c_map_date_2":"2009-01-18", "c_map_date_3":"2000-04-04", "c_map_date_4":"2014-04-21", "c_map_date_5":"2017-01-21", "c_map_date_6":"2003-06-13", "c_map_date_7":"2013-09-08", "c_map_date_8":"2012-05-06", "c_map_date_9":"2019-02-28", "c_map_date_10":"2002-08-12"},"c_largeint":9124739646371411232,"c_varchar":"do","c_ipv4":"175.129.127.212","c_array_double":[1.4793275095313991, 15.623332545189559, 7.083387761906377, 71.99929649005368, 25.63826114481393, 26.870969052546325, 96.5723605740705, 9.77236377370958, 64.62896754841312, 95.57146115829227, 1.6915287151990421, 88.96155226010389, 57.50143110926693, 80.37096310487435, 67.04383503238213, 98.97776516694792, 47.60541784096276, 90.92089410658717, 3.3865424897434733, 54.05481932617246, 29.433339743820813, 68.24197760314873, 27.58036046300472, 88.08846427277288, 1.7308874734908164],"c_array_varchar":["GgIdFCGBCvKrZHuKNqmCCZKjyYrfbYNLwFRKEwakKgsylJKifRCkCLkxbWpufJWawHoZJxXNxGPKcxPEjjtUiOnupFXkTUBwwklLiRptrJLNkcFZuxnFvZJGRKWVwBMoBudjzuVHYVNrcKfAABTRxdEqgqtPyeIBLBDeyuCxXHfjfSMLtOQptPbzbCkTtWnTcBEteRHlslEfeRbgKIJqQjFQITgsznZoIzyiDsxnMnjhIBKuSdqlVvklKmrcXMBD", "neoTKDMgWIWcJJuutmMItSlkSGpzDSubbBPGvQvxjnYnUoketVcvJgEGjATtIEDAXjycFIReESbqasLMZjMgIxFHMyNiJGFPCtKITTjAryYFYjnYFKitkykvCXmRKdwGOLQkhsFhIwWBhWKYTCmbhAeqecvBCwMcZPJcAzLRMujmmdSjqtCFaXBLhvefpgRtQxVkSyzgAMpqngdTQyAWDWsSDbHPaTzvLZsmKjDKSwSoPvPtlbSpAnFExDhgIkBH", "VHpjAgcUcZNBQAZuGyToQtZCZubCTkhFXMtUsMulXIrVhiirJQwRqUFaKRUlckhyrsgFnPZcETRzSYYhLDbVFkvKjQHlkusRMtyKHLoUzEuypUtcXivBNjhuWUduuYCXNjgRrPiWfWhplxDtxIezfXKBLGAbCNJIUrDZMoIQFgHVhuEBRbooxbbGpieLtWgINcKEgWNZrKFJpwWRDvahlXtPkaNnkvtFEfPbWMckUwoCaiBCImUUFBaJetmTRuAi", "wjQZpvmwfBEccmIaoXDxJOwZlcxkaiDVxNuKTnOEQfUWfRZAjxCRiWdeeiZjeRfrgtSNpmayJyMxoyofiRKUfgEKPazceAqtglqAqUEfeTBKRkLYOcmuvwwXSZRWxihfsgDNvWrziRobbWVrdJfelghAgolBycCYwczNusxwQXKBQooWmOMeIRMAQTrxpJpSUQvnsFZVzgobvnmlSjdUYZpCbGearwRnbayIWYVjZZPpPXXXXdnDdbicJfaPTwks", "pReBrcLAOOSXZqnjSsZhhQuuOOqMKzrNlkdckLcxQkYvpmTPaPPuSkCULHrztlcvwptwwYbIIRHWYPHusRNZwxALgGXyZFCOLXUEeBitbRWPTEeQxbbXCsUFAlcFAWXQalCrpHYoQBFbTIBXeNtyvDFArcOOFkMLHYOROoIyVgdSOuskGfpESILIiDqVhUcAxboXENeIYSjOwOYUklLJlAKEKypPYzDrLqUjIXZSRnTOWeybEYQTAEQKUowlcwvb", "OoWzreQWBkJmAurogbKXUeShJkScpgdUBBkBZyyoLVGiUHevngJVCmkdAURYDzaBPnzfjjQqUKiviUGrOpsCrJmfCtVvOxELKmTiMehrMVWaVoJhOMFjLLXKYpOTCyRZkIIVIEBsCTvsJnRyQFVTQEJGNhOsAFrwKBXRLxMzmepjhThrkNePKKZeCVafPKMniWgPHKiPcJoVdiOPIMbkJQmsydyIXKeiNlrUFZseDbwvxNeqUjmFVgePYpFYkdKL", "jGTnCTtmGCcpQmHcmUPsdQpyiTAGDgKiCScRIxaXNBWJmjSSsGLonFxyqTmOTIYUzhlkpAGjShkzVgfvZJbajQifHepxeBnrWlUUFnTzoTXyFmkxneMrKFgURcYpFqPIYjenfbRtOkcvfmfcGeKkTNEvGEQUwBQVHxHNiJjLCtSQGbNJjcTptDtWXbGgLREdsxNHDzwPFqtrwHMiHoBjHPgxeRtGtMgmXWnFquESwtDcaYHNjGPPZIztVvkfHoTf", "kfzWduKiqjJCZUTNOxokkxmtXOhnHjULEHxPoAiTUokFWFWztJTLMLyIiVAxobRopylJeWCRfgSbDWUeFvwXpfvaLkcydIrYZgrjlxEQgoSoOTmdfsyHlCRniwbgRDTDhVeYYaCQlkLbzCFXNppKufuqpUezrRZEBwMXcLCWdiuJpaJEtWEXPIAIoZqgHhMnMzubUKTGMHMpPazvwKyeJlQXIGLQSakWvMfdvPXEbKTHPTJtYwtypILGaZnDHrZG", "wdOwZkUkQYeVYxLEdxNlDDfTStuNJvsSRfEXgAYOUaxoYcnJzJUPAMjVjDAbJCWXvOzosqbgOqjgxThTwBdhqtcPIMhfUnZPSvCavmpiaPJMPGYQzFHerwtdSPJBfRRPdAPjKAccKPFWDDarVwCkMKSpicgeqOqwAvqhMybSEtsTNYoEVidQqcEowrNtndcdbTLvQwnmaAjKcvxLLUgDQbWOfMfOxxychBrkOUZaqBeTsolwHaRMxhFFcWdjwVBi", "iosJgyqdNypDPMmZXKwXsNErVRpQJsWqERdPYsyUqeDTZtdwQQJTsRLhBmDwTHIblqnDHBjHpVQTabwNpYRPTbnczCdXsMmineRESKPeJzxQqxETxJmZSYKKqnzHkkMXoexZeRuNwoofAsHCiVdZCdqRHSwBTTKkAuXYUBicOnqJuQBuJVoacjcEsabAFqcDzaCncxPjGfcotATtxSNxojexwRsDjyQiaREPxYpkPcZvDUHzIVPUaIAzSIotABaA", "lAkLyMcBVbYPhpwmOZhMoJBXCKoFuIrmexLIUHlabQmyLFjhxHNnTRcnvChUbCzTgymsCEciahSKlSWhsECQgktyquMMQSfnJKUPiVclLgJUkNrWKRQKhWkjuFENkNFUYgTMjbwPYNnmtkazcALzojUbVqpJdqwEWcfgnkdGTBNJoRxIwqRFMJdhTMygcFGprUKuZtIGBFJNurAEUuUWiOtDhzIRIQFyuJMSxDwyrsHaaGBlPyrmRxpgCsQTUKVW", "eEabSGJNPKvycWfvTgtkVewciSQTSGVdlERFmMYxCEIRUBzDVfQGXCXYGmQbUanGTgBXTIglQDMlFiRZnQjftjaOFugaearuQTgqmjQptufThmzagBdjWzsntuIFFBtSvoAMrnJtDNoqakfDTpahlUqmYtfndqBcsVEqyvPGDtRNNYyCWZwsHaHrxhoRTiQtCGqWEuIcoUvWeXBxkCkQThppXzTfjadLIcqZVvKIUvsEbOiBPJHgjOFFfKUKsWha", "nJzOpGYlYbhrHIZquyvHwzUXmmvDXKrfbBYqaUbrCYClgZLmfVEeqmCIeOKHUIYOTmyorYTvWZPMQKgvLdMmNMyXzGRBZsNymmFkmrdsgixBhhIJaeTxiyRBalYRfIyBGRoSCcGjeAOlQNsQffJCBlkKpVIawkVLWQvtiSFBiDOQpuQvTBBVqgaJVBKAVNPsogyavIEcUAPzqiBvwaeCMavwXvFrotTTjUuZJezkPZMFDdYJCHLvwGuQCBcEczLZ", "BjOOFIZGCjxQgwxmMRyeLRvdvlEGzfTCtwiIkQtXUnLKhgQixnDyKFhSJAeHxSXFzuBAIXuTBppCaFdeCqRSHHuwBvJptBZafqzegNOLVPEyGdqwvvrAeXbfARtMxkYqyrZWJvWQecsFzGWfjrhOVKlmYgVResbSmmdQrKWknDuGGCQsGkutYfgbDBKQQiiTjBCIsXSPMDpUIQEWJrxJNApplZYnQqocrxtiOBKYUZLzzFIvXJqCsCTjCRWdeFKP", "ExzUiyueVSJZfwwmBjFKRtTbwobCZnBAfgXyMgfPpqeHzzyOxoGapSYyIvhXgffMhAEFppMwBBrnovIRzDwVWdmSRdQEbEQKHnlfiHwjHTREzAdtZKBwxDsqYVDStrrgFulauOhlDtaFCXKXLXEnbdfMkFFZfuTUoAzVFHAeqRJDsfJkNFykUuGpEyeXrTmZEMvrSwAQehWFXfSTrOeRGKFSQOhgNfOMsuXrMOSUuUAduQkgrYkRMQsEpcnoGeHU", "WCeWNmTVawZdrYFVGPrQVPRvyahUGALqivUkjXUNGiTsJYDqzRkTBTDpoaGYcGQhNeysXIBhoTVqgRMWOEMzpxhTdJGimHxvLraYGoNPwwLpWZHGImHfQCWzmGrxlsjKEDjWrXUepZwrnfbWqhnxiwIreVuTfxgxhKluLDoiSLxFTYjinOQNuhgkRYxRfkxkkRIabIogLzLhaOrjPdouhiKzDzlZGlBUzCauCDHkDZIbTGqktSzVQeLRYDwqcqHH", "EuuEkXxlFpnSJgJJpvFpVRRvVOscEpyeneVJZtbdooBfexsDoowBbEhuVPukNBQRUgtYYUcfMPOyKTonaCsxiiHuKvtSKnHoAvBOkJLHmLAVaHqEkQdiEFQvbAmEnTnIeoPDVZIzVWAxdVkKNRnLdEkwoosahVHaQQwyvyJaYJdPEmHAkgsBVLxREXxwzQkORFIQweOAvVryJqJtltaULulogFGctkgxBPyDivtjrlzhkdArOehXCuSxbovZCiqW", "OldDWEoKOyOkWUjRrUxlJEdMojrnahBvQRkbDYUoHoKLFEzbOMGRmFhrWZqPeWEScGqrKtDnOWbNbfcMToomhjWhYOVoKnybQBCqsxaSFLRgTkyqCpadjKpGxqqSwpAYGIFiDIcNyjuxKSRrfRIWawLRsdBBSjrcDNKwSODaBUyULjbEPiHXBJCmHBzlfLDBUIjsexhrLyfEyCUkwENPGvvzbgjCYghFoiECiHVjWcSufcIssoTdYNMoKGgipcJy", "tNadACBkaVCPFSNHizkuZJtOjkfuQwbOhPYHbFZsgOSMJAfjQZvFtyhqDdKXGmSGordLlJOMGiUyYZjbLRglXQcDwWHLLJrlBqSivAQquPvXNYLrhrjpiHRfLUGcgpjMlaEKuwHQmBoEHcOIOXINBgbKTQQQOcInHIbwLMxLCusehKJTDrRpCfPdswCEaGwCxtHpFlZLwNbwiHMVgbEHKuPbYWTSJzHtHxHUiPGIoUopBmepXuGurtzpvUJrbmLU", "ACMSVhHBOGFIrDDHBcvHsWljaflrXmLcYqnqmLyuBHvtVkPouZwfsoeedLutjouLGiqOdqGFVrGWgLGhfhGluwdrjBXwFRpXhWchNPATKKRztBYthcdNdmioiXDfPezmjxaTzFlRcsaFUpMLBGBCYUalhqsfSlwSkeyFHyQuctkHkzoPtvbJlQbdzWoyaFMSmpFFhFzUrQhlYzTrWhQmtJvCZReEFetsEtObnapmKGzUwIUtVAwqqoXVckHkVOLS", "yQRXFLatFlPcLxLbCimKydBULsVTkjJKIuyAZxtRbEGREkoIRBRkXvpQJXZkcjzIhsbTDNkVQmzIeByOgcNEoyIPOGPkRaDBqrJWutixWDdpCGbcZzavDnfstMhTaeXSYelWwtsLinWMheFuCYkdGYhnkasitzDUMLZXFpXkMstIROhRWNSsCJpQykPQhSXbmXAIARqzXPOPcdncrHKpLodWTRdAmOOYrhPZnHobMnEfUwzzrgIKYZbDLfVtErbA", "oSvtSYBzvPTuaFpQrlwKJPouZSDhTjEhLxOUUYGtPLsdYAZswVdUvZnKPlqpPcXbIJTMMfBNfMSBhMEWIWvbAOLgVSBNIhHHIVecgRZPJlrJpCzWgxYpfnwhjxcLvpVKGIFODzKRhUzARqjroZKtyNNntIDhapPvshmzohjnudmIYwEPSpCNetfwMFMBioQgRPZctSKfdyMPiEIHOsqFcDOIBPdGSUzNIIFOMRgROIUJVqCtgfCryZsMuIgWVJqG", "sCiYIkojhCJwByGekDyEPUhOvRURVcgJQpMTxHxJJTsnlJlilkcmESWEOgWAPqeRbONbpQzbTsiqGKpjTPFBZnxMUuThnPGmVQZxSiZKsAidGlxHfwBLbhuPKxLfrvWRzZCKFmIzqhqAKtUyrdCYchpiAQbzbipzcozVaSJxPYIjIOEvRHpKZDJkICYzbGfbrFVjNFoIPWnLsvzxdWlvWUHVkAVXgejRlYYvCjPKrgHkIwrpeCjuXAiscTnrUMZW", "IKparODsEBaqmnhfNKafbAogvTbusgxyqQWZYYpoJRHPuGiqOofAHIMfHudmBBYknzNOiLztNcqPxupZGFsDfsXURBUosIfpHCdpXIbQclZTlwezqKJPiTCjOofMVxrzhzOWAPPHZFIcTkOQaKUfoCGbvVBDZHSrRrtPxEVUxuEMHRlTwspiqFiCOzFShGTGPUzVcQffRTRSHowRbuSSySuOKsaUoArmjSkIPrORGUYKduJTyTRJEDTYOfSmlXaZ", "EVZUZKJatXByhfdXGmrFgCWMNmJrLvAedgWIRZhpavGGcXWdfGBODksFOLculTvmthhoVnspeRJpuDdynSffyqtqbtaTucsuPSjigTqnlbUOYgkEoQOSEpuaqVZhQUllrmYZzIJPKQQJymlJlYXjuejOdRKaxONEKVvCzlMdaixpdcMREWLsqWvFZiWPvzSmbTlsRTyzJFhUxGoHlkbbHFyUfXZJxrtahOXnOgkiHQJBjNUfeSuyiqYAzrwkMkKa"],"c_map_tinyint":{"c_map_tinyint_1":-128, "c_map_tinyint_2":-36, "c_map_tinyint_3":-60, "c_map_tinyint_4":-84, "c_map_tinyint_5":108, "c_map_tinyint_6":96, "c_map_tinyint_7":87, "c_map_tinyint_8":4, "c_map_tinyint_9":-25, "c_map_tinyint_10":-128},"c_map_largeint":{"c_map_largeint_1":4153574591848355482, "c_map_largeint_2":6185134617191680292, "c_map_largeint_3":1089087594294360889, "c_map_largeint_4":1289889642585886676, "c_map_largeint_5":4175027987841812698, "c_map_largeint_6":7676968211754851353, "c_map_largeint_7":-73061437968031400, "c_map_largeint_8":-8481428070447202864, "c_map_largeint_9":-8595907218859185800, "c_map_largeint_10":501512907688800746},"c_boolean":1,"c_array_tinyint":[115, 44, 15, 4, 51, -72, -20, 108, -32, 79, -12, -4, 41, -115, 32, 107, 28, -77, -29, 28, -83, 59, -20, -15, -85],"c_array_bigint":[3284956564607179386, -8324915532575463653, 5163086763066928945, 4731343633909077824, -6863533470006628935, -4298453817469132374, 1290405635480646621, 4314496117393042176, -7903513847238277858, 8751648041508916383, -2463746058116850784, -1932580290977602031, 2434529535212473792, -4252473341652359159, 938587453836326873, -5137758973314140768, -8794128809365999268, 750331531373148609, 3032450207721142535, -3381596461196077019, 3813383304543518869, 575940806608076512, 3449724900770219342, -8956139702555100153, 3439023894109974976],"c_array_decimal":[43.0122, 56.0635, 30.0168, 57.0830, 48.0713, 35.1080, 3.1718, 70.0754, 79.1124, 9.1610, 51.0944, 70.1483, 87.1599, 85.1270, 87.0285, 74.0023, 16.1318, 74.0473, 63.1230, 43.0788, 68.1232, 65.0889, 57.0952, 39.0731, 34.0489],"c_array_float":[1.9193032, 49.462597, 12.019116, 4.7900643, 32.68549, 48.291397, 46.735855, 82.289696, 28.72163, 97.715126, 16.801056, 83.47081, 7.394436, 74.04036, 0.66638905, 98.36357, 62.508385, 57.214085, 23.569447, 14.862767, 56.432575, 10.003311, 14.760181, 87.79519, 22.966259],"c_map_smallint":{"c_map_smallint_1":10390, "c_map_smallint_2":-32627, "c_map_smallint_3":-26099, "c_map_smallint_4":-5429, "c_map_smallint_5":-6846, "c_map_smallint_6":11286, "c_map_smallint_7":-3868, "c_map_smallint_8":-16602, "c_map_smallint_9":29191, "c_map_smallint_10":13635},"c_map_float":{"c_map_float_1":24.543974, "c_map_float_2":38.075405, "c_map_float_3":55.37583, "c_map_float_4":84.70175, "c_map_float_5":22.48265, "c_map_float_6":83.42771, "c_map_float_7":14.1443205, "c_map_float_8":26.451548, "c_map_float_9":30.95214, "c_map_float_10":97.30071},"c_map_varchar":{"c_map_varchar_1":"rmJmQFauFWeeNGhxQqcemohqszfOgYXdqTJOydIBVERdaCfSotEGLQZHCuvBUafyAmxUcWPIKLBCpICFcCBtPtbBPKzxVcVYYQupeOkWqIvvKrbswILMVUJzfbzmyITINYAXfqaMFpgWZahuvWOWLuSSzFTZTDgonhYxLANyhmBGbninmEYmXvOpQtOGtFxzstDnQMCMasbvwvNweKzehRRAKzvhbBMNhUllLjAvbMkTnVgBPLmVLkSFxJzlGOle", "c_map_varchar_2":"MlcElwjhHjPIOLrZzdocRWhHYXpQDlZjrPMUiGZtoitWXUOcxrXAzULxEjAGgVHpjXSiIIAXFvcSSjZDTfDwdMhjrYWFNsKpFGWmvqOUePTDjZVcdgyWAQzKNbrEbtuLJQbDGcVRMJVkgbjQwEhpDuQfPKphtzkQwTkmQZVijmaIoaekjOpmsKeKjWkNChgboZqgvKzmssmtWkmsdwURjvPoSJOyLPRUVbhnbwmRfqcdzNEhboLktNxxMkFRJYlA", "c_map_varchar_3":"kIlduJmnmqxnzoUTDRXUaoFPXVvtDhOeHGjAbHQaSobKRJHTlikIcYUZlycQNMxDMQpaSwjkIYINZdrjlyUqvsdyStsWLTjWAafDzPfbFGleLNgDGgqPgIrZYkvwzMvOSLqYhkfkzmjIPqkNdSxRhKNgVlKEbDJwQzubLEqZXmzxztYKGPIhDMSQDyLvXJfrfSYTAXeXlKLJtoVTrbZWMcxLPCoIxeetiPwjKXiPCkfgQrzmmfdXmTOvNnlglLmo", "c_map_varchar_4":"ZVjmGVNbjAjsBxIVowQYyAucyRDqPDJKOOhupVlasdlwwwGzZySfiBKNMcJrneqareMReZQvgiFvdbHvzMjKJTUqBdPjnOrKPsjFgKRRVAxMQXvUnTkQGIvIpnxTrbvAfxINaPvDDggTZJIsObKBLYQqIxxaFXHLAauZuBkMxEvovWDpzkEUfbZGAWkZrvHTQwWLoeMSpJgdRbvYcKiLeiiSPCNRxKSHJDZYGdlFtEFfpoeurjDAqGDZZSDzjsUp", "c_map_varchar_5":"FMSHPzXsNPUbNaLIaCPmreVEmqybrZPXIGktHnuWeVxLKbGexNDUXjyhyzTrRgGllREIzjNfLZoBIpSeIXbwvlBBEtwNMOzjocTHwoioTMcIyCTOvgZkIZDjAoCvwwroabNpoTfVaLvAlIEEnSqipbgNcnSqqNmvcBEOOFQeFBtRLpYpzQTzqXZsgqGmUFeMdrjRyCtzHqInNcrGpuZXYBGetdLgoyGNTztJzrNGMcsCSHRJxTxaaZFLBmfERCMO", "c_map_varchar_6":"xZjyHcVVBKOOqAKHRkAuhLlsTZJrWZEHilWtfIfgTBvTJxWhSDUWYISfrwIGKIYKYklZhgbTvWvowzvUZnyPRUpmoMEvGvnJCAhUVhidfWDHSLazmSBGPsgiCAfiGVsPDnKFAVktebmpQhgjoeEWOJzmtusbmZlSJjsGcsYKLPzmWxsHBlZQFRJyeNNnjhWRWfxVPjJDbCdHYfSiGRGqCWuTJiKLYfytxkHkmmLlHMHMUdSkMaUJqvhvmhAYGfxV", "c_map_varchar_7":"IqXQesRLZmuaasRDJzzUwzeeVZWYWZKZqUUNyvYaFijcYDSJPPFulCwGmQDphPSuvfzFlOtaAIAcWohBGBiAUhduRBycnRAbnQMtWTmWMWwlgjWJMNSQiZqZzByRSyopFQQTNgepLeDnohbZJUjhBoWLADouDxgANczvwkwzmBtxuAJkfzvYvWeVoSucNILrDsuzsNfguMFgJWWMOKKuxWseOSoPNXEwQkedQETgGTxjQKkVTqekByaHRbemcozw", "c_map_varchar_8":"zPGtdpYoKbQZwbFeqzdeGVMFcnvkodYsjLQAOuxMDAosFXLfZsoswDscFjreEnccbKrGbDATgfiAyKagBVTPsjUXYvkyvvdLcRMIvGYMxCCnWviKqJrMSyIdfKlYCfVRPNIdsrQWUTZKTlAmRoVxfCMOXohgQfByvhKSEvkcEoIPFUBMkxAktOWFtbJvqlircyNoDxCyOPeqHnqrlNZlAiuZYAwXZVxyrMRJEMlMveTbbxjZeuiVzJFfZVjniHzq", "c_map_varchar_9":"EZgBnpRpqIGtkuMdOLbRtNgPAPvJUDbzzJPzYmYVJBVAOdbtfQqUaKhBbBPsbdJUTUQyIqJPqbCpEaACeZYtXaOZFdKGflsLvtEYaWhsuROxgUJmOcPHyyFZSJZxRFLguXFTGtarmOaxJrgOAibaEtLIDeNcWlukUExjjuzQYdnMPQxBtdpkhrFhDyaMgblRYqvlSnvJmoCSHDydQwREDLhhQhNOZhUYqsBNiTUBvcBnkLaRsyVoSSThFjzGAQtm", "c_map_varchar_10":"EkxosaGdHlMUxDpslHZnrWrAWAAGMJwuQOQPCjksvGcegXJkXUyQZeIsEvCnHZLHPaDxPMoJilODnRcLAxAgIxfooYllYdUpLjXxIFUlIYMIfRRVxHOXOnWuuFnfykuQOgZVlltiXxAXtOViqgFmDosVUcENbKMhsQdXnagyxEOgLrHvIkrIXVxNFynpoXbnNJLwrnaZMFkaDbJAFtlMXcyiGNwoeQkQHRnORTtAXUzyTFXcYkFyDMApLmLzWhoe"},"c_date":"2008-10-25","c_datetime":"2001-09-08 22:12:25","c_array_boolean":[1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0],"c_map_bigint":{"c_map_bigint_1":151705040550953720, "c_map_bigint_2":4921754994279433622, "c_map_bigint_3":2660436896041485762, "c_map_bigint_4":-1530252017661184913, "c_map_bigint_5":7641478358686174020, "c_map_bigint_6":-3101486135821373278, "c_map_bigint_7":-3319270276010253220, "c_map_bigint_8":9070164487034888056, "c_map_bigint_9":-968435566637148085, "c_map_bigint_10":3779581139091390846},"c_map_char":{"c_map_char_1":"xQBhEgClVf", "c_map_char_2":"pftintZpyy", "c_map_char_3":"CussIOezFw", "c_map_char_4":"ujgeLfvQyn", "c_map_char_5":"PwHjeIEhPH", "c_map_char_6":"zOVSLEWLFM", "c_map_char_7":"LdYlGRwHJp", "c_map_char_8":"XTdzxEpKqr", "c_map_char_9":"UBUIyTVPCi", "c_map_char_10":"sXLOfHiYmM"},"c_map_datetime":{"c_map_datetime_1":"2008-07-22 16:37:25", "c_map_datetime_2":"2012-09-12 15:39:52", "c_map_datetime_3":"2015-07-06 10:39:11", "c_map_datetime_4":"2001-07-16 14:31:09", "c_map_datetime_5":"2007-06-10 05:19:12", "c_map_datetime_6":"2018-02-23 07:02:34", "c_map_datetime_7":"2013-07-26 16:28:04", "c_map_datetime_8":"2010-03-18 09:59:41", "c_map_datetime_9":"2003-07-06 20:51:46", "c_map_datetime_10":"2012-09-07 19:28:18"},"c_map_ipv6":{"c_map_ipv6_1":"cda9:abf:55fe:9c0e:b40a:b7e3:408f:145", "c_map_ipv6_2":"cf39:cb22:700:cdcf:d409:39e1:e5ee:9e20", "c_map_ipv6_3":"116:7ca:8a57:cd6f:d880:9350:fc8a:c55a", "c_map_ipv6_4":"f842:debe:3812:95b6:4da3:6151:624d:2ba7", "c_map_ipv6_5":"2309:b833:50bd:d5f1:6458:2c71:caa7:a0c0", "c_map_ipv6_6":"ee53:41cc:370f:77c6:4b9f:822d:ace5:3acf", "c_map_ipv6_7":"23cc:1bad:33b0:c2e9:5e4e:32d7:a9e1:c3f0", "c_map_ipv6_8":"a641:9285:ad6a:b5bf:92b9:f086:a67f:1436", "c_map_ipv6_9":"794d:5cff:4080:a842:a68a:3165:65f2:d238", "c_map_ipv6_10":"cb17:a11b:b709:bbca:7781:8235:4243:1a13"},"c_double":27.374355952935648,"c_array_ipv6":["ttGMxZxUbk", "gFjScKmjSN", "LskvreEbqG", "pBYNPsufRB", "znciSkMNbK", "UVjLEIUosC", "HUAfcQQYWr", "wLMmryKQzC", "rOSTGDCvrh", "iBZJxEfDkH", "MKdWdgpWLz", "AlgbxUAEsn", "PQcBtZrNDl", "UgqHfHGNGR", "oDwVtJAfan", "wWgscRTQaT", "WgzTpanfuY", "sENXjpYAjH", "diyZjwJzsn", "ZIKHeERwXM", "LIwnaFOrLO", "pAIVzOXwlU", "cswsSrxORS", "EkMFYLjYXx", "VToYjDcuTP"],"c_map_int":{"c_map_int_1":-743297667, "c_map_int_2":-545285282, "c_map_int_3":-101405613, "c_map_int_4":304037436, "c_map_int_5":-427740228, "c_map_int_6":943158330, "c_map_int_7":1125621203, "c_map_int_8":881323744, "c_map_int_9":-296377304, "c_map_int_10":-2028560051},"c_map_decimal":{"c_map_decimal_1":94.0486, "c_map_decimal_2":3.0279, "c_map_decimal_3":85.0954, "c_map_decimal_4":74.1012, "c_map_decimal_5":63.0274, "c_map_decimal_6":55.1500, "c_map_decimal_7":39.0275, "c_map_decimal_8":62.0280, "c_map_decimal_9":27.0479, "c_map_decimal_10":27.0448},"c_ipv6":"e6ca:e25e:2e02:e88b:566d:7fa:cbb9:b68d","c_bigint":6536934009539200822,"c_decimal":33.0442,"c_array_int":[-788495636, 87085433, -1928010950, 1482314599, -1486879424, 634165225, 1334412605, -1322065277, 1864940805, 519098090, 1365684797, 1745535224, -974207814, -1060692585, -281558512, -2041076864, -1454129236, 334498647, -1389432485, -700482490, 186589879, 966245002, -2037747983, 1156396076, -1216137508],"c_array_largeint":[-611417943810792837, -4226463181410594335, -5683779508643621024, 7183802052718343188, -8203554214857071137, 839609300994623243, -6411625657580638051, -6254288681997091867, 5823228737652307280, -9017479593639738975, 6116599279662979440, -2497199567704021713, 485433253780528861, 1361752950114418698, 1493113225380540385, 1563153169400926006, -7468105317170380036, -4295305621288741139, -371412832292631677, 6185753162047318761, -1344657047954857067, -4208917123675572646, -4778676503675916727, 2150340637306768289, -1940553032927081347],"c_array_string":["rsVkhDmbkwNIWdngiWcNPhiHsYwhRYtpEYUDDNSdHEXAXelJTGfblbMXFlYrayQwTxwdujQrXBfDxDhCIBNsXjoXWxFdfGAdAqnIzHTuwEJMSPgKmbwBDLfWSMcnPvEpFoAmsNTePIMoiLlcYkBmzoEzKczzSCRzKOWOpRXDlCsnQovgdnwkYxevZgXWGVwfVjRrDxKLREodtxhUAxSTboIgwgGXOUeNNvDePRIZYjnRgQlDVAwIMBEiQYWWbQwWMmaPzdrcnTvgpeyTtFAzqegPQfxKzLIJSSvyVWMwwtPYlXBIfTwyctFPhHuapoiVzmFvENZccHtYJxvhDsbVMXctwBaUcuIxwbWdZHnPKnxWQLFTtizipdTnPhqLyPjbVvhwRRvNDWbqEXtPSWJNwPowSYTdSchrXSRiGaWzXNGZKsHvkTRlMACHjBokQXWElOGUczHwswsUrUUuVYuEVJBCKsnJmoRQqeRsszfKHcwdzWXsVMiIfWSLYCosqlDz", "qrAxDbNrRwQCwAEFYxXhKExkJHNVrLywrifqwNcNEYwCAbrHTervnjKcXlUoVFDNIboXFKCGoJSSLahhrTOxUIBiqXGvFqHFDErYlJRKPUTYHLWRmMmaOWBkNrZAQkbmnBBHepCSUixYMayNxUsaDKIlafXMcAhRFyhiLVDQJkPTfrPunOVjLNculjrvoTXtmWPqjxVhUqdyGfPEYXVmMSpOKLbVYrxgtMVlZrLynlvazobYThKpwxtXhwSKPezqMCwXrwVqCBoUJHaThmFWIktNthpLiFzdjXFZdaRThMpUDvHliLnzEinwqVfdcRzSUYWsKcqPyZQuNyYkVeSbFLrGKruwfAYLtSqshKgfQLOXIgEmEKxGHfJvoseEmJoFKRtzNCQhrgAdevggcSRdDBXJfvGAdjoThzCQJMIlXMtKIkrFvqWwNfYzuuflpSToCPXwcsXQPdPyBasZGZHRKgeGOxnIPmvHAzocfPhnOebYRZKKlcUQsGRMXDEhPGHp", "nHcgWbkUADwQbxZlmcxuBqWVLMbRSovNPZWPZktFDPAjYpGfMnbElJnarsLUGyKfwOcbneBFJHnJaBEdclmnZzbmwgpZmlMeddkXovJvYlXFJCBtdUqlmYtLYijUuYcpwAWnucNTgZESxWVYWvjxgUrFqkVuvJwmYIfAhMVDhzqfbVolXsHoFRIKkHLyDhxoyMdxmOseTijSRtJRHRCrIpURzWhTlMHxqBqAxRJDahjFcvdMYtGiLMoOXavmtxgpFriRcwFFfRJtpWETACmdJKGesKAqfPIygFePgUjKishnHSZHsDAaJcvBeXegrmgQLGkkDkTOJllFwQAjpJFEwsHyLLEuOOLndGpXGJjPZnbniSnSjkBdNStKcEnXNfyEvWBwcQgwcdyUGcIhHxPpsNxNKmGPlBpplWKzuFdMwcrIXYYyyoalxCpyowQNFQmZsQRMzKfdougEZeekdZMGRHlZlqFoRRWqbFIrvWkKpEVJHbWMRXBwcQcEAPUtWsFY", "SUozINZilmWaEdrzgjperizsdDkbWIbGRrqidfaxYfoEyWaBziGYlzkijsvElLaCfjcAEMwWZpbvvPJHvIzjgsyjOBmkcwVmCAeufLhrbiiDbXPmKVZfJHwJoKQLFbAWoDhONnITRWgxYPxRAFtxkDydqMtLwehjlEhszGNXoFHyJRMEzwFiegPDmwRYkHBNJDCOYFZJhTLJrBKNZNdatTRQibtxqCtRfTPasyJMwGibMRNgFfsjILhHntoywXoPDCVjaoSIYBiySPWCgePfFCykhfiXjrzfPGsajkXnPxLFdCCIpItuBarCXmTfupprjJBFIUDoHRLvggppgNWQLOabxIAsrhEJsIVRrojqqiprZIaUWHIPVWBgcglCFTxIDSMIacIsRjfsQpKENOkMQKoKERgprUkgONmESytumCMToRnfvdnUuvUaYtmdWKBohPPmQdhRJEFZFdrTWOBkpUBsboujNtMmjvkstUNRUEdWCUAmhmmboIXuQpUEGpvg", "LksFvQunKSNaWzbUGsEJmCuaYRqKkKrjlAbCEMtEXmthURJHuOPlHYdxpYjnqaqsORWuUMErIBNMFqGHttfduymZgRlKSXhfMAujrgepcHXgexsZefvkzXeDrhUbUMPMluwKdKsxNEZjyjpJURDRUqyljggeBFtzyXbYJPVMJEyczdhptIRGRBlQShjpluqXKWJzQhyVgDHoUQqfmzeplDWzYXwoqGXGEyyYGDjooLOCTSLXSPMkwtSkDRSjHCELQucBEZydWjtyGjlSsmNPODESDIEFlciYYeqkmDzAODRRxPQIcauVWfHnxBaURfTadsDcbsWLDtWNueUNDpmzzkLxmvRtJhTLXrKUKhqIYaKabatciRumMjGujFXZgRJUEYWDeNjATiIXzrlEigXayQijaXcjMWAGPLyGdKoQZnTGXLJIRpjIimAtzuTNYOfIuiWozWDakvXmNiKuxATLsMoedBkCBeFAHKCWavXJnmbZLaMHpnVYIaufRwQMrUdW", "YSgaSstsVTtQDBbwlrtcSUpcnpULDNvNYQeufRzsVHLzbmrSuhBiaamGjoMafgxsTPPYFGrEReVWfcdZMRwHBpEoWAgclzcXdjPodZlRbZamDdsvSQSBzbfLOmUHUIJGKEtjcDdkTjQDUIkQPtAhxsRfwccnDCEJTiPMZgJboxRgsXkCIVYSeAMkcMWvwkZpwuIQzNkQWXHHUnElmvTrNkMpOrwnGeiotGmcGwUMQpVPetxKYCelpLmzErrRdxHvviuPKDeQQpOKnoBgnrtdfCzdBVdzZXLPIDcLUjQEUSfClqVkHfqPYyIAiybhWxTjxuuWjMblgvXkVSTestRQNDFqeZQcbjIDfmcjQmXbhoFdAZFlqWEUikbLjFkavVlWBlSTdFRvqUzaARrYyTebfVnnBgEsYQjrCBxFlrQjjWLwfvjFxWcfZknzOjHoajkHgmYfmazwVwSLCkbOhwfjbgLNazTAFEqTAVmjAIYwmjbBsTXWGLECCeCfBblAxfPj", "zOlSbsKKPXVukvYUqCsdLpnLWmsKhTLBmynPYVxqZxAJsIzETGpZOMSfWobahKWmuTefyhohuYRtltuJLTrYSvCISHrDmaPhICFPXbkeYpBpJzlELLbOlEPzGnxFYECrbGohYdOQUkUqCDIdLBxaWzjzfcyKQdEYlaaMzGerVQgqAZJkYKwYKcAtpSVgUNGzGaPWdWNmUqVLwajvMfUtFUxctcgLSknNZViOSPhXwmMMvgnZPCBsAuvMZjmXgXjZovGSvdvZTZdYZdFLAdWJkejTVPkUJlUfILsRKdYKsIceOqITxwlmFkzXWcpgSuJYleCwaXBaLtVwHbFSUxczHiEtQULNFeVHRrOEDqEkZTkWvvwwPszsOllswiwyiFcyeViZwAQdjjQNbYGRyhnCgKvVeUEhdcDUeDMidBrAHwqaXvMQZLeZUqRGyneZnqyMcdWDpvLDkQlcPjcwngHTuaXsMBDWElMkCkWyuDplZgmQDByOkGwrmHzJkVeOHSrh", "MxGCoGBABLreXKJoeQZIBQWedEfrRBNhqnKIzowNSkacMzCDdMRHLQiTtvSnCkqFGUvOMLsRXlIbDAIwztLRIXHGlTzwSiAJOnKLfeCEScoIQHSunvuBvkFuwHdlZtRpZNjStDjXaMyPVLBzTUYqhniDxDxSPxXPrOTRLxOJULwMgMqMpuCQiJZcRMMxOGTqyfheCCbktnmfdRXrUZHvgFuEbaZbrBbxusvJzepyrdiDgcGshyMfZNCErVJXJvkpDxarSsSIaIYnziDTOFQouvdUIEGAFDfKbOgkAfvBzBzPKdrUXYJDYREdAKvItEZQzdyftgqrxrtkXtEmOkarwmvVRUCqRyXBdqUeUecrpwRZSQXLHgJWuBnSYJNczuaCbNTiUthGXkfEqIDkDCyoaLBKomQOBqUTqpJZEWtvMyrCHHDHlynOhvYEsDcFGQuGtkCSLhAriHiWndmxaLCZdqyqmZaInvaFOtgxUcZWzdMFbWsXTcOfvMOnfbugotzJ", "oTKLizVglwYBTkEyDPNoJOOpiFuOaNpQsqSbeYhWZBMwlZFXcoKnBtlDoLNWUcgGYWKlBnSCiDnwELARfonpIUOpmaEiwMHpfRIkhwxMBeVWzJizWGldnYJhWhKJAnqFxjitvjDePzlGZjFevAMhWLJdwdajzLBvBxUEZBIGhyosmTONXTzgCoLMwoicGfOIXFazGloAzaryhEhaJaRRNhzupgPlMvIRMaUtMkYiKDsHpKcGajGZfUFAgtmMNmHntZftQrWkdrOPRVjlWkiSmmmqChfwRIfGRSmmAJBCWDcLijFFEyvinlzrrLVNIaFYKbxoLPijtJPwWtjnYMTcuTLMHHnpuoEPzsvZPJqxQeKoYCbFGWmkkMsAspnIWFIqYFKDzzLfpfVxRoXwfNGyeuIWizfBFIVuutMiEJQDTNAVhhgohcNABGkmKtHGJKBELdMDjenDOaHwMNnNUhaUGREwbuiUEerlzuBSYBsWseOqbLNIbidGFcondlnvyDLz", "hceZVMlTzZBtVosdqCKqPLYagfGwdUGuWCucYRWgTgiRyPGXXakikGtiqnszaZZKxQPndntYocuZHfQGBLeyAHPwiUJrVypiorwkIbmHtRYxzxKZWOmKPJRxensDPBOqJrOaZncHycXpUPXFzOIGJBXECUnZIsGFMfyXFmRrkGzGYtxJxyNrGUrXEbHeuFONlReDKSGuLDFhPQPjYvZesdkhgPzNFuRvyTHiOXLjtYGjXPTBLMxQHmwhztsDjWOMnaQIOeUSTgRphLIAebxRwDUOlCLhmdPlmkvnHqQQSbZLAWRiiLzcrYlAayQWKUQZtAqMdPevkebPJgOBJIewVwvneprkZblbnMTWAzCJaJwMrtPqoenvmlWeMiWFzmYErWNlGYaGBFeDKbhqSrKiiBwjpChNfyFWeDISDLLHFoFMdfXurqbvTndcIoVmZAcHOlaLACokwpnTHTSqAPaBUFpfaBBwLzZcjTPUGwgaokLbCLzslxfuhSySoxwKCCio", "sclKYjThjiWfkjVbUoaYMKzowRqmAgFvLAqxUQmEaXTIEDRegdBDJwtQCrxddUJbiCjlaShVwWMSUnrePCDZmNiQVPBqQTyRCghhWxoiBHgDwBQtmvonKhQlTVcLdHyeSwKESowAySdgtyrQSdpnMVGBNgqpPMBctptuHKtIEhwsdpDPxeFNFYDPYLVHvRVcabBFPrGrBrGEOMrZHRhlJcJKmvUXrqkYNHmIHSzvKitBnYOQRlopYlAKElRPCqaHSReOEeZLsXSKKjewXRjxmqKTAxwQuluyIqWUwXEcMWIDXtygdwCclScFBTyPcngvobAztTbRankfQavwlthicXwaWMCbXFQTaFBbWhmtObJGsjnxOIeCplTAoeVPeAMkYbjOrlnaYjubRApWKoCmQwNXIwXGyBmyGRLIDCDbygBDtxScZFLsRUhqiNTciwEAfoCtmicFQllUUGUFOXgkblsrkxDLMOiWOWMvmLKARLetUseslYAhWxjMctXcjKFf", "iExaGGUTuoUmlIJcbhSvHlVPjfFddccIbvnihWTDvXscwetdfWGXEZPdaYiHxNpXwXqsIEKUcqujeEDiNrIohFfaMGqDhoCjCJpYrAHSyqHRfxBgihifZWpKQkBgjfQZxSHHafrEQGNtAkDWQASflyavFrPyivjrLRulMlCYKHbmReeHYUvSKZkWcwStpjztnOTqysdJeQleplUnjafBZfZbAyipDezyauNFlffdOuzbjAGfqHkKwhjoiUxWWmHAuBJokwGmnlfiEnSuYKolDQmJMuRBVBsMyGUPuBCAmngBELxHnwsDDsOTkllRYzWjczyHxWRdCGAoAbTGjZzSgxGZboRiDEfXjzzPAOhzKaYZkHWuNTxvtEserSzPjIJoTUdzYRltchCAzzsDyTvRywrBxdGYPUmmOAitbaCfLFPQYdHnaAidWuLahRHCwGBnVmVUUwEUDejpvEkvQfdZOwunyGzDrCtLjKAtKnaiTfSdfirwvJeWugiVSVKMbvmB", "FLOOnRcjuaCKOHTfhSFBMLvdCBwmtLcfzXFnigwPSofluFGhkvCNuPZnUrwQTMnpidIPStzYQwFjFjdHrLRPePTsgTbDWLIYXLXmUPQstWjwSCSesuLXEBnRupSFAIKBiNwHlzlfBJDunmGEVfKOQhMWHuopgFSYNjMgFUGZTqDoJhFfTsYybPsWtERfTWjYvdEleiJNEZeuQBDPgeUIAOADvDrXSOAEjRWaTOdHwgsFbBbJajkgMMLpJnZloazqonsCiVZvyqTDvYplGTvAacfbjYiCHSPDLEgomATEdBWQaPJGlziqXvyAXIAjGFAOteDyJUSvTnQNCeCNdbDoBGtyBGTxSeARyEbeDFsipKzyoEJWHZoQVCPJLklVtiqLKmkKjpPZmbJKKbZnJcCKzPqGYQXFncAadcTDkhLTneRdWnGKnqvDNUugCmYPUShkMJRMuKlpKvngoxlPDZSURLAEDbwzyAMgtNQhqxIUGAiHnXaxyDfGpTXYUQKtKLBJ", "scdBKYDudjQJHvAJHUiaXvhKBzvWpdsIdiNOyrrcEgCbPQEbNCZVfWzaYNuNaRFpEfhoTfCLdtcKMFKvphMhTjnoKtvOlmuSngmTJBdNSvIKOPBcDkzciURLdQCWHueMCvMcvTexSdOAiQHhhkKJHijDgXNFPXfVfjdCPVlEpbfwAHrOcqRpwASQUIVuANLRQidzMbCvRtsYlymIbghzHooBShYefGqHRdjGXXDCRSCSaQBysPajPqINLLzBpBvBPOdFZTdMhmmqLkXEKmdbxuqmZYZQlzDJKBwhQhujddUeohGXVonoUwoeKXwLGuhiwuWoPshXvSkBkXLBcbLSaZYbzYkATmsxMddjXmHRfuervdgJxwCSzDYuwOXAzQHXnidyaXaxjRZLRtHVQcxjXqriCBREumPhOIFIpAniMTtCWzLTzrIQBbLTUMYmgvQxbCDZloWElswhESdEpliOzBIQOIoogrOTetzCtAnJzbCFQIJoCqztUHdIyvVgLGMv", "mTCkIGNhiCgsaGVLiUoMtAXrwdwWJxOxSxZNnpHOGJsUfSMRJBPXocgRkqmyhHPfPoIqfOubpxnpSEyAWdxHQfvfZSNUmnClsVOdpGzSOlUBkaoYuysAxTieJtjTocbgDJMMobBMhjuOGYIzPHrpyximsasaluxKxtDKscnOeoMqsyPjtsyzhbjdLpHDZxlujoZBjYnMBcndHDwzrUvSnDzYDnMFlwhdjarZfvblRZtaNhfjWZQVMAgLIyRfEnlyxxuEThUzIpselGSIDYKGqfwKcqURPzUcLMrGZWpoTgGJOeoRnCTFkNMohPJdyyZrogrWDlToBaqlkLNRqunVdCwlSRZcqxEYXzaozJCOVjgNsgMWnCMwaOWxZBOteIKqwBzoUeKhGdKMnLdDvioLcnqUJTfTqtoLjpchwaIDAGaWrHOqnCultSXJCxKNIzzLcdcLiLDrRMwCSHGHhYyYRxxxkwCFUEtAVdDxgVnUKdwkvRmHWaZVNygMafdphoyQ", "zAvNMkrVnYihdmhRnYMsrTqFpPlccbBnkVcohgTpVuxGJlunLFgMGmOJlgCgoZcfHyQFQdcxtLoFuqqsyAmKwIGbEYgHAspGklKzvlRJLiIIjHfCVrlhSrNYMJauMFWoaCKPrNeZFHvYSTZSfNhbQbjrwDYvPgwsmnXdEdhoJXDNivxTMQTGnHrPAHGNRsLrqFMzLoYrHKIBxJQemCsIXJndPpUMiMXlnWjOzTkVQfaZYoelGUjOYpsMdpHQoLIwPDtFzNaaduHqqFVPoNmpwjzykIvpjHiMGIzBNxiOhWsFgZTGgBSrGgRrAXNOpllGxSoAdqmEgIAihDGGeUBeLZAWCWlrfHJhWFfrYWPsqeLqgcCgVaWOsKqNrGCIdvfbqmUFMpzewaAySxORlgxPPaFAUifjWKKPlcNYfcLoRUYzcoLsOLZyyUNscsMqJnGwAFdOCnjVXRhrflGevqRafuHKjEsviziEgSaUfsXMVmmWvoguPrvmRcqbOOBryDMj", "rQtGBbRCCJUFnRRfRuhbFssPtYteyuxPRLgVeJYRFCasfBMYMkHeIvSwySLBpiMvmIkORceTuYIwpCYGrhQOIsLiXQiokWaEXeQQAtaMqryLlrkluYWNzzgraYBBYXjliKSavOrUrESOYgRatWQyZIzFstNLZbrsDPIjbFCtgpdMSjDwABEJwWQeGWpCFFsffgiexqkrEXaBiEjfzmRCwOddNUWHKNIdhWMIVfIJtVsDHIkTfGuCMVnCwepwHXoStCYlAZUNVETGswfDXMmHbQWXGzMUQHbykdxNariqSKQuIJdpptznzWriHXpBrqLzcnAaufmtvfQoQxTPbixoXlxwuCbOViLIGaeELiXGZsFCqcftbTuXDdrhNkNwjnyaqzarPCqPXhwFXKFAeLvkGzRfznNAthxSZjqEebGmsPGZtzuITHXpofxrrznbEyLYSTPnKCSaOJfWjnWIkSSxmUwQMyPokKlVzanjseEqNHDMPztTQIFXhBztDislQuqS", "CZbIWYivUESGVaNhzGqRqZquJBWJlgVwBNqoetHOAyYcGBUhobQIZhMLDZumqkHACCFdhFqStqTtBJQQSyDGpENgkIniqqofoDJLcoOnYHJyMNZocBASMGjMurdcZooabmwHkrLBWhIvuxfCsccnwlbLODIEfrCtqiqEPJlqRVLyeuxsTjGYFZMbszOiEELocqVLCxfKCUDYoBZelgFUQkuBhlcNAVaBVVenQKtXNMDKjvoMbSZKPgFSuqIzUZkLzeckTrzKwXBdHdLNsOErrZvnuqjHZVIwlbbwSxewfQBckUghTGkwEOQJwaoybUlwvHxlsciRtUlOdcwYHxYdVDrdgUBhpyacojqgCPXqqZYsCOMGrDPPOsNLQHIcNkbpYFaFOTLXxqvaPmFddtvOCCpTXuWRoaGpCNTRYcgblwVJXKXggGfvXyKXcFLvdLYBmaUJxVIrvIhkywkHuFiVbpJBbuutcNbJAJVIWgzWDLAzqPzTUeSdPCnSHszZOSKo", "HbqfwRQztyaZJlBfpgZarGTNtaniWNjPPJpTOaZojZcjroHKjAMaUUrQOnQTeHmAFHOiVHDoUTeamkzUuFRQbDAHaAiyrjfIgiLOOgwMnzqDvugiPdJZUteYigrdxRxEtqBKCdPQdNaJnWxBnCTDktstEANogFLdsBtlIwypjXTBYjinLrWDPCgfylPEgjWfIqnwtzhOyOzFianlVNmYGHZYUwlfMFwcRryiyJfqoRWLTSSGYcXLdmWgswNxCocHbJoIOxUqqfmaaVLEhVopMWNYwGjowzlAURjpHjcHQpireZHZYsXolYbZvZVpezwvIVeGjsbRkYtSErXcYMBNRCmYBfywKAoiCgkNhakmynvbhFYYBPeABRImzJIuGVtMrPonWPUdTiUGEqUFkBlkXExyOFIHGBMUFCVcjRSrpbhkpppFUIyMOzVlYuwCcGdBJCdMULXrWouaTimxcOnCWVkyYHMFGPFVyuPjzinsNbYIBirSuSOdbZsvdoiVLrLr", "hhcxJJCJixWwBVgPwmyRqmSGRWvVrJAxPANlHtiWAAuMlryDHcIVQkWdiYSNAWbmbIORhuBdbtKeVFjzeHLozeSryViDQjFXahvdcAiYOjFeXatMGyQMvEGckxiVnzQslGMPpqyUxDaVyjAMNubGpACqvLERWnaTLVaRSjcnkrpPCEhxeyJsbRpEhgEGQdJaAvsuglUtChIUHKARZnodhhlHRlyByHovVyAnaMKqDLEuxnkxVBjBvxMrpXQAmeDMmhoIVcjZGJrukFytsvvqHlOZCvBCaFxlDqufmIavlDpYgXXlsliuQXaSGYtwbjyqEEJvYeWAmSYumMQSdItpxcrefQEsRWLPjjJYiaVXrSpxxubgoPUElseOemlQAQmuxQAvUrgzFXgyBugsBPANAZiiEbdtXovhnpUOuurMcEOXPTWzGLwLIYGlpMWrvMETuabjcHKjGMhhuiAogphlOShiCJpTBhnEWOSifKWXeuhcvjMeMbjcFvLexKWOtZKv", "LVvETAfipDFPDbhHNdZGHRumOrsmJZhodQHbkpTZbrZAqJwnXzGXkhbmKGuPZkAaqQkhVvqaxidkPnxVMkNYaxrLDwBRkNvsVFOzJmHUEDXBlRlVbYTlGgywoFAiIhsNWHfnmGuNxKjBFfrXZDlgESfphUKnVHWYgMBKMQeXDMNJrZieTpKwMNYAmPRUaTRjxNYHxyoYAFhnLFtQFnBCdveSFmcnuDnCWpCCUxmfjXebVwdTQAvIqMFOWhGOANrxPbfNaEZfAGOysbfvJaOltzyYujqBbuunlBgmCvwJiJVGgDJSHjTNQPIgGndKposZnpEkaUqxkQPbucWDlaLcskkDFOTlmyObBlxNvFMwsXviuhSfYxTaSICYwuYgIYnQlmWENgJfcRWcjRQJfGECBzQUTRgkPfWhddWSXkHyDSYroIlWJdPRUZoWDHmAgOUXKLFOlKIUDzozZwAUIxQNmJkzoyCzJVEQYntbeChkCnrAnIcQbFxUmfxTrPnsSVCI", "bcgSiFzluekSfqhWYuReQjSucACPvwaWXIyWNuznlSXrrAwtNCxWUapBxPiKNEkVyHexwoqHbvKvoXHMggqFKJJIloluGfozLIrTlwtyQdNOJNNzfrpfOCWppVeYdxpFKvIMzudtvbDrNXKfPbRyzXWZuTSWdUtlLPyanTExTUWiZvFnxvEsHnWXWRedAePOTjBTCQuImfsllmfOLhFlqhQVCNKCeaFXqzmRinQeskvyKRERBirYzaFGFacYDzWOabjiTyINTQBnsakTNwpPMbpcAzLGBGMLRGMSQxRKsjUESWOFEeAbEjcGSNRfBDTFrNOCAyQHvyrKQDgOCfkgEIugXmRUpzmyCliWJFsdYAmkELkGgGHRzLReodJxbhGYowpjsxSIQaeZFlSOfhvszTUsYGYnNEazuaYNVBIyhmzjhhjkZjzGoFnenliAeJKwlKFZBjGTWpsNTyemsCpUFGJbPLbzCvVZOQkgpmtGgkqZSWMngxdYaSoRJRVDZTFU", "PUoAkSOMXUzMkEtYEcYRoccmxqhPXOEMwDjlYjIkSelqpVDDXsAPvoQddNEUdKAtIVckjvReFFbGpNZIuyzpHmxiRIPYeeNwbQihUkViCzeqmHrbvaIDCiAixklFqYBMTDkFCrlvRNqzlqIrEcIipMvjynYNNwalYaUOMaidjRtTetdrJRPPjykTVHLFvxQiSCuxAOKUPKsMJSkZNCrmcPIHLiGUWYKOIebTEyEgGwEAAsoNsfipfWGwCPihyJApgqFiyHPiltUIosMMeEKaQDZeBAdfJMBgOOsfyoQPHxxuJVQlAkmmOSwGbZFlNjgVRdZyawXkhcwYIyplRoXSLtNFwojQCWauTYbjHZJDDzTzBYhpRNjvZElHIpIzOyCvHFUmRBalMwoZwyVXmrHIBWFMJYTzrRCzvfnBFlhyVVAcKotrUZTNkdUTwvJGtudpTHuWcngGjMDLGFnpUWGulsVWyYaKKUrZKtsiKcxuHHptKxqwKZOsHkFUINDFKHcx", "sXGuIrfQLZVNrWpawPCrUlRvjHeqEPHfCyvbVsdOfXMGrgqlGjvKWjkPtTaWeSIXzDnCBScijbtfwbfSzrBaNntwDPJueNeYIaYuvEUOvccfkbFJYjApaCMlJtHUjbFcRKRizurZTFXDllIaomTKXwHpAuEkkfmZLUzRtIrMsIiNYJPfoLENjidyCbapLXMDCGbPcINOXmmxAuuyycbcTEUxhfhtqkfxDDxtZrMjpGHyKPZoyzFZwCXfReZvJOjcWMNTJfhKdZiJrbNyyfgnWzqncZpqepvbwpOEbtoQjobCrSjOaAsCrdiUxnQvsqKJxExcoeGFMjlZBzOxTvDyALqSGZwJVSzvWxsJLsQyFCvMJpeTjwOsFBbvpJVHGLqyXPWpdnavmPZLITlUgGhMsRyIdeeNTrEaWPveHilXlcZrtiCXajikUtTyfNwXgFBDvEsnklJRBJvmqtDeHAYfOHRQVzwYZvoaaRdHKBpoWdWSuDLkylKrzIPSqLDbzwui", "YdzmGImdfYmjqfVwyUoQuekWtVZcrpzCrZXhRhouVBIJxaLbhfeEoWXoWyYtBbDuoBlkdDorPtHYFWdOOuDRCKgYEeMUlKYPDFwdfzoeHPWwbmdyENqxdElLxvTFcnIXebYlKfmtUqonRRwwdyLFvjsbiELbuJOYoVoiDGEFxitTMgUabfamhfNmXAPubFBJWJYveagmZtIuylQYIWdYJLoWIelruAWAlpepHvkUBdNLFrTrIxRfVWNxMYkKmHewVaqwgnHQkjHMpxxXwFNwGCjAXTDmGuiCFihLNOlqgjICqqaptpcHmDADoakntZcCjPNkwizNMGPfhpihwFnzCvJsJTHhuTQbBpmUkfQnoTFBpomPICBmZwgGlTRDXMllbbzgHprBVakDzoukeVvvLlGjdPsToUNWiGalAbGJGdFpqepQcBfelGiDHEOxaYbUfNmwJrvNLPZEZgqCfcQInxVJpkMQChqXhVUYXNueycoZDJBFFLWsSVqnbgGshrNH"],"c_map_double":{"c_map_double_1":23.6824875814264, "c_map_double_2":46.1071289166319, "c_map_double_3":24.445714204976117, "c_map_double_4":91.2422209994879, "c_map_double_5":70.56179365893831, "c_map_double_6":54.251986125052234, "c_map_double_7":9.955990120915127, "c_map_double_8":82.90128905868764, "c_map_double_9":37.635614891450054, "c_map_double_10":35.96180606601451},"c_map_ipv4":{"c_map_ipv4_1":"138.233.219.60", "c_map_ipv4_2":"55.197.168.114", "c_map_ipv4_3":"196.198.79.129", "c_map_ipv4_4":"201.49.200.90", "c_map_ipv4_5":"11.248.143.5", "c_map_ipv4_6":"255.141.150.22", "c_map_ipv4_7":"184.250.140.187", "c_map_ipv4_8":"160.150.33.122", "c_map_ipv4_9":"5.68.170.35", "c_map_ipv4_10":"174.199.161.76"},"c_smallint":30180,"c_char":"rHOoPjynNl","c_array_smallint":[-19160, -10867, 16160, -28038, -14259, 12599, -18590, 20590, 8930, 18123, -5561, -26792, 26432, 25818, -28118, 28949, 20089, 31771, 30502, -22424, 18424, 28725, 6342, -15972, 28458],"c_array_char":["oBxEpSffdh", "iYtApEXLGJ", "jpYilysqAM", "BrfuuaPCNV", "mfcYnbbslZ", "EyfNkdaMSd", "FLTbIcWmRj", "zwvEwmfXtF", "naFzaTPgPv", "LehcXlpesx", "UvTKqQmjSs", "SneIncOXqg", "ZqOiwQPkfF", "zJNzgOjXgX", "EAelZSzqAS", "lZfsHCZqrD", "TUqYgSEMZP", "ddbBnOlzCz", "ihWfNnliGp", "xPoeODVDfi", "XbvjcVZyyT", "Ddfeintdbq", "CLHtqPyOgL", "aBtNZEPiBE", "EYbqxJocdg"],"c_int":-5572063,"c_json":{"httpstatuscode":403} }','{ "c_datetime":"2015-08-15 10:35:46","c_map_date":{"c_map_date_1":"2015-12-14", "c_map_date_2":"2012-07-03", "c_map_date_3":"2001-03-28", "c_map_date_4":"2007-03-14", "c_map_date_5":"2016-09-19", "c_map_date_6":"2009-03-01", "c_map_date_7":"2011-03-11", "c_map_date_8":"2000-06-09", "c_map_date_9":"2016-06-05", "c_map_date_10":"2008-03-16"},"c_map_ipv4":{"c_map_ipv4_1":"185.14.196.95", "c_map_ipv4_2":"206.22.227.169", "c_map_ipv4_3":"24.182.111.16", "c_map_ipv4_4":"152.82.164.68", "c_map_ipv4_5":"251.218.193.211", "c_map_ipv4_6":"20.116.117.106", "c_map_ipv4_7":"185.100.90.40", "c_map_ipv4_8":"217.162.101.209", "c_map_ipv4_9":"113.170.234.182", "c_map_ipv4_10":"18.186.122.59"},"c_boolean":1,"c_map_string":{"c_map_string_1":"bxhjnzmVpqDhkTcSOduulMNyIIcEaNtGReIbTfZbgXCHoifMrGOQkjsVORQqFrWBVnONRyUuUiZeZGoRddLpOpHCAlZxaQuYnOqOWmlXkMNJgHLuMvIcStNWWnELhIkpfhOMavLFQwWLEgeLDJgtfWWYdAQdWpcHHtLBDjGpIXUmUjQmKUzQBKblvVKejDWiHuSzoiYfdVgxALOBZHBaLGALtUjmWpkdiOVzmpTGTNRJvyxORthiuFLOFFmiNfbBqgVdWuQrHIHXsSNopMLpALriKrLUgQFRRQeAYZOswmPeLsoTlPbATDYNrSQGZuWYflLukRCQjDhtsWeDZQMCgrxVMYCyBiEllVAAGwbHoUTifmJjMgrtcIVIpfAlMkcRIWRLQyFdLTvEjvbBFMzbsXVSDHdEXhbxJcDAUNhIhyYqCOWteiXKjCeNMdjIDkPzRtNsYmmyDYUpxUvOghljSFktfdUjdQKgCIrlYmoIoUkqokiCGIABzgpLFpODCsYO", "c_map_string_2":"myxKRlkPXZKbxFEMSSoFhYUqcaVNAhpQupUAgMAMWiHhqMAXkQWKTUWPoSJsuyCWHdlWtABKXtzBPyxqzNJQAusjlAUszRTwEADyUARqrXXFJsgfEXYFvDJFgnhnwiLEiWueQlytofesArKgNnoYgERWXucBzeDCfNHZxqeuACtzPVUvLllreRbECzEZqShYRfusLDFRBbHLQKwledQHoTCpuadRaFpTqEGGAJKwCljaXGNGXyzmLBqMnZCeoMtwRLgtiIFcchwGxzzprdpnxlsAeEqopTeTpNHKBDJMADkqhDIZIAKPxCwufEIykNmyixNycjNEEIycvyQvcMWFUmjmujdbKqdEZuThBZvsozEmjEwNiCzEvRhkiAqzoCavmvhqiclOBTLEZcuDfpTEhidkAFOhWsGkPQvneAHwmUUAZrojzuEJLqrSdojsyuSJUImFgzmNrcoOOmjPMjJRpHIRenZhYhRoEQDSjwmivilZJiUZJKqnntZhOWlGqXwu", "c_map_string_3":"PSsonWxtMLTsiIoFziXxXHpLADtQuKpLDKZjuwUtqkkhEqauxrmdOwMUZHPHmcszeEiMEQUvEwwHcxIFAICZgPSjgihyDfTJEnJXrInJmswPrWkSdrzLIXLfzvLcRTwfvYvYxzPISCiofTjUXJUszGRhwYtbOxSDobhWaXnlpRwkYaFxUMOWgQgZbtFCoLVQlmKZThzssdJFBCuGZfaGTnVHCdwiOZAtibuGRJsjDawlaWTRTMGtESLKrkiqAXIMOZaiHOOSjvJFOKXmRXpgSZeuiJmeEUvQkNiJoIDBvQErHIcoJtqougjTFnOzoChvpzMDumvKJcxfaCMHmiMhbXIgFNxLoTzRxJgDcndYSjkqsMExzOxYgDxapBvAaSnTaBNWITCIogefKjifbozqYCliWrHmcoTwpNsmMvhHZeVpdoeFbPnZdGhrCgqJeJOcvvqBADtINycazTPFUZOZVHFLMRTVEwlAHDXWsMGnmrjfAhkFZoluxTRxcLjoHVUo", "c_map_string_4":"kSvvkCEiuDgIqjVxaYUPtlUvnoIKhIzKFqetSPsuxJeZWbbfGUqfwYfvfAKVXdwFoKSJJQZwnmTjBMaFvOUhsnaUOelDnjSBjZjuEoKnKEJSxXiFzjCnOzxovLNVRXAjVMmbGYbWZGLFbEgGacRrSSYbrClKVJXqDgmCkCpcCbrAwncmnDXGKqBoybPAacJxrCrxsgZxOCRjTTMJyTWTtgxyTjMDpJetBaQKMEJrYFETtqKSFjoLrJKtomRNEktyDUxKtmgmqREBONPStMreegFuiINjZoiGHinXVhHoyUXeLMTiIbaAvkpIuQhdzYYdWDFLaVAzNGebQiLtXcKFsTkXhslesZcNanaCVjicdXTGtgrMsyIXJoxuobEwyKYxMQGvzymuiqlKkGcIVKqtLveEZmziHWGVUgmVGBFQyPkdgGuzBgZEsWVMyRScRnZrHIJHvnQQymUfsLzTDmasOtFfHyRhCfkNNgknamlLPbpsrVPDtWqkaVARBCWyAvZm", "c_map_string_5":"PeaJkcKmdJkhoDMoaZYwsEFpFRzarlzQQTynXWsEutnvOzUSQcFwYEiMYTSowMtnURBSZZSFFvMUThGiZjgwZIXkHwVjjTFmxUxhqNcTAfQqjInSAdxEZdcjzUVHwHZjuPkQFrhAkLiReZpLtmkVANYYPKCMmFGMFEXZOhbJUGgOYYarZPZhhuUCdgEoDYgnfITVFqiTtpvWASHTXFLdRYRTWXUXKonKxzHBxdHYwDTDUnjAdVbNNFRjuMCKgEuOKLaBKOJJUzhuHiziiFllwksAlBufMqQYOPuWpMVKiiitjxtAWeDtcmScbxXNIPutXjLVuUYRwGKFOECVVxzHxBilOUDAymYlBHXixJhmEpHYyaBaCtNmjTSZIMwDWBiYZZOWloRKRzHHenSvypgITienKupSmFfGEsARnFbwuMCqoEPWWPjBMyqmZJcbMqrSoGfEuAxWNIVUMuCkyHraAFScHLDdGSmAAIBukxuypMbOZwbDdeSrGjpoLeGSYrqO", "c_map_string_6":"dthMjTlfqeCjzeZuQQDbdBshaIjkSiaNThQzNsPixTfTXqdpakZfSlQLjjnwbfzKndkSLYrpOYziCCITLGXoHnCOLwxdqyMSoPPrNaxLachGuWYdGHCgzUGymQkwkqOnRcFNhNqjnGmvRvoXeqKeDQNjRRdxsgLZQWaSOHTsYButOWUjYUINfoawTpfLsvpWwtpEotTWrDzcvWntRYAYzulafusbdPDsgEjGhkBjFXJsKssWEwzmOTEmhFXUwgltLsqXtwiOIjpWCpdyoPsvNDQblbdQMGGITxDxCVasSdlVyQsGwVaSLHvhfaydfrZDoTtqHMUBGBytvQtpkPlerhSwkGaNXaSzfNhWrAzxulyJMdAIaQiZVKElrBkWFFtVXzTTCHrByEQJepsqffmjxnCQfHZMhkjinkDcpVlBgZiigAGMmMoCxUPCibfpLtLNNuaIGInsCvVbhjdvKbaKatHLpPURpPIjOyUsjWpyNDJJFUMwfiFhdYXpcLgaNSBt", "c_map_string_7":"BLVKOLeWbVvfKrjFJsnRSelfoooCPCtQzFnFBlorbyxsoYyKpJQypMHCbFyogObkVuxDvEemKlqROrLxajREGEOPWhxnhvslbkyfOLAxwwkDMgPNjSKvEMOCBSDJnxmRMTABGFWrFPYFPAuxucqLYeoZwKJAxVBMlhiljKMLlJEfXvfjgcqqXguFOkjrhJPRhLiRTCYgOvQJPYvbYugjovwJTGVNSeOxwgpfZQncKpdqmnKmgmUPWrEhBoaiTWVCqIrlSUgzmpJNjkyXATSQSwjvzRMkAaSehmgpDGeZVWPEuAAtJrDmijomTIaETZRHdALKVxHRUfrvoHZySJFfOxjSyqdIYvDrXNURLxKjxgVnhgGWHfySbnHtfLjQrzpvELvHDoKOmjtpNScRVQBwlIKzJjsRqMMuDPQnMebOgMRrURAZihsYjqxyDTzwZbNLKaUnOlxhLKuPkRZtYaOYTKaQvXzCyuHxQeqobWCrRtawmOrXzbzKTVxsrBzaIXQS", "c_map_string_8":"MiOXDUOuidEkhJjASfnBtgTzxujUTYAgsrAloAKMbqtTcxUqMgVATudjwjRaXsuCzyYrGXrRaaQXxXjiNBsMDNjruShJaTMdAfUTNpyVHoOdyffZVweoRNZCJfXAffEiKGraDdKqXXFkXrbAZSYKCCyXlQHwrerJltcvZrCztbNhhSIhratNwCdKCLWnCgQWogsoKwvIxNNytWTYxXpZLKkzHKtwzbqYtVdZVbWhcCPgPRjjOxGINUGEDoUTUbWjHlPvBtiuCXEOtjOXRCzOoSqxFJLGdVbchiXvufxHfFCuXmcdfUaEhmnPfRLynzIWMieswRHjFgLzsLfbZMRLWwaqrxMoTHCJPGCCfXWxeXOVgOwodXeZhYrgqsmUyroVGvpkTezhglfbXysKjnsHdlariBfxKCcTrlDddoUHcWRWKkaiZQIDUhkQYtUkNopmbxzDtyfSkmfkcMCPDCFtcAhvguKpDDeehQiCwBotzLGUwQGNUmpigqbnxQHASaHz", "c_map_string_9":"aDRAydDOfOhWAtAlqxCXCOgAzLVWIYmaoMDKVxVUMdxcDhHoDrajVVIMYwQPzFYfDLPlnWsAklrVIQiJhthyyIvUlgkkwcnGQHlJhyWCtkhCAhYwkyHihtUQteoHqJLXgMHtDlbxJouTxBmWfvnnYEqrLdpBfPrkLfNZyvoUXandESeQugVByXZpeYETjRBLseashKxlFhUmRNeQOTaPIvdLzTWoVpCChZGrGhwQRTEsLsSEJTAgMjYGGbbhBjvELpqCDccbEaULaqWhWsNxUdJgcZmavjWYOvHwyxZzNzvnZpzVoLXTPiGGStXoUvyIKCUFwYtjoADgVYvPRZlPDvOnVrGiPzThGodYUmrXwQTBWQMXkIyyFymhTpFVokNtovEOZRgkewobhwWyQDCpIFbGzcmupwlIbtJTfemnpqIXBhsPhpJotspybyqobkilVRBpcNgfahClMPEMeOaNCLaHyFPkzZPrXRXUXyNeCiJKgSqkfPyTdjBUenAumySF", "c_map_string_10":"qxWNnlvEwOWiOuqAQceZEYThWXzVIFLYYuXextsljZKhOobiTCnPHrkXrGEePoLcwrMsQNfyXMjBesWiZWmiLSmOxnMEXtBuCuuyCHXookECnbJAxdwVogZheGEQUTkVxDrxMWPVYvJkvtXEjNbVkePbxfhVgDZdCqgtoESrfSkmXrsuonYHunCFeIDsBdWfCIhFnLEWiKbsjxGZuKYHRPRXQxieJWGSDVKpPzXFAmzarlCrcFLoFjHdsHVgNcaNqoobcVxoJbElyjpzIyiTAeMuCGDRFUgZBuRSDDngHRgqBIEktsIXhNvoDNSUfEcZWqHGnunkEeLxJSyJMDgGhXUgfdXzwwEcFJTzhqULGhnLTtoqxlnrzbUWJJXKsTzWegHRIdRpGvSZCxfgbtBFstEdAlVrgHpxdNvwPwKjRrwapHpzetlMaDSMOsUwDlFQYPBTIeSnHxCoXvOUHnYFqsZJHpcyVQVQbxyHFervZXULTxDLFcHolIvPZoCwEAym"},"c_map_varchar":{"c_map_varchar_1":"nNHuacAstyXLiZJGwygvDLBAkJlEsgAOAneutJMipLiGehjVwenrSsSpgztiGsUdcpwqjBlSsKnxBlqckFypyPuxUWpuQbjUNFxIvHgQTkmUBQXKtSMzyasxTiXxoXBjSpWVNBCkgcnYIAfZGxzzePlmXRJfViHytmURDSFBYaXwEgAhCRWCPPVivBkMxhhYfaJExjjniPNkmuNVGQdLvTuLASUNbMmZefxWletKjIiXQCLtFFgmkbwkknzukNRS", "c_map_varchar_2":"DrWnHmdeRsEOzsRvfgGtXYpfDxJKzOODIMwjfYSyjGBlOheVKqQsETPBppgNTbmOyNQBlivSyNWeLQaqAzCzqctuyZGTnuxRGIORamDWRrFHwMuroVigJORpFMhLUoLLhsLuLAmrnfWdiVpiVldZdmeDWPJCYoFNblokFGViDFzUYNvjdaAlNfmOYGFxFNycRCHYfCHGjqWhHxfzsDCAkaivlAOiPEBzuKKSCDAaMgQBWylAjqsLPEOlFvRLRzZL", "c_map_varchar_3":"kSveHIeoRbVDOuLhfVBvIDDtubZqpxYpyyBDeodxzuODiYXHzqtcKKRIffoLSOPHcKgOlzkOzEQbezHtOJZNiDxbphOhdivkkkPkLFFsJuctujVxbofQIDjideppvPgojGiEkjYUOMmeCUWGPUEvgOaYZCJAxAeuqLLxKqtymcEhAgxGjUIyqUOoeQHiEZCghUOuWqlBNOPRoTFWCdQunsdWWTpbkBxICcWulKYhacxvhyyMucYUhOqFJDLSkWWt", "c_map_varchar_4":"hTUqrYZKbtWcLLKIXlrCcKmOyNViDhMUDEAwCohtSuUfKKqMpSFVJBTTGtcPZnGifpjTagelOEMEaYgcVhsVfTMwQBwYxXywqJTvMYpLbMHBHOvvbixVcQlKZVNnupnqwRPeaXGLEoMSDMBBRNuZImDBkqHpNoJXLPnQMmiCtOnsrieasVRvymJlwEUmzaWFYHJSxMBlvWVXtjKiRfRSvyvbptritQzYriOlTTJcaiGrpTpnXjhCnntimGNZxsRk", "c_map_varchar_5":"YsxINRzjeDzqyFQFbAYHsbChvFAeCUGiatKhGJPjMVaWpHhieTkjfNQtlzrbbNLtdaDYKrClkMZtDQowagcOWYrHOAbCDJYMiFrxxUHVsYqgZMQeEFHOQRjEiNXOMUrztczlNoWcpCHCqQRQKkpQIzrzzKNxCGPFUrrZthbxBQEkmLiQKGOMUeEUgOWGoBGppqbWUJVSuAYVFyhwxMFixdVDryAzwgqtfbMooPxOxwXUmQuTiuftOUaJuDGEtjzY", "c_map_varchar_6":"QjsqdtRxQCzvwdcaMAtmtGiKnvuEMwMftpnyeIHbtWDzLjkSNPkkMayisAmoJqGqvMnCdUsevfskZpVoHpgGbaRUzbtIxFNnPjDigrgeHnfKdyyINDZcyOyvzgUruNqzoSVVcOzwaFVFrLsFGwWnhAblyRcVLAujNanBWfbBHBdGKDmyOTtwfTSKzinpgglWBVCmzPtEixhGhdiuYtdsgrlTlBuoHsBPEurCZpHlHtPPnnsOFrukzascQzykIgzT", "c_map_varchar_7":"cGUSgjvcFMDUqbInDYJngHxVqoqSJWqPTbaWKpzFAkUUtgLqIwUasYkRefXuuUCwMtunxtaqKergITIFqzFwaFTfbsNdGmfaOSomIorOTGVvCacZLpYfaVHcExRRzJCAWKoQhbMWYZguzwjFlXtDVmCYIRMKOiyhvDVhduCIWSlRcbXjaBEBbRefKjDSxpcjIicAoZQQBXXRiXPJtExyNsBpjaktlggDUBwQbnjrNcXGDGIbCbegYISGyUqJAYcg", "c_map_varchar_8":"KBFrNdYDiYsxMDJTAavyrMoiJvrqmtnMVJfAKjXtmupqChrftDoMyyOAqFZuyAMqYEYaQuCoeOQigfGNSTaPLUmyBQEkZFmPMyatrTiMqHqzKPeXZVIanSsuIeLqcbAqkedMArGELuZHJuQDRrDMsUlKQgmgxSOMTffyWrnqqNbyxDIwfMQVJfsEvgcelXgOERmngOZtGkaeaXezSPTBzfCEFThcieNWgmjTqIWgNErvFaFQuKgqbfdHzYYyBfnS", "c_map_varchar_9":"IaLlTUVGLQHjUGXtVRdTvyTapVXyPacZPjbxyGLCJIcJznetnRosxpEFbzRIpskHySgnntNApbDbsoNTuTijYAKFXViFmbmzMOoGbuMIUOvpvEWBqUAuqXQBawdeYmhCVebRYXpsFeGzmECarZzmXnbKkvitrskZODfqcFlMnONjphOPtNLaEmEmHBmoinEYQFRTcQQFtgaRYLsecWXeGlFIGSvgcfLpzBjNWpqYGYAkCBrHoupBGwloSRvtStLj", "c_map_varchar_10":"EtwMhZPlGeMhLPocvWBiKPjnafmhMDjYWGkmKJeLFBdpoWCfnQmnavBYQAkHKZXiedebaHVYEtaJZZRbZqOJmQmrazFYDqFKnxmZfzJRuAQODmtYvJDxXTNVSXeTkfJGxBDOFtFIrAyJnUSDYJbnVAkjdKhTtvOFsXIOcVuYZMIzOpwpbHATKqzduZzLDDZukTsNLvbFmhrqVYCvhalZVmmkQcAAolrIshhRrDPdVcekBMuqUIOWRowjJnlorqSL"},"c_array_bigint":[4936726117011726760, 44356774614934633, -9183047830339954937, -9088990480728262709, -2074551359299613090, 917079048796226538, -616529291548686332, -8468640299751133719, -1876469395355704435, -7608619092616503653, -2156064627997835233, 5149434969946074568, 3402919580652076798, 6914690944859298109, 8542089770423606077, -6951021745942921550, -4611402763687281468, 5521167298872341337, -4786441250627134915, -8172455500714439770, 8348301741108526804, 8278480911229170274, -2598212735123066686, 2243519918266927068, -512703925625135823],"c_decimal":77.0788,"c_date":"2009-10-01","c_array_boolean":[0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0],"c_map_decimal":{"c_map_decimal_1":0.0776, "c_map_decimal_2":43.0932, "c_map_decimal_3":5.0574, "c_map_decimal_4":22.0692, "c_map_decimal_5":58.1500, "c_map_decimal_6":79.1152, "c_map_decimal_7":17.0330, "c_map_decimal_8":89.1038, "c_map_decimal_9":96.1208, "c_map_decimal_10":15.1187},"c_tinyint":97,"c_array_tinyint":[66, -76, 7, 72, 95, 103, -41, 52, 86, 19, -41, -122, -31, 63, 20, -110, -106, 57, -76, -9, 56, -57, -39, -5, 88],"c_array_largeint":[-8830579580868152922, -3501194068066999084, -3921223687770774884, 1510253532165561284, -3594907039630859043, 6407234356541224139, -494335129263100678, -4420522103815126892, 4822417482741567459, 6327406449349894535, -2284282301753677354, -6024295083078106456, 5279982054562825045, 8227343732382482699, -7738555511639169482, -6961760163366605303, -1215780096157445827, 2987101290662997182, -2312141290892054269, 8815875294361582876, 7062671643154988415, -4975144738780987840, 3353109124631416884, 1257732464578206035, -8312208616853230974],"c_map_largeint":{"c_map_largeint_1":-311063018186296936, "c_map_largeint_2":-6631683255454248554, "c_map_largeint_3":-1414668693280701694, "c_map_largeint_4":-3528993744208496601, "c_map_largeint_5":3250798962858037879, "c_map_largeint_6":-3261743384382450053, "c_map_largeint_7":-8400068496557169325, "c_map_largeint_8":-3353494588486487788, "c_map_largeint_9":-2616141163340191606, "c_map_largeint_10":5634944283568538931},"c_map_char":{"c_map_char_1":"HmKGpiKUNW", "c_map_char_2":"ldacpwLVUe", "c_map_char_3":"SyYBKlTJdG", "c_map_char_4":"mgQqRgNalG", "c_map_char_5":"nGAFeaTjlw", "c_map_char_6":"tfnvgMXYrR", "c_map_char_7":"mZSvFgeTWF", "c_map_char_8":"RDfEpskSXh", "c_map_char_9":"rEKDbvQGtU", "c_map_char_10":"rfdNBKMwUW"},"c_int":-1866365046,"c_float":7.9979057,"c_array_decimal":[86.0466, 98.1774, 17.0746, 6.0883, 69.0707, 14.1957, 59.0290, 90.1267, 35.1696, 45.1724, 100.0142, 96.1984, 86.0289, 49.1360, 2.1349, 10.0427, 26.0432, 46.1383, 76.1312, 80.1674, 52.0410, 4.1338, 28.1146, 74.0728, 31.0750],"c_array_varchar":["lKAHrRITLcPYoBWuhdcIXhXrPpptljFWIXSqroEtwcRPAAbFbJEpRDYtvYicLnKjgRRaqlTRtimbSvMSspEOgdVYOQEmerKeZpAQXvmsnDWYbdbHkzgFDFXeYPrpTxAPcTzeKniccqNaPdWOcqtGMNLeJtCTAVQHMpZsYJNPEgpclSugRAPTHuklmMgiDaXhpTedWtujHbcoglTSPTxlIQXDEzmYCWuCJCJZJrqwgYbgstEVyioyZotAbKkVFiyG", "ugAqqppaPnBemsOKaPFxrBOzfNEUcilKSLbWLtOldkInUywdVsAmfiwcLnTbkGFEFyClYfXNRVMQmDrPbdGadAhtxyHeYeYVnpUUYztqFDRyxBOHipYKSKSnOKwhYgNPekEGmmheVkmTNflZnvXLQUDKmsnvFFBxKCJRUDEEfiTECeqLEIJUlbaiAsjsMSxBGbdeMAHYraxIGmSjxUddgZVjrzuLhfNnyhnRPTNhLrGJFQtzjKHPnZdmuYORBSJv", "MvdJNqXpbzNRdXyWLzseojSLPbLjJWwqkRJAxJQHddQDsSQJwTIXcMdDVdkqXZSMRcYfOMZGPOnUAIVWNhcDNmZpyuMTyxjtuTYAJrItMwdItckEUxHMrWUKJkSDCrWQxZhRuPDnqxhtKKxOHnHSibhfwPADJMaPSznyHchzpAvRvPgjfSzHUFssciXKkBcSXVoJIpJzPKAqGDBOvuGXTQfNJGNYSSlvfRpaSXzydBuyRPtzQZSntXfMcnxviEjC", "TZUPLtibZtaPnjKczAVPXGmBHGnzShOPjZjeBhmejkvzzGPHqjANwCZTbHSYpllqaTcunLlUsdysFGSYoNgtHCWJgkBUtwagxltKrVKHIvtxqWuXrYxLPyfvzhbnOUojlEoCXfEtvHHNRDYmaKWwAwowfeumHIwxSxbQkvYbAgVtjECfVzIcSWDSXEojZwuEpswzsvaBUiawUySwDwGrVTciMWQKbCGVPPPCMyrsCnnoonQtyGeOLLwDZzkBXALo", "ntOsuThkarctZptAqSLjlQpgXWXXEhqVKISShnpMmUccHQuTDJWPnkDNkAokoGJpvcRyGRHzeEBTVMCJEqsIcXcqFLASwLxqBfgOtUXmRtjizYzVZQipYEOKKFBbIUpxUwvurEvxtOsVOTIlGwvePKALbtfelMxqOFvfTzUmnVriNkEhdSgnbuoPqjZbTCzKQuBJzOxWXyAcMHGdZacmcnuNShXhicsIvpLqdRbOXIpzDhBJXvrLZeRmRAbzZOCJ", "DKicgxcjmsdhZnxmPbzkCFezbtjOkbhybbQAMmMsqGwJjoRgutyKRBJdHkPYOMgCRMKSyBXoTQgmcaVHSfZPLPQwaRZaXvaCGTQESIxKBqEYIQOLCAWuZGjFERvSHDUhQFeJFCEbTIuAeDSuZyDjVYRrwHRZjitvdFJNpOXFrRKZBNSRKqqdFloqDUTXzjxOjGJIBffWOiqVhCliCbxCEoaOHRCsBJyKLkbCbxqqdXZTiwyhCmEhKIRKdrrotnRw", "fwcDjvSXCBzFESZertbhbbAGuKeclJkdPMtSJToWmovoWCZbrEAKoiaVRsdPxjngkYdHTeMFGZgBDNQHieIzhPkuKnqVcrYqEhlKDSUGOIlUiQdcCRmbbukpFvZnIOTUHualxguTBHyRCSKpdcwyEPuDJiWRUObIbARyKZAciCnRIyOIkuOECkSbSXNKZhPbWhmcltzNcDICCZTqaKzcmxmZzUzzSOfwoBfQuYMzAnStgisxdaWXWfHrPNTvCafY", "wfWBWNdguSDMUCeWSuTZDkgTrcCTXKUnnwayjbJQMNqdswsOwHrZYzuBEOKJRAyCHgSUFhZBpFsWHkEEjqtnbzwoFfRIuUxTuaUIfUqSWySKsWdigybCuXvPfFBltHcsLhwYqDyRAqXjdqszCreaLrHyamRPSqPvGzQYVqekPMmppEMLqzhxrVQjlWIUBCnRVTsmrQgMtpkWdjbZueNSgGsoVnYrDYXLXYalnueHVZCcdmBdZAEWDqRmOKYNQSja", "JDzcKIlcSUJKCywzWRqwiFQKXKmYlytpcOXKIlxWXtotjYcAMsUmnXwEFCHSotQAOMHoomFKksyUvKDlyTLeJQJvYpTnHfozGenpQdSXVdiHgPkLYeDsXSwNWGMEDrYoUweLlnpIymUhTxWJKVuZkvPuZjdpxHBePpDjscCHzWKLFzpJtJddcEzRMqbcHoPDfgXnevFAcimijNJuLpaoOzNcrDhcpVCqcAWaYujSSmxezLiWUuisOqbWqpJLcbOJ", "KWKbpUXQykIqXKmrxlxVOuhUSNVRERfYHVVggAeHctXsENkRdPEbfNteyqDnpIBwCQUAAgnLuEvJmbAcSaBKXZxmVmCTUhVRMaBiSAYfWRLCPCPdYGiUziIFLYhqBpqFbiawhgEUbmeXlntXwPkManNtsqOyafRHQATYYSXFhYudJRjryCBTGosCVzuJiCMxyMTEhNmdnalVXwkOFNXDGtttOVxFDISEhqXwivNpwqTkGumsoFWcxVPysUUlGMCp", "xQbMZsqENawMLEgDNJyxOPnkSvsWdBLuPCbaDiTcLjMeNpSpmkHeZVYYINIVVlhrcPwDToPaMMlFwVsPCQBTxchmfnfmaHwSdikPCEvSgGMUBVqOkrZFrPTdUqHdDlFoMiEHWYeUBOwqnNoUqLOlhGggyJteUQemqgaruyCcBOFhrqoJEphvFtLPlXmZBweclULOqLWXbJshKUOyGvLrLixjbLypewWxmTpQvWHEsKonFxnALqyKTbotNNxTgvVs", "syevLzInZzGKvwgrVYxXMyyWlQvSvkWvEAQBscCWzBFpznEWCwXDxqyWXYAHtSIFskGDhubVRZFLWiZwPxviTNIgxgVEvlJJrwmwMqGCxpPGzkFYAAHuipNgtBhjXUehOyohzIUbKRZMXibeFMhoqhUXmcMqXBoUnoPYdzYGaIEfmtukttgDGVUJgxKPEUICtzximTRVkAewSSMrJUCipgPGKzYquleHfRhqBLLSQBMsyKDZgsladbiYWfvFuddu", "HyFtZLvqLHKnuFYedXqIdxqZgkfPoqAjRPmTGItNhviejXQKzxvRpbokAxSWNYRStVdJBNbDXnDHzsmUUUduHYpJGBngXiobrYKybBaLhAuaiVUEAvILtPiPRxWtVxVcCoLKHGvVihrAjUzhWSheyqpHJpusXIrVeyvLYSZDZoIRYZKlXrdGtSyYBRzPVGhpdzAcotQSJkyrcrsFYwwKrvlajlNmYCHUPtyxoItbWdvAsPactAnKQLDdfZjfmpsN", "wOcqoXFkvACdwUnuxcqFTiMYhxTUVHxdEWVGaPYxjxGnTUOqFkfBsJYcnlxtKHcnBtIpBxAoCKfpWTuACazJPwCmqbEwZYMwUUxWyRRFWFrURZioOIomOsNIHWLbmYYPeCJXTFbNBcaltiQojggDtkCYxtdNROXfZVLxqgHeXmJcpMpPkhJszxwPuZtPLhCFWVCgFqUcABYSQaWDgSYEhRbAJFBAIiIPiNvxYszOKffNYpzSHooNdrOjEfBdYNEm", "PuvRJATBKtnjlgGciNZLLsJqxPDVHJkwHowtksftzKfNVquXJGEqVVtzWDaZEreObSrnVlmDQnYRyCrgzxtdypHdOGYqVsSrAFtstFQhMtZPKKQkTirBUiQeseyeWScmLavczCLFsvYEHkOuvIKLsbRRGMzbNrMIsZTKnwZzDCLnICHunIRIEBuRAfyTzZdjpMlvlGKxkHnQSKFFgbwpRdomWffBTASQsKcGxhtchBcIAvHtSysVqmJccgIRNLPp", "KWntQrzvzFyEwhnCXGtQgClTuWVFRiyLCWPRaJYhkGJcvoXePkRfZWTEgCWIEDmIfjNVoeBBGumYIsDKCMstEkqUsPSiSXzbgvYMbHxsgRDatFhpxbnqQpEgGHYAZyfznjvfiQKhciganNDrbYffqzAqAXnrBRzbXwTvlRUvkQuvFvlGIdkjTcGBvaqdFYKKhTiOpyNiBAXieZLZAKYwZLpKgBiCRSOqYaosripgFgBoJROcLZwtPnYoXjTDgLcB", "YHbSSrkntBxxLDHWnVrOtkGWpgCxvPXgrgxUfPanEfCmMTjwxcfqZOkUFBIWvFXjsrqVgtinRPRHfgxKAdyAcBopDzojRceNqsoToMdPNRiiSieXBPUIxgIEwYbqaMyaVwaeltgnqeGEPcAkWwqKVSiJrPMgBiLTInhEhdRbPJzWqDBqJqkCVRcpvbrLqGSOGtDBLFlEFMPZSzbuAgMTkxzmZtOuRpLOXsuBlZrGbSviwKkXnMbqUPWKeyxyFjik", "yAFeTBWSJTfjnsYKBBPSypTacBGVkfDjKhXTLHwJRPqLMzfSTlwmRQRSTnKJZZZghqWvJSgxLmPOOJJUSozSUqQbvcuWcGICjLGERMFRQjJmhKVGocZJDcRPoeOdbjZsTnKQxCYjKWEXohAGbVJyTtsuAYKuEPaEyhFqvFXBfnSPBpJcLdCpTdvmFcbOrjiPfRpknYYlEpYlrPBZlnQhArhdcqmwwkrAedoTrLqJkFNPpIcGxxYsZQuADcVxlOoo", "NYlTLiDDbqivmQuXcfzRrkKGXDaRQvIPHYWfYAhAnmbmdaRIUGtyCVoVsdfpEFAuqFOMfyhfGeJmVZGlDYTbaGyhrfHKkXGpKPgIrkXfrLslKpZdBVNrwAgzdSuMpqbwllmgmolJdELnTsNmeIgkencnLcjqnQLQxXDOxZSCLeJBynZMMPZgKaAQoahGdndfoGspTJInInhAxZvVqkRtXiDZEwgBgIHvHSRYNhiqcftgvJpDttBNAvdEvrMLNJrj", "UtFiUVmbjDesNyRerTtUQvexJADNaKYGPchvdVCdvBklIzOjjMRDBrpOsBDggHCheCSIxjIFGzydKPkCCQvyPcGMhWQemZknLixSSGqulDUzRcYfDtywCgFsOajtTjRcsPmTTjKoAxxYzxORsukrHrSRZnPtemRwpMLrvIiEbJTmsSbcYhQHKITtyqgofjqDyrMeVBZHZheFdNZwqcZwebfEbSiRUaGkewofOhUwjUKzHzuqrKLraMVCwVKxCDCA", "olxHjyWsNZuMvTjcspxGRzOLHSuDfNIMcEgiwMJsbUeuAyWUodLIAMLmSOHFXrSCdTeqlcXSesGjoFjVdSriEOCuxRoABbRqpIBWjgENlMkewyVgGsESqvXavOIxfNgmryeygjSJfVwvgXolLwMHQIXBKHbAtPapSUuqPOFaisxTbfYYFqJlKRGvuXznCBQtokszTRnaVRWQqIGEBMVqVJKJASTEVaMlPQHokUEGOvmrDtKwzFJIDieSLosBSSwt", "KtYPIouavVotXMshhIsADYAKoUrLrrpnuWzmucpKjLgIjtlcwUpRrVXzTaFoUEdsUANZHqEzpUaKozPsAkZQJzCJelCcVaZSUSHMLUTVbwkTCcvAVrPIJfczCSHrwGjDAOThLPwEoligXgiNTlmmvHdDyqPWmfhjaWUOrymKIkwyWtJvUzHIwfRlhGNwRfINfqJAALumDxqJgreFNqaNlzRaTzgAanhZedYZigZejRqokdiKERBngjYZmDZUwTgc", "NHrmFinuzYoHbeVIRMcQUnNmYPkvJqSgLJSmkffXbIyliIkkzIKwxalxdAczrhHbxxvdtvUajtpNBUDeCdLOvbGkXficwYPnQGCLUBXTlAGxDgWTfpkqhrnBCTWztglsAEMeROvVzDlqDSKMxFLXYlMxbQAMQlPKTgHbgYdRGYuxdpxhUnXlbxIjhWUvDSKteWqLQLajvoJrmXWabHfJiYfECggswGgJqTSPSalFUbwFnVIqaEAOVtmDxMjdPeuA", "IALYcBPtTVxhlSdlBMCGSZqVOfOdihiyBCwfymDBgJXIqmufaeAWsKxMZKfFmuTwgDJeXMfxabgLDMdpvyJRzZflItVViFluDgqXfQhKuKgelhSJZVTsvFHjSmleFIxQKgeUgsUdTTVTAkimfcGLQaYSrGQgdancDKKTTXXmfCiFundnLgJRmNffdYHAzRVdaIykMaHjYfdZRWOvavQGLZrpRFaDMaexdUrMIhCmAGuLRepoqJSKUlBnqrQfmVVH", "axMiNKywAZHFuKfWDGQsBJLMbAucBYOthhgqODcqgwvouHsBycLRWMRrEmGxyHKCjopcYqIuTRqZPAeFahfWMVmOQuWKwlnqKHPktJwobFjPJJlkwMdubvdEaTHLrpvJugRSsLHExLQWfQdyPDlaZtdgQOvkeJbOOjTYTNDikiheqmqYnXumVWrQjCPxrhSkRZlHeqsrlnzdZMSqyeQDAkkMIUZKbKSwuYbaRPaJWXNcUJcePXYifcshghjcKdyp"],"c_array_ipv6":["IMnfCHgntz", "IiDbDGFWAb", "sgjMrLPUjW", "NIfCmnmyfW", "ClPNsNYbrn", "UtZlmoLJlQ", "FQNJyWHlya", "YskMcsGiOw", "RmvnMiseau", "CPIuMPSSEG", "llfQTrAXdq", "azcZTkkblG", "WXyHLqETgH", "tTsgejDDqX", "mcVvyOaobk", "vrrmrCxzKZ", "GXpFmMGqYd", "qKASxnieVl", "koNhLaKGjH", "ExwMFDpDSF", "uhNXaYqSiV", "GfMvUGmXdA", "MLfYYmgZDI", "qiTboXzCJn", "qDHDFxGTYe"],"c_map_smallint":{"c_map_smallint_1":23416, "c_map_smallint_2":-24993, "c_map_smallint_3":-20658, "c_map_smallint_4":-4231, "c_map_smallint_5":13828, "c_map_smallint_6":-3737, "c_map_smallint_7":-30491, "c_map_smallint_8":7436, "c_map_smallint_9":-13031, "c_map_smallint_10":30927},"c_map_float":{"c_map_float_1":33.05194, "c_map_float_2":30.808056, "c_map_float_3":95.82161, "c_map_float_4":41.154156, "c_map_float_5":55.134056, "c_map_float_6":15.125944, "c_map_float_7":33.040066, "c_map_float_8":44.112663, "c_map_float_9":49.41896, "c_map_float_10":39.96777},"c_bigint":707802196996630975,"c_char":"UVeCSCkbNJ","c_ipv4":"195.5.65.3","c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_bigint":{"c_map_bigint_1":8001394371191094446, "c_map_bigint_2":-4451566773487854765, "c_map_bigint_3":-1257187223331075058, "c_map_bigint_4":2793857426110632151, "c_map_bigint_5":-5324797571067124935, "c_map_bigint_6":-8589249878278170506, "c_map_bigint_7":4200510928741457276, "c_map_bigint_8":-2345346124791799946, "c_map_bigint_9":-8608689655833835778, "c_map_bigint_10":-5782119777475181111},"c_map_ipv6":{"c_map_ipv6_1":"4c9e:19b4:cd0c:72a7:a060:a3b8:9e4a:a674", "c_map_ipv6_2":"da55:8d65:7179:ee3d:a8d2:8da7:eca2:8ed4", "c_map_ipv6_3":"4996:cb9f:824c:861c:5f78:8a77:f42b:e5ad", "c_map_ipv6_4":"58a2:4368:8d3a:5c62:d3fc:bee7:424d:de36", "c_map_ipv6_5":"7fd2:ac7a:6355:bd07:afe2:7a7d:e8c1:1395", "c_map_ipv6_6":"be61:c2ba:1f50:d451:61e9:c6d7:9d0d:148b", "c_map_ipv6_7":"46ae:c243:413f:d5c6:c1fe:aa7:bee7:1050", "c_map_ipv6_8":"ffc:6127:fd4d:a2c9:2083:1614:dd2:c646", "c_map_ipv6_9":"dd9d:478c:9185:79c8:bbb:85db:9985:9cba", "c_map_ipv6_10":"752d:fdef:82ee:85c1:5e30:89d0:c9c9:35"},"c_double":98.45075114134161,"c_array_char":["uuTLqzhSbv", "ENZZGmggeS", "VNcjObppzf", "lTdFLkjjWr", "SVAQihtaqr", "WKCRNrxyFt", "lFSYpaRqgi", "nylErPzEHp", "NWHbaRsivL", "DEYEtteoGi", "gRWcXDqIiD", "nbaAVqBkUD", "IqTmajGKqv", "BuVtCsuVRS", "MnbDjBvWBW", "feiETUSUrx", "SyCsFMCCeE", "sBtkyWZRMP", "FRTSIptggO", "zglOnuQLhS", "geVIgUEZAH", "PpVkwWETNp", "xGzkdEZMjq", "eemJYBoXSa", "REuqAfWHmD"],"c_array_datetime":["2008-01-23 08:19:27", "2000-10-26 10:34:47", "2015-03-21 00:01:02", "2004-06-16 18:53:51", "2005-02-03 21:38:38", "2003-02-24 02:16:05", "2017-01-25 13:33:04", "2018-11-19 00:13:21", "2015-03-18 07:11:25", "2013-01-23 03:04:13", "2005-09-07 04:04:27", "2016-07-22 12:57:57", "2000-11-13 18:57:14", "2004-04-25 03:45:43", "2002-12-18 22:03:04", "2008-04-25 02:15:56", "2002-08-07 16:06:43", "2012-11-12 19:19:29", "2018-05-05 04:11:57", "2010-09-07 18:51:22", "2002-03-22 16:41:17", "2001-01-18 06:00:33", "2015-07-19 06:48:12", "2016-10-25 12:23:50", "2010-04-17 16:24:54"],"c_array_ipv4":["ScNIUnIukr", "DSDFaWUyVA", "fRejfHRFoJ", "jlYzPeOxnE", "TJBBBpLhDL", "NEqWomEnhD", "qLLbYKmqxk", "aITEgIrytH", "OIqcjUzufA", "aLNNeYcuHn", "xWPRluRTLb", "nZVYZhEYFb", "xjHuoNhswo", "keASzmrxbS", "kHUmsNcKpf", "jNCFHLCjpB", "fWAarLZPNe", "uOCGZvTvoh", "wRiGqWyjxa", "tWltWaizxK", "NHEukWnJap", "cbxrRnHHus", "XiZIbuyTdJ", "ufMqiiiiuC", "RBGPTKtLkB"],"c_map_int":{"c_map_int_1":2108477706, "c_map_int_2":-1023689265, "c_map_int_3":-2119995728, "c_map_int_4":-70839642, "c_map_int_5":-797814207, "c_map_int_6":-1006242529, "c_map_int_7":585800029, "c_map_int_8":1756029354, "c_map_int_9":656501953, "c_map_int_10":-1530144052},"c_largeint":4310101045372912087,"c_varchar":"her","c_string":"ZfPqrnrHsDQbcoVwRyDeWciKfDYWQwhOOwaLQuqqilFVahSAVYBQWnxwobdlWlOOdmPxEQhaKRTZbGSVHzSsLLPBAiCmPBmGsQnoxYJKgkgyoZDSPIgUwPFVTiPYRfZvZoSDrJXyUhfCOzFuDAYSAtvxqiPjCMzxiCwFKBZCkRJTDZvXdYwLZimwePTVSrudFBdnuQuEgcXMVznFZKFeTUraNRWmIKWpxNsTMZWhmYPEqMbisJWpBeawBWDqdOyBdUvtMysPxQFdSpvMIGXahnGBxOZDuxsChchQHBDsifOMbhcVsECYhdOcDYMmGeFgpPelpLpRqEsKopCpbXAmFqVeokbqyBojkACryRSGzspysTbHaFjDmdQwLHJNoBCXqiZEoMRqAedjkOZOZHZBvimesZYXgFCYGOwpnyYRebLaWDnbaypgfuVpZEhiRQeXrTGyytlLcHjRmAEgcFpGPcUDdmhlAlRdcaRsfdkFgYyZBMsqqsioLHCmZPNVeYlk","c_ipv6":"91c7:4552:8429:9622:f7d2:dea5:83:be9a","c_array_smallint":[3751, -25731, -6813, -5918, -10943, 4810, -31262, 21553, 5583, 17400, 10031, -12152, 2382, 9377, -24950, -29068, -27979, 18917, -19606, 27118, 15101, 19232, 27363, 17459, 22130],"c_array_int":[-1112728084, 1900778062, -1321139933, 1967492918, -2140169298, 217662855, -1240669334, 301430911, 257772080, -1397371413, -2016772326, 432567312, -528703795, -2079118699, 1184951616, 1526874109, 610552683, 1483846936, -725316561, -1078182370, -570352035, 430505117, 961035520, 1462447473, -1905327201],"c_array_float":[9.597988, 76.223335, 50.174946, 40.077206, 92.52023, 99.378586, 67.03255, 49.024426, 96.09039, 78.588554, 92.960144, 37.329247, 25.036783, 31.90085, 58.87247, 57.173332, 95.1016, 55.461563, 33.30991, 100.46167, 69.609085, 40.31772, 63.153233, 74.01839, 88.77791],"c_array_double":[41.42352515685956, 25.14947348284317, 31.843046693649878, 34.2229801818951, 90.80992676028202, 66.16776105484433, 61.11100348207334, 92.84947605345994, 11.784197432388995, 40.79170965059561, 16.562199473234422, 4.439678774247447, 15.490623775890029, 59.595860306991504, 93.27123867363404, 11.188810162637056, 27.55425161594573, 19.73214746869573, 41.64911257610251, 9.131444717537557, 33.65705377525805, 72.63074245533674, 9.47850572924785, 23.008824467948997, 78.32015677780024],"c_smallint":-16018,"c_array_date":["2012-04-16", "2002-05-14", "2004-06-26", "2014-09-18", "2017-09-07", "2019-03-22", "2014-11-28", "2010-11-15", "2016-10-09", "2000-08-07", "2013-10-05", "2015-08-18", "2001-09-23", "2017-06-09", "2000-10-28", "2006-11-22", "2011-08-22", "2014-02-14", "2006-05-21", "2018-06-18", "2012-08-25", "2016-01-07", "2004-01-10", "2004-10-01", "2007-11-03"],"c_map_tinyint":{"c_map_tinyint_1":11, "c_map_tinyint_2":-38, "c_map_tinyint_3":-11, "c_map_tinyint_4":109, "c_map_tinyint_5":-11, "c_map_tinyint_6":3, "c_map_tinyint_7":-33, "c_map_tinyint_8":-64, "c_map_tinyint_9":-88, "c_map_tinyint_10":-49},"c_map_double":{"c_map_double_1":45.05885530578908, "c_map_double_2":67.10248835710632, "c_map_double_3":22.449706613158483, "c_map_double_4":1.612223372673283, "c_map_double_5":21.47339177980409, "c_map_double_6":76.76022822503944, "c_map_double_7":58.27296300591946, "c_map_double_8":12.601328544750155, "c_map_double_9":21.900636749021654, "c_map_double_10":49.310474610816144},"c_map_datetime":{"c_map_datetime_1":"2013-03-14 00:41:19", "c_map_datetime_2":"2015-05-13 19:33:07", "c_map_datetime_3":"2014-02-23 15:29:39", "c_map_datetime_4":"2014-12-27 15:24:13", "c_map_datetime_5":"2017-09-28 13:09:13", "c_map_datetime_6":"2001-12-07 03:06:11", "c_map_datetime_7":"2009-01-25 02:03:40", "c_map_datetime_8":"2009-04-03 08:38:36", "c_map_datetime_9":"2014-07-09 06:31:23", "c_map_datetime_10":"2007-03-07 18:51:53"},"c_array_string":["kBygIsKXJXsxZevetjvrdONGKkHgXurDbWcXZzPGvnuWNmAuFQvIfOcvSUasQXZNruomzCmVpMrbmfEmSVPlzQOmtNXuzJsKNtoCYqtAqWfrPNGmojRUJKnROgLDBddLHhlyNajgNCQpfyIumFWNaudzaFPNxDpHVQfxjHdFPJDgPFQSHblxmPmoqRNwnVLTDllAtSvQpQAgTcQzkDVwMAjeUslDDEUpVirvBxABDhWgjjfqkGKcSdfUFFhqjsRKaPqmjpBeSiztrtZMNIJRyRdqNBWelvcMqiXgbxRjlmBlhNacuYYXlFZvcKWEoOlAnSdNxnwpTreQQsOQwzkasjngZLmrLMPdQIYRWVvnpXFLkFJPVcyTlOGVsMFwSjbetZVWXslFcnFDnYCRzmZNVviSJCFPTSIDwtwYuqjKcarAVJzHlvPDwxaPysLnwOSIHQkNMFtMAcedvylrQsPcEmvZxKJJCrYVYnzNOxNwuGtheHWUpbSRqkjGRFEJqxZx", "YKSuTVvwSOtNvpnhicGNZNXNfByxtFkshYqcKWpGSTspgqMjWBwKAndxbrqoGyuKHWndXFAdqyJPbjHeBtaZTrOYVbgqJokScbayszmeAUeKdFElESsadPxqFntiETWTmMhERPHjZulpupmQdXpXLthKOKUCPvrDyfPiUuOQzSSKUzBwNFKsaFrYAWIaAEkcYjZMZNmpDPqJiEFTcFaMijrsiecGCCaihyiDyPUNNoBAnKDYsVXWjsTJSTuVKOZibMGlVezbnCqsFNJZkeefzOlBqQDVlNjgEAUlvYghGtrTgUisdFJBwSFpSXGSlagOhLuTbtvDkOYDDZuMOanLsKRiDtySFvVwizJXZuGdthsIouBcarZDmpeyuKrZazJbvhzjCGdoyCjovOCeudBhVSRHNdtthysRRAtuHbkzvrZrtyYERcurNLofuVMzKlUEbcJyMJaSDOXhMOdJyHFDDgXDLEkvemvlWOgwvWjQfPBsRCBUNaksYCOAbGDoDqlw", "WbhObFtjnhUenWoGNZKsJaJRESWvoMMtRideXKWrqCXReailDVxOGMniUpxHqkXrztTlgJmFuBUphaMNSEPmQJKHPkhneuwnqfYxtUqRcPepNFLlMrXrpSHcjbEyCLBEaLVcsgNXDBRypEKMoYjbPTRbEpOGLBiHKGQShoegmAsrOIyWDNghiqwronMJRbGILZzawBFnzdDVGoITdLMSbZnRGxJTYZYOisPirqVgTZqqqrWPyqHHSgLHyBmeTbkMtUKhvYtxAYDSSDOJQazkahfpjIhLBMHsoEUIjNMZOLFRBaRSgipprtquPWTwUrxfhFhryHJQtEnWVkmJaEwBsxhIOvKZDErpPvmbkvZmqOeFTSesiiTKUXCrkDJOINhqWcwrrWDEUObCVoryXCFgwHSDxHTFRZSLpwNkUeGpkHOsohWcsqEdnqtOtlclLzRlAstYFjXkhwdZAhSvBPTiuZRmFLKhzGDnfiKOqnsybGFaFhOHtxJxUfNsPfMPgZtx", "pjjrPvFSpuPepTwbFAInKYiKBOCNuQnqcrYYjOqBBNMEgruZhWVAOLQmTXJZddyhmDfmqwainzBsgXmrhUcHaTRXjnXIJnOXRNaAKKGxTURBrivCYiXnhxCswCwWlktVDxuBQNeFCAOJfFOhgaFiAoZBqMjcvLinEkfWKNnCvwRuFqUhvPmFOmAeszfoNvKvebwgdxVFIyBOFAswBBRyyRVykktXMivCkZBPYkbKyTfAJQJoVHFLDyazGtLTMuiDFAKGlYnLdPBMoWvHDiSGjehRqsmLDHpvByPfpAusQVMWglLXjrTNlVrmjWhGcIYaqjFqDrbYwygnbeFeuEDCFRSItYGRhnGUrsKYWJtGTysztJEJuzHYYEBEALbHhlzwDokGwGEJqapqsdxFJmggkWDWwCHdlwvYkYTKgFLioHYmdpykvXPDAprCNaRvwsJOwNQMjubNSUhEBpYpuuvUqCKPZOCQdhjKYoMWAlZLvQFEWrXQQztdLCSXjFlqtIRk", "KqoeXNjGtamMfXRErcabIChlhhpBWauOZYmsOkTWGrrsiZqERpfLhxQgFcqUoeimsMKLhlrPpeEIafMktgEiGBYyHfJuPDpolgSzCLXlchSANdkKzVqQrNKThgCOUPcvDVxYWYbaKToMWbydaLaEOrNvefUaVXTPcuWujRlYQVezqRcAJVxlrtgNiBhDsXKLhCtLxvZKytwYwpMnazNKYUZoRUlrWUnExBVNZuNjsTdOewuuFSFnZPscgGHBWvRcOXBwSgYudgEJGAEyUYjtRapZYqvdYEFYMJtjnpSnFXxCyIeyaKKlvYIeMPyAiOCCwcuPWczNVIKVmcMFHvnVnpmlnKgfTHnmCWJwGGPNskGTITcfhkjgBLzPHrIOUENdPcNpVTgvtxgxqOLeKGCLgGkNAUORMxTRjceflNHtdPpUPMMkvwEUFwPuKygXfPvQuwQIpYdASjJyuzQTImFUbWPKbuJkanvAqxDmuzkwLrobBLSbuTGNrCdooFIsVCGb", "KgafcuEWeFOmuxZItRIlpphgyEwMIlFjMfaQjMZXBFGPIEKCBLNbEDaUmDyfQVnVTFvhoUVdyJoMplFvUQaHyYLVvbgasjrsNOPgFsbQgwtHygxbpwyPuxLYMSDqFkOYvcXPypuZdSLmrYNXXKsMFkWBYKYnZXFQeVOFEifLZCgsKfQxrAxRGUuZNjFzQWNvhOMmVuuHYeyCfDvuwIkuMkNCpcvEuyCCcOcdkjJnONOsCdmtvXkLleCeXsDOhLtrnsKJjJLQHxbeadsvwoNjhWOvhhaoZzziHyBEgkIKUJLyjlVcTJDaDCdfOXgyVrkxaZlCAzvSDcyJJeTtbGJEBOxuATitSFKdomZbNxFSHvXBjexGkKbQykhCcccQzQddVtfWuhsNSZrgMfSKsxjOCCPUpEYYZfpbKRylCdTusLyEdpRmdIbwjjtjiWMnmrqmtfrWiulnJNBmFJXXjkoxJHVLndbekGVLBNFMaGztqrqythesnEIxYKzGruRrvvdv", "HBgANpvnOSnqResLUArvmjxjQIUbUrmlwHKltWJYJybciVpcBVJkvQNnorjoPluBbMXeFymhxBceqynplqttEoqbosdVlDzTYVubvAsKKLBaZBFrwGKBQUqZrgquKEAbqgDyrgZuATfafNadezIkxhdwSidGqLFlBUEygiZqWGCGAuQCagSbgjPiNqGoIYcBlKMwYHrNXxhIdMIYRGqlGxxtVgHvTLzjNuLUDboVecsZOHojbmxXcicSQHOZLGjImGXeXsLTqRoprlwznUKKYusTPTSIWNBKpmLoaRMyaanQXuuPSvQZZTYnglenvIiqGfJBARiheaQDFTkhWDpKntcWQvISHAVCieZDlOTzrpCUVUkFfDGXgffrAMtvVsXiJuutxSVOgDiGrcZXXaBzebUXCYeTfFGmsdXoiUwJiBgKxSbGziDTVBpQUvDYoCJDmoAelqgPFFVrGcYsRmngTAxzOWmPvaJeHTRDjaMCeqvwAiPYaMXftcbLtjPpuVYs", "IVoXnLWtlpuyrulqqplNiLobtceEwDFmfhoYMxzBIhVkVhPfQnCoIPqIOfLUFSLbmQdQWxkgDjMcKGDYusgWTTvWjoQizvEoXNLLPjqeIwWPXooTlxMWDLEvFUeyNEizzODLwgMdvFQCMoTBSouROVZlxRtjMIfPqvnpaIQuEZsqvJxfNXhiOJbAgExfDjPxxCWjexjSGAqveseurxVbHvSBZadJtIreuCeANJfgbTXGluofpWRoNcnKlJcDYwnGFjyBZbaFpvVxofEkimWyrHNZAXFAZOvPCFuZVDdmSyjyeJImvuiztrcrdEERjCAYXgyjOPbGtZqiaYeCgpNEylKSgxjmayhdPcnCUyqreeQJQXhVFoWouTidqVrxqNVXFgejawUFONOECDemvlEGChJzCZFWaosVgnHhTZUYgxqLfSZraLPWoyVBcoRsWXBtmXzdrBLxLzqCcycsdJwPJiiIHgBaLfBoDWZamyqpJuETHVOqYnpprYiVASMZRZqW", "PHQXWVrZasTgRsIqRzydgvKQoSmiEGyIjHcGFjvvepUWCvKsVSSkNKTZbOBFSqzeNsbiAoSKTkXfldpJwmxDeSfXEJwsHnPItBlHHLVLHKqToCvNlbVATCSNxBDprVEeegnTycsJbSQrKZwXEUZMWSHbhTcPRdfPhdSRcojfHgnMzlcwBCwPmKdlISmTICOVFOzpebnBuycZynWGZhRCeGzWGJVVmOeMxKAEPHVaufPOHvdiUGHPijSQXgWHgnNyjKadhaRTgNfBbAZwuuXAFAfYYFundaPBvoXWwgPxfNNQLSTWDIyUAkbcqIOcJupBQjoLlTNSsxuIcmOniFvGJoQmbtoexTQxSyLaQsuBVwpxzSDwNraCchubCUWGNcITzPDHBYhSaqEWcqlamxrfnkUlzPVEbEheAspHjlqKjrgWRHSWqLqIgDgXPpXbbvNGWCkhbvRxoazjXCvvSiHBUulLQrqTZLJOZHTFtooJLJKSgZZOifzrVJXYQvvluQEl", "xZwmAxdRiMYXEnPsOAHqrBiGjwiJyGWQPgxDBefqHpCGrCShRYAOZdWtweawGusVvAOfHEsITrShGVQNYZfSVbpHRMJoELXUPenGlxNzvlRgoxrTiUmlyJtnkGCXtQaJlSrsnNccONLIUjWFzPFjCnMeRTmfbevwfJRbESPBSykIASdMSfstiFZQUQcUsUJhGJfPzVlkwqEjPkidLreVOOYkOtdCYfMZAacsHmErwofLRsaZnfLJInQMEIGrbLLoSbCwZTcDoFEbzCUJyCiaZCSFHucToQIrcyGjnWMoMnrPjgMypIyghrEUdsUeUoyajrHVtbYBkyyqQagZhLyrpKvHEpFceCqhdFnuLrYKSUKGHwJPnpmVZAIvBPgYhdxPvaFQskngyFYutnlPfDWfqdFmQehAoOTCBCinseztHJVsmbkmmygZsYGlWUVAcQnIDgNYNIAbxSgcxnVNoxCdDTyxmNYBuSLpwMCcMOPkBpXOYQzjrJjExMeAslWLzXNd", "ZQIplvCAhediCfqLxgNiRkGgDJQzbMLmzNmiQeTEUvumbGzBKNwWenXaQoxfmBfpFUArzlPLVmTQiOREmlpbBrzEYbSGQSolkkgYFPcdvuupMQRNdOOjkUkAjBWlshrTsWdsHRojnHRURRTDdqNSzyvjRcCLccbXwWIuikqPxJVObFxxvZzOCYMkTGSbUmoorkslYMROdYwnkmekyfxZBavFQIVqjEKvphXgTjlhgMuIDjiDnORTvPknuxTbvPSeUHqrSsUaTeHBVpzEVswRMalEsTmSbTuHMpXLToyGQRzebeFyJLfagclnnyRbOIkqaVlcmJSWmrWOUcgWesEKJVccOHNrfRHjIPslZfwvCuIVeIaqhTwlYdVpJYqPPrvhXnbUMmWNVXbHYNhPgWRcXCksKrzVBoHnzFTTwrZuvgfhYNOlhFEOUVgCNvlCwrNBhbOAvvIlxXEbSchQAMMStNPezguhAuGJaSWtsMfHPwSkNXbvgbKJcxQqcBTaSALG", "lSdFlcoVLaVAoFPWfZOHuvffyootzhklHMuGHEZwBeFKGzsmSeDjUhDFSTaMCyBrlevpIVUtEqNDRqqCeAcJSsvdmdBYvHyBOyCneNpYreeyGdKZlFfVdBZrJPOUGGfbSicFkfIBjNBifjGACPdMvkWehLwjONtFwMjVLPSUietmvSXFmDCCDPmHaxdxqeDWqPJdKdZqoHIRENIjffFHoKROOhZwfmgvQSycaIkWFEBleuRkNGqlJYSqwUaCAtxjMURKEhIMJDqpfvdwDSwLRgcthIdxVhRlEDunRYvnnwXLFODTSoFhaeVdGVDAvRAqmaRGTwbjvuGBdfJGKWhAnXOizWVLKlsFuQxbHCVkIhrBicKjVGSbtLDogAQDoaFNZQVRfqvHwIsKnXNQDkXOXILuMYExdgFpDpcszRqooxYJcDbIqSlABFHSkZovRyHiMpitgStmwjhvytkBheSsfzBJmGwjqDCXvFamQSoNZyBSQPSlMUXyfeIEZWDlnHlv", "gaqPsUvxgJpIiUCyNlUpfeNViVGQCCjpVdBlBeNIkdBlyLITYKKuvaBPhxIUnJtLfavClgxBgLeWAAcRIerxahvOLxNGfxEHdqqLiSshXBcDHvMjpummrThrIaZvESBbrSapnleRpIrKyPkOglXYLPTXrJEPDLHrijGqvTKhUolhlUwMeappLEevuewJgoEUaeRUexbivQNioAOLfHfofJKDuELyFGQoxwdXjfbLEIrKanYATVesWCHlLKViZLaeYekkgJPDGCVQgOlxYQgpVrRXgubCrKrAteHkRRnKadFzrAeEoeRhxGpcCMlWblJcvjbrmSOfPFVKEnCjOHTIiQuvrZvbZwUOzAlvDxbdcuLIomxcdoqLBkHrBvedEurTwraQWJKNmYHPgonWXhjJWVMFyXGhjRfCPkHUOfBuguPZWOTRFBZffhRTDTBijjpufYbCdBTuUbmaFNnkyUnyOHsdmWYnMSdCgmIYFnYqkrvPFLJBOxxHATtelAwHMzQd", "vGTQnFagtAbdhwarPKoBtYRjGtXiQPmfVDYQwaeKOvWWMAHavGWyPruhmcrPsIaALjZbQXnBNpzFUaeZDWBkrlxProSBgaNndxWXnkSorCgHnGIjVSPBAtjLIbUtGlWwMObOZGCHmsVoNfJnUkSaVfwCWUobhKTYQbmAbUziVaQIZnvgbZqFAZWxbNxswVChwBWlrfbyGgXABYYexBVDPzthIIaYthqoAxSjcqbhockXWiYjgAlWmPKHOqDpGyTRVbnLoedCJGjJtSXVujDniqlShaiEkOwiKhFvfuzBQpswriTZTwxyLiqcYlbZLyhtUmWchhgEPeZFuSoGeJauENuKbcSMVKzzbQHzKBfATXMKSGALCRnkDiUrHAxDVuhgbPGgCbExGLTLQwyOjbmUZNpeCjSCVNqjGzZFyHDbShtFUfSDBNycFOLsuhrygDhSijjcjqGpZeWemxcYrvbJDjtCvIxqjxaYuhLseDfaSLiQPugKuznNQClVEKxrVdTf", "aYvxGkeqIzlolBJEqAghgGxBDxXdkrohpMgfLsLykubzplmCNwkCSyisUbBYgOOFfYUUOoIfOTiLwzDHvjAubegrTwDYTbxocWLKusfudBwEKhSqOmPYgIwyLhwtGnNLVGTYBMIYBKOdZLKgCorUHgaGBsmTsiMrQIeQRBbYtNZZRETncFORHUKnmgFohqagEqypFGAPaqeHsulKZqPHkxUCuwpRCKWRzQORFlxhBsCyrtUViSojHUWeWmePTcazxHaysMnpRiErWNGijIwJDtbxYWfOMKQMdLxIUkqgrpisukMkRlndSDOuFNsJnHDpyPNEXzqIRMAbbZWjWviWhBSHOMUFEZqSnIeDygakiRbgFdiYwHpGtZnWGhjtgvpZrQzqvLDIElSVSXpNNcPMBntRMYJJtgtdEwEloPhPXZEvdFWvYdUZeELoiRNKucRRmmSduipvMbatMCmEVXtWKQZzlCANBBiJQCwLUYVSlWHwuXUUqURYqerCsVRljfKN", "NeDctSdELNgzaPnXbGcVorcBhPUffQmpfzmmABPofJwAauZMoUUkhyXGoXvFwRqnkGhyVcMqdrXJcViCTmYblGYCyoRRIqwunoUSHjdzjcHBwbLbuFnJCFsoGvzkKExzfvuWKlsOtpcUAbYlDCbJhtKwPVPnVRCNCNcNkRDaKEiGUsfoGUbpVIrCTzvosOQYgnXnvcimNZvfXEwJHQqLaTllelMVXSoWMsiqvhFIflzYvDlYLvSfAzmXxCXxvDouChDGhxyvJBePUQFOCgtDHrxVUjKHKsbXjjCJQwujcSzEjaVMnOLqWhfJYrGMvcAsMnylwCkbACUrNdhlKvIosBNSaujEXFOSbjFOZFrFvBgmeCnFMbuoWspVSZqNWjLkkuLCCdWkWpmiPqzKXGOkyBbYFnnNRLvrugKkualiNYSULkWPDyXFyOMQEOGdIQRYXSSqqMGTvtIlYnedTKXRGhypfiqSEiJUVyzGbwpnSdBsUrkLmGRZUYpwDutgDfuB", "AqwxWZoBsxLMhiXdKSqXuOsNFwqEcnYEnlGtLXpshmgKTpLzEMQtcDeRlMBKTSzNatFwTkOWoSgDzzsdaSZjIKnGqBlakSWmhlsWcPTVwUNEJgzkNngGNxwqlMGhTgIziybaEGsyqkgIgTPWuFmLDTfiCUCGUDqmnwUHwSZqdCxFWNvNxCYeBmGvULgzKjuuhKkAqEPjWHGfUVqAFdGFWiWDvUbnQHKTGLNtTtVakeHjsapDSSKERDGNDflfIDxQqcBxWYufRotduWzzJaMCqABzoGiaMMtKmbSMPOzIwQGFCCWQPvfMijaovOledpkyFuhHRwdRpxwiPMAhLFlLzLtqAKyjQfcVnEXwvSmVpvUwSEsInNoFLVApcOyAxAekUOxvlKQSbRoUKQtOfCErayQWxWAjmGYeOItLPavnRGsbXPdgltUrnEcGRxVIqQSNRBHsdBvmjLIEvHoQJoGPXyaoTFzGQPVDxSKIEoWcDZCOMknlbMBrrAATonkwKpQa", "zyEItfMlumwIruuruNYBalgvUbNcWWrzMIQXbCIChonoCDHxkzdMLYMrDfmIuhwoDYtAFFEsIBuUkGUVOZpfcGWCsTUpSLArdBRyUAPOIOWLliVXMrlSSyIYhbpHqCZtWbmDcmJHWWIkHATykvCzMNtAvAmMCUBDiwpElxrsPYhlypTcCLNIqplToCZAnmsqbHwOCmcyWYoWuWdxhyWtLpfOEPFxpHZYHfOWZxEUbiMqTDvPNCVRvasPBoWuKEMAMRobjqbvSzlYYoISNuJCZKqenQDZhBxHnrDtSFoZYlqKkYQgHQMLivshOQIwIjTNiogmvvYzBpoNLZmqUFNPSmAeaYtovOfMIpLphhgozGxvRFstdUHztHAqFOSfeeFBZxUYVESJQUVVbyVFwExZPVEQPMLaBDPcBgHAXmIJCiaNeJEvQWQkUlWVEJKqAfKWIOqxbOLtghqoqwMfCfOZqDgQIzGVmBCUCxIgsZmrzzDoCfFXMqazPHUBWAjzwaWn", "aTAYBNembTfdgycrTlgPXzaBepKEnWzjctYNJIuwXdqnWAIEPHCiLmEwaAjnhEipmkrjrFWIAYDSPKNwbhnbFZiEanTLyFcjKesVocvllUkXYuwZoDmpiVZlubceYfdAyLhVuBcQZmsDVYieTvtlPJWyttcNqcGOmkWTZCNLqyoOfExefTpsNItnvabKZVcLgVklOIRMZXYIxfeQXwCSHCRoWDuOMFBHGJZiepwWngOvquVrfaqXDPQLwZWbMkfVwvTIRnUITsqXvkvAllrrszUhHGaKOispRgrbFWdednqSkKcGskUcbkcqIelYSrJxBjGrONCcsCZBDHlnyUwQSWIwCfwIzYVPccfptpCvopsMvKCXkoeTliLpchSHMiAFEcGtyCFnwBBNfVSPZPhshDlLUnmfDoLmGAqLAWIoolSciBLQTtHAPOxCreMziDtHWpsZKMGXNNUdAaaqXSdfpXuMgCwwwEqzOrofhGsfsfPpDQccCRjZGXkoFdfPfKKF", "LPDskkpRUCfNCUYvfUzbIQbaqwMbsGuquygTqOmOxWgzXDNORvWROFhyBPCuMTsLnykoQOsxQpnnPzUXVkutBNJcwLTquRKcbpBqiqeyNdMGKKyhcnwWEFeKXlGmfqsgIquHuKXrczJTeOMBLCmgtoqyqoUZvTpYJeyKeJdAgobdSGtOgANtecjjZkemukdZfQrumiKJOscyCqqigAWevoXrAFdvuqCtPXbGOdISBQdYjxRWynvoYLmVRwkTTjiUNdklwnkVIsfmxmeeTFIHIJOMgIbqLUXOZHfHDDXEgccxulIoBXBecVepkMIMtoMxmJCAfuTBrioIKNMLNbSOqyitAUVjyFyqZXUeTgnbjRzAsdziZcXLMDydMKpAzqRKgReouYJPODZJfoloFVqLOcxSJiBWcrBSVcZdOZkPzLPclJPpoJqnAWrKMXYpddBigpQlfMZGQtHoDyAjnWdgkuQTnfnlBzXNhLygpLJhURoKNvuXHpOEcfbUaHAxyUzG", "PElZuAElryNjoPGpOThEkgQwpZoKKSSnLAzRyUobaroHFovqZWjwplIdAmtznbCSlKxMNBzxuPQLuyVSsHhDtUsjQkxTGIzIQYRAiXDLnKvkrXZwmLvMcyBfMZdtEbyGXytdxxbtFuAisLTOHuRRXhVYZxXQwxKcTwJhkaORaRmLulMGOgGeLOwFxyrXzkZnNRTPfwPXiqvEKuDACPgjFWUEvYsgteyhGACCfMpxBSYrzqtyRRYvxtuywHIwvKPCLlsFCjHRhDkSkBhbAPPzcrvXUxRiZhSosVLHeGrxOgwCykcEouOgMshynFGarmProNzibCRxGnBPwIPtuRlcOMhEQKNNefsxHSjRzPIZTLybEbIbgxmfrlyAYvZKKXppHcpVNBpYANgSvxCUvuYRlHYJyFxulyDFziikejQvXCCwcMflsnTuUxYvqTKBtcghPdprVKAVxWTtIVOfgOXumdprAzRyKXKWGzQQMklyTSuFAAiZWYrVbYEGVyRqMvHO", "rnjHGEwOtgyCuMYbISAYDAibRhOgmLmiSfNvklkVNNfZsjuEBiWiupnSPFhVzDUjcwnRlpfbJOXcVNzQrEpIHqUJoDqEoTQTWRrxFSrgesbgfmIiaJJJBBJpFUzmUFIOAIkCOaKAtxcQyRequqfhlYfPQeDraSsMpfSIgKRnRpmcWmhQtJxMZqaLXLcaQrEXUpEBNLSnUPNVHYrWIWpxwnhKRUdXgrKKwISAjsyHlkwlZNNlCIrBVHypqzyxmtXalaiIgdiqwYdLQbCEGbNTxFLsPeSxdXaHDHoNbMvVuqKLDuNgFiGZDkLzHHWdWpGSJlFbxtFhczBmICaEaNztgWAbjYMaEZlGYPbIJcIPKTwBdhxKBoJlLwPYjKDjGVUqglSgvOBELAgqschwQxuPLQcOaOGezZHboHaLmdjoBcNwotORoGdgXKegnrpIwAurdrEOLuBKwfeLrDLeEHtAkCjfykrUAptYmNRPLJomgDoWxfQdqcHrwWnJoMlOuleb", "ldsZcoLtQPzlORAtERHpDhpjmmATINbxChvNVFrklsxRHpdCPGnjCduuoIobhLysNzyqzbWRNWJHvPlxGVNwRhBPdkRuUIUDdzolutfojGlKLVYkiEyvfhOmLhmDJuVRpYhSlCOAvUvRuDjGSvbXLYZOHfGPMQokZqmkESKAuygiGuvgbeRdLINNdjTlTbmmTYEPtWXDvZhkLSmuJBcVNcMqKmdLPHqTfkSccqVXGKyKLzcavZvRNxzKXgReYMmMrfLqTpTvmCWGQFqAsWEEkFRJgpmXvRwYamWgrCEjlAfcSALhvIZuZbgJWKpgsyHpwqmHAeEFfokLeHbMjnRJMZevdiNrvYlKzTDYqnFcrCUyTlwzmmjwRtWlwQJnSsMNkAIfqPKCBsUhtJTENAyyHVjijWpQvIxviydTULkXClTMDWDznvPQUpuoiUKGOYvLVAGIJUTYiruJoCfoqqrmIlhTalxHuSjrKWZNvHJVwchoQQTIUdGoolrLBfieBpHI", "sRuGZvpBuueJxwSEHWSoxvxiwjfTdagDzzOkxzWJPRllPWKBGmlWxNZaRncdRtfPgpHMNvcqehbtITmjMRxddTBXUybQjFWDWCtrZaxftxrDEzWDJKyLBBnDAsVRNgJBBBZrIpfbhhKMbdpoexqxOINgFNYNLjvHiirQfOKHHJjCdIgnqXdPnHhGuczVeivyLZmSqAGJSkkCRAztNLAFbkSdAhwHkksuiRzctYTHgXmNSlRBssaOOqPBIDLGHQbaKJMvwOixYnaCakIdItTWZxebBezqippUYEoIpfKjbHKHYNjkHHQyEjZzxTObQwNywGQFAMNxliooRacoRoGzSyCYqESeTPAaEWqCWDBABrwtchCEnKoqmRyWzxRqYuLYTADpuEEwFeZYrbpUzVMRxjZaHnjUdJEfCpxreWYkYDvTGFyMHkNVvMdFRajfShApuKyZoyjHHVhZPrTVpYYBSQqOxoLawgDyJfbkUsiDhnbTtvjAjlVtWwMAXbzuBwCj", "SLyXLiMlWADwzCGdniybOQzXegxKcNizOhcImcjYzAXkUOELWWJmvMhsibgVqVmAoPScGUjARifZBNmfRENdeqqVQaKKJLSOIpLYoSITsKmRqCwszxarMaHragKsqpjgHLxzWBdymLpRleDVqHuZIYxtSqOBewAbFjrvjbNMeASaJBKtRJtDwjqVKhbaOMNPJVVDNKzOsmLgItIGDfxNpsprXNgfyKznXsohOeNwbPNbJmUbZQOAFMFcSlGlXaaFuWDsllstkbNkEcRVavaWeYWAYhSWQUxAdISKvUgEgCDGjoxtwctZGUnNJqHLxjHyYneNxAXelcuQUhVCXzgPrOESRQuefCzypOpUTgPWohFBusvdYwRVexVylJhzJWdVEdQJMtVgUmyPselrnetxBpkjzKNaNZuDOWuFYFaxEORGaMVJumlaXMdPpHcakuXRSkVBfxgTluKgWskGphTygbqqJhKnUmevZEEIsaizTtZcgYLlvnZWHclZyAMDUsju"],"c_json":{"car":{"type":"Passenger car light","fuel":"Methanol","transmission":"Manual","brand":"Seat","model":"Xterra 2wd","year":1970},"phrasenoun":"a library","hackerphrase":"Use the redundant SAS array, then you can load the multi-byte hard drive!","phraseverb":"carefully cut the distinct company healthily down the blushing staff","filemimetype":"application/x-project","creditcardexp":"11/27","longitude":-103.225435,"company":"Altova","beermalt":"Chocolate","timezoneabv":"AST","noundeterminer":"her"} }'),(2,null,false,0,-74,92,0,-16204,32767,20913,-29075,1337818194,2147483647,0,2147483647,32679,-4222980,20240803,300.343,-5875576,-6550679512708188374,59.594814,20.865826,24.40045101302372,300.343,20.1494,null,47.0687,40.123,100.1458,34.1308,45.0376,300.343,null,300.343,95.0790,300.343,40.123,300.343,100.02,23.0484,300.343,2.1058,300.343,15.0689,300.343,100.02,94.0217,63.1335,null,null,40.123,300.343,{true:false, false:false, null:null},{true:false, false:null, null:true},{1:null, -128:-122, -77:-96, 66:-53, 85:113, 80:0, 8:83},{-12:1, -55:-128, 1:127, 117:127, 4:9, -128:1, -43:93, 127:3, 0:127},{-22290:null, 0:0, 245:23373, -31343:245, -32768:32767, 11189:-21383, -19854:32767, -28528:-32768},{-32768:-32768, 32767:-32768, 245:245, -11018:24410, 26389:245, -22205:176, 25356:28423, 0:245},{32679:169776592, 1535946380:-1967953687, -1834059233:202773195, null:null, -1582365728:464676506, -2147483648:1445164487, -1756002421:null, 2040700572:2147483647, 887788877:-2147483648},{1608682101:-1876117960, 1293693852:147483648, -877825711:299141448, 1303754899:null, 147483648:-2147483648, 1659715850:null, 0:113002934, 1833265356:32679, null:-1251700116},{300.343:7487395373110071154, 20888:7679924634279846412, 1285470:1, 32679:-5998359573617825562, 1:1, null:147483648, 147483648:6290631092700321844, -7740265682746271346:20240803},{0:1, 1:7214542396341042896, 300.343:20240803, 9:-1624638, -9235:1, 1234782705507761432:null, 245:20240803, 5937149:32679, -5407302:5813819},{9223372036854775807:3415226501678920040, -2145194271:-9223372036854775808, 147483648:-7539774142625275478, -6028836:0, -9223372036854775808:0, -7095223:3351782, null:5743665, 4829404120072799017:-9223372036854775808, 245:-6824136661873311866},{0:559487, 1644253292573283211:-9223372036854775808, 245:32679, 147483648:1, null:2801453821638687730, -8883536705923902092:245, 8334045724004729990:1, -810513:9223372036854775807, -9223372036854775808:147483648},{40.123:300.343, null:29.181805, 2.1979532:40.123, 300.343:13.218045, 100.02:77.81274, 54.427742:40.123},{40.123:100.02, 13.383191:52.546314, 88.69866:23.310759, null:100.02, 60.789246:14.515085, 91.92295:null, 23.9002:29.291128, 92.92692:40.123, 17.923803:100.02, 52.31319:60.066544},{100.02:300.343, 23.298005560212044:40.123, null:56.060223896835225, 94.95512775520952:21.964462257576503, 89.59579288601665:100.02, 40.123:40.123, 9.212258440123644:94.66613216446646},{null:63.42500480093003, 40.123:null, 35.35145807492778:100.02, 47.809363335963084:40.123, 100.02:90.87183467713882, 81.37459334579127:300.343, 33.35049178186243:54.442311838009, 63.378170763869036:25.712530693674342},{40.123:'w', null:"300.343", 20.0064:'not', 99.1812:'you''re', 27.0935:"1", 85.0126:null, 80.0739:"2024-07-01"},{null:'q', 53.0028:"1", 74.0757:"20240803", 100.02:'a', 40.123:'g', 300.343:'r', 73.0077:"2024-07-01"},{40.123:'well', null:'was', 100.02:'l', 300.343:'c', 67.1046:"2024-08-03 13:08:30", 83.1643:'his'},{300.343:'you''re', 40.123:'a', null:null, 100.02:'right', 86.1869:"1", 83.0893:"9999-12-31 23:59:59"},{88.1691:"0", 100.02:"1", 62.0036:"2024-07-01", null:"2024-08-03 13:08:30", 66.1183:"0", 89.1357:"0", 12.0180:'some', 40.123:"300.343", 73.1142:'u'},{2.1564:"2024-08-03 13:08:30", 21.1669:"1", 44.0251:"2024-07-01", null:"20240803", 62.0707:"0", 300.343:"9999-12-31 23:59:59", 100.02:'r', 52.0870:'v'},{16.1061:'z', 40.123:"300.343", 42.1404:"0", null:"2024-08-03 13:08:30", 69.0802:'f', 96.0224:null, 99.1235:'b', 100.1534:"2024-07-01", 61.0814:"0"},{100.02:'mean', 300.343:"0", 35.0453:"300.343", null:'i', 40.123:'m', 48.0629:"20240803", 75.0596:'m'},{15.1872:'right', 300.343:"2024-07-01", 50.1493:"2024-07-01", 100.02:'is', null:'be', 40.123:'what', 50.0118:'x'},{45.1913:'y', 52.0319:"2024-07-01", 40.123:"2024-07-01", 40.0553:"0", 300.343:"20240803", 79.1926:'t', null:"9999-12-31 23:59:59"},{100.02:'e', 19.1906:'it''s', 17.1713:'z', 97.1225:'think', 31.0014:null, 25.0418:"0", 41.0380:'and', 53.0178:'okay', 64.1302:'d', 300.343:'r'},{52.0693:'we', 100.02:null, 100.0073:'we', null:'q', 66.1745:"300.343", 82.1799:"9999-12-31 23:59:59", 300.343:"2024-07-01", 59.1475:"0"},{null:"1", 16.0277:"9999-12-31 23:59:59", 100.02:"300.343", 40.123:"300.343", 300.343:"0", 100.0545:'o'},{100.02:"300.343", null:"300.343", 75.0538:'n', 31.0831:"2024-07-01", 73.0656:"1", 40.123:'time', 10.0901:"1", 300.343:"0"},{"9999-12-31 23:59:59":false, "0":true, "2024-07-01":false, "2024-08-03 13:08:30":true, 'd':null, 'b':null, "1":null, 'f':null},{'r':false, 'v':null, 'be':false, 'u':true, 'when':null, "1":null, "300.343":true, null:true, 'y':null},{'that':8, 'x':-16, "2024-08-03 13:08:30":-110, "1":67, 'a':127, "20240803":-128, 'b':39, 'can':-59, "0":0, 'j':-64},{'me':1, "2024-07-01":0, "20240803":0, 'it':-43, 'i':null, 's':127, "9999-12-31 23:59:59":-77, "300.343":127, null:0, 'if':118},{'p':32551, "2024-07-01":17379, 'w':-2681, 'okay':0, "300.343":-9189, 'I''m':-8323, 'z':-21268, 'as':20061, 'had':32767},{"20240803":-32768, null:null, "1":-24871, 'had':245, 'p':30324, 'a':-17844, "9999-12-31 23:59:59":-1138, "2024-08-03 13:08:30":0, "300.343":32767},{"300.343":-2064389174, 'what':-2147483648, "2024-07-01":-636280361, 'have':1112411408, null:-805333750, "1":0, 'd':32679, "9999-12-31 23:59:59":1682127269, 'here':1588085650},{"0":0, "2024-07-01":-2147483648, 'c':397111053, null:2147483647, 'x':-2081816199, 'p':1916155158, 'one':2147483647, "9999-12-31 23:59:59":-698000385, 'd':-1755723464},{'i':null, 'q':147483648, "20240803":1621145980788129441, "2024-07-01":1, 'n':6627881307166927626, 'c':1, 'z':20240803},{'on':147483648, "2024-08-03 13:08:30":1, 'i':null, "1":147483648, 'want':null, 'l':null, 'e':1, 'don''t':2, 'here':1},{'really':245, 'h':-1899606039, 'v':1, "1":-9223372036854775808, 'o':null, 'l':9223372036854775807, 'of':-9223372036854775808, 'e':-9223372036854775808, "300.343":null, "20240803":-1908759924},{'w':1422450746, null:9223372036854775807, "300.343":5739714, "2024-08-03 13:08:30":-362773117543042996, 'out':0, "1":null, "0":null, 'o':-3627640707504462219, 'up':8160089190941611372},{"20240803":88.718254, 'q':48.927032, null:300.343, 'say':null, "2024-07-01":300.343, "2024-08-03 13:08:30":85.70938, "1":300.343},{300.343:42.667385, 'z':40.123, 'were':100.02, 'then':73.46584, 'don''t':null, "20240803":300.343, "9999-12-31 23:59:59":100.02, 'y':100.02},{'want':54.51890981152251, "9999-12-31 23:59:59":64.25406063276645, 'who':24.074411822762674, "2024-07-01":70.44227148266235, 'x':40.123, null:300.343, 'h':100.02, 'a':100.02},{"0":80.59985182246265, 'on':300.343, "20240803":null, "1":7.286118897955261, 't':null, "2024-08-03 13:08:30":300.343, 'do':39.629392911925706},{"20240803":66.0134, "1":300.343, 'g':100.02, null:300.343, "0":100.02, "2024-07-01":40.123, "2024-08-03 13:08:30":null, 'we':40.123, 'p':300.343},{'he''s':8.1017, 300.343:32.1180, 'but':100.02, 'something':300.343, 'was':19.1341, "20240803":40.123, "2024-08-03 13:08:30":75.0461, "9999-12-31 23:59:59":38.0832},{"300.343":null, null:50.1584, "20240803":100.02, 'not':40.123, 'j':null, 'do':100.02, 'but':96.1020},{'hey':40.123, "0":44.1631, null:100.0219, "2024-07-01":null, "9999-12-31 23:59:59":null, 's':null, 'c':58.1135, 't':300.343, 'p':51.0883},{'2001-09-10 18:26:11':false, "9999-12-31 23:59:59":false, "9999-12-31":true, "2024-08-03 13:08:30":true, '2000-08-11':true, "2024-07-01":null, '2017-05-02 05:40:55':true, '2000-05-06 23:59:27':false},{null:true, "9999-12-31":null, "2014-08-12":true, '2018-08-13 06:29:09':null, "2024-06-30 12:01:02":null, '2010-09-20':true, "2024-08-03 13:08:30":null},{'2012-04-09':null, "2023-01-15 08:32:59":0, "9999-12-31 23:59:59":43, "2024-08-03 13:08:30":0, "9999-12-31":0, "2024-06-30 12:01:02":7, '2006-04-25 11:29:03':0, "2014-08-12":127, '2013-03-01 04:22:46':0},{"2023-01-15 08:32:59":-87, '2008-07-20':8, '2004-10-19 02:24:52':-128, '2012-09-11':127, "9999-12-31":-128, '2019-11-16':120, "2024-06-30 12:01:02":-97, "2014-08-12":73, '2013-08-09':-19, null:0},{'2008-02-21':-7631, "2014-08-12":0, "2024-06-30 12:01:02":245, '2006-09-14':-7331, "2023-01-15 08:32:59":-7468, '2007-11-01':28015, "9999-12-31":-32768, "2024-08-03 13:08:30":-11832},{'2008-05-15':-28157, "2024-07-01":-5899, "2024-08-03 13:08:30":-20960, '2011-05-16':-32768, "2024-06-30 12:01:02":-10538, "9999-12-31 23:59:59":-25606, "9999-12-31":-3251},{'2000-02-28 17:15:42':1154167858, "9999-12-31 23:59:59":0, "2024-07-01":-218511460, '2010-12-21 19:54:16':-1769940832, '2001-08-20 22:45:07':32679, "9999-12-31":-1834483079, '2006-04-11 14:49:41':-2147483648},{"2024-06-30 12:01:02":-392708173, "9999-12-31 23:59:59":1154355490, "2023-01-15 08:32:59":147483648, "2014-08-12":147483648, '2004-11-22':147483648, "2024-08-03 13:08:30":0, '2016-10-20 16:20:40':0},{"2024-07-01":32679, '2011-01-15':5, "2014-08-12":20240803, "2024-08-03 13:08:30":300.343, '2014-06-19':245, "2023-01-15 08:32:59":5227053, "2024-06-30 12:01:02":1, '2000-09-11':null, '2005-02-02':-10189},{'2006-07-08 16:33:35':147483648, '2001-01-24':300.343, "2023-01-15 08:32:59":245, '2012-08-19 02:59:50':32679, "9999-12-31":1256471771030387975, '2013-04-06':1, '2001-02-03':7787794, "2024-06-30 12:01:02":20240803, "2024-07-01":32679},{'2009-05-26 10:08:01':null, '2010-08-05 09:23:37':1, "9999-12-31 23:59:59":-5410174, "2023-01-15 08:32:59":8395543478131769608, null:245, "2024-06-30 12:01:02":4338327457637262350, '2011-06-11':-7552528924532771804, "9999-12-31":4852991578602338981},{'2018-11-11':32679, '2013-06-02 20:17:00':1, '2010-09-23':32679, "2023-01-15 08:32:59":0, null:-3247705221879701445, '2015-11-25 14:57:38':32679, "2024-06-30 12:01:02":3511120, "9999-12-31 23:59:59":3965068199177695314},{"2024-07-01":300.343, '2014-06-02':7.6201744, '2004-02-09':300.343, "2014-08-12":78.49898, "9999-12-31":15.945466, "9999-12-31 23:59:59":69.73336, "2024-08-03 13:08:30":77.4932, null:7.5426135, '2019-03-28':46.10719},{"2023-01-15 08:32:59":300.343, '2000-05-17 08:55:41':40.123, null:16.310722, '2009-09-03 14:24:17':83.97378, "9999-12-31":68.645836, '2000-12-19 04:12:19':null, "9999-12-31 23:59:59":null, '2011-06-17':98.8706, '2000-10-02':10.220483},{"2014-08-12":300.343, '2006-02-11':66.96250000866664, "9999-12-31":300.343, "2023-01-15 08:32:59":53.72407471321925, null:81.56665804445198, '2011-07-17 17:01:06':88.6167864800925, "2024-08-03 13:08:30":40.123, "9999-12-31 23:59:59":100.02, "2024-06-30 12:01:02":100.02},{'2013-01-19 09:36:23':70.40541141679822, "9999-12-31 23:59:59":100.02, '2009-02-14 07:13:47':85.423392974233, "2024-08-03 13:08:30":64.63693697733369, '2012-12-23':100.02, '2010-08-05':100.02, null:31.161076112559506, '2004-04-27 08:22:04':50.46237043569238, "2014-08-12":66.3697891600234},{"2024-06-30 12:01:02":40.123, '2002-03-21':31.0877, '2010-09-03 02:03:11':40.123, "2023-01-15 08:32:59":100.02, "9999-12-31 23:59:59":100.02, "9999-12-31":300.343, '2009-02-25':null, "2024-07-01":null},{'2005-06-02':100.02, null:300.343, "9999-12-31":44.1739, '2007-03-16':1.0611, "2024-07-01":40.123, "2023-01-15 08:32:59":56.1445, "2024-06-30 12:01:02":1.1859, '2013-06-07 19:39:06':null},{"2024-08-03 13:08:30":null, '2006-11-18':null, '2003-09-11 21:16:13':40.123, "9999-12-31":31.0364, '2014-12-25 05:49:04':62.1168, "2023-01-15 08:32:59":300.343, '2012-06-19':100.02, '2004-04-28 21:21:47':300.343},{"2024-07-01":100.02, "2023-01-15 08:32:59":58.0757, "9999-12-31":null, "2024-08-03 13:08:30":300.343, '2004-03-19 12:29:17':40.123, '2007-06-26 12:45:32':57.1610, '2003-09-08':null, "9999-12-31 23:59:59":16.1100, "2024-06-30 12:01:02":94.0652},{"9999-12-31 23:59:59":96.1362, '2008-02-13 23:04:56':40.123, '2009-06-23 11:32:33':6.0333, "9999-12-31":85.0597, '2016-09-12':100.02, "2024-06-30 12:01:02":null},{"2024-07-01":null, '2015-09-11 20:52:47':40.123, '2008-09-28':null, "2024-08-03 13:08:30":77.0221, '2018-01-07':100.02, '2007-02-06 12:54:57':75.1736, "9999-12-31 23:59:59":51.0103},{"2023-01-15 08:32:59":300.343, "9999-12-31 23:59:59":null, "9999-12-31":34.0390, "2024-08-03 13:08:30":null, '2002-12-28':58.1897, "2014-08-12":40.123, '2013-02-11 14:16:06':52.0245},{null:300.343, '2019-10-14 06:46:30':300.343, "2024-06-30 12:01:02":null, "9999-12-31 23:59:59":40.123, '2008-03-21 01:17:56':300.343, '2003-08-10 03:09:07':23.0532},struct( true,127,0,32679,15437,4109303,null,87.73720265158639,99.1131,300.343,59.0868,61.0732,43.1643,100.02,59.0172 ),struct( null,127,-32768,2147483647,147483648,1187123573,null,91.51207224273435,300.343,99.1255,83.1607,100.02,62.1104,92.1680,40.123 ),struct( false,-96,32767,1670765380,-31204,-9223372036854775808,60.886673,300.343,18.0832,40.123,32.1790,12.0812,61.1205,98.0238,44.1284 ),struct( false,1,-7448,147483648,32679,525872535,30.552052,40.123,300.343,40.123,5.0748,null,null,300.343,300.343 ),struct( null,-87,-15311,1854398472,-21736,-2034633023,100.02,null,55.0265,100.02,17.1983,97.1891,61.0522,36.1182,40.123 ),struct( null,127,245,-844204748,245,423126,75.73291,7.153428826084822,23.1178,300.343,40.123,null,300.343,40.123,71.1982 ),'{ "c_array_datetime":["2010-01-20 21:32:02", "2000-07-17 01:56:39", "2011-07-28 08:47:48", "2018-12-13 05:54:56", "2006-07-03 20:20:57", "2006-04-04 23:47:09", "2000-11-03 18:48:42", "2010-09-17 17:48:26", "2016-01-07 13:32:12", "2006-07-09 15:57:23", "2009-12-18 12:03:45", "2012-06-05 06:54:12", "2002-07-02 22:53:26", "2002-12-04 02:31:42", "2004-10-25 20:20:41", "2019-10-19 03:37:21", "2019-02-04 05:59:12", "2008-05-17 06:32:00", "2016-01-25 19:06:08", "2015-08-08 00:34:15", "2007-03-20 21:01:28", "2007-02-28 16:52:30", "2018-04-25 00:39:03", "2016-05-07 04:58:43", "2018-06-24 08:20:05"],"c_map_bigint":{"c_map_bigint_1":4075345130510188562, "c_map_bigint_2":8143830482850967255, "c_map_bigint_3":6709523150059488758, "c_map_bigint_4":3038559730508631041, "c_map_bigint_5":7476257374891067640, "c_map_bigint_6":3263929590661366712, "c_map_bigint_7":-4287622706419863025, "c_map_bigint_8":2788155263036157834, "c_map_bigint_9":-2100192201747951371, "c_map_bigint_10":8686007265576103502},"c_map_decimal":{"c_map_decimal_1":81.0270, "c_map_decimal_2":85.1342, "c_map_decimal_3":31.0157, "c_map_decimal_4":9.0016, "c_map_decimal_5":45.0499, "c_map_decimal_6":53.1916, "c_map_decimal_7":60.1054, "c_map_decimal_8":99.0925, "c_map_decimal_9":7.1782, "c_map_decimal_10":94.1312},"c_map_float":{"c_map_float_1":22.87101, "c_map_float_2":78.70475, "c_map_float_3":10.579761, "c_map_float_4":44.055622, "c_map_float_5":88.01572, "c_map_float_6":55.926716, "c_map_float_7":35.193657, "c_map_float_8":23.290754, "c_map_float_9":83.932556, "c_map_float_10":79.18651},"c_map_char":{"c_map_char_1":"QbHLdPOmaR", "c_map_char_2":"tcBAMUSmPL", "c_map_char_3":"jGeEMPcrJR", "c_map_char_4":"VaGAMcoqNS", "c_map_char_5":"onCcUoUrmc", "c_map_char_6":"WFlURUukAm", "c_map_char_7":"pZjDsIvDza", "c_map_char_8":"DcYRUNVxhj", "c_map_char_9":"yFjnuAYxxi", "c_map_char_10":"UfHBeMbfBb"},"c_array_tinyint":[110, -42, -124, -10, -87, -55, -97, -61, -49, 40, -22, 61, -79, -57, -70, 33, -73, -72, 40, -100, 42, 81, -125, -50, -120],"c_array_string":["KBLuxHLGGkkoOsnmDpzgaBSITFGnUoAknxURJxKxOhFXdSEaLJDyxWRdiDGHMagrLnYSwmXDxxFRybopNIQyFCQRpHSENNkoNVOrvNAjezkstzqEhgxHuJkSizBOskIfomlQyBMLQseVxdbGxMALwUzomJbMjlENewQIxYqvVVoijrMuzYzzfgEbclCFdQZZcVUlqMilHQrNPrmNiToDJLRpbHzZABNZxnOWAYDitMXEdDnYxRpLhRhSksMsnwftVnaXPKmWbJrsgsEzoBRsWAjYFqtkgHgVFvkMakMxRzTXnvVLQeQtAFYZcskjCOxQjlYbnogAcFVyiVNQkdMsWVIMcYaIwphSPFzcqxqsmEFgrPKwIvtGYuZGzGjImBoGzriTsPKiJcjhjidVxwBCllGHSuTUfpkiNgJufFcmXZIZtlCYwGoWFQAFvgtSrzJBARcRFfNasSYseusiZWFAARshtYQUkBcTZOFFQflcMRhtBejIHMHdcddhRFJNJZfJ", "sIlFEKZeveDIopZRwkEKjbSMGGDmRQzWFMgfyRhoaaHEdBTXiKqGSfjPUpSFTjHQEvmmGSelJHIElIjofpGaUCsMelGxLbGxLATTGrPlSmLXDosdTahXezZVfmBoUfMLdKARIUxgbgKvVebLfHGzJBtdUnEBjlSDKHJtaIFbMzTpMzQbVpuQSNYKPOKKHarmPcaAtqWAPieFCSacDFYseQWuKTcxEUrGgxYfgfwrnRbkhHAKtOjtaBhVUcmpuZndbfqeKGzbRGzXAJmEHKlhPdZOkGgfRPfrnFHamtHkrgrVplQxeIPnZcpFFUVZYUljlBrWrnuTjCpRXMbcDVtdqMHteFMHhZMhSamFZmaSliDabjeEzDAwUGptpagzTjyasiPvTCTUfSRFAVriTwfJFKlxcbUfNqwPBVfqUOtblczRXYosCMYtxoqYUWCDlVTCLHYXybOjafiLjoUbpMaWoEXvXtcNdpDKgKkDFwdiETIulrADJpRxYQaUwoXLkkJi", "KqOVRikWvKXVihzhOkIsyDvohubLJEBAdPnymaJdCkxYtvXmmhmuUtHMBOSnarvXREdXXYsioYRdLXVYyyxKIHLhpqHHmnhDLwmqBMwYHkwSkeRCMIMdEQCZVopvYXMmbrbodQxnWFnByzLwLttLSAkKOaKowFMFXRNkNzQEQApqryiRWAYeuJkrEexzdTQemnsiCKZsTheUbjhLSQRMrDerrRiwrtjLjajVdYqnHWKAzNgSJeMBlExmeVrcnuJZRKWDiOtByjkKCEHBqSvjMTyPPXpiqcnEPjhJxPsXOGWqtxNWSzGiRJYaxhRGrHLtCvcnbshBYfvYTkbdosspJXsdjIwNZxPuxBaJcrUcvoQyMjZOodhCkXPdVNskbqTpjkXmqttBVVJyZAzCqnjZgsziAezqnAqEnrpNJKSHuTdglfrCSqaJdUiFDbUHFlvGGGoOtsOTzsOKzwZmmjMYNpnuVMDXFwXsfmysJEqrfAYaEjdisRhPRuZCCGKCcNSg", "wWZNDcjlrEKEgXcnHSQIwBMQhAwHeRROPtBWxlGdOACyUssNlFmNUneAqicVsSyGUkhJeBYGsHTMdAyFPAlMQbVIYNJwoYGNyTumrlAjPdyQsGxQNUHswmjZNkobIpbResHQKsFljfGmEudEQqjuguezuHiZxDDIvkBDLsePJSMhYPjGtlfGhTjjCRfCgrQSFRMvwQaifdpTtMNcwcSdczYrHEvfDEPMWDOKMkPmuApWJxxTkpVavLhyXRqdkKaXnDPBTzyjMdJSstNqeETOPHFBefUSpBBmQgRuPiSzkHoeQGOihqwCJLTjYGubPchzPRQJbtmAxsicCvcyRKSUltLXPeWFaTXyyZeyeWaTowVpfoHVerEkJqvGPMERUeqwQYcUJWakjHwIydQRXNELcZudaJoEOvAKQaBpdLHaGfieYQpPUfmUHfLXcnZlxFlbqSLceGLGsUSCyWAfzfFwBXoIvEAzVwoQKdLtiTGFdFEbRQRRWaAAAbtQRttTBDmW", "lUpyiLUsnLFQTsCLmXFAqiWyefSxnqGGorLAaVhuFsHEuvVKORUkSmiEFYkHmheNBZklbJwFHUMHutSuOgIrKOCEcjPqLJiIyYNXAkeKfaqaFkXTJjMJvfkLYzInjUcXGamFyKZWxbwBtDQdInpLBUcTDnlZqSOOgFDfOZGHCDQExkkrOFAskWiIWQZsTnbAZdqiAbZQTpAKXpeocMZMJOEprlpTlXMekpTdFODDJdXwsIsrulQyeLtKxcHWzMrhnRcNhbSfiCAtPQPosSdWrKhvIfvzQpOwAuwfilaBOMzggVTHyaDXqszHZGHubwZJltUBuOwQqfXCfVaEmEIoWqQfanBcYNrGZexHODzEUTSmkBedhBfYpqaEaUappbrRJJjCdgJXvSNrFOXBvVZiAwwGaJFknfWdNQuCkHOBzKMsVXfrHYcfYxxdZHVonkqzyAdfepyXVBhNpOxvjyIpqAQcRKsNLLHPYjyQIevdMtyZJmTAYJhidnvmoiYJEDUs", "EYoOuUXSXYlXPgjumywDxgwVaJxyaZElDZjCQKQNBoSNxUCnGoTFMudyiUAKsCIIFcQHkHMghbVXCpAsStWWRbNqbwmYaLFtXZGhFIZAZFdlvvQdTaiQhWNeiKebAYXzjhnpYkxdFAoSYJRgMFXoMysImsRjzBPCOXTRyKAHDCszbAfzbVDHzOvErgSdmrVcAfcMnVemaIOurDFOuoYUlyjzoiqTXnfyGxMuwVavXogEaRNTgIsdGkVMADUJgdgiYdhTiTAdTmlsTPmdOEXvSupzIKPnpdbBZagNRbCXlrzxDNOpZDJTaSvhIVxamjANhAqfykrQxfWyrFmxJYVyFiLCLRSXYGIbByUMfFkpalSaSZYdtUcNHMcHFnPkSTAsjvjnGmECQofFKMsWxrOreOUmtaxRHobPQOHiQfxjjkfVBOZRHoVxmaBDhnUETCMMFincPVOVaaHETonHNDUGJCbfGDlbwrBOWtdDPCWrCFzzUYwYKbinRDyDeAuKdsuq", "tdkeTlGeNLlYmZINmKXUOyXXIMDErLxwCnqJvTfoEiyLQquapCnAQBIHmbwjmQjvSQsdVUiVBkfkSwxinDCcXehctnaXBneWlmhinMmHmwgvpAPqwRkhQaCumrSuarKFKDoptOGVBVXKBuznwrzFDCxFzwWgHwmiXNWNZjzFWwLVpIwfxANzMTgvRPQHrOpglOmNzThAPpNQgJdagiIchSpeKRdxZKEKvKYxMnXADLqJKJScVpaZgkhGONqkxIOBLVyJCDJNkMPRXKRfbCsiudrXsTiCDegfeyqjOsCQmptrPSWkIaWYXMLWJFNAOMpZTOgjRzfPWgOYHXSpROtJnWTDrUxtcKvMUDPPnaOruYvWdtkcaKPSQNemJEaZRPcLvKbgOrqDryijxzwGyYvewRktONcXfWaPeiMGOHDiBcAhwQrBLZPXqFmKQjbTuQTCwEBHEZNMvHdJpWpEPuXmBuRrlGlTQbJOOhwIUKYBBdFOrDOjrZvYApqkUJPDTAWO", "aMsCPXhDqvoBbDkILjIgQDMxuNOyzcCqGVNtvVdvLWXUisxikjrsPkiPgcXXmzsJBZRvqCsjqAGtnNiwtQrVOwRGsGWRzytcroOSmmhlkaraiLHGvAiyYcKfGgkudkorUzOvrBDvcTmweGnZbSQqqfjrEoEArqEIudxcIgksmJkNIKyeMtEhMfGaLNBrxIkDAjpCWFdTVbeMKJVpbVdMAZAXDXtFWqEtDYNYZvEahDVoCFbOFPpAKlavQXZYCIysDGUUEPtraOnfdmfccIEzGoMCVFNASQFkOOHSGkVjXBOvbvgBTwsjzzpUPnZzvtBdTQIKsAXxBasftLASUhxnfHEhgWMtwCIksiKMvrzzJswyVBUfUTYWIjzOmpIEsPMLRqNPaaYMfQIbapZhMIaJtDlPYHQmhDXRVqkRAyVTaISWUepVJaiKPPUHGJNXMkgRWPdiLljDXreEbGBiMsonLHYVAENOyEgoUkFCxEqvRgdbjiLoFSZkAXZNCtiSazkF", "PnsngvbzcOeWDkBQyggbITZXuXyeFmOcHndwVZcriXVXzEpELSmKUQsIwwTorfWGQfqGYfGycaJJbDgFcOnHIRWyNssympIQjNNvyZmIFzzohhwYnqImHSQvEfvIzYFVrQhfDgxEoIFGfCnOwBmnDqPpbRlLeqLWkJSlCKtNEiaFUjQoVoKWFAQEeUZBXbpDnikoXMcctDGUkfasEWzyvHBrrESHfVMSxSHpzEtRVrMKVESXHblORcKUDCltmAmtfNXnmMecLwSCwZlpFhWKMBHpFioskJcTEkiHPmkSoHVFMBMfvpyqdJhiljDAqSvWFhFhnzInFyMtrluIcCdKTitACtWQzbDPhbkGSoOnSbntBMPTwMhGyJnrMgOCYRVCfEQhcHDwDOQcsRrmVrqguquogRcjjyTvoqmplTOpNEWvyTOQsWPwZzrhhjUnqsgCcSxSCXHxByDiUVoAWruhBgXdsMkrgrJdZKxndSIoLkfJqPawaIPpKCtTSrRJzvzd", "SwIUZBmXaWchwAwJgmfuBHHqOKYEmoHpeKyKDhPlnKBKIBkLELzVzruupQaRpqQbXWJgzikSwmMqcWfVVNNCVPVtDGITHoNRHHnzGrDGjKJaSzxxbTcdWJkCbPXrszOWdaTRTGOuJgltWWwMxTqiFtyYppAjXZPzIcTOKhkutiqACajcKDHwSqlODCOZWiTGNUcrKpEenJVGbcNXqGHhvZuTrvtbKcaqzowHWMihNfRjJQFbfoAAkpUAPhdcQZCLUPvETMKFyHXLpEtOBhkmKOIpAvaBJVgkbWzVGhUILFxgVysSOVDqNjyjPHdgrznHyJGgwYTUGfpsBYIrrGZnbqEQtkOAxeLxAtBvbmfizYkOpEiINLwcBCatBUvJepeVlgTcfJJtRODLXOmynIPdAsXdEMBtrdsnwzviJSQlIlIVvVOZvdXvdIAJcqFcfJcQEDhabreNrMqLvYtYpLQNtsRGJWzcBNLbbPBboCCAreBFFLJjyfcuzjjPGtxqJeYX", "qerFZKfeeOwQVvHjwJXDcyOcQigvisEtdtriMeBAZUzEXSZHindUhNHHidqhItytGOmcXPnvJtIXxoLLQtGBGeOZNJptpMMXrNbnLGvmTteGnGpQnvHsFRZPtAxfaHgnkijZmJKDBoyRgporwkjYXBpcvaJjPzvqLtYOPlZqewoBkWuzDKscgorZWmbjgZFiMFSzIhKNHLQlIjauxfiVgGrHBvpxaqwKdPzBQERwuHpbuKUWxDerbDkMuAGPeyyYvzVwDkBiLuwrOEDCSjiqvNEEAQeIdvQcXugQUDhfMTWgjdVSwCKdGszqbuSNqXpIHbtJezpsmhnflYoTyixraihwxiLYRrcsjgRyzGuTebHfXZTpqcEOirMTbMdkawtGmVUhKYoBekqVBNioJFRhBQSWykvyBHkLBERfPqMaNOigoLWqZqNTFsEyJartGiKpmgtankilHzpOKApYHQRBDDtOsGSOLVgtPsCpYpGElXyElsMNSBJEPskjrJWJJPZx", "YAjZcanBcqxNTJCjffaWrRloswLhLFwwKEquUsmicOHDOwOsIjspjIZBhKEHzhRKIySouiDCmioHdhOHvoMYIjONaTpZTlTQBRJdLpGocADJmTaAXJanbmSbTcbxrzWqOoPZpNAJBpPrEEGvvUtEHXILdRHKYOGtUbNxyznfjyRWbdmzOQnUhzhfKnAlYTmwrofyCIlfgVOKYJdwRGaKaenudECHRkDmRZLpxqQfPhKfHxXeauvvDhIWxHXnhNuruMbyVeTGzyiYnOCvqgEgNprvqHPKnfrpqQNWAxqyhzksNMCiIpyoOIvVtvMASknzSzedJHkimWUvLcQtwPpBVhnIeaUNTWJnvvnPgaIJQDWaFWBlsqFRkmpZvWoqKKyfDARYZDpGMyLqlUXkzKTWiuFIjEukIqUaINueuAwfhOvaFhYfHEzomIOnYfirazqupKJvnFEXNRnbWCEEmwaXLPnSODxxvfKTrQQPMJykyxQHnyKUvwnrZBORJeNbsJyN", "VKmHINZturUmnfbIAoDVnbNOOYwZqCWAYRIvMnNObhvhPlWDTnYGVlSrKldhJmCOwwBTTorGwesXtUipzeteWaDTqwKQhmcxknGXkRXGhcuNiAMuHjZQHTMljoICqhOKhldfUrYIdhyMFnSpcOpsIvDsXyVBbaGPkYvErvMlkNCIfMGcOOeoqMMZjJoMFNYHpRiYGUqcYRXVlqhxXdMgyjisHopXmUbhKteIMGDWUiwHvUOpODZGWzfgEMGrSJUhYanTKiHisDrtbaUMFynSNghRExrClIfnHnzrVclxFvqhXNElaTESzTMxzPMwFzSXkEXPzODZgnTAfOrXGekvKHcLsLnWTqYvysstpPOnaAbTXpxWebzObuwmYSBvBiafDGoZBxBJhEHOQWmMrDGvqMGNJSQprdZVRBFKrcrdpAjLQuTXWzRasXyptDCFtCMPGvpgjbDkUmibIZuyDnhcPcpzhwoosjKvxVYELkxQThEysdPaUjhfbmwHwFKJwMUa", "QIyiCrBLFjwrpfuRouWsEAaHGpwDwWPuCzJaQZRzYHLgiFTJUVRzyFcmaNIkhzqQWgqbnkAnBYXActnOzbFhjhmzOqHEXowjtrUQQnbXkhZDrzTXtAvLRoqAiezIMgoxbaJwdAbGSpWGpNfkKfqrmOExvvytqpuZttoYUpRKXuORroRNHzwMhrtqiIsGTUaVFysfekFigUKgwTMawnRPDWrTvLSDrKGAeralEBLmPlHMmzWoXTqKWUurquPbUPNHPCZQRDmwTRjpJdrxinFeclowDwYGTJmjJRTTWckYTtaryYixfkdqaIdjjvPOyjxQOIUNaUEgtpuRwwWMKhyhcNOjHnpKUVaCThZXxkJyaBqULUcGMaDcRuvUrpddtQedmGtOlJISERbnSdWmDxjiJmVpWkyPMkKytSOelOutOsJIQVwXGPPwkffquCmqYDQfaRlVXfjCMPoIzywqXpRxrYukigpYbIbNslcOLSjsAXpsheEzyQRgNbrGMZkCXInp", "hqbYDkNsEjdnQVDeykHuGpkGuAakMVEPvnSTLMpUPCWErOyjBBIbRSYfTHmKnSYzrWUmXChTYlCGKpsxuyLGtMzvHccoxNDZYerWPIyigbqOzvwVrDoNKOGLDqfWnVbCyyykGqXeqepTpDriNwcpiIeMlQSBmJyoMwfoLtxoUZKIuUkWTgLrIlCiosrFUlaWxxPrOfgXSmciUCHSJdLahXRHiAUDHjgMIlLjTtTSzWZeCOqczeslIhmlpUucNFtxYnkuerGRaFqaIZDOfNCkUhXEXjLBkkgdReogwndjeuQLfZcOcRECdowCxrZRydXyVlLwuhVcRiowDcxHmZjJXfOzZDEiaPDBYqhMgsTUoxkRKcrACAHWdQlGDQyayDMZNTXhbzEPUnPHRDwYhKZSksfhIsLwnmvCczxLhRAwmnLkowmgLdYIyJZZiZefBPIGLhaOKQptmnCIrUeOyZHshzKJgiGJLPTYIDWZcranQiOiyaUtRSUeXXEcvrLEkAfK", "aQTTGCDDcwIbFLFBPpDyfqmYwDOkbvdqSuTlucOpNIaSiiNgltmKkPTMGqjqiOjXsueTNmFjIzRlHvMBGlFiqrmyfFDzoUmoaNMcvtBFGcZAfWFduGIAnfrqWUEvvkDIBqEJZZIdhCFxUcDKDVrFEXOhBUGAyVnToBqfHqfNIZdYqNEiIcHOpdqoiszUpCjXuwFOTkwRqXbhfEfZvJcmcfkkXKHCDzwzaBQghSlHzmTKgnaWmGfaerDfPcoqwYrkUrXNzCkDmyIbdIAAHoERCxSJEsgfdOPthILMkLcsPxxWNFeuWGcldykSWKuiWEgbvwiYuSuXkCJkMlGezpTHZKCHQpmtWeyRPILRIKDFVfZNoQpTyovOMlFAeSpnNPxaVQafUKOfpAdXRiLVUHMFFbhbkalBbTdRzFFMuyxscmrrwCowuDPXyQTWjdMQSkWkIOpUCMgAPRSGLLwbHDBOrJqMRGMeKQUokZdmcmrpGwcnxbZiiPmJYoLHgQumKygh", "qpNexxvJGIBtNrzLTihMMhYjYlmdfgmGFQXVKaAxFHIzGNjthKMrCArLyZkDPGzLAscYtXxRmJowHXanLseayziuBuRAduXtuikvApBXNNTpvGzoQGAzpsEsPTLZXHHlqIpCMDetjEKRtvKSXUgPtpCtClGUuPePYtqDOlIRrPATYwWQpBhHRhPnsAlwUUqnQDXYgREOfVCfEnWoQtswwfTWfqdyObqSPWRhhWKnnBngHxSaHeCZGFHdfIavYNiAokJMDJqFjOhZVtLrqNApXFoaCLaGfixRjhcAhCZhMzRVlfkpHWrRkSDkflmIiBabutLWrJPMUqCZUyZYXFLMePNLGFajQneTdLfpBFmbAEVzLzBjiwSfRZktUgRpQCsGFuOxuazGbUICzIPHrbFetHzlTeniXJLSzpJZUSGQtyCeOqKlsQcXnHPvfMHWQHvbcvvLCtfqytnaQYqEJUeUoAiPEitqJrtbgroiEAUnAomAYdOaBQrYMIncUcILdjNR", "jWIzqmKZsqDsGnDJuUyyAsJeXmOBEhmpJruEuOslWEciYHCjzkMcXefBlcEKcxcpKDYWCjUTNYFJGWjynRwlnuXpKiPjcOUqRuFDGZgFtqTXnvacUSyOadnjbqMlDCOmukymbEfyBoqReGYtWJHKPKPCekSyqTbSxdRoTqruVxHVdrcrSTYQqktvFHCPLNnmPqaLcLwpzCsnFpZutDupBTTTiuSpIwNKWuZzsdUhjUrTjRdnmxfwoaxyEEmBPXWtkIIzLyhdgOypQhrzlCWhGknLrvLlJJGnzlCATXnQbsPXcpTrQXczUAyBRvKvNDnJNSsQwfuNBJeCDcnLhCDoxJSuPQLwqISncNQpykuUygbpbiqxckcyBTUwKjVNgbmjVWBqDzxAIYRddpjJosjUOExgSPfPfZDujdZyEPgCxordqPHACQpKtMySRpxVtvyxzYVHPUaGAmtAAHOlNvaPIyrDTHaDREuWbKMArnhensujkGhQMraxfhIouejlUvqk", "qfWifMYaMtozjNBqlvmznJZlFMWKNyfNFbnsEymElcHjWFwDxHqdvCSgWejQrVRDQKJzOxkBiZSBnFIHZnhlQrsVaDfyZnYHPBxATyNaakjBqMyMaPvlKwBxlXEZHSxWrMhyZJhjVKvAPxSSkrcVZQNzhnnBAlScaIQuRiwKdSRCCwFBvpMYqPdGgOEpNtHIVPdpdvWdQRTIwlZilwrXudSNMbiHkDxKNgMNUXmYZgBHnBDVBDmhvEEZKWsMTtspunbnLzJvgCtLVjcONloJJilCMOXnVqQxcZRFvcvcMNDVSfbnXTVatbxWeVHEBbnBMbYtvMVaAcLGTiTloWCKDdodpsSEMypnoamzNdzxQtoEDmtQJpUNctWnxEAGAnATHTQuJAMffkPDwdsjbhgFSkAhFxWZYkicMISSspaFpnPscuXhKuRMpMnQriOdFIfeviNZViTyxpksmfgiFazTLoDEvpZWXVQozhyMsuqDOsUEOsMRypkudbfzBsfpJuPK", "YEVUiyZzdcUsSRWbcSuplltiYlsrdAmeKNcJUafReEELgWoNgXlMOHWYQUmzeTKMAORkKNOLEQvKQYGGAGFsQgMlLcDEnFvZlsFbGMHAjFQWJOiSdjBuFGLQeukqxDfdtjyjcjyMzvaHIFmbgOISiBEZkTviDRGBzDRiggKGhgPaQutoOHlRSaIIoxiNZDYwkDWsrlFmWHkGYxijDgwQNUbQeeUGucLWqWJpbllaMZLOOPIuRUjbPtdgeMkVlZBDyziKUzmlieSCqLfoVVfTVSjsckanQyuqXRoZIklKLimNtIzmxExlmhoJLOCfvHnQOCphDueTsOsTdmCKWAMCaZxugsqrqIvOyRtwbDIeQscrOsoJWGvQAbWnRKUZjnPjLRuGnOqILBCYucMvdSpjAaCbRdqYvDGZfANtStmfKpaWMDXynpYzogZVjtTmCbnrxzyrGHUTrFJYbLLPYTMaVJWjPOCZMtEPFyCfRZavrYdedyQWFbtcrqgVwfeeKLwt", "fYPKtgHBTwxHWPNixxTmRvCXvyUhnxEfkxuPCpNXZMsTvgSZhxysBYIEuPaUcSPEIyqMFJlsqzsWSQOWTCeLflyIgvYOiDVyOgsUcwORwOwEfaCzAWwhXpFTtuEbRizLWTDKbEOsoTGHmcNBMsErgKtthNoPLselRMCXXHnyujaKRWaXmDksoAinfNlaCaUCQWxqoMDrMTiaMdritiPETQTrcKxFZXGLeLdCkjjhgehqgzGRxsaXzmXFDBEXeUMYtnTizlSJquQKtNyZTdjMXkbjgsWFzjoiQFYAaixcZULSYAbEEvLOuyzNqohtULyCNeNwmvpAcAdgEkWzEhWYaVrCEdRRMvbooyKTBclmbKtQzYHNcVTJPqzjgsMddCcdpQjFykNVvpgLzjzcbHbMhLJYXCcwMUlOGmVEExnluBznrzuXGNFhSvGfkPtiAhBzkoFRTVvtwIhEWgYqKRNXkvIJOOEwYKmpYpzFTVkvciUtSmiAdvlFLNRQkOQmfVXh", "GgYKYcagPAVTgptmEGlpDtPDsoXTgohoTDCRqwvAGmNCWohBqnryRaTkvwzSLOTgdajlDuYxoKtPpKqLXYbAGsbTfydCUBPnWqAvPRYGtzlDXuChjACASjNDEHbjXvWcYYTAdEODaaqBfypczrrIywYAwMXdSDSiCVCPwdDlhcqMuDBMWfJtnwGBvBTROQKDgsSKcfSgcntfZviRWIqfxQDVTwkYgVnVsacNpEomYnuIHqhQDGLeIPLtcvhjYtdIbWJOsfCNLfvWfSoTescvpObmUOQmgEiveyqlMwvyEUQQcJPfyniaPpZllQkZjTrVrFtgheqrKVEkObeJfRxiaDHpcqMwLQGvhXhstvfkgEntBRhKHXluTYQVoTUXODnltcTDVEyvhtiDDgVogTdNumiGixiifVLTkJuZqTwKpIereaheGltWbcEmqaaVLggSnciKOWfivDwSPptBkDWtpyOYeQuDecBeWWLALhXhbenuMvTUwNPYFmdPsTBamxcy", "ozzqyleTvxhyDHIZwUaEvErJZPCvnvjTNsbJAQpKKOgHCzBzGEvdkqFyZLaNbKIwbWcAhvLifBELgPuKtpXKcFLCnkafnHYxoQjJgzRfwCCSVDYDlAFIYFpQkmWixvjmhjgKbIPUnWnfxaSlgafOPtQkuKuHBDLaeXwaiGQomEcZyUolnJwGiPSjpAIpwGFcwFrgZNqdkjaKvwAQTnbdQfXKgygBparhvBcolzAtophqCGfQFcqEdFOEYBdVeDQamIAgRtzBYWVSJuGJuLcuwZRpwwlRtjfnyktHOQvjLBYaATZGVAFEEUtMptYsNBuQSlbxKVwaRctIKhSFShZmOzwLuBqpgXZBivAvkCvjibJPKEOGMRTFWNSBQnysogXrLZgxtUbfdeusCtoKBYJBtRswtulizuoFmPTvquLLaxTZNAmThKsMGVVIfaXPfZTHsKmaMOTcMPeJwtWZQqCInxcfxdHbPrGgPeuaIeNDwWnmuglEQwxoUmNXYxMogMxu", "CTtupPsJHNoLZEhfgosmbdNOWPEHnulOidCLtwdSTYwCfCXrUKWSaOilKmqvaqYvbNTHldpgDDTyGVDULKANWEHrBXaEauSEVETPJUrkMmvxmIIqECDjxJezsnfpDJPAPyIPHEUTRSeQWfzMakrvqhdsiFiJDsSrkOHbWEFVkknfFYLAVGhUXPzaRscVmQydsvjBGVrVfYRlpkHdWjIyBnMSAskMFSzLnRCFIxeqkRSFjAyPaAYlghutrKkDaMHGkaHEpbtkFjzOdOREVwqxsjHNGdGqxrLVethrhJPdTnyzsyXwAsvKJJbWihGROKOedkHryUtCPIqVqGPTiqIuUpiPAPlXcsXgHmSvCKvqAjAHMWCratXSVyltiJoiZPxNlLClPUkMFcTyceSjcrZWpxvVoEqNtQPJelhQHTHySvXSBvINpxRVKpTQEBZZoWTqMBdDpzpyOgyoHEbbhZCHIFUCBdOgkfGxQnHkRbQBCLYqCejLCSrnJNcQmVWljlFt", "JelhsElJLFuvvJWcOhaHVwZmrqwiBRiVHGpsbdgfbIZQnWkVCbTYESXZtCPcLGXmdItpyAVrglHUCsOaMnOSkVfsrPspxWwDDtSbJhIJALdEDGBVtFoTadnEdmmiqTiuAEbUduFVrHbxyYrdkUyhrykkIyVOtRaHHHZCikiURrirhhnvgPKjbJgWaUfxfdTvmytTcJCSObGCLtImvnugEijjDwifdToEWnuwiwwKIYtXWONFCOgDFseqROJhwUHRaXIrlwicajgUXMoNoJgzLVAYAUKNsYcgmtXEzRjcvovSAmeOkYfRSKPWPvoncyjJfCnIIQykXRsQHEonmPNqXGLbvOwPewoKrgsnyIFszipCUGpdVKhYSOIdedGgZieTGlaNyVoFxObJMXhOfFEoGtAZPGSlySrIornfnFPpJiihEWDGuJOfiilzDCZhNeTmSEaFCsuaUvCDFtXqGNQoVcWSqMaQJRmEcZHjuAtiZARyKIXWswtDNpkzqvPNAgei"],"c_largeint":-6753460292916872999,"c_double":63.5313625318521,"c_varchar":"her","c_date":"2009-03-10","c_ipv4":"179.172.10.123","c_array_boolean":[0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_date":{"c_map_date_1":"2000-12-10", "c_map_date_2":"2007-06-05", "c_map_date_3":"2002-04-23", "c_map_date_4":"2007-02-27", "c_map_date_5":"2011-09-07", "c_map_date_6":"2013-09-27", "c_map_date_7":"2018-05-05", "c_map_date_8":"2010-08-06", "c_map_date_9":"2002-08-15", "c_map_date_10":"2006-09-05"},"c_array_ipv6":["uyRqBAoJGE", "BMcLlpOZIn", "lGIAQbEgSx", "pzMQXySTVD", "kPtligVhbL", "MWUBRgPFBK", "zYHeFaaEyk", "mByJMJlCCB", "WvqcqyyJBC", "QrNxQSGQHG", "xSNnCVSkBa", "nLmPGdIbmH", "tDcBmAvnPI", "cccIltGZrU", "ZKJtVirQeH", "bVEFgfivxt", "MrwZpsIXpD", "vtwRbMGArF", "FdKpuMJmNi", "IEWBlHbkPc", "dKWWezosXL", "TobnBRcaha", "hNNiYYONFn", "OFqtvQRCYs", "DUfkFHZKQW"],"c_map_varchar":{"c_map_varchar_1":"CKrhXVqtQwsGaVjsrKkZOvmlHioriIsDZcGgmXKBvbdHUshkxYdYKMFHCyvFTGrAxluQmWygyWCOKTOoMtBIXjvAYbcVkdVCOMMtMrFvnqpHBHEJRnJkjucttuLFPExSuOBpqBXfdkWClHGqwhfXvEUJeWDZEZfmbDZvVzBLgbFMBhCNEywfzuhwEKffDFEVRwGgVFEIzMaMOzYCtyDrqrtImtPoNGzQYkgNGhbfWZPffRShGbBceVlwogFSpIcw", "c_map_varchar_2":"gSdhxZkbyvgZsKLhDcJyixogxXTZFoqsrJWHVrdyJwBkytwjkuiVAsuwdoQstyJJiomKRtEnqbUOKFhzJwRVHTQTPBfoXkAkzoLEPmYIXLIpvMRCRQMQqDkMNdWJOygostvrrMYIQKpHjoCUiDnAGICbMlbjYmOpZkLXNaJusjxBEooeiXagdYEpYRXKjbXzqOLeMpvHUGQnOMCzBwrJBosEmyjQhuuqGFbZqDQDGxUuaerfZluFGqenHqgYkIfO", "c_map_varchar_3":"iRututcedgrdXfEwVMDyDsnoyxzDXoxkOKVDCtQPZXNgETdaaAXOWQBTovGHjufZkHYGppGeKollbkUKSgKYTjCDXoqKgrctuXTzudFEYxCSosDFYSPiVMPvoCnQCwHviLlotbkxSsYuzRMIRjRxOeeMmoYRVZSAVNomOQQYSAGmVqmBvyNJxzqJizMJuYTzZtVwyhCzbLVYFJMCriNqdatgAsOUthPFmQZRFEEoPQazzVWPFghMCRrNuuRqrpGo", "c_map_varchar_4":"tdhCblBIhRvHXDUpFfChHinnplHqVAKGdsLDVXKtuqPdSQKqiIupUACVeWVwiGjCJvoLFajtQzullQfUBxezXuMSZTJALbwqhWNxtzGPBeaSTwNTkHtZvfkqZfkuJGiYFepOAJpqkAdTJWZionqsnWJlFjgnwykTcEcxrHAslPkSBYLfmjkEsHsDzQRGlNBNveZEvJsLuQpQaPXwiJYzQmPrvINwzZoSYxaBDhiHKVAXlWXnYkXNOAdIzgBEqFPu", "c_map_varchar_5":"qLDPaekboKpPHZooyjSfyvIXiwyHzPTFVbdgUQOvTbIIqqzURrBkjndKYWkmtZOkZvwYhkubHTmDAUrJjWNrTShnallxxzzmpppYarVQVuvDFjCNhhFbTtmGPAOoiSPCaLvzSWpypaahsrMGdSGhqvdQDCmvcjuStzDNSegnRtYkTnGlmTjedeeNthFgghfLAWGPHRKqpDzKvntSDLjuQPKpWnNDPpFQTNcRfHapQSVXpzbTypCsoLYHLdvEYBoJ", "c_map_varchar_6":"WrysfSRQrjIMEarJdFjLJELjjqLzfrmFycZiEVxIzaoAkGODGYzXdheCmcSGwPFFszWfsbjjArWdfKvSwXgQXyvPpPNQeEmUiFjfGMVLiPaSiyHRJFenjjYBwLvxmaNGTYRmDIXLuoThUjWmpffmyWHFUcVEGYgmTJCdwaEUlODWePUecJUNIGoWUQTzUqiaenJMFCmxZBenhNhnnfUXyKKqSFkDaGVcmZiHltHyBqAgMxqiNMNdZuTlvQuiLHRy", "c_map_varchar_7":"LJnjXyDeofDsbVJNoSCCQxplicUrTpbOTPBZtLrpqEKRPjJCTRuZkWMpjdPjotwUqDUjPwLxdpyXPzoWMymlSHYuVbyapgLqAMRBObLbLbAEFAjnGkpeOnHsvgHjKfAnzyzBCuSViZVTTMvIFpXCFjTyCcNlsqxWCKvqLtNSFojgTjYnxLTbmiRnaBMLxzFzGKbivuaReJBmssVjdklicwbEEAwGDfvmxzFMRdgOYpCRHMREsnYrzQrSYLIBSZPr", "c_map_varchar_8":"heNtWPSKHDyPFGCeprWtomXgBcHNCvLKPCNzHbfLyhMptgoCcwEqErzcxugRrRqwDEMZsXenvfwaHFWNAavbePeHOSOJAmYYtclmrxLGanEJbfQuGkNxnBrTpfntmsJnGsnqofkBIaZMpynKJCBcvLtIZviHfQrxbXQdtfMdGFRLWZgLNmpeKzzSlrOicfyRgzJMPfBERQdwlFxSLFrpCvsOwKGOiDKHtucoJNUUlfQhhYLPCJortoTAvnguUWmz", "c_map_varchar_9":"UGQZzSBpkRAfBBypFaDGGdenGlmioaAUanReBIohxtzYJDktImLWQEmzAyfkPtVCMZRLvcdaUagbHFaLNJngqsYuolxJhLVCDCkKBdFTnmdbiKnBdwLfRqymQcToEBMzzZTNQvtpSzwAxGZPAfeNmHgdaOncYMgFxKCeLnsvqqlsbpNtLxksdtKeqLNrGCqnoqqeusHrWZMtBFrUHbqTULenWJrgYUEteOWmbZZwYgYQKeBtBagZvXwprJfNShjc", "c_map_varchar_10":"LeCCQFonwyZgwdNbripWWdHcNRREaTKsBpiyOCKlJNSgJBrGCDvxXRDhhWNtRQeniAeKsWUluwjElTevtnrcRuSWkUdmkcczEXhklAdxdLLEWrDGkGzPkPMoFjIFXLFAHofbcvLsGrEqGaUgufRQlMdqvmhIfcubDgRIUyBkBWcnBKCvLNCFKMjdMPXlwPHYjdMfivbVNcsmSryzEwFuCoVebRGJGCzMWPjjQyimvWnXcjKSlIZNDEzLIROFlmxh"},"c_char":"SImeumjIpg","c_datetime":"2015-10-27 21:47:42","c_array_smallint":[29812, -27569, -18819, 21613, -29678, -22193, 4677, 2142, 9876, 15773, -20023, 31411, -3651, 21425, -22314, -18637, 25749, -16285, -17991, 14907, -3377, 2929, 31426, -16841, 19318],"c_array_decimal":[14.0839, 69.1478, 91.0862, 2.0948, 81.0419, 86.1865, 28.1057, 22.1675, 58.0025, 86.0774, 94.0370, 48.0264, 39.1317, 57.1394, 66.1103, 98.1122, 94.0821, 25.1651, 33.1146, 84.0897, 100.1434, 50.0985, 55.1183, 1.1378, 5.1900],"c_array_float":[46.74925, 40.75822, 93.14689, 76.57007, 47.53363, 59.41157, 35.009186, 70.85688, 97.200096, 1.2198437, 19.631693, 86.387695, 49.933586, 11.813699, 0.41290995, 29.331036, 70.74607, 13.913368, 40.21469, 99.39547, 85.34034, 9.310017, 69.764114, 3.9714098, 27.182009],"c_array_double":[31.868150510337397, 22.2930614050849, 56.256902593936346, 95.40289637871201, 49.840112727707826, 82.38994269756736, 46.025257400814546, 78.79346754712144, 72.00822551359933, 84.00828933565187, 74.23097409633401, 69.5472480567047, 92.88993817168785, 31.003597309037765, 43.15182609798959, 95.55286730559762, 90.02179910520611, 1.7546171051543389, 32.13050045842938, 73.99018537271408, 49.05349341572755, 80.96552280567623, 34.71630760086782, 6.690577616873011, 38.76109965549189],"c_string":"zFGNPANVpmCFUDEnPfjDDaNNqiaGeTEONLXmXpUqJzYksvlDdZypbfYTuoOESconcsRHQkJHctTXnciTXtDzRtQkfJlAVCmuIwrBUnKOhobqmqROaCMEMgnytSxXzqzXtOhNVoIOLKfSKnLoxWWDPRjvMnUwoYRrcaCtPAJFuAqASGyMURPAvupTjOKhKlZCpoVmhaRIXUTqkfoIYYmXzxAORShVSrCCplQZDkhBOrGoomoVaMeuYXXXRcZghuOdNZjrYUgwfDdNvrmIbCkJiQlSTVtdEmbWMsBqIzSjAgKkfhSuWtpiCIYoaYezRzdBzCdAqPZMzaXPJUcbUjZdTLMLgeGikcHrxemGHYpmbQlwqPEujXGavAWDAVcNJVSfBeOPZifnmwxUFQXnlIVLOdCpuSkpoGnVswvAphwLVxorZbPjWgRymjTPbfepgQasYaPyQjpwDhgMtTLafTjtcopVSBwPPhHAqrYbLUZVwaNUAUfUBOkKoiLuaFMiYrMb","c_array_char":["kCUykClwlS", "tWCHhUrkaA", "EyNugUXVbX", "ZtduubYnZw", "gFNXTdmiCJ", "APNpMNtzmv", "LeaognAiOz", "IulsKrjPFt", "ryeScFTTGS", "ObkqzxMGYT", "EzReMFCSKB", "WkjohQPIoJ", "cgRpMjxWtV", "FNJcpdVtdn", "wrADsRBgrH", "cGzPDBCHRo", "HtQdZhvYPg", "LUMCCJCNUw", "WizNWMBPAE", "vvtCVhYthR", "EtvDSISBkO", "LhUVYgBAwp", "qYgKCMLiBU", "RXKxupFAEO", "pJXiPnIdyq"],"c_array_varchar":["vHProxUgshlZqbLkkBvmGcoxCBOcBDJxSoEwriZsDRfnYLjBpeYCtAgNMjWAwfxfwiycdNfZApcQVxziBhgwegpttXbFVvqcLaMJQmbbiQuBKrTpMghUXNoxXBsRxcMlwPKnTIRfZHLGcRJWVnAEaagZlnmeeCpesZOlvnVYtFiMnFRsgrKvsQgHcxwpddfviPHiXKieXZLrIjbwjswqfojwKRajZEXkiMxMZifOJyKGfsuXSABevbzJKmeAsrlI", "ocyOnHsGfaVEOsIEAAlzFOXlvGDOkIHnACxlzTHrVTmjefoMEYFSXkQSVSHJeaZtSCeungsNDvpPzFXXSRCZudcwvBAwfViwoCidawwadkneKMazNisEMiZTMKRYObdoMtwjIuEtoGFcEbLrGChbXcjGgYcFkgIboohYVVVotzuDQBUmDAkGvRmbBjqRRYsPBSTETqJixjSOeosFXsxHmLlqPQugsMyxCSFZmebDerstDIyqbTfUhrgAjyBTRJOQ", "PmSShDQaSToeJJdJfPyjzdkulsBVjeoBLoVjURHdICBBfdooFIxkTFMXaresCSYXqSJMHpvOgRkvhXUVZdhBQrraooTncGuziyCNivuFxzFNmBBulSMlxHEfKMzPMpIxRRLxQZyzpFtOdomhFmZFaxtcwNnxFMwUzNujsvrIMXBRCTFNwyusMZgpJtnUYxDvQrlaaXLnsRSuVyAwEJbVvKxCYjGYXJuxZgbIXkZoetFPKmwNCVLaqPwmhlmHRKHa", "irWztzVNPQWeIQJZpDqeNAzkegXcYsKVBjNggKwzblkXfINDpZvSGamEKOLjbtMImETBezBfHHDEjKUPgPAkhctjeweguRqfddpbLJMTFnUBjtArFMSsaXwytQdLrgtQXmOHBfktgKQkggnXTUhrXBYxuwOaWtpaTadMFpAUiTQQwutaCyvcaWKQbHKFayMAEBEEraUwvXnNfSpCJEwzQzQvojDwhHeinuzBqwXesYMBmXNvGPIrXyEFIemCnKfo", "JOJcEpeZFeQEIKYIwpoGiQPRPnQinNMMQxHJbVHpGunIUOKLCOfTnVmnxpJgAPDYSaDcHRGuImyTdXyTFXiMIDTQsYbVXicjanhCaUnSOWCfCGLVTgDCQdbUYKfpbPzJXmLlIusdshmekFpbWhleByNjAygjBDhnzzgriLmbSweCUAbcaMEtmEXXmFFPVcYGLItyAAtyIbgwwEbkBsmWTsZHqtdCJjfANLfoOLdusOoKFJwpnfLviAGFrxKhRPvW", "vwFlsQvEcOVcBPXrDaDsjtBaZPcdrCIACNvJNjVZQhqtVvGLHCyJCuqHbKSAQWuNbzOWoeEknGuryOpbFluxEVPNWStYrfKhSLXcodMVLKJJfasuySvKCCwyvwjqnshcYPHKaqccTEeFZMDbxBTlQqdFZKjxTGVLjeLmaAkxyxGtaAbcCejmSTeAyJWbvDjDiLXAHQbosFmIXgWUtdjqirHcFjpyDBMLOZtwMCRlsVuhrIQVzxeKxDpMAFCKwEVE", "SvgQblYVOoAMfqhfjtvxszUPKWggMNjPtzOCzvydFxORyJbdjBwdSMmlVsgfiqteqNcRbsLEXRDyMApWntiGmbNmWezyhKQuFvqzNsZQGQMQzLQsKMpJUsrOGJeBLWKEKRWgQSNmHbQsHzJAMuGJVrMDvwhVAoqPsreGGlfUnRToUUrYXtTpDIMOdqYUvHMyBtSBMARusgCzdQqRVfUvCqtHmDsSHxqYsPlssZIAVjDmcvJEBwkCxYoeYBjxVjgM", "zJewYMxsIMMHyqsfxBDtobUFGVzQbLMtmpRUWHLlkNNWMtozxKJkoOTqLIOgqmpozaPIzzYKeEDiIwFwIoHUwmdvEjrmFXTQyHyJmZjSkdmdIWgCondioOCNhSsWsLtFyjUTYuIYKSeZFmbTvrZSrVKDNzQLnaLlmYhftXBTPfjxnSvpmstgLfmnmuZyaereUbmDZJMPaeGJMEZQdvjsnOPqYAQyZqqHUQbLoVmBAzhuirnclcEnwukrWladkgSf", "tAJcgJZxWAPTBxEaZDAyUQfeFjoTeCbzjRZuLgGJXEznHlROYmsywMlbTuzbQfoLxUmQOjHBluVtJTsGuUOXwlYnXuWBAzwTpGyuCODktsVYqVBaIGnLuQQXyDZBmlgKRYEcOITEdPnpWepZZTKmSTsAiuzRHqedJEbrpyRvJxygCzNrFjiRQkSPQaicWAEjGMMdcwpUaBoojHmMrhTBYYiDmVNisnpSPEmkJhPCUscdbWLwNTODhvNAJiHkjINI", "qToJpcjohmNPZyIhHcPZnXeRtgITHJBSCoCOwhciPXWlAUGbUMTCBNwNVUZYSHAbPyCwGEwvDbPNxaLtBJyhetnwOuMBNLMuBFVopPihvmpuGkJzbubpBuQKvlagUaUQyruLSkbujTPSMhnvtuGsveCpiPzHuHellcTyaTXJkjTeWFlVwkIwQeHxxjBvJioNDuxOvNvsYySJBqqMlvhZCgRWZbPoKnaLLVmPgXbqvgfXYLIcddMfETyJQCqeTPuX", "KkEWsqWdVigoGATxPRULVPYTAieVbTGLdiroaRadQthQflqxQYSWtSyglVJwJdILRIyJkqJlcfTFVTrWqWWmEFwMWUPnkJcwZnGfdAxmIbxvyRTCorwPnIreRaTphfsXxKQFPDYyyWLvQwwjVFfWEMszMdNPMdMjdwARSDZMmSXTFOvgprualSpyMPpaIosBUYgBKNTvTxHvyOBuHMTZmqfNtDkiICuccjDRLuRGitQASLjGGvKgdQHvqTYzTgew", "MGyvRfnEVCghhIACsLMiwTzzmhSpWLwiVqNAzeMbpiixQUEuJctHzxjpNMQeGEdhjjUbGalzCnSDeIScCzgOSlFgxuchXQiARTOIoZGESVhsoSutudUihadsLBDhEhwoTGBPAKiSsCUaTNumgoLAFJEzsurtQmaZKaRZDnIDzAgfXSKDNPNyIkvDNVKhUkvCECLbzAkshxLQqFAVUYgUVqssnQsnKzPVxxMwxPyhAnmJvnaWaVtKMxkHzAGwYMNf", "EPOIxtpncSsrvjXXCtpzHLtvWBzZKPSGPPIaneYyRRFNoWnJDSvAIyopkffMTfAuPJsGWRjGrvAwfVaiiTEGWBMMzjhPWAxyyrditUPjlxMTprMNPMdDLFUefbTRkHMkTQlaNDFAPBKSgUzMbhPbgXclqrfwysBhngYlvfTGfZtXkwlcfTeGrZwQplGkJWWmLnQyogHDFQWDUvYXkdbKtCvxpHNophMrvpQCZJZVVEyLsUaKJNLsDVEBBEfpyuaZ", "njeSntSxcbcKVmxvVTgOEONJgSSWkhqHHIonCZBPDqMoKxphftLxFyHyxbmRJelWDaWmBznRVKwDqkVHyBerYFPCMpaGnTMSvVHuJYrgbHnevdjmslDOkmCOorqfcvYzDcjpZphURnKKqxldPdtRwMcbJOOWjqogKnelNBslNVmFADjJRnePphGBvmmPjJyfJcAWQCYALnSjvuIQOhpFcADwXFMRmjhYxmwriqlSBfkBznoCsjISerNCtENiCoSF", "XfKOesPhubpDpRMmnuQkdWXFnHRrepGJfogRkNcwfnHIBmotfPGwXerPKLxkQEkirMqxxBWSiBPczBgpexnTQhSdFQVcQklSCSxSlJRgGLDqccsKuzBGsxGgOqvPhnBmnWbIyxDvuqPSTBjbVDayHUCoNdCISEUgLoklpBlRQdLjQJNXHuxJDcgpdriwhQYMgJOadYHVwnovyAbyTqjpwZWZXeefKwobIGOBmTMKlylsDArqSjrjYQHkmHKNCiIU", "bdKnsTWFVKoIGczIAXuqdbVLrqWKGTOBGsLGxrZCKuhqJYXxwTjjQPPwpKDwKRFlGPkTqEOnoyWSATieUlUMdmBxFntIYQnpjdTmewgMagtUhAWTnrWvBrlteKpLnzPmCXJfnBBWsBcNAnvJfDdMAIbbYIMOouMMFVgoHFVXPLZEDoxHGAzTpwzhpVSyRIDWfJWxFlspApVYxXKMVLYjwLYBDQXmBFdRCZYTpxNZbohSCIEMpKaNzHhJmaiHjwHi", "dDkkkPSxeZEtuglWLydrCkymyAeaguiMZgPaPyRUJNhIDiDEKeCJHHkjMZVWjuzgtcbebtBvyYcIXtRnIAUriOSEFlVCvfdYhkAfFiMWVRACakoeXPOfcuVYqNGkOSstNpjkcRYpNSpyQHRaksgGKnWhaKhTrvWpEDVvVXUWICfjtWDmRTxbaSQDcXWrGvsPJoeKSaOQpZLyxyUPSuLZxZyUrMIBkFElqdpPAyvlkiENyjtBofeANOgChtHZMpne", "jYueqmRcZaicrWbTBIkHWcnbguiOcvwrviLbpgXFEGxdiBmbxEZoAkyUexeEXEELvpzehWGhFKFfytafSHbvmOUYlWHgEiQMMxEdrxyqBTQjpYdzcZWbHiCGIvwFPoiXDjBguDRhnsAwhfVsFabOjynTmnhqvZwoGCUcnWQqWePtzCexusJjjUncMlHlvTYjbGShgbjHcwpSLmxpqYeWLZaXxljKfdSrTMgmQJuIXXkJeYyoBpNgUUejHakuqeAt", "kRYwwClIKJIAPwRbKTtscsAEwmOEvHJeqFmcmIrvshsmCLbqYgdHMAvQRaDWzOXQTgtpkrJNjCuNZTFnqCXYCVSijkqrXAjCucmrDrqRhfzaHAHTzyjwOjvKRNjWzonHkpDvnliRKXoddzoKBaWVhJWLBqYFxvwOgRDNbdXhGiPVcjduqskxrLWdIcDTreUjZocHdEzABmYxWbPpvWlQHCPuIeZqtuotvHnyfmPGisbtTzKkRoiekalyVaRUixrY", "YWgpGTMHUsCysjWljecuPEVbzajWkUdVysQDkuwNAoxPtaooAXBbmZdUWnykZotBxLMesIsFmLqoWSwGPgxTlZPOXEkpCbYDfLTwtiCJEIETRlzsuueLPPaJDuCoPgzFcUZcNTqTclZtNKWKriSfYLakWmVttdjySZsebdOYApDoXMWLrAOSEzIvDKOIhAVDdbUpTMKNCAZcmsfIXfzUiJuEGHtBKdUvGrdMvmrpIAMFHHvqwgAXKOAzaOVXcRKY", "qbubuwFNOfDilQKgOCgPFKwkcHqjavOpXpVwhcJYlIgCfvPCqhAIuQCFMfFbJdwCXZVdXLstQWpWxhfdxdyEznmeCBZproMjuLofTlmBaXBYoYHODNNhSziZeOMxLmwOPuEQwJampfNhkoTgsMlwtfJTlZnXWzDIdlzcTighXdmQLQbesbsShNPInVphAMdkuIKxnZlunbWGMalOSEcioxBbnZcWWdrgWwLqVLhIHFEkkrMXmSJISbNfzbAbdKha", "rQrxeHbNwNgEQEvAdOWAkMKGkzQEOulHBgbNlIzWyusNYMhXTtyTrdTtqRNMGRSIfoqPzVwcIXoLCZZDdckgFHFaHgtBrZzvSzhsJKrfiqvfuxaNArpRHQoWJQSFVwPbJOhFbGuHKMylArJcoBgaDFjPUVvcwIjcAqiLHnZrsHVbjgCIQxRTzSdxaDHJYVIrEetSkeZDBhvMJzIIXJYJuQPJarjKoKfeJPUVMeoqtkTPCKsRFrTaHNrpfbTMorRm", "tQEhKzwnfBkSVRRBpHEMbtSQGuAeDqPtdDHDeqBCKArPYsyTejgZrkpSRFiLRkeuRvnIcfHZzcvxZiAWkafTRlOVjpiEyAvdYBgAURrQqPLZhlroALWMBHWxVGFzlAWVgUmbrZLinBFCSdXrYIfwRLnIVehnpqrROPaPFTZddyWYJISvhAuGAqjhXtRiIyMmhwvCyagieaaThrsueVuAPtqyJLwDHBFaZpxPcDkcexNboFoFXYWXwIbqDLUERRpx", "yZxcbHhpWZCMIHnuZkSYRoPsiVRDAiXsVzyvGpRHPwiYQFWscMjLRtBVamNeAnSIAIJHMJfHkJsxprlZGNvVeoCpYAMVyfxnUqFXzAfcJJaljKzijaagNFVOYUSlbYSDJbgotMDjtwacPQpDklWqMGfJoLzTNRaQYUIKWuPLIpBHYqdKItAaXopUhMtioGezyYMcvFGKKvscaIKxGdwwISxPCKQczMKvPLIdIxhdPxDTzeRQcYCuhereWrAVgkhI", "LIGpjXftViXRYoLjiDuDrVlutClxsOcePAhGGbirtechNQMRmMLOmhlgQQzOsLspwAANXYboILnTnQiixGNqdGhBaWzbYPenfFKrRePRKIShBMTKtrAQbuJMbXNZbBAsUJAYsjcOpyEdwiVAIYkknGuWwlBVbKpiZRJectzVZDVIOrkVVBmlUbfcajdGuiBqWVMKwKbGAVJQZZJOHdPZPIImGyWPFxEUcoChhLCKYqPtVFZJlIODhjqkGLAXfJBI"],"c_map_double":{"c_map_double_1":68.10516099393966, "c_map_double_2":80.9945508943798, "c_map_double_3":34.49119879944463, "c_map_double_4":87.40263626071958, "c_map_double_5":35.67486543597565, "c_map_double_6":21.70242553804412, "c_map_double_7":31.894431158487727, "c_map_double_8":77.30339792880247, "c_map_double_9":18.35092576883587, "c_map_double_10":64.44103721155386},"c_map_string":{"c_map_string_1":"qOqMaqARuNWBsfCNVAblujAgTvbzXazJZGrACedyZAocLUEvwHQVPMwyxnqzAfWVKizevWzapyhyKHeZMxmVLCguexMQLEcwLnxSBxIcJnrrhALoddgXeXUZIDzeOSCnOAhSXLARCklsidQrWMAojQWEPauUaPoRPxzosskroJatZRDmiFfkNNrXfYHAyjvlZQWKXuigabOnnEhVNJKBOvjFhidpfUbNiSKKtUShjGBInJKsDpoijqwAUjFUQVOkCsyklICiBhJnRtXuNmBMTWraWJjvmRsngWcHYIQloVqPuvCDhfOdTfiSZoCpmIDBFXHABfGhrmZlHvJQYfScgfijzLXRHGAAWsgsCuRYURtuFEAREJLKQVBONfUiBtSWZatbXNJZMvIuunLvFtWmKDvBxaxwIYhfyXxxtDDiNiOdbLbDBPbCALzrBGoFSDHvoqTOEbzxqBZnHehWAGWChPuZzWyuRpfbPYYDtHqvcjONOssRJKnPBofogMGNYxED", "c_map_string_2":"PNHyniejhpfxsQMkSFeKerFpjhmwFDTSobnwBBBwxCMeoqmPoDPXYAPwMjriEQEBubeBlqrXJLXVNVHlIZcMcxteRtdWXwOTNYHLnhjatrWgpZIlNOBqzJcpavNcLqTqMEBGQGUvUWXluIevdvvedZsHeMwVgJFxURsvqdzThCuIPadIluxQaduOhaeCMrpbMBoNSxTHmOmjtQRvqGgwlbDpwIAGbVOyZahxptmwIRFnzGnfvXYYkwzqQonIWxjjbWXJwQquSsKjOOcwqnzYTWlOjvtWcURoXdDRjjJwWPTyYnOTyLOBibRfuEdiKpZoSTlIAXiFNjsfesiMpFVmDawuYisZQxpkuHzqdQklRgaRCURqxgujceAETkEbiDoxkPVnjAcykobMLMCPGUbjVBiGMpVVQSegpZjVzfkALNFLDlMuvMxrRVpkuTrfcMsUEmLQBhpCtkPnlcCWSrqXuosJRBHDrYAIMzgfMFvMCFwNIinkDbzDnMNrSpiAdbLh", "c_map_string_3":"CSUxJIYnWlOZyoUsQFatDAGGyOVSJldomCppfWFcEcbWqHAxCPIbzScvRsUNNnWOQMLWSnTWqhUNTGuDtRPJocTPWNizSkEjxBbTGYdpzgdLNEeFJMLbceszmdqcAvsZnQEnFtVxRNAqBXAnpXBXPsEluQAjtcnetXcMyoMUaCDMXATFjoAJLGksjEgCbRHekuVxYOWHHjBdaorbNugZVpvKblEueNRUMPdAffFSclyDdPVvhSfknWmipxZsiSHqmRWlozRamPGcfjlXCVGNPsgkQDyaWqtgmewSQtiQvQIRdZkMVKGBQrYwxYKJqOKSWnDUUvzlJyZmxipBZizobfNrZSKeGMBeViaeeAvZyVdAgcYeuAVtIcLsTVAvGodCsMXEotygBRoWzXlamNWaiqYlTlccaDQFsFtlTPYbnXqYeJDGrLJgqlnObriXTxZpOnqCrRsdxOFfegwdVbFuXJUtHGRgdREhmJjnOXwiMbdAklNWTuRtWsJSmjKLexiW", "c_map_string_4":"aGneMopZxcrmTMZfEKJSdFLigBTXYAJcdClBUUcjtAuFfRwtAjEkbdOMpISKMEQqWlYVlGoAZPDFyByzNpzNmylRknHfutPiYByRlLiQxKCrxcSpuqRhgnIKcnHcWaFFVqznrpwwPCyQhPOoAWNybCeeubJKgySmYfMhskmaSfQucOkgzYDJuxBIyqeZUGVwxldKrQgysTepXCUBifkroHrkTzvEcIlbqLYWFtRqHfnAMLxyGhiDNMdEhcNxzpeLQNrmPvOvAXqOhCWNlNVvvBAcNIljgxYQuroyhFYWRhHMOylbhHRXAZeUOGsgKvYtStGmyUhFSyjLglQnXiYTCxsNoLOsepDBYjkNhOthUIUPkoySqmYXMnPQVlcMMEJXHIXFxoJUphjaMMGOudLnweiNpTpMTdKYdEiAvZsnoFHdtanXwlZxzEfETJRlNDcjUWPTskstyjtLwrnKfEwHQNiizhadYChIEZaIPbTCzlCVPwZXbtgiDVRcVTymbrgO", "c_map_string_5":"hFvHIQqgJvwilLdZLUvDwppVrItyZbpVeNNCatyqUWbwbPnXgWKMvRqVIjAfJFyfOyeaHFPXnFLrAmwHsfUfUVHYwPISyogbdpJOrnlJfhjJYlMyDbFGknucAoNtiIKAMukxSNbDpQrtPzBrilewfppCFjFqeQPRsnEnzCpgiqmoUyPvayZjMvUMPMccEfpteRLvrUDKcHDYBYfiFXhhAFAXNpMkYxhWHojcHgJAKlGhduaaBfMxgVYzHqNpXkNTAvjwcVZkTPmYJXQXPbtlhjIMKMLQOoldvwtMBhVJMAZLoFBzFSuNJxFCuqVlyWWlaHeeUDiKTKFYhPtVJMaYWDfGpKyofNDLeLZTDUpXHLoRhyMbCdQKoYbkcHLWhArPhoJpQjsWbuLRXXzawlHGmyPqAbVAKwAewBjMeXuEEviTMqBVEEVRlRtBRpFTTAHbpRTAdBaatbrFXDJLEDjtZXCIZLjeozhofqJrPpqiQJtUXZBrQVorFwtvedSkCxJc", "c_map_string_6":"ZNngCpLNnvJkJAeKGAPokHjzOwhfWgHPapBSjhsxqztZITFxRYVfisADxTZGJfnjpZgfObJuKDsQKPEOAmfjDAkqUESwCbhFCylZruUXQIOxtsFJRcZHDoUoqwppwyWeSOwrghqvYKFXiwDfPBNMLhqxfkZqcWjfjzfaBwZINYGjmvJhcpmJPeMrtGyXvSsAcrlVESRNxRKCJkFEmxZLLzYNPubRMhiIcnlVuYdbAHajqCwrheyZAMpGJajXMpbLkeGKIeaClHHexVrjXpvaOSNuhBevQTpaBlFewfForOcJWUGoRmIPUbAeRdglKQmbBMdbIPmAjbfoSAtcJqEOReFhYtYwNcMfEiSrcyiZUqSvceamKxFjgxMWaFJvTbsyHZCwUCbKigWunfEhEHIWfgpgQTNcFecUyzSQowSBVyPmmDFgBkaTRTruClLaETHkhXOaJklZokvDbPkxtQpRChNZITVSxSpvycBfbMtOMFibXJKKcdbHuhbJOBwuvjXU", "c_map_string_7":"yuggUPZSjKZCZGUTPKlCqzVFFtoVzXwYnUVZabrpgSCGWSQcpLoaDSKNxkKvdVuJpeHBMOJXhYdihZaHDtvTyBBBibgrePUpyNjfzOsdDipwAuhaMwfIswWQZOFBTaIhcIqLhCoScDCIlOXNqHXWxWmcEqsMPoiuxUWFoBZdzxPfDqAKZhVWednxehbpiMGtwmmgqbjjSjxcUQQVqCzuPkdYZwVoaoiuATaTTUiXpWkGYluOPGKGWSWquCGmkzhhufOdSInkVXrsGNOtMtFPmwivOtSbmsbOvaEFwJRcRCBbeWjjBkQaFHmqzASHLWsPtCxMyIoFaEFKLwQJkaDcneXxdYeYzeHodyeCKjwcUieuJtnVaSiShcuWniwmJFJsGHCFbCuzYGEcLUPFaTZUNOGBvOMTSANbPkSNArpmwcmmLORwnOrSUdPXeZxtCUtIJmqbDAyfMxYwaxXPsIztyJFncUCPppGvRaGVGbOyjPijruJAWbwVJSHHsksvuzDD", "c_map_string_8":"dFuCqUsXAYjfMpXNwmxOSTwPOvsUGiGouKBzcAsQnQcEnCZnTDSwaSPxjuHdMDSkJKTstCsjBTEGtDCcfCxTZLomDMZViBFjBunKAxKfBSOMJgIBXDzPeEDDKrmZVDpjPIbKXfTGkSxBVpKVEoyoiGicXjqttivYMtsDREtyytBqltryUWzTwWPjrBBjZMQGhOZlTeKxXshYpWdvDEHDdFxZjkdNjwFShOLJrqvMUKUCTDsQkSIDGrpedQApTmxuSweVugwlRCFohjzphLlapxAjBmqZMMBLnraEURYQvJnwCnUDkbSjYRXeqngbIwrksYhhomTqKZixAghHuqzOvKeRTLHrAtxCCXcVepHygLKrfifQrtICVeXKECadbQbQYmTgzFeMGjlMDWrycelcDEGKdNoKFeMvlPECDouMOkBDKsrrTiHUOzEngTqRlmEeoxvcmdIypnXOVkxkOHHhJSNaDFJPuKVVxhmjFwwPOifrcsfgAfQuTYJSMNoIgZOl", "c_map_string_9":"fODyawVFDyOsgNyKrbcgsmRBOTOsWaNksCyFgObblTsaItDgzmYZmdkaYBDaKKVHGdauGoLMlCbFmzHkDnjNRFJATosRWLpbRxsFcbEaunrNJqJSWZrEZROqyaPhBjYuTsNSUBKUZMlpVJzLdwNatwVsBwYlYSNUAfBSimYbjyQaZFXixGMzMkXsQxMLlwtLJCRGancFspLZCPbTxbkvBnXdtXGUbTgiGFyZgAfiQBPSTECOoMZgyIlgdFVBPwImXGyjwEIyDEcFPxehSwGHRWEzmVbuHagagvMtOUcmVvMJuyuCKLpVetlbymdZNvneuRjysiqREANaPRYABykglFjajjBQfWqnuUDIheZrfNKJFPyxJPKveHJrfBfcaCDBOscYYJgSSdylWyPUELjhPpJwxPIiwVgFnzmIvhSHnwWmNImkqghVLHpcfRlaMQUbhvyrimsmdKvZNdTKqCDGfRpVorpHYbrUKXlMxCuohwveXCZqUdgRsqJvWpapJJDh", "c_map_string_10":"ttwzlnGYlQKjVOaPasgKpjKyWGHRttgncBbApsNhAYhapMcVlqjGoNvQJyGAKgOhgHOGBhSHIHphZTYzfjqWYwEqcLfhSJpbCLtRbrokyKJSmEUPsbLxWXnRcBYaAucgbmLbqhMpFMMCjvOtFldtAycFvFwMYrMuapyNEpcXXidBKxSPWbPErJNeTrtrmzPHgjpHVsskmuzFTJoyOqzHgpjSxMxVFUyuBAYGWEfDFcHODvGkYaNUAHvBfwwiULvNboxZRkXIbkxaiMmLKHQvBIpvCIhTSDgdheBpYOabPNeXacNvSTLFWiBiVyaRoJiXLAAOcMRQDAzgxHzXtCbLGKZsJNWyujAvteyAWaxohbtwbVnuvlHFuEmzvySqGGnxZZuUhsCOCwBEJkvulfuSlnZlBpdVtXfonhXZhdjgSFsxwgzysmkDniuTIUIsdxPsqZbnPuTMnmeEuTwMHjsgjxrEbWRNTopqnnByWotiQLIEAzDUuCqgJNCfZWmTwmts"},"c_map_ipv4":{"c_map_ipv4_1":"114.104.59.20", "c_map_ipv4_2":"92.214.151.115", "c_map_ipv4_3":"69.233.59.151", "c_map_ipv4_4":"220.97.76.25", "c_map_ipv4_5":"71.128.229.215", "c_map_ipv4_6":"14.58.172.30", "c_map_ipv4_7":"212.231.146.72", "c_map_ipv4_8":"108.135.175.207", "c_map_ipv4_9":"137.42.53.246", "c_map_ipv4_10":"69.130.160.100"},"c_boolean":0,"c_int":1013254048,"c_float":65.79745,"c_decimal":36.1326,"c_ipv6":"76a3:7360:f198:1710:cddd:c04b:7b0:ed07","c_bigint":-3542632897143268226,"c_array_int":[-1599225780, -789592536, 2115847048, -635983711, -396543923, 1245270939, 439576904, 395746896, 975581173, -1942786417, -166089776, 220911328, 1700292422, 1344147211, 2114089509, 280857928, 1860861526, -1298278764, 1974921131, -1401409099, 1327164836, -1350421842, 408309105, -1714369073, 1214465162],"c_array_largeint":[7524897724895145233, -8534452607218476779, 1767356163330053762, -6135093470188483213, -3855329959933670287, -2817487126758792106, 7669126161828028816, -3488790159254132333, 2736491771101943800, 9053646437950359466, -7622555467387807584, 6924309116787533193, 1096406096080928485, -540902943640895202, 3134993629444971222, 2621388411080971765, 2664595863745460596, 6643694694163232908, -663575586656323678, 2693985402902840855, 4685902373312120161, -803755326837818792, -3153189403743522420, 7595009658527868740, 533511714538664330],"c_map_datetime":{"c_map_datetime_1":"2005-08-06 14:10:00", "c_map_datetime_2":"2000-04-09 22:13:03", "c_map_datetime_3":"2017-01-28 16:57:02", "c_map_datetime_4":"2001-09-18 05:02:00", "c_map_datetime_5":"2018-08-08 03:46:16", "c_map_datetime_6":"2012-08-12 21:20:17", "c_map_datetime_7":"2002-11-24 19:31:40", "c_map_datetime_8":"2001-10-19 10:10:02", "c_map_datetime_9":"2013-08-02 13:27:27", "c_map_datetime_10":"2011-11-04 13:20:24"},"c_map_ipv6":{"c_map_ipv6_1":"d7ee:1098:ffb7:d68:2c55:1e2a:5c05:1bba", "c_map_ipv6_2":"2c5e:3552:36e1:8d0e:ec07:c452:332c:2f0b", "c_map_ipv6_3":"9d32:2dc7:c119:9ca4:f704:1249:64af:d992", "c_map_ipv6_4":"e7de:d0b5:5e68:eb4e:4900:46a3:e121:a96e", "c_map_ipv6_5":"7373:bcc4:ef1b:35a7:e357:cbf7:54ee:70e", "c_map_ipv6_6":"588f:401d:1669:29ca:7bc2:8b5e:a74e:59fc", "c_map_ipv6_7":"c2ad:82ea:45e6:4414:132a:3a91:c3c5:4ba5", "c_map_ipv6_8":"c6ba:c53e:5b2e:1030:5856:e040:2054:4ecb", "c_map_ipv6_9":"c230:108a:a532:6c63:413:3e5b:4923:5669", "c_map_ipv6_10":"8688:6933:51ea:e7dc:9d12:272b:f827:29d0"},"c_smallint":-11496,"c_array_date":["2007-06-15", "2005-04-06", "2009-03-20", "2000-09-07", "2009-02-24", "2014-09-23", "2004-08-27", "2002-10-20", "2014-08-24", "2016-10-09", "2012-03-28", "2002-12-13", "2002-08-24", "2012-03-04", "2009-12-03", "2012-01-15", "2013-03-01", "2011-03-01", "2001-06-10", "2000-01-20", "2007-09-04", "2002-09-12", "2011-02-18", "2009-03-15", "2013-05-06"],"c_map_tinyint":{"c_map_tinyint_1":1, "c_map_tinyint_2":-8, "c_map_tinyint_3":32, "c_map_tinyint_4":-37, "c_map_tinyint_5":-80, "c_map_tinyint_6":-66, "c_map_tinyint_7":-54, "c_map_tinyint_8":15, "c_map_tinyint_9":67, "c_map_tinyint_10":126},"c_map_smallint":{"c_map_smallint_1":2094, "c_map_smallint_2":-26439, "c_map_smallint_3":25496, "c_map_smallint_4":-3475, "c_map_smallint_5":-31036, "c_map_smallint_6":-17139, "c_map_smallint_7":-5711, "c_map_smallint_8":-16207, "c_map_smallint_9":21668, "c_map_smallint_10":-13336},"c_map_int":{"c_map_int_1":852406524, "c_map_int_2":1742433791, "c_map_int_3":1787056071, "c_map_int_4":-791276667, "c_map_int_5":-1783823753, "c_map_int_6":1498802490, "c_map_int_7":-1838487130, "c_map_int_8":1223930535, "c_map_int_9":231561002, "c_map_int_10":-1867525518},"c_tinyint":-32,"c_array_bigint":[1910550822110571586, 8577820294990491745, -3820088202468308035, 4869817204937279319, -3759229665159105182, 4618489056884677995, -2595440795522633739, -5217531790716206541, -5835109371419113365, -1745005676314983834, 383248737139897199, -5095901353649198351, 6999081010858045443, 5600684860987157904, -1366829268614345243, 7984275375070931265, -4085720913864775191, -8062328967155759020, 3275421580543923794, -4040875647757566346, 6688998450152814598, 2274267625296887068, -6636163455854194414, 3773125620840467993, 3110491904766429007],"c_array_ipv4":["WDUwotspKS", "wWhACJthlW", "jsCzUvAkoM", "OSjocgMEdB", "EuDmBJAfPV", "CmcGPmExCS", "ebHvUBFgem", "PTfSMBiXbz", "vJFrSbvVCZ", "rZTLlyzKZW", "hCFWjyxYkj", "bAyEeqGIqi", "AByDVPbkmy", "sBvyFYYmPp", "ozjNQxRbWm", "oxYEcnhRSU", "sNnKMqbCBG", "YUdNJdPkcv", "pRoIjUkvKv", "akKmkzKvGL", "ZTFbhbRtSW", "MGRdyCKAjr", "rchgGAIUeY", "bZMdnHyDMG", "umeJCWPhCF"],"c_map_largeint":{"c_map_largeint_1":-4314997746624111616, "c_map_largeint_2":-8652541567036170453, "c_map_largeint_3":-5582878873113824267, "c_map_largeint_4":7768310299952391018, "c_map_largeint_5":5312751221980882992, "c_map_largeint_6":817189090833146411, "c_map_largeint_7":4328486938158651707, "c_map_largeint_8":-5420291854319760462, "c_map_largeint_9":7484843317601582621, "c_map_largeint_10":7132852464171859314},"c_json":{"hackernoun":"card","username":"Runolfsdottir3814","minecraftarmortier":"chainmail","errorvalidation":{},"bird":"eagle","minecraftore":"redstone","firefoxuseragent":"Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/1945-01-09 Firefox/37.0","errorhttpclient":{},"language":"Oriya","question":"Retro farm-to-table ugh cardigan chia?","book":{"title":"Beloved","author":"Jane Austen","genre":"Philosophical"}} }','{ "c_bigint":-6981368279433413109,"c_decimal":39.1008,"c_ipv6":"1e28:c7d5:449a:9916:bf6b:dd05:c911:9e7","c_array_bigint":[2323555636053103513, -1092131467869730981, -6338437737907349748, 6198410372787568219, -7294132779127546862, 3001054241703044967, 238524685582010061, -8971141701094058642, 8084040143808926128, 924787459259342830, -2319638815409094138, -7502090029739807375, -2553345244270572173, 3601212124452032171, -8460865789326830317, 5954961264260545895, -4847493551512515789, -9038340740461779330, 2490902579503083651, 9006010906076432043, -1284571865755197489, 6229373224015149169, -4944725144534798071, -5625601589419261600, 6265300493306943387],"c_array_varchar":["OlRIItpJIpVXDiCtLVsonPbeWArakxEuOnbdcuBDWpELRXmDoCzfnsXSiTtFWUhGxzaOKFpXJZoZLAthDNFmNkVUZGHegeiGduzLQUNZpwbsDmHvQjRXvcxqKtCuabdDDlGknZwexXuJuRRwBGkiUmwLlKLxSfvxtBZxRgqNReodZspPttKbsGMXMaHlStwuUyjnLbMywgywhjMiEgNIVAudjKwjoNAaLCJXVCezuvCdgiZdYXTtnXRRXTXweoEt", "vkKIqBPNIoMXDvXudiVDykdGCKNrSMdAzaSIHDhSgzaCcjeukSoGzicErZoIHwzlaFKqtnoTnNHdxUUDvlSHnWesznXitmhotowtzQCGWSKwTWsmVDZSAJnMXIyGWclnGOAiRZsTWPlCJDEKXNKOblyGxBszLSlGGSALlpUhKsShbtCtLLBcGgbOqSRFKJHduOSJBQmPxMQijDMERyhaatrEekCqegUQEsMDJPEiHxgBKNcBNTKgsjJbaxupmHQD", "cLqavdxgeFTwBcjuHyUoUyDspBfnDmPbWtulGsLNEcEdsaTjomshVHikAdftiUddXSGZpYhehEYJobvJikfPrPmKIUmKsXHgydtmEYmxsvOrOapboIAyAVXsxjuENQrDTBGGDExAysaqFdtbYpnLitCgDIksyhmGaSVvRrBFVaTwJyhyhtsDYRCIwNclKEKdlIrDSWWxOeYqlWdHbfSNQFqVUTDFKJeklkFNaDJQnsSdiAmLpwcwclgghppJdjwN", "JxkyUzNSuKwlzCFbeomGnKnlqdXVBUVeJfMBgpiyBYKnWGhscZkmlUcZJeqcfzkaGXJupKfQVNEicuyGVBYMwlbISgZUBQpYhXRHZldubWnhzNluUaWxpHCNxnZRdtjaFvBzxXbkSNwOgQYyLccoDmOnskvbxiCzYHhazANyyqadknXQrHLlQlWvvXScUAEMybvlrnDTZqUdvjarMOHPTxcTNCIzQLCHhXAhmKWispQzxgRZpshxKcOYROTJsBHD", "FCFhyHugGeiDXRNpZgfeLGyzggBrludSBzYUmnkWZwGDXgvLeKsxIxGlejpKTLDWUwmeKNRxMFCunUjmTIoxoDZbDyrbfnrctEWOvMmKinEvzFPhpIwsBqiydHNjlMVRBbbdSjlLKnCezajKkwHiVyEbnJhqskRdPfUyShAkEwysZEGKlueuAXdRgqecuHnGcQHIqIiiyrmPTvnJYOOvyujfKeZnGHTpDnQCsuiEiaiQPeIpeVeYCsmmCFlAZZJP", "rbzOlcivQiBKlWKOfBkvUwOyYJGjLoVAOfMMgWpOvnwFLQtKYQLSLVGtUPbfXUqYTkYQGMeGiySJzhvzaXjmJiVyKwtWiSbBJbXNkMlAWzSqeUjJybcTzpKEcPJBmNdqyEgnXrYHNShBdggxTiiEIRrRasGoAhbGJKmbQRndyAAKPjRdigGINsLaGUUNoWnqSwKXeehtoTFAegJoaeLgZSrtXLLibUViDUDGuzqCyeSENSmQRywnrlsXkMbyZRoB", "rozCZUQZTqAaYytIGAQlnlxKvkRBJhKxNVoSSjrixlKvwdButLljnUUEDoAArdtkGJGhALIwjzoNApFfayhIzNDkncZyCZEXAzEBMANBbgVTxwVucTQRYuuZumQFWmkeUiwUkDAVqySQRfPJyEDGbwSqWsRSzVZLUMoFRYGBylelxCzBMLjIjUvaYsfWViRAJxNepHnSgtkQxwswuErBcsEOLPjIPHNbOBjbSYsAwnJojajTBLKlhLHejibKOUxp", "djPxvSgYzcaqcPmBhNdTQZHLWjzZTvNsAxTOyRAqVqrtKrzHFpctsQPwoWjFHLJolmbVitFxktaHhODSGaoQxVdMEFhZwjRjhMeBFXumCsuJTmctsQXUDRcGLjHRcwgvtfWdshyiBFtJPZfRZnRGTKoifZasreEsjcXtwdVuiwJeRuROBqVkdTHRfDswCBZXqAqkMwGedZbEqkuCaIMhZqgjMjfZxABIAGYyGraUowwViYzqbgiFcZhUgtMjmVJW", "mkqmXLXIRCGHEmbvAaOyulCBQXzipIIRmuvOhDPPQHssMqNSRUMUBbTJKeqGkqMrCFjLnFvoewdArLmtYfSYJuCtUQGTGOABOdxKMDsxcWepcwgwFWZOiMjANssPtnKhnumytgdigXJUupPmtJpyLdjnusjPFwYrFixyncShKnWRIsZUTmGWBiWYcshHPKkfPbjEweTUfgXxOcAVyhFfvegVssSAQDYmxqNZoSUyNhwxmwrABGpEtsXsUVOfefyY", "mciPEhgXJvbHSMuvABIqTWiFkvgAvHrOdQdHzpcRiwcecBcCbUVzsPiaEDgbNPzytrrkMLwFxtFNiwsrkGqEIYTOGsEiaayxfvktpdIDWdNEmVzuxaWaEZJvuSYcbibZxPIhrYFUvKNUNMtGkmNIKcNrtrFcjvAACqUrbUAsabccbgCrfwNPuyCCAHcHcGIUuktrFyQAJzttczrWwJWgdbvLAdBeemVKBrlgfNvopKYtGVgLYeAJmOVBUOIUgGol", "pzqysnDOwHKBovNJHDRKSImuBsWFCqgPpZfyCyLESSEvukCkgQOVzTTyPpRzPNmwolbMIotUzFkdOTpkxrNGwpmSmJWiyaxzpBXOgfafhDxTweESrQYlTgwtpvQbWUssiuINBnIMWUVEdnFrzTAQVLbknvfailZlSKxCjiReaYfmlsRWRGFpNYUJKpJXLjKsVwQlUKODBKFAykSqYxgnFEGMLSlUXTJgjgLEbFCrSYRwonlLhqqJWCBcufArUaeE", "ZnFfxPRDyLjtxlsFBsxNyRJwXMPRXxDAbxCmpoTlvwYiNLpDRwDaATYXigAMCKqLjyNYglwRVObzPosZYpoSQdELydSbbTXzmwrUsyieIEYGHUmHSImMXPgdDJtualYzfWyKvctcpHCTnrXtwOcCzUOmvjjbkooOkxOMIrkCIdEBrsSTWoNICQwDgwmIbMQUnVmioBPQhHBkkTdUBNEKnhMQsxAxCOupMVEVcOZheUzMXZPqQYtBYroAbaamUMvf", "ImMZlYTSfaPUFPKoAacmIzCZyWGHQBiHhqLknjEwdhHKFsKGfNzXpydFMJHTBKlLKUfehVFsTpnkmDqdjCIiAwuDmFleuIUZmvbnKXkIUyDYRKuoNjPyIhfRyKUiBsQHAVsEGvTZHHJEPTeGFAginptEhEmsMFWPmiTPzsTmJpqccIJZWxHTbFXbzrWAtHRUZDbvUWxyYufNtCYThbAMotnKdLPmsVvMTcXIEWgHJSPuzAOceeZbOtjgwJaeOZdb", "waLdCclBpArChUcOhmrWXLlmaOKAiGtFjrexJbKasxGPFAeojIcjBWlpIQesBQigkicTNHCIKRhMcFIURRxxQEQPolZMWCMpiyzOfPTSypFWAwVlLBsiAJuIipPRgEdquxbFpBBCROWXsEoxephShkAlcWZxOomGMSimgyccvcYPvKSrZZhhTDxtSRciWhklqEKCLSQTnjFGBSFYDkZZrySJpOMVrQRImTJjBqbqifyfeoyjJxfZPlDGEiQoerXz", "fibGiHcrGxVbjFvtKOdZWJGjsnNmbwnDFGaloduNIQAGgnePvbRYeDhgbRzjFrrUpPOKoolQxquvUWYPeJMKtfIZZpNEFXIAOUHVPlArShFbqVifWTomnUSTnhuZYTjylVcTahYkxsvSjmxouTsthQjWoPFTuKQqrUdqrhAkSppuBzkjhZHdORTIxWzcLDZkRsajADGNimARzsvBICPgMiRtFOGxaGXbzZHgYCRVhoaLvisNRmORmzpXDWdYHhEs", "JVBdOWDwMIGEQOXRdBNAdkWoAJTlqTyfDJCijvevUYzjopOCGGUMTALZjuoGCTRiZaVnwuGbcyTqjWnOWiODiUTSGEvtCxhocjKUjImAIgvNgFLVYlJTSMHKxOsagltMdSJYiZzUGJEYufohQAXVbLNRDLJEoDEwVgmiTQpZsCaEBCdDFHBmXbqiuGgnrrZLUDGAbsBdOLZuyDAVfKrzVBukDubHelBdFkdXTaTobNfnBJLmRopkAMFVoQfhoqsT", "EBGabKnbaWAYemeFapYHQOgLpfSKssCuvMXigMdfveUwfmHbCfBjvglDXpZbgBLlcpmJTkzLXCEiynzCyPyHaJXYhoAJiueiyWzCLZdbcQnlRHWYUZnQZAfSGqIfaRVfVInziZYKKtXNXieqhUTIvZLzXpCLlxfRJPaBrByCygfycyJHCcjBAQQBCeTCitACPuerYBvRsXsFDNImlsXlnpeKwvDfQGZpgjQjcfiAeCDyWfbFBDFOCZoqNQlSnIuM", "dIVaGHWywoIhkmOeziGLoRzjXOvpgEVNhfoiKDetiAkNzrIOAwssEQpvjMdOlJfoVhCTiYaRepqISvSCMscZhFZQUJeZIxiGcnGxKNhFTBTJLwwnPkMkMdpvKReLZnuswaYytqHuurATMKRkxTvmdRXWxFBzpdtCWUoGOefqFmFpJNDuWOPpElBpWTUmjHQLlDiyCHrhYFdiAtXNjGhLywyFJDvmbVpgkONKvcFaziEHOlwExilNBbgjRBlupNDu", "GcVdAKDMVLlQRHZNASwPtKtAasHLEWtpyPKYSLUiiDuAdLhTWSqLQMjVlOoeEwPuoYlUJOuoEHQJSwTEYMrVvqVRsSXfddpDvTuUNqZBLuuoFOyljeppvaWoVJQSqSXRlrTIcUpQDEOHIpQxrHfVTnfwRxOuVYaguuoZcvbofrFlBFKWuuQrEegxEcInbjbMEjKEZkKzyYKOWGAAAePwNlkCwbyISDPxlkDbKGWnxzMRDAHeJlBrXjXjuONbaDDy", "HNrBcWRXuYbFtBWGpjmzSNrZjDRubiRDLkseAziEuJIXFiJecBOcbOeAMTyCRZjSmxdmVpWOaaaeMlaCZGeYiPqwOaiiKattaIAoATiLtcxRHhvaELNCtCMUaBCHbOFQlXEUsnasVspwVopgJmmBIpiaVLMmgXcyrHCldzBgxRhZPVUhEcOVOGZqMrBFMgxHTcTdYrlpBMxlUXJXJtWrewAFvtjOIkUSkpSmhabXjiPMpplVVPepwzgJlhBPKwBM", "HyoqIxQkyXpOuxMNMoZYyYcKWKjALrYKjRKMdqMwyFPGrYIkTGRUPaSyaeXDQzkaeIJlbbMHHMIbUGsmQGUFBFvrfhZGMnHqVZVUJXhKIcEiZIaUAPukOLoiQHnRqAnoelPBFbWrtITBbtMOetPUKEuDSFGpZVdboGktfDSVydaEESZqyntcjdyssEnopsBFftuBeIioyHaYVDerlDwsbQvlnzvLmTogyTgFRxyBHKGqZTtTFcRlZDnlZywyDnSS", "OcwkjioLsGbwdEXEgMMJdeASukidpSjouhpnUFqcYpvKfwQoYmeeOlhbRgOKDhSgXfjROVRSYSjOiMsDdqkWEhYOLnHaXYaHDQDOkOSuNOAmNyBMGKjTjgCSDzUTmtySnngVEyqByNJACSrPBNfWcoyYalcbKRdYGEtZpHljnLkQplxpxOUsYqORxKlcTzmDWDwoOqKNNxfxAkapsUQlITbpjzWAjnjupDVIKwcjgVIgpVtWDKeGvnWjAowYQqzJ", "PZGyMDYHHFQXGjQpSLWtHTWaSajvZZPfVUzhgKBtKUQcACeqIOGnNDmjaAIYgXCmxEVfRdxkErUJclNgMThLSaWwMEhxxGhBAJXXMQqAlumOVKkOptuoLdLFOCVgwDuyXIVZPVhJBGHsLbRbPINBnPNgBEPmTtcDFsovQVyzSrErQONNkWoZTXLPBjRFrDdqicsPinqwIYTgvBqfuINwwGuZZYQbRajNWxCGAHTNRshXpDNqbKSYNJnPUSOiPcXZ", "aMjNJmozzLVVszvdfFMHCGAGrUrBMxJijJXYiJptYtnTJMPLpVHcwcfqtcEKeXiTGTDdPjgaPjXPPvAFOOSNAtMcCJwXOLwTOpWmFYZbxMlWnnGvUHxkpYAlMNpVvqNLmIvOlThfxqKNlVCBsFWvTuzazpjQdpHMbzphsSFmmITVoxCleufLlNBgAMJwhGBQNLcKZIqcEqjrGNQwhHcsYeFCyjyagKqFNaegEpNzNyTkjudesbUWsinlirlUJzms", "EgWUcdTRuwkZSdqHAqEVZPJQRbBPVJCdSqxmzMtmbKaLoiCIeslaClUplyCTOZgKqvwutztCqPhxyPEfvjxhoYAttaDxirgySdXCKMmoITRPYhjpcpovoWeEUNLGEGeHuyFCpzMDcHKLvksHWZbEGLAREEGPBbNpUwAwxQZMaroYgjBjXMTDGmWrJrSHNGJYiMHUzhhLLTvtuUpkaxOGjmajveOfqcOadCogmLgYkxhBiDOnZxOLGHiuOHJuvtVk"],"c_map_int":{"c_map_int_1":-261888975, "c_map_int_2":587957907, "c_map_int_3":1592523907, "c_map_int_4":-10914834, "c_map_int_5":2050316404, "c_map_int_6":-757366573, "c_map_int_7":-1167309860, "c_map_int_8":2115723973, "c_map_int_9":403128309, "c_map_int_10":1734681582},"c_char":"QcxzJDEliO","c_array_int":[765695094, 1985674837, 54220122, -569236150, 2120249439, -1792726074, -77658050, 433154899, 1164205242, 1681109690, -2078715353, 1694845028, -1167505826, -347945625, 1091260509, -1134054968, -976932360, 452643746, 2133375136, 498774789, 1036420792, -1123081080, 320875563, 1784897333, -1047592418],"c_array_decimal":[0.1004, 57.0680, 47.1463, 26.0281, 74.1880, 44.0253, 23.1799, 9.0968, 4.0710, 64.1431, 49.0914, 57.1066, 94.1652, 64.1894, 32.1685, 42.0697, 42.0382, 13.0917, 47.0459, 27.0413, 16.1734, 93.1357, 8.0757, 59.0376, 11.1913],"c_array_float":[79.418976, 31.276705, 25.589619, 24.28024, 47.71332, 2.2908792, 6.106897, 32.90762, 56.75417, 23.033455, 15.212005, 60.639435, 37.856014, 52.63841, 36.605286, 99.96564, 36.78772, 66.13095, 78.97849, 21.057447, 28.718193, 8.14439, 36.179832, 94.82828, 5.6235323],"c_array_char":["DkjQdnDepN", "jHiybvKlEy", "fQcNhGtXzA", "QIMpAvsFmM", "AogiZgZYmW", "QIZebhKXMa", "wLrZhkpImS", "xsawgoVTvs", "NpgzmqZMnT", "PEvFuIDUHK", "DbYzcVbroG", "ykfhuSXChZ", "aZhmviCdTo", "QivPidiBOz", "nKXUJrqAke", "EixyHXLnjM", "RLWuVLuPGg", "daqJtKJCWz", "TITbUreZbz", "ezCRBxkxIg", "zYTjJrmYNv", "rGOgGtOhVA", "WfCbEIkxdJ", "jVKRzXtDyz", "oTvZIVwcBs"],"c_map_smallint":{"c_map_smallint_1":13131, "c_map_smallint_2":-8310, "c_map_smallint_3":28, "c_map_smallint_4":30626, "c_map_smallint_5":-30996, "c_map_smallint_6":-11913, "c_map_smallint_7":-31251, "c_map_smallint_8":4160, "c_map_smallint_9":-14656, "c_map_smallint_10":-1245},"c_map_char":{"c_map_char_1":"cMvaLzhaIh", "c_map_char_2":"FKYHfXGHRc", "c_map_char_3":"OOnIyTEFRv", "c_map_char_4":"rFIMkoCwXl", "c_map_char_5":"ZbyREWiBIB", "c_map_char_6":"VPVrlGsdCv", "c_map_char_7":"meimoqymzS", "c_map_char_8":"cKpDARFgBb", "c_map_char_9":"mupBSUzVdH", "c_map_char_10":"zEudgDCSyV"},"c_int":317237703,"c_float":28.711464,"c_ipv4":"128.197.64.99","c_array_double":[9.28066400517271, 18.097311651148694, 16.92686827683288, 100.11341827405955, 33.77963813973056, 27.47829563757559, 16.89647149430922, 57.36929202891143, 25.245526917089094, 54.34756171463711, 75.85655764397839, 13.606030663092268, 77.25708404955226, 100.03863124194713, 82.62711327966456, 80.13856556688313, 3.786036812201176, 41.282392449789015, 44.71783729330515, 52.013865454976745, 35.86102248317318, 92.65693416816659, 17.249343596495077, 48.1167470664533, 22.575733404465996],"c_array_datetime":["2012-08-28 03:50:53", "2011-11-12 00:53:49", "2000-03-19 01:58:03", "2007-03-28 16:59:21", "2003-04-12 06:19:46", "2015-12-10 10:46:02", "2001-05-28 10:10:01", "2009-10-02 12:49:37", "2008-06-23 20:30:39", "2009-01-22 05:49:55", "2013-08-14 04:04:32", "2001-05-25 14:24:24", "2010-08-14 20:31:19", "2004-06-23 20:09:47", "2014-11-10 22:24:22", "2015-09-11 22:47:36", "2008-05-27 05:52:21", "2018-08-04 17:15:29", "2014-02-20 01:59:36", "2015-11-09 19:21:44", "2018-10-03 23:18:18", "2016-06-17 11:41:50", "2005-03-04 23:58:55", "2014-10-10 11:15:28", "2019-12-17 23:57:38"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_tinyint":{"c_map_tinyint_1":-7, "c_map_tinyint_2":103, "c_map_tinyint_3":-10, "c_map_tinyint_4":-101, "c_map_tinyint_5":58, "c_map_tinyint_6":-1, "c_map_tinyint_7":-65, "c_map_tinyint_8":-41, "c_map_tinyint_9":123, "c_map_tinyint_10":25},"c_tinyint":122,"c_array_ipv6":["APewLGbxJS", "lPURDqhjpE", "eLalFYQYnH", "nABfFrdcRo", "egrlukMxxe", "BCklSyggyU", "uKtCxZvpom", "azpsApJHuJ", "AnBsrjATAY", "tpLhinCoMz", "hleKlVzYOB", "kVtXmMjczh", "dlfsjQnriO", "cOhrRcuCjQ", "oCnnLmbDeo", "SHKdwJwBjM", "XtXIHBDvpe", "coelzxmuHG", "PkewdsSHbR", "svLThNpcNu", "AmwxjtRqKz", "vNMoPOqKXA", "DoaQmUktZj", "YRpbEtXlyd", "YsxElfKKAM"],"c_map_bigint":{"c_map_bigint_1":-1016555106689514298, "c_map_bigint_2":3622686395602609412, "c_map_bigint_3":6853065438616644501, "c_map_bigint_4":7008890518002850748, "c_map_bigint_5":2318414622810237841, "c_map_bigint_6":3024349553627580341, "c_map_bigint_7":1375954218562177061, "c_map_bigint_8":485654129287579445, "c_map_bigint_9":-8145625066148014880, "c_map_bigint_10":-1029751429779392350},"c_map_string":{"c_map_string_1":"jJzjSKczCOhVfdprWCUgRIPriDqUMCiNoFpOCODcVAZqzVvGFwvOEkHxeZJkFzkPbdjlUQrngrOOsAWebSbDZMqorguoGTjMFAdUxaEZOQpEYPzemCdgOxmEWULQbswTLaMXJHVXeyDMspuMYxVVSJLCqkQsmtmXupjtEByxvctsgpGOJKgxaxbogIhjXDJBMbrtxqfDnbnzavARaDevQVhiczdTYFpenGrGEhRYjzLORhWQvmHCWPKCpOeoQihSmqyKQUFAJghLKSZwmvJmqFkYCgQkZxkDUAZNmJqofJHxTvnAXIIvAFssdKLjIUWcLNoNFsyZPRFGAwngEEUqmQFgLAfLspKuCTpAprvrQVRWRFtOBpFaifVBkdDZwBTyCsJAIbGkIVvxIKDDNpjNpbzUkxRwMzYGszGQbHKvXLBuZXUWZnPvDFLzsgbYWhElwHGYLMOGJGKwoYotwsEzznQpmtRPsyTTwsjsnMrZNPHClPrajNyqnVyapbkOVdkk", "c_map_string_2":"eDyGvQaEbfYTRTtdyLhuVZXGjqqLzOBjjRdPECwHvHiFMPZlQJkTWrriHxQkItlCUNGEGgNTKafqTvUVaApopdUIhtZbXniCrYEjzVpOksWpUATQqGhXpKgWxhVZqbIvOCwVuwaDIbzLNlQWRKQdoOnGbmrLehEbCckkYFWlsIrKkaOxWyLvGKfEwblkACxNgHzbMOjKQdubyZuIHKEKnNMlMfWbROgIAIbVGkOrvAzmYOdvtgLUDilCTblTyhrpHqIPHHgrQVzmpkyZocCayiWgwYlmlBdsjniABtrgqzVGdVmpToRupUZbkDdUsrghhMpqXgxOFKFKOMKIdtmJlgejIbNMOJchotGrsmfSzAEZzJQzELMJXqYnFbrGJoHpBBkHcLePTiROJAnykpJLWjueEZKJtUMGrNDIvyjikZtQwTyOzLXJeXUVXPnpUIxIXvgTfAUtTjpLkkLzythcSkZRIgZkdUGoJdOaLeDxpWesRXdCGXBPiYPBmxBCYYNB", "c_map_string_3":"YdLwNwUVdELgHCjOjEJBcyAPeoacbvEScLLZzUhnTbMnfGewAyzpYCFGAFRDuHiLZGkmeHCVnNcHfDCxvjNlHGLGwGbYTNWquyCIOZccTvCkRNiKYpoVndihZURwWQsOWRyFudntCqLVyGATcBOqjFfKbDfOQWbLDDZurpBjEGjxbmxBLKaWpbpAMZhuNPFBJJKlhJTqqaeqyfWExczwnKEazMxcrqMTjpKYcnAvrsiXDVUBNVwHoPjzwishUktedLwHAqHyiiqLEFHxQTZVjTECxHfrgYtTlXPGoEDfSUFgqGtyVsgaoeUUJqOAuFXiukpRzJFyGCNxFJaSfKgjSYjGFloMRqabNsqUbFszZwqgMYTAZxGwtAnkSbOSbJgoYDZSzVoMndYXRCKQJhivdZTYweEHKTiDIRLNoJlwyhOLMuDtboFRcQpPjbpKGXRnkRKpMFDNWSeGLRIKdtnYiYPmxDevVfOiSOhlcXHpNCBZBktDWizCJUaihraCgJrq", "c_map_string_4":"ftwXTTYRDAlZNQeLUTWuRKmMQftUkhSHssmuzHiImktHWXtPdBUcvfGZKWLcmDtbHNjhLYTmCiwGorSmQXaEIypXtyphGugsnrfsjvIIkOOiAfbfSDFsUeXUqcwKZjaIEJEJzPsIaXbbXsKByOrKdKLJtelDIkQTSFISDLBQlLORXYACDntCjZFalkqTQsodlhHiMusUMkhytHLtkuhgFUVHQQFwyGSuiEIKvmFuYHnlSQNFTLCSPTXaIrHDDcsDYRLFgNsIYbqYBVkInaocORwxwacsKPZSfWhtngTMwYznAzannpofKxVWAPGoKRLgQOMvwbYrwNFTrKgRqvZOcDxgCgqdredjrbHxUlCQntEctZAGTjAJTzFQEOKAliKUPiJdSTdDPtikThvdsoRGvqPmawRgDzMgznxeViFkdRULuylNbogSNmFZrTSeTntUjTBWtALURmdyMKOMuFNYZnslKLowUMOLrmauGSsleaNQkAqmDjXsUvhWiMNCogti", "c_map_string_5":"LbCdrvXnWHulptWuYlISpRkJihYTXyNRAjjdCbyotdAmzBRziZanNxuwpeyWVuBRYANlnNnTIibgiaymjRQIiTgFIgNbjHCCxRzPMJuKatoXlMozVUggBtshVHIjVZcZzYyVQXqIraGARnACkHlZuVZcdMZiduiyXhBAqghAMbBojzvDDLHDkyWeCiazVmEwTLdoBqtwHhJezMCJxbOYATpCAtJRmbaRaZkuAxbBqfExwIKuDjoGHkLfJNrrHHrjHDcVsrBqVoSwTbpWdhxCAvYNYGIZQpEQaPzxbQopaCbTrzkhWEIbfLBGcsEgcPUmZTfmWCatITkYPbvbQUUEMJDZVxfHlILMxnlLqoPoFPXRaEMvscZBTckSAVuyrhreTxBqKFjGWarxEddQScbPUBUtMJjvGzpTmKIMFawSSVQMjNzycusmeEQIbyEzmFEktooXYPHJeOSwAWVsAGZZAjjYtASEyrYuwwpXEPenorKdPbaCoGHtCOxYHdqYBZFe", "c_map_string_6":"ZnPRygAzywEqHJzUbxoYPSvBRVvWYsKAiqJhgqHerVKFKBPMmgfbWZpbIDLayuqoCKRAeEkMaBdgbOAQxocDYTRqkLwVRNqvFNqzWriJBivWAJltGuTNcSMrssVViFmalOFznWvaxmAvsTnLYEeqJoOuPxgiRoUkQtSgvRrLhFGxcanErqsNzTMjVqPgpqbAlEHXbuxDHtYmsVFWPqqQHrglbzVCQplYMMIQTYdKYetYRVmkmNqtILlnGFUGmAJxPCQIIDAorezpIbfhAOcLLUXNiOWRxnaDMmiHfvsclwPhFXixieZQixJDfabQRHcxFKXxObTNWtnjaCgzDlKCSXvuYCsVYlbFaWnmLRXUikAnHdZjLPDinIHPKYwnkpUoAqNdiANQQxMeKbyjMQmDDWOXtMBlwSLuAFmJVtuLhZcUEZXmCMkhDWuXIvpbSKphpMGbWwAujGTcMLYKbpojhkeexIoJMKSPoWdGOqnYjgXgKmeipREzBTrOWylZCcCY", "c_map_string_7":"GMvHmzuMpcrgBMhxQBJUATGXwwNLzgAPuuyycIiTnIHlMLwKdmurIeBWWhcIEUdFrOhkPvpTUIiAeEGxRPwICFVSOGGUMmKkqXirMwGiBkGDxcErhCmsxBABRZjWKrDLUKalcGeakJIjFrJzHqTIkqNdxsMwpuIRvRREGRGXqJVbFhvuxvoigSaRTcBmsyiicVzcAQzjnxqvPxKOqSbcsZrQiQaixMqDpRQpESyjLjcgtInKTTPRxtNRwsKpedyVoNfqZZeOqUidTiqzGTtSOsdLDfPpSSTnIuuXgYRiHLtukSQHaCLemxOWrtGdNDPTIfCPoDaAgzmYfdlaqeQLpyYIawOThtnUkkFPOojXXwSNsLTdBEdFyvteXdZdVzYSzcBkmUZesdkDAqOcoZgWTsnfLYaKrZsuSsjjLELKNaVywlaroZclwCTdgNEUhBsEyZDRaLgvBdSVKXJYuMFwBFqJldMEBPZFjGYtehLTdUZRJJQqEamBxzXkWxiVENUq", "c_map_string_8":"xMGYazmXcFmwmkPrOUlekqcokxzWgUdOCXCOMSOtgTIQIIqTYzhCRdiNoMMLQHsEycBtDsnNKjSnkHosBRLPwxkwhKAlavUuQgznksYABESPVwWMGbqsuXPvakwQvfLXjEjGkcVMNgePItmRMUlDZBmSFPXbwiXyYGPyzNtTnOcFpSOeJLvCvFUtWdxokDKfqZIvBNUpSSuQfQpFVrvWonNkCDSAkTqFgpFnPUKMcXGkclqclaCbLwDBmPzhHirkQrHlNshUFvquOCzNyBARmfqBjnHpDtlVmJlkARqBwYDekGEXCxILiuDmfzlxnMFLPXxAQnnebAmZSQqOmVAbWJnUxhzWXKnZioBwMQUjHgduPSYYMwLyVcpPXJrKEEkJFkwwONmZGFtOlPHytLXsnVBMtIDEpNLzzXdUBvsufIYMfnpdQyaJZWvjiFlBEYrsZKerDfooeJeXbUkZhBHLjoMplGsqyNBsBmPrZmoNvfXHhRbNkIsTGcCRQEYMzPtq", "c_map_string_9":"vWxodJTpPAqEUMRwAlNpElHaWUtxykRMMzsTqrBTVDwRceUOXxdeiBOcionJYmhHNRWnUPWQWdSQBhvdYPzAjKWOJayWzohzVEdtDidwIczouisVKbnoYjiRKToyhkPOWpwRIMbUhvoywwuPLsuJHnCfoTZavFVSMJdngtSnXCpQbBSvNxbdUwBUSbKGONIPWhHEIpXcadaXzMmgCENoEqzGAZkeNAspGwEQKHlbtwVYzEMFiHXsZbFjlmxRGFiCJWgvGYVlwTtwrvBGUAQjvfQGLicXhOHwWPTZZjhsFslaScALsQnqGxKAnTfjoXVEByFcQRpqAJDfGkrKipMCPdovGsxjJWDnFiPjaWZUXPcmKJdKUWYpclqmKbmIILctZqczjSjzrGxMzAxkEyYUHuYcMgeslFMTGBUwiZEPGeXSXiaZphSIzReuvjujWlEjxNmpBsBFjuvUwfJfVxHkRegScWBoOmIYECusAYHYWHFFAMFvMURHXOzYgLFBRfHY", "c_map_string_10":"vZVHBhOjQLZyUZtVbeQQqVJeGqBfqaZIbEgTTEScicxYjsddcIENjdmZsSWyuJEGgivsbUsbOfnNUxOPffimmhDfQnXYVdwMErLYTDRDYDpDSbrCeSMSRCOEcHstaQZgPguyEwhSQzWdbNJTbZoChkQDmGHQrBYGMKJmJigrWUhbLoJbruUGSspyMEYuZBcKxtzZWlZUNzQgwcPijqnSfSYyAWyqPjIwInKPkglKmWKpOUIuLqwTIDGVuRvVrXshlEbyOBPrHHNhEUNTVJVvmfSwyRtMftWeNzHnTemvBkuTmbFcGUZoTHWMrxsINlMOFbObWqCJnYjSMBTbLyBTBzFaXiHCoNACoqtZgfgzBvYodQEollZUPCSsDfjMpQlUKwcDcCrkyfqYIdLiUttlsiDcLKJsuQRXIdQBfNePqZjTIEpVggPYiERxMLnWZUTAXjkiWTHZnLcKMZaQpXPeNKvQryLbNIKWnWOkBXHYaVVuCmpMwPCJdAeCjKzyOAyb"},"c_map_ipv4":{"c_map_ipv4_1":"125.250.76.60", "c_map_ipv4_2":"65.143.160.214", "c_map_ipv4_3":"182.5.167.146", "c_map_ipv4_4":"83.200.94.94", "c_map_ipv4_5":"58.88.213.215", "c_map_ipv4_6":"77.145.85.89", "c_map_ipv4_7":"155.65.95.240", "c_map_ipv4_8":"5.136.142.140", "c_map_ipv4_9":"198.165.136.208", "c_map_ipv4_10":"3.87.185.77"},"c_double":27.587929879537626,"c_array_string":["gumZCWoQugvccmOMmQkEzvSSvReLSgxOQEtZLdzidEhAkIiYFHUWSHXlWsqdcSuFaIwRkBlGNCaZJqXnfKShmbzrPVKuKaJthkiSJOUbnXGmZrqnLchpxIxpEqqlcUYJMGkJMxoYwsLnSvbgyzMLsKxMStWpYScTRnuVGbvTJgXkAMyswJVMoHrcXGABcVtOLLcQmeJTetmidasamquDdwaqVwKBlyYwipAMLRBtfONhytPBhvBeReYTCrpmshvngONkfAlpiENixkmGdCAcGTGebTtDPDtshgcuENQIstBPPHmWAAdVCOtVvdXjlbEYIsMHcznBbBFhIQdHvyTtFnRKyPDhCWqmTZjlkZsfTaQdOqatDVxFIDRzGTTQLoLsGXvqRZENubijCJXcsQrBpYeYZMFbvppYxzkTDbbHnkHcxwplOgzlbcTfkjcoXxstarJkeaTEvlEjhexaSCHykTGLJSBgQNVyPGWErgBlxHvMWRYVmZfMBnTycITzSdtv", "qkXjmLLndqVekvOGbmCYvgxFfpGTwTazsRBXaPvHutnScMPuvyFrptVFXYZsQIaCGurajMPNlERlVeRKRlgVXJMWuuIuPHBCCEfRQaBIjiyaATnZaJYYTjBPqviFAJbFZphyHpKVDtebZMouZwwVpBGZhCdbePmHHJAxHJDiMpoJUvHDwGzYpArcyKkiLQYyWVVcwDBhTddanBmIaiimajrUUhlAnBLQVAIYsKmYJOTPYyVTWNxXAwqgZJJbvGlEhJkLDciKfucnFYHFjjnIXDMpveJpLnbNAyXMMYRPOtwJNAosGPgFtuQYwZITrCeXwwAerDtPKECQKpPYlxaDRePbtwEAOsHJHSFRrQoJGUaTfYwaDvFwMaGWmTeMcjLEHmHGRhHEcmouBqdapgLkpjYGKsFQKvdCTOZsuJYWgolGsbyTxjGUtnBhVbTHOCFAJAtXaPqnyDnjohqpWSdAVfzvsjMZhBydviKbHzJIJNswWfvfmtXEPkZTacUnywTW", "pwNhVAPZTZsTvmgBTcPuPRtaYOsUoGHANVtVHSZISSXsoQcAZDIKlVISQrzivjBPfUhCLjoAAaxSGemiIoIrnjoqqRCUjOrpNLLjXBZnpUmYQKHPqJoycVzsEPDhtBfeFdrFfAVOwgkoTTAivOjtdCtsDZYcLlJVRjOCuoLZZXuBeKYwzJudbugYWUYFimVGSdTCQHECXCeevoCLBjvrJWXkvJBLiuSqBYqMVHPWkUwoaNTMfEGCxvhwCaHhAZyjuQZRZfRlOwyEQofnomPGIKaKmUzsxhiZhRyCIpVbSQuBYsKJYXENBREZCYmIVnhWoLuAXSLeWeedTVfYbzrxybBuGglvVeSdhxRAvijLQmZgHsKHDNjlNoeckpYOvhmOoTaHPhhzNbFryeABPNZKrvzsuTxjKAduYtCsWLMnSCKYDTEmUFQkpYsScmaQWHctscxBSdiiAkWlVvfJeqaqsShsspMQlGGmwsJlFvimrYwfusrzDcAWoQiWhLhSEwcy", "HkLMMEvBszyTvHVytQQcjZMypLxfdRVkUawfjQCRFErSglzrJqUwcJSUuBMHjritBLOaUZhqfCKPoojOOjRxfHgDDwkNgwVhEQQtDswvAymiHvgDJoOUvlpXJhwtUTACJauhpjJHlxEhVaavzwISlcuPjMfKoDXxQVNmbEcErQFBtGyrqOcsGsaHvhUvMjHhptXtEhRdxhwaKbTFERSQLMPSmBjFnzNWYsgtaauGFDhWEcAxBSjrqajzedisBRNuKbMtnrAIWRBcqGEZenXVISQqXOaZqkolgrgtRyPvlUmMBXvtoriWuLzkHCycASrmarAwzJXSJbxytEaARyZfktjgwNhRhNiFbCDAmgKgoaCZpDDBQYWuSEAfgpJEGAKXbDIeaSJxQEiVtsQobRALqGxtLIaqayeeHTcLOtaXUOGvvtOwpnPySJOvgnFyUvaGZHRCyyXfutGoABYOBfMqcNAhUUCEKFbkTsopviThYvYgVvykIYMywdOPHYoXtsjT", "PWvcAGYpkoEwHvtdPCYxzOeRDudcCLFmgKatpEpAdKlmditxluCtzTwQecjgLLnNrrbeilWnHsWioDwDUGzONwBBNJzeouQSwtSwUfieuLRARIEDIvCjFnkqdRgtrPfwjRRGBLUZwNHZVQZoFAeCKWaRdsGQyhoHzczneOipMxVBQnCXKKMrTBHarnClDJKsjZPRMPLTuFnNhFdUhPZLEaEAzuPomzFVgrWeLhzFHOvezfDqnlsJDudwFdnGGAefGksTjARpoEIXSJiNVFrDRWEMmRArnGmgukBDgYiiMnweoGEFgRWhQmtxSQfYERfUdximZoBplvymPfRngpCpPFPZSZbwPikaxXJJtthnkdXskPVjzCcvnQstZUAFJvbfyYAvovZVRkbVGFbXtURxhsDKCYsuLaZnfXuSiiDxuvpMDvapLpSBQHDVNRuWdEhttJtCHVWvqtGyZOASLrklEQphSHcWVVZlqBeZZEeBaRnPLzXNSecAVxXtEQkcwLQN", "SbgAOIuSTvsQceXdHoxRYVEopUGijMYvwgsRBzcpOPzUIrqoxwLnTNPsXRdYFwNOsLCzwGbxyzsuuYMJeaFdUyZdskGFMFxHFgPMyuavQfGaFBbVajMjRssvMiseIFKMxKvnKAOwOcWkWQuPjMJTZfdlvUgqszjWCwaFvKSkshCgVsXRPpnMjpFcaUalsKTxEKTdWSIfArfdjJTHPGQplLqUwHHvaMIuOnkztJEomHTMkVjmzRiJVvWpIIlUiMHzvZxkqQXzCAgiDHRjYaucyGyrfOlTahkSErkOxjvdcrTAdufMZCxgoDMBqxbGfbcsFbwNlyIlaeDRQjHimXMjSRWCfFETWIxGhYlLWykUcBLwmdXtaueflwuuLdcoeTpdcTpmVxaTOMnhWOxVCcKeSUDxLVIlnyQjaVSnHfvdLLqixxtDLmhujXYHNLbZNvPfkzXPvFUQcGmFutQyrmBLxgIAFqKfnUmqDMyuZGZHKJuWardRrMznkzgUSfiwfUhb", "wPxcoghvhKaGHOTDKZEoaTaSwwSpCQJSmvEDzUgtdflPuOTTjNnzKjRBjIwUXlIGeaHkOHgzwOQXMZugApoaTqROJzIbDaeFNQMMveysrbKwakDQBLASHLlfpzpmvRFKIwLsfTfYhowphCFYOHpWvUUmlnaKIlIAGjfAjoUWhflcGFmkjjJTjubouDKmngbJUFqvlHhrpvwBDkJhsoVDGWWAUvSQILOoWMJOgbnmuHeayoaYptmbcBUuACWWbCqXEcfjAtIqoyeWahHogNLSmVsqeGUGThUdnfItkEjvltmlSGUUCrAeHscabsdWcYwrJaTdLZxXYwQZvJfxATqRRXuxgRtHFtZRuBzermUzCgswRPtbZzEfguVtIgVObdnitZzsDfyfqBRDcssZIeGLIhwYGhCgMBUQCwfKbAUVbDjKXAHilYOAsMXIsMuUvXQHuueKWyScuFTZuIPhjrsevAoadvglwXpgofKHnaCTdkGyESlYyCuQTVkrPcLEMivG", "dOOEouedXeZSVFUCoGLdVAbbBsTHOAdYzwvkwOOTpTXFwYIaSnecRhbbEcsRbgkmJnemEOdwsoRywMlzkBbJolmepNiOnUHvSoiGbxCzHPYjlgqguAbiWfzrxnZIHYYiyyvaPlNhWoaTFiIiYBRYkPfuXUicVUEZESuLEMipaIurgmTEErRUIACNzvcEZEgdtXjEdPqkAHCUCyekHnzZCRRfXUyHCCyiYLdpgFFfZOhVPmAcIiTGKBaEEHyRvQxzDLFqYLplBnZVcDmooTiYvKIyBfpdYNthSzcDkGAAbsQnjjmREGQYcfwwknFxBPlFUTWaiITvoSWzXzAifcWPsjDqeKdFwyyQiezNcmWoUyoEbIrYJvMzgHIvSlzfaTrdnJeUVBFjuXzWKyfvDTMKxjYLKgRAonHrEfsCTpdpmdVHOMgpOGuormXipcwJIfHzcwRVNYTVhJZuaSIlDDyBlHrIPMbYuHjigQOaztYelNfguyraMREuWZMPZYSRpjbQ", "DhGtPDctCrXcOPBLISFtAwQFtuMMpHVGWWvEhHymTpCSfzCsiikTFYBFrucoPKpwAhpRZrpjazIfgZXxQGzmxkubhnJuKKdkDrpbFqhNdevGiTXZkIxonvnrBeaaqOqSSUUwLfAXIYbrDolfwMuWAmDaPRaiairDFXlhwXVRbbGDVQJPHgaBapopQFSwqNnqmCbcGxQIwRWvNFnCBgwcevwFwJbsLmgJCulvcJOnqjMFclRwzoEpnzdjPsFszJKFmjZSDmWfbjOzZLEifRjiDAGkdfBrVBqwoISabNzghsaewkIWPfJJscPWQFqoLGJEQCjLsenNzlhJwkiMEQKPIEInvxogYCAUiRloyEQFFedOBIvjoZVCHyojdfouxWmCOhAwxUjnmIXOJdPZCGVVmoztBDdxohVNofAYaOsidlkqKqNtdivBtlKqEjaUaYXzYczyyjpwqIELTjmWcnNLwRApFrVORXTnGLAuHFRlcyneqUDKmKWmtXDYsSldMlrw", "XAYTigUZqrpzzwRqgmvBNFLDVTavXxDPJfAieVWMJHfDGodUXlNXqYxNuudGbIOAhTBgbKiQbxfdBAMfxPlRRYbTrZofNnwfPdqdiSMbJasDGAZJCvYPaRhXiWJJAFypTTNisuRVyNTrokvbOstfwjvDRSkMkePGjpdXnOPoPgSWXrEHWuYpfYrtiapLnrphcxfGxNphYXiOYAYQxzAaYwsFibwlFNKdNbiVytlRlmuLxTKNySsHKRzYZmfsXKhIQOwjegvwofMLKywmbytRTwDOQnsUyYCfMCutPZpOGUxcWvQOwNyILICGjVNoHQliQPgpHSAfBkgzjhLMmNktixRWvuQPkDqbsyFOEnJkSsRGgccAWyjusgHyFCcexkKwbkYndrPMEpFFfhFsiaFwDfQsXgkkbgiRECBDVidtpIElDpTpunuOrzdcXZsQWRZSLqEjBPgVwXrdmnbhyqSvLcybWilzbECHiEzOCWQPpQhwscOXqAsmQYvabgKhqQNu", "biMJivpVgWaIhTuqQIzYYQmiszSxIctRRFOQeJDhSlEonleeGpaQMwpNCbtSDRhAPrLAvGCJwMEVhNapedPdspxrKefxFToRSUmJHzHXSXcOdxMcFxsJLuYVqoWSOQbJIlaraSbctspogIJkTfWUBqdUagEBTJQlwiNaoQagkalhjMUhgbsTkjMgtcankdTleYScSxQkneckYpJQTKcmciAjWYhGnSvVvhrzdKWcIptcgoqLJyoWQbIGXToRvIEFDDwtGqKanZnGGurNjDZrjLIqbECBdRGiizGYmVTRmTtohtJDzfdGuRZAksrGYeCEuDeSZSGxSFTRTnayyrWRYnsJmmHRPujEIxhmAeJnbWgtRQnIfSwdLEoJPzmyYTnJJocuNuDhNvUxmOCyHQQeXkJeYpqUwDNtuhJjPcTgsJrwkvXBnNVnNGqFNuwzxOHMiSJcYkDMJMPUCuRQTOQULlvoahlfdZsqeyLeDEiHjFEIGMtuQvWujCbDBxnZWSRG", "PKxyKRckHkCPUXzbjSPlbpLiRNtvoFFSEEHxzVpuPHGWBqppYHTdXwqksxpyqtBGjtIrVEfXPKkSbkNMpCqoCWPiFjedjwhXzAWbMHFxhGrbewRMoNqTeEjJHhIQnKhwuDVylKSGrGzxABamxbFzeyUJpTaEupYPephInSWjTmKApldsjAOBXjZXRQrrbkMLhggrKSbAyTWyCiaUeHncgmuFvnvDKmgHQlUeuCzKGHofULAXXSpPolcskyfbZSmzATgUIConxFeQgfZFFLhtBhRfdkMWikkrOsOvkwfRjsicXYExnMjXOKRsDKSoDkifHIeiNFLilLoWmURNCFVqRmSZtdOUAaSHyhMHlppTyGEkFYcyzhHSqoaADzSTCESufMeyGybevwtVVgfXtwNzjxvxPuylITMyZrjeIvWksxKOtrJxTjOBAVJmwlLxQuEWlzSOmnWNReuHJMugEIuBzdKCxrrxhiFkuVhuvAsbGJeGYeNgAdbbcYnJaUeUZYFh", "ZcnRJFLZtWaNmlJSmHzITfAjufahjdJyZdmEdBqdjdEQyBwRerFiAJpgPOlYbSSDqBTDSBsNowVUbLQJvOnjadtwwjEGiGHlPoitNfZsZaLTwAIcktQXFLQuroKkcIpcTKvFukIGGGmJjHfVpspVfKPMnlWyLsNITgTLyLhFnKFIpouhFwkyBWYBFadLItgKTWutsiHUqRLaRGjUhLgtEjcWilXdmdGSIFodUjyEysnfsdReUVCGsxevngoWLGLsjkOxnvkMDAcsKwOJTFmSpeWINVcGspcLoYYlJSPDnRqIyHUbDbMSKNSeyxyCkcFjFAGiGFdNOJeHaBeOztYcqupKDgiNrkEqdQJDxRkLThwcWUtixcueJlGuyPMofxHEHTtXVrSkvGpbLJFtAfpEJGsYtDToMoVohOYonEjHmRqWsyfiHOTkfiwBpRkETFcNiZDIzreOphQqXdBBmjJybBjKpvdbvDJjLIvYuTbzsYdxWHfRSwawuDZfFPPoVUeS", "mKMpSdVTQHsuweVTHzErrxQdrUTPwDxnGIPiiTYrJPmjAEaHterHLZRxvRhXMHAONCGomLdqjhnVHKqsTsAHpdjtLbkuQEOQtspboAXtWNGhvWRyISNMRyopXuQRPAhijySIjIANeLgczqvTgtRVFYQMwKOYyulDPqwyrStrduluDNXFkTyNNTKBBEWluyHuZBoVlBoJzWzolmFmWoIGOEFJkxOFSKGtWtKTabnPqwKdJfyuRjaKGsTCgxAhlWRHoaoaGCKoQxAvkyRBuYJdkMhdTiCsgZrQZAnDvrMjcRSOFHSGNEVwZLMyOvuGbdjkcwRhjbNGgcMYbwNVynanqwihXPqhvIrMoWtmIcMxngjDbRtoZuIDEQEaDlUmEfMWyLsVPoJDatawluXNBFbmEtcrumOZJYoiPUltbWjNWAitruoeRBohpTjCYtNcFoOtHvicQIJJwkjpNKCDYWaMWhsUNjxASISoYXrJjgEvKXBkspgFjaLgNnsneNDJUrab", "TTFyYFGdiQCJYGqLyWpTtjrPEmySgCtvuaGeYjiAIFnPyKadCDgTZjEucOkXPybyVGFdTJkrcaCkOyOqIwckGGrMyLRKbrXpcZSmCyZQrcCmtBQhwuGQwiaLQjWYSsAzicIxuhZUiuvZvMtUbHoAjZsDTLIcaBINvyGlumjovOpknEHafsgndPQZfEdZMPAvUsqrRsmoYiQyJfzLzTpksFsgUWBoBDlsGZFDQYzSzLxYzZphTIDFdOONOZyhZCvQEdJEEAiSkwPLRvJxvApQdeXxVDVJtRDIXORHaHEvixbJqfBpEVnhBmfKwReTMVtvfhoJUjJfwzjmvuLKywooqjxPhSFcoeLjQIdKDRqfMvHvHdAzaClfntkUhGUGuOWIGMGpZwxRSzOGMtINAXOnLeBTdozCUBxBECKBUahxGxseMxfybFUiqsYWxHEmmoUZujXKdwleJRuQkSxXGnVDkZSPTQlhDjGQJnYbmPXEBExnhYgvxpsotZmAkqvBlPeS", "SGSyKlGXeWgWvXhWnsxqXVBhXkIqqabDJGCoEXPMJfvyAcrbOiHrICLRRiRJXPAhIsQigbsbeJIopLNYiJBfZPuBOAzBqXKnVHdawGVhcjhMquBAIslKZUwaeCCTyzUStLQQvfaRBXTFSfYlyYxMQNxxWfPupBikdtdMYEEhNZZjGkGJqRoKQfBcBDULDSaqRdIyeevYkHOPCCqyXrPGABRbHQggfBlIzCIosCAclpkcZigKgJCQbiszwyQCcyxAKXhbUMBsTdyyxooViVGvSKqykaQYIwQCCFTPtZpckpAfmvuPFeIRJxptIUjYrYSAvLCHqGSxkbYgCgPpqivtsyDIAgGbHiICDFNBzprDFEkCDulAeDRjNYaUqbjvSQxVtdCCvWxgiqMdIOprZBmAtpxYXZjQlfqmQAOZxpDPxiKXhayWEDVLaUXPzqnpWMGAlJpvLjCHEitSBaQqiLHdipeZWpFSqhIewnjxyqDFKHtYoMHBvfNjMPoWVcVYFNBk", "CcfWDCYLumCeQuaJCeQHKMhvIaNEwbgMZkjYSCARJYTDNFFyVIUuGWmJBjOepwguBYsojlfljsSodwdSURiloCZuIkONjdQxFtOFLNKydnTSvPRwriOvCpWPdWnLAvjUjhCnuhoMKMLLhVZkmoFwhgZwQSdkVAvAnRMXwgjNaAeJkpBWFRpRwILkqzGzGxFPtIfmsxWBAHgJTdHQSfRYXRReNsBzdYVqkmhdQdyQUPFsIOJpEuDrPKRTvkeMFdYAYWcdURAvVZySkiMNmHWmytDyqBpXzjdsQfbkTTJNvldYvSJETexRdvdzcmSNAVMkjehrMWxeJIgYjHiTJlNlysHerkLHfOZOWhcjpSSjyCfLPWeFULiWwKPtzbOdHgytaiUhxhcUHRHpqTHaOYOaRnpyMSAgtssHByqBhllBHhGzfyNiHEVXvkqsKprVOZLshpjTnDVCemGesJvWOIzClMEgKmQpyHMsjvWsirdPvTBxlyIvyDQUrqXIUAGxvzSb", "waUnRqrKAEPGzQhChbrfAqLNAFVWEKRpKztRbTnHEDQGFwZZVXRXrzNVmDgGlMDgCvOFFQgUAHdcxGYZSiuNFWhEWzCBltpPaPIQbKjZXzNSCcMLVjZXsdHavZqriukgHIqbWsYSoClhbGXNwYtzbejTXToJEpcHrQyisNuCdrakZqnDxoJPKlRYKYCjxLOpOvIKcJnnfSalBVCDnpHMaIcTYddNbKtRmVROARnbwCRtoyGQcQXFmKKlkNRpwFiLSpSXtWMgAtHskqXGmrnfWFFPTXwzNQMeAZfUAgBKIpzMgzOPtLsEcQoPbmNONwxJCgUarRCBTRWQqgHHuEtEJMfqtFIEAeGuAuzjooiPPKNLDcycnWIfKdrGaBcEtvtPncbVtqgXkjeZtEscTDmVVpuEwGdycvIuMfqHLjyUzPARJIeYereNFhjuQBVBKAGcSUoadYJEtibvIkoapJHCYRZbzHMszZyhnYviUlANvaWIoNdXyQDWfYIfZIYmrsfE", "JvKjoDEPdcDuipYQgUcXbcUQgVkRWvnvgbvgJxeQcfmLjmVHQVpQJLjLaKNULoUuUkvkIkLJEQCNRbZDVFSJaYyaQcWGFRgcYIiVfBVwiFLYXaJxKyHyUFMXzmukluHwWQCSpsMkLHjBCHeRHOoqbGpWxyOVGbLCYtjvXhvIRlIsmzSEPrXaUhzUkfnihPynIZmoblQxyyjktOvNSCCMcOCZtuJqQVrbEScPQvoYbxqLNiCJsltjAZupbcdoLaIefHsbueZcovBmLQzaLcyoCLUVckkaSDzXSTYDpmGQJDTBTYdiifZPdighwHLIOLFSmqGRMjvcjAIYUPzTyCfeQmiXEFmDPYEinQGOGRHtPmqlbNVgQDPDnNGyhtheUjwYugAScwMIxuCGZgUAyfvBaQcylnPbzUashYdPfQCovpOaGopjJWOhvkUriacVKXczlDWqlPQrRqdWVgLfTpYCegJxrpBLLddpCJnRfXyeOcobxrGnYlnlFVuBLrAFKWvv", "kHOUDxxfdEeBoNUSTdLZZFubATdzPvtbbDbzKOPXvaQZaeBwwMBMECEqDllbShkSuqhtODKDxgjkTqCPeswRByVxipZkXbMnPmBnGseDjfrmKeQPkbhJnyXwKUghivnLBsSfDdlJJrNIoFfRfWLzeTfXLvXbVszZwxikYgQVcYXizPYElgdQZRioWSSOdOPzECgtJrhHAomvZEsFnHZDypWUFcgKPGVToZzeCSxjlzqsHCGSLnzCGyMKsaYyoTSElMGXWqxjDmrmVrCJondYBgHJtgYAtprKDOWGrhrRIhogRPVpHMHanHFKtaFAAXbrLfrNdkQwVIctWwtChiywrKxOMUNBePhzfTNuRswsOpItwGCvGjAXEZqySClnsNkyrIFbsNIQofBJpBvaxIKFXfcOzlDLtSesliIUQJiALxRDAXdaIKRmgmgIqjZfOiwKUJdXjZLKiQetZtnyLZtqHmtUBLabEcRnxOcnVWvwIdpclOKSDJBLkjlaXYnHvfNO", "EdjXZiuDxrNqEPNwvNcOzoOiXPscFlKUIzyPPoOWIQmgdvnhhWVGCBySGxWcrUtZUoMZNDiKjaMGuzguZXqyphnaRFqxvxvmfrDvWqlQexWkQTptUNUfOspfAsuaAutQvsfYRzNNDcCcLlZVZVFmdUyWVeoIGhNlvDlQeHyTPGbvxINWXFqwePpjBPetFscaIWZgLBkaBjwvIlpXGkiPiDwYIwJQqXpCrWpYSyRHkkPlEReArvZdjVDsWZIzciaMVlMtcRrypigfsMSSXQqcaWDzjdUXbbwFCQojyDMsCozusSvitUUBKqQGcVcyoLZFCbyhJRfzbfXrjrAQsGyxndHBEfLKclTbObcSGyNPdMIdXIDkbgviCABWMLaFKgwEyzRjtqZBKUmdsLwEwjGfqcaZNKiCWPSqPtUIsOsYoqmxyXfcewSGtBUygGykcmnVLJuGbdsqpwNcThrUOVHiNIburwDexcmIucRmlwTmYRqdJNAvbiEoTtEFjoZgRMry", "cWixFnTbxJfVEpRSqZGKOfeXLnfskVnsbwGiObexxfkwMXOCqvmRMyHlJRyhHQrDwhpMcRLYnMgNZDtUWlLcAeyveipxOuqJYAkvrTeIAxAHKfUjAMZPkRritDOgeHXuKeYbtzLkchSgVsjSxujMcxnKEifGeqEioGAnjeuQjtLmuNMFMBIbWwKsOCJrJlWJyepTjRivTqGtHQHNCMdpZEQhFTOBkdFXUPlwcbmbirDKDysjPiyijjqQqgNYNHUQcSoxSyrYdyJTFIHTGuTEyiPjZUZxqDLhlvFYYswogyYqPrryumIqdDXBdFaSQeeLENRVXAmWBnoFsvEDnBLffTHDRWhnnkpSvtWppOjNbpJfHpActhrXQbfmCgwPIhlmWhbGUoaRJEsfuXqznaaeSLgtMZbUNJpnAIBAJUJDHpObmwtoixvmWoVNAjCQIxYYbSVnkTkVFoGVBTwPhrqRxDvMgjamtBqdQHAYaJRdxFtATXBwQYHFmSrmWlLNHZfg", "uRYiyMaSVNODPNAttNZRDWouSUKRZYYzIDTRGszQlDbvCBRMhriPRVGtrnPvfZcuxDgoEwTaJdYVDShwJfeGYjgdFKVqfhyrkdQrjXaGmruuwsFgRldyrogfySSyiNgvZWUrrXvrKBEsdAeJrYoEFIwpeIWlrtwAUTzuVnBKzxJSjKZczcnafQOhdGtbtspxidmvogZTEIhnvJPBhLIEzGyBUOLwmhZbfLhPkXeQIprlpTbyPmPbxUvAFOvxVoxcGwamIGlIhYnBTJVqFDFJMzboCYsYMhqaZnFjHGAwbnHuZsojLCaYHYZCwZRUtRrDJJguARUlGnMMTcYevKsENdOnmfkReGkBelulbjLzsnJJohawSZwSYprzhVZfQqEEHryLzlCxQvPNoyfjSEVbYgiqQWCBCizwTnsFvFOmvLSPzPKkYzqdNGZENFpDZldpjPFHcLfrnokuIbPaAReePNZdeCgWINBsEyWxrPZMlehEezzUvNqJUnDpnRcQIWgY", "gkHtTyDtrdEKBpfyDTLTbkVBHOusEjrIuxGijttfJtuBEJuneNyPuttJXdhSbgyVJraVYOSWDpFxBXLfWWAhHUfRyZwxkgqpBQeNOWzQcrKwzolXltEjxnaKGACItlxyPTMqmNKTGHrwkKIsoSwxIulhdwvxPoOKdHhpNHBfcvXAXunvWznXMHaLZdFXjzwewUGilbcHoBouEPUrOLvgMHqTKgrUCXEWrhOyStXQXZKkMhfiVKAFpwrJZWgeKqllyfedeFRtGfDJsNCFGfvJpOrqNBkTNXtYQNvjaxiUWoCbUlmSDOwpgFTgrnVyUTgagToYXMTFgodYEaOFbstjSzlNwIEHKJiXwalKVlXTxcEBLuMasPvPDDobLvgPGgmgyUSgqmuNsqoweZdyIrLowPiLisabJezSMmAJploydVcbzoDVeyZhucdGsjlOESLLTIEGfXgNESXFaUMafedXoxMzHEjXHVtBkUkUiOEKQjITJiSFEizWscnnNIOwrCfa", "oktTVaIfeamNgjSUOHrNByISmVtzPiwJSOrsktPdLgNgNaJxdTYCWeTxqudgPCxRUcPRjbqIaFpQAAqBZauKRWrrsHtKTrCbaNEGEHKebgSPHnzmtxexQGdifaEKRMEHfRlNiRCFhVYtTMgOtpWkJManhYKNVnMIdMtdcoOLwSMQWzbekMDYQnJfgMqWVXqCZbPzhHogWEFrbelXVeOLQeImNUImqFmuvjtlYcvhRzpXBolepXiTeXWUAvGRNfHcCzZeRlhnaafqLPrKWkbcyqGsEzDPlDAcNOZnsWCLMmQzjylAZXbGEhaPtjqRFgpcTaFWnKxqDLLpiNpfEPswyBStKmuCcKilDkUrgiRFkOIkMHqLdJaZmkopUVBWmZajNwSKrfHQdHQxhXfVrmhRLCHvbfqEqrWognbbllIDnVfZNhHXYISSnxaZZHSjWQOZOxPxzxFQWdhzuktWZtGKqfOHxLkYmPJjseZdFptnmuabQJCfytIkMnzHsCUYcFju"],"c_string":"KNQdqzrzJdovkeXFNPrfpekIXmUodVVqqAOFYAOOtUIBAGgYUnlvZCrHKSmWIeSVYCyNVvoVimDvQdzuyoBeoHLHQHeMGBPhDTZIqGLwHdZdTkaYeOsHaYIBmEMKmPlzJbfOShmnJYEAOlscMrTkmkUtKAwlsFcKzPXShnhoSsLEtKlZolHrpHfAajDRInTzQXAmixWnZhCjmffTwXZmEzhgOlFwleDAMiGwcCWkkbSkLCwQbWWKYxayWvmfDzYOXXqqhHtQdpBtKNziMUkyBnyoohyrniWpSpxOYqpJkEnLjPSkAYIriVelDMybiiySYIVVuIFfJBcdfMLQWWVxtQaVnxYcFkcOUPGcRgUYvcHFRuATNPDVbItDVPYMfxkXrsovgEViNfCvLZnRoMduWPTCfCqgpHXSugCgCFqOsfwRQTjhRPGbODkXqaPoHmbCkUmGRWnRSiULefCYGusTwrNiasIRBFSJXOxYcfyOwwEEsCwrjbzrgtsmHRNGTSVv","c_array_date":["2016-01-19", "2017-10-08", "2016-04-21", "2018-11-10", "2006-07-23", "2003-05-12", "2014-05-08", "2006-10-15", "2001-08-01", "2019-07-23", "2000-01-06", "2010-08-10", "2006-06-02", "2018-11-27", "2015-11-08", "2016-03-19", "2013-07-08", "2007-11-16", "2016-06-22", "2008-10-01", "2008-01-12", "2006-03-03", "2009-06-19", "2014-04-15", "2012-01-18"],"c_array_ipv4":["TiWjHnhzMr", "bgwCSdIFCE", "inVOaoFWFb", "NYuEqXFaBu", "vkkyMJYkQJ", "poCYgNEEqk", "odprmTAcns", "GhtrEqYlRo", "hpGogDbVCz", "kccrmTVNVx", "sHYWDNsLmh", "ZwrTWiSVcV", "XiNsEIfYof", "WeIPNDMisq", "zARKcidIVl", "DnQYSPPEir", "hSQgIEhbsL", "MrhgHdeNnJ", "FlOgRvhRRx", "yKwUKCIoEk", "yYKYmCxDph", "FhUjlQGjvr", "lUlpARAgCr", "MhrTeuddYb", "yvnQjaxPVn"],"c_map_float":{"c_map_float_1":73.8183, "c_map_float_2":21.146772, "c_map_float_3":57.3053, "c_map_float_4":100.29719, "c_map_float_5":71.99171, "c_map_float_6":22.968403, "c_map_float_7":45.93706, "c_map_float_8":62.498394, "c_map_float_9":42.941994, "c_map_float_10":56.220387},"c_map_double":{"c_map_double_1":44.681896138192876, "c_map_double_2":24.676979498589713, "c_map_double_3":77.17954435124294, "c_map_double_4":46.829213276263374, "c_map_double_5":97.02302751558815, "c_map_double_6":54.3530296277128, "c_map_double_7":5.094440073921402, "c_map_double_8":99.82329332264325, "c_map_double_9":69.25841438908786, "c_map_double_10":38.713111505162466},"c_map_ipv6":{"c_map_ipv6_1":"a5ab:4ea3:1d9e:2699:24d:ce53:1039:b554", "c_map_ipv6_2":"59d6:ff66:3c44:d9fa:df3d:d634:8473:5a78", "c_map_ipv6_3":"83a2:4c00:62:efd8:8562:7843:3442:7330", "c_map_ipv6_4":"3df4:ca01:7652:c5e6:fab0:582b:d1b9:8f8", "c_map_ipv6_5":"e2ba:f890:1d2c:74eb:8c47:9178:8b02:ddce", "c_map_ipv6_6":"d32a:c300:30aa:510e:d10a:c91:23a4:10e", "c_map_ipv6_7":"a393:8d13:7dca:a0c5:5718:eca6:66a8:2923", "c_map_ipv6_8":"a0d:21db:d0d0:4bda:659b:5b2:1039:ae92", "c_map_ipv6_9":"598b:407a:69cc:c593:bc80:9c1e:d6b1:44fa", "c_map_ipv6_10":"6991:bd4a:276:a7d9:bcd3:9695:f89a:a573"},"c_varchar":"if","c_datetime":"2016-02-11 07:46:01","c_array_boolean":[0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0],"c_array_tinyint":[-14, 2, 89, 29, 11, 14, 23, -68, 39, 70, -11, 16, 27, 6, 102, 46, 78, -53, -93, 56, 36, 22, -12, 4, -14],"c_array_largeint":[-8444254726686535379, -58302189499956780, 5837365047910803214, 6266588775490070132, 481781723307801990, 3075137527586298137, -6096636924631232367, -454868214946510492, 2226023428229668754, -2107695040485095700, 4944093664513782778, 5976759742513359552, -3493138198678154341, 1107781733573423638, 9038270800024438972, -6689590132948175767, 1257833519161828419, 4781763220414589975, 805595435973921877, 7754907872387921715, -3046688841831744609, 6359016633120324225, -2606513811842510446, 1041419327620368876, 8931790195560052878],"c_map_largeint":{"c_map_largeint_1":7656519056100730576, "c_map_largeint_2":8002992115247430418, "c_map_largeint_3":-3809830522783889435, "c_map_largeint_4":-2648464804514618601, "c_map_largeint_5":8934317360690348566, "c_map_largeint_6":3540206308777799074, "c_map_largeint_7":-3804641171142332663, "c_map_largeint_8":-3405794963324413993, "c_map_largeint_9":5490708720748989997, "c_map_largeint_10":4696091127181365733},"c_map_datetime":{"c_map_datetime_1":"2009-12-18 05:34:47", "c_map_datetime_2":"2016-04-08 12:34:01", "c_map_datetime_3":"2012-02-05 21:13:58", "c_map_datetime_4":"2001-05-07 19:50:34", "c_map_datetime_5":"2008-02-02 18:29:00", "c_map_datetime_6":"2018-07-16 22:12:45", "c_map_datetime_7":"2019-07-17 01:55:11", "c_map_datetime_8":"2011-06-15 15:47:45", "c_map_datetime_9":"2018-04-07 18:35:06", "c_map_datetime_10":"2000-06-23 12:02:26"},"c_map_date":{"c_map_date_1":"2013-07-28", "c_map_date_2":"2008-07-05", "c_map_date_3":"2006-12-18", "c_map_date_4":"2019-09-21", "c_map_date_5":"2008-03-08", "c_map_date_6":"2008-03-09", "c_map_date_7":"2008-09-01", "c_map_date_8":"2003-12-06", "c_map_date_9":"2002-10-25", "c_map_date_10":"2017-05-02"},"c_boolean":0,"c_smallint":-31501,"c_largeint":7307404167153323451,"c_date":"2001-07-01","c_array_smallint":[-13417, -10872, -25788, -28205, -7941, -22268, 15620, -12929, 32064, 3951, -5009, 1899, -24378, -16553, -23775, 10352, 3409, 6568, -4891, 21187, -4942, -5451, 12710, -30976, 11650],"c_map_decimal":{"c_map_decimal_1":21.0002, "c_map_decimal_2":64.0041, "c_map_decimal_3":5.1929, "c_map_decimal_4":51.0405, "c_map_decimal_5":71.1404, "c_map_decimal_6":2.0908, "c_map_decimal_7":1.0829, "c_map_decimal_8":3.0771, "c_map_decimal_9":46.0533, "c_map_decimal_10":61.1867},"c_map_varchar":{"c_map_varchar_1":"RDdBaSQtQzXyGkWaFRpbqUvOWHPtDlfIHCeVEyNZpUrveJymPKHOceoMzuvhFZNHRrDetMHPqnhOWsHgKfHzTSUzVadOaZAKouLSgWohULxHgzJkoTFEceJhlwUxnzmMGbbwmqcryfnITcxlWZGEwEJModGAcNXHWIEMUAPqJKiAXmYTyAaGEgPTZNhyingmvCsdYuaSXeCGMKDyenXOPikcbXPGbdKsMxMnpqedzZmzRoSTtYMnxVvwXomgjFpy", "c_map_varchar_2":"mmSqPTQswhYjVQyfYehGAokdXWDDHysqHjUJonhRukkbWNRuNYETjhJYEJCaXcXTannKYTfgoeEHRSSQhqGHXyGFFHBzXnKgccLXmGaOutXisYLJjDbsYjsioAFzrUBhsTDbouAKLodrrOfOwgsdebayglRTwEITqViHnPPxpxIWqsXpKTeqOlXENalOtAEyIQnaGmZOqXLeWAJLkTXteaBJaRhzSoveVInBwXhczeZvMsNIgdSopOnJihAbeFWt", "c_map_varchar_3":"YpyHwpHhmptxGcMVtlYmWTAQSLZOUKQfIwyYWDlBEyyilFxcvmzEmhyViESNZBfXiKvvrVwRbfXgMusZMxrzqoonprGQuZWGrmuKVCKKNynJmzMlLDpVgBrdVMmFHLcleZWgiTxkpwxvYohRMiFqvnnvNSWqlDQLMBbirJrlJzoXhCIkNwZHmDwEaNXfUyaIuVQqRfblLNwTtxzjnhPTljoFvvaNPmvcNcRuGBgcJWhOdydDRaGViGRhInssiNAz", "c_map_varchar_4":"DVzKMuKMVWhosbNDXpBySfjppVwHEXVzQRowjmURjDedolrisRXOXKwVhzQRyeCfSLMBdMgHttKfYeKZIuUBPwKAACJRjXgsvVxfYCYiVmdWBhGijLQuYgDXwTluxQJTLBmWgiGNrYDvNWxvyiAeeOyJuekQLoGDSEEkePJoJrJmOgwbknjfWVpitrJQiAIHGTwtjsYwyODdYRCjYpnlxEZXQIerCeVtSGafiuaNUhrgqDPQlYYnegMDWyhFqmsw", "c_map_varchar_5":"wiXnNxYMzLNfbcYybLLrvEeLAOXnNBXGFtAgUAYujDqWIISUSAbSBbPXcgpZGhhQrHQUETLDoiWVXavSexDIenIDkzogQuQbhJCocowcAkJzTophapMhFeQRVfbhWKhWeHgSQUhvlpnDhigKijAcGMpuPwzhONiuXlcYYIVHxEkavrkqNArsgQKWngqtFUlZTHrSWLleEibNezVfbuywqjQUHxkLFLjGlKUXojhdRBTrNBXKrVnrQHDwJhKIGzOm", "c_map_varchar_6":"OCINugYnfDeVMZQaPWvyjkTBGcfCBWGkVUtXGEWyLscNCERScNVZwXiPkUmXuGAFYGHkAwyPxGEcFDRzAZYBKuvOuwfUBZoLTffDVChyFbckKXbWmnNvhODYjhgkeXyYkcKYeVsEOpQUGZcmOMjjtwahkHTqngoOpcRydMxoMoWNVZKIewVepzvopEzyQFhQbCOoaxeuiOSrtmgryZzPzjwafDnGAHJBrmXiyDAEAsxhKndRFpzJkqAeaQyPlqhU", "c_map_varchar_7":"DMuWSeRIzJCwegfkNnkjqxQqvPvYIOMnAOwZaRBhkkinWYSUeyEvJjNAhTQTnOyNhyQXPCJFSJLdylhjTSkaJSNJanNqiHSJDNcpbbnqzQBfNQFTqAueaGoeVELuUbyjFZUrIRauqbvIFjImERqdDrwbnluwtGQuhohKCAmwNrZHiChENsLoLyVWnZbYJHzKGVKWsXucMgHImpSSAGQihrMVHFcJhxuGfXXXtqHnydjdyotwjtroAAnEwtHcXWTc", "c_map_varchar_8":"wBoEHuKnUfdWLvLvauScRqMbKsLJFUTNyrXvMGWUDyDJcfwjBlbVzECTTyaoiArPtIInFLxUpDiXcnJBZVmRMemDrQiJsAVniUaPIkgvYlSxFlFAhYIqanKQKEKNIrjODbDYaJmqDqbFpPVgEKQJBZbaxlcYcZPfPRyJNvFDxPYXwoSGyFPCxxCTgaoHighOIAgkewnKrjFAJyXkTNmJdujUexVdxAJUiEIesrFCQjeOYsICVsOHUgriBLOdmklC", "c_map_varchar_9":"KTuiwKKUeHOtRbhXxeFHfnSRcSfyIEZFxiZAuTZwkVkESZJZAZYSQPvRIhEqMRRLdTjDFpUiNOEFGzNrCpLfYwqQVLzVwXooxLvenyFUxykdWvYprsVMAPZahiSnoTPGzebBSUhFHMNeTvqCwiLLLsVjeRKZVcCDIZjZuBDIpHMmzCHHakHDbLgnuxdtofzKrfHzpLcVYJvbsBdJdTczyfTHEbNanvqQtkWrQJLYgzBOuJZEIaqYUMbVFPWrLzVz", "c_map_varchar_10":"mXJlzOmLDjIjykjZiNsoYiqWZneHQRWBmgkAQqAocxGqhRMYhhkzObYdNloqfLgiixdZlvyKCIcUzUSDmuRzhbXFkYApMqzEdilqhbtxgnLmVBSgtFhrbvfGquBeQTwrKSjgGrVIhSdKdEGouvPvJCSSySUwJRaGkwUSrzhrRSNFFjtXcftaNBRqoWcWZiqZtQEFIJSmYFrIlmQeVgepUERwSmKYsQhEPOaufuwxzZpPrjceFnZrbuBkkstYsijW"},"c_json":{"phraseverb":"dance a comfortable host exactly under lonely face","blurb":"Versatility","minecraftmobneutral":"zombified piglin","pronounpossessive":"theirs","book":{"title":"Madame Bovary","author":"Yasunari Kawabata","genre":"Horror"},"errorruntime":{},"country":"Malaysia","nameprefix":"Dr.","achaccount":"494529900117","phrase":"temper temper"} }','{ "c_array_string":["RGRNIQIlZvcuMuhDseydHUxqZSvmrViuPFtvjRSajSoNQAQcTyRXMLuAftzcmGSSbjBqaqGCYPtwRdhkBBTmpfyIlXqilIjzByvBxhXBwZhhgxRvoJACKfHKyzYfJScdErxwoapLlrZNopijpkkSlppVSPpqOcJlQHIjFvhMbZqxZeJQyIcTWCjNtLprpHrWziBemrRrBLgQQoMzXSqAzLgvMRZGSNRFXAnmEKQOTgbKpJNwgSrMujLnKCpLCYTrczKNCanSWModSfZdscKJszSodUnBsfrHukyYYMpYWkdxNMSWdDMnQEmpsXVgSBbWextldsswVXQuOahrhkvEvaGWvlqtaWuVUlfFGHKwmYHSVuPuoIvmMpyIcJqocbdLQkgQJHEsrHLPFxIVQAjGoewJtqnzPswZpfdUsopsYiVNKZWqDXeFECSCjAqYuGpFTIdrsgbKauGRZkPNEiTzQcFfTYpNSTYkEObXFmrROEwfiXZdZEglcplzIDXawDHt", "OUkklGtjOJRLbcWJTlPNxpeayGHXwqzavzhLgCPuPXKkOrCxTEDDlclKflUFYWokjbSMpGySBojQqojNsxMURLcPenOcrkCfgTzwrqyRVCXSFlnDQoQfmzyIblLDzHIIojmWfahgztdxnQXksOVUUdVvylzFcHOOSYVjDzxFoOgiDeHrrSYwUYQkrYbqjJpAbEgKTawGwebfddlWaQMWkQsihOBiOtpqoVIioBchlkyrIgiLbvDuXACrNijRZDxasIjKEXsgoZdroZGSsskZBljpqioAmoJkUVuPjTuIREjFTYiFsqzfBGMIBSzeLdeFnguyNyQUwpwzZOHHGNLjXLxTdXMYfkCTGWVRRPSaapeExOIhFypHEvzRNphJiIfMMXDTbPmBzAgatXOrKVpxPnWjwdEiiIAaRuYwmBaucifhdhqHjrHGKDQNDmnjZPJmRHihCBhWjMfDpxlxZoiTZbDHLwCBPZHPlawAqLoaiSzEtEQSYTBbYHRWAfsvyeTK", "yuBtswbPcZgzDOnIyxJSLdGPPqaWpPyGqxpatZAujBjQvOBusrSiTZjMjjenyaifGrbKPYCphpholBsRFdwWfmZwlvKKgEdAovDeFoiswrYyXrbpviCLWZbbowKirIKycpptnGBUMKuHThGCrlSzvcpmEzUirBxVSkzlSQjppyacirOLvpdNPKwDYafdXzOyIdfOimqxzCwRURqAXEvSmjzIpTbSXOgLVITeKTGwpWQVarlphwBGnNsjaBunaVUefJAsEropwkFDgCtyOBGnQbIjIXutbikTlzCdveWAOJPXXKYHJDXRCwHvyabsToIMWnhnUOpaBlrzevDKuvMjSgVeWfjlIjYtRPhyteIfdFZJKjABluqSGpLtvFZeoFystfOMSnXcGPvJuzHdGhMlBTOJtDnZtTfzCLFmSbdLmokAtDlOEdapWxNomEEyJsknXSbkumBUtXMmVbMdQGXBzNkyCStCKBWCearexfyPUqSUSBylMwQeSqBVCShcPBuN", "uOahOBTVXYSlkoqwnyzyXlLqRREMrLjjOUjucokSrnTGkPAsLwVbokulwJxCHHtzQRMgVtrXIVwcKSPkMBcOjLcNPDsnyvNqOYNBchdQjXSnLbWfbBpWIJDpyWMKUIDAXQzSMNZFrVqfmfhObJxteDPNlLNcxtqfzYeHoZBANiLWTRtiJjrjdxzROerRJdEDoOzaBOxFMIgHUuqrlCcRtJMjCSvamDEkeDRlqMQTBxsQdaSyfBjGRPeFqKxICcpciddVsNwPVzVhtDkuYKfBCvoVJNmdVDOWeyvdRqWXkLlBCYLlTKtMnSFeIVMUjqboiqGuNtvTREFUYPjfojdZQMKXMjCxzklcNiGpJPdmtHxPpxXjlogYVPBavOdERMWQOhsqARYZhimzeIOuUKwCJBnVyiFYQRLsHgCtauvPkujRFwGlbHILYjWwGujQFLZZmapbfSEiBxnuHzOhRUtYzxzYdGOeixrUHWcNDUVJDMhORtXQTJrPKAtnsBcjmLkz", "hSuwTMMnzfqmRXzGLAZMcKXJzcmPSaewLBpStjACUsyUtGxqyBCpqrvlXFwiEJBWbJWjASypEYXxeDgnSeaGzTEQEIhiqGfnyShOMCCHAaXnBaJUoJxqBGRAJhozVtLQBtUXDRevbQmLhilrDlvZSICqSPJXKpHuPWuQtxnkVrJQKmAhTVWbsTxPHLIJiOAOZzIwkbbKkorHdIKgyvUUXfeBzfdExYfNRnfdHftShsFRjBYZNCYhJWbSHbbBFQPodeOumwrLQRORApTeIwpcrzgbXcCIBGPDdXyuScKLIPWVXmtdSjNvTZVjzelScBhqOpZDfuBVjVlozmnKPVgInBFZcKRrEDjPrdChOlQUBLBOSflVzsJWzCPbmkLMKrhJBugbTsCyXXgahZXeFKOUdmMfceHEWvsUsBLzHxtMQjWHxkSxIqnQMgBBbpXakxvSUJuAcXdtrTbnvVFIMFWORMdjEugKbkuOPDmOUAVbMTeBoDexIMVBuxMQHQKnLAtd", "jpdIcKhCNQGIMVaLdTzQRQBtdKElytVWMBafAIVhTUGgckrFmLVAWNcldTEvmjDFLuyquOSQnHmxKZQIhSUbipuHDPqjRLqueqwzotAvyLZKSLXyLLCrcQorLnIrDVROGoEOqTfltNGlWjxwJUOdcjJJxPYccVnLIwFfVdXhyaEPDjUhqRuPDGTREZsEkOGQfFOTMMMFNLaNHeoypGZbFBqlAmiIuKslVkhgkUjnMfAnnEvaHfMWWsIAhrssyAKTYUKLHrjRSYmsDFgdYjyxgyOhlgRgZOZiyQNHHumSQUWBbRinywjqSYZLLhqYsZHDSCjkjLiSgLYzLbVgftSRRoFXkXmujMpntemeiCLKMwhRjSCdhxCYqplwvgEClYakqmUGKpsGAFqLqyWFAYqTzgrBtqIdwZBvatvibaejbaOEfQmnULbgSgafmPjzsUJiStJbJnBEYOdQKpLkArIzXHrfphTQySYdIMODkmsxQJZNiLqxbWZIgWDZuQQkOHxE", "ZVZJbHTaySFWCKtqOKVgmyfJHICxqLvrGjntupAGfAPVtlseeSWKOXmrJMFDdsnxWJsMGWpPtDugZgfvLsPEDMIldgTrTjmfskLpRojTsnJlIrmHZIAhBZzSRZsieXNOpiAvZHzIvXLATyDEoDjYrhZxncLzidWiStEeCnYxAcePQvFrOLjcHsGSJugdIKtCFjBmTFtZMDpFBzbcipGLaGTmjccXDFHnbUtEmyTkGCOdtWJQwconOnGAxpTzmpqYqHlqsdWtwNFPQtrvrSjKXctaWTUcyTHaFcDtsFqBYqwTklUUhPCnrhIQqAXACHaBayahipGTGeQsTtLvQTKWAXodOyFfjzRQtKnWWxZXvTDBOVzQDOfVxmfeikIKdHXZBjUOubMsNxgJCdDvGppPCDcuFLFWKcWHZaiLAhBEsmXMfdrVCGbITQgPzcjBbdLWiWVuFFWSZaAKCYaiVCLikUdBWoqGnGTttsCvvbvFdQwlfCdCUKDyBeyjNepelaWO", "fPdeiQVopuSqWbdqIwZQpHpqcbxoUtLLHPKkEmoVDxjPpKAMzUcfnSIpVSufMVFHJETXIkXGyZSvMbXLWpwjTeMvzQoySBUljexWrSlErXQGGSCUtsdLQnYBmiOLFFZYBINfmgCAbTCsipFUGJMGJPNDhRKUSjckammTfOJWpMUcQBLyAHMEkLbSqvhoMpHmMkGnPutBSTNUvUaouVOxgSicTIGLkDdkrafMjIjlWdFEIrVTrRqZVWeBQrmjUJijKNhDFAwoXuWzWZRSAsiUKmpJqtUDEdeXbCBAfMkyucxRboNcmtjwOyblcUzhkHEqskUMaraYuaqjthfQGQMnjYpTdbkJOxXnuaLfEygTaeaBPtNFIlzxPSkRVrpYyLZKZjKPREixtlznnBlDKxOijUAcMdQJqljapMmByMMHyzEVqvhtoGlGHSiSXSUMVVDjPeHEjziBWDmscoaoQplBCWiCOReLQNWrGiySPSBVbLZpkOVbSDDFpIkVMKdMXtln", "jsVVxDaBzPVIYdVwpnJtpPQQZUsqZIyIrqOcTFrRLlEdCZCzKVpSBgVhEdkolaPIAxHwprxJweiyguBFfYfHPRhNcRXIeZzUokyrhkkLWwAhHkXVUuuxtfrbfhFHbYTRyGDyDRRCFmMNCpsbaYgDRbqEfHGBbtAzgvjelrkZWNhrBwkgHHejtmEZrSibFqIKtoyttVZGXqsIzUHdUQSBDvwppVwDqcCmjQFMJRlhnYGlzZwoahJnCuirkVXBesTXdeYMCfifNzyhkQesmNmXlmykDqIRzoGAdNAwLHfGPIRRBaqIwvwjApuGYyEjSLqjypMTzibiZyOAklRYkaEiWDBAKdcNxlPYHNtaNdIogLgZfJRHxmoRJmixEllShHgnYSQgQyEGLtJsPnkzFXYAtHYKhklqlVgHhdxSWhACUoqDdBpRUfUzhlQfDCVCvsovnvpcFzMpLTWDgIDOHxiIMhmCqSEsaVYJnXXZraiKHiTlLgBLYaMWsYUOjbbCmZhG", "vRJQwRbyuWnEqCCBWVDQNfjPHFfNboYXOtLskRCBdiNEEqcqorynxCxmPFSiVDoRRWfCYuxAQbGxcVUQFiBYwsVVPFeItsoWZlSxvISQbSWhOTmYtIAqkhZSTsxLHZEwRADHPRzCibISeMfouEVtzupqrCOdNbGTnoHcDVwRUYMLCxEwOCskzzVGugfusXhuygNOpYCQGsSfJoQzXDhPatSZlXbJgSOrZOedDDmTBwvxRyIIlDRlPBuYUphgFgvtLeqZaGcXNwIRsbeaqvTOzglSHLdwspySlgbeXdehoJVFAUZhYrQRJCtlvIdlWqetmymTfdogSataZchJwKOUreMgnMSceyUGsqCQaqxMTwkDWFzWPqhGddJGGokkyDgHuMisOtbZivWkjqCHBdGMCnxTXGduNvNlqgJMTVpovOqzFNvLynbirLAMLQhoOiASSuzrclQNjYIUyLpIYaaDbBkAXkwbuBWTUbOqcluuqGYTuBcpFRtvNEUQhfJLMtpt", "OFkYJnuAOkSkeynyTxXoFmZdCKIGggJBSLlnjodpZSoqOCMkIbkXSDurzStpqHwfrCdWSnAeXmhiWuzpLscLCORKUdyRaRPWuFrcEBUQjeawscqpuwXxcypcPWPEnJcRjmkRAcZjAuNvUWpkUYgSgwPlnnNzsHkUklVQLqZwBxORINRfMRtJqxEEWZyWsrzHmgDMvVMfqyPxMAQsCKICcKvNyXGzlOJhBVfVsnOuUXqcBXemMLGQERriKmsVcjFJxdETthaFXHoiWOjGCfuzfFDrIthlPFouELQYQVzIjmMcUjmgSEqBEzmFfKxzKXCapLHeLCFCeQIzWGUCgsAkZfbeaBqhRxXsrmFaleuYUKIfghroZNfxPGJznMKersuDAjAZdNkjpnvQXqbeRzKQhKRKQWkLRFBFwEffahAqUqKyrfyHfkSASCgQNnKAWOEOXZmsQVglRLdpqkoaPwAukpTbupDUIBULfNCcGHCaabZveMJeEgCSCAequTVUjLVG", "vsrgnqXreaibOOXBeoHZXuuAbqwhErWmKVKqMjqPPyghzEBDVhhOZNDyYCUZbhIVJryBJvDcGSAcOuPUZamcAYvcJiYbDIdQkcMQkFPfPazkEnByxUqbaQuHIffmzUTkwuJKoAsegOqHZGIzXhCvTkkhdizbdvQKIIAWMUYMckDBvEgFRZezwgSUOyizJdrTLbYPitdMhtYXDqNHqCCGCfMKIpPMiqntBjmkKrKHOOzyAujUmMfLsIifaBEMYszZqKdpMrmbsUgolAePzCgodPYIirmgYnSlFfklIJTaFqSSDpgffFrdTUhhTVRRscnMulpGDqQsYfsikTSMDpkcmUmJeIXSKIaZCCJUCgvzCGItlYieiYEWXzxFrsoMHXIwArttkEsthhTXpsctMvVvyrZsPugeOAESgQMhhjHSTArDHpXdADMMlnRqNPzMnIUfczgCICXeSUcESKiiLpehlrnaoHNfqewTcMdYZGIMqCPTfVxTjmzsvgNTCOhlVFvs", "NlnGaJUdmCjULaFVmgcDIuwBIktaVPzHyiVNKyOjoztlYuOTsoFOfrEDQBmeMgqAvTcTPJarTdAWbfDRLbCfOrvLNpXqUhVrwaxpdFfHNsnUrgqotRaeuJIwiqzAFrtAkrcwIXVywJgegCxkFMdrOTHRHabodvMOUkWiciISUxzqFFOmIrwZTOmrYHDWauxifJpFRkvvtYpeqyQjTxuJRCAoTDeWYIYfLGtmwFKGJvVNvcXQopYYVqibXkatTojShXXuTvOugyAmXMlcdnQwVfRyOnTpaeTCBWaEEtEZiDmzPbSwaFQTvWEJVmqlQviuSnreQApKYAKYwwTIsCpbZfvXBtRQspqJsyWJwovGFNGcUCkFchIIPwkBXPfqEBTXXWBgEZwljvuFKjkcGpBuxgJGmCIwaAFTCsbEsFiNCoTTuMkCmxNxhDqgnJOdzfhufbmDhmChrBEywKkkXplqTWVbgpKDfUNcwFFSyWikxpSTCDfYdliMmwsXrGVjHUxf", "iEyLMpdOrMPBtxEJynWBXjaVUjgjHrtmvVDKBVImsPqXfWguQWUtjufKCmpQVWfxdhfNcwnnBlzAXHHpBnDvkmskPcOdesmjCQNwwjZMKeKBjAtOmqETBdPooUpQKvFpOUKEFgLibqQocQEftUbyatiXnklWbyGXllDOTVzyzhAkdzRToiPTClvNjqNDtpDKVPcIJfQbSZGJeSSjjIMlGiCRruySegtyBMEoYkzvktqjMJNGjnYeItYihUqaXXufQOEbpmiXnPLahTZyICwTGODvEdjnmGAQvLldcmkxMlWqUvVttNClDLGWAzPttMjHXbsrzuKXPUXlNsQctYhCtDQPBeiFjtBnhfPbLSzVfqkJNMMGVPdmNGlfEYMqWlRNyGBJtZQNiCuePurKsQCalJwFbPimHIQFZgYRbXUKCZjRpjVHMGhtaiurPZmDCfxRHkMLXqYDpsmwhGBxNsLlBCIvARIAbPDNERXierwdIfCiKOZAwPIeYmddRNlWOTGz", "LsVvrzRDwZhsvPofPppnACCncQRzPWmorwaWmBMoOfTUSvWRKpsfqWemZXLILUqBDVQcApJILDTTPpipzUgBazIlcJVyKOCUvqbkZhrpQFxaLgCAnZrsnbGmuqNSdrLjpwvQwPqLbEqRxNSNzpuvsyDSkMytnWxNaOJxiQGfMlIpwAGNivvasREClLpMxnVqluVbBMAGwVsVdqsnGaGtqekzZfVisWzrELOXCPXVkQeFmQMCKYTtaQRIOEhMjAhSQcHAzdTZpcQtOXJBaPNNAnqtKpLsxxNjVcPkNKayKWjaJXaCAdAPAfXONLZQgFpAVqoqQlyufqZLtKnpsaajlKQcJSutyNulNAteWAZlJbQhTxVdPXcEPgxQLTValndqXEtdNSddnjSLHbLBVqcuRRihHIfnmVjXzBTeAETwTWAaFJdVvwMoTmRjjauXbDVxBTRuEdkNGjtFdwVueSdYvoXyALdmGMLlZyjbkpinMGfHUxphIzfzOfpwueWHFIBa", "kMsFAbtZpZrSkBCfbIUgHxDHJBGAAvEWfmMoQngkCICUhJrPLYWHBaELATqXwdKhFkpRVGAKYTDhRSNlrXNtLOeYWHnfULJVpkFPiuhLIRvzzKUmlcuVHqxAIVHSoEoWODxHnYzWAckHaneyIDhnLoEtTmGBvuujOQdfVcPyqKkezaGZYFsmwTXginUSvNOJewiyLoBbilvtDmUVBPddgZBvXanbcljrLKJaLXKGLbQAaaIEmyWUThvcDWthuwcGTSYjmSIvrwnnEOXFdFkWzXCSfCegNgdLKfeFCDxBoJFgTqHgqXZEaIYaJityDdBFDtJrqojcLfdcUrrwBzBuNXNmUMwUCzdEqLzAPimlynzdkNhHOOKFABAYyJKACypeoXjIxxJqJgHNyiMnAhNrPQtKXuqmAjyrNYYkTCtenpBOyhbxAUGVxmZDpfmWbkGvMegiIJpbFcjNzHVhVgAXDWRqZMJvbNaDTIBqApvqarpDrgzcmDVDvJJEIflpwpJh", "JhLxQBTMjNhKuFUvOBXUwTryWLaKTdRovKdZkrBupwUNYwFFhMiIujtrzOwvXjlGyvfzxQmUmWOXNOHuJETfJfmydHQyBxNYJjBOEigEgTZSWEPJOyASrHDZGXNCAqxqBTmcwDuvcHwGjnDhZZXzwQOILxbCEHpoHwkTMwlgakqaILomKwkwrlKDEsgmtllpBkRQxxllNMEVQkGwvOHhsrnVphjKhwEtqJtxAjwVFIjIIvxJyWbRDaEGjpUASKGVqQsCJWJECBMExaqxrhJyIcfKzKTSquFLpooxFOHlrkTOxvUsDzjYmZkFLLXytRkOuFUHxHdFvBDIsXzaEGYdEMndYIUJtLIzhgEbIoZgtsdvOabkTEJpBEsckDtFjBCOMZRKVzNeswbGCAtecsPcuHidwVnQHUNGPcemTIGPHcMKNZBpGvcAkSeNdVMekwmDecDYTMBkaUSnGpvstxtmlDPGWDOUhPTRLyMSunUTnyDRFiTbwGeMYjoIKTzlEZuE", "ZLKxhWMWJmgbzATOVBHfkMWQHrJAydDhLsaCvcRhDoSbbqERHwmRWSePxRgbvTrmupQDQWBjNBrkoByRIRJKaQYKXyQsAZirwYlKlmVxPdTRmeAGBKKkuLjlnNvNLfFkqVJWmoNQpGaABCVNRpvVucnaZTbfgmtqfYaihoTlTCxnhSlzmXrpTyjMViqLnukJmPhCuInxNiefOBiklQmldTGdqkKXAmITWZBMoOzOqlEGqYNkDudAUMoUOxJlSvobOKTSdPIoJUGqoqJnTHmyAXrttsBQPOaXBHAoEFWTVSpAKxiKxzfihvHxMunDNJxZJzcGiDoFHevROeAPIOOCxArIDvXxRCETcUcYCSImyzBaQoSONDENySVhJoYDWTEBILNFZGBxVSKOTfCDYXRNpTOxKaqUpraJcokHQnCzfUpMhNGxFTJyKtkIGmqlWAYOhNESmsAIFJgeKhMvYgrMruWEmlVSnYmxltdhSUUkHtFvuOIBqYamLsPiBmUlzZwk", "eJntlsvbihBAuFamcbbvGxuvOJlzudSBEmyxJKzIPYJaQyvrPormdeqRTeEJgvHrgKLHqEFEqBIENfNJDYvNKTgDMgipGlfQxTbAsMxmCMAZJfwRFTtkfjXviPtmBUKnKrGKYEUnzkiKKzZlICQDOvpdmBwlNoYvPbtDaxUWviRKmMbhhkFQdinwwIRwnSrHJIBgDItJTKNQmRSlYJKZCFpePzMbqxlIZyXBbPDAaEUzDyIHrfEneVLJkEFFNywlTBliQIwpbSmmZlUrHpXeGrfCBnKdfkYiGtRMEpQVThXuBkismwvgpqwODKbOveqULDVlmpYhyPIENkYIAMVOsKytlmMUNMypeCsEEzMoXINmhkxVBbuehQZvqbMwXQxbztYzmbDQVIBzyIhYGXrPLhZfoNOxjvaKsgntWeppKqsrJICgFPvsCOfZnuFKXSTAYblMHKBKbSASWITWRpDSOLjKpeKFXphnYjdvtGLBlqpVebxJqFfdpETaMVmkkbhm", "NpiGhnNBhIknlduKbRSKGjrhRpQfmsIoqiJuIdWsyzZavHukRYUAclEgYhUnnwRCalzZyTNBsmUkfLsgXfAMIFjhvrevOTsBlEWEwBNyJSQRRqPStHeEfCxYbYMpRfgsYGOkwdsmynkeawECvYPPWWXIOxZdLqDYtXDPBpHoaHaFSOfchsYRrbVIhYOOtWRobgrpqnJIZxzDVmUPAWtDAWtAZgkztLVGwErLSPXNfMmKaBWRzaKSvTxJZdwTMsSSYFPTqlPrRgzIEEuiYoeaPzgJRESnCKVBggcrImLDXRQfBPsJVJsEQkzRLEdEvXDHlyxrDuuFtnbnDlUEcYgPWvRCCVaPtMPFnshEXsjBKaGvSMKWUSksTHPCHpjCOVZvituGMfcvVbLWYsjajvSEJwBFZnMeKXOAszxbxqUutUiRTalYEmsxzbsNTnjBJoDthuQWjqBDwaDFbrAuXTGxlIcigblpbRfuiPLiLhikaRMKpfxInIKCtKtiwjdZhUBt", "FyYsQeUKICQXlLIcRZKCaFLpVaMlwkrQqpYPlfOzWEcORUWbTIoMdbdWvrUQBryKenPxZmgpWRfYGFIXHFVBlSanjOLJSFAHeFqQejSmGCydlfZMApcFOikYveopvMVRMvjXWrOHvBHdoHLZIyZjCflClJclqMuDqIoDfDdznzKuMzmFKvHLZbNFfJbaXbudwrJeljHTDaXVyblgqevFSTFRqEyEtQlvVFPBKEzXNfFUiZghFlqGqdKbIkDwmasgGiVIiuTHsHRLogthNGAAHVWQBjbDAFkbWGmMLQoEsPwXHJLrTmyxNIQNRcLNMVjUcqDlSoTnZflPapGobIummgTyzjcbjZvhgNOVTEeiUyYvCjnvdaizCkYRatxECVButfyIqQYMBqmwbBGuuLfeWhSWpzJzSsJAjxxaIVDYeCPQaAsPwvbUcFEfCLzAIcOhukxAqDtNAeyslgUpuDNzngmrUoTBbBUPhQhtACDPzUHPuBOlpUKpPDuaFruabZyy", "FxGXfTsavCQGXPKvBGUHoEpKlOulTRBixldobOzVGUGvWHNLPXuYxHKDcWfuqjjYJqngatzZblzpjNozeKjLlKfJKubUlSXHCKvDxufJeeCwHARowqBDRorHKNnKQlNfQxZsoeTVJftGozPkwwkeQXWopfomllekzoeWzQKvHOfzwGiUarItwJlcYDaTMxGzZiFprfUcSukcFBAYTASzdCOcKuNXpFoPqWnmZnFGpgkxkYOvgzHYVwSrxVPYdwDtQXzqougyUNhJRxSzZruIdjxhmfsoMhYbSAkldHnEsnwjRIdkTLbmGODlnuKKcTbmMJmPgGNCaKTYVQKlFDzHSFFblxCJkUbyVDautdmkhSxbwZrNzVUQCjdCyTIugecKzoiYwyKpKJnAmygOXXLKcHuXZGjguUyvxPhTtFLgBeytwBHXdLgzTsgTfgiYXjTxIrEmgOGqLNmTOyidhlrTqlTrqyiRwaoSVkbjUDxnKReHlioFNZziJUVHmiiHmKuB", "SFdQCcdSQGkKFKoTdehcZCHUSrhdYNqYIPXFswguTzwcCrfSFRnylBEMrCxaYiiiIozEufHYiobcIKdfDVIpQgvIMZdfkijkNBDUuBhdRbBYIFEUriuCwZkcZYFqaBulnqLxqSAMUTZljschvKvkGqeZcyOcEFxJQSMWyrgyBmZsqSfKhACarESeAMQzHFUfAGnuudfWPIwgydBamcBsAYamCqbgSnGCPyUHzHPoxImKaLyKQdhSEBkcaScJKCXaBsZDhHvEOmRMpaEyXhhqMWSnxfBgGXodSVhcAifMxtLVOLymOQRrSIKRRtEodOooOlnvpmOQbOBGBrPUUMwNPtSZURCzDqidJGiThCzjNViKIgbOhNAcfEJXSQaJykYRTzrETqTxtJrCMKCxMfAQAiColqyppeplTsWHXMueEbWJHrODAwGpFTdkquCSIPQQgyHjdxFVycyxZniEtXEJgdpKCcLHDyokSlZQLcmKFnsAHhBmzaVQuUyJFMUMZhkq", "mExDCHmybFTMKrSpOfLZaPInlHfnHxvzbAZmCVMxplwddfGsKyaHPzkWLuMHDuSxHgeIqRPsAxhPeKoZnNsioyGnJCOpgpRyjVborniSnieYqSrTPLeedfQxocWSdVEEUWARIQHqIzzWBpxIZXvvYaXyJfkwNASmiQBeVbLNVsegrZLjyaRswhVAxjaipXcYOQMiBfImmrEfxTAcVZUoIygfZigOCHcZeUtvnudLucjIDAcMORCxEACDTOthtQmaXwWBLpBmeNtVTkRGzTZuxylKpRZrCyLoLCIYYZFAWNyZfCNDyarWNvQrcqdMYrrjKBkgpDtJbKhuSKRjEcyxkEskgxkvxOYXBbeuDXGHPWJmxxfAHvWBLpwbQLHvVIsNdacanaloQYSwNqwLWIkKvNVzVSdqqjSEOTcWBcMQUCNuMiNipnVFsvLlFJKJKXSUervlwXUwfjHwojucrXbgJQjJOzKdjVWQpyyrPJiAzfkQepSTPNjxJQFUALZnXaDE", "WnDSBKQZlARPlWYpxxqiEvWAEkjLnDOWIIjqVCfzyVszuaGXGZjvUjRuAXCfeJXBvekfMLgmyECrxyGaqyDvLxWfDamPNLIGdpNeDFAnsNIvNBSDUVErpCLhzlOAALNSuClUipPGuUdshjTfNRPWSxRCyZDhqGYwqEmIQYUcXtfSbDcdLqmBuaNfySuANeRkyGhYOEGEDPuXSYmRUntwCWAkNWIyQnCNLOLhbUubNOXCkgDTcdfutZETqxmusfHIJtCUVShbzEWriCJUCvsOyQpmhDszCfXlXoTkbdJMhmuwvnvwOAgkKBMfsYLaEaxcmslVeCXNhuMAmNgJXHMiYvrAtjItvGXtZfKJLdjBIwMjFpAmMQlTFxQbzICHsJBfxtGMjmOBzWvSAwACNKLcnhaRsSBlIwJGGZGeqjDSlKvDgWoMfdAfmrneAgBkRTEVQHtoXtGxvTlZgCgeKUuuClQMfTqlQaTQLToQtzKiUApmARvnGSWtOFCkrFBEGiPm"],"c_array_datetime":["2006-08-08 20:57:35", "2018-10-10 01:54:20", "2003-03-11 18:07:02", "2003-06-28 07:34:15", "2005-09-08 13:52:10", "2015-11-23 17:35:46", "2009-07-03 08:27:35", "2009-03-02 08:20:26", "2014-12-06 22:15:59", "2014-08-12 05:17:57", "2006-02-06 10:15:58", "2009-09-19 04:48:22", "2000-03-12 17:45:54", "2004-05-17 17:38:30", "2003-07-21 00:40:51", "2002-09-18 06:03:46", "2005-04-04 21:09:31", "2010-10-19 00:03:27", "2000-02-22 09:01:43", "2010-12-13 11:30:39", "2019-05-07 08:08:08", "2004-02-16 06:40:29", "2005-04-01 17:24:11", "2004-12-19 08:14:40", "2004-03-03 13:10:04"],"c_map_float":{"c_map_float_1":7.438016, "c_map_float_2":17.455133, "c_map_float_3":59.356754, "c_map_float_4":34.72313, "c_map_float_5":14.910894, "c_map_float_6":44.912224, "c_map_float_7":75.61103, "c_map_float_8":92.01476, "c_map_float_9":76.595474, "c_map_float_10":3.6169252},"c_array_double":[51.66360285028079, 68.95009040509252, 63.50386680036835, 72.1967457130798, 86.57722608157873, 41.26719070417252, 96.3904258120526, 64.87098249786447, 12.095133898279189, 86.08334143392375, 13.763097958396205, 85.62344151510416, 22.590604927909883, 61.59757166638065, 95.70664120244535, 5.94331246540945, 98.17116538419923, 20.807392394122008, 83.45666324467628, 76.11679151232477, 76.64560953157682, 42.74164516175062, 63.624797627040024, 20.851732969293717, 98.04461140287921],"c_int":1086600128,"c_varchar":"back","c_array_bigint":[8974658227455873293, 8457847580182073860, -6234038190609331021, -1362346796232290731, 254070346339614950, -1457502151980697482, 3063982172456315025, -3543055179966733868, 7112412025073510095, 4296265414829503269, 1813490717283986854, -3685150303261843946, 3140161325741094076, 3300106988000778585, 7421821053480818109, 4772660024559236641, 2568785890829833632, 8548295880993955365, 1604678246718505651, 283869662643428315, 6527662763448878060, -3213453274678283038, -2516102365331916498, -5352913024718987441, -6893309767959343122],"c_boolean":0,"c_char":"EjWSESqtZK","c_array_ipv6":["gLBVTgOqgy", "yxIhehmhjm", "GajadRTlNB", "mFhbLoiHRi", "zYMiiDaVcW", "NDvYPDYMkD", "HNDTvsKEvF", "xflTrmGgfd", "NriEMhbjFO", "qpZhhBueeW", "VtALcxximI", "btRPmHQcrB", "ezhobBFbrK", "rnGpHKCrqY", "DHEwlLSgCx", "uPiyZxNcbt", "fDnqVqKuFT", "nBExGHtTOv", "vuyRGlJQps", "wbnLYSlmVK", "YAPVdpxyoy", "coKiEGjKiJ", "knmzwEUoNo", "tfFLnCkmef", "KCKaOcbKFf"],"c_array_decimal":[3.0632, 11.1788, 68.1414, 5.0255, 46.0455, 67.0113, 93.0809, 67.1306, 11.0132, 34.1497, 45.1857, 60.1862, 54.1344, 79.0908, 42.1777, 8.0152, 16.1411, 39.0328, 48.0715, 44.0717, 69.0201, 83.1165, 45.0095, 21.1662, 98.1722],"c_map_smallint":{"c_map_smallint_1":-22120, "c_map_smallint_2":-9203, "c_map_smallint_3":-28300, "c_map_smallint_4":-4771, "c_map_smallint_5":-2141, "c_map_smallint_6":-11132, "c_map_smallint_7":17690, "c_map_smallint_8":14850, "c_map_smallint_9":8301, "c_map_smallint_10":-8072},"c_map_largeint":{"c_map_largeint_1":8283025397898851999, "c_map_largeint_2":-2720927891372784304, "c_map_largeint_3":-2293712697358080409, "c_map_largeint_4":-5657554787533060322, "c_map_largeint_5":-79654724679616986, "c_map_largeint_6":-4697343753210159855, "c_map_largeint_7":8487765017084043634, "c_map_largeint_8":6659563108473624698, "c_map_largeint_9":-5914612235339405063, "c_map_largeint_10":7916551846213994744},"c_map_double":{"c_map_double_1":93.6559182424072, "c_map_double_2":2.68325617548986, "c_map_double_3":8.235957700926459, "c_map_double_4":92.03136881187507, "c_map_double_5":81.93195530842229, "c_map_double_6":12.98251022461617, "c_map_double_7":37.24410744498007, "c_map_double_8":12.08556095184442, "c_map_double_9":30.05715262548793, "c_map_double_10":47.398175464458404},"c_map_ipv6":{"c_map_ipv6_1":"2310:3318:62c1:424a:6e35:18e1:3df9:9afd", "c_map_ipv6_2":"c76b:8c91:c2e6:2a1f:780b:b00c:46f2:8d86", "c_map_ipv6_3":"c085:eddf:1ac7:ddcb:17bc:f0df:3a81:cb15", "c_map_ipv6_4":"55d0:520d:357a:9171:d569:67b7:7c27:838", "c_map_ipv6_5":"6eb0:16ed:d12a:42e4:4558:6fbd:3335:db", "c_map_ipv6_6":"2079:78b7:a72b:4b89:321c:7732:b486:5187", "c_map_ipv6_7":"315a:8563:9e87:67af:2939:d215:6991:46c7", "c_map_ipv6_8":"a847:bfe:a75c:eb70:42a4:c88:8990:176b", "c_map_ipv6_9":"2747:4522:fce9:10c8:6158:f850:a6dc:f3cb", "c_map_ipv6_10":"22c3:78a2:e64c:ee9:ad7f:cba3:b496:5ad9"},"c_date":"2007-12-22","c_ipv4":"196.51.1.205","c_ipv6":"9fd7:e26e:8df:5739:5d11:dbae:17f4:6304","c_array_largeint":[2776985571758335238, -6447750214169923796, -1141967802580010355, 7675312066077321170, 7088594364132427308, 2619306755623520364, -2033930869812898901, 6394285991916682743, -3753821839383035265, 6025491024279717956, 9122709564500277044, -6488058293747827245, 2246721797882413346, 1006358150577198231, -5090643472301762230, 6154559383906156696, 6676655270697542957, 6251457719800712436, 6310021239555251093, -7744286549485876813, -8734870589431709583, 7875181065908825639, 1192721144456528648, -1453325537495064783, -9189517050567589648],"c_array_float":[73.11107, 78.27546, 40.50179, 19.979954, 40.700283, 88.1378, 68.7664, 27.39328, 43.30623, 22.37268, 25.89082, 70.7061, 83.23678, 4.7177753, 27.471954, 30.016975, 2.4974663, 18.385595, 97.14086, 86.36528, 83.23602, 60.421383, 69.268776, 78.3943, 70.7031],"c_array_date":["2019-04-26", "2016-11-09", "2006-12-03", "2019-01-05", "2003-12-06", "2016-09-01", "2013-01-26", "2016-12-09", "2004-04-12", "2012-11-22", "2015-07-11", "2015-08-11", "2010-03-23", "2007-12-03", "2011-02-03", "2015-02-06", "2016-08-15", "2010-12-17", "2001-05-16", "2007-06-09", "2014-06-21", "2002-04-02", "2004-01-07", "2005-03-08", "2001-01-03"],"c_map_decimal":{"c_map_decimal_1":17.0588, "c_map_decimal_2":84.1215, "c_map_decimal_3":93.0050, "c_map_decimal_4":17.0429, "c_map_decimal_5":39.1426, "c_map_decimal_6":82.1565, "c_map_decimal_7":97.1515, "c_map_decimal_8":42.1205, "c_map_decimal_9":96.1323, "c_map_decimal_10":86.1352},"c_map_string":{"c_map_string_1":"KdolmCxevnbrxVjsSuablDTbkLacAUGoeGToBXXDeCVpXMWUheVqBdFDyqjakfERnZAcogQMhTAmvuSOUQKuELJjjOVuFWBMTigbrNevdCzzmffSXWyhOgWPFiACbGmAliWQyPcebGBniCOwAOFYXHibPysEnWXtHYWNcdkUyyCynyvVTDdQRNHXZbRyuJPwtjsAMqYrPwdDAElgdvtnQZOFfGwQNStcAORRFmMFRCbFPZNmuEbstDFIxMWKwxNsfeWiYNmzCTpMYnRWdEmTYKtNgqzRhKPEtFKYYQSaADQnHuSooLUBueZHwtPkyKgfqVwaNLLgTpMOqrZSBORbuUYGKZoRlMWPQCLWNboHxwiQijqYwCzHOxGUclnqveNQVomNUlfxrhGqiKqVkPLXtvHxXyNcfDQJFDWHmcogLlmoUEkURzHGUGxrdMVdIMxDQCtMsAFBfsfkLwFGIbAINQOVOSqohqleDLYfvkUzqUFhcZvdTjVxpcsDIEQjbWRd", "c_map_string_2":"yIgthIYtbzMZMGSsFWeXbJgmYuODFNjZEKFNaPgqNWiiKXrJqCRcbnDTGITIWACqPHTWoZMSIQuMHIVniGaaqNFzODzoTEEIjapDVLoZnGdBetqDXQtBfVePSePgyFXJxXbhpySsEbHWneWjSmfXIJeNUPzqLSfpNcsKOjzHeYaMiMPypfvQevhAnhMJsrFhjniOxIWmZrjjWIsLgcSGOnIFVrNGiVMrfjgKBdTmUUdwhyqPrmfUzMAvbXmpejaAJMwiGakKBlhNlfrofhAJOELHWnaOhIZcDwTUHzpNLUQdIxdirHRnKczeDQqJGnDLqhDzuAohSRWDMWQJajPTcVxoNxCDMlzIqyPwalylVygTEmiCZrhAiHwsCqRNCzpPorGdXoWXFwbSRYfxJSlQqUtoSdymvtKhrkEARFfctmrmYdeCaJieLzqqoyKAoOsjlqYDhISCzByNXswMjMYxIrAhrXmTMXLvBgFfjIEFOHSDLmHkNQSSSEfTbxBgkZTV", "c_map_string_3":"QGfLTVMPhFYlrrDXKnTxGGQIakszGCwXgestwGNDKimSQBlIeFAGBBLiMyWogSuyvohbvSjMfynUrdFYfPDqdYgixlGSTvHWzcIhtAzObesaMeYlakynOGAAbvAJDhYApfPNSMOScsnaHFsGIKewpHCpYxmVExrTELbCbXBNYiFdQwYqLdIkYOQgwamedaPWpgWqhNvMZARFpJSARhWwrBAjQPLxOPgCEvReZuuPNTwErquqzHonsvJACssieNiNIGThkOmVMrALkUxauoWFgWkmqaeihdrBrMyYfnYjHLuVuNQbwGgkQNqWFJBirqNEjsKiAHXVpBIWdJqAdHdImcUASwTNLKVvWItjeQJUGMQOQCsnmuzmdMXggMSMBTbQtbepFOVthENrYnfiXmvCQEpiIiUXEwdgnRzcMpqknkVJgDEwweMgMAzHKrwdPmtWhQvdDIbHhSGHDmRMacNiWzCJVIyZOHmMhxdItLpdlbiZMTLrMVpCaXkNrsLHqMeG", "c_map_string_4":"axcODEiiadtJdpKACZWvVNkcBxlAClrCpFUGVxiRniAeeaeshnApzBQVftdIJDMsKmKeGFjCWUaQuEFzTmjeQmobvgeMBGiQwtaiNMyOfEouhBFczNajeYMxALueEJZTQDNhFAymBqiTnqAQqriCLeiqocPChKQDwOgMiErdlSJhprVozGTXqGwYsKSpmMeWlkGScXOaNvXTkGTtGmIOABQGAEUHXwhENJtDfwkfwQBYVhVVnTDUHrNZGlNXTqCKvRakuVRnnpIhiABXjnfFffsjtvQBmzpEksgFrvdKWyWkRfqGiYgyMLmWUyUxOmOutOHDzYLBWWpIvHMAnRArwVALhmEKDoWRqlVnLzOYEZwATGgVcHNQkssZyfGznEXQrnfPCGpMPSDOdAnXIakxiHOstslUKqUzkpJJgxarLEbTzNzRaixNUVZStHpXdTUYTUHbykLzwxjpFTHwnlWxzQHUIIUXSoySzKaMMARyQZnpCNtvKLvPFqHJwkusAELT", "c_map_string_5":"HJuGthLqLudAsYaLLoPIyoYPDmxnHEVgdJxzGqdRvdwfPKugCISFRubAPnnUudXSycakKRwuWDXRrkZRBtUrxRNMEWLomfyngGtOaFGQaYVJRKQYlDxSUPvaVHJtslcnuJwAfMToFuZmUOrWAOWbtWwIeNFxopxQKscsHxZOwXAYrpCHDSJUCPAVEaKevGoBvWFpTJHcawMFtdxsJammYFWcCbRRAQdUYHBAINEkIPoVpLkAGvGvyLaufiJbRmrEmEPEKHcZYydvYFmSTSOMHQIXBCzqChZjdZGZksZVhNKDHpqNzfJIXCcTIoNkttMrihrknWEbxTEQOsucxaCmCEFeOkUHuKJcjdldijRwNIolVVNNGaYXoGqFjQqHKPaUJpeiQZmEiesajAgtxvYgOngfotaCNLBZLjRYnTDtssyoXXNTWBzJbkaXQtZcmMOgduUPPahcpFdpQvEXtDRnhWrPxYfMSqQCeuFSoQBbrVpwKIECPcVtKvtYJkFpJoGn", "c_map_string_6":"kLUDflCDGNqzPNThDONKDJBuIPDZbedBiPjeTKclDCWxhscWTsoaqyYtppfjNnGgSgdtYFBzWBCyfOKSQRNvElYpWYBmwlpsquykPeckpsBwFrsLLvPBEmIcOERDiStLtcbMkyrfzuQTlJeqtzInFuNiIBtOheBBHXMARnbmzgPGuqkARyhHRVDHMdAnIZJTGEcWfFabtXynGWZyKrRARzRMLBblpcZcpxkktNSBQZGSenOxYyUNlkMNVobNXXlVXbbfHyfdWuJhFHhzMUxvtURsikeMOIjOuXtYctfSnIcoJyTupncxIAIVWMMSnKBfOOGMlVbJQBwwevHrXWGPdUjFVASlxFXDDUaPMrLlNivyErMAXFDftTeUwuECdJjhTPgBEuLiCfTaEoYEzlzfHlmlBiFjgofnzJSeniXXJyqOqVIJlwShEvFmbomEmUFDBxkuDuPikZRYpLmAyYoJYsrWcNCfjgfWNSyUAVRlQSOkpApBjnOSDdXtJJfpqqSA", "c_map_string_7":"wuyRWAWNJUugbfnqxOxmvJIwjkgIbekEuKjQpCjTqMJnrZxgcdaSrfPtovVOBHYssKmGkHNpRoWnQbRWKwBmENNrxreqoKSqfgwTMPXwcXOaoDSgKBExnDilVJXiCRolaJlHvFzWbeMiJhDfTrThHNtGUPvmMpqXhkVtQWJvMHqaoSMpIPYyHYGoGPDkqCpDKLYNZEdeuWtDIDemmvacAednRxsPOEJMgpWReczHeDEsQrHvaNyOPMOnYGLqHXqgVbLsNWxiqrooRxpJEtmmpRqniqEckLdRvZmmZkhybfiAPPoeStgxnbuGDCKfxwLDJwIaJatjEcwwWtQiXWzfworDEKEfvEAgJtdJZFbLwSQpRgBxwFTbjMBuvuiNCipqIvkguMMYccSGyRxbCdEzEmwEyYikAEmxexfXDzrtKDjVbrVBGAQaALFMpDGtGHxJuVtkVIKeZCnFdIUoDkzrksxQcuLjETutwlVKojbPwxmnFiFoWjOGsdfNMEKHGBoX", "c_map_string_8":"zYemqSksZqCRjgqfSpffyvwSFJWzQzkwDdGDVlgHobGNZHEZfcTLWQGOoVGGrLZrYnyOxOFqiZPmcKguuSYggYTsfqJtKrhiJdfxBpKBKuIUMYELbbhfBqXvzDyVfpxlbrsWYPAIIINxecKHcyZWidSDddBKsEGPlCBmxsphhvYiXhcmnVZrQXJPFSHSeKkHCRCzwuGkjRpTXGxdvAWAwIispjhrpYGQynKJgeaITKIycBxwKwkybqyHKDAlntyNVPwprdhIfZdswwgvchaTgypfRzGXGQqerwnpcCLSfsuwUhAXbSkpuMlInJYpSKkbXYXaLISETYIKYccBAWpkbEUmCFmGdUTVehgHWPQyQDjYBwBakQgtfvSbVtqKIFPYwvBZgVdgLqgSNdDphJLEuHMVIDLWoNrpnNDAbwccwdwhmDwzFPBUfXesGBXdGBGyHJsJWnlfhgWpoNtCHRkHqaKkEiwdGPRIoAZxoFBMFHvLQaqydKndlGliibZxHIMm", "c_map_string_9":"RFNpNIvOWocVAXVqMzYfLoNdJfNCSzBlLIpyMvdxfPyRXHihZbTwlWzrolfZeskeOXwposmaIoSCKIBNPuQQGXdNtXMZYZHBmKhnIoqWRxGJbwYoJchRyFOVmSQqSogfEcJhnibjxvspAtqQqVRATQxLRNJIbNEhtQPlKFixgELSEGORkOBWpciTMrXBFEDAvIltrmOJwKfFrnvskOWmlwfyXOEYzEHrsgpGiqNWLdKoLIUpIMtBciwSWNSiArpzKPhtNcUsuTgvrbsZIvoNqqbADbVQoiwNOnCWveJVftgfokbpRbzDhzfNedrewJcxtdXrudPmjxcwsVOyjQsymSdSIOfnINhTYGJzwWDtqagGCftcNaqRFdwCBckKOYoHhrIlzcjYvhgvjrpipWooKOtjTiQLpCAGmZcGOaNkmXzmWzwDvRbmxUPkAiJOYsvzypjegGYibpOseXRtQokAQUOdXYVFsYMIEkNCfmleuKPQnegrNHWFoZxJtyzuyMLU", "c_map_string_10":"sxrYlvwIxXORqyEhaePWuPgYjNyKonvyoImmesYySmxOAqKtyolWOyUKVqGkbdlxBkvLdFMLTRJwvYEuUpmQAdoUMEfzihIPlxWZUBNRxrNrrJtdeaFEKjqEkmXyYLBCbCAAZIkIROEtGONpXhOMZNQcSOguRBMLTEdKPAIFQwEohcRjVWbDvUwZSJxrqrtPiSOZnRSnwMkTtDZznVmxJlagiQgEmjOhPqPhzcpBpVsFtiSMjiKUOZwxikdUugrKcdSsskmgxQrnCrTedbeoJbfXFqcLduBzPTnFIcqXsTcWBcxzipznGSltfiWYNwQlhwrcMmUkRYfbSwfqQfBynOuJZBGAgjMyhLXMcxFBtXxGrmCSBmCjohqqVeWKfyZfregljIoKjbdFpmMzYMEKBIZmJakQZQbHYqaQRaPKsPapAgwGHdPgPLwulvDSnccPRogYbvStDsVcwvdbeRAPXQflPSdgfkpaJPQrjSOBUYpwSYNOWhvhUPFDjKyECyYL"},"c_double":32.705831533759095,"c_string":"tRirCYlKXAqQfBYBhPMImJjbMwwtYCHiTMXUwCHpgITGFNXfNupCLJKfgFFpumaOQlYTxLEJXWwxZktPNGkCZJsQUpBHKxwrEDOjxxQuuhumOgjLISnYyHlZmvnLtJOpeiIHFpyiypFhqaRVjJURhEIYFEGuCxRluAHEGzopWPvkwzHFaPtPMDPxZmaYUYcoQPPkNsxUnWlpijpvrCeFDITJyKWwKOgwvjpecCRkdNvlMLgMvBJVLrluYqFxbGAKVkODFoSEuffIeHAhZeGzhiktMEtaWUIrqfdUzcfUYbwUhEXtCMTBqeReoaaNlPJcIaDljdrKRaeFnNMMTiKGHxpcAbDCMXawgVbkQdYmUuIyDFpahmaRLeIXcTwxRmUoIJHqEqtzzcbqkyCzwXLxvyYZUakudbiPYHZeqDhtAWqFddNtHrcnuhdRrWJDFonJrvoWxaukcvguqywpAHOLiDnjfnhWFovPTVylYiyLsPtMcCSWOiYhcofXSLjJnnDB","c_datetime":"2011-03-06 11:08:36","c_array_ipv4":["TMOSoGpmMr", "YicfdLvWuA", "REMMtunDiu", "NIKimEtiSi", "AnAffhzdwT", "syCIPNqmsW", "HMhiYYKbrR", "ZJzBDEBmnR", "VQobfABwbX", "ZtvxlJNhpo", "RQzxVCXCQV", "GbGdOhpCWW", "REOuSutDLy", "bhppHSmhLY", "DyovGnktJR", "DefQPSkpBa", "OVSkiSkFyV", "aqaqzUNDlM", "YilbLyjGhh", "neXhKaUXsH", "DcUxPrgRfO", "jslSTXUiom", "MdIyiFeSjo", "UvnTWMYHtV", "JJyLCIFVPz"],"c_map_int":{"c_map_int_1":1127817303, "c_map_int_2":219720371, "c_map_int_3":920696953, "c_map_int_4":-544748304, "c_map_int_5":-1220407281, "c_map_int_6":1215367288, "c_map_int_7":663788782, "c_map_int_8":350737180, "c_map_int_9":-1419474949, "c_map_int_10":-907028783},"c_map_varchar":{"c_map_varchar_1":"cIugPyWVBTEeEQyMZeYZrnUZokgQkvKSgnFeQjLBhGiAXCaxZTjkJegPRkEzzWUaOVyyzVJLJdkIKbnOaTIzpnIDeXltBYgWkXIyxAxsuKHrARtCTCUZJjGwVvcSkInfQmBxOYmGMTJglgxBfCyVVrQfIHULwWAOEaUYsYVPfORPgpHTormleItDohyGQqbcveGRJCmMexPpxNwxaSqnhfkvQftXtSrNQofUBkpRgcbJKXTiMefdhhRVCiWkonXr", "c_map_varchar_2":"QkwvUVXFSJaWWpVVAqeYGISNLAhZqoznHucLkeJROOfTLKEQCPEnaoZhsPfeZKzmRVpKvSpahXZCmUYOZjNDZaSLkqzzLXXJQevMMYaEWNvFHhyFeFdZyovwYxoiYMTKNBhpuidOuRopQUIssvkPVvTuiBIddbxScrwsFOoDNbWnwvvNaIqmFWFoteQdGXuzssaJUCIrasCtkMlBgjNEGKMNtIehIADrqHwqRHRXbcjzsYparBmPijFyLtFdaBzK", "c_map_varchar_3":"QMhAePSxSCwdzemMuJgYFLryQUvHWwmePDdPPndhDArwcqBYyicMsIBkBZwlTZzhmiBYtQcOgyenixkfXgJHnaznwPSkXdjlEXWbEAHiWwpwlhGlvbxBxauzRdCnBSVqbhYKLScRZeoLMPzMpmTJRdFOPUBdjpbJSkbfQcSNzUvCtLgAyuCdnZwghheigDHZmVQTPaDWwVOjHRKnlKorQYrVDXVaNDrFvQssVeGUEJdsWcVMmBTaWuESVCmCaqet", "c_map_varchar_4":"cDBFJkMDqawpvOpkvppElayWxGkbaUcWMwCFAbKueQnDOveOfIoUlwIFwFKrGZZxInmMxnBwShfRZQXnWupFvZsCPTSkPdVYzVvRgystTUQqQHYQWqpAVmiSVKNWoKkaYSXLPCEVPHMlJkNZdphFBUxGgOgFYBBqrMOHDleRmKqFFytAYkiQSMeHfpEjYgsdPOsfVATXjgMsUztOFCpvbVZAFyOooeaAmgMrbwomlGZCUXqlrBThRgejTiaLoJqc", "c_map_varchar_5":"ULkRZCvVfoGAmtXhdwtjRuSOnnxUvsEVrWcXytSYhbSVDjalBhvEIWIsaqrYuyfFWUIiFcuCFNpmspRWNqvMgnlZMGylRkofcfPahYoWeyZRMfOrLjnOpSamwEPzRWZXMnGPBBcdYpUZltpRXUMypwKtLDrsSScFKUaRdQHXtFTiWQbymBxxFosdQMNdWVwlEQaqLJqvLcAeCLWekVvVZiUBenCjTbsPPQSAYxEcfOCsLqWOzrZeuFoWYzREjXVz", "c_map_varchar_6":"dLIPcPwtRmMOaDeHcKOvcXrThWKMJtipfOzflxGGQQRXvAyyepnMACdfioARsnKRwPhaiDmxLWwpOfxvNNPWlgUjUbNTWiuuEhMFGJDZHvnxUgPluPBxZbKwBnSlmGFRGRZrClsnPdgjrqVKSgZEMMAvSXJRegEezAqUNgJpYSZImTBsqlxmsdLdNXlaLyrLtcVQgtFBAOHMfMhgxkgPdzKvDIZBCdtRUlKFsitpACyipsDrUoSLREsJJpnJyYbS", "c_map_varchar_7":"UrJGOgmOUMiuAExfIekTMSgAWTTmSMuZYrgRUdIDVzFrjkxZSfhmgeptqeBTdhYMYdCrbsBHIxmYIwQstoJUHMHIyGZIewARaZqkjUWviBaMLyLOMTmELHkgJhhprjaPnFlvOHigSDZXsAOjIpTWrFdtodlgVhsmOZBeqZqjukNzXZcvBSINiiDdNrSudFpldjpoVbhybQLhBurUinZbnqfEUQstpvDWRgKBLUMESLnkCXauWbiZZmHvlCWcDHih", "c_map_varchar_8":"NzVLAGJPnjjieJHmQZGuFQSVveuWeIJtbAOArldqKIybFlnqmGkGgLPrvOCPPzATiiLFuYyPfQysrTVVhTSDVpWiDDxdrdFFKrZKHeUNxcBWBFRFghPfLKYsgSeHvUOHqpSklbiIbfsAnVDRZUQPTvBeIhDiUukFebzhwlDJHOcgifbitvIVGfqzLoAttIyHdmWrUZanbQNvtMJOUewyPjNsKshINIOBPPjySZztUHWJtAxUXUDoWRGnafBgljuZ", "c_map_varchar_9":"CXvjqLDLJOIFhSuyaqwtCEzEGzmiIYRceemszIDBxRAYoDWzicsYWRAgJFiyWybrgGryuiTZsdckjGBUrSZGQdCEbmgWGDEFeHUqLWzJbIJOdqEqYthgXBiNCdxpNxScStHBbdzedqAuamcyXyREETspXbYeSDbjYMzIJzKoiCFicLJXebjsSTaBecrWWrCGGXascHbdvrirmllwrCDpZCwxLMRZgnwsLaETRAclZWSQdiuioONvOpBcPIqmbetj", "c_map_varchar_10":"XMnrqflMIxjMHLIIygmsrDciHzEQbPDjuHLdbCplyKahtXOiitWrvLPCFcCEhVgaQQHmgPzJqOcQaBNfMUKfZvmsraVdDTvkYCvLjxWOwUhJJckmvmLAzVKklNduajjyHqgiAvvHbMxYWAvcvIabwBUXlaOVkbrvQINaxCgxvADlqQJMRhDoKrPdbLXXcodNzXKXklrlKRueMbrFVkcVWdcHTKxNCyHuRFjpeAlTuGSlLHIzIBKagoXxYOLtHTvF"},"c_float":30.959843,"c_decimal":60.1844,"c_array_boolean":[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1],"c_array_tinyint":[46, -10, -19, -104, -106, -59, 97, -23, -94, -101, 100, 16, -113, 71, 51, -114, -116, 4, 27, -31, 61, 90, -7, -56, -64],"c_array_smallint":[-12918, -24789, 18526, -14387, -17502, -10840, -21571, 16035, 6586, -17166, -8365, -22215, 11937, 19616, -27041, 17577, -28678, 23480, -15201, -3912, -1724, 5991, 25239, 1512, 17434],"c_map_bigint":{"c_map_bigint_1":-7969943423337681437, "c_map_bigint_2":-6897662041863394330, "c_map_bigint_3":4979071846215337561, "c_map_bigint_4":7419196696291473691, "c_map_bigint_5":-5484566118417088866, "c_map_bigint_6":6595418759744638482, "c_map_bigint_7":1040710576270014571, "c_map_bigint_8":-441416556644474827, "c_map_bigint_9":5441078339675923210, "c_map_bigint_10":-3240424337173530186},"c_map_datetime":{"c_map_datetime_1":"2008-11-27 01:00:11", "c_map_datetime_2":"2008-05-02 05:39:23", "c_map_datetime_3":"2000-06-28 15:09:17", "c_map_datetime_4":"2019-03-08 00:41:03", "c_map_datetime_5":"2013-05-15 05:00:16", "c_map_datetime_6":"2002-11-12 06:44:16", "c_map_datetime_7":"2017-04-22 05:02:59", "c_map_datetime_8":"2012-08-01 13:35:15", "c_map_datetime_9":"2012-01-02 22:34:14", "c_map_datetime_10":"2000-01-03 06:53:29"},"c_map_ipv4":{"c_map_ipv4_1":"65.39.1.171", "c_map_ipv4_2":"147.207.26.71", "c_map_ipv4_3":"174.124.42.241", "c_map_ipv4_4":"100.96.141.162", "c_map_ipv4_5":"206.19.203.145", "c_map_ipv4_6":"6.20.137.15", "c_map_ipv4_7":"63.45.111.24", "c_map_ipv4_8":"92.86.55.173", "c_map_ipv4_9":"63.48.169.76", "c_map_ipv4_10":"200.157.34.237"},"c_tinyint":-125,"c_smallint":21919,"c_bigint":4458314672627555019,"c_array_varchar":["XzYmQdbzLzTTjyeWAQHciagvCrzGYuAOIyoaaBdyfywEypXYvoIlDGHpxxufKKobREWallhvNcfOgPNuKMTtRSErNSiyTiIuYyvEdathBYVRQkgWXWfRGmSKFtetqCxwydSRIRnErmnshYtEZFIUrjpjVuvBQeCsEajbrHpErXnxPvvBODMaeUeMgieUCKazpEiwyFmOjSgbydzgUNdcuOrFjqDAUBUNnmfhacfhoVlhuDRKHPWWrmQibiDXSJRb", "wFeCmArRIKQiOYyhADPqQgBWFYexsjWwYpRbCrnFeDZpTOUsgdQtVtSmINVXPkzHNAWAsgNWtoeCmsiMKpHjfihDUfbLpbwzCFMdesAypiXXuMkwImdtNcJUHAFBjBvneyXlZpxkKNVFqsjEKYwRdRrEHqfiDiNJKurtMtueKpfwohYlJWXlXfyjUdoLLWnLOgHTQYsUXZWhnldxnUOHEbYjOOfLqrulmWMPuQuwiFsvtdinpNZoHRNjEevlJnFY", "AaWLzdvCbmQkxFHDNIctYWaUVuAkUkChtwYHcYNTpHoTMefyLXCBFRyeiPVughXdmgzjaEqHeJKyjtHxRLZtAEBWVClTcskKbOiNAEXDsqcGXzWqXAInkhdDrMHECHwEcUSHrObqEPrbOvwQrwoLMzProWIiHjbJjKSGgdnYrcQqMzXKnSwSDBAcchQTLfUVChiAyZbIzDwsSarZkpcFqPEISaaLClOTcUsYAoxFAZvWCCKAFAvWQUgIVlyhMBcV", "GBgqVsmwrNmXJFDZFceOaxdfzenbhCgdLtoByLqDVmxQETSdANlsReODfkJarbsvgGyTToQTzSCzCsbwhBWbWgvBbTuAwnZKHaDgGLuwxvznfMBAQyeoYWByTvVyydYkfheEuUTjBXFDYmJDkrqlhGNJCACngFAeYpBSdFZPgsCOcmRxiMFJQojXEHhAVeYbuJOQSBbPyIjPpKcCBCcETYmkFVGeGWZbcElubHGmJExWIMBjgsozqRYMKBkbueae", "IsBTvHUipaTicZeosFRJrLClMbulhTJulukEpPoQlkcOpelrBaBUpYvUcFKRcMyqUxnIsinMTkEFdFavrGotHUATbLGgyQnpuuimGpwfuzQByUboOJxExSZZpZJfwlyeVvkRBoLPFRsWPAgviCHvTBxgpzIGIIQaFjSkycWDKutwyopJqzxRfPGfqcanyWEzTMtzsYogpieSvMbeluoQFsqItxSGMPVuDQYRmdQUpEyiOLcEhpAGHdaxRxUrsTLf", "OxXxRQZgfwUGUYZWOGPElDPgCoNKRCAdmExZVzMlUZkTlbaZAkBxNDkjBLpJmxRwpCKYdKmPLODbOxveEfWCjTJdCmSDklHFTiDnpKxqkUUKziBiBePPGrXyUMWAuANStbrWDIaTiYFEHTMpjRsDJsOqqUBBKSGRytlegsjvuJdINFhudJpuBZDyGRDDgvPuwBLozUAWyMOdPRaNLjArehPQKyWOoGlxJOGESUSDynghNFjnuEMmRGtwrJCOCZkU", "NsWOfhrvPPpoYNuGWaujfCTToXiUNQysyvBxNDPtUPKXdZvMPnpHTVZlRWEPBvFELJAyNBiQuKWOSJnXXkbjmugRWDhNLIhZlbtxMmhoPyeRksOhPxLTemnmGfnapLBQCSQuOlXRSjdLDaRWZwSFjCPWhoPxUCmNGMnQWFmAMrEXkHWWclngOjNknEUlLFHbbXblKeasKdqCUwmBcnKkflFwUbHgREthNvrIFnuIFIGLrTBYfmNMdCsAlSWHHKnF", "zDVeSvpvAXLYGJqLpeOsogxIJXkEuhBhuiwPALEqbvllVzsQRnJLBrJVYuBSPUJGglCapwrqaTZpInJcOewsakFnPgGPmDvSaQvvelRpkiSFUfSgrludDAtIMpReNuwBUKwWzfYrFgMONKWbTjTKjkLNbpBVCmztmTExwUmOyezhFnZDFSkMRYldRoWiHqeETeWsDwjBjgceHTCozBUytIHmKiCZUmPBREyoqEVabZLDZRutudlDeIeHGUUnZBzJ", "PrKZoMqPBkjNFNrZygOsSJIGVGymVWhiOgVexJFrMEekdmskKrSAKJBYHqxBhOEUDlqHNGTeAhvUlEZMMjRlRNEezbQLGVgBAOpefJYMaPmYVIxpVvXlmdLIPFydOZSidmMVjaEnQQAdIGSzZlZSmQtNnGeppDLBPeQVPWQZSjBIOHCNlrUyBEvzIcLXFABNFCFdfdQuLvEMyjPmQnuGabQkbJkaeQmJaemhYCCdqJtdnArdejzLdFiWXvOInJhy", "JGANObMfQaIKjShcXNOnIMHvTRhSdbRFhkmkFeldxJpNTVepnNmbribWlSsLTJhPvJsnECItHdCxbYFxRXKLYQqrJvAJegQaiuYpipVZQWpURyYHanoIITBNhJliZyPCPUvsFjFGQJKcwPRLgfZQNWSqIueroBlkwemPGckkmJwTWpSftVAGQKsoFbDBqYChvxMpQzURwuQTikZQKFlgOStIOgzgfpmTlVMnfHEaIbyFhlyJlySBVhTmqeoXlxka", "VbAnRGEhiDSaJNPFKsfRSNAvCUKAVxmpixQLgGlcrhhyURcMhOqRTAoPyyPhuDnZCpVCtDqiguRzhwwQfTSIrVeXvpfQMUOVEwjHDWPphmcXJOBLVCspMsLBrSkcGfZPZxQQTsZSdtKkMhDLOfRwUnlVtZsZnuzwjQwGZxNwWmzvmgorfydqoAXbhYzmPiRvwQabKAVKlrsNHAOfOMRRPlawLjesNwYISUcWRUKONOThVBUuYAZcjWzoFgfoXWjy", "FXQpAmfhWjEviOddCzutQIgYzMJyWpBeuIBECAMytiMNUsdsybKahZEsflfZniBLsXcVjTVwUwkACMOWlLocqNIMSlcoZjEpKzlMFEjeHHUWowMJrxxPlvOWUzYLCENVBzeINbuFyuYHczgldNmSvJjDUrLgIVzdKpcqjZWWQSzcBZcVbUqjFNanIQcqmzxQrasVpRuqMJXrmMveuYhIPQHBCdJuCfvxRRTNvTrlaoStgVjGChLNYbmQoglpHRZH", "FLYOBsclzbAGEkaFoyKhIxjMSnXjKrIbcSBCyfBrnMnSvotcbowezwufOpmUIOLiejZmYdevSOPhwBTtJsODcPxzzuYCgpjFcEpgjFzULLZUvkRcJwYbbpklvdmKwaoqCdeiLZIbKCDRxkZhWOmkXywPgdGaNxIsfTlDjIQGZWnKsGUpgiZgGLnOPTEcHSwCDrYQLzRRSeNDiPNjFrgiundAvkpMrhzKDHvLbWIjYFlaqQSJgxGONkrvkyZzshOG", "WJLlpqMWseVgwzNXQRMHkmtdhImtrYxxkXWqPOoIJPvwdVFHEzPWbikJvVAGhllZrPwohmcmQyHmtJbsvjwIVepwUHXntREjIYhfCigKnrLYPITpKHswIHGFmQPmBlpYiZaoyLGDCOOFuoopLCGWtykUibjnTjpweEnvkuiGcTeLEuFursBCWmqhAxZZbXtuVrKcwmFuzLFxumDsUThVFsLCksWrFeYmcLUbtoBXVUUzhUNnBjPXTkwqwJjlPyoA", "TXylFAVqPnvNAsVVmWdFmHKHKVntIcQIBQZjumjDiiwzHzPPjBssCFrXVADxckseyWSTaCOuTpBujFNHYoRaZTTLoLHtitdltaqJQeHhsyyODvWhIxizSeBpPFQjeYdXFSDWJoxNkvkiRqJcNSFzdWbKLMcfEpVICxakLeIMZMfWlRGnKUWSitCXoyjzcbEiMgigBYTHsZnYZEcxlWccCpTGXJxUPHlrmqzbHUUiZzVaVSvIvrexlJTCkWECTQzg", "amsyaVyDZXtoIwhMPuOemfDmoohkGykEADawRwZNvOgQSWnEjorAlhWYdpTjgbDkvUGjOXeBwfhZxesfCqZfAneebkcOpWXSQgCrMHMsJAFtNqQnAKUmDONeTHVupqIBhRLoiiPRkvmaVXYmXmmsHkroTXUwWDzHEmNlklydrDlbZcUiWzRZXKSLMNlgSvfOmDplHzjNtMmkpVfKWbSLyvANyNijaaScnjXReHGjXudQxLOKlCWmuFfpDodjnWIW", "meHlYWGhPiGIbagpyWmqbVtspCSsydMiVzjncbNSBnZtBEDvWiDaHRwsLGDkPNbfqVewmSyQWaipwUJMKmGbnTkCFFeOrJdVdlmqkhXccUvQxXQfiwJBxCseCBDsZCWcBDANpcOHiHUlaPjnkNqlprmdhhJGMoAqMqVYuCroqlUifhDKrgNkiszWxlmWOUgJkkuwSWhjwnZdCQzallPxdkiENHhcYytoFFkfOnzfoaEjSHAcVQOuTHyZvHFYZjmi", "hpPHUiQQvePdaDFIZHwaDnhkHgujjFoeTGzpcSAcuqwTthabiqYDOMrXVNpIZzdaFOvCzZROaGJBMleSvBgRkgjmkaRHhRoDvhOqWEraEnuxzFiXfnqsbEApuqAerNtGAprbordMiKPpdIelJxKzDQAkMQdicctVdpFgmuwhANcckKsOlAXRcngWBcPmjZQPcAezIumkzdPTsPtssvirBWXvFGDKcJPfeaxMgiIxziQCSCAGellkqTklRUzzHIjR", "TvgAXnXAqERMCcggtRFpGibgnnuMxqrhqdarxwooZnqDhbUCvPxcIdcMvhuvTqtgbTZumYzdByCFvXNjHpFeIEstFlSrNIRDqXMGglwPrHFmBNmSfiMxagycwHcgYtvCMDeilydxOEpPyIqKKVnfLfMmYxccCcCNIPVdKxjWKMksWOSpdalHtQGIUwSZMYIXuzxDfWMsGvKgIpoKrdpSSzHxxlJFInrlsoYpdBeNRnEoOwJBGPTaBxeqaZoPuxgn", "UtUIIPNclUiQCWCAjkqwMDbZsTHJtbnQySepMUwlCPANZSpHHwlxtAELrosTRUzWtsDfFNdQrSBAbwkZuWlhemXENksEPRkllNUcapnCmcOSfANLqOJNFKSCrVWrMCeBFXmYQosReDjxLanwXelPMhOllZynwFaOgMYtXzRykEartGpfMEGsMNfhLoUguIKoWslPlzTqqBpjonxDYbUHMptZDFRUffdTutgoDBmVQSUeBWFaNPpxXVnGrbRDcHmG", "ZvJALbgKNNxnqGjrkmvtECoUDizGhpMQTVvjqUlvYHgkMxIWeioQiAnMhZXbRejBTgEowMRtDvBmcxaINaJEFvcWnLNEHrYyCzbtMFAWhcIjxRCRlzfaxHDyOeJKkyIaKbCtgHeSxwxvHMnHPkejCVNhdCcaVMFlBQhQYJUmnhWcfEOPkVRUTRrJeHKfZYXOhlXskbaKSVqhjfQdgQFjwHOiGFTUwfSgIgabgUCgLzJsHAXAgNSAExdcLnTIIKTN", "cMAKHdjWenzxfZSDUvpbBvdJmdGaxUItcZcWiYbZtpEUgGPsdsINtXqCjYdfNTBFQyQJChijdMVzdVdhOPEWikwEhsZZlzkIwfCXdhxtJpHEpEXBbODfYTdVrwybdhaxRaZNjkKJajXYGNIKgVYKOlxDiTSHISQOrwFelWtYtlDXRULCcTsTJXvHNMpiJiZrwCldMDAdFxaKyhcLcdbwvdzZihuntGEQUEvBnWBdooEWmfXYOWDKzBMrPyzKlQQN", "vxOQDdjRmONBjOlgTUhlIvyXIWQgjSROrXXrAsLIOHPDufDZhwnrVaBMDxygtiaYMjVtoZWjJjWbcXOAzBDXnHBtjgjMRVZuYwBVxgLwFlOWisWIiGzQnzLWDlpLALyOOsIbEeJdAOncHqsomTytWMEXFTQRIuSWGmLXynkeePMdaFpWUJLDmqdUrYrWlHtgROkczNHtUlTYupYELzqwXbTFaSUFbeSwJAuzXnZmaSZaVcBZTDEkXqKhOUdaglcB", "JvOlOFWYuwHAOXYutfOPKjPmQZRPFeZBowQgsbPzQiIYCJkuyKYlKzgKIHVhteQeIIbgBxoBcpKFttiEZQQtRZdOBgnmVuQPzvsGNdBWFwNOpOTOhUGWTjJunFNAgYZSUfSZHthDFKlfpQrgtVqwgbhbMxArHMIEffiMmMgdBSYcoOxqHuBHKlWNxOqesgwdjzUauTGzOGaTpVdIJMUOolyTZsiVWhAbWrDSZECBMMWNqaJzCBBswXlcGZEsZYUB", "jRLlibootjKlDnlzzJXnVgscXbjkICpIRiLHZXaSwxUtrhIBmAbwejlNLrWDKDiRUrXrNconALgbngCoGRaTLMhwtSPpLSVeUpTseOqVRSDhRjzKuTWYaZiGFVjMNZgXrtfjEhqAYVBBSBDrcXbBllZHYZchrzsupqBqKZTKRVFmuqeVYPoklOfrTZzlTOdFlMeurphPFPYvhfkBHkTCbvguGwbIUebMoaXuTYLNLjZikNbhHvjBvXHnyYhXCnAG"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":-35, "c_map_tinyint_2":-81, "c_map_tinyint_3":20, "c_map_tinyint_4":-75, "c_map_tinyint_5":-53, "c_map_tinyint_6":-24, "c_map_tinyint_7":26, "c_map_tinyint_8":-24, "c_map_tinyint_9":-67, "c_map_tinyint_10":16},"c_map_char":{"c_map_char_1":"tJDTscrPdo", "c_map_char_2":"aTBHYYqlMq", "c_map_char_3":"OFQFWmxNcT", "c_map_char_4":"HzqoWVwzSO", "c_map_char_5":"vRsToTedvd", "c_map_char_6":"wsRhnSypva", "c_map_char_7":"EgQqAlZWYs", "c_map_char_8":"OxacPPWUQZ", "c_map_char_9":"CzHTqHSvpw", "c_map_char_10":"RwNIOybiAZ"},"c_map_date":{"c_map_date_1":"2012-08-20", "c_map_date_2":"2007-11-15", "c_map_date_3":"2005-12-11", "c_map_date_4":"2007-06-18", "c_map_date_5":"2000-05-28", "c_map_date_6":"2008-08-04", "c_map_date_7":"2005-01-19", "c_map_date_8":"2013-10-01", "c_map_date_9":"2019-05-13", "c_map_date_10":"2000-02-08"},"c_largeint":4458071326734067983,"c_array_int":[998260431, 1009841550, 284304793, -573021560, 45394867, 1677098796, 1312733649, -1907030714, 276545594, 566212138, -216342646, -182950642, 460266315, -407225089, 672520378, -1440982672, -680095989, -441468983, -1897860855, 897154787, -1860243397, -1592719666, -807998335, 1522436916, -2136030528],"c_array_char":["hzBmFhWxLY", "oUDpObNmuW", "KFtiuZILcj", "tGSwzPmBHQ", "LdLFPixBzc", "QXonGUfZBa", "QlDPNpMXBw", "eQwxZuuKPu", "BgUJFRvGwV", "qbrZsqZfpu", "fUnAFFdCft", "fmRvUwuJRm", "jzudnPdGny", "gwczYxFXou", "zBWuoqHNmF", "rupUoCSAKE", "mAhHeuoRcH", "aufderaQtm", "yxCsGxfjlx", "YdSmIPSBmX", "UchrApUBHN", "ToDOdHyPKZ", "GJcrUNZDXE", "iwkhvqtquM", "JdxsvsTurP"],"c_json":{"fruit":"Peach"} }','{ "c_array_varchar":["oVImVCJAXMHrWbJDQVYEyXwDLmjcbdMFSYUsczNHsckuKudYMxjiYNllMTHBEFKopEPLJnRMgqHrjxAxPFQAMOVsaktxQfEteAUBvRBKrREXKoBmiEmgFLXxkwjMWLfbInLPgoacuWKpwVoRbYnBQejPstwGeYdxeaFdDCiQbBsNHxThtFcEXvJbQCwaTnNowlotHBVdXpQwdHhpVNnHeSdIaVGArMeQvBTKFNEsYIEqPWcuoUKuokQutORgODLO", "cVpqYvpdwiVlOAROiTEliFpIWZfxTbYqpiPSdnXteDopbJhIZqCSDKgKRcaFfmQpQmCcdapftfFleSAmHzzQqyaacpBvpoRzuaSINcSSNklVVWmPaQqkVUfCbRSxjzqVyBjwhowlJumIcvLiitVNZxtzkRzrGRavOvidDWKVYynVfXTopHjDLcdpMJNkVAGslbSCoqSIntvpgoHcXfeyEkMyvIMvSEgakINfFLoDHNEMywRKbnYNzmsPDgdWYDgL", "JIvTvqwdiLzTEGuvIenmvWnnNDhiNvYNXSKbzLIzUzpfFwpCVJDLiaXvIjbiuraPAmsjJrzhqrIYhKZjUBnSplmSFAiyLNkUSTWSGNluOIDFPLtrUjzXokliXrwTTBphxGqGORUGAnuhCSXqaePDJAHJLkZBdLvcCtPTRcnPAgMzhKYtYXlfyhorLjBWZLkmWikuykWMfoCRxfVTnjbIgViSYXBrEDeUjaTVaPccWiUqusJPcdWxFdWujfgylAtN", "QPIhTyoZCDpoqgxjJboURUERwdknFsxlMyYOZeZLXSRToZqEOwXscXouogbmyMLVJBFBRLzVxpPJTpWQmlnsYCNYYVWbqeJbLwmICrrhzZnjUNzYIIRjnzvmhbINITOpjZSeZFlvqnBHCFXMwGNMwJLHzkkvEKyCtMqmtxQufaHQMAMsHvMFAGCmVzqmvrPSegbTgXGCfRdRmOcaosizYIaTAiCaslAzszaubIHRIbKyFiKVYKFYJRSmirohQcSt", "xPCGjUZsTJnIkbwNJLKARQgzMokLDDopwqmbgigJbmMckSRMZEcQkWkXeRbpGquPGmknwLmbycvrBHGjStXTmRQLevBgXDNyHWlEYjjEFPNOjnOHRzUwDjsjlbyQppAyRpKTlRmDBJcxUoayJgvBlwTThoFIuXjbIJAMsEXqNLzbwtQvQCkTaFBmYJHlTasrYqjLrQpFWoHhzLINzNpdTlYRfCFTVERRCshuesycSvwigepTRSQxcYWXxnBtkJSh", "XAiAAFLnrZlaZZFZxhiIWTPnQCJYYSZcxJuzWgjSfhvOecBZpRcRGQNFSxjHmEuacHghenvirJolmyKwSEwOdiGBjTfgYeSRrOAsTdpBYReZxIXIYvjsYGWEKWMfiEHDrexguRlhOSPYLcwaEMApWLBeFeIauUalIbFYFWzXIkPiNmrqMsSneHTKLuubnlggQIBovtsBhluxazphqtCbWtPmoSHuuvrSthqfYlLEiasHnGOqYQNSSaqFnrzjIhtv", "JYmoSCZpPyjpHvWNDcBKdvrlXWwPpWkPYQGuoupmExyqltkmBgpxDfKvxNVSPrJRGIUpYjYzvTxEeYLlPgmUhwpWuexqIiHKDTwZDrzgvKsLevHMFvBGGiezjLuUcaCnbNZUhiOIhuEffVjJVSWYfNNjRnWsOxkRWMgPkuzbSKSbYdzBCPqVozSuuJpxapLPojBmokVqgSfwpJyEDxBsySEmbskddiHHGVkzdbIfwepkAtZuGntRZrMJIbGBhxQe", "qPUFZsKkgpzUhfEwROwhMWzbknvpisLFaNgSQxyLcfMauaXWWwduciwJnsNDZArYyHPakLIcfehbOJpkEpBolFfRdDzHmncRyzZkfYkgcGAHfryDYlAEvcwQuDIjjmrLcGtdpcoqGiLnoqRoePPwVaUJVrhktUGTnwPssSLBCOmnimbaLetVTdznysMNNQfDkLbiaSGrXwhRDeHYpzdEGNsgEztUlEfnBLWWabHCovnXiVyXsbfFVhrBqCeeKfwC", "PajGGScdcdYzkJbZXnFtaPTlcjOOhvaQmjznkTiKSRNKUYYlMwtbGFtIFxLCBhZnleyGEfXBZhGKSfrxyoAQladfeAzJOONCpOueluHeHnYgVJIaJwMQCTcNyCICoxlgVyVoIyhtyWUKJwBstxlxkOwRODeCosUCdpxIUiwuGdnCwKIkEsBsLltpHPwYSZkpRBITtQhjYtbmEQGHWnFqrhPGeYrBCBZTQmcEdryrthXNuWFDYxCPBCJbAILmUWAp", "vGAcNAfRyRsuCYcsHiUxWMLEJTqdsBWjAdLvVRLsqBjuMgXBTgGmxBrluWZXSuaxsOSqHjbClrvcncIbGayRPDUzAnCpeFTRuOoBOWJYLqibOVZTUbTLDOYFvclkwXUuoojayGpvPArdIhGhznbINbpdbXEfYHfvqMIKwiiIeshvriUUlTzTUffubcRpFAuLimgpRbNIuaPliAaJqDAXUbZdeRYDHModMSqAarzcaTbIjsLzIrtqtMHIPgFZGIEB", "PlvINXjCuTFVwNEHZbOOyYnSLZbVjjOezDHFMDxJWbnrqBpSvQqygRRipOlFmRAiTQCPiKyOKEGdNhlDhSilbiaEcSuzbVpxQkNNMINaxfqkYlWlRqEGwEvEAEmsZiGtfsRDhgqqopLmcHVlWUjwzYPNPxjgMzsKLdZtazElYfWGzrQKuyGLaYtmOiZASyNCFQKyamJklozXtiIZVtuYkMtXoEuWsBTFwbHJvJymRjgglSRzHiesybixeQBiKFOH", "TyvhgwPMzpXvSOWCaumJakVQOOcmKgoAxaiJUwgIHSjAKFRmthsoVXjdTOVLefZncclKGwjOOByhuCWXasPxffpAoXKHwXayYCpzItwcqQxRDZyRZKsLmZWzTjHDzVlxCtPuuPLXjrGMMefyAKrRxceOCJHbGpMvKfRHBKinntCszQudImzhWkphyEBMxqnCykYMfXeAqRKWWzoyEkAeaLypLsmSmzmzDYMLsATjwADGFnIVydrOPoMtSKQrEDFJ", "pIEfVrdSypXTexXiKvxqTNlIxcvgsvdeLqXRlTkKgawxRVKuXlbQNmORwiFXiUveHGgupdjIAKmiIDKmwKXaZVDYMXAmdllEhOgDXVpJhHfrFYQOFsQielQLaNYBECpZWoUbZwLQLpnSLpoxsxXsuDiwPdlOewcMmRGtyuPaXFrMZKXuEOOpiCRsxzDbWAAcMDhLwgcGufvCrvaJzYaZdabIDZiCabEinzbEGzCPwoelVxDRQWHFGebiUBnxiVGV", "xcOiNNXiSMtakRWioxBOcxRYqpwbBtxWuhAjUxzMTgOegeSmeECbhXGIZLnwnrTeRONkVvhAQrAcZwWTtWwNdShBvFJDBcDRlnhdqvmEwvLAYmzGOYiZdEhNWCMMUOzzXCFiYtNdYLlDbfvjtAZVXTiDAIeBOpVnaPpdLimhqGmtctJvIbSrgoWQaOljjhpgTVbeALMreZNneluQWgDfWkIJXOYosHSyiBrboWFuPVKZvurCPMAgnvEvCXekpWjl", "VGWnAoJvodeokClFgfUXWUahlDTFmoIjhRvhUwWbAgdlNPwaqNYhZDUENzUTetpLVMUzrShRDABwcHppCrYAtLBPSdmKbueOygUioVzsmBZFHoPLAthIBJVONCdMFbqLAUupwLVlyWSrEmLhzVFcdDHSMaZWqIgsWXEUhuGIbmSGAmynvjnoeRqHyhoiDTtYphRlzStWjSWKcBGlYDUqTmWxaPNRPvinMQMswOwsCDNLsEIsCArispoexopcqlVZ", "beGRKYQIeVjFItXqEbvtbnAAjZGjHSTIHGRCcTgCugqUYlmZBxVIdFUbAEgjePEOrPOCtWfWFsLkIEKhgRvnVjaEPrAMIWIlSxBDPIUFkWbwdvPLyiJMQalPAmrDLIPxYozRILiUmlXKZEVMzKDelSUivGVIAJmZJRMVbJpzsqdDckplTWkPbusiiFDseidBlAzqbaPpjqCinPwHwalbpoFwJEAORvdayxNGOXCKKwbYrNwDToryYJacFwZpBKFP", "VqGeJxJTnFZulOxYhDYZpZFcBUMhEPfCsTxAsGPMKgJeXUQShjmeIwbPUZUoWlQwnYIGqQrLvpJGusbRmWbaMNZflwhyKhZrEkDKqrMJQLmgkwWUgnnvViiDCdUnUNylNrmRFlWNwhEjwRAuZYopEQnjrIWyrjCYAkmnrwNzvwZCMXhGUVyVoChbhajmMsyDnuUOfYSPYRCNGMxtJtVfHMJQvydKpfqaIXxgEeqNKSLOWnIYsqColSObRcWugzju", "aznqJxtmlWXjkalUKgabSUTFgPicnEZZkeazlzYzZedbrRghCGwjUydvurjASLPFJNYCkLfmAzluNzpEfiyhoqUtEqBfwwOvrgTuwLSuKiOYabuqEVywGNKbRNBtTcihrQbmBZBreOJZCMjpQYZFWrIRhTmREuTpyguCdVAsRtruMXzzexPXybTJfJExLvlvQXUAWgnWDPiWiKPGiPGraSxiiruxXPXvGQQlqLRQFaDdHdPgGvQhdJoGAFdqgbdw", "SRhPyQwiwfRkGTllWCfWJDlvGgeuislHZRYSGbBWXDQQUiUJjrrynvlsFYxTWNOUtQFXArtQtpqnpeKpAArFVZflIzfbmwfIksnCikpuGCmoPPMDeomtgdggbfBzmMDyCxtzypXHGXJckOsdvZwHZAXDvSTpjnaVcaGMotHMmkKVeqYZKwcFoWSmTmnkgHINFhoOMAkDIEKfgLIjpivwLCGXUtrqqfmdHYORGtufedMrOSTSnrMGZTuBQDxOBrox", "PWYZcaUswbESAXDrfPOwYAZMXbHrvyNLxvLgbltBzEaqBOgRWxqwZNETKymoWqOetEmLavvKhZUhdXsLrIyIhMykhTCfyRSZfUWHmDHPzpSPhecqEFHWaWaZFLJWLDpTcQBNOTTTLGksqyxXdNcBnyITuZPVtAViSSkDARozopLFRmYQnONKHpjLDZrgUerECAocLkUyeRiEWEYQSrVfuPMdNmnvxVvhAwyPJUNHFoYegnytKprXPiNnqIUTnDHe", "LAlfQNERTyhCCmHedFyTxKYqEimZTivZoxFJprUDmZLmkZPMVTIyTTiyfaMQiNAVvYvgmtXgScncVMVXiYeBHfEmcYLZtkcpVDuwWUXLdgBxbBpcdLzjnYiJTmcjKalSEiuwLzywIfnWGxzeEgGKMvDNmAWlwuLdGXmHjAEBqKdkPfuVPlfoaUvQKkMDpbdMLacPuMNNLEpHaKCJqfBYpCUcLGRiKvFeMMMaWnBbGnSBXZLYiHCDseGNjvJFmqQZ", "OhdItcpZHsOPkHxpTiIOXlwBOLxyfMXTfNfSkpMWXXqKTKgIZkSDwbCTYloGzcbrfxfKhCBgjmkcjvjIBNeykHtcYXpRmOddTFlLhZXVUgNPIutxvqTuSSYkcuIuOekFCIxvbJSQzRqIhZGtmtoVpODXOiMaRSHHLaERqpVKZnBVCQMUVUXbaIJRcQHsBfsXoyeUQMnVrQIFlkedqgBXZLWRlLlItHCJJGtckSLMqdXfeyalFqlqoOgnTfCkJJhu", "gabTqFdJrweVQFcFJfgcCohgNNTlzYNspVtQofOWvzyNGfPHFIBQCQQjTuEKwouzJwivJQbBXeZIGrVzmGOALbcmyETMJwUHplEBlatogJnGgyVtVMdybFrBtcVrtdgEfvLYjGzQldNOcfDYcoCWyaNfopPeSTMaxHcZvaqorYxetJxtwIOwzXeBZXwdarFYgFCvYzezSDBFbbyusBJQNPCGSwXYiajjYBSTziRiBYlALROBdtnhUyyKEOisWbBG", "ItqUSfwxkoNhEhABjgGhfbmGfIBVTOEvnTBocogVMZZAEwVeoXNAiDQKnYTZeSNcNzNBElLGCtAugSSsucbGcTsqrfffQoOtfcskEJRhnsXhLFizPweDaOtZQUddWKNtajtoorZEsJyVmJkThRYFOFxAtXJijOvQfBNbrbWAndanPrbzkZyBieBgswrPuMIyrBqCPGuSRyFcdJFcrCdSMRGPJEoAQbrodJaIwxPdNMSudgDXfjxuytZndLaxoSIs", "BjqjVFcYRBURNzDonlSeiLcjYYHWBjkqChlcPjbViUdwRWkuZLRVkgDNjEjyMmAKuCiBpNAVJMnxoyGNzRXsOBUnEwWmLONnWOVbjIINuqhHZKrfplSRGcJcloMnrLWahoOFUqUhJLREhwZcSmjiDGvuyXVZFrBoxqbiiwUocvmGJCHPpUHwqvXkbFXPyMCKYQRLmWnGddHRreDiEMJolpPdoxOLcIYgqdfqqFMXRZnioHajYLfnyDVQGFUQBJRx"],"c_array_date":["2011-03-12", "2000-04-03", "2011-11-03", "2012-05-06", "2008-09-14", "2006-07-16", "2018-07-20", "2013-02-12", "2019-09-09", "2000-10-07", "2007-09-12", "2002-12-27", "2016-01-12", "2007-03-18", "2019-11-17", "2016-10-10", "2013-09-21", "2009-10-19", "2009-03-13", "2008-01-07", "2011-08-26", "2019-03-25", "2003-08-10", "2005-06-03", "2017-05-01"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_tinyint":94,"c_date":"2013-05-07","c_array_tinyint":[124, -90, 108, -65, -3, 24, 23, -101, 75, 120, -90, -32, 34, 7, -88, 68, -13, 55, 17, -112, -43, -120, 116, 126, -114],"c_array_int":[1523754477, 1950177128, 677136634, -1743314642, -528117952, -445662822, 1707339701, 1269073263, 510243471, -135551108, -1230776673, 1032651077, 198831609, -2015342573, -134444652, -389478157, -483536652, -1397759410, 1129580097, 1797921189, -515034473, 870842528, 711345180, 350972178, 1089690077],"c_array_largeint":[4261194085152047875, -4807324370053836289, 2457049663177914094, -4364471329361943912, 1204697275062947887, -1857303903673293266, -6907889213784888428, -4357295437819990197, 5213419489185850308, -7021831328142467029, 2981281819062755183, -6307331089789431083, 1719338749892620126, -8031538113323818189, -647307235046680332, 6004272361571373596, -1171678191581351614, -3760792765717079659, -9106354430046569962, -428204652699296452, 1370759011745406259, 7918140851032532243, 7640578583849776943, -4473992689819425589, 6466503732889290671],"c_map_ipv6":{"c_map_ipv6_1":"91c0:d518:50e6:2b38:31ff:1d20:e392:a0c7", "c_map_ipv6_2":"f30f:1aef:138f:97d:2a0f:a23d:6c6d:c3bc", "c_map_ipv6_3":"b24d:8e59:65d9:fd2d:22dd:fffe:d74e:8801", "c_map_ipv6_4":"ec91:96e3:6516:2363:cf3e:cb6d:4e80:f3cb", "c_map_ipv6_5":"38a6:76c5:afd:46e1:2773:7b3c:e928:e1df", "c_map_ipv6_6":"8e92:8611:b67b:ab5c:b2e:d3d1:2ad1:7312", "c_map_ipv6_7":"d942:ad74:2997:fc84:3c5:98fc:ea2a:ae24", "c_map_ipv6_8":"be51:b82:7692:a396:8051:3c07:4a54:4ca0", "c_map_ipv6_9":"be4f:dff1:2c31:5785:e2f6:2476:afd5:20b6", "c_map_ipv6_10":"8b6a:8051:f711:207a:b6d8:e6c4:9475:379e"},"c_ipv6":"b8f1:7652:3160:10a0:644:6b27:c5c7:361f","c_array_bigint":[2205374184415476625, -8848822423554662117, -8336951376303231525, -2104488508120600538, -2585047558380108705, 8174647872927137393, -4152316462869786704, 1827855095333390316, 3671678023166677932, 5798236120076385922, 4337696096277679465, -8847163401100531532, 9041946967557527202, 7862845034385313037, -824046207310906837, 3217577806724666643, 4074114246966093360, -5169401948198443998, -3128891946443337322, 7895019632158517015, 5589449329818326744, 4072797740450497544, 5363020596161171394, 97637450946574480, 4615514990122424548],"c_array_string":["cNIbOvSstVJaUDBmHmcgHLtGaZQFGTqufVmyDjGCOnZrucAZgaEmzycpAbusXrclnItGtSzbZxdWvMdpeiCxdnFhQCocLEDtzvBifFuxQCrGyioNwjMBtEwWqfvbuDQkUKghKJmsLllqWkLCvFopbvIDTTOKIvUArofdXXEwRchJUODSrbpxedHQTnVxEsJMLUJTaSlzpCYcxNlgxPlVChTzPLcqPNFnoSJYOcCdMtjYXedxzgvCHBmMaYacjAIybOLWnMvxlkbUGVDsUnGAIvfUKSlfxbHWesWcyStzLictOpBunAonAPAWnfeQXedlAtTBJUVpJECNYFdyBnkvchFROVEGKFVwoxoCDBLfsiBCKpRyfiUoWlVpjMrscjuOWlyALKQxdRHJAuKCFNKZsPeBEzwKoLjJRBdYDWWZwSHPanWpjTBEMFmzobJfFsjGtcNCpVzclRkzlYcTBVmXFhLvGKxKMRFQJwBexrFapIFhOzuVGMImCCSRzXhAhncC", "VmQCwepzoiWJpMfeddPPCNcUHYnsOQuriSMYWczVCHLvhLrjnSrkunDMPzqtTODflhNnTVCZTcNllHPYMhfKAhnghDSSomZSqATyvWRDtpsIXzrcSispvBdvTAxozRKTFKLDjiBacWgvBByiBkBBKXrgdvoRFJxwMvtugwvrSqRHBPBmuPEmwVAxtRtgZaZBojaWvhVmUUyzANixQznOFoTgWQFyHlqoPONfXxdhqtrrNBNEiPjPPofHlAKeDUAQnXqiLsUFxuTTwpKkGNTneBqeGSTESZiVpmarzUDRyTCqfoXCDjkPTvBpTxhNPLPapuxQarikIMKftatvhikeWgpwzuzEEVQkhtGJivnKxsyIhdMIWNnMhDoyPkxJtiIsEaqNcQMhaNjvuxiXxlKBcnhDkOdxpQuwRMaAvvWwuhpBWzfBAkiWgSvvWGAJkSlRVmiKSmlwcevgLeLtAvhhAAgcGUxzbokNNLfjssWfoHobTmmAcbAQPRMUFLOaiERr", "mzBroYvRCNnemaFxDJEJlnhSSkGqdHDdLubcZpwUnBHmrkMTZTCLqAyuZbRoryhcEuAnkpZLDMYAcNSurOhjXPgEVwrtENdAyyCmgHObOtlFEbAAQHECyDyWVDCCLPIsgrSnMHHYGwmsFpwVbTGRDHKYyTJOsIaBSFMfGBCxDGDTKZaiowPFRUiotvLScbzMARCFhYTDOeMOzVvbUWfwKqANshfwvBUdWBclKtQigMkndRklwnJMOobSCbXKbcUwwBYyZDNonBEMbveXyoQvxBYulCXzHUsvdPVeRctfiGllxnXDqooREWeICwBPQFLcfZzmpgCyTjklAmptGhjnKqKbxAITdMyzZEoDrFoaAJLmHVkhLaliXvCwIPWIhqrluDLmXlpEgMCmpnoBbsPoqeXrITvSDuXJkyhFdCXdnocjltkeyNJCTXWVMXxgnkdvcNjuDAFKGmSKDuCARPMDNmueWBmFayGeuqIlpwFhvMecDBgaXXKfSUfzCDHelLkI", "UazmPJDiPNCpzhYQlnHKZYYDNrMgJZMhPQVsnqbnRMwIBvUsMSuGDoZxmtcSVFzxAruihAqUWMNSGWBcqvPaAazFBsGWPrtyonHzFcAvuissPYJIpulIJaDqpHfoCSNOEegQrJallXajoGuhTDeOMtKjYccvCTrdHjKpBHKzsxLpeXLXpRKQAgIEaVyRgIunCYvynHdrquBvKlNPcaPJoNApBnxpqCcCqORyAhjXUQTIptBBdfCmJWtEAUAKjgQWRWlxFmCLGWTymrOjaxDPTUoSjCABTzkxWnjoKsaVFMWwhfUcQZNPdoXpOpzFJsfiUfuDFlUiaZryFYkBOdZVoQgiKQSciSFXdCzQTWzlQeuhKuTZKyKwBVwMDbDMKHkuCvFrrtaqggBBnDgdqIlvcgVvkSDOsGwqbLPJtbNuMcLCcbTdsJvutVhqgGqRTZUPqZQSVtPbdDFHIhtlRdJuIDCxmepWcpzcEguzuJhfXiJXyIWdCZVcOWNmqpreLggA", "kSGkyzjyRPEvNMSkMuJzftHSncOwWzxVrzCSSZhgzBdZkUpxTwzrccebmFgbWWzNoCOcTBqsqPoAigxsgUkQLYAWNbjrEVJHYCaioCoHFtoVULcUDkwcGNeAuXlpLbJXrRYpljuDCAEjZPjRbcHxVzRVlEJqfOLSOiWIxecHkwLFrtMuJMPXJjnIeWRiBZncSrtpQfGKzXyrCEHyFUiTVzzkIELCYTvrJVHRPxuGQHDZMXKkKaeuOXbhcXGMzzFDrlQfqRsdIjnYsmIUHpaytgLTZHiIGiUVPhwJWqfXlbYtAIeDpsSHfinQBrQDFWUnExwYbYBLeyhfVNpfNcrozdcUmXAcwpcabkDRRqDZaKlfPPshfLrydKdTkwxpzdJlluKmpRTNrZThUXwTefcUGRAhSPJbRUQGQSCoplXosaLYYSlfxGNqsnnzMjnlIUimRotRMOhCkqiIIbBgtozegwAryJceEUTLsyjxhPckyGlSNnJlXOfpcyJVVOZmQCQI", "YKPUoRNEVqjmEbluIbeCMcituQJAMGIJtDlvtyDqUIalphgqQEmJhXwLvgYrddjdZuXsxXamUGidUekAmmAVeufvPkgEtnLMzfMvDbRSaeKzNWkHYZeUalRxTjDzabyBIpeHREvIVOZwfJEYkDMFrMdpdAFQAxnyCDIrOmFoTyvBqhhiTZDYIjaFjWysoqWSPwWVnpjdAXEvNTSgoSFSwWLlVVdrqXuVMnndjhVuNyqCSGSBJGRkOWQhHYzKhxUXlagzKSDnkgtwKhGyteQVeUPhYjBImqLaDUIfqOwfameNdoJdyVSiZlzNnxEFfAsjvgGaQNeDUtmkysPXNGHjPvApFHwBPQOUSXMPnaVKnohHjlZyJuAVqUJtWDYSUprmTlETRLgPkgfvpHAWpOkrXFuPJWoDqyQWKVVqEQmNHlZAWxPKGgsREmXRhAMpimJprftRzfCPbxpCzTIbzLkUkIyjJasTmnVwJohghoGQxzCIKhUykKaBffIeHySICmZI", "ppphbwZyfRiUprndzqtGJUDsAvWQsgiCDFWgIbwwGdIImIrvGKFuRlDQWPcRuCxizofBtxgVBEgLpiBWhOHyKNiADzytPhFtZPtRbIbAZrMfioJjwAWIGmucSSAvXJUhYBTksDVoGWJHWdAxCvJpGOQKEQitOQsQMaxhUDnLcIdDMfJEmdmADVZvrZUDdGtzLkdiZvQLqDvFHGchngcBPsuCmLevVjgIUXJqAHbkjzxlJNiVzlrWgWkqNcXXLtrxiYkYZIWEmKxuxtmiaazWBpvxjpsivPZGLHvtlCNCtYbyileNPdbQBQoCbwPaINpoJKkhgcZyixjMpOoRmJCwTyFWlamgsMBguTIAdrAwAXZoGPRCRAIZVkGQyHHXJrCLAGpruoeYHaUPYpKznVnTSjtXRAGnqfrBWxCRzHtyHIhhBTclOAKKZJfWtRUZoLvivIqVkGljbNlSOPJrvsDciViLjuECAoSHcKRPBXCoWoSupZurtZfWHErDyYKIoSCG", "ryPOeCRUftvJmlAEtkDRIrVefZRlyWqIXNWfRyepLSzgeXuJQtoDhNSWctFaHtGWRLGgOxvctuSPenUkdqEXzZzLYXMxqvyJWjESdqyZDmrmcZxaaInjsRqMKniCdhzRfkHkadukZsIDRCyyRtPhNyeTlMavPCbOLbgAETiHNzZTjntSbkWSyRLGdECzdLXhSAOXaMVrbTcLMEYfExaYDOMTsWqIJlaMRBHOmBiOjwKOPgWXdHkHSgKtbZkVSWrOsEJGGUaKlpkHQKvoYtnrotBKcECTsFMiAOdMAHWxrTPIMKIAVIWlpnfnNEAwpyOAuMfDbFxcLUVrDVqTGybTiwiBEAzCFBkCIDdgyaRjMqUaxqVwUPeqxYjHJxfHNDlYYyPkxVyrwyrjngBHEoHRRHraJHQAGmeccecePUCoNZnLSDAofNqsTCTaqeMKFephruRjEVCqPyfRpGwnceCkkYrFnMuuBQFsyFVVKTClWHGIrYGnoflvNfVYzyfwfcRK", "qjmKCcyQxyNVegxgYvCTYaUKrJcbrrZaQCXTozNwOnFZMBtcejRvSTSoUvmYzPUUAoLpaIpBRhhYlAxjXiwGAQhmjLSoEhSvLtqtIIDcUHxykSDMaCWitqztJiMOdsPeUkKWgKRWapdvZcQFEfpYmvfJTKajXqryuEUAfZAJNOUlDgBRLkBMhFcFKitTRSMsXXIkuUXgbtyUhNMqhHYfYyJweoUuDrMfQamBtpfncaxQdLZawZHqqFNNNwuNnXJZAnJYDdwHqdoUZLKodQQpAuacxIWpMsGHSGnnzXrtNfWxOnaoocmYtKMOJaWAzghWzULvdrbmjOIUqHnpuUFUHJcyzrQTQRjrAOwwMDjfblizHwWrtQpCefgsQhHiUFNeLWAfSvKXzLnMOyiOblNQhhyvpBShiLvglZNmNXvyRhEQdRPGavXSdGjtGfyCxhDbQIglHOqPhmoCtMBPowbPRIhlUpDFLHRKEdcmWAEXkJcMNcDWdupTmGJqGqLwEdtN", "iSTwkwTKbNwIitfBymwHsKNijtSdHUtkpmdEgjBCilMYqQbJnBSyGyLeZwxINZdjWJcKrzEncMaedaMuGcDHttYgZLIvSeWujVVKYtPHKZwKlUONYQcbSxRXAyOREdnZCcfgRTtjrqWBlFzfCRxvrbWyxCpIFBOPTaxmJwOdXaPJcrcqoFAfraocxinFbrZfUImXMhFwwMbShBNcKUWaMaAAdLIVTyytMZcOcARDzCXgZkPfTbPuoKyRFmzZPspfeVwXqcVtyUGmODMQFlxWLdJLGhvjSIshhqnfGpgkzFJBwtRvHYMkHRfjgSOTRZPfMNUkTVnIDDUwkxMprZCdWAfVBGoTUZdMGjLxFOuVHFZCgiOHUiFGvkAunZIQVLzIgRifMbtADFdAOvFjMNpnDrgQlmjRzaJvtlARbDjzlyDHfrRvsExUiKDczEsPfLdVpFWRpRgIMtjAnxeoAsFmRHVQTKPCZBicAXFFEpJcMljbwpmNYOYdsCgATDyNIsGq", "IdkSIhVVKhrTeEgefzoffOKHhEavpgqMqoMiXWCXeCCFHWLnLDJtOqyPzWRsjMxScDIPPzVLSIdGiOZIpCDxZVCfyfOCMgFbHdcAAOzxwVGyVnZhppgoATuimMRvnPnLXhozUZqXGYPwdrIBvnIQLSyIHwXSQKcxiGDjeGUzxaKIXKUTYIunOOPRXdqUdboCmEjPsbrRAtEYfuKFoalUCeRuTuHjVxFPfLWXFhcEGQtzfCoHIjoMPUUmwneDHZXOKwCKNnjdcQvAPhyyXhcQMlwDopjniRERNJRpOhylbuDoSTrnafBCRqiiqGBzDryQNoAXokTLmzCJjOiedPoIVOIcqcsrHVUKNsnEmCftIyzhXtLXnTlgKGLmyrEQiDIXrZfTSeoRxQgBUWuBFTSJjVrsnAafRhJSMgSNfliLDgoTSTnsGfaBVfAuoglMOpaTyPhofdsBWFthcxhnJPbRHgSAxLFjFlPzwFOWuxRZmdxeNTspjvchvRVnXQTGVsuQ", "OrVyaiVeTbLeavLNMnPAKKzmSJclPsVzleJjeiAjtexYCgNUkzfnzWzjNUvfLZbDjZYtyBsVoWApUVvunIFASDAIKtZhQrYUnofqkfqncJjCayFgEaYMOTWFVmERsKYCmenDcTmZFALUwXVgqNDXMOCDQliWyEzpyyViQnpArfWGmYTLKMGxqpTJSumuYNXzvKblAmqqkPdlqFhVQDnopKsrrsbznmPKwvOzvPLnzILuITxtdfYRnOwNwtyfnYLWTYuMGCuENGYzTFFvdadErKWffKWgHkuNalMUyEtFrgqsvxPNkgRRSMtgQNmmTrByFFZylxxxlRFezyQiPeLSstpXUETiyliEdrfXKrHQbUoWeaqBiXarrbamLEprDTXTTAGcmccjSeONzwDRoiasxFSEgTpXaFBaapRoUJmJwIaCgVaIgSohYfZmSrRAEQIvarCbVYXOsltinDhWwQNxIEnnOLXYWqQUgupqrqVLNxKYSQUvcDSBjVXzHwYMCtJl", "jGRgrChpfOJsIfIUiLIOtVbBCgZNTrorXSAcvhytZuJGDPpFZRiSjKfjeCEiYWpJnQYNDcUsfAfgPTJlfcdIsghSAmXOZWiAZaoiPJxuWKIRNKdVxnplriqAlCzqoceMUsVGlngFQubojZxomTugLXUzmyzIGrqHLXBFukAPWKNSKKeCAgzgbBvbFpCaBVxUwqlLAVFEhpUWqFIlSqcaENWSYgLmYLLvDmQFRQHbIlNdzwZUoFhRnPFiraZwzjDSpoAcINwWjjtUDEVlkRaVBOOEVPJAEAtkCmNkjyLqDEbezWZUnexWLtHEVjlEjrfuXUfEOnWDxxRZwgemPbjBrnxjfKQvkcmyJGgqJbziZHnSbBKdeuBXTTgzmHfFxXQAcpzaaTPGIXzhYeBqTnJjwKleaLePJJtqiQOyrRhkJFIWqGxlSwRtVWTQeugXhNTyxeTyztbRkczzquhAIRtOZwrSROpWOxyCXWaDQxuaJxYhanNGdCnPZCYiYUkMTBeA", "BfeTnvqhcaFEmKANeZdMrAtbjvZRowKGAsZWWQpMvIfriAtjfmpkxMnClHbUFybHGPDJHYwqnxlINDNBsaFLTxQUFDWLOyaobepBJHCwpUivgEHyUaipbGHZOgEQdntJztmKumVnabspwmntuuMTuHPUKIqaeICyfTmjYcKnHLZYRDNNLHBkJdUxQkfWVgCHsQQXAhXKyGhRZRwlWSVhRrwWCVmrojDAZAPnuTNlqRmeFziaQgOxWSgafywqJjXOJGnuBMNLlfyKZyhguFmygftZYBgZZhMxfQrJpuIihlBilaJEUQHHmxTLFyamoiPaVpxFVNeZZxaUtXwAjHspNDgkBRsqWreLmhOuzfFaqggYHnAjBUYKwDHajPmiLKNPqiXXvnpFAezVLVhPlYRtLLyYHAOtwCuDCxnttZCturXNHAJMpahLPKMKKpSqnNTMpxKwDLaWfffYPXyxnfRtyRACGxXCSfYNuTfzgPgkzxCTdsjwWCzfCxeYjkgJXBZe", "OegQqyWrhDEbyKGYZqvPZZwdiwqDTYwfMpDnbOSCTbFAyOVvyabOhrRAnTHKCCBzOKFOYPqgfeOvpVobxWNxmHRWdFpAByPuNyOyHylywHoBwrAkmUGPmKUUkLPGhyiuliEOVmdmqfNxbRQMZXleLNCwvhgihcCsnyFvmTPbIaURccGuUfLKznfeVsecBsTZeoDvgbIGbfBDonTiPSLnMHxQiTfdfvNTYRcaDtvUUKpLRRdKSnTrwqQbWRoQDggmyuQrzqQWIRSArkrWqODwTuxZSteSUaHrahUXDptnbNZlAmPrHFukyLLfoPfNRCspfMXNpJMFWLIsVpgWbLdtXMXVQPQuvZkBeMiwXxzxfvuJZdoXmAugMypoWdUDlpBSCEBQNxGyrQLrxNSKIpouNXFNYxASJPeBURnxNCtqdeupNFrAKVhmgpxEIbdTPTbAPQEQbgybYqMEpSPSwwgIYhDFIlMSELfHtLUerxSofhMLAMMkzewAyUhWIkalUPqb", "mDSFPYLsYseokEaEhcaOXBWEolILzOUwlHGYptBTINEAgiNZUoIcGwLYqEBhLEgtRRRnRWiDjiKldKnSCJTtkvSncwSpAVIcSpRAenNRmRoOkBnIMastHsGMYlvdMjpdhbbNvrXtiLFiVMURrNGVFnzpVoFWmobRnCjcLxeWgNkIeqKczuANqVWJagWbWWVHutFCxTgWnVzaXLlidjZUwDtASGToyDdYtakoetOUnJqCPOwFnUaBjDtgoIONvBlcoHsXxmPncEYWoinjkTZZhYZqIGyLgTUYEZdzbXkMpCuufxuEDTpYFrmdFRQQnKMbYBvOgjjJbwHTVMQPYAaMFPbTUBTGtIkaqEuOWYDxFgrYCrhkCfUOxJHKZCFBJEAVVjZYAmlRRgfsqPysJXdYTjjpuWeCoVyUpWewwIwlVlGTKdfSAorHSGqdYYlBmeymPmwralMpFcbJqDDQJhqHpkWIiXbAXYTjJXBuAhjHxGdPiVCBQYqygTbgAWDiPHPq", "eALACbrMeocgPvlrizEUHUReZSChgsEUwhtvARnYHJETvJhOpQpWBdZZqvEbUUwxErrydPuGEpRMZtDRtHlLATqQUzYVlCiPggbXkZdWFuZmDUzcHuxMvbrZbhwdIHmSucxvYxoKvvnMzClwoSkAEjFWqXkGaEkzhPFZIWRaeokesTUmieIeYcAjUhTaCIMxQmkqepWbeyAHrGBCeuupIuEpSUVDDnabVcqAbflKvGJsYAobKEYWJmVPsYPWjVnmJTnnItEEKupNJayuZojXoljexfzBLVlGiilPANCCocViiAwCiryXwsKJZyknwSGaPFPSecqspwvREXNIfHqWDloXAtMpzCmgMLeONLyQCyminsikysgYfvkNcijNJdYuNEBWekDTjxvzatyIHvImdiJwgHaOayYuuahxoIQDEpTVbYblUxSdLlSSIRDwWhAQBRThmrtGjFCzLPtuBLqyOVQXLbgEZVrAZWMZPKNkkCqoBOirwWNcbQJXomHHEsFc", "QUgErVZFKLBEJRLMVasKMvodpuINxisTYCHVcCAVSUYNakLTzVkzUdnyPRaQyQZxOBwzIcWCXjDLhNCFfwPnEOfmLHZkfWkQXPjCBuzARkULxwOLwVLpuhIbIayBdWtlbydtdrFehiHBGDlNHrTzRRHxnyXzZLNeYQjmPCaztTJFnGoVdsKufvERgcenLqjKUeRBXWzNzkHvRYUAmidDLexOUSZEmTBHkwvnuaaWTeFGXaKBMCkPwVfnSBqnuoHjnbnPuCzThVOEmKKjgQoxepmOueOMYMvpolyXTsEHTbThQiUCsBoIjdJySwauaUKAKuhgfaZJnXnfWpkuSscwikaGDffusLYIyHrneIUQINHmAdwYwTprWkTHYaDqkYFxBxPqXDubpHCMdAFqPQxMnZldEiOleAsTsnbZmfyvQuRgsSrhiWJwgPcFTwMeOfXsIvKcqoFBAXSzREgGIViWhHJtnhxVTHZBZJHZnSxRqSXnnAmPSWeXPOQffpOlAfnk", "PbGNluiIBzTxTQAFMaUBuhrlMovgTdSpgnZnGQxTjULzOTcxsRmupiSLRcmpKXHCvYNgyxSpOaRoqoPHrWWYldFxVonqRpIvArwXeOercrNIOneGGwGPwKKoGifTAJstOHngmeIIpLNWVPSgBllMwLSzwMIfyeVAGRsPtEaiKWVqXxeZORRudxeAjuDFZRhfbjCPzAyGJWqyvIEFAHFxBzzeInSuPvlmxrrlEbMLoStjGvEYnVHUbRpDplISGIMaeGLSyaNRGFGKCKyubYgcFWuGCqYhQDrqYzrBTxHwEBIvoiBFJgIbzSxORGyUaOtNDyQeoWrGfSUmmMrLDtWUlaoakdSqVvyENbAMPWFWFPsNIyKuXXGjgSqTHBIXUnbSjvADQlXsOWzRLXNeGLpMuzbfLIUnwNTGGfoterVlnCOnmbbNPOZGRFJVkySMDEqHxCpmfGttORnoeKAuKNMBHTJwRtCVWDqPkUxCyyUwQbCYjGVwVoERuutUZXcUtctL", "XmOOOClgwoCePIKzpfksWemRrtzwtThkskEuddcxeczOMEQiISkNjoXUYpByVtxdIsqEhIlBMtAvENobMQrXYRTSsWqzvjBdHZXkcQDagvmjdKOlPRBlEMAjhTUHmdSCDnqStXTRAetADgDhcznzkndhJFpccRcnoprqEwkBUdyjbPRQePMPGFQiBfkfsMUVaGdxPvidtUkmeopSkIgpIFoEIokZbfwRmfyyWHpNJZUpolbymxVZfVzeRrwPFXSBriuYTmlPruZgZYXYjhqbYDAKEixMsIpsURjAPLbSrSQKCrindcYFwdchOKRrlTutJXJjrJTeRgtjgvGpyGetOlxyWqCKDKpKbISbrHQvaIQYwAfdzkHgsKUNFsjuMQKqJJJicJkaKNnsewcakrqcpEKQGKMlqfjCGILaNGKNhJDwmmAkGSVoOpQLaBvFsdcosaGQWeLRjNdScQxjzWXmFeXcMMOUrvzWsmAPoyBYQtQdMitbfZwcLMepbXDcWVRY", "OpphJkTaPUkPChovtczsjzJKAUFmFafuuphbLNzyIqazZygtulFssIPbHaDvDWqvzyQXcNKFHEVLYCObBILvjqTuyalLfMKJvCDlpHVZTHOAnmmUWGLRSCpiWfhslYHHrBceLfblJtqGcSRtWoDhYdgrqCYYxxmiYCRHNKESbSbzRWEMAkHdyfHpegTxJJTMxOrafFscoYbhzVRmwkCwzzLTjCXxTtYtaihNXovddhqOuskNzPxPaVYkmiXfDKVsXLKasBccPanjsLxDLSYXxXtrnQSIwlZpTMmDzqFhVwUCpGgTLJDZKoZxEXlAhTBnsMynvrowRXxnGgamHreKJyZSjQjHNoNDteJccyiJnKUNhYgXIVMNNWnMsXhbbDDypIlmshRDNUQLGCCWzVuqVckbFFPkmbbvRCuMNCarYlMpHDyigQLeKLYdzVphkSlKTDIQYRudOcpQjNaKQhmRRvGXMFuQNyJtiYbsxqTpQvmFBztlgalxxPPgVcNnYfvW", "tMkrbSpRpzlouTmXOVVuqKlZYiSJVhcVOYSBkPnFJbzSnQpqlLDtjMTSGBnxKLehxXLTWOfNyrLVSmuLyuwOTHOUdKdsvIyVAHruGVtXUrzqGDXAJPTTjUXEzBYsXzTlLaNUXVjMbnHYDYhzJewkBFFamOUmKuVHgZPGpmYBVwAyxIorbttEizTXIpMizSPgCJQypCTURzoRQCvSZmqZGcPZEcBcvkTyihurgjcGMKFViLETDyWntUKVBfNSfDGWLIeGuRJCCczBGVNvHYipqZcmPHoQvGsvcldLqjKMLsvMajVAWZJXdYYInWEqIVOzygazJmRZmwcFldgNYOdjlrcGdVUaaOcOfVCrheMHvoyynLidNgLSICkInWCOswtotcyeojpISMQlXoATvXWQuavpeiPqRCCShrUPzWaXhOQpMrZLscchgEdYtfxWUcbaqanjIbDxjXWkivedkqZgPPvLtrOoFmsrCAFPctYKLFaczTyErRKIMCoftxiIaYYh", "ATfCnkWKxDJdoluUoCXtsjEWBClpiWdFLCnjWbkEqhHVFXTRMKMSwueGmyBtXtxzALJZIKBGHPPZOkzugIDrFinBhIjQwXFAJMKklcZQLXniFeVMKonKxorYnCQEBbfHqYglerCjqCPkVbSItIwFpedbNmwGFlVSZAyxyrTkcxBRTWKmWLSRFxWFWCBImvTNvsFeQvevLqBHDWvAuScrdxNJVxSYSMHcunlPsxRKycddsUVOexvnMweIjLdsKmAvfCjSzydNHKFLwFfoQhOkRIwnLQWajhmnafYwOlRzBzffufwglJEJiLFAtpmhJjElBCMiappHgjDzTGNlgsFtGTsjVQXcybGrDDkQuTZShZZusWbrbftEOoFNaOHbbMTiHGXHYgNNTkuLQDiIDVCRHwKwCrKFhtnTFtvMXUuthCkoMWshYBUkuDqwQiOPIKiLdvzCeOHtLxxqvvrxzXoUfWHALsTKKQHwQTJHQQgwhxpFXSfhzKGQdbiXQghQYurc", "TQInpCFXRLtROICTyCYahsTKguIJgkoKANZIPJFoydnqUtNwhJFJSYVUbViwSYIFYDFbyuUlwQxOPDMRKHBxgaTcYGtQPmnvwpafyCBCJQxOcQPpCztScLhowgScjdHNXaOJElLZrafaNbyEngUseQzrLvhUznAHtVGUDjVfaPhcoAaOLhmvKJReagLbwASHIBzyaMEnRoEgLMKKwulCIydwzgiTBvtXgVdbtCblzeHTbyZIwcBOGFgrWvnuYLDvPpngNMhLnxDOppNavveGSKUGLIyrAgYHZdKGaORyhARZonvMPLzgKuZuaviBcpdPbuqWzMbLyfdFCMHiJuMoJdHypdJsECzpAtFmpdfRuDdvxJUltvvEYxmjlKrYVqiTbhCBVFTazfdXrTXXXGWGjjPGqOjSCgwHFSXgCLRjhWlRaXyPGaArNGXRrOMHnPhatZHINXAXcVPZBPiledpvrrJHUqQdjmXUnPvKNFWXaqMZfdxHhwChHwGQnHQtskkd", "IGaQCFjJXoyoeGONgROXFpyiInXgydOYKUMEUugjWYxYQbjjaELJrAGYZHVyaRDTPKXjxVerzGBVkLEmkDrSIrEoxqxTfaBebtVFTuBofUOsQtdHqXxvYcYvBzgiLFfKgOtvcPuMBUlSKQGQXdtDsQBrqClQslZBkMzMOxbIsfgMntgqIdArpcFvRZTnfsaNvGXoQAvvWWJPSQYSbHRcOKXuwkNEWnFUOTuLSWIcnUADopJRscaxfysSqvnzkZCVVrycyHqYfrLTaBaaYEPEOUNNdWkGnSWOwMuxeiJrIInPIvfPHunJnMcxAXmjilvEGAgWiFwDzBeFCnJgZduOsdyEqBFgTHmMLhomkARmOPWzVXUBxWjLBUsGDOgnmfWasSZBArjmzHsEIJHnGXBujkobBQUfPZyPZgrWqahwQUIbKJfzAdBonXxYgGckFmWwAOtYLKZzHMckxepmQkUrgDISxyZJHtqhilFqGFrsCDzkIJIdWDhBAVsTlZzTPBjs"],"c_map_largeint":{"c_map_largeint_1":1444514593867350631, "c_map_largeint_2":-1470405584321267702, "c_map_largeint_3":2634434422163342413, "c_map_largeint_4":-327666743289420561, "c_map_largeint_5":-29251972065821972, "c_map_largeint_6":-8322305511965916869, "c_map_largeint_7":3798260419085655164, "c_map_largeint_8":7374216180277012888, "c_map_largeint_9":-5623859417375335063, "c_map_largeint_10":-894179974613873342},"c_map_decimal":{"c_map_decimal_1":20.1633, "c_map_decimal_2":82.0716, "c_map_decimal_3":54.1234, "c_map_decimal_4":19.1023, "c_map_decimal_5":22.0158, "c_map_decimal_6":23.1156, "c_map_decimal_7":10.1204, "c_map_decimal_8":84.1905, "c_map_decimal_9":31.0518, "c_map_decimal_10":30.1290},"c_char":"xkWixHyNpE","c_ipv4":"125.51.123.60","c_array_float":[71.34445, 18.82396, 20.574163, 34.13308, 90.55109, 15.632547, 69.39895, 43.836224, 8.004115, 63.203712, 19.30209, 78.527725, 42.04613, 39.84248, 38.5938, 100.29219, 75.045555, 43.576263, 25.589724, 92.092995, 100.863075, 89.48531, 61.601387, 12.304974, 45.111095],"c_array_ipv6":["lwZZIKtYdB", "qUhmUXvrcj", "UqyaaxdFaX", "ESWgFOohzS", "hIDEjXapse", "gLKfzIInwP", "nwOIRqqEwQ", "gFFKKoMqYr", "aNktfLvWEo", "XGIvbHAzpC", "sVOTeLKUbw", "dHlBrSWxdJ", "ccSeFZnnaY", "AfwaaHbhqB", "yBytMKDhmr", "eGmQIaZrQl", "UJWcwQJCGR", "bULSLpHPqG", "vtwvrBGfuk", "kbkeeOtEiK", "ekqqZtYeSo", "ZASaikwfjR", "IfuoUKFxXp", "pZlHhgGPex", "rGYqHWjhoT"],"c_map_smallint":{"c_map_smallint_1":31107, "c_map_smallint_2":-18420, "c_map_smallint_3":-8676, "c_map_smallint_4":10598, "c_map_smallint_5":1038, "c_map_smallint_6":25222, "c_map_smallint_7":-6627, "c_map_smallint_8":-3863, "c_map_smallint_9":7100, "c_map_smallint_10":3325},"c_string":"OoNZFFBbyylnEWXcLJBMJGCXFgMnSLlkLeZkKpkxDfjGWYgLxWTsqfkyDexaQxubCXyOIpGCAkTZFhlkIhsLisefiwjLGBqYSADeOSIozxEKREZsRtZpNRRbikCsXOZmGnhplCNZUoTuvYbKEdvCxaLfjYMcheQrbuJGKvDliKyWgfKvtYvYzjVQtqPQalpxBdrEdzGpKpDgCrhKkCBfFZLPArbCrHutDvArWPBAxrLjWYwiWxHDsQCmaEhZeTmKbFoGjIifHysLeONgepEmpTIUyUGnzHDbDXmmjaCnXKbcuuClvZOltYuagKAyDyDNsUsuILYWoNykepUNXRKiXpGaBIzeQCZqTuJgaflBsoEcitIbSvmgBngcMMdhMkzBQLZWETnVJKEFiNRDmjXfOJFuZuoyaVzQfumUDFWFIyosnsOKiWekGnqyIuzbQoqNRuuRHyzAmNlFROLGUfxaBaCjTKYMcDlKuxbmGWhRYFLTxfxCSumUhNUGBeThhsLE","c_array_decimal":[7.1180, 48.1965, 87.0772, 16.0289, 67.1847, 49.0587, 58.1277, 50.1103, 88.1581, 21.0752, 83.1900, 58.0955, 78.0097, 70.0305, 74.0712, 48.1699, 52.1886, 81.1971, 30.0553, 26.0955, 64.1305, 97.1604, 46.1062, 26.0597, 61.0401],"c_array_ipv4":["RsFHFVaeJM", "EBVbtOESuy", "KzNGllcsWT", "VpvRSrxSUx", "CduSfOtcik", "epUigjVMpv", "CUOluCLlEz", "IYBRAaiIvd", "sWAuufMeem", "hqkEppLYqO", "KouLJquXeZ", "zdAnItuNPF", "UBcAAxLAKv", "RYGxWqmQqg", "ClrpWEAGAA", "LRbuOrWVBD", "LxwZcJbHSD", "EkrhuDLQhS", "uCUZrHaKHo", "nOwXHMehLk", "BmEyVoNlQv", "KvgXrudrkx", "gquFYjesXj", "jxRfeWXKmt", "xTwWcWBuMu"],"c_map_ipv4":{"c_map_ipv4_1":"225.109.96.87", "c_map_ipv4_2":"10.254.58.83", "c_map_ipv4_3":"9.234.240.101", "c_map_ipv4_4":"176.245.115.177", "c_map_ipv4_5":"233.114.214.25", "c_map_ipv4_6":"58.76.91.156", "c_map_ipv4_7":"49.48.14.192", "c_map_ipv4_8":"104.12.145.158", "c_map_ipv4_9":"225.175.244.71", "c_map_ipv4_10":"141.25.218.209"},"c_array_double":[11.595187768722463, 28.020197875458308, 77.59039934124833, 36.603690722993385, 18.15212290677686, 80.87578562610564, 4.7865304560658455, 57.96244640812979, 90.12231660061344, 60.13946679213143, 42.83247012728869, 14.28422751101502, 74.8130206051907, 58.19987039812557, 70.05494661334454, 1.3731233352450982, 52.33779078157011, 43.29783822645874, 26.405213487293558, 13.900578319363467, 68.8465846744015, 19.113646934086315, 5.324774663869538, 10.326849432907897, 76.65220685339673],"c_array_char":["lZtXJDBDRK", "jUHXZrSHsK", "tbwRNWbnZq", "BCEkWkwaPR", "xqKibqvxuS", "MGfLNgKmhR", "POlreCivHW", "ohPmTbwHuz", "omLTYrfprb", "jydcLyBmft", "PAVgQoUqwL", "rPCAsvEubW", "OPbtPkOdDb", "UWNZmwiCCJ", "uzYbElZovV", "BNHOWmeUqQ", "MgBUdlIOET", "xqseXXqBNU", "rFxXhsqqkG", "ezGrlPPamV", "LaByPYpZEj", "ozSkFfKkkK", "rxLoYBTKSr", "cLDDqkFMli", "mYQOqcvLkY"],"c_map_bigint":{"c_map_bigint_1":-5163852808595072875, "c_map_bigint_2":-3208116967285068036, "c_map_bigint_3":1359425116192035754, "c_map_bigint_4":-2278381303463068446, "c_map_bigint_5":2883087897438660945, "c_map_bigint_6":-8441207223768586637, "c_map_bigint_7":-1971968753026311553, "c_map_bigint_8":3965801747762915760, "c_map_bigint_9":-3529509523420238570, "c_map_bigint_10":6415281319468338173},"c_bigint":3694013479782162798,"c_float":76.24494,"c_decimal":86.0020,"c_array_boolean":[0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1],"c_array_smallint":[7967, 19406, -7307, 17526, -14807, 12508, 17000, 3396, -1069, 2120, -2154, 8209, -11315, 24169, 8614, 6912, 15254, -4344, 9120, 22462, -16351, -32267, 4456, 31038, 6745],"c_map_varchar":{"c_map_varchar_1":"ebfWwXalGMBswLOyYqGBTnAlisZxYOMWZblPCrvJmaNWhyumWMVbJgMGJeBeDFKtEKrvoIEjKzewgRftmUZTcDOXHdWBCkzizjSebOcUcOogXSPLwAvOdKKxMwOTUItfxFAJoaZgxtvTOljFhLwLIIiCmAWKStvBPSvsBlaYuOWyHJtdeDNzsnsVROSLZxKGmrWhQFQBevKfaSROKJgHUoLcfjCLgOTnqNrJTRAyxHIfwGmMOLkOpnQECrevjINi", "c_map_varchar_2":"zzCNSKVdGrtHFzuPCnwuAQrbSkisUwUjExfUyMcYVtDyMnAolWOPPPJYIFnsSPYaZWUXLfrmlhrmPGYwEfyVKXocMZpVfAewaPITAURsOOFNBxzZaCIPDyQbLtHuqylPuSMMrmUcpPaaMiqMBDsBWyVjLnSBRRpQPEbNCnUBvuYwFQMJhRpJEjLbRphdbBPEDmJIpZvdNpcacckLQXbOXoPiuZYkQphQmBHjiLEtGRpKDeAfasFfBcsjIXALdNMp", "c_map_varchar_3":"tKquzpLeddEliSVEaRiwIFGkoSFRMWmPBvCEBOFFVEBQkKVVzAFuXHsqMUHtoVnfzvypxWnNGbpVGzXDgjXoLpdvzruLCvARpEETHqyOEIlGYMgJOFDANsXdsxBesSAFkeRJmhMfSNMSxYwTWumxMLFZNJCZmBOiqMubirwJHFmwTtpvSHtMqHGJsJjOsnayMVYfWYwZSNaKaZirBGatmYgakmXlRiUhFCyxRJGvdeZcjcrNvFPnUgaKjLaWdErZ", "c_map_varchar_4":"RXaIUfZMBvefzxokQuEsvVhZWKfEXSypUehqyfymniTKUvCgrWtCcDLGvjGFvezSvExKoyIXSLzGUaTpjHUpytleQSYuFhqBFvcSjUvfFFHjdPuDIeUbBKYMsBtVlLcsolblmDVPdzDeTkLNGbezpXHqoAQtnxXrLuGqgzwJkprPrFDMRzQXZRuCxEyCVBYWvqivhCuVmVylabSmbdSeCdccaxldqYgtSZxFbqrVUGNoNwhAyFtwXpuaUTFnGOln", "c_map_varchar_5":"FMoCWjdtZkjIQIUUDBaubNINvbNMEPcpWtiMTILfSvUqvvbepqGBwopQbIxTeGKdNhgHHKzHNMvbTDDhfTsjELXFIWQTRxyydEbmOKCTsYizxtjuAlUkinKFGQtABfXluwWoDuSSxMTbIXPUTtMDaReFqyVpNczscFmRnAZUYMpSgsNTaGQontHZveIXEVEXRXvepAXDGIaEogCzccuoYOPtHWitAqcqfKUWnUKJBLgPPDUceVpRkyhTsUWIuAHA", "c_map_varchar_6":"eZdjolDVmZNEYfCcnkgtIAxUmxJOCELFEMaIqYSzvbluJkbirerpZLCiJcTSMDRDWHCAtVRwMzewSSBXVLmqIhUSrDnLLUcabWCCZtpRBiSDNmsGHlIQXLzZyBPxTzgFNtqfNubpdRLJLKdoEgHRygyHVZacunskRYhXQUgZqbhSsOEoXSZLECpyVXQjJrfgHzhbWjbMNXABTPuZaKlxwyJKdfujTokowrVuhfCprZLNhIIlCifoDwcCaIcQnkGV", "c_map_varchar_7":"RqkLrLWgZOLisWWyczyiYMXjeyrQEBqVPHPwGCkktpHsVqmxsiEYMaPBSzMGFhGgjIsPqswCSHoHIwcHpluoRTRFUWTLDjCxzlzjjMMdXCxvptyxVWTzvIALXiTAFHhJUtglExCipvFeapfnrCjtvXGmnOEszgJYEujHhRqXAFrOzUfPOtwuPyOngSNfovQzKNAaYyNeRcdBmkCDkWnOGAXoypPdKhHTntpJXHnexkMPWzBbHpaCUmuBKWtDPWsa", "c_map_varchar_8":"BXarEIQLkBYhxhBcYRCNRIbZJyqKKPZKuaZdWcZaGqumOcsEPWVHPsEJfbOjHspvIDUstCjawPhIZPvACesfnKnnzsesIzWEjAAVRYHGBjzUGMkzcCqlKMtKARIXMstGWTDzWHVpOvjXIrXzJpByHeZkLIDOxFSZlMPRjczWWDnwYbLnOscuadMJlueSDYdNSkHtEzqbdkfBVRdTtdmbWbrulzUoDboUiiqDoITzAXljfZKuSZyeXqTvozFHrCoH", "c_map_varchar_9":"ufRFfkPslaRmQlPyOtqrlLmCsUINfnNKpXGfgPWOdiBwBMPLAkuZPdUuCvqEtbSFVLZWlDaHEjyrvZjPXrnmqdamHqzAqaYFNzLppexmcWytAxFUjYfCVWbzONRFJJRrwFIfdngIoEoMpTFwklEPkNITevdopcSBDMGfVkeoNvjgqxMbSeMRYVCuzBgJtexdMTujMEBmmtIhsvIOvYUgABlwemhhvGTkwHOkPBIqJMaoHowPekrKvSJxGYEGUwkE", "c_map_varchar_10":"TJrSoBpRdVRcoDugarGRIvvYoGgsjnRlcsAhNqAcoRyTrjbqoLOYvnzkBqyGnwVOCvIpMsNHWpPZuesrYfpbVbrFxzDZBOvOLrBPHxDmxBrfxPbEDYODEZyvjZZIxcoKcWjuTHXWMCwGEBklKXPCoXyKeMLlHPyLiJyFUnsYYUvofHVumLhOltdOSmuOYcDNxxGRPIjXsXcVkmyFDaaVNoEWXpivRYpySyaliHLoEsTqeQghCLFtfSJebLEbbmth"},"c_boolean":1,"c_largeint":6790305694135176846,"c_array_datetime":["2013-08-14 07:13:20", "2005-10-06 09:07:39", "2018-08-08 15:32:33", "2014-02-27 18:09:51", "2000-02-10 05:30:17", "2012-10-04 11:32:41", "2014-03-10 06:45:04", "2006-02-16 21:58:32", "2012-12-25 21:18:39", "2000-03-12 20:44:33", "2010-09-07 06:41:33", "2012-12-27 05:26:34", "2014-06-14 18:15:44", "2007-04-26 11:17:52", "2007-08-08 07:00:12", "2015-11-06 14:17:15", "2017-01-04 15:00:04", "2018-01-12 09:17:24", "2010-07-17 08:52:40", "2006-01-10 00:19:45", "2000-08-26 06:08:26", "2010-05-01 17:19:45", "2003-12-26 15:43:31", "2016-03-24 17:30:32", "2012-09-20 15:14:38"],"c_map_datetime":{"c_map_datetime_1":"2008-05-11 22:37:48", "c_map_datetime_2":"2000-06-19 23:12:12", "c_map_datetime_3":"2017-04-11 05:54:45", "c_map_datetime_4":"2003-11-03 07:46:39", "c_map_datetime_5":"2012-10-11 21:18:36", "c_map_datetime_6":"2012-08-07 07:25:12", "c_map_datetime_7":"2009-02-16 00:14:13", "c_map_datetime_8":"2008-06-08 15:10:59", "c_map_datetime_9":"2004-08-01 23:41:46", "c_map_datetime_10":"2000-09-11 03:26:59"},"c_map_string":{"c_map_string_1":"RRDUqzGtEzvrTuBCIZHmkiiTSbScfclPEmjGZycIepCWaHlfbFLdusXdXxfRtMWRkhnbtMWArWWXNsmbDfRvrEWJdWlseGzXpnqUbFBhzOdvkbPHGIxUpSfSjGAsQlArJoSbIucdrmNakgwfjtmrahuWvdXOwitbIXsQdJqtzeYXEWMjMCPmqXfDAYfTWESBzynZIZpOAFUVkXecSIsivTPHMXIjjgRvaldOLCKpxUOTXrdbAnirPonBwvrcYjbXNgZqdGmDSuQfThljDWKdgxEFYcgOqpOQAodscJzdAHGKCyvMOdtQVhlhdtFaCBEQndVKWOatmjMDDmlJSQlCbfgzDWjkieviDmrwOQvSMuULAjVQMGdUsPcRQKxqkNQWAgKCIdanGEpJtCPVuvKRlcibtpWQIMPsbhsKoePCCfqCCNmdTicNXUekiwlNUUlSLWqZEgZRKFaACTdtmeHomaRRAUPkBIeufGVvyDpIqLuFVOBjsPlLRzJKYLcUxyav", "c_map_string_2":"MHZffYBtSMSFTqbRElilSFnZIRXLZuaeUjmeMXuuvNWnjZofmynasGmSJProDnCxcdkgUqhFNgVEXRSGBIrhHNKZtaFbVQGhqkxnLjJfoTCbAEhVyPokPBKxmAzdMUPdoXyVIEmkxTYFqoCYYGduaCTIWcDzuEckHmwbLSIzZJFtuWJvLQljdjvtvbRxMOevFxyLDrEvBJPYspcPulznfvhXxCwtGFRCIFYahTdQzxozexArEaOBQZRoeJOPrmCvjmQhJGRyUeamcUbSgBDWOPppXtmAssBipZutZjrDKucjnunoEtEiFyxOeFJIhYjtIOLDKaMSekZnCLtJblBvhvowGmDeuAfrbZuCeuJgTEZDujYWELWGAdaEVMuHroUfkAscMgtMQWUfKtczvHZdsdrDeihZGJRoxBOhdOSvPuUEiKYOacSQoTtXNDnnJyRvcqFIgXPIfSMcGYITeUCCkZbkncEKPzqjeIuOgkCAlhGwodCRqwZFqgPlgxkCKEyI", "c_map_string_3":"jepoLIqfGreNgOuBBceQJOaKDFtFxTDskjHzKWecvjYOdTQbjySzemizpTrLwFcvxylMDbEaoDIwBuXQbsqqCxqKxutNwMlZbdPMXLujVFgKREWSEMrXHGvDBHcYQYNIAfnNwnOEqTwdrhKuvsgQUCGSsEsoZpANMqWrussSHeUeCWnsoODXNyWbdhLAFpfZDorzYrVfodYtRHikPHferpAjLSrAWYjRCxxwPNDdSrSIRCOguRGFWumpotKjSoaMgDfbIVcmEBiaiocVnrwALLYNTkCLSQtIXlPCNFOjVmDRYCECDImbFtHRNQECNOnoUYdcLuFgCdQqnNoLzYgFNkdjLEVabiwbfIrRPgZsgRxJLWDFpdqFturpYDgZmydnrWqNMcPYMCYnLfneHSAFmxhzIEHnDwFfPqwizOnpFXNnqXhtDupnbVFLiVFwHNNLTcAQZYaMzzRWRudcSxRLirYgezYsGNgDcHwWYsznRgeYcBzdUyxnSiyvLVLyqMcB", "c_map_string_4":"iwBXeharZcAumwLWvBJdgIvLevxAgZVgpAkEiLsfhtVCzKWduEzdkIMwvSkgVrDcvbLJqlNICrzIlRkFCrqFdOEqXasIFZHcNyJOQYmbZGkTffGcSoIIbAJXOtAmfwnINcLroNTGazMeAZEyJbZDuXWGuoqBATKWtQsItqTzHPpuMUlvfiCSoQWKMsSAYjUPwbMOMWAdPqPlSIRryLkvoXgRmamWHjkNWYenxfASuWsBEEtOBwCoEpFnrvxYbvRVKoJTWanZdAiXTMFOvVCpnEAjPQwVCQUkeShHLXwZazpSGwlikqZeoCMQUHyzfuQQBjIVBuVSxPmDaCrVLTCNYMXfwBwrTJDOcsNXSPPDpReswuJtnNhmpAMmOPdbZRRNXvpCGtwBKyrcpwOmHvalCOOVaZUVqbsDOhVMtOuUBEKKhKkvPJhVTpDtqVknMzxKKOnAOTkGhHYmNPkDrnkodBgYXPaiilMzDmYZpnyOpEwpRtuMKafcjTLdfLcwGjFi", "c_map_string_5":"qXzgLqotJphLAMpmnzFYSbLbnIJKfTXocAnjFcNemKIpfrBiouavacsSfZugfaVQzImTCrZPVUIOACZDiOIbeheiHDqPHUjNuQSKmaoeCmTYUAURhRxCEbLWKoWclMUYEkJFQyYhKaJwEmRmmmtNNTvraIqurTDeWSziSjCaWoVaMlkHNLFDHEGPzJfSUIqqIsEEnTNjwczzjtoxaVLgORFIbmlgWyjawEueuOPvbpGnUifhwbrdqyxPlerAoROzRQPqzwlYDjefiaSQUDuyohOiahopLWMiJLwnqfUbkqgiFRgtUUhcRppxVdQsOHqHJtSjeAjyIdgEXtFkYqKaWptWMWtesuVfuyNrMHlWgoeAFgDcAzHBSEsOHEQUDUCXLlVGteovKtKdoRCrSffoaIcbhmdGpkIRbFayMyfktdseQZxxmBPRZRSBSIzicCvkschMUETuiTwCsFdGoRnqOqErRATGnTGCGFyJIFcYZMrfeDVrlHaRBuzbrDJQclpM", "c_map_string_6":"QrTwQmJVlZOvqWCawiWacwWLCtYeoDxvjhCgtBDOETTWAruTIckeDlNhqvfnMAvkiJHxRSTHBwAhKilIOGcJCCjvFOPJViutWvnDdbKIvyOVbMrADpXbysAhNvQHKKzWvCgkGXeSlGdAAovMuNfSZGhuVdYJvEmhJOyhJFpcDHutvEUdPPtDzXfjUQDwukRZNIsZCOczuXxSAomRZjhLVKTOzCQWkMzZCpvqnwOoLTEPSliPjdYHAbiAhsyVRhgoSMuEhHKudSyJRrslTMIcsLPkIYwgqcXIpGWgXrrRnAQNwwALwViDzQBUtnYyuHHmRCnAgCZHuVBzICbxHlaPJdvXcZrvUGBDLUDQJfivTwWBXUxdfLhITpfLoVSQLMUjsuCMOXvVIdsijwZAosWQBBZSFiNLveRIjHzSCvMqMAognRvZFnsnCfNcyQsXYJxcSzOwZkoVshRkZYLZITEBnLTbfiBxrMdGgwfOSbWeHCZjFZdMKRPBckymyByVcvJh", "c_map_string_7":"MtzsHIyXxIUWofOStahLqudNqISHAMMlNHQonNuMwHXxLHMyoFNBynPPgrGzgweNBcQsgXOYHZrqxHItOLkeYSrTetvojFHpPTTRIfraPkHfRcXYUYIOQNeOesoYvHwqifKGVwpXkfYxXGswUKFGBjtbSTfYyJgrSjtmswpldlqnJtIftCmQesEmcfmTPHnEQICaVAvgdRWLxtoXXWfmjHAOoERnoXZMfOQKKtlDCOqDMoufEahHYcSxEsByCIyimQwmhxnqBOwxAvYKanopUEWiWqFNxHspvEoSnnzmSqEbAtUlTTUkBYKmXyDtsLmWBRuaaUYrhWqVRCjvjInzNjxlzTQlMEqmlWEikDcubTGchqRdmKjUikXkcDMpNdyGlwLTTROXEcgucOPJNcHlgWENpAnyCaimFZUjNnPJeWRhEXAoutKzdOmkQDoaaNWSDzPPNDdxIulsJHqVlKpxgqeEglqxOzNDIPbyVHTkiJZmfxBJypEWxfCGgMDgEdyK", "c_map_string_8":"XLmRGYLDmWjWaNdwBfGioaYEYwDYEEuemtjcKmQAOlyctFvSiWxYqyzSdbExPJpCfqbVcKkBZJscUbkcQpLmFjswFzhnzUCcZgLDuDdZsDibhpIysexMfNRnOGqFWSmTTelWDNuOQmOduiBhVBKNRQjhRuDQQTOdfBmopVOnXlbWHOusPotMnfNCwOPbKOhMynrLgqxSBfrMIwpuGktUKwwNoWbWynezJQVxUKKzWmeABWfNVdaKFvNhttKkwQTQUCeLGoKnYvqexbhyFEfAooZLcQFlmdfNhDqdMxipCkfekJtZpeshefKJLZVvmLipWGqsHebuUhDLrzBXxcxzBrgKzDDXaCqRpAxSzonpAYBaQbUfaKJYbqPTTnJbSdhQKlgNMNSJXNHwjJVgLRHTHrpbgAJriIvVgBlzthucvAUhkbPxwaMLnkNMZwNzcGbhJDHOnPPKsHglMvrSkcCxvDVQykxKujVbwLqMWapFFhElrAHVZcLRTjUjlMgiqLSI", "c_map_string_9":"kngbioBJcJyWmSLwGaQVKoVQxdvUdyZkgWLJnHgwvraufCXLvGFwXFgDXiFuWOoeKPHuaReiSJfxZLFVrGLeuoKAmFncKYbRwQnrYlummYPaeAIDsqHuuvHlyUwzyPPCtDyUGyJAcpTJJxcjVJvaGWrvinyqvpbSdbTUxPrcbKKqnHblFkXzdAyewLcChAzPaugrcTiwcFxGXJkrViqbMZPymIiHSVNfNZUHatAukGTCEHDGMIHTdRFtlBvafUbHKHAwRsbxIEQcRhDRPkvrctyPSRGzSGfRqfJlFjgNMEJPOnGJyaeaHzWSCruTZEoERbTnkQyMGVlYaTCoXgliSlyDheEZYZfRmoaAHFGWzNAELTvACfdxLMoUTdgsKZrjjFPIUXkVsGcxcVTxOMxQcccXeYrGOrLqFFHFFauVHuUBuiOHXzqtdtclPGQuhjXEiZvaeIafyVHmyfecVrfnSKEHVNotlNlPHjlSUStLPLjZsaJniSwpKeHAoVRvezSc", "c_map_string_10":"tKEZpakRSSMCAtLfQGUXMlkXhLNfFHKiZDBLqTQWRixMHNIjONoQEaYloKdtSEuoYNcwizvmUIAiwrsuNjCAeWBIhLxgJqfXYarglZMzGCnAzkFANtLBfXKTWHHmLHGgGTihyNcHIjoonUdHZezAOlOqmZOqCnlJFcJBSycIrgkPmzCMljHmpKDnUTZFgAjKhOGswchmAMnVgeHLdeiMbiLfpqTCJqXjNDkVjecsIZTTFdMsKopoxBjHvLgbwTAakIwgjJOMTuacfkICxIJevYwgKxPlKACOXWSfschnAZjgdhJkktJValhDFnyKTjqCKmIeATFyEXvuFHZjQEZjOBNFqhzqiNHGcVOUoEPDJChMcepdUgtXmJPJADKLWonqVLjqcACZWkCjLMsyjdnOreCMtPKDaashGvfOuHdafmimLsyvRbMQIXTXnvHRxAzCJDTpWdsETIrpqJhFzOCQNnXCoXvuaKxQiiVGMCwTTWhTSylfiRESZgzTSfDsxYLi"},"c_map_date":{"c_map_date_1":"2010-03-25", "c_map_date_2":"2018-08-08", "c_map_date_3":"2017-05-04", "c_map_date_4":"2014-06-21", "c_map_date_5":"2013-09-04", "c_map_date_6":"2017-04-08", "c_map_date_7":"2006-10-12", "c_map_date_8":"2017-07-28", "c_map_date_9":"2003-01-21", "c_map_date_10":"2015-10-27"},"c_smallint":-26217,"c_double":94.86915804904716,"c_datetime":"2015-08-06 17:53:35","c_map_tinyint":{"c_map_tinyint_1":-65, "c_map_tinyint_2":50, "c_map_tinyint_3":23, "c_map_tinyint_4":-87, "c_map_tinyint_5":68, "c_map_tinyint_6":105, "c_map_tinyint_7":-52, "c_map_tinyint_8":-111, "c_map_tinyint_9":-111, "c_map_tinyint_10":84},"c_map_float":{"c_map_float_1":72.85585, "c_map_float_2":15.882852, "c_map_float_3":9.571519, "c_map_float_4":34.284576, "c_map_float_5":91.73733, "c_map_float_6":81.233826, "c_map_float_7":63.425922, "c_map_float_8":10.689429, "c_map_float_9":73.68682, "c_map_float_10":83.265274},"c_int":1471664619,"c_varchar":"want","c_map_int":{"c_map_int_1":-1301740979, "c_map_int_2":144657897, "c_map_int_3":-581847762, "c_map_int_4":-15703144, "c_map_int_5":-1837360344, "c_map_int_6":-491234131, "c_map_int_7":-1307633203, "c_map_int_8":-1393628646, "c_map_int_9":1810416824, "c_map_int_10":-1886240739},"c_map_double":{"c_map_double_1":96.93317078248073, "c_map_double_2":29.84785347960365, "c_map_double_3":14.986202736482975, "c_map_double_4":94.78600462845786, "c_map_double_5":96.85515303674359, "c_map_double_6":77.50021247921414, "c_map_double_7":36.587775789876616, "c_map_double_8":62.61737575084737, "c_map_double_9":81.37497971690794, "c_map_double_10":53.37195135446394},"c_map_char":{"c_map_char_1":"nKdFlftHKJ", "c_map_char_2":"rDgKFujMOS", "c_map_char_3":"XuSPwPWtiE", "c_map_char_4":"qnWPejWdjc", "c_map_char_5":"ReDsTSAgYA", "c_map_char_6":"SODDCMwPXG", "c_map_char_7":"hEUkrspDaq", "c_map_char_8":"TZvnWQHVdo", "c_map_char_9":"DTSKeUvGuI", "c_map_char_10":"CJmCcUWoIw"},"c_json":{"adverb":"then"} }'),(3,false,false,null,1,0,127,22954,30654,245,10594,32679,-2147483648,-2147483648,-2147483648,-1807526,4,-7997698869923439001,32679,3602735,0,71.60469,26.517656,24.698966022700592,1.2868983638693274,100.02,81.0511,300.343,40.123,88.1243,300.343,100.02,300.343,62.1504,100.02,24.0538,50.0608,18.1195,40.123,80.1553,40.123,300.343,40.123,40.123,87.1823,78.0911,83.1900,33.0699,40.123,40.123,40.123,100.02,58.0370,{true:true, false:false, null:null},{true:null, null:true, false:true},{-128:0, 87:0, 127:-96, 13:18, 0:-32, -10:126, -119:null, 5:-111},{-128:0, -17:-128, 127:9, null:-128, -73:-44, 1:0, 4:0, 0:112},{3519:32767, 9499:9391, -9673:0, 26238:13583, 30310:-32768, 9037:32767, 14963:-32768, 32767:11102, 13245:-23302, -3603:11508},{null:-32115, -2028:-31670, -28404:-32768, 4775:3201, 245:-14353, 17758:-27600, 32767:-4713, 26930:-32768},{2147483647:-202352169, -2147483648:-1302963646, -882222144:220777817, 802244474:-873074102, -455155470:-846659927, null:null},{-608063097:1397271563, 2147483647:1847128948, -2147483648:859670708, null:0, -53964345:-2147483648, -746912527:1947113890, 576178619:1558966675},{-11691:20240803, 4984021522765250067:-25795, 300.343:5, 245:300.343, 1:7513732068889895069, 147483648:20240803, 32679:1},{245:20240803, 1:-658812328862845109, 147483648:245, -29164:300.343, 20240803:3761746, 4737235:8133714773641625415, 6:147483648},{null:147483648, 1:-3601961125301467473, 147483648:1, -9125557447350553788:1164043836, 1878392334:147483648, -9223372036854775808:9223372036854775807, 791225979823289905:9223372036854775807},{-2306099:-9223372036854775808, 5311372612760547939:4434912, 1:-8147021906390283339, null:-8649263543452863054, -9223372036854775808:1, 245:147483648, 9223372036854775807:7503444980822591440, 1531785947:0, 2727597298175403782:245},{null:34.754955, 84.43855:100.82962, 67.29821:300.343, 65.9586:300.343, 40.655:50.375896, 55.763695:13.759557, 0.015553269:0.50825655, 32.621002:12.217088},{300.343:23.796461, null:60.89943, 17.750715:100.02, 8.30357:40.123, 100.02:79.32959, 13.812003:null, 40.123:78.92107},{null:null, 68.96404305683191:300.343, 83.78681339206085:40.123, 73.64989697984201:40.32294319418504, 71.7705211509308:null, 100.02:100.02, 54.45501249401979:100.02, 59.769272121222926:77.93583271519906, 77.94818877215481:40.123},{300.343:35.041758637709236, 79.2924948218199:1.7311182452024916, 91.49339589210487:96.27228197171478, 33.39970645024526:67.9013235542648, 62.37663140421218:93.40335472529229, 100.02:73.04009177081174, 83.62874677985587:40.123, 1.6942874018775123:99.51227026458103, 37.25139356718016:100.02},{40.123:'e', 100.02:"0", 55.1678:'v', null:"2024-07-01", 300.343:"9999-12-31 23:59:59"},{100.02:"2024-07-01", 95.0579:"2024-08-03 13:08:30", 20.1619:null, 300.343:'can''t', 40.123:"1", 83.0266:"9999-12-31 23:59:59", null:'z', 79.0794:'p'},{300.343:'look', 63.0139:null, 81.1570:"2024-07-01", 28.0466:'d', 40.123:"2024-08-03 13:08:30", 18.1281:'about', 34.0994:'got', 100.02:'e'},{null:'be', 71.0767:'come', 40.123:"2024-07-01", 52.1371:"9999-12-31 23:59:59", 81.0902:'had', 77.1627:"1", 100.02:'i'},{100.02:'at', 33.1573:'come', 300.343:'see', 74.1089:"20240803", null:'and', 49.1771:"1", 6.0156:"2024-08-03 13:08:30"},{100.02:"1", 56.1972:'k', null:"2024-07-01", 68.1619:"300.343", 4.0745:'z', 100.0671:"0", 76.1894:null, 300.343:"2024-08-03 13:08:30", 24.0770:'y'},{40.123:'f', 100.1982:'her', null:'e', 300.343:"0", 8.0882:"0"},{null:'see', 300.343:'j', 74.1231:"0", 83.0027:'y', 40.123:'really', 75.0963:"2024-07-01", 94.0807:"0"},{40.1505:null, 0.1956:"1", 300.343:"2024-07-01", 67.1519:"2024-08-03 13:08:30", null:'of', 40.123:"2024-08-03 13:08:30"},{81.0025:'o', 71.1359:'h', 40.123:"9999-12-31 23:59:59", 74.1372:'l', null:null, 300.343:"1", 75.0174:'get', 100.02:"9999-12-31 23:59:59", 10.0489:"300.343"},{93.0768:'with', 300.343:"9999-12-31 23:59:59", null:"20240803", 79.0623:"1", 100.1147:null, 10.1397:"2024-08-03 13:08:30", 40.123:"9999-12-31 23:59:59", 70.1986:'are'},{null:'up', 40.123:"1", 300.343:null, 100.02:"1", 25.0834:'n'},{52.0392:'v', 300.343:"20240803", 81.1624:'z', 40.123:'w', null:"2024-07-01", 9.1649:"20240803", 9.1860:"300.343", 100.02:'z'},{300.343:'p', 92.0774:'got', 37.1046:"20240803", 59.1754:'time', 16.1591:"0", 43.1446:'one', 95.1285:'she', 100.02:'o', 47.0457:'that''s'},{'see':null, 'b':false, 'when':true, "2024-07-01":null, null:null, 'me':true, 'her':true, 'had':null, 'q':true},{'really':false, 'r':null, 'f':false, "20240803":true, 'z':null, "2024-07-01":true, 'didn''t':false, "300.343":null},{"300.343":null, "0":-3, "9999-12-31 23:59:59":0, 'do':8, "20240803":5, 'go':-125, 'could':null, 'l':99},{'n':0, "20240803":-25, 'j':127, 'a':null, "1":0, null:6, 'mean':1, "9999-12-31 23:59:59":-48, 'have':127, 'c':1},{null:15250, "1":null, 'all':31940, "0":-24920, 'x':-1219, 'p':0, "2024-07-01":-10113, "20240803":245, 'r':-11585},{'s':15914, 'look':-12381, 't':-6532, 'what':-420, "9999-12-31 23:59:59":14613, "20240803":-26632, "2024-08-03 13:08:30":971, 'my':-30332},{'r':147483648, "9999-12-31 23:59:59":null, 'who':556090401, 'm':32679, "1":-2147483648, "2024-07-01":147483648, 'l':1967849675, "300.343":0, "20240803":-949279413, 'k':-1513019779},{"0":0, 'the':2147483647, 'or':147483648, "9999-12-31 23:59:59":2147483647, "300.343":-1127886856, 'about':2147483647, "1":147483648, "20240803":1959111461, "2024-08-03 13:08:30":-803401155, 'as':-2147483648},{null:0, 't':-4415453, 'will':2, "2024-07-01":147483648, 'v':10081, "20240803":6, 'didn''t':8, 'm':32679, 'u':32679, 'w':5113339526870677941},{"2024-08-03 13:08:30":147483648, "1":1, "300.343":5666912871109148429, null:6, 'u':147483648, "0":245, 'g':245, 'good':null, 'e':147483648},{"2024-08-03 13:08:30":-44981634, null:-2459754904583822921, "2024-07-01":245, "300.343":147483648, 'not':1, "0":1474549523, 'then':-7219205, 'now':-6503750773365546879},{'I''ll':null, "300.343":null, "1":-9223372036854775808, null:1, 'l':32679, "9999-12-31 23:59:59":211704928269597176, 'z':32679, "20240803":-4931330206902460238},{'what':40.123, 'h':100.02, null:57.257324, 'they':79.54584, "9999-12-31 23:59:59":93.664505, 'or':40.123, 300.343:17.10651, "2024-08-03 13:08:30":100.02, "0":100.02},{"0":null, "2024-08-03 13:08:30":92.380585, 'here':26.207563, 'j':71.12915, 300.343:null, 'hey':null, 's':300.343, null:17.73668, 'be':null},{'j':100.02, "2024-08-03 13:08:30":100.02, "9999-12-31 23:59:59":28.813785904450064, 'k':100.02, null:40.123, 300.343:80.58016740639535, 'x':null},{'f':null, "2024-07-01":30.69939374354818, "1":10.713662057191952, 'if':31.888906091313736, 'know':24.07998117570093, "0":40.123, null:100.02},{'tell':40.123, 's':100.02, "2024-07-01":100.02, 'from':24.1801, "9999-12-31 23:59:59":null, 'time':100.02, 'him':300.343, 300.343:47.0724},{"0":40.123, null:100.02, 300.343:20.1878, 'to':300.343, "2024-08-03 13:08:30":300.343, "9999-12-31 23:59:59":null, 'b':2.0067, 'i':72.0085, 'y':null, 'j':90.0181},{"20240803":78.1174, "9999-12-31 23:59:59":13.1142, 'her':300.343, 'now':21.0659, 'like':40.123, 'u':85.1985, 'p':null, 'me':40.123},{"20240803":null, "2024-07-01":74.1264, 'so':40.123, "300.343":77.1377, null:100.02, 'they':100.02, 'c':300.343, 'who':33.0624, 'p':100.02},{"2023-01-15 08:32:59":false, "9999-12-31 23:59:59":null, null:true, "2014-08-12":false, "2024-06-30 12:01:02":false, "2024-08-03 13:08:30":true, "9999-12-31":false, '2009-08-02 23:08:18':false},{"9999-12-31 23:59:59":true, '2010-03-07 18:59:58':null, '2018-12-01':false, "2024-08-03 13:08:30":true, "9999-12-31":true, "2014-08-12":true, "2023-01-15 08:32:59":null},{'2010-06-22':115, "2014-08-12":1, "2024-06-30 12:01:02":-128, "2024-07-01":127, "2023-01-15 08:32:59":9, "2024-08-03 13:08:30":0, '2015-12-16 14:39:04':45, '2010-01-02':-128},{"2023-01-15 08:32:59":8, '2004-05-10':127, "2024-06-30 12:01:02":-79, "2024-08-03 13:08:30":0, "9999-12-31":1, '2006-11-19':88, '2010-06-19':0, "2024-07-01":127, null:46, '2019-12-18':0},{"9999-12-31":14255, "2024-08-03 13:08:30":18467, "2024-06-30 12:01:02":21511, "2023-01-15 08:32:59":-6913, "9999-12-31 23:59:59":-32768, '2016-11-12 05:31:34':2220, null:-28079, '2002-05-16 07:50:31':24551, '2000-03-06':32767},{"9999-12-31":-14427, '2013-01-28 19:32:09':-8581, "2024-07-01":32767, "9999-12-31 23:59:59":32767, "2014-08-12":-32768, "2024-06-30 12:01:02":-19107, '2000-01-06 07:14:14':-13014, null:9904},{'2015-08-12 13:27:24':337876590, "2024-07-01":0, '2000-06-03 18:00:36':147483648, "2024-08-03 13:08:30":2147483647, "9999-12-31":147483648, '2019-05-27 02:06:08':32679, '2012-11-26':2147483647, '2019-10-03 19:55:57':1144388878},{"2024-07-01":-1115937565, "2014-08-12":147483648, '2019-09-06':-2147483648, "9999-12-31 23:59:59":-1331773214, "2024-08-03 13:08:30":-1233712084, null:-2147483648, '2009-09-26 04:07:56':0, '2011-01-12':-970034702},{"2024-07-01":147483648, '2014-02-08':147483648, '2004-03-22 04:28:27':-6236205, null:1, '2000-08-24 22:43:50':147483648, "2024-08-03 13:08:30":2302, "2014-08-12":-26188, "2024-06-30 12:01:02":32679},{"2014-08-12":245, '2010-06-18 12:59:20':300.343, '2010-06-07 19:49:50':null, "9999-12-31":32679, "9999-12-31 23:59:59":147483648, '2008-06-07 06:55:58':300.343},{"2024-08-03 13:08:30":-1981046, '2018-06-08 14:03:11':32679, '2013-06-02':-1686495763, "2024-07-01":0, '2010-12-06':147483648, "2024-06-30 12:01:02":0, "2023-01-15 08:32:59":-9223372036854775808, '2006-01-07':null, '2014-10-26 07:36:59':147483648},{'2010-07-01 03:11:24':1756333524, "2023-01-15 08:32:59":32679, null:9223372036854775807, "9999-12-31":-208825, "2024-08-03 13:08:30":0, '2009-02-08':1, '2011-11-10 15:28:54':-3635458816753712165, '2002-07-01 13:14:01':245},{"2024-08-03 13:08:30":40.45565, "9999-12-31 23:59:59":null, '2005-12-21':36.75346, '2011-08-21 22:50:38':14.722678, '2016-03-28 03:00:19':18.359869, '2013-08-20':40.123, "9999-12-31":52.072586, null:300.343, '2008-08-11 10:15:39':null, '2002-05-17 16:38:46':100.02},{'2001-01-25 22:48:00':100.02, '2018-07-05 02:20:46':80.300995, '2005-03-15':38.55997, '2002-07-10 22:13:33':40.123, "9999-12-31 23:59:59":19.794916, '2011-07-07 03:15:30':40.123, '2004-09-18 11:08:25':99.72445, "2024-07-01":300.343, "2014-08-12":300.343, "2023-01-15 08:32:59":40.123},{"2023-01-15 08:32:59":50.86085686257914, "2014-08-12":300.343, "9999-12-31 23:59:59":40.123, "2024-06-30 12:01:02":null, "2024-08-03 13:08:30":73.95555934767926, '2014-01-03 16:02:59':100.02, '2014-12-23':81.8740713671916},{"9999-12-31 23:59:59":40.123, '2000-09-06 16:11:44':null, "2024-08-03 13:08:30":300.343, '2001-02-22':null, "2024-07-01":68.03992907230315, '2013-01-20':53.08474375863919, '2019-01-23 06:00:26':null, '2000-04-11':72.51293778537759},{"9999-12-31 23:59:59":300.343, "2024-06-30 12:01:02":300.343, "9999-12-31":40.123, "2023-01-15 08:32:59":null, "2014-08-12":64.0896, '2017-06-06 20:40:52':78.1747, "2024-08-03 13:08:30":70.0414, '2017-09-21 07:12:34':null, '2006-05-03':100.02, "2024-07-01":49.0151},{'2000-02-20':65.0081, '2012-09-08 04:29:03':17.0936, "9999-12-31":100.02, null:26.0880, '2014-01-07 16:39:50':100.02, '2001-01-03':91.1524, "2024-07-01":100.02, "9999-12-31 23:59:59":40.123},{'2017-10-19':100.02, '2004-02-20 12:45:15':40.123, '2019-11-08 19:49:07':300.343, '2001-04-03':100.02, "9999-12-31":300.343, "2023-01-15 08:32:59":6.1373, '2008-04-01 04:01:05':87.1777, "2024-08-03 13:08:30":300.343, '2015-10-05 11:34:43':40.123, '2018-03-06':null},{"2024-07-01":100.02, "2014-08-12":26.1324, '2013-10-19':null, "2024-06-30 12:01:02":40.123, "2023-01-15 08:32:59":40.123, '2017-01-23':33.1722, "2024-08-03 13:08:30":100.02},{"2024-07-01":null, '2010-02-15 00:35:27':40.0287, "9999-12-31 23:59:59":40.123, null:null, '2005-01-19 16:59:27':300.343, "2023-01-15 08:32:59":3.0048, '2017-10-22 00:12:47':26.1148, "2024-08-03 13:08:30":100.02, "9999-12-31":15.1046, "2014-08-12":16.0934},{'2014-08-16 12:25:19':300.343, "2024-08-03 13:08:30":53.0587, "2014-08-12":27.1949, "9999-12-31":300.343, '2012-05-17':40.1458, "2024-06-30 12:01:02":300.343, null:null},{"2024-06-30 12:01:02":5.0120, '2001-02-12 06:16:18':null, null:31.0459, "2014-08-12":56.0683, "2023-01-15 08:32:59":null, "9999-12-31":80.0916, '2005-01-27 12:13:34':43.1662},{"9999-12-31":17.1243, '2018-08-27 14:12:53':29.1568, "2024-08-03 13:08:30":100.02, '2000-09-24':71.1592, "2024-07-01":17.0884, '2012-05-18 13:56:11':100.02},struct( null,1,-32768,-152250688,147483648,-153215,88.843254,300.343,53.1919,40.123,100.02,79.0255,10.0577,null,40.0370 ),struct( false,61,0,1574823972,20240803,147483648,300.343,300.343,100.02,300.343,100.02,null,12.1438,null,null ),struct( false,1,-28224,2147483647,20240803,-9223372036854775808,2.2513165,null,null,92.0913,73.1975,69.0814,17.1513,null,null ),struct( true,127,null,32679,-7317251,5354594926488346530,13.751956,100.02,65.0512,100.02,null,300.343,300.343,300.343,100.02 ),struct( false,127,245,1219207309,147483648,-4524273081184039436,300.343,11.071195232052633,9.0452,300.343,100.02,100.02,300.343,9.1011,65.1794 ),struct( null,1,-6268,2147483647,null,5060565709407271218,null,300.343,null,null,100.02,46.1383,40.123,40.123,300.343 ),'{ "c_decimal":35.1187,"c_string":"OzNkjdufvMVJBkMbKbhgwpdepZNsyGqRvPCvzUJCoWToSFAipRsFhBipUKQJfJzUDMscyhguZTvWjtqJECDTlVytTiNsayZoBVEWxHlhsncfINhcridbircnWTFZPHGJRilHfphcKVnAwMaFagSFZUEmDlTdSrztZbGzjMsbgWQlWlxMygpsCiZkPBRGOTmWLOPTRSRwAYJxzNlIzpLySJflskcoZgJSlkuudUITYDyGNvHBkkLcxMzTRlStvBnjTkQogxGidIunavEeFOFvNrcKeactJilXwWMknBFgRWLipcTXlfPcsGYFTaUZJrkZdaUnipIdcLWuUHKgBoDMArlTguXaBcCgBztkrhAJoByUhanlfxCdYVGqMuuazdCvBXPjAxQmpaBhuNxsAEpxSljPHJlrxNnHEcvJhUjzueWFDuyGNBeRRooOfUAUSuEacNRbwiUmfWPuUWdpFTTFqgQwtDhRnNpodXkQQFOaUabkYCDfSvecDUxxWGhUFTLH","c_ipv4":"28.52.225.141","c_array_int":[1918426853, 5225991, -148795751, 1778295170, 790410754, 465703167, -2088002438, -1693102982, 141552250, 1033575490, 1150175283, 81858758, 1966355934, -1215155748, -1856288807, 1399734983, 1503217763, -138675380, -1275013169, -544183947, 152950223, -1194361091, -216379405, -1613609945, -2114116958],"c_tinyint":112,"c_smallint":1837,"c_bigint":-3968281961140618429,"c_double":70.97247048098185,"c_map_smallint":{"c_map_smallint_1":8758, "c_map_smallint_2":22621, "c_map_smallint_3":-208, "c_map_smallint_4":13436, "c_map_smallint_5":15361, "c_map_smallint_6":21704, "c_map_smallint_7":30537, "c_map_smallint_8":25346, "c_map_smallint_9":-12406, "c_map_smallint_10":2840},"c_array_char":["eQpMAACAxY", "jtqbgriakZ", "qhlGCIteLq", "ppPJMBAVFV", "qbSbwVmTLl", "ZuwpcBNsEd", "IpltXaNpNS", "LhmTYkStQc", "HQfVMzmrnZ", "jSuGMqcIQe", "zCtiNJWxBN", "AbfnjQnYcR", "jFoJWAXbTi", "GxKtJNNwEI", "iaBhoaeIQm", "SZlSGHCnEq", "BTCtKNUCEO", "XGXStUxTUZ", "ppaffwugCd", "VaBLCPrBPB", "AiLtmIsrXe", "RhODZLSyKS", "mKJpVPYuxj", "JpiaGqdSRx", "rtmcJBRwgE"],"c_array_string":["VFzYBAqdlxfNUsSgIwdBAInEyHpEpUrovaHWLWTmBvpPUtHBKsLGFIVinOPkrTCgtzJaaiPFOXIbQejWWrLxqtIrbzXaqZhODOQtuyGhMQDQKhhCuBhBBMLIvmHAUGNqQWDDjtcJWCQPmDqiaYxtmzKODlNCIRWVzJbpIhoMqQQqFMnUJVTrTrEwPHmToHvRVyAbqAKYcGebRHILdgWHetscyNyTHmNFDrlitRDJrXvWrQdFkpGrRHuJcywExspXBtwQCbDjWiiSynabRozDRWylZiOWesKwPKLOQTflZlSiNJQnVOvVxDnWgktHftlQdDPmMduAfwWDoixuvSKvGBCyCDcQQSnnVGQgEcfutmIXgDruBqKMybuJzQyHCHAEeKvvofSBdnIRgWNSBzFZZEiEWFhAekBtnzhkpbPYvdYjFZClyqlFpvbFbyeMcppYxFKUNweNClpnXuOGoZZeANherJjLWpYyAeWeoONnscPzgozNPEhQzqAgpGQDLQgy", "tmKOiDgHhUYtfWNArslDJKoRDKzECWlYLDcMSsaQfQNPKezWAgAybKCPdREIfeVGXroYCqOuyzOKPqKtjNaCrtQHytWUjzHXWVvdaLLjsUEpACnJrXnSZCwPqithewtMlLSoNJVBxZAKADbPDqaRMrFQwPinaxCYJdbHeLoCSNtpxhTyYxiFnEwsiToUPiteuxQjEbPjOtbJIcDKhTbnWDZrHpiFwyOTnBJwEiVmSWOQoZDzUkbHxWhLnWkaQWYvqYHTdgyQJIBHKYCRLlKkYEgKgnkLsDDzjgcRMIORNYZSKTSiPfVMoxtdDXvCoLOxHGKCfpkJsNNDBkiewNIbHShqKhSjLQslWmTwMGLArgRWumxtyiwXngVJUECEUlmgtROROTwYYOMSAJqkZeYRHnTKLGBLcNgKTiDzZKhvAutLXQQKMTRKyikYeIuEhKstgYgugPLPQEZEztCcVDAxRZYcvtIMsBYofsjExjEJuttXcAvYaFKLhWglZOxQBSyS", "cUeyvzmAXhHCAFWqWXQCiOrerQoMWYpDZVnXDmiThMJdzmgrXAETifNlITYymxIRVNiaXqWgbqlrZgxqebyAIdEsTFNGHKmzOCzcXUCVjBEfnICYzjUrIVPScwvQAYsLqarGmOgJoxswhfIBtlNkjMBvTcTtZftBAWnTNxsFbQrCBocxCMMZfrrQVSxBohhTBYfHmcDQFMjNCvIuqeiCllIbEiTrtegGmcFXSXOUaHfCoCQbwFOhNidxOObYwqexhsnOfSUpawOPReBXGcRTGtxnjIEkbgpImiNnfxPdLzgVYTslLoTfjOmbqSyPLYffcPczmZFGBBAJYWUDeZiWauUHvaAmxYWAQcpWIrDqQKNNaJmMzhdInYuyecPTXeiUxknBUWcxnZBDrFPoiwcyzdPiTSpKmRwzIVhiApYrFBqfOIYqbNohWUAvnwsMRaszsJsYXbGLSlKAikXsSdGmKBZmpRgRFPKNwWXBHCuAFwjArvLfHTiIeBsapfqViVoT", "mprfHjhFHMMflwPpQKmqxFKspUgNRYhuNdmnAhXCazVsPHYxHNBXFCJaCRzxIbuAQsnPuUfwRmFgRKHmtWZmIIwQOUCwFLtdvOzYlhjsynjVwBqvslICANGcQUOGIAzShyBqegRsipbqyvZsvJPIqdYhsfMQWelQCjSKeeloCYQmbOvFsYByyywXClPsHAjLYLSUCuAkmpgNvblvxAJLEnkOZSGkjyLPXNEotlnURuiFyUTlPMVLdpOFJdnBrOHcXPvqNpioxZezWSzwNqKPqlnqpKtSAHarHsySjWvqvqfDGwOIGDaaRBNheCMOrofitjjBJBMaFlaRvAvspaMfIgzmIPGBBbaJJlwbOQtsXBEEPEqmidOAUizdbmgwVyoPWiVhSBSOkarFIhDWMOTZOPejgWrMhvaQZanwsMVdqcAyNkQYTtGQlHInViHfjAFyuBocApWrXgCeHJumvuLgVNSxpycwvxshLiEmjCnEgWuHMNXOSCvkfDuSNGZrNDtr", "PzCHcTTGhokGKtwWIAVzHHjDyzEiBDLqfFUMTroUCBukEFzSMwAvOYGDknUQrfARmsJfuVNPnimhhxCIkLPMaYPkiHFnhLdrMZcyfnloFhRLAphBrTMqUEXuaJfFLdyuhRSJQiNhCgVMkTCvxkGOEqCKrCzFimiBGBzUKmGQKuDTCNxTQZWgcHZYXQeimfimoOehZOJhifVejfwWuFnikomNoispHAaAhrRzXyZUYJEBSxUpXUvddYKkSAMZMDSebeQIJRiNgYQvYMvYnEOwQPinUcnnpaoaSbBzbFSGbXyVoTfwTpJYaipMvNTaNWnBLpatJPiXnZUFBJzUahXAFmEZGvVDFPvMRDDQvxQfnugInfaHRTQVHoBXukpnYkHymVEnzTukaoyECYlomviuoVwzjevHNSbLOJbvtvbCQfbzIDlGJsvxfIVYUGOKNbTRFtXmfxNidVghnwKEzQtauTHwTqpiofCElhmNciPkXIZBHTjXsnfSBdsIrBiSrsGS", "KrdSTFftFPLtqLJzcjQOKuMrEPaJJHwEoyJaeMgyOaJKqVeKTocseuUMbymhQyKgBixbGEBlMdGuXolVQrTCmgzNIMJlIzTQgvzeFExlbtbJmpMcuoYzxVRjTjOwPZCPagQBPpwCuBFnKQklhVSEnLAHpsnuVwDkXbMWXuBNzBZPFzGgiiWPpepTePVNEmOsXsVbaTMFLgsYBDKqHImdsivRptyKTRPxlXGlBrJaEtFZjOYtevJyDvbUelYJoAAlbWFsACcZqrMzQwIZJHTjLHrnRGmBGTuSbiLvYjIhORtQandDYAblvKlqQwhKJSoJmIZqzsPmNIuOaFzIEXuiwBaedXsACCNbFiAKVfasIyjbCAqrvIZCsPlabDNeUuCZKjbIZrTTtOFPsCiRYNSlXdapoumjxpFxxRLiLnzeRsOvHnpIoIdvGrgevlEdwcLmONUyrBKVMPAxWhRTPYwxttojRrIlSLPFHPGIwAAhkYktevPcQHtvyMNoLYQwNYth", "vtjbDCddmXMJGbTVEOuseNvtUcgXyUUMiGriLcqKeGcZZOMEBJlkXucpdosLUglnHCjBNuiaMQwtPsbrdlNcQvAdwItBciPwKDZDwaWoBiGNuatFLGErTgwecfRBMJVWYRYeHChjkNvVPKqRxojRkgFObZtxGAKfrjFqFLfTqMCgKyZFdQqSlWMxIMyVCGxsdnoBaeWGLcyOsJCaSCNSSwOQLpbCcZVaRYOaAmOSNKCvKOhqakPaQWCaHgmvuEIyEDQrtZVQQPDbeaRwmrRbEndCjePrUdJPBwGCFpnGLVqHWvqMZPKBDjjMREGKCpudJUiyETOBDxLOhCyBftofoSqNMyqyuuHLSiqsRQvkaEmLvNshLkxCiKLWusDEbqhfYQhdsZCaPiIHWJOxezvppABJnqUjRUEwkxYfRNHwXvtLGwnoJTBxQlvymmCKeFGEktORzQexlNLcDpMJyQhlCfWliPwsASttLaAjNVUWxedwycBvzBntOSlRtCXDzHEL", "WaLGQPgnpAUzSnrQzyhTcMFSgIVwlgfPutNCDdNgFvYsNkPSnrfsBSlxAjSEiubDUhSmgKuiFhBMZoUUTLigeXwsVwOpQxjTXoNmjINaUfVtKQMYNlkTxBqmteAsDNFRnfTCODfZlbZZoZkrIIbfdglZDyYXMcOaiUryoLzLjuKfikvRwGCeITKoWRjqxvXNIQvSzoQxZtOoYCDHbGXcRNIPIOhVtPIkaDrMIUYAVCgOLtHAIymRaEVWroRqrjAEZdkhpdqKskJEbUkSEJTdmrtixAICQtSUxwFYafgWxQpNfQvVvXtMyrNwfFWIMsQslwDwccOlFrycEfOjkreuJppxrhAcBLcaqLgzmhLaiSilFoMoxKRoqGMxQcKFWsswlqPuZimTqDFDzIdDpskYqjPbKrZMxWSDWXFdAGfeOSvNvWMDTvFZaQvDKhDpLmBVzANbWnCDtsqdXcwJgpvlDTkvWDwRFnLDvIaKyAlsLAiHiwkuGzIxcRHerdvwcvoi", "uBhkDLTYDsxnGlrYqCzamKKgiZsjQvLYlNdxOQfUPVwVRvWOhWGauuXhBcGVIqZCdJqhhZKPNpdEsWMWytXVnczIizOWXaXVRiaLZbLkYMkRsRXZlahokclthqQeCzXvlMASXSIKsbESFvwQemaKDNcwCXsQnBfGjYtRPIFiQGeGoyfYoWpvLoiHikwGfYPoKgzsPppFklPebyjTeMKonUELyAZyRsRfKEdvvIGxpPipSeGFoXsDvrNRpIbvsZOXUzBwKHFVeRnhyDSrwmRKIzjRNpqaRHCqPdLYroaliPhzGujJNOIVpiXAiFEosumWRZrmOgkWxZZIyDyLPxqPrWFOycSBDRwnnZQgvUGerJFWoMrfAbpNJWdhwBpYvQhlulldhlHayVxiOhSDzKgayFNqqdDPnDbGbDXvOqDEndVsWXZzKStlXTpKhJQflkFpBfCJhzIrvdiLTaDGGHiVbSualSKndPXuuyHdedHPSblRVTRddjHjwFJpomxwHBVl", "KXpXogXlIkJJoHzrKVHOItMpSBGoNVVrlsPJtYfvThSqPLiyWWzcLcyrSsBEWPkeonEkgHwzHyUhQKDWLZlcyRHtFXymvrGAWeFyYgcoxuEtRkKcZXKgjuzQGckZtSAAJTXQgZaWSSgmwbhwfCpnPbnDShrQpasBgLtoMugIBgiurANoQTbrygrsaoxfUDbvhxxwkGVSQjEZsBTtaPErxMUHIeejqhkXkuyXuteXwFFyhPgNrjZDxUOlQVqnBTEpftlhnmuEDuFInkGRAYbvMsJvBAfKzDLPSSFyVFFniHVmszctrkLNVUGWcsKuTDSArstVQfdOpYVROsViAziQmzAzLcrIGqdQNfnalHAaUVHVMEPmOHtYrGzWjyPbeTcCXAyFQOdQKERpePFTAuUcapbVPyrSXUkfeQeEICYVIVMMaQfoLYhVbgIjTJJhomrzZAsXhkzHiRfkNAqnzomtIKeObyXGrZaSaYsyGcTAlGvIuWNZLHixoGFwyAOofSuL", "ltkiVeFsERCCpCMJBTKoSDTRaOUsIdbPQLMHKhQGxDnppKSwKGFSvRyqtwQuhedmTRFpjkRPLynbmlGySVyUBqSHwrtMmspWTEudSpzKjEiHSBmILctADyhiWtMfBwJQZMSyBUfUguqtknZuMCzwRbZQcmtwyRtBEgHLFVBAuoFPOvkLfUREFWzgiJSNUvJrfsmyeIVhQFdUxNRgfdUpEBrdLsQJeFinPBxorKDkrZCPbpkpDsyVAkwBiAVokXRPYgQcrsCgsKfLvOTyrlVMJBprZURHxhyXyCPojKOeJAVljvogCGigGZeygIzqUnnDYgcetTSFXUXqmFOlFCEEZweIiWwSwEjeYfvwhYLxlqzeHYyUqpZIBudGypPMpyGDIOzLDukPNQWjRsTwFcwEhpnghiXFmfptyELlRjRXzNulHYJsSIAgEArJFiAFQwHDfzasoUfHsLNXCIrpdluWeGMOHJKwLvLuLHrzVEZVYlXqoGmRZjqhqMaPKQuTcKEo", "mBcMSavnxmLbjeQDfSydYdSUTLhRponzCavzBgYzZYYYZkFKOkowWktBupWoAestoVvfgiAwIikMDLRuzIhVkgjeBvGUuBRVKVUWquqCAblMxyzBqmgexqGzqaWoqXccFUpOjNRxawwIUvetvPPyOoraaawHTOOVkCibBZMLVtOVUzybYaJkWxSQYJMvWVkjfZugnViELuCepFllESJFZWdNVbOgfqpiQortYqROsTjdgezYTIYbxpLZkGpHWLPlkVvFNpwZPgjKMUigdEmwQAuSPOgWnUQRkjZhdjIIOrEAYqTTDXrtupPrFrMNXxbdXgVAeQqImNKsOqrKmnvxeSYINyAhDhxEoNxLPlagLBwdQUJCthsfYbheWMlcgcJuOWEewAlGeiwxjRmDFWtXgpewaXYstKEenAxqAydgWaJqxGlykDCawfhiSlFgtkLcaKzCtxEFoMxSNHdOxzCOhYcBacGOKkDLnqsanpUmtMHXJWtLrUjMYfqvPpARAJaf", "SbxAcuYnMiqNxUhlbIMKnywNBDoiCcfDonargCAvEtefbBJZzSzpUgRQQHeUjclFwFQkNpKLLhgTaQvNcPhlRGxKPIeJQDCOeYitHxUrmbZKCpjfnkJIpGBwVJiVKbZGbFJQfbJUYUqKMGSfEXANGGsXmjqUJBARAYjQltLbDygClmhmeuDWkPSIcagqvISlivfvDyjLqwsyNAXJUMYVQzSHiNQmSFuJdnAGKSOgeqJzsdQfiKigvZyWVxHtAfhOyhYNydpWxhaDkoREChnjNozSymPZXWBfWChzaZKWyAWkAmnXBCgTbVnunZbFEbIGxqgtEoHFGjfxjlHKlAZbCseNtYfYZeJwNrgkvUrhsuAsChukCUvXvmLtlrZEUMElfiYtNrpxeIyGYlKYxIOpRPLLtbGZUopzNuZEZDlnYoBcDGvxEjUBQhIGPHBLYnMEssyVGZeJAAqxugJAAXEzhPBCMrLDlKigdLQPuWcGXJCdTmWYKsdsLAVpXCxdUlDU", "HKAacXWpubWyjETmIpnLbxuPNcwBJTzbmzXcIjtySVmGhuRPOqltxPYOuDmTuUnyDzjTHpizqpFUVoxILZKQxBWKhxWmmDJjjKgscbAIlSzDJiYslBnWXHSOhEmVNkzjsesmpGXIXuamKKhYbTFXFCDrYiQGNgIQWUSieuwrNeEvisTlhlNrIclUPpvuoILnIcTVgOdgctjNXPxeziHowrtHXJrztmvixCsqikktXcVkptYZplUBhWYSfrpegDteCCVaHkypWeNaiHmOaobtKmgVxDROjlVwQDcMejGRLuodLLChJQErHpYEwaDbiNqaMvGIcsHYrTaucqQRHtOMzozRhMvErInuxdyvDSQXdTeyLgTKRECVaDknuQpEZNWSvzkUiaHnYJJEoPwaMDzHdUFyqhhLFwwsuHwSNvxPwZDzfWCseaVRemGHpfMfKfkvylUEJLNitYDbfIfjSVhPWiQMwuMDbbZNhBQXAVLqcHuPscoxoUXnSTIoEqTIyDcl", "YxjhBuBmAGQsnuLWhKTSotAxkjeaOWPyYrkvPbprRRPLTapUVwchQkMolKlfLFHLDvDGkxgTyZVunfOGMhizWPFuHfFHqQhONhuBJCCJaEmTdovuVeXePPCNXETyrpHYFNMuldjrQgHhpcxJTOOpyKiIWJdhLbkeTxsnVRXBWgIiadPhAWyVPtHVrLQekvFDCfowITRBSniDgABEHosDqZvGNvWekbXAuchpYEWpLIMrIzaLqwBOOYmDYfBsOpGcKITuEIpWpuOzTNGmGCIunEbSMtmmWQExqXtWPuNyFjuqlksxuTWocgoVukWipsXYejNksgmJKXkjLnlyUEjNorakrtOJgiNaaIMiluHMguHmHJDSqcyBeEYxNspwyySiHqBdkDDVOYGxoZqSvorZpLhWYYzAcWlQvyOjNZheilWETKsOdMmvajskqJzPBKHurPMkUXiqnPfKntPGODtNRMRzpPENJufGZJaJIBEsRpNPpXRuhFiheKWmCyLVqddO", "IoAptimfILIeqRTvaZQqlsRknphEojlcQjiBreVlGSrsPFstFWFBjXMzyZnZAgANntwDhTkbaijJYZnbNGqBvencVGyWrVjgXMIbzGfLZRQYdNBvRjeppZphlNWvLobXlLuhpQUQoeIxcDhkXjVFZAiJAQjlunuKZwPvJVveRipxICBtFMiUmNJHZNYWijSjMkDVdMRtFKxyhHrWnkiIZihWKKWZvHVamSbVLjnJrkSJfZKYnuLpkbSGHVSVWVUQRBoARGLaUPsafDyOueVWdqsfgcjBkuILwlQvhYNPFLKXhKCUAFXszqsLXizKoYeOxgDWlfWtKiwyGLFwESgTKTcqrBfeqpCcoHRsjFHDgLADnekvtstlZPGAEdUTiKgxlcvUZzWkNaqNaQLIdizPqSPJYgxrScAidbgxvebTGirUTEkzdcdqGdzHstlSrKWRTTNrkSAgYqTddtmswOWoEkYEIJcjjzOFxkgaeJvPsiRYNDFMROgVJKBVpAvsjbAF", "JSFjiILDaSrQmSHsuMReEAKsMTnFzEclZsRkccccOcxtQzpJVczddOvUxMvqDRAoVcEaeagnNbxvcgsTInwHBMNnFdIZozpfgSROGgSrFChBTDTpTFKBiyYtmlZhjGcAZPngegnQughwTYFBKfGESRuWFmiYldLLQormYAUOPPqafuCcBCJovtCipJxcIaYSFxLTUBhBTbWiQltvDPFqzvFaJjphwAkrVvyXzeiSPCVCZgzkmqptENIMOAEqIxBlYTXmuXrERKekxZbloQoGMyUcjXBQYCmiRINxMdNEomWXqcbYWgPkaraSRQmzfZjIsTZXoyvsJkaNVDurndCIlRrOmgaWgsybWkCBFmhIEypEsaSNQPkCVIcLybLRCICrmxGFpaRZeOKXmpQoBpvVeJYAvkrMbeWWERqXsDYgZCMnBGSQUfWDMRQMEapLEfuErtXeNBhSknPzwEOtxJacMTTjpVYXTzAWOMZqrGFBLEmLumndvUSDIIlEfFSkyQbm", "xBKrQarNlRugjiJlBlCjyNfUlYaIiDlTHquBnOgOBRuUUXfngKcQBTyYcmUpbqRngoyIJXqEFHkZUklrWQcHgtfkqIOTGtQVshBTVOlJfYbMhKYPMTIovpKMijUIOepDYRbYLMKqqZzAukicMaqgsLMkYlJaJJdbUlTVtxRNuJcGuQhRKbwNUzzNhkJzKGWFAMuiLmZWVDcfSIaxVIIyXnSRmwQFwldTvQPuBnyMuMUnnsegxUdqyGbEUnnSrDZtcDBLuwypRRCQKFrUFesuqrgpyZlIWXSucvTBdvDBytYRdaLPWupDLwTIfrkDtKVhNWsKzkquSgxgCrQBXsZRPOOSJLhDLhfwfVQoHrgOVKnJpdlmhWesLsDEAZtMPvgzHbwOAnPUdhnqEzMRbdsZajbOsmSrwPMnADrNFQYVVBzXcXtAAvaaDEDNVmZzWZCcdSetySCWOlnmyxrgzIeYlfADFFLeCymLkRJwsLVsXzOVdJTEPBECsBFHsjNizCVv", "cxhoNWQHRYhdMQmtZrjhJUaAoLViyBVagEFxWxCaQAhykXklLRHrinCJCrHwpxdZWbhXXcLBykZiJqpvDvjgiUnrljpYaonToONNLwLfPyJsKnkieRuExQLnBgbOHNkzCuAkVubqItGFtRwPvlxWVgMKSMKGUDAEZvBXbhkMTxZeYJFThhuQgYIVXLAynwCRkZansKpGZKeQzEzDckXXhDDOVnXMRBYNytfZOjkQdJfguqfrpWoBgstWfrGzbvMYKRjMlUhXzwGSACfSflpyMxTZozdUOypdzkHUBASYlpTBqeRjHcLTTWZqghPPMuNZnFNWKhhBJoVIRBAqKwGjCkHRaLXLbVVIORqZfwZbpINrXXfoFjbjwySRQETrZIiymXtxSiOpmPMyHMTvLwlhhlLxepRjRIfSfqYuvbXYaPGGKApyqpoqMXhHogOnmNsDOvGmambENcRxVvdOuyWXosAbZAbdohWGijXGJxjJougExTMDvfbwKfIfKxuyKnfX", "BRMwmTpDVcBtAOqJlhSBBWhpcOjomcMQSvaZvMjRXIRoCVAEIMUfjlPVXwqEMZfiCYaAHRXZXVtzLAYcqPmGJyFeoVMxmbWNYupcALEtlmSJUArtcBarJjxZhznVYwfjuDbltDiIjlsrcrZwcsBtgkdnezOVcEHvITpfPtDwFAwlbiuZkBrnZntSAmnGZcaLTDGXMpnVrXdhiPJuCQwHytgycJQQBBbwOIsOalirjauuPMzabdABlnTCwAmXNzrbEjyRkKoNkusmrwSkHlJdXJWGRwCEnEzIhwPjAiGlWTHFLNiXtpotunhUdhVyxNhkEVwVQVXWGydhToCLZxenhnPtiwiCTTLwjEMwkyUnahbfLJMqPxAakACRpdDfJLXSukyxOUqgGoITPjCtUxkwClJGDSqyDUkZulFYtSRkwnipaUAbAwnOjsUzpxwuIOGzfMJTONutwDByfcKdNgzYzOOfgyeXzWCDrvojYSsZewLByiQXHLxAMYYrWMaPncNc", "RYqdgrHCHeZMuJMsEIicRDSaEARCKeRQbWwuLCdUaFwOymwziTzhGCwgbZYmcjssEWmHOInzVLPBXWfDmqOAEXguAcIWJdeiPPRUjpkHulxVDLEfxNGrquYbYZHGJdhMyZOtoUgsxnXtfQjNmbjLVFrnVLwGMtqtNdvgLYzzoxCtfSSlikuEsaLAfYMrYrIqHxCKnWgLfviuuGWtcTRwEdzbdMWKGOTlHrssTRqoqZcfOAlwRgTSObrsrwHSkRankPsGEGaejkVeHvhZWeXznuWEMlDLnuWYIDSljzTTCZXusHDLFdoFztvDrGpJtlOMFhbdDcvOiTSwcSmDpaYenHdwpuPizjYCdmmXnrUCkPHnVHUythvWxGmfLKbwzOjIXAyBCvbNMnxCGQqszLJSwdruBZjZAqpMyFKlQCwWacWPHlCBDrGAvEQVcliozuRdItcOlEJYRTYjouYtMabLfXYPXAfUNRiiPjoDuCwliRqbFpRSldtqnEkiJDHRbCfj", "MbzNdDwIfGyyPxbHRvNbSzlDGNrxWKRRQfMTKMBIkzHgKPAsBmEBOhrqHaafgmyxnTrvWfxOhEbmILMYaSbNOTDymBfJPXxxoMRloLAUBWTqcFNJXtiMRNCRlbFpbWMCXFDsxyxKGCXrKHDoPaGEzCckUlhIgyDxQprObPhxXztSOwUGsCsOyKMAKiCTolxXLEZzxisOZgTqmpTqeZyRSGpGQKNtvDzWUkdsOEYiMFivSrtnNzhttaxoHgdAqIbaPsozwgOcVeQcuDOFiZAimqryMoVSdYdNogXHIvLNVkevoLWiXKxdtIWeQBKmuHpMHtiKxPwNDOyCxiIkAElcOJFyNRyJsnbBeSLiMxreaMbGzXfUHmeCvVLKjssmQOkuUprmEiFvKxMdZTCNKLqiHPkNTnVDroDQIrpatFEnVaGNGzUQcqQVrAIkCKeTcmQZxsxFEFzbbtPqWtBADpzmRmmuzEMoPeWGxofKQZMLbbjblSLUiLKmzDbyhdSqEpxS", "hvtxYYJCEbbfOjOtVtURPWXDWFLzgBDORNHLPSoghxuyvGMMxEDzeNySuPvgHEFUJLfWQCfVqbhRwquMOqJaKVsOSyzqKucawdMJzTRAnuOlptJuBVDnGFNDWTPkaeYLfjmDswiNNLgACjSiFBAzqrYuQrUqPCzCKXFROFtkOboCPRNfsGVxvuzwJSlHUhIbuzwMwLGfMcxcjADbaXPJtEFyJXCxitgyNZNeqDLAQxCdVotpYrrlXqyAkimhnxgCXMgBNNZSprUnEMHwncZcYOuDJcAZcUOeJTmUazXXPIZTFjlqyWWEWtjPjRaXjDiGXaWVsgjAZdqgmjijcbMvbMkPfLPAKOzfXIhLuBObTwnvIDGNVapjHuXywaUREfflAgEpsbyvvvqPsrZGDRCxLxXCpGKqdCZNiGJGuUblbqAdeyDaazMZygIGudwlaNTbUMaKSaGeYTUQFSkmCzQmzEFJBovCUfeGqftYzKAmIjCUUzbKVpzuwEEcSnIJWkZF", "CIgciVRCesisGcbBvTiboiFnTqyHlamiyvErLvoloqRNWlKiDikNTkLGtXHTOCEPlShxqMrstxrrDAfbuzGeugtaujpJyKWvUCuWmmpgGCTcUofRrkmjkXerBjAPtXzvzfExWtqfWpQHlTUqQVdIiQbXoYfRjRdbczHHzCtaWCqXczwsekNinpXVIGYNQkanmZluNafmkFQkrnyjWTwcGMtFaiAnbFeTfrSTWHmYVVdmJZwzprnpqPkjTOItamUaiLVrAHQYWrWRQGvHuvyyscrqaCghuHLbhZrcGaJyDMhrFnCqoHqtXhUUIXhoYrWyKygpvbNrOOpolbvFPewTSbgoYDfYMoYujXtZzDHxVOlfcyCZsyCpWmrVzFjmukeBeoBreuZalujxTEJjoSOBHammcvafBnmSbfLVYSRdrTJMyKBKfVQgCrAJQTsgtjQrdCskLYNFyAwWraiPihEyjOpZiwWJxKAdDFjWZPfdLdRPmawSNtRQWSITuGBYwZnj", "BQUqYcUEUFXeBFqzkpctIXksPJcGxGTZRSRdclCjAsaBAvgnMpdFlLjskxhbCjuNmORrfRHGlwGyTrcpTgATecfbmnpwXYfSmnxcIobOJMUBGQvoHIoScnuiajOGPiFLXjtougXbzJBeBWDcwrqMTCbnrDdoNtYZseBFEdbECalfiGkdFGKeaOCKOAcOpocXFHWkRUhEBihdtGBxXlfPetWQLScEvSCtmCwdPniLbQRJmvoJzJauuqZrXshVzotedZIBZXnAUdIuhyQQIzXUEFfDHSKoWGAUxqlfoAHUyeITxNDdTJitIijmhOYBOZFGiVBEnORaTRDUlKpOtKhebZaUOPWioHBViLvvFGXeLXxJLNZSrKIxEWUgcMAipVKOBMVOaSDKkqhrnqNEsgavHQmCSAxxsrvKBsnefiCFBoopWXnwZacgmiQoTVMwzrgBdHCnglxqeUHBJdCkCOjdCgVrKMHMHjwwMICXeuzFYJscGSzqqZhOJsQzRyBAvTNL"],"c_array_ipv6":["ZXvMENdWkJ", "yUZsMfbGUo", "olnztKqWNS", "USwOXJUWpm", "UUuSXgpKpT", "TRpsOCYfJd", "rNwHcRvJGh", "kxPmzHjnmm", "lOnMVBLlpl", "VKoTVKuQjR", "lhkfAeEyjz", "XCKIFkZLyF", "fsgGLgyssX", "bKBTmcXXBd", "nbpTEddEfN", "EMlergJoxJ", "HheOWWoANa", "oJsflmyyvS", "ddFaySKRWw", "UbIPAQCwOl", "byylufbWjl", "veWUWhNVGu", "nhvkjntWWD", "SDEiHQnpeD", "qjMxMiJXQt"],"c_map_tinyint":{"c_map_tinyint_1":-4, "c_map_tinyint_2":75, "c_map_tinyint_3":-49, "c_map_tinyint_4":121, "c_map_tinyint_5":-3, "c_map_tinyint_6":100, "c_map_tinyint_7":-58, "c_map_tinyint_8":-107, "c_map_tinyint_9":31, "c_map_tinyint_10":-60},"c_array_bigint":[-6706149866919033544, 6177042391321566655, -315341349134412657, 834272144936716834, 3172568285810185962, 2091355162729637935, 1202230734377117505, 488426211193813394, -2941907154263166292, 1842009191585059880, -3623495111371788988, -8566671242536481784, -7196666934277474467, 576649151729763336, -8110067365862153589, -3614349902519999251, -5957000024725022960, 5451232736474515534, 4473271783342850796, 2242002582136260071, -4816687220165349235, 5366162740513632419, -1503913791063868580, -503719383023119898, 8512272107889935566],"c_map_double":{"c_map_double_1":63.602622128081464, "c_map_double_2":71.29187613284535, "c_map_double_3":87.19000535596645, "c_map_double_4":34.04070835716456, "c_map_double_5":92.00099480442184, "c_map_double_6":36.26798359803105, "c_map_double_7":61.19060226852844, "c_map_double_8":38.35245914434716, "c_map_double_9":55.63942634987296, "c_map_double_10":21.168141960001822},"c_map_int":{"c_map_int_1":-378837079, "c_map_int_2":-2066869873, "c_map_int_3":-847665105, "c_map_int_4":-587712083, "c_map_int_5":-943878485, "c_map_int_6":-1750684088, "c_map_int_7":-431551742, "c_map_int_8":-1272242854, "c_map_int_9":313978434, "c_map_int_10":1050109081},"c_map_ipv4":{"c_map_ipv4_1":"95.108.193.189", "c_map_ipv4_2":"75.2.199.65", "c_map_ipv4_3":"157.80.94.48", "c_map_ipv4_4":"56.86.242.215", "c_map_ipv4_5":"203.244.84.240", "c_map_ipv4_6":"55.255.210.216", "c_map_ipv4_7":"57.71.78.219", "c_map_ipv4_8":"109.165.173.34", "c_map_ipv4_9":"80.88.227.215", "c_map_ipv4_10":"202.197.4.253"},"c_varchar":"one","c_array_boolean":[1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0],"c_array_largeint":[6826202229679490502, 1171207411929231197, -614239098837931408, -4159110696270218126, 7308731575125516276, 1643132334513358645, 4387142563240103755, -7968144148404809343, -8989791943628285804, 315859465240188167, -2598143176048060676, -2950770526027203829, -3054706419428987533, -3514619135525327055, 3083431127340786956, -3156626325050298927, 4234182015962940691, -4035350325171905679, -7135535650160531882, 7559057132120636925, 4695976675634585798, 8958753079910608684, 5703409549572650359, 848290312274181691, 1419555119336435133],"c_array_float":[0.90088, 46.3994, 55.338852, 27.9279, 49.380253, 90.17145, 33.323875, 60.21274, 91.496, 93.59692, 99.31577, 79.61193, 59.049187, 99.82001, 30.464762, 44.338036, 64.3737, 74.4755, 94.4482, 10.646545, 84.80902, 52.859703, 22.27422, 36.529, 70.094246],"c_map_date":{"c_map_date_1":"2004-12-03", "c_map_date_2":"2011-01-28", "c_map_date_3":"2004-09-21", "c_map_date_4":"2011-07-13", "c_map_date_5":"2012-02-06", "c_map_date_6":"2007-07-14", "c_map_date_7":"2001-05-07", "c_map_date_8":"2007-06-21", "c_map_date_9":"2010-10-07", "c_map_date_10":"2006-10-12"},"c_int":2065634806,"c_float":54.938175,"c_date":"2012-11-24","c_map_string":{"c_map_string_1":"yqCKVPxOYbuJAbFoIBtKMvWBfqvldkslKUOdHKWIWghoHpTZrwlJmSzCFNmxAjgtyraOyPMNnRjokwhmPhBLgMgnOJxtwifNiEJjpsSmcmoebzbjBDjWyOwfmikhmRYSsLEGGPVpeheGvLxGlsschCLxtRkSMBUbxXSYXwBsEcuWFieTBwDjxmhrznjUvExaNnacKylEIRGEoyyjcuzIhoaJgpcFfzPZGaXIxNmOqOXwjGCYouMfutPEGkyYOQRkWMyMRgPYZZGyRvGrmWsdAedtShQgElHMyfyTsulRJUqJxIgnbTfPTBLJJMOSuhUNxlgtgPoQhxJjVZxhKveeMcBVknTTkHemDrYBevoGFLXgUqngnHMZhoiMizWsqxXIIQeBgnadjuJaIVLAGPsQyzKbWqXOHYulRasEsybnjEUGQtuqcOOwmBFgezpyABrdoDgXwgkuyathJhaxcZTwFVZjqSxEmVfOCHILqCfbpVpQhvyFicwhhxIDbRNkjkpS", "c_map_string_2":"oCgOvWeGNinONtGYumsQINnfkmYmWlivwVhXCKMJSYLnPUtNwNDJEDKEalvkDAOAEBQLvMUdztUEITtUBLfGOvrsaFBCIvaHXhDwiBrcFmZvqiqnzEOKoPIEmlHjhjChgUCHmEpWboVyygJZWdoCGOSyroNbGkbSrkphAjrnOtpkqDloZBoEqJJnNoxMHEKElZiiuNcoJOdRKwzySdpVFceUCVpYVptKVqjMsYGrWwHPXhWJdIcPQoXamBPjcoZTRzTICkehZjyviervBbCCJgRcZroHExmBSLqNOaCEapAdUjXiQPDMAXMLFxHkwcwnGWCodNgURggSqQaJwvZWIFXcTbxMDPVvWGWhnpaBwjaCSutIlzMDzFkNayyLntirvktfbujrZljaSWwMrWusfhEGlzztdlWTdTmkPwHxtuPHpAIhffuLfNHTAmeBiIhXksgRZkyxblUXwRLSeQflNjIYyGobECWWpeUiwmRcawGtGTbWQshdNtSCBnPkiadY", "c_map_string_3":"CWefllJccgfZSrCPJDEDzLKfVZIcWZLxbGGKsYzwwlqqHyqMnGhnnFUnoNSYJJHakBiFvODKuOrISFLyERsKVYNhlcgJAuASSZLhODcxGytNutMOrulwLMfeVpDaUyUhYlgojELLrSzGKHjHTdZwLaIBcvtzrTBmpxthJGXprfxDaBsuvMGFoBYHIhOKeCFiSLRaxyDbUFFvMhRPlsNdxezdkahQMmmwgFWVwzKNZCXLKLVjQbtEInArtUGLMhzhsSLhkZsUCqRoDqyVxQdVbxPBudPfrlbnYNiLGxWIQtkuAEHVTWDkFHBkXefvcOSEYAdrtmtIJOOUWpFxgXzXIoHNScuBrduPRQolElrQeHxxDbOSbwBuvyalkcpQSKbNbTYcaKtbvMSzoQNKxKQWSWGXamiLRTOUJoWiglgMjLROHFDWrgGcdhiTeFisTpZZiLqouqFCKNXDcydOmyvQoDYugRPXtKYvSPWBrUWpgEswulTHqrYqzXVmNUsXBfXm", "c_map_string_4":"VgGxDvnVqoDuUJERcLqoblkIyHDAQOuCqYqhRQAMAaUDrelUrzIxaVPQIcjSRlAakvnsOYHINBHzwCZTQDvjuPlZQGCuauMzpILnMLcPvfsfYeGMKkJndGRQBQEJddFPgAbgEFBduJKiDsESQRLLOROBGBiEcbHZdOtzwZHLdjtgnWbHuKzgUcjbdKbtfEQxmbyKVBoklaGOHVjbDJrpOiXrXJMDyGWOEOqIKSuKJbDmXWAjdGNkHDtLIevFNxISkTBHYJpfhSWLrJvhBUSsZIBFNAyEBzzAPcZjaDqrPdfOeWRGJvYrIKenEOAfmXCEVwwDpqlBZCnFnPGqBausxMfOIaEeFPxbqwcwPruANSvrzdGbccALaIQmgOghPGZJJNawTvgzWDbvluCeSgzubWYMjBwXDBVvybAmcYsEMwSFzSiJnbsHDyZjuGpfIPnPeFRHdgEbBCaaPOsBHbKCWJqIaGQvccyFRSaaiNZaifDnHAoMpTFrBydjesalyavd", "c_map_string_5":"OnjzrqxPffzpRdZcoCHXVRRBNSClZizKknWoCwBKlgmasGzeLpWmUsIzZHKTiZENdqKvhiwhFkEMeFWwmUwrBHvRhKgCGRniPPStmNkorJnUpVNzcSSplnLiHWDLKUmVtpYnLHEoYZEGgkYXPGSFrqxFbJezZjgkCGPxOSAZtevZYXCKjLjzHgZVOheaRPLzlTPtVBKCaTApFQpQOyJqGaeyTFrmTmGnDlOfqhEmiScAALbwcFhPNwwtMhOIvFrzEgoJIipaztHznoxkExperbPfkkcCuRbnqxPyUNLzbPDgLWwRpRBrIhOgERYIDpAhkyOXIWsxFIrvnDvGJNnVSXVZSlDGYeHjhekZHnjYetbdVblivRFtzCgaZaDViSOHolCVjdkbmPiYmRXkljUfrEZkoifQHDNTmrsDkmWSfFlwOLDGZFporHdjvTYzmggKwDnonGCGiMXGsbVsFqmwvSVqvorZdcQuAAssJmbpBqTxMbcLiTVVIIqLXZkpmgWD", "c_map_string_6":"VgcDwfvMyEyHObcIlytWPvOnmrqcXyWIyBzRJifsJqWVsAXuSnPexEDzTloCPUKFBjSEEsKvjEtedMlaiFexiMalgkAcUcKJDbqZwdEISHuCWEGlUcyachubAyGoyaNWexnQDwLnNzmBZzSoLTxJMLcnpJSjNWQqPrVQUcOzclFBZlpmbVOzjqOQaoReFofJMUBxtrCeiADbzDnBDufWcztajJhxrIDDlpEJRogyxTOyBKhuPEvxhzejwKYBvyLtOAqxfuaObekDULteJovbeIcjpJXVDzkuKWBXOmiEsBrPfOUbqlhjuHWZppAuOkdGGDGrDCGQGJljczQVOWUFtBqoNQBiUsyGBJKGvffYSFLPKSQJGwcXYJoqAHlxviARoxqCJiuDRTceUaUMedjNASyXTJmCoKECZlPkxfRAhmiCWiTfkRZFuvwowxeRuCzOHJZsKFAAmmAvzSqqmKmbdvyKALKuWxxaWPHsodOZkzKzIyowIGMJFvmsnVSzadAi", "c_map_string_7":"EZXysBKGizUqFPRZdzoIOXzzSPlIdqGqgFfKOKoLIraqEtNdGMYHZYCQwXmpszXaEHphSlPATyHdTGcVuMGRAsgRUUDfdAJSblOESPvyNyQTXiktVFCAPejlImzILCMkEHqtPcvggCASSgsjSDCVVmtBSgnRMnZmpABmRXbQAvASsldvAsbYMrmYWYfhqkHONwamgTELaolcIlGUFQKILnBIdHMldlHmPppVVbgfnHffmGKVsLVAmctVDvCKQvCtGfowcMThuRSDXLBLOzcIZwstwDcpGIvdcPkGVcCWZtHpcTNkFVkSJEdavTYOQReECCLGyFiUVfEXJNIAglUioVGTQeEQFuquLMxnkMsujXJgoHSYCXbjGnXqqGvaYzHWzaDYgCKIKkLaqWBzqIFKgkpdivPLWpqsRNVlDAxdMBrqwulHuTSoiXCsxJErMOEutcIRfXFOKWYvttvPFtskNNQWoxgGKjTYCGXpblRftsrFogeQFUHBpDFlwWTWWPUI", "c_map_string_8":"SICVbTscOfCvltzZquNrlOuekizpvBbRiwKhXOxLEwTzntUZLNsywMYzBVUkMEcHsQMeZygNPbGNCglcoyyqiOZyqNcddlyfnVRWPMOsjkdgqzPdrqJUvxhHLIBtDHmrcOmzALFLJNZFbsxdLomQsmWXErHJpkJtFDriXiuCxImQWGeKmbGJOBWKspuZIdFLqCieAlSfGoWpLdwRLXVmqxkCDBgSJwhcXaVUajksoMgqLXUBXqVjNOAMFSpmeEsmmcAWqZYdbVIjnZXdWQSQJMjkkDSSqbLxcwCxVZZbGmYolRYVSxQbNcwWgVdXemGniipPTtawzueHAqNtvhpyTaVozKscsvMXyTEhdbCVzXsZlGSfGgBFKNPOLvvgAgNZlJWGwTrMXKwytTsZQrWDMHKdQDRtxJuFxrwBPWmwfyALRJBskGlagiXIxYmmsiesnNSRiIPwfKHAUMEtgYuIvpmvkgAfgHFpzrtcOgdXuYiUyBIpXOcTmygDPAqNnMCX", "c_map_string_9":"TnetBrTYsIatDboYMHXkFFtdDtdQJvATWhNgRAUZhkbcSopLIuXFhcRYuxqSnOnMpufDxMBxLVwAaNjnMbEeNWxTEOAjDdHhsKTjnSpAEXDKoiWDwlAHZTeXANJILlmyDTRXsCeUCdgqFzKYIuOBwMzDdfCAKJUFeqBXffOTsYXhrovSDXHGtdcsTlzxQmXOkQfsnIXMNJNhfoHZENhiUgHOIvSunFGjowKJZJePJsdXjXZtelQHCsIBQlzTnzPpHceOjElheeyXKyueBmIjcYqQXQQHPTIvboOorsSgFrDbtnksrJkLlGCCItwsVVOfwVZhnYpkXnJvEAYrwmKynAnoqGTzagdVPVZrHVcrKBVfOKNnqvLkiZpdGeOpzHcZlkQklCufzaGgodGVknSKLHUVqkEfgnvrYDBqgBJpZpefbGutKMYUTgqjikiQZeyuehGxqikedJEunIkWGLcGzfTAhLImmcHCIAxVoumUzBsBQPajThGxsVHBnBWkaGuc", "c_map_string_10":"RXHbWDzQhCFMijrDzSnjQMqLoBlEGHBqzbjcrWrZIbSJeYAXHeGCHOGjIfpdaCdWQKSUYsRPedAapMCTiVAjPMSYuzVevFJorwctvzctWFJyVcPoFayuCxnOEJyjMTntneEaaDynUdazxaBYAXulUilkbGUOyoahzggocpiIlBWVuNtNByMUxNlXOVGddAENDJElcHkULeiQospzJkMpwszgVtlxbMsHymDwufrLGGJRkvJMRLSWGKELezjpiBzuDRyCCtgnOXZOyfBbuVjZtQsMemBwCqKEyXHdxaBSqhTUbyKbTvekxAyKWHUzvpIyDORMmtBxwMeiyHFjawHlWSSAqTcISWVFIcpHxsFXvsbpzoHdNaHusrUBIfPcpdtvbSolKmPQFPztFHjdDtXQAOEABQPRfJHOSdoiozHvNAPKFhDpYkejZophHWYpZKXmVxpfKdlzVmblhpbXtKdCYUjQQcumGydFcigQpNgjgShhZEUmMkdIJHJTIUKBUqMQ"},"c_char":"lskoRwloUj","c_datetime":"2009-05-01 16:38:27","c_ipv6":"c692:40e4:ecff:112:21ee:1b16:6309:cfd9","c_array_datetime":["2018-06-16 05:12:59", "2018-06-04 16:34:10", "2003-05-25 22:59:31", "2014-09-04 14:21:48", "2002-05-25 03:41:12", "2000-06-26 05:17:58", "2019-10-16 17:51:51", "2019-04-24 21:03:28", "2002-08-05 17:07:38", "2002-08-24 01:28:42", "2003-12-23 04:36:49", "2009-11-13 06:18:13", "2004-05-22 18:53:14", "2017-12-07 12:01:39", "2005-04-17 23:39:38", "2011-12-03 18:32:06", "2002-11-24 21:15:30", "2019-11-28 23:38:31", "2005-12-20 13:34:05", "2014-01-26 08:27:48", "2009-09-07 08:11:54", "2012-09-25 03:11:01", "2013-05-04 21:24:27", "2005-08-19 21:46:32", "2016-10-16 10:25:46"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_decimal":{"c_map_decimal_1":89.1483, "c_map_decimal_2":89.1919, "c_map_decimal_3":23.0579, "c_map_decimal_4":50.1083, "c_map_decimal_5":64.1207, "c_map_decimal_6":18.0274, "c_map_decimal_7":56.1686, "c_map_decimal_8":95.0324, "c_map_decimal_9":18.0247, "c_map_decimal_10":20.0288},"c_map_char":{"c_map_char_1":"mvVsmuKhNc", "c_map_char_2":"bkPenCDgBK", "c_map_char_3":"zoIguGRjus", "c_map_char_4":"ZOxlMHZXqW", "c_map_char_5":"aMNAEvtQPF", "c_map_char_6":"QrTjaIoxNy", "c_map_char_7":"XPzoPRbTrG", "c_map_char_8":"cebuyewkVX", "c_map_char_9":"RTSBjUTueW", "c_map_char_10":"eqQVMelwzG"},"c_map_varchar":{"c_map_varchar_1":"LDHHPggegMOTYtHaSAXGPRseOQNlDtYpmaKnoiEbxjesavVJPZdswLgHWwhGhvWwtXkbKyHkJcnxXCFgngsqedVkBrBEGWdnkBibAqASGbRvIgRgdABwWvYbCVMBBnsmwxSftVSZoCrkyBPqIcxQXbMScxmXDfJNuTMZpRIVJLMOIGyErzKpFCPOMfhZpNFKYFzLxAsHPRPMUegeLBCvUifprIwlgrvHdpNCvBGORPHRFkCahsKRltpiqwyCZJiT", "c_map_varchar_2":"jjYXnTfmvzVEETnnAHSMeOQojEwvPldzESMjDbfATeYrhpSmatAKXcQqOcyeVwcTxEwMaquUudhpnPGatvtVIfNydzGeIeUtzqhelaMawsperdcZnTSwecaxIhLrNFpTvcnVKFITSgYAzdPnOLbCeaGioYtRnPapbWKnlRvLVCnRRhhqQizNcviJYydiTMXmSuGQlOKvgVpkJcdJHvtuQNIbdMINsziHVJPwLcJyXszPykmdxFuVrQvKKevmkqyF", "c_map_varchar_3":"tfprVdGQVQlvzkDHPwDPrNLnVwjAyPvuDzqYQrJmYCpWcGZodlCLQUccULArGcWZMnjPajDfIRfQFqIRkQenDxApVgsJMCmbPvArAeROGtTmXIozGfRUOvSyoTgLyruSimoRfhVxvFwBnoMFnHsVnYfgDIzxSjaSTxpuDslsrChAOyfEWxPvaIcxYbZpZUicdHZFMbfeiLUnTkEqNiDMGhxFLSfAvIMUIzXOMepjQqgEActXLqUWuxoNqCvEGFFY", "c_map_varchar_4":"MHDATGqtTWGJrjAJUhviGpowimIYltBwhfwvazRSYmcbzpCKyTHMRnIYGbiIiAcjBadPPynlJUWhEBJjSBKBXoIzOWYZDHNifLzNUjDdjaKpTeHDyRPDNOZPrwudTrutdgSBUKkXekJSFDxWDusnKQsPOwcQBPCjbQCfOhYuGCBwkHcjOVyyuTKIfVfQRlYaxfcMFEotPdhjfaRglJBhStpKnvaZtSQgKXWLljgMLtJDSTUDaFvXMZzLDfsfrQLy", "c_map_varchar_5":"lvJJZfKGlCRmHydgPDdZwVBmWSjaKACWsWtjQfwPqTzzXuSNqWxcMqnWZbTXBmJgupZUTjbYtcZnJYWurLHDICujZZuPaiBSYhUonOYmXSfNkIPGutKHTwFbNkSwdwjewcynKuKSDodaImxVCbvATHRQdStiSjHraROtMezHXlnGSyraZnXjtnLiQdSjaclKMjPpEmeMIsJlqexBhSXLREYPozCqRnOpaQnFOmaiPkVutTHYttYAnYDKUPZmuCok", "c_map_varchar_6":"VjDjSDnbFHPITkoeGBDYmXDODPZgcMNWjRCRXJkLxUpqSACCoSEoQLbLEnbhbstGQNZxIEDJcCIzuJuJkFaIIrTQhykDovajaJAPsXIeOEvYnmLEXfMqTXXrivMiYGdMyIuSNaoPXIvBFkqqSIAZRaPVojmhFycIiZJSvvvjVzhELruhWBTHrMMXcAujJVSLUjfCsPTTdEsJZIMPMyqdGWMAcKtajrmDvsaelazpoLxkIvxWfgqbqRJUDVkOvKWE", "c_map_varchar_7":"rMoKHrBZQdPztlGvcNKjzhFwZIKYokozvrVrgDLJZymggcgyGrUaAYMPOlEwRmwobvEDHmsAoIOeAVEekXCmcvDqImDvWDeVGcRnBLiHMIEASZIJmYtflnjgaNMfiJtuclSFvMJftegQZJHEXuBPhRBGaXPRRFMFDQKwLdlkiVMGQmiGYGZRuqNYyyAVZvJJxtYiZqxBlwhbnzdRmnjPMRrHpTbhdkywxsEDctJrCAslttnEIkLrzYONoRdlfsxe", "c_map_varchar_8":"uQXZryLxJStsXFsniDduPczspIpUbLlFXoCsPnzwkolhKECgWinpfmUXdyrYAMubaXfWvlgcxIakPhrEoJOVuwWglMyaZfGYqRKcRfJGvbkCEremmRHOjMNIeEiKYGpjQEIrqmMUIrqbKDNHmESBycjndKisLcgXRRqvMyZanIjCTUjHHYhqNxEChtNNgpNCsQGjARFVcmwsWzYymvqHUaRSLwNUgiOPzWrUjYKelXUkFyoLEujYWaIMWjPgupWN", "c_map_varchar_9":"BJAvCJNiuJTnoNVjxYNdfhmwnWdJZaJkqHDeFlPIVpdgPzNfFJyqPYYhMfsUAesCrpyXwFdzYTcOiQsevmGQWeiSEIsJVdeHhuvBAfPSWZnrDBQIjcCPweNHiLwRYYOaGoZRQXJSrXNiRruTKecMTDPGyNqoAjWjmEEhREzSnfuSyqJTKAFahUZixZEBXPwBlaeQUmdtCcvmwMpRrYNTaajElyJvhGqsHnuNJbxvFNPrEwBGdhOQQruJlzROLWbv", "c_map_varchar_10":"iOCEmVVoKJqQcVRCNDfpfzqHqIWgujztpUlsxtQRxUmLvhMbVyjzyeYNByzTxgLRlQiRIpcnVFAOyxwEXOPkEAWniSflbbYznuaHxYJIuffuzmFQohlKkSHoWDhQdCeIdNCHIunZCanXDZMaXHpRLsVWPMcOlBVrhdlXPrMVDyGALTQShvKJOwrQHRAibAppRNmPRObhIKprQWnBztsNgvkSVgvEabmqhggJfzyyivmutbugBSGSAnhlokVsGmMU"},"c_largeint":762285934960143780,"c_array_tinyint":[-118, 77, 116, -26, -85, 109, -63, -94, 23, -19, 79, -56, -61, 47, -88, -58, 8, -68, 95, -50, 6, -4, -128, 51, -120],"c_array_varchar":["xXFsBvedkUclEPgKgoHiSrAAVCXTJDfgapOMjEYTcYLodGXSGHSWNQUweWhZeOlizSjRmaesOMVsdgRdcntnEypSFTHLxWUuwAieTAsobUQwOzPdNaDWNQYnHthbpcPZaJMqBxajMNsgpNcreoZftdnAOVsdwuHWoKHYEgVWpsbyfZTukfxfCwwptzjnRatmaqIVmxktVwPjgahkmYRsReiObRibfWSdNRCXVOzuCUwUzelSyVatAFIsVgHbVLtW", "MYtDZEOYoqjvZSVYaUAQDNobdfuZgFQocbiKdiqAeCqWwOyBRrlNZEJeGEyPJJpEZMFbAOTmnnCCBtexxYoSAhovTjZdkAfcuVxkdFJCELDaXNZeCrSZgZGuEScxwWubxQrtjnSZGeGxzIqOcXjfzEpzyvUCWFqmNFDeIByjDCPqvgVYDZjkjiWpvAjDjomzWwYnYdhQAFsZqSrsguNtlmoFJkBiNRDHArqNctFxfWKBwdOmpStDwLhteFRAuCuc", "mWBIjzoxLMwQfpOGATGUXTiYdKQEOVAUyFqcFDebijRQaOptnsayBlJrgTFGcUgcyDnDEdvLkLiYpxQjRfRoiTlFJTInrgDlNRWWgOQyEqrpOwHWuzvxqGvohhrtafMICFEzsyATJgzlktnHMoKeWNbkdUVzndhRDPmEAQDbVFJGzXGqMlRticRtDkRlJEsfFSSrPXdxFEfDsQRRwDCChUhIhIRKyRsZJwuaZbFCLkjDxqYnIzwBEFULUyQddaXr", "bTOAuvLsauuHSZYJHBcKakENWeCGZMccysHgVZhaTfAjciYulfsglYshfgeevePaqiAEiDrsnQMZJxLBZtTpkOsKDsnkMETcXcniEJDMTnkDjBlpuBocYruKaYUdGeLOkuJFjdKSzfHgrRaSdIQiWoOllhCokcaWPGZrxoWHGeDMPCyGQlYxLhizrOEbtbYqBdgdSOKCESgpIIUMALWVCtmTQyTgglWBuDjVwavsQgrOfeXwEmqudTceyJkqbEaG", "sGTMbWXvjaCliJaJFZYDrcxHBgbEmdPQyHlXJUoowkVzgodQsOPtnpanNfBkZOdiBWLZNauNKczvcCkAeFFphVrrdClKfEUFgOPzMYLqRnvleBXRWNWxqTlazGVAdUZafmhgMRlqPztTVfvfBfMEwpWUvfRoWGBNzGPnKvjRcxfSygbdzyzWUOCGSAjkKiFVFppYRcmLYcSlNzEgXMZhfpPvnWauyWbTpVqTUVSykfujqsRUTtflINLOzEYMJgfk", "iXpimiLuryWwkZdMbHsRwqXXfVgkozdpSfuccjVqiXgtynFVCwGhxyCeumndkAGXZBCDIhCdCqWZoztjEXFUbIjwtDzjPzaUeVploDraaZCIaPvGyJFSLPHVrMFjBlQsGqnvZihCZLCaQVyqguDUVYDHyqbEhKYfUKggROWCvPaDWcDxUscbAvRwfbVniUaLMDCmoBikbldGyjfrpIlKuPnpmGmQLCLBMbwAvCooFHtowKjShadmOsJtVbqltpTt", "ZfsEDSCWgaEuitwxWkdutsMZpfXfskQGidVuRacDEcCImflxzafxuuGyugMCwnwnVYuUAqupXkJkVypgkSFmqpEBaPwjgrlhXsAJgvAJVGxkIBQwlNlnIpNlPwLrkGTQgzdMUioWATPkYQZrlTsvbiwkOpcHrbErUBVNQISumvDsAnZfGIVqulLTuBKbhnrSwvVysIRBWBwYJUhANgQTYtWHSZbBPKxitQQNJUkFWdulVBuJPLZjluhtAXUXxpcy", "qqPGGQTWWqdgEMGOZnhMrNngveDGrwAPVmZzxapYtvElwHPMCQQXzjaJnbjdlTyaQfYqyqlYKWyUdOiuxDBooCeENuqVjVYfVNfgzXOAsuqOCLaHyiywRSCiXtGgAihIYshmHdUMxrADpsaOXYickXiFIvlXaTjHiNwuQmiNjkQcLcSlRRlxCsRUQvVWBcZCZtpArKHVmnvuKHBBHmiCLDlGTndzqkOUwuOzgEhZwvJEUcNnjbdVOFOfcfajfonr", "TVnkgneOmnidnqtBWQRWHmGLZZCLatNJBycwlNzdWmvrLDEdGFGteXtkyxjEoBEqtYMzToBAHVFtKffocbzrVbKbmtlFkDmbpLpbwduMPegeOqXDneZhsutBTljjQxgtlCDvuLVvYKryvYEAigvoyraWZKUKYiwWDoQpDZGEqnzovEnzjfTuOQmCqzQkLvIajplArzBZGZCbpSbjrodiMIjxZaIfEeWwhbynvGpykcvUunDlgxsaoINyufrWzJtR", "DKXfBABqAbDbepctLmunlaUmWwSgxsplvmCTMtbIoqyZQBIETwFxfKOwDfNXUVEzmADOIhRIychRnRdusbNnPEZkAIYfynYrgvQGNeGpmMtIYBDCzpkTXraWJqgrmHlnrlOXZOPraZFcrmeugQMUDgqTLEyLEorCvygvqZPBiDMATITkACCFWjlzqFjRfZuSccuBrGXtGgoNjGlwQciNPJZTFMfrOuneJJCVovoIezUXNETYLWiBqttEXnuQnEEM", "TBVUjYHDyYjDibxwHUYnAcwaOpRLZYhRAysJWWykfYrHALWlmmCYrJQugWyfdaQdRYmUhAVDohJJBrnivFVuKjeswbvGaISsDEeklOyaRUcfREYsQlFPnwYrhRHAvWSfNflBAWuGxcOCnYCpPLNmzOJaJImOZXjDknKbfBNYVDeBDMGfQLYqDnWgmLOxnEgopFOmexYwBnjPDCkSFfluMdbGjFTrLzQUGVLvkuHvMycVqFTOqagCHNdagqKooKbY", "ZhhKLKDSOvYqEafTEMmUfwXxgbNvEwlOHaFtrilDZRMABKfBMiFoeiNnnLMWBbrQUKjWMUxRVTPpsYTgqHqDSUthOadEgDMLntrkhekAPbTYOFlqscLwmLynknhELtnfNojlPCAbeqmtYseGlcNtSMNEyAwfcGmmdrotlwXSAjYDTKYXMDiNMrnFrcfAudQdPnuvCldjnYkmBSzPohlhsYPwuPhfiLpwSczrsmLLVcEHOYmxYcJyhpMFUaFTqynB", "ydbNruVHWhpdYdxpmULegYCsLtMnrxIFomYzWzacWtBGOOxrZjXDnDLIaUElgXiGdZJRZbGAmCZVkJcmUZmqvsdZttXyKvLzYbHMIJiUyhlDrwTqWIQqMoydEppXPInXjvSgQAQmufksMMPxMQKCYkYsVSilECrwDyioheBKXeCChnHAobKpcCXUwxQYquJhLoPwDEGnyPbSmqSOPttOeRjycqdqxFnDaSQHKeMENWBYCpUtENMJIOnUSsixxmDo", "AfVUXcTUPCNJESeGdbHPZYmilHDJoatkknhKOxelDXvhzCSHdnAOSPWYxBTRvwWeSdGVvLPJNHSOpTKNLZxGqiznydGVgIbDWtmaFDaPxYbMdEzsraQDhPrUsrFnnnErUHlpPkyrCOBitkfGvsOdplKNNswmTSDsWGIJZeInUUCaqyqLadRgOvOrPtFUkIfmYRaLhUNaDlNwemMXzxvUdmcnZrDLrCYwmmVmvWbHWmNHGJJMWEhHNrstpQDFbwXx", "meOXDkzyuxGniAOvDGlGWytwdpjzZSMWdpKTWXajyHgnFHVwhTFWfTfdfOMhXksoSrPMDctkBDqsHeOVvszQoXTbKCccFgwRCATiVYijXAQwdsVwMqekxiXcJemwJhEzsGNUwwEeiCiAbOCEQsXZljZddjGTBxozMifXRfFbfwssOnrZqYyRdEmYQKLESjvLHBSfSbXqcrsDISbvishQmZUcEMUkXtfPLfNApGUtXenrKRfDZBAxmMQTBfPEzCuG", "EtdDoFQZsdQienpZqwtfTvwtQGtboYYlDPATPVQfPkiWNhgIzlQyVqOQodioCUdIzelQRUUXBMuMXTAYRSyRnTNZUiSfkJUmvULmWGlhIcBCswlYsdbbJtHbQfMKLYxZdwzEhLercGpYheqmUdClpnFrtplKUAVVFXcegojOiChCGZytHIlBwDDOjcPjBzdMENCTQqiVoRGztSgNyVKuyBtJQhcMwEHCNqwzZbGjXdDZlvWDBHJtYdBYJjBCOejL", "aQsOaoMmHWiyhXFbJmzjVydLSYdUsUFQHcLDKJcEjYEpRKXHEGByRzcVnGDHHojZEvMwAlQgIKltAfwXEFTOuMQOeQHsqfGmGykWGYeaVewNlifHDtjXvdrXVEhguHQQrVZpONIsQlrLMGCPJwtFcuBIPzWsvvwzpYSEYRHMPmNuMPUPERfAPNVqmSzWddGHYMYbdOEpVyItHKiqENVGMNIeZvHBJrZVcapakeGTrchUJxNfRktAHtWFYTuZfnBg", "OmGztaXpbKxGvTSZLeJBwftKVOjRmZRcsoNrxjqpWGFXfZMASVRqpBIuurDDKZuLSUUmOvLJMXAgZNZthgwJqeFKgMSshIacjiQBwkaQmHiPKnpMcGPmJRcbKImkkuKowGCarPZusbLvucNlzuoPxbrYMBPvHErauUrNvLZObKahDpBTYxhNVxsGmVqstFjUguUlUtBnrIegCccZdIHzIweINaKrmMkgTBBXkHWLPpTkBWwOgjMppjwSlTkxoRiz", "rujoOSwHRBimLFMeefwQCVrhRBsNSWqRQStCrabQcPNnMGKbjRBtFgdkHmpDLFXUKqQXRCujSnHIvbXBBffhPbAntiQKpVTVNnnKeCyJwZBZsGfMrwLllOFOSyZvaBGtcZsXhBavPXwrUArnMKCcWPwBLiyepxxmcJTMcMCjFcjeJqYMdgDhoqAchyDrYFoOTGshXQhIlmfbCdIhKvOyQeSnrlaTlvhUbSHhqQppglEcneZnQkRZWOEHLjfSdKWH", "wbdgahKnQCgRnIsRBNlFuLerKtolWORFuaTdZXpegzGqrdDSpsroWnjXlzCOPfskHwOQFBZgKFLNSBnjlAzVgpkbKUiftPqogqCJLBybvNTOOTcUTbnqJTGLfaTTdYGuFuYmMjqRGJhgesYAARmVjFYvQrLbSVrYTRZANbclEmaabnxzWJHzKWdZMyMQrkEiUJgmuhDhSGJWyPcETrXvkVBwsKAuoDQNfQKVrElTLHByOucEFGRLxvinhRVQCVPq", "UMXUEVjDZUruneIDYBBTfLaPdWFQNNUOLjQEjxNxUOvdKcbGnNyjvuRpEPxUzqNUkQUnhJbZxYPpEgYFaFTJfJZobWxVNQgxqijGZpiyxrwyCsyVPVYHlYoMgVTtduyoSXHUxowdVQAodrdlmIiDzvhtTGKLToQeuHggrUveEqdqBODdUfuaTsGClnOkWxJeqbkWALrNPJTKtJkuGNdXrxTvbLTWrFFCrCNeTfDnXqytmHXhEXBRrBnFDovqVvYm", "PswZXulHAafioyXxsJGFbgJoHgHaxRHdgOqGPqpZtVCnuwSjVSUQceqsqpxWQMcAonzNcxfVUogYfetVIFZlllcUoNyylyDIPkMTbOAasJEdIRUsEAbVprxjJfPtejxIyqWSqGeVzZnTvXnQjSTfNMhzexkPdoJwPtrvjkssXEQzsOMoKolczHhfieUwfsbLiKlflhTfdJLLVZddbtxqWuJZbtfXOLTEOcwLEtSWCiSaaQEwSxgGueFBQLQOdKmk", "pKAVibKepMBozckxMHNyyFeryAaeCmpVIKbJEgmSDmoFLQYAscLXPjzrAYpDjFRzlzfsihbwUNTPMOwQjIyWrLficuVVmZLbAdNNqKedhKcqoldeMoxTAwZDqeAslbtcwOIjdFzBAVyJdoGdXZVRPnNDYJAlwdnFdOWFNQAXSQmWSkpdNMpszSHMzSSmJVUtgGBBVlTMzJTPjxfHpJypWDXgGyBwUEdBsyDzitYRCOqGYSnzXaurZsuuZCytqNUX", "PfbyakvnxkfhZaQNgvOuglVxVvqwYUxcHzUeDXqGvbpHgoPIyLcLJagxYSeOWpZUhmMYWaovAKAKYmCIwfdREmEALfkVbnaNBSpoDzwSIYSAvbfFyPGCTPsrgjPMfMkrKsezeUWfoGWuhmysrcGkFqovQKTopdMqgeXAgzrXuDDvOIWdVjszBucvCNnISLOGobxZyKdZhTINJUifwViXCGrMizdLracqXOgSiIukZExKoXJwHMwXiTkPPSfVNwyT", "LGnmRBuSzHUEhUDwrFQvnbvESxFJmhLkSXCeBYIZTBUcNdJbskJwgtaYKeQmByarrRlyWAAlhJgssEJskrwYHrXduUuwsdByoTmbCSrwsBjUaZonToTAGGgYyhxUsrYyuRzSPtONgqsvXiuAMnFFVWPdoeHhIpwvWNQMdTeHijGWRlLjlZpdTsYaBpzbUlmCkBkHEGVHmLKWqDKxMALNzAdzOCbxJOajTMQpbNnRrslmSwjuycESjZnRprysOnOz"],"c_array_ipv4":["uqhukTgJWS", "bNMxMrGOuz", "AdpKZxJvUs", "fEwRZxEqlN", "DHKpPqrFeY", "IpwlhNLWWt", "gFmnKNiQlS", "prXotmdknO", "ZMSPzYGvlq", "mnqcXOrPGI", "JOSPEeSUyO", "gvoMjzMmle", "OeKneUYNNN", "WCktpzTHQG", "ReyAVuEVsy", "niCdLxVyke", "aAitMfcDoG", "hIwkrZOnDg", "EKtCExWLkV", "tpNLZbKuoZ", "UcJFdSAhgN", "BWPhlhJmmv", "pkzMqKdjxc", "VDOAFfWUOA", "VnKfjvxQPG"],"c_map_datetime":{"c_map_datetime_1":"2000-07-14 03:04:17", "c_map_datetime_2":"2017-08-10 02:30:46", "c_map_datetime_3":"2002-01-19 23:19:48", "c_map_datetime_4":"2002-05-24 10:38:51", "c_map_datetime_5":"2010-03-28 06:27:38", "c_map_datetime_6":"2019-07-03 09:25:59", "c_map_datetime_7":"2018-07-06 09:02:57", "c_map_datetime_8":"2019-11-20 09:02:01", "c_map_datetime_9":"2015-04-27 20:24:33", "c_map_datetime_10":"2018-05-28 22:22:53"},"c_map_ipv6":{"c_map_ipv6_1":"432b:9c58:2d08:f8f5:c987:f381:88d5:8312", "c_map_ipv6_2":"1f4f:9e4c:b074:bb82:e0af:1bee:2a2d:b484", "c_map_ipv6_3":"ff8:5108:35df:fdd6:67d8:8e72:994d:1c13", "c_map_ipv6_4":"327b:a3d8:8ef3:be2b:1b7d:81c0:fd70:dcf8", "c_map_ipv6_5":"166e:27f6:c420:9e4b:abc1:ba62:da60:11f8", "c_map_ipv6_6":"3870:8e41:f6b6:c4e7:b265:7e64:2793:f363", "c_map_ipv6_7":"fb69:7968:2c51:67d4:deae:8b78:7a10:ee81", "c_map_ipv6_8":"18f2:7df8:ef0:ddbe:981b:d699:849:85c8", "c_map_ipv6_9":"bb7a:a101:ad2c:856f:c5fa:1320:1ed5:53a9", "c_map_ipv6_10":"7ba9:92a1:a8e9:e0a0:6c2b:6c5a:e07:ed87"},"c_array_double":[23.891354438719432, 85.40710172626508, 69.31750774166998, 71.45199708893584, 77.8567855252827, 0.12773617943403123, 45.92068620464679, 94.72503962615579, 9.053068812598788, 60.030059257535406, 71.13815977588466, 85.94840367489373, 49.97469634903288, 57.23481292731121, 22.900844452825147, 35.79195366806326, 65.04363271234214, 64.79368691093234, 14.79108861220619, 87.45118956117959, 44.794379128218075, 23.126372240482592, 75.36714201485667, 72.32022429111342, 79.7610817366416],"c_array_date":["2000-03-16", "2008-12-15", "2005-07-21", "2002-09-10", "2013-02-07", "2018-08-23", "2007-08-27", "2019-01-21", "2019-01-27", "2006-11-23", "2002-04-24", "2007-04-07", "2016-04-23", "2004-03-03", "2000-09-14", "2010-05-08", "2014-07-15", "2019-09-05", "2016-09-01", "2004-05-23", "2009-02-17", "2019-04-20", "2008-09-26", "2004-11-27", "2012-05-20"],"c_map_bigint":{"c_map_bigint_1":-2300724513414893364, "c_map_bigint_2":-6098627858935663347, "c_map_bigint_3":-7815743917420233449, "c_map_bigint_4":6689500139949903312, "c_map_bigint_5":50575177297547522, "c_map_bigint_6":-3569846574522454361, "c_map_bigint_7":-5844497144808218757, "c_map_bigint_8":2708200408153682950, "c_map_bigint_9":5750331968546691210, "c_map_bigint_10":9006616074121012635},"c_map_float":{"c_map_float_1":17.514711, "c_map_float_2":15.22406, "c_map_float_3":22.902023, "c_map_float_4":60.513218, "c_map_float_5":8.559697, "c_map_float_6":8.766886, "c_map_float_7":46.64102, "c_map_float_8":88.392975, "c_map_float_9":77.74049, "c_map_float_10":83.33536},"c_boolean":0,"c_array_smallint":[32455, -8907, 25598, 26069, 26855, 5356, -12023, 15887, 27213, -17609, -27062, -9628, -10827, 30768, -24764, 20275, 32166, 8142, -1558, 29753, 3103, 4944, 16598, 3850, -12171],"c_array_decimal":[41.1128, 9.0822, 32.0158, 21.1967, 47.1161, 35.1921, 56.1280, 100.0509, 58.1206, 32.1824, 6.0528, 57.1168, 61.0495, 76.0256, 85.1785, 47.0788, 34.0367, 70.0929, 33.1326, 81.0903, 35.1208, 33.1116, 18.0600, 11.1478, 29.1812],"c_map_largeint":{"c_map_largeint_1":-2305698348299563484, "c_map_largeint_2":5411473911141264140, "c_map_largeint_3":-901935086207143910, "c_map_largeint_4":6192247174599673643, "c_map_largeint_5":-2904315340057192362, "c_map_largeint_6":8265360956140257795, "c_map_largeint_7":2464667429047617293, "c_map_largeint_8":-7232050370572085993, "c_map_largeint_9":617466526984500510, "c_map_largeint_10":6800486566404441160},"c_json":{"appauthor":"SAP","futuretime":"2024-08-30T17:01:40.829046+08:00","beerblg":"16.6°Blg","verbtransitive":"warn","minecraftarmorpart":"boots","phraseadverb":"greedily","adverbfrequencyindefinite":"seldom","minecraftweather":"clear","hipsterword":"3 wolf moon","languagebcp":"sv-SE","emojitag":"celebration"} }','{ "c_date":"2002-01-22","c_ipv6":"39f0:3c15:ce81:8977:a79b:c7d0:50f3:af9b","c_array_float":[53.485443, 25.180044, 44.766464, 85.13679, 69.958534, 47.708473, 36.90204, 45.591095, 44.850338, 96.739525, 41.165077, 91.20766, 29.830475, 43.272854, 69.107216, 15.004848, 7.2422237, 20.35486, 23.19165, 71.945274, 55.39544, 51.915348, 55.24317, 90.48712, 52.641506],"c_array_varchar":["xOCojkBAeNYLecHGtbifDGuMgJpXCNcpmIFcfJhuPWZVaMfPkFoEVvYeJMRTfJEnXhfULWNikISzlHvGlfBACLmMCzjBUvqLcMBcqStZmLrCaMSDSAyhgeYbLPReMqIpqePPxSFefgzLbtyyEmYcteTqWLlhhCeZEQpoMqugrJuCYendxerhdjCdDSDFIeOUwtFEIErFeLTvWAZfJVdxBpEMoPzvOsVCGAjHVPdtwDxRxKZCEmAsUMMkuGelueFx", "fAgUmEyShgkkhLwAAKaHHZmAgOyoisuPZnwoqBUtTMjwngoxNsCRyMJPXWnqudQLxHbANLFTAMkcjfISuRrftXfTrSVipLQZxXuhAOuGMIHiqAEjxySknxBMSwBnvroHGHetFHFmwgNJVoZmBUYoxSEpOkNUTTRQZEmjqhwxgSsmaipJCFxLaOQKVjOJqCWfwSusyFREUrFuAIZkYPlAZVSrsqYASCLgVwIZCUubmuGseUITFMsQpEYVkVjjaeIf", "IrWmxotBSyEIhnlwCnYmGpXzIZzjfPCwGCWqaCIGYoQFAjawiXrrclUUgyImHdKKMDNftbGVRkHIjGalhrMBQghHrEofSMfVnxIRMyOpiizLbWoapnscwDnBJLKmNvGKvhRFdyEkcgQnnmMooMKAXgsoSrXZhSQyYIyxqtELBKXcRPAjywxKlBRCFzQbiIEiDGamEipSlrDZhCPMFntSxLFQNiHwiOEQAZTfEaitbSHMzzqzSdYaItpqsAqVKGoV", "jnNnxdtgRkoJyldfuQnpnwQPWyhzkHTvYpFSgcbFupbBWXckCYjUxNqDCzpvYzuJgbAsAOLJROPvSZXLXtxXHFsfrTcicbEYkMAQvVryivXkHSugemvZiiBMQLQcjOCHNKbViNpomIuxNloWBKRWaJefplGJNHTbqoEJxnnARSfcYGzxTGDJEDiOXCCQGPJtCNlQQQNEEszmAzpCWeeDKaiOzpZllbaqhStXZmOokKeijXmTVGNYOFlNNYgnWEeT", "CyTBhnezYApSDADxVIEgXSLcASGQOxIFuKNOvESeoGLwFdmpnuHmRERKCEoDqgFMbqFzbMqCgIinbtlRnsLtPapKnHCtqtpaqtzhJVBiKXkKcJIcAGBNjLcANmqltbdgCMecLjzSeePMYimQcfIiBIovnXBkKdUqKiostDFtueEYyKoMZglUzcZDIBVxZdhNCcMZkoaWtHeoXvtCfFeIszJsKCvCRtzQadRwmmFoegUskmbrBCrxpqKqcrvoOdYa", "BnNkbmhnaYiaYTxochPEBGnWJpogfgYWpQPtNcyrolaNzFuyaqhbHbfZXxJDlVYABvMbQWDyrtjPfjQxPpsSOIlVaXvaKhcxmiwIHONzQHygKcfyPNpPcRhiGaEWeChPcsyilyMrvMIfrQEeHQqyZPejjifgUsakMzqwSaqqyoeYURaoSxnFYsitNEXfnkeXOrOmvjaZWnUufVcoNVmPZiMPwGUzRMMpoGbKVunpyeYfwJSQJtijBIsBQSDXkEsP", "cProNkHlANgeFiBAtNyerAcDHbrwLfpCGKvgCTreZvtjlHdOfSitOnfbtyenzQfrmdtNUlBYUmlAuWiLjaPtqXWTnUrOlvPuvosszOyYffETsMAviHVFhGZGuFCVQCoiDztfVROMMZwNLNgVTdpeMNYeTscnVvZpjfuPtASPPMtMylHZWoEoFTKXevGFZPOmYviwkimLiZKtmAzKInwpMmblMIoreKWcXdiUvXRBlUtyxnEPAAsmeZeODKRdWTUI", "UYwinsgYUyMskBoJyWOJoijOkhJNJnKWLLUDSiEljUDLiglhpLjeIqSzdteAUuHXkcrqSHSQHwtXCwlYaEUjBxvZujbguoenAyIdrLaNyEIXNLDBKNcyNdJmXgmIRjvuJyVwQNcPXdkbbQtZIwXJvCkteerHbJVrGpkegaHfhBwKxGpepIERgbSidiuzrslEFnZpVwoEpCAFHgefAffxbNbHpCRdjvUYFuhbOTmzDPQLbnAZHhWLPxlfDbZxMgyp", "FlvEJUkzVdyYjAJYcLEOGuwYaOpVvnfUKWQCgzcunyYWcFMBfadiEoCwhkUHJjVgpvKxYPNUATElGoIWNoGdQEMmuigDLvflOBwvSvqkNLBkQfJbihYlyrKFLpejyikCDXqLNbopoiljnLNrNqTwTTgelujLDOpqEFLyagLobAakWKwWUKxXkrUSfGKtZXETQRjWvQFrmekWfhFvslsAnbQzYOGrBPTzHqbSvfypdBozBcotZEAmGeHRLWjzWHtJ", "nGDOkgxlhPQpqgXdyRlKRhLbOISZeDEAyiFvZtOgcOrlcgGFeoBccVEzZBdiOpkoqgfVKhCMjsVnxfHeNBxVhRuCjUupUaOKeHiqLuEgmtLMpJqQJIlxudccxkJmShzXtgcscmwFytJoUxxoztSQePTtZksXqnITtHbXvugASDCsgNycFVkZBIeKFijaMyjjhYjSHluzVrtPIAnQNsAXdgElVRAhPFwgKzBaRjzeKSHZLiAwPHwqOLpRVOypDput", "GpisVLxRWbVFeMVlsJdQoyEBWsfKuMmyPyrvPQTlPrLMQlqqYpEMrHlWFJduYntQjvgRzgNmBhkHFIxJbwSUHvkCpdfDebOsUAFkCGPEOMcAfIGUUUoCLQZljGAIjnnqiqQzMcspWGiwztZGJaXMnZDgmTYpuagEDYgzSNNhKOFYmLCMNEJePFzdkrPxxHCjekyWktmJALKNuLXGmaVgpdYkJBGVMajZtPxgzHAHxgElhkApxefgcBkRUnjYVNUA", "HmdAQkfAbhWOpRNiNZEnEJUOxCglXiKwtedwsHMipLMfeAZplEHYWUJEhIoOlDcgvyQdCVsnQBxLiNMvjyJalHNjJmpmGDAnhmTNudsBDLrmRCLBfVkePxJmIhVLupTuGIAdtGxnXEhkHqRkNWNpNTwgZUauPlzOUSHjvNJYJgmQokRAJHxvGitJWdiNLHUtPjaccWWPKVqfJWTOAlTMpvobZIhqZrQxKKIqsLjgWrApCVqUBMuYCnmPRbtADnTL", "kEcTJDUrenoWsnhPaDNbgwIsACUMfRvlKtllgFytRUesDYbfYDZeIFUTjiasWqwFEiRcoZPBsxqHeGUlAUBJMXfcssboBcADqMCYlDXHpTnJuGBhzEfwMlatQVwVrAsvotmCnBDejBFSvgqmyOjiONurGtvZlkDwJgwBthHmFVnJbZrscvISrvJJsgIZSTAEpOGzXTRFGmqEHbVCOIaIOxyLszwFiLGWNSJismkpaEPvcHJmsbJddNzOwQWfmrRt", "zWDtyirufqHLVpmBxCYWnvmUYPDsTdMMaSSdWxrySJtOvtaoOOfpGHjFdYtpJupntiHIdfZQPCSIlGCJqvYfvUbKzhzmFHPRSBkdvVWLrHEQzSywyofiUvqxcDgAJHFtrVbMWshzFYNFhCBrwnLpeHTPIzqGzeOrLGPlZVuYMAdmFndZAhiMeHCmlRkRwtJcQOZImhhlZQnVuRtYHBcztECouZJaSgnAXeiTrKhDdxugNnzZWpBSyYrPnyfokiVc", "DkPURNOOlcoHgzWWhWsKVHNGhzxXYaxIxnZFWtWSmYOzUDbaHRBACRZAGnDAwGCjcqPxCQdtLiApTadRZSdWCSqyRwdHAwxGoBnIUEmoFYdoIyRigENyuSpZSFypXOkfgZRPybJaKgupsnZmXeUdmpMRgAXZfvxYARkEjAsYxXigNNgguJDtdTtNoiHElmEHFkrxCivUIShpUypXerSHrkoctkCEhpEPFuQepFCIlmNwFuAIpUydJZcCvlXIzPfI", "GSiyTrDhHUQEsjHgxpFMRKwlEOlHRwjofvacJdPaOgmMEZHQJTSiXQvqTTagAINrbaLDiSFeACdWkTLOvljpZBCWKdKJWbBKzVUvEioKQYJNjLduShZvsAQabuZKhAGKVQmIArungCNNuuzbrUGWHKYhzFVwPigNsXaTfLHWJPvUyPVBXBkeLYdTxAHhgcZMhSaetKTeGxFMnDWrZyUSLxHrAZkoAjHTYDxlPesnnVCgRulVwcUuKoBjZNroXjmx", "MxThxscizijnBPCTFJzCggrZMreLQtIQUYiAiaSoJDYUXBDLscMEZiZwVVKdHmLnuWUOXnUhMyAyzaNmqVvqSaPmdgKzjOosBLVCTeikrPSJzrQbHIJzHTglhSHPBHGNWQjvlfLlkPXDEXQQPbGubpmcwDzOVwJzZcvfzoibmscSWonMojLCtfQsjdJgnfNcUOWYQgaFzJtyPJtUIswwqvoTdKyJGWvaeBWCETLvqzbIALrYQNVSWRbZTbzxvDUy", "ikEwyNGvNsTgtiKCpJvhiAfIfOYOeQnOXuLnGQgMglnVCVHOxxegEVwzEUumlOjEhVaUlcgwQppBHlzdIuwyAzluQzjalkfsKfSiIuVNQjVZgFAHemZTPrNCByRpsAtWVbImfkYNFIZKcqjZwfOBcVeKmMZUeWjlSBndwklUjDUGioPJaniOBaICgdCZYMbkqDgwOqUWKfUXdRDumDFQsVCQLruJmZuEcYeZFUwWGctYvFGjKxJDXykxclcWYnbd", "UHzDgTuodXELpWdNIsiGJHeiiVCvTMZVsyMMrdWAARBLlwLpPKGiqbMpdoVsWyijyOwizmYOmnaObdQvYFDEEARNuuagIpPsdaQwEsETJELOqPEuurpqthirXCrUxnZlYuRoPAXuMstVfrfEwaluLMCjejiIRmOrronHjPsAbgDRCGbWOJDoytgHNAlBZqEmcLbDmAIGBvksnfQHNnWRdCWtFtyeIYmHgtwTkJiyjwIYTJDugtyeXLlbbEolhbDj", "EVmnIKuTdXGbOBsLjpITbdIIqfAFJHNIpkDYPVtHonwdLWrlBFmaDXeWsizdhkKgoGFPgIACNYColEfEjeaNGOuovbeXTkkmmEVlgQbauztSLIesHjEqphGAzFZGdCzOEdRZGOaIqXwIeycLDUmiKmfMELNddMiKWhMvnQnXuDXwtjZTJuaXiIMcOZkkgpUkXannHeWpmkmzQaqzPiJqxmfnyzZUVAbUeYnaGAKxZQXwlWvGirkqplinTHBNsAEL", "kecgycqzAZWSSYxhqVgRRKuQgqymIpzkKVAaiwDYeIulFHSXldEgekvylqIrAiqokEyNOPnYtAgsHlxvbAavONgmXUfbGNRoZpiZOkybViwAomAhLDePLHgkiqtWhiYCotAoxkYdCbYKPizDQDoXwFOEBPddHkQjvPtXMHvhaqiqoOJatqBXuaaOBYjlSmtgkIHUUidOJcAIiogEgPkKveWIALDKbJPOKreOdlLWqVBOkagsaqziGLhgtnpdtzhG", "arVLixUQalXWaGYDEpAuxsBjPyUTAAjVwyUUqPpoNCQWCWawdiMMBqgrPDpoTfHyxJxGVKFaxyXpygJgjiqIlfXVUMCrRsKSTjEYkSMNMnEpNwLGfbIxqMswxZSsuhZYVDLddTNHTZDrSxcfqTQMTvpKZozguLSJvhEFZnsjIsvkUMXjtPyznbeEZjXckeBenlCNnIZHzagxbtHwqQZhBGwCbLVzpNjbzONuZFSzfipWlETZvNBdTskGwBExCzkR", "bqMkmJVzMpZtqODaJsvJheYytAAcxYVFDEceNOWZlytwTiGcVDzQzrssNcabMABjGPlujmsTUeFOqqzpvsVPStBgMEbKcgqlBZpAHZHIAhMJfYlzzkqryyCoceZwwmBJYCxxvmMMuxUMzlmgVPqEdJdHDVhHvmHdNgyhNKDRmWnrLufCpETFemRuDzobiTCofjZoizvMslcgdbAloXRXVIcJzlgGijiSToUHdfhVlPZGxenNSTeqmnrCATaIiseQ", "FZJeNXBmsjSooPHdoCrcpKhnRcbpEHtAocKgsFghLesYyxeFyucUMzwcPjurSNMTXQdMFwxSfyXJrCgHcMuMZDMLNPSTEuIKAMvKlsqrjwaIsnHLuFKXvvGvmIEVtsfqjmAtgALOWxnLaVWZhXaEvzODDKOHGTuiqKsaSSgMbndcLXgmTjwxNGzlTVzVhYsQAKIsMkvPwfokQRmCTSScMhdtqLywVCPpEpPVXHUDsBISLJjnzmeHGiuXnAEtJKvV", "YqmenEvwZGhssqiwjsHwbUPdsbVBInPbJGjtMqVCfFQOcWeNeaKldnbRUACIzEdCPZsfoXjcfpdGNmfMRcQUQXGCiLJiyXcDCmIKdulBgCQZDEfZBSskcriGisudeBZLpHFGwbTutfIqOxHKMiNCJUaZttuUoxhJKyBbYchZBMrwwTiuAzXldJpEosFobECwSEgOLmnRcLzTDJkXpBoOifEbwtifPGpJOGZquExwHbsXHOoJkHvZfYXqCScengdq"],"c_array_string":["AMcyQEhZcxgcZDMXTtsnjPDlyCOTsezolaLbMaVcTRugrnZPKazMwsDXKRoKpZdHqLUMnYZomnGoUbuGYeLldJEwKWwmBimGoOcMgpmbRqusNBcJkHmQEHfAfHuFffgsLqpIUGdNBqWGNagERGBRilQVrFgBFHfQVrHAuJWAJCvNzPhcqKknjyFqqLXXvNyPXpWXcjKbwXjYErvmvgtUgcvTUQQUpuhBSznkMzBbeVVBShavwiPeJkjjNkiKkUSCWUpuoIGgEQZSiGvqNNYlkjSXVFeeLiXUMJyqeRNDTCDhooZPdpzpjpwdyjDfbqckuqepdTBtVxzJdQAxGcePdWMEzwGEasSlSQIMcPUDctczXNjaGXGuhSgKcYoZKHzXGNofhRirdmVxqPuOqTNlmjBxYSeApekDMUXrWNWzpHrwPFzwauUHPhYDNPyvELcDYDOIXxvbSmgHJfzwJegfvoKzujrgGOpTEKgEqfBgpUuSjRkmHQSDmNLwOmNrUMKp", "csfAASktVvzEeCWCUZaJotPZsCEFMyKhDTaVgofFJNZbIxXLFaEXdinHsmWgrdgjpvoRxjqokizSHRFJAEZYoaZmvrkrtSqoZcmyIeXsJWXQdNruuJrOoycXcdFybyOYGHuvIWIAoalFGYbSxGIvfvZfzFwlhbuGPvmTWxloxPPjwPSWIJwHKalHDtvPegBtHvbvjNMsmIOiVhbQszqzkOtFwGCGOFNdvKelZVVtiIOsqXQsLqifLSYcrXNcSxDRHJeAZutxusinCpfeaGoMxncFGTIDMFLhSYrWPyCglFrbSzJxjkOAMpRsfSZFtofoUFSjRTpxbDsjakgTaAsISnxiyZZKDHqEYryfJMUSqvZUljCOzzSAjhzRfsCVcyelCAcwCsrTkityhNKvfSsNBuWFRRJuSLILNFcGtORIEQQYfMvhkyuDySJOUmpUYMCLSSgCAQLLesOMgYxIEDRMpmqfiFcbmkhTBbPdtzUYnPwLcwCcwrZUNwIJHojDrRBv", "ztWjNRcNdYfRAcmJMPzGphmrexaDJvTYMpvBhAJTpBvJHLkVDMLCMkrLLqZvWKqcOpfbKIGxEvDXLgGrKUQzBzwIkBAyIYYRikKDOTMMFFRnQgkEnyCXsCfWYTPiMHSDNjzGmissscekeBpsEhPboSIpoxyRbAQbMDFSUjqLfSzjiKELeYGpRLhFIdZvZcMmERCWspOOSrsqlxzDprDnDZdcvApCuaTKNbTPvzZSVOQodrohYDcYmdhsoUQHtmoZxuZlRscKXaVAdhdcEKwBOXGannSMmaGKjkJchzRdcYzHSErZwKeNZqvihIcsHXMdwuqYCLZWsxbwaLWNgvSVKmiWemOfMqJPKAJCLrnzmPVrBezUaIFkquyOGTMMXlxdXFyvmvyETAamDDlCenMrgBEeADthWhHBgRasJJQyxxcjcMxVENXEOzFKjCLaAdEzOaBjRHdrkauPLNOErUsuVpqwQlmXbKkIJAYOWZPwFfveTqBlpiGrxReRjebDsuKM", "DVVuKqadKQoKVaZkuDyeCkyTZujffYbHmZdsieuJwbriahiEZjKRDbuhQbfYlRAhUrawzHNYWbwuwXkMnEzwTSaOEdUHJDmBbYtltpxpQfAiQnXGqvwYrcDmfQGrsHdBxyVLZLdnmTIwlstPLcpSiMMgqJJxvXoLNCqSfZVLdfnmKwdSUwmmrmrgCovwzvrFPfakEFumPPhGltPsLcyYLdIZNpoTWbNAioFluCqRFSUbbrWnIrCrRTrchDTJFmiocnQNJTZULOvPHYgUgQtVjTtNfLMrBbmnyPfxFYTRSrYSBxYehpCJFwVmcOmggDEGeAoiuczxTjvaHnLQjqxJysylQsFwUOjlXtIeQqMFLkjNPesUnJSpbRIRefnIdynZQcUTaiTzAiRUYJSFEBgNNnOwkyJUJjmsaLQiLSMJorutJjraojHPKKdYbfXUOScdzPwPmhRqHlnqigICcfnNDiTuUDpUcLFzGtTOvOWvVyvnGyEYbtXLGGcfKKEmwiAW", "LkoiPhtzfbRBXmurAUiQuGMedVhsHtjyurMPTZmwNPNJUZQRDnnSPnNzsnuZvTXFJiLgOZVrSpbMlLjXNPdMUqsjLDSWDTUhBjYBrFygAhQWyLERVLwQoHyBbHqlbgteHYylCXHOWxfqvJpkhzWcbXuFSIfArmRoyZuNWFvgGRiwaglkUFLxCHTgnDPZOJpVjdlHoVIKJwKIgmFikjzlFLAAAzKjllYwmeXzEtYTNjXWTdOjHcsaMSdFWaocaodqsOnYmHAxmRSVoQEDVlqPsJOXgxElCyLmLIkjFdAxCVjmEekEGdQtuOSvmckEjmugMGerLJHuiBOWJJeSQFaerbWRNVVIvfANzcBUtGKfgsBxSMuDdexfsbjmeIFkyxSLRzaKYIiwSezhEhEIxUjJyFNoLWSicBllktZeelxGZtgcsKBIszICzVjhuQYApOXqeGdrupblnqIwBqnLOupxPpyjSGtmMBGEdCyuVdvqgchdHgfTPeURqMXmXngshTCB", "KHaIvOrbMBiKxEIbRkZdPiaqvEAcbuSpODxiUbVwywQlmkkWeOJShBWDIsDehklOBCGaGhSqzayLbZpgmlShTGgyPLtkjaHkOntHtCaLPlwGuDGDLgLtZQsTkErXwiMrvjStcwBFwhZlDQFdihEvAiHGxxvVGlrOHvajhTvfiHrdLbzOPyInRUadSUpPoAhPOGnKFFgdEDCPxgTiwUrYPJExjVeXbmSuvudUcTgOZGqskluSURAuOnRxHPUIMxpYcAkzcUzTtnRtfhVwErUaxCWsoBkgsLwSqfxBCKnSwkZAbJgmhtctxullskqzbhpsEMqBhpKVqylmijYhIOnCmJKuRNpiDNAujniVSkaUwoMApjNRcjPtPrHhMvgHFyuOfuKYSwViRZVDxGAQoKyfpzSzXixjwcLTIKoVGrqGuytyRwnsAkRGlsKodoxMCAPooSBgyURaaVzNBKLkmUajvEMhVJJxSCrJvwNVrwVlNWZRINapEDiEeHtQOTGknOUU", "cWAvHEBBHphrHjIiQiQaRCPcsECDNyhFlfgLqmlRFKiBSKYlUwYNeuktYrRDWfUgtURRbflEfKMrLkUmwSAGCXBHKBYTzONZotbqAqvnpimHgibbqRMPAokHHHVZbErpyMKYxydflXUtXjmvKtHhgDGPyrQjNzgMCYDXycULmiPsqEjYxuJvDnMdNRziLHOpdzGxaEUgXqxyiEwAikMeDuOuryWtsvbJrbhQihYBMebExmTsQoZhRlaCUwjGVEquLCPQLScMmYQVPOJckywAmGblVEmbxAShCtnahWiknjZIBqlgFwHEjhhnyTqmimSYCrSbPxUPDJPtqdIMehdgjUhZnPnbPOBcMQvIURcnYETMioJYSRfodnDFjntxpFMyWoYskGOmutqGUwkTIWTDECyPHvtYNNALrKRICtbUxpYqMFSYnmILfUUXUksdaKOVnhKdJLHtvGDECsotiWeijrZTVjZzeAOcDXWaElxdDicxCDGOHRXmhZTshySiJJtk", "flMPtayvaKnSKQkXPUlKrwRKamdDIJEPufYaasWHQEJlbobBXyrjquGjHPkzDwmdhcWMmNthgTWjIEWRnGDyMcPqlCZILftMICWoeTRtvaPNIdGJDgrKrUWXLcQccXUpeavaxCrUsUfjjUWxyHxjbRgAqMHCbMTVEGPppXBsIEsFuuVwasnJmvvNXDEgKbandsfHYFtSYyXZHuRqYkviYrbOsmJBRrALZrCaPqdSRArsykCbZVPGHzXEhSvHfcGWgnecsjEpdkgRxComBrEAcFybKJaNhsPwZmDJBHuWnvnlCkjxqGRUGzRwBWgPemaCWFDesJuUguXGfpssoKJtUETcZAvszXvRAhdCSqtfWQffFzLEMgdyyTLmHMpklEpaoSIuWlWdxEqErCOJpZVhmkptjPnkVNITNmvqsxwJmotzEnrmRRqdeqhDevnebotCcysAqWIoRrVgJMRpBKDcuWKmBcWMhRbDSYiKqHPpPcRGftbpGbQGZvFzoLFOUfGO", "FojaVOMbIrTqvnQwNVrYNNjhZcdqXUQEctXSMvqTOksxmfkiekFQCEItqXkOMJhtIgXJKetWYdtJXJRxBHxBIiotlLnCvkxvhONSWZziOtrfGnJXvqoZsKqPjeixltnmXwlYlQUUCcDUwIrqTqLTLphGcjvKORlFfTmgwaJOCJvpDLWfiyKoCtFtQCvLowoONkhFFCPBnWBBUIAcQRiPcefDgPpTBZbssDMPBRgakhBYiVWGSQyoPUuQBAKRgBYymVvbeIRVtViIdPPMFhnVHGTfxyzKmrhrLssVxsWVrkovbWggYjNowGanXsZJbSwetrdXCVwUDCarBgYUKzCFtOcXgbPZukVieKTFYsLHKdiLYXBLzADKBwsPpAJypbvXgVvpFoiuWJSbTgYrAZqidpMkaDFjjEQVOBmnFSnadukmwMFaccfZcnEEBlGBRYjjusSHEUNUyQqEoJUVydrvyTiyikzcBdXgWEOhHgnNYsZBSGcZbuyYwfspePWSWBKR", "QpMqYioMtRDkPqNIHSymiPORXykzgWNpbPVBVZbgJvQMtwoyqoFIhLtvGmRULctZjqEPNdQAeIetaXgCZXOHfKKzrQDuvhgmDVGrvqJtWNdnEGOsCYLfXWHppBzoNSROAwKVLJgPouJYpqnYBtbUbyhVpPhCDoOIEEDkeWFMudcLrdfHBlbtBUvSaMIhGXwUwSRWZMJKAVzaHSTiwYPfkvpWWhDOlyRbmPPKunaZwpFPuQyoRaqUPiMLAdFrcwrQvhfLuTSscnXhfGfVzKPHQycpixeXxisGaCKRoMSgLOKLgsRhBHEzrdlmBvcWjyGtNREBjUZtQpIzhPOxfjdArQwafefpyYcngOGKpjDjqVhPWSKFOBekaVMREyUskgkXLBTrJBHrfechnjoLqgRxSYZFjJUDYiiDzjETgAPpTJAfyDdKQDcYoOphGGZtNKJPSBdQJIjNoLqGpBxUBGSfYRidFlezSDwAwQwATQISEnAfTDYmoTAjicpUrUMBtkBX", "ZMKszmcFWpSJmHKqsaqYelkbOkdYYKhrLAUGFPVGCosxOAcAiQINcBFfhzpFnqKYuBjlLRBPDpVKLOSxvPIZtzKDfuTjEVSNLiPyxleHLdIMhpxuQSCRqcYLjZxgxZZiTHomMDFsPliKZCmiuXhNzHRXcLTFkTWimxGxUgbwYNzgrlxiHtpKPOHLEHsgdilExZyoAjREwwcmeIyMnCPZdwMAUfeqhqTHvZpAVOGYKbskpfxyVGuKOjMLFenFMFDfEyZEAkCCSDFNfUnYWeXrIFhdgFqnYmGvCzXYTLDdHdfTOQnVQlcxBlkuNpKiFZLWPtJGhrjoTsIvwVwOeGMfPdXqZVGmHonrqGFMOcYuLplgMUshJGFzchvDlhzBVsfztreKRseSLVXBRpmNfgnHeyWwSZXXUJHFotjBymJupQiPuSxHXBGITFEYywzclJarCVybTHJJHMHvAzUiwoXGYdCuUVNfZRKuhzBNhmLRQzIwowSWGEzQTEluSQQsEoHx", "qXPUENiHQeNROjFYHazZNmBgRFSmrLRmmVLmomUfpQRnJMCVHonFOAlAaYCRnSvsKqRDeKUUsbvrMcmrsYJXvpcKBTPQRRsdLeAaMPCpmYxXppnOvlpkticWiNTwodqWSlTxcAihLDIJntUPWwhcwGTMDtcwwoanRZHjUUPDspuALMhcKiCZTGwxRWrApQgMOLQfssORMaenwXHEAhTVMjItiHELZLqMavWlgGgfqrwVIEdfoVAUuGKhDLxoOmCZtxyZyWPEmjuiEXZRIomFSqBwbGayBXcapgKVwrazhUJIAgPwrxZNffEIFpbYFQWIRZkCQMKwEErMuUsZkcHrTFEbSxiViDxNTCfWQjpmnzciyLSlDqAuTUDMJWcoNgxyxhLaENIpJsMntvOQBRSrdIORAOjrRzUMvQRbkGzCMKRSSWLaiLJkBsArLXQnctBdLXoqAkRnCpqvUYKWuLbqivyYfNkiVbsbvYQxbFxkeYLsoQMqLMDkPctxDehrIBCi", "FiqFKpVroikWXNsCuNIeVtKOvssLUutkLKMnwKEjwrHoJQjujOBkWvNaSBSEddziWqBseZmgVotNctOeZcskolWICCcotxEsliUGBPVXkhaVxzYeKgCicNpbBBlKHmhECnWpMWICNcTUkXwrOBjWZpfgclDzIScbpKSVJlROeHNVpfkVmyAaNAYUnKfWrgFiHbWJTTsvNUPLrDlwxnEoJFJHEBdqGaaIaDnLNshLjfqDdkOWSjLEAUivnccCiAPHvPYMrZjtMkgjDIbRTpGCngPyITgfvFuXqDnpllhnBiinPIHTjZFTBCxNoVSaSPFckDVfhYlcWlJygqCtbAPheaGcNTTERcTnZWDoiyroUFYOXzCPZlGjfvNZFbFdLHuwBctUcXoyjXrWljotmgnAdHGuwAQSRrNZLaUknVlPhAzVQKxMTMbUCgCZcEifWhDNQbWqBwTiezeGXyqXpOdhTDaEZYEtUfmnAiGVSXgyvjeThvvuQfBErZbNVjtZQbAm", "NCpOUNbFyhZJfChcucnitDGTNXuBSDNIPZYDqtYDSqDRxSJBNtWVsjLjoMGuZUIPpvawEKFxNYxjyHCvjYKONySWVAkJlzoRPvNSPmjAgusDbDJcidfSdEpqspyXLwTYUQaWPpxeGxluxrxSjeQmusFyOqZWHdQcucupbQxMNxsQUmbeLNZlXfmBiwHceYgCCXXDugjOVFwsJUHiGBaVSUTWYIqQzkFeplxacimZVHeDLFsBcanfyZQQVdCXMOtQGjvjQazxxBBEwFaBxcnVgkHixxabhOxYcmaIVQVZbejxIdOVpThOExZbORhgJrHzqPpAoyxNgJUkiArRKqcqcMAoQVDMVgUAWsJhJIRgqLLiiBGCTfuEiSRNlVIqAfLyUOGafQgnSUgUPqlrnkGqciJTsajEMlkUhrdMbSxDgZPiCUOfdYeDkFbCUbhavoJsFtJtRkrSUBiEXlWXypHNPAWUjpiTJRxehxNUsWKGqJoYUEbrTWVMFPXkmgjQcXJb", "EsHYQfqRmaQQjVfzIJYGZdqsZiGPDHcQgDusjWTrBWRbXTpOyuBHEzHduRBoSQAssLLqUsElSBtgykXcGCIFkNHznXbwJNnHLvnpYxrcSsdNezWizDTrZCNXOjSYukynSvEWrRdrQQhLsmlxqMheesOIuQeoZPDdCkfpTJWZAHUsWsJHsNJNBAHjyVjkQrZJtdBHdULWPrywaNcwPfpfGQxnHOIIVlmKmLlMVFsopVstwvDRBHXmcQasErrwElvnwzdEsFvFwkiuWiIxBTaVSeSWNtWnkoNaLBWfCREkELvQQMZhrghahtgdPwyUYRUWuqQDRYJdqWgrWvzRcFNzgeAgCvZzpOvESifTzmpWvVviAanPouWUFDAxfNMzpfwuNJRvzbuTaXMDDlhGiMvpHZpYjGHCkpbOCdZgVtFdckxwzMPQTDWnVwitTluXYiGQvKuvJlwhiilhuXnNCBILGXyuTNWBQaMJpyJqerAwPOhWkInrdhqHvtzztZXcFZRY", "lHJTojqhulMXjOoMufWCUqVbqxigxSkKldPXWJRNJLbbcyMSsSpPSbWvzLFmElzDNoEKnjJiWsqCYHPkIVglSpoqwjmdtfuAxeHPnGygBaxtqLfnAnGRYBiEjSvElZwDKhgPlwNlrTcVOxIAHZVFIQQWPNtrbeAtxTqejJUxXuhpmavGtfIUxtICgZYCEQvjArYJGocBmyQSBXxSysmpBTUTrbzIOvHUEVntLHxVTpysZrkdAVaBHlbIPYjbzLIesipbYKCydVuqlgfonBsBcDenDMyvSNyXKZcnFSOQSygYgZqUzCuQSrbKclJpAoxeMnPBfvxcgTXSyONpliVDelRxPyIeVPKAWeJyIiGpAlelrbccBAOeAzgpAkIrpNqFYMQyrVWUfOBSqBxSSsqnMltmcBlMBZynNDWaCEgsArEbXGRfZNMrPoQoarNvOUSDwFRbcrdtvneAINvMBppiwIrwvpZVtrttgFSeVQASYuANBkZVyahhVDkVVhiCDYPi", "BDSTVwctIbjtoWgmLNNZsgPKhZpZMMlVslKgyUUPZwxrttckiugDYOVzZdvwyfwHsDnoHZYJClrWyebodNmOuGfWpdVfIXEAhQaYjeAvHvCxIpBHskYPlAFeSxxPFkRASHmuSqOLHgWjJYYVRTOUSZvEVDpcgTSZPmXcCuzEqvpoKBtrAyKUvLBLhQAeTbVpybJpPemzxXJRxzbYspYSzOIBxAWTnbticlJqHTNKQwBbSajuDNTjrMvWfxJswBzconsAfQhpBSagxRUWkYoVLsJkNjiFdVLjLkeEQQglgMeFlPPHeQYMApioMXxyoXnrCZoASwuuKgkFFEeJZTSHjkIYBtqXsrbJKyhLcQMkPdBEauIczFWecldbcMlaBINvjoKPgyxUOvnltbCGABTRwUodPHIqwbLgOoyQdacmUvibHAmJGUciZTBXEWNpLFZujAhXwSOwPXJkKpioqRhkgdsWycvaAVssjOxDetJgoRmmOTdrnZHzBcUpuvGhTlBx", "OOkNDgRsCDTbRwlEotzCuNvPZjWKvzifJCkLpTvdmUMXXYWTtSrYthlaUoSYfWlTLriBPiEeHNLGACjLHutEcTyVCleOAkdZMonhWQfTWaoGkGYLmcCARowKYndQZQRLqYLjnFlBREyTVkTAXHfzNkoUwHpxwqnervZoCFIRSrWoiXTqBDfJTZlsloNVcbQvVyCrFKZARqlPGHBPbgsEQnySnDZPcHBcKPXFqchSSEzLvXqZFkwMxcrgEhsPjOeLCZTRctvyJuJHCPPCeHfjBnGtKfmSfBBEiNlhspMLRFGZZqTdKdXtBqUqxECuBKhEfcCyQEXxEzIcAkrlgJZkialXEIyQaBXRLjYQowfACKVngOvcCwPqstjQSgWZzkFbPRAyyMAmhxAFZZwKYMGRHnHdATceydbJMemuTjELBCPQepRDkugAnWLJTOECuQBrpxrBldXvcnwUfzXuRwhURfrMuNsBaNxDFMrRiYPQQiYhVnKJoCHZjcIhtEafCgSj", "gxvZEjzaciMbFSROrKlxHyUuyTLIxmsadNdiyrjEoyPdowYsjAdYIKtaIQrVOjeTEpxizxfsikYiPVAAgmnoYwHvpVMnlfLgDJBAcNnSBfFLRdTuKVSSDLgJoLdlEcLpcLosAxvbQIIUoVeblJsuXiEnIvNFBZkGgcceMeegSPgxnsMWNJlRvpkHzyPeFHAmstyzPjGVYVVThWUGgdcuKEjsVAXprycNZNltNoaubIebcLxuBfTGiavCPDawZPPoDaRtXIDzoobskybTtOjCvBsLvtjwkItGEVySRLugMgBGYQLggyOUktKdSixjylQsHTIjdQzahHLtlKijFOllVhtKrOQOmOuetWvUALZGMuVwBQqAYxidZRfePBNtXNiWdxKmjLJLZBfrpaCDJaRZLpXAeIUxPIPGoJykLFHuRnXDHVFUHLEvtYgYnHyCcAiFDhVavbvoKmVMwsfuOyRQugKQVrBoSorDTSDuMVldxSZrlePlzgZLvAWdCjtgQxmC", "KPmdnFuSdJncbRJYNrTVzLQbiMQMpvaFkJaPtysFdzrKjOtRnsOzfPfskSzhBvTLgsEpAniPzblXFHBcqftnGLAEwhsJsKNiJKnSrgdfatYEpPcTLuZKMSDroXJpiriKWyFEIdTzSXDpTLlgDeAOqBckEtxKIYDJzWvxMpGBrVipSgzchNosaCamAbXXJfqxxVKKqjONYEtQzeXGzCFWWxDpgokgYhWCWSJqaVngljavUjbpSErvqvoJFNVBPUbdoVqlmBqzhTPYRQVZprxUrOKenctJxXVpQKxieeAiknHdcpYvWeruhEPSyYDHmfBFmSjJQbBIkAsHQqKrCdVFNfsjGJIRwUHqhPKdHbUomDvPfcFrinkgKVFUIYigvPwEfxvDStDUsEJBasubReoKgZXtZGCdkmWaMUnoMKQOrEGXNREAvMOMCqRJIBouhwyAPBmDhBFVuHxQKcJCHEMzWdSQBxccuemsLDDyyteXZXFzWuOpcTCVQgbOjZhvlarE", "SESYzYhWIQcsTtzrtvSffgUfzbMtiFAEVGfsYuKiXZhOqsuHHvvkpgkeZVDcjtoIaYUthEUDHRyUtWVFyejDbMkRKIjrVPRjooBjcoOQWzzGFItfMPNlGNbBOQOIJnwQocCzuHPzrwsYUBryYwRylwzillMFBkpsAEhIJKkrZvIVJXPFhzTOXobOKujamkxvwKwuYiznqpcbcDoOaeyNrQcKEmdvdjUIDjVWwrkMrQEGAnfRfGaetqCRKdjFErEaYIRVDZnXeeQEqJkRPflNPsDlEkWPtHwaNSLAnGUiNUwZjvuOxCZtDzPYTibItuTYDmbzNLPmLKicBDSKHnDYiGUhbsbHHBwkvlFOLPwBBNJFrmnPHNPWmAcGQefvpRKuLnWwTolyayKPCuloyZEhBqbLUthUfWxUAdEAvkmFLMcVvhlArdAnhgfsvhSWyRNapvLKhORrlYzFVwEJHNMgtkvTkfYoYloFroZJkVxeXKomIlkrINOcFTGscfASBOqX", "bxiDgjhvyQipdmMlDAajDFtptyXldjBNizaCBORjIgVeQRSZizheHvyvelPasVTxJzqrVswtUzaBauCkHreobBpcxJuWwzjQHhpvJjWoUfLRxBFWSmXjOGOpHrQrvhZQUqLCOeJJkfczONSmDsjgVDHtXogDcTVOdoYwgZTAtaUbhLZQiLTWsBbVlYknAgnZMYQDlkUPzZrFzCXkTNPhXrCWpDYgvUTCdSoPlNDfwoxEiBnrQcVHfUnqgqxLixBQnWKiPhNnCrfKHHYXPSrXTrnLKvgOLkOITkjrWzNBnAFhYGLPymkRiiPKQlCIAEwOBKLNiyjkKukgrHsDiuwvVPpqxllMqIlcEqgUBYWbyyrJWFOTWsGGYtpEJlWxrqSMdrgetQIOuNjsaYVXtYDnIEkcVOukrgKcWpTMfXKDgfFNGlTiCiajPHhvptozqxtZdPipihUhWkZQEyRiOSytuzCoVCZNbvmIOQRmbWNsuCvAmoMgOzzcoisjtxpkZyzO", "XHHRwNHodOoQqEkARnRcHoZsicAQdLOJmpbZKJufuGJOlPuEYtSHwfOeZjswLeYPerUUhVTKZOOESVTPmXgRBDpJsBGPZGRSXGQwUagaqeVQPGGQngEfNzUcuvycAqFVPPbRPISMrDxhVkIHdZBmdutZboGMTDVSVJiNdjaqWBqPmlIbLtBqYtyXmfdDFBUanZbDStEFtapopHYbhArFJXzhbRAsrlCVkRWTEIkDSBNMuhUzYVGwFUcnTFiJCbgpeBQaxLDahpbogIhqKwkPzUXWDBAFcKpVHSzTvYEOQtFUZALDVlMNFFVxegJyuqDVQcZQKIsyyiAUjnbosvDxTgnykOEwhFopyLocARkvHCXHplfrVCHiyfRObslluSzpaIvxfVZyFlrFqELTLyMXJsFCnRkrhBQwqQYRdQwUPOitcvYaeHpXpehktQBLOOoTYdaCLBYeoeIxEjGyJxTvLoeJaPuZIenmCTpkqmqeAOvMytojRoLOmygQOWlQWxiW", "jRWvpgymfmTXUwUpTvdCgYhCBVxSGwEoJVMBpJuKbjYhEmIVUhqmfrnOhUxpElSidYRXxsmaBwVZKDvsnYTQmdzKjMOcBnRjOFJrQkIWDJqhSEGHUZhqUVOJbuVVaDAmCsOPQxEGEfMCxrGyjqtYaVAzFAVUHdszrwQJKSZaSCqwRzOHrzYXYDafAVOwAxvrdRdUqGKbPycWLtmauDKHAkbEwfLlKExpGdjVwCzuqmNpLGkVsfdyrJtHIueSySBHPurQZXBaqHBFStjMpPOspOtmiOnwSvFcjvHdmFEFbXWknHiTCxQcWmQukuYdywbSUDXFAkgmCQLqYeWYXFdMgaMOLqrqBwJEVEOKPUlbIHfpSWROitIiWoSYDuEqyzUbPKjgXaSgQlAMDJChNdvXknepSDEqpmMPdBpzWMhwajdnmZPazNVwvVJTTqnLNegZfPIZxCfQBqldGdsxEVABaSaDkMcBsFUciudNZqxRXOQEXfXSKCNFHVOJYCXoOTOC", "TXchuttTSaAfBRluoWKwasujPwYGgaliNSilgnYrpZConPaXHJsOiYMhEufJnJUuwoaYodqmMuWKQXOjeNRISBWTgyiNYYckvBxVXEBYxShJKlmMtGUrDilReegPWMKRDsLAsGSICyYIZdVJYqbhbbVWCxdKfgkclEyXzlJBYXbevRyTYoAjfcptHAVGmAuTLZMoaTohoZzlabtTHztUFaMOvGXCrnUqaepuoCmmQOswvCernGoDiIPmNiWqjyNSvGMTqfeaXInIxztzxcmPbCkjvpfCRstDdTUvAKvGeHCVORoskdZIRdpJCwiZStLwLSgfsLAItUYMxwNqkhFrlrSMaLZpCSIeUgNdyDWpmEwVWgfWVKYqChDZPodQoPTkiwfFVAYkTygPhVWCirMofddAMyJTnXIMDHTjNZuSzLzczkaCAdjujhvBlTpjqOkxWLklBNXGWQPTEVSBkFKDZJfIUOtcKPbqeKXEwqMMLLEAnDfNHvPclAWRNwdFmeeu"],"c_array_datetime":["2009-12-25 09:24:33", "2015-10-17 22:24:25", "2004-10-14 21:20:50", "2009-05-28 04:43:27", "2017-04-20 19:35:01", "2004-03-22 10:32:56", "2001-03-17 22:16:29", "2000-02-27 16:23:06", "2006-04-05 13:03:50", "2009-09-12 23:26:47", "2011-12-17 01:16:50", "2013-06-05 19:55:03", "2004-10-18 09:26:15", "2015-01-09 20:26:08", "2011-03-11 02:35:15", "2012-04-09 16:42:42", "2018-10-20 08:46:14", "2018-09-06 09:58:06", "2002-02-15 07:55:10", "2015-06-11 07:02:37", "2000-02-19 07:18:37", "2008-04-16 15:26:48", "2015-01-16 20:26:42", "2012-08-04 16:22:54", "2009-06-06 10:27:09"],"c_array_ipv4":["gaGMgVrLDR", "wOHrbvpQyD", "oTDYMiABQU", "pWXfLtnyrn", "qnlkNQarxM", "ciGKzEbPwf", "gQJIiGfAVN", "ZhLzUclppe", "bfrYRoPUTq", "BNptqTrOBl", "RCFkQoDkTe", "nSKulQLrkm", "QWNOdZHVxT", "jvyrKVGtfM", "nwQrGhKJKh", "CBGolXpxGM", "iBWLlDugbM", "RVoXETlcjF", "lozoRYWTPZ", "TEBWYPcOKx", "RJItqHxZQt", "uxWDnlhRqU", "LBZyZRzmHz", "oblgNXqAuI", "GEXAiXOJmb"],"c_map_largeint":{"c_map_largeint_1":465825301500154564, "c_map_largeint_2":5747499163281303098, "c_map_largeint_3":1423297169592908628, "c_map_largeint_4":-1324815763400832484, "c_map_largeint_5":421491514355897483, "c_map_largeint_6":6883862673123804991, "c_map_largeint_7":-6675914658822288407, "c_map_largeint_8":-1303650402394084071, "c_map_largeint_9":-6322421813220175295, "c_map_largeint_10":1047486261863298991},"c_varchar":"going","c_string":"AInCplzUHaVLeisFXeZaGWxIuBDVmgiCAgDghDgEfAdruvohKatScScbFXgzCPzZVxoTyPIzDiaRseePxYaAoxAeFiBSSpaUrCoAtSyaWcdnensFaFMcPRGBnyjDERGIglWfpeZzvHdImowKsIQclSoJLEupHUOZcdUaMviAUaPfuUymOMHAiaQjMzbIqGAGtLGOxTUDGxnJdzbfROMAtoWMSCurSOfZnhQWrBxWCVaKSLavXsuwqHAXiRTteGTyDdDYSUgoikWSvQCZiaCBQPYKmuhCypgNoyUkWgvnhevYWYRpIfVPKqFeXoUBKrTeqShbFySsdCLSTxNfzlooKXWFcEvsEgEskTsTTVlFbImHtesJIvizYogEVjSINvGltRgCyUfghWJgdkEcOxOeAQAlHAavKmzcOnEvXRTwRbhqSbQTWSTmnVfaeIJgBauBwPasJFUKRMarVMjVmuWRPunwJEyBIQOrsJSSXmtHAgPTGZQyfgeQaBeedzJLbcRi","c_map_decimal":{"c_map_decimal_1":27.0345, "c_map_decimal_2":66.0958, "c_map_decimal_3":78.1114, "c_map_decimal_4":72.1529, "c_map_decimal_5":39.1169, "c_map_decimal_6":64.1667, "c_map_decimal_7":39.1169, "c_map_decimal_8":36.0436, "c_map_decimal_9":94.0855, "c_map_decimal_10":90.1847},"c_map_varchar":{"c_map_varchar_1":"SoonVRnZfNHfOKWIDHzMusGRHDsFNHecKgTAPOwZKoeQiIaqpCcUBfLuexUCWHTCTCHQBfZSggypNjZmBNTUfiuZUvbovKBTvNsLhgCkBddsvCjGQHrgrdMlueVWIoQgizCOJRBVdQDkJcyKLLilaZyqoDHRmpeCrejszCNHAmaspMcIXTLsVxWQBUHZcjTHiLTdpKcageMCKsboFaGmxpszlSmbqixblzoSnercCiKQDxlKnRTXQVAnHwGXcwNt", "c_map_varchar_2":"XLCxSjJOhtBgNKoeiwnLwYUwxWnmsdqTmmrMJJLwCslnGDcSarWCtblzRyfdrGrxVYWRXTabEUhdUSJzcopWifehBVZqDrKJcLTVEulrPsqDUeUyxOSPLSURGLibDIOushinLdwlCpPdRsuXjDsUOkxEgDiYQBPjFJzJebKbqoiLKEwrHacbCzfdFlRoSxtKXicXkMZLQfhsHzoOfCtFMlMAACiHwefgQJtkiOVDRqypnNOXPDehXIAbxQMHrOyK", "c_map_varchar_3":"LjwquLSYCagZKyfoaqpEuSiBjgSoGJRuKdLbZAvzKGnDsNGDBoBIkSDANrgTJdTLeNLlFyQRqHqGpITjeFIHbzHQKeaxoIjAHSwIsBVMmjcwTIsRkIeLDMWllHIcGFynaLhtjYgaNCSfFwxSBkrPEuSnuRdVYsVILxVNRKVSeiXRULovPGJYsXCICzkCsSzQbYaKPpBHcILfyKPcLtvKtyuZLFjeKkGKgecpgOmKqmcRPaqylhIlCjodrFdcELTD", "c_map_varchar_4":"PKjVlvoDpvkHmhrrBGksdAkiLQiQqbAinnGQtJihSHTIYwzBNqiiQlIrCknsdHMYhxYhacISjaRNuZBTtMubOkbenksTmUzIUimdGQOOdfoMcPbusFvFfdmVDqpQINdJCZSILCXMqgMrEjOvvPasixnoEfjvfIzOHiMLKPDGXzgRqOzdPdPBkJKcJDFxGpacaEMbugSySFmhktpevxGgxfsXEqBjOCuNXnxvmVOAGxknxElVrknxTIJstagojiTe", "c_map_varchar_5":"JqpAisxQwfybylMhilPZaxMWQewZNERgqjzakxXtpsMpYtcmwlbiRUfpneyguGaDCwhpXQAUEQcxRmBUgRLQqQtWqxawLOaTeCaGzJottNpivkpNyAtRDrosWOjOepWSPNgDRigEUdoUXJtiGzzGHIdpQepyaCtoPeiPEKJqIGBShjbbjaemIFLMxPLHToTYrBwiAaLNatIOTriSXNTuabnaBiukzaakGMjqtkPTyqDheWkURvhpuyeKUsndgmlf", "c_map_varchar_6":"asWjKhcWgqRaMgMvqzglkypHCzQTPuvOuzlndsbbpAqGrfSFRTKzpWpjltAtBlxbWWwKiUKtHxLDARUOAKHewopJGSEGpeysjxluQdXwLkBHaYMDIZsZhwxaHMRtSwPqVQOsnDQMdTlvscPqGvzyUNCxMqiuWcBrvIiZHWQfeusIXcZxDDdfxGdMuJVaikgXNmjGKJdKPVZiSwIhxPtJKUelBZOAJGgnOjpiuCejwfEUGerFTXzTrrrjiSgIuOwn", "c_map_varchar_7":"BuNXluUgCKcDVuAWRKImbPumuYBhqsvmQEAKSTUEPNdDVVfjdKhvhLbOiDJaJCbdpVqwBbtNBkZnpZYzzLQytCSSESNMuKDvZlQRycxsakcHoZgZzRtiwAOLrMSDyHHgMEJHOenSligkotzYpJiqhCCHPPyjsSFyAfNyxgGbKAOjeglZwOnUBFmqteVRcixripHOlAtVwnroVrTMuDYGBwudbxAsKnBvOMRccXpvzDPQEAZcOZsIFvVjrGWPIVpU", "c_map_varchar_8":"RLqwqKKwgBiSSlCqdemHuyTdabaSXqqeIlGBDFCjYBMeXAmOtMgLmSYZSJZvVpCepVnUgZKNKGzCpodHHijvAMuaYlRKShIbLdjDQWDegeNeeQxtfDVxBYcWXkAlssxZLqjolJxIEgKqgSFATMxmYkATTrCbwvPNiLtEJaJTUxEGsSlWqcrcnoQfzEnwWwpSTpTcyhIcoWwREJBiQdDcJaBPSHSuwnomwNaIVdjewpGYBSEOpMIIodbelFrYkDPy", "c_map_varchar_9":"EQrKgKMzOJnjOLpOILzGHayNcGHDUdwnrgPmkwZBewJLNIbFlKeyFFZXlkdPEsjcrOTQdNcSrtBZSpRKldrhkwUVuISqwvNJXXoHQtrZujuVrYNbSEMjrsBpRbHzinbSXuPAqwUckVgeTLWgODQYMfhktoqRTGeadVVorJLaOGXYFokNkrMbJNbVnftUXgHjyxkOyuoKwmOOnuUnovNCYMPxGcACoPWMmLGbdkxIdHVwGlOcNOKcxYxaOpZMccth", "c_map_varchar_10":"jWiwnikVCEDSejoaEVxKlrDLNMiTtBTrnJwwpNOVizWpFCjCsOPbfmJYxVtghliYWfsfFGYKEnsOAcVDmyNdsEwXrpLMdfStlYfaYKgiXuSqFOLfxxJDeicSTNGWUnkNzkBffZwHaFDJJhTAZGZmFlIQwBvtXkJojWusOEpljVaCTVbaRKSswIYxsRDtpoQkMVMyUuaENPffbBhxYKIxrEQjWLNXkRXEouMDfKGzaalMSdRjgqOqkRCrSKxYtNTY"},"c_decimal":25.1376,"c_array_char":["sghZmvHPWv", "XkDmqUoEee", "kvvafwkrNy", "eRTrAccsXQ", "LIBHqtOYWL", "wtRdfLIshP", "fgOmmVALsj", "AvqTgRZfJI", "JVHZSQzSxi", "HJVDbwjwuw", "FgKGEeLaOl", "GppxKAGtmU", "SJjVoIyrJO", "dBEgenPNng", "fAqpQnFpHQ", "zXpgtCSdsf", "lrrbbpDCzd", "OzJHPhbYhD", "ylWYiCNKHR", "vziIpQDhkv", "rRKXCwRUdM", "zTTkTcNXUD", "aBUMfbebZl", "gSSXXafGDE", "gxBOtxOSFm"],"c_array_date":["2002-11-02", "2002-08-03", "2008-05-20", "2007-01-11", "2017-02-19", "2002-03-12", "2018-02-07", "2013-04-19", "2014-02-27", "2011-06-25", "2000-02-10", "2011-09-15", "2010-09-17", "2005-01-25", "2004-01-23", "2014-02-14", "2002-10-16", "2010-11-07", "2016-06-22", "2010-10-28", "2017-12-12", "2008-07-19", "2008-08-09", "2011-10-05", "2001-01-07"],"c_map_int":{"c_map_int_1":-1566910500, "c_map_int_2":-1946886775, "c_map_int_3":-1397088586, "c_map_int_4":-1402565550, "c_map_int_5":261876994, "c_map_int_6":-2003962320, "c_map_int_7":-1916664360, "c_map_int_8":401260057, "c_map_int_9":1124245126, "c_map_int_10":-727870595},"c_map_bigint":{"c_map_bigint_1":-2952091108106925632, "c_map_bigint_2":8331274908246482015, "c_map_bigint_3":-1399203158627972990, "c_map_bigint_4":-4590616345773777060, "c_map_bigint_5":7313788298284980118, "c_map_bigint_6":7133896423377660921, "c_map_bigint_7":-8655400520154151799, "c_map_bigint_8":4109227988423199160, "c_map_bigint_9":6332874688713909151, "c_map_bigint_10":-8289411387799318010},"c_map_char":{"c_map_char_1":"xAOpFbuhic", "c_map_char_2":"AYbzJRLPVi", "c_map_char_3":"SQiNqjFKDo", "c_map_char_4":"DalzFlxvAA", "c_map_char_5":"vWrLcwcZgI", "c_map_char_6":"McDoKAFBwH", "c_map_char_7":"HziJZBTJDU", "c_map_char_8":"zcZcpvMDyw", "c_map_char_9":"tzOcUbVPNh", "c_map_char_10":"gZVshVfgIA"},"c_smallint":24010,"c_int":-103092070,"c_map_ipv6":{"c_map_ipv6_1":"d1ac:f289:8d21:1a76:8e20:3d2a:6e33:ce8a", "c_map_ipv6_2":"661a:aff0:2c40:e800:f1c3:b42f:1515:99e4", "c_map_ipv6_3":"abf1:cc87:38c:bcde:5c61:791:895b:10b5", "c_map_ipv6_4":"99fb:aa49:f5cb:966f:f33c:afea:ec11:234d", "c_map_ipv6_5":"5f04:f55c:8629:fa7b:6e69:c36f:b1ec:8755", "c_map_ipv6_6":"9418:3b2:c891:217c:d974:7b21:c757:fef9", "c_map_ipv6_7":"21e5:94b0:63a:3a20:e632:108a:20fc:dfa2", "c_map_ipv6_8":"4ab4:e1dc:2fa2:a4a9:da16:fb61:583e:224e", "c_map_ipv6_9":"c746:bb03:2c16:5b2f:1e5a:10a7:8bc7:b704", "c_map_ipv6_10":"f570:2aa9:30b0:e4ec:6462:3da6:301b:e023"},"c_map_date":{"c_map_date_1":"2008-10-19", "c_map_date_2":"2001-01-23", "c_map_date_3":"2008-12-25", "c_map_date_4":"2007-03-23", "c_map_date_5":"2017-06-15", "c_map_date_6":"2004-05-08", "c_map_date_7":"2018-10-05", "c_map_date_8":"2007-07-08", "c_map_date_9":"2006-08-02", "c_map_date_10":"2001-03-18"},"c_map_datetime":{"c_map_datetime_1":"2018-05-15 13:45:15", "c_map_datetime_2":"2015-11-03 08:18:35", "c_map_datetime_3":"2014-10-09 18:37:43", "c_map_datetime_4":"2002-11-17 03:58:37", "c_map_datetime_5":"2009-03-16 17:28:02", "c_map_datetime_6":"2015-10-27 10:59:08", "c_map_datetime_7":"2011-10-28 14:15:26", "c_map_datetime_8":"2008-07-08 04:10:39", "c_map_datetime_9":"2002-09-10 01:06:02", "c_map_datetime_10":"2013-01-10 00:23:32"},"c_array_double":[42.182044556758605, 63.51439709082271, 76.95213577921376, 49.500892591520085, 45.664994870272444, 73.91872798958018, 41.27932480803761, 61.66772070217368, 81.96315894040603, 94.37261090547918, 79.84765734437558, 6.70743239523521, 94.7778521542571, 34.17290727860567, 3.217022074260471, 6.512306762645231, 86.68380900775007, 46.88568869762805, 77.94282844010726, 97.52923085816104, 92.92850929359771, 66.93350762750514, 14.134821826899717, 17.646513949838557, 38.98609800509209],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_ipv4":{"c_map_ipv4_1":"78.40.126.231", "c_map_ipv4_2":"90.56.76.124", "c_map_ipv4_3":"245.159.114.122", "c_map_ipv4_4":"203.119.115.40", "c_map_ipv4_5":"37.88.12.203", "c_map_ipv4_6":"39.172.157.233", "c_map_ipv4_7":"77.35.178.27", "c_map_ipv4_8":"169.251.69.129", "c_map_ipv4_9":"87.217.57.117", "c_map_ipv4_10":"76.236.199.79"},"c_boolean":0,"c_tinyint":47,"c_array_int":[717850706, -76188679, -1152369849, 1717919199, -1417318796, -2101615931, 1800747167, -365380029, 385511888, -1838715851, 794707448, -1919657073, 908730557, -1126300362, 1781063666, -716800612, 1850560883, -1424710567, -1339480736, 1924493085, 291351656, -400483646, 414035528, 172777185, 1706448848],"c_map_smallint":{"c_map_smallint_1":11761, "c_map_smallint_2":-25094, "c_map_smallint_3":-22973, "c_map_smallint_4":-3124, "c_map_smallint_5":-25545, "c_map_smallint_6":9443, "c_map_smallint_7":10820, "c_map_smallint_8":-18184, "c_map_smallint_9":16859, "c_map_smallint_10":28423},"c_map_double":{"c_map_double_1":73.32303440679132, "c_map_double_2":83.24220683393452, "c_map_double_3":10.913880040824383, "c_map_double_4":53.18156213734924, "c_map_double_5":74.48109274935007, "c_map_double_6":64.11347844582247, "c_map_double_7":50.98369608304103, "c_map_double_8":5.937302523069242, "c_map_double_9":100.38346622130663, "c_map_double_10":78.71080432454772},"c_datetime":"2015-04-24 05:24:06","c_ipv4":"41.197.118.43","c_array_bigint":[-5678767081180086454, -621307363162622470, 4622734466980518693, 1569790095813772039, 8165375364945856536, 8443380004996934701, 7651314798012805845, -4110704994813060965, -4208767820383261854, -4791747709026928946, 3514991301905925098, -8476362748359971205, 993648570767000013, 3505159070949335313, -5225944367533922223, 493610971428639428, -5434950917230210523, 5080028412276925382, -7626276251632300816, 3762604323530992879, -2332221264770960001, -8208256559204908262, -7951347464281566770, 8793631548732326170, 3342879280633717851],"c_map_tinyint":{"c_map_tinyint_1":17, "c_map_tinyint_2":-94, "c_map_tinyint_3":-50, "c_map_tinyint_4":-78, "c_map_tinyint_5":61, "c_map_tinyint_6":117, "c_map_tinyint_7":-117, "c_map_tinyint_8":-20, "c_map_tinyint_9":-126, "c_map_tinyint_10":6},"c_array_tinyint":[-125, 127, -127, -1, 52, 99, 8, 72, -113, -109, -49, -17, -108, -118, -124, -27, -36, -64, 52, 75, 91, 98, -99, 87, -75],"c_array_smallint":[-25339, 3545, 25845, -24846, 22708, 29137, 4766, -2957, -21907, -12490, 12886, -3018, -8292, -30264, -6823, 11866, -23459, 32294, 21036, 16865, 1638, -26759, -12767, -29287, 3898],"c_map_float":{"c_map_float_1":26.747078, "c_map_float_2":40.570663, "c_map_float_3":62.47566, "c_map_float_4":42.689854, "c_map_float_5":11.432807, "c_map_float_6":7.701909, "c_map_float_7":25.02754, "c_map_float_8":52.89644, "c_map_float_9":8.319372, "c_map_float_10":9.598175},"c_map_string":{"c_map_string_1":"nOIiBoFXagYpdctPeectDtAGKAkwzwDachJOcvzqvEjlyiVYpCgXGgSCwHNIqpmBqOSbbyIojYbaSPZsBZQyoXoMqjRePfRUNCgMrBEqhdFZOJZiTrwDBFBYnFOLzFRyVfPRAjdjLlrPegPIEdRlcpmPmbtSBwohnXAphaRDkptPXWrRsgFtMGXXhwFCtcvjIleJBrFpVsxUNfLmLBlLWGcmAMILfgOciZOAHWcnxTfYnBXCKgCKQrynCbQRITpQVoummimXxfFPpEkmHqqPynGeuqZBwRwCGWmhOfDkvCFdlwvJshVLWyAjFkTzsMfMeehmoBDAeQZYkegsiElDLeeloWGbawouooKIcLxnsyljHgfwyLOsgLKLpEajQNZVfVbkMavVDytzjMwaQWFnNsVKGjNIBhAerCwSDpvmGKFuKooPshVjKmQHSBayFnaQpUflwXicKLGomIqgTPenPPiQRJrSvXWPOXmTcGrNgHxKjNkqUzSLDutTgRmKUrLO", "c_map_string_2":"QcMrjRBhJEHhSNyfVaXmsxzHLsoJcPtRhmeCvApNGaJbkcjOEOhOlqefrJljoPYBaialOppNqBrjfmunyQQxBFWdRLMSfALsDrRwIEAiUhzrzfwYgUBEwxiIginrOouPLEAGzlzBLrkglaTecGLTLwfVSfsyhEVFLwrnZrLDrZzuwPJitgQzmygaSdDMVFCWGjiEszcNhzPbCuhDeUsnUEVbhiwJtCDWnEpOjyUSxFhNuMAjAQkmpikEGHghTQMIpbzgCGrVtkoNswyNxlxrFwLcGsTQHXcxMJHXFGWyzMIaFFqGmDUOvAkXWCmmLzWurIfOWPMAKquDPDDKrlGUHMjHEySxftHORHfuZrypVGWVwQshRAqfQmdATAJvUVRVmIvbBhwPyivmBUTLcNLMvDXddWhmoEZZRpmwVKQNzzlFUVpQLtvkVGqjEFgSmLmsEMjADBqglrpuVUoGpTBSUMaDKGWKVcehorjRfKMNsxUYLaDLiQrgqIDTEeDyloTh", "c_map_string_3":"rGPRLSoNHMXzZjZCjrfOVbjgUrachuhimMSZIAhgEGYeCzdIKpMIEmNarkrWhkIPhzXaWWlUZtGuEfeVzDglpCwVjehHWZkaJmBUpimXrNKzdNXNAJpgVGtlOFSfHLYkRdgFEkDgvjOVMiKHFxtEUycrgCiKrsfIkqaKcREThYxYmTLeZHPIBiImosgkvigZlCfdlMCDINNuwgyyThoftXcYtWtvzzSsirrWtBSqkeVPIIkeHfEvouhsPEesDUdfQRmysNBlHBMSnrheHBRQwcJbkkgxPflBzfDwSwcDRXOPdNApSOFIWSbQIDcMcwvooLRFgsQMGBFhxNekBzYUPsdogMoEUjDpcpaSGXcnDapfvoYENMNSCmZyDDVoyKDFyfOsOIUkGTmNUTniWdzjsWyDtoZULKKcIzxMbBmkIJAkOBaZqHgrbrlvsalifDGwelWcRtNqDzZnPuIBpXHUQcXEDJlpsprhfAAzNhfRXWJvpmYSXyUqvkBahEXGmfFD", "c_map_string_4":"EShuPsMhcBSmwUQUlrtsDHrKJQLgzqBaCBbczZvQTzLFGJZPRYZWjFTxCISAPTSrQBJUjMZLOJZPYptzhBeXxMNIjKOoqouixbohQPCFaVhJNZEomAIBmZUkjpBHnWdECAfBkxSSgOVyeaGrfaniRodxIGBVXbBhstdcXbTmaaMIEvYymwPkUEAEyRSsnbzHkzRNDAtrpOyShaQSFUTeGoxBQUJAQHWnkyopVFjCEUALPsSoRFAGtGTwzkAwkemaZthxwiWRQQtvXAZFGeSsqwGJEPsreuRTWxFbFnbzAmNEvVMmicrmPosCNqsxUPGhRvjLluWWoJsjuxNkOIYqQzdwPzYLndZKcmMlxTHQKmufCshliEsewdPNoqgKloyazChGTVVfmSmyiMdLxZMSHvlFMBOqpvhytfGPGDuwhlZxpAUeADsKKDUVQPzwXkWrdGUbztJOEbIhPsxrJDQQnZOmJSVpDbsBrMEgRssDiQrSuBeozGIoiILNoShtDbHH", "c_map_string_5":"YGaHAVITnfwAuDkwWKWVkyPFBzzKiQYlCbGwoMEoQSeXyvAAkJgpmkdLQioGZaAPlxWjvxXPeDSFGZfikZdTdXOLRTBnCpMQOFbQcRcHfBOzyABWDeUsAXJkIBpyXPIOudfzlEaypCaGBnmjbCVnTfKATrMTZQstIElXXuSbnKidqTqiATulKTlcLwpUfpGIxEfuhvStLRXyOfCxnSxrkRuAVAgeLvIIYgeWWaCXLoaouFpkEKnKRHqhEkkBsJvHWAVupVwbRCvvRjLNIHWitVNatGYPywNBqFhivewGWwLYKBEpcgbLCGkbMqQHixjtCwNTBRGvdihbWGhYWMEbAjTDaNFrOEDQKxoUNWbOQDWVaPThONuxVWxhQRCsBSgpNfDibrgEJJmLfBlJlRCzObmreiVgtcyxmMkoTHJmLEzcUrkuekzeEyWhPvSrqqwTOdOGzPyFUNfYtYcEtcPmdkVtrsHOqdZLjbXsRKnuFifsYrBbtAOoDWDAIjmUOuyN", "c_map_string_6":"ODMKFfJnFZYNxyGitqrJBazrHABEEpNwvOfXVHXRoNqOcHWUzsxufmTZqZZLbtEDwZYyeGopYfWbyWGPpUWtiJcZoSONANUGLmPNbguFqDsrwTagZBPceNEJgksunYiwxwFueNLrzzbzyDRGnfjJsAKaKBiTjQaCTCuZuZhaWdfOrIBSeGMeTJxSOGKTOlnebTPByMWAlwMjZycUvNsNVhShaVqTxtOzcxuKMmjpZRFcxFplqoLtDoYcgCaFzDAFzkdgKUlyHRbxwONMusQZtBKauoSMzBarqMHmKXxCfNJLQLDtHAHTCDUgFtoXIIEdqMYLUzQBMeYQFTidlTQCsdUhDJekDgFFPCExjDtsKnTpOHETYZzDLnYrklSDtrLoZxwlbsSTCsVqYWcXbvgAVBYVfjoOODmcDEStqGrTelTsSNBjtXKNWAvITzsHhfqtYTbQEtjuyUqxVirGoEAfnmCATleWZKecicqDbHMbFJexFgZNmjfOtGfQjlPRqTVi", "c_map_string_7":"BiVxzJzTSKxhIFtlWnSynBiaoYAlqYXbmnqvVLKmjDGSUhzIpJCcDFQgbWhZkPfIpSwHPFXwHQrzHjmGIMjmgYuDBONYYMCfFmwfDCJDCxDykAUTkaTPlOPBSXuVyoMKOjmCDiLihtJhcfjEdkJIuRssGAwhpNGKDigQdhxEDPOqybmPuedlXFlfuGTvUSPrVsTcCjOfLqZiIUrpOfQIQYZECaRGoJgNhZoMBuEYGTSwCYtKgmtLJeNmcWDKgozbtsDPanLvYRlsmhnrKejnkJTxJoJeRdtlULSYxbOOXTLMLUADNklYUlttDvhhVZDHVVqNPCdqbuYoSJbJmkOulpcEIIjkYJpBvhePYyIncyjKLCOChdPWQEuaHxhoNxUUKZSPTXnsELQEDtZvnHnxpRQVPCVxxrpIqENDyhOOzPIOnYgnpDjRdMaqPgsTjBUNaVLiYujpIXovuOcZHFjVcAXnpFznldDHpRMfJRvbrAHbsSLfFHyTUcSEpxxJLWkT", "c_map_string_8":"FEDmEOIGOxSIKkmvJjcicttwcnRELYrhrRbhaiPpdzynlzoewwiPWeBLnegaMXovVTIJbGCyZPcgOuxIkxbzYbTdieUHGFTWnnpoeQlqixVMzrUNubdVxCaRFkpUPlcfmVwKTnTXKzItaYIhixJlFmPybcPVBPSMxqhphVrbOYqsTsOQCKejcDLDoKmYxZGkTeBtnZUajIUrwHfbkeiCXUfRXjnIBCthJibFZVBpsBcKEBxddhPIPPsPnSzCWzGhqXVcWJSBNWpsKVPAurnpxfXRsWAxluXUFhBIFmtXzgJVcnzbgcggdBobzigUiJgefbOTSfvdHwKOdgTjOXzvELDQKmLZzZbPYingEmFXUUGUEFELOjuibMklgCytLsUIuELJzmuSRCXHtRAOaSbCbueuIWUttuWsLdARfZpkLHAisAjjYtLALIcVrqVLcWXiXNAXQSBtLaHLWPCazhkKAQThUUmaWJpTtQkaNxDhLDAMElbMmqDHIvUPuMFbaLSj", "c_map_string_9":"MLetSQFHwQIueUAymXRzfoGPzfNDQwuzLGYgsRgwXDjyvCKEGnndpVtKPHpStWbIoIZnkLTBGiJJHtzPBUVUKnorksMxDJrCmpuDRcTXjXmbTnPDNBQcutMHPWnFhqHJsWMiwOqklAzTwRiLvEkZzPZmXxiHkbWCudSytqaEUisnSOAdirRULnKfyZIzqHHoenGUXwJvTFhJUGMyzFDXOcPzebfqCdRqcBtbaKyIJNlaQwpFSUDjIlDMriPQBSSszhSJARSAcAZjsjVbdZHLvEHnNtexfxqKKmtdVCmctFZTRWBcjStSiGzLKPMYfBKhUXzCOuseLBJfqDfuNsBhGWYZLlqNMpYVpjndgMYjqoOlXIcVwLDHcVPrpsmwHdQmkaTKUupiPNjORWWLNvZrPcKZEqoEdqaZkvOebxEQLdKQNdtbKkEtjHamrqLRmWjSXXfgWVuHkqXOwbCqjWMWhupmXQTxpMocClVwKHDTRgfCRHpEyJRTYLOUxdXHSfNf", "c_map_string_10":"tQBMYgnqvrljuQahbsVCHLOajvNLJuPuokuUZckAbZArTBoHQLsmmJrApnIwZkajmrandXATkkwDCrWjHUyFawleCYYKcytdJkgTiwxDBImpndWziuNcjHLiVpdvWRktWcgWGdGrynMNMvPbfwCtygBScotbLQONwJEVUhhzFswRKMvxtVkeJuNFeAUPvOSxfGLbzxfAuOanJdQxXdfrObwUUUwNgVFhIVJhYIcOxUNSZVikhGLlzkFJVnJXYBGIjMoypkDJKGQHRXjLLiNCKImSFicElFbBKTUvDJprGUNKzBJLyhwXSCIFLrcBHowIYprjIvqmXlWumdmKKykUkbBCjuutaaiPFBEOgZrUGqgexbHHAeAMzNFzDKBXGGEyyFrwgAYypAXPLlALUfkgKXpJsMpkURDAfjUrUQMFZRXDLAEWpfixfzGMqAnbyrWISbeYnkdlWwAXBMLlmshzxhnNcmVzkujMxXKWecrsKOLnhuedOOiMHvtObrsHjIGT"},"c_double":80.66824407924285,"c_array_largeint":[-5295501995095786682, -1492318897529193254, 896367606812601143, -613295308223908896, 3971011154957541763, -2716355392509029640, -7654557601731514882, 5343675432919845292, -1381232740281452742, 224527025569031421, 189763023982301591, 7328975546067429331, -8194549118566235975, -1751220089063994595, 8336559378779362483, -8801352944825265292, 1416968130072805207, -7050300676333359765, 214042600400027454, 7813811874329410380, -6888016865826390622, 782329709471671260, 2032901543379190017, 8646040713454624551, -2557885924091579630],"c_float":94.21428,"c_char":"qzMkjbagGV","c_array_boolean":[1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1],"c_array_decimal":[37.1314, 93.1578, 74.1982, 30.0145, 81.1824, 82.1128, 57.1070, 74.0582, 90.1659, 94.0763, 58.0718, 94.1348, 32.1299, 14.0986, 46.1557, 62.1234, 15.1856, 6.0670, 39.0761, 47.1611, 52.1871, 51.0450, 58.0638, 44.0856, 50.1640],"c_array_ipv6":["UqTDlwdPXh", "InAFmGpmVS", "EypRTBeWuI", "giXXsALzTH", "IFXxmOePLu", "yLrxqmtUrc", "bsZwAgxGUA", "YoMdsQOHBg", "LvjLOqxyPj", "YFkCsWVKbH", "MhFZxwhsgQ", "YmYGltjTic", "quyKWmEasL", "TmKpTAvZaw", "nmTPbVSYOM", "NvqfqYFnaP", "IRhAvPompN", "IbnCxmdvsB", "ppqDviugyD", "FpjczkgTsv", "RWLVioiTup", "axhffkycKK", "zdHcDTwDMz", "UeckttefRM", "UJrjdMXTqo"],"c_bigint":1080714189659043998,"c_largeint":-2478964582047187857,"c_json":{"adverbmanner":"foolishly"} }','{ "c_map_smallint":{"c_map_smallint_1":25872, "c_map_smallint_2":30329, "c_map_smallint_3":-15175, "c_map_smallint_4":-3724, "c_map_smallint_5":-22899, "c_map_smallint_6":20875, "c_map_smallint_7":-19996, "c_map_smallint_8":13632, "c_map_smallint_9":23026, "c_map_smallint_10":-25325},"c_map_decimal":{"c_map_decimal_1":33.0021, "c_map_decimal_2":50.0225, "c_map_decimal_3":9.0672, "c_map_decimal_4":80.1430, "c_map_decimal_5":87.0061, "c_map_decimal_6":6.1911, "c_map_decimal_7":4.1674, "c_map_decimal_8":69.1682, "c_map_decimal_9":33.1110, "c_map_decimal_10":76.0917},"c_map_varchar":{"c_map_varchar_1":"dztQhQYoyWuOFsaFhlZdEiznbiYbYnPIXqtCzGGaEDvXjxxoLaPVdCHOhAfentZDZkgGiuFyEVHdmigwPOdRvVVWcZYMEXerGQePgJrGaHaGDsCwedfQYdzgAGFzasNqbVtlagOUCrSepiiQVKnIGbFzVeHopWqxzjDtjRNwFubryQHPolDyElRrpUZkiIJMZViIMMOEBvqoewFcHjOWohNKxxNEKDHhiOkZybVaGxXvZYLnrtBWeygltyGUSQvM", "c_map_varchar_2":"JkajTstUsGFRcnDwEdbPHWCNCeJhbQmftYzFAaEIvJgHgWJpBTBjjRqWeRJEOVibRVgAvGOdVYjtNeBQnXtEZSwzNOtkggrjIPXOabtSTZXwhjxDDKGDLjqbLhvhIwwHxhbIlheHUZfqtwnkIpUhdVEHVsxtyScurTOzHGMYYiMVOrZntzqBUovHGPaFsBgixvDzrNJSZAXJbdnvOLmqgnIJlOUfPXJBEQdmxUDbPGKBZiqvgfDNpJastWoFdwlV", "c_map_varchar_3":"wFVQapeFdZSxyiTdSQCHKtneSOepuCaQQIzjtIaStTYYyzmyGQDIiXEApbEEAeHAOBYofDLIrKkftwonltpNlDfWyuGqXazRIEmnwUAZFjgiwuPbeoAjGGlJpWJcpamGNAiKxOqnMXjDUnOSipBTQsINBCgMdILqeUctWCKXeDlhqCvbJWNqrbAoZnrfaisnHZSljxdyIvPtegaQJHoqRWCrDazEHDCjXSUxNVGjllknPpAijAsUXKAnNuCKLPvh", "c_map_varchar_4":"sDgZGvXCryCMLMHskJajvpYkXuZwevsXQQhJxlaSlshqXMwfbkitPLxnQNCMxxBlWoiIpSUhdvMrPzbngdNUBQLxnajLDGRLeZHSFGMESQIJHYSUhjnFUsHXGxyeIQXIJPzpQKaCPeenFOGCZWHaefTmwmohRidQlMmhflbWhyfmrXxBRfWBwLosaUXSOfYVYhLeTLxjIOjDXjfqquKcrUntvtDmfjMutQyRXUiFfbxPhSZYbUtguDdgclQVgZht", "c_map_varchar_5":"TpvgEyvYFkRBNeHPtQduGiXQACgzAReawKiqugHuONAPUOaXKwUgAxAuHIFpxCyGIjMThBnVJFffOIRDEekeNZEoHRzhuEtFwJNFLjgfPJJMNMaeIiObYLVnQpfDmEmOuXcoPgpmOCRWuBnRUxBLBrksnTGDisyVGiBtbKdahRxmtysPOFcxOquZYUznbMzFXFQfPxJppcyhwDEdlJBASAIiLkkNPcXZUQeglGnVqfOtVBMLTplUlpoGxkAUQKGH", "c_map_varchar_6":"VRIAPJjPOSVbSkTKuPnXmOFsiiaVZZPuWEyFwgfMNAuUwBayocYzYmNKWNOCiHmkoaLZrGZAHEmtPAaUvgxIuIYUwOCKcfIYTNPSJPykSSkaHHLWWXDbaWySOLFRCsvohyQqbjrjCLqKZvcSxJFngpFEdfvcnuYNOchLTFmsZTgEFkNwDdiZiZuClsIUlVDwFBxYwxjHmyYvfITSgpIrSabbiUQcZUSlHjoXhqAIlXZiYOnEnTRljeKDNSqyELvZ", "c_map_varchar_7":"mEHMyqtrMkFYmWCvFxrYahCTNHXpepZDvaGopzjdzoDrOtxzIpvERtXcJTgsEdeoINVOzuGCEoLmfhfwNxWgkLBLIejeAnoNhUHogUofLWnewJnIHOXSeXmXZWXatmhvfEeGEchNSVUcsRFAUpvPepfvBkjjnqTudAvCTnIJZGKgTnYKWhWVyUYMiWKNgarezyMCQbThPWAmkPWfyyCVgRsCDgcXVpabtftLJxUatJUGPcgLDpcjeyaOpCQdbWBn", "c_map_varchar_8":"fulSCGxYagxCndDWqBBsxaaZushcLaOjGCmnXdvIvNRuAXgFybWoOSohWllmZbSIOUUzhSdzXLqWPYdszYWYjtKbSoPTMQncaGdxRjeuiyYYYhxAUXbXhSFQBwGxptQmXgCIcmupjsQYeeoDskmuwkEHWOMVDrcrbQeIqqKKaoqcPvJLMoqHgkReVlSoeXqXnEEuYgrcIrDgmVwENHSVXgqdpyCTMIhSWsFznqnkdlNrEaQsNQcNXqNMWzdYEVgQ", "c_map_varchar_9":"AXFRIdHspePcxQfKTtRfJRORqCkwdrktUazLseXcAYnbImITUszGkWwhxEBTSpySpliowsEtsNfSUafOMIKIhYZbNkQMjiUSfSpbJaxZJLjnfDpAsITaSSImtgZjFABAHgAhHmXYtAHblerFsszwVxJMSqiQIZrIITquewpmrfbdMJVoiFGctFoJcAejoQyAhFdlbhTebBRvXCCaOsWAHadeojaNlknTNxbIiJDsftVyGxfDoPDnSeCYAFTinhvr", "c_map_varchar_10":"TMUgjwCvooeIhgrZPwOMvfvLGFJHtkLafXBCYMuFiFemzcImSvnMnSIvyvTgYDFcDhFMynilglRhHQSPiDvcITJyKnbLvdbXFGOMucTPRzzBwIVLjTcCjmFaJqQLkQmjoTxeektnbAyKKwRyzzagjolnxwyFwdzkksmyIMiFmANZxJdvZfDFgHNwrAqVBLzHvfWfxDgNBlbedsYyevXRvFoNRQphAysAvJiaLIueXLMANupxXKVDNItpSWbKJRkE"},"c_array_bigint":[-8384589733041120348, -793981628032751799, -8414065726269628756, -2962398859067376622, -6363751732409547990, -2924594777134778983, 7057945590972598577, 2673700608475889553, -5943687661562387890, 4008468997527941292, 681555057642383552, 7345198533384208632, 5793805040181551049, -1886010522816835718, -8326818644237871168, -5642197948834251456, -6668607785995002053, 7891516470981622151, 5100026340693065442, -1231777645860510118, -3054349658621874570, 3222338630908629102, 3213844558613958296, -3027686447997297498, -2714540186051945274],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_largeint":{"c_map_largeint_1":-5327910217395486178, "c_map_largeint_2":-8491171373668555040, "c_map_largeint_3":-4777275587762051146, "c_map_largeint_4":-718843112739777282, "c_map_largeint_5":-8750443931020856883, "c_map_largeint_6":8271481702598318368, "c_map_largeint_7":-103749902938618123, "c_map_largeint_8":6759974429201692309, "c_map_largeint_9":6604102138055524907, "c_map_largeint_10":6929130356092429936},"c_array_tinyint":[100, 25, -69, -114, 109, -25, 16, 92, -91, -102, 31, 84, -12, -27, -105, -105, 52, 35, 48, -98, 79, -98, -42, -120, -115],"c_array_int":[706938248, 2031158919, -1343232190, -848593072, -498827474, -1652264688, 841318224, -1266820965, 175067693, 373162175, 1995767295, 392013445, 478224185, -449810863, -539162597, -1079969603, 1856739624, 776144849, 1705367483, 2108785405, -1437182150, 873325981, -624539800, -1123645199, 1627714915],"c_array_date":["2016-12-07", "2009-04-21", "2014-09-21", "2003-09-04", "2009-10-02", "2004-03-21", "2016-03-06", "2006-12-15", "2015-08-09", "2011-04-04", "2016-03-16", "2007-05-22", "2018-12-08", "2002-08-07", "2017-04-27", "2014-11-21", "2008-09-02", "2011-05-11", "2005-02-01", "2000-03-11", "2011-02-28", "2013-01-24", "2005-09-03", "2011-03-24", "2011-08-18"],"c_map_int":{"c_map_int_1":-1073412238, "c_map_int_2":-297130685, "c_map_int_3":-1610085201, "c_map_int_4":249573615, "c_map_int_5":1713789672, "c_map_int_6":573594345, "c_map_int_7":-97436079, "c_map_int_8":-1450424874, "c_map_int_9":-1930958511, "c_map_int_10":-469331061},"c_map_datetime":{"c_map_datetime_1":"2003-09-18 06:19:03", "c_map_datetime_2":"2016-09-16 06:25:21", "c_map_datetime_3":"2014-11-17 05:06:36", "c_map_datetime_4":"2003-08-24 13:31:09", "c_map_datetime_5":"2001-12-01 13:02:52", "c_map_datetime_6":"2010-01-14 17:20:15", "c_map_datetime_7":"2014-04-05 02:26:26", "c_map_datetime_8":"2002-08-05 05:00:34", "c_map_datetime_9":"2019-02-03 07:29:13", "c_map_datetime_10":"2006-04-11 02:51:03"},"c_float":14.566526,"c_double":91.15245648975389,"c_decimal":29.0636,"c_array_char":["aNhsTndjFZ", "oktGOvvrIr", "DsopzyQDam", "ghCYbkwuUS", "rgfTwUMTpE", "ixalvNUxPE", "mayGhpuPBI", "ZifBvXnPJQ", "IzEpsRlAKV", "DENFIHaFXE", "hebfaKAMLe", "aykbSVxgAZ", "gilEDFSTUo", "tAxkcfmMBn", "CMhnwyyTMd", "IkrFvVZfpP", "TvDhelNsBx", "sEvvNXHQxe", "cKaepndPAp", "pcaWvAhokd", "iFhioSbfef", "ViqlVuaFcQ", "xyqBamkGCI", "FbjFOwESRj", "cIyBXohJwR"],"c_map_bigint":{"c_map_bigint_1":-6140217221958944265, "c_map_bigint_2":-5729500973539955409, "c_map_bigint_3":315350797809652688, "c_map_bigint_4":-8896496004105304277, "c_map_bigint_5":1970767056684577254, "c_map_bigint_6":-5317300814837438472, "c_map_bigint_7":-7320909845151407435, "c_map_bigint_8":-4771458737170930626, "c_map_bigint_9":4296978226010711629, "c_map_bigint_10":109664995256944710},"c_map_string":{"c_map_string_1":"mSlLMODayOzAJdgsNHPefCvAQqcyHvCIbYzqqNLJpRALkgKwXzaVPgtSxbtVKqeAmmjwTzZyBQKqMLzmUsPLYkWjMqeDPWLirKvoCnGbsMrdQMEucLokqQvOskdaJIsOkiVLPqyecbVRzvzmJDxvtmDTfuSkFdUEFVswoGiorSvcoegfTwSeLOSdRwsqyMXzKwXURopLmbVHyELueznpnAqYFLrMrQkcmNvnpHoukfoYvkGwAFvCHapkNVyZqyFORnCmIhmCNCldLFjtaRweAIUkojaCnnegnBjRUSjzQvHfLQKONeSuYzsHQUsOKIDJyxJOdOWxsxNPmMgfYfphhYSNseFMdMBmPBUudYzmqfuCkwhLkpbDgCrCqYtDsDeQtHYeNhOnFBzTkuScHlWLdMQcrEGtJaOOJfLwwsRnkIsgdFxBHklFBCtRSCOAfVjxIBCyqMrvLQWJhPYSRSzFOdCUXbmrpDqMHEcBTCMFDIBcWjxCOHOvsTYCsuKbmbxr", "c_map_string_2":"qEEXgXTTBvTLOcfkAKFWTjthPJJRCARZBkGTbVNLLTrKkHhKCyEeEDXeqRgvlWLRvqRSQGqRCIbxIHrqGwfLoxjQjogoUtResEVbhpMRSoZyDcXfbdaAtplYhKjAkaFwwVaJjJQoFiUiemWWGjnUzpLHoOEvtPyrBRXYkuEfyGZeaeXfJGSEtnxaKZhxupqJkpCGQjwRdxDfIinhLxxOTjhukuyVvJBjJDOOpqTChXvbZAQXLeYvxnfVWVqnnkWOoyLYNtppUJTwuEnytrEtcldpcBQvIYzCfoSoAuTKUwUauJKHBTOugBzUwMPbKKhDyrWjSNDOBjfRenlIqyuokmhVhGMrdsSLSHLcIwpmNLkrMImAMcDRBnFrgnqgRxsYgkFMwdRsUHbDLfZArttqILEawffUtYdkYKSBSyxteppbZkZjDFTuwMrPQpvcoBMgAyoZxwmEQCeSbDFgyDXKEyhZaLZCcYTFHnNfzZTGkakOVJsMgjtxkvaXnbnDoUjc", "c_map_string_3":"MgaKJqVFSMszrNRMCBWwGcBoyxiKdcRkPXPlFkIlwIzJHSfGDkIhviRBiIawdKrYfWOvyeHPHSoKKlkqBnZUvEtPtYROCeBljCNECTUhzJtwGQUsFbkftyQAJYheDsfosbocTlLFbkwsFeGbbgzvWGiYXdQnvUNRrCzIpUVRQFaHOTHhnRxuGstMuFhDctgdRrEjRGvBEKujykMGQqlJOdfsfngFZHDWunFHqVDjoXjnPvKZndNKeHSmmKARGGoPzqgHqKkkuortEdttCSmpLaYoyIvfIXZwdphHatgyUMyQErikraWxaQmmpjIUNIoaVAbFvuWvlLzijJNnuLtVuusiSoMhKGOpMCJUDkXtnASczRmYvLvICGhNmwLmqKlsMMIHEKgrBFUgWXEummTyumWGpIhebaPfyuivoaERLXEYPmlCPJFigWOqGnjcwFWlKDloHKLiAuTGLKqIMlxUbMdiKHwBdKqoKIQdmpWlPUnuPMvYlkdyTYKNTORLXMwu", "c_map_string_4":"OvbPMghofxtuyKwIQDyagLkbAfiCXmBqgnIBnjrGPawqoBFsbnGgNgprRLLEGkBfEzVycViZHNIcLBEgXcFRsSFbQequOcALNlYGTWgkhwjLiEyUZbkALCDACaQnXfNBVuUEwMEpNuLmPnOMrhYlZbvzvGCXquVDQuRuPUmAIOpkcfuLekhSEcvjdqiSbapmSnsJsMHjHwCDViRoOXYOCvNZYbUmWwUtFkPAEOIpTeCREaAsBWGOAblrWDwYMATiXpCBhXlRSTXxVIdPdEMXCxGcJgpYLMeKhshlYHUCTXHTOpECdJAKxtnIpJQRTSUJpMrRKqbXHmPbUQKrwtiEENGyKUxijOHabhvsxWTieoSjHBUyXplXrLpqytSdSQPRccaVcOFYzPngtfgQzOHVMdMGSisCrydVpXOMsUSFUAFUcjsRMiJmaVeWyGPrFdreJamruTSYlgvZFyXhVbErFYuwfPTABzGwLGZysiPshaqESEpaZEnqmMcmZndhlIzZ", "c_map_string_5":"WydRapLhrbGUSqRgxPTqQVUAvxRNJWGyqomRoEETdzdIXuYnYBpPcpVLfEZuiWJOgkNXiaeEmQthmWsaCrMWNWHKNlcVtukhsjSppYEbBxdlxsiQSzRQOjYDBqAJuznkHKLkuTnTgQynKVMtAMDvYcTlSDTkgLKuScsCsLKgmAUYmbHEbIOyskoTSgwIPFtuTvafUXdGypXgxpJlEkOGXfExUNjxCcVwqxunWjPceCYlkFMnWFlSqJHFyGZeFWNwsRLrWMpvFTCAHoqtDwXOiXnIazlEpfaXSjOdLBSiqerZalOzfvWAvyzJVxStlXZEhPcDvzOWEazGZGmPgeYuhgpCzswDumzESIkGoizZYsAOWfykGYkFsYYrHDHPHDLqeenSJsUdwhxhnBJoojGEVtTADZzOuPeAXKOvEuilarjJQmrpenQixIynmZZxsvctnuNDDdGhMGNVBkxZhMOxuJtiIrxRBJLkeMtlMIRovQFOPdWRknMMFPvNzhoeQmMQ", "c_map_string_6":"tdwKPBhBgSMvKbfAzyKGZBImUypyEoeYxvIhDzLipcFHeOuPKbCRhcSHagLXXeTWoaqbWXeehQSbMniDDlbmOqGhuZgbAVyEsFTcZMSGXTLgekqdkARwldOOupUOsbZOhhntDMNEFBVJNEMPaIXkDQBQwARTwvaKYUCdEMwaYQHVjVvvBJExEoCYhgVGzneSHFPfFDGOxnfLgiEmJKweGlbNIcJQWffxPDNLnKQdgnSevoAjPqftiAfICEwyXSnJCjJuOaTehVdnNWMuOqefxGZMPskuswNsPtKFJUUyvyOjnynyqoaOGbyXeBbOcuHQRjFwftNyszQZCvhcPVYWCDofvrOTmaaPhfywIjXwbzUvePwGLPjwCQyHIUqRvlwutPDaoYLwheCXVwpZoZTHjMaWuGXamBweJMvRvrCpNJWPQdzNZTraxESnxOwdNIWbNxHqnoeTpVprefKRXKYyxmaIbsYOoTaLdNBkXYhaIWJgbNEFmMxMPoUqgHHXmvlx", "c_map_string_7":"GxPXFmQhqiOKgycVqJFKzASBfvllLFrurYSLjEwqMUhrGkwyWFffNPbvCXaNkGqbPtamaZRhmupjZvTZYfnTSrNtcIpkKmhufSYtWXayswfxccwNDhIMzxoqaLewtmVybOHCwxOrjgbsDEENgzbpAUkBAgnovvnWYzhTnBdJvuDXakQRMdpaZbLrQfubaPznkPExGUtPbbpdloGqfgcTHtGyNwQdoqSFbueegTCATixmQqOILmUHtArGGnlKdRBFIiAWXhShYxluxGnSjfKsGVdoYkcQDEWwjPzqqHzxAmOvDiMKXBEVdthSFUrcGQBoXXaGzHjWPZhWCoQHqhXtoCAGPlqLQvPTfQTXMUiZdsYNotVTDlSnicULfckxQrHeNRTBpEuYkoNpevoThNpXDBXzpoSdjDgpbFVmiBzmzopfISLARNyunTpcuyrVdsIYnWgFvCXqVpJCsyHfHuoNbYNZoWbDAuWZZPTDquvMyojsJoewJBmWuxYaxkrfHjIQ", "c_map_string_8":"ERqOrXtRqxBKNEFVWzWmABvGFpOAxbvQWXTAIXOYprnspsSebwFTgTllGuLDgzRvUKLcsHNhFkdBzTDDlnPzkyXRQthxGHghLGOANLEijSDpWkfzSLvIVPLJPPXeRVefuidZBusNRnnvuouHAMQnmgdhJGcYsKgqnwzCtAOecknjWRAymnkLezjtsmOryTjiUBclrpgyJLAKCZUbnmDUvVvBKyIKtNpoSxidsKGnVdKjeCWusHpGpODEQgoSnCoENxOExayOaUSSpqKOqLvCTSZAreicbhMttYbNrpPWwsRIytqTkGsCbaFmoFRvPGZCIBLMvuKUrPwDyGIuZruaRftwrfUChISkUKrbKCDcSUCIYBEUTkJYNkLbXMufXGZSznAsILzvBCoIvPdnzAOomikhrvVzSWKdyKzthyKvWPvSlzsdWXYKwbmoNOmXSLOHJRwQrBZNnDyMGYeAfpwPrQnEoYcjYiIHZwQdvxBAycUvJppDiTCBoNJaSnwitmGu", "c_map_string_9":"iunGwNvWWxsVOdujkpGUSKTbmychbUCKLMUkifJAqvFmEAhTclxqwckqIjjJcWkWhXKqVhLZJHncMPydYEruCMctsTQUGgadFkNiWMbusOEHUuCpRVGqicwPWVfLPDlvtLXgwEyAekrIRZcLUnLFzOvqyuKUiqWQpQgtRDbeKnNbLwLeOxfUfzNihsKyDeYTfsrEcGYGQsvEEYQYWtgrnskAvABMcupEvrPtkHsVqPoSevScWpXyPyAGqjMIRcMxcJHlEzcwCrIooqQZzgtBpSqaAHvKkotxXFvjhsPsfnwKHUhNqbzfvGCvHcIlUKECjXlkaGJLwZufvMHsBqVEeENtFzGtpnNfehFRgNnKyJcaXcsjWJuugfVniVrttwWGkaIZHlkbTbiOEqBfdzQLUWKIMdQCLGfhchaVovMOCTEtHObdpTBdILxJpFrbJhtJllyqHeGlwIBTiYnvsbHteyEeMtDYbFzJfYaVWTVLoStLaweMvWUJaRzJwwGYhdtr", "c_map_string_10":"dLZYlRNgimqROMNZBtjcTmVGTqhhiqHDhRcFeASkNSOuileJxODkPuisITMdpJscQuHasNjHWRBbgfZTYRwmsLSaIdqUPpTJUqcOvBoSLRuMUzlprFzKPbPkAnrWDqsBSukvntdFMLvyeMVceLnhlZGprbTZlNKEWzBlfTIbOpCaWaASbMdZXqxAWfYEiVrBEREMiopUIyvTefALZzOzDFubkyHBCdwYLlChVTPcvnGamFOZoEDWjRBzdSvsSJxIjaUXIMTtDyxwNmOtyOEsXNBBnnCDfSveqEVkniwkJNXrUMUryEiDAqkYKQswevscEEMkamPRuaeZJiGwriUsenezZgvpGBTxgUzrtZEURgBPIGlAixjXDMmyhooISyJTQHIvdpjfLzFQSgrdCnqDIWgtJRDAfNmqULgztohYaFxpunlLWbrBmOZcACkkYdxvPnysWlSLKgnMyFuvkuPieJeJdplKmnVhSVlYqQiiEhnueYnhBKrxnRrGjZLwkgtx"},"c_map_date":{"c_map_date_1":"2007-08-08", "c_map_date_2":"2005-10-12", "c_map_date_3":"2006-11-08", "c_map_date_4":"2006-06-26", "c_map_date_5":"2019-09-27", "c_map_date_6":"2016-06-03", "c_map_date_7":"2011-08-22", "c_map_date_8":"2005-01-19", "c_map_date_9":"2000-12-09", "c_map_date_10":"2012-04-23"},"c_boolean":1,"c_bigint":1525853557846316741,"c_date":"2009-03-01","c_char":"hKVINUXOll","c_varchar":"here","c_string":"tKhtdLqacNzclSrJhWCtRuOvozgOCNCsgPJQVrOUcscFhDRBZBdlSNBSLtxRRXwWVOgOilBnbgIHEaDqHPDaKZrstqZCdLODXKMjfcfDNfVtRMnkaDwWMpfowmDgSLDNmZNzEJvIOEDTtpcZthqdxxkJACQCqiVcIFacrGnLoQJDCxxiYollhMPkvNuPZuwzNEYGHkZwvhNWVbNEtCrCjIsToaiIYtrzNDixwBfFxcGixmhyxMEdZsNXSOWtTDYVvmZXMhuibJqOYWuXnWNGVQdVdpZioNbgyaSRTzeZZCNCeStHLbWogAOuNkhLultMVPvGGyFdHXbfSPoLjkIjcHuXZEcsljzVdcHhFvDLbosKHTrMxYEsdvliZylCeNlFFABdrabJLwywZVCqtETbkWKXqTAmHpNIvFTTVzXzolxndLFOOlPylZpknxDEAIwMuyHCsnnzeobvwgrqDyGlADmWnKtrRFGatptdXlINtQpKuhPnLDpqoesLrrFGMwUM","c_ipv4":"167.133.255.192","c_array_boolean":[1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0],"c_tinyint":13,"c_int":-1355371560,"c_largeint":4383012190379467558,"c_map_ipv4":{"c_map_ipv4_1":"79.156.86.30", "c_map_ipv4_2":"120.199.137.185", "c_map_ipv4_3":"195.201.175.23", "c_map_ipv4_4":"146.73.228.183", "c_map_ipv4_5":"150.159.252.130", "c_map_ipv4_6":"54.235.217.90", "c_map_ipv4_7":"43.165.53.136", "c_map_ipv4_8":"70.238.128.123", "c_map_ipv4_9":"155.15.73.249", "c_map_ipv4_10":"251.174.226.202"},"c_array_largeint":[1232649866273394978, 3032807054317820223, -1452514457421133025, -1750244176578507351, -7597954418140399462, 2163291185290321938, 6195643655283191076, 2942891964616558128, -5823085104766527642, 770556656551402252, -149829049777965128, 526255866964728153, 9072902090490921477, 5718626506006118377, 5912281896080170955, -3813781552290757406, -1877436141563047050, -3913767318918428930, 5121823698034257864, -5097416629316455421, 4108589820586381819, -943797288334550503, -9034997288689767349, 3432682154731621221, 334331392992733668],"c_map_double":{"c_map_double_1":12.120755141957442, "c_map_double_2":6.198395055817812, "c_map_double_3":84.22688074790449, "c_map_double_4":88.57231797357292, "c_map_double_5":4.063354983044259, "c_map_double_6":72.56903647985536, "c_map_double_7":92.51800879055776, "c_map_double_8":90.95591487967253, "c_map_double_9":44.22810925804667, "c_map_double_10":100.50298431417198},"c_map_char":{"c_map_char_1":"uRWeavXhDd", "c_map_char_2":"rhNFkNSwPB", "c_map_char_3":"tHfDQKFYde", "c_map_char_4":"tVdddCcese", "c_map_char_5":"wHijNNbClX", "c_map_char_6":"qfHMNPLaZy", "c_map_char_7":"CSnLlPaxNu", "c_map_char_8":"bNOcASNOEA", "c_map_char_9":"cYKGrIlGeq", "c_map_char_10":"KhlGpRQdUG"},"c_map_ipv6":{"c_map_ipv6_1":"bb10:9cfd:76eb:28bc:6d01:65ca:b001:50c5", "c_map_ipv6_2":"35c6:b520:d044:9e2d:62b3:8003:547f:31d9", "c_map_ipv6_3":"4a0f:9878:27f4:3fca:154a:24a6:d9df:8b8f", "c_map_ipv6_4":"a111:7ab0:7fb1:a7f8:494:170f:55b5:6783", "c_map_ipv6_5":"9292:dc26:e110:217d:27a:feab:8b5:ff90", "c_map_ipv6_6":"2a77:b5d7:4c41:3ea2:aba4:8a4c:f15f:4030", "c_map_ipv6_7":"860:5c5f:5cf1:5eb8:7638:20b8:1746:3960", "c_map_ipv6_8":"302d:63e4:a4ca:6f89:5aa2:2a11:f53c:b7f3", "c_map_ipv6_9":"55d3:3e65:db11:328a:5cbb:43:7d34:194f", "c_map_ipv6_10":"a605:412b:521c:d3f5:1a7d:a888:3b5f:aa94"},"c_smallint":-10404,"c_array_ipv6":["tlHLPHOXNb", "ciwaQZVulg", "oaKnjqaCBb", "YlBgWFftsV", "EidCneKYjJ", "tRVNFyexmZ", "btJwnkdmfa", "vrAjJrmMdw", "GiZnUvYqGm", "YJIAyyVPZR", "OHuGFdUNwp", "JiUBGJigqd", "HNSfVDDNAe", "MOkYydbolK", "PaQESghRTY", "ntXmYLOBOj", "OxqDEkAOeG", "NrUBbxyhGm", "KdPhauermL", "XGJhVpcUoc", "xvpSWuNcBL", "YiDnKiAIco", "rifDnCBmBB", "kOfexgjzft", "syuuRdeGsP"],"c_map_tinyint":{"c_map_tinyint_1":-113, "c_map_tinyint_2":-66, "c_map_tinyint_3":83, "c_map_tinyint_4":62, "c_map_tinyint_5":-2, "c_map_tinyint_6":56, "c_map_tinyint_7":121, "c_map_tinyint_8":15, "c_map_tinyint_9":-85, "c_map_tinyint_10":-62},"c_array_varchar":["ncmNhPShLkZCVRspSXzDgDiIqDHAFWEmBULTvEdBNcbsshdZFnuEDOMDdnUrVeUohHZWKHgiwxfQKsPNjXGClVuvkZJWcNnPptqFDfGrUJrNawlPsAWgMMnZtOUzWcoNZWantywrPbdKhOMgezcajSaQVzOkeMSjksagKdAHWwLovoyDBNXJHByRiTvHjwQVFhQcflxCxrGfbqFbyAdsDDAVHNZVObOCoGAUOeVopXrOvAIwLQvYOHpOowZgetjj", "BhpcLFaXqwxuHEmerQwoxQKwOESnTJjNTmnAmeiUCazHhjiOQWMlgloSPdUGjxwXAaBZIBKyKlLdcocYZRgRjDKuOEAKIsONoSUfrBKwHMNvaDXEJshFqXwzFoCTBtbHORaAwBOHFEjtKPMmtgJtVtyzdSKPMegUHXToXRrUGxTbquPRIvgtopHrbQmvaruqPzqRfDeEuHTvMHPqJDFNXtFhKaCblTlemHlnrOVZKQeaHJLsnIyzzeQFTKOWtyRL", "AGsIOMRhDkUYZIxgNTVacsDgiRfsyBCxBhekdacsUAqgPqKhtgGMSfZYgSLbbgZjzaYdwXMIcxwaBGGAdWdpGJgPCZvXmEtxtVWBvBSPLFybFqdrqmcRYzHSNXfmzhLfeDDsXYTlSgshUtGMmyDUuVAbTECeFITHhPKnLMtdpYlalituKlljxjEQJLntLsvINklpSslIPuByQBzzgpjQDwryLshsBKJpHldimChOTrwjfIEWtJHWMseEEWGPXDSf", "LKGgkoEQveWIDwnJLLqdAMgxGjqlIPIjsQxuFbripfoFUYDiOfBcquegjMYTQKBxicijtEmIGyhLocLJJOTNbquMGZgloTnzVPndxSoUYeYiqJqXrDUrXYnUTSdJwIhKxcEoUbXnPNWRmSjXXIGGVNqSdqJwIyFlZTDYsUVtEEqxMauBZeyhqlcAUkcJQRLryatgLDcoZPONAvWLXaZuBSorYAoNmyuxMARPbZKJxOVLdEwltbyoiZvzKPVGVLQQ", "JjucXYQKRtaKXQLKuGjUpophUdfJkUlpbaFPkqYWGpnUYwPtmKyPvIfSULGWManmPpUhYtGUFCIIpnUpeLaqbYNDhxfajYlGMBItyhYJaVrsJzrWKKcWrbHORqeJsYsTfngtPjGxElOsNkjLcPdeDBfjuoXhcvDKbnRfhywMCQidFSRHLvagAEVsYnzLXGAqbpYIYiSoVCtPcfdvFCsEYdgLPaOhiHECLJLVWUwHWymCcURwjvnrbPXZOIuUVapT", "lFVpplMrRYRcrgXqAECKybNOGHmAEEzCcsLuETEVpoIpTfouvEQVQQMZFHBaQEkCEQxqmJVevOtButVSMgCPTdMrtcXunVgvoXQOQNHbxfWZZvBCZNVGJWOtrKsJqVbMnhlFmRdaLnhfmwXYHJsyoDSLDqFulLhfmFggzdjXJIzZDndorXfERMVbpvbklsVhushFOSjvJUBVOghKhOhnaDnmHUBAUsWtczNEgcqUgtIYaBnzmWHibzBMejsDEFNI", "wipkfvuqShlIGnYcfjnMaIIgLLRORLzEOqlkMFQeikjSxourutPOmRWIXEIlSpQLCagxezHFzcQTvuTRyjSMfLkjvyXFKHCueZlyvLKQkrnXeMPUOJkkDpSaYHpYmREvAquFiTQLeUGJuufBbYwjWbhDnfQgmFfbcrcUuFkwLdyrrGnGrZAInJCwyESsVBKodtmYCvUbXyskrILOqMIEAhiTPJSwKWtAOavqGGsWYlWuxmLGmdnaOlEbqLpLaoyz", "NlpjxMLBoboLJkeBvaNEMJfuEUZrueqIuKVdQSnDuDSfFZxSgECJOVZKBZMqhcEEJfgRaurIeDNZOOwtFqtyhHQpmWCADnoLOaEWTirRevlqmKeefyrDdRRgZHpHEWumzgjNwtGYnMkDejvpkzRKXSBKAZXwjREdVgqPwrdQYrztLUMedptuouffRrJVdTuWfmupMMsLqsTLDTggbthHgNBsxZSLMiUsqjYIwjBQkoMyWegyREGmiloiWUSzbbhw", "CgkskmDqVZMzpEmYskntObbbjxYiYptPhLruJKWWzeFuEvpblYfETuKPWzfzxFDWqJOTXvayNLMRKtbnntejDcHTZIWbYHMmUKkrWKupclOsjVoFcGjrUiSQePvQfUxOQbizuLfkHGDdsVhLuJbBEOGozptHxSmeUCtQWOnajmNrnCsiMBGFBTXCPOCPzZXKYgrBQDQWYzlwLHwgSypBYpCcqGcBfUNLAWTCFxgaNeeZmejDgygWWPEikYFmAjJe", "xfPSJLwSqcOlXcKLzPIpvGdejHQjqpjcvyDHWPSlCEWpTvdTfjUSNbRxxjDgZzJxOfyZTGZKnQYaJdsIHcVMWbALGHHlgCfKkrOpfIOygMriURLXfnaQPICqkcaMWwKjPwqmukPubufmEfqWaBHeKWEcZjSTNDPtGxBZmxLAKLDOFkWiKdxYYbaDOPLnckbOPtokSILzOkeuqsiPvpskuKapbNMjILsgYwBVyPsECkryCVoTrHXSloLohlkMVytJ", "YVCzRMwFtaOqerZVkepCVtCyOhPkfoQJNewuxncOiAVReWyBLpCcrPHbabFYRPNPuYqnQoFHmhVRaBdcUskahdBTEDlDruwMZBDKhlYIUwQdBtynetRNBAEyFJuCHKPXjGEWXoFtCFsmDWLaqBOJPZMRLAlcVGHQZISVYbzjLDUXUIzBiWYhqlJpmivdxWMWMeAEQLrwxYewwVMHSgDKuMqwXRHmxSPfQXqczDFHMIPQmMMObAOdbQDlBmVgjqJx", "YIoAavRNRHyBnAThSMwENMFHAzAUnSqbqasOlNihUcvYIbkahQtqtkFEcgEJsfREzGqUwQxyllsRWnlxAOpiCwkKjWUyuJiyDdOycaXHtSaBteegnFXHLJaocNBNBlZIvQwwJXESvsoBYenKSnWVUAYuATmFYRjqxnLqZlBxKCAQcTZKWaXhTRCSpDfZmheokmkKncFxHduRCTgNnMarKuMgvUYgxwpYmygUhwjYbVKLFCQiytDzeWklsHcwmTGX", "ESobNlKovLeruatKXOkSffUVrpouZWxllBmDuyMYxyqczLrewJlAjcVyHzWkFagRpiTsNDtacTMHfcqNCuoopzLhHDwOyivPynKmFaHVjOZQENAlSzcSfLAHOPNxhoiaDLpmmVSnNVSlkRwzYXwhFUqCQRSAByLHInVYiAnfgnpoTCzBUBAxWpSLocTcrLsWzFsNqDcfNCycMxmAOhdupQrDAZzLzafbWuGXwSphKTzUcYIXJBWAEuwtaEHtALMd", "DfBMZDEBfNtgDReDqfQWCaqeealYnXgoQraLNcLJuvDBNSlxIHsutxJFDRwsFSsQgqmfUYoFejGyolrOAMOkaCZrEXJXbxvjYcqgZwxdCpnWfejzpJSqRmyGDCRaZffCuSuJTBJnWhVxZTAoMEAGVCCpFzkrvQAGdvHhaUJGxhGtjLJUuuwWugkLVswUvBaJXsMSiXkopYQbJRSDxaMBaDCTUVoBRjjxAzTNvqLkghzUzwygIkcjvYeMynOSDXYk", "PqHVNRxgBmfxftWmlfZvRuhGTPrSAjHzKhiGbcOloSOoNfDvEblFqgcSYINYvcAiITAqAydzkFINmfOdsWdmeNGbjaCzeRJPfcoijyvfiHHGyoXdoumqWCruesZzxnFXihdqceNaBKNgEjCjLpQOOpLBwLpWFTQnYhqeMMIDLKqiZyhjAIkqqLNSHmNyCcOmHOdgeyrnefnwesFjtORfSHuXWpBQZJsXAsknGppnoWtQXwQzjsNRswRUqTOsemTr", "QlCZyOLoAnBQtbbnALTLuqYjtUykpyWfACvCnBSkrJNiuDnXtLOBhbUuQWONdZcFddqFwgAjezbjKwLRtXwcHyhWgtTALTnMrJplgBovMLKsvoZjzpiOSQjhoYPEVWfRuJMtwNMQudMccxmrGbxPKhmdtvtAoDrYjIWsftfLPujDVTPTLojgsznIqHBhfYykhjgCUBaLtVkTBAVoUJiHdcnjDVnfSTWEFJdqUmsxmOjwdNTfoYEtFceLMyhlNvDL", "MVMgmUieSzUtHXjyOvASCrGIxywZeZxQrOCJBoKIdqBLeDQjvagDlnvBsmtqSwDDrFxNcGZqMJPvGKwgQkKRQVgtTVKaOqWOkFfwMmWaUaKxWWJsbPtKIOMzkjKKlHtpSEAGLLBjvHyirAQSboTXKHdPcdiMpsWPXSIcbAddEtOwiSxcjoZFcPvnpXcwUVwGNWwsznbScrXVSZViuEBmimAuYzkCtcQZlMZriidZhSvMJLznZIPrgfeQbqzVraTg", "FounMqoqFWDzEtcvyTmsXdFDkWULjPksAdDFZRRqEpCwTgyjZHeZcmpRgAntlMnfKuUYMEexASZxIajlvDJZXhsKhMlRftBpOaNNjYmeZOjPRbebjyVzseYRUXhSriNesxWZapOeAezPFcNDEhBaHrSqyZxfInpKKfImAUbFToLHBJbGjsuBMYEGnjiUQOQjmWvsqTPgNmxAJdistRyLOMvQHnbVBPyBZWXLtbfaNQDcKHgqXuPLWCInCrxLHUau", "XPURgfAwWwDccQjjRxkgNRjkKaSoGSkSMOkrjXtMyuhORsmVzCKMLKQzxNNGEtUwrzykDfFSgFSHDvVLlakXGpRvnqAAUuVibKtywHbyiFQLHZPcBiLzXARfdEbDNMItHKbEcKMyIyXHkoMqCeMLXSmAoCXvUAAYkSTSJkGmCgAxMHErabxcrHcGjGJSGnbwhznHrqZymBZqPlvgNyaSouGdEEUjBYkqHcjkBLdsNVwiYaQxewlojQjVOXJFGVZg", "noZkZNHdPvozWbfJBWzIoAvJaFbTQAmDJiqPmQfVZgVrJTnTvYlTaKXyUifDnyKlBJwUxNpIBRhQrAVXKymrUyDxrOlpRiTYSdvUnTrJwuyLsjdacSTsxeuXQxzBmHsWcGFQoabKChPgIxRxqckVVrkltjxhBHgSUhBFHoAjPvqtZgYUDvXnyITUgfxKoNPwFGQgtEsasNXUDItAtDMxHuDwbUMfVLxFTAGxCziwohmYgOdPDIjEgRVMOSkMzppn", "XCYHbiBOViwTXXaJnvRHeubUTQiolIdLLVfUNghNVNjzHoBUXHWYTmbZUwmGzYRzfbMQAIXTYmxcNGCHZDWgFytpkOAezpyJJYiRrZDXDXTweXAKwaWvjjtaHIfLVfySnpNxsfFlQedBcQLngDfsmbUeZHInpYBHdJbrmxYQMLQMdlxIubkKOBcrLwxTNwSkSsJfHtJvGfIsjxksDGHApXSxrqyqdJWQkmXcLBEnWQWiknDQfJhNNimcbIRHlwBv", "boskzdQDQxtPcftKgoTmkGnSsrqdUAPSgmVVVINXPIjwztCJMokuniZuwkOZIbGvHvmAXDNrwiekGdYQfnvJcLNTCPmjjeSPTMNLGmujQwnJUFgfOgRioIrfOXivgGVqWBfxKKcNjQDFqsWVDkrELBODWSFNzywdPaLdGrEtBQYeHRfUQXIzxxtEwGjxjcaGxxEYTIoAWOJOzeEMFmsRFZrcpZMdqoexMaQyjlECcuSTAobYJpbPIVSbEesxNwKM", "DLCzknQBQagtSAWJoKJEJKYZVAJLmxoQEDgFVSnyisrYmUUsaZeAZPHYKmDTdwsLtzfBfHGbZpJdrJNMHgXJKIEVzvhaRHgDAjzdprYwSrgSzBxEbrxfgCWHvwFYwlfcidmbYckBGnyXsHxyujyFbvHchnkvJQqGXdRuESeWuEwMhPlcsbVAOgEhYvdUkYZWmWALdtBRBqssASqzKIqBepNdkmCRmQXQccHpDbCxnAbuPevjUqVyWLkEqaLAHMfp", "nhgTBCbgHDLtUNRKlRHwmlLpWsgRbecZXvspIIGkLiDyfNqggFvgjHxJLQJEfoEPOSDAhWbpbfuqaobgLkapVCWNPyrgMrwKVlRQTgcjTnTQsjYUyOWkzMkbgfWnBqCruGpUrbVMTQKSLlGtdsqlvsYHhhzkROrwVTcXtKGYVPzNfJuMYZUdgGCwtaUWSfCiSGOVnADZFvSqtdmvhogMFEAUpXbGdXCprvbiNlOLmzjyrUktnKtporUTDCQvnOtN", "JJWQVedbadfsEyCTVwgAgRtkVTAbAxPaJnNHFfLmPzuBIJnvjcTuxtlpPvwOpYOBSvhTfBDTQOpjzWEXOEmoZmrvBwtLIXpbnyMdmORhqSgYSlbcagkGtQgQbvPgaECUuBNZaQzKVOniyplFhsjPIvCWXkjSVFbsAeEeNpLyLNtPQdEbZCdWbHhEkJMvYvamQyetwpezToGLNEnSyMGadTkNbzjrcGqMUYjnaWMuCQzZcSPYblsLewOZJufcZixl"],"c_array_string":["edETviksvobOYsjFnAXZyUtAnykrXcKcUqfNPAfgwgrkwklQcigJEpZmHjzWxdpUHNEedMgYezGIyWPGJFFaGNKqrKIvPQwTKCdIUaZRchCkXbuRgZPlKcHeRTwmFaemerOPTchcruVIwQWIbxItAUpTWHNpzkWJpsTgsxHFbbLAPPQSVAzXRKydrQyLJiODJJMYpZwafoMYZgubNKFMJUWxqwOVVcBKuuJxHmkGHbRXeKdvnngmeeoOcfqPAVhNPISZaqmSDRDKSPDjTiPwvtJRRCGLMfJrVhsNOcmkapzBjzmOzoMNrqBpSTVZwDdtlvLsQHGHrqZDPMlqdcQkstQvVzEwgKPKHkFrYFBgBzJYWDtiOzqsRLYklGGoxkKuteMjUYjImKvzQHrpirRInEdJhQBghoFcDyKSjYUBGOaHUKuDsdvTjrBZEWMbmjnYlFURILFKoCViIWEQqVWMJSNzePphrccINCHqoUvzTlxDXwhfkaogdVlmdiopXIhw", "OLxakZBjdKXKPgQiSjQchAcxpbjRkWACggIpskJSlDbNMceZiugsyvTPktoJyBWALKiQAmieeqBAdiigzmggQFrrxUhqvqIgxfJxqKsPgpZLmSMZVIDBGrJgCDlBYodfdAuSBKDOzeCkRXfJCwimrUWKAhxpfnhDGmctGxKzWQpfdjEUnTPiSptksFtdCodZWDDXPRlvyOmqyxGZQRUTWkJVVUHOLCcwFyNIseMoeHozuhhOqZxKtBiQzsoWOzerRkAJztKiNGQahZhetmIpUEsSIGAPMDcIkFiDIEqGFSRnGXEVJdUFUnazSbSfFNtRotWtqKLQxxlKUXKxMRJojxjSMDFQDVzPownVIdONKTPjzTIEcJklkzwUIwMXPPHRctRHAePazsuNUDrAbAZQFxKQTOMGmIAugyvZuwuPxyuApUvKWPrdnOPoTSYmcNWKrKRevMrxEeEhbiqxhxGfvWEZRqPveYNjSRBaHZzlIFZEdyYIFDhzWotpbdwbXbGg", "PVnJhaHcWJddlXXDdHBpiCOfgqLffDAJzwyGgYvIEUplZFmlNwgbUTzafCrAMpFlTppOSsazTZUAzhADysCLfyZJmCTwhDBAmMUYSvxRzFiaqNMasnwqENiKAKWaNVTdsdBKSRNuivtwLYBbBKMPPAfkofqorqRsXmIhYPYCrbNCfzPDkbyeaEBztXyYqslhgbmQJlAspXLJHLlHHWnUOxEuOnqccLfToOIQRLOzQwhnprznzqLaZwqeQSMrGozHpxMCTqZELQEKFOlCDgbgMLlGRdYwYVOQCAiAnqjTAHublzrEEBNiFDphXugmnuCMVKHsiAVhhnKhnBfqywoJUHzomqcaMRqQrwfXuwiThIAkoAnbjWSHSFoHbaOwRoPoBZEozyQEIvshkOFBowNNkFBjQLdwleCiixiCSxoCCMnFmPaaWddNPVWLWJdiDUOyjcBbYKCHZbpAJHzvwCIwVXxnVPEJejUxyomkFBwRtmnrDsGDytcBZENFPvFTsrjo", "yWZgmTduhadzdmZqJMUdGncchRKepMpJzsuTcDhaoTcGXYzyLbFDhqNxlbqaEshDeVGlLVHiGrTqnFuCaqKUEjxUSWyTUmMGjJEyJSYiaMAxxsUEqlgKjQJmFTZGCeimTEyQJRIghgFDlkpqZQGyAkLhFVBPWsLHDTSacEzMlezIUZyDDLfoEtdSZXfTwAdSSaHuGIRBpphlYYoXYoIMKQMoiTdlQtApnFZdlwLIjKmjPsZrRauuORQGlHcvAFgRXcyMzfAkiXkdCABMevqqDOFCtDNhoVDjnbIsTotDfRplPglmtUcwnuCmKDNJiBMyRYUCpXdtGzkmrCijbfINxjZsjuRAVVENqxYYFwiHfNVwVwyAHWSsaWOBiLmlbqgKZOiurjyCaicjdDijSBTUJGzEQTxPIjnDwWUvkkOSheVjFvUSdFZvQagDczQlRdElGfVtAOZOlIDWNjddKqDCAxsmNXQrLlLbmBQOGiuPeJQoUHuuEVnoXzfUylwDvKxJ", "WXiARvjgJobeoURagUynOtrpstkyuCzJlMrhsLwPrxYZKDyWSpogsSQkERTtTZsxngyACLyuaXiagkBxqEQiQdVkcKxxGlBjwCgLRYmLwrsDxisciPXICCEIDLihMAKdcLtSQZXiwziyXuLfxBvXgMmtoOubiwoOiEAxlQmfdJHuyKiWrEfruFDsgTSUSVEYsJTFMLqRDviwhzPjwoFykCAXpBfzIqduoTTsCyRjCTkebwSkZFjYhgfdoqUjaWhoNduIWgsAhiSxBYpUbycnLOMJjVUBAeSepiCbkiuotNagxgAAvTWbdCaWDjJaLvRgRDxwGubHiexyypXMlaunOMOcGptCVjNsKDzMvNOTCbbTZqrdomlKsPgFrZgRPAzNtLBoJTxFNYjmNccwSfmWZtUcQyjaZsXOpYBWvDjELzwJqlgOFZhmTqlUGnnMGoGCUSVqqbNBmVmQZSlZZdZcjqRMDTsrPNxSyOGGBrOaHVUgtyZdrMFBJcZXgUSXNtWJ", "JpWsQKNgJHCRLmXiYwhxZGphqfHWgenAgRWDVdHfZuybNzYzuQZmXkUkGAapSNlcGIcVDqBQkRxqxnJMSgZUIHDtZJoYCtrHdJRpUIxnvHJBMpUxNaxhYBvcrRKcGCloJpajulWPsIzGYZgWxwBjgOVtWPUknRnYBksouMZvuRkSpOvmIYGpxwmmPXJkhYLDxjHsmeHmtenlYhsmAxrOvLooOFsJzvAYJhOZlFWugKScrScCmEJkZmQBuByeDUTKteVGoEXsbaUxyMQWQDSJYIHqfklSNwDUaYyOAgaEboZnOwXpTyqHbbFrEtqSofLjzCLhaSKHNCZWoXBMoIRnTDaBGyFBrLtRUubMfRrrwxyTXhoOLzoQWAmehfdkAYkXGUvHCWCQfsUZAHZDIkKTHhomBkegBvUazaohghRJhWbqQkysoJWdKSFLUfmXKqdPgHcyCOjXczrtzURHkkSNToQVYXgCBIfQPUMeCutEjBAvszwFUlfmpDIWxhuMTGza", "aNCVPWABFrBfMpmmNcxhhWBLwGNrUCezaisSCHeuqDgQhtxAINdcAowFWrQkyOYPKdgogtzRTmEpAuBCQzvdeymJKHhGHmGuyjXwqKBZfEXDfUoqwIDjMwLcHHnAmddoevOpSeMGNSnKyFEeiJqfhWZVMAszhqrlTWnrAPRfaZJHapBfdCQTBvTPhXJKvqHBXIjyVXIWLtsoRTgxXzJXREKXCkfMqneBuzLBKsqDLrdXPyttboiEyHkgecgDLTmRVbqSYujeoNelXsWSVgnvSdoafZmDRYPTuXrlNvRjoMzFnfhnENJnNEIijYslyDydOvyEEKMuMrjmxrNsLJKfFGhvbTbttMDMtdCwUHZZbszGGHnxExqiinixXnxAsDqqTnUhAGoEKmuKfepHvewdMnlFfKrmHhBEGAqzDSbRBcoqykiruzNTUSRzitUIIJSsMonXFfbhxPcElCZeMOIUDQnjuXgcJUDHeYAbOSjTxeqdaheymnqgHotRLZalZrRj", "BUHQPomCyFWVubwgLhSuPNixisaQSznadasnijZZzpjqgkPbBPBlViHQJsMeiJLpCJmdAuHuKPVZjbeRRNGonKjpmpBNFkdXybrWTpwLUreQITSXuUxbKGJXKHAgcCKjWYlPtTSgVeYRaWQhkcgtZmMlCTtOfmXGLTehZtpPFskvONSavKCuhEHBVzOtLnWoKwGcFdlqioQVRAoNgPBbsafGSMrIsnNFWFRVYBOfKcDSemixOEiIngrxqvLTyUQDGrXgvHfuZEBoDboYVdcXXUvgUdlFgiGEBNcyeqRebnCKXsUhFWntHlDtFakCJxpiZWAXKCvijhQRIvAtAGpTsuuslhsqFEqoVkgnEPBRRACRZSJOsdWuTyeCFBWPEoAdqqkbZPuGXWMYYOcJsvJTiOCDHYzinsPPPcfpmkPOZBwmRYmTYyrIPQBDzLopGpVWWzGsudkqPpIJXMgGnwsALRIvJTwJUCCIcGzKMyKqgtxuSLFfqiINlnAtaTKzKpao", "qyybRevZdZePkbIhJxmIaBbDBMJKibjlaraetQPiwXyXvShQHaJEFYagrgKssErcjCASjhMjQtVTqQmdaezYSiywCHdCkhqDAxYwibiRGNPpekyciHbLOhAsGNZhyoIeVCmXtWJnkmmIxTpgkmOerQQDAOMTpzMoqijkfWrlPaWvtQUvKrNgnrFNgLzKjJafFgNNHkdjKnxUGKkjKCVcyeJSjpZhHMTwUERLqMgQhistdECDfyIydXgIemwIFWrhcZSHAirpdeficcOEMTpouSsVmTWUlJHhiYsCUPDrQNxVlkHMOGIvoSaQkCelIMOCjifKBSpUhEIlEQbpcYeSbldPIfvYCTLiQDwObVbnTgQWXgZqHRHPqWNSfJtEohKRRUpUPivFtsCIPMpsBKaOODeUVnwgISQSHRccmXeqjGVhuuhEjgImrxVXhfWiCJJxvzLrsTFPMSSnXpSxnLRGmOBrKPDhyFdUzLFnsCpKBDXVUseINDFfhbUdBFwQmkAK", "LyoMQhzGCyNFeyxZeBVpKDbttvmylEiLgWwfGvbWsiyibGWmXYytqjDrzbMiVDeNyMcpCFwjRPLblwEmmLFSdxPfddqzQYBDMvGyKZRDEaYDzZjGIhAASjjqaOSHNKobvbSuYCTBSlhmAEQoJJeLnydEVwFrMwoHVkWRgOjESjexOCOfKjyrjJRwIJRlVVPgOOFSIYLifNtnijvXJUajoXoCsUYwHezGEQPRyzLGFizTtJSmKBrGxaWFaOwcjvKXMhPFcojbipTZugbatLsTFYUDtrRwWdjHpMAEUrGIxyhExsTAOfqlMRopiLUDHCKoaOFUqbfNUOhavMrepzyLRAnSCFKjFtGzzYhSzsMkwBViCQkYqhkjXdOSnUjLCjqWoantkEFsOPggJXAKWzwOYyvMXxsVVXKGKnHqaEvuKvRpSJjSVbdeScSXyCEVYosRIRNafflcZTrwUGorkEuSWgefcbtsJbGFKHGsSKLcynbdoximEsAjfgRNrWzBuKJz", "zhYeXvSkJpxQszznKPDCLkJVfyfUUVczYYOJFFEtneuQDPhpWqMKtxhynieCdCBkbgBPoMQJiRFQcwkeVNuAeziLxlWSSashUMdmBQagCqKHGMJiMzTkpVLxUemjxNtHxUeZTzTROKWiPCnRHUslKBfnIWfQepORjoUwFesZcTvhBxthNfDWbTJdpeHvguOfTYldyarPvwpveRYppfMBnLFpzENeqxSSYbCcSQYOtrmMCFodBvFIAomRvISbNowqolxjQVCChOUSXMieWxQUMybgxGZGFZvxJLXbBxybCeRaejXhSijPcTvApEDHkmcAuiqtiuKXaPBnMtywjTCxeYWndHZaeDcolcDHYLVFFTNoJBHhXUnydgvTGOvjCvbDiuSYQbVPfLrGYvDTKPwerDSinPmEPFJvZHkgXFyuWKtXrSVoJNUwnSwlpvByVfybifuslitUHvayMruAZfaDjRSEmAEMrHiwXVrxqQSkLWCCZzyAOsCPWkWoKUkPDYJN", "KEpNqsbDcJyNdIghLrgQOZVdDsuZLaGtNwnbjRRHBqDIKtlKlrzIcuXtLAqLOagNcbLMBjuHytQxYaBuEluIwMqcLmBsvcxpJPGIGdCsuHSYzhbqgkLyNJSyZvmyUPVyOVHHoAanRIyQABHDWRyLFsfojXkLgeUQPbxhpkXdGLXUZgotcyypgozPCOasmYBvnWsbsRlfvZbJmKIZTUViCByULofxxxZzZscKZzGncFBroshtPRCWErZrPbfOJnZqVoAJiupylRZxGUZoyVciZjrIHfilLKerKJZQLvqjAEyOBIMTXDfIUiTaEePKngAoDGWshDTNVCxRoypzhruAzVQUZdhZASLIUoAHWyWtvPPOYlJTIsSrEmBljaqgnAWgOTyryUPnfqNzZhZnDTQQopglurltIjukJqmwliNaadjgmtMOPkTyGwLFMkYsPAQcEkHjQAIllJsCPCQPQqQzktpIXcVcISDYcmIfatHYLHNKRQECzonOLjbcBVnttNiD", "btmwvSRzUarUfULAPuQLwvqwukDRAacOeUtPwceoHfpfZEMJQzKsVgVFLbRRhxHKlTcvvUUwiSsGIHcsDZwcBqjMcdIRcEQHpwemxRakrRNjofCqVRxTCGgyjPvqoYesAigswZdEDfLpnNUUYwxvEshfHJJctibCQzQbEEXWrOTysqctkVXiYNknMjqMGepgyIqGhFSRvPCNiSvbfdlQpoCBPFVykbPlTerioGppsePEkEqiALIhhnypSPSZuRWInyEXselNwrbHjSKWcsNWOfpyZSySBywxclpfoMiGugmDSEYkqHsRYiDxDZjHOFCIYJjROGfhdINoGIQxzaHTOCyGPbFCsYsPmokHNNYaGxBaLNPHKJMqxjiDzTtJNEBAOCauHIKTwphmkmiEJoNcqkuAfPJVvRNahrypDQnPsGjCGodixiHLAaZRdgoySYdjwguczKLXHLDXVdzjPFBRcFRZIBRIGDFbAKpAEQhsMZJFfeAERXIlqCoywScaGqmR", "TISxGRbaTvpHwdbvUmvYLUoYIfQaWGUqrPjwoATuDerSNVOelmAbNcSjbEJybwmaFrsIQmZNlUpfXoMypvuOLZDZCuLVxTiHyDPuPfVTlBHbgWUNjKbceeSpTUICOjdSglLxzoFEeBZplCJbsdOnGRLjJNQSPofcZuRvdIrtwewaEvjjfoLYsPJfsAWYvPuEITnzbSGoXpSIDZoaZFmVxXNDGmEtFSRnWGBplVbhIgadyJJtiWzcGWOGrcBanxqsuqWlUEEmKydUUkBUtIHmcRlcsTdWnCDEVYaXAeMQGXLxTBgnhieGKPLrbuPmqkFWlXuxlVZrICtethncJaDMMMMnkAqnCuXymHqZoNVFDxKZtHgfAguSDHQhuObFsSPABeAGrTQIfZooBZDPnLNQrZPHrYXwJoLXxudQrORxQQsZeZVdpBMDXMWUwDwcsgmwsyjspvkoyfkzaqOupHTUSqtvAvpWmsZeTfieaJFKQVuXoxEqOddyzakDkrkvSPyg", "llopIjWHVZoiNjRAsDZuQFBQQvdJGHQoSArEdacxDDsUCjERVUWbNEnXBgiGZSvuKIGHYThPzaolrYYKAlOAmvGyIWRcrdLtlEQQrhDGwSByNRwuYsqvLtSdapssGXKBAllxoWcwoZvlWWlxdGzMHmVaMYzmJDJvyydpTRrMMbDGbwQxmKkVgSXeFsNrIzBabCsqruKyVWrrjhLosJNTSzAQBWkKrsmatHcrpLDDYzPXQCKGJegaxQGUuuZRANchVgVdqxbGPTuCDGKUQvoYTqzIiHtfOHYyvqpRaBqmVwmicyRoibZnrJhfYomSpdoGDnGJktWpPmeJDTCbTbWnShcTlUOGEaxQbNzaBGnNkfgZjdSRkZPwxOGPASELVUucMoVZZfbBHlKAOckjcWisXeHjgJOWINNlehvRROtkhNUYpqogxgduZraYwSDrqpbtqSyzvmZTNwmcTdeEAeHEGWlHdWOXiHoSAgcJgpSglLvhDzEuhofRHzQJYTGIhCJl", "iYttYvTQwJRNKIjcFUaaXWObbJypBhMzFIRKsYfssrEQscmPBQtVPYlYqGxcDpxUjmEGJTICNgdvVSlbzXqMNwjPDmBEyWZvDVXiIEJUAYZkyzWNrtUbGdIvmycvtCdEaqYrdbyunYotnhjIaylaSPdpYYGkgqsizkeuZlgOVxlYDUIJSMEfmmCwTyYpCbDnAigIdCXjJBJZOEOCaZKKbiMwLYMZAooCoalhGPfnysJYFkmkomygmvKLBaPQazXMQstITWVYmyUZvuXjSHbecxawdxmXcLpzZAQdDiMOaoVpvjEsdYMgSzdcNuPofbgoPfjXKDlYIxkHDOHshVvESoTtfXssKaBTkjyxqtPvBUAbrIxKURjRvwSEbWoMehDgYVznAfkCHOERNHuzdQFsJOHRINTuvCWwXejMsqDclwzdWiBCRwHGsSsXcczUuvXmHXutlwwNgZdIiHlwMCirTQjvOzTwnUGYbHhRqjsYvCEsmLJcJZtnTQxhviHJdJxp", "oUHeHPqGsuPfGEUKcsanGTSDvjAdoltvcUDDqWctFLKxjYotiEaTZPMlkntINNpoOxbuyeYKKprNyQIOGizUnBECfTSKPYjHSqIbsRveooIpRGNWGQpzqNHqGvlEgWepJYCXMQuVZTUWaTJAgHGfYhvndAjQJQFVZmePNRKEXMVQyCGZWIvQtMMMEhkCmhmeFzutJCtRVLJVjXXyOzufRMiNfyqtTXrGAaWJuBRibrUCbmOEZnDQWMORybPblPZzOdvrGMSMszMaiXDgKvmbJMaIgVfpJEKgTsQeXFWuhYZSvZuAKEijpuFKlLOQbfEjYzQLuaFYqVmAJLRIweZQRLXAAmsPDKRmawMVRlZbTjgfnTvDyNJRSPBPeUGgCMCmcJEnwTggxIPEMiWuWLYcvLKisflRobqMskRtVkkcVBxbTUsGQLQdmaUbDfTuslJlqVYSynAgzMUTkXwkqjCdlNzhcPiELqmbkPkFzvLqMkCelDRQakCjexoOKXdKcaHQ", "QmOJFZqwyWUOBkTaSnqlekejwYllarwUUYxtquqzeyPGAmivYJfiHOcLycIPbsxeKBjdVoDcCbDiUkZrpxiYzOOaMHtroomEkVaFQJLWpjJmzamtWnPqmQrcQFpDjgTXQQMUUDIsFhpaumRhShztYbJwKIfephqwooxVmjkjKgzXYMOukVHNFEMVLKjAtRHrWJaXepXvJJAlBnYLIUhRDSEJrdCFKMVayNPHEahaPfximdENFSHWboNZzgIHjNNEkusMKGUnjZivhAMmFUZOIoMSsJCFZrsUgsfyCjRwaqdosmDaIdxKZrgCJwQSSsmyZOTQzrZYQrWHfTrOkIEKIxgwPZjuhnetoEjxxufZCTMfWtswTMHiHdMuEyvbfMBFpPKPAkTbLDqEFNxFEBxoLlpTTTLIKwOswHEYEGuANzYJvIULDUCxpPpeAvTULojmSpFajKkHYgRdaiFyHCYMznOCgDPoyllGyMJrXlrwWFxvhamlkyFQxhDMGsDvAEro", "hCqWFVQdxatlFxhhzEZZZyvhfgvksCcmaxUHlKUyybSSVgiPAavZPrTITButvueNcvdgGPSuwZhsJhbZGueElBXWjNEYmyqygZOEnESpDxsQNEIWNVNXvxVIEaSmmefVqLDxhFTrtZxnKuDrnYEgHhmHXVKpQmESDxVWsMgJplhRuMhjIozfdKmTGXIvsonXTUFVpuAeddDGievxqOYWGnPpZJtoKJewvlDkIaoLMWxagpVELsfeHlWJsgWEIlcOIwRJqecpcrHNMwglAiwrNsauZYImxAtguzcZsrYfAeHofYssCzXDgZKTLHYuhBwEIgRftsFlnXxJXKATzSCCyJUbaPMwlotFLtwAHgaEsVTLvEyvaqFPdnecpbbBdRGsWwmNwVgfNtNPokqdJDekaBpBtIPSDwaJiukfhYeCHwDJQhcDEkmafjAVygCzMKTSZubkwALmYdkWmRUfXXxeLxgWsWZcyeXnySLPCPLPCfeyLZYZIqPQUCEmOajFoORB", "kckEeVgdcOUiQSkxvtMyEuEXctXTQZmIrwAhMDeRFHMoormTyEfqhadGXzgaTbrShozvVQinhwvrkVbwRYnLPEogqaMANNFqdNbnFZoKxAmfDEwfvIlqInMIfQLkteBauhlVssIlxcQpzSKwcRqcLpECXzkPywQHiNeASEfUZnYrcFjXQuadYeMepBZQAClnKWBJWhkJPYzAUQyTVZZdFcnNNesZDbebjEGNIaIhQdVwzenlQCTllrzrPJWOBUonNXpwkBQuQkmvZksJsFydNjVyhbiUlVzNeXlwxtoJrJkRLOeTNtrerYuoYkAsYaKWHawimTUqAqsJDuolCUilrVpzPGhBAaJrSQPJdmCMNlQuXSpHQLnkoqWgtXYmbcqFzCkbsgsTgvQFUpwHOQRddgkJaBIpTtMALaAQdTvOVwtZcepfjZWpRxfAsffKpqNOygQXNVaEGJICEBpREYprIADtlvjKvldptIzDTSthUFOAIvsYeOSYiJPrwVASfFJQ", "mATPPVKaCJnxtpUXIsECImbFXxjiFlqEUYZTLPhUrMcbsQuEMJYQdNmgVKBDhMqccWIGTLoTaTGYxnFwMhukPKtzlkimSlaVZqHHyaBmswwiCDGMvqZHpInNKZhFVrgdvXoAkLznUEdCnbeJfZazxVpJzTFCEgfVMQNijMNZbrXJtdzXDinZMIvfBPnPYnCkqPyCZzZFzFojuCmPutBmesDALBuLHoxEyiUrEkxvthkfjvWuGpOFqvqcgWTnxQSgCNhsXxJhHXWrrdlnnZWzOpgAOqlpKBQiutLTAXNOmoZpFkMlcgnHaNVGaOJaiyNlpKJMRbYyMUGSzUMKdllywxIykOORWipfJWaMTMZOTJRMjUCgJYPJDkTLgsxcOpnkkychRyLurMtaSEMrqTuXQlAsCVGcJNnEBbZlEUswXCQfqCijRTOLIuynDiWoZgkdviyMbgicIOZgGjMWyIRypABiIzIXwJeBzajeafHnykprkigrefTNxBjgnEwlayXb", "GHibmYrOhjGQmhhxFqnbCRmAWTdYLNHbIKNeNsZQjVbhyDkhSGVXVRnCQsqjOwdLBNKUMvhIQTLQiAEqrkuaivQsGXcnvnbnyyMzVcneAjvMuNIwBTPlvFFiqFzijQAyfBGrYPmeOsVOpOTpqydLZrwcEYKZSlOHcaItgvsEIaOljzoWzItNbpqVTHYbhciBLEYfDnHQFzrlFDfZRwBBboBwyKHVzZXqNMSZYNAlRbXqLjTRUOHyvJEJmNEGOSSZUeclWtBMPUditrveWDWiMMDLfnWADIWwQaMgFTLPJSEpnCCswETVHXiTNidPXcCqaifOQgJRgKbKTPQCEjcBBBtTVtTkDsCoWAuZcXuDbkSFqmFfnIzjWrwFgvDYpTqadEuhpyyNpYWqgnhgcurUMGTlHoqljkGITEUqovVFldGzrMDKNCUzcpysOyoBEOCydexXZvowtkZUktTfnKMBYIXwLKtHWsUPcnBtUFloyzxVbzeFRkLdMkyzNRRkPVRe", "gnFRptczNlXOaESiuBUdEaweZukEWpVfUpfnXeDDtutvEbfUuozqSNGhcpNZpTIaZhiiRiAKnoVGedJFdfCWGZOXqFUkMiYJzkqTciWsBJSjZVhwVxHrhUDJjfCzCnCGCjTxhKfObdGoZQrJpMeusDsGwlvdLQdLzysAcANVjeGnoDSyHJgFEHKHPmlkqSvAJPOuOVMVuFWZNzwURbBIBrbVvNEqHaoSxHxGenUTPLlKJbHLBJBxMXtcjjwTFlsbPzNxTaIZpaxRKDHTTlYDVVpuXnVsDcCVTMdWxykdCHXJWwehoyHOsJWpJlkDsnZEUKpEJFLXLUofuRvKJobmcEPfZCnokmHuBedxoSHPmrNtuVECePpCHPcDYRpHeCGpeEfJppHfpZIbPfHASuTebHMQLLyTPVcBwXlsjiYNcyHyuwGjutubAaFpZyvHFkKmIkTttAxEATjeMLlCEDoSyyOBpAthsiXXPRtjcIaCzAVdWksZrbdQYqhqAzmrbAIj", "TPqkAHJcDAghBpafnuWlsAmkLNIPWxLThdFPYYNOKMOvHruWbijqYOSXtJyaJOwBvVwpvHsRQZYXHWYXcaXuRDRVeHjQSvSTjRmQiNHMdINoqoiqkOXFoxHZVvGvpXZDaZHLXUBxsNYsOmvJzfIRtwleRPXcLFhuNGCTUUeQPZRdLKXucgNOPJyMwNmwPIYXYuLGukzQgCtistYPobgYwjtjyAczdZjZKkxNuoaTSnHSkHNjaPyOxHZvtxWkpsZRlcaGYIVCWBLeQbhmKkGhoQDueJHuMYhoFUbHQvyPjMJGTAhcJWzHcfWRXFfkQxSHxiwEZwcKdpwtxVgEEuplqxQsZxfyvrlbXeucrVyVEgQGFCmxFRRQEWoKYSLMQEoEQxsmNPhOfZdevzMCisNGiaoXeIUMWHWvxCmLXgcNPIPFzPsYhDTVEQgmvWtcvrQaqhmAnjGlgNrngWVJUMjgfURABmQmQYclkomuFloSknSclwtGDZqnakRhHcBZLoDN", "tkOsNItiuazUWuFcWsPYhufZqNUdtkRWvUzKobacTXcxYkhVVmhkbzLLRKEsKuDDZtpuTJttdwWPtZJYTMykQlLEzlGVmoxYjVQWALOIFMigqbwEiqaLuQHJjzJeKuYxNJthmdZDwYCEITaRZKMqIvCRfENYfMMirofbEmPryZFTdiedsRRxIULdYzZisHHWiEgaWMNwqzFcAAVXwmstXcaBMhrGoaccdNAqkfAiCmzKQuiZGtZklBgMnQzUzluVcBsHROvOKxMSoNdtMMCIbATEUXHsucWhidvhupZmTZwWOuyqekrMJvjHkFJeJAewKEvaOHaMALHyLMEcRMyWHNJxEtAcXfqMHOOXHuTXRwDMdUXMIRcazFftEiHnTkNzoocDSRVESOnMCQEgowHwYcszabvAOfpFIVCMYVoiRyTxCjAAkMKyapuiJdtXHhjkSdcaOiQnvdEvNGxmksyOQPTzzrqwyQXnzFazXFWsPKuehmBUODGyMSDGldORYoOx"],"c_array_datetime":["2019-04-18 15:30:54", "2011-08-05 09:12:20", "2019-04-09 08:41:36", "2016-10-11 10:10:19", "2011-03-26 04:43:01", "2013-07-09 05:12:39", "2001-09-07 14:15:32", "2019-01-05 07:41:36", "2002-04-11 15:05:54", "2005-02-17 15:54:29", "2018-08-13 12:03:42", "2017-10-05 20:07:43", "2009-12-10 01:56:26", "2011-01-10 08:20:23", "2018-07-08 14:38:55", "2013-11-13 13:39:08", "2009-04-19 11:39:16", "2017-05-16 08:32:53", "2009-05-10 18:48:02", "2008-03-12 05:25:11", "2019-05-18 15:02:22", "2002-03-10 04:25:20", "2005-04-21 12:55:03", "2006-03-04 13:48:41", "2008-06-08 16:24:19"],"c_array_ipv4":["wWyJeCohPW", "yKYifuBWFn", "VzyMemuYxo", "uBsWMzoCFa", "mIbfTDCYTc", "xbKeOomuww", "apoDPkrHGI", "jiQWPjylUs", "nrXcbXEMaw", "sWnOCZLaWX", "lJheIXooyR", "EHBFmfOxDT", "KGtPxxiqMT", "bDxAzFZNTW", "vkyAZFOUqQ", "QlfXvywqmF", "GSqvzbCrzk", "XVWLwceBNY", "nRKSCMwUUW", "YQzAIiRrjx", "edgblSKHbT", "EiHSfGfMBZ", "FmSqUHlBmt", "sdHEzDmCij", "UgSyFKbOPR"],"c_map_float":{"c_map_float_1":42.710842, "c_map_float_2":3.6312227, "c_map_float_3":18.321445, "c_map_float_4":33.45453, "c_map_float_5":98.794205, "c_map_float_6":40.059734, "c_map_float_7":45.35863, "c_map_float_8":43.270424, "c_map_float_9":85.46268, "c_map_float_10":57.710083},"c_datetime":"2001-09-06 04:40:02","c_ipv6":"a584:84ba:f978:4343:daef:359f:144c:7737","c_array_float":[85.98359, 1.4449059, 59.06038, 23.95124, 61.85787, 7.4010844, 86.28193, 99.61851, 68.253914, 12.614358, 74.023994, 66.14085, 9.083501, 26.201221, 67.75712, 21.208683, 2.568152, 74.80966, 79.05016, 45.443394, 85.43103, 89.23511, 67.46845, 59.94483, 49.156254],"c_array_smallint":[30023, 13062, 27378, -16573, 22304, 27624, 6695, -28224, -20744, 20708, 24505, -21116, 18450, -4438, 29567, -26237, 6549, 7042, -22882, 31746, -23876, -22291, -15897, 25350, 20193],"c_array_decimal":[96.1875, 93.0656, 99.1831, 95.0148, 26.1834, 4.0743, 57.1944, 9.1800, 87.0189, 90.1218, 6.1791, 20.1415, 54.0738, 26.0601, 25.1140, 60.0214, 0.1412, 91.0393, 98.1439, 32.0186, 78.1673, 34.0472, 66.0850, 67.1733, 56.0474],"c_array_double":[10.972159632184724, 68.7909168223424, 19.004976232073748, 43.762902939756614, 90.14187370001734, 40.693665986555665, 72.7029158484883, 17.42545927760073, 61.05670587812211, 28.40869875141492, 36.69523174054205, 49.92771229442913, 60.77567524921191, 95.93863320753829, 26.503343198151892, 13.569733030078531, 75.33910552634526, 82.7384757446361, 93.48014942224404, 41.81925090921608, 58.299856898085096, 5.201133655394161, 0.6306620605254266, 8.29339873110123, 64.12057194310525],"c_json":{"int8":-64} }','{ "c_int":106239521,"c_string":"MUKghHUvrCgRVzmitfKYsHnCgpRdaMqloxLsjiypODTwyXaflkLngIknafrxpQaPHfdvbOrXxcOadoFRubtgYEdChDXICAFTCAZSaenJyGtFFaQLOZqgKuzgUCeKzFDKQTYqngFQsKWeaeYPmsbxyglwlzQAGAmJZehQlXxTnAOTSfharqAtnMujSLVAFcUCpbwDplXfDNTZRYerdmgQYgchOsPVPXZskQaSfEyrAmTdbZBPBTLObTvYlkxqiJImzsBpdnfLVGyGcbzkBKwvkfJIkNtLTMtOLaviAPndUQXXJmFHBCzBLpGXDoHPYzRkRcoHMpMihheBMDuZNhsNMOBzggJTSUUCPodlNvPClcakjLbfcgmJGRmmpFxSuYdBURvInghNOiJvDodKhpksvocRImeSUaTefahLmujtvoiNgpULmTajZVvWabfKZyuSWLesYNDIgwNJzIHiRFNxSzaVAKgscNxdwsuIKqcNvarTjtJFTMYIETWeuQeHYfFQ","c_array_boolean":[0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1],"c_array_date":["2018-04-22", "2011-10-11", "2000-09-20", "2007-12-20", "2002-07-17", "2005-08-03", "2007-04-07", "2009-02-10", "2012-07-03", "2005-05-19", "2010-01-19", "2015-11-18", "2012-05-02", "2019-02-22", "2001-01-21", "2004-09-28", "2018-04-11", "2001-10-03", "2018-12-01", "2016-10-15", "2018-09-04", "2001-08-20", "2003-11-01", "2001-12-10", "2017-05-25"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_largeint":{"c_map_largeint_1":8565730167780736604, "c_map_largeint_2":8614644618987731761, "c_map_largeint_3":3314268077259337873, "c_map_largeint_4":3807166092007805931, "c_map_largeint_5":3431916651328664300, "c_map_largeint_6":-4167976868888846561, "c_map_largeint_7":-7720893133843753215, "c_map_largeint_8":-705622147953399582, "c_map_largeint_9":8421839686354951100, "c_map_largeint_10":6900249318114009561},"c_map_double":{"c_map_double_1":99.40930566202185, "c_map_double_2":67.80184794079643, "c_map_double_3":9.632704805138824, "c_map_double_4":2.861927937489951, "c_map_double_5":90.95911940453315, "c_map_double_6":26.42741716850233, "c_map_double_7":58.68386910496952, "c_map_double_8":65.71023634989153, "c_map_double_9":90.96593042281367, "c_map_double_10":69.47031389674626},"c_largeint":790454350307409508,"c_double":43.145329109128845,"c_date":"2002-07-16","c_array_int":[530911561, -138805435, -1091162909, 1166661014, -1976057243, -1681726893, -969538623, -935130844, -1338543784, -1662839642, -1253118774, -2049851564, -1710693311, -817156481, 402180333, -728246783, 2027858603, 541162630, -1556129554, -2079847779, 744148113, 1412632806, -1266486729, -1357274237, -1713351589],"c_array_largeint":[1176812802760041263, -4197982182698697281, -3730364393195399289, 549751757676962299, -4747400374323891945, -4302921394360906912, 4812841955343086486, -7671422924964471078, 994188864715424723, -3898701394408305349, -2343891794244955626, 1611393092906943741, -9056246810937627762, 7792267322378094546, 4117119678025081673, -8566064276155042945, 8660545356109465027, 325689761962853288, 7562181742779485950, 2862039597680314007, 3402173669418840068, 6684788935732640920, -7574482236880800667, -7905933422004575364, 5941974912203251730],"c_array_double":[95.93800772364202, 2.1510569379769096, 71.48469620444183, 75.7026866162967, 12.63855139434348, 74.89312916826889, 91.87623192907286, 23.19987150333038, 98.75708467765904, 60.47127768530974, 23.16790920005665, 38.006468777402496, 26.589780525065, 76.97103135206227, 55.2445457287535, 13.533144014802895, 3.27163378197451, 76.99237715070495, 86.55588382941487, 3.3681395996631753, 28.233985296479492, 7.589269939005442, 98.6010244020966, 26.60008856044868, 76.70047406900834],"c_array_datetime":["2004-06-18 19:26:27", "2016-07-27 15:54:32", "2016-08-16 00:15:25", "2006-07-14 12:43:35", "2017-07-06 04:59:03", "2002-01-14 01:43:59", "2009-10-03 18:54:48", "2001-12-07 06:20:00", "2014-02-15 22:23:07", "2009-07-13 10:34:30", "2005-02-05 06:25:04", "2013-06-12 05:36:14", "2014-08-10 21:58:11", "2003-05-23 15:52:44", "2019-01-15 06:10:29", "2000-08-26 10:55:29", "2002-03-28 05:03:08", "2010-06-26 22:28:23", "2019-05-13 08:29:17", "2001-02-17 06:31:58", "2014-11-17 08:11:40", "2003-02-25 13:17:03", "2015-03-06 20:10:37", "2019-08-21 19:55:34", "2012-05-23 20:24:32"],"c_map_ipv6":{"c_map_ipv6_1":"4dff:c573:c4a8:b9ba:bf51:c4f:eba8:49be", "c_map_ipv6_2":"6a83:574e:a448:f550:555d:8b2d:660:62eb", "c_map_ipv6_3":"4069:d0ca:510f:778e:9304:833a:58b5:b677", "c_map_ipv6_4":"4486:9a26:d1d5:654a:5f5d:54dd:958c:debc", "c_map_ipv6_5":"6b8f:67f6:1c10:6c9c:4110:3c9c:1f21:b45c", "c_map_ipv6_6":"d8c7:8122:d6d:c53a:577:2a09:8dc9:c67f", "c_map_ipv6_7":"3864:a6f4:80b0:d55d:5c10:f7ef:6f1f:e387", "c_map_ipv6_8":"9d4a:d983:10d0:c313:c546:8fc2:283e:91ff", "c_map_ipv6_9":"b180:d497:b7e2:3ae8:e920:33ee:6f8a:a3a8", "c_map_ipv6_10":"e43b:93e:7612:eff8:990d:ce6a:e2b6:fd65"},"c_bigint":-5653794844472628337,"c_decimal":25.0888,"c_array_float":[18.977861, 47.079872, 27.204348, 94.607574, 56.22662, 99.20406, 64.82454, 30.014038, 93.62239, 90.514305, 19.9529, 62.9441, 41.978226, 15.578347, 74.96156, 12.256684, 72.58314, 19.351698, 19.664553, 48.302277, 1.1579086, 46.716232, 34.143303, 68.92318, 1.4997534],"c_array_string":["SoNvafABVrvilMyHRsrYeMRXXLoItwhBmACzHdPwvxxfkbLJqbLzoGRZFjqmwCJdNbCgmCOfWwzayvKAQczszcKfKKDKOVAnDaykipgGfxMzeGEGaYhdhePoByEuVqBzVDlnSBZvBlDkREiXdoZSYFbyEJBTENOuRNmDEzGkHRhfirCAZBRUZOpqVblDsjaqoOERaPjLUiEFzcISMzonxBqEJXsZCwTaFfdJrFGFOhhtbJMPBKuberORiEFDgpfONQNkCgeIJBUTIKNYiRkAeKPUMDYycINVqREfiMOMMnibjnudQAMFcZPadDWdRJNcswsHFgsfBfwVjSVcyENqCoPwDTmKtrfXqAeGMyYBtCpMiFjDjIurOHzxTvPmoNXMRdZtGMuEVWUUVUdRclAmiomxAaKClmQiPYVqnDMAbHquOnsVvgxbBHjZYrHlsXaiOMfzGBFaAZfziPVwTCtlzSKUCKZSqXTmadFLdyffscNrkswUxNTxCMEmBMQfdrbp", "jrdSvVayMONlQppAwSIxuVAfnpLwImpOLXlGCZrqOtHrNCqfSjEGTuSGEuUDTloNtkmnOYTIMdkIntfJXQiDnVvlAGSWxEUeEeBQyzyNRYkZkugMyFOoUHbgCvsrhbwutmgMHrzyvDSvxIrSqpwedUJXzvHXohKPVAkBwxYZrnBbTIjrJNLbzeQyptCmuYGEmXPIklERDXrBySttOtXfNihPzxGVXLHckooLnDJZgoNCNYeZrJvdwCSTNLrtmzsfoXfmUGGWwGfqatFtUjGtShTzZJmBGdhztJCuobtiUxxuJXDHxXWSwAfZoCeTmaxaGXDZkmSzzDvtsyiWZycqBIJqMKkcUnZmcjgyWQgSbtRscXhWCcrJTGgdAuzEakGgLAYGpJVpTGBtvAwUsbgWtpYPDWOlALZPwSLisworTsDoqJnbbaDuhxPNoaCahrNAgfOTnAwZCZqLXljGsNsTwaJLDkEzAbERSrYLbHLsoVGRtBjBlnbPFGnznPaZAdgm", "vKeLBSFMLIMPsIlVHFGJANHgbLXRvYWhIbehhJZpuoduNtWsGvdFtkDbIVMXJVSGzfnNRXjfipIteoPmGsuuAVYJJwuUrKNHtQRZtxDTzNvRNcSbZnVeBLFGTJJZyExfgXDHTkiKhWBZZMnsIEqBaSDtRsKRSVWxZplRPlrMqDQifgIlCHuRnrFEhKvAQyUhpTONvshZIWNOQPjQWaSdLIkFyOAHdURFibnBreBPdNsgsyViGPuLVwJrXlPrAQXHXWJXnPjWOqEWfLaGnjjqXIpChCGOALiWnytqFbtpJyrnzbgCLQWTwmHvuQBzEHEzusHQFImarSOhqUXAqsHjkgXwDFSsxHokdsjGhYZRQJYjDVWHbbSBDXscinPkrKqEWqbnrFyAocbzAdGEikhEkXldhiNIrIMWFHMOICCNPWDZWLrvusDVbOrojdBKAksfAEwvbhQjkkfnEomEArUbYTucyiOcbAOxmwWfVFWcOOdhxTTXMmcJybLkdJIgjtst", "ukAEzzlnDjKwEfskrMKZcqIfyPjIAFMGxbfQFIEMPuGnFsEEotMbgqFlntssHwUnQUkcOULBImogIXsJTTzhyiqVhDsWpnAqfEbdMTkZvZqgavUflUdUyKOTNJZCwDJIBvsaeQyJqLCoOJmPjCtBrqKQmCXFNMyTyHmiarTCgnqGghGTIBniWejhaenwcHiAFrJIBIaoKALPXWffSqKQdWaecvjotcblnFIfagNSkrbMEaHaFffVLQiOrMqXxfeqclTydLoDJcTenktHLlisqsZqawjjkXSYcOfxoxdGuavoMQpQENlPPzgyjhcSuwqLWDeolCBDwkzMJWEBGcnGsKsMjqKkWknpAklkVILInaUWTTFapFOpdZHQBGKPDmKujMPUnJsKvQWdniJQfiHiCBlAyIsNMitRzrfSqkjSSQjkTVaFFVQAduNhgYfdJKLEJwZxNixefoDWmCJhiTTxNHceorNcQNGnnVOvCuGejFjTKpwgcahcNPHDYoUxDJcG", "HLLLJTNKgKoIckmhpmONVGHzHMWbKGeRtRdsGprofbSjIDDkVfzlbYIvnvWBoAydMSYwXUbWbGPdQwWumCXIzvvLwEcIhPMcKZIaoolzQEjPMAuHOcXLagCGUgvCyUaJPkwrYhVwogxyvmMPFBtHWoyTWNdKlUjetyztgMpmakDWXLUeAIAVcODaEnotMAlJQBKAHWnXADpONRPYZPszzwkXLaACyDbsLKBRYQIvuDqsgeDxgYQKquZDnMeWwsqgAPbhPRvlTiLFGpLJRhILDNdZzaIGNlUfcKSQZezFWtSafNRxUuNAoGbVRbNXqQMCKeILwyDeqEJqxigNUdhOgwCRNiVPvOzcbiWsCZBoGvBbNqofixOyNKeSOUhttuWAZhVQuicvnKzTAtrdHLixCqAiqCQlTqOgwhLXIVJuDIPuhepOGxhfNGHeRshtiaBcBzQckdAnphKjvRBlbwiLBKktPlyyJPmueVzizBrzmcHxzfeiLWiNJtQQHiqWoahS", "SYmtnQhexHDlDyRwoExxHswxctIKoldIiALjjpeltCfnFSDiobgMtjQaoHLDnZiZsTqnCPgCEIAYBYwpKQUvdAbAIUZWfwUqvTYxNASXwJkqgbaKqIlJfXpqwWeHgiNQopXJyJUsaYFdpcMHTVmHfZmYrHTwARDwXIeCRiUQWIJayZmsvTqBBTkXsKEveamYBjcHVsQnpmrlctoxdlsRJfMNwVlPQvXzqYchLhnMxuOXpNClDvHmlpMiKFHegWCPBORPBZZFdcDLpnZYpplcXPszaVBhSJSXTOvSLffUDFFLJuhwnLUvWTJvlsHhlpHEcRhjhaqCrzGsNjXBeFwFgGlfGzbqcKIXGTbveWcHPykyRWjNIMWMprUYGCILhlydPfynzAPakKMnFWVXRgXSgAcwJFgOdnReNmDbPtkyZfGDKYKEhsaLpehUEjeUpBaehrKKdyEESwDHrlKrTGVlozHGRbRwAphOwtDHAcLFaBiqJpzACiDQlmfOQVkgSlwq", "vAYRuinalMnaBEAdMxctCkmABUXylnJqJMinhHwQOKezkzCBjTHTEUdFUKVoshyTXVlroBjapYhuZObubSqhAvYauKuIYWKXwEQqnfHEehRsYlxEAzleRHgjavoAZwxKlyGGYGgBIlrPxQtSzxMmvRPnLEjCjhnIGeDSoKbbkPpRUNUbeMoIhHNvqTvFsxBZmZaiETOCzMCFxXuoufICjuVlZvYrxKFyRDhVGKJkEdqqwUPQpweotXAublvJvajnDjVXmBRUdiYigQSOoskZYCOuYsCpZDdwkWassTxIkQykqvTBFHaRorpjYRRzSKMFjihOHOGwzpHYsoglLjmPNjHnnjkhzptjArnyMKuxhZZpGOMuGXGQkwdgjuIPbZVKwJSPoaOjsrthqkTpGCaDSjcuslBssppipbhKRSOwhoOHyRShIpREqXamOWPBKwsfXoLszlerQSMKfPoFbBCVMPQqGKyCkokkjOabghVtzmMGYHWKKtqSBfTZmruhdyTe", "EabmcCHaiqmIdGWKWPxXcehSXUEaiXeytdoKaWNfoAniRanNVGAMFcSbbhUYvdVKkXIBFEVQhsSjoYTXLHUFRXtnphQcUsZFwshobgtxTRPOzluMDDPTKAngtVemUHUNIPDloMbNnrfaPFWKRgLauJLVqtTwsqcXtAwRNLBFQrILqosooBJvwXnahkjyXyhswMYKpdDyvaDJEVmtUItFytSEMYOQpFaUhELFHejtVsYAdRFViOtccSdGtOMGgbZxljjlpHIenzHsMmaHlHmcSyxGozgMXfJUjFGyavrSviBCsnQjWdIHXvqriEPeWcXOTrMCPsJrZxEFWcQvWVULECWsUziuFkvuMmEsuWBpNnqBrvqLSvIRVuZJzFEeetlITEfWpBhlsuphJLSTtpvGlbkpcOjvYLZsYFPGbHGbVtgBqLzSmStrlIQwPNhxpArgDwLCjDfLSftqyTEDTKWTlYTvLNDpAQFrQQQuLoSIHeDwgcieNefFfPtRIxjymjbW", "gElUPRDqlKEYYUnQCRaqDyXNKsbHQisRKiYNLtYjIxJrbHBlHmegPCFsWngPDtZQJKukSORZRBQztPLfYwzaxnZpIwstsjGEtSQexREgtDYjxwuuXUBzKaUGPIbBbGIkgNWiCLaTUmYywIddtJVgNUmANCDnzUZVsqVgPcoOTBErTlbvfjPxPnUGTykXPRzKrzAIpxhSBTKIlMvcfidIeGEDAUPUqBGNWPxQpgUMJNXmvYksncyfgrCladapGOKYnYfrlRcIFfsZZDtgOKiydcJFKwwtVggPcsRWWNOUTgBkgUhTmOVnlsKNpypfSsnXJpjobKzQBmgsUjuexdtYAeFGApCWwThZPXSBCGRVuJdcHEMMpgvQJNInmVQDtYAtvpIBhmpqXkZXtrEvxEkwroOfphxypGDuSXoYDezLfZAPVNHMSDnJwonpVzSYJaEJfIMuiHPDiWkKqRblgsMBDnjbUqfwbEdtDNOEkUvbMphSdrHVXMIDeYzUJziDMTeF", "zVIKPKEGLfnAlqQAHqiAzLNTKzTKIynTeLgydNDedhbigzoRkkUaaJazkxGaSayXyGuQCmzINAVNmzTAaaervPPUuieJSAuaXYBUsoPPemLPCJbeBepXjICPDojTWgeGEGjNvwhfFNFuSqEXCxIlLtYbjMtPgmlSxYzWtPbVIFyAWKQDVjZwvFmXWdvrFaTAdovpOUNBvfnNJwSgOYFPFZBXqEvZyFvYrYaDyvuXsxdGdSpjqkjmAACVaoAmKfcNEqRFjfuHvXijtjsKwJyTCRXfgYeZnNLrAlURPoCzDTnNBijjCRXpcgjAFHsovvdbyBiFRtFtrkbZJPXwHzydwXZWlnGCqADzpkdjSeFPyBlUEyunSdjRBSiBabARZbichJlHXiKMqTlgsWdxDIIPjUIWSUpqXvodsFdYydKWutPYJoyZaFSXZKmigHYObPltKnAzglhpaQjSiylPotceFrlrBAwvKkaoCfhJewAJxhbOYQLZvBFvvJXYrsaLjHUy", "QGRpZSmeHHaZprkjgBZjaaNDyvtILUNUphHCpdGzNrGsVPUnlDKinxoZIprXxwWAvgsYPcXPVtcSRTUsRYeKViKdrfdpZwBegjKtbURFvvKGIhSEHLXEyJmzBJoQlkuVMPxtbHdoLXuQEQMmBsnNZPmrEadyCfbBfoXGVXCUaiTPGJuJeXglPmzfsUFOjTZEoEgnHaJLGlblaVlzKVGTZbnFNrwumghIbmGEsNJRTPVyTxwLKyOuODTYNBoFuHhsNLlKcEpDWGNnxxDEDcEMcgdSUnQsfYCLveCbRmtIIULByeqKFiPSrMejZnbJxoZlkcMgmndGfbEBSdPUCARWNjwBKrfAVECBOLjAdDnDrItaPcASzbzQKFtBuJuHcCZZQSZVjWZLcSHpNWsWIFQfCLzYBRYyiMIqtSLEZuoheTAqaBmsgQRAjeWnflnORYgwkGeQJfRvysretCkZGKOoBUzCNrlGkbDTsSAuuLxtvdLAlBcHaGXhEJywfBpGWBiV", "sxnwpLHfmqLtvSmytTpvuWqPVxxtKXWjoQxGlJuSKrdEfWrCTcPDmrWtPPfybubpgIgPNlFyRXoHcwFmBDeRfXhaOiwOnQTJRZdsEszkejVYClxupeXyCjrOqqwMjLksnFqMvIcjRFiTzXciFRTMFzeMTQYJlbQuvxmrXJexdGrLXGnIgfOVqugYjpwKtLmuiovxihRQswJOUlchPOQXUlvTWZuXPxzkoXularAQKAVGxSlpgUYUuHfIttiXTRfUMCmjJbvcGmqKwkotXjOzlefWNzcVPlXHVStsUekZkClJipeJrsvbCvbrpwYdxyyUgHqdnUCIVhnkswsDVXvKiCVfIadxzbmcMbrIgvcxtYmKNEQSWOMBFgTpCzoXrIguTHBshIXfgnsjzJbixbNVpeQvLSbBxIRYDiPrMyDWEJQpLgtTlWMMtxMiljPcTXBuHdGBnUZZjOYhPiKXWdohgxoAbjouheApfkPKlBEPJkanlnYiXdyqoBmmfcjjCXhE", "jOUSKXBKpoURfwMsmtjGTetEmoHUzZWBllEuLirjtaADFbGJZUgLNhelrRuaNyxUikMJhlDHtNsJahBmPmzvqHIjMDfhRgVVZOHHjidTLmLCnlIYTglYFJPXAOijPpjLjcXlnvJMYoipBfgRVamdOYvrHdmXctKArlYrYPcnQvgaLvlIBKrhjQcGtWNhUYSiygOrrtUxEqjKKvwmOnEiHTvNVTfViuGIBgbTwWfcGkhhwDvWZPbFGuhriCPOuFjrDWPJTKMBDzNzExuXbuGMSTbtRaddaTiRqtlsLCwgKMULiRgxRSLJAwTTYxFQZbsucNFominLzXTaTSBcNvZbdYoqtYavOSqbWAuQMvaASBPAjQAUELuHdszHZHwWFfeVeEROMAuirsWTfsVcwvUBOCgdfzlxSqCzJOhfpuHJkrsCsCpWyuHUydmcWUxnMIgMTRmUIUQmcTXrQFAwNGCrgNUEkZQdyAKrAEytqpLtSZIscTkKJqTUhobymEItvDPw", "rVwiGVEYKindlEoaBhaxuuvPWjoUHGzcbkmbTvBNhmFpZwSIooEumsVTOVfkXnJiCDmoNLfdIfbONeoyvLCjBhiXLvtmUjHJpqQVULZdAPSdKqTbdrJzMtaXOcNnXZrauVEmAwurMWCJQSHEGVoEJgOIXKtTwBPhBYKkddqSgQYWFEuxXjQPcWLSNSkAghFiqHSrjhdZdpXsnxBnbvPDsiLwDDaXDJWmzEevntstdYoHsHJBvNSMOLCWhxkIHKeqzWeTzvHdxjqMgoJUSWaFMMUwpEDnGslkOzmiobDWUDhOnUttfprkYZsnGggOeCJKDINaKsKygkAIqUuiAAtZNwjhOPvtZBlrYHPOBPzUyUAUXgCLcWvNHhleaGTxVByhBaCnYRlPubeqcxEjEnnHwFoQViaCvGYOzSeVlxSyucUWruunaBRzumBvANNKfkHfrXgxTHhRkgJJiZlOTrstVeUrCbvWmXgyfOKLlGiOLKwnYOQIzvdkttXVlwemeOKl", "MmApWcYTOmHYkTlLUDigbNZRfRkxZKhMUNTHSjAlNFtiCTGQTBTfVAilSLVLOVshcEpBkCCijJADTcOpqwvQlLBsCmcojlTezJvdTsvEkHFLWVLIGzloiAAwNkHEYybupuiFylkAAHIlrJrNYMToXqQRYzoLrkFvHmhjPeRQwklrYcxinAeBpfmGvUzIbyvquFIkOQhwRhoypzvFassquzXEyPormLRKlnYbXFjOPWEfUzlCEOjxlUnZEdVLxoabWzPfwpqlcjsUEWeAdilQgCOJBKXElIgGtOVKHcOHbvjRxrgzPaVmxVMnWYSOLJbyULwAZFMygsdseBRDmWrlevsetTrPKbRngSAvnlYdvqMLFYMnNIdGgRFlYfsNKRRwXtUTuDNEoXqQYFDGtnOZkxSsMCSBEukOgsYdMYSLBnnrCqkfQDKBefchVAENbxXNFdEdWBHDhahoKSXiLBrjYoqCnMDxyeSLJQWBVABBVKuTfOLGyyLVSfAtwJlCQtKS", "KLmISUdMMSUtVReqhxnnGKYHWNDGdGfsLxPIEJxaPzZQqJWicydJwpJrJhyHEDznFEDCzXlqHqeNlTExnqFhksnERFaxUBjZKvjgPLwvPWHZCYrfSqNaPoLuDRBMlzDPdxemRTVajLKxGlrQscTgdeQqEdNaoJhDXDrTyrquzRahxArJXKkGqxEtdYbUvfaXjsnjwtBbOVfSZuNhgBjNCeeEkvnWvChAERPrAFSWqhthlFRyVORyNUApBgbPcoTrVsQcnwfqmuhNKlvgXStCqtYhncOewOrVHgxCpUHGyKVBTpcVaYkrsCNmNAefWaGfJOQdaXVxSyLOmSnTCxFsDASoOTlSjDhwVsKmFwfWnoGoIsWiLvexLicwtrytDPbmoUjBxSFdnQEqFGvdMmsKXjKQBmhnbLlyTZlPpWLneQXsLxmyYppMjhqdJtNXUYxnJfTYtcCKuXvdawGLXpCcymudjtWAjDpbovtOVCvIJOGgRCfmkvHKRTdTbwGXCKaN", "hDIVSZQtVuNbTYyftUEJXFtkmeDczfOHLAyxAVMOknAitXwihNgVNZpnFKZsSmfTTnRFJWPNnIgsXnzhlwsfVCmYmLLLrXCiPtPAVdmQYUDlhDHQGejgnVzOHFzEHhplCNdhUEMgtTaYxpvSkkwDyOpWSruqoHjwCmARFCTGQvnqaxYuvoBviNXmrOlkJlgJOQhPgToMQatWtyQQVtzsGwvgpspjksbyMwtJyNhdbJiwYCsjKctQOrcWNjocSflKnnGMrWvNrdAbhJqsSBDPDSuajaldPgSQPecmnCzWKfwYhrluyqfxLMvXpQsLlXBIDKoytJfhqItlQPEePTBuhSFgygEZBjvSARTtKZIKGsxyagXjksuyvcoGtWcjoNRwjScXGPGyqIHLPaZtOMppksbOutaZbiTKiiHdzijtbHVTXgNiSxqVLFnWtXsHNpUfmpepilZrJsoNSovxXYWpsQJMLlvouJkqTwYIyXegfYRHCyWhQKVaZytFHgkvXiHe", "cdJotiXmMQQwTfBeOMOgJXAMswfWyMWwmvSHquYHnmvNQnvUfwMLAJLgzyEFxsOGymrejhVTdLxInRICXqAgihFPMVJGvnrjslIRXMKwnPrCpKqZquzJZUYjDVeaQJnjaCpYQQZhJNlxQNVVVQPtsmMTfZkpWFfwMTaPcJLnKguQOZsqNxuKuybcgMjnkhEOmTrzgKUluZXsYfujyXdvMfnvIeWVmSNfOJmdPxGqLRzVOWYrlcXnrTNVAZUkjjOplWEFyDaxDHsGzGtRIlSmszkCYSRfGRWJCNhYlSvZeKpBfyKiIqYEudCDxDKMCnZKBKflzQugXLkaDfngmCHCZNmKkkWhIGPuyDCdvgVNKFXzCjyaVvotzJutvScLVErgTLZLPWKgWQbeKOoiIUVGozuIuPyhuYTaGqPLEvhOTPxhRuLLifTRIpWLkkoVWuJUMedSKPdWarZNttxTgEdENpWZMpHrimYUhqdXGSwPaSQYDDbzOTWZgzCVjhuzThQj", "tZIpOLeKzzbMDCxFoWhgFedmhKRrGygWRqinWcnibOvNMvQGCErFhoLxhctMCzNZwBkATcagUBDKoZjlpjGTAWDcyCmSDAcApteAtVoHusTmsVdKrFfwGcueianbrkHpoEpGdVsgkVFmDPSZyKGjwEkzSAlTiTOFKCGdWVGOJHQakIXuQvNRxFOtmAapLQXSUWLovgUdyvJqkStOJcXaTIspsPxIAJEfrLVhuWnqZqdxuKlKUAqERSYQZIkSkOsPzoNUhIfXcENVdeJKBFaANtocCJxKwfgqSmDUwRBnahOpKakoaffrROWHetOSzXcEZDOwZiNeUZmwmtaFMoXtDxKzAXHMyGxIGNUNjOHStnDPxNpgnHoBMdcUuupgziIXZAysAdcLlapETqYQbPRhlovGhEuNeyxKHgIxCqMZLerlHUNeuBXYHmsXlqCUTNJPfiGBeMtyuSHRrsyBTanDPqHBbscCndHPcOVYJujBBbsJfzeQtFBotHkqTLMOZLJv", "lrUPFaoPpGWJTCGqLAcbuyDKUcvxiLudPRioMKkRuzqYFwqNdLfatMAMCqScmlRSFtEsKFNlDCvXvJtmlsDZOQdmDIqRXMhsMfaQyXXbZGUgjMzujhWQhlbPNOXeOxruHbhnsIrJBfRTCOEcpPGOjSqRJfvJZWThiUEVYUxkyKaFLmUSnJenBOVSyYLpKQfEobwfUHaonCQyCrcuEaIBrwuDCgKpJrXJTcBwkKabWyRGqGaNlgEVwDPqAgXDpEAKonzzCCIkghhhJosMzGJFbgfzCnCGuvZtiPbuYwcNKKdhJdZqvqNXCdxoQSGKcuxeRlINLDeHckdgfFUPTYZmAsyllpIRgyITkVOEsAGKPFrRLBeRjFseZKDEvGxjEHLCTbsaRWttRHIhXErgTtsAfHYxEKxaHvbFkIJsutyIaOfjoWlnpGPSFPTkMkNYHvPTeimjoAAmmWAddwVIGLPnyOsYZrUlkQqpCsdDMkvWdwjVNRKVLVIQxjputygZoEGK", "CSygknFtAFCsQwSTrrsKwuuhXtoRqAfMLRhuilzLFAEsUzutkpkfnDvHnXUTRctwdmUQkMGZUVMPqhfCqlDkMhfUyynSnQUbxkVprixbEqiCIdZIPRvxjVDOUIbULdySQjUqHfqGnngQNuYhhjTlnIjEOlajZnQNYAzyONWgxezFVVDnXZsbuCqoEiTYUQmOxdbHvTCQQtxTXuyDAUZPmqHzKTgoXyPXlQOwgRQjEGXzEwTXuFShiieBPsgbFXRrLXZxdKcNzqGqGywQSnOHmghAckSrfCgHwjZxoNtWtabNiQTQQDVCmpGSfGpLgmaZfWrKsSUCwxkIBiLDdrCPxKIDqovNtzWoDJTgoBctmSVVbVSRJVxcOINoaRjLKSxMfsIbYhdXGBFgJWWgXIIMjGQiYNXTtzCvVtvFDsmoIpIxhczJEpOVeVYCHmCtarBQJftAorfuEiHxdqIyrkZjzQtTQsLspijeriIVZnZiDLtCHnRVpnfIzOklCMuwwesw", "uuRhcxdGPGSWaUXZuSnxoLbdwVHFWwNFrBXZewswYAVAFwmBMIPwXERhXNFaqbRngMLOrpruZbExOtjFOFxOeuScSaDTaQqvBdpNnUpgczIKGUGEvPPTypToxAPvaNgShTapaDaUfMEloLGCVmDEkImjoLIeiqFcqYmRguSjYfDTWBzKddrfrkhRYcXgLnBIMTNnkgtcFTcfLZwnzFRkSbfFZtkmwqfOttkzySclqYNAMxrBmxBsuqfednbUmnlwTmjCkNQtKPCHYMoilzcbrDSHnKxLVuzedXZEuNYAgPCdjOUTjfxOBePcSqmbVfonBzMoIpUYTfpJRiEoyAbLIpXihZOYwaBZDAOozJBMrdcJNIUuGXKVoslXbNTLjrueLCygIDRKbxHyhKUYfGrZPLAzuhZhLVFfrajTQGErtUTuxEUjmYRJXqoGynOFTHxjKLsVMRkpcagHxrjgqpwvLOpGVuRPAcjivaVuZTSZUBlkyBTVodKVEjRWzoZIsaxv", "RbcQVFKwEUqvyQZNxgIyNDOPeGvlFvYtzfdUEWCPXvyJYmfTkjjgHEvFBiRStTJTygxsGhjPWLgbymqFFAQJPRdQThCUJJkdGObsAeJZGOSbJOfkRZBbCzUJnTOWEoXOlWImlEmaxwdZPuToLfnDapGsRIhNWvvkSkfWxydVsZAFYxCTdNgMwdZDZnQBfOoYdjkkxZWYnQOeTDEOVDLrktoofXIggmgPMDMApMGGiKcgVFxWKmMlmlkFxBjdnXGCEnmkSRpLelJMkeZVYXOosjekXQsITeZYiPnsYwdBTNyWGqooWjZXJuIQGMrKXnrkJOCXDAePQKqRNmKhAckFJkrFlQWFrmXVyfMPDdqRGTYTwnfvcLYeKRqAtMRdYzpELVJIWwewGggtSVjwjXLQRVPqnwDlilcEQHkOIIupkeIZYBJBMCvsikfDVgHysVzbsPJEwjUYSzJiJNZGMRSyORnILaaRRXThrsHwLEotDpOhYMcetEcgQvTqjvAngfQC", "JfufkEXhZlmSqokPkZLPsBunrYchKhVjknZZYWLrTbnhKivsmukKoekeiXiRJeYxkOHbereXvwCgcwhYDNbqdGLbgnMHuLxEGroVXnxpDnedDIUhhZkoViSKDLnepDwaxukrjCeqodGolsRNooOWRDnAkWmyBdbMlmQZDEHgAKPMGmFOaECPASgkjMauyCqhYWyixinOMJxwUmafeMxbouWtkFdYkwjZGrMduNNYssuKujAglcJkfnBUCVuhuCvkPizqmGQYECENTdrifMzaDOWGMjSWRAgeSgiTLgSodAFZmJYYSpYNfmObAsPMOTwrVgfMEInJSCcLiatMDBXnHdAYKySISjwzzRciJJgqbhMIwWEMkCBhduMxkSgjWoRdUelpiuZGHMLitOiYQlrZQnbXHiBAjzCoePwuCDiOcTlXjBvBVpDBHlBzqriEThTQvkrGUOnzCMxVPtjJefzPMGNiSqPnBrvOwwglzeHWlXNOIuYbdPnnzvWrIhWfMetr", "uKhtwcWwpXEshllXfRqbFCPfGRnQWFVmMmkvwrgaTZfTNezSheUytIEfmXmFBcnZpBGDudFBYnnpORCYEYmcOibBjuIFeiUaUgvZZUKhUlxegliQNsMiiMAQfoFFyGjmMSDuIzbXvCAVaXWRmKjZVsGiGeRGsNdJwOsUEnxJJTLsweIBIOFRzQkmPgSTZQfRMiNtEDbmRebVDFmZDIcHVZpxDfzMlCJbTVMTQAbfbkZeLoVOeUYSOLuavAcWzgqnuYaLpoXJITLZQNfUvnDGSDDwaBZrhdobIhmEJiQNoeZcdiJLVYjmVSAUNbnXlZDDrOKPAPhuGyApKhhIdqZcMeiJPbyKFaoMcdyrmBAyzwxRHYlZGSKfjUWbhdkjsgcyOVIFtitHFXGTeyDADFVhmtsvuJIhrqdQiZQZRfeaobqZSvrLPrCFipepaJJgXVqggrYrnjYBOSOWjZVRVTWHeqIzOVEgojjkwzvIviFJRowvNlhFrDmmJHJnBQEdCLJc"],"c_map_int":{"c_map_int_1":1529417155, "c_map_int_2":822625204, "c_map_int_3":-1334208534, "c_map_int_4":-1776568925, "c_map_int_5":-117751856, "c_map_int_6":-1311450710, "c_map_int_7":159821501, "c_map_int_8":-1493710492, "c_map_int_9":898874542, "c_map_int_10":1202588630},"c_map_bigint":{"c_map_bigint_1":-3030614122590013162, "c_map_bigint_2":5763422189213209478, "c_map_bigint_3":9037529670167618168, "c_map_bigint_4":8996384451322374577, "c_map_bigint_5":2645425666262313546, "c_map_bigint_6":5681944495613995015, "c_map_bigint_7":-8503269351304909443, "c_map_bigint_8":4045412076006747633, "c_map_bigint_9":-6000987875607495688, "c_map_bigint_10":-2112941321601852684},"c_map_char":{"c_map_char_1":"bzztrmkece", "c_map_char_2":"ZoOnrgzEgm", "c_map_char_3":"ewyOZHgMjC", "c_map_char_4":"SMHdJTusmq", "c_map_char_5":"GUZloOXNRA", "c_map_char_6":"lXoHnegexr", "c_map_char_7":"EkeUgotKXn", "c_map_char_8":"TllAxWbqUL", "c_map_char_9":"bpgXIXVzpT", "c_map_char_10":"wkYoksWJLz"},"c_float":93.83087,"c_datetime":"2016-12-24 11:16:25","c_array_tinyint":[-74, -25, 75, 119, -72, 121, -88, 1, -51, -98, 70, 56, -15, 44, 46, 79, 18, 121, -66, 121, -105, -88, 30, 115, -77],"c_map_string":{"c_map_string_1":"dJXZoTPNaMzvjXAKKvyzaxzzAKmxxGXqdTAPNGVGWPbNVQuLDitETmkrzJvQjxpCQcqnNfjDoeWcZWqLUkCfRdnPNDbrDGUOmdENUChBWcgygtEXGYEEIwYhvLNSsOWDcEudpaILOWJUPZRWFIfPYxeVQjMJEEyvxssvHjDrfQRoZHzZixYxrflMOpXAjzGxYhRHHVTcXKWtOmSfNePnnmzxIqKTMYsJoBiMdUyRZCHjmxraDNyLINsvCLPvaFpYvfIfgMeCyhIyFeBfhDkTBhUgRhgHbgCAwlAECnQfEdULjdyBOBwDmJUBMrRAyRifznptWoYZepEZLAPrOOdwMCGlcZbzuQQRDfPoGZvozpcGlQuMvKXkZDfqZbWAJqMRbzJmTwlEqIMHRUKOlyChJlFAcmxIkyPtIOujoQEYFhQVOqtgduOsErxEDnaoDKayZXwuZtQwMgSEOPGvcVDqIvQOwfRkuGaelwZLYBFWNOFgTBwVEiRvkUEIbSpjHerD", "c_map_string_2":"exfrsnDcbUxDpXHhvnRpaGEWrPVgBTdTHaGBpMZRNeIwPKHaSpetWVtynZZnWgsHLHgSsYbyPxnnEiUSzmuJePMHFVDxpFzAOfkwjvYfeIWiJHEijmZrtebTrDNsqvwZujnaiVOUeDDvOwWbLCIFbJiSMIPItSBViZIpJGPZqpsXqUHonQhmCJERDzXVUDrjjUECgVxyOvrlayrYgnTFbClVOrweuiqtfeMIVYumJQSgMxdoagsWGQFKekVtYxzVOhSeFXdHmjysZfJrajLgHDIYoOiiPEQZhpjpFGrhMDyhtThAplAsiXxxMSVpCGgtDFGzULWamTXrydRqldKPmTPCvxFdwAaOoUHmOxPIlOeycXvXIXuJARdQIqoEWkzeGrLnUrxbsHzOPxQzfZkSghQkDLPKZmvjbYzptPAdbNPtKGErVLAUJBiFTmTsbLtdVdTtPcwYFIxnBwhGAHfFhOxoVOnXvwZKnLVjlLknuGUmZeHnTWdElWtgyJFZneNl", "c_map_string_3":"aPrCjKauwScDcmocYaPPXHXaNJYlOkAiDYOgqyvUbHkeVHuQJbzbrzvOVJoISqspANRaYpidEsNRpoKYilrISDGDpqQockWKBBWJoPdoGrBWssNkmqnHMKfCAmjGToCCGzRlhjLCUnutyhJZLBFOcusWZTCtVhkXhVllaPhyXLnpQjMrRJOxyfolyxyuyxWZCgUhamMTRCGPNFpVnnRgCNasxlCFQrDMTryIpzMqyVYtdSQhtIqpdaCsZCODRbwfsdjejvNbFhPOzWzOrfVLQKhqMurMUIrqFlhohqYgeLzeyeqgvmeHhlpuhsVfSfMJjfWrWfflnWMJVaCBXdRNtUQgIMzaRkccWABYtifEFhVBHoUrcYoiXcIEpHffYctCrteJbNHzRtClMRjpKuVJIUYQqmxwMkkdvsqeZNlzwpMQUIaNLIWkcSfFLwtAzBVGygojMdToyFdBTqyNQEUgtZluPnEtmGjalAOgBGVoPsOfXANzsGzJMpRpNHefCVji", "c_map_string_4":"iNSzWhvIbtQqUNZruADldhwsxyAZrGeLyTPambhkmjigjWCwdkzFkpKjpbiIMYEHDIfgOuWJbckbmsafPboRrAqYLCKXyoruOIUgzuxmJwvheAOGfnLuLczvIQYLquwYszxxKzsvyiGtoXAocjtLKMXUFwCPcnsmdFOeUtgMUJpwjpmEVfUaehRKxAgpMZiPwQjbSUmxpUxsTRazCssXUxLarmgaFPjQDMjkYbVDgiPhkusWiMNoemXICvLzNGngAusIxaQgHxvdsBFLYMgOeAzAeACjLGTEffiZTCECcCBKwkBQgzgobgKvpeRiEtaaKVOquFhcaRYLDegsbsfitWtjWqBDaAhSCWvXFHdPQFUEHyikCiKHtMOoppKHtQqUjLGgzYFEpXqNqEjGmwZHMUGHKijtmaPfUPNeHQjuUMFqYIwGnrpdVuAcMawRjyqMidsmfLWVusNhpTdSmmRtTBHRFBEtPZuEcbbFNEgGCuDRaGxFTeSKovBsUaplqXNr", "c_map_string_5":"suDtpODDkYHFnmXywkqOALDghkhvCeHTjEQvCiKqfQTAVkKlSwSFbzxNGMwQcYTwnPeSEOmpFiqpMceQQGTtwPSQLzqmOXxneVgcLsMPTRDVijGGhxjkEaEpJnmocyoCqviOhjHyETiFfArzFJLaXsSSstZhwLkXhDCNDYCtcqzktjJUuTpfoAnsPmoOpjkdSKocghUOjNgRPqKIwCCiRywkggzdNTrXuJlhQpBjSueaMGiWtgZwResFvkxYgmKGBDOxZEyWXMOkHEtTIKNuKfQZaLtuboOhRlzSppfoJwWnFrBEjhoJbBllXIjQdgyvjYLWgQHZEXGweJhxkqtQgqBLSrjpBYYPlPYFkcXAtfWLsshPdoFgSRABiwoTuiZYmYoWtpkBqrXXVTddpqvLQhMLUnXcLoquXcySckLuQwcRxquCfvSsusxcheVIPhuIVPuCSByDosBXbIjNIjdZanzptJHXVVdzXxJualQhVOAHrfjfMBBtIEyKfaGNJhoI", "c_map_string_6":"yAZztdAOtFGMvVlnSIfrRsoqqEnllZOLAmLGDYZzCkSVUqgfANwjzkPUBTYuwDnNduEFAHgYRcqXEmPOXoLXczbCiRKdyoqWmYQSAPvkpzxzmLWZqdtsXsMKXFkDabBpaJUzndnrrAZPEtnTFWopoFQNudgFqwAIHkGeaDJhonvdvrifrnbEvNLmGyjCiSjFBXeZsgQWabSNHNBQrQcOkpUPKBhLYrHfNjHyUMEFqdzPbVXqthBxpNGCmhGlgqIgrTilmuXKrwJsuyWyxpGLYhVYrCGXdaIWyQmSkBGAfyNNNlTqegNDRekbQkPUcEKZFnraqKGrsSJrVXVzKZAMdiyltTrVWAsaHCgDinzLPPastpPQROirAlqSnZhfmWTcbtUPVpKBxliXbrPEtwPFzTqsdiNGdapWpSIBrSmZbRdDlNWQwCfNbcENvddySyDVqpURxjLelfREcNVpAdISNLvEJMKuTrIPsrQxzmcCTeTfqEjTcZVZEUwvMtCkNyaV", "c_map_string_7":"cOchYJQrYHsBzawlBxoXZuixMLSVVrpfjNFIBBssYNktgBtbxYifsNHojWqiWKDWemEyzKqxsBQJLxPCVYziCblFMiFoveXIMrYcvvEbHvdRyxlaUxtRsDycbDDjavejGttJJOkrocsZQjYdGjLSTBVNtYOyCpPlpdXNYyTdLGNAnvfTsjehrsGMkNxfjQzAAHdKEdcGZunmiVeyhtNbnyPgPFyvZYpPNJuxKHeTIXNCbPFrVKOwcXAmgRSEwSXBwMMNdorqWqLByHunJXKYxDivJWKtXANBuVjUotQbwEcNQKWSPvOzraPpIhocBURQOiKfzrrAQKyOlciBvJBbXYhCWvlRuXAMKyzGbZyMmmajzRnJYlntJiMASyshCTWAUjTRyaTVJEyRsIKpomMgIOnFWbXowcoeMDKFfwEwrcrRVruXHFfZhGKOmduxXLqKpxjkbdhIXnlTKQvaMOjwOckyudOgwQDpuhWrMbcDmMKaYsduzaEvVmhvGzeBBexC", "c_map_string_8":"tEZYrymbFTOobThxCKVyKwzytpqoxTQFokyHXptJFfwEWbLbJVgDPBMiISaWIeSEnPEBDHSlmFLrFbCLnCmZMgfVtzZQgdHkABuSCvyHJfIprfWWOOAbmWlDXzvHOhxwnElLpXolLhdTvFKurCoNajGGkBzkkzPUrSKkdBfGYahGxvTIMRLZtyxogqjLxvXacopSqSqCcnrBOuQUilAxDhPcQOUOcCgTVVwdHUIwGBmzpcKpRKdZvpyOknwampsonrAiPqHesaMftIHzHCvyfQVoRRbrewSuuaGYcjKibjIyFDEukTSFrqEwClkgtnrCaWyIuKlmMlSNDMcZBHCTxPMYICUshJuJkDfqzCqCaspzvjNRlalTmxevYGrrhdXDsApjTaQGTguEQfjwtImEtJIApaBFMbehKHOoGoCnbEWEMLhtpEkPWcFWxxGYujvWDUtbgxmgFeuVwYzkCbHYcUtjZbjdqHXkdHGGtlpjrNBytlhmtGILbPuVAMkvufNq", "c_map_string_9":"DdqOcaGFBVgcyrJZfvJcGhNESsjopYMKxwcKCwanxsclaUWCHmXsEdwqOoiKeowGTmvmLvvsksSeAVmKNMFvkUbyamxEFUCaBMPDFmcxWGneqJVXPidFRJNSssGvfteOCkDQjXkvAyNeQIPrANJgZLBzuPUwyhcdGGENgjbccjIlFvWpqFduyBvRekCpfjdYhDGVNoGbNQdeRhoCTWXmWBQjzcRxBLJVYrNRtCQZrDvRczphKiDKCskuQUKGeZJewveyXpnOMlGkVUCEhNAQVxEHrFIMKhayOGeRAjczRlfneWSYgAfZXDeSscSRGnNBmEaHvLqKnZQDQRtATQoeTWsNIcdAPXXnjjhnkXSupjmdmcxFiwSsCLJgMqzTKLbkJiqFWVaOnXxFDUkfYOMXqGATcAZfLXkxfvEUfPUDfjEMFnDvmVUXrbRbceMuDAHpOFsyQnLdVAdUsRhpMITuDEbWAvUxZZzcXFYlhljBICRjKEMqmBWyFONcvNhAeXxm", "c_map_string_10":"UEQaWEGcWMHOmAlZBWgKXQRxRtedupWAJniKJaWPGIrgJpwOWKKPZhKRgeAwjZxViPoBwVpisSIEmFFNDRMwPStqsLtOUDGApvNjejHpoKLMjbaMPtpOPTtQUYHzWQYxMktiFHzqycoUMOSkpKiMJKTQFZCHPHTNNXQfJkJytVtNNWhkFGfboYQmsTkaqychOCSiWldMHITzLmtMIXyExQqUOrnjhjHuOWJwaFlOWKVBsAhcRssSVhMKBfIbnLtXlsZNUKDSAfLnVvuXsGskLrUmlQyulTOnjCnESkCjGVmgBZDjzYscchIQMEIpjuKfGBDrjXcZRjDQmottyouNYUEKwJigghPpnGEWMDIJpmxYyJiqpyPBWoWbcCFPzoVYHMMhslLriHvHMfVoFhiRnHCfKuJxXpwGoCMWFVxttKLslibwZCZUNXDtsCzdekXodGEUNvfhSyWGcaiMrQzRBQQqziFUDbkNumQILHVqwuasVjCRWPCnjVfZxZHTUEkL"},"c_map_date":{"c_map_date_1":"2010-06-08", "c_map_date_2":"2004-06-15", "c_map_date_3":"2002-08-17", "c_map_date_4":"2002-08-04", "c_map_date_5":"2017-08-28", "c_map_date_6":"2008-10-18", "c_map_date_7":"2003-05-20", "c_map_date_8":"2014-05-16", "c_map_date_9":"2013-09-05", "c_map_date_10":"2006-09-10"},"c_tinyint":-89,"c_array_bigint":[-6420060838005816564, 8606936479316169199, 9009398828284218276, 5517384805347237116, -8241390462182612343, -4513130270035034735, 4135314690831303582, -3263211347241361774, 2253064482341345574, -7915593678740261210, -312476605454182523, -4245670939497180690, -4380180622194692305, -5384287685808314582, -1694831370072800360, -7594140058357457652, 979615654859967509, 361291123532449235, -6186342983848395376, 6070861109656651771, 5252688015102447753, 1963969859859010034, 44828251646018168, -5172118755480383743, -2737148804695294604],"c_array_ipv4":["nBrCNwHWWl", "PcslNKhdrR", "XGhivVzGPE", "ImFSzxfmmF", "PCYniQpDZv", "vGETMDhtbR", "TSVOpqiknz", "ztvGwOcAXN", "XGnNpyAQro", "dqvXxknMeI", "KHAjuFtvzO", "kHmJAAwFHb", "edVCSWhFtl", "gIOmgZjyJo", "fAqFsYFqaZ", "RkDzETArbR", "CarjRWrppa", "SUTkobBZQR", "obBcyWatHL", "wsmzyUPkVQ", "vuFppRopdi", "vEMAHiTIff", "lJNjEQbqUg", "JopcAOfhpJ", "dKNsoOtOKs"],"c_map_decimal":{"c_map_decimal_1":37.0007, "c_map_decimal_2":61.1581, "c_map_decimal_3":76.0314, "c_map_decimal_4":24.1093, "c_map_decimal_5":31.0663, "c_map_decimal_6":88.1494, "c_map_decimal_7":51.1428, "c_map_decimal_8":79.1744, "c_map_decimal_9":0.1341, "c_map_decimal_10":34.0050},"c_ipv4":"31.120.91.93","c_array_smallint":[17749, 31977, 23150, -9625, 1223, 1749, 7925, -2835, 5228, -31916, 25589, 28568, 8556, -10742, -25475, 8724, 17416, -12216, 8092, 12372, 24439, 27187, -24176, -1449, 433],"c_map_tinyint":{"c_map_tinyint_1":66, "c_map_tinyint_2":-105, "c_map_tinyint_3":-40, "c_map_tinyint_4":-118, "c_map_tinyint_5":72, "c_map_tinyint_6":65, "c_map_tinyint_7":-60, "c_map_tinyint_8":53, "c_map_tinyint_9":-96, "c_map_tinyint_10":122},"c_varchar":"think","c_array_ipv6":["WSWEchfHWU", "NAavndPOah", "pJEZInwEoS", "SilWWOdUkZ", "rZcvqzdwDc", "fFLLrXDkEk", "uXwScJRIfC", "vThsdgtcma", "GoFHIitNmi", "bpBvCcrBjO", "yvziPBNOFn", "TUJVavfMnv", "jRshBZJQDb", "VRFRjoggqE", "ddVaCEcxoB", "tXLIoWKzVp", "bAIeyHohmJ", "vkdQrjuren", "MEwOEkArHL", "XESWLBTBiT", "JVbLQEaIQv", "nnkscCuUcF", "ezJaLghNyg", "rBCTzozmtD", "GCeBPYtXnC"],"c_boolean":1,"c_smallint":28096,"c_char":"PKcmCOXPGx","c_ipv6":"d937:8f8:300a:cfab:3226:4224:2e2d:3e38","c_array_decimal":[73.1230, 58.1473, 48.1844, 43.0319, 3.0377, 4.0334, 22.1253, 49.0732, 58.0174, 24.1882, 67.1092, 93.1674, 42.1268, 0.1462, 96.0796, 56.1791, 48.0169, 38.0049, 22.0473, 76.1778, 57.0857, 83.1571, 6.1168, 15.1654, 10.0552],"c_array_char":["rIFFOsWiNZ", "vjJTWHDcon", "btbHEOGsTb", "pPqJEOCtgk", "nPexSPGlgY", "rzLSRHVxun", "nuZgPycsro", "CNLATVpifu", "PRITSdQfky", "NcTJVXWYfT", "DAyrPfvZnW", "fKItQcSzQF", "XZYmkUeGJG", "pDkEpSfTOG", "XgjmGDaMhE", "fMKRokEjqK", "sgtceGRtTh", "xEjNzrdPkP", "jmkaHNETSF", "kLvDjuvyBR", "LHhBWOQOjC", "PllqXddkhx", "mHMReoCkPH", "PwnAkketVo", "ROaZdQUgim"],"c_array_varchar":["NSqZFGvVtelTNCyQsCzuxAjonLMnVCzeavIWaclwgQIaKrzhhtDMBhUuEQJYniTkqYPSKASUYRhJcqKhOQsAgeMRsATwVGDlxxRzfNQQsCHFpZPiATGWLiAkoiVZYKCWEGueiTSRvkQnuLotXOuKjVECEOBnqiDRdcIXvfAOkiJyUKuAwdMRoppBLUManlrOSRafOIWTOUKDVjFLKwLyQZIBTEhcsuvnoiQSSYHUHsijSAVheFgysMnXwFBPXpmK", "BFSFittyDsIRULShJSaOxKZZqhzEgSfvmellCwgJLevTXMQCtODJXYQnCenoFxKYVHLbmnxfbcJYKRQlDUArkpLgjLAijTatrfVFybfJDQjVCQrWeGGhvhHXCDmATieLFOeyrsFzEoiHfrsLrfmDQGgMslWjAmeLlPrZlkSuZlfxKoAQWQgKucVeIYpYFTculhbzteMHzykLpzadBuLTAxQCOBVGWTjSgSfNnOBQpqgyRNETukAEYfDYkDgYPAIE", "KObyZWlAJVvcMgIqapWXQgZDsFmzdgkJbOsOEYiRaUoxqWBbYftqcHFwaIvMLkautWeMGLNmbRXclOvAcbpnsQAdxNAKgFjjFkDYnMcBIZLyaHXDBbKevBzeSFlcIQsxGNwOWxfINUVngJjdzEMOWyykrZWvkTzDvzoYDwyAlnnGXMHJOFXeZvogiEWFKojBYtgafOefafRCraoKkwphTSIKIdYKHiohHYqvhdbUAYioxjeSdcRiPwzQChbUyBKy", "HbUEWbTOUoEUyuGiOYQsFIJvPlPpGKBYLhvJbsqvGhabDZBtoxNeUuIiuYvzEIELrhqjDwBTBhigGKCEwRmSDNwYIHjeqwIdmUCdMziPUepgGzwunpNCWWkSGJsaEajlxSgkuFRvBgtGnXrovhwfQDZBBnejIwznnwUwZBXGaIkeEXcOiprJYskqiFVADCuyjsmFPgNMzEWdkoPDhtvNyhFXCkbqMQrXbzqsUbQSQiUBIdkulPsVdKUpsnIHcSSs", "zJkJPrOnRNEoCfccUddcxHJuaDNnnueTDOsNTIxgXxxnGKKeHvvBmJpkhMkSZrBgrKihTdzAWyfNHKPsTfZlCtoOZjxVDhmwGuaHwhERrINmTXHCssmdoLDGYRRLXAjrDjjSiOpimeBrsuDutaKDXlyQaLMfZHKpHKfyvdPpArAXinFcvYAPVQMowPmaXKXLcYzugGxNdNJHWHRBIpNFxWIwasZAOoYdbfIvVSqLMhfzaRivhHvOsHaVuXVFTkhQ", "hlirzhhUVQznhWFpgtgtRTdWPggHDdWJGLCeVFbJwxJwpBLyqQonIZdcOtXfqMTRNgFgrLmYdhyLbxuARMhXabIhqBmAlidFYffxriMZBrwfOLaCQuADAmlMwqmYFcnxSDsMmoPuGZPYCXQusykzoXiSiFTGdvaxTkFjxNefvgVQFIZWfCBlKoKCHHqkUPSsiXgDIgFMyzclugmzNdlodmWORnhcDBTfMeBRpDcnPelUFFuSvHkMXKPrPNfVlGcZ", "fNgxoMZHFMqKikkyTPpWGpsJeVuLUIOGNAGiJXxrZmFwoyShmDYhfUHTHvUOvcDcqqCrVYGLzIffgXhNhZWYkpQaLdaZUvbpUrHsIZJImTfyIqmNKArmzsMFjiObmcBncCtjXrHedHKgUsRxVIGTcvcbidWTYWmGiIaCdCgfJQuCAOnoitKmYjFVyghbKSKMCPTVGgOwobHxOdUWqyOrwJeSQiseVRbPCYdJJcrGuNcwTEGTqXwkzpRsGiIOTTZv", "YOLaVtPNoOoHOYmeoWtvQsJCpxkdEFAttjxzlPzgLrcjFKXTVAILzQDcIldiPwshXxAddYZfZDbmlxMFcWmAXbgQHQWSvVklLsvvUGqsviYeCglKYlnqfNFDPngbDeVQdNcrOTvCiBTzdkuiPfqzmzPefcgShoXMaumjvXgJjOtfWaDdJTXvqkkBWcmyLftgRapaRNSDAXpooQzYPJuAMCSZKtrlBzEKWDReagSCXDGOiTHSMzKczNRYIcrcVvnr", "YMguBmivTgirOxlZfFYUuRjDgDqxWJbhomWnCTWKYLhieVtNeDYqkIezZKoCuvUzjkKSfLcLtDOVraBvuBsqRdAjEMGdNfcskkSVRqBJlkqDjgptzuSzXqPjvwoiwOsVnNhQhJkkbQbVURVyKQquYLLrIIHjlWpamgUYZfpyKWluzmyMKNFUYHmSxbEdMAnpFfhpckJdYpURbqYEGaXlEYQmZaLKLlaxMIAjrFJEmIcNnIgYcslytchCdCJKdLAU", "RaBpdkTUbjrRuulnNckMGfizYSdygtzgJuWDcjCkhewoVxTWmNnMMwINMZGdgwHqPckidPZpiaiWjcBoxvzGMhKQZvAPZEbHHWuClSQdCFpnZmlGSuHKYzcDgzTHsjXjbZuBxOhIkbhWeNNdcKUNELWPaREdUxJbCQBccVtkejqaTsoTTUqCcRINaXWZgunCIQwkDHHOIeHVRQNcUJEWdKLwYymwLtQBRAsDYJtopKlYorwAFHhjRskxqZwfTwCA", "wbFhHjvBuaobTzScQpYFDxemlmbcUvgfnutPXnRDBqPAlnoslorhnSoFalPkQzQMisgwsycaqPCfeEzeHPeRjXhyfzIOabLjgPJNUtcTVmkFIXDOQxcyxugVKTxABJSPjJBUhHceelNHixCbgkILhBuXIzzApaPBouJueTzqEdHZhzrMyrDcxhmCfLwBKiYOmrLMQrNtNYnnJUSuNSWCzQaCXxamsLsEMesgWKryMxxmHfypkygFhisFEDXEzIYh", "TLnZruXxhXXqywbTnAgChKlyTxMfAhNVXpLfBaGnBzNHYcWvttVzSHBtKwSeEtzoJjJLIaOnTWsCQLuibkxJAMbqzyOAcQYVhUMhLGvMeosEJBuBIrGLZOUssjtfUYFHeKqmgUjztVFUvwsgkmNwVMPtsbPuXpLzYnpNvTvuukSEtaFXYGmXrnunSwKuboQOlTvOpIXiJOizrtOPscFiTzbdMlpbMdYOqBtBJCuGjAUDYGSbhaORDAIZtkLZjbuC", "GtFRMbdKQbKTeAvVssAxvKpJLDVRLHutZsSfeQmIBZVuvbicfkhXOHQwNcpCVVvMFIGXEXBiYWIHmnsGtWBvpPILEGyGPYSJrOmseJmXYLBkjQhvOzrmWWprVCIVbAlxXgADSiDGIwVsgdLSGNpTKOiasldBCZKnICyOEQHquYrFNJnEIRwHdpwFotOhslBbkvGDIUPaQIlFlGhBAsCBvQKxoRCFKfKYlXjHzFcvAXKEaSnhVIZBHuChaloOQQkJ", "LbsWOomfMbbEtstikVisIxaaIrgKUgvzQVqnzUXOIUvhogcqnMbaLvpdZfAqrlZzumhUtJPtQXBZcXcZvocbntOIgHpxpNRnqYQTwRPVHOQlnCJQFxgRBujQoraIBmoLkwvDuGvxHrtyOOtgTBNYKCzssmnEsEESayogBdfzNdOUvREFUGcTRVSrevgPBhlfCiCAYgPFhQwjvmlTbSnxPeOnUVsouFiVcduvyNEcbTUNFktuUysFBWVdptaMulhn", "uNBcKLxTGQEUqVmnWTUWGwZLlgdWZqLWUDlzIPOLTazmSsqoIfEeXWGlQGvmfklelbWPmLwQYFfrcVIMDJVtVMHhxjLzygOTWEpoJINjmnxeQLcvHkfCgOHyvGmIREfUMFQPjWxBjVAoEyfhvbvVSJhCdlYnvttWmhOOrFcTZMwMnRWrMuxPhqnFTSaYIyOLSAJZPvgLOtZxrpJBIEmyYSQouPZtYKnlgFsaoTCJaWapGOIyEExJvsucVmCRFpIG", "ZLlgTVwTmsuhJznrBHIlCXlOWjNlibAoVLbafoLvDDkXVGnVyaTSxXhQwmZpkQcRnwpLNkfjoEzWIabokqDHBgfMsTFjEQOKiSCfeFpcWLxfHSAvklVovOdlpzsZHhyYnHMRZgVRcExcEVnHHuuqgQYwsIKLwRXdahpEWPCCqejsSIGdvCuqJLNUsJbSdFTEfqNpqlGxjLwJYazpSrVZWhQNXCcPyxvAYTzLUslLihysVEnsoVYzDoGfCEzUpFMi", "OLHezvkfrEzFxckbskayLXtqrMqCeJPViNTVzctmvGiiTHTOAPrdlYQiuZnlrRzKtprsdWYZrDKrEXHTWvdgpMQIstsgvCNaYOYpPQjImyDclKONcGYAvJhmIhaaVJMuuYhOryTLbBwESGgAOYYxkyNBQEEQSvgRatIsVQAHCZHcoyTOjJaMwVynNcUFHNildExnXrjvYsHCIFMVBvPFFFfefcqhEHaPjbeqRnnqffYIhMyHJEYZXqrJwqWNkQRG", "UlUztRIOuScnSGGswWOHzukQvOWSGjqRAHGOAlvGrlpCZrGcbFggOwjUqlOLVzmOijaEjgFyHoCyZLQJuAUCcNzkeGymVcjdgGTSJUDrcVZDRPCSPJEnvIsmeYrDHalrOYNrorbceohGpfIABkKlXgodgHGuFBcJxErDqfwTPtxTmGHuXNNanUtFlHTijYucHSGoijEzMgsWKhRDNGRxZBCjvWSnTZTYHmqNFTSchmUkqCSomQcGUbMSENRwvioa", "qtYYpyUOpfkyywymWwKNbFdJqevvgllZDzBfSbcqkbLXTeihRdZHeFOkgVVpugsgsLCsrcbmtVQyGFotzmoRpKdYzAUSxGOWdosgOIWhzpqsFLmoJymUwqClsrtHkxmzIgvxUhMibDTMBaaUHrgAlbHdCjtLwXaTAZfQuIgHtCuEhGcYittoMMunRCSQMOTblOSCoxlpLGHkqBfEmlrqczdjLWNJHSghCAUmcqrORroORzrPWuLsbFztXgNbuBIl", "BWHlidWcrriLhKTeXziVjyCelgKrtWvMSoxFhgJfKrESlTxImZFEcjmwSQXLfCVCBzoAMhSxVsOTvDpebOQykFNAWbjzZGROcBdvBVWGDxYCFFhKhMgHYdNhoMXZnBYoTpFKDmCCfXdFZpStAyuxTiGvYpiWgBoEBbgFFHLRDgBoQclTQrQUjKHyPWOvsaYSUWQSSTZoblpQnhlhNvKFQMnXUlIiRlcEghnykDreUckVdmTMIRpkVeGnCJBqyyvQ", "VMPVWPWDntQWqctCYqjrCfbZxyLhzIYYOIRzkfmSPOaMYBBQolnSPkmkbmYWJpfPpXwijaJZGcNWwxWWrahVkqGXtbCXwnaacIHJWPTfcepwvwFdpOMFvOtprFaXsmjeIIutyRkxrNUfiwZmxREUOFCeCFwjhZPInvvbaFZvFeTECjgAIyImknskFuSdyGirpJLJToRKXkPYyutwgNFYjAzPjYtcJBymUfJkJkIYWZzgcyrOKWVqCcBlkVLBVLlk", "GltSlCWRyvmcMwiXmKWnJCvZNyAXeQVoraLnqbttPtBlmAMxefiIpFQYsZkVtrropkRrkTtDdFamXmRlTVfvCOQOTQKETcFDDSlaEkzPgtIKAiFuyiEiYqzfGvqHNPYhaPmoGmYIwWbgKEdWJvYVqlqSICuNqQlrNRVIMJnNMXzWnsTIsaswakjQICJAijrkVSQnfSftQHiIgCclOLngWQNMuIGzhQqywcjcqKRswuIGAmjrKMtcKzenrCsEQPsZ", "dnQOIhTabhUQmaQWdZGkBVmkZKvikydoFggqVrVcMXZvBOVByPnbAforqvsJaeylSNteSGkVEonsipDVEBgRjJHbacjwWzNDmZqCHMnwixSgGXgoaWUJjATGGTMRpnLFSijDRiUphuETzcwUQUifnsHuhOBWynOUXZuLeIYUxiReslpZvWwBOXRsPUrOmmmzqerCpbEqCbuClPaqYzTKRnHRXCpOYiOhTxYbEhXPTYlBCaztsklKAlnVucyPQvrG", "bHMKWTnyKYWVPeWIoqUbRgFyBuluhuoZfOWyuMFzwJvWMwqcDidSeSKZIgHNCMlKqCoHnmxEuqvdyVsXOJDPIdvEEkwBsgYgdrFLoOZLqhuUcmcfIWjRvjrcXOJgqshRhISPxgSNxsXhxHPaBVdaqNEBeYCYcLMYcJQOrIfEbCDSJaxogNrJGbDDsSQQQeQDAxXUoKidUSqZwKXyBtURdkjeNwESDxiNFYeAwKorBlzllegtmquLPMUHJOBuIyMS", "JRFqUKHMitgNqSXVXtXcMbVMllsbIEWOzZfgJjIXVHJtSKJESkezfsPmkVwcPmZtqKbJqMNiruXpxPHjBxmsLZvDIamRuZQJKhIZvgSQAKddxWyzVEeJCnBmfTvxJZHJcelPYIMNLvMcCMHKGYTKHebiqXAdqjPcqotiCtyHmFzmctBlvmvZeKAPYteywfBsBUZvqwQkJSeJcITUCaHnoETQDUEkRirEVyqHwmUobWhlJfLfznGKOENvIwfuOPlc"],"c_map_smallint":{"c_map_smallint_1":-28975, "c_map_smallint_2":26842, "c_map_smallint_3":23725, "c_map_smallint_4":-17456, "c_map_smallint_5":27852, "c_map_smallint_6":1895, "c_map_smallint_7":-5665, "c_map_smallint_8":3381, "c_map_smallint_9":19442, "c_map_smallint_10":20900},"c_map_float":{"c_map_float_1":15.963325, "c_map_float_2":43.31426, "c_map_float_3":3.3331707, "c_map_float_4":79.56067, "c_map_float_5":44.892197, "c_map_float_6":68.0675, "c_map_float_7":25.09356, "c_map_float_8":12.602512, "c_map_float_9":30.359549, "c_map_float_10":94.428795},"c_map_varchar":{"c_map_varchar_1":"BnrxallWZkPPosPJHmuvuuQEtCQVPuldOFXLmQjgabQHkCeDaKBDJUKFWCrFmKGUtfdqtFwVCHesRFcDbgGFoFAeqfYdhVGSIHpYRCQmPhwPUOCImwTMPwmTKkbXJFcwZcdudOHVPbbDJmwKHjKfbzSYIsDrCxnaktIgKjooOatVOeNksgFTgtWgvpRRUMHAQXzbdFNoGqDxudnCwGvDkhIEBYmqsIkgYjLPTldxwNMsAVcVcpnKcEejyMyvFGfh", "c_map_varchar_2":"fvDKkjylYjbIpHuErMSyegIkEKwZiBFzZowsnlFIGYfhxmbkmUfdCPAaBGNDqRWpwpDehgxDcMsCwGifjHNAkBzTnyKyvUdkdUXcEuWShdqDfRMiABPFxNgnEwGzNPzvaliAZYWjFLARoIyajjJlJzLtrUUGYvOJnCHLnkkGgUrvBBmiascDCQqfxWoHBxVbPQDXvsEeTGMulLqUlokEKPNHXBwEPOavQVgxnhuddVspwvrqqtBCskPjMOfqRVWR", "c_map_varchar_3":"inUDsAUCQYUncEPBjXMTTbUODFKkpzYwbnrdGVSZQpUkCfEASjHpLjeRTilecJEqyjUaxBXkpcpNpvafsuZJfvwXzkPxnaPVEVGKHjVALpvefMEhgZKlHGFezpZdrjcLaGVwBSUUSTuMrNqSYrIRvACultllnBumyzZxHZQlfYINgJfWoVddjmxttqjhRnHHnuRhYkdmeNofsVgUWutulyIRHglfVqnqOtmYczdlfWoaacDFpRWHVhoHUwDvtXDL", "c_map_varchar_4":"IskgWykFQyjzkgmKgJSCwdIquSTSpXibKtbsToMRbGMGcgdnODDavyuyeTLoRTxjOzOmvxOstlGllhuIlmKILdlOiwgzzUPGxFREnWXFIBtItSFymBPrUMFlhYZCuiVDOSqvCzsbZeUzgqjyRuIRfnWcWZzFipPegbRuTVqgTXkHwLiVEybzWGWSmqxLpQGQALxZyoZNrzaEIbfQqYDaAuhixvenpskIzJOYUZxlEHCqUHORGvZRpVtwlzNGOzeQ", "c_map_varchar_5":"HxGZlDHzKLDhVXgdtZUvPTHQFWmkFYuVMYUrTcFgZpqMjIilBLnldhPhKbbRFxMPerrJLVqeJsIzoBiwLPjAfPhQNgEnekWFgeyXSxzGjBWEOLoZHYxcUazCmriQOidFMkWwwAhWcBHDvWfSfzsVxYmybvtKwWHLbqUEhmBYlsHyjikBAlNEDCKoPHQGQGWoWTtgnJYHvNMMJGhXMCpdjfINooZQoBIoaJIITxbeCnXyiKSaRCySPDmvoafSQkdi", "c_map_varchar_6":"JDYjelabUczNWwBbFoGizczIpUkVpQFoEaRiDOXHlJrjMlYzFlMBNYBbpqYzBYDLfenSErOCqnytkFjDMnPGtEtgjuNPXvtRsToetpqSDhXLaHpWqOhUGzikVlNAIfuCjzQwmeTxbdguReWVwrucItRCPjGzajjvUcqukEFPucFvvIgJvIJMJytPeSRdISBoorqjuaMzzbCMKlEGsLnydRAhBisUOSfcTAhKffvBsEFbxpdDzNqvbRDMDItedvsz", "c_map_varchar_7":"QdouiYPvultXWgJNnZxnqRsNGFLiLseoDFFmykwtMYiJbSRtHHUSunBWZElXtBzsLkALDmBtCQrhZGbduODuBEqDRXyIIXgNFlDdWzjfWJPMaJAUbczKmtuxLwUEZvTMLaFhVxloVgNukvOlymDJUUMVRgRUoiuectTTfdvTLdfhdHrTVnqBnytGIhFamvidqeuXnhKcrqKTgFmNWgqWpQLIHERBMTDIYSSkQJJlMBCQepMziqEcEXhtOvGOXeXE", "c_map_varchar_8":"SSPLgKbFxKQEjxxEHXMCmKmoeIqpWmFEygoniaCmRCYvHPQzpxSkFbbppMxqgrelBHjLEdJKikRDDFXmdjWbPIOgWQtOXvvVcWYDuTodqdwKCcBxRCGQoMYHVBlGeHwfKnkFeQaPxkJQbBouHFdVuFpuhccsAMIEBTGoGIACCrQvUkdHbPRKjzJxccJYCNJSVBLmSOurzhOLfUUXeFCVeIIHsDPobQtOqMFMUEMLQCggIhOxOwBjejEbUUrcPAFa", "c_map_varchar_9":"xqaaYUyVVRUNjNrwFqGVaLdWIJleNPkxTklQDhLvlswFjRObOASxrFfqxTqYvlaKrCfRPPWMvDCXnDNwyfbQcbBVxCoGbndtZhdzrMlkrrfbgCWHUpCOWuvjQshUSzsdAterwSBhNojuRLYjfxFkDxWwmgfvSGpPClcGhtBvwXtIPVqsIDvKpqPGsNnJbuMjenrHaYvOjYeuxVpCATVPhicDfKEOCePKOeJEBsFitUSIoYQqcakBNbBhApMTfsaa", "c_map_varchar_10":"HgpSPMqFsILwjJTAxziusNrdrzQdUoAtofuBqaSXnUsNguzQsguIWXAVzbhwbrGrlcDuGEtGvJoomVOBNyryXDeYcnjkyLYvMapVBZrIGwtzOnFyecCDHmyXoCZWdGkrBMHGMGAowTWInZTURxxHSqHdpetkeSTZyPtRKcYvMEkpAfmglPvUckyDsCOnpYXhtIjUTHSuCqoDCWdDzQSCWESzwWFoiVAaqagXqmaDLQIYZPtRcFtMQVQMyAntDJfX"},"c_map_datetime":{"c_map_datetime_1":"2005-04-11 03:54:18", "c_map_datetime_2":"2015-08-11 14:17:23", "c_map_datetime_3":"2013-10-21 17:49:09", "c_map_datetime_4":"2004-02-28 12:58:01", "c_map_datetime_5":"2010-06-01 00:16:00", "c_map_datetime_6":"2000-04-08 18:01:55", "c_map_datetime_7":"2003-12-16 11:11:55", "c_map_datetime_8":"2017-10-11 11:56:22", "c_map_datetime_9":"2017-08-28 10:57:12", "c_map_datetime_10":"2002-04-20 11:43:50"},"c_map_ipv4":{"c_map_ipv4_1":"46.66.132.89", "c_map_ipv4_2":"200.74.115.60", "c_map_ipv4_3":"209.44.14.218", "c_map_ipv4_4":"209.39.12.140", "c_map_ipv4_5":"137.220.182.130", "c_map_ipv4_6":"128.238.216.247", "c_map_ipv4_7":"116.86.198.91", "c_map_ipv4_8":"1.169.50.120", "c_map_ipv4_9":"178.72.193.181", "c_map_ipv4_10":"192.40.118.207"},"c_json":{"booktitle":"Hamlet","nicecolors":"WhiteSmoke","productmaterial":"porcelain","word":"horrible","animaltype":"amphibians","verblinking":"is","cartransmissiontype":"Automatic","error":{},"letter":"t","adverbfrequencydefinite":"yearly","monthstring":"April"} }'),(4,false,false,7,-128,-66,1,31730,32767,0,-9620,2147483647,0,-1823474499,-44714147,245,147483648,2547870616473328126,-15152,9223372036854775807,0,100.02,40.123,21.009238843129843,74.4779871946685,62.1009,100.02,38.0475,9.0382,38.0622,100.02,300.343,60.0422,100.02,100.02,300.343,3.1681,83.0928,26.0264,100.02,300.343,null,100.02,40.123,33.1200,null,100.02,100.02,40.123,46.0960,5.0592,64.1669,40.123,{true:true, null:true, false:null},{true:false, null:false, false:true},{-128:-128, 6:null, -22:-128, 1:-90, 127:9, 60:6, 82:-34},{1:2, 0:0, -128:0, -125:-128, 127:0},{-10137:-12430, -32768:32767, 245:16430, 0:19153, 721:-2675, -16024:-32768, 32339:245, -15091:32767, -12895:-9128},{-20503:-32768, 5645:-29322, -27512:24978, -32768:29527, null:-28190, -4832:24888, 0:-24820, -18759:32767, 21849:-20886},{-1897377230:-2079942166, 902615251:0, 32679:2147483647, -533700330:147483648, 0:-328718602, 2147483647:-1142482460, 250342418:32679},{-482036274:2147483647, null:-2147483648, -578457054:0, 147483648:null, -258051943:-446534894, -2147483648:882746458, -1702799750:-1128548671},{1:245, 32679:7, 147483648:null, -2691:-2105765, 27639:null, null:5, 300.343:2781, 4117:20240803, 20240803:32679},{null:-4766966, 1:null, 245:245, 32679:32679, 20240803:1, -5121934:32679},{147483648:-5310448265468795078, -9223372036854775808:9223372036854775807, 7882078464538106703:-2016361871, null:null, 9223372036854775807:245, -8663277736095069047:-9223372036854775808, 0:245},{147483648:0, 1:245, 8569357891812023646:4733051734055268621, 390902:8104076158966489742, 32679:32679, 9223372036854775807:6888827, -9223372036854775808:0, 245:1558204918697987519},{75.134766:49.896873, 100.82237:40.123, 91.60325:100.15593, 14.042113:100.02, 76.35599:null, 80.63102:40.123, 71.034454:60.49733, 99.41836:69.58332, 100.02:55.756527, 40.123:100.02},{40.123:300.343, 300.343:64.16272, 56.127647:53.336136, 67.03698:40.123, 51.453327:68.789375, 82.39366:300.343, 81.7694:11.528099, 2.386292:18.715132, 72.79391:43.916336},{null:44.950794235339586, 2.8681233523331917:40.123, 300.343:85.67837838904727, 11.509569718545436:80.56947464297336, 100.02:27.18673512597062, 32.653687962985416:300.343, 40.123:25.640427043682653},{70.20047614873857:69.5912998629388, 100.02:300.343, 30.219056283491764:100.02, null:null, 22.9736347938204:69.87497699959437, 79.91470660279548:67.73458986259895, 40.123:null, 70.04250271627524:300.343},{100.02:'w', 10.0947:'w', 40.123:'got', 300.343:"0", 85.0606:'p'},{19.1808:'m', 21.1257:"9999-12-31 23:59:59", 100.02:"1", 61.1054:"2024-08-03 13:08:30", null:'i', 0.1873:'want', 40.123:"9999-12-31 23:59:59", 25.0607:"9999-12-31 23:59:59"},{8.1532:"2024-08-03 13:08:30", 3.0597:"2024-07-01", 53.0773:'n', 300.343:"1", null:"2024-08-03 13:08:30", 4.1196:'n', 15.1101:'w', 100.02:"2024-08-03 13:08:30", 40.123:'something', 8.0478:'w'},{50.1461:null, 100.02:'i', null:"300.343", 300.343:"2024-08-03 13:08:30", 40.123:'will'},{100.02:'y', 95.1840:null, 24.0517:'yes', 22.0062:'f', 98.1105:'w', 3.0361:"0", 27.0586:"0", 300.343:null, 66.1174:"20240803", 7.0061:"20240803"},{64.1991:"300.343", null:'are', 40.123:'r', 33.1766:'here', 41.0035:'q', 73.1523:null, 73.0127:"20240803"},{59.0825:"0", 300.343:"1", 13.1419:null, 76.0529:'get', 100.02:'x', 28.0237:"9999-12-31 23:59:59", 8.0049:'going', 0.0071:"20240803"},{null:'l', 60.1638:'d', 75.1515:'it', 100.02:null, 300.343:null, 26.0762:"0", 40.123:"9999-12-31 23:59:59"},{86.1317:'k', 45.1282:null, 40.123:'a', 1.1525:"1", 100.02:'I''ll', 300.343:"1", 98.1459:"1", 6.1543:'w', 63.1853:"300.343"},{null:"300.343", 40.123:'f', 34.0298:"300.343", 300.343:'could'},{300.343:'had', null:'are', 100.02:'x', 40.123:'this', 99.1558:'I''ll', 45.0637:"20240803"},{40.123:'l', 94.1182:'h', 99.1554:null, 100.02:'w', 58.0934:"2024-08-03 13:08:30", 73.1672:'f', 98.0063:'been', 7.1356:"2024-07-01"},{null:'okay', 2.1567:"9999-12-31 23:59:59", 40.123:"1", 25.1539:"20240803", 300.343:"1", 41.0973:'n', 93.0880:'b'},{null:"2024-07-01", 300.343:"300.343", 90.1682:'i', 13.1454:'x', 40.123:"9999-12-31 23:59:59", 100.02:'r', 23.0927:"9999-12-31 23:59:59"},{'x':false, "20240803":true, 'go':true, "9999-12-31 23:59:59":null, 'yes':false, 'on':true, 'f':true, 'b':null, 'have':null},{"0":null, "2024-07-01":false, 'no':true, "20240803":true, 'there':true, 'y':false, 'ok':true, 'm':null},{'this':-128, 'as':0, "1":2, "300.343":110, "2024-07-01":-115, "20240803":-114, 'r':0, "0":4, "9999-12-31 23:59:59":1},{'your':1, "20240803":null, 'or':null, "2024-07-01":-24, "0":1, null:null, "9999-12-31 23:59:59":127, 'can''t':88},{"1":5304, "2024-08-03 13:08:30":15523, 'out':-23360, "9999-12-31 23:59:59":0, 'go':-32768, 'y':18010, 'u':-23391, 'one':-15296},{'p':25689, "300.343":-120, "2024-08-03 13:08:30":32767, 'on':null, 'o':32767, null:1037, 'come':-27048, "2024-07-01":23695, "9999-12-31 23:59:59":-19337},{"2024-08-03 13:08:30":-1920979240, "300.343":-664737524, 'i':1194081960, 'that':-2147483648, "2024-07-01":-1712923835, 'back':-2147483648, 'when':-1512299629},{'x':147483648, "9999-12-31 23:59:59":1863646259, "0":147483648, 'r':-2028591150, 'e':32679, "2024-08-03 13:08:30":0, 'p':null, "1":32679, 'c':287228772},{"20240803":null, 'his':1, "300.343":245, 'z':null, "1":32679, "9999-12-31 23:59:59":-5170200004863901168, null:0, "0":4261476, 'x':300.343},{'d':147483648, "0":4, "9999-12-31 23:59:59":4559143, 'and':null, 't':300.343, 'now':300.343, 'with':1, 'l':null, null:null},{"300.343":-482446009688963230, "2024-07-01":0, "0":32679, "1":null, "20240803":0, "2024-08-03 13:08:30":1563207738, null:-9223372036854775808, 'v':1},{"300.343":9223372036854775807, "20240803":1, "2024-07-01":245, 'x':245, null:7983703, "9999-12-31 23:59:59":245},{"2024-08-03 13:08:30":100.02, 'n':47.50918, "20240803":100.02, 'c':37.176445, "0":40.92401, 'j':300.343, null:40.123, 'his':33.97756},{"9999-12-31 23:59:59":300.343, "20240803":91.05896, 'g':77.4548, 'with':null, "2024-07-01":40.123, 'o':null, "2024-08-03 13:08:30":93.84243, null:100.02, "0":300.343},{'d':40.123, 'him':300.343, 300.343:100.02, 'if':83.19874722346313, "20240803":74.79302085122873, 'g':300.343, "2024-08-03 13:08:30":0.3689496733615195, 'c':40.123, 'f':93.20800847568299},{"2024-08-03 13:08:30":43.66281881142442, 'back':14.01944520389164, "2024-07-01":19.104099360591913, "9999-12-31 23:59:59":300.343, 'w':100.02, "20240803":null, null:100.02},{'w':36.1496, 'got':15.0694, 'q':31.0048, "2024-08-03 13:08:30":86.0495, 300.343:16.0439, "0":40.0554, "9999-12-31 23:59:59":83.0126, 'would':null},{'really':null, 'just':null, "20240803":77.1429, 'i':300.343, 300.343:83.0353, 'don''t':null, "0":40.123, "9999-12-31 23:59:59":31.1012},{"2024-07-01":36.1814, 'z':94.1699, 'k':40.123, "300.343":300.343, "1":40.123, "20240803":9.1136, null:36.1112, 'x':79.1557, 'w':40.123},{"0":300.343, "2024-07-01":51.1598, 'had':40.123, "1":40.123, 'in':300.343, "20240803":100.02, 'b':40.123, 'c':31.0632, 'then':300.343, null:82.1143},{"9999-12-31":false, "2024-08-03 13:08:30":false, null:null, "9999-12-31 23:59:59":null, "2024-07-01":null},{"2023-01-15 08:32:59":null, "2014-08-12":false, "2024-07-01":true, "2024-08-03 13:08:30":false, '2016-10-18 16:39:03':false, "2024-06-30 12:01:02":null, '2016-06-21':true},{"2024-07-01":48, "2024-08-03 13:08:30":0, '2016-08-03 06:40:44':0, "2014-08-12":-13, '2002-03-27 02:32:12':127, '2017-07-01':2, '2017-08-27':-88, '2002-03-16 15:28:41':4},{'2001-03-18 16:34:41':0, "9999-12-31 23:59:59":8, '2004-11-23 21:09:58':2, "2014-08-12":127, null:127, "2024-07-01":0, '2004-12-04 16:24:03':0, "9999-12-31":-116, "2024-06-30 12:01:02":null},{'2003-04-12':-30871, '2016-03-07':-20882, '2017-04-24 07:36:17':1587, '2018-01-14':245, '2001-03-09 18:07:14':28714, '2009-12-20 14:26:25':-32768, "2024-07-01":245, '2001-10-27 00:18:02':-767, '2012-03-09':-24133, "9999-12-31 23:59:59":25043},{"2024-06-30 12:01:02":245, '2007-11-24':-32768, null:0, '2014-07-25':14093, '2005-09-03':32767, '2019-05-14':-21827, "2023-01-15 08:32:59":7811, '2011-08-08 01:15:59':15016, "2024-08-03 13:08:30":-13818},{"2024-07-01":1828268474, "9999-12-31 23:59:59":32679, "2024-06-30 12:01:02":0, '2000-02-06 09:48:36':2147483647, "2023-01-15 08:32:59":2147483647, "2024-08-03 13:08:30":147483648, '2015-02-06':147483648, "2014-08-12":2147483647},{'2015-05-04 19:15:54':-1889921237, "2014-08-12":0, "2024-07-01":-2147483648, '2015-07-13':-2147483648, '2019-08-11 16:14:58':-82380150, '2019-06-09':-1848327774},{"9999-12-31":32679, "2024-08-03 13:08:30":-3523975, '2009-05-02 15:33:40':147483648, "2024-06-30 12:01:02":147483648, "2024-07-01":null, '2018-03-11':300.343, "2014-08-12":-7112927},{"2024-07-01":32679, "9999-12-31 23:59:59":7, "2014-08-12":147483648, null:32679, "2023-01-15 08:32:59":20240803, '2003-03-03':1},{"2024-08-03 13:08:30":147483648, "2023-01-15 08:32:59":-362919782547801206, "2024-07-01":-5377294745931413925, "2014-08-12":-9223372036854775808, null:-9223372036854775808, "9999-12-31 23:59:59":-1163467732, '2017-05-25':9223372036854775807, "2024-06-30 12:01:02":-9023181461215052579},{"9999-12-31 23:59:59":9223372036854775807, '2005-07-24':1, "2024-06-30 12:01:02":147483648, "2024-08-03 13:08:30":-1860402850, "2014-08-12":-6802648594698669717, "9999-12-31":9223372036854775807, '2010-01-17 18:26:36':7205199239773792676},{'2014-01-23':100.02, "9999-12-31 23:59:59":100.02, "2024-08-03 13:08:30":40.123, "2024-07-01":100.02, "2014-08-12":43.058586, "9999-12-31":41.454247},{'2018-04-21':22.46178, "2024-06-30 12:01:02":94.18273, "2024-07-01":40.123, '2010-06-02 12:24:02':40.075035, null:null, '2009-08-08 13:21:57':96.17241, '2008-09-05 12:20:13':null, "2023-01-15 08:32:59":3.1917434, "2014-08-12":65.67295, '2004-02-05':40.123},{'2014-05-05':null, "2014-08-12":null, null:300.343, "2024-07-01":91.3065186611134, "2024-06-30 12:01:02":300.343, "9999-12-31 23:59:59":100.04562414432303, '2014-10-01':30.636887896741392, "9999-12-31":76.51212460957737},{'2012-01-27 04:30:07':32.42083208136693, "2024-08-03 13:08:30":4.378650188294571, "2024-06-30 12:01:02":8.067252973866887, '2000-12-17 03:54:35':100.02, '2011-03-25':49.98423635004584, "2024-07-01":15.18303537080056, '2016-08-04 11:47:42':55.49489294734804},{'2007-03-27':100.02, '2014-10-28':26.1914, "9999-12-31":6.0329, "2014-08-12":100.02, "2023-01-15 08:32:59":59.0241, "2024-07-01":19.1645, "2024-06-30 12:01:02":40.123, null:54.1878},{"2014-08-12":100.02, '2013-04-21 19:42:06':56.0528, null:null, "9999-12-31":92.1075, "2024-07-01":300.343, "2023-01-15 08:32:59":73.1646},{"2024-06-30 12:01:02":18.0986, null:40.123, "2024-08-03 13:08:30":28.0112, "2023-01-15 08:32:59":100.02, '2015-10-12':40.123, '2015-03-24':300.343, "2024-07-01":300.343},{"2014-08-12":40.123, "2024-08-03 13:08:30":null, '2019-02-27 02:39:28':100.02, '2003-02-01':100.02, null:67.1005, '2004-12-08':100.02, '2002-06-02':100.02, '2017-06-17 22:35:03':300.343},{'2004-03-09 03:42:36':300.343, "2024-06-30 12:01:02":40.123, '2003-10-20 15:46:16':40.123, '2015-10-21':100.02, "9999-12-31":100.02, '2008-10-13 12:53:53':100.02, "2024-08-03 13:08:30":40.123, "2014-08-12":27.1948, "2023-01-15 08:32:59":65.1074},{"2014-08-12":null, "9999-12-31":300.343, "2024-08-03 13:08:30":40.123, "2024-07-01":88.1023, null:40.123, "9999-12-31 23:59:59":100.02},{"2014-08-12":75.1067, "9999-12-31 23:59:59":300.343, "2024-07-01":2.0092, '2014-02-20':49.0457, '2013-02-19':83.0458, null:300.343, '2002-01-24':93.0010},{"9999-12-31 23:59:59":300.343, "2024-08-03 13:08:30":31.1917, '2003-02-18 15:34:59':null, '2015-08-24':100.0344, '2019-06-17 07:24:23':40.123, "2023-01-15 08:32:59":100.02, '2018-03-09':40.123, "2014-08-12":null, '2007-11-19':98.1434},struct( true,119,11217,-6089048,20240803,-9223372036854775808,40.123,48.884453204645325,300.343,52.0217,300.343,40.123,null,40.123,100.02 ),struct( null,null,12082,328920008,1,7964633,48.135914,81.01496785387192,14.0198,51.1904,88.0131,null,100.02,34.0483,100.02 ),struct( null,-122,-12517,-1465443259,32679,2082294629,66.9807,null,100.02,300.343,300.343,300.343,25.1572,100.02,100.02 ),struct( false,-128,-27173,-1801602072,32679,0,40.123,31.28535890957545,10.0309,300.343,23.1031,25.0647,82.0395,100.02,90.0051 ),struct( false,0,245,758430778,2707020,0,65.633484,48.091043440051195,38.1397,20.0218,300.343,null,62.0627,300.343,100.02 ),struct( null,64,30306,756710326,147483648,null,300.343,40.123,100.02,null,100.02,300.343,40.123,40.123,300.343 ),'{ "c_tinyint":-108,"c_float":38.619453,"c_array_largeint":[-2645759519583327805, 5576805196179097090, -3693148321569058310, -2462770944071110086, 7907629337095788501, -4730297748976371243, -1114848211995762639, -2449515073328832964, -2122062590259845755, 5851346090496484225, 334231871874635726, 7004085268991481861, 1397272592394878928, 8643928347111505702, 6473643798378129081, 822951403576779834, -3265280677461024997, -4965542906011748786, 2284810845188831164, 8877182718044045174, -7948888634546500186, -6314775137950726340, 1419210599982630575, -705805046665125007, 1390632538200954866],"c_array_varchar":["NUGuZFOoBXWFBHKEXbPEnRMatQEOcfmvRIHKrbNJyUkJfbSwiRhfpCIjhSQOkOiZWtuiZnBHONDjfBNitzGAZDyQxzRXjNwMegEtcCMWWEApWBkNcyVJGTHrGYzWdMPvLVMoInApFEVTqqhUPsnnjcCBSCMOXDoKPSHOcHjjBddXmIXLqbpPabGirAWnyImzPSVdCzMBPzSlleCEFnbwRQPychwGidJiVbqAfdOwQskzzSYalxFZorDUNcUDrmAb", "opxGTAGZHRmFMQdPmGpyParXvyDCMtlAIcxSbZYXABBdogAcXlhYyneogSjNpXizrlerYiGLXDskZdzCLEPRvxAbqpmFaFdkhkMxyXpHAJMhjIJpnJTQxjvBBVekwqXIofdLrnbVZaNOHSibaJacSZuBdEdAZPDRalnLZVAodsGTOEDjkUjjcmRvwBYRBumqbtScBQdxpxIjWDIOQuBajhlnTGXQNGkOHoNGYXhrBbLDJqwFWjnFrVUhFRhIILgO", "xjYABhieErbIZLJGRQNlBKBzUFAFbKGTRuMQaXGdXNJXLzIEKjDQhJDzIBdTFwxUWUzWyIeYTiQDSLZGJIReSbNfUaktaYNwxpayBMkiORvXzRkiAPmhpOFdVmUgFFWsBOCdeCSOhRNgQFxBNuuXcSSclpzChAlvCbjpUWmDFrXAMnbhwOauGEzXyiXmOcjeArfaQVqcPVKWHBZhiWNdNcahBMtXnPZzdLrWurJKMyBBIXHbSchADQghvlEcjWLA", "UPgEvyoeskqeElOBzJnfzQoVRlEAZPUPJEXUoNjDgCaICVHCmWgSXULCJanOWfTiJLuUpCsxWfFQcAbRolrAqvCiJLsmFTupZOqMrVuxZPcSUzNdLsGulYLknDnfsIgLWEbuZqzsYQBXWEMZUJcHgjIysAoWbHSlbOfwthLevPGWBYvjosWqiqqIdqYIsrixMfhXKKMcCHPCRPYxMMkRgKspxQvKlePPydXfXxrwOkdnokmxqZjqJuVQDuQoyRyd", "roJJIgCoSHRuwuYvcGMFHZdxWwFLJWhsBCGmCIuqAvyaMPnhdooNOXWkHDXXCKAsYZrwNXBBEIyfhkLGKXkKtaObSSMPkQXkPtTGJWYApUzfKlKZagSgdZJiAFSMYrFnGrStOXudlOWqJAkPFTVyDcsqGMmHATvDWpGdpycONisITVaEssuMYsHOoaHzFjIAIWeMcAFceJygwsFauGKEAikoVwGOxvhfhhdpAbfYwAZzntDpTXVBqZaYiKpCQHFg", "ghTAvmKRojNXNIMrhGtCuWNVCtCSAOVEqsoWovAKBdhcCmwLqmtILWJtevGvHZXUVukdECRAWbfQbCnTxNQCBNHxzSDKgAkYvZvmesDajGelNnRoxptFPJGGkVJAHGIeekZFAvKlxAkDgXBRGPlkZPJOzNdsWjyeYQcazskrxngedUVCibmICLspzEqiQKnzjdyIqBWeSvZUAUGJKFEdvsOszmrZeRfteTzlfxmrQQTsbyleZPcokJwUXbdyElKd", "WNHatBiJSvQMZaCDcLSQYQpjiDHxeclIBKfonjBBLzhvfYsxjIotvctpDqIMOSiArFnXoRpRJdQIUYyTMCqwiSbVcGXGXzbuOSgCnnndZSPLhwAdZcsbpXGAzeQHEbcJpUcGEBdYzBntkjsOorKdXgCgVdQPVOWFsymNzhdlZVTmwbvciaNqgCcoyaaqgelmvdgvaUsCdxGlggoTIJzJBjCifyrdecXYJJiKGqyIZBuNObLrFheiuJYegDpQraRh", "VsVRpOzSynjFLhXUTnhAbhvsOOzqaAgGYlgXFqAAFIPZdBtyZxZdKlwYlOxIDeCrJvASinRksPWSVfgBbTppptgikiSDWyIhCLlfJuZvsFGgHEDpYEubYKzLVwFNpEKQUvoNlGjLgedhxTLsjpoNCrPpcBCugAkNYBfoSYNXqvEtHBHFlnYUmIignwoAcOtuldkrbPIpNhzantPUJJnISgCfihabaXwRBbknkSIynroqLFfjQfpJZCirPPlPKAdN", "ZExXGwVlbWuhynXyuVlKqeJnInAJuXzFNxZGgejKsowAweOnAQEcfRKvRYhMTfgTUyuuYEAODRspCHfliZFMIwakJglRNcSwNSaMJwUpDaGSyMiasOrUOVdpORiRKBbdUDPMdljjWphwWjWPUDKXlikDPdZpOfJufkNgGXkkgCpdsXntnCrrKHzKqTZxooLkbItMMefXMfdeLVLQiyftvrhiesVrtRcYGAalBwYQKeRaOjfPXhHcpjjLAwweujVS", "DXeBgXlGWlmzuyysiKPDSBoYLSRrYKHFKFSBLPgonRVWSZqfWsBnodhdtpJYFekbczMJSuQUBgUDiIXSQSYVlNWhZJSxpmrMfZjfuLJhGzSdxDlJMGiqwVUukjzlfcFRKkToLsVlwzYcsqHsMPNwMToMDUKVpvuXiyNjUlZKMzRsBXBKufAxXhzFNVeripkZUjPBuCNCHKOPeeKEpKwHcAAIsCeCCokjxDBjrlUbGdotNTCwHaihuoppvaqGpqyw", "wjasgoRiWrtLEMcvGHGlWkwwhcEFqimxeQMCOWkVyoWGRMhoqgoGmAmDAYlElARwJnJKygZUxzdWJEdhVelBnIRQQQrUjKxPRnrSKvchEUMCHwYnpIRlrVsRjpBSvvoHdOXBnaxbSDvLEnsHzfSQoEEaicVCGSWQnTdzruVQOyGcUfWHNaJvDrUSxsMqGhbnoQWsYHDnYNxJabExrXDbpluxGdFyLBMxuzSRIVtVocWeATvYGeAzduMhmLlWWvKr", "gXuLWqCUuwAxEUlybdEJUsWzKxgYXNLqimLYNPDvQksoxnFvRupAeJAaIUiQCxolfArHhEWczYVYeJPSKtFfRkRngbkJgySBSnFxhXBcabkbWDmVsmxJFUVVxNDwNaLWrUiPMVXclfjNFWmeHgryTIjwilvRXtFhJpZQjjamgXxxDWURnmUeKEUUmdbWHZhNgizFNXKGiUZVmayYaUHLvdHXooNkAeAKwJwwgJhlfydHtomHcojSjbsAIGCYmMdf", "fCTUrLrIgFIdputkRkSQnXGofLFJnXgGaKwTqXwWUwbWDKqkUBMeEEOcGeGkpTbSPmVzXaKsBaHGjLrPjXzsBfcvNVqoTzevtubiDbGMDhzRGmpughjckKCICgnWIONihICrxvTsCPCSQsGrrKMWNCkbZZiSxidmvZGdOIMHZyaOVhVqnHkyHpjRQBriaGNlyZknNFBuWQLjtPLtUPMULFMpGZfQtWBvxEvBNNuwxNjtoxXKObBHfMvafLFaWxgS", "vNDwzHJpqTdSFdMKIaqKGUctcDdsPnzoTOSbmlctgXnuxSCEOJPEONgpmauKqYtJtayNDfbErvkHbbBpicaYcNLtYFzdWJSkiKAPmkkZdSKKSmTlNxwfpSUkckabBrFOUsqIzpocwnaXfcfZxalzZcfZpZPKFgEFoIMdFnWzLnOJuVeAJSzZXofmnTgSImEHRypozLdqsXKHFZiTSBfFrMHAdrvTkpecpukuetXZEXjuQwHrHxaqJWMkDjPxvsmB", "baxmEilsmQIIFzorhMudfADbFpDIZnJjGuFdnaoQrnjKQiHBkEDYWEeBilACxsyAdKwlzlnaRJKlrZrWmNvLVeimEroGeoLahcdERCPoNeqDAkICjVvgSLIaCcAqHlOKqCJmCdlytmPbkLaYWjltRnbNejOLLFCAaGSQPpFYfXMdEeRoIKpTxUPtvuyprnukETTNqUimVSfqdCQbtGpXrXottYzgOpDgmqInDxbOCViwjNSrnIUhxaasQiQxUuPh", "AsLlOBfilklTPGclqKZivcrlBIwKCTgmTBRlvSyGhLFVqJXKfiHwlZAamcaIbcRVvNPedfJhetmhCPzjGaempjEpRypAZnzlPTZZbNrVTAerQjuoPQNmHYSArtEMjGOguHSeqRIKxibSErluUlAmtYQBbolZmpUxTurFXNklhBkKZbGxJMULWzwzghYYLRNyrzDwjZFWMscfnTblgWkNZoWGynWERPynvwQFHCHsKRPWFPebGdkAoGnzzxvElCIX", "dqXCpIYUELobGyvfkxEEWoWycAxnlaqaTRREcTfCljffZUxBdPOMxMCxsLgFnnXiQAdxyeaNEXgFsMStiCRjiRJOYJvdNrdxccnfgWFgIxLTLinzoZEDLtBdgYPVqPOVJkmiHnSMIihDnFaQakNNuVyJmeDsqavDLTYvgQhxgYALvcJTtNhpsPiXkxisWYvjvDXZPfBWrdiOrwFCRHwfgxnThnqhtSIRNgebxrpmsClYXTmyNCQCxmjWPiAqpLjD", "iULpPEPfyUjNUZNSkbrdaufmeobCxOHWtVFCjgfEjZZAcpYZJDjlLXphYOXDPvWPiIcFzllaTMvKVMHBUDqsubUurozImnrcrmEeWuRQlaoXctOrGVhCYubNdTnoBsslNGCnhkKTOqWbgJeAlPPhRkeMoYbLviifrAwZtFmTOixzuWSNqcgYtqXqsUAnwoWadXGdecKYUymSUyiVTSszUNinfbySBBAoxbWeldGSaUzAcCeCBAeCUolhVaxCoWye", "nKJvassWehiblsWQdJlLAwSxAuxXUscwZEmcdzNZAMwLWHPPMgfvEUZoezkmPKzegCPMjeFxdSdjEuyIbdVhWwIytOBnAIoIhWlnbVPHRvSvLbREeTdKibtsjgutUcBCNnpjtjRyUYslpcvPWqZVoXvhWbuqgTMtHlgAAmDkIOZBKpyjgkyxoOmxdRTfXXvcNHPcAxBgVbmZOROtmmEaSBzYpkCPARnAToyEBVXiaAdyxJLequNwQohuGuwwSfuh", "KcxlTBoULLxRZJAJvVwLCefKjlTbiXJVLdrxiksjmTXwoMIdQHJPWQTZqKMpMhLmaKbGskApdFQWBLtVNqrcTOJKdOOWaXOrNsyNsjLGkAjoanlGckvBNvpIvlFbNuwXWtevslegYRupXcBgjzjyMKYktDAblywLcnHobrQujSDYZfmENdxOqPWlWTijxSGnSKnbXfaQyydsDNmifAHnoxAoYKLZxXUVANGQxlbYbNQqEijsHtjmaioubbxVIMuz", "DknDiyaJEHIKPUzAEpfwYbEiBJkGUjjpDWUxGdDTfjVqlxLaNfoYOtJbGKhCQohoNtmGovQqcAzsBsSwpyQOHXpNBrElPeBdyvJFXpnNUtZxZVRYgLWWyoGdDnVuhxaRRZimqOELCYqxTlxlOYZquGXEMiEWudBsdkKnQIfmqSnFQnZUDdpUpvRKkHKmOljgPPFuKucUVvqnSXVCXnzwkQIMoXEwoquYKZlEeKTmgWHqZmoynPNYaNzeeBCLFMIe", "OQQlqcdDaxPKhyxkvvlZmgBNnvQBISHTPpdDEEEKMyvBrsndddvMaHqockgaPKVHXjeHJswdiloflJcwqhcgHvLRkfqCtInipRzdIGuXwmQmQhdTYowsaXEMqrCoQAjubkeMBDnRoickbHHKYiXAobkfDXOfEeIACJZLNzniUrKNHPMSFZIsrSnBBKNmsEvrwPcriBarUjinLhluAdgAysfrtEspRxjamIvGHcXDkCMRhWSjnVGoTjikxrgleBMx", "HTDvmzMDhJTpcVixXkNStibHJJCpFOrbvZIdRVEaTmvJlgIuqETTcpIgNMapxiisxevZiYSHqDBNwChHPAPbTPXXIIHBpFBtLCXyFXwGtNBuCeYjEJbmHUikBoODfcPKcYWRnrGElfQYRrVlwsmISThbmjzAOQclbGTlfOcBqwRqJxlPfrybVRFZMVXhmJIqbfcIHFJQxMlYvsATbnGHkFqHEHQknfbFEjywXxLEVJltrdgECBeqPpGsUlJaLCsC", "uwzSwLyFeSykwaZDshiZEaJnaPeHnabdlHBUcNHsMIpnqBbRFvsnPtOXHqtOqpMTXtxfENXQKodDBQKAQAYYpyBTELiyKXTSSnCEkmXGwJVbsgxcuQnMbUlVBRWhxgbEHbhqmUeaajACNAFmrFnJwHLPOzRVuuwIrBeLEXlcXKJpZmRMqlKdRbqWqsbTuiZwNmalEzQsLFpAUfHnoloakGtyQAigWULpJKmqtODLZkzsRtHZtAfCPGAxOUofItCa", "RnNSbtqYhcKBXSDhfnKxXIHKinjNiIzdzaCoSMdxoXeLxgEvvoFCasHBVZDVOfRuPhBGuIXNGcNpeNikdIXhkFKsWUfVrrzBgNNdndhRhEKFFieQWojmkzksZkbcrouyZyvIYfLfVFEmSiTEaPrYkdBhcgvNvePPjpPUEsVpFkCWuMNRYJSbObjrYCrQLbswzOKPfDUHkqBXIPDiIQVsIiTyCRjJYDZMdABwvJTorBizYQumftjrneyfgpeywjDL"],"c_map_tinyint":{"c_map_tinyint_1":75, "c_map_tinyint_2":115, "c_map_tinyint_3":107, "c_map_tinyint_4":4, "c_map_tinyint_5":-83, "c_map_tinyint_6":-95, "c_map_tinyint_7":3, "c_map_tinyint_8":-45, "c_map_tinyint_9":74, "c_map_tinyint_10":58},"c_map_float":{"c_map_float_1":38.721653, "c_map_float_2":2.3582718, "c_map_float_3":34.035133, "c_map_float_4":87.94168, "c_map_float_5":55.342968, "c_map_float_6":81.62061, "c_map_float_7":94.48138, "c_map_float_8":76.95923, "c_map_float_9":33.267147, "c_map_float_10":50.834816},"c_map_string":{"c_map_string_1":"ievEOWIlqzBkjxyGrdcLtjApWaHveknGcFEDGJsIDkIIMwdGVabSTMzhzrJJWSKHUMjwBrAVLwkdciajvMXklcJACbGWvsPpnORUUShVjFETyBHZrmPqSONNSBYGgbGrApPBXFkhmYvaUfhZEmZtkdYbuHyKHveRxCJIMbIVcowgbMnmKNgMiOIpkaUALYkFuFEpfBJGjkwWIMaGamliYmifPCklKhvNQRtARqyGjvPwVAnxNdBpxdlyWYdfEHQHDRrgRdryVQYKrXWOBMybGPtwUBxkZAhdIfzcFdtNIMCSqMcxjIXHHOqIqPCqHrKrsgJzHfhohLKsdWZBHXBHZVICfGeYfftzOirzpUTGQCNnRjjJnCKzCttKXglkOJsrxqBMZUBwtDxVfshOZXEkTOWMnZSjazgEatBLuBQwkgLiBiSphXKpPvpLcwxTlYMLjvYnwkhceMAbPdWVizOFRSyCjPNJLDIEQVvxaeyAQvzFtUpAgVcQgziQWDApokxC", "c_map_string_2":"uFoUizOXwHjBQYbcLCHFGbmRuuGKbBJASSHJDDtsNnkvOxPFDQSPEKSNUBmBtVcvXLPRnMwDjNHqPRmBtFIcvaiqHvkyoHjTWoadITqcsEKUatykBRZgdDwZmOeELUUXIfwDFoZiKoiKZiYglCEtQYbixeAZwEFwxjQWmgJVFFHNTUEtWGNbtOVLSPTzcZbLnoEDswmgGLOennADQmBemOAUabpSRQOBHEGwiXAqbwoZlLIiPuSyiknoIEJCsdizWysIhsETWLgGmUdevnMEQDTAglaczadRUpIUqnnOCtppldwNdMBqfcVfSpsPLcyZequrzLqrRnAnSysKVprkMLQNpsWkGHnWHYCeYHShhoNShaqeVAhMZVVPWrXFAocvENkEcjGfvDVcMIOwnvdkrpJAtRBEZgTWXpQtAJCVIoehXIFYyiYzTmaZPkFfjZtDvQVDWNYLlZXLbTYtnStGHNHzECMZNXAYzIRHqWUizFVuUqsePUJczhpOkXEVoWmc", "c_map_string_3":"PHbFodhoprKnyscbpylkWSLhpXuvTmlXStvMNkVyJVdvLzVbgSXRtYrMRbaEGNntfioZRmkfraytfQnqBNoaTYmfsaqczbQFQsWOLluIceIcegrTFPzNoqqQWhGmUrJZbveQvHXIWXUGPoHlWxEqboRXzVVgqUbpIdZSgufMNKmkLiDhiFjhOulvlmdKhRHOanWsGwycOrItEcRIYXFQaQYcdJBVQnlXeDvTyPADpnQbFeNyXhuHOEZDGWLRHCcRyMEoEChrbMganMCOsfCXgWrwBaTArlnIFSHUsTxtIfqMiAoykiFlQoqDfiCMBfNUtTqnqahzXZnpNLRRGGEUnjGNZnLFPzKPrdvPNvgGPxXILMqYLvXkqAQXhxdgmQlDUFTVTDYoYbRCZVtvhGkakiIUHTxpsHOxVhfkkgAvhMBxEsRpfZlbTRoGSJZpdOiKGUvREsBiPoifWXczHaAzBIVxbcAuEelYNewpZESdDEcykuWKfnMqdkosjfogUHBh", "c_map_string_4":"FZMOZPhoCMYGwpGhxvgbaRrBOdiKEuYySlUYHLBMXPJBkAwYpuQQNIdksSdsnppzPUTyFTMeEfiSApBEUjSDoLyQxJiuuWJHepVlXWVWhYMeyOQqIPjPEYXNhjOomRgWtWiEEYiuBAJDMAdNXQfYOgaHyBiSDtpXwyevBnIZDTxDipJugRvoZzxuNQpxXqjrczTBNYMlqWyxEyleEqaaWNoXXlVJijJZEwylOWSNsMOUjNBEhLPWuJWoRRVbrdkXzvfcGVvHwYBpZzPYVTSHbcyDZmtoGhocsVSvgoXbuhTknMILRLDYXqfxsYEtzDezFFduLmByAVqUASOwYycSEfkETcKGLeVTMGbiemDSNTNzZBQNwmWrUzTmmcdtuYqMWvRvgQlHZpuLUmTMtimjrNjrwnTnDNTmjJwzKWVQmMsxbdlkqSbNGszXkRKAPepfntjyzxGRIyIKKaDzTTRZVliRurLZrwakpWMWDXDPKpFMpmbxPPjfbOjYUzlDITiV", "c_map_string_5":"emvTAUFCEoQrUnInALkYZbvCUUOllmdaTkvOGxaadbKPhNfyKskIVLSThBQhfpsmfvEYhSgVxJsKXvSPdCjscDsyfWhajpibjrQroYlfZQeFrGeCXZkshNUIoPytncARnNYqbMvBwEWvMhzZhIPEgTsoKKEgnwjTQkhlwQHCdKljpHCFlVZymcExuzgZMaTYZRgTjprbnHytCuKVOewbEguefbMULQoQJcDqRUxyPrLVBoaIXXrxHXmUKyQtEOEIJSWpeJFgcPsftKsXIVngJujCXYgHUpjVWZuoRGbMQgArpYtiIqNJTcNBrFsgVYdDlRdFHjxsmlmcTiXMCuDaKyVWkeSJXqluErPQbDhZzdyvBVQcuejMpBQKNwjmiBybIWJWrJREvMnYEFSRAmmLUXXKsZZBnMFiAbnIOhohITnECOZDtUDljQwgiNiGpWiqBUPlNnmzKUOfHnpHLcDtcXTmvnzPEGJanbpMgRjBbKiFgBBStmwjzSsySUcdyQTO", "c_map_string_6":"NDfnZmqlsIVpiseDpCZlIHDmQUYNeqNgffwxGLwsrMiHcdZBCZNAArQJaWCVyYWwFnqEoSvxOThMChfsWYfySrPhAeDaBKwGhXtKwmnYKvsHahHumMlvXXTcswpMaIeUwySEwDbcHoJRivYDqxzvEiSpcOXPBSSHBuEogLwVEWEcXuVAxJWAOLTSNXgSZiRoHrIrFYLiSlEgrkDDltFObhmjAWWxMOaOLqMYTbASFLwAwNhqGWFxJoOenNJcfuYCfRdwMOIoiSWOkzSaSOwjUMcLmLlbuuQGQRxIwhxIbBFYWUHAEaqvsSgIttWExOOREiEBQpkMzHgmCqPedbrYlpvALKJVEHrZhOmbHuqnliczpYBDZCrebszWcizVLtYsNhjBAejtffOqzGJvfnfQJCIZsotiFPWxksBHCGptnLkOpNuCpvxWKaROmJCWBJnHjksHzTxjGbCIytQYcAZLuxqfBrDqPIvvCKYlTOzvCUIyjdYieEJTgZHmaqDHasTT", "c_map_string_7":"QlFhXvGBRFjbBUfIBENJaISYmNsOJSsJxwcAZBGSfQfGqsVgZcybUqRVvoUcNJEzVMhyncpDdGjnDCTwzyGqOzntvCvHriXlpRkZueDowiNdTMfGwIAMhCGnbZpESyuazXSNqWxTFkyLegceHfKxUIaiykSDfjIqRsXTYatpbugtAgMhvCcvmLzJDGpgCzOCGJfSRULUncSsEjOIXslCXMLUdFGxEdtQJjheucvwjgbnmCtZUVvgXyJKcIFTyfsVpDwdxWAbwsXddfZqkVQLnzcLPyRoZCuhiRkXefbwsAduXvQcmlkSjVuEBJgsVDZTTEJQjQbvYEYbpOqYDnisEItimvCCBsXuVxKVEkQjLJVXQeXdtfyGgRTBJgUNXWlmFxochJCqEycYcKjttkHisMxfhJsLEWVezCBfuBbRkrmRnUvVSOlyfqfwHtLkwrVuZtwcNjtHrCtopUopwUzuHsVWbpWDepJtLSTIMVlFYarGjKIGTsVdCdLapEIGwDpu", "c_map_string_8":"HbuLuAEbDEvjgoHWpVQhkBFzFwKtGenDvjXZTKFqjbKaauIhlCfuqUWHbhvMGsBsvkCkzfFoEbDpakEUCuuFXRveSLMczqiTcvJwUDnOpKIngOzzCZjIzOTyRvAUSeCoHqXTiRJUEZBVvXDhUXowVdQogMCwKGEIaUOznfkgfqshhIKoOyyfGPPTjmbdzFghXUrwJkrVdOtBwzuRaPPJSBIHivqFvASMaubMlNxfJNryjYSgdQywSEBvsRUmJpYErZYCuAShipeNvRrHODSpqBelQfukWUNSkjIeCUQNxcgCPaxtBdsjDUYBAbrYsUZRgoYYYVfkdeykENkvKOrBcylovFjiHvcGAWqYlvEknMLkrxLVwByJomiKZQUYimVObfdFKfuPCVopOkgriTIGORzoDxWElvkGcoVYFpyxlaXkyZXLtiuJvEIFSzvcfRDEpzfAblAdRsbrbqgMTeAyvzMljODGYJswapnZVoKzdxVZUwRSvcfVehapUKoXsUxV", "c_map_string_9":"JgssordoPiewFbZfemgPxabtzfXlkOCejytLbvTxyPtHeSUAuyjPdlbNqAkVIkQrEISSOCLaHcevOwnoVQptKoTfaMUjJMFgSKfMFdRdZgJTLhoHhBXdpvDcjIsuYodxVzPkNgxKkXiVSqmOGwBufXRxYgAlaQfETihMhdlKOVpYhlvLWcKjlfzzggXyMIoQRrYtsASopGkUGzRncvVqvdWhQBLtetXFwFYMGeFrEANUjJeXHjTItXWGcobTpqRducsGNdrsNgCqJEjSIKcRWzvcLkTdpfEXwgASfSJAzXXGLbuSUrHpsGeIXOckEkVtGRPGmvChITWDzUBQfckSManMTPRdxjdGPXcNVTvRrhFZLzztCClzidZopKVCiEZTyngyItRFlgpzxqhxBACDIwNxtrwLAbodIflXQiaJvQXGIBnvjZBFzJEAyEpofbtFekNhLTpuxxrPuavmCjwbbNWPsBEupZUXabXuvlFmDduECzTsluMAQlcLCOpNNQxx", "c_map_string_10":"hHFbSNrODUeXSIkpIeLDVDDgiLDAktZDKLAjaMZUmqSbNrRRfdcjQnIajWOPjAYBpbUapakvGrVaFhVGqesoSBGbYcsHYUpkqJDRZIdySlyLkvZBcnYKYkZbYWfEbPmXUmOaIckhHfkxcWMgsJaxQrkSDGLmRzRhpwYzTrMkSRXLjoWPwzpIfAQFscvIvzZcIlgzbBLsokVihieRslbpUbXpJmzlkVtjnAYMuiiSiCqAWWRCxxDBfMuJHAKBWhbnyOqBHsVbmRiFvgteAsBHFIeMtLRPulmJevTlJZFkWAJnREWgRPJhgMobldeDLAlZJLKqaveUyXdIlNsqLOwSvISjDOknlJDmwswKUOFchDuPRGJELkxEWYLmWJElRwiChqfEDOfewTuQJZCxOOCigijHIFolRrSOpElhbMfERkafkqXwqMdeVNJTqSioGyzJblRyiaqvlrVLiRfMBjkDsMAMibzPBALandbIZLpNcarsUiYBgfZbEkwXEPfofgLj"},"c_int":-1370696477,"c_array_smallint":[24588, 7429, 699, -7573, -16219, 13520, 3476, 16088, 5753, -18647, 14869, -15357, -19228, -11502, -5426, -7486, -27521, -21667, 949, -3189, 18618, 19237, 3567, 29717, -12166],"c_array_float":[66.735985, 41.884888, 34.704674, 69.56959, 100.95435, 41.242764, 58.8194, 35.16553, 89.022835, 23.227224, 76.54191, 9.028585, 29.402725, 82.16897, 5.8814692, 59.80182, 95.962585, 65.96579, 8.431978, 22.737095, 72.05395, 36.69329, 38.321575, 12.3011055, 95.07833],"c_array_ipv6":["DJfyngYJHb", "ozouMaKMxG", "MCifIijKxg", "mncQBJkMor", "AohUVejPcE", "zJklTZtkkR", "ogzjcYpbel", "vjAIRVNnXF", "SYzARBYvla", "SXEGQXCPln", "KNCSMnumXM", "axfWgczxXr", "EDxhmpcifc", "gxJHBckjqj", "eTQpQAloiB", "lXvqkkdnKv", "joOfuRUCaa", "kTCcZXCTgg", "nVdwVguILv", "gMgryCRKUk", "jcPLUHkKXD", "EOMZzBBipK", "jvUskCHIxA", "aBSmkYdRIO", "uBPBpWIRor"],"c_decimal":100.1173,"c_map_int":{"c_map_int_1":-730206047, "c_map_int_2":1166343143, "c_map_int_3":1322362706, "c_map_int_4":117092427, "c_map_int_5":693394401, "c_map_int_6":1463477405, "c_map_int_7":-983060869, "c_map_int_8":1935289312, "c_map_int_9":-859626839, "c_map_int_10":1161708026},"c_map_decimal":{"c_map_decimal_1":49.1635, "c_map_decimal_2":71.1751, "c_map_decimal_3":28.1958, "c_map_decimal_4":61.1694, "c_map_decimal_5":5.1748, "c_map_decimal_6":4.1146, "c_map_decimal_7":9.0470, "c_map_decimal_8":37.1554, "c_map_decimal_9":57.0634, "c_map_decimal_10":71.1087},"c_map_date":{"c_map_date_1":"2006-05-04", "c_map_date_2":"2014-02-21", "c_map_date_3":"2007-03-01", "c_map_date_4":"2012-07-20", "c_map_date_5":"2015-12-13", "c_map_date_6":"2019-11-22", "c_map_date_7":"2015-02-02", "c_map_date_8":"2015-09-22", "c_map_date_9":"2019-05-03", "c_map_date_10":"2010-10-10"},"c_map_datetime":{"c_map_datetime_1":"2001-01-11 21:34:22", "c_map_datetime_2":"2006-10-25 22:08:12", "c_map_datetime_3":"2008-08-05 20:36:26", "c_map_datetime_4":"2007-11-05 00:53:35", "c_map_datetime_5":"2010-04-02 01:39:19", "c_map_datetime_6":"2007-03-11 10:20:19", "c_map_datetime_7":"2001-02-05 19:27:45", "c_map_datetime_8":"2014-06-27 10:11:11", "c_map_datetime_9":"2002-11-06 01:37:23", "c_map_datetime_10":"2010-11-10 21:58:43"},"c_map_ipv6":{"c_map_ipv6_1":"cf4:1f0:ad7f:2424:87bd:5ab0:6bdb:747f", "c_map_ipv6_2":"2237:6a11:c2f2:87d8:65e3:69cb:d318:8744", "c_map_ipv6_3":"45b:27fa:1135:9ea0:b530:28e9:1520:a666", "c_map_ipv6_4":"6315:e2e7:7d3d:93a:ce54:f43e:6467:1be1", "c_map_ipv6_5":"1e15:7676:462a:8758:ffa3:76e0:aa3f:a616", "c_map_ipv6_6":"1f32:8bba:a167:38ce:d6ba:55f4:68c3:10aa", "c_map_ipv6_7":"f191:f978:2ed1:54d2:3e3e:4b05:9321:dda2", "c_map_ipv6_8":"2d97:671a:f3f5:1e83:352c:2d30:b147:b638", "c_map_ipv6_9":"ac61:571c:d905:230c:ccde:e0fd:d075:e0c2", "c_map_ipv6_10":"f6df:a432:c05d:4c45:8a70:bac5:75f0:7b9d"},"c_map_ipv4":{"c_map_ipv4_1":"29.252.105.25", "c_map_ipv4_2":"9.224.221.146", "c_map_ipv4_3":"42.251.164.15", "c_map_ipv4_4":"83.114.105.254", "c_map_ipv4_5":"44.160.70.174", "c_map_ipv4_6":"25.90.87.219", "c_map_ipv4_7":"51.91.163.63", "c_map_ipv4_8":"56.15.124.0", "c_map_ipv4_9":"139.51.189.178", "c_map_ipv4_10":"219.140.81.88"},"c_smallint":29114,"c_double":40.73738947616033,"c_array_tinyint":[18, -64, 81, -119, -53, 64, 23, 17, 4, -96, -33, -52, -63, 35, -50, -41, -108, -78, 9, 27, 103, -101, -76, -113, 117],"c_array_bigint":[-6038525801525768510, -5044854111393733874, -7640110700369890804, 5168863981749296721, -8764448216510636082, -230225639232227960, -2221089497723072546, 2697457822657160090, 5184014714355672381, 1463001336466030741, 858152026895110722, -2898112539105998204, 6272913280650358232, -6732410140372272436, 7595876342261809991, -2572091119974152262, 6908862437123405836, -499611349845702704, -2739956460763548886, 64069527493819807, -9110836399173875972, -7680142981226677784, -424586393006428175, 3451582566764337136, 2777324812494507347],"c_array_datetime":["2000-03-09 20:35:04", "2013-07-19 07:28:36", "2015-03-14 12:46:53", "2006-03-27 01:24:00", "2000-06-21 21:38:06", "2010-07-21 14:07:57", "2001-03-14 01:35:52", "2015-09-27 16:03:26", "2008-12-09 06:34:35", "2008-02-23 11:27:13", "2002-01-24 11:23:11", "2000-09-25 21:42:36", "2006-09-10 23:28:46", "2017-12-15 09:33:30", "2010-11-10 22:27:50", "2019-08-04 01:16:27", "2009-12-11 03:56:06", "2017-12-15 08:34:01", "2012-03-12 13:57:23", "2010-08-02 21:24:35", "2012-06-17 03:32:48", "2013-10-01 17:44:16", "2013-12-22 06:16:03", "2012-10-05 18:52:38", "2016-01-26 14:39:14"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_char":{"c_map_char_1":"LVUjmpmQaL", "c_map_char_2":"FNbDrgkSZm", "c_map_char_3":"OxwWBQKRFy", "c_map_char_4":"lkyVmGilNn", "c_map_char_5":"IRRfeKeaia", "c_map_char_6":"ihMVjpNgct", "c_map_char_7":"sRylJIiSjM", "c_map_char_8":"SRGXuumkqh", "c_map_char_9":"VeHELVxjsS", "c_map_char_10":"QwmSRIQsar"},"c_bigint":108740159816135601,"c_largeint":-6689430434890963933,"c_datetime":"2018-09-27 12:05:14","c_array_int":[1134393927, 1795958103, 1158572758, -1489956723, -1783544707, -1133187899, -172869353, 555501399, -2014790094, 1365455603, 730261382, 2098081356, -356432032, -1850712687, -113158800, -1260225113, 451624146, 793124628, -1766120199, -811016052, -1218070995, -401799644, -1360154760, 1797847930, -2126256856],"c_array_string":["UpwLtXTnvjiXEizYWdzTQtnfrBzDSavOBBlgNGVXTrTWDQaqQCXXfwBgoYRTfyxzOrfosUuRhyCHcGunfDDlEmBeUongMuYOXraecnUgxczDBmmbVfvhHJpUcFDtTIKqUEmOPZWSiIOitueSxtJiqvtejQkBmCOdlnEWAtweijHTwkTTsoHeqiLcZSNoynYCssiTnNrIRIgEUkfWYpMJEZuWfrBVjTVqDbDeXbNKIuAPNLhuOqvHSjJPcapFRqRgPUHhmteaPTotcEBqlwLmRkFDrSZykiWcqZbaIQlVEsCqKKzzumMoqXHUsOzHtpTAaJvFswZFJlneyzcRGAozIuivULAeSRwDPfeZokjmeuteyIQWyuBjbcaYjybYYnJKaXRUsDXVycRuOfhzkRjhNokNPmDaXoVNLuCUEGCbBtYXMyvONZwrQoksHLUMBkouGYRqAECZBXcitBuCyJwedqhKCQZsrvNQGVgPXGHGOIuFXTWLRSudxIwWwwiJukFo", "FjbmJnOtfjgrJcSaJIrOInfukIEVzTieHONFtBgUzfoiOLbahQxrrYdrbVCXyIkKvyLSdRuxdzPEJMMvGZyVasmkZJeRxORlwaWadSPaSBbofGExChtZlaMrafiUkLZgUYnSMkjLzmTSVwwfsJEvdcpqrWatSQWYXaadDvDmNvSsWmNCOgczwXsZfoIjOhGwDaOTVAomaaJuUpuSwizYGYriRwhFvFqozOXzgFprgCPFzhNkjNJWTuIdlpoOkeFJmkPDGsYzMYGwGIRtghjNDygKmctYkAlwqbXwdEHnAtdBcYYKGZRxdBfgUhbizbTxqBblHXSKcMNGhcQpnpYHdRbqmFXnzIAmatGCsEoEMbmWeRiCVzDscznkbujNtmsEUbAsFhiSlOfBfISdbNPvMFEibdIEoSQfIZVReoLcXGdbCaZkrvQVUxlTiTHnpCtQHCKaaomKrazctFKAyXOaJqkJQbfjFiuncAJuYtkIWCFkSnoqaLIsueGvEjZMuDRE", "jBfahPpHFObUlfNMnLlUWqtAGkjkqENZUsjWfbVemmhLbXggiKfWqEDQlsbNXWgvjjFVccBVGmfAJcNFXsPFUmvzjcPwqhhDEfNdodKrBlROWCpEdukCdumFnWryOeTtfikRofvdtiJcQiOwLhruJKtsbWAdLBrDjkymaPHaqdbxoIgreBxMUpQQcYOdxEXvpTYNLWNZkDPLSxmDBGGcnqsVdlZLckBBfizyqMTJWhyRAilfTJWcnmBypdqBqzUtMlWCoPPZZOtOlQMgljSyIlPQBdHDBsWfVWTmKheYnzBWwzCjFAphJzsrWmljtTQzdXSyAEqaELWbbxJUKnxzCpoVoDwmLBpcJpoQFyMsDdeuoTGgGgLODEJczarsEQWcbtDZAnRUMBxlgllYIXjhVwHMdEWpmvCxuTZDPohGFBpvqUDCtUhjnYkweHMVpCXYIouijaZbNvajbmDSPIUEmbNqnOgdZKtiwQlUJHqaepFjszIjZwgnNsLMQISfdGtC", "fbOoeLdAEnkHqCyDjkYIXajSjuMbkaIBTSfLzghLgsUVmjSydWucStyxtjCQNMbzspFInZTjkMqRGBOlDNNcjeevqFByMDEwDkLSXKPfSeOaFYHqKHeLAkflvCLEiJozDBqtCAUMIiIjfACeFSOnnhnpHjFpQGOOEvVGYbqiXZhrUiKIaxcLthBvNvlzjXlVmYjtCOlbOffFGOjREASOFKJjSjmeyhBinzhcidLlDCKsuUoCLwAofDgcccYdgxbEeYOwEqurwGrNIwLxJMxoIypIPNmSOMRLcPwgxVDnyRZCsSJNXZLWSbxvvcVgCAqrLioszfvAigibKVgIwEimzIVVTFDXmqvWDaJIEORTPUrwGtIYjERsgHhMBXthiavZtpkhgjOmJawkiXKrHPAXksodaeeBzzwKiBlxrEtcOzotwgBJIfaSlhmXzDtXayrIEvWQAoerXBDGDScoXtlTLCqsLmdYVLPfRGqgrdWMrIeuwVgOpwxqgPgOZCxwNuGT", "ZTmafjitJZGAUuRXwUVihiCvDuKEpZRzNbboUkkTkLLsWGTBEggRSFsPXeJkpICAdiPaUavKmTmWjYNTqBVafhitDQqcpieCRUodKPExTGteAhNKYbKBFIRVKBucfDxLqEJHhCdHCvMFvhHonZdpaWliVCqgPrMnZliYzEzuxIUEKwqnElRTTynrzKszNnfyyXIUVOJMUGrEZFInpPeuFbPRdbtLILoVHECIlrVKZwCueVajAkWJYuMyQGOLchkCVHJOgXWjyKkpfyoWwCkEePHyVbEpbxvUHfYxcfdCqITsarPUrdOWZSdpZWiWqYortKbeawHItZkQUmaROkRhFJpctoDothENuFZRxevYHOuWdVyzaVchsKlDDmNqPZOtwanubtGXNIDYaySfXPhMSwttEPgImrXwwmLWBBDGSZyZclavoeAiHiMhmJtoAnnbWXVfcZgEgRbOQKCTjHdUAtrqiQMMHQwZgcEgwkkPVGPGWBtWnJBoLPVICcCxnEpm", "WaXvZJhyMHosuchNcXfKAAfWsmajBwRYluZaPUpLTaEbihsYUPgvnzBBouAQtKDUjaOYCNjxzifztKfnkenADBHASfMNPbwNxdBEodEhcLjyRVvzNsihwEplKMyNlochkavTPfHDBUUuQOCYAGMuLEaqcoBeSrWRjRRNntlcEiPGvejtxYEjntISvFRRwJEWXrDtkQRQxQIazmqCSEbJRrstSMjwXwqLibaGRXWhSqjLacJiqJdAPXGrObJNlIpEipnDAZGGBzWiizYUglOiQwbDellTOMPnTQZLkPWqSzfSPeTcIdSjwdirOyExYhVobRxlErIskIQryTlGMKNPMCadkKDhWBewstlMpeNUbntXwSOElRYivSgUxYsDinqmmfrVtUghMaeeTHyjeQIYdttlvKWomxFeJdCejwCKpqfJXjHrXgTpdnAgDWHwKMpXwCfjxhRpReALTiJbMryMLzUovVVPmKhLLPBqWxnvciLsPilyHTZvMvFoOSdJBICm", "RqQLflfAndAmMfeGQzrphtcSfpQzosIPoVuCkssUwGeuJgVRFdWHbMDprcbDUweupNBEAkDBChmRmLULLdwhtfrzRuBjGXhWbNRAvIXZFzhPwOBzDbufCehdeJmUAvQOAspZtbIyUhwtzoThyaKzttDrXlDmBcasBVSsSSpbKFddAOzQPKYSMssRVHkmnYTDIyvImBNzhrOdaLgywRfXpyWGLxtutZTvkihuGGPPranpKPpmKXMibmIooLgQOGJeejcQOPphgrLBzqFlgmYdWcOvhKJDgakkxQktYGrlQJrYCZlFBxqyzrqoObWpKNuAWIQMBWIPmhfttDNhhBlNDOfLEHXUpHSqUyxZEUIrPFElrEDopkJkyZuaZjyzNWszkowYdibWEmKoDFcydozKFqhqjWsfVXHOoHloAEqntqRuNNQTQilamMjzTXazsjRjLePPNuVgvsVnOyihIThKSpzAVnVWekYCBQSnaUrACimXVRvnLmCzZbjpcFLiuqak", "PhNfEBGHeQQMrYQsTWGtObyPRDTgcCoEuLxPwirjBVmPQdEVpYKMdBetDfUZFHgXMyjdYXdWanRdsrWjbZrwIFQNdnEUCthxiYyOyVIUCviOjKZpbCfdvACoSxpfBsYinoelBhXgZGTrlXRSDMseGmFdjWUhKmNVlHZqrXxVhwAjFTsSlnfzQJJEtiaKscgpjWFqKMByExQgTPQVVVjqotvqXUreumljosXjBFdCwleSDbtFJKockFDIWcZtXHpxAVXaZLfJWhsFgjkzXgJAqGtHuOKmiBweTmAEUxjOTCsNMnYIercLOUlOWSoIckzFhkRfJpRDkLAuTaTOLfMMUrdffznElupnZlumxKwRwDdpwtzdqMKQyWtcaoiKCWbYEWjZKEyDYbimJGGqQzivcixoarHSkxKClAVVBfxyxbuiZzeRyVDKhoWfmBfSJpWfRgcITRvkEZrDJeodurmjHNZceJhZfplGnbSfnFhgldIhcqKMnLfUEpPQeyYAzNuR", "eUYlBsococLUvnvLkZrwwgNFgvJTwncJnRcVsYrgVNPIAkVLnazCWXpQzSnfIrqrgsfYuAYamqlLIwcqgWEcmbuPONEcoJpdPJPsKQfKXzhujpACJmaMxyiQeHWwCBMkAOUMWSHMtjtOaaTbRGFNnZLQKkToadEWgtPeqjRIqnPHAIAvHBraeEGhXOKisoWwITIAFFwZwgDxEYJaiuJaPUPdEGCOJATcUgrVzcUXyzzbhWZTWrGuEUNJosWvHxTSLDcqLZgoGhjqmgLVmpRSlVLwMGaAHTwHJFuUNxpeRfLqzrWrGMwhxUjeSsWRhJRRPGUApwecIOZPlfhrgSxGUmiPswgXjbKWJunUcDCQNOPPeuMKqRTpPQxqDTcsoJDyyBCepIZQOYnXHtupGNIfaPjnyhfGVIntLFJSHlcYrSsGmFqyfeAqIGKLFRUmtCsKsXEDdnSWeLSEtYtwrtqXnveeUTHUadUfHNxOgeGmNEVPvvRKAefQKirGTFSmQSAk", "JjcHxnCogHtOyXVxXoCDgChEqeJxdmpnEzpNNvQYggnWpizAGGavDcbEZMuQirZqRFICUNFnqmnIFyNazLGJXDlEKgtaUiZLNhijwYEnDsZtTXyLZTJAMpkZebNirKpREnNlJjgbwlmCrNTzNlKjTFeCoBgvfDYGqjbUeHIYRkChHVpRMURhkboAGInPbokfaVIhEzMoZPKdqSoBnPTNEltgVvvCARybBrIZlSNexjDIPxkEYAbnayZMrTJVcnISxBRnNiQzPfpcIwljEwMpQevUvxsTbMIXeZQIkLqkQTxrhXJqUOMqTByKLvesFCsFnxbEmYRwRkbOkGcnjzMifLhmhEvqQvflsNCDaWMkjIsBUJdmdCiOaEiMsHjlqowchXDmjMCMXVxHmTKyAolCdzoArNMAurNEGDXqHajqfenRrlPUujLrLYZWxUPznPpIlLVwSIkQEJVINxSeBwBDAYjWEPOLvbwiIAESEDJUJFKHHgkKqKfrrYomgOJyuunY", "jXHvletqhJrfBfsZKPGnzauXmVVXQLlFfRtcLSXKCgqMPbBdBuwVosRHORIlecTYSEpBtYUDzxjGcqoaKiMaTUvxVmoLVDeagYhHlVNSjnHJWLrSfHHLOoTnuQYuVRhcWpvHNXlaAvRtONqZBnrQYFQrRdIuuotCyRJhuKiwqZoHahaEuEbfufviavWJIqwGfcvBxcUyIHjFZiHvNESlHJWLEGwjespIfaXsUjnyaytnhbLJzJGggKTPHubVEAxELWwPeDPsNGvGiMGEhHnQrjxwLhIfTsAVJIQTMWzBenTbVHFlDhDSRzuxNOkrHmRIhkcwanAsGORAniBzhVFpwWpEfMioZwgWZAjBUShfNVgrDvBEOoRmGpIgMyyxuQkAITHrsjHpSLtpVmmUSDFZVUIDWBHUQPvOBtNTslasVUJcspJoQAuQWUiSjXBkMsGtlPPZcKhlckBXjhdBMyefdgzDeCEqjeAgxVHaCPjkgxLukREFNoBlWhcgDXxxQSJU", "RsANkREXxQNGIokPdRpaBMdplInylDswPgLMOYtncvfxCVRzfGXbwZgGDhIAxFqHYxZeYVNdWbcqzKDUBhmeXdfVPYYofiKVCVUQGGylFFkQfrbQONkCjoNvgbaPVryfbhrwnnMfoIUqjaVsFmjYpnzAuJOSRPSimsUmNsLwPcsyrfLmycBuhJqJaoGMWdvYNnfzPkSWlNtvekaZVzOCKohFjWzJuFacyPNardujSBFepYpJXKIjpzwyUvSkBJjFvXgWPfHdKvTdTFBFGIbWmGWaGTsoYiBufhpwryZDFZcORbHxXEhnTaXlsFOvFNiWrQIBtkSICkblLupZPsWAoiKzkclhUWhTWtZJQizkGWOqhJelqpgBpiEBYybgYFzWmwreJfylEpudTwiKWnsApCvBcoWnpccUqsBZOMsDInxBwKnBudiTgXPHVURaaAAJIZGjDmMngLLhazfXgoQZHADNqFCPNcEUIGHETxPPyXqxyAHGILZBZVpeldrJajNS", "UermrtBoiuQHncmIVHVbZfpwXeaEVOKKlBViBrWcYkOkYXFUcULdNLcnwQrHBATXdgbKAsQkSqrwsnSOaVpNbBSHwiitwxCBqKhqkjCrsehfHhvXIYgXxooWUcXeTYkaMmyLYWZlwnuEKZyCvdxVyWLwpPKMEQGJSpgcGXJIxqrVlptSCBYSQvbsmqFYzQjBTuIqKERFrXbQbPEZNyjJKULCXyDWlHkpNGFDQvIgOihooFCVOaszAVErbknLbnmximRByykQKGtQyihEHwBLAxtcURDewVsIfBCXWmUufHeyNAucmJsPEPPosFaCXwinRRmIHSsEtbXYIyVocTGKFZFhwMshjGuKCBfUZOZdsLxDMTiUWQasEJQYzLdLcKyRqBEFdLAqGxeLxZZGmhGTRWsodlZQnBmaIAVjZrENyZyBvzKCnVuUSfLLXyVJxRxABFGXkEYjQGnHTqWbuODMDFPUgmcljKyXputzVuUyauvgLHVsMIZgZmBIWbfOsPOm", "bbfrwQjjPRbrQZLGRcWFDeoVgtkPeRWERanBboxvDwRRYpPkYJUxGAYxODjFSjhCTvtIcAHtzUfgvIeoLqxjYyzfeDyTQWnWpRmYySduzAFPtLpULjQyGrzbWhkKjxDzTTJvEeHQiTIarwEHSqrUtVteAKATLKPvIpfTgxRFvNzPdTIKxKQXHbBqDhbziXCjrAGPzABgzjktiImMyuVVWJUpoEZPHVrmfrLmRiLusuxohamhFOVKKMFovtOIFADCSbmCCXDHLeMqEJYLUIoUBtLhufkmhTHrymjgyvmJNbxWWJBpftXVfkcZBvpIjkeoBxCecxkTYCPbZmCttZWsMuunEjIDNqooZKiAngLdpWeiDruAMSatULouzhJXVTVEjtQYoIBJuvgdmCikoCpHgAFtMlNQAgcAvKxhvzRrsRTVZiUeqGSCVPwgYwhPMJtXYhHqddUWGLgyCcBwBqsAQaNWuXJKubdYhzsYtsXTIBfDiKNOjftEMCKJjmIEfxPC", "UCSNAwVcgCMJSkDaoSXfxpowirBtvIZpeTYXKdQDvWzqmdwgiVhIhSpKwoDtGlFplhjlHwDFcykxzJpuLqsowIaGszlsaILMmVVGAFFsfmNiYWWsabIQBiMmqGrFVRxfvwZNkpbzdXmzdovwpRZXHazkUWJCcdtOQoQjNuGCULCpmFXdGznnblvhUnsFXbmeFRpDsmRVgjOKvGnkoOzDFmkFdvjZAcDWMlJByIontprhdzEAQZRhEnOciuyfuQhOLaQASucpVeacNBAXIzFUTeuOqZtMOrWTXlRlNRuYukLGJVNYyoFkiHcIARFNLVuiRJbsnTZaemMPhCtlZLehllgFXtCGUITNxLJkUYyMiZRvagOnRFxWvCxpPnsDECLobzgTHCbdqCksiEUMoBzoqFTZlZmULdZtnszfLwDPEHTTyLhSXhyxSghlyxlOjpJFXtZRKHbVmsNudBeWIzZRzrmDcjVtwZNEzMMMJWGvzvmGtrHbEepHITXOWIbDlBTw", "CKDbsEgzzKrBrznLmwSCfbHfnsBjdMeNOstcWycHPiXzmdSURsOqvHShCsAMRoXhsjifhKTCaGihDltwyZmimsdnGOQwqqhANyWNbPwQbXOenCuaiPReJJotYIHJqcphEWIKqHzwGifIDHfURAFrZhYhlMbOhOXWTBWcyQKAwtTELhwLAghERxTPytwUSJASgdifVXIcnpmvoEQCRNnDDSaSWhogPFypDpGGaQEpjExzbWOepoGmBTlzzPaZEONArNaPpJAfWcEGqIZJoInQftdpZZpWpuAjNdZECYHQcKAdwHoHhwEWpALXAqBuldWuoMvwMBjqHZBPxYIUthneHAIpcNNgYRTKPsgTAeBubpLZmdUwquyrTxRhDGxdUyaIQtiERTrSMcnUEuiASiRkODgNiDZkDqaHnaepKZhEFtrglTbnCxziFingQPrAoeRKVkSvARHXIBeTrhVwXegFtxsYxQebOEgPtNZgNOnMHCxuTTzVwpSOdtDlLPUVeceM", "cFCJimfFCqBDPPWydfFLDvLUlTyPlshuJPlVIVXHooYIuCvsncdjcSEWdJTZntutLvHMoMqDZchlfXTXBcVxcOnlaeyuzafLSKUfyeCQXdGWmczLysLxxbKllRUzDYaQxXGDYzJQnvunZNtmhUbvMPuBZAMQzYaAsOoAuBEckeZSxqClZJlgGshKSnkVUZJzaXiUauvXCBMnRiJzwWsfLKntWUtVVdgCqKKJTTWSnjHVPtKVWxXaKxRICqStUxaWOjbLCzpRNoOZicRXIlozenOIDOZEYMXBgNSHUsfkWhvBmEThVrTYlBtmDRUgGFuolneOFbxVMcDxMoRHtYcfcWlBcqWRUaQCKFBAEiwPUWkqxhIoUGZtniGNlwKcbkyVAuHtAcdoeKiFYwSqKLAiPYBPJhSKDqfDBAlPYFuvCKJoCgoQYsXzBHCTUkjubxxnuNptXOMXzUkeaSJzWwgIGngJkAgEIYkWlgVxNnNBnwzAouAfPeJJGYWpboaAAdRP", "qESsYUGLRSuZRDQXmWuKRBYtefZXuZEpAqcAoYPCSPlbscBsYskRXCwUnwGnbPmlSiffXoUDQsVncGOObZYcDkPviukRjhidtueDwaOoRvswYpuiQPHpqeKEoKEkmfkcrZNAKcHaIcAalHggpgtWdgsDLOSaSvdAmGjXCKBkLmDbklGoOlQjewJbWkDQCfJgUNSACdlyfjymeFmNZdKVgwliOZenmRqMTfVWKoSvoSlGYSUlCxPqoaPGesqpbFKXpRqoTxbyJlfagfJrVdTXHAvviNSZCIFvQbAtncDWiwZuGBHEyUvlOvvUMiEIbzfSzOcosHsxMmZUKeXdriJrCRJYGrBOIHsEiapbAchxQgXbJrgFBjCdvhGpwOjEzOjmWEpSNQEHHSGPaXtNCNmbOSkuFukhtZcoWgxEdwSkTzDveuBYBzEfINVRCOCdSQhfeGMPsulIZHoNZVDsuEMGHjMmuEBRgELeKAdVoyZqivLaYsKPfsguyOBDUwyuMeBN", "QlHEwTTGicSjLrEDHfxobjagBFCmoqUBUciocXTWeIdGomrmxsuJhxPTOJotVqHvEnAtDKFmlTxRfACnYDywLZMlQiIVNaIJfcDhWvOImIZdtQbbzcpkVXmdUJhcSxkAQEsriUOmFVPbCapPkBXZnLzVbHbWrfCXWqXZTGBHRjGLtwJAFDSrLqGuajxoABdlIZYFIKElKRMXTrIWdNrSpkwGUHHVdrnHBfBTwRCGYCsInmNleSwhBsGCOVjhvmFdDPTsCwGqXfRNVvTLOooYXDWnLqZFQeZSPOtMywNvQLZiqwnkJvNeKaQWMEXtiOdoWPDjooGvmMqSKWFsNuFvswlAWhjHAMMjzbYionqFQnMzDVXNAkebEPvUAVUTspgUQffhGCsKdEdaqEkhLeoiHcjxciyMQCdIZEceuKEDCYFXKbmmHwKPSVEMEyyAXgnFtbVgXHKSXNzdomIhoDuNxGDOgLUjXnaAnifoIbjOchckjocvENnSCgrueZcYNNtm", "KMcNbcvZtDUfvBpUtpzavkCFELSaBclBvTVQJkRPWZEWnexthdaDcwhBcRDEokAASmEhYqUVrAJWECqYySUaCXvDDNwhPxJPKbCcQojIoAbeQvyMgSZyrJCiEdCpzomuIwabyOFyvuSkvyBDJdZAuvHSaMUVVmyjDajBaGcIhBNOjzmmrNpSaLdFyJfiHoumIKrKblhKwbwywzwljnxbPsxFpujhMqNUqlfuDaviVqmdhegyVLaXJUMaqMsmScVZyzYQZOoAlzvCCNlNQxEAqWbboeLdujRFgcIkMGxyhHbguUCFpyWuCZlGbWnrjoNxHSsBhGjDeSzSbhUgcHAnwwQIGrywquOrPWJOgnmopJUHbsaZtTjeukefvwNQnouCmiBYaWXgSnaYHfmbQohJvYWeYZgGbiEbwyeralhSXrtOQWwKbopvaUUjyMteILCVRPuQEVtfHhDeqVjyeAKRIsxmPUVFXLHJIwzCXlOsvaiJXCNOnFAYnwTJyaudtmDC", "QTnJUiwpsxFsVHaFyOnEsKHiRULozMdaZiZncIkbvHCIiMVDRJoSFLcTwFIMTkFBmuvIeICDxUbVyozCDdhpbfbXPqCtOxpLuziiBRBWkjaHVZkUILIdWNHuPDhXIbIFSEgObmCbcywEDNoVgvzQRtlOHWAQPjPTJgCmwcHsXeqGItmiWLKSebrgBoDvUPpYqOUPCqPFGeQqgQIrQCoMjGjdtkHzrfbksRuwjWdteQiLMvgoNxkznTtaPQOEJdxsPLBomDVtdZVkGJNxqXVbbuVMvBPzzShOMtRfdWjBBKVSioPPmblaiPVWgyGmVeWltyteUgGEZrUlbeHngpJBSqkPylsElKXJbKFgWueNpXmdUjhiuqNzKCyiyOkuxcZPxbabxGraNBXOmGXeeOYyOamUbnPnGsAcIXNijcqzKzXeaKkJwZdQSdPLNPxWYmJTqgTCuwhHAckZqxtZaFxZuTNQQoGHjHBCjDUzBiSaVFeRQLHDwMpPzHSwBxTlFbXr", "ZjwzshJmdKhxCNWQGQNIwQjLGnTOcAdTjMHbMNsJEKTkZFEgAxZGyfoSEyocdHvoKMWDDPmXHtFRTnUJQEJlFWnjngueRcPBLzJNPxCvaFJlBkitqPkmWlwiZFixBnXLZAgNLucXikTDZgrBaMOrCMUZExUDyhcGyyXHjdBHvrBEJIYKLqmnEvdpzFhNUIrypkHubcgTbnQFmjNDWUbBtDCDhDErlYiYWLzaTlMEUxbENCksfOQhzNlNTfHROhHWhEYfaBLwzkmpXOYtmfSVvRYQzIirVPynqmkeRsumdbtPUMwJneDWCoMuaEBOTbQRfslgmdiIvZoDWiLYjYPwfjvqpPuiRpuoNYBkQeOpbovAiIreCVipgwtjbMsGJswABbyVPHHvxZbzpFtfzwkVPCbuEPasHrGsxiftKafbSKnYPKLmpGibPTMhQbHlLOARoVPUYBbckWrBTUWlHeaKbjonnaYWshNKzaECtdaKELCggupladFWTYOeNXRgRVWj", "bfCRBcOHiwgqNiZpVTyxkjqnyAVSLeyUDymCVcSIEudTHbttrykhcpVGjgLTeKZNtoobyAMwEtWvghwGBCGtVsKpzjmemiKfaJoYiImUzRuwditjJVWTvDmWoWMdQFBQfXSThiVowpiNxpLsqqcyvvtJjvELxyDUEPfUCDZadyOXrdypAfssDdAbyqVMbNdRvOMuZdprEiwnDwQectoDoVILbAVejtKiGZjvvzsTiJMrlkLxwBGNaeRKrKOiPhwAQQxbwgjfYwmRIaHUtePEgXnvxADRmHIqAPrSaujrPXJVNRSYpZgtVhVFOLjhHjFHTeFcawCBgocAyCTgAbqEQZneeNHjFLVSfRJkLpPvkeLFOoZrUJzZiUEYMHoczKphnhdECdlRbXpIpHAFTLKXPGmkcWbWXHMmTdriHGaczHoleSBLxkksEJvmiLUDUptEZMfesaHXkCRqLbGqCOTwkHHDAmBmLARagHCQzJBZvLGjFNmHIcNVIAjRSeBnYIGP", "TREzzOJfIfzVIikOJHJGHlhqxqqsOnyIqlMukiFvmBeodTmQoGSrPAHOSrWcMuvKWIYPMJDxvdASPjDwydpdikzYugqugsZtZNLRqJbMbgsFTsPBVYGjyqScmCLXuHHxoqwacJZuyAqzKxMDliUgHhPtKbAayfkNWliwVlxePYQnmdoUchPcRTpgJOEHIQAkjGFQiBtYeLZAGGIMbNCnogUZvEqobiFSWiacnoduaergDoSaMhpNViDqjAcQbwGWlUwYPRukQvKWlbjlPtibEImzCUFDIUbmhdaaDeOFTqnJsIDXpMARKttAZbhksQGtOLyDOrbUlxwvUYzMVWiBGTyVrYPeYvnaotgnimgRsNHqBaopMnGmszxrLmaqZnaJsdQRbeMZBchUqMvirUAbVOSUPSjqjiPAvCkkVdtEMhbbubWheMiRJiiiDtnmolQJdZXfjJtSybXYgRVzeaCCCFMqFOkcTbzYuBLOXkgybxFFkYICKamlBeakQiKTVFbX", "HMtuTvupMMHbpMHYVkySeyhXELOlCLFZQHYGlPMMNpmdJifmbSryoKeHkAUgUGpkKVAzlVZMquwkmMQpmawEOjDJfxtOmCppOXNIdFEENwAVNLSBkLGlsQcetbLAljXSpYScoZPrTTSqILWJWNzcymgErJGmxGVksmkvYYACsGdljHLJYSIHMyIuzIvcVgkHPwCXfQkbJzblQduBmManSJrOGfZZsWGXKrnQQsaBKZzqGPhfQimWCbxXrTVGgdpBMuPUxBQPrbaPkNXfAAvchqcrprIUAXJnFXgAJrHyrxjMhebhRqWKZRoNVDlvcHxbuwRUziDwOYiMbTqtldIPdMLXGzrOInjMKGSGyBfovtijPZFNwBgHcHCzGgiHbeJGXcBfIowxiddElQreUcTTaGnbJQYGKYOFGgBqUgnIBDFEhaGFLNZbNWreqsSEggYKyUYFTqKImpAqRSVHnWUekzIRwoTmPgvYUiccIQYhbvKhkTAQVqHebNfmNKqyHsOL"],"c_map_double":{"c_map_double_1":75.11150443045872, "c_map_double_2":98.65565549473538, "c_map_double_3":55.45879832056711, "c_map_double_4":75.0962210324916, "c_map_double_5":29.055806392174333, "c_map_double_6":57.44475038324129, "c_map_double_7":32.693078875805234, "c_map_double_8":8.862328179700798, "c_map_double_9":78.6826686904061, "c_map_double_10":38.44596008866643},"c_map_varchar":{"c_map_varchar_1":"wKVIWHVgKygEDNhQvBJkMbjEvVZQhlrkDnbxznaMlhmihksouxPhEidDyzlrhxqoTJPxamRPanyBjqQdZnSVhmHdohSwgzsnMBYnuiUkEXutcvWyGboZZiMVbDNsnEBZpecOzPjBNGJwcinCmYdJAYxYdYIGnlXVSWKxrsOMhpmRWbxkSuvJxkpOBIZDHQYaRMIafvorgthDgBJjVAqPuVGhoxqHWLvBiBzQuFcMyRIiqPHDLIjjsTkozkhSmWJh", "c_map_varchar_2":"ugQKUdLnnEnCgZDZaCuUVvaaoAaVJYUPRwwudtWqukJZbqENMMaNyVggwpPvFBoaCdQuFGVEXPRlLRhcXgIhmDVQoLtpMVsuylQPJYmYygCGoqkFAoPGOjuNKnBeOUcCzWglhLWPFglDuLlvJUoQIgfTgSwjmBggNQIEbUoXAeJmHgtZovhviwtYekjZfNmArBsjMdNZMKahJVXJKicMvdWjHSYLNuLFknIPKTsyxMMQwZhmkFFXMyhXUZrEjOaa", "c_map_varchar_3":"EpEweEdgxrIQSYAnHvSHpXrWdqEgotszqXiDJzLJsjrIBolJMOLAQoNxmrxbLjHjrUZnTgAVcZNAzcWQAjSrgSxfhcNNDrOACYAIWKUpFfyjgzInRbYDAPxGEArOuQMqNNsKbGzXmsyZVUMjNjnyixIpfxUpqppwZNHMZVGWZYPimuNoEmsTcoPyFayGNJXlBddpkRMjrWmKcTFZCBgZQlgxOvSKsgSGxCpMMTxxLnUjbboAZQKvLwcUPcfeJriD", "c_map_varchar_4":"qIaWMuoAGSBrazuaxnKsdZBTWvRIAsyRdQXQmaFhuXbLKcmcmnGsoXxirWcAByOooikNMEWwlfkorfERdTmfnQRZQDEspUcGlnVJlJkEvlDtIXQNSTVLWoSOOszAwwHzVuDQEfegwpJdlZrsSSjGIMxZvqBxADIjCzlaDWLLgEEeDXCuYCnbXrqWdjomKHJYvxexFlqcAUTURbcvtcwvbrOelEDvYIlArEhHxGLhqvUudRwdwLMdYTfCALUmzvqG", "c_map_varchar_5":"WFbQspFCAaDilzYjGiwTCukMNnZgRGaIHoyrkMewstnENhDxuFRKiZjtdRZyeFrETUrSAUOAFjTVpzOzecxZsBzYQjKGbsYFMWPGCwhTqZuHrWhYswELzZrWYIMEBcyqpBZInsACtgeAaQarxvSxNzOIecUukvEHCQUmEHljFQuvtEDJuNuBQDhFeczFtqbElEdLnOpqZBOVfUXWzZftrLxejEBBFWZuYfwYcrAZscqVaTzYWurCbRFAfvNMXion", "c_map_varchar_6":"RUNHTDSZaEGdpogxrChXgnATGDIBFtHSaFCyaPxsTKBlteBqiwutQgbuWsOPtQbIirbahoIWbjrpBjuYCrlkyPWbTRIApVvESiLsqRBEkifeVhfHjlLIImUwEkXbutCncWiwqJraCradTLoUEZfTDMKAUHfkTieTxMOFdlqtOdRyVppZOOaDkSLEOvJKALPokiCvnwTofJVVkwzeoYbCXmNcaOUznslWHfbBzxFxzrOdHZwLBRuMzlMvWjXYNImA", "c_map_varchar_7":"rfAJtIJHhIAmxRHxzzgxVklBZarzuXKIgpWEQtMVUBoAIuyFZJKKwwkPdMglxwEXHbiAZkbxDBEJHEzssScVbCXHpvRgMZmXLbPnTLDzTLWxokKNMthDSJySAeIQggJcdzamSmIfwApclLXizUnmUvhjtpAxmUOlVoUgHgNLUImOuHlFcUsfteUGhYlzjQAnntuvRpiVjmRsHjceJVeUEETGsSaLZnUwOYTChMwVQDTLxYhngwORRgZMIxHNmGtk", "c_map_varchar_8":"cvLBKVaelMdAIMJgAXQTSYbTDjbeqUjXlRpMrcVblWgawBubrlDhLIIrxLONxgtNOzfwmOhKzgIHZauQopyQJHToKGPkkvKCUUgdLtOONOpWPsldSnFrnumxTPJExTYQjDBgiaBlolwsnjHrPIOxiBmCEWjGcymHYnQFaVDXeWixzRwpIXNKEQQFvLqLfpRTZAHRhmOesYVzNJoPbYLQwCzZzcDiuvvSzSZdKEZqpIMJeggVZIxtizjrcwrvWFVY", "c_map_varchar_9":"enFHOjdZqUOVqaLmiBXvAzrejBLYyzFscfOdCBrPFgFkLIfzSdqhJpYYRaAVQzLPhHLHRbVVCAJgtrDwGlPgqbOvYCkosigwusHYqVQEpRzTyfQfEjkpzcmxDlNOrcXsTgZKgKOCQqPfyJyYAZVosYknPGccLWWhMNTKttuIWUoJmbEQZhqmCEJYGyAchqAaDBMmJGtbLtmKWVtNQjIGkkDRdGtIfwXvsNlMWQQwBEoKORpPSNWIdwxONQrxwaOS", "c_map_varchar_10":"qQFjGutYTowxRKUKcOCKUGvDICgTBvJdajGzRiZMQKvHRpDldgTRtkaUSvSsyKOiLxflANhfWHMEzlsmxIByAtbbvEopspevPCQBNnDzRCseHRoBIcaIvWrAXdLpMOKJfzEdeVhtrfNYgMWpnyiThMydJIGNluujXHOTdRAmEThMilnpXHFtLIySCaBpSqWuukrLmTtKakMPLayBpVHYmBEXNjLNfMSQbuGEoQPyLwaiuUEUDzZTGMRUxucRJDly"},"c_string":"sFLkFaSlqrASpLdZFgmcwHfFLvZfikBoZTnfZxaJTmnxXAyPBlwkkBUFWkFehHyEYlvvUVcCtYGhDTdBtXZHPlyFQysPpbZNoRvlcAyzqOKoqdqBBxPfqxLUGxVlAWxXEhPDQucefIOAcylwcFnbzMAEGbzKFjdeEYwlBcsdWKEztaSrggvCtbZipvnBbmbvdCkKREuzRuQCeyGKwjvHMaZtTExATANKQowBtVOzBMzfICeNRruNOZAichtAKehqAmpbGyxJzJexBNhyVEiQhRGiphlHvQRMQRtjKLbmCRCsDzVoZgEnHBAfEQYDPGIIGUCPjgmmfpupfqISYeqylcQtaHLwbhXunLfZbtLWdHlWRZlILUyJbnMxgkHOtYGHsZKlIKwnyvQijlbTkOvcRQsvFkYsCAKngFTwkbKhEMlKCmmnJnmgOTmhTJVbkRpPMLDvATMjHCaLDZWmeWbFTYkZKEZKVDiqvgVtTLKkCkCMRzCbpIUpSfwtUablOYmY","c_date":"2004-08-04","c_ipv6":"5218:ea37:165d:50c9:11f1:94fc:a593:5f18","c_array_double":[3.6051707273345817, 85.86901910775775, 3.899899448266174, 38.09144069528536, 40.61476208026059, 82.65900682561804, 90.39490426086539, 87.15685720611874, 23.842632469643217, 85.07208836510164, 70.29195238230402, 34.09897285052966, 3.8160442513257564, 66.42379461101034, 55.037400918790446, 14.230426939320298, 19.181959210776444, 47.42089954654303, 2.093213061134153, 55.88768487117418, 57.36645904116418, 10.458344348018635, 35.038607250167765, 25.25128458755604, 74.42414532718891],"c_char":"qZCEHCCvLE","c_ipv4":"60.85.52.93","c_array_date":["2012-03-20", "2002-04-13", "2008-01-18", "2007-06-18", "2016-08-19", "2009-10-26", "2005-06-18", "2016-04-26", "2006-11-17", "2014-02-28", "2007-02-03", "2014-04-02", "2019-11-22", "2011-12-13", "2004-09-25", "2015-09-23", "2016-04-10", "2008-11-05", "2006-09-08", "2016-03-27", "2005-01-20", "2001-11-11", "2006-10-07", "2004-06-20", "2019-08-11"],"c_array_ipv4":["kivpnuVVLR", "yiYtzzkbBL", "lOADNbmjSV", "PzCGGZEWDR", "GGSuiFFXLh", "DfMvmxfYIo", "AqNmhAUPvG", "eODBuwPdIb", "bFzYlyngCs", "OrjOCgnlIT", "woQmWwVxMC", "ROxSfAsANP", "mOWmIihtSr", "LUrEBRbwLM", "RVFKGETwiN", "raoKTCtjTW", "tHwuPZLyKx", "okRXgfEqiK", "KaAHbovEMj", "RTxCrYPXLy", "NovDVSAZES", "PyLiNQoDjy", "EHAnKIlUzB", "VYTznrtGLQ", "exFwHbjcpl"],"c_map_smallint":{"c_map_smallint_1":4283, "c_map_smallint_2":-12918, "c_map_smallint_3":6500, "c_map_smallint_4":-21678, "c_map_smallint_5":-27943, "c_map_smallint_6":-5116, "c_map_smallint_7":-27684, "c_map_smallint_8":5158, "c_map_smallint_9":3534, "c_map_smallint_10":-950},"c_map_bigint":{"c_map_bigint_1":-7770235883323995540, "c_map_bigint_2":2410274102901946779, "c_map_bigint_3":6344157315410160014, "c_map_bigint_4":-5011657145960958206, "c_map_bigint_5":-7711137877522402089, "c_map_bigint_6":5655923327543356002, "c_map_bigint_7":7389694921545765610, "c_map_bigint_8":4569149730886257327, "c_map_bigint_9":-7444886696171601141, "c_map_bigint_10":5683276560335213623},"c_map_largeint":{"c_map_largeint_1":983645565008467615, "c_map_largeint_2":-7060131427514684923, "c_map_largeint_3":7313254257439082423, "c_map_largeint_4":6671055155653372009, "c_map_largeint_5":6982986464863914935, "c_map_largeint_6":-4547270878822936622, "c_map_largeint_7":-8417782242770730166, "c_map_largeint_8":-7819803316571679248, "c_map_largeint_9":-8053252122408370225, "c_map_largeint_10":-393779876592371874},"c_boolean":0,"c_varchar":"what","c_array_boolean":[1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1],"c_array_decimal":[81.0937, 33.1788, 55.0575, 49.1496, 72.1358, 28.1699, 12.1586, 80.0586, 72.0084, 59.0530, 88.1543, 31.1829, 89.0205, 52.1607, 42.1380, 41.1063, 34.1881, 33.0415, 40.0815, 87.0240, 96.0458, 5.1862, 73.0519, 37.1245, 2.0536],"c_array_char":["uIAnFjMOMQ", "MvlGBkIfav", "ZfKnpHmOhJ", "dMblVDALCf", "bZBgfYLSwD", "NgMIezWyCL", "DpsddLHIFp", "ZUPBBhTppP", "etZLDuDdQd", "lZnbnuXeqg", "jOxySJxeKg", "LQcCKETcFY", "sxcAKzVGdg", "xiBEOXFCUz", "xjYRDzdcxr", "fmnqRhHNeh", "QuPUKzcpOX", "YHqaeehFpU", "RqlwfcrWID", "alCaQmCyMO", "AzgLwdblkf", "wltLruSxoj", "kspXylQhZs", "DIiNzgsFhe", "gIgqWpalNw"],"c_json":{"timezoneabv":"NAEST","streetnumber":"587","httpstatuscodesimple":302,"animaltype":"mammals","pronounrelative":"whom","noundeterminer":"these","celebritybusiness":"Kevin OLeary","fruit":"Grape","emojicategory":"Animals \\u0026 Nature","slogan":"leading edge models Drive, bifurcated.","streetprefix":"Lake"} }','{ "c_bigint":8648440010736045793,"c_largeint":-3337839793702797150,"c_double":44.91438151918583,"c_date":"2012-03-20","c_map_tinyint":{"c_map_tinyint_1":1, "c_map_tinyint_2":79, "c_map_tinyint_3":120, "c_map_tinyint_4":124, "c_map_tinyint_5":-41, "c_map_tinyint_6":42, "c_map_tinyint_7":30, "c_map_tinyint_8":10, "c_map_tinyint_9":-78, "c_map_tinyint_10":45},"c_map_decimal":{"c_map_decimal_1":35.1302, "c_map_decimal_2":91.1831, "c_map_decimal_3":30.0488, "c_map_decimal_4":70.1850, "c_map_decimal_5":32.0206, "c_map_decimal_6":49.0863, "c_map_decimal_7":98.0889, "c_map_decimal_8":30.0350, "c_map_decimal_9":76.0130, "c_map_decimal_10":23.0030},"c_map_string":{"c_map_string_1":"zKXslFvlnrQrZIvztuTjCIDprLKGLEzPKFPFfjEHdqnTVFBjswzQUxjwtCVBsFvvrjOmZuCqXrxEEwRsSXTGAROiGBnNApKaKIJFKWArapnpjGlWNjfqobUZbBVXgQHhEwOEoiwppeBMBuHYhczBfUhmSTZvmTOYmpnkARJcXvLYhgDIwvUorsFJcNZurJRsDkYckEXzELUwzoiOjLnoGjnlcfvvqsRYEypKqNhqSUCpNCUMRAeIoSETphwdzAjTwTDktUCHmkDFUdnSBZQGBzaxwAspTREevYIXaoeekERnllravfHgPmOjHHuyfaKJydiFdKXlLbnOWhbVGHNSrOtqFmPlTgEoONHUwNJwrLhJALHVOeaYFPGOcsIMcATBKxDgNvTEiIeXKeyaEOwUysfEWXiZTWuWeyqMWJXidNukomTTkWpqAzqTolwMCDwYMvyfWUnvcBZnzWhWufYiEGzsyUlNwSlprAHIQmBMiCciQwaqvJKdWQjRnByJuSXU", "c_map_string_2":"FPuBdaNDTVueUomKqYsSbOZqjneOYGefYZqjwKbdmPpapbiQzyHYcoVwVmwvGnrSklIrtkOwpXtZAfslpsUgvsMrzgNQfxELQtXVoqxWAClDqsHTaMWntMePDuDBqnYwKqdpDthbGCzBYQGKnckYIStaWNrHhARRnoOwONWrbscHfrNhTDJobeePlbDWlpkGwwogPquCgWhIhhakhwaSULQrFgwHyjqYGHODTpIoJXUpMvhIEhfKzMgklSkyjhFYqqwtvdjASynbhuwFfRXtgpkBxdAtvMgJmtlJGcJyLUYYaUQYSGwIVXmJToLpGkuCPJzLPvbxwMftbfsKkTcZPHiyPXBiAoVzowMPZsTjjIFLYKvRvzhAHTQKgnfsvunbYSrMBsiYAvzjlinXkekovzoBkMNunYsChUJSCqauQpPDKNOPZhliCXFDyCNBOEoNBDHpjIHllAdGjRcbspshXXKOGBCBPabVEgcGAqPKZcoPPjYOLsgzQIbfOaMDDvNO", "c_map_string_3":"PSoiTgWeLMLDMIjQoxGUCglqbRFRPtyFESbAzDPrnkwtBpsXvWiCecxBPwGWKsiDaJmHaywsfYLlmAmKpmTzXpgCSmFREHbpmPBYPjkHOvGqtTNSjaFrykCCquoToAXWnIuTZNUImjOmmQSkJlRUumZKyHMcbnJfMiJQQBqXQsgHCLelFHsxpacUZhsGabAWwblEXDvjPxOCggexSlbDYoKnhYqkPvAVWFDTLErLUFfXSuslqYCPsDxkGqAUbJxcmooDAUkWNezCjFPfuXIZXLnMeUrITzNXlmvrMxiAPWocVzkKHDAtRZUhanNDGuWfJdlOmeVWLWlotVDjWXoyibbIAvnDAWbYOqlCvrhIdyYgkLACBivaZzSSWnLkdXsChDcWoQnetkEBUadDZiRwdJNICcClmNhdUgqHqnEnzaHZOfgQGuDgpAoazMkoNuxqrAqNXlifXiUfaQWHdspEncNYOrAFDLIRpcSIDIHuWSzDQuMoiEHeiKofGrwVFAkj", "c_map_string_4":"kltGEJoDFDakfQoCDiRRwFROjsFwGRgDLwYRRwSoVforRRaHXugaSrVDEwLTAaGwiwxQWfbMLQCAYQCeExrLDCiECJcynjpifmMAAtdIgLvhcUjKpuTWxSQnlMNfkYgIQmrUZCxXlFyXQdtDgWcHlxQKKHsPIUFCXptWlIDbTOWVIndjKxmAgPFvaKDAlSnIfWJnfEInAyZePEtUGhqfPtNPUpczsRRLtaChCBNCJAywPsgGJZnncexmLqkgQRlmjoEAjsOdlgOzJKmHlqZEtenusLfVngEjbNYYzGgeQKKnshVajYVRecTFPkAeeqGFKbQTswABteBYAoqFJwRjZCeuJnXELqpZQsxUNZcFTbScspKBgMTUYOkTskJHphWdUyZOduDKNPQNtXmrwbKgoSsOhbaVfWKwphJLnevsMxWoJZGrYPmVwWZjkWdPJzBjIsGNehPYgwViirUFQZHhAncgaDsQzJLeWSDbZXVBhiElwLdkyokVGyigIMejFgJS", "c_map_string_5":"ofdWjUltypVjWuMUoDCzLcWYHyKyPuwjgQowDEeXllryYMnSBlJrrtdnLxOlRpdFMPEiKZqLhNrAeBRxzsDXlRwSvxYUUdICsraHDyRmCuqqbXMsCRyjfrxlwREysoIeVcGwAmxBZNHPVhoUfAMyuXqjyYVqMfgiqZEfakHNQqsXsXBnJRwXNygbPLloXpawcloCXMFhtZDklAFvjAjyilBKghSTJjsQJEaWRxUGyNumUSDnQyaYEMKSjgpXchNSChsAslQyovmniEvLQghMMMAkukkzRuCyrQUGVrFNagPCmGVUSfpKgpHjsWuruIqgQdGbAkTXpyeNeEGfYqvawgHYZVLPookbnMaBkOWqGtZnFscKIdjBwBXrevluNvoKjEKKbOgmjVSjelEhPBLyoTGqKxKegIgEPHnVSdpjsWdsEHcvpUCWBpwZqJAUreKDSWGXjVhTOLyGmItkLzxkmCAEWWqBjPEDSkMDDpJpePEqvbIZiBrBTKFqRbeJhGwB", "c_map_string_6":"zFhOmcHUDapPgFSYHJeupuOVHxCSrqCAfZRorHLDSsChsxhybMQcXyDYzTTMXaiztQwVGArAvKjKZePeZfrgCPvpeEVWqeIqxlUeuXtZJbHOSxYsKNyFMiQgGEZnOPBlMvqNSGCdMBidjsjkkiDcQdYUgxpkxDlMomvgOblXfYnpFVYHUvZTfZZvLNduCHGKdPUjWrBnqYmTKsJwQLOnPvexvwRKWJqOlefNToQtFVpsIxMsWemiazfNPaCadLxgGvQvjWNfeHmMnIkyQKeasqpEsyvBvEcRKrkZytrkkHJwdAXhNTYChBPNBLBdbReERqlaeTCGrwRMWqhuLIKvySLBnCzvVqHSlVBXSHvfgkXuTjkmVXAqmtuIIRwcTwDeGsrzWGNMAiOyBdUveOSyXCnDzTMEnsqVACEcJZORSlmXVGmzgEBLCLqtouuAIMfSpnflpwDpdpPERZmSQlufuBcBsMlkTDLosdztCtGgmJoldIMJrbJnmTffIfFxiyxC", "c_map_string_7":"PEuxJYftpFNfPfGyEIdndclzfCswBgEDCAqfhIDayeIjlWGEvvMlhGWBaJhfwcgVdITGIQMXxoRmqmZezPeSvBJNHPrHRsgjeerncMfFZtglIrRdBiuUNegtYDedYoIbpxKacYodLAzUNvlCHHailODIqVXUdeqyRlJoIleiouukIonCkQSwauTsRShzSbBgEdNmrpYCJrDwLxgiXMUDdLWbVGsOerFirJSpwGvnQorWyqwggQxhlneMNdUduyhUGPpiYRAVjqVayRnLlTALRhMhiuXUpUJVUOsZOGKtBQiSHRWnvhMAvnYblxoxfcdqSntsygGCHpQJoXbRIaFLJSqmzrNZMUJljTNLRBrAyEsNWPlQSlmCAdQedEZqAJCmiAIllQroYzhmDgNnMNLpqgknwbMPVMREttaihPgZxspSxSmHOFyfMmvSCfBbYKkORPliOjCKLYfcnblgHkVqgfXFehfNjJoWTMEKgyuQNoAmzHyvxUvIDoZAUsVWLkBm", "c_map_string_8":"eOczmbWTYzUdvVuYOucICGuWfkDstkPxRLZNuUAUCjqNlaqUnYLjTJaQQhFyEarmbqrNSEFgQrnxSWjFTMyrUNZflNkXDqzaOeIQUXwzkPbeFlQgTAvwGtsrtUBhjRbmLYbAvvaMbRnzFgIqBKOUtyuVFCgHSHOlmNeUJWklkqKXDxiDecWJNqmOatPkqRBDYmXGlqwwqgvbecPvzZmmDxQovyNAQgyCHAyVTXZHGsSvUwbIeoJtstUqfeqYuehHNnCDgtqLeuFmfPQALJpUAQXAwDqYouBCNroYZNBWdMRkPMUBGKeLNahSHShwDAIncytWIcYEwgcCRtgocKIvUcvxKDCJSsaQVrCJgZjSjVagwGwUSUWrftbojfJFnwsSyzagWYLffkGxoAEjpEaIuwgFoRlpkPtxyNNKaxUAZjVxfxMOaLwbbKuHpWitIZdhiHMmCIpQtNvWXmOqQkgPepFCDkyLUbguGqEBoaCocUgJSqGaQkpqEVgAswmMyVrp", "c_map_string_9":"mzAtDexLvtznVGkuZuCJxowwAnUvfCnsWwEsWjEtutBqBvSpUcRTyYWQdltispXCsgVLifSGBPwBwEMSDfGOZOoKKyZjjYgkWDYxKZsgFycNsUiafosjmZcJWBCCfGUqhEDPfdoPOyVBMGuiiACAQOqnLkaHtrGtgcYqoKTKyRpDNCiUEgtfPMKmuRDzHebFNHeRSLEKTtpQWGpeAKVRUiGcqdQKmurfDBiZBxPSueTEwaPdmHMCQsONqZzgAkYOvKslyQGcHsTaczogiEMrKDOPMBbAXymJUeQvkXnUMXMBqdJrRefMJhqAnTRfleCLopqynIFYTJHHydNfmhifKVeUXsyFUxPAKkZojSCIQpkRFlHFRkGmiNnGDKrrqOgIbtKWHRtqPDONvzeOFetUEZoWrmIGiByOOvjhgxIwzjpSPqgbyxxzheHSRcftKuDgmaThsYXPeLOLiZODKlLxNKWnbHGiTgLBPNhuMRAmJmnfizVdYhovpThmOzkxTsEO", "c_map_string_10":"mEdCDokDumjSojUnIGOnyclATNIgcJWMBYgLaxBcdoLtjwGBxDAvsijgkQHyZQBqtHyguJxcLpKoCfbReGDGnOovVyjhSjlmZGroyKjASywxewFDaURfwKbHhpZdRvNsSpwhbvGOFUxqIFpPqykOIvZFhmBamGVUHyPbwxZoDBqcwNNIgWidoBCHpribSOuFnzlvdrlFLgqYxsfhtUQzEfGXKXkzHlveEcVRaphvIBRFyKxRjxybrPGxrtQYElnSIRrumoTlJwCLxCQcqaAfEpHkdUMFmtSAgdONaJqcAINvDgknzNboTaMRtsKmwaXfOTaKVHByjAzTkqlNkWPNtXLrccnCMkzngYFdGYUzyyxEHkCWHhFeCVaJsuRdwISFaBAOBaqtVYVBkYNUCiEkfZPgQccIINKMHVoMZGuwDjesvAgCxstCOeVbWUMdjmBKLLNAMtVAJwBKRZVCxKgEXsYTOfYxxxYJjwEhyigLvSrILWsFTPvBKcVLmnRpbEGd"},"c_map_ipv4":{"c_map_ipv4_1":"241.55.3.54", "c_map_ipv4_2":"69.165.75.254", "c_map_ipv4_3":"99.218.20.134", "c_map_ipv4_4":"61.184.99.186", "c_map_ipv4_5":"199.184.133.181", "c_map_ipv4_6":"207.123.78.42", "c_map_ipv4_7":"226.253.231.190", "c_map_ipv4_8":"253.227.41.128", "c_map_ipv4_9":"195.209.167.74", "c_map_ipv4_10":"235.58.237.119"},"c_string":"LCOYxRvXTWTLXEwKOtnkFvupufsZOveErZlwhuPSnkaceVZmfHKgBSJWRrCTvIOnrYPztRRsVrXEpHhPySJuHMGXSvIqzLMUQKjtMliYXlTNoPqDdwndPWQRwnaumPHnMnmeplCVLNpynvHZJBOPzrolZEibCtOUWJqPeoiSBpSErXWhmxpDeUmgrcRPqOrJvjUMUtnTdAiQlEhHnDmfUjEsDqAjdCfNqjKaSHCfEfrICpwRqlhjUNUUZdtMYSaWxxigtJTMYqdLvVFyDrxRNdatDmpwxRSuESGAavhmdgdJykxASgyjYsrsONwDQhyXJzlAWZOUEPAkgAQWwTNZAWJAtkuoasRWYooxqkFRwZKWnmsVGGKIEGAEhEuzOUCxIsNQyEBwAKYfiONtbEMPQhVjpCYzYVbBahYdshMcazJqbNMzSXWdIbwtubCdhAGjldtyjkQNtRgNalJNXssRvsrKghZCigIKUjrMGFdfTSpwsBBDnegYOEFiIECKTtVV","c_datetime":"2019-07-12 15:47:20","c_map_smallint":{"c_map_smallint_1":17143, "c_map_smallint_2":8255, "c_map_smallint_3":-1943, "c_map_smallint_4":8835, "c_map_smallint_5":-20103, "c_map_smallint_6":-31769, "c_map_smallint_7":12077, "c_map_smallint_8":18194, "c_map_smallint_9":-12997, "c_map_smallint_10":-10289},"c_decimal":58.0350,"c_char":"xykRrbpNgv","c_ipv4":"28.77.188.255","c_array_char":["VfqEmrOgMO", "nOHdqcNHUP", "DjmdmetTFI", "PTeNlOgBsT", "eqymsYQbbO", "JiLWZpiAhN", "vcUbNzbXTv", "BlISvJCicW", "GLRfaBJKKn", "pbpOeNTLra", "YmyyBDgkLV", "lDVxRaDoUF", "zCTNPYAKiH", "xkcASkmMAL", "FkBpXgTChT", "yTyQpbvZfj", "UpTreBZLFg", "dcKDAPKhMx", "afiHoWHtqv", "hjODcEdaai", "VlpoDlosNw", "fSJeRRKxZp", "lGzLRpSBLQ", "uImwZnchWk", "TVYAOeohdy"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_int":{"c_map_int_1":-1600028679, "c_map_int_2":731677386, "c_map_int_3":-1731072594, "c_map_int_4":-1814413240, "c_map_int_5":1494947894, "c_map_int_6":2112904388, "c_map_int_7":-947081271, "c_map_int_8":-389530969, "c_map_int_9":2067430079, "c_map_int_10":583885426},"c_map_float":{"c_map_float_1":88.18663, "c_map_float_2":35.463093, "c_map_float_3":96.58902, "c_map_float_4":26.356714, "c_map_float_5":20.081915, "c_map_float_6":2.0211716, "c_map_float_7":1.7069533, "c_map_float_8":7.487519, "c_map_float_9":45.29441, "c_map_float_10":77.44215},"c_array_tinyint":[53, -109, -97, -79, 77, -28, 66, -126, -108, -26, 63, -106, 12, -18, 34, 45, -13, -8, 37, -95, -124, -82, -85, -78, -19],"c_array_smallint":[-7241, 29400, 12620, -21122, -31475, -15349, 2517, 27195, -25060, 9408, 9671, -21719, -704, 18605, -8814, 25137, 8956, -15246, 30061, 12658, 18529, 3114, -19912, 23640, -12681],"c_array_int":[-400399771, 717595297, 54827579, -336865435, -211497848, -1346435391, 1018140121, 1926394683, 604735271, -1124941514, -233894232, 293221317, 1382654740, -63737117, -727409648, -1432485275, -1676730188, 807688861, -1087392340, -1453000215, -821410935, 266651942, 2068696104, 1471420148, -1337244136],"c_array_varchar":["sXMOuvXCVUOfFPSCNEsbsFaWtvBoHyEJLVadtGceYcmiuEPRNFKnsrwvCDPXgomSxdrVgPOnDWCNICDwKjVBwHHNOytnpjFOezIPxkcTedihDBpkOhaaNRyuYKYWnsINBejGGgfQqAFFWgkHbnHBRsEkQbCBodCsUolGaeJCbfoYfDdoaEPySVWaqhcZyHBIGYnXWtdlUsfExbDQTnetpMdAGSAxgnMDdSkUPnonjrDidTcQfbyAEXlsbKOTeZLb", "wXIwMcZTCGyXBSOSLKWLBFHVJyMOSQNiWTHbOnCgpmsxZFuXEJpAVkqfyKZotlyZBmICWKUGcOqUAeUvrnnZaxbxyqRkwadBBiJCKLkIMsEtJIsSuUprIhaTHlpSbnJNzNYCRJyXPQBdwHqEhEBRfhTgRhHWSukacIdvcEewCxSqyEQBwskVIMDIGoEigzNjBqILCQOJCBABTQvFSVcjiUcdgtQZsqRpfOMCxrmhvKwfKtmMxIJiDirwmBSavaUZ", "LvbPrMNEBaRIYzwwAMYgZUpqYSoYGPxlLVocEErKvCZqCFNefWryTItBxWWZJQFrwKDwavxterKbAKYHXQQZywnNCHTfQRhtzxxMuvIuOCSsANfUiHFyBJZJCwhDmHQNgRzZCKVApgaosbbkKQfiCaHmavMKsFGAPtBTIyaoFFlwHxsqhKHUNhIFFABYNQnWfAYnKQPdAtehYNcbfALDGVIsnmFNTyKHQjDEJJtfwMeKEqnXJcxOXRByygNZICLO", "wKEHSnXjVeSYYraFBqNRXdxlCKXSnIJNxbwCiMSCzSiNdmKjUgXnNnIOnzgjmAkbCaiTazjjlkAaHaDAYOOXoAxMCyXBQphHcBunWzXaeYzhqhSuxKVhkIyteTXJlBXaFrXKwybNMmhpTOWvNihwyUanGPlxtaVLbHekymjvLRdoTcLHMLJjBlfhiamkLXNsRAudBuaUVQveClrnVqMQiduxCcrDIpjTcBSBCIryWSCoQMbRwpsfxfPNrrEvXKia", "sVPeiAxIAVNFdJJveVXPGotRTbcnyVAAYxbzOsThJEvKqTHHNYTNHreijkINVHCUJuuMfjLpQOKcCnIGtXPxumwLwJiaECneSMfpOKVWVagJjCziWCCsWrmFQhjjJRtjLjeQWEkpmDWbMJxPfrWNGsMatpQFtLNqlbixmzPSMyCyKBCqUKIPGqNzxTjXDOoIPFRAJjvVlmGYaJRUhBKEwoipfEICDuOALwYCPOgTeYgsclYBaJrFMUKyelEbdLLe", "bYWSFYGMdlIGCrgPDWiCPlDlFYpjWrdIFqMYvONURVdXlpNCsklAfeOdLSwhDeUMSpqJIBhRCPojrVtTdGqmcUWmkgnIUpNdoXFzBeYFwhUOjmSeegKuELYGjojSQnUykqQogJHWRNXNqWKYfOvlFmdJLdohFpJKvVSrEmXWUOLQoCQzczFroxaByReUZBsLiEiRLZwwVHkhklNOGchNvmVGZRpmblVpnuwEyndUsogZdtgxtElpDQZxAtbQByBl", "LWIqKkfpsHzPUOaKtZScOAfmSwPxXJhmJjGYwrjHuqQIOXZmtmuSyndkWhROUfaimZZdVnhaMuiUmdStFNqArRgZYVbjcVtRWzBWgiSpuyYDYqRwkXlTHDPzzrnWlfzIZaiaSwSXhdbdadnFdLTkTjustQqfwbxGdjyUfXJXImpYtpHDIrWIQSggXwRuuSguVhGjPbnPZBCMIdkkLiZrvguzcIfiDxRBtDDgTAWrAGLwJCaAOrhsDsziTteXWcDy", "ajdzXtsAvFuiQVYkzVoXhLEVkGlRkDPLPhNyynpuedqbZkYVWcRfHEhslUNMcFbZEeYLzRxXuEsYiyZyAunJxXyuIeMVRXudvmOuXWlufxNpHCYVAKFUjzpZzLZxYFJaOfbHSUCaKPzfQbXMvGxEhMDAzagZZZFZQdlQkkwnwARrpxJuuATchlYFlMTBdxPFRmmQLtUOjbFAmuEcoEbabMJadpWXmChTeSejCswjDQxRpBEOYUwFcZBACawantGm", "wARXJBAuTLLJIHTfWKfVkFJIgIajFsxYxaveBgjzQSsamIyLykXVDAjgDiWXfwjtCKfMbDLNRHITCRemOaMzICthDRPwwJYRtedWuQaFSNuBpsyZVVZadXuUnChcyceuncrbrbTJBFDaqOthpxAWagcRwkJGOrHeQeJvSYjrfsZaMAENGAVuijTldEaaXpwzOBKNNIBrbQRuCNomagTtSdmPOstHzxnYJhbaiuEfdJUFHOaIiZHRmbQgSmOvXqej", "jexJWyprEFAlzJNXRiKsiooXTrFuSYIwvmiJsLEiJJsiUcRMkAcPPbEkDYpjjylYlWxVMaFkCysapiOogGTpZJYeOGINRLmzUZzpDtvqwakXpbhYALnEzpiMVOMSJwsZdLZKThjWQDhZVAbkGpIohmRHRVEGnxhDXkfbqkrMNkXqBeyVBqVlpTmRjKdNooCLpZICViKWbCtYjBzzfQXqHXsHAWMZSCRjkwPkIuoAlVEQvCFYFVzRdyqqQZmIuQLg", "uqNZInBPNWmZBWvOhLzrXRrtHEtrduedzmaOoRCbCMtfEBHRCYhpODRxXfqbUPFSDBDWzHkfDEnqgYpZjViONGkyFbzJNkwVAPgWrCKqrHtAnMhbggVVexVppEtsJuieUrAdVJZQKbqGDAQleuSvMDuWkTLghHWrXrBaiAOGImtLrBZamsYuWhGlOfDtfAWWweNKYhynrYUBqSWJnmyihxRvQDBXQIPmdHNkNteIGiYuKnxYzIFMlDergzohCavm", "NsFghvOPutnZTQZbIurdcDWtAyvwaOndmIugoemVSqNrMtRHPlfLyaDQiVcrZXxSROKdINyvfJmoaUrJhSiChSwVRmJjsQztizZyFzsUnyCoWPVzvHkrJZxiLAYuEiCCvtOpGTnlfRirPLTKgREBKcpMDSjmIcDTEDhmkFZhheAZOGbnklTKwsmiAYHdIvUrzOrxOszIxPfhaGZkmzlKXFsQHHOaOGlmeISLMaoOGPhPKaJDIVCVueFnZYTuAaND", "UplCtrKJZiMidPyztQBFpkvHLTWqSnssLHwQNPWsTHsZLAkzExQurynGYFmXynApMaGvHndMCJEAYniRjXPGgAIgQBoPwNXncMxeAAqYTzXDjetlCYbuBbjLcqCzETBKIscVJKSDfyrVqnRMWZwhMIWrWsFudFyDKWgOBtVmYPcXOoNdpSoepBIQymPyaCpJYZUrHQFlLqHwycsOEJyblWPGPaegCJwEHcPePvnwYOgspirCZGPFKPlExxOyzvwb", "JbUqWlRhOLmDLYUoLSqQmSSUZpAfpMpymwvVgZaVlHImvPGYcGfnnmUOUtlDfUaUvSEUnUNUUruMbggeoZHvNNGLvUeEHrYrRXHnoPBECBeoxNdItLDmhsCMuyhDLNJLrXecYlhnSkMXQjyrJccHlBVgCTwxilTqISVQmHupCqlEdlwaqBNgFEuEUhmILZUwPgUqRumxzfJoLEHLjUQGrbCkomLKZKCReThIBNiZTxzvjJIuBkWxYbiCuoKjMZQX", "uSFFUQNsLLBfeZmhcjVqqGkheweZaHpWQDxWdsJqeZnXveJdiaQjcUsLoQWAUKwsExKrhlzLEdcldzCtPTwoBRIXXiNGQKxHEtKENPWmRJfeevVMplpnRrUbNgcaFugxYPLzpuXyyptyXLZmWVOqlwxEAxccyqyybTPFfkVyLQfBTokCGPXHpEKJhxlKYkvThgynABWcRuMhcSRhRRZDfPjYbFryxmvvhGHMNgpArGrLaLvVTGAEqWlQwxnQXQhj", "XMLziLxgHKkankocOlGnpCTOMWUmzpKoPGnzjLBuuEkrPwBAegHzQaIjIUmZtCFoLtaaDPuobsktaHBFYyqSfxuTBaDJDEKhkcQCwVmFGkZdoxtKDQhlGBEnsSvvmlnsAkyjFnPZscyxpuzAdCrAVujWKYypVsvadIqjpknNmoAJSoUqqnwjlnbrOacVmsJTNIcrJvKXcRQbKMAwwfqEfGBTTibcOwPxfbjisVswxlQIeqDWJCGDlgcPQVKMqWWt", "LpEVZgQPihKkPSPyqExRHuqUJgIpIOgaFOvvnPAhKwHyBymjFwYRygMGJbZXUXJDMiwMCuyxiUTBRxKQLoLoSjNxdAuTvxaWwKjJGfphPThONppeFbCSOqqKhLFZZpGPLRyZJAYQwbOXiBidhOZmbqGRELOhKUharmxYhvnFsbVcfEUxmZSshZrZqUineWzXVNewQNXGJTvqluELczrinEWeyBRyWxpIGqyCbUKUsCnCNzKTlbyySZpwkTKAzdEA", "XwNqiSQjaAjXoZrULCtaEwLeuaINXnEMmZbREBXZTrPtHZpVSZXnJGKzzwzRnINSZgcyGBnXcMzLcJtizfLhykyzMEZUNvxceJOfiIoERsMfRtjmPtoJfwsCnEStzFjfQAXeILPKCJBZgXUwYSbZMTJKoLRqVzEjEhpxsNgPHlbgRgMjIRMiENCGyNjOfKUzWcazDfcedPWFXFVNNmlVxMYViwxbtPZVPvbuzjziZxZieSpVVEWdtfAaupzAsrrA", "YNxXdeTWYTkXEnZxGCJciXDbULQUdSYsYenqnjMXpCaydRmwujKqVPfkuutiukgIEUcjHqzBEayTvBWoZaSrDknTLmLjlyKqIMRQcfMBlMDGpYnnIipbemUoeLVkMyKMyVcBhfQFmNxHcKcUlCypguIlCZhQkVsHGdnfGjkIksiUaNHGXmBwdgnczSCLinRPjHsHDrZiLWCBMggQBxJONNbAEVRYIKjaTtaSoiwaNWTAdiOdkZOOkLUEohiUCmHP", "JmCBXbkDBRAQMVvoVHPFKugcKuTqypaSAyihYHATxKeZtjQjqeVCIbEiNjMlKRvdfvfKMxvtTFriBFLXCkWMgWNJXCDgkEbpuxZrjaKMzVJJpOzkkELwGSYjMLQZGOaTrlxAUTLgBAyHfLwlgNJfupujJMEvufBMasuQHLNWksmblQmiPOrICkbqCDLvrtjKQMjWLneUbyqERjsDzwVRIpOIyxGUlcmwSqNuFYPNvuYbOoLHiSBfLKWDzRGcVIor", "XorMgfCtHZqOZkreRkTgCGlmPgwMhGiCmSwoIMhKQOknDDlJYbljIvuwXnjMhqugdfHflUhjoJrdwTTNzxSTPObtpcvItQJrSdFKhgdxbNQTmXknGoJBgpRsCaUPESYjwZwAdTpKZSxYXwEoCQbWZLZggNbBdvGVFlDplLTvgPufyUJpGhpRPrLgvsFSnDFfQGGCObskflsorBIZFOJNfgrBtKDMQZWnGfCLFQZWiNVXMnwTdsrzUcTFkiULPiom", "HoSAeQHGnjNwPxPjrNrmAqTWkKMWjGkGtzEAFrmYubpioZAfgkMJpwXUaxajgYidNeqLIKOSHuTGWdNgrHomtoYitFsQCefVxPRzQmBsRDxREAXIptxOYJEUbCFJhqoPNAAJcTaaURqtLaQCmeVDUdrwOkJJVzggfZIONgaHtXrStevpuxPnusiihgkBlCDAuwnFIDldBiUjGthflemCdAAAcCioOIwIuLlnlPzmRdxWuGCwzxfDRxPYvMrDynYz", "gELUbAsKHXKcjDPgYZgszTfmzBmmXVloEbmSxdfQoDkrpYRvOkbrJyichEBSgtqmRBKNpWoCUSVKUNTYdjzSbejUNhzDJZYbxLWENrvtJBHpbJPhfRnaoQZOHyNPhpKnXPkZdkEMjeikCfjDKDjDmyqNnbKjxxOXlXeSxFQdqFjmWRvoKTaYMSUgWKoIeWZihIUtdtpOCkxeqbeKwPRtBDCHgnlDvjcgamABugRQhXWEiwZTDuECcmudLwrCMiZA", "QiWwnRUvGiINjkIPplUTGDWEJYDyYCTLJKgGODbYCXQUzhCCmSujLJGeUWuNTdmFTgFWUgSgpRZTBzHHUzzZXyDRHKojnzhnbsxwrDPtgLaCsdlsxwipeybLPCKPhhWIOKmhBTtwjbLJkxSpptgFCGfxtiKRSZFQuisajKefiNXrpysiHKRKKOqIAeqLTcyOZNrfNaOVKhYmxyiPqEkvareONoMbiTOUPVWDVrFRrFnZOxAzRXhiwhkvUHSfKRGT", "FSmYXBoqKaHtIMfTkwgloFjqFmGrdEmrtChmpVLphTHiNqHolGNpmSVIOnMtiWMVxTEMxorlWoOnlUIAHdIIYftmxvQCYJMRYpfwCRoBRzjggeMrnTQrSxnxgQPXFaqPpwchqdXLeSyEKthIpJUnuaHViaZFVdTVUAUpwYIDLAtLigtuakCkccbPGqXYOwpWgHfOujYCeeeHeHuyntcpdTqwGTkEuDGUdvlRnvOdTeCCoNFLFgvGWYWVsHKxGNwF"],"c_map_bigint":{"c_map_bigint_1":-1013466598278839176, "c_map_bigint_2":-553378505045375584, "c_map_bigint_3":5171020023501255377, "c_map_bigint_4":-5594533768455553842, "c_map_bigint_5":-8860617382378211560, "c_map_bigint_6":-6821567799567646233, "c_map_bigint_7":4922538907697867020, "c_map_bigint_8":3557457030536397641, "c_map_bigint_9":-1095769089243231945, "c_map_bigint_10":-2655614569209506240},"c_map_double":{"c_map_double_1":63.65425401928658, "c_map_double_2":85.55792902518202, "c_map_double_3":83.50874516945167, "c_map_double_4":59.639457863130275, "c_map_double_5":64.626416109058, "c_map_double_6":33.649814676337385, "c_map_double_7":63.641654647419834, "c_map_double_8":60.31260885034779, "c_map_double_9":59.223369150593996, "c_map_double_10":86.0229877610984},"c_map_date":{"c_map_date_1":"2001-03-08", "c_map_date_2":"2011-07-25", "c_map_date_3":"2000-01-23", "c_map_date_4":"2005-12-01", "c_map_date_5":"2006-10-21", "c_map_date_6":"2008-03-12", "c_map_date_7":"2012-07-06", "c_map_date_8":"2005-01-07", "c_map_date_9":"2009-02-07", "c_map_date_10":"2005-01-04"},"c_map_datetime":{"c_map_datetime_1":"2019-12-12 00:24:42", "c_map_datetime_2":"2004-04-20 07:39:14", "c_map_datetime_3":"2005-06-05 20:14:15", "c_map_datetime_4":"2012-10-10 15:37:54", "c_map_datetime_5":"2019-03-28 14:31:54", "c_map_datetime_6":"2008-11-05 20:22:00", "c_map_datetime_7":"2001-02-02 06:54:18", "c_map_datetime_8":"2011-03-24 17:00:59", "c_map_datetime_9":"2012-12-01 14:59:17", "c_map_datetime_10":"2000-11-05 18:00:12"},"c_map_ipv6":{"c_map_ipv6_1":"4c9b:c1ef:c091:af20:3a50:7710:a2c3:705e", "c_map_ipv6_2":"e485:798:935d:a15b:9171:4bda:a42a:ecb5", "c_map_ipv6_3":"e5b5:2bb0:5d03:1482:bcc1:bfea:2e6a:a246", "c_map_ipv6_4":"4f41:3a73:544a:f74a:8abf:f6dd:230d:6ec4", "c_map_ipv6_5":"7010:673b:799c:121d:ab40:9758:96ae:686a", "c_map_ipv6_6":"77c8:6017:ac6d:bf5b:e4dc:29a0:5b94:2ff0", "c_map_ipv6_7":"bf51:b1d9:69c5:bdf2:543e:2d3d:6138:e80b", "c_map_ipv6_8":"2452:3f26:eede:b278:30a8:a8b3:3e2:93d5", "c_map_ipv6_9":"5f33:72e:36cf:906:af62:eb3d:207c:f348", "c_map_ipv6_10":"254b:6ef:227c:3b5d:9390:6176:743:39a1"},"c_int":-1233288867,"c_array_bigint":[900215620316174171, 7476465160532743351, 3462095792346096845, -4631586721909224969, -7527647689222671104, 2071571216385909158, 2747695347431864340, 54484635426949966, -563467853363745847, 3129527911332600816, 8681027859224450586, 4274595939175626866, -6317773658104866023, -9190918115277033976, -3036499121162077463, 7663492947453270140, 6087674446364514809, -2842756614229803238, 4664792936050667002, 2595349843501423577, 1276676469866886691, 9208212966342972166, 7691517194649035682, -5217960203709655778, -7892796085762504352],"c_array_largeint":[62873927973096972, -641073080886302736, 7478652946591942837, -409343228226161982, 8049504781298114615, 1924079421424195487, 7299118687919630897, -4200442944635226722, 3260362181755814263, -2429592422367299201, 1485073371285197676, -6669470967937448010, -5189630197834657140, 996253090932249294, -1479686541125860061, -3690419991362921258, -6616824307014812408, 1957735675162085433, 8852488047828487032, -1134580979497580380, -4110899059011671125, -3251424135986473692, 1279760741048338673, 1777096983423195219, -6703546008960960974],"c_array_decimal":[61.1776, 67.0961, 86.1458, 21.1064, 78.0360, 52.0796, 73.1162, 24.1792, 76.0480, 15.0988, 13.0714, 60.0775, 64.0930, 18.1363, 79.1946, 30.1774, 57.0771, 17.0300, 6.0385, 88.0938, 28.1764, 72.1725, 71.0855, 46.0501, 1.0632],"c_array_float":[47.018055, 95.380196, 50.013515, 53.796177, 60.151688, 76.33912, 55.772285, 15.774513, 82.34459, 58.962757, 5.719307, 52.55171, 18.599169, 27.588066, 69.72418, 75.92424, 44.99833, 22.006245, 100.63557, 52.600155, 49.120865, 81.064, 86.436134, 94.114426, 1.1972034],"c_varchar":"back","c_array_double":[69.34994481382208, 65.16395499875723, 35.731336428037594, 77.65724066817278, 70.80252944120035, 3.9236378387735873, 4.490233209446114, 40.68423292188676, 10.343911466044096, 54.46876075708129, 35.70359899049601, 28.210335413334647, 94.06361797044794, 34.26855490172244, 52.592255068676145, 16.15276398643203, 35.56570938502611, 26.572555536286686, 44.41508067375966, 65.37381563750047, 52.29492219585978, 51.843878961083384, 27.043106240321617, 82.01096519630359, 60.69532217853803],"c_array_string":["mocuAowVypLloYhnIBHbXCsBjlglbOHftdArIKlNNXseAzmqNDOBkTGstfvnYIPuHeZlnvntFZKQYsfAHjMVvlgkkhdTMlvFGFNEcPGgiszZiHZEtXtGzldZVlxYjnwnZqWVhbxjKuUBKJarHPehnHQhSrYgKKiKcXUErMuvrnpBMLucIJLcSzQhHuTuFVSuamTsDVXYjfrZRqZEwnPBCgTeFCchwADzUvTzsfLCggZfgZJTGCzDmTsZUtUCKBcBIfgvpqXtsKetgbkmSmiClOSuYBUZmaGCLirqBOogExwPfQnrJUBPxORKoPrMDbtJTjtkEvcDHedgySywjiVwmhvJmvhqrFIUtCgxvJCnFyhjxmPrKGVUfqEdktsRdrUbDwmOpshfnooIxyyZkFIrvgHRkLvJqciVuoKQZSdvNekJeZMpYDJHuqeTRHmNrcRdomquOyefYOPmgMjcDjxajPQOiBduzEYmoFnDkUmFhesbWGgrZTzdXewGYrFpbmXA", "uDEgPWWXqqcPpbZCHWkFslTAswRBegdJzWgIHawUHKMFdSWKCnSPmsqLFMeKqFddODndsiUwMgNPzqcKIdxrxgDPyPMhYKngUqPGvBgGTOuXRBAaZXScrQhvZtbMepYjWWQgriifDrYDlyHlPPnqCqVLhHqEySBBuTfGcwcOihXyJUXQebhoXQYLdSqCitGgucFURSQEevmTHznXkcENXhDfYABfLxBQfhtMpQANlcgVJzrwKxTXfzfASLWsKFscOVzxjceaOMFPUPqUpIKsbEkDMRujhdQPCvFKqNgXbNfVnzvgNcocVdrHsENUIuJTEbOMroGzjlJVfgIPqWfmHhsIygZfiKhMtYMmEGhCxbNGPRcxuiafIngdYnqwurpVLHnQpvfrGoJrPlamnngDvpPvycDHNMRoqPpTjwUdlfpzkkyAXoEOYUTqizVrLZWhTqNjsdpWsAzkvXXGtkYvoapQHBxoQEDjDMqHYcjscybRYUutIwWkBYNhxhbEGRHU", "MGSfjJtXdVKfPAcdkMjunNdcZPPCfdokgXeItUkAdMoyWYBmbGRfmwkSiTcQGyelIRYKONCGkIYSdguphSzoEjbUGRhSToWDLCxmMAqGwTKEBGPdgPdEMeJwEdvvXwarvjFoSJDlyJvHVIGVdtPbvadrraGRjfmkOGhOiOeZwDuzfSKKljPRvbcmYaaGPpnnUOIzdplXatkeUOZaLnTRhGWEdvnnUgMtTWkiOqHsGjLmrwzthFdZfdDAeOIaDSLHhSqiOpiRDzASSPqMkWKJbqDhvpLcCxGSniIzIdutPEelMBKUVwFoSxZEoDlUnfcgvtfDMYyxiFKqpAxZGdQvDhbbEkWHOAUoLjBPvjRjsBQWWzPowtKhXwDBJzzNThFtIwArwzvNIBIIIDGLiYApMkNoevLjjvvtlXubKmjMlTYGefZaOzGedlouzndgaHGviYJaPGMybCjOCAbJQCtnzgiKuhxpzcUozNmXRlTJTrgzEQWrmvGeVhxxtXImVBCX", "lfzpYEJDmwVdCQQhuCxtIGrryltSZFtsLVeaXAbiOYYqihRQboMVtpkLwZWdRicWiCnykQkMPoYHqJijKEVsAwkZOLJZshUTnbdKLhDlNeyrCPIJvIcVfZTCNggHezZiGBOGbazSwCaTFhtzYuUUshOQUslgUTLPusVPrTFtkJSwstPyojliAuOUHYvFyZzrwJXWEUBdTtOlCgTPgAobIfIMfuSLcqjEGPoogKyrnCuuiQzVkzmucPBdTQsebDkArVZERjCHUuExsHUxeBTMnywASYShTuuUGLdQtPbxPDgsSZwIpEiQvgrKzXNEQyDJHeRQJinwJfTmLvakfimQTkNyFoxncwVBBZtllqqEEhMNnfrUBSTGxqkdxVZVuGSdIpGArMJlZulwYjhgcSBrJwRUGMvgSGkfXuDwpBMyFCloKYKHRqBlCuRTIihLuthPOJvNpgQEyHvAUgmPBXoOJmXbiBROELZRVpkEZhLVQcIDWOkQjIvNbtNsYDsAZDOH", "hpfMObLdSefUGilUfaYwYjfIJOlOIOLMZbjBLgNLOtnFwpymShfuehalVXyhgPkDgiJuKWeKjAxyKgcKOquMtAFwbgoLvReTjbQnQAVXmNNIaDfMnNdCzodXaMloGdQaTdJeiWjNMdKHQpTpMJJvuMGAXHLrhmFjMMgQRWeRhoUepdAbZRPsSuaTsRZrbUKoDUFfbKpqzoXdvaPxcWlCefZrQSQbRqEeOtXZJWCVGPzEXEGqtZlOabWGcthiYBHGddAPjslYKhWxPkTWAGhdwcSNHyAeVLJkNahULrFrtXtwBomOyGqqYHMMQZYhFoJrfxyuUfygTbIodhkKpWSyLlHPYJDMEJjHojTIkvTxVWqOmcoelUioAnPrKojjGTGyVIFGxmBuDTYbxqAmiarYXFZMRThweJejWxFsbzOPwzulDROrKMzLpqhHLzVeiOmTtUeZwgJpXNuCIRQTXVhOwJjslAKyEdEtGSQjUuaJGfoHRRJxMIyvFEtErUhUkPxL", "ejqLkWRJpGaNJoevSbmSWdtqRaDpGmKkduVjbJZhijrmoFyyBVAttxBnvrRokWnxNsOKkVqAuwLJMrHnSQpixHMGifqODhqdMVnpNHOZysgrodiVrMARFcBkIPSYYBwNlWvkASAgIEIVPVUHQOudCSUxhsoWMtvMnYBwHCPPgfbmhJLwZAywJxgBlBoNQXYjYzNCOmJHjkCUDQPiHxAFZqApucpSdtYUocTySAAnLDHBtpiMESbKSDcAySiYLFNSjgecMmyxbXynljGlUAcpitlWCqRWZtUnYOhKBfoPLmXCCNiBLIOtAGHNufWzKcNGuoWdRpiUMECVlDPwhOTrjyzyPiravwBeJFUqrdpUHNQxNAvkWaJpRovhLFEPPUEcwwebkfHcyGzQZuNWGWxOiUaIXjleIJiZRmAUlBEsJZWGmADpFvFBdZYQvnftIQjJieditQosroliZsbuBBvgoxrEhzEIBCeJoEnuaMTApPfPlYbarozVXxrUYyASKoST", "RRZvyVFoQpJXXdSAloUhrcckwcAJuscxtNTBTXjJTdvYOsnHjYajFVpkJWHpYDQwOIiSdUSwzniATYsBZyJtaJCGQifJPgElFPDCttEijHOijejTIolaKZakbAAktYRbEWzlYTlgORulcMhoCNWzskSJSHOdCniMjROoqkSoLCWShuwWCZWOwCGghQZIcwqmHhmYlrzPFGNnSTuTJFoWNxGcFcnwtRLSlYIJiwuTOFYTWevlxZWQJCciOirStdHvegtExZBIxkatsFrxuobENeqwMdwHHPmdVqGDuneZjiIfuOjCtVswtNiOuofTgLJnDSqYDGwwDJUWquppatTNrBadROlRBPcPQnyufLJOfLhUWSGCaOssUKqeDmCLCYWImjGwYFhsKMEoWvOuPUmfHWPKKabZPfbsWuqeeozxJlbhHXFkTMvvTDuOGCggOKZRDKfdzueSGesYZBJWtJXawhOmLQGodGLgTXZSFRJAbpPTBFfdZreEtBscvQeWBIPV", "FAakdjBPHIkLPrZWGVURtJDRZkwItiyfbMtTthglRfEefmMQaevTjZnWUKlcaKWrenLYrfxDocDijotyjfMAUREzqLFyZPasMOnIaWOMUAYFoNreJXFoPMrlFiOZpFowzetpcIeFXNABbYFnppOOMbvYICGSThRuGeyVcRmtlOkFknzxNzzneYGLpXdSNBGrBpLqJeBEwBoiMgygkXGZBUTaMBHAVzXNVENfeeyWibTUNJXEEuANMhqNhIceakMHUJNfPukmKmIUcWEEUTzOUBWMBQnDcycStPrSdHBnprOHhxtuIMctdJnDiTpgWIdYqVoWRZCsuBGCszPGvZTUhIXMbMApottqzXWgRckiwfqCzsQfVVDpECzXxWUrwRggdFRzaYgbTLRKCRsPhdcqAdutuOuWbdMsysGBNFPmzBWKotDCgNnTBahpDiKScMZLELkdIjfBlNMASwZfelOCwkAcCkdzMqROIncIdmPjjRcetLqabckMZSIBXOfmZnyl", "aInctOShEfwpUKlonXuaxoWoTMtCjVcPTibiyVkyZAZkFxnLQEfGxgailKCCxZNxpvcaIwVJFWAddfBaJpCTZTCRJbHNsDsHExttOPkQYkVobAlawWaUDZUBvpUzSBsbjGcZEyNcNjKyfSFAAAQXXnHuRhxdKcXrBAJQasPtgdyIDnjsSgTvzvksKsprRkdRbdjTkVCrKMflkcRGZEAXdpKwkeGsoJrWCVmIYVQqszOLaqRVUUCWUulClrXuXzsmaTixtDNsJOyrvybqpARpwTqcBqDuSSTOkRwbCjAwJDUxSTTGzFBDoRjAkXvmieFHDwrCTOFupjORIxxUFmqSjFgevSmWoaaUDLzYTTwLbAlKgRrnXEalhbIWeXyPHcAfKBTwfvkQeZaMPQSkKuArsoVyZhAhinQqBnLYRIfiotmmIrbuCIbVRfpzNRaRrqqZzbCGuNGkZlwMaEnxtyiSURBWrjKzRxjByZIyGkfHRcjLBDgUYkaZRVABbqYnEUdu", "juziBHHulbIygugcNKtLaoVuAEHyLZAVRpEKIAgsLDvcOIPmGmprwxgfwClhnLubQBYJWJYftlXgpQZIExnNQslTucrnrockoZlNiGGypsKEDDVozIdRIklmcrTBokJCOrfhPuoHllZWkBBJGelFyhOScbrTnvOfbUaKvaooxNxXicxgiczNBfLPEDXIDrdwBSrOPtjdlbJwizlqYgFDvxkkFFpdXwrhkLlICipapapPWjNziilaBWoTCayhEXaMpNWmdzzqdZptGHEXiEuvLgukVJpVRTIKoQAZvqQahVUlLgbrLZLYLbgyuDQCzqgOQESRxNKMFpKQnGcRYGDpSNGkjVdXgjtrgTrAbEDQdGrBLLEirudivOfdRaxTwGmHEmuZdsrsALgSwGnLJusFfeoUyyyPjhNmIaVuZsqekPkDUJmxSTjtdPDacCxvOGvfCpqGcpgFIKpZFlIFKFqwSDiwwJWMZKGingWZhKPUQblYfZNKLfzRUgUezhmNtAFs", "GFeEJoVyaGyrWWTTCycDfpcakZrRWYXXojFNcNTxMxqbqQEOhmeOyYvDCYnclLXTXsyMjRQjqKpvQlqrpBAuTirCkeRPLlOXGcurhZRLSQoIOBdrQRbyxqMXkrgaUlvUDlBavTbtvHavCCzRSvHEUaAJYupxzUeqHwHCNgMxVIFjLwdhQgjYreQffZCczMUAMDmjALwDJraiTIkgOdGoEOZptiwVaFJAIAyAuEZmdbnRippFnPovgfRzVazlFHMPGfOyJmOQACqewEvbpUhJqNdKDdMUxocwKhWZTcEuagImJbClchYCTKIUwANHKkhnnSdwRrusQdYsGVxqDmvwNQOXdqZkSkNXzcbgvXAUXUbprantffxnVojKwvcGoUOPRLBKIOLqZnUngHFpvKwJIYlqDVPYenVPLywsnOzVzMFEAzeCJnzdEguwUPRKbwiIEEyzbYDMYTxouzQtBUrwAZcuajfYfEOOORXbvvVnzFYPVwrXQBdgZUIcPhaApsRP", "GARwLUzajsFfftHcbgobjrMarCnPNdhmEpwyxUlGxXccancBaoUOxqxIjBRXMSjriyrjCBSBzbPFFMXrWVIAZYXyAmRniwbyQHdwczQzhGKehAbNQuVsEbXxiSwbOKnhwzbNhaxqILxnzmiudCpkNzcaqqCxbNoJjlyamXhwaOsExJXfMUEpRCehRqdWjjAzRckSBMNFXLrasRVlnZZaEinUtySLqJZhZiUWXLArgxfgkyXnRZkfrzCTZSEfmSgtJmXLrwpvwTNpHdNiMqpoZrTwWBHNGaTfomCkdBcysHAqHyZHdpZkCLchCciDzAmmItDohVZiTXBdMWYGoxOwFrQtnrTZybWgLvkrcusXoBMdrLZwkUugEYvHCNoIpCdVWGmdEvSusjCqmIGjvxulxlWBPWsBfMEycNdPlpAWQrMuctcaTOISXZYyWjZIIGFLLmzkEvhmkkzoqlZMRxxbqHwxBNxtWBkMTnbMXqgQBQbfxNoEpVBlgKCnGpuGwkwB", "SFsaddjZizBdBcyLIJpkNOAarGmdUTmkudORpsbJYhbFDSFRafKwBgCKqfxzpRwCKeKFhOCieVpAPwKMgpDuuWEWIcVlwQcmfDWbUWEDxrynJmfeofMiqFcMPgZLNguMlNwzKQKjMCwwxDpLJUXqnoNVGFrbQgdREmvgQJwztDMiFHoDygfSoURCdlzmIBsbNnWxxCPBtEIBgXIrWDLNprDskNnLVWEBGgcoFVZYdXzFPHFwHcYITkINdOkDNxmLiXECXomrRbcjLLJizWwyDeeBSNhAVVmzEjiWGuugZLDJikGbgLUkMzccnHGLXlBlborHCvBsJHPQFPegxXoXperSCdBTKpueBzWPCjAAHlRWYehRyrFDhtyXunfxWSIQTvsZsvLukRxkttFXRIJUyzOrhtwtmbBENfpVbrSDDgfWMbSblqYURmnXxrbXteLZTbsnoWhgKyqeWzqRfrjPlPCVCgdOCCYsIMqAhlZWrbmCcbcvOizqCXNFvKllKVrv", "iWCkhymxfBrrmfTnbHDEAPiYIXWNjXJRdyxTJhAHMkrJPbvfgdcTRuYcgloPffWNVUVyimuTPdHBjBkNTulpoEmxByrvNzyCurvWFaBELSEaTNOtqytUYcIVlKpDrbztYqLIbFIdBgjxlpbrbSWpXAxpTwbsnNJqlQdblYKANVStkVPjwywyOzGvjVEDCtJxboSCAIxeJwUtdysTiuryEEfmkDABufIrtcOhAJmZumxOPduIxpNvTSLStSQKWVJkiEbwXIWXcEYtxKmMTaqKQwQqzSliOHluoDuwViSVyXiZVqVxkNjoZSkRdUGPnsKjXgPgSRyRkIeMTuHxGlPRWkxYXfMTPJmuNdsiNxxBdoTIxoPUXtKuVUTuFEvygzWhJrpSQYuDmBwqfxsXgZuwizARdDPFpGiJCAFbPtywAgYsfXipWcgXUrHdOOwVRUHswhmQpGnZLdaNgctsReZGEaAhDtOLwWlKNgSijrhqlkFqzOuLdeEkeblPYunREFFt", "vCGrSIXLfrLQosnorhErLdIuKHAzYtfBJWMEGnbfvEahBWLmIFzlQSDNSYrHkWTQBxZaLWApWfMhpIfDOmJxHnSWmWXARKJePijGOspZIUadSkuQFJoEUvctmtCPaVhzleIxJCWmsejYNbgrveolnoIrDZStGwxCWCYHUDJTgdyTUUXeHXrMkKLmMhIalcPHlUsVzLrVWHGdDPBgtHWIcGhApuWOzZBRrzQlNijGCvEEokyjGHkKqGUsPznuhsRrWqYDPoDuDRnfsPyUXxNLbYkXdocNQndhcwUmDUnKjUhWhnsSaifKGGHeKIjVLXaWJDZvbDbRROLwcntvHlplNTsObGuMGycGaXGxchYrTfmWmZuYJFPZasNMMkxMfrtRTeYDfPKlHvvFDThjYMvcsWGnIjGzTqWBRBsLPvEpEFbneTdTPloPmflAjPKIeLEcNQRGKzcDPxdjSAWdJsFAbIlsIKAlicQYthVJsObqZXWaCUvZnSgFHquPABmjOiqb", "SgyUMaIDogBSFIQccUAVVOGwBXfusvsyGKKMtbNgQsPhJobLzOXkDjWURszAdGgrbyfqaWoZIbKpNrEoXrSRKygBhSsvRDSaqGQsWyYXlQyllSrwPoFgvWREBJbkIVYsUmpmpgABGiSUxIhKiJvjZKPFfymRulgvHxqaDwXqlIldxqqkojVdEUSNCsMcYcYYJdbOmQgSzPWkifsGPzeiLRbFhvmgwUZevynUrWtaZSZdHXJUMnZwarKWqmZWNAiuuZEkdNoNhSoazESorKCAJcbKAuYnAGyTbAxTgmdUGZAPkjmKHYEpQKpivVCddyrBlebaEkYsPpTaSEgLYsjtZwxkGGVwtzzocWoRefyjwInBnCnuizRpNRjPYGWoLwlTXZqDZnOoSVTQeefMgHTvkLZBnBFFLVKdhyxSapXTiAdWrAzsypwBakVDQnEAoLGbVtsNZpPvQRySdlzuXDmaKPjWVTdIrIlynpYiUmPItnOVsxvKOYzWnsoZDRTUppwN", "EEidjGBjvDNQEgfaveBapgXFaicmLaGlYhpzaQisrSqPFAySlyQUrcjgevCkDSPJnjfSiruJPcxkNHwXoJlxCgYZoeMNEPZqkfQBZChrYNgCiZIEpTQuNzBtMzkCqCIKhvmTSUbIUzjEYayMqjSpCWkFwuDmgLQoYteBgLvBTIFqrlSAJASWtfCcAIujEtAQLNQZMVttewKcyIltQIKWDfOkxNdDBMBKsDVutbYQYbfraUAxztliRVrJeauXOfYzhUlcaTgwwCjXjflEXmcJDsOeAydhEDYZkbklygqBDYlFzmvhtylYPMWiODdjInlWNxBIvHdJcIEqHVGVHEFehyAvPomsXmkQEKeFssuzjJcitPMQewlMmxsxIRQSTtQXJbEibisFJkvglYZgGOOkiqOvJArkYnTMyScpqZYnHQHvAGkAYSqyUMJOslrzfJZiBsXyIuFVdHFNXKbhnMkjhxEjXHMSrHgAODwOWkGleQnkIsaNSLOONiveVEUpEXdu", "JTwxgQnpMDXiiohaZPfXWJkMsAbHErXLNklYUFcFubyhPJMPMwarYcsXBILlWwgAxQuLYotvebgjXbcLiHJUuBmkRnyllOoxnmWQfZrdLVmGdXsesvYTckGURiNZhRDqlprPAvmUCrlulJHTBUTgeEuMeGpSTWOPLBiYBTtsINVMbDjiRxzaGGzQKCCKgnEDonhulpScGOEcZtAFVOtFKXJDNVoLFlpJIQgtCNoZWimEbUQMWgZCskTsshOXexBRxWAhhQhYfoSUxXHlZuFWneAjfeWLmpBojmAMSMGSOWdnLPhmkXlTkwBeyEjNmVFUijrWqJUkXIXYfamrJKYOGXPTLexidJXZbDRTEEIvyTDsjJUgUZmzhlafMjyhaauKEIceNxZkPqBtAldHFHsfdpFldbpgppVOITKtKMouSUOCggLmrOrLlxPMDsMrXaKgYwZCZMtRCywpGfDOjqHyuZMqUAxTVObSCckYBLKvVTyCHGPPQgcBjyKapWxznTqU", "LFyBkHzsKwkpujEnyTzpzsGQGrVZFYajmhpUCgZPsqrRFgdIHyXNpTghhwNypJTikYRFZmPORQSFqXkWcJTQEGaKNtesDUJfHbQQEglNQRpWxWaRhbjfKDFhFHsBfVhxDwzkGGubUMDhwCFRVYOwgChpOBLhxSPdFrBVzevIUNRkBUysyarXkbzgbzFvSyayAAHfZKeIDFUkHuNnzRgsQRpfEgfKjDrGFVVLxXfbyXAPRfVLyrppASgTfnDwGFUKFCelMmkVNopXDgbEFrYVYRIXNKoENyQntoaJHlOaAftLhganwujjdzARCWriHEGvMVLoCIGlsCQTgEvOwIEosWCLRhuJZqvfaAQfAcWrkXCvBDCfhmknBUQIOwdKsHYlqQYuPOWenmnjDiozMREbRtXibthHKhOszFswXCIUUXXBqvSWaLrJCOfXaGDMNezkgBLdhbPQrzpMWdOLtOphLYSzJRteaPFWpXTJydnisBykpajWTWGMRSqhGawKLDdP", "pomkPRfmTBdrdavPxrGCaLvjtRNgopvhSWiVmgqEbHbcoKlnuCohaFNiSflLxLSZZiICWrYFykSxctNhmfNmOPKuZZLlJRDmJtpRgoyqFDxOmzOugfmQVBSEYilBwOervcZGsemdllJttuIBxLVuPQFXKcShvnWoPnbowPQQJBbTFSsgBAqoVHzIqxdyhDotpZdoMspiEuogUsZaRWlhofboHaJSCWmLHJVQEwSAYOnvGiFSfgXnhwtqpjEzNPPielvPQBiJEuNfkMgeTVXZguZpBAjjoxqGFNUhcnujLLkrtpLJCTZykVedHTBZHKYSdTrqYDobdrsYcJojimPuxQurFWhFmepiAajuIkDXxgNpbgYuqlrkcgwkEAqBwjjsSzemLRJwhokloRIQkwtvIFoXvnqxCyjxrYyLatELJiZPFCWfRDjykFekDjxfAzKpbfRqhuxcGCYEpMOvGApoPLDoOXCQkOrnBltlWTqPiDREyCGcRfZUCfbaEvoqcghB", "qxvpUcrlTGpwIQXRQtPkfqRPQZxMtTgtHNedUJXCothQabFJRLdTrBGCJbbvmyfNzhhCLMVRjIIWFHxPyRFwVPuXDXRYECiQRhYqrSUflGrgQKuiXmiqVIMZlPIvyADRuNQRfQJyZwfiVCOHWtyAZIpPfNNzJvqsrcBPrXommoReHhZFsaPnHgILmwONWLcexAalWWrcjOsopxvzogGDtuuTxNsjNSxwgFgBupXGcjRQUXoEgvkKGnvYBuTCdOQJJQzWBWjasXAFGBhvXAjQjivctlNoswuniXxnylxzyTETAueKcUCJGuXeHdQYWohuBWXtDiCzswRmySkSiisxKbtcYVOgqPFANAxUXmliIQkfFUgdSrArCDTdovJGFnRQGnrILFHEmcAHHuFIAVsXrJxWuHVwGGmcBOFhvctEePckTvJhZfrfvBObHVfddAXEAagzGhjUrxuLMTKwIrCoEZVRnzRhNBPmbpKoVftcNxQPLaiKAlSJonlClAJpqkbd", "RCMXIgXDzOBUqarZeyAkbwjURVKyTQFSiIcFCUXmfCqgdwUQyCoETNhMduJNLCwPtUnAqQRDXOtVTUUeXYaoUfesbDkxxHKwfYgkhvyyIptxerRwdVZrZhNFZUpkRdLNzDUbeCJpQvrDtoaVwthbHNTdSJWSGisnahdaBeXUDBQhVtBlCYATdEDEMqIoYKZBndhjZMxatLlYlvtNdhhNKasNLhwHXMlmdeeCTukRlDuLcHcyBypDfMMKPUDQygZyJTLLHJmTeyyTPzccmboULbVDIsgWYWUGhZoFKlPZIFDWiTLGUUGxBULrGRiIMUQmYHVVPzITjwrRvGnAdioNnfnmaMGpqJGpNKIhvvBpDLSJBFbyKXbIejuLMAsDBNhIpfawGmROJsxIEVQaJybowPfODAEAbBInnCNtDQrTeYZNmgiCWLhXNkCsuyzwYPRbrszVkTWWovdAOIzEAYUjkGdPEwQiqImrKVqegNPTvuGyadZWhoVPYEORhawDyDBj", "cCgaEoJtvdaEkhraquWLnWCMjjNzagQFMgOKosZtspgJUTxJXUGVgObEeBWbhJxZyxSPRHkEFxuyWJDFlLBMPmpUfdnNtMlseIQKuWThuynzsYSAXAdJzIDTxtWYQHeqKjjTBicbdLNUtmqITYsQlgTDBIvTkKZDxvMNMoaeeuJMpLtafXglBWNBylbpfRXUFHRYrBvQFxqTtAXRTgYtybToTTwwkVUhpstpQgzirkatLvruFqNJrkXyjLevilpSANoTCmYybseEMjSXIkfEmqGuGYuKfZYVdERMsGEsmClgNygmLndOePWfgDDnyvPyTVpfDnNdVyXITPukIVhHTsBurEFpvcdnjHCPovFEDdkphwuGdFGEfGJYaGjJoAjbGHEGpDIcFWXTZDTDSykDWEblyBBDSKsaFSgTniXOScvvjdMTGSNsYlRLnclsQDJjahzehQDSzXGHjkpvBJXxYEPzkeuuGEaMhqFNHhcRRsBvHxvVgBZIRpPTBeYPnbEs", "AoVjLDEweTlZctdAkJHoMPjFFsNqNULYYDRIAihquJYOLnGBDRnWIMCcOrVWjJKoSbcRiIgpnsmDOYuYZRVXEtIJFfpeWZBHVpVKIXseJzpnNATxVTULxlzoXcrJFHLwtuaNFaSopvQmMOZhUqQMLOXmYWnlyPjWFcUHixfMYLcXWjxfrLSIQVzPMQqZFylMmGSuRTzJtJGQwfGvlfNBUvYnWwuBxnwlTuLRbqShxBxWbPrZKxHZtUgcXzvvKBeyiQZeLWprJOvvINlHrXuTXTEHBaFqvRbjQSaJYequflsaUSYnOWpMjdVMfeFtnhNECTloaFNgJaWaIYFDqVlXJUbyFMwEeArNTPRhOcoWiRFdLMCkqAFehGTbTnsCrQwHRXVROdyRySvmsXbqnKPridplCvQkOoTENoTnCzziLpzKwZohiusutgTKUYPoTTZGKMrhsZpIHfnVREtvwaSHMAkXJFVafIwRBoPnfPYyHfEPkhnDdbioaUninBuvzwSJ", "nPWJXJirGQetdZZeAjWBPJotqhSvBuTYpWKWrNdYJPpyPjjuSBWNdYYAsxaHuAdQszkPTIyggMnFXyGmIOiVsChvnhYfoRICdpmFRGYcUfLAJWoikcBrgiuryoboSPrHOxAQUnlbHcTDxpgekhGKdjBbPIlyXVjtcrZuojxfzJiOkZcXHyJsaEBVKlALvWOYBWozkODVvkOBwZTOAdygAcGmwwzNmELzijckOXTiaNbWukSrqhcWuKatfXMuyJRsDQTPnCbFCarvQQUiSgYOUykpTdzZWiSKRMItXMBYgwgTyCeTBOLDFLPnDNQlkCIPjcGUZIRDvAwuTjVjrJWUduURgHVJaWwrtdoACwmeQNvCUBOqTxqNKeHjdDzTboAEpvZFrajygktQBJMimJqUarAtXwtGIvSkNVqpWgDGqrbcFTSsRBEmhQAkYqsoCHdXDurkxUqILIZkWqyABWJmXczZxyZtKdJssFPQNjJTWbovgzpyxuvDWUfirGrtjvdi"],"c_array_ipv4":["cTEYLqxPPl", "ABsPXUplHD", "mrGvUaDONp", "HMySynWQGt", "PHBorEtTEV", "OQOQmrRmqm", "gxHbkHsHbJ", "tiJEJLWAWP", "kgPoyoOzyc", "fAnhiQBMOo", "TvwXTGeCRV", "kxrVLudugt", "kcwjOWNFYq", "IJlGUaaWAI", "PftuXfIDtV", "HakjphIdaZ", "TEpwRDsrGF", "VFrKUbXyTY", "MPBBXBEkyc", "yonSkLLUDm", "eVZUySXWVK", "fClYisEYSf", "mGaDkVveEE", "KmMSBhRjzm", "KozTaztSoe"],"c_array_ipv6":["jiZjkycrGR", "VhDFVhNvZR", "MKjAyaGPoA", "CZWJaGDNYc", "hDmgeCZwwg", "lRvSMUpkDQ", "RZxNZWUqQe", "VCAgISqRQk", "bIDExUtgai", "FgLrnZStom", "PFcbJKpGZc", "ilXpzVrRIr", "mKzkbZRrFL", "hulvbsKFMk", "lHrJuXCJxM", "fwHzsfyhtP", "moAhYMEzXg", "jIcDHyXaqw", "lCdwtmdsUp", "DnuWIwKWiK", "WQHhnTephz", "MJtbQOEZzx", "DwtAeYAOmp", "MAUcVvqduM", "YPfaVeocPA"],"c_map_largeint":{"c_map_largeint_1":-6932890988022815638, "c_map_largeint_2":6715258867761957352, "c_map_largeint_3":-7987944342700101018, "c_map_largeint_4":6588006570351429902, "c_map_largeint_5":-3272717467945284013, "c_map_largeint_6":-5190792534778120066, "c_map_largeint_7":4598829101663840897, "c_map_largeint_8":-3742923096648688396, "c_map_largeint_9":635891524897923602, "c_map_largeint_10":711857968467727676},"c_boolean":0,"c_tinyint":42,"c_float":32.74291,"c_array_datetime":["2001-09-20 02:36:00", "2018-12-20 03:13:30", "2008-05-20 00:18:13", "2019-12-27 10:03:35", "2007-02-07 17:11:04", "2012-05-05 02:46:27", "2016-05-14 07:13:50", "2003-07-13 04:15:16", "2014-09-16 23:04:42", "2018-05-16 14:44:31", "2005-01-14 13:01:39", "2006-10-06 15:14:17", "2015-06-28 20:32:25", "2017-10-07 03:54:07", "2015-10-17 13:29:13", "2002-10-27 14:59:16", "2019-01-05 05:08:39", "2010-04-04 20:12:13", "2019-02-22 21:10:32", "2009-02-12 04:53:45", "2015-11-18 00:37:45", "2016-06-20 20:31:11", "2004-04-19 15:15:32", "2017-09-16 19:07:18", "2003-07-04 19:59:22"],"c_map_char":{"c_map_char_1":"bYULLDuARK", "c_map_char_2":"OzgrNVJOij", "c_map_char_3":"XmTxmVEVsn", "c_map_char_4":"xnDrrKjbPe", "c_map_char_5":"KanrwdUTni", "c_map_char_6":"xowgTBXals", "c_map_char_7":"yldKIDanJS", "c_map_char_8":"EVsZSRNaPI", "c_map_char_9":"RRBrPzBVvG", "c_map_char_10":"UyPjCuQQRe"},"c_map_varchar":{"c_map_varchar_1":"BFrAMzaImDWjRBDYhaNKGZDEIzFiaTnaqGxnNojCsPeKwUxmdbPttrRPdEtfPVAMbuAMeHTMENtSCnTiPNHuPXvcZyOxflGtEUbBplvjgsTkpbNeLJBuclGmIvwhTlUTcOENkdOLZAhWlXcxZIOIbYFPdsydhSnuTgVQnKutQGypQmrwRJiMURnXqBqclRpBVxbIfRVCoiMrYiFeYGdbAVjMdcfSNUxmxRQspasOPBxDGwUrzYUQQSZJsilCqFkX", "c_map_varchar_2":"UwbPCMrHTlHcIogpHkaLklvOxeJQGIkVhAaCuUpgECSqKGzUDzIkPZlxkusnMxrLDzpOcknddjjLPYQsoKiTjlqJvyRgzbDhTlAXGSnYXleDfjFTeqyjyNVWQNPyxgHcuMKMpVsFJRkLRfMRMBowgjNxjXXGhqTDGfPhGQgAmjuAEvzxBPQmqLIabKwVDmmYsYHLaySsXCFwMHomOlvOiEmppSfnPBlTmsuzohuUGolBqVPPhTFqMWWXrrShRBcl", "c_map_varchar_3":"KXYJWvQjmtLpzaOtJursXfNUWOjJNemKINofKJwZJWIaJkjtzPnRRQVNneYivhJfHgVxCJJEzyGUzkBBXqXQxgutaJNkOEenthDCBkBBySOkammKhdKkMxvGIFWyOVvINqnlUSVBveQuiTjvcjfIFfAtKqdKvjOfwlNKiAnnVQboRCtYeyMmYbvEzjYgfJuaBDxhyyVDofoUlcFuTWmnuhOfnStvQMwVKipmIughPfRCDuewCQytJYEkvcEjytee", "c_map_varchar_4":"FbGBOhMIdeWWAyARJBREETTJUDxAicIaKJmXKwYRrzIwLYUKkjMYFOhppoqdWtSGfdotRjVQKeNyGkXbuxhfUXLSajwBsLAYuimNEzWupmwyLQEjWxGXHAJHSShHzpKIlapMQZcviTFxexQTdViXnBzbVLjeVbDAwKLUuqeTiYuamerdJWDuspntNIDZULeFLepTLtpTmmuEwhKByHJGztyTkNhOOfuYDxKVZVJRiHKxRxAyATaMzKYagbOtgZIB", "c_map_varchar_5":"wbOwKFkUUxHQzMSuwBREICMuQCRkPiqXCAUtkYkDqFWUmDewZtJEHQLhbHzUcwbpgWNyPqaPcNAaLqnApbXUzumgcqOULgfElIZnJdelLxWMxoaNBfndtQNACiKxYzvUUEanDerUSHPQNniKgxMCWJCmBUvdnWraVbpeZGRLhcQuelqcXfGHAzBBvcazRroHiYIpdWTQtNMnNWESXKWFyWBXcMQKbItmAxzTgPjTyrWubWZXLrTBGSIFEPASBnrO", "c_map_varchar_6":"MqsySRXzrcBQIGsZahGlEaifbuthSzwfzrLhlRBenjwohYNiflaDYpQjzSzQUFDTRyimIjxAuPEigcmJuTjQEnYRFFWcrmKzjZSUvQtsfdChBSmvZsVAZpwWSNSaoiCvQPzCrqtBhVurgjjvZolxKBoliDRhkbjWNSJnAzkDbzKGsiuaeqhMpDySChDAxLubswbFdIzMOEdQKOLfVnfWMDppRtmSubnvjoteiprwqqNKZLqJUbqzRYNXZiCzZLCs", "c_map_varchar_7":"KzlolVDrZzpJDMbIeuhegPpfTwzGvLrNmGaBqbMzmFjehoNDEtoBCzxzWlJXKDyvElvnCxPuKaMmPMMmKQIExCkkLiRwopnXBDuMoIQddvjMxFHbzrEKCxQWfULMpbspBvfFNLWxytlpjqPaJSqrYwvGdNNEVzjZUAQhbHkgldJnyVWamiaDgnGgbDqKFJOkKfpPNFncoZdgQPyzzaELHIHTAZhbmVVsBUaMDEiWGAFmFjjKxUPaPdLHTQVUDwCx", "c_map_varchar_8":"jqNFcIdkwcXTHMAqMrlpUXWXPszPuOyygMCxhmLwQvFgXjsCcvHCYKytBQBJdvZwtmiOLVkjlIMVvOxRgFplIoXBNpiFdapKYpCbyPmHSKXAyBvwvpiiJkecxWNwBiJOWPkDpkPoAvFsdRONuBFVlwocRewiOklXjOCvxysSytzJbUJONuqauEbGynNEvgeOWLGkiOgxUqoGMHcSlbemMykMcyydEWMNnPAltKjuYPZFahLiValMPdtOJqFjSZVn", "c_map_varchar_9":"yEEgCnjTUcTepneAXGJZSUeFGRWKkhJGSkMtXTZCZIwpbKoznQTpammzcZMstrhyJHtjdgmEXCmKlXOWWIxEyuOlolDKmsVyCYcJxHvxjGonOPwsScWBHrOyuRGEZLSjdXeHqVTbzTlsWHvlOlMHaHxCbmRbLcVZZFcqbcpdambAAssBVDcJLTKJuZcujPeqKmjGgAHITtlhpWvSKZusDzcxxhXWZfTWtuBaqclhGGGyCCOWQwdvwezdhJqvuViH", "c_map_varchar_10":"LmRmrqwzkMgOYWgtmhvnjnHgEflknTGprViLaSXYGfbqKEYOyOtxXfBEMlqTeXAPFKlOnZuMcisktWGkdffanLhiGzqvOdrBMWAyqnzvAsFQevfSyeawyuYXMKqLNdCBiUbTTnmXRrJMtRFIopMUcYRmvgKvgfcjKgVLEWSALAjfkjQrEYsoFsrCMBkDZWJGlyLGGebuiUZgCTzWsOhMveKmlEgMpfOtWwGUlPeUVYnzawfbTlPuDmMgZNzRLltp"},"c_smallint":20439,"c_ipv6":"c032:b8ca:836e:d1e5:f4df:640c:41aa:7797","c_array_boolean":[0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0],"c_array_date":["2012-12-25", "2006-10-20", "2004-12-23", "2009-04-21", "2000-09-10", "2013-02-27", "2008-10-17", "2019-04-22", "2000-03-02", "2006-01-05", "2001-04-17", "2016-05-14", "2002-09-09", "2006-08-24", "2019-05-07", "2016-07-21", "2015-12-11", "2003-10-06", "2019-08-11", "2012-05-10", "2016-09-26", "2012-01-06", "2001-05-22", "2009-12-27", "2014-10-06"],"c_json":{"appname":"Snakebe","minecraftarmorpart":"helmet","nounproper":"Las Vegas","minecraftmobpassive":"sheep","moviename":"Inglourious Basterds","programminglanguage":"AutoLISP / Visual LISP","connectivecomplaint":"in that","pronouninterrogative":"when","interjection":"whoa","pronounpersonal":"he","hackernoun":"port"} }','{ "c_decimal":70.0025,"c_string":"qlKuqlyuMzBisfSDEpnfMgRjHmSDfULvWvdmShMQqMsrkZIuhdpkBOrOCgcajeNSMyYXfwZnvFQraVhzSZvLDZBbYNJlpiLRgdBgRVUoSgOratINtKYmtdRdEfcBhMvTTLbYOaWabtdLjDlgHdUbmAPdULfWLyKfMQSsJmsRBKVSOgumqOMclCyjeaEPqutpSOXtnqhNnJToTsMfUvxmlzItIKbeWVwwiXecTpnqlcAafuOkovWBLPigUpXovamkmyoZqEXaAXUHyknccXTploMnWoYptPujoiEFAbDIanGceThplXxROkLQpnVqzXMyaXGublYUIaQJiTFApVveBDtsIqeOWHEtdEaZhKQRSvRRYUhrRCVMrGEinoGPdYgPItSVzBIQgpIUbSauZQbgmgFqfOVWMIJGXbQltiGCTKylIjBsOHJWEMiQGCDFXeGBSMkMVziHnWzfaTLbMmDvRPrmqEurXrLCNfBsjNcBpEqTbCTjypOFiMmDaeOgowVl","c_array_int":[1705477227, -1688459555, 325564800, 1525701918, 626579784, -778357081, 194864511, -1787443842, 1416821971, -1792376596, -322837542, -1039406240, 2014797388, -595615470, 1687040811, 249683637, -1582484605, 1908776018, 764073044, -844322897, 1079005369, -1655934993, -2049406268, -1893859811, 1349258110],"c_map_decimal":{"c_map_decimal_1":53.1336, "c_map_decimal_2":27.1083, "c_map_decimal_3":100.0653, "c_map_decimal_4":64.0103, "c_map_decimal_5":6.1741, "c_map_decimal_6":66.0748, "c_map_decimal_7":81.0874, "c_map_decimal_8":15.1548, "c_map_decimal_9":34.1225, "c_map_decimal_10":22.0608},"c_bigint":-8491267252401382187,"c_largeint":251052715421804469,"c_map_tinyint":{"c_map_tinyint_1":-55, "c_map_tinyint_2":-88, "c_map_tinyint_3":59, "c_map_tinyint_4":52, "c_map_tinyint_5":-22, "c_map_tinyint_6":9, "c_map_tinyint_7":-22, "c_map_tinyint_8":-61, "c_map_tinyint_9":23, "c_map_tinyint_10":-128},"c_map_int":{"c_map_int_1":1034888198, "c_map_int_2":-986122457, "c_map_int_3":-1323843263, "c_map_int_4":31355211, "c_map_int_5":1701253272, "c_map_int_6":-407409620, "c_map_int_7":-2017546694, "c_map_int_8":887428004, "c_map_int_9":714460064, "c_map_int_10":2053567175},"c_date":"2019-11-08","c_array_string":["tuNelCpEVnBkPnbsZciDgdRMGkZYERrNsmkYhSXzTABOceyuYLRsWIGbykVzAvtDZNkBqlqloIInnlEIxaQHgfQMNgHuuZKJimAhnNGCMfRlbVHRvlrnGYYfbJwcZCgobqNjVTRDINGICAYfFwBywTbwzHVCxPmiKTNpqjLARohmUHwIpZEKMhWkBGzxDqPlaFqVeymWEvphNLPlcrBHCBFdioXFDwQgtnrWocMbuDlIExEDTUuBYMCCoNmTaqHuTmeQOfBjMxwSnWQJtxzmMfvzLxzSlABWwDINachMbxvwMKCaQJqnQNqGFkSvWOQtPFQbyKVYNjZFhLDzlHpXXVIzCksszfOScdTIbwfjJeBBBoQMCOFhrSUZmUPcaKTYbSVHJCFDgXjiWAtUguJwfjSFxgeosRlTREHGgUcxSzozPTlJyqQmyCvehTBpUFIFzIiADpYibpGLqwSlyIOnaMEZsBoAugPZaMNgQjkXpXAFcIoKwRubvLcMzcyEVgsP", "ocLqcJqwbaJsGcghAxwAPRcWWNaMKxdBdGoaCbMgUcBauGGbipFLBbICwKnCkPaMrSKQbXJqBfcTNWthnIwuqbJqYfIgjhPdtylJjjPkjhjHaKSkWroRnUCBaXWrRXUNBAVQmsaCYdTqTKTzWYIDDDKjvbyyogiGskXAItURfpGshdSKvdJUnKNcWYULhRyegzrddoOyPdfUhyHkqHZoIqeGBKCDDOuCKTjXOCWYuBiWMVqPTUjJFCfzheczfZEpGqVKnpwRHJBuuLuufofhfkBKGxvaGyLtVOPCDxTrmPAJHEuPtWKBWaIzpFxWNesVOTuBOHAPzauwISpevTzKndxMXnMIgemyFsAvfCBUFUWsisMlPNIhBFjJxkKqiATcNAiBzMLmoygBVaksrqOsvTiQZhICFuhlVyDdKYLAQSNJhzQTVPtozSmnVTMQrBHUENmiJrnsUOgQjgxOazhzrzfEhuDCUBqaSPpEjDpvvHKdiaAaewbuspyGUaBEqxKe", "UMEPoILNwSvcuoKgtXtgZXERfOBdoOaFacmVOBhKhRjrlQWEhSSBDvYOginZPKsxjirSezJRAzAxkbaetELbxZoVrFOoSaJvqwjwhAIJjkaSElWVWhVYOQidkVvzdcWtSkuNXCegCGQKsHlgGVPyyjmnaYcjJhALUrnTvIRBqXcnOFkjbUOybpWBsnAiZglBZLZHCyVVYTIBjwRqWydwgQbbJulhkTStwLXOMCkMlFleMZuppzcgqsWnBtKJYoTfXUGsRFgxPTXcEOscOTZjeuPUVTgDDxSqkAucTbkesEcBhcydZqbEWxhRYGxVaAkBqiEZWSTSarrUWMJPwPiJBvwTbeIlNyIupxcrFXwxcWOGLRAPfgrxDSCqHDVonIIYvAodiRAvuuWLacRarVHaYVqAcamLCvJpuhArBxFatGFVTFtpbjPHeRQiBjJSpPfhncmxPXmUElotrrxDcTjUFpQSSNrphKitZRlqWUCBWNdKrBicbZDOuxYIvTgZaEum", "rRFXJQUxAPoDfDFdJKzTPcfaCdwsQIHSWiLwWCcOOKhmcAAtfSjmPgyyAjKHrDGyDciOwMsDNoygpNfZGSzQHXSrQuziFmaPlWSCANZrsOhJSJdYmBXDPOmptsrmwuYQgegxGcmuSnuAYuiYXLHmpneyXZEDvDABoGydVdAhjQCeyqjQbMlSiQIZTjAomtdRMYJTXfCwpijioYXcjkGhrJHLEeMWTBDMEsGxygKEgSlHeOFpxAQhaHajvKTFbESPdPOANvfGpBPEcfrhOlmbShYgXJJwENJmjMWhsRVnYBpIhQhLIJJDQbxsAzqQNtVCtCyJhiSJIwXMgEiZRuBhmVJnNHHGikfFNnhgCXExTkcgpmzhjQuUDZGSElzcbTkVRsknrmBoRuTwwNmNDweKTbkczmYVkbgBYOyKSuJWoERmAgTUdbAefhxqHIZJsHAjPCLsyRyiQpIJBOemkxztscFZsnXNBcwQosNGcxkMbUfKOmyrJmbVoEbyiVCComvt", "wNHlFbFgJppeDajVdDbOJPUkgRJeBRPFVbTOsRQxUejibDUrUcqOwijCTcUatsNlbGAAnacIYexnrwqCpIexoaRTyAwficvqFCTIyXtUtUXgBKXfDVwLaogbRfIBfoxqKrideNyBhTsqYWDsVmQPslsRlrxNAKUEbodgjBxZVwQaMOyByeMwCeEcERpyZyUqUHmVEOjeRRuqkwnmjvHZRjeihLjzVQDyXusrLGWOoQELdpQvprTiwbyhWLgGwpgSWxbOKweazwFwWwkoHxamMKMlMTbXHUaQnemOkYrOclYgJRLhwADaWGSsGdpRsSlEgmVkrxbafdhSstFIkmOEiHpbjBcgiVHxTwBMjYpEVhADnCWKHdHRBGgjslgMvUbkwokUZQHGQPLcCHBePJqOpoCWjDWWgmiaVmUynXjykXFRyAJpmEnEZsAMuCxGOlLBdGglYUSBtmdHfOjMuoaLhzJmHyXaFFsbsVMCasBPYGblztlTtkmFwwujeizJSGLL", "dyUAAzGwPXurwKpQnrYvtDVAnuxNtcTlsdzxXMkgmFmXmFJnpDKAFycxoLgwCSDRjQWtBSggqAzXawlvwHRGKYYPZXBxRvjwViNhtHvasIpGyvlZRHEgVqDZsPCHdlTicVFsfAluhlEYhTwvvrZOldowEFAxOpKxxnbJhFQHBFtFQvMRWDvreHFeNIrYbgOaCoPXwQvTbwgzmXBuSOkjgBcREpOTEMACtXGjSUcfqdkCLBEUkbzeYEfDFfMFIRlRCdOUprMzXGTYmHguAmHduIhaYUCFadWIhazyjuQUCdtHEZuEoBpuIOLVcFSAURDWmFJdUWJEiFqohwwYReCTwqPZyAIKdrXEJvxwnOwCvbBZeDTuSQspbxTReuHKwySBsDqecauIpkpvzUwLnXqDmYMiSxTCfIMFcCdESOUeDFuvcnlyItxLfIwbUxTzxGDDdUuLpDbJKgrohhiwCaYVttDUKUqovCsTjkKIJdxUYetLbVkBYeJNxCWAfdVFKsno", "QfaYxablrQiRXoqbnczUGXpDcQuMzHAHVKOilLZWHgwkxMOVgBUIQlunfWsfDzfdDxeulQzjZsaqazyGAijHUvgtTJoEFBuSPGaUveqiDYyzGSOceudpWEgcVYQVstdZyZymZsmtwpAjoEHVAYNOJhkRNwmFHmEOVOWhXJkYtNYuNydHtgHvoXrfCrAofAEgWJdEXEIaLHcipoqMLeGlfANwAQXyNqmiLOUQkpFBmafSRRBskZyssXNrRjsYxOevReMPJLbmuCRYSRYXLBDoazjTKMMLuLKxKElFxcVOmtBCpfxrqcLMFWcyHiQqZaPtCRorjJYNoBmepxZwnOSbnqefxBZvyFcknjuzBnMvgnhDUEFfbymNxzgtHsCcgqiJvApCbvHqQMpHtrLbDnVVsieYHekUfFyDuYzKFSXmpVjbVzgLOeBKqHoxObvOEwthEfoXIeSRPQqjOjhcQPvswWgMuZqTuZSBRYryuWxlHzuuXrpIYDHlJVhtnysIvibG", "hwBBsFgqYrhZgxQTcsLISteeoCbmmwkxiRCFMGyGpgObkFZTcnDPCYYtraOgDyIRzCDINdRtUdCbcXPbBTUwEYGOJOPHHqSoXsMnNrPIlNKPdRhWbmdirMQmKKOkcOpIiKFZQvMSBVROuBtbInEKjUYFsfGJWtDHBYkclWNaHluDQXhJSoyCsMAsundgHGvaVZOTmPnorlCVKZBWkqOhqOMZbOneOFMxMRuRptsqSDQtGJFOGJxmAgKsdoKKKicVuNhSNueoFgVnbrvMBImsvwEcbvEAYNHYeAriqCgUegQCspRivhREEQvPfaujYYpqGDILIyjoWEBnftOpCNRYombfgmKeqTChxvBfjKYiiuexJunMmxBXGDKhSpaGpVtRkFaTNtjjDCjalbmbxkHCsDRQKahsCDaVRYUVAasBMFxFfDLUpwLqmAIfZABJrjWlZRmFttlENwPqQjZClQNGrJDXPdOfYGmwTNwbfqGorkWUTABMyGABOkxcaMjyWgOp", "LZJVyCURDAsCCxdYuuqkpkChALwCsywTMyCZlqknqRxpKNZMoHKaCVFouoYlvABrNRuWqeEmRIKyviuuUtYUFySxLidoCjWQvrsEjGbmaUNApmlMLBDEWUPqzkjfrLNSuNZgZgBjOtvqCqmLNqDysmSLeHtwoVNPikqIaflfUDysnPHBskdeCpFsQUFexsvcLWgKedSynreMMqSCwIHlCnzsYbNIKfChJoIxfadWlhldTiUbPJhjYHOsSmszibzzYCZXwlFBNjWZYwpiPxfbucFdTaaRWKhsnPejiacvwxNGgvPiLNLAEaPzfnghFpdzNLwoURhrOZGhubtNNemUwmBqJVRmgvLrMLkybbXFFeTRHpUdFbXtwBtvURqOQVLxklKkNuBwiRRjQGcxuaPxljcGyMTDtOrhGUApilrGZAaVccrOMxQqDVxcOlYXAOBHpvhJmxAttHxypDZIVXAEyrXcABKvnbsKqIqTDzNWuUJUwNRrxvdrlwmlohywdckl", "WYyTPkBOGgWyRIvmyBbMbQjqZOwCdTdmIzzDTjMqHAYZAWdPuRXhhUWWKiUZdrGZIFzcZXXCKsLqrGZvgqBjLhhTrHDsSVaGdFiKCFwZAaikQOGaAdnslglbMROHzCMrwqplxvJDMZXRKElelfPrZoLHZQYOOPAPFJDEbxWwGUuEMmrOgrNKeGwpfkdxGSRwyZJFKOEpVhVCUZtHnTiKhuyHnevTMoCoaSYfgrUTepilnmgYOJKtfaIMblcxtrUtoTqrmVSptRDyWAQWMmowWfCUnHWpDxIMOLoyptdvdQgKWreBkPZNegTjaLqTnqPFqmzotxqefcZQiBWrZdNscuqutRDuhvNzexZocFIJMbHDCOTybbCGWObVxQdCFzjyLoUwhUaZUhJNtmCbwzDAeBuYGvzfMmEmFRbOnFnpjJceeNKcvPPoXCqYGTToFIHaqiUeIueLWcvRpoHGKPlsKRWLuYOJCtqlLvrTPfaokrzPPlQIvWSziPUclPXVbHWD", "GPbnADoFFWfvhaFdMXuGGgZquHhTEEXOEXrOpxzMhhcxopBFyASQzmtOwXwvPUvahaqFXIKAXJnVmXAWVpfFykrwbxrtSvLtKeSyyRDcGiSNOmxCnfbhYwAYhdILeEbgkiREkBubtwSfSmMFdHuraVDSPPhnkXLpGMDntEXpWuFaXvtqUnLNqSrFSGdewPiDZcdtwjDJdctgqZiDAWazDlczRvAoDWfbsiZCvWKpzxZQYmaUHPypbxSbgWUxwkQAQAnpPgHgExIIDgpJSaoPIZzjVkBpygimNszeMSBUQgaGBPthYzGgOAxoxywjtpwfBYKBasKbjtnTgRJQjkSbfpgpOGUIjFxHnUUyApTWqITUoiVBVsIVhJraoCtJYEcwQvaXgntyYHroPcLPEBTgOCpFXPIOmZUIVxvaBpvWzyADNrpborWIoIbckNOYdhqaEaKPOzSKqCYyaimTBYtVBXQhzKjmhMrUoVWDBnllFXiTOObWPjkdwLqknOzNUlmf", "hPCQqcYpEYrWLMBXcmKqhPelAnmVsfpGMvBYJGHPrVxPRAcTsbYiwpQzQAItGCYbscdmAzwHRUsQJGOjHELYOTNpHlqkjiWeIEwiaZKUggXjrBCKSXlzlGtrjJwQphqZMsnnWZUNxWSOJRlIZZXgZqRYLoSgCYcNnWwEjmavXrsNFdMWKCZECKaClNMvKpuALNKiJJQMYkhEKwkVuSKScMcugVgEzCMiblKgbLCZqCZVgFVvlRcpNYXMHMOYUiwNldBRWBEEfdeXWhupHfJLkMNpDOuiiVwYSUYCsteRDFlGrlwHNytqqADYQrnCVTRucrxHOqQFUwnVDJldoanjQdfRdGgNVkgZTHuZeaqxSqpsENZuebsawBtxjZVOlXMEPVWjerQiZWdcUiAvfCxabSpfusdXwjpOMdJpRqjBeMZdfOCyISCNrEjotxFsaWsiwYpkKOqhQzbMEhnnjzzWzhChRsTNIEvJebiuUBJMHDlSqPjEuypYqtAgwGqDgRje", "eFfcoLbFPvnjDUJQICEHCvMTIXPaghSMYyafduylDzDvNXhGgXYalPgrPuGNogPjVxtIqTTpMFRUabNMAVBvGplioPDHilVtxxAMbeWidwqNXdCtdEzvwVZupRVQZHPtosOCSesCkFvZOuylyhAWIheJHoAxXaGAzMSJyOPBuqTTmvdwNeIPUkMrNTIIcWijnesiNArGyzsKJIigrSTyFcvLvbFgyfShpFCYzFpWnWOFEXQxjngsQwDjWUwdTxXMJVeCevFdTahyqCFkyUgjanmDdCeAscBvioguwgSJzflCIFJLSxFvNrUjknyOlGnuGVkfiGbreCcixGVCTucwGEdjJuzIiRUWMpSibEWHcrcQOOTWNNxMoxvGwHdtchMtoqyyMjFkfkUJmUGzJPcAuNZVTdGHSVxGOEVLYpedBgQSwXlaLwtMUdYMMbARalkSIGgRzoLOojoiofgSZivUDOhkPwjlvxkZSYpVirGqnrhHKxypBvIgxEKCVMrXuOpg", "NxFdRkIhYYzybRvVDWBYXlFeZgwUFSEUwKbouYOmJfDeclVPqQDfIDLcTdCwirQzQznUGJTMYTmkQnAVWxEwkSgXJeCgDdRYGoTourcOGIMqbcwqrfqWwfrNCUQXyXLsDECZYDXAKwUbGAaoDTgkuXOhwgFIPKfGWRKyuXCuOLsuSyeznDlUgOBUkKwnNLZdRZqJMyoOPAeIixwwTcLIKceLtRTbPUddVEHhrjqwWKKrQziausuBJNKsoAqGVorPNYaavkyYSgySRxmGDldRnCeigkhlqeZAososVBaUlqMtbmKufaTynwXneyqmcFSHecxmlJPxLSBxImBjjoOVFaaZpZhcbdCIQoOFujfOrWKmsellbVxHIKbvejdIjZrWCQsgJrVRWUVqAgbRRxQZIsizqRqAbcvixXKqjrndgrogvARZhjAVUOhaMjddejSfBQZeMaAQioLjnqMLdxwPHGJsJiXlgIfwQGgXHXyhTKFDPCcdiAPMcLxJogEizWsL", "PapbXHJFXhPUkAMMEGkbaBxcfSIOLDdCMJUmXZJjtIZypCNcDubTvAOgcVQfpRWWPyZxuCHDxbptrdSDOkSmKCVUtoTnMxRQdUOAGLXXNxPSuFxCyLfAqDZjauDWtWzcMijKimlpLwULaVkCiClKoGrkNWBuZFlrgSyfyrbDDwXSdvUsYroUWqOYMJwqxXbRfISrgWDJWQEbCLSGpZfjnUYZbaWHMCztLHjNNPYVxBPWnotnfvYFPZeSONeHxrDvQCulCIzczTDdZIQtOZsNrQoLFoOZOENTsqOnJhfNwRNxdHsDtCQshFekOIXgPDCWtmeMDBkSoGqjngxnRqemKmIrHpjauyDkGxtIgFYxuasCAgCyqaXujlboghCIUNdKyhczvhhlRqidBkyCVoIHxioqQFJbrPcqEZNDEcLlHaOcwgHBtEUDzbNfBUqNxCzKZeSjyvxcxymVOAyyzYlSeKLNvCtmobdlwYOhAXcSqhSLdVLbyOqOuDJcAvjacZGW", "sNljcJzdMUjBzdqMFquElTeFixYzujiQrUtTlVJmyrCHcfmkJHQOntVIDkWTseQinFHClvPogtCCeaBGZFibgUhpbskMnbKXztMCiVxZERNUwSaycKkDnZYjWGEzMhoptymLvDNjckrvaNYmsxWMEgTojSpIgUaLSLuHKoirXUvRjlVjemcQZkaDAmeCtWwaVyjNNFOcYgRdtVryETrahsposoFPbtOTCeVzXnSGifJnODqLoRMXdIwNfvQYnvfTGxOAbCzNsyPdypURQvIpbKFhuXaohcTaqIirTZtPIQZYQlCstcsbBEhrGrsDnRbsLyVxCLqIpDIYXueztfGoncLNsPVemZbnNJQBzMNhpqdXaCwWPUwfLPJxVIPUFhgAcJocrdwsUqgeGCcZReWIVgQyeiCyZLEdJRtegkrJwLLjOKWdmleMDZNKkQrdCdjVMYPXJyJlGJfKENduVhMruopRnsTseKCaxMIiQHnkskmnibGXdfQsDsinJajJzRxW", "dtVLBFwoHxuOqRHJBGIwbjomwszbBbcJaLYKstsDjGZvcfRUSlsRDsZZNfZqiUbPriEfpgabqevAvjoNXiHqyOIfGPXxRJtqMpJopfucNcZqrHmhUODFDsTAeGekuEKJcdOUkPwWDDfRHHxoWgkdUEFzWpCXczPpOPbMgkkOZAdmZbccIQIJpBmggvJLosWsOKJSbXPzzzZMKZjjHKLHJpfgTOeykVUyjDTYDFimqcSlFPfEoNXqhNhbfQUGbaTXkNFOzmHXBLvMPucmmfFAyJxQkElhvKFsCJRyQXFhDsjWchDgfLcqhUzJKhMIDFNlRVmdMEpqHXSFGiaTYyShKrDqpqiEZPFRbqpNJiabLLpjYRTxdePzgSinNObLbRRIIKwSqfBMPdlOzUTrrWaGTiMSKqJXDXbKDaHJHgSaksEANIebAQPXULCXHjwVoKzFxTKQBCZpDkbsHIzDncEPFmetsljmFgENJsXoYQTYBOwuzPVVLVQIRHpsjZhbraJJ", "SvPLykoPuyHTrJazPRTkhMlvZGWWzGpvrOzBGNVbrOLzzPlfstWahlNQpnDLTDDeZEIhrUyhHYyMYNUQVLbmTZWhteRjbIbYaIpvFIuhOEmGuTWVACixeYOdRdwfDEYOFfrTAeMhcKvBuqVkGRACQivZdRlJADoNLujBMWeYMsBBjKfhfmYGYhMoGCiJUvAkGadUMWgThcFvSwZqJJKXSormnHJzCFTDdjBydkheoqKudynXMbLpaMTFEQUNjFmenxNDvAkwRueIHRrUjvnuggNaaMTnqEAYQcoOccfldyCqczwgWupAVhAmMchNWqnLBrTbaVeJPIIIIjLqlfxlpQWoWffhqrlAxAXapyfOhJYyoeuDtyWFCyLAXovhOQuviSIkOWtCsmJyKeYpjsbsIYkFirhLOegzwyfQVyWlwoynQOjuyeIBueNGytMTZobToOeuIMjdqTLvXNgMpjGFyDghegzYWeVIXWQPgdRTEbWTwcxsmlJEIelJpSiGtxjg", "ODOOzooqTjVZwZkgtjnUHkFiilAQsMEmtYsMOPfVHvepoVRfgStsqmNYheqyeYJCIDnThMKJBTwrESaFoIZVTSDLubXNqMmscbuiWmNwRRMvryKWvCNbYvdfxmdQaYRmXkzkxNGgNgLgsqgXwKeXghzhxebjkfopxcvhkYgTyugwJMCsmQkweZWJAqzCdmlbHoUAFnEctJDnNAJeyTNaEbskTXIJVvxiNAXJPvArOHCNOYSaKblJwYnfgrzFufYjtiJhnkJVSxOuieJRGWSYdoRnzYGQTTTljdsjJChUWBJcLUikcvmaYJwmRffJGyoygkWQiQbKdjiZOugbIytbyDonuvOJoJMvOoTbHgUFUKMVHHQInRIHrLmfQfViadZVSvNPnuUTBeaDaobkRxlzHgXEMFKurPlpTTsPndoFHCNJRgbRZhgIUXZcoVtMQYDvZUWXEIdvbCFbCOazJkcfkKxcNHRsvHVGWNtSuhbDiWZHemqXpQWEEQaQryhiEAIC", "GZqUNlKyleZGbSsAsmsWozuCtdOhMvXaPnjDKSIaVzPxIXeQSPNMXrKyvlaYcrQhXjopjZRuiBAuvcZgjKkaQJZfEnTHgWawUwDflPszbtGwcVckbmBishbKyZPNrfFKEqjWQvxQSpiCIxvJXJFpUbckdBwzjjykOWOLPopbHcCpTRMSZqzmrYjdKjchSFwFHBwZlAADstuqfxRNhvbirUJLaeIZpCSUfCbtEqcGqUlyNPrfuWRGkTtFtTHtjoNqMdQdjihRryCQhlpakeqHDfxFwpVKqprKJhszdaMEHVREDUfzajoshxnWHCeGVrMTkzEMHGzKltHlZYgHBkphKpyZpjZsJxpiHFDNWEzAdYOdQHZBLUQqFeuftubKKRTOzFBhQODNhtKNcBPyJbSOZwHoLCzHEZcvwSgIyqrGNubhsKNuIhKAsnsgtotOktnivaJNKOoFPHcZmGSIKCneEXiQSQPhdRALEketthCzXuUyTdFTXhLTDiJhIobCxgVz", "zMcorcCatefBAzOsaHjQdLdUXsJwIiBcSZRueubxcYAvbenoiPBVBoHkuhRVEMBRxueBCCCUjJVYysNZXbrjQJcLaPmQEwLmQWIHdKPcUtqvZnVZcfVyQhAtEVTrQBQGrzYZUsdawxTcvVCckJGpeQKUHDIKPdbLAhrfjvymeulEVMqqegNwplEeiwTwDPlnSyZcrqlFwrQQDmTzTFnOerBLuHnWHHelypqCgkVrQENNzxWQEvRKloKmuWnMTvQvrXLasJhQCaxrsjTAdkFXNaYlQRzYUahftmqLbHlGgkCOUVsCmyxrDvKEhcldkONmOpfWKhNsxzDTdcvwuwyViUqhpWFNcjXWgdSTHxvAQniupRbOaBNJGUKpBozbzdTSvVRYsUKVqSgHuytaZRajXRLfGKtEDmKyxkKQEIbqOmatbXTzSpoBBIenWiySLOzWEdvdhijXIywiwZRVLszlXLmDiOdmYLyJCbzrknPgRGfToUJxolwfaMURkOdmSiRE", "eKqYTVcaRHbuTnvMRXlQZjUARKEPXwmtAHVhhvRdwaHutaYyiCvAgqnvYdHwPihRcRseXddIcxWvmYCxdHOPdeiTJzRJnfaOAxUpcBFqmiwcbxrYzzNvXclCONqsgXfXQbSbSligTmeOOqYhfWOQWcwHjwaZJmqrzBvAAsjQUJkmabLUacVDyeTEHCSiZpyhRpWceRPoCALXujpNQGBhHtGCqGyUxUhPWpDFZdTfUiRRMNSQSZfHYJJYpvFdadWNrxCqFQcAlwFhwyofeuUmHeULSxxzwFRGuwGLPOktvJgLzepCIMQShdMMJchwhzoEMTWJDdWNuRbyBwErlVzEUGxABDBgCQjqrwyqYHqwZadkyoJBQNiavBnonYRRYyYdFXQQNdLWcmXabumMCExWpKPjrTkspyvmbFXVbvUcqJrqGkdmtojUHZijomvJveZDBfADrdtrlEZRzHYXNGrTqHDJolchYslCjaWnaleoJJIMnPvdvBCBTIEnSAaJHgGq", "DxYdAaAieKARYgadwRRIzvUBNEsDwGjRqrTAxbGZNSKihapueDDXpcsbNKlkhjJvHnqZVytRjJqGaVgqZlsYxTRCSzKTZXzrYOzXvtcaMnbeJhZXLpwGhJxpechHRVjSCrwBLwbbXbbLRixcznPjcxIHDuiokMPEyQVOTMBgsxbOCasCPOcTawiAoXlMSnABLDmYQRhoVwQYppdMDLKEZFdYLnwssuWNgNgmAQLhNCJCGhmqcLKpCaqKTBPFKgQimzctHIBvUbIXCOsnRRSfrhxEDHWUvefGzSJVKzkGxEkSBNhScRMgOUonbzwjLrOThznkliroOdvEMKPwjOtTNWPaZkNJZwLTyxuETeOWlcSVPdWYGeYWVjxeDAGYpqoQBomdpCkJbDNnOwtyGTZmciifOhZnXVJosBObuoFjrSiKDcxeUpfGzJKLfMPoZcpMwmPVmhsxSOPZshRSKnoUwItgKuYIxYcAfwvRpeiOdDQgKSjdYwQqoxXktxwjGIRK", "NzTLhFUOjgXLTatFiLpkAzFTtWPPudoIohEmPiLRxzKmdFJKSMmXekcryyVGCCAdWwsRWXDGLkEPQDUhNPvdqYDpmDqFVpTcDHlCfjcmujfvqcqrFJsolTISIZmwCowQXAxTUFCfJdDtaJkjTvfoSFBDjdafXeFpCidvIBueAgvRJIzOwLcOhpZqyUrjFTlbrBtvnUfaBMoZiDtdORnwXzEUnisvldncMpoaSHLVXGBqQHxLBTIlVhGOnznhmgtViAQeYdOrYIRGPTMzhWghDyJfdJNFPezzjitiKbLsUUdxUpyFszAFvEjwhitehlAvgziUVMWFwsfyKGNxsovBqtyfNUDKcotlovMLKGEBXJBJyLMRLKmCfmxJImdRHicyFBUJxrwoYtKzJcwyRRfNhrqdFKsfmvvClLanxAfXklwHCFyMcKhLbCPLHEEgeqXLOupFqvSdQIJgSSmzuVVrAunphELiwcwNUfRuqRhuDvbLTRLzONOsmwVuPcczdOxB", "WHTEHfhMTaSACOIBBZPOszyTHFlGyiNVWcpkVXAoTpXHRwifQaSSfStURpwfIueUMspkfiHtEjRrzBrtOcViYgPzNWiHXrpLjtFwQxRMNHJjSKcxNlYkFPOBHmGVnvqtvQfnheqWbMjcKHcAJjOVvnKhdLbmrnNZgbSzlLsMkzJHKmPCDHUAlbCcBoPtgsSeIXgePMVDoDKmFnvXXWLoZKaAEAsxieYpTsNBoKIRzstmenIcpcbyubZRpYtISGkLKpYEDHadACiiXdLnPuUjONJYbyXADKcEVnECGfXaueHXCuSLpztUHZYwjyKRRfUWwCISxFEHeDoUUhzOnybMCmtbymTchjJUuCYtFJdMIECSzcToZkMTSmQVgnCmbYBjhUZBDQSolEPABVOvHnGWMjDVUhfcslCNwfkSASsIofyaUwfHbXgThnGhguIGJMTIetaxJaobLxbrnfjbvhlcGQuDlUFsSplXpHNAClgHpAXfduEWmLapZYRcHQSBHvQv"],"c_array_largeint":[-5466180537034396868, 6881900618226451241, 3576173322650683396, -5093697973175297027, 5381474322932974666, 4691430547414608864, -6576008129266239352, -3510982098023788737, -8349213241265388243, 7363913406691417459, -7649478218060536319, -5412592433772561229, -1971672797308434500, 7832965718738473968, 8827205016949412423, 4422821297527249738, -8631226112489500917, -6587001915595293802, -7549657932290851565, -8886997510559428695, 6035876815218265599, 6227959264741362154, -8559395291501243026, -4278944739598864980, -2088742346448325569],"c_array_ipv6":["fUsvkUpyNq", "IimUzhpSPc", "COzdWRKpAJ", "DbcFWkvmaE", "vyqlMrIZSR", "BUOCsxewBc", "yEiioDABuk", "jhvLPSLwaN", "CasLcZJivb", "kfMjBHUvoU", "qIDSjvKkIm", "HLwEBzncaq", "UiOjnIOQMG", "nzVQNeeCxW", "ZOXymbMhBK", "vzfKVtOmYm", "zsJSvjQIdO", "kRUSqDhJRH", "CuYtiQoZXK", "oAnLtqBPkS", "guSeopaHyK", "piIKzshTrr", "xwjhCIfXbG", "WSVEtBXpqg", "CBERdJTOUN"],"c_map_double":{"c_map_double_1":3.259292742067836, "c_map_double_2":87.86179590551933, "c_map_double_3":33.08070294021951, "c_map_double_4":24.5895532900509, "c_map_double_5":66.83812166037364, "c_map_double_6":83.3057663904955, "c_map_double_7":43.40484085695126, "c_map_double_8":61.11845004048562, "c_map_double_9":59.593768928168885, "c_map_double_10":25.796578541398752},"c_map_ipv6":{"c_map_ipv6_1":"73d8:cc46:5b4:afc3:61ab:7177:371f:686", "c_map_ipv6_2":"7319:fb45:a704:9035:dfd9:2db7:ab81:f9ac", "c_map_ipv6_3":"c595:e1c9:2aaf:4425:7244:c035:1786:3b8e", "c_map_ipv6_4":"5ae3:fbe1:67df:1dd3:c0a9:65de:46aa:8ae3", "c_map_ipv6_5":"9691:190b:1b15:4051:7e71:4a02:ece9:32c8", "c_map_ipv6_6":"75bc:db36:f744:cb35:a920:60ab:8bf4:8272", "c_map_ipv6_7":"54d:725:22e0:10df:1aca:aad9:db81:2a21", "c_map_ipv6_8":"9316:7b3a:e2e4:a9ba:de8e:faf4:f9e8:2a5d", "c_map_ipv6_9":"1bc9:8ade:c09d:4e07:86eb:9ba1:e39f:11f4", "c_map_ipv6_10":"f8ca:10f:44d0:a994:42e2:841d:92f8:8f4e"},"c_float":33.7549,"c_char":"gvBWgWVYyR","c_array_bigint":[-1563299091098080960, 7667672877218084309, 5765745435257506321, 502401848130552236, -2663786078289303672, 434185566919981816, -198028136115578112, 3366839605303997415, -9013775967906179121, 749508140838209796, 806010186127110887, -8452950769348077965, 3468972965308310531, -5814883126171476375, -6150047192439488050, -4183488266699471641, 5269270789642615856, -3677076036721598961, 2373000398671361673, -4224689183225581225, 2292382650298870933, 256601425762225547, -3814700992377005501, 2440714484019831825, -8974741545694805329],"c_array_float":[52.244022, 26.279743, 72.34498, 47.016136, 80.58194, 35.81547, 87.741615, 31.800467, 77.08041, 6.8120046, 27.479092, 32.6474, 97.956215, 95.80871, 76.60663, 0.66511285, 11.843485, 77.38663, 91.14421, 71.12355, 92.97991, 89.320724, 36.87528, 81.29918, 21.856714],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_boolean":1,"c_ipv6":"d69c:aaf6:5cde:be08:3805:4f08:5ec0:7999","c_varchar":"i","c_array_char":["UcIfjCMQAd", "zpwMjkGAoF", "eTJGzUStrg", "WJNvofHiNS", "jqNkxwuNQB", "BhSjhmxcXX", "hSdiGGcCIM", "GkSFTFoDuV", "EFgvBrDYiw", "czjYbVVppH", "oXNWzEzlrf", "vpcXqviWdW", "XwZtCxqFjC", "kRKOEKkXUw", "LmiPJWOKeR", "aBpmNaMFIF", "CosppElcQe", "HxNUUepkCk", "mwhBRTnrSr", "gTLPPEhtUp", "CYINbuksLJ", "bAZYpjvoUk", "mEVbXDAWiX", "tDDcqPPtFM", "jmcPGKgDiv"],"c_array_ipv4":["SFyetHyfeH", "SpAQgIxKTK", "EsycwLRTlI", "NxfjBmpEXV", "xMbzLqmKvw", "FaeOhBIsZG", "bMYkDVaDnv", "nkybhxgOcJ", "RMKnbWdpPB", "SzeCFzWRqY", "dnuOuHWNUv", "hfKrWzAeWW", "OvrwnVuirS", "onDfQtRolX", "UqrDWdYFhR", "FsoJQkTNYM", "boUyUrAseo", "dQgibyfhSO", "NRithDYfaI", "gEMrhYaAYW", "UwkgJxLVqO", "DYRxVsxRdz", "oOenVSBYYn", "CuUTopzyZU", "VhAZHjOTrM"],"c_map_bigint":{"c_map_bigint_1":8635485312115093976, "c_map_bigint_2":-4391640374336884826, "c_map_bigint_3":-6117143358070344077, "c_map_bigint_4":7686523520125069098, "c_map_bigint_5":4072910449245889507, "c_map_bigint_6":-5123243972407182013, "c_map_bigint_7":-8669983880914347981, "c_map_bigint_8":-5623125175518056922, "c_map_bigint_9":-4704619007235945966, "c_map_bigint_10":3370825043454078552},"c_map_largeint":{"c_map_largeint_1":2480918135443458039, "c_map_largeint_2":-3220466606594935739, "c_map_largeint_3":3963959646025423811, "c_map_largeint_4":-7877131439319869868, "c_map_largeint_5":1254401428071573250, "c_map_largeint_6":-4642778490167585236, "c_map_largeint_7":7592826691105641464, "c_map_largeint_8":7574790737212622338, "c_map_largeint_9":-1195969925166470456, "c_map_largeint_10":-3303706286493825262},"c_map_string":{"c_map_string_1":"AvirbKgwvCLTAqLzQAaYLsbZOufIBXZcKBDIMFpHPYuYeGfUqMqhBKbVhHoPmvWOHngGENrUsNPdCGWDsZyxsCGxhTWplyoSJNhuAgnxRUeTOQcNibCIVkBWBqZYMhdyXyWwanhwgcoQHnwCXCaFWigXsNRXJIzyZVnXMsGgrlnblYNGUFvFYzHkXgpkGktanEELspgGbFxivQDAjmPEDEJWSsWahOqEVXlJlBxhysLqfLkEjkUxDsrZCczkGfemRJbBgjnFIsABtyaibPURrLFnYNDDAKMQTRkfyvPGcVyLEtxLdTMUksxSCnbXyTqEtCZBqzZwwqxmXbdEbPablxHnhzOndgjHhVszxHXhqIPjSDjyTrnBwewuvzxLkJyvOdLtXRWfxocZBSZlkNACGCgWBXycofWbSNEGRveJvYtfmHvxlXoIMWfCWWoqkracwRgRzEDKecINtmyZtNwvWVLlnlrsQeOXMOXUSOefIOXUjOZxbikxYHHBhfZLKqOx", "c_map_string_2":"fkNOTYuglzllsGotLbRghggBWeLzHhQoaQffwyVlHxnWasYLvHrMEYAkNvcOjxxyNoopjLTFrbUCkMXYDEALAPozCivBeehSTZlcdpetxtHpekNLSHRYiLNupqUizvBsVHHhXnhaPxgCrHdfVKkDCvffzKdwWpsEGjsfxctmYvccWFkUrnzHgOOtRYZLPOTUvMKKVnBXlNXgMfZtAMRvUvVtowomGaedObZFVFeKTIckOxmwblcYuemySPZseQOFIbvHpQkLEpBtAYfbuGWQPjYkEReGdCABkCGoivglnwXYlknKAwtnvqLQSxeIGhRdbVKPrdtdJecjugRmwUpZrKBWNACAMLkMJoHlquidoKoyFxdXpQWNGJWTRBDnUBwPElvKJEjtIoAtayvOYoybwohmNGytMCeVFtYToHGpBdYgGDPeEQTFxVsMmNnvPCugEmgKJfCGSjlurhsMOQrTqvPRIHksVDPnesnmWJjwRGRmArcqmrSVQrvqFYrmQUwh", "c_map_string_3":"FCiJVeMhIewlNHQbhgTRkPNrWvjLZiyQMYQcEmNirkqYYQtyvGVTyJicQUHAOdLJhagguDdVbDGEjJEKSXbTDJeldWZxKUjlKvrQKApEWTpwpgJbCMANSQqeibzBFuRoIlvGhHTKKJvyGkNZXUhfNRFsSlSIULzqlSnTLDMgoHuAjTidgNlsDfeRANocuzSEdrwwnuDcBYtjweGuVuQVqYhInRBZpsglWCPFcdXFTxyHQwIyqSAVEaECPAFTUxvGVszrARPmepazkWDCdgOsfBPDApMKhunJvkYgNGHIplLsxkMGMKJnrtABemBwLYgwjvgjDcwSnxeBmgMHcrqgeGfzHAJLpLpKXcWyaRtqBnRyeMnWhyIsxRyOJSRTopxKUeGheSHaaofEfVJHYgunhqxkRaueOzSsTjCAlCjgeVhyrzxvsfzHtRltixUwSxhvgiaPjpPFWixBkRzfhuStLMpANlBMQCzcqnimvbbekbGUheZTdwLGuZcSRhVoOXVb", "c_map_string_4":"qhaNINUTwssaCmgzhKkNOMktdJrQEWreLwFzAKEpFBwGsvRrFwAhvQYOKIbXKEmSnsMDeNpBKeqakEhNXWhwzYyLxQhxYhMNtUSnpmrsbhmybrcjoXtDzxydgOyoYyAzdPoijvSOYeeZCoSHSBodYEiatjOgbvxRjtyKzpuHMUzKFURrStiDAXvsfGCUDnWvOHwKIDGwklsdTaNixgpspbpgCKGcfcGppnscERnXSvXKSzysjbUeYplvBSZrdJoHNbniTaBwKBOpZCGOXRnblZnqPeYIgAnwyIiyBCekXAkbYdblomwtMLSTzwcmWqQtBLUZWojkGNAQfhBlQaIKdobJrAAkoHTGlLAqqwkIXVaFGjsxeOPgPpgxsPzkuExnyZWmZZuIYAPxGIoNHehKaQIKktVcCIhoKFIDhIKkizzynOTVFEPxoxvOCYtMZCPgopcxCUbdmzhaRimiEFInQzduqTqZqBCtXhDhwknLmaQVNZAfHcZzicqBDhGWTRum", "c_map_string_5":"nFHhiPVoWwgFwZmQaTDazPbgfvUBOTFESlASOAKwQcecfqZPGLUAwGNZGfDrHYoGkQwNcnnpeplcWrbcGLINcBHyEZArFGQYdyXjGRYVaqXEhdvBKnAofRkHzbAPxMzgLBALcLWRGmAUMFzSVxPKaFVgLnjsPNjHMLRkLjaoDXWkaEoHlFcdEEOsiGstTojRImTfLIkwuWMfmTosFinmnzBsfMGQSwpEpgKQHSTaAesJubjZtkljIdFgulijkXiQtpteOVdiemIDSdDpTbSjZvHLUQYYCNFbODKOKLTuqhJIpgtbfDpVSmiwvrRMhLuPtOWTowmfWFplAxAVtAOtBWziMrQFbDtlkEPLJvOtAbcuVfpoEWUSwpAVdveOkbCEHcjXaiOjgXvrkPMizJGxllSwHprvPrVWlBatOedcnxwzQegenQvXDGzzmVEasZFHUWkqIdyadaFSkWTkyMhnSYBJxTBVmXOvpUAdPTnhzabQuQfRTlpJmbfATYqErWJE", "c_map_string_6":"BDLIfMJZnQSjSdUxqALnAFzovyMewKjsuCuofmbDRpiHzSRYoFPJdyPgGvJkKNLHTsTRHSelSjBKBNCVsrrxNFAPTfWEdYUcNueBYLzHKIZwzZrDwMAfmGluSVdpjBwpilCxAGKqyXhklXtNNYimqsOzeiuSTDwQJGwfTXvnMvkjADrOWnGWAqmnKrHkvEEhxMYNVQPLHgfnQsPggtxypDMJXVVPmrNzPOlBDZgCuqjIxpksyhWlVUjqTzweYvPilqjBsrayrMBpHJtQsskJoPEAPxnegwvpnAGiCXMFwXOGMFNIgWfXboweBhbMGgWFABbVkkNnPVvaGGWaurVojXXlXZuJMlFmVzZyKXWpMKSgCqTEhiJzHcvEEephxBEExjDLVAtzvyBYioCrBviCiPBKLLtSBFQcKbcvKpXZDVUZOnDvPkbxYvDDEHCQDOFUTSYAcDruCOolPlhYtXhNwBXcmaVKKFhfQISoiNVaIyGXUyWDJwGAoRBbSKjHhyUw", "c_map_string_7":"MZMuhIOvHUficgtFhfojhJZWZBjBpGoAFayvvzFHdTXRaDlQZaTRRHVkwExKMVrsZWOjFndcnkRjOJqgplwvTtgPghCDfuKLLWJnOhFrOuOOIuqbYgaweirjtrIWXvVcFqQvNlvJkkWyueSAVBBKeiiXDqMDuuVuIadPFrtkzVzmwPHyVDngZwBYHiNyNuWMJdMxRrHqDHCDURTOAbiSNDjvClmayGwbrpyZahslVADzfUgNpErUhNbvWsqPMwRiJOyLgRKfWFokMyrYbKtSSWjCUNzbnXkYpkFwccgjViLgdAakhuPYjXETkFynZnhpIVuNyBskCNZsisQLTQFPviNkZmUgVpZseTtAQniRgITwUnjdgaSjHQmiPalQqRfVoqAUEXzFBDKtleUTlltoyumoZAdFichMFdkNQQvpfSgzfNBcFJEoLJyvGBoXkmghoBycTBIfHKTZrMBIOqXVQoFSkGfFTgVEVyEnDFrPvkeZNeFXNFsyGdhNVFOgBFrG", "c_map_string_8":"YYeWiRuehmIQENKLzmSLdonaxqsqfUWxYOQJjscAryRTkuZfbYUOHzOyZOWYhfOUgKAmiTsnwHjDGGIDZQiOSNVVjKLzxrLladhSWTaRwmytxwtCuvviCiovaCcYoiyRjKaEVYytIqTjNAODrZOQZIRvvPSCzZYuqwbKpfmnYjRJQIddAxOqOQYoDmbzNGnflMRKHjqhGOnhzxIdWaTKYBWopKaQtrALeVbpHRjHqgOkvKtXfyKkJAILcgcMUYdyPRdUojyeQyIyDqnoACNRQrFnRrLlQWWedrDLqLLmGYnRteNRYvvmnthhJdTvBLIYsvudXwFyWSuXKshBdkUaXIJEXGzDJfilOpwNJRwyGRBbezhySyjhoPrvdBFjbdkRiQvXSXwrYPeedHmqzwZQErhuqeBObslSTfCPratxiiKgllVlxnSVwRPItGWagebAjCBZCJpvRZsrnTzHpJkHynstXeePclPMCGfzXkOpdiYBihbtwCODysoMbNwgwaXF", "c_map_string_9":"sMlJdvdtIVqUmZzinmHHfALXEFphjtzKGPOZyHhCuAowUvkWCtPNMLTpSkkxEUkNcSZcapvyIBOiiGGWRPhpOrzbOLUIkhObXVpqEMdWodhjQgCsPvJckEdEqBjtwyyBVIZeKQJkbQafupkQvBCXvOfdeNtrpOlxvGHnDIJRgaCPLzmhncQtqtpnsuBqCGqQehuaxPOqtgUysBohisHLAYkQcXZAYgNQNLrpoZEfriycxcHXtfXLuwKKGRIorHGvqShOjjojQFqeGldVViAMwPyRkQthuGwSbVtWBqphrlPTNcBXLMbszGXLbxadLSiCdruCNcULAOHPCryfBjsqfWRDwHRHlGcbQHMrEsFvSHemvYSMeRsMLapKpdgmvhELuoLZrAqQauHELOZpimCxXFCffzgajFizizbTpDinVNvgmcZUWNWXYZbSBagYPIikdYJbGgrKozfpINMURaqtwnVbEXXDSSAgvVFbXZKMvAKoRZWPHzzhUZpDUDjclqPc", "c_map_string_10":"YiUmnQETFxlLLYdtuOALUUNZsSCqedzcxhVNYhfQKBqfBYGZbLfsiTIwyIDEegFUgekjGViBoHBVIEahXMlhWekpmQKXmlXHyefmJwoANcZcmhwBNVrhLgbDkCLjSOdHtaIvYxVkzBajRKBnSIBDCFciNkdIUTnTvYIPWLUOvvmoIFKYdgGJoPgaJvxWsXAFDzClFSKetipccNpEQvfuzqIQiLEivGJJnHNmppPYmlkoeiEHetZtwZiyzshErJIRSnJteipeePYKFBMZUJHrfUEsVgmbEQfwOGUzlLJSxRwbgWPjWQOLbDlvZSZxYniVhLHfrpgwZHPTQQcKTTUvqbnWtEoQTmHsqkBNvWKKoKoaFyXuWlYXPmoGXhXjuGDnIwOQjUBZxowcnRnNofAClWqWECzzdfDESzZIEnxVgYCwLoMrJuwIxskvwtvSfxETFeEIvBIqtSZoZILuAinCBNtrMjDuKqcQcWAnHfTKBOXeWLbyTeQOnrKKcTfEzTQQ"},"c_tinyint":32,"c_smallint":-174,"c_map_varchar":{"c_map_varchar_1":"nTNgklanOIdvSgBznJFNSzexLaVacuhFGzXYThCDCSiRzKDlADLZbsQxJbSjeBjxRoubNWXsOMBklqhynkmFdFlzOfkeNkLMxslPiVUAOFeXUYUlAYxkLtYTFITSXCcpsqbGiYcFlgnvgNfSvOahmFbUYbersBNdSLdJltUbxTwAgTNNJmPWTQYLeTNtyCKaStsXMUiiVSsxdNqhBpKoJzZWYZhcNHIUSYrrDHlWJsXhbGrARusgJOZcwjxxPpKi", "c_map_varchar_2":"wMbDsdKuGLJYhOshWtbjfNuaqidHPRVEeyFxaGGWlcHeBVnNuqhaMHiylPwWBJpCmAsdvfqJuPqNiaRYRlWwXvvjASUPwInFIyOxGzVFFJojUsVNulvardHiclDkUpRTeCwPZheACFfnHbuOFPKLXUWxFGAajehhIROYJHkAbdNSyYLLlxFIoJBfVhvdtzhWHYSszbkaUviRRXfFneohTYYFtmhjfqhpRQpBOdedrMGteodLgNghzeTRTSZEynTJ", "c_map_varchar_3":"SyreOjpXVptSSNhbwHGEIYhlCjjctdvfGRZOpIKxDUSbhGyiISILJugCnjTnoOjRcrIRINIvPuNKHTDyuoxhYRphFRSBzZpjyFKTPfQYRsGhXynvVblKjdhucznZGpWDFlBOnrdMChbYSAshkXXZHaADQRyczloJLQuYPwqAmzzxUWSyLuKGlDStZEiBvewStYVqpWhORJkBDnIYmaRGqfQUAmjescTUfWeoMIqUQrhYvknBMTbJcZUxrakLcEaR", "c_map_varchar_4":"uUqkeLFSdcYkfSWsMsJTUZpcdwfyRPaZcTcWMHudCvdgBqTDozIMThbttaWRVKzxxZUntMuCrNvHpHGArfbVPiTwEpZzKRrmyTmYWnUoQtNvEKIuzlRGCGchNboLdYPfrRGvCBMGWffHEJVLIBQEnLpeioTrQCZyAUWyPCGVoyVZDLTYNFMgqADVucNUJDiUuUEaovzFxIwkNGsMFyEwszvHaDGiYOGmbFVAovpVaqwuwOgtVIepWicuagNAKclx", "c_map_varchar_5":"qlAtuxeoIoJxpoUqWXEsTusnXFfkBpNXbGCWaSRTrDjakAqBhtfBuvsftWMwCcqCCXutmAbczqKIKSARvngPzHVDfKFVDqZelzpPSQHZdfktWaaQpBpQoaUNpZbIXrPbPrHrhcuFGczLzcOGKEuDhonYBFFymkNbMFCViBSbpfshFhapFDbmpASnNrHobVDlddsREgFEDHBWdTduXomOqNHPTIcUduSjDZxhseiBQWCCNglUFCAThoXnLkYllCIK", "c_map_varchar_6":"oSgPsyekDSAKnauOdGcJRlMDMFjxxYXnBIBMxjrhDwYEYMuJhGLaAGKPkJhQnFzedsPwPfuMhoRgYDmqMBANKTQlNzEXlXAUHhsMyYqOMaWvZoybXGUEAvYmuCxEgsJxgsYxdLxgazqcSjfOjYYRYdMVxzuWGqspBLHOKHVWEYiRydVvjUafBWpzQaHMbRrgDlpkaxVKMJObyiUZBXeVCwUlEPQvKBrgahFmaUfwNsJiCfjwAdPMgKacWIOvbZSy", "c_map_varchar_7":"clmIuAJURaiUyIJXykNHksGhRbahAcVyWuqrBnajJVpaVAbHraIwHBLRehvTtDZHtqbYzOkrxqgqnmwobqaKFiDKQafyHadXfOiOHQhyUeNzgwaNXizrKdjqvdkEUfpuYPnQfPkxBQLbVPAOyNjCHiVQCZRtavMFkbAQlwfABeyqopRMoZMzkLfmiDGHeJgZgfdpPwgzGzPVIKnuJVCGUQxqtLnyDEZeSjJsJgGVzrggBVELqyxSzlRNltvIuBbO", "c_map_varchar_8":"DnBUyUAFtTxoiAIgfuiqUhWsOaQMVtmXbxtjSMfNDdjxyltBnfWgWsGJVXRnpiLiWucUpOgOyzqxwAyPxgBTWBHRydUwEacVgWMajNokxhcSeeRFlAfwBFdDymLcnoJTGYHCkuhoVWBMtVgeTanbTHDXzkrBnrCbDyiquRUVbnQvUgRhoXBATOZBiRfsCxmqBqKiLjdVbjgVsTvrmCcldTfuiTocGtgYjrbNdDWTBptyaOBuFLNvKBVjqVXHWGGs", "c_map_varchar_9":"HnfFoplMbeqSmHhAyvprhgaicoZftzXYJwFrhOxhLIzhnFEJoHtmVlIrZTnmtCmAQDtUcsLQILfZfPVEFSXHkuSIBmtSSPlVvZhvpnDvicJOdZWtdCJAGYYKUdSfqdEDBLsYzjGcTpBNuFCbBWZYRfJGbcaouJmfmLloGGikQzIxMWPUqondCRSPTRaJOkFpJUMpjEAjtPJaXxlULDuXyBulqigoPmFPnPWknamYyCnorRgTxqoXGTBjfHPEAnpk", "c_map_varchar_10":"RJdeAsmZVyghRvbbCdTHcYZlKrCxiTpGnkPJnpmWpTTeHbUlWzjwTRuieokymmpWMxSnnwgMlTqDwruLJsQjWUBKhiptXAqyczFfwVIXSlYOjmognWOTUrWudtEsmVpXQFukswEoeXjrxZufqitVILbkEDXJItGtUWQTcxFFoxRoyujYHnifzKGmgpKOOcvqXiZVhOUIzCcuYuIkKAptzdtzHZrcBykSKrnzKfVvTbxaMPyoChoqVkUMPywZypAD"},"c_map_date":{"c_map_date_1":"2012-06-24", "c_map_date_2":"2019-04-06", "c_map_date_3":"2015-03-03", "c_map_date_4":"2009-12-02", "c_map_date_5":"2008-04-25", "c_map_date_6":"2001-09-11", "c_map_date_7":"2006-10-14", "c_map_date_8":"2001-11-22", "c_map_date_9":"2008-12-23", "c_map_date_10":"2005-10-24"},"c_array_smallint":[7418, -23848, -27702, -12931, -23296, -17528, 11010, -31570, 22406, -9239, -28534, -23036, 11274, -2062, 27033, 17136, -13721, 7236, -11169, 21856, 23039, 5975, -8400, 24154, -4393],"c_array_double":[39.09778380843165, 82.58885487806545, 22.782893337689174, 49.954279115401164, 71.46809628920481, 36.74554708446474, 49.72125571838397, 10.427089990506143, 70.45034032910243, 7.4716451298438775, 60.009223299507, 29.768712157893187, 32.411486500148, 4.11144540387133, 6.821275691341054, 46.71709493391676, 68.02045213019703, 83.31882916558524, 66.12439026392718, 41.44481362004095, 24.663032274130348, 15.945250668216792, 21.71552399934705, 90.635732330738, 41.24093398651974],"c_array_datetime":["2002-01-28 09:34:20", "2012-11-09 20:03:20", "2000-07-14 10:51:05", "2005-12-23 04:39:09", "2003-12-08 05:54:00", "2017-07-17 06:38:25", "2010-05-11 20:24:26", "2014-05-19 10:41:00", "2016-04-06 17:53:19", "2014-11-20 13:39:58", "2011-12-18 23:00:24", "2009-10-23 17:21:28", "2011-11-25 03:35:36", "2015-12-25 11:00:13", "2017-08-14 03:44:48", "2005-03-15 11:56:10", "2000-12-15 04:16:17", "2016-03-28 08:26:29", "2018-03-23 15:26:39", "2013-02-21 14:55:26", "2006-11-20 00:33:34", "2007-05-11 01:25:01", "2002-09-13 09:09:51", "2015-03-19 20:10:21", "2018-09-12 12:43:45"],"c_map_smallint":{"c_map_smallint_1":-29320, "c_map_smallint_2":9194, "c_map_smallint_3":-10153, "c_map_smallint_4":21325, "c_map_smallint_5":22535, "c_map_smallint_6":23269, "c_map_smallint_7":7871, "c_map_smallint_8":-15118, "c_map_smallint_9":22137, "c_map_smallint_10":8778},"c_map_float":{"c_map_float_1":49.501694, "c_map_float_2":27.645119, "c_map_float_3":99.119125, "c_map_float_4":73.81602, "c_map_float_5":89.8352, "c_map_float_6":35.65699, "c_map_float_7":30.710657, "c_map_float_8":35.19702, "c_map_float_9":42.459934, "c_map_float_10":12.492133},"c_map_char":{"c_map_char_1":"CyxxkkrLWK", "c_map_char_2":"rMhckoiyIC", "c_map_char_3":"niMyGnRrMX", "c_map_char_4":"WvXdKtZVvZ", "c_map_char_5":"GhvKTPPySn", "c_map_char_6":"uceBJBpGOu", "c_map_char_7":"QsMUPSpLvA", "c_map_char_8":"sAasKSgFNd", "c_map_char_9":"UAKRKFZfsk", "c_map_char_10":"bvKJPaQGHL"},"c_datetime":"2008-08-16 10:17:02","c_ipv4":"133.151.208.140","c_array_tinyint":[68, -96, 54, 75, -60, -20, -9, 64, 65, -119, 67, -32, -91, -3, 91, 4, -21, 6, 35, 95, 86, 94, 126, -49, -20],"c_array_decimal":[49.1275, 38.1843, 15.0095, 71.1810, 50.1202, 88.1709, 23.0430, 90.1645, 20.1063, 24.0286, 3.0541, 45.0428, 78.0867, 52.0919, 59.1057, 24.1487, 80.1026, 21.0408, 75.1728, 95.0230, 15.1366, 16.1506, 53.0977, 36.0206, 61.0897],"c_array_varchar":["BYjOsiaQwjgQOBPEwIbCPFtuKLExJOJBFVIAzpzhJfiPjQrnDgRczHIGjAFxMsbCWskxxfVSHLImbNyUOtoWozfOXAyGHcjMcvkVOGxNKBWEHNFxRDDutXnMQqaOOqjsLKXVnKrVrKlWZbgpJSgexGiXCqvWMwJZEbXjaVIaolGQnaUertvmLQKGGtQLLVfIVFFOztlRyhHtcnIsayQZttUNubHcijWHoBjstSQecpMFrLCuzJoksWCIzdoxLKrl", "qhdHwFlZVtCDkeSjjSXqMPBvfJaoKRVgrOcWyDANzOBVJumDqXMkpfelzHzAkHqORYisDlBZFwLfRyOIrxWxNfNBEFzFMDmqktvOhBGvyJYzDwKlGZiCSHflePXGqXTfnKlteDnverAXwQMruIoZfvtaILxDbMBVpVPtgqtHGvoGOsjbEQNKAoJZuPrlWSrqkxEMFvlKrBaAyOdKLuRQgMabqsJoHQLKuDQukmkNUZLJlSPhdzaGAiNsEYotgxDP", "qIWPuTlyiNUZlVZXKSYiyvHFDbjjVSbNnzhNjvLtYUTxIskcqcoHrGtehLrLQtoRDBkznOyVzbXIkhxNdIshHINtcztvLKyFutNGRJHrmOUlIxmsxvmRyUcDgqHUeqtPsgRCOXLwvSHjeUJFHrUdmuTuEfZnObJJGtUGEmBsRqPKVzGxwDpkEJhvXaETJkXdvuapEYxDaAiLmPhdyGLHntZgpQTaXcbRpzFejHiSOEfYomXQvqHEUhjInmPUVRwD", "GoTnPkNfYWxhYDeDUwMYmqXRRBqYZohcWrsNGtSizTGWxTiwBHecqfzCKEfdkAFxvmlIxwPHRnYGRaUNBrMhCGaryyozLrTPUhRtFPQUuraPlIyMoMdTQPymhQEwCNLqSjsUAoCplPODhciwhpqauIaUeOyCAOCamkAdHSmkagXWhtcceShzoiJZydTXZohsLYCiyKqngtDzidZcdxFIkHZoNpKsuUpGjhVKkcHDHZzkQJlzujJxBZlyAHpLhMfS", "UpFsQuDvHcAKheszycIjssSPVLrekNHEfApouhaawDRXXWBOTpQpRtgFYZWMETnZFbrzZadinzvFISQPOWaSpbmWCGsThxHDHNEEqhXStFVOxlmNsuIbpuLeVmfhdNuMGjejnTinPzZVkcaZIcfTdDGpxKRVgAjZIqpnlojBqzxpWHnpozEHPrxQuHuRoedTuVGImeMKDqxbKTnsYNgGoYneYJDiElLLicncDiFTbeBhLtcIeayryOrABkjITKXA", "yOcmcxdHsUXSdbYCktiQKdUpxVKVTZSlhTZAfBlLFjtepUftAqsNTQpVCUGIgwYNoIhBKpLxkzamvkDXGUzoKfCEErfuadqrNcQchpydvNZhhwZKbGGYrUoCYHIsvoJfLhWXUAppQueprsImXtsAISAKWldsKwbnIhiUPokYPbwYrvHBAXNCjBpCVrOXZdUuLocpjNBZZuEpEXMZwTAFocUaGEXurphTglDeyADjubkEJOQhLLKPStjYcxcSBDRp", "lmlGyuSxEkgGhszJjnfYqCfPVmNsVHPxmodINUHRZpaZnwfFWqknnhSshqUbksOdDVGREwZEAXCqknvMWvWpACXwxcDPrxQXWkDNrAAcuOszthgYoylCcfjeIMMGvOVyWmvaDIqoWTBxzPAnvOdNYiwzvCIGLCNjQlsDlxJCCcffGWTIujQrCMrGzULXrkvrAHcHKMUBrrdOebBylwjALecAmXljFrdUwGTXdiEitHOLQeFwmlyarBufkwozlCDS", "JExwElTwxaMOUmLfGFmOvblbmbTsEBUSxZhikfvLRcPiKUsIJSeoEickZwAcNbiwoqltpEJokuQYnthtnkvlarHcNrouZfUaCSmzKlViPhjklpQjdIXOPIZsFsNvDFSgoqYoPBxmUWkJXQpYFCUcRHgyxRPDaOIrDRgimmzgpDTtNhpXwiWtDgfqYHeCilArizSsgsaTpWMtJZTRkDkvSzMZUSDKtbTrwpHCbvAXfdzTQszSzlqLMEmFCrMrTkIN", "cLBmbrjKZuTWqRomQULPOfWzCfCEyIbDPAXQzKDdzXeRnQnDMZjuuqWIvldnPdLIctHjCzxjktFpohcAybAtqPjCSzHOBowjjcyIzXfLTpnUYrIpXYDXoipraPoBJkgjQDFsiyUyZypzKYmrzhQloSTKUuwBzzLPWhqedVsJILvxDLjOmZhZxnoPVIgKsUljrmwXcrAKlJugTeClNHkGIfYZITwTgACLNpUCzxLxKqzJmNUPnikQakmZxAVffqpr", "TMTlxrxcQCevrhqZLUsYyENpjCRTtiqawEqmKKZxpcneyltftLmQhxLPqUjyVNaGleNeRrubhQuKsvduwlXGjRwhitdxBayjiDSslFaAqojhuTHGrEUOcVdWciDevxCBXYfoupOiCthJElLrHKrPKQFpwIktxVuswCOXhMEEyPSlggRYmViyHTslnmzhQmVxqeukQpPrSALKlikrhVUoHqKWbgZFKnISQUqhHdPsTEeBxWjNNZcmyWvZVYCCxiAP", "kxtmeKrpuYfVFSFVqtPoKhznVxYfDWrQXhrQHcfvxFAqyPiIepWZolCBxDptRMnZisXsZzKzEbvEreNOoQGoZEdQfSHMcdmWtJvDuTIHtvUtEZbEWhKFCkeDUouQQsDSZwmpOPMLyqeTHPkzLMTOivyatHdGgnbQsbLbCYvSvBGXsUAPTevVrVKnYfroBHSCArdivADgbFNUmKyeYmVBhtywFDwGNvNyCePcjkVVabqSBGCMzBBpfFLlTHGZIYtB", "UZSZyqOepfRQUhzpiwkLBaRlzOeNgbZWlVaFSDcBYbXhpFDxjHrxahZHfCWmDpvwstkvjDAeJtDKKzTvSOywnQHqywxBXStewGaPSWFzCRxWBGpbNYdEoDeOYUVtfWpbhXzIMZSqAJsfWglFJmINoAKMlkbBALEEmSzwRhWTMMqxoHQlqBMewWNpNzNTYdZkZzcwDrYGcSPDVGtdcbscUDSNKNKUVeQeOvGWNoziqIpqhdnzLqhzCAgHFcQtGTdk", "FycBQZJsBwcgKRYzIeerJJKyatTogXZNAYPpDINwVASAfVzShlrvbaZjYsQHNctVNFNoOltLUYuGefMMilzHRaDRYjgCMtrnWKUnSEPqAsXiHkBegiBknUyyzBBHYlccrxcAiEQHymiFMCYnlEqtOGrPnTFpzlNPYrJgJlWhnRmTQLdWmTCZonJJnsaWsZWRhRKxNynAiMLDpceklxmenCoGfvgNLlWWfbjSSIUrOdvjJCizdbOZdVDfOfoLEvgc", "ZRbNREZrdjWhDsgTwzilXolOKZDGqybgNVbyrHnZRQIHPLsWSkURzzQPjsQSYyvtuXjdoPEDmTwFNJcTDBgujvPFDEDjoZgiiOFiuzuURjPSXyGDWwJYgulTFdfuZkgnaSzCvzHnJTOBdrObsdCvxsMyloaAzOqCeWGzyYEBaKvyTywTvIeKccssGyezCqAYPaPZSgpVxfnrVrQqvVOPtNGGmRnzSKxBtDZtoCupPXFqSCEMMQhpJnFswCkCRReP", "zhHuUZVKJEyUhgUPOTzPrHrYjtzUXUlYGeCMGdiJcQBOSTeEktdFjLfszsjqajuTMLHyPVGGSqLvkZxLwXHZoJtxOElxzKOlsbojTScDlLYguAdnzSkqFCVXeGKzXIzFemdLxbaZnVYstkfwDFSvMNuwRzyDeqrxccmQrspRkOhRrBFIbsWuHdfzXDJyAlNDiWDTyAJjNmwMSkJMvuxTAuaTiMXuzErvOqWiXGwUJoQAckFejvMkfsIGqZOfsRBE", "rTIVaWjgVkpqjRIXZgyuBKhPJuyJCFTMMbqyCOASdVwusObrWZnpbtwsVBbpGhBruPVTvWuAVUAiNZsoJvXMuwdrKkksykfbpocLAFsIXNFGGCOVOKVbwaqyeMGWUyciMMWyseHzQIQviXftEvRMwpsnBGbQuVfsYNYlbkTRwbrxjEIPQpyMlQcwcFbglKcOstSNLrOXzzQEgPZTTwaIRlQmJgeXxIbnicGRsomjQkNGLaOPqYrsxaJrUHWLYTHJ", "WjeHmXtGrpdjsnUdkdOHBmzgPRIziwgwNbEjKDKFEuOLBrqmSxbkiWKcKalJXJeOIiOkvsnRlmeclSPdKzwIgxAQqMNFGjpISrkLhYOCWTEdMMHJHmfGhfqgzMxgnHLoTMkqzufgwhRBJfswRtUHJpeNLsKRsMdawwIMUWNfokXvTuwuuAeppewNCGbIMfLtIaJjhYnDpmeRshYUjfOUUDfxwclcvjmrXAaytBmWepYqppDollZItvoncbAgYMLB", "uXCIFVseAoHnVTjcIavHyqqNcnUZdeNspQVxOBgsraZMjVsyQfaQskAKhEWPZEgBDwREBgCqdspDLUllmSMnewsZlurHesDBglcDrNKRfKDCHCnVoXzAoRibMXiuzZADwGhoQEoKesCwplZvRKYgCNdGNMfMkQtfJIvbwxIWAelkJLCnyWpYoeZPpnzDnHEXuKBYiaqWQeczTCtxADQDujJxpxtlTJuYQarVZyBdowFxZiRmoEvANsoPcrRTNjCV", "wrGinzFaDEDdDRXbeBUxhquWapzPspbjkGYyggdCyEMECUSDPQsRwGsxjfPcgtnQiyAnNWHudQUsJnlYkYGpFwuMnvKPGKVKsvsAjCLxaoJmefQqlwwLTXGsQtpMQpIePxfCGBgloOMPsglUFYlYHyEGdlXZZHKNsEJfWBGLahHiYWwerzejxoNyRZwVqBsXAFaKRoPRHdIpshxkzNuxKVmJhjomFlmvqospyjdarCvqgzgDpGxHLbfdAQdcqilZ", "FCgolkZjTizzNjGrXdVcDfdBjDhVGrvoBTJrWQlPggsmDmlkdFSVftyoiyeHyQgPTJRxugciUPSNQPmsEHkkfsjbnOTwAtlCBeYalJOcXsCLWQWpurRLGlnpUorCPaTyXtCyOZgVrYpMhWXxrHLpHVYsVDckcATXbFTMkKpdziBEIZLaGHqNVfLDkQNzlXueqfhISPCTvhHEqTlADPDLzmZHcSnkmHmHzFVcdQwujYpbMyrPCzhmyDeAsPaUacNa", "JrAjQBMzsOziFxkrlvlkvyJCtSInqJqYJqzvNASTlKQnOeyusQbKozZAqiwIYCdtyczkCxLsAjVdQnhffxofOSEBgDDktLnimKdOkGFYgrmUFUBcQPZnTHojgDWFSciEdnucpYGBfnQjmZyjNAqgTFCOgBLgRSYnrwAHytHJVbkKafnavndnBIeohTssmvlhbEZhxotoKTtNZtohhsJchEobxLCRyKzqLhKwgktQyUJOMnXIufaUYFNsCowRLZdI", "OBMiiSXXIyixpdfFHGutEmCBcNWHKFRYZOTFyvdqJDTapeFGevBITuJYxqUSONoMVbdtYpffWOTKRUcuzALkzajrxvxWWoHmTpIBohkzuigkcOaCgcSREsbDzHAbxNAHoaYbJalvTlSFGjtmiNTFiBvDZbagRNrbHmUcjTzKXfGNVDrNEMGtWJNmAvgOPAXcYIsJWDgpegIrWBOEnoDlxDFZcDmMAwWKMQOQItZoGPWuCnmediPKQuODiCqDWaug", "uRAVDbkhxhJuCKyNUrRGEqjPahMgdvLCMSjKHpbqsjiPEFVYFWuxXbtaPOVWNTPxzBwyIqDvHdXSzUKWJNDoYIPRpvCIYLvJRsaJVuFNiKrXzpmUCGvNBcDuzTLTBTzmxzyzxoRjjeyBmjzPezjxRgoeRgiMiDVhOakBBMyRxCVgSProRiUjClHSYnQzUYGCmeOnNqPneHaLnOAthznqdYbSNoqxlathOChLUYSKtgmMicaTGFUlHruuPFSeMSNF", "yoLGPXjmxOCtIIXMprirtkhLQEuWFHxpZlBqcVrewLLXgQSXAmtCSsLUgvhpEbhjQiXLnbYRdWvVLGCIuYATNfSfiUVPIWZVAZpIyffSqkLjAqOjXiNgZcMXvYcHkiBVBkHTTehWmZfXxZsgpnBcTgPLnepXiKataWGUuQozWEYUdOonVIpnPSOXTzFmdFdrThbNLxaogUnCtMxntqHAEEgaEMtPZzmvZbjVpKZmKuFWeZVoQdLzHglwBNOgJljk", "WYBWhLhxoAZYFxaEsAfZCQXKfCNpbeaGucQubwriCRNBrerxjeaaOXSaBaVjNpRlBTWQaTCucNrCrILZhnLTDxYPLwrBQzFdjCGMRIdOziEEIjwiHqldnKLdfbfWLNoIJpiAnHbRNNBPnxPMnXqTTOtMjGdfPEpsOzcRMAypPGysnReBblOXyoRqFaSofvEDaWGARPFsyBiOFsirRpcYgMlRPhQIqahGgfBEGiDhGTsrIRfLYZzoKbyBAZfqeabA"],"c_array_date":["2019-02-17", "2003-09-08", "2005-09-12", "2017-08-22", "2001-03-28", "2010-11-18", "2019-02-12", "2018-07-11", "2007-03-15", "2019-10-02", "2017-09-14", "2011-04-10", "2017-02-22", "2016-02-27", "2014-05-08", "2011-03-26", "2010-09-06", "2009-06-16", "2012-02-18", "2011-02-08", "2006-09-03", "2015-01-12", "2003-06-20", "2004-02-18", "2005-05-01"],"c_double":30.726765415024815,"c_array_boolean":[1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1],"c_map_ipv4":{"c_map_ipv4_1":"9.214.56.240", "c_map_ipv4_2":"9.64.46.135", "c_map_ipv4_3":"198.205.22.18", "c_map_ipv4_4":"204.76.29.178", "c_map_ipv4_5":"16.65.230.114", "c_map_ipv4_6":"130.156.243.249", "c_map_ipv4_7":"241.80.242.158", "c_map_ipv4_8":"78.152.252.214", "c_map_ipv4_9":"215.90.31.63", "c_map_ipv4_10":"14.132.234.22"},"c_int":172226665,"c_map_datetime":{"c_map_datetime_1":"2012-01-01 03:05:28", "c_map_datetime_2":"2007-04-06 16:50:59", "c_map_datetime_3":"2012-06-06 14:28:45", "c_map_datetime_4":"2003-03-25 23:20:52", "c_map_datetime_5":"2011-01-26 00:09:55", "c_map_datetime_6":"2016-12-16 20:13:28", "c_map_datetime_7":"2011-12-09 13:09:47", "c_map_datetime_8":"2019-08-15 12:09:54", "c_map_datetime_9":"2017-04-16 02:25:38", "c_map_datetime_10":"2015-01-17 08:04:15"},"c_json":{"drink":"Juice"} }','{ "c_array_date":["2007-08-24", "2016-09-21", "2017-07-20", "2004-09-15", "2009-08-10", "2007-12-04", "2013-01-28", "2001-05-08", "2018-12-20", "2014-07-08", "2015-01-09", "2013-03-18", "2018-05-09", "2016-11-07", "2001-08-02", "2018-05-13", "2003-08-06", "2011-09-20", "2006-05-20", "2003-02-09", "2019-12-24", "2006-09-25", "2005-11-01", "2010-01-18", "2003-12-25"],"c_map_int":{"c_map_int_1":940996411, "c_map_int_2":1307887933, "c_map_int_3":-2091373154, "c_map_int_4":-638559492, "c_map_int_5":-467281871, "c_map_int_6":-1037687757, "c_map_int_7":-912044130, "c_map_int_8":1233425374, "c_map_int_9":-1774178552, "c_map_int_10":-336037396},"c_map_varchar":{"c_map_varchar_1":"hekzkkCYNYbZENbqJrgLOPEqwhhDKAzTaIWOFwMlenfuKQMWqvJlkCcfVYdTNWFjdaYYXjVSAKtZYYUJfFhfSHrGkWQKAdraCmWoQNfyHQOHxgCZJCDrttMsaPtrZakRmptvvbpkXoIPXOrPVkqZnJOrPEhOAVznSqrTWNEqduQHyhntDbOCxYqFKvjQhiUzogpKNgERVBShTKQVrgNulwyABMlBqJaErAkKFornQZJgVngeWArcgxSeOOoxsRNk", "c_map_varchar_2":"JOdYblIRdBeNeQEuQzFUcbflTtfnqGsrlbmHXhrTLqLxpuBihcHIeSKTLqftwzzciVeELkyAOgQFtnBrdFDCGbUegAIciQSnGpLnAgEQyMEoKmIZSshEXndrdXazBqgEwfeNUvIRraWGBbZqpmyTUsmozzuiChgfvlOqpHHxiztFWUJKpLlwgHiAQsSjnQAezmdpbhSmTIMXqRDLgPzFeVmonmcMCxzmZIuQorUuUAxlnKpJBrQJcaRGmNNOLeqd", "c_map_varchar_3":"cZvJKqsJUSjrzCPwEQlmcTOqeCwhpkqdhWlFHqDBwMtehSRcwmFbAXlZnTjrDsmqYPJqnRXaFQzsKSXGHOlvaunamqrQviovWxltkMCzsEHfzTsWLnEOqUuVMkKfbhszLfJQIsvIkPoIrTHrwqXcStPxwZaHWfwNpWZMVqmmyzXnfSdcccMkfWZPJIuNOtVjymmbPeGuIPKWwivLYGvKkDZiePdZNNVoVRhSTUPzOlnCsQAKhqqOBHlXnyCrJJtt", "c_map_varchar_4":"ODFpnZHBwCAauaNLXdviExKxiYAbHzGhRLmoGeEaKfeNFZvOKKhFgQYpSYQKpBZvXFBFYAdjYSPymPmRZMDuEUGOsFpnFkHSZzebgOVTvwiMQyGPzJVRlxKpYTfXvAVfeAJyFWCvfXuZNTMKGVrWatDSZIEocCJlrlKnboVqCTUOaEetJKGHZXrasHgcuQNoCCpOcHowpMtlIPTRTWfxhfRUeqnSEyoGDBALBAooqGUZnAfEFjqOryZYQAlHTUIC", "c_map_varchar_5":"cxSMaTNJBXgYCVItknbXQmLzhqKdLxmtcjABBeGTSgCbOUsMgRVsgomSxOSpewHBCpkqFbckqBgvZCiRgNtLxogJjydAdGcbZmmfmxBChleZtyUgmoOWQkaAZZbafIEyaSHnwByldUIqaQCCTPslsHMxJLZeAyuBJawZNVVjQDfmngcpzKRuRvaOUHJmIwoKvkCwyhhitkipQtdlqKjIRJEcpVIKUnueLRYPyQxrbedseShHiFAWJUqQvQhsCWXC", "c_map_varchar_6":"ANIVFrpndpZhoHlmuTwNoMWmcpZqTbbIWnjSRnFCwGhoUpEcEXuvFrmgxlXkElltqrxAIKDtMJDoCaJwvbXmbWfLaPJhUeKcplyKbwJppglVVZsxCSSppkhVIGTrhuggpWQNdNBMpzyqsVilRPMulovNOzbgBHLaOMzDYvCzcohOmXaRFfJlbVRUhUYWdBYTuRiLPcKmqtxvNCcrZbTbYYYEgTpwhUpnUDSyIcdkIjIssmmSkOZNuqmZPksSUqbv", "c_map_varchar_7":"fdrTNXNTjbtueIoLhAEtHPyotEdlfdwlwgxokxoepPNhiVEDEmldFvosKXNeNmmKmeJGSwyqjYdLDZmcgImOSnYzAvYXyFOecvWTQGFgRDUWGbmkGfOcvXAVbnHrXIxXoorfqJiaVNxfHrhTEEqdhellTeGsZEIGNvBoxLWlNiaUNtGOqAIXKEXbnEHwWoVpEEUxuGSuCzbQmMFVEHxItYvEjPpYfBuEKRJMTwqaJLBMHgcDldqLUaJLJmSTuQBp", "c_map_varchar_8":"bTHivvyniYCkyrUzqJBvvNFhXmHcZQvWPXhdeQCuBLxrzxbJIzbPCNuxpiqIUHaBaqfbCPxBARdrTLPHqlkUQvPcosYLCbiGivKZqpOOnKbuiufYTuyvvVzuOcXCrhPNGBrkZhHmuXwEyfwFRTvShkWnttdMwUaQpDWRAxKcbhAeBVCJnHshQIdnbAFrknfVsNDctfIHHUYDgUSvSMvgIkiKKlsRwJFUFxTsNVoNGxwOHvtvSYDepczUSwOShFgX", "c_map_varchar_9":"VgQyjFHtHjorXkWgcfmyXMOyiXfgWmtBOAvmXBLMSXUwvczliBFVoWnFvasiemMOgVjCNxRweVVbxaRokIQroMYjCiRfIVrhksTOsoRlxcHwOMeSplIFCyxIwfHcBPilmSQrKXpWZsijmmZQcqelZVfJJPtPxYljABrYbVPvMsmFIoAItpoHEMSUFndstAnifiLKQfJEKhFAkrtUtEpQfsnYfqaNzEGXPoyUoMrtJXYsUcjUOzjrOlcsRNMlBuQG", "c_map_varchar_10":"aAYynyCZDSboAgQHqIPjxMNRXdzfUFIZOiuzfiiZGmuzfeSTOaSCcoYUwrouOZDXNiWWnavEBubveNeDAApfMFzMNRwVkNOaihwqXsHWuSZByMEGSApPYAEaRAqnoBSWRfGWllszsWSXdbFJPeNSJHXHTuBkBVlLiXtorlrgFNgOKVCeYjjibOoLzmucbdsjzACUwHqOTZBHRucJiXhurlPiSgCANHInZjBSzfkwtKNovlSJsTydkQzJGuYcEciD"},"c_map_ipv6":{"c_map_ipv6_1":"2458:ca31:8b56:172:3250:20ad:6a06:976e", "c_map_ipv6_2":"377d:3e64:f9f3:9458:de67:2eb2:f493:b262", "c_map_ipv6_3":"53f2:fe2d:429d:7fad:26ba:6c41:3f13:c2ca", "c_map_ipv6_4":"f81e:b305:4496:17f0:248f:54b1:9dd9:60ca", "c_map_ipv6_5":"148a:8964:2ad0:f183:f95c:896b:35b:81df", "c_map_ipv6_6":"4f7:2d56:eba4:f479:f99:d0ba:8d55:bbee", "c_map_ipv6_7":"aa67:5c0:d96d:fa5f:d374:34:adc4:2d19", "c_map_ipv6_8":"cc0f:151b:1d69:cc5a:af93:b75:50bf:94de", "c_map_ipv6_9":"3690:414d:4360:dc5d:de2e:3ee3:c321:3145", "c_map_ipv6_10":"757e:3db6:48c0:765d:d8bc:531d:d2fe:4fba"},"c_double":12.325465158917607,"c_date":"2003-03-25","c_array_float":[79.32868, 62.636246, 100.091034, 34.537766, 85.22118, 80.239685, 50.33399, 5.5160604, 97.601906, 10.920572, 93.404945, 100.59182, 34.49663, 68.885704, 97.85253, 68.40846, 85.498405, 54.467037, 59.58123, 39.391926, 54.97693, 50.70052, 10.519514, 48.112316, 93.19018],"c_map_date":{"c_map_date_1":"2004-01-06", "c_map_date_2":"2007-08-22", "c_map_date_3":"2001-04-17", "c_map_date_4":"2013-07-14", "c_map_date_5":"2010-05-16", "c_map_date_6":"2017-08-24", "c_map_date_7":"2015-03-15", "c_map_date_8":"2012-04-17", "c_map_date_9":"2011-11-13", "c_map_date_10":"2015-10-28"},"c_map_datetime":{"c_map_datetime_1":"2005-04-25 07:00:19", "c_map_datetime_2":"2008-02-25 14:40:21", "c_map_datetime_3":"2011-04-06 18:58:18", "c_map_datetime_4":"2009-10-05 23:55:09", "c_map_datetime_5":"2001-12-06 23:23:38", "c_map_datetime_6":"2011-03-15 05:16:07", "c_map_datetime_7":"2015-10-22 01:18:53", "c_map_datetime_8":"2011-05-25 03:32:07", "c_map_datetime_9":"2014-03-15 15:05:06", "c_map_datetime_10":"2012-07-16 23:24:40"},"c_largeint":-2934116575732028809,"c_ipv4":"57.124.239.198","c_array_tinyint":[43, -111, 64, 22, -91, -120, 72, 119, 98, 6, 20, 73, -125, 114, 41, -37, -35, -29, -75, 86, 63, -125, -91, -66, 114],"c_array_boolean":[0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0],"c_array_decimal":[81.1832, 29.1029, 89.1223, 46.0292, 21.1083, 53.0997, 76.0151, 1.0233, 55.1460, 86.0554, 91.0928, 71.0370, 53.1322, 57.1418, 6.0656, 89.0194, 68.0207, 50.1420, 5.1389, 44.0509, 3.0314, 63.0053, 37.0862, 90.0885, 64.1919],"c_array_double":[40.75680998079535, 71.51459742699137, 100.10818265102833, 64.19746667469578, 31.173487740196553, 94.83042672841206, 82.19341518966144, 87.90564680067637, 71.66584625396493, 58.6269970202408, 72.66731663817151, 71.63546027401938, 91.10008109559287, 19.350144990448175, 62.900968263630894, 73.523429890525, 85.72645698380224, 30.85978677470236, 3.465831429164135, 25.772411755355044, 0.6579158133416156, 13.689769606087996, 54.973269323712465, 84.95708712898141, 64.5509743894066],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_varchar":"yeah","c_string":"bHJOdMZjLxTbIBHCsHfhFgKMZEBjgmzMpHyAXhZxAZoWzkpwBbxeyQDbZeqUjmRovfKxMeQUhCESzpRNaGgtzBIMKHJxMNEeWYOpSnjeCTcEXLSwxRMYZMlfCWUJLpYemmYVbSfeRXnfHhPxXHhKrydDxrwfTJPEKogCMgsxMhyjQYCcVCzWUxJeNXsiatSMOweCCQNKIrrSjUCQXPxvQeOqYPgWQJtHfpuMBuhHTJjhklZbEPoxOPHZCJuGNMYdmWsRZMJorXrsgiHjYUvjBsXOzynULHsehAjIIfleVIgOKXSrKUZLtLYgQPgOkGXJfrbpxtubsIgmAWRJPvyXXgXlBYXbrCayDElMGoFPHCcKkpJhirykkzBypNphqkyghPwCgQzBIjlkfjCdvnexJSWcBkucpBkRgsBCTBbrvladQFGnpMQJPEEiapbJxLcfphCxyCHfSuFLPrXqyzqZzGoyTIdgpbzPyMcuGSKVDyMxFsFgEVAIVZRFZGNxgirW","c_ipv6":"4796:1b30:1542:c130:f03:bf25:1adb:b5a8","c_decimal":76.1140,"c_datetime":"2000-10-06 05:07:52","c_array_ipv4":["GQLdwNIcfC", "IsmAGzrzkI", "sXcdaJhkxj", "JvacfXnTlR", "dSVYdpmxmo", "aOKhoVwnvp", "HCwLxuFncb", "WZMNmBBwlL", "NLLvVkYXhO", "LiyIxiRDLX", "VrkQlbvxHf", "lKRodKdBCu", "ErrGuAXxRp", "BYckSAzguQ", "TmnvpozlKH", "TtUVnahJyV", "KATXqPfers", "zGtXLZWluO", "CnugNyQAZR", "bZyoOCoRKs", "gFUJtmbvIz", "OxNymeIdLf", "LGGTzHEvgT", "kRNzxFPQXR", "utLjCFInHI"],"c_map_largeint":{"c_map_largeint_1":5663724805758645824, "c_map_largeint_2":4064076797251342542, "c_map_largeint_3":-8889711138210822908, "c_map_largeint_4":-6243720004709962091, "c_map_largeint_5":6105268077910390608, "c_map_largeint_6":2902337023051628929, "c_map_largeint_7":-1770001817377606126, "c_map_largeint_8":2654054448531338105, "c_map_largeint_9":-1076387578233441831, "c_map_largeint_10":6317833755109500714},"c_boolean":0,"c_smallint":103,"c_float":38.175037,"c_array_ipv6":["ZrEWXZDXMc", "qnQpiFQBiR", "RNUwekkHvW", "knquaCdviO", "MmIGRABpcq", "DQfOPgFJrR", "iKBOhEJZFo", "POUpOYTJEx", "qtBDciENNR", "xDXWsuKkfQ", "ZxwbhvrUxb", "IbsSrfabDM", "IiUqtKkMzx", "rwZGeMSYep", "BngqTQjnhG", "mQJEouHJtQ", "wcvvmgkFMX", "zklQLlKsEl", "VzrMIOyWfd", "PvwCzxTFJD", "pnZBsHrcSw", "EacrDJUhDR", "PlAKWKNGAv", "kzgZlnFfGg", "GoUOnVdTsC"],"c_map_string":{"c_map_string_1":"gQgQevwJwHUHBbVVZFPDkXbbRqCTSamUQwUiLzBHtHFCmysTDwWpdMAkvmKgjEpeeGAqrGQQLyWipGxEabXbWwMWMKPbCJQbyvVHVXMJBvikprqYBPkYSBpvYZVVTEzAtLIFGahhQGCiUsydUuSauWbaFmlmojlTvGMbJVaBROHUmVbKVHDQifiOGUKyxIoZsRoeTsoUKfstWeLDBXPeEDJtPPsMgVIHNTqFFtdEeXWqIKZQDbmVNMJqftFqoGBBMHdkDnWaJPxudWIyuPFNLzRlobDMMUoSlySeoisegADYCzZtjzOSvVxJidrWJUEpGGGGSEoaduoABXIORLakmqSshbZpqjtyZLJxWhrTAKQvLSaucsedUSvACuMWKFOcbfDELgmDhLHsawWQFTujepQRuKPJHxjpzBtvKEZSCWSvYVDLFBoBhLlzshGSMnNWcTxLqNdXToESmSNSCvOJYDEMyIPiloSpEIricUpslyXiFfQNzlPsUwuyOgRPTWjh", "c_map_string_2":"iJHuubFlHcXdUNxxYVsXwQrZIiKKsVTqvItYNpbYkaupSLhjBXWIgNkwHgeEvNYdSpBRmKaNAPAlvxFderqqpOHeuKsgmuHncgXDUWMbrRQdejKtNLLZXiQWIfSgsXKlzREPwxVkGQfGoZwIPKDWyZiCUCxddzsCulkZBKqzLqnXzvgvSCmsTxMqmLBJehiIlIZxGApvcGsuCEgmowMFLtVEDhtiPVsRVApIGYjxoZoLcqxXhXKThEoMdTdVrNqsNjBoObRJFGwTmmBRaXtZVPvjLejnZhsGRGJbcFRtDAQCqDQWKrsZdqCujxjBvPGAHtFklgdAXTPVPqKtzwSPmnUAIriuEvHrTfkAvxcgelBVLnlcJrRNpGJRdNPqKURXHpsFAhsRHDpOlhlKYsVrbDkjizVtcDmhulCfqdQoNkvQsYThngdknOjYYPyhmDUmExkKFzIDCALjZAyjurMpjdJpOtAuNaCQuesvPEeJUedZPZYFAEPBIaASHbTSCmBR", "c_map_string_3":"ptpYZmwnIYARfmvZziEtTomdiQUubdOBdgFljTXjGwRgaHXAIXyylMEeOVfQWxKrJFpitEbRGymixzAyZWMIIXwQwdijnuJcoSLXsgohukTvanbMmaejXnJAXztmaWzqluhZctPGiIGFbHMkVfkgbwwCnfQeOPXiRigXoKlmcscPIklauSDarsICwjeDaCxOuPnHHQxvKbzrRfpHfQMtZzwcreWzcDBaKbMRfoUSCVCJCUMkuUIZHBledHycjcQdfNkbPdGBzQnSppHxtdoNKEccLqKSBMXsSgSsQJXRcBXPgoVbpzIxxUMRjDOdGYbpYQCbGHIBVbpdNsyzwvBbPJBebGFWBPvDsaUKhwqZKguDabtmrgKGBlOlpaQoJaBhpmIxhMCJMJxzAPTHVOioxnMNskfiNRczDktajKlSGiORCjjzqboDoYgdvvyqteLTCHzRBFjhgvKaFZcrblpHlopZtUpPSNvrGELRbFABqHxahRvsWhcCLOmPxogucLlW", "c_map_string_4":"MEItudREaXtBRBGiXtSMZhygPOsVJsiCHJPXpXKlUnmqOYBGfBwMlfjrIkEJavQRESOChRJpgERTdJjiYzFytvmNsWkQXQvhfdUuTVkfkpbEanfvhgkipNlWwSFLtxmVZZohfkyLNpsFsBaSqSpQWxiluBYYAPaCGWOghhuZxpQgcGBVMAgjmXXjKBvkSiSofeOLRwDgFvBWXwLCKVhCEfyUOBTjFCeQqzYZrAnSRtyqPTFtaaAiPHUfPTOWHHIwWFKllRaWzajeSVzSGVxCKLtcgBQOwrKLsLDWflFeHkDzHUwMFMBmnAYbFfSLDrTmrjVUnhFchujbMaZfFTzSArAdyuaUdOwFwmpEGPAwQxJRuAJqZFQKonGnacXvSFRsvuYnrugLBRzzWwMUzagBXrBMMjLARDeYepPwNBFuNvSZjYFyPmiMStCWxVgdrrUYfRtEVCuJWfHdEoWJDybgZIEzsooaOGBudpWKjeCitUUxVHoUaMMpkrAebHTEgYYp", "c_map_string_5":"SanYdCAkvDDCdhqwczMLudkHbTEZxhyHoNzYKBHYHxoWlosQufAJnugknjhvHabIDEBVJbPbIAeXzEnIgIBetbVmsadoVirajMEUwEHQBOnwglfansqJhWbwpHMEROCjwaBsYhVfqeRHlYMcOzCjMjDugJVrhUsfOriTnJECfOvgnLymAnvinJKZVLOVTKpPMSantxYmARHlTTbxGMHncndOKDUrDhTDqZqlDPxSdQlqnwBbjYPMZKaBLfgaLfZYTwWvhGYQbzsGeqEkwMcmMNSjULYPCqZIgZGvsrAzTSEkosXAjAMIuBLRczUTfCczaCfngSZSHfTAXIAeHgmOpwtilKadgXGslitaPjiDvbMxJicnzqvzcwgpIapayZRGqFAHvyTQLcdXAPsLoYLqIsGtgLAFszKoDwHimSkGnrHIfTlFPINyFnzMMnerYpRCvQgztztOjstDZXawUhcsrSizdGTenurjhxGTnEnySPaEvqFbJvMfgmEDxqOoXSde", "c_map_string_6":"ZZLmdMPYbkooDIQiiypGnBnenHKPQRcUwZjyiVuQKvFDihoTxrWSUFQLHVyigufLQaCZEvYaZmoYzbHkStWHArTofbQiGmXccXwDfMPSnXFUofaZHmBSKFSOunFqNjqwFGeLILiIAeazfpdSJiPKgJVoWMMbVIzQbqXTtbFmUqaCikTOQKpmKgjpRzQlwhopNDRTpdiWpiUzHeAiJZsPhKWNAhYvxeowemKCMxorMGIMRowqomSnucOXOvmZpQYQNTeQtdbyFgzUKQQxGmFeWUohtyvovqlUDJGQyRYcYhjJwWKIlNhsKmoQwUilVpSDggYjGrZKWlGkBtQbZlOxejAWXotsmusclkCBTLXBQeebHFGHTrsQtXhEYPeTxiuQmQBrlJYdNlzNccQjvOtidoktJDXAmxxGaUWqXsqIJknUurKPXwnOKlXczXgmKQarCiwnzqBIFcjWArRWuFJobASFJDEoXqmRhYrtBumNeruYHcyZbbfRQYImMwxLCGGT", "c_map_string_7":"syZULkWmqAyeDQbknMieWNgTvznmbWRhtDLPMtdRlRjlkopLDPHlVyCVVuLUDiOwjVRokgOoIEHMUnAYoeAsoWGmyYeAKMRonKCBhcWUiXnlJVcSqzobWnHnNsnBxaDyDZfSCyqmzESusjrLcNBDpslarLeuYblCqbgfAsepHzKmrESrItKbsyyyHyGYMFTcEWQGKCVYPJhvvhCIyMVwAZJubHHmoxKOOBYKCFaqjwCbIOOcHmBujrpQXfOubkMuYXpANnwGbbnGdLoTuqCItweqBbfGymByicznFTNEYrxLYeTlSyLvJBarZSUsxSOnkBULRODRahHjsJHqffqHsaavMwQmivbFACnWTHlVncUQtxEycaMrGhdnfxBQvybzklQSzvMrrxANYalzcbZZnbblPziwCtDqYEwRXpixAYuuDyTaYdVJgSzbUxZecdlHhhYXfkdFqqGZgMDnoDLLJCyXZArxuSBkdzRUTyGiWheIsbNwXsOMSjbneLEuZBuI", "c_map_string_8":"TJPkuNpBfUStVegfRXitBnmZjwpZqRBigyEzQgeklIBQlvhpzIghvqyKlxSgkNDnRgVqkdyayVaWvUUgFQKSgeJQqvfNeEoCZYzOOrCteqrFggnsWOoobAWcbGnYGBQuUfkxtpbMCRetSIqFpbArpnqiEsSGyYLaSVlscoNsWUjnrakDwCsGfYtLCIHDbGAarNZPlxcSqIhduEmTkXbjiYSleQiNxjAGPfaGBbjIfcGXaREGcdtNiRBNOYBdzzbAXJQRZxeSRZSOdHHGtjlhsKdIssgonmxKmaWxFGqPfQyAFiFtsATsDDWEtNYycqmqAMNJdqrnLIKKcJVVijMMZOgjsQzQdBeYyonrPolFINgAiwaIiOkGJvdEAocUixXRnaciimiBejNvYyBSGPOCiYtfEGYUAdGhCZvluOiGMPwMIumDsBJKmEfoLCTZeMsbQzRXZXQXexPatBlTcsfThyaVOCZHKGnZORwyimRPVdMQSYrcKtTiSOeOJqWiJdNc", "c_map_string_9":"zcjPeKRAzSexKGjOIRqMNjByLILkfXirabFVrsysNcCytdKwOHwsgXapMgubcNCegDkQVHuCgQUJPpQrGPIGqKqurwCwfOKlSwhvRSPpHtZhuDmevoUzcfOdIIanqpYYfgCzVWAOMzEAuIlBCvHrQCIyrqxKvmAAnVJfwVIwqardLBgPWFsfHfwLQRzTKryAVvRaGhQzNDxZZHGgZhpcLlhsDQvobkMIhURpDWsVkgIrzoQueymrlKUYAKdEoLDJTrGPfDdyhPSPUWVAQWjfFDbrhOQFRUUBvLhTUlmxmALGMXMeQzrYHupnEZLeMXeMdUOjWbsiYQyYctQJYqwLFlDigPcbboXgOqkuUIZwGXvYOpKQdEQhmCdcNFfkoLUtlFiSwARlZxBnOxRVJdImALhQrfgaDPQfEsKCpRhwUYArZoXaHZwdoDisqZwkSWzgKUJxccWInvTAuNKIHHESoUcMnLtybOpqqYNgGiTaXaCNFGmQJEHRwYAltxGcPrru", "c_map_string_10":"TRuVLDAWiCLmUkDLUcKruBMPvEitgyCLNTrjLRprPNaJAKektYTGbuZmoqPSEdeMVmyxnzhsKRxWvNkEYhLCNcxJdGNiZqLEGHWTAmCbxKNKIgKKbbVhPDFtxvWNDDYETpspPEDRRUhqtawrGHoVWxQidwGvvBQYSfEhouTkIXIvWTsorpILIaAJJvxclLCbPVlrgRmGCCWUgBRKgLELsgiYrNXIXEwmAAqPgPWxFcHcZTEsAOJnsPUJfpxVRtXwZnMrswupkaizURPQsKXNKIFiASlsbnZOzVPIbvFaFGXnBykbbFXdSvTKHEdmUjGYzZasNzNOTLhcLbtCgsjKgbSxEMpNsTgVORGBvKjCubZrstDYtCcOAcvCJMfKeizeOCJPJulgxadRiRqCaxFOSRScAWveHbrmOQfGsxszXEYwrWCcOovReMHmRjwBlUnxVewlLSRLpUbnAkLEnHVXwQqOieQwXrCibfdCZlnIYPQoFjcPAeSZIzOyuVHWoCWC"},"c_map_ipv4":{"c_map_ipv4_1":"225.133.19.52", "c_map_ipv4_2":"201.94.98.172", "c_map_ipv4_3":"92.95.36.98", "c_map_ipv4_4":"206.65.207.228", "c_map_ipv4_5":"254.37.178.35", "c_map_ipv4_6":"22.95.118.125", "c_map_ipv4_7":"70.94.159.201", "c_map_ipv4_8":"255.21.63.248", "c_map_ipv4_9":"135.182.193.121", "c_map_ipv4_10":"164.241.48.188"},"c_bigint":7941067577975712682,"c_array_largeint":[6030619860361577376, 3127725746424342811, 3836897105694211744, -5936171855671246116, 5212876006595283707, 1138879049259081068, 3439633841811667407, -525114936552002802, 3922661202046973640, -6953892341153419584, -4082260903140170059, 8754851721040032021, -2876020117155789708, 7414312669970626634, 2250312316874197642, -5426756890971445619, 441405572408262655, 2138816935848779974, -2160524054466433604, 191910056450701872, -8981921674533989143, 7334107785656937490, 6852940292488682351, 2773377310724343727, -2480046179005230210],"c_array_varchar":["XoSPskrDPAOLAalQNQDbBmQLLOohmCDWtrGqwuZsAIIBalBdZjPYrEgYaYmdZlwzukpvxBvivTqPHsVBtQTFZQgcWqPnljLdKOKMzLCQCNghKOYbAxsbLBuhPYoTPmClaPOhpxxvqMoGOUoVjnvbtJUUDZalBLoCVrITITvYBsrPLYNiuKvfcdbJYBUxTZrdOgVjrLKSxDNwjBJypTigIikddMxNQrqJSBloRkUvICQNDtCwOCkSfSPunAFVmDXw", "YDfuJeqzYwoYAgdXUGSOYRUVyLBuVScDUNOsDULJuelMXbtOrEvQtYjBFEAQBQJySFTEmIzwMElAsndwcHyGHhyxkhIMtxRBtggqvHwgyKiNohTxukPBNIeXtiFYdPqutqLVddZeOatzlPodEdQWYqakqoczLkJhnrSGkOBpdBrdWPmMcFYmLVtMrUiwfvBUmzBtZTjjLLcTPpevepbJkahvwSCjIeVhswvsuwvyNuviRIixnGDhSiwjrEistxkL", "DEnRgYAdmuBwUsHAmrgEULxnVlCmLvIdHHmaUpbTdvMqLDVjDBIpWZyUdkwhzCZGNbqcOpElADkpXVcwhMaZCKexofTGkdsaazLXTwnPdHPozyNGwrMvKcMIXnPOgeUzHwMgvFRKRKvpmBvYnnEEboeHDLyEaEaDbPACcRAsFyLneWQtnaybrcoBGovQlDlacWoGsvWEXksHGXAVcyiAJexvfdWDyQPNlCSyKaEwRSEsfqdpCprfyFhwPYsFTzDT", "nCcbbYyWtzUwwGZDEPBOWAGYTwTdoIXNFFOJCAyyrOyGuprxqqCEKhGBrosybZsGvtlOuxxVHeydcRzAnmarNpumxBhUeKazfZSIzyHzOkkoOcKArZfYoaoUseavfrECmmDPaWZUQRUcWLjPusCsWUyUHmsNBPNSHBYvlXFnsgQYdMdPinZQzxDKQvhELgjkvyeUoyncyNQamSgxSKvLbHvHtmHkbSJFlAZVcAdYplkhqDCIIbBJWHVoDundDODU", "TJBTIBUQotDegaKgWUDwbjwkUUXJAVnBjasyBhCjyhdUbQDkwTbeupgIxOJNQNGTxbubwwaQpbGtMlPvWnGnOjQqoxpaLHOsnVEDoINfpqCyjAwkBYpDKxtEvmNOvQZodgNbaUcBwMUNdrQIXuVVvJAhpCGSXcvDKWSfgOxuabdsjzesfbyRoitSLdGCyqRHSCpDfudcJtRYoZGgGzpkzkpiiAtBQiJDxPcOUofSYrepexunqIQAuVCuuDCenFkb", "ABXqkYHeUNTreKwCtaJowlVUAlclFrVBKyHJmQoBiygwnMIfuEvYrYWCrEtKnnJlEexNrPzbgaINrJblVrWHhaoTAnIsZXKjoxDEjYjhMnQzpvcgrtAXpuycKmuEJrqQomlOayTwvAllxUxCsUgiRiTorGxmQpIrTuIoUbNCYnHstRmyJPcHWcdLaGPRhxXVUvJsXUVqQLIHRGQnxTehOGpNnQnrYcOIRlvbAFbWCtlpRqrGnampTUIpnpVVewlt", "RWcrcnSSzSVulGoXgRkTtDvkyngIuNUteRQCiBlBQGuoyDezEjiAyXGBCAHqjFvPdYyuWKgJhVmQQbtFjObGckTztUFclwwxQohwynwOupGrWjahexGnRmXsXauXtNntggSHWrRQwpBsMtBrIGRIaUlvvZSknvWonjmFnLCYjpoHhlBiJOYQMYsbpoJFqgAFyHKZwyAdjchBxCkScREzoHLLrcoGxZlcBxxDxCXZvgKTXGnqTYiybVdUVicEYrjL", "ldDiJnbUPTvvnUrLvKDASSPeZGjLNEkygzWwwDxNXojGGIzYcNViGaWZsmpajRihPCDYWLYxmLKRwotBoePGYBSMgLFiWQHztphGXOUHfSKsYELUgaxgkqIWjsGvwOvylGnieIQrFsYEltCOsuHOBvUpOtBKKuMtLbeIBrlOCsqYixwXdEsdggZCTXRXdeGLxpjZthKnwKggmDBafBIfSsNllylZSnakjiTykippXbtLUhngGogsFTqoGbRJbDSt", "cVcOqzpSKLHvXjVbqcLICqnFxXOYKRSYTxVcodraHwVOJnDxNKyLPSVXKTTHsSBlNkdpOIcKTpiFFZzptYgWCmCSzQXfdViZkKyjWakFjrSmUDZkCHEnQJBDAwWzJKqsmQcvXxfviGFDuqOKdWYkiLEbLLvzqBuAIsyFhfTqTjuifxdNrYbEuXofoqqlQvJxWiaXXPXBtBYKQVKScfIKupxMRFkLChrLNSRtGoXMXuiYqUXabBHvyazvrjXcceKU", "FxXrZvXPueaYXifYrJlqyOtNaZyOFLDGRYkgBVokKngmCEohaEAflYoOFlJKAHTayraqCRDJpIwvSlKoDtYDltTjiurxqpjyPLnzTejgfNFXeEgfirHqGGaWhhDfXMBngLeStHmkGtkMnUYOQNHsnaawCKYcGxtCOlKtCcQffvFKpKITaDvSqTuJAdEVKvLTtZmMaBVVnXbJbvANinbPlSeesdTgVaAFkUihhQCbMwTgkTMtVoLUAAZLtUlLleCH", "bwIIBGaIYVJtpmDXhZUIBKHzdUPlRGcBSgGJsdjiDHUDJduVWYjQWJmlyAHapthBCelDyAhZkEExFFMxKkNbdFNUlCTTsSXyfsmseFBquQRSWbpAsOVeAdEylINuxtJnqBZVVCbOmavWIZudsgKAQqpPswThdrcZzRwxtulMcToKmQmmFpfuGHXcTMKuDsASPEDlvJXqeVjannQcAtxjdgcAcSrtKZlfXiBCCzPiiIzgNMjjGBZpWCCIXxGoLRGB", "CTzHTJgdCSjvbVncjMedWFRNpcDpJcJjoJvCtjdTLnGfRuVpYMJzhnAKSYmCiOQQmOmgYHpHiEnVcNDGneZPGWUkMLuimZEftjFsWxUsAOqjOqpBRBswRIEfQejkZZaJrZrwCWgNKcFfEPcthDOEwPqkOoYpltdjHJufiNKwIrKoFJIJkGGgwGSLpHQvwcxCgwMRcMsYLmwXzDiXnsNBPZrKKhEYdETTMkjRZFdTMUqwdIZCJxPiPWcEHnonOpYW", "OtLZhCupIQOjgdnERisPgbsfMlnySKVEhvPgMaaLvgvhoxZTmJByfuGXumCZszCDXjOfuRuYupyyUFkXboopmamqhqFfqPllEZqvPMtnuVJClmtcWXdgOFveBluzkmCbGPlRkFTBzlVNelAVtTMbgAsDFpyNuhmPQheaqaPQQcQXgraghbpsOllVnfdOrPFGFyNnjhzPOqAsnaCpeAEkPqCabVNoHPbSrPzZnEmWDbvlDAsNszlHQZJasMZEeTAW", "TIbwteguWzYyzFANLpbzNTZtZyELuxQSOdIIBWBaJXFRUfWKJsXMZDnLPXIgXLtmtPYbTIVdooncZCPWmJjFjBRlpxVdolMYOSgRMAGhXtfXpaqbpAxfYCPvGwHlNxvlZPBmlrnZHkfAMxlljzocmrVNsYGQviboFJGyAJzCprqhRkKxrUxPFkwLAqNhwxmTVYGReikUrwtDqvBpMYKCdzXAQJKXYRfBorIZvLrOeXVqcsDsvrfICsbsltGHirfC", "MrFQRYekzIAikxdIsXXjAgkszYwKyynPfniDBfXrHypIlQIEZLidAunfvqPfaUCEEiSJlSKwhBguqQtXEyTSMkSteosPHNlLQwQGLPalgHRBosHScYqKJUPgLCovSLTVkbDqvVvxmLCLxnxJUKfLqboauLPiDzQNJiFcfkciWtLBfgENSJDfiCoJBgkzGtHuyghXWNQcYrOCNoCtEQzRgEjRgChqzaUdMFxCAyWgtEEhWSVfpHIzfeTJScPOrGOW", "luMADHRgYBhUceIdEBepaZdgbfazwWXRUZtlGqlQomyMuGlWICFEsJBoXAolUCLKBhcFcDJyILccFFRpCOjUYXIFOFGKjxrzzbZqbwgBvQFLzNJPcwzXhcxVIrjjXlyzbzZorfvwWaGrZVeuPpbcILLvlkVizRZHHIYXgVenunWtBzJYBduTXHQvNsECHbZFqycQTObKjCFAtzfsHgFJpElJPcBnuVXyXLgcqRDHXyLYefIOJjuhVoFxhUxDAcPi", "SnPDYqmPHxVISTGPkOUowndhpeTQHGrWCTJREqJSbGJbplVosnEyCmVIwupgTjBGoJuYTdcEHdKgeatrOdbqZjRIrJjCvJsKBcqdEJPiFovPbsujdTDmKPhYqBLHpnTNcqgjTgDQCTMnOquPVGucnJpOGUrXivBGBWfNcWTzbJJxaTBQeUACmGUncSUkTIvSkFdLuNZFOczmkFsVaBFKnUzSifjjobbJxIhfigBnrdzxLQlwGCixfMOyqCHJEzKw", "FysYRtiaYqNpKmVGFGrfQMRAsqUpOVeAGLTwqmkGivvnvDqekHJjnASeDgcxChSUZrAjFCoxDSkDtUlsCacwSBVLYKkfEVpqIERfmnLZMqOzwtmdEAklVnSRekGfIWGdfsvPMMcwRAKyMJTTkIkpteLozzskjPDawfSeCUFetUdMOTWMieccaXzujwEIVMXGiNIKKJEMJchGEAjuzrxcVkepoSFxtwdXJySiQguPOdIrJwGRDrGZhhoqdYNxKHPq", "LWSOGBXSqkzgqtYVijnfLCIzNPuZaThDMpanuunCZjfdmQaxfGHOqGDUcBwSWlTpismIhqNfCoDYErLRMVOlQhDLLvkgJGkmThuQZpCUzwbqTPGKbjHFJzieFSSWZOOXXOZvHZNsJbQasZrXPzLiRmOchSWVGrHLctgaqdHHFbRcjaQTODYhcfvkKYZcsifWUgrsXfLkcdRBtnNIhtLcqKgkdGcnJoOvtRTsPGMOJflaExcTOgQtwtajKCltvJbk", "CjQclZNzVSARKoixRSsFZmEfxlMXJNfZDXjOaebeiBmiJdvrQuqREUWIzcUwnXRNhjmkWZcoewdcukIGwyjDDAiyOvrZPxaPrVxuvWZHUPqKZorzOPoqusTMkwGgaYTVFIqGpyTUJJwWnfIwBMTSXTzPSGQIYGZQFiBquYvRQeQwUJWcjXsxkhSewtbFCUXXNDEiVglVWdHJDZYgNrqmpIVoCMfdoCEApAlWDlLcQSeKPTksEwScATcDAPIFjJEq", "RBhNxqILzUTGglSTxlnMmDBOztloHtVWYTdERIhHiwLCgJKbcEaqJoCuqNHhOSEZaKaebhHquRElaXuPjYUqcCBDCCQuYtZofkQrpNoQSdCSddOrtZbKdKTOwkzEGEifcusiUxprnmcTppRgaPlZwUfEUqACxybJZrRgshzSXDluKnhVjGCeaMRVEAhdLsAJmiPYEVlkWjQTrPvabsSVxszBvCjrLhLFqGTBNSJhZdMOtseJyuDLGWNgRppXlbBM", "AfOdEzvlGponQbNSToIPiEwLLfgsUjUxSqQNWPFJDiQXmiZMmwGdUGzESoeaMQBBrSXnAgtijyDtKssRiYIbpLFtWOaFDRKquCrDZixiOrETxoVXYCvjZtbkCunTdXfnnBrDhjkhfrBzHXmILMnUBDKxtigCUWDUMYQkoNpikHcYBBetiHBxqbBpVwTgsDqiCkQTkRkUbBZJRMHyiFmgyooqgcTWppuntVufgclXNKQQiCGjKNzGwMvBkZZVDjQq", "rgNQKkRmIuMAcIyyzbEfZtRdSsBApWgGCWzspXawVzRmwGKSWchtoBZcdfzchQSpHWFIZLTEXSLtvoIwFoDDLFaCrEmXDwQQPfoDCXvoUfLFQLGpbNMHRfWRwUKeRPFMdsloxJojLpqaxqWmXZqiQKoXyPkbGgcwisUwmeCGQmbpMYlvFAlthaFPDWzOiiTbfALFelmXrwHNHKUrldiGgcXjEsPuhOarKIPjqzUriLgEJlCRdJXjaRHhEbRGXBaA", "UEaTeudGfLnzUPCkdQHxcIjkbCqJiwQlscNoITxLkljccugVyfyLibIgUgAbHFDRbsXuNGXnAdqtelaxmJwEYlDlTouRjYDELMrIvoeLvPNZnzTUfyLNMMtvsNOOlhTUyQLjoWMxbwOwxrDyjNGzfKUPWDzJHNOldMnFRVPICDgbtqvXiCMhDyboTRZhGdSTZLzlKrRUuvxlWdGGELoBqiZjKIdCibQDwDMqwUPpcILrGXxOeDgESNMmFaSqdgTX", "RXAQURBtnGXMLzUOJaGTyJZymVRWzlbUxvAqwaxzrDnaNMGXnRfEejggZQUdFpysgwBoNRSWqawSDKJUAzXAjZKSrdyNClMLRLuLdMzaddwvairKXHRRHKDEhsLBFaJiTPsSzsnILYAThLraxiAsrabDYSzhZmTdmSfZXHDtzDkEFmeeWtcifeBUloVUsOrIGaxukcMzGhsYWkMTnARopvdfHRnfdbfdpefQAuKszmVwjdiulMlLaBhoPXlxeGgc"],"c_array_char":["JQYSEKyEyT", "IRbeBFwbbw", "mgiVUzvQjw", "hFkoOdSOKM", "NFcHbvcToe", "klUzrjqmvT", "cbbVipqVqw", "CXHWJtEOKK", "fSmBrTeenb", "wiroAqzVrZ", "TWmcBdQNDO", "uRWemwbsfA", "GxkttqAKCl", "IPBroJDNYu", "qxbpsKJmcx", "NsonlFnfEn", "tGodUyeAYc", "plQsoRvarQ", "KNEkTbPvpz", "bkWpaNBBZH", "sTWHlPWRlB", "KUeTZpEwAQ", "IayXKQTIsU", "CyxZlyDREw", "VUzJhTOwnv"],"c_array_string":["NslpwevqbdpLMFIiSQMaxDkcziLtGWVVMWIuVyvYbgBCsLqmWvmRHAEZqLdbdcmHGgTYbtfoVUkTNGVagJmRxxEekfCteaIemfHouwrCQeVtfsIAiNepNJinKSLVZzbaZtXRZSDKULFYgUeyCVQWjtulafXsPgtOuufTwOZzUaPdMrhErupNHdBZPXdqdEHrULQdKQnaJQnjDJqTJMAVtwGdemRwRonYrdCGIUACTluXtlDwVHGjJUssmsRIjnaNbhkzsIXdNXQMMTWxgYqrJkSIXDHqaQZMkSdCOqgqqvhzEFfRASlRoKpRqZYsiuTGGZcfiQPpLlZUKuPeXlnBPpLDggtjlQEQaUiuuHupbANPIHqvqctQjwcHrkYEPPhhlLlgJXTUeAmrqnwWSgXbjIEvNuioTwxorLGZLufaTtHeZezrrLiabKPrUyHkEIkslIqgxapJGIqsctcIpBzbKjbbqXlOzInxnNqyQsIpsQBGlTKxVzNmaNDHyoOBjQUK", "UcHfaZiHotiHnuVHYwtmQCeCcVQysgrDbvIOaBdvKltRSiZhgHAzUjKduKiTAwwXGDRtwCiWeoGxZclLZbLsaVDmTZoIZvVmvgmSOJqxaJUBQIRWwQVpBMTeDooOFgoiajxOirAkIfpLkDrBdVodRdYEgjNaNXhblUsYjfSFaSoWoUqafySZGqisciKiKbuaBLMCsorZYKzpslGZcAaFxwIlxZzxEBYZkawGihrxffBePTmfgKGdFSaYSOxkQppFuPnPOXwRNRqTrIrXEzKStmOkWQdktOgROGxXiFAdmmYaUapWZGClxzxTkILbYpHmsVhTaBlfBvzFAdWKCUjlFwAWSuVJTaQCRSfGVfxWpRdbcGFlCvlpZDwgWuXayokTlkbQRCIUkNrQBEBuaIzTgDegZGhqxsquNWHYdIbwyZSsyeFnXnZHeTEuHgTpSyvTTugSOBpovpRUEvHdyrTfamPgQZVAlwwkJHPxhNsZxpxzcVtsFuKpyCRnZMVOtriL", "kDulyWYMhYlzWabqiGjVTkFQqBxyXmhuAjgZLrCUkRyzlnpskbnUAMtzqljUXtSbLiOaSkLXzGsaQCHwZVQUSyKvXsEBPYoCcsAsiDNZOzOntbRHLoZuSCYeZELoXPXOSdOhFrpVyTenlbVzhUOSunhNndoAxaFnDhrECBtmPHiFbmEWzflQCvHgEUHKLxpkEatIiwGnOyXBjBLOQcTCUfhaOAoKYQtBBsMIDBEjAoMiyAJujSwxNmpdRjfdSpmXoQqQPSLHXlNNlinzlnxmZrJDaUPibGmtlTZYdFBKXOYksEaQjSQuWqKqxEyxXsyBhwzYbLjkHWPsKKDDgpzBuHWcXdhXVoKoWsarFirBkUVMdHskJboiDnZbdRxekoYdmrkukRnjFYRCJneIVgDyTWuvElIaZDVEpSpJfmLXNtgsOztCLEnBcdJyHbNTWWhbkYkIhjOUwxRtGaRjYXKdpPyvtYlOqMWdRfOlPnHJeMpyFnDVGgmeQMlYrjtmWTHN", "vsfIgxUAJqXnBisMHcpkvfzTXzNmjOwXGRHNSnYxBULtmoSjTeATvujAOnznpZEFPFuBJdGXpjsTdHEsNpMEaGgItKAuRgwLLwjQldBEtjDeEYClQRGxnutWnrcQRbgOeJiihfKyIMgPnCRHiWpvgJpZBznUCzLLhJoGBPmYWtPFEpYEmApUJOAfWpwIOcCMaOfIpiWIdhFtiZJdNUrlsgkrgTBBVgqAvmknMKwwggwAZCKrkvXdEVKllpebyxQHMjDGscjUBSYgJOgUWYMZZrRAPcDhqrBWkNepRZzeSZkcnZBXvldBLqOJrqCSTbDpCQiLKubnNMtKxqIgaUmBgAVwsZkTuRkkkzgSDlzxlQHVTDyJwOpKMlJLouCCmorSkjszXpJFuvkoJrmPdDEvdtrnHWJLWOTcNoizofmpvVShxQBfZZouUjTXsqcSKvizQoOKKQRHhFuqSZWUKZYpwLbcalggDnJojorysdOxlxKvDOePumOxEnltiiDvjWQx", "tAkfUAANMshjaNwDshVppJwdOsrngpWHKcMPOVFXODgyrHwduYfaBlQWptfuTIJmPexkkQWtKBagltJXhxGIlrsdsHERzJoMsCWILRncfbqFmDDMSnBKZjxnzQVqBpitVATrtbEBPuvNUVjfPRkjkddssSbMJUkcscQRSPIVkxPMECwmRFkkDhmbMzuepnVHqXWQykdqxocOIiXAFbmeoglgFAfzcVBuMpTtbNLOvrtBpAwKzPAXtbPtkvmKmiOZGiXRjmgfgZWEPUOYoHtRkdBYmkqkfKfmKeSgdHVKVgFjBBLyBKjgrUEfqBmXXWHUFJpONEjRkgHgGsQstbQceURIygHcIvypVgBDJSDiuLSdnNNpFvnOHitzThmkLTyavNagXtvvgfNAsDVeyBbrTHXWMHAZpDbYtrOLmZxmVSkaINUpsQnwTbMPoCMVOFoCRQrjQKkpJtUnhdKimTZbzIdNXCKydLVSrScxhIrYZuitjtziztVoeiAVPneCytJL", "MNejAsdjlmCGrjHcakBSvGWEoEQWUhTXYyAbuelDbgWouHzUNnkiNWkwBmCbMUJKNcEWCkojuEhnfkSodvaHvxudjlfOmuKQOdAaaftBONibsENQhZCztwGsSsuIdVSNJsYEdTtwmXEYiSPTnnFNUsMltLXQIMaIRTjlDirHZKzkAzCdiZfoCRePtKLdPAKfTrDRSljFrgJSZBqMcGFIhYAHeqRfvsDTnqFmsCSgzvopWrkoYORQdyEUjCQmyLNnbxcfSStAuxDKrbZNdUqgWieBqDfLeVrAYlEZqylofbnlRVQFhwywqMmBOkyOqeYSzIHltxnKyMrtwfCTGTYPUTeOCGnNueESKKqyCslbDOqMlYLrlhTxiKoMYjORJihsPEXrYEpSWNIuYRiJXSDgtNAfieSYJRdQEuyTaDUoUcXaPaVUqAlcHPAGQXSClxenPaXmHByUKZplRxbnniipBHtdIHWRKjjrqGOSAMuKEFrJDRyfVRGAUMdtBQMdXCSU", "KXTEenUfiFXkyfZMQXhBgCbfbxVqDxNnAjaywgayBrYSCCKcaHjYuSpnpguLqzuhFUNDxrqVtbUKvajciIfueWjDfIktLVhbZYlSUBSlUDkMfpuYMrBTnZUDzmVhZRZurxdvsDhTauqWViSKklZdcDHkIUQuUVpQUanVncFbJoUFoEICKAtxpncyMBqMuBTmDlcHaRwInhXjeLkXdLvrsfyWKMRjqBPZjHjbjEBdwXXgQJinealuPPEmtrniyVpBvRCDRzAoUXbKDpTORTlJvviDMBQpczLtCCtYRJaLdHFKwCdmVlqfOZnHabbcdGVKbKEOgzfKDBgtvJPQNfVgAHHJMZRUmWxDpRmtZCzvUGQGdLZBHHwQmbCwmNWmRLhYtaSZcGlGcRehsaqsOPrlGPqYHbPlcprdjaqjbxZglZlYoNPvMYgcToixQTbPpSjWfRzbQoSgNNNRXCHhTcNYQtVhQPnytqHCykDlyKKPsMwwAnaFaGsozVmlRWDcCVRa", "cRSLUHmbRTsSDWNkuVmvrCeccAvpJYJNyQWNakrMHyBZcIOSFlBgbMAWcpGAZKnILFMHfRMQpagEaBLfNrQlSsGEIawTwoPBjAKUiiJTTPoAFQoKtFGLaCiuuhQJHzCvPdlbUVWftqYRiZKPcYtGBeTwKEtLtRnJzMvVtcEtwgIHjRImKkllJzhXJHnOBZhBIaqIzKTFsQQfCCmcjSUvlvstnRYEoQZIopcKfYTgKsVjWdHsGtOmEuytcJLSJiFxYvqXYeSUWZvtMLBqDIOmSJXeamJFIuTFxCUcZpFmvmYIGmiYghJpmxNxeAroZVBcSMfwtafZWQLLILoeXcsoMEVLpbXUYBPemAjgmlDZnoLJcNcXZUcaFnKTFYtkCbDsWMnahxZuWowXWcSsGRyGRyRLLVbWfKXzIDGvqIDvkMBhReQKvfFKMNJyUDHUDAlkYjTNLDaERADgmropQWZWQIDpWvhekJssgBVLpDIfdeXFaqdUfJsgYNuVwCGFNUUF", "MspAjpiepUbucjDquzdRrRWnqXYFkgrMeHlLxdeBFEizhVzYjVTJREWyBhRbMMcMAmVhXMOyZzkqIsmKoMyibhVaWGBjObFqsbQSIdogZVqJuRmUHPXEAlqnKcpwWhnjDTZdSKaTNtoqiEPIINYpqmkiopAhwbQwBjJnzxODKCRHHLbjyKCrTADmbzfdBIbtpnTViIQTaXokeisuWjgDWreAEUPZjNhRPdzLewNcIfgPdcSjdDUHWtcLvHoNXZVfCTTsmihyySzoxScpJClVYhxjnBaIUjycTzcncAqczahclZMYaOOECdaXIFOBzLCWuxHbDMgiCqcQEjtvXETesndiKvQxhqhGSERCiIrnxNnIKxqodPMBMiDwPBivuLSNCIjcdZbOHgtfyvjidjBZuRkzPBNtelQNboQoRGnjwYqjIHelOVDbdXabhBeEmIXnjFbxVGztNbbEMMyEDWASlIUmMcWhYJCnbQbBGfBsVBOnpSxiTjrDiwKzkWhxmzif", "WYgxwiuzoOZivZDDYDUDhdnBkJrjlNiAMWWODLQISGEgrHTAIBNwCkTgTBvVtrlLgVtsHuKnafrMtWnDMGTHsmyKnZicCjMmzweRdnlLyHHfaPcGTfzTgPeUNATcoXTuGSfoAuPmJeMOJLlkYvcjxqknGrZGWtAZBKwyLsfNoXIhetwuuoeFhzzfsuAhSniKyOpiwHcToCfFcJCiGXowggqgSpejdhWyamvvZZPVBLhiXiDrwYtJmrwIDUgWHuOpJewSUcvsfBHezoiGkDXdcopozTUTrqPOEGeGcGfDAKrDgalsVBiVTmmYZNxdcjVMoaPdDrjxWAQdyjLbPHRNTcGMKsRsZUanwdIXOPsypZRCTsQgvEKthbuhHUvKoBZYKqSUUxknqdRynbVzFMxDqHjUlWVPLfuSyzaixloiYkJxEIegTmbplaWjEikOZhEKYxgoWDUlUBhjVOwPtLLwDoXfnOPEpsrNHRoPHGRctzgzbUiWsDFghNWMwQheeDjb", "dvZiADAhSyNvuvnQcWAyfMDFSVGRdTRLAlDhHlIVbSDYMQKpudmkTmxZqPwYkLKhmVhrhTzQPNTQuXZEYuuTFeeQplFzEpsiBrHZSJaZQpTCOTySsOvAqOdlWmjNccJzfBIwOuHRXxXoRQmEQenSCNOLUaiLDinNVnxYXmzoLVJvlUmhzofmyfAayRJGqtECywDaSGcKqStPAdgCWtMfsnOSyTSSjOTiQUjkAhqQFurPYIMHJOpqXYfnYWlmYZcMEfbtslyoGvtYonsDApJNmdfEPNcHBXgGFayynOOoZWUkSjNRiXZBTnHEtJAurqPgEBBFVINYUfvkURRkHwIQvdLvOBjgoXLVGwLrIoVZozMwWUUtCexeBnTCJDzmJgoiPtOeaFByPsStSLrFsSOKncSOoWHJUmEgSGEesEyEZkqfcqufkhohVXXHQhzvULudsBnfbstFoLIGccvVIElMyUbwesVhJOdpjihvJJIFmohnfReTesngmSZYjwjAwJnM", "TDvIYoyqmwUVzyqEIUQDMlVyatnEZDswfqfjBFfBBshgrhNsJxVwUxcYEOqKAMLTIgxFvqpyhqFYznTCLJmWzWHTkGScPMqYUoYaZfLgaInOcqVYImgTIbPRFrDnyutzffeHbXgNIPBjORCKevVrpIfRWhaxRNSbLHaGAjDgsXOgitHTdvJrMFwvwnWdjCfqYfmOrtgNUtMcCzoPrIScGkEXsUHwEVMzJLRYGJeTYpEqoxTjgIYKYbWmCxRZKTeKCPCTDldOzzMJWfqthGLvOVUNpUEfjthjNTdjSrQOPRMeaLcgIixLqjjBKhbCaTZpoMCiTdqrOLkKFnzRhlhLlaZeoTWvlBBluyKYhTCthVwoVZVbpGcwbLVZNkzrUsYETmxIywbTwfmdzqIkMubiwmnmCeLvqTUKPpaOrxWTSIpKDwMYzEriBqRLhwfpFLkaZWGPSANScIyqmkoiBGeCAQmHdNiqyjqPMGBjgZKDecyYzYtzKesMNmLkGByHDiSp", "SwPjMMqttijEsTWiuLWWcqFxeNogSxSoXsDxxhLCtZXVpifJFXbSepFJvaimmawwdXHKFqWtXdzFPWEKghynaZnntKLedkOSyXwgxcpjvMmgYGuJbXIrSBVarkTcXGmgvBsfhNYNyLzoUjhClVKIVeXViCsXguhGJwNmwBEUGusAbXvLuQMBpapXbyeHJMzsEjHooPXkHWffvlIUTjuWrrjHddcfMTEjxWQajYiwGfhJLnLnjFhSaVcSBtwkbVXqYuQlkryRltuTgGrGQTQmjiXWMDApyTCUeixqKlQiLAQTObYHAOwEbZPkFJqhdJFayMnuQpjiwzjpXxgSvgRBZqSxcRLeKXXcKyZSgXNDeGwqRLjCjtSFwEsAKnnvrXoQwOpgLkNFBoSXoeCxMYQAunzQDMZCWZWhtpGnoxoOwqiGySjpggTtZeAwlSevNlPDJObkeTzuAucrMEFXsfYVQMREMfARHDwYRCHcfPnaOebToCVgfOSlkQMYhxxKqSXm", "kfknHMPUHfMAMXXGGHQGEJsGKcmxnizHPtHRWXuHHYnXxEYyhSwolDnoVfNSKeKKwvubnxFTxuUrHkgmaTUdYDfYPIHfjiqdohCWtQeWdTbzfTnOdXSaxoNUdzxdoFudlkKdgNqObbWYlwlCQpwpUDxhzvjyqttzjgKwdOuTSwEzijSsuyHxAiicSrrklAqySfCgNcRAGecMgzdgWzAnYtoShwRQnxUuPPkdpGnrkDndhUWdgMvrKsjxvqmzGeBXWUoHuEwHTNweRlmsAWlxEfZpiarnHWnCnRqzvUVDudDYDuoLHSTOHUmjqxtmVLpxpVThuNefmQSNtyxGEjglvZSskCBwctztgbFcpyPLxrAjSwEMfRIBySKOmqsEaZUbQiEENqzclTRRrnkRKLuMblKOhowLlwpzcnTluObXSeQufQIgICCfJaDUeuseMDzqLqtsPdXIpBnjaUDNGJTQbvsAfVOYORvNVJWCwGEKnVtAfynqxNKRnlUKcuaIhOKK", "CzpCRLYPeuxrWFbQDMdgpJXqDsIqmJHCqJjMTfiZxjKiTfxJRNJcmalnONbBhuSozWjotmYGYZHuhAKkwjhwtkMSdRchvsbOBfjWGciihukifsXqOIYztDQTXYCWcipmjszhzHFyUwDLKUAqbhxzXZTTmDOOWZNYhXtyQslPgsFEepBdyJibrKcSkOXdpvrgDuNEFNsbJTxAEeSYVUPhtMBBZHkaEFikqqXjfKjDJHBdedAkWTjgCyEGaVlrknMXdQUwzNsrGzMumTDFqpNaEvdBKDGHHLVDQegkFmLdiUXTBmgjmeLzWuBArWzxxyTKyeoCKvSGgFEKuaUyCTsErmJqgNDajMDWoSVjlxWEjouCFdapMPktyFLgPiWSrlMNAcskWGJeduMCgSMVoFxPtzJyEswdxRiBWkTpqcUFHVcGcGaGVbCBgFdvCotfXmfBeqmpJNhtSBOXZdDuptZjHuZOFZBArhNjTucdnlcwdyYtwSeNtpjDhAXlrRYAqphr", "XjEEnKNpDPqOiMPzzWEjpaXMdWMeztEzIbBMmTMFQkneaeqctdhOdcEgJCkxAsHGUcMpyMLYXyGuXSBXaeVbgBcKSGXdfazpuIwUNmAkwUlolheemjswPvfQkFRislZMayulctAUatjQbgnUTzUDaxxwaNqoNCQwceSFbFBqcCdgfbvJpDiXvqaSksrwiWDblBkFytvjGqsBVrGMUNojjzRpGcZpGnJgNMZinqKayXLSJRfQItFakKlZUTjPkEfAmjNAPqZAGtYQkSvnsjDjRMtQPdMEpoqeIlDLIEoPPorLWDMiFGAWJclcqjGmsjRUJfsyWFQnqvQPttvVONQTrDvxfaFeyKxBLnEXvTvHcBGTbTksvgytsZswtLrUnOrcgRKRpPVkQmXgRXvphZhNpAEecUVybuiXBfGUMYaKAnJtDDCIpzePArusXIxmAFcAtgXKyQVEZUkMwqvSUqGXAqQHbRzCdiehVmbKhMoJRpThNQxWVYjXhWMsMGNoNvGX", "KAlSHJJEnUHirldiUvqnthTyqNWPGtFNklBPczxquHstKSBCCpVfUFihjMJZLFajQcwIdfJQRqGFiHOsXpxLZOkzTNpKZbSDFnLGNBxSqyPLguIhakuxapsECbnIbGxsDTufuvahNyACriLpSxPOeYeiyIiUOKfzOrmgVWNpivbDIkibFgheVlfkhysIMtZejrzZLRXlYLMvakCXRFGFiaOUnFnZBqFeGtBGMlMSUdXFIWmcxZkQKPueDsPPZfLDPVYTGyRunNeJqUSvuUsnBINzEfKGOeXgUzpYpqNMxowJlzWHmTOjGjGWrCCnccRFgKJlQzwkhOXCnolIFDUutejuAltLFgDuaNqPvOOBnLQSLKsEpyeeSEwznyQsnYnMgMDXhkYeXnndVIUqKUzzhDfluSytDVduDnWQxNKDfpKDZnRXNesotKfwSjSZfUxefgAGjMvwzExSRCWaRkFHSwUATxlrHFpyEMyvCjHmlOZUEDEnyDojKmAjcfWhiPMN", "uCbtRXNCsxFcOIkuaIrbHnToiMoSGxFjNrceIjceptYIrzDZKgvvZYWtsJtSgCwcDVKyghZHwarDJZHJVweCGzlxaZIoGjvqshhoDFFYnhZOXFMKqiOgfPUjDsCYnVNyQyOpsrmhmfWvxQbgDNmNHZoGCzAeEERYCCzidsPHIrCqqOrwGpaBBnDhMKUiBGtQsafOeUoknPtBrnFRMHzlEmNdrKfWiTHjkbKafBLaOaRSTrLFnoLPKpGLVwJZyrcXaVxBMEUHgHWwKViXWXhDphKOEdokBmduvMdrpzECAaKRBeuNJVuZNdvSvwxdkvREXOmHmraKGSTMrjVylEoZXKjvJryqpiqliSvycbmbBPVpETwfBZIeTUSaFBvtDuCzqeCHpISZMitlYHXwqMolpWiqGbblgKSSrAjEQQzGOVjIMGXBPwHFfmqvtQsYwMaIbhwNdGfLvkMhBIKIAGFITXmFoOuEPHTLKBszKebnOHXrbuhHUWfrHNmPItNyNiEh", "IPqHxKABPtnoNHQuOsBJgVwuLqpboQfYhombkHqGniHqXNmPgvTRFhUNQZrZJEOvoSwIQrRNFXerrFVnjvdLERmoNMOrsSXFeuDIRlGFHLXxonfJRmjXYShMWUCdBlfOGpFwCYmaHRAXRLdKlENzJbNWslneJnRSvZVNdNNflKEVOBpBGqOzefMCehxOERPwvBquYbAFKcANWJhqPBwHltTaNHgAxmJfbUnaNOVReIXXtCaYOaKZFdgEOsFKLRXCwPVgHQlMBxKNGoIgMwYlBWdnalhOkHaGgQfrLtyajlirgIKQtjNcwRCUBmyMZQjAijCFpvIWPDDJNvpntoXHkofnStGkjNxdeodKOYVYpmrqRafdCHcjdLKpHpuKVcurpnquPJlUEZpNngOvMIJaTdOTGLcPAPNkKuQLOGTCxUWwgrQPmOGCynyfLebcbEgaexEszOroSRaPrHwYxOZATLXEnPpLoOfqJnPwZaYBhpisLErsoKlnBsWjJXELumMP", "bsgPTPoEioBuSoUUqyXnPQGpQSTnVnzcNwpONITSjHFaPTUKKatFLTiXRerbmXXuDCfsffOshkHardwyQVCIDcTyglNvMSOPcPThKuYRiOcLCJXldIKBxyktuzwAFpBJurxiUnCdwYLpqPFoLbcDsvfvuxFwIpMBKLBEFqlXWTVzfPfjcgsgBMzGQGGiDzqCGuwGHpfvwitMeUjtycIUTZMaznuaUEkYGzjYtCQrrHEFwthHpQIlIKglPbyQrxOgZiNxSbZJTzQdURGDTQFaRmdCmqXlbOrntzVjjRAfSyOveQNsiunaaeApASBOggWAEuxNrpCNBQXZLEUHAbOeUWWZEDXwqpTRPgfTXCbRyJwSZIUDyaeHAKFXASJKabmWUMZCKCzLJnAzDABqxeAznHcFiLlsTbwVqlwOARDMoWwONLYyLNjIhjmKijQzaYnisVpQdsXaEeklfrNzAfPYAJeEdqPMCCrAiPKNvdIsHKqJyDGLswXLmVJTASvdSQLd", "hxeTYJWMaDPYVDIyaYcvzVTFSKbUZrXBtBurkamBYJwszWrHlrfxxITUBOdHtbrYYFqJQpghbxymyybMwajnaLMaZxCJjoeILSniwQzWLBfhVnwPFvIyJUAJANYpRPmJZaomjvFJpntETlqEaoQIJhuiMQCMzWWQsmNgSpSOljETWBVAwyqjtUvbOCrOFnECNyuEVEjgLXMdBUYNeiCFQmoWydJAmElOrSHEjeOwEcIvlKfzFWSiDWjiGCHYFLmhtSZidkWECbTNmhVQHgJWsNdtEEPrcvDfDrPTqnaBloWbLprwvTGkMZbPNtAkcxGpcEVOtSjVykoIYQijpeeJhyFhTjtnxZBLKQpXmOCSlXSllbBelfPFbZvxpeBCdaurCRWUSBiQwyJyUmUXCTKDkQvEIpywvoNdKDuXUptrGzsJhJySppbwCilvdLrlQyLBlqxUnremBoKyQbPszdKHFWGpRkwZVNPqExXjHxthTKGZNwNqDdwJDRhYWlozyvEY", "iARGdwlxrabkhPFNoLnNoyATqSZkkOLyngtoLPhEzeslkiViiXGXGOGScAEbthoKIkDlijSvUcClkRZxtaHZvzDCJDtIAAaDTQaSMzjOkTkBSCHZumHtIaZrGOiSZIFhIsUiKRuzzctgRMuXLkuNGVsrPfCzeZiCqFXuYCxBxSpIMqqGICesRtzxIVthonDUwQttmnjEHVySrVoBmCsXHlLVpbTSGRidWMRINhQKWoYxMErgcTzmBjPzfFPVZIvIoYdlrBoPYdLnceUUyVREipWZjCZDoYynIrLzhClLCCIMhzdGvNQTgnJpULloDYsQQAoosHeizvLHKOShADGtOogKAhZQyIKJpCzvqdYGwsmQSvYWIrUnqFQtCtzDsohARYTtqFFSHKkNlHrWMjGmjsxAiKmdyyKEhuCHWdlihOctubnwFKrKBEKOWmVeclXIzlycvrbzDkElFlGVIoKCsjPlHitzezHsSaRYaqdTmlbwUbrJtnXEMrcoBMWMFgmr", "OsMGKHRoFlqHQRmXLdMXnsIQKrTvslZmNGEywNAbtJhRYHZbFDeipdtLKcvgJMUTaKgBVJkpIjewMgHBMJicTyTeeoINqJcQQVOQFrTrYWsXqKqXyDRKcuAoJohOHLfUQoliesZwXucpwELuQRaopLDzOvamIDIxXzxLijQbcOyloWwYNIDJWamHTHDAwNZnBxNWXhSvkKUQXzhvNvgCSlnDeUVEwaQrrZGhHqNSKswAUWKbXrufGdWMtfIVUCorOtaNKrDkjkqvwKZzhIfztkinldMUtKiLwQbedfIdRHBKSILOOrIeaGgZfuBHGlrPTYQmUqDuEcPsPLlyGlbqLTjENQxdCilZUVQYlmrmNMPeIplSvoPhwiariBCfHzMMRMEqmPjLLJCtgNTcGilkYeLrywjMNvdNaJGFOUnYPbmkvMhIkrPHYvTEnjNIjDGTCIcKPOfHvCNxgZmmKaCGFHoSnahsvGeFHHlaxenRbqOLaFhIFjBmzDXUZUUgGNTp", "LKxomQtZAAUPeSLdlGjvXJiuMmAeWeUSYrUOmMadnDXxIPhVjWzmJMLuKdTwGTWMJDULTIssjzchWEvrUYmtUOAGGpBxBjDqdjyzrDvuhFbshIbedSQWUqSgxbJFEQWxMwoyVAnQNjOXJUgYfMLlAqbdPZUisqlkDSmdsBRoFyOoDkcgyGdQmEtyvFmSYdnDpUbyWyawGxNlxkIGkGKRUktAitwaxFfwgYjIlVdMPMtuAhSfXFvaAMaBZExajlGFUyokPUOitftXPKZHNxxKLFtJOVdRauENYiZodWVNcopEmSOppFkXTYhfPztnxZXxAeBXZjBlfxtdHuPiXuHSwobDVFLrOJfJapgMpIwKPUPfurptGcSNioykicJNgzZtqWGdaLZbwxENdeTLWlssMimJuosvJcpvaMoqPiqFgaYujGunYyerQZvuzYGAAukhuWbhBsSIVjZIFHwsRpvzGYHnnSbncSWWJdxROOWqkwnHgIDvTGfelMCeDKnasbBf", "RuMYWAzDEoKDucRsyXBfTKAdhbsfHUArEyuwcnsfSpLseKHORuirqFlObpYWdBUIYRpUeiYHhgpJIWgZXYBfQlnyHDctaJAVJTANlmUdpuIwMkWcNVfwDRyweRDWiDyCSFGRopevnbozlzPeSieBrgpkkqmtBOVtXZesgLbJicAQLoQtZPPCwaeAOdDCATiKfNVipTPXvZrHzaZJESahuZgwnOapqbaMzVosONklClIDIrFemBsypNjhlmLivGbFFymfcHUJXYyaDHtDRqgZxhORimpQhebeolkcKMooyvfvtBIBQRApfjjhQmqaUwEWLHzyprSZHzPSmJvjgOkVnckALOuBtGZVwXJNMljMfPsGQtLfwjsbGDJFncWcSkbPJIebrSUthfUCbOpNPvdWUQtpoMhPhURpokZBIIVutgFMsTRReFhFQQBGGBfkoNdHoxVUYCCdwvfQBFfduarazJHWYoVGRUQJZGrhMbQWbJKRdQEmgrVFTTbKsApNhNXH"],"c_array_datetime":["2007-09-20 21:23:41", "2003-11-15 04:30:13", "2000-06-11 01:03:45", "2012-04-04 06:06:07", "2012-11-10 10:48:46", "2015-03-10 15:50:07", "2002-04-12 15:42:47", "2016-02-26 15:47:36", "2001-09-26 19:22:35", "2018-03-08 21:35:27", "2018-04-06 09:11:10", "2000-11-21 20:54:10", "2019-12-02 07:43:57", "2007-07-01 06:03:27", "2006-07-27 21:12:17", "2014-03-02 19:29:18", "2018-01-04 03:01:22", "2018-09-27 05:01:35", "2012-05-20 04:53:27", "2017-10-12 19:54:57", "2011-09-26 17:02:56", "2011-02-22 06:36:27", "2017-10-02 10:06:43", "2002-01-26 19:02:30", "2016-04-19 11:29:51"],"c_map_tinyint":{"c_map_tinyint_1":-54, "c_map_tinyint_2":-6, "c_map_tinyint_3":-8, "c_map_tinyint_4":46, "c_map_tinyint_5":28, "c_map_tinyint_6":101, "c_map_tinyint_7":71, "c_map_tinyint_8":-80, "c_map_tinyint_9":44, "c_map_tinyint_10":-64},"c_map_smallint":{"c_map_smallint_1":16678, "c_map_smallint_2":13737, "c_map_smallint_3":29306, "c_map_smallint_4":21536, "c_map_smallint_5":-11776, "c_map_smallint_6":-3558, "c_map_smallint_7":-5746, "c_map_smallint_8":-8267, "c_map_smallint_9":-13260, "c_map_smallint_10":-2677},"c_tinyint":-69,"c_int":-618102656,"c_array_bigint":[8522047317837351303, -5588970383441313254, -6361070594119046486, 136345088304809195, 4730600938465776510, -142874982112650902, 4914968506920638325, 8683193546254990680, 4030079260535996974, -2763819048640773045, 4322409602239100376, -5653147698226162444, 6460776388917962101, -7719022418695473961, 3751826116515004481, -712926436650042608, 3121733563553450713, -8693981693502310535, 88096191355156970, 2761251722058802862, -1181980913656487560, -6498270513821857636, 7377179873178050699, 4496304276498539397, -5404078605342694152],"c_map_double":{"c_map_double_1":15.742284191084222, "c_map_double_2":62.146872355885634, "c_map_double_3":62.29110335120752, "c_map_double_4":55.55093664460225, "c_map_double_5":99.64270338558252, "c_map_double_6":35.73217193197243, "c_map_double_7":61.03419011992243, "c_map_double_8":3.5155173859342415, "c_map_double_9":46.953396722506994, "c_map_double_10":75.97074542059444},"c_map_bigint":{"c_map_bigint_1":-7430816910460081579, "c_map_bigint_2":688223306156289031, "c_map_bigint_3":-4326144421140457943, "c_map_bigint_4":743189252230491543, "c_map_bigint_5":-4009570515428972893, "c_map_bigint_6":-5496829467925528339, "c_map_bigint_7":-1653107184297516857, "c_map_bigint_8":-5747451993588238488, "c_map_bigint_9":3604153127888577600, "c_map_bigint_10":8772301237142016070},"c_map_decimal":{"c_map_decimal_1":79.1367, "c_map_decimal_2":90.1706, "c_map_decimal_3":43.0545, "c_map_decimal_4":0.1890, "c_map_decimal_5":52.0025, "c_map_decimal_6":99.0135, "c_map_decimal_7":24.1766, "c_map_decimal_8":95.1486, "c_map_decimal_9":49.0029, "c_map_decimal_10":61.0926},"c_map_float":{"c_map_float_1":89.00776, "c_map_float_2":5.7626085, "c_map_float_3":76.22076, "c_map_float_4":38.605576, "c_map_float_5":65.37668, "c_map_float_6":6.929554, "c_map_float_7":48.984848, "c_map_float_8":84.49674, "c_map_float_9":29.840782, "c_map_float_10":48.725758},"c_char":"jRNnIqrMcr","c_array_smallint":[-225, -28533, -10529, -1235, 20434, 10105, 19153, -14708, -4831, -29945, -22477, 15270, 23509, 24192, -8532, 21163, -32528, 19136, -29962, 24207, -13899, 19910, -6321, 5709, 11293],"c_array_int":[-1807285340, -735490990, 1919934612, -1746168049, 992117475, 1075979212, -1717823261, -625276011, 12888327, 1928149586, 329710670, -1792962103, -961585041, -1443170537, -328639262, 2056835477, 1364148325, -249585342, 2113179001, -743118972, -926171166, -444711592, -1167598368, -2073443256, -559039645],"c_map_char":{"c_map_char_1":"DYEDhlRFyf", "c_map_char_2":"nwCgDFubVW", "c_map_char_3":"JXFtBcoXml", "c_map_char_4":"gjnUGfMwXn", "c_map_char_5":"yxEBBxcEwW", "c_map_char_6":"wsbJTCDtNa", "c_map_char_7":"qUgsRzsiHp", "c_map_char_8":"hXoGxZonXX", "c_map_char_9":"erfNBdKLqs", "c_map_char_10":"VYTGdQXKJf"},"c_json":{"bs":"evolve"} }'),(5,true,false,null,127,-128,0,0,-10192,10343,28834,-776080345,2147483647,-971036165,32679,4729164,1,245,-5201985,147483648,-867836,300.343,40.123,99.99361215993304,99.41017306872816,300.343,null,300.343,60.0735,null,300.343,64.0889,0.0487,40.123,84.0312,300.343,40.123,300.343,300.343,12.1376,100.02,null,62.1918,54.0582,300.343,4.0523,55.0248,300.343,73.1194,100.02,20.1859,300.343,19.1049,{false:true, null:null, true:false},{null:false, false:true, true:false},{-101:-128, 127:127, -67:-6, 1:1, -128:-77, 8:0, 9:0},{3:-66, 127:8, 124:3, null:127, -53:7, 39:1, 21:6, 0:0},{32767:-32552, -2151:8378, 32360:32767, 3526:-21161, 0:-19516, -13417:-11637, 18820:null, 5397:27482, -32768:29225},{-29779:-20233, 15220:-30411, 245:-29767, -7275:0, -31110:0, 5923:-32768, -32768:-8065, 19753:245, 19863:32767},{2147483647:32679, -1814268208:-2147483648, 147483648:-389754303, -1182922432:92453426, 32679:-1760736286, 0:null, -757572703:1306507338, -1300397212:-1787433868},{-1510720901:32679, 0:0, 1334466833:147483648, -2147483648:625036155, -2001152396:2147483647, null:2147483647, 958166662:-1440365, 757126489:-1081789989, 2129631074:32679, -1268117021:null},{22188:32679, 1894778048292238268:0, 32679:300.343, 147483648:-8026522784030898318, 20240803:-1105500, 245:300.343, 1:4199366753095440205, null:245},{147483648:300.343, -26098:6271220, null:32679, 20240803:20240803, 1:20240803, 300.343:7},{null:-3012051013660552308, 4915824947085908337:1, 1:2065131386964294101, -2729694561260965355:-9223372036854775808, 32679:-678259, -682811381:5332329, 147483648:147483648, 9223372036854775807:9223372036854775807, -3323655:1, 728042682:147483648},{32679:5561216, -622800251993837797:-9223372036854775808, 1:-5105736066353304132, 9223372036854775807:1, -8429880616601737807:null, 6134702615708749902:null, 8417693383186874752:657795564489734071, 2742380:32679, 245:9223372036854775807, -2754841434885479441:9223372036854775807},{100.02:54.645657, 300.343:57.318516, 1.50368:78.37001, 51.838787:40.123, 38.192627:300.343, null:4.906244, 19.636316:null},{16.87896:40.123, 100.02:80.360855, 92.6509:300.343, 91.42009:40.73889, null:100.02, 70.39037:75.25124, 300.343:19.625172, 38.507797:300.343},{300.343:10.525294677112566, 73.44421723328414:58.197123158372875, 29.92017213977512:20.512493232202047, 63.652384709267004:null, 69.58513450741924:99.66486159248335, null:94.57632849602892, 40.123:40.123, 90.14765267619889:40.123, 59.56293121037353:null, 4.002543495858817:100.02},{62.484375036565574:null, 40.123:300.343, 45.395100202150665:100.02, 100.02:100.02, 300.343:23.45299460678617, 61.233052899996146:5.301997586382538, 11.931091407022222:300.343, 23.114541647556337:40.123},{98.0071:"2024-07-01", 73.0383:'j', null:"0", 30.1906:null, 100.02:'like', 96.0958:'a', 42.1151:'x', 73.0101:'u'},{98.1945:"20240803", 97.0212:"2024-08-03 13:08:30", 100.02:'i', 40.123:"300.343", 60.1875:null, 43.1530:null, 22.1798:'some'},{100.02:"9999-12-31 23:59:59", 17.0099:"2024-08-03 13:08:30", 12.0304:'go', 92.1150:"20240803", 24.0026:'not', null:'tell', 96.0986:'time', 45.0778:"2024-08-03 13:08:30", 81.0366:'back'},{43.1226:'if', 40.123:"2024-07-01", 2.0659:"0", 100.02:"2024-07-01", 96.0464:'in', 76.1989:'o', 300.343:null, null:"2024-07-01"},{40.123:'q', null:"2024-08-03 13:08:30", 100.02:"2024-07-01", 42.1257:'h', 80.1138:"300.343", 300.343:'of', 72.1640:"9999-12-31 23:59:59", 19.1310:'really', 9.1447:"20240803"},{40.123:"0", 76.1193:'okay', 100.02:'k', null:"1", 91.1440:"300.343", 82.0687:'and'},{100.02:"2024-07-01", 71.1277:"9999-12-31 23:59:59", null:"2024-07-01", 100.0709:"9999-12-31 23:59:59", 40.123:"20240803"},{null:null, 59.1980:null, 71.1931:'g', 13.0791:null, 62.1912:"9999-12-31 23:59:59", 100.02:"2024-08-03 13:08:30", 35.0831:'why'},{40.123:'didn''t', 63.1189:"1", 300.343:"0", 100.02:"300.343", null:'on', 23.1057:'e'},{45.0575:"9999-12-31 23:59:59", 56.1046:'k', null:'mean', 2.0307:'tell', 100.02:"20240803", 81.0555:"0", 300.343:"1"},{23.0828:"2024-08-03 13:08:30", 100.02:'b', 26.0755:'he''s', 24.0607:"1", 300.343:"0", null:'c', 83.1091:"0"},{300.343:'p', 40.123:'b', 59.1974:'z', null:"300.343", 95.0305:"9999-12-31 23:59:59", 25.0747:null, 15.1896:'j', 27.0173:"2024-08-03 13:08:30", 64.0220:'up', 63.0898:'h'},{82.0442:'do', 100.02:"2024-08-03 13:08:30", 300.343:'well', 92.1047:'m', 80.0790:null, 40.123:'n', 14.0556:'here'},{0.1390:"1", 100.02:'have', 300.343:'was', 16.1824:"1", 74.0557:"1", 20.1908:'was', 46.0015:"2024-08-03 13:08:30", 77.0015:'u', 40.123:"2024-07-01"},{"300.343":false, "2024-08-03 13:08:30":null, "2024-07-01":false, 'w':null, null:false, 'x':true, 'they':true, 'who':false},{"20240803":true, 'f':false, 'i':null, "300.343":false, 'really':true, "1":true, "2024-08-03 13:08:30":false, "0":false, "9999-12-31 23:59:59":false},{null:-83, "2024-07-01":127, "2024-08-03 13:08:30":-128, "1":-98, "20240803":92, 'been':-6, 'i':8},{null:7, 'as':77, "0":null, 'v':1, 'i':-128, 'q':4, 'l':0, "1":0, "300.343":0},{'mean':-14512, "1":16866, 'yeah':-2530, 'i':32096, 'k':32767, 'w':-19584, 'that':0, 'is':-12432, "2024-07-01":-16791, 'or':-19427},{'p':32767, "300.343":-28617, "2024-07-01":-16587, "0":-26032, "20240803":-24541, 'w':16800, 'n':0, 'v':245},{"1":0, 'going':0, 'are':32679, 'v':147483648, 'w':334081303, 't':1530201153, 'o':0, "300.343":-1566764384, "20240803":-888783543},{"300.343":32679, null:null, "2024-07-01":844778966, 'could':32679, "0":2147483647, 'm':null, 'I''ll':0},{"300.343":147483648, "1":300.343, "20240803":2170763167028689778, null:147483648, 'w':147483648, 'she':4486200, "2024-08-03 13:08:30":147483648, "0":32679},{"300.343":740992476581684715, "9999-12-31 23:59:59":1, "1":9774, "0":300.343, "2024-08-03 13:08:30":-2335327582873560102, null:20240803, 'want':3863},{'l':1643730844, 'n':-2560990079132132804, "300.343":-3575018103118006005, null:4536742679036802088, "2024-07-01":6020527, "1":-9223372036854775808, 'didn''t':-9223372036854775808, 'no':null},{'t':147483648, "1":9223372036854775807, "9999-12-31 23:59:59":-4209228419054626261, 'u':-457079580, 'z':9223372036854775807, null:null, "2024-07-01":-9223372036854775808, "0":-8138615596072003143},{"2024-07-01":77.19418, "9999-12-31 23:59:59":300.343, "1":40.123, 'be':2.2343106, 'l':51.664886},{'something':46.14111, "2024-07-01":34.12513, 'j':0.704157, "20240803":65.99493, 'going':39.509144, "0":300.343, 300.343:null, 'want':34.085835, null:27.912113, 'c':null},{"20240803":2.6422086014359, "0":17.73580746881703, 'no':null, 't':100.02, "2024-07-01":53.207472896113565, 'r':90.02439411583195, 300.343:100.02, 'n':40.123},{"9999-12-31 23:59:59":44.59964824424053, 'really':null, "1":40.123, 'y':14.007330191562396, "2024-07-01":100.02, 300.343:92.99420738393275, 'q':100.02, 'good':35.15828657176656},{'did':97.0384, 'p':66.0238, 's':40.123, 'e':49.1727, 'from':53.0221, 'f':12.1973, "2024-08-03 13:08:30":300.343, 'how':null, 300.343:54.1801},{'h':66.1479, "2024-07-01":10.0058, 'good':40.123, 'i':44.1498, 'f':74.1340, "9999-12-31 23:59:59":40.123, 'my':23.1814, 't':40.123, 300.343:95.1664},{"2024-07-01":40.123, 'could':77.0657, 'p':null, "300.343":40.123, "20240803":300.343, "0":24.0698},{"20240803":300.343, "2024-08-03 13:08:30":80.1636, "1":100.02, 'i':0.0356, 'some':62.0143, 'they':null, 'l':null, 'k':300.343},{"2023-01-15 08:32:59":false, "9999-12-31 23:59:59":true, "2024-06-30 12:01:02":false, '2005-02-18':true, '2019-04-24 07:25:45':null, null:null, "9999-12-31":true, '2011-11-09 22:33:25':null, "2024-08-03 13:08:30":true},{"2014-08-12":null, "2024-08-03 13:08:30":false, '2009-07-04 01:06:51':false, "9999-12-31":true, "9999-12-31 23:59:59":true, "2024-06-30 12:01:02":true, '2014-07-27':true, '2010-08-01 12:47:46':true},{"9999-12-31":null, "9999-12-31 23:59:59":5, "2024-08-03 13:08:30":-67, "2024-06-30 12:01:02":4, '2018-04-20':57},{"2023-01-15 08:32:59":1, '2008-08-28':null, "2014-08-12":71, "2024-07-01":1, "2024-06-30 12:01:02":1, "9999-12-31":1},{'2005-03-15':-32768, "9999-12-31 23:59:59":-23358, null:-32768, '2001-11-10':-19950, '2013-07-08 17:18:07':22546, '2000-04-14':0, "2024-08-03 13:08:30":27392},{"9999-12-31 23:59:59":11179, "2024-06-30 12:01:02":-5972, "2023-01-15 08:32:59":-32768, '2009-08-27 04:57:39':-6246, "2024-08-03 13:08:30":null, "2014-08-12":245, '2007-10-23 22:52:02':245},{"2024-08-03 13:08:30":-2147483648, "9999-12-31":147483648, "2014-08-12":147483648, "2023-01-15 08:32:59":-502683135, null:440089228, '2012-01-17':0, "2024-07-01":61658545, '2010-09-28':1791820787},{"9999-12-31 23:59:59":2147483647, null:147483648, '2000-06-15 11:16:20':1498993263, "2014-08-12":147483648, "2024-07-01":-2147483648, "9999-12-31":32679, '2019-02-26':2147483647, "2024-06-30 12:01:02":147483648},{'2005-10-08':32679, "9999-12-31":32679, "2024-07-01":-6598278059081825282, '2005-03-03':9, "9999-12-31 23:59:59":24453, "2024-08-03 13:08:30":147483648, "2023-01-15 08:32:59":-28996, "2024-06-30 12:01:02":-9859},{null:18415, "2024-08-03 13:08:30":null, "2014-08-12":1, '2018-01-24':null, "2024-06-30 12:01:02":300.343, "9999-12-31 23:59:59":1, "2024-07-01":null},{null:4812539077841572978, "2023-01-15 08:32:59":9223372036854775807, "2024-06-30 12:01:02":1, '2013-09-03':-1263967337, '2017-03-17 03:25:30':58008528, '2011-10-09':-9223372036854775808, '2001-07-13 20:21:31':245, '2006-12-01 03:43:19':8039551766264307924},{'2019-06-06 02:22:31':147483648, '2011-01-15':6156337, '2013-02-24 22:23:37':4690766458817194973, "9999-12-31":null, "2014-08-12":null, "2024-08-03 13:08:30":6434893, '2013-10-12':1, "9999-12-31 23:59:59":32679, "2024-06-30 12:01:02":2320751993918601683},{"2024-06-30 12:01:02":98.36056, "9999-12-31":null, null:null, "9999-12-31 23:59:59":100.02, '2001-05-26 23:06:43':79.838585},{"9999-12-31 23:59:59":37.101933, "2014-08-12":100.02, "2024-07-01":100.02, '2006-12-01':40.123, '2011-12-14 02:37:26':300.343, "2024-08-03 13:08:30":37.588093, '2014-12-10 18:46:59':5.7947454},{"2024-07-01":82.25909378016833, '2007-06-13 16:32:56':87.63853712476926, '2007-12-25 12:36:13':48.377490346186434, "9999-12-31":300.343, '2013-08-17 17:15:33':0.6597026533570203, "2023-01-15 08:32:59":97.23285586681605, "2024-08-03 13:08:30":76.77085992155004, '2014-04-10 17:06:26':100.02},{null:null, "2014-08-12":100.02, "2023-01-15 08:32:59":null, "2024-06-30 12:01:02":40.123, "9999-12-31":100.02, '2015-05-17 22:53:53':40.123, '2015-10-07':300.343, '2005-04-16':100.02, "2024-07-01":300.343},{'2013-08-03':10.0591, '2019-04-07 14:37:56':100.02, '2012-06-27 14:01:14':300.343, '2002-08-18':40.123, "2024-08-03 13:08:30":1.1993, "9999-12-31 23:59:59":null, '2009-07-08':40.123, '2017-07-28 13:49:10':36.1037, "2014-08-12":300.343},{'2010-12-14 02:32:46':40.123, "2024-07-01":14.0695, '2007-11-09':null, '2006-01-15 02:03:05':null, '2002-11-11':300.343, "2024-08-03 13:08:30":300.343, '2005-06-03':80.0219, '2019-06-21':null},{"2023-01-15 08:32:59":68.1613, "9999-12-31":null, '2010-11-02 04:44:56':300.343, "2014-08-12":53.0738, '2016-03-23':4.0393, '2013-12-26 22:07:00':4.1104, '2010-03-16 00:40:02':null},{'2001-06-17':null, "2024-07-01":40.123, "2023-01-15 08:32:59":40.123, '2019-05-09 08:13:56':100.02, "2014-08-12":73.1056, '2003-07-26':41.0661, null:33.1612, '2007-10-25':35.1865, "2024-08-03 13:08:30":69.1282},{"9999-12-31 23:59:59":null, '2003-07-23 18:24:42':100.02, "2024-06-30 12:01:02":29.1600, '2010-06-14 10:02:01':null, "2023-01-15 08:32:59":36.0517, '2018-02-17':79.0512, '2006-09-16':40.123, '2002-03-10 10:58:56':100.02},{"2024-06-30 12:01:02":100.02, '2011-10-27 02:09:04':58.0445, '2016-07-20':86.1735, "2014-08-12":40.123, null:78.0931, '2018-03-15 11:31:11':55.1612, '2010-05-20':100.02, '2008-09-20':65.0368, '2007-09-24 12:49:22':null},{"2023-01-15 08:32:59":100.02, '2004-03-12 19:22:59':40.123, '2002-12-12 12:08:21':40.123, "2024-07-01":100.02, '2011-03-28 14:48:52':300.343, '2007-06-15':null, '2012-01-28 07:54:42':43.1197, '2017-01-12':10.0475, '2019-11-10 17:57:21':40.123, "9999-12-31 23:59:59":40.123},{'2017-05-21 11:57:53':300.343, '2015-02-28 23:01:57':9.0283, '2005-06-21':31.1371, "2024-08-03 13:08:30":100.02, '2009-09-01':94.0836, "2023-01-15 08:32:59":28.1506, "9999-12-31 23:59:59":100.02, "2024-06-30 12:01:02":null, '2002-10-27 20:38:59':100.02},struct( true,0,3471,-240560996,32679,1,300.343,74.21213490202415,null,29.0037,83.0001,null,59.1447,40.123,27.0933 ),struct( false,127,10504,-1423828080,20240803,null,100.02,40.123,58.1886,55.1175,76.1999,300.343,59.1008,100.02,40.123 ),struct( false,127,-31835,-312879482,null,7228344,94.633896,100.02,93.0287,300.343,84.1433,73.0392,40.123,300.343,75.1025 ),struct( false,1,24646,1598438319,1,32679,6.6266413,56.98008681782228,300.343,null,40.123,79.0724,3.0430,100.02,300.343 ),struct( true,1,11784,1458256370,4,9223372036854775807,300.343,96.45299260875315,40.123,100.02,26.1272,40.123,22.1308,4.0490,88.1542 ),struct( null,1,10734,1995335524,300.343,0,57.723083,4.843691743269764,100.02,300.343,40.123,100.02,64.0965,87.0357,40.123 ),'{ "c_map_char":{"c_map_char_1":"ZKGnyWqeFy", "c_map_char_2":"aOyrFDALSN", "c_map_char_3":"XuDlUroLOc", "c_map_char_4":"KlbOgEvyXA", "c_map_char_5":"ttqffvUESk", "c_map_char_6":"FymUpNKePM", "c_map_char_7":"NcVxIyPsQj", "c_map_char_8":"UyLXTDuPKI", "c_map_char_9":"FzZfzyieKN", "c_map_char_10":"jEXXmJJkbQ"},"c_bigint":-4485470455580481813,"c_double":21.03784128346761,"c_char":"FIRtmTAbDE","c_array_smallint":[23688, 29230, -1374, 17268, -27243, 27816, 9278, -26604, 10022, -6723, -25003, -10091, 23709, -19514, -16841, 11111, -15255, 2065, 21416, -17318, 23063, -18801, -9774, -22347, -18967],"c_array_double":[55.074672687567286, 27.012420683847246, 26.081717383617935, 58.706099015032336, 81.89171383174806, 25.348046346049756, 59.498272103829535, 42.85186869578045, 77.90468098310131, 28.616119230606035, 59.41505082379867, 32.54836150878205, 70.8470702943043, 65.16293842193792, 1.6608063350977345, 36.271361686195135, 33.99917286842669, 72.70246743745624, 20.808946114834463, 94.7375912585308, 38.24306733481174, 60.936361985117905, 56.79233544791646, 29.115296306654102, 23.251669696273947],"c_array_varchar":["DKDGFaRbtonXftmBylHBclJCdCdLyhHwShXPsRdVJYwnkQxuRBIAeTNTnLodpeRhoUzHTqYhkANEjtCspIqLBPeEjwcejysRjhHmIDIBUydqWDuXIurkcXmoUyCukzNcEhCzwbKicYaPnglJanUpaaMwMiOYAFwFsblsKegSmOrBuUxlUuixpGLphynmfFKiIgKqjVfBXyygtPYEejjBELXsuHCXhFxsIMVQyAOICmlEVELmvAQjuefDmIyrrSFa", "dTDRUyHYnXtRMftvJHeYdyUIHIzHJnRiopZDjCqRCUekLGUcNtgXTmZlLToDCDdqHAlkFlgttojzjcZDllKzXcudEQdfjqbkYtkNsnheapBgzzidGkmJXzyWBMHorjbZwtZvCXOgXQtawInyRZiWDFiSJIsKOLNEtvYdHjJsUJsKTFEmexIHToPPXlbiyWPenGGFTsZPRfKHhmSXvSIvPNefvWPwoFSglekqQInIawwWztNWaaOxgveAHOKxkmlP", "zEinsYHLHwActFLGZFifqTqGdlFylPGsGlPKygujunbZOjVqLTSDpqeTFHkjwMJvLOeYJbQWqHFgUoxYjKpRPSVmhnPWyGTVNnHYeQlubfBKzPZoLkvGVxzgQQLzZeSzwQmpfemGhYZYcXVXCfgLjQLvveKRtYltsDPiNTknzlyQpHuraOOwkwAILYLOowbReBrgjGiuIYhqVZMlGbEmnxCxhgAzqAyDqRqRcSNGJhQPvAQQwDmpEluncoJtHHFk", "uyPzsUXVAyyscEDjFvmkKPpTWVwimrqtXxENsPqGqnifQjSGJYkKxTzZgecCzEDKuASlNzOqiYCpHxnMKjGqeNbZtuTBgRHRSfKGMekBtaNZrvGqKalMRfqSDrxLLKWlmxElBYxnEERDgReozfOLrkOlpuEiNbQgHmcjtYJFHANpRFmEDCvOMDpnyBEPqATHugaFlKAGiUictyVcCriKpFCUgmAaBHLYvhPIzIVhTsHAdQpYpteoJoHxzgrGpoGv", "rAphBnyGvaYgsYFPvsYJjRXEVEWQEOBaRNlTiMkYmcTMSbfmqQQCecwTaKlSYuREjdIwItphNxHUXqysSHSwimvVaRzzSiWTOvJWfROdQGvKXNMAjKqwShQnivCAviTHycRnvQHgMFRSawAsnFXQXmzAskReEhoOzOoSZRULQBwBtKlsPTWLiLGKuCKqBpQzQBZSlQergnkJHufhcVQaYVAzDYIXCnikOKPVelNtbKzJIujccPwbhHnBkqKzhyil", "STTyNQZCoZrRKPgnFCFVUxFJjEBXdajCEuGCcOOrbKVqcOCPYIeeFqLLTdscHDgqCPICdlOEZjwUtZjjzMEVUlFskxzVycEVTrXxbJOPNzSulwfOBXsEpGBijPjdmMdWMJoIksbSItiVmhKUcLhRCxwatRoQBoQtkZXdbxglYxtRCwRLxIPgAsEHogGKZHYFBqknLESTEfCvlMSBzyFbHaBKWrCqiqpzjjoGjVEweYNJqFLpTbGWtnarMiVrBYYa", "jmJfBnLYrYMNiwaLkkpblZjMKpCHLfbHJcwsDNIdFYXzKJRCimobdVoGMeKeFQzQamOHaiiDUIomBXJBZUntwoJvwOCYMMGhDSffOvuuzmjmyyJbCCMfezDZSLfwAgqwnGZqSqvdFNqHhpnZjdPksKXBRhUREzkKgzNObFacUUIJxxjYrwklydOpFYZGaAqVGJsjRgCIcNXxBMdqpyECqPBDbxxCKyNLAWSWhioOYwokehPchhQXUhMpGKToGopN", "VYHKcJEJZZkRYgxwtqmWsusGoFXSIKIGUbqptGXxdWCVeZhxzSAIPZRorGcCXTBRmFlkNNdDnPOcAwFXVYguvzboxSCWzSQKZIguXVpKqJcmfLedQmOAMidmJurNYIRbVTCgsbMfcbIYZBwhWlXOMvidxcCetVCLIFglanRbqzUjbyafkUUqfROaDlegjHNtRvEmVrsoLIyebdjlxXbJuAnZgIOpIgEwSTYWKulWIaQgMmeCibGAOcomPQqVFkXw", "cnlJjcLxYFlhRkrpKALTPIXyvjBXHVUDOekrxomvAxTcuQMGEsMBhUEPxgoBTpVAaMdZKawfZdIgZJXkftIrYXprPnZlxdkOpLbJHclRSmWWOnQnhlQtCRuapxywXuTEaQtLKRNpHBhQLkWjxhDoFXZXErAopTpmiSGAEDyNwbHOrppzGEfHjLEFWPADWIqsehsQOsjQjoZjpaukXMiCjKZbfbCylgeVglIqxXzQjCjAdeIVhBDxiTlaygakpKnd", "mzPQJyGkVjtOPTTfRtpGMumrLXXVxcQkBDlsEtwNvgVcBqSIDBHyiyvgJmiwSreZHyEChqcxJWTXfxKSmHFvyMLJeXOLyCFRhilaDolHFNOXlqgwyjeQJZlXKDQoPrwwNJCobcKjORyJjGgglXPaoPhlFgeFfJOglHQwvVwJFqvWAjKcffDeXDUhJJCrwaSAulYOlstEjoaqvOHVmEcUeYezLyftNRvqTkMWznQtakGiuwYjiGXuDeMxvtESUGLR", "cLrkMwcRKOYHiOeLXLBjygticcZGLNCmxxKTsitDPMworCUVewKcRhhNaAyPmOVAjZBsHuYAcQoLlgiqsAMAxNVUHADCpkwuUTfUQEbzOPRbMWOSOSnGVTOfOktJUceJfRdpDjWdIAPpIOadsFJOuBRKjybqEJsemStIlNOyZevIzvgZshTGsjLFUcZQVIRavCXjJlppvaKrGMPIbKXKEsutWJBmMgdmWdiNImgVTDCtfgojsqXZxbaRmkpGTEOw", "uILfHhSPXcbvTVpzRDaSqrZICiutWbDVZgtnmZnAYEIltjfnpwBLheMRFwFntIMddqaquLKynkqqSsnyCasPaKHUMXgMCCgymjdtSXxtaROIaNjLRbufOfWfvnqRzEKCunjZrbbYAmGBDQcKllwVMMyAsWzuJAieyuGILAMiPMEhkdSkYpqiijRHFTDtGLXmdSLQmLthlBbozYUogOdioLbMRlOrdaDQglnTmcZBFRuPrUzLCkQfqWYMBKuRUPmd", "wiWvTwXGagAEUwCYSVjDWqujnnlbrjZMJPzcXgcuhYUNbZzcOtdwwQhTZUvWrnvwCdzaRhAHeLBBzwUkXyJEkYMctHzzhlEbMQMwIgJBYkhKVhpbytcPtwrIhDGHHIHgZcZrlLJklWwqORwFNcTihExwkLPXNeqtVgRVEfDbxgBDNRoFcuNnGAqFfIrhrwgMJAWqrZnBooyplTcrZBIcOvARJomlFRknmtoxkylpCVPIHkPCvRnVEcrXREvLRYsg", "VjrrxqbseHhmMJfpczAPFqUuChAIguSLnEDnNJrCjFUyXxJshoKRpAlpqeEGoRAHcavOocLzrSAyUhDdtNvHpIrzKBnEMNQFkpejmJNGXtlfWkyeMDuXWDWUUvxTNZAqljHMDPiJuZEtKgHOcIBAxAJNusriqrpdPoxoddkDTkENGdaIeVyqMcyBOyvKydALInUCYaGMKaYTeKiKzGdYJEngQkASOIrrSyqUoRorJyHwCssJluwSSUNqjIebHdmZ", "yhiCamgyiYjQXVqqSsnHqxAYwBNNChIsaHtLEJFfHVysDbGnuGAScLVdXxaueMbtBlvfZQCpqtxPMDwOvTGQmkqffxsEalrmiBPuSMKVzWwWhQNytemqXYxsBZDgCOdGupdNnMxEUcRYjVlOkcMTsvWTXwvpoUzioiLOLXmDzjRJUpHKNegRnmodyXcsgHaekXnOrlGRuPjemePLqnkeKUsubCnWEGLgjSUeQoGcZmMntNctIfhLfnslGHJoByIv", "gwMeZGBHGdcqLEmJRDoSPDkInLVNnEvUteZcaBgrnnLgDLRidkWLxXynKfGfKgfsltgQGaGTGPXodYcQGeqagcmwNtDZoptSbjQYXdkoUplQiUPMbpwPGiwvtRwqLYgsDMStsYYlNOMqpojwHTePsmcNPVjixzrwOBmMeMwwaTzTUQoiKDtQxxRNzFnrgepaAWNwXNgftdsyTKRLVlvMMxzKCgiIFFrytrgEGDdQZNdtaxQyyYfmaVxTTsLrilkJ", "TEeiJPLDLvJpVONPTfgKZnIoTmIVFXYqNMtSegwRgDmBwSQerBrNIFNadgNDkIeiqaNQEsdJqYuHlZjmtSNjpRAELgwkCAnllvtdWjHQJKMKinnJPRkRKLaDvzPhWOhIBljBlXmEOpjFLPNZsPfoZwZcYsrVmRIzXEpefsLiSdGTjmQBAPQWsYLAfrxqTUnDJIQqzEDUgKokykCVeABgSpiKFXWvHxtcynVWEkjWyOeytzNXSUkrZYZBdWhimynM", "WYjkMGtzbnTjMrBHuxHkOzmmpwGXtTgNsEQFmZBangvlJcpTwaYrjtkTlBovkxmfnMlISlbDxTVIMTKPKNuRAxUKVQWNtxsFGrDTAEUwpeorrBasUPPrwuMqKbmZaVmEAJpfEZGVvVwbVvBJblDPsMXRYoTlcLgQzYyddbMwPUgbrTKZxIUAyeLQqHkGSFLDunEtMWRBMBdUwOBtzLIpvKVNtrmPdTsxHAfEadbbwplrnBStQeuslFCjyCejhwpd", "jwhJDTDRoNyIgEwEQjqebNGSFVzRLNROeDZpEiYBgDUtKKRXYbKQWKJlggeMRXgebbTFGgpOwlgnowRHQyBSyDnPfUQKnyWDUubFnMWVsIvnNjAUblmRYDDAGLiWBiCtXuAmJqTIdVytdpPpwWFUKjwkAEBxunPmztTIfieLOxBqtIpXYcFQwzBMWGEHGfAkwhgXLeCIhQDaBjIquCXcIASJWkhRwAcHDmgfjDJsrnwJzWMKRsjTuGnjIHfSYyiW", "bRhSeVIiiPuSkchILAAeWkJKltQMzHDlFqwOReRbZtsuXzyDYbmLxIuCKVukyoKcEETlfcnUpKShrYdOBQxbodmPiykptQmiqTtdLNGBMRGHyLKeMPssTkleUAMIKYZGccixEcWcZOEuuvQlSzdGlnSXggqZRyKbbnxtTwEjWEkhxkmpAAeCPlwlxWkPXkXZSLeiQJjoaOHvAgiCjWdtZxsihxihYCSUVGwLJFKphpISvdgxAIjbghvDEYrYlBrN", "KpquPHLOdjNpPoBaqwVKdIndZzukoNWEGcUfCBrbcqJSIoZZxRZqZckptmqEuFYKHRYhMlBlYHUbiIfszPMVSsxtCvmFinwxHYOFPvESIqOmzydLadlQSuYEhxXuAoDBnOeDHqXyTzMaWtVLSbsSKdCDMaWgHMgkWdzdvRXEXvhScVBAtnhtVtkamkbdXIQrMnPNBPmmVFOnTelpeTvBiyIXqNjErobMlxUWXkaPViJhMtwYiwooPMCZvCpmmZWf", "EQSYVXfIRuGfScHKEvLyazuCuioMEcjqXjOCnXfvvEeQuvPVOALeORtbXmrsgZnJoVmGsKRhoylcFVCfxwPDkLAZxPxScpEowELYdDsZQnAvcHINugMlOWHrHausNKicRssqmDTRNXkOfjLcBWsZafXXxllwrgaArHqWDaZtpjYEIidVDIRVVNbarhOjuopFAbvGRKcXwgymmvMUcFogMCdkwooRzEECUnGHEjdEwWpDtLLPweBvPHvMpFQLqwpy", "rLEcrYizLhPxlMoEAqKlqDpyQcDmhdWhfxxsXvzcIDOaKAfEtIpJLmeTCCPgNzyXyWwhZrdHRYvcPILdxjIOawpwAweXrhTvnVWXZQlOSDFNpwZPJzTzXbpEwtPsFRyWtQVDClAVLYYtSvuHqiMDopNhWsuedkIEPNRxuanXjSNmgtPiKntkvexOupbIFYkwAGOVwngWjHqXFbdUBRvMeBKczyqBaJwrphkGFtaiQjeZYiJELIKOHnAVCWmNYard", "megZHDUKizZwSxcfLXeysACBYYILIBmqJUFXxvXhfYOHJNPxaQUVyIpnAqFOYZYmJJRuagYTRRVAMBbfeCSMEdGPgHJaMwCPAaAmxRdQXsFYqaMsPAfiTWJvjcLhiDcFTUjwUdJnNwudfOjLckbNAUxqmHhPgVyhjwSGoRnFmMomFddmnHtbpiXKfLMwPicIaLKXMVmZyPkRQJbxWoocEJSjsQWvTqfWsaCexdXTgQxMSvWPNmWIgqPhiOOlbayQ", "aZDQhrmdxcAoYnnIdwWCMKlOlpPEwetXcsvLejRGREiwqjKbLQXxtEkmRDvqXqpxOrFqFCRtPOexiRNpthGwebtzhKgXQnqMrQKBczOcBtRWhIjoZDgcwYCvcmgVXJHxDcMSzpEphmJwnokZeHEgNrpgLdfLqbCAoMEIOABBsUnaACVRGxMQopAVNtvEEOLPRsGyJFqdPgsEBxWVJCXjuPEiLOErbnOwaJgkXRZFDOXspNPmVazEQJhkNMUlEHQm"],"c_array_string":["CLhSSnUbzNsIStcExIJZmhnvOBqsOQQZtXRXzGtQGCOOuQrRDcVcyuURDmPfbiFmptAtFhjiPlRBRCpoeoerAQaGgJlPIrDDyQZGrWoJiIZcfQeNGJueesJVMWcLehmrTJkECgAuNbmZoBxnymFPCcQRBHpWMDAfDqKFSLbGEskrgzhekpHEDWjuptBByRAUcCAjJLvEyXwjEFCOflQpWWLIQkAEpJsHVOxueMaqoOJPPqolTOvMmEKfkjPIjvkuWwCGyCsqRxaQNvvjixYTviozrmQSrrikytmOFsZjpqvTMmbkaMydRNNOhJJkJcGtqoONzJCkLYPrdBgaMclSCzIWibiYxsiiHeewWMGOquuQZgLIuxDAnECZVybpoJDlmapYHWUODCQhUfdHTvUIIKBwdQmzUeCODZLpjyiYxVmkXwkHrGkZVlzxjapjCIGuWMemcVcTlcwVCvwctkGimAacTZndtaKfeslPYAOxBbtUYKhfLtprPVkZjpwGmnZK", "tesgHVNXwSZHQYuUhsiEJVnegTKBqeCcTBzVMdReUxytJiHJRRqtOllivOIsWilcfxueYunZcrxZlcvbKlQsUdNuWjUTzKyLxbLqadsZUhiYHQJyzGHubYbajEZCFeCKRiLiDgkdMYGCUBhksfmTlNCuZDlhSLgENwdWqzvbFwjBexRrEhYqYOMiPiOmGQBsgaUgHOHeFBfLQlCpxofcpkTOLxfdtgTexuTLQgcXsPQbDOWAqnqpfuUkUStfvwHkoxeYkhwCrvCNuHrRPTuUYrtvdUmUmhLCWRxlFERJLuKTLwEeMloPnMExXgcTQnKwtfncHIfrIVRHwFTJhKAQjhTzKlcaimMVTvNWUHXPobhMtyELhEHptxnsqzFVIrOBHNqFivqeFdBQjZQNdZvqdxjMAValjzlbLIGiktMdEBVsYzlYeQLdfXafZpCKFNQCBLbbvpvXlMTYwFDioUolVFetJURvaMrXJHeNnwiufLBfbWtAdwJxWaJBhsHNAzyT", "VlyUgSzAkiMvEKHhDgeKwSvftFXMkJPltDBRYYTpySVUkHViAJcqEZQjhgiSzowRxvheiMjnRUMnvQAmPachaETbAMSqgNZDwQGDcCOyfkVXAoJdIMjqTluXBdykkZyPcOXSFdHixcouctvDAzeJAPHNWPxOSDRpkKBtxTCWvuQwnkckNqFiDyrfYjkTrKJyIxEwpqoSwQjLaPVeMisORSyqdooGFZrMbwxANNFEbbMNfPyjIPmeNblUhCbQYWPcJjNMmHOfZEbMMXotqhzpjVjITaekzqclJYmDWycxwcwUqkaejwMoVAiIFLcUCZCdTbkarbDvFDOLvSgVtisosBcCuCQYSLsbXgUaOZnJHwUoRuGmZSSbUGIHLSyezDspHdrDsjXSmOLrKfqaVyfjJQmSwdJvNJMEvgphkidvspFucFlmCQNpWvydCadiZGonyBkHtjbwfJkkObzKiqdWWkAVgjfsTKIbUBMPZeZXvIPdGxDMGDZDtZiGYXBUeJtk", "ZYiZwgzPaXqZNRiijChfBZRSHPFWyaiaXUMnqrwNWMpEyFKwBoQoQMuEwZvjxxuhQcIdwqOpiFvrOihPIAyDSyCnRWqKTNTrjmVlGEksbrctAGnJsqypLdajQlbWjdiqeLascavSXooBAQXCShwPvJbpudYTUIbRmXVeqfyGofzPYkIQXQBCGEwerFRbOOHDIzvRvYVLfDBtevwGqiFGErZtwEXgdbwJjEDsfmhScdVGjIJRAjsnhgXBNsHBTLOEWFLhyEjxvpKbdIagoBQxRmzgBiygnwxMUtLfVbbEqPIpXCWwZbqbtYFRmqAaiRrgoLjtUssokWlyYpMvRmtxXlopzKZDIpkoUOeoqMixyDeZunAqbxHZflwVCKUwJGFuvheknBZSddRSHUFXoaNBcrvnemMvmhTKFXYNqkDHbRFznehJKonjLMhSKPBZnnnqimRYAtXMhwyFfHzMeqCZAZQQmwaWGoUethRbWfpTcFZpePzSggxgpPDmYfNgYkWY", "GWgDNbhrbdoWFqwdulHDyYaRMkpeugPepnVNrURJfgjuittJkGTKQvvrRQdKJVhxuCoLmReDfMGrncYAKkOTTOVAvOnZjRDzQfwaKZCbFJXdZeTClEFstldWWmAfMwsOhwgONgayRiAeiXbicEBklIJuSQqgxeCvKApzuxDbxOiuSCxVZtRTBzIvjAvaOVpSkcqzGRszwmCUqaZrkFdrFBXeIkNqmcYiUEyhDNIzXktRCHxVziCaUfLNTFqbuGOkWbxdknartmzDnWDHrseftYUvVlNBxFRSkGtTsPzDytSexzvKXJMKbUSsOyTUvZjFiVadjJeDgnHBAKnSYEtOjWUoNoXtihAOmGBRgFxZRLDztvqkqaSmPsSYahcvzToMrntaNHVECtcglzNAMiAIUAUBTSYeifWmVaRBggcGeKwNHozWzmZILOpeNrHRvhvgUjGUuHxQKKweKelZJmwwaOdDLbYrZcPokAFlrzBIlFxBIhqYaqdKFqLmDehKtznu", "lJBOEKzpEhxwmCDrjPmyKUtypeFgopQuTqNFgiLeZtCWqijKHsxiWXyRaSUNuDjBSsDLdIGCBTslSmVSVjNXHmRhilMuotqWISkaCfUjNqwPFSBLwJpspqJeLjqNQPKqHbyDeRIcWxUcyMGGDHnAJNEAPJcKbtcwvyntcbNukhdZcBpVHmPxryGRBjLqVQcWMEcbgdtpKQwoPOztifxxoKaEtRzOzthiSVdzXAvEqyaaZUBZWSFDiDcbidIuYfADYrIygpeUWCIsCitBINvxRajprjbElDygoMAfggHGxhgpgTBEvQgiCDXAjSPDlxYRbQHcHuQiDfTQerZFVSXaxMlraPPxdFOVuDaXpcBAQcAzIaNkYmaxKLujjHbiqWgiUaxFWVqSzoaHZJMVBNwjILjjgNaXyyZMxETJbuihxVJTFzpLXuOlIolnzPzAxyvDImuYFdoYZkqkCwKinGCjYEbFtvbmfkXjhKJzdjgyOcSrPsMCurcIOwGkFiWPAnbq", "qxnGZpzNNvamvOqPEUkrZZtJWGiMFsrwHzFIuRsHYbsXTquzbzzZvxScytANbSYBFCHtgLsxviEKcarUsiPJXWrLTUXzlVVetCQHiqWLOlBZAhxcKMlEhDDoWcLETlaAttgeExcYceCxGLyovmAmtbiamzVgGzDyqFaXAGhbTTrRCOHTDwoPHIqcgKbCnyMziLjNKMvjEmPnVNpHdTIrUASGTjmfyUbVTeKQhAfHDptDZIxVgiXCvBFXnltpiuVVjQKGMUVCfhjdoHAHGOPugnzaxYnYXidDePDaPFtfqeBRkybHQQGDtODprcRITspRrWAWiFiqvrQzYuvOjRYCUHNNmFBGPpyGpUdcrbLLbEyMHOnnCRDoEqhVcdbkcmXBUJbwhagnBIbAyveauKaKmOhxbxeYYYlHpaWPszXyRXjyxFnHqcjFOUlKYqkKEGKWGJtoXazyCkicBmRKFnOMfRIXzborsowAftmFpleTqkHfvJnpnBMZZjZftANWWCfX", "bYBjPdqvPYOxqBOGCLhqsohlGrcuhlBDbtfpGWIemABvVpdELjPHWzOIPxxDMtjVkyvhhjscJdBhHLCqvgnkGwxLkdDnHicQtcBaIoSsTtmwsCHDTcqUtLjObvyfboOoEBYjZPLoNRYwgszhxgreUjCfOEuBsrueEBKhEMeodeChNOKVWPUCsSnhqHPsKzQynXzWvJOVuFFzTrPcsJDvStDXCYmVzHBpANTGlhrQuFhzHtNeLjyrGjQGBrhHfKVKYeGezXjYolQyqPPMgrdixzLUbkOXYQlCDoAaTmqIumQRrquwzghzVrkyDfhgmtyaTADfSuZXxzRUHIMAQgZNrMhCfYwxAFdXTDveqoIIenQgKvAMcuQBMpyXWoMFtWBqxQDvzLlDmEUpCKforrBQqHYQtJznLoJLdqrfcrHBGOmadkFbIeUtEIEjQBqMRdUdlPpCMIDYKXPwXaqHhmnoRrtznGIacFsBhqxQNAnCsRQjkBkUsFQbdmBQKNBKBBPN", "uhVDzLuHiLPvTzMoRmimxMreePEBOoFvTmGWZZCzFzFKuUyHJPQKhxtrmklUKQDsTxUZjkVpAQFDunJNLgwhUDwYvmEYixvuqNSahPIjOqFmLsaiNzBylPqFgwFSvikBbyiqnZFDkcuFSxqaPJxZGpDQoEdJBtRYPCcVYdciKQDZZWiJsYrheWaagtnXyQDEsjppcDlqpqPhVODJvMfQkUqFRMuQMAwlwnsmxVRTynmcrcQbSAfcaBjsZvtAbbTtoGMxIppitodtzqJdHSLzgTDStfvYrIrmnSHPDKCnYpwpGNaJTkSpWKewwEpARMeEcckAxqEAvgxTqxfRgUbOOpMzVdBqwzqPOvSSRVyYuvSPdNiIEAbVboagIPlqvroCGPIshjCPfWUlEDEoGXRfmBdVXBJyYWdtPhoGJePhBpuIFZDHAAiDmLzBveiVtiilybvnuwnJcvkaSumUtEMUiyBNscKkEsrMIfGJVkzTbJpScnAilrxYsSoKYfMDJrLQ", "CuUcCTzDlzqodnKeXNaPXKspMeLqWthmLGaChodWeDSvGLHoENcUCMNwiiAchkMeoogayTsPvLlmjBkPnDcNpssztqMijFHsPdFDMQqgpdFmwCeCFRfWmbFiMSiVqHEAqcCUUifiwOndNQRHAnaOKwvrqxHGcTBBUFYJtyWmXcdpHAgVDszFHCGFhbbdDsmSlIskzbhllvJlRuMRumCKPrMkngQbQsBAhkGoyvRcVjEneUEbRiHYXmJmDeRmXtAkpHjTYtgHjzfkdgsNbemmALcPPauOKvJKjCblvjjBhAvUTltiTEBFqjDYLhSjSUflPQYhKhuDuDGRILOgzJTbGYccqVdwzvVDZDZhYJssWtNFWyKcvQEcGntRdOehyIPcSCYBkNOuLsQKfnWdOausmTherLqUWwlDHpBesoXFwCDmqiUaDDxwiDzHctuMiJxssDNwcIjCKCgDiRywCfGRMnPIxYtPibMNLucVzwAYsNhzHGZYBSVfaHSWJeNuWFFD", "zbwTqQRMPLOsrLWzPAaOEUTvCgCKUBvrVTWMdmuIURNHDLSWwrAIKlNkyrlnlLEQBqYWfAwBpxebBCIrWkZsaLWgBCpgZXOJwqiOiURigEdjKYzXliBgvQkZGHATtimwgKmptRJDrpPqrdleDkcgfPqcDzFVvHYJzEFUDSvWDbbQAfTZqfZvnEWtnuRbtxaxoJgEHMobWOpvXqPZspvkRTKuTXjREzfitlJiOhQaHmvJRYhvBQWRLkOvWZffVauHrmWDqTLFOpGwcmHvAiyTcUiBnGKaGcyGnGNZxqfzBffsTnQkvIlCBiuNSVUdsBDrcVOPOCCjrwpAYbntYvKMXuEYYqnrqvuriqEuwmsDoQngdQrwoGhaaJZXKOXQrfqpJKtnQBDgdNbHWKthIYBdYOSpYpcWvGteNOaxitRlppMrrdmqJsmCiRTbhTNjyErRjTSTqphCkOokCatjXZqyZzwhVKRWiBioABOcTfmpHNFXWMHGetHcEOTCHqGqsXpV", "ypHPJQUibhMwBEFdyEWHPKFSGhbJmgicRLjmmUOLavOfarzeIObRsLmbMZsOYMpGtQbKaPUaYkrqIqoPeIMFThhgkjcffqHSXnlLCAaFXFJMHzbsSMaNBYJdbTZMNRoOpCgnEwRXJaxyNYYomHmehbnzwSBzsNcFemoJtyaApAszTUXJwZSPRdfBlHePpVFAkPuWRILoQcSsHYBcbsUpmFBDhcIttEolfwXAnhnquuTZEGIgPWPTNbplZLEPXIIiUDrOCFeQeBTsAIzOZYrDygJJJgcsfdOpHoVZZbfaitGcvhpKZdaoJcCBjmBOrdPVqxwthigGPnsBMzPKDCNahAUmJRbhMuIQPxNUcXtDrlFmGpFIyflXfBOTsZhafMgwxhyiELUbmggRrusIatlgbwfkRboOgZdrRldkTITbDpOXEqNlLYACUbuERosNYXahpEPqZJmkkNzFjxOcaGYnzDLrCvJmuSEMFrdUdRWvGMOUGHhKkcwwiKgaYLCFecaM", "yiSMesdnmUdMbdTliXFwEmkAuCYuwvUlKfqZlzIYCNWkCjazSyEYgQHYmCGJwlhqxYgwuZrFHsSNYquQVVpymXZSVLjDFpQixbTupSmInrkgvDyCjbGRVYemllkqNpyASJabevMMVhDDeBwtFFyOrBqRBtZeClSGKLyVWRwZQtctzdMgWmZjKKcVnLpleqwjCeJeIftQdUIKhfwxltruCbkmcfThcsgbyIIWukUWzyqbzxvQvcrXDUXZxCErCSpqmfIzDdgGdPqPtbYgkRBUwtCRjrwrlRyZXZBBBlRwISsyRtxQbkXPxRXmaxLYlsBohonpnDZBBvycrMbasJAZHhOXVpDelQtpJtDHdAqcgGBtwVDUuPQBvQKfScanxzlzfxQILtwJElViOwKQRWDttyVGPRiTEHhKBCvgfSUmWpwYGavzZCYcmCBntddsEPiFiYlJYGlgyLUIoFpXpXZJyMpgYCfkvQsBLUjglBtFecnqvmAFOAUUDdPWnXbzDsfL", "BIUVwwiGJsOUBvmXQaPjLMplLzoVPPcKjCmBOSEiqLBGRIWJrpjGRSYJxfQFLRDFNUyGvjjrgycEzjCHJswjPFAuaAJxYRItRELKyCZPJavBFRZmJobscwamTgScsMNlnucbVxQyKIwVnUiogaSRaOAKPGVLJyctIhKqHOgDTDFCpJdogwwzAomXMxDEAVAhWJxgWImNYkDYnBePSIhcWkfGokOHHmhHjHTGJTNoKvgcqYlpXOuPNZmoEbeBRhgKyFlcuXKpIAJGnBtqJdLqvaFtTSMDxsnCsqSMWBgYyryIowrSPNcBCNPcRbVVenPhmpbucLaDBnifQiVjvBEOAZwJhlNxHfAafYJvqZIkrxdSkXfuNLYehZjneoxuYAVgUBfvNcCqqMqJkKKvQpGehKWwzkQpLphHYgRHzAARSwMPKasylUgrsExLXgeFLjYyqlutgcjlJJXHhhTwVxescPbuCtfSHswQnilaARlzoLCZMnfaJdRIoTxknfBepmXs", "WannVehLqCpnZWdEzhNjpgNHiQBHvWAzxiNOWjaIcaUjMTyWdNgYKNmFnwyzherTJBIzqNkqQdijZKlhvlPowsdgnfnYdMgefQcPucvjIqMdVSsvIeAcQFSJmvCWmpKAvEvxbwnTlKoUvTakgJjCrsRqISOrNjpKOUNuPCmfegHQsFJkYTlcWQbPjiFxOxgSoWyJiLQJnWXkYfYpxXKgWDDgalhtmdhrrqVbkbxhUZlhAlaJhscjCiyvorqslAsnWcDyDblNMGKhNSXSxlIkJrCTfNPETMAqOfqhRMBByccebZzaLaDmAqykbUNEtzVpApMgFxkNMpgdrQXBVEHoUMqeWFMUHbfWjNMllpiFnLbOPqidKYSmrZDbmUiTeGxMwdgSEtLDWBZHddeSoYmhssbyotRYJJRepFIotMzvgSEzSTHclPEGUNVZNPzqPtPyvlQLXhyUVKUpFqtkMZqYUhltfyhEeSanaDzXhXFBFqcRhslYNQyjzSjUSdPHJwYF", "uWwWQfbrHDmVdLOgHjpIXcKMzNTHyCAMHOIiVFZFTJOExNzCmwEvShuXrrSVjkAVEcBwnryKEDpCXnZUnzkdCnhouTfJuDjavhtDCeaZqRmdqLHtrCjlEublIpykmFQPCEVYycnzIScoJtlcIbyXZOInFsoGfmduArfnUavuwjMbUZmNBDgsLtNkecVrHyyFJOfeQTZpfNHdIZiGJetMWMgHQWhSmZYIdRKzCKLqTRrhVQAXrNqozqdqNkcRUIRRipneKlFECByYuaglEdjqkbaWmxzVATKXqpBnhgPqEJRBYKRvAFBcKhZLsAmGjglzUOGTiPYSYUZCvHCuuUdlxnLdCQvZXKtbMLvBDaaMoVQhSRBTvbUGoHbDzFIFQtyrApjnwauaCVbaotjSambXeGSVRxDjqICNNOOKcfaCDsgQddHYitbPxEtbRhscwpVBLgjmFhrTgIzgdCGRivSolOmQUQeMlPINgnYUhRCZrFYNjwEJPuguZFdngUJVvpYh", "bbtazsIOIJmNXZpNnLnnqkRYRbNQtcrHYNTfbweZyOKcQMueqfxHbYuGzNmcNjbuDetVIkrMEGBRTlYZyWZCRUapQOhAfBHuiStrebUUPDPcXJBNKRLCULEFfZiajScXdwrLMAioPnzaAZnuzTmPQEqxMhxRynJJHzphbKTJkHhzeKKRYrUDihugxTeFJLRDUpFKvLfBtpJfoFrWcNRJVTTdMNizsBBVcsElyOYrfiqjvBcNhzNgOOFRybfIsSPNWXikOmEpXhlZKjXZMJPgIemDlxvFHmArxPgInlGKKydaIxuHoHxvqYJPpHDzfKaMJkKyafOUrAFLgfEGQvMFdIzZkkcHfBeKYoEYKbJvWAzSBXhEPKIowCSZTbbpMVhHXheQSHlrAARcutuYxbmSfnQcmByTAIPgHcbRTYScPhHMEEnlnEJTFjWTlXdGHrRNxRiPZRCFDBDiGHbUrpZCKWIybeWgJxpMZBFPcLJpePSdQfqPISeXXZiYZFrYVEBI", "NOynmKBhlzuUfxvEoDvTmaZzKEYuvlzheJiVvMkXfjoYRqkHTGThlJwVYUIQArFOIeHNtJxwCOLDmRCqrFgDMNhzlQxFdHcuKRTSZhdXagSfAGRoKtatIBihTzfbrUIqVwjfxASlHxEoSHMVVwgmKDtaZNUyIbvWUDIFlYjrcRKJhzVeVAbNxTiHOigQNJacdibMQOjqyHeohHFzhJELIAAFhMIGdtvdbasJBhDfhQCMiACCOrTgOsQuBTSHRIcZEZpbqyoOMTGYzBlJnbHDxKvmqRojBDehvdMBrjwMsqWWIwvOygrOKejJsmjPjqkCCWluDUdgTLSxyMVqWpXYPyKkRWOxsNNTgJtoEvRiDDXocLvBgvoScbRmfAMGDSjENrRVKkjfclHuHjUvtRjqwggaDllWDrvRpIkssPYInhMlfjkRvAzZKFkDDzkKJIRCBnJsczYQYwOusAuQXiEhxXeabVcdEilLKytrOdupSlWZMnGtAzRnROEgXEUqhagb", "RAgTKHXccRGkJhJXYcwjFVxNWaKAjCLYiumSVQcUYiZNMVbVIzyudqiFjsOIWOVuwOHBUbdLJbcGSRuFgpUrEFifHXYZfrAatecIlPByznPXuyjLaaanyPRGWcSWLpDlUwKBSceNTGfiVZOjCsikJUEjhsVxYJwcbAdNlsuQEpImZRFgnCvobXaYDxIWChLShxpYmxFqcWKIIwcTSIZFNfvruFrVPAoHhtvSMwtRTgrsGAzfSTRWckTtEbhyTbxIMATnTFbcQTVQRhyxYUpsqsznRASNHAtttksmDcREwVwPVBQlcvhVdAGxKQgMrdasBTcUMWuGiFuhfTpIoohiTPXnjBfdYGcucHrxHcHcBuUBlwfQTjmqgtXkUvMJSzOMizIlJYNDRQyYIvDQAMelmKLXYjAZetHvyiKcJKBSzpRpxqxlCBgDlYNWBHBanInkTisoaXoKTioYgPSfaXdLPuVkIrgHpcOfVjdVHIKOjpxsGmSnUOPTESUBoGHnNhLV", "jYHlYqDREXDwNmFrBnQpTUMHiESpCEKsViAKueHyCVvWKTGtDJUoscnNXqVetviRkqpJXsiNRYPRzIbhLGhpJHgeFIrdXdGyAGTHgGBRhrpEdksuZlZyQmvGmbxQRRGhMvgOIPjAKYqkffjcQUtXxjGvOWgXJBlXPjdkiWCVXDaBUtfbAhAfxCbGFkmMoiPzbThXPEVvqvdGToCcvwUzWxRQkBxYTGNlDqIigHQdNfXEnWVHmgmpBdNllTZPhlfxmigKgZXzdlAHvZrmvCSzkJByvnNzKXARsuweqJUsKVkOkvWVLKkfXrGjCePPwANyhmKtfYAFcxgpBaDPmXrxfHxsndymnvWyaOzMCCiYlCaaSOMbytxLeuAlhbPEfQGMAivMuxeAKMDEwdwZvxmJKHPupMMWjbwOZegGUQbfRtyPZnAzeYJMjhbwcEQATLiVYdcllearIlBOgLaAjeevSGxRcJcliWcGVvsFLaKesspXUDFInXXRlCrqYUmWMYYL", "PrqKOiUHJCxGTVIZIxCXlyQuTLJLAHeQOCAPoXmaMVBnpOViSgzgwswzQWsxBPxbNWqDxkGtxuqZTpLGGUpXmpnwOpOcbAVokfoHqtjepzoCTeqKBKfwtTJBXTjHDzMfPraFQqcDQybxIneXUZbrLNGoimkUMNjrLAxGVccJwlebnQIwlIJcrgHNNXqmEbhVwnsastGFeoSKSSZcjvFVUVzLwhJxlMkxlfrvsWGAdLgpTNhiJSSfopSKfQMNVwLYAaoIdaxZWTdqzSyrAkzNSSZBWBBtEgPFICUJHxlzaKKCcfbJAHrXfvTsYIstVpDtMDiorxsPWbRTvpuKYNYftWYVDLXGJhgtfDioPlJGbIebJiLMAbcofPKhYbxHhPkAOukktCLkApgxjKPzPKcVMRXAsRlqAxyeFUlbjCZJyaqKUALbiFPseQeqOsCyiaDbbcYiycjdTNzqSAhiihjdjONUbsAniUSBGjUSDSAHrmyHuUECJjDUINhjGiwVAJrN", "GmCIsmdSXYdCEznJRRZijCojlvTBLCophitnrsmpAOKeKGVPBzpvnztxcHhvUoGXaQFvPiEEDbIaEbsrPdBPoLYWmVDLHCASvTCBWHQenoAkuenFJmdQxHLcxGTAHfLmNejfnBAzDsHfcQbvsHFqOQiRtwOypYHJhyjkyGjJQfOjsJfrqdGOzMpWZCmxtGWRSwnOhjpZYfteurplAZaWeHwZbpznzsXHjDUeKQrUJnveXNPJbxjxAHDyqcZltyCMAsngQZliMQgWxxXnrzweZbHLehCxOjmOZSCZURAtHogKkUBFUmwvyzXbRLliKmGDOnfsTobEQixCDEoIsDlyLSgFXzLlnpcaqQoEtNuDwTWGngWncsbaTifXdTnEJPxHhzDXoQYoaLGENRRRUledqZXXaVBflQRQZiTrDbxMsHWSqCnHKmozvvbMxjYeVtODbvSuHkpahWzcAsYSxyvlntamEedexTKgmpuiOQmIuyhwRTZxFpPIvEWWJQXOeNnh", "zpOKDdqMKaAPkeRfFkkoggKjEvvnSiEmHsNEMARwqCJDVerKVdByjUXwIvOGRimZDeDdEctzcpedCoudReqLcbhzrqKorQjbdPMsfyhpkIJWLMJXRYCHqeWgBHUWkVceENTfPPSnnJSwqtHaGcURFmrmKjDpGiNLSdIDwackENuGFKMQRZkmuffDTApDZWHuTSmGPBPMuKETuGWgJGsKTUYdVHHNVlHTRaOtTZQjYderTUfwGghbfdSiKkmfMhcbSIuOSzMfSozGlufssGdxbYCBpVhZLExdpOkWeRiNqwjhtpYDcBJTtATpKxVdokMkJJHcRdwFMpcxGVFyvKwbLCKsjbNXYNfmHkZYDaQXSzdxVVyssKMToDQaYvnKfYvemBxaAlPZSTpUNtlCZLQrusjcJkLLlMirgwUEfdqaTDFMKVIJQrvshZstGRZMpMxVOXEwNZTfAtzfDoNlCQVuTMxGrFGVtVsXVQtaWYmfPylNbpalolAIpVhNXQxTKqsI", "aCnXOREEUnvMSVBdDkfmJmdWEVaOUEUJDklyrVSqtyEAGvEkhNzhMYqRqZbzuAxtVhcWfujHvnwbmyqDbgUmoUAYnmjRcvVxvuIMksIZjcKtoSnqYdFMnaVLLBncdWOTTvXWOsZxKuHfdSJOHGhlgQPepmhnVGtHXUKshBvkYaDutRuhTlHpKVNtAJBSfmBPqiyqviVbFYXgfjpHWQiOsvaDlfmbxaYTqEPxYYjkpXvuGnFNfPKnEqdYMtSGtspdmftOPGOoQyGCEXmSCQPEVnPghXmrILZFLorOepkBEHLDnhscvJXxYhbdWKZgRLpNvLjctXseibxZhTBhHpHzBZZgRgTsUxugztGxSaShKsXYJWJEfrQuXdzqemMDxittyqAssNNZyEEEmsiwEHEGfKfmyfxbWyzxdlRQDXUMolOagkilYUWnlNxdMToAIVghtYmCQbFKZhZFpVTlKAXCVUpMBNwzjYYuHFcJSauNdRaOfcBTECphculcAgwNAviz", "hBMljxzGKMMQoTdSXTKiZcJONOWFBEXdhJSOdkFNJFlgdtnZjlpRwbuWWbyNmnvlcEwgwJRgSJRQygpVIOIcKioBCCtrHbLqQUjZnlHauDYdVduTERBPpwEYknYzBaXBegLzKsVakDtBdqfpYyLFXHmiavLZQmyjhPxemeZVLMkTWloeElttnAeHTXjsKuBBmFFltOdfgDHBDfByMwpXjSMjmBfTfqiglloNzrcdDvSUTgfNQEyWmMJqcdqFzRnFHhiLUdkhVaFeoPGGazhztLRJlNvCTvFTgiDwGRwWYUIHghDmvprLeDpSlDymoornooAyAIfsRalJzadtMqToSoZVqLazrExPgmNzSiKtfDhQvTBFpxEXbtMdeJMGMMdwBkxfLmDAKMayswcGeVRUJilBjwLYwtWtpdOyiHmZYWSIlLMURCPCektIsJWgNqYNgEYBGXwMBTuJinsZHXeVKpDbrHQzRevlNSFoFYoLLitozGiVaSqNvRYlvyIVdYXR"],"c_map_string":{"c_map_string_1":"tybbBSltCugYQZjjrMrChcHbyAwJfjpdPBVSiMcOcLbWWfTWOLNINBhklFGyrMZdrJYliEmrfUMhhrlYFGOqwIIcRkbTDEPVVpLKcONrMkFBOMgOSgEdbGuiZNImQyqcvZLhXAPxjOdIdoBcMnexuPypdVDoHvspvglpWWvLemumEEUaGaLkLqrRWlGOUbOfZdaAuvlmJNCybJCHSdcOmwuXBLSSsuwItoCAKVMPWefniYsdBToTCiMiFBbXyHmlfwkAVGQkRQYIpXOnoDDpWSQOPXZtIrPxYBpcqKvoPVXQtsyHsRtiUleyDduMEZrObosXeuryWFdKBuqULFBprvbNnlcFlUHvaNarZiBnpSsqwpYmJmyIjAicDNctEGLUNUogTFUuCvgljXtMsPuSHiIHViLpYSpsefJJdJVaZmubXnamgTdFXVYivtsuGcwogQWQBssjVubOGTALviBlPLLBqirnJfLhHqNaJtzawifyLpNqyJJBFvhEFiqAPkhB", "c_map_string_2":"mOPkpXVzphyeyPwGFFMnxzTQhIobuvcxARZNylkYbqvBdTLlWtsuRrTbzUWGAwKUxTISpADKnKSNpHxNGemcBUOoMouQRvVGfcbaCcXKYHNnAlOcJzEJcQvlqorlbQojTGpcDSMMuZiocoPgFLFrduJPtFsRFTlJQcJFeXmQMuwvYHVLwZwkRRFVCKzIjlgSHJweDPuUQAEpiQUCzfRbUCixJsWFDTSIxXRdIfBeinyUOfDBODPabLRrrfwcjJtlqyQTvCyqFEdMfEZTVAAvBhuBXOHyqsqCRdsCkVvkZfJnwrTLxafmezrMYFLWgZzuUjSdsloLdTkjeVfQMsVYSsYHnFwVQDVXBsNoMbzWOUfahSzOXOhVCiETUWeKnVvZHWbINvuTzuEjgPpCizsgaPdoTIuIOequxRZTwAVCkOKcQXeTUpdDAKzbahJdvzdWbAPsOttpddwZplEthPCtTYFbsjjrdYLKRujbcCXWgdaLeOaxuibkcsBFLEmUZWxR", "c_map_string_3":"ezvARcdBvrKyrPdTUsssQswKwnmLhbHNwGpxUBCEQDhXiwrPaAXEKQWSuesMGXPuAOWIxqjqOGtvoEnnaLKPwVSdKSHENgOXFsastsboAaXsobHVUIOcxJJQnczWAQmzBCqgmxujsWZZfEQRfWYalLYxPMPwvfPlVwKqaYunRoxzbOfXEbZLkoqkdvKNPViOsvvYDuhAnNhWoXjgXpSIBPcuNipExiWWboKkHrXKoaSpmfpyHDfgxrmnfsgXJcqzkzTGblctarjKBBTqCdAItOUDTBDZcrdSyYluMNfdsTvmlcJXYRJVXISWTSQumzGLLkpifXSXfeZVqtbiByKRmeJGyoeoIzGSMxWDccZLmRMsLMaWTzbANLOWNBPDcVMejFyeFyckaGxIPHPDjMUKDcCWNTAAziPiWWSOvEyqrzwKyhESXaFtZQVnPnDMbQVUfQrWRDBcfqjLTMNwFoHDOaKtEHykiXQYoTOadtVnpPVICDLdUXLPhglwRHcrMruk", "c_map_string_4":"uebbWIYOSxsBuSLJvdooVzmcwDednxkAiTrugnRYRyrqRtsRwqDDGgxPkNsmWQkSULOSjCiYkHPKxrwfGfcyehaxPApubXqyAPeCHREArHBRpINKYDsZxoKoktuvuWzTEarvwVTBBCpwAalNFLsmFKtxuVotbURaJTdLXkottfBFzkAJDeoDXknjuGLXDXWhgJeVVwlxuKjgUEYQcArNyLGEIiywowXqbqYwfQwjwcfKGeCNhuMKegbndhxArlwtagXphuJpTKPBSBRPfRibLZNMcYGdRzSEuqLQoRmoWbGNgbffaZiQCloynTOhvMhHszZfdfjJErBZZfMwBTxXexjkdQxPHfsHjSYfQNKanxTdXyyECJDExkwCipppkMsCCoFdMRPRfqYAEIibpmdjnUULZVTSBmMuWHKMdLCIHXHZzBnDoMZfStwzXAspFUgbBCBhQGAQqotnNwKRUOTqZhdLCfAhTAPoQBLjxLshROZyhFWqnsMdVfivSJIkjjDn", "c_map_string_5":"GTxyjxIiNJsjczrhEbHkfYuGQPwXnrOaTjZuHWSFxSwOrfpArKRJThkTuAKIlRuiqhbEaMXKeTuIyPvtqvZcovrKNAuXAwhSiHtPJgIAlDtiQDvPJSwTLGsdxtSuKTTvIAyBkItoeGcuJMPDlXnuWDzBEsOgAvkMZDUKBDXSWfKuvcGZdArhjIBxLhlzlcrwyizYmYVvsAUVGDTZEFePqFbAwBunPWLqFKlhyjVppHHcZHFIoJFbTqMqliwtOAdKxBtJXlaQCrLBlfxWQkxcRsaUfnwBJZYZasZAlylodDgfsnAuKaAWREEOydqsYathXwkUZKsLsnNYharXwKspvAagzSVWACVvQHOAUdEKzJxzvjpWfOiADIvayCJPDyRyaTVXjxTyvyFkBQoEKIvvEuUWvNAyCoSUdqjcilCdbwGvxGRcsBiAGIeruGxBaUclRZKhSNqUqrgPAqrZoBZfTGrejGjDXwiyunrjWDYeXrYXvYZUmlpKZaAHgfMpXsLy", "c_map_string_6":"sQlQKfMqLEoVkbeCLiHfOcJzAbzlbJtBSiZXKgqJxjjoELkyAIQjIuhFHVurvpgcCOrVRzIWCmWuqOBPAatAccqbUkECAPGFzhdxjRnxVQRxJhOjsqVAYXMxlfKwAlkRugMvOSaTgPjaQAUTpumVveYuRqPJHgzBeDzzpbfyZgSSjRWOtnOfvtLlrrlSHHlOXbbRwErJyeLWdAJyZAdmgDGJUbZSQJdqaQVeoGTmuvCrtqQYaEdIkOWfxVcmSWafEJYZvLZLySgwCNoupwwAHZAluXYQqNlFZkopQoDjZBeOxcYVdpNtEESiJFOAnYYkpmVBmiuVKVuEdxqzQsWMEZHAwKyehbwLabHAhqBIOPCQzwuKbTqSgpDxpSiUYcXSpoajlWcDOnToDvgQwSwoqHPjWObAGuOgecUsvCWWugoPIRHVHysEoacuRVhOmCFxlfNQiimkOJsDezCIAIXALsMMNNJsDJSrmEYyCvSEmTppzloZzGTRbFLYdfNjLHLV", "c_map_string_7":"CgscCMIaOShXgCGKMgrKKqFhYqOLAYiuKAbKyqDKguZtispzxiQPHEBygGlGDrVHcZwtsezdmDXENkXQKZCLfcfvdWCBvPfQsJTLDsDQREXqxVryJHmqWtrGvasSNWSkBvjuShyLfyywoscnvTxMjnPGJiFozCkKjBnQVfkNZIAAANiqWRYupKPRyMzMZNpvENccvWFNtVthcEoidazqQlcYKutfeuoSyOxRwHwdECrksxXKiFJHXOpSDqVuerBWWEUREDtUFdeDdIgXWKZumPNBPYPmIVZnMUdxJpiMtBurZYgeofDDwRDNGmTkNbsuGlVNRyyZuLwsRfhVZeXFuALZIKwEBmeqUaVbOLJMvKyZpSpWJUVDPlTpPhwfLJMBNenQOjBmAtoZQypWXSXmdBEFaADRxsezFcfPBxQexGiNOQLbsXerptZmwQPhSXLmFoxrEvBMwCLmXjNSZaxkKwAtfkXFLJHYpuvHSMnCpuiXoepfqMtanWRygTCBrGxv", "c_map_string_8":"GbCeCZFABYvrJLTYYvkgWzqKLSAtjqHfsvDCHGSIQmEuwgiUGAgJbbvtuvwieTwNJbsNavtdyvGwAWqKzleLeijeKElOhKrzZkXedgyguVTAaOwgGFYkThofEGASoXwnZfMTtSPxWfxhVjwEGEslIyZDozORIQtZzoPAbRpXaDoWYTTuPTtBpHBHfmjeEPigzuqxCilHhzMTyyrlQCcrmbFlUExsNTPHtvTIihYIimUHWXDljKSqQAKlAfqDJroDueQSneSuHhWBayEFmGbcWSzxbXiGqYVvvnzchkmyOzRVSvtULuSNrmnalLxqkYsFXDRgJrdNCjsfBTiIpgejsuwqUgseQXUaxaajLIzvsrUlaQfwBBomafOROHYlLIlPWlJWsQlqhOunqQsLKThNaXfBzsaxEQToJEAsYoakbxjrkztsRcpjgGomyulpNjSlztifmseFqCypXCbDpXeAhxAFTNeUPAtsLyDpocBbrLwEljOfGVqGwwHUpdIgyrpQ", "c_map_string_9":"biDVrhOdGZbywbUSCjXOqSyqJajmQpdmpellVktGxEZfpmnzHrqDcNBOsTswrrZeghjDxwTrnXmYiCfsmpLKTQPZgjXxoOpjlPXmigvaOwTjnRZMMqRFyZmXOKmaQRJhGnZmQhtaFjlqvsunLzYEWNawpVdPnPGhiOiDEfDWBanBOzBYkCHPuXYGqgPDRGTMdnyuLXRqeLPovmPcgVJWwlACUIZtEGuxWOziaOXIPTOrZNnGvfPdoEIoDaIyjNkHwBKDHzwaxgUGZVedeiZiNsJRspVmQwwZvkvLSvmnIehbpTXcgQRiyCNivGaNARYpJqYlVXtORJbpoHbwsepLGVHfjjFcxBHfmDNADvNofiKfPlHEsVWRLYZxnFtouhMtLJaIwduoZIQEbjcNoNGKFprJSrYpTHaOtwopQnJDAgkPMPnDoGELFlzALZmeKLzjeewEAdCYovQxqLRiDmINgsVAnzlurDXDtbHAgfyutCPfdaALjGxtiOvdnmycgooJ", "c_map_string_10":"MyDnRxlxmZInHBHbJRKoqDuJCkSXKniYbjmGBqStbJQUpnaKhQdJkdmgUUcJKOgFztXgdiSWbkHNuZcInKmgFZexXvOiTOyEQIkEfDQBjjCshGxBfHtuFysXdsJsLeseFJUroClFBFtjaBCEBzpQZzqdCiCUBtBeuKvVcgbeBYCMqmeUDOqcNJqTIzhIQoXXAlKewzakVRZOmugucXZLZDocKanKTaMLpPdYHFHfqDSUSZUhHpxPeFgomqTCNErRnbiRcKRhvbUEsGJTwDhwedqszlFtwjmxHDeWXuekISXcbBMMSGJzrtYFbCYEWbNuBjcXIVndfmdTwjsZoIUIMNGccbbsZGSNVhcJfMIehStBywAkQCkPecLMOWSAGLWSGEFbqEoUjPZqRISUnQVzPZsbPZXRSDOLKGmvHZuCKDgILBliGqqlxQbEfoDxHcxtYLcEDhPkEasnGKHdaenuNTNKtXYpBkMbAKgjLyvLWHgYjvgIOcHgNYChrPGovEGL"},"c_map_date":{"c_map_date_1":"2013-02-24", "c_map_date_2":"2017-03-17", "c_map_date_3":"2017-07-10", "c_map_date_4":"2001-05-20", "c_map_date_5":"2002-05-23", "c_map_date_6":"2008-02-12", "c_map_date_7":"2015-08-01", "c_map_date_8":"2017-01-23", "c_map_date_9":"2005-01-14", "c_map_date_10":"2011-12-13"},"c_array_tinyint":[-63, -121, 101, 83, 27, 100, 112, -66, -128, 21, 109, 14, 68, -117, 97, 44, -57, 82, -127, -27, -73, -77, 33, -84, 73],"c_array_date":["2000-03-04", "2016-08-02", "2013-01-12", "2007-07-28", "2013-02-13", "2010-09-02", "2017-08-17", "2006-03-23", "2000-01-24", "2012-09-21", "2008-05-16", "2000-03-24", "2009-01-01", "2006-09-11", "2011-02-05", "2016-02-05", "2006-02-09", "2010-10-20", "2017-06-23", "2000-12-03", "2017-03-24", "2007-05-12", "2007-08-08", "2011-04-16", "2008-09-18"],"c_array_datetime":["2011-06-23 11:37:23", "2009-05-16 03:45:49", "2002-03-09 01:48:08", "2004-10-14 14:20:01", "2007-09-05 21:25:41", "2003-04-15 13:16:46", "2004-02-13 00:07:14", "2017-11-12 00:54:16", "2003-10-22 17:43:03", "2018-12-04 17:54:39", "2018-03-23 23:42:39", "2003-11-13 01:01:50", "2003-08-23 00:57:05", "2019-06-14 20:43:13", "2019-03-26 23:46:30", "2009-02-06 21:49:20", "2014-04-15 02:40:10", "2012-05-02 17:37:32", "2003-05-24 18:57:02", "2012-03-19 06:10:26", "2002-09-04 21:20:30", "2014-12-11 22:56:32", "2001-08-12 21:42:14", "2017-03-16 18:15:44", "2011-08-02 23:50:34"],"c_smallint":-19159,"c_float":36.435947,"c_datetime":"2007-06-06 05:05:13","c_array_int":[-716249421, 2084114465, 582011353, 670030202, -196333088, 733579578, -357519968, 1072527648, -940055501, -790136516, 1116290067, -1538283568, 1062066151, -2000872364, -1687682992, 1181441812, -1921248372, 856786268, -790066188, -190383618, 879361733, 781088685, 592252494, 1492893238, 141507432],"c_array_bigint":[-2203951030858861944, 6136945908594027015, -1262834226232223890, -5020860358390146798, -8110565021700344038, 6701015918748438884, 9048401973626769819, 7827318277009747822, -411826838674274946, -5208534834534178689, -7735163510676209515, 8923697894727489436, 5859475159589486328, -3134424258971319542, -8740740769132070216, 1681834834319523000, 8703357331498645943, -6803439657816772692, -3014004148625764437, -5819361178761165152, -9138011828214314498, -57112867587455182, -538939413926094666, 4979036105285546417, -2444576660587180765],"c_ipv6":"7c08:29ce:f39b:2d65:cdc5:7f23:12bd:c9bc","c_map_float":{"c_map_float_1":37.871338, "c_map_float_2":36.76231, "c_map_float_3":45.584534, "c_map_float_4":44.604355, "c_map_float_5":84.788315, "c_map_float_6":36.9755, "c_map_float_7":49.715984, "c_map_float_8":30.069286, "c_map_float_9":28.088127, "c_map_float_10":92.98685},"c_boolean":0,"c_tinyint":-86,"c_decimal":96.0704,"c_varchar":"or","c_array_boolean":[0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":38, "c_map_tinyint_2":-73, "c_map_tinyint_3":-128, "c_map_tinyint_4":62, "c_map_tinyint_5":-59, "c_map_tinyint_6":-3, "c_map_tinyint_7":82, "c_map_tinyint_8":125, "c_map_tinyint_9":-101, "c_map_tinyint_10":-99},"c_map_ipv4":{"c_map_ipv4_1":"111.163.14.242", "c_map_ipv4_2":"217.199.66.137", "c_map_ipv4_3":"238.38.248.252", "c_map_ipv4_4":"33.142.108.158", "c_map_ipv4_5":"54.255.218.89", "c_map_ipv4_6":"15.234.239.6", "c_map_ipv4_7":"74.175.104.157", "c_map_ipv4_8":"142.135.71.136", "c_map_ipv4_9":"42.245.39.193", "c_map_ipv4_10":"33.106.7.182"},"c_largeint":9116440147181429682,"c_string":"gCetkyQWpAUOqIFoLYVPjXpEamMvdLJYLejpdifgmaXamOwkmLZKUVWxyYijoWoIhdrmUTcRJIpdwvZSDNAJMoWYTaRRVnvkhlyobLzMZFOrXOGimQajhKiCZLrSLAzEukOarxniwlOgnxPOSqfJbaHDHhyySvVNbpBNHdmhPclPVXyRLqYkNMJNrENIYpQBxQDBRAKZUCyARnXJAfhxpvUMDSvgcfeQzXwGVuJDDksVaTacmlAIdBrcQpbQmXUYTNlajBeeRczjoXSprrTAnNXZnpUkwQaAPfFfjbYsriXtMOeJoNNHyDfzZqfRDrkFHCievJMsgDboeqWXPwWknmvCYnmnrWIQCWFISsHbywKfkZZygyHPCwwlbWnxuDXcUyrHMpeWRfRjrFPcgopKoEhOnhFwNscXReQwndrRPhvRuAHKXGwOSbDLPWaSSnRfvkWdRztzexogmufcMbWFkPXcArmEuCHRvgNBYbURRIsywLLNQZdgugbXraWAEHiD","c_array_ipv6":["SwdRxRmXmD", "INAcizVBMv", "wVUzUQtUki", "SHxRpkCHYI", "MCaEJFUayu", "fgrnxPtVtM", "euGqdVxEqa", "XsygakBUhh", "SuvGzbpCcw", "vrpAAQaCZZ", "nHmESyJCVu", "KfYJpwBYQs", "eyKCUKWlzH", "fOIJYtZMdq", "WNrKFfcnSr", "dIWHfrdVnT", "tveNfmsaSK", "ccmVWIZdhk", "ItHzjNysWm", "ebUADgoJDP", "EcPrBhbEVl", "nYmVbTzPVw", "UzboBBNUDq", "ZpPvXlQtMX", "VEdtAIWTvl"],"c_map_bigint":{"c_map_bigint_1":6872137473919489870, "c_map_bigint_2":1721664013489777371, "c_map_bigint_3":-8276343114186697706, "c_map_bigint_4":4150180119667082515, "c_map_bigint_5":5921248335521247462, "c_map_bigint_6":-5151983197392959068, "c_map_bigint_7":-6776463935031159429, "c_map_bigint_8":-7438234074935414566, "c_map_bigint_9":359713862382477110, "c_map_bigint_10":4343488562931088631},"c_map_decimal":{"c_map_decimal_1":49.1854, "c_map_decimal_2":82.1598, "c_map_decimal_3":19.1449, "c_map_decimal_4":24.1729, "c_map_decimal_5":63.0266, "c_map_decimal_6":43.0778, "c_map_decimal_7":74.0838, "c_map_decimal_8":52.1460, "c_map_decimal_9":30.0993, "c_map_decimal_10":70.0774},"c_map_double":{"c_map_double_1":53.334942434394584, "c_map_double_2":71.37388630680135, "c_map_double_3":8.822942245138051, "c_map_double_4":84.69937028321803, "c_map_double_5":37.25615652036291, "c_map_double_6":74.76087548375182, "c_map_double_7":52.07274808341435, "c_map_double_8":73.64325595285135, "c_map_double_9":41.22309872595203, "c_map_double_10":31.705267096690292},"c_map_datetime":{"c_map_datetime_1":"2011-04-17 09:05:21", "c_map_datetime_2":"2000-08-09 17:45:56", "c_map_datetime_3":"2005-02-08 10:48:26", "c_map_datetime_4":"2015-08-07 16:29:56", "c_map_datetime_5":"2000-03-15 16:12:27", "c_map_datetime_6":"2006-02-02 15:53:26", "c_map_datetime_7":"2012-05-24 20:41:23", "c_map_datetime_8":"2015-09-23 09:52:07", "c_map_datetime_9":"2019-04-21 20:40:07", "c_map_datetime_10":"2019-10-01 19:39:09"},"c_int":591181855,"c_date":"2012-04-27","c_ipv4":"1.176.239.236","c_array_largeint":[-7480223034167936194, -780196127905793682, 2221418999149041717, -8276362807175212315, 2405576109937737688, 4342394269745872194, -4623018839027752764, 6282633763931404602, -8660880127210869821, 2389517952812820655, 177714152728696432, 381841374632777543, 3621280330167182499, 6787170350241779371, 3496595141413094726, 522318995834978109, -5202691693492036972, -1622275720916157728, -4586294701317318849, 3383760104259730152, 5813668216337037484, 5382058862366238774, 5173069585268443415, 9138078455171521509, -8426231142747327122],"c_array_decimal":[55.0274, 31.1682, 58.1478, 89.0986, 99.0922, 24.0481, 34.0914, 20.0363, 42.1594, 20.0807, 98.1269, 20.1136, 38.0637, 91.0102, 96.1593, 83.0688, 81.0848, 59.0253, 7.0477, 55.0433, 30.1867, 68.1559, 34.1023, 39.0959, 7.0135],"c_map_smallint":{"c_map_smallint_1":12486, "c_map_smallint_2":10288, "c_map_smallint_3":16236, "c_map_smallint_4":-32045, "c_map_smallint_5":23342, "c_map_smallint_6":-21842, "c_map_smallint_7":17088, "c_map_smallint_8":-26365, "c_map_smallint_9":-21086, "c_map_smallint_10":11415},"c_map_varchar":{"c_map_varchar_1":"jJOitgSTpLkMrEJsfhpjxkaoDPYdSWPbSryVhKIxkJvyXbeuZLtSFzeGQKnoMNwFLoBnwcLzFDbYwdcfOhcaECMabmKmpFIqkkFNLiyJsdQtxydbXgTaqpAyEVOsKmGHVmvZYRwOCXBUUumaEeJKJRxCCOzpfwGrInLYhHZrAGEUpRTHAYRcvcDpnGWncCTrPwsRbQMxfrSNBJhvUCIUWlqaruGceSjfDATugLcCPknZJnVnRIylkbqVVxQiRBYd", "c_map_varchar_2":"XrqNTNYgZvMVaAlVhXUgPMDeVKrqhZeAmDJoQsuyWbmfcKprJLxTSkXWZghUqnjUgyuePnbvXLdIXrQudSdxxzaGKcClKXDTbdcRnyprUNLedLklPGFOJpxXaJmUskREYqugKCSnMgSHlHSZRjUDQXjDMNmvwgebXDkayYadYPesLUDZwBKyoCacmIOtzXEEGbnOvqvYBRCLUhsMCRPEASLSkOgJyZzhghaukZwVoQpwuNgvQxDyekZaNechTqtD", "c_map_varchar_3":"WFxLgsksRBXqetfGVYOWUYYLSJRKnszbLrtfCTOWFPbDeDSSiNtzhdfNBUPjDeqdqGZYpmSJEsGinkQtevpBfwFaBlWPiROYGskqPVznBLMKtCtDNtLoGjciIHRreGCmwRrtXNGnkoSKYyaLnODbhdBdWMWKDBMyhZTXevQNqasoVBnAzafIEsIiMcWkieGAjXceGjdSDRTLLSuYLCRpeDeuexDasKODgkOpKvSrmzLJkBkEWgliYmnQKqaMyMrY", "c_map_varchar_4":"tTxqzZWjjVAmbBQOThGWCDoDeuiglxhPLfpqsKYTPosjEGbBBMAEnOsOmiSjscmfXNSYYqlgbiFPdKThlokWNGhLQNgkicTgOsFONXmghXmCMzXTElagNNylOuTCbLkuKhVvqpstLUwdmnOFDjKeFodMFHPtPmbZmDiSIJYKcELDxOpJysMJcIbaJRezwfolsTIyESGHbhGnpDMBatXUyDLfRfTDSDArZRjFFqdqesiJskXaScbfqKDlQahYYoGd", "c_map_varchar_5":"EIUbMutBQWWdzsACrJStscpvwDnqZPmfDwMwnMnSGOgUHBKCnLgMfHvoIqPZQrUtCGgWGFDnfWfIFQkbZQOefpCkJkBEDOLlHDFpoRpQlissQuaBjnRhYbOUdTogRTOQYqjjWMHIJkeSNFukxSBdQCfSFQUhqqHMqboxdiZdGuXLOMKjfpgcZxhFQlzHblJLuDbnhdLIKoHBONLAKXDLFBwihmRKlLzleooIWfaSUVIOTRWfuaYcmxQnfBxEfUSJ", "c_map_varchar_6":"RTGgEtOwUvJjeOLToenmbFWixxeWKVMUaoXTQgcdbKbIMHFlPQULAdZreVvrBVhVGDwQIJVcVywBtxbFvwdcVnBPWWLfkhkNpjnUHviZpVmeJaPQHYcGqDuCbxJrhnVkMiGqFZGvjBwaDSbJrfQxTtGouKPnUHnMaAHmctexRnRjHFKihLswhXezoiLllcmGfPhZLEFJMuIEzPKdQvNgqPjEDaVfSDhWDuwBfqwiCPhramAZzDGtQjpeVivXxGjs", "c_map_varchar_7":"lLlMOigocAjPslRyFRiYlwTgiqRiNbFjpmhKjMzwRtqPBElTDbtvEoJzluWtTKGNGLEcIRwYnogDgPGvKuOXUnQiwlLIELDCiQymVOhVSdRyPTviOjGSETyxgdDaybdclfQLXvhCYdstcyfACLtjQZGNHJWEQhTUONwDFGvoVXDxjgwPgrKrGPATqqbhREcrlErduIuuvSgSkqeEPCqIYNhRUJTskaJQmjSUjskKEQCqQaxsScrvkzDWBObRFVba", "c_map_varchar_8":"KFpKvEBifQTPYDIxBrjZAiBiltVmTIBxStJCKiQOtkQyKMDnICKcLhcOaktCtMAFniFNSEnfwSZuZdZYKpuTXMvqRfTanOfzWtrWBlbMaBLVaqvWutJVhSGLvPLYnQnjauHikKgUZqhGvaOmvkFZkbVaJexDuwRjeHEYToYThOoScwxJIkqcNPwnGZfnhXfBqbxLqanjdZYgThdWvPVesxWFvmEwQJUSCSHNNEUoiEUEfjDmjJXEAWKPineYpQBu", "c_map_varchar_9":"drlWawYPdwHHOGkiKyZqPKcFrtovjdspaJJcZXHiVIdeBviglHnidmyuYdJGRhfbYvxbDRzjUVyiZArwuXmGPrJHmVTdgHJZQNfspBHQRLRXfuxBIVRcPshMHmqqFKynWjpNAlWJFEwOHaciCPfLMjXvHsueGaJLslevXlZXJCmlANZXimvqsmeWCQcFLJgKUFObtNbpiZvbsDvzpqkGuAhzBHjxmavhELkqaTBWgfcggIDwBgnRTWiTXcwoAMsL", "c_map_varchar_10":"PwmxXfWSPejbqPrInFJOTZhzuEkwkIGhMsyQzeJQCCVURjGeRBpmnAXPlESvYSazhrtNOisVKIhzliMJfyzrMdFqRCzqWWpYqVaLwQYwKoamdetwMjbtBRebpBiXZAAkRBukbbGQEndUXuDClCSnGYZJKrUAzGtHlMVbJfahSArlRlSuRwLicdgbGDKVaUlaufBIbcRvfcfXoXboIUhocrRyuJzYqphKpYGNjUCCjFORnMZlFGaLFceGFapgxsmH"},"c_array_float":[11.100178, 39.332016, 33.14819, 100.58989, 8.674454, 6.262101, 61.630676, 99.037186, 10.805141, 15.489388, 89.83362, 72.623184, 4.511203, 95.81027, 53.587505, 40.323177, 62.758007, 20.645264, 66.48091, 27.704918, 9.072362, 91.70146, 90.37716, 20.185797, 71.22922],"c_array_char":["gHzDWXNDbx", "vPvoVCniRf", "dgHfWQxDnA", "hvZVETHVQC", "ebLmjrDDQO", "SYVWUVnfTu", "kUxFENHssw", "QvJInpYhwL", "aNVsTjqHsj", "nlZrXHfcVa", "kYUqgrsebg", "CyBqjAaYUp", "YITQTBZzuI", "ObNeYsalQP", "fIFCAkiscM", "xzgrJBHwuU", "yaiNgWUOiP", "KPFHwTTlcc", "eOYwFOBLxO", "QjsGXyErGf", "iBzgUDGwFl", "jmzbclUtMN", "SowUTHMSRL", "tDirjXfdmO", "qBeIWWPAli"],"c_array_ipv4":["IutdLXCSTF", "ZzhmyqqAKr", "xqTYhMjHBV", "jMjvgipaJf", "WgXWLvTWLw", "ulfFSykmIz", "qAFXGzNKlV", "glCCnjOroS", "eiTqNUWGqa", "UjnWnOilGZ", "ASMlKzjeqw", "ibFweCxKdb", "oEbisFONdX", "qhXlYfscHk", "pZIRxqqSRf", "qHoMjcWeJY", "reTBOOXuci", "PUFdKRQBft", "QivBZMpenR", "lLjGCOwHnv", "soTaLcFWQY", "ZDfQGjRysx", "fkFvzkksuv", "WKkVlhBiIC", "rgmQhvYzzz"],"c_map_int":{"c_map_int_1":1030223655, "c_map_int_2":-382303864, "c_map_int_3":-2122277904, "c_map_int_4":112905902, "c_map_int_5":-469310187, "c_map_int_6":216077313, "c_map_int_7":-1524885476, "c_map_int_8":-1211851172, "c_map_int_9":1040619992, "c_map_int_10":597567753},"c_map_largeint":{"c_map_largeint_1":-7133783889871365446, "c_map_largeint_2":184662110269127456, "c_map_largeint_3":7552194457900335127, "c_map_largeint_4":315333174598087247, "c_map_largeint_5":-2529778963333976499, "c_map_largeint_6":-4818697771597924033, "c_map_largeint_7":4685964181893338125, "c_map_largeint_8":-2312614234982576945, "c_map_largeint_9":-562616064287512056, "c_map_largeint_10":-5225412339535976276},"c_map_ipv6":{"c_map_ipv6_1":"aeb3:d237:1543:2f45:97bf:773f:6a69:1530", "c_map_ipv6_2":"65c9:53b2:4d12:318c:dcf6:b0eb:66e:4517", "c_map_ipv6_3":"d5cc:ed7f:88c2:b6d3:7330:a3da:6be9:e7bb", "c_map_ipv6_4":"2d26:6317:224d:ea30:4f77:b19c:9639:cf30", "c_map_ipv6_5":"615e:ff53:c4a6:5ecf:71b1:7528:3f92:d085", "c_map_ipv6_6":"fca5:d0f0:be70:ff:3bc7:89f6:8acb:920c", "c_map_ipv6_7":"1ffa:b464:32cc:43a4:ff2a:3c8c:a08b:8115", "c_map_ipv6_8":"853c:e585:d1d8:1cd2:9d1d:4a4b:bd79:fc77", "c_map_ipv6_9":"9d8:1031:7310:7896:8260:2e7c:3189:5252", "c_map_ipv6_10":"b8f6:164:a85:b0bf:6a8b:6c4d:8e2a:7f61"},"c_json":{"ipv4address":"50.230.131.244"} }','{ "c_varchar":"think","c_ipv6":"7e1e:b59:4c07:f57a:fd15:10ea:5445:e19d","c_array_char":["lBAXcdqmov", "JmYrxjlJMM", "ciAPhtaEhv", "otOtQVTDOH", "dviWwdmkuE", "BOlSXnngkY", "UtLgxtkniJ", "bcEHheGLTC", "hwRgFoJIaN", "HomiYBdMee", "gMwsVURJvU", "oEXsTYkSzz", "kkrgEiRsRM", "BvSBdALbCR", "gDJDtrKyfD", "xlAywcrpzw", "VxYzAlUQIQ", "PEFEJIGmPy", "oITDMiyBKs", "OgCqpgndvD", "VMtdyqFYHx", "AqzyHGgOFq", "McCjOYwHKu", "KfreOVrdmS", "YUwLdximSS"],"c_map_smallint":{"c_map_smallint_1":27323, "c_map_smallint_2":-18237, "c_map_smallint_3":31469, "c_map_smallint_4":-24247, "c_map_smallint_5":-10361, "c_map_smallint_6":-21934, "c_map_smallint_7":30180, "c_map_smallint_8":16632, "c_map_smallint_9":-15933, "c_map_smallint_10":22112},"c_array_double":[41.97231927839963, 48.152365896850235, 50.36329026806639, 16.752344740946445, 53.08445683958451, 100.62078561619907, 23.583378638582605, 17.844624478335696, 41.2162266772443, 13.230361361195806, 28.703729592677085, 58.78209624876437, 83.81689178465668, 77.20977336011639, 3.3836455857851653, 85.92647093256538, 99.88458978697629, 26.985799439208627, 11.036025597756872, 55.05868285307359, 64.87647563975182, 39.16975783778473, 15.991306325885471, 31.969244468149267, 83.30034796879279],"c_tinyint":120,"c_double":25.989883333607285,"c_decimal":98.0348,"c_array_largeint":[-7126972998960262048, 4555454200628232292, 4717600657029446785, -4102337614686127142, 7672832878225636046, -7633794475602838332, -1079631728522355870, -6397221073441686002, 9030528052362911045, -2533071402226923491, 2177569293458227429, 6602659914663809802, -6902729868202218561, -2422911884584853269, 126604763931991934, -6543250957309275086, -6666535221158480586, 8355532201586259982, 4771968847754927512, 1802004750380484236, 7806686130262061326, -1024580199406118374, -3326038054374641631, -4220260778512576772, 5880588518023098731],"c_array_tinyint":[-9, 82, 39, 122, 94, 16, 14, 116, -69, 90, 19, -50, -43, 15, 46, 90, 21, 25, 81, -117, -66, -29, -110, -97, 42],"c_array_smallint":[17907, -29588, -18825, -17058, -14710, -12827, 14219, -12924, 6636, -22085, 4414, 12619, 12065, -28465, -140, 31350, -28050, 13448, -11169, -15668, -2134, -18507, 6699, 16105, 10917],"c_array_int":[-1605472857, 2033105617, -236413559, -1468771935, -593687562, -1564127261, 1679466153, 450105667, 142280288, -1875422225, 1246627595, -781181166, 875372346, -1620011438, 528074424, -1691562593, -299366241, -674849355, 389163765, 2004661594, -955401531, 1211759309, 2138811467, -1626275217, -842509364],"c_array_decimal":[36.0289, 4.1289, 20.1242, 72.0020, 79.1810, 79.1222, 3.0372, 60.1923, 56.0907, 73.1206, 9.0047, 15.0192, 39.1519, 48.1844, 20.1432, 85.1839, 46.0166, 18.1250, 26.1482, 12.1791, 68.0412, 83.1311, 12.0880, 24.0130, 67.0024],"c_boolean":0,"c_int":-1063040792,"c_float":73.67935,"c_string":"PAZAuGJhXrClfENoJJkoolQpreYZePsoIcZdfxBBlFxGDvzmMKlIDDVjFggzVLSRQterpDOpIFgsleLQYHZDStZsBsUZvVfHxyLmQcbKzgZOPIXfFATsArvRPSdVJsImTjkMmANoQzpTfChJwqzbttaxxStaVvIxiNYAYPwtlAXNujVkCrsrSPxOAQlSaWXFZllFEKPjmvkxubOMMUyALnrkQLvMeRILCrlRMYgJDrtqiAaDZSdPatBEDIHdmmuzXTmHXuSHPAXEgWwMVLJxFsGXeYbuXAnQQOtZMhDMtzwopQIyINgiNxDvIHeZqpmuKkXvYDivpPAUwwgmBGOmWoQOCqRauKjEPjSPSPtvuLmjIuwoxVWUoiELcTcVwEpUgSFfEvKdJCJotEeKVQvcWefsNKHubEQmYXnCyDAPBKKFmqqqnHspnVVvVBlwtVgKVWxzyAtJdsXwdWigWkEKMzScmfkOMqkvYZMQlPUSCQQdJVHfuNrrmqfikwLNrHiH","c_map_float":{"c_map_float_1":95.45965, "c_map_float_2":52.26965, "c_map_float_3":93.98546, "c_map_float_4":33.390003, "c_map_float_5":48.51291, "c_map_float_6":1.072066, "c_map_float_7":10.477869, "c_map_float_8":14.975739, "c_map_float_9":92.87626, "c_map_float_10":73.75198},"c_array_ipv4":["napIkBcKRj", "JduaPsBxok", "wTcUTBCBYO", "VAhIBDzbyp", "dYHgxtHbmP", "lnrmPplItN", "UmXwflbjjv", "UtgVJhEfWl", "DdgFRngVRb", "HhvCcXdjQI", "oetgFEncGX", "RzEZUSmAaJ", "vRyeQuWnyX", "qPIXkVALMw", "eaOEudXhmK", "GncJXgteIg", "AhaucQHjUT", "BiIhYSyekk", "RRpAMYEqcP", "rroKUlUlBi", "EJMHGQSBUQ", "pRryjUrNIy", "aMkaRaTlYg", "rHZFLzKiQs", "GFTjegsJNA"],"c_array_ipv6":["cboZQClFRk", "msYwsWbkJv", "CNbPxjxoEb", "ATTKiEXvzL", "caomnsbIJp", "xGOPkZWsdT", "PVdCJtqnSO", "DXDFBdKqpn", "gBiLivYcux", "BcnfmNEcZn", "GuiiBLlfgH", "PlZeDzQmTL", "ilhAElmWxI", "HkPydUYois", "aOBbJqdgUU", "dxxbEEQsWK", "ynKrdgfwbA", "usxmxZhJZe", "rcoviFPwbu", "fKnQzStUNx", "HscoxpPkoF", "otCfZfMYqZ", "WMfmZKYTPv", "rLvueHUDGg", "vjGeucRcVq"],"c_map_bigint":{"c_map_bigint_1":2013159415146614440, "c_map_bigint_2":-9080040839054945636, "c_map_bigint_3":3064090948998490213, "c_map_bigint_4":-1054816413392941562, "c_map_bigint_5":2005696332891923293, "c_map_bigint_6":998249733178399411, "c_map_bigint_7":2196133123122117615, "c_map_bigint_8":-3720128332583056258, "c_map_bigint_9":3809200764423835855, "c_map_bigint_10":-510467979990739505},"c_map_largeint":{"c_map_largeint_1":5332677469694505341, "c_map_largeint_2":-4856831828683582235, "c_map_largeint_3":3220753695838205539, "c_map_largeint_4":-5159956831274158578, "c_map_largeint_5":4496857876585641312, "c_map_largeint_6":1191458668222453079, "c_map_largeint_7":2812502941471293836, "c_map_largeint_8":-6527451663227292869, "c_map_largeint_9":-5119466587692746723, "c_map_largeint_10":1708623886011804041},"c_map_varchar":{"c_map_varchar_1":"BezTcGyDaTgVCRCkynANahpjvrMzmUClVTeHVMgaxicYWfuSZlyOqrudDWoWhGTUGeSkCsSMuxOUYbOIMLVldOrOhLoaNTbfRryGJByMYfnMbxLSoDKEaWKXKbkcUkTSzYILbupocohOelCINEeBsQcxhFvzrTEMedVLXfFmDvEehQvSLNgpGVknpoOoWrOsficXmWIJcHOIQrJXRLvCEqbDpMUrsxrXyxBANBWWKIoCKeisGQuuRAinMcQhgimj", "c_map_varchar_2":"roWjGkklSpaGXlgohAkRZXJbbbHtKMFyUaxQCbkoxWLVVaHdnUayFBsmNAbkVvWjPheQBkbYVQkbGAySCCZpUgNkufEczEBcqEzmlaAJwkSebjtwsAyqfvfPMFWKmPuKtCyJjABxWziXweTvzfyLwkUERvRZVhUixcgmNdOuRMDkxocfmoDehDsSUGnMDGJjMvmkYjcqoLlGIJcChhdTtsJKPBLPkZKtBuwPJFNZZCobvQnQXaIyhnZGTeLQysBN", "c_map_varchar_3":"VHfTvDoEBCIoiMeIzjCTeRoqtcIuULzNzrdaBpqlvbkZyQQJwCdDImufpRETkyyVPcAqteXzIvMDWtTxfUxqBIBsZHNRyjiLgTgSluLhSmuFfpqrNmoZWNwxficoyImETZYxgiEyiRtQOdFmGbarvAEEuImBOTklwwOYvqgRIDWNssOdTxbZyTxstcHwxMAkUXbwqdcpByAqplEsHpHHfKceOmStOOcSdwFgOceJibFblWMuYpSwXhOErzjSWDQs", "c_map_varchar_4":"SLofCvupInYbRhJGdWXCZZXVJRXuVgIXMTgVhltNMzSlchyTkSxRddNfURlLxFCUCOMkGIirwnXFOntIjmHXzPgtGOajOJmxCWGYzCLtwvasFWNjtBSPlCfkVroczptjmwWcETbHGkrastDgWZbSJQcmppmmgwddhQkzaUDiTEsXCXuSueYkQSYOEuUeXgjiELbmEGSOSGUdhbqMqDSlSKjZuUHoVxyoPIoNRKoxGpBcHzoPwXrSfoNVEnERBQIx", "c_map_varchar_5":"XANWyihcUNJRqDrfKtZHYkuPixkyWSgyyuqIwoCOXaLbJflWFqdhYvjfuJaTHqSINHiqcKiZZrrTxZYMCBCSmtMHtQamuGRRuNjLimGMjKcIPRefuVfOMQIhvxKfwMyJLNSAADWljvuFVdptuGmoYrFFCCKrLwqLonHtuWgbyfXGIFXDEyzhGhgalzeJayrLvMZsFcSAttKMojQYvoKyvGSoIVltfPyLltBJVHCPBTTpbCMFPmwJgPJXWbNqqexK", "c_map_varchar_6":"uRgfjGdPqkRlBKFXxXGxmDzwymctytvqfkmDpLSpbMFYLZvyFNngkvcriianMAshpivDOVSGhUEKvYhSRgSdaZBibMYiVpgyHEDcNgYGWaySCVRTilLlxyjaHnaeCQnjpIUnMCufcqfQqgTPNiIGZLJIiTmUlbdNowOXOSizMwTTgBLkTjBdAaHPMxAxugFDlhzlFQvncQSiUbsAFunEEiIpKcSGsMoPgoeFFyqPXIDszkSGCBLtunZJIdbDLkbx", "c_map_varchar_7":"ykfeCPtbhLSXoPyVRlBksCFlgmpNNgMlFfLMwBVYtUNPVqdsSKCzGLQFVXgkNLGQxqpRQvTwkuVPKRjoimebeMJBvEExocAJLGapGhaYiipgiZecyjIflcsMwrOVQEfCBoGHgZpSoJxEdRJoeKQXDTGKluLhdtoJotxEsxIKyesHpHXLRnWqrgcIfLFwUpYTxixcScLXPEhWDGKLXuUIXYjzLSvraStjJnyPhnsSeFsprBdyPrvIiCEGMExiGVnH", "c_map_varchar_8":"nJwAFUuJNkKETBmWpiXGWOjrtEFwBhuDxoqZZBsQHtAjWqbJSIQCFACxLKyZaBViTVCxAFBSlKtzIdctCcGMwVAUYVGJkkBtHnevPugsDXBOAsnpOCTVkFpSAQegyOWAIDlZaWBVPqLMEeqcgITrZZpUCwfVBoADRnFrdLQzdnJYqBosqgKxKvTcpVzuKLPsixLKvcFSEEIIoKtbASlFXxRyUmCgZDEINcRPszrIeVfkfYnSRQtQDpEbmdhyccBU", "c_map_varchar_9":"smuGDGuVYRZYHNFULDmwBrizQerabpCACpAVkIlpBUpyoTnxKtfvFDIutPXMfqCLpMDLGAEFDhKBTMuWFGVAZrAoEypZYFnBkTfkaYlICNbQWTEebZpghqLAMaUGJmsoOEBCZIAaplruZxYzshKRcsNArCKoQhQNTLcDHpPuLCzyxWSslkzDIrvXEVnqCjHCjLkQkPfYVUlPRkFTVZJvvEOphQmMAWnBiJfEWzfncpRGtPXQxzFQzkvhZXHfDdfh", "c_map_varchar_10":"hyvnXqthzAlQVJRfNGMpDRTYahJcqzBDuUAmrcuZHhZulfcXrKlEArpOotgMpbiSWImMSxtVZfORNxsnneiXHBuvDaYoYebvgeqRpbfxwAGyMsVEkXVwyloUKoJxzvOiHBJyEOIHGKfCxqPHrIwmWdiSwYeZSlHQGQQIndepBMaoapQMlcgBqNqCQVxNFvmzElkrmTWMKhECUFuLHQfcVGCPcWiYPEXedidXMPZvpPXDhqQlWwLxxKgOsNJzmgml"},"c_smallint":5323,"c_ipv4":"45.75.4.83","c_array_boolean":[0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1],"c_map_double":{"c_map_double_1":79.49296064966103, "c_map_double_2":45.69813933780778, "c_map_double_3":41.830791391436364, "c_map_double_4":51.51031380817921, "c_map_double_5":80.44584768577029, "c_map_double_6":95.68641421704211, "c_map_double_7":67.77099388700631, "c_map_double_8":70.41795680403723, "c_map_double_9":7.071382211016638, "c_map_double_10":37.558887360585366},"c_array_date":["2004-07-16", "2013-03-12", "2016-09-12", "2008-03-15", "2018-10-25", "2004-08-04", "2010-04-02", "2015-04-15", "2009-08-11", "2003-11-11", "2000-02-04", "2007-02-19", "2015-11-12", "2019-07-23", "2007-08-17", "2009-03-10", "2004-11-10", "2014-10-21", "2006-08-24", "2005-09-12", "2001-04-07", "2013-06-04", "2007-09-08", "2005-05-16", "2012-06-07"],"c_map_datetime":{"c_map_datetime_1":"2015-06-18 08:56:25", "c_map_datetime_2":"2017-09-09 05:31:06", "c_map_datetime_3":"2004-07-20 23:41:16", "c_map_datetime_4":"2014-11-03 16:23:01", "c_map_datetime_5":"2019-11-27 20:16:00", "c_map_datetime_6":"2015-03-17 14:36:47", "c_map_datetime_7":"2007-07-25 21:45:10", "c_map_datetime_8":"2013-05-04 07:40:29", "c_map_datetime_9":"2009-04-24 04:49:23", "c_map_datetime_10":"2009-06-22 01:25:40"},"c_date":"2002-12-18","c_array_bigint":[8778196979643463060, 243737052157924199, -454014628705681790, 7487405973836768156, -9220130050460219495, -5635426471026083292, 4793331443427061355, 145366554019500474, -1577194908979718541, -2907619113390836278, 3204558311689140124, 3749971375356473961, -83126305690267446, 196153106871985931, -3282505252887100509, 3657655766108421560, -727346980878070697, -71292972524583071, 7883050198143459072, -5211181827443453252, 1725725687898210786, -2510395122309539688, 7809161209991282124, 653551432647476395, -3753263547665341145],"c_array_varchar":["zJdeohwsOQqAFThzmHcnSXskQeYXkdMJjGeDkLGlhwLvMkIbMvjEdcPJqZkLCvXBWbYxMxfqBVuudqkMcPUnjAsuuNgXXLlRTEBJpookBQmBSbeuwhVwvqmcWvmxvwNkDPhtCAeMIrzjkXpZAiALzxvjSoIBcbAAIRjbxIhbtwajYkHhvPhWXsqyKMeNsKfAUsWizcBOuEtZLXzJhwPpFMXAQjUPumIVjGwBVLpEzsftTHmkONvMOLivYSbVzstj", "apOlUpPThIIqfnbbZEkpSEqXArfEDFRwBAPQWBPZVpnLfIDxrndBBBvMkMVJfIMSACVQGngjGwbzeYYQnyzmFSTKFIjIzAhERNVaHDaegrWyyzxudjGdGhUqBpvSYBKolWuqWbSCXCmqUHiGTsgcIaxYAXQwdiqnclgGkjZSanaXVqnDmQkwLsZAiDKpwozbNINrzbYokoJtaQpMOJNfhTvTYVofTjSlaFABiGlXIGMStOzazndXHkoQqFJZmEBf", "jukEIMqAfByYdyiNVvxqDrcvZMeLdakwBWhCLMuViNHAuIsBhgaUrTjHsXxPdAiHguMNktmhEalPIyfFWxCCWlmNRnhjexHmyeaLXGTnPOUadvrcwuMLBmKtAGIOIKwwLveldpoElKROCTQhsVrqmRlllHPHDPNLMMyHGcQGtcjChNNflAzuWIaBTVcdvEbwxLWbkXPKWbGYzcbfVsNjRJHHaCilQwpZqwbKCojLxgfnSAEIhRXOLZhNSixKgenW", "CCFfgUOudaJdDkUcboPltcOUtfXBGNwZUlpsaoMmmhXgXcauFXjOiiYoSQkFjXIarRuQWCOPNmDYgskgVDbopFftgorolHIRpoXVJQPUVMulrnHZZIUeAgunqxGDxJrKBLxVWVRZNeznWwVaXxvmNmfkePPMmcNIYaVbfcxNFrSLLuFWXeoXhhWSsQrAKttMVcVffDRNcBGJIFjLCwWrmQQAgtcKxvwYwaIVddQMoqGyLtmuocJHKxZfKeMtDatO", "HsaVZlheTjahlkTWCnAtnNkpGPifsbLmlBXSsqLeKtPboSeOFyLAjifHhCITMMBXDBurHLUchPyauBMwRIEAUvmmOLJXgsFkLcTaFrBGksPFxBJTgFjnrGwxTGrbIuThGJRXhzzmQWUhBMBdHlbBmrBXHyHsDJIKPhZofnUJdyjqCwrjGrjvsIVzRJXfKhGrlaLwnhZlHywvLKlozdtObCEHTODwrJOvlEyVoWfLFORMTLQvBslBtpOYGkEpzPrO", "BQWkIFVtMlbIMaAjqKQAirYQhvXRZevzsmbmZWPnzxEfAcybAIiqodlfxmpCHjmKPdNCPfopNDDEUBVNFtvJdmUjuaCGgOkmFwfEIreMukfhLtawWpRsJlcbFhUPqvfbbOQcWcjPJtacOZsmLSteDKRwaeIsepgBaiORdXzllxaDuswZfQUUDFmhOiIdUfGrQIZzVNtrzIucdeZRIuzXiFblvSkmQwTRdFgqazBwCRyllnSTdvOKjevQxwpdvwzD", "mMOsZkEIMnuiheuQIGeSZEmJUuthVOXUyWmwjqsQYRcPGWWNqTeRDluIldwGeYcanLEeRCqlfIAraKftYFNwXGomPIqYqkpZjaXgUFNfDbePxCvjiFHwayAPxbirmLPpdUKhkBTjAtzGPnkfIPjkbPhnmIyuHcbRydCaOOwpFkBQcYFPibVAHXTAqPmbMcEAWACuMMPoRAEntbaVweWHvklnevTzuUxTQluZchnKzqIDoZKatoktaWkpsbaPaRkJ", "IkpWdkifgonivtqjcCYNphRODtAChLWzXzABozGMRVthtshOXlfqOuUPItcmQQDOQHMbDuMXBMDeDXvLxDPckXxHiKyBQKzIyAuSCkjoKAbCLAVBoWeJVixemWEFMmAhZOIBZvCGcLpcoAjJLJzXGJMwuaWQptciBTdTdufmhodDvkUYVdghrkLgDOQdrZSaTqNnHTtbFmfoViDhmrUBIlmStxzEwLhLredlUZPvifezxtgfhDtLDmgrEflEZEpX", "lUBwxsPmPHvcuswHUgdThzifbhETiGpYiHXXbOSAmLNLjYCUIvZNjAbRHjZzNSHxevmEyLgRplIiWrfxiCeUfhzBKZWAntcHYxORIFphvZihbGZszEHHwLfSMxsSshRiyesTjDlDdtWFjsVgxITJYwpOpEYOnaUIHfvEAVOyqGVLOwwIIJjxzoHtvGFHhIxdkcOJAAzpHqPtJzzTBMTwRvdNTsNWxEvGDVwJiTiuXniIBkqSvFUaykodyTIPgwam", "vcBOmoGzxSJtUSkXuFDfezvCOKBvULjrFNZMIHdNNOkMGpcFWEQAYEPANILidxPilCGDmCkrzEFSKkHgILkGjaiCLUuFGifGjLdBtCpumfAEVIODEgzstsJicCpDKJVzGuzDVybqLxKPYjPehaeppTGHBPLEXIBSYKEvKpXmYrazZohZKVSmSrAKAtXQsgCssbWrbPcaptBzXGlehuejPnzbJogBVdwAFXRHyAZDuJAzkqnXdmQYwjirewGYTArH", "XEelXXwFhoKNThKuRmowpJZtBCrHRJrZstelSKkLBOMmmYqCagDvnxPxuHZSeMxBsqYDsJoYVipXWiKdqlBzHwzNOdPhVFtfkvwChGxiQtdUFTBinSayvBmeoHEYQrcdzWDnRISUXYTpugBEftPWQUiaBpayZITtUTAkYPXFQXEovUhrzZKcvkKGHJlYKzISPiwIpNsBszWauedLIeLTyBWaYiLJLYWYaqLrWDEUqSHoDLgMvFaqvZwoWHoVEiJR", "HTeUkpEvxXykEOPoLHavkGkQkNxZkiPmgqyTWQPCdfmpsDTDpyqCOzCixeHHqfHMYlxafvBLzghrUPnExvgOUIKsXilZGRdeOACjrteYgdClXLGnDwqNLSONYOebacEsUBvJbZkKiitneWBjTawgqhjKgRAGNqjGtmcGlGwJztNClASeuMQShtdAglcIiTWPiEmcVCGAHrrJBhNJWYVDgUcEHpqELtAWfVtEsBBuetaMnNOfDMrknWWbLszBbjuE", "qXPTnKoqILvranlZFRuasiyHTWogWtNQUoamFYWGPLKkZZabXmsLvwWyZJAFesNGjfXKuCwTsxBYMvLKNhxwYFGpCqifYMruFNQpjvMruSSWSwUMCvsPWAeajTDGTAejxCdofPIeyASLmhYuilmZvSExzfBhPcbuCrelHNzfWHVbuKCkNtVworbTNFVwLTzCsBCYYzvxrvivVXbFflLLTEPiYQUSRyMFATvOfCAdkLeyCmUrbMOjCVIyLzoihFty", "JYkrXwqFuaTHNdHqdmgwFNDLkbHeCjFEyQMBOUyLrQaaHxRxUqsjKBmjaMPsVDyxuMHVBmsROgmBmDTZZRraKCUAjCHuambrQuACdioexchevVWROAxZoJFfihRYGdoMJJwdTGSmtkBYfFcgecthagOoKjwkcqeQOIXjNrKmvuRontibxFeYgsuPFKGuZhNICfRJnQyEymlqfWsojLGZNFIgYXPrFuERthVXenfTQhwEVSjtmBbbmXIJcbPLyUwa", "NNLlISVFNMUIJoFJWMPIonCnywZGkhHclRFrNUtMBdQTxVDwEDiNCVqjrVzIIRpPLXMzbcVlOUgyLojiLiSvlfxiHqDodLkxYYKdTfRXCDOTfTorjiTGTuBVYotjMpFnSLDPvCXblTlaGYpTTICxyPufvVBpvTrWxSSLNAYRZXVbAyxpJLtqZwIammBYIAkwlpgBENGmbCmRumLvOWtBXmqHTQcbHtstxEHBOdUubFEaRYfTzUURKjpsIYhGdalJ", "bClRmFmpmUIrQARYnNUQqRLAuiypXydQSEsqIzLOMDVGJprQppmkKDDrgvEohMyWvafTVyvvCHmiwiKpjHxaabSfSNIlzIoCyMDnXUXkQVHMHlIkPtCCKNBBVGVdxibmWmdryVrsPLjArKtuhWgBXAsJiMMXLZSnePWejhRfNrbcfwkexjEeJSLETDrbTaWWzWJHwcceUAoAyYWMrqwEZxdWnORsmhsHtisZtIRaklCLUbfWFjCKscmoDPHqsJXJ", "WiXXEoSUmbkoBMIDzRiulJhkiSgXrvCssPDyAjAfwgPzlxtfKzGaLWhWiJklzRIfDIZOyOknZdIZDYqeUIJWwwhcOtgzGheNcxxKyypoFkrvKRJNgGvLVlsrTbAZHIITDlFAhCzvtdOijwiKHpDMRkTAKvFtnitRTwGYfxmTtQieQMruWjZBYGvsmMwhujtmaGehcEyrsXRdsVTxNvXCuyrJTvnNtlssWNrihKwDGkPcPNrvdSDeAUYQhqzUqVCo", "LctfDOXHdEBGMaRrCxcAyhXdJTgbvRjWpjitjdgTsxWioVzHfcNvNrPobwKpErcBXbLuplqgfxMfAgTHpeNrVzZuUjaPcNAvxXLBishmmShKlTQKSoZqzoQmLqpRrLJHWwaSQOocDgLggMmENpRIbMkoTsMuSfmDluqVeaqtVEhRnGDUTBvxHMdyIqMCEJICzkqsjzkJJWURwdTPXYjujyyPyOuboxuIrrfbAPwYRGIjcMpcEwosuhBwtlTSKXTy", "XskPxnXTEwvEZJRMNefykvSdQJHJwtwLrmRlfCxQuJxXgUjZfqwAwcYzfqNpOWHKeMexJFHIxESEASZaPMmFueoNPTsBpChNQiOpLCHUuYTRsbYhNnxsZkswcSWeThCfdhTcZRvMkDxnoYxBeeybaStXxxGdNgYGrcsUVsNyEWFKPdITsMcdxefGVNZcNwDcrQJSMdNzKHjBubNwvBMWSNlVPjxuGvAbCGYPQVleFusFmpsgAYzvabxQksmbISAD", "DEfLrswnCCNaMTfqIxEgwCDnXQZauzaFlGFLyhVqKJybhbkJyEBfijZANskLInzWhlUMbhXsCctmwmghFlpiwWzNQbugCUrKsRGUEPBAFOTJlmCaGQfmFnwZfPUISUSMHUifbtUziRXIQeIWnzmhbpKjUygrdbfBQGADvfzcTLbadOAEYQWOLYDBNocfXqrrJanOLTYUJYxecfzWEtdEboSnTPEHnFKQXoRPwcyzZuEtiuXVsrLWxgvIqEDUlQgL", "VYCzaOXEinWXZNVNosgyhJRndlPUYNySDqarVQNiGFqdGZKUvVFQAXrGdioUxxqSYdXjPyWbyYBswwOCcSIglOwSaGUlORSpcjLDHlmbtGGJxThbwvDSYUnwbujLyoXPihePVktIXHXxYohLMsrIeJsBVwLdxOXCsKYrYlragTaRFBfrrKhQezgzTaBMCNxGXRVFEjJFrutdlDTzBxjFVuOxgdScjFnhHKJWfXjQlWsXgbiDWceCVhzINTQEmEyi", "rLeLNqsUICSjTmbPTpVcmbMMPFhniSruNHkbeWRErRErWTLTQejamDJjDDRjtmsHGoWSwxlzrInpoJCCAIdThCxRaQfZSuYaogIzyctZoxPFbdKTHcfyVwbzTiCSvtWhxyjXMYsOYlzNlArcDtnrXtVqXrgdbRyoAQnZPdoeHhdVCmgiXajjcUUYYcnOtLerPuWYNEwTtAREFVmTQAWMhimDlLzglgrnhOTwUbFraqQnTekIDjNgVxGZdBXYpJco", "uwwGtQktEKNMLMTEaVUWljoIDFTVntJYkPrMPZGixZTRJCPLUUsUlQkqLGzCQpRwFMDPrevDctOTvTLqKJjmKGcUcRfkTeXLxfXHxOQqCHsqIHZBwcnPLYoUlNLxkIbRjESeVUVrQyyzzwYCYRTvZXVjgbjectaXyeXzlooABNTwuPoXrTSvNKyaowBTJvNHsPJMVDjCBGHmFWfvKGWNjofodWJhLEEpcXcHcWreeOnbbMlwgtXsjouwGpSBVELd", "QCojztBzBtAOPxSwlGKxqqQeKVpecqypcGAfzlSjPpAGdJmGetOpJKxlxrUPZlBDSAiwxcgBHQnDzborLlzqPdMqoGelSdvaudHiIUYZfkzctWweGoVxOKkkMNXwHQLuxZVfZuTnPbFsDwXYYOOdqTQvYdFFYSBSAshDeqxcETcLBSMKdQCfNtEIfGUtsVOYmVHQzebBMavrrjqwXqMfHiRRpVjlrBpXxPgqyQnCRdgZTkQsWcLdFGBoQCOprFaV", "YtErGYCGaEZbSgzvKiFDpnSYRfYZdRbjuFquePkFFOhLaOFUdHqCWNpWaMjDQJnhRwyDcMnJCtVHqWelIfntwlkbLpyxGNvJDFYnWsBsacueACxCiJHbVowrgnGVparOipQKnAQVTabWVPqtQlLKmsvEFfdvWvrFnWInujfcjQKcmGUWBIImPosdTGufsactaESWmDkjgybhrLeNbzWCSYLOPVPrElMNIKdlVZpwTDZzuUwWATWmWuDqGPfIxtKW"],"c_array_string":["CPekeFABMeZzyLhrCIfcKmzzUTsrdQNbJzNySMWIGkxHshriuVdzJNDXuvzuzoGpKNqwePjWFQpeBVsRXQkgsapbyYewcPMhecNdBTqCVpbPqbybkNJbcFgfcJKJCOiUzdTUAMIsqEvXiNUIzaEjcTVHwLXemAjkGNbhQoAGTZtTMUSgaNOyyBcZHMMmSXeKkbUzxLtcnIsZUBdefgIcbLLJkjxUogDNXwQUkEDkcduAQjoDRrdqUpnxyCaWYIQbEUnBgezCRSUJKFmmzVXJANqrJedAFqMtHZOGXuKjPJlDSubvDxpMWxPsGmyHdbQarYAqVOjvWPAkmzrVxQqsHhgthUfdxBOXJtmrrKgJFfjCWWYFjQIFroRJIKtSxBfdNmyUbSTsWvazKjLlHPHIovfRzwgIbUMEAADXvtQqqctxFEQwLFgIENBeXgBLMeDicdLcvkxyTDaVLXinvciFjeqAkItaqqrxMciGgtfbVkorFHWkMFEfVRBbuBBAGCIk", "nQBuXRplwfxyzPzRZBkCVYhvxquvtDNUnTTtdXruFxAuZBiJqiyboFIzYDVQCHHfZZsoUqVHDwRuQZsbqEsQIrFzNlbRASEIEvRCPREuNYKKdBiibVloVOlASEQKWduqeUsHmkGXcAHvtQEtfywUctpZQfITiJGvwlFGYzknjCiCFZqRWmDYMMClWNFcaesvVnaxgdEXTaxeOWuOrArcjanjHBcvANaDPBmjdDZMJvaqQroqLxzGeKwzKSRWdbzzNwPPAOBXZFbNssevmNyZAGIELWNIUuwcAsgTtVwrcmYUDpaejwNakqLlSqLQTdhjMYGhtayKplRjeQEOLKRVEVUfNuGoAdgeatIvjxITwKcTKweUKVXUfmYOSSIHHUGEZuAknfvKpctKFqxGyeeUqFDVOOEucNmrcWCynjYiDRbcfJxWGBzdgLbAgptWmHMaoqwUoeMevZkaHKVUKYpQBcvKZUZJldwylLxkJxhyRsdfQIXtjxbQoSbNjRXNUSdJ", "NftvtpTxdmkpfuKtKgsISlciQtnTphICLXOAtAwQyMRLcdJqOfiiiFBCTbSfezmIGUdCHIqIpFIalwfzroJoUKCeVcvVpTqyEKMntLMhDyQwBuIMmQQMKWhpaabfyAJWSXRTbrWdGOOOMhXnXFixePYIFImRxcFpvCTnhkpVmfNApfzcJCfhwRqUoZlqcILihsIyebGrEfJVJydUqfjAMVMIwBUdXhkXbzThgZVCJMcDXMiHDOXBBmoogWDRMoCBAXuTJzIzyfvQdeKCYILwPtnklzHjuzHJRUzXhQvMZLCNiPEbWrZNGLkmGpFUqIoHJIwrnQwxxAMwmsMGeHyYubwMpiFoDKFOQxITOhsviAtugayaGEMJMqWdtXplyJvYyxILXFmQFxtenBJCRfkaJnmeLDicpAPyeMjrbfPupxigZomuHOAWSZedWMlaVUikGsnAEdzWVtWXHPOFuxiOoLtVIxYZpBanHzbtNgoBFqIKLEmZrJxepJKnPpMpiOvU", "QhslNFQXTjuQjAicsoEhpWszTOUfMRoHTBkoNEIqMXABdjEHvaofjLVWwCtnzocJZhHbRqMVjIpBaSCtERRYIDuMfqEyOKCwUMtKPKAPeeZtWXyOEudWpytNidhHYqYZVQzequkDhxWtkUCnAPTGMBiBGGdgBxIVLhtkJsoGbwcytnrZOMwIxgYgKpLAVudfBFMDIpYsjiZRJLOrbZuaIRpAnrqywLyWzhKjXPPUvuYscgECKApioMkZRGYqoiLnDHyVQgqlZBGYZrVFlOhCDhmgquRZLoZqWnIrbJVtSStimodPytDUkDpLSquMlSkwZkYRPYjkCzzkAvQPBsUXltDWHFTruEKXmTWZzvNQBUCYWdvDaxSkMsualoeHcdcdQUMPyBFONDItzvbhnKVkydIxBCxHIqtDpeQXbwIQOjJTTKZdVmCoPAMCwbbmJHUmFhDxairYKmLuOjpxGCGMOTmxQyzmMZbhwSEYMbqHliXYaqrxmTAxDUFJMvHXpMFa", "sPQuMLsUiUkYOMAuDWDeKCBapUrBExrEoPBLUVbbRahbilRUqsHlFizRcpGXIBDPNelEboIVFztvtbnUVqrpRqVJkjAgdQHdCjUcTqGmseodDyKLPXwynSwBsQbOGDGtGvGnMWpFroEgHfokublAylHhsvfCCNnrHiixOzmuFsKjatWimBYhFyxfUoVRfwEMhMXSbRdbiYEenGrpexrBkcnfXZZSlTTumTgjgozdmVUeiTuPNPKHCWdHNEDVRJqcgtvVyOaxpxjnWuVksBYyFESUIMRgQzlAjTxPaQGmyVCLEEgpgABHEmXWARuRNnkJfzNnctfdReQjKgFwyLyuKgfSrfdcihmhiHDsuuTSxsEOqYWWvpDRvrxUHNLdBVfvODkCwmIlQzbLPorMxUNpEJlSOwaZEdkqOsATbBlAuHjErDLeFJALyLXqJfxpATcqgCWVfLCghZCnaQSBhuswNAzwtQSMSyYBZNfOoDkluocxnhPjnCfOyqjAriPsiViR", "pjwlkMMLlpLEtvoNqcgTlfNphHkJVCkGVntEdWjrzCpOuASLrDuDbpfpnCCfHCQzxNhdDkJEYANwtHXjHHnRdIuFKztDzTKhvpQDWphPGhRmoUuauKXtzQIzCDynsncrAjmmOXCijxBLXtFpdGcsdkVbBkQipyoLpVtvcwtCGSejVJjSKkuGSjokTOmlxFdsQMAzTNEKjFcDroUWfpdBHhbFVLLmCgkITzaLPtAPGxXpZWeepjdEumjQlgHySSrgcDZmxMNesbDznKaTPMCjqCUsYEiJUMHsdSZVdwfpwNzEVUViOiHLPNQButJkHcDxmxyZKqDInKiEbVwfRSFpGZhictkzWZXYUucKcJzOytRJUNRkLVdOThetHGBRTMrKAZoyeDNbWvubqdeQEWTXbSUaPMVUsdRsZxSOuFBpjVgfliMKmNgOSHOBiqiEOUXvFFMpdVFsmoqrGYISyoBmpUXhunlmnUkunklIBSfrrqBamtXbWrwGTFixmkwlpmzk", "JabDuORnZUxwCNlbkaUiuCFQUVWOxojGspzJWCHfoYawCGWmzSwXRBTVBYXGVUFfGBetfGkBArnFizRdJkmBBhIhvJXtzLpKUadYwEMTPAwZTVWXZoNgyyiRyzMLXQxAyhxLOQBTaaRxLBmmmkVDxnUGqkSAKbYldLWaDSkhJtfHRdzNqayXfdJfEqTJzfFUIAUUGFIyBgSgtOKjjmtTekeVRmMYbruFPxEWsnQjiiHanwWQOUveoUhDUcAKNdsIyMXEpjPjGTRPitJEBgITvBMIMTTNUermiDxlJWaqiKhZyzwYBJylclnEieIzfDIOkHyZoPCIZjrqnVFPvtEXgmvRCexJwqbTcmqHzvdhDJpEEjyaZeIMGAmJVZymvADtNvsMMvfendGmfUXySRpzrBcOZYzQVduAtWKhLVSGPHlsDdOkJoDWDhZvVqCVejdrGUrGCxErolMLapXYeDNrdDnZJmwHJxhxVCimzvjmdQlKDQcJBKoaJbReaSXhkPpO", "TmDgXmnNkvNgngRJcspMxmKndjLNulcYHgkulsaSRNPeSFAqwxWTBHMafgXKiSgeWQRTaeqqJURNWWgUkpjoCRRtKDDPBsLNqkdMeWJXYQutFuYcRHCLMsrnbKMOJczWvCNVYjKykdUUrlzskcbTiRBAisyxghQrMhoiTmLMZVJtVRQadbJJagTudeCUZmKWwbkHImJpHwUeezxZfeymLLkAGrVsYUBVMfrikodyawGHCWHuRGrAhDWuFoTzOkCgFBdYPRMigUyJDRsqRyyzWWiZFWqOgTiiJYGxlyOxLGUBNCVUqaXbmYoxeRJuwwppDxSYhEhhMfabtoqbMDFvxYpqaJgKLKDBeBlCiJWCpnyzykkSnUFOtBQFEUwfNiOuqvQwJMTGPmbDgBIegVUPjqYIXxftfTCPzjDtwEANhanJotUCwbLiUEMCewBPtrlopyHUvCBQrVWqbkqekAMsGjFvnMQSIoPJTPgoyYjAnqymJsANtJaXicDfeBUYVitY", "rYJndehqPtZgxpqYhpqsQkVtYurIQkHhcWGHgjoDrTpNfjqyUUlVDmBGklSyMgDmEAxBmIXfOhFvcHcFbFqxTaLGjVpLCimwfxttvpcrTkibRwiOzqYbhQiMTLjhetQPJrLWchqwErXJbjzuNMKOREqgebwJNaqONxtlykWLbrvYaMVlnyhSJzZXRzRSVDwioKKmcbvnBPSUHBnHrNJVtpVoMKVzqXGjtpoVACMDEMsYFKQpaobrrbWEeupAYeeWcFHWaRMdrnvudSdGdksoxBatMGQZvxQXMnTAfbPIRxYnFFXghktZfwffaXooSitBqporJqlTPxhijyvtlxWcgAKmsfOCxBzYwqaPpPcfrhGmHEpEMRpnHUHKUnGwnYbxBgoyLkILTIFaXJDcORIoIjoJjBVoGtypJEQrCCoCaLpqEkJynxwJKDnISSoMaOIeWlIuAJByjVBPnkbKdzIzCVqqqDbqIFSVsTejKShXyvOsoVXsovvjnKyuiTTQFUnU", "AQOlUNjbWJsMCiRTgjvkGOYBBkdMHBWtKFUoZCbOOIKnGecVEcXsKlRGCvkRebjmYXgxDWfTfoEaUKNyEQLwllpPxysMjmrcyZwJfOzDIhEYSlyvLMPCosuQvRPUwWsGVctPgEAMshGdbZfgcWvOZPWPtcKkkWBssKYagLPpBfurdhfuJsgUsUOoPFboimETzTXwrgvrSNzsmQNnLxLAYyvbXXOMfIdPmNPyrwvrfJsWQBPpnrgSTVGwxBEUYvbCqNhzVZKmAAYxLhtkeJeAmedAjFbEKMoicoRwLngrVoqsPYygwCOdEnkSMcRnfHibtIFOTLxxIoWeCEwMGKhPeMqvrPlDTITMPXYUsvcdvmbEBpAopXZugiZdlJQYOKhGDjUtuQVvqIMVFOGCRxcLlQVhtVuCRTrYlOAuONacrQywzoRAPTvNOxduTrgloEeDOmajEggxttdbRcYEgdsdHoCqjdKgaRGRYRYjimPvnxyVGKUwyfkvdFybajzPlpcC", "abzYFfBICzDjEUBSSMWQJXhIeYuKDuxoFlUOriYpfDNGJPVAvdGAiMjGksCEejwGQgdIEwvUNjVBCeFZiJZdUiKeHMsnmVxhHTRkbzyVLBsjHWEDAUSlPOZasoMNzMutkpehReLgxZHFbffxrTchatZEZCJWoIAoNqaJONdQhtFQtoJuIPMzRhUNETJrNzbXeXVGbBjPBkRdzuiGqKuVmOiQuRpcuMhVxMrYvAZgnjiUPxcYzVimZSRGqSlwLFCXrxRKjOPaJPqVCsxdWHoGoSbkmrRXwwlkARSvQoRYTZNgBUEbfIIODEyryivvQvbEOLWoIuORbNYZJbwxYbtpWchWqlyPpTrqjKMvHmqcqpazozzdSPitxCYNecUxztyrktXCEMgCqAINYQSkbyjSCakmkLKNRHGNYUAhmeYtOGjSJlzuCsXukdddCfsTEocHnFUONHLbPoqiWlhPioexqVcESzSqouDjCmWfuxfVeKvgBXURkApQWkqqAEdaVnBM", "HOLukmfrpaxPOrlWGMEEInKqVLgBCepMGACqbLcKLdgvemmgQDvDwfBpjIMZMZKNjLQMqhFdbcvtPSiAuQzjpKDvNgLyjxNkSResKvMtUAzwJPLIymvaobUaMaNYcjQFKDOnWlYVynTjTOXbQISJozSBVOcfxDlJxaaECHfzGyTTPXjqouXXazuhugzNBmmuntnagsruiusyDUKvjdVKKenQFWlwLImzKzRPPIsOTKYkwESTaIZVClkxDnPXIAwmbRWONdFhocgpLWRAPTPFxbKImsKFGijfKXrFbvIWBwWzxyZBvkWbqeIUgKCajaHyxircEuxlwQPHPIqsLBEzJvlnYZtYNPtNXPpGsGDpRgeozfNolAKfTSTIKBgpxTTgWvwaDwRbdvkSDhduDJgRdLLryfDqbNyLUCMvlsqbVdtNFFDaSqHaOjWQnEaQsekuZrcqSXNOwWuDXcEUJbCHNxzeJLKHRtNxuNCOnEWFqPsIBUhPHFyzRhRIaqXnzsvF", "lcjtLyRESeiomYeimDAKJcsdnlcuIVUKVmYdeafHtcPxrMDyoQWEdjHNfZqBkHFhRBHaKJgrvPKTlENpbzhQNooIyBWqMifYOEiaKPJGJnHIXsPYeiJhZAopbGHMciawjholdvLvgarGFIgnTHLAgPDgMeCGPESVrmedyxxenjrFifEsxVcjZJwZDCcjZPsOznKEXPfJihiVPRcGUNzSBUfvqzQJEOnlXbaWaAiyqCYkVdtZAmZlWfFoVMpPTXcRWBrwZnXtJQXWndafjfdoHkdTHdYQBwGxRNHOIuwtqqRWxplTBUbepEPlGSmQOEjxrbnKmfutmxxvDCiPsFuWMuBPlWGWomVjmAdcrCdUGpcNFKfNpiCyhHGgexHRLHhdjbUnBfLDiByBtAWCRPEYpkJeuAssqJJPdWywKioybOLyXtktzyszwtffxAsyCtYfIMLCjcjxNasNrjMtWobWohPIKryJffumDttYbbpLqSwxNdqisamANxvpatiPQDFD", "vpOqEaVymKbcvgbdcgRYSQUuUHuDUrscjRXfBWFWrbxLAVhtktTFQSWHkHQYhkEjMEfurlrtmgeQIUKxGKgYxUKdtJBDsfvqPoLExxKcauteRhhcsdFohtJLGxPCMQacQmczRvryqMjFmWhHeSXUYPQnRzBxrkDvZlgMIJWpHluLLfFpfSVntCaMzClvCMskmNkzvbMOmWDQOZtXLFcMtlvMjGMAaQNGNseiyZssILVfudiCdLVCgkJCVQhtbWBFUKbHQPpXUgOYWazeszTpizRZEQEYSswbrtDkEkTeiGNSIsCEzmZTEhHfJFHOZPkXgvhTyDkIHBPEdowBQeSsvmnJLISfPezhFWnnACQgxNmAVYOaRZhLFlfoNfACWfsRjIfzFzcezRMyCUBbcPROJQnHJZcqcnsfvxreTQyHlVmLDosNwvXAblQYjsUunrBzbjwOkMYdnHSVmRBGcGfSoCkjoRUCfLjcUKiByYbNmuHmDcXkucSWnyrlnuCvLwGR", "eYrFgBNuoHbWbpAQEQpgyzbyfkPgxXpQiTSyOjxJaFqOTHVUtHqIYEdrLCrbLqmJPbZMDyYduQjzRDcfakgGTQcMCOsYUVdRnibxsjYOKbxgNqEdVrfHybTvuOukbLiSXXIECEIDLsvYuZZGvBfgAmQRUjkTNGZzCmFVqiAPmvNUScOHPDdoUulshdlwNUQxnIyyxoPPGCntewZCAFTSUjTErdgmtnVeAxzdLfIZVUMJSoxZSfQhRdYjkFgHzMOZcsrywbwFKXUWuTLrxLuZzgArpPTDgJlMdrifpmjxfTmCCjmtVHMyQpIVnmqkjkGMPbCSVFugBotdUpaUXpJPmfCFAqaFeeHxHhqBuqHBcaeEUMTxQQIjmhqxOtXqfhZRThjLUGdSlfjywyhgDqTjAryxyaMzQDMusaGNKpXOnKbCtsaYeFhKLIEDyItOxzueyzckviViiVkouDPFnvdexgWBxdYWvfRtBZiTmMLHGOsAvzrZDqPeOrTooKbQUwIj", "xzyNHCDMUdvdefJgtvbVQUWjMdnfsIPCksGYGivfTKOpLfaMSVpCfqIUdnMJwlgMaHvjHTLTgGiMYvSPgPokgpOoCZuCobdhjozckNAffKqBwFHiPTyfUdkcCPfOdssusVYkjCzJjmHHmFbOdCRglFWGanLHfmqYfzZjSiQgcwylyVNXGUfvLmeEaBpzHYKYRIbBSdEEOvhsIxgwTGlcbUiABoTcQdyhWebmpddWCnFQFCvuiqvSHKhMHrlsVlUiLLpSWfeqNGEsVLsIcOOSVwSPziXzxCYcGcdpQFGsTEbpnVzJGRYrHHKBqPjwnbDkhUQKjUWKWSlCvJFbWLFSPEGiSzjnVvzvxWwvrRYUXJRpTjNigJDBgEqJhHVNgzbZJOPFeacQgWjsDDYSGodMEHLMkPIYSMUVQurQYGuRSpLutyvhiVKqMNviRXNhhrJVZtTIFBOrZTomcZdcYpdtZdkSsZISMUKhDgWYoGQctpMCsMqDGJKKlUFpDcNuELDW", "ivdWcYkdSWfhnmVtLscjaYczsoUFvtqVqPmqqjKRRjctXGPFjeaUrMPEvIAmZkVjdjSRPwjESHMdFwZWWaCyxPEokkuhLObuefBdxQuceqDSTaNIvIQNUdgkWsJZnSDwvAajPmvJkPKwQwosLwddRMvtwBQEpqArfsoybACrKkGzjnYvInIWMTWupRbqMGcNNPyVhsWnKoFazezlVbtZOofZDwpAPNfDbfFjyevKsTUPCjmSxeFfoCoylSoplYKCbWtsSzzaLxjCFyjZCJJFQuNoIpwqKLKUdimMgrultgtSfMNsynAALtSxuwBphPUTHyyBmDPPJGAZEzdxLmxFVdxIztLRLDTVhKcXjJPywLUNojytIFkTzByZBSIocbNsogZupBsvXHqbvUzvxBsNwqHQFNPuvfBubLKfmXxCFolWfSYVcVBNzLMupiJjaIgBNWSYNgpXswviQaThTGmwZDIurkFWOFtaKzGcvLeSmMqIfZSXKUnOIjKeAGUiMxSC", "MCVeszhuKjvywARMPSQOnpHKYvUXWwRKilYuUEScdPYLDyFpNmPFZGgJXQSJukaZmYEMbjthDFOyiTMfPDRhfYPJQNOLoDzXJjWgeYnYyhwbefDpFqbAyjBwoMeJVpVWPVvypEzztbsWMgflFCzPDahdpmXemXIXylvtcQqfvNBiIQKxfwTeNRjEDcsvHdEfyLjiDgEWTlvXdGwxDJTqRaAVtOkjIkYncChZIlPJhCNHLJGvqsslEbXfkOiyqGRLCynqeIUKiaWQCDcvwvkmDSeRTEtEouikIwVmBIVsPVzYzYcQLwbLxrjBIBwVguwXiMmkIBXmLHCwuqmblWbwWuinkNUOjwytUUqgfrMBFnEESDEdPbPyBPCXItPHuSgEYkHjLMYaCyRIcKoCQWzzZNnuQDOAaMaELNqGKFPZIGyfPLGUHuWRmBWhSVkWeuGvWwkMKbKAifYtMXESDyVAXjFZARitkVYuJJiereyQBgxGpTkkqBveeOLEYQSxNdro", "oBDDvosrOWgGQvLnWuPdjUpjvQsuMEfeyuDMrsxQVJKoZldcHcHTnbpUwyCcGWLfKkcSNLMphQJXtfycSjoJxKdrfPENmjiqUHDSWVZRRODqcKikKBxOqBZLNVOHfpewwfQcqXnyTsoPcgNzdXeOYFLnpZRFilvIzUVcNOqBXrQilhDiZJtSNQYPOvYsVwEHHKDxceVTOiwIFwsPjjyzMqsOtWmtDjUWNIYnlnMVVQHCwTfxIAjuGDuNRUpqtwMNFqSqHTwfzeJCQbDtYUxmVWiMWSUfKjBiwpgaDLuuWceUyuYbKKNZjzhIHLXjDNisBNTMwPFDZqOkygshVZvZZIkkuAsrtMaQzreVbMIqfEnfthFWjWBbamzcFMeAyPvZnGfsumcsWiFVDRqXiKfPkBzgncYZPxObIdohhQiJXTGDfGMqxjnFgPoytbYBsBFvOVBywhzvzmmqXoBpxgWketqGPWwOztgOVaXxiQDDlgzUCaQDchPLlCyabatRZdxu", "zzzKQCDRQphRjBhETRNGLisWKkdjytnFcfUmuWieLzHgKeDovDSaJWqlYtOrdjxzkSNBtVeoJDWrUIBfEPTNTSwfXqKQlKhnYZialkNKYIOtjFKelWhsrbCxgByLWSQWpmbwJdZSePrNRyTfiEhldPwnyhZTJnPaSOiTwPkJmSyWgoRToektYuTDvRdJIugSsDkblHdjOThsLickUstqCRHJTJTOgJiQaOxyvhFQRtsPxiqnQVJERLyNwOxrUcwxwltUuAphvXuRBMOpzFcWAfDvFEbIkrwqjlZVVsULGqiPuISmkQNFlzsvbRttENwVZDqZnQZLsPWBLbewpxdOfUHHCAXEJOTYlTbHvtgvTEhFmXUzYMinyJPowbgARcIcQKslYkdmFvBUjkHgfYtQZRdYtdYFtXcKTEvJYRyKDzbhIuzVpGZdWPSClelqTLbXpnWNuNmIixKZcUTzOReTddNavNxxTsgeLzMKqWguIOceuslryhuWlbofzZDaNYuF", "IDgVAaBANPzTQViZNuYGuISmSOHTafPkQBeoWBnQvFkrUdRXnqwGUSGpDOquAqKJdkALQyXgGbgUmcHEljEwVeCeZbbGxKvwnHpwBPAAtBMxLzYnaxLWQAzezXYlVzjaHjggDJdULcBORVAunONDdMVmtvRfDvfpFnbklPPBTiIuTidazxGrshlGGIjjvJJomicZtHJJQTXYOtBfhjEwYgrfLoUHKtazgiUlcTdEjBLZNKSefgFBKQAKKfJmsKPQValkkbvwecSsjRVghJAXbFTnhXOxbkEzYvYejdknHsZuiQfMcEOsplURaDYKitMOKTsbYazfpcpOICjzOaMpGfkSnHsCUEwmZNPSleyRNPBEXBryrNeAxChYrgPCiRFBTSTPzgQexNZaxXKHRsmeCCYOGHFrhsWLRMdOQWcpKqqfdrivCBksPhpPFPbVoLnApWDyOtsNeIsxVSyisDrMckeVDhwojpiiEHvPbUuVoXIZHbbDwvmgdWJaNxWxGhfd", "pengnJgbzboeHWPUwPogxiFJbBCksHCzAnVmgHtzyxZdObgtZPUcOgYkgTMwoYZzjLazzfxxEFrEVeCsJqdXphDRLmiBCnOtjWkvmmAgxEzgOGVCKHbhDKPkNMwfFRHNJYJRKTfLDkmpLFuisIXVGdCOoogdwwCrDfwDNVlakwZXlRQGKyPrSNFltRJKHpwOWtJliKsbPkWNaPsnqFLmMUmBUSloNldREcivvTsYpnkszvMqvznHeUXvlJXbeeZHGZUUzQxFRrUGRiEjVoopwZfamWXKVKdyTTvmvQnYAcZAZvaNLDQoDNoERHuvfqBzpGOaqCnjjuEJeGNRNmkjoYLlcejqdoFJPcdGbiuzVIEawBOGUkhufXDBeVaLbljciQQzsxnBdfAyNNWKECNeiNfrKMcAEwohHFDwsbCifECmksUJIdbTdneYZicdacFWDhhvyMSGCRtmanodOXUhWTXHCCSuXCFjbNncCJhhlSTjKinBWmsnrxiLQvTyxZnb", "yPSkZVqgeaPAASwahjLgUOIhYKabwxlygNQKkyBmAbTtMkDlTnMHnuhSEhyypCqrbcLfwXVDjaxrrLIjddROXKvYWeLkcpKBKMPkdVIexXAIVIvveRVMXOkmaeSXLoaDKCojFxtdUVSWBaUjackEiIMTTRLyRafIXKLiNkBmrqJowdUqbXecpJRphSrOnGwnBZDRrTPspdjaYOfBdXTYpioiFfBUsokiCiVrTvjzrSPlcHADUUGLbPugKCCSBTAowiPpsAsyNMkBRXRMysmfcQywNlzUrrBvEnTabXgzYVCxDdBfmdNhyhPvZhKRHvhmIBJaChsqGCHzphsOcBkiizJxYbLucbDxqBPzgezIZtTZtfLlfIhZoFAzHfhUqCvaDkyouOleRpHDTifVMRJaSkHHpYKwiVFtnuhNKZgZzajRGHxLXKMaTaOlByntvzylyvTxuHZJBscsJCSHMdNNTJsgNesJQdrJYNlPkZAYkYqnhNoeDFmZLVBGwYYrCOVe", "oXVDnaXOtscvArJgyLHVZjnEVHGKrKnHeuPZWfDVPyabOZmZXGCjvLCaNIeOsoLcsuCHcFhWitpuTJFKSBjncMcBqqHUPhtHilhEixvPVwjjURpdwEIsRcwqdZdVFybJQzElqvZdxyWtCUXjsjaPZmRyJaJPJZZUkdOAIQhtSfgnwzbXRpJjWXeASfunFGqgqtIWmlcFxABlQxhAHdcwKCsFLQUdqmLRLhFDbdNnNjPfnaBkmNeVZyltrodobqVkAdfdVnnsEDCTGNVCsFwMxQkebshQlDinfhLpgIMJnEbmYxaEJKgBuPMWcXrVCcZRjnRFmoyZyfdumbZzwMDXssFhokCBtrDhnRYoZBayyOoHNZTpBBaiLyYLOJVpAEoWbkuNzqqmCFFyOQCdxqZMofFkvmRxXGRFYKXNzyqDgKyWxwOGdxsKpPWFsAbcsqukesYsiLumDqIDWNgKKEmPZiXlescYeZvsqMKATuAWGHptRuwORoHURdUNmXDAxwhv", "POQMDfNTHAyHkafTrlgtlyIJjAdzwhbPiitweqPFqVfHccGkDNEgziaSCXVbaPTMedjohWihYyEPqdRjuBKhMhudxCauCluanPXpLjvNSjJgJIYxskWBSbYtYBMbUUUZAcGZRlpIaDqnYFkGcVIokRnKUsLoUqaKQrNtWZRHIoseRqqnKElynMaiemiLdYSlKebQLmbtQxhIgtjvzXNowoBIlnDalwAktbwkLytsFsCEOuLxQKsGenlrsrRVyxMXfntpgDqwvoGxXqSXoPKJlMdXRnSXnbYtqTofJCybjpWiysGQDXJLSqyqmhIEizkjCSnPXsZZOMWbFhBoffyyjEAyEOlkGhZIBZjIYHXyhcpytvnPKMTaePBBsZVmhOLOimCMPCRvEfvYxEWDRDPQMLBavFeSZaqmcbwzCZzdIxGwvnvgdohGdZPXkLsvYcmVWEyejJCePcTdFntSwusPJwWxtZkfGlMrpVNhpVpVrDBraHNzfCaMwBojswjQgrAf"],"c_array_float":[9.055319, 66.07206, 70.73513, 88.625946, 9.16126, 44.515137, 14.58327, 13.839497, 34.36877, 60.01409, 52.225494, 49.80302, 3.7100058, 30.267607, 55.83313, 65.015114, 42.921177, 4.6898966, 43.413406, 4.077832, 22.501066, 84.919716, 16.716536, 91.44552, 62.723812],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_ipv6":{"c_map_ipv6_1":"a868:cb62:5d6f:4c90:85bb:a787:266a:eace", "c_map_ipv6_2":"b66d:4045:abab:57db:b80:d24a:4871:e9ca", "c_map_ipv6_3":"e1f3:d23d:bc54:b387:b0e8:9647:4299:6144", "c_map_ipv6_4":"9606:bb54:368:194d:b7f9:da69:dd2a:df7c", "c_map_ipv6_5":"c866:ddc6:4190:9e56:7b2b:c67d:201:ee45", "c_map_ipv6_6":"3202:73cb:2321:fb9a:c562:186c:641c:4830", "c_map_ipv6_7":"130a:d1f2:5ab:d47c:23c:7e35:920:c693", "c_map_ipv6_8":"ffd2:810c:6c6f:53c6:bbc:a291:9017:88c9", "c_map_ipv6_9":"a5e7:e31d:4bd9:b11f:23b7:8834:aa2d:5213", "c_map_ipv6_10":"87e3:bf8c:546c:ebd7:b0c8:878e:ade3:c62d"},"c_map_decimal":{"c_map_decimal_1":77.1482, "c_map_decimal_2":32.1846, "c_map_decimal_3":5.1408, "c_map_decimal_4":56.1978, "c_map_decimal_5":84.0278, "c_map_decimal_6":96.1548, "c_map_decimal_7":39.0517, "c_map_decimal_8":7.1199, "c_map_decimal_9":48.0822, "c_map_decimal_10":52.0214},"c_map_string":{"c_map_string_1":"QfPhoYaOpLvztVDsQZHzEOrbsmlGwZVdpKijfoWVauPVrCDxPJPgoNsSJSgTimfSdqHhXxAnyqZXeHPXJfJFcfjRBryDVNXzRAkuOXSZAdnOvbaSRviBCwAAgfOuKkXsFkgCWnThAHaIgXobNoMnMDnrISVNcGFEPvyrrWXnDrETopUqjfBVjdMeJUBDrvEeLouWYjxJzvJCsFXxPwmKEHigzghnCiNzFUStyZWoTRDVfHpNzSjvAnamxxNDGupmZfdpUompdsWzhSJRjvjmmMLpkhefRzzMjmgtGhaeYMdCOtZjLwowlGZCysqtsckMcvfwaPvIddjAQhSMviEOXkWxiyfZATbzRIetvbShefINlKajBcVOvtdxOaKXCKQZdCNNPZmytupmiIrHjIAQXxvBNttIMKHieiUNsxGjyzHmSAprJUSoRnYmtIfonDBWlRWTaTAQwooLKvFihBmimtXabPsvxJUCcRBNWYnhnZIcwcZoHOSqScNwwWUEzaZK", "c_map_string_2":"PCPVIvyXpkuorHCEwLbCmdqaDAuqmwirvyGPeBXikGozELrSFGiAfdedzkxDdLaguGNafDRhUieDBvGdvKaydTPdRCPpPkQqbKCylyzybKnNlBwFovGPxKAmPzhtROHwCWjCBWtwlVcjStfcUXGNYYaKMynWVwILvjlGPPmWXdMDGIoDGQtisFycAreZIEJolKGbplFkhWEZtpURqUDLqXMWxfGeeYcdsOQmwtQcaBIyLqICLdTwnJgKgArTrtxBIXXipClZfSjltGvBCklDlgZpmxXkoZpKqGzhKiInCBhfpARmNYkrmHtLhCcAyakRMdeIYmTcFNxyoVUsPKOCbnJyVuFESxTXKFZgrHQRUZQVvluyCbjFFqnOEAqETIKTJDaGcbKaETqWyKJepLOGXZcdTrwBUSXEvlwnjxaQnjHKrhnDpFVyiGZgvrdHcHPcoSewkJQVSItHGhQzvntUxWAztSoxqrtEUfpZUyGvXaIzhzryrOLsZnkhwFbsqlYl", "c_map_string_3":"QLSatpeuDRGuyQhjmvSvLvvOZwNvWuEOZcmegzclLELRPUoiHJHciHTyrETEDInpNFIxcspKSkrvpaodnmcaZNLCOLdJKDepukUHzPfuegwnKFuenIbQsuyVuMsYnPBoYTufxRIunlpevrYgNofahgHjOBMQbnpYfLmWcsuyRwWyCIsRSEnOrbiopGBrENCEbHdLEbhvhWKuqnGRSNFdGNifmFGOMfCXKEsqmTdtrtfunmeAcuelZUDoKOETMzISNfGUKsULVnOjkKNhQKAwcBWbrkMwElJkMAqHyGWtOEkwrCpmcAYIsHcWztBbeULdvQnhLhSoLiRVhSebQUvOhrkYGHRXJKWPITyXAeKOcXTjRpHKSiZTULFLfwAltKaEOVtTVWoXBWNgsfBCtsqNlNXFfvFlOjMayNbIIiRmNYUTMufCaLkOepbZOHeXAsqgKAvPPITcMBNINqjyXsyvjfnwcEQvaVVqHuXGxhXOPmozeDPqXzsvtPPspAUMFEzL", "c_map_string_4":"OsqtTrFFOFYNzEcLGQyikqKeKgWZaFQwuNJjfccqTIgaGfOrLAaCBmKkgqmxNwjjMLmbmzIaNRBsTeHlxcWgiuDCaGTyWOtmiYmnkNtHHkZQHUPPiaHKWXSmldIUqxPHaGsnbaEpjnfcmMVypxKSIUbyDtOAiHFNtxmlCeFkeVjYWXUItEXvmlPswxqzEUqWgloFKKhyOgNwtylurMIDoyUwUQKbfzbduuMTKsQNiOWyhRqnnvGyqQfvZflSOJwKUcKpJzxgAYvHUAEtPSHPvaRwtvLVgYblNvXIgpzbkAnchcyRcPJMXjNOcggkzBoseLKuSXgTyxhhrpkptzlgmFceajOWTmpANTSHUtMihAXLSAarGBbtSpJurjjlcHXPspwhqjlmPRASbvJhLInQKBmqtONBFWwunHAhQJiVlEOrUvsYGjhtBorOiVOPqQToQCgpPhCNatylwYaLAgVHkcvQOqzVIZVzICSxAOyFaFfddwBDeoGqrlbvgORwSLJR", "c_map_string_5":"tBSbsUEZVObPjIhCPJEhElZIEhzgQjnzUdJoBDxCAwMhxtYTRusvGtpRrfSZDSFzJqBGbybNLUFssLYHoTjlmEpafpzymYsUtMRjFAVRmGgccUlrDLNPLAjImcBxcTDnAwfLaOYysNlJljaRZrZPCMjonuKTkzkXwouEXNKsIVwCsruybOSCrnwNyHywTRjZVTBOFbKeDUVpWUfGsPjhQUJgKafsVPqGwVxmKPHxfDGOexTkbNanifRpsAtmTjpaKnOuxfyiuucPIpXPaoXqoqqhAGLJYwjxGJGAysvStFnghXXYlFnIbYdYTyIcpcwuxYNOWBeMdlLKCXlTngIztdnZJfPvJxVqnnfNTMdKxEMsLzekreSExlfkwPGfpOpuNIOLoeaDXZhaswerELdfKJMpOkUwYTNVuwtouFEAGUqOwkUYAvtbNgbeAeEzgSkXBtlOxFDenCHqyKNnTYbmsUMtxNVUlGDjrdoFSfkjggyzlvejCPzXCQPvCDRxxxha", "c_map_string_6":"CMPRkGtxpsrGdKjZwQgGiGYYfEIvbBQTBDgcQVHEqZpNhdefPVIYNAJGkCmUhSNRwPWOdtIXeorfcvltjlUWtWnytQLFAlFkuvKPUKXBjJohlEwTiwwyfqSwCbVnpGGmKXubVpAZSSAIGZNdGzNqbfXndSNWVQRkbgyPQlvBnhBLobZLiGpRvYhsDBrvVUGqqfqXiSfTEQVhFnhzmiDKIpirNMejuGeIFFpfdaWZazSxlmNxsxpbERSSTbbLauiuPtsQEghflCgnNZXMIvJBlUVCfDvOPYLuVRUenoQeUZcqKVryRhvLLRahVIVLIdrtraBVzKSfUUVWBCNIndrNurlNmDvDBPRHoaUCzHWpykGCMZMLlPhLmJGuTBWFiPZvSAQWCKTNbpPNGLgYcjmJUDBeVOCIgNghQaRqCvyJrWoyVGuchZENjquYFemXxKpWaCunZFVLeIVxcDslPiaLVWdVuhNLFRzieNvOfgRuNrmYPVcAtKFNZVAmVaKVOBYF", "c_map_string_7":"VPMkUTqRIeBvfWgNHcwqdIxPQiVrKPkIiztXUsHDtcVUmicsQXwtbQrJQPNsgBYJbBjrBuTOJblRfMOqtdnGYZSdNOnboOyNHquBMzuankwpXJtyFwVJjAwodmoHvetHsSagbvPWvBcsCZMdOdDxULBoTpFoAhiYohHKorukZMwXsKFIaHEXDprpshWUwVpxLRYGyMDoQngLsMIGdwzBEqJHtzGAsPaIsHLNAhBSZKTynWzWxjEVUxsyMmbXSDXGyIgcbDoJXTLmiSkdsbsOmHJhmVfeTgSXOHiPHcsDDgUmWBMEiWwlfBsADxpgrFRbKQYFpLyqyiEXbqvitKTxJZQHOvGJeQZyXwQCIugsHrcLpLlLOGhuTuPbzucpLqcKYXyYnwGUBrmZcukjmUZnSNWTMHdFRnJJIBocNlnRkjWZQgqdVOZJyLQpmIdayoifqYluEYNlagMeGAJmBSjAQKOXmLwyzuWfaAVCVEXHZIIhzPsXuAtipyFKKQHkPSvU", "c_map_string_8":"NJbIlMcsTGQHKPNLSLlktORHQvkZsnnCbsCJzZwvGQTQAAaUQZvamvAwbApPbpEbkkkocwRnLuuOqDZLdBtCwOUFoCLawZIGJXbVXVNCVJZuErwvdwVVqjfMdhRGgwsTjUdhEzmrBQUVlHzZsoYqsfGshmpXnSYncmYWhOdYhGwtDFoBqQGWhYLifEUFZObnnQZezPXtJKOgxhnTnhgQOKzoWQoaRwRVIjrvrXWBbeLNkkgelEFLOelnSnNUIMUIGHqTzYjEIEcMiKjzipPTTTOOMSKKEstwpBoPuEyxiXIQAHHCJzPQSIHrGTDWZtXEubJcEvEAfAwCDOIOZcyVDkFZBBgSDOjoWalOmrbHUeWsRJzHiyoDgMhBpnSmqjpneQeeeoKUXmeFYgLXWGKujZHBxYjFOseTczwIDSvEjrnXjZhMymkgLwGMLiswzFCWIjypuncoUFULywkYjZBLEbbnjMaSTMJxPfCmCieoExBJhfFewTtePFzJluaScDqD", "c_map_string_9":"GgjAqNvYsvGVuhdkXisyLnBbUNhTGlRRLuHpXpxSyeNxSXKIhBnIrdrnTjXuoerTREvzXcvbChXqokwcSRCKAqCyjXuVCtLxLJOyZWTTUcuLLkdThhLMacrFxLsEpwuFdoZmptRsYFkeuyVftLcfYkiFuToSjYrEaGLmwjKshBygYnCfYAovGkjfMjMzHyANkQgrXWNmArMAWixxfmLdjuLkyEKTsUmhKroWApkzFspydCufMkcrZSeAhWgcWYqmWFsGQZBvjUzgsJFFPGAYgNwGOPwBDwsfQuQirosAUrIqtYnyAGnHLpYorsSOxNVBnKOsYRPqsZqFXJnwZUAWqmETNQUWpQUEJZFgfSACassnaLzefrPXKPZODJysnqTgVSrNFDDzWKyoxlhwqWdilDKiMerotWJfeJsofFZEYRONzfVogGXhpDpOZlldRToQRLLJJFWefQsqkvHWSLoguFJzYnSfDEHBLXgkFbhZqAmiDhwNkAhayByeRCEcQZQm", "c_map_string_10":"ZtGhEumzwkKAkAyJOAMEOJsrPUwUrKSpRdZUQAZHAKakGIMGqzBlGzmWWkRKgMMcpCRRlPSJxFjNNJWYhoWAZSPtSbBXCwfCPSwVfDiolRvPqsWcBaNuNpNkFLKnvFNeTaGEMbgjlaZFqfvRjclPAVRgnCzLlRiSmHLrFuTWjJIWwMFdafBUdqamxpDXSieGqAJGZlbVyLevrkmsgCClWihVZlOLMPvxAMYSoaABDTsQYZIBGHEilLaCwFEWiGCOuFtXcNpvhhDDxCvJHqhMSkfNKALMPBXCtNIAxZIJivaJOEIgvNaaPeOYvUWsWWFqbxRPCGSQeqCyIhadIpfSlMEWzrkXCVxvcSfqfBxKUxCssypKJPrNevLkkDqLNmkTLcSbXRHtNvlshVLfsDFuWzHeWrWjFxgutfjylInOwMciHkRZyAvoJzwiGlPglNiBMRcTSNDvTWWqVwmIhRwZpodjDtSHzCsfTleGMaMCuDTnmqEXegnEOimXlbsDpBtZ"},"c_map_ipv4":{"c_map_ipv4_1":"137.14.24.140", "c_map_ipv4_2":"67.214.21.57", "c_map_ipv4_3":"243.179.209.152", "c_map_ipv4_4":"2.59.109.116", "c_map_ipv4_5":"242.168.231.16", "c_map_ipv4_6":"18.62.38.56", "c_map_ipv4_7":"234.45.82.230", "c_map_ipv4_8":"221.77.45.141", "c_map_ipv4_9":"141.84.25.147", "c_map_ipv4_10":"10.228.76.47"},"c_bigint":-7962748521314034204,"c_datetime":"2001-06-21 14:33:17","c_array_datetime":["2016-05-28 18:49:43", "2015-07-22 15:09:00", "2006-12-08 02:21:09", "2008-07-19 16:29:04", "2018-04-10 10:59:26", "2007-02-16 14:26:16", "2017-01-20 05:24:34", "2017-11-17 18:29:12", "2007-07-17 14:58:24", "2006-11-27 03:03:15", "2001-05-07 22:40:04", "2015-11-11 14:47:12", "2010-08-10 11:42:54", "2005-03-20 13:35:12", "2010-11-15 04:37:34", "2016-03-06 08:11:57", "2007-05-25 20:44:31", "2009-01-05 12:13:33", "2017-10-10 05:28:11", "2006-05-16 07:51:21", "2009-02-17 02:48:33", "2017-07-16 18:51:44", "2019-08-02 01:34:00", "2004-03-21 22:30:59", "2012-07-21 03:29:12"],"c_map_int":{"c_map_int_1":-484135116, "c_map_int_2":-431456887, "c_map_int_3":168900132, "c_map_int_4":1045540815, "c_map_int_5":143345017, "c_map_int_6":-45802361, "c_map_int_7":149918595, "c_map_int_8":-1896198614, "c_map_int_9":-969377995, "c_map_int_10":-1962730954},"c_map_date":{"c_map_date_1":"2014-10-03", "c_map_date_2":"2005-08-19", "c_map_date_3":"2004-08-08", "c_map_date_4":"2001-04-27", "c_map_date_5":"2012-06-20", "c_map_date_6":"2019-06-24", "c_map_date_7":"2001-08-19", "c_map_date_8":"2018-06-02", "c_map_date_9":"2006-05-08", "c_map_date_10":"2017-02-04"},"c_largeint":4129844747559264261,"c_char":"qNTvKloEtr","c_map_tinyint":{"c_map_tinyint_1":122, "c_map_tinyint_2":-105, "c_map_tinyint_3":106, "c_map_tinyint_4":75, "c_map_tinyint_5":103, "c_map_tinyint_6":-16, "c_map_tinyint_7":-101, "c_map_tinyint_8":9, "c_map_tinyint_9":104, "c_map_tinyint_10":15},"c_map_char":{"c_map_char_1":"iIuPsnQOAl", "c_map_char_2":"ZpPYzcmUQh", "c_map_char_3":"HtyrJdcWrL", "c_map_char_4":"yAzPqTIxvc", "c_map_char_5":"njuZCdcOHW", "c_map_char_6":"aYruTcmXZI", "c_map_char_7":"cjDXwbyFFU", "c_map_char_8":"cLiREHQzbx", "c_map_char_9":"PBtfMtyXbt", "c_map_char_10":"LiNcipQWKI"},"c_json":{"gender":"female"} }','{ "c_array_smallint":[24033, -16087, -9526, 30245, -11573, -212, -26964, 31458, 3084, 28605, -30446, -10052, 14229, 20687, -32572, 31941, -25021, -7286, -13967, 16714, 19101, 8089, -11887, -22591, -26170],"c_array_bigint":[-8456902558343035011, -3875886270971909273, -2774263179102101753, 7971583199384054412, -7919415556724358782, -2110113850292441639, 689491902031236535, 5019608488984380620, -431561345688918759, -1441641512949496520, -3580851635704129237, -8628440919186331441, -2852628135735489784, 5716739295950548465, -5511806062956187489, -6703758539626052555, -7443279754342661370, -1982730476910131869, -5193070031771142835, -8158271800092771873, -6120056580135820437, 6987623728087223147, -2170712728802846331, 5386085583613544943, 3667443193482097741],"c_array_char":["pXyKxVJXLg", "GAVikHGXfT", "YSsBRvRFsu", "pSImlERazH", "LHFRVGFawU", "sMGuBZcDZk", "bqVMCxxCJG", "VDMKONtPlV", "mWiBfcjpfJ", "oSaFgswFqi", "nqqoTxRngu", "gcxlKApQDW", "ZsrDhRqpue", "IWxcgHdkqn", "jkUopBxaSl", "PLyNBKTYmb", "hnAGQPNhNc", "KUgNCXwhqV", "LhQyLufqse", "XOWMcyjlNo", "CfhZfZMlVa", "EqOzrgjCxn", "ByCBVrUxeg", "QEGHXdsoVK", "fHHStuSBTC"],"c_map_largeint":{"c_map_largeint_1":-3649171720978293294, "c_map_largeint_2":4293224521521925007, "c_map_largeint_3":4903270406798198869, "c_map_largeint_4":-6239165510070360133, "c_map_largeint_5":-323490672387327906, "c_map_largeint_6":851173181038404834, "c_map_largeint_7":810626570668112231, "c_map_largeint_8":3398140318558720077, "c_map_largeint_9":-7676316396353158162, "c_map_largeint_10":-7436551911759151933},"c_map_char":{"c_map_char_1":"ZmptKuGHoS", "c_map_char_2":"ZQZxnMducN", "c_map_char_3":"jxuejCfsAx", "c_map_char_4":"sNcsNMxsQV", "c_map_char_5":"CmCmoWhrUr", "c_map_char_6":"veXQAdfqsm", "c_map_char_7":"NljJSuNcQQ", "c_map_char_8":"iqWaqLhORj", "c_map_char_9":"NqtHwNYbKV", "c_map_char_10":"JrmIQEKWmx"},"c_tinyint":39,"c_double":41.095955037167286,"c_string":"PBrCCPEHRXrFclzGlEzdgupKrqwduUmKQYeHbZZWDqXWUnlsrBdTvAVoqIgZEQhTrtRYVVnPTNcknqpVMTctgzMbEYcAufuXwHylRhyGnrkkJLCHbbcmDbSAawQNVbUUAoqrKSXFzFxcLWwgYWxfFiUnZhgMtPaHwnXeWBEeBcHhXrQPFFEkJQuxPVtdNMzPHKYGWvXUDKLJCzbAnzjGdwVNnSfoXHVaPjwXAifFKopowgMpROoOGGUEEkBATEeoxDpefRPDVWRFRUGrEtQEzQcbadIytMTvdYTilanmkVoGuFoSCyPkBTPutShIEMXsPQMUcdxRLWWNdzqCGcGhCylHzwxwTujRRMAyYNPFvfscKVngEOCoAeKPDCdNKJtRvyAycGEsqdTQVXujhhFMLgSjDIWOvymjmYngHiGBhwWWjlHUWvGZBbDHruSZgXMPFpfTkpdrSAohtpMvAbvcIptoxdYWPBaSiSMLNmAjngeMxpFaLnocDkAaeXsvdSfd","c_map_date":{"c_map_date_1":"2006-01-24", "c_map_date_2":"2014-10-01", "c_map_date_3":"2018-08-05", "c_map_date_4":"2014-03-08", "c_map_date_5":"2006-11-14", "c_map_date_6":"2014-03-25", "c_map_date_7":"2009-03-19", "c_map_date_8":"2018-02-01", "c_map_date_9":"2010-06-11", "c_map_date_10":"2015-03-26"},"c_ipv6":"1cdd:d7f:a243:3c66:be56:876a:9ca5:29c","c_array_tinyint":[61, -88, -69, -71, -113, -61, -3, -85, 3, -53, -1, -47, -95, -60, -116, -92, -108, 68, -109, -118, -25, -10, 14, 10, 88],"c_array_largeint":[2778377883211440003, 3836786719312740992, 5240325049807671718, -1720207166886083445, 6729983046808207269, -4025059350590090265, -8031503335224780771, -6465706474033228351, 3584019655529426323, -304232480076620241, -4886946477204365300, 4606737162901791755, -4677270874953650027, 4169811490203366958, 363859699349492161, 2157565155990641244, 5613193387736091636, 8470431178515225104, -8800975588954756273, 3763395389180145561, 8735681046073377424, 7783848277434952045, 4990634409914159098, 3587254714816884138, 3411666530150926050],"c_array_decimal":[56.1934, 100.0082, 11.1784, 74.1059, 79.0642, 22.0707, 8.0297, 7.0957, 25.0201, 77.0982, 45.1903, 93.0750, 69.1849, 13.1247, 66.1623, 23.1940, 17.1476, 64.0964, 71.0590, 55.0653, 90.1209, 89.0598, 4.1337, 26.0701, 45.0815],"c_array_string":["bbgsPMBbTeBAtKYijzqPWekdtEMnQPLXvhqOVmEylHAqQlBLaBbILoTcfIhVmBleeTADCdjdpomSuLSKhjBGCmUTTJruygJcucndbzqGagcIeMUliURMEoLivMxBbhytkUvzKknnsiDdJnlLxAphBHUnGgErrYkDJaBTDdpwGNiLfHLrgwxaQMFFDSGoHJOCoGHKtHCiVbWkDdcsIzEervlKFRANelWYXtUPYjMvGlDImeeneJkLaIbqJwAdRqmfzfBeBjFXVVHYBXOOpMwqWwjrgCyNQmMQElmbJDAVAmKpvfGSXNdXrReDmYQynLzgFXpLnzCmrULgYNbcjiHMRJiugNvtNDClwFSzjcpIBgxYMJMVhrjGepWQIdhqEBGTfdFuBhzXRUtDwfdptPvUfsQQYKGnABNvJmaAzJXUKSUFZpNEwlZuhMhoGFRWQMnOpxhvkBSeiVwVShsGhLRrsXTqutfYrghduLkFcYepSgqzCzrgQsUXghllofYKXMlu", "xlwDcFTjQjNXvUTKtiKUUpcweuIkbPkbhxlwXzPATRgjBPqyOdgkXZQUDnZYLZYKlDnXJlrTgxNcerQFnfciTpfuHNHXAZEhWTtgSxhPtKDHHMqMDCkkSMEpEoPESaQtSDjRPIfLMgMTqPXALwYMHidDkkjSEnHhoPPiMvlJgwNGenrxsFpwhWwJohFmLTivSZJYhulZtgnqmMQYskLzTdbANsRRWJJiWnFhuXBJrwmRInLcQGXNBFJUSFvvZIIoyGRGOYObfhMFZEIgkHoILygwmSmIKPtFfBBarxJsHGtdZskmELZbAJvHSStFIXaHFHeAjjmzlzEWdhQZYcOsYqRfjEcyTEfjKYwDrdQLkpGiqlldvqHOrfKYqltFtfLHICRLjlYkAeBWOABrHGCNpTBouBAukxthYFyTdSygHgaDssaWZPGOttJJliHusbAYAIqgdtfrhUzUKNckdidBnyCGYtoBtbpwbLvyLzRRWFCZmiEJqkhwvhSDCbTlfeMh", "HPtvYYYLYEUYQiyKWOXWTfIAYsqlqSsSZeJvxjxOLDaSxqoHgWNYamgJqUvAXCFbzWOMfKMqnqOTBVucMPsMmUVUKOwjHFybEAvzWWWgEOroEwvMRJJrsRVOesvAVtfPSMCixARNFzdWqOznhaJBTZGBshaqgZtVCIcRukQnntIEdDzXfavoUCAYkUkZoZrAeLMSPGrxEYsZbXnEihlfPmiGMUoobZDyrAtxvuTKKjXNHjKbdelGAcKLrGFJlOkvvFHLxRxdTQdwBSTHafADdADzFzjnsxKpshmZdJeCWyxWlVTeSxUARzHmwzxRPIxGhFVDczjUvaCHtLVqyWYlkyMDFiVRrWFHkoOzOutfDfGvuMJMNwKuvYDtrEgFkFrfIsuxiGyJqZsnJYLEdRAhLBpLAsCATgdbmSbJMZiBeneonDgYXRIjwxbjWHmOpbWVmfNwuCFkUTFyhGzesegaQtkmwCIcqdAWkPUvqfSYPPiZPvqrolDxuAGBWuvcnWIE", "OUKvKYuukByHIqhlWTWEKmvAKLRtoATXvWhSUSlilXibczqKVTJaOrVgmKxGisLvhDVbQNxzdMBcypzaoDBalWazJtUulBweKzgdgjvzwaFZPFwHpkgjxospPSqgKozntEBtGySueGIObWOGjnZlvISGWDJbMaumkYKvJDVCyoBsvNmfDMFsfdafajvzxjMotalvhceGdTrCTFZScimaPYEHiPJIPyhrOknljuAjqeftfKaQHmziSonatAdMeKgrBubteluXDZIKyqaOvyrWkFoKsbkaJNCQzHnuyZGINfejCQKfBbvyZQAEzMBDzZdDnfBHEkZFZMdfKBHocQwpFgqwhtJsdWLjEDmIEhkcZRoiPxxmdTcbwNSIxlNAuDeCVsawDqBXBAoQAuvVmANnBCeCspmAIfGoYsCawbjeMCGGvdReAhfITJLrqXkTRkDfeJFvXsqajqjztvjjCzuxUTQFXsIzHGsLvGmHrMeKvfDYtmTFMvciiQAlMZyJcYvT", "eohNkLwUhWVhaisCrIKWQqdoXWBRIbMwcEAgwyrxSZgfvTIiJJJDNZDrWPLgqoAuRmXCpdzLvHCPqgCkxAdQEQfoIlcDMqNSLmJXRGSNhZHAsRrAQapfclzOFIYuRTtkScaTSdPniWwWoJwAPIdWQFgJzvlViRSjJnznCMujNanmpVuIDBdZAFsLDDWeqsIWlIPusrUoXcMyNKdWnodhmONMTxJwKBMycIbxfXAOzZLIOHnfWUAAjONuRoRJVpStDmdFLoSRGLjZPxURlXhLYBCthiwYoRYNtkEslZBYiRVeYzrmarTpUFZJvIXZswiXCRxcsqlIOlQRlrxCPuXMqcAnCidsrPesFJgmjdcndIPonuUCJMRWUyFmxTfJhALWuvpVHwroymFCDBZJKQjJFTnkPQLRrCfbjbdgnubwAIqfCZlodDvNifZGRlivrTaHawUseMpukEuQEzFfWArMkUcBwtXXcaRnaUQEEuGTvdLtpUbBQNubSkEQSqaEKivH", "SruUykSqYmQMPvJnUjNkQUhvguYIvKgFNeqUoGdqaktgmsudqjDulnxokfvdxzEedavBsNdmhRCdxmBzQjghFKMUeAgfJhxviIHvPqiNaQmDLdKXMNguIZvAycpiBUWnRRGjBcwaAEwFFLgeOCVhTumnyPmrWraJKzMgXabYbyXTYLZvTgvWDbMNxUnDaLvOVzzrhYRMtbLZPhrmlAlaCVMNFtSvQlLXEdDPtocIpvBXWFlSihlEwOedKCXztbastbNJWyynCVaFEukdoiyQLMwOwAvqyBgqOJwxPkvvsnlSlPTiFzIsomGeiyXhJoWtrbvyxtpmcRLHvJEwETGBFsonbHaFQamGhQgnsGeykOcQHAkBOebDwyggFVTWljFMMLHcnRHxTtPKNhzPdVTftAkDykzZOpcxmIbDRVZbVxVACvCZKAmSSlBvPpPkeAPwXuaAiaIcaJNurzQkNgLMHccvKycNUeWwjjupIZzslAywEITtcuLxIldzuEvrKWcf", "ciLsfHIIRmchjDZVHflAlPAdFuJSarAdLTjIzzOrAXToYNBtFkDfabCClhLSOmlyVhRhdwYbQHHaMkrTRAejjdslKEzUSoJfytEpkdODQOwdLDYHRjFiXyQUGXioyXnWhrFxrNuQfNqnxvjyWZxzfTqTkXbgoIYTksicVYhLDbzMrMvjtmvVnSxBpdWWHDelfDGkEmTjdloSlxlJHQQPgudcvNDLyecxQhMOURUSFFQtDtcnHTfWarzfeeBhDHqZcNWoQlElrzwDrbQxqpunOJLNqKtIgXMYraAwtrwRIFeAnKnwyusJdCMmkEwxtLfoUipqtwcLMJAMwmXfXEalkNSsWQouOzfvzyIGyWJnJRYqtvUFDovrXaTvfKieYNbAgvpWCifVZynVUtnuyMmKnYQKPFEFnSDiQCaGLLYAlJmuqggyOWyUYEUJuDfBetrzOeehXUZTWTxtiVzZYyDtgambGCwWkeeuJgiuRQhuXZJaCRFkGaxaDCEWgojxqDtu", "oIJUvBnwOczzmKOQhcaCpBkZkxTAogNMPKsFpicLfJFuMJmSwBTIoKdBzSNfySAqQPljGNScRIQoJFXpPUirGgxYAPjqUIKubfnWaHYJrcBCPMNkileAtDXPXNsQBNNmOVRsHUXHlSPtrOpRWsaZFeDjaugkdBxlDoTRFZUZZlmLhDswivFUUYqeRbDgObSYNERogZnLZAhCInJjguIFJQAanDEUdyTRfdntWsMVtESsyKUKBQoccmEfyZaqrarmCMxlnHeotkBjUFmiqUJFNUbwjrPDRoFCxyZYdeHOUeeybuBGAlQAtgxuvFosFkBxahypcFPHdWJZXMxCaHyMCbSxTHuenLaUvJmfDpyJTNZyTyRCoTGUbpLwtHbJqKkOqovvekuTOchgqPLjIxqvtLmyuWXogBDgEgsIoDvlDyJElBMpgDWeShZMwvScCGyhtvbPVEMxMmJLcLSMDyTlKaLBToctSTdqekiXUOcdKTnhFILDACFTSBgTrRQniDiP", "ArpbdZFvPRtAZNCCcqKjxDtpsLocnAdsGlnpsUQtpLYxNuzxoUAPaMheWZwlmmbjpjwsYPIlxGBjvyRyWdLNfpBRaAHewBKnhlRYTSoDGXlUEqOfnXtYoGOHiuvWksIByNIZALipuOvWSgIFbPnkskxqRvjIdIOLlLWpxUcsCerSkxiKdOwCsMlglMZMknJcGcVLdFNtymXAxNWjAhAonAqNBirTrjGAQvUSLNyxnIhhWcxLwaWrdOCFZaeuqCwwCyDKPDgXweJfFpbMPBoXdVUBlZIJahDdZtkLRwRAiNwjAKfXxMjOgmigBTjCkskcYWtgsOpDuBNHIgtheoklfXDxhmbclMGCadaPQipKawZpQARAcSmsEGfzAIDnLRjTlzXxRfgHoLxaCCcQQJoLDunzWBoALBCeICsUfbaIDgLQEQfSQAyMLSyEMNMhKEDjFJBDvTBkEWpjiURXacIeldXPHNemcQgLczOOhBplatQIjekEmsXWcKxwOHBlmgnQ", "YettBAthuLxDSlkUgDzLxjcbRBUdbYFOSVnuSkdqKyRXfqgYYQBVaIgNrKBKPvhwzWTWLeVwQJdAFCnrrcPkKxQziMrnuZwQpLQOwFtTjjxLAGsciEsGqlPvKNbuxHSimADvgvyzionqHxSJPBItPFHmpAOGMFyjfLXhRBdFjEPLlDwhnKpXAROCRKDITZwALkEQuHntyinqztYFcIOXpfzcPFJmyOSHiNjsBlNkZmxhHCFGjMtDuipHreAHxsYvJuveCnzeSuSkBxeJblNunkxDnWNXMRExdoxBSJrvNdXqaGFUHgREdSqWdijWeDurCfwKUwiKPFkTTOrtheXYKlXOyfkPBgtWverCBPRHBbzTDemgvyzulfMvugZPfrnnoKvoPyoMuOCtLOmHfCmtyJWtAVRBgZGvacooMGBfUNPKYOcmnwljcChwoiYugOOZjNgfSdVbYDAFWQrPIqAKEuOCuTnDceLMKqkBADfbrgxBxliWvpYksekZgAKoksdE", "NnsbEZQBVrHwWXSyHrbSPLONYTPJJYdsUxxMatYwkpjuoxhetUmHgNxYgTwVXiClVAmKqQWshUKZYyZUUBJmuWlTmYqOuvlRzJnTSfFmcrmvvPgeuDEratdUXGUTnHcwVgsnKjrSkeWzeolDcwrmwakeeWrNhgLUGyVYAFFdaIvQkrOWCmGubqdQRlNbDywxNCmdMjbuwzNKXWZholuskKLQBKOYgfOjRpVCJfppbgBsPADItSXmSuOQoXHXpcbdRnTvcPqBuVGUOCrzZUfrmnaPNfZwPDwZogJIKsHkZiYNluhCLvSarxsBYptjAGjMSwrCHrFVVQgngmzbyFMGjCghaUJssaAJBSWzdYyZYdolFrlqGCtNskkRpvSuToDPyBToWoxJDJJEMAqnjJMacGOmnmDmCAyKjZevHwAIkUWIHMpCtvcBwhJYeTgblafHWDqwFmBPDhYUoaSTQQhTYLasbamSihCVSBOyOsoOVjiwHdccMxPRkuyFeOVmYqiJ", "vikBalAPWPmVMcxuflHfuWistIVnEIHUkbRlapRSsSZIGwicjhHeZGnwBhstnqLponVtQpeWRbbJVCyQnptulbBnJUWPyKMYhecWSPZWDMdhzyilWPPCnHFqCSryCojAAbJNOAobDplhEqpOmNeHeJTrAojQEEBUZOJMtRiABtVSKWWxvKLjvfoAkHcnxJmCzIsmQtWMnnPnzSKmFNBPJlgPVwHhPaRnjfgsxqbBMycjONnmrxgPyxzCuKLDeBvMKdbsVgEONyhbqgMsIsLnqBvWzBdHRZyIbgcuzxEtiNYReqFcBuItMaskmWkAJHmXCIFbcjafvOBQfQSUbqXEFXLNXZImrLEAmeyjRBBNuBZGJspFTRZrwnbuWUfVXYWEzhLtqtUXzTvKsDlZBrKcltjMkDeXxnOhOEiqjQrfJhvQHMSRLbRZvMHfXItEiJsriPfQZuSRavseKywYBkWMSxyCKrHJnGBCbuhoegfOPNhAQCaverijtXtlXNFkNoGX", "zepxdskyADFXfusfsxTMfqAQwlqPckBhKBuHgkczJtkccMWWSXWNesCRADaAWfSQGuKoPFeFpZwDtZRtlLPBTMNAdYFyzBwedsHbnMIkXDwxHaVDzcnmNhfygKbVdadGaKVbLFCdFzjhJIVcuQHxXPuIPZeTjafcIlQULldEXZOMbZqtTKXxARjuFXmMFodGjKmvBqjqiFAPEnsNUqabLJpUphkvZLCHCceExUAvcPOAAuQmbcrPIeUFsKDnPvWwAcHIGWmSgJrTIeBcBVfJXclbdrFLkmlmdNFRuTgqMIsIWFxZpXUgRRuKDEbEZWHNmnwaKlKiBKyQEnNOQYAcGUZlXwANAymdGrAFtZCHWRnBkShloGyDNBfamcbAOufIjwhPZThXhflYFQELHwdRAryXHylHuNwjEjsBVjYetdozySSMAOwkdgWGyMYzyNtweYVDkxvHgzdeAkvGzoIDFDIDeDqueUhrWcfUIrRqaKkpEsqFeUkUYlYJPByVtNnQ", "hkFjRFBppjsPqmrQxGEnOlKxsqKIRgjBYshNpwLydJKaWxapdLXginAYNvbsLsbYJHWqcIvzakgorPmLMflFPYbbsGSHIVUliQjGUnGCeLcRMXdEpjFeqRZUwIZgoDxUARUAlvhlQpqgvWrsriAhbBfWwXXqqXqpGQMHzvbxSooTAJsvHqNQDaFcTqTFIPwAluDqxYgefUpUJnUegAxvDuuYQQDLxVsZDSMlWQcarAEXIeeTFKZMfEIzKLNojzrUiBpHXwoZEzfOPyjrVossLJTZPTHiuVWGrezNPSDTlhZPqUDbGXMkLBaqmStghzNhLdmjmssrOupOjLKWuHymgJdvBxbrFULnPuwNUZdSPkxyOtSydEgHXmfolyCBqmwTjCMOhJiLsYahxJQfThceDOzNHjVgNPVPlvaoCBlkZBnnXdRgtrQKcvIRlsxFYYXkxOlqGuRzdSbqtGQPLWapWuzWsTTRKSCEkvOPrnrPBCrNVMmBqErCAvcdNWhTgIuu", "uhfdJMzjqTgdHUJvHGERXDtibrmPohibdmqWmjOhLPaToRCDVbWJOrmJBjkcGTaITpwCcTVfcDbXLyOKeLxQRyGzHrfbEHyILENZWZfLAYKmhqtqVgvwZJFyNqxStfQgYWIjAMNmUJIIRBnXsGgmQwVKZPoIgmRVvFDTJPExzsaIdTKvOHSxkJfzkGFsYhFeubNZwJEUuncklnySEVyyfqUcqgnIWKyZpYRwWjaNhcQwwOxdeGyywelCqbRccmDJBsgiRrFPaCPfmymTgblodnrvOfzQoLajXczasjMuidobAzoogcQFsISghjqcoGWtJePWCsjBddxuFUzPdghmMKxQtIJXVBwWudkTHqQGWHqZIEgxLwwIvOTpvAlyvCzQlElbskdPXEPbLzAXfxEcUJrimArlhLhDtAmHcJAvOeMMLTNpHICfivwIFzcPkwQMPCXNEReJufZYzKtgVtLIzeiLGxNlXTsgWATcPoHJTyKbjgFUlPnNievjFIsLRxUe", "kxfSMaXeGRodBbonnPFBNizCmDsRnJhpXSNNAEKhwyPnHfccrCHmVpmGQzhoGBLTrUaIBqPWFCYscViIdKFFKHihLiqxBnuysdnVOnvEYoWGRRwmJUozuzsDCUHpLFXhiQxmdjpYCzWKALltRmzPUMkxAtdKTJwNMGQzRsxoufPhVZwTcYuXIERmsqBuVEUcYYezokVXQkPYhjxoBSCZRxwqofnEVMBzVeXHfQXdTFIamnMszJYaDYylgzXQMZmqVFNcFKMbQgPKbUhSAVQhlBNTMJfguAmNmCsxFvEDspKMvoUfEEtYQdzwirKOYGQvumdIlKBkkMchjpipFGLmupmTxMtscOEZwthGmJcmKDPyxPQmcZyDnvWfndXSNgetXPXCjhBkVrqzdUrUJwGkpRvrKzUpbHCKtkgQLhisrHEVmJNEmGMegMqkCYETgRLjimDqpRjaKZkJRIhgmQIsbHTpcLpenxZqOKVudBvkLrLVlnMrTdmqiSGUNLvIjmnp", "YfoUPZfVMejxQmdaOxwHCzjavDUufGoBFEYfYoYspQvXHPxOfwcvQctgvnhJFosGLCCrNGWDJaDJIWFrMonJUwwnTWJLcSoxDPHrRJXVMEnYwzfOBmtsjmrfcYamtnPGQdANHEzSNnHDGUXLAqbbOwImNyVTyeLUvgqwsPtSMpQLJiVlKaLSadoqOUfVcsqZCPlAukExqgkTbpADJZqIdKlWGshBuildtCDcYjRxWvTQhjauAVExYDQdEYBvUOMRttgnVrzpeGSSPINNMPnRPbPwokgtVPsGilqlltxlwEgNEkWBIsOfUmXLSKJIVjicWvZOAGrTSvsrchxoRgJVbTMlBnnkbadGYSZGKSJhIGYdJrUnUkpoIoFTsFxCWjjvMRlqlLNLtvHDXVLDoLZmPBYAJJIFBhkgLpROZuVxBYjBIdQOjpcDJYgQyEvWuSqocoBFHmsGiwNWmtSWlxzfOnjwyOiDDPNIWPnGIkmZrWlubemBOXmbznIBJGmyYOkW", "omFwIwdYfmJVnPWxawkpKOaWUFuJJEwTstiEZueHSTBhYDgNQCyVcXDPNiIKjCCMOLniEGfsQpMrQplPzXcjJRJHsROtvYHXKgCRSnEahaUZKWvXyMXOWiwDdzymdcnuZQehAaelAqFJYzVJvCedKhdjXHIhGnDUwlOSVPUogBuxkWlNfhXKYqCNzsyxyHSsYKNGGgfpfhOsTdOHOZvLkeMUIvexzwXKcHkGsvrCuJSemWNIsHoGkjjkYwcdIoPnEelKtwHFweIYUbfxjwBgRGtOZKmkjWKqdjRPFLVQosOvduvcFfNiLfFVTbPPLJqxcEWFScXPaADmuCTvLrUdLrPWbhLzzUKfCBFFdVSesTuskjZVvVCzJeVfXNOsErJjWhTNXwyPgMirXXNdFKpznVLqQCQUuvBHjZgBJNyyujAvsGrzciWTFboPWwGtxFnyzHsJVLhtnMTdSEFzdImyJtlgNYTWqXKSSyBVOvJtzEWHnjpSxDmdatrfoeZuPILL", "UdZncHRHTdTVItnRVYKINmQHhNtceAZmNcbIMWjyQkpUYfnAbPxVOxnEhuUuWUuSySIdmBfVoVZpzqdBegYaZaAMKWrzuEappuDLtzRldebXuOyNrPNUVHrIFQdVnWvIvHnrbcJMdbgDwibNpbRKDKiMNvlBFFprhzVRiwTIrfTyImognvGuJSPnHNZncfrQDnUEUXKojIPuVabNgYJbyFoHvnemaHSwQFGeAJBgcqqbEIgQKmVFESuIwvuHesyPDfAbnTwqMEbrVxMEtJfWxYUcjJpczhjqIbgTfLRkRAutVMtKkNNcdWooDroiooJLXKladCzGCrFHWQBmURDcZsTCvPwExetewhdublIYVndYUzWCenWVhAqdBLaMWgEHdJYpFqadMvyMQlKCqzxxKNOfpNakggddFHxeTwznIQfBerRahUsupPSIMjqFRMkeJWkHBqHkYrEoNcrUrkxUxuMaTXwAEPkAupMOhtPqOkRjfROdqNjFPxMdYgEOjoLM", "firsKtjvzjPmiuEeTRqmyWLWcyQYfDuZSuEceSHxthriggtRDKxfoPzFYeeeYSZEjArvQVoXTPHmSVgaLitSDKXgvjTykOwaONrQuewTPxTAbxBWwntrInyYIBEGqerLZUibpKWALGZzdnpDUqlDNMBWdiNBEQJVriiLkxVzGgodrkydJUhsHkwGdeiLAheMoJofFCQuQEClEJBbBMDQKoNaPBjzcliHIADlPVDmSXDYKsKUKlDNWvJrYwuhcYUhXbdHabDaDLiUXdQlhDQLTYUYKwSkUtWQiNkQJbujXcHLLKPGwhogWpmukTmtYbrBlSDvEbTbxtUJtIHqZMxhzMZgUldjGDwxIQOUbpPufRvpcnHarSGYACwCjdTCJHWEyZqtmaPGPkGjuuLYfUchAiOgLUedrZaeOKKICSQemwNZNdIyLOeLBtTOdwOpCPRpOpNemzCdkbsUKUxFgKxrOovFkxpYUMEeNNLKSRKJLhnzerzcbLHqKIEXnNxsURgS", "qUwVRLYZljTURLwVXMcqoUVCIVtivjZVOIDBxFCgrmcFNLsbQlTJeGeVPVtNBKegAjUvOSaOGxvZEEjLoTkHJjCohQsTadZIuyPOZlfwbbcplgSumzyhSIvGAwcRPnXyrixDcCrJYUsUtYvYfuUmWmWfIOiFzWoQdUqSEVFmaQkngQgvIkKWflGLhaRDdJLeDkwtsaynjKbgzvCGhfSFtTPyDoLLbaSxbyYzKVXrLzjZtvszWhxScbrWWRGPPYyIEoRSXDCxxgBzYnqVtKVLfvQlMdMelpCrPOFkBGvcvZPrrbnZFXdolITbeEUQibpTiVXNGbiVHLnhIUnJBOwipCOMrfwebpnFtKvReCfvkzAmTxxwBCYgYwLbsoVLAoSXfWcNJakefzofZiewDQfUOnFUQUykrthkxIGskhquQgHflajBWVwVVwEsxPMImbkPNNpYFrKuRCyqJSkcHOFlcNFOSPfFafmOSPZHJnMZKAJdOAgSRjOXWGOaOztlbSCK", "DumfJLIPvQlguOjhEBcJWzbTISiMSQGZeWsfTrppowsaHsUNqsUxnTzlkDpKZGboMeepvPGvbIViMnjzlrARrXgLJFbdMtIPPclzxSFwoFHhgaYnYqgEJxVEAUKhZcUNEuEsUZCOkqUpatIuSXVwukrHTCpuigYYfbkwPvSxJKrXDstwUqUCtvTKShlZhpFHnSNyZJWXoDDOhKsEoQEjXjwZqNiKtQvSRkcneWHFgBpuBAqEMXsoVdHHdxOYgLbtBHhskVNxbcgKkqJQKnVzrhWgtMiBKpJsqXIFVvXElEGcNQUUTsBQeRymnsrfeZXqpluVjTqzvBqgWXhgubAcnNLIdlgpDLHtkzfpqNXeKiqZrEwguWaoEjnjmYyGhwcoXsPdkyzcxRXTTCpJcrzUrMsXVzjSYVJbVkzYUSKxqHfbMyuLiUsLnNiqkdjrIDyLXlVgopHRTVrDAelMtjXXZRgFvTvctKFwrUBHvfqcUeOiGjJPBwdocfugEAtwxSTo", "DDbLQmDSUJArzGgWLkCsyyrZDDQtkRKKmOjsjrHtMyiviKOefQjkQipKbSycnlvSMTMNivOWHLIoiEcwmbcBgDmAwVvXAICmUOVfdSezvWVOVJyVQmWCqBNnTWxBrXaOsrXsecGwGKCVGuaXHAbeSVsAfaOhPjKclEqZAgvZUvlpGyeaZAGmLevpYSXTxMpmsdVNLWrYwaVTUyrNjbxTbjtgiAIxUVeHbezTuTESTlFhhofmVweLNaYBqdYFFDvlVOkARtLqxqhkwMXhacsWDnbQaJprzEqDGmfLPWnCvuoOdzRXXOwmgbtbnwPwyCTsvIdaaUtfvpsIMfbbRsgBrATAzMOgqIbwSfcyfiEJJlDLwDumCCCbTgkrDOJcxpbrRumjUwdOvgqZBzsXbPHCEzvdzJoVUyddRGSgSAzvdtCxfBEKndGGyVtktpSSLuVQTwWkfRtxeYUejWIsEOfxBtWukxWFLcjcvQXsejaDdfQvMSDKSlDziPYeynRSjIlg", "AALOmqWdmLvAcCDwUuaFYYyXYtNRitDQELtcKVFLHulfXPnWYRgXQuXExaDlZjnNjpnnkdWHUQHldbGDOEYxbexdgfylbURiGmohSRmfZOEVgyLgYQhucLgnKtFmAFfCVAxDkxjLAhavGzIOPIZaoidfYWgyRqyawyJcgJsSVCfEinutiofTrlpSlgfeEJvNReYTMsTkvoanOAUXYwewAZOlMPRrjUrLnrCHQyaSyHZzBQeDVsoAimkzzeJRGloupWppHDuCpyfUJukoLWmuNyAkvBbDNgMIfkhszWDhJzKOZzTcgzvcHQrjPhLkrobZxWSwKvPJZYtpgjbCROMlvrPJppPizcpDNceXWTYwEBqNJpapODuXMOQkUZsVmGqHseHmrDpBQJteUCnCiSkSbAvKcxlVhCGBRlNcLnZyuwLBaBiFSDrUvLULWkacpqDUdXmQsXGnsdCiCsIChzKetseLHwKfodOnKniQLRycjJbleWzbrOVzqAXCQZjaLwAY", "hHAAVdaHeOXmDJfUtvrbkHbbWNFcFHZZlkSNBDMtnekWjEuXBvWBijIUqIaAiompFJCMzHwSwLRhtQZdEUUIQOAiJnUFyNPjXAUHQzFWKSWANMSEDonNzorCuppisIVYiiqZsBmhanIrLHkxxcRzprdkVSEfqMuzMnsTjLDXNUxbcdwNSYKdIdrNuhDciKjMcNgFaXzSfwlXqHpbYsHFLymvBsBWvUolLoyHXVyzTKupXPqNNdDIjsjNAHgbfDMAbDlDSbUHdGoqtwWuiEVPsWjGeNHjROSxndctlfamGdcwYbeOFRDcAzgHTnWFMhJFQHiGVcyPtMQBHVsnjfyTpewvJKcujMniefxHgQGuioFHEgTBwxAnkseuIWUYkYTxwxjCDLGeHFwKNEEwTAsmajBjVtqyXFGTTSIiDkfpmwpaUXexEubAeGPOxuBZtxRFuolMiRirFRnOiZhfvOWOnyHNuMfCljNZeKxQitkerrNNTunmupviZrdYJKSQKnfT"],"c_boolean":1,"c_bigint":-7574934684068461528,"c_ipv4":"249.218.12.50","c_map_ipv4":{"c_map_ipv4_1":"129.94.176.16", "c_map_ipv4_2":"35.46.176.128", "c_map_ipv4_3":"248.134.34.161", "c_map_ipv4_4":"187.28.54.206", "c_map_ipv4_5":"233.61.154.247", "c_map_ipv4_6":"203.108.64.4", "c_map_ipv4_7":"141.68.56.68", "c_map_ipv4_8":"74.128.48.79", "c_map_ipv4_9":"233.196.109.151", "c_map_ipv4_10":"221.213.118.29"},"c_map_smallint":{"c_map_smallint_1":9524, "c_map_smallint_2":-2382, "c_map_smallint_3":-23051, "c_map_smallint_4":-2239, "c_map_smallint_5":-4878, "c_map_smallint_6":11581, "c_map_smallint_7":1137, "c_map_smallint_8":16230, "c_map_smallint_9":18376, "c_map_smallint_10":18523},"c_map_bigint":{"c_map_bigint_1":8888066740187059662, "c_map_bigint_2":-6033789930552655891, "c_map_bigint_3":2740845740690489785, "c_map_bigint_4":9075364535211926611, "c_map_bigint_5":-5597209940262696709, "c_map_bigint_6":6643037622526072748, "c_map_bigint_7":-1413967111597340502, "c_map_bigint_8":7719909645284124959, "c_map_bigint_9":8010307831314735616, "c_map_bigint_10":-4805629598785428464},"c_map_float":{"c_map_float_1":50.763298, "c_map_float_2":90.16894, "c_map_float_3":45.56802, "c_map_float_4":37.421825, "c_map_float_5":23.909689, "c_map_float_6":24.911263, "c_map_float_7":100.34252, "c_map_float_8":83.32285, "c_map_float_9":10.507347, "c_map_float_10":93.79818},"c_map_decimal":{"c_map_decimal_1":16.1996, "c_map_decimal_2":80.0401, "c_map_decimal_3":31.1068, "c_map_decimal_4":80.0624, "c_map_decimal_5":71.1535, "c_map_decimal_6":12.0347, "c_map_decimal_7":5.1188, "c_map_decimal_8":33.1997, "c_map_decimal_9":44.0510, "c_map_decimal_10":52.1942},"c_map_double":{"c_map_double_1":96.80673840267517, "c_map_double_2":20.646981112271323, "c_map_double_3":20.444388359690016, "c_map_double_4":39.46721474454131, "c_map_double_5":17.500590821964728, "c_map_double_6":35.25592691805889, "c_map_double_7":52.52787393921575, "c_map_double_8":70.89397583719717, "c_map_double_9":51.16930907257454, "c_map_double_10":85.02990765136684},"c_array_boolean":[0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_int":{"c_map_int_1":1947959321, "c_map_int_2":1386044562, "c_map_int_3":1730427037, "c_map_int_4":-1973610478, "c_map_int_5":-1551651699, "c_map_int_6":-776446924, "c_map_int_7":-436784311, "c_map_int_8":-1332054930, "c_map_int_9":370180610, "c_map_int_10":-188212812},"c_date":"2010-04-10","c_int":-1140632817,"c_decimal":69.0389,"c_char":"qRXvSLFbfS","c_array_int":[1609152115, 842441866, 1985878336, 1866516997, -1122478044, 1062418489, 504856986, -44789534, -725672170, 1268802059, 1373122401, -1363329016, 362925656, -481396306, 336705255, -1565397985, 146148774, 824010365, 484120101, -1530779486, -341416582, 1437862926, 544577170, -1305526240, -1064868103],"c_array_ipv4":["QJGawNtJXJ", "kdYVQsZRKz", "rMEHKymHTX", "RvSMzGFZdD", "RLjdZnfpmI", "aEUiCbYSAX", "fvJjrbAvBP", "wBbxQdtqnZ", "PkNTxoVLsa", "xILvTtousK", "XCrUFgNYAo", "YstFPbxViF", "YyxlanlYvO", "dHoVnLJdZV", "bTxoQaFFVv", "hgwoyJlVtJ", "dhppvLyPOD", "nPWDtvvmuU", "qMVaoPWiIm", "WyVyYeknfJ", "hWSYRtrsrG", "YjfRiTRrbb", "RouuJoxxNv", "tCmBQNMcDU", "XsDpSLOKWm"],"c_smallint":-7757,"c_varchar":"my","c_datetime":"2010-05-10 09:55:48","c_array_double":[34.871888719764904, 1.260681929084851, 27.22913536820549, 32.17401726849795, 56.756619436597084, 33.780293400504085, 51.92610589813812, 1.926731535713803, 3.9632515764696086, 2.8011639270056548, 20.90655463188445, 70.96805895643709, 83.52532984504887, 59.82340467260485, 43.91169290610374, 41.70740168286917, 57.48283648968933, 30.400941948908216, 28.376293825169515, 36.972596072816934, 19.158936904647945, 53.33732358497429, 83.27757165164606, 68.92852724707446, 71.54614361760864],"c_map_varchar":{"c_map_varchar_1":"CRZVToRekmRuNvZhdLVBkbijEQvoAGGwBclXDNeksLVjSFrXTvNhOZGSGviYusyRnQNXPNDiMSDsBnRWTdiUozzeUmoIkmZLUGoXTHEjeGflxLqPFPxPQvrckXMcyQENMytmbKoIldLstefghPXmrwPRRuktNxuhfZGUBItOMzFTGvdZgfiASxaClpXUrVonHtRHeMxGubpDnRGQHwvFMLSWvrsxGNzAiLSYEVmHizZOrqZGzoGagHwcsYZCCjai", "c_map_varchar_2":"pKzKpyNfYcmvvOWhXQFmzHhAetRkGUTLKkbrQwrhfwhZZZwGqoycethVhyNiNmCItdNjdwWiRfldSsajARReQYyyZbnWXeskllWjcgHPMDPkAcHIWQJHNSwCcwuViIrNHgwMwPUmpciisWDhZpxwHXKyBMkJLtMsvGDKKdBDsZaqPNwNfTRwtJyvHFCJsXtxcqVsbkeaHuXbkFvcvnagQYsYOPkZAnBHHyQfLWZkTptDKcWGYDwNBlNqgYJmofRg", "c_map_varchar_3":"bzefnVmFBBEwzsjdFpiRJNcjKKmeHKyaRlPtwlvYlPDSHtCFiiAtyrZZPkkQKeNypKFEwIMSBqLKrdFtBthjUWYjTUwNkXdUkIWNnlvIJJHMGuCMBcLjzWpztmXxXjwaBthHWSwBnvhOXfplmbynFiaulYQLHhgWXoKQkMaYWUgJritDDKtVnIikwnCxOoJSKJEKDapnhKhZwjHalPgNlrIYNjQfcaQjMWBaVkLVJDGaHXwjexyLgUgpMoOTIqXw", "c_map_varchar_4":"WdAwFmuWVROSUodPKsJsNddtiRshIgZEOInaqkZftFlCQZBfdOjUMHeyiLAfOHfoOZRyImKqZCYuhInNPlbqEtWyEqWWtjNMnzAWuXjuSUgIOgChZwxxYqCODzvYjuctEsuZLzYSmeICtitnyEXXYnzzNoiDeGDBjXTNlQAonmdBtBNUxjKwaLbaURbiqMnKTTYNNyoIjgUKITuheXZRodtkaWuKbtiIVgJgPdKYLepfQqpAXYBwJyqqntzIGUJW", "c_map_varchar_5":"qaYkUTTZKGHROaQbapedyhyfPReqLZSRHrNGdfGEuVnpyYIVasaMwFppXTeULHQBHWHVGPJBBwTBYzPNutCmqNDJeRinjZAWRZNojKITKDIAEWMkzbwLSsNbBlrscdvJNQjMFMNNeEltJjYoYkGTgLMmdNcXPxYMvKdJDUfAtNOJITOtWKcRRDTkabbAtRRxUwnneTSMVxwFSOVRtLwiWIQVXEETGyHjibJxeOTHSZfepEBuJazYJSgpBmLHHWRv", "c_map_varchar_6":"oLkHQDGKxZIFABBoRNeIWQRfrukVhUaEmrTndVVBbihgeIpqxXzjuBovuzRJXInSizhFqhLmIqwurPodFkMUhQkgLMLsgsvFwvmGdnCTsgwSOQYezfmGDpQfryXhmgSxGxqdwHBzCZnIplEFHaQjHtutiJAgbBIlovcsVCmkqVFiUsquoSbCDmqZNhTZrFkUuARRvyDcmdsBVhIOAvYRjxkmgdGxUBBToRZVwUStAHjvQjgignbqrJSnSftVXQXJ", "c_map_varchar_7":"tcnUDzjmPizbkpCdZCxyFYPogSAQvvkEbTfkxyjhSSGpUpIfzeJexBDnkwiSxCpaXKaksfEzTeRaqHKKUWUmnARFbjkQEHwGpJLGvHYiXFqaKkwGujmhgXwlaIMjqLHaxUyUXSxVsNsnHLcWTRImkFIewdUlrcVwtxclunZarmHXXlgrSKXFEVzLiJjUQOBmCvWHgxvBQDWmhnIQrFqUzVBNGbBfnFZwhjFYtCZOsxuFllzFGLDrOMXfNDShcMzT", "c_map_varchar_8":"xxFTRDBtzXcYLxddHthDipyWNvVbzcISdYLzQZtzHJgYGKgZlbeQAZUXNMiKMOgRvmIihBwxvpVeYVLoarrJeauAmKbldyNraSJQCbOvmRiROzKgDtoEjaKsnUmgsKGSqnnCcNVWAZgqPGuONEAvlYIUJMqsfQyJnuFVnLaswXVbzyzbBsKlpDgntafpjnVAbAyjTXBdotCkenTopQHBnTIIvduzaFKbtlpkAUCOQTflPWIxBBKuoLCevpEADXRN", "c_map_varchar_9":"xcwRYltcnmZhInSnqWoQYQQNXNHoYAFgtFEUPxzPdbVbUMlIYlkmCpfujydHMiPSZKtkNZWchciDlJmXDOXoNEGWSXwctHbVCJoUPmcWCDqrltuXWUODPeNwsmyhDgiRZkYBxckcWZVAOKUHGyfinpBxjlDxATzoFIVIhroLcFOtmQANFvfbfFOCbeGaBfcuDxqGFVGkyvzJsFeFHxArlBEjHtEpAEfBefYXJwaJxqPhsLLjYrMpMeiXrSqpPPxP", "c_map_varchar_10":"CYLukaEmkdybglwVfqhBqXMlCPqKrSVwESyUvWbwzmIvGcrSKVGGRnRbhpScEcydZbGHLiptNgORbHimbsGLzHhQPuKrnzHwCjeVvkGxTDBNjwPVfOmayaMwfmEhljCxdzmLxrbYYUIxtqcpwCoPERMRZkHsGdxxUtsiNqjurNMlUoBXShVZvBVIYpqBskkpghmmdlgkiunhTLVNZtZzGoNHSXYcVxNERtVYezFmMGxCVGdhIcPVtpUxvsDuheGi"},"c_map_datetime":{"c_map_datetime_1":"2007-04-04 22:29:42", "c_map_datetime_2":"2014-04-27 14:22:00", "c_map_datetime_3":"2012-01-25 03:42:13", "c_map_datetime_4":"2017-12-12 05:42:51", "c_map_datetime_5":"2001-02-26 22:48:10", "c_map_datetime_6":"2014-01-05 07:06:35", "c_map_datetime_7":"2009-08-14 20:48:41", "c_map_datetime_8":"2018-11-25 11:30:15", "c_map_datetime_9":"2017-10-08 10:04:13", "c_map_datetime_10":"2015-01-27 15:28:58"},"c_map_string":{"c_map_string_1":"ZTyPxTmSPUxnikoTlnGXKpVAtuIQeTxyIFJkethdgjOpSSbFTBXtDwlmrLRteBaRwsKmTaHVrhjRtTEVClolwikkdcIdcNYGezfMxaSgjGVEVsVsLANUxWwMQjLzxcIrqSIpiBnlQQmegVZzHKxFIBOfbbpDHmkhfGYgJhLpUSdNCgeJCtpifZsHaJKGfhKRXmRkuNWVjcYKeplPkVfiJuMzTDBBLjfJzUekLBhteFxGIIpnXaRfEhASEccSmCDOrBmrRPGkNEKmGyFpLMBXsLnqIcihTpjfsQRxnkfNsYXvIUjLehVuRPrjDDCYRViYUEnNwkXiTbRpiFuvUhtZUkxMufbaDpxoYCDABibxOsBlFtDrTCUCTUWETrDNriOKEDqkGUrQhAukzBlBHwvEJSzqzctscjVTOIqEirJaUFdpYADSvFiPnqVKUSMqFAbFgZlZzqLNmsnUFfrSCHHjwdpsroEKXigvxUFUFaXnPVfLGWwYkPDtgKRsMkMYWEuO", "c_map_string_2":"isrlFoVUJkAoBSJCrRaNOzbxaWCUSXxgypNpYhKVxOGHACNoRDTlQitIYHoULOXYSJiJfaKYerqOCkHbXJlQqOBIqbzvEYQELDSGCYkhTQMSQBksPzZwNHjOZyivGpkWPYLuquRpGTpkZMqUmrMsuGLphQDySgYKYlatzzSJxzjgQjGMnRKFLmqTLFiZTafCrDMALmbBrFjMMftsuZXloMKhWHKneOMcOwWrmiXqfAbtQeNSyTXTQjovNLoPmspgPGlkNOBCCinNUqYJnRiasiXZOIyVJYnquQYMEXcWzNuhVPnmeNANAUiSZxtqafMBrPaVazwcHEBwFdAkANnXEtRWjRPvtPAQOmMidifTuIcKHWQrOyMkkpFKBrbDZwuUYDnOOBHdtYllWEpPAWHLddgKatmcwcFAblXskwZNdrspiPcXlJpwSswebCRZetBsmZjrsJcfYIsvKTfUnvAHEdAmJESfSluwkoLxlXnjqLptswLSLdnnLPuFQwNEmRWC", "c_map_string_3":"GvHgyoCuKCVxDcNlJbBshdPvVaQFnPckSXmkIgJPfRxmfkxdoCaYmNzRiKwfZIowIgTngWuqxauHOyGKZvPbPauKHtlEnxipCYoKWSYWppEbPuvfhSVfGWkCIpuFBJBaoNNyltDIsixQwvJLgbMauAgxaZyepnFyXevBYcTEFbVpaZNOuziCWkeKODLPRtSENSgyoAXqMpJgWmyXSXAQlyUCeMHiMufdMadcyRzxnQZCFoTMOFQYWTaFpPrCgYkSVmkRYNmJUoQlLKCIDwnPnZlrqLKQyssQWFMoKPfURYADHmXNmpIwGawyhKtWKSAcDhELXsLCHrjrCxdTOWASUPNuXvbnwzzeUFyPgsozURrFBXvaIsiCvtzMjivCMaUVNDhKcuOlUxwPWYroQwDwDgqaxUgYAWracPClNsqKyowSdMiimunIfdGHmEPNZACxthgrBjRcxfKZMxfdedswclRaaSaAeeoLuDdQgKTNempbDoJWNkHQHTztAviZsEEN", "c_map_string_4":"tiFLGyCVwWcOGqunAeDMpbzRQutPYlfLenmHitPDNuRCHtYXssvwIhMQiSurDcfSFXUYcWEuXecHqVnsCZmnWQNWtibXNmrwfbMCWnbbBXJRdWQcijSObvnsLDcnDMLPtiiNLNbhGogUyGyNCHGESDvxwjBCOxjNbbNtZKVlEHrmegkBbvShNlrDaaRBMVYlmsEmfgAlaamdVNMinaAivQEdDFHHWtmwwicXDPozzkkkMtdYsDajhxbByRRMnVADaOtzgqfBwkZebmeXasynTkvqWCriaeFFnIXdItQcspDzjDSFhladNjsriEtHtMPYkfWZcmUGqIBXnDQXLLkUbkvWKcDiktAscVqrEmZeYBMZsvQBKcWODDHhBkxYXlZPlAFYmjpjJtHjnymbVxeecmTxQVNBrRlJeqAlQwRTbUYqTkzUYtXVSUWttgPlNibaooVxRnOMGRMYNGeXZbejSJpbgMqgsXjcpWbMKpzoTKGtBNkJIuVYQgrcNvmvuanS", "c_map_string_5":"phEkVDVbIsAGrUeCyGYIiEosmOOscVeMbqUZumQzXHdinoFSFxvDfgJtaUkphZzNdEhlmscrHlqRPaLfZfQcozGAISeaputvCgMyXIUXvwClrUDdshAvaSszeOcXyAaQSuYpJvKFjkyYugxFKPspgbGPtectlKOfEVgUjcYYirofwZqKSltoDRhILJncuFwNQTrpJQhkodDKtKpjzvxQLmSkaeUkFhnolGDwiLfVcvfuWZbsKSmwxKIbZWASspvRvWVvviJxcplbhaVxTFYAXtQgizvGYOQjbtBYjTVbEgqUFUBBdjgdHWzQDISmdhjabMZkJhWzZtxpJJMSusKhGJeRxGWFIROeohftwVhqihVfCxviHHGytlGHnFbffSISCIHLcPsztrHWSNafDcWHOqrqBRqjWRIlbkPbtwOtVwJHLUfcAxRwizSOorXOyImmcJQsIkvSXkSpaJSAwjMLBTwMZKQmbacdDVXYqUqJSCoJrkgkICdfImxiZXvIPyIm", "c_map_string_6":"dtzaDAwNnSqwIuwFXTilZlsiYmSeKkPTCivTyEuRAZvoyhkwBXnhiYWeSiYiMQUThwjGEYNusEBfwKdYvNMcxrcnJzuPnmpADUzrKdPJOfuxfmXIVMoHOJimlzXofmAdxcWcccdeNqOMCEDNNVTwfYzJmnezWOCBxsTVxcdwxlaopokvcyWsMJzvrJgBktowsTCkdlyyiQpWveJSBYqBwLCnwEkrnkhdmhaZGofWAHVVfONBETgoklZkmNfpQkChUVfOgKSSsMvODzlthCAbNhTgYwAKhMsLbTymKLoqLVYRUnFGjXYOCsTnurfYXNjMdWRMHefnKCoHEmkHhVZeEQoPRGYcokSrqZymZmKiywMNMlDJuTPIUehiJdhLATMiOlInUovhVuiyAXxcNXrLfMhXfJOelQvTRHjgcyaAfwmiGRQhFXkZSROiNnzlQDJbLCUXDeBkNZPGpuqRvNXPzYXGwAlmbhNOBNJxVfOVBgrxDapbpAWvgtBroSuIrvkZ", "c_map_string_7":"PvWdlStAOiJoXcODJXqsaYjuvcvOwwjwbZCTkpcsigeJlTSPBvonkHTTzzcdXFukdsferqaPVRgfJDzIsrVXqTsHoEXZiSEZwVCPmjfexjgEKgTvjTjTRWIhcXxtyhOrozStJJPBveaaEAnCGykzQZJbgvYrYrOxPqVDZTHZppsppdnRudhawxySBUbmoVtsUHXkWzHueNPQimtWapcNAgZGdqRyeauJAHsOAWxhkqJGLQhAmFSzrbkcLPZXItgAqXtupjBwxrQSNrqavhHxlGmTnUMOloHDytUfqOlauaAJUsokgPhyIEQZIHrTiLGrOTUkhnrYpVyOnTNhDUaozJzZKNmDyFjXzAnOLkRcbrkAWXAotmvyUShQLRLGDYSPwyqCdKPJhBReYnIOmKOSjcTlwwAjFVWJYEnzBoiSHREggXUgVZbxJhSoMdvuhLILarbhIjrVBtbEGqvEYehcJTFgyxWEdVpuJKnCJTgCSRMdCDsCtatagQjaswHPbvCB", "c_map_string_8":"psBUQjWdFqXrDHnZieoemCzROZRwQIGbBjpwShhTmZITUOBbVStkygHGCoJZeXXmuEHqNLBzuEfhowpqvqLSjUExZHDdEONZkKzmfmbGoSEuZZZUNdNhxTMYHcMNmoZiUxNwjPGMEtFlojwRZNAidEsiWzAkmNtWlHYOtpZzhfYzsrcLQpmLLNHUjUaxLAMSTWEgnijxHFghfKHvcdOpnhQduxMRkhRWxJXBiTlwmvQETyaUZeiICSWabFSVjwKLDnWHyEEyLyXghIePEOFmoINxMWepHtVuBeYIxLowgrbXIKnDSaAYJiXQmGFXRETPikpqjmFjugeanpmnUGzgBBkFmEiGlwZCbYAlbHXnYIXCTrMXIFDJJxLuEERjtCadJyOzgKKBRGHdQpcMrKClDZMMIfjiVsplebTRessxSEuTdcGxKkEcrsVhOEfEUpigkoyGUbBrpYSkfzVSNHqWpiuDoGYzNTUMBzONNHyiumtQMENiYhjmBeqMKKdMYSbl", "c_map_string_9":"rOcclRRlulSdxaXXenJrZaOfHrtvUWBrLdwUeuTvTPEoGRYxHUgAGuJbAXRDuuUMUGKtNWThBBijBfOKXcpeupLinJWyBBCptkDFLbZvaaYpYXqVBAgOGQzsNJmTsFZTGZntGTHHtlvmsMWOBuwqCxVZcHdwCAIAwrLeCWbKdNaSlHVYoRncDVXxoGMPEcitQOeaqLlFqXnfWcuEaznEhRqmvJIqUDgICuxQNjqWndbSoVWruxBMGzGdddhANlOpxUQkbMktYukckvODnPnutColtlMGsfnfSggRSzjENZhfxplbgzfbDwgDzpZtYGYJkmhnSyTdavnntXhRPMlkoFcvOXHIrQVFAUDYiFxnUpJaCNPwXfJGpkWlRhFBZzcHOREnfiPaLePqqSzFtUmBIjpbNhCHisKbslsDHSuPNOynmyroPehNOSqAeYuRUMAZgFhcDbBVzMNecbWOIFtJnHCCMPDOKkHaAYCiKgOdpdeELYIteAZuAFZamrencVak", "c_map_string_10":"JZBXEetuCWZxYVdwaLIyEbYvPvgEqsRfgkkhtiCAbyAwLuKPRWaMYYxaSpzrGhOZJMVJGVNcjqlAKnEVqkVyYEoVZdHJGwEUhxXbBDHsiDIcNbmkIPAexuPVVScfiRpMKqOlLNrKQXZklDPJRTWCBpQUiZMyEvhxPuDggFpQgmRogthXQMVxYMitACmLzKkANZdVfsRzedlvyopiQVjloOIxSgIoUcctZewWJewWvaLobhNpVhksYXbleCgmJTBckRgKNpfBBfWmyiWFkHRyQbsctSKOCwcAHCOxNzkeGkdNBSPqySaZgLtZwsjgxWufjUbFiishoJzKbGzgnYEYPZVOotAYZKWULJreOgesUfDtKuHeOFtWRRRSxgYhPFBbxuRePTkpObFNRvBQstRJzhmwbpNbuWesIuIaQZpgZdtWeNMtUVLyBkTzoPXGpBaHXAhusWFmzdTSGzeGXWifhUWhjTTMTCizAFJIWuHxdCvHACZYFzDWHoBSnfscgZyR"},"c_map_ipv6":{"c_map_ipv6_1":"af24:952d:c95:1989:b7b4:a6f3:32ca:5ffc", "c_map_ipv6_2":"b99a:78d3:a227:528d:ed90:60fd:af1b:803c", "c_map_ipv6_3":"2f47:d3da:d92c:92d5:4165:26b:68ff:d49a", "c_map_ipv6_4":"116d:a0e7:1fa7:8f6c:ba88:6225:959b:5b0d", "c_map_ipv6_5":"25a1:76d3:505e:6d01:b05e:ccf9:dd39:3b9", "c_map_ipv6_6":"8ea7:1a71:af8a:55ba:a43e:4819:2b2e:66d9", "c_map_ipv6_7":"3248:e725:b3bc:1341:c67:6f17:b887:bf86", "c_map_ipv6_8":"6a41:5d1f:4c3b:6b03:20da:3fc3:425a:3896", "c_map_ipv6_9":"6ec3:a693:8055:4914:57f5:d414:a41b:7d4b", "c_map_ipv6_10":"8c7:80ed:267b:df87:e60:a96f:d92e:a9f5"},"c_array_varchar":["WkWaKBbXhnUeHFxEgvOoKxJMhUbpFAFuHVqSGisKZvyTjyYNDDUltQQACGIDiGMpfEpgraZqVOvFAROtaylXsLvTbAmdDCKJmaMLDpeZoPHmRdtzhRmeEAAXHFYxRFEEVpTkFzGHslLxzxBieIBRRCxLkOOIngrJntJvtyBpYVIIyFDeUqjuysPecmtqZKjDLLqOokiiVIZSoiiGGBrnYIowenBkWBdkWQSturidgZFHXbCxWbvqJpQXXGPIaDRX", "sHrAlSlPtFNThlJbqVntLgRskYtAlKMRpgGBOZUMMrsdDtSRrLSTmXbTHrfsfitQDmGnLKvdIKPZJTVlOXKpCoxnXdsswcJCwMzPIOyIkZVzJMxiCDAUJNFVCQfixLwrFuSJDEhliaHJtaGVMnJcMKbUTbhMBBLswWNHLErnHJQyUeQVPXKJdWuqnmUKNmddAGVUAciAhmGNjNSqFLBEyNLwTbnXtKkFWTKbiuwqQZkDRfwHQTIFkeRVvLLFbyZj", "KXSqSsMwkKDzJJKizzHpomLGNRVdIWGudYRnAGlJlKLCiXNmymuiSdoxuXTpQRWyytygYbGkJWrYwiQVkfkSxZrZQQMJvPPoXxtVzoIWZKNDPhThAYlfMezXZfVOtlFnrUDhlETkmBxIqIbuCfzHmkskkGYdOrzMhmHVkpCBJvAvZFQWkMkzXXvWrDiWVtzXggSWcyDJkQMbrjfvIVPFOsIuSSuuipKbrmpmmelQbbSABaBFquhoRkdPIrWNTtva", "HlvoCxIFgVeuDdaZbLUHhTyaaXArIxIaEslvJYqGbZkMXKhzEZfgWSEjPZRfXvatadAOpLbLbkUWTHKzzPNxYZZiEMPoGTBmzpHLdOOdGsPaJquPkTkPElEveUtUVLNxwQhpayzsUeWIMGjIfJgnzKEVmKGFITRXxjkpoehISinAODrWslRaLBTqXxyOwjRpgpMqJPsYgqdTwZLLpbAZafIGkWZJUvIoHRIwaQLmfaSUpcxdsouzGBztnLMURKyJ", "YrgNGViBmtPMXzlLVFHHsbfNEWKgcwJKYQovaXzVunKlHOBVCpxpqAsybDTlcfNtLvWyzuxZSNJaurEcOsMKrCeFeOOQygOlUYebkUvnrijsAhVzVVNVDolVDnRCQqtVLLvvXYDZBvhXclsMyZZzpvHJYYvIqNuSuTWokovlHlpqNJawVhQrrfZdyKblGCAYXjefLEnpCOPRLMARTROXuvkQUKkghmsziEBuYAhtlyDFCForawEQRwHUrhoVjjVD", "UBHgTXgxdzBotrjijEGXdmZmndfoNcUePvfZMVyKhHdIbMeKwLwMwDDyejvkaXrLSRQSkglNIWmsxNFNmssZYiPEHapPCLArRIqIRHAXKnwqsEqMWAPrhdLchBVltXLpiunbHTKJNZUJdTuBcRiXQZnHUVbRNiEAuvMvKGEkHcgEMSmsWcyChpCiWgKOOdLyJRrLEiVHYlKpNzhYKLWxwnbPxBGCYvyvvxMtnSjEuAnvAQBvEFIVszWpxYfAgfaW", "SGXLzJYEzVEiJONtcWRDcsKvwtwKByLBNYgdoEDwvHwCMWaGbEOtrGsTIjVAOuVvtrVXIwZNMmyOHYhnzCvSEoharicQPgmQPDqAAdvVQAOvsMxlpyyMhEhsvQkZIusyRFkYeqcGNEWBuwsIHQrAofFhkvrzSpvspiKPkvzrRQeEnlqyuBEmjIHsxwsRhFNmkIynKvyUsHuLKIZGngjBoKepyxPPXAHCxHhzKNdYANAhKLuMSyuOPoLBiLRLfdnY", "KzyUfUOoifKZaUhASBjqpzIHXJuqOnfSrgSGDLsQRcQFuTjHUNjYdFSrJrcnfodQhYOVbeyelwVsVgBWsxEulclezazdfQYGfqXxVgQaDJVCVNqLxNUiQFzANjdhDbSuhqurJygoryuxBJcHAPjTCynpbRlGIorUqJGBxcanKvUyXUCAMcNnWmmalvrEqsxyfMeOYJrwbrfxNejdsWJtTpRrMhSGmbtJdZjQjRssHaVyWNoaXCtLaHAOboINLRxB", "gzvxDpyiFhLcaeTuvmeapPjSaASqRvloSeXtFxhkhEevjfKRZwcPibuXBpMidgFKoETEfxCRfPKVNUoTXaQkoTtTKZGSEywWfefkpXZICGPGpureywYPlQlXsTwDAsRmKvHxzDpQZQBdQklrvoEtvNJssYabwmYYdfalmXVojatgsEJtEnbPKaWdhQHjwQBKrxcLnvuRvFhWaDgldJUuyOMJnmQsVMNEZBezCExRHMgouJRAjDiqNFZLjGhdjDFS", "wXyFwMshsWSpoqbvJsDrvfTTVEFDlnKCxcSFSoJzyVvIBTFBcdKbHGbLHyxpBHYLzHepEOFgWvVhYsBkURvWTJylFlpRuPildVfrdyleGmFZsZnNYsKkipgOQFLVNBBMDseDImsIdyrdBUZnJAagRBHnuxaygYrOQJVzoWOtxfScBzPEMKRsvjkdElXQYIExJLaQuJTmSDkIszpTNPLVoKLovApXkWcvtZCBYzcfajJNeWtaUDWzyfiPRVyBZacR", "UVXEyoldbasmdLYWLsSlXmaEVIXJiQdUsCCVYyvlHCthpLcvKOcUABDidSMGXbQECIWUbsGZzAvqQdVUQnpsCOAILsLzNZavKfPOizSnipdSsrvPlHVzCGYxDsssgiPtEGpwaAleawaYJTJiHgqEfLPwjuKMXYDPxWKfEpnIPqZffrNZzGZKHzGCkrwTYkuyQLafOxuKmjkVBDIfzNVidqcsRAOwGdnQvpzpbtibcClKFLsQGREhdwLfIhERCoUw", "CPgwQLxAhysljmaOFVnjfYyMlQvDVtklcXlFZgzvZLUprUEzWRBenVknGaDABiwUEakZejmaCmDEDcQCozeLQvfavsLHchCDsIVyrcHbzJmULkOEWPqolujmFGmoLWAwZwvRdfSLtbbmKfmMkIhDqnuJtYnApoGjdCqgzEqRRqhEvGoaWeJYvaBJxwBQrgfaZJvQaFlpisFoRXfQPgscKSOrMcjnxxaFAXmhbPafRvKSmfyuuuxqwjyxCJqNQvQP", "woSVVegNvxFvGTuReALOdMwEwsgWqBdvKrOqAhyePEPnCpAKJEpBPRFaewPOmvxPSTnKpVrUBfMbILfUKJnfahiQauQIFaFLtLIzsSiDVnSDtiLabUCHWJldppgThrsibPedDncLyCdJQIBhMRwHbbRHsClmskgwehveFPVuAqIHOKThoPZqprHTsNXgQLHObWJvKVBSPobbttNmejhGXsXJFZMpUhUvUTcvNcbVgKAZOeIeLFbrvHEkAXhBgqAH", "sbqeSogiQkxEOOlcbgLPqPXEPiBsFzlLucRStFbPBUWvimsIPofdUrkwPFEoVhxULcXXAqZJWtSVtehRoHtKNRmvwgpCgbjIWSctKDWyRUdzPejWeOaMJoJHTBzFMQqMjenQFgDImocRuEkGHoatqojxyBWPgUfhUAkBYIqqONXCMUURuzlryjHMGyYNHnNcCkIyqzVplkzBplZNIFJcqNdlxvupIRtNstZxudltTyFVmHxtUQuJoqLTtNzxUcEV", "tGieEFMAPDfLCSCXUzmMECkwXfOoNAIxjzgKvhIkwOikUxIpdSDNXLEdYgpTLzRJURFxZjjxklXqfqlDhAUgXgvjpDAkkbmBzoMFimLYLbhfLvQViPNWvswfDpupySToNdxCYMUKwYYhCMzCdUwCjpEeKsnRulkoydYyOacCSXoeIurDFTSTWQRMqSZqXuTaYRZecbdFMeFvQlHUjxKzUyPslJfVEmIzzBwoQiOABSDJlsGJAakKQXIQNvDRqkWv", "jVEkgSLZQVzOLvafVUUmwNDPUcYCtMvFPrvLjOHCfjVscNRFudycIuXlKGUHHiQzgnGuksfQvHNByygOpQrPruLyDZXMyhsnkWPgktWsaiBmhXCKHMyJoBRfHieSxtCDmWGgRHGObNRKRdnMfssaOTeTbNCwifzxWiPfQLMrMayiVEAkjZyGMpIpnPjQDJidJAUvyICQApdQSCZylclwVDntlSQrGjgFRVFOpRVRwgJBqarmCHEuRsRpdBjoAdLT", "vXPsPnVyUaMwPxibEIksewaOGvaMpfNwFjAGMROhzObfCRjYNpfGLxMAMsSQfTQgtFktjlwNdGmNzUtpHkWjThyjURNipophoCpxArOiDfthmwOjCLotjhdRCixGwJKilhnqcHcLQPhOXPdoQolwhqVtZASxTWqeQTrgyozjjxQLPbjesYxEoSnroHgmEtBdXARyStOOTRHVVhOKbTxMmuMNQrnDJOLOJMONgLoHrsoCAxycCqWMRoYSNPsqhurk", "LTQUHgqhuuhVKeGFmsSXfTbWZbxrhqzuBGbygszDAIazTTulkkfZfROnSvbdRLDqXjDwQGBOmBpxdFwfYLrEghvFhFIHttYukwsonaqKKlSmjiIFwfgcLOrULyNUcGInCloIOstdDzpYEqbcWETMCtWNXNDNAFbwgwRKNXkgQomHilRFCjAaFeyMWgRhBRvzunwOWgMniesnSLPqwaYzkCzoGkCMCaShkQDaVwUfjafJCdrLqFGPnoqywRAGHlQJ", "TnOzWoeObtdOxqPWvorDtshhzuCCwvkWWRHCTqWfDNrJmrLclCVJeUVptNftwPJIAfgbAXDDWTuxwygfItjTggyCmeKqnjRaLTtPrRPxzfIDHKyqUVlgtVuWLQumPpVjGbhEGcJDRsTKhJsrNwWyyAjKFuoHTwCZvgzRDFcZmKFPXpcMtielAjHACekFznLsVMSvYjmdjggDCujfUzYjBbkbTDcBNAwWWAgpCcLTdoDbbLtDVPpDxiGCEEUcSWPk", "bVDUJPANtaExyfPcuSFedxhBlaRlSiNZXRVXIxYkvuBcosDuyLauJbQRxpBtcMsBDeCiyfrNszCRHpDBiuBdrgcDKoxsvvmAnqRrUgfugeSgyTGLjXlNfelMhycTGVuMDeOugfJHsDlzxYiNJOHjghOqAGtxqnCfIapMchHdZmlXPzbUfPLAAqlVjhQdCVCCZFHhjaBRQpeevGDjMXkmkvomtaUXTNaASnrLvBMcrxQgMHutNedAFzGjMEIHyBxT", "rHLQLeucQZrCspprMZkdAWAcBPnuqrHakRmNTFdDDFeKPVUAKNtFxlKgmfopvejCXdgeKHDaEfqLdzfqDOCBTvojzoygtKYWaxgxvfWFbxTyOIWOBrjKqiUhzdvEJwMOJJvbqZIerRiZtUckcgLMAQiYVwMibzKzKvlngsmeygLqrwEiLshfoYrzyGynVvwuFNyDtMVGBwiHTsuGmUiGsMQrPBKKMRNOAiyGTNgZIGIvViycOFbHIZZrZLlZLeLO", "rxbfjNendDeEIJKunNxQZsaCnuqMVxZvtWXsWtnZwgNRzvmQcgwGNhgUzNXNVSDVRzdEwfTQwXXzDuaJtoEuQLVIDPmCJmHYiutQPWFQhRPtMFiYbvSAoCryqMqqqptITywVMtMIdzrrKRVPBDmZCWhjzksxVgtUnisuwnnyILTLhkKGdguFbsciluLuAIEyIeGIdLbegpfVAqOJccHOfVWaUkwYpPuIiTEUNmZlVlvvvUBxxavjYxdxnAIpJSNv", "FGRhNLHTWeZyAEzpNhIwDrFRgjySCIXSauSnvAxhmdPvqVVOKMLAfSLuagNiyurxfecmmhxBntoISXvqQmtAbibHLnFnRVlFejArQXFABQkEnhPaMnyxiVBPmLJLUejCUPjINjqjVCRNJCEvOCmEnSrtuzkltjychaqDPjRnEbrvESJnYSePvjuhRspxVnBvlBCvWnFvkDyJXjxVlXTJDRIlmsJrJzeltbWIfXWZStvSMieQHKrzRhAFMkGAdFUt", "zftdRYVkvsiLDYpWYQPTCvWGdNTDASdUbhJWISlItsCZUxquRhVHseNlKdHPixeCQryuHHXzdCmWOTYfUSTpPfIVCVDJeloFtrosOYABhlLYsebYGkSHHGRWWpVnuXqAVJoDGqJIEiOwCTGOYpYPFieLjQCcryBFvilnGYAJIRPuFSfymhdEgfvKIwdpcAPQObSurEdWHsQzSiujyyLQodYmLUdvMaGwwQXNCGkwKLyafoRkjgefkoZZapmUIhxG", "dXsREAVSaGpAfKjfKGhwgTspQmpWVnBenWmJRBcEupDmmeKPdANKyggFhBpmjvauJjXUTlQMQMpllCIuCXCmVyaTAKqcqGmOJYqBNZBqbIcRvjPBGLCrpCqPUfpdyPUEbSxsyZLwqTzwhgmESlmtxahiMhuiSEhSQgYONWxuEYpnzzHkOvqVwbCSrqMBTuelfuooHRyDMYAcCzpnbTqrXdYjMclzxAqvTHkwfysLtqKpcViCyyYqghXGYcZHVvjb"],"c_array_ipv6":["DtnQUeQyYk", "RxpBIfsdzt", "CzzIkupaMA", "AiscCNXHiG", "qjAGmhPgSz", "YCGqNJuJsr", "HbNiCkneZy", "nYkbkqFmeJ", "lnYBBVMKkd", "gCuwDkQJug", "xIUOjPhTSn", "OpzAZpziuX", "QmOCyhoIIW", "DWcvwrEXCZ", "ozhzEOUWNo", "vPQhqdsGwN", "qdHPdRlOnL", "nJTWaykBZe", "vyHiyOxaIz", "cqcoQDTOZl", "MsGRChNphN", "UmGDIrnHRO", "LdNHjPCiCb", "FwcOkWrCzd", "QSVwdaxutH"],"c_map_tinyint":{"c_map_tinyint_1":-102, "c_map_tinyint_2":-26, "c_map_tinyint_3":-113, "c_map_tinyint_4":-12, "c_map_tinyint_5":30, "c_map_tinyint_6":-122, "c_map_tinyint_7":23, "c_map_tinyint_8":74, "c_map_tinyint_9":94, "c_map_tinyint_10":10},"c_array_date":["2019-04-13", "2010-04-23", "2014-01-05", "2000-02-20", "2011-04-15", "2016-01-14", "2016-09-01", "2004-10-11", "2001-06-13", "2019-09-14", "2017-10-25", "2008-11-23", "2014-08-10", "2014-11-23", "2002-01-11", "2016-10-15", "2014-03-19", "2015-12-27", "2003-04-11", "2013-09-01", "2019-06-21", "2003-09-22", "2017-06-13", "2017-04-20", "2004-03-10"],"c_array_datetime":["2011-05-11 12:25:46", "2005-03-12 13:32:27", "2006-01-13 03:14:58", "2016-12-23 02:20:46", "2014-09-24 05:20:58", "2014-03-03 16:41:42", "2011-01-27 07:29:48", "2011-04-28 10:23:42", "2016-02-20 15:32:02", "2007-11-19 09:56:17", "2002-09-09 14:12:12", "2005-08-01 10:27:50", "2002-04-15 06:53:37", "2007-06-12 05:31:30", "2005-08-22 17:20:10", "2005-07-19 07:24:10", "2017-05-23 00:44:49", "2000-11-10 04:10:21", "2005-06-11 14:33:49", "2008-01-28 05:55:33", "2016-05-24 22:00:07", "2018-12-19 08:46:00", "2007-05-01 14:56:54", "2003-02-28 02:48:33", "2003-07-27 01:05:44"],"c_largeint":-3902321192712572476,"c_float":18.823103,"c_array_float":[87.57524, 45.0863, 97.92395, 41.24719, 16.366434, 10.823846, 19.684572, 15.473099, 72.09722, 90.64617, 9.028345, 3.8979783, 13.590064, 74.37729, 12.396657, 22.766888, 50.1702, 73.18282, 12.688736, 31.717257, 28.881401, 83.27917, 56.89554, 62.423107, 96.36291],"c_json":{"name":"Angelo Wilkinson","cat":"Nebelung","countryabr":"CN","adverbfrequencydefinite":"hourly","productcategory":"health and wellness","minecraftvillagerstation":"fletching table","pronoundemonstrative":"this","nouncountable":"plant","pronounindefinite":"nothing","stateabr":"NV","emojidescription":"high-speed train"} }','{ "c_char":"RmRlPRtUPF","c_array_int":[87428623, 796649220, -1691794214, -1718133551, 2142692870, -1696982229, 1012523306, 1364097696, -601403207, -1322461569, -1294196846, -1612401159, 1766851849, 956164959, 925944214, -1856450485, 180119163, -206349851, -270211001, 2085474518, 990514659, -1347811045, -1844931239, -207404000, -1297059009],"c_array_decimal":[15.0338, 20.0373, 30.0966, 83.1492, 4.0869, 62.1126, 63.0107, 59.0522, 3.1798, 63.0098, 61.1503, 0.1936, 60.1971, 15.1200, 17.1016, 46.0265, 24.0475, 47.0473, 58.1224, 84.0863, 78.0472, 32.0421, 55.1609, 60.1624, 65.1354],"c_map_varchar":{"c_map_varchar_1":"ZcbNRakmtKXbUNKgiEuGXmJMSytmqAiJBjKbAaFShFkONfshyFHJzaMcykRiHbcPFmwKfefVBMsCActCsJqmZTEbYNGpjiVXSYpFFWbuIevIcLrJESdWmecwYtWyGIFeiVQDbbcDWBoZZzGzuBPnoyJjAMfvyOQSbaAgPWemaOknhWHDcBRhJGvzRAHyNEQUWktdkIeixFkTRkQisPnYsbytOZLhUGACPCJGTiJCljJbWvLPHSrdJGoGjVoiLErC", "c_map_varchar_2":"ccqurOHBaYMZpzqFkZCsyafUPrAaoetxpSQeibRjygeNbwuFMcFfQkoDxAQssAdVPXbTefzsoEyqVhKFsGpeUHisnCjugPooLJfFFqGOtxLLKDbgYhbfoolsCdKbYQlblngeKCyGwYPsxyeMndlZpzuqIiqqKEhPzLAqjZmabaunPoMjuoHuoYnVNpvpQjQlVGndkScWSIrQmmAPPuyRHgQkZxBUaVhuPefQMBOcLdhqsfmISdhjKtGWziNHpZSe", "c_map_varchar_3":"ARIPKEiqDUlFoZJrtWvLkQOKItRMMUElRYyFmDlGtSSpNKmZbONpMGYTEwXYZbwEVjfNUlteMlhWIQGjKUgyhfdgckFpKTeIbGfDQFNjqmkojLBVtbJZpRQVuJHlkskOypIMSDguNzHqZgzOzISLpfzjAIvgHZlcULTWKVLbjMFGnnMiBBcMXrkZdrPMwUrngtgZRNfLpGrEiGxGwDMAOrgkRrexMyTjPjuKiopfeTqLlZCorphqXaPXJdvJCMKI", "c_map_varchar_4":"vjDGftvWxUHoSVHCwGVBEKUwAwPhHiRSLuDZnEuxSYwzyzpbQJUeySeRHpxcoVMNNiGlxKsnYPfOmPiKeKOtbGXMJEHNKeHOfbDalOXvAZNveodCuwmELIaapVfYujuYssegFxVvbFKWTfGHfoMDJSpjMUwFKYYAVgLiUwLoYdwhXJNCMJwUzAZXaeOxiLbYhZtcaFEDFCZRaayFADSyBxhCkiBOfHpVfEbOsIVTPAQyABUnftanNJKuPbnxFSJq", "c_map_varchar_5":"vNBiRpDasKpdOqxtWzVPGMQbhtnNfkEtBhUjjLddXMpvlOCnhNkqMgzRxSGfpNmWXjuapPAdstTKqIwFnJaOnuwhroWHTFKzNFGEFOZeoNYTTaEqUmkFkbTyGojhcfKrtyGsLKcFqTmHCXSwouehpvvqzRCdMhpPwKKKKCWLYrYSogOphFQnfYMrwhHyKbonvQkbDSapcNILZcyDOnwpIyIpzKZzSwHDdaIUBHlxifhzwtkQVgkNURTrFZVFRDNi", "c_map_varchar_6":"irmusTJdsWipMYXBNhPfyumaiKmfNwzsOjrBXAMfgMRhcUqOqAOKFxKfxGnLuzxVLPhTYVztNGabetSADSQIrLEkTsrKPtnuTxhABtprgUitbkmeeJzrdWUjuqqZuIXOLVbywxJpNSdNKiXNmFQnVQZMNwIoTeLaOgtYmOPcwdFhzwXeBRislEoczbgYjVtDrutcuVJgRBCTHUvWNOpfeTdSvJWdRYtzvUTqipohEpGeEOWJGlTjHYAxcnPbxfsj", "c_map_varchar_7":"sOBMjfMMOeFfidAcGyxwUIjmBgVTWSXDjaSBqiStpBjhSdPWbWZbdXVVmKMFEtMWmeqfwLqbetgqhkqOlTxnsWdpCxDEOxxBwEjDGKDkyirUZgZCfNCDptKqTOsgqcVoCxsZiJfqSNscAFJdaCPdLRGWFtzyKUdRtpBVdrovENMsRhhWaKvqseAtBGzGEAnPUAZFyKFYHYPEdxZMfkkZnAkMNVtvpxclesSOgnQcyubbkVBmhotiAhVixoMefdVf", "c_map_varchar_8":"OddQOGvpKPBPGVEstTCmVFPPBeaSLmJNFRJgLpSoTPSzCxhaFYMoAHyeIExSilEFdfSqTSqlWMsTPURCwTkUtBhqWLSJObObQdrUQAsYkjlzXrzxAdeYgqUQaGsflyizsKZUiLxFWbxfEhtSINeFAVZWFqzqvvmWFnyetQviPlTEoOEVvcTMzSChnRxVdwOhUVjskgYsglMAhIStGdlzoyYENHaRHmhKFgfnObHCHdaTOhrKhElLyZwLmFiueVBZ", "c_map_varchar_9":"jqaahQgSywZJHeyGGjadDgsyTecgvcXBubhbpJiqbguZeGjTHuzcIcDEfdiMQljcJuwfaQyEFhmhDmazJltuVnmKnSbVuJmknZsBdBgIkcfPwEnwbvwYRuXYbuEsZqSEaRuvzgsqOHvKokpOzZgwUpqecgZrvTilRyTPQYtlmJAucZSXXnTIpTUmEjArwDkkliJMiPsUVaMptoMfwmhPtHkuWJrpzJAJLimsmutpAvnXPcDZUxpjUgPBcMnKOhhh", "c_map_varchar_10":"CWcaLVnuJxRwCKEHXQltySwURoBnlAagxtVIMZjQQiAPBhMZYjtYsNaqWcOcCKvKKyKvVqbUBufTOEdtUAZRfomjLePmLKzzqCJKgpQgHpCCAqONhnRIcmAMrXARDZfPlmoObPrjsiSrmMOMHoVCwrwNHUdCucqfhmvbJezctctjYXlgEoMHDwpFauBEGOBnQyRAFhdGiifijjpauhaNWOQrGHwHgaxXodjtrbbmOhqGeZpFnXfISTRxshWNgouu"},"c_ipv4":"115.69.124.194","c_array_bigint":[578612323833181198, -7610051173493174585, -7610322894408473112, 7625522689813428117, 8009821718340879078, -7492766958135116011, 1967048564565175207, 7663582655710489218, -506854042112201358, -9173605379983944137, -2510133194154036532, 5731294459216103173, -5193920314591450444, -1550891376354386981, 8186521246697724066, -7658481273182722328, 2798308030854600371, 7944371080221332411, 477357282011396574, -3962799321239403761, -2035551315372881271, 2729711614215096738, 449774259344158150, -3725303064611860529, 6738866499038466896],"c_array_largeint":[5911401190813266154, 9121133304779220841, -7660647295747639369, -7997459696724940821, -520429918796188295, -6701431438732949092, 5547614312316214172, -1729450741753868950, -8721749932852548277, 528216589654053539, 3553433536474442414, 4312051741733758734, -8215646684482637712, -915211656304844082, -7627427674476114423, 257817036128914692, 2186716787210228132, 3766808339000990452, -1842905522937012406, -2423199083842808017, 2733662670746655736, 2079134632101288536, 1349588405421513166, 4031128805208793792, -7787870236400031574],"c_map_char":{"c_map_char_1":"gYSOiOmKfA", "c_map_char_2":"nMXYIeEFMU", "c_map_char_3":"nzjPtmUVGW", "c_map_char_4":"xGZPRrjyOu", "c_map_char_5":"vxZsKIeFuV", "c_map_char_6":"pbubHLOumh", "c_map_char_7":"tWeuiaEkGa", "c_map_char_8":"OIVGwdCDkd", "c_map_char_9":"EiTJHpguzP", "c_map_char_10":"PoNwINjEak"},"c_map_ipv4":{"c_map_ipv4_1":"170.210.46.116", "c_map_ipv4_2":"29.195.131.31", "c_map_ipv4_3":"98.73.224.164", "c_map_ipv4_4":"47.123.98.248", "c_map_ipv4_5":"108.116.84.11", "c_map_ipv4_6":"250.91.205.102", "c_map_ipv4_7":"126.25.227.179", "c_map_ipv4_8":"91.154.242.35", "c_map_ipv4_9":"212.182.202.56", "c_map_ipv4_10":"246.38.223.71"},"c_smallint":26722,"c_varchar":"there","c_array_ipv6":["sjTWxRJYOY", "giOsRoWjpb", "XxfhUoeMiX", "zmgSsChpTH", "CfJYGNltPK", "OqvWDZABQi", "JFNRNbmjTE", "QOrrDmzXML", "eQkcMHvivS", "cfBqoNEsEV", "YaUGJTxfCU", "csibYSUtAb", "eixVyGVrFa", "wPxYzsxFDx", "hVbScHxUKD", "CaLrLwNlyM", "ybxwsXOslY", "bZrmVjSwRJ", "mEFNOIfmhz", "VEezornkTr", "ZOvHJRzAzK", "zdliaONeXr", "EVhVNescRG", "arQMvuAMvr", "JnlXlIFJNi"],"c_map_date":{"c_map_date_1":"2007-04-24", "c_map_date_2":"2010-07-06", "c_map_date_3":"2013-03-09", "c_map_date_4":"2011-07-12", "c_map_date_5":"2016-07-11", "c_map_date_6":"2004-02-06", "c_map_date_7":"2000-01-20", "c_map_date_8":"2017-03-16", "c_map_date_9":"2005-12-12", "c_map_date_10":"2016-11-10"},"c_float":53.600952,"c_date":"2008-08-02","c_array_varchar":["fjesBEzhoOOGqgwiUolzWoddraoNsQZefPvQCeIbFQfVBBvLHuKxnwyXgRoSPLbUzwLyRQSeRoaNnmOLcbQtfGqurmLrmFhXWeKIYHaegbIetUKUNbgnDwrMarTbEqbSQIDGNuCDKHcBBMiaxkFDQIKFDIUjWKXTCTOCOazAhCwFOKafthCMcuPfnKXumIDLtZdocTmRdZJeTyJJwueMRazGnRQqszRYxjAMGwwPocTDWZIrPzNhTPBDFIdgMwee", "NqoagRMIeOoRzLhpycjSCYBxKDisLivUXYIOpmtXOOEzmESZsKRkPjCooMvpgCdMJCXBcbSTADPJnCuhfRFMnOEidEstaNLEngMmDUxeSBJUsardZoAYISxOrjdkkxLHZQZfnqOgnHOqueFmhPTOurRMyWHuGPcyyRgiaOzoJlhOOUYnifreZqLeEEAjxZGHCIPHgwiqkVeYdwQcVphrSyaHPKRykDIhqWGGtNdVFXHLCmqlrjKgZUYkFNUXCRwF", "XTooKQIfEksdzjkwXDeHTjkLVbjtltlvwBiwRrfhstnXUCQrgaiwMqTTwNnFGXFzBLRMkJSgbJzaqCfMjQDARvOfdyCeGeazRdnSMyWOLvbmNagkqndzYvWBdzWISuoAFztgnjNbePclOqvEaFEpWpqgSkDqkciTSVQSkPcjFyyBYaFEYdqzSvzjAjNThRcnCEqcdVygFDusIXFzPGOjCUcInzohnMNRHOPkAsbROYMwOHsgMWaSujPoMnEtwkwg", "lXllaHxUHsgMeeKgsQGkMCdSSBrEikugrSTZzWRcTZJbOOsJkYyzAgJRqOnrpUmgeactZOJXPuTHGDfqCKkmiFYwvZlcHlQCCIqyJovJNrpxJBAhFuUXYapXtfjedKaZsOzEqpeIQobxYgMvOetzHyvJoGyJEZAbxGoATkGBCERfFDXQDNqEnTOzimxCQfMBxsgGxUTqcVwCZgmOogFkbGlyjWnfBQLGohcXXpnEwVuigxdhwjyubFVWipjDtDox", "GOOymfclcWFJWdNYbkBIXnflKBFLObOzVEUnZAjnlHmCkjThPYsYkVKhWjKokyodKutBhXNseEpqDmucqsgxgdKmlmvyXwsVFYzcACPuKoEaLuEriafoGiOmSUUKPRHNolBBVpTSqwCYPYIgijQAtmeaxnCjOVdXnFEbhchyKhDjyZwlpilXUIgkBGWkMtSdYJsyeymTfCkpyXoMIcYqgHrpQfpdgObeDIACbOvtXGtQnjkMBIsVWwJWFtyEcdwW", "TjCQCbXtzzLEdiwfOyTEJrgWmIgwEvMgvLoXMVToANVDwqIdZToZEQqPrsTcZYXXQSvxCKhPguFTXiTjonBxFUBTTaiDbALTsABKBVeMinpCEQRqQEMMkCrTTjGQqaExyYutPRYChhsaUIkxejuKYsBQkYFlelAoypHjyucDNzuoJHmqHTvBhumKKYaqTaKuZTXEbQvNuGxXEeJUBfWQfgirVzHYrexcAwrVAbtwgqZFEQYbFUfldDMqKkBbTjeG", "zeWBLVhCyAMruuVSccffYAEkshpBvMoJpbYDyOgfBNHVzJtHxqqBQppKfiWEVhwMBfZSxEItpvfyQkMVyRytQfxwyOBiQmBlFNqQBlyVkheViEcArJapGXLiUPDfrYNjCXjMxwwJgmKGPlHOPGtrBdnxjcMKHqpNyKXpgKmMsfScBfDTZCokXVWRfLaFISbzRXmXVqWoBqgBmJLGVkxtViqRCqNrZyymIMxyPldKAwOSINVLMNdmuhcHAiTZWUFa", "SKLLKNwmjXwpfiwWDVsOYbtsVBcEEUlIZwteoGsXLvwTnHJiIWVkVTUzAkGuKsYPjDZTnaNVOvgJtYnSTguPQwOuSOkCDyTQbPoJbREsZuEelVBTBZuFgsUOHwsrnoLjpJaxOzFhlhTMOvOVnUvtcCMzfoytPtXwfXusTFtpfJGYyVsdnaVRLZolKBTFsBQByrIKAmRjFZAfjuvQIndGUccdrNhxUbduqffFHFqbEStLaPUSFpTavdrDpxaSOsdQ", "RFrBDbVConCzcYwNFHzKKTONcefKEtjeeTRLqzJTtaSsKjiFpnptXxCQALJjyspXaxVDHkMWUhrKfdvOyQNeePYwNJQAVElOjUEfnSqmVveLrbzGuoIQdPUxqzpPbINUXbpCGPfVInKtXJkuDgAdeqpQLkGfKTAqWRrpWuEBTMdiFKXUtcuZsRBYNLbCDhGeHnQwVHtDKiixWvbSCFJgYqCbUaUCopWJjAqoeUBgqVWsNhzmboczcYNAGnbuGSdL", "zaWZeDlKFBRdEWdrxyijSLZTzKTIfGhDkBLPmzZWNbPOEvoEpEIVtPwhLWBDYEKyppkcMNIqbZtofExDsDBRWUsWBBKoZaqxkMpDgtOXmjBaLMGuQDGuywIopEteDvUpmumKRulXQqNYhxIJPfXmhyWNhJUidQAHJcbgnLPymjaxWnkKaytTlIjiEWzMVEwNHLNsNLrLZVwgniJUOAjkedXaSRiOzJiolHAQYVzjRyvIEMrxdxknQNSdjukpQpFT", "qPdlAPjSNvcQDaThjNNixIpQoBXOkBwIhYbqMNdlNHrcviUMuzWCgVGzRBIQHqqEbdZuksFFcjYnhYwEyqOOAyAIbJBOZcQMVREsYqMaDUClYqffQWlBJemVwUyhzItHJGLhiyWoGPylUtvFDucrCvbQDRZqOigEdEHxwoKlhegJGemhdgYdQKlgQjiKkLyYZFbIiPHuKKLQEXtfaASKiBYbKLUMUDmSHUUYsudOOScpsfwxrpORbzdLCQdEWpHl", "ewbjjKcvwfrAZEcPgdHdvzpXpusrymQHhSgFqHmqYuKlJprIQfaKEFDbdvsDzLvSBWKmDUQhNRVjFhwUznFKKLqEUhYrabrWfLWfznLZlQueKeyzAkBydrNICvWDfTzUcDGZQNTRJThpMUFIzaOTpfzwnbgjbfTTNEtTopxCqTIYBIVCAmXyZPIdZABLhDoNERaWbnCIBulMwCKfYyKmPcbtoKFHzjEKyJfZkvBWOqeXrpcjmnMRSIFtNMmTmRMu", "gSfnTKCclqrDfNdgoltrfJOzUFspnwmFnkxObhpGGbNLljGEulaXHtmPgasQEvsOhdwctuMSCJYoivWihIaSwatwabXvWcgCBYiHvzBYmXRlwWxrgYWbjuZjsUOuHbzCaLiMNMTPhgFOobPSZmxDbNcizXrbwcRhvXUtoxvVnuOxIRzWBqEeWvsWXfJpzoqKJfOEnMrBLdyPokzkmwdnDCzvknoqyEAGbeKoYqrXRhVsocNntgPEdnBZfHjLjbjh", "pbDtUhIgYYqQngZGesNmAElDYHTNvQXbUqhGAnsnxdgTicGQVmhsKojqvOubuvwaNQuaKNFTEpbPhsMPcrCWywvQlvOwGrhbcAfGZumggdKHequeCXGVunkROQrgCxbViSqaPehAiwSngGTrZChhyCUmKtIQynkjkEaLwvgMWJBCFzJJYmJshEVdLvUeIiklOzKcuYGqUohkBlYfuCEfIRAPMjXZqkqZIfSUKprjyPhZkIkFlNOZyDpiEGZleRyR", "QGlEQvwQChIQAGUxiQsGHZQXXhAXjCAHLJSgieysfZydQlPtiVWVROYiJOGaLWycsqjDZUxxHEHSodNAwfySGcprjVHBOEDQxgkBVqgmYRNecPRxQXJJrQRiwvJqTqbRhVCLUIErRjaqfvUlahSorkKLVTABiDZyZyhsKWzdUCuKvMGCwLxSquHmvSXdukiMiKaNELruOOGtxksfKyEBHnCyNltpJlNsWXKlCwCMomSaJVHOsBaBEVIzPrPIlKTv", "BaoWGfvnNzmzOIpHLrZrhqZNiHQzFVQIzTXqsPElJIrFBpzUJfZNtLeiCySvtJUPTTaDtdjUBnLXyoHjswFagZVTciXAZMqCBhCeoKETQbdbzCkeePXXCSVzlWaLuSKtkbctAvEHWwKXQIgODxToLMyGdiEIDUrRExeeBIyuYAByGwesBZIFSQZJsHHSbbTmtZOsxEStORNFEvZaLcLkvnUbgdPuBDYMhBqquHPowrnKKNpAJBlIzCdcuQialncH", "kdeTsOvkNKmhbDVzuRizRnGLDzYYOLpRJejkFlEXzMTVgrmIlkURyqwzKnaKZFsOuokuxPDnVijyprJVEvhVUGHJoswEgiLVDMXILSXewhEDvspVibTmixJtEOZmzoqjOBdIzlAoPqlILHWXdsGhAKfVcWHTjWXNVjVjJVokIlEddoJTDMeGMdJWKdSiqTMxjYUKCQyXJqUmDvblLYDEJlelysiQMFHeuCBlZsUqYHrpNhMhSdIkpPtLeaZVdqLq", "BdMKgMjUSScEjJbpYRKqKaJoQxUiBQMcDfKrmXkyZQrDjBnuHUARjwNXfdMNOXZaXKczCAReWkpVhWMvfzdUSJaJZWshRZQExZIrVttHhdAavbONlzVcFnpQXedhObuNPSzVSLAXHisMXeSOEHrFjeUcQyBzcEfTnmaCkarVHfdHBPMdGFozLdRAYRNhHDVjnSlYyYkcHBuJfUAuiOowkDpUXlHytWprlkqhoVdGulSPUoPwPhMZtZbCUwivySaW", "sPWwQZnvafSKCTXAjZebxEdvwlGqJAZBtkSKecdRDPaCdHYXMGMHiVLVJxsgYtRBqnwejVSSjcpjQXgpiYUjnxMuXrWHuCuqSVgMhzWeUgugYCdnMbIshVuomNZcGLnggktUZfVZWYuTbjTSNMzcJdMEivwvSHaVQyVgrciBvJjWeZGoFnLcVkPiebFCSuppADKDxfNOjugsLaOPKMpdHeDTwPDBnRQjKZQTTawBZnYkfPiTIufsxOnkwZkdXLaa", "TJMwiDUfqGXIsBsvJRSEpNJzcHkPXwnDmvYqTVwgAbrhuigUeuFbVPgnvnrXmPcdMdgCxmMyocnSkXpIlcOdMDYuAOmtTIDozrkeOsPODmFStgMfIbXgNjrwYJBuYCjDUjtQdbnrETJhDSpfXuikSbQvcQpWjVmJzPuVFrWcHXpDyQJkbStmHVvlBAToKdhGmzaseFMqDBmVRxugqpjHSOIezrNYbLMjzrlsDDtffKiXsvLSrZChcVBKIbcguAyE", "YpXpdSLUWhCxZRngdFClutTexBmfdYLjWeIuIKIDCHdmusPWBOgEXIqFcWkmUkQXugclYtHdRscYUDsbAcpAQiuyaJTDWsFcvfPBujUdtgRqowXRoZCVQFfOJVpKWaJlZediSqPjNqihoPPhYxblsnAzftclsMimoJLAuoSxzzqBeSCowjzcDSMzvNMYazJGyQUIwRemXatmTsuHwYnSpExuBuZamRGFThTomiJlUCzoulUmRpOkvXpzftcFISRa", "ukThLiXENwTlydFPirZCIsgSacwyDprYwgOXgaDLZIZsLODaNLnVqlOBrwkBrhVEODXIRtJsIrRvjBheowTWUBFWqEHtbLNvXvmSkwDqQcWavukqySOULSiCcBHfToCfCGCJOPKJXRpXljgnuvFsaOECantjWXvgWvxFTKStrfCzhAZGlofffyegvBVogRKGXNJXzMIeDRKCPClkCiJoLAgkkeibUztgDXMaXGzmixIkulassUUeYTuarmtZqmWG", "YitWBjgZkCuopdsKZjcvbHyqfVzSQZuqthGpDZVFfrXmLrGkWZTgMnPAWmEKKjjtZixyMMxnujqKofWZDpFpzTzjlFHVpCtUUsZZCeFjGmvSzrKpwhCstGBtoGcWafOnQDWTvUDvBmMtcJzxEeiOSwYjAXvmIUejeuWiXsIhysDSplMXyZOhPyFcPhCydqZWYTDpFUlcmYInRlMECHdLYTKrJRXrjqUgQJRCfagGkhfLihRVJSAQdohhcbXqSZMc", "AcwruSdOoPUMIkBrueZjpbFIbaTZhwEdfzkPpKpUYctLdXGBbIkZMGYRQtWtqfJqjXoDZYAbmPDTLqESgiCGbSEyJPqKfAmsytycjrusONHxiqjwBcuQyrASgZRZMBrTXLiClCHXaNYiWbLIvpbDpcdDZBJmIMKXcTzWNHEfdqHRKCYZxZgTUVZIwxtZMkoNtKnXLjLTccKBFHCeWtANRUxgRVodiwZyOMWKoQNyoGszXnqmwjUxOhrQYUtMnIKo", "SOaaGutSfNLdtrwckrjfOVsAPyqnkqTlaBedFkuEJPrNggIFhRldXmqvQosNMdACfzCNrtHbWDECtRfsMtAevHJFDJZPtwCwnPbYUUfKDjOCAmBbVTnTsizdBEORfpRGHWSoIjIaxkdmzLRZAUoKPZMWNcRhEglhclZkwJEnNxwxrnrzdqeexfQoANbstTSOEnByWQiKaUJhPKxemrnOHjBLrpQEzxLwyjzwIXEuiMmMPpOkNrPABkKDAIwmmNus"],"c_array_ipv4":["eGsnZCAglE", "nMwhGdBQVT", "bnaQYWcOKG", "yocvJBGstV", "boxwlOyIqD", "eOnxbwIMby", "uhDCCAUoFH", "SbrvQvOPfn", "uCXZScpdyv", "qbmGhwDkzn", "cwvYkUsQrX", "ZwvVGCJOWp", "RACoHxvJqi", "kybgrLBGXe", "kPoRitvHJv", "MYbKxgqdOL", "YDrSlfBmXe", "tiQBKUTiYy", "jFlBWXMxfz", "tguwVyjOij", "vRAyWRynCr", "UBEBWMxCpC", "QYqCqoRLAm", "SHtGVYPIQK", "MEEtytsSev"],"c_boolean":0,"c_largeint":4163278419004765905,"c_double":65.89309677761835,"c_string":"qiJnUdubYiEIdyRESxQPjODvArDeVoBDNZGQVJraCAutzxxaQXOeTpbNbmUUicjLlphmfqBcoFehvFCUwUCvesliUogngldyWeVsKliUowamRjNbkEKJGNEOIDCGrIeHjzOTjthiCcWRRSnGQuxgPxAWEuRKOKjZsOfflqnquhvQfqjKUaQZtdNiuqpUuIlPzCOPRCuJRfRnQstvChnwFabSwhfYOPSyOYYldHkAWXoSRCqNFjlFCKYyPEOZoQJzErUGsHKTUZCWyUmySnkWYiZAebdOeWhvWeUDiphDVfAToiowKzJIdlWDhiORBOabvQeUUHJemNgjUfpvTyYEiMbOHfYMTjvUgOGwBcrUExkRTcYsUqEikRKdGtPcmFXIQIJPQdUywNiBCPZMoVnJeZsWujnVGuztwExdzkFDxsfRYqIEusxhTGGmmUfsoUnzaBMZzzFTrxuPXiGAZwqRvvBnLTKgzjVZFlvbnKdQMNkwHXsVGcsjeVQgeoPrSQjx","c_datetime":"2001-10-22 00:26:18","c_map_decimal":{"c_map_decimal_1":15.1423, "c_map_decimal_2":73.1581, "c_map_decimal_3":46.1345, "c_map_decimal_4":11.1813, "c_map_decimal_5":47.0321, "c_map_decimal_6":80.0730, "c_map_decimal_7":70.1277, "c_map_decimal_8":85.0570, "c_map_decimal_9":56.0185, "c_map_decimal_10":8.1039},"c_map_double":{"c_map_double_1":49.89959888141101, "c_map_double_2":81.43392993114752, "c_map_double_3":2.6156044412757713, "c_map_double_4":30.82987572865053, "c_map_double_5":66.06133329202203, "c_map_double_6":39.24331036706643, "c_map_double_7":7.7744577896065445, "c_map_double_8":58.15286003829098, "c_map_double_9":65.57181486389078, "c_map_double_10":0.5955964108763031},"c_tinyint":105,"c_int":759206612,"c_array_char":["uSrbdHkfhd", "xdLCIxOvLS", "EfrYrYUwkD", "QEcgjoWKkd", "QOrlORIqNl", "jbYEKutiZy", "oGVZxkLwuS", "amnHnAmNyv", "JezhNHiqFT", "rhVnKIYQXJ", "ZnYIbgMNof", "rTaslrVmbQ", "tWmRwXVwyI", "wIpinFeSuw", "oQZVstVgie", "JgSIlDTFtV", "AfbRLlaXnR", "otrDIUZpdP", "CmZBtgKMEG", "ghqvBADmtL", "qeYqfVBwmL", "yUXEKpNsKn", "uvQSVsKwzl", "RTJQjrlOTL", "nkoVhAIYKw"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-2771, "c_map_smallint_2":21944, "c_map_smallint_3":20135, "c_map_smallint_4":-810, "c_map_smallint_5":-22538, "c_map_smallint_6":19585, "c_map_smallint_7":23476, "c_map_smallint_8":-28170, "c_map_smallint_9":-12313, "c_map_smallint_10":2260},"c_map_bigint":{"c_map_bigint_1":8397866289899632830, "c_map_bigint_2":-4917423727204789375, "c_map_bigint_3":-5541582751562624443, "c_map_bigint_4":1728800289208957333, "c_map_bigint_5":-3035547008869641971, "c_map_bigint_6":3196455217636631868, "c_map_bigint_7":-7650112136678085645, "c_map_bigint_8":-2919509399689655958, "c_map_bigint_9":-4818969496205169828, "c_map_bigint_10":-1910016697473672981},"c_map_datetime":{"c_map_datetime_1":"2017-07-28 17:53:06", "c_map_datetime_2":"2002-04-01 09:23:27", "c_map_datetime_3":"2007-12-13 11:37:58", "c_map_datetime_4":"2019-10-08 06:41:34", "c_map_datetime_5":"2006-09-06 08:42:06", "c_map_datetime_6":"2016-02-01 13:47:07", "c_map_datetime_7":"2018-10-20 06:09:42", "c_map_datetime_8":"2012-05-02 14:20:39", "c_map_datetime_9":"2014-07-21 01:47:20", "c_map_datetime_10":"2011-11-03 03:41:29"},"c_map_ipv6":{"c_map_ipv6_1":"55b9:555d:5146:ac55:13a1:4f3c:b7e1:57a9", "c_map_ipv6_2":"e1cf:23d2:4ae3:4c17:ad4f:21dc:c2fd:6c24", "c_map_ipv6_3":"ff4:57f6:e996:6f7b:2eaa:5f52:b728:eae0", "c_map_ipv6_4":"8dc6:524a:1d7a:aa13:4c4d:595c:f091:657", "c_map_ipv6_5":"a570:40f1:f53c:591b:7ef:1a24:f801:451a", "c_map_ipv6_6":"3468:4e46:d6c1:8b86:974a:d1dc:8312:a77e", "c_map_ipv6_7":"7ad5:935e:82c1:218c:f523:8d27:3232:825c", "c_map_ipv6_8":"d6b7:7335:8c4f:3b5d:b459:8453:5c8e:4d43", "c_map_ipv6_9":"c98a:e168:12e6:88dc:4ae5:8f0f:5191:78df", "c_map_ipv6_10":"6f90:ab41:438f:4b88:2f81:2068:b05d:e20f"},"c_bigint":3190001339841700125,"c_decimal":81.0969,"c_ipv6":"f82d:9f6b:9eae:4379:308d:fd3c:fa2c:3059","c_array_float":[42.060966, 51.517685, 82.27245, 59.035526, 79.837524, 54.327267, 88.34465, 85.87213, 53.531857, 53.86759, 94.402985, 67.29856, 94.45673, 25.433876, 2.4789593, 7.628682, 5.8899813, 64.00014, 81.52176, 86.07484, 78.96452, 9.222394, 53.7073, 38.531704, 98.54453],"c_map_int":{"c_map_int_1":1006495113, "c_map_int_2":1061519686, "c_map_int_3":-51534377, "c_map_int_4":-975898976, "c_map_int_5":141064498, "c_map_int_6":-1012263544, "c_map_int_7":-1524863818, "c_map_int_8":-446030288, "c_map_int_9":333955494, "c_map_int_10":453687982},"c_array_date":["2009-05-28", "2016-01-04", "2014-01-07", "2019-08-23", "2017-12-04", "2005-02-27", "2008-10-25", "2009-11-14", "2011-04-19", "2014-02-17", "2012-11-22", "2000-07-05", "2006-05-01", "2015-12-03", "2010-11-14", "2012-11-19", "2001-10-27", "2005-12-21", "2016-06-20", "2000-01-04", "2014-03-02", "2011-12-15", "2019-06-03", "2016-11-27", "2010-06-28"],"c_array_datetime":["2015-08-14 20:59:54", "2019-12-17 01:06:25", "2006-05-04 10:57:10", "2008-02-25 10:13:36", "2018-09-23 22:29:30", "2006-02-17 20:41:34", "2007-04-18 16:42:19", "2015-11-16 10:07:49", "2005-07-06 10:36:25", "2002-03-21 19:09:03", "2000-11-27 18:15:55", "2019-09-05 21:44:41", "2004-01-02 03:39:29", "2012-08-28 14:11:21", "2002-10-16 10:08:45", "2015-02-10 13:44:50", "2019-01-19 09:23:29", "2006-06-25 13:53:45", "2017-03-18 05:22:42", "2015-11-01 06:45:36", "2018-12-01 06:59:30", "2008-12-10 15:14:47", "2003-12-04 14:22:02", "2015-01-11 05:19:43", "2011-04-06 11:44:13"],"c_map_tinyint":{"c_map_tinyint_1":68, "c_map_tinyint_2":-57, "c_map_tinyint_3":71, "c_map_tinyint_4":-77, "c_map_tinyint_5":22, "c_map_tinyint_6":47, "c_map_tinyint_7":34, "c_map_tinyint_8":91, "c_map_tinyint_9":27, "c_map_tinyint_10":34},"c_array_boolean":[0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0],"c_array_tinyint":[-51, 48, 18, 62, 44, -111, -4, -85, -25, 66, -64, 56, -26, -78, 49, 103, 22, 127, 32, 82, 68, 14, -112, -95, -92],"c_array_smallint":[-9111, 1774, 15447, 639, -5858, 29423, 23741, 20988, 24386, -17838, -5404, 7882, 11339, 17070, 15051, -12567, -18404, -17781, 21781, -2257, -23842, -15821, -23492, 26692, -8676],"c_array_double":[3.10593476158944, 40.40437474411146, 21.404368330924026, 89.81293684151636, 62.54692637883929, 4.600795417098823, 15.198099724886669, 2.7809173415766364, 48.403166753691764, 77.63028359948075, 95.85407606352585, 90.21089811733715, 61.47015272023067, 36.26042058443288, 91.34093505692098, 15.146986509035973, 87.21931992328095, 22.67396276061283, 32.93797709068683, 68.59912087464652, 46.09553389452989, 7.64522549301017, 42.53516537009239, 46.844873302189555, 60.24970747243408],"c_array_string":["rZmQSgGoNxUuPZIpjXZGpZPozYMAnIOgGVMTpMAPkcvqlAgWZIrrklZUkPjQNdYhGUWEPHDbcFdPpSWtsAQVMJmwnowxLRVwzZqOYakUIUOMFxibuAZTwAoqsYKlNSZtsEypvtzLujiSAnIHVSWEruEqfeHOltpPaJQIsheHjifUnSsinJeJxzMwPFfcOEiJuSibUJTSRGCCuIYbRbbefNMcUtaHaHoFYaeYfdyPAbyksjhbMXGWtrZrSmEcUspULOYhufjoliBkXmXTOMSmeulkBWZclGUQAQCILMcCxMvmJxBnMjafvcMHBWUiVxHzkjucFzXsZvmsNrYsGEdZUjGUsYoQKfuHwyWHAzqvMsmtARwbPfkcKKPuRlYSkiKjnLWaqdpDMFZgGuRmRnaYISbjsmPRMLdRZLnpgsnChGbwoaLGAHighysoUWmipJxdOHhqSouQufIFJReWfOxwlgNMxttGGNhYTeYBLJTSsBCZgpEYwriofIzuuDuJQNsQ", "dlAAHVoCwpcaeIBIGBKOQBLLgSOQytTlTVLTXqtnteNplxWgoRfuCxTWIFaKiMVmXMbapZCjYLaNRCTVPMorYiSlmNiJoAURUVKUsLCUKZSNkSjeWhWcCckztuASKhnryuYecxUOLXxcOSYPPfSDQEotHSReUEtLwOyOlAFprfzYKHmQSyMMZKansxMvFqgougsYOOOaFAZEPcMObYanqyHhNWMHjEhLeyBYrDuVeWAsNWPRkmdSIndMwrVmjPImvEucveIsKuMUwYbvoGbHMHQhcaKOTheHbIKehaSgywHOOnhGjrPOVkERwgKNbGPCMRiWwEyuRtNmOLICNgeWzdyLvsjlCbGWZsQBVUuECYyAbkMAKwVYAjAjjupAgqeVwJUtXzFZjJgLViRAHCKGtauGwckuberTtNmrghUSmsvImrWaMFkuMrEztFyzIhpmCrhNwDNDumRqUQmByjdbRTlOVNnslZIpQztJjlWRsjKmsKkVcnwzEYjwhKADxBid", "OvdxCajyZqUnXgyfCDgqytvYlAbntoUuxeflvTzOPFsakpSQoCPCBybVRBMFPJHgADlPOibslQwLlcUYDFAzINZOHANoIQYccCPjllFQAcSAWaSqWQLDGPTTRfgMBuSIGJMimHKkfSbGmspnevOlDTXHuBWDDZDJSRXjInjbIfboWVHSYSQXsAFhoqIzCfYFFhClcfjsCJeNJkjsfTWqlmAtYvyTYVRNWotigbmCHFMrqFvGOKQXHirwVLhlBwRQmuOwMvgotwAzECpVopGfOHGvWJdsgXejDbzifjUojdFBjMEPONOfnZnlQxkPZSfIXDelRUZZBrfXPDcBfcRorBQoDEiugcgdeXnVcqaeCZjtuDRyGwtlgxtICAahggMVXPfGrihsiEkyvMaWUjlVZkEWmItSXSPfcplkkseHwNYArVHmLySYKUbtLWqNvBehRZuFPXCrcowussshBcgeZBwiVNLTyybwCrjOMZegIZCccmPvWXSJuQLJpISBEili", "OAKoxhIllZAaidQPOVvaENmeGHayTetRnFnExJgohBLVjsrZNOvGYlTkzDFFkMCcXZnXYdsOxUxtyvyElpzGYuWdSnoKdyBWRaCfVaesdvhzPZOvkOBIXWZgaPmSybIHOfhsfLXAjjYQhmLcBWPOXsPgMuBuZuOYMLzBowROWGNWcPZUhicCyLFovivajSRpAlPQBNYTtkZYateXdHslSamxJWmaGkDnACdEKvjyodaMwzfmgRbEewZwOSXDibNjDPHKdHfIebvPZvEqqdvnDEecBETxXMjDhSbTXZclKjEOEmnhpbHWipsPaAJlKCHGdHwxHHxmoCAroecmwgNzlCEsCbPoOdDlweLDwcZQNgjzVkVeKZqIpNFolbhfWQEVRtwbBsxfMbQwyFcGlONnLLGPHEPoxtAasaplUYDVVZamIMeLyRsVFHZWxkjhAehXJjEWboXqdXinLuaZziQmtYgbdYcqnNTItHQysdjpxvbJRpFTSjRiQzrIDFJUYXYK", "dHqNFDaQOELiOpwHPWQJvUAHFqtOphaWqrNXoPLrshcQXtPGMLRXHKBDqHifuhSDvtdjtSfOkqIdtOiNbevOTeloNzJvuUBOgvDTpdyXKDogJBXJAApgQSSLNaOIgypKscDaMAGorsXiPZoqYDMvmYVlEPpyizDpIyKwmRNuGUbaQxaYlSrheRFXDZnoQCWseEgkcsUNgGgstKYejOiOMrNaxoksHAhRpVTsTQxtTSyVmoNFYjjAGDmsDMuRVmhyzNuncaKLsOwNkNuzSWanTALIKuagkeUYRNbrqmxVAkbSRSrhvIufzJELZgGceWJvVKliRUMBZetOtRBoPfzPupyyQysSEZbEaFRqcbILVIWvkNLBfogcmdjTvCZOMUnaXqneeiQPeTPUWBcQoFPkNeEJbGdYlhozbRwvrZFhimgSomwckUvajsXElKfqGtevqGzxYSTAScdVTJxEYfyjxSXKbqNtsMxariwGjlyqMFlvOveNYtMFIskjyCmpBFPI", "OwhQCipCIQUNTjIEiPSRVukPpBdFoPuGQWBJPseQnEBenozKMlkMdWghtQzfxySUXzZrxmrokxeYxaixMAsvjyLlxaHJbaqUeOHERZNSXiEDusmFStUeWfEJFUXslrszHwVwEksAWKWrqqebimNqeMpGSAJbWkwWdEpCpOiTpEkiNIDixzqBKyZpzwiQNqeSzHScFJEsDUSHlVEzUjnsErFOvBLODTwYrBHXqgGRrecQdjkLddVQXCYfrOCNGKfzzGcvmSGvhRefIHISQbGelrbOKlPLLxcUEVxTpsLFgSgPgSEXDFOZYWbGlpkpgTuLQHPUSTmFSZrWkOCNNJsXheJinqiJettpimIVCGffhXZAMrNgvFRYEoSsHdLFFKgpGIiyGmJBODIOXkOfHXefUMiQJOlgmPBXDsnZfIgTrClPrakjunSkkJDOENoTnNZytrtyrSsMvIMIARivBGSHQBxkTpSbFWbebruKiWcuzfNQmZveDwOWHqIanfsGGKuG", "xIUeKJjwaIhlpxeRbzRgPFHErVnWudAuuiAqPtcVhfRAHluoGXGBmPEejIdoiVMjFBikaMoOMPUMKgxGionQREYcnjwtWTovZakRmOTyozosRhzCThumOrpCqWRugFddLhVGOFVMjTkxdzKNrPfLSWKPfpKULovhGkjwprnMtOAiIlckOodHxSoDhwtZeIWwSWCOiCjdVMfjfpmeRkfdDaHkFaHeJtxixcvnIJjlagzwhmXaMVPdQVGYDBaTEqEjJDjSwDlVlyMviBSAQFBxgkPPiBtmaYbgeIVXeLYTHVjOkfvhrCAOPYphPgmzofUDyUFAefgtkUDeuzgYeHLIkXiiSssBaFQqiZFwouMroNRYrLEClRXvWwvRXkOsPpYQERMZfyUUQtmItjSiHfADWTDnlYuGDRKrlUaSvBoIaEBMKeNMjNIiHNiciyoqzoMxlflbLmpXrnySxvUmNTyySasqKptFAYOFMnKWRjCbKcLNcVZtNqJsaFenLWbtOVMT", "evxfbEbHDWlMfcORpXipJZPlNRmynBkdVzJKixCgCbdOhkcdvqBeECcJNhsYktDGbJzdpJkWmfSBXVwXHUYICUnooftbQQgnjQMbTxdcXnCRItjMZUfAUtezWXzrimLCzKxuHwdFEcoyBmJCrAQJQKOkowHvfcQYOQlRWJWAeYfFkSSscSggGOGWRyIvDJxlFQhROSYecRPJkAtacascPcJOlxwcuttgtWQnFdDsdMEVXdiLKDrksqZSxuCuEzQWWOWCBnHtyaKgxQgecPsZXFEtXlYcdvnQtkXgAZFHlMzcqudYpjVqqUPtgiCAVuiZCENEzYAciEWUTRJvsPrbqvuPVAylxPsyentpwudeWbereLZYAwIXLQovLgNbQUCEcjVjUzeNvefDjKaQmtYwzHRAkQDXKiAfRTaxRqggwkfPWGibSftmttwttnQeZKDgibqewZDQiMiqXiuZMrMpTAotQWNcgyPvOAbRGLrHnRVQhvOrvZPEuwOudAubzqhn", "RURxDvpKmHRSPpZEnvwFJYTDbRlGOBaBGUaFlHouhuxBxLwkiGbTIztVCqnsSTDAaUurYLPiDkFZNYddmMKEnuFdHpEnPRejbGZEfFqJoKvDOySysOCmqdVVZmMAEiVVrNYTZqqJxdqouhemNvdjNJtTOqrFrAsMrpoquCCgGUSKWTUidiZvaCAgEbfREZxVdRNNaWmzIFPDyAaTsoCuupsgNhNGKrEvLIvuXnQyvQjJhMdfIXIgRspUIkAhIahATMRzDcdiQpSTPFWEPIYkcFaPzkWhonIdwNfmWgCyGOFkjhMDptkPvJUQzahpNyzgloDMqWAHtMSRePfhiOjJLETCVvHSDqBTSSgaXHJHZeBBmqfRhvfmDUCmQCyNjnYIjaGjMBMwnDHySwjPzUZeGPCTJhzFkKMbPsLzTTTYpSiNGIRdtfaDKlpMGlASDAnIduYbMJuMvcFdyfianEWlONgusMREgwudhaVOMYghUDAfNWUWqDMpVuRUWUDeUVBS", "IRyItJtrzJPRltMprnrbRGZQdHvLuGVcCZiUVssmkDFPqIMKDztcBFFRRbfhrXMWoSBlpriCnhZLAQoIgSmJfNvPxuhqjGCGFLaArFZFOkWhCzffAqwyAwnUgPnBBAsXjedbEFyGCgLZuAjKvSakClqpppsvwCFGwqYpVvSsroClDMSejdarbbLEkAKsmidoljQonWBUoCGYgyYwewyfvpepHjMBcnrLOMYbDUCGuvGijfSsJklJzFhHwlxfRRQVWromhdiCSLuCRFIfkAXrZoztSGZaNueVhCwzcoZeJpGHVOvxJlchwHZPSyLxaqixzUbvRUrLRSonxqctAxoHjiexJkEnghriMbcImtFIyiUWuoXsLuQwvPmMxeaQMosHDjbhZTfvupkmWnxEUQKGCDwALQkjvzNvLmrPPMqkUchbamDndgzAuxdNhAdqrADfRLhcMckansmLyYseCQZdHRocJdNCWvOIWYHlqnxBHvXUESkUipGgGuzBErGxPbnx", "IDVvovIFnJLgkJTZCPjvrKUkWJKtcggWZIPyPParggzsZfKDyQnsCnVBhDHqFGZVOxGIaKoElvuaTbypLVtaxOkXRJVbATcVBYsdKEEesdssndQSSqNwliFGpladjqtFOSiWAHJuFEVIDnGFEmOFGReMEMCFgNpDARRHXAnaicpasIzlwzDbOXkeVKXFrmgpTUHIblxjtraYEGiHLMtApXHgRZqHcsdJTPTPrWGWRIqqTRdvdavEpaOQNXnvDnsxEliEcKPoHRCtzhVdFFOesXXGZhdEdzQnhFzFwjgpeNVvbTGHAqqRBrhvBgECCnSfJPfaBmMgjpvlWShvnDaXPlbOxFkiYfdqQRmZHlwqgOKjjNMJrqVwqGshzEyDbWefsKYtrkTQCxtYyxEpRDqCSGfuscWyaCyNGYkEdiitxtrVQCYGLBrETDCHdsrgZPZaZZAOnCZuHtQcFuYVkayDUVEuJAmDKukxcHiDOaIRkQLsSiCfcCobZbNAPoCpSeKr", "OnAzxFcWhThxwgGlKZPHxssbXfqakTigCnLsweGIkRQSvAVLbYqbHcaaEkgBUdjloEqwVHOcLCBUHRZtLLIhHipIwoxXHtswImtZQavIPehxPdyYKbGyJfYWsPocYnkEHUmZjswqmyGmFqyAhgQZJvFakjWLoLElbnBLXVVvbToIucVetxuFsHikUulLsxpUwphDHDpWpAJXBawvDYlBVlnGYgMtIuKJJpzNxRtNmJWGVnnIQgLTpOBhOUuCYtKEPROjwGbepttHhiUNDAfAifuZzYcPkIuhbLhOGItagSUqOzLcbwcaSBYPdcdSGGajhnvuqETxwJmofCTMFvtmPVypcabkbIpliHGaiXLDFAcHJrvoPuTKEcVgrKLCxNJvvuRrcRMgygXxwwgBHsCTRfZJNwCutnAvIWTWcnFZVQIdrhtufRJgXJbsEJrXWKZUwRcOVgnyWwaFKqTJvlwNAjtkFYyXWFonPLXGnjIwQxGYspduJEifGvFvVHTuqmoF", "kUUqMKVQHRorqgUflpQHpcPVSuXiapthugdhUcxoffqNupObTyGERzmXsIMnTqDWvkKwbUuubFhKVYqdbxxjmHnFQtcaClxEyWfJCvdrqLTKBNzygOqvWRShPPbTfQmzpsmjfUeZArgAKVbBwSqyMdiuLoxlRzrhOekNsgPfatpKCQKFnUYYLomPrflHiRSghsqVqKttLJdfTmumSQOcGlpuvwrRejFguOXQatNXdOjBAiuBPvjTARLnAcgfgvpyCocwApADCkMOXEEZPxSToxkrvZFhhrJGsdHsGIoiMEKdnGulhFmkwdDUIJirTxIFXDbXfsrbGFBJtEZAOpQjJFjiOjEFmmQvflSMRdZcazvsXoyEKLjHdkUkQlAvleOtiwuxhoPRePGIRgNqXTYzGkCVNwcUSjRInNDhhCcpzxSQTyflwCWzAdXkZEUPcUXqevmkAhKcEomJvUTbGYfVSHvFKphwzkVIxOzIQCRIfHGwHubObUEuTcxrpgGkFpKC", "qsZWXjJwPRoknDfsyklcCuWgQmKOgAbVLPBmxYXOirKeGkwLMvNpopQeJZkuZWmDElQXFSWjQPhHPTBygPZQxHszWObCrMQcVXygIJCkTZEhDclNZgpmtVXwplOcueaeaoQWRfsXgtgInVEJIEERexlpqoLuSTImAfQflIRAnUIvvrOfZjZmLbriTaxkBNlAIbHhLxFQucUjjHJFdJnsRaaSlHJgtWpLRtrUIWJRhKksaKjsilYsIoqmXpfgkIMxIjBPPzNKtAOTXCRwpTLoyCsJfRcJQAuXUOMgRFEvIPUIjLYwibFYBEEchsoIATnQGfNieoOLtOtwzhcIhKmhJcUZbFEFPvebUoCGvVyFfvxiqpYZgkpSwRxbdHlAGNBynJnjviyLXsgpFNIUKBthEjKrzaupgEOTjDGfwHCsyLkbzRoKKbXWfuBcnKfmxLQvZjyujyDJKagyDkOIsdsJcsUKyLGtUxhFOWDKvWZvejvEAfkgHHLcUiSrjSfuNLmo", "pHLMaxMzAUwgCrqPwZvPVGilbJQfIsofXwwmeUjPouHvSDQidOgkWGCYrrFxdKpYkhIlWbyeEEJCquLvoYnExLGKuXtVlQqdeFlgYiVvpcEfPWaFoiGZaltQIYsRHNYUDEHwYlBRLjDMtrrUwmcuwIlIsZzezehgZfvqiNbRFTGOESklaEhQfPbmetNBLOcFEHBUhGBNehUxQMmYEUJOIgfhxpARCVHVdzIrDQZAexEcJxIZmAvRfwemHpxaooiMuHVlBSziUgHuxQoqyGlOSHxLZBflHSEdIRNjjptauvJeRcXvyDLfhnwuaVuesnxasqbReBJarhMIaSTYrtqoaeURVbzLoKHEnTepqvHifgkcXVCGhUsocHeDdnScIjbPwWECwszejeHIVQpHnOtiBGxmgWGyuZadnrlfcCUsnJSwiwKORJryIKRHBzfoTAdbkadrywBnjsjWGXZjaqZxUjNqWfKQqTcozrLomvNajprIUvDDXSIhOxJBWMovXSMC", "DqptIHIDNFlWtoXwhkdaPJUghEdgrIijVGKbQQDpHKleUwIpsYBgRXUxyrRUcEDznqtAMGbExQYAAhiQJlvXnJhPoxephWQqOxyVcsnfZgIPDqqZUjzrwZzeOnzoAWQDBIZJHIBHxpmmemITXyqYROtarNusllkEDThJfDSuQuDmZgKdZWULxyYOPHUKfEWDnYJerFjcuPdsEYPIvZLQNTfsBBoXotEFWiwrhCLzYPhihcafPDMoVNCjXpKnNozcpsSCbXrQLJDlGRDNdFieXpqYbmmkJscnyZsybFquItyxdPZwmbvkAKwTsJVmkskUwwGcnOJlAtrIaTewjklvYQAQPftsUDfPElbyAEFsSBzxdXBaFWQMMjfVZVcKjZCMIbhLgUAgsJKfDtxLNsJnKMqRuMHOlmCoeBNfnRUkxTXNtLykGjNcWkAdmsFhWKUoZhscUAGcNCVXFcwmKtvTHxlPiawmYjvlmAaNfmaIpKPlizfQwVSyPwYCSShqAheL", "feasmaOeRuuTQAgwmyaXfztZYUauGqSZOTBrtdsIdhOLiuNGnZAvYsVGwJdbhsVrqUZiGAkDaunJZIUaJXuxraqQitopngfZfcDmauSpIrIDXkGyQfvvmvYFBcJvrbGPhMRBFKMalROQTpHgowcbxmGcbGbEasgoonZomfRLyoIHSABVimVGRcQlUdbdQNUujVAjCyPiPTxfeCnUwOJHGbiubfqLTCrPoHClDleoDgmlvapnOnShKEtAVPSrEOymMhpCrmezaKsrFFiXKTFqUFQUsLdtJdlSVsYtkPMbkqaiDTislfrpsefgnWuObgWlUVQUCDpiWDenAyDinvfTyTnnNRALWsiGySnBDiMGGGxnASLnYjffuhKGjeCJMCHjZBAfDFWouiOADEdLQOVjlBRCFCtwECpfEGNdIDdqmqyslxCTgBjImCchJDLiPeyGJIntbAkYWhCNEcHUhQXZUhHSCBMPoXsYdmiDmndCOOfbvhdKxNdZTbpkqrMuLFux", "hlhZGJtxYDtnKfrKnyqCiXtElsWPAhtoFBwPDaGrajwxIBSKBJrqDdwmOxvjtIRRkmdwFliCFXbVRDYeqXbbNQFyMmeWbezxuqgBlfVKGBdalHxXZldUVbysLtgMSXuhHkpqsKCgAxefrpqOWNiydLOtMEOGIdzismrsnbPdRtjBbhaXtfFIqzrdcKCLwLLipPzCBHtzzuWHFfKXWzbAeKERfdhxcsItzQXYkeDnyImfNzdjkLLZSpmSHJprWwVsBOFEpOiQwnNOElOBvPpFYOeTPVwbdFvPNCgIjJRcNOGVtYJFjOJNaYZrWsZCltfrqAsyJzNTXaoLLKZSpAfXJSscYvcQcoecGIUlEkfaFCZVojrhwDcdrShfIQnllFSeeKSYKZCXpcleWPXfAZxcFxLXFYbZqWTjKICnqAUcUENQKjdkdAdUdyKrExYETGzblPXzXnGNiRRWKSUzqKkJfaWzCFvafNiYXjXWhDzOTNTEmoSJeIEveUCnFNBnHMFk", "IqClTAtTjwWzZPmMZUZbkplMxrLcegxNQLwUXSMJRMWypMhdkDWVxRlOieNNSoHPymPwAccbQjoFwrPeyEpKYOjleKPpojrDIhJiWFlmeHPArqVltKwvmNotiaKcrCPKehlyWqHdflKNUqcDJSeJdTjcQvdTJmmrEQErUtLLIUeKyOIqnXRUSuqDsSQRNQWNCHoUcORGKoWBQZGMFTYXvDdrdriNMGwvSFZEzIZQjqyQdWaSrOXAPGSDdVOgUHRewQfaBlrRLToawqpyUrIEFkKhdwWdfpWiatcElnrZBubtelLlCMDVcnbepklUeKCMwmldiTsIDoKSclOPVgXfXNyEyRDIzFvxlYUrziYHmjynzkvGSXhpliwUSrdHNoRNgoIumWaQGraZIgTbDOFKrEEASjykIbIdUOadZYSVdYTxfZfBzYoGFbOOaZPyblXdiSEpiHYMivUyYBUlfEUkFObzqckMNIHNIsfAJOtrKpoHYpAiprhSXPGOPXckQvXA", "hwtbbksSOqkOmsUfPsyenImjjBFaFlmIvCztKQeXsUttDQlyHmiwyuMUJjrnByZHCUfuJiFNiXyrrhcsnXEzMFGpsPLLayRDEwFlaWTDgxAVubsDMRXgjaBtNzEGeOBIJxCWpLQhBFpKQLiVqGbGZVnMtpCsNuoaWjnKOGrhWTmDySKpawYDSVTqIJFmzNcXmjKhioevvbrTGKVGLGBPxuZVxKnUTYXNKdwQmsQbHTJgAhKjHHZKDUeolZGkJtvKxmRFfVUGeEoTiHFaeNjpiJmEpoJeFdEqARdtIVwFIQARQGgMUPddddLQAmtDEgDxiaCnitVqzcQjSorQWcDzQZuqFIiwEipYLAQiAtcoYTSQjNeWLfAIDIKkysOgOkjXsphbnlnbhJEtzzREWeVqYRssACRgLhovDyshfSxEjmZWVoVyiYvUXWYNtvZrUERgubvdyGpkDtwWWvURCUNFaQelCxvunIMKZIGzxFnQuSyvLJvBaONkgNJcKgrmWNVK", "peiciNePXgfnfGKQJFYPEGqqcQttKBNiTbPzJQnFgfkNPrBIZpiSeqqYBLtWSMtCLooaMvcImsPPXxuGSHlgPqtuRuevgGCOqUAxaHVFncDriUPhWhHCEDGQGavOigaciPpTjmawfHUMZmVWdDjkVtqZJEaEjSDJlsOszuCyPqjBjEdMBRlVmaIjbSDrTFxFidOmgdBBtDetgNdOrAQHgHcuVcbhXtNPrLjulymromhbxjUtibKPYRbYtArUsIwVKuYAPlTtzvdgiuBHDOLWuUsMoJieITGrEuWVSXDmBVteCwchRpAAZwjYcrbBzkdSUpAdUDEMASSKqDeVncAHCyFyFnfwVLTAHzSayMxTBDJiRopOmrpOTRkWRuwMDkRnjMAhXSBaBzKkKrmGlrLeJqydSCvwclxyPwZGihZbKEkMnCWBTecvAfXPFNRLjGFIKgUYlHnmOYScVmTysNoUuzWbRPJHtpjfwyXZsjqSqhpGnTIwPRQktBlEvcqThNec", "GAVwtMuLbqYSffNJgRjbsYhtervkwBAnmNkCRPQrZwweSOqroKLWsRzyvRIaWvKfvbirSOLviRbjfkxuSqMpEXclKPpkJXWCtCdfnFMQyysmrcoEQjZoetXmyRJCSuKUxmGyazLplBPyTgjESaVComSFoffNGNJMaQJOPVbJUFLAgmaAYXQcqpjWzkfZcFGUFdngpTdcjgzMBRevkMvIkXhIYdBPlmInwOjdtTjphwrxGiggVNDdphqGAdikFhGVBrZZcJcoofsrWthhJAouMdIhkncfHyPCWERLZnpsFifAmtYIohDDgCQHokJljHLVFMSvMxHUBzxdYBlfobFEwYoBVbZZBqVBkYMxiGoWvapTVaSLABTinDhjRwIdvjCgwNBGObQDWnlXKenjpGeuaNMmIUeZuguJOnBEmWxmMpGGCAeoflnoFTFQqJTYbKPTKyIFdPQvMidTfrjwrNancOrAqNcVkPUFoiLdDOwlOZFpPVMVGCkxGniHQcfbCrTX", "QQMzMjkbkbNgnylohMOuOzkexXVbtYnoSkSHXhHYENULUwmuMcApnieIPzNdSBfsIttJrxFHeazMpnnQXuyGBLMSMvOoNnvTJKYezYaaqadBaBlhFsbXcVUOwvBeZkYjqvdeiJeMWyqQxOWRRwZhFIdynKXxupxEqaSxjCmfeTRmGiecqvdiXluqGKNMplNftcfzUaWSMjoSelHQEIWLYVMRVUtdemNeJVJyYCLcbNnClBYQMNVMiyPPJMcQbpfJSrNITAzeZyKJSBjaHglCOCABhwyQnxpWfnmxiriTwqlNvEVJPvewYyStPKqiLKsROmuUCkQSRjjWmsHjvbKjuBPEaVyEigGsqfKABMxzhekytAtuVEagSZMiXKJOJWNbCYCQrdLXKGJPmEWotqYaZHzpNDUrzExOaMjcSPqXyuZXLCdXmdEAJQSMnRpjRXMjMQphFVqxVVpmSvPrTwITnetiObbYWTCEktTAizJFHSAstpnUpFobTtCbWJEdZCnO", "dplQVbXkXPaKfMoiCbyCZIRGXQyiOQkhNmkIYsLFpZnQPlwAgsfEfAvyiueNuyedyzmVWbeVosdTadWAgVVfZEAytGigkBOzimvrBhotscGknTtcLJjXtDfNlBJIvyNIogMPVxHJLCIYdzBBOLueqBCPhmdFvgOHXXCfpMlZdVmpDIcgpWdiAefztktJAmJrlqtrjbvrsGKmqriRWbYcwJLqmXwRJSjOcUXETVomnzvPTlvnVxLkhfuSqBqMwdeWGKxsofGTSXIcVwCdWsZPFCFvGVcbZBCBKdySSUnDTjvMcovwXiwqjMPqLFlvoQhSyzbUDFlvwbGRZQqKGAWlCsZcOESSRjoZCQNGjQoWqbMCblLYLglwGeiUhjcRfCUtQlwZWauvVjlNQipGLCjbqIjrLVdutgHojrGbPVKThaxfMpoANTHXBrxycJWkYjvumJFvwIjiqgvrMMVWJWGgzZfpHnAmupTiuKyXxUysccsOuKGiaTRhwwNLTmWTRksE", "BiLKvlcBdwuRFrkinETdoQvqOVhqXGyaADYPUSAZHPrzFwOIaZLGjXvxfCXNrYQQCjyBAZWPCTublSYqtMXIVjhzjiqICKsYewKWxYxSFAodQGBYwmUJeEftbfXRcpyyjMmyDrynRvukfYtDlpzaSwQGwIABeCEfHsaAsibablOJBrsxXrxyPDuvwrbVvQcoVvYayeSlzXEhBhiUXrNfyRLIdRTwWrEXSVuDPyoNfJpZpldoyXkZgSfgKpPHHEwwbNTEfSJroGGTzBiPWRdNUsZDRnBLclprNnyEzhOQdsjxIAGoipgMwjUOQvKQfvVFYfZxTIhsgQmLrjsBamHHNXoecXGUtLhybrIkIdUTHUhqTmtvCKsppDlDioBhZwmhpcYGrNGcroWZzWXrxvjdluxbBbZYPSRIPENELIzxSKBHvHaWBXOuHwUxrdFfZvbGcSKFMfZuGLienIBcNOursHFQFQxRtxuOfxSRmMyIJAcxmaFFzjoCesFMRYSAKjqV"],"c_map_largeint":{"c_map_largeint_1":8725813162615190737, "c_map_largeint_2":-2039038686886259018, "c_map_largeint_3":4525833100480476550, "c_map_largeint_4":-1510653334875846020, "c_map_largeint_5":-3037440864414245065, "c_map_largeint_6":1937083177196334875, "c_map_largeint_7":-8804633068698060607, "c_map_largeint_8":8299682159669835120, "c_map_largeint_9":-1885161252830163281, "c_map_largeint_10":6106448709287275556},"c_map_float":{"c_map_float_1":35.289337, "c_map_float_2":76.83444, "c_map_float_3":46.839935, "c_map_float_4":18.633268, "c_map_float_5":68.275505, "c_map_float_6":20.106348, "c_map_float_7":61.583927, "c_map_float_8":5.0993743, "c_map_float_9":77.80046, "c_map_float_10":81.460945},"c_map_string":{"c_map_string_1":"FxHHbBGspepZyrAvSewVIMHkIESHxNzbfyruovaKFVRBMAPUnuZrmDCSbBAXKYYGSdrRwsEutskDolZidFMpvRdzSosIjWxBKsyjodnIQSFJfyFsLmhpPNvVJLMxHviREuMmgFnodShzYkKSQTIlPAlFNvSKwCWdiNzBZLfQkUkpuiwWyKJFRmwhaIEJFitUfmYrpKeLtfmIfsutPRPxEmZqDDaXemwVVQDwqXWbGPJXKfJVMyJBuzSlDNJXWngQRKpbuQormYOFUxQWGRCntXvDgqsJffjEzSmCKfHvsLswXCYsNscHYmjRlGHFUigHNqPfjsNoGnNOOogWnqeVvLqyiAKpnfcdcYDuBcpRjEHXksvQlawxylptyCiMvUZneomXMgYiLeDumDyjlFxNxccQPzCXYsftesTslaDqqXEzSEkcVKTsDNkZCmPjrXpqMFhxxNdfFuIiBxCfBNqxnGPNAhAJXJiNQyHrwjADhzjdSjfURkoCwgfXhVRbTLqH", "c_map_string_2":"rzIOGkjpRlEYSuLFZmArQLjKYfZCNrDoALvJgkhfAPkfLYeAWgIFXQYSiPzDHKyGdzctRLCCpnAXQSooNxJbyQufIPpiLVwXpwDPvxwwnksiJgeGaBGBYjlcfbRegnTnWakbWHSzyPSKcKsqiOKIZWtqbCQtvrTEfBGtNNjvpjFdfMUfeWPuxXzhUVlmXyDwhZYUOSMJfpyWGSuBwagaBSBYyBulRDvfqrYTkDfuNoGPkOOSCVGjgbKHQArjsvsdmWBfJWvUvEhItsOWdUasYtXadJYHvxFtiYesTWGPWoUpSIadrWxYUKTPGDlCYQirHTZaqydwCpHAscrRXkQNfTVVMsNFChMshxUGgpgDenVFVZrQzJNzfTrCRLjlGsFtiiwVXLMgIlXUCWYqNpClmLxHxJpgqSxHYOpTjnMWtbOKrRdnFxyxuACrkQzmujUMYcMlxApZzsvAhjICLAFTRRpuUsWPPYJeFJeexzapEqfvSVyYpnFDCqWkzEqQpBqX", "c_map_string_3":"iqJiCofaqaLvbGkPKOJwCcpVNHJgEtpgUnfFIzVbUjGykgkSUNAQoyAYfZqniIHpxQzBcvQXViyVlqUMfpRrahpluCabhTJfyoRTCSATNdINZKnrDbgPeIzKQWXrmjpDHMtAXJUctPziwyuHePzIohExYqbwXLNnFqIeCBMLSlBSCMeHALTxjJNmdHPefDChOiqhULrhjrOwNqelbiaVmsmLCPnjvRqleOYODMoItOENDIeMxVEmWDoUrDYFPficomBjZocBzlAKcoWLhwYzeChfOEkbKNnADrHKUiNisjKhejNnRSEXwHcrAjjbFLMaofTqTCZYJJQZlMqYNSZiEYCuUsIfhibQyMXHpvjmEoZkWjhxlFeKyZIwLGVFrOCsqMaARxklZQpgmxzPKljIshsfiIKPiWXnSgeoDuzCUYxJLiqCpnSQjxqTyOAPJKeEpZqJWvDPRFYMpzINOPvbvEKduQqmEVwDQcLqkCWEjWECpwgEStforhhDatzcELVZ", "c_map_string_4":"BEabWrUxtKmoRcvBMSaSTtSHNWbYDkXXCdcDOGvMQaJLRFFLiAfmtGhXcquGBzWFXPsTkdneDnihxUfGcgwMqXYVvgRJbWUPwVgtcbdbtJXaJOiBQCzPozibIbmlkeSooSvDjmxfLZZYzieqxtGzxJTMiqIxQfajoqFbPZheloOLmjPsVYXsZpdXTnFPzvpWBaxHnSlOJtfpofUZxJAbjxKDPFBARxqdEWqhyHkAdahSSXlAEdfVyPKJiYDsCHvxkmPlJyDuhRSXJfhcQRatxXvVpGXWtRRJyYfhthXwDSTyDgNKYNLTnxHfYQVDCxxMzqSwXMUpptTYexnAjEMeSGpmpEruVsejvDqYtGYLWKPSZaOBtzexKXCSseAQWqbgLodIWCkXDbIBzhyYnvUlbnhmrvWbXqnyONHSKDMnBPhAIzvxDLAzPthUPzbigphnmznbJvFhQuLjnFIAFWpRESktDHcvCgssipETMBXNrMQLAIIWwVesoRlvMGgZuCZj", "c_map_string_5":"bOLjMMGHAPSoLQTwPRXXbZdHZuvwCQbxeKtSQDgXAObTlhbKJUVFXRbMnNCxcENNtiDnnZzBIxfzHFPandAPYepkZmRopvbWDKWdxsSPZcEmJJCqPBTOZTtAEBzAQZMOBpIipGjaXfqXUvdrjJVQoKLndWjuwebbEPgvWwCMxEzBsrDcdUeqoVmfsaxFYKrcCjppuzxYrCmatsQADWDGDpnjnJaFFLkFCMtDLgPnkwVKssVjTtXrgpvgiLrZyIikbeEsPPpVoSdYDTWQoANDpwAhfTNscotFIgpGDEtQvKaPydGxconjoWYZfpVfdxrebxpRwOgjSTdRchZrKCeOAqwVWxzkExjNTxFDXoeiDjjAxTmIBgcbFdiLLVCVwzTTEGvcOomiyvBgoUSVxspmHzOJhGePLbVScUuTJSJZcoASBiWgdhZzreuqWQMTibczlhPoLSwCWwIVpkNMZiJyNDgkvAOKIlNoMJDNUKnUzpCwAcKgAaUuzbLQIXeJbZOB", "c_map_string_6":"ZXLPGDYEZgSDnsWRniNVYpLzbCdUBkklGVbwgbuYxKgqWnBSTKxibeJxaHBWndFXsdmKVAGfsJglBFUoDhpSVdxDDJDDKYvKZfOsiUbfiATCIOoPiZffaveagNdWYkierQZbvYolrwWPZmDawGTvYXgjvnRFUNjdtVQYjEUHnxyJbOIZZYHLfYkDZbinZdAqauLLpkKPxJLqIgSxglaLhBCNZquFdrDyNzqEbcGIpSOPkWUNOGHEfZxCSWHFAfCFtlcGFKBpAFNKQtHertvgDcdkxAwFvuOaugiPinsjByWmzWKdrmkxfnzObmhMtGjSuJAWyjBQheDzpkuviQodXyhHKOTABVgVPuuzyEizTHxgfSvvKQgYpRzMdCmEtkqMzCsnQWNQoHFcYoamEhWdaPYJeZNnPfXmBpPUYxpRtbdyeCcEgxUsMCZXmtEsxATjpDjVDXHnLAmRWhEYqtbwmTiRckDpDoTqqroBHhIRZpdBTUmZBlAIQFbHogVpGmvV", "c_map_string_7":"TdPiSqfXsXHqLosdEkEccJaEotjNddFCPVPMbOtAnDuECcCfzaVhmargNgCOgxUSceoAyMZeHegjzbtPleGaNbNPWYbtljubbkzSxLdKMcsHLQltYhmPIUCVCNbTWHcYKioCkFKFVKjrIhxdQclzQTimtPAHTgmVQJyUSxJMdYQPzQszehkAQziiYyTcPNtFfPILVWXItyfNqyznbtrEyYvwBYTURqHTVxyatyxixUwEcelXpzZXggMAPsLqdGEfWpgoZLiJerZWKrvRntbgqfCXEGwpHyYexSxXEbHJPLfxmrUYbLaYbEyTeYvljIUunHOBkEoxGDtOPwMLNsblduTLplXjsEPlvIXxKPlGDeDTmyECBanACNgzsqrGFoNyruWQtraZBeJvkCfXmbIiPUgwtSbaLpsTMJTIiPhGxMypRxvsNrPaTMmowHltIXUPwVLJGTHLWkAQhZgBlhThPFICufUGcgGneTgUCkwfJRUfxRzMAnOPxVaItUlKfXtI", "c_map_string_8":"GXammqwnKSxRJiKjyfTgmxczxooBYSCBSqGiUTjjUoYdEnHvHTcVKFTltPPDPxhQXzBRHWhHYjuQSXNFZXwzNZInGekfcQUJDowSuYfQTSPuxGxRbXogQnifAcoNNGICZUVpfnuXeaUcstEQWFaGHwcmlDIPPDsCOCtEBXpPAHgZgwlUYPoFTJJPvdCBSXrTOQLztgOJPVHDJPJyQUOBvhPecCOAAhLFEtqIwJyidluODiyDyVvGDRCQGnHDRMwgelTXpwdnNkRvrtUOZDVdhtyuCExyPnOvTyLrcbfYtqlXklAiJTKHnBcgOlFGHLFGAmoCANScHBlLJtvBFPXsLTLJspsLxZVLGFnrrsRwfOdwCTUSYVSPUmNyvWQjcVoeEWBYDNYvvpwWReUPPjVtCaWObavQnfdUtcCynOiSabteKfNfXVROykGZbUQGIMMqDotdUajBDgSWYTbVgqETrCVbigfoAYYiRlZwntpETHgEiyhKlPUJKMGDwXOPoYKT", "c_map_string_9":"FqULnsHstNoWdSnykbwkuWJkAgBusAAkHpSLdoUllbLIYpHUGZyiDDwxoHTVxyEpZljCAppsZifijhTHTlpzCFJtJXzVBDLoxhYQaUWyskGJbadHnKkfvyLqOaaCeEmkFLBveZDIFFYhvvWUlLMcMIZRBBLbLAnSlfypbnSwYnEywQOFanjZEqVQpXmDMkiTxrBOvQhsMZsXbXQSLCHQmxxlECDSFrhnDbyyrVyFRAslywLMLXXLHmZyjnzAeFysaohBgHQqLyMyexGpIbbHQrEeitgfmOmCJPQaoeiqIUuOuaaJFcofIoKmJqdjkKircyFXshCtZmCfnOhbMcYXrlUMEgUwhSVfqZRQsemxiSCNFuFxGoVSvpqjwViuDfgMCDSlJzopIFXtxegcndNXqWwINsTmNRMXNkTlrmhrhDEBGZqKbuLGoDlbuTZOtJnanbukDWILmIkWatPbzrwLTLjsnwItPYERsbzdUzcEDrMbXdlKYFunkCUoeEMPiQbI", "c_map_string_10":"bjhjmoTjalWDVfkDXnfSkqHxmGCgnGVraceSGSBwvcVfWLGrdTzTkpVMXAmqPUpZnHKfovEbOpgwbVEyebWUaOfkKNeurgzDSKeewNFPGpnTSWAYSuAGZjIvUZxKCrNhPqGmzoscuyYLyUSvxmhVYendrKlfEBdCCIFBFLRYWveTwzfQUMQUYAIjFHWYanHFfthxeWiZWBcrHbVEvHdxkHhfYKnNPFWYyyrFetKJMuiXxrDJVcisewfbQqWpiMTcoTvekWBtMdvpQSaTYCqrjcpbKomHnTeunmFfVSmEdlEXDdTEsvckyeEWZFIeCEROTKAXWoxgfnQLSOpvUUwScGUhlupCemXlAHrobMGefPlmxpLZbHDhTdKmbLGzVvvzsBeoXdCWnNpLuIYxHldMhLeCdGGnkCvTUrCCTswCjXeLMVKMptNjEhdrAUIMklQdLPUvStcnikSmGyzWhrhpBPNkafxhHKiqAhJXSDFXVCgziOSwNaDCjViKoIYbYQWf"},"c_json":{"isin":"SEEE5MB4PW58"} }'),(6,true,false,4,4,127,127,-15135,27282,0,-32768,1114056802,-1580499436,1500891345,847075911,null,300.343,29530,147483648,0,0,100.02,40.123,300.343,1.5218607791855896,2.0551,47.1788,300.343,100.02,40.123,77.1833,6.1946,100.02,90.1466,89.0711,74.0062,50.1799,300.343,100.02,68.1963,5.1398,29.0143,300.343,39.0119,100.02,89.1939,null,48.0132,11.0653,40.123,null,60.1536,40.123,{true:false, null:true},{null:null, true:null, false:null},{1:1, 0:null, null:6, -9:0, 4:-31, 26:32, 127:21},{65:null, 0:127, 1:1, 5:null, null:26, -126:null, -44:117, 60:127},{22595:0, -17018:null, 18689:0, -32768:0, 32767:-19064, -1753:-5637, -24172:4997, -17517:32767, null:0, -8687:0},{-25359:12123, 21225:32057, -32768:-31041, 245:6808, 6263:0, 7789:245, -634:-329, null:7773, 407:0},{-265312035:2147483647, 1441716659:0, 1012083607:-703168242, -2147483648:147483648, 147483648:1389373902, -1919070676:-1915572633, 2147483647:-836144644, 1112048633:548657087},{147483648:551692219, 32679:-228412012, 2147483647:-582790325, 1657893752:32679, 191755545:null, null:1663830483, 685586475:-2147483648, 2010529226:1945762418, 1332888612:1486943063},{147483648:null, 2:300.343, 5776:null, 1:1, -852:-2012223, 6:147483648, 245:null, 5448546234920224011:1, 32679:20240803},{300.343:300.343, 1:-7562584245215226503, 147483648:4688851, -751697:-11039, -4603523307454202867:300.343, 245:300.343},{9223372036854775807:-3746619278168122824, 342130507:-1868749, 1:9223372036854775807, 1163128635:32679, 32679:9223372036854775807, 245:1, 921443165:-9223372036854775808, -4953129:4194300389233619744, -9223372036854775808:9223372036854775807},{9078141315349613038:0, null:32679, -7242141:147483648, -9223372036854775808:32679, 0:9223372036854775807, 245:9223372036854775807, 32679:-2026042198, -1945736490854675175:32679},{40.66086:80.51535, 100.02:null, 42.002163:100.02, null:28.99684, 65.41238:12.851246, 37.90049:21.55419, 40.123:6.2632384},{40.123:null, 91.09745:13.005106, 86.74801:300.343, 300.343:4.10441, 3.0321865:82.256775, 88.13233:100.02, 76.04456:100.02},{71.63858849339049:77.6766148288267, 40.123:300.343, 84.52500427527588:40.123, 100.02:100.02, 28.658558329221126:100.02, 32.33941193099598:38.26896923184927, 33.57469583356692:91.33327124596664},{11.114862549204458:100.02, 300.343:300.343, 53.00712229281339:89.73690766797347, 9.959258054273075:58.69195016535793, 25.763453885101274:83.03065602447943, 89.97400414218073:100.02, 75.67044752931989:5.6491238794560665, null:70.69307110031814, 23.288513453639286:300.343, 40.123:50.542848401363635},{null:null, 40.123:"20240803", 100.02:"2024-07-01", 10.1201:"2024-08-03 13:08:30", 300.343:"2024-08-03 13:08:30"},{100.02:"300.343", 300.343:"9999-12-31 23:59:59", null:"0", 61.0461:"0", 19.0101:'n', 73.0065:"0"},{52.1194:'o', 300.343:"2024-07-01", null:'with', 93.1800:'had', 100.02:'say', 37.1521:'don''t', 29.0543:'t', 30.1972:"9999-12-31 23:59:59", 100.0693:'c'},{null:"9999-12-31 23:59:59", 53.0477:"9999-12-31 23:59:59", 28.1323:'so', 8.0992:'o', 12.0149:"300.343", 300.343:'got', 41.0694:null, 92.0624:null, 86.0569:"0"},{100.02:"9999-12-31 23:59:59", 53.1754:"2024-07-01", 71.1141:"300.343", 3.0694:"9999-12-31 23:59:59", 100.0801:'h', 44.0281:'m', 40.123:"2024-07-01"},{null:"2024-07-01", 22.1218:"300.343", 45.0939:"1", 300.343:'yes', 26.1917:null, 100.02:'look', 66.1138:"2024-08-03 13:08:30"},{100.02:'i', 300.343:'were', 62.0813:"1", 84.1834:"2024-08-03 13:08:30", 47.0137:null, 46.1817:'of'},{300.343:'o', 40.123:'when', 92.1130:"300.343", null:'want', 52.0199:"2024-08-03 13:08:30", 33.0915:"2024-07-01", 9.0198:"2024-07-01"},{3.0211:"300.343", null:"9999-12-31 23:59:59", 34.1255:'m', 300.343:'the', 71.1357:"9999-12-31 23:59:59", 42.0704:"300.343", 100.02:"9999-12-31 23:59:59", 21.0440:"300.343"},{100.02:'x', null:"0", 300.343:"300.343", 40.123:'i', 60.0100:null, 43.1197:'who'},{18.0372:"9999-12-31 23:59:59", null:"1", 6.1216:"2024-07-01", 29.0013:"300.343", 300.343:"2024-08-03 13:08:30", 81.0389:"2024-08-03 13:08:30", 40.123:"20240803", 100.02:"2024-08-03 13:08:30"},{null:"20240803", 52.0016:"20240803", 99.1090:"1", 52.0071:"2024-08-03 13:08:30", 37.0468:'can''t', 98.0390:'right', 300.343:'c', 60.0311:'about'},{84.1963:"300.343", 100.02:'w', 40.123:'get', 23.1942:'d', 45.0251:"9999-12-31 23:59:59", null:null, 300.343:'were'},{null:'of', 300.343:'been', 79.1093:'your', 40.123:'back', 33.1608:"20240803", 7.0537:"300.343", 15.0048:'all'},{"1":true, "9999-12-31 23:59:59":true, 'this':false, "300.343":null, "0":null, null:null},{"9999-12-31 23:59:59":true, "300.343":null, 'ok':false, "2024-08-03 13:08:30":null, "1":false, null:false, 'think':false, 'all':null},{'e':9, 'c':9, 'all':2, "0":null, "300.343":-128, "9999-12-31 23:59:59":null, 'it':null, 'if':0, "1":-128},{'d':127, 'a':-42, "0":null, null:-70, 'out':null, "300.343":127, "2024-08-03 13:08:30":-128},{null:-10699, "20240803":-32768, "300.343":-1121, "2024-08-03 13:08:30":29909, 'me':-11643, 'tell':-2928, "0":-32768, 'w':0},{"2024-08-03 13:08:30":-23190, 'now':21908, "2024-07-01":27470, 'why':-31121, "300.343":-32768, "9999-12-31 23:59:59":32767, 'l':-15274, "1":2724},{'if':-1657451188, 'would':147483648, "300.343":-2147483648, "2024-07-01":934521040, "0":-375406445, 'u':147483648, "2024-08-03 13:08:30":1504039360, "9999-12-31 23:59:59":2147483647, 'q':-2119083573},{"300.343":-2073781381, "2024-08-03 13:08:30":2147483647, null:-427980273, "0":315514581, "1":null, 'l':-2147483648, 'had':null, 'b':167186576},{'l':300.343, "9999-12-31 23:59:59":null, 'didn''t':32679, "0":245, 'at':-5836242, "1":449313, 'him':245, "20240803":1, 'got':245},{'my':20240803, "0":1, 'can':32679, 'd':null, "1":300.343, 'y':1230960, "2024-07-01":7849394808771603498, "2024-08-03 13:08:30":null},{"2024-08-03 13:08:30":9223372036854775807, 'or':-9223372036854775808, 'c':147483648, "20240803":1, "0":245, 'p':32679},{'l':0, "1":32679, "20240803":-6773033, 'w':32679, "300.343":0, 'look':2191869, null:32679, 'e':147483648},{"9999-12-31 23:59:59":null, "1":40.123, 'they':null, "0":40.123, 300.343:40.123, null:100.02, "2024-07-01":60.573437, "2024-08-03 13:08:30":94.643036, 'go':44.057724, "20240803":100.02},{"2024-07-01":98.75154, "0":100.02, "9999-12-31 23:59:59":40.123, 'x':100.02, 'want':null, "20240803":300.343, 'g':null, "2024-08-03 13:08:30":96.0865},{"1":null, 'know':4.995589108460529, null:null, "20240803":68.02031048500858, 'l':40.123, "2024-07-01":82.29033541056756, 'oh':8.772360750527508, 'e':11.74578041275242, 'a':31.776347684029872, 'hey':null},{null:40.123, "20240803":300.343, "1":40.123, 'w':null, "9999-12-31 23:59:59":100.02, "0":100.02, "2024-08-03 13:08:30":300.343, "2024-07-01":300.343, 'e':83.45983607429613, 'yeah':null},{'all':40.123, "2024-08-03 13:08:30":300.343, 'him':44.1483, null:300.343, 'o':85.1717, 'm':300.343, 'was':40.0054, "2024-07-01":40.123, "20240803":null},{"1":61.1641, null:100.02, 300.343:300.343, "9999-12-31 23:59:59":100.02, 'could':70.0073, 'x':null, 'g':100.02, 'ok':300.343},{"2024-07-01":39.0564, "1":40.123, "300.343":18.0838, 'b':300.343, 'about':76.1137, "20240803":100.02, 'really':60.1822, 'to':20.0803, "0":36.0116},{"300.343":100.02, 'time':300.343, 'h':25.1780, 'will':null, 'the':10.1100, "0":300.343, 'are':null, 'that':67.0477, 'k':300.343, "20240803":null},{"9999-12-31":true, "2024-06-30 12:01:02":false, null:true, "2014-08-12":false},{'2019-05-10 15:26:51':false, '2012-12-04 14:21:10':null, "2024-08-03 13:08:30":false, "2024-06-30 12:01:02":null, "2014-08-12":false, '2003-10-08':null, "2024-07-01":true, "2023-01-15 08:32:59":false},{"2024-08-03 13:08:30":-71, "9999-12-31 23:59:59":null, "2014-08-12":null, "2024-07-01":0, "9999-12-31":1, '2019-01-04 08:50:45':null, '2009-05-27':-80, '2015-07-13':127},{"2024-06-30 12:01:02":127, "9999-12-31":86, null:0, "9999-12-31 23:59:59":8, "2024-08-03 13:08:30":null, "2014-08-12":0},{'2001-07-27':null, null:-12767, '2001-09-25':32767, '2008-11-01 12:52:31':3067, '2015-04-12':4574, "2024-08-03 13:08:30":null, '2012-02-04':11704, '2002-05-09 20:04:05':16017, '2004-11-19 17:48:33':1228, '2008-05-05':-32768},{"2024-08-03 13:08:30":30767, '2018-07-20 02:36:04':31354, "9999-12-31":-20179, null:0, "2024-07-01":32767, '2008-10-24':32767},{null:706478812, "2023-01-15 08:32:59":32679, "9999-12-31 23:59:59":-1187592912, "9999-12-31":-2147483648, "2014-08-12":1216917997, '2014-08-16':-960629171, '2007-10-25 02:03:07':1067448812, '2005-01-04 22:05:05':147483648, '2014-01-06':-185477225},{'2004-06-10':2147483647, "2014-08-12":432090232, "9999-12-31":0, "2024-06-30 12:01:02":null, '2010-03-19 17:08:37':-2133344239, "2024-07-01":-771113948, '2014-12-09':-2147483648, "2024-08-03 13:08:30":-1227776732, '2013-07-11 11:47:31':1410550117},{"9999-12-31":32679, '2007-08-07 09:52:40':-6987063, "9999-12-31 23:59:59":null, "2024-08-03 13:08:30":32679, '2003-02-19':1, '2002-08-18':32679, '2015-04-15':1, "2014-08-12":199670410660907794},{'2001-09-13':20240803, "2024-06-30 12:01:02":-4284340378950142570, '2017-11-09':32679, "2024-07-01":-12963, "9999-12-31 23:59:59":20240803, "2023-01-15 08:32:59":300.343, '2007-08-17 13:22:01':300.343, '2012-06-19':20240803, '2011-02-08 08:53:25':1},{'2007-06-01':147483648, '2003-02-14 00:58:50':-8988467374957559493, "2024-07-01":-686222490, "2014-08-12":147483648, '2000-09-14 22:47:08':4666693119142465673, '2009-06-21':245, '2018-12-25 11:48:59':null, '2014-05-11 11:09:44':-9223372036854775808},{"9999-12-31 23:59:59":null, "2014-08-12":245, "2024-08-03 13:08:30":-7641909775959003619, "2024-06-30 12:01:02":0, null:147483648, "2023-01-15 08:32:59":245},{"2024-07-01":28.559803, "9999-12-31":0.77052003, '2015-04-19':22.150436, '2003-05-21':300.343, '2002-09-24 20:17:53':300.343, '2002-02-08 10:52:13':74.10875, null:2.477237, "2024-06-30 12:01:02":24.079168, '2015-01-01 01:17:15':6.743661},{"9999-12-31 23:59:59":52.62421, "2023-01-15 08:32:59":300.343, '2000-11-24 05:44:54':null, '2000-09-22 15:28:49':100.02, '2014-09-18':1.0690844, "9999-12-31":300.343, '2010-11-06':22.593832},{"2024-06-30 12:01:02":56.27999710885303, "9999-12-31 23:59:59":null, '2015-08-09 06:55:05':25.817218710880535, "2024-07-01":40.123, '2011-11-10 12:13:30':null, '2008-05-23 01:12:07':100.02, "9999-12-31":null},{"2024-06-30 12:01:02":100.02, "2024-08-03 13:08:30":100.02, "2023-01-15 08:32:59":36.602177112772, '2005-10-23 08:04:10':100.02, '2004-05-08 09:51:21':40.123, "2014-08-12":48.49038143483342, '2008-02-11':300.343, '2010-09-10':100.02},{"9999-12-31 23:59:59":300.343, '2001-07-11 02:46:08':42.1675, "2024-07-01":300.343, "2024-06-30 12:01:02":58.1097, "2014-08-12":300.343, '2015-10-17':21.0981, "9999-12-31":300.343},{"2024-07-01":63.0503, "2023-01-15 08:32:59":92.1071, "2024-08-03 13:08:30":40.123, '2010-05-01 21:55:30':55.0606, "9999-12-31 23:59:59":44.1369, "2014-08-12":300.343, '2016-04-11 22:39:07':100.02, '2009-12-22':300.343, '2005-12-22 19:51:45':22.1282},{'2006-01-26':61.1472, "2024-07-01":54.0817, '2016-02-17':null, "9999-12-31 23:59:59":39.1146, '2011-09-09 04:33:31':null, "2014-08-12":4.1206, "2023-01-15 08:32:59":40.123, "9999-12-31":59.0291},{"2024-08-03 13:08:30":100.02, "2014-08-12":62.1140, null:null, '2013-07-06 17:44:01':86.0850, "9999-12-31":10.1779, "2023-01-15 08:32:59":null, "9999-12-31 23:59:59":41.0842, '2004-01-11':62.0019, '2014-07-11':6.1404},{'2011-12-11 03:11:22':40.123, "2023-01-15 08:32:59":23.1621, "2024-08-03 13:08:30":100.02, '2016-10-22 08:00:36':57.1380, "2014-08-12":40.123, '2001-09-17':300.343, "9999-12-31":71.0416, '2004-03-17':40.123, '2007-04-04 02:28:38':66.1295, null:65.1347},{'2001-10-13':300.343, "2024-07-01":46.0585, "2014-08-12":null, "2023-01-15 08:32:59":22.1538, "2024-08-03 13:08:30":null, "2024-06-30 12:01:02":40.123, '2010-01-28':54.1458, null:13.1474},{'2019-09-01':50.1108, '2017-03-03':300.343, '2019-01-16':100.02, "9999-12-31 23:59:59":100.02, "2023-01-15 08:32:59":21.0273, '2000-04-05':40.123, '2011-12-27':100.0610, "2024-08-03 13:08:30":40.123},{'2005-06-28':5.0111, '2016-08-17':100.02, '2019-05-27 23:11:46':null, "9999-12-31":40.123, '2010-05-25':100.02, '2005-01-14 10:25:35':300.343, '2011-06-17 01:20:26':40.123, null:40.123, "2024-08-03 13:08:30":40.123},struct( null,0,32767,-637964009,4,32679,null,36.298198648076166,null,27.0470,24.0406,58.1517,40.123,51.0833,28.0549 ),struct( true,null,31548,982044799,147483648,2970213398159615944,40.123,100.02,40.123,54.1303,72.0389,300.343,62.0597,40.123,1.0163 ),struct( false,0,-28252,32679,null,8317407,57.139595,300.343,64.0088,null,40.123,89.0911,57.1012,null,100.02 ),struct( true,91,-32768,147483648,5028128,-9223372036854775808,100.02,15.900547947286917,100.02,72.1519,300.343,77.1852,60.0065,76.0412,95.1511 ),struct( false,-86,6986,1977094999,32679,9223372036854775807,9.50279,300.343,50.1065,300.343,79.0804,9.0254,40.123,70.1802,63.0370 ),struct( null,64,-6550,-2147483648,300.343,-3558872,87.46681,68.09299260303041,100.02,16.0648,null,87.1342,40.123,100.02,40.123 ),'{ "c_array_boolean":[0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0],"c_array_int":[1702036032, 601530096, 246904417, -1558951097, -946331268, 217701458, 1062262305, -1009879628, 1470982756, 856241251, -1955455923, -2123530764, -217470, -658184743, -691839674, 938661205, -1522161854, 1837736754, -81249412, -753186107, 1665948410, 61848944, 1594591072, 1134774436, -1427135063],"c_array_ipv4":["JoPxSfeWLh", "XdarFOcLbQ", "wpscWkEArN", "xXJXoSApZp", "YiPfNIxYtS", "iABkWgJLpP", "ApnfmREWza", "vEVphlemMx", "FwLZKXfJKY", "ReejtIEMYL", "srouzsvEcE", "fMLSXEZtAH", "hYWXGPBinR", "JcpdyuejlB", "cghHNEEetj", "gSAKNEMiXw", "FEmaNcKoWK", "UGCgbZpzRL", "tDqWkjKups", "mfoKHqgyjg", "bSHekBYbSp", "BJaTFrgLEO", "oQWSOHeaPX", "GeUJogybeA", "pcwjhxItak"],"c_array_ipv6":["JgJPBLfnEV", "mRZnUNIqVL", "iZMkVxMdFA", "BFKZhzMwUB", "FuOhomVmzb", "iXSGWWyBbp", "hBYaGsHiqH", "HTkQHoqscZ", "RSnfFgWvfw", "YEgbIDdCzg", "aJxtSfpOlu", "OVzGcdzhLO", "lBoInvHYqQ", "RXHSIzwEUr", "BlrtHcgkij", "OkCaBkyKDc", "EauKxwlbeb", "aMwfeWQYHg", "sqIMRIEWDW", "XISLrWFzKl", "rdyzxurnsI", "rrWVwveRDq", "usUqszsQZA", "lQUXYJJkNp", "AZaoZzttOu"],"c_map_date":{"c_map_date_1":"2017-05-02", "c_map_date_2":"2019-09-17", "c_map_date_3":"2016-01-23", "c_map_date_4":"2011-01-07", "c_map_date_5":"2011-01-23", "c_map_date_6":"2018-02-08", "c_map_date_7":"2016-02-15", "c_map_date_8":"2001-08-02", "c_map_date_9":"2011-05-10", "c_map_date_10":"2013-04-17"},"c_varchar":"and","c_largeint":5168513885539582982,"c_date":"2015-04-16","c_array_smallint":[18315, -10876, 16528, 27096, -10231, 31634, -30892, -14787, -13782, 6541, -30394, 14859, -31031, -23028, 4066, -11437, -32506, -8379, -14651, 4982, -15385, 12031, 3097, -20505, 10595],"c_array_varchar":["tAKCTpbUGAZLiqRrdIyOdhWcFMqodptQMfjPiHUydlbLFoccWfqSOYkfZNBfACoDcyoVBUJbiVOLSkNVddxiMRqIliJCXpnawxqvIMKCovwBKsTQZFTyoDLldQyyFoiDgjOXiVDOBtGQsKEcmBjFnWxOlJKeoaJBSqZwHdtwgBLnntOVCbmfyIDoUcXanbHswUanwylkIvIBRWVgvbxABrIIsylRnXetlpjCIipcufneLngSqmETOXokdIMQjbSk", "BNHWUEcVUmNcbPZFvcTHgeMPJVikNlssDznSkbQnUOwsoAZJnNaHfSMTCZfHFoCxBTbxYlzlCKTJOiWimWRqRZSUBPOEdvUaNMMciDhvTrqLEDYPpfMRAZUTYYxwyheVnQwudKOfSjYTwleXZSIYOviUpglGqTmTlgrpAmDJlMlYKNvRbjrUQDMGMFupbKLqQCVNjIsvdyyHLszSuBlkadQrhjQjCsNJHfDslyLUNnimMKmWzvveNBoPtnWptafg", "NIHbKqncpCfEIGzeUWpLhgXkVhipPlbicjtIfTHGAQPNRXKLngjmsWHGABtAmXyJlyVEmYlnMLpCVvZmjpQMHOyBCIKeeJVVitPSTdnvDebbzBhPMECILbazpAqDkaqnuaIYMkxvytcseulnpPhEmqxWvYqczwVaYJvbMZToxqbpeoJjfrsxXoBMBjGyxlfjdLpAIZBUxdvGybJkqghcmolwrOQmnsqKElVYDcnlDsSHbxITEKLjQCGaSqWQHgnQ", "PIYhGjLvtHfQZzstDcltOHichMiocAbmUPkyFDFyvOWZLpWSGBvCeBjIgCEdsItuUfhIgFpYFLqhzmOPywzOgiVyAuBUPrJjvgGEwTYyWSmuQXuXivFhCKnpcJEoHJCChpXlrIkHIVYHEGKYgnbFFxudTjjQCNIZWxvmJmBUEDfjPkHMQgHCCDUQsOoqUGcxyAjxXCbkRVpwRtqIOrgYGKvKjbFZlajZpZmpdDBOOvGXGwrZYVZBdWPzJpeLuCfA", "GWZGsSUXgLQmuclRppFMhOFXSphrfxdyEnobnLcpgSJZTpvmfKnxIISyoaxEZVggXtBZcfGwGdBsQlTTdrsIJXaCLpuKWxOOGzBfIJauTqMiMraibGxsEIpTyzbePxsRGoefqlEzSdXJGjcGepeMTAUgAxvolxwrBXSAawkSSghJkDCUQXPopMBjkyzGvyKgjjdxwZTJzPZkznUdstlihvXpSZUovxdWUmXvodJcLcIbqcjgXiiXOHQQhTYbNHIz", "mcZjxDtirIzzxtaEKQlEOFynWciRsvrczbyNpRiedMBsQDWOTMlimyGbeuzquCKSjIqAUvrKIdPERrzwWMDIyEpaNWfhvdHnnyXgAveBqFZjlxxWDNgDUKzazCIEvxRWXbPeMKtbofKSjxspWCXDGNXouClhRDgrZxsZwJfmzfoXRyYQfysQDJWXilevsSLPZEGgreXbVAANTWaFaUKIUPgoPCcjJORFgxOlRNhBNzpKXADLdEoorwUjCDkjvkpO", "nvhRkLsVYdjRPHgWKyTOadsFBErPXArUrUnIkbYwXrIgJDfOKsaXuZgdRLNmIhlauNyfEIfUvLSsxvhtDFrqsAbVZtJMIdReVxkXUENnCPNeIqVVQLqkCmRbSZdPldqPjryVmZPMiUJbBeLgusPXwVmeXzyYqSfVhqQkkuTJVmbCKKSXlYCqyghcLiauFqXLJAJMfRdcohKpnUCUzoPSHZbJJBLMEWRHfrxSRluvQSpRiqBImpEKUxlCgGehaAAr", "wpshVTsSDMegMkSBSfsgXxvOtSCeSYOmTpWPCZtzAKByHVpbzZylGmOwoCSxRmAYuNWWaFKaCHOXZfWzGqiGUboSHlsKzjBWrtnRrkhmoCGwjUmigfylcLWdbgLhzZaDfGzJeHWBLVhdTRSAMPuTbJHbOlfZEXSyaPWeOnVvUixcCLGafBSMLMXrzUFlXnCDmNbbzhhreSaucpJorCBKkVBucFGcjEiezsRbSoXQoVbMSxEZlPoLpVglCUtgonLy", "NvuTxtZpBzxfqLJrAhmwKaigPMThGBnXkNdBqgmEXkKCNdSLxQSouplxLtcIBdiniMnzQDpJDjYQnpLMYcyJVbCuCNNPnCVkqOBHcyCHQWDjkGUuYnEZJVDAQLxaeVEkFeKsoiXbhoVLDDDWNurqJArrbJMEPdVcTYAGvGXKuwsjLXgBbagndoFjPAyqEduNJEnmcjDKVXcGHcnJyimZmEbbWkePEVzsgUCDCbOjNXpNshiijKIWbSVMMABqIdSY", "mMbPxsgYRgNppdixhfNsPEfmorIRmGhoDKFBKoyBJGtCffFWrZBCbOlicEgwbFwgDmKzUqHVSipGSBrmpuJyGkZkjYaddMGxyGnSWaLhZQYYuxPxBOucuXLzLEfhDtCfBHwXfdxfDjqYHrPUwHnjIXxkQMQEdICuuDubfYdDySGiDspFuhZYfJVdDzTHvOZaqWnrIezRosOyCushZvRALTTirOlPkMDoALmeHDfpvvIbsFKWHKLPUFedIkkgKbNI", "PzIEqDnwAOgMozwbbREjypWupUHledGApXvybaPyVlOjDlPlkWLDIBbpnDWLxYvPgWzkgQOToSHUxxaWdwLvHMguXmStTiAeWFLgbvmEdMqetDNrgAIuRWouJlMxAPxVHRRHTyLzItWUzssgrJHLaaliDrRRcxOEIFGMpifutliYHLMCELtlGcRHADRHNbzydSgIEgGLZqJTeZbxoXImqezjkecBEfKZgDPsYEIXWjeEwmjLnBtfTfUiSsfHybXS", "ldxdbDvnCKmqWJBpwUMNTjPqtXCvzaRbvmmiiUEGYnIFoSiyKCGUPgbFNyRMcqafUZwCwfYbzzWjVNqmQpNGYkMKmzWJKqNzPeygzOtSSTSTKIRTkxrkjuvfmbhHSfpDyVBecJWJtQXhJFOYcQKktrwIAFGuZwYnAqjgHYCQwCOhiuDVwDsqVRjMgbBzouIZVmtVTMErrZRBnozUXyuzCXyAyRnmPtEQxfqhLClEistUAzPqrjzvDYMeYACiocrX", "HBMXGpyPhLUjFYyLNOgQofpRePWbsquEaBaIDVTJqYXUlRaSgrRPUejYgnFpZZEkkTxmtUFPKwCSkoiiDBtCkJpbptpHlAHfdJzzHRaJlRYJPtRBVzCvLddilYpgCTphKXDdtwVLYcYFijvRDsHVYNrNJHVlNlLsmcrFUdNTeEmZndwrWuIlYOeOeYItwZgAGteIMuvAOenTgspZUzBcWXabNGdWlaZOiTAHeQuPYHcAllARbyijUnzlZkJAfmIq", "FKxVgdmmpclUPGxWRRvIIcAoumJvxKsAFUEVEEaaGGAbFqBXtnzQlqWqXDwLyCUGWhvFwwLjNuFeAsdGnwPbrzjNmQQgyQeocEzwpkSbmbtwCPxZVIHEbkRzEzgrQLgYzeKppSnzerOnELJFQZUApqlCMICGAbnFSoOWSZivahmGaDgcaLdPBZUiOQapFRXndYlLpRIElswXVccDhVXhHTXecbowIbiakHNkEFatajzMIPCvLxDRUISYSdmWmyPR", "cPbJETcuAdxiAncLnDAPfGFAnKjnJcGlIXsGueLjkNKmbPOnIelnnZfawwbLOYnVSvHZxbcdJffUpsgQIlSVIuqJNHAfxQWzOoyoMPSGaKACtQvHKAFBnseDKhAtgzgMnLhnECJnVflbTQqdYdcGTXCVYeYpYqFXxJvBFJbtVBNjwlJOUDoWULbmLgzBHSQowDPYiqRCVbDFixHyDnJKCAEKUomNYQbjNxaXJPRXkJKBfDKSSTdLrELinzCWsiAn", "LAiVIInmZGfjelDRCdeyBXhiTMgCWRkdmvDyQwnoiooNojWAzpVgKCgOjgQqxMBnuVpmLChfrRWbbISaRxvaWEMjkPpBMKbyTeUiEsLThfcgjLmlvvjzynpODJDpKdXKEkAsxxUNcLpmWLuTfHHexCrwsvRlmoffxTziJTcAmiwLbSQSAhbOiwYUQsGbesARWtUzvNnpTmxWMevsweCtAMFNDcxCPWQkSytlkwdlHFlrOgzdIYrbNBZWkpiqUujR", "KGJkobrvnRSQVKQvEfOJWakwGehKWFMeMvvEjUFzuQzTVkCeljvvHKbATuyzpPnqVUVhXrxwuvYvpaPCqUCHtqeReklNAStIIkkLVyHiXiRQTGLSavsPUfbeIMdEwVzfAiKYcuClAXJehLkXXCUeWmrdgxSrCkLWuBJVcOhXiTfJOsoAIQdejXtnJXAlfQMBdfwASlQZzywVDMUNXhgpJVQNHAoATrMuyKrFPdsFsbtpevKIltvwgdYbJhnCevcJ", "YKSMDpFVwQQqlsyBuLxrJzfiXJuFksubcyZWoKQqWyJcTAoWOwQIQaZyWtybRTsZkDiAHBnYjWnOPgZRuCJuwjCVANpKPcQeeALxsxMNrpukbBXBlFIhbbfpLIpQfnRKTCLPhoOwDdTzBJjkiqYWywvuChhNAyPJoFMetkBtSbtZaaanIeHCjFVqkNTFYgMQGMqTaoziOaawyItwxZcSsJuNTzhIIvXOjPkBAiHrRdZYoyHnmPFpfLtBByplRAIx", "pDluMxNeDkQDqIHjAsEfHaVjVrszBQUOpaLUssmcZPmVIVSSsbUZxJPbBvsIxsjEjZpgKXUYBkzIkrpBHQJNyReVBUAPyfwGkLVqOnSDWcUFeTTfDuWubxLMtOgudAEvgMrVAEcsnMwvGijsTmhXZTsCrIAruCFhUgWauuChGCtuxGpfINXxjCjlRfDLIeHCzjKsrIssouSpVChvkeLbhKGRVbdaIpVhFwyjmPRbKoNkSkUkbVWsogUqQwhwdMVv", "LephyLZGGjgIpZlVkbjJWBkYIIvbKMDpfELRxbMjgtmqzMrhVATELWHmLkOfLerJNxRsbwdKvABcJCqzWHYcmPywnjAeuNWMgcRCnRMgQTBGhaGqEktCimOTeCpPXVGEoYMgUQVOUCqOBUGsuczFctjOpvRXYEqXWsLGgbLfrjOtJhVCnNjNXnuJZHfMiwdCHUMxubexkBpafiSrZbYHWESPMuOLOWuoMLwnNVqgAbobSdwDOOmNTwrhRZVYwObL", "QaSMclbSRjPETIUODhoQUcXiuUBQSHjVpiVtjfeRcXNBNemcicgrlKSsTZVelWrNgdLkNuWyjmXQhuKMGlGoHHkSFuFzmhdrwshdBiDwLYXscbGVcWabUbtHQZMDTRwiTuZPSlBVDokBrVCjarWqSvDXSTglFEOKtrcsJUKXsURfSSICMVYEvNBsgzcfAIcUNrnpdgDZutwwdkHWYuplIHNKIkmMYXOjNmYsgogDnQDFkxtHmXHPpzEhVIiKmckz", "OjKeioBvGsfGbhZltNZalhMDXZCDZZHlUhLDLMMttJCbTyINNyrZrkkSgHgYzwAzTzNnkwTECoEBiDImNZSeylEQQcNixdUiJtITaONByXmHZatIhQuMdYdufyXGsJLxfeZmHmTkafiSCBUpCmMSQcBXcyzeijOkHPDxUhOwWlFQfEBsguRuJkBsCRksxbjmWwNlLSwVjIlrWSGjHHrsJpdnXERVdjnEnyxXNERwCefDbMQUqxSQdMBvqlUecPgj", "rcQqktGwYKIzCPSpVQGHkOybWKQGvmGjjxibdzOMVXzliRQDsFOdfndGeOAzOdsddRtyJMICpfjFeOnUbNiQAqElYwiPXXqcYcLYNTdlTbugpEddFhkCYqhKLcyvvyEJsbYbnlUOvWwolPdKcJprkztvSkCsWobXdeWjsSOkqTKUNkKYHBVFmEYECjKcRTfRLAMEnmWSkgrnrusJiohmuRahsKwFNdCvDQytPvRikEjquEDoOsigNQGZxmcrTKex", "wuQhARshvxXmgAEuodDHCRvDnvPLOkuwEMfwyywbCqzLAdZpAJwCQTaelqQxzvVmVPAnOfYygDUAdAgSBmRwsUjBszyOauYuNAflgPtWVuxRqXFVvqlWFoJvnuhEErmsNcYGkXPSREHJVjrDIQVSEctdZgohudbivxZsRVaPOssZVrrNfvifUkeJiPKjTrfJbCrKzGJieVgJihNYLdEdsdcbNIuvchVZhMpeoTgfUaKPWHLcKXoDjjfBShjONQbl", "shcQzfNXFLLlwxkGsxoMfSvwXPqDPhPRVOGTGxkuoYXJfPQbXwyKbnKJxuXRhsOgKqFxdDUWSasHqrCiazMCYlEOvkmeMQokEofwrkFWEsFLhTtRPCIydUtgDrJnTmlYvUYbhdwQwsTdwxBkvBDHroouBsLyBKjLiFybvsVwNPYXSGHZiUiONKJKCtHoHlCBhwETcjnUxSElVbbsVWSiulsBRDLntTemNcnoSeAvkcDgZImwtBDnLGfuhXJMWaRD"],"c_map_tinyint":{"c_map_tinyint_1":64, "c_map_tinyint_2":37, "c_map_tinyint_3":-28, "c_map_tinyint_4":-62, "c_map_tinyint_5":84, "c_map_tinyint_6":-49, "c_map_tinyint_7":-108, "c_map_tinyint_8":-7, "c_map_tinyint_9":100, "c_map_tinyint_10":-70},"c_map_char":{"c_map_char_1":"LDVcFhpJxU", "c_map_char_2":"JUZNIaqjqV", "c_map_char_3":"miPgVLtoyK", "c_map_char_4":"SqiFdHvACR", "c_map_char_5":"isYlXZOcbw", "c_map_char_6":"KegJQquxFa", "c_map_char_7":"cpoLWchLpQ", "c_map_char_8":"DjsbeGfSWj", "c_map_char_9":"EClVAkKjkA", "c_map_char_10":"VOCtUsHYDw"},"c_smallint":-31477,"c_tinyint":-36,"c_bigint":6060618099453009431,"c_float":11.71484,"c_array_bigint":[-7009438838015476396, -3941434250439009571, -4953694351195058827, -6551898052259980126, -1518526100640788302, -2074280537816245185, -5137720674508046990, -6817909051887590947, -1521408110153674468, 9140461925414882760, -6800059845682557178, 1342152883604816044, 5729798275381159722, -7627490715075528401, 6381739269206564856, -1420514755522900753, 1329742855513101172, -6958347713448616901, -7887098905274752034, 2093209988187663903, 3428912134268616859, 7704819063547427177, 315164851534142634, 5312143286603485551, 3127753288901692038],"c_array_char":["OpgAjRQYaN", "bSpFZuwltc", "dwvSmxQVDK", "ycjdMUIspi", "PVClsmvtqN", "beBmLrxeCv", "VveJynNoQq", "GqPTjrBSnC", "LovYeeGJLd", "fkRoGdaILz", "SwUClspRjP", "aTAIBsWKKL", "gNdGpLPTYG", "snuuzUSuQq", "RqkvnaDDNw", "vUDarLtPpu", "XBOYVwAuRC", "KXqKnhkknA", "vfTLHxStyt", "OnlnNYQgCC", "YytKcuefIi", "jtrnEORLTw", "spPpIfDhrK", "FjpQamQJpa", "MaKyssjRmH"],"c_array_datetime":["2005-11-25 22:18:34", "2003-01-15 04:31:12", "2007-04-27 00:18:13", "2017-06-20 13:24:46", "2018-12-26 13:44:50", "2003-07-13 16:18:36", "2008-03-07 08:09:21", "2006-02-08 10:21:48", "2017-07-22 18:24:32", "2000-11-12 15:32:34", "2001-03-15 14:23:16", "2016-10-20 00:00:20", "2008-05-24 19:17:16", "2017-04-27 05:43:51", "2003-03-19 16:45:23", "2017-10-10 10:25:11", "2016-09-06 14:59:18", "2019-05-11 13:30:05", "2011-08-07 09:10:18", "2013-08-17 11:58:22", "2019-07-17 11:13:33", "2015-02-20 23:31:06", "2008-07-05 09:49:51", "2014-10-14 01:25:52", "2017-01-15 18:38:16"],"c_map_decimal":{"c_map_decimal_1":7.1098, "c_map_decimal_2":29.1483, "c_map_decimal_3":88.0946, "c_map_decimal_4":75.0375, "c_map_decimal_5":13.0955, "c_map_decimal_6":73.1459, "c_map_decimal_7":80.1131, "c_map_decimal_8":96.0930, "c_map_decimal_9":96.1155, "c_map_decimal_10":68.1977},"c_boolean":1,"c_map_ipv4":{"c_map_ipv4_1":"213.79.182.174", "c_map_ipv4_2":"151.205.121.60", "c_map_ipv4_3":"38.31.57.134", "c_map_ipv4_4":"223.115.83.153", "c_map_ipv4_5":"60.42.102.82", "c_map_ipv4_6":"23.160.77.136", "c_map_ipv4_7":"225.247.205.246", "c_map_ipv4_8":"215.9.208.5", "c_map_ipv4_9":"19.36.122.129", "c_map_ipv4_10":"197.236.79.54"},"c_map_datetime":{"c_map_datetime_1":"2007-06-26 21:24:18", "c_map_datetime_2":"2008-08-26 22:48:44", "c_map_datetime_3":"2000-01-02 15:41:59", "c_map_datetime_4":"2007-05-16 20:58:13", "c_map_datetime_5":"2007-12-16 05:16:26", "c_map_datetime_6":"2014-05-27 15:27:13", "c_map_datetime_7":"2003-01-27 17:13:11", "c_map_datetime_8":"2008-03-28 12:18:10", "c_map_datetime_9":"2014-05-01 23:54:22", "c_map_datetime_10":"2010-03-16 04:56:07"},"c_array_tinyint":[26, 127, 25, 15, -55, 60, 61, -72, 30, -34, 53, -25, -4, -89, -12, -57, -87, -3, 18, -91, 77, 7, 62, 14, 98],"c_string":"TeFikaBDqFdMqwUSzrjJTSvGcLaZNkOgklAbDjPmFxPltEaVHYDopiwLfQSFLLoWTdhWsFMkcoFgXsFCJbWYWkzvBPtNOhtNBFFJTxYXrGjThbDOzWuefPMYoQtfyJGfCtrFvFsEMdfcsPSqgTHdGxNZmDjUNWhtpbNATdMARkCuFrZqCyrBnEWKpDuRtymoJfmpVYheTEpJyperJwNSCgjllYBiMJBbtYrKIwpSToEvbvNSJARgLuGTGZxHRENCrXDfCIsgAhRxjLmDvslfbyjRGPJrRclJuSmCvIJPtxVILDCGANXqrPsORoRzQOLnXSvORqZfhwKVhOVWtOtzOloibSsUNSOAGEroXNUmWsxHOJBKCjIpGyacwTytwqFCHnVwEYCSKfaonxSLzsbnkUuTgszLsgYDvvXWmjgxqsIxRvOEYICpfxzNfSgRVEoPIQiekltBtRpcsLZkxEKBbBxsNTNepuEzhGfXnEysnYNTsOjSWPWXsYdIHDVXqmSw","c_datetime":"2013-04-16 11:35:30","c_array_largeint":[7855372865321655971, 9012354734283534632, 7573715112171311347, 7254885553878912805, 3278230186697520362, 626226592101658760, -3732175647846497035, 7494709059776167982, -3767738866019254732, 8538311931138881332, -3320490402875982319, -1234964985522407758, 1190846361472424837, -2317615944674406637, 2275516419878275170, -7862416185179264764, -5436371687727639164, 775883860756748245, -2465136641108492496, -826278161445153785, -3739439103461842966, 6938016113402515297, -90628437281224301, 4474439140089417038, 1186602398671674484],"c_map_int":{"c_map_int_1":-1702658648, "c_map_int_2":-1094545914, "c_map_int_3":615993332, "c_map_int_4":-1905079685, "c_map_int_5":-2079921739, "c_map_int_6":1069377940, "c_map_int_7":-797683186, "c_map_int_8":-1614364489, "c_map_int_9":-381658634, "c_map_int_10":-2021087512},"c_map_float":{"c_map_float_1":58.141483, "c_map_float_2":42.457893, "c_map_float_3":5.2750835, "c_map_float_4":58.25661, "c_map_float_5":53.391594, "c_map_float_6":68.90167, "c_map_float_7":83.00468, "c_map_float_8":92.19803, "c_map_float_9":0.21866137, "c_map_float_10":44.588333},"c_map_varchar":{"c_map_varchar_1":"ZcdkQkywwYoQWlTuspbkBhJvavYTzNyOspLVLHocuzLpMeJcfvdvnpxGBGrSMnUSygjtqMgbXQKQCJYUckPQDLquyEaXVNkHdcWeqcwSPTsrhLqucJNDmDCBwLrnGaqxjsyeWJetWhGtCPdUcaoknxqJcLyWaheBbPnsVMysnyXzXxkSrboedclWObNWYhHLvjljzsDDeqYbQUUTNxPXxzXyXMePmstNqFzlQxpWkXyzzLVaLGjcVvlkEMSFLyPS", "c_map_varchar_2":"cLMDmvotSoAGmmXtEfWKkwVtivElfhDYTSczDMscraAmIMuYZRROSPYcFipKQbrrrfdeIgKKRXFcefBmqqVrrTOeAJZJVHjMwgLxstWhBvpsFhusMyZeEYkGtlAjvlpDjxIBiFHvkcFnWhKdCBSjvgCBaEWVDkDiANgryicOawLXeItyRfMEoYieeldcYTbeCWRbbZVrezyStaBqMQhQnqaVOnWuhIsRcgYGyjjzTlUMqrjIikFHJNMCCPhrhIlx", "c_map_varchar_3":"zfABKUjbCADiwKToSKcGRZwQqlMZgvEnuRCCJzrOuKDWzTypBTsAqmaaRxqKtkXhcYwPyHxMBfUPPiojkYJUBgPPxMBIOxJcOpCEvmybeiiPfYVATALlBweVbLtIpewpDIOcSgDkQaKFFfDjbezVtkFnshEwjSyBlOwKZHhMyetYjTwJqJScsYVFgOQVUCPhSDviXjXbFRwFHthQuzsFZYdCBIvgRgfnNpCagXJCJByZiyEnaqgbDiuMBgyVhWuN", "c_map_varchar_4":"aaHAGxYHoyozEyWtSvsjJJFKFRsJeoGUXcJMnxdEGWbWIetCJvkufPwwqmisEasPrRzeHSqdsXuxhyFNDjxptSrjwjZrMbOeeowBrPvwXdFzwBJqAToReTSvCHkVaqVCZSUMCgbZPVNRIlEplcxcDKZqtujAbEdWzHZfaNuFaiRMHoeFdnHgyrqIREyibclFCwUMYYhGVcwAWEwIuMFNUnroSngaGvIknsGOadsfVuSfFVmjqHJPgdZflWFgQfhw", "c_map_varchar_5":"FsiuUqNTQfcDDtvKOyMRiSkmvxQRANhkgNALIjAkIZNGTdQYaUgtvwFfjeqNmUBYlKRyAvIQwvyfAJJCwnWxVwNXUeKcvOsFTJQikxQQymCucmuIjZEfFHMfzzfLNUqWAHZhHCztqpHSfeUKjmnbFXDCEMIhIskNxctuxUyHZZdeHbglSslxZGMWMtWqzRefshzYSTOArmCaKecFyWJGGeyTuXUvjkJzYghPYibZgJpKtHFZMPZaTiPvJtHWGNQE", "c_map_varchar_6":"UCYTQzVPEUNQebiKGxnHUDZckVbBiRYqiBWddJRQMKNCwmsuxHIPVGtngcEtvGCunNgapJJxAfMMNSUEeJsPdsMsYMSFODZbcxwQfBflHTMvsUtzzdHbkEgHscwTLwCUyCJAzmXFJoIhYPENqkXaAczSesVBxonvxnZvtKnUugSSXnVxYSMRjaHdTBFjyPLzAWFdvoRZyImJPRdSnTgcwZYFSOBkEHRwhRHUitXludnFHMYpetsBxYVjSxbhDQde", "c_map_varchar_7":"OPDgTaNgPWVKWnyFcHzFuKILEAhFQIRirNrKWXhGDcgznfdsWahlVtsuvbBSLTZlYcmzwbJXooRdGGyXtgTDsCYjQjKHYmpXdvZLuqENMOgrRLunJCYzOYdubXQZHyTLmvWqRlGokpOOLDiLpormNnsJtkTRXmWIcZGROTMXYQAcECIiukKBqccEbAtYsVbhtFiSqYGMYtHlxEQAYKfuiyTZpmqhWFqiArkJtfQRXUqWyUXyJVWjfoPjucktrgie", "c_map_varchar_8":"YTDGJcWTSJMyqAukjsmmCNROotBcQXZKbPmSivazwlABHLHibOeetCDxiBebcebRotlwBMCWVYZjbjsnkRoNIpyyZiPpuYGoGaOAICoyCqllfSsWlhfpHcGsdsSkavJJUptoPOBUcvqiIllYkllpJPmdttZmWmjUziugWxRHirzQIPFiSVpEuSghaoQlqgOsCpqXyKdrljHoNzAlsCRLZTtuAYZiwlXbPfjcFmXCTgHbsutrDtWXHblGdwVlGdhU", "c_map_varchar_9":"hQmlFKZtcNbjkNkshifXnSnIEsLUKWlmlBhgIVYCutRcWZafXicbQswrpyTOKToAyMqVeRxrqgSjUmSnMKcpQrlZbJEtmCcRqPwjGWcXmLGgQNAZYoNFyofHsKGhHIzYPUkqRlfqKbejGzSfJDewpeTCThMMyZRPJdWGUdFZmJSIhqXrxpWXDXPiHCRtxEVaUTmjiqZmUjjbAtvltYFBGDtqxRvDpmHyDMYWOwhjFyQmAPajcYQryhOeJxBTkBHE", "c_map_varchar_10":"QTzOhMWwaIUrRstcTVwAKinoUtguiDuCOGsIbVJzmdYLJvXisYyEgPVzlTYMCUlnPrzgeEeJwtUlnLceuAaeKwMwGHXEslRYOtBHXpyHPPmpcevgFMHUyefFLakfowZIYCiIIQAFQXPeEFuSKexVGbojQOeRsYmwWQjiocMTHOnjBOGFLfXOVbSIgSaKLgBNRtTwvsrnPvkrBsgQIYwvcBHMJytwCcHDUBArvhrhHJjATtBsxoCdrFcMqVrZpYNq"},"c_decimal":30.0108,"c_ipv4":"190.215.3.34","c_array_date":["2011-03-07", "2011-01-24", "2014-07-06", "2013-05-12", "2007-02-19", "2016-02-16", "2015-07-23", "2009-10-24", "2015-04-07", "2005-01-12", "2002-08-11", "2001-04-07", "2007-04-22", "2010-08-22", "2008-12-16", "2015-07-25", "2019-04-01", "2016-04-11", "2013-04-25", "2001-06-06", "2014-11-22", "2000-08-23", "2007-06-15", "2011-09-12", "2016-03-22"],"c_map_ipv6":{"c_map_ipv6_1":"830b:f1a1:fd1d:1847:d971:11af:b1ad:bb9", "c_map_ipv6_2":"7b18:e853:1744:1ad4:ec9:4c12:8b8e:7096", "c_map_ipv6_3":"ada1:c2f8:a14c:79c2:c927:616f:61db:c019", "c_map_ipv6_4":"643d:4f59:6650:4dd3:24c6:a842:98a8:d493", "c_map_ipv6_5":"31a9:3b97:3680:5d24:7908:a082:2306:6963", "c_map_ipv6_6":"81c5:e5af:5ad9:32dc:c9e8:16ec:5fa:ea38", "c_map_ipv6_7":"7646:d923:3b12:3aca:f1f4:f488:b100:1c85", "c_map_ipv6_8":"29ae:6d49:eec7:c1c3:c1da:7286:f911:e822", "c_map_ipv6_9":"7e34:9f3e:51ad:3c76:81b7:3b3d:d8e3:926c", "c_map_ipv6_10":"1245:4684:10fe:398d:3973:469d:91d7:732b"},"c_int":-2104492917,"c_char":"iHfLvAGBQq","c_ipv6":"a371:9bff:deee:f381:d9cb:35ce:f407:6bf3","c_array_decimal":[1.1050, 81.0363, 84.1427, 32.0654, 35.0768, 95.1258, 23.0811, 61.0239, 25.0420, 0.0422, 92.1730, 74.1494, 0.1689, 5.0301, 36.1806, 2.1913, 91.0887, 8.1994, 85.1813, 87.0684, 51.0942, 72.0114, 17.0275, 0.1910, 46.0882],"c_array_float":[64.83503, 85.321434, 40.59685, 11.140696, 65.62514, 1.7753532, 69.68989, 37.580578, 83.043205, 51.904415, 22.810537, 78.02289, 21.95184, 98.54385, 87.156624, 93.045715, 78.16714, 66.870705, 92.81728, 75.69958, 78.59329, 3.2988555, 36.823067, 82.377525, 96.504036],"c_map_smallint":{"c_map_smallint_1":-18476, "c_map_smallint_2":30734, "c_map_smallint_3":-9722, "c_map_smallint_4":-23809, "c_map_smallint_5":-17868, "c_map_smallint_6":-17469, "c_map_smallint_7":15095, "c_map_smallint_8":-32129, "c_map_smallint_9":-10467, "c_map_smallint_10":-24563},"c_map_bigint":{"c_map_bigint_1":8491131412802921640, "c_map_bigint_2":1143215271667908194, "c_map_bigint_3":191683594223664955, "c_map_bigint_4":1798687904733607930, "c_map_bigint_5":-3539565767769970521, "c_map_bigint_6":4266880918785600879, "c_map_bigint_7":947776282548212494, "c_map_bigint_8":4929598687203802267, "c_map_bigint_9":441992201100405237, "c_map_bigint_10":4169359461798395065},"c_map_largeint":{"c_map_largeint_1":-1618445350692070656, "c_map_largeint_2":3842155063719528981, "c_map_largeint_3":2575239138137189337, "c_map_largeint_4":-3029286315282319658, "c_map_largeint_5":8429970703908899786, "c_map_largeint_6":-2465274196960533962, "c_map_largeint_7":-109232277894914447, "c_map_largeint_8":-5740427241163351088, "c_map_largeint_9":-2006863640540227244, "c_map_largeint_10":-8849189197714391095},"c_double":37.37659723987398,"c_array_string":["PPKOrOLEcvcLVCQYEAtHCiulBhTeSMqTteudfAABHFNYiZmXkZpRTNhhGPBswqCSpZZFLInkIQdIfLyZafYGYNxoEhFtXQrkHGxeRUIwfkBPODTLOQmIcdHlhsJfAzHnedGmEMaCSwhxzQuqClwgVUxUnBvHurEmZCkYLGQJKgIrGduzaUYFcPWjpvGcGWJSyhPhdertRvDFWjyCqAMVsPWwJvLJEdQQvERvjoITQbsbDYItJMjmTHGdgmytbVqnPgfZOgBzjBAdDAqrKNlVFUaTfmYqIPKcetwiiPyfrhuuRnxLvYdtFIjCjeBDaOoZhQLhryoiIRmqrNlIshazpuUBQNwieCXchHdvzrfZzzltAmuqcbLPAFQGpUJGMPwuJcoHnoibHQrxPPoYMXKRNrOnthdjoBOMUxRIEChjWnVxabvSAaUcfZNpnZDsIomYCMCEexXyRshHqJRhJPaQlhgEThnKYLWcNBzGNCoHvUnlpJjytTMCmYekpjMOqdke", "wjGNOCGUktLhHtQCNOfqqwJYhCUWfEApNvOWqJzQzTtNjAKxrTBOYuunTBokyzbPKCuSuYMGuhPLtcDUeYeqyEPrbgnOwCCUPcwxVoEVtToFeVSjYKXoTnRfgjSbqtGfWaCwRKZhxzSIHyneMkGfLvBWovmBwkGFyAzhmcHGuMcZhvKJPyZquJMxLFtFEjiFmzeyCzTzzSsAIoBfPoRDxSQMqRvThHegTqjNkicYSecZWlqytPMxChTwhTLyoCAJKZbySCVZapBYLiAOKwBBqkzspWZAqRnnuLhTwXDWLiDAwvlpeCTlJeQXMFOxdfjHmneobpOurcYtCQDSUCvPgNZhrAAbeXzatbyGdFBBMBOHrZwqlDWjrrvcNDsoFwJNEBipGwPsQFQbcJwjFIHdeqZNwoNIWcecDehcFTPiFyyLjFsZkQViZOLuxUDIyichbrmXIAOZZKBrSGxvlblysmXUTaBvHFPyJrRoOtpXhfbNPNuzLyRyTovkhDUBvVIt", "vHnNptQUFKMaPsUcxyjYTboorXwBxAuRrriHMAmTjgYBdkvhPuKcgCnvBSPCfPdZBeUoOFXYtMWlHoDWdPXpjrQNrSjOcSHHyRMUYgeIdMasUmZDRMXRBBITUDSEmfSpmdbISZdNPRchKKfUGnPLfCJCpibawAitzYyhLrkIagCbSdfNpyzSvKzLeVgFIFWBkZWHgrTooxBRGdSNIPUSQPHXuyZMBncEiwmrWrZYGeVogqtbGVqciGnQDXZecGFEcdHVGPvmNSplcRBTugTVwMeUGbjRIWPDUnaxpCiPSKduvjMgSFZKZGDEkEtRsfQAaiUzXvnHDPrYgksagrLbHrmjnaRRTdStsbqXonuMEXkkfLkAaFntsFzIsDNCFZVaPSyZHyzPXOwnAUQZGebJgroDbDwLUczGPxdVQatUXCJFUOArvcwvPwzoCpOJlkSBIkDVZJLSDWCShbumCWOPeJVvyJoVjbqcvyHjwEpZTwIDlImoiYztQrDPtdSnwILW", "wjtTuxThUTwAoaaMqsDwxSBClAVVGMXqkJFTHLwWSiebmmSFqYkzBKynXboHUvaktZPxfbcIZbCweWxHqsxgztUWAHLSHmpLDHvCROaDkPmmAmtYMCgeCmzPVrWXCwhNftvQdkHXQMFaxYgxBPtQfKdtASTmJTcjwfrfZdjYwBejyNlBupGAFgrHrTUxHnIfGrrawNsKKRPdlmRtzfCsoHLsFuUiCvKPVhDVRqeptJaKRxzapqgHZZhfBYMneFHFrURSfcxJoiaHUWixmgHNAfaKBPGAmnKTtIBodeQRAflCsMXYpXfsfHyFERHpwgLfaojhVKSZeMAZbLWEaUUFjkVTnthRKrLubHuhqGuwSeTVgbicmRtvhkAedePnlhrSWKvlSJcPVnCJYunsDWAGOokCqmdTlthbzRtVLzHJhDUUytxoqJVLJlzejSyWuPQDKchHVokCwAdGxqlBqmpMgzwinXeKJyvJwwBhgfYJNpQFnOHlIBbLlYsOqaKFixcW", "SrLdHYvKaWnGLsSFTsXFPpRHgYULbRUDyMkgWPOQGwFQPlcIFbcZvdAVCotiIowePZOAuzPNIheDkSxKpFQaZoitgzIzYkCtDuRPPFBvNIOuUhtAYFzyjheqifbTnCJpuTCgNhVLvUSwGRLUKVsdbkYQiNMDLJoIfyQVOduCjUsVfZBMIUMSWLfxaPeyDfvxjbhmaLjLCSQPbkhhyFANSxUXBReOXHubTAENxLlXPoheZYWMNSUfqBPLyIkchptBeBDnJwCJSzpTraQwAlDwPZZIpiAWFQbnbFOTauOIKszzyWtRwXgoVQsXcoPJQJPPGzJtUGxVSXnuaPVcpIyIgAenDmrTLVjUHrSuqeBqTeDwtAINqIBiyVZhxkmMfebVMGoAKGLJlPldTCgvdLRFFJVIjovxsIlMbiclfLxQyhmEoHkWHqRypkgkPEBvMeBJZEPcaZUstALIeirwOkmcSPPZGPjLAzNPPMHMrGapnxgPsQcHZrGAumkBEBmlvezv", "yLAEcCKXaZcpPpANRLtWHQvMMEpVLuNoOOHdVBsWGRAsMZCKamYaOkkyaYzNyTxuLBiKZhZsIbALnGWaNRcFUgcgfvAiIoSCPbGeYbXogGczOPsdhveWXMoWRCGhgWtUkqmsvxVrTVcxZYdSRPePUlSDfGFFBjARLyBpnxMvEpaoxCqOCwvbjcwnuklTEsFxHxzxalKWIggmWsMsnRERSJkUwhMJBwmBNocHGoJMdrWUbxqKGRWSvHnBaaFOYHtVAbZtXMmZYAtEcyLTKYynMaRMTDJirPQSEtYtKsjPMFrZLdLyTyyactmVBLrcKgkZrkQWrCbLyVbweqKuMrNcUCUDqNtstbkQrIfcAtuHLZGIgyiehgKiqUVfVEnygrMYaVaWmaXgRSxzgZBBCYKMeoZrEHcvcfgAlBUMtEZwFkCEAcLWeGixNznavzxdnhtPcvMYeiosspPwsZxrKPpVeOUZmYjjvUgmeMMMXcvlImNEZtGnxlnDFvTxFjyrLMoj", "AkGVJElHwrVnqEhxiXIBDWyNnwjNrnUqRaukuRombyVmTSYodWDvWZbKXmBWfWzUfryikMGjUieYrqooCCTHThJdpHBXAsFyjcjJECNfbPYDvwHrOteuoDilaaEMzHAwdbmuEEwaUtsaEVXXjgLqltWluoMXOuFvLrneQStSZWqLuDktzlDpFDTWmljiCridVyzkFNCcsZWMCJQMkvydSJgvrCibtFrUxEHmFeyWtPjjDxyMQrjMJpLUGknOwkwgFjBOCSvOYQVqYORVXqdEBaiqsQgioLBSBULGFybNECSrHRnEdvIicdPPqxHDbWYFIzjIzwsYvxvjqmzySvUVifwvhhyjeVJrpIJWhsIsThhXfiTWgYOQOBsgMtomcYRtOCdyeuhJfuDePmwVoTMJXIkrSAFZZZlagBIXSrNsIgDKqiNRVoaNhUSIBoFWUhPPcpBCUmOdUYRNXIxKNDQaVAjTVlUFhcQmQbBTGiBCwhCoifPcPpMpIQwfZjCIysJh", "GOTMyzDdhucZAQCSOQPMNxUFMHKDMOMywEcfAkjVetTcYyoPRcdSqaTiwYQCjpzkGiYIPeYdwwJIrVyICyvufpBeBxrlYzOvTZRvPJjdHMBnnkRcoojnoKYlRtqiDEupgyITnqNzWXxtgZJqqHbnGPsftZkbhbxEtAMWGyXaPUrNRaHMcxNXEvpTjTcFGDDIxLEJsZlXwtdusDUjszluEqlQEUtVxoDxcsiNOsnEaMphMJMceOxkKVnvknMBimxYlOwppOMwdPxnVlCyreEBxVBfYUBFZYIjISSHbDELKPxjAjjAATjoCifmdQHxVtjldQVgSWYWwnpxfAyrUGNVlOYxvUDrqYlqweUgFyvqYEmpqFykhqNhzlEZfIcKViKPnCSblAtdZDlZFNwoaTUfdvZQLLKXNEdHVpjzuNhLaQkCGajSKCKRNztxYlSySwMpiLrruIgKKOvyUrMRUywTcuiNplwxkYdkDYkLBokeVvCvyEkKkcrzXxqALNpSceEa", "CkleNkekYFbhFYSnZqfnGIcVYBXHrLTANuyVYqjZRpdIErnJLCNUUPoOHllCgEfNDApqHbwjOvHMWdXIoBqCTEXkefGpKaJbGZUqbKSGTDgMBeqVGtgDnrziLcaHfoBUGGDNkQPXmSMkMilpZDouSpQgWrNRHLeGDqFbjLpMRnXQAbmbBmXvTUHHNxcpZjZpBTdkeWYPBBKqdafRixqIWFSZfuxWguOSAmxnWMmnvcMFSsOwfBCWTdYkblxUCeipnNzpyNAwWzrrdsvbOCBUrLgjSmcoivLBxKWECtqKTKUWnIUSSlKvOMcgNMetcHtSkYenVVzgNwHRMAxWMLGmaPyRczBZiaipWutKxhwUGhXJyAOLfpRjqKPTNJNBlEjfMsHCBbuOuZMzkDFjFwVIUNfkdUWwiYbVLMisJiahGhXIAixLAkIpprAXYjlRVhWaOEbSXsojfuPmqVhqilzVRYpcSVtKBKhUbSSYNUdbnyFfSMJJRbwXlaDdgbftykWO", "aYceeceWSBVeXWxePQfAWGaOdreduOnFRwehhIjKelaRoPrvvwjjlbaibSZVkHHOPNfXnskQyRfrRCuMNPsfWgJjGlIHnQSMVOxUQGSLLjXeJXzCErxndrDLYtbKMtFHnhFEdUfFaNYnvveKLupdcHoQLEoBdxPIPVYArKeuokSijXnsUlFwlaGgrrBrCqnIDZofqwMoBULlWbOiLJoGWGQzvRDENhyJRQuSAwEzAlouKViwhyxkCnxawuynEuQNvkixTAfYgwvAJafKduXLmOLkoUAaiAFrNBdqEuuIlnbhijqoUTXqAZnLhqSiGexFAwQpGAmgzAoShzWIUmoZaqLJDNYNLyDnIfJThoBXexAGijmkMzhlzHDwFXwsaRzujyQsSjtDTFIkjQctUzRNioFddjQTFhxAiQcoruTcbxZxnHKnHYYYqcusNVUPSHWBxLmdVKXJfOoOeluMMqivuDDadBjzbiGDvYvbLSolOetnNSTKEveHWILhwqXrucAS", "SPreKzPrxxpCPNVqPpxmOJETNMHMcAsESNZvFIjcmCiEdGHDOMJbOEeXGEudnOGmRzBzjIhFzEHNxniAhghHrEwIdoiLuHxmoIDSvXqRVJxEOihpxedGpnKDqetsBmdGUFwwLCHRhzRoTKSlIOoDCSKvXKAibfqUkdjvgROAsxInkHcRcHGlRMXPjfJSWZaMTOyTJswXOnmYsZKpipMxEyVDohAEFPYHJkMxwORvZOuNozATdcWniieRJYPWotypWnkAmkREvyrCoBTvBsTtkcKgPWvHmcXSLBxggOiWCpsqDoFTPrqOJlBYZXaOKwxdTvUTOCQoTuYeFWjqbJDojyGZgOKIUgqvxPuirzQQEetHdRDwwDdlVsPHCOpgslPJyxkSYBwfIhyjCrqVjvVeQFtSgENwzSlvrbqRCgkkFWWYEPWWpyUNqqtNxomofaWJHXnmPOqmuWAApxaKxeuuRRvALlfjuangFUrSlRRZrNRjoJJZuUpqMHtBAeRLzTbx", "iFihrErSIYgcoZIchVMSDReXeDoVDRIBodHqTZTFvXhrMrHwgKTYJuYhOTeijyfXwWOJHKwIGZPIQZkQFlaNOTuUySgPvvSkOFfrCtUufMyBQvEJbsMyatomanNDpxlEOHOfRmltoEwDaTRagGjdPiaSgTzwhALgFkDsGzrpoyMqtABSSDhZLSlaMftmrbSUWwjlmTwwJWHGXwKsHkUzpZTFXtpqtBcXIepkZaebsHEdujvOFdoOTWMmfWqcFEOUJTczySmHbhOGFEcvPHFGZubpnIUSRrUZsYKDAXHdNSjzvyozSygZKDnDKyDXtJmjUEKOUFlxaGCZTYoGZwdAjnEoSFUFxpPTQFEtEmxLNHuKQUStQyDLRIXVncyFykMDmFmzVdSYLKYGsqUWdXsRFZrooubWOWswcxYrJLaMmRjNNplmIJuHKZSRtSHFhMGGVJvdSOJfFyYwWmRQPpLzOmZYKRLISMjJPUalwKPYeClkvJFdeIqZYUNyhCKyDJYc", "GGtXyaHwXrqwQrVWaILmBDxVJgvkDsZWBryOBYTejPAnCVojnZXdnTUFsNLvhtgnHDoYOfgNwVLxwMThWltFVBhhayDpVLYnqBlSWJDppjYABeetZDUITDnFqqGwxdqPuqprviXiHesaaOVruGPFsuxyeOoNrvnNHDuIskWfMTluUyyGuBgmlKQJPVaVWFgrhNByZRvtShbgqyODCrBJpdpHkDwpnfdjBoZkRwlWGTSgEIsuNIHHtAsOiEzGtXSjGvFtlzdydUaYmhsqBwuuiqcqNfDnSBVzYmhylhyslAqZTuIYZonBfMqDrwalFStdeYMPQndhEKFtIKtdePuZVPMNGicthJmDMBPEObGUJmbMYFCwdYvHDsnZyfjXgEuATvmLwKbsAYvcgOpmmOCfrlPaBNszoRmmTwAQFzGLFfCTmVmqmlULHUxgQUSMZnwVvJpKFyZdYvlSauqsnTNrzmxrYSyMimSdbaUWMFPJQSwSydINztfFdHCPXReJxuaw", "jALTFhqmBuzHEkZyNrCOOAwrvEeZEKmIaXHfZLANcWoyFLHwVRpBaocjIiohbwgsdnXIsHFjvoqrHgxTpUaFJaowYQkYbgdHLrtCtZzlGAzzYQxTQzfIiBvcWoHHvFCTbpLOsDdLboRRgrOVtHjNTMQUCDnrdPctVzwDBnfvAKiIwecpvYzIyJJqkstsERMXUziavuwwTbhsJtINIftFeRRaYdPmdYXCxEUOdCThihtSrqgmXzmlusPyWLaBMPtimmPwOHPmmOLKZJLpyCogUoeoOfcgyZZmoJlDbKNQKNIbcBECzPjZIFVkcWtSqqQDqpWkvLkTmUmWUQzBlSbGxrsCcYbhldILzoAxxVzAPJlfZyhqvpBCEpnwfukTqryxpxQXSGJNvFResGIBILaxNJVRzWsUYUpPoFsvZicFPAIuymCvjvCxDCtibrEsSqofMiTAzpdayjCToSBPwoiCoMmSlPDZDJYsMmUqwVWhvARxTgPOiHjPddTBaqtvgadW", "EeAHoMnVNIXSoCxntmWuTslohVCvMImBwkmDtEaIFQgWrekydLCPFyLTjIiMhYeFsPRSKsJdCxDISBZdyJGzfuJfuElseKDCiQNPEPXLAqlNRqVUYlVTvJFBANbPXwcDwpaCfbJEnstlQVxGSDAoahpQtOuTmeZnYxNdkjeiuwphYXkfCenolGVIUlfmjACoDaJNBGYIkADzvSycWfHyRpOximUweQGmdssQnmFhrYRUOEAGLPIUIdGtaCgjWWJHzXWUUnjYegGBLoXTETuRxvVrZHkYIbSahKJBOCtMNVJapTuHOqkAMsaTgAIXCKLHoEWBNthkVxGNaMmDDBSgtWxevmABpXpyxdOBNHGecuNHISLxItmnDtoYzJVUtKycctvVhakqlZePLImsTmWNyFVZJURDFgaBJeEyepqEGJKowXdppnIvhnzutgGLaJawvRkoUxhuOOnxuwSWIfuiAvdKLYCrcSfmDWgOvkTRRGMNWtKTJaTkQhGeipGHudgk", "yOPSrPySIgQXOSmhWGycXRnqndvfOThTKugxxIFPhvnYxSVYrRSBTXEJFiuHUXezjfRfHggwmvVxGLDaMmApAzKQfSdojiMVudkUpEzOwskxihLMLrNWuAYtDavWPEpxlVOsvnPGfgYJEohdjHBSJqfsaUZgDpKGBPQZtWJmEEsXbggefHbOCUmgzWqIhASGzTOzLaBhjMUFMisHaurUTrgfIelgirqsPluGkzUdLfVlTPCXgkPHxuDaIslsXmWKMHcKYvTTtrHhbbRjJukeiuLByljKDAJDcZSroNiOYQwSCyDADHfDMcIiJzkvCcOQTMavjBEfIFmqsvsKbKsBXABQfORlXUSjLmuSkfiYOmLqusyEeRSLVRxvcDdAQchwrLAobDaoFajnQAmkWOlxdhIeQYHcQPkXYEjaAjLuPSUqfwYhVunTNEsEeyvTUBHGRSFaDUVxjehzwsEBQmQQZsIfiyqdOOHjVPgEnZDSiiylVeWvJqxrVJUpupwNbPRR", "zBmbxxOSvzRgqEWJrAgqEGBWBbokTcGafixKIewUDgQVnPlcEiaHEqfMmdGduRBkgQuFPMDvyqeilZobGvfmNUjohwKsGlaxLZRDnWpaiuKBEcRqcMASPwyZIuknjrlCOyWYHQVquLJfFSwwhDhFdcxOpgTTAHlzIJQLlELKIRMswlVgwVQdsEiWRaHtjlUIcwaVCMjJODLlwHmWBObULQurzTVoXjUSmxukNJgafbklJbosdzRXuDuYpjhtALdkOxaMHKoeMyngIqMoxxpRLiCvfpnIxFTguyXKgBNsgHXnzmavozqITCFsnpXSCvuwodItpQvMLqHJqzXREijZOzmNdeSNOVtZHoXmZgziRKOgytCzWStqwZQTrsKropnobviagZZohHmpnwvyTOjeNKFzlKczsJEPfPRIFbdepOvdVfuJzvtuuPgwmoSwuUkwynUVuHtZsxgVIyczmftFQeFbDTwjeKNDXjKGabVKYuxnxactgAqTfzUZldbnECRm", "QqBiZVGEbnAgumggtfjdlrvfrjFtocnBAytHzrhepfBjafqPhxNYNBbOtlbHxChGIpJvQHfNXvpTwXHpPYfhgfqVKUIEVsCYaHOTuxhQOrRpLhoFJvuUMsxCoyNGwAjzTUbetCjUSyzkRKJIOpHaWUvlrBpPKkBBYLtqDLIPSCTjgOEYwimMjZMrKUkHPiSWJKdtaHAyWZGjNEmfOmeBKJYICiWvBsxCAvAkiTFCyeuGWWvzUUVsDjZDeVcYPLfNUJZmOmDzXSYjrsdVjKHzosuRtLFxOYZJONQkEUPWxQezUgIfVbpYUnEhKidoMsAuDefppHCVqLRnUqfKLbjGsWqzoZOwSELGsWXJeFKsuJwSFufxIUJZadqPfdgHOIzsWsOJwjOUJyTqeOadwNpjKExuCdYIVUArzzYXuZuHyiJtPaaelFdkSsHILBmLfTdzzwkfxcYOdZLstXYpXMDboYmEivNxSUHzIzXgkNTwcIfRiuFyephWhVbbGguFdMia", "oeiTJnCknbvjvjfSnBdoUrtuZxkOFfqXixCWXeaDthxBdnGyxhEjaRofEZFinEfamHqUlKDErktgFbKMrlsDuvitoMRckfgUAumBYWOUbmWpankDEBnpqGVtFIsdBunVlLJCWSKEXFJhEAzYKpsBTGkkoGhSpymdHuGMPuDpojSsCRtMPRRtneQrCUNArXYULjSgIRDiOzjMOMfsDKRMSpHViiUmjESpTPlrSMAtVAVtffQjBTXeqfZFyqrYQZdrHALkaeNRHIumLgAyraDVhAhDsGaPkutIxacDNqhAcPnCtbBvTIfouJELXkUslBIxGqtfqjqrpsROWLPuVNWOgWXHbMWxgrICGUjYVCmCnALLeNSflyZZbeWPlQDpJrWyyeFJNWIymhDZIhDcbrHcLWmJwxKAGgMcsMwHQJUaPjdlSvJaaMIMElPAtuTebyLXoBLINGTsWJUIVsTLlmeMSOKMdRryInQWLGrKAgtchGGcIHgXJnuRnUMxTzkvmLNI", "MUzHWWrQpPQKRNIyweRfBzfAIZOjyTEHIBxPTgSqfhTuLKdiTyBHFyxIMKWqGjxxqeVetByWMHsXDaPlGbwUGzYGPgQITfALOltUJSHJHjHkwYqikoboIYlBmLUucJrkDlCVdfMOQtLGiobcgFANHVdUpdUfOCeZDRVtcBHgaroIAsmzckIWrWqpyNuzhUclYAkZtyXkJhoidDFqEzQoOpAfqbPCGWJhLeVvAcPozWWpQyyIxueGPSFIrGCOIoyqoFOFSGNJQbOmqLmsHedNSFydOcOshFhGBHvoOfcHbzlqzrPwbsiSwJlapmusJzdfmyorefMidVSbxXNWFHNvkgcEBTnXKuPHBmHiLuKgIBQIcJUhpCiPaHSMcfCeVyRWUzzCZJgqGuPaTUSUgCWUYkVUZLoyKlWoiRbOgqCaeGYRezVeIvPZUGfZjZQYEGostPkzddNfDbYdNyTTJIMElCpfzLLSIWFaDufkgdYyQYdEEEgJOLUMBMAsTvRZWIYh", "qNDtPizGpLQbXdGDasAgGnncFsHSLfBBcRdncnQEVUFJyrzjyCWFZfgAkNifDHCTXzViMJWFOmpdZAFgxIkFoygfwJmoBpUMgjlixFSAFFVkyAYXkttPVMpYozSiGMNtKxRFiLykuOKbEkvwpSaEqORhbgKqydILnMKGgfhDtYjCpOiGSTTLGKlKcXsCzoqyxBbqzVolZOcYSEMATnXmzYogTpynVnggqSvckXBzgNbrmnrqjEbgpTdGJYSFptiEOyKcZDYOnCJdTIaacdcLgmGIyAVySZECgkPIQQKBnjpuIrSPLhuipSikidjJmeOWFpFqdBnXNuPHPatZvPsJAdogOxRAHvxHjOlYEMAoaJNrxlIkvKUbUnnCeMYPvdWNMFLyRxTiXaiBJfXeCBTgSAQRsrFcmjSJpbZpnGhowtZYXRGQgbUnruwIlSUdmuWDIInlkaxQhDiNVCTcaCwoxvWeqUlpWyxTmNrOiDEVOYjwfvwYOnyYbGyRwCyrCmCr", "EynUVSpuVpMsIbVvRwckMpxvpieitFpbniEUgnnIYqjhfLnZfmoTFckoEFNEZhSVXscReeQUUATjQhTWrrcZIvEqKoPTNtrsYZxHSoRTvsBmbAsDQKGAOnUxtlqtuARRwkkGclLHSTMYgBNLqGKxltcSSRnjiGZabkkhiLqDRGDAMabcrFGYOyHvUSMcwrsufebWwxyMlcGhbrkRaScfDepOSVRLdqOWVwTeEBGXSjvCwrOCajPJukyPSEiYOpQaGOHwCmTLQiunFWeowitEvHiRtzaOVBlUxeQGEWlqDwCbERHlyxFwoqdMyQPJZNYqftxqJbPKQnaIaooIahlIYIZEyXUxrNJlWfuXFeFfFPjoWHDrKVGwHxNlOgbQvamdOJBmbRCyrhMoDgqYFIkxeIcAjeNoWyeGmEinJXhASPnezkCwXctLIADQniCGIClyTkjSNxWwrLUoRhlOBQouLSgXkHvvmNylgXJwcVMzEiuhqzwkYxrXYsngfymlvdOZ", "mppOvNqkHfwjxNpApENpurGcHVGZZUFQcQdhtUYhPVOoTLTTLgxqmczqnpBoCBVQHAioKDkKPYemStECtcCWgKkwbTjiiSfLjvbFmhlFboMpjzncOBZrDVJazuXOUzEtNIOXcJpNdnOCMHDEuouPHXxFQfFRcbBxjdHOfWRaMGkyxTvTccMLpxTjGmleRHaAhJZoChdFFnDpqeFDKBVBzfAbSZJfqHfpQqIfcBzHoUQUCYuNdLvOAuVvWhNVTqdhbElQYNjjlauqfAeIqtGHbbblPyBKgeTvKcFWPzddTFGTZGgUUvMjgDgTaASMFWbvaIhDlOOKsfDWptopUBOEbvFrjDziQwMUUfKnxuqDsaDKcWVOhUrDPpjVRvVHqaeIBvbjpDKlZVmLKZsfDCkTTNDfLYnppgUtklFuWjigKqNHYsnEYYrmvqkGLuTYETOYDFlGawvwxaQNXThRwdqWBOLndESbpgsxhpRNMYQtIDorXnAUhDDBKRJWaYXHiSNS", "nIlxJBYltVcSHXPYEVyOeTdMpHlttGdNdsCjMFfZCxbgrMMyuYhxmtgysXJmtSzAXOeXPdzokUcfPbpEiYfTAwOHihPDlmKkMqSBJcNVdwIqCvGwmxxOhnTgiHPWjAqufujpcIJOporQkILpuhvUkMLZKAJqZkFLMsHphWwfGHSNmyTfVaWOImojFjeXtRTUQGPMCOZYTYpdLHKbQNszfdcEknDLEOcXcIyhWFHYBykmlHPfuljNEgMalqNhmWKRMxTAeRPsqAxObZJJXlzVzxnldjwBCAxjIjTlUKaFYxwsgDUkOOsmjhKeFoHtpqoJbDjrFgMUKxZeQFeyPsqzhgtsLSHXgPpzrSXpDMAjDeSqmVRservkAHLhJSUPxRJNlgEdRZkHiBeBsrEMOtkisROFwuIDBtgzUyvMzyNEOjbyKUUyxFCsMcCGTNhnHjtJuPZAdMNVYpwwkZxkWdmKeLxmLxivtEJvBBtDdHqDPsiBldlpCSwNUvomEJmVtmLh", "hrCbjnNBZWiljGrjswdKgvxaLietZrMkfkLTbMBzYcqQzUtdKuLJugSzllFPlwwOOGFtWwLuJlPffyjdiKGLPiFbigfZtJyugVqcqjNZsLJBDonttWtxDYUyQeXPWlQiJuAzAhgapgRMOSNSzqEQyxrtwXkmdwlZTLWEHIvQBFCipkeYBewUTFHhNPFOpoIpZoocxqYuFtQNjKDtVXUuaRQjPXzEcJXjEtttfDbkMOLvqVvRkLquRCbOtcnlWKWFYXtcSWpvRSMryxjEMQkkcmvpXmFrVLXMfPGMuPUHMtHddvrpFuaZqjXMqNrqyswInMgCeHobZPjTwTwTEuczzEUuuiNcJdiPLHwMzoWNJciXBwhpMbIctmsZOmIahLcobMeHPJiumcDTIseSshaDxlljclziFnhhGQWdeOVviQQgVnpwuxLoqEviBhckuJLRwsbRPloETdggQBzUmKvlPdvRTEDJeTTbWxdFomoKByOjoGFuynBkEfNjAsLkSIiz"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_double":{"c_map_double_1":42.23641191024421, "c_map_double_2":10.106462261052178, "c_map_double_3":35.83181631263429, "c_map_double_4":9.893444557895917, "c_map_double_5":61.7890556037461, "c_map_double_6":13.305780718784373, "c_map_double_7":36.95609929154675, "c_map_double_8":42.664186983565024, "c_map_double_9":1.3812076527594928, "c_map_double_10":100.89627536792071},"c_map_string":{"c_map_string_1":"DvXLDEHUrPUjVWeEpRPVUtIZhmtlrFVZvhMGdYDIemkxGSxjEXVhLcFndHVQnZRjmpiEYFHcgUsnVnpHiRxuJQHxuuzPhnarZpuXnfRBWIyBJgwQCwGwPNJqFeXwzRIxgiLLCFWMjGvsmPErKtrtHYtHTbNqGfkmAnSYyhEdwBvwWRFxhqTPRESYCTHghjIYXYJyWHXAgoQDqkxHYgJlEEgFcPTZIYlcmmHkrBvhfuWbTtrZhYVxQmlRIyFZnFWMJpAuvPBbpbygbyRBSgWwdZmyryLgUwUlFzqFGlFpsqFbMWGkHhjrxWfWFGveRQhZrPLynNxnNRpwSMziNSwBhOuGYYBLTEvVbPytAWKsTdsyIFySfiTwqGUBqEmMsfjIqTkwMrcoywVpgzkGrcUPdMKIqNQmQBoTlCoBhCugUCzJmMqwapOFVHJnfMbtqiubzuYqKVUtYaktURPmWTENszdCjvJFjbbQxvJAzuDDRqRQhKYNuWrqmHVNwrhZJPnV", "c_map_string_2":"gxJFnGozLXpMdSViGbeATMTQWHOrVMmIQtiBGKOfocQmWaQztwYkZVXscNuSvugwtJbNLkGXAvybCVEaTeFCqukzwNcxjbZBpyZsLjDKVhkEYGpgaLLXMoyKKXwsEAhgJsdrpBZkMuvyJpUdiZefkzwbfKoELeLUopuyxCWTSCzgIloYDWNEYoEaGAlaZcnRoGUVLokTXqpWvlCETEKzvRLIRwGNrFtoSroBLrESLUjufnZnknInpUWPzErEfpNevDDwEoVJNtFkIaluNMUKsXmmkoCyktDMuGylaItqZyOKboZlBVJqCpVfZRZOoqgKzvgfSLlUFgrJyrLNynpzNhYWZxoUrheLckRCLerAwmHQUnxEHoCgLwRjrBSQBddXdKhgCVgFJofbcVcTSVqwBpOOCiNBvuYEPSNwPjUJtHTabpXPTfmoEPgsjJWhAascsjBqhZeZEhAtoIoOkXGJgzrniCIXGywsFRgchMiVhOOzkLJeJIGxbwAuQxNdgBcE", "c_map_string_3":"IhPCwnhDHLwPYXsCniHnkqntmHdFNLYzIrkwgSIJgUmimvJgDCYiWsyHXaJoNnbQxtOvdxrdoeKAomyxjLZquqTHEKIuhAOiveAdAFctMbfdsOOKvBekiGUfHLgnuRPYpWZXpUtnfckuIyDfuiwmrkJhKLUXVbwEjTerMHIpXkiQLroZIxtNSidECUUzAzLmqcgDOmPmWNtrspLUPqtSOHQuaBCoNvotmrmsLnqBYHpFqNFxNTrQXQmtkBsvesOiIIYkeeRKasGrmmMFQqcvwJCadYAaTxRezcPIUNhCDVsSoVqBfRrXfxQTnBjdEBVrJodXgxpMOtdEsXaSAoAFaPkBJhQqoDKnvKfSmCKbXLFxJgjGcmsZOUYuEhdfdFmETAiTMRUvbPzwbxCljStYUsxoCmfjXduerObfCXIOveQnaxNMVWSPsieSlSUvJfPXhZuSncaoqtVtfjXzmWcEfBLRaWUftDLBvdOwpGdiYAWIJiVcDjqFuDXuMisTZhSr", "c_map_string_4":"CalhaqPhfEoCAJQfFaLmCKTRYhDQpAcYCCfUlZJLJOhJrjtPnfvSWogxoxuRxMMZHljFINyNoXrejXEGAdMBknibythwDekbUeYmepGxOrRTHYXHazpGcrzHUFeCVyHjYiHOttFkTryhGVBAGjPOibUCKLxwFWvbSmwjlEjPUbmVsVEZbqfsGVJuzHLgWsDWBEjFzrtziBLuBJMVunZrokzHYCRDrLgNiBkBGtAehokLahbLcsingwsxJVAPYWZsuzHxIsBFwBKAZZUxPxYqIkVtKifZfxGEWLFVeWlLACZhTJQLlmbKmDzAPyuObAsbEGQBsdlqxRwnoQYemNDjJcUqBKhNAjrkXfQoiXZOjHgjjQPbCYxqrbMxMQzGuzOoTMyxAHVykyzfyHpxNODLJhaVaLgiXNfQfOPrVgBHOTFlHyAdbOnvesscwbTBzeQHpYojlcjtjxXWyMfjhOFIzASpwkgjafiUOKMUgTNXTZCmAiWBGNpMARhSYyGQKZYu", "c_map_string_5":"UCUaBUYYNCRhzXeeJilBSqhGtcqQLcoxnaqdYHHwWQFJanHLQwfhIsfkuGssRkPacEfokyAUyjuLQWLbicbOrcBKJfiyRQrMJXDdeGWWaOZGgvUfIogKrCPsZemCNckUpvRhcgDVoiGCOkKmENxAoWTNxFMeQsfUoZexOzhDRWKuMDuifyemUdDPTCofcRAHHvcNUygtGwusriYNzwIetrCMMDzrXzRIjGbOvHIscqRyYPCQoQnWxTqHoscfXOLiLsDZVBspxVbTBkVOtxPmFSolJocUWEccIcwUyRqpsOIHPctSKJWkqTDGXAGqVFIRRLvwhCOniBlGVUPpsIJjUkiDbjmqggdlRCbXyMEBMpQdFzgbMcGYybvkrOPTnMGvaOqmCFjiyzWpNXOzggexVfWhmrsJeFAZGyIKIyswEcsbMXpEKdsykSnSBmkYEaGqAnWwsugnhkevKHOMshedMWlOjXJKcLhBaZsiOqasYdatfhJlKVECYUkPCSSmZWip", "c_map_string_6":"OAToaZqFVmoPSrHjEmunOZwPvLqjWupEZRrXavpBQabnnIHsBApZqMEyZJZOndkHOHPxXkQvWzBeITJQtGIUSQwkIBUtCDZgjzPXybcHWpNFFwVfuQfUPokGSrMpzNsTGMSvWRTikgPWsYcvrIaJEmsOUniFJFJHTQmPNTGUIoopujSQqpurtaGUzAJBysqbbodvEtVIIDZRRzveLoWANKOtHqhNKZdIimSNNQGwRWyLyUpnihWWCMvfekNXeKqHCFPrXrDeDmyMLCcBhrhASUmUOzftXVueKVilPgelgDaBLLHZbopWgCiWMOredfbmarfMDgDyBKWFnhmCsmFpJpGJIhPRLpKXbCzdLlFJuaRvUrprczVGIqqeTtfjWvYQaDWBPrvGsqjJykzcdFCHQhSzLyeQdTxleFIEvokDaDcxUSSOMPzsSSYZaLFSLkvCNIvgdpoaRgFmuUsKvfUofFaQNdZOnlCCnYNDruOFplDsIItiZkVllQjQDFeNTcAC", "c_map_string_7":"dsbTQyterHNoFcXVolrjCRdlvCXmMrSCWpTpYmzfnxWGbgFFEixPcxBfoazsuIsXFQOeNCtSFqqEdyaNFYDLfpVzbbIavncuokShXWZctFNajRwOChRfyNJuTssMdnomSqpTOSjGIyXLGeAtkRenJxgjzrgYchDFSEAjRSCckHeeSYnOHAkKBrCUNxUBPojuGeujGLTMApbzZqlYgTJTjBSEbmFIljLLGoSCBBwtxKHdoMaZsBPUtuGrutZCCCMKzrecisumwdtiCihrInpNXmIEztPqeOCCtlEQfKEzxadSnwdLGRQCvjYkUwAdXMUBVRjYpzXTKfCoJXQnJgjxxxWQQjtwqKDJRMQpPUtINygWkVMQbLSAqFekyxIkcDfDZfGmYHCvSHmRiFLofpPvjfpaeSWnugAGLQyrTIgkXdliPjLaEwRDffgOrkhWcYWXJNcneTMJYVCrBNUAblMzbItCdxKAwFeQOPrqzyPmxMaxifYsWDLtMdFHqEylSPgN", "c_map_string_8":"EUldkiEvwlqgPLiOeuLRRLcyImwdrGflvOmxjmtTkGBrAWfaEAENfcHCdkaJzJQGLHDiKhpTiZGPWzVBabwrQEKwGTOcqaRALBWWfSzdZdMrdpkuTQlsyYSKzkrXivmQqrvOdDhJevoadQuJhEqROqsRLctlmtwxWlBtOAqXzchEbyVcIufvWdPlwvCbeZEXzPGYatNqCpZqsTTnSwySeeouAMrvQtoQaihRbuPxyvGSFhpXuYIMWRbcyKRoigShFBCaZQmmpLMMelVyzdkXaCFagFScEdyAVHwbokINyWOpbKJEsQPsAySsddtkPFsAAHXqaNCKSRCXAKsvXVwXdSJkcnnPLqFLMaoHoIhKdHZgJKQbcnMhTwXTHcQsXDEJRmIQlyhERywJFKIknBkHfjoiKFUyCkvOWnaaquCyEHRrACChcFLVHtBrgybluIYlXzvdYxJfqWVyUlnmDbSzPSyJchYOFYGuEALdrRmXyOpdZQOimwrepTypZLKQtTWb", "c_map_string_9":"RonqHbpXqEsFvNsgepntUQLecxYCfuSRqecgAAUGLYOKIUfGfqvyAmLhDfHBlExBIwfNQRvdsjpWLiJckslLhDDWHYIaUZJOBLhLbeRkLJbPbZgDhsiTTEcPNzeEwptUgepykqDnrypyuuRHjxLmbDwauksLHBDSNmstVAemFAscWEspySzviPgKnGLbkZnYyfvRVpZrpNXdvkOCgaGWrZCxxTqlovFwhFlSmVSNRJrQrJijsoEJjOGplxYnAcUthRJxRvjDyjrplUnvfyfvAYKrPnVcqHKiLSLKMKYFeSqwrbAISWurqatUMdKoGUpljSHWCEbxdVuaqcIZUdZvFyrcHDTJgwoKfrpjkYhQGULyGIelOMxYKgbbtkYZaDIKpGBMRPPkhhwzUjZxKbAWaGsMkkfwnymqAUEFSlwsaucZYBgUqpYxxlsYuMDyYKHErTnjnvjbNRbmDzEpWcIwNHhGESxchRulruaIpYSrChvfpwsYbGMIjzuPnOfpbifb", "c_map_string_10":"koYlFmBdwaZicsCuieOPyyBJkdVUCaSuDZjlEYgJnYdGJwaYnDVqNrsoJCocvpjiGugmbAWptBNpefGwVKEuMuhcdvkjqcHKIlaawSNMDPPDiRCjHExkdzGuuEZuocClEbCSSuoSXXPYquAbZGQKLVkbomjFuoXjCFfGbmtvOkGWmjFDaXcaGcXkKboxbqBwhQhOzjFEQLFbpMAHLvKRZIZrlTDrlpTufNUaGjneJXoqCOmPWzSJsDUtoJyZICvAywFninBuUJTqcTuAGHmKMTggUPWLUBYFLQZvExOBIJJgRiQmnkksBajvCMGOfQLCwoZnxjaNZPKdixcggQzuoeKmtrLzCBhtuZpELlyjjiHtuoAeYcYDVfZRNqltbVgCSNDBWwVAUUQkRlffiGbhrjORxMVjPJZxMsnbRLvreccOxVyRgZWKuPXYAjOKrEYSUZByZTNSpMfVANxBpyLaeAHFQDpDxYoSogweEhyAFarsEaZnYuwblQuWrfpoCvmp"},"c_array_double":[27.526435112189315, 48.07634558196103, 2.986672180782997, 10.3206477331031, 95.3122678138819, 98.26202198972773, 75.34890844964418, 93.6019152758619, 16.187784756768206, 77.65398657579425, 87.18992097448016, 71.37428532349068, 18.300389238903414, 15.314376158537147, 44.11434620868856, 9.568293116525998, 75.16403605448653, 64.39370564924292, 14.802429961381277, 4.996672666144556, 100.43113023302173, 85.74802531165601, 53.90377206713741, 53.10016185151231, 86.63634542611136],"c_json":{"adjectivedescriptive":"kind"} }','{ "c_tinyint":32,"c_bigint":3804711012095265357,"c_array_smallint":[-7950, -5671, 1145, -32574, 25647, 16143, -13410, -31750, 4384, -20598, 4163, -7196, -15460, 6095, 5634, 15741, -16967, 1604, -24980, 27082, -30203, -16335, 16838, 10765, 32308],"c_array_ipv4":["jmEQnyDNFx", "ZOBHcoOETq", "SchNiTvvuG", "FADsidUqnZ", "xlKUqTTTjv", "XQMfvCvKHJ", "EGpaLydDLt", "vlSOHFVzHd", "cZcYixmWEA", "FmYFCmZSWH", "AfMmfghenV", "cFmNLhcmaE", "uujXYiPUen", "sDjxdvjEPd", "RzjPtfmRfq", "PGjavmbSgY", "YHLzlSgzRp", "QrlxXJOCqf", "YgvoioMgCQ", "dDjwICnmOt", "GYfnOJvADg", "pAMKemUhKJ", "DDDnPWDmal", "hceYEaxUiE", "CvsajjAEXy"],"c_map_float":{"c_map_float_1":98.15173, "c_map_float_2":32.491516, "c_map_float_3":41.38962, "c_map_float_4":100.35432, "c_map_float_5":83.33897, "c_map_float_6":87.6558, "c_map_float_7":54.645016, "c_map_float_8":7.909386, "c_map_float_9":50.11053, "c_map_float_10":15.83933},"c_varchar":"his","c_decimal":29.0630,"c_date":"2008-06-10","c_array_ipv6":["racmJslVtl", "glqhLrNFup", "FunppAtXgA", "GVeElodOuz", "mKpCMzMrpa", "hqXXnJNvPZ", "wyiyPFaeOh", "CscKIkdwHQ", "fIPfWhBfeG", "zdgFhoyuln", "AGymhcyCGV", "XlHfOZoPBM", "aIpLwzXKoK", "vSqGEzntQl", "iNAqrGXXnC", "EWSBlijVJy", "vdHfzztdsb", "kSEZDjjjrB", "BEGFTAboxG", "wpJxwiabvv", "KXqJSRKnXF", "CCEvPNZMev", "fljBxtmFap", "rqDHGwiYHv", "rgUaWrObcV"],"c_map_datetime":{"c_map_datetime_1":"2007-06-19 01:37:20", "c_map_datetime_2":"2010-05-19 18:32:25", "c_map_datetime_3":"2007-04-16 14:57:01", "c_map_datetime_4":"2013-02-17 05:04:21", "c_map_datetime_5":"2009-06-04 11:48:01", "c_map_datetime_6":"2018-09-17 09:39:15", "c_map_datetime_7":"2014-07-17 11:37:30", "c_map_datetime_8":"2004-02-07 18:01:50", "c_map_datetime_9":"2003-11-24 03:27:22", "c_map_datetime_10":"2002-02-22 05:10:02"},"c_double":13.983371129824963,"c_array_boolean":[1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0],"c_map_smallint":{"c_map_smallint_1":-10990, "c_map_smallint_2":28343, "c_map_smallint_3":29286, "c_map_smallint_4":-15492, "c_map_smallint_5":3844, "c_map_smallint_6":7352, "c_map_smallint_7":-24861, "c_map_smallint_8":17374, "c_map_smallint_9":-21146, "c_map_smallint_10":-24429},"c_map_string":{"c_map_string_1":"sUUCedtqVWQAhFwVmOSqOVtAFfzxrNlkCnCtGHsIYKRBJmZyCynUQNMBxGZeScAOiFwUmlQzbfjHzzqaxALOVJNdTyGAEwBbHMwFDnlDoJHcLPlEcqMVFIHOXaLomfoFuZLuyvPbuSWZugJVfbRJVZQtkACzufpRAbElLibKRrUUpWZbzfMtZjKLODgQyaorUOihBoTvNOzIWJaXRocpTquiSRjikkMyNgLcYHVzmKYMShpLAvcoGDwxieJKYhVFUrGJTkzBciGtmuZGdmHshWzdzPHdTSQMzWeEtqFJbBdzhBFwrilhrTVCSEfjNnOuxoieztJPleGPEzvjmoetbpnBYutsqLOCBHIHvrBPkxOpvAfwePJsqsCSwvYXKgSuQVuxRAptQJunlAnfzRLQpkrSALdrrUzFlkObJEaYotchVxFaeBYuTOgUofXEcouKoOUibghRgHMfLEbsfnwZQzGtAYxoeZPnbUmAwIAsCyfuPhjBZazDGgjXJdwsNiYr", "c_map_string_2":"ANxDcLiTqMBHeUbxgLEiFYWifJeJIFGyqYkqljFMZWnpKOtrpwuOMVTMyyjukzdPQeUqwICXLirSAJbujjlRImZBXkhIIfwwTZlchbvjOKvMfuOdaTKkRQMXGqItAaqDKPxvnsUSmQszTHfxOzSnyLjBCMUFUHwZpDljTeLMHKOIQeLewbDKypqXDHMxVbvuJoYIYJJJkOGGJdEXOtMJYqsEUtkknbqhcSKtikbSfjewFelurpLrgzxwPRRcCEJFZpOCqjluRkBEDnDxwPawjHMTrjgAgLglUqddyfZSAgXgOscIBbOJKWgWntIsPcYfovPGaVAzWTvIhAZDTRFJHoXLgaxzcfJhqhUNEydSvGmghpoCBBnqwBNKbDgvkCWMzQSsWLKRaRuxMBZBQTTUyrrqmVsTxhnQfHmcWHdCZILmuJjDsqwIrwveJLDPHYkSWrlmdUFrEriHVGkmRaVdxfSEIRFBClaKmsxeYQrMrwteVYhxlbZPvTFhBrgCvCEp", "c_map_string_3":"tVPvHmDXysMIRGfOwGDdCpvFAYAyngQGMCcOHdjWKayLdAMqjFfiKxDtbkkyFpFHDNbmhmVOXVPtJXFDlBcdJGDgtXoRpaopVedCjTNLAoObtgVtjzYyPgNnibBLMnCvXMwAwETwEAxJFxMHkwEKhlpIBhZgiNjeFKemDKxczKRGpXtFdJBWNDlbdzgvHAiQBlyishsaAPuXayNIVIsHrkoUbgySsxZaTwILQiqkbNQLDrHsAeBejLsngnJUkqbZZMiVOVWxHCEDUaquiHVcyfTZNJdYAreVUTHjGIYtGNfpmMcTVCpXVCEqjUsWMOhCgLcmmSrQPpXSBUJSwWwVJghEkoYGUoIdtUrUzsUXlamPukFizlTKXxhRadELbCWlbSCIAXsqSWCCcevzpqjmpHXPCsPqCqsHQrYLSIQDfQOcOyiMFXawyqQrpqKOTsxIuWYEiTEOSCLsPhKvFGbTrabtXVspUsuIuUyahLlfrWUoHBjvhAECHcekjcsSLNSB", "c_map_string_4":"BTLnELrPdhloLwVMURSPrzQvWFhqSbThutkJuqYILNAWRQNgZKRbPjyQaGXKetAlwxkDWvVTjkoMwAEBvMUtdRlFRrDPBgoAbyRfYobxFwcoioiJYvqvElYAjTfLzJiiKLxOEivuqJSliFWmFDvwkmjsvIhWGpQjxJBBqqRZNvGVzQSEjXCKWlCASCBUZMKiiafjMfUaSvGYCDlzlPRkgIqxHaOTvycGOsOuSkLYuxSrfoRsSnnaHOmPdTRGpTXwrSrEpuulSqvLfdEjVTDXNvkSHPApvgtrcrKFhnZIFRTYnerZYLBLkTzPzGtuQMWvXiLIkkmDBdlASHSgILMlBZwLLwEFgWKWUSavFJZQRDOWxFgblAWfGlSTzsYtaitphYIscgbBmrbEqnLPWDQfppKaLoefsuIPtMPXadbXMsPWaEFVLOQqvjdZYUJCbxAJPEUjHhKzhkueFgxfGJONYCoPQozGcsbSeTWngcZxtxPyUHaHgVLeoTlXexLPLCut", "c_map_string_5":"DrXmLfvcogxVrgVIMhWZxsTHnNMpyDXZCsUitOusfsSpyfcFdERMbqhlXWZkEdWzkUwJHdoEDpEGDfybnFsFXaUktodHCBmDjJhqsJGiVZKPowjwjgsdUPymykbWdYEckThjmYMnkfugaTdoIPtnPMjkQBHRUDeqULakbReAUdzvHmePcTDvrmmJOWuzRSkLkMyangSLKwiELZoKGixlwfWTETaYWJksSJIxdMVqFXsDUQpprCJbRlwjLaibMnzJuilntuqgQivOEvnouBXIhRwNMJkWSTmdHWERNdLeKaBUvJBpHzBSawnJzcJJQYPXSObxlGsnrjDmDbdCBloaEPQxLyZDHCNfTyDnQMSZyXzQCBtUMCgTDWDOXBInFSNpvKWYatmLaTFMgYQXpbVNczqZHmaHcpOpAJDpdMwmlLVYyCDzFIiBeKBroxLpncUzVLPoCDswNhBscelpNcOiRJsSqcmsYWZLEUhvwWOlNPtaQiiihjQMyzZEsGkkkrte", "c_map_string_6":"NSAbrUkodJarbEPuUAMdFLaqQohWVhrMoVpdnPUoXfuEshxGMCNeKeOubdouHXzWgQGuQreWGSNRlyPJgyypSdIJaXKOSsYyFityGYNJGjpQwnSknyzMoLwrffwsOnNPzpbOsXvYFaBkTflLJJprMaydxkOcsfRBUjkVgNEyvClSKMWMUcdxtGcBRePIeTqyOUeEuKLdXbwVuANrYYakceWaWnjWSeJKXfmTyNVdGlrLdYWHAKGvvjBmnZoYKnFRattCfdIKJKrffCOWDualKStNIjCxjIrifHfRZVIFWbsUgDgcgQQPJeuHuokmrXvAEBnvQkrUZOKTEZOVvgFXcmSlUlGGQCUbQxpkaMnVzgJKNKYfXobOwBQYMBgCsCrECmOrGrFXYJTfxuOFVMprgYjRlCQjjcBfPVfDhFonjQTDLZAkPAZLfNOJiEdJCJcDwJrVWGwJfDIPsVKCoYNaWAuTkQIYlpTvyoDxQHYbWGLaasSCrZrIaRzsehDWzmko", "c_map_string_7":"AJFrlfLhshrsAeUubBeZaZvtSBxCMkRNQAlmYxIWahcDLitXmColbVrIPLPVaGkcBlpnAGAzmAKfqsDuAFiQsJxZcBpMCVFWkUThUBHcSzdKmzApLZvSxTzYWkPehIahlnENpwVqeDqyMmcxREYfytAuCakozIiryTGDClbZOcdQNkcObMXIZjPXvcXJcSVEaJmGzTxZCcbMsZpNWlNgLiRhirbNwJooyzxIDSPYiqYmCcKavyxevxPjBnYwPjApvVaLVAcMOqKnIvtkcwMUYfRHwScHAmbuSvIfbHOrDVYinUhemJcmIyItSvJvssUIQuFTwNjscssTwPblADpamInTfEqvpkxcLvlZOvrqsZfzBDMPGxReJTZbDrVQEPrnZbjpiCpkyBrQNMhqobFUsxMDozxZtORrXfvTzXrlMgHVzwyyUiWTKvCpPIFxsjBKFBowQwpkJUohZHPfnWvzaOmwegGWnKqnjwFGEnOEZsMZimUePpVCBTMmQhobOMon", "c_map_string_8":"KkonTgvFsDrzoHBzLUOxrbKfPQMSrIrikIAeMkktisSOsFQTEEdqhWBSYMBpRnJXftLaTjiZfgQFhlYNaiiGTzqmTaumYWNEEYGclibYwiFRsVzOvGAkXSRwbHedwoCFejUmEWCbxmSeNrCnBkvhLRveklJGgBubhQRBWOdHAdQWRXUvaHEaQPsRJlKZZuNfBRcorDYLHFKvHZFmJuUFtGnSCGBhJkICbtsNSbWAzaMpBJcXgCXiwlVuqHwYSNtSxPMnytNmczZcZGlkAeavyPWLcAihltZauYfVrziXkwRdGZhvumIAoaUYFXLIJzKPmQqOOnbezYZoMwgankFTVYaHZzjCyokbhwPesvKtCZRQbwEtyalRuFVObPJukSKoqneQVjMIGiHBSNwJcadLGuJcBWbmMToByuCqbbVfliFXUTEndcJeKfuxeKMDMUGOYFlCZkAqtUGKWPynKSGYtjglDqsswbSjZBtELQuKxLxJrlWdWndxKvHMpMfpkcIF", "c_map_string_9":"tknixcUcLfbdhEQziFPfwetDlTwTrpHgzbTCUcMdzdrRVEsqAWCiNDWhiRNDGEHjPXdOaRLlrgarnUyXIDqYFyWtLkDOICcTRBdTDsfgvhLkBloysrkaXZLvapedDEhjbpERGPSWUfAqHiSfWAlzAtdQbwaDxLbQqdHeIQRvMidIOqikKkAtMBmxWTjWCDJnmRpxstYnWePcqUZbNQNZKNbCKoQKPPgxfzMVqlgVSwwxPnICFfNCyhUliaImkvBsphuNUYVgVFPGQSQewjKKAotSPvsxxfRCcAEQpaLAcZBAlHSuPOPedNNouKYTizwzaGeuuYQWpZbkBVpYKTyQuFiKDwAWsdfUeiUXJlJhBqfryJKUhOrJWoIxpJEvegBgUkzztfpiNIjdQHUrqdBJJuLqtDzJdoOzBgCEFGfvYoTMHwwzRJPNglPPcFsgCQdlbjDAqbLjerHVymfVwqBsJYzfQtiBtXGnASdoIxdbjUxOftdhMireFBBNKkAQwGLF", "c_map_string_10":"ZFsNgHktDelEjfrDZQUEuDiZNnjXzOhedMuyldGckjfxefnormGCKuEpkHLgATSewhZfPsxOPVCyWsxUNVrfaJkdTMmtGAAkzNDXwIELtREAelYjuZjxkVSTxJwPsVTEAKgXRyGBtneeugIPjDAaLbKTrjSAHJeqSpNJfDRaczkAeRirPhZIHvXIZjahkvxGYrstmcfosZhlxGWaQVDWmKjASjhnLgEaakZCOeCzHGlzEOZfuDIUCJdLIwaDZYECAuALZEDIEextHWsVxCEgZtfxrxpFtodMDqgLURWuXZGlcKVUOEgoITCbxIilnIqzbiIHxosCTAIBbZUGMXBJQSIBOoILlzQWCpQGTOCWGxhCtuPyOjcZKsRGNyeSiZPYgdSZrBOQjkqfKfuPUQchEIFFuCokRrSyzZpKAAnoWLVqrBGwyQFSrWWMKbRJtwFIsTBuoVcrjeypVqEgfMfRgNveKdrSWOrdKlCaXwPanpnJqEYfLkCBTBrYxMGHNBKG"},"c_array_string":["tJfAsgueCZBJSMLdwzqTEcuzPMEilrFqelARbDJsxrqkfNOvPFESmpYHQtBYvUQOzuLuTBeUtCNFbRIPvjVNUFbqWWzLALabZzbuqoOoYxbzXKejsMydLjwoNZPScROFPiLfrlecdyqIOkXIbzsFMoqbmieIPYroOXQdmhFYrGRlwRyAPaDIbguxInzDfibVoVTDKnWbVsDUwblHZLPIjhAOJWnMEdXmvqRByVvgmwaUWmgcMSjktcaDcMoKTPcfCKzhhpaDNWmKgzRHHMMHJqORrRzeemcQDCTxdkaimgQZXzKfOaFvVbUGLhjYVFxLxyduveePMrktpJkFtHqXjgkQdNzsWHJOShnoPsjkBnjLMgCBTMcQALUYvZEkuBrJzbPtpGKWlkoiXLXyqgnWmFiAGYgFWlnINOdQTuYQCuohbpekNrXFGvmzHEMXAhZhmhjNovNVNJzNDVcoidjUwGpWaqvaQLpOACvGGhUZaUMhWzvjqsCCsvVOxizbLwcu", "TnbJItOtiWHPRoagcwOORLPocEBnmEmIITKoHoOvxIldSTVazndyfSjMFETvdVEAfEatKwxttYcFarWPUWXwmfOIJhosCTfcAHzwIKORShgdlugNlpixDYxlMMXkDDCjHWTrCTQHWBKNpAHJveTqxjGjmVeVRiICFXgZduZJXqNFxTSXeRPJLhGGhsQrnhuGhwaNXBbrtnqMjTZYQreeOFbsOzABTThsAiFHPFYUAvjKypXEAaTRVEUPnAvHkpCsVJLlMCsqFObJJZdGYNuhEgVxLQnYoNtUKGRnIyKXqiCAVZeWJxkGazjMlbOgRXTKJsFjNJLkSZneEvthfPIXrTdHiftARcttlNkAbjkpKFoIawBOOeFGTEzaNCElWMGYqPxtMyEJFPHepWRGyPNnjRyVrZbbmZKmVufKlQbSLawTgoubaPvDxRsYHeZNJSGbrbyaFTIcEeWXGthkTFdvJzkdkDQYrTaiNqmmVIMfGwvqcufiwWJGpzQuIIgvUsZo", "caPIuthzhYRGtawIcmhRkABEujMKREJgNsLXPYeuXtdvjKWDpuJfmUMHGrXIXWXaMipNRKFtldoiYkPsGIrCwqlxOKmcrqqoAFSQXLQWBPhpLIKAPzyoBQMFNdoIIymUWPaaGyBUIwIaXaZtACZfRcNzQMOuOjkrTvZsJtLfXWgxPsSmflUPylauXwViPunlkYOpwVgvJmBFovXCKiCvvckJWpUPxPxnpKglNjexusmFnSpFNVUtgablfwPJCGfEVTBuwYTWGfcoCOpSlsencfUtLKvlaMePDHZUMKaVvONJEoyNHfupnBumthDDJjOqPoojsABjBCsKkmuaHawugfYIDGQUBCLgHSaNgFFZEYCZIIAYBvtELchqCkGXmopWntjeAiNYYJOCqhttMcPuOONNBtMcIhYUEMosCGZjwtUSBoYiqBxJaYinSRRZBnDtLzbsiBbRMdwqxHogVACiUaxDLDsVhloNWjmdisEmbDdVOWBVFRwqKuMZacwFHsrD", "tVNDLDxTLbVhiPPLvVAAMsPAdcJbiDoowFqsvYmVAlhsgOgWUGYfBrnSrrGGOgvIDFiEAjpmbjjaViSXZFzQiNdMLbvBgevhTaLDwivEXgRqDLsdPdnRBDzfPNFdJJauhYHGckUNpDigqlUIkyIVLxTJSsZPYOwFtNitYMjIZzXGSxQazbyVAQdmPAcJYCZopQDxUclnFWoBtSiaDFCvtIhNZQjoQIAIPrgzwTcRuzhYarYoEaNLwzlSfblyYOkfforXDYIjzLATJAszrDXGNdByPvCJacjlpWOutLdXGUNsgbZlZuqElvpMfJaDFQJuezWZBmNrEWqMvDPZjRVbisRcERdkSLJJUkoOlrASjzupuBPEgcCVJUAIgcFnyQfRVMOmATCmIrZwtDFcfMejJPjJhlVkGyWWcgRmsDMkrOMtrvJIAjnjePhtkQcUYSafFCHJkPtTHCFEdcSbzXYTAwsCbLKugxTYwyBGScBIagHmHebtWvuUUxyZPPPPWTDl", "PHcnIseWxkTlTupXLGLOCcIwkgoinfnavuvMiRNaEzANXaPHYkogvEqgwPISOTBaduEAyQSkosCFbNQgKZSznHhMryvEoBAAsDsKIEldaJluuhNHnbuGgYQpIaOvZxMENifchySaExbXmheCgqAiusCEYkzEQEKemZBWdQNfmdUPUxOyvuHLPqqjhbmMwFxXYQvFdhEcEWQrvpruBlCLmViRLZjAQbfIraORQPuLgxrWNQQlfSQYjIsDAlGuKaajYAdnlsllRWKwwHVffqkuKjehaFgJdOjUeIdWTKKIZszQpEwdNTbrkklYIdFPSrOfPrAGZbGvIwBVJAQJMlvdxGFxhKlgvdfYxxCybMWEDxKSksgYoChvjzNqWXSfHENrlCRsGHvyrWUkZWbZsMubHFVtokVcHhMYOwnkZPoFfkiimwxHyIFcFFPSvlxDkCVUuISSnXwZFAJxXxfmduyhWtsliQujSZOaSFAOcUOyJutDvGumcjIqzhADdomFKlsQ", "GRkatdmkNRSpVaRsxSqdBdQTLuOhlCyWZtTVpNvMlEPEbkneTsFLuDzBMEtKemnKRTIZbqHpzBpsjaikIfWHkDhnKHAXqWWOEkleeWyfKVFKwpXJaGgUdkUsLqnmMSURtOVEtBWOOpucUnIqNFySIzwdnmUqodfTroTfvVMiIWreTRAujdLnlTSlJRSELmlkktsXCkTMPCyCJhhdnGmRUUTUYDbCBeqpmqgWiEKNZjaYxkfUMLHOwbNulphQVKQwqKWBGRthNFGHBlJHkKoahwtAPMYBqpasVuQqJzRjnsKWGcBGYrXAtdtCitsyUlaKknpZaSNSBhiMvVgAzhOCnlghzkqkaiNFYqnpBTmLChhqFxVRtgSVYpiGmYwCSLOkUXvXMeXxnDHtDEYKTCMdmFvOBNTVBmRcoAdUcNYCxoYOYsrkeWcoIuYJjfkMnzaocKoxJdwDtfNVySzAsxavjeqIXoQOAplnnsifqtaNBIATVcludIPvAlcCZSuGUUzE", "QJTPWnSTbwFPrMRbIhcZLEPHolpthFlXHuOjwhDfuWuIJRWHKkcWZCVtgNxoithzzpoaWznqhczroOQGFLxbJuagRuaLnShrVLuFKhCoYlrCIVQVeAENTDmaTJIAqcKglQDTxZJmClkhELYLPBeIPKaHxwSJKewgvfqimHWaaAqcumwxGudfnhUsvwuWnXMlWOUpMyrgBbjDaMoCRsiaLDOyZsNMpdExjPArOpfbbVgYjNCmGydaATBVyBciFEDsfWFxFZCzrsegYaLIqiVEfztiaSPyBUbHBKZqNzOehoXVAXqZtoYEuoMspeUUBCxsWSBkNdEJBOPDcTMDmernVmIrESIdXYYxBwhatHJFybtXolncCQaxdoyTqkmkYSQLxYklPzrQTDuVJfKIyYBqerzhlSiHkHBsvlnsnbjZrUIfacGfnrXcQakUghTKVvAqjewHHLmJHnIWdgNOVgUnozWgoOqqGsLozAsXpSjBHSneiWARNOmlubgbwJdkZNdw", "fcqpSmYTHmdTvAOamaZSqrNoDTHeyaEYDYsoisLmveFnjfWcgaLfprZxvIoUeyfzVSKtaFlMICYajAcxaehijTpjHmdZKGddxjcXyXgRbLBDmnpQSwnTDWbAdRLAURIRotkNPxOXhiWcoyqHtslTjJXepOFJpYZDROgegTjzDEWdSkTappoFdwnXpRgfpDUWzdBbFwacXFOcFnZlIRnwzlHwEvxoSXLmRBdjpeUovnlwkXupHkLzkiCHyJhWhTwjVIOzTtkSFZCughZolpnyGQFHVqgYGzYcNYxvRVAJFSZMgfBWtPClWyomLTYpdTYfZItujGWOcVPeqpELHulyrVWWmWnKrAwCUvXBVGzLXqFUkvzzLOJKvSRmGdxESQeSOiJmvLGZuMBnQgUGBYCwZrvorXnubWEoqamLvuPEIdnEhViMHXzfGPVpEKMAhhjuYTHNCWfjESvCRczEeOYZFPycAkNCFYANoHbEuQTEuYRIDYmYflvBkxjeCAUpPSSu", "lbqbKjnIMFxTMkzxsGZtufvgBsjORzsOzeQDFoIlppDYNPhLxsNuShOfLKaeACxGLDNorLZDiIIBNXfSgtyRupfkKaHQAiNcMQJnBKDBNLZySNlTYUQzSLfsYltzSYhPZUbuOycoRZPLWoXVNQIoOPdcOFeoiMVNyxwsYbMsUtysyZOxCGkJXJpfCZTracrDTKFeJYtjmizQRATqDoRdqYevNzSTEcbPBwZjVCiwgODwRTNWujgQNehMUwEnHIFNwVwaWgfwPGFmbyHcmPetmmJUxqZgQsjvZCSjVbGvqAvJjGwHdwfWHYKuIXSJPINFwIWRVihEJdWdNZQgifHgHDmAdagvoYkraBJyuvZnvngCQrLqNTDubkOaEQJTEEOTZpohoWPpljDkcoZsoEBNEnzfUOmDthApSVYQTLjtfbpgjHSgiHZNiJJcBpVgrFLckwCbQCibQXiGFLjvdjxVbSjTIPWXDAnejNqsFZXfhKpeWJmETqHPomXpiaFjbIgG", "ggfnSvXRbsGKsfgibcXAOCVorjXMzvSHvVicXwjSggDUsjKMFmBneUuegEBQEEPlogmwGDexjgusXQtZvHJKAuUzWkvAYsSQVkyEFgOYIYdUjWMTvptzjqzgfHzTqeZEdafyDEdHnkDcELDTwGZLrbwoYFMbtKfQUwMUNOfimEMAYlFtzKLXUgatbDtCmiwdndeiYTLngcXnmdwzkDkPHqDEhtVZiTsAqFHLMeJIvzbfRTDQYbmZfHRpARonHUICpJdoJCANVsKQiPMRDbbUIQpUEwrgEZNZaMWLMLqPPGSWXqNVygyWEjdwpMYkntdgHnAIEMGAAWKlqqYZKGBsWsLfThfwoeAZwbOxVWGtVQJfoBbwObXvZDJFqAXVCdXqWjQLPHwxYuqgYqZtzbssqvZRhemPLitBAnJOKbHAFkGNVvoKSVcvvfcejfxltClEHYiumYPGtoKdqEmWdNrbEChIMgjObuiiDISfnbmlMDiDkelWFUskeiZfnEwfDFnr", "jikDtgWjWWOgkFcrwvcVwALyvQQebprJWJmdJsauAQuMnpWKlztpNHtUgJnMZcooOSIuJrQWCuPOSZccOaFERdyGutHqUZeqWfjYePXFVshgQOWcWKwwmCxNCdcnRspHcslzssfmYIIHsdDzxzaekpHVVBZQRTDLluAaGZBmHTMCXMiVYgMKbJqyBaTcJQhOPzVnyQoikIVouwjgWyLREOyjKSzgtiacBLacOPFQKsfKIswfWrewBaIeLIHjiksUujhZJCEflKBaEQDNsDDStxwSAgWmsydZCMvQdByeMTcTVYbXauMCDRZhuLnATHSfFnvBnawvwqAFnrivTLfmhGdKVtMhlxRfCqTGZFjiOaCzALrzMSVerIMnAKntuvSvuDEAMKlqSKQtymrLLmhMYZoZXyDyxCDQnByLOSmtvPLojjOJroqZGJhYSKZGdNRwahsEYMWAJISqSVBuLWLJuVccbEWVGFTsyWozskusAoSizUutjnVraRtYLQMLminy", "kYVRotMwZaALHeCPSOjpVZAZhCTvcjxwiQxNYbCPpKtIFTYtGjVMMbKSehPUkxaHgRhkdoWTsSieBpsYaXLTUSOBKTJtmMGWxzGVqVTiqsYPAzCfFRphrnnsNeaQdkqoPjLlbShojQbsEVDhmFbHRSLzRtMItQkqWMQtxRelLjsFUxFfNcEYtEeguYxheAXtGJkMueSMlGfwmdGQCjiBfoUfPhzalOcbdglnSzLESrbfACehcPdUBvLxhaXPaqdjvcuABQlpKqWghoUhGeRcuLuZLkKusdrkjwYlUKUszOmpSTHiFAolFlpKFcJtIGzFUehWtzduSRCyEbhVWwJBBmdptSywjvMIwrVXBCjlWcoHCCMGUVsEFYiFsKSuoXrEewonQEVxeeiwktaVmLvybGHJezBxeyaFpLgUcNRxroGKExowleRdRtcioZWwucIHDkUURDUWhBHhPlVzFYmjXxRTIXpsaNlYBkKTDuGMBilDExiiBDVYyOHKpbjxtWnt", "iHYOXVATYmQaoMGGCfmRlLrqEYPuZchIBQcOtULfSAvTTtrXXBhQczEAMWIHNQRXHTdcvbqQeearuLZEFDRvZfgDLJKLrOEfUjEkBfmmmXdJXcBFwbeODzeAurIMIQUNIjcwXYqljIXfIhybbsPVrPhgidfimSDUgpDQjAycRTusAbkQQjofVMXoEkocNGNyBNyCpeOcbUzbcxjVlSTFWySNdjrcBimofodIxDxEjJTTHrApPqxJMbYBUwNqnpBAXBYpVDlDDtoKiHfUNTBACzafVzUCVHAyKQouobQvERBrQVvxIZlfHuyliBsSsVmTdWJKWLLaGzezQkKYAjyivfcyULCdaekSOwEWQZIgAbryQiFyGWIZqWKlcooKTseVCzFBOiRjXDrIbPySOIsicYXpYYxBuVquwRAyrDrYfeSqxhnRVYMRHJAglHBOtgMNqvzJdPcrnasWUZbLOfdeOmtXXvJpYMxTgSZiOWvIfRmYkMZchSzSEveDOlssGMPb", "bMDlugWAcyrVYmrsjoBpGVIqjvAbqfIWYCaTjLkrdHwTqHxnHUoCKHqlBUUNAndoUBneMNMHrdDMMOUjQUlvfnNfdRnELQNCvOIRlbbcLYFoPvivLiwFQOIeTbVgXxbhfnCbsXFfnjgUhlbxENUiikzsFaBRurNLRxclTivcHnNaGaUjnEkvYsHNQHwGkgItlYcpChgGlwfhmFjTFxxuHhzeMFOYLDjsWXOfsMzQyYNFrjTdTkOgqcqTPINUzgUolhOTzpoFzwPVxVZKrDzquMwBrVOayLkAoBIEKLLrnTyHWZhEUdtDCAbZVHexBylcdgJbUQMZEhpVWXLKIAcToxdZsbVoIrIHXgNNvmjShlqTpaxYVIwdmcBnwXPcuUbRNGaVmqwHvfPkzvaorBxuMzRNvcUSLdqIAYaOQwchrXeWOHcZMyUOaGBOaxGezAuSOhgTcjBkDpSiPaLWAZtPfFoRjMRxYPjAZUhbDzYFQqHgLMMeJAQRKnQZEduYuKeI", "nLWArhPEYjGYQZxxmRRTePuGMbeXRHAUpfLbPnWoyyiABChHKVHXIOMWRFhdsABrPAdoBsjyiOefbPseEgTheIzjkEYADVYKTdhbFfKwiDNcZwWPXAgZSuHTENynAMMUBsTRzATATHEGPluhzhMEErPPsmvWVjaDZTXjunQWNSkUMcwHxSobYhhcaQUdfgiaHdMvBGuIhTInyKIJQOcGZitrkbdCObDyZwZjWEulFCXdRyMQqxpndWdQdXDAAtseKOKFKiimtalEFPdCNDvlcmhSuoHiWAxdCFovjtVhCVXBwbJHjNxMTBYUlDDxDdjSVpjUVMMTjbvQcYQTHQzCpuXsnxBqSLeEKPqQQObrvNYpyvDCEQTEkKBXavyYWogSEIqNgrMkpFnUSBFvMgKjOyxTludOGfUXYMpjYFNQimRGiQMzCYblagfxDRJrbynLUtkkOjlRYtKkonfnYBZUFSufzJivitDmUMKgyestkdbBKVgkyrxNnUDZPVXXuJSx", "mxZTsYEOffTpNmmVweeidwWDQuaEAhYynpWyFgfhCpcavmKIpfzKvgypywcrSTtUETorDeUXQNYaxeMTKAkvaLTHfgDVZcdCOgerdhBkUILoPmcjLKXURnNcXlEpTQfEfHeFjqOGfFGGrXohlbopQhInWKZkKUCbBSQLWIaQsAXMqGjTcbiTCitxUbxaIWVNlrKiXNyAWOtDiFSJRjusHzIdpbRFZdUmcHlUCxFfpqKKxgaExzyvxkTZZlrxjfPvojmBNCDaVkfpCGFRvtLxEYavxlEglKYddZkawHiOUTaGiGsJnChqzyaBskpZQNkXqqpaArBvvrmWOFSUEJEOcvYICRrVGddWMKcwtmlvrftRBdKeSnxmzdGYZFwLWsAKcwGGUNJpKaauMGPAyrWnjGlzioydVUHEVHhOfxGOiVNMBALfRFxaadIUTsDLCWjccjtkrIwDQCmKVZofmxCtNhXsAAnOsEUfQBfqkmRNpysDupnQqYxhpOJfmePzfcDJ", "vWObaXfVDGkanGiTMfiUfAvotcigcvKQWbRMgeTVTCsnJpVFozlnMgLqFTqVFOJkeAplTgPoWkeUXfdUtQKAUdpuntFyZOecWNzivwNxbmcsKHgTIBcbDDuqrUHmRinOyJGIGJzotFsspJxGrwzKDBrmuLQmOMeXQCxnrLqyFNoYHfJAudAqDMsczlWsuENpFoVcIWSnbRPbNnDZObSFfmyYLRoMAvbBHNbhjetoDoudZvEwcUJKFjEMiMPaTJsVqNbGHeKApADPoIgLHphIuYcRkqqBwwIVWeNBkoIJziWkfjZxlcbqbLGiLzfZxrWmjYoRjfUFFBYtfymvuXNDopIMDfAGkbajYULshluuUNrVqkIICxjvoxsDrzGqJSAcIuzFTUCCFERpDYUwifbGqNrfYXUnWKGHOyVpNCJKtPDFncYJrrToJFaALvCHqOjJwzYKlvypHWPqqHrbrGHaYFoDGPKGxmPyjENVrXdwvcFUdSTLqlKdVSItdyEGXlxd", "cnptyvhSxKUtNLsQqXAbnQEsQEZmOObrOlbSyuCFaLnXntWCuXoFbqIvXypLYakoWmgGYJMheKMpNUUOMHREvkIIgUWyiZralszEfoJmjCpxdYglSplRPVqqbwmVHXUXFCWWJCYZtRIGaPUNttKlMxuwWskLCpCHDRnjYFJJCnHCbExSglVYTACPDkANMEDXYVkyfwyXHLkRjRPERAoamwotsVtiVJPpGNvTxoEBnYvkmrySqIfGGTxvzMGtdUMyInGyjZtScdyyvZoMpZgelqKFHIMqaXiPaWKhtQavLSiBErEsaPWaXKGMCumNVnjJnYQHkUhgedAQTLLPsnyjnVGWAcRxfZnXTIJcXHViWSzjhUfnATTMaLCnndeMXxXZuoCxBohIuXPYiGNuYjXSpPJUNIRAVehAaampEyQFIdiutspifLSlmiKstLddASgVYTWkJucfEbQzLbvIoaPptIxzysoCPzZoFJQeEyGMLyoCrnPOpWGcwxLfbciBXhWL", "ZxBOYgLzYcKZrqclLhGjOjlrduWiZEeUsmkqAYWYjxFMFuVFURipLsnUfLvrNtiWHwHIfkIDxziHuRMfhOfaSRMLYvvtLqlEAwreNKnZBBEfiBBEQDGTFHCPJTrblSphiLRhuWxZvhteWiykEaDVhBetuIxehvhAzAOOQimBJnMUfkofCxpxVzORKbOeobEBMLxcxVGWBEFXOfCIqgSGFPxrinZAyrQISAyWREaktuddOKNjCRDeauqLcAIQDvuwhWWYSadLpYogTikwXqUVRhjEkhMlGkAgKQqkglGiOgWObzyysUdlheoliYSCRCXSTwpIhcnCMGcwOsNTKRgVCDpKRJAZtmQxCSluMjWkbNdPvrLLGBOfystjqkhNPYahYaWELzDtpglwctjIDAfeWhNrdchGqsXlaikahVJfYFloogkiDDeEbiHUoLlaDREGqNOjRXNRAFFAfKZNLXHDBwOcgSZqcHMwrDNAJkBhaqXmxhVvKZDsBWvnFzcBwZir", "QycfRrbbdIZWUTedQOVUiimjhxFXRYPtYbYxrHksfuNSydnMEyydAbUPUcZXKuIMdwrYTPqSBUofJPOQJfEYdrVQzUesspGqrblimOgeYQeWoJXdGpjFiebdPNQeJHfrGqHFbSIZjdNnnWcNWKwmDMJIgjJOBCmvyMwuyzRUMsPPARCSbKEejRkKUBFTwvBtYUVQHJinxExqqRQoaGBuBUqbobwlDyjZQCXGeoyrMkQBPPaHryufuwkmJVyyrTZjhEUGEIUPHCPuEQZmrhNEHbJpXrJqaOlEhyiplIeTiyzaqtQFddrhuRRZoycxOKrITwGFKdVxpbpkYVpbjjBRFbXxlcSIBvNcyWWhEVDngdAdDyqOezrONdvUnJWtuZvgEbMBbzNNlIzyuRATPAQIjILAlzsSYYnAPBjVuRsuEOOSDWOcKoIjzTYQLtnxjgpUuMUduthLJRrnWnQsntlqizfuMLumELwHOYcjRkIqQzueEqbpXHyurjrehPgiSpVK", "ugKkZoqqphRRBVOyxBApIpUuUBQlPFUEFuxBjklkkfITaLyYbaxAmLhIMcpCkdcTsQSfjStFLvEpSfsEdZkUbIZeuZzbaPDYsRqYlGMctpqrtYRsaIfVWiTJIsvoAZlZalgNxlNiCZVnVxUfcGlKyjREcTVvLQIBXpHGFvJCANlRuZjnFNCmMAUIcwgvMiRtKAfpGLKzqlhyELYXAIDnecCCjknlNfcGjdQqJUGALKEJIXzOFwKEpwIYewCyonmlhcCmtQNYNbrwtzIqBhurbZpRVStcUyTgjnNlGLKNzzRfkXOCkKunBjiXpjATqCnfNSzXejnmIhaKOFaLNhdnqKMbHKcvAfluLpNiazDYGCJbJTuIPHnlBQfellXsloJOEUvHvVVikVZqMuNsKdZtPpkLEdwlimyGUGqjRgVbZjvHfxJCzNqDPoGDSUrJhuRAWJgbDDqPambvpQJpfjOKYUBXCwErpYWMlOFpqATpZHyrruVhnqNuqtQZjmNfUzZU", "VKRdNglTDuXknpHCtQzBfryvZnThLnCxRKRJaVJsYxOlTKZbXYPeFffCGiVMVRpIXvdTJonoqjeHlSmpeJknwCCYlrkNTkdRiMIPclLdBTaeqGkevYobPqehiDTNSbWOKrXhSzMEpObwBApJMWNLTSykzEqeqbAFKidBjZNjTFmKPCSaQPwBECFxcehsvRgIxqtxmMREaSwwMWIGoaDJgoaSgEYEctMxdDBJVRSUwxQvNXDrlnvNxKcGHIXZpDCtAbveJmVotIBFyYtyGDuTfJSPJSwHZJJoEbHdWYrlqgAEAMDPlCCUCgGcbOgJVPrMiHSScdZanBxVICLcmfMGJuoSIjVCHJRjhUsTTkfPTubjHkphnQbbPkpNfbImMBxPJIHLqfrvDWHoceAvTrkRGtEtKtevpLLqAMaPhZztCJlLMGMvYHOnaddkbWdUzOvOkNnitYsVrTkuliDBZTlXtlUhKDuAVbQzrQAiahNJAyvYJeWAUyLUgjFRTAyuxjZM", "GkrolakjGrrzQYuojnBxMplCVcNGxrojsoIOwgprHDwIPaoJamZFByOmItxFSqZijhVgKdfmWwIolgKRFQHwEfKxPOLhKloMxMVSbECnUgRbdakvvdWKKlLDWsdqbcKgGdtISAGYcXnAhmkmLaOhKYVnzhjkNyxDmdHtXQhRxzqpJFZGOztJhvZTkxpTBsxBEaPNawmbUlOlaqMoBsIyKxUzamWlyLnvkbEhpjKWUTOTMqhDBzaeSeGUisITbmqnsnxvuCViZnMkOWqPEcKVoYFtRXdbLqYisPXjQyMBgJekUwsFraRBvRJxDqJtFfqhXBsVjVFrdiguhrNpPwMdImfDplpigpMTLgTAhHJTAiTpcqPMXsHELXxJCWpcRSAAAzLaQwpxlumWHEvHyHDQLIhWKPKzsKeBQvTncNwwsFWYMYFVXFNkpYLRnPvPIXTosuJRSAoGnOZBSMmTspKladvmLxLTtBIKHGSpFhoxkRPZSfDVbHbuUnOnEGxbaKzC", "oYLkHuYnvtgHxLyZNcRoCuGjJgkXtYmSFHMCJpgqRttDueiLABSatyvREDdpCxCDnJHQNXvILfeNczMQUQfjVtrcrGxgeVAWMFnBsOdnbSPBGgKuUTFtIXoaEDdfkhJhlDFYYWgTqxkeATHgvHMBovOrkePewZTNniDPPUAuIBRDwgRUdnPdhPpdUGMsEumxIqYSjwnmfwvMlpRDXSTPRxcFANJpGQgkZTpnykTqZlyoolkTYLInyRNBiZmBlOQVBTVraqAUFoNnTKwUCxHNqaEnQVbLMJpjeFzUPdaNOnlaKKvJNZqLlVJiMihaCMtgMYHrPeQwabClzrchsHshdFFxmNqPfmVCdvkDGWbMLOkwJyyulnDuREtgPsEupwoadEnmskRhQxxHrLbiLAYldvzkQhhROoZFSCgqrhRfSyzrwlxreTlXRZaherltejfoAyYwuOhbYyuMzHTIudyguPkMfntlTUdHyUIdhYihEiAQxaiWJEBvVWxsWqcILGNe", "eCADstfrMGNzejZsyfvobqSeIiYziImHKRqehdfRHxNvTUEWtNOytmYbBndTWHspmOxarwCHuvtLOHaacTtowNsACJfVArGPnMBKGTpfgztxOduqahNlwLwyUIRpUXbnOYSsQOpihUILxcTxtdoNAVSgrbOQLKTGvoAbqYMUNoAvHaVxfsSVYGiSyPzYhKQtiNtkwuxuqIVeLmgwsDqSIbEwYVGLYKLyAqdPmcRRuvigDIpaapfLlKoaZteDafjRoMgWFMapOmdHMyEWjDymWjtbpFJxJNnuMBefonvIxuTCqeHnynsnqUyLJoMqJGlpeHLbrSOLhWAzhtfnOQQPShTkRzhbRtWivTkIGLNnGpqYRfoxatnuNauTbXiNfdMELWLaBUzvfoUutgldYhuWWKLqeTGdkIFMipkqjTUlMoEKkluxiHVtgeFcPlJdCcsldwiAOhQDWVZaTKwggTfHKHdPcMLPzyjNuCtEJLjvoANdDuaVeSWhhAMnfoftIjWi"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_smallint":-26924,"c_datetime":"2014-12-21 06:51:17","c_ipv4":"85.18.97.214","c_array_bigint":[-2028253900619159706, -2665990322916704042, -5398592715946790608, -1507535242144558521, 5191031479890165851, 8411652342198640014, 1447498410328387805, 1598764880856369778, 1043776689721355451, -5370924321473992166, 6090146592575941470, -2964823080884976073, -6704631453707512230, -1021388954796332183, 8034948783425436469, 953663828453469889, -3730431238028438558, 2714738371452905879, -8548360209015490092, -4672341423050116402, -2267117470986465170, 7602443041882172736, 7913687953582444785, -8408309098182966129, 7348159695185857986],"c_array_float":[98.22191, 13.709916, 49.87123, 71.69355, 25.53491, 37.625732, 5.436082, 66.156784, 36.171143, 99.80878, 23.081736, 2.3178542, 90.04007, 28.429455, 66.36965, 34.510677, 66.634514, 88.660675, 80.24597, 32.26944, 63.39253, 62.272617, 29.608124, 35.853992, 17.223246],"c_array_varchar":["eUonjTSXKEhhFvqVmHGRZxogcXmOBztLJnPmGhXExmVqMLRzGUUtqBEfUZOnbNBUCjUecyvpduFOPEbhSxptfPHxAZUGzTEecbANNNekPgbWzKPtzIAZOdqcVhShisnfImESqZNqggYSOykfxIOorwmFdjdMnLHaqTFYdhlQZbIlFxdLSSWrhKINpcWrfUnEmuLCouKkKVdeYvDccSgIMANCkdUcuPsBpqoZaYboQMedmqCoHeuMIGZuPsUptPQI", "aOLSjEOpGxAAbIlEPcHQnieXIeubFciiOcLemQtMeUUeDLmeEkwkloNYEnoBbpEOZGFzeswSCUugjnBMuRmWFtoMhVXXIoNrBPQAiMGZPgCzYigUGEnzThFqHvocxAMaLNLoZKTimfQMccowzIcAuwSJCDCZrDBnUyScOtPQQSTdwaKAzuzDdtkXKQKDOEIFjLMgEKVkEdyBamDxgPzKmtXmTjEdDkKYikHybnlknWvEqVjqDgbzRlCNbGFvaMFC", "iiVBOYWalnswLVUoDAeGrKlMpYmcZzkzCnBmVfJsPlAkfmgOMOKsZNFBrrgWFlEymHYWvfihSrfFKazIOBLxsIcjUBOVSyvTiyzwMIGYRsQodIEGJkIfQyMYGgJuZURTGlQFjMxcBHRfZPLELjPclFilojHbYokCopEjoSPDFIrCpcaSyThZxMWGGtYYBqGkoONRJvYPiudVbfxafMxOzYNJiPlEierHOhiwTlIAqpQrLalCwxGyJIkemNdyUehM", "MxsBdvxqcaUmIVuaBOTnnLWVXhwtWHuYZTiJTUPsVbdmpjwdCKosePselzJVnpphxdqKAKGeNdxHCYyRpSYEWiozpawaQECZqLheWSBwBllTEQMQTJKhXqGOnEzLbzNABKyKjNNcrwjXYnkkmHOdRwdrlDgdjgZYXalqWVDmRQstKzvLETWOlYqRfCatLKgwhncMzTbaZvscatoMdwdtzaTglsXseMYsAMDCZFqBMlcWdGiJdAFozAGVfsKmJeOL", "GhYczBfwrRPdhGXliJBkUQXXSmPCGlUvXpnuxREQhyqeTSPwMGRdvlwQxUYwcmBBmvAypjOVxxcuTEWfaYORsqFPNufjTjrHjGoxJQYYuNEwDMrsimFgwxgCnOnzxkbPvwdernYNDjxfpKgXBgogiyNjLfCRUJLrLsHSCfplekYWMkTASZwpuRFXsfQUUCZVMVUodvbkDmDfftpluiTTAtHPyPxTBLeDXPqCjEDCLxkKAvAFwVPvIlfTUfOprERv", "IjMASWZQWbTbFFHumzrJCXfDUpdkqXWsoRXWNFxKEbTCbfJQEfWwGuISxPaZpKOtNGofLpAvpZMiBhRzmEpcsqMtOlOyiFHoOejiQEusotttKsEietKhaSPIVMAyusfuDFoQiKKOZngLWZpDtqEbxwcNTyOkKQqmZYZcTwxIKQPACHIghEpExofAwAwWviGnlnpbhfxpiyUkJQeKvEuLFvFwzwIqlgkqcBclaaAdOrutSAyYjOWGMKkKrgWpjdHI", "MZhwPlghApmCAqhCLYoUcCEBacNXJlbEqYoECIckhCKOWWxexAHQXZKGrCqLearCUqYehVdZhgHfdgtpcgRHaAyJZOsUPAbDcDyBStybpSmLlRRImQEESQwLQsaDQrPCNsgJAIJCwmvvAFDkAxtpCDPXeYLjbccYNWeUHWJCHsRIqbXMVsKeHShmVIClIsYPOWwLPlvKytkBoShyAXDDUccmppGCTTMdGGHQHYvxQAUgcETcYEHPpZPAgIBNCrWv", "BabuENwQtWbItIxtyecrIKLSgZtUOKAjgwnAnCioLVhyWYIYtQTZemEGMekIWYkvFHnybKlhcAwALOanDsKGbvpluLKGhOlHEFMLoCbNeSZmMgWkJeBuSzGWIGJGDnWtIiZjcMrWSnvQmutWsNgMFypqCEzEPSVmUGOTqedQQGfkHkRurPqiWLdsJlspNpmNppItAMwNqMQgTEfzgMGVLOOYgcPscykCbabcOrYvQuGLKNhCoVvwzcydJogpvYOC", "lMRHhquHnXXPWtbEcpPUHYSKlqDYsXFOPEDYjtnnCTDkguUoEgIpyEtaiaZhFLOrKrHTqLDZXLimPvnwupNOCJLVDjVeIjHrkZQkMvdWleAqjpTBwyzMyskgMxrDUPJDKzqvOrrSxoQgvyUCLNrSlrczXzgdYEzyuNbfUILltbXdZLDqhKUuNeXKwfXxtzxxCoNRbHmNyxcbjekVAuUeMATdmPVVQKGVmTxtzbwdelsTJPyIrOArKENRyfBDIjCM", "tDJooSMHWLaIncgWrMTUaXxzMWsCjWzdUjYauzouzYREGoLQWTqIbwlvxdlNolVqeKENQCZeDtAhImaUXBoYKHrCYUfEBkFeXqIWEhxTBPGegsbfEFlsrtCvUsgRRlgVjyvYTSGkejvLKmTtLIoDYFhsHdTFGJzaYCsQSbgdwTcqyEPhgjZaYyhLsbwgddVMiQmXXGWInAUXjJlGEmKEKLVEbIAnALsfNaFNQJcTBFXRWlSUGZyuqsdRryUclDAQ", "EhjHmMlxcyLPUHWeJRXhWqGCmlbDEAMKARdpSHXVfmveozpdeMEsdFQczqydnmMdqNEtlJkQYOukjTenzyFLhBWNzOJMkjauxVDgXUQajQiarAkYRAczGFWJDDZHBnyVjbKOXrlnDnmxMLtvthEiUsQVXDTjliRRxsCTyevISdCzuHcSowUkCyGOPUXNfcxUfOszMcYNvAbqlpvkjkFuhdkDeYsiqTCuPCJzuwUdnttuCgODDvDvKHNfztPwnIhv", "BlEEZvkIylshHZcpllwwowMnkCvzAQIrdLVQrbgkDbLooBUXDSVOaIBxTrJVliNBzlVUUZyWySUDcvDxTpEkqgRCmiGgMvizVteauQxKJekWvdXOQefssNqMnKzYUqXncuTTOXRFXMyNujgPpGyzJBYWrkQPwmNlpuZcgJblUqUFoUoHEmpYAHDqdhRGTcYXVqHALoDTWhvViUGEQSKKNaeQmbPzdCOuVazhiKdpTuTssynMAIfdBoISSmLUtQIL", "vGeRCARXcmWPMnOggeOFjPUnfnYzIUmaOEMyuYCPSqkCzpwqdCZEfFcucusCorYvfpPxyzJJoFPYOzGHDdoDzTRuRwyCdqjmLwynGSYtGOsyZOVjCNizrhKOmKsERJnYwlXmpmZsyQddrJejBeiunLILENyQqgesfltpDwtbTCFjiFUaeOrKmrXKyOzRFFYoaBHgGVVTCSrJcjoWHphvEqgNGlMhxYXLAGKXGIliQJYsmjeEpYCCvLgENcQTVrQQ", "KVfSZiuYxjxTUMNDPbEPnRBEUNtgRqeeBJkqnsEFiUQmKdcSkziwuoCdKLwiueWPoBiEBnVibRJceUhjZketapQbvsNLTaFHrIHULuGcPLcuBgivduHBRklFrskLXezrJMqGdAWCmBUPVCexIObKCsIDrmzkXQBSdNsnNlfojWnRsTMpnJRNnAyxEAuXtDgDYBHlVlgfWdAOgQiCNviGHsIMpndnrKXKWrCifmLVqmsAFzildhiyVWrPJkPcyZaD", "FFBSJcXVlvMsfPjXabmjXeVRtfJjApefpIiBpHYfPeSkkjzHDhBAIZajbXybBsvezzsrbWXkfVhYaOjZoZLShSAdkJyIvSobeeEvWFYhKrMHmhKUIGKrDcrAdgyQHLBzCMWzImPYgqLRySiVJVGBDDDytRPwHDvmbLrjXFdAKijFObxitFZVqggHbEEZQVSZDzHSfGfyWcTapqKqaSNzuNpTrDeXIwLqPZkhrwlGZyyRGLNQyefsRtOITzXAnHEE", "eDIowPclmPJFChpDczEOdceapmNHLWORhgtHlShvZlsEEfJlkEuvUdoPpDpLffQtEUCkgGtxCiiIOwTHcBIMTtHRJqQjKKGNdfwwofaMKPolFwWUUGKFiOHInXmQqgUrmOTnUAtpkUtpYyhEUFmdjuVgUECwyZMVHZDPIomZbTULfcNWmCijDQSrxgQZPxvhhvhDmuLwQeeiYdiMXUCWtMdiSlfFbyLXaNCvlfwVmfDeDmBIgcyUrNDFqmULdqcw", "vmrqgTAkQjMNybfOurymHtGwIyVmTTmMTYpAUdUNmESDBQKPPCCxCiALSJKMqAkPolWmrbnXgpteECxATLhcfynHTnfcPTheuIedGPFpgHSURsvhvpXgIfxrHtCnjjNcilsSUjvmuyMNQNPzwtsRtdPuZNpAUUeGTXnhsxcFpQXmKlIfwCmOTOpGJbxwSEzEYMcSsiVKOnCngBEyKobSGSFtTHsawwvVcFxsUhxZVDHCsajZGvKDaDGkUbHhhbcx", "sDcgnCEQIhGMdLMolsAHETDTLCEgaLQsRYpShCWHbsJBUBuhEWDIOKZGpJMaYNLjEcEHbdTgQTNwvzKtNTkCINqjilbbvalggFwtaDtwiAFNvboRNePohwvOpARmkzLFyHZWlmDWiftSUsNrczDLEJURdncQWWGQgizcmoYGimrqOZhzeugzpMDvDiQhQLSCWXgQmqSgRrSTRkoLSblaokxMefaZfAxwSoCnSgtmcWOdkUPFswVpAoaVlXpgKkIz", "qPTREVyVrGDcttvsdiOxPeItwpNikZfnwoHSvcYXkVnjnihRMFaDeMCuVQToKMATlLznWNSwFEhbpfttWONWYbfHQdYUgSYWGTCLzmYXnCvQnKAvUHpwUokLOMwIHQrrWcjLOymwskKBygehkwCfuuVFtCUJdESPrGIcGzOXujBcEQWYAlfyPeaJZiYJDjcSMzrYxFfbMQTMMoVdclIRjgdcHqIUITMnKHYZjiULNQDjECuNHvbdwMrAhuYcrlwV", "OVOGrGAjZBvqNcrsZdgmdQXKqJawruDyoIgDPmjDlvWiQNExnxuivBLMnLxEaedZDbAYaxprgZJJYHhVpPyOrLjREuewesFjFEBFvzHYdfaYjxBAdFwzTvQNgjZclJOgEeegXKyRzMZQcFyWXfXpooaxdCikvFHPdepWAmRlDcPzbjeaNPZUvCUbKRVDcYaIxQmzzqZZbcnvDtWkvhsRcgjUJfQhiAWifBgIJXuosuowbQqrwgiMvMytIzCldAxS", "QmZZlKUimMCQwEaTcoCSGEIZVoxJjerBgoyjKoJWgiymjljRCXQRQJFzorrXGjQGgDGugUETdDzdRXJUoEDnFbKlAWGKHhpLHpWdgnyGOunwQGlabMhHBbggsEMIFDPhHmEhNzwtoYjslxTSmCWBtiqiqernMtklWuzZmAgiBWnDBPqRLKfVBVYlzzAMLPaxOtnrGBeMkSyEFWUqkyGdRhMamnoiUlznVjYqblWRNsUcwZNAEHyYZqrdPZaCxeqJ", "lrIkwuKpizjxOdCEcOhwGhPMZCchVxtAPwLfHoEooICLHPjogkxMEndhxbYQGtqIqqcIuGbiMNLMLTVclwozTEPwBTuIVasmhoFSMjhjAaXFwuuHSwhodfRSNpyUcJRyYZpxeDnMFHotoWYBxDfUnCaJubcrGfneJFBozNltBGhScPOhFrKHiIAqoKgDUkjjNpfPyCxhoPTrauuCfPoLpjRVpFGUnwGYqbPASAAJloPWFGpXvqSnDhchfGjrjmmw", "gdkhADvHPLQAOsohxBlVFCUXzcYrjrBEBVfpdFMvkaMHFlWjqbBbFJafvnUTzFJdVLEDmHNwJcgIuonJyZgjBLavbpyZFskIuxNsvymYPbSPCBjPIjWJPvrYVjZbEPlujCWKYxFfqkyGUxzXpRvYFMZieSCpVwSqUhAIjLikNGGoneVnghaajQXmtTOIivneCEYFfsVUqdjHdxrDqziMpVBFRXZFuQZLddejizaRVjrBjkTlAeldiqXaazFDyQgF", "AoWKmQkAaGOKRFShrodfDGEIokEceNJdgOtLPTSYnBvwxqhzbNlqTbvLtTQmnnFXhsIPqLKLnnJkLhvdmjlfQufjGtBnbdTODVANVCqieWJYhbHwfaOXpLkMxZBTcJpLVEYsFsCKbootEnkyPFKsQduaYsPGLNDFdAgxZRFgNMxXVnzjBNVkzlHsZiljQTwKgleFUxaSyJGOoxmWWbJIOwsvsBRVxLVXidzrHgnaJdZDNRPHZuDpECkHtCbFfRPH", "aqlFUacanDSrcpysHbrVUsbnXFVUpPVYHFsLDepeKvOSTOAOcgnuzwzXMNyyJlSiPsaClLEpzyObYTqrqAaQjTgcTDZULCWzsDjpFoZegUCEgcgFIpsqOsMrJqRUDtxDfyandeWvewQMqlguhgOBpNvtOaICFsSGMpkPruIjWraCuqnTXAZNYGashrSXVkErmDShYLuAihNkqBLiDspgRYEHhGTfpDdQVOypGkjDotaoVONQuZUiaWCjwefopGNM"],"c_map_tinyint":{"c_map_tinyint_1":-33, "c_map_tinyint_2":53, "c_map_tinyint_3":27, "c_map_tinyint_4":49, "c_map_tinyint_5":49, "c_map_tinyint_6":87, "c_map_tinyint_7":68, "c_map_tinyint_8":-94, "c_map_tinyint_9":-64, "c_map_tinyint_10":-20},"c_map_int":{"c_map_int_1":1445637479, "c_map_int_2":-1857203222, "c_map_int_3":138881840, "c_map_int_4":-1706402386, "c_map_int_5":1797940768, "c_map_int_6":1252786735, "c_map_int_7":-861945212, "c_map_int_8":1729591683, "c_map_int_9":-463254841, "c_map_int_10":96470670},"c_map_bigint":{"c_map_bigint_1":4279959868225562764, "c_map_bigint_2":2791225728456771952, "c_map_bigint_3":-9009597564334226203, "c_map_bigint_4":-8945324910039507930, "c_map_bigint_5":-5956870071794114028, "c_map_bigint_6":-2690835461493349808, "c_map_bigint_7":4451830836852904716, "c_map_bigint_8":-8132809897570008145, "c_map_bigint_9":-5984664442343133864, "c_map_bigint_10":8822090548378494709},"c_map_date":{"c_map_date_1":"2015-08-09", "c_map_date_2":"2010-03-16", "c_map_date_3":"2001-09-01", "c_map_date_4":"2008-05-05", "c_map_date_5":"2010-09-12", "c_map_date_6":"2004-04-26", "c_map_date_7":"2011-11-27", "c_map_date_8":"2014-09-20", "c_map_date_9":"2000-02-15", "c_map_date_10":"2004-04-11"},"c_array_char":["IXwdVjhsaJ", "ZNImOfXTEF", "yyIVMmrfLe", "svRzdnfQBM", "QdeXRFtmFx", "EBpFiSLYSu", "GJCdJtEkYB", "bWeZHjdHAB", "stSSngvVoO", "kVjSeKPYYg", "vtEGegkCed", "nOKfAPKBXr", "bmakbVaJMB", "NwuTvtjWqt", "weVjGNIXkv", "xsfFadfXsh", "xvCgeVeNCs", "ALvMJNUocT", "LSeRSjbnzM", "udNKDhzqek", "zBGOforENm", "ALuAgSZsyp", "rscHJgKTRs", "dqvkZHpmQW", "TssYhWFydO"],"c_map_largeint":{"c_map_largeint_1":-5402994669826661199, "c_map_largeint_2":-6090619610191591750, "c_map_largeint_3":8692541483855614952, "c_map_largeint_4":-5210030213629861698, "c_map_largeint_5":1130669139250005595, "c_map_largeint_6":-912891514622989682, "c_map_largeint_7":4813318872504831365, "c_map_largeint_8":4381206547484653134, "c_map_largeint_9":7748552736421414036, "c_map_largeint_10":-956523009209319751},"c_largeint":6309853557442526105,"c_float":62.74452,"c_char":"sHAGpdechH","c_array_int":[-1996035515, 1950280509, 887141649, -1670298779, 796868027, -118569637, -780096120, -262751952, 1399555760, 322259966, -1488834075, 1094088670, -617124451, -69820717, -766031443, -677931347, -1547982997, -1047437570, 781587667, 1475181451, -1657387797, -814760243, -1333062180, 276068318, -599716862],"c_array_decimal":[30.0544, 3.1950, 21.0531, 79.0148, 80.0354, 5.1208, 62.1655, 19.1845, 46.1684, 64.0529, 81.1829, 47.1138, 38.0637, 35.0752, 61.0754, 68.0676, 66.1485, 35.1855, 79.0620, 74.1160, 11.1891, 88.0221, 95.0090, 0.0872, 81.0745],"c_array_double":[88.8171648320042, 94.1554754992235, 48.627157030934626, 55.834373652679915, 87.76461060102343, 13.165960949073272, 17.676750850906934, 12.850861834423439, 24.73427323308527, 45.3456070717454, 4.556449741049397, 41.765260094115945, 89.49270096387042, 39.45662704872792, 85.36030468788093, 30.728502213178622, 76.4999071416623, 52.494382868396244, 48.71580189077363, 96.92889488415034, 59.61880774744543, 3.366640431058769, 37.1364283851953, 79.2749819892097, 91.2890847462316],"c_int":-1899446281,"c_array_largeint":[2240788908281434333, 8898293588938177523, -5263828377233963142, 2766492980550595729, 5970841656693957279, 4164496314567918001, 6199333737286780307, -3183278901853485196, -4837327106636704207, -1119037447467485685, 1034964348355918135, 6422203649133739326, 4786790231853491762, 6419222616078661969, -2764853495939009054, 3287414254373644651, -1903650543399837402, -4668579670163770815, 1362079009581187000, 7102577815095938222, 4457151807234685461, -3901158011166307390, -7742873559015615966, 7588289681269948454, 7137004935226448217],"c_map_double":{"c_map_double_1":84.55613540594393, "c_map_double_2":100.17895805356392, "c_map_double_3":87.86549739527533, "c_map_double_4":7.000036544097167, "c_map_double_5":0.8169211606185482, "c_map_double_6":73.93912444263788, "c_map_double_7":90.28204099656385, "c_map_double_8":99.32299584561521, "c_map_double_9":84.83771298188168, "c_map_double_10":60.88483249804305},"c_map_decimal":{"c_map_decimal_1":2.1974, "c_map_decimal_2":23.1556, "c_map_decimal_3":12.1399, "c_map_decimal_4":49.0771, "c_map_decimal_5":66.1242, "c_map_decimal_6":74.0008, "c_map_decimal_7":72.0724, "c_map_decimal_8":52.0038, "c_map_decimal_9":76.1807, "c_map_decimal_10":4.0312},"c_map_char":{"c_map_char_1":"epRdtdikJc", "c_map_char_2":"tbNQvOMIhE", "c_map_char_3":"mRHBQpKNdo", "c_map_char_4":"PfYkzNGPiB", "c_map_char_5":"ZeIxLHGpaG", "c_map_char_6":"aYLFqsmyjd", "c_map_char_7":"TVBOjEUWfu", "c_map_char_8":"imXKPUeTwg", "c_map_char_9":"ZJDBgXXquC", "c_map_char_10":"SWqKMDBVdx"},"c_boolean":1,"c_string":"KrvEuFzOJRVRYaNfZlahkWvEUiiQaANxUTXFGgiDBSjqQEBMJwRkpWEqhGyuaizZKQNzVrmdDFLuVwRhJiIefQDaPdnKqfhcfwVpMnMxTCVLHiXCtlaXqNlULNZjZKlnzPpuQLIcLswFiYMRuCryRFLhKtBPSNAOzIyHjdqgMBXGRjeOrcQdqlzmdiThsQxCVGZLrJsMywlZqDeYNbWpyTHRsQHSXdzVERpeqTBTWwuOjNloDgnWQQZlJnVGZQRGZOYepYeGYmeeGQSEDVuapZNsQzaxEGOWWeSQdIuzLnVvNxsWzlrgBDCSpniyGGGwITncTouoUWiAwnJwCsVaSnFwgyWpFWXOrDxFBLLeBkhByUepxKHvwdHAfVitnshLmQaTBljHQiJUJIwqDLmSzlCJzaRnzUBxiEZFuxlvSCfqenBBRDFvEwxEYzRIDgWJMkikgyOrchmQCYhKJzkzuJTzyszmpWiqgQJgkYukBhUewEIZLmZwRChLRBDTRyEv","c_ipv6":"2aa7:8621:6875:8834:a6c6:3205:9e6d:809","c_array_tinyint":[-34, 71, -104, 115, -66, 49, -85, 51, -108, -31, 17, 15, -22, 47, 113, -114, 63, -67, 113, -81, 24, 73, -50, -16, 116],"c_array_date":["2006-12-14", "2002-01-21", "2017-11-15", "2005-11-14", "2008-04-27", "2016-01-26", "2008-12-13", "2009-05-05", "2006-12-21", "2018-06-09", "2005-12-06", "2000-09-17", "2019-07-03", "2006-04-28", "2012-05-27", "2008-12-04", "2011-07-23", "2019-03-19", "2017-03-18", "2014-10-08", "2006-11-06", "2007-08-15", "2000-03-28", "2013-03-13", "2017-03-22"],"c_array_datetime":["2018-08-12 22:54:00", "2016-04-06 23:28:16", "2005-08-16 17:48:34", "2003-04-18 13:45:34", "2003-11-14 14:19:41", "2019-10-23 18:25:03", "2018-05-18 20:06:40", "2000-01-05 03:37:27", "2015-07-27 03:49:33", "2012-03-18 18:01:38", "2008-12-25 20:41:55", "2009-05-24 22:57:46", "2011-08-09 13:02:03", "2008-07-15 15:08:29", "2017-08-21 22:14:57", "2007-07-21 07:47:32", "2002-02-27 18:15:48", "2019-01-26 21:25:05", "2013-07-16 19:40:32", "2019-02-05 03:44:28", "2004-09-08 18:27:39", "2013-10-10 17:49:38", "2004-03-12 04:19:03", "2011-02-28 13:34:09", "2015-08-01 12:59:19"],"c_map_varchar":{"c_map_varchar_1":"JDBKmOTswJPzyFQstWGntNtfQukNqKLCvJGPPOIEMCPoFOdtvtsOyHVXCoppEfkEtcMOjSvQMMLceKbkiPVetSQTcLygsJWYYmCKBfaODWQTGMjNpwKjVkxQmtRGjxYlyTIFQPKuinXjUcOJQdqvzsjjdPVrCiPysMdFyzYuuJVKRwcEJPoqmdnlFoDkGgkdhFsdSncvOZqGQdoteaZchUYxzyvRHwpBvjgGfVTCkmgynhELIMIgNJNUJMCPPtbi", "c_map_varchar_2":"csiARTwEBYWPbzRJTBxngcqolBAOmKuzMBlqBklluROSlmVQvbnXVhcHKowRCdVAitwbaVApebxIzIgEANmvTbETWjiNAaPYEXwSEMCdkBOEgNBlXufnlNTuTepNyOPynbFuKgZmYKieYAPHzkeTihfQYZIWHEPySIpSTZHDHOBaHbJGhdmnVPPZmrOFIFCtrIfaCMOLNaDkDAUytnsNotFonHpaeBPZlpcdIoskeguaHwWJoCcfQyZFMXDXMpdr", "c_map_varchar_3":"DXPZebikmttIjeOdGAshaGBIlgMdeRJRTgPWwuSKzXiYXtICkNWUfjXHYauCSazNjnfVsLMzBsWmPZjpcJQtJqritmGIlhOXvPBSbQSzXVGTTJUIWrEjkjltcRRVpKDmvXfRrkghlMErFnJgcrpuweIDywjjJfTANuiGMuJKfVOMibrCpHupnzOBZpJqtLziYAywkCZShXUSDhlyyOUvEcNGyjDPKRiHpyHLBCRLdVPniatcZUEKqmNHKVoDFNLB", "c_map_varchar_4":"SjgCHRmRYmbWmvawmJkbebxriSzcXEHvOWfPLDwHwLHkozMVCtqDdbidRrYINRcIpBaNyYwPZDXUuFytyADrVRnoMFcGYoZVbwsEnMQHUiGhLPLgabPRTCltylaBQJOjsTksXRjBxSEMMYFSXmEGeQsRhVvKDAwAcznyAJtpalbJnsOOskwERnTtSdsMAAIczempvDVDaXCxvQXvHgRUvXuuOSjnvhqfbIoYmTQZvPDtEGHpSBdGbUNAkBKoSWER", "c_map_varchar_5":"avDCUMMmSbFVOOTkrCtCOyFkDlomEoZiBsTEWPMEVrzqumdjvwwfcfzucHbkIsGuUpmrOWnkUbpoHfHTFXtMSUTJQjnAwRWQeyyGUZGeGFNcayHghoHXcopdbgqzlqDeZPdQodugNeIMYOqSzIerAqWnCUhqyPihdDnwKYRkfrQSArQzhAJVCIPTJokGkUlhuwDnpkpEOcUArGiUWXTiGaOIoXJRSOxgBCXOKStRYifERRLIEAYPYAjaEdeDZEIp", "c_map_varchar_6":"cnMgROAQBPMDdylyrOiOQvkCPGKtKEKZUHfFkFQoMVVSZClBzquXiyxmBIyeyIOYbJrKjyERzBytSHwxhQRDXdzTGDIBCLNMipbjaKkcztJJnXUQSjNVtImkSLVOqMgAvFxEKzPIHsNrcllJUcYRNFikExPpimmOiCDVacofIASlrSQTZyJDoHVZuCDFusYseSLCsEqcJszDZHfljFtkaYlzpLOWAuxffHPYhyCmdqnfEoQFeLrwPZVBhNrYHJaO", "c_map_varchar_7":"rEyPVcQpmvcQYgcctNvQCramEOciMzvEDuUpaMsWpxfMwDydezqZJTelITgSVBIyfNdzgNTOxogqmgDExYHRNXgQKrtdciYnvfTOxdBqqvifLWXbvqBrWaoLckEtbwwcCDfVaOUJXvXyhYPRcTaXechqEWzQONXMrubGdZQuZbAgkeSGMRSvlcfAYwzeRYKoSTPHtYWQPnYcXmeCwzEeXdmIfHASiKjtEIKjkuUUdOpIugZSBeGNTsUpxLMTEbvm", "c_map_varchar_8":"IogCWDOYfnhUuCberWuyhhdYXSXMuqntHtiwKTJviuMHHBPFPyyLZIJfKSgQcGIQzVcTSZhJPAlabfZBzxEXVLpBYBqXQWNlurXJWhigOVLzSLecpBTfnFluphuCrUFeNylEqbERqKYvAERQYBnsHIKtVYlAiiJRjJaquKLdxQiaBXFCXrfmrhRXeMwdkcoDWABYKaSeIrxHtsKPjfKocUeIhHGAsBMdWENOhKtxFMBruLyQWBwtShKoDexjBtNk", "c_map_varchar_9":"ZUbhPjYlAvcMgsmeMALPkKjbOGEFtePfNUHtpmyjEPUasnKJipwoBroeTFATfdvSqHmQaHjZSFFuNXxTQrUYVQGhUSVRrnxOjVTFegOCwnkakZNyqKNomRcqsBmCFFxCXYOuxTIrbdwChBOrCEttdUmMlyCFxiklyFgStslyZYZAbBSmcLfmNoUwsjiZSABwdadpcUBWBmCoWtdVPFDaamvjWADPZGzOrNASvEXHcgZQeCbwgxomGKIxEPMLKknt", "c_map_varchar_10":"dWBrVLhUsttiIDJZXDxBDgFDuOHxlTRrhxMuTZJATMtkhkAqHnBLVqKTJxtRWytzRMvAvaIlXlyPBouIgfQXDgTolhDNpwnTdoZWIkbmHAeBIKrtxtvckGxJUIpVvutvEPHPEWyzKJjZhZgqcKvkjwTNdVjHbQKrMMUPlGkiOenQWFufvFIxjrjSUXfTfJldYRujjHcDRDRWDOfXjtmTRKGnxJtSkNjTnLnZpRLKOntOgCkReTuUoDtfuFkRatsX"},"c_map_ipv4":{"c_map_ipv4_1":"47.206.214.4", "c_map_ipv4_2":"238.131.150.7", "c_map_ipv4_3":"218.199.40.213", "c_map_ipv4_4":"165.248.140.135", "c_map_ipv4_5":"195.150.247.30", "c_map_ipv4_6":"167.115.86.201", "c_map_ipv4_7":"46.246.23.26", "c_map_ipv4_8":"85.169.247.243", "c_map_ipv4_9":"1.75.59.226", "c_map_ipv4_10":"16.248.45.39"},"c_map_ipv6":{"c_map_ipv6_1":"4682:9011:87b8:47a3:1eee:f836:bcc3:61e8", "c_map_ipv6_2":"26a0:c1d2:70e1:e5fb:8dc3:4c3c:978c:9dcd", "c_map_ipv6_3":"275d:92c9:9088:9611:214a:8b18:2d78:bf96", "c_map_ipv6_4":"cce9:42bf:d83d:8dbd:b48b:bb9b:519a:d360", "c_map_ipv6_5":"d674:3116:46ec:61e:1633:9a77:85e0:54d3", "c_map_ipv6_6":"689f:b4d6:43d4:9c87:cf38:5788:9698:6e81", "c_map_ipv6_7":"f088:1aea:a744:12b0:fd44:c10e:d6db:515c", "c_map_ipv6_8":"9222:5b05:6e50:2862:a8ae:48b:e561:44bd", "c_map_ipv6_9":"1565:60bd:21f2:ab2d:f5e6:aea2:dff0:5bc1", "c_map_ipv6_10":"3729:e3de:a033:a4ad:ed5b:c802:6149:524e"},"c_json":{"adjectiveindefinite":"many","int16":6653,"beeralcohol":"3.5%","bitcoinaddress":"36FS17C1UWN2N8i6EQn9Sey1p2a056c","minecraftarmorpart":"boots","bool":true,"connectivecomplaint":"in that","year":1927,"pronouninterrogative":"when","minecraftvillagerlevel":"master"} }','{ "c_largeint":7696906843594977765,"c_ipv6":"3b70:94b5:a182:3839:b358:e066:94c2:7ac5","c_map_datetime":{"c_map_datetime_1":"2006-10-18 19:05:46", "c_map_datetime_2":"2016-09-25 23:45:54", "c_map_datetime_3":"2007-12-19 13:53:19", "c_map_datetime_4":"2010-02-21 23:59:47", "c_map_datetime_5":"2005-01-16 12:57:01", "c_map_datetime_6":"2019-12-08 12:07:02", "c_map_datetime_7":"2001-07-07 16:25:04", "c_map_datetime_8":"2004-10-10 15:44:48", "c_map_datetime_9":"2015-08-17 00:42:41", "c_map_datetime_10":"2017-09-23 01:42:20"},"c_int":-240933297,"c_datetime":"2000-05-08 15:08:20","c_array_smallint":[-20401, -29039, 29890, 25113, -4173, 5635, -11073, 21716, 10447, -3080, -10592, 5669, -6167, 10255, -18577, 3916, 9561, -26563, -32619, 11049, -9250, 25851, -790, 31581, 7651],"c_array_ipv6":["beCYewFCPy", "fLKFwUeZeF", "kJvcndcVsv", "BDaMgkGvly", "xosNjqSgIP", "zbnJyfqzHF", "rKGjwXKkJW", "DYJOfWigxV", "wnOdkRmYer", "DKkbaueDIm", "vsrXFnRFUX", "LmXArZtkAu", "UKtvrRFFyY", "rktFbCcgIA", "TZjQghfuKY", "LiPiklogMY", "cMoRZRmLcF", "GxRgCxSEzI", "AwUJqITzVW", "NEnRgJDcIs", "eFRKAdmSUH", "WdkyiZhlhK", "MfJYIIMQAl", "fmiSLuQyCp", "ABlLUpIcUS"],"c_map_bigint":{"c_map_bigint_1":4628347164671787898, "c_map_bigint_2":-4300339100563490179, "c_map_bigint_3":-505630813243120838, "c_map_bigint_4":-3100291275297722210, "c_map_bigint_5":-6621321366634324759, "c_map_bigint_6":-6236090435761206750, "c_map_bigint_7":-3387343436757246473, "c_map_bigint_8":-4853973624963826323, "c_map_bigint_9":255670315956131321, "c_map_bigint_10":-1217771153470664332},"c_map_char":{"c_map_char_1":"aRJiysMggw", "c_map_char_2":"SETOWPOTBt", "c_map_char_3":"McQElcRJpL", "c_map_char_4":"cqMbWDtrsd", "c_map_char_5":"WIgfSvEHaV", "c_map_char_6":"OvbzOtgelX", "c_map_char_7":"dmYQUVgkSz", "c_map_char_8":"TPEefSaAqP", "c_map_char_9":"wUfcixEOBa", "c_map_char_10":"xVydGXhvbN"},"c_map_varchar":{"c_map_varchar_1":"fDiIJwiKHgpdXCBssyFOEnNEPNAFnajDrMzgXLAeBvALkzuVWBHyhUfaIQOkFqcvtmFYBehKhfCTWSRpVFIRkZYmbsvhInTFCNHudRhASYZhmkcJzolCbJEucHpiJxsRKatLuHgHdwCrBoYziCvNLwFiFWlchlNIvcoTAnnYbEALakOwqhHXGhvtblZCcyJmMOyOQziLXtAtNkyInkiSPTYUSzIRqqBMcPyDVrHvffgnRpnOJHoHrlXdnaPRhSwZ", "c_map_varchar_2":"yvhWQrZrorOUjZKyjQxxREftodNyOOobJWCvDnQfHbYbBLhZMTbMnjEHvPzmSqnURSxcBadOrLotlpBKSiixZLLbqYuTozPKvGfYsTaQTDusDcyoPtygVFLjfzvbKXLBIpeJkguQXVXXnaBxbwrqpzsMYNebldCMtVxkBWOKkHBGvCKIajkyMKxhNlCWOQzkQHKNLOYNkCNYHDAZoZDBcqfVCRGUeBiSrXHDAWYHyKIlUrIUmzBDKtfDGBlzaZtQ", "c_map_varchar_3":"lMDwBrcYvexNIcxMVWPcSBjXlBbzMgAeDIlwKGZmBYKVsAeDLIULcowaYRbNfRyvcbxrzipAsuCTqrmWDhLIQAgMiLlfOuUrObHQLXORFssCSVJhQIFtQmqxQGhCXbiznaqQheMXfdNkGHeccKpojnNDGXfMmAblVbqiofMJORBXBDFHPTvgffLLKkrOFbZeguvqUuKYhaAEgqcKkfUkBgjnTawFwICLtNsglHXhRptbQGraiAybDJphgMRriKCe", "c_map_varchar_4":"JvkLBXtlFVYOEspsoiPdhYYyuSSJLUKgXzCUklhqWoWDZcrLXYfaweOKrGoLYFIpJUICraauMTrpSJykemQmFBsomCAOPTdUvleKUKSgfqoQxHdecoXvLymBzeNcEOYZgTmCOPHXNiqcGBIMDSBFAPUkNyEfDWoeHzhfYNgEzpDDjoRZuSUpOEcHJXCaAKDCaefGRWHfXjJLyVScsGxtlWSjXsnFYmrpROBNVhxWbSSoObmkEQKkyUVqkEpnPKFt", "c_map_varchar_5":"EcjNfClrrJaELDXlPlzKgHLkIDhiLKzUaCLlKujBDnczUXvoWhhVvNrtAjmclRkOplqARVcBeRPCVvlJBYjkZHkUiFpAxfBKrSdLniKTwsfSNuoggOSeHBtQbOhubcpeKhiWRRtbvLCossWBEFSBzZRZToCkocbmrADsykvgTmYQqrFeVmwHbfgMZGatgVDHtoeYqkNwOClZREYNqWUpIslnemzjCXPUodILzeIwFNEOnTOSxhAyVGTavkAQpmlP", "c_map_varchar_6":"cEAySgDOLJiTPjViYewaswLyAEilMRtevLteLtFTRiDJmAERYkNsAsLMkpdoJFhTJlGzBGmTIKPpLEgLpmGKJkzrDZlYgBfwNJaZUoYpkbazKXnvreGaNKKRXGRoPmlEQMdKFkDHrvgvetNoqslbiZjnOdpwiIGHqFxJJWKxbPHyqaOwdZBSpIbbolucVKLXKdMdpcbGHvikYtTPfoVweUCRxlFguvUHajcHmfNAHhoVivqhYPpcaWvWFzaiFxFO", "c_map_varchar_7":"KpYWhmaBJDYlFvgMcswqUbjHRyinAkCWXrayYAERoyMAsCKHZUWnUuBkBvgxYVXrYbBGdTavFdCUniHmQjXLnnOLsEmUmvKrzoqEVyyQbCsRYxshoUbFJhPPlDvNyndTdozgUEDOFJBessqaDHQScVOWpEgGfMAzYqggiSjvrPwmethpcQsGvhmqHfXjjSjJqleNurHBHMMQdmlCVTBGqzFpiXsPxSbjlRVCMlfqjvpVXxfgiMuownNZxaHnyEKe", "c_map_varchar_8":"TamRFKlEcpXZvvrjlkOhaHpLbtXuTNvxeHyQYPCYzYHLWEFtpwMlgOabAkpUSblwzRutfSMmVfMfNgoJGOHDmotmVgBBbbEufPAmlkttgVRrLpSsWNnMzgLNLOgWQnQnVIoaEQBTraTNztsPVQqSaSCrkcBUZEpuTOoVLJHyLPRarGSPLbsKiuWbFgyFnljcEiAPcXRWZFysVHRdlTYshCJrhMkuqwSTRPdgAauUGdhKvyQyDTBDOKIrmhUWYZgC", "c_map_varchar_9":"XJGtdYvwmURrpaxVEByrfraXqLXjUpBkOSmKXapfOGQrJliCpJdgmgojrcpTRvHuELNPQrwbbIDjJeRcuAjdwjWtNknNHtHukXiSKmwVuCImtIbTEDDekvmNLqSAMluJsdJsFhSxSdqfuukoYrjQEpSaeWfATGschcsBnUhGAinbJcwmAxMsOaIqeDnZycbiYJZvVpOmugITYSnqDqbpKRvZvCACRnzZsTpIJpRFXMkRybUpyNcANPrrnqerjKxc", "c_map_varchar_10":"CpkFFoRZJZSNNPNOgztwpxMZBtvAbDoEoFRbOPrazkRVTFGiCpoXQLUgVFMcYxPJRhBuFfHVycSPaPlErHXtRHrbJBMxpPKJqbKfRGisbhyBbzjWyXeBLXKRtcSnaomDmzwvDtofbDRwPwZBjDeYnxaXJHDzWBbRbmbqYnuaOcAKaLxgGimbfjteTBHmzrDtxRQyzRzfPnRfXbboUHqCCTBRQwaEuQQVpoJuMezWAywCoLOhTcZpYWRULsNAleNl"},"c_map_ipv6":{"c_map_ipv6_1":"6b76:cde0:6046:5068:789a:36f4:1966:6dcc", "c_map_ipv6_2":"b1fc:1f4b:5e82:8ec7:484e:a02d:9581:2267", "c_map_ipv6_3":"b07d:b8d5:148f:b964:5578:700a:e971:efbe", "c_map_ipv6_4":"1e4d:893a:f38a:a0e1:9d47:35b:408:c3b0", "c_map_ipv6_5":"7aee:108b:8799:9db0:6134:86af:7881:4600", "c_map_ipv6_6":"bdaf:a41c:90aa:2257:1ae0:8c97:1e13:7a8b", "c_map_ipv6_7":"c14:db92:4b2e:b5fb:c4f:6848:49eb:b924", "c_map_ipv6_8":"2994:8bad:ce55:d921:49b2:286d:390:690b", "c_map_ipv6_9":"3a54:1c33:44b0:a347:e488:592f:b0fa:b036", "c_map_ipv6_10":"88d5:595e:5ad2:5eec:fb09:a19e:9f9e:498a"},"c_double":87.65964462800353,"c_array_bigint":[3908237981640721199, 1219905575512676401, 723267176958419705, -6434398780107086962, 3066419796038741493, 7847402759836406309, -5212747059183778510, 1798466169753633510, -3176000621434177035, -5540849931884365868, -639649808414029416, 6337953995420886437, 7090527286957499330, 6536203286804594945, 1817705590016646624, -8936965589534397298, -1101734253139385037, -9119162435686379553, 7293271666124654602, -2388683011781329544, -7588508883624705146, -624363207741873939, 9195141241839725882, -4194522154354860538, -5373561344266686664],"c_array_varchar":["iKHYfiToJLdsTHDEFhDlyJQWAmYHwiMWslraUyrOdeRFQVnpuEKSmizKtceDjUOXEvlECOaFNEVwFylUSNYNzelgBvgWfLepIwnjDKotmRbhSanexMbqAiXHmApJSPNLVpzXekyqVDLGBSgnxFrIzeNkUftlOVhCebbdMmOttGKNRHclxJvnktVqSjCkhLDjMvkWfzPEmzEcTHSKyUjZNoBmSbGMyiVGrvyTvxlmoGAfYDhigUvRzMbcURqTkUqM", "BaMqKBezoCbITFuOfjnlzMiUGlZFRPVHuBFjSiEFoaCVMOxVVPgUFjuPMSKuRITlvwLzKRmeMjJnnmMyDfEOEakrBBeaXdOHnJNronKnHFkVURyaJfuvyBAAxAXLvffQQyATprVvyfuDkUdgiuVBXGcDcWDmlbongRPYffhOsYhzCIaVjzXGcipGTXwBfgWeyoIQkWyAYklekynWwEuWbxhePxJyRJtbDOvXICKOdCzOgMqqzhzeNjumgWXelaiL", "aTiSmTVpDwLzvHKBMfqfCLWshgEAiQSOtbSRpxnpQXOJiJLBXLdRxwupKrbpAPzizFoNahLAKrTtjsVbhAFMlOGEEtrYGdCpCNMRWICdJmNIEQFjPVQgYOgKmdDgGDuxawhiOwWOLahfBiDNTlNUMCKtvbTFOdgekPVRGepIPzhEbqsNlUCMEmNlomwFOjYetCYtwRUSgSVeoPEXyDXDZTFQeBcMdERMbToqMYlrHlKLvNbQvlbZTdnKsGRbiryn", "dxTQSqXMEmpWoGNfttGghINafpiWFUcLEXPZbgWzddyugpYXhbFvJMpXqApBkUPXHomHbMNFsMdceZvueiEcRRPftTVVYcgmdNMfdQmRViFhqlzkRMijYGzGZUxMDgBhXGjwbbahsSugPlpEkdwOgCEKgYhbDvHOHMuVpMHDSJEMFzmikLlcQCSKNwYNzecBFsiePOKqUwpjSZafdNInnCFWLkUGOusJnTmwBHfUyFDQJdhlDhFUpkrwQyjulxwX", "KpRbrqpcihwYnsumIuQEMHAUXfZoGMPXbiOnKGULhekHjHvDovcZzmQKwNMQtEtUokYRsHLexOiqSDNlRlBLpLaEzaxMxSthAiVzLAVjUkEVhqSyLmEyENXqtpGrGuampeCkolZcWgTwOXiMxUwCBPDdqfmfixHzfTNHdgZylXznZeWYHrhggUUncorGlPvOioCRcOXCMKlujHAdLqdgVCwaNxaqMfbQynbKvThVNZjVuOAsfDLSuMdDMCEbPQIb", "ilcxpvGGXyNaQVohetgLSTpiqIVwfkYciMtagxdNJKlocoJTxgeOJRPFvSdxJiMNJzjmurZTbhkkqbNKdGrRNemIFXFoZwSWxNAVqOAlksVGUVePzVhpJSXsLwBfzYNqASHhlvCrfrZVFlyiirDLdXrVeXBfRJjFRYbewWJssRpwwSPGcibnGrZGzeWgaYFsVrODlguKkYnWIgTIzuhfvRdaNvDvGcJiAgazebWUTPePojnBkUbUeBQGyfhBNJcQ", "OikjLeIUbWRaofoBCgdmTrOGfBTuLwDVkUsdzORHIxnhldTTZTygvVwOHBsGxNKrIJICgekARqTVXMEjFbfvXVZVcEinWSKStWCuVvCbYjvxEdXiXxoFJwPCZOuAyuyyJoLvIQGcPNuDzsIyVWIKEyLIDlyVXyCwhlEsyCOgdGvLjUCudnZSpANrRSzkLlPkZHRVnFeWMwjbMdQcNLiBqKHKaZOsJlvINiUCgWXexQuOunFSyzvsXzfhPMiCwGER", "TOWZBwQVTMgJUHOwOwbamYYXVblCqauNNSyOIByqNreFgqNRuuKUyDMTgJGvyptZNTjFRwwGpJrdHZYSXyEOVLVJMthvJyupfcZZkJnpiYkQyqlgTnwtPWMPtyTeehuBeCgeXrwabvmCCTPpSlNslMNWiQCrTSlONyfmBYuzQFKeQeubOXJYurjjoRUMLapYizGZSZfdKPOxLQFZSGHTVTlVBPHBQEmgpDEaIdlEvsjHwNDGdURZoYEmBaYFkPmu", "vdJKgqUcvyNMGlGCxHDhUeAAHzbpOrBAOOSjDgdPDIirwMDSCGITbKdQMTObKfRTqqgbLUlpdfiLUNpZCQRsebBdQmZsSQBvkVfPECoSfLrdAzCCUAXbOAYloWTYhxbTbkhvSyJOYLBfrmxNlKXNSPJVEvHFSyTKxxdxmrCIwCyxajdCNjrqauKBRLjuwIFaSxrslspKBDjPrHzEHmCIfwJyshfoXFXprpjmoBhjyoIOkMHSQgpsZMqgArjhQBeg", "bKBPQShXubUDarNSutXwItejUpzCttctmsBHmyPWdpLzFlyabYzYaGNXHpPFQOjJGZaLGEkYrczPhJIKubKUJKmsNqKmQQkbwTCbrAutffKbyTsWLEzMJNeCHJJLfSrWAJGedziLIAHtQBVpGsUydRIfPNWKsZvCKxtbDVzjjrvCKJizGQYzxQHAbWhoOTQrIPZAVQOtSDJDbVqLXqwmsodOOLvlCeXKDASJrsIGURaAVyXPPfmkCXpGQNIstqMq", "wAZoLyaejAJdmcvKeOpXRkmrqONJSadoHvBzLQMaOFrXoybZhSznuOGYyupZTYNZHKWTfGXuhCcblvZwBflXbcqIHeAWjzDOVBXiyFtSciAqFkAuDTSrTnUXsrkMDeaNNHLWMVxyJCfTQAwWZwPPAOBvmjDIJDoJOiphkKzoEhFeaOQoXOLHRyvgpidyjSrwfqVGDpeXcMmGhXSjaCUGfXHuUXwaGRrWRvCSzwJlijaxVyuRjJfMrRZneWkAKfWI", "qFKgTcXjOkRvRIZDgXaUFKlXqanHUAaMBJYBKNKOdQRNnqySUogjmqTHqlMZlewxlYOnRUpfHtmgRqSkPNiveHfYjOfiGJdAJLKQUJuhFOlrTIQxdDTCpmqDBZZuiJyopcCycBnctlkrCuVxexItuaymXGrgAsKWqQNByxLvbZYFwgduuiXjXdlizQzMRmsJzIRCcOjaPkqEvUmCtdhNdDDkQDziRuYmQKAzihXtfmtEofZhdgWmBzliUKGMhpea", "NLVosffSxebTslVDzkKGfYpNCLpoMDqNdVlnmDyyqTiClExvbWdyCRplxoIuqxVYWVzTeNiBODmuCdADvfDpYXkDMWsYCnTvGHxxfonkiVWOcqEJqlUfUqCSYQdwDvROcRSjKtgvQCzFPmuQHGwFgcfCTMOZOomRXszxjMweDPoPJPeJhrKPhlEQEurPjwxrOXVpMDycBcWWYaSVeXPiouYbyMVnUXPzDZTQyOryGbDjQMTkVgSUpUGoQDcdVeot", "AUbavXAcUkmtHKjbQwDgtGQeJUAthAkGpXaEJylLdFVDGghZLbnerjdYuhPwAfUfPQxxKPkdkcoZaFnLksLWpgQLCZWymNDGNpzwbnQcwHomZKJAGKdTZKjQUODeRewLmxhLxpEjudvwEFJIgxAVnuGVFDqjxEDMSBcTtsbDbMgRAeXLDhgJFpoGfqBfNHNYHHXbazptPirBlNsAPRpKlQYGmhfkWMizyAJwNGQUMQlfOyjHLlWkKMThBiRHDXnv", "FhKcxRhAzApyQsWZPNHytoxvNZDPNgbKGNgdoDtRFMkaaupJMNOwFzMeVPqnRDTeLlswjwYtZzpAeeLttNGesVnXqzKnRtezYFeAHqYwXFBLicCjuFygKmRQhlxhnuiwCgpqvpLWGNuPtDollldBHbfFCFVewbqVNWjGFOtxRVFqaxcMfTkoaUHfnPCYWkPYMzCVwuasYDDwccChazjSCyEqLcTBlCpiLrEAbubEDATFklCrabsNpoxwtKsFrOVc", "EyAOtrIoUKmUznevlPDFzypjKWfiwzmxcpWNAXZVQgMRcoxSiutVthfavviqOhEaUiMyysFCRulaJZOyhvrscEQjHZzwLqKiiGYDuUdyVqYUbrYANjNlySpHrMykpDvAZZnUXOSkEiqZuhncwGHwaqGtxnQdeayQECNKdQQPWbaEoiCcydCTesVVdzCaqCOfzBeKhjIVHYNSchGcDJvzkXbiIaKCVTEGZoSMXFJbFYlxCsaFWdGhZNLxLYdjTOfn", "bfOzelygqBqoJDlpGgmqwBlTemzAqPOAuaxdkYiKdRkoIuzLzePUciFQHYwqGGpxvLMuATsbhjrvvhdHSiRWDawXekrVkvQfQyzzyppljQCCJFjMqQofoCoOSTrTIAvQqRMoJgPmaysvxWqhQbgylXurKlxmZMHYGNjOUFXnmTeKRIRHHbucbrVVyXmWwdPoBDfdPQwvCBMWdnqIRbXyLaUaeXstijPysRFVXEzObXlomJUZzibubKBETayiKVUa", "bYrgqpqUWgayeIhaSFVRKhNJQdstnbsepNiwfJLqEqVeCJmKbfpGemCNQwexCppuxSocyKiloLLEQPXwefidATdwkLujtvovjQtpexNDYXiXoLgRenrpXRefpvcDOExwhQZslFNyUchiYGglzvGCIwgZPdCXCOpqeHXiYaHdvAqGwFMdZDekQAGdzmReiZEJxzlwDYZDisYFGTqVrxOijLvVVPKequvwDzkPRefnqvqBzrmMugMFufvcXiqfFaYY", "mQqgQCyVVxNxsgkIfLBejUMUSzFVKaxZktwVfULsjLTiLajJbxfgmTupfhgwEYDcxKvKxanWUJjhdSkImfWvenBVpLmXadMCoxDTeHVTYhKKaNDTQnUFPBOXkNtRjPBpKNissvhdgqIfGnocttFiiiSiuyrfcIdibhJdIMVDBgEsHbXrIvxmkpYPsHaqPSzVnyEYoYGOGLfYxhfcnTXBJSLKGOnkIpzUUaHZqtFjejGNpirDVnrQwwtADSWMvnvK", "dTzAkXodevyRXmDzJKHitOxefbOTidiBERcgjQnzLmmxegSLhijMIMVCLcGoaKMNKTVbtKpWLXECNSnsrdcUdIWmLcJvOXnEhTasKoAXKkuKmGhKrQbjdofcnjnRLxFibGnsxRczFiGhjYjTMUDOQJNXkqPbMLlCUBaHZUpcmBJwQyZBoqjRFbTyUKjwUMnfKUbPVTJSOvoBUczXShsJTeWCezbkGgMutMmTEwcNPWpxqqNEAeNNyOUKNWTMCOZp", "JJZMttIFkQhYrhfsJrcgEAHqygKQtoCzIGxRNLHVkSoOafDNyesdaGWDQKEOlXovSrZNMWMxqkmDlQPyGFFvkxYDwBndWBjBefxKAuCZQbQDEXLhNjxrPgAYNtoyxzykbcXIzrDHLgEoXBTZHlxDiImthbZAWzAcAYIReuIlKXHoXjRCGopEWXMCgzrEhgpJBfKYlMIPccaCSZOVbYHDToARRKPmTDHxqHsuyXBKhQmkXOoAhpzGNbEiGnfmOTJn", "fbOuUyvbwfuMLbqVWCeoILpZweHDDIDfzQrDpOZyUUvSlOayrfxbZekBIPnfbiCIdnIceDBFrkCMLwAvSyrnlTJqvZvtgxTCqqIfOuSRzaNDAVBIcreumuwYvBLSEKsIgUErAWNjPKOWkJyNPaSvXIJdCXZFZEugRCLwnbfflZghKgsFfiivNQIBsGqTevfzipQDwbLYpOWxJeUoVgzJDpATUuGMRpRStDddLtFfnMgLhCbhNLOKEAgrJRvsxwGW", "WsxymRGPKFROvHUfaNPXbAOOIzdGiXSDbVsTjSAMkQGPdSGPLKsfYmKgWCsPLElCengznHiXiJbDNMoOSxnFDmujzOVvqOWbssKufmieGnsHkSbfOTqzLCmrsHNQhgpLiLGOMjifaHTKYZLviksCuWaYlFoertmfaSqBmiKmZXMuGRdBWDXfMuxcZpcYttltQpmuRvEqUeWMyjhUMRDCNxhGvScoXrSwfUclZGepiaWberKAhHNYPuDSjCoflgfj", "iGibhnqxUKCLQugHwBJsHYhgTtgAMSKAhabWwpAdvlfqqykxRBuSGrMozMOSrsmkKDBKXSgPZBtNfOgHxmfhSvzHwuvcVrTzMPjjCkieZDfnQLcEbOPisqNiVTpmdRFhGPdhoDPCUcjgFgeGFqPNtOSpTyloUQBgcIeaxAcPKzHgDHEbEIpjIsZmXnQrLnKRmzYbYujXUvcrQzHbbCXTRwadvNVvGqBrjXqdWzgoLsEGVktHrMmrvMolNDYSWSXw", "ItaDWsFpfgrcDmBhpTijFiJbVqbVaRcylqgEMOUQPBUdfZuLrERxuDqQhQuAQzlLEpeFreqqkmeWkJnPqYqSWpjWTAtWUUbOkvGyjlxZXUBsXqGZznuFeSnNMSTLIfGLhvEbsQpMbFIAGLYUVCNKrlwGKDjLtrgneoIyZokiaPXXNYNDYTqncbIEqcnzObkUNgkoWcgEZbcYHKKqdVwVRIQysAsYfvOlTaCIWGWsXlhiiwacHzgfGKPgibMocdsF"],"c_map_smallint":{"c_map_smallint_1":-5946, "c_map_smallint_2":24834, "c_map_smallint_3":-19430, "c_map_smallint_4":2333, "c_map_smallint_5":30674, "c_map_smallint_6":2416, "c_map_smallint_7":12180, "c_map_smallint_8":7568, "c_map_smallint_9":-4186, "c_map_smallint_10":6558},"c_tinyint":-102,"c_float":83.88892,"c_array_boolean":[1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0],"c_array_tinyint":[46, 89, -3, 111, -9, 33, 115, 17, 67, 78, 107, -11, 120, -43, 118, -70, 7, 44, 102, 84, 84, 44, 125, -72, -110],"c_array_decimal":[30.1601, 31.1947, 32.0740, 47.1125, 32.0834, 8.1347, 8.0338, 63.1939, 1.0570, 70.1910, 43.1230, 15.1267, 76.0547, 26.0929, 30.1344, 94.1267, 71.0752, 16.0024, 30.0566, 46.1921, 82.1165, 99.0643, 37.1456, 89.1852, 1.0271],"c_array_float":[1.5819181, 95.81033, 72.81996, 89.0796, 14.205734, 88.44888, 79.3923, 83.63766, 13.939555, 47.045704, 63.184032, 14.535641, 21.015144, 55.83948, 85.17798, 88.55628, 39.429413, 58.2297, 22.923325, 73.027885, 2.9531965, 78.97269, 10.968063, 91.43271, 81.88099],"c_array_string":["zWrGqAdNchutbrFygLmMyxeeDicwVMGoTowoDurPlFDqHEwZBnhpsaYkQAYGYylKyzgKGACthwXXZFLWTLLUoCIGjfIVaZJvphIoWFWThFIvKOTWZjhuYtQTABhSXcVHqqkXHsjdEigyticmXycuGslMPDeyQHIoujWCslMPAyyZKtCHZGjiurtQOXAHAtlXjTwPDHRXOPbXAkAOLKEgIiqOEGsbYDyzvgPmlqhKBFFYMuxXmHNUcsMjWGcllJYuHCOziKmvxqqWqaSmsdSPXyTwSHeunxSdKBrKtqzReyAgSNeqIAKvAaWdzgmkdZFKMhnXFtvzjahWFgowdixWDZQqdWQEsWZaiYcCmMPpnsAOfDFrWxPSCiJtDTOpuIVCaPftjFECFFIwJgzLAJMvojQyzAtpDJvvcWEFPRgwkYmDQPBgiHhENWbpdUGhELjcZHotoFeuABDhvifDWCSBbpTBRWofQIKPiCkvGaWcpVnwxcVtunXkxMGRvwaJAlSA", "knqkgDSlLocdywBFMoAPFyVbbBsPoJoyRszllWYSSxaoAoIizneJBgJoobFazXJXCZkTQSIVAduQobfgQCpQLZXKlOljnafbUSJpKhZWRKRhwbDXXKywPpkPxfHABMnBBXoVFvaKCXcqOYYjcvCiWrgpCWxsrbCoHzuHQaeNuTXOerYPWksvCREDFAwmFIzqXJHGyquGkdZRzanMVCqYfAOvBrfvTPELIJTMhkShZIuYepENnrYzYPcdmNmnmvQIRiLMRCbMEbDTnZXmclYKnDXLgSgwUmCWIrCvuWMroSiVDlUyIwDZFThTyTscCGYKskhgHwRUMZpgQRUBstrwNMblhXlmQbIMebpUIEuLqDEySlhpEkNJVpTjiHJAhAspoivnYLWnECcKUqSEDUeomfhdcbBhRXrJPluGZnnEAdIuMpPQgvHfxuBRrRjveXkaUSIUdWAMZHiRMpxJoDmHKjEJedHpFDUFxwVwyqqQsLkqglhpHpDHNZmeAZLfJbHe", "PbIpBuHSYfAlZvReUPWsPNkYmjHPLHVWIFfbJLTxRJXfVxCBAZXACmvDLVIvMcwtxqfWWzRFlJgIUNBGuTCnxsWhDHNAxodmjIJzInhzIErLvvhoVskJjaqxyFqtiAntCudaowlqEpHzVnzJntdFmfSvMpUEdsTJDILFRgZoeMalVjGtBqvfgjaZJkTWNszeyFfOhkMEgSBcfvUYGnunzxbLXWEDtFXHlXRWQMaWVgEVutkXfTtWDEouCrokIpSDUVQtbiXvOZDkKoqJsJwqsTSFIKGDWhtBmKopkwKYufwgmSsaGWYdlLYitADfdynXonAQUwwXaWGTINliHvwrIDmwwIVEPKWAAtleTpoqvxdrDwSvMLIjWPuspUhGowBxDxxsTeAmkKNAODPfjyGByAUSwjsDspwieBtnnGIlKwtHwGrrbpoFSJGBpDcEGoXhRhAJeMbRTPYdjtfaHsbECnmVXmtdXOsqmTLNvLijZKhfBSiKspveDyIKQaLOxKkI", "fivFNsdVlmYowstqCbwYRFKhAzJgWNfTpFbsLVwHMnukfFDBAHfVhBBHwgmxjQpsIntCRXSXkJhXcSuhtHfAYusjmiYZRjeelZtSTVAwwpHuJYdFhaJPcttMqkoXVfEaSiZgsqDHCZubYlorJbKuKRuMDWRcnUQzLEoIigHfEhnOfDWWnfVChchRulSBnnrQFTtbNUjULRcdVsevexeGmJmzXVYHaFsuBSfjuobKdcJnnRGCdEDQwbRRFAkSwhAXtapXyfuggDysjXeOiLRSNjSddiGTdkdMlDeLCTeyVrUQcbKuUNgFzQRhaGpZAeRZmWBKGejiOUNPinOOIWqToHYYriBvmcEgWIKWrgHbDpQixukYwjqkzEzfKelmkZUyXnTsLcBedSyDVKoUPdnduqagepbURUyTmvyNwhHTNlUpvNswItdFRqEtbOJxsRCEOFXbFxEfEwNHQZsLLbEmuQVsCzwcCQfkRGuYDiVocwkgQCvkGtuIWelDYkZgccda", "nJfBvsTDiBxkCjhBAuGcZEuuReYfhupceWvRIrabZvgloXXSeRnCooeJNBzAaMMswHVprBrBxmfDvCnwgnClqwPdMUCGiREESMBZiIWvUtWGsJRJWQOdyoTqoNnPsjyEWyqLbDcXInnSahoEcfivTPOaAsFssYfFSLfkRCdvctXlKxHuUwHxGgyqdJnWGtTkRXudNmdTGPGsQJUOqsjhJblbFajVMlCaCDXkLMyhRjyeoNqUkJhcOxEFYyLLySsHepvAwFIoZYVMsJwhLIgrJElKnXTbrkAwjGRzdHYPtmUCLIhfJfLEwnXaCcPzUiKJsewEOBCZDwPtKZfnAQKImLJqTreKHhvuONZIrIhdyLyNtHIIDnibbbSVjQjQVKpUBJDaAndVVOyhyeWRmZNGhsrszFzbPQfTqBNMKrCNHxCydUUTOzieBkeSUrPzCsjnTqnIAlUgyKIKtVUIavkyINpSQzQedWGAunlKLAQNlmvQOBiKRnBMourLPllHbeoZ", "fOSNuVDQEsrQuFBDrSLNTuHzjSOmbrkRfUIjCtgMpOeFwXasPXPaLnViFSNeLIPqkHJAjODcNPnIBDfzfGbfdshrAwVwTKdVZFVvRbpErfetFzZbpGchdOuqpawnpQCTdMQvMibKzyyRaBQMlpdvzqYzOiDpWoiZYOGlCFukiITwaTRURlFfJoYgkKRTQLBHHUMFYPveJyqQEokygKYaJHmACyiJMyQSdxymQeqBqfzQcPlNqmVzyALcnAekLZHkDOUwRShVJXGPqHkxxiNIVEdUunOMWtntTYjiOkzVBsmChaVQhMVlKSkzDFyRTTCUkeAOSpGEuAaemBryoXnzQkqGvpmGfHfUnvHhyPuxjGpaarEtNYnlUuyurizgBxElrraHoqIZfaqcOEIbLUTlUwZSPIjzPaSnmwIYvlbZgcHdDJbTyusCDQpFGRsiSeEqzEayIYVwaBMnYUrgDPaQmCwWHJIIoTcJtfchyqkaMqhjohTSdWYbJrajfazomvJi", "sujkzZGBiGImyUPetzgCdxZAdFriLCVYnFhFmIzNMKYcGqgsIwOCObDdPOqFBChbRUWssXNgWEURuiMypCsblnFoqfIeVnDRPKMGITvCtXMVkGGsKerCwatWvoClCnpwPPMEFcUwqZhGAxkeiQgkTudegXCCRdwUvBdfqrgzxwRmwxIDCzuZlQTgroKhUCedCOrpXgrsABIAJVwefCyPRsBajrTmkrODtseghLOtKeuMIZDDbPeZRSbECfYqyHAVylcUotCswMDtQeBBiWLJtixlAVWWoGAdcehBGOusWkozOBugrWItVXqqXnvtsOhhzvZAUYOZGLApVzprMLWQukDFMPHlyTGEbUJJrxuMKXSelglUBogvHZMcZjSiYJYloNQCdVEmfbKsAeLubwMvgWpEasxuTmNHQudUXSgXMQPFNHCiVrHApWfQBTwVHLniDKhKLbbeRpbCbFgEpkmdMqimzBsfwGWsCTzkZpvXhlZvBgFlDAiKEIxqrqQPnDUH", "pspOkPpdRjnXQmiOHiFAniMUPPIMijOxHWgYVzpwJaxjSTdfBfZIjqNrVVBrEgAGxXDqPdVRXtcfsAOeWqmSoobVLHgeBOJdepExDjfovZdRlGppAQbSqZitMmhjxeOdvyjBglgcWVfSmfUkJZpcmOtDCypcclCLJepgsnjsDNpofsyKUQpFjwjxEeUvpJcVScDjklStJPTlbUOBjzsmikxFSwXDtIkPLowtigtLvXXqGLNAnXGkWboqQEqZqRGGAUzguhaHUNTxFCfVXLubMEWCEJLIDdEctloBjnPeTepVouWkoWpPlmAtkPkiCVWMCWrKCznaDTWnJwOQHiYXJWuqUAQXuxgDsKAfpcyVzYgIddGntjOOXvYYxOXFWjbpKbaAVugKGHKUjzMpzkrKOkiWRzdeewYGjkFRSwZwoDHtEclMuXKjwosOAialGjqqoZaKohHyzaNEOSPbiXqKhiUPbVOmtiXKkSpyufPZjtTDqjxyyXGlvLJSMSaOblVW", "nTNnOVIsSzpBwOfnppxSQSJwvQPvLUDSpsXksUFnxGxRUFHuWOcUOImTFCascvzRREvFJmYdvNFVQMWqHxSTtoAAFEKiegjJRgSOgARslqxQehpvMzZMhRPqVGUdRjlVmuYsMzWXQDAsrMNFOMfYJXJOhiyCLXnOSqONKnUxzDGOeBlzbmmZEjIAhYNCGLtMheLokUFrpESBIwHgHMsCbPJOoWJmlGbOFTPQXroDafJvPHarQhdaCVeHjwxmUCwzMLTLnDXbGNcimjFkCAljSjdKOsvaTDoyHCdZhdVHxVxkNZxurLwflshAXscJyBCPnOevxhSJXYxbEXkWUAQmYhHeVqCyWjWcASrzbWTIHqYuSBWypNvMBAuOInpmjTTYRLTQLJlaBOlqfHinDMJePzwGedEFcifccBmgcidXcqmtLjYnYMRjYfGGMQqZDkDfqFWxjCAHfkPNpYJKmkiPQoHfzmQyAIhLiLfTqtGwNuIGlXnEEuTnZqYuvVYeHZOz", "COHJKJwRPSjimSxYIiUkMnlVDubFyHFamoVwEUyBJVDpDKfvudFwQkCWpggIqasqHQSLWsNxtwdLnrQikgNISHvGzAeokzXSPFbJwMmcUHLRNwsraFwMQioKEvPnVEXtOkjgZomxRygIBZMGwKKPTVDhDODUtWfGgUROHZrmnuzuuzVwwoLLdXqDwXWQIpmtoRiaIPucphnrkjKgXXEPqISEqiVLblrasmMvGkBcrjSXPObmfERRNEDCaHqNmiQQQwtoXIIfvsZHtotVlPmMWNyyyUHNiTGHtDgPKQkIEogoRQrAHLObjICeIyZLLPSsapCzPOrzzDWSZdgYjbxvvWkFfuPZTEBPlFOprquCItlMmxeEjUlpjhhABYGzdFrokfTlTqAzSPXqTNCGtvvRRIqLkhAEBvMFLMFLJrlKbEaJZQIwGIuUSKuVIwFGvFXaDHZuXETzoBoEGuJBOGKGiZxoWVTjeaRaSuGVoWXjcUHYzRkOTCvweOihthtAfnaT", "nTboniRJOTLBZCAhBCdVfuoctiXePDmsrkIWsMRStNObjchyVDdbboLbBrTvvvypfjITbQWPhQvKhhMavFnDzRgpeMxVBjaiAAGAvtaVOJGozdyvuQCsqudILRcCPpEUMLBBADoVoQCVNBeKgNunAzNHJOmxeUtekSZTzcPTBkQwnTSVXhvMgySWyrxFJDJzrahJCMqfwxNHIyNmhVsDqEltlPRLmodoUotbzyOEkndhxYWevoMkggWnqIuakiYNelFVFNGludklWauxzqlxlLQufjmZBexqvzGZhEyopwzBrhQKIcUuZoVqrsExlpWqbTsBcROpMUWIqlhGBhigzkyLwHbPCRyIlrRKnEqgumDvgNtkxwjTONjlKYeKfDzIRJwtXekwBFNKioGpRvkgFNCndDBgsWeNOMKbOYrTiztAWQrxRMUUArcFlvvughvTSOIObKgWXdIQmWzZLIVwLWbjocZvhwCcSCDcyHNRvzmCSDphSkhCPwlJNxuRSkyK", "huyNEEFBovIfxYiGamwcjJjWlQMBYrhrrAXJiDnKXclsVprXAmZodSckmGxzpYUhLaHWVxAQemVvGZQFUzQoxshSZnzSoloIEDFaBWKPoCFNuLUDkwytITdCziImpmeSbteBVSDHAzsBnmVDLFWNDAtfdovTRYyNWcCQCbLlvjERgssYTLyftuMIjjeQdidISOgfzhECtAVnOFFfFKwpDzqpqUNEGBHgZmpSaTZkOZFncKieTcqTARYJIHPAkZPxtZWvIFTiQOrAVwsgRrHURyzfmcSsyawYItXNsWkcQCQVznlPQnuAvCHDXrOSsuVFLcdFWovSNJGVQpYiAwpdVBqVnzccJMYdwgUlAefGaxTDunMwkjbHBoppKHUHnHWajkZxUVTSwhLnAdFYzszCPQshAmeywAnPvAVzElLvgKrtRFrsefdAWzxRaNPeipHGVujNkIuDMcoRsjlVOLnZgvQBlqHplVkIcurniABdBjgYTXqYtTmuDUTFlpmoFgHf", "XZKwvMMIJnSvEmzRrHYmrQpjgNxhFEmpsGRMRbsNdURuRBGaNNIeQxBaUZXSRadBSSyaCruYRoJdUFAqwcVovBdEwfjwMFnJHBDOVHZyvVySTREFurUqwpQpgysYUTuzzgyXBdgAHXblIobdAEGdRnKYZuqbWadEFyAsdgAZGRVRdNCgiNvlvgpKIXbWFSJWgVvQOYIAqipWmnwjlUTGnGXYYOLbpqNZdOjghDceTErXztlBRusFqaSiamHHdmLTsQTZFxRFaiIyhCWQbtuoiuJtsLpjfZWRrqLJvudBvPpQGLlrCgGwVWlsYEdNhBCnEuBrTIZvHrzWaYgLXtlRahkTfYKQAatdgzOaNWrxXRkYmniJxNDuTOLnkLKhVvkoZSPbcAgNTJuhAwhNLbyQoYnFABeLXZlpBrgUCMNatmUlImXGVhTWUgMMqeamuBJcPoUUiTqexTqHuznUcosDepFSTPwrzauRYbyhAICklJXBYqaKGMAuXmNBMZCuDblh", "noSeRUFmyDLRlWuZStpKRfiahVeEpyrvKYewdLHuNqFaQRgOjDOQUaOfTzPcITsIuSvUzRqswUBmTaNvRvvUSrWVsvQEcklLUfdzhDpEuFqOoOvHHUwiJPVpwmWyGFxGDtTQmeasMFLkajdbBZpXrcsAHCEknpgrePmClKLCFNSzNzveTvZlvFyqVxHDBuqnSpOxDoeFYjKYvNMXJwGCNNQEYpdQpHlWyLSbMYMruJjZDvGoePFvBXhHSsspFBwzTBgaKUldPUptFcpHlAKJCDkVlrKvtWZfsSIjzOazmEibmmVopqGDwyAEKNbeXsNokZTAnZMWadrafKTEzKpMZdSTfELPthJnXWvjPbeTauVEXffvryjsNsJnlbPthWotnvljdpnLXcRXbdeQbWFGAuIZfSejnzSiJNGKupWfOfxnlbWLpqeSquPryYVnZcMiAYvSfxDFKlQkhHLBcQkaMJMamzehXVLFxONMkByEHpfcioHzXMQLRDnnOYlSndyp", "IzQrpypcYPeOFxRlzHiNsvhEDOyoDalLSdgGnebpHCmvrUJrGPLRJbbdCPQEnQlYybbKZFXYSllnKFRmasXnglxyDTOsGwgZTjkPMbHjQhrtOOIKPRVVOpmFaTnHNkqucukXOjtDHTkShQHuDiQYZyDPTSsCdslQlrvPCBYxsgKRdVwUPrVVKHmkJSrzlDdMZnRKetiEXCrtWmXdHANtnYQvwhYpZENIDhJUgIiPRlwXBIJXafIDsBNXoOxZohStGinqpSlxolArmepgarjoxpCjRdbUaKFyEJUpnNZOmFpmMTCXnhXrdiMjdnVMbUFaDUvfVHdtvtfHczZxlFsPxfvNsnGXPakTdbNnaXNXdlHtvlROxAfBdhlvsbnbnuUAjbGUoJotiayhVwZOrRHjkMXMwfOIBKVKgzRFmDGxhgqcMgorLbRmuStyhfsPgvVZDCWRtQbmPsKlVaZaUWxOCnOCwmlCNYcyWjKBfvXNmLFyzfVyIQEUvyaXXiDoCzyV", "JJlozHwDmwtTcGyEpdVtvOVcdoqfzJuAXoxSxYIzLimXmIYWIeIbUeQXBNVAWAKefubJlcTdVzauCgoGdWeltIbKCyBrHGbYBZciDynPdQCLFYeAGaaelKYoySIrPSUSNxHABwShkZHkZeLqjlSHKMZtSpiTBzurxwKkEqGxgeKWNsripZmJjvvlppYoIQEKVjvHNVInyYvpzlCJrmDfdZFYPiWBRUuxlgsDBLzemhuHAGzzDbJofnQGLbWnANZmXwVUfTqzjJVYrykKCULeAqyoeszjxeyracAouftdtNJLYQXxbJHwaUogDURqoWPRmCZuDGAaRwcqSqByDNfzReaGFjSbVxyfEWudlAzJUZzdKmXPYKkRfQTAjUZpUvhMWjMVtrHOzejhdnnntnAJWkIdYQejtWqwXDBqsjhUgGOfTHowagyxgUDwMEbGuyRylqMyBqiplsdEaORrhUebiXXGyaFOyvZiBfBhykCsiooUFBBPNJeJCjYpWraGFfnx", "TcOTfoKwvGrrJFKzhahKKDshSCVrBGTMaOWshdZsajNYVcbQZjdfFxxeMcUYHqKuTImlItlLnbLNSPEvcBvDswqyvvqaGEHJCYTLmNSOKQUwTqqdDixIwKqpGHhKtNtpqNJUpbpjhhVOVRWyPkvZQSiksPdiyfzoGASNMxdLNWaejQkMFCTjBLMbhgouAlUYrwPZNbznrotmkZfrbzuAlsAkTtkPRSCfGxHNZoDdlElrkXgQdhNbphTxMPXXVWcSWoHaXZJuupQHRbFUaSkRhsQSczuwyNnGXvoqKIpAAAhnurYMqWsBaamWIoyfgWlwNkpsjjPDciXInJrjIwlMFVHxrCaRJokaZONKvKMUQjmHNctZMFsGPqETLhvIxNZgKnTInrDFyHVuDUsqIXPZqszaWACsHBtkwwDcAgvLdoQGiLFQVcQsQazJcvMwjPhmzioAFkZEXWDeYhnnQhZYtzSdAAjgVqWLxzoamWUrLAjyqgbZpsgNKVzSlaLJOjLf", "LnbSVPFinNrnMlPGKmJkrwAMKvKUkKkuZSIsGzHgIMczeRHZWvQGsdIIwtLpqVGbnRVYomnDbMsvChrzqciUYCXMNBXjtVgPdJSrCWZDbwOxbEtqiRuYQuITxQoOOEJiSjsalFFIkzJjVgUxRhDCduTQRdzQdSLmPVVPYbIxYFpYnuhymrHmMURCIZrlEHlKJtqLaPdpUUwOQrFIQXmysaEgMqUyaoeoUKKkVnIPwCBkUCveVKzLDMhVzbaQAsDmaYKFJItnLwJJrWKKkxIuwTcoMgvmFhhTyvpHXnqqpCHxZGKlmqvLIKAtIAUuvGeNBOYXYVDTegsLXSrTXGrWhNqQMfzunexCcqHLMMQJqhIVKpCLQmHcDDXyZQlPDEaoIxhVvakSciWZwDxpWmojCKvQXxUgqSixsSUzPtsgFOCFHbVWGCJqssLIhctSciAzROuDaqWwlskWrVMQvSQfhouAAyhCjbIZtLCfdQQalqHVKKEjYoGfAtWlKBOytBQr", "wSIyPyudQdNvRUgatZRuHUywbvntRvxfmUrIRYKxhYjZerxcJPnmXdiNPcGzPsgyPDSqpsTMdrHLlhQpUZJnuvePELagJbqlNJMQzaPNhGUjBDXIAjnCBuynnsQKgBgDMIrBWOdGLlhVJYKHbEqvtZmlyNKiFeSOgKbSifgnawoCYMfxfzRzjIWufNejGxTqamlTPuRHDQyJubhdzgyQfpteQbYgLUldbKsfasDKWrgBnskWDsvXzEbMsmafBuohRdoTceEHjFVAtMhuOPFRJIPPuoUSNipmrlYXYTUigiOILoAtmkNzRCILclGOwZrtWfGUjlRkhXhFDzOygYzHAVxKMIHAGdHprnJzffLGrQBQaKcVqUMJTDlCOyoUmVfRHLaargybfzkYLZUYPmJwoCwGpMWYlENMSqbjUkrLdaGAGbFPqXkEdAoAYHHlZQvZgbLrdVFybAxLzCtxmBeIUeoOaFIijxEkxIaLRAAtKUJYmrYzwmjIwrBIfJMxmPic", "oBIKzNSXHAKlClhdMndrMKItKadUyVpUelykAxYcJMnIsrNCLRpTVkSSmgqsiIHySNxPKBTibmfWbfTeFiVajSyrYvKuqmbSHXIndgAoEQkUgijsOfnoWznjwTaTdTfEdChhxVybfbOdkLWStEuhEhIcuggDQrKeTRxHOIYeWqNtWVSmwTTzoinZbhOdUAMfcKOBGTkYddhpAiIfGjeuqUtFWtaGmvamHzzNCmAGGoRHdEMvIUZeaVnjyQgtZFEYLMPkQoqDdTTkZBKAyaOHCOqubdwFHQyyBvspvYahzmZPDPioainfmuNMBmiGZrrfqCrGuXOOLcltvcRmTkbykmrDnTqJnsdTfJkCkBDYzqEdUtfWygEfASxfOZoSXfoVAIyGhadrkiiyFYMXrIuwPPbYUYaCASGPphuhdxkvnJllwDHzZgxxXKfUYevMBwXQVWsIMMqfOtrTwQZZhmNbmsBINPCUkaIUgrpaAVtDBAbqSnHXmJGmIQbIqWBTFERk", "gcvKpXyBJeTQQEnjfLvxraIRXshXydYIozgWtuhzJAbTZBfrrOGTWDMCQuMlGuMKJckHzDaVnNjKHlndrBjZlcxBAIsmEdncpBZvDEKClcMvBypmEpMmiUuHXRrbMsHwemMmvzOVQVCcPdfFfDVeuDybjpoTrrmFgpcLTbJIqMOmIPGoxgsXlcWuUdlQciajaISZknYGVYoMruAkpHXaEutSAroAthKgqjFYrdmlIlWpfmyhjnLgrUrhXSYzGSldLCKXWpJzxPcbdyhagzODEAbJYqqRxDCansWxhyNUGimooPxlYdMYoiKssNTPherbfXLOGtZuoTbmZpKjImUgDJRQxtAApIZQEtzuZYyDvFAPIakyvvHcupLHhJRrUoBdcPHxzaVFPCkPJCBdwkUMZYtKwjfAahQIHdWaSHOCjDwNCxJBocUuKNSiLbPUOgcYCYhEfBxfBXtfYzijNozjwLnZfeciUKOzcXShSlrbxDQjWZnoPKlyhuihRsorcSKw", "iwFLlSfgRWjRCBBndalMXIpIbIIxtLiJptHJAYsqnrVvWZYbOKMbHOOQZMQFMcCXLLSysLbbdOSQdwidcEiPJDyKaYIQVwTcGWZoBKEkHZgaQebKTYQWRrLSDJBwFNVbVMFYrwgStfwJzXxpVqbDqCtBUFCPYRyFQZhVrVSGrqgEmQhBmqQCQszOfRmKjTNvoNXyNzmkWklEPtinZncPfRBrKXKyOpscCisGJmfSCtXukAuylvzbhksZscLyAmjkXsUcRxasSxPMcjayjEMlMOZkwnXCSyIJbbXsmJlxvMMHDRbXGuRoAQOJtghMfVreoBbSAwJIumwEDsCyaguFpoJwvMkfdqSqzhZKOWkVquZHfvjThEsbCSyUrCDCmSiqjMwIIdtRSgXfPIGOsWaJccMPWtSjPaTEtLRXzBNwBEnrLaDRwXSlBvVsuyRfmGcEtUcddOKwcaFXjbTOEDCZkBChdLimJIOezlnCxGwjtveqCAkmKefSokpDxbHFcdcg", "WZyZnXgWUAvVOFqoQilclTcwdukKXUEZyeXxmGoViHLmhrkiQSvrinNWOGviJzUVhgRKUhjWtVinANzhVwCfvaaVASrLHlQafnUcKBKLQnxijBhRCNenuwJdEkrLoeZzPNcGwvhzrzpsOdOXuUchfAcaigrqrYVPDMfvRNTbopUzIblGegIMPgsBgDaQNHnUfihdWAdBvYtggogeCafMgrpQJzfuwSLrKUeQTQfvdcJWPYDTZqynWmIPMNHMlTmazpFQRvyrfynDOryGwiQXAWTyNNuBwGgXxbRsCeuTdqWSDvaTTblsHwBkjbUNvNWjPvrLZJMfdyWLjYDFjObViODNEvksvAnQfRKYgfSBDImTfJtyOMNjGvyrZcPQgrDagkCbiqjXprazAQgSueiSJLmkYGAQBtZtuJUMODcDnZPWxZQdVBztcLwoTHAHbYaTTySGRPKaRXjfqsHKaFTRGPfAfHgrxUXzWFNgwqPLyIlbPkNPKkqFhEMZNniQYZwO", "qrpNsywftALArffcmQXGXUWgltgSPHeGrkemBqeJZioyKaKkXHdySLClOPYDrClZXMpYJzBlXJyIEcUXWdFcSOexUHUugcTuvWOmUOLMsTGkKmFuZKglRpeQOFWGnhMtEcEuIvKSXqJuPdsPmVCrJbrgyEnbBDKFotegXZUEoTSRfnQKwUcWOvgWQQICrPeTwWcpCKAAwqgnVQjHBtpBBpuqHZURPNpJfHMIpUCLsLBEPDGDBgtiYVAvARZrFLdKasTvBooWXrFKxToybIAiwlfMNBQnXiWaUQMwGwlwTIKOglMkVtSMxibemrGgZpKexkZXZlYLVdJljpMDFoTyNaqSDgMEXJSqFiKytFWZTiZGIjIgtQUGAXgtUiIaHNKmyAJztDvfVicOQSDbPgbTsjXcRXmRjTQyHieEJsQxnSrnafCjReLTFRxmklaLtjSVGoxumLqfrjGWmHOIwsuampsEnotSPjyvKqQnNpEMqKLsOngjevoOuuzEQMeOuNaD", "KYHiWEvyBDLOiBCvFNkcTuhtSlTvTpXPeaMMwXbgYTHRxKxcOzWiLzWAzXRWdesCTVlFmHkFTxOjPIzENJEnWQJukxAZzwwgjKPqUqFKSfJhMRPLlknPIUwxweYbWNEmrBRUkLjjSPdEuUFEnqjfMsThqtiJrSXKLjOEKksobYtwtAJzkUloHcTGBDIjRacjSwgswQBteItRznQNLBIIQYZdjbZZweCMSjIhGyEerptKaiOJNDOYWPYBBnLbThhpyqlyHltpHjxcumdoWQnvtzZDNfguKmpgnvhaXPEwhpmQUwchFHXMmfoityQFQQPyRRKIGiusvHcchqbSQCKDzPicfDKUjkRWUCmqVauRuBAaOvgOQevwTGjHLousdIHlAMmzwvKRXoluyKuBaWLfkhLBYUTvNTyOarZYpsaakRgdRaLnfADDKOcjqWXNUPlDDVqxoGklnNMneQjVTUQSyFbcVjGcOtqGBwkyCeZuYoNracudTQKkvPzFUisQQLck"],"c_array_datetime":["2003-04-22 12:14:12", "2016-11-24 14:17:10", "2019-06-07 02:01:11", "2013-01-13 23:19:56", "2010-09-13 00:13:03", "2013-12-16 08:34:30", "2009-11-04 15:07:37", "2013-04-27 15:03:38", "2010-01-07 19:50:39", "2004-02-14 03:39:41", "2016-07-15 22:48:19", "2000-08-10 03:47:33", "2013-04-14 18:21:26", "2018-07-20 23:03:27", "2015-07-12 22:04:24", "2002-11-18 22:01:48", "2019-12-12 23:59:21", "2000-12-14 07:24:06", "2000-05-06 16:43:20", "2014-04-27 16:52:41", "2015-10-16 19:24:05", "2005-01-11 21:13:04", "2002-10-26 07:21:10", "2002-01-17 09:05:38", "2004-03-02 15:52:57"],"c_array_ipv4":["tDxiinpNsW", "yFPdeVvoWe", "oPLlUSXPrC", "rBVxMwyBgK", "CxazpuSWOb", "IYanzaibEJ", "vqCfTFKfcy", "zoLNteFdUs", "fizCCAPUGY", "dDFgBqBDhJ", "mRLAVavNdC", "eyGhqiYKgG", "XuJYdnWQvw", "PWYcTKnqce", "RhLJiIyuxj", "WOIRpAdzno", "BxWLndUTfK", "XMiJUIfkRU", "SIvckbixZJ", "HqBrhluKDy", "cROGOxzzXI", "slYSqCflrQ", "PDwlyMtkGG", "tjkdbyXwPt", "zAhtAjjZis"],"c_map_largeint":{"c_map_largeint_1":5382531258346153832, "c_map_largeint_2":-3504515446746775303, "c_map_largeint_3":-4624228214778052334, "c_map_largeint_4":-339251929549225564, "c_map_largeint_5":224515450245025585, "c_map_largeint_6":8585659762912853819, "c_map_largeint_7":3288799857920440844, "c_map_largeint_8":4695988696445058708, "c_map_largeint_9":5282196650050509944, "c_map_largeint_10":-6618699436047307066},"c_map_decimal":{"c_map_decimal_1":39.1850, "c_map_decimal_2":30.0302, "c_map_decimal_3":57.0071, "c_map_decimal_4":80.0769, "c_map_decimal_5":36.0415, "c_map_decimal_6":39.1227, "c_map_decimal_7":21.1149, "c_map_decimal_8":44.1569, "c_map_decimal_9":33.0426, "c_map_decimal_10":12.0654},"c_boolean":0,"c_decimal":59.1373,"c_array_int":[176557562, 109831087, -869658015, -771257800, -472755324, -1814198881, 894079669, -788916185, -523039723, 880000465, -1906860261, -529757726, 1888040651, -173381822, -577411912, 1135669561, 2089478617, 2130856551, -1297475811, 1489960559, 1778280547, -846701566, -323013817, 1708053534, 1169900085],"c_array_date":["2009-12-16", "2004-05-13", "2003-03-28", "2016-02-09", "2010-06-22", "2007-04-17", "2014-05-14", "2012-04-09", "2000-02-11", "2011-01-16", "2011-09-02", "2008-08-06", "2010-11-26", "2008-07-14", "2009-04-15", "2018-05-02", "2008-06-16", "2018-04-19", "2012-09-26", "2007-11-28", "2018-07-25", "2016-08-19", "2006-02-11", "2000-07-20", "2012-05-26"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_bigint":-6206688557735628683,"c_char":"qJkkEuBptZ","c_string":"QpiBkSMIPHEGWHHQtHonVxJbsAkqnyvdEaSkCeYDxCSGVrxpIcHXIuQUdCwnnqohwZHmAyaSKYXgfdfQJJooswZVRwcnnhLTMLZyEGBwlXjCJOueVjGNWQOTJXXJwZfbbrCUbhGzRqjRhxMzFoXHFyBchVQpfQmSMCkXtHVDKPHhQitBgBGWodYvBfvWnKrmDyYkbzbdjhuwGMLFAYEkRBDcmGnBGxTcowbQbdpiVUuEVfkWgIyCRJTkytLvJqmUbNAOPYKKmBcgjIKYoyppzscLVitGCBZfWxFLXEfRwNViKCPWJFLaUmnPdrnvdAdaIfDpOCtGmknFuXkYgwVoGxHOEtjzjTLGXnaNOfmczNpOaVebWJUCmwEVwokwCCJaFtAdfSToTsfbzphbekjDDBQAXFNKhurkRZTbvysRbEIdouShklfMSYBnACDCguOukDXTMKHiyVLeurzwprwJKJCtGAksBAyMiOLCsRzpXrasTkTvqNDrSaFtqyhKzzIX","c_ipv4":"119.31.236.92","c_array_char":["lApfWXGcmG", "hpELtyfIae", "tgcRkFIjLW", "zXdWPOtPlP", "RnCNlYQVYk", "vuSlVNRJDK", "XJbPShRoBW", "yuwaYzzbAL", "hInkuSSYfy", "vtRBzMckwj", "ivwuZdzFXQ", "KLclJghXKk", "IJlDapcMqx", "ibHdvKoxUA", "VaSEMcUkXI", "eQgAtDYvRf", "NXdWNOTpeF", "rHVvypzhhs", "DibDfMzTwA", "hEnfPjshzT", "ZlzprWzwmq", "aQhwbYHjJM", "wgfPayOcUx", "tSQbJhSjmt", "TXIZGVusNe"],"c_map_tinyint":{"c_map_tinyint_1":43, "c_map_tinyint_2":23, "c_map_tinyint_3":-86, "c_map_tinyint_4":-12, "c_map_tinyint_5":124, "c_map_tinyint_6":-112, "c_map_tinyint_7":-40, "c_map_tinyint_8":126, "c_map_tinyint_9":-118, "c_map_tinyint_10":91},"c_map_float":{"c_map_float_1":42.35682, "c_map_float_2":37.686295, "c_map_float_3":47.08092, "c_map_float_4":52.21385, "c_map_float_5":28.473843, "c_map_float_6":80.89567, "c_map_float_7":79.31639, "c_map_float_8":54.30468, "c_map_float_9":37.604027, "c_map_float_10":45.993557},"c_varchar":"me","c_date":"2002-02-03","c_array_largeint":[-7204750935673115772, 6545251992954839518, -8997576294883232821, -5346193505382016752, 1703738440328300204, -1133477015474138660, 4783182364046658079, 2842010674185650929, 8913226024476259534, 1356205124852776420, 1219099346405677650, -6386022464256950753, 48030166347301133, -5069951161598903346, 8358296651948795110, 7862621982642575542, -4029183143294577586, -1638928204888038524, 2900024543358271812, 2409287249765075508, 1534137083805791930, 2510355600623606094, 6073446315601423826, 1612257405918879903, -8463664771728998604],"c_map_int":{"c_map_int_1":-873365315, "c_map_int_2":-1165599211, "c_map_int_3":-2071436779, "c_map_int_4":2072431989, "c_map_int_5":-1455304671, "c_map_int_6":1202807196, "c_map_int_7":827581882, "c_map_int_8":-1380311090, "c_map_int_9":-730009331, "c_map_int_10":1361655625},"c_map_double":{"c_map_double_1":89.04290858279357, "c_map_double_2":10.86132711902015, "c_map_double_3":32.588501605455114, "c_map_double_4":83.07182898241368, "c_map_double_5":60.623240733067966, "c_map_double_6":27.88311848072172, "c_map_double_7":49.359514871571776, "c_map_double_8":65.01098906276229, "c_map_double_9":91.96019734125228, "c_map_double_10":26.386437859228273},"c_map_string":{"c_map_string_1":"zUYZGbcDYcCiCSmTgzzXLcBrWngHDkYKgWvbrJQOlWqYNRKIboBlYKXvjFJZZauROrTkvCUxFxxDjZsNauURYIYcpaPXzWWNPvusOxEUEviGiFfGfXjVyfDOFWWoSQbplEtovBBpchODwzIQWsKqwfFaCBifsklxXaVTwbzHMtaazTgtOOJmPmOoJmGVEOghBOxuJuVAMWJHmiseKrhFDauPFeyKJRIpeHcHUgnkvOygiQVvmUdUhhAgtcHpdPXOIPlqqXYcxMrzymqCmcVFSUaufNZcZwPzQIoxmdNaEvwmUzDTUzlENbXDdTgZhuzjWfNeVUMcayokNDVMIQtbjPhvMDUQeRrkgaSJOIFLrfrmmEkSWfECTWxYjFVsgpvGOMYlnVoKcypvnTcHoAMqmvDmgwzHGxvxoqBkdOiWmfAbDJJkRLpDibxXobjufKxBFrlrfAzFhzJeUdZMDhskyoRRfrioBvYDTUQxOSAOYyrJCpoFKYsIuVOMJNuSBVjN", "c_map_string_2":"ugDxdmdVXgoQlauzFRKGdtuHPxfaPKefJnQiyhSLeqnzJKfqfeTGjzrhQWWiYzpJpTNhACXZkBUbwwgIhEHJvHjUWgTCoZiIiPHfOBSPGvZIswoATfiGxNypNHcuoUpeROTlURntKITfAjjWGVHXoufmzPDgsBMIPNBKaQwKOVYyAlbOqbyYwXcpLIePdvJAdyUctuWOoHSSKHbLyLUsfeWnNXImOejmDGAzGNKRwgJvyRpYOcEXrcAbEqkwcgYUqVKBQmzIsBifgtVoaBhHZeSxASROuqKDIpLrZajqOqRpnlsMKKAwXnhOwlonBNuETLWRAZRdbASvdSsAVdjQbnRtTiZzggWMdEtWpWsrdpUJMNXkEdYFxbHkGJfGvvlDmXgMdqnjuuUzFiYZrBZqvVqhOrJBdQWIxOrNwSyNfkLosOjljMQgIRudZoTIVFpOtvBUEbbofcKQYfPvpBqBSCJcBOzPxQrDJipyIqDtfdnlIMWNeGNsGWzveDwGXzpo", "c_map_string_3":"haioAGpSsEaNqojIlsGyBrWsswzrfDrCTpLCkPtlaKVhAEzlHCNKsyLuVFvTDYJaPRQTXglwXzMqKrLUrcjJLVuXlXsGebaGdLHnwpIdXsITIHqysSpYXgeVxCmuLqIjxScZoYQfPHtUCdwsJKnxmdtqdCuVWukEJRhLtxqcXEYBXwGGEnYGVPGxuzxkfapUReSqXBtbiuiBImruLrxUupouIuLNpPfgYTDCrBkLfgkdUZAHNJyQoRuSwXjwxHasFixjzazDljtjcktvSNtCKTGwbTHwHLgtUPWSPzJzmsLTTieyzPjdynqsntocjvBwZiWsakGdBaMoSiNfadSLAgfrFiRvJCyLYhZdOrOCuudBJevdkVKIQRTGNaFABwEmwVVyKsdQemFroWEcjWFNGAOxqASYBfdCMjAnLefDGItspiqeaslrfrkZVArxrFRjyRDnMwrvxTrCVjfHhgHGHmETRUcsEnWvVjuafkRLmtYQaiaPnawVVwjCgWmNnykm", "c_map_string_4":"lBnCxHdedSkkCMWoMATxQDZchfmwSXLOTUNnFvkusZymhcEqJJzSCVjPezArkWsEwraFPxrvfhcNzlYzcuZrlSinGQthciCkMgYMnDnYVkTsGFWxpyWjXrkAMpqZrhKhQADADFPRQnIeZxwMNHYUlgkkudMznByamYYvBGuHIKOLTtbqViMZYUywbmbCmRyUNbgiVWzJWviZAzEyiKpHZuqlxMIUASKIbQjEQYYnRjmRJlhovwksFjCPgOSVOQFemoORPsHHJWvICtwemIAiMSKVaiKaveaBKNHCmKnjTAqEdpeUHeuXMbHMNGgfGsEwaqzjIVlzrsoJzSNpTIZbQLcvixEgJuVlyeewjyHMsKnZbDskdiuSLdXoaOZqXJYunOflWxLxuZyWlLhEehGLdVsSnydkyRyvEGRRuKSRcZRmlENgLTBwILRyLIidaVwTMDZxCMGPyUFCPIqsFTMNOGlQwLRhZGPEIyQUnCCCqnyaVgQIhnMFjIjBUmgkecSb", "c_map_string_5":"pnxdhjVmJHDeOHzssQotrnkXpugfyDnXFjdPSrQTxCvAneXPCeZHMERRivLoNdCOdSQevOqzFaYDIoTMhjOIkaKRMQCFoLZgczCHcvRZWXijJEsUiObNkLrjXIzJNsmvnMMlgdyfFKixEenjCjshcvEocUHJDsVaKdwysrBFNrdbBVcNKsOdzOrOrTjimvuIHEmOirWBdzvbCtCDaUssRZeYSFpevkQPwNUhRmiVFqtuZxLMyFKLnIBvvGNwSoUQWvAluwINHoJhyJFqFENkuIASvBKzqoMAxBzjKCHCfqTjvjOpgyGIOuLGruRnFrVQTSCvLwIDNlkTyaRLfBXiLmSiXTrTBaKPAIzBZXlrQiHebpYPFeyGVrhqJUFKiQhbIBiuVkoUacbesGdnBcKuWVCFPfYZCTPVtzLnjrxWOtKtbxthuyvNENkOZKbQNeABQfzpinjIkyYTkuVegHEykpldKHoXpyJPkHVHDMjOjyxQFSvmIoJacKJsPsSSXIOW", "c_map_string_6":"QmXODMyNlAcvLMMewBXpUkGgZeILfdjDTRmixeNNJdgziOxpwdTfDfohIlzXQOPvUzJXwtOuutFrvpTVIYBvJWQOzWgobaZwWpifubBVPIUpGTmtrAvTTtiqUBdFZHjSmwKDQiKOevbeRUOiynsXTlKvxbOmhXcKRZgEKQzUIKcmiilcLADCvgNaLIHOQHjyDCPCoxexfNQKbtioEPonBnMtbCrnIFghYecIkDToWqvxHQnaxUBVVcpPjGgVBdTTouSxLqoOfnQWerpqdPyvqNRRwiivLuManbsBDImfQnCHvBaHhIDNXlsHmNnSCrtbeNLISAucxxpAduWwoaVrruUynkOwAgHerLUewEDAWcDVcdIxnnOVvDbhoRaGtlMobkbNKVcWnHqHriyKfQwiggPJugvgOfCMrvxxldbHgSDaeTLYtfJMwuvSEWOpsWkDClzrWFeMTryXsrPpLyatCXHTnvljMKyDCqnwibohwxAqgQVxIQuWZWhBnlxYhXKm", "c_map_string_7":"uiYhPEzIgqxFsPfXtSOJJnQfxxgqbWjDSrrItIutTYFxNdgtQSZdrOnQffYitkwadNefnSWwqfMxLNlCSyObqxLFYqbkkDBzZhibbPUtXMqMsSxDNjtSyHnyHHWDWMGQbFNCcyketNQAowUwzukEeUQeVfIBfljCtsHpOWsMdaFnIWQImHfagCnFNpGicCisTUeDJtrILgUwcpWqWaNnBQDUbpaURtnluWigWfVKYbgjnFEtZIqmtWDsLlfhfgrBaEvPoTNoncJQFHAMnwvPNAvFhgEnFXDxfIifmvCpdjjFCjAmMCZFZsYGTnoOKeWRybkeSVjFNXMhhaWkOkVmFJloYbGbmHwTafwFTwsYaysWSAbOJZtrDiVbwfhovXmpPIyIuHMPYYcPlNkSwpkwOQXobGMecBpeQrPvhRapFENdMZUgEaZTpwhcWeflLaHPStRsXnEWjVaJemnxzdrtiDMOCcYbRaFhWLWulFfTHsrqAIYFfbdricklMXWKcXJy", "c_map_string_8":"LHrKzXGiBQPhJDzAYpQXDYtIfMZiltAFHnGakQJyOKLUBeWUgbfxBdxDzFAkOmAjIRKqmrZXvCyWhZqCZXJzyeKnFizfrBxiyateYQyfTDoFuxJGLMDdEtUsSpCekHdTeeigASaunEbemdbvfILUFpiGLwwEzbBlrDpZrElgOESfZYbpuEaNzkZwLLNycJFAVKJrXEwGGxCPhEJQHIdWbDzcFVBwNtNRevFtzoPIoBxiIEgnHfsMMTNaHVHMKkogimJZpuykWTZJgfzyzamHrRZYUtjnZpONYfyXZLakqgqrdiqTilGXJcIzXYarsHHzgtvDHBqKlpXzjUSljQXnNZZycnxgixhKVMJuptxEVnfgSCwXpBSwcTBzLXaMMWarNGFXiNDeGCOLCCuvTOLeKtQkiUWvJCyrXfIFUQiyNCmPKUkVDlieUSjsaVwElWxDfcqgoespLTpShWIfbAqxdyTdVVWfdotwxBSbRhlzbriNZAqZEcoonwnLgeuOjRMd", "c_map_string_9":"aQsiCbkWdjNjeBCrWSWOmwPJHRtcPHkfWbPnBNqCodipcTVVboVhudjjtDLzbdMPnptLJEJMgEiNftQDiAikirlAWzEMHrbwdNMkZSkFkmdoPYqFjYfSVpORfIQOHdhmhWNJUWkJIEdwtIpXCMnzZJuGhneuDZtEJDfFQdEstjwvKGeqROVrxIZdFtQkYSGPiEWqHIaHmmfzngmZcxKLGAmyfZljwKLUChpUvZYibbZdbNrtIvubYUggSmVmQDzePVBYqJqBXUffMFoQycIPWISHdvBHBQWUPcIwDhuOWFIpDufDjZCPRCZOrvevbkDkjkJDEkVBkuJwWCUcWqfawopaLEyoniEHcpDrTsogdoqwkDTpQlognzGDhWjAthosZqqBslMExgekNaXacqcUfPDBtvOBMbuscdskbUTcUZNsbrUluqRrBgMSYDcUcyQDdoxrXPXSRWKZjuGImgRQxyZlJeaapmnyTOKFLAWmveHZNoXGKXYiEyLXeWqxfTCW", "c_map_string_10":"kKyxXEwPPsQmNxkIALPhVwhGnspCaWxaLcJjvGwuNrqZpXTbLEmDwdqqFWYahBryPUmdAYVcAqrCWylxynoJxUeXmSKWkCHtPyBsqAaQHPJgqRhtOXNZHodxBrXNeyIyVuMIRVwjVuKXmkYzwPaqVblsgUaZrZWgKNxXNVgzxzFAVEuFcHIRrsgDPMYYacpSGnLucEjxpknuXlIoIeLymtcWTAplFxrWzjIUhrwhFeohPpDivNsUmkSzofrbQzXQpZCbkfAbPiwaTWnEllgYoTQZAHLeaMmicjbUESkioLPxDebOMudNZTLRuoyTvUzbEmUluclsqALTGHUivIbOWZsHjgADKrKcqJEmKyAxIvCaKbwvPHfHdRgXvXbkSmIYXUpzBuWlFFSikbOQrUxsrMyPCntgGaptYMWuPYJAcQTbJNLOdlUUPwllgkDYcWgksgHTquVPQxsTfqklEQnpcNghZMpGgmrsYowlkOWheMJacZRZsGLMYuIvZmwfSNht"},"c_map_date":{"c_map_date_1":"2010-07-24", "c_map_date_2":"2002-05-08", "c_map_date_3":"2010-01-19", "c_map_date_4":"2002-12-10", "c_map_date_5":"2014-07-28", "c_map_date_6":"2007-11-17", "c_map_date_7":"2011-01-21", "c_map_date_8":"2008-07-09", "c_map_date_9":"2004-06-16", "c_map_date_10":"2010-10-03"},"c_map_ipv4":{"c_map_ipv4_1":"200.42.245.119", "c_map_ipv4_2":"79.174.219.200", "c_map_ipv4_3":"156.186.187.220", "c_map_ipv4_4":"109.253.203.35", "c_map_ipv4_5":"162.78.51.214", "c_map_ipv4_6":"248.172.50.34", "c_map_ipv4_7":"68.34.88.127", "c_map_ipv4_8":"156.185.108.76", "c_map_ipv4_9":"238.53.67.222", "c_map_ipv4_10":"154.83.108.56"},"c_smallint":-5155,"c_array_double":[35.18658130501701, 20.02016699079011, 32.0105491226755, 4.443354192879825, 18.348102348253143, 70.16199940001182, 20.568221473347958, 88.90957108610871, 38.252468442267514, 80.78157429333473, 15.198412352506324, 19.01886987163934, 89.10526952103143, 32.03640875897221, 54.62928379024896, 39.33600674555182, 14.024752711134992, 7.579003606230755, 57.814471740829724, 98.62539745997515, 60.86145355667446, 64.61791060502782, 6.404640752021546, 71.47368787434176, 34.187152955612966],"c_json":{"bs":"empower"} }','{ "c_int":1087917018,"c_string":"zcZoIROBTdaaiKrBQemYfNDscckqAqIncHmwCEquzwMEavszAsNjhgjBSkOstWVKuPGoCYjdMnZUvdMOWjgwGNTGaZfbYwMMhHSVfezLJcUbQkdZegSpJASmtXFNJKvIVzbaebvwaRZljoXvnsMagDTOcywIBoxYUFbkxzKdmZtvyJTwnwaaaxWeXXWgTElQAJsxFtTNxEfyQlzdKxVXdmziAwkowdVfxYdUCxZRpYHeyISqTwsfRyfQSaaLumtrOlsHQisqjtnQjvSAiAisapAucUPVUCuoKlyNjYodofOnpOVhhYiehPCpEmlvRcFMwTfGMfZITyoKZxIlFEqyvFQTNCQLphKvKGAoacEnKbDTeyOzqhvsnGeDKONlgUjvUXBidMbRvXdVotehHbiItFpXDUlPLgmPZDWydSKObGbwXPVNHyDKJxrPDpwlrfjZROZdnTLihYQAwCeMtowofISYIkqyKuiWhKMFxkqTTVGvWhJzSwjJAbsiWLvTHKVv","c_datetime":"2001-06-20 19:45:43","c_varchar":"well","c_array_tinyint":[-32, 99, -13, -91, 48, -42, 101, 19, -67, -2, -71, 66, -1, -6, 55, 42, 124, 23, -25, -118, -58, -121, -124, -80, -13],"c_array_smallint":[9587, 31741, -16110, -26906, 19005, 1883, -26284, -21477, 23840, -3419, -10545, -5844, 27312, 26819, 12180, 22710, 29856, 30313, 28230, -11779, -5629, 20779, 847, 2070, 2031],"c_array_varchar":["PtghagWyiYMJZmemDCCKcdJoETTbmaqFnaGENUBaasRteuOhFdJdDrMWWWesndeYLtnhcbUzLftPfYCnWKwiXLUNfOymRldQDvwqnwSxxhLFoGLNzDyAyMPupzWsXtGwSinoZzyLJTHMbJjqJSzdwomoQqLbUEfwEmhOXJAxmVtHhFQiYbmZrnohPPugTENoGAqzCPHALWamWQNQsxGUFineOdwFOAaZwlnRQrelDpaSlcFMdsslCncdQRaAUDuO", "ypzjBCrCRVYZQxhdUCKjbNDgbJkVmrIHeUzvUZjXvigJxsnEldFBAJZECHjHHKFUcxQfWVmdyoEjBpCDUcJOGNJLyIfKiWDTCsopymcBTFXmgSoCSBTUodWlgDjEKStMJOeDjQOCMXUvqfMPGHfvLotEfXfZlGgSsbdqcgLBraVxsHvPTKwiOijcCuBEQfqCHWtypicomICKPjpCUGGZLxShmmQOMGPRoQXwXzQQJcJHNxTZTrxlQXdTETMXkAZK", "BpUmwkxsNKkEuyuSeZMuAGNFHGXSzKDsZITAtJwZQHLXEzdFVRQqzsmzWqTCogHrdSNEVhiiFJzIuDhPCfaQcaeeJfwKQsWwQvaFKouVJVLWwztRcRweVGKoXGaNpnzRUCFSkeFKELHSlHYfqojYgOwclbgsRuBHvcgrestcKRqSxDyROoicBaSfaqhXalxdTuNGvalWaktkYSuBkvhGyUyoPfNaaQPceajphCYmvETTfHRArEaRpadufEemfSmc", "PgUTNFbZiBCBDUBukvuaFhFNYhHiduCCGIgjNixlVxEzcKeKLipiWCehTBKaUwQETDrFmlfNezJmiBLoxSetfGDqzPzCswZAksaivCZTsLTqYEMVFJmFVVXShjBJJMnGWmTZrVsbGkKzMjUmHwwhGLttccBIowScfHwtVWmkbpkIDIaVDPmikFkCatliTBtGBHDuVjRPSWmSFffryhptHLUabJqgIgorUNWsbwpmYnhJNNMEMdrEFgKExhsuNXsG", "lnJGfwGbnuAicuzmsOrFFRkXqyIIzcEYvobWbifbVgQPpFEghnKGILstGCMhaMZPZWUeLAlPvCpMyvDbtmFWXxmrjBIMEJYPfqTyVKboNTEoTKChoaIsfyeWKVxOKPDoDnqSKblFEiKydlwZWiqvQRLcDpAqgkZVNOBaCPazkvFpRFPfGTqhULdgHxfOvQsuYAJKEvzBSjaoSokZdkSWAHAAJhlPANkqgvMOpqjegOzCshkDxACjWuVgXVjXSNds", "HBaUwweSHhfqfDJmQsWDMCXjBmwZyrveDkEMOIkBkivsppDKtOEoloUJHxDtDpBXPoqbKZdSRquOdBtbQXSShbgfCJoSmHzIynslVgbifyKvetJWRNAglksbXmRSHGSiNDxIHtAeICenvUWhPmpTHnooeyMMTmgooKoAFjbWPTOkfeRgjMcpqKacMZAeYHkwHmETNRYTzMILgKpEIlAklvDJwsLYECQmmpQaweqWtUGocmYSTNlbarfbOAolCYIG", "NdzVCcMjaYFWqyglyMfBswDDPTbDubZEIQdkuqmzTNDQwyEDdAnhzCZCvVqOKBMeCVVRkfIfWSwoWoMYkwxjkpuCESfluCSXTvLUSPZxYLvvRgRKebEiFKKTLMMNiPHyyVATcYQrUaQRWzwCLgCVPxMDCvIQcCuAurmyBYjnAxcVsTlgedFaKVuPFvfFusopQaZOQThtGppXpTrbTZYstXSlLppnNqFZJbSjeHDiRMEqLvdPrxrZuZxWuMyDXVHM", "qDoowBevidGpDbyvImSDRljZkwIOuekJcpoiPkFXktKulkYkZQNYqvsLXvFXmqaynlQQoukIkFyUMiBBUekanbJVLLUHoWAKXGWfidMrkftefOnAtdArEmqrFLsmHDXDQcFxVPyEdytSRPnCOeGLqWxHPBORgLjaHUgGrwFJbQcEeXaZGnTnxNfklSDLnpzVvcYagodjMzwnPiBhFtxKHdjmzpWgADSSFAqJlCeodFzuGZfSdGKGGksgzQTBescP", "eBLVeYPKJGqWZwvpLOHsWeUgLaKCkfjfTAhLgvgRUQOPKcFcwxwnAocBiCnMJOZwyWCwvibZErcNyXaFHiFDjclqTULWyUgRmkagsnsbcAwNLdrufFVZAjGdSdMpZgbIlfSOxKMmHXIarZOZQRYrrIVlCtWMdPYavqZEstophFEpMoYMorBcflHWHdHezjAGlKsLYrssrcJWuXcamNvoEdfcIwsXWDzCxCIGnNDQRiMebMuSliVjjYBPFSQUZMvj", "rAHsFTRmcZqFqKJYUZgGejBfJnJriLdtdNisoOYwOcnYEYIJetSaveITqYdrYQdgbKxQsyGHXFgMoORivtJseugJEunwchNOJROJRwofkCPzHsuVpKgAYngHQIhFvWXgXsAoYgxAvMBZqcsAKglnfJDfQUKKxqrteKTLsWdhwcSmROMbciSZYtHfeOabwHWgdWBQFQuAGFarLQeJZPmsABPyVlKKkmXqPLrOGmDwbpeasQQOAjwlCcPlnJFUlASg", "MLiYKaaNWQnmWptOUvTIzSxxCiYUmuIuGgqVdBVbInfpZlBTxqbHonOJkHnduNlIMhhQwJVMqjtxOmgsQLbARfAmcHqfBrXOHFWAOCKyrKIrcCAvIawspILGQFKiJFdPLhGLqYlwxMWpMpYPrgBeeLhigufEgWtJhTyAuYFtmuOkQlFqcPefWYMXioLnipQzNAxRcdritsgDKIfSdnYpArrXbifEBJaSrBFrOoyXVxfdTnLhgghKbMNrCquySIsE", "xaZseUMCtJmAohCaLNrAmlLNDhjLIkplqtFrzpLWLtRjJwbDUzMvmlqClMLerBDYsuurljnKpvbJGgvaEjPoguHMksOmWjBlBarrFIEYxJwqfXyvwSsvvtbnzHsFlJOeNTIWEotNVWbiLXtWUWkfwbxaiNXoyKmGPJjJdUhjqgtxePFCVqHiZnryDLdAuBTLesARAMrfkzMzYEGOezxCSEvmZyLyauASVgPyRvlbNSSDbemZpLmVtqUhtysXcyCe", "nDETVRlMWGXmPnZFRRmDnvtQqfyzWXwfBAisanELybbwboHckBpZGCDslAChlWfgqdvbKGRhfSvxzYIiBfFNoznhICoNPLZlbxBUlPTYIpfWLToKLNcbijhiDfVeJpZrnObWYdGRDImvHjIWWIOFMtrDPvPxyhKomCiXwZzNZCLGrPlatwkBnKtwvlMUnyiPrLTPVBoqHLXQOjyuFueqqqsbhkSMJgtKOBhcqrVAXZElArxPTOFzaTJDVbMfUQBL", "lRIchLZqxkPkxhAQEOPnnkgGYhWJIuYfzDesiqifDlosIvRhuNrsieiZWInggmFguSqobObmVyUBucFAPwoHMjbGZVGMVcHQTielMKJLsTkvEfoQcaBkWWOFtkhhYUpSlowJrAEksREDkKXReVAwSTBsyPOprIuhrUaYVeOTKOTwwhHeIgGhugQnOZsGUWuMOekRSngiLHYivebbwfUNsVDqoVYDcZmuDMYFJZfVATlApTanKEAiDxadXjLzSzWD", "EAxYbBRbajtBQQMlyVnMQnzsaqirQarSxyrXnVcUZuSnwSmQFknYihrFuFZnTNawcTEQCXVSbNaHDqCaMOPBRHxkAZRBbiHYmfPDCuuqjwpPXaPxJjDVSeEscpbJDPDHSZanDmmRtVkJORLCuyJDKlsXCdhwYnvPKZhhDsvYjSsDivnbHZlkGsfUkcauadyCiBTMCTCMmzyksspjtlZxkeFRZGgbfbtPVRGkFxIrtBFncZIqGviRrVLQwCWbCAsM", "NkfBGqJcyNohTqkqZaCgRfNOKNZDOfhSdxukFeJqJhetnZHFzPdOKgmNQeYnaBXyHqRadidlqhTDsjEwDYHZBEtkOMYskuhWwHZGTbZiBoeDtxWGAyzPcFBRjYjETbNvWYyikERfrnWFdZBqYDgCYnryyMtUUvrsYlSeFDpzMvscBXeBZtmDyrVcdiLSxoMPaEujXeihILtZrcFfveTmKDbKMojpiDMxvPTlymIWrJjpgBpPvVEYdRBIdmcmZzdB", "ySWcIFELfFDngtQVMhxMtHysVghqcGBCUlKBPgsDDfXJdtcDWIJWxujJfieGJOqqqiMwHcxVuYnqsVtwuTUudwZKZxCvZHrCCUMEodjbUNXGBjbhEPiMMzZSUwNvpCyMOiTBKKtIwkpPFvcRXoZReIIBciirwkwBzgKhejOJRaLPHPmKyxBpDXCuFMTMomOYzxoOgmCmBBYImDhKNOVlnOqmKXIacEubpDZCWCBBUvdrSXqkWmGIkGxKRWyzDDyH", "pRPwxbmZZuftGvokNdgCFuMSAinkOTOBCqdWLNNudCFcTKhZKKxkzTiPrOrVaQxoDzTBIGPDAdMZPpyiVxOAtUhGxzEKMvWWFdtEpCMyGgnmcVUoIWAletfRTPrhrWpCztxViFIywfoooYqsiRDOgxstXYbVaskoEPrImZAXMMStGQccvqDnOxNieiYEYYWLFpLcKvEUefPcvNeYzkWqKKwzhuhbPOhfrztksurdmnZVaEaVRqRDzAjGqzIoKTOX", "piBSYzwuOXZFVSdJIooaYqJdUBNVSOmQwHxQrSfjzmoPdxDatbBACJiBiwFdDZMxpGWwRTyiDwhoftzMJvkivNvAdwlAhxBRucbeBYapxGrTUcjXZBUjUKgYYAJOOQArWwEKDWvmtjtjFEWcXuSnOhClQdUnXewjfUGwFupZIlIrsUvjmSHLbJIBeyScewPOaEqwrXbNDRKYFiDruJmPKVxCLIMOVFJGELMxvbURexomYQWDaeGepwqFZetlUlFi", "UMBHhuBqtQFBBpgJZgtgQEbaSJAeNxHHCGGCQdsElmVcCCVWKgAboLoFtMVoEeyWUexjFpHpMEijfXFxwAVLBYSZVsgbXRiUXncXfCsULrWkwVzUVDfnSnHgRkjUFmDbRTPBFCXtEJRNCXMyFKJmGrvgbSInlOcCKGbzoVosKacGPMxTXzstdndnnfGUEVWLZlYWpyCfMIjZnTTNzKJXJxxwhexxREbWBbPvFkDyzLrgipftNgaeZIdHspBhQmMR", "yCYgLCyqhfMSOTrwjDjDIFEUhqyFLnERHqYPwkLceUZgFJhcKNDVTwsqMEWjPUnDcMgvfneoaaBQfRanMyaUVefmVSquzoHJnFOtKlkgmDFtIfsBwldTxzOoiZbLdjuEgsGHpuDjUjwRUFluyNByTDeqtogkQzhewNaAMZdPLgrJyTJruUFSFLqfZpiNqeFocdHPxifxYbpTcmBVIXuxxuWplXzIewsPwUCUOoBWGueJhSReflePDNKXstyjHXvb", "bIZAWjHIULLyWwuoiSXRIxjpdSXvEjVsrAQkZDoLUTXbXbQzXOQAhMWPPlJUfVfhQNpwGEYgfjMGeNuRVAcwCGcbzfcJbecdduRVfyLCyyaEQAZKSqsGyyVtOmjVFpMaMhrlAutkfusUZnJEhQtXMezIGGbhkGWZNgTzVEWawFFtrGRTmnPafIIfCVKaSdwvieAZTpxwyBXxcKhQrYGdQyvPyusXKGSLRGDPUjgqQPKzfNJStdBwovcJPgfzonVc", "maiSGKcJBekPmAWzhKoqekKCWjKvTnbwoepiybPpVsFUgUxBthpUeyvNWvQVKoURRXKwZRNCnxLUIFuJQGWJndDBECbUdXmcMHcyJyokwXbAOZgmAporjEJNjpKsdqqkdzjvEcJOqJNAFxUjVSxpRFVDVwHkdPEiZocsfUpCjTcqbUJewJvsJvPGwUcHAyIvgVoFrdWDRfRcqjzSkjaAqTPcGSLyUIzSERiDYDgFDknqvlXbFZGNqjpWvLFFLxZk", "UyGVzdXFkaxmfiipRCyTGZgsfczZwvGJBrDvdqTglbBTJReLlgtQJtCzpaSDsPXPoHYSBeuJhANPIadfmfVwUZNBppFzVoewlAjKMblAFPbTcyknboewsSMzpKHKzDXgpoFOMLORfSxCYzQIfrLzGJsBsUxyjQLSVKNwkLIIRnmylfXndaZmzwKzEePXuiCbqonHOnuZlXapjbcrGyZJndeCalhCjdHxBSlkSAoldVtfaFhNMGlGsiMfOLELqubd", "HkWChMgwaUikLcxPrUDiXhqLluHiQjfSZXPUYGbnkgPjkuMjzCRiwYirPdsdZaCPSkCfRdLNEGKIXjtLsyriWJzyBDKtpcNgTRlxYKeWlstAgTregqniYvuBfrCVzICNEQuAYHKOnEIxoCQhZvhZrkVUrZilEHmqxyYiLCFUeEaFDeiBOnJSYyCNsdbRgwRBTXLnxHCCkGGrOcvssIoTejjsFYBRqXaDKuYIOJaSZAFcFBeXQaJsyMmvMOkmCCze"],"c_array_date":["2000-10-12", "2013-06-25", "2009-02-23", "2011-06-17", "2002-01-03", "2012-12-26", "2013-09-18", "2013-02-14", "2002-04-02", "2000-02-21", "2012-09-09", "2004-03-25", "2019-04-19", "2007-10-09", "2012-10-03", "2003-10-03", "2008-03-03", "2011-11-10", "2004-06-08", "2001-04-19", "2006-01-26", "2010-10-27", "2001-06-17", "2014-11-07", "2010-04-11"],"c_boolean":1,"c_smallint":25758,"c_largeint":9083398838197211432,"c_array_ipv6":["sVzbPJdrtp", "cztPzoGBup", "idRnrjTapy", "SDdOoBembv", "hxQgSTuHrW", "KtavXSxpWs", "ctGXqnOnsc", "JjtLZmZzJE", "VJnfEKqBeA", "dqVpttRTvt", "yKbaKUSNQY", "nYQDolcXeK", "oICBaPdzJx", "LGsjOtnqSZ", "JOXItccCQU", "qtYtjyWeqv", "rAYLhaaHSR", "TclmTiZJzg", "oBnFGBnqaa", "IpIUstOBTG", "XHOMFPdnUR", "zmmdlTthQC", "ONlbbFOkVd", "kJinsDLtgF", "lsFTazxVDU"],"c_map_int":{"c_map_int_1":-1126118316, "c_map_int_2":-854123745, "c_map_int_3":1800907478, "c_map_int_4":-379426860, "c_map_int_5":886876347, "c_map_int_6":-496943460, "c_map_int_7":-813467377, "c_map_int_8":1325590361, "c_map_int_9":-1425405822, "c_map_int_10":1478253578},"c_map_ipv6":{"c_map_ipv6_1":"c160:d897:6755:7bc3:dbb:1773:947c:d36a", "c_map_ipv6_2":"f7d3:9114:8117:6396:2056:4b92:a26e:977e", "c_map_ipv6_3":"4553:e001:ef8b:b025:3b40:a2c2:80b:b25d", "c_map_ipv6_4":"35c9:169c:26dc:4eb6:d42:efc4:b195:f86b", "c_map_ipv6_5":"6b54:cfa1:b9bc:b7d1:f11f:98bf:fed1:d047", "c_map_ipv6_6":"21f6:e41e:fe25:bb88:2901:4d3f:f5f7:af89", "c_map_ipv6_7":"2c04:9744:b07b:7c8c:8dff:ed39:54f3:11e3", "c_map_ipv6_8":"edcb:40c7:6b61:a000:b644:9e68:dabc:f3b7", "c_map_ipv6_9":"1772:66e0:e85b:b333:68f2:d73c:2382:4e2b", "c_map_ipv6_10":"2704:b9e9:eef8:bb72:f62e:f6ce:18f:d8c3"},"c_map_ipv4":{"c_map_ipv4_1":"238.58.163.231", "c_map_ipv4_2":"105.92.6.251", "c_map_ipv4_3":"148.143.187.229", "c_map_ipv4_4":"24.74.73.68", "c_map_ipv4_5":"4.196.54.35", "c_map_ipv4_6":"153.42.139.23", "c_map_ipv4_7":"224.180.127.206", "c_map_ipv4_8":"151.221.1.111", "c_map_ipv4_9":"157.143.120.225", "c_map_ipv4_10":"175.227.86.81"},"c_decimal":58.1871,"c_array_largeint":[6817249458536118899, 5167835557035482971, 768439100385412523, -2154336763638947809, 411357137249388931, 5253969498144212342, -6399975719075114062, 1505548395648561595, 6979883751808016566, -3874234693546624451, 6492456951293559519, 9090709787364863176, -1418833079838648240, -8811056235236976777, -6233514592800797456, -5281615988410811114, 4912127206279849453, 7758051680450860977, -5367690767926000648, 3921922901319033275, 9162018624825310686, -8566675646263167529, 7121642671103587607, -4204290659570730531, -4568822584020437471],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_array_ipv4":["IxZfjNFVRD", "OjftxKvlvo", "wuayjbGoSA", "XuCWkxCVbl", "MJHQmFacvZ", "QoYEMxlgRP", "WstSUnjnyp", "bBPiiMPjYM", "KUMZlRlnNr", "lOTfNNZAMN", "DwiuAqZgQC", "wXOKWfegvu", "oEpRBzsYEs", "DulfByKFUb", "loFtBaHMuj", "mdclTbtJNI", "zJozrGcOok", "BIiVGkGKMO", "BTyDeiFUqT", "TuetbjgGgc", "ckScBQmycT", "NApOQgPPPP", "UahiSjFFSX", "BKuPoXOaWe", "SUbQmmBdfY"],"c_map_tinyint":{"c_map_tinyint_1":-42, "c_map_tinyint_2":46, "c_map_tinyint_3":30, "c_map_tinyint_4":-66, "c_map_tinyint_5":64, "c_map_tinyint_6":-29, "c_map_tinyint_7":56, "c_map_tinyint_8":12, "c_map_tinyint_9":-33, "c_map_tinyint_10":67},"c_map_largeint":{"c_map_largeint_1":-4324241889004768189, "c_map_largeint_2":-6192760715166654311, "c_map_largeint_3":4774159340767577726, "c_map_largeint_4":-2886990968733067196, "c_map_largeint_5":-2947131964709122565, "c_map_largeint_6":6544944559609971936, "c_map_largeint_7":-2712046030542665920, "c_map_largeint_8":3461022170537069354, "c_map_largeint_9":8224866695497730040, "c_map_largeint_10":-933533930251973272},"c_map_double":{"c_map_double_1":79.71963129304427, "c_map_double_2":57.48073365894863, "c_map_double_3":1.22553467281228, "c_map_double_4":19.145986373695408, "c_map_double_5":92.60721287181327, "c_map_double_6":100.40974641750903, "c_map_double_7":89.33757245585505, "c_map_double_8":100.29496207351978, "c_map_double_9":55.01764301691728, "c_map_double_10":68.04127783899486},"c_bigint":7005131309668349847,"c_float":3.1653605,"c_array_bigint":[8261122876781807096, -4680048907391394575, -1516467443118223101, 4515035025444376615, 7937136760572812268, 3926243237482974411, -6988815071100452596, -2053594345049394777, -1661835839728313529, -5790074141335510027, -473543027914273548, 5131713439366866976, -8571840555000753, 842830177344487436, -946007993661968611, -4127148876332260066, 3011834340460772374, -5309787302037009147, -3938728675121099826, -9189543239124660780, -8788900249473563963, 1917275836014411043, 994553152059371225, 4744137566182534746, -1224795965025268512],"c_map_string":{"c_map_string_1":"VaVlBPiZqKGMtfPUABTwvqHceQRsATULoeHBYGwaRKkCFYAwaARjQSqpLwWcqqxhZYElEPtpCQabBwToNLLlSjAhaetSdChVATTOxYTPhVqnvFkSrEmwNnAOoxFCUqkdbmIZCcJuvSIGHPvCVeMnYeiMOrHQWSusdKOPFOxiJaXhxhkqsovkdCMthjgDiFpTkVMFwqtJpQeYyHYsqkXcwJqfMzibwbHnXCrlmpxyJfnvJZQQUWQKQEjEiAcpZGrlecdoJJgsVBsJTPZHMRkaNJIVvKTbYnBKODULMMEGMDQKYyLYrVtbcuHOUjZMKbNkmwSRHUqDmoRHMDbmJGSAmozcSvyfOpGXzzQLFQnVmgDJAgFMuPbRPiyXthcFlTpCIOsOlVJprDMGsXGsOKCVBwDeZmDzZmqSdLSFZHcrtVkQYxTCYWjtCTlIVrTllwjRcPYehxsFMgHMtPBrcsMkrIWgPllWfhuMeKUmMdQsUqwExTfXWciuhRipLTIPYDvW", "c_map_string_2":"ZMwrRWVYsAEiPaQnBFkuQAsZjGNsNwKadTxtpfRKtrZCdLsEDrLWGGYyxibaQFsbLMGZSMlxEPJJeSUmyXtCFgZvNxIEJbHEioJGglOSNrazSWMxkrxjoPCosTQxsVsmGjcvDSWOROCAAWbFedrAwhmLfhfsuGPXRyvTeYCNhPgDZdjGMbWhhxiyOEfBbawupAQwKYTZXhnIthLApvYcAJjqPNzRRqYJMuCtRmKnlwgeOAeunbEWONzkZtQHSoahXcrXuPeZEBigrFLOYiebdhvPqluaMOCDJgNYNGqOxkktZTYzafHXlRSYMOkgcjnwqjXUHkkMXrLxtnkhFWetkMZSgucJNxhrpLhUGFrejOInCBwXyVfikteyRFMSAentfXdzSvFFyjCriXonfqMcfTqRvcUETFVWkpaDZzFGCYcZKOjsAvceyLOralUHKMTYrVUNciTbonrkfUIlosRUSNLxUndUbUYqtYTQkGiSklJdtWtYzuiETjdnsyDCDiVw", "c_map_string_3":"cPWzuRPagVEvqQmYChBQmyymkTnfWJBggUQpZcFMwwEjsOXpGhmTcEBVcNbEGClazyoIzwlWuhihRpuTFJSdSZWMSeGANMEugelXdvWpIVDsYXVaOlbdEdZaoHlIGZddJMgWjpMjdUrTMuaVDDaRVLiHYDcrrayXWmhRlPdNBWPdDlHKSBcuhgUVaOMANteFWHUdwMppiPgnqQpjiLWAfxTotEHMUabdIEmrGqiLWKwtlEXRoZogpOxwTquULmZahnxiiedXbCVFOzrOMgCESTVXMCYcQIuOtmtORRiNczPXssJoJrZuZAevDNOYjPEfpuMzdoTNOQUMOokueLUfduMZGttGARywEVsLQUrCWUseKIAVROMSKWGhXlJaGFpNXxvdukLdSycDoqnZCLszDrCZlxJpAuGpWEQeyPGTvibWanBLkTWJimCfTtPuyyPuqtkwoYifQFqAsBJyryXrNMDBmlgaRjMhSQxyyNxVTfzFLMoNEILvivZvdwEqckag", "c_map_string_4":"BxhraURkQzZOnDihwqelnZimKoqtTNiyhZazZPAbNqDAGnOGOZPWsiHAIdADMiAaEzeHNthcxfnPYfvilYmhexKAJqTjAZZAtpeueqRKakPpjUWaiVwNzsLoOGPJBKpbePzdmdrzCYzOrwbJZGNZABNbxDwKADXzcDcxBGtOFnWCnnnGZFifrZRssDfdnXxvlibOJoPYclMAwPfqWlEaZhZJitpCYKyfEfGZkKwCXnIOAFxHHsTNWDEMevCslPAjAFwsGAiZIuKariGMIqEUspPntmkqQXokdIhRgNwJgBJfCHbrfWwidoSfOEIxvUzQuYMJaByXciGBfjNdOLwpRNVQSLotZKnAHGcvYTbnhfItdWBDHnepkFTpzhovrVMLWMMNYaLtDMpBcJMzDyHIsXAeXgNaOnSRjUxxIsqtfNZttsAApDYfxdQHvjJZkbjjnwXtVMfloRAIlSnwAiXSQoiZiKptsDtUPIngnkycVfbuCugyrTlXkYQOJwmGBNDZ", "c_map_string_5":"zqwurzOKYJRBCoprJnUkLsFWFocViddjtXVHLtwTglnyPfNvIUjjyPuJENzsBCQYMyfQRoXwNnTwHYoMfYxHKClbPEuQArVKKpWIrBoyXeOuoVYsIRaSOoCkMtzerqPwTxzOcmEiRvbtGurOsQdKWWVGxYMqLoqQPPurUeWggzcQknVtMWwvIwoaTvxtINWHwASzYBQnUHKFqIFIeHybKVNTawvHywXSoqjnAhxmHKWbpSnqwPVzTGzzRotAvlfgVdPKkIsYQCMBogzVxOGBLbdysNNsxMjFimEUKmsmOKoIgIOYOPOaXGsBRfpagEHJiOXcImicBLEDwaRJsPxuqjvbFLVDDsuyCgQfidEQLzHlYOfcFsRIPswfXekDIjJOrmsyeHdalAKPBfOSmZzjIrYxUMGSVLadaGZQJQMuktlKrPDifxWaICtJVDkcMSkzNUltTmTmyZpRcaPMJRDzPyJpFbkOnciVhLkyQLiiFTBlPqCiNtXAAjkotYBcRkci", "c_map_string_6":"GCRfLPBxcNNWxTwabUnZlZFqWgSPTIGYhmOhSxdGPnesRFQXuqToIbNBRgoXwwvjnXmJDbzvjrMftXQtnLLcFkJZwJfXJJMhvtfCmELlEuTYCfEOhQXuvvVyvYAeKmvgBvuDSzMMVFOTLmfgIezoRiyaqgWLfkFDPchFWxYjARGcikwVmMOBfWoVudwjFtlkKsvtyGxNNhlINvUQRAwlhVdIGXAzWXkgCuFBZifzKLFDUPrgzcEyrrzZkqFgdbackjrUDJzypIcykSPPBOQGxmGzrnGRvypDXsAaqxerSRBcOUQxXVvPlpiQgIlppKYPCgnmaxMWCFZKQlCgitIpzIKPJaHkMPpuTNMbZUjcgbKeyRtvUxozQYROozgVuqzpguNHTwElezPyJLQdoJwDtfcnAKXkVNvNfTPJHYrGrXCvqjxHkUINkxDkUCRcgghfGYwDPrHnmgstcVyKBQVHqyDJJpTVgXmfkqjRHKzUdzciDIgaxuPvrsIZWzGotgRm", "c_map_string_7":"zUdhbqJyLdBgwGPAuSsLdLPAiSoSYKblAEAjZpXfUBhyvXVcCXlhfLvULtzBLNmkyArxxBYEMUXreuMSvQrZocSyLqZOJsvHhFhaAINUeWoXEzokwzuHuCEcCqnzBabEsfSONMtcjZZbDHujiCWtQEMcTeApdTZEjHJrBBbnraLCbGVMgQTzMCOlLaAKipgzTqaBArPuQsoPDASNvpaKjgawmtxChLQXwZcahOfTeXukPXvhDqeEMuhDjvdCptTaSWgUzfwraTuXqHLfWyuQRKyWqHCyXznyIeAPBVSkyJdjlFIsPeGnftkNoMapjJaVdqoWlpiWzZvrlIocAQysuWUlZRtxEoqWkDizrJXYEPaYaYoJwTWSwfnFlXqlgxpLgKKGvqHXyIKrGfurXXjOeUxkbiHltSUVyfrbnezesbKHBKeRDAbPnijILNaKoKcsqMLsDVNZocTFQAFXfonsItdAPDFYBvfjMsPcTucCGTtpCIjCBRftSmDdPzzHdoSk", "c_map_string_8":"aWNNXrZstizIMaitVMEVeitnEnkMBCYbxNJBPfBhtGujwmItDXHLNPgSffYEuqroJumVLMQnRKMzEMiKmEOJZtxWaZAulCbsHFqMlsEKaVIHwPrOUVCJbvfYXahdUqFAyzDslsXGdGqXrulhXPZyEBoZxVtWmoxJvcXQOZtCENyoQPlYTURevYBaZgLKefNBLKpCqPoBawnOPKIWRHdGUgBdIXTGpecJycWHJRqWtSUVpffoqzSrKofGXbYpsdfyCUSwxDWcNsrgaKVDkSrolPVVoWWheQxAlAPTzrpWTRZxSyDWgaMuiENxdRoBrsaaWaRCNqGdEhSLEfIFOdcMuQsNixlIdGRMkdROZAgRRCgbkJSEWqEMxVdccQSZQzsHzrWnZmxozFIleUQpZGyqHUNncBYFaLlcjfVaXyWIWnjeblcUDVjOMflddvllGrxzZbYyaYhsayqnMTkkuLKHPrpcdbdDpYICKFspKlFRupmAnlMvWBQHpirtkpvQDuEY", "c_map_string_9":"yWPxXdQgDhYDBbMwwiDciEERWzswcRAzIMASMHEtAGxSCzujxspIhaUfBykUXArgHsQwauKMbWLYKxlhpHeSFuHPeeSpsAFtbuHYAcHPRDpZGpwoXtxmRheScOPRlLyytIsdNMkhtKSfmoEasFJjGKhHmLVavstsqtjARzRYildmhQmqhfRPSyrpgiVBjmxVPwEIZCDYYQwSXXTFiaypbxFpGqWRhsgLmcQuPYKFOJOXYtCRgzqdVOqvBiaxVuskqhmTfpbIeZiqCktBnuOJxZwlYBqpLoApqSlpHGcXMdwMjGzVbUQbdRNRfrykZQwtihUntBrqlAYISOZOZCOkXbljgmpqbdaPUtHfxdigzRuRlnYyLKDGXCYoVNgHRLxtochplKQxgdXGpLkPURxWpsaettECKovsVtBaxfettVxwxWCCSqmSZNpVzfSsjNdPuCKivbHcflBuVbZZNPhkflaWTamWKGPrwbNCpDSHZEZqruqzarahxqYQPzMsButo", "c_map_string_10":"FWIeEcvMKBKqcXSrNvnPjonQicGzoDrSGOhxsIgZGVFXfWApBAqPfKKRkacrJKgMCLdFKfdMoGHQExpLErWlDIuHhTvqivArvRvxguLaxuwxtJATjdzVxnIiGSOtnfnKhSBeqpIDvUsDrFpYhkfKYLQndBLiUkvHkpcvWsTdZNNGrYbygoxUkJsfnuprbDEYiMrxVwAwtvMKZKxOuBuVvTbSoxPwYhVKKdvsbaZwYWMummkqmjKpfOYszXsBqFzaBpVpGQZBenbbBqtgJtnjlfhOgHitjLBfHvdWqApFTepSwlFPHhEupvzgvMsOxxZrmlEceGdoGWfbcJcxAwhvxhZCmmZSKDdLnNrvYwbRZsOwqdEEcLGOpFifHPIqvakmXHMzDVFSvaRhMwvvCPwRqjKdslaYjydurwSFByZfOMzTDvFxBozWmkwitPUrJSsStnudXaacdxlLzwAVnjkoyCeaLDHEynEtcLiUFSDUlCZujPbGUKHLaDgepbKcfCWT"},"c_date":"2015-07-09","c_array_int":[-816198455, 195101002, -1987750545, -813703392, -1128204410, 1802907133, -610606353, 904198965, 592677213, -833743795, 1571500852, -593378490, 707806549, -1670715006, 1313575350, -1528336779, -1451492310, 479957370, -1016277869, 2126633804, 555598345, -358054326, -432225907, 1850137336, 529182079],"c_map_bigint":{"c_map_bigint_1":8198482329273148653, "c_map_bigint_2":4865125445872128541, "c_map_bigint_3":6752202883394002396, "c_map_bigint_4":8922092599553378969, "c_map_bigint_5":-5057260175646245697, "c_map_bigint_6":8034522638867188467, "c_map_bigint_7":1842042273647288575, "c_map_bigint_8":-5972784917826331189, "c_map_bigint_9":6046482379918800837, "c_map_bigint_10":-6099020640462513658},"c_map_char":{"c_map_char_1":"Vpkukmqayp", "c_map_char_2":"DazKqAdDrQ", "c_map_char_3":"hvmgKedXpN", "c_map_char_4":"gRBpLQihtR", "c_map_char_5":"koIzJAZDaK", "c_map_char_6":"SospHtvuSs", "c_map_char_7":"wmUiyqcLGR", "c_map_char_8":"KeDWcKjNpY", "c_map_char_9":"aMeIBTVclF", "c_map_char_10":"sYYfiOrKqM"},"c_map_varchar":{"c_map_varchar_1":"dcqdqJsXpxfhdVojvltXJXkjGrLGlPEdoevFiVzXretZZkMMNvtblmzkWbDjXrEBebXkSinXyQLePynYMedyhWouFSjFqMlljwBgVfByUlvvrFyqLXTlULTBCXReuxdWnLdgXIyFdxuMyQPuqKjswTqVgsrNEPsaOPnkqIPUgOKpLmiflarZUeZBbetKJKJRbVoQdyGbpLuNCnCDjXFgymBuzFOHwSwbfgdHawidIkWVygHADyAIMbgZAszyoHqK", "c_map_varchar_2":"WnDQHXpxPLyRkIpYyxBoIeiBZFTeHNkfptpUjEBYYpYcBiiZwpOHwcgNPpCKcRJPHEzzlJgdCiXVrgxuEnqhGUXZbvJrLNFmEvEEOyBMOnCodHUyApTNjQeJtZhVJklBiyxgMtyyCiEYeNwUDZsoCDVWPlaeZOKhawaSWEPcuNWjLGVAEdZoYpudSjuVYHbRAjPgVwAxwGfdIUgpdxVkzKayqfWCUZsKSpAEWFJbkKEJioTEHqRISxECyRZIjbPC", "c_map_varchar_3":"zDhmkCyKjpNRkopgrSHDCKvinZyxeFCWyKWixdWRxkwtCDrPOKbwDxoeaDwsPGYjYcbFeWJYgMcvUlOlhSdIDUyqBNgozEjndFGPUPvGCLFYoHGNlzqhtXtbxMDRfVxFnoaWcjDznpzuaznQYweDbWtNCQuEHZVdawvemlldzhHlTicYkqgPhGjFBEumtRcTWbIcoEVJQxXMIGBhrknvXBFWLTTkLebfyjPYzQsXszRGfbEmCacbFZDLjBDqSecI", "c_map_varchar_4":"cCjDqkOqAWppgXXWeHjhCKrHEMWRZiNpjGNUbeikuIHlNgsLXfpnvxQDKpLearOYVlmmnUDyoCYTnmkQGKARAkZdEnSQFPqqHmYIgLFmWlvKTOgVBYPpwGQYtzLHgdCNLlMhLYwZfCEmsojtJQZmQtNTlSzjpdBkubaIuTXNlOfGMTPmARsRLKQxnehmoWrsWDuWdlVLvbfcTanJeCWEAjpLHCfCahoINHmxHUCVqRtdcGElciCoiRRcQLVebeuz", "c_map_varchar_5":"DGNUUrHucTRBdZLPLUNHinJLJqidBETVLAtELUszMFNLWAufHuErPVgjAncKSnxafgzIwVCGWfgrjXGPODRvdXbxoXePBbWKyFcFUwiNofYVyWclOQxlefMQZzirCAPLBFLziJYIBVhSDxGWWmFkLwZugFrlBgghDXUEizzWYwjVYtNRazxlJBXndVnbNgEsvmnIJmrlwfsGPTxQwRsqPsbKuYWiRcpMgAkArUqYibFNOICbdLYuJOGJRolmBaUj", "c_map_varchar_6":"ceXfPUHYiWPOwkguPxRuSZGsTBUlZuRNUBEgCnKpBYHoturhukBiZoAIJNLWFPqguDyRHgRgBfKHSmaSztNHFItocndcyDgtyXBsVdwvThghPnbvjbomPgZwOXZvUgwYWlBgIkLbZuNKMsYpTMCWFVQBmrUhSULJyTdhYIWbdMQGnszrWOgzKBHEaxFscRKMdkntcUlpJbyUIyfWTssHLlEggQrYNobUlPLRmZfCNxlsvtCfzpYEbwYOdxhjdMAO", "c_map_varchar_7":"kxyMXKgpIeGMOpdrlQrorXeLUVdlwIscKCSEyLwwDzLEFCPwVoOpPrmAXLnSbNzgouxRfPeZGjCUIsTBWrrCfmdRmSnJZfuPkSAoZDgSIHskCfwkKnmrlfesLByGzNyeaoCJWqDvWxYCNjhQcwuSqsTCrkuoRnGudBrlGtHuALjCOCeUiJAHbPsmTnjaBfYYpjezCjIwQPhguCverJtRCbptRkySirRSMRZwvPFugVLrfajZKJNINbCDKZXegGvd", "c_map_varchar_8":"GNADNFGzWphkiYechMzpwyzNyIefNiVjfBKrlxUCzgJkvdjIZKTZrLCKaLjjOgIdhEaClssZVJSRTyPKKwBfeevLyUGxTymNCAkmUfQkptCMqSZHgUOMwBAZPYXpwaSckZBdruKqcrpUxuVaFNutLRerzqhdNsgCowQzrDqaHthuBKsMLcgALqWhZtjfymIWLYJcHYYGcSSowVtreXELPRromqQLgsnySDABzwtNHNhkQWnwZgbaBFNcJExWSztu", "c_map_varchar_9":"bOoeyPOYBHJcmuaKEHNIxrjxyYkoKPnftJuwqnWjLJScHySFJkQXbToiNQUehfhIBjFjYJDfxpIVysxsolNeTuddZsNfAoXnfCreoIgZrUjEibNxmdRTiIuzCYndBzuFWnhlydoYmddNzXekbwKJhaBPwluFNaQInVyhvzlAjwmfuhcgdzvFgfsRddQVmlQufGDMqUeoAEkywUGfzVmzNTDMlZecDMyBBlfYXYqjVoCJRNVmKnDMFsuJkLWzmYSg", "c_map_varchar_10":"YdwpLZRYDUJuxIanjwyGNBolHMyBFxJmRKuENNhdvorxTHmBvbrWFlWTepmZKQMKgZQyNhTGEQYiZxuQSZeMXGPyORvWbhbJcSmYFtabHbJZcplIIdkQwRpQuvhxNQVTgwedqlAtekiDjFoCqfyUHIxAMZptpMeSTCDhlBchSXgMwBxehfzfCIwoJFwViMRNGLEqzJiVBDDreNNPZaGSfVAKsxHcEAWLqQVsjoJrHavGCjRbSHZIArBKZmskRTnF"},"c_array_boolean":[0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1],"c_map_decimal":{"c_map_decimal_1":43.0009, "c_map_decimal_2":55.0234, "c_map_decimal_3":6.0620, "c_map_decimal_4":86.0360, "c_map_decimal_5":36.0483, "c_map_decimal_6":51.1296, "c_map_decimal_7":95.0884, "c_map_decimal_8":16.0152, "c_map_decimal_9":72.0328, "c_map_decimal_10":46.1996},"c_map_float":{"c_map_float_1":18.461514, "c_map_float_2":22.456104, "c_map_float_3":52.45121, "c_map_float_4":20.364689, "c_map_float_5":59.63098, "c_map_float_6":47.80452, "c_map_float_7":93.728226, "c_map_float_8":71.506065, "c_map_float_9":58.680706, "c_map_float_10":74.29297},"c_array_char":["kiLrPMCWWM", "OPZdKrSPoJ", "fhYJRnWBVK", "gaNzkmjdkT", "ftYbSbzHHq", "YifpylBCVJ", "PZRgpEjVKQ", "BGBDJhKuav", "tfGfVttNkw", "XXUBWHFgRf", "VvJxVOpzCn", "kwFVUNYdlY", "ZDXQeIAwJI", "vEWHvIclye", "yKEIiLQjVL", "zAehXEMOAK", "FtPSaJbyuz", "kkAoFQEkTC", "zgXUgbsuLT", "OcAGDcfSKF", "OglEVtFfGz", "VnFVRwiqIp", "ZiGeZyNUcJ", "vwCQtMsdxM", "mciZayoKtQ"],"c_array_string":["SdLZfSzNguQhnzFERULbSkbfYSadKncJluRzJCjtiQKCfLvPakvKvkJFfWTjdNxHyauxqwEExrWrRnMeeCIjyHUDYogWJErveznOGbEiBVvcJINyCmoiTXlQNIuoqsgcoFrJRDQGkSqCckJvVsRLbPdzFTWvOjgRyReZfDdBguhCbiuIBEhKKmgJWCPAvLyLwwblClMGOwLMoFiwdWQSbkpQLCkysCnqyxUjPpwzkzDXVqQhpGlfrAJmXdBGBwWHOFtBtFInEtgsOnDiHEClemPCOQGPpbfmUVcjLORtqSjHPquJrqFaeumCNPnUjadfLpsrOxqMiRgyAGGBfnhHqNIhFRPIASxHpJWjurWNDNfvYMqVYrHNmufNbrlCWHEvhQnuoTlnknWjMTPWEmrMlcKhndboWmZpWnRLylYSqJYRUtAotzxgmLuMaiCefrslkradLQvPxqjVucMZDaTiQPuUculeVdsfxqLUIuhMocZKJjaxCmpWckODLQXFbAue", "AVcvbzEzvVRASRVJiBbukzLpHdQZDUVrhkPgvNvdOjnqNVIyhYfNvnqhbnbkOiVxgQedEaEqsdGTuKwELkDAMCWQpOvLHJoXFpxpxnJSQtkLMlPHeEXaXEiaOBEQwHgVodgYamRahQLsqemXLMQyfkzaKgKmhFXAtDFhFmZxRZuQdxQoVWHazTbRGsLVKcqUEUbvUEMyEzDERCljGAzxAyRfhfrinZHcxnXfpvsyJQOhCXjOuUHqCwYYKvwXAodQNSmiZkMYHJkvmCGELcSWcLueSGFIDHODjtWjKwIowcjyCRPwpdVTHnerlkDRgnsUMURlbppgpixNHxKvmKuMmjPkNedYOvgtHGKfLNyzPAxuZWycbGOmsHEbBtniHlGoMeMmekAceUWKiZDsUGjEmZIqFGJZOAMkCCQrYXFqpOkKAPeMesyCWuOcPahybkXJpJZCurNPjGeUktJQtrFtXGCMxlrgYWUUyuoDFnDnoYuXfppMpnPnNrBWjkQLfVjl", "WolWfkFQTdeihVdNaPthLIFWBVlFDUITsyYDvhNEpoaWMifUPIrnUirXJmHUIVQjDKaRNgeIvDBSDUEltinODsiYvKSaBhlBOaELqDFdpAIxrNsRevNTYSxOLmlBXhDDgiaheVcfCtcsbmtFKhlgTqhImYuEtmtwpZYnaFlPnEcKCHjgRXguCrAcZQARbJYAJAyGYvEePbUmvLTyhwEaUvqVorOrdZAnxIPUPEPAvavQMFlAIuLjVaQSqRJUBXQmqWoCroeyDWhShMvsDhKJRktdVYGuQxeSIyZCjofNjaEzNibOWtCcSETxEGqxsQIvEcjDwixyKiSzlwLGATpDNvwFmJezeaVGBEkoHBJxSpwoJHgjOLASPLjdyAdnmEzjYjmtshQHsfbZJTVCdzjVKhkTvYqNXYuanwaHElWGHhQHSinzCbVRgBfIZKMnOMZTIsJiCzkZGMQSCenYnDrGfomNSFTdFKDkAKveUqeqvIyAKXvKTfcRtmzJlFPtpzgw", "BMcvBAqCaAaHsTuLvyxXStLotIBMBcTFogmodINNATNTmWPRmbFVomcLiPYjoDRHLGkccivoYYOQxGNGSdYemjDNuiErvyWsawOOXhCcYCqISagSoDvtVcMUmuOdTuYuAXEWMCkSWkekhtmEIhubomdnbJsGjpquaptfydDRhnXyYfyzSKQWIEMrADjahWSbZsrakTjIQMXHHPZynZYURhiEPgrggTrbXJWoUGDLVuixOnbrCCesMtweCzvUtIRMcQeXGxysQtqIyqrlyHPaypJDcBYJWqvYdlupJsdMlssvsociivlDPsQkeUJvwWUiqQhVFyPTyEsUxgKOxItGsVHUhyJIqXdGCaMDMGLidQfDKHnPSWRufAONNGAFoZaMxUyrRqUPIJHkvaGgXiMUhXqJtjhhMwyhRUglGJRxtZmWfCldldkovkRBwPZUZLOWihWjSFBGpZDszCYLKVWhOwMYlANdSlhEiLPBAVOGJjVvvEAUxfkOTxROIgJsbjim", "dLTsNBoRWYXcyamTKNEQHtEBAZfBDLCzTfLiCfIDhWAtgwRsFrhcHMsZtbhkSeWFayxntkKzovGabWZPRMSLzXggqxGSetVHDFhdBZvKbdjsTHlQZnERSdOgDOkVHBFKCVpNsuSiBVtEcPjXqvbzONHXXogLiuFWrPzyMLfbfAqMvLKLFHFGqQWlQlJCNRkQOYWcnDTtPOHEkhHiwumdXpfoAOsYijGrqLzeDpoRvpStnmzkDvAItVOsDwJBBZWTZVLpoMzQtgzZnfgXZsxsRjwAxzUwnxBtsaIRjMiiERObcDDkfrjYSivCuuchgKzKhKGSlzRppLqWjjeGIKQrdEjyeexXUNcgtMAPuTZAEpjRFcKfrlBrgRNtZrAdckYmuRFmnLkqqbwJWBkpzukkJOVrReYZeYDOKlTtahoSDIjISmwpsUrJEEuWIDWwibhajnVxJrEawAIzKjnlQRjEQRoBOcDRriiEVmxkdndqadtCnOvOlxLzjIIRRuYUWsbb", "EjZeKPnIurUXWaSZLqmyAbHxQWtArcGmzNPmgulXCYlAqLuYLaSSNMTpXzVWFHUFKouWllzvxkUvCXzpHyLVspXNhQaeksQDQkbRmTLExXFNTfxKZmWbdiiaqhojQShVkdzHlpzxRHyGHbpnAacUQxOYnwjcSrVYCTyPfEHgPBwuoQklSbsJzSQkeUeTJChNwLhTRrtTfVsrFVMSgQnSBqoxflqduAyIdUNZKKtvQUcgBxbwzEVPkUOrbXdoxCRSgIPSCAuvvShEQdHbwcLflsqkraAAluGgvwjMeoYOANBYpHFzhkzokAZBwepDNdySJZWldSDOZRxvJzBYzSNFZfztJTcIPXzTJBbTSvDWOZyfmnYcwTKyQBRvrsfzZPnJfijgIRhvGcAXgnrWVgLfZZcAjuUXiVkwduhyJbwujFBOkHxTVKJVDodkgfLpwmvmNfUainBWTqASuiIIwayaHRjzwIowxgCMCtnfhyulLUNDOHqAHhTSbdqNjspQLjKu", "RnHgelnDUDWgtnTAHZrZUdfMvOPkoqHPjftcNjhhYTdRByfohAowlwBGVFJlEvIcJuJDZpkIShPJejbnOVRcbYodKPTCDcDgbvLJHEagbbtVzZbnLQrovTgHHMnxDQMyvYRyvZNRFDLGvbyRHMRrbWdyTDOMyhKnEbKuBGdFwQgMXwkzaOWvCYbHzmpgrtjChYhnnBBqlZsYpqsGrCsuvvSZjvHDYRHlvioklHPKrsbYkPJTZMdpEJYHTcxrSMTHkriEFQzlBSGwjDAnhjrbHmcvKXFthFXBjlmgjooVkIderqqFXmWmcHTgCTKBGWbJvQmbwkiJDausvmDQLmVvndVIpnqKYTDsBzZPQafvaSfIQBPRAhlSoRBqsLkvKPIhMJUDDsOlAhRjuURLunoIQFyVwEkQTpTkgehIhzDPqcmQLhhgKXOjKJvgyXrQXdxqREvKofFymqahHkWsKKaIjIyDCxeOocgrYsoazwqVVOgBgABqnbgqwCftevGIZyCB", "WPoWhGZaZAsXmLPJtrHeedUxQgRNGhJbIucOxIOXFFOsthnJWOMAqLLZGfZSSxSjOvjYLHdGAddpzcUgzZWkrQSmQiTqYCYeRIxOEtQQUsKRFeQKwWJCIKtubBXYIMTcQuULdOybyRTSrNiwlatVdAMZbftrEqhZfdqmiuWHODGRJWMwWIdHIStKBEmXDsqPhgqiLCDRRNEdZmDjztsTdCErmdWVLuXRuPvdZqXatnwjJYBDTEqSYOMjmcGwRZwqdqEDRgwkXpZRrAlrAXDCWEMBxEtyAPrQribUtHENqdjHvmTYPovXoeBsngmGLFaSQtHCWXPfIFEnFBPvPFizFrqjssiGIWmfKZpNSNNTgijRiawbIYZpDibfopYVjDueSqGXcBlxfcBfJXdzLjAuMRavTrYPgrKvuyULtkYjSfRBMldIdrkLSHCbbetSzjFEMfpGvMYDLmGwQjoKhWvpDerbdyuxCWPSmQiGfcwgnVSRlgRphdQTaxIKsDCwlimJ", "mfoSyzsOqOyCWQGAZNCklchrAMXugiwgCqGloJeZDEpAPmcGmlfKmqlVLRmEPgYobiexJlWMObaduWUrerxvUjcuXbnOgoOqkoaVBnZXZcCmmieoSKkNyipapnRvFAUKmulYcEpBHbNgqqKOMvBgjOZEHTfQTGCDDUDYTLtGWkgMdGFskfqhDzIlowULxzChgergShnGHTdlzYrocvCEBGZMXKBzcHCRHBdrMrQXCITFyyfKKmStOsOyeeOWkQzsUHwCpIiFprwMSmOZWdvUbWAAVVwfFhOnYhGdOmkZOeGecdkPFMEtfCwKSbgZqTpVJRSqdnMcMYsOjKYHKMFIAcXrairesUPMumACynlMeMftbMBOgINevIaRMoZzdDmoURztCyDWlocRbWutqCwavBDrnsUofrfzDPZCcfDgeUIvlEmrUOpGjtJzDQTcrueMapjHAnGAcIIsEgyfFEhhyynjLMHsZFXFKGbHgNSeqSIhKyvTQzvgWguZwpotPcuQ", "OcWogDOcfNFzZjaoSzZCEcyWhGbmvNThyvpafHtcQCyzoWMzaQpagCblxpJVCREsBQtvEkMnTzCKfcQxJiFrbmGfPHwzxjYPeAThSEdbJGqQccajDpZEObQrfoPQVTpIYmLAsspDeqqNmapXQmXcLjCVYAfZPGsUCIZNwnMyDyHRTgwVQkxgQuxjoffLJCIZGgVINMoSwZrWSinwyMexZpGJBQoRRpMNUUMZAKOnirnAfJCZHtGubmtWKbtBvOlvrAkHznDCzAPeKEJBALVTXpuAoypswddIfGLwuWXdRxuxxqTdMUQuPBMHyehXjKsGXCYSgUbtJzeSgtBAQwozkrGwpSPgoJFnUhBlXMZWhHwuIWWIchfjNaFvCArFvhjOTPvviKxyqIIAbIrMhoTYaoEyJtivcwvUzBhfruTjtvLZjPbFCHGfZfzpQUVamOVUwjdnUifNpKtfBOgewuaLXsEpSgJzOaGdHBATAKBqPMHHHuAodEGPXMALMwsyZtkq", "MvbhOohBTaPhWkilYQoFDsthFkUbicFApAMLDpBJHbooQkcQbFHjCVVDFdkFGHljzvAzCdnfhjVPDDfdmZqMjtfwBkgrkzdFoOVmmFXfzyindLWenDDBdSNkXGLLUeoGpXGVRIXXzpKThpJDSbFYyGgQnEzhMwrFtneLlmTlkeVBPtlgrLTdNVDseJJOtJBNErDwyoROLisoFivSgplxnZkXEtlDQOIivTrehloNgaHmvuuusDBBabRQMSlDymoYehaESdcDzVIsxkZgaueMELMYyJFKHWSDkgcOxDXOaerxVkcVQFIGdmcomoEMDwLxbogzeNLqxxaYWUTZHTNGCmTpmiEsRztkqemgKNTENWkbLEKaPvAnVzeNuoNGlauKttVjRKJwQmhWSMWEyYSDdfrfROUAfcyUaCdZqdoDSdodJtqCaFwmhwVlqBCwJWkexzfsvLrlXnbWsxhAByPdlAIOImVVNffeURhjJTfzSPRrIKxNXqKcPyvOMcxwXUtV", "XwFapQdgTqaeUBsFndSddzfHEsnHfFvuPktVUOkTksJcFBRWaLmCawaFRmjAyvWkPULkcgQfuKQytFCkBBzdionIBjmwpFUzNVYoehxUvPdVeuNICPvxytvDYsREKjKxkPkOrqBBBAGyDItYdWbsavBSCXhHzlOPJtJTqvyUabhOBxgmwhbWAifNsSvbJqOJGoPVQuBHXjyjcJSpHHAyjtPpMTeErPmtNwgJQfZMdXaCpWUjxMhvnrQrKHSWQPZKaplLWmVEDJKggkdrEjspyrnAnHyNyLAwixCTLTqEdAkHVKOzDTCRRkgKgRFmNCZJEsfDYPowvUIGSEzTtYlHKKWODBgVoafVNNTBBWsmhoNVpaYzwDGNsgtCuNynZnaUufHNYpurAfgLsTLcXbeGgcSCwSIaovPOZbgFBxMUGEHLjYmbvLBvLFdCNYnGsEotGoKdhfNyVYomLrcfPMQsiWWtpTwekVASpzZobgBWMPpwanvGjLWBXJPDOqrhIYjX", "bdMvaiZLXNkciRfvApxuDHzLyyWPrHZxAtizxIPVdoteBFetBMNVeTsOozQUYDBxZEYfhqfmotBFGOAGFSTixbTgbvyzqeJPCaRAYfIeOuLuvRztTsnBJBadHYCRiAqJUGtdjfpKjXJcqFMOBSoerQzDIPMrwUBvFwxkRttjaczZELLalpzNepwtZUosCFimgBJNqqoWykwECNvcRsbKehKECRDPvWEpkhYqCDrsmUZgbbzqSGdsKwtCqXiDFsVlKjUGTGMxlXHaZwJNsbhsYBIjiyllyMcLkOEZDptWOZUYTauaSYGnZHOdszBMWAGQXdQSVEbfHPojMgfWoFzgJfqIAfGrwCFSSPWqUHiUMlYpkQGsvsccMIVeYCtNPvJPZctgonEKFkBHSxSbcOlgZSWyCAcUyDNtkydscZqvhxqWiIXhmJqOBsYDLZMvjHarqutjgvAHCIvswVeBwueLoEBdYzkRjNcQhjWoPCXPuPLFPNCGIjwRrwUQiHvtluuq", "ZRrOUEtclhXQxxlLMHXgombZshgrufcqOJCdyyKdncyjzWpwFyEGCJPOSXSYVvIQmaiSYvpaRDdJcsTzPojePjPqejEgFuOBYPFooSlVKqLSsTgwDVsVOJFucdYQsOlejrOjuYHMMShLoSZbQUIFBdOTCiRueLcyFDKboKEgIImNPAZWwzVxJSVlZUqVNgEarWKUvxpZvUnuqcQtHIfUNSiylTvyAdSMkCYASZnjfznEQvogvkelYYpGZGldfprLIqimfbHcWsdDxPnhKjEDCoatUHkduzXQhauNHFVHdRnVzjXpQrdsNUvGAHvvWgufeypnmUkBhRoKOkwxBtaDbDuAkPjVnzXYqQwzhnCzJsiCdINBQPJsBxsydItydURUPvcvkmeJIvQmQqGccgiRamqnlRXeEiJkTMhzCdTZGYCFQVwRAgFHeoPNyGzSCYHaxPwLDUGNfZLpyelCdAbskclFHuundXlhGJUlHeKrWGnBrkaScyXSFnbfJzYFLnOO", "rgdvBOFHrvNnjawufbyEsYEPHvCvFYEsseXelsRryjiLBogiTLRZXwvlrdUpvKuXkZduLxWAnUzWSAKzoSWqlGjTbnDiWJBFDyHzswrjNwrpEONFKTbUUENphnrMGRuWUTNjtDgaciTwwewWReCjeMhngtmZOLrSZwzkQCejryGMfdXtGXXyMtKApjFbBXtJIWvJYZMuXCiiXwdBwHneTIDMZDklPdhNmOjaiAhVIlepWlhKeiHIMxdBXYhWLopKMoQSMldUBYvWHqTzXHSoQKbqzVCICpNxquMCeESxIUAxgcUCHxpkxzPFZkpYpPnDFmVBQOnpcNaJsJErTVCpQYuYKVWNegQbnkZPcpznnlPaTPayVufpwUshItwHgiSTUDSPmSIDzdURUmHMkBYUjgoVVxKMPUGjjwUhDimRobAYmymMnSwTFtykiWuiuLnJXSiuBWfaMLtcLaIQTDpMaNCOxQPVyoqbHkUYyjDnXtnIbPPFTLZsCqBwwelgtcgC", "jOYAodOqmjppMFTwEguuHINmdmaRUokVuELhxufrrJftnVhzSWZLxsgCOlyYXhQiCwURHsjzrgsuNFccVLcsxqbJrvkmFQjlwPeJKZSHKujfuotCWHOfuYvcFtfRZlCtYctnXUCmtXCQtRWKnevoinvoPaKcTfSEwWsKXAyOhwVIGCPAfHdjKyAuvNkIKcbxHqBpHzzlaKhyFezaaAJQFfFpUQFZrgHpTyXaeOSxPpzZdPMCStLIKMvEOgEeXdtZblrrOgMfoRbcBPCAXdUgPTFXMiKZnJJUEkSooYGPvyMWWRCXokLqKfrWMtOhFglOLMrJYCGvYQTzLmuRnAsDhdoIIBORYvtfZGWxaRtvvXgnfgBFkTjQdMpBjUBtJUsAqAoSGNdbIkWopLclsJLbxdzxFLmJqdRJsLLUuIwpHtaMorPFaDmmLoRpSdLMXUnOCfdSuxCdKSApKJMwUElaXJnUAqudMxXewOhamASqyJqWrfGAoBzDcBBFovQmkzbc", "FjJUEzACgcUUSTUQkSbptHKBdBZgMcYEHlFuZIcVMYfvcMhDvOtzRouDpOKfhDzQHRCGWXJSifmTVXEAJJRdYbhTumAwkOPdcEMbjGgisVIWKmoLlasuItDDuNMSHwoNRRoXxsRYEuiUjsvibTiBAVBgBeEtqkxnTJEsRoRHAfpoeVWJYZgVTCakhphVfXtgHSQEBNdkBBriMuzOEbTQUxKvPYspNOEtdwNeBKJfcjjDQBKIOulbWsbWWHfiCRcQEGKmBAdfXKzfDPyQBdPoJuAlJwuPihpYYoyyxEpQvycJGEBbqfshAVCDNbxlSdaNFaOcuxgdZjmfbEwbrIAQgEoFAmfjcYcGpvQyqJAxKJAZLYSSVKPFzzEaGgUJLVWEerkhgQYQHJusMlXTihrtLosAXFlqYiPMnXHehNSyWvdMTbVoNEWYtEqmbcJmYNtKzZRUflfgexWfVXemxfSxJTYFCAzbXACIBUKnrprXfqrAlQxEzmprtjduUVPjwtYW", "kwuTEBBzLloGAzDMTDjqlHCaAuXJepIkZbnXvbOqgzveZKOGPPTgYQUDDmOoXcdLXpuHKZSfITulIIeOOndGlRCVELnBWYxKrpnjoqVxhyznSaOtfVyOLamPKHcpiTIRJssZqWyKMpbXfjjEwsGJzwQHjmfRutppvzGOSoERZJyKzbDyjTXPjoBBWvSZlDluiZYdtUMRxDNFeuqkMTHKmmtTUaAvKxwmdofobjgufcNPZFIEoASqlbAvOzKoJsNuAuRTqXZxmzjREvDkphxomtYTPtPINItgLLVQivTTTlZZfXhMIspvDREUlDDsTboqKyaOzUkVOxNTJvetUxEMxkwKkqfFDbNIrAUcnOUGjiOzFQpQMRrgbiNErXsxYRmVrELjDmFIgpsLPheHDVgEmeLjEiBbxrFCWXZtByCoUoVxLfQplDLERCFGDgpbTckDcADtIMJTSndPgVkqzcbIytisBtiAmbrnQFqFcgiJsWtuJbZrdToMdCjRQEsIatJs", "aMJjByKouSvaNLmjptKBSGIaZGvtNLvXytClPWsdspdSZJyiGymnsRnBCsDnbqZffiMzfuExLcRgJSYXghjwNaXBXorBTwzjUPUNVlhrKxWgBNfTeriNdIgwCRKszgcunLWlXTlcJlLAtAxmMVsUkStxfawiyrqNgFRqBYYNvShAqvncTHquYpHchcuQfDreCwjVTXqWzONytczTUXGiImVHCAQVAYlxUEBXwQsZAbQEZETFGUboZuXFoOdcUaZQBGzqRhCnmAVndgLQPftljVYMMwCdJUIVKuxyrlyDbFFeOGahEmyXkQGUgvhSnlykBIWmkSCnJSOquYfQqXkgKuTnKkwHhaByCgbDHYmQHHErTOzmARkEjgrnVhFSmMYiCpvAsBGkeZAGleYSpVIsoLULnDzKTvZCUFpZxHzvNRVPnvmcWiqyazJDWAJvYcYqCJajiBSmGaFurgiZelrEYEnnFCGoQQNYwzgVXSpusTWCCHvruVxcxttQwvzJXOzT", "qdTVhTgtfahYpsgvvuhYMrCEWwcKNhIUjRfdwBHGvyvGSXTSfJbkyGEloIKjITmtWjxUtOjurPNgeVJrcHgLuMxGtWXkygMVDPelEucpGNwwoizEQvCBhhBsedSzbmDUdEjHoKEbTjxGTpQPunHRorBdCqwbwEIyjaxJVlCNXCTWlPjGADyuLCOLnCJOmSAvGdiYnOMCsHMFwMhtmJTBBDNMJHkKObPdAFSUkiKyWeVYTRHKOZqMxoooBLDJaLKIFYTOcagTuVKOgbALqdLeLzQoHYfrkjMVgsjOuBhcyxkufUFnChWLCrBdcrutQHqECoIHvmPWtaTbloYlHrcMtcoTKdPgQcvgAtazYwydWbrvkKExKoAGungXoZdgKMvHgbPFIsufMMPuzVOrcJySBEOcDuejnGiQIpTNACfGqEgDxzKyQsmmBIOUyfBaFqOSgmJSTYNanUlMLWFaaoVqCyxXMryKRRqgJjMpVKgEtrZuuyzqLHwZSDMOAKPdArAb", "qnRLdgiYaNsrZjSbVYXSRItIOrUkkPqQDPmTghRDcAVyERDCWjNenVFGGwhOmbMPhKAtubTylUAczxJjZyCqPTZlRGLATBYeYOVaZhKraDGEbBiWueoGKVnXZATzcbNEglSUIuiWyeTvysqeqQhWohdLcqrhmccfcOlCgewkCyZsEkGrgOcrcAGCsFJgTpRSlONdRfteFYbEybokiOQHxdBnYRbLdqDWgDnMXWFPQkRFwbqVFvRhWujQYRTDpUCzsbrlMsyGfRzjohZEiudNMArzerWkHGkDxOrFGIzEFWgqhdsyJuyCRcPBqwrdyZacneuRvWkXXQDRWKUwOXySzBVvyKzWgiUPaqllFahxPcLKSlsDTsvtAIDOOPvQDoeLYbalBDDqnJTCskfTwRwesEULnTPQhAPPWzMuNTqjVyRuahnridTfgtcMaXtJVoiGevEkspJsmoyfFckSNPTWGnHvYqTWXVixjgBEIzpeUHIBsrCvfvAACCRHYUKkvcgQ", "pOAYAgDmJXhfOmaDzRPOVcnZlgrpBHNxMxvVljfHszOVyebKpeTliocLQriCcWttUTQSTAdGvDzEvaDLqqyPUIvLXFYXKtLGaxvSvAOmIHFTjnUPBRPboUJaPTCOsekJpPaKyneXFKdZMLhfNNYbDfppWtKytStBnBtiYxJRAIYYLwoESiIldvNftHWrLONjANzHogAVIuvXHGysOEUdjhknxklYGCgQpOFZsGRdLEkOxubxImEfxnQSgvdIePfRJXgkfjyWYHMnMIHuFYZJEeiaCWBtTnnkaGbYDyKYBgUHprgAnVrWlBmEgNJpmqptPmuRerivZoLFshrSWTqDEldegckgVlDmaRZfXxhTrYEUuinZTWjkfAsnbcobjpJquTcJNtwfUeHJGvRNGszQeRbOlpaPWVuSsGrbAuMxQXnPNmKWShkaKyXwgFXPIUhiypZKerizlUkgtqzgvyvONSrsbvNpROYUbrKMzAWdjenctSAInyKFtpiYBtotnJnZ", "tuBFyTpowPINgdOVUODaRubogAWhtbBFlwXszWGLsgEZuiydSdNOlZCMCvQEYtaWYXswUXuNcptXbUvfWfnJLtiCGoEHengDCrycwYpssslqsuzMqoCBBZvZVflVCQCWVeNfBQnbVoseEBvgUexUbASgcIxKkxcUaulDyoqRJWSxHocciHeTwriLPEsPMDSaGwWtTCezvnfQGaKnZMtsJIoZdmuTEsGPQTQsJVgacBORzAkSHPMoQWQmODnGiPOEQIZocbVQOoPjhsJGLLhrGwLttpOzygxidyRVEERkgLnvAIibtzzcQHvnkjGrqJAbFhTmSxgUNoQCFdUJFidEZDdjjYbJguOriCtNmAhcUzOjZOfFVkrtDRcvwrEAsGrrcxbrQxwxGwpVGsmsivzTYzpfCFyDBYUnqwTURsdJUvEYMsealkUHnOLkPyAuOrDQyJMJWEdjKVhcVkovHeCUSComBLuSXnxVYcAbVmYtONwgGQORGRQaQARdekLossbc", "KxwInWamwyCeaFPvZHCdykGxAbpmzbnrjiURERfwUoLGwVStAIJAxbXMhMpbAEakJRDzFrWPAhACSxXRcvMtgjXEFGMGdblxaeipsyDkINwZOPGSrfNTVmJLlvXBcaDGBrEMuSmUMyBqXVlkszSnUtexshrHGQthhqvsOxLlPdIYgRkbzCNmiFpbGQkcERZrAukMkWdRRrUVKgapdxipsHPrgtDKbCWMaVGyvZCJqDQOtnzVfRzESPEsVMnIkuWbejSjUpRXtQUPfpFBIbTqiLmSYWYWLHlweKsqWSZIYOlrMJGkNMjmmoyYLZDHSSWkBovauZVBlcUvgaBpKOJqDgqaJmgpDjhRVvaEWHSsuJEDyLmffKsekYPJJIwfBdVtxrPtmifbIfvDZcpgSIoqoTrDdyFKspTGbvOPPvvprVorPFNVVqtLzKrBvehTjGVdiEPUIoHVmFRAxwojEEAEhITiYnVYmkRffZZADSPXOImOIvvnajNsdiLDKLoSEiFj", "UbawqdklPrmjlrIGpwcRqLEmEQYxpUFEffmBDMXlQJoZVeSuIRRtSVnASoIpUtfMqpJQwZCDxkqtSRKWCqAQTSXembhAqvYQsTvxptCQODfCGNunioJlAJBGuYTPKVAiLwxlDbcILMGrArTDnGauuUgltWOpnlovfjrHgZszrRsoKzdbVuEUXJpcowWZMMejagWRWLvCgewIlUgvMEvKMfDQybyKeeDZJsmdsKTtlhGagzowBktEBgJIwNqCNJzUvwoEyxEtcVGqZLlpsYsjxzjRchQlgLsaPHVUvAfVBtmMEKeQkuZJULmnUepoNZLlcKSOBnkaAEYcRmKEzCLIlJlEISBPEvGvUUqOtTDqovExyBMMGDEysqhGJznRMUbbEwJTSHmHWQLJtwODijrEpwJQkVcKJBtsjrtWhVvjAGIYblQhNjuRfHvvKrnUvhHfjCjlpHccbsfmGfXQfeDLBZcfmuHujDGwWuVurlAXOgOZbyOVLpnIbDmyGSauUPuB"],"c_array_datetime":["2007-05-22 03:25:52", "2008-05-23 13:41:57", "2019-09-16 04:22:34", "2012-11-06 09:11:52", "2009-12-16 01:21:41", "2014-10-15 17:10:50", "2017-09-15 18:13:04", "2007-10-22 03:43:04", "2015-11-23 12:46:49", "2014-03-04 14:58:37", "2002-08-10 15:22:32", "2004-10-28 11:14:40", "2013-08-12 21:55:58", "2003-06-04 08:13:59", "2018-01-10 01:14:18", "2018-06-09 03:20:35", "2016-10-07 23:30:23", "2018-11-20 15:33:58", "2009-08-15 03:46:03", "2013-10-25 05:17:04", "2015-06-02 19:07:32", "2003-05-17 18:37:19", "2012-05-23 18:22:47", "2004-11-07 10:40:37", "2004-12-04 03:41:51"],"c_double":98.038522975063,"c_array_float":[85.246925, 25.845509, 54.947495, 93.65764, 72.96911, 33.183098, 58.692215, 38.68619, 25.29597, 83.72552, 36.26631, 90.8388, 2.2380693, 87.00264, 78.58378, 32.73571, 22.62663, 98.770676, 7.1406, 71.90925, 95.74407, 100.20283, 88.71646, 7.4585896, 33.32661],"c_array_double":[81.51680212699272, 55.31160189559108, 36.184126110870274, 22.78105714547231, 82.22903452726017, 63.84380136777812, 31.51728134579585, 11.544040525003847, 98.4975665585844, 64.36559318303084, 30.01381069949016, 41.47013022201739, 98.80997243650837, 33.149835830851316, 33.90682695442304, 85.66824922957007, 65.09568172639055, 6.076428760195967, 87.00520548735392, 67.90551697426892, 66.90268731658868, 25.507462837101322, 28.641646375111655, 9.804441531244386, 46.37746188358018],"c_ipv6":"d913:ede0:bed9:2f70:2137:de7d:ef18:8174","c_array_decimal":[20.0278, 0.1259, 12.1851, 59.0253, 35.0246, 66.0355, 32.0106, 86.0754, 90.0471, 89.0326, 6.0159, 84.1166, 99.0475, 49.1592, 71.0234, 4.1615, 21.0987, 14.1841, 61.1046, 72.0276, 11.1171, 44.1010, 64.1265, 55.1069, 85.1211],"c_map_smallint":{"c_map_smallint_1":13924, "c_map_smallint_2":-782, "c_map_smallint_3":-23901, "c_map_smallint_4":12291, "c_map_smallint_5":-23527, "c_map_smallint_6":5429, "c_map_smallint_7":24251, "c_map_smallint_8":-1326, "c_map_smallint_9":-19112, "c_map_smallint_10":-23111},"c_map_date":{"c_map_date_1":"2010-06-18", "c_map_date_2":"2012-05-24", "c_map_date_3":"2009-12-25", "c_map_date_4":"2011-10-06", "c_map_date_5":"2013-03-23", "c_map_date_6":"2010-12-23", "c_map_date_7":"2008-11-10", "c_map_date_8":"2017-12-15", "c_map_date_9":"2007-09-07", "c_map_date_10":"2011-09-17"},"c_map_datetime":{"c_map_datetime_1":"2007-12-15 18:19:38", "c_map_datetime_2":"2009-09-10 23:36:23", "c_map_datetime_3":"2002-02-10 08:18:16", "c_map_datetime_4":"2015-02-20 20:17:09", "c_map_datetime_5":"2006-07-25 06:27:10", "c_map_datetime_6":"2015-06-07 23:05:38", "c_map_datetime_7":"2019-09-25 03:16:29", "c_map_datetime_8":"2016-02-22 06:51:01", "c_map_datetime_9":"2018-10-07 08:36:45", "c_map_datetime_10":"2017-01-18 17:56:01"},"c_tinyint":113,"c_char":"KfJDuwDJGK","c_ipv4":"79.128.58.202","c_json":{"company":"Geoscape"} }'),(7,false,false,-110,-95,0,6,-31811,21274,9913,32767,147483648,32679,-1083386636,-2147483648,20240803,20240803,-829614757575583572,147483648,1571817268,0,40.123,40.123,34.74719777441764,40.123,null,62.0351,100.02,54.0189,100.02,null,40.123,100.02,9.1278,300.343,96.0090,100.02,61.1237,100.02,100.02,100.02,40.123,300.343,28.1963,29.0405,87.1422,null,100.02,35.0730,83.0465,43.1085,40.123,92.0434,{null:true, true:true, false:false},{false:false, true:false, null:true},{127:7, -128:1, -79:18, null:1, -72:9, 0:107, 67:8, 1:1},{-114:1, -96:127, -128:-53, 1:4, null:-128, 6:-50, 16:-98, 0:115},{-1857:4106, 32767:16099, 10283:0, 245:null, 11541:-17732, -32768:-14942, 5689:-6864, -20514:-1413, -8660:12148},{-32768:27182, -32058:0, 17261:0, -16881:31254, -13921:-19260, -11826:-28240, -20911:18640, -11922:0, 0:-2326, null:29579},{828272280:-1410578492, -1445727638:147483648, -1680531566:1245646492, 0:-1617293761, 2147483647:32679, -917367044:-1984643460, 560257876:32679, null:null},{1178482535:2147483647, 1362301324:-172679577, 2146243454:32679, 147483648:147483648, 32679:32679, -872978001:-2147483648, 0:null, 1096063698:251466208},{1920640:245, 5050349356669616687:147483648, null:null, 300.343:32679, 20240803:300.343, 29621:147483648, 6388216985588398856:1},{20240803:0, 245:-1568965, 6928839545902534092:32679, 32679:-1522802027824540934, -7335839002093908058:245, 1:147483648, -5263989329333705398:793009525690548014, -9699:147483648, 8:20240803},{-1709473506:-1523668118, -8814986101706225320:245, null:-9223372036854775808, 245:0, 147483648:9223372036854775807, 1:-9223372036854775808, -2172641991866123146:0},{9223372036854775807:32679, -4718392863091774046:1, 2281952002858586872:5567363105348323104, -7329166242466720572:-9223372036854775808, -9223372036854775808:-9223372036854775808, 1:-2945350274931045799, 0:1, 781114399:-9223372036854775808},{12.134434:58.10558, 62.446095:62.200253, 81.03878:300.343, 300.343:null, 100.02:null, null:40.123, 53.63586:40.123, 71.52058:null, 53.375225:40.123},{1.1313006:39.147892, 40.123:40.123, 78.25781:300.343, 300.343:12.315045, 62.94407:300.343, 78.81221:9.639873, 91.51728:40.123, 80.54694:5.4754653, 51.606033:32.739616},{null:40.123, 32.291715821725035:null, 47.61583042457021:null, 47.07323258917116:14.406880623086172, 60.59971693083994:21.278717522488943, 100.02:49.53766961803992},{null:300.343, 4.563945977924104:3.16308507524153, 100.02:40.123, 42.651503539335486:null, 40.123:40.123, 300.343:71.41726155610944, 100.42192150748672:86.27291793430153},{100.02:null, 300.343:'k', 46.0938:"300.343", 40.123:"20240803", 45.1289:'m'},{64.0664:'tell', 40.123:'x', 300.343:"0", 60.1123:"0", 45.1811:'come', null:"9999-12-31 23:59:59"},{null:null, 100.02:"20240803", 89.0440:"0", 300.343:"20240803", 7.1644:"1", 38.0557:'his'},{5.1433:"20240803", 100.02:"20240803", 26.1803:'l', 40.123:'q', 300.343:'m', 81.1673:'your', 64.1056:'g'},{40.123:"0", 39.0470:'b', 300.343:"9999-12-31 23:59:59", 52.0033:"2024-07-01", 45.1951:null, 16.0869:"2024-08-03 13:08:30", null:"9999-12-31 23:59:59", 78.1494:"2024-07-01", 88.1827:'p', 29.0701:"20240803"},{40.123:"20240803", 300.343:"300.343", null:"20240803", 100.02:null, 63.1212:"300.343", 45.1095:'it''s'},{27.1385:'she', null:'d', 37.0658:"300.343", 79.1587:"20240803", 89.0608:"1", 58.1494:"300.343", 100.02:"1", 76.1269:"2024-07-01"},{100.02:null, 40.123:'l', 300.343:"0", 26.0056:"1", 65.1959:'don''t', 36.1185:"2024-08-03 13:08:30"},{80.1103:'e', 40.123:"20240803", 43.1993:"300.343", 100.02:'it', null:"20240803", 300.343:'think', 22.1716:"20240803", 87.1213:"1"},{300.343:null, 40.123:'yes', 100.02:null, 57.0544:"0", null:"20240803", 62.0388:"9999-12-31 23:59:59", 75.0835:'to'},{11.1611:"1", 100.02:"300.343", 38.1991:"2024-07-01", 23.0015:"2024-08-03 13:08:30", 300.343:'you', 40.123:null, null:"9999-12-31 23:59:59", 25.1907:'want', 0.1255:'right'},{null:"2024-07-01", 40.123:'i', 24.1533:"2024-07-01", 9.0341:'a', 300.343:'s', 7.0481:null, 42.0737:'be'},{null:"2024-08-03 13:08:30", 26.0437:'w', 32.0680:null, 40.123:"20240803", 27.0356:'j', 74.1868:"2024-07-01", 38.1126:'know'},{100.02:'some', 300.343:"300.343", 24.1401:'of', 40.123:"300.343", 59.0203:'v', 82.1369:'can', 82.0484:"2024-08-03 13:08:30", null:null},{"2024-08-03 13:08:30":false, "300.343":true, "20240803":null, null:true, "0":null, "9999-12-31 23:59:59":true, 'right':null},{"2024-07-01":null, "1":true, "20240803":null, "9999-12-31 23:59:59":true, 'he''s':false, 'y':null, null:null},{'you''re':1, "0":3, "300.343":null, 'x':127, 'look':-88, 'something':32, 'e':127, "2024-07-01":1, 't':-2, 'w':0},{'that':0, "9999-12-31 23:59:59":-75, "300.343":9, "2024-07-01":null, "20240803":65, null:0, "0":3, 'n':-92},{"1":-10958, 'n':-26359, "9999-12-31 23:59:59":0, "2024-08-03 13:08:30":-32768, "300.343":31929, null:2807, 'm':-20077, "0":27987},{"300.343":28880, 'something':32767, 'because':31556, 'l':null, "0":-22948, "1":32767, "9999-12-31 23:59:59":-32537, "20240803":-12084, 'y':0},{"0":32679, 'get':-1318426799, 'i':1582235781, "2024-07-01":-278643582, 'want':null, 'we':1475484283, 'are':-1436172273, "20240803":-225484579, 'here':1225322926, "1":-405918686},{"9999-12-31 23:59:59":744302579, 'like':-2147483648, 'one':-20297019, 'b':2147483647, "1":-1045693363, "0":null, 'if':1113901064, 'j':2147483647, 'z':-2147483648},{'r':7, 'z':-5279344, "300.343":-10504, 'm':-847178, "9999-12-31 23:59:59":null, "1":-4560617, "2024-08-03 13:08:30":1, 'know':1},{"1":3108826, 'got':1, 't':3, "300.343":147483648, 'o':300.343, 'u':147483648, "9999-12-31 23:59:59":20240803, "2024-08-03 13:08:30":null},{'that':14587, null:147483648, "0":null, 'd':245, "9999-12-31 23:59:59":null, 's':285492390973630314, "1":0, 'h':-1907128173, "20240803":1},{null:5825493, "20240803":245, 'did':-677849654, 'ok':1, 'didn''t':1, 'no':-3574136772320718454, 'n':7406003848367063322},{"1":300.343, 'b':52.194965, "2024-07-01":40.123, 'tell':100.02, 'v':78.79448, 'it':56.27288, 'c':100.02, 'q':75.90919},{null:300.343, 'that':300.343, 'he''s':76.43543, 'a':20.24995, 'e':40.123, "2024-07-01":59.969513, "1":89.67189},{'i':74.72671083299126, 300.343:300.343, "2024-07-01":100.02, 'really':40.123, 'but':null, 'as':100.02, "9999-12-31 23:59:59":39.18896097284323, 'there':5.711017247877475, 'a':10.656679348844024},{"2024-08-03 13:08:30":300.343, "0":85.91599301682731, 'e':1.4661034656936147, "20240803":40.123, 'x':94.22888577984897, "1":null, 'd':45.94956850763608, 'q':100.02},{'for':null, "2024-08-03 13:08:30":300.343, "1":19.1981, 'come':300.343, 300.343:29.0836, 'j':90.0559, 'l':100.02, "0":16.1042},{null:300.343, 'i':40.123, 'time':null, 'have':41.1459, 'n':40.123, "2024-07-01":100.02, 'y':null, 'm':300.343},{'w':null, "300.343":45.1954, 'then':96.1599, 'u':16.1820, "1":2.1126, null:14.1378, 'c':null},{'x':300.343, "2024-08-03 13:08:30":40.123, 'have':100.02, 'd':4.0670, 'could':40.123, 'a':5.1597, 'didn''t':86.0669, "20240803":100.02},{'2005-04-25':null, "9999-12-31":false, "2024-08-03 13:08:30":null, "2024-06-30 12:01:02":true, '2008-09-09':true, "9999-12-31 23:59:59":false, '2009-11-24':false, "2023-01-15 08:32:59":true, '2004-12-03':true, '2019-03-05':null},{"9999-12-31":null, "2014-08-12":true, '2005-08-17 18:59:06':null, null:false, "2023-01-15 08:32:59":true, '2001-05-13':false, '2016-08-11':true},{"2024-07-01":-7, "2023-01-15 08:32:59":124, '2004-04-06':105, "9999-12-31 23:59:59":null, '2012-05-17 12:52:31':-128, "2024-08-03 13:08:30":1, '2017-05-24':9, '2017-02-02':-128},{"2014-08-12":-123, "2024-08-03 13:08:30":-45, null:36, "2024-07-01":127, '2005-06-03 20:21:59':9, "2023-01-15 08:32:59":127},{'2014-08-16 16:36:37':30476, '2000-11-10':245, "9999-12-31":-18518, '2008-06-14':245, null:-30996, "2024-07-01":null, "2014-08-12":-14326, '2001-12-11':-32768, "9999-12-31 23:59:59":245},{'2003-06-23':245, "9999-12-31":-11837, "2024-07-01":-17927, "2014-08-12":32767, '2006-06-21':-5487, '2013-02-05':245, null:-7985, "2024-08-03 13:08:30":null, '2007-12-06 02:29:40':-29966},{'2011-04-07':-2092393956, "9999-12-31 23:59:59":-365993483, '2008-07-04':-2005684416, '2019-11-17':-1167015445, null:-1851068111, "2023-01-15 08:32:59":147483648, '2008-08-28':-2147483648, '2016-09-05':32679, "9999-12-31":null},{null:2111522103, '2010-08-12 22:25:13':-1128248459, "2023-01-15 08:32:59":-2009983323, "9999-12-31":-666047671, "2024-06-30 12:01:02":1324085149, '2013-07-07 09:31:28':-1265920142, '2001-04-09':0, '2010-03-10':2147483647, "9999-12-31 23:59:59":147483648, '2010-10-15':32679},{"2023-01-15 08:32:59":9, '2016-09-11 17:55:34':300.343, "2024-06-30 12:01:02":null, "9999-12-31":1225915187896655924, '2007-08-12 19:13:23':32679, '2017-12-10 05:08:46':4257986, "9999-12-31 23:59:59":20240803, "2024-08-03 13:08:30":-4498484892966957364, "2024-07-01":7, '2018-12-13 04:07:28':9479},{"9999-12-31":20240803, "2024-06-30 12:01:02":null, '2019-02-14':null, null:20240803, '2007-03-03':2, '2007-07-02 22:39:43':-6520289, "2024-08-03 13:08:30":300.343, '2000-12-27 04:36:42':245, '2003-04-04':32679},{"2024-06-30 12:01:02":147483648, "2024-08-03 13:08:30":null, '2010-09-12':245, "9999-12-31 23:59:59":-594185, "9999-12-31":0, '2011-11-04 20:15:18':32679},{"2024-06-30 12:01:02":1839482973, "2023-01-15 08:32:59":0, '2011-05-14 15:18:47':1, "2024-07-01":32679, "9999-12-31":7128336861478107304, null:637991, "2014-08-12":32679},{"9999-12-31":300.343, '2019-12-28 07:22:15':300.343, '2012-06-01':63.42172, "2024-06-30 12:01:02":100.02, "2023-01-15 08:32:59":29.160248, "9999-12-31 23:59:59":null, '2011-04-08':76.54011},{'2012-06-21':78.15607, "2024-06-30 12:01:02":86.73798, "2023-01-15 08:32:59":37.59066, "9999-12-31":61.694847, "2014-08-12":31.769, '2003-03-14':300.343, '2010-12-27 01:11:11':40.123, "9999-12-31 23:59:59":100.9376},{"2024-08-03 13:08:30":60.77767750380584, "2023-01-15 08:32:59":300.343, '2016-01-12 20:53:42':84.90297700589599, "2024-07-01":46.478776676962184, "2024-06-30 12:01:02":70.14710285349952, "9999-12-31 23:59:59":300.343, "2014-08-12":300.343},{'2019-07-17':null, "2014-08-12":5.362151590053074, "2023-01-15 08:32:59":47.78160972661186, null:60.81993050965027, '2018-03-02':96.87566276393162, '2013-10-21':67.16051613929359, "2024-07-01":100.02, '2001-11-03 12:24:41':24.984041840487606, "9999-12-31":null},{"9999-12-31 23:59:59":67.1734, '2019-03-19':42.0060, "2014-08-12":40.123, '2000-04-21':40.123, '2015-05-08 13:15:39':40.123, '2019-05-14 19:43:40':null, null:16.0646, "2023-01-15 08:32:59":300.343},{"2014-08-12":58.1466, "9999-12-31":40.123, '2005-01-24 14:44:20':300.343, '2015-11-23':9.1249, '2019-03-27 21:46:21':null, "2024-07-01":17.0614, "2024-06-30 12:01:02":82.1688, '2012-05-05 06:41:28':null},{"2024-06-30 12:01:02":85.0125, "2014-08-12":66.1986, '2019-09-21':300.343, "2024-07-01":34.1160, "2024-08-03 13:08:30":null, '2019-03-24':100.02},{'2014-06-14':3.0825, "2024-06-30 12:01:02":300.343, '2002-02-04':300.343, "2024-08-03 13:08:30":300.343, null:63.1936, "9999-12-31":null, '2019-06-23':300.343},{"9999-12-31 23:59:59":40.123, '2003-05-15 12:49:48':34.1109, "2024-07-01":68.1605, "2024-08-03 13:08:30":300.343, "2024-06-30 12:01:02":37.1755, '2014-05-06 02:15:42':95.1196, "2023-01-15 08:32:59":null, "9999-12-31":null},{"2024-06-30 12:01:02":61.1999, "2014-08-12":null, '2014-04-11 11:54:44':100.02, "2023-01-15 08:32:59":null, '2010-08-12 01:04:29':45.0793, '2018-07-06 10:37:42':100.02, "9999-12-31 23:59:59":300.343, '2018-11-09':6.0641, '2000-05-21 13:16:36':null, "2024-07-01":100.02},{'2012-02-24':4.0877, "2023-01-15 08:32:59":81.0850, "2024-07-01":null, '2008-10-02 03:09:17':62.0976, null:85.1435, "9999-12-31 23:59:59":64.0589, '2005-12-05':18.1858, "2024-06-30 12:01:02":40.123, '2018-03-26 19:29:20':40.123},{null:100.02, "2024-08-03 13:08:30":null, "9999-12-31":33.0548, '2018-02-13 04:01:49':100.02, '2000-10-21':8.1156, "2024-06-30 12:01:02":null},struct( null,1,245,596387594,1,1963726408557414860,77.915474,22.61344663894975,300.343,22.1773,40.123,100.02,40.123,40.123,40.123 ),struct( false,-28,14623,1251597791,245,245,60.426632,100.02,100.02,83.0230,60.0820,300.343,null,100.02,null ),struct( true,-128,-7447,32679,-22946,-125915321,55.732143,77.92664553556072,300.343,100.02,66.0302,300.343,50.1055,11.0389,97.0100 ),struct( null,0,19846,-2147483648,1,null,65.658005,21.757421624902392,72.0719,90.1368,40.123,100.02,null,33.0553,100.02 ),struct( true,1,22017,1408427901,1,245,300.343,100.02,66.0749,7.1608,8.0090,100.02,100.02,null,100.02 ),struct( null,-12,0,-408401176,20240803,-577663857,36.317657,84.32112851030087,100.02,null,100.1795,42.1572,100.02,300.343,100.02 ),'{ "c_boolean":0,"c_smallint":-15245,"c_largeint":7386257646846053452,"c_char":"nxbREZENwZ","c_date":"2006-08-13","c_ipv6":"95fc:4268:9a81:51c6:6c8c:50d5:c1df:877","c_array_boolean":[1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0],"c_array_double":[72.4707118810798, 14.494491848208666, 89.22403834968863, 47.41499309504, 80.7737951860934, 94.70721294160708, 94.72380816394711, 47.7443689984547, 90.73822034962575, 6.271137626825768, 27.83947512684047, 19.037123051364116, 55.85748807789089, 52.545907723865454, 52.89173074830239, 92.97866131267475, 41.75479503110236, 81.997809951918, 13.188182479292662, 17.16454151927418, 64.13604462631476, 71.97129969997678, 7.843658472751714, 88.6314574242643, 48.82112495892118],"c_array_varchar":["rTsdQtDkXODUAZxXbshMUEHXSyJkhoMcCIhDMktplrEhlSjSftvauUcFeBurAsqxzTFDBzEDCbcVEZkFTOJzfxdsWTdMNzyJPvjTIYrDcSBuFzpHqCPFXZwCAMuSKEmwrUUZuCAkkDetDPTEzoESJbasaaikuVgZEpokIjfZxIUEjuHlToYfZEoMVnyYranXcszbAXWXstWqffpoIkOdLZeWddGwbDZqiQcyiNUxkkncTxkWCHPSSUffTwEuxZrA", "qPdfcPSnVnMUdSpTVNBJwtQGiNayMeYYetcAdCjHStVegaSkuLFAbFrzktmToYbaQLrRLWznAUzOhDUJbPAxtgqtdRRdemOZqYEFbGqaBdkaMoholmgxMCHtmXyEQIuxnoPArvcPmgyYzIXtngDfuWoQlFHXhZaBKiefUmDemnUaGwPZZGxKjbwVmazrDtxMXhvWgwFvNiHMZucrPxLVweZFMbmJPtLaumYlwcaGOnwFCaXModckxZoTeSNLEWsK", "soJzOpVxgqkoyDdnoQxXfltajrwWpLgjjvoHUrkBQgiDkXAjcaTRFEiqEOrQnSxeWYeRUYREJAhKOvptNWRkCgJCoKvBreAhGcBxJwdPmJzhfqrixDPOQcFrIhJuGEaEcPwhDebIArqqrCWmfXwpEjeEaKIpbuJNFhPwQsAyYqiwfuZplZMXoChVXYjBYiASIooEzuoiSQbckzUCraFjkGCPDMEsXgVOJKxytJYdxQqykowdlBSJnvMPjqRVRnxa", "EGchqaEDitxWywrSFCJJAfNEskVnPyVzspHcRZaYAThSSsbzLaKAshBTVowRHLBDYOKHhHMPbFZbkihLNIuxsehEefCMYZvBjkRjgDiWQrsGYoSQPhjmLWXTgQlRbmmkfxJMStKompQZQepIHCPNLPcDyemqZsfmWNadvTSGkFAwVqpZpoyYFcgmIYhBxwXHXEeuIDbJjyzsuRLuQQhwNqwztcqktvDmHSFcgrGzhNjWSGNehJwhbstkXVqtRTHC", "bXuQDKLtbgLGreHFMWufVOKSLSUmvsgoNggmByyuVhsfrJBQBIbwvNrFFjeJCCorAjRFusMXYGuTWJEEPtEwRjmBWbfjODJCVoDfYOQsAkUtzkKUJZKzqQxizhCyKVEJDbVxwxDYtXHPxZlUadQMEJMbDcwDxmIePyjylxDTNbIrjqApxhXsIhhZqYGMutxwEAYdizHsWCDkLGPRWjHymOhqEzWDsQMOtArrKLnVyjDDzTuYHWBwRajmJasKoyBP", "HjHeQEoefxkXJEEKvNGfggStzTJaZhhSwFnYVijxufspMNqJKrcqaXTccbuOLUYMiSQtsoToyKhFyEpZJHNHbVKkhrdZVOPxYOfDBiBzDOcrWjYyPuZNaPIRbvVRMvWncwwoRffrOUaSiIbeoVidXPXJjYbZHyZposHJoadprhlvBCScSCTkVMlicDNpkgRaOTjJGhEFXrehgUKYhViHfONqrtYXtUPPeNvoURrgPGpMOiWgDbTXuxucnppzUgWs", "xAnAuOTItLhJIqdQKGnxreteXPLiDqiifNXgFOjtEbyhmauDOQHpnsBNSoZmhLtBSfYHdXDKPANlzMkRYyWexTUJdYXudaJXOWYNutdAibMCRWLHDZOnncWlEElQdIOHOcAuAHhAPIncUTVRFYMrFFPyYQvnOPeeKSQJaXCjDEXqIgEeUJiHLdavysqVUEFYIgLDwBSMkcbVdJgCQKpOoAryzaPUbbyssLprwbjTVZqUjrPYzwFaciOYrEYsUJQq", "AyvDGQgwDsPUVRLkyHhGUZGMpAKJdQVtaAtbpldBANncQQyhPpnGvvfDXUZUWQtNTmHLdtBzCAbgMoVlsZndetlUppTkMoAgoamIaiwORWQOugJIGIAwNWtOHyPcunMoOEeYHRjJAzROyzTgxGEGmvZVdDLIJtzDCenbDZjXnDdgmfaWtEcJomeOIJQVbllDMNkwTPYcUxbYCaGEUVhMdpgaGrsSPmHiQRWaqSYwnxylxZYOHMwmfkxrcZPFnDOZ", "uAagSWeIcMrasiFEDiNrVhzqhqGPUHKNKkvfTgOqHqjySceApLHqwyysuUGASerHkfeHfotsdTFmsGBmoRLsQcMrdmBAnobfXNQTFaNUxNRYyCepaFdubYbjVQFmsyakQRawfdXgtntDUErROYZLkOsUVtSYIfDESCnworIPjKnYufKYDolYHFfrnmvRWLlBFIyssPbMuxyImzrdIOdITpsLprCqhWiknBwhYqofZHPTlbBxLPtZCEmcMXEopvPg", "ReehpJvMmgkLBryorNpYteakPIGGRWmrqosyPzRuyHCBphDTMkZLKTcxzemzBcpqiInJmgirVLWoMLrkOfMabJKAFivKQxwFpefPvdIubuNplnKtZhTxYTrKzcDVEeVIvZAHLOcWsxWAHulJUWpdWXKJZBBUMAGNcgZSengxHRyWGmSfAskqYOHwtcDZLlIFbaYFmZBYsawZBhUiRJeluUkZLohORpEQNRhuaJOVGNoJVJoOYXJGhNCtMIKupyxD", "jpmuWepZVcUuZUosFHZBiDUGaajleuXHIqJJwAYNRxFbuNpAIYbClZaRDHlBfrYnHIkWvTYTvzXFhnFPGeRztqBmxgmvhndVdNUrgOlHIssQrSZZjsCENCshDNwPHNZttaRoEKPmXVhBMJgQEFMRGCHlyQifrDCFpPedlGpCGnLBDrqGwODzHnpkEQqAKuJPYuYYeXJXTuLcPgDDmMiKxDuMatADCEtfZDVEcwKSGMmJcgYiBsWDLGsOuqbQaZTE", "eOSSUQeQXFFAJOwQsmOZvEQKrQAPpCmfrjQYEvuOmMomzISiiPHAztTxeAmpZQgaShUKkMnVzJDZrtoTibOoLYehZOtNscojycRkgqxpGHTnhLXKsEByKIpNKVnfxwPldSGfBtrsanqXsIFNzopBuUatbZsfwWxTbKjuKqVKQxPVlWRvUrvUiUVUYYqvMdQPzCwKdJKfMpfpURGqMPQsnEZHwLCUePLFVLxCZomXvLjAQvYxrPZflvMIHYndcSsj", "afaFMVSpmwnLOUAvOpQUaARhlbgVeYSDbTIjLDiDNjDcMtByodHEejXgcOEqqXBuIoCDGpyJDBLnlHxUAnYbRljnUPCgGHGFNLbVHQtRiFBsiRPQyMSXMsCTBZMvAFlbrjMadbrjqBOIfsMuEnvaQClDHkaBygxGXnFrrceYwdQthxEnvSMZrsgwNnyhtoKtONXwlQfZxAdIeMhSWnDGfKAyxhmEGGvGPMpPXZavwbrDtXoaQEnRDrcoLdKETMYL", "DWFrKvRLzlxeZdABNiceDudDWTiIZHpPixFZYXOuuZevUqbLwKKpRFCqjhiPlvIkxLFhczkhtzXVxafFNTRKizMDDkdwTcLyEggKsKDasLIkXxxwmlGJkHxTFISQealublwQSqAvSpkMKHPOOgYoCDDfguFGwFtngWjVlMfsLgNNnBiuMDbeBtTprtwcjhksQdvfkLoNjBkpbZkZPHZFcVRDCBQXtGhrNZcMybWobhCXGcGJGfsAMSlzpsfNUSGQ", "yQtyYOQcnUuNiPIsmiyGaupJxZdoAXXEYEZMuiwjBeDMvBliScFlUmIaDLVzNrvhxeXntfNBYTdampfCPgYINlBEIGqzQsTGfAlKXyDENtkOPbzjqQhpuZUQgaODmlmjyshUDmRhBtmtTlhXKqJQZybCpFXmsXTKfxUbdQckViXqkADpOwJHaiCjNycZLqoiiFGvJBUYnJfGjzPXzcKYDoFuwiuCJSbPsrVyRLkLdDDlPLTnLehNLwQpfSUAAooS", "DaWpBVqTpXQjEJXziYGFDeIErfYmRtkEIoDnlAvSVBqZoUHimfjtnMzpTCVOsDDyhWGDxIngHJAehSUOOmJYLksWikdPOlzRiylTWHeULhwjUwWHUpigKVErqSucTCmenxBalGNKDdHqxSXmHEVBodeRnBLZnejVpdJUIjgTrpvcoxuVpyxENFuEjJDPrruRkTvGXdmpfCWYmuouGOgyoajIlWWdPcyfCUnTuZAQLkxpPjTVyHUFSGrSEXrqRmsS", "JwRNOQRscnZZXHthSflJzysXoEJHnYUkgnAwtyFetKvRCWmzccEpReBhiyfwsjXPRRDqPgsdyssiImSnGyUWsaQOxxHPNVZUPHsYqqyqPNabotPtDRpZjeOawXJSSIPvDEkhgHHheDmgsaxUWCWAvxfJVbSAVIWlualKaBrGHGUHRZKzxmUdBboBSHjLoYTzUunVPLGzSbiRqbZlhVylQqeIRSnJIpGWYEOFqXvnMpwKmxxztJeqxrIYfUOewTuW", "FszpoQuBjHLIcgnexWcyBUMIoSbTMEAnmwpJpgfdVABXmiVOffqErfMFCefguwPBIwXcqgbCEMYYUrjEWUTOGgEFQaYnNKrmrrplQGcCRteNtwUICtcSftxuRLuUVdneZAMzcmjxSETCMiXLSiFstXVYtEchgSIiuDCtAshPfSlaINpjNbActZFauOokGtYgteDKPUbhCjupqSBmbwQZiXUQIVaWTuENgCEhEJLhkfZHvjGqYpKnTWkzYNTsIAkr", "GtCBioWsIjyGfiTWqPAAmvVuUHMCLRAEtliAvTPfFsSiMRnOXGjVgFuyJtXiispWZYBTtBhZlKhuZvqcrOFdSchUUVcKiYOsyKrDDhGssghkXecGrrjFXjWgAqAvPvLeVoitSjfLTLuTEGPaRlGqRblFkujCbcIvElDnxfgpgaPZtBvZMaTEaMeZplBOUGHLLkCXLUstqsSyfyQJNQRZNeGIpKZDsfsDZFSwjGdEHKqRCZpaZXueTHGXRKuhXljI", "HdIOZSznAEHWksDqRPDUScLVEDPmXmxkEcQFExUjgOytWjRnWyYlTkKFIuoTiOfibpNKEWJbxoIRnonLZCVjQwHmYanrbQsAAMhDCRWkOUoXbcHiASRoLmBlYcCwhboECegHmaYkbYjcGgHxeLLPcFfWvsCAvVrqQJWcHvnkGCEIsMqUHxievlRtMCIAWnjbQHoiVYLBNhTSluNzAAlwZLfXaBuXbmSZGPXxBLobnTNsWxffoWqSCzvRFOKdmbPP", "OqoFMUXGVzoTRxmFYyZbizhhvHIavyuJPcTnXXiNWOHwOlcLHJMYKlOGGiAeJLXrsewheGrmMRHlqZJQDGdjxVxilKNJIgrDGtxGlmzrqqmjCtXkfKhkvIMKlEEGKqPyOwUsASukLnlNcjGJymfkcRzxcELPeKzeuFIYuIByjvmsxoHIUJKSCrKDlCFtjilZtoqDiSHyBOjzbFUXJzBKDhsHAcwQmEsQhMydSWmlNJsCpWpUgUroxyyQuiYSWbdi", "PqXVrtFvfzwLdnckOatkfNsyavEutPLUvmMgPJpNMhdqYIplxbHSKtDxghZusMfHdrLcjYzAgiHxapViFMZXltIOwGsdYetwnMgcQRJtbyACqGbjMfkncitEZnpirZIlyAvKISQNJqkmPNvLyVWjVFwhnXvfekxZfzkjdNtHElrigHyerdWqPPmsabWxRyNJLjNCmkRMzXAXPBIozXALRRQlzEydZrCWCMnYyDJWQuAZJeilXjicqOHxXbaosEqO", "tajEAGFhsNOXqFlwbYodKubnDVXNqpmuViDJhbtGQpwjVhuBbImUgnfHHIFcRuPRmScSXwfIBysTgEgNfyDdrrldDElMoScUjMcyDIuXScGpNmcBzHRvjnubxRIInGLrOWWinMElVsgLwuPhoOgpoOBTEMCwXxYzfcOnenFrIqhsjkaHyjVkCjHfgRgOzMqZLWWcIaffwRiLkLYeauqAqxDzazuHQpJMvwMTAHzldnFuhWnjJpPhnbbwrzZtwgRz", "mhbQZjuwEJIiFTUpCtRZDEFmNfWXFjiLUYVywjHoHFHmxKDNMlnftvKFGYzPaLGNtnrBwwtCvxqSRuxfTpKhyTzNjgLSBOsxImJWZjovbQsYgdRMrcpsTMYxzNDIgznOvBZyleocKCMYoMcKPkokQdqEUEjzhAnjkaADLRJsUmxvUssssWoFrwYmLGzuekzmnIKtMYYsEQVZmmpuQyudeLjdzqLbmFyUmgxBXNrPOIbrEKsaAzGjTqacanjkAxCO", "UWaowzMyXPdCHRwEEysAvKdGPHGEdURKbMUrVeXSalMXsrRcTpmVpOLLJfjyDxErWmfMYKJmExjBPgGaOcAZHRGdLQrIkTUFnmVVaRnanEGXHvhKIvjjRkvuphfGVPExqXtWlvkFzPbIPkCHJUjLqEfbmeICIBfiEEhFyGFxDxJoeTAjhyCllBdxZIOuGLRhakCCOLpqifsDQlrAyGgurJmIvLhQQhQGRgQcsqeYjEyfBIEWIURTtSSriueCOByE"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_decimal":{"c_map_decimal_1":3.1557, "c_map_decimal_2":63.0891, "c_map_decimal_3":1.0440, "c_map_decimal_4":56.0045, "c_map_decimal_5":73.1165, "c_map_decimal_6":7.0538, "c_map_decimal_7":20.0936, "c_map_decimal_8":72.1421, "c_map_decimal_9":77.1472, "c_map_decimal_10":70.1246},"c_map_double":{"c_map_double_1":76.09990416358207, "c_map_double_2":26.6017114889324, "c_map_double_3":4.5949506338186445, "c_map_double_4":48.52811127118046, "c_map_double_5":2.589336942915624, "c_map_double_6":77.84557156689925, "c_map_double_7":100.15773588597366, "c_map_double_8":6.398373690906991, "c_map_double_9":75.58776134442867, "c_map_double_10":98.16664897067446},"c_map_date":{"c_map_date_1":"2004-02-18", "c_map_date_2":"2015-10-03", "c_map_date_3":"2016-01-15", "c_map_date_4":"2018-06-17", "c_map_date_5":"2013-07-23", "c_map_date_6":"2014-12-11", "c_map_date_7":"2009-10-25", "c_map_date_8":"2006-05-22", "c_map_date_9":"2019-10-23", "c_map_date_10":"2007-03-28"},"c_bigint":7981127103583584752,"c_double":65.05049491123175,"c_array_largeint":[3508159088077548586, -1127243720404463475, -6621422938392543876, 5865745665222084210, 7364747953341405240, 1144043502412814506, -4449221034072507581, 2808172262312503189, 1144551486423769362, 1697355989805971136, 1552642519373087657, -5350605628949113169, -2153934934951525735, 7503279873593329348, 5779127390017348323, -396113003044587730, -6486345735956110629, 2916844921334993908, -949132418234798732, 2424354308582044787, 3730556625931147301, -8848029117290922004, -5846204253232469144, -7034113735638990401, -5294617200172732578],"c_array_char":["lvxbsbyIbr", "hmaesaWVHw", "DsLSPNOiTL", "GnMdHMYFMd", "iyDulTVPgI", "bGVndywzzn", "HEmhMniUMN", "BBRXWdKMnZ", "HtVopabQNH", "HPHMwFdrIY", "DBnteIsQjz", "QUURDBPzTj", "BBKHfSKGVK", "uLMaToRsdz", "QinMMRDkpv", "sfsHEakdDF", "KylbBjgMmX", "mldaOBkXeG", "OdVnhJehYB", "ZulytviwYO", "xPafntwYNm", "zxrmsvpVUJ", "erxSTUUjTp", "pZwHbqXOWX", "LSpTTZdOUk"],"c_map_float":{"c_map_float_1":6.9991174, "c_map_float_2":38.11448, "c_map_float_3":27.428398, "c_map_float_4":31.00457, "c_map_float_5":86.46486, "c_map_float_6":60.534973, "c_map_float_7":99.81691, "c_map_float_8":68.92573, "c_map_float_9":92.65642, "c_map_float_10":20.289558},"c_map_string":{"c_map_string_1":"CSJYStDwfoXItDGbhtWPYRrennrVhuFXDGcrSCxVHMkEALySdDTCfGbVuCTWdaBkjjscnOFMLFmqiBbTiUjadsgXeJFPwdHQtKotqqFvVyyWdrckzBxInnONSFkOjtxGOrVZorXyeFmweLNKjaMwKQUIXGGFwBjjkLnxeNakbkvwTwMiLxSCzyePWHuPhSTKngXPkwLLzFSQRXYQUFFQgcdQrEPHsSvgjqYbKIMIpAVQZQulVcnUdBoICtHtetJhDleWOWurCUPriDjWEuRdtVkDyaOXmxzXUvYnTMtUdPQlkLPjQeXargePqABZwcDUzUsibhroJGceeUNfLJbXRYajIPMZYgbrLQuYwLPQpXtKgxeezPsnKNWHDojJnUzJtSsKjoZafcghwlmqYWOaplXCbnFsTtiZHOFeTzYgWepaLuszoAAehfnfAkoYrjfJGHohirGcicddmFMZWJERQvEWPXisGRpSYHPKzVCOaXubsHiYLlqlzOGuibJtyqRF", "c_map_string_2":"ylSrecHrZuvoGSXjxXtnuwPDYUILfkmXHQYgruQcvmUasWYxHEwesrXvWOINazOOJIsnBTHNGNBrrvrOkmscfNEuKXxHNXcubUvrvzGCZDxHkzHJrHbTNguRhlretJqJwYOjfWrTvBbdvOBaazWjtgWtRggEsVRwEJvMLHQvitPwzrVtPZWDAecpRIyEXjXHyyAHyDMbvzMzfUCxWTSCYdtgCHDPriDBXIIggnIirFSRNrxZAdzPZTDnleWXiEfdjwARYmQIIsiauFKsaYtRXLjnaKTQswTHnGEBDYmBdeIvEIdfkXxnKieBZintZzkwsRHNxGENSsBPkqVDNVAxDDCOCEjWdBDkBysaaYUZRhGwFbyhpXMbmgGBEFslPbwdraZotJuPugibJhyMhPOALZvLYkeIHHniNCcoaQSFmrjtnulHicdBMNyLeYXWhSytaEhlhkJzleYnFQxxwdUrEdtRjxyFQaIQcuMwgbYeGpSTYceVesdkRxvLNLLRQxNB", "c_map_string_3":"RCtrOECRqEEhxYOROnnwvleKEWWmqLoeFxJLFwDbGSXVaXrPYJzsDsUoSVKFIuTNQxGdNhIqXnSBRlxbZCNgmyrcUlKluhHPJVkpcsGLNLRJDVvjYzhskJiYSMeqQGIqEIcFCTJwDcnzWlaUuxdosLMqcaeWHImXfzLYhswoeCnagxRCZlWlPtjumSxDuwzZOAeqfDGxUrBvEuGQPjRnDaaFjrKVAiwHIaYkUKszLeYALPYXwFrvBRpxLhistITVEPvQeJXrfLMqPjmamJnxcveHaAnhEAOATMhbSoDqtSlWuKqCcIChQdfQdAAJNSMOVeHcJAQZaQAcuujnSabhBUGUraVKEyjpsHTmFDZZYwuIlzRhGWicknOmRPnybTgVoYUNLMzLavguofRTJIgiVSPLowIhlahHcftGexvhiRGMwCHTfjUfalGtYTCoeZMcmpvwWBMcLmFDsqrmReBJqcPdXmvDEWfVirPMnEKvXILZWbYUPtSnIXLUrGpgLVAc", "c_map_string_4":"PcVhAPaoWNiXBkckNlCjCWhFYmNZlnjahNgJTJdnRFJNEaRjaMpAbKhmBIIwCmRaskOoHrAJsnsWwKAUQdwPNbcsKuSIcHNQHsaYhVQfytvJMlMYpMrtbqmoeqtMTdlDCVJWpQFrihAjcdsfdjtHQdLqLMHNaPyYgutUKXpwpufoBWzzLQuhNaqlGVFgOPIuZkjojibMfApkqtoSHSvyMoRodnIwLdXaOQHQCzhdllqzGBgWirOanicASJYZYgTAxYkJjgijpyEhQZUMNWbyKdgmOyTuQnKwjmVqIUQtpQfVsVMMNHQcPzYPTpqOQbCmylIqrxRPidrfMdnVUkrhUdsuxQYxPfWifSBzXGCdSCeCRnDHzVbxVBsPTEeBiyVENgEmAOiAuAlvKppPmPKdgcDcQQGBfrdeRljjahTwpmXtWeUxGfLFXXiJqocseiGjSHxtTjpHBTVnzuXYRoSjOqyLiHUrGKuZLUZJceatWhwzLrpnwQREzLsecvUSdKOO", "c_map_string_5":"qEbwvUVQkBiJhvaVUbJgoDVXMGdwjaTNHdYkFQvjxfzwBOibatFtdgzKFnzoquSVGUoEhCLzAjZPNYoiYCKnmdcXUgMEutwDaWbFOPmgHoaeAFChiDmOBcFMMpzMJYoDKTnyZDcqrReJhAzMsWplvufDFsgsrwsBQYReAZCOWDLcMckZhvbaZVrxQyswXJIVusTtWgZpGQescCDNDYwrsevBFZYGYavghfPoAKscvVgNxMiNqYbYjbaNnsUzviShpSaYzPGHOTSOhzmOLYdwSSLDneNXfTEHXchWfcSZFuGvlgcyYnewHvNNhlOrfqEsrMHTahVOhOZIyFVxIwTsgoklkpQBUszNfjmMKyySgoWunZYNwfgKYkCcNDmoilXDjtUouxUVxgLgNNslJCbChtXWAUHhJkjykKsLupfZCBPCTRrccvJssfclTsHMEdXxPPfoaoOpXvNKlpGIHtddmFuDtziJiNBmVqywsNkkiJJoWHZFmEBBZvmvQwiQaITz", "c_map_string_6":"WAIUpKgfHZgQOcENJBIYWObCTTWTclmvqxaFbIcJeYnZTTZGWaeVCZeSXxaMPRwrohwzvpKwLAixQttZheFGpkSZVwlwdwRzoYZHPczmRIXWjJvuyXCWxmSVLrJOqaabnTSMlHOZKZthYoLyNNBwCuTLpsVIfbUjDjZdtXxkUdyePYheNgcbaYnDqWHtILbYHfPeaWKowjRdVTRSJASctxfrDYYsvSdRZfRZQxYUfBMwpvyomYirxWLLiSGXTPrTigcEwcQHGohozEgnxySDVEBELySLPvIbmmCShitBQAvUmTpsYSXzUMoUgdWGQgdtQBBpageOMCrHRFDyYgazOSaIAQMoiQDGFrdlHzPPUxAuOHJwHZorMZjVmnDgTOuvvogqEAQlvzAXhSMSFsPbhxLAyncndrmiicCjAoNkGRrwAXNcNPPVkgPdopHdazGLplfVFXtukfLYkwSkZQhrMTMPUFFpkWsJKvsCwFDnXKpCLLTKyCcHpTUaCdssRsZS", "c_map_string_7":"BXGJbNnlJlPuecfuPBBsOIKOsECKSAPWAHiGyFygjDlDMBIeEbetVxJaPUtqSVBGzfFhgbYmCrFLSkLIIuRdcIWrLeBvoRysDuQhkYyAFhWOGlcUruNUVlfpGsGiwUSxICCqbsEUhgbgwZNZSynBYbKFmsrzVZlupuvShDBeefMWPzLMrvWyykqKSiQUxZCYcdRLTWNIHWyACciPFGbpnuNJEcmUMzwISWUkcasmwjUgWzgWqdvqYlvctZUsZygcmwnjNMtjzmlaEKpfPoFBFBxGcSARxejmQSjIxcnXtKFEqQiVWnaJQvvaDyCQACyeXEYkgMPGjDWZLSftltwDYhteSocwffwUwvuOYAqMrDCmnRZSmzMSxYwNgIWVrqMGyHwZyhNuUhmcDjLxbIYsIMvRiKrWTBrkzddRkxJmZUQxjqbNGcwbRcNKdvoiovcijnzMLwUTKcDHhkNFlYeRXYjgcJWQHggtZanLCbwTCawmYvUKZQCuDjhOrKrJnjpG", "c_map_string_8":"xbYQHLrwdVguIaXPcOlAhdsaBpYFdXLekDGyugyTJzpxXZLNPQgTHNLJXBahiUEOvmpbVrVjjgpcwOnTQXFwXLcRiNcdfHqPtEIUqiIAkATGeRCSxBqhbtTzeArxAWFGNgioDEsWBUwrZsOjVItrAMQzAHcgGVWIqmxRuoJDhBveBRrwOktEIuHaAKUTzczJhBmhVZzGUbEjEYudiBhQoyYJEPqlsqaeZXaqLZAZgkDVNDaAQarQzfliKgsPaFtvSMAKndKDwIKkskObyjkBDSAOWRRNRjLHvMKSSKoeKPwaxiugJhtLCiYrVLQmQIfSmXnDgqDGaFJzZZnuxrmmewSpKNaTAvRtpHBFpDiTmsglqeRuwPKLfdRfjyGessZttxHDAlxzWtFvmibwAKWGJdpRYOBrHbYxsHKDtPIyYDUwwfMRODXXOaCRfthHrmCpXVxEPYUjdrvqKZxZsoCklCJbJTWVHSeAgxjtwRHkwZeyzvteFAOpQmsIPSIELKgY", "c_map_string_9":"GdCBmSQjQbAYwTzYSznyjfXLeVGcuiiMouEGBJuZeDdsIBOVRDgqxySkVWygqtanDNnkZRhwxAhELheQgrUVHxtdKXwRdqJfotpJuiBoXPbjYxHecisYNLPzMGlhSjkWzANDVMqlxTUKtSUrGnWQiVjIDeSKvubeELZOHGYcLhHcwbLiNTuKHIfkMCWmtojRsRchwxeUTkvkEKWODGGUrcALjcNuwAXwIBydFiERTvjPFgPeTuavpCbNiGPdzIwNvYDFqqouoIGPefvkoYXojvZYXFFsnGfSQSMJNKmFUqfJYtpmJBFSMfjiZYMoHkcJBEuPnFTRDmHwKTZkARaNTYqccduNRbOpCUQzobuGojbuYvadpytwuPNarpxsMewcZJPYIEcoTFTkUTOdldPgNbOHBAdxxBGwScbzZvdkIAfNFMTUzvQhyKHYwOxVyktIolXiLUOOJMxdKZAaMaOvNyAYSETUgiehSLoYgNyQzQEpirVjwXsAnKaPbFhbViQN", "c_map_string_10":"tpUHPUZXOQTZyTRySIcXfzgIopqEuPLsFgcDldmxevxuiBVTCUZnbKgZykoCpMtAnnjKHukuXfvhBCWkyJcxxYkJIVHDeDnVvgzvJyyAsmoPDwOSsALZhQCdDRWZchwrLZrpEhtVCzQLcmmseNAcpTfNHbuPwfvtnGzjBjMuxxNRWXnObsHHulCDgZAwPuFZDaIQkVTRnkYPCccHrTTmxZvsUGISloiAiBnRgUqyrMNuQkjVWyrZzUTdYaPmTMrdEQBJDIaldHYqTfMKIyKzEGNdEplJqSlyVUaxkJQjlruWJwuVaMWimrxHHrHRNlQFwRUNtmseLLBMGFfHyNIYChxAEsNNgyAqZGPrzOLdHCLLtHIzfxvyPMQMoEJkeAWEFSGKHqkBBwNJjlUfVIhVDkkOhBfKPJObQuMYcaLvhJIAgZEfzOOdWCYsEbLSgkSgwQRygNHlcHuGjGvvjHpqlTDeZvNffAaKEYhiAUVeVuSiDnXnjiMChYRehVziUYhz"},"c_datetime":"2012-01-11 20:13:27","c_array_bigint":[-6033229952384580588, 3203933971634157792, -4737400333330531051, -1195715313340763892, -1633346045783833227, -1719646327171942701, 4442243831960833735, -5992655313131534519, -4829126614770433744, -2447442687290203344, 5255916218726019914, -2927275553513804007, 9148000313702725041, -5134752000228249727, -7364210332687418041, 6130340040276302296, 6912519172664318922, 299505596359380735, -6412840008953170764, 7938075106846905491, 206237676519572350, -3292447817604780828, -7655644944198915795, 8431643755625672524, 4377438857513426933],"c_array_string":["VwQazoeXBPldfdSjaYhWPsOgdImNutuNJdTePsBxIofuytnncBbmsDFcCqvNIDeRlvVNcotOOEOPXbTWlMkxtiYqyeeaHSkgtYTEWrwwwoYDRzFfDiiyaCZKQYbpWucAelrIjOSRXdOhHsglVCsMffYkzCCVvefQcTvrLaznYOSwmmGZWxADtSncowVFfqgLcJqEFzZRJOEMbQaLhHKnvXJxeVeXGEMsuTffTpKkwDPRrsgSwWJNWFEXFbTssJTEfFknMMsPvsNtBUmeiiVsJRvYapUQofRIdEotYHlqNQLeOLFbCQRGweUdUfajukkLNkvuDEXQtJrtmpcNOlFxZpejZPlJWdBuMZcooWJpVtLrRXQoDytwcxlqGqERZciEVypjpOQxssTGppigfSnRipehKzRAsDkfvPaszYSojySefdwNXjTUulVGZyFUsLsntnROVSYiyOYLAomcVkfUVLqoJDgNoOOxEBxvSFhDgluDkCeTwdMlYHNoGakQfWin", "gDdZuRZFMMtcucLdRtnITTSBYuTwdKFjpymTkLBuTNCwGhfhDLYcikosjnwgdkEwODVgmDhZiDFbKQIFRfCdRbkXPJkCKpGTDpEUIGqiVTEKIkiFjmRpCumSXgJSjafZJaIsgmLtCLEJyStBImxKMQAzDsjmOFmHsfeahiKJbkAcsADWIZeKHYybJPxZHeWGYeVKERXHWpaxYefhKAujInXvMvoqBEiYlustNKZzbmuMjPrCxkWTrTAvcntDYLZvckwlcyTzesZMrfgRAgZENLUogitTUvGyNqreZuFIXbYEvInWZaiTwSKIvywLtMlyjeibaPZREzSTRQFhOxHORJNpGvbxGIgxFrtcCDvDnlYzTkCuRyxsyQgHKaZylqbiJVJwValsFfbIUDjNiAXWokHGzHAqRdPhqjrcmihPsCeuhrWkTWafyzmtdHOGKDxVAiMNTZtjhQEJhVzApwjldPTzFWUDTYlSxDbqnQDQPvpqBZiVVQdenHWKYJCkxiNE", "HhcGKMnlwfhCWodOOGrFsSmyADKpHPVCPofOVZHJuItZriiWumSSZlzotLQisECqAeUDGQRgRlILMVboWPcvMldXqBqttuxgdjoNWHwdsnlkcjrUKlDoHtyxUDdFYvUAJuhzpoZxqunojCaHMAZfuvPykMFYZlcyoFoCkCTwPAKixEGScrADnHTMcPoqcqKRsSezILtJmLdGMxGboyPamgdFMPIHVyGaCPSVacyRWGIOYugVtICysOdsQcCjGJfREgFVgHwpfgNzqKbpWoTKNEVuJhZvChpHdnMWdZLOvEaqBKubiChuQmYAOyVHurwDukPTGRRzhhBouRCLGtNVcmoqbjFInRWvfpxICWZPukjeobvCOdDjGkPVsYzyfksmZbSOLUeyXzcsRhBgtFEXZOGcCukPXSPTgjzVuQTKJhDPstpDZaWrQADAtgBBMbtJIbEgsOSozlfcCtmEiEqsVisMKNGzNfgikCbzTCLFNXXUKclSnAPzrtnpDXWNnKUi", "YsVkZqNhUtaBHpuDRuRmmATmuCEUFqxkMnJvGRbtXuQBqqQBsfxURlFFkkzcouHGSgimWbJrSwsGlUbUFHsjbLCtHAhcfVNcYMbGhuxWUteBLGVpvjbnLYyVIJTsXfxWOxlkkyTGDojwWlekqFaLujEYJdHYvHCmxnuMJgtfKvSJWYkDbVQIqlVBvoKjzXPsQNMagnHtsfOoKiFCLzxEccSZFZxAmMIupaEZAGseWrpPOdZZypETtAydlsluoBLxUeaCvJEIXtnmumKwOyKPIDMxZYEoIvdFbLaHCmHCvlIrAgSgmBukAoWHaLobAicrODBUnhoWkXOJUBMsyiqVZjsCtXVrmjFWTdNcvSBfGRdLNHFLeuzpRhimBGoVfmWgJdheOhZkRsPqGjPVQhNPluLvvrFhpxteBepUEmjNYmZGruFlbAPbiMGSWomZkYSxRepKrZWpTqQOGbAMdXfFIMAizrHrmcDQfDIBvpRzjtPlqzldNccRBJMtGAhCFZAu", "FEsZjWqxQtxtIyrVfMdCdaiXevgJIHAOLZnJcfhzWhRbGvNmWGURrmRSJCDZUowHuRNJVSEWBiLepeIMZFbCnMMoEyLgvCriZtkQDyXTeZKonPEnwRmceUcrSmKKkqkttTsLbvlZaChPthBzJTbhYoLAmPUnUwubGCqpiFOYMEmiOUmctlgmOQBXlCbeiQYdguYECLVzmearSDzSQZOAhNKErNGnnwgNSdhXVtCBdOHRKdBzpeMbJuiVyWnShUitQPWcYFhEFLYvpDuLTXKYtIbAYfQYsGYphZnBLMzkuzlSDHfLpYVfqQlyKXDKeOrbPjRckGOWroWHfDOafpvqXYKVjlixRoYavmeaZsTVSrFiXdPNgoRarFXFGlaiZzuzNeVPIPwQjNYNexytbfBPZljLKBlZagJnyDAsSqMhniDEQtUpwBedmUYZygEpitohFCbiKxGjJSuPKpdRjOmjtgJwzxrIRSienikWkgHbaFTGugunApylxaTqSfkmmkhv", "cyvcCgZzNSLMhCwIfgLIWZZesraiVIeQIusyhUpWNplcsoOZTbuRBbilKKYouumiaUIDaDYLtoGgnCtJkvzeINBawQFfcRbhqRlEdLutwlzQowzNxxeSAgTdtIEPUroieemwBAdgbdjAHeagZONeLkTIMyGFCPlorAkrfWpvUEvTEDPTqRiJCxapUEQQWBfnbxLjqFeSILmwSLrOrwVCaeIZjgNrSDQenWdlUpIqhDZEIAfRzQSUjyiiLjvGGiNkYrPowqlMIYYSntebQaBtYEVzOIKFklwJOwFSplgBOyMeYdCCfoaheWWlRDJAkKDOpxSiOZlNcTXAdQPTPNNuNEzbzylkubmVoWyIEKSuncmdbsIfzZYxBmloTadUTOjJyMxJhRVcpRmhBPorJVOqUrHEuQATJIPRqenIQyKCBvVdGpFCIQQQQGBeFzTtXNgKGPlSCYKhhPxznRRgVhPnomlLmQDNNnASjadZcskeDOfBwliWDDXHeHyyEgYjLmoo", "LQtlNbhlotUIwDwyUISDGPPPuLrWdYYBETgYtcsOTHPyZLBliijYFTmZYpOPMPReDwfENzIaTeRCtnCoYUkcOLMlFtpKhkydREvrWwXiMryVIjEvEbZtnaDeCOftOugrykzkcHovdmWnCmaPyndSwEQLRnlvGqPtZuTAABTzBpTZounTzQJLzGzBhxlYlTXOuEvaNXJDJJYlSCpZnBzhtleDxlZKxGflbIEiTLKLvBfWcFGyPPvaQPtuvLcfrYOXKkthmnWrOgddPtPnbQmCPhEdNVPPyrOiABtZYATdwUZkBWaIMmBUvhepNXcCCpEhcPuPWiGiOcCcCuEdlbApNVSRkpUVCYDLiKMDKbHHKKbszSTbbduPQEMzZHSLvZuMuwVrLLuHAtxCbxJSUDATbSVUOwCiWrocOeNFNapsYbGyEGfDlkTWwEeFmHGHkjjtYZFQCWuFIIAImdqNwRurSObqBwtZrKYYKPHBiWVosSyJGBFNRzOJUsqGQdnVuqLv", "ZocXiNoGawNsoyBsfVKtPumXayOoMohYFyRebWHFpyvdjBkLYGmDVStcCzcEYFfpyHEsrTlkyoOEoyjoGFxuHrtOrGIlgnlpPDFhnkhptvVEEViaiMZxhRxIgptjwtXVxieEWjQhbaIOFASuRxyAGduZBttsJbPxRWEfnCgAsaevTrjXgkGaUgrnBYmdtjPcwNKBkNNaUBdDBBzkKhAETOkYrgJlGnejJaUwjqTxyTogcxsYdWWXroRtAKSXUeRWknRJpUOsMUIrFtZsatWdYkNxwBbqPJuTFvjahOByNlizLoJntcLruWejuxkUQlHlwSEUQKHcWSBfZbZHWVqpvXBGRaOZUpMSUDBasVtxBbVlADoLMLedbZqYgFLOwyiTViWDrZbdbYgbDYclLnCNLKXWOOgwKBubsOvVGQMNPMItFmetXJGuBviBQqYRHpdrGAtzrPYDANPmPlBHrMnaQPQDhjOPYaxsaxrVIPwdBFvtkxoTRhXboCPLfwwSwVBq", "SplxNpcMCHtRvcgTxAzvBayLPimwBnqRqTZwRMFpRaADFylHjkhFFXEhNPaJhjpnlehRbEelDMqjFZwvXcYONfLAmZHAoxEswUnAUXqfgTHIjTNJJPNoRLORkuwieFObcvjuUXbrkdAnyslNuBsOZKiqcbWcIoQZKxYvixQcfJWXvqOSTwZgAiWdAzSzPGuAAoUOpNMREahSXjjsswxONvvFvBWZWqtCcivnVXLEXQsVXdFptBPPxgpIAFTIQLtMALgXoOZnhBdhJhpLawbpPIXLsxmdDLKHfgHymzVmmeEBCQxEojpIhDZMkUmMJOfgcnQIDnohKNPPNktiWZYDcWDsTGuEkTUfwRteYGIfNUGTQnblwEcTwjtqNgcDIvymuGqgQKneWyupBVEfhFtgOzEHRYviVatMDnlivCPgFmhAjibdiUosFsHrmhJSNFWSxNlVfFXHDCkBXTvVbAyzdfJjLwtxARkjgYDarawYbaUeaaqqspqbilhFWcNdCOwU", "YIXlAxiSGylVsPBVDoqubqweEyAhDGUQAjPUiKIoOkQZrQEeKwGEnozjxbTdtIXnXQXzVzxIHQsExjdsePWpNYCxSIAKohqYIUnXmKlsKHiXIfCsBFAISYPLrPvbvTQmrmNCMtTsZDaaUFZCSYmJUxDtfcYLLUUFksBKehpodWyfFrWmOLJVaIaGovQBViQJuvqbfvZzAAEMlDWbIURWxqThnlpgdygmuUGCtXClMoTDrkwMLRETMuoBgpOSRXrKKkxPMXOtGfOiQqXVZcjnsfWSAOQcpanmGsHvRYiNCWfWzxDevDNWMkiETHDUXFRaxqlsCoVyFDtENiVgPtHSjzUKDkRAAXMKKvbuTUfKugaOBBeVryPqfDTxYBcCLSWRTWUgZQPvgARafiRFudTBQIywOydBMiZoEQSXkeaRlyPiXzgghMDCuRexkEcuccUYwMWDoRlaHBZGXcgrYzISkLtLuOPhbfJIEcHoKykcvvfxBALVGuqZEEOslcOvwGKh", "yEkPSzogWvtnhQeYmfGJxkYTuhVnCRYXCZmwLkGuwpNhqbEihFtjZpDubqAFnFsBoDWCxvoixslCmENbapXvlBHLvVgTciRLqVQQMRxvsjbJlOzZUtgRdxbdVSYdJKjbigdsLeqAZigZcAgAtrGSqdIRjTWoYVRsvQcairWEbridsejDlFJUYuYKPoOjHDviIJcubhBdeGsMdgFpYCCDPjzPOmPGqSBIUjPqiKdDjfXIqvWIYiRTmEGazqYRkCdukHptNEKNmXkCmZQFSHdfarUaIvwYnTvZTcZPvqKdoDbUXxFrvsfuJvqDsSNxXrGWeBIfSZstdMyNRZpPMcIIykETjunJYzLUptCmKYAxyKJoCygsUdrNSraIwcTIJbkDyIUQYFSKqQFScZPTxguVVntOgKzYNaxlFjOvDerkoncLqAMYhOLfNIGFVhAdaICZFekUXAwLUJamTAapZnqAOxNVmRZAheUireuaSkQANOtiXRIvGibQqubTtAAdgnwR", "CdjxhDgoWktWRjefPUGJZCJGUenpKEiaIFmnvQjqDElJHKVbfryucSllOwqYcndNtpihcAhEqgIHasdDOQRAiBdsSqnKFLlIcsKFuaIKPgCWKXralQRfUcOGLTIYUcaaeqrkuyBTWowSGmwmLvyvDhePrmYOjrvdkwRHcYIKBCdfUmcaGFeBqGeYMHMUuZuGfgSCpuCWGaZqZbOsWaCVzrysiXKsOlnvzgfAFwmqLBqnGFeIlSximTqVafJPriSSqOwmmmckGOZiwMSPhXWLEwXryrXQgXwCAOvceemjLpnGWwEIpSpABdnCaLYPkLLltfajhiZLAqXDDVkWpuZHmresNAqiBmxtzsbIBVRUDLdhzFRIwtqileJMgmruDQgJdmLEqondXQsbqIIeTUxwQVoMXuywwyzdxnGPwHFqcFOLVzXdCZNnFOLERXUQTutdQHIIWaYUkeJvekiuvYxezASjsnBwhcMwnfVdpGUJaadeKrZNRXBoASyGXsPTcgAR", "OkRCCveHsFvPPWajNQFcgbmgiYcGTNsWbUQPXOCoxUeZnNUObCSjTcUbrZDKDgNlearIbIbShFeKRZGLxmKMSxkhMpgeQVXgGGlzlElQLyBGQWWjyZfnlJEzTLjvSYMkshzVBQGAqodnSfLDtkyAIYmTTGWwRbDfCbdFbUbFuisvLkgZexrfGluAORjPMoYsVgCEZkKTROerflCMaoucsOqxgtKmhQrYpiaEjRXiGKLLWRmreeeMKHUSOEtgqmxjLkTiaJMWNMUIjuQqcUPTmpALWtHaFykPMCqxTzjxnkweFuqHDhDsjTFsctdaviJjrCAanwUMeswJLFsQxeOqkPpNLZYIoomlQvwKaYOaSjPoZZjVftNIOMdMZPHngGjOPQXqdhxrbSRHWnQBtsXfsljvXCejYGFMHIVywTBtvMtqGSqEfNOiMvwolkmubMROdiqOqVUuoCvMPWfbhPTzlZwZquNsFIqcLRPAEAoSGTyQvNlhPtUVnVeFjtrHtRsY", "FhPpdpKFkkoUIqKrnoLNAThtdfYBsOlcsUaIWwUQpiqfVpvUIaHWEQoaMIxgVYAtLakSQLLWkEAVqIMfcbIzQzhalUHaGFGzTPauFZUeRCkjZHtzHPomCePdbWEJFpVnDeSMYbDhKLwmtWwJycPPisfhvCuOmEqJpztphOHPpgCqOvbktoGMdzadtrmfcaSpuvaBUgdsGlarzmzMJDsvbouoZeSbwpjGmFlLifkTnzaDktAKDqwfxxvostRKlFxCXoCEuVSMnGYsXcZgDoEoilqIoKBAutXSkzVukDSZqejeAYnSOcJILksklkoSynysjmgbePOjjUelXfSvDWrXsFhmIcAaapiFlIWAVFZPAaSkzrqjzGNqoXYXfMkEPMETgeWvXiJlpSxaGSlcGHEkLuzIMqeyRhqdYKmRppzHfCubUYEuujcOlpDVMJcCwhhsBiedekSmJFHfxZotIWQUXnxtWztCgDgWHntrCFcANFoUitTIAWurvgQzUJinYugu", "yyFxGDnUEGTkuExLdHhjiuabZGukbwSOLgnAEXvNPQHHWEPObCVXkwFisJZrHeXvPFvDQnAkGANcfvvdQSdVCwDzYlxtnepOFZGYZgTvaBGdaAbeNWFAvTWCOsbKBsXlwIntvkNiGJMAWFUnJiLFLsCxCIiQPPWIRpbyTIaQBxyANgSpDRLDvcBZTsDTenvhLLbKYJlmGBvHbvQnrjLGVBzwsMlbZwnzGdTnmwHYMEVZzXDNUvjgcixGGIDrtMQDZDzQWwYHMMCeEhasiwQqMTjVqhUIoVBwMuoqVksvriPGOcHwqhbrvUCsGBfjKUfCDkMrYFxLgtCiNdTjuRfiLALAqrQSYAzdxNcmkDcKOSEAwrrJQaEXmMgNWUnnRzYysmsvCMEjikeXsqCZqECGSRnqwZUalULUoweFCTEmhHaOHgTEUKfnIslXUHuHEmWjqCLerHjOspflMHnjEhRegbppWfYLqSrmhPIfkpKXUVGgSCYxdQZJzfAQZXPqZFbD", "TNdPwtwrgiPEJWQiGtuRBYsUEdZigPKUfVFtfTdrpaklhICScxkBEVHXQoaJjCdOtbZvgSFbEJobIDUpKcpvGCKBkgTGbKgQQMJdtohZwhwcWGtQTPiGBbshqzGnrKzSxGCYpIKZoOjsBndKTIJFUEQphwjNbXmDuuvjjTkXdYxakicaNAbneTokMHHDHhxPpfcJlQgzrmuMCUPSfxdQAeInsXCyVhcUxoAgWpZEUhrQOjvcPNCFfxssibhhCrYzbmQOjpISaZKFxrLLgXEjVlwxEjinptlvXKSqRDfZjDSdzrMTZRsmtbTacPysHJFLFlEQlpNcHillccTdKntxMzjRFCCzJyAcJAZYjqnvDBDlMYigeDHayygeWaOjuIJtcloxjDMVvBeihjKFmfJDkIDWiYVxyUgxJVyUtaLXMOthYyuiDkAuBViMvGBJbinUSdmIUBlgyPoEEXnrIZuccbGrJDBuXwowVEuTBtwudnYjQDOJgcaIYAUUneYtLVut", "MxmNSITCpSJVnxicyKZCNtkdijnzggimTzLoAyyIOTYCPHXQFSYTNQsLSOFBtUqBBtJIQqZAdetWlloamHvWqezZMnfwmnXHEqwEaBNaeRipXUGBbRwQQCxmAyleOEOTAIIheaUdkEvRYCcjfYOtPlFpNrYIuiFiWCYlnIKYiehuXWAlqfKwUoekqCJPUmtQvUfhvwwIyxQZFzULyIZmDCnpHYfUVuAahIkTuCbZwdpqMChsPjhCfyubdQaXDMqUUBISaevrrlcaCaYFzuKYgDTjUDmeuXzZNLjHTmmOuSRqqLfhsCThGtNGWEmaFNMPfduvHIWIEwJxvkAcDUnpRCcuHQfotfotUSgXOMbjfQWKTNpwtOZStdRyOZpYUwqRNOWLDcwEabhpOblKwKGrQgUTWspVhvqItQkLMYkjvioXGPcBFsnrTkFzBnVMekaXIequoZFTNWNXuapHXJfigQaypSgMAvBlbjZIrEZkaJqiKLEmdzCeulYHpqyxRBpV", "zCgfaQvPRtiPkOrESqWorObXOtCoqVVHxihvDVQYzzmAxbrUDgrSchWxUZwZJMxHGRNrDxKRIOVahtjHfcHspbdeBsNfIoMANuGXoiKIWkMJVWPDdVcMBekmfbuXLmSJsbFFLeyTMxpoFksptoUKhAJAkFwcwoPGglQAWYjbYQBpkPALQYhVFFCLhnyRJoZkZlILoNRZsKOJtMiobZPelAOhCBWlliZWwDrfktIFVrBklKJMVwEHIXSRLbMRKEsulCYmMDTCsrikheEFoFWEeJqUWTutDOqCDKxARXUVfAwjkLHZBypDYTFCmxHjffcvlkxldZGRkgzGwmfCkprdpWxhXOnULyxXVXeAXbHCoqUkjCkbOqqBndtBWPWceQxkHBMQbIJbvhdbBKzuLfmkQQJzOoPEDLZpHZNzrLauJikMxSUiecqmtQXukdTFNeJzFAoLXuOIAKMIouzdFdDnWRWzDxQpeNqDsspsCZAoToLukMpPGPfaNPecTbfgvIQw", "LCAFxgtYJArTGvVWdxYDRbwStzgTAKoYboSMGYYmQBvuTMTlxhehJCkDJHIQjggINWqkmdqdDPjfISLGtEsCrxqtKilnsWxQyiFIsHqfrWKzuflhrxiylCWkydRBdtTXkjxiiuOtVSFpsmuDeNvxzUiznytEDpTCVOTrTQxqMNIaIQkortXQqWcCTWvXPZdkLsAvGyXufOpGndDiITBBaWXoanVBNmMEEjmdurJphQRaSDqhoclegvIGADoPREhPtaJNcHPMDiOQtmsSOQSiCKGFoOdkfVDdGJUgDmbriVHixemhwffaRHVqLWymrbBNGqMFXjSIHwUsHCxadvbuOsabKkAHGOzgJZXwDEWoOgYUOddWhJYxBUrLbsvzxuCRJuqUkMkHdMhngiRkeGTDsTUlamAOaVRgPkXqSkZBeGDpcGrIExWkqKtffRMUsGIEdIQlXjIOXYHDrdbtdUhGLKBUrtDQZDmtgrhmNYwrPFdugbgXJcQcSSMgmMbocmbK", "njNWhbJPKGsJvNvIdavutXaRRvbwrRAICMUUdypQSTqdzNEeqbGbhZrvwAqBUeQeJmWZOVMnuMOLwfpjEoDSCKwwVsnWhaROFkaqohaqzzAWtrGQahXeWsjhuvnHYFqXrcGiZoIgkiicZmPgIDulpzxRUlSUMVvmpkpHzdvyrUbAalMHBHSTYawsRAmdkDtGQyuyVWdfaoVbKYUWYhEFapqZvvxboDXrKregftDekeRwnxytXCnnEOAPXKFSJENgCBmZBRXiNILkmgJTkLFbYODTYykCdEKHEqdYyHbIKdoEBcgmHwLWgHtSBeoUmTSwPgkpGNBMbdDtNabFLGSCkiibkIFegDAMCBsGQVnsdSrAAbzXqKKlCXYqMsJtCCsdAGPQIBrmXJlRMrStPFqVdFUmGYETESowlvbTfleHPbAQbEDuErWilsxjlCCsTRaoBTijIHncRnUolVxfbKVXcNHfqDtZByiCvjNBEinAFJTWZTLXDAfmUvJOnOFVIOoY", "UTQIPzemxmBCQzYupzjHFsOvmYaBTuiznNluNNOaKlLmCYiesMBUbitJLWuYlahiSfnPrZwBSAZvqNiVwiBgaxaARQCAoAeUxHxMtuHvbcelJqouPvEmAHScKstbyVnOEXqboPzlyTFDDFeLnzOwKUFrgvAJrXCHAHzIrHCEBuNKaZDBgQpdUphrwounZTINxirHBXNBzSmFOrRDntmXFPGByNEXBzukGzOPCZmxPKtjgJQuTyuYkEJrTYskmehubfPIRHbqwBCBpdLJsvIHmBdSGxXNAUhSoayQMLqppRqiHjHlhhZiAjyBilyAYHrdcMPznNZosfapmAiNDxRKuRqlKzuRbhThleAQsZjDNLkqaaGFAplzftNUOHCAVCuQBzuRsgdQaOrixqACZWpkqBWwrOcMrPxbSzmRUnxSVUfOWJAJBmoXkhnDPpUKnIFLpLhqvwXJIBcRtAwhVfzewTMNKNaXOmVjsfrDfgEkBAEZKuBKaxYOieewwwDKrkcu", "kxvViddCGYhIerYcMebsYWJLPznbGGGgXJPAXgiEHyEYEFUCnmngOhLJJYuhafbsnifhmjGbWFDoioCEZIqYbSjnNqsqZcXjbHmKHhkdpGXpCoHHZyCghxcxsYzligobiUlAVOiuDPjTlzbwHTKbzTrKfSKlkIrZZgWTsTNhqDKUVRGYVvYdBXKwjoxUhyjQNCoywhnQiHBBCmzjsiNXMDtZXHyctYBbeRsSvpwphMyKSQbbXmOaCnWfzAEyODhlXFEQdVdHWTmqXGWJPyALxEtXJUEebDdsJTxWllgPrFpvnXiXQBJinCUefigprZIKazWgKjbJeUhMKvfvUjmNTWuGdkXruiosYrfoVKoJCTMDItFjCrCawVKMzMHsMRkAZFDcpFHfsrSNObuClFXcLebdECSJCyquDxUxmJFKXPpsqsGTTLRIldJzUhuwKWBaNjkibJmzoPhsHeuOKdARYeCqUHYNPWDZNMpINYjKpNjbDivYLEImobqLOtSSCxxw", "ANVfDLljfDvzrVmzxdKRsqAMfWJcqDOKgzvTQojeaEfbUwqYXLHzsEStffYIKGImVTTLQeFHGutInQRjufvGvFjjuXOkVdiCptUfmpOJIGBrMQhFngCUewNZlyOsFTrmvUflhqdPmrOjynrFGqdHJIsRfovIjFotRZEFAbBvsqGFAtPrtRDbQeGsQubSFWBeFNolfyVvuOedhLtRytJSSSCGQepXnNxmuVAVyqzibnpxQDezVVhCnPooGTEsnLDVMKEjWGTcyYTDUGegBQyJlhdQJFqCASfczGgjHECMEABOYcsnaUyXZzFSdLCxaFLyNrMJNrFKbTiRjxilMLretFsrrAkDBjmECUHcVEKJrzTfyuRFXfHsnmVgSkkqyqRCrWwiwEifgkxhACvsUSKyXtisTutrYfQWyAwTrnZPVVensbCOKJLXQZruGJMcSwlurPwLbgitsVtnvCSunUgqhQuNiXrMYKqgFUaXrJuNmFUpKpjlQNibRmNEjgofsAJr", "haHEgpWidWfMgRjjbbxfIkeEqlDqNfCIzocaOUJmSfufTKvDNvALCMAfkdFjynnuZTtEkkrmiJGnzRSjPjGzQRkANHjIfBVYetdJGwfXVzVGZnVmFYkbxjazMwAPHTzgmJCRfDjSGUtLRjpZyaVwgfmyupxKbWacTTlyjwtdTZrFOhQEvpCdADMREFpEnqocAnvBbLBusEeTaciKCfuxLtPdVnmBSlfcSXwNSsZglcsopwFKVnqilSxjaszwkcGtxkiuMZXSprDhnSehpFqTBfxiygFMiaZHSyGWgOSmEPAfyaUmjWzpgbVNFGLZNzqXZNmCPDHURtjzfmaGfQwzBZViHIewgETjigSCjWJGpspDDiIeeUbCuUvVozUXIxNBnjrnmBGDJpfQUyAsICyNQxUvoqyzNHAVuxGmqeHvDuQGldRrXOvWqZFgVQkVTGsXLDQjEIpcAtArIsyQQHnUUgHJmgaJKAmpfRoALMqUlJrTDigpLapHExkyvkRTFUja", "kxYaPJWMUAklVxCiRMZhEpsFxXMSNAYMGkOmLjlfQDzeLympHTDAiKwuqDUydylImPVZSWzrNiaHASkursHccdsPxdTUJVMNBeyqQGEpWIoBVArIoiwzCBJWNbRLmdHnXvucCmIYxKVAhEeFpfrybubLvzrHbaiKdUMqUVyGjGEaRzGjzbxfRILRHwXyxJjQmKytPnvPhcZlcXINLVCSrsbPHEzNoJosmqIRGWAqcynVYVRLRuIFiEzCtKPFwPxbwbPPMWinUgsnkBVDKmgImMRbYzVAaXIQdbyMHJZfnOPsmVOsVPvyHsbGDVzhHThOgqoZrhQyfOYgWlLvaZQMdSOTPiqqTrNmLeLuVWSbVGVdiDRTruUdQmUFVYXjRYxpeHiRoOSnDLzYkoRxkQnbHlTTjOzJusagWDgABheKgOlheNjNjrKbCuqTgTsqVOFtVgdwcjfOZljXDpDezGTERbMKtHpkCnWhwjkAfzsaewwWpRrhKboXgwiIUhiSfXUO"],"c_map_int":{"c_map_int_1":-859597706, "c_map_int_2":2015861749, "c_map_int_3":-1446376324, "c_map_int_4":2004540628, "c_map_int_5":317479976, "c_map_int_6":2081272076, "c_map_int_7":2051345730, "c_map_int_8":-1424252818, "c_map_int_9":650840521, "c_map_int_10":493480459},"c_map_ipv6":{"c_map_ipv6_1":"52b8:f077:cb15:198a:6dfa:2ede:8a7f:1bd8", "c_map_ipv6_2":"215e:5e2:bc92:a1a6:1be9:2ae7:fa06:8655", "c_map_ipv6_3":"f995:a31e:3c6a:ad13:d26f:4fc3:e349:193c", "c_map_ipv6_4":"4e81:c335:3744:6e96:6752:549c:d9a4:29f7", "c_map_ipv6_5":"5b8c:ad1a:d2cc:9437:3d9:c540:83e0:eea6", "c_map_ipv6_6":"b26a:eb5f:97bc:7d9f:f7c0:7e2f:a7b5:5d56", "c_map_ipv6_7":"e900:3de9:d630:d6d7:90ff:6b9:fea5:db57", "c_map_ipv6_8":"bc51:c06d:3d88:6196:2c6:7bf4:806:88be", "c_map_ipv6_9":"63ee:73dd:b268:a0a3:8dee:c217:a70a:d160", "c_map_ipv6_10":"fef:d2e7:a8fb:9321:b0fe:c82f:a63c:ffee"},"c_array_int":[-115451351, 32785221, 2121135897, 2137322627, 750472929, 558246548, -989265928, -1913198052, -1168366645, 918933678, 969614580, 1731605296, 1063090832, 53017148, 120450630, 833009043, -1017422133, 569542312, -1805769953, 1531920417, -1061482405, -1150197684, 186623658, -1644586356, 273414207],"c_array_datetime":["2004-02-19 03:46:53", "2012-09-26 11:08:33", "2019-02-24 04:27:26", "2006-03-25 14:55:39", "2011-12-19 23:46:20", "2009-02-19 10:58:31", "2007-04-28 00:22:39", "2001-02-18 11:56:03", "2019-09-18 18:30:35", "2015-05-02 17:31:12", "2014-09-23 04:28:05", "2006-08-07 04:53:49", "2016-02-20 12:11:16", "2001-06-01 04:17:08", "2000-04-28 13:09:45", "2000-10-26 05:33:18", "2005-12-22 01:30:02", "2019-04-24 02:38:47", "2005-08-18 10:02:22", "2001-05-15 06:02:38", "2001-11-26 00:06:07", "2015-01-13 04:56:31", "2005-10-05 08:46:49", "2003-08-13 22:29:43", "2015-03-11 00:58:00"],"c_map_bigint":{"c_map_bigint_1":4519043776512820635, "c_map_bigint_2":3741087450159225260, "c_map_bigint_3":8223275423877291263, "c_map_bigint_4":-3212839619292880818, "c_map_bigint_5":-6260162084159628829, "c_map_bigint_6":-3514838846131153102, "c_map_bigint_7":-7574106081354927886, "c_map_bigint_8":-403709481148898260, "c_map_bigint_9":1000202704099025259, "c_map_bigint_10":8163448329301405438},"c_map_char":{"c_map_char_1":"gFWVgGYnzy", "c_map_char_2":"FJtuhIzWXI", "c_map_char_3":"tiFpBINyYN", "c_map_char_4":"bDGFITctil", "c_map_char_5":"BiwBhaEbrS", "c_map_char_6":"ybaqsIiCsT", "c_map_char_7":"oaJNRqAUKU", "c_map_char_8":"FUCuLTzfcf", "c_map_char_9":"GBKIAKAqBk", "c_map_char_10":"UQQKQwigIn"},"c_map_varchar":{"c_map_varchar_1":"SmhLLsaesLePiNRvQESNdrWUxhRAWKzTuNeQEtszaXiUHYneqrUgcmzEYzxNzpmiskCoxMoPfaVYhgzzYXwNKPFPMjLfCTKmPDNRSEQvItdZhIrkAQoxQCMHMQNRpBsiSAvFfMnGTwCfSNmsCrLvuYQoKOhmqOOZmLUGYkfSiwlSCfrhkBZyDqxqapoHxoKoBGRDeYRXAybGzNjHatbEssbQwcxblpbQWTXisdSTmLpwclLMOuHhnKGXlhAMiFPo", "c_map_varchar_2":"KMsQVCarHubcmcNkobPoPdNLzUmawNtgJkMupOZeSMFfdmECnhhNyIlVgIuqFXGREsfxHUGeImCsljBkHBkubVKemquwIcLrRWwzLKFPBfyrySqBoNtaHGjyFEDYczZBByKFYjTJwqlUAfhvOczKeDWLUjUgcVTmvjvBvUeBqELGJsDFVoaZopeGxGdjKstgAybAhUSlOWJehRrhSZiSMCrpBSCvTRwkLfVoQCKTEDagTHuxiPSFAbxNfPsadkxL", "c_map_varchar_3":"GsFbOOdNebVhbgFIlAkQxjegfOGGHfowyruEaIQVRPDjudVeVRKptxFOFtkbKIjNxOnxnrSxzqfdAEoEhVsDlTSXfgXQyjWeEZQbPqTfpnREsKXGSBhJkUnHULWeSVncBONmxmOpeKvNaGxrEOaqUlfutHyIwYHjkrimXorrYAmGXFIIZKDXDUYgQhkFSGAcpLlDztQECUyNQnsAxygUVnaacNEFtYLVQvuajanhEeBHfqYAOyNOHCMOKkSQoIpT", "c_map_varchar_4":"pdWthLzGbBKOinOmoGfxljJuNGYdplfKryfVrVtnhKnPlPAWSzUMnJirvHudLrIEncBJQJsjjxCOehqJfkuKYTbpALFUeePvioNgNxswsqYjiSZmCpBHbaLmZbHzhvZlOBpTBBhLQEHPZVDiLpXPNBObtUZCSwuNQCQVFcEdYlDHebDTLofsTpaCDVdJjboFcrlWHLsCrPTMiIcVvpSeFbzbakbsdQVHpiLrgXJEPDRJxhyNyLdUJOQjCblPRshg", "c_map_varchar_5":"NPGeFjjreYSeFfveVEieBfyMUlnnWILRKYlTOHKjfRprgMiGUtDkQnINNjyOTZqgBJzmrdHkwdwvEPUXDEVQEOcRsjlfMBBnNyUeyEkvfLVFSURcoYPmIpRBWcjgeuyZiSPcSBXUBfpCxcaPVPTGVbcmbKdIkZByCbaqSsjAUtevYQfCbemUkaQLBNRdIPlGUSaevJZZCTqHYlsRIWeYfZmhvedlEAfgbAYiUvKaxULJNqGDqyFruvCWxAKfKgGq", "c_map_varchar_6":"EYWLVfhkANWVTMHmrBzyDNMTtHLvnBLvbVxugbuFnndvKIagQGgDJiGpulFGwYlLFMJZPKhCTuWRHMPIEKHFrnPiSZQyvBnXBRMgCXgyjELOqxneErBYkbnUMyoiShijTUrihktoOkmvqanryTPQQlXriYxxEEtfTqoMwKijLsybZiJrmNVYdDVzlPhcfjsGntrYVZNdgLbrRKjRpdTZnRoxqRsXweDybfCEBVRiqTwfjawAXGaMsGBYNdjAsmKC", "c_map_varchar_7":"HCMZlvsehsZgzZtTqqcOqQzmFwfxoStVtWXjYgwZRcBiDZCtBjzCAHDIkgagyAiUHsrFVottQXXxMIWOizncvAHCRjpHjSCZefaSbzSVwzIzfejPeqduffQFTybwVehHjDBsEFUSwsxSmxRVCNirYiFSjzCBQMXJnoGEmWTrLoUfJhLHQiZrWSIbZzWJckMieVSExAHKSQyfwIZwsxOStChDZsPFQAaloVzYasjktUtfArCbxCihqpiShnmuCtSz", "c_map_varchar_8":"HZfYpAlVrhXepcRbqCxzkdvlOFxXqDHaFMGpYpOoXrkgJWBsHzCUsJztNxhVxHhzOnZjvnZSJEULyfKMSfjYVnCHoaeyBmBkkBqUEwwuSoxfcBIUatvUYcDmlmEuFQjUORHFEXGSoEZnyWssfKjCUbEDxMlokduySoXklHtNiGESIyHgvtjyZtldtfPrtbXLADoiXyYKoGmFnBWpeDidXfDVfPYGieOhTMQwaZtRATeWmEPLRrRRwjVcotSLnqtB", "c_map_varchar_9":"jADagWIwXwdkfBTinHOXBbGpSpiphqMzFakEUFGhcqUuKGoManXdCqWFxxzsADLqwWbYEpnxTDFmyZJkqBhGqZeGYmZFmLJqMcMTafFjdNkdtCaxpndovLfKjXVPLalqBLZNKKuErVTkOVXmMiKhBqJRMkwwHDRNHXxrFNbvDSAqQgReQHcoJQadQopwOdYiTEBZfoerNjXYueVtjBGtpOqmxaMULxfIsNNRpzLnZhKRMHNrCkueVPBaSnEdgoVy", "c_map_varchar_10":"KaFUPFHbyGBXadSKNLVSmbvSjliWNopBHSTtvvEJFvGzMllSmXyFCgAPiwQPyQfGWvNdEPAgZKOfKQLqitbxVKCKJnvOeprkfezfQVDyOQrQxBJSDmVHGfdztLsQIEisNqxuJHFojodfEfeYfsSVfHZZzkDeKxQlQuwwDejBLSWyGXQnawNnmHrNDZmwjkOBRLumxzrJsSmLGKirlpJyHQJwxiDoHcdtATwpPaNoJdbnQSuJakkdxKawLGzoXMWv"},"c_map_datetime":{"c_map_datetime_1":"2013-08-21 23:41:35", "c_map_datetime_2":"2013-01-17 01:10:58", "c_map_datetime_3":"2009-04-13 18:49:26", "c_map_datetime_4":"2002-01-24 09:33:22", "c_map_datetime_5":"2001-12-26 03:02:30", "c_map_datetime_6":"2019-09-06 17:41:44", "c_map_datetime_7":"2019-03-22 01:01:26", "c_map_datetime_8":"2008-05-01 21:51:50", "c_map_datetime_9":"2019-03-14 21:42:19", "c_map_datetime_10":"2018-02-07 21:54:20"},"c_ipv4":"76.19.192.179","c_array_float":[60.137318, 52.63244, 43.578815, 87.28829, 84.972305, 36.873127, 0.91812605, 31.538506, 62.739803, 63.601334, 95.462654, 27.402697, 13.9580145, 98.49117, 40.662117, 65.83155, 3.7758906, 32.150444, 95.38663, 51.843243, 85.689095, 81.3755, 14.08183, 95.5049, 51.16667],"c_map_largeint":{"c_map_largeint_1":-6840205807659642338, "c_map_largeint_2":-8358490335307577430, "c_map_largeint_3":5483211855172734294, "c_map_largeint_4":-6430691561467816601, "c_map_largeint_5":4508388942521992775, "c_map_largeint_6":-2014739359177411679, "c_map_largeint_7":-3067375914508675605, "c_map_largeint_8":-5142776075369357421, "c_map_largeint_9":5584911824696751258, "c_map_largeint_10":3046692009040904430},"c_decimal":5.0177,"c_string":"SHRTAFIvFVAuaemOILELqNaYuUWNJlsGuoUkWOylvrnQyKsEkInibXajDSqpMosdHauttGkSxvnNLbpYmxBJHZEjQWpGOiTgaHAcCdkcjvRjLtKOBvjqtDgouBLBsWlOOxdkeGlXfYSHquBARjXGsXJMaHydFUAzoXQUKKTQWoqyaDkGWdHKgetmoTDOEnkbYjPDXzbZBFIFSRiMIMiICYTLLVHxOSMDIUavMEJcIZrjdSrEYjFOhwhGGpfsGQzCVALVnHQpdsmLSxQINoJyFyYORCdehEGwypLxkSmGvyaplnzlfUJVPOvWklErQrQOLyYwtlFdkTtXDCHuCoxifeoFieohhbjJXaCpappXKpJjAiWuUcmavEGiQcEJbpgSvRolXRwHhwAJAdsvpLgcWzCMuFyVzzUGOTgKTEKkRGJTvuOFEPoMOqrgGWbfYRsFrHjDjWRFsXyTDHucAbYjGicAvoUKOinmCmYZjekBfZMYbNJwonpcwsGZbDVdvCFm","c_array_date":["2018-02-05", "2018-12-06", "2011-09-20", "2003-02-21", "2017-09-03", "2014-08-13", "2016-07-02", "2004-07-25", "2013-07-02", "2002-10-18", "2012-11-09", "2003-01-09", "2018-05-05", "2001-04-11", "2012-02-18", "2005-06-11", "2005-08-08", "2015-09-09", "2007-07-23", "2017-11-22", "2003-10-15", "2003-06-13", "2003-05-10", "2004-04-06", "2013-11-18"],"c_array_ipv4":["TJQbCnCaas", "SpOKqchibf", "sSTrPeTLPf", "eOfRQjDUfh", "isqzzKDteh", "WgAKPAXLps", "OssAYVuinv", "nqconpKRsI", "sxfDyOhFCy", "LtwKeeJUrU", "clxcJRKAcT", "AHXaIobeke", "jfTDuJILhf", "DlpFiTlJax", "abKEbXycHi", "TtMAGQRKQy", "fOiVPRvELo", "wRYVmvwmYU", "rLZnXnJAky", "xRHERwpDgm", "EZUJBMtTKj", "tjbEghHKvI", "uLpoGRutLV", "paLRwbUQWB", "xaJoFyiRfy"],"c_array_ipv6":["MMMwwdMaOL", "bIAjnhbWGi", "JXViKoynlu", "lRyUzUpMNr", "ZyWHslFlrK", "zEhagIzzRC", "DsSOwEMsPP", "AmXiFaCfzs", "sxdmZJbHiv", "oMGNLCAyAT", "hmXMsLBFyY", "uaSQBJSvWM", "FsaPjNQZxq", "YFRrpzajdA", "ruWwzuxEBc", "pgfBtRgtvY", "aqslYeBAOa", "FyuoElHzHA", "xXTvGdazgo", "lcKizdgqVI", "EpZnXDmfCs", "MYOFhqACOA", "odnFkmyBth", "AkwjqnOcKP", "LLLgtDCtDc"],"c_map_tinyint":{"c_map_tinyint_1":-111, "c_map_tinyint_2":17, "c_map_tinyint_3":-87, "c_map_tinyint_4":57, "c_map_tinyint_5":-42, "c_map_tinyint_6":-73, "c_map_tinyint_7":27, "c_map_tinyint_8":-18, "c_map_tinyint_9":-89, "c_map_tinyint_10":93},"c_tinyint":110,"c_int":350080615,"c_float":52.373734,"c_varchar":"the","c_array_tinyint":[118, 17, -81, -37, 8, 106, -17, -17, 50, -105, -11, -4, 117, -100, 46, -115, 69, 106, -125, 37, -38, -104, -93, -123, -4],"c_array_smallint":[17133, 12609, 3873, -26393, 2796, -24691, -24597, 13908, -5777, -31719, 22008, -29033, -5950, 31867, 10886, -30080, -29914, -4748, -20165, 3923, -6576, 28109, 5617, 6803, 6310],"c_array_decimal":[48.1934, 63.0083, 95.0288, 46.0711, 62.1672, 59.0704, 17.0058, 88.1945, 41.1340, 65.0658, 15.0377, 32.0352, 20.0369, 5.0873, 97.1823, 47.0220, 82.0897, 98.0749, 18.1604, 7.0338, 72.0477, 71.0275, 63.0719, 8.1941, 97.0209],"c_map_smallint":{"c_map_smallint_1":17095, "c_map_smallint_2":-3442, "c_map_smallint_3":-2760, "c_map_smallint_4":10087, "c_map_smallint_5":-29898, "c_map_smallint_6":12455, "c_map_smallint_7":12130, "c_map_smallint_8":-10974, "c_map_smallint_9":-26963, "c_map_smallint_10":-15118},"c_map_ipv4":{"c_map_ipv4_1":"223.97.69.22", "c_map_ipv4_2":"28.37.1.160", "c_map_ipv4_3":"190.103.69.81", "c_map_ipv4_4":"64.212.99.150", "c_map_ipv4_5":"154.230.110.46", "c_map_ipv4_6":"77.254.224.184", "c_map_ipv4_7":"59.6.241.21", "c_map_ipv4_8":"244.99.63.144", "c_map_ipv4_9":"122.131.109.66", "c_map_ipv4_10":"180.81.91.121"},"c_json":{"nouncountable":"house"} }','{ "c_largeint":-5713279919960591705,"c_decimal":19.1981,"c_datetime":"2010-05-24 11:21:25","c_array_double":[45.03796982283442, 61.13317261442816, 44.75939003724504, 51.617071641482376, 23.96524150314446, 89.99136059081454, 37.89502036030196, 84.06008631285812, 96.7719557711368, 74.46429784036522, 27.402196456689943, 65.14902513968383, 8.788082965454077, 45.16858081656209, 60.24852388193547, 99.73149411295059, 31.179139770251616, 71.40873040613499, 52.264747255220605, 24.538532134515556, 35.75974858887749, 25.356279568748498, 38.2113012057985, 78.01756178938162, 55.475016007795844],"c_boolean":0,"c_ipv6":"498a:eb9e:f2da:dc:6bb1:3a0f:bbf2:d9cf","c_array_float":[24.70741, 59.300827, 46.168957, 67.627304, 100.85922, 64.74471, 62.672096, 39.28512, 52.95068, 89.994644, 41.804855, 6.726926, 29.4472, 34.467033, 88.21765, 94.16649, 95.868484, 62.798927, 66.12465, 90.08419, 40.908077, 68.29459, 11.534632, 64.99587, 49.20446],"c_map_varchar":{"c_map_varchar_1":"MbgVMqhwWlXYtPjwNGyVcbTVvvjbIaUTWFjsonpRnpdUlRcXGVStxlInowNdFqhFwkGJPCZGrsYvvhioApFUdKICOeQFmKUWBcFoWYlBlVyspzrFZfpTaDzdwscSTgGYbHaKYgAWPsepzxzzpFpWoysyIbPoLeGINpzbVLzPgAFjtXIDXLNsotviqefuUrazPiJeXXfrhfxEWLmaQuSbEvXHbZHlpRiAagmDEUybjxIxMTWQdKfPDbyepzqoFhpb", "c_map_varchar_2":"NnFgZqplALwLMTRRkPpSkqcibZuhyHWDNmjAnusruaiHcYUupEFPOFUMEBbdHoYTkjLRDGIukzwwiwUhvPJTAhcxFMwElVbUjfIxNeAXrGsCxJRSaArldNOUdrhWzKXSbhFcJjUPRrKCjAVMPXozgklqIGmnvHDmbzFUvJFfjqCykLZSlybajKDWTJDuSssJnwuyswXLUHkFodExKYaoYykkgxFkoGrrAsxvBMPKiUiWjGgSCaNgfgwbABajQpJL", "c_map_varchar_3":"riuYEgWgOkbnHikGQsuRNjgWipbjzcZMgiNZsyonnkLEDJEtSkYydOncMfcxjVlMSOtIeXnSWcdUbeJmWWhtHmdyjSbLuxJzsDiOWgWWoHexzzceRxTpUrFYGlRiildeUQuoeqPeOQFFVafdIoBYmmOROFqGNuuVJOGOshmEpMdnWsPhNBtsPnBlqpjMVzGCzjudcOaFROqNdrWovdWMmSBwMTrZTIjAQQmxpbnpPmFcDOreTQrbOmAQYXxeTYbY", "c_map_varchar_4":"XVDVrnrVEvyMyeRzCOCCEXGYuiOgQSauIIKZlHjZXkkkbgvbazswVvAdGHhpHzgaaVhGfSLfBgkYnDHkpRSDwquIJInBmTzaMXfCbCLgrXfbskSWloqEXFlvKMcYrpKWQsnFvieyNjTuZIxvgdzazeDiMnvzLaMIYejbDTBxckvLQBYvvcooukeMffsKkXOqWBvShFDtWPYUMnYybEjGUmukDmRRBAINdsNSqMpkgzUCxDhuCAtmHUTANCulQlUk", "c_map_varchar_5":"MUzSvEYRrYrRFcCgshmCCNqvNiztKIjZkxsqELXDijAgeUBpnyYaQKSOlkfPPcyltfuTOVhiLLAiTzliKGeqOVdWuscDVhqQsCLVnQMaQBYzsqamUoJJssWGZnqmCwDBwyCpzbNfxcFsdWyWodJVMyBfTwhMGmJPuoanDlMdrYCyTytnDxYaZwHBTkQSrtfJrLHbJaMiCpUlNTQBLagiLezXcowZMJYRQOVvXmefktAYAlsDtHaqwyOdEALnsLjL", "c_map_varchar_6":"IEYQNFSQfuFjqENIKlDThrzjGcauJUmGjypEodUfJakcsadCRaUQgdJFMLATefJIRFzGUQTvkmwUwkHyCXclMglRwVOFYgBMARcVpOdUoRKMjGTXGLPtwCzoLPZHZQmazNlKEAWUlWDdcULaUENTuYipFdZFMzBXCoiDsctOAHdWuZSTDaHFXojhnhvklrcnrAKSMDmUfzOQlOoSaDiOLEMxCaMXdeFmSakbvURebmUnDGBdRuQcmdmuvqdOKnih", "c_map_varchar_7":"DMeoXoYsbtGydYwrnaeuVqSODXCUiilkHqIorTrHDqjuygCpZZhLDYFJzjXebkQeUNsMaFFRLHCgpHixOZbcgOnZwqmssHCebgmqgVaVAiHEeTwvbjStKfoNFjWiPfNxPRpfWQOyBgZcGNttPCEQWbeNhQNqdGDuQVXjwnWBndTwkZYIBBYkikLRZvXPxJRcPrJavnPKMrrvlTPZMuzAPDFALuqrLJhyYrxPBydPENCXXqgUZGRzvdNzHymzNhxH", "c_map_varchar_8":"FczVgsJoVYVnMoNUFgRPPsqJnTMTTfSGJjcgvMMLcSZsDGOSRoiSnONrEDCyAhbbDYIWetoAwtjThVhCFEpLfvSFsTxyPGIhGYjmbnWUBhAXdlSmuoJlbmOBKPqhgMkEjBajaONGVsQxjzFuabhDhxMahjwtkIYVeaTRgpjVwSoHkmVtYOfnJhwjyFsnCEhaakakYefiYPUVaPYXClAhejmiySNtrlnGpQJZehAjvwbtHfPdPeDuuSuQBozwHpCB", "c_map_varchar_9":"FlFCqBrXymIkZSLRlzHHuVDCWosOJKHOYjHCIyAfJciHbHomUbDFJuDVIUHgsHvEtDHjlkYXtCUGfMAMmsieaRsyifnDhViVDnwZNYSnrxMEApXIvNwzmaWXDfZtSAlXNnkujwuidblRuwOOxudtOrlvNdfJUakkSKmLHobzcMRuohWTfeAMqmWhBPsHYzMLqOFelOPYBLmXVxQWbBHiomSCKrsPWCKccIULQjyOhDOIaojqAUhsITgTZrfBzYKt", "c_map_varchar_10":"KWlKBdntZpYqMkRDeONJbHwxpBKFKXjbSVufccEAVxUTQSWMSIzjLYoAVvIXsEgyMdTumLPtfrNwRncFFcquRlsIaWRuSklIlLGsDpabpCflCUeHDsejXHhGcaKhfXiLSHJqRJAsfUSvtPDCfMhfjlLYuSFLNtZWuzAorNtXuGcAbvhZClgrsIHGKrzfOnDXDhmbuebRIrKIobMyOhLzCeQPMnWFInyByxsMKFrwTHNAUBFUHnJxaHFxXqnsGSFE"},"c_char":"DkubhrYSSc","c_string":"RyhTcZEkerSgZwjqBOViNJofTJzgwNgpqINPBHrqYhHNomusvshnLmEAjHfmkxxXuXCOXWxNmzlgsvpwDWPPgzsJjfmitJNBQvRZiSoixsFUcjjlYXehLvYzRORSmTYXjjuTPNMpJIKZHKxZDkVVvCKKLZLOYoNybpuaDlbrGtfzyaueEarlNkIvUpkAWcYyCJldavFJhafNcAYhSFxJZAXmsqwtVkBocHUIioSALucmcHawbUoVNHzfjXhLHiWvhAeurBsJKDiEtCaWmRHZaGhOErelGxZzCzlDXOfkGDmdrSuHhzgFDHRrcNSVnLVFteoyvIahluKFFcnozcNBxMGXlhSyYScDLdWJHpcJpTqMSfWfFUqqJpBAoDIRPZnUdVxHztWmgUBielFNcfGyPCOmnpSCLpaQIqKeuGSIqepaHzNyslSjUxDNviEwszSgTivzGuRCtMsTrNWfhMVKjbSnAbfGfPmBFMqYrHeavoNtJYzylEgelzUwnflTGBuj","c_array_smallint":[-4719, 25834, 25206, 1437, -4157, 13252, 2504, 26250, 17615, -14487, 532, 14441, 12003, -11195, -27336, -814, -5520, -5949, 30065, 15858, -21875, 13502, -5734, 13162, 32207],"c_array_decimal":[35.0095, 68.1265, 98.0285, 14.1652, 46.1930, 82.1605, 91.0243, 46.0980, 73.0309, 0.0724, 17.0815, 68.0266, 62.1267, 49.1297, 28.0301, 81.1832, 6.0199, 73.1864, 74.0852, 49.0780, 76.1353, 16.0753, 2.0948, 46.1622, 38.0836],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":-56, "c_map_tinyint_2":-32, "c_map_tinyint_3":7, "c_map_tinyint_4":6, "c_map_tinyint_5":-112, "c_map_tinyint_6":49, "c_map_tinyint_7":-127, "c_map_tinyint_8":-79, "c_map_tinyint_9":-6, "c_map_tinyint_10":-3},"c_map_bigint":{"c_map_bigint_1":3547205723104882961, "c_map_bigint_2":7992771697698214313, "c_map_bigint_3":6103430934002309247, "c_map_bigint_4":-4288345730204947703, "c_map_bigint_5":-3935390992249393727, "c_map_bigint_6":-6314309099787575216, "c_map_bigint_7":-1036035976277017849, "c_map_bigint_8":-476051108228220781, "c_map_bigint_9":-792987462407246614, "c_map_bigint_10":7852181020379123020},"c_map_largeint":{"c_map_largeint_1":-9190032869643112800, "c_map_largeint_2":-8469059540569821456, "c_map_largeint_3":-6798179987558049508, "c_map_largeint_4":5577542895096168069, "c_map_largeint_5":-8063555694632851537, "c_map_largeint_6":251978210362055302, "c_map_largeint_7":-1356359040088537944, "c_map_largeint_8":25857796210125547, "c_map_largeint_9":-4423552367915087666, "c_map_largeint_10":-6531201113611406466},"c_map_datetime":{"c_map_datetime_1":"2016-01-28 07:50:45", "c_map_datetime_2":"2016-10-19 17:26:47", "c_map_datetime_3":"2000-10-04 03:09:18", "c_map_datetime_4":"2009-02-26 04:19:44", "c_map_datetime_5":"2004-08-05 02:38:58", "c_map_datetime_6":"2014-08-23 08:47:45", "c_map_datetime_7":"2010-03-18 09:47:22", "c_map_datetime_8":"2007-05-22 20:23:33", "c_map_datetime_9":"2014-08-09 07:54:32", "c_map_datetime_10":"2007-06-07 23:10:51"},"c_int":516014830,"c_bigint":1887147307535488315,"c_double":74.80721401808333,"c_array_varchar":["oraePIjBGoZBjLQCJIDCOXcstWmHPZSDoPYUuwKkqGxYbhnCxAYImRmvdhZoIbwnmEygOCPsBnmtXIVUEYmLpmvuoeBglfjhQKLaqzoohDwIiXCNdacnAZNYJMVeuelBnjncMIBKkpNAoSCoJFZGHrrjiDSiPXDDUdDVfmeWNGAAKBjXVeiFzhcdKVvrBaqMgzHOjvXICAuPfkuWpXmgfqOLfGjTUKkIhNTKJSmaUMGZAZfOdBSHVIXqRCfFvxta", "KJEKtIoDSVxCHJbXFFzjfKbeKZSUblrlREvFxRGlwpXrUxMYigeMSEqmmsYnCNcaQsLopRqKmdtqtYJVaUBIejZxdZGKALmTQHdwOrKuBJNSFxhbZUYEInPAqFvgPRiIydfPOlcjwgTRGbFqbDVRDqHHxOAyquHuWTgWbyrKqPRGYTpyUPHyvInmswnAziKxSswwPBNiYuQLucrykIFkrKVvNYhSolaKRzfyJCowVLcTatAYNalOlqeLWUWqEqxp", "qBwaIzykvcpTefFuswnRENzeDGEONIuEceYCTHDoHXiZmMppDxIdXktSHgqYjdhVuTgYoTJPLieuweiZNTWAOWxdRvEEvWkJxCCSGtbssODIdfIYGFrfKvxVBkORGvnDsLXCimBRHmcPvYzgFQlTTwJOEekyiJaSuDBzBfprxgpSFjexJzgCIVtXgbpWriLvwnGvCXrvELLArWlTMKkExBqvBVBqEUacirBJXNJBuVcilAwgSdZvOdUnLjPUirgG", "GysYPKUegpdciOKygGnJNXRjaJaLbryXQrPXsFnjuCZJpWffTgyritSEOauAecSyQMwSWpFhDOgnZfwphqQSolUUSzouqPsjcrJqUHfXMBAoJADGhfCFlhFNvDuGzflZMoFihETTtEWyDLGqupTApAgHAberByXLtbMIXvyMxRbQeBsZOWBWeWoIkUltYeZBMYUuTYLwWhJEgBCVRuLvBjaZegOaMJSiEFZxJuQEhwlDxvcdhligaIzNIiuedDAy", "vfIpekWyzxqxNNymtPaSDKwSKGLPCzTRUyKFlnXkraQOCsmgGPSRpuSDoURkkgumadzieHbmgmlNdMWvtKCALjcSJGkZvCFPdIYtRsBnJjvQkDOhcZwgvpCkiDQeXjAiECeGqtvKHBMLPDjWwKANyRnLRHYQsCHxIAowZQYLKcqWXjFDcaAuLqnHGDULWoOTyzSngfIsjqMjgutriOsvfJfQtWsltHayYqdBigseAtVVdIQBCpFejXNqHxAgiyyD", "keznbRmMhCevJVhQbstbhDSxUPBeiGqrgHMiNCYYzSgOVfsaPOeGdRklTXpgdqgwAzOVCKceAZekdCKFFBopUlyOODArnRTDKNejQyJlCQSQyALVsJYPvHxIKKTXYLxedDlUCSTCYPPwkQcodPImooFgHFuiWwePtFwjYbzzVyMatOQKLMdrZfMHazNlPnPrHCuPgmHSPkSvsaBffCcBgRZspeaoynxGzTVxXfhNgKOZDBRNaBemdGbyUxIsFhJX", "DvooJHLlPlUsIHtoKRCjYsqDefkNhDBgzhFCPJFaVlRKHTaMnFdVbNhgXrJvuPyEqRmiPxLXUbxPebonZbWUafORlESCjxDrIvOkZAeFBuSrxcAXCrwAHUeQgjDJolxLvzVPbuElrSdYXorEDjFiNhJlkjDqCMygLaOuxCDLcvqGRRVwEFyojpnKXzinCJUWyTMGRYvxYDaeJQuynqSMwvbfCnoERbfDfsDojUbAcbDwWKyunJWGgIShfinxpHke", "pXzqZdXZbINgXzdwJSYOKCQJkEjXylVLhBgpwacPzvhnGjZOUUkWzvAgVRiNpjQbjGQbMRWsWwicSGmEoaNLXSnPVUyMcnrZoSKQPcvTpIZDlOiEYQCLBXglbNKOXUVuQzyNFruGqnvxMhGFBESSfxpPNAuZfxqCMjHOOmrTrfgOXaUgRQjZFvScJWpKNawbhVEISSvoLcUZwrGeaAEsSsoiZyUsRzBuQeMAHCELjpBqLMtHFlMovmVNjxzOzMwm", "nTtZlrztAgOXGLXQyWUZtufApdYqnybUlOIKkrwltYYIQkCGYIilvLOONYLufKyILuymkauZXuPpmtFCLrWtxCJhLGxYHLDtvFfOcBlivFnnZYGfLHEkzqAesEJlfvtFAaDwwrBKljUHnJlURSqMidoNWoCetPUfeFArqqAYaWbsJkElnxYCEyVVzfzxiiCUpKojbCOkqUtCMFtYTwprbhdwSrSItAaybemmvgbntWVMGYKxVBheXQSxDMOAGfZB", "dpfyplsVTsrPbyiZZnDZQGOFevzTMEfFJrezzMUbtZdqBVtQKNObbnySGtQNidNYZaKILLvxOsSyeyEMAipnEtPKyAAJXRlchmgmvsdXRPZHGpaeHpRWeEesnuuZeTBorDdWlDlAfWNwrMxbSKuiIrmRJOiGvfylQkGzirItlrbPtJmXVupAeiiKdyZIaBryyopFRmJCIpNFJLUDSiTceWEHORnqeKKbsLVcmbfmsTnMlAktDLXvjPoXXLLEzsUI", "SAnfCTKRxbxkNYaWsZJmfHMkobMfrRtqJqfHlWFcoclsONProOqliOvFpObAmrVWmGcGxkTXzUImrEFYvGsHvEySlRtnUpocsieeahzlHoeVppqIbjeAcDgWboUFfBzNeSrBRRNMomtgiDjyRXvYuOODAHuueYEbfKrzCigzebpDVSKSQLZcAPtlAoqttHSeuLrGSyQUUmBzrLFBEfkABHEqkynJyNqXJBpsdZQTLcghScLbtRYNGUyxnUqYnmBP", "JpRdtjnuTiHbPLNhCAqudTymorbqYhlDQBgNeBZsGBSndjfLydjqLbqMNWiePflVQglJaWDWCUmgMGANGKjiipDfVaxGWFLzTGSsKwGPYwyDBSLsdctYtilUUklZlMEGQMlGMhkjqhkijnSRUakxdOCvTPrsRMhxyeOeMNeqgsLFbihBXEBHYQTnfoQLOqYCmyWmyKLEkVKEbfAUHvmGYCUVGByVScoNRSFlLmzXQJcriHSthabSzpZVSXBstGXv", "qzonszwVbpiTzdOqNDDfyByjibssFgzgTjVAoGfcZooKfZwlUJPdFjMwAIRxoKZdRpERHaMJjXJnxSVqqPlHLJvMQTAxQLJGxXHyPgwVjYUtLALFhtdnuTONVPNHSdrWUrSpzzYdvaLGZiGEfDCLMOBCGSiIbtkJGITgNNhgahrOLBwnSscTBmbmeDgpIflWVlEEifIsPNWUKRWpbHsCajJRUwwSJFccVUfzbjvPMfacykCrRxxktnPNpcAgIqUW", "YAzyDLQEAyvzkBxaXveUyyybERtEsmJpEykQdFBGrdiEVCzqcvArevREMrlDEFRzfZzQlnlRvdjingOaDUredSUERcuFVXXKDOugxwCpzaZHMDupqZSVkytPVYiJVIQNTNzEEdWzQueWEYsKmLXyWfxtLzWeDDJMENQWWuuLkmDwjGbafQDWkLVYYEowyYbsqBPSvniRXhvRtbpBYkHONlBoJLaRDHmWnomYquqRkfIEyfIBTdflxfVkTgYHcEvs", "MVOKvUxPWtqpBppTkYggYsyhWDvXTHTjKzLxhzWKOwwKNJEkuqmqGwVUwgmFQZVwBgXcMEdppmBVUCNEGzdQafuNwCkdVYUOVPceaIGIQdzVdOzkaWRxMhTruMvNxjOdnoqWtvjIrAXOrmuKBkvWnuVyLAeJUsSuwHEqnaPGCYBZScpSZzdhfwlnityEEIsjPCAgqswcMMperxoZLGRHXQkkJTsiwqyPPSmuKNuukxXmLjQVVInjsvirArZevcBJ", "JkgtFdBNMWzuyUyXMcsQtiMKtprCuqLhHTYAmjQtIVtuvtpFtrJqJzQFXcHIqZhMnnUHjZemEZTwZlsMXYJDRvIUQxKPTJmojhmxXOwXHGWcXnIpnpazcwXIAfSqYLJorqIjcqufNDdYzYhyMPhfhNlyimOPHdtqnxPdrdUPUJrEieExliRAHTxchvCnGLLDWIQXGClVaulNZoriIRgSXBUYrusgMORDnoAIWkCkyLTGKceRdpgnTfbZdHmoJtFy", "YsRisWtuhxHIBxHxzBjJOdnlHgSECDDpDFWnYazqevpPpryGycviymlpNxjftoOnnyiNfOxmGsyxcPgVmPhbQpINfCtdDzWXXpGSdvqZkqRMTSWEUWfsFIUDGKOzKbGcrgEhvOCiGfsYkvkaSWnxGAAHzoiOtLogtZCZaOKYUvyOakiFfYiRoUneTvuLYlXQtKNYeByDVMTAmYywWBuAFCTnqfvHFgBDWGkbAAhzHlZRhkFgfBpLsyHScJSNZrrO", "JVAtyvWKfTmldLaIxNQuhFCgKJIBndhPzZGefIXCEVipJpEsTPrTlMlQdAfMPgSHQfDmuiAQMeOnLxwvLsRZRDpWliBAcDmLdDMRGdFlNJHGhZDRbLHHWKffuBHlFFSEaaniMcqpHoVHLWOdtsLKRqlYyoaSWnXFkFbsvSQmVTLmjoDQpFWjfDTaOXfNAVXHqOcHTgxyRAfFCxekPPDyQycPtIvJFZkryDNTJqqsLGnneBZvqGHCBaXrhtbMNMIa", "tiXRJpTzJpLpWTzODAiCujcYbKYseSHtfSEDLRaymYcilRSLjcuBnVyXWkxMiGGjOXyhoRNXibxsnWSVfRjtjmRIyMdgMqcDblcKgHTBnKUBlzTmOMBwXucTmzKRKuYNPtPLijhDERLHZWLCVGtLJpSXoVDZwBZrxPVuXAGKNPKiwTdRWUMSYooqDksPJzdUsddNuQhAyHHZFIEbJbyHTjrPXiWxJOMyITTEcabGkJauguIleJmRfEtakNPBsuhy", "tkSdfiICtBKmeaZpiNLkpUReQGPkUAVaISsQDsnlOWYsqtFwGxbwCegpYBHqqBBesHoqURnSaDdsWZytTPjFbcgFuNqXxGWKiwOkrgiguHvwmRPTmSDLWGFkGhAuwOvkKZnjcmTcdxYvpDuxmQUgyfxpFmuFsWiZSIxYawKwOPAdpOlfhbQruDceobdRAFWieWAPQbkHPOIHncLrqFWEYHZpphkSZAjxngXKijEtfLRpyKonnpjSnhimoQttpUpp", "bCmFpKEudoywxgPuqanNxkwokHVHLSUKyzJikmwtJDzqocexdqlxUXxbkHFBqkMXHQUDrfDBiDIwbxSAKKcdwGtXaPEVXPoNRdciGpinOOsihvNDScgZlpHUPbOLaqWIjtXipDUAaBesUzAFPJiggimZmNFuazCrPUYfcSMcYlhZpTNfsHHoQifsMRCqjLDwqLbBYYUagtjenLmSSbSjHpidAefhCnkMwuYZrCNeGStKsopEMaqvmQNeYZZYlwxW", "tTAtOxPBHAjXloVPzwbLbFmmGIGKmotSdMCGgPJVTFbMxedAdGtNBPUBXDjpcOXrGHfiXZYOQWAIyrMBkioGvWrMhmzHJFCGwzIFYwjDavSqOsAzIFVMumCoqBRMoGrFxXuPIWkKCgSAHNvfHQGprmfCHTUWiJpCyfpiJAAkdVLDfXnqdHkpkqIKObaWpboQYwAIlcQubgltLMmvYICGVBkwOcCrXWuGQqGdjOwpbtVBtMWSHXjGZoqBcSeHlxSd", "NMUFzqkQOFgdbnLcQgGiCVsNkYvAWrVSIImKZfZgNTbwlufauvprVRDSRHztqlGgswOCoYdNfUxWxgUcZCqRLGynoLcACiCPwPUVUqCMewxkAkRVhpyCPOSqTzrcmAaZzYiQspcJsUjwSaRiDWCbkzRIazuVwTyfpSpjbAvtiwYhxzgDXSKFLJZaSEitcoOYxnFoliHEMoltQgIFyzsqVelyFKlPmfLtRWJEJNkUeRLNTDJRLrpWvpjYjzbzgJUd", "lmUrGmVqXwKUckedJFWLuiDGZOHaEoiynwnhdezxrTUIZBhhbCsmWRFBXMQZNKhHATzdSnuJHIHzMgykdBvhOlufBmiAUBiytsKXWCOpVSPxIUJgxvLqGMrHLLbHKeCIUMzqFVzoCAuEjfTDDrIUVPMHxoeQJjWaUFtKQJwoNIlPOAKbqEWXmdnWmvufhjUifEmHwGoaniaHlonWAcrxJbeMeviUlJsMZgazolzdAOLQQDsSkiGeBBkqUHyAYSxN", "lOBZRBHOPizSMrDthBPGfpTEhcRlVvNZkFgjZBnvjafyEeXebgvjZCAFuCQMfitRURfKUyGbdkspqfNdDOaRUdVZZeWZJUyrFaelmAtZMDyCBwPYWpgCyjjLVBNusWHsHYqqDeBJEwwicNJTNrAABEdKkbUHREkxMXsGecZtFSRFKSmDKpVBpadzXNuKLgkOhZmfSfIpZlHBIOIsmDzsdWswyBuGhkKzelyebeFBCiKpCZGYOwSdQdVKWTqeIksO"],"c_ipv4":"113.130.224.255","c_array_boolean":[0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],"c_array_ipv4":["PCGxRUHqPr", "UDUTLeRASr", "KjPrihqpah", "ZnEdViiPPs", "rPbQkbrSyV", "zINznSrOzk", "uvckxCnOQV", "mJKhDuOfuV", "flPbjVGWIh", "cqSaDcjyMk", "ppdRxGYiAn", "ePBUMDgZDW", "KrRUcZVSjv", "IKthtoNqnU", "zgpWjCFRbJ", "eQnfGQMbNm", "mcnOVFmIXf", "sknhknshSk", "MOaLzosHvt", "QqfeRxhYVV", "XboTcMsAsc", "gqfwnzMpDh", "lKBGFYyZPq", "SEQDZDdoDK", "KKQpiBEzQM"],"c_tinyint":-110,"c_varchar":"say","c_array_int":[-797897122, 417658428, 1598183145, -1147417730, 1828283274, -1860319276, -1157564796, -245573377, -69446053, -1461530801, 1733853550, 595693135, 438847816, -1690366197, -466528003, -339945827, -108452759, -2122231045, 122594985, -619645289, 264740205, 1693994288, -199679519, -1358185980, 1184938947],"c_array_char":["zDUKFdnxoU", "ltRURrDKPT", "HdYmhnmaOj", "HKJqCCWMDr", "JglqixpKuh", "znmLVfEdcC", "EwhFWdmNvZ", "edVOoSobFs", "oDgsWwlSmg", "apsMtyHNGZ", "WwyjhAqxxL", "pqAMPIoXfP", "nIfMCHGlER", "GTKmytFktt", "VfucFvIsqi", "QESXCBglTl", "CLEuxUgDyT", "yFhrcdvjaF", "dUBBcrggBP", "WMDAdXIxpT", "zVGRjhbpdK", "kBKZAzvjNY", "vYzEzsmebp", "jSpqHDIEXC", "CUrigeAdRm"],"c_array_string":["HhlXXZWPdnbDrpHXQHaxXnCwrDOxzcKKRgFtupKIEZSQxrsJClIgVJGqnjLTtSrQUlrBoIGiphZuVfNggawIiXtTSjRszaaVIXmRVhboabrgfFGUgHHQEPVGAnZxySWpElpRulEIiGtmQQaxlOdQwKBBuPgipHJNIlBVrDTRRWWLrJKfZuRSFVBNIqBSrcNSYUPCDqVWEiyYJsVvOMXmSPTVNSWpxTeTJONsRhRgykTpygEXcWdXvXESQkyXdfjdbJvoBGgbtsftdalIkuJhuDdJETgkjCnCOzBfFytwRTVTsTjMafIVWmkOSuSuIhzxqMvQHOAeURZploUgVgmYypbRtloLNAGIaMiGQCofhnknSonCxHfGyFCZGuBRGTXKAeywOINXpoNjWEQCIMJCXAyzwDURhofjmqMymZFyJzxRzOopSVSAMWreDUELXcHCWMqbSJnUrUWMIHXStGLXzeSPaFXyixJRZjgMDpBRmXetdZdiHNLorbpfQfQrGsDJ", "gdIbrDeDTwhgwffJngFyfyWtmjTiXmuIdEGbMAaiaBlLNGNEIGkZvUCamggvHwLpwpjjpqwVSpCebwrAsbSPHoRBmTTmoqisMcUwTFbHCyLzDiTBWZMFBMsEXurlCTGoCTgHFveLTHfzhlovQUoLRtuKDglaSabTauhkIxtHeUmBAntMivUNRcolsqhWnSMbtIKICfUonLFsogLcMzqwsLewhjbillNZPYuzmsLmLdeVVOBCtJraTYGNFHkfbnpwIqjOVMAOAfQlJNmDmnMlecNcAUghzACVsyZWExrwxpOrJsZAlNJzrmoeBVSCjRKUTdEjGjbNLNKSclkVQHVdaogwiosmjJnUNXEKEMpCbHdybXmrNoRfECjhnqLrRMWBsiurGvffSlRHWAKgcNBWgkTPmUGRBMHaaBhZycNzLQoOwUgnZTdcwFPYOtkhCbZjGWSssuuamBPsTXyVfDdSmTmXgnjEMAYwDssASvimApwXVrLYodmZosJxUDpLJiIU", "WUAxsgZRKmDISwAnHjYnUViDxjSZTZLeHdaKviQfveKkideojlpRznVhAghhbKCJpfSIskwSmFEOUlgKSlnvTILAelILLAyLKUYmwDkGMuEjVlegynuFWWETEiTLkJLbgjiMyqZVojabmcJyluFcYgLbwDBHoHhoSlIudKHTXUFdingNEEqgvcsenmGLfBYpOcbQSZNtVNtpmeocEdmbVKeufcxwvEMSMPUjdWyXDEoThwaDbnEvcgeiWMPogxogVBpLjDbfASRvXWoyRSReIaiSOftKYgLyeIAVqefNcUPsQLDXhXlMjWmMkCebLgtdFgtFrBFzONktWdzWXBJWwYHgFtMZVemCJvuffIArIElwBSSNGquSrsUjddzYwaYXBftrBqrHaZvUgUEoFeMnASrYkHrvPGXyaKGotduPazmmrraplAdYwwNtByDhSpGUYeoaASkkJixhrIyNBjVmULgimwgtTzjajdPtoGpBjqENCgwgUObjOJldWuIuOwHH", "mnElCrOKsJHiPCFuCPRjAwtoQMvkKCWFBJuXkIosyiVfCzVrPGPMgOsNWiMlCRSTxQtbkobVIIsTXomeUkCcEZOhZyviTgBqmhDiFAfxpnzInFFZZOnNIYEFUdubToWYIMffQFUcHYShDGhZSaZyzvqskqzINRBvxgTOOgGuehOaibXVuEWalQrYeBIdsArQvuEFhXFWzRvxGfSiTqGZydUciqcUAdhBhRVUIDtqgBbXtbOTetlbrWJpTBrnnBlldIIYvXXHYrazjdMOpGeYykKRtVWrCzcnxwbIrZZHvpbBJuUmgsfaMjOZJBlIDdAtKnjRKhLLQDPhTrCYoJgKvkvMqhHdIBDaxKkoosceLZaFxRuUZbaXuiAFbrZCucooeWKgLTpfhjapZjIzyJNlZtmivSOdkEpJjJtucsScDdWlfBCPudblQsFZsdNhMwfHuYLmViEiWYrCHCHRnUebLMgjIPHScKJYMMDWmzsJeeYgFiXafHmGKuVcthVFlcPq", "wTfNBvWCGhiTNHhJLbJTehyzANjWoZNnoHntWUGLEAvUUFNBJAsRnCqJrBKFRxWRDWVmRkCcDAPVDTplgufNLHzoPJpyrcTWUiPIyZhOFsuZOecyAqMqTYJOenFmtwztLtlrSgbHiMrFPmTCmSvsjQUKSkyLrqGmLpASPbDqsQMWtIOfynxqGBcVmGhsrdlKtIymyoVmBdBaCIPXfynTSbpoyurcREQemCXVOPErwTYEWYKfTpslkFtFYffWTkAFryfifREnlszPeWPLrQdyPERDjrgSkyByTLgthAbKKmkOZAwvPcIDvRnyeoIJNUUvxBmaBIFLEctOubGqPxXufsLwLDSlEOQqWCSkRZEKKYxxjpULMnNOktEwMwPhEyZeYDDNxkunPEtaZeRyKZyPsqFttbrQaGDEolZVxzhkhPvuHICftjLmukcuNeHJQVmZjQvqQpqurrbznknTruSTtBAnmvNomroKFqjSfaqsPmYroSsAGlrWNVGyLNLFEHUa", "bDdfXIaXbGYaxlnnWxtHsyzYzyxdbDnblEtdYMwsQzliiRoEUmwmnHaqmLjAfUrttyqGddvuDwKUSYOOrvJhbhSCfdxCXwrdPSQvCFMYwCxrtPoKRGHJdpZVYmyPYGAKpvwRaTKTBpjVZBPrdzVEdXMTABAPcmRRkzzXitSwlUvVsoSHWFdECcrLYveVFyuQpwkSobWemXCtUvMfTYdhkWHmtDjXbvGPBnMAlUhcLiaSoJEqMHDrInjnrcxMyqzlPdyffDaGOWckLLwlGQMQoiOXxWxNfaUSsFlStdvtCpyOnHrECTjXUFfAmwEwebVwBLrdwMXShWBAseHqsNMVsMNLmRdGQehxWQTQaCstLlETCSSXStwvtsSNegTtElRBErUYlMQJVxCrtkLdJHwMLLcWVhSoUNZajDRCoqQWcspFtYmkGUgWFnbUVluWuTjSGfrXXmeIpeHMNGiQHGgwaVfPCJFXTLErzvlMSoAJmgnieHXyqVkXTPRDuCdqOZQE", "FgQGwGURYHJbLKnismhUeckfjTqaTGvLbIEPndrFmOldvTsADFKaCMIiwBJubykrfHdAFTiEPXcxMrdisFeWioiZTbYLLHKgHjfotYiDNxQkNKbKncDRZRavMyuyRvbjRRlxAIJhEAARcAfMKqJMdHbLxRpQcCGbquBlSKWMfQimwBTSFUSAXQCPaOXrQJMqTfRROOiQGSiSggyRLjnqTsEKsePmKjXuGFXKWvPYiZAegLXhCeZgSruiTOuuxRQIfzmGJbtfyjAEaiFGRSzRuIIJOSGzPYKHmlqdrcyuZucEVxOSuneKmXrZYJxOKokyXSwuDiNwgSONpXtMYdOuzpZWcYuGTaqqqxSJNqwNtCCuLRJGUCGHRNiIFgwggzafNyqlemUhvyTiyUlVcKzehzqnVJOqYFaZVzXAqOWvOLaVcjuoPdyAEXHSsQuQPgMXrZFtoyBJTpUIVhwzQooQXAVeiLCPbnmUmYTLFrBJKMtozKVMJhyxkoTxwxNxbppe", "rahpokkgGNECOTjrlCtmqdNnshwdlxwqtVVVArRVpUwCPMcQwWLeTnMyxOSUpRrnjuuWwJmdVNoroqokAIWtZXTGBCGfVTqLoqzDwrTktsDRXqAJkGGLnsgwxingLyYevqVdapajvnPqnYwUgMbJLhBxzmNNCWSuAqRDiRzmajbiPmRPVdxFpUGxDGwmokRTkvePCBGCkbbGlObsSeTnfhqqeZuHvZJRSZzPCTqCYQSkgADHfflHLwFAZrkBydlttorljnMrGQmqXgCveYttfermHdfHJCXCbSCAnyxfTLCdatJCMaoTAHonzpphhYfIqvfgycolmlAmFawuELadzHrblUNBkxKbUvdcdczONKSlMWHlaBkpPoDbaoxiOZSMIIeEBzmcoeJqrzjwhoKzAlpXsalCxPgXITyTzrkotNbKmFxgQiZwgJAWoNnYPotdKYPYwHbWEDMHyLEzJbnNWAqxQfCPmAkJOKKtxjuTmAIJUWFOBWXpZBoOHLTbegrA", "PWyUsJKHAdaCfrFQKZwohRJTFMVGKzNpGkxVvutKQpvIypVNmoLEKKLWWLRZpTyCChBMbuiHmRvgMUAupYzKvcZtXjelflEAHYXamHVDqaZbuQjqhZimrbMDCwbWkVQwplFXhKPKEhWbaOYIdGWFXMMneqwPFMNOMxFWxMvOiJIqfVNGywPnlvQUDtmsAsvhUEvOZjPBkbhQVHmlYCtiffVXoFwWRsAvANvBLfijbZzNGmYeSJmEnYZQfXnoMCibocvAYLYbELkbRljDBgPgULKYfPWSSWvaZpARSUqgmIWaOfoYVsZdiSLtqNRTezGknuwZiBufxLuZucQXOobvNgeGYASQtrCWzQXBlNlNHExUCEClRbEkMdOoXgmmoCSXALloruvrEcZnEfzXWHXmvhYvfPlQwBnkGcsahzMqxerZlToIIUGilVBVgRZXtFkeQwazfaKiYsAgchhJRHBeIvYslmXSKlyBEbzLlClopLaWmGdGqoCrWnrrdKfjGcOp", "ezUvMEuEKWFxKMpIbmCgVXpKInOeVHavSzRgevHWStNnxKblxBISinFuAqFzsqQDsCjwjWcTpuPWmpBmlZAEOFJGGQSNFUZjsnFclxZUNdrkztfLXtlvNKsxexDbmwOQkVILVqUnrAjPHqcBMplEOKTqhlYaeJhiEgjtYHhDUMHYNdahcqmQGgFQpyBKZqGOcxAvhINniaIOjWkZlKToFSAFzfDEHpCPRlXKRHAFGhZrDuXUnsEouVMIleYKwAvefYzVhiMFenBkynBLrvwfqFsBJQBzNvZCLjRFEydEMUiPAwWwgmCHRyPlMuNnauKHAsdelhFFcXkQtUhYVPKkvcjSjvDqtDvTQofQrPeViEuReNaNaIWsJyutuuEkhrrkHvISQDEeyFMOJnPwABBGBrjBvZIPBuChxwQecECERkSOASfPkiMIGHMHgJjZSBLhZQgHyTKNVlEjmrWKLexRTSCdwmVTrarIUnwNDZEeGLHuewONyEJcSZLlAdcKrCFe", "lbhIBqVQcfjqwcPwyLabGKDUDsHLDpxLyvgwTMrHfGTWPzbObikZeEkrvNHkhZrhtlGGXuCCJHfYWnfGzGquQpkzeZMGsYDJhoLAiCyWCCkbRILkkopWfcciCJcVyCeBtxfMKGqifwQePvLHyTehTodYCiLKazUWUhKjnZcDRubtmaiBxSUbkZIOswVdliPdTCDLaysXnKAaGkRIgCqCbXlZFuXKODXROVgHWjWgOfrDIwMNwkfLGYLiqRgKOAVyxvjXNpkXOZLEvldDdmLSNRKyDLirTHWmhaomyrRuKxiDJuoLsHKsFsnHtoxKjMoaYbcLuzFvRKODNlbWKxODABSBgZIeZGKloxnIvOnxcXfoMpcqnBmvAbmZndCYgQrLAzjKSKtwgKNoMNydOkOPBSLDfwqCuzvkFtcVcrunWXHOzWSMotTTmATilBVJSzFlWiJacRfmvLVaKexRHfyBkudXdCBfsSKqwCQLPCAlPLnRYfUCXlUmdEfthGmQptzd", "CiQOkpPDDbBladvGzBoSNTaosCVYepelCBHzNODOvfiPoAVumHSBMzsdkAcyJevxyKlokQFjeEwXimgtuDVTvNcenClnxPUeIDqWSzHcDUjNspneEFDgtdIqWHxiFHAmvGSSXlunjUSYFZZlCFhyqZWmBgBOSvshtNSJmAOaFpqkfEzQRrdURbBTrkaXMmIkYHBTROTYJCglwtVkcvcxVbvoiTdhzZHLLHHmRdZVoxnTIlgeyqNuQBMANrtxicVhxdXWpyamEvJpHVEIasdQLUUfyILSpZnkAJzplGbBkUwlESTRYhIhHgJotypqOHpGXZyFBsFIDLVtAnBSZPSUNDhmREkLJpoYlRMXTHTbXHWudSEBRmvaVQFjDIeKEiszbgqRyunVKLFCJDYgsTtqBIetCRgNFbhoSsXevcWrlnBsnuZsUIJtzNiDwYgmZqDBRKObcZfHZnIvNeAUTkZvXrdgwzTvtFfyZdavzEcVyAKXSvrREVoMxoffXcsUICYF", "EzutljkbmewZPfzLiPiRuwXHqUNMNPvJPICNrTAWopnlCraxLYyigUIVcFlGDCaADUavJWAHczSisUBacXkIiiTrVioyUISWjiajtsveSwlaSLTBFGFvdkeyvyjqLfrChRvjHqOAVlOwjkcxUqZpIELrwoHGwgqyrlTCgZUBKoGtbPMdfzAqpkqPOijVKSUBppaHIDLpnxFtHCiOqaUxatvBRuaFNnpvxXMRyaJzOaziCjKmDoeunyOleuPJcAjWUwocBGkzumvccfHjMzpxtYooxjIoVKzZiJKEjOTcqrTQTEslprhTkQbcwxkIoNqLSQcejdBPnJwdVZTgXFVrKutUoezpMaCnEpQDOBYxvdPPsAHsbeviYRmFJCpAmrnUcVrXAYdlVSKKOEFnwaWrPGnCPkAeyuujqPFPJWminxLvlAakCUPijNUWkQRLhpKgzbblurBdiJIAqBPDcLZhOnTjjMRrJfZpmjrOrgjSGZBSXcMfStoEKqHDjrLeoXAi", "wbExNEmcXPMClVSHHtNrmLLKIESRhjkRjIElCzwNjDGcXSOCKccumfdDzvXyHKydiTusaRXQSRqVzdVyCFdkwnyMtwoEZaDUQxmnFYPktjKBmetOAlgiVHmtpShRXhiXLPOIuCEYqjwPHtcpgecGdtjJtGnpjdpQvnQJndpjsgRMgwsbonCzeZMXJGdOusLeylyZbAnWfjWDXbmnMWOHqjSNDdflTaccoEKlessyQOkIFZAdrPHfUcxUOTpXcCHAUhEMYfVgNXBEDupySabuxDmUgGcajJwPcgyUmbztiCJzfdYpKBZzEuUruVLrBbLlRiTCBZBcZljAYWboPjrlKYkHCZebQUzTEcxjpsZKjodzbqOvGMcDMmgPaJgFrqSHTnWAUdpdmiydzfTJvmXthVnMDQPBfiZrpqQsTBQsKIuHEgAnZBWLYbYCExTphRpMVHMVsfNkSoGTjhVKyFxVGaTBgaNToNpMVCuEWytqWsLhZJdVevUjrGJNAAeUeOQS", "yHHvNiJhFwAVgMnakRVXDWNbjXQcoPlxUKzNSdrjpHoUyZpddCpxPLYPpMswwYmAxpWIXQlTYGkaAnriSKxnApJgVDXhndvOokXfGzklurYBPrHqwoVvCRaLoFSWBgrhanbRcNyMBBpZHLUtAShBVjErPfftdfisvxEvvOZrhsfAPQXOPdITzPKvZtGvzgGbNUcsckgUhYCeTNratjENBvIReZCpSeZMedezlcBYmQvvKbSuDIMcaEeSCzveREDjsApcQmHPPEIkhMhgQzhXwAxAkDYXkwbJBCJItOvLYIkwbvYAnnWYizAkHayluGlXpsSixAjRzWYBtCXOFfhpdIVUhTKUinjftXbUSPjuyuRkrRwtNAKNjoyPFGVBLsXomDBCWxyjRIFCLWRHjYDWcTnpSlpUPSlQBMgRADOsRtRXVrjzCuhaNQujJDUeCuZCXDtPPSpxFTnHaRRFEuPVYiTHJWMzLyEhRlJCrAvDFcdBANbhcklBhTKzjPLrlWyt", "gdcPYZOnkpZBUkaYigSoyZhFSMpAOuRVvBRLlUqhoqOPLJjmugULvvshbqmqAOTnXLSavFDhuYCgWlcBdtYKUgzTWGgXaCEAkdtRKhEwZMrrIWnpJBaiiPhqEAdvaxBByWeCROExHzcIyislNBeDhSSobopABBhuBubZIlmHbgwkrJOjmpMbkQLroqvJypjGTkJQElWAWEDOlhzIFBwYlMKNaVPxQcqStTyxYnEVXfkYVWGTQrohNgdYsnNwTcrJAFIbmrLKzsbtwTFOKRRmagDqQLgTJuHmrxfJbmVkjUQISfFwareHSyrROqbscVTBcnpXyzbukMsmIBauNLReYQcczZvuANTNMnHuUhEvuCInhUYPstdWDfpGHeyyQvXWrIlQlkRltOKjoyPQeTcAHGvQXjTgYGqCJSzwJuWZKLgPFAWfqOFUytJXFqsHfIPrepjjsSKsnPMiunfkgOluvmaBZKavlwRMZRvujLutSAMbLZWoMkhWPImqazhnZkbg", "fIeonlsxjUjpccHuGzdDFYUApRjAdRViHKQSHBtPuKJmJGKhNKxnhhFuRvTMIZSKjSZfMbXMWFmacMktrjXwalQhnPhzQimGCbtMOJkdDLhQcfpPEowSKLpnnngBClZHrpBZUrewfiDMILePfBWbCshmPwfTlEegLxfFlvXTdNUhMhmYIHcPtzXiXjnYgvRBdoiBBFuVQqdnlQvgnpdtaayusIinOBPOWUUusthilPZBVLOeBJTnpXvlksccGSWkbWdfCWCRihWXdvUxWpZtNzWehDESfOWBmidWimTSifRDHGkpzDgHGKmtfcuAfOXpBTXVRUTmchNSOWUdKdaWvleExLiqbZcURxZeHBcxhbkkHdJZNKtyLOIXtasFLFHsmKYAgAjqxOvrAfqYbAFGvUnYKZzKzMtwsljqHfeKfMZNBKVeuddCrTuLDmrIBhMHBcfzIcqVvaJznBrjfnpFHjIZkUGiLenkpxmPiyoPbPtYQjtjEPoNmNegNCZqEYwT", "zqisPCFmCFeeAjcahtCSOOUYLiICFEeiyqnFNICYzkFBVJFQnuckwwhfYlzKxqcsSWYgjcJsnDsQLkEkKDKptIsdXmrXkSRmDIWKPkaXskZJeAzNZlDiYpwgljibgKBuWhGLLBKPIbWuYrXzqeJwXdvOnZBChapJuuWrkmJBsuNtPiaLJolROUoYQqRfgXmQMEumQjvwsWxYjUAVpzuLhccxeODABbrLQFLkgxTiAyPambZdpmragkhTxRRMogIRpGyeRqJuXfBXkFxsHViTGRqYHSiqFLyiZJIbkXxEwYOYRDWHvKqjqypiCbZgxgTWBOAWCyCtSgYimWNxrdxzFcIMGwxxQZJkzaiNnkQlEWbrMivAotWpzuhTCWJEklotiHUUnDpyYWnUJjKZKToECOLNHGMHtSxZwynBtWsPRQZjJrZzDwyVhLSDNzlcOkxRkzJEZhtzrlllpEjOMmYzbZFwlgkOFUgrrGNvZIhTJtioDlZgYaHbaeUFnnsmDuLo", "NZJRnqqGBNUJkURhLExzjJveXIejmtxJOGyphGlQfHAKsutJGQKtikFdqVDjureIEnFkxuQVCwTBcwXGALbznDhxQfZSNSNUPEMEkPOaAZnvYceRRTcmfCCVEjssGMIMHZDmdzQBjpbhaljdFfgWQfwFcstvVrfdZSeusgBaNhopDYYmDdbhCWZHpSKrZBLpMvZosFhONWNDcSBqTGsXYmrwchUTyXLnNALIHLxdyCpDOauRiXqQYsnXSfuhikBSvPHOkriGVkVoanfNlqLgcQetsnhYfsjpKcHkAdSjOJrsKHVysyURcybxNOHXLJeFXfPIiiLlwEYWrmkYQgaPgixYseHewcWLbYCadKGhutAmRBbqmCqAQrZGZPGSvALUJACABymuSdAvlXmqluztRXkKaJgkoLuaQjfUSZiuTdLdNicqCQcsjUihrwukmdsWMpMnKEfHEQaUHzKTZePEkqbcDAugEgOTGBlKrgDvgfuaZiVAbuPlmnCtBjboWcgl", "cqLdtPLlXVEpAMXVkfxWzuXpuZWdntrxVFGVARpwLEuHPFeMrSvTVcyzsuCAHEGeRWXtJGXPXMOqMhYEEzEMFKTyyLQEhWwObpJRbkFkEgRXpfwOghRfQjSjJFLZfhqkjLaFQjDHIqGHejkDkaDcxPdkVSwSMhqGMXOtfbHGUYhkxhvQeJTDFbrAVhYovPBIBRPcmrIUHqPbCYlsAccjLtXSubYIbhhIQTEDepyEgraaAyghdfTJYhKAKnswSxgfBCoiEsVqBtNzeIDwCBBsQgKOAVOcwfepiaghHecFOSKpzdUBjMuzJYyJItiFxasxqAgZxqLGetzaAHTJDDsGEhsJFXYiUxDTEPoNCXwbTUVzcavwZnfaVQQRLIpSptSnvnzalgpHHLKIRCHBtDDvnjfFjJJEkHCtlYyxsmGPqCmeMTcDaJpaPbuuhrhJUNrisFquAYXxGAjKPRETNOHvGlzcyYILJtczlZuYclnDPejYbzgPatiMaLzEsLUbKxmU", "FybEqbZIXNqtZRqWSiaHosPoYEnpnnGqvkZJvJbWNxKUENHdLfgmpZSXtWOYPGcNARGilmwSELrvRVlMaWntGsbZcIZQXGRyQFTjfyYdVgnohGWBifZdWwEfbmXrxgEhxsTLltXpWbhjpAFiYnfUwZqyqFmmJkDWfPfgnSyyLTVvWmkqYTfGXHTOPBiyNeoHWaQTRoHQBHuXVLRgZhBKCxKwkoUYYltvYfLdfWfwpOjgzexMpHoLxWnkvipoedThLKYagbWzHJJnVpAKGtQyPgnEsrqUhexdfBApidlObHQlQVDEquvQfykVWFQWyVVYstELLRlGhLgxcvMlUOgANmFdskPgjyZRqULynoLfHUCszMFgCuCjkmWXbjOdqFwKoWyhfpqDZNVDGfWUfRimnkyMqZnPewjNPGyggoFNqDAlreJRgGnTwWOTtcaCYisDTGUNCqdVLPybBmUXkJvYGdKKfvQYaidQeTKhRRSkXzrZslmXItKGoujtkXzWNSGx", "eVqctsGbpyCrFncWvTzuEVHhZkwsiEIlvAvpBteEmrnXTsomunlYMPOppylFzdYvyWHNINhYVfneINDENlKJNtgZAPJXHrHYEsrKHRMawBlotpukxRwSCLvXTcPgPBmMjBYrBCBCiiOBHRFbWuIgBkWXhzuuRKTRTNCuACoqnsdqgTFBnflxCzDDZsXTHLRJwGzxJQLHbaVSKWtwTvjgmrRmXktZVVUfioGpOIYkgUfsxNbNyMxWaEIXStbjHKBgXtKXUGMtolyiwKVdeGEbSVWLfpekkEUNAEdywMPFXYjmxhtgdyvZzLxPpzIBMoNglWTBqovwnphArmjVvaZbEWDdYFNCvHFYjAzEzsdJyOlzXwInlSFsZhFSVbjdjESgcRIGfQAXbdoWXbbTRuqkZTLsHFGCAPsTjMMoFySjtfttDvGEEaMpLxynQfwHrUOBqLsauBpZPKDwnlKcjZAJRKSErbghpopkPHRBOiCoOaCVTDnHKWXwYzeAEjlkZczC", "AsJHDYDdFqzYEMjltptuDARDePoBEIORxFvycNkhUnGyFUtXEWoaeAmPSJAPUmFQQckVGRFSuxQQzxvvQQUIABGmOMxitMFKtUUlTmuGEwNgSfmPmoMvURWmNzCFbHBJwwnKsDUmjWeamKbStDMcWKJeiqsHIorWtjTtqqdMCfGkZmQmuTblVMAVJEnTlBiMjnmLbyZURNzJcSCvEadPHpXtEhFyLEPhvWaCtTGDRInXhXFoyvDIFxFPWYwZutoTKiZpyYMMzqVedDavwMorJmDMlXHXZDnvkkLiWdfFPydtYcfVynfMLIuIsRWeslGmXTHBqYWvqSHJKUHHtcKyOCYlnMZyqtmpEhbsVbCANpDXuioocKlBGcGOzmUkSmAiWKcAniMyciJOAUmUThAGpMAqzyUmxKpUnqEqJFUTlrbkLzEhVTqbmyWYZEYeWexHuKKYHGfUvaQGYdbXJKBeDjfFOjdpgFKrvcwmkfyWMBMEqrzyJjVNovSLaZxLBsAH", "hTXMsHqSzsNsYLCwqZawTEDLRZPlmngCCDScBZFsorKnCipYnFcZZbMxDqweGYObmHUmYQPOypgRjGQrMqzRsCkNqoOMpPfnYtRNodRVdCePHELvFABxoRabtkRmnmnHxJHRRUmruryVMmZtDUzygehhjopSNmlpCKPRDZcMbFEuTEsMgLMOBVKpSbGNnsRoNoidIhjISOmgJZNdhiKbXQUUKFKjdpbmkyCHpWXDMOQkaVaRxGuWUNiViaAFqdefPhRhOPrGemItVUNRCZszRVUEoEvLFsWsAYdWYaSAPOPvwaeuDEcXVrqnTIOcWcZAtMqHonEugesgyhKsuALOoQvxxAsQgIVpKvkdVeETaQhvqnHqrIEtfNXTPcCCknMZsllEJktXKrtxbUTYPnXHIDEoSzwukJjbFvUIISSwRkbufJSRZkXElCBaIlMfitRwZJohVyvRoYboKBYSbKXPgZAtiryNjBicbIqnuAxmrgtpyvgdbNjXPckIRLOSDLnS", "EHbUEYkysNCaJEmJlZcJufJVzEBamcdfHPstluIyKaPaWmfcKvXYvQcZgxNhfWEJOVGQlGWVzoOvNzlbZsnbIAuFMIFQOrcwhcUmLPEeSvcSKIyFmYFdFHsPGehaeFkTGNpCHeWopoxBokGIAPiSIyoTZLVVskjraFsXWiWLLDReMgBqDEeoDRykriskKKhfiumCymrBQVVUxsVlZsLyAzJfKQNDSpqkNICdZFQyXkFwsaYLoqQirdluWWoMalUhwMfPVrrjgPtixlTnzjOXqHkKJyVmOUrTzUgOOtLSVjRiWVPVkdwXOavnxeXPwnpCxzFmtPJwGeNWTGJwjcRWyZDJptxuZDSdORGjIYSyGsiOtsisYXHmzZTXfiuPHuHVoeiFJNiCsAgMaNGTNciOUEEHkFlMdJsCDlsUBtIvZgmSdPyxflJLHrHSKrbqFBPdDCgcwkptTVqhzOkyNhQHijKRdZVBOAlKORUZfbPfpAJNCjJusBDUSEZJSXFxcboQ"],"c_map_int":{"c_map_int_1":468220225, "c_map_int_2":-604072977, "c_map_int_3":-1946558011, "c_map_int_4":-1895558030, "c_map_int_5":268427950, "c_map_int_6":509385392, "c_map_int_7":-1354762924, "c_map_int_8":1820435410, "c_map_int_9":-90509201, "c_map_int_10":-1256111193},"c_map_double":{"c_map_double_1":68.9481312520911, "c_map_double_2":48.554546740955786, "c_map_double_3":90.1629326769307, "c_map_double_4":73.37817173113233, "c_map_double_5":59.79355453355601, "c_map_double_6":30.312600174483464, "c_map_double_7":29.667098888071024, "c_map_double_8":98.93637433745451, "c_map_double_9":17.93556183194871, "c_map_double_10":70.02526106659252},"c_float":95.250786,"c_array_tinyint":[-50, 95, -123, -127, 24, 104, -35, -33, -28, -78, -72, -7, 1, -55, 29, -86, -18, 0, -101, -37, -21, -23, -103, 122, 37],"c_array_largeint":[-5576418321247556861, -1326138040890275081, 7554914382276907859, -7445177030200482609, -915763014166339762, -4592058722025264274, 1286875677135018370, 7137056678942061262, -702895521570553778, -8340451731956837760, -6971402578759697650, 1346136115237590471, 4520018639730609463, -8898015638632808450, 3820615393668258572, -6263458778929875609, -1617207640906879095, 6629819287462951647, -3585157885897236340, -9102818535941563935, -1775643755054327250, 1567054726624907518, -6276866813303671348, 5044664578325781629, 947267656094254447],"c_array_datetime":["2007-06-24 17:19:27", "2004-05-02 22:06:38", "2009-06-26 06:50:40", "2014-02-12 00:43:02", "2003-03-04 16:07:13", "2012-08-15 00:54:55", "2009-07-17 11:05:55", "2005-06-03 13:35:45", "2012-11-08 23:35:38", "2003-05-02 22:00:14", "2008-01-24 14:18:52", "2016-05-12 15:56:53", "2003-07-10 06:11:37", "2014-12-12 17:51:19", "2005-11-03 05:57:24", "2008-01-05 17:17:33", "2005-03-22 11:38:33", "2014-11-13 01:38:27", "2000-03-01 22:16:15", "2006-03-10 22:46:07", "2007-03-25 20:51:38", "2000-08-05 15:34:53", "2010-03-04 18:26:44", "2017-05-21 14:18:59", "2009-08-10 19:01:23"],"c_array_ipv6":["YkRsNCyFNI", "hBqHcJscKT", "VOVkzhDSAc", "mPdZZNvQaM", "lnhgEkyfGh", "SXkmDJSrxS", "NttlKNtejR", "OUdrXjPcgN", "zGCzFOfKID", "lsWFBujGHq", "NMFOZUqjVa", "JloEckEiMX", "tGSxwKsAFh", "qgtPkmNxeV", "SrACQpMNnl", "oKBBtgRvKa", "UhBizIYGRH", "mNKlLDgYGu", "EEruypGJMH", "xxkeujZzGu", "LdknOQvFFb", "XladUYSTnk", "xuyVOuhDVP", "cjESAZYMFl", "ZBniAhHKHW"],"c_map_smallint":{"c_map_smallint_1":31299, "c_map_smallint_2":25349, "c_map_smallint_3":-27027, "c_map_smallint_4":11107, "c_map_smallint_5":-9445, "c_map_smallint_6":-28072, "c_map_smallint_7":5039, "c_map_smallint_8":31437, "c_map_smallint_9":4053, "c_map_smallint_10":-3318},"c_map_char":{"c_map_char_1":"DdHxRIEPsZ", "c_map_char_2":"dtabZqBNgU", "c_map_char_3":"sWstCubYqL", "c_map_char_4":"zrBXrJrjPe", "c_map_char_5":"BuYglHvXyz", "c_map_char_6":"HqOhphaAia", "c_map_char_7":"SCpcxvuKyU", "c_map_char_8":"zqjkhvUGDI", "c_map_char_9":"uSapfTTECw", "c_map_char_10":"zDQyjVqFhJ"},"c_map_string":{"c_map_string_1":"mITxRpavdppByOPldrkzcBDdyZzWmChXjdZChqolnYBGmetLlnPiizfqGTGCRwvbTkcGlUCWPXCcyttqBnCLushqdUYAtxoKjcpGrfgKlEkhbEfIFPefcSBHjjrtXGprDUlCWMWtJQxkpIwgQVyOAVfMBkBUrBMCWKUbfOnFzdqWutXkfdsiXVZHkuBinhKBJcCLVpfrISWdjbkAFZOyYOFTdQAWSisvBliHougzmiChKphwJVOfypWhoBiaJYTNhBNLTceHrjZCXpQpjeSbPJyKGIrcuAtfuzEQhhNVUFPDzeyrIhKTXUXNCRXAOMYQSVzMfGHzybLNALNZJFMCRaZnjUUcCEHqJjMlFwnGwqRwHHMLfBwztlgiUQTVIakyMSPFWavESbAqJlLIoFFoQkNRmZKUHHGbaNEYViRJhGJGEuiLEDIOxAAUogmcRiSKbSSQKvMdOGagPwrFRXBHrNbivVPUAYUDpwjGNibhvwJjEohlQARyFSfGzNQmeTcn", "c_map_string_2":"EbjWsLFWcfbpaDpNmazhNxcFiMMgilRgBgOekbLqlCaiCHIhiJSQoiaBLIXJAaVMLKzBeTBtjsgIpoVJzmScbfrKTTLDKEdyXRCifrqpmvJiiqZbBfGAZCwzOGAjHGpIaDrDRBoFLSvkodSyevUowrhCRHSgfIPNxgCZcEQcSWCmYhkCaruvszRwiiCzeoucqRMvEzBByweJBiQcXEBmyHqKaUYsEkWIYrJFgyIoxbWFTLPJdOvIrONHLxHNibjIaUMamLAGoXHFgJARlOYiFuBaFUXLzwrTvtsKUNpZIjAWaSGWJqpnCwTLwcpUaMugXFPGsAFTCESiTuNZAyPNSXwhvKOHPbXFbBfWMzdAeoZCicSJsiKDKttgeSSwdEXBpUhjRZnYMRJGNXZJKTAraDPWmnDZkHmmZbgbYBqInIBMAKrrgbyfmPagKvqCHVCjydSPcKAGoIisPISVZKpAeAEHLeDAxwBSDCCCSpYeCzWqMjQAVnTrXyXtVgRTzXpa", "c_map_string_3":"bSlSxiwhnjZpdosOhLjsjNNaTdPmXpxyWyOOtUqbUMxuLSBHdegAaLCWcAPnftYHOgAWugotzYCTTzBMCSfoaUgudUnaYKhXYsrowVbJKjwEwJRhxuNADvAhvXxRgtWQTUHkLwsUhupjOKhYBWVNZnNdSBtuzPLpGOLRMzgsIWgisqnujOTSZRWiFImZyHHvwxvpBiMnmiajkpXEPMvTKHcZgNQlGmQvDIyVFjYPAIMSnFfoNMEKbOykNZQePnMKKzFYESyLIjvKGJACtuMEFCYscnBjvCnjYNQifePQmtLJuWUdWYfKFwiAoBAxpdVTcTMToWfLzHFATCVbEEsTZNnwdfTdSaPPcVvgJMDrCtvWlrOYrSKhckauBjbKwEilBFXxdDHOCFjYXPlGyVavRJAQYSEiLUMqbaHtVTKtcoMbADZdMmRaullQhVJwNnUHyLSejXOWrrMKFsWMZBpZmwzehihBgoSYHeKuExYEfpIqjkpLVrcDSSwRMfqSHEQf", "c_map_string_4":"GjypoUTxWMjmMLOnkMHUYbYrQBKDaqULsQeYAprZPyRMZlfIBwtWasbmpWFXpKUHXwUHXDpoEoshfsSoMdeEKVNGsePMbsjtDDlAXaujccRzidJPxtVngAyzapwkIDNllGglzKUaTpAnAdhpieYVUSQfnMsMgBAExAVZMMPTbwRFDxjLnCHvXNGXzZJieVyNEqwJUOoVqrqrAJpoxddNQyyPBRyANXixmjtnaWjWzfxGOHwyCFMRurXfrtqRMOAzSyFmaElfFacWDhghZBjoCPClPAbVilNVxJLDDBxBsSSKZUNjXbztGWHKQNDfvcWEidzoEndIwPVmUPJaGciJBsOARLMIrvcPwvWotyXsKqWbbQNdTFeqCRelvmHgNbNAQVasmFUuWhhJzKZSJuCwrNxwsZDBYmnxgRJhfJUIqMYcaGwHzEHadYqHBbRptqkhejZWlZhWImVIvIhWqBoJUdJXzXKBmRRQajWPdLOgbypwRAzfQZCRyKZwspFrlpkS", "c_map_string_5":"NlSJVLOHevGpZgJRNMuYEFzPCDDDhAsqIuplPUMUgmmWBYybNBNOUEyvmZROdvuNucoWmRZWxeYWORNIyThmBYpXoDijTJOmoQsWzGyQNNfmfbLKasrWzftshIeHAUacbHLzzhFperbiNLAirRgNlfcYPnZMGDQJibCcppZiZuCVEWKBCNaNzTXOoMusujBcBERIHdcTjVWmSMXhCkwGZuzLAxQBjVPXyToSdIjzdfCiqXjCVoAgZCiCTtQFHSNUhTRNSfaXtfqztMrTrQWpKOcElzaXqGuiQklJPkVrivsdOOYyEPujVinCLzxNXtDbsXYxslhitdswkiUSczNmYHYzuVUKULjEneLKfylrFYaKkfZtGJHeOeqCfYtlCVmsESczYcItwIArnchxnIBiPeecEgJSsOfBncUcSYJQQYoMaZwbltZJFTkuvUYvWVaxRVfxpcCoxUrhaMPEGYlVpbNRqNYDRQjvXnPiZoJKyqwMjPqShCPhSXnynqUPIUUl", "c_map_string_6":"BqvhuTQVSdCbqcVBhRmmsjkPqjeJcvgccaQWHfQcKYfAGUCNAEJMrwhqnAMUMzgCmtMTLxFkhKGmkmpEfAeSuOAUMJJsutifVHOIAogbrNCyTcBjllDCKBPbclAWSByEglywrHNPqlALvZLvFfTiFrpmbmHARiTQKxHrSdDLuwoPbJiyKUbuMrRAkFJfptvObeMGrRIJDUyhsjpolSxWTdHilzGAeEoYIjbYgtrChSVPPRSLdOWIzLdZpYujYgSiDFtGYhMUBoCyjCtwTmlxtszEgwCUikwXJpmuUCEdEmDOiOQJBCfOOpsomWGSsTxnGjssfdKADBhdtfNvTeOMMozJcBoRVOgbBNPUtammxecRiETWOydaneUDvMsyDRdNDfakCNHhiHlkTZigxKDKDXNyrvGeqdLJVXFHQBlkYmAYeWLIDNioFTmIHZwHLGnzZGhJCXPLFLoiAMQhWyTCMEREHPXjzrvTaTxALuVsUaiRjUkoVlZMFspqrhOFHfdC", "c_map_string_7":"vajJDlsvyZlcnqvWMnKTaqxkOohwhSRoyDgXOYPvTfqDMjPjJokuYpVNtlydmZmSZwFjGlMgjsrvJZtahINWCOWNwcuMiozgLpTBJPGxXKAqIcrVvhmFfVXzSWgMzhOHfbHcetSAzriSmSZiduEMeEKFfZMSYgyrCWAnSJJukxDkxhLHykBLCfaNBmwtTAzOcvWKyakmDFOyNQCBlQwuklsvZasPTlHUeXiFxnyTDbcMmSrNOLSVZgciebKxllvcxbiCFThcKSNLAlfDhLyIgysicuHWKbVriwNoMKeKEyWXVkJxBARnOeolfjEjoqeWgrVJgrhwqVKNRjewvrAuzDwoRFBllBhVasylnSlmvVHGundZnlvfhcijQuMOUsNRGcbkFEsPhnrSbzPXEDLrVJUYYspaYcvVFWYCqLkUHOvsekhJxOldtFjyumzjLnYpQqtyABPQdpodrkZkHQOvYLuNcTLAALmSeOWnnKheqPsUaRGutiXCSDLfAfGsqxtC", "c_map_string_8":"BfRgxlzahuqpTSeuvBKEozzMalTINxPNUczYcvspjULSJwCTaRYiONlVLSCuTJUVizccTXaZkQEEbuFUtJQPgNlQFLzIWbJbbuyqAOZOGXrncWeixhdrGfWgtTcxughEGdxYclKwfKkuUGMWTvQLcMhKUfCXLHGheNcUceKhwhMDItUgBcKqppFlDkyDYvkhoXWPukOFwuxJGmYKEOFUPSSHZweOSCPtmbjwbYdCMrqftUCCIratdvmtGZfMwwJWNZWUJsNfAqIfSYhBODkuuUtyzzvgqGizEahpCRRWDofbvzbryVulmRQRabubPexvMITpeILwNodUvqqJvLCfXYDmokpUuTrNqFQREoUEqSLyINhqMogjZCuVXgYSWMugwADvConRyxqnMaLhiHwjVDnvvAHsqUjxsEzngfalbTNrBhmrbRnmVERMkSvkebGxDfhebjBKnRjQBNpjAqNdYNpXkzHYBjYxZpGhioBHWMjbCAtgqRGwIygTvXmPCQLo", "c_map_string_9":"ScfhojArnhNZFDdEewYjEwuKkFnKXRwyFzMXFRtQwgHJphpsIXfkOlUzWsAYhiOYALjIyKUHQmGhWaShifNRlHgEUtGLdCbRacdVpjmrKfNJwxNVspxjaaDYWgJNotVdtzwOcHnZnMPyYoaHFBhTUkYjqGRqQqMQwXcLgOsytHwpiSYTylyHClFPVVMThvcetXmtTEjCfnLwnMAXWEJkiXodXUlwSEJQWYPrAQnCyfcqExYEiKXBpvugCxRcrRmAbLEdSvNWISvqXhTNpjWXlUSiiwEwlikhUqRqIUteHcLLUMYmkqdyyLemteOnTviyRKGMIRchKpqTMhWQRJwqlhWcoUXtgnyYcyrZvLOBvxVUtdhceMvRMYvbmNExDrRNSSSHBpMILlMdtbPhGSkEhPAEZmWMMPOTifHeNcIourvdTZtSedaIBRsxGenoUFPDIqjVdnmFcBTyFdzLcanCCWLUHGZPXcGjLHgcrZbGhdScflDliTpabjUrSBmympkc", "c_map_string_10":"JLGVjRdEXyDdnxJBRIkZqxJHonbaOYUddaLdBtUyzcdnYaniSdkDCrBxNqdBTuwrKjizKWZIoaiLTdOtgXbYboTlhdZKdwywuIFGoNHGsUipnhuMcEzVHbHwDgwXPFVtDeOBgbElQmHHEnWEKfivzkkMbznYPoiXJNnRJPwPNnEWnHVQGQhaMOqTIiNEvqCkRQEDiDdNKhrvKqvWhDhuCrbNyibrYwZpyHShIqVNrKgCmibOEutfxWdBSIVxlGxhjmCZIJGKVPcTPVBnPDKkznlTDCCHibpVfxusLgRXILYrJufkNpkTQctICfeGQKNctAmvWYFlqbnwkanSjuGpSedgffBaemBdzKhXqpdKCKhQzAYFkdIrISPJAutyfmvVNPYqDpCUPOmLayqtsdkTOzGmcnIBKiMjKAgRrxddMeNNvMmUGJfnaaJhqVsHFBAQmBuhsgeGsLWIRwpmnpcXOnJJkKZonJPtjUaSmGIvBOUfhFAasDZGgufcAPyrkJaM"},"c_map_ipv6":{"c_map_ipv6_1":"70ab:b5ac:7bf8:f09d:3fca:8547:a1b6:b898", "c_map_ipv6_2":"64c:ae7a:64a9:9e59:8f64:8708:9eb0:570", "c_map_ipv6_3":"d712:ffc7:1625:1cc5:5f8:2c7e:66e9:5df", "c_map_ipv6_4":"66ed:80f7:4dc0:ef72:742e:61c8:881e:6bb3", "c_map_ipv6_5":"4947:825:c02f:c321:3ba7:9ee6:4ae1:adef", "c_map_ipv6_6":"7a9e:3f6b:b895:23b:7f49:1630:e0c5:8993", "c_map_ipv6_7":"9283:ba21:8771:cc7b:467a:3262:8218:f952", "c_map_ipv6_8":"ef8a:a8d0:c161:2357:209a:8e:551d:f74a", "c_map_ipv6_9":"673a:bd23:23c8:4e5f:9dbb:cda0:1fc0:94d", "c_map_ipv6_10":"9695:5cd:b997:8869:21f6:cd80:1b2e:e995"},"c_smallint":-2108,"c_date":"2003-11-12","c_array_bigint":[3524626655487062634, -2792651700295687297, 4445459499344166001, -4839148786976975807, 1512188190068947481, 7566229114463883655, -730090917786853519, 4552075671187402613, -6076326931007229190, 2893984597066846082, -8502902372141048960, 3593107168295032113, -2940862175820919090, 9202115866414540797, 6382954207472672432, 8644363050066143673, -447856038469323426, -7916389724660552938, -537570917361399246, 8749013457783184252, -3773832942954995924, 6243328826793235195, -5583650404895412563, -7122669904554559924, 948142204402833472],"c_array_date":["2009-08-09", "2000-03-07", "2008-02-25", "2012-04-05", "2016-01-11", "2003-02-13", "2009-06-24", "2003-08-14", "2001-01-20", "2019-11-05", "2007-01-02", "2009-12-10", "2011-11-21", "2016-04-26", "2009-07-05", "2002-08-26", "2010-12-19", "2010-10-19", "2009-05-22", "2013-12-23", "2003-05-25", "2010-11-18", "2009-08-19", "2007-06-13", "2018-12-09"],"c_map_decimal":{"c_map_decimal_1":38.1579, "c_map_decimal_2":86.0871, "c_map_decimal_3":95.0637, "c_map_decimal_4":78.0614, "c_map_decimal_5":52.0565, "c_map_decimal_6":77.1528, "c_map_decimal_7":70.0305, "c_map_decimal_8":43.0274, "c_map_decimal_9":57.1304, "c_map_decimal_10":10.0994},"c_map_float":{"c_map_float_1":20.988998, "c_map_float_2":67.226364, "c_map_float_3":87.332146, "c_map_float_4":99.21589, "c_map_float_5":77.06374, "c_map_float_6":32.180542, "c_map_float_7":14.194262, "c_map_float_8":39.45521, "c_map_float_9":97.58846, "c_map_float_10":77.75841},"c_map_date":{"c_map_date_1":"2004-01-19", "c_map_date_2":"2000-11-21", "c_map_date_3":"2006-06-06", "c_map_date_4":"2008-10-15", "c_map_date_5":"2010-11-04", "c_map_date_6":"2012-06-16", "c_map_date_7":"2012-09-09", "c_map_date_8":"2005-06-20", "c_map_date_9":"2019-02-26", "c_map_date_10":"2009-01-15"},"c_map_ipv4":{"c_map_ipv4_1":"40.204.141.92", "c_map_ipv4_2":"120.162.36.3", "c_map_ipv4_3":"33.101.154.85", "c_map_ipv4_4":"41.19.63.13", "c_map_ipv4_5":"151.237.176.199", "c_map_ipv4_6":"224.23.247.153", "c_map_ipv4_7":"54.8.75.150", "c_map_ipv4_8":"144.208.111.94", "c_map_ipv4_9":"198.219.139.140", "c_map_ipv4_10":"113.156.121.87"},"c_json":{"connectivecomparative":"additionally","company":"DataMade","creditcardtype":"Discover","word":"respond","animal":"scorpion","animaltype":"birds","ipv6address":"83d2:5d22:6e83:e74a:febb:2165:f446:5ae7","drink":"Juice","celebritysport":"John McEnroe","minecraftmobboss":"wither","hexcolor":"#e9cf6a"} }','{ "c_tinyint":-98,"c_varchar":"one","c_map_datetime":{"c_map_datetime_1":"2003-03-23 14:28:43", "c_map_datetime_2":"2011-12-01 02:38:32", "c_map_datetime_3":"2009-06-01 14:55:10", "c_map_datetime_4":"2007-04-22 15:31:23", "c_map_datetime_5":"2013-11-27 02:27:11", "c_map_datetime_6":"2008-06-18 16:32:34", "c_map_datetime_7":"2015-10-01 15:34:58", "c_map_datetime_8":"2015-07-21 03:07:26", "c_map_datetime_9":"2002-01-26 09:33:33", "c_map_datetime_10":"2006-01-18 19:46:47"},"c_map_tinyint":{"c_map_tinyint_1":0, "c_map_tinyint_2":50, "c_map_tinyint_3":-107, "c_map_tinyint_4":-111, "c_map_tinyint_5":83, "c_map_tinyint_6":-25, "c_map_tinyint_7":118, "c_map_tinyint_8":-71, "c_map_tinyint_9":85, "c_map_tinyint_10":92},"c_map_bigint":{"c_map_bigint_1":7273484865647786489, "c_map_bigint_2":-2390293609445421304, "c_map_bigint_3":-987697594302355813, "c_map_bigint_4":8313388248126822245, "c_map_bigint_5":-5910431419336280173, "c_map_bigint_6":3337500634816750227, "c_map_bigint_7":180372685087845921, "c_map_bigint_8":6785534867248272890, "c_map_bigint_9":-2761663992064359037, "c_map_bigint_10":-1576556335654746480},"c_map_largeint":{"c_map_largeint_1":-2229614698902988778, "c_map_largeint_2":-3755270042549568997, "c_map_largeint_3":4889286620331349208, "c_map_largeint_4":-3005034870351891194, "c_map_largeint_5":2790130312510292483, "c_map_largeint_6":-3919573511632191055, "c_map_largeint_7":3561531990944934749, "c_map_largeint_8":255811194324547801, "c_map_largeint_9":7849488784073390901, "c_map_largeint_10":-4536362515557137206},"c_int":-4058219,"c_datetime":"2003-11-23 01:50:04","c_ipv6":"8d91:4a39:f6a3:f809:cc1a:9283:6b94:6a7d","c_array_largeint":[-1161896252808911905, 2778758251994252125, 9113404516692958164, 8893979533475247661, -2342395688402461726, -1145107361255255133, -6380897398775641407, -677204556633360310, -7183819623273761196, 7501894399342402285, 2384298363151247630, 8298115534046047304, 1135533937009920223, 2938420500274319318, -5380371497360756520, 3418565487075165645, 5363895103703422885, -8988429501586207607, 8066151357640493694, 2529335526356557831, 3564257498772631119, 1557829697089726878, 271435711416052804, -3679067175452378540, 6479664622829627021],"c_array_date":["2010-07-22", "2009-08-26", "2000-11-20", "2006-05-01", "2006-09-27", "2018-12-03", "2000-10-19", "2014-06-03", "2001-09-21", "2009-07-10", "2007-09-24", "2005-12-09", "2017-08-19", "2001-06-28", "2016-01-27", "2008-10-21", "2017-12-12", "2014-11-01", "2015-11-21", "2002-01-17", "2006-07-27", "2010-08-02", "2011-04-01", "2019-12-19", "2010-04-14"],"c_map_float":{"c_map_float_1":27.615587, "c_map_float_2":26.844082, "c_map_float_3":81.73363, "c_map_float_4":27.746393, "c_map_float_5":29.802738, "c_map_float_6":40.008945, "c_map_float_7":77.887695, "c_map_float_8":31.374374, "c_map_float_9":29.977327, "c_map_float_10":52.675835},"c_map_ipv4":{"c_map_ipv4_1":"173.73.184.192", "c_map_ipv4_2":"19.212.164.77", "c_map_ipv4_3":"174.148.52.165", "c_map_ipv4_4":"21.54.120.197", "c_map_ipv4_5":"119.129.74.45", "c_map_ipv4_6":"12.198.73.215", "c_map_ipv4_7":"20.140.74.112", "c_map_ipv4_8":"147.108.124.149", "c_map_ipv4_9":"3.10.128.21", "c_map_ipv4_10":"218.240.75.231"},"c_array_ipv6":["ytwFPJaIvm", "vsUZoeDHhl", "YYlXtwbkKy", "XUaVHuRdER", "uwSvcVhLyq", "yqoeTMMDIl", "VpwLkaPsMa", "cMFymnpxFx", "YzXbYATJYK", "slcMnhXkLt", "UQIjtbwarM", "CfpTBEyfsr", "SQjcDpSyBg", "lwQOcjXAWy", "HZvwSfFcro", "MRjONNFjzl", "KRMUzaGICd", "bwKHJJWKea", "QEEAjmSDFW", "hwmEVyykZH", "kxYQINCull", "ZdjPNYVpiG", "hhUtMLtQpS", "KNzCysBDpx", "cJLJnsOhHg"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_smallint":{"c_map_smallint_1":18374, "c_map_smallint_2":-28849, "c_map_smallint_3":21242, "c_map_smallint_4":5111, "c_map_smallint_5":133, "c_map_smallint_6":31898, "c_map_smallint_7":12383, "c_map_smallint_8":28073, "c_map_smallint_9":-11957, "c_map_smallint_10":20858},"c_smallint":2999,"c_bigint":-466604636263565754,"c_float":1.7590001,"c_array_double":[57.69279044520291, 43.43519857446792, 75.17047682449504, 96.55389875188065, 25.97515611131928, 40.83584079550224, 54.36589505118675, 48.64436053861052, 7.434191558248581, 69.16335389542319, 22.26383972781878, 82.51606583642867, 93.18465287943782, 26.091431454340842, 64.26371833597133, 30.769829495755307, 18.44924551842397, 79.23894270881313, 91.61329049459648, 20.89248575510132, 8.332101067040808, 58.21785981020222, 97.13842542337788, 2.480028653349672, 76.04415927560204],"c_array_datetime":["2013-04-10 10:21:20", "2004-05-25 01:21:12", "2017-05-25 23:06:58", "2012-09-23 13:18:33", "2000-07-20 05:19:33", "2019-02-03 08:18:16", "2012-11-01 11:42:02", "2015-10-12 02:43:02", "2011-02-04 22:09:19", "2007-04-24 16:47:58", "2006-09-24 10:47:11", "2016-11-21 10:22:08", "2008-02-21 18:58:16", "2009-04-03 17:22:24", "2004-07-07 08:45:46", "2005-08-26 14:54:40", "2009-05-15 18:27:50", "2002-07-04 21:58:21", "2016-11-18 16:32:29", "2006-08-12 11:28:53", "2007-09-14 03:29:09", "2004-11-26 11:13:14", "2009-03-14 22:07:03", "2016-05-19 10:40:44", "2016-09-25 08:17:38"],"c_map_ipv6":{"c_map_ipv6_1":"c66:78c5:2528:3bc7:d82d:59ca:7efd:7080", "c_map_ipv6_2":"2b1a:a32a:500:1a07:6ff2:5810:8870:68ea", "c_map_ipv6_3":"13c6:e353:1e0b:17:1f03:b810:2d0f:2ac2", "c_map_ipv6_4":"ebe1:1428:567d:88eb:ee76:a052:929c:1a08", "c_map_ipv6_5":"581c:3a98:bc0d:8600:9d0e:4e5b:5e8f:6fd1", "c_map_ipv6_6":"da2d:50:910d:ed19:6450:9384:b493:ff98", "c_map_ipv6_7":"5bcf:4cc2:9de1:96c4:465a:a89f:8a8d:3173", "c_map_ipv6_8":"4bb5:f2d6:45d9:96e5:2b6a:6eba:243e:f0fc", "c_map_ipv6_9":"bc20:acb9:2a48:b8c2:8ae9:32bc:45f0:9a8", "c_map_ipv6_10":"ecdc:23c5:3023:710:e029:9a64:da8e:a717"},"c_map_varchar":{"c_map_varchar_1":"DxaxYbtbUsTCDWYxVOUOmSKwfCcIYiVcOWZYsUbsaqFBuoproztgGjVMnFAxAIAhLZwxjYBwWwFLYFgGTadGKIahRhdALXXrIrWoBrQAksksSbqXqWEieGZbKfpdTouqWaHFpEkXQiMUXWsqENuRjaBKaAYDneSdAMItlUrVpnTYabGxTrFVocqeJRyUWAMvQmXgYJdzSEJBrDrXxtmRCcgusRCZwHIyyVVzWKZqLULfzVOqheenfBJpzcVoNspm", "c_map_varchar_2":"ZePMKQQjkQmkbKfHaOQbpdIThNNMtpZDlbRBCVkAKXxsDRxIOFKEgnaQezosVeUEzCUNTdONiMvnLZXbxcZoGmlDwRQuUxxqKztpWDdCWcaPElHLXFDPVwFclCaqADjlcsQtbYQoylkSShaefSWuaWrbHqyZmrrUjddFrTPJOttcglcgcdHpajtZsxSzqetoAlsSQJTmmxLmJiQBkGglYFMHRgJTKhfrrBcLrOSTCOReFYhiMmwDepFotbzIXUYk", "c_map_varchar_3":"OaudLKGghwDdTbcQoPgOtnuMmTFqqkHatSgWDNVWYKxMvVnhsBbWGBBpnSgAAehRyODGuQnWfuTsPbQbvvktvnxaWYfrVKVpbHMzXiWRhVzayLqVUPHbIhfSfgfFkCPLEnEhXBOzdCJfInOzgOaHHqaCUVBjVRtcgPLNmlgbVcHyUCPVrzaQncnHRUfLRuNNytrHyudZKszOeIsBZZoyGTNBtEvYFJAyqVnqFDaegsJgDshPSOSYuJfERIhzOyRr", "c_map_varchar_4":"crDtqudvtHwOEdvANCIpSsPXdeIfMRxFdlRtPduaehfAZfzVkiOptcFLOdgZUTOZilkigBTiRNDnJsiaDePqhzbeQJqwvWJsRnSVXwrABZDNNcPPXjOswDDydicZnJyLRBjYqgSgoEMNWDicAjjRyJwyoZjTwMhTxnnAuQTyUQeeJIPJomGFZdLvJrVRULyJBugCGbrqhnhJswvOYaLzqnSEyHXbmeyUmWiDOSqFDSZSpCGSoqKvjQtrOxCfoeVJ", "c_map_varchar_5":"abQXVoSuXyfCzphmSVxHOzwqJHAhzGXVrCDrDyjSPQbmHdIQVYhXiyLGpfUldmKKeHOgNECwgkFFTvwufBjtkNcFwbNTMDpGLRLcLIkhYrInjQcxlwePvkvnDQUFepOfutOzJXuGJGCHzalnpnWKrdFEGIdTbKXaiiBnjFpkYLWhMwFEnWUlkrvLplLjJzyXzSXLjTdDkhLuenjcVmnGpQIMkFuEmeJdCGAXIhEkBxFKcodEAsTPTNOidqPoepqU", "c_map_varchar_6":"foDoGQIpnSdTEIGTYxcFDyuGZvBymkRdshCvnTqROPqAcKwFEumRkBWotQSSmGdreLUQmmhNjqrLqPHpeDshupwIIPcyYpbCMpXiGwzZnkRzhmhJUKbWtZIUjmGTIxCnBHWcVchRBrgpkVuLokAEaVWuHOgjaSjPUYMymrlpfPqvsrnnzJebZbVytTcpvuSxMlWVjVmWdcclOIqbypjgQrOTvfQLdXlblSEEjQvLfxhIjhjWTROoCvAWdLaWiOcu", "c_map_varchar_7":"LJpAPYDWCWeNweGoMmAUMmBXMHVvoUbZMjgvEGvQXmVAfvwXKXHWdJvhgEkLLJnsakcndtxVkGNBnrAMUcQNlfyXEcqDTJlwvUiisNpophapaHspaDllxxeALXyybtJONjYPfYbAVdghuXJvqyxunCyfNYKtCDEUzpnpuoTtwJaLdfqifSnGymECZFGxAEpQKLLjWnsjGJPSpjtJxdqplfNSWxzInFRbBQDawLFcOzSUbIYourMITyHtcwhGRfDT", "c_map_varchar_8":"BSHfaJVUAjHvLGEEJlVJyauQqITZAfuxgaXHZLOGJENfhStOTKAcgIfBodLvwQtEBZhXgPhOqxvPMZybyFgrRiNDhKGHVkTLJjDHOaDLBShJVImbIvYQpIXnNzgsEOUSGWmWEJuHBNgMnYIJIFKzvsAehYUbFbahRdsXMumATtTCWMSIkXZlDdjbnFsDKKoiEnzMUvzikDjZkiseblLQrCnbWpglweendNYSyhkwzFyNrphpiCFWQKpWjeFnYZDd", "c_map_varchar_9":"qjUlnEpgfsRXoePCqFChWFXoARwVSPsABqVfUSUQsztAMwQiHKYdBMzUJKxEunEnpARvKJLjIuMeuecmBbLmDsrfPjqRIPjuDQoloFTVZSgjIGVcCCINXrhgBkrKkYesmXAVQGdJLDrXTEMbdpeqJzYFdyIwWQlbOLloaPxagGrcuENKaCtQvsARKNCWEFyDFIoYvYdYbNGjpISPJaNcgmhpMppnBCXyKXwFynDGonXQCIxHqnsRQkEbyECDHAan", "c_map_varchar_10":"JSVamyWsIszvkbiBGZRPMPQOAsRZxqlOWbvByrswwvQzDtssHuRUreMZPLvQdBYzyrmmeRacYlmyoNuJtTQmcFgnSEtDVqqIDbvUHWDvbaXAYkfcRTCrSvBkKsnYNDMoLtSEkwFehLUZcPdRtbcdTLhrrBzsmNHmBTHXqfNNyiFcducmeMKvskTdLytvVKtYWOpvDQILQTKWtuEougklFRHrREpQncYKqnXTPCVgpxCMXbVVBQgxWPMXoEcKnRKj"},"c_largeint":5650178690214327596,"c_string":"iOuweWrKmNXPLYfPhIHyfajzewkwRzyGFILifagiqJtEmDjYWpyOaxfXvqYFyUQmPKBzqNYGFKoKPZQrMIGZZIGCUNPyDAzsMzFAPdWhCQMOPvCLohEosftfeYuQkLEBbTiHjmtJOncZKxhXfHDSwwfAIrQYEmTTPICzwngQzlZqXbDgCNEwGLuvVDgxGjeHIwvYymZCnlEQakDMCUicmSKVORsUwoMifuwaOTODAIlNGcxNIDKQoyVKLivpvQgqPGhApXMWpliuIOiJqOtKpTOvhcohZrRwOfoHArDNvBIwzijiLtLXLjSCDyrlashjjMfXrGzFRJRBnGizIuxODlfRzPCHJpFcDnnIKPRzndBcobOwYPeUolYevDoChvykFjVTJqPIPdZGegvEoITdMaUCvyLvCFHAFNbtBMFKZXXyWThXvMkGMHbgRutNoGHmPzkONIzEhSenxgMuqceJTqvHGMqYNYbTXcbkRGTjZMqPtOrqizAYDzqedVVKdLPi","c_array_float":[83.42907, 95.02959, 0.9254588, 92.364235, 43.93021, 97.98836, 73.0394, 37.370502, 50.75028, 60.77795, 80.205, 67.83399, 50.1088, 8.761345, 50.124897, 82.69584, 7.723024, 68.0222, 59.104504, 11.2540245, 23.825975, 46.2964, 93.19063, 68.29908, 49.6038],"c_array_ipv4":["wDtuWAHKeq", "SnOzlddTfb", "OaiXiLcLyk", "mjnhGAdUmb", "USTUknLquK", "nbIrzAIIla", "RTjnCJBgpd", "JqGQmFENVO", "casYGQjpDG", "KJJdjDRYZV", "UuNdgjRdyT", "wfvYgShfNq", "nDRNFBTQEq", "buRZbCkHbV", "sZrbXbLIaR", "KdkoUhRvGP", "pAcxugzLKb", "CWrRqzwrpP", "tVfBRRszjb", "mNFUaYjxfQ", "pByLGfuMCS", "tiedQTjuSD", "yTMmArcyLj", "GTVIpaBnPL", "gAesbbkFCk"],"c_map_double":{"c_map_double_1":9.170863348401202, "c_map_double_2":52.93094918719625, "c_map_double_3":58.07481123092633, "c_map_double_4":34.53003281793683, "c_map_double_5":36.321970354338525, "c_map_double_6":90.13849423116746, "c_map_double_7":87.26915671849827, "c_map_double_8":75.54412818339937, "c_map_double_9":36.17638860153787, "c_map_double_10":23.889218913730392},"c_map_char":{"c_map_char_1":"JEFDtaMvzU", "c_map_char_2":"AtRgRiGuAo", "c_map_char_3":"sWpxKmukUU", "c_map_char_4":"birjkjrrTT", "c_map_char_5":"OGLxzDkeZe", "c_map_char_6":"LatlQfqRDj", "c_map_char_7":"OrdolZnwnE", "c_map_char_8":"zDVDpcKwkN", "c_map_char_9":"LLFygVzVEL", "c_map_char_10":"TTjMmixfJn"},"c_decimal":47.0138,"c_char":"GnmSebBjBE","c_array_decimal":[6.0967, 63.1863, 14.1794, 24.0674, 29.0543, 80.0321, 69.1150, 56.1214, 49.1712, 79.1524, 54.1418, 50.0712, 84.0496, 59.1891, 91.0252, 91.1788, 25.0279, 96.1526, 37.0991, 75.0954, 11.1896, 97.1905, 23.1650, 72.1619, 6.1010],"c_array_string":["TWJmKeTUtrSmNujbTmTldpvDeGahrHAFGtgqNYaIjvFQkGHqAtLJlMFxdnPrSmkBeUwQSULMWroDqYYyZByTVrvWLnoDibWoRaCUVaZsXOkgoPbvGfeKLUGRkSoKucQRZGfWhJEwtFecGOljhViSwPFPOSWlTmJGZMDHuPSeTrSzaKwqIiqrPSvwUHWDecXlRDjizajbaSIbJAjRtKxnCAAvDrCMMaKEAAHNQauIPfUIRftbLKBuiCFfhzgPptraylfpQUXkwUiEPjilQSXTAVEkbXNakcVLgjotvdWbBKQeyWOERUFeBWDQuzbxYGIdCRVXCGEVXDoViefToNWVwDUsPTbotivBNwNXLdSdxZSgHOKfDCaSEGJmqDXDZEvhTNnZphRrcPBrtyKUVMDEBAkNrUVPdHWUToizpuGPfesAeZijomFqJBRUqlQMLLYARdLCCOgQTuuwkDjoNDrvvEIMBEajGvULHdKenDqveDLLyVLNhMfcwomGzCuXHdne", "KTmBUubbkBwxpKBVyscfQRfwSBgBmUMAwNtHxBVCUyqUYpIxUqKGdngZxXWOuiBpXDKRpgcJfDqHIAWbgPaXJnFVScSfnVpMJPaNBRbYvEgTQXGiKVImhqOKlVxsKitHknkkIoUmWQVtjnReXgPXoxuvZGmDQwZCsOybZhRnAHtVIChsFBrAkNknCOIkaLlXIdScuySZubMiGfSJipziVYKecVYwygqQoMcokJYThnfCFoEycfvDvXSiOojthuPtAfVGKyceXGBZVIMFfNelmzABSeoOXVtmDlFVFrLeSJjworVaFxrJEzNdoUbFamlgZmkVGSOHIOfbJjnAiyFMhNzXwurTnINAPuLPTfMudueDGcCYISJawOphJCFOVZvtaCxVMPqPymUmcTUXfPRrpkYbLghRqpzUaBqkGkBlatiRdjKssKJFOQXLefnwjBLtSQEhOTeitnjfHpDabeCgdlmpHbvtKSXdpvTOKwuEKkKuuzwCgeHbMwfuaPpGevEf", "hQzakHuFipRuCUCpaDjcmuicuNnAYZuxdhfYtzRIQUWTJlyayVqkLMlWwMabAktsRBVQjNiIbhvOfsfuDYJYHehAfbsvDyHctDmUsTqYjCTAYYJjVEkyQLXDyzeQPfBhxGzwiRBygPvvHYQOfOZPdQyXmMGYUsfCfVtxWFOgnLsuvBsvuINrmRSvNMqXlKxHqFtmkzXLnPhuhVdYFojuWCiBpNIBMVIgfzosnmQOrcpnrdpNOAfEQwKevSjLWWNROxvlhAqjxYFRsLffZwVSMVlQncGrpmdkzSUBRFycCjHXVGcecoGheqfUdxJYRhRzYdZdLReiyYsULUqZNOipDfcQBdtIHvrQErEcPnWsKZEiLmvRtmECPGRkTkDOupsfoyoiADIasVJkykoeDylnUHQWWFxnCPQcqqmGzrJKmvKdkHETwrfdvaGobQIlLBSaErrNaYHscJCKInLKIOOaHQAeukUHYyUDyxJasDLxIGOruPovHIyhgNQCKgoMOCUG", "bWJCmVrAsjJvurUBVGJsLVJZemMxzDXamcFkSoPhJQUZxymjnmmJKYKvfSHEVjJbFnSaOkmQLIcWdZlhcuIxoVfAieoAiTMViAMHFfPVkrTPWtUKSxgUTMkcAayqByxWtcRCVmZTDXkCjMKpQmYpQwTAlqowNHKHRslStXAzXaiTTfXxpOeFQKKDUvcRtbMhHkRStSpyfVBNUaCPgYggUkCVAycTgfoqVxLQNwSFZDgMwHycTgfnoAlRxoskWtdQXwDZkMCdJbdmpTrxEiHsgflKEobRzpcRwLiwmAAuNjQqsFFQdSOVHdWbAsSmgXaHqFgGiTJUDhPElhSLMtybsSSxwNYMHVuEJeaTflhMXUKEoaaMgVtSOLbjWyMEBqlpfTuVphaqTMlHhowVGTKRswuhkcNJSrLchaGHpVcbdtkYOsaFVoAqifjgNJPRgGcLcrrZwZMaUgeSDguvzpLZCbVpMFDTnURDZGkNbiwVENuelbISWQUhZpxdXjkyHCCx", "ZyoaHgxrgwEuQcgVguJLnaYJpYfgsZUSREZacYnausSxbyqojiPAtrcfMCDHsNZawOpMnuXcPMgizWPXHckZBFkgzNEFKFSAKNjAFCjJqNMTKKgOdZzckVSnZwtzYJQeyyyYdyVVZABwqzWBVIrWUcdvNJYfpNbFRtvsiiDEHRGTAnjTuzyRkwfvMiyAZfjpkasMKkGOXPbIqELJDYRBaZmQliFCVAqMZdOaGZKVUXzqRYbXEnkKziBxlDJdkETJcGhDaDnFvaHssQcEoUInhoKyvTLhxaKWrpfkkjzuFwaXRfeteSqAYzZHlrImGDvRdsfdLuXnRYJvKLsIqjWzVXCZapeafuFIjKRNGBqtOJgeTlfocFDOqvYysFvMWjPrrCKtDCRUUedUCyLzlmupfGcjriCeeVCNoQKRrkluaXVByZjkNOcIFjDkMlaIQNwzKknJWLDNLqmDRCsVxYfmqifXvVpFKmiEdJlcXfuHyPzqxxHGQeVRiyPdWBaJaeVz", "lEuzTBcIKurKKodKZSpcjqsRslanfArgVRpHtgaisalapCQSyHKWVLVjmDfXPXRdJWwRJIfladWNWksaOPlGRtBPAWVeJGUWIAaYnihreiXeUBPnJMOBuyYZDfXvxhxPFKuUDCsnrOdmczthsCgQIxhUqCuhKIKIsFKuZDXucpnraRrMLBOQgqEzaSqlgnIKFYzPmFylzsMSQNuMYJexvepXKqTYdrJpfxLmTwHcpQsvXjthygNKknsdeqyaActumwrvoBxaWseJcOcwoTFgugVszEbixLszOLcrgzVIGxkLNTDasWdKJgCmoZZvNhKIusrvaYkHvcpyNMmsYyPDYxidQQRCPMKNFTsEnUHwWfSBXsPPVTYldpfAXqnKTvplAAfrTxrYICSKwJzBoDuyDWKpwITKqUhHUkBQFOXvRHyuPxzUzUnApCVuCTYqjulRMiCykCucBKsVrRMOzpQBLZQQAtZkhpFSGquLXuHdzlKRZtxEywVejaHFsONbusPB", "brQrOmHUsdneqsiHUnHWVtyoUFWoHpRCnezkppTnPRgUChjvWoMWNwBmqjdaKEcaohHymvCHeCCLbusqdjCdEavisCzNzmenoBOpJfSOVFpJfJNlxErWPyOKydPMPLLNUxhFIOkHgrTdnZlSlElyuJpBLSZMUVjTDAVgRzRJqDuyFvqVyyKGssimGJFREmPWeHdwgvFPQhISjCJVOwWXaWpfrBXfQLDaRgIBQlCjOwFtmtprchFXcDaNhKJrwJFAEorDLRCqgnEDAVJPQpTeTPPMxgQziZdkKGdjijZfRcxNfWbvnpOgndrDqIXgGbOEsmXHxtNCpPEZkqbsGIbjmWTgUrxabiHScpLbjojKZnfyEXQeuzHfnyqzqzbfuOQxCOdxnkYWpFUBvCcWaIiAXbznlFeLRAJSqRKiRcJyiUIyuTjDhTneOqiIxXjRAylkByKOJIIFxHDwPMOLJFLzACvbpqZWTjHfGRFwzmlaHBcABWZNFdgJkrInEKLcqPiM", "euNFVuSpBfyiZKtQEgeAOofqNpRhmqQJNkIoHPuXyMJkhzBwbihIoxTQGivJCbGzevQlsqSZETwjOFiOBQOVpFJBbXFqxArHPYzCqhKCnuLNiTYOQYWHVQAVjpvJxZYuFIFxGTijxFBKGCetFhoElGNAPfxhmzsKGUybJwYhLuuTuoaNaGkULSFwleTJQXfdaddedmXBJzjWzsumvtRJSrLKqHVNHrIBrBXYufYgCYnTxxJcwUSEDQveesHXcOVNtONCTjIoOxgsVqZZqwrxXNnmvVqYXcuwYPYhLTEIwGnzoBBlmwlXmYqvVMmZiUrpzUYfBZzwujrqjIUIaOcyHLkhZXnLuSDNdVEMtccVcZGlqbwIoXqUIdAGRlnILOMOhYFVpGgXANwbqvDGOZmcnrXMEBLDsEkRKNsQCKevMDTzkFwWYHTgfPNutenyVZsAUwZJMQHSgDLWOUFErdaNAnpDUyELPnQyeVKfGowBWkfPCaLJPtxCDZuPameeZlOn", "mPilbfpQEQHtelTbXhFPkJPjVgZKvcPMwkNTYINtmVagODBHhzZlbMveNgfSRWklwLIXVPmNKRJgFnuhKONorSWMcwxPKPkxHAmBoEUhGdENfEJfrQXqypgEFHqSthTukqrhRmzzZghAfgVUHnbMmDmUGIzAmLMCOeyAghxUXXrDlujKltpXhzTNAGkFYRwifyLWNnxmSsBCVgkmpJzsgsYPEmvZjqKuqPyghJrSQoulacSVbEwosqSkiNxADbfGRnFOxjLMAqjXuFAHQVWhiITjMwIfnLeYLlCnneErHBLFGoYXZbgUfcwYgaNpdTzfONyvwJtzEIxbVJlOvcSkrQaFcxBRDLqoDjZmIwervZswOfNMTuAUXoTqUzNUgIdvfuSdaDDgxvGlXXpoZbMDSoJItFrBDTqLCkrcLDZoVXwKZQGbyLMoQEjwBSLVOyBPKdUIOrRIYdcvcEIDtzgnJfdksBqcKDRijPpISgKRFTfcTmhesfWjWjrjGyuISsGO", "qMqMbFbnadDskkzntaoFlvPaACUIiCTDbCemPVLGaZuAymfssWnNSJguqlaWCKWJlmnkrhjDTSGERpoOdFCAxctlxdhFClsZkVIKHpJvqgbyNESKayZebGFpFrAgMTjzUCYgPEhpbNeNsPugtqHwJRihUrpSRHLNcNcFYevOerdxbSJnEFMcNHlxbzHlVoIdGDHNDHefUIgKznMeDewZpGPupgiIEzOnjfvrUXJLKbHSHiCURiBDuDfptWBNFJgjvxMvAxVNBRUKiqPhWIxtJiKnxiOffAZLCjVxCwDjwiXrpUwfoHPOJwfBLeedJDBalTInFPSrhtItucavOGkrrRRfuuNNTpDiHebKqcDHGtDDMwxEdiAYqcVYdeeTOyXhleYrwidfYniWbFAHmjwkySXKvysumiBRcBYoRqGTEgwvbSDgXljMnDAFpsbigdpiZAZzXCCDqfXLulkcglCVfIEbeUHzJVelWiAgbRcbjiWheleLcwDPbekvtNWgVCoo", "WbbKDUialsRtPTmsglKMYEiZyzKqCHtzGLBckAWcrckvTfyJJsmzFyrCDDTIKKHAhXvTmtlzMJFUdUWLlKVEoYqjultMKsKVsUBxEtvlHLQTPkxnwYvhazpBzbktybTsbKUNUXhoEeEfqQZSZiqHyXwrSjTpCqyJvxPEYzljkxUFPjuLpRosTluSBKAGsInvUSOwaZeNiHSOWMaPooLBHRnkgvHmrQzMpQrgJjVhjMZnRzlenlDQUyAFevCWuWGsYUXHsmKIkEtBSbfawxvFEXWCFccJWSFiEdEvKosKfusfENSDQhxJNSghZGcisCweMXOmyuTzBnjqztfaksuMwtAOFjPszrODPOxZtZtvMyujLdecSTxnNQkltbwvjGEufBZKqGozPozPQWrWaIFHiuUqiqltwYwcLJyEDFVrBaLSeafShroxKlrBOPpTRtorPEGRCSwjbkkMSpJriwqHMaGhlttTSbiAFHeciiEqQzJwgbtFyXwCtGgSlWbnFzUa", "EAvTgjlIuVkyVhKUDcFQowYPkOOrDXnLMVSEETKZpMwnJScYxiWLWuQthnTIEIhbLexCzVORJLzwHbtNOQtXbOPZxdsZKKrtmmkIDQpmxUfsAseWhJVnCItExzmLkwLTAxPqtRCMMbpEBjacDEmXnubZpjJftlGUAgIKDCIpRHpFpOjDraJuWCuHgWonkWhIxRebzpEGtqygDtsAVCbGeUBOocgorxyOHySIWXrmtfjIBArWggroTXTcjodBzsryvFWUavUdmBnycomVWmkKpMUTEUuXYEfufeSIpxdumZnFfapgjeFSKCleqRwutWyUnRyKoFJPsbAfybfvokocBqGslXOJyprLtvrATwrujfxvJdrGHJWWifArWIlQmvxBgXycVjxBcOhtxvNjprpXDBkdTuspFYypPaIuhNsMVIBsZxhgjVpbboBWXvMpmSlNSWfdepHCtLeEkjIElDglRqmpVyhRRBLOFkOwJflUtEoYNgaozCPbsoEZWJoGJpdb", "eyyOjTRvEUuEpccwoiQjGNyzsQlUxRSEEszeYJdwzsBQiQXTuDGvglmBtbVjciqxnNAuegABmhbXmyLQIkHOgSRasqDvyxIqdkZEsDlYpQtsSCHboMyLaNatGscCqcyHjKlTIYKdPxmEmBmpssRLIkiNpWEDtBIpIGJobDdrPJcIPcNbKcioLvTRfavYjbEmNdGSCChZaEuczSVLXlkNsfrRTGOLSLPgfoWzurRxZDEvxZNagDebONjGBVhzhfHTrBHrkcKNCvhwiblwkqTuTbPvJdbgcEJtJQlfAMtYwRVttuSsGXCFfxPKROneLDyuUFHfNBWjekgVaZoUcJEGHsDoshdiCmeAGDfJRdownqPHrzhoKgmCxzKEOgjptHJsvYWjSuFvCCzRGYELFRidneFIhcrwZOkWMQFvpQVRpmcZkrhzusYVQMatPhjtahzvMNTnHVOgLVXjYSAeeqpeuhbvOFJgaYJIKJhyAJbNqbkBdXYjdayMsVnkCpkfjUXe", "ABtGqQIIcKxMQxuorpBBcGZtaHihxrLgncOmZGjzJbHxniwKROdWmBGVGGoiNUYdkbLNlZIGlYbQHaFylyVddAnrTkmOXQSoSwUlhQZDYepVlBdbqJoNAMbRZDgWIXfvkVGPuolDqVmVHtDXMgiMKLsIzvZuNQrjBrGgVRBEELWlIuTZMvxHcXlHuJDhekPVxhedodyXcoULoRdnKbHnZJYXNaXuTalOLNbauhUljcZimWSYKWsVEDZsNWFHMqGknOBKapFaWWCyDEdLMHcBSltEMyLVfoGcSUjpJuLNIGOBhoPKsVnpPqQLyzJtGSzsBXjxGwXAZkIofGDBohutWLpBwlWluWHeNehdKdvGMckyBYzHXRatbVsNAWrhEIZycLMtwfUNntIOPsrFBBemHaTGaUUImXMRCCbPWZWFCeGBtMTplyXxnZvJZwlmLQiALwgkwkfWOMAbYGENlqWsYMhFlHwMTeVRGdFjTVqajOIFJWiOWDlgWrtyfJRZKlUS", "vzIhvkWpxJidXxyDqNSRnjnmTRQPZTdUSZRzcdAbNyvrjkrnDZDUvCfhzekCqstVjqIaqEIvtvOlQVooTTijXUtfqvGymHhUOvIWdjjTwirkAqlJuRBfUHvTBFVWXGKfdJExdKcRtdSAFDrgRsCklWiADkpRhABdEPCPFfGdoPUeQLbTbWPCINSWvgdwUFgcdBRyYuxndeaGFcjAJAMwXJHuUGoGYFqKueGKIgBZDifneiouzdENbuFaueZtikzdmKADiYeaAkUTtudnGkwunWQELxbeRIwkWmquFbqLQhwujakMLAPdlXJRrjzAeoPiqaXQpiTFaPlAUKQOxYrVzBwReFolCSLswKGAwJBryDajeEAkTNYcOILKdnHdzhkuyhWdLNaWGAFZOioRkdQWsvnhKGmeKwHhyIccXJZwSuleHALsIGTJQMxOMxOzJKuJDwxiUlQkqQGFMLSxQzcPXEcMaJMxidrCzirQuAGMHgXNpoctTWmiBlJWdGrDzDnr", "UREgcPopbDRGFltapPtAeklwpUkWAJzfgWUZhvJAJGHWhbFOuxhQCCPtSptHtODPYVaGKDvdZEDWSYDUhnYipyYQVbVWHyUmzPRugsLEHqeWJPTmnONJoMDAWRrRodECkSwLdTHWcREhAhLVaxHqlyZSyIkRCfCljZflkVpNjQVfYsllgTwwVYKkIlmMhKkfmgJYmflMdSDBpuZRfUuticCZKZepyavdFvmcsUZbinGMtOsSzGnkAcwXjprxJxewpzKNdMEyTEhvNrzIpGpwFvFvEvxLQdfYBjTDgCyBpDjuJOJNrPpHycmZKUTFBXyLUuXJiLIPOyZCIxSLIFrmvYKtTIbzPkQlrXAHepfijkqcKrjiuzcGNNiUeCfNmRcJCJMjoqHybsdFLpawSFpPnZntwTNcqrqOgQWEjzxpdjKgeCTuFSAuhRWTWxSBAPFtuysYsXzmyupxNkGeAWExiwrZRAITgFFtWUhyyeagdSZvQHalLzNvhdbGmaSCWmgk", "CwgUwfNAlYajkfsALxaJMwXsebwFRYmNcYzGpFSwZIVXMjGHxjKyxknwOCqeOmpBBthQqTmGkpBiuHbWnyDijkjVpveMijLmSjhhkKSzTnUiHsztOTOtDwRTGlGivjPJOkMwOWiHMcHryCJOCXpxbqdxcyzMcDGmAGXrwbJdbGVBCtmuYamcjHiOsbRYKiHNrBSzkHTMHQcWZdIAKpUOMJRFnSkgzhIawHEWikFgydthayrTCbQLdisqRuIgdREjPLdxNNSHYeDhWHDPRrtSYzZSPTnyprDUrlOThbuXJluaVMevIjrPSykEJvpwceKZFwbVdOxEfUpZzPfchYXcZYJXJzRZVRFJQyvQsoUfzrKYdFmiHNMnJLQWjuCuYneYJeVAIipbiTPpToRqqmUBvkBRFXPnHqqRZCEEjafechGWBukefEIZZhscNONmIjhqYgJekcJuomjZGXeiwHTJevdDDldfEGnBniwVcjfdocxFCLtbcjWfBrpeutHTsHCW", "ZGTWptDvjsEFLpwstVQwmNJuefxvnBzZRFdLdTAqSmDEJKOMYpAdpKwgYcasBHYIaQVjuEqjLeOaiQgmNAutnjwYJeYrNIgmTAOxkUoRDzhSKbmgunYqnWYCmRaPqtZTrEeBcTKxWBgWrEXBtRuVhZApVKDuRogmyVuKiCxjQaBIkRjaBlYaGIspfwzKFzOupZYclLrBRBnxuhDUohlgkyHgLheIASDZeUazbTeFMIloaRxJIYoJGRprXFmwcYJhaJCJXFecCrTbIUiSMVwdFzphENHixsPdWEZcLdjjPvOVpLzbrvrAwoiaStHorIHowPaCnpqnuVHLwtjTpgqsiqFGjdGGEsmeyAzQbUREOeoREqccEKwhynJPKEuZLoywStpDCKsKJxCbdFRdcEgvSSNCqVeBXazOqKCkvXZpPsAJOGGMpAAtGbnsNlNsdyrqQXxcoVnsMAsQRzTzRNsRtqsSlIqWxRZLJMhvjJWPIhGEQATeTDGgXtdNBxamAtHZ", "hkbbVmjdIBCKptmnfyBFBYnXatRESwEMezsUCvZfdvwXdEooDYwMTGFPvTasRjlLWwIxHCndKRTLuiZquJdzlsYHumbGRtDBEhKFJKvjXPxIBjLzrAtmrpJytEoCWtfAYvQhESwNLsyoHxNQYpCgbCiuxFMrLEbvPLONKDoBkisIolHRoIedTpwznPMxczJRSFzftsPFoaBkDYudoqTeDSPgxCoBqJAlcsChtPiOnfWoOVtkNjLjbdUiPJRwCrdBTAlEjbZRDrjRYkAKbPSBJsHPvGQPvhxmYutRKaNBefuiEZgqRFlqdaKbilOZWGPIIoeLaKPrXCzvwgXqAFwiiQRvgzXYBaLbgMEkGGZnzDjzPwhCCiplLKBDxPmuwMNtIBXTyFSqtZGPvFuyesfxETrOaMNlfpWszojbxeHATSMmPkDUObHIMsOBfAEewbdiWaqimqftiYzEvagsHMeBMYjmQSErpVwYRwBpYisuTYvtXetLdzIURfhhpbbAaAIr", "WtnbBkXQpWNPTGGygmjXbCqNcVUCkmusmLOccerrrHonINBcrKGxlpnBhmMidsJxImKapacFWXmJZTbapPHfZUHUallJCJqBHiHukszGBUjkgCVUovzcwBkxgfvGUUfCNDJajPvhheOOKOFeUgBzhsdsJCyxTPJkWsIfWSAdPchHIEGJvWdWnkLkonofLzScRFWlNzAuWZghbWMohrGWELRmwcIOKTKLCMfbhyoXdsPSIdRWUTbPsopOWYmUcGLzXEoGOKYpKazkenRqJCbNZutnsQxuSCGDrgLFHOBTxqMaCjLvdDiItemnXKsheTGlhkxpiacmDtttnAoVhRlEACuzabwigeDJoqByYTTwQDZJALSJeAKnvzWQeqozfOtWdqjOnRkUzohusptegEThovjrpPcRwFtXbblStlzZRQXWLViBYdKDcEeFtGdiLZHnbfqnkZrLdsdqMRcNCnyUHyLAtQtqOrhDIMTznaOwGkWVfGFmKyXNvtnoKZSuLLgT", "BqwFHKJaIdwCbjBpshZOlhPlXnzVZIrRnDaJJCOJlpCbUpKKykWzpAImgJDttjpihddTKATHxCOhVYzNGAUzbCXlexWIAYHHQZzuLgNiKsTXttaOKkYbQiylNvxQVEtmePbjtMeqEyWMaShiaEPpCkkdlzxpVSpPfjeffsoqGBCsSJHVjNWTseWTGtyRzvFoNvBFrGfoIznkDHXfPFWbQUInoSeOrfnHODSKdVMXnThQcBJINXbUYvcVRyXokBwZvSGsdVbhcBGhrIZqetjdqWXEQXrPOGFEgJcpuMCPAczLNQysoTgbqFPDgUWxvfJclGAVAvpJVLkpXXvEsCsukXVxYcIIjnYCIVXgSsPJGQokjMelOLmVMkzeluRYtzXsZbtKRgFPfEJBrwDPAYoFzRQGHLtPhjLiZpUgQiKNHximlaKBHemWyrYVKsDodtibcnlTMCjMUkFsOIxlMbOcddJbzCEwKyNIXGPQuRZpDIUkkiOfxyGSUqeUisULMTvI", "buNRIZWdBfpDnMfBGyPVqZleScxsCtUkOiSlQmNrIQXBHYdWDNTnqIYdBtkceLdmlPIOxanpjrhpTdiCHTbQEIMRmDKiCSXAwCoWTxeMFAljYPMaArzBvsQujXhqfzhHHGAWSKqRHJAFXwrGzbiAsEiwfuUzTfhMyDCtyNMXvednnkfgHpRTFboIHCuTCNJvuLrISsHRoxbezcIvdKpVpxrZYCcLTyiryvzzpxQulmjJtdyTynocyCxLRGZPwoXmMeCaQSoSqqlJlQUcmiGAQtTMBwpPJOhdKwOmJcmpmbuscDYTGCZFIpQyMtkLeuoGrEEaPPwDZUtPVJffvzFtZmFAEefvBuvfswnpaqqspIXdkUxeSySlepmeFwtKVnuaXeZcFLDkresNyqoRcXEHBejamTmiAFiuTPjqkdAjWySLbEnjTnKYjCLwvXLIyCUidvnxCFuRHaZSTugsDIopxPVmbcxGcbGaJbwIpSHFHkiFAlZtDyoCnXHFLBsdKccg", "oZVpjGFiAPYPqnLagXhEsfVaTiauRKPsDuOcNSOirPjBszYBivazhBdIPXFAoRQMfIUteueoWAAegNDdDXzlDSJgWrtRoBJzvgSnHLnVTUlzgWpicdDfJiUvOHyjOyanzdIVSESANbgtwjaVzABGNvEupduSgesAZJLQrfgRIfDjAulOncxTqNOhPLSISbekIycoxBMVNjDuxAbucLYdDQMjFVkyPUedOGfnVbsqyObPZVcnkJYDUisNqXteLJukDUfynmiQhGfFbYjpGlTSwiqHEXgyewrdBNdguQWHjXDVxfKnLbXBZsqeSxRnjVInRJToNPLNblZZoAZnNEALDdAsgSqhPeVNXyXlboAbSOaDEBewUckKhHjRzCYqXnegzMhjrQUfUkmzHcFKUijHTaMpCYvvEwtaXaYaSahPiECIsCvekUJXfXGsXBLajrwGBCnqQxKmvltUvSjmlIywMVyVCeTuQeebuIWWxCrjTraCstnClHhLDBqCiAnEqHgU", "LCpJpVQICyMGYvTBCuplzVtisoWSpjYRhakrjSmHWGnChlwHMECYWKqWbBUHTJlXSAeEIMjKSlwFTzdEiWyImkeZvpFeRrNLfwqaSlbtrgWAwRQJvdRVpzozvSZHCFEfoTHhgvvjFpephsmAsQgwknztXVSOBKRAiPPnCCoPXFZwEEERZslWsjlIBbqyTaOmNYdpckGHqJYxrArFhCVOqLzXcAcXWMdwcPrfENduuGmoJhjIkQAEvTtCpXUyBYPeJzUlMwfyDczomhUEucDinzSPRyCEmEruXLUABhAidgIfzSNbJHvJnXQTQvoImmvMCCmkVgtZmFwfRHoORtSPBNZbCiimBOSrNyAUTaFmiAViKkgnyImBfInlwuHFBBeMfmMYhVakJbLAPiJqnYGnhRKOmuTGbAMpYWPfPmjgqsnDVyEjeNQDEqjxBmRVDUkWQrnHStQdyEaDHysOKpWUcjLtfSKukotmhsETVWNcHxneTJUkUkRzqCqdxWYZpGrL", "IWbRGmmRxAulZltHgiwLtbxcJDHqXrQHmqecaDhoyrnijguNiJZKezFJkGTeQmUqyEphPsDNvVEYCHGksdMvhwjtsnohAKScyGIZlftTaYajsmPWYHBPdyFDuxEvBouPwvJriNVTUFMPojwKGKBAnsfMtnkrcwuzdHmxlwqDfLVfFktjPTjMFbuOPhdCOtnHuWzEkMAoubhqxsPfoZZrHakMiFOFtTvHTcDlvmyaskaMdSuXqHItxjBzFWHjnnnVuDncUfGdAfeXFeWXqpLqxOhBRFqwlyPbTSvRilXIflnaxZGPVfHlhguyeJxtxyhEXVHFxgqIePWRjSugAxiXZnrrECvxSFsSQvurkiIIfVyUVxDUheWTWMVUivFTmqguyqusZqliFnXihOIEamFbsFFzbmeiPbwNsAZLovJqXANolhNhafroaUuudfwduqduJBxrxdCXqSkwWMsbmSLiRQIsydYRfHmTTqYeIlWJVWtuJAxbuWziBlgrBECHIPjw"],"c_map_int":{"c_map_int_1":1773435985, "c_map_int_2":-178086227, "c_map_int_3":-1788787068, "c_map_int_4":1843320760, "c_map_int_5":1966919920, "c_map_int_6":1535219066, "c_map_int_7":268370301, "c_map_int_8":740063989, "c_map_int_9":-1375730102, "c_map_int_10":208295227},"c_array_tinyint":[125, 38, 74, 14, 77, -5, 93, -83, -108, -103, -74, 43, 49, -32, -128, 57, -112, -61, 102, -56, -2, -85, -97, -43, -51],"c_array_smallint":[15447, -22103, 15738, 2973, 28439, 24018, -4385, -6342, 24864, 6935, -15792, -20606, 26448, 28787, 27797, 23389, 12241, 10527, 4794, -31935, -16900, 15527, 13931, -20042, -6798],"c_array_int":[-899163766, -397647146, 1162015058, 1512311200, -1971397684, -444268876, -354165823, 1082362781, 1877457749, 1351566985, 1016494108, -41086032, 1210367838, 134796264, -42223900, -151929456, 526492669, -1452870264, 1401963624, -1254860121, 685251437, -1465747253, 1953311900, -176585987, 1771322086],"c_map_decimal":{"c_map_decimal_1":51.1511, "c_map_decimal_2":26.0822, "c_map_decimal_3":42.1476, "c_map_decimal_4":89.0643, "c_map_decimal_5":54.1804, "c_map_decimal_6":8.1768, "c_map_decimal_7":52.0900, "c_map_decimal_8":96.0578, "c_map_decimal_9":62.0711, "c_map_decimal_10":1.1086},"c_map_string":{"c_map_string_1":"FwpRtHJgnTjwXnqTKqmzPJBwYZiaTEGBlNoniCPxUzSTTcJPVFmBrpTwmXPIZnRyEDTeYtWOZMrvqhcXeclrOUkfFuHbDcLmJwkMRSMuTcLHJXkjtQpeHaksReuQpfoXdEkzSGNTvMuOicuxPWbTQhhwITiKFQSbqBxfLMNRxcHsrqRBmDrdrjLKDrKlIIuqNQXLYwkkhFxSCfxZmtVfYDfzEblVrwKNFdkZLClmnboyaadLanAMxYMgKwXQbfhLdeqYUaZuAMsvIRYnTBTivFnYVKeulmafGKFuJiVLFkciVUYOgUEZRGpPhrUdJFXZNxqpewKYHvUMgwZcSZWwTWxGfTbJAscnmWOhqWsnPQAnJsAKuMRFbddSFBhFQPGmVIcuCcANFuwqRtcYLslTBgAoPvzycCZvfGZMtKDmqQuhPWUnFfUpbPeXnIEDNwTvYRLLAcareZDFlSUAhnloIRKHjgnCPqBEygDNpCcFdTEoUrvyViliAXUYoZQUfRZS", "c_map_string_2":"JNwOukZMJESJqwkhnNIAzuoRsFFQnERBvPLhBTmAHhZPfhUfxFNWQJzYNHbUhpmgLOYuJhJFFLyDXjLtYbbFasKeGlxxvurppTZSESGIuvucJJdBuqxxgTpieuOAHwonYhcRKTWynHfFkBiZozCSvhFBzYMnNCtgyxhhMWnEvGzRnohAhiotSktanffBugLefzoCVitJTYAhByAJmfNVsecYGyBSwsbgNmVkpbMbBdnmhZWMcrcsLkTkjfqsxsVvyigeGaQHOnUGhuefxDJiGfxngeudoqOkJHOJsYlqphiSKjpgEmOjOCSpqvLUGFxZwtZjILIUrtLHZCOGszQFnzSnvQdLffmiUlqKaLYroIRMdpVGPqcPVLkCNcXfHOWxXzAANDdGyJcLgsOHMggHETSIdcgvNkxtyRQJbfuTEWtmztWrdGvhLsiGcMvTCvcZCwCzYEwQSFHlTGvjFhAcDLFEIYSQtJblRCDYLOCaPkAFTBHGRNdtDmshHDcQuGeW", "c_map_string_3":"vGTVArpIPjTeJGrsJQAArmljGSoFdzCNqSVtOqXEKWMbhITjXZDGZaTSdKrPeAYGHLAAebbynopOLHFjpuhQyoEwTZbOwwmsUcJtzcttlnnlPlUNGRyZqJDxBUoYyaMkpUUSHXrWQKRnnzSdvGQynbEeeFEbmZETSTbPmrGNqjlSqfXkEtJZpEcBarEUjhbSgoxkcflhpZagvbUqUQLBptBIGHpfwsDfYkGmIAnsWfPWbGwWsnGSbHPOOiuuXINRaVdEamOpBvPEzQQTHDASEWYlnTgPJWYtqtyfQKttuByLfLvpYFYkVunfZKYDcHVpqspdqOMyWwxOXAggeKiVgPxLtbZMmgRpzBHfTwzNuticSPNpqDtWZHuKOXTqMsLbdoOJkQnbncHGPZbQTHSexwJDKsSkveDygSuNxuKLqICZFEbTvzNlNMocjdIHTEjygjYsRIPuzrQBYanzaOpBbXKrXcaJKFhTaocAFWULRExMdFMMjYPUslPbzDpwWonI", "c_map_string_4":"xEiFZccPASNSbAmvZGsdKJXCJBeePUyFoYQRalUlVCNckSmwaFbRFJOrobQnITryOdfwKWlafpUJsLPKmHsNLCcsSyBwlRDDhwJUdtWbYCWoNfobtjnTtbIDEZXkDmfBcHMmurQWufXDFHjeziKENSwOcfsIrRezEHTnQhgjeRpTNcxJTpCduvCUTkWDlWnXEJnsuVNyaWdxxtyEMbuilPipYIQQAEFRSWlcIgGtscCOvzetlovhPCbNDzTVCpHQHVHjCcIQugyvVEEhcKhJqCGMyGBsyfqPUnRHyllcwPcsLoRABACqxcKvCKXQMJvaoRjBkCwxtqRHOXXFVrUpOEIojomJNJLfagNCBjSAzoODIqeEWLvROinTsApKXpjTqIAlVbUnjyIxRSpDWhHgbAJlupOZIdOYwvQDOLHTcLvSyxcIUFcLolMTsZEXUIEuESOazRGPrYwBYMUVHimupZjmHfEqzdDQHkHRCSUiktNzrduJKaVWNMCujIaejWOQ", "c_map_string_5":"QoqqMNQdFawvEWGQUSaZcPANhEjrLrZKAFqkcjHIejByJXEEQuxuCJkHScbMlSXhCDhOhQFRbrNNdLPpDQIwaqFnaQXcligbWqGPDOpMwxqsBKWLkNcNnunJsHCNEcoAAeHqAHBAzdWpfeRnZHdPZQWPWmZzsqYfUiCAQcvWzvNvJHRIvbZUUpwgQjwuEPvRLyXqnPUJyMfcXixwPJTcRXZWGkSXQtkWlBblrqOAjfxKbrLZVqewyCalsLZgvlknmtfQqSQmvXIROGWeMiVWqqEwTEnyukeAAKZEmjuODuXUrXANNohbrgZmBdOjwGAUXYcTkcrYYecfiGetkfBoJFtgVyLGoPKRSegPeEKtuBNgxzttbLpWuHTGdHhWTOPhzvEOaLMIdmDWUgjmpiEbGJSIhbJmPPDzKhkvBWDvKliRrVGOjDNchVkXHWctnCOLvTZoLDEARTYbKzMVrcPlFdWVgLecybWDcuDBUjOtocsIZSjTKTyUIHnLLmCYqFzL", "c_map_string_6":"iButdFXkGpqUIVNZbMIYKMmxuEUBFOXjtWrPSlpcGCQjlNEwIblomVzDvsFOwdhBVQsMvOnHedJoplFySRJcyQdrszOOXhWuzvrqwgeXaspjgqVNfCGCiYIBvCPJZqyarpswvzjsKOxcQOQcREyFOgVCnnQdyWfNKbRANBTnUigjjHyzUyCCxalUatDSVzzRlrpgGEzUYqIeIMKrzmsUNgjOgeRpPbjbSeORonXCwWMBDwrQhtdjzkQPxbCBnFIStvNUkQDprfTOPURzyYDVjjfKyOMuXtLXcIYVLiIzazuYyaKPsiJJvLInLeSIIrxUqWKVIEMMnfTbrQkNiazdgZORFJHcoWohprByFhnhTFMffVGGnnvZGRGeJQARzwzBgtyCvYCiGKiXbrcbIFOKoDmdvXuTNDgIBYRpKeZPYauvVFwMrPqJFFxKwoNoSTlIGNgGZxZjAnVyllqhFSWlbcxDSgpkEKZYdtqnvpPPwhCOaKMoNHXiZqpxFINYxrFi", "c_map_string_7":"lxamwKEOfqVyQpFWVaVSikQhwnfMuRBfyAnjyevSdpiWgiYUYsvlAzuGDmoXtCcaDHoQyDUAdJzichTmBwttsBNPHtExlMxiHIoxvZSCMjqlkLWkLylNtAEyFaqRWblVrPSSFCcWCMZLGHpuBLnhGRXWSSLcJNEZHhBKLDhhpNczVAsEfRBtIoZBmtpTEXqqzhTFVyUMaOHrbvlCQzVacTZKCprZADrVkvwjbGTOiFjvRTMEYsjCxkLEwPjdQycEcxcTBKHOSFTofVqMGauoheoZVwOvQhBemTUzVrMOCvyJZipUhqlXqyGeHdDUhvyMygZuqUDHMLjASwEBAmLvbqdqvBLTHVSaRlbpQCDipJImoLWKUSeKWDipABlXrTbXsDkCwxTDQRDipTyaiOrKmhiVhervTPCYGhxjLXjkkPnLowodNcaDrSSxQijfbOiKgxsxfekewezDQlvAifxsZnSbsLSjXdJRnZELXYecZamxdhGcYqROEtGXAPsuXvay", "c_map_string_8":"GoLWHxlVkpZNFJtGOfnIkMsUMwVXpiEstcSxzcwaNFFMApmtqizccKNUDUpMFigrrrEPXdtZMGzBOuYQGaLfrYJIbJTTLkRLfOOHmbOzCDHcaWRHdSfxwwiHCrKkewLtaQgsXjJrPifAlFNbxwuOkTibAWBsTAGDYujHHtvVIUWbjOAjZhaZNMBDrensYFHqHBwvlmUAidJbQzamoNaUbcYTOeNrSfotFhBVsBiRqRkacwnbHRFEErASkGLbAcOAbuYsWYHxlwaZgJQupTIUoPcjQJpuMIGUoRGctUgEriAbsPGgqypkScmYyTJovbMykPqpqXsEMBuVhebffPjbgcjTivTnmFFgDXTRNsVKCrwlcDFrDxoPPssDiVApRhZIIGPURpUKONSneKuZEXPNvZQhIwnUfmKRWIgKNILUcdmVxqjPLACBErFfRfeRmFhFnZMWBNdtWQKouvGCWccioDntjCyqYnxBIrSAGUdMVYJeiUhqznCaBHbWqSupVipm", "c_map_string_9":"lNDxUMrxgiZQrDinuPoYOyRTlMlXmruBrKGvUbswWDThjCiZzLEuDsJkNPSFLCiCFyiBfGFwVfvGSpunuJdRpnGNzZBXxZVDIqAzEYRXPpHbvMlhiLSpmdiRHEcFxQpkoWIXnFMvBLRypmnCaNuFylRkOFTetXGNxRMdTiBGxmcHlYcDcRzoazvWCftBPBFfYtcWmwTxZmyveuNxHSJlBofQOpzAHlmOJJmCbtEUGKdjDELLYSVLWCoAeoSGcgVaSAFZgENcNHUPGsTPouceDTbWszBUNtzqjkJBcgazkKbZJMRpCCQIXWePtaqcKDxSqtLGBANcIAzshPsVyBlCZCtYLWFJtzsqtTJAgMavCbGAgtpckfhFfHkgSKwsYTdYuhapldmfXsMnAgtOhkSANdcaClmPDdtnlWvBvRszGtNdBoIfMPLiiIrSyDFwcmYSDlusHytVoTqggtLFKDSJtwtyMnseLfKFZZfGEtJBxbkJJxaJVhtutHAOIbKrQuvC", "c_map_string_10":"tWfqeVFXlIPKBYTujHPAIzygHCimomFwtBYJpJjmglhViuwfVYjlSvlInYkJrfVFoOYXPTwUhdBarHLXawMUSdDDwBQYSDjaxUnWBoqquSwYzlpgNhZLAQuRbtRYLhvTaBDrFTyqOUSwllYDWTWFxUkxedfsBWcOYDCvqsuDUcsvaYdONYMleplguvLiKiYXpJawJjiYeqDLNoIcYbnFONzcaUFpTCTWYPegpIsuDcwVwabZnNzkIKLtPJmtkLAmwGPhfRObCEQZuAEtWzEzxaPOiRszOQYQDwnlPcRNSCzfRbOZvHVWgfrKOAKgRDYEuwCiifQQktLgoMoIwkBLcbWlNtnhRFewWkQZPherzMJeVKhECVGHqHXKgClqQJawXGSemgNkHvzOHfXglbEaWMKgayyaqiyXwedNzYFTJRXlItwMsmbYzaFhnBIUHegVCwPbVtaMRFdHulfuZvLSWtKXVaqqumjQOzvgnlhmKqMjmnPAOnIqHTqumYXiIZLL"},"c_boolean":1,"c_array_char":["QUNBxPvPQy", "MkbxajRCkL", "pFfXrPMYgT", "TTaBUEVOOx", "XlBMbMYhlT", "svMPVwDaKd", "fZDqTTMNVy", "IWIhBrtpLv", "uqERoMpKqd", "THcoVyUxsF", "pBJiUgADIn", "LasSAJSuOH", "HCVLOGqjWy", "dbqWwuvIrM", "fdyhRIClvQ", "xQZFZrFIDv", "aMyOwxKTNs", "EilkeRCprM", "pKGGpuUQga", "toyrnMShvv", "szyAfBsptI", "GVGfqvMaLn", "uOOQUMtKTb", "aNxnEtphLX", "xMGgdnKuWw"],"c_array_varchar":["LytMyaWzKPibzdjdFoVfLWucoMsJuDUkAEMvLujwCsibYKxZBlYXlgYenIgWwPRPcKfMhQyMJHRoaFKUnJdcXUBtllWjSyYkeZQsgeFEQtBwzZLzGDMBUGBqsbyqBSyzTcwNpztPVrovPNQuWKKcdnuagZXxFDhTaTfAjXKhzEoufuUpDZCYQuNIJvfnsMEAVRxyDQUGVpBXMZrCHtPxGVKqACmTKHRGOJPsTqJQeFLBVRkJqZeEqbFyKkUKmuMm", "lQEdnyTIgHNtbptouytcZWXobILPKCdEIxalQpnhsPlyFnVVjYsxABvtVVpIpGWlxPDtflCKIDJyNAFSgdQoJknwHNfIcXHzffmquGIDcHifQvMOOKzwmZTWhhPLcAIWUpJAjaYuLMNscVLuhYPVdgELGBkLyGYcAvjnWzmjRHfADgvuayGZqDftifNfWuzMZHSURknxOBwLrWTkaGyUQEzcuqCwlxJDQAwIeBXfuPzdYdtBGxQasoooWTfbIkJB", "mhSbjvsUinFRujnvdoctCDIGyPSiWesnWCrKJPJUcDVhMOanpjMqCqpaFUoPaVurEjxCLtQHNnJQqCueMVhjSUxrfmAkpMGcxEySiYajPQGAIbrtaHhXKDnZoKLKRgGBstTPPdsfJYfTQPNnGjpyeoVOZRYfaiqWoesoIifAoqYFnYDcQDUBwFtAoRgKNgjlHXsEPdwSwCjjLEsfvEdxwIUBfLsEcpcLZDCGsQNqLQCrzUfyltjuQAuOsrBzumND", "eXLcUvjDBhwUdlJXNAowlKkQKpcBwkBxKqIhywqMbWOdtRbztERYPhnyTReBLFJrNxKFZYpICJUzDoRtVzdWshdDEaksvwDWTIxdnHwiTPRPOvBZKwBdRSHZoWSctfEeEgtmUwCVfzpaYBAjutXNqvDfvmCkXhkApejMoFdpEsvmJzLWTUkIBbdgLRSKBHCYvsdCLfdyHBFVnVoLDZjdAgXzLzwpFhbULSPHOtXTGLGNFymlaSGUvxdyDBJItTPN", "KaWCppiuKamBkPsFtFkKUlIlOuChiBPgOQJrnldxYKaDjIZkizEyeUjZphVkMddMaogwsgJCOFnrNnKdbDwzLAdmpPyYUziyKrmKsuvZSUxPtQBldqByIfmARNDKfiFlLSyTOhmmrnQKDbMYLJREUPfAytcjIvxtatBjuTrzGUwtMTCjJtZDAdnIiwQIXQxUflQDjRcLHcqnaKcrJcDzWIlunuhMsYnnPmpyiBYnzMCHHqqzWKVRrJpEJeOMzbVn", "omyjlZcjmNJkpBspkUQxruTFAZRMikBsUtxuGaOEMzwXAnnPYjHOauUsLtHErTzixJKfcBtSojhrhQmslCQrVSouHdIhhyBQGeTfTHxXhKNqNBlbHjorndxTTecPayWQqmSTWnFyyibRLvLLZpKBqVcvekTQlfzfSIaGCRNvjkqMdZHkDwiLEVZGCQmwImlzyOjQZSGSHwZrsJwGmLBphwnqEKAOwMDlJCvHbbrOzERudwheQhRudbfmShiNFgyc", "SbjnyniNdwvxleaqyQPRkEOMQHdBiReuciYyIUMJNOyCvwLxDZyLvUBhctFHdWQXaZXIsQhcxNZAvPHRMTwmUpHWphwGdXaXpGQvOFdjkvyYlQBYfEtKLcYrJFPsWgeAiMEemKVzDbAucGssimYeOkDFDmDVBbMkccZKtvlFjJxUnfyJbJdEYnPpAuLkiBMzooIOqhIpaeZJEWsrHcIesGHkkRFRaginJgkEGpHTOcAUHVKdMjWnMDTSxOlSVMZi", "cujQHOvsuDdJLSwbyLJAfmOHRyfqPiRLDqBVJnmUmfuMBQMvuhFanoVyoprEmDRoRDbCdlSIsVvYAUbJNAezRCqWnqoQYygRmygHULYYzJUYxWpRWioBAISAbciIYsihWvoWUIrMIliNtUvVcRbPFIrNpSYoeRkugbtZYtaIARspeLAuyvTwloVaBlgmvpfTMLdPKLBlNRpVtQzWnclXclKsGbRkPtEsZhiTUlAkZOxZKduwAlqGVQvvLRgwZcqX", "YBEcGFGbZdEAVeHpvqtlUsiseOIqcRONoibLcpJmJdrJIvJEDdwMeLzksfDAdlWmqWRtseKTnFQcesCdNMQewAULXzMOfWMrpzTGOqqoxQFYqzAlOjCwvtpXBAcCRJQKbDvNcOQtPTuRikkkWkuJaPcGsgPLLYhQeKehqEHtMswXdTyBdYHVbgcCJtXKhixqPDahJbLIgEWpQqnubkrwbyJGuCvwrbSGZNagHpQnTksTtwbAclJdqAOktipTFXPR", "uRlludwkxJPDedIwRQmVjbhOBjTzdCLRQaSqfVKKhRuXIhLLvWRlhEDaJNqRAXjogoKnJSAARZFLUZJmvMcyUfhYLYoipiWQEsPjsoaRbkBuCWiudrSfolRCCYecrSGmbeTqQKKcnimNbNlIPokOaFUNTvkxXFjmdoGiZXGiANQQMxKCBmGqzYBRlQyEKvGDOeDZtxolbsxUpAeqLpyhKxjhHAzFqIrxVniXWKaEhhyqtZXUnPwMlUOLRjpdflhL", "WmdicsNbnWzwhWLSnarGXkTaNnzfUJTkRlquZJCodvOZfiSOriTGLHXFQaShSdzuDXXwCYFKTSAgchVzjRZDfEbgFFIIxBSGizvBWvvZHfqMTmAHcPlhtznBSIKcHUlCQWXJDZWGFtBLqFBgIkejdcMgrJXzZEQreDLEUwxzcoTHAWYXbkGpahjNhnvPzEKhJjfPLaZAQtPwsQsFwSzKWMgWPvZbAIUgIhNfifjqliqOECtHQKYxXORWXrgbUCKH", "zHxkCxhYpMFBHcDRVnwdGRkBEorcwNCiyiudKDVZhVxCTxICptoPIPGqAJWifRpZNdNazaDAdXOLaeZPrXInekDPejCcYochsZKsWuQlohwwmCpVVlWWbsOhmosIuEirEzocZKgkAxTbfhmIMDeBMXMqOkDGGYEUUhQUWCSJiEmOWnxJdjoexCdIzoDNPoLzQYZqIjOomOtbBYjKUeRvwVTmACUXbbODVxBWVXuXwZcUZvShhAwZsuXAuEXKSksO", "HzNDKSNkxHHVqYDhmUVhvXrZMgJoIZxHTHLCusCxJJGcXMNYWvNBTxeBJXGNnWtPrntCuGkqtbIXZmedVCUXKWMrFRsUjDBvtZgPCyNfGIUKjSUxDBBFgBEDtaDinBCwobhbuzhuEJzspHKAlxgjnMLCAjeMnaAJfXRAideyerjJHfZHQTaCyaxVRPqgFanUaeZPbgXRyVRjJCsTuLViZZlJphjDqhSFuuIRqYfcqZCSwxrQLZJxmKvjpYGxcbgV", "GqtAFZVzpopwIgormUJsQNAjrDYBNRJopuqhJQBQpdizNjnpwQZwTqzPUfNJwDkUEFJSzWbIIooYkQEWEoomzzAKFjzPoRjDJgxGSLjdQTrvWWPVlLegZCHucywnTazlFiyXLqZDjjJaZMCEEaNLCNEuzGEflSJvSCDguqIuFiyDlgvwwQGObQQWuFAmqWsrShYISZaAXdNbDOahKlDkeiOYtJJIwBHJeZGACpePwOxGUklKZnWEKyIRdpeytFKF", "hnrmPYughqjaRUXbLCQbRRIwLHLOsdZBWrnloOdnLOJIsWfpXPIJftgosCFLtTnKZOIOxLBfPqwlORscOGJJOsWORHdkiYWQfPypxOxFigZUnTFnEFOkldTjKkopwFXwuqJEWQbwBJyjFFnrzOwuHquAMudKTXVyALKvHlOyJAoDxIpsNbrVfeBQiRfQzdxZuhgQAiCFlsqTEqlIkRRrzXhyCdHJAlWVOyCaRnxpyDcYfbqfrotCoIzFkXrBIFZc", "ZwZQqRGiVsChfXFUEBwthchInyWlPNCitDWlswCcomQFYEgsXFqwJNfDPygOEDMyzRPNNicZfDPQTstWUXAmNQtIIFGaieuVfzvrKtxBsjiEhBIzwcnhkevcMMsGZrXUSyArgmczfDBOZFlBrGDeOTKsMRcLuAhEVGKWehGmlIWzwAhfweRtjvMBckuAqAenBjeuKDBBxcCuszxAnMKDTrWwZFurhggyoWhYnkbKEGjBKrUuxToScJsmvFZURPxW", "gRBqVzwzOeqaWtaMMviUVYaYkhVEZeAGHFJlFqWFyDEVslIVRzrAbvBFhNmjJvurWNMQEQNJHWoDrlTtrAJOAmnrqNPasJgevbVbqmXaLAFTeCAmqJSyJBUdaTiLanoxLFwKpNhFadZtygsqOYAvjQnyJkFrpAGThrfdxaQkmpMIyzYMONAJpCASGiFTmQPkgOKrPzcxXxvVWXdrOKmJcGnYsXNdLzKtMzBhelQwwcyimWLUeQCYWyUeKGdmYSRp", "MHDLqcfdDtgzHEelqHejGIMnulgxoTVaFqzdSJWThwPcEeCbLDRzYMavhwLAeCwICIMEbArOkuWfRpJfAWqmgWKABBWvBeFexbVJUAERZsxgrjTOFevbMLssEUgQKEDKbDLcAbrpWoMToWtPhmeTtolTdYLgovYXxmDcRtBWgvebPfqQbIfDUgdXSIYUZfjbJuLjAdatcoTLCTjVZjUeppxhfYXCnQJLNIoJUuWlyCQVeEGXJyVwiJGUdDjRcutK", "yqHuiCwPtJQABHHJGFighnzAWUdMHohUdjVaXnhHBljGgzRSEOxcwSXODnuEMsWjTYmJGCGHelLIMVVOpWaWSpelqWWmeKapRGUCSoPPGWiUtjnfIlJlDyjMmftlbfspiWjfwdjgaAXXOClwSUhqzIbRrRjdkjcUlEqoWrmqieAHPcnKTwhSuwGfOrBWffpEQQgalGbTGUSJiyjIUibRCtEflbvqaRjsytDmjeszPSvEnEMbqdcUaafzItGygwwn", "yuRANTPemHtxWGQGeIpcmdkzOwIzABefbYHjmdkAQznyqOnfTVVfcGyKYQrtiIkZASwLgjvvvQdYGnsdbahgcKmHiBqEAltTXWCrIRiojLEKhjulxWiAUqHPfSikbmwQnsZXbjEyDnddewYNAhrEFWuISddeVUnVOfulCydGDPugeNOqYXdGGgcCVZTUYRJzJAGhnugIrdprjvDJpidSBFLaKMnMWhwvDPKUEvTQqirikMkYEOeeMTOhlmaFuTLf", "QVxIXmxukWtcCNvDyxoqsqTYsxxzHkiuCZaoBetdOMZEjRJzBSvcRqYvESEPxOORhMuTVruQIuExXwKMeTQiMUavDVlDfJsIsopAfSqQZDRWFpcPhiFwsobuvVDUcagiegjfvYAPzrPpyGHFpqWMQmBAxhPsPZrqTpEZQcTHVUWPBaLunhmXMAgeCJFOjPBAOfQDAMjNwBuweibxbIBNrjrlLKgxlwjpYxNPuGIGPmEygvuwKglnAdkiTByLMPZv", "yEtZEXmvwipwqpyjEXDUwstoVBGHdUJyJHAflSvFuZKKOMZJkXdDIWLZVvSNJxODrXsUQSipzQffIGhTqwKEOsNVnQQACWbzNwLSIIibnqwfuhSztQNDRDEjlZKoIPizJWIVAZzStmgKzlzWFKpHSiUGjxuraCKHSYziZPihInpgmxptIhaEbMgkmuxHAAWPbBKeaJhwnGQEReVQfvyLFcLMevKyuKjEHbSKSLqnuIJpygWLXvpSohRDeTZoZFMp", "sZaQBLRqyKVLEogpJsztqQJYlrSgcqOAVOzqbSFRnSLQXSKTUKzjsoxerCnLMMcFoSzWnHWThTeVOJwQrJKASIFmfyTdzoOBbSFOsZPzRUeBzuTeCYWfiHZcTaLxETtCgywfJCaSMJWQcGyhAesSooVkhOIKJrEACfLilUknzJKlyGfbekJKzxQgRqPZXwNelrdoZOyFFUFRUTqqaPNOaExqTdbldEsupiVgqKISTXjSgeAEWCbHMQddJHrZPBnd", "KSkJRRPQdLVofmiPILYXPvnUxcYwPXKsUeuPeEIHGIWQaofZXTppcPleFRWTkkFOTtfvkKeqKVFPYouDBSFMPwyBruevLuAEwwlnerGrIotGHLKMdbkSdRyXjUotkAdTWhaRWFGMFxbFQZMGMdfiYcDuLppIuWywwYuuCgSOEdUPgRUXRnwTTcTkacuckLIqBcHEwESfEJHdTjfLSyLYJnMXBOGBkWvfgjRbxbkdswSvCBlUJcUUhFxifheIwhTp", "tUgCAFpTAvyaffWBnqNcaEYwNPkdAYhcNGGjMsAHvzImaApoZuTRgnLqQcFUvlNIEnNZktzOfcxQJwybWOSqEuVDGUqKHIBnEnIrsxqKLfOnQXqYqBWdhELVOxIOeUccIltPssoWcLwzClmbwlYHDrZuMPXCmCcmiCcaBvWHdbIvrbfLlMBSyQbSlQPJaRbdQdqanMQjEWhafwEojFjnrSrWUYwTUjPNmJUVShLBnCgTpBTgeErDyJgwAdHutjeJ"],"c_map_date":{"c_map_date_1":"2010-06-18", "c_map_date_2":"2002-07-14", "c_map_date_3":"2017-07-01", "c_map_date_4":"2007-08-11", "c_map_date_5":"2018-11-07", "c_map_date_6":"2008-08-25", "c_map_date_7":"2018-07-21", "c_map_date_8":"2003-12-12", "c_map_date_9":"2005-10-04", "c_map_date_10":"2007-06-04"},"c_double":98.45404354924939,"c_date":"2005-11-09","c_ipv4":"70.196.100.198","c_array_boolean":[1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1],"c_array_bigint":[8964805144720125083, 1854418073835952107, 6184067101625278224, -2864996125651492576, 2112799095214323477, -6112616179771664364, 7255321259320180609, 5777272669906140293, -2708324351670839515, -3855248553092994304, 3704738419941712843, -3045414644894236323, 1365429175370932463, -6782671275478652840, 5507497211664045013, 3632123750525528382, 6499628575324097190, -2554493886358872794, 5520426096684887306, -4548351773877931063, 643218414646256083, 7573750909813880002, -7964717773905970509, 2033868630019164090, -8154218405010311429],"c_json":{"breakfast":"Old fashioned banana muffins"} }','{ "c_map_char":{"c_map_char_1":"zYQHXjhWzP", "c_map_char_2":"WljezFJjrg", "c_map_char_3":"XCYhXYrCoy", "c_map_char_4":"ynCGjZdSsP", "c_map_char_5":"fIEYTZmCDM", "c_map_char_6":"sFumCOfEgC", "c_map_char_7":"vxnfUcDPIa", "c_map_char_8":"UBqsyMrsqB", "c_map_char_9":"brwStRneQU", "c_map_char_10":"xmRuwbVbub"},"c_map_datetime":{"c_map_datetime_1":"2002-03-13 04:12:15", "c_map_datetime_2":"2018-12-09 15:46:04", "c_map_datetime_3":"2013-09-02 20:49:29", "c_map_datetime_4":"2003-06-17 22:08:00", "c_map_datetime_5":"2002-02-22 00:30:15", "c_map_datetime_6":"2010-02-03 09:56:45", "c_map_datetime_7":"2008-05-25 04:17:03", "c_map_datetime_8":"2004-03-17 18:30:46", "c_map_datetime_9":"2012-05-18 06:32:06", "c_map_datetime_10":"2004-12-05 01:12:02"},"c_array_int":[606650139, 1752978400, 2141022770, 1299298823, 344886659, -1654907456, 1318642291, 923370113, -207505327, -722087503, 2129425032, -1979697770, -961911098, 423409370, -591035118, 939013223, -1523732323, 1911310114, 509834581, -1329442989, 1903292226, -1353343141, 1887893816, -2104184624, -1198979384],"c_array_decimal":[24.1612, 55.0959, 41.1780, 73.1467, 58.1828, 67.1785, 3.1089, 12.1117, 84.0973, 88.1922, 93.0562, 10.1815, 6.1056, 50.0678, 54.1984, 87.1386, 37.0281, 55.0569, 15.1616, 61.0619, 48.0844, 77.1566, 61.0131, 65.0033, 65.0609],"c_map_decimal":{"c_map_decimal_1":98.0797, "c_map_decimal_2":7.1969, "c_map_decimal_3":38.1819, "c_map_decimal_4":27.0161, "c_map_decimal_5":35.0570, "c_map_decimal_6":36.1661, "c_map_decimal_7":72.0231, "c_map_decimal_8":55.0159, "c_map_decimal_9":94.0088, "c_map_decimal_10":19.0654},"c_array_char":["WzusaSTVYd", "GayeROhAFe", "fgEqWjZAOn", "baMBxdRuPK", "XSnBjGaFwq", "dMPusanfes", "mxtJPCwiSi", "rdHyvmkUec", "LtykeGGrLo", "GKucLKjFga", "LLXnLCctBu", "TBHotqzGZB", "CaKIHstWeq", "HSiuVSLZit", "dydBnXWDur", "GqZKSISivI", "AkgGiaTPhQ", "RqVMMHlHnX", "WEeOmarLiU", "IcgclEvXNI", "txWNvMAtrm", "QbRxyKmbHN", "rDYMNuPttZ", "cjjRZntAGM", "LHXoGlOVvV"],"c_array_ipv6":["NfAiXKICCd", "xWYgauXJij", "AEOCgQhNAJ", "OzTQPJsbPb", "wWEMoTFheJ", "zFGsgVxIWZ", "gapekArIqt", "ntcyXCcUUg", "SnpAdXThGJ", "QxgBXmbxbt", "hrycbtpwSr", "JrbtYNRQpz", "IDfXtpgGsj", "Crdkijgxfj", "EWZkYhNPrk", "pAstKUwyKV", "hogUsKDxNs", "pxpYSOipYi", "kJWDBohNAl", "FcnnaWTUjE", "RQQDaohJzC", "hanHCEBtVS", "JmCrxEFbFt", "bJUsoopsqN", "dEtiEMiImL"],"c_map_int":{"c_map_int_1":1435204116, "c_map_int_2":611705865, "c_map_int_3":-1408037564, "c_map_int_4":-264307850, "c_map_int_5":-1644781945, "c_map_int_6":-681987406, "c_map_int_7":-54677712, "c_map_int_8":-2114193635, "c_map_int_9":-2135977139, "c_map_int_10":1446817852},"c_map_double":{"c_map_double_1":82.62641913345854, "c_map_double_2":97.41539402845285, "c_map_double_3":6.534645207158251, "c_map_double_4":94.14311340874112, "c_map_double_5":14.023555683147848, "c_map_double_6":37.31321138649762, "c_map_double_7":72.0715916650851, "c_map_double_8":83.6760606356703, "c_map_double_9":65.73648942034004, "c_map_double_10":15.815373372856325},"c_map_varchar":{"c_map_varchar_1":"aCAraxqEGcLbIciLHMeqxMDrzOQdutsprvnkekQEpJIZhIMhvfggddgyTwbPBrTWKbRkCVpYItgZtIKgAckFzijLDBiDCmnPPLHedfiJoSHsxmUfSXIMEGJvehJdIZbqvcmDMmANBwcNcBJsxDLIGXrulGyQRvDyMvUoJgpAwcvNuqqTXcIGwkTElVgBmcIxebuhVedBKKIszeirtseGYJuShZxbyckbmUBatxhwYZJcjXJNqxMQUXQuoNGQFePZ", "c_map_varchar_2":"pTIJIxQIMsfJQvqWFlIxgmFHRzBDwhGPStgTZNkvPBNsefYrzJuvDaFCviGymUwfczbJthXXitXUpHMNcrkjtetYdkvfgXwsoKFvENVTGnBOvqVYyuqvnTNpSdAHrhoRwgWZWommomycNWJmXtutoQsmorDRvtjrTcvpDDIzVpYzRNVHFuyZJanopPsAUhSpgvjyXotfshzNgwqknFhoLKAFjOLAafWBcSqCsPSvSkIqhxOhUfnTeMtNpXpgZrbA", "c_map_varchar_3":"pqbBESKcqEWQEIQJOynQiCLTgHXVPinSquqskPigkMVQMWuGQjoEDRrUtKRCRlKkdqzjrnxcmqajFRXHwbDsoUXTQikUaSsihsHBIQMGwHHxrVubOdmnsfsxdlZoPkLvWoSxUhowVqVkPIxdBIdcydZTjCOfTAaPbcVnQCHwbgCziyTEgvEQqwlonQylSBVuHFqTaSciJqXAWNUCiCSrrtxNkMrZyIpZONdpZdmBfwJSVveIMLUcmQPvGNTVgGDu", "c_map_varchar_4":"VrIiqeYJGPMDKOFvAquGWQJGnyZgcBxWaotEYFTtMCwbZflqRSGobnYAXCYqUfgiPixwXQeWAHbXNseFddhzCHymvEGikkuZJAvyEUSGzatjEpkFhOnjrKhKfWizcWKvYdeAWsevCjtdQkYFhnFhehHiIPdSvAvMXYolyRcemyGdFVvfmVftwqUVolwNUyqkLMPHtmxErjhzWFrGippPtcTWpxYbhtDJOMBjXcZMinpWOCVjrVBbKDmOBtTYexWl", "c_map_varchar_5":"kkcPLhhoVnfmmDTFRUcMVHADPBBpzstoefFgSKdEmGDRkDzavbqvIHfYqTHBzHqGLAbgXEjngigIAOPwnWVvMTnTvZVqTcKUlCJcnaiKozxLfpaedaercDvIYHHjDLcFoFewtESQLUmlOohMzsgKSnylxlDlbEDmQmkkuuVGQdIaNhUVdGqBXgKQplIiupFxWzdySrWqVRTLPenGuzzwcaZMYoiLHzxAmvfeLcQXbQYwCmqKAEDbdbTZMGwqGXRn", "c_map_varchar_6":"RuCndQUZTdohJjBiIZAFhVaURwyaNUSBubHHCNKMZidYfdAKkPYeFFNHxDzQVgLUAQmLSvvUcaIWpfmzZuOKDixaOsfDlptxTrUWrcCSHOufVJKFoOKnEodzTZQAJsNvhwGnGhnewiPBsXFzcclKdJEQjGkjxjZurFpeSbJLzTywnCGCfftiXPPNzGSXSUCnGSYDjTrlutOlYRhJPnobYtkNmWFMGgGKshgXPqiyghepOVqZJjoIUmKQzuAbHxhK", "c_map_varchar_7":"QSIeQFUtAFMoHlZomEFFZSrAgBJQTBGPPtShSPQXaQjVLzHuEcMQmqiZPNlgYWYazZnySfSucKNYlESPyUjIXGaVuwKjEMeGwhyyrlnkfehwheNAiOwnQLltWeKHcKpsFkzBdyGuDwkImCLgYWKGeiOJnCLxRsjemVLJiNbxlxvboMxKwmtYChVYADUihAcDyEctStcRJBAhxDSzvLfLTCzwkrxSdEmnvgHGKPLDrHAjubXGSpTGKgcTBcKtCtYm", "c_map_varchar_8":"FqBaXPdWDxRpMPHOaYReOoiJogBbqUtzaEnPpEcmSJMSvlIVGJfJvGLCmCRUvbnMEYHaalJWwLuGRxtKHwfFdVCTeTvkuCNnPtgLKRtpgVYLqdSfVZfliXFfJKimPuwrDmjrjYdvimABzgjVgBLApIDijwuDUumRpSSfdYwHfdgUQCbIuLaHRXdnKNWVnRVVqKMnxCmTQpovcyQeUitEHtReIUTaFvjisGVuPrNJoYDzlxJrNDnRRIhMSgtfclOk", "c_map_varchar_9":"iDmaeHWbVHJxfxvCwSNvbQpkKmyLbQqnAkVDVhsaDoEgOIxsxYBOMWyhWEFDGEqllLTmdwwkwUcIownMvPAlguBjBLwWcTymtgtvnGtZRRLRNDTtpEQBrzciLDUubNGmqAGlWFqzZchsdciahpwhxolqiTEwNYpbyVxieTzbREWqObNZMWkObFNmFcyHKzTTzKeLtmgFNIUSWBCRpsRclPcPLWyQuHgOBpQrMdcYAHkWXFbgFViFiMRJvmbIyRTy", "c_map_varchar_10":"DiNVxHptokpTZXaOsNwGPcUDdMBTbjclXzRXoWsgwlApgSgGGpYqviMFfSlELjRABObsKNtGfEQYbQqODKpFbCELfAVPQJQEOFpnKIxeoIFFWPmGeDeSJZnWBeTWrqpHaXnLiJUggSpoLXNiUgsjSUOkeRdruUgEUUlBcZPHjcdFHumrATEPKzWNtYzPRDadDSFucacdegtDiuIFEckoWPWjKrVQoyRyBnmYrlmMtFUAnrdzowiXvyzUkyJNvVsV"},"c_float":14.98525,"c_date":"2011-02-06","c_array_largeint":[7030354453131300957, -4613185178550352528, 5963851060188016115, 4287043567896390734, -1577815208355428447, -877018870597112883, 1783903707364167433, 6448266140611772351, 4975762785933292802, 3472285858905784749, -6799835951935104437, 6911538800851604480, 2290116318407967538, 169430911262986726, 7477397608380227934, -5545589104417745665, -734574811092501370, -2864497950613636637, 4757801200140024766, 2542419307474190492, 7734049981062426539, 4356613995392431383, -8238126511512736055, 5883676866614585077, 8980323732164278735],"c_map_ipv6":{"c_map_ipv6_1":"ab21:ac6b:a3d0:8729:9f6c:a4a1:fc76:180e", "c_map_ipv6_2":"bdcc:4796:8f35:d850:fcdf:a86f:20d5:5490", "c_map_ipv6_3":"6c77:a8f7:103:4da8:38af:ac6e:5bcf:d00f", "c_map_ipv6_4":"eb4e:6a9c:b15c:8484:74c9:8651:29f9:9e7d", "c_map_ipv6_5":"5498:998c:c6f9:1a98:cfe1:410a:95db:3553", "c_map_ipv6_6":"4336:ef8b:29a2:bd02:cfa4:dbff:a46e:a3fd", "c_map_ipv6_7":"e5f3:ed94:50f3:52e0:e470:da40:6ce1:3439", "c_map_ipv6_8":"f65f:63c9:559c:d17:f8b:eb48:4400:4bb8", "c_map_ipv6_9":"89fb:89a9:4a47:dbf6:38d:c83c:d157:2f95", "c_map_ipv6_10":"b1d1:6e22:2bbc:b8f1:20fd:4eeb:ee9c:993"},"c_array_boolean":[0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0],"c_array_date":["2011-12-15", "2002-09-23", "2002-02-19", "2018-04-21", "2014-07-20", "2000-10-23", "2014-06-03", "2003-07-11", "2017-04-24", "2009-08-22", "2008-10-19", "2004-06-03", "2014-06-17", "2012-12-12", "2016-02-11", "2008-03-03", "2000-08-07", "2016-12-13", "2014-10-18", "2000-05-21", "2003-09-08", "2018-03-02", "2005-10-14", "2000-11-10", "2003-07-10"],"c_map_date":{"c_map_date_1":"2006-06-20", "c_map_date_2":"2011-07-13", "c_map_date_3":"2019-01-22", "c_map_date_4":"2014-07-27", "c_map_date_5":"2010-04-18", "c_map_date_6":"2011-12-20", "c_map_date_7":"2001-09-11", "c_map_date_8":"2001-07-09", "c_map_date_9":"2017-08-21", "c_map_date_10":"2019-01-11"},"c_array_bigint":[8921308282750197881, -4747573924279772896, 2762639429929199939, -2629498037837331530, 3106148039250383466, 7338787608428350508, -6210342932586025895, 6877268429372659337, -5299526073503460151, 5020427185300407736, 943511945584487492, 2018597322954159101, -5534099440822599566, -5319637443093240893, 9086799007802411016, 3931094225595057043, -9088320534651019826, 9192542286640440437, -1757763045469447935, -3562348917789558049, 7909752849924453994, -4797165662307314120, 6400025476647170853, 4674120334287349472, 4024342827623329690],"c_map_bigint":{"c_map_bigint_1":-3268493329347460081, "c_map_bigint_2":8681559860560162401, "c_map_bigint_3":-1299904268247534734, "c_map_bigint_4":-2469002784628549957, "c_map_bigint_5":2737811902206853744, "c_map_bigint_6":-6646123731976402645, "c_map_bigint_7":7354195499995856623, "c_map_bigint_8":5513286030814032589, "c_map_bigint_9":1989373676751197520, "c_map_bigint_10":-6213613293348177552},"c_map_float":{"c_map_float_1":26.083616, "c_map_float_2":94.344635, "c_map_float_3":95.09833, "c_map_float_4":56.250748, "c_map_float_5":73.562096, "c_map_float_6":95.85764, "c_map_float_7":36.591682, "c_map_float_8":64.34117, "c_map_float_9":93.32668, "c_map_float_10":3.335513},"c_boolean":0,"c_int":1594702152,"c_char":"gVzMOMppik","c_ipv4":"142.68.37.210","c_map_smallint":{"c_map_smallint_1":17459, "c_map_smallint_2":3683, "c_map_smallint_3":13472, "c_map_smallint_4":15223, "c_map_smallint_5":3657, "c_map_smallint_6":5400, "c_map_smallint_7":-22852, "c_map_smallint_8":22877, "c_map_smallint_9":-4231, "c_map_smallint_10":-23396},"c_map_ipv4":{"c_map_ipv4_1":"18.8.231.174", "c_map_ipv4_2":"68.50.24.93", "c_map_ipv4_3":"98.51.77.230", "c_map_ipv4_4":"120.77.217.199", "c_map_ipv4_5":"12.254.17.126", "c_map_ipv4_6":"228.238.249.21", "c_map_ipv4_7":"73.77.53.159", "c_map_ipv4_8":"133.140.48.203", "c_map_ipv4_9":"173.213.192.162", "c_map_ipv4_10":"77.74.239.77"},"c_tinyint":-119,"c_smallint":-21297,"c_double":80.29764918511202,"c_string":"NVQUUMLonIQMPvjoOBygNwATdTaMVLbmPAdCAeEspOqitsklcITWWKuvLHjudMdlopKkwfFKgSsiFnIPkjPpVraPvpkaNthYUzJABJQlupYtlpHqWKUgmmyCuQWHtjsqCKLSQBfCLAGIsMpSRTDyMABklRcbdhaDZBzxqMnBIbdCJZnCIJMpOjZvqXHDwOEWHSaPmxrkhqAszekmLhiqFYtYevveDwLZZeZAaHagQZcuTDMYrGFcKPdiVknmuEswLKMKNZbavcVYfAstglykVgAbDVXvtoVwBcJHduIeIIjNOzbztNaPzcUzyqJqWgiepozEgIOJLKXvzktiUfBRHXXGnlhZtgDaCbSgmUstsiSBdzVSjOPTKyYmizaHkhSkABELuEWWJVOqXWiehtGUHdoRrpRxKOeCmCdRXFnSlyrWoopdwliMZlmLXfmZvkmWklaJzsptFfQsrXLIUtjDDfJwZCJxavMESWcwJKGyXWixcOfkSmeByPzectrKrVFt","c_ipv6":"9a4e:9719:6ced:c497:eee:cd73:2ecb:c2ed","c_map_string":{"c_map_string_1":"FDvLuvUllQKdawjEnPUCPpSlIWvZzJKCweWRoAGgCORZSZhSWLjlkcnwIeWLyrAFRnqdRqkuRkiAAjFsGhYczGRutfGgabeiLNyjOYKJpuJrWuoPtlzfQtAzIgzVzbUCOMzeHXHFliTXoRFAbPHFxCFKyntTPuBrFBNPbtxRgLbdzXbXznptUQFLOItNDWEFivqwcxnTEgEwYaLUkNySbobLHkHBPdTlNVysAzzbsmZigRvvXtHYgYIppyXXrDiDMiZSdOxzOxCcsWVUjBzxSVNfvKJxqglljtvIhsMyLZQfZUjTMmJhKzcSgeAguXnIuygvkpkvoGtHTXGwIRsBNaakrPdgGpSqVKnbNeZBhIcIvkvravpcGHrJJpkkOmzmtBMoVHYnIUfXiCilJWvHlfjuPeVMfbgTyhPIiiSSHClxsvtYRUILHwzQBqutIvYYloyBtmdKhbyDPOsqsujYETUzHzncMLnvFdqJlvPcrSTQioxNOsMpmxBlcTuQJhmK", "c_map_string_2":"EwYfORRwrntWWxqsMxyEtIGgrzUurjgDvjMjlGHGErtgbWtQfsWAuanjGTRXNNHFIBsNwrtCLAlQhmDBJypTzUzLzZoRGgwqkzFCoTWMjYLagOOOGYBCLvMWelhIyUPgXWNpJiuyjSxxGwIvCpmIWUxLzbCQZAnltEnKtFLyhqeVSJZYbKrqQaoRRjPkswXjMTBGyeMcANbMhkEsePMYBvObLhxOQIOowMPWMzIsgcAhknuZtHnDzboHNWOuUOEOlsniFGRjHXzpOwVgYTlibAjtVJpJIkdkeZWZcqcwDlYloqtagbtTwoUndTjXjgLYWqoCpDCkzqXNyBinsKBGzCeplWGHfyTMaAdgCXLekTVetNQOTumbspKUqeMGtdzrQKVvKeoFxCacAPxmpmlvuQzHNUkuKpxcBNlqHPHzMlSXBWixigntTltrWahrzriBdQZhOBPLnnbkiOPnkORwTFPNIfrgQzdUOVoteDjBDOuZbWnkLwBbocWXJaHicyXD", "c_map_string_3":"urYflvKkkimUCpCVWPGiAjKWoPmttUtxypEIqRBXVaAkEwDVxWIaDNtfEIDXSkTUhHLHiRFvWrLUFpjjCGMTunjfBMVETcNMyKdYWfqxQIcIcjuYeiXIDhQJriEfMDgsfKkkxoDmQtnZchTDIFxqYjQMxIEZxPwOHNJOLHRKJLAfzXvwpiMBXKwYGoAPEHSGmUqZFoMAtNjNlRhvjkkGJOizSFHoYUzzdQzCbnUbModpQEfXglBPHoKURsRdKIIsiHPPIdrcbqSfxFfnEMlXkWcTXrTMctqYNlkYdpzZCZCIcyxIJrcONnfsQtkYelflHMdTyIUcJwTMIsAHyicmbqpLwETcyIPgRBEpXapUMndtwfaYHSsgLAcaezPCjBCBLsSzXubUSuQTRYWtkPCPtwDqMkScJoxHZZrSObILVoVmlgrVTaNZIShowGFFKyyUIpYLBymxhbkbaMlALxdBLxoxtVfBaLROYgotsfNPTmdTbdqoxHiCYDBMFGJoyVFx", "c_map_string_4":"uqlUoGvjJIMkoscBzLdqgxsVKtTQouKIpPInuEMLZjshKHThoYDmHrXXWDdXwWireqbAcNJZJHWxgCuXglOWqfmdTSUMQbadJYQVZtzeKhYFWPImdpaUOAQlLmBHCEGUppxWcGuIiitSUlXyTXevUuTagDHWjPqgGuXjgBZBdcuOOaYuVUWGezCnPEhyHRQCQifYTMYWFzeQWYOPazpjQrkqOUrAJKmTFmoNLWNUcDaDIRimdSrtheVEDVQnFzxTHtTOtlWvleYaTiWmSJbbMcHpgUASLNONBnnXfLdfzJLiYevkCsbRLWVbfUckKehiibLzLLCUtOYMyqCYacyUeIZmMzAtggKhGQWAFkbcClLaspElRTRGXViAChGLgqnRPoVqHQQncSCBKUyHLflAtGGFXGIhITMzscnOwOFnWwPvVoQcLvgmgBQBMienZXcCwyNQNXRqpoFkScvninvzIPCWnKsPkhiSVEmVnnbKdhEyUpNhpzLopowgQrwPnpzV", "c_map_string_5":"xanhvanEvVLJoBIpOvfPdPlSdPgAiujXbQESzAymPEDeJTYfvHWWJMdkDztlBGIQFlfTlrkSkLvbAffbQSVbtxhAxgGqRAnXoZqywHuMqgSjLhlrvhdFVIcEqJuQpTntyEbEWfqkuiMgeGtQhalqIqYFdlnDLsCnDZCOSXPOwHKHtylkPOKYVkLdTiDqWDJPCNNvLxVeZgSGkUddJUlAMKExBtPunrgpamEQhQuvTpkGUNdUvBwDUwuYkSdENTEeVHXoBAgkCJLrLKLVoAhlghmWiroXepwVJbLPctezzVoMHrtKwtNdbisQNoCHsnYPURVxiBjNwcqcnehyTgBdUMCeMLxWTkIDMjdVWNegwPZHkTPBfYDocdoHDXSmtPttGTOrNUEievAfOurPdxFfUefofxDKavsMVrMANxayaBLSfnZAIKSPMcURWPrONbeBNJfkHqXyPgBfioSwAyfTloEmxRDxeBVjSDLiyOBCPMcnveKnwqBMygfkkQSXwuLn", "c_map_string_6":"FktLrRhScndEaAQypdcEUFngUaUbheLZJhYKdwnbZJthgqATtWukssdgSHKKJlhSHkaLPkSCxFPupJDTtlCGhQvwjVyGxNlrAgNqlETcbDqgAbdZAivEUgKYCmYbxgLfhfrztViRZRNyxtTxKEbMemzRkGOzPkruagnKcuKsliWqlDpwnksGaAXrNLMacQgPcAFMYKobGfvXXsBGqdMOtLxWjNFpzMulXUcUEvwxAsJPtCBdjndPHnsCbeGvyBtdIfUFLSdXaexWpeJNBpHoUekjZSeDSqPlCmuJNoIqFcBWuWSddcocHlcOcjlleUIfplExYEqjGPuZvdPlbOiAGvRvqHErmoKvmAGbMzLKztxBtVwFCRngAoAOUtzKyESMPbIzEOpxHuCGjYYZGSpbDFoYeuFTycOhUebagABbFvBikvearCkUaWpCWiffBlebjVUUArwcjUekMOrOtcVszCkZmAEwpdaVQrVYTRuwDwXQGlfFUyerXnXkmHFGNNBH", "c_map_string_7":"ynznLJNNmrSugivsAZheHNPXHDsZzranHmGWPZGoSdKPopbMqlNqOiEvGotOqgbySxLRWWVzUTkubjyVNpNgAJnkyWSDsTJjbKuMCMsPGYYuPqoYELJYPTvCpWeJoSNIEQKTbZVwuLVaaBjZgqhAKMsGBKdymWjOGIDCWiEvQvjQdSvTKLXRrjNrnSqsodKawweOdDvVIhZtnRAPlXZOSBYzRuTlhGKWRYGqTBXTVfsvJQeqpVRsanePJUCgypwYXdlcTbaoHTBtPgXwLBCFlySSJhbFqLVOmPSfnisQssqjEbealAKScTVBxrdOVJzZKjEuzuSxEpKfOwJUzPBeRnKEqtrYTdKbRbPOZEEaUkuvzKDAbCysOqsueOiGtohzgiAaENtFnWjRuvOxsCUVXRnqaKsvLXGUJVPoAOktcAHlRkFTTcSdIgztAbeaXhrMNJfCtpiTCZJRTcLsHYbxoERTIIOvOfxIhrskwylnrVkJYuzcepGsPNbEzDunBLAO", "c_map_string_8":"mHgcqbaDSsUKmZEHrVcLpTAiKqeBHOZvEvsQweMZZmmgWpohOBFbFmkTvxjkraOapHjfPxtrXwxuJTlBGaxTBuMfwzSOFPOVrgnKJpxRUKTygnUyTqlHqBVGotTzyauehkZmcYqZtZHWCsFKtdLpoKfHUDwoeopqsvZiMJiYlYUqyMpdrKyeWtvjzLwvRzTkKUBMdMuFtkbloOJCFnvMjmfMubrqrRXAIpmtoCHtSCiVEIMffmcgeITjuFfOHfWGsbixvbUeHwiECPbmYAKcYauCzrSsWFPuUdUiXEqeZvmAcIvlQVjQevJWajNyRRHBHYyNkJzWSZCrtOmQnFjPqvFWyMunlBOOGeozxvsuOYVttdFjhiPGFStjVHXwlLaYJrPLSIkLalxKwkZKmMqhreQfKcPLfAWXyufVqSkhwhbTGiHONvCwVAzCDdQMzyObdePOQTkEvctmLZuJIwJxHuvdzcLnOzhWzIgPgfsIPSgoqxRmiYxybcYzPIYUQWha", "c_map_string_9":"cmjpDJAfMHANOAUyyZywUEwIFzpdVIanuMnFbinFpsOWsocGxGkZmLFMQygPUPfbjatduHkkraGttTihgSvCiuwpOAmTXfwfbbICUJoqxpKYjvomHdLnGYMdzhQwfWjydzNsgbDWaqqJYcsfgQEYyRWqHkyoacGcMesmGIxuIcEUaHKVPQvDteagkGuqDMMtfJKDDsiLeKYJFfwKjLKPoDIfhlQvzjrAZOkFAetGKWowmtylvnIIBrcheElnMLZNjEXRBzDjYNJdSyryOJjEHfJkUBRISWHrPQgranAqvVKHTLcBZWmhgTogTiCtYnMtlRfhhPYnpPYbyLFXuNijrnETrqDYGymFazeJvRRgruOEpKHxZNCLgkCVvOdpFTgMmgDhgTFyfnDkaHbIkNGQNrpNFFsONIDaSbBiHMtsndHHeqryRoizlhBgkKxMOFkQhGcxZiOSyLQUvxlazuvNVUFjDpSyGkfJPPdllBUfIdbEQrUkgRAzysBUvEoLntsD", "c_map_string_10":"QDLZdHUOMTzFugDtlOfolNsOPrPyvocFVLfyrSrpfwzuexhKgScogHSjhEUlXzIZkhsDuMeQdPFJCEgDsYAEYoOaQhoaSaNIwmMXYdRWvWfKeBECOKNukbGVrXgBISJkUqeLMyAaVEzTZxjvtAzoGxyovQJVlxPFaVnBBIQYlrwhCppGWQlrTOnreorMpgYLWfiSwzmLdgvZdDOJJzWcwbevfakBIzWgAukzLlvobBbYPVDDyGePLRHqJAZrITSnMeTpulpUpyymNNfdJAmmXBjEGPSgRRvkdOxKIpMardxaplkVjsFrkLkIoikekEfBgxHHkRNZwJsGlRsCANGtOGsewsYoLJIyXVgrkbyQyjDrdbtkGiydmqUfvUbVmbXnNAhGFosSHUTKdvkKFujMvJKfffYkTRjUkMoIaekgJytNmMTubugOnnAbvatklBPBFBomQgTrPJCfjwynZwSiCgfBmEAmidGVXMRYcjSVpxIBjcXemhZbgKaRSItCwqPt"},"c_array_float":[80.300896, 40.876698, 68.75147, 36.343147, 14.68408, 56.864765, 100.025856, 56.90269, 19.146183, 5.21767, 71.22521, 6.9428205, 26.533035, 34.90485, 43.762848, 28.970837, 57.26028, 62.860645, 30.215588, 95.12506, 50.38914, 83.23027, 26.46425, 63.50002, 61.39653],"c_array_datetime":["2009-01-25 23:41:43", "2016-01-21 23:03:32", "2017-06-24 18:55:48", "2005-10-27 06:54:36", "2011-06-16 07:44:08", "2007-10-05 14:34:10", "2006-07-08 09:25:24", "2013-10-24 14:20:46", "2004-03-04 05:24:41", "2008-03-19 10:04:26", "2009-04-09 18:28:45", "2013-06-24 06:35:35", "2014-11-22 19:08:32", "2002-02-15 09:32:53", "2009-01-06 16:18:48", "2011-08-09 05:50:36", "2006-03-18 01:00:15", "2005-01-12 13:52:48", "2019-03-19 14:34:54", "2002-09-22 21:22:52", "2013-01-17 10:11:33", "2018-02-25 22:13:51", "2010-09-04 08:33:37", "2000-02-09 16:26:56", "2003-01-03 03:36:35"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_tinyint":{"c_map_tinyint_1":104, "c_map_tinyint_2":117, "c_map_tinyint_3":-90, "c_map_tinyint_4":25, "c_map_tinyint_5":106, "c_map_tinyint_6":97, "c_map_tinyint_7":-18, "c_map_tinyint_8":42, "c_map_tinyint_9":-35, "c_map_tinyint_10":126},"c_map_largeint":{"c_map_largeint_1":6895137533573898249, "c_map_largeint_2":4790981654207694654, "c_map_largeint_3":-2201774815429092006, "c_map_largeint_4":-3380756709416166572, "c_map_largeint_5":-2490065449385146195, "c_map_largeint_6":-874402630797725859, "c_map_largeint_7":-6182314659842693003, "c_map_largeint_8":-6732257426824337845, "c_map_largeint_9":7767487166253064497, "c_map_largeint_10":-2615515362968988464},"c_largeint":-913438676668070106,"c_decimal":70.0208,"c_array_smallint":[12160, -16374, 11277, 21644, 25046, -16448, 22978, 5225, -8458, -32633, 1561, 8842, -32286, 29525, 8340, -19738, -20217, 6142, 23139, 26218, 25857, 20711, 12938, -22090, 23294],"c_array_tinyint":[-122, 53, -76, -112, -112, 10, 112, 12, 51, -107, -47, 84, -21, 97, -90, -116, -42, -107, -68, -72, 124, -90, 32, -69, -29],"c_array_double":[30.26076100040116, 4.491928771350314, 2.5215617570839424, 86.80170097099398, 62.029440681171124, 4.802945370980677, 87.92573721353922, 69.95505111302926, 47.071327061137765, 1.954010068491797, 68.7107168152692, 89.10700065222066, 9.384043180746023, 58.064727227221, 92.10620641062054, 80.21828994179401, 65.25847946771657, 85.95849848828713, 99.72517324460676, 21.572064169788824, 80.50446572618046, 11.810677157427275, 88.41380797204523, 13.798550524416962, 80.06833690466677],"c_array_varchar":["HofSyhhObzNKwFLpPkKuIoCHTGzWbsSyVYmIXAlNkOwnhkWuaNNfBWscPEmeVasQGeZmbqbFWLDAvVNwZcOCoHrCZkRPMWcFUUquChkHmEFwjeMnaLCEHhDvooqhCrKxpCMQbzKKzicFViumWUzbKCSsKjEXxiUjbIUMwDnRQOoqiZnrRyKVUxCdVpdSeeqilFORAUOaxEjWCJRCbVRkDNGKUOaRQgAFrGJGZBGkJzAwYQwcpUWEIzwmiZxKZavy", "HdYXQRoyBuNwvJQmzVGOvVLFXLSqIAWmpnXBrVIKKnuZeJqNKzxgLticnDQsjMdDGipwkDuJpeMVATDWiqZJQHywEEeTBpQoGNaQhbCYzykzYuxgbCgBURsJciHNsOwFnlhwTMDOAEkJRgrefXYyAewaEjwjzAgIUJnaBKiabltmczdvAkthQaTOPYroUfvqpIuYpssntaqmtqqtyoJdnJUyMiwTIaadsXYWkgkVwCXCQECfswcKCyZeQyBaAuUl", "YNVBVrYIRrsBwsIwxjIhaUbAMFQVCezimMZiftDrCMPpdPnvvTAxPvCwkrEhbhNSetigUVcYieItqQUOLwDxOjaqrHRIZzXCWJGanGOZcMUlnPeENRbECNygIXPpdNSkETZwHVWYUTEWHQBPLfnVFNXUaBJHaJDXycVAuOubwDxbPtGNvglAFImCZvwEjKkepQudRnljaCraRyDixcfeOKGamTaGmjlqYPTUpxCgOscDqqReOiYZOclfxRxVeurt", "AcifGzIIxksokfaRddRpiUqgGvBbrblscKJKIAyGXtFtWSoueOkjQxCToAGGwKfMqZLECWVXuhvyCntijZAoZzmJRJkRjNSOkscnxLoOuBWwyqBSuWILXhqtjDNDtNRzLEdDnrqUnhLggxfBqSZCinGxRrJeEwpmGnpDmpsKgpsXefzuJNOsgTIcnWnUDkkRYpwZDvRENZBBOKrjParmuMXKgMPiahxCbisKDaiCUSgBKxFhBOAVKDQSuspCQDda", "EJBkQoHUNricZuGcoPjoYQyxkUzbprKBsKyAxuGojlFUsMzLURzQFOvoOqESqswKaOwWsrlJRkLTYEPsEVrqzsICYfFgmBWtGwpNiykLdRruRFSQlnjgWAqDgGFyJjXEmKaKmqJuqbHnRrgMASjGETgFYuCmWQFeOZAbkkxMwYqxKJCdbAgwHDRkHZjFEWWRYVxweiuODfqtREVktndGLzQfZjCODaIdJdQPrfrGkCAJEqzlcknKxHBhgJSOozKe", "TYuAVHJVcVRLdRwolfnXXrjwgfmVWGYdyxCKcaoSHRAdokGbOeIAohGiiWmDkHqXDAzaxDjfrmqPlPOwszCOFrfbwhZkaXQZPXlKwmtezYdktmlkaTPfsMuwonMCbpCHzJhLgsVpZlSUEoMkgbZmXGTKmKzwaEosbEJntBqLbOZuZhPvLqYvRwGGbWOHlzOcXNNGsCnkpORwtRjvITYymbMwQnpjKgtRlXqrmxrsoVxEVVSSatsIqohRYZavgDVz", "UFsVKlfthdFKAYupzFSCNsGfiwZRLoSjtoWUHLFWrIMIkKiwWIsHHBwDijojwcbyAizvUlCikAFFOvkwqtirtliByosAYeGRObAVnrftdExcEFtwRhJpjaTBZXSHlVfkNegUMJRGIyFvVqrBbbFCScRynUNfCApZqAFyEWRgIYbMsHsITNdkRnNmFKcTQMgmYYbHfNIGcBZONhNgnHvNHQGRXtmguEZOBJgUTbkTXPyctOlmOdpPYDBBYTmuWdlg", "GSEIhTUZFOChgnkhdluVONLQDYiuitKvCUbZDAKfgUeLscxRYQdIZFHIVBNYfSEUouPDjWDnGRCDyQgkvNYgigoQCtYwAuJLiTYXOcFxPpXtSgKbyRpdQYyrDxMWxpqlmQaQORpFQwJPelobeRVRthFIeKClNLvcPZEsdjjePtEcJJxLUgTFCtXoIMLrOfloOLGkyodSQLfaLflPBUUwMSdWEBgfheoshYBuPjTdRLOkhELeqeHotoflXgCzPvJA", "PdUSFxisFRLCbpQsAPJERBkAqTnvZdYPQcZOopJsahGnRGIqixctcBaiThfSCFbYwQIiDwoEBtgPuGeUvCsWnUdPkNTyDnpudmpIuFXRCpjycMvdfcJMsSIEAxLsgJcEKFspsEhynERfQxyqjYrZsAFUVRBWVOGkVsvaBfYLjwcITHPzyTUvPLCBPYkjoBAtvfxgjZkfiUpvOrwIoEnJzrZYkBFdCndSdbxBLFoJvsEGrJEJIEXXLsHfyXXBvUgn", "nWgUFLKtoFOHCGxVpoVzHmoUnyzfxqzqnGoSJbBbAhpLKYlanfqFQSvgKQZMPoOuORgDOClrOjEmfXAFnAUlzlxXYjnHkJLoNGohlLkFadQYTDMLPjjORqonqnhpWhpCLZcpoXqjHEbKrpMGWknmmBKlYPSLCGovWvFXtPfgSUMTTcmuZZyGNkviJFxPzwFpCUMgkWtQiigQYEhyuOlpESVHHMgyTAifDfXSCCZBmbHPrWiWGltzhgYekhljLDAg", "tkSwEQjQceabSVQUQHqeqcqKacANKoIjQFuVFJggPKWDClIzRApQKOJzwCADdDxpRuRIAdCaOphzIZVRVFTHTedXmRUAdMSqgPtvMblPASKPdBCgEdJuAcAdLEiEMgPREwFIMpMBQhybQxkVXkGYyLZZczoghttqUHZJcPrWfiFwODFtHfMCOaoDggAWTRBoANxUEhalYlBnlQyJhIvOIvJYhbEsubZVamkHVgqZiTXketmHCCgMgkWWfADNmcaT", "hHlZOJSrfVEIsHKuIjromdzmpajQgexqpJjLWhGKuJAfkGSdkXtozTFeuMIfYfbzNCmtDdSNLWuytDbVHEOyHNxFkpqgvoqRwXNeShCKxfsYdwCKRnyMjoZZrqQBdSWMCdFjqMToAyXwJxxndKFSamcQIhQfHFylcGrwbtdkUQHLwpnnqRjRGwcpoXggJNjBjlJIyucigkBYZiahOucDysMwadqaHuidULdIhWsMwZLOxePitwkvlVXuuOxTKxgC", "lmBuTlrOdhREkwRohDYzQGVJaLFaTsSFXYMYIWMgNLnEeriwcRBqjFVfiifvigDadRxPlBvhpDzUKviHhAmmlKOAmzGSwwFJUQrVkHxbcbqbHIqZHvbhAJLxZjvTWkVFmyVEuuSEnyyCLMasUrEHMuvLncyUMCcyKXiIrtBqIDyGvhYZyTRRSDSiEmHedVdEFDuCJIDPsgQgDCsXaHgDPrqBpkPjRZNmRtilOQNmrgvvilYzTEkGBWhzhQznYtVA", "DsMYutKKpwdZHotuKNjBvURtEoSsCbnTEkiZopzlbgfsfyPQyTBtFziqdeoMFDLOAlrouafuYtliwQSLsiEtlvIaMhvQOAFwGjPMaEFjBsIImYKmFzFLbNYsGIRVkgLsjSZOsniJEVzTugtUUmHuzeaiIrIhyKqVoTaxHJZBfkDxJfAeolgNhsHrNKGpCRiTFyUetlXutlnvJiVAFAlQBvpsoRuQtfdWDDYypenTyzKRLRQKnnFzwxYWVdpIZuWR", "cCykQXtxbEJhbCYOeEktgLxPyKUbPDHzoYNVNQdMvKdrxNBzefagHCDVDXeRZKTVPjUpJbfxTBwFuZVXHJqzpHhNAjTomhNqTlkRHHpQprVJwLPcdtZSBLdmqBbrMTOVXLbxTCMfflaTUufqXUmcLqHBoDliCzTNzyYbVbYBDcQNTSymzTVYCONJYLuNHfVvELfZvmCkwrjIrDXLzDAsazSmqakVmVSCpCBLKhAYiGBGIONkCXyOhwdgwNshboCc", "guTnIcZGrRftEtyDgGbkHzRbcjAVrkbVpxRIFOFUuHAIOeMeKmOivlfnNkyxDZYanLHhKWnLBEKJbLKxotCjezMgqwsHyidGMTiHcKraVWJDXYRcnZdRgSgAtnhrYIrBuyGvKRqEkjYhieSzxAMfcoVCaOjsiQVVhgHfAYMVVqKnVoJKTzRNwJHhMafDXmMNnQpMwFntoPjWSsZTttNNGsRmzlKGtGMlibJjTXmrliuQlSZMdGQJUvGlaOuQXxNA", "zbGCtqYhHboNSKeMEUIgkFHyIklqofhKlNkhCEgkVMtKgeWmBiqBWWGafHWNUCnMqZBaGOYkIsGTXiynKwArApMxsyfkWRRxNJfVgZxexwZMzWxmAlEoHNYyypPqXneQwDgOCvcGsSSWFFMQXvRlxfgOwGhdjAfcRmjarwdMRFQFBlFXbvBvvQdBUXNgTAmRhwQhxaPuxuEKOrzVOfRFVsQcSWbIYCxqxtWCtoYUtuLOrCdcCganZHMRjhgwoXBP", "jzxidrZjxteOagVipOibkGIFxcGOMtiGuHSKexnEuRmQhYlebxzISMyjNVctkBeHOcMgLBcukeWTFuDAvkhxvkdLcCUsndEjmnImEYWzDRBYBXLxDuTmRGdOWhswAGMlcVbhbLzGPGbcZZDvbQFOUGeycEeAESWFFUjbmhkKgXfOgywhdXXglCPNCvQDAGqMYOnWtpcgiQsSgpRGMgCGRCNzXrwIvONQUUuugrRNeDAABAUWWqFxLKWIvWuIPPmL", "PzAzGoNMGqlNEvDFFYjopzJMutpsEYGKvKfGddAvwpjwgCjwxVGULcqBnmiwpzcNSubjbiGWhgQaBbURVEufisAlZthdFHUYxBeCGQaYyRwnLonhUbyIuNzfDPFXybTBXjWoxJYQAxiVuntZEzJJiHrMoowOgaCGABsmIyuynESfItIwfVMuNaMsYBhANNgysTWDLEpqnUgBYRYXVFiYPzVBnAUtqgnQDPyHIQRHqKfCznWBNhDKVvRYWYZUhpTY", "wuqjxWyVLSuDGBsgeVtaKHeiKTMHCsEgmegaIJwlKfsxDusFLNafRmQaHnaJUctgpEgbhnDoPHRpSPzcCMaENzSoSWfIXIxljUQDaVSbRWjqyJbkJgsjpapbzpFylxvApazoPaBGcuQGzZNNbfGZVMlCsYIbakjqWzxPketUrdyovGsqmzaJOLMGJyYStGSLJDqfZKeTFpQshqtkungaKQAhQkowYFPkYRCwWpXHkQyzJHbdhJHOkJwwmsfJbcgX", "ZQDGNBWcRsjHZOgmxPWoedhxlprIBeJZczZOKEcOERPDbFUaolXNvXndjwaNdusnEhtUUJeNRCLKzOHFKwJlGmiDYXzxUwifZuLUsuOaFZYzPiUcOmbqQRqUPiaSAEimxkebAcVmpRZNnOaUJcYrSwKJCsUywCJPtPprBJVbFujqFkcNnVuLfZsxkjylNbkFSqVJfEbCjgQyEAlKGoXuqpnzftNVBYDZxdHjwIbduGMpMtHsFPmaRQnSmibLYCMK", "lRjPPOinuybTELIalXDaKFWIjLxZTVeKTmVfKVSReURmFgdeTvrXNBfllUNQRJezjnQfmHiiPaJcxitXatznAbfUEnGbMcWJImHLqvcMoMMdGUFRlEqcEZEnnBGbBukyKrbgrmdbxMnDjDGGlUxnNABqToLwqVwSLmBKROvyBBbkzcCHviMZUfjwmfoeMRnRXYgdZPLmOzinsdkJZLuewCYplfHjtvRJmQYyeNYyuoAkvpUhONJYNoWBAyAGnDPM", "tWNpFipAySBYgenrcONtarlrgdrHzdHfgWTJUOZfEwsYHqRphQYVmcozcsHVUTfoegMDAJvtNwLYXobsEhhOfuMOuYaokiculUsVAvqOduKmrOLvYxbtlgyzrKVhPOPzEfXqvLsBbRaJRppctqkJjzHrSpladFrBkrzRYYNoAacPnNBtnlVMYWmvvAtXmSlPCbwCsJJhwIjvBGxrongEWQTcZMNBManOauNztWMDqvWwEpTAkhDxSUwEhHyeiYzd", "kgkLocGdZNZUwPJpbqTfdlCFQaztsXtHdKKfalALRaiNIPmNURdsPGsMcLtWTmRQXMeckzQYgpAmrwEHaQmkzfKmBVXRjmzJyAAsuyFeBzCDuqpfssSvlMrHfsCrCvGnslSMzzOMviHafcFnMmaYWZEVuTLpfPocQyYHEtokuqYbUCqklXKepUKDitmBeJvPYimzGxQqStwfrtZKCupKHZsAYStxLOCnsNeJpZLMxCsHpZANpDrDBWXxkorBFKFp", "hUeKajQIoWhSMNYMdrOiIHcVlGFedrXMStyrBXlIvcoiRdKlksVvXoQwmsnewgdEiUxRVkCusvNomRMuWMNSWgDrFpxoaWdlMKUjjTXGfxhQIbatgBPjhNWmeBxyLxKnSMhOSAzZfKcTueHMSfOtllKrHMFEuccBahPUPESkVeiXdBwRhhnxGPojhcLQsOfDWqNuMBefPkYFxTXFRKibCXYIyOPZyujqKFycUecplFFOIZtnEiScgxaunJZiVFgB"],"c_array_string":["ahjhusEhERebQZfKihVjoPOBkqacClbpbpZQVthdcjdaOzEEOGDeCwmVsSkyXsNIxzYPfkcpsBpCtlwwMeoBIvjPQvzZGXRJCRzUeTHgDCpMJmWTGSswJqSILztlPPCvqHsunYlxEQifwfmEpoMliolcDfhEhJESYWSsbrFnAYnzRLNqWTzocasceffHVWFGhojEMxeogXcGSlOzDDPwTeocUibJiHlhnoZggaqBvpjEssaGiLTRlshEEzMZNcmPPSmPjnnCpGjeovmMLpGscvgzMqRMmqFTwDYHQpeQSxjKTwunLXKbTwIAjqdmTqRqbTkiOzJkqrPYPOvBGyvhNRBfgkabAsXJDLoBgZYoLaYIkMtqVLfoGzUsFxsMsOyzPCoCTMOENZUATyhYeWMveePvwsqLOislATmcSqkTovPrXJhOBjsZqdkFkWZpYXbeZmeLWlsNLgQAfcyJJApRCLGvJPKxDtdgfdYwvQFcwilGhcoCtUsrGcqLEIAksbrn", "lDszfhFzpHSQnYAosHPdpFUDEQXhfMflcBKdLuKYKFtFNNuaWCcJWIsRMYhaEJvrHBOnXvlnWrlWSRdJYuzzNqBivkOSWDcYDcfXdsUAScUsHarOKwcEcIQLYNvrYyoLccOkrscyykJXzyQDbjWJpXlbGSYEgVJspJNJvxyKYMKZKOwKMRjTeoywjkWxsisrOgQXsLMByYWuXbgQkqrpnEOJaiCmmlZyvIXNnRGedDnUomkolDAWvKWHOZEJvCQAixIqbFJjWRLfYqVEZqAqaiJhjZdChtOeukeuhySWzwWsHmOBuscYjiEvmPJXzJfVBhpttojrzbygzmSSOlksJWsxdrAPwwslJBtCnNpgjJKtnBPdfkXuzdmhhphxcXcwUGnQULiQitktmQOhELmdZSyAYYKioATJDfBmallybBkqsJgaswFZDsYWDUUPgYrRhAnWdYUhbqjWyhIrBCCNwBMiZcxrckgIQzNPvsVjxFwvjuPUNebdvfHKCrvKejGM", "lOimFFnttApPNucKSjgrgxtPnDQcGDvyYorCnEDejMQIaJajUSsoFmfpILCyZytyUKhyCKIkYzisxWKaqWDKGlxaWkfxyqXTtCpjhuhtIFpzGOExCOcSKCyhaZBiEGippeNTsbkmJeIVIJgatQlMxDwnRIojSgYQmMmCVGoxBEnHsQwLYsVGaywTdLHZggpkyDfdjiyeqbAGvZHZTlzOOnUJHSUxkixFcfxJzyyEiuCCSeUEjceyacLMTqvSOIAfFXrWgbWCeRUQBybJoCGxymWEfvQGHSKGPtQniMCDydwAvXVRsHcusngORkRqoEiCDJrDnpNAOlmljVHgrSsWBdgnDHJINMCExcBxVQOVVREBkHhrTvZGBvlmyClkLLfvBpytVGsSCvriiJsYIjtPmILGYaKcfnAdITMQNvTQrfDTSUEhfaKUtItbWNwsQQwLhNIuFMhqSolvcXUZdSyBzdEWkRsAOfbByhwqwoVKxAzZLAGFoBlSgWrkPvrUjDLM", "sCyaCeyQhQaUSrcJUHuzBXitLBgByrAUOdSXNVCMZgAXcVhSRHzfHaGleEeCQYZMVHCCfnGBSQQbovnpzihemBrWuiCxIetEKRNhjhSnpyjJFGXPgkLnJYCPQLdiADRsGKPmWBBfJTdPIHteFkjqZRNbJJpvRKpFPRmiOjpjMqCWOORNZIjeWFIBiFqoCfBpsZOxjQdJlkfcyBhVVzTSkjgqQGJdcsIYSCBgIgQapuTKNJQExhtXocfGbOAWcIKdXTyJsvorlhfbSwzyUzjnFFrXAdGwOLOHAgVsJHnDvAKUTQinpGLSnvlYDQkiSxoTBkyNZgBFlKgvKJgChLoKNYDVpddbhKQWjnViGbqBmdoVIhbJBdrqUSeLhfjidYlmAbjYctjtwgReigfAppbGxDlIQxyJpmObtlEiMfePnKyzlndIYxKEpixFjTpFwZGbPIdUZOndcAghVIeDHsCpqAhbFzuVOmczGVpbvGmkWtdWCUQjQbvdwZZzDHOvcafZ", "VNUtzfYhguUnfxcfEchZpdMVPYwkuSJXgNTLudarUAfvvIENEgBneKlwzfYzYUddYZeRGFTIJQqOQycNrrNTDwKKQVhnnnnuDhZBOTicknjcidzbzoiXBIzubHvQmdFtXdKOiybtObyoWIBZssftsuyIWvOaPKTHaKCjryFeiqoEZUFYYNpsWgPeCLLBkCmmHlrmiZdLwPKUvKCZmjOKlvYEVOstGopqXbpKnGwFpLvRaRSPtHccZoRRtmKCagWMgSIytsOiJdeqsqnfnOUNEDJhxoqKxhgfFWyFnpdrwmZVgvPVPjNEDlqMhfqGnQWriGsFxGDFAgjdCkdrArDsWsdpllfqAbpqCmxoaRCoMtbUshfXTZFdsPVrvfsNjmKMnfsrRJIShQWGMPGsaJPAuhONNoolKWjYKgLhkoiHNrurVlRpfextOnQJyirKdeQZxnfepCnfznAIQQPTwTgcqlBADrbucgtXUeFhsRSIwQIfkAvGOXvcYXIQSdcqtesy", "PjoJaSXgKOwCOPCQnRKTgJrqAtfckDcqmxFgoEWCApWkLtOMyqdZsyMWjmcMqjZiFMmMEVDbtCuJOsNxuLqHmsPLHiCMslvQYUnXyZTernreffbQiwyPlfQwNNkiSMVRZaxuMcQqdIIISgBMgohormwvBMyiHLHcyuMsEUHahxNZdVxdDAaQxioxtEfgMtZUkcRnpEZCzAAFRIRObBzFHCQFtthSCXingIoUODkjTakWJmYUwPfZjhLXkoxsbrBothjABJomFXgQwnAxFySJOVQHpitlvlZdLoIvQCvXqIKEeoJycGLCKYrCHuhumiffcMjSWdVtDABmvmYfjYmBGAjlwHeWVACqpaZEsLXKSOkhtTcuklBCzETNsbpciCqodfkKhYPXFsvJWCeWmFZTlVAtMlddsvxOgVWJOKaxIyXpdgDlkBxTwaMoKwYcdigqCOErhNwQZMcceyJfdQBLCwatxrzCvNFxwdWGTRYgTyvSHmauBxoRcUVznSlMnADZ", "isNjaCmvuqHEvYSoBUTONLetchNdyCfuLpnTLkJuqqGYQWhERORuIlqHKoawCcYcMIMRettAzrMCgjjJOWzuJMnOKPRFCMdSJStRcicuDqgCsbxdXUgVpnpIVuJSvtCvzjfkjsUwWtsrbodOoGOYKLhdFLmuANDTumtOxdlPUBpGIuRIXbWKwKjFdTcJNFSDoGtaMpQmEnTgzeOycIOOpvZHUsvjhZcfFLaivUDQUcUpsgzKSSixWgEzPGBarpCzbLKJkajBxLvlhzFgESHRyNhfwRSDnAEtlmtvxWSNgncANxQJMOjayeiDAMYiprYZkWYfiGcJPBKwQbCpRgoitlOiXLiaCAxydWFEwoMSurWlRdQhCqROBLCtFpTjKztaMUEHBiRyPoYETZbGwPUWExJASApnCqybyTMwwmZEJeseGrHAMbzCXbHvZjTxLweahwreTOkgJTZcKFHXdRxeEtEMPFAhGAnomwRXsIrzeQndodOEKbVhMxGREkjvrwlG", "QZKogBJcBeQshJaraWFrZJdOSxHFbMckNRdyTjqegGOYYsgKCwgbxWBajdxUxmWEwYBChwzMflAkVhoyHbULlFxZAPUaSIevFJXxNApnfxFfBuikzaFRuMnNmwRFTgueSoleCHpyavRDyoAhxIbBNlIbtwBzOLGWcOScDxEXpNNOvNeueWKKnUQYNIVlqGWQRGxnFNYOYqeUuOoqEDYFEZdkRfZosxwDnqlNOjuAgVbYTwPtYHwJKOxcLFaSvpOPKrJkQEynyrJrbbOzaXxlyREotVPyaHWsbMznPrXCDwcpyHrXeccwTRtfTRczJsekmjmgEIXOuKaGekmkpemjdqQyxSGQVaRqhcSijQGHdyvWIdenWcgaxwwLItlKknIMDZicrLjOXaeAoQiGrMQRkiUgZbLCAKTywutCbmZXwctaPZzIzeTbEEJNvUziztxCPVTndUvzPClcHcqKfqUWUHlzeKqQCrQwsVWXPEJkezdrWNytLFUWkLmOqZgopdsH", "rHRkgJkGEIfojCTxeculBtdoRWvOoxUCmhagaNptfsoVEHHYqzXblqZHaHqVNNPZcOyHBDrwIMsTpORJsNaeLuLhsTWKaRcLFfhSiOHatKWKMkOfCPKAIYehjFjNNbkiKtHybAAceoAbQgbWyXTYJenbVxeUwEbsyaeHeAXkzsHdOnFqmQqjMWcAaLaqolCVygSDbjtzzBYCYtLdFAEByogPieBUHkyUBDaXYBMhkdGEPdLPPBDbdjQUvomBzibsxgTUZuGdmxghgpnRzcYVLMntITqTVgtkAAFEwklBToyQyeAdmBvXuQkyOjLXMZzacHAoVztoqtmMBLsVrWSQzkXpFUKVcJxmcUktWouUTVCotMUWhyUyfPAecSPgBDRPJcrvlijGEUdytpTIXyHWaSuEyKvXqPIOmLLzDzVSEdsYCXnZfISEVLJdzGhtXhjSbZxPbsovtHeBxIxinGfWKHkJaMbNNdhYcAMStPSHjhDKOMJVWeVTztnWRmPBQPzT", "TUCqGlXnAQcOTZjBPLbOFKhgJnSsuXDYyXfyHwTTsZEPOmxLaJHOmyASUlwgYkjtatgLcilQjreWkWLDWFCwnnvufJHFEuxzzwJhqkCwPQrRhIDNEjUdaqNLnqCUycwgnnFWXLvwqdxKlkIiahwbLFayzVYFiXHcKCbdSXxMiEclUPYqzOBFAyQKoOOVbsXOLQNzZbVFreCQzCSjDZSFpCYELZssvUxEHMoqpvjKzqIWtEPqzEUCuwDZJsZqSuhveqXrSVurkEejbDozOCCSmQNTFBfZFfacoNlOufUGpQuqclAaazxWFtGKaFtYrcwHGStavLMKLYdOYYQWAAEhtXdBVNqydVAxsTZHvloGFCNITIZCBbyRSCiOWOXAXCDpgUDkWaoEspQSQnWzbdeLzrjfOrvcwVGQVLRaEzKRLsVZqyquwqjSqdLxBRBGXERFVGYGliXajiGHPyzJzNfXNbcXuLmJSvsaaoyuapDEpyWPmpFXDKLuacMwwyIKAOtb", "HiEkaBcZIEonFXfaWWGOdOMvatCfhUXwbYFiIzxzoKuAFrfImxESIufsIlMGKVqKWdfbadsPNbGRPCpVXaqWrcCaeCykfAPMxKBVInmsZATYsEYVqoNFTDHDVZwhDRFZPWUENJHLjfmJcORjkOlbOakGCRmNVxPEiryaxuFywMrcPVRKQPKYosMbqNDXhhCexfcuDnltOolUwIIEbbOjtTSpmltyrBWrEhdSJSXfsGHqeHmeOwDbeQiobnUDXTlpuLmBBVlqugIkHAXFBYydtYViJMAZmEltkVqQuYppuAUQqpOoxHdoaDVknZmXlbTQCGUAjGANUtIpMhnIxogVCwMAYrAHzLfHioqOOWcVuRlQlFteNMMBQqDFSKlhRLEviDeXyjzVVdJpVosEclwQzBZlAluHwqWMIrsVpnXEtWHAhmmFPwQrJNdoFYBxcsOqjYJxYhGReouxjMWiIrkwFtXlWNvldequEeKfUEQTDvSbveuQSkxesowYfunWJPbw", "fKnWudZBBQatLosQaUYtjPedTwAvZBZpXiSQrWhkMjBqPnfwcsAdrfQUdxnhWWdjdZfiXQBEJnXjIAaRoRRxvKKJwNDLcjtTctKbyrrQtXRqBIheAIctKNkTFrXlcUIWKueEuqlEBKTAPXYAaweeuKNJbDCmCvwEMVXdCGwAtdyGCldiFzTMMrAPuxdBIxenrJQZtvqXzALtpJYjFsEhzmaKJDEoOBdtmZpajoEpZbQSVlpYUDFNHfFozndGYlqoqeavPShoOvWtniwnRIJjUFwNoDWnNEoIvrVmmBqFwtHFpjgvAkzTmqDLyIOeDrAjxJlmErkHaFDlcTQDInDaCbvrwWyaglWKFjmpaATOFVMGUPEMyJaioiZmrxRNPHDWccOdocEnCgkinpRSyDqBEOlXIirUddlJJPfQJZLRmdGdhHSkxQIrdoYlQqCHWWBKFDVOdEUDKjQkRIFeqIfjLCIjpMrMjRZlPYuMwbZRlUdZmEbFiQRQeoaQShrfsgfe", "XRrBcPklSnevoGVrPIciCTgNuhVgAywWXAchQydLOeZlhYffdMpripceWJuIVYSRrbZOAhvDGtlPxWCFbsCcUJuQjvEqoSvzhcsMZBDuWwIgwbqVtPnRkgfjvyqTaFyLtLkZrtQSdmsgVrDBdkjxvzLGDqAUZfPKIoiGBmnwYqNyMAghWtYVRjbyGmJNAFGdpbWPlrQPBVeZJsCkwHtSOxCzkRGVLQcIUipnvJpzqoDOBijFFkbtoeLgayoeFUCCqGwMVUFFpwDcbayRXXXcaqxuwKkZsGTaOgbkctaXwxCUswOcyrbFFKsNGZAFQqDtQMXzsNDsdTGVqBtHyaxalNXkAUFGOOUZTSgYIiAZByJFdnwnJIsaFIszWRaWkaOrpDskGVjxkBWyJfjZNhwFPjcXuxZdcmijqdxSgTuNcuDfbWMqdVDAeyPOAvjnGFViXzVsyCQucWczrfSDgfOPcUnHmJRSOvfKOqrMNmKnKMHCZvnopTwiNcNIfLOtnCDa", "DWxMzrqgtyIPPoxPrFdlKbKsPNnvILfOrNXOuiyxJQRnrryrgwocUNLfGXkuCOeBsJNDxmjWELBJeuFZSfbWPUOVacGOcgxbQACWJBNfGebQiSnxSaElDsbYPtYViEUarrJVknhHqLyswoKlYQvmViFYGUttQwBpjQmiRWGwaAPfFKHYrwrPBuVqceMVbVVeELXdwpDiXTTNScXfwtcjSQgoKRCNUBTMCEimosdFhRMuTXvzgpdThJrSwOKfIQfiZuUWPuGBLxcbMvHhRPAnoLqIRLVsKnmKWgowAtwlzzYPwhnieLcZajvelszcqlqCPsyvQaIoOkCRXisyrxUojKNHtjJiuVCBomNHdcarruoudffXxqVIbqtNBFxUAEIIMCdnasvdpBEZTQEcoQkIQCSeOETfbADrQiiSTvcAKxXSuwLQkIjMLJqlcEjUvxcsyRBpvdsqQNfBqDuQyErubjxFyKfPFZhpneqPBXaGedLLNMjeHtVyOFdhunXEhmQh", "eifYdmfWpDinXuAtXoPWPLaOujRLxhdPsWlsSAWQOXmuloVxTcakcQIqeAfHrOKEKwVmZMpKEIcmdYEEZSTjaUhVcGMgYpXpYvIIbVuhzPkzbVQbvMMZvPIBnJqoswHkynivlLRwlRYngFQfdHGiPKdYJuaHtOgfvgiDsZlrQpeMaRQaPfsfFIlDNPYrFOSrDdFDZSGhVlhEJYSBMwaqGaiIwLlAtNGTKjrvmehhNwJHbhrnrfmWzKiLKzRmbuIqATwAVsntXaHNIKhcvILEYHwHmdrquxnbbFNZiZjfzyCyrOxHqePYxHPePpVEHryEbqoHhryixWwwDFoiFmxUivlrhWKkXtSPQOhNIouwgVoChLPdrjscyRmwFKSRVYXCRfJpJUvGonaYlOkmSxTxggiUjUbKgCMupIpqseLzFmdmITfMYuJbNFSnjUNBBCkNmxrzSeErNLUNWwyNXRxJFpfTlYkveaExtpOghnGnqaYETKxYFKEaHgzlwGBPJLoJ", "NdRbeOJamFyyKtaApZaLbFlwRZZsEfzMOIOJlwXnbpqtbTbOPDQMjwqCvQNGtvNkgeMqOlWPLHyYdEtTRgISjdDiuXYpuMkfozWNZRLVBbvhaGGwaotozpQxZgAgSqTtMdiVgpzmdBFQiLvvUJKPJtUETDpPnQwYJYtNokclTQJkVsqwEUiEqMbSeErnZGZxIAFluoVDzUNLXmFHLVsvWXqbeGnsdsVAlUlDvpjDQEGdOVQMIxFMvocKtpfAfhwNyGIhvAmqplAvveppyeYMgBPOocxaVEWMwDuWDlHZbfszTyrhallTXwjWuDgrEIwjGkvyyPYUszWHLuGSuAQJiBAXgpGbQvcQhkoVAFlTRojInUguzSSEuEniQcdRdYvOUTBkDAconSBrLDJvCxsbiDHBQllwhzKNmuKlafJmlctMdcRjUXkulsXAvgAiwapZmaROMZYyKBvNQpkUbCuClAuBbuGvqohIttWPlxnQmRdyswYbpBTFJdRXfUleyJmI", "sWMqpCCYXCWDHRuVBZhwkMfuJJoyOIYVbefFoOvUmwlWljCjYufsGQPbXftHumgrUwwribSJwhvsrQvOhfczAvkOoLHyGYYhyrXRKnrOcNQAvExQGciFfXkeChczyFnwmthBoWPFoPQuKMpCJoKYdXQdgCEMTQVjDMgQsXxztfOssQxOojfvljkjlWOGccpEJSoXdamQydkDUCzSFaSIzQixvRiBhlFyyuqGrFLXIFKFaqqzZnRGNSaOGVQoBXwkFsXvCevnJDmWHbuJDxzBTHDZFWTiYqhzIgjyJZdaBocpKKNfwTsIabbunqqAFXxvCOQsgSQypbVEbzbRnUzKuPbayHGdikIxDTSqWpMGGgRCVxeAFAbaiOGwLVTMNxmFNvfJHyzzVQUagVENifyYzeHGLlvViNUYWvmzPrvMILQIlWiTCdSQPlcoaKKAhecwmYpFkYoXJfPdVoPAfysdPhnyoIBUCudgQHhsDwsnxOFlHVSWNHBaRLeSvedWLvFv", "dVEBBohkPgmbnlIDufJxpNpzgZuMxloMtXPYjXMihgsXulTZZelFEovgsFzEgMhpxJdGOxDJMkpxzqquNewWfLxBnpqvaMynvPKLiHUQLyemPCFzwxDCrdMprJDAOiWNZfWLDpxJlbvwOMjiRMlUHALyHoNhbFyeCmspxYUwrCwPMccfeHHtwULNAMpvdlrHNlmapihbAVMZixFcAiqmRJWqmtwCShYfJEXYjlUbRlyVfospyrOvtjIztgNoGotPqxTEbDrvRLKgIbhEifpUnIGXxWlnhLmDciJXUmoveQyJXPegQWNDuaFwxvDNalSQIVwBCAosQSPshIveiuOCOqjAOxLsQifpaeIdrXDlZWMnFaIgWMsZAnDkrCsqIvuHDiZErGLcCWGRKHRHLjabENixpTdwcehFmJheMmmXSIBkPysFMyeYpYSdYKNoaTQDfvbMAOsvNZigpMeadQyiJZUckOqvgTpTGWMuymLGZbvdUjgpglulAKnyXYilvWKn", "XkYDHuXsmWNHoKXCihYtSKyaHWgtRUfPdfGhGbMTqrBBrKqlPxCYsDqSkFQBpQASCXlsKudmWNZcqbMwntLopSoyjFYjHsBKKoVKegMGNhjXEIWETvliIwnuhdwNaPcMfFqUuaQGyQxnWJmoldRHlwpLSGVzKbsNGJFPxwThcNoVnCPKVrHlwnPPerfufTbAyGfewFqYkfyJcrnhPjWkWgbvikoqFFXUJpBfZJBeCmaNMQFdjTkypqJZviOfXQxizqASVDssSIdYCYdWZKrTItWnEHdcujLKxGfRGqkkUQhyLmzidDXWemxPctUXzUmFOFqCxpuANDhDSVUyGtxiJvyFPEkgDUXBbXxstMefVNCdIHfgdzGrxqTcZckVORWAThxjqDxJblqdXnnnQFTTYsMpnvFcyflWPzeqjdcnPWyyRCVMGOWaQFaelbIKpUmfdgEtDQmCxasIPqDJJRFPMLtaugOaNTwmfeMCJYMlzbfSMggJEWiKCGmpCzykvSgz", "pITHwSwXhbopwAZClAoueCmIYwvqnDezzOjXiUyPXtOuqMqohCJrMhysNyOSqxVgIUFtuqBZNgRdSVTTFZnTSKORwUtZVRRjzIImeGAizRGmsglRYQtNbiVqrZdGknyBZNVqFlPnFQIBuBlSofUNiQjxUTOrReByiUliozPMhEKfzVVvhfMYWkVOnZizGetxtUuaTHMNgosStMFebZMbEcYmjoZjFsxapCudPhYTqsJxISRYECsaTqAdNNkEpTBRXqJWECqcXzLFCsQlOSNrgZgsOYLJrBtYTqZhWjsowoAugUcDSDQCPXCNztJQxGgNEUTuxWnpihYktVwiYoqcTDMylDCIgeAFlVjenXKnUcmmRCJYaFsvVPbPcmgFjEOVUpoidyCtKrhyYWybwnSqFfqUGScTxGRMrWSIisAcYnJjWlffiOEmyvgyuueTjSJevxWrqpemSjCALlYrDnLjtFdHiEQDThjSOcTGHZfhGROhqaRjFjLVexODWMlntwTJ", "ZYIrkdMapqpOoCJszUnYZZZODXwPiKYtLKdFFvPSVznVEIQIKsJPHYZJnekJIbYyMgwiBHUMoGykawhHSUrvuHGLnGJHyeheutsfMNNhBmsVRUuPxNIkTHXsftOnVEhcMiNjLWwlpadLUCzUfupcYrzZDWpvqQvRxXvkLuymdOzPRdGxXIHoUjwNClITojbCxmyJzPIdLjfuqsUsrTgjxNOgSseUNVHQDfkCwptzJYLsJSWoIrQEMuKbVGvAezVUyWFmMGFdNleRLIsqhExMMUbGJSRXCtlIzMnzIeANxcCQFldZPwKebnvHBfgnTTrexEPiVGhBZKMTLbGmbuBLXSJQMzWbfxBRVuLhcUzabLUZtUySWPZXffRAClwNcbNKFlgYTJmigSEokGyrWPmEAEkXXuDyfiRLVAiIAAFNmZvSzKzMAYTzOHZNUGyklryXdvakHMParneCrjUwuCjllhbzFMyFJxGNcGLQukRQGftKTLmvVwOmTiSXvExnHpaU", "qwKlpiPXCsLSuVoQvejepKQvnKbkrMNZQVTwdrvQovOxTFoHFEgQlGIlTYavAWYlqoBsqfZhgUaKCfYmrvsOgIraZyLxWlOyshlXNcIHPUzSYUfDjWyyNVbclQozNoaTLNqmJMMKoeGUokuXaiiEGCxykdlnbKHWPbTOeNToFTlaTVvwidrvUGpPfXsAwUQaBRVbYpcPVWJRlgkyNiSTtaYJTDzVHthSBOWIYpLdbiwntLxZqflEsPBFCozdVKtDQoOBeDhKAXxGzIHoUSTlwOhVTbTeFFmlMJxGFFrIJLyGaWbAyDstPUqiRiitBgrvllNXPNMHQPHMVQMPymyffakiTfXDaxlMZXGeUKNGnxwVPchBGMLChnlGTYtUeaJMzrfjTGEJnNfLClgehPTuYhiewjjJQOXOTWLPIxYDnUJgLZsbnKNuQDzAJeyRvKtRkcAzeuyonqpURSxmBKArXGSqXgFEYwgjqHJKYqbszKrbrxIyLewZCPGUvMqDXXPT", "ENKaZdfivgqJSztPBLBLhieOTtQGuuNqyCAGbxivBAbhovtRnyLYwThFChppyGVyHBblEdWuQTxfGwhVaugCDkoBEtLFhbdbrPiBXfujlFdnjeuAJJWPAuOvMsrJtxImpEQFqxDJDUJQaYEkDjlDBvauLbRmYeCLTUcYGcPdifkUcHuhbixOBFDTjFIIhKPCIXutCBcVqnXbRAyfflluNHJHTkZlOPdBkCYfnAMKuAkcIIhuFyukxfJnEhzMuaBefLuySHOmJAywUtmdvjGMESinAncKOebqnpbszWwRJhamnOuTHDjqSqCaBrCvKEEYsRZwcVHVTgwGyyrbNtNdzPsKtzDnpmreXSCMYukxSkXMCkzXkpJZAdcgAcouVDBwuavSAiCrUiYOHaBDrgCjtBEaeEctdasVWNQhTgEaAKfHBQFuiTLGpCLPhrNFjZAZTzTYAAlqbzamwSHwXtNtHODERMoSJBMQUAbjxBJjSwavPXxTGSxhqIDXuSFyBffc", "RTUfsCWsMmBBXESIMgYwrAciKzlDdjwRpmXvvFalLHfRppXETcxMbzzrNUyNGmYDMhsZhCuzniuMiMaEBezAfImgfciVeyxxpyMYQtzSmfWHJbZFuLnnhJOxxvDxkYizxQpFlnqlYTgEJtnUurveyXMkbnyMJZurzKmOltSaTWzDdvxPPFpWlUPbUQjBljFDFQBHJdzuTDYFuewYhCaDZVjFkPdFlcluZIHqyNQxVLQBzGLkwEpFIsEcpDpjpNZhjOArISvZwNzsLguNzxPSnBCGYMSvgZHIpUYzIyYngTiBSmoTanZkoQLZNNdylmiRPLXVuyGzyBtkLxCkYTFbuhecaOzALyVJBIYbEcPGSpULSqdREAPAHTSwWlaQGfsKJXmDpaOnRHHvrgTUWphzjBlIqLqkDHmdOfIizKVeKNljJRVWFOCtBkgBkvKQtvzHRFOXphUIPsUQGwRsRYsbAGgxbWnpweXDGPgJzJTMbIYXMOjohJMPGOhJjDATgTZw", "XIiPsQgCIaLaHDhjMHEpOrIUgXXbXDSGfnskzEGCHirUcsnNYjIvtkVXKXyyQReUHbgdaFVgKxETssuoJeEsHfykBgRHUzueNgLFYvlVHDqMvzIOkZuCpOpGyxQZriSVReuZfxNWBMnZeoTCbGRLcpPkihSfEpEtSoPUSypWpSuXCSIPOhFIajdAtnqUvcJwZuOgliNEWEkbEziLUTQVVpZrPZyPRqXCcXgsDixzxClVxQjlqcVMPWRwwbHohWcukSkkWsquGkUFAAjbIHCmiXIerxrhnsLYMKLMmKuJUvOJoHJOhkCdyKeFEsjRaKeRrqnESXCNQAdeaRugmHKNBYLICFOhEzvbiRHClJwvaOaONPrQorkNzyCiDdgPSxCKUXXZleeusVKwkpiPEcrBsNPtaAjYxtYUQYSkWlcewluoirzXasKkmmPwvbEYnORhmHjITBmzmWdLakrOwGVIUfWbzWeBGCWyExHdNVzvwwicFFgLDMIihdvyKBWOybQj"],"c_array_ipv4":["kBhmwrobEg", "ljcwprJmjp", "BajoImqdvU", "dsYRwpsevb", "yrXjVlhrbT", "dtnZwFClWP", "PECrWJNoJX", "nYwfoqzikh", "HoJkZTXuwk", "lmBpRxMEoG", "UWcYKOBoxj", "octDpwvDfm", "YCzHuboGhO", "MDcMTOhiUH", "EDenFoYVef", "HchuJrUmKG", "LlWYKGSWDD", "ixvXcxxVqy", "ooYVssibKf", "gkdmlpHUry", "PKzaSmshTX", "nTcUdIgqln", "qfEKkjwayp", "hCsbUeITSm", "XpxfcxuFuO"],"c_bigint":1147209768505947085,"c_varchar":"as","c_datetime":"2006-11-02 09:19:11","c_json":{"longitude":-142.417726} }'),(8,false,true,null,1,127,127,11376,7327,0,32767,-2147483648,1323568195,-1589821606,0,245,1,22842,32679,147483648,1,100.02,40.123,100.02,74.56236116017185,40.123,40.123,100.02,30.1617,null,100.02,40.123,100.02,7.1099,300.343,89.0424,40.123,100.02,null,43.1237,40.123,71.0407,0.1238,40.123,31.1482,10.0723,40.123,67.1365,78.0447,12.1188,null,28.0255,57.0783,{null:false, true:false, false:null},{null:true, true:false, false:false},{null:null, 1:3, -93:0, 6:0, 0:39, 99:81, 127:-128},{7:1, 127:4, 102:127, 1:null, 0:127, 2:1, 5:40},{-289:8976, null:245, -32768:-32768, 29250:3703, 7010:null, 21769:null, 1770:22036},{-32768:19197, -10216:245, -27061:22844, 32767:-2293, -18114:3568, 23867:28339, 16191:-32768, 25497:6689, -18398:20138, 27978:-3210},{0:-2147483648, 1699167348:667090284, -2147483648:null, 147483648:1533064817, null:32679, -1006765566:799552159, -72274123:2147483647, -503700693:147483648},{-1065266563:null, 0:32679, 2147483647:null, 786797070:51968860, 147483648:32679, 1624549926:32679, 32679:693426543},{null:null, 32679:245, 20240803:20240803, 1:300.343, -2056:1},{1:5502298, 245:32679, 147483648:300.343, 20240803:-5936, 4:245, null:147483648, 32679:-5018450, 7740666820339988516:5},{-2468916399103550511:6410529703061741642, 147483648:32679, 8626838539647200784:1135199245752356038, 9223372036854775807:9223372036854775807, 4883189721110642997:0, null:-142886195, 0:1878547416, -9223372036854775808:null},{1:7276530, 147483648:null, 2335015651450388788:0, 2067797499:-6783836, -9223372036854775808:-9223372036854775808, null:245, 9223372036854775807:-1657733685, 32679:0, -3854179432141792351:-2220918956027783231},{57.074753:100.02, 92.47976:300.343, 100.02:26.293373, 32.91931:null, 98.649506:300.343, null:40.123, 40.123:null},{300.343:300.343, 100.02:40.123, 90.52667:0.37847131, null:40.123, 77.37606:100.02, 40.123:40.123, 31.844858:28.980604},{100.02:5.871206530959497, 40.123:300.343, 25.256268089663:11.73277009828997, null:300.343, 3.920869435608725:40.123, 300.343:13.967202232043874, 94.34437178906897:7.546004093644321, 3.2714527524573045:28.709914400609602},{85.53657103829593:80.35420425862625, 100.02:93.28383532725256, 91.68614836436494:45.31891165112721, 48.484466622036614:32.625134453113766, 58.03727410161749:100.02, null:0.8628971159575212, 300.343:47.46783548185605, 40.123:300.343, 50.11975327742749:40.123},{null:'t', 17.1634:"0", 89.1926:"2024-07-01", 48.1190:null, 70.1384:'say', 27.0430:"1", 44.0602:"2024-08-03 13:08:30", 69.1567:"2024-08-03 13:08:30"},{14.0165:'he''s', 15.0857:'were', 40.123:"300.343", null:'y', 22.0212:"0", 62.0632:'up'},{16.0379:"20240803", 16.0475:"9999-12-31 23:59:59", 100.02:"20240803", 300.343:'have', 40.123:null, null:'this', 11.0957:"1"},{null:"2024-08-03 13:08:30", 300.343:'how', 40.123:"1", 38.1463:'y', 48.0104:'u', 6.0117:"300.343", 84.1423:'r', 76.0048:"9999-12-31 23:59:59", 97.0075:"0", 38.0189:'this'},{null:"300.343", 35.0760:'a', 300.343:'j', 77.0390:'i', 100.02:'hey', 10.0174:'k', 59.0082:"1", 40.123:"20240803"},{40.123:'or', 53.1231:null, 300.343:'p', 7.0723:'do', 4.1281:'e', 100.02:'q', 98.0266:"1", 31.1714:'as'},{32.1814:"1", 40.123:"1", 100.02:"20240803", 300.343:"9999-12-31 23:59:59", null:"20240803", 70.0909:"9999-12-31 23:59:59", 73.0925:"20240803", 75.0245:"9999-12-31 23:59:59"},{30.0062:"2024-07-01", 40.123:"0", 52.0002:'when', 8.1848:"9999-12-31 23:59:59", 300.343:'this', 84.0880:'something', null:"0", 100.02:'okay', 55.1567:null},{88.1796:'why', 26.0095:"2024-08-03 13:08:30", 300.343:"0", 40.123:"2024-08-03 13:08:30", 89.1111:"2024-08-03 13:08:30", 59.1206:'if', 83.0991:'w', 65.0503:"1", 5.1650:'t'},{300.343:'would', 40.123:'d', 100.02:"20240803", 12.1798:"1", 74.0213:"300.343", null:'c', 71.1046:"1"},{40.123:'k', 300.343:'j', 14.0461:"2024-08-03 13:08:30", null:"2024-08-03 13:08:30", 49.1043:"2024-08-03 13:08:30", 100.02:'e', 9.0482:null},{86.0648:"9999-12-31 23:59:59", 48.1187:"2024-08-03 13:08:30", 91.0744:"300.343", null:'x', 83.1700:"20240803", 300.343:null, 46.0544:"300.343", 19.1277:"2024-07-01", 68.0888:"0"},{40.123:'his', 100.02:null, 57.0751:"0", 88.1599:'u', 300.343:"0", 55.0689:"0"},{300.343:"9999-12-31 23:59:59", 34.0175:"300.343", null:'d', 40.123:"1", 90.1245:'been', 25.0400:"300.343", 90.1627:null},{null:false, 'the':null, "2024-07-01":true, 'if':true, 'e':false, 'u':true, "2024-08-03 13:08:30":true, 'will':null, 'i':false},{'s':true, "20240803":null, "2024-07-01":true, "300.343":true, "0":false, 'it':true, null:null},{null:127, "0":0, 'm':0, 'say':1, "2024-07-01":-24, 'hey':127, "1":0, 'f':127, "20240803":4},{'m':127, 'look':1, 'g':-20, "2024-07-01":8, "2024-08-03 13:08:30":127, "1":-29, 'when':0, 'something':-40, 'at':83, "9999-12-31 23:59:59":-78},{"2024-07-01":-32768, "1":-26021, 'a':15473, 'he':32767, "9999-12-31 23:59:59":32767, 'hey':null, 'f':-20440, 'v':30586},{"2024-08-03 13:08:30":-32768, "20240803":32767, 'h':-21241, 'l':null, "1":-15113, "2024-07-01":-26379, 'd':16832, null:-10056, 'could':24714},{'all':147483648, 'u':1673880020, 'he''s':0, "1":2147483647, "9999-12-31 23:59:59":null, "300.343":-1469591814, 'v':147483648, 'her':138505693, 'x':2147483647},{"0":-2147483648, 'he':147483648, 'x':147483648, "20240803":147483648, "9999-12-31 23:59:59":473628946, 'd':0, 'her':null, "1":147483648, 'r':627739131},{'okay':20240803, "300.343":300.343, "20240803":245, 'g':20240803, "1":32679, 'r':20240803, null:29367, "9999-12-31 23:59:59":20240803},{'ok':300.343, 'r':32679, "300.343":32679, "20240803":245, 'x':1, 's':245, 'b':-3052959073362499721, 'c':1, 'then':300.343},{"20240803":4966128377748655826, "0":null, 'some':147483648, 'time':-7367312454734112295, "2024-07-01":5999080763710654318, "2024-08-03 13:08:30":245, 'm':-2027752381, "300.343":-906149544, 't':-630547, 'f':147483648},{"9999-12-31 23:59:59":-7332918329413983242, "2024-07-01":9223372036854775807, "1":-6549021474855831374, "2024-08-03 13:08:30":147483648, "0":6061575338954586881, 's':1, 'he''s':0, 'some':1},{"20240803":null, "0":73.065125, 'c':51.182465, 'we':91.90399, "1":100.02, 'he':null, 'didn''t':59.88357, 'I''ll':94.36798},{"9999-12-31 23:59:59":82.723045, 'his':null, "0":100.02, "20240803":86.969765, 'know':300.343, 'n':60.98943, "1":300.343},{"1":1.9979083343845778, 'were':81.55732991197095, "2024-08-03 13:08:30":300.343, "9999-12-31 23:59:59":51.62216898949629, "2024-07-01":72.6578383198442, "20240803":37.84299998518271, 300.343:300.343},{"20240803":100.02, 'c':300.343, "1":40.123, "0":90.18275064827625, 'z':40.123, 'that':null, 'hey':40.123, 'no':68.73274384149833},{"9999-12-31 23:59:59":97.1560, "20240803":87.0710, 'v':40.123, 'yes':100.02, 'b':300.343, 'got':40.123, 'think':40.123, 'her':null},{'y':null, "9999-12-31 23:59:59":4.0569, 'okay':300.343, 'z':14.1940, 'e':40.123, 'go':100.02, "20240803":58.0740, 'w':300.343, 300.343:10.0533, 'all':null},{'I''m':100.02, "20240803":9.1599, 'as':43.0758, 'k':70.1820, 'g':40.123, null:300.343, "2024-07-01":null, 'have':300.343},{"2024-07-01":null, 'u':40.123, 'i':300.343, 'w':72.1132, 'c':62.1343, "0":40.123, "2024-08-03 13:08:30":65.1893, 'x':null},{"2023-01-15 08:32:59":null, '2014-11-08':true, '2019-03-15 04:02:39':true, "2014-08-12":false, "9999-12-31 23:59:59":true, '2018-10-06 23:13:07':true, '2004-11-09 11:01:38':true, '2008-12-01 23:38:02':null, '2007-01-06':false},{'2006-03-22 12:12:20':false, "2024-08-03 13:08:30":true, '2018-08-19 13:57:41':null, "9999-12-31":null, "2024-07-01":true, null:null, '2009-02-10':true, '2002-03-23 04:55:18':false, '2008-09-27 10:39:05':false},{'2005-02-28':20, '2014-02-03':0, '2000-08-14 21:18:10':23, '2002-01-09':1, "2023-01-15 08:32:59":-128, "2024-07-01":-128, "2014-08-12":1, "2024-08-03 13:08:30":126, '2015-01-27 02:26:34':-128},{null:1, "2024-08-03 13:08:30":0, '2003-11-20':-128, '2008-04-16':-52, '2007-08-01 17:47:24':9, "2024-07-01":85, "2023-01-15 08:32:59":null, '2003-11-25':1, '2008-11-01 08:07:22':-128},{"2024-07-01":-13637, '2007-04-26 11:25:13':-32768, "9999-12-31":null, "9999-12-31 23:59:59":-32768, "2023-01-15 08:32:59":14538, null:32767},{'2012-10-28':-32768, '2003-06-05 06:32:46':245, null:20084, '2007-09-21':32767, '2018-07-21 21:20:39':245, "9999-12-31":29320, '2013-12-10':-8130, "2024-08-03 13:08:30":23296, '2003-05-26 05:19:20':16443},{null:147483648, "9999-12-31":516216707, "2023-01-15 08:32:59":-1836090272, '2010-08-19 13:31:33':2147483647, "2024-07-01":1723610118, "2014-08-12":1403665297, '2009-09-11 00:04:05':147483648},{"2023-01-15 08:32:59":0, "2024-06-30 12:01:02":-14819183, '2010-02-01 08:36:12':-2147483648, '2007-08-08 02:50:17':-89479805, null:-1578627732, "2024-07-01":568772518, '2005-03-27':972206640, "9999-12-31 23:59:59":0},{null:null, '2016-11-23':245, '2007-02-04 18:19:26':5363165, "2023-01-15 08:32:59":32679, "9999-12-31":null, "2024-08-03 13:08:30":5, "2024-06-30 12:01:02":147483648, "2024-07-01":-14217},{"2014-08-12":245, '2004-05-11 22:14:47':300.343, "2024-06-30 12:01:02":3, '2008-01-21 18:47:04':486283, null:-6480379, "2024-07-01":147483648, "2024-08-03 13:08:30":2158758, '2019-02-09':null},{'2002-02-24 15:49:39':-1485475493, "9999-12-31 23:59:59":1974443844, '2004-07-14':8665084491253297680, "9999-12-31":-6567870275091279227, '2019-05-03 00:38:51':5120277129372180954, "2024-08-03 13:08:30":null, "2024-06-30 12:01:02":3452537764938422135, '2018-08-27 23:15:58':-3005952707913733709},{'2004-08-08 04:28:00':3804037378438872132, "2024-08-03 13:08:30":null, '2001-08-07 12:31:15':32679, "9999-12-31 23:59:59":7843538839743053140, "2014-08-12":-9223372036854775808, '2015-03-09':0, null:-811908213, "2024-06-30 12:01:02":245},{'2003-03-27':40.123, "2024-07-01":300.343, '2001-07-10 13:53:16':300.343, "2023-01-15 08:32:59":7.276133, '2016-12-27 10:56:46':36.409374, "9999-12-31":100.5801, '2003-03-16':28.95831, '2017-08-15 16:47:45':41.767624, null:40.123},{'2019-06-01':40.123, "9999-12-31":40.123, "2024-08-03 13:08:30":22.538486, '2005-11-13 21:39:36':null, "2014-08-12":40.123, "2024-07-01":80.76422, null:60.327744, '2011-05-02 22:20:59':65.15316, '2011-04-15':74.62089},{"2023-01-15 08:32:59":100.02, "2014-08-12":100.02, '2008-05-12 10:54:00':78.55842039635536, "2024-08-03 13:08:30":59.125202201189715, "9999-12-31 23:59:59":null, '2014-11-18 16:49:12':78.9267909753359, "2024-07-01":42.023472553525906, '2009-11-09 05:37:21':6.908133271568266},{"2024-07-01":75.39890171255254, "9999-12-31":null, "2024-06-30 12:01:02":36.37351467409974, '2016-09-21 05:50:05':2.1710087941827143, '2002-12-10':40.123, '2017-09-01':100.02, null:63.74788947873149, "2014-08-12":100.02},{"9999-12-31 23:59:59":100.02, "2024-06-30 12:01:02":100.02, '2009-02-18 14:08:57':null, "9999-12-31":null, "2024-08-03 13:08:30":300.343, '2017-07-01':100.02, "2014-08-12":40.123},{"2024-07-01":40.123, '2000-01-19':40.123, '2002-08-12':null, null:43.1423, "9999-12-31":null, "2024-08-03 13:08:30":15.1116, '2013-07-18 00:05:08':null, "2024-06-30 12:01:02":100.02, "9999-12-31 23:59:59":0.0873},{"9999-12-31 23:59:59":300.343, null:40.123, "9999-12-31":71.0577, '2000-10-03':null, "2024-06-30 12:01:02":88.0955, "2014-08-12":56.1297, "2024-08-03 13:08:30":20.1609, '2003-03-14 10:45:23':40.123, '2009-07-25':300.343, '2005-05-21 09:30:22':40.123},{'2006-07-08':73.0139, "9999-12-31 23:59:59":null, null:40.123, '2000-05-21':32.1622, '2018-11-17 15:36:04':26.0170, '2016-02-24':73.0959, "2023-01-15 08:32:59":null, "2014-08-12":null, "2024-08-03 13:08:30":null},{"9999-12-31 23:59:59":40.123, "2024-06-30 12:01:02":100.02, "2014-08-12":92.1063, '2000-11-04':40.123, "2024-08-03 13:08:30":40.123, '2012-08-26':42.1341, "9999-12-31":62.1314, '2009-02-27 14:06:16':40.123},{'2016-03-24':90.1982, '2019-07-18 05:54:57':null, "9999-12-31":40.123, '2015-07-09':54.1067, '2017-05-09 02:19:54':null, "2024-07-01":300.343, "2024-06-30 12:01:02":6.0705, null:100.02},{'2000-02-20 16:17:31':100.02, "2024-06-30 12:01:02":55.1190, "2014-08-12":52.1771, "2024-08-03 13:08:30":null, "9999-12-31":300.343, '2010-11-17 23:20:53':40.123, "9999-12-31 23:59:59":null, "2023-01-15 08:32:59":300.343, '2011-12-10':100.02},{'2005-10-27':40.123, null:100.02, "2024-07-01":25.0255, '2000-01-22 02:22:04':null, "2024-08-03 13:08:30":40.123, "9999-12-31 23:59:59":89.0471, '2013-03-10':43.1151, "2023-01-15 08:32:59":30.0546, "2014-08-12":4.1255},struct( true,1,32767,32679,147483648,9223372036854775807,100.02,100.02,6.1333,300.343,300.343,100.02,100.02,75.0047,40.123 ),struct( null,3,-2907,-910756422,9,8366664582270823842,300.343,76.12590339939086,66.0967,100.02,300.343,47.1559,100.02,32.0136,40.123 ),struct( null,-128,16804,null,20240803,2719608096385856411,40.123,85.91799230901968,100.1813,null,40.123,100.02,100.02,97.0869,300.343 ),struct( true,-93,2566,817835084,-610992,147483648,45.6715,21.701529443367143,null,null,100.02,100.02,300.343,100.02,100.02 ),struct( true,122,16850,0,300.343,-2581559089578417863,300.343,300.343,4.0768,35.0289,40.123,null,33.1299,81.1882,null ),struct( true,1,27992,-2147483648,-4722517,1,40.123,null,100.02,54.0428,100.02,42.0657,null,100.02,300.343 ),'{ "c_map_bigint":{"c_map_bigint_1":3441903008960422179, "c_map_bigint_2":-531303268528418040, "c_map_bigint_3":5488148500866792813, "c_map_bigint_4":6046960896006842749, "c_map_bigint_5":4187886612085938136, "c_map_bigint_6":4581839133609577337, "c_map_bigint_7":-7139358438650476835, "c_map_bigint_8":-4684642909530098627, "c_map_bigint_9":-2613135276226832597, "c_map_bigint_10":-7873526765464091493},"c_map_float":{"c_map_float_1":98.98947, "c_map_float_2":32.30945, "c_map_float_3":67.77193, "c_map_float_4":62.99771, "c_map_float_5":66.70659, "c_map_float_6":24.381048, "c_map_float_7":30.445423, "c_map_float_8":78.729225, "c_map_float_9":29.602135, "c_map_float_10":92.27257},"c_map_double":{"c_map_double_1":8.482241982271379, "c_map_double_2":91.66574517591091, "c_map_double_3":33.454549465176896, "c_map_double_4":8.020330789080168, "c_map_double_5":98.53093968944731, "c_map_double_6":24.525679250057813, "c_map_double_7":16.613544317388676, "c_map_double_8":83.62431701778372, "c_map_double_9":20.584494658599528, "c_map_double_10":17.705435973695053},"c_tinyint":120,"c_smallint":-19570,"c_array_tinyint":[-28, 66, 14, 114, -23, 38, 43, -116, 107, 5, -86, 96, 127, -123, -119, -50, -107, -127, 85, 12, 84, 0, -50, 126, 61],"c_array_bigint":[-2750846849033086478, 302650334095562794, 380178040926903259, 6450597938446722073, -4712141163141500247, -6014060942805816701, -6719010166334851842, 7000810600060967683, -7040477821800439942, 2212787458307454529, 6554670100278400356, 5500288365221583646, 8345134200168999124, 5392769389137339029, -9037206458928377082, -5440632979319618918, 2825348482110416437, 8403168562190135666, 2724197441501444970, 6167938345791827771, -8967202478482131482, 1029370437312555148, 147194792959518518, -1987002449484187116, -1517191587353968847],"c_array_largeint":[-2834399686771549351, 2560859313308970964, -1489598701234057216, 9155454259869106190, -8378112881516552176, 7711452250339291566, -7447096499883446453, -3768442593859885636, 4745996665310279868, -8570180893668223891, -3719114844195986687, 5204758911539048418, -77028022253808423, -6759486266938980770, 3865117141003037445, -481454963940403374, -5102592131313271347, 838461485911816071, -4927462587067869052, -3176660576448882987, 4462151932117713582, -3279723347637541580, 8453370488755468301, 2331589572131259711, -8645158666658429574],"c_map_date":{"c_map_date_1":"2012-09-15", "c_map_date_2":"2017-09-26", "c_map_date_3":"2007-01-04", "c_map_date_4":"2002-06-16", "c_map_date_5":"2010-08-11", "c_map_date_6":"2018-08-14", "c_map_date_7":"2015-05-25", "c_map_date_8":"2002-02-03", "c_map_date_9":"2015-02-23", "c_map_date_10":"2001-10-23"},"c_map_datetime":{"c_map_datetime_1":"2011-02-18 13:34:33", "c_map_datetime_2":"2018-02-02 20:04:04", "c_map_datetime_3":"2011-01-06 23:52:36", "c_map_datetime_4":"2010-11-16 08:58:38", "c_map_datetime_5":"2007-03-06 12:11:23", "c_map_datetime_6":"2003-01-02 08:40:44", "c_map_datetime_7":"2015-07-28 09:08:51", "c_map_datetime_8":"2013-05-01 17:54:21", "c_map_datetime_9":"2008-11-27 20:01:42", "c_map_datetime_10":"2015-07-10 15:13:40"},"c_map_char":{"c_map_char_1":"BpMpiBalww", "c_map_char_2":"VcxNWbdION", "c_map_char_3":"ctWDibUwLS", "c_map_char_4":"KLybbWFgKL", "c_map_char_5":"vgTRCkUdCt", "c_map_char_6":"TQUSvQTdno", "c_map_char_7":"kghszdgtDw", "c_map_char_8":"VgsDDEHWfV", "c_map_char_9":"wBHemqdrYG", "c_map_char_10":"CFRTrJExiG"},"c_int":-1781652650,"c_float":2.3488574,"c_decimal":55.0613,"c_array_float":[43.263992, 44.644585, 82.54808, 99.02049, 51.55781, 85.93401, 63.286205, 57.011482, 75.45218, 70.16664, 100.88141, 92.85452, 56.378258, 72.58306, 63.49524, 62.236725, 7.2286983, 62.480736, 25.08499, 92.119064, 20.239475, 74.11514, 93.301025, 73.19863, 60.17275],"c_map_tinyint":{"c_map_tinyint_1":-107, "c_map_tinyint_2":72, "c_map_tinyint_3":65, "c_map_tinyint_4":-88, "c_map_tinyint_5":50, "c_map_tinyint_6":-39, "c_map_tinyint_7":-52, "c_map_tinyint_8":118, "c_map_tinyint_9":116, "c_map_tinyint_10":110},"c_array_varchar":["ONzMzfLPDLwnSOOMGAhsePQPZCLelRQTRGdslSIRcaNCeRgSTAzNxamkoLKQEsIszFduIsGLjcQhBcWBGoxVsHjljXSRleHggTaoEdcaBmeTHoAvqvjUFrVhzSXzGehnMMEGTxwYRozgteEWLDhZYLAjZbiueHKPkQYujXRqBOSylkhnRcHmOvkamKvLzabjzzJDUeifBPkWtlqLdRaBOyJZkqJCPXWSneAlbUSmbRKarbaoUNwXaqGWXmjwtiGq", "SbhMjHOCpIbdwcFMuLbHrooEtljxcitxSsddaPTkuFKwUonkThWNYTGxFljUfJrvRrvTcdtQPRsLVOoSbzDXPlzYJeptymHdqljgWVAPVFZFiLCMTkaWgOVnCRNyQYXGjSJZIPpnQmfTfxqcHnncIOhsZhUGaGtwwQRgSMPAYuOdynxQeymzWBvsltYSlPOPrLKnTYXPyaclNUfdTtRuAjMELsYmbbvYDhJBedlEZDhDApzkKgnaZYjHWNlNHNJI", "HjFlvdDPDlWjMvywQpbyIRFvbFjoyQsbNZYJCIahfHCcylGztJyrRhUUvCHaDpiCagOcTllzoRnSqbhnISGFfuJxUdLLboHacYlOOpFAerrFpKRWCOUYZnnjqXaPQLNtgFqTRVuICewhfaRBhrhynbhOXJsVshRUmRkYgaFXnZKWXzYLFivTKDCRzFKYgOwIBoSqMpYEaDdcVXymlMfoRTzjhviWXKsNxUAzehYZMvDFInrRlvEZrFcgYGakjCeR", "cQqcyfjzGwOepRMGnIgUtQWriPgRdVYKeXPIUuTTEHeTWlIqQpMBcOTCCJVYbcSZvXnajzwrZIOwoSfkFbFHPOeRlGYKcwrDmfvfwsqisighzpnxSnFVYqBjPYhVJcyJUpcOfGHgBTuMFLGbhlmHbfcGuHjbkiVjiqenACRzkQAIicbpLZxaSZrNvdmHQlfERCCVxaWdJNslvnLEcupAnTTNJvrUWIYETDymaOUfqBszieNqoWDTEeWnenWurvuX", "LnqwBzqykevJzcYOXBApLAaySWWYXfJQZgRFrNlfmyVxccldJGDtNNnGwjLlliWsoiHojECUXRpXqBWDPxCVtVLEaPVZXiyfTqFbfNpJGLgomFlEHzWJCHCTfMXhjwncovIlEseTesdRnKezJCSqyBiSuUoSGdctQclnLstahfXSAhTqHGCWQIrouIWHndLCsoxmlZWHYwipiNhRlZVhJyrEZxkMEsmwOJluukcUgtffjglLHitdmCKJTjjAyhMz", "GKQToOuatxVrmPCSGwzYgoRZELjyszOlVMJzElUrDAvTHGKseLlzaXvRvMTpQLVQjgtbqtyKmAPAuClwJdezgofgyVgxhaqhPlJwboEbKqXabylHgyIOXmDtgwmbKfMyABGbRnZgelrhRpxxYbMxnVkzQzrhssloDEKDcjfmdxhmaJsBootYdQdcOHDbTSPxeKSZtZvTXpbxpahBpmcNNezZmUXNhCpTlBCQFXcVXVvsHEllxeXNdpkUsrPuuGql", "zLkrBeqBvWctQsSjqtqZhnKmYyHjxLvokYVaKQQuLfPCCFfbrNKsRaOyMGnsjRphxGKWvlgPygjgqrBttXmLmfCdOQzkgopreABORqCekAtBKnXrBTucIZWhSoFAqJMZYSYVvTQwcQkHFtgAPJzCqYGzqPgIZqnWuzVnQTKKmBeJprrwxWOExUUasOVkacgcarfHeZczgDRnTsAzuNiLjgFVAOWqfDNrORHEWJKLJuUvYMcnxazaNCgRSdnJphAK", "eAGiimYvbhQCafGcFgfbHKRhmfvccWjXwQrVykXYHtrGYFBRNRrbYxQtssbQWijJJRHHskMTWbBsegDYeuAITqxvnqojDjzwSVoRIYWwUJcUBTmjINEjYANiAQSYvLPtKZevxlSiTZoRwXgSOMLiDzHhAGoOfJKAColzVSCgEokiVPoXquNjbJSgAYgyCfUtvjpyNIjyqEzVjiaBExlKcitOPTGcipLNnVPYraTAamCjjXBhOpZvwTebgqcimUSw", "FnLBmzmMyAfPWCXYZczNVmccDwENCWFrVuxRsooeeuBgdHEFPXWUMGtDKIpnWHvWPlHSmXkpGppjzKmplwmHPnvrTKJKaREnBAOOhAsoKifTugRMPuRtxCDsFJOpgwkZanZemqwzwcrJDOscaNrywTQeRzGbkeGBhqpVhHdVoQreLxwVXfbTHaoXpNCsuKiFsiwSjopzJwVORPYuujQDvdmdStgqlZjJrNVltdojDwcCqwBfCpiWNDDGCwmUPMBp", "QBgVBhoAsrTsbYgzfrTehkMpJwdwGuaVNSpvRgUGJglWxykpjxGJRRnsuYATpJucANMHcqslURoelnOAPiNOCAMHskyTbHIkLoixyRwuKMGlRvOUOpmflrPuHLpQVccTSHivroMGdIehNMcpILXnmvcDFNAvgrfkzGOhqfeQQnHpOhkawDxAlovdkiPyUmDhTGIuselaJAEstlTxlAoExaQcHgRlPZVmwLzdDWKmXWutqgNjDxlTGxGblpkMoXZn", "FhNMWQGADIYmESimuKOBtLrhQZvlySfCcFljCuGUaaHYjxodNoHvAuWfTjNhvOyeDKesOQZyCqCyBFDlUEbwxbFSNjJOxGYxKJQaAJdEJpHvKLQDglpvdkkpmJAQQCBIiaTZTVFVHcqnbovBudXdINOVuIOoJZmYZcxBhAatzCLoRtQzocDFzrvGGHtUXMsmRDFmwKQisEpFYvMnjXEeSJWYSoYmYvomIjAlvUZMkppOrZBMgLoaoaHbbPPyLDoW", "PvlDnLTkPJGdPAuqPBTKjsPopUIsGVKBBvCqmCKkcnoecSoKHqAysOOQXNXRbFztVjbNVOkOGAUTDfCTeQWySEsjdSGvDqIwKgEruEIKjMHAsLCLLyvZhcyydFczsezjfHjlfbAOPuARfWHlpMSjazzdqiqKXlkZDeUaWqYETZwRAxEBDjBuFTejKyLCToAcUAlMAjxarnDvdKAynZdErzpjZkWKbpAybozuxekOMTakeCMUUJDYcSdQHzJwfOAe", "lWaDJyopvCcZfBMllDcOSrCPJhTXTEBssMtMfdzTcEaREMbCztHyIchACiJHVysIvdhXGxDuigrHLNdKjdghFMLckHUVTBsTIqGeKABhNAEINGLfEYniNsnQRuTFkxdyuMwggAnwzJNKwBCoYrBPSvxqNCmrFuRdjDgUwyJyNigHqeqcQTrFvGXrBlIFvkRVWRYBArXcZjmXBpJbQPVBtBTmMyRdoXROnThqGLNXnkcBINJdZTgGVtCDDBFIevXc", "qKuZgmddqjxfaVGrSqOAJPZHTznAauOVMFVfIKXscwHCoPEKDaEDFJsRohzsuGpEDtXFMCoTfTDBVkaQXKzwvSdIivlSKrulSssHjDpWCehSQWoqpOhIWBYInICrkztMYTjKKshgUkgJzYGHfwDgnxfpzqjoqFqCqMXubaxuXFuTxGeUJGsDTERUYJmofSQMHTPJCrcBattiosTkCrbqrRMYZwqOpcObRjLpzVHUHUsIesiWXbbEYqpDXOStPpHO", "dChyMpsvillEgQqQGTHszLTBtsTWrnjEsMfJfNoLvjFprAQJnQnqofdksqfNjLUsqgXHOElpmtCNrxkJirCFxSicUkMZydwzTnbyiJbyIuxqqFiQiNicoXNdWicHLxyOACtmNHImTRDpbDokXJhVgsLfvLnPEqqHLIQOpTYhKqeVbnWWvXxEhmnTahwFvEuXZjiAfwxQDiLxQOqMGFsFFArvaAQLmzpVrjOnwPbOsFzuyYAFkpAakTJOsXaRRrJK", "JbSmTuoENWCqhzdUswAIswjNUWELQoInsibfmLcLvLseSoWbBdIvfsbYHmKEfixxxgmqPXSgTcNfbGINtSpnYEFGdazUMhgSjHlYVGVITOJigOMxuBMvBLAManAuTfAdcPUlhGlLGejApKaVYXzpnyYDmayGNNyuIXqMJBjymcxZkxKwLKMOPfnpDmCBTUQRFHbzsTbqEKmgEjTPLzYXhTrVKAUaDgqFbbDDDcaXFvkgQItlmjReaYGagICLvlAB", "ENPLugwobMlIlCgWpkWmWkMQsPmLuZxZNxGQfgxEgbxGYZzBqghKaEWlLfrBeRWJQcqppufUNbQulQfVgMArHeTxRTqGtdRVbUnomuSFLaCvgQWSxZoAxlsUSZXlQatvLLhxeZwVAEjziztWvkeKIpTQrnctfGLBDZJAjlUuiVhcDImzjdOjkODSNOarWOZgsfvkvXudOWMrljbIjYlmsRbRrqYWsbPpwJWFXhcEoYUNXeRVuljBYldXlGtQYZtG", "GQBMnWHaftGMrwtoFjYnLukdYmgkdgCtibegBFeZHOMAiocfNWFniPlTkqScMVllpKKxFKzxewKQeefgoSHRPnMibNlQJMTsGfzeeRFDtaQSpxhNXLSWygtVdFShtrBxtAsjgdVUDFiAWBfDxjhWyUjQBIGokzIUGscNacJNzLiYpEIDYbLIPTywqFgLPokAbUQaRtUcuVUTMHCQUraVKcEGnsCwiyxrLrjzHanPbEqhYLDQYpnvfIGPwDAuMwBh", "PXJcOiBIeoXDkTpfoFOnBtFblLyBALkujSrnnyoMVzZxJfnWfVZrbUQOjGAjJyELRYNgHVzEwRmcxyOqCcKVupKbwnJQNUiyIAyUvbunAqEGhIvOiRcxoxFXahgBMtetquPkCyCsYWwMeluUPfFdDNUEFnwMEslfbbdjEginfwbhHHMDyhbPdQBkSLQJMgblLbglBfjGckjtNcLzobOTbVlyndoufnVDOxhfhgMgSDaJrbGENPYGpiskOkuXIDwd", "iIRNtKLnJINVLYqOXoMlWBLmcyBCvxnOxxGTwClzYDfKUUpmojxcyGeqoIrnGbUfnHJniyDEkAFsPCShjyDkrfbEDxuTKGAuHjUqwoBrDdUSnzwFNmzWxkaAaUklANWlQmZeaPXEgSpfBKfCUoYpVcVOxOfDZrrGjfsbEozuGrVUufoFwrKRqnoyXDTUWZMmyWdAjndjVNkbSNaTEEFvavNdWPkdaekJqgqNLfmMSGqAkiVDotCTIILsgDDiOXNg", "VlkRfLrSExCVmaiamILtQccJOZuSmySdFyEIRSFwjmNCTKwnpZjHrwVKbSZnhaSTIlNoKHWMDYdRQFUrbDkstPFhqdnNvvBBozGrNwzeCjkHwayxBpTBaWnVOZhSkYRkqMqyNcSmLPNvBxqaXojJpasgiZmCGgSqAshmtrQHchkpNMBtpaqgAZhpTMzVyKDMGyWWTovqhBLjXrCftPeuemcEBdtsfpkiRrYsPOxGyWXukUgTmFhdQJhQDRcpeXkB", "YDJPpJFYjonHYYkQKGLZNAJjTjfohkELhFRlxcgUeQjtrfYHnuIElmkbbuzfFfGjiHUXnPsCUNxbXOaeWjBdMRHOOuqRyZjNowGwLurkvSNbPHfCIBGOtwyhbEyZxfjNoOiuDuZWJaehZqJEuHdmPWIeRbRmwZdyboqtowMfCvBkwhWwvlYknOxCyveolojtDaJxNwzCUnShDgdyyqJgQSGBOTXlbDGZEZbtrukFNFJrCcmNOaUQZtIPYyPrqtmo", "QehUaVzxVkYmzJoPAVMdVBCltymOMYVEHfSQitLwtSMVRVOHXOgMkJpAhdwOXLGQBMKSKqNDQvRxioRLNfhummPnqhVDOoFssOxbfjIeqVQXHSqnujazxhKrRRTnEeZQiDDumMHmKDRdOIJVTulwfDscSAQnjvSvndqRrQXLiqMJrKxkkbgwgmWAYFiAljCcfjnELLYjlxHBDnzxFbbhqhCnJLHrOknOGMPklikTfpslpzldIkZXYlmHWdmudQWJ", "QzdWRFetbPDzigffzWuCAhzZSCQAUiGufjPSADyrrZqCFQbnwAqpVpzgXfDZIlXhZNGhcnjuXDTECkPgPZeGLbfNmlPYjsCCtcZgfurYoqqrCrLAMzrlHSvijbgQGlNZaIQRqeYzXpupHnBwjEgevOIUuicGUDSUDOvWePVqaZTXRVUNUETyaEaIQbDFvtpJQKSgaBcspJwDGxHSIDgWAkvKnqQTBKqrqyGSJNUMGdeTlCzmfOoxROXlEoHURicu", "jvERECjPfPRSJcPLoOITavBQuLvFZPjQyPNiGolsGwPPxKjSwdOgttJxgKZjzKDPnnKdxBBxxHpZRyXsuMwwjxWNmsJtpaVRmVCDfYUbQTxAVAQHVVxLjWfIgsqOPjAvFzkgfiHmYHsRlheTBmqVvizBwDxMxVRiSDEOgqcgfyKqzJTIUNxmHtimqQchmRuiSCZBgPwxyryQVCqVexiWuFnkOuiMmpthchRVBavgKVynjZUUqrZYpyQKhtfggDfQ"],"c_array_ipv4":["wvnUmgZaAD", "QUXpKiaEVs", "TOpDsMSQxR", "VQQHiCSWSu", "pjhgUjSyjC", "RANgEaewzq", "SBkMaDZvtq", "FkDAlYmJdB", "znVdMZxryu", "tvyaPzNlug", "KRqjYuYhbE", "HWcmoaabhs", "JNxWSAJbrl", "HOOvnjCgQN", "eoZMbRJPlx", "KtOxzfAOTp", "hdMSgYcybM", "MBtqUiWwTN", "YkbFBIKppP", "SHlFIuQrxo", "hFUmZGksUb", "gDKDKQrELU", "dqYtIcjjOa", "laQxCFikRY", "mGHVUNELyO"],"c_map_string":{"c_map_string_1":"teADNhFhnuIsHvCULqbVhKDRITdkLHbPSQKAiSDObQBialrsCGZwFWsHHpvdgXiaAxXizZeytUPGFAcEfaNMVIhScLiytjSSpHQNrhzRfccWwgLSmzAEnPoHrTcUQUvjJXytGfThaSVtWnKUCIlXNdVMCvoxONXebRGCluhRhAONWjTBzJQRKfplHMiiYgVoaUTTMfxYZQJMJcgXauSHlTsKdbBquiKxsRSzkbFbfmENKrUVYLXbCFWvoIrblprIxfBQtxdgoUurlTQPJQjkOWxLVEwXcQrBoxLkMCkZKbMonOoXxtOozIwnUtXPShuxwxcEOhXbXaFvtqYcdWPYAssIfERaDEzWBvAzTWbqXFBptiSDLRCuZhRArLlTmdAizCZoOItDcQevMLQowialWpvaHBOZUUvDDnVNuxGNPJOzTHMaSKxDokfrWmbbXAOEXwGJulLwrEnXSDPFwwjlPNvRRONzGmInIHRoSFAXqrpuvfYWdSgteokTjOVfffJb", "c_map_string_2":"WQEUEjRqqgKoTnjaYrqwYptNOXxIUABUBZudimiKgemVupZFDveUnHjIkmjtDCDGaYeUOPijAcLKVUmMMcWVPnAAJCLBFlMJzGgtHWJxLogOnaxkWBVsMgQXdmxGowyJCUoGvEsMdjjpYmoTwneRrOPzlHtKeeyhhwmhXFlcxnSuJGjdFZljJPcRBhdYEjDKDSLnGFfYNzEObMixceKTGPfyaSzcSQoFobCGpopYRCpLMStRFcIClYbQNnUgygbHjDhzOmPisHsHWVxevxpZxfBHMUDHMiKqILgyuHMPMtuAdJlUDFGqAHjLtXeNesougFoeeFSsYKMOQcOzbHCoPSuJulqILrGLpvitSerUzYxWCYTVyUHwdMraadXTWfaEtDtYJZjonFbGCyUERhWiMJzzVMJkbDzpAubwPvXZvdwLYBosOIRScJQeQzwhosUsYnaqZVYhuYHEZQuvlQlGRrjpEiToPxNXScZaEkZFWsZSjLywfAdocWTKJpCyCFBo", "c_map_string_3":"ZJsRDYQcFVHEBBaoiWlpyvUMlehecDiWQdgIiYWIoVhNUdRyZWGdjasaaOCWoJkBUrCPvFYZZfbcUpGEMGYmPANhfBhWWIPHLKvuzfqSdvUZYdLkQSamrkqUDCtXUtbUeBgOWeEyfvHLPweeEyCMRcSUtJuNyyZXFnBNtgnNArUPLElpOzlBXhIJfdztpQzBtzNvvxwdddwTOIvmPhotLJWSRUMimPPmYuaLpRGcceYOJdWNyYwnnyTPpHHmANGjuBATXbmtaTQNYXSCzkrTYquPyhVMtpiqlDbUXCHrkacTFKHHiIsgQVbADAkYVbHEpsYympkgUoZekWHThUXLwSWapXSsKazKVQQpcKLMgNcrjaUGgsePUpFsqgjcgraFyBCZyBAENcHJAEDFNaPMjXRGrBhfrMKEilmPWUwcKYypSnyEvcnfqHUKCGmDTMaNplwDZlmKNSeALlXBbscfKWoluaaNnNkwyTeJmtZQgfOxxTdLscGaxaqinJEmoYzV", "c_map_string_4":"tIIxSiIHrFTWjiEctNaJDRWHXKVRXzpcbESDuMYAWdIzKPgUyScTCfHXAwRpmqWIPEzSBknLFFDzEavdamvJpcGsymggeEzkkBvwdtdvwNcRLbnBEGvdglfqkeAUWxoWxcNJAsAgmaJGGtXnsGYJEzAGwmDMvQsSbhJPOzXcyXaXwqTcNXAPFRPrNTLqvIazUMVvrqKSbRwEpGtfcabtGJNlZNUevRfZLzviidjYGmIQfzsOlZemtCXqTvgAjeGhGrOFsUkiWPphSeoUMwapipycdOVkBwqWklaRQtBiOjEqLZKEtqsXCijmfeZxWeLRVoEZcMyzSLEfGIUvdmrVyaHheqFiVJLEiAjmrdfpPzlZngVxSpSpILFdAkyFDGribqLaitrxhQGbFaSNTgqxbpBAtvlUKDZzMycgSYevfdeTKMvdwrJEkvcjWNznRozEiQCTlUKKnPRXeFHYnkGWUYFLTXZMEZhMtocZgnXnVShBAgpGgMvMNSyPbfIwFWJO", "c_map_string_5":"XaGTgeQKCrKsuZAlrreLAUfZPTeILeaEXjbiuDNVWhaDhjTNMAFAIlIYGjqpXRqFboUlIyLwbGXRcapfNWwkSjViIJglfvFhpteuNuKfUilwdRzIbIdHugCKsQlmwQNxFZVfvwriRmLkUNhgDLYtOuoRcbuFjywuySllZlWJUwSAcckfiDsVylqlxUDrRFhFyVONlyPwgAesTHNiCXGZIOQYKYWVXKxpWzGBJbiBYHrIZnpByaJTJeWxQRAtcVJLRncNhDwQRDWKbrOgFNxyuAQCFexAqALlGnrcwqRHQPmXiMHGHnVlmCXgQwsKnBRUGMeoFkENKZdHlzOnwscchUdOFveJxainTECQGenDjFHDKPchriHTjWXlVSIJzbJsgunTxNHXBjfJBqKwiBeyYnJHKGLBMMlWqXAhPotCxysjnnjvCLzJGnHoQSjXyAsFhHnXuxMFYYBtmSgNtSQfGupUaYttPDWWRtQnUAjNZECHhKwLhBuMSJaCWsPxHVFJ", "c_map_string_6":"iefRtsNdeyiBcBvTsBeNvBbiYNjhmxxninPvrCETUqfbAVFZfstrvORFHrMzLTYoJEZZjgRXaCLREtNqunqsHMDYMOKdIOFRUrTcpSCgdeyOgxEQQBeDxGxVJkrqkSiflNEyVhtfWrnPRCApcuLlZpFYSHDosOjfdBSHiGwWkJImThqyGcIFkUfIrzrvBLImvYMWiqQWEHUxGOuxlBousKfTFkCfNflkVXywrgffpiToSoFyFMVwiomwBaMlYMdMtJaIZMNomIvXGaSYtBeOoiTkaPjGnXoZbjOQoPnapLWYAIbHBULsWqPdZZjmSvUkBarHicMUrlniTEbjsCSQwoBFEBHtSoJFMMQXmriWajbIzhhGEEPEtnDLzXIzPVaxZxnEwysLlgoSgUdQsQFQOfbWzBcfSwYpRjUBgYjtabNwrLuRTsnxoxKoqFngbrsHHifCeICDgpKFRTlFyWExXTpwpZwPMuXnjVgFSmXiqwcEvlcaaHjExvavlqxiruCk", "c_map_string_7":"gTymbgXZFNZytSrJTZByNGCrULjSbngMbkxOPvosJsploFwjwctxNAUhDgirOFKtiyBHecRwgebUiovCcApJFVnIjkObPZVRbvMTyMIUwvUwTNQPkvlVbTQxBSAiWLDKibkBeEEKKhLBgFdDQNgmBqXDlraeIoDiOFITgYnoQrWuvHlPsntJehbfDiMqYcjFHDPnpEmNoFOjpYIRbNQeOMOaBQaDZOYhWOPtACbbCviChhdPsDAtLtFBulrVPaVnAJNcGUnyhTvDjhipFwVhMVVQDuURtLmqDWqHsXAQDVczTAhctvFLWvsHVKobZqfLTDbasQkCwLUWpDJoBKfKPdfxnwGjGQGWEfjGpaViTYJiTFPbqWSWxBUzFVAzltMLJOdPYQBmcSlhdgYobeQJcoVfRxFONGexnRQhxyZTcoGlcPKwqYyVrfrUjJHkLrnZrYqpvytTZbDkvYJYZXtnPTQPXeAgbwbOxHXAwOemgexUsfXmhXGVobBEGtwcWOYL", "c_map_string_8":"BrjLAZjJuFmkrNAjdCdpfdNilgNxdgsVCTANnmWvHuuDZeXBRmVQQKDQmSrgCxHOzNTvLSitbhjkhTjNXYshyJkFqZFhDJgJgcqQkBtEGdJHVgYuPvXAJmuvAoykDFKppAtaNPxEaqLHBQJXirSjxWYYWNqUMyDIiPnOOgkkReBPdnpxKvMQMsmSCLYvJluscwJuKWPXRdTExKvnwpuspKdbyYRMGqplFCbJzXLdIJUgAnFFOKZfPaHUXrHxbNscmVSdTvlXtIvhsauLtnYpKLiZNrrfwXLloelhWuLVemEaeptOPrmFQazxcpxvmXKUFeTXICgVxBdfbgNYKWTUICADSZJmZBbKAGdQeYNsHBeNBxHBXmAPhBoJoDAXFFramPRKJvQBqmrqbJbaGSUbSaMHRRoyhpmmcdJHYyCMtIFbETwyUEFPlnvbPNOnBJOPQmZavltKOZszuYcByAfiNwlZPaBcaINGtGKDQnUcOyHXwXOSDkjShGIaGugGMkYa", "c_map_string_9":"JoXfGqLQeJdOSslalEfkOzeAoDZheJwBbCXAGOLAarnfzsluPQSOnFFnlCLAjIsyWQbsmuSMouwKBSsAcWnBQNhDnnNuKJKUpAvaTrYiFkFxQzlymeWQbsFWzeAIjsFGqzSANxGzLonKwAzWdaxvvUgyeeltTmfeJvtSWvBMMizcjdNhzrmLlHPwLAlamYyCxppfDmSAoZxZonkODAOGOfemjyRyoStywGKbiyvimsSbgfOIpeZVDnQGcwEzkfxqdOqOFYGyNGvANHhbgvXEizstvNzKRzhTjtxJKrqowYrvDtxbtlbgbjfgReFWHCCcepoBqyVHJgLsFVZuFAKhnyyqCZEOjVyALVOcFeWzbREISScsGlvAXxVrjiawWZELYUXNrUrZXUfvjbwKBODyzYxNxGOtQrbAvOIRcBReIQLoAafaYFQNoFOWFycdvYbxCZQKjKVsUrmUhXsqzVKPriRIWGTWsXWrXQsWaLuSVVgTWZsFbZxDHzxKEgidLABM", "c_map_string_10":"POlBgvtIZsdhDdCznmkDicjHrYPZOvSwpKDuojUQvyAqIeLzKiVhvCFYSJeBKcULDipuwdGcEfBTDUHJnSFMeKVptNYgZpIomHXmIBMMkiSPMSwCzBhgCzhYkEREmLhADqwkXwlXwVtoQazHtnhvIkeHekFPcMIAfxVCGbfLVtAmYkErxThhHFeYJXolnGxFJtArdLHzdZsaVKmYlWVhLjMcOPAkqhyZLNfduuTfxUuheQSckeHuHnPVVvSWEQTUNcmYPRvwWyDDmzSGVshdOQDGxImbzqlWTHQGFLJIChXkRITARwUMRZwZsvUzXADDbLskQeZrBPAgPrxoIRwANjvsqYhIKYZVmjGSvLKCPFrxLfaEgtTblqZACSKyKnVSbSelHKZVatcEKmTguhoMqXmzfneXLfpxWruKjoTDTRJsoJKfsNrvTqEFpOWEnfhUhrRSdagPsxNzIrNYfDfUMPSfOKcPZkbDasKyWoheucNiCroYuxLUhEcqecKBATVG"},"c_boolean":1,"c_string":"VBHISssiYWeUnHqkeoNzKLICImXftDXRGhEJXiOwHTyoHBJusyQWzAhiXwdeCWTBARvzSclcgfLVazrHLXAZqeoucPHkoeikNxvftmjTwbivxYKMmciUGHWMsyzYQaDVatDgtVTOgykLNqcmBtWLOhAClPetvxPQwELOSfcfyCVsTBzVmbeHsrmbYtAyFRCLRnPxhmiMkNWRltofJLbLHlQXOsrajAjivxhhlOkYSoIMvPcdbxwyqVFtqDtVtQvRnsOAKFZGmKeRpFhZJIYpFuhkmaiFjyxIAUivcXRmfDzemqeLfLosAlAEGaBYUXHDmSInpqkjkbPrMHMeAjagmoMxlPOnyhJRuHvpgtjOoSxcZcVAMasIwoHzfgLsxBdYJEIvtKiGWlupkJdNOzpFtstCnxksWuYKPFpOpZrHszeWESiEveOqBNunOotWXmXwkLVeBvlvpTvJJygzicEcDNAThUAvcGoCktoPCgJblSCViHmgMNBefJnWzgDTvlnL","c_array_boolean":[0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0],"c_array_smallint":[1198, 7140, 2044, 11183, -9017, -15505, 27915, -5534, 26203, -29888, -16924, 27652, -16040, 22019, 12973, -26501, 7578, 13572, -30853, -10290, 27573, 30826, 7147, -21943, 29633],"c_array_string":["XkcTWaOzmIBVJtedAViywgcAwrkIMAPKatfnyJgcGkeZJAnXEgScEWNuBhBiAwZuRPVoBrlSJwdvzjGjjysvHLlSOtzHIBaftldEgueGNnstoXVzYNbOmEuIMevuwaLcwSGDzfIQftOfGINCbmVYEPGmKWmKXvAatwGtvVZSpISCetnwbzjYmMizgfScrJNPOipgKWkzNhUjrtmaeLGPHhkkBDBVDAApLznBorLDwqdEICWjFdIQuaPKoHRbVdhKqmrdeCWDCTvxKlfsKUepBtEvwPLFgiiWcdftOjdAoPBpkEyArEGyxvJLtUmBdAXADGxQfBbhXgkmrYRLHOjCqqFZBTRPlszbSAexieCweOAfKKpeTzFMlGxRbHBIlifSFoQrMBPuftrwLEngIIBGyuxcYHtlRjIaHFrxmDRitryjLHTByvWYxbwiPbgjvqsIslSDNwVBYszoWvGNEAttkbKAjslNiZzHleFqSgYjcQNfBDaQVuqdDHYRQnlHBkZX", "oIIpKdWtzmITxjgtfKJwihYmrTxNsbloHyvHJPImUdYrzBuvlvvymvcbWILSbkqspQPwGhtexjDuqgANDaRnEmzgDDElYFZTdjLwaSwZMMhOovrjSYKLBqISkwsmZORFDHalWlMeVlcNQbojbEVEzcYMoYPrMzKxVCXBjIjSZdeEWRnoivggMjFsIwLkDhuTXdbYaEesRJgfPDQgDCvabwndmPZkzVHsfBPvbqeIYXwmCsrNkolEeJRScgmklaFkTMgwVDQPdAaRvAVURvLBDnjRwlIhMFiMDzqEDhaIYaBSRjbQDFWNSUyRCSLiniBbObuJoRLyPoYNFNoixclpScPaWTmWqKfaxdCrykpUOrtVjYcFDFIDIlSBvlHABewgliQjzyHkeQDNknvKzoZVivqOtLClKwpmkvAWLKEoFKyjzJuQqWvpPBqQWyJKrBkNJAdCSVdZxJBVqIhPTacdznfCcuZHlLIbNPupYOFziNtikImTWWAUbRcCUZRjMSkS", "gkxiMJCRXoxdhzJFLDQdTXBwXpCqbXQeEQpguQmtgtzCNFxLPtyXPqXNVlEweCvyVsVcZBdutweLFteeBfFcsmYvhYinhaCzokbVdGvobLsJdldumhCyxOpTANOntresqWOXnPOPifEsFmuuttNTMOJUwJWdcmfdawaoRqIFfJhnMUJXcDFjCgugaWEuMXuuRhfyjaMfnXxlUuDWXNTgqTJwXbDaOMDZDwbrNqkWkgNGmTgoHSXXnOqAJRfijDiFGfAUvitzKmUpdaNCdYTeOgfNskQewavypNjIpDUtJXQMyxLcAYyqsdXJTJZzquvYubelKBMLwpePLNUSzoTvxOOXxgRQvKpkzzDaAbdflTnHuzeXlnOjhNukUwNDAblsztJPMlnSEpTXvBPhiCTPlsohkrcEkuNDqdpFgKwZNHijcDIfCgpfOHfwUgtHnMdjUFqrsyljbOQZHdqrDDCMMspqctcUlShQWgcXQozkBDeiVhlakmPlwcorekrqonTU", "WnYlnMktOpwCzCYszeAwgryhDeHzORKdiXrXIjcQvdfSpLWjuyOBknvZOHzFKhGSuonsZvDkSMZqqddrDmDNEsYrbxCkJrBlcgUQNysiMEmylPFlBUmGNEcrfdsmRKeswCFLoEwbVjUOBFsIoqbJoLETtbjdqpfOCJfSglPXrvUWxVbbsGqSNtYjQvJcSRZhBgWJfpAjZiOKbyVhVadHaPzuXUtECOdJBLbLNtZIVCLjNvVHpDrTqkneOxJEFOUoRofAayWysQtGMkGylmLiOYQberMWYYuLDnZLMLqYTUEccyVpsdsizIMInhvgReNfraZCwNFLBVZUpTHBzKqHbnuhrXpOUPuZzNYxAeUbHLLScLyaPUPZeZgOZkzMkqlJeKRkbBAWelhsmBRErQcvKymhEEnRFTMZfpUrpvyraoBPtrsUPjwjbUyuWbXWAmCwESDVmMGwHsogjvtwFJStFSzhWUTzaldhkbQIecVjIhFZcnXpsNwQPyttrpqQpzmc", "OtcTWBrwanPnzBatlzCmoNrNEXDQlVJSxixZlGbGnuOXlxBIRGsWJhJMgEZZuOWXyAKpBtOMsZdmGjSqxBeUnejMuyDRlNFLqeGBvNCxMWOtTdpxnLRXxHVNCziXNnhsZfFvLvjeZqtXYAMqLhaXdLsszmWzpRJmFEEumNJdVfQNWNiVUEuGBzPrsRtScwIqATGvsaZmazJhNJlBFhCaKowjvSWcMAoFUMRNUBaqEaqlzodWzZcPGEqdFDIspmucEsxICNyZmTspmGpTWxfQuPobrEQTnXXfRlVFNXoovytROREAwfQXIDshnVYejivyKoRrggRriUFxsVQdwfklOQvvmPnxBXqDxKVFGjxseqyAgKVfMDPrfmqYpIrXxCJzrsLkraMkXdOFMqBniPefjcUkBoMTZwHNkGoOrTcHjRNSnmWzhgvWnEWlMATmsxwGKqXCsSMdjHQQFaFPqEdTBYyuAYdhoHTgKHcUdJRQEvOjWsREdDrJbRIsmLtjBcui", "UXkUrTNhhrjYOnSdjGSiwoqMgxJsKdhcRFUGVESKSWicncKmUzXGqkfDbBDoVvjnoeHwIlJSHharcCJCpVrTjRYXsiVhNpIAXrJETKDGSVgkJRHxDfCfPXVWLddQJddDYYkIYNHymKopRPDRxQsGWpNOHDqSMxVVtSuUeNqhWgwPBDNaMOgXbXtKvUeTwQcfCNbaLjFlstwEojPPmjuYEEvDARuKZhYERAuaHRPSuZPXrhmRseHoixKYhEfUxvFMXzGIbMJAVfcgRIhokvwGHSZWOlYmThNRwWWxpdPEUqeKZARheCwSrJnZjLMyoMjpgMIFfomdyiaSERjZcIJlAlqnvwbUdLColeouIkCYjcdDKJkUboylLOdbxDmtvLwNzvMtilMpMYyZFpUANbTQZuafXEkTqJaTsxlJMQtknPwWOwpfCDSNmxEQkfMuaTIpEPTNdgxicOoiLTVZJXWnVXiWHZexTCUcuORhOddiqOpHNZVXZcJcJTBIzphlthMU", "yvtdqqyCHhoErSDTTXfNKuyhHfJKiFDpfRyzqAycQNjsvIUjMQwKOnNJqxbquHCodiIgZFqXcCWqECupARapOhncahSKVRmWiMrQYmJclubnvmMxfJantpmIJBlJFEQdwsNUcMzCoEEfDeCyjOyNSXorodCslicFaAcRhopHObVqyVUolOzdAbgntZIdCoHOXkKvROJdBzpXcgXCLoKNgTrlAxKwYVADiAStyxSbXEkecrHkgefLzZQNfnqZDMiMzXWrTYxVuBzqvvLaYZxdEAZcIWcYqnaNlPEgSpGPvkmIBauvRKhfaHNHyFyJPAgRZlvcPVydLIkdtphQKpKhRRIcIHfWXwXbSisDPFADhgoBSJvijlLPTkXveluyTmvFiltSnQIvmapqhZEWKaocSPLJdDOakudLAaSBDRejGiKkElaIsXYhPtipYocQDScvVsXiiZvvCaxUQGfXhLPpztUImcOpsRdNXweMgBURlsnQCtwxmMOaimWuBONtegns", "jUcscbOCBBwzMBYOGGndPXwaKfwZmJYCojGLLhwKJvJqWQgILZJojwcgJDqmozJxnAlKFbzzhYnyqEPOcHzIOTVhjLxOIMptQsFmRNvgbBhFzjkYFLyWycQQqjQZaaQrtEhtpcUyHXDsyhpKWUiqhTniYTIdwSGoJQHganInQMInLNkXIPUzGJKJqJHBMkHKJUlWPwoUhHxGjAzGXgINmSkRBCmFHSUOWBewnUsBzfmvMeYkXRbFmHLURNNlkzkhfqTpaVXzeCxBoLzwLDFKGlnRizLYuryrhpcdLBqcWTojAlZBdxNjWnVtwzGSojhSXLkfLNHpFgbiRdWrKyzXJkjpILxHsRnDxbOGXItwaMfEAsUfqouasaBCrpgvmAVuFQgnrIGUkHzdqxAoghNnMpUhdQmPnTPrrQrsVjyiEKNYeycfPawViIjeOOVTZSYgETBoZQTVmnzoFLpWIUBmxOxpuFuSFGgTYyFQoaLuBJsfrbFsXMOVndHuZLEvUvMC", "kGjlEcDhqFrfdQnDkfasZBgYfOOQeNXvpsYhQVmQbBIBLWTLzaqyJCinOYzuuwSilCmduktPczMQVWvpVXjOxdGzInzbatUUPvZvMaokeTcmIUCLzBdsycFvmzZbWcrCVwIKjPGKvrYWcLVrUuiAliYvvWoiugcoPaogBhhwMwKlokaWzhflvreIAQRhrllqRxOXTOBhwAHzvCNavkMQtlmRNexvHoYoDbSTXYKcNXoElVsUAyZBTuozvqubQozcRruSJzbUqQKAamEtYlunQiJtjGmsunOHFUWrMCKIjcWQSPkEWaVqNGhQJWexJrLyDbFqcJqAvvoSjMLZJewfqmOfLpQgjqkPtrlDJBBcnDadONknvemGMjxFEKFDewKeBahPjJbupCdnJwHpxcziNrkGDppKkHAQVrSNKmRzIIDmaEXlpiPbyVBnSFaHWnATdBNmPZptiWouDLDyqddLlIVcuuaZeOAhIVYQmUEfejTyAyiIZqsMkejrhlgPvcQR", "kUplomUrLWmjfGCFDSJgDOrPfilqxgcVpFvJdfZTDlNhdCmELZbRXRyKpQgYbbfzYTkWsUoxaEZMzLsiALMmSNMwIeKzJNDigLqdmSSwsxinZhCzLOvOgMnMnTUwMRlzixBNeNEWVsfnHXYllrqYzAkdqRdDuLIlkOLtyHDsCEIMhooZtMHRUrXQTehQcZghhayiINEyMaMXRwYKHaMMlueLZEpnNNNAnycZALsMGBPvfJNawcjrUBieoqeZObKmwCigdXqsPwdPhNbFDDtVJciFlkPQIebhaulZjqtFendDYsftxnPISfWuoCGRPcLEtzUEDwbHDnkpChcBBVfjuOkevrxIWRRiuoefYfEdGQBXNpULuTlraHCrdzWbPqwWqOYRKTRcaRpVaUlkjLrzGVhrddPVgYhECPdhMThPnzHzIfRPLSfSPkJfdSmLnncUshSgxGTdiylZbhNIgSFNjdlekvUufvOQnxFTEbtvkpTjrjKWUtcRKCOvcUNtuIuC", "JatYtXrXxdmraPQBEssNTAYeqeUvrcOmJQreViCbBqNtIzgNwKHVAIFzEsQsyYupMOCfKvMMarUhNnWTUSbEITdjnsdNkqZIaFOpBOyfehuEGgliGCXiLZbWLInfqzqHxHkXYMGinAMWSFCLrNdbqOgVrFkLHnWTVbXDltQOnvmEglstbRPjcmVylruptfNkrnPfCbTdFihpEuyFkhVNfvycBMYLxFYhYXRgDJvQLWjtybsEUsvodjHiKNlJyOSyUpHrGVTuCplKqPmrhSUkZhhRJNOjbdWQDFiMkxJnPxbLpLHVsXItHBeNACnzRteJQdfaNRVGsvonuIatgJpmdUPvfwJhIoqNIsglAoahpKqvAYEjxlmFJTTsrIDlVcEupozceEWEPHXgPwFulRMIAPgxrLrbJNhPrQyzeRCGFWojvgkqwHWrVUxHtwkkIgvakVgLABTFVTqkcRzsCvKnApukugWIWbhVvceIVOvGRjEzFwhXbeqJNalZzNXLCRcr", "XdqbyyziTrEtMEAKhoMWgCXpzGpTGMwsXAVgKaWvCRaAmmwMejybCHXkJpVdbCkPasDbyOfAYFtmJwKMjLvArFPiAnxDKuVxwywPISZrLzIJXuaRubncENPiZDvVIIpscEohEZWQjFaeguSnaQkGIuVspffrnaxCtVFXRZQwCiHbPsfhRmjPRDiJIRoZpMpePVvVMftplmLSbAIeHnKDWGUOwZPPlacQCukruTGbUUaaxNUHQXAMfWDevcKQktUQvPBFReJqKKbusJnzTmukhpxaVVgruxeysNNLqtWexLqwiGuMnzcdZFxJjQYrTzjJATdtYRFOEXGtUPPCHQApzzPeBjfAiBFIWBISaPBCFLpAaPDtloshmjkwlmWKareRQSkLpZVWtTuVEGDExUQoNALWdFWdjEyZPWTZcotnRHIKmbVDsxoKiUvugLPKYcsjVGBhCQWDWgKsLwFsfewrmPYbIoIXYFkNCvXVDKszHdjLKIETBdYhgQcWUntmxsIr", "tMGMqVVrjtKcUZFYXMseoKZywCnsjxintRcZNvxXNPsEyrTZNfZjARbsHLmVSgExnaeYxGkbzdATLaNCvnofYcaRqpAInySCiQvCFwEvABrZGtUWUHJFaAIjwYVkqJoKvkDjMEAsPlWEMKgeKILadWtHFmItCJYRCErkBdTNXRINYBmKvTPJDhVsrNlqtiWDZNmuTattaRGMSKaTOjBwwAqbHULCWoPzQXwCYaSmDOuSeVBBUFDKdCWIOKvCjABjeOWKMByYWIMqsBgnwulerXhwtdMhiKFKAhSgLyRvpIBRDpUWFUWekTkqmgPuGuyaajOqOrcZZfeMEqQJmuQxPbeDAlkXaEjGfEyAPfWCIbtKXUhaQPvZOIPUlnlHGEQQDLDPabUAFberrNzAGRWCRApQWuMYehOUHfZEpZfVgtrlvozhEIJKEcNIEEiBecrFKloEcohKPgtZHQaDGQkGTKPRTuiLBiLNNpYbxWRxuPGutkTHyoojDgSJkCuxpYkJ", "woPCcgyTQOHPoUYxpIvGaslBPznEMLlhTPgqmGFmxOyHIsBSmhBWfGRIJvJgAuiavYBmMMkteJmaqJSkTvmrWqGPhGOUVPnCVjPIoyBuHGRQTAoVidCywjyhbhsAjvlWCOEXDhFkXvSAnaRktWSRWCUtablNOLVGDVqlQOSqddJgGVTrXnpVmclZeTLxcQSaLNZedBlAkDNzyhHHyYCDvUUHVErOnTqzUlzojmJnsEujWbJrGHvPWOmwdawPnwVodMsOkFXUfEPXrHREDOPJFFlIUzcnIdTZvYPJceLTloRbZkwFLyhEyQksedNCtlPaXPLaPItvQsMiYrQGPBUWZfPwbOCzZvjyaJXtaUByJYPSaSryjvvJHdEqIEPLQegvBPPNrcTplYAPryKTvbCkAOgauwQtlhHBVlmMLrntEiawAjFIBaENkEpCacRIjpiwpwMghFTCESbwFknGorkepPfxubiZFeFpUGJJMTKljIYhOjsPUaMCRnzwZELqwePf", "wZcWyCifevsmnFVltyNkFtHKLEmzxGmqWXTXycupnQFZUAnlMhSMcEXauzHuhPaBcDCdIljiDFIQJRNvmwGCWMAWWjnLoohwlBybdVuFzxOsKeeRfWyAUmRAwYtvXwIkudNwNOpZnwCQUUyJRmwyVnlGGDIqpzocsIVxdClAGcQrDFlUCoJfhtDksUPxNfEIYuoGtIEQUkeJuHHaIhdfbvnXjcHAkrFBaadFdHBJnGCIuLhollBCZlwtAoZifhWBoBfzojTyBdMqetDtXfXWBrilwRKsaJRPBLujUgGQyQGROSxpCdrqrIcYgqMgyUvemdaVKfbjooUhwjuWJkwanscLKpVNaIRwoOGFZbiZIhJCDTDNdoQRBscSPgeGmTDVPebhEEhdNfsSyFqaViEpziYdZHEDGyvUCXQLnFHERAmMspePlPjPqrbvsQsMDsqRUhMyKUELsxdVtdXbCzMjgJjVAYlAUobNXlATHRlkevDMsStThyPLgYPgHIHicOwv", "dtwUqLloyFuoufHlylBoYEJCWQeXOJrZYQCjvYHYXSiyUyxfTxsRrBifZsRZXIBLppXrppvMRwUkASLGOFkopvcEVSOdSkmpKcQReJKcBHTzddFdMcRZUwAJyXCCUAwDrujOWHdpqxjFAiZsuShfGnWAIzhQNPbxGnQEoTOorGsXtFLcsCfezeWLYAnwlfSMrtKyQwUbZSEwIyImdQInbnHMTBJEnqsMpJHmEZqxDqPtTIlvKuANpGdLyZKiEUjIQtZWeuYiZdvRzAVYwmnlCLsfenWzMAfagmpmoAsbjaebFxwuqiHoDbtFWmIqaSYmnMDaJXNlluwMqgOOMaguXvAhRSKkhgigjljWwLiFnMUYXQaGqVVCyUiYOvSYjdWtlBRXFrOqCFBWoRZFntfZpNAqSWRnIooZylKPSiJcSeEgeTBDTrGvjXmFdzmhHvNPLlYMgORhMoGfIAsRJXTtgdozcGQeYNDICNCGcfpUfuacgYbruJrzUrmQTzzKgBLH", "GSJyOuzxRGwkpQIXfkwrjbDYpQEiqGAlbHFonGkoJZbatTbZhjQEpqYBWGqvKMMQLNwMaLAbEPuJvYaHTLmMvYOiXmwowdRBNTjAMvZNcMCHUTfTpDGOwEiOcEequrDksyRMWQsztcYzRXuhxQbHyZYZbFUHkZsHBygZreETCcScvJYihQlbhNSGQPsOrsFPSUUkoBToeTgMccYEiWguARRfhFZpcLLiEdwnspOsCWYgpFQKCuKBWVOhYvcpVmqseQTSiRJevcBayyrOfcKvXdpILaaROgqMMJUAcLxqJZiMQsXkyxXDBXbQjpHsYuZdLMBYdzzHFnERfcotRciORdrzCToXyQyXrzIGBFjzMExHGzfaYAiZyBbDbcWvzBczXflVrfjKoqFmCFoMchYojEvJGykChJVNgHjUbRtgwXFQXFRaltIkoVEBCpTIdPWqRyEKNEgyUtrdolxFpvvlJHIVCYJqkpqOyEyBUoRnUgLbmemmzuXxIgKuQvVqxqvC", "tIYlnfAEPOAmbidkklLEhVPwYTvmkDSMfFpDtopvFhpVsZaAFIZfaQTxJYHxITqFARdbgmWPQNFRxWVBKkRGebSJwbDcIPNSkgpmUfxAdHgyvBpeDxBnJbXTdfavRgtSwNOPnYVEEbPeGyBeNedHVPSjWmxxlsbjnSYEwmCITTbAzcJIJRJVmSzVFNWLXjnKNXsioGMikBssZdauFbIXVcbiyCbQqEWJdtJNxfIRIyQjYoBTxkeaNDjJTmTHbuiSkljnzchPSwbHFxXIqsKwXcHiYWwoXLLbqvNEgvsdNzXrMDmxNDbJPfDXUIGtLmNmbZAGaNvNURHsZSPMMWMjPzeslHJSjrPHVeMlMHsbDNJyYxhTwfSmzsDlXrOKyixmYHjdEhavlNNUJHAvpqeHtGURmCJzRrxFmAHFQJvgKAsXOlnUKtnsjQNpGRQvnfKcdsgwZhhgtlhiEeNNgXpnPDtsGJCSxGeMBCbeJWeZlDpbOgXadsVhlqduRlQdoGyS", "LQuNUYLGrwPlERMhuSDKgVXNpukgZCDEaiMoJMBMLIIyJeOvLzcLAuPLRfiAVSYSTbSzZnXHjMNwXFSjUgLEaeTGubOMRZgvTsOcxaPiQqgaTFLgEtdEVBbwbcHKbJFGUdzBpHlBUKzXypltKBkZBBbtinFRbgMfHmLFtoukIyzQEwFuqMBGsFmeYlvMSPOnqGusqfLHpGyZxJDegFbSOymeTiyaiqzGYubqSjLDirCYcxaJOhccvRyPkQAFHdZOKhHqdaVEchhMxZWRJJhKfPtYHoPqImBXOcynXHCnlvHtmoFebEWyHlwuEQqQznYgEGWYjbnufzHkinstTgTKQpqXoEMiKfCCMFOhVQMfaFyWHHBhEiRghbeOhLJeDnAlBhtYRBYheDHmZswAhjxBMnUeXkrvpTbXmSlktMPwEYPQescKpiiYeYvwnVizUWlYaFpEbkibdAtbdIlfPfMffGVcqWEGpHwGnZjjjUMFJlqlSUxvlmgeDvixNeaFrBtL", "ZajZlRKKuvMIJAGzDEQVbCgEosctPdIIDstNpJUDDjWzAqhUspvYWnMlhSYtThBcdFLmuTgkccwTTSqbsnXSeaOciYjgNLyuOlFjOPuOEgpRWGMJoqlHMgaWrrwaPYtvaLDsMJUODfJGqmAmvxFMNXfJdvbASefjIsraGzOXudZABdnukmaKCjVJkodUIpPjDKGLHLXuechjsZdHWImRudaJdFhkCsaUkNVvQRfyjaFtLLKRxiSpBfTjSKjfQhatCYqEEAdCCuDmqsRrOKgXMSVSKxaRNoNJWEgjEODkxPMDGaFaZjzIGMnULmlYuMfwnfFlPhbWPzGAOVBULpWIFenGfIaqiBKEQOfgZKdzRSBzYubMVGbpzAMSlujwvqNOwsefslOOZMhScwCJlAsEiMxzqnWpqjPOokjHtRPyAkFKGLrCukIgwSzZspibGVIZEFCoyBuBwAICIKUDciJLFnzImiPbALdpmWbuSBWYbEDsJYVETKiNUEApEVLZJvXv", "SdWQQtArXEsiuzYIaGqYGCjwjWNpwelBbfAPfnELCPGZANvXayYIyeKySxqJuhilSdaSYKnQHwmSlIWsQSqYwmvHMozftahJbuHynRwLeMaJpNfymRGqdnTuOhLwUlofekrMEsRvDcEFfAcozSzrusJDvZBSSfqOakCiPHbWjvzllDazxdkBBRWZeBtryrIAVJPawMqvmcPqgfsmAuWcYtjRkKAgUmmdeyBdAiCZobNLALXsNUehPNaQMwyGUBdiujzJxxtSdeuhFsEpnpvuVLGyNYpbCnlNkZsfhqjNhDakfZRCtJdBghZIebSViJzrdWUXqdwlkLMCfSSKBHyIJWRtaPVegfmQgzGOIXMKCeSsjSrqpyscIZhCovOiGNIpcoeRsxVlqTlwHHOcZcJKpnKgEsHbsLiwhNyuOCQYsAZTVXuNTfeWNGDBmMijDMFZKvYhwFNCVtftcQgpifPrznGAuCGlNvAaTuuXGjNGfKUcZCUAHcJgSibEUTxScVlK", "WZoTINIONxcuDyXBWBhsFSSKEIQgjlQUTFEFeBnQdqwaLJJTfDstgFoNmBKOiVJlHfYiiJFqxkocZEWAjChGTPmsiPreRLMteejQfElPghfEgBCLbiEqIUgRxRdOBFqBnaOoMbDuhwzgbuptHEcdsRBUOMBWVsskgFhBKFtgveOjWzhsdvpTlBebDbhkhMAphnsdFUsxqviTYknNXCkRryONqzNDrgubXDHQchmdalJCdnvUTfzqyObLdYgxZhhAqScHEyPVXIfbDoDcaiXybOaHpEEmyNtVWlLDWZoobLMubdxaEdpDsyvCTPbUODlzprEFbLjCRiZtPqnbtAuxposRnZzOdwzoBpgNlmVIkobFqRCuJJrTNjSANWWsBibofbFriLMAoyOSRUiwswmgiyRrxVqezRzFxCbjveqxdoYgPGiLInpyXONnpODQXcwbBqjOrlppnhImyTaoeQPWBjBgdXFLpawiVketoGNDXNoIcRoGjjccOboEBjWPXpLJ", "mSWkqXddapilUKxKishPFvtPUMAZJYnMRRSmeATLvbIdXRbkwPVxxvtKxwKZpYqdzajlnMKaxXYquRmfupwVLGyBnXCRlxjkfjmwyplgRfAtyWfxVMNxciHqYGYwKUxrFEoJzGnJOvvAIUjFibeMbnPLUXqRtWaziVyWlzmexmBgclAdtwPFgvLqXkHJYsxeOBGMLGcYMLMVONeqUAApokPWNNNJRDzwRQVNGfzfSmBOvoLdaeggfdFGiYEgzuXuoINvoFxGCCJfjgKUxXWxYCYIixHnHZoSPmaedijdhmvLrUdOZRfNlYokKKsRbHYDBKMkwxNOholpfnjpchatSptwYIiFuOFYsWrjvgsZdAeTbVENSLCWXDdTVHRGQhzQSXkSJlmNiROWObZKzjyISwFvigfkrloZIfjFrpKJseEEpIIakKNHrrFdFWFBGvfAjkeBpTNbnFvUuoZFqjyDoyZYCvmpqMuqmPmXoXHpcKwzbylppsaryswddvhSkGsC", "NTcAqaqzgtpNpfCdsWjxQEzgljlMEMnAJaMkFHVvoXKcNoMWdSQxEOnhHFdysIcrcWvFwEymOuzAqAXQZYPfDYBWTJSKrYqbeDOSOtVrgEFsReIJSEsJkRyLZtiXMcxtmnHqfSgtaYXPFyfNtHrGkHUBEhpJNRFkcwRzKvscoDRkZljFLmvyDyMhfBwKFrKFEkPeADKBYahnJhpFsOlERimwLrXEgiJrZMTTdylyIrNuTiwBoFXGJOobVZfXhxKctFMhANMQNIbfQWKGimTUivkpCXwDorjfEcPuKumVXJrLUUhCnuIfqBwCNdlupZXFwVxNAEOVLepAvGjfUcaeqJklwgskgvMmSRcJWLODLPCCPwPMCAowiMdmJKTLWMqmzvIMGLAFxxuqqTPrjDzmnzrmCQQYzeXFwbZaqMkicAseBGvoBLFsKSXLZoDZcmasBynEQarqEaYFNzygTyTmrVvjiVJtjobivPhRcpGOvDzYTIISNQyDnfNWYFoquQkY", "BOEQEvglLlxtBFBPaJVfgTcuZuxLrHSxDkZNhhRInfxeLJtKxKBadCHLNhLlxoWRywAfuOAONNYjskNOsGcemmexoiVGXwjpZAWcuchDLPKIvmjOPlAlFxluEKbtvmBdslrAFGeKgtRUyGnYKYlLUCnVPvQfTukcbkqLHzlYQOXCuCNfTstaTdNiFKtQDALoOydxtRArTnEtEEvdhglDqtBBAwLMtnCuSkZtGvPPBwZblMvusaKTxFuQPucKCFAdydEFHpwzNPOzXLpOmuxtFrRwPDMNtdApFuFXhGBOgFvDGeqDjvgSYokeDXkVCXTfTDeuhJqDIICJHspCIpFAvUvNcaZADgFMlVJPaFtCZDfJASjPjskvBnPnYMbzgREGMKHxksnVPIcarHbnmUlddKUltbbnWQlCceONCKftEPkCIXtMrMvHuaJMXhWeYTlxuGxTMPEZiEbnrpeaMidIqCjFqrYismijkJtOOtxNOliemnBesCjmSjeuiZWbDpYE"],"c_array_decimal":[6.1672, 61.1574, 16.1825, 16.1925, 100.1767, 66.0202, 55.1146, 56.1402, 4.1779, 7.1366, 77.1328, 74.1771, 21.1929, 36.1470, 77.1031, 32.1677, 20.0375, 24.0629, 19.0437, 54.0854, 35.1684, 53.1857, 26.1477, 56.0398, 19.1839],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_int":{"c_map_int_1":-735737539, "c_map_int_2":-1456466321, "c_map_int_3":-290791737, "c_map_int_4":5051106, "c_map_int_5":-1139382911, "c_map_int_6":-1507060961, "c_map_int_7":-1715975678, "c_map_int_8":-1935585446, "c_map_int_9":-243334421, "c_map_int_10":-638968479},"c_double":86.48455661553032,"c_date":"2011-10-17","c_datetime":"2015-03-26 15:34:14","c_ipv4":"127.102.165.22","c_array_int":[-508122438, -558234168, 892781686, -761227870, 1889147396, 314994839, 1098026681, -1906411630, -1928165281, -475002254, -745739037, 2138347020, 2129691414, -1421222771, 1555922144, -7844086, -50674165, 1263944711, -557487667, 559458772, -163362673, -2027784183, 987254879, 2043181131, -531748815],"c_map_decimal":{"c_map_decimal_1":74.1827, "c_map_decimal_2":62.1478, "c_map_decimal_3":32.0094, "c_map_decimal_4":58.1069, "c_map_decimal_5":29.0335, "c_map_decimal_6":72.0658, "c_map_decimal_7":83.1375, "c_map_decimal_8":22.0370, "c_map_decimal_9":7.1518, "c_map_decimal_10":38.0953},"c_ipv6":"2d11:fc42:e15:af7f:1179:3660:9bd0:9b70","c_map_largeint":{"c_map_largeint_1":-6621235378895826659, "c_map_largeint_2":4471099839164753723, "c_map_largeint_3":-2533593878527462468, "c_map_largeint_4":-5609840875736482305, "c_map_largeint_5":6315164352092319639, "c_map_largeint_6":-3918228225503166270, "c_map_largeint_7":1040552868289884209, "c_map_largeint_8":4236968521581417310, "c_map_largeint_9":-6628502813658629535, "c_map_largeint_10":-8025574442632328966},"c_map_ipv4":{"c_map_ipv4_1":"251.117.41.154", "c_map_ipv4_2":"231.192.79.201", "c_map_ipv4_3":"40.161.255.53", "c_map_ipv4_4":"240.180.13.216", "c_map_ipv4_5":"90.73.209.91", "c_map_ipv4_6":"240.171.183.94", "c_map_ipv4_7":"128.156.244.202", "c_map_ipv4_8":"62.147.188.253", "c_map_ipv4_9":"167.214.247.9", "c_map_ipv4_10":"118.211.25.109"},"c_char":"fOMvsotukX","c_array_date":["2004-07-13", "2011-08-27", "2007-08-28", "2017-01-12", "2016-01-16", "2011-06-13", "2011-12-22", "2018-07-03", "2006-09-25", "2005-12-28", "2007-10-03", "2015-04-11", "2011-08-24", "2014-12-25", "2004-09-11", "2017-06-17", "2014-12-09", "2006-12-27", "2008-05-12", "2006-11-26", "2007-12-09", "2017-01-19", "2000-11-22", "2004-03-01", "2009-11-08"],"c_map_smallint":{"c_map_smallint_1":-12649, "c_map_smallint_2":-23029, "c_map_smallint_3":-30842, "c_map_smallint_4":-25371, "c_map_smallint_5":249, "c_map_smallint_6":21679, "c_map_smallint_7":-22927, "c_map_smallint_8":-10744, "c_map_smallint_9":16370, "c_map_smallint_10":32315},"c_map_ipv6":{"c_map_ipv6_1":"5d97:42b3:226e:1ce3:8f7d:7462:a54a:c4c2", "c_map_ipv6_2":"e4c6:8fee:7bb1:1b88:7afc:f8d4:2f6d:c144", "c_map_ipv6_3":"706d:cd01:b75f:8ec1:fda0:6e28:ad8:c977", "c_map_ipv6_4":"37bf:6d3f:fb2d:dd8f:f0c:368a:650a:e286", "c_map_ipv6_5":"8cc6:5ce:ca01:1296:af10:f423:d349:247b", "c_map_ipv6_6":"16ee:5b27:347d:4e56:1be5:1929:9c78:65d6", "c_map_ipv6_7":"fe33:f92c:6caf:a9ec:3429:4668:31aa:67c4", "c_map_ipv6_8":"2e69:57ed:afa5:16cc:2748:186c:3ec8:1220", "c_map_ipv6_9":"ca71:5b8b:2fdd:7e62:5fc3:42af:69f3:4674", "c_map_ipv6_10":"3e01:f78c:7d03:7d2f:4752:7124:2e7e:d6e2"},"c_array_datetime":["2006-11-16 06:15:21", "2006-05-18 19:39:07", "2009-11-18 04:29:12", "2018-12-23 09:52:53", "2003-05-19 20:00:57", "2015-10-14 21:18:33", "2008-01-05 15:56:47", "2017-08-22 09:43:48", "2016-07-01 10:12:48", "2012-11-27 07:45:08", "2000-01-19 13:46:11", "2016-07-09 20:01:31", "2018-01-20 13:41:02", "2015-05-26 22:31:32", "2016-01-02 20:25:26", "2015-05-24 06:34:51", "2014-01-23 19:27:26", "2000-05-17 12:13:59", "2000-03-24 14:36:32", "2012-06-18 13:08:10", "2002-08-14 17:27:40", "2010-07-22 16:06:30", "2011-08-10 10:51:59", "2002-02-10 06:27:25", "2017-01-06 13:15:53"],"c_array_ipv6":["LkEMBuCyVY", "BFFEbBzHVV", "yYUApKfmjn", "jiInDwFHsb", "EIERThtlIa", "FUrejQRvpg", "hvnDCoKxSu", "WuuQKWJscw", "ydnqQSVdHr", "hlYEBJeyqv", "zjvSSrmCey", "GPHSwRalYk", "YGFqEilTex", "YuJaevvAVH", "KgtQvgMtoV", "liZgieutIm", "WJmCJMQuNZ", "AxuuGKMmGx", "cCuXzWfniV", "ihgwTWqTsA", "nnjeEMNuFS", "nQyjpOQros", "HiAxGqRelD", "SwczsdvlmK", "viJQumHePb"],"c_map_varchar":{"c_map_varchar_1":"HLHCqsXmSysXUXGvSUPEDroqgHZhQPUywRLwuNLMJhrhnlytdJDrnxRIamuaiPTuegnXcsGZTQcNYOFMXqfcpBqXtdrUvJRmuRyrCuHWSWWtawLkvdTTJsDtvWlEZhHtJvbhwOYoECieFGZXxfkeKVgAwOuDlKswxFmZpmZKJejEsXlRcbdTcityIxhEaBEhOLIUPSwXsYJUtUpShWKqsCKuAokUrUHcDBdeRVCcMuUQXfgGQRejEHJGEDzwzmzq", "c_map_varchar_2":"WCmqBVQstNWXyVmfKZxpwfQztKabIZrIQshJUgrgFiEbpQXXNZMvFPMJISDrpdjxNmnMKAMMIoLCxDnTwcAkwqStJGoXeSyhodxUpnEOhBycmLVSbdoXXRESuOWGkEUICOerhfSnkVFBcobKVIjigbHstyseeqMYLXurHxTQgmplvIxXrRmlLOpbBLecJxlvwfIOoZORVsUiOfEOsZvtMygCFQBciRDMhLVsACNOjIGWghmxkpzSOdxGAcCnZazx", "c_map_varchar_3":"kqKvlKkZxhUdpdXwgwvkZDgqISDObbSIuwyKDmGwudskjamtHLgInsvNqbYWDiJkWhFeVrLKpEJpqzEjehTCKdeZKKDyXpADAlxsMnmDCevMxdqFQtFnlVPwKCbnxdEgyNUPFCHKsQCKUFWmuVWlqnKYSnvhfAnZFclMyIJFgOEKQVdHdymPfIbGTfHpDGTgVvliecIEpBuIcGQcPEkfyHBzkWdalhCuQRiAEPZLPuHpOsKxaMLTKRDlrpnuCiEU", "c_map_varchar_4":"UVccGubkrbTvCRJsfDCKVkZolwaUatqEyyJlPeSdvYbLgSiJLriLtPchqHpyNDSYihxaWqngBYqZKIJUMgWvwIBaVFtkdzcZHTuQnFbjDSkColAXnopoNBjvCBhZbiaEdsiJuzriDKOMjwSvxwRKbigShpxWdeAWSEHJXGhEnJacrJlBdrLgICdpAtPvByvMtZlPvijVcjwuaRofVsoYNWEPsBvkvMdzRpgrdGbDKLQVhhygUihxrovMMVXlhkVR", "c_map_varchar_5":"kNccuoGkvoOKDMbCvHoEWAjAzgXqZjeIROBGUjQikfeXvfiUIBYydeNoPBHNYauCYMyyODYdpVdUxuBqWcWNcSkaDsiBGuGvaRWqzbzwjibKNkGwlgkaVsEdZDiwvTtRIaCYvrZYQKIQsdcqtxkzIOZAGjoqFuroLzTknBZivepXpxzBIOoQzKyXMwKlQOYLKauSboawwacCnLMhXsCycrIpZTtgOcIKaUpJLBJMLVOvRBfYxXKBkGxzypbLlpWy", "c_map_varchar_6":"PQYxFDnmBIPZpgThotyGhsTBtHMjiSArOznpepZqdJzRJUlbHcLCJqSCFFCnzwMgQxdUwfhukbBwxWAGStOVVXMysMalSvRslyOAoEXujzWwsyQqLjzbOgMWEPqayfLpmPsbfLYlBRiMynxfzfWDhflCPjTZZtHFoWRAklEcHEyWqlcexLyZJTzMkTFPBNPUTwWcHxGZlRoALlckKeVkafsPndEBeQPEycCkpdxPyqiwpaelGtkuILaLLOICmRio", "c_map_varchar_7":"MwWclUDYYmQrEslTIvVPkGsyxdKMameZivAtulmelrTkzDfVzStySOyPibrDlDZighkkzlMRUQkfOUzPIrWzPKfFErOqAGKgGlOlzDZDBFbQuEhmbFxlQVjHduLIiboqPXwSCVeAWAYaGsQjtykBrqxuzWMVYEcOSFsVfBaelMQLneDWgDxJIDsVrjGKHgbuwJvEAXMtmEsWfHPJBEhGmUVhrwpKdremojaPMAeZctQdQRRqRGbVopmYHClUleCe", "c_map_varchar_8":"UVodWLuCMeJPGokRbEhfWicPugcpifNeKpfkbCQTGKCOXxhhOZDCGulNfbEmebEoOMZltuSZLwzWigCoMApcakatrtOOTaRtjvkYYzdexIZqaGhbuLjmotImqQgWUJKMeWkdDhukpkIKFDrKYiQgmaGoxZrLTzxzwBSYXfIxpSIKkIPSNVcUZeQsJXjMVQfNhHQcMSgWzybaVFwiMfeNvRPNLZEeSsYHmscqOmujPzNNFyFzCEvigmnFKpwWOJwU", "c_map_varchar_9":"UNHtTTzlYTlIvZeDkKPJpFQYlXSpWkqiuIxifZBlIxfGWsWwbRkkYsrnsvxMJeFIKCtQJePeSsvHxnZRgRYUtidsrUpGlwvTaUrMSzjrYTyEyzLHeIxSugecRcTNjmmNQfMtyyMiNHqpvTTXEmUDRKCgbZXFMXztZJMonNEKBREteFOjcdotHnJSPUkpuFGkKHZWhvmFWBTEtdpvUmoPKpubWLnRUoschpTYClrPfAtrcUJBMQDZFPLxQAgEzTJJ", "c_map_varchar_10":"JwncnxwWPLakxcIcfbUwjfWvbITbuewwEViRVjOUeTYsSZrFXSeeXCLDRssPQGibRYZsYHquZkOppqNzJcCdsOhGvIpnwuOdiXnYVFsamoheZkWQttjDviAFTQLqpxbUrOtSKtmROnwXliFrLwcskIJIvHreKdvUbDZTHGZnGNuNxYTcdvyDSPWaeJuTlnjAhIatfABJhhViuSCHQDEdJgmdpkWJhcJdTpOlrlmRSNdYUQoJpesJuKbEsSPrVNDq"},"c_bigint":3371299656791607288,"c_largeint":-3027927668935536677,"c_varchar":"it\'s","c_array_double":[35.730936689090825, 96.99505165015846, 70.3886572492344, 41.87561104342133, 25.451921407280288, 51.814054136991686, 32.41627998705423, 41.341176001646495, 98.67321632964946, 2.6031732239256415, 98.16968401073325, 94.5428861133781, 83.268606778122, 21.34003807111003, 77.35622275007552, 39.840356010271805, 80.24221021868438, 76.66433914580662, 16.53123022033283, 40.32757132837033, 30.0660454760337, 80.22506450390276, 45.89302698104122, 70.64904781214675, 2.084635532112548],"c_array_char":["gjpKifNLao", "xDxibNQjsj", "uePnNtsbwG", "oDOqVBUAud", "jByXrtVAPj", "QGyFCEeUWL", "xQGGOCmgkw", "XZsrzMcnHf", "DlQFuXaqfM", "gCRoiGMzrj", "lBuoyGgiIy", "tCzrlXVHRm", "QluUXDkoIO", "XNKYrgQytT", "nQoxWbPeNW", "MDleIGmHdG", "tHhjyfVUcp", "LFEgzlZSvs", "rtVtNBVayr", "scPHyFLDhr", "QNsDyMMqvG", "dEPQxsXCOK", "JBBIsszPEO", "IWlivwqrwz", "pabNuVKRAv"],"c_json":{"phrase":"what a lovely day"} }','{ "c_array_date":["2016-07-12", "2004-08-09", "2003-12-24", "2001-08-06", "2017-08-21", "2018-05-21", "2003-04-15", "2006-03-11", "2003-08-09", "2005-02-01", "2011-07-12", "2016-07-12", "2003-11-17", "2005-04-27", "2012-01-26", "2008-02-07", "2004-10-17", "2018-08-10", "2017-01-05", "2016-01-05", "2006-01-18", "2008-03-15", "2017-05-04", "2015-02-06", "2015-04-01"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_smallint":-27727,"c_double":26.58088279282706,"c_char":"GdjzSCHaAA","c_ipv4":"180.137.31.81","c_array_largeint":[3120839281748649875, -7682452776469305156, -1333186644625999891, 8165673343927774297, 248790329017779496, 1713811425322938926, 1054604886070950354, 1172270248646911155, -476149096194804785, 7264888159425183661, -2096914887398342457, 8900091505428711367, -5789497471779184717, 2953403163197502993, 8395966235548328208, -3771373893199001068, 3298112186659033812, -5467397027622730684, 6373086283872306128, 2249493331632747631, -6894894078280571856, -5602156609265951812, -4212728917119116641, 8416335740329605629, 2730102214583554175],"c_array_double":[4.424631111570864, 95.69458723188663, 7.951329522730671, 38.71529010424159, 34.94151853212069, 20.87624895934757, 79.4012365711196, 34.829385539394764, 23.137967929099936, 55.66256208549766, 70.92403726532693, 1.0630960736074773, 70.63363227203162, 54.97149638890369, 69.22580135402052, 24.533174053281027, 70.33902393002185, 71.36105362099576, 75.77361863629352, 3.2632922808797007, 21.661410418413503, 52.70009735329438, 74.61056208180668, 23.931926015195273, 54.55010826032179],"c_map_decimal":{"c_map_decimal_1":50.1186, "c_map_decimal_2":93.1008, "c_map_decimal_3":100.0442, "c_map_decimal_4":66.1179, "c_map_decimal_5":23.1219, "c_map_decimal_6":4.1358, "c_map_decimal_7":57.1266, "c_map_decimal_8":26.0649, "c_map_decimal_9":50.1739, "c_map_decimal_10":83.0269},"c_float":86.199265,"c_ipv6":"51d:5685:ee2d:5b0e:931d:c719:6a19:d330","c_boolean":1,"c_int":1655199077,"c_decimal":71.0998,"c_map_double":{"c_map_double_1":52.843051953058236, "c_map_double_2":24.849541407036284, "c_map_double_3":15.226133091618593, "c_map_double_4":70.63137546157589, "c_map_double_5":63.50038547093005, "c_map_double_6":10.32497738481568, "c_map_double_7":40.742996966195165, "c_map_double_8":27.131873078883373, "c_map_double_9":45.660456869623715, "c_map_double_10":39.93187866816224},"c_map_string":{"c_map_string_1":"mRGZPsMQdqEWxCseFxGylXAdZlkbxXxHeFrjJVBICHxDgzrnEMXCXhuxgIAqobhepUXERpsvTFeVZcFohIpJdFSlneYcTtKohTRHFMfYhjexoMrWvOvWjcDCqKmQJuNLpyTMahSwGzMhwfZIqffTYRJYvWxfmayiLyHHGanwYjltFVyQwaymMyJGuEJKQOTiWOzdbKaXFiDeknczHlhcrMrsQCaZhWPOhlHXURDlLyYjEBCRDrScHzMpYWHDyruveWyRtKfmtuupMiwcPyrQDBHkWXpSGDNmzYnUQQVWEYgBsZFjGHzpLWxmGidlGWoBJhfziCfWlARIhIQGWmlrfwivudOwzMKEloCiHBcljQpxHumkoJylaWSyobxDSCzSIYOeXhMusNnkHWbEMaGFEFADwdwzYIhgIMqiJeWzYpzBLAUOrxUessturcBeeVmvshKFGATTATPPIikLsjdzTXlFcNJyMQudjitPnmFJgQFZEEHIvRwZxlEJzEBFODOM", "c_map_string_2":"fTACMUbtSZeeWvTjtSuZtMuWuCoqfsymeEUKmUWYhpftrkTjKBtppKnRjXIsblOJEGtssoCeNUZFzgUUmCLfcQboNtUJcJBGnneDnYJOjEBocOcgdFWwEUQDBkHutMKRfJuxhyklxrpOKncsmfsxBGpNBYDmHCfheHhfDFzTDIcdlXOePQhtUeSPUoLcncESZcnFPlELDufcIZBfaPMDMwKnnpxQPjEoSuojehXbZZNNToGhtiCkisWlHxXhgiapalxMDHQKEORgzkhjWVNANtKnyzNvCVrKxqAnmHXJVEpgEwXwiWTDonLIJGfrQkPUjqVoKcVFevwankzUxtjGgtExsNUncEdCTDfevPJEJbACoOmDnieQZItVEPmGswQkXLQtYwmEwhqxUwRduEcksozeIUPndYtyAMCnlEvLZtiyKRxZcqXZRAsemaQPbfCzmcdurAmdvFUvdgJoESZbcfgmkxrGcBBbgTFKCtNFCRddrWPGumuEIrrMkjEOTMhG", "c_map_string_3":"BRDkdREZwrVrSisuEmqJASbwEfXzWgKcIBmcAsMYPDJOjklkuaFJHmqBmMBbIaJgQJaHoPahWOXVFxkGdmmyCiXotBwXozAOTGqCflwIYvETvLNSDDDOVIAKNLlnYWKzDAVKCvdbqAAaxzuiydzDtFaGTKyJWrXufkrCtKCoROQHrrLXTHpFTxeUaPugCodPybOTYCKCaXUWmKufrDdsBBxrHrhhElSZiRQryqXOLDkNEGsQgpNWBHzHuifBCygIAfSFTuJzqrUUpoplYCpsHYZGuWYLPWwViBTtrdgNKtkdJbqsUgTKkoIIHYYlVgzpaXsysLwwCYMPKUfjiVCTMQHZICwgczKvqwgLMKLsVziDYQFNMQIBwJvDIlaWMatWVOZBreTtBCagMLIyuvYlIVXuZuzQWuNyqTSlSRGWvNsvgpPUseWWrVcBBCsLFYfeazzxxgWYGyWNjstfakNRPjMWgSeFchARsnitWXrydcSGdCCoJSzqTKjYenxjAohA", "c_map_string_4":"UoINSONOtzlsEqRgLeyPjIYDWpLStVTbDuSUHCzxtnHgyLPtuXcAeePPeTzxqNypeYMKwkTYfFZtQeznTFJSHqfQaqfaXiEraSaOUVbXmrIvyFDoPRggHSAMqftBDKUxYuNJpigffPBzRkGfSZFuUemehtbUPJpmHEdXyWLVjXmBaDsPBwbsNGZmhprtoCzWMDWiUVScOulxiIzjfUuxVQwDQymYxJUgyyZqGZYgwNVweSUNWDgkRvzvRwwtYLIcDqXdSLbjribTqpNYXvNHNhfPfdXQAGCSkLuFIVWOKmQqJbNAdpxUouvpxPEvmMKonSFAVJaTLxXwFAzMMfNsYoomtFhHucjckSVYgNCypnUuVymOwgcocYucvMfYPbDoWCRqTgMxNwUQbYhQyiVznftskltqxmsjObmniVdajvWPrgZqyebVFcJIeaneIKAerWGNxhjOyXpfcCWSGzOAlUxIweTKJFESyIKMiLWXVcFYpaasPsxjlFIJHhhCtwqW", "c_map_string_5":"wdowPRSvyQzbmYKeqvvLJCBZBQNKyKOyoPRYPSokCcBuQLTZpJvirkOjklmELsoArRDhQOwumgWyTYUAgaeOYQQhBBQMCgFDHvbLiAmcuNfLgheylBnfKaCMyGNMyvWtlcKjrLWZMwRerGjAVPRKKqOAjIiqbtwsGdagxcLCfbgOvlGknFtPgBluOGDigDTtorHXJBSTSUpRfLHAfSsUIFBtOWUtnAYewgMjpxlxYlisWaLCpvlEMzjpNfYFacUKgvzLyFiuSgONEkEakvKVLjZjzliXNvVpOmLQSzavAgCySLynhTYqFbRSdBWwsDcEsQJiseufTRaEaNVjDrTQzfLquiGyiIrxhIqzvnHvsHZSCqyuNdqZrqhMfpAfyOBoBWpeKDjKBzXydqfQsWMSNkTjBuBqlGWpBQmgfwUIqIxDblvhzfavkhsZvayhuKwdtngUIPFzKMeALxxgDgABgaNTxxWfYdAUMrdpzjqlLnOehfEYXoddEvuTEIqpINOO", "c_map_string_6":"yyWLkBsbbjEKTkLQzrpnNyMKidHKYUswaQKZIdPHmpnnKPXLoPLKebwLWYaVYXSiQQuAEotHVYTDdnVJYPoJJXeWmwsdXsWFqSDDJFIdoNNYFtSuSSlnBWqWOurbEkmohzdYtXtsMxczaGMlCZpqcPmzWsMwZZaJQrEGzbYwGfhpxvTFMMhlffQmlBYtTVeJDdjwvKKzjcezFtpSEcPPTMFdmqzXqOPWsdYZJPPBWHPmlATSDYISwuAtTzfMmElBuOLGmslRNgUzKoxyMBFIauweknmdlpusOcgApxPezPIgSJQUExwUcnikmUcRpCAMLzrnWdgvbXHSTxlQrcvlgmZLDUIxkoeMKvZkDhgOGPkxMANZODQYOIDfSbgNHxgGFrqLMvIiyUZUgkRwkBcLbxzihFgGNiRzXsCbJUmTjIEDTjNEKVaMqchcedTzdGEIqiEAuCInVPsndFiwCTjiNVzxSYcCqkRYtPgIktQgTEwyjizEjXVyfeDcbWesrhrs", "c_map_string_7":"bXaJQIDNUSGshWtjqtRSLrtSappKfEwaHcOnQqELsDEbTVlyQxJNumtgWeNYUYFOfeHAxErXwxOIUjqJapRbsStGQJQPHdwtlmyAEIHUcHBAbhSBaHawCnVhtJlSCvmXwieoqHwWEqiiaSIKMaIQosedgoWzqEvyFUXhhzBjdwEZxSjNqAcXqBIlteVzPnAROKszhKMXXgDQmivsajSCShYqraSvjKoRjFcakxtQrbCOvwXXikWnSIknreeCAUNMCsGpKraUEEvIKWbGjSxIokRamDzinZIUsfiNrhWqYQPiIjdBLMjsjjDOnXkLxDcoOAKpunAolkkpAxtZEZHkGuoxTPqnhnuWoRRayCQUQkcTLozDyhSbSPkBMmGYRYSzOOumxxxWcmshCrydhQHJKSMBTQjhvjNFGkyNYcPZYrWIEBGaNrqgogYOrVeuxZAaRxqFyqOvPcMYiJhGacthWIskSTailWHeqhGftbTpBkQSrQuTQdfdJNaxwVCcrFHg", "c_map_string_8":"FefRGUYbMLwMrwMrYQFBYPARrvCALpMvCHTWgmUyRQEvTvFYyqqIbcqowKxPbegtSUyXwWhYacATWQajHzWKFuBfSHxZgSwHVyAdPNMAUsmBxbWUQCCiegbvnEvEvOsHnMAVeeEpchwtGYarReZcYkKTcCYmCDOwGdAFYtdcarSRHDAUqJyurDXjzudFgYogeyOrseGnloJUuDSlQMcyRLVIdoWQCRlSjDuYvXkotKbhzEbriRxpBfyxbYTSfUnDGlddwMQpqonfDKvbFoPRMPYcdwTqAuFlhjpkVDWaRvQcJFeUXoDmzYanOAMqoUaxPlrfuhCCNwcliWSANdfccNsOHjggIoMqWZbCeCJHGohuIOxePEaSqOqgPujklRaCZwdnwJJDNdWxyymFVlEZPQIUBtSMWnLCQzmOlhbbtfTaRQqmdLEvWorwQDRUgJQozZiUiUBAKtriCVLGFazAKjeFJUeFxrDsmQAAluOEFdjXGrTENugopJfLwNhqgsel", "c_map_string_9":"IZZRvLPgLagnXjtvotICvrXKmNtWweIijVhBzVxNIczstwYvQdlMqZGEjAdNrKfQkPlSHSptKZKullGOEKnXkxHdMznlhQJLixRNveUBRNMfTvoOgUrYTJOrEMRjMQOnFxKxXIovCzlqJatlwOisfCgUOiOvkjxxuEhItZAxTHhOfUvHxNhBNaTtJrSknzxlfbsHDDbijAwrPCQoJXhULrwruzNBYtIpYGPVTIJhCvHcpYTmiztGYvlqSUmXoqJjUtwCsLeiInsDHWWJIbIVpANKPHnLywOeqFKdeyKFNNKHflNDVPgOZMKQpoxBJaYHXQPbYmAYzqruIJBNRNQJbtSjakTTjGpbHueCHXochnPdtkISZPXIDOgeDsKalsEZSKnpBukBnIBrtbiOMLLlfLksMdSdpooSbOwerFqgScfQgvrMKvbulEblrHVszZjFxXcBchtzRBHEVYRCwzWmNrwHPaDUizejNqjiTeJWPcJdLgDqYKFJhorvsBHPJegH", "c_map_string_10":"McmIjSTMaanCTBUkBTlnBHcMcxdiZtcoLnegXIIVOWlSXHnBHWrQLNnIdFlSstTbaQysQPQmCtWzHXYCHXwZQClBCnKlIwrbJTBIMpHTwXfWicMnbPRxjIeJqvoXdnoxbfIexFpJFBmAwdJyzNGrcmzaXdVljLZUhuqYzddtTmKohtMBpLLMdymPZrcsIUzShrZwjIdlqNtzWtQmAyZaRQRRiMBwqfvvMoLUNSQMRIFiBeQugucuDScVQdCFyxfFfsYkeoTqcQNhyDWMkHqRyHQPibnOzAGsAYOvvOfezTqpVyeLvuVzoNjDdxdGjOgoKnLSgesSmeUVSQYgxkmMWeAngsZhjQqcSrlGRFgpfjJWYjxTTSAorCFTtWPpnMHDlsatRnbHoclitAieflIpVpakKBAIsLLeDhdWRRDOEfLHXMppHjMbHeBaVyMQeiYilksXJFmGwzogDkeNJikMWUrYHhSuiXUEqxcBfcCVWQagoqaMzeBqpfzPDzTLXoIL"},"c_bigint":5476656751927837756,"c_largeint":6789433800212499908,"c_varchar":"i","c_datetime":"2005-04-19 13:11:15","c_array_string":["jsVoyWeyMNkDbvyDLhqmuqSMChjYxKuTmPNtUlbpNFwSrPnHyujmpWsPBRQYsImPtPjxjlIZoXOVSfjAYJzQhysTAJHgqFxMkjakxTyBklVRDoiDEaJBMnULtVYDaOHSxpTUqQembGUflURAFjxWHhOrbjfrmzKwYnpKcDwmShdcfnwJZUzmNrccdJKtXBAHgEFxyMoXMDXUQxeDONdAGtmQzPBSFYutsrrSNlmQMOesmAInhaBDuGwznGrhYLxxeKIFRnFnrYzpNcLIxRSVTBQpalEghyIooFWIjQzIeOIkKYVlELmLvwmtAqPvzmHUpofyzdOLhxJYpQvpSRGllcqcksZlhRZiKfJGuHbazuJhrsHPLcGhJxrNAOaaUleUkUEIfzKzSYBvXWdOvJVLKViKwtCbRPAoVJHiaPMZflxhDYOmoIUHXNhuAtSWNjuzsAXRhuLGaeMWMZSZqapCAwWIjMMemQQgMmCBxChBxlbeFFmEDBcaoHZSgCGRDBrD", "MHhtrEwnnAgIqpGpqGVCqmUvXvOiNLfbRHKkrWpXGweAgrNjaIRpcbNxHozsEdgftQHOiEMuzrVSBtXZqKAgZVWdFQWVnfaeUeCHPEkLTZTYfwqqILaqUyOQkSkxqdSlfXvlylRggFGoLcOJQqGorijOaEIhidmixlvguXtiYbeAvgEjGXujMQfWiilKXuCAXxIMyaiguroGkrRuEkUVSCpDJBEqIMWOViXzloLQwhVjhQgEUTvOympgpkmRMfBkHuccwNJcBJeSckWseZiuAYmtaPmXdgwmYFAnHYskmjXiSqUCECUgdumjuDNnYjPkQLdbjZcbbujeFxLdjsypTznIlvBxfTfIGpwvcDPftwKPkcgKCJsAKVTnzDpduWhKFrmzPQCvjgXEGBzGjeXDqIDuBILyMoKGNTegeqFTwgPrCBlmglSmeAgmZOSrZlmZprYwnDTmqnZvRzODOqRZSnCQnDDmwnswXLfQztDPiTeKQJZvgYkSNWuMTwYbyNmX", "dSKcANgjlJodLGymtlzyFvlnUeEuEOsyqVkMYJacRfZEkoPSynDxaNHjYDnvwsTzcWNzIqcvTgkYjjPrCzdPMKwBgStijtYNsQVCDerhPGAhqPACnkKhcgBUhgVHqZUYZpRIWiWukoBstohOtQsVjzFKlXUbYXtFNwXTxCVuXnZZMbOpSkAfVwwwcaXnGzlPNoqZsrDLrXpdHQXKMyLjaYXdcUaMpZVtbbcDNSURnKLivoVgjyAoIIeyYoSQKHIhtKOieJPcfNDUHJEitneGlHbIHNpeBdFUTHlUKCIkycQeOjfnKSItMUsMEglCvzOFOmyvmjKGXNUqjaxUFizxKPXLvRZWKKCsTGgpsoyLMCjqxeyekjgHhMHYkTqzdqAIYKxruulUAbsFVOcLKmzPOxtnFSwXFVFavCGwFNoKPBGfOYxgnhTfRckEnHEySmPelsgYxddcwfopWpGSQSfzqArauOxUsipYisQNDMwapiGAdBhqkmqiWzuPbcIMiMDe", "bVvBUfUMbRqKHnVcuCyowUkScvNyXvPWcESqjIOdWFfNBVjZQbLziHJKonqAgVZzQFqXrDttapLHwglBVIxXqUHeSMAmMceBYGViVwidtfBFNZrWwJkevIjCYiNtiNKCdhhmUzGBTjAKNgBdBIQtvAKZxowiHphpoepXDeWvFfYDejFwSmKCkYbRNsujEAgaSVDJzGJgrQfEVOzGOQAzlwMeiGWhgMZYTleQxFWGTrYAcULJFOVxMWVueyHyWNNDVSpoebXrSinJbIhPIZtNcKmiJCYqVrNZHvfoUCNIeRtqkHtbbVzRlgVUpHsxQwRGtbQrSyhERkhKVOJLOuCfjxhFhOCGRRXXusWQEOBlxCAfIAjzKWmswzEpNwlhGitpIaTGJebundtSCtgTdNNgQeNAxULIcruDejEOzDjkOVvZbVtjTNeqodcsGLzqmZlrYLOfrorXuDSIHYzzueybzfwLcNNNPwKtnMkTMxwrliQNqGXSPLbiGZVyucuLprwI", "VkUquGGajSETGXffWYpoEoCpaXjTAGUMExsMSHxkURbZcjujzaoRjmizUiUhyZAJMrMQlFKMLGCtnZGRkursulyCPYHVfcQWqfgkhMWXzwngFFOCUzhXufOOZvyCoiheUkipeTSSGHssSptnnPSgffeWFiObAtZCezUqmpoIOSmYOGiBHDYoiQiyWeiqKHddHYoOCYrIlhIQuJPXaFBMEDincrbnfOQSoSrTdgjBPibEYhVuYLeSuXVDgUJXFeNydPTdkxKNiesTJqjgleKsYOaywoCqDizVIVBOfsEcqXnQqpvzqvYYHhtpHUiEdWNLAvJsxDLeGPiVPGDTpsalqCrQHfcaXrJRcPlYiAnWpruSreGDtAPFmzGmiIlibvAJCwDVtOWLHdkjVbMduyXcrtnmSFUwctRzLMlmCziDdSxcLZfAqgMWSdaJQZiABQkhZILMGCtpiTkfvoSlClPbzJWiiUxSNwUXtaOycIMfZwEybtdqegBfSISmlpMcqdmk", "GFfYtjWKUZnzVMCcKzpyEzmnDdtEzjsMbCXNpufNnSKkbAGCdaXrCgAJHdZrmiAjEKIPWWKgSboUNpgzeeuTWvbkwDaUqjVIrUzgMEuZZvkzfXuROLkhoPfoXghDKqcsgkNTrhNqsLxkiaGEdNRPEEZfxZjrMeJIjCLRUrBNfAANfUNjJSQMvvWOtKqWrFiaIfHvHsAuCeiXUmbADOWIAmOmvINOxbakgHnGtGEBZLcgumyzxvoipYyzNSYeslmYHMkUkZXTAjcOrMHhhznGrdBOcxzhAGnAyOQedOMDLatsOAdoFgfgVOTLznlunmQFoAPWzcJbbiMeMXEJzURNHXZtJMYJDxpClxfjQdNGEozBrEgNkSJdiZhKjlPWHlLerlLGwPohCSdwUpyzTTxQIIbqUFyJwRkNeEfAtMlPYkrGIOqUuaTkyhuXJkmFFkQhqVvculhpZxFnkvcZcuXQcUfRyiERaLOKtbGbJADEAgKNIlEUOJTPfFDdLUVGfsIp", "CyJOAaMIuoiQwBtVRsPKTzluHoDXZMOFCksatQVRNwolgxRqRsfgwTuLTXoGGwvLuCirBVLvIgcNTENdzdCILhotWveYqylwwpcfbbBaFBEupGLmkIUkPPUzXzSRHmAvquJhxNOEsKMXyxXHwFeogvxAMkKSTFeiDaWndEUfQYHDlPTJEgzhgToAqdHIeEwkNuWaMkvpjzhMdxSbmugklvmSxsLgXZrRdOXFnYcnBdrhPrDccXgICQTZdoxpYVZltelRzDcjOjKoAytcVhdFCKVROBKjUhNAeByiDrExXIxfTBDpgEkcZmCTcoBhpwpqcGfbtHFXJlTnMtypPSrbHKqSUxSEDcpfzudRZyknAkjBcOniVgVRHXxLzWYUCmIUzvEmnRwtjOQRYRPmmpmooNQPKVOkZzOOuetSyVIyMoxcMRmrujnBexjmxDgrAipixzuDvgvnBvBdtSIEqEGAMjCYwpOGMXWZNqsjFtxkSuiDQOOxesRRVAjDTgCJVfWX", "CRnyLWcjaHAKSZIfxDycvpYOSInfvBDzsaUdyokJlUsQWkuNaLfbAAHyrrcgtREzepVpYvwOaTFfKKJhDvXshbwHuEUIvsqsCZGGFEHZtkRHCUycNOdFasMHAMYDKlJUIKSKHcskOnXrdHnIMklfKEnvGGUeddShyENNjWLbycAsQmqTFCzPUJFjttPfHNJnVZHEiRuZVtqwsmuleRqVusVhcidBqbcZOPppCaZkJnTEvWxcbHRVJxAvRituYDOQbWjrJVPXPcoaaQOHdBJgjthOWqEedRZztTgTnhbIuOhWoPzPINTSWxRMYyzoHFVBeMoAVclNIgQPTsZffPTgpVtfrkMNTPJBRpRNYIaeLLrRkkTJRGPwEdXeLoUzKeWFxuJhnfASuzglNoOJSdZJEIrcmstSbpLHoYqsjtMiXnwPOHmBMxbcwIpEbVsgQYDLTKuFBsOAJxmprjSKzHIfmLZqfnTSMdijQfVwNYDhugnbbFjsisYLqKRejlhWyMFc", "PwYnLFsfYlpVPyIKjuaLAezAozzKTXIpxrhnODEbIzJkVlmlbzevVgbeOBtnXXocvLiLVzwHMXXCtEIpjhwsdTpgJJWWtHmkdKMklXewTwHsEVrWgvlmdmjiVXCcKKJgYgXdQeGGYgiqTwPaSciCudBZwKVYYyIcygDkcKrjACBwhKIFdKsNsVWHFlMFIBsNcsWIUnvoMkUnSexOripqgGutlahkwpprzciltyvtHOGaiJXUNIPPRsNPPOxhujQKTbxEVCyqBSFNwZTJnLZgNhMXzpHsqUHJmTGtQBBLTarWGmTAXaPMuNrLLuQYMOlWewAgzSTBeDkIOAxQKFkAHGsspBKvHdquvMnXRDkJbaauyzSRetxbMNTgtbXBqXuuGRVbXBQaoAYBtuXkdyqitvOGUdmSCzktQqafHClgXIRGQwBSuBDIltncebQFwueoBUmytijRSgApVKLAmGtRqZwNVvTJZEzHAGbIlmidgXWipHURcmhPJsnuFbKQCioX", "jUlakkjLpiGKXKAJzbZtSaukNdBDAEUTzKTJWQmuklCKvwsHmhILlaJhkxqtnoxPThjdojwvACDCTTFObiRIHnXBageKcVeiNwGNTrxbbSlgAYVeHSQdmEkhdZwfyoRZTGZnHiYvNRQnmcFvKYcDMjcfAzUBxDcWQbsMwcxPUjqEbWlFUTaWeoioZeBynrOOnHvwVPbRnhRlBCcFQIwzHGnUmxIuNzMkEpjIbJfnUpDgeLfWJDxpcMYCfBqbbeIhJaQTcUEqMhzpulzmjwPIHSXOkGhcECCBCWdCqBTcsBmQrTJvOIYuaJeEijdojYIKuckcmzTapfplcWQlgZTgyckogqiAYoqOpgWlkFtZTiYAftysTKsFvFKunGgQzwPebZWVLNAhagSzFxvLAleVwHmmzmNVZowwPSGwVRXgVwXMhTqxvOueixaZeKkAgXgRuKoVSGHbfdgwWzgfrfWmmLtWUHejtUcLkXyDzAeWSvvLssyjOTnQeaRNVtyOJfxx", "XDUiVKhBuLDJlHraRBIIlQCnmOkHtDxaOrOvsjdYKBaXEVYfvFglirgNMuDZHCkjOYGebRrQHSlDvmTfCJYoDmxqpYbiDqneYxjQcERyjWfsiqUFyKIiBtfgNgnJkmYHmMuSAzLSVaZzyutlJZUJNUXEBOeScovzTiDiorbWVtQRZUjYQydqCCKiAfMnZZMjBSivqdBaTHrsTCdYaywfrHjojzbnhNHiPuYEKDfVsJaUcrOtRIbDKRZIHMYUxSOTJRTvRJRqvRdmczWjYQNJVhiePNhHKysgbUJFOnEAyOjggOKyEMlgHVkhZmSxpQZMwFDPAkJMBzizaiOYOcOZLovzessepDbfesxYLqzlPaZPBQaAFWuZGRWKnGIoYnzIzfeYjrmNeyiHTFaAeYEEihGlonAzzvGiounsIAYqPvgaAKfzPhjcpPoYbMNweNLklZOKMkbvJivWMegCNvdyijAeerMTQTYXTOEHMxXTiIJRVKHcnhZviknSBTtjldsW", "ZCbriVJzINMJUWcaHjkUvneHpFZhXeZLzLsNDDPmBMJHPalCyLIbezKEVdOXVPTcugBtIGJIcHBtRspuFNigfMktIvTvBVdwqKkEGZpIMuyQCQqDxxPjBiOiPwFyUHeaPpGYfdOtUqTvRBeNHwGAszeZcoCOjTqgFNyjCkUMsOShkCdJOBYzntDdnIlyIOcTRsdILslGOOKDKpErGSozUxIBzjJCuxHgllkjZroJCFSCCmcGxxJZNVFlDhuIzVSnfQyixoalfVqOpoLJzHIRbJTlBBIUhUjjNGDUwpyRplbUTNkREDRSzmJcXPKzKuwmiqWeAgZOevToqnifAEcgIxjSiqOseaYfdlbSpveqGeXdfFVAzcGLyYWQLewSFdefakWYEQQuDLTZmtNvOfjbBirGYxHPEWCrjkxNmGZCJrdRVswfYFwxhfxiNoEHSbUVDYCAeVRKqDDbwxCnoKTCVHlvSBGkFRlysyXLLpIAoMOErIdwuTQGeBKlDPPDVEwU", "nmNTWhPpkIePVBzKfVWTJNfNWEGmUlnKyoaodwsZgklxcSjtvbwfaVWnGFEFxbJEHbkKGQIVpLMCuvlBhaHlPXLUEyaOqZnClbtHiVGZSOGCuQlRypXeiIlOmUTmzEpGMFhxvdyPuDwMcignqCTEJpdMFkycuZhOpSbeIKRjFElDkIKmerIrPpJZwCSabACmQzvXOJdvEjkARjtJdCAGZHWBSDFrBLMaRIYewQvzrOnEcopEsQkFhuBbAankXKTpNQrIgXkZvQCXwUknNokRNIvljdfTjwECoJnOKZXsJrHlCIQSEoCAhRirmvsImwjBAiFRLaIPLWZKdtwfrgHNuaIGTLhYlZvKISCPQSqJPKKecGyDpJgCDYxEiJUuVwJnvzBGFNJSFOMYHDjFHQbgDPUjzxtsKyRLGkWawMQNFzcNsLxvKTSPfWeezrhFtwcbQoFXXfpMeeaOAVSoRCtXcPQnDdutkElfMvjzolcCtEHsdUsDJxtVFRKyCzwrSmGU", "AdlzBxeMwMelVSxlzBZAsLpWWuxVsLMjDCcZjZhrdXlStiuOJkTZKedbAHDAcflIvrRyqsCuipXFyhpSAkBcDwKYfhEANBgDhcECJpvkAQoNBkcWaAnKzMpAAPrrghXwszsJIscMmypeyCLYUkMCOqBesvSfTmmyTVpjdqdXkOYESZrxIcpJJwrUjyPyEpCuUdXDWMsvIyktUmTGjocYeOpTXRJzHSodCrfyQJiVAjDqaixXHhnzOEyPeAYltjdfHgkOPbWCdKCPJkTprGIooHOYloIXxAEnjIxWkJtJnkyvTKeLaTgWOxPqotTLearscOubyyyqIEtmJagJmjoBeVWOJhuPIxtrIitHFugTxqrDDHpuYTRHdEJwpKernnzsZytueqcIBQRVtzGIPAVCAfKvrzWPXOfMWODGhSwgrvNcxNTiZHbGyflGnAQnLOZrDCtWPHwiXJzSHHcbJEMvKeykdbxsjtmFMjpqwQpgeWvRjsWIqdLaIFzbkrqUglmA", "YxxUuotDovDIwkmPZxDTAWiSQPqFisMAPKAtQfxEsslkbMkTBmqulMMpSyfAokboxSKMzDwqcRwMktDLjlhOTiVFRiyiApOXnYYpADWBMismEnHeAdWbicOpAXNctmKbGhueuKxTtBQTxWanISDRAvovlbARornpZUyTFlmqyZpYLUlsFXHeDkNYEJmVkvnIaaJBxLIXHzOucDubYgceGQtIeWNqRnSckrAnVmvyiapNsnQWEOGqdEWpLLyZIJKSEVaQDMkJnckGFsKVXSueRWDrmjwoNWyJuRYrXtRhuGfaQTAOlWnLgXUXlHxhIiUREZLPFZeFdiRPdjMZkfQuCiNcgSPoNaroFWULTCaUVDSDurJCdZJzDVrUGqEjpQsMrBFSAUlmfmpEIfycptqNnNeZoKTIjNIhhnoVnlUjpjnwWQfCyovrWsseRryeRdsXlYRnNqngUTeoezWXygYvEbmQpBdNCdesCBzMktkCyezLuOOULgUvndWvjhPXXuqB", "sdKiNQqTNAMhhBdmFRomTzHVcgthQQqZVOkmJBCCiaXnSnSfaklTWpfwgXUyirwfYpVFlHUTvqAbZdxVOAZfPFhBflGwGQFZPyGonncIcASKkNIsLQKyqkMRbUJUbiNXpCfpexnTJpYGGSwalNYUgIcexTuJQlPTDqvZkyDyfofWZbLMwgnqdmuBGEgKqBNdyvRjjHeGhWvIwkhAEsuuYQdEjlrMeovXwQTFiEiculqZMxEJfGawWBMmGCpULmLAzvvOsIOOAqHnqycwBLZjVrpCiOiqPJuahyPnbVFuBGfybqWOuAOOPSxxDCkfUaqWWgAsDEGJVLNzhxXjuIUXmCHrklkVEJNwMENhMeZdBkRWlgLclcgETmZLOekQPBNtaKBuMuLDNFzOOamMxNQqPKmXHHWouyvEdWmsuVrHnOrXbCgodKmcNjcdiyrxpRMbtSKIuEfNXYUhGqhsfuKCrmvgqrosBCsFwYYWCWRaWXTEHxXXABpNAmZBMknDDaHw", "EVPQXpcKdJCAbnRGBpbHxIbamZmbztXTdFnyfhwIPTSWHWTCZUJhtRJgLYtJrlWgRjceATXMMFFSyFdmiGaNUgKmpyeCLivBnuxfHLFXsrsHoedNfxKQryZDImvYqFYIBgynBTUdPiQymNqPKQcKQFqPAVarAiKYtRXzHcCDBAIVNgsmyixkovbxQKPpectzDGhEiBGrsNTFYZipdWjVDBzAJaQnmdoPdpkXKSvKnmUIDsSRUzwywrCYkVJSwmvhSUDOkwimcyNnxqmlCqDiGxJfvVgKywUPaxHimECSlSRmIrGmbGNKlfuDbnpKkfqsiYDDAdENEjzPhvqtXFjwjkfHiQdPZRwyfYLFpLvyhjqvJrwDHrrnrmDRwTOUfJjHWAjQbbxMeshyJMaSqOrnJOHbmVJOPsbiUeMJnQPkVfIurHDwGXBAiovNYpRHSjxPorkIeTgtrwcwMVyUjLSXAhBhURDwkIYJTCtyUYfxBoxpbMcSfxwlpNhLrGgJXofY", "huzEqzFtjxkiAWjKswiFLSfaqhRkaWkUHhsjMOKuVPIrgUxnrqmkkaUizBZxJyyHujSyScOuQFvMGqglXFOdOsRKcHqCVaZueObMjyJWjqKfEkruEjRXegmthkKqNeUqLEKIahQYhAUAqOIYrtTRcRueEqGDeIqDAGZDySeTWnHzsbnTZoEWmhYxaFtpZqEKltPgEzbjvFmJasmnoUjjGwNgexNgJDTsHMeeuWmaeEukGauUFDfIRXVmudIGoaasinQHajpommfIsOAjFcIDAcQPXYaJAdzUGGLcOTpEiIwXgbQgbjOStMsJtAWtNuPqenoNSkngGTSDtTTBVZDutCdqJkMfURNMjtCYAnQerhARXGqhQIHbGVfeNXagQmekoPHuwvFlHcMTtTOQLQWajebZqHMmjLyiheALSNzgIKOlgjBaUREOjLVwmCVxaTBcpuwtVNozDMrfiPxQapuoZgiFWAUxswYLosmAIoLCvKaEQVBKJUwpbntlXgByQowp", "JgHjagdouHkDYToqAhIqeaFtGnXMZKCTZedsrDFygQeyqJsBIuJadMwbuyymKKrmALbTzoAwGKtpYgoAEIYOQZkEYOWPyfyRJxLzibOoMtdFORwCzJAmPdTCtuiPogeNPYZhlNksOvMrzyyymIrXsoSyDxiscFDEOhwyvXSZkhLrVpnCaJCmcVDEXZlrsYoVXBjsMbptakybxORhGRjTuARBAuntsgdiszQBfAcfOFtAiyQuJQmdxkNloKwMrKYiiDXMSqbPpTysaLaWTuCbpUMQfrcqfLyoNyrfSVOBiTKxcqlGoHJJVfpjSCUbgNcPHkCWWpBDDVGksvKrCYgchXdpPkTpkuCpRaqVsaRxUNwZIpOfeUegTrQGQXvtQGDAUZRvmkReuIHObKsLrdfihssSzIerGaXXgvdmSMkfWgXOvIRfaVQAWElkzktUPLwiuEnkUcZImeiTLgnSFlJarYiDCQXdpMicSfHUjStEHiTORhdERZCugvAsBAEazayt", "yMIdOAObuNixJloONewBKQnwCYCPotgkecssOCaFKmrIfARYZdgWOqSziOSwenZEswnwQnBGSxjuHcGWnaJuQuvYSdxQgcrODqdSEXzJLzlSnyHTrYZrOJFDwLiuhlbPcbjmcRcWOOsyJuIBZcthTrIhBoVwxoBfzAyEGGDGkfgLRSrGZPSdbQZkpePjylYKnrHLgXzLmYgzkWwcyyqBYlsTxhdKKwOhlSjATFnpigDGmZzcXCbhFQdpNrTfEprPRZYJGkbVCASGYJHDztLzVGNqKCBtUNGdQyUzUMaAiPBWdZoKrmAshYvZBSudhMgunyLIfyvinOkinUWLlqvkxqctxUQoNdnKhgyFJpVutWMgusHhYnNSlTIVlIbanxeZHdiheyZfKHRWySfYIXOLBLwpdZLBYegDVrACoKavOlxXjkYwLzbVdBTgfrBgqzGbbSXpeLGVMCufLEPyOSNcSZIuPkmyIQfKxQrfQOFUsPlfXOsXoQDaPZbelHBHqesC", "vLsLdUaogsMmweihwvrXDyFHLYMEmPtHVvmvUBYHkBEuUljUvDMsLYCaEVJmsHXYsKoRWlXAJCwxeUQOqlvblrVDuDultHdbfwPZeORZddpyLgAcYZnFTfnUsHWEenzvAnQCADEScMntoUFvcEAwfOvpcJjjDxljNAAlcfOVRFdyrtwFwfhrnBPyMreYInfRoKrJrOwfndpaEEnioDapAMqVPDdjfWXDJKdCUQkcJZvnJtxXMfNvruaeaJtgJdBtRMikxgVJEGILtLROOJNnIBYocUWaVkIdoNFQOgHQsUsUwYpVrtkUNtyBowAEPwXLLUIMismADfvHdebxXjMUItFFCfjLKwBagmfzFTccgzedSvaqKgNRecoZzLwRhqllwLApbsoDcjuhMqGYSSfsiUnvJrJzkTvHdHPNqfZcACFZpwSgQKFvoCJJFiHqbSUTHXhLBFrjkuSglFiQbbLTZgFyLicsGieysyZdelyTHjVvoWpHlYRHwoRbrSNjCzhm", "MwRTFXmmUsZUMGFrUFRTUsvsbNbGTGsIknvcmUQlPUDNQOctyvbzMuiFwbMaETlSDBolUhJubpzSvDUstyCghkhzFBTCCWifaKQQbEwCmQuPzhNAFPBqVkJudonDkHVhcWTXhgQYwjaxYHZGnABUNchPBcZjhKtBJXzOrewetwJAImEWXnctQpKpksTkoVvRhFajKeAbdbyRgQjjyJGWKsygmCbiIkvlzxRiqIVXmhrRphJlXhphfOxldiPRCeZQXAGqbTXEfMWuLaFIzfwOgremTDbWMtpDSwnMRDummTmZnyOhcqVSjNJZWVOHKGOqFWOLhPblNFZiJuopMcEokpKMbscvLhWowDCYbXPkBcMHJdicjupXxzOIUZIvxiuFmdwvFfGrQmsrjuOmVkngbtDRKRNEZRFgIMBvuuGaxBFcboeNWtKoxXIDrsAaLnHsBbkDAKCwrjxaoxuuALDrdwSjduuJLSLXNHsfIBrMzRPqNWGZunxHOwdNEoUtbJen", "vosUIfZfIhVUVpZRZSbEUxVkhrNdujahULbWInwqRQCceoSEYVNmlQAwKpltWvRiwlLImtJULChHHIWsCVjcpfhUYzfHsNzGsDpZpiCDLSOesRSUuPQHxCdvTfNVihfvfppTXAgXNUnhBCUbogOmNUOQFXwTqUsKCXJzJJINUaElRJxuNWwEGDGNQjJmKKDVRokqgbKSzxQEjYtZVlOBKwLnBzcrpRVaBixyESMxuCPwUiCWkEJoTXGIQwUHswXtYqDERyMxAudLDxRzfFpTjRtwxfqGhdQTSPkDXgnXIcFZTqPfVwyDgTSgszHMWCRPTWuLjbxjEihGGsLRMviYLAZvOnKhyyxQlCgWGaYTjXSlAkCgvcSxWaVCSavqtyNksEeWXIzhZrBXjxGERDooOtXFFBnvZNJrCmkCmwowHwfdbWrWVHigpcmhCnLtPiProQLgJufAJPIJMntzANBSMHVkibVInKrEWFOiQntZJwUoWnMfDDNXqwXQUGIcPxtH", "GknwyasBNNEFCxQsWJFJYjiZhuTtzOJTmfzhoKPnEzbnlOcKMNgvmLbyyGMMZzrqsHsdvqJVvskWtFGyHTkCLZpfNwpQRargTnMWmnruhBZtAiYFzBsEZfwayKKSiMkBoDlGmNCdBMJrDCmRniARoraWOhAGqqmWqumCmThIWMCVamZnKFYSRFwVusAynnnmwxPbpBxfUJrwErUBvOuQoYIoBNkZrGRwyNpNBmjcGPaFeZzNhIpShcbzHiGnLpjdcntyuWymIgphSiuBTVMqIAofrZlAdboGdzsDeVlYymAsEvxFEqNviSozgMaXuSaJpmfVqjhELycJoOSsZlbdRXMDvhjkBNrhHYrsGdpvAjugeYOSfuzNgKGAtFaqrPONbwnuWrZOWUpNTbhuppPTTsBDIzFsjeNzdlZsVAytlNWxiTCIXNFHuxuDGYULLZvGMeFIWMpmPoCUOVqLOHoCDHhFXZbAocbJRlZdRpbFvBfJVAtiVEhVavbPjgbYdHQW", "DpTUPNVSuKqMaxvwXfFZXOxiWONWSAHpqAiJwYCsUyrodJBnJdinfXBgralASQOWhoEmhzpDXhyfObTMgUroNhuLrgPiAUGlBaUhsSKQVltBvaICjtuusljzcWgYdLkLgtNCsqXIDlkFZTcgQfEtvzeAagYnEOVxxINJoEuVVeJIfLoygdYhBFRzeKfTIltFEmwqVJXYujgaTnJgEpAAaucvgxIIFxOgdCLeoIDUhtGdklWLAgOcHHFARyJhqkeqWphFINrxlYGVyztKIKMVaIpIpMmmXeUmoUHlycWmSRMxyRrrvoCbxBHceOZvcpgXJPfmYLrLgTSKsvlOVabjAsvTJZfStrRLyotpsCgWLbQnODnzgQANVHCZKHaFVhSuAaAAcvyHtNaDqxvqDkoFVemQwHSAeypgPMFrrLTORadjsZviUJUYXjUAmtgcgXvhgDMsAKRpQkiIfgiDukWTFOUfHNOfuuTlhxEnNPHpxcGMmBiXOshzJMAupxrjxfgm"],"c_map_bigint":{"c_map_bigint_1":-3728089910355205562, "c_map_bigint_2":6747294911695231913, "c_map_bigint_3":7349719196377377674, "c_map_bigint_4":7534773393342931498, "c_map_bigint_5":-2562604517473732170, "c_map_bigint_6":-1914598557066500371, "c_map_bigint_7":-1846717603457596794, "c_map_bigint_8":8054352091439527578, "c_map_bigint_9":-3643267078828641970, "c_map_bigint_10":6848051159823254009},"c_map_varchar":{"c_map_varchar_1":"wzKRDTfhaaxyHwOtTrhPfCVKHvgOyDJmOPAnAPFtfCiWsZIxcAEzzeoLDHepZEqcFbaIhbJgqZoiSGsLyzfHwcsaWNSuVUYNSPucePLZZUbkUHOmXrWnLJTLInqeNZFiFEYGPLYsRhmTeZyJvqFTXMcWxXZhrGCMshfejJBryXvlMAgfONphVVhLQqDZsDcVTClAHbPiqSbfFlhhBbsbxwDxOelghLOlXasfABNGXRaGkBakAgSseRioTIoMYOeJ", "c_map_varchar_2":"ZJXKaHOJcdaQVUAHiOjFsQMXNNTXYWJlQqOgaIKTFIwlnQVfaDUHJGBIzNvEGbpNCXwelOlciHcyIHkUwcXauZqdXAFcbnVMddIKcDValwOnwkgGyBtyGybBEwoEmmqqBTvZSbNsrZfjDEnqZjQRGxzhaRSWlUaAQgPVUwrztofkcVeQawEsGCucrkJEbMimuMZIKMcsSHPhWAIHlmYrNxBYJkIilUWBGOmfrGeNOoAcTJHKbWhuezMTSqsowEdC", "c_map_varchar_3":"nAzfmISyzYsXbIyoxRuEXVMtnEtoFvQfBkdqwIyVCyCBYbQhxYMXgBuPuWTLjlRWmeOqchwovrwLvPCKhDyTCJBLmysGGRhCvFuukbpLInqAzyBpsNVLsjiukbUNYmFHgqoGDkhRKtRTjHgtKrjriHcmMvHgGdYtyGArMLgMYxmmHdRjrXhsywzvPgmqyRZGOMZLXlMStFPCPbFuQPRekxKGCMCjzfMPtwGBoHVRRUejLlNNBhNQlPHtFmHUvmpN", "c_map_varchar_4":"CDCodGmMHaQlrZLbuGOFAVwctGOJeeyZcffrIibCoValDRRydEfamiYAOwHGghUVbnbULhHnsCNvMuYxgOyxEkmJDKlHIWNemYkAULuyrytuvixcGHqXgjofusrVANokCchfPnsxZxqSBrHDDVezYkVqRDYhoXApUfDuhDFrPVpLxZOKbHJdrjMwdwrwBGxmJGbnUUZJaFVjVEXGbyaGlKZORxhNlddXllQLLQUpRyNEbimzdbxwFNemefEMBofU", "c_map_varchar_5":"MyTVswjDzMFOmvkvLJXYBcccQjVbylZLUbiZJGKXYxuZyHPWHKSbkDEaKSXStQFkOvNTJbCtwcBHqoRqmdOjCqUxRBmIMqCmyejEdvCkbVoclpqNVbbiziofDLnAnmVZuGAUCbsRyABroyIyXhXUJppFdXGkLFFtOYUpyspLrmWKkuzjeXqAwNhjVFlQyUElMWkzBUNEJnPLfKKAMKLfhJkIoxqBvxPDXQUlGNiwvvoVygSmmUxWLmctPWHhpazD", "c_map_varchar_6":"DyGeVeJFIFVkHjPYULGnPaRmCeuzRmtNfHfvHJfPThLPpUsPoQoIhznnpRJKRZArHvHHcjSmzPbHXrNvTxWOuuWAiNbMGvZfETeVnjmozMjeuluAdVsnyvcShIOPYRlwGePqOGiNjzotIzqVkJtJZbLvdSzANfZentKChuEQrqjDUQKwCGQlXkFRgYTnRXiizjwzfHdZEHpXhxBxFOPjCzflWecWCjvpztmxHWyxZEsrswaNCbnHAsmBenBxAYMl", "c_map_varchar_7":"pKturcTAFrNDvBUfYAnAcffBUkezYBcNQLrFCXtDUbJfdMYTYuropXFNfzqmPpCnSlWznbOmbtFZmTWrcgEhFmbAtsXkcgaHAdgbzNdFhjfZJXBAXOPuKLkaqtoktSinQZmWUVuenNLufprlDZbkjKihmYShxqaCaKGAlnHlHyNNsVbxdLRbnekJUvOfHAQUpdyrKgUiZhyOGhSCvFtHqJRBJVgvQxphnTXWGMIcdheDPwBwjxxSvMGfOHQTvPlu", "c_map_varchar_8":"lNfYlOBOYhGWExMydqoBiKCWmBKfuNJvZSIUBnOwtVaFpIITnIohwBAGkzElEQthtEpmDFyLIIlRDePXswKQENsupVQcjipkFkIDMXxmgQHHjYeJKgeedDaIoJaeuNeVjiAgkAEpglYmqOeMHxHMPLeOfMTHIgghoDTKWtagggOeOqTcnyUiMLibodcBTVtfBuqjFaTvjtsXSoWbzzCdpGeMxbAeOHCWzyCCiwQJHxLkjNZSRXkjAHHCZdbempaE", "c_map_varchar_9":"ZjAHxAXnRTNtTtKZgxgosmxYuHntjidDTXDTkwkcWSlEIANnqApfwLgDIyzqKJYgcGSvrQuArrmZIdkIGXBuHrYUvqdLyPLjfECNKkcBIHlQcZkrZvrqEzMVRzGpLBTcJoQrZTRiULcHaxjYYKUyoPEyFWaGukucixLvPIBMizweCYSgqZgkcsuxUSlHxkuULcSaWEastbjSnywTKmFGWybwukCMZUkaJEDfyttLbMLEamyFpCLrodzvCeulGgfV", "c_map_varchar_10":"zIaekJcjkYMcpszkaAtfIrMJSmznAEYBqhAqsadjwbeqXHPwbbMGqlOsBEfQQdiyxozLxywCKoWsHBhTHZgMieAywpCfUCTlkABzfoXVobWusTIAWzGAinuoUsjhtpWomkniyUzwfuzHwbzpoNrafanzGWJvLwwlZfvbEHNznAaosCgglNKscxMPqpCUXdXzCKGVvCNHfJvqrNpcMFYjewsrtvMGuUfAXCIEueiPcFBwrylrUXgMDmLtsvgmIdKS"},"c_map_date":{"c_map_date_1":"2007-01-26", "c_map_date_2":"2014-05-05", "c_map_date_3":"2017-05-08", "c_map_date_4":"2005-02-25", "c_map_date_5":"2018-06-27", "c_map_date_6":"2005-05-08", "c_map_date_7":"2004-11-02", "c_map_date_8":"2010-05-23", "c_map_date_9":"2001-02-24", "c_map_date_10":"2018-12-07"},"c_map_ipv4":{"c_map_ipv4_1":"230.135.133.153", "c_map_ipv4_2":"65.123.209.33", "c_map_ipv4_3":"137.169.123.69", "c_map_ipv4_4":"193.141.40.119", "c_map_ipv4_5":"109.103.106.194", "c_map_ipv4_6":"149.245.10.169", "c_map_ipv4_7":"174.159.56.74", "c_map_ipv4_8":"92.104.224.15", "c_map_ipv4_9":"143.46.28.141", "c_map_ipv4_10":"214.156.173.205"},"c_tinyint":-99,"c_array_decimal":[99.1300, 8.0056, 90.1853, 95.1728, 89.0645, 24.1683, 67.1871, 41.1927, 5.0126, 67.1380, 19.0372, 80.1474, 14.1038, 57.0038, 46.0564, 36.0459, 16.0807, 55.0575, 18.1450, 72.1575, 78.1792, 31.1265, 100.1050, 59.0556, 42.0799],"c_array_char":["trQlLEwVzG", "uhgtnvpfpU", "WCJTssVYOB", "xJJjNlcrOl", "bZBKGmWHdo", "bWOturiaPx", "opXkQuXpnE", "dygQIgWVJl", "UDhKFpTGgN", "QiJVzwlFgE", "JMkxsHzaHO", "YtqviSzcWl", "oeLGNVZnaD", "NjtqIreDjO", "qPTNbABDHU", "SdUItgRzNs", "iyjQkDmFkY", "vsSttupwDQ", "SJgjqufMZx", "XIxszUIdag", "fGTRMihtGX", "IuSrPzniRA", "JsSCQmUKAA", "poVaROwoaZ", "ArwciPdlHm"],"c_array_ipv4":["ylzaDUFAEY", "cBmcwzvqvs", "pgYmtmkhAw", "punCtVXUQF", "AvaisdkebJ", "ZNzHYyhPGv", "JltuHfmsbd", "BiHxhJstZe", "XIczqhHEro", "wIuGXLzLss", "IeDrewVlTG", "cRuMPDXeNV", "ogEkDerYpN", "JyNqUIrSjH", "QGClWIFtUB", "LeuRGBvVEW", "SDmpsDzstR", "pfqWhdUWes", "blWENFClsS", "FsanrmJGxq", "wvfKisnyHH", "TQCHrzquWZ", "FPgdfAAsBn", "HIknKQdEjF", "tWBkGLvMPw"],"c_map_int":{"c_map_int_1":2037340864, "c_map_int_2":-1305781386, "c_map_int_3":1316685323, "c_map_int_4":-256934949, "c_map_int_5":1978367766, "c_map_int_6":1811888994, "c_map_int_7":612266549, "c_map_int_8":-1967180210, "c_map_int_9":-916363446, "c_map_int_10":687614248},"c_map_largeint":{"c_map_largeint_1":-7266198649018604202, "c_map_largeint_2":-6559831444600113566, "c_map_largeint_3":5155359375304041354, "c_map_largeint_4":1942688107663914899, "c_map_largeint_5":-4589753902770874963, "c_map_largeint_6":-5174484248275176734, "c_map_largeint_7":8298860356143691707, "c_map_largeint_8":-2475034491465922373, "c_map_largeint_9":3778623350443508686, "c_map_largeint_10":446040510726240858},"c_array_tinyint":[47, 29, 109, 103, 104, 67, 35, -106, 107, -11, 51, -6, 10, 86, 23, 21, -108, 79, -70, -48, -115, 113, 123, 67, -32],"c_array_int":[-142608805, 1500364609, 475590400, 769557570, 1592557755, 1515960604, 735613646, -1139640257, -121650418, -146749832, 519028957, -1669049489, 1863306144, 431459772, 1968043134, -2027270007, 255056239, -167102581, 311174551, -500410023, -690583124, 1487713908, 1219366054, -2058315161, 877111745],"c_array_float":[8.486535, 36.50942, 11.627613, 98.292854, 7.7508063, 32.8989, 53.659073, 9.069097, 45.111206, 19.74606, 5.962142, 59.946533, 4.2382097, 67.09358, 72.47642, 64.29622, 4.3369894, 73.7415, 66.96081, 58.482918, 41.65135, 40.39842, 52.491478, 2.99468, 7.9945693],"c_array_varchar":["BpeJdiindtYeQYYqsdTECYCvlstDGuqYQDjlduklcsdKAfiWmmbUlIaQavttGHORVkhtKLeiJSiDUkIreEhYGgHGQnbfuiuvVzlrzpSLevwKwEPGFreuboFsJAzcGyEvTzfsyNUVrIdoxpkPowKVYDDmOMGACvdgLoVOjInSplizzZIbvYQYUrjiGglmIMdWmkGjvDGLAPVrByKCMHtmaZYvzdyypOWxoJJKJwyzAyFaiUxZUIQjGpbUZpohzkCs", "jEyHbaSzkCarpZQEforumShLXfPCTLBumcSUlmUbXUPPwFmEXPsXUGKYoTIGRdUsJoThmRNrZwsaYlGVgeYNmxnCgRSKKdNlhQDGbPEKASkJigrKrZIdMznovrTXRUGaEkpxeKwFFmtQKQnENbeoekRDQPMTEDbsWsjLgWhVclPmrKAwjAiNdcnQQcUVRRCsUmtuZPgVEjHoAMMNDfmDxVCWOxMbdChjncugIOpoLkqakqgNXwZOlOWxVsyGZHXL", "gZTWdWMsHpUOHLLeVXtRTBARlnyspQczyVelXrTMINgmLgWZXWhfHavkMzwInFrzfCopxcFTBZPOMnoRXfVSIlbsqyhwstwQBQjwzxjqEGurHJwhIzmOsiOxkbKpRtcyBwoxhlrsuBkuSLHxhZBDapGNsuCxEzOjlswTFSYNPjqBTpmkbxUjWgBKmsjMcryrlziRzTjaYJJwVTwhfeHklOaQDLpJXoUxMMPcudJwENTPVkttdPZLXZroivPUVnVr", "FXTxaKFDPQWPGOVsqwIfEBHpQdAubcSourRFMtrXwWudRAhOZQfJzfHZjapmCHxCWRxpIMFRxWzlneZayuFZFDMiRhSkSxsHXfAVgqorfOFyOspjDyxMBekjznKFhNwfwzhLUgvQJkCrtjUkMeFHflHEqEQbQNmfuuVPJYeaAxJpJyNnadmkyVPlKisawJKdTEFeckVpcHQPrhiRsofwdkDVAcJkFZEUuVJzErIxdBclNUbzcazuLWHtWuqbmQon", "SSapAIOJbEBfZRXhhiDZvovrGmLdiOysGMkuYcDPuTTQkfbonoBaDmhzHWDisvQgKMaaXlKOqHULptOHvPXAvBNwDudkPemWxFNYBfiDIvOtwTePivkfDXxcautNzABVngBifrELmAizzJAjCgxMEDONaZjsrakqwJNYjmuEdSyLNNKDUopTrEJBBAQYfkUaTtAFTClKTWltzmKFxNPkstOaSLFZjIrZaEedDhmGPSxNGZeROqRRmJMLluukHDSY", "aJqBvjcomjDwGCgExlRpvmwEqbaiUEZRJwydPyHLLjqBBEDJPNVUTIkfdyyAneZZRBcYSRPBXnPUJtdvUyGJiOxjBwyxdKzMfRmQFpHovNvFNspExLhfiNwayrbVMwLlqVUjvmIRUuWjneXEKlXlSCEQmLWbawMruGeNadsEMABtfPecLiqZFwWmISolUyqwexyGgIhGMkCdLUchcsYWcrKiZyPKtWwtvKbNlXulQgsqHrFSInnYBcrsDUYDdwxl", "OOxigNkCzePJeBikcdISQJEemciTKbnteOPXvHEpjNjVBJNdfohjSJockGunESkgWjtbilANiuizgnQCAvtqzbMwzxfqMbMggTareJPqWfDDGixcTbpaiQAHdVUDnnpoLCXVwsfXaUvcqEfzjFiNejejvbgjYXTUCfVTJdjSXcnhvHhjbisdLSmIivPbIkcXXhQVbfIczhHpHvQeZyqxLdFDelDKbXNAZvGfdxHoRHInrNZehNLdgcsUnYKeULDC", "HpgHLiSGIWnfUKCtGqbUUuSbvVKoTvXtCCuexmVJWRPFkJZLuiVZhFAJJMHNPBTxjLjWUorikHWXxJiPRXwoOLJWPmYUovLqmUEeHBWMbLowNYtotiBOLTGPEkpOCTWxOYlEGMGkuzxodXrnsQtmLuppJTjZJxnjIqpSAFJhiDqQLlLrtChygpTHxaUGVKgPhOYXQGEIadmClFrebNItrdoLZVfdSwQdHxrAMefRmJGaPqNMdAexWuRdgmpHkpjS", "XsIQiuYZgbCdsHKRstYiYwwRDqClstxOAZaXCYuiNhlibbBJiftsbKfAvDWWfpmSFCWlSdyLOERnvALUGIbdQEzVpcXpMVjTIicgiKxnyCwHGjcTEDkkkRinWtwppozuIdaMUPnBmHPoPpPJSOtGfJnegcMBelAiaPqWvjCYmSwcuXQftBUDebRpyejeGFUXoDHdTIiYSgpBWsKjrpHdLokmVLrqzuoQmOKoYnXcanKcTOZpKZHiujbYJqXAMGhn", "OKrLbsMskMWCHIQybEorSbBWbLYPnRfFuQcllsuZiSRYVylLkFPwgnptxCHfgrGglkSjbEAQsPmlWvnScfSmYSkkqpcYDyWZwWaXXgGGDQFgBaWuTriwTvfUgEGYqOSRbEClFILaScahyKerJhIsapUovTiKgyLezZhGEzGHIzJKRbBIIxlWRONFXUOJdjOxKOCwHqhkXPLKwDvdtuIJMOozahBXcKEyZSSCuoSJkHQaXImbHgpgLrDYSVsfHbDg", "UQublSqQDDLAKWFdcyTeMlkGMrMSoCqJPnfPpmtQpPimqLcloJBQLTzwLAHTPoThANrPpHlYbOtKCdhrQukkLVAEBmBNxqttRRuRBjmanUPzTihFNeRumoCErSBgeCMUgKuQNNxCREIHIcFvbtsQQTatWOSgMATuoaQDikoGEjONoXoukseTXPJoMWyrFsYywMoJkgmzofxmzukYmbrmJOaHobBXRuTqFjAdpNMAvFiEaArtdETBrxBQmSuMdfmc", "NkpYxjVzRzLBsgTSACwiDGppPAvARfPcMIkfXzHMoXVLYVZeguoamVoxXShAiujPcOVTTogkGnwmtIpKUwgNyXlGZGewUljmpftmkaeHQZnywfxfVadJDYHSSSTsUVruUCAApjwMDDTpjkrMAlTRARYtnSAVUdrEgajTsVQjhLMLTRXFCZcKibUUMABLDENUzlPqIaiIMBBktndRGIezRFALMYzRwcepVhuuEWNqoyIyIlyPnpKSetaXVVAjfnDC", "cfTibKlFiALUbOetVsJbpCLnRrWWhFEzrsdmjAQizXWeTbyuvgjFtJXsRxQtTXiBEnXDbQdJdkVexguegvoKDqlJMJVprslYmgsdKPEqicYhJjjczUgVyWyPagCdLUVCpmyOZOacmmJlciWdXEcYeWKfKaPBcExymktMZeCXeNQvNLHTSohbYbVvuEuCExOmfKClOFZFXFQNUyamdNPMGXdndsoVzTHbqFCkgJOspRNZFuUVQfUfJKsmmUHaxPSK", "YtPumHKEacxCCkrGxbZIZsgHBqINBEsDJdhScgKcNfQxMrJsEkXGBApnCetfprBxHDKMuRLeYwfkFHqlwoXbpbTZzLLIWYWBNKqJIrzUErxhwseAddlttOzTgmHaWSPmFlnDOSjfptmHSfKTPklqXYwEiYLcBuCUNlySAsydFMBAVckMcVbCzgaLHsdyAyaubpTLgfukuapiLyxxWsFkvIsBaHrAQKqZwaTvChnaPSckVqIOpADrdwiVxjSxpLFi", "HMeMKfkkWpTQmzTvifbetucWMyhvuyybXXeYWQobSqiuBuJfYGwCDPdjHtwdxdYDzlTPJtxONgeKLUKWseOyvqkTrUigQqBeLZRWiGxjwnCyWqTnKsGwUrZvvpewtUtzKYmWlrqjCMqYfYFzIoiJRwmDGbGHHzNmxFarMkHGeNOSPTMzZBZZbwtSuOKAZbsxUxIxNCbTSEaBUFWTGmNQBJgwWhafbbNEkMYBvbWMpQpYbHnlKYxIBXnSxTFlsjRe", "UCtsPsSfGonCdUgULiYnHSJzoOfMBMqafDEVYTGDsXxdVtXydQVHNyYqREgjKpIRZVGnLowMjBnfNkVsRadyHNYxykQtUYWXcuBwNYQZtevpUiFlmgoVkxSfoQWAzLeOtIKWpDCdJjtDPPOTMCgbAgOtBMGqlZEasmbxeyARMIZYuRWbrzQULVAcviLyVrRARbhxQrRxMsvaclVymLNKEwXecQYApnaUJifKXzpWRKlyDynxTtbnkBeivUCXkkCF", "BwLVuqwlCRefElulfTXnbogQPxWgFdzIAsNnIYKkLwpGWykzVYOlDGgOmPYAqJPDgnbioaZwNuwzRRtuXQMtqBpqAcKPNLnfPSsmppOjtmRkuOHhHFvKKYKDHIhSksbdfYOMTkJeOClfFsVWBKxnJlwbeAnJlcAzxnAdAYTHwSldKAPKYkSaxfAHmCAStPHCFYoXRrFNteFJkvjyQpUuswlSKoxgaRyyKMBSBtmiLotVLgslUoFsFnvxJdgmnUVt", "qJGVlzDLWmIYEmbvWtoPvdZnpqhWnKQdYsKdytDIzXxDKHKnkfzzUiMdEPIMEVkIIurblRKbPtaQfKkpIMVlFBhyufEWJLfidMYmjBwGRfBLhcLZSpyLYcCMdekuiodmkUfEwQowhwZXjNsnNMTNBNmAtJgQViHOmJVvrBAiDMGjMGuAaEzhUprbWIxrrObabwCCqwDdyeLFruJLEXjYlkIhnpjungUZvmZogCJSnghVITglSwdLXIqBghVcigqt", "kfetnBdBdPRVAVipKKBOBMBQJvldrvqItyfYDLRGJsPlgFNtBbnFkaZDcciLXxOykfzlowReQxsGrBhogsBgUMswwbXJujhJJzrSAqgauoPlvuMwdFtxFoBMHMQkhGlGyxvcxjmjhSYsnSwCoVMlumoaKFwJnwQUypqATQfbvLXefFnNgVOWdcHjTmKQMCWLoOtWLZtlPmEDnHURnJBcAKmKPabtlkuVusAbrQBDFxHZUJLBeAAagTBIQVooMEMl", "gYnvQZFRfTcNaSwDcBwqhCuKiYDtvbKDMMMHsEHIJHtfuZcFytUgvSQoOWuvNlxxlshfTWJknhizKQiTKIoAyIgsqvkNybSonRPAFhXFSUFbSdZMQBXmZTBBTqTuvNYOGsrabEFIIlJgydnZXLoQEBhZnTPipXdSlqszXtdiMrUJMucDMylAYAVbGhihdDwAJLEDsQPeWBvfjLnMVxLWbJHeMDeKkUVAfXqhZITXTonWcGWhsLXxdAFcvhjbBDiw", "PyCJwDjPGeRzWqKvMvPJrLgHOIvSVXJvXcLjVpBherwUxEAGNVOcRejAziitKLpueAyJzOWADmsQbojALRmgcMZBFRYXOGenDFytrtSbFSiTaePUZdkuvRafPUBSPCgMVPzjLLmlmkuPiEEGlksXXdwRUUaRnejZhlUzASijZhXglbzIzNwbLUNNRSRCayCccDcteIJjkDARBVieFtAoVXzpThsqjNUKGgkyjPpBHjgecFekZrHbobRNvXgSdinj", "WyVGxotulJYkfDrCjfBRjTSkMNYYEVUAGhXuYNIWTNLyCXKAtAuJDvLrraEEGyEChZnsrCSHYzYumqProxwKzpbdzkaWLUBskiPyTxqooAjcQmzsUGgkAQMfTMjxZenNNoPnnzLxzTHgEgUHfsueLSbAwJAiAhFAholnBxVKnbrxKqfuXMsbQSVxfzmPvfQFlKiFfdfRoujwNedLlKkHXDZWIMBKcNSmKtNdlPvdifVSksAEIiFIqZejlnSiDGej", "mXLsHxHaNSKfDprgJVwMxJYHgKWaMWdEyOfMqYvnhkQQGghdWXphDNzFxwPlCkdEIgoKLnpxYGkNOldNGfzQKwxvwGXQCEIhEAfzsaWSymPPLeKKgShbvgiyhNicfAgRdIaulszfTRZrgFwEGxVVjSvBdyJSqgBCTeUuWxFyrmqJXdDjFhjxGnUOxRJqIJTsXGCJjIKSwsGVsIHbAxAJXVeZfHysgOwamXCSTkMgQtSDNHwfegAwWvzWUAeXxsWH", "RCZHBOKFMbDKEanljPJznArfmxREqPIbPWuDCYuSsJCXSuIqVJIwiwmBqSFhICEjvOGFNRyhZfiTAJlrWGcFnEHcRwFvORiiuUOWEnsvOOGIVNUHCxYlzzADyYZDJkIoFcssCDPBbIJxGwmoqrCcNYLvONVHtgdOcpVphUIMRdnGxVwFzlKbbPOlTCslYTxRgtOUZeIQciieEhpfXLgpHJnqtHzYrBQSSziugIjhbkgcRVRPnsJUlrhBDMDCaczf", "tSJegBrCPMJaHXAVJzrczlzhOzwfqyIeEzEVjjXbxPKuJZEtEnogwiQxfLNUtYOeVfJmxjvesYtGioFQJrjiGCkdXyeDGlVdgCrQeizdrmhZLKEcTkUgjdLGLcRIyizxwNXhdsgfNdrKmdzvopcJPIDLKOVNwaZGZtiSMeZOczmkenNDyhHhmnZytkTQgmIgBPGozIVbooKGSBDvzRBhiTjvFECPckwpuacgJhoKcvvdeYXTWgCPUlRwtvQsYLPh"],"c_array_ipv6":["iFGuvYLOZn", "ucnevJkUps", "blBDqQCoWV", "dYwIuJeqLC", "gWnolgPyDk", "qVGbdxzDKj", "PQWRhaXwje", "FoBdFuleDU", "xdsVMNFzcB", "QBwNDHbmyM", "caEjrlqFil", "eZZSsJnfWc", "VDOgXUwQgm", "EgeNVVAWyf", "AsfETecFqA", "zuxJXQBDea", "tEZAeaVRTA", "dXKArEUaHS", "DBMCWnPOJk", "mgLTmwbWSl", "cThzkWZTrw", "sAxdiGBbTO", "KQiVCYmpoF", "GeBNxAxFfF", "nRSeEdUseW"],"c_map_char":{"c_map_char_1":"LjafHsjzPV", "c_map_char_2":"AnmlMHKAYJ", "c_map_char_3":"wtfCgsRPvQ", "c_map_char_4":"clBsEKwHDH", "c_map_char_5":"sTDNlPeKOH", "c_map_char_6":"oMtHeXCMkV", "c_map_char_7":"VIDwAnvDxG", "c_map_char_8":"bywCfcgIER", "c_map_char_9":"rljngvcsxT", "c_map_char_10":"ckRgXWUSZM"},"c_string":"HqPZPeYEDcyUmZOkTFmZmzZTQFohGwbPfwrOYyqLcaEdRZLSpbwTGNPjMxVeLsEbclDtoQJFxMtwAheSgIrwyiQPAiMipLfurdGSdntwGixZOzJXNMrRDknZdrnCfoEwFTZNiIMUJAkPenWDXpfuwZoHqJKQGVMpMoieAEbYAsLzEIDXfnDJRTeKMDAwkxUqyonXYCwAmdzptxwEOPWkqfFwrOgIOcOypdrhnFEmwglbTygQHJjjHxqtYDwPFBrbUomypVELdhTnWarjAzwayQfotjgWIatFINhwdmxXicBSdPVvMmXQVUVAFdGmFOTIpzBvUvScVzJXPKlULRmCzZsZYnOHXcfpUuSLLqJYCqUmSdAMoTVblmFgogfFvkCnzyhCHcGZPxwSHzPNcCQFDKBCzeaLdGlIlHxpWCZPiFVuAjFmwCReICSzgvlxDOXtNcvMdBStLrRyHBnkHBOrOZoYqjDGwjfXoRnecYstgxjhkyEIemuoKFOVKoiwmbPv","c_date":"2016-11-21","c_array_smallint":[-14139, 21149, 10663, 1845, 21236, -8778, 22762, 19666, 17119, 9326, -27060, -3074, -3774, 8293, 16563, -8815, 696, 7803, 30547, -12469, 30605, -14707, 19202, 27528, 23881],"c_array_bigint":[-6652180399890260124, -2454653217345570478, 918580867331171803, -7398840933783924378, -5551763022613478472, -8313628607012478943, 451579698952082868, -7201166585920965293, 145674507092166947, -3890625276987872701, -1806462599046047909, 3234762539373596138, 4860212737725801710, 8543702947648445220, 8071939075106652571, 1515624325268213782, -4794709168970124735, -6916270643896105751, -1543610074403780269, -5326478567925379138, -1732892860845666449, 4032361095050061373, -5664009070892683091, 430309568872711210, -28681595807921076],"c_map_smallint":{"c_map_smallint_1":-17046, "c_map_smallint_2":20684, "c_map_smallint_3":27152, "c_map_smallint_4":-5752, "c_map_smallint_5":5577, "c_map_smallint_6":20246, "c_map_smallint_7":9798, "c_map_smallint_8":661, "c_map_smallint_9":8173, "c_map_smallint_10":8104},"c_map_ipv6":{"c_map_ipv6_1":"2898:d500:49e5:30ea:b04b:7ceb:3bbf:c774", "c_map_ipv6_2":"6b78:89a5:ea8c:2195:be44:370a:9db7:f0ba", "c_map_ipv6_3":"5063:1547:e723:3ba:92e:3816:5a65:f173", "c_map_ipv6_4":"9335:3aa4:3469:8fde:eb02:cd3a:4efd:b90f", "c_map_ipv6_5":"aef4:2dda:39f6:ce1:b386:e438:903c:3e03", "c_map_ipv6_6":"61e7:ff25:eefe:c2fb:14f6:a107:4484:f87c", "c_map_ipv6_7":"3262:1903:9a50:b5da:9ea7:e45e:aeaa:bcb5", "c_map_ipv6_8":"f427:9223:d477:9c33:71d0:aeb9:be1b:aa9", "c_map_ipv6_9":"5dde:4626:7484:f51e:4dd6:4af7:294b:2ce6", "c_map_ipv6_10":"a25a:dec0:fe0f:9630:28bb:b6f4:ef86:aaf3"},"c_array_boolean":[0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1],"c_array_datetime":["2019-01-14 04:06:28", "2001-03-08 00:52:02", "2017-11-28 12:02:36", "2002-04-08 21:01:24", "2016-01-16 06:30:05", "2009-01-28 17:30:37", "2012-02-22 19:39:49", "2000-06-11 10:57:02", "2000-06-03 16:01:12", "2003-11-19 18:12:04", "2011-11-26 00:32:32", "2007-09-04 04:49:41", "2000-07-14 02:26:47", "2016-04-02 19:44:27", "2005-04-28 06:58:35", "2001-04-14 15:10:59", "2008-10-10 08:27:23", "2008-10-13 04:55:24", "2019-04-15 07:14:01", "2016-08-13 17:27:02", "2017-02-15 23:37:32", "2005-08-09 02:33:59", "2017-05-18 07:34:45", "2015-09-20 22:15:32", "2015-06-13 11:28:38"],"c_map_tinyint":{"c_map_tinyint_1":96, "c_map_tinyint_2":86, "c_map_tinyint_3":-122, "c_map_tinyint_4":49, "c_map_tinyint_5":53, "c_map_tinyint_6":-105, "c_map_tinyint_7":-112, "c_map_tinyint_8":-87, "c_map_tinyint_9":-45, "c_map_tinyint_10":113},"c_map_float":{"c_map_float_1":98.47681, "c_map_float_2":72.67001, "c_map_float_3":82.55631, "c_map_float_4":35.088497, "c_map_float_5":74.484665, "c_map_float_6":99.58315, "c_map_float_7":34.21416, "c_map_float_8":34.349705, "c_map_float_9":77.34778, "c_map_float_10":22.72761},"c_map_datetime":{"c_map_datetime_1":"2004-12-16 15:39:59", "c_map_datetime_2":"2018-05-05 14:55:06", "c_map_datetime_3":"2000-11-08 09:35:46", "c_map_datetime_4":"2014-05-28 10:16:57", "c_map_datetime_5":"2001-08-20 15:20:31", "c_map_datetime_6":"2003-11-25 01:43:33", "c_map_datetime_7":"2017-08-07 23:44:31", "c_map_datetime_8":"2014-07-02 05:55:54", "c_map_datetime_9":"2013-03-18 11:05:14", "c_map_datetime_10":"2006-08-25 00:42:53"},"c_json":{"isin":"CYWUTN3W3Z54"} }','{ "c_varchar":"had","c_array_smallint":[32430, 3510, 24511, 10178, -6932, 16031, 13999, -25279, 1952, 26556, 4307, 26355, -16924, 10007, 2632, -25000, -29005, -18801, -16631, 2158, 15394, 13608, -17535, 15701, -23471],"c_array_ipv4":["KrhuGuAcxR", "TvVhfQrhXU", "mmEyJryBLf", "dTKuSZhAwb", "zOlGLajgRG", "HdfdxgucNc", "XoOOKpFqVL", "BSWBRKuGel", "QRviOozyda", "kADXJBQyYX", "ComxYCqQsM", "PLQRGyUfDN", "teRbtYASQm", "rwUVxwlLpG", "iJUiXhGeHZ", "vtZVgTXYQy", "xZLxzlIAyq", "inLzBsolxc", "UmGigpJbhE", "ThlWRrBWtS", "mUFNHfBWFa", "GxiPZnhGjL", "zomaKLeMWA", "bfulysMuMP", "GOSMcDZAKL"],"c_map_char":{"c_map_char_1":"cmrkvNZDJn", "c_map_char_2":"nRdQblCTGf", "c_map_char_3":"qSNpUMQcKy", "c_map_char_4":"REFEAfyUaT", "c_map_char_5":"NolVXjLGbV", "c_map_char_6":"TIxeLilXNM", "c_map_char_7":"xUGJXyqcaH", "c_map_char_8":"QrdsNmIlqE", "c_map_char_9":"NkKQIdWYHN", "c_map_char_10":"hiGsEQtKEb"},"c_map_string":{"c_map_string_1":"pbvGEcboSaeZXqAsnmUViFZosRyaWaNvCMicExFSAdsJfSiHyRdJBFGqlvmtqjvQIziNpVCvodpSBNaNddZjyLdVTLqQVOkqnDDCBcwqMHTQqBprGZISWlnktyincbHNARVcioEHcjsUaxUBLnlPkZzggAcwdrttvnnHNFBCzqyVxNtfBKSydUkymkYvtjVxLluIVcWWBOBeeCCntwTNpGJZUEvLcQLbeJoeKenfNcqHwqKzoxboHHEVonAdpWFudriUvJUoAKdSsTBVRPBZPgrIWAIblZnRxicGYPInBFTCgYxDepYveubdiXZoBNiONQneTJvjnjlRklOdcSDIKvVqPGQKBqcujDKarQQREGKrCCPysWTcSrGPzpRcSQJSKimNJDNZSuMVkuFGsaTkZylpFVbSleMtQxJEAXisuoENPvvSaHKfqIXpKccApUfjHCxAojRBvmBGjvHdPguFPKMuyTVdTliTKrdSsXuIWdkBBytkINtTKFSKByabOpdT", "c_map_string_2":"yiqwCAdBzcMpOZCXzqGytQHQCoAqNxzPLUMyIRRjLBbFQZUQAMbsDXjqGYqBhRloyQmcmiaKyhGMOKCqhdqdptbgfVpngFkRUEFJPiVKoinKuAWYYmCYzcGrELaGYhdPyWPhvhQlxBcZsfldgDcdBrjRpiJDDaEmwcbBlkLbpvaBNKnCEDzieonrWQYQiGhNDTfWwdhZPYXBIeJpmRuNRyIvJmIjIyMKycyWaZMRQkHjQacEmFsanFwXKnLQyoTyqRYMjMTViaTLUEgIHipTSbgGgxQHEiSUxCBAxvJtUIxFbyotHSuKZtqfxwfzrbMgtpKzonZkLtqhcTgLULFyAwRVomXqeaetdbwhbKPnoPbnqcrnFRfcKsRAddbfqBYImmMndgApOYmzVxAVflNBWSYsvOFeRtIDOduioNRqfkAPGGhpnTnwFPxMBJdzSlMVgsFUnNmHMpDqpFMHzXYBdEucsHQNTfevhfGSvRlwHDMFRGrqovaBHaMkYaKnxbhL", "c_map_string_3":"gQYqimEPTDrxcVMlHCJwcsuilAQqDsgzvqnnzddggQvpSgeUNRVXOVRkEajHOWkvUwoEwWxvjIHsYVxrTLcTfbYiHlfIsYQxZwuKwEUjOgoBPgCdvdqlkMCnukcIcDrJIhjnCvkWRXMyAMYcMVXhqUFDjErMRVQiOzyurvyCxkwbVJZqxNlVNYHIRKKXCoGDNePMAsYKgQDjAsGguProjQsNpQjSZWpxgbGWNBZxXdTjUqhSEIyenzDPUefnAVNLtrvFHAagwVntXRQIfhwGjdrApYDGsQFrsSAfeyQMuhDDqSOsvdSohhCHYAryyOzhcGiXLSOjBkUJCtKSRghLdHIfJJGSDaDECRimVPiUVlQqXywaakOPKKrAmwFQyvBYPSGDuQrzFRxdAmCvIYXMIXoFekmelUJgqDdePhndKCdzaYWWOsIgdYRQELkWUgGZUVGCzxUsKSsYkWKTLeFgBnncpkPnVvGRtxcGECXOzXykxlvRPukZdPueZeyjJlZH", "c_map_string_4":"bBuEhjzbNgTemWTmVSkgGOnWwFTgmaHoCDvrByBeGuFBQRghUYEaCTzzexyDdkxRtxgJqvqGfGtVjlZFKOiFSulkvtlAMiYDFtSRcsESryzOnCRoWggfhrlvkiOOQBewBxaQJGyHivqlOtaOtEldITwGDfFHhYdZeJpBOSqviijIerzBZydfSSMvFbzlTdzIHdtcNiJyiwpddmNDbLAGzLFjloiKqNWFUeNuppcBDjcegGnqQxoGVpKeoRxYRGxWgxKQonJbsVHDRTqcZAopFwNDYSXGOOqvCNEZvyvwdBMOmKocSrpksUAWyYylDiymmVGKUITrRcPhISZgJQdNUJPGFIboWsZPdiqKJPFmYhjOIOsftDmCsXdIzedngqQYfoRCufGhCgWDZPhVeLUkNXcBCtqdAmdYPDNLaTlbphZUsjjgzdfjhegFRbrEstcAxGEzAPTtXNZvWYgDoHjPIBNaYFDLdDlTUFpUmDknvjjlPcrqVtznEBrxeqptVGyX", "c_map_string_5":"lkaLZwCJoVbyRvsxQvnyiDpMVhSnXkaVkrNJVZUUhRsJOsfOrDhsEejuxmtrYtLHGxwKjErRLROpycDoLEKKuxDFQBiqOtQOpzYHcUiZpdXhbFopfUjADnEkOeQRcggUKyvCbQbnclgGfvHCRyQGidiaKwloMBxYuIxmeNsgJCHlGQwJtWvuTHYiiOJDKEyGjNjaSLIOxwXYJuGwVeAsyfPkqIlkWXMtFuqNnxpbDWIsUIwhpWbuDNVdIRsPToVJKbEzBzHinWsoShIBmKEtxGAZbosisqKdmKTBkFGGXqqLJvbcnUDnzwIpVXWOLWKcJMqADNasdhgkRwUuelKAHstWsmjlaMXZFAzqRnrLrQvVstTSlmOaFqEcTfkQujbLSNFrSkThmVQRZnpCgEvfnseMQpLUgEOoOvMnmasRTaojVpnpdYMcwaUjzgGCcoMZcrKHnapJRMAAFSusMsDboZWgSFfOgrdcsulmvgRUxQqHwJmqIjAaBWheXWAotYFO", "c_map_string_6":"mXAXDGJgLPGYxIRPMBwjaSnqkQUTmEtDvtwDhHaOvbPHjPlEtDHMqmwexGLTaelEOfuOvjOgudETvRtvClUukOODzHRZTbHOiDLcpmfnwNxxWEOFCIufDrzeueUSwjOGSNxvbRNYoxnaGHjgBqKDfxSchuZOfNnZRNdFkjZDDbQijXgKumuifjICCIiBkVCiPNCAxPojbqKEfljjIFticCHrGBQlrtmynzdXOUFgWlNCiQKojRUvrHjKkyaLXHKjyBLmLbcXOEOHgKTlnNNXenbfkRkWJOCdLsmOJDIcKHOxyNuEpKFiiuiSOULUlZDBVLyfyMSvbuNddOoPXyfAWueRxnBaGNBEQuwYuMODrBwBVJBJydYpIXsELzghMusjEbUKlTVoIfAbEMSvFBUqihpcZavBViWQbWoKKSJyeElwpBfazbGITwBDEqTNJYKEFogqfqgJJhtAScAySLyTGhBBltVpATuARJnnSBnWFAaidRtIFxcFhCcYvFhbEGTq", "c_map_string_7":"WUpstYfgyClcovXzWqHtgilBLxzVGkviudLvofIVninlrCxyOLECtoULzzBtDRVuMuHPiRuHGKNfcMOaQfoTQYiEuJZLxFRRJJXKaKTuuMfqKQreagdPsBfPkaqMryaakAYpDjqdzeoJkidBLQAojfbkVRBbnmRqVrBMOomAaZGFYPrkTIgJPtYkWZMHzEMtwDAlGmhHSNPNBCwkFQLFlUsEgCuKObDHZaITNwMvvbjsoZkVSmGsDrXHTzgvQtvtxFyGFJEBttvUAKBDtKuonvJmtUGjyHstwPPUzekpWLrmVkscBitkCuzLNnBjdtGmNyiGYiCGAzMUADUGfkbnOroLfasJXpLadMNyKmsoeQaSVYBrZeMNswxBqcOsNkgcQfyKEpCZOAhyjpYcIlGVxPkxoEvhkPkdXxBfYWjHKbRWzSgbBMVJbxzrZflIVIsmIPvmnhwSeRPlvSwqhrZxLLYNCjCtIooQTZJrCZcaBfAhDBGBhHeKbJeWYZcNGBUy", "c_map_string_8":"lfmCigAtviWGsxddXWOcyEolOYwZDfXpIdynZHrPVZlbAreHdtRKDaYCPqcQpexhShlEzjmOdTFggMsgLAIlBCGBrYHfUqUcnVmyZvtMXMuAVJxEwOPHtGLEEZJXgQpGKtamgpdrwnSESzWOOjrBygduBqNwcyQpASpGyWFgGwBFvhCtgiQbXbYLbNytHqujhUkrUTdfQjiosFSLYjoAUAQrGZIOQCbzwWmNQrSRfHEihFoVEQbUEilfLTqbBmpJVOBXSbWvmVRAiIPsIFaFlqpwzbDffnrbsfMOZyEaoczaYpoYNOvDVSviVsVmNCDLLCljgdeUEsLAGEewXySzqkJMWdgOeSnDeIpFBXVkNWIrbGlYpoOBSmmEfIAoNsCtUTZiJGLWTkSlrMpHTqWhNyEECwbaNplghKIkjErYIksuLNLpPJKzgAkBkwfiejdRadJFLGLPObbqOqGpOpoUOJiwyVOYXgAJePrOxUEMMuGBbOMpftkOXFWJbMwVLaFQ", "c_map_string_9":"WjHYczexZrPzqnXjKBXGdRaYChpmORBboJEZBiMbBPAANBUfGrulpIIpvlNfvLDYkfyrIptBwEHSHtupUnJtwKiOngVverjnIVLsyxYbnbPcnhtSqmTrKeacaZutNHJNNHHAhuXOaFHQDkTztoBUKzVVwQTGMDTVIYHhAbniCiRvKyvyNycrZHqXAsYFaXKIRREjnUeNAVbgmgMUSJJxQuhCNeyalIsioGKjjlTUFgijpwssabKXSkIpWrLTqEbLxMVWDqVjUFKfpVDNWriTCbRIotzniWEYQkZELRDFqwOvRlOgIMDkzutcduBFhlDvHVnxvZHigjmetlNWqXRwbVFmwEThpqhlZpNOXbZQHqLprVrjhDXvgvsKWPiWyHkdYEbVzNQdJTLPRVfTpDwnzmBCaeqNxbXcLoUNDIXwXMEFGiAKeAyRiuawyRnNGtALesfqlzPOBdUHgHGNwHLFlTRfMlrumUiDJKhqIvNWMypiQFVCvykLxtBNwgcnpjTn", "c_map_string_10":"kocolunEQNBPYmWaAIbdVkjzbchmkVrIcHvYZAQJiFnHtkMqeHlGBjRcsikgOlqmhaZDbDzMlWMCbkUnVJfOoLsPJRnMXmiDSirGJixuomVRyIoHVOmqekuqesctXxXdbocxSjzuGqmwemLmZbWNgAlYfCflefDXUEWOOJZrGjqbgfndHgGHWxbKtxnmuTQLHvxNbVqbCICWtaTvCifgnHnumfBevscrRQHDTzDXtOfpnWrmDrzfBebMDFpGXmKRXNaAvymRjMSrzNNOPwkmcDRMIgmgLzOvXgIOdFZAIBckxzZwNZPDrSMDhpvsdkmckzjyXoUboYOfydCRLPmmxlBRPrlImmznnFswXuHXxdtjgLmvrQoStRkLKeSRjCwgHIQUVXlPFfcrhCsovEVtxuVXvTlATZuLEcwvQCGfPoRZRYJaaTUzQuxqWeYIixKFLbDkrnNZRWJXqwUzfAXlgSYTtyqJPvMWStSRoSSbeCaoqqmyRbmFUmCPPkIAkzBb"},"c_float":13.389575,"c_array_tinyint":[-72, 46, 115, 34, -119, 95, -107, -57, 55, 92, -41, -74, -126, 52, -85, -47, -22, 95, -11, 112, 98, 94, 110, 84, -60],"c_array_varchar":["gHtLjsxwhlivgTjsBkEvasPUeCtlXUrBagEyuwaDrkyeiafuQhWlRBFbuVOfBOrBPhdXdpqteIJzyLTnOzACYwQwDbVRkswBYIdJAtbbGoVhJeZMfNwQNTyFPCOqTRKuzQePfbQfzspNPEZstZEsuKONRkeVquHHeTvunOfambwBcxRfEzvOBwdLohMjyXSOhUNQsiBRQFFluDOskdmGlkkuWOYaxZLBOZbUWXEmmeevHHhkQlQjuvXTRgJBwqCG", "GqVsxOXIFTYIsGVVgipFiuKDXUmnkBArumrYbHXdJIoOeBdHPrJyjvZfuFvVvtEUFfiJxhXLVFxvKppXBvJXzHkmOtToJDMskQVMxLrqKCPBJjHzksSHwiRMlrpodCAoEsXPsPDYRytIpMQmDXYXeFqMJikRtUCUToSVEoCTcokgQJAXNoyQXtbcwsmLbVfMfSVefCCoWzillVdDSCFymPUcWCSfLtmVMIFyqLtVfDkVENLTSNHHMCdHdaHLFbfS", "tIlYTGICAOyNIMPDJoDoldPLFvKhoITKkwVKKAuNehAVcLzfHPiZxiRhzNZANmSGgcSPfyEoUiFOWojFZbnGRiWUxDpEaoqtQLREvYEsOfXAOiKlJQKiHhYkqkSLHcMvCfTtWEArFpLRUcDEhnRgAkoYQRshAcEewCSxcggjDYiyJXBTFMyXyKokCuCATwKjQpwDRQAMbilUSBcmCluNfnryxsoPmiTdCIFeOCGgwWoUBKrFIGsAIlpzNuqCEaFx", "oQMXvtkiejNSEYVdwIMHqWMnzNdrDdDAQAzijxJUeMXyxZUlYPbFUTOkMiHZXRDMtWUQTYTcnToukXVmAkPkspIhkBXryjiOTwJGZwPrzmjFxtnIoPePzSLimJBSfhnZdsdorEYHHRhQRDjnjZGTkTRSSaARPzyZALXjkxBGEAqeSPGtBmQjIbajtXZQzZWuMUfqqmppAnisfFlRkiPhvSLnMgRzfVZIyoKDyodSvOvCNVuTIxhjJUAjHyQgHQgw", "nNGIrlzmEMKqJlEtieDwNjbYfhfJWAmMbBDitBPSAIPqZssCqDeooLNrUfMEoGqPCNkEiYPyBAIQcfWbvnhtUqvPzFPLDopXenpgebiHgStDoZIvTrtVzVlLUGSjndNEkuBgDNjdqTpXTVJrmFDGJtBcFKHmryAJTJjKjwizdHXLBHQzbDcTViEqqWUGJEIukylNLgwSRCnBzrPabAwgyjEiBoINYcrNKTSfeuGRIQlpNUfnAJncQQhbouohRwzD", "FamZmahRcCDHEKBQGhdWZlyNbCgepFuZIZAHRKqmTZjfjmLQrBXnEPPYbJBfnNYXnhipPYfeSLxCbeolyHHaTYaxccjecvajBPiZPgQTjDcldfZJIQKJYyXAxzimLLYjlgfsSzmMFGKkVCdUMhRCDWWluNSKZgdxVMqkZmNSWGSJCbeMlSQeXFcJMubCNiJVDhwoFfepBKwjPkDSODOjIkutQBhUQsPmfhOLZcUnlwvQLxSZSjSdTJAvAqGmeBMX", "UEPJDtnLstOcvHIPDsmOiXkqJtJDYyufmRTwcMpEFYbJESPCzsgTGtdNhuoozgZxYihoQWvYGgDETqMVNevuFNzlftTLDemNXdlIAbTCpODjwoTUyioZIFLNKoTQROxJvZAMBzCUXkQGxiYzhcAjMJBxGHYVutbONvMijFVVyoCIcuMWzKLpMGQCxcWrIeADsgbHTwngVMYqnfqSwcjewxPeeQoeDLiyEJMUzyzmeKTDpkICnoaueKqNnKIZAKlk", "zuPZzMdkEpdxyjoqWisIpLoukbmFRdEhZnIFnLxlbRKylWjPcOnyiuxhKfYUKUZdjaAUjbzElDPGWOTbSZJMuytzmrdXEcRBiSdUKTgVnUZewNDpmomdHPagciQhrKZASIjOUqXvEDWhuYUUsjizLhXCAulwcCYBgigWTdPQBImMDlJZHmgXIUeybeHMpNiDSoiGkCLqGWaUUxLvqChmStxDdUPjUjIoZdDIFAgvtlluCTKBYabyieolxeslLCSM", "VBCklbAJbrWDCqZDjxDgtPrPFEtbyXJkdhbGMMbKxAKRVDowumdwxUurHKQrytCLdHImSTrEYligOnZChFVKSXefqmsuRQAqRThOOEaMOUxUxsPaZIQmgtfgKfIewBqgcKfSHlmkEiiwKxWPupAjRoubbAYSVnhnHGPuLPEHjsIwZqhfREXpsuTNYjForQJOgeeZsdVxYFhzbbJBEpVOOFMXHlNIoWvbiWnKbDWxZGzqVVLrmjHqMSUDVKnRjgXc", "oNdtniFpbUhAwxZxXYyMsvBWZWbBDundBMyHXfVhtOnmVfPwNyAUVEtCHbPXlsPgvYTadTfsjrZJXvIQBylQqNugjNUYccFvGYnuPBTSmqCjPglAFRkhomehOAxvOpVAOIjEMJSlGDuiyCQsnRDTYLwYVKAivtxFdqjTlBtsSIZtFLZqFOZCSEncVOEIiOjvUGQBlKNqGMZNtchcfIMUyxPlloyClmossTvMULzYgvJmbxKFnsqIqzFiIdUEtZgE", "VhTXmJRfTaTpMJkpAGRAnBmsEJWWNOLCGrolOnOQUTAzLRZgmAkWnNXnrZyuPzjjtLsZmtyhLaKzYgXpJlPxUqKacMQwkPKoSuaikMuAIGoLsSQxdwFaKHyVhDgonNaeHHOoCPfMzcCbCHcWyrqPJadgFaRhIDirZpEcBISRKmRdqmdfmqoBgWVzlRYZzFPvekbTDbGaQOkKdzQuuDELDRxVnBTVqwUTtmKxxikVxTlXEQHrpwEBFevCtECHBSZH", "xIUhBvfqJFeEDWtmcRsOLNOralPcVAiHMQUUUqqdWoLFUBVcPGMplrnlZccYVrwpMJzubZSJkaetNQKGpVSvhXPLVatPMsaEbTHkOwGBQeVnfKHLYIOsjbmDMPPsevxVBShteBXgzkxFoREyADlCbrYFGfTaNeZnuGKNLtZPWempCyyFGCFRsPDjLMBArzYZXrXvYzUJtSnjamLIcDFyxpwMxJuIvZlOKqYdAOzXTqGLQJjNojBCMOcRvaeZJpCx", "yvJlWqxBxrPmCZZSHlPADVhYNKsoCJRhxTcPkwnDQEnmGPyFLxKwErbfhXFAVAKuaKfMkWnJMLvKdJLkFgoZlhhRGhBqisCcgutPkDXaawHBaBorETOemfdZWKKEPSyiljfuWFrljyUtaspYxgwWjgguiBsKkSoVgadlenGzGTmxepPFhDpOjAUsRrczGwiOIRSDztcpncOaRuXZhnLykcVFiilZnwlMwpVbPsYrQJHErBNBblvYRrSJrdpteiOf", "omavudrxIDrSKjzjHXcIfpFTalyYpLoIBfuOIkFNvhVmOESNrNIpFuRwNXZAGAeHEUWpaJqhXQTNWehJzmyaXudfUvSPzXqbAhrrrfxITiDXsJLSCWxYKlIVfNPKrwGTcxWezwIKRXwnpKFvHQokbvTIQEZYZNiEJCoNiKILjaxcQvytKorAsdPvjrZflrVCcdkmBCbsNBEnmYnEgTfgQDHWMDqqpXJeKEregUPyzlMNZGdQzRmKuPkIKjkfgigi", "qWycsLTcQOJhgnvgQYomYUSvJcMGoNaBPyrdrnEQykDVmPZaeoxRUQthMVADxPNcldXBkygUkgbcTiEWFnJHptHzHrmZyWMRHrTMCXopPmNQUWLPlDneAPNdxuDBAODiRJWtKoGGWiOCilDJPrzGdoTcpuhlSXXQQSXeUPpQtjjfLTOLKDTiDIdScjXtEoikwkvBaBCcxJsXLnLYMsKBYclaDgYceMyMAzmCTfsHsYTAoqTNyUisKuKCdezmCyGk", "PtUYEaIXQMXYqPScltmyNoUkwsICOHFQpLmVhHFgdyskGcJyCYjODOAhRobNwajdronohLInRdmTPBJQEtEgdVTTZvOxxOKDdTCOglhCaBazEDkgWYukxnNNXcFcjjgAmoxwQGtRIsrvffFBEvbprtPrSlLnYAnKoXLYYZPoONQbdRoFmoKwZvCqEvWKGTxFqrrFiaPfcPEkYpLqdHjwUKFxdMhtgCUglWaDZpyyczqzEelXjfFMDILLpLwxFJhI", "wzsRNtALALlJlGRgUqbzVkfZbtSpOAhTYWDhgeoNcrRgiXcOQjYggYdfWjqOzbhqxbEBJfNCPzHhwhNwQxVHkDSHWEsnwXKPlEAiloAqscAITniDsmzYxxMyzexiLTAeaSbrDhZpWtnqUzZlhbZbIlYWJXADuvfHvsRROTXZkeadNjXOavQfpFMdYQyBJxpKCPudSiYHbYWunBcHFBSOeILbdYJdUKtAPRZiUlyCcKCpoeMaeRicEXvHMyWeKBTp", "UfElowrMAEmfXDjFFKwhybebJcHLPxqbkEvQKSqHrSoiHBUpwdhxnXMOptRtmMEXwXoADUagtHliMEAZMkYPkMAJVIPDclncrNWZVFmsRQVjMHVfggerfuwVDpAyvlcqwCPZSTHUJJNKhvMWaWftjzuPURxEVIlCqOlMTLgvwGwGAQKFaaoRObUGlmnCntMacFIPYROVHhqKnFramAnCxCRqJqbhWOSdCwXUphHDjfpBhPzLfOzXjJUTUEyuPZDM", "wHUKFBBugMPjdfyVFiETPRzAWbicSrItjbXyvkPLNaGbxxUziELuwvNnbmBgOXFVNAfsiSrSRIRzNXHsBGWZvQLsDRgkAwZupTLEuHRaULzPJWbYosHMqyxATIaiSPAKftUYHsiqcPlJuIOveqNcbOEGbjqMlkkosezJXKFJIufbSbnBBJAPDDnybWjMLNjKipdSNwpcUtDMlTNoLQOTmTCxUWmtyNXyOSrKzBpkhNhaIiasLhaDDGZBJdJqHVRt", "dqkIlUiEXJbWqGznDcVMMNrqbXXWUZnFxCebdiNySanQuscenIlibkTuUlxFhnYtphWhfLpzVJLrxzeQHatLMUKBVqfdhGEfFxiyShdTrkiGzxYJQqpdnmIMzivKzGELZIiPQZmWHnRFqHafAsANxNouMvsznObHznLUskCfVzzaXRUQnJeskzXZIUWsBVQcgtSxOxxdiTqjdAbFvHRkHcrucffGFcOUhsQHzqWflOrPRkeYsrZPWqMRUhkjkbtv", "tKDLpoLyrJGYpVdofDHXyecmISaCeWWeUCgqPXlVoShBdnBgYtaFTzeEReNAbridpwQJUnmdFAVidqehsJGuPjJHzeAgNefvGYwdosmRAuDDJLkGVxLGvdPIwxmqvlKPXiJctfownYwNyAslFGAXSrvNyrfpqTExisuUHczEFVCiWrQDoVHrbHakkPynxiQzObYjGMGHsEFjmJOmWpOEKykBHRlBubXbUgMSJVcpcIHrsZVcQYpujmmaDVtaHHdl", "tLaunYwARElVSJTnjAdmHfCnTeQpJDyubcsCWMFlypOAAoogjJMyrnoBZtsKxfaLSSXYuyatsaqGrBXzxJIErkigpycIHrpDcvwZyPfgJWyzKrgPEHYLHVsRonrpLofDjMHlnXOUEEkszyTzpNDmkrzOQBQrNmqlnRXquEUsvKkreFDFXmwIPOQEUMaxuDJUGVBCjpXgXLpeYUyKNJxQXbLPjsTuexVMnqdzuPjvECDWMKTDiEmqwLziDUoObCHh", "ZJbsCuyLDgfVMZfnRCGmapobPbbtAjuoqQFJbhwcNnkdRKDRskhlsFwJJLPSsTYHWBrFNNCulbInrPTpXSMvDUErvqNsZuUXJbyOPfJiWvYXmEzTwilCVJIijskvELnEwJcyWUTFdIikbHDXEUyGHbiJLTKQAzPPYXPBILvdPFCXgNGiEBpGNoEqdEZCFANydZFSQKDeUnmuoMIKZtmiKcOkZrVktSdpUqFuDjCuPkSinbCCWSxThLsYRmoZqpzY", "vgSWSFHGGpOKwRBKmFAgsxZGsBPcIQSNWeEubdWQMvAIBxBBSKvhctNkyULiSGgvkNverdenWscMjndtVuhGJjiWzMtwYZnmYrmnYsaSXXcgjlmMTLKZdUXqSwRDWZEKdPWBBPFFBLriatqSGrnDrgZxXVHtyofJvvmHhXbfmSwGgkKxRXJQxzwPFrhWdXqKqJnWAwqThYUSVIJwqgcdBucsXBXHeAVQqGchXbOGQkOriVQDxVanyYcTgDyTJpjl", "LHTyouTPElnGHWazCiZYssuQSSmQRmpTaTMXFYaxlMnhWkwUXRzLkPTwpnqTklftJfMpexkgfWZbjnxfEZLvMwnHrgbNgBfZpZWVpqWDzttzFPxXFWCDmyBEiaXusUXMDozFeFJMRPXDQOFkjZyGaavdGmRsSimLOGSgiAodOIgWsSVVNgLRZFvPPvaiAgpWTJqSdroGIzGOztDtRqMlNZddczizHjMKiYCPEeQmeyHnxncPJLUQYFtnoekIFVAL"],"c_array_datetime":["2017-02-28 21:22:37", "2016-12-03 22:27:54", "2008-11-16 00:57:19", "2010-04-05 00:41:57", "2008-04-09 04:07:04", "2016-04-17 13:18:12", "2011-03-20 18:15:38", "2005-01-23 06:28:57", "2013-09-15 08:55:52", "2004-06-21 18:56:51", "2002-02-03 14:05:43", "2002-07-15 09:51:03", "2007-06-14 00:21:20", "2006-08-28 15:03:17", "2000-06-22 16:00:03", "2007-03-13 04:39:39", "2007-04-12 14:31:28", "2001-06-06 06:34:55", "2014-10-08 04:21:36", "2005-03-09 04:03:47", "2019-12-28 14:45:27", "2008-03-11 12:10:36", "2004-07-16 22:57:48", "2015-09-26 21:54:34", "2005-06-02 15:20:30"],"c_map_smallint":{"c_map_smallint_1":10737, "c_map_smallint_2":-18797, "c_map_smallint_3":-4184, "c_map_smallint_4":19206, "c_map_smallint_5":-16255, "c_map_smallint_6":7982, "c_map_smallint_7":12703, "c_map_smallint_8":17298, "c_map_smallint_9":2274, "c_map_smallint_10":20975},"c_map_float":{"c_map_float_1":66.86633, "c_map_float_2":2.5516393, "c_map_float_3":37.07393, "c_map_float_4":78.11725, "c_map_float_5":86.94175, "c_map_float_6":3.866085, "c_map_float_7":39.527634, "c_map_float_8":8.486809, "c_map_float_9":40.904697, "c_map_float_10":43.808315},"c_map_datetime":{"c_map_datetime_1":"2004-11-21 17:57:30", "c_map_datetime_2":"2015-02-03 03:47:14", "c_map_datetime_3":"2017-04-27 00:12:01", "c_map_datetime_4":"2009-09-24 10:06:16", "c_map_datetime_5":"2014-04-07 07:14:00", "c_map_datetime_6":"2010-01-19 23:54:58", "c_map_datetime_7":"2003-11-28 20:30:26", "c_map_datetime_8":"2001-06-18 01:57:24", "c_map_datetime_9":"2019-02-17 03:57:59", "c_map_datetime_10":"2012-04-26 00:10:45"},"c_ipv6":"6d16:28c2:607:91da:9d8c:a89e:96db:b39e","c_smallint":8274,"c_decimal":78.0741,"c_string":"dJeHGwhEJKZwdrvqGWwYwFHPbwXVajdgAWaPaIbsWiYDQmtkkeAUMFZgFbBrHKXDwrFuHfiSoNCQjZFKPbBbBGfliJaeHWNbforZKMzekamINsFuFybfZdlAwkIFjBNsBrGZCskZqlbSTCohhYpcugICMBLhQmkTQVhhAihZrrRoCZEgMdqxzQvQsLOMqyVnOBNrpcJwOURrKTnVMSeiyyNZrOVjlJxfqworYSbYytMohgbQKqpSznFjVdJchIpPumMMFmQLxrtAzfmmLeNAMTNbJjnbWRpWFEFJddccYttwycQPeSSYBVOHXjCTCFDqmzqrHEaPKGHVguuxAscawRpUmCPzELmdvVnblqccIrnrovtTNDpvkfNCfDtZJlmqhGgKbAbGyRfwAuIzlNCHVQtvYwmiSzOVVgJZInbeKdMIfIpUNCZEiSkfzSGvGndBjYelmCuNkRRSEsxYALfWKXZCtYOaAGuLhCaYrERbNMCvYhNiHAtByfsVjHAregSK","c_array_int":[997053336, -2113461450, -2117206754, 281100610, 844238542, 650510559, 1830272406, 301244462, 1111045578, -799578286, -1465913939, -952781183, -250179204, 1950427524, -2105471463, 1859090167, -793585450, 144987093, 1773373003, 1557358023, -1600562606, 476714218, -1781888191, -520756616, 33387830],"c_map_bigint":{"c_map_bigint_1":-5796334470650106384, "c_map_bigint_2":4832948362904840952, "c_map_bigint_3":-3529592813884999721, "c_map_bigint_4":-3251376730342325240, "c_map_bigint_5":6325930867938748923, "c_map_bigint_6":3537493566620530617, "c_map_bigint_7":-933259860946222503, "c_map_bigint_8":703914259147870483, "c_map_bigint_9":-4559404169662910096, "c_map_bigint_10":-7364404243432763275},"c_map_decimal":{"c_map_decimal_1":16.1711, "c_map_decimal_2":85.0006, "c_map_decimal_3":25.0246, "c_map_decimal_4":39.1352, "c_map_decimal_5":95.1824, "c_map_decimal_6":46.1430, "c_map_decimal_7":8.1180, "c_map_decimal_8":17.1547, "c_map_decimal_9":69.1654, "c_map_decimal_10":56.1179},"c_boolean":1,"c_array_ipv6":["CkLpssVbSv", "BLiHWBaakd", "WPWHQCTLxd", "oyRlgkgVIu", "cOYDUhZvWm", "sbaGQxxWpi", "IhvQXGgoQx", "nyFrftcPdM", "yPoVzoUQhu", "YgqTBBlbOE", "IoZMofktVK", "wJjviZMTMT", "UsSwWTKBmY", "IohWSOdKOJ", "iVYPDOhAzW", "ZSZDuabTTL", "KlgVtAKZrl", "TyJhyaaRCl", "zgJazuQdsz", "SKcqSchklG", "hnLagyHtSV", "VeoaFfBAEh", "xaJITECSuG", "sLYLYajMuY", "VRWvqgQPqj"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_tinyint":{"c_map_tinyint_1":-106, "c_map_tinyint_2":-10, "c_map_tinyint_3":16, "c_map_tinyint_4":24, "c_map_tinyint_5":44, "c_map_tinyint_6":44, "c_map_tinyint_7":109, "c_map_tinyint_8":-58, "c_map_tinyint_9":75, "c_map_tinyint_10":-23},"c_map_ipv4":{"c_map_ipv4_1":"185.50.94.108", "c_map_ipv4_2":"216.106.205.188", "c_map_ipv4_3":"33.184.142.100", "c_map_ipv4_4":"231.165.162.79", "c_map_ipv4_5":"82.33.148.12", "c_map_ipv4_6":"77.63.195.23", "c_map_ipv4_7":"119.216.131.26", "c_map_ipv4_8":"218.241.106.162", "c_map_ipv4_9":"191.206.181.138", "c_map_ipv4_10":"194.226.191.47"},"c_datetime":"2018-03-16 04:37:26","c_map_double":{"c_map_double_1":80.12876615521775, "c_map_double_2":25.729728546158874, "c_map_double_3":86.82728259790504, "c_map_double_4":86.90826855501048, "c_map_double_5":59.862605842746675, "c_map_double_6":31.692474406504786, "c_map_double_7":10.014786968231382, "c_map_double_8":29.931448429618012, "c_map_double_9":41.31193620957007, "c_map_double_10":8.811669692685532},"c_map_date":{"c_map_date_1":"2016-10-11", "c_map_date_2":"2003-11-18", "c_map_date_3":"2011-10-20", "c_map_date_4":"2001-03-16", "c_map_date_5":"2003-11-05", "c_map_date_6":"2005-01-19", "c_map_date_7":"2012-09-21", "c_map_date_8":"2014-04-26", "c_map_date_9":"2004-01-17", "c_map_date_10":"2011-02-01"},"c_char":"qDElNDIZln","c_date":"2015-08-17","c_array_boolean":[1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0],"c_array_largeint":[-402780481491083220, -7192762720129839055, -2965838905026026049, -2169818505191624862, -7453862146939783263, 5980849154475560947, 5709779327043700397, 7733827529731949100, 5540267580881473729, -5416850190816564759, -6177983055711214496, -6544079699594864370, -6118632648981920130, 2833327911045548176, -8515802645837887246, -3893971513187565349, 5635258637041537554, 6675701094043302626, -5207781364067665477, 3165821349994878018, -4644121421558353498, 5576373757087939412, 8913820114228483904, -8348091887348607132, -4369474845764067753],"c_array_string":["MRoOLdIIkkTaAxHWNYGkPpeWQtnSKLqjxIwLJpiUbtFYOaltyFOovLnLPRrrFYtboWRxsfifQZYjzIMpBLYZLxoKqEdjsNwubRPGVlFGGRYIwzpmpSqdBlVAidgqHKdfgUJfuNWClbzPotPFsvpwgLwXqklWUXfjjtHxfLkdxOtvHIAbCoCQgQKQxESBlTgSKXhQbFkYehsBzjyZrgNrhytlkoBvBVNatHwyNrMrMDSSiOSnomyrWysAXYZncbUxIOeyrNqufSOVlHWVroIKCqaZnypQxJviyRXDmHuoyfQPNDhENUfTnHGQdgUrVUseStjYmgeuIgpkkfQVjNypPzuSlpxdaPjGBwculwvOoVzJITaNOxlWsJHtNBzfQjWhqgWIqPkIRtvDJzcqFRdPHPGIlTIWjNSruBBBhXoYWFPMwDxcVFzExiGNudiEqEJdqcGPgaJXLunCmhewNZayQyzUGwQaYfECAeiGYYcOtBGlBkGRPbLzORJoAFxYoNLn", "GnwYunDnwKihVRNMejWWfckIoAJQgGYwscNHBpKeitmzdtenLXHyvTaObijmmckvtMxpXwgnAzSBRWumIOkQrtkDduQagaAWtuORTJttSBcoQpPvxfUkmVQiAIAXTNeCyhXltDCNZkHIxsphoCsHlPbxOySlKbNQfqaAwlZooEZyBxEBbmcHRYgUtHGdbyURglbvHVqSoNMMdlhZTxJfcjfoEPqgscNHPXjtIyZBVEyZIklPfFtdMycOOpkFtfAMGatZoAWRjmPpWbuHrDLNkpItVLdjikMJBiLWVWzHnJKTcxuwyNYFirnoRlAaKMyFoVtvAPPDbseajvEnbpxVvMpmkuKrEqjUotyVigKwEAlOrBdejEAkJrQZJucAsImyaAlCfuHkQEcyMVmpjEecRcISypMWiEWdDfcZxArwbgysFhkDQuWsuLamULiFGUReTlJVLCEpiRMHmkcaTHFlpKMTogiagbZeVcLXocAYcJmKixHEYvhNKUCSJWTNaDTd", "QpsAPqEMAfWLwfrjDOaDpjPiTbKQvaypCnkFXfFGsaOFdydRyNNCFAGkyiIlqvagaOcoLjtaKGDRhSDOGqmPbNUUYIThFiZByLAgXdqZQjHqOiUrJYsEIwTviZlJVHtwxbSVYBPbeJpKpZORQKmWyYrWoNCgmBzemgJeDAOSunvkZTDcuURLwJmZnlrZCubYqeyhtRpsJzxlCuRNpTOvFLqesmdsUnkIfiBYLnrgOMvsjIbedZTfGEgQCEDIuTjBxbNINvfbrQPSddppXiYjMKNXtSTypEoWMNombBWKobIvCwrDLCTbQwSzowZNAMrgLREpDnhvOBOjdTwPfUHNKSDSabQXADSOERjmUKJjATWHvfWPpFVNGYMbBQMymlNmKQIfOzPkIFZJWwjpwjUEpAYrXvxhkvGdozwgvOtfZAlLSFxEzFkWnfVRGYhzBTSqafTkockuzxmFSYQWoeKFWDsWkDTvjHPwEnJXtGNUxGDyqGjGfpSKaAFNRylHSaVU", "TIrjbUbhrCoCykItubnYXGteOSNWjhjwRXeKjPzOolHtlUzPeksxFsZUNaYSbwRzpltczfuwIJlqdpOlMSnSQkJXwDzYNOaReWCIUoipnZxDTVValEUnciekqgaTzjppKJLCRaSkOFhQTSaKdwYUTJOyLcoJzOaSmqLrpBkfhrgGkkOcJXLtpXdEMUKaKjgLjfeCuPhhgttzxxjFUEnAonUjZLiqpGaqGaFebQMoOWuLXASAQFsPaauQbsOkNUNzkneWJJFoFunrTerUSmiXCPHcyThfEBersbfYMHjcALLHyuJqdkQxHnXNtLiOVrgymcdbZRFANIkYBHDCblrvkZokYAFQcOoZGKYCdMgiPbEMYfVZNcSltQuGGJlVDzNwtpUGDygkzjpMeolnfqWroALQsIzJfumBLvOhLhDTlSIrOQJHJZpaPCZeicZjNiRQCvNqMoJvShgOFqUFrnkUbSMxHRuHSKvqirbJtiowigRvvaQZlsYUPtxbkNahVWCd", "EcfzgRZxirOyTsJsOzOSOwcLgzzBWiuqMQoiukggOVURCbrkIKHqJkvOaAArXlDKWbObkXOOJAMnsvXMNOpkbXwyKZJSizJupoODazoAQrgNgKNXHnFZTBFHrELCYtGfbzgSoNYnXHLZzzKmxPnXGDhPhIIAZwXVzlIpcWWosjeDvzwyNXNpCxdZKvaGhlzLqwGzFkRheztBSxpFPFDvKaFvZFrYBQxgDESmoiZHzeDDmXdPZWiInKhvhAcvTXssFJttaCIfAbPEhOyunbdWiHycnlDdPpfsXMWzGlCJzBXFGBkNWbZpsmSZjRdmasYfbyMlsMIQJgvqmHxHxSOAnjZALUrBTPsmpPalIKmMfFvwswUCFjvrTYoNRLOewEbWnsUpgyUTqyRYouycJdSoHNKDlvRCXQivknoVewkIuulIsCMpiIXwGuqNVEemThxBdCtwBDOtHxAjFKRLFJYcCjWYfNxKpFoCsoPCmLqsDPrPKbLONUTfyJsGifwuesyy", "RQPAdqNoQfZgkqMqWRUldgLcaulPRxpxVqJMAzuSoQBksgKYecOwnAzCUEDudBrNfKLOauCiOqPKEAMczMqFsmgZHlnIqSlpIDvjEXbxvlqttEWivJRWXgIGeGyUyFgBfAMLCzVflGrQTDHiGmeORpTHLmfaoGHIMualQmSuXPXBEHsMSzosFXXbkTBuXGsEqZXFvTFSvAgHBplPaTCEeDSKtXsLICOZuvVuVjCJeNOuSxaVXnhwfQalKJWdOFvHXIafMvhBbAcOsoBxGqxdnRhGunlrYiNuDZwXAVPBQGcXkVzsXoNCaALgJtIJuXbNNeRCAjdmHeuylSOoebKSYGLNeOOdjNxojWDpwHnNbigQvzkKACZNWlpbhGitrFisCYaacTYFhSZAggwexpNGCxDtiXuMkLguSWRMOBVfRcwicnqykqCOPvBviBBFARwJVemDyUhjwfaMQyRrCqbIZOXQqxsmmykbjgXxGqWvLGQsRxMZMpldHOGQhSxnIsJD", "BrXnGgfxTfaeLmebCDFHcXlkdeQsfRwQRtZmFDrEKoZEQcLUKTohqfxGvQvhugzKUDfAvKCZluLvRHMoxuDPRvMYarWwBVaIERIjbjAhtxhueSvndYycklTBrXHgPiCURBQwbaXNQTIERLErkJryYOxNJWFRcaMUdYTIUxeWiQexRcHGGTCyPBwKitscwswlUYrISvWdOkQpvuudbouSBTtWrPvJGIlRezsRRTULNCItncfKuqRveEpEyVWdyDdticpMLquCIkrxeienqvxZLzwOZTRwtGWrLPKSCzGxTKBLQZnrVEeivIRyqUOXrFJMpPPSLiQsPBfJOtpVcFxrjBNSVWdpDBEAJeLDOxwzIqaiSFgtIeRkNngVOWSOfCfNXzxbEbWyiAYTcqvlyfpyEJQZHiDmeuwswbLURjYtNMrjlGLgOWiGVwilnhlxByXKoznuvbvteSaSXhZlzudcTtMFiEEXXtRZzNweLoJZClGqHuaUhbRCUgrbQEAgFjIh", "VQxAMLLQwxxGPDfqTIKsBiBNIefgCjNpfXLzKxHghJkSRoeGquLdXFAUEANmOdFeqrQjULFmYoXbNIMcCwiilhEjWoNXxosNBrlZGTRaUfHKxAZowytPobhgSvYoohGrWmMdeGuqaAuQtTtACTSachjyKMRozfCdrWgwPNGgANyaFTqxAvrZvLHjKhuwXJaveHFVAZRVquvstsejONcbbsEDrFqaKnAVYIjLzQqZGxpPdNYRMkBxNDjifEbcpsrWyLMRilXpHvhszXeqlhnIklvYRbFkIcWcUIcPyszHwlJjqwKGkxTkSqlBGjmPGtUVhNUOxqIpjdmsnHtqsygNVSgBXeSDNxiwkWHWJKCgIjegFJOPBJRWgKjAmIUkUsAxjXGpEjXVsSFPUkVBLdNdmAqBcMIyDsyNXsHCdboXgBlLXKnNjfxfVoFpYvyKUSTfsHoJfwfYuxUtnDsUlDxmwkPCDHcmhzPwzmybBQbehlnrRgDKoqgqLTOYrhywWuTM", "RIoijqDzoFYWbSRCOnjrmylnxoksbcxbfAhbJAAclfoCAJvmDwWJViTvqcCMSxXEctwdeRIfLYouagMaWjWxCzXfyweCYcwYdZkoqFlwRugHWBVDvOoVDFUCPzOjwMNtvrtOlmTaYavnKdIadwObfNbHnfzvkYofSOSGJwLXrAHdtzdOMLmnOXeIARnljfqcXAXZaCGDYacWEWTxllVBMeQGKlebGztyxnbyVeLJKfFUehyTBNLtfqowLvhStPiPlhXnROGxhFFqMzHdHTyQfsblfslRAeqsNLjSXQppqfRNkDTuEDFdVRBbOzUDHMJdRZoHAJVvRJtoiMNQYJFtAHlMutlZTXnfkrclVrmVuVlHZzQVdOsJDMycegQcfZWxtZNOdBvBnFBMANxRzTWNtSEmulfioUtyxHOoNJOhFqyjtTnkoEYowbpbjAKRsRgrPjFFjPGNSJQpLaTAFrXkABNkRfQpkHGEyiPkdIpwyYkcbZDgKZhuIvQXnFlpAJtB", "OCUbBcKOdeeMpURTvedwmXICQReQEZzTXqIVLbMyJvmjxPerguQzqDTfFKweGQyfXwJHryEDXrKhpRkiYSffgytvnVLcVUyArGqScuVZezkzGMjdjjOwqBHlLJmUIfejDIxbWHoWBVKBksRNZWELIBlMBJmdJPDIQTHczRFbjfmOvxfPfXXFCPDysoEfuOvKUoCcYsUXgXRhLHASXWanjeAFHjINVMvuHsxPrHVuKqlkFgbLDfYBJOcddtLPnXhArCuILUatslkGpLxcLivkzdoSpnrSNaaHNdiZJjHCwDCLmbzifxNKYaXpWNqkGNpiqOfYrjPhEDQzhGQMHUzufItzZvKTGDoNkeUDtSTTumAQvuhLiAqfUlYTGpkuUHEBHVZcoBmILwCFhQYPDkDjjWfdbAWVnxZOreEnCtvwrxebnJaCikdkSYNJdrtisLVvMxjhMPLRZBHoxBBAWlHlcPXfbXXltMbWowhXNTAPliHwulggtfUOkPbWlHfmOjey", "tOooXTEtcgYzCwJYfcJUvFOwjlTHVzvjgnMfkufKntkTBMoXUKGjtNTCWhOatebrRQaitWvOWzOsuLPbCtlREBBCffiHKmFbZlxmerSuVRDpDAJMErdXVVjraMhpfSkkBWpqRBfemFZiMlgrCocxPeQcpNuhJQZSCqLWeLXywCHBVLCaZbMFRanhfjCSaYpyLUZQJKyCpeizLBlPrdNDDgsEVsIqUyNbSyaASMidccFHMkOhLPMUyIGANdsWkbgZlllutwuZMeRJiofSiwUJwCDmPXwlzzZhYSSfrIjDLIWqHjVXVgovqChcYdRLZqREJMgMRTEgSMIdeeRcNTNDciqcDijggfHnXXvRJhfCpDDXOVDjULlmhwjWvWyHnMugOQhHtLkZyKLFGTgXrFTOuWePYXCxvzFHSwnpCirBLbKkHYrwrQijCetcNmgVCJcEsJpovNjVmTwKVGLfiTghYTqFFBtLCldDZGPviLNhyPuGbPdSFfobZMjkcGIMMxUs", "TkwYSbdDfnYwBufGnwkWnjNNrtjcmjtTadzJKBRHZUZnenzzAIwFQYvqCqKGsbKslhTKtzOQuukATFfLefnXnsuePsxHgAQnOKkroTDxRNjlRfrJIDxrUoLeQcNVyUnhWwYzlQhfVOxzoglZWpfouFQvyvxhHlYwFIAkpmxMGCQXEWlRRfBknTUNCZAEHZlWuSHvahhuAjHcSlZmfLUbHDgZZlYnNkJWxvAjgLSWUjoBPfXwARUgaEVVBSCSyVhWEcDPoASqhbmeGiniGylvZAKCdVNuZTeombkKukDwQpNefbVuOCTKJSqpUDxXCAVRWNdzaadjYjXHtkeoAvLMNZAvUyWajJEZQsxpEndRTmQfLqHlvvibdGkSMWphczsjRcmZNelbOAhXhdCnJUGXHKHegMVFNIaaWqVOhhCfmswbKxBVsRiuwPsvLjOrwcEyVvezJjXhGeOQQGhkzMbPtoGHoOHdYmKDKcqrSJCdBYNEPgurspjBEyMRURlNFnIf", "ojTPnYhgIfgeBewSuotixOadCzCeUUhaIZkPEMPmRRVjzywNePqJhLlWEXuipIWFyMmzdbcNMDVfzoYHMCcNdFhCcPsGczBaPwMaHKcclWtgDxEHRBiGVuknffohpwTTnpkFdLgwFgBmRPigcJFPLtCtnGqDnRdkggrQzJDyMSkZRlHlaXjoEwQpmkfeahrXbkdAufpXCoCLvSwBPNBpBAaYUYTYACWqSINRMSWGVpOntkHBbtDXSgHmFHIVtYjLbwlvRbHPGYTJhrjwVlhdVkoHDojeQgyCvAqYvJJRxfHqBiQwILOCLpwetCaGmTyWTgVUhATzllptxNIoPyvyOIiArwTmIWlqqFtVyvylYJzvZUJMMvcgDnfnLbzmSINxDPKrwFzlirfEviUNHwPczigkwgCUmyurtATsyzDQJbXRxRTPTBTlCpgEksFTzyItguslJGioJnroOWBvbYbNMnNLWTqobrwCXAVKoaHVpntfXusSrPyFmfWfotPpZQBt", "jmllMsvObUgoBaPvoqeJnNcDlThJJecjGmDvDyHjGwYHOLoLqKmqDWrcluwqDDkYKQShYVIJeqqvCzudyFqYGoloTvtnOcePtTcPMdpeBwUHKmzanFYGEBqKkwnEmmSFsSilUutpySdFFcRDHWjCewWdQgAVPrdczakPUvDLfsssqhGvCwsffwrWZmbCzbHqWENHpkBOnfWywLXpEKsPbWUKXggytixeVRNobvyWWGZuEofJPqiliGaqdwxDDezlgfvSRIETGbyYKkjIsEPjRIAUHcYESdqbqIKAUkMBfVpnYeLzRnNljByoWtivlmzszhWUuxRiIdrblGWGiPdfhQcMLmsRjBizuTTBoavLerUhJTdbOYhDUZvLWaDbDKDFSLhOTQzJcJWYukTIdjRquCyUBVJmlliuqRmNSPJtuDaDsZzJlFgJMqzaBUePlbeorYPgyQIHvXvBpRdnMfpDWjhSMFJSwiuTUytyOMFlFDoRkonGXVastWrsiCQDfVCv", "tCsetrJLwXsVYbLvyXRczHFycZZKjRxUycRcnHRjkdrsohuSwFNJyXEFiUoxckbtrmAvueqcadsmqMZdFGVATifkCOvBgUVxfNLgxYlsyPrOvDTccVzUpTzxiEbBTckEYWQiXIxtvFEgLimpfljYlBirYdyIXImPisMHDTWviSVsWYhvsKaiqBXwPfFnBPsZuNqqJgQcJBZmqrSjqwbPQPOFzrhbdwkcDprSVETrBqJrleeqrogjTiJJfvKIDoBlQwRGEnyCLWvIlCeGZJsTJOpcZOtYfZyPvpikmjiESQslnLpPmCXWSpmrzrFmVtNSgDPKTjWcVWIBWgRWbcSagFHSpIBRAFGnvFcOfHZfFxYmzkgKcoEMpUHneXeTDNBtRRMuFgXINlqEMqLLjMrLGkYqOhaKvKUeSraYXjokqmzhPNuEydMOhAFXJgupLchTXPrHvVcrBEwBRaNAtvWOTAIFyVuvOZALouvlbyqeoDwdeznmJpJnjwWGgKAEVRTP", "icJJZklQvWZFiTlkncaWcggNQxcvktPAEMUGDqLcMHlNsYuoolCRCsOKGPNfpyFQOunzVpTAIjheoWMsKlNOgODhfMTyWchZIeEHhOwImKNNpzTcGBJrXTkPimGImNpkeMqIFFkMZCnGjQSitTdleSFoSPowigptNRdgJZVjasJSIEZYZoQCbXUJaBGGTWelVulMqbSfaYtptMxwWpiGuDuggwWVJQpPDyZHURNrhDUrBEzuyErooDrZpkOLDvRKDZXTEUNaXKpfQqCwxJSElOQdUmdCUGgfSSNtVQHmCUQUXSUsMBwjYpQRozvHfCurJaemcyJfKdlTmhffrnWhcgmDCqZtcOUxjhNcwDqUvwdQjJXMYRJQbJUWUVouZcOlIxhKJbRImDrHYFrnYfFQHblIjgCeUEMLBCaynwPXlWerUYWnxbGXVFFobfYGCdlZkOouucmErxzrzlZHlvLLqGuhyZZmXNjtWuCNDEhTAOyZqfgdoSSUgJNOlKMqnHwN", "ZSxQEkEcygdiUPwSUYaZoqWjgewijvVXgmvBWGnMTwldbcLsGustOrdzlNPmNStzPoGCoPzgNWRwrjVzmFlajuYGvBkkpMSnybzXdjckgFguvoADXhwBxAAthQtVPDzzItFiatWUdOAtmLsgSpdqXAeStsLUiXLKaNtdlcjzfmSqLoXGkeubgskbalaRWPbrfUgcnHdhHjWrIFtpMQFTXwrvSlUUYBYXDERRWbTvXArLizkKdYNxeCrrvArlXzSjOucGQBpzVGLDlrvRAMHumfNtSYVxUroZEryfbdSpiNGDODiHbfoucUSeaOFWuLXgalxkfxwynbvIlGaQqoNYbEerIANOgKpaPhBiZLPPyMmSRropaRlYpsYgdcyVlNFQiTWtctyhqiauFbVObAEaHsEWwdihtUuszjLIeMcGozpbWrzeBytzeesWWCMUYbAHuHRHqLHZPdykGkWXdBQzTPzGqobSapzvOYSLWCSFYvRCdXdjigfqqvXFcoboozgK", "SzfZIZCSDalFjfUDqTFeiXhXJUWQauxcpaiTZUoBsNnQxQasQjcPLzseYwmoczwYAjnuRRCblMJKJsYdIanPJNyTdlMGEZdXvUtXYCSdFjLrWyHHcGRbWaQopLNxIKkvKEDbxZIKYaIyuLiOIsuepGxAUbMwFNVrrlEPjfNcsZMvysEjeSOPEvNvhpHPdNFTnGabgdnKiyOyrFmyYEZnAfaFFwpizGPPbtALCvDFXtFSQVXIzpioyADOMZGtpioMMpABsJFYxIeMYaGrnetUfzIKEPDphDkwtOpxQXGwZKVYJApJBuxdnAFRQjrUrtVjEFimpWbcKmABubsSPcXJDGthmSXbaqCMInKnkeIIdyaAftzpqfhqOxZbtNXoaxBSRJeMaLPESIRIfTWmDapFdqNUIBYXrWQoFGezpVBdPdcpoPbKMcpqxhDicnNyaIuaYEuVytvjhpyTVkfKCLrsArQqtluUDpbRPpdbYixsXnumqVSHNBugGIVKsJReoMKF", "lAxdTPGadxsAUJdrLvwISwLtXoChBsagOvoFyxhxfcIZJOATeNYfKKWOOwwLgUFDMTBWyHzsRjjJUuPJgiPnYCPACAbBcxdbUlZuWtvHfaodCqOKRBGenOyKtdPUlMNducvjQRpowHXTzXbBABWoMTQHGelGacnoJeDHNwdZPNPiWQDjXyyPxDZbazaQqnGDecuafgHoTiYPgyGvVIDYbbwYmzOjKZIoynCmrrnYBjgbdNkJpbsTupRbMBLAZtAOlkyxAjtQlnKQkybknZHnwTFdsOIBbMMnciaLgHEnKHDhTKsoySxDUcazboXzVQDwUJhAiDRvcBzMmZUvLiHVLBmDKVqFVEIddkQYxCxiEpDpIxPrYnRdZXydWxaymrPaOdbnAobwjrMfzwfRDXllJEskGMNRmaJIvwsKTHaSLUDjtlUpqbTwURgSRgtgdolpBBWImaxddWjJhfgKUppqcFtgXbWaeiBfSbOgvtzpuKYdQPtdXXfcnHATpElRTZId", "XyudbgceuOdOrNVXPsDaqoWfoitnoYxacSydoKUiNrEQvTRjBbNbFVORtDYmYTkAcPUkUniMSSAYTFtZtrwogazVvdzbSFQJeJoMXxsshqPQnvtnwmWObYNrRvlieKkcMPYHyiwpCQbeOjcopZDhcSXJzLybkjOYWmWtsUAaQpdgbQtTVjrEovWlQhuEcPiZdegiOicHgkHOwYcpzMahMVjZpUEJdHlYGtheXZbQGIkmxcogTlMliOltPvabxKbDuSHdfUJDUXjXwgKyQrLBXVUpDEMNxhtSNlONdYMuKMCMNcRtRntueUXEFqAjEcKgpUQxnIKEJMmJCtMBrFSjGEGMfjhjefhaiJcuclQOXoHzkSoPsGyikdtvbCIoRgZGuFJtFlfgreBDhlXezVJkuNHOeQCokhHLKaMUkibWgOeRyZlcfRewgkgxOFPDTCPkWzlhCxYNkgpjguOfSFbBAbXgyrjVpLOPfmqcLySrBtXXbpCNoNsgbwnzDwghCxwT", "iAFZYdVkuZlABJuoNpouMMjWCqWjpNimvrHKSaTeFmVUSgVFSorDSMIvmbxhZkEwDWbSAVyAHJaDDyriYhHcdHUfWShKzZhMYbGsdoOjGNmZwbXqzovhorzHpKiqMOicsFyDsrFuuDUQUZnlolqXmfBJCVRYpqUrrfYtoqWQcQKkGQfbcqYLANUCexKEpNiWlDfMyksjAzoLCatDjCYBnzVDhDOUSgLbhmjnMRVaiOFNWCkVGsfUZPluMYvlCDtvOEUmccbRJuLFrXHFWvZYKDSGbMnESfrViETwWyXamFyacunnRSOUFJbozlrUgDeNVLKoqYvciMcctFTpuMtTlHJiHzmbQPdXowjJkPqhrjbfhoxKeUqlobWumrTYwGPYLPJQCOdIlqTPOzhuNIytDRIsRrWLWpxdsWRrkxhtzWImHlWGorQXQdeDeFoXqRRBdjlGBtjrMynJuLYShKtTPWTIHylpNCKcaWsbSAbyRLOJzvZdRmCMsKfsHwtmrVbs", "ksuRHttRbtLkqwVRClHPMmrOWMztPblNSIlAzXwIjaggTJNGFeahkRzTaqEZhAzVbngfppnGewsLpTaSQewKRaUjHJkYoIxMKjUpPitpoOvNQpUQyPMhRzPfTcFdjCxeuHEAsGCRBeqzMFyzIDRgHemUIwxiCfQONeyGoxvKblPUQWKiofpkNcujmQJwssxGjiAYtQgtTjqPwfrRSCRdmsRVfYTmXUmagYrQfvdJOvtuCtENAbjkJwnuyJliEnPgoqoETTjhxdYSloULrSNyrJXGnkUrokEogwoTEEHiNzvAHkyDAfHTYhJucwuCeQBlOihQcNdsUKmGgeSZhByuAwoprugCTHhCTNBKtXVJJsqcKEEzHJVVXRgXJkWmHHOOesjzLtLVgFrWZTNPlGoiguiqIHDQnCaoVSkUflSXQydyfDQdbizjviiIGOPQJwREfajBVKTUCEPBXEoDEWnoYdbyPmfYvRCjcYYWUPsldSmyOdDstWJRCQOqrMZcmGIz", "ALGqYDkfVcNaAOxBZpNPpQqFkeFbCWypzBimilKqHegdCvpLLXjBblNmjWEsQQiRcuSvXkawIcqTzjbcNUQyLSBinXFPcnpBNdZRjxgTwYpJAiTSmHWDVmsPZuvfpNcMjtuEKhmxXxsiFGhbuAHFnNIrMyhIcqgMHfHYWYEybPEHeVTVbrXEmbkXbqpBdwRxgTcExZQNXVsTolRPcHuOjdruNoFricsJpPGRzoLjdNkRUIfAnZHitWbprOjiuomkEWrxUvaRhnfeQsMjoTSPKrBWOTMmKiwugrnfTmvNXtKOeYqdQBQpnzMaoSXhtNIMMSAdIDXmCqTQvGsPKCtPRXNQInBWaehDTKEodmMkFJjVQeTIDYmMiKVNVgnPvWgDCoGmoYUSgBXdNtLwAQwZoHbCPYicTvHWoOoCptixgoEfXRzIDiLAMkdFOCDBcEeWYGYTcxzjxchXdkjnbkfgmyLmwObZudYdZxRlaBBuQjFSEnpGXCpjskDFvyOHSMdu", "DehdgqTYOStrqidbMFLBGMYWWZFWoNtQFQKaDjCxFLQqWZITAOgfDbIZWpTlFgfALVGbFYQoVoRgsZijfzdxQcgoahQEofRTgNllCOkJxNAfxLzssJzurzdlnmMxmMOzeZHAddvCLwwCWulVjokdmqVMEzzsVemTEPgSrVLRQwTpUiLbpsmlFelCDrhMFGYvTeRqgWEdwWMGcIxuGnndEmTIvzyItUnktPWCGXUqZMmeGnpSrBrmBKrZxRvZqzPUmEAypgfWFIaANRsRchcPcHCsRzuraxiKInVwqrTyCFDUVIILsedCgWcwdWmuoODcwixemjSdeJJQUptlgFlQbahZzCoHazPNUTnRQbyRuxqQvbTWSxbohfuDlLBGsdMBpTBIPyQotSETMZmKERGpPamniaYbBIygHuMXUcnOMHFEZQrIpSjheJfyWkSGssdLXTJtuLZHBAXnSstXSwDXcvmJBiPLPpDgUUeChxMomkBqXwdAspapkdZbIyaqtHPa", "PkgBvLIhqGwQeUQJUShwHGXVWMwTVgTpfpYxYYnDunZpxWNVrhINaZXHXbEATAeqHtHtNQMqyiZwAktXhQtsKrdUNNusCnZsXQqLyTlueQhrZFaOzEnLQcBdEdrQsrxpIPwyzyTZuGJPQWkcrXnptZvjJRUQjyIoQCfXzRqrkhkMcaRUvXDdMVPlxtEIdidNQYinxAroNwPUFbsdYBvTfUloQJWPZrbIDleHcVRYgTxyoGGrRGGLhRHqXwbesuiOnJtJpFnfocDiIOeroYNVAVCPsqVSFubwQAjpuDuQYaChOMhPtdJXWnTuAJoPuspnRSgEzDpANuKZzqqibsWhSfoSQbMgkuwjNCZLxXzIwCSdvhFdMzWeLVuwwHsQhYdtPDLWhmTORCUTbkBLPbWTpqCFuPzfaUGmFDRHkKqaGNOUsynfTIYEgOLbnsEhPfUvKhxypeDjGXHoSrfEEkIkpHbQttqQEisLtCAMSRSOEAeOEqKzJKBATXnHATDfpsTx"],"c_map_largeint":{"c_map_largeint_1":-5403482126205910837, "c_map_largeint_2":5171864323723366041, "c_map_largeint_3":-3982638413545760858, "c_map_largeint_4":-6494261748484254628, "c_map_largeint_5":-2660758904057825045, "c_map_largeint_6":6367249986755751878, "c_map_largeint_7":893872934168333050, "c_map_largeint_8":-2709322668634621642, "c_map_largeint_9":-8826021442780253355, "c_map_largeint_10":-1857896926101027926},"c_bigint":5481406149680176227,"c_double":42.0284427539729,"c_ipv4":"235.16.239.222","c_map_varchar":{"c_map_varchar_1":"foEGlrhiTedeuNYPlsrrviQcTSNVeewcglWKieNvWRukACEtToMHMnSkXvcIzJPFZmeFrdmhLXRYfEWEaVBqYqVPUmAENbArzthTIAytXEruPjuhOMjeYuvAKsWkDxcmHeSGhCCXsAicraPWKLOWAJzOMndPCaitwUuMgzZplNbuNGoDENuEfGwPLAAkVTjSBLJETSJQQdWoQtBatyweAzDcAFknBMOXrPgqVZzdaotfxQFdlPtDbvRjZIlSTCOM", "c_map_varchar_2":"ZpGbgNkjlQJNqIcmGbUKNGXAgFNxwKPfDMpiMfnZJhMkNcMkuhjaLKPvATVPxqRuVzcJcWmNXMDrnJhqxzUUzDCrkmDoSqzVqYzHdzvSXGvZadredVsqxitZGjagrqGArPBnvfJrKvdcBbBKDNooxarWnWiInsKfwIkCbfGFKIOnhjwMDoLDzsdzQbTpWzzNvqHzkavwXDCsQUPWYvuvpVdrZozXSsZhvwPEkOkLXNPAGYEbnopGislKXbXcxRbL", "c_map_varchar_3":"AgcanAyttLMIDELBFnjAIsqNVsgNQYndFbmtKGvMnpmcuDZOHSOxOiyuRBhqctCfammxdMxsCEICyqJZqRexiKSBNsdXmHKTKgzBaCIfHWKjvfuLqZHjilztVDkbFVNHUEbRfOuyEgSjDWeDNAuzVknFqiwGUpvNlsuGujAXzQaqtcjGhyRknrliAcFusjTbqofpovIbnjrRuXscqEgDPMFuWgbXHotIFZErLqxrmOSENznjiYrGAQINaHXCeksP", "c_map_varchar_4":"MPzvJynAHPcpoBlocINVztypZCWMeOyMyjCdwFFOBzPzCvqUAbQmnBTaGlejTtlgdlaHBEBsuInfaLhjNODLsAtLdwRhRMYAZbhdwGOKhiOHBUZSZxBNQWaeSpoLbdVZJjCEVRjqDqcTMlVVPdEQNtBTDGhhazmiGVVDxMujwsBlgBcfMVlzKiOTqTswQaFuZLQyWYiKAxGuXiKLSkbPQqiWasZAQfnennXBnEQcyrseQIgLnxallruKEWtFOWsp", "c_map_varchar_5":"cUMEWFDtKUPhlJrGOHQaWPrtwctRdsTiMybJarmFeDnVYlWDmenAFxQFKkkSMuCeQYFiQLgODdnJFmYcaHckYlDqhsLMuEIuAvMhUhSYFVyTIKBxeSuSWpaNbuPiImfWWDfsZbEzWuacOBqJDsfRzcUuULtjoamcdLjNDPlEPHkGKiNYDpIuHHVVqUykagXThhdLKEWRNsjkFqryoUrvxktAJFirzndUUEZpMpjqVryZioOjmjfmuYVrrKNbavKE", "c_map_varchar_6":"sMHiHbhHIQXLrMDbjITqpTauxdkNgXlzEKZMwbVDXFZNjuBoPwQCVxWaFjHFJmDiyzzxskVDUflKWjJGioCcVMbtRtruFklMMZgFMhpTuWQZUAVgUNPsgoIoOHrzrJsXUnJwZhGqBWPCHhwDuxmrJRJJXpEmFuOeHnCIQafcGOdFDnkLooHWZrNnFgCmCGXpshHBoMmdPcMNgAlHaIapEWdsHNpGhaNsYkaCjyvvjMHNVLvnoLCpnkTwpWiCiocP", "c_map_varchar_7":"TpKbJPwzQZTkbwDgNOQHzTMgWTCJzcTLXiUFBPjjUdkALILRPFMotShrJkFEUbEYDlpYhSyBEDYamDqLRemPrCuXxUQxkfENmFPdLbuHWAzaLxQORIINbzIuPblijnZGnYvxaTRZJGbhnWfzXVjnBMRmFkxNgFUuIJxDmoAGBpktYLfzXjPmNpoepOVtMXopfXcQFBPycUsKYfIAGWonBYVXKuaKwMjUyKJWMIvyFoTMDKLXDjjKKJlLwvUBTmgG", "c_map_varchar_8":"KJTrCzWEMdojJpeeMcwEwAYxHCqEiEKOZplutXZTyVLFJFzvLNgCejtBQKjDRuDAeNIZJocELKGIRQeTTjIIHEzTTCYMdmYYARuyWSEUCeJWOagNAsqegtxbsPmgFVPBIHczlbGhCkOZErGSeyLYdwoQFZIOsoUMaiYluceRXKxOhjfSESYrhLKLzFiNPEmXKGLAHUoVYetaKoxEgkGyDnGIwzkIxCBIMHPDeyRSQIJwTJwfPlXDpbmwnirKCrIm", "c_map_varchar_9":"TPXrlCOnTcyDbxfwiHTaBHhjjlykfxgWYgoBimcHnrXAIEHATsCXMvbKWSsXdHfvrvJOXmfzAxOqJdUnrXADYUjoxdgwJwBjyDrjFEtZDVLcInNNOOOjWpqXobEVNOwRYetkZcsBmrSxIqyiyiyHVHFELOCwUHSYQKVeNqOPNYioDLIeNUkMElxzgLDXunGcRZMYIQeYXZVUeEgigLkFOXHtTgmRCKiHHmsQFtpszMzbzyVGdVVlNVgWCArVFnxW", "c_map_varchar_10":"KNnXbykOExTiRsAmbgXQFEUdWOgqUYahOgqCIHyZPCzTJZrGdpEPqedWSxcZRrletbcwOkimhibGbjSPlmxoxmHgFmilnykgZfKXfgneSszqZSvhOvImqAOiQUHAPMZkkYVOHmFjOoJkcsfkHgiIbWgOolQhteWrCnyTitzbPBeFPubeEiNfAbktobQVkBefJKkOsjPIGHEpUeUPHtayhYMmMlzjQvxoNBnsHUFcwdOacOFAejahlIaIWofLJRmR"},"c_largeint":28515577354133976,"c_int":-2134293558,"c_array_bigint":[1675358315916842283, 1143714941787074241, -7763739010383422431, -8974955732004558284, -1725592705366400115, -5417947617044582984, 1129955042334551286, 4464444200124636734, -521356561492217458, 3481297532644752977, -1489752053094464970, -2657104433304723808, 3930851736537077002, -7491286005902867616, -6238860858229964715, 7286729528443158135, 3745786061006753482, 5472466728834053726, -136995633099110556, -5301416520208293397, -5993222830291332461, 8408335630771066818, 6528608231709045579, 1843059040487477412, 283222833295155148],"c_array_decimal":[82.0093, 3.0738, 52.0197, 20.1286, 36.1542, 86.1439, 70.0019, 24.1469, 89.0590, 35.0606, 0.0609, 16.0402, 23.0542, 73.0290, 58.1274, 29.1499, 12.0488, 32.1894, 100.1820, 13.0039, 18.1056, 100.0817, 60.0215, 44.1010, 22.0848],"c_array_float":[79.66478, 81.6537, 90.46898, 23.984182, 17.466896, 59.577534, 13.459922, 76.96772, 52.85203, 97.64987, 85.95612, 0.73006004, 63.43404, 22.146795, 24.81677, 55.05976, 59.720497, 43.29465, 23.911098, 49.58818, 75.92053, 24.201376, 71.7457, 56.610966, 95.3242],"c_array_double":[16.36210603549055, 1.0269783185198, 59.99442218700959, 69.56447752737209, 27.104344954064125, 84.33665716110086, 86.6818163848355, 2.7084697834280136, 29.422910481971297, 89.12861603712173, 63.72861068316306, 27.842133513301015, 20.010203686322782, 98.98468041226555, 72.95456980290108, 53.644760589471076, 80.37510742906787, 12.525258642672165, 23.804090184118017, 92.4858153245382, 83.88955791631545, 87.40618062286823, 13.7046140372944, 92.87105115125257, 21.91509412687404],"c_array_char":["AUmAzOcxTy", "YzIvpbMhNz", "FnZUpEYqgH", "BxfMFohZDw", "wGuJCGfTVM", "kyqyHmzyQv", "JEUXUqhUVR", "ocyrFecjoa", "mzZwGAKyzY", "vjUYgAxgRI", "NwRvrWtNGT", "ZhKPAilAbN", "GSLUjxSDvD", "hORPZWYxhD", "gUjmWKtlga", "rTUvyhzFko", "einijHuoYn", "QjilVSkEAn", "RhuiGsOenL", "xrBmcvxQUa", "xOMyKvymVl", "jXtOeCqdQr", "YXWHfrZONK", "xvfELejeAX", "yhlSULmRll"],"c_array_date":["2003-07-28", "2009-07-08", "2013-03-16", "2011-05-08", "2006-06-10", "2012-07-19", "2002-02-02", "2013-06-04", "2010-05-21", "2012-07-26", "2003-08-04", "2002-01-26", "2001-12-27", "2013-09-26", "2008-11-13", "2001-10-04", "2008-02-11", "2003-06-15", "2001-06-13", "2015-04-19", "2011-12-23", "2016-06-01", "2004-02-20", "2002-02-26", "2018-02-25"],"c_tinyint":9,"c_map_ipv6":{"c_map_ipv6_1":"501a:1aa1:cad2:6687:bf03:859:4590:30f4", "c_map_ipv6_2":"f836:7531:a06b:f6d:b592:c986:70a5:d500", "c_map_ipv6_3":"bd5c:d928:5876:e023:44ce:150c:68ce:2a5b", "c_map_ipv6_4":"d8fe:6e0:35ae:6c58:cd86:6349:5e2f:ed34", "c_map_ipv6_5":"5590:ab65:eab5:dbc8:65a4:64a1:8263:8896", "c_map_ipv6_6":"8f34:7935:ed13:d1d1:de7d:3989:c01:dbd0", "c_map_ipv6_7":"dad4:2f56:3ab7:1ba7:e8c:9876:89e2:b560", "c_map_ipv6_8":"857f:daec:a5ac:f4f9:4de5:de08:cc1b:a152", "c_map_ipv6_9":"3e80:f7e7:d3c5:8789:1345:7cb3:a8ae:e426", "c_map_ipv6_10":"8c2f:dafa:fadb:18b5:96b7:cd93:6b9f:671b"},"c_map_int":{"c_map_int_1":798111459, "c_map_int_2":-601634521, "c_map_int_3":112335247, "c_map_int_4":927360924, "c_map_int_5":-1129073782, "c_map_int_6":-78655835, "c_map_int_7":1455522209, "c_map_int_8":-551936658, "c_map_int_9":-1966747351, "c_map_int_10":-317971535},"c_json":{"firefoxuseragent":"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6 rv:5.0) Gecko/2005-10-30 Firefox/35.0","year":1982,"markdown":"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n# LingeringGoldfish807\\n\\n*Author: Cordelia Weber*\\n\\nPanic place to elegantly fortnightly virtually our. Outfit since bunch quite which normally myself. Eventually those from they your herself this. With why mob such book elsewhere bale. Themselves you to American this rather day.\\n\\nMust whichever brace success for fortnightly wow. All as those him this towards anything. Nightly none travel earlier are thing jittery. Shall envy those fact about wow quarterly. Troop inside company now group those tomorrow.\\n\\n## Table of Contents\\n- [Installation](#installation)\\n- [Usage](#usage)\\n- [License](#license)\\n\\n## Installation\\nbash\\npip install LingeringGoldfish807\\n\\n\\n## Usage\\npython\\nresult = lingeringgoldfish807.perform(\\"whimsical story\\")\\nprint(\\"lingeringgoldfish807 result:\\", \\"completed\\")\\n\\n\\n## License\\nApache 2.0\\n","adjectiveproper":"Indonesian","domainname":"internalexperiences.biz","connectiveexamplify":"consequently","farmanimal":"Goose","uint16":58657,"phrasepreposition":"by stack","company":"The Vanguard Group"} }','{ "c_array_int":[-1979206610, 869791713, -528500826, 959985276, 1402281277, -546129841, 520580949, 1312064340, 384478827, 1512864263, 189065486, 26982813, 1548539284, 218145012, -274499378, -1444903493, -1873714932, -2116838250, 1860083287, -615435994, 1681428212, 938728736, -1451286659, 221933241, 2106678258],"c_array_largeint":[-3582270951406548344, 8477141066755943459, 6771892690428628953, -4903391020803391246, -7002340810401117576, -25274507938309339, -5036797818440568429, -9199425046471931546, -1591632162052762012, -7616820431936726867, -6850423648536315142, 7405431540343588754, 815068068621293459, 2907503515398247560, 1517996525280177753, 3808244444390020859, 2516720652488209520, 1087297889593844818, 3641925321379150474, -5298131759786037761, 9081161089939183210, 6438097891524343452, 799594928916147318, 3752141154425611498, 1827460059985067147],"c_map_char":{"c_map_char_1":"AFFKWQnNZD", "c_map_char_2":"mSrlAOeQnE", "c_map_char_3":"EAJNsHzZDO", "c_map_char_4":"bvJejFXMHZ", "c_map_char_5":"ducGRSifBM", "c_map_char_6":"EpgSWLVBiA", "c_map_char_7":"cPWUBgZHKH", "c_map_char_8":"ELclEyPIGH", "c_map_char_9":"WoBIYsHkKO", "c_map_char_10":"DzcFlHOosc"},"c_ipv6":"6f21:ef2:fe07:7149:58af:207a:4b76:8546","c_date":"2015-12-09","c_array_tinyint":[-79, 69, -29, 5, 51, -3, 2, -91, 33, 33, 31, -81, 102, 100, -103, -122, 14, 69, -69, 2, 95, -69, 67, -57, -3],"c_array_float":[44.281807, 45.84266, 53.80881, 98.55994, 74.33122, 88.657776, 30.81673, 45.50393, 28.509842, 94.245224, 90.611664, 33.3257, 87.33379, 48.851486, 1.471476, 10.5676565, 89.165695, 35.470886, 90.914314, 88.30314, 79.471146, 44.88565, 91.90342, 17.560925, 5.8822184],"c_array_ipv4":["xQoWYAAMSq", "LRElOYlMoW", "DOcDseXZWT", "rfVynUEiqr", "kkmIMFNKtT", "tZhkyTdgcR", "mhsUyZQbjF", "FQoDcNmSaV", "JHIOQTfUVC", "iOmyblZMLX", "faBdLqLMTN", "KgjCadylYJ", "TIekbRkHwQ", "dxTkhIzrqf", "smuikzNXUk", "STaenuJTRQ", "uJdXYQwYMs", "cTOIoPKiBc", "LqfylnRxGK", "vlrfoRCDQk", "SOSxhBzqPV", "jxFaidouRR", "NTEuNblfbV", "lFabPlEhBQ", "BRTZeVCxJN"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_double":{"c_map_double_1":78.14602841980978, "c_map_double_2":17.650035185186177, "c_map_double_3":12.44710112223352, "c_map_double_4":11.109617785074327, "c_map_double_5":23.363944178433485, "c_map_double_6":51.93223155048364, "c_map_double_7":50.34733023720022, "c_map_double_8":98.54850554422929, "c_map_double_9":35.1732615752383, "c_map_double_10":98.17272739965277},"c_map_date":{"c_map_date_1":"2009-02-10", "c_map_date_2":"2001-03-18", "c_map_date_3":"2018-09-10", "c_map_date_4":"2011-01-04", "c_map_date_5":"2008-10-21", "c_map_date_6":"2002-12-26", "c_map_date_7":"2015-02-17", "c_map_date_8":"2015-10-20", "c_map_date_9":"2013-10-15", "c_map_date_10":"2002-09-19"},"c_boolean":1,"c_map_ipv6":{"c_map_ipv6_1":"a8c4:8bf2:340e:ebbf:3ea5:9aa0:f7:5a74", "c_map_ipv6_2":"c0b2:96bf:88e9:9d9d:915d:6c16:167d:15c0", "c_map_ipv6_3":"7d72:aaf:40b:2e21:71a4:e2f0:e898:694b", "c_map_ipv6_4":"95f2:7ac3:4454:9b06:f99d:978b:33a8:10f8", "c_map_ipv6_5":"f84d:49ef:2276:83d7:55a6:9a1c:3520:2dbb", "c_map_ipv6_6":"261c:b458:1401:1541:dc53:b81:38f9:9d72", "c_map_ipv6_7":"8f49:17e1:d5ab:373b:eab:fb2b:4a4c:da05", "c_map_ipv6_8":"9c0c:5d4:e05c:16e7:f317:b26b:913f:6cd9", "c_map_ipv6_9":"8974:b3fa:204d:9671:4a44:6129:e708:b6d7", "c_map_ipv6_10":"3312:4a0f:c094:1ac9:147e:dbb4:c148:1aa0"},"c_array_bigint":[2456523816793847784, 1441256513365135934, 6556913350792414467, -3578185339329845203, 2360042679136946844, -5560916851666050819, 5579850170851633698, -449788961579573158, -3819257219440493886, 6435754072513242681, -1077593948040421222, 7839111024439946852, 8307681708553344555, -5886617427190764143, -8606321931608989861, -330829993782907369, -3717704460330714630, 2199976210336724786, 1467191290924091532, -1107093965575215823, -8323457557970405486, 904822033475942429, 8056555847816149264, 531155100941677067, -1717488919948755580],"c_array_decimal":[19.0388, 61.1982, 63.1025, 43.0374, 59.1638, 23.0962, 100.0917, 43.1278, 54.0708, 87.1327, 17.1077, 62.0102, 85.0556, 84.0432, 37.0701, 89.0808, 32.0016, 38.0118, 23.1180, 77.0199, 100.0304, 16.1293, 24.0771, 59.0171, 18.1252],"c_array_double":[42.39815880212997, 1.1593454727508041, 76.90153313749767, 16.557998536319683, 7.028455311941249, 77.84062654106381, 94.03981986583584, 27.28812046528386, 83.69068517061028, 82.64433729492252, 59.84520564018755, 87.72559063741645, 6.235136960375839, 34.726465935400995, 51.041250234074376, 6.976769121426966, 97.8179141108445, 77.10186430289112, 43.58670305850112, 46.91098240534235, 25.03787701391155, 16.649116313205692, 89.6313434989299, 63.52343521444873, 17.59422254840655],"c_array_date":["2003-02-07", "2015-06-28", "2007-04-17", "2005-02-19", "2016-12-09", "2012-02-24", "2008-06-12", "2008-12-08", "2013-05-21", "2009-11-05", "2001-03-23", "2016-10-20", "2018-07-13", "2007-12-22", "2011-10-08", "2005-10-11", "2019-09-19", "2009-01-07", "2005-02-12", "2002-10-10", "2009-04-06", "2008-02-19", "2014-01-10", "2011-07-23", "2008-07-14"],"c_array_ipv6":["noWmDZBuWl", "fiLlVwjvGs", "jMiOhUkmCr", "XdhdpNasaL", "UzFdFiaVTA", "gaHxNZzjiV", "OqHEAiwPxE", "TQxXTiGCUj", "phFFAJbOjJ", "zEHcIqCfKD", "bgpEfpiPSe", "SakasGLQqu", "vfoBCpMTpU", "vlIvBTfwLJ", "PLInJbYRPf", "TCiERHXWJZ", "nUESvhEtDP", "gTebEkMvNB", "OEQLSBSEkN", "CXhUxwZfTx", "ecRJYzsdif", "nLAcwnFdJv", "ptpPqHjrSM", "wCbznoLEfa", "DyASWnzaBt"],"c_map_tinyint":{"c_map_tinyint_1":83, "c_map_tinyint_2":105, "c_map_tinyint_3":13, "c_map_tinyint_4":-27, "c_map_tinyint_5":-110, "c_map_tinyint_6":62, "c_map_tinyint_7":106, "c_map_tinyint_8":-86, "c_map_tinyint_9":124, "c_map_tinyint_10":-19},"c_map_varchar":{"c_map_varchar_1":"yqFEbsCZxHQqEJBpxodYGLGZtiYSfZxQOgLemcSDEenQaajqrBHrrgTbEfOcXvgpikACIFWASNKCKSnoojpprNsyAGbQwqTkdSgOFZWITRNkbscwhaKkQpfQzphaNbaOaDfTCCgRPNzubXrqIwqccdGutLtfWHuFMPbdSlpVsMYKxTgvJrIpLOlMDEoiwqryVjOWXMTlWhaVhwLbnbPXWKSGUJMKjfYKrJjftWHzWywiLCklLCyKENrmZVasPqrK", "c_map_varchar_2":"CAhFQegAjCsEYiJyZQaoFSsuzAlSkgcCcxEsaVJdzfSslcunSJPXAPMRRPPHDJrhJzqwSWvHMzsSOBokPvjSTGlAGicCqAEMZdeFBZfjGFcQFsFSayHhRhOGvifYMLAOfRnuNgpZkXgHpNuTnDxiJytcnaNQNUtTPoYchHuqNsjujOoGmvRsvSMnySWHZqnfIwHmwDDktLJFEtbsptMVkXIHOaQTaPtlXfcGpcCHDWkwIGsguhBftTIYRCslNLUm", "c_map_varchar_3":"snsBkQQMKbYstUzHAdYmpptuVSaXeXyWmiMAJApZlnsKuprgaQwYLBbFTDdRpTfnamPRxdJjbQuxpUZwkqxcLrOIkOxUtIOtjDqNXRYkcRJrhFoHPwQGrPCfRrAEMUzKVQQZetCIJfpxICtHMsEYlBimxzTlFVJzZitIFMkbBDEklyRFNtTcLUTpdURlYhtOvIFXUVKVgHnTxnEcPwQjJhDMlrsqReHGLsxviHeDSceFcIgZCkmXuRSjjobKCYFL", "c_map_varchar_4":"nytBlUYElbKGMXTRGIYwcRgReODKpLwIXEqtrdJjsoeguHHdwsJvjUWdYKeqDByLEoyLpFjjOvKNtVknLOjBSPSszJMSHtXCgfdwthCpUbkXpJWtwoaSbZiRRoURLEokpgVaJZeakMOmUjkFxsqswcEtZIYnXrCActzXDIjdYsyrbRZxwOyAWaUVrnhBbdyuUtXBBcsPNdnsNgNGjUipxywUscRYwbRHFpeXwJkwGuFThxXyPVEELyUQoKCOVtxA", "c_map_varchar_5":"GgzqNgCpWsrMcCUGrgVhTDFCvIiHuDCOdWkvlyzbZDdvwHCgURGbQAykJQmzWFWDKePOvPKmvCgLXniOkIPngFaTogXZTIMbqIFDPnADQOGYvVSfurwLOtAkuFJZEJHlSxEluZKfPHhpietIkGCCDcQyqNeYzHrHmQTHZfMIftjGtFIpkfqddIfvXUPdpsLuHHHsObWSrfuJkTXWCkvbjlkhzqdUclhyMOAQNxpwJYDTuhjChBHVyUPRTAcneeWp", "c_map_varchar_6":"QXNQOAFxmgqNemnPekkiOgRlSYcEJxqSbtjTGXMvFctbpLGgDFvVkQGcAWbnSBVHWkWnbHREEGXHsuwaoXIEfeXMUcxSJCIoscHojEaygIpmVVkAuQDnhflLtOhdlaLzmpzSXVmPUlKqczwaUyzurehCUExdhHPXQZzhGvXxuHPDEEENZjKzaSBznKNLaFvaDSVnzEnkemwWdwJMAkEDBUVVwvdwaxbqEPitgDkdFiqGFGQCVbykhzUUlwufLATQ", "c_map_varchar_7":"OPzJYaGODhswfmgJvVNEgkgIvSoMCRsOcenoSMWkQKgjxEjwtYKvcMBGIqIpmZmDbkhJRnUkjyWnLjUKJDBCjfaaHTiYayqunuYUryfziFtwwkYiuawEQsxAHoWPtxYMgYfGPxoQYKieUwCXXPwPqgBlELULjgLtHeaDcDbFsMGHrMpoepZuDHCeBzuwXoeEAscnYeKPwTQQCacWFuBjJMvjagKcqRtBWFfkDnrrePiKtwNDiZrhSGMSHdlinqNn", "c_map_varchar_8":"GLspRkhtDGlwgTBPoIMAthHISAPPshxWvHZgpKSuEyuzwlCEnSmHhysPeqRddNGAaLTHfsmQVrUYInpJzmSrkcPtAoZwszCvMMVMYVkcWwCQLnTBKvYlwCQMUmQYZVZHdtJPAbufLCQIpMFUOcqZqRAwgcpxpdPSAcVVBKsheVIPYOwmJrbZJhmlzppfMbFuZqMsjVxYjVPskZKYHzJiaxFJReHcIXyAexseLYPVeZcMhrAsoNgAPJGLlMsNNsRN", "c_map_varchar_9":"bkXNKaRUAGAwRTCEDpMCEquYcxNVIigazupAOtzAoVxEOVgoPUPrJFwTABrOnHvykRnUvPCCTuFEvCWtuzeTjyYOWMSaokApsGarVFyuxTuXSrhNXhRlXrDSbUMJzJJywEhdzIaRQBIDGmxzqPrhjZuUQrnoMqLaGSTUvNzHguyYwcnWAiYCCuZeKFpzcmqVLWuCPZBkwqXOctSrcoxPwCUsSbqdYoUngQXmfgLXOflKHWVXoyNWFOXSfTiORHcs", "c_map_varchar_10":"imyxWYzQvAGJFaWrezkHJxEVFFlknboRjtwJqbKcXJFUhFsIPMXZMQhMEmyijrjjUzgefdUdBsQwyadDbFPaSNFddwWMtmFRlkfDhmTiKmgmEPEucLrGwuVWRGNMyIXoQgHLBKTmOSMDuBlDvsKqLLQYEQdMgcuYniSRnePGeolnTfSuwdGdINubczKQSQpMLAZYhbnBrXgvonMnfZQFqyjScDGWZZdASpbdhoEYLfQmBFhGvYtYTUMSXAzbUJll"},"c_array_boolean":[0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1],"c_array_varchar":["uyAHLAXrAMdrcOUNvsOSXzilVCCgUGqWPXfLRQjvZOyxgwQqtvMZLtEFvddICZyOwpVrrSnkThynpBoRJaFCvhfcqzgdytcNGiieUYYTDYmfSqGjSDUvYOlzPgPOQcdxxGhEbBnhfCtFUJMZNthwblXtTghzEYNOftXOmHnyerUyeteZpEoXfpNWxIsCzWNEXwVpsXwqdyCHJKoOWepTqELYRLoyhKPlUsYXlVIhZUQKiEczxQSHkxCEtwgBidxn", "JZDSmSoERirjVyflmPvrjDiOSFYqsnsaUVEapOmtetxZikaoNIMWRTGggcGeHmhFKSAAFxOmwcHUwmExYhSjpQtalYFcSAEfKVFNyDSBcBcfaANvWCfvqSVSdmEiXmeVSNOLmypnkEnNtepwrXjengymKYEcUCMWWAjAsdGRuZLbTgTAoyZkhSEoEsUOWXsAghkHWBJqYuPgclreAtjoLSygwNuGXpVHSPFQTdLfKgTlBzLLJhLAcPHMmVuMEuKN", "NmwfhSgsmBCCZxlzqxfgGDlqLOsyRjbMoilZzdLNwGxiIFbNBIvwnIDMXKIYbQUWNwsgwFGeIaJGaRtQhnXhjHbDCkOSwbshVNIZLBFvrpwtBtGuxdgKONmzsbDAQKYPjBgPHXavydXklIHWgHRarzAPlmqpKRaYYXLsrEEYKAjDoNMHiTDGfcUdZrrcCWqcriATMqUtbQJxNJeYDeuOkWIToNZHTwTirOPgVbxaAAriwZfpQKFsgFwPrvntHYuK", "fOPyLyaGMQywiNfwSbMxpzegKzuKHImFrPtCxuEeaJNPgYJEAZxoWzrLrkDoyMVumyLodKqAsAZXEwAEGbwYvtZFahMtcjUhjcOUwtNHavdjtwvQaGQiQyVTPnfqLRBhIwgwcaCPKDtXxhgsfvHFbRPuMLdCCxtgTrsFCOBKcLXYXEFoqQshWBjtnCaQHjVPqGIVDTqobcDFJerQqKpJMhtrONKCfUMqumtaJlUGPDbHeGpGPywoGuqngjfmwqri", "dggNZtoqHmFYPnwjRkZYHsYIuptSpenThxqBrLOceinanLWzUcERtdfNMfWGmAMZlUVWoPbslRHtqdCFEmyWgmzjlShaTIvRkKXrOItUTYqNspjBMnCdfwIUqzDyFcNvAnWZFkIWAAqTpJbOCLFrwNrWVIgvmJiNdwYOLAmruAbSOJhtFItWVjfmTZtGsDOAqzsiKYQJmTjKsMQjGzIvKMfOaGTvBWQiPuGOCPIWBWuzREQxvQSgJDUSlKEDSpDg", "xzywvBBuTIKdchPZVSzbODKhBrHpXgjgFPZiONVkyYFlyXEMrUsOhOrTFgJPArFkJYVURXNEieIrrLjsqVFjzdSkCHEfTfzFCJIyDVynTlFhfUIhVlTkeJPsutoXHkHSpAJwijGYQPLAlVOUyyQVSesXCmaFgdWbdPwQUErivdbcVvztndyURhxcYRQjtPYHLuCKcGxagfVpdxEtaxhapJyQcdlYKOnHcMXDNeqqVahoOUFoLfuhDfvziBhLQkis", "UswHvNySQXlgtYnDEPBuXviALtOxkVdZJggTsPwVQqJjOfiQtjTIGhCCUQZCsPledUfFWMQkNQfdiRIWhLDEaJiwdDeDOJaHNkSZmPqakHYOsdGvFglEYrqqcZeYyfiFTpQdODIQcGMnqYjXjjSeUmshvdrnClOcNqFNMXQACnvbXdJerfsaYPETIUVYKybkdJtqzoZLjDGQnowxNIvbYPhHrjZHRuNCBrUWDLHMvvaMSikxmzRvNJicyDvDjNVU", "bAztZAageMuWaDmszOIzLCAboncXFgXLlWejizAHmTFnPJIAZqBkgrwWebBRunRzdQPSrsTOhQkDvUaXbdauMqfUYhWFsnrhWLOJQBmPNUHokgkaZrRZINkQoBDvRyElDkpEEmjTvmQAobuvLUWddwHOFpwaHPfCtRsvZchhiXTTrXgYMySXvHYBwSukgjAZSsQBCcPQxYvNLTYBQxcJVLykQXhlKsGzkXmTancRhJEWplhCVVxyfOEXVYWAizRf", "hZLxikxTjIUKASgiWuiDYQmMZvbeZrkqgzMickcXlfekUrVCVFdYmumJchxdTaWMdPycFpNAIBPJntIfIyCrlXtqPScWaDxtqNXnrhQFAxYFgCayDKNhAWYJEHNaTVZQWhGflZEyMAJmNhYkzqIOwgsHNxaqBgafOpzgXbLxniiqBFIXKmiIDcMhWUuwueqxDOfmEHoleOYvAeHFNUqcQVYjkkhobkQyzGSJtJczbXSoqhItwwNhKtKuUGtrPLBb", "iGBIXaLyfosAQMtxYtBvjsiuhzqQdMXAGUkZIJcBWwFyQjLDAHzwYMWUYpGgIjXGdgqLdOzbAgryrqBKOxyzFGpEVEAmsHopPGxrCPkhFvrRRUgWtHkXbcBzsSMceRkFAygeEASLoROtdDIVoSLTwZObuUckkTsarOevMCosmvNOQhWyKWRVLYGarHpzBIesBDVXpBPbAbpycKDzZcQcPTFFnTRDexXviaFTQvQOMvCEWmIPIWuQKtuLkvePviag", "yzPBVRbFtWWzJQmLPFpOQxJsvtQnZifXhHlWismIFymATKqXlawrZKhBeCwpdimbBYkYITivmByzQglFBUwVgnHXjvLVoedmQVeSpHFzuFiKcyImiDcBczhSDJnxDnsHxAAPyDbJKUgoWFNNrzoSWFsyOnsogzXpUCydKfDNeOiORlLYhiWTJRSrqtPboqsCYZrVcGTMbHKcfSZLDQWFyJqQXyTWimKOygQpLDTcnwsvoXBaXrpztceFQmgiQeBx", "mWfhfIXoDyKDDRQcdVfisePmroaKHnubdzIXDNPQQPzKZfbcXEPIxOmMWBEiYbdZbzARqDuwUcKbKofPttOMvuXxhOowBoRgwzEasUmwxxDaFqSXdTNzQoKJxwcUCStwtaLOvdDWYINBeuOFKivuoUcGKaEfqdRHZhtDsDymAHBmOwMQbHqtzTRNTDAXJuwFukPzsDoLmDatVINSJkSVoPOuJLdJGNBrOjoDcinOiLlfQGNqPdDrDAALpNKEivJq", "dfaOVMXfbaIdEIiyWbiziCmhjlTTObqZaofpkewoJgVErhVkhOiVIDLUiVtgPyEMfcAURFXkeFbKEIelImMXoRgKOEZvmfeEHKkSCoDtwuYOjOUuHLlVEYreaRgeFSqFitPiFWajOsKzTOMlxvrsIeqpxbqZtyJzAprHFaqhjRVzoWMagNzohVoYisdqGdmReZHyJDfvLlKJCSPSOlVlNnfHhnVxQLfwSnkDdWjCZrQEIkcRbjOpNpuupwOyYnOQ", "vUaYhJgiAzBYAVymRYImygEkIAQnWHkGQVfpShINdUuTjYXlodHtJPeDapsWLTrpPxvtkVBXzKDtWqOpsuAPcCEgMjSIJNdINqKUbbcPrDnKYjdmvemzvbwhevaNrBRnMyrzwZYHvfhrAHKereWNgdgAVtqNQWKZRjUxiOmEkOtASXBZtLaMapxygPRAJKlODUVKCAKPdPttIHQyydZvjObTbMTPtrGWNxPwngipsganFUbuNNRQmveaCPmbjheH", "yYHMbvjQQTaxQzsQNaGXvVliloKRGTLXwAqVUaRBgpxjfGRTyYviQBNNHzYDtnGfEaoQnQAUowwiLTlGKQCDsDdYcxZdcncVLtHsiftKlSNVdyRxDEkZXyEGpslOjlUWuNvORwwqQbfcxuLksrzawReoJkDBPCBPUsVWrfwQlsMLqxbJReXsBySBPFsKSNJkQUCeBocPlXoHRUzRUeyTgKvDVosjtPPrUQvEGGBzhUvwNoUOmIgIpeXJdvSwGTMW", "lhzYlNLVwrJSQsasxjEGDZqnpdHGZjUVPuPOShuXgsFdOQAepDDidcTzidTVSqgrmvwMQLDKrLcPMajSWMCkHRWnJInhIqFazVoBNaVylXrXzpYkJobDfLyxRdpoDTSeryaozujRZxLNzFlxCQVdeLfrFZXtoUNmVWVIMrPOTbVMBWkzagPGdcqbltGngllywiCWhiKOePzHPeklOVFMxqpjDVYuZhfSdBBqDkEVXRsGbcEDQhhBBbMqpMxVRmhS", "BMgtnGsHQIUmAJTEySJZLYCFoubEKGfvtdviYpiHtUJPIoUcmRVZpIQtnriRcAvAbXunBWAoCzGXxBjpFqSZOTrkxwRWdmHPJkUSBqFXyPzHoYUefPYPJpqzboNmjHpbBDPnfjYHFrcCDsZdUoAdnDYLfuIsjPdaQXzQLJnylpgoJdYJKZFSNCSDoqNSzMmZeSwzXStyRdFHiOZNHuTbbjIBAhsFPnxorCySKvbjoXgJsQqizDzlbLrUuCvNLWSg", "gOxVPcVDPNpkVdEazVkOhvQDIsnxgWRiqQiVCfUOrzIFDmoSIsdNrXmvPfaOsPgGElOMWaiggvVLOcTPuqkWcIYcepcKKLMNCwvITwbUhWSOlLRsUhFDFHZJPaIkBYfXRzlXoXJECyBdEMkIqLJsEhVMBYTunXegklLTalgjBmEXGpawCtkuSdkElgjojAiaYBZpeMNGtIaoiyBvqWrEggzYGtFmYaNrhYpZmalgFVVLnpXnfNKNrTdZuoaGzriD", "WdzeShtEmxaNjdzWDFysyChVoiXTkpqbXhYgSeTHjwxipixUBwjZjrYyduuBhFXGAHCoBRZysvbxTCOjCUzOVrLRyiPdKAaLUMJkjAUhdiOiOktSaqZgVrUcdTykHLilWaDTzVPYpliffDXbjwUlicqoMMPdAbqBlhWpoaPpotaeuwoaXWmpDhKdAPBjFXMZplMmOJSAzzcyIvVAohamCOxkZTFDRHzwTrjEbEQYyQhaYrEyDLrornrLOoxsxVRk", "inIiFdOdFGwmsjzSExhKpyVVkHZGPczMlhvBnRggieLEMwhEttyFXgloIgTwYiCYfbHndqEwZLnoYoWwMwiIyGDDFxlWocYtbUsIuUmgWKYPNNrEwiEOyNEOmZdapQjXMhhUjVMiUFBgvyyeKNdNjRgIjXiFRiGmtUIStWPcPbpZnLvkmYgDVCxZpnwUqRLBXjOjpxFjnuQUiIjbfqPMHjxlkvoRiPdlOKltwyVcomqOkMLJjUbEdCGqxuptFgJF", "EJdkXVtdqOoXnjKhUpPpzAotMXHdpyNWJPPAGEXadzaZNDLzUwyFrmfmOHrPAtQTVXZjXMjnTfkRjzqseqGVTRkNwnfqzSMokGHQYQRnTLmgGXRckepyBwaJRTmczbRuzSsdKRKoWghOGZwYTjBuumNyxecMLEmybMdjDborqaXxEDxbqQMfWlywdfvKwFETLwvGrQfOBjkMWMmQhEfOfZGvoiTzTBJKcaJKRdxqbQVVFmAWxlFDOXlSdCkQOQZV", "XBmmNVPabPTKyPyvsJvcSmjzqRChkVTwIMjrRINDqtZnPkYGKrMfGDciVOnwFntzpCtpxGPkyOmcvqxIwTQBsYagFZNqIyQcFejSDzGtFwLCIVhhIlulHLgXVfDiMzDhiKOMBRowjoeFhemSsZOmDSWVYBXrWftENHmAisTOVfYQoRzvUHrSCZgwoZOhdhOKcXQnYhtBDKAjEybDYdjsFWbXtIECowJuTJfEgqBWCottMbAexqAyvSvNOujAMtOn", "xYjgekzJhMeoMatmwAzcFLMOivIituNRXbhWTSanLiDMSNvKMGQnfshJjNyhWBGytNIiPhbZwaukgGiVtIcPugLviORFArMYMCtrlSGHLtPYflWDqkAmoQdeDBveilXyGcLStkUTrGROoiHFKPYOkIUrmDsaGVBkqthXiIjzwnKXtkaeZQelRngsXxgNXSmMrWYtkvOJSIGsjpsqcjHUXgbPLQexXApvDxmQjROQvnoNLSJwzshscidVUzQOWMux", "aABxyLGIABprHjlWMMepmoAtZiLQPyOKJAAyCxZxyccjOlOkqnVyJXUCjanlkqPYlJtjtuewWwkzPLmwYcBsCvsBroVbehbHHpcPlZtrbxBkTDimPeGmEozPvGEFaYHPqxcolRvCIvuVIANSiALBBtuPLtGrkwHPKoEWsCpZFbtQxNhNZnOeosqzpcxkEvYryUsRTMXzPXOUgqYaxTWnimkncTyupIfKrxDxLZNCDLpJlavAfPVXCnjgsfDBuNlh", "OJycqBdbjhhQkUbkiytmneUBSyEIyItwMoJWVGfnqNBmFBhXQUyyORGNefhyFAUSqvBIsgSLPfGcKDQONFcxTqlFWNQFPuPxIDDmfWwTLkapyOsTHycyyovqqyBibAzErUIYALTFXbUBQBGgHBaMhXIZTjJlifRIFLAgMvnqmzMVPSvrCpyAbhryWJIdVlrlKycacmEabNcDWmRQbFURFpnQahWvxHnPYgXAPxxhzgKaLeKiCZNJlBmvafxZWeVb"],"c_array_datetime":["2017-12-24 01:33:17", "2017-11-28 15:03:23", "2005-12-16 13:39:35", "2006-04-17 01:32:50", "2015-11-22 19:05:25", "2012-06-10 11:48:19", "2002-03-01 00:37:42", "2018-09-05 14:49:26", "2008-10-23 08:48:40", "2005-09-25 15:31:08", "2008-04-01 11:51:16", "2011-04-18 22:59:08", "2019-03-11 07:37:10", "2016-05-09 05:14:38", "2011-04-04 04:52:49", "2003-02-17 13:22:54", "2007-04-18 07:03:14", "2006-07-23 15:38:10", "2007-12-28 21:49:31", "2013-09-13 17:34:20", "2014-07-28 09:00:07", "2009-12-21 23:33:31", "2014-07-13 12:49:36", "2009-10-26 14:25:19", "2003-12-04 23:38:20"],"c_map_smallint":{"c_map_smallint_1":21788, "c_map_smallint_2":-13851, "c_map_smallint_3":-27510, "c_map_smallint_4":-24855, "c_map_smallint_5":-14783, "c_map_smallint_6":-8586, "c_map_smallint_7":-29843, "c_map_smallint_8":-15614, "c_map_smallint_9":1098, "c_map_smallint_10":-1456},"c_map_largeint":{"c_map_largeint_1":-4279332001573883230, "c_map_largeint_2":-1048341005761389010, "c_map_largeint_3":2210829774393779633, "c_map_largeint_4":-3986807603545199218, "c_map_largeint_5":-7613654524037362105, "c_map_largeint_6":-727071275181802745, "c_map_largeint_7":5579905587705669459, "c_map_largeint_8":-3390350832923054651, "c_map_largeint_9":-5786463330601857363, "c_map_largeint_10":-5763704162330072680},"c_string":"tEFEVNMzYzZJxJTIpvrBUegRoRUeIsVmtOLFhkpwauktoEAiudaIDixuIXajaYyXsBnFyqnAmRRpXJRHOkypgXhTLoMOYUfUvfnbJfEhuUtwJYivmEBsgkCGMnKNenvIBTnpTjjSvpsslaQPNcZkpHKUiYBjJJxFmTuPoihlVSBknXBJOGZtcLwJckwPcGYinBuZEgvjnQPrJaJoiCdDhuRJrydRjObnSqnglXVngFvxCgFjKsggZzAAhjAvvIBKVZMSpCOtKTiRcZrKrazmFGzwEkOmseQImnLzzAEonAGhUohmKBdFGHZeVEGEVpduXmASXOAlryJlMLcPCkxwDVFKVTdkiwIBqSWdofPdtJqCseILHsyYPlqbDmozWFVrcnRAgrHZksckmBgZZucckHzCqFuhUgrCwmfCyBdNGdhkLDJCcRIKZunWWbiLLMVGpBOsQkmlwrSlpKTKizjTOjLHjxDFtrdfAsPlYlAhhYLKuWCjFOhBMNWyKRMBQaOU","c_map_datetime":{"c_map_datetime_1":"2011-07-05 14:49:05", "c_map_datetime_2":"2014-03-21 08:28:46", "c_map_datetime_3":"2011-08-09 06:58:59", "c_map_datetime_4":"2013-04-23 08:06:03", "c_map_datetime_5":"2008-10-12 03:56:29", "c_map_datetime_6":"2003-11-27 06:42:38", "c_map_datetime_7":"2003-01-21 18:21:20", "c_map_datetime_8":"2011-12-12 22:20:00", "c_map_datetime_9":"2011-04-07 23:15:38", "c_map_datetime_10":"2005-06-01 00:32:07"},"c_bigint":-8437109124380634057,"c_smallint":19037,"c_int":-1884732637,"c_largeint":-8953694755653010714,"c_double":72.22022925175398,"c_decimal":72.1075,"c_datetime":"2007-04-23 16:48:31","c_ipv4":"246.169.53.125","c_tinyint":66,"c_array_string":["OorubwOXhXYjqYIaSBnnzQJooTmXuTaNdqGXJmLcMMbAwAxeYPdVnuTtYoFRUiGWWymfBECMaKelldNzSJxPRGvUtjJIMzFGmrgWBEMWlZmRtJuAyJsVIiLMktPAnOCudXFyWNMxnOxzmxJYspPxlyJgokLGNUPHBiGRGUWqVwHWaQuZdKftmonXVbYNFspCbbOTbToZsVYgbRYBOCNzpFzLxdOWsDnXnzPNelxUSqxybhkSOeAheZzdSlnicrQolgcFPHPfhyhYqfGMvRLGxCPKYheJgpUVUrIWnLXemqPyddulGjbdjbmBLqTpnYwWsIANprdrtoUcCkrQMfKQMicpBGXrUrMIKfAvuCsBKDhRuLmLyYouWhazbRXxxXaVMgmnPLzXOQOmvzIURtglsAigVFshOAfxckjMlifwGgrGWKTvJrjRDKvFnyDQsfoReXDDyYFujOSnyuftkIJXzpOgpVgIUqMqVoPHHSSCWmKEwMrmLmFAWlwtZbxWBhzX", "spHVHFjxgHDTgkaLLSCVAapzdaIxuJVCKUAJbRVkySEeStYkiJbKqxXqUPaIsEzhZvytQzFXvBTDaPqTWLEqTCWkKCIRXCKavPeBeXIOYzyDoUdIOwubvbpQgtRHXlSCtoJwdxcuQyRNlqNTYiFNOXxSLgzvWBfhxvlRrlGMmjOGFrCcmpejEnbDSwSawfzdQGwbJpjCuELorapbhJhElVHGjQQqpmYiYoVBSKNsLUEwujzHzkgkXEovrqHthmuqTyZLuczjFHUTqKrYwGtlyFoaZzWYoEisYXXgDKwWqPpOBXXoXaKQzPzToxJNPRGpTlTkFHCpawUOugCPqalkYeJvNOVysKfraNFRmTzlcWjxtMSjhgyqbStIKTMnUTyAgZibxraKPpOboBvHWkxSDflqevxMscqHvCWxfEijKilSQnqaLYDzJPHqKAotEjGrjOWloNwLBeuqpXYxybvfycMxwtAyXYuMwTNqwVAJKJCMrzfZSAOUOBWIcHbgeGPW", "qYxRovwcymSrIMnmACFUDbznisuiVrMmCGCaCuXfxMfeVOzCUcLTHCutVvDVzlWBtEAAYkbUqIMxDTatwQmilZgzSxIbUCcpWKftRQBazyprBFbhVluUMPmvtvhMVGJDFhEYxBuTnTsMXbGjOFALVxGjhfihoMpTAbuDlxwFzEfGhQReMvemTIqYOKYiMdeWcGbrySgyrhPUbzucwVgEwlanpScIWYBERzajgQRohRkDlNbBNQJjGvPuMJZFhwomkbcVXJFVoPonXTDtbsyqKHrfXoZOeozOcxPwepIerYWjuuDJsjzUTBKibnMsKUvedrAikwwQVoPNLYYElYpWmTxvFJnNrForSWBpmCyyfKXtUuAVelUEYDZdtIuCASkCwKmeZnrfdNwQBrVZpdcFcantopJacIJlrgjTaXEoxCUBXJmvEspXSstIoKuGNaklAuchgXJtygcbboNMIYkrDUyektpNeUUYeQQIExefrrHKcDvUpYMxdmPcVlVoOrJJ", "rPWpUFEFhhVXXtKKdzkmJNRdBJIoQtmIeyHkZOhtyISERrUnWnKKQbYBkCCntiDBjzFLRcRjSwlhmTNYJLWqkuVGpYZCdSKwWtJZVagDtHjzBRlitEgIwCDmWIiVQfgVdfRbNqAQlbwfmSGfciTEXiailSsOZzqVHnjUiGjCrtewiSLjHpAfqGFsUmxmwXjeoOKkkjzmcsNQTuCMunUeLWUTPKeacavcvLjjnxRvWUXhIzHUyYLfnCotpCmHZLxODaaeyQcWyhGBmHKYxQyrNbzvomccMxIueOWiJjkEzLOzntUpWPCiQSsLSIbiyMKnWAIuufLTGAvgbVBjOPgyiEPheCxOGJxCJiPIbmfDtNTIDsQAiwpALQYQXhKmtcGvoJhITrbrzgUqLgTovYLvIRniAiZmvakcnOoiCHkuriToLFYMpvQXWvgLaSaRxwRAoySycQdfdMeRMkJaqcvogzkVMgXaEqpiLmoIgOBWnqqypBuxKqDnBJjYXAfACfiA", "bXciYDyOmkHFujdqyMhYLaXLRNaTiTgXVnOTEoyKfkJCHXqmxQWjoVzIYAqEAdHlenzPtyMAduSNYpmzjQzHuSWuOFdgeApiJWrJTcsnbHDHfhRkYvLQyJJczsupcWVcCAEGJZFAphYxURhyKsCqRUwUjYsYDAoeqsRdNVjTBNggewBIPmmyuckydyjNAGfqBrBsIndYexVkdbsikcZqByCmojKRpYJvSFDunOoaMOEOBmtgEmbXXgdUyDJquLqVyMOUdWXhWceqGgYbDUtXwndDVCVqpzpZWSzbUoNetvWiljewAFglKMPOUAUteElMvjdonFHhTQPLMfUDFwYPlTMWeHjrfcBRRBoUeeTQJIMdMYVLDQgPvUQJyppomDkeSSfAXlsjWDUOwCEJqCLZfrGtxbpXdihAwIKoaXqYrVoPTKmlHqEykelTlXpkgfuqgbmrQlvCTOcgbkVUBdyaumgskVLXuDeqFXPfynOqkQzjBnnrtigvomPkuxIsBWQs", "NslTxzrqvgsVFDIiexKWHvgsOfavPWRECUTqUBoCZSVLcEglXNzGBxJqTrWUEsVxjkZLpszXdCScZwtPEdkRzPFdrXIqSFuhtUmCIyndOrPSmKdIoBsyUfJIYaUJFzbXzQFQHCmtGtiKdUECUcIXmDLwLrUYbdDxMgGQmFcPNKJVCqLotDkhaUEQedRptHGhJPADVVCVXqWpDiWHJmHlsjMKCTStvTXdTBddWENWYZHXsFNIMfhTCbecsKhcrkajeTcoSndmBIsLGJMCKJguHpneATezTqksOmMofxCCLlYWmKmDjIFrDUROIZcmOqPyRwTAFmRAWoszBPqkYczdgdsAMHUuVPGwMranKjbcfNTGxyaKLwRaydpigCvxVyhLERlPBQmYZNFwamONUIcKNFricyIAQorDFLMWmNKhrkKUXCbLkTWLzmARiCLTixAHOzWlpfKVWTYfOphaneUJtqXActErmLEOioxmnlWpjUPjiGQsngeOBBveaWPDLNZv", "EKBHtyStYBizEsXduDhgwXEXBCloHncUqBSyojLDhPgJVsHSApRcssYdxvhBqXWIYrqAWgDNiVdzxLQEEBCzbqUJtTCEJeMDLtJrKbjckbEADdyDMnVGiRKmtmSZNXoNQzpXGbGDYiLdHQPNLXskAcMSIujOmXlzWNfccBqocovZdKVTkZuQEwGnTTOPQsavQsvrwqhDdjlMVhssSjxIBbfMwCxtYeqampAOCFPdDJnmNPaxuQkjibISMClBgbeAzDCAPMXxebsXQpXjtjwthcqVTBqngmVvOnxTVcYJcPPlerGHXboXyAfkKWXpRyezznaOFoXIeYQPwSiBXgBtQOvdiuVKemtJkPErOoXFrDkSSiiNopBfHKRrFxaKJdeSHHkqkoVaHzorGOmKOFvvbYsAPeRmqthRKoSJDNGZvtgfNmLPcsGtYAHvvdqxnUTqhkWqGZlOcSCSxusZsqKAFVVbdcMbIMvDJSeNbkDBIkebDHYoJbbzsHmZKbKJNnNZ", "WlhMqHXYdffmKFpSHLwgSbgQRkqGZXDiMjdxgnMbaNtrnzZIpOgRlHaYKlbfhYOAUdNqzXLFmpJyTULgijScdUgJRIwvjuApFujeDDZLieqcFDUWHvUbOajliuxvudMQlqTxJcmrHQTiezsNkEXDyqSDcRCzRmvmBuZzEClrnFJQgZkppUCHBxGRtbbUYkmWOduRgNfFzOHmiHjqIvcjrXHttcvRSdFSBJixZanFjSrepwHdOvBnoIFidxqkIOuQjuZqPdfbiGfzLPwaWiLJKhmkIAuVeZHbdSsiqrlaBfpizCwMTlojadmYlaqgLVsvHgXtIicuPVmiULFPmVgAODWHmovuWJyWiiBNnhVzFfLiTiEerggJueNhSJNDjsvAIBEhqQjAYXEXfoRZPdkWSgohKHcNiTkGgcJPXVXFfLfnIWXOwVmFGcaDJqVmfmXnUTHEiTEWXoaAybunDxrkKtBxZOQEJereGCHQTipGJOxvWxCyKpfgIwloCdxHYTsg", "mjwwppcxkeTDInnqGSwDSnObZFznJEwYBZSjqLCQqdYqdmyOPqRFFlNlhJEXPucprXRceeArQrgyyTvnSmgQmQZUERtnfrmjmsBFkDUyolKnxLQeTedYgbodhURXJdsUkPcyIBHxgbEiISjqahsvGcQxqSvjJRpllRbwfjBlonZjXtpKIfxnTvfBagcRjxhPlnRKqMijIobhcwZUTLzgiBwYxllCtgSqkwVLRHSgTnlXLkGfBlswSPIaWRvzcvtPIVYYPdzHhTucVDVQpYRPbqdlEGPpeiOAaguQzwUVYjAAYmVPnyBzMppiepWbwGNDEoUbmdqiPXJaRIQHKBmCHYilPDbyvFsRCjCiWhkLNfaBrpocozojSXFmIrtcTvQIJXmJEXnwqdlPweAbzdYFGVRFZrQEvEaeExtbUEFNprbdLFXbgAmjiciafwAXqHBbFQJvfbyTGoYSOzvFkVhLleNkCVzEjghTPkJIJwugBxxzZSRrTJtVWzWkUMlCluWW", "AjbssUiwGFKTsmDiqArWfBEjkVTCntOOeLiTvJBcKNFhxHslhutIdMiRVoDyybExIMrQUiJAyIRlNPBdpaYOInoRLsAXMTsvAPmQzFNYHaNsHPXgHhkGKuEqegGzDQiDVZYVgbUzaIcpGcuinpTvpbMDQixfQDdMJVzRNENwwOsIgIKydFzuMTMSBWBuOhMvLBUsfxeKROroBuioVzZkjggCtKYLZuseNQSYXfsQyUwNMFXfqqzmmheAsEJUKUFITxQANYsRzmeNhAZgIoUkUhNBPtIbqYVpKWJhJMtbVHibpqxhtTCiYrBoENeTjtNSRgRoKPASzAQIHkxdsPMQrtkcZQKgIPisDnVipnKYAFHTJDhDerLTkHgcslQtoZGcGpiqXkGMzEKtuWsJsaCyaCwTMRVBqZIfQbqYQSQjlYMaGcimTcUOxesrfKxNdSasGqLNjbAvwFgbiAXXTiFSrxPmetGngPKPgaZhiyDgSWfHaPEKRXnEejRfBiepPdnX", "aaJyfyejKjllyNcBFXqeXuvVBQqyxCuLjPIWNELOapwbFDScglkYGuKEjQazorxtYeklCnMXGpuKmTDLkaLoqufWOubZvWnnKcaEugYrldsWuXSgIfvHCPqtDWwkTNjErxDIKlBgstFHvpLeipKaqYFeozbzLBWFkxoHbySrQmHzuCULqNlkKQfhWCBAyJaGJXmkPKJVHwTFYjYcVfdgZMEXtZjVzPlunJmsEoWdkmfrJglUlowqZFIogaXJEWFfifXJQPtFfsfopSjiwVEaXqnfVJzaVeiSKrWfeXLQnFWMpCgdZviZHToNKuSvqKkDkbncKBeHPfaYyBCEWuYbgahoQtSVCJLTJASsrwqdUAFomjbUqpKZjFwTecaSOIsJObXUjyFyfLHOmrvVslHuRsPKcdwrKXoFOsrkEcZTHRxcJQuxNzvZucDOZkDtffrFiNMlQbFUeKXmYYSIXrxDniuuEDdLhbdqVpIBDLnOtjOGEJhsLagHegraHiqEnYXY", "ITsjCJhelBPiBgvAMaGMXALEoMLokfbRbBUKFvrQrtYFoMVsZyEiXgnXcocgUjfSWboZaqHarfpvfswhZWueIFOpBVOkdLtbNjSVxymRkKCxnkcAziRvcdoCFOnqXLsmmjQWwsQUZMPqIBfyqHsHZraFIaRKnJzynRwuGHwOppGlRnSagCplkvyKbLBfFpSzgoSuRpbFrGnAVstWrdNFBAZXabhLbqiMwqknGQpzemcgsUQJBtctbKUoJHCouaCmZjwsnVPMfjxubWqWuwFEiSkysIoriZYdyVyGOEMXPyQzzJvheKFtHWIRHuMcHFahnnSeLpxduMIJdGBjVGDtmnXJCiQaDYUyPzOOoZZcVCvaHaUUkfATfCyyBfcFpWyxhpQLvebljfrHxrWGncwlLUjXmYhFzEcSvDQDJjnCpgRaSdwTSddwIeBFVQmsizPiRDTDVorYfWyfKMMwHaXtemWXfCFNsbjVPTLBnymBHorRoDKGPiElqRuSPEFhJIen", "aIpKLKVHWYRLMwpNTjMDTxpPmDmILAHNIkXgNLdWoJdtVgxPYkUeLphQNRZNJXCaEHaIcSVunNnLuGpjyZqUCiDPUVBoqXOLgqOucZOTgbUTPRhyeLtdRBZLxncmnOTHdlKWEkMcVvDgVYCUVKTrUruhCvldKUciSAVzOouTBfUjuGZKXkfZHXKSpAyTsaRzKKUblyRyyJCWlrHbutlcujJqBIFQeCCWagdfRWRMsUNfwIMuAUIpfNEWogCjFQpDMXsnJWlOVbNYCFKMcKJmdytUUSuZcuPjzoIEqofIKbPiGvSiyNqXrGBSAFRHEpmtUOqAolklxWIGxlLgmXoCjZLURTEBAlSLGWpBNRFTrRrOUYfrdSEHEuOWIeZvtWvMWZimmMhNjnngcFVMomjpHFGBSeQKZRxunlYtYXBLgDwIxOENGCgcLiFDjyHLzZEWpfpxVgngpjAzEfdYzdPvvfBpPraysMZPOajiRASFnBWymRpXokrAwZdExSSOjiVH", "CGYVEQMXuctgJysFpHgxfCmeVwbfmPjXpqLIHBYvCBArGeOvtgLxWwcxQWorPgWCLFVpSNJGluLJurUEOCyIGFxrSwkVtDEoJhSDDyFjvWuiTuDMGifncjEnRZdrjoNgKJCgYPqZDKrXgDstJMJsYpWchhseBGzBGGIPbnAZkHajpfLANRQKQrxnNDZbjMDnYyOnIFyDECbFhEfazkXnMqUNHeJjyoIAuqfSkDBtbOzodCVQmhmhUrfakIiBBtWwBdXZfviiOAaoCoqloRJVIfYTfzOCoGpkVkHfuiraDNKHqZkLJXipUrXPcNjCPrVKWxQruYlkfOxnizmJxAotoKvpoRUrfSVIyUtIpqRxDvCXrbDhDXziYOhuWoaUkqBJszldXSUCPaDYvgaTVhxAYVYmaqCiPkPPTHDmWRUlAOtyIDcPGGUFuDupYEjjNyEbuIOGWtQiCOGzVuHFfZRcKmrquIaoZnMWGjIgTqBGQZdKhgeUJaTGguFeDRzdCjoN", "tZzEdESKKJKOtgGVIZdwuYjqzvQJUSBVwLVgVPGglhmISHJntlNGnImvojlHDUaFeOOiUbnfExkCzJgkMSNUGdJFxmiFNHpFvddJtsFDhZTMxdxKStcjRsSsFkvqAWUzcTthPLAeCVPYgACeytJPoBlBARSClPmljJBPUOrjXcqNRKYguugmFuLrKxSrMBwlavJuxbqNLtsqiYZSoskTlTiotRbaGgHzyECpPkhzFEecgjLtPivVnoyTxoceEuQhRCmEHYdooWAOZfHCaZchLurBJdyGAYWHuOqmJXUjrIriwhnfBNxRjjhENsMETRREcSVdvWZEtcbRafaZMCEFZXXzhRaAkdEjAhgyACqDOECEMUmZRbgWRtkBwEFdkYNCnnJtdLBTLJDdhmIlcQCOUQYLKuGBpYeAcWYVwNwHtyPwTSzGAnredRZVcyKTkXVdOouotHxslaLoidBUVTCSHjHqnuvOGEBVNyrSBgRxPEddjZhArviiewnkAAlPqSCC", "IbjMBtsnfQxfOZfMjHiRWKOLnKAHQWXrmsciLfIUtFqWSandXgKTpyKeeYANtZjlrNEbxUfumohqaYJWjPaOvTKCQrHURFiMvXAuyEVoNSGnZHNzqFLnoRCMBBLykSdvDvhQInmroXsnyWyQoSpWVGmhrbtQFDPQbrtXyICivVFoyUWmkijQdbjwGtIZdxwYVZJaAGEXQgPatnnyyuswvJFsgyUDaphGHstJcouqVYsuxsAAtbLUYlnmWHlQkWRhLBdxpcKEwfBBNDPksIzuOLIBZIlgnUcGxyrajFgTYvlOotDGzaYZFEwkQoZsgnIaTzOuMfHpbrFuDcyGFsDhNrSODndROFYuuSKPzzRINSVNmlaoIckNTYnLSGuUESIekEbfgCTgOhMrrgnYSkfGNpWAeVSLIeAFUfOPyiJqmMWvpUaDIZHHWSkXmJqACLIiNMPoleNtnSmzMgPFaSNrPbmOnWHEkloKPjenEvjEMYpgMYZzEKyKKhJccNNTyYvP", "BWOxnXWGxhzokJmZzzawAQRppkagYsFqFdSpPFZMItbBqmvJnwvbEndntmhnaoSsbqXuOopJhOcyDTizsMnghASKkmNokVFJeTJSkmcZsCrZwLUNvmmdyQbwOzQrzKGASNLMXnWyudXXaRXkZsbvEBBhXhBrIeYdRdXEsYORVpgMhomcrxjVicxARkInkckldeGHiEyrESekWfmhEIvCyOrHzOnotRFcsuLcCFmKbHKItwiuBJyNlXlnbJWwgWkscbwjbibImtCjjxLFEukFpfruESePkrhMIkvRXvFFxrIiRMRspFLDCqiTgWLlFmtTJbnTCtGrUhYniuUCxUSzJUpmkSdCcNRoCTLzzzElYLPGIzqmXagMBXKCZBnshBgycOfvcwXqbKiCcIddOxBqSXnffnGcvGkTYXGEtMsOooTxlpqighWejbXGElWwCLRyWILlqlQaGNaSOjCGlnuIyjlqMUEHfxVUmRrQqEpKaBadpVhekhCXOJZBHGjLjgFw", "BhOplnrtDIfjHWXTGZMDruCxedGxsCVHPaaoTFDLfcDRkHrpoQBKgahXcnFGVmYHqEqLWtyQmDKRiEUHOYeFzbyDkilZZRWwlvGJvMGvYqKDpZgDmjoxYlwrevhnLyOCpIVQyLQzALrjOuEsskzckvHwSBAxMxbmBpEasicxGxcsxqftNMertAFMhrxeXbllHocRiENIyDQCWBdAnnQRnLcoDwqxHLxTEgykdjfXYeRsCytpsSMIPgeGjRjzIniWjMNejHNJxBdBmyIhvXMrGCnshyXqyWdzueCILGnJiLvOwqoKEKRBhsyjSArICGpBbsQXUpRscdoEVfSVmYcySIakASIVoKAVfSNHKxSyBohrgpsLaMlIrqLGiorpvuqNOaqFGBtuiIlvHMtOmmvRTAWjtPNkNFJTLihgajbkrUQmzRNENzbRTAWcoHDBahMWBpYgSNqjMSzeBGzGZvMVsAOwhyKWrwXbYcoyhEmuoaRkPXKRPdEmcXcBxgcKGdiR", "fmifnwktBAIGbiOZGjSGQklBPOSBwslULgLupExPfgFxfHRGbAqHBbWLIOvlEimHMoHGjPcwlupNRteCuuScgSeMvqhwxGzNMpwYPmIbCgKlQcOYdFsGIdUFkcXjUVoEjFkXzRCGTgdKzhoCmYcUdZesfJWgukHwTiBqrNQTCOBUVteTSbVzSSvGsmauzqWFQWiTNfKDrDkUkNfKZlbhcxIJZoIqNpUnYzemeMxlgxvWWsAyDQFvnTUBMliwtGaaCimuPPnTUvMcnpaFhNNTFuLDPpNNFckuXcymlhCIfChcuQhTZrMuWhNpwMFGqcJnhJNDjGHVgxGMOYPfhXklBgYUyFtkcByBLpSfuaUHBcXeEDpjPbWUHzdeRmQIdKkNXTJVSnHjksogUKoRISREcIynuotiEoToiRvQHDMNNzUstinAPxJaNrbyxoKxbhbOPGlTKYSzTwZFxDuDwXtLZNtdSsCUGryvcnkIlNsDbJPPqCigccFvJQGcUHRVYnot", "OvRKlVdxcnsbxzCtfDeFgrXfteRzAievnJTzyahpAZvjqsELfQzVrwhLDkGYhiIWGwsbieFmXSzScrUcREvlHKxjvqsKGHkBwDFSIExcHpxbwgqjiNfDfBtNwgfjfuFOcoxthZJIQtDgbSvqAminhiEesVcwLNLUheWMfudSmtqSGHYwoHNRIlFRcVyJTxaJYLCaWvYNFUJEzNihZJuIGJdOUiwrsusRJQgkczpYPiPAlKvTHMJVvXuYqVBlVtnOkpOWXyRFfvgncvXnVJhgEIuWMwUlZwOuXKKVaPBQRjtsHADqxsrSjLDOKTlObdyVHdJQqzeHpTNEhuANRYJxxBErHWXLyOpuqbhEhFVARkZidIvCZCbvYxBFImDbdjiHhlkzVoXhoICpyutvhMevethriXmhNIRZsDOaORFbOTqVDzfNHkEHMCNFQufGBgYQRSzhabRqTPBNEqGyKKGazBNZpfQVzEXClDhzCPSUaAbWASsXhynzCHaWxEWCpznw", "dzSsyITKRPWJEAhVdEMqdaiMseZxPywaHewiEsdJKERdxXkyjpDbREtyCkFCHMUHbcqVyXoaFhOdKUappkXSKvPJkaIcRlGaBqzcppwCPURHNYALrcRtGqYlznWPUlYhQRofHnNWwyRGgNUHBIDnhUyVKfjZokZvbOwRVzsMwonfTlEiPVAqJPWKqRxTrQUaeiszeUjreRwojfhHIyhRMrjbvzSvJzBAoxdyYBfuPJqbfSmvGbJZuKLAHMMWhceNChoIcPdqGWCuguzmixCddapVbfeOQCStrTtteMGycZqPvBEMIhSoaMlvlSjrMVEJghfZpotwDQNslbrzHBubGMwORBqKfNaiQECpKjGKkAqeuDAfUhaMGpBkYhBEqTFrFVafeGBlvNUebfSRyBSCBUktnuVsfOCjHVAXlOrbSVFGYmTTwPsXFUZKdNpuGjfgYlAwGvzOhYOxDtBxYQolAoEsfPoaSuRibdjTxXlhFHOhtWzIDKQawusysUgDqHmp", "QVfNFGeIHFjectDcxiksalDoBuYKdzWnOFtZBjnVFWgdGjXaOonjemgZZTpeigCEGxAeUjwTXPhVnxmYxwfEuPxwowQSVuolFNYmKPsIatrwBIxQnIAvQwEhnXvlpcEbtqUYpwCgeIwzNQVbLzqKYBVWKxUHtpsXxxprwBmgmAUIeEPxXMuObSKPwYwwfmlZAyFYsKTUbIFbWNErhEAePIjCnIVVwYmoaRJDhBZJpeiuldSTpeVudEIVLymVPkhfUjItSEKCuclCrHCeanLrfNgvLtrVJKGVnrLRGpjEEYSojjdvScCZGwbDnOopTvcDuOgqoNzGHsyFxLZRvaMLRRtRauugYNaJeetgFNJqpcQvOgVoEJerRLddKAyGyugUROdBMCoYgwKYyhYqEXWtWsXEOzAtLTQoivaKWVwAzSMhUDzqeJQlOaqwMUEeSgenpzyjFNEtfscNllvOCeXcfZfFlkVobVfdyaeiVNCipzELTmgZbRERWlBJeCFzbTYY", "DMCiiEysMjSbVispZEwXjHXKsxSrMoSTGABMEumlfmtAZbtvqXGbRoDsgiNiZjEEDDauMzIFKtPmDkwgxMxYTNrJeGFAgEJeiCCSNIYXHxddLUBsLHCjTEpbyIzTRJJudLHxyYTbYsNEIHNtvyELHcpNHlYRqYhyOehEHgVWglputHGoLMsHmpHoCWGbbaVgkVTDPjLFFmgAVvNernGsdKvySIOyyKREOKwyOKYKdWhlrODDCvBggHGpAfxFUcxkuzTfuapmwmscgAXqVvMGCPtiYAwqEWgYKAWzdvqYiKpjfmVJIlrmITZfahzdOeETszKGPASdGqKqDSrvzedlBedEfjeLTKDvgptUMXXqsZKZwjTglUMxwgTFAQwmRvEUBAxvLGCvHfCkrMiQigMIVhmAuPoVXzruboyXMNvosnnFRkhNenYGVzQLAHTTqNYoBvSogzMktzNmIOursBrZMmpPCITkmgCklSfCfMQyJKtriedRcNCMAeYnFVVkVJgZ", "sxFYMKMCiyTfXnLoTsEdiEhfxyoKFNSzwGJcUSbYcihEtXlXASvXTeAqJzAGXAegreqaSLuHndYzYXdmqWplWkQooMjXqndsNDeLWFSEjXPpFnnZziMjeYknzanFWiKLFMxZEPUuKExhdeOnUzHqLtkvQHRbFoEBBqWMKtrZcGSzaqeCcNrALKxnVpAYhSUbGEVMKCJLbfQshRjcYYRveWxKkArCzqvNWKYhqsegikmMsFGpLQrUWEFRheIhInBlIqYKlQVIgKaDczDokuQpebGMzCcSqEzsiesHHupNdhVtFdKdToVDAjKCNmAqgWZGQzSHPhFvSAqFUfZOekMgLIMXWUHCqGMGpPTWBqDYiyVXWBVVRiZlozLUdfzrxBBwhviJMbtGdQPsiJoVQHfKjVsYMbDVYzwDZYhkenDjMGOkWVUFrtjiOGNgkcpbCFKBrZUogsOtrYzdPAMNaESAvuOldDigIXuJeKxWAyukGooJTmmFhwTjoXtfTCYrqeAY", "fuhNaHdoxGSSqvLGAiadNIvRlUKRbFTwslXTXZwGfqVYlFSbXLlohYyjLZciPLcNqHLsmWkiHpwnCTsxcvhOHuFAxNAzbeUPSNoCGVkuHMbCVxAVXWvWXPEdrhwiqFzPILHfWLUhfbffwheQakdEHiQRyDcvBheHXOMbGiIUGMDUBIUldPXfutNMLlorxrdckOGsaWrIBPSElhmaywDTSuVhwfAHSTVefhTyqURbraNGgBMOwKvLyggkujRdeIOfxJtgMztcElPebYczRyamkDqCxDTzgmXCrsPNvsswBOBWZcBzmbssLFjsfacbUxsBSsVAFoSBSlwgbNAJNVvXdhVzaAhbEBXmgoGWSWycqrHtwNstoQAsIrsNMrrREaiPIkNyZzhgsWTtGTSIZIppPmXoTQPJbpImBgXwCGKEVFHURnUHTvwGadARvuCSSEuoVkbBYiroHqcJxmeXOydTMRKmeoiBFtrhbvIURgGbFatUFBvHWUDhuOjUxfEFDcuC"],"c_map_bigint":{"c_map_bigint_1":1044011247193989790, "c_map_bigint_2":5419733149062506723, "c_map_bigint_3":-3200311295522654245, "c_map_bigint_4":3896278057874806749, "c_map_bigint_5":-5374045434897898745, "c_map_bigint_6":-689008863912386114, "c_map_bigint_7":4222742316214284430, "c_map_bigint_8":741741270894339384, "c_map_bigint_9":8393214862478658393, "c_map_bigint_10":5374501081120260377},"c_array_smallint":[26803, 30151, 31602, -19236, -13749, 17204, 23380, 21841, -10840, -30906, -906, 6685, -3060, -27952, -16030, -26569, 22684, 23264, -32765, -645, 22456, 30596, -10837, -15683, 31051],"c_array_char":["aMXmQkwEOK", "RVOVSPxXnU", "wZtGBUvSPu", "KNZLDRorEK", "FnsBIdzcgZ", "bwIEhCWifk", "rVkkSwTHNo", "BFLPCqfTeu", "AAkuUNbbCS", "sPgLIYEGTr", "VurAHpkmBE", "rTDNFcXAog", "UfPkleAAZf", "qgpPSAoans", "axtCScDyPF", "IBrPOVLZNG", "eihIfLsuvv", "lZTPhxgLTe", "fKfzZXVgJq", "agjUhCVoid", "nJzYtJTdmG", "IAxKWllGfU", "NrAHouzEXK", "lAQCKrpdly", "WOUJhQHXsv"],"c_map_string":{"c_map_string_1":"MdMqRmeKzwUWbwkHSvikwXrORAJyyhoSqYtEHDJEKyzIgBvBuKjaPmMEIuAxkJQWrHrkzoResqfgRZGzktYMmYZOpvfgJIKIgJHRAmRIEDpobFPmyzzSuYMlIOjXobdqwrjTwXEAjzltAxBUWKrtxYwwMLbwfsENFiLvoFlaFIzGllipdHiRLanoGYOhCUJekaEPUzdkvPtkxdVYlnEYQMIdAFjyJwHXJpPGaPNRdhOghtwWtlTfUagQJCblZQaXWvCTeExiPXkoPySsrgwtonEiuohylGvKzUBiWFELiwLfrShrPdsehYgSZLsbQGwJAlzIrxLsQXHOqWPiUKUQvyoQRMiQizzJqYRXBosWYmyQvfmztPxPUZyujrLKwkvqeLTojkizPfRQFKDblhlbRWAKeVoraJyAIQFzmtTgbKNLdXEkZMRlnLpMZJfrpOcMDpIFjIaFEameoOiTdVLwZjzmTelglprJSrMnEECdVacbLOUdJBgmGglTSUOQXnMz", "c_map_string_2":"QqyBvdgFLffVTZamIMYCxhoJmCijGJtNicozaLnvIDXvtPLzVOPNXdfzSGnrMkhauJLqoseYtezGLNOfAAiFwWsBhOiMVGtUmMOtMvaIUvedLatGtoLuUcVtUSNkTuDBxLmOEAMDoPAnZvelWkxywoZpCimvSvNjfOlyAYOiYrnzNXantzZEkZceJLcUolbMWGdXMvIuyZebUMUhgOnvwcWKHpnAcURocaeSllDobTjCpTYwUvtMkJvsCxeNqNGUXzpBNdyrjlEDDRpCjyYuDfIbDoCDsoEnvBkIdsflfIzkqOiZbLvRZuNTKvmHKFDAEihlxYRlhBjijVvgqCzHHowTMEsYNYCYyJdcyVByxMXrCmYoHXtXjCdpkeWxAEvjDSDbwkHiGduofaEjtmylEXnUoAQwiJkeiSRSkdPxRwHjGTVheENwqpdbhBGMSVXYDuwMyCVqdrYupOAUveeNRszAdQmMkzphBzdgoeCychndVASAQbxUbELqNXpYYZlj", "c_map_string_3":"FQQjwLMPXeeOUlHrJuTqJtKKlydhcBPiCVAZSDdKCBNydaBXRLDVRtrpIGlHYtHzcWzNmdTZkElrjOwtdreWsGIhDTmQAFfRnKkPFDWMJZfZTKTjTgPLTAiliqQfGaqNELBXWLXtgoLxycYhnJTrbfMUECGxmvunbXyWIaeMCLRCMJmlsgaGZzuzBdzAWCCGFkIWGhJtOtMGSNnBaacsIWQGYjnjxKuCXkCmLJrscDgYLyvSZHhCPkpUxBirWmGXyyeKjiKLeqsbdsnKfhgvNwMerkzcsRWALbpHRqPejrpiPtmjWzzgRsfwhYKfLTWPgEWlKTjbhgPLdEUXyxkhiEYFMdsonlycuFBCqonzyNFCfOlZhfZdPDaMinoeRYtnTlvouWqLKsQeKyAxTaHJTfuTirejXdslelBPgfwhyvvOFzViPvWLQUyHHZeKXXyHXtrPDkJtINAvkaBUfGknhTxfpUbjPniXTBavWfnNplzDEasQVDJgYvLUNlrPqQve", "c_map_string_4":"WJCKbOfHYEWZMIWtoIYpjnqvXEEMyjnossUpIAQrDLcZTsnAgJyNdOdjCWdxlqLKEJahEhKAlMwDpJcEmczesvscQABlKmcujoigpfqYDfNEPPIuKNuEOpaJlXtzMUYlgdLtdQUdDslNojzgUfWLwvTKcgLaOnnmhrOAiSOUvbnnUeidbYDBjLOzaYUHiHxCuvTWEycFyPGxDVFHZFtadWUyIJsPHRnemFvYntjogEsNKIEPRnxEQWsANFcNXnZAeQFTpaCIOvaidCYWvsjtdGMqRVlotqeeksVBrykiVdTYxifYyXuaJRNmOwTexfIaxrASDYQxwSPIoKYbQIfuzMTwaGZJgbCTScGlYgXMXCDdHeXphnSSrEQxWbIzRvSMGsuPABPWHcPUArPKxUroXFBvRKJfnhTcZZSgaiaKVXXbjOZxHyCiqfjBqALtXcCmEqrcIDNHFchbPbzliHGWgBteXxizAQsHkZNckupkzSkhqWQsEnoXfDqFcYXsRGez", "c_map_string_5":"DceuiPsPlhdaSFlZVoDmrmjgkTltvwPYIjqHuoSouMqWvXskIsPQaMNGZSKEzqnjgYlRytXZSRoEnqeYhYmPbSzDseKslufVSVHriPZBsgXIUONJqItSLNdYmzlOeuwByOHVscHfmCHKqPYQxAfsFJXsqJszUNVioAIIfakkqFxriIcEQfXLANkIilonIkAxsJgPlRrlyEBIJkCmEyytHPOcdRszSoRScAuJMBjvENPFjaNXonHmvSsRaIwJPsdaMZknwznYdyClpMKOYDncebFuYreiKRnTKzXYQTampFtdhdLztFaGzVvneiWzCuDHMiQNiVkkDvrNWNhsgAuhZCuTdDjisofBQjKXBWBfqDDQQWNJYloMrzKNEyEvDfbUUcYaZIafXsmEPahSqjLVcueoBxijsBYRSdewonfDNwnlUZqnIlsrqdlrRpOymPHzxYXNaEvRhSZuIqVpXqrkkiQbHmQYjruFcxQbYMknmazYUzigIXQQOwcomWdcEzrj", "c_map_string_6":"rHDlzFbLtMRZjrBYBXJxCzsxpzkYrVIPLuDzzuAINEpIfiVfvdahmwkNBAVuTJWquGPwCfKcOCpBJqsUUfuJcwMKdbOORNPEryRiMZCROjIaQdydNYtwJPwallPcadTLlTehdPSPxDZQBCwEuIhTznJozMuTsvqYerjkkNPDctHtCVAXJUOMWdvySdHeCwIXIEpnuprdEOkbaUDuFCuvWaENdPwvqPxMVTCsZArFQMqkzMBYZLtTgHJFpJuxOKuZxXHuIBfiRnBDpMPPzGyOrooqKMCvherOFdmPqDfjKmFawdESGunNTvcbCvPpxUAlcqcmrUlWBnIZSUvDHpeVtdwbNtTzodhVhWteMoeMpxPOaqwVRNwKGKbDQctFevQJPWCGSJOmBEKKyDDmwcMaiEkYDzMWAJgYyWDWxXWAGcsivouRpwtoXFWmdtXKhLOoCuRzYSxKUtenlzDjLzjvogNtEMTnrIvmaItdDfFyXdgNDzioEAGfLvGwBFkiySed", "c_map_string_7":"IAWHnMRqNyujksmsmZcTObhHDwaRMqRyaaDTnmRvYXcSNDYkLhwwLXKXzjyOSUCSVifiWQxolTjIuRtjyTueDerkznodyiAPvlrDKVVOipmFxsdaEXrISoOuuBpMfovvbNvUMEeWXFPGXHdhLwUOYyQdSUZVDTlFcPccSfFKnXMgyLcvMUvpWFCbsIdzAyeFYpLxcElshcetiXqoZhqKPacjFTWfUNLClPyjkHJhUmCdOhuSEOctsaNUvffdnVucyDotAuUDbhVgPCTyrbYLXAWOjFispnNCZNReOsauVfPSHFmrVXdLsfVthtSHJzWAoGTzpVlWgLggTjHAVJuJOkvEDavmcBOhxJDXESIlPCTEVfWqxtzpnwsFxAOkPfjPeErkxROWszGwjnJlYuWKYQBRjHIMmTLekUdNJJCtUTPZaIPeUIWqwLlbxbRSUqvhkPPnTqlwadFwWMEdBBTzrJMIboajiVMcTDPdvXRNllPpcZeibZwVFVTPoZbUGcXY", "c_map_string_8":"uThZwKHJSQKzQPxFqQdKegzOUcugEjUCWyCPZBXaOeITbAnUTwEUReLhHTMrCWMfTEsqAKlweadXkiGPRkurDmnpEuiKxGqLWasuEVPPMPELgilZdTIlBpyobnYMRccQjcnVxaSYiytDwbwegzWYkwEodgIaJOYynDuYUXTDZrCJTFrudheJkWvMpomrdhyzNmFqPWXtXfGgqJjaCKjzblvKldnseTENUkCfDBXhAZlsipvmqfkxJxtkqkbNgvzCzWSOmKuGfxeYFlJCCjOTyKASwoZKCbIFbHTsDLHTYkPZatVfmUxkHRtRVVKqmgnSJbqmBCQOaRkXsfgeJPuLpeaPaXyVCEeCIbkZJzWpwKkpSQPCUcgUKGomGpnxSNrPlLMwGsDCTztPNbpuawOJMbytMucjnVJVYtpbfAhFBrdSmmkrEbRYCaoXlLtgRtMVxoKjEgeNEtcurjuOepbnolHZZpTUpfEtKanphHfIcJpURoHsIhEXIDkkelPkCRBz", "c_map_string_9":"vTHeWVSDornUlGDrKmJtPMQhvuBoqWkdgXbvEhjJZOdhpDtmFpkzlVHaqggoInGkGzUIkPHoixoKGBSMwGGfqxjQAkTjaGupxUXHGlcEmRutvffVWvdxNNizGYlnvXJAHKHfUGJUcUWzDfJBGpRWuQebsgDKdbUnpAcsyhUedtFlPzucFjDijVGUNKULkaDpOncYszKVZoeillCzOaTEQNmQGWyesgJoSPBFSXyudTuSzZqnYnUxjgUekTKphdUpSePmVAMSFiMkKlOqJJEfrWgOHYaYynIyXVybpxqoApKEaGaKyrwEoYhdTzxiRQYiBMlGSLuXGwmoRXzflmmtVGnchUlLMzEqYFCQgCRdEGmmsJntYkZboMejDbqULEyKZXZhbwXEuicqGoBQLsgiRSiTwCcNeonKSnUEUIgYCHPWCgkfhXxHZFHIRYkzEyDERfEeAUwZPyjUouasUBOuOWqvQRblYXmxikutMFNoooepUSUdhYSdiCayNJaZNRZP", "c_map_string_10":"DVMTCrbOOquFeCIuKWsrcOUsuLePXMvcjYSsbkRaylopyoKvNwSbmUImKaLJMTBRKrZQcEAnJVqFKcoNhBQwHFLSEDTrovEoprHtQIPzygsukYnzfuxLTZcAXqZmSzfESoGzzFkqUqvVeEeOjNAAyJWqsNBCGruvoGrgthqRKRHbpWSiaDieehWZQMlRKNYrTexjXcJKfBFKKmvtJVuAlJuOIVWOihRYlOhJeXBpSDjAOVbYjHaTeiPqpVuHyYpkMrQXaNduufEueGUirgMBZomcUclFDUxdDaOtrUOlLZbTYqNdQZzttHNZuGRGDjjCLqjigjgIOBGGrNnFfgepeHUjtiYTZrfremHecJzAZXRJqDDNgqjTbXjqJmeAOfPyzBGpUadIMgfPXCQCkYmYXSuYjPvXvULRGxHFqHFlBRfJKsUqjdjVUkpfprBCTiAhYtzxOaQBOQMtMpYmpaOFfFvnuydQRKttlCOpbYZXGytmIHhtAMWByeRKWuBNTGRO"},"c_map_ipv4":{"c_map_ipv4_1":"242.168.88.61", "c_map_ipv4_2":"73.255.37.185", "c_map_ipv4_3":"57.226.171.189", "c_map_ipv4_4":"98.139.124.110", "c_map_ipv4_5":"194.111.58.126", "c_map_ipv4_6":"63.216.218.58", "c_map_ipv4_7":"16.54.151.171", "c_map_ipv4_8":"12.54.253.225", "c_map_ipv4_9":"122.154.191.147", "c_map_ipv4_10":"216.4.168.171"},"c_float":29.876478,"c_varchar":"think","c_map_int":{"c_map_int_1":696002698, "c_map_int_2":-1571910908, "c_map_int_3":-1895176269, "c_map_int_4":-1853086133, "c_map_int_5":176511177, "c_map_int_6":2008813817, "c_map_int_7":-536673399, "c_map_int_8":-1666301181, "c_map_int_9":-1850890348, "c_map_int_10":1259649713},"c_map_decimal":{"c_map_decimal_1":3.0618, "c_map_decimal_2":96.0232, "c_map_decimal_3":92.0329, "c_map_decimal_4":88.0338, "c_map_decimal_5":5.0982, "c_map_decimal_6":83.0139, "c_map_decimal_7":72.1398, "c_map_decimal_8":32.0154, "c_map_decimal_9":12.0003, "c_map_decimal_10":28.0773},"c_map_float":{"c_map_float_1":64.07991, "c_map_float_2":14.765284, "c_map_float_3":66.175224, "c_map_float_4":75.16188, "c_map_float_5":41.361828, "c_map_float_6":82.92318, "c_map_float_7":83.50057, "c_map_float_8":9.48569, "c_map_float_9":44.607655, "c_map_float_10":73.968124},"c_char":"QQuhgdNygE","c_json":{"streetsuffix":"haven"} }'),(9,true,true,127,10,-128,-128,0,7811,-16427,6382,1960307343,32679,147483648,156780748,20240803,20240803,-5584805,245,-3139597,0,40.123,23.242376,5.478160323753112,37.54379089732941,48.0439,15.0439,13.0064,300.343,null,40.123,100.02,32.0199,51.1331,100.02,67.1543,300.343,40.123,70.1150,26.0128,100.0993,100.02,80.1267,40.123,40.123,null,34.1487,22.0861,100.02,40.123,300.343,80.1544,93.1670,{true:null, false:true, null:true},{true:false, false:true, null:false},{5:62, 0:60, -7:0, -61:68, -128:null, -123:0, -112:null, 3:0},{null:1, 127:127, -128:-128, 17:-124, 1:null, 88:-74, -54:1, -85:0, 4:7},{-26510:-32768, -32768:245, 32767:20206, 245:18409, -10655:20866, 20130:-16664, -17718:14744, -24473:-32768, -29195:0},{-32768:0, null:0, 0:28512, -10190:13112, 21323:null, -134:0, 11837:11018, 32767:-28957},{null:-703671325, 1558472958:1400697407, 1571921713:238203378, 2147483647:32679, 1397422450:2147483647, 147483648:-1032656507, 32679:-2030749562, -2027152760:32679},{-388692140:2147483647, -1026564063:-1655063064, 738808392:null, 32679:-793529388, -1445257845:367184881, 1498798821:-434967816, 0:147483648, -221539401:2147483647, -476807153:null, -2147483648:32679},{300.343:7841022345798714458, 20240803:27476, -5943842:245, -8298898789570287250:147483648, 147483648:32679, 1:1, 32679:-30087, 4220351396361100498:147483648},{245:5, 300.343:1, 20240803:300.343, 4:9, 1:147483648, -15531:3, null:null, 19994:16627},{9223372036854775807:-904169, 4194982:9223372036854775807, null:3897868806066725233, 245:9223372036854775807, 32679:0, 1:0, 4218390314465226916:-5358457953052084080},{-5109682027000878977:0, null:-8151385491436679196, -3853497:1, 8184362398323011094:0, 4122601040866575322:32679, 0:1, 1:245, -7498798505475119879:-8294137303570785037, -9054611222176913637:null, 245:1},{300.343:300.343, 11.814639:40.123, 40.85403:null, 100.02:300.343, null:3.6735291, 1.4838636:34.04686},{77.49983:25.508625, 40.123:17.037016, 18.09289:38.316452, null:40.123, 9.4545145:null, 300.343:100.02, 97.175575:null, 100.02:300.343},{300.343:null, 40.123:72.63635750767439, 100.02:100.02, 32.04830953360702:100.13997171990384, 88.84261493031983:22.4613345276763, null:null, 72.28213315261917:null, 19.1550949974947:59.56523926917405},{100.02:40.8903371206391, 50.05765657393754:40.123, 75.63568095532572:62.21572494386618, 91.31051773369296:2.6530915681403187, 5.656407199735744:null, 13.718619150284331:40.123, 62.30263839690962:32.93907567588391},{100.02:"20240803", 300.343:null, 95.1889:'e', 91.1073:"20240803", null:"2024-07-01", 84.0604:'get', 27.0820:'right'},{null:'y', 300.343:'f', 9.1324:"0", 85.0791:'j', 40.123:'m'},{73.0681:'why', 100.02:"9999-12-31 23:59:59", 35.1269:"2024-08-03 13:08:30", 40.123:"300.343", 84.0155:'so', 23.1991:null, 300.343:'but', 77.1575:null},{null:"1", 48.1647:'y', 40.123:"0", 300.343:'here', 100.02:'d', 87.1412:'your', 47.1439:'i'},{100.02:"2024-07-01", 92.0741:"2024-07-01", 48.0268:null, 24.1564:"0", 99.1140:"20240803", 45.1937:null, 300.343:'there'},{40.123:"2024-07-01", null:'I''m', 300.343:"20240803", 34.1294:"300.343", 89.0584:'y', 39.1472:'can''t', 100.02:'look', 39.0120:"20240803"},{100.02:'yes', 28.0545:'u', 9.1380:null, null:"2024-08-03 13:08:30", 87.1295:"20240803", 37.1665:"0", 40.123:'o', 87.0823:'on'},{84.0152:'your', 4.0373:'f', 97.0023:'l', null:"1", 300.343:'d', 40.123:'v', 100.02:'or', 92.0593:'v', 66.0461:'j'},{300.343:"300.343", 69.0686:"2024-07-01", null:"2024-08-03 13:08:30", 62.0997:"2024-07-01", 100.02:'there', 96.0384:"9999-12-31 23:59:59", 88.1453:'at'},{61.1954:'have', 9.0138:null, 46.0937:"20240803", 40.123:'she', 8.0333:'come', 35.0794:null, 56.0190:'she', 7.1853:"2024-07-01", 49.1520:"1"},{21.0292:'it''s', 54.0105:'you''re', 73.0945:"20240803", 64.0712:'have', 100.02:'y', 34.1333:"300.343", 14.0845:"0", 40.123:'d'},{49.0267:'just', 300.343:'u', 54.0275:"2024-08-03 13:08:30", 5.0548:"9999-12-31 23:59:59", null:'him', 100.02:"9999-12-31 23:59:59", 48.0579:"0", 67.1984:"2024-08-03 13:08:30"},{89.0864:"300.343", 300.343:"2024-08-03 13:08:30", null:"2024-08-03 13:08:30", 58.0188:"300.343", 100.02:'they', 61.1221:'he', 62.0659:"1", 9.1837:"20240803", 69.0366:'p'},{76.0542:'l', 300.343:"0", 66.0528:"1", 40.123:'did', 99.0499:"20240803", 92.1349:"1", 55.0430:'f', null:"20240803"},{'y':null, "1":false, 'a':false, "2024-07-01":false, 'but':true, "2024-08-03 13:08:30":null, 'h':null, "0":false, 'right':false},{'didn''t':false, 'then':true, 'his':null, 'here':false, "2024-08-03 13:08:30":null, 'what':true, "0":true, "9999-12-31 23:59:59":null, "20240803":false},{'j':8, 'd':0, "0":0, "1":-61, "20240803":null, "300.343":null, "2024-08-03 13:08:30":-128, 'her':8, 'want':-78, "9999-12-31 23:59:59":0},{"9999-12-31 23:59:59":127, "2024-07-01":null, 'h':null, 'his':-38, "1":0, "0":null, 'okay':127, 'c':127},{"300.343":21309, "0":29768, null:32767, 'l':-27446, "2024-08-03 13:08:30":32767, "2024-07-01":null, 'h':-3569},{"9999-12-31 23:59:59":32767, 'when':-6430, "2024-08-03 13:08:30":-12477, 'didn''t':245, null:1151, 'because':-700, "2024-07-01":-22711, 'h':31186},{'all':1248057507, "0":-2147483648, "9999-12-31 23:59:59":null, "2024-07-01":-1696627858, 'for':-240054220, 'c':625779269, "1":0},{'you':-166446947, "2024-07-01":-340717091, "2024-08-03 13:08:30":1571460579, "1":-2147483648, "9999-12-31 23:59:59":1448952945, "0":-404248864, null:-2126951416, "300.343":null, 'it':147483648},{null:1922337, "0":300.343, "9999-12-31 23:59:59":20240803, "300.343":300.343, 'n':1, 'really':-8272254573492982882, 'now':29533801922175602, "2024-07-01":-1876769},{"300.343":300.343, "9999-12-31 23:59:59":147483648, 'k':32679, null:245, 'h':300.343, "1":245, 'n':-4645330, "2024-08-03 13:08:30":147483648, 'i':147483648},{'his':4401780699403999743, null:-5577027937577061649, "20240803":-6401688, "9999-12-31 23:59:59":1, "300.343":-503397, "0":9223372036854775807, 'a':147483648, 'will':147483648},{'o':null, 'there':-6024374449627106491, "1":-8231041878202067503, 'some':-9223372036854775808, 'p':-1045945944, 'how':null, 'you':null, "2024-08-03 13:08:30":-9223372036854775808, "20240803":5848833052114731901, "300.343":9223372036854775807},{300.343:300.343, "9999-12-31 23:59:59":8.938221, "0":null, 's':20.37039, 't':66.08901, 'going':300.343, 'c':34.5745, 'g':34.148823},{"2024-07-01":82.97251, "0":75.155914, "9999-12-31 23:59:59":null, "2024-08-03 13:08:30":null, 'z':65.559685, 'there':100.02, 'e':38.34605},{'know':48.9333110779418, "2024-08-03 13:08:30":17.917896855023507, 'q':40.123, "20240803":40.123, 'x':40.123, 'k':31.16060550908897, null:null, 'come':40.123, "2024-07-01":75.72441033697332},{300.343:40.123, "2024-07-01":null, "1":40.123, "20240803":28.916307469588148, null:4.048839986658322, 'yeah':null, "2024-08-03 13:08:30":null},{"9999-12-31 23:59:59":300.343, 'v':25.0373, 300.343:null, 'y':26.1934, 'g':6.1221, "0":40.123, 's':92.0137, "1":16.1122, "20240803":300.343, "2024-08-03 13:08:30":null},{300.343:300.343, "2024-07-01":40.123, "0":40.123, "20240803":null, null:78.1513, 'had':62.1566, "9999-12-31 23:59:59":80.0031},{"1":300.343, "9999-12-31 23:59:59":36.1761, "2024-07-01":null, 'f':null, 'i':54.0745, "20240803":300.343, "0":300.343, 'j':300.343, null:40.123},{"2024-07-01":76.1697, 'z':40.123, "2024-08-03 13:08:30":null, "9999-12-31 23:59:59":44.1669, null:null, 'j':50.1978},{'2004-10-22 16:49:59':true, null:true, '2016-03-28':null, "2024-08-03 13:08:30":false, "2023-01-15 08:32:59":true, '2007-02-05 06:34:36':false, "2014-08-12":true, "9999-12-31 23:59:59":null},{"2023-01-15 08:32:59":null, "2024-06-30 12:01:02":null, "9999-12-31":null, "9999-12-31 23:59:59":true, '2006-07-19':true, null:true},{"9999-12-31":0, '2003-11-14':0, '2005-12-08 00:22:42':-11, "2024-06-30 12:01:02":0, "2024-07-01":-128, '2002-09-07':42, '2006-10-17':-128, '2001-09-09 19:16:41':127, "9999-12-31 23:59:59":null, '2000-03-20 10:34:39':127},{"2023-01-15 08:32:59":83, '2014-05-10 13:32:21':null, "9999-12-31 23:59:59":-128, '2011-08-07 19:08:28':85, "2024-06-30 12:01:02":1, '2018-04-05':-81, '2015-05-21':null, "2014-08-12":102},{"2023-01-15 08:32:59":0, "9999-12-31 23:59:59":32767, "9999-12-31":-3914, '2008-08-13 07:07:13':null, "2024-08-03 13:08:30":32767, '2010-05-01 07:01:25':null, '2018-04-04':-32768, '2014-08-23':null},{'2013-09-18':32767, '2007-05-23':0, "2014-08-12":32538, "2024-06-30 12:01:02":26101, '2001-10-12 22:26:50':null, null:null, '2003-04-10 06:51:38':0, '2011-12-07 19:53:18':32767, "9999-12-31 23:59:59":-28204, "2024-08-03 13:08:30":32767},{'2015-07-14 06:15:07':1072470101, "2024-07-01":772243572, '2000-11-16':1835360540, "2023-01-15 08:32:59":147483648, '2015-09-07':-2085035799, "2014-08-12":32679, '2010-01-05 08:54:39':0, "9999-12-31 23:59:59":32679, '2013-05-21 10:00:49':1304188445},{null:2147483647, '2014-07-27 02:00:03':null, "9999-12-31":null, "2023-01-15 08:32:59":-1212330069, "2024-07-01":572710581, "2024-08-03 13:08:30":-473826667, '2004-03-05 10:31:09':null, '2006-05-28 10:41:02':32679},{"9999-12-31":245, '2009-10-11':4893865, '2012-09-28 09:16:03':-29407, '2001-12-18 08:55:13':1, "2024-08-03 13:08:30":4482514, '2011-04-19':-8155335, "9999-12-31 23:59:59":null, "2024-07-01":20240803, '2005-07-03 17:58:31':20240803},{'2015-07-26':245, "2024-07-01":300.343, "2014-08-12":300.343, '2010-09-05 16:49:50':1, "2023-01-15 08:32:59":-3361390988664639154, '2016-03-08 00:04:03':147483648, '2008-03-05':2021337, "9999-12-31":4418869296864298289, '2015-04-22 10:41:20':7020826501709380768},{'2018-12-28 16:26:09':-6947662115863818493, '2006-05-26 04:42:17':-7569395913751302860, "2024-08-03 13:08:30":null, "9999-12-31 23:59:59":3698831, "9999-12-31":32679, '2018-05-28 09:22:49':null, '2010-06-08 04:26:37':32679},{'2013-08-28 13:36:56':2415033794180055691, "9999-12-31 23:59:59":32679, "2014-08-12":-137027246, '2001-01-14':1, "2024-08-03 13:08:30":32679, '2002-12-02':-9223372036854775808, "2023-01-15 08:32:59":32679, "2024-06-30 12:01:02":9223372036854775807},{'2003-02-25 10:00:11':300.343, '2000-02-01 03:02:08':300.343, '2001-06-13 05:20:51':40.123, "2024-08-03 13:08:30":100.02, "9999-12-31":27.323656, "2024-06-30 12:01:02":53.40241, '2007-07-23':62.744404, '2005-12-22':79.09099, "2024-07-01":null},{'2004-01-01':300.343, "2024-08-03 13:08:30":91.202156, "9999-12-31 23:59:59":33.768635, '2012-11-27':100.02, '2014-04-19 01:36:18':58.403725, "9999-12-31":57.94441, null:null, '2016-04-13':300.343},{"9999-12-31":38.48467672088655, "2014-08-12":37.13411696110135, '2006-02-26 18:55:27':null, '2001-03-12':300.343, '2013-10-03':26.441136248490587, "2024-08-03 13:08:30":40.123, "2023-01-15 08:32:59":27.01012239659905, null:100.02, '2017-02-25 20:15:24':300.343},{"2024-07-01":40.123, '2012-06-26':89.33777484877334, null:null, '2018-03-23':70.50289221753658, '2008-07-10 08:47:06':1.5863698009815907, '2019-07-28 22:15:06':50.462961677459, "9999-12-31":100.02, '2007-06-27':300.343, '2000-03-18':84.71909127831458},{"2024-06-30 12:01:02":40.123, '2012-12-26 23:31:30':9.0982, "9999-12-31 23:59:59":40.123, '2019-11-23':40.123, "2024-07-01":null, "2023-01-15 08:32:59":55.0630, "2014-08-12":null, '2014-01-04':30.1931},{"2014-08-12":40.123, "2024-08-03 13:08:30":40.123, '2005-11-12':100.02, null:null, '2014-11-24 17:30:33':61.0778, '2004-04-20 16:22:14':null, "9999-12-31 23:59:59":29.1994, "9999-12-31":null},{"2024-06-30 12:01:02":null, '2009-02-05':40.123, '2009-12-26 14:49:26':null, '2012-11-26':40.123, '2006-02-22 21:26:52':60.0691, "9999-12-31 23:59:59":2.1160, '2014-02-15':40.123, "2014-08-12":300.343, null:300.343, "2024-08-03 13:08:30":73.1961},{"9999-12-31":69.1702, '2002-12-02 06:02:47':32.1661, "9999-12-31 23:59:59":40.123, "2023-01-15 08:32:59":29.0428, '2014-09-28 03:23:21':2.1873, '2004-02-05 08:22:09':15.0290, "2024-08-03 13:08:30":11.0588, '2011-03-18 05:39:46':40.123, '2017-02-14 19:02:25':59.0442},{'2002-10-26':63.1084, null:57.1971, "2024-07-01":93.1791, "9999-12-31 23:59:59":40.123, '2001-03-25':53.1190, "9999-12-31":75.0447, "2024-06-30 12:01:02":6.0971, '2011-06-17 01:54:19':null, "2014-08-12":300.343, '2010-03-02 14:25:21':300.343},{"2014-08-12":100.02, "9999-12-31 23:59:59":40.123, "2024-08-03 13:08:30":89.1424, '2010-05-13 21:35:53':5.1037, '2011-06-16':300.343, null:100.02, "2024-07-01":50.1825},{"9999-12-31 23:59:59":100.02, "2014-08-12":40.123, null:42.0324, '2007-11-16 19:58:45':100.02, "2024-07-01":57.1672, "2023-01-15 08:32:59":40.123, "9999-12-31":100.02},{"2024-06-30 12:01:02":10.1114, "2023-01-15 08:32:59":27.1579, "2024-07-01":100.02, "9999-12-31 23:59:59":47.1585, '2002-05-16 01:49:46':300.343, "2014-08-12":300.343, '2014-05-21 12:58:35':43.0450, '2016-11-18':100.02},struct( true,-128,-32768,32679,462993650138687779,null,40.123,null,null,300.343,null,20.0093,48.1828,40.123,39.1322 ),struct( true,-128,-10020,537348246,20240803,1,40.123,0.07750425853076871,40.123,300.343,38.0690,100.02,40.123,40.123,93.0683 ),struct( null,1,0,2147483647,32679,null,100.02,27.95991868985129,100.02,300.343,40.123,100.02,300.343,300.343,52.0682 ),struct( true,44,-30127,2069718935,147483648,-9090624582107776441,null,300.343,60.0336,29.1929,100.02,5.1397,8.1393,40.123,40.123 ),struct( false,27,32767,453920932,1,-2014715374,40.123,83.34174761365963,40.0576,40.123,30.0635,87.1196,75.0601,null,null ),struct( null,0,-16361,147483648,147483648,1,40.123,null,null,null,300.343,85.1800,87.1085,16.1618,40.123 ),'{ "c_array_datetime":["2007-09-19 23:21:22", "2014-11-16 05:00:21", "2012-11-24 10:00:40", "2008-03-13 12:59:48", "2013-12-10 06:40:03", "2015-08-09 12:30:52", "2003-01-17 05:42:50", "2008-02-23 14:38:18", "2004-10-08 06:47:09", "2010-03-21 16:07:04", "2016-02-17 07:04:13", "2003-08-11 00:23:45", "2003-01-10 06:37:01", "2017-10-01 23:49:02", "2006-06-01 03:58:20", "2005-07-15 23:53:37", "2000-11-20 09:00:50", "2002-12-18 11:59:07", "2017-05-01 03:36:20", "2005-10-02 18:47:26", "2011-10-17 07:02:08", "2007-06-06 14:43:08", "2004-05-15 01:39:06", "2006-04-12 17:31:12", "2010-05-22 19:49:34"],"c_map_string":{"c_map_string_1":"DpKClsTYbJPWQyucnOfOlQuOThnmDLROnEBLJGJJCECvyXenODVShltADhMJmHgzSQanUjZcaxLXfwaWCSQNgaiQCBwzBQWLLNXScyENATbEDLbXAwpUZantCvCtfDmszpUxfzoMAoClAmeONJTqQpbdoNomprpHYlxyJZNypESrUdGgrRccrrOsqHmMuXJlnwHgIGQSRlrmRixdoBhwixmLIvkedpOTTEIjmveKUSSRwiliKzswHKjnBilgBHxnPsCweJJGHgthnXLQPBIHfOQbQSMXmSWNbNEsoicRTUwuuCpePuPxBauDnNwyEQLoxXgPWetdgFzZkoLutbpgiHdPSyVZXUjTRqBEiqIQGTgncSDFygVpFbSJRFOVnmMXfKUOIKLIMlPuhxUGMztJXzHDghNwwCfUUmhLiwVsusGeVQjVllasCvShSBrlAcfwvZwcLrPMvFwoeGjmxrBZuznfNWEjuNcczAWQkMXmaZJESXiFbmGjJXyQISyhUdeW", "c_map_string_2":"DGWvVuHSmKDndyEOwTuTlVzQmdpQIPmAxcUkQLqqozNMCvSLCjbwlzhCyZXCNmcCPuysWliYcAESEeGvbrEWRvCRTkDLvKQJXVHafSzScxRzjjhBSOjuvLvDVQlqcYCLcrsQaRRQxzgAFORCWLUYdogUJiNzTfYUjtgZKyXiXNQTrozkYnQnKMThILGvnGUezoqIqIuftWSeYTWDZzGvrxZALdrBPTKvHwxlaPiXlJezjZlemNSqBsKQTMsXDZJNeSsgjwovALOqxKDbcFPsgzKGozZyToITTMfRoaehAliEWaaoOLmgXGNZDTIzixHElaEwOuJzyqbxBecBTtbcAerPCgPYVTYfaStVHcZHSUaihAdnRKtjtuQGdhoUEdjcjiKBYRhozYTwjkXaVeDNFBEnaTjPrfqvGINCMQUQjmwJLvNSNRiufJHGXoHgjjbWQmgkzvSmeVOhzGZKKlPWtrxDhMEvmmeDqKewfUAljucNAbQkxSMeLQVkpdNfqyAY", "c_map_string_3":"LnFunrmrQUrIwosadCEsbCbzZGHROtRhavQoXkFwWBDcKkSDxPtBViXQVAVIvNyblhfBRJsaRCYqGhPrsnrThaSZlDOQvYwIFaEoRNOvYJbbQlsmQPGplFJttnsatzOfAdvpxEUBlIowPAifnHauBVXbaSDLAxFgTjfjYNHRIFzmeYQGUZodCbuMLgHiNtPAmBjYukXAkvijWvjNgthtBkqAobNxfFENYjeqKxbxGzycJarOacxkbTnTWMOHFFUNQFydfPnIqFkEQSMdIBfZJJlsHeypWypHMhbVKfqUnFwaeMLYkhstWOhxLUBrJyNBEYGUnjegzBKhWrSIwypujKyfWvlfNfeEkZWBYNeTGjpRznWWWdfsakzboEBpJlmfvguDryqzxUPGZgleXosfirmVtcMafPbsREUSilzwSUfvwbhNsREGBbYNfFXjPLIrOMhpjfVebpgdqkIYSbsnQMHYeUHzXAwMqezgiMTicYmfOUpKrzbAsnjSVIUmFMuU", "c_map_string_4":"SgSveaGPcobhCqgoVBiBwewopYBdorGYwAuEeSPXPtmDjsjcSLkICmwNUcsuyIrpPRhWNxhhXlRPOYjGJhuCHcsZGDTcvYTptCfEVywPZrrOIeOmADkhHUoeDkRwZJNLHFmcTieJZVQrjMvsOvPPVcGnAWCFFcjYeVmDmfBPjhCsFXVRxAwXpaUiUFZDhOHdxIZgveZryGLbeCeITadsVoJuGxePybPPVZYFIMAqtxRHbJlcHMbhVmefaucVbMLZWHLeyjajovtbLHprBNcQUIfzRhWXxrltZSBMgbmFzkeYPZIBqPWGXKzjvgyfjbuLiJJcWBCCemqQVjEhqZHZFqiQorJQsWLrZyWqggDOqTFxqbcacmXiDWSQuZsGFjoOYeQGuIYkKopXwSyhueqyASLnEFxuZdhCJWUJHtdZTbADqtXMYzyeSocaQNnoBDBYzucFeYyAaJMtTbKdnRtDHHFxgvTinPbUEpaadVCVHyGogbyimogoChicwoZRmtAx", "c_map_string_5":"pxIzUNjSFMErtfqpshchiYlWWuvcByGnIuYgkfSRyIACbSySgBiVjMUtfqUyARTMNffsMYjCyekNlEahJFkncXmUbDpEoSGaxBjVLuLPGAEWcSXsufWwKMaMLNDlIocsENiraUyycmAcKmKDSMFCwYXjDMxfPvqiEWwcZgBpQyWEBtTIxbQfZMtuEBHZhNmvjwkbsUoOMhefNLwLrtzBSmxRKxZCnZdRSknTiZsOAYIjUBYuFTZxgHXNWVqrNUhGJHMXyrfjHrsfMkURDZdKfKBGIeldBgpxCrnQndDNZRNZGNFPBEmKfFVmyYcjLNMMEnolIfvjdFEtDmmxyrxBdIWuaaSQLVgsfaeMarIYoatIniHnjZKXMMwDTSHNWEMfQRHAeErsPhUbfsniydkquWHkETiHgkiGqZRlouDKnYTgloEEWABLNksVVDelgdxFbjhedlotZpeuXLjksRfTTGsRpraznLaVsOhbpdCdTtIaidpEJxGGgejNtdHvqBbd", "c_map_string_6":"qAbotDFNkITirOyzwsTYmHeGhHQAjAlhAtuFGwuaezcvkCwRCrIFPmvSVJnVZlPBGJmdqJyTxcQlezxmcSzeXvvSwjZkZEknSmlKyVzXbViUqpTnFTlFfXydsQjmXYByLnAfWQDfrNKsSXOARxYORWYndqsUJjVXOnMjeBoxcZgKWHyPfOyfvdvaDtbukyujAWzXRMMUAeWseqtHVwkJrXXIxYxSlVVbKxRQmoSDpqXkKrXSQnTyxfJdInNzbcbAYIvOKeZprGihgJHMhNUSMIEBJOqMLlyEbyKSwueoJywhxfZAPvGqAFKkDadYaZIGZPXvPChYaSUlNKENCoIRYqJEAQjgmXRYbIqGHeeDQciLLxTdOjrFAnfiABNXqCtSrggOpTppnDSpEvzMNIeqUNYSApPgjeXhGMDpxxhNFpxjjRuLMWTpLJYcrWjhjXpDXLGuEOoNcGhqNwdpnOqEXRdFnBixbEtOAHCqCkIccPFnpiYtljYnRZdxnDhxUcSi", "c_map_string_7":"zHcapAlgVGJdhJawHLPiUZUBBklcnrhdZgHASZegnlOZqHnccdKlaGfbeBGkhkVNKQvpGasXeshZkOTHCNZYmjLnwTJjWwuJWYyKRJmKzyjgXjGKBmcpKufdqFziefThTDGNNKZGRAgWpHwIVFxrwelCDbuDtRaCsIoJdiVOTuunxxgTrHjYLgVWjfIFqmLAhCtajeGWskKJJufEzPCwoFQxiscSWDECwUjWgmZrJRCuuBmXRyDwKgvtsyouQPlweOgRXbnmxOTvoMoQwBEiNEfmMfJFjUHkrUQIcTeFkEJZvaVnmbbUfNkKrfqfTiaKgVhopYBZyxkKeNJyAOBGWifwCXrApZQaybbTMKVBnjcOdjVXJEpbNDMurHBaeSvyIQQgzpSOLZmXfqXKmpLSuPxcvEzKYekPrrfpTZtFzDFnkCTryMCHoCNwyWLUQJrDlAGHXBdxkclpFMxVkBcJUGVwhqhMRjZHkhyWBIGIbtZWTgYMenGPqFDTmUODSkzG", "c_map_string_8":"vjxNBngNvKjxfDVJFxoZHBmNpQbpXDEvomsqDALAXImPaQSSqyuxEFRmvBxXKltkmlEntPHjGsrFhDXGGNvRZVdeyKaMfxcObypppmjNWzyWkubbXHGqqwknOkkjFRhGVaCEzPPiqoBvWLMuSXChkpXYBVYLHEQaeisYBFFpsRSjwMbABKMPeXSGYCvsRJwQYrsEEmymUczXAouQOwODvOQxrpGKEPDiUXKSfORvnbNIGlecfqZEBqPPdtUmmMSuChRqineKCIAzqPPxJvqTRuaLSgeLJyKRUUqZtxpXwYZzLfTEXVrzZezTbhXvScrElxmquMquhrjgAZotMxpxxCdNwzePBzKsUafmJHCdEkPQesDyIdDhUdaXBHXHmQHHQqipQFZFnUFszDAWghTkyKLYjkjFFaHYnSuypzPOzZwKWdHtVRyjvdwEThfvtqdhWYrqpgKBsTWhovpvLFUwFXWejgpBdgSTIZeYqAnvkcWDzJHkGTdcJDhdSmdRwsvD", "c_map_string_9":"WPIgaGdTkaiqVjdQwKvaMLyOcbbxQbwFDveyhGNyYwAqbzSDHvMiNEuclftWRfQGFHCaLNcSATFuZJMiPpVkkkkPQDZcbEVCKpVypnDUSyENdYNYWDfCmUVOToziBiXAjHmlqlRFrSaMJIEgCCWMzMCmNEiDuFddhfcxRriqRiSYnTNYjDSZFqGLfVUbvsNGYMGKEFzHmmKVNTeaZcuODUGFQTAEjkXYujuLddNyMZlWhTMjTQPBZJepKJMMlVKRSCtVxEEkgGrFXElwtNWQNZYLjfhKjVqdkodlniQbpMWybTopsCijSKwZEgjMCMEfIsbWBeccVCJQsLzDphunLvCeyuScnWZjpFPtkHJXMVbgCNgwUTNQbZYbPSJGpkQKDuMWLLhoSNQNuhMGFLgMTxovpiwpsACEmhpVTSeJIYRJnAuIKoycpSpicvnhjoIxbRwxwkxAbINNNpSKQESmixxjdbhEVIYGMZjkELnOwlhGKJMhmvMWLdeaLQuCYtpO", "c_map_string_10":"jDGvdeQkSmrMLssZjJUxQtiVvtEnDOXZUsjGpRxxwosIkIVJTofzpYHfBRcxvQoWgJimiMwCcXvQTnzypEHQSMKzjkduWBAonmxoEaojkaTARmVSBKKZtmoZmnconEgFzbdqMkFENcKiInVWrdCOrMFnSIcNyMiXXfCmPlSVxlFruSGCOlAvtfGraZLQKUOsREcocqNfZUxllHbPEHAbnzNSrwchkKRTGsEtxzuVLjBOFYqbPuvSPltEirUlqLiGrhTnyAVzYSVNmpryTnNtHNEcmNSlROENhhkvcHLOKToTKFaQtdCgMJBtirLZxywVLuYhtkHhaekoUOiuMlkXYidtiiNDaxYVBMayHZFyAjJGcAzkfhfudFMgixWYdyNOqmQfZyXKYbTmhCCMUvoqApoCIYPNnErmPkfYmoqwxtPoJlzRWxxPfqNBbwUJULvWBPTPbuOPQeLddbRTXeRarOVjWZvZWZDqIuwXfueIEiRtnSGOtIhWcJrmtSXthXGQ"},"c_decimal":46.0438,"c_ipv6":"aa26:6805:c98f:b58d:bc22:1f2a:9b95:b187","c_array_ipv4":["BGnxoRHyNj", "vlDKLQUhTq", "tnPEimuIJJ", "CpNVnEEGlK", "MshGeHoUqk", "pcRutlgwee", "oajvLHoLMH", "dYPsfgKTFu", "NzPqYFmBHI", "ugLWbVljQh", "PgOGWKUWRc", "rGxsJLQPyG", "xqLlFpjxEA", "PYayaBJvHJ", "KoRVLuoRfj", "iwyFZSMheB", "YRHlzfyZJF", "FmDypWcBEn", "WUeENeUsXv", "xhmiOOazgI", "lIcWKCqMcn", "rPTknFUNBS", "nFuvkRdWqe", "pHbacWwabE", "huxMAMwrut"],"c_array_ipv6":["fcqWQSAqrp", "KdiyoJIVFF", "OquWQgKZuc", "AzSucgzREU", "rFMxpbUTuw", "STAqmOmkBA", "WnpSoGgdOl", "vKWOopOzZt", "spGKNGerKo", "tIeZCIWlWo", "engSnMhETI", "vhnJkgYGAU", "sCmMwwfIZs", "mwNjyqYfzN", "lqSvzdYktl", "dRoLsxVnJK", "VrLJNIfHgN", "rLfIpwDXfU", "dBtvqcIAjT", "CxDhHNvwZw", "EVuxqdztjc", "iOWEIZWSyo", "JTVwinpzKL", "kMsGrfEXGx", "QvnlbMfjOY"],"c_varchar":"who","c_array_largeint":[-1296907469329545246, -2076765053968161072, -6666780557921944648, 7165485060108636189, 1690449797294781477, -4436255681247012519, 2028445177612333449, 5924513330896948278, -1320751880932663323, -5214343205221461302, -5765211238680324537, -1778536340530410450, -58439056377301443, -7728468024571288272, -6545470364771063171, 6210117782299614406, 6197000610954411005, -5981276159897439303, 3239455060705819063, 243467328173120584, 1207644806079245252, -4954131056174285627, -7291457656624346961, -8820913167866755630, 252855191553513809],"c_float":100.159546,"c_map_double":{"c_map_double_1":0.47650245323416557, "c_map_double_2":7.767574068317161, "c_map_double_3":64.85719296902847, "c_map_double_4":74.33047393121255, "c_map_double_5":75.34961624735608, "c_map_double_6":77.69607070130756, "c_map_double_7":3.3650821951288377, "c_map_double_8":54.35686145935424, "c_map_double_9":48.120551819187504, "c_map_double_10":92.65032713852611},"c_map_ipv6":{"c_map_ipv6_1":"25d8:bf6b:4bca:a698:7c47:d65d:d69f:7ad6", "c_map_ipv6_2":"8ebd:d0c1:180d:7e8d:dd37:34e8:9e00:7f48", "c_map_ipv6_3":"ace6:3e4f:4eee:a05c:6d27:aa12:b6cd:efae", "c_map_ipv6_4":"345d:adb:977e:e61c:aeb8:e8d2:1d6:ea4a", "c_map_ipv6_5":"9afb:bfa9:c017:1062:79f:6c9a:6df2:8d75", "c_map_ipv6_6":"264d:78df:a21d:f9a:7216:a2c3:7eff:fdb0", "c_map_ipv6_7":"1fd7:71ee:4925:e5d4:e0e1:23:5b78:4794", "c_map_ipv6_8":"9761:534d:3988:12b4:19c0:fffe:7dea:62ad", "c_map_ipv6_9":"b610:287:e77f:aee5:a080:7891:e49e:3f43", "c_map_ipv6_10":"a788:f59a:4438:c28c:4ce3:9147:56a7:e1cb"},"c_boolean":0,"c_largeint":-32795488178942196,"c_array_float":[19.920345, 85.36503, 89.33716, 30.311895, 42.760357, 89.79759, 4.8064885, 73.06304, 32.24442, 27.3396, 3.927829, 27.154274, 96.0445, 10.494348, 27.518188, 95.188934, 41.09094, 86.52893, 22.266169, 1.4678813, 61.4323, 31.660828, 21.76835, 63.99245, 23.197954],"c_char":"aZHFPnjuKG","c_date":"2004-07-05","c_array_decimal":[91.1791, 21.1730, 40.0601, 88.1583, 27.0121, 69.1086, 85.0664, 15.1989, 44.1929, 12.1350, 86.0991, 52.1757, 43.1503, 46.0365, 83.0990, 26.1125, 37.1056, 71.0657, 57.1903, 57.1459, 96.0001, 21.1905, 95.1924, 50.0868, 38.1155],"c_array_string":["CxDsEIztdRwKIjdsjspOGisnAwqteZnDBjibnKjrDSpxkdlhqSvnsjqEwkvlRhUAuBwZMBRDmftAYccMoezEuujpJYnIzWXolByehUxCfGwzfcerbeCnwjlBUrmFiqwhshAggUMqpyhiRJaXfyDlZrhmLUoqTompBLXyPtQzrTSwJPyIOxYLyIOSuOqyqXbyhjKOrFwiCPywFIkEwzAywwWwTHzLzFZGJIBMdeuspWDKZFDVSpsovRADQuUZQvjTxjBclmkavIntyLSMbYrfLjTBRiWQlWWFlWPwhxLWYxpHlmyVpunIRKkEeFagBxNvQapHBudUIHEfWBWfiavcblnFzOaPLbmKSGwCZlXwLFAtTeFBJYcsqggJRkKeZZdndcWQGDXYjSniDQiMFDuivFSRxJpojCRXNtmzIIVVYokHyzUzqwjvdcUcJWADGdieZqSPHGmfLjRTZgxrhRzcnKOknTfoaacSUbFLbEhpYqgSrQOELXVIYpYJIUEDgxZe", "UbYtQIZSfJEpOERXUUVIVNtErILrodDivXhFbtGLubnkyOipNiWKNWGsHcidXQVgzRZLgMleuGINHtwtGkFwlovZAKfqQGEOQrkRijyHZPqBWcmtocxpCLJzaXKzietrHNqibiIawQoWPUIQeszMUvhHCkPnTyLKYaoeEvqHAalmGRyHTAiWHekNydXsbmeURkemMLsNaUvsUTQnMLDgBEjGwYHltoUFubIrcmMNPYXhWDzGPRrgTOfGHjFOiBUHAummIjMpmTQFESOtjJpdEkAOKGCaidceuGSSkKKBvSBESxmbrOxUtdNDvZsJXVpOyUlZKLjbIrJgcnpPHZBaHkUIyRBWVucibEoTvqSnFlzErLZfRNVDGyYTZPBxokqEJlFAwzPxNSMYjCxbBqGaVxNsUFcxUEqmFKeAfaltHaNfjISlXhoZFnoaYIJcvMicVzEvaLuLtgaUhRoNFQDlVBgAdCbUHEkzGdwEBDLuybtHUoTVOuiedMeycovvFXAc", "ndQKdUZeQRrwtyhudXHPLBRAPPBSExhkOhryOdIUXqPinNEOxzHbhHzWMiFtuVihcuUVHujVEoJrsJVYGVQEFRxBrYcfMBymDwxoVjgeREDYJkuctSUTICKrSnLMtAwBkBunCcUrHQfbZUKygVLWSeZpgzwjRZjMuEIHkWDpZbaQguxrpcOSvDgOgRGrTtHEmRbXExwpWMdTJWCNwACklHFBFTwjNwnKdUlqBTmjFMjOsHtMvAHiupPVfhGvfTBMDKPqUULsQqbBkwcQuXArAKZxTCmtWBaeaEvknmLwVpufdVoiAehtySHpLZpKlWawSElVOtdcBbkmzXSjqFqGWQOKVpqHFwPBFCjBTAiTEwGjXxPNcrIkmOxvVygWocBsBWnrdvvHQEuMoAXmMSZjZDCopvoqYRacxNyzxrbCERyDWsHfQQPGvqKlMPpWXkPEGyjXLAKhzAxDEmQysFVGWXpsjFRKMXECrAZdZibpEmgdMJmendgWAmYZBLYnSOZu", "kFJyLaHRBBxErwfqgFouOJUiueXFTNFIzfAOlpmmwWbEsMMKsAEvdQwCNRuiBUkVAciPOsfLJxFqBVXOngiETmyLDooiwXXfSeVltJFTkjbJmYpFDVafXlaiXOpgKGaLMUTKtcruvhJAgivFFQiGBRUDZZkZnOOyFkXiJVQZjhvOWYvtcimrZaqdsReOHANEinSZAlGjVSowewbBLSxXXUtgSMiiHhOrqcUEtVedhwaYfcFlHkSppEFkVFHTSCGTYYAKfKlADngzlIVxCGGUYMscdMweRnjqzhGwgwiNDQbwozWhqpjTJEGNKZQxsjPKSoPxtiENLhkKJYTQKtRutmSTlhjpotQVkmqoYJFdDXpphttbDaNSIqOSmTjMepMLcMliPYEXbGgXESYNZQgyqPOZrwjmiFYZFvGoXYoYAJBdiTKsTaroTStJHKziHsujDiWMKOcbWRlQJPDsMtRYdRNPweQteuUGoVewpZKiAALOBOgmqmgZpVQWjanDgNZP", "XaPwVqfRtHPjOBgMfPqsKMQowFVxCWIvbynicFSTxzajogFGaLKKlIxwBlDhNZucRWFGwxSJlqbqSExJeapjGfDaJBePxHydOkUudEOmetDyhiMtfIxuRnqSgcxutGaZVzyJIUbkdWkdHMbZmZwOMMppBHdOfVcqEApUqZCbJDZcqXRoFVwupqRkEKAEEgNvgDXfNUERAlRQoYXCGgXeFTNhBxlfPHjVSfMsiIvXvnhfpYsSwTdtMtTzWxdccoWiOhTbEQmYiclPZPuQZNRNGlJyFteYSMWRglkiekXFyoKQbEVOOQjNNJCIMSQLgFcRwuWTpszHvdkibisSqjzsACxORlXrsdDjEUowOzgrPjLDfQepAWOGSsvEYcVgGcxioykzqBCRftjBntLpYBwGNvlaGQHcpahhfigjShIlcodBaxyGCupPEmVFkEnqFEVbOWMTXHaLRRKUmuLwHEOYgBRrNWPjjakZjWXDRidRdqvxBwQKztcRmiZqYCAvCfTO", "mKPjeyFiwLovuWpDxkAStpjCdxnduYgXndanVASvtdzRdTEFRduxAkeBuDdkvVnnvtBXsdaiskZBrBMDrObyZAdTrBJAOMIhLOSsuAIbtCQjFRWjyWUedGSNcfHQWTtlPpHWCDHulpdUBoNyprfoRGWxVuLFGMrqqiVgyjTZPoCqqjyLEfCFYQlBCrmuaOygCkjURPpcWCXSDLhyzDCrPegrXVyrvpaRSTtZxsPqAysTWWXAJoQBBPbMFveqszSvHkkulbjjlNxtgScjTWUCeoxcRhxEEWQFeFQEipElXhqyaYmkdCTTINUuSWhyRlbYfzuLPdgZQrsZIBxZAbKBsPrPeqZdxvNuBDGvYSYVqRcNjFyughYrzbLzgpNeZpVBosWQgCbDqENgiGqEnDRQMQfnWaYbRaJPnHSYJsmxLPioYUduvKFlQUcPgwcwhWqANyEFdehziOYXXzttSmaUDEJPvXExVhIkuafxFjzQIWZPHGIUurbFyKTSttFqLOBj", "fnaqWfNqzspDeYTiqHILxQuVTYboKYwfcIgadeseaGMPVAbAMOAsOGxurybwjmdxAgyqRYVPhVUzpsFOqYDuFYMfnVnCTnidgAdHfwjkUXvYOqHyFDDjEuqZAVxMOsrUqiKkVZyyNyvfQbNCoDlvjclANHGPawnHWCLJoLqFzJuteOqyzFBfSoqAHMZvcVTHHqAhYmXxHaNzespWXZFqmqULiiiOzUxwxUfyaFNvLwSoZGDrzoGYaVqwqNEDVyeIPSAeRFIbMEnqQCCDjTAjkmYuzGafTINZxdNSoUheGupFFkmAcGiBKYIbtmjYJQWGAuIfaVZkOzRZvsKVLlMmZGJZoUhCYDQxTqnprUyRbFwDObCVkOtrkqiussMKhWRecPdCuALnQoLjusOYTpFSpHCmwnclfBxkEYhIyoaeTRTZHoMDttnZkVZOKDgvXoTollVbxElBgjQglLsEufNkXlXfeWrPwTsunnvgemYzoRpNXQTlbtylxuTfIIjYGFze", "vojRwyFPkhIAODwoSngiNGatMsEZbasfOsBLFkwQGxiCKAPsEHYhBYULEnJzmRRqvhZTeQLzBWJYqzHtdmclucTVyOHjwwjyJcqHYfWihgGIkbBVjSZXBypvYLYLXrroGspxQnnoUIBIQWIAAzBkTpMFCCbpfvnPzaufKCChRfKubeSYbszyQypWqaWVvnnKuRJEhBvyOBeeOxEMGUijhdtjtiNuqvwJVfmkuWqhmMpybKZKhxMfMiNLdksDPePGgMIgtAqprTmXJUMSQNSEewFTElJbOVUYdMfjzOGLgHPGZSGgJKUqmEJRntJZEJHvtMDkjWSnkSkjBdxgtrAGLpFLqeYJKlAVigKjIXEnXWSDJIjVcQTYKOFPKCuzrFzxuHCZdAjIdlEXSvqibfMyIMqlZfYfxWQETERnZoigsSSpSlXTnCfmigrOCOwyUIPorLZNkCqkflSxFBgNyiZcwGTkpYFVwVNyyUWfIHOrLtnjRwtuXpyenQmmqojSqSjH", "hNKphPHflMhfdXuivwNsWYZFOsFLlAfVAMbwBNnHyZonAsAJEvsBefPyAeZkpXaxdBUOyVsNwCexOPafuOOvcQzVAEZKMVVrWxwGANRlMdWnoTjMeOvqZnynNMpeytZgMkGiaDfpMPuQXeQqGcuCjtbuiXjxfsdExDxqaIwAMJIVwZYwYBazSiLokewrCAnCEfGesGKvUJqEBqYVfdjFiMHeNJTxPjyoLXcMhkQnktUhOKveOebxnZXMafDxkRibqMcjLZXBlyHIFIeWBZwbBHToxiVsYWMUNODBKuhvOqJuekPUQwekgfHdhgeOzZqabcwnJvgyxDtBsMzhHZHLYdVdNCEsiezJuyYKxrGEqUjLLgNDyALMVvFiLMeIAYSHJxjaxuxJOEgyFNGXgayYKNyEadokFwxLZchHYUJlxaYLWIHPgXhXLtTuJFKxkmWseDpNOUcjwqAkrajgFhLaKTwZOONoSiTzPeNuBQrPWwyYpDDpjhsxmjMPzDlivaRj", "NoyORSqntEnvwkYXaAdDkDmpzadRuZLBDnaWwTeHqNedbamQVDACFbcVCeBeYvzFarfBJIsLthIDTgjhTAlSuJSNDzJclRneWGkrFCjWfuvYJdfDviBOBNrVVWwZbjFLwAprSQOxFeQKIHmNdjabnhdpzYEEIpPiZVTHTQCRZFBmtGhWjynjWRkFUKiCsAaZTGeuFoPQhFtvovWHxjCVEtCuLMuSsfoOqYFAVMWfhBhremRKiHDxNKgzpYWyGlAtSRDFuxVNXEYSjwEYjhgVBTlzouaYpiCjqISqyktUJXONprHKFYqsCDuujrvXftlSeRIzsHFWRLRinlXaDeJFxOmIpYbUjtpiMcLZiYUmZDJlKYPcMszBjgKcLtIwBrvPlBCVBHtCftilrTijamAATXZzdmtmaAWLImGVbXNrrNrcmREbaXqCaWXWSNhngUwUPdNakUzzgGnDAquaaiqSBgIIIOYQAaYlnAQRDrBJgGWLcUdRndpNicuHFCVkhXSc", "DxpxuCHPfSpWInMyfKatuKePCxkoZtHFDfSKLvKRjCQdhOQUQHKbqlmzvtnAWoHutwNtEgAHdedogQGIeakUBtcifgQuruACUhgDYTlLfQhTkdOYQclaDOEhNiRZOgeMDOLFigEbXigNNpZtmPmUcDqbRDtwrzkenrrFgPqmJVjAwNfjZPhPnMkqoeJBCXABkrtHBKFtTzBhFSpgBFSBmFwMBsajPEHzoYZTBKQYXDapoTegDtpoDApLxvXZJgdekpCUWTDEUTgLOwihrcpcyNhyuWQzfKJpNBgkLykYVYLWQiLvphOsElAguOXytHYAkAndSdSxBEeMmEIIZOZFJdNFquabvgWEOrNxfAQtbVfLSuKuksPfcAPGZcJfDuamYrIPjKpouKRxwWxvVXeqeeCNyBIViJTckpsyAcTlTRCTdzecvHygVCoqtXIGdPbGEukZKDhOKjilWlbUnosOXqMOdbYxqPXQZlUjoWKEHvOYXnoEOSfSYCzIAHxloYQF", "zdxtnYPVyDUFjtfPANFNvJmrceYSKBGvxuNWOjTlrajcjsncOUtQtkbvtiTXPYWmZRUcFCYRzFLNTniqUHiwRExactvpELoJPLOYjUIdNNtZsGpYoLpQSftDaJobcPUeBKSqcTVAioBOUOUXlCTIrCrsAmumXmvhmarzECFRuSVkWJrKblraMktgArRgNMZVxrMVzJzjVwlrCraBAmzdkMYrWFiEmnypxXutacqKOKbECbkmVoVohzAUgyILDnphsCVPuYCUTOGYzumxKJPzpmXjUslfTUepYxuIAFYlKBNPTStbbJAWvvdQcHjapoANfUzHcQXAHEonJdoWhngTrofPCvGXGWYuBbXOHWEBVdpafNXGsFPzMchgIhEyRwbObOxyoqqSIQlZKtwyPJHXxUoFKmEPbCdgBeQcYfMBXgmkKJnNcqikrdWgQFjhdnSlFcHJAONdFmveNBtRJhFJXmpYyeKeQLLKjqwWuGprGOShNwDwToYLrQFvIHebJmfb", "QHBBydQQWWevNiBsoskLRfwZacIEfUaIjMDgWQutIgTMbJwLXerDnGzWPeWydZRKXljHZntCSvbJijCdJrKkhSdprjoPLJTcPDSyvClgslJtnjieiFqwjbrMEDFGwbYqKOQgRxKIbVttJtFYVZXtCfMtDUTGhvNMyKQbmVHtqkwjIEElssjGEWAUBFZEWZlZOHDKeBAmGesMIsOKPjcjDNredXAIAboCnmywPQnEqrMpuXNTLJBEnPRPVyhOnCvGSLwzPOEjFNnSPuNDcQjUAWrBeJevSPSGVJuopATkOCSAFHiqcHUYmMRuuDAWfHRYHkqNjzKsCgaqOBOjBmsPhidgYQKvcgWvriEFSbQnMRcyeWOgOiYGPIqYpRFqMjgIdSTJCFytnEXlaxUimVarCZFbfJRCmNHezRPckRYIMImGbPSUZFtCoHetrnGwtBTjvRJLoaEopBhKdlzPxofieTkStGrWadeAhfsHkPJJnVrVJmsrmNhVOBQtdgoiwFzg", "ITjeFhISZPrXVQLTQsrAqBdLbMQgGFWPanYJvyIyvLQTMFJcKuMCIAyNhccrlSWCjPhDvOaGXNJxzxOglymwotfXyRLMVAbRttWckaLVAGcNmzrLXPnjTiMOaRbrhrXGBynYRoZnLxsntVFYcOKKFjOkHSZVoYEIxBWHqBzeZferQyXJVZGhVPxSgyhFHsKIjeVEDJdNIjetfjQGfmYXjWFggybQFdadwVjTnNzXULwWMPaOASkhlgpiVAWSfmFyIaRImCIecBDYqGasCevqFbGAlzzeppOXExpaXlUckJjFvYpNQzxsyQqxyntLJEwxkqLnLebJLWTBESedbJFTNHliPOnAdpChDiCSSwDrLXczYaSXcgOMifMTThLmLxlhdtxQobdnWrKbHaaMmEyNIyrUXtWYWafcLpaeQmlqJPKkdJOxTwgThBbbTCOrdXQUfXKkvDOLhMEFdyxhhvuaKlrCVCYRdkWbalafDhhvKBwXYDIKyHiOORigKclWltLy", "WWSoWeFFsCRSaIFUbcPvQsjArPHIVQIpghnvqMHvSURBzxuTPEcAgvvjdnCSSuyauVxxEYaOBVeGlonITeLPsNAIycrKQbdZOJJwMdAWEhHFPXzSuFKsiWqUSjzxMYpvPxXWqpOBgzgKDRscBECpUmFGgZlaJrfusCwsvDavdKbVwjzRSjLiHGdnNrsAFFbsHMwfPSpAvnEFbTkPESYTGBskxzgqsDdXNiDvYobGlpQgSdsjSUagosFDNWDqRNRqhirYqwcmCbyndcFmrDJwNhYJbNKkJFkTgojdeFUSgHYffwPZOvccLiuiTPBJBFhWyeatvgHGkHVRqqJHBbNWdrWxCOSrMQoSBqSQpWdqqhedFZdnBnXHBLwSQiUAkhxLTgNrOUJFMVzRzsCABAIbrpMYYxbsnZLXYFPebPrUCViTqetvuckgiQqEbHOaZhkQCUZjjzuTTWPKCPNzCBEoSXmtPZfNAFTvpyZGYuwnFkFFSTEiNqZCIkpcOfCrWWTX", "UpzdRyMzSibPTkjfjvBGBWPpaItSaBWEAQlSnQNuXpVxRSxuDbDCdyEtQfsDitIPYRpiLdHIfajAyOwLtoHUxlzoFGtuBoBHvcAWHukyWKsfgfpIYaPBTOjdROVDPuySQGIigFXIpBsyKmpGcEBZsHVjwYhKVAfUXHsdgtiKyTvUvxMcCurvSSjTgNbePniYFJwwDsRDjgZnUvNRdXUTCJDePDagbEXnGOmEDoRGLZMeuJgFrJxoiwlfvHleHVdJwRDFsXYHeXckNgsBhodtyuSMxgwMvwkpsXRoUMIkFqqVRrFPJbYfxFaSRLEZQpEvgnYbaOGqWPyFOlFnTbveNmigzwWTsZewgFNxTNRXKhjKlVFFllMrIPkAmzDndCKvdCufYyUPiXgoACaUHDPsOwvTkXBnpAkzipYzwwLGZcrSEXQAuVajSBeTxxJWqEKhbiEbhgMGTLgIIXBbjDMpsMzSsfrFupStofVBPNCCaPZKVZwLVedngrxPRnQGEerA", "qHXyHgWfiCJEMqtcETXbXesgVcEyBivNuhNBAvOclODIQjfvSKgYaEBsctTTGZWKkafaevRIgLphKoKlHGHWYPRkatiWLaqglPIPpWrQhxxXlwZivnPhVOwUVCcgxhihStSNFYcTbsbnOqFoRfNpMKnfWBDTGAOQhxQJlsBZnXoACqhTDccIbBSwzZImQpZSuGTdjkDVvjOnqbnIEHpfBAaNHxnzVZhqEZbXlXuMBeYgNdkRTOWhehilFGVueepTKKJNvbhVLDpqJMGiRkeZTiOvledvovhArHYoaxUMkwaJYdRIcKBhYxHQKimrMFjgMIVOrVZqgDvdMBdSGIPwplzmmVWHoqIPTfFsWpRyDlQJcNBpQPNADTtCEivZrVYHNFLUKYlKDIAtccjNHLCXxpxipnITYdPwbluxoMRvuCbzZlsZxBPAncookEcDLQDrxKqWIncDijaRRhzfYFjmasrswbMYyHNdFeqcTiMqwCzMGRALGKalPgLbIDRAWhkM", "tNOuFTPaGCOJzVzNxlTmYAzKdkubCGhyqcitISMIJJCIQtSGfKpAFmZDQgbqnmooeVeWAkagxetvIXjlVnBFptlqAeLpSBlDCenLumvjqNYjGWehJMHbGOZIkpqUPKgHUciinHCxddzsYkkbUmAkBkeRHpXQCDUkWbpEIebRRpHwbNroyKYCwOBkGLOeHfyclAiHnfozMmrpwNlQcDnKakbuvYkEpMizfBrZLiSdYHydKTGTkjEOlPmRlLOaLnNhgKdjeqzGdmCPqcvPrQAkiZYWjdwopkukwqnrhlyXNcbveGotgQupOzzXCPcmPylQlbvFZNxAMzHAiZNEpNGjmwbDVOwzirZqMiFFitoUtqehoMUEBgeZEHItvqoUmuPJcMLFjHDwUoMVBdxQJhUhVrIjkmGmstYcoNuGdcStikqNDMJvwnSbGaQVltEowjGLHEKJryKJfKySOuOIBvWEZXneBueUJShbFXSdjoBQTysFgvXInZpjIkWecrsUjssk", "VhUXqaXJMvLuyNiSkHtofAoAxNZvoztGuHSQHRsTTTODQqLGjnyOCSMsQPOXtySUBMkreruMikWEEEMKOoaCAJqsZGEXRbzcvjVnwTzNDnzPCLDOYSlbcbHPhALAjXRcIhbQvriekFNYiLlqWCcTwWnIhdQaMlQCSVKHTUoFjxjnqXKhsMvkVxAeVcUOCqTGSHZVdiSUQNHmtjKnSgkAXgJfdaxHgltFEJQkZXSYnnfrWxKYXoQsdIWMIwXVEZxZfZxZlvZFqvUgcLibzzmpaVhsirJPKcMArzDjROWRBsesdGlNxmhYykCBwZfdqlcSkGVcPzLvongNSZfizEnPYagdUaWEAGFBBHvRlAfbwFXJaXOUbFJgwuZsxSVjLZbFFREVFuKTjVXEPxXgsMiqIPWekFKIuxjVNWYjNPDpsPNsOUzSPvtICXEwWUgqELciEKDTycAkIPClZnFLkahrtteUDOblFEhjExfxnoWmuqmeeyOXsiDpdwycouqxAdLv", "BrgGSuWeljSJIuMSYBGbDAivDrySWiOBcNonOCCwBZLJRvSedgFZaykmXfvhsSauneRcSJIPznKjDnHtxfCjqYLDemjNiUEHwwoECXYURSIRAEKrGqKYBqXEbuCGXDeszfOFucIxBerrhWYqFPwEYNvKrzYmfBdXvwhadyNQFPsZJZcIdiYjzxznOkPdgJqrnyFNnLlRHuRvymCusxVsSztRdTuKmeqfXOSxkDtcpZZZbrjUaDFlsQUPpxgaIlgGRLlfZuSptJOpbuqXvrunpTUxtvskFPluFWKyuCwSEjhfOsVdJDlTNzFsNfhXwUAjbbNSUhEQCXhvnFjfreOhZUJkZjYUmaKXdABecqynnHUwQzYzIWjuedlPGjWbodZodHIzuxvKnGrKBgTJgIPlAKADRMHrLpUHjkDAniXbGoqLUKGZWnRIcKIHzysjYwAXypcCDKCFsVUiKFWfhsLUiVBXLLdXrlyIhpufZveFXTIbNfBSAkUTyuePNWHnWNDk", "NyBwmghXoeTPOObbBPioskLzxQTlarFdJWsayjLFeMjxOeZhVKPLUUtWjKvXgdSccidmTxmsxSRYTDbGFHNqRzjAcLThYHalDmUOUMrERugKQdJAcXdsDWYOmZXzWaNvwaTUJrXSahFAiAZquyVMOPtYhnWeOWBKRxpdOfGqXNbsADfDriepwGhMXQmChfObFyYCNCbWZYgsdEJOponEvBpFVlXIpzQlGktuhZKtfOIkBHdscQmqAZhJdASvcvodhiFLIzhYpbjrwNKBWEyDJvCtbRZWKQDsnuTvoATOShZrTDgJeEuqRVjzxgtiFLeBrimVwQiRINVoqLlnJZxNHGFpmuuRRCwkNrSIbTnwCaqCrZZDkkBmEwMfaDUhtMizSuugnloYSXLDeneTbLeeDPoufhlkgvbEkPJmvtpTZKbaiBRssIxDRqoERuOVGvUVaxVTNaHSHBeHhSnEcMjNYIpDxkNrVBtGawtFJNkYDehVSnEKvEDWgFIqeAfsVcrt", "WeXTBYauDzmuMQdXTzQtkVqmocZGTvfpNlkupuKUcLyLtHjzlZJMbuAABXTYSSsAmHOlMxxeLWaVxfFotSkzMgiKzvOlXzKnzxohWkyGXktrmcGGKYBFQUHxRDXDFpDTZPZZvDPTbXHgZPSBGdbyJjVuFhbGpAgmKPmEDpXboTVguelFrrRLvQgXkpTvTStSpoctIXatyuuVwIkleGeGbslBMsAwxzyBWlEYlbLYdhSCjAByBxiWXXayMtDIPrZFmdUaLSBqYhypQHXdzeKNGKbiDebEHRkbLJUjMFuOOgElivkMOzoxBqjiZdvaHrFUOXTeAdYYOqhFVnsaEkvrFZtftKbjhKiymCkeVblpcqxJhbAQNJwbiqLNalLqFSZWHDfHYHxXtQzSLSiNrrWywHLPGkuAbXJaRydByEdebTBmJVqjIPUSqKogoUhucRuKmROhGgDrXZEvhfnGTXjnxdwntEIVEwADQKZbSEoBmdicriCkMMhAkWmIsxIIqtil", "WkumBuNBawJlUmZBAaPQHnLqyfCgKgzXRRZmeUvdhpPmrJfeTbajBpvBnvsdZcxbUzdBmWOrPuCYdErrLRQNGyPcaLDNxARcbZTspeSAsyTPXARpgmPLQFAGkLKjWhClewHlQzCHYYwOqOUCCycEsPkQRUwZtSEFnIwdkTHTxVGhsbUYKxiEfcbLKFXzMTOeDPPVLPfnlYEDocsJAcHPEawQJdwjbfQpfdutAhrTaTDiGkesoqtIZBXGLWIDSjMSHMZvGOlQupoTuVqWswxCtJrjjzsKISmRZeVRqHKqyoWSEncgcqWiaRkBTHhjSGkbwRbvGMKsvbfkusMBZEAkWyJpENdDDEeYlKBPEXGhsjNAjbOMNHXTMVSqoLAUvycNuJuqYvEaDIaIPCfNxYhlBYlDweazeAUONeTKAztpkRTLlCneCBMnwNTCKdIgIMIOuUziVbtYZLTOYlzcGkliIfczFPVgkehuNtaCTiDUiumIFYDgoOOHnmqFEXayDkRg", "cBZHKFObtmgGQIALAtRoLjldiqFmQGrJIeubIHEvijoANcWzuDoacAaBSLuPmYYdlTwBJywPQfexCdSWAkthxQDyIpgBZZTneaKRXSyoLXJLlKvhrdlFetFpVZcmoICrJUFYsAKMbSlFTcgszMvhbzBpDXSsKesqFSxWfzfteLBnvaidLcPuMkoHauQUbZNQHDIZssLatBQtoClMzfVMxjZCiQTmxlSmlFRRRNWhCMpkynnTbmSXgWOYNztnaLnnhIiSnMhTUKEyiUFfgIOOTEWpJqpGdiqVxjcvfdTVmIDlIfilxOZkLLdykeNdgfazRQwGUXNPopZYYVjfaJnRiptOgYfVUGDYSzedGTCOpFhTiJXiFSvVsuRrjlsORQMAgvPOlsWRPXSxkPtDeIMzrCKFSuXgKfojdiTWTuQvVlTPJcfGKGCEAFmeBacQPoPyDkrFhUzviUoBdvgpfPNljkDByiwHwBnAqTVzHOprRkxKDUzSsJkhqbJXMQrGVdyP", "MFvFvDKbInnFVvgqOcKEenvWDExwmHmZBycHpmcERqekjucXkGVvEdxPDbsrbwsoimmzckBRHlESWCHfIkmRJQrwUcJnbenZKwBumvqNWTNYhpJgymKgrobxcXKVweTYdfquFKzOpRwtJLoxnZWwGBZDTULLAHdmSoEgtpDfxRNJvjDGpyzLMwnfZoviWTtKcSqBgYBygYxkpXIsaZqJZUUCSwPfwRkRBleOTZVpzoVUYkmyIdaPuzxvcluNWdnudOZPKonQbXSHBHSHSGRZOTpcWUauYvieqhcOFZBiRhmTNCbPnSgxnEHJkgbcYohaYlbrgCPgNGcfwRNSelLcddxAPVbMFlOYFDGrXEwTrDLpvhlpxzJlpwHuCrFVwwuhAnuNdbwqKSROHrGAmJApolykQsFofmsNnMrMAbGXWgknxmBZkFOGQlYrTdIKjbeZmGNLdwCnJPmeOBduBpUCNABOaNIGwPufSPCiszxzJuTTXADlULQcSaJQYPpQSogw"],"c_map_smallint":{"c_map_smallint_1":19942, "c_map_smallint_2":-1235, "c_map_smallint_3":11157, "c_map_smallint_4":-8953, "c_map_smallint_5":-24992, "c_map_smallint_6":-14584, "c_map_smallint_7":3165, "c_map_smallint_8":-20462, "c_map_smallint_9":28971, "c_map_smallint_10":-3695},"c_map_largeint":{"c_map_largeint_1":-105727626285293226, "c_map_largeint_2":5373641359774389443, "c_map_largeint_3":-6847257062013258127, "c_map_largeint_4":-8523719910525900736, "c_map_largeint_5":-225395416778281608, "c_map_largeint_6":4325313063195030444, "c_map_largeint_7":3390775303066913801, "c_map_largeint_8":3118683246152610226, "c_map_largeint_9":-5561841432947836561, "c_map_largeint_10":-1139779553077578757},"c_map_varchar":{"c_map_varchar_1":"kPmQdOKFRANmPWQNoQGDWelfZeEMYYszqIJEqJomZmAfCrXnuIJlilJmGgcHniOsnxiNJdMZRAGflFFSzPHpCVjvqVcFAjihmFrkBhJmDohwltnnEOjxPBzMcIUieFiHVZzIheGDtmrbFTBhQVTGWIXpxYyGiQtqSLbeSotgxZzFpaxdpRxcxusEoZPSusCGtbLFWNdscjHYfXTLUAuJHEWZqDHEwLSRLadHgpxTCEjdvshUOUQsVlSWIAveMqnI", "c_map_varchar_2":"mbEeGeuXSkouPIWbPkrskUVncIsuHJFHKouaVwkOztympxmfnFvImuiUAcHZSFEHjYuCUceSKXzpnCAbxfXPEMkCznbVpLehFbOiyRHUoUSQFhpdTjLCmwAZMpanrlGkwUhhEohhwrDIWqpTwvcyCTNPpMlqaghSYPdTxABSgPXNydQdfUrnOpHcDBLKiaTskBhelRObXrbFSuymVmiJGDcNZxRLzwQvlSCepiBBrUkKykBRxZjxsMpdxRmrCQzj", "c_map_varchar_3":"OVqbXYbxblYyasvNRJGUGCQVBsnUCpahbreZcuckubQjjAcnVyHvEceOIgKmattmaZNAoCmCDTCGIhNKyzoUDxHnyGiApYKOjUJYphDwGzKBorzAEZWXTJSxqzfONMePmDBblbgYzfIDeuZxaEvVgxwhCaynJLLDCaZybLURHJWcHEMKKNkDusJyJvfyONiRAmGyUEHXFaPPhVptLOXoTVntrQFzomgahLkqQXuuOFBGZXuzAowNBKsWIHwGslun", "c_map_varchar_4":"eQLfnknobBoIBcSguDeVtvcoNwVsRvQXlaeGOpNutgXxIrASYAIZfJeSwmotEzmmVkpQUqcZmcrcWujqeRaRafZsjNMYpTpfbxCuvFVgaltAihPuqGIHbiWaXQWUdZFzUONijmcWsvugRgcrjwKOhafyFLvEYeAZoXJhKoOEmoYeIuMfKLlnaIutweUqFkRbeTIhlrOjjMmYcnbrNQgCgnllCwmlZGSYhqFbzzgCwwzsMtqSWGmIGPdRMgHCinrf", "c_map_varchar_5":"pKsHKUCKTuNXsZENTnsFAriUyymbeZpiYLcHFrGCIHITlmCaUElxIAuPtSJANbLVkoIPWxyieOoFnXOPCEcvGcQNUxJqTshIlHvBXDdCqjVvNsznHXLgSTzJPNZUgwikFQVPCXJOcBRpLYkEdpsWyfdcLvkgSKQIHhBAxSARKHEmqFMDeObflknmUoGyMnDKGgrtUlKluwGXypgzEEyveHvvhEEpHspBRWDTnNRmbcWLaNjUpJZyzmCrkMeFxfzV", "c_map_varchar_6":"XwCPdbgNmYWXOGZaTpVVthkbcpvXRKByamCwQIBjSQdIwbHZYOswnzGkgWRDSVbXkUxSNqfKidNHNrrHvTSUofaomlsARWqjMxbHJCSLRUOrIiWFVyyUOZkKpSzTBEsUVVShWkEdIDTMQYiaxCldggBUqUfODxrcDxGbyLNtXdRIBvHBuaTwEzwJTNtqPXxRABiWRDqWjWlpLmPjLyiCSxMCjmkweCBXhJTHOMOjbeGIEAbtcwjtZAZuGpZophjz", "c_map_varchar_7":"ORZdpvxbIGvLvTaePscNFfMCBjLkoBayTsawPInaPHueiZODEpmnUwFTWLmqZHihDFBkKQWlpqakOMrZUCxHlITkUBafOvhyNyvTafelMFAptlPisXqIlaHJecmkwCazaPJDNxSGsAYTwUKYxONjRPeegmzVWqbUPPvvcrMcMLVVaazWfHYNsGXJuIqeEBZKWpaLyQbViXunWKZYJsLZkcekqRDuGJZvJojClJXvhyLPDEuspBrrCERGxuovcGwy", "c_map_varchar_8":"iVeBXIFacUWvoOtWGvCPNJpilIiXZQOrwEnDEglUERgfgzEYpumUzYSxIHuuBcQjEbwivkcHwBZIcSIlQRNCNjBhHeTPxctKFoNSHpZzvocffzTUYCETCJuWoFeueEFJHHVsBzcOqBzcuDbLtIuvencVHSpCjEfWQLdWaPRVQNTnLHMpCgQyRsIXfntHMqSOplkMLtEdVLxZtbefrzapeeXhfJrdpqRDNsvNafVWpWECdKweAfQgorzVXdehxQZd", "c_map_varchar_9":"wbzaKWCGawDzwBDZjILKKNvuXEaBBtXKKflYADFjZurzLfGvDJSizViExypBgROwcrBAoGobzqAITHNFOhOHRcmWqmLnaZJPHRuFOxLsLCSDTekIoJblAnoUQWoWFcDbAPtqEmGuuCYmfGDWqQmISgPTsUfpqRyZzmPFuotRgShiOTfkkxtAckDgwAcEvGaQgnvTKsQpGHhopZOzIZbRfUKoFNRmVQLucVUrHnxSfGURvRSZnKmNfipLMvgPoEaa", "c_map_varchar_10":"vdvykckYczSjGctxfxVaRnVpMnJjpBYDeLIVCOrJBCPHYNQhJewkiDiZeOsQFSpvqonFYexLOSOiQnRhBZlkgDhNCOKdRERjhZmNJjfzdSyHPERChDkaWDbRLNOCOmYirQJaIVnNNDqgXssrlbxMgfwGLDHSBGBGGDoyzNoPyJSinfXZsvUUnXFebWLqfATzqtswlVExcxixUWaZTAvNWqbRJFiHKaBuORInhgukllXygtgsbmbFQFGbLSdYfwvK"},"c_map_ipv4":{"c_map_ipv4_1":"6.75.103.4", "c_map_ipv4_2":"101.115.182.150", "c_map_ipv4_3":"28.217.185.79", "c_map_ipv4_4":"115.149.204.167", "c_map_ipv4_5":"206.163.111.197", "c_map_ipv4_6":"49.207.32.57", "c_map_ipv4_7":"189.167.112.104", "c_map_ipv4_8":"81.231.91.1", "c_map_ipv4_9":"117.252.118.196", "c_map_ipv4_10":"195.61.117.140"},"c_tinyint":26,"c_array_int":[434568345, -902202070, -893094971, -1994046468, -1207277211, -138253602, -1838839963, -424200274, -2067130426, -1360232352, -1110200811, -1758750664, 1141143473, -1977849755, 274782627, -1273353303, 456700715, -2114568931, 1390991821, 335401510, 286364309, 583262014, -672505489, -1173743058, -1415762137],"c_array_char":["woaXOpmzvP", "QQohrSQsvq", "PuRoKNMKkY", "KZvchUoCMN", "zfflqohCeB", "CFLOwgpPYG", "ZefFGfldoz", "SXvDQvYjEJ", "WNcpmuSbtG", "JPeLHHVQzX", "TWWeSMuaZs", "cLWPvfOYRd", "VtzBjrbPbv", "BaNsSxcPxO", "gaLuTtRmHo", "VIcQFRjnIx", "CwATlAlwOT", "IYetImdAGg", "YFOOITEXQh", "OBnPpUTGRJ", "jckvpPrTUJ", "UuDjoAZXuO", "YjhCOHuTEb", "yVPWAgLsJg", "WdtLlgYGPt"],"c_map_bigint":{"c_map_bigint_1":2351417718023941918, "c_map_bigint_2":-7672749770560492044, "c_map_bigint_3":-2570265415187138591, "c_map_bigint_4":7771224191032911522, "c_map_bigint_5":7668750393554923202, "c_map_bigint_6":-6651018791000494873, "c_map_bigint_7":-5530050625213868540, "c_map_bigint_8":-8445880336497606211, "c_map_bigint_9":-6133459474646623543, "c_map_bigint_10":1602313923571795078},"c_smallint":31435,"c_string":"KYGTxxAYHkZyVocCNERAKSoLPfqFygnnLuTYHJuIoRDCwIKKWVjHHuHGjQDMYvrYogJCKAbjiwWazqGzYdRuWpeliWrpuUDDYoncMdlfMnAPoaYWZtkNUfoMWEKNPHkXxAfdAdCgMGOaQpITWxxpkuargpZPwNOqpbFKLfMNkCijxDtkbEusvbhuVOCqmqTYiUquuqDmfkgLwdcniaCrFVtAIYiiSaxTwrxJcZPRAbBAcmonnKUjRvfrCNalTjigTsSHFUGSJXwxTvVPVODSCIGzYnhopgQpBDHxAUBYnJYNavuZYnVjRzZXjBYyVyMwXgYUDZAQIxbqcQSFYLMztoaDWhKfNuRgwGDvXlOxrwhaVFqatHJXgXRNqgavKPrOFFHauEiQweKeOSPpEsMGwslmtgLLhvgphJuFTYWtmTNWrpiFjEQxWuyDtngvjebpYOCqmoqBXePjoquZgZndXXQPHMcKItHzVShXcCTnBNbHCPJVehybeqeMOFmsfNtj","c_double":65.72733409557647,"c_ipv4":"192.232.226.128","c_array_tinyint":[79, 64, -3, 70, -21, -68, -95, 33, 113, -88, 62, 45, -125, 58, 90, 60, -96, -85, 33, -83, -59, -14, -16, 95, -56],"c_array_bigint":[-7501265844261299436, -4534283299080050619, -6452631063962670134, -815681096136720227, 58735454906903188, 5186644233351339946, -5869421503986195362, -6073151188264321295, -1295279459605855922, 2680005810351654544, -4414533625624427239, 4273294779648514246, -8437530462200125514, 1593694901756126388, 2916540530775904734, -3312804508106939258, 7350559750452740565, 6072141445186784977, 8104422390344243574, 2366641144064252527, 6986778149436512375, -6966929062623234632, 1519915481056189881, -4374049308531857467, -7839612202249920215],"c_array_varchar":["VDRYsPaUQzUSGxhxusbuvkATjnnruxRYNLFHLvhGrQAVlifufbchiXFCTTwxSNdYVeJKrfNKaKCDrubkMPTjKtjFruBrcigBPEcHUWdIGPixwqHIsvTazrupOfahKmYwEZFGLIbqEImGBQOnevxvlvGmDPBOJoLXRBUyoxXWWErRPWiDxVaqfEvyPQjEvXXbnbCBhEJCgPwKxsiWFXlTjiJcwmwBmheVjclPeMyvfDGkgiJKDDSspWCqOzWRDeDG", "ANOXQcgvQwDIprXAamMGAxPdCBZUHFHwZIdYIZUljqHoOUbXgUTtYuSEOeLzQFqhYYEhWLyughrDothubVOsHBUutNcZNBRCAmpmeMisbZRbFeuPRtAqhYyGaiQCPLBPCTYmsKoINzkIUvPAPShJETVQZubNmWOYIdfxjkaZEatEOeQngOUSxeijbAXtSXctyJvRvpguBXwUxYSUPvXexpzdJdyhfFvADCTrifRqKVzRutfAteMlOPMDUKSTtcfW", "lgMRwoXOijuPzPfteEErnGEfqRwTEHZIlLTMSkhoGbJCPxjfwHUXmOPcbpMYsPlOdSwluCtFFEwKvuMlKusWEvAFkailxOHlJhNzmZZygtTfFnBAnXkBSrfsvhjBiCeEBVxNWacrUNXxnJGOZgoeAKfmZDIYOTLXsUgAeanDYEwdGHoWDmcwFniSAOSQlGSJwnnJmkRIGeOBVciVPctvMihKmJkZBYSseVNLjTKrdEZogkVaEECWyUuRdrOHwovk", "MTKoUjykjlsAmuIkRJYLmdaRWYAtuereoLQnPxyuyMkJYHFjFuVYCgSSmOvOWJZRhziuwrqGKjIenDVlzlOUTXqxhjqHLUptMWFPdWQVvTdWKEBrIHOSNVRVlelHOqplmzirovTudhGznAxnwuaiLQlFvVrwhmrimDlifdPIbjqPPNTAarfmzlvQqfsdCUzIYTANSoHFKQcRHZjWDNmBWhhPxGixFUanGAMlbdRXXCnBUShVdXJVFKnQugeJjRdr", "sDEzXKgDTqdKExJRYSspofArioqefuSwZNzNfUrHfCAbgfumZfPULtPgvdXYTNYQHCliExjVUAllrfZUeGGQfxVMlDMQkxOffScgjhaYGYspEbaqHKDONGUoTRuDVdJvTzAISNSlKmoVDDaMgGfTEQVgXQrCQzmYJnUWZnRNWPvqUyfOjNEKCZKJIhhPirATzIIemwoygMGJRSYOObdVhSqUKCrrxBMufWYPnJMxELNahanXNWwlLNwjhJdPMOEr", "ONxspdeQnsLMXpoZmDwsMgtNrJpJJLGOJRuYjZespQeZdecUmlXOuerRpZxTloIghXihfJBEYbxjlQsSIkfcWTirSTyPLKIaTRphUONlnDBfXgCOJQuanLXhBrDTbXvYBqGvXSANcJZSwDtYXPxIFTBdQicpyejdmBszNvZEUDlQkrEccDXPTXMCbNnrNQeIETGmrAYaJYwLOVuQPxtRaETKiJpvjBVzyoqkNhXutrXnLMUFaChQagjPNAslEJUo", "IRJBJqtiJhhQabHzaiviTQOKjSEREiShRffhiyIKkpMqaVPHYiBvIJdRSVZytrhGgThqzIdtCLNydMWOuiskLaNltCPrNnbAZfUqtybSgAGlxVuOejWwpfzbSeaAXscZpOPYWaFcFmtNmwLoxuVvyAAtzYTPjbNkmDJnqOTgcFuTNvyftotgdhZFTGdJvKqNyPbKzdtAWGxoOhVPBvNuKUgaQEFraCCZxiDgmkuVyKTnaxfEGjXJDSpcPndLcdvK", "wUTYJtRtNhgJNQTQidiAWOAmwvvfiGeaemQIHdeREluDXIdHTwgoNIuoJSsXSpZGzewycRtCZwgCmoAzuDrWyWFXRRgjhruLzySrOIcvuxtRuwlRhSzPkxUqYsszsBslXzslRXkaCFRukyBhiPUFwwFDDHYmsFftQqFWUtFtsneSWAuckTRVSdbEfCGYspDbhHJCVkGgYWYxJeaPONEAUQpKrLZHoMeuSwGDggHZxefjUPvcCDDjvsAYFICXtWZf", "aAiKIiXGUvmBCHLXpHizjQehuERdgiCEFeMzEapjyYfLbDlotXdiYxJmAZyzaQqzJHnEIRLRLCYRSoqPMqPpNIBVUbBqxmNNfDKLrYFavqnWlGKoFFiDJJPrqVVXVVEoQkkucyUKHJarCVQkPeBJomVIGRHcEZirlHHLHXvUAJpaCQliIgZrMvDtjchTcStqKReBBuzkOlZKOmIovhXKxPZeKkEEgcmbLwktuSOOLTPRzLsvBIbwQthAlfkNIKlt", "YUgCoaNHdqzNhSWlOgOjgPVsOafvWKKhmHfoSyWQWgqkdvrbLHyISuEVyDyyBgeawEcXvYRWJXPXUioKPXJtlqzEoKxISIsBKnNWRPIYwjwxWnkCvZXUtKyMlYwLPMKRNnSyATGhacDmNDvmCIuQLVpaRhBPLUpLAgWDMJJXsHXxTvZOWsGSLLxitJNogUxHlKtjbMTwbAPwgSUoTQlDjjSXYwZSTahqezLuceqeoZnhrCucgIWJfbTyNdmjnEfv", "lMBVrooVIHqPfNHvqHZNvRZWjXBLgYvnodmUCGRgKpQKlbUDRwTutBxzayuRvrMRbWZUuKaWDFjwYOsgTSyZdmWMcqMwonrzqiMaQstwfJWbOJxFssGPKrZclDUjQsPJUEFTGhydRAUKqteAoFPhOZFRRkuxChZZjqUxOfhlijxxlYfMOtgOlmCwhtDAupQxcMmrZqgIuKnRLElldJdtdpnXJwspoKxbOMLwZsFRbONqBXMxYLFIlOvXvKxxkbRl", "AYbzmBaRrwnsBPyFVYJBDWyawOtNSmSKCKrZQTTAJVyLnvcUBfwAHmapRECEFHxfCCMYFZSNNcZmuMumLxVvnkJpHUyvBwrsYWTegMFNmjpnKQotaHeqSVFjYPzcUyAdAGLYfdNcBgCAptdFvWInCPamyXyzfcNXxkVTlEVWoVrIkZLmARNoVSQDZkZtNeFmsjYsUnugrikmmkhoZOAfXtVaWgJvJSdJVhFwrSEwaxoGfVPHzGSQywMBFmpRGqCP", "pqrxjXQaqWbDpHtlchXvKmdRwmgvujMfbFckFGKfqAVyNSpbkahceGRAToUzFswBOjadtFfhIyeSRFADpGhyotRHzpkbPbQIKccXBtFScfRiGytUcgCijpiTDkPJzkbwFzOgaeTqsCDkKaRuHekwPWDmGjnDHnzMRSlszlUAQlyJmTRrJIwZVtwvKcxJEoRPWFSOjJblAFvARvBjTISawYPlRflddyMfuLooarNfyIwjXLAAsspZXRrkfRhPgXIl", "UaxytZTiUVyheMNTeKlhFqCrwoxsHEfbpshFmYeiiIvWwfqoDWKHyAenrIPmSOMNItFETjvHeIYImGbdfvrQswWjpGVwytFLHggRAMKqcTxOgXhoQzdcWwMajqhYtMdCFVqflExwcQjaECBjEvKjIDWXgJREoOYKFgZgaevUZkIpAEmHPvuZhiPUctufqjXOaaaaGUgvwQNqirenLDnPNutxpnKILqaXYxJSrnFpGHfRfUsbYolNiEtoWsneJYFa", "tNfyARdoysOWpkiGuqaNEfSWSNZfHEWeGLEqMfRLsaWPYaVEGiHwyMlUfKIVJnDPjJFZegJFcxLKKqjgYaWfnnevlOSLbjZbiLaewEFfxirhcSQKbbjWFriZpRXkqNIonccexthyiXmfyOXDDyoevZdviccRPlCxGKouLetzwIrrnLfAKQONiwgrZDtsoLYCGUgTTRzYmGfHuWGzQlyDJYYhdzJLDptGizsLrtROTxMEGFfCqYBjdqguHDAJWVqa", "BUUYjZWfvdMeDIhJYbVvCZMJSoLJehwVcEMBvbXSPFdoapdpYdKTMdykVGkijTlJfRXeZYbdHByaIZVdWJYLOidyBwRzWAlCJWELsdwRVULBMRnlyPgdAFnvsRUMMlJGbaDUEPCeFaIaNMrkTlYzpmroXCZeDmuKqBkZkMOctNCOTKMycRrQWJEulaNcbwdtwZXdffNVkbyIaJfnjlUrvYykhseXroNaYjKhgYXATOFOqEOuqLtspAAxEipgxBlc", "QoqbMTVWSYyZVxHABuoDjJhLiRQPlPVFGkrmBlJfQyJcWNYdVBCrCEsDdeYwKUjhVPxiZoWNrANablWpHdsLZDeKzpCCXhvJZfdJLDGMzcOWYfUeyKoZOuZFZtoEJTlFVhRvYPkjosnjhJFMmUCuJpSFrQgLRMubbUIwurAoiMhVLwHsWhXXIDZupRgtbLaqqxJAsFZaYYGpqlZTzQkcICZMIPnmhBhznwTPXHqjCxkIteTtCPXQeMyRgNDCVxqi", "ksYYeoNZgqvWTNbWwATevEfdyCmOmzmNVGTOmqOcuhzaxydgVzqsWjOPbJEzszhzYQGSYiNpVlCRtdBWCYlpZGSmPIoasJeUPFypzqnhDHFJHRpryDexTQPqMVVvZIeiIgzOuqpLruxgdEPGyXRtKQrRbnSiKPlqgINucBHaAnpBhToIeWqWZbYAONTwLrLJRWgVuaTcirleKnAlOUsfrUsFvuvlmoYobCqVMFhouBpuSQKDJOazHijYKGJxvdMb", "HbXzeCWpROTYvFaozfaqUVgZtRXnecezMnLALtgRMifvDMtsPlWerhJQjFuZjQbRqzNjjicczAanNtkhZMgEbISbEPnKxojTEIpkRxdQCWQVoaHvKWIKDWstueoELYwHFoTZbVwnXDajwcLqpnZyzotrHyLPxMGjVefPDThwLvZXEHvjDIXtgzZmmAMbrvLrRHmpAAjrjXvjACNgSnAXfGQVZlBjaAUieSrHyhTsdtiphAdUlWGYUNaQxpIYIrOz", "GoxOCJHxPgKbBrmKtSYjXjenNgglZvVBAqxoDAGICWaIUOGBcXDvuCyzCyYzelylpvRNGSWsGHrZsminwdbzGytSOGCAIscSlpJugqTkOEVrvKRwcWLuEElndgMNdtFXOztzLwaWWDlDdNHsfYRsFgbtSdZsuqQWAeDMybvrfIMLcgyppaWjpZKtlMyfOuiMMelaDudGcBCGtfLkLuVcVeWNIaAfIauisGjLyfaAKDFbniJebByaIEOqpwwIVoeC", "NaSgFUuIWVYicAgpYvpIdHkFbvHQhuXCXsFgTcknoTDnltCEKernpxoysVAJMRmbDDOaZBrHPFKcAseHuXwDadViyQxBPdPKQiSBdfGzccnEBTtjQXGkzFpUSVWLYoBTtSnyDsgFfvTBDwVnqQffWeYDkmEFXKcvZmhSMOsWkbwMmTeHGJMyUzKDdOPUtUeFfrOngPpBLNtYodKpHyNiojnDNPbnzwJXPneHBJdnUDWxIDbvfLppsDJdHgGsjNJm", "FebVJLQkRmTahgcxEuaLzzIZCyqUMxxvOFSifISxoHszDdqBqexuaaVPoSnHrKEXVXxQpiyiOnUCCbkUoHEKfBjYUhrUvtHgwsVdUvLKNUMWZcGbHwpOBcggXnXozcMOQIxkrqXxHxZcrkmYJXEsEGiyRaqHpMkSqknxttrrsxVfclIXQagcxuEohOJrXVWKwAnqaeMvWlpAGgQIgepVgPuSTMlfAOrasTclMotavBJRdjqTMGAxZZHHVJWkCiLt", "kfrUDjYBneJyCFhGReDvcAfDpuVhuXtJufvQKnsCCszkMaYsTRFOmpiOtbTyeGEEKdvQJXPGYaYXamqQdgwoilJysobjNezzhtqolvnzHjehYRiJBGvNXkXlWryecOfdcMqwbhRDejciMIYTymDJbEGYoehygpuRxkzXnXvtkthNjMotCkBjQCwLYlYuiaRqpfpWJhEKJaEJOEPuIeSULmlNvXprvkbxRXomSmdTrxtuFOEVAiKLSLMUOpCpycCC", "TAdpKRCEnGfspZtfBDybkrPZTKVFGHKQuCapSPvUThgVtWIYHZnmzOKzPXRuDuGIttBkxpYVEPLdwidNkLHhQppCNfTrPZglbGtesnYlRVGivHzNhEOcDvuzrMlBTstJHxrXFPbZOSYcdyJChKkKlfXKpBpLARFNtBIbyTPyWeYBoQkLNGKonQDoUHYgaSzFFtOAsdRZOuVobeRduJVVWEucRfJivOiCmROZPqQJhDKTjlXumNJjJXyKYpVFHlOe", "DWdsOiVCihcXyVaPvbjGTkKQFFFulPqtjQUZiKNaiNcRhLgvQbrcBndRdmEPyQtOWCbTFOMhErFqUCIARrNtPvVSvMMlXucpvMdFAyfcGriZuWZjWHtldXSWeXxxffnchcsRDaRMoakDiZSdkUofaHIDaviruxLhNAfMbAwgZlgdJyfIoewRFMFWOxriNDcmjTDsNpPmQrIhzcWmupIjTmurrOjaWuPPYpWGkCJKXCVuPmCXUAHmBOAslocYkHbb"],"c_array_date":["2006-08-20", "2010-02-12", "2013-08-24", "2017-03-24", "2010-09-16", "2015-06-09", "2002-06-17", "2004-01-07", "2002-07-23", "2006-10-04", "2005-05-20", "2002-11-05", "2010-04-21", "2018-04-21", "2004-03-17", "2015-07-12", "2007-06-09", "2017-06-04", "2017-08-10", "2012-06-11", "2011-12-06", "2016-04-28", "2016-12-10", "2003-07-04", "2002-12-03"],"c_int":-996053508,"c_bigint":1299083673691683475,"c_map_datetime":{"c_map_datetime_1":"2001-05-19 23:15:07", "c_map_datetime_2":"2014-02-01 22:24:18", "c_map_datetime_3":"2019-05-13 13:01:27", "c_map_datetime_4":"2015-02-26 07:22:05", "c_map_datetime_5":"2012-05-07 18:34:03", "c_map_datetime_6":"2001-10-27 17:24:00", "c_map_datetime_7":"2010-03-27 22:53:42", "c_map_datetime_8":"2014-01-05 20:21:49", "c_map_datetime_9":"2013-10-03 23:07:17", "c_map_datetime_10":"2006-03-14 00:28:51"},"c_array_smallint":[30323, 29053, -6791, 13692, -11758, 23863, 11499, 20910, 17757, -30761, 2666, 8464, -5392, -1629, -16033, -29062, 1225, -4162, 10170, 12547, -6277, -21679, 3131, 16329, -13470],"c_array_double":[36.14396412910917, 95.53303197800207, 21.143858877477005, 14.000567196375597, 55.1175202683779, 35.527907315150614, 39.661082909682825, 59.7752237856388, 47.140251482507836, 29.637667173966648, 15.379431756205598, 39.42860091343121, 48.918490334526616, 24.067127201640492, 19.775895154724275, 8.718187935421998, 10.955755205499457, 76.58992136135697, 90.1017587829206, 96.59869668492885, 12.061735057751056, 0.1407619210114674, 37.295848135038725, 27.447678407388455, 93.55637112448785],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_tinyint":{"c_map_tinyint_1":43, "c_map_tinyint_2":-33, "c_map_tinyint_3":114, "c_map_tinyint_4":-103, "c_map_tinyint_5":50, "c_map_tinyint_6":15, "c_map_tinyint_7":18, "c_map_tinyint_8":77, "c_map_tinyint_9":47, "c_map_tinyint_10":121},"c_map_int":{"c_map_int_1":2032230946, "c_map_int_2":87885792, "c_map_int_3":-1546250037, "c_map_int_4":1635746064, "c_map_int_5":-1221356285, "c_map_int_6":-280616744, "c_map_int_7":1074686240, "c_map_int_8":1928260370, "c_map_int_9":-1651796077, "c_map_int_10":483681546},"c_map_decimal":{"c_map_decimal_1":89.0620, "c_map_decimal_2":19.1407, "c_map_decimal_3":8.0399, "c_map_decimal_4":39.1836, "c_map_decimal_5":55.1018, "c_map_decimal_6":36.1981, "c_map_decimal_7":53.0669, "c_map_decimal_8":78.1168, "c_map_decimal_9":16.0707, "c_map_decimal_10":12.1479},"c_datetime":"2005-01-19 07:54:30","c_array_boolean":[0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1],"c_map_date":{"c_map_date_1":"2001-12-06", "c_map_date_2":"2011-02-12", "c_map_date_3":"2011-04-11", "c_map_date_4":"2005-04-18", "c_map_date_5":"2017-02-25", "c_map_date_6":"2014-02-19", "c_map_date_7":"2002-09-10", "c_map_date_8":"2009-02-28", "c_map_date_9":"2001-09-02", "c_map_date_10":"2009-05-16"},"c_map_float":{"c_map_float_1":57.44911, "c_map_float_2":6.1251698, "c_map_float_3":17.543169, "c_map_float_4":61.2122, "c_map_float_5":83.01284, "c_map_float_6":72.23407, "c_map_float_7":40.18942, "c_map_float_8":96.87618, "c_map_float_9":20.051111, "c_map_float_10":28.521925},"c_map_char":{"c_map_char_1":"FoscPQzTXV", "c_map_char_2":"PLeoZxRdIL", "c_map_char_3":"ZKpHWpxEkn", "c_map_char_4":"iCOjBiDKgR", "c_map_char_5":"yPpEQvSNOE", "c_map_char_6":"kuXQMotKyy", "c_map_char_7":"TlRIcIOvYt", "c_map_char_8":"rKQgVSCbFD", "c_map_char_9":"iAMzQhJcYl", "c_map_char_10":"cFiemReeqe"},"c_json":{"comment":"hey"} }','{ "c_datetime":"2000-11-17 20:06:15","c_array_datetime":["2009-05-02 00:25:19", "2017-03-13 12:16:20", "2010-07-20 00:05:36", "2007-01-01 05:34:40", "2003-06-23 22:21:13", "2012-09-28 12:25:14", "2019-06-07 02:06:20", "2012-09-25 10:17:27", "2001-12-01 14:32:20", "2005-02-02 21:00:51", "2001-08-21 14:57:23", "2000-12-23 05:03:10", "2012-12-01 05:36:59", "2012-02-05 13:38:19", "2008-03-09 21:29:26", "2006-02-09 06:57:48", "2004-03-10 15:48:52", "2019-01-24 06:10:16", "2003-05-11 03:08:15", "2007-07-15 13:45:36", "2018-02-11 15:31:02", "2019-01-02 18:36:54", "2012-02-02 02:12:06", "2014-02-26 15:27:32", "2005-12-04 18:01:06"],"c_map_decimal":{"c_map_decimal_1":85.0004, "c_map_decimal_2":54.1405, "c_map_decimal_3":32.0012, "c_map_decimal_4":58.0210, "c_map_decimal_5":63.0173, "c_map_decimal_6":69.1070, "c_map_decimal_7":51.0989, "c_map_decimal_8":51.0817, "c_map_decimal_9":1.0928, "c_map_decimal_10":69.0165},"c_map_double":{"c_map_double_1":3.880084983573005, "c_map_double_2":43.67277438227758, "c_map_double_3":41.35854704310874, "c_map_double_4":2.866412515837949, "c_map_double_5":90.5618836299202, "c_map_double_6":2.105592473059575, "c_map_double_7":25.066682908427822, "c_map_double_8":13.808411968903672, "c_map_double_9":41.94837528126292, "c_map_double_10":12.214784770523954},"c_map_string":{"c_map_string_1":"dMKWikvUwJhoxzZVSLUePakDFKflCQZGRIZDiOvDZcGncwRxzFKVjrHPQPnMxQxqEzGAHhDGPejNkepxFuXWGIDgNursCFBJKlhtKDDTtpmifmhDyuBlhKQhzVJUarBIlLTHKWVvxsyDSonTbPcOCEAIselwiExwyATeJpiHzZSqQmrJyniRhmLisaBnzUQaYtjzDTqUfTVPonSdHbXolVOvphexZQXQfDMsQBdBflnuRCxJYQXtLerUGkRhdtgfUFkkWYpiLlUPRzlkSeUkRYqZIVauJdsnXatymyJZbuCRehBIARJHzjFNKAxZuioUMmZEllQyjNMTkUesGUeAElliBNHJQZexVcDXcfPAZHgXsZBtVOyfvmPQlkVVjhFLiIOnHBmFVqNRbesIEcDfSqhiurAUlUYKQiBVCPIkyDmWVzPHQjWtJYLkhWrTrILwcPmisZQQdIjUSBonIgYEkTVlhvSRTPocPOYnNGAboJcPvpSGmYukztXSlnQBsblV", "c_map_string_2":"DIkEaQMUAApfiRyfBQJqjLQBNIwpmTbzcqSLFiiCqQfxFBztBinsqouhcwXlFPPDbqVkuzzMnwrsNnceaFwUCbfkJBMLaLcihJrlhSOVdzGWUqPqnHYkjSuUnhvrlrZZmPyCWIvMvuOlmkcKhQOBfHmxUPOXUiMZcVsPpOxVOxCAYyzqBIEcyWqmAKftLdhLmffyuGenScvXTZArFbyGGZlKEdtEJSarimtQmSxKFItTHhFwPfiMlQToybFrKOgNXbeKImubqcJZLDPCsVzJGwvuKkwAmqWIuVAXjgdrhWlStrYAvQXHcpcfwmnZFeaPeaSHPHvsGStasGwbmUBQoVNFwrxBtnACaGBxfHlQOuCONmMexUkdTDXnhZgZsrZCZJeMszMToHympYzeVbyKQWOZSDMqFygwMRlchPrNWnLMSgBecDibtUMBkWghKrBcEPoarHFHhHJCroPUZjpLreMyQZqaJIEfpQQExSBEvitquTXDfFSYmEkhTgpkDaCG", "c_map_string_3":"vXaDIjmCsKSakNcpGvgaMhYAVtIIBLmlWthYtnNFqxycobdJKEGjUALhyLBOAKXXksDPpvuzmYDqDXzfosBLbXWbvOmmygUVfQupjtmpWfbmUQLVxDAuzJxSWSSrbCOEPEAJxKOmZVhdCPvLMnfWEuexlEOIhxmThRaeAXQqginXptfBEwWOeWUOwMKcYSaEqrmUIuGvHRqNVXKUGVUNKnHaRqjFPPJHcQyvozAtVohckUxwKSwHjlKHiqjnoHUouUkfNpjoNhkddxwEdWWfFVVZeYgIosHYgVnJzGzEdNHOGEvqGsKylEkHSHbgHdGcbhXQaIWKVrPBBvIowVodFQRWfybecbCSHDFCUUQGnSjCkKFwEcnHOznlZpQexrwanMGzpzGlhXMawOCwOpTNtjTVXeboETbTRZLYObObiSKvHKIaxNtmSKRnfVZWWVlnOGPrrgANINapmgUuCISkvtCvGcKmDCkZyaQNsGjldMTUDEmlAubrGpSNCpRFgKNs", "c_map_string_4":"vqTApNKqUpHYaTcVSeAehQmghvrUFpEroAYDjhjxvVuxDnPDvYkQIVsjOHDhYGNBrVnupIptfczjbCBZFLdTbXowjUKjedmOuVJpZGbEQHTmXzluzOBzYkAQWHOzhJnKLGddCmVuWVNZbgKpulDfucKZCRtpnMmGrzQdGDkADTYNfrZoeQSHFVaWwfQarCDDGZfiIgviJnKugFgRopJvapFdtObIQYOStreRxNWjPsDjXyzjWtsEVHBqxQvBPXlVZCaemQXHcjIixqujzNBmeSlrLiniJKhwuEYYqERKOhKwPsTggDZjtrEKyUmUfZmQRjIatGKOWYzHBNyPGukgvrpiKsVzaiiKDJYbLykvutRJQPEvmqVIWkULuvhxzuekjouwnavNlIkbwNLzLBojVNypBMHhImKyhlYwbxFtLezXqjnzZHCZtYltrJuXgAasdzTOcgniPAoemETKevKArxniZcTAyavTlmQvySMvlIUYZPUtEpElFxwBgHZbTbuY", "c_map_string_5":"CAHuVPXyXBXaUmuTflnoUnoUolMkdvKoEiVwDGSOReFZyzRQcAZMvnyMUbJKSjxpanKijasKfstIpfNRCUlthbjmnumEoRLECuniKKHpTczxjZzqAFDBpSgfXlGIqeelNsegkYRkLIKzlNeRXegpXmCRsCYyPbfUEWKgkKTMiupssDpeMPfVgmDiOyUAttAiMMNOpicaqggngsWGhaVSFQnpJevSCFJijUBnklhkpnwJyjebPVzwdAwWvdhOeRvMfmoiyLqSxIQSRufLjFboDGovbiGXXYMiqIzlzCNkbBOSreOWLvgFVktiWqytSoSxhaDxskMyXnEASNVcwAoFkToPSVIxbHdTEicfashpdCIySWKuTZDIdCFlaZLcYYTOdmJZGfFEwMDgEkGbRmmnXpKelsVLgoFPrZbImzkZAaOqaBQvIwMtZRzSQmbkydvigWcfqqnizKfqSQvmbFotGQZqJosDxJMrVfHAnLvpypARBkLtmylQganPjZOrFhoj", "c_map_string_6":"XsbxQwlOusWexkbvsHaoXJYhBncYCNHZGlZPfhqtBDeLYfDFZhRynNIHOlQmhqqKFKPuBUEchsAKtcYomieGugFCtiuWeGmGAbHMwGjAqbomTrxIzNwNkgcvEwButPLKEAEEMOBudsLKpriDfNbVIPvDXsKSAafdldLkWaFpMcLMVzxacLHbSBRAeDoTaxkhSPnTSchhnZWvajmlVyChpKeEQLwzFbWLXcMACxjpLWTtFGgzOyfzrCbADXVtunkoLksMYqlJfpGinRZNuXlFRaEcPETMhrmnvSdXDKwAvrjPjpSvuXIGiBIOvBFxXtZvuWeLTJCNTuwpkoxFQAsKxACwCImcCCfccRNqCKKppREasvPCVwhdejJbrDvLKmzSelZsGZGPifFFgfDFibeHVdNOGHkqhHdhDEdFYRRJzHsmUBckIvhtpKKbtcxbiFicHrodyefSNClYSrbDMZJeIEEzkJAglpCBllQeAiNJtCkoCFgsXQkmZzJVKcaahjsK", "c_map_string_7":"oVVGlrlEOGGAXqhzPJKjmcgTQeoXAYsFzHoCNSzpuohCQFebhjUJPWpsSukXBImREkEQPkjfEAMcXhRTNdnLWfssQFDGGPimwHnpQLvLHYvpDgqPuUtLwJCKldaxTwsaAPkaOcKygyUNpbOwAAltiGjpuhzzieEnpjURtYFsqPlhHXietwCIscqfUvWomQGYhpXdcHziQxJilkxpcTczsggIBOWmXsfLFEjuRZQhErerBOMIYsKHaDJKyZBRAzYjCjOtBdUhmPvbSzJXAFXTyXYCshasNSVIwaznoKfMgWsPpTHDFtlRIrIRtLbqUpnqUiUKvTLqRFcoqdVesjXphieHzXsRrVUmzajGLAfMWxJjIWleVFXcMYladKalWVwTtbLTgEYLpZsfhhRnubwdwZTdfLrXlaNQBwmuBqCbSuZHywxVgvkKzjtOMaORlwWCSpbSXTdTUDmiazaDYdwuWSIjsoOTPQKPPINfJkeLNfbUibfwYrgPYvwPBSPXTaVS", "c_map_string_8":"MUFydszFjIObbrgGUUgnkkNqxPVQdnArYZloVACZBadQQtJUjKWOfFgKkwEjFjGEfQCwOdFcPDBlSQgPBiNerYuzGNjEPfGWjzquCvTetGFXVReQxcQpmLlIqPhFykbsijagWyBhJGLejaPNwhQPThZbZEowXhBPmNVeexMTtWiXpDybAKHjTJMdSlIAJSkHleCAWCzvDHKyxLeZQnaRTbMsAUwmpCmEZtUtPCkKNetojeoqNKRZpVYnQCXJQKwiMxAoxEwjQlaCjpycFJIibUFMZIOdmayvYCBUdYROqAUiEqdcjqgLIEmejBEddlBkzjejDRkePUxinVfgDXgHJDJdflPZXOghhDCnFWLxKSfqobmHsilqpphMEmCKOLsWpPqrmRQaGXkCYraxNewVyPRkSsWYjlskcUaTfARCzDdcyhkUsmvBMMTbAjcSoBFeOKNhCgZmRdDWFcmmOEvfyNLHuXLIQJuSuqHDOaZGlKfAxRbFOZltwQMjWAHTyUXU", "c_map_string_9":"pjSwRJBBvhuzNrxvzEKjDpzzoYNPINKVQUuwnVSLxbUkVQakySyKUxJYeThKdYugMGjKfZIuOLNgxejgaKmmCQZnGrevUVvzyRiCDRFGAJeRvvBfvACrPLWaHTxLibcNALkEjlndnPHwWpHVdBVnrWcYsYYuhVuqnroeVKRWZgvrhmYtFKPuREkXBAoXxNchymUrEGKvafQHJImSUctSdQJJBtvxSHxDmglzTyxXYDnShHnvqsTiRejDpbiqeEFUozxQUoUtsXMnJXFUzWUUehGfySVSrUycagGTrlgUqVhUTGEuQsTLJYPKXzWtkfouiSwWXIvtooYwOoOLBGPxXDIacjycOWstjvFLAXSrebmBLJORPWSAbtSxsiFtWZIjkYgaRAfrMSWtVFFvipBHjGUkBaNtVQqWFbYRrijVjcjiiiYEaRyBDElqHRXcWykyepxcIDVqdzEQJBZGyFYoZnaZIeYQcsimWGTbYpSitUrHYQbeZwXlUzhPzmmOoTvr", "c_map_string_10":"MsPDtJqFPjqGXniaRlsjxCHUSCOBKpYRHLcucUFthLSWIMmbhqOacZgRaWREHhdQFHPcyJqNsmhctaCBoxNgNppzHrsymjAhijgsCSzXugdqRubccmvWdDNuzkGCGfmYIIoRpguAWfUmOwpMJcJgRlZmInSsjOfmqlJsKRwaoSDBWdPKoXrRWfFYaNzpWgqtcQzOJCdTQMTSjQElGAeMvIYRTjlNVFNXaBQYnwShwlxLoQLCdXMiEdaPdzUZbihnqcyXWLMtqcllNOjNsZTNvjbJWMmIrYFOXOmXgLsRRLXaIKhmrKUygQnJDYSdyDnInXGCFuhGodwyTYPbPjjjKKxdKEORXlHdCNtCCJzOXZeFRhpbBWkfzdwwiIjfAokxyfBNqftkDFZWxypcxMlRceSKSlpFUYiytwVBRaawaUMykrxdfvAzpmJSeefOTxygKlhilbOfDzQbMMmSPSGedqioKjZsIrOeKiWjRoLywqAaTXYAbCtvfZtcDEonJmmV"},"c_float":78.10739,"c_date":"2018-01-18","c_double":9.985253065214806,"c_array_int":[-1825741512, 433604569, 519658779, 2118673403, 1543231563, -1543666954, 2054479421, 1796003611, 31477460, 1507694770, 657853868, -1172396834, -354116584, 36115140, -1035944901, -772165408, -1784396173, 107654908, 1661475748, -851674886, -1398789273, -661877409, -1768757668, 1661557319, -409983821],"c_array_decimal":[95.0620, 13.1877, 39.1835, 22.1696, 36.1515, 32.0295, 36.0065, 66.1326, 57.0264, 89.1148, 40.1710, 90.1336, 86.1818, 73.0903, 78.1525, 52.1381, 4.1293, 23.1492, 84.1434, 6.1336, 28.1458, 63.0849, 81.1614, 4.0173, 6.1886],"c_map_largeint":{"c_map_largeint_1":-2364180760131073630, "c_map_largeint_2":5082256709819261917, "c_map_largeint_3":3586236814530725956, "c_map_largeint_4":3651441541441855594, "c_map_largeint_5":-1794860241290646503, "c_map_largeint_6":5509806441404279329, "c_map_largeint_7":-5598941465969017113, "c_map_largeint_8":8655348746077066381, "c_map_largeint_9":5117773400286879574, "c_map_largeint_10":-6311463249623564499},"c_map_float":{"c_map_float_1":65.55906, "c_map_float_2":64.946434, "c_map_float_3":51.9123, "c_map_float_4":31.858963, "c_map_float_5":64.37813, "c_map_float_6":43.600998, "c_map_float_7":99.09401, "c_map_float_8":23.197876, "c_map_float_9":29.05639, "c_map_float_10":79.15173},"c_tinyint":-46,"c_smallint":11579,"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_smallint":{"c_map_smallint_1":24564, "c_map_smallint_2":-20991, "c_map_smallint_3":6619, "c_map_smallint_4":3302, "c_map_smallint_5":-30594, "c_map_smallint_6":9606, "c_map_smallint_7":-22149, "c_map_smallint_8":-8662, "c_map_smallint_9":28376, "c_map_smallint_10":-5856},"c_char":"eEHzRyxVnD","c_varchar":"why","c_map_date":{"c_map_date_1":"2016-07-28", "c_map_date_2":"2012-10-21", "c_map_date_3":"2008-01-27", "c_map_date_4":"2013-01-24", "c_map_date_5":"2015-11-26", "c_map_date_6":"2009-05-10", "c_map_date_7":"2006-03-27", "c_map_date_8":"2004-12-22", "c_map_date_9":"2000-04-08", "c_map_date_10":"2009-02-27"},"c_map_datetime":{"c_map_datetime_1":"2009-01-18 17:50:40", "c_map_datetime_2":"2007-09-24 20:23:08", "c_map_datetime_3":"2014-05-19 06:09:41", "c_map_datetime_4":"2008-08-13 16:28:41", "c_map_datetime_5":"2012-06-14 02:10:26", "c_map_datetime_6":"2007-04-19 19:17:42", "c_map_datetime_7":"2003-07-24 09:42:58", "c_map_datetime_8":"2001-04-03 06:55:35", "c_map_datetime_9":"2003-08-16 13:44:42", "c_map_datetime_10":"2009-04-07 11:08:56"},"c_boolean":1,"c_bigint":-7945371903920160447,"c_array_double":[24.96472467225759, 2.2390964043946537, 49.941199651625055, 38.15726820914545, 96.54670868244334, 93.64637964394501, 33.34129058457097, 82.74151559574227, 3.9300194917640487, 81.80155979108098, 37.01539159306044, 16.152735660970414, 26.545485284482904, 38.97897880062947, 68.95489419460928, 31.860665194369677, 44.078596556506454, 65.32785161385813, 8.010254607188841, 98.91979329954353, 80.29835230990693, 35.326789215946775, 13.231855129572427, 60.768760085421526, 51.278907990049056],"c_array_varchar":["zcnZkPbZzQzeZnLhoLGbMCzUQSjoQZDOrsPOxwipRSJiGpICAbiisquWsdiHxqAayjnUKZTUwSHbXMYxExpBiRvcbduhthAtcLEIYfIGpBEeBbtqSvgxHZrlrzBPsoseAgLHGsQObcnBPxzvlnIDvhubMvFNUlzodwlDhmypEOAnTDqkupqqclpdqSDQVtJGfnRnYCNESwcmhqZmcJxexcsKzdxQXKuzTHpxcRqCnQySFWntdaIqpwsZJBaXDJrK", "raiTkJSsmRsVwTHtSlByMmPpkmxEEERcVFNYqwBjwjIgDtytYQDtCtUxVLDpiMxnulytGlIhMdXMPCVmUHoSpMAnbXnNVjiEYAkcSWkzWSqjVqjqmjyEDPnqWzkniXTuvlMHDrwAccUSxBtbQSZustuYlQXeoChllBcIHsNiboOwcMGwDHMfpusCeeACOwfPCSkRkXxnkyBFXiNEUdMuPiXaESImKgPJLGMZYcwnRzaQQdSKmYhHvVykHelzJjob", "OJBYNHxZMcucJVuLJfGFeeQimbbZqeuFbWWyPASGEzIIzVffbtHCxwLtpqRwRHuDRMNyXIOQxoIzxvjZLtxMbiTFjySzQlhbBHDMGxbtRchmVEeQoMWUJUinDrbJuezYrsddTgyBclKXBBjksCzPBKtqIZTVEsfGHFngoNEuYgRyuBwNJfQfWQZKNWRODotKHTxLHsMQmBqLWkiDfdWrgEjEegIvvrmuqsvKewpvZVVcBUnJWFbOnpmJnDtrjZwj", "xEnrkzlrMcZcuHWypCedDYkQPHxXHJjpPurKvDoLBhGJxDfkjQQHWqOJKABCAiymJIWksYmNOcEKMuKsqeoGGWosxxnpRTCxfbdKZzNeofIgXdGQaTkbYqrmgExKncVQMVGWCDmjBfJylJgdQKlYAjDAGYnHMbQJuHFQSUhGsdsfvIdXLiYQYDoSMKjkjIXUwtDKxPMXwFgaobkGPrilbzfNVxNPoKZOQHCaCwUZmcBiwXWaIdqHFcOBXzbEhXcO", "NpSmRcXiIFuXtTDlFQfFaczLZOtHeMeSTXzIcOCUkHqklrmBUFpJWbJQmwgHYfNWYEHnkGUMlDzBydHxPMbgxhuVUrIsfUFRZtczqnEqSsIRxZhHSYlNvMSWNkmGqwUGCVgTmQNHxsxNXgKCQfWrmuiPlAQBssJRdXMIHkoYKEqTtXRtIRrsPyaWajfufWJaTrlxngjidPDCFxggTsMaUYrJPbJtQpYNvamNfmRnJduDiAIKTLBaILoDeqjTPdoK", "rYBzoSAZZkJzlQuXeLdhmrPtCLWLmPfjbVAdckAoHRagVUQbkPVtNQsxFZvJoJaNKTkUunAwwohzrZlHKvuutKsxKHIogvFPFXlgOSxIhgcRbBzmSvGcIeUclNiCriHjaBQXVAFBaxrbhBteatHBZnFcYnAPLrGAhCLlIPkNaZWeLTrQRobUgDwlTPmPJpAnoPbibksaHxdKUSbCPaZrftkBkrpoMZQsvrmsgkqaruWNdDhZngnejimodRlIxvoa", "FirkMvSOOxsuFjnwakgqNqGTFMRqZoqXvwFLdhvrCUEYVPialhbnTyEowTfyvlmGkHgVwoCIJdBNDFgPZhfsVGHwGHKGBkujonwGsqrLLjGTDLyItWOzJcJTITuXxoExZDziHcLuPmrTWaNAcTQnPhOlADEIrnPNxItiThgAACCtfpamUVKgeKQuJSGxKutLColTizUXhjeFCBYuXLNYURiwnTOhCYrMPSkfBSIFkBYDDUplvQscsxvseiNHvQlh", "kAarrFHfTdryKaxqogwlFqnqCpVWBvpSSzAEZSVtsXCcpJMHWLhIxtWmfpthJvHmFDYamopmZknFKmIydbcfVuGvPgTPaWYOMFFgADHySAuSdilHVQbpvRsWxkiPMBIUWLiaBcPVpZqUtwgRjleSItkhNNpjBasGGLVtLBszROoNwOZpwoFGRWRvTTpxCHWDKDRZVeOAoNUPRBPSBHfNBsqAyfOkEDdxxChFOoRgFCxWXcFUSKdHcPWutDaDKlwz", "JMFsWldXYeOZaZppMhlCquPMpNpUvuuQqidjBIssHtFSDuOrfkjJMjMiLpnYoJhfFSASBfiyGxwvuYIrSbLYCOrwiwOvKWUFXRlWwnYMCxjdaeSUdrSiljBEnlmxPHYXYmgMXyeUMiMXxHiYIqMxvMoJqlaHfczadLgGNmNhozXInOCnHzWOqXsoEIVlylTwNNyDkxZHuNfomZAivGWIJlhQaHLRivGICzgkmdNBVnNjLAXSRqxLNvhBEiVCLXIt", "bjMFMqWIseEyagVesbQoFByXRzUCGoTUumHsNzgFRpoNcdCcKVAagEUxcZcthlGGpSAtBSfEHbZliGMgxwIzyCRKudOljIsfaCfQVPUFyRshGUxqtOjfCwzvQTizHZFQAAjuDyeEMOBgIjMwdZkHCxSvGSGAZIOnYFSuVyGbBgSSRHRYgIYXWFDfVCQbbbkCLBaEjSQaLcFDEkBVbsWsbUllvRjOoedEdvBjMDxLXPzxxinnVQRmlNcliirbhEde", "mAaXpyJxfjQERkcQVHCfPiZJVOhhFbTFzDIAShgDfeqqlaewmqQZswJLrGsLKAGViKCAUmYJJWWkncOIuDYlVtFAOOmkhMWoDYpuSeFVXcEElcDBNTMaMLKznpZwWCbEuzzgHeIsUEVfJMhopewEsVhiiZaYTdsWKjCMqRAXfvEcbVQmmPSNktLcuTEIMKMuOMAuudvsMoDWGPPyStgPMIHjnPtMFdxSPURyCYCNzsMepoITmkdTepMrqmfixWKL", "uNJHYnpGOxyyTGcIJkRURlvZXTRMNPzNjspGjyxTqIWyxqPmgzmrNmcIYiGrGKZDWkmsulqdXHKtXdAipHeQQIswROqccspVPHPGCEaoKGRGNXQnVuvPAEogaHzAAerXdykzJmhdPgiOHhioDxNElCxksDVALgaepeFpQeewgumQlGYrjEIdQOuGFAmUouwDVRbMUeHsgHcavIftxJXqqicALtmJqsvJpVkFupteiSNILeaWUHnKrpPbJAvozZHd", "JrfjSzPRNFwbKpYZaqAcQrJFWkFNdigsCJlwmCejwCyEgKLmUiPOvGtZrnfBHiPYKmpdIJYCwWCWmyNhSrqOtHKwvGQTxIUgGJhlBQsxVMEQtmJLHJyiffZkEKOdPqsCjriJkdjFQiudUYxCzKCMxKEDAEnVZLCRBUgpMATOpQBkRscxdAfynJhwfarzJWowcTTVMUMZzglDQutpSZAUZlEJcYFsOGJBLsrAjmSuvsJeGqQTBQeSgMTIpnsKFshU", "pCKmsqUSvAVQUdCZWvhnrrGyAGKhpOaKmyJpyukyNGARhscaRIfcQBGlIiDSzPbvGyLKftMSxbaBBCYMQENqiYMqKMxZDJzSFwtHBbDDHNYDJmwHAyJRQGUPopHnAJeBiVEojWhVcLbPFHZNCkqUmIMNUTCXaDVYraYLfenqXFdhTBxJIdjXeOZLJLlkjkjLeZxXGwXzEXXnQcGVjnUIjFqYBnXfLjOXpEBlKTamwfQggJoQFOlXYcZGjkyjsYnV", "scBgmDXjLzHOLTdNfFekiYQeEKcOxwimvoxNWmENFyVLywCQMYczzzcgsIACWdOfEGVgcStFNxzmyTyPsUCkssEpIHPWoDtrfAMlPtHDyDxhxYYPGtdTpldGttiaPYnVlFJuJrSMhLKpFplTZVzgFGLdExjXXwVUMcdxRZdLyRILygTfyLXzxtbcBPOqAuRRJlUvwkLIDVZJsGYZWoGxCPcMsjhjwkomigKIapscyewkTjInvmEqMxqPeBduBqCO", "SabxRHTIdSVnATAjabkBHlBEnhadwXOduaKggqqiuxEQnZWFfxKZMvplqjpHoCNBLASjYjlqJGpwjWJVbaRrFWcyjYMsJteUPBVTyyhkZUeLIwOXjMzyBNhnQmBsLRMAQJaSzXdWoeKIcYvvFaCPRBFjsSeVhtjXzwKJfxPAvnQBdWdUETXEbXeBqPoDUSPhpomnzYyFurFAucAXicsjBMlGSPeluirMnMUhQnPpGaVrffYCqzMBCUSOFqelmtiV", "xFIVoMYnOIldfIaUBEPVIGjBpgqmjkeNkpVgrFQzOAHfPmmTKOMcPLDrobjAqFsHBUqxCYIzEqXARMUZCIIpxmZAwymyiORdvBXgDjXGyvpFksmZArLbOeKKkyONCCshNSDpsVmpxzyDtHgjuZZKipcSLoYYIIqPbsGFfxdcSbXQtfSeUnLpWajIbwIUsAnlcOaWfiyXarfgoMyExtwlOcaymnvipgLuYyzkrehOShUgcrwiguZqJCFLWQqCNgjA", "eKESbyMEeGMARSVOwhBWnmieSFUqNpxbJBMRgDnbARFxTVqrJcNdnADbaihAxwiRSyUWrFXzHNhpoiUowSpvLnYLlxBkwoQFFfKxgDDMzuWJxqBPYdjUspZnVRVnWcLYqnSLecGEmbKvJkrJjEwqFHekngeRktxxuYrqeDhTgJvBUfgvubdNkdTobRWURdWpBnUdLFiuoTmBiBiKepeVSDWvXwZZKJbYjFcKylmviMrikOVsvHURLfjVXkwGcDzB", "qwADpnMjgUgNzGtkfJqsQhsIakhxzwVILgBDZIgOkFLijwQOaOzgETxQxQHHYQPgObvPrEpidLTUTrdMmhHgKFIWsVGRWXbXPGicJyxsjBnkCLzDcMFTrYIfAQOejpxpLzqtDpXbzpGOYFzbrvKQhLYHSsIiAkvSmxScGvKFapKJDUwKSBQHFyemucAhUFKXmBpviYfipCsjQHLRxGNainIAsmsPRClNhLAhDeDMNSjFWzylaghvWlbvGrqaunDt", "dhmwNYGtnfgUtFrKobCksxLkYHXoZkJTURLlsYgGUuEyureRVLUoWfPdelCgCJDtnkKZgvSQpXeIZPzzpiwcIiKaAUVVtuIRbANAOqOTqSrsDxGUemppREFFlfQCbjlVqauRxDJifcSfzFKRqDKyoeyJOlJPrRSURAQboswiqjTryDNEexxQqXglvtSUQmNFVNJFGdAgHQEyyWIlBKktncCObZBtMTwYnagNJDjPmvgjYUMlSoCauHCUrKMEFtOC", "LmFAKKTJeGEgitnMvlXXxUiNCxNmgoihdHqqadIUkylfMkFHFpcvUApFWrQvjknsughiCIgJCZYxodFqYBeDPsPiLralHDQHuAWHbvifLlXSpBCCCFzNyMLneLlgOzqNrgdmPZOEXxlHMlSoDYJuwfYzhDdmXupBXzEyCRWtndZOcxLhobKPlgSXztadkRSkbLRngbjWdMoYwGIkHUnUwxGFrZHgiZAfuTmOSPUykAhIonKQCvNBEBYPAeKDYPne", "rXQEqFZkJChKoclTEQWXEBlOVAerzBzXVEZshtXGszFqStFOYjUCthcqjRfFEPVWCudODugZIyMAITAGdnGNylynjLxpZARXyblhUIHlIsKAQSUVGOovOoBcsOyKykjFfuxuIFekATQPmEhnsLpTJNmuVnBGVukHqzLzaoJwyMnRVYPTwTXFlNYluPyZbNMuUHMcPttdfoyicvyllvUaoUsJBSteGurjNrrXrFuoZcusyTJLDYvRlSRisGcUJSdR", "gAdCLJGwOKhjFtRZxHPZyyEPNoingsyBGtcLlpoufUFAhVLuQqVXvaMmrKxGZRWUqpBQzmgQodXdvxkFSTgGPTkqeYurfGycFnhHJOivfInfhCnJGKNOFlVOCkVWChnXGDntVFraezEaYlVrIFwbieyXjdUrjdjwQwhwRBLaQYEFczXDKzUfbnNLveuhgzjXTeGlsUbbPmOmpXOsCmwXmeMuZMRwcVRrxDJFYUkzuJYIubhKLwoXqnTbepkXwoDG", "NBqdALBYEFmXnURponpdKETLFFsLOnWnXMPSfVSCNUCsYnxlOFOGfNqLOOcMOOnEXdFuPHHAVJjRvzgQtHmIxGTdxuKbMkuddIkzHRMgTZwPSHvliHAUIjbfIVdtKNjkIeZLBcorJlptJHdgevkHmlWWIbjAweVJtfDawkmwZyjPYgcdHSyOmfZRhnAxQeOklQtCRYTuhiZDjGlIsoMcHDgocGhaqphBQVWrHuTRlVwUYYoAkzWDlRhcWcmzmfAM", "yqZMOKXvZwFCdLVAHWcyZGLijkzIGhJMRQKEAssZhPYeYYDfitLikSNDTmzaQxQTQeKhckKZvEAnHKOASbQimveZkYYBXAzRKToyDJRwHOCTcIhVAscsRuOWJWvzRHjduJHmpZoSjXvpzKMaeqZscMbHFevYjkuJQDqEhlkobtIlkjLPnSruaKLSUJVcffFHGiOhzaepAaEujEwIyjMZtRDfddlJmaavnsujJJmCdBvuKNsPJvQjXkcxvPEmaPoM"],"c_array_string":["siRzAbyoxpUzpYbbYScOVnijJAevKXDSgwWPPvSkUBXrVYidzShGcpCxixAYhQPqsVzlqSXCFahyWIPhDWTHqkyNjYtIUTOpaajUBTLPGDQcipJQrrEbsCOwoEEcMdvwbCkygEJlBFknSoCTlnQFWUUCTlRqGDZnTXbeuuDlVBlledEMhgEAyCNNMrVerJtwWyEnRIyBtkyanWXcinhqzEJBkAIUwELMhoVxiHHSOkWxJltIgMSzpDauLflzCEmXZCWyZVClOCxIihFpxqLdtwiBBpZlsXSunbdLpbYfCsXcElDIrvQCQwHamWFjvHbjDQsCCBewQfozLRgRhubrvWZCxUmbAhGkIapOHELJLEGEBNrMrlNqSfQnQFsBVuQJcIHinsjoKAXtnscahlfRJUsBjrONmKYqiFmThBXfPQQQfcrWLSzkUNZQTbEgduTyrSHKJNsjurYdAQCpvfitQwjBTCOlYOwYwgDpCAJBCFSjwfOTqbThctqFmIcIKpRK", "rfjaiUiCcmiRdeboBdYkHTZoASuBYTOFxPhdOWORKVTFxuPgxhErxmfunREYYswhfdmzRnehpnpMRdrFBttsTcCTvAxmDDnWesrxIoFNNLQFjfLVuPRKvDUOPUEWUEMRvPOTLRYpQkwLnaJbpmysTOkmZLZiQAEBGEWmdRvDbMhZdlPdooHPbAKUItFuqSuCRTTbZoezOQPzXxPfAPTxzcIvKIMLLxyXwDpaVPGzdfZxhgNneWeznPpJMsfjVIRfUhzEHbQtblTBEONGVQwWxKGnoDQaynGxTeaOcQrNdURtqEhjgsqRCZXFQQCIqJKVMffZQaLwvTZxotTcygTLPuCrQCHlzDwqLgqUMurcFPkYDWInVTFmByhGZVUlHcdcmSOrlRogCpbZMxNTkAyPYMDcNmpOjwrkXqnHOsgtfIIaxnAnNYwntYjKSNBRYNpAmCipxBMJmqJjwdTHJhtRmNNLUhKIfBnJjxSUEsOdnSzitLFDAVTnPEjwpoHcYnwk", "xCgyxCEaoDTIxViJNbkVzAmualYYQKvcOsjHcQKmWwHmCDnTIlLuezOITiCAUnUOuNnoXtMQGLeYbOFkgcPeOVcHnMTosFnIwceqZQwiRlLwfPfZvNVMisNstZhPobVaFPjUqxGYdnStmAswRmuLfMjGJBXjGLIxhivGeLGjblBSuYCQwgLjqUHLXtkQBWppfnQrcyfjeHXmDbLVWnRhpVLofCAvqEQUeiYYJQUJcWjeYCtnggoJmeaozeOZkEcQXqdzynKxdHsqXyUsFzpGoDXkIRFumHHvxBQNIpnHoJsTuOKtKcNJVlWaNSNDXaFKxaSWLZtmlPentEcGbzdLGUSUxAoCzJxNRiuyYXZQjLjCFjIsVpaSPwXwhpPOClHtqrTbULjaYmeCEtPofmSLyYEVTaSzoJSyJyEDLMCxmiBpuwcVCyDrDCongPidYqvbVHcxkFDLulKokaubYMyiTLQtuITxzvQQkUnbJzJoravwWNXKFEmJskSwJFdPFicN", "atzsCYWZxrPsYENiluZdpmrsBkQqRFFJPidbPlxaFliQqKGsZCBfMmdDgTTJChDTPSCMvRdiRtcHNgZShVtiPjvRZGjQJZXkzVMAMSCklgrzWbcxbMpICvNmTdOHHhztSTasCTYBqKHjxGDvcdqmbYwBUxWSPGQFCHYTIqoyMWVLTRCSpcwwRdsVYwxYKOEJBntEkpssUfqpHtuctiRDcVuLklOQXjbBhvmlvxCZwPzHASekKZBajtUksQNLIWeQkMAIFonMRMDEwcbQuxuyzuvFiNKqOQbNxhCvrMFoDyVsEtRlCzefEtmKlCYXhBKSGrxrTNhkNWGXgawzNqyAOMPTerSqHZozLyYATwtolCqbqLkhPrQiFcYDOROrVxDgARnsEffgYaWmMqsbnJMtWITVCPRPUtqzenqRGeCFqKomcEvRKNdzREGzIwDBCZzEpMRuLtHIbKBNVWOmqjpjDbxSnLnihrEFsVAwqxasuBbSWCnJfJCnOTzumTpbxRBt", "zrElqMHwGjvxcZShddaCvqkcYSRglYGLTHbWmQBkrNLNNyhTidbxxiFdeaacebyWlaVcqoOfEzGeMryNUECcwnOCYlKygAPHoiBXEygKkgOfcdyWgOezkfdqWfNcrAhpfBfZDCoUzeAoNpluqlTLWSlqyEXbkcqXTWqejBYDxmpbudzQFwUPnmyKMmJbyJLFhBjgpYnOFWCnSDqlTGMwnvelPJGcFQBCizKtWPduGzXxuhyEAPckTauNeQjtSLRoddAfqgURwmhbtGyBGxTrTXFmRqwHZjUoAQzJeoOghvvQuirostSLbEFiHwCDZYKJoFOhXgCUlbBuQsoFkgzRphCmuWLwZJqmbGxwepaReGRlnQWzAIbXeoeTumkMtzlEoSVjKEBrfJOvLorDrUynMGgTOzRwCPkuqPVfUJHXhMmVRpMsXgJkTRCjIrFdRLeAMDgaaQRyMUGqKNnfEgWRuYZWFfOaBGXZlShhPmYjeBQhdZvALLwZUhUvtgcXWgST", "wnIMYklrNDsWITyDWhOxmpfHuuFYWSILJTOKPzGiHuGgAxuOmyfqHtJAbsVXWPFOnGbGyvCsKPDbkNlQpXTVjmGZHyZXkCzbrAaLDAfEyThrqfASDJFoVntiWlnTyrSLhoLOzknzJQkctjtaxwTNKwbQSyqquAgdUFEPCNDRSDibzvZbfcYqZRQwgrRVKziwzyFqMXtYdFOyozutkvtoBgJLjGjXOWesxXNOqyvLATAoMAIpCDwDkegdNHouzWkXFYLNHyIIRPuVrKZBglDGegeAloCRlzObInKSujcjQIoQrhUOxkyixgYlMQQRFJFaKvAQLldDWVCZMiaqAlwSHQpBAPyazzwooFGeTOjOoAOCOxUoLTmryQCnFeFREgkhBaUVBLVzxSKPLZkFPcqJIKPKuheWxBuBMoxsCAuBSIEITIKfuZPSpuSeibHmElBwqrIyCQJbzzywUTEntdbaUpmKhKyRTLhuRlEsPBKCfgnSigycujswAGrFLmcoWHvO", "OeGytwhwpZcOvDCXPCYUpklFuftXbqXVgIDLLdfSMUSVZUdEytplcUlnQJzGYNKuWLqidIeTYCGmoJaOjiYjhmiQAgMGDaqYlZWuqerakLWxlAntefnBsTMQHcCXwdXBcjDwjeWOgAXjQYSxEXRZZpQGFexOlzYByPOTEFjIaiJbqQiQiBjhALYHVJgkLJPaPeHidPEHgEggacLGuZUsGwVUYiuoKebaAHNbbkiKVqDxiCDhUxRkSnpHhiqqOwTSAobXKFfPAXVdpepdWetboqpyYVgtpqpFqVvHFAxxuaLYMITErCkMSQJALzrorqpyqCuYVWzJOdODHepkyrlzrncBZmiZjEmcwMriVpLcyMTgeAuxKWJpNWKIxvEBEyhGDyKwopWhDQrwbkLvZrIqdoOgopeHkfzuYtRNbXotTadXBinidGsXdNpdUxKbghWPvINLmPVjqTVuoBTTjNFtCOWCHCTvmhsmCxjfVSRzHWqzKcrAQypQYErHgDKevDEP", "KIzIARAZMBrBVAnLuvbZGOdidklBOzdMkuyNuWCOGXDzRjQzGTwSaUbiYafxNAQOolTRptnuuYNjkSzjLHVEoNXLVthrfZyKLOtkHJELYmbCbvOsTPxSwABFIVTgfwwsABOrtHfuhezlCdKtEighfRPhLLJcdZZikiCgDIvhqfHMtLCmyjGieOpWtFSSTOChoIfDrBZXIyAvTDzpCDDgfsJLRbmVETdQKudWDNigjnaHTEaMiKfzRfdhBnkYZRDPOvguuGjtNEPGAlNeQuWvndCPxXZjcBGOAsIGblndDJLISooAQSnKViZogbCuePYYHxRZCvQdWGMnRmOYDxaxjlDKbefSEjCQgJRHsUqCQZTjjFZAerBPVHkAqzMXoDDVwZhsOrTYmLssUYgFfzhkKBmIAibOQJfHNkeaIzTTkrRGuJJMaHYQnYGbCALbZbVaBVNntHFbwfQinzfdLIvOtRGzAsKkKFuhcjBkLBMiWSGCpwvTfSOurdOqUvGYPydz", "FNCdeKWIikTLczUodHPvKcoDXznufZzAEVSqQOHNIrQSvsxkYttLejmbIkIeeulUMWsUgkDfEOrWVxmtAoJjSshgYsHEAlsraubxNrtRNSePSggXDxheizpqkiWznZQUHsIxTycBgPgFHcVCzKcVGbTdippLqMuGnMwVvcPpYKtIoksgWNtvfuaOemeodVTOwmsEgmChQwXOKYpDORcNybWbPdHYaspMSFzCNaFEuFACJTdXXdlSSvhGoyYOxenFlMjZQitfpwSueDsFhaAKXbCzUOTcvyUTeYsebBCDzdMWbtjIaYlRQwToEXRwfGUbJgTlGgDoTYpubOxpcClTBfjsrcDRCKkoVBzwrBSOUytBOfbztFNEtAjNDtHJCsNDZgDTRSVJQjmcgtVoOpcqbEURFFvTknjHqirHtarFzgHXiQMCHseCISMypKouMntALhBcPveMWWuXJXPyETIypZOcuDanhoMlhIEMaGJXkmxwKjatOlBOyEHtKZrKJtiu", "MuAiZeMJywNLwqGSKHyQaHcGPsAAlXZwXxmmIMedAXfWjHdoQbwJtqQyWNfhCPomRHXraDZpDXSfrlWnOZcxThiUDmoOvNcSenIFeuzvRqJNWQhDaaIbuNcrBFSlhrGenjrrsJuFHIAlMpSCgKSJdkxITDGmGIfzLyHLsCpaFwyxzAivbMUzXHDwsAfknrOWOyAwNMYAFunVPAZmYhEVeMdsgoirEcnavnnLwQZIjcssomZwBnzVhspDmTrPPDbUbxetxiQDMTTHfjQYmnALQeDqGByUwONIvSarQWOYLWyZbRMuEuPxEZyGFfLtIIwzjJuFJqjVJtOULpzAKuFtEMFnqvlRoyJZAOLcoxkZDggDZzefVajyGreVGnxWtHDotkVkkzsAVyCAJGmhiTGckhbHxElnQlBMeFhsuTxvwWWXEbSQgQHEgZpMUSnyDsOsntvaJEmCJpIhitJNYZtBOMtVIqfEjOtEecRXTFaLfTIXRwOAgtgmHbEAeVrOiPzD", "criwbDluMfUFtfLuGWBPhlUDFpKKNUIquoFKODWgUsJESBYLHbaweyEDlJxBlsNUyPDDXckJYBYyBcHNiWXbbvyiXMeEhwGViLrPULETbCbsdgFqUkSdMBYGfBAfJFOXmrcNcsgyxycfKyYklrmmJQnzJdEWVOSRmRMvmguaNnawsRYYOKyihuPPpewQFFfdyAEIGjlSWIYTHQLMBHgOHwYLGeyPJaHvxQYkkoVwZjfDfjHSdlavzjQBbhrsSKQgvRdqpVquyzQhWwKwGkPJjkgcxpXhpKXcAPvWfiualzeXMiqYXTgjmrNcCTPuZHguVvRhWbPFgeZCVTgmdWaKNfhApGvLGqCZlVpkvncNTmrUEjheDDhZdMWXWPnmCaaRledDCIkjBcMHlPxJgwtPDVTxdhNRTEXCYydwfeGpzZeHCKWoSGmUmymKBpgwrRStPUKhzMmCTORJrXZoPgDesEjvOXBWvQtOZxXIiIysJFFWLFSkZAmzBMzLbLZAkqZG", "mXridBxDUpzCIFLkcYLgncxgljOtABvyCPPruVSSxMxPriqaKTIoSIkptNQfmkVgrwzhUwsbnCCCRDkTyKIBtdYyiztPqmrpniVRlvxpOCphhZscsrhJToCaTvuUmbanUZyrVcAeBxpgDumfctgLCGukXBUdVVetKQCpEWElXkNdWlOhNVCSBmihRLmGevgyHbSDuqtPROmmZdZnYOLnOJymsvnQcdKkciJmotslLjnLtYyIdVfRDcQVkPAkpTVEQvTdzPoftmKEeIiEuqDRvmMCykEarlPYeoXzTAJadYSGWFzyUxuslMnjFwfoBTMGYghAJUClSYfnFuPyUeoKFXfEFIBAHsuqZsnxDRANLUDntCwWdvtXcWZKghXkmQYPDRsjxZXjRGmcPTckbBHLAUIYEicgCuIDVJhcVmhCnYAOAwSMxkXygXVveDdhVoDWFJhFuWZOYgkkRstZUObCgpmNcOIUIFgqDdodwouedBSNvoxJwjacPAHHuoxeMaQQ", "vEnVHkmCfvelwETUohFBJHyylmeHJswBhyAqqpHMrMJwqfezpIcOoyRMNDEjWWJNMnkkLpQPUSNRDVDocwEHxtICpPcLIsbTASHCVnGbsnrPhpjfkSfUXLvSpFCjqNTLeCGlBeXqvOjfYCVxgjMueRCBeMGQPAzBDOBqJUuBbVnGrVGUNhZTHfFGfSmoLTnEPSJfUxbzWdtLGSDlgddrmqjaPhdvLkzcIBDXHHXwegHEypEPtHVQLlXfdrvgLOTMAqtIOjeTKjiNsclxWFisEHIJnUDibLWdYLsvXtRoelYTeWOKRXNwVNToLoasRmGfXZFPFzMWSVJHmSCQnSEhRdxAMfckfBFWLOIHiOkAbTuikgdlOehfgpftsZNzuWotJANvIpeodecGdhPqiIsRHmVkaNpnyqoOJfpkHulEnXJpOTEhnDLMtKUvrCtpovmPvKBbKXjNQxfAWOIMfEPkJyxlcYvRqWuaXPmxmRajYgvnyxRKuYuaucCnoBWiwljz", "VBlsdVJQAGTCRkzpgUyBlKPTNAZzSSqSqfCNxFNYuFeBgSaCVbKajOeqTTpctsJxkuJHCqWPHLqBrDyhNkUAlzDuMTxMOgVPBJKdBrNdNYmICGeIUrjDUzXZidCvGTKoJzuJqwkNrWhSVVhroqaqcQLjzyjzIGsluyFRuxwQUgJVGilfrmjxpidTAlthbYIAKglQryZtuuGkMjiCipndecYDqZZabsPaUAvuXycXPHxiSCMYFMAfKSwXHATqrGyiTJeRmpzeMeSOHkiyvPqtdCUdfKFopYgacqCceKdKzuXfEdtauOJbfWorfFmvegNaucimcIqfDIvxlxvEhKlYMfsJWkzZYAQBVSdiWOwxNRRQZdNVkuvLPbhpnKlaYWzUPQJekDYRetFhEXBBVTpxlfbXxFdVosJvTrGAwIcyaLxnRuFaGfjYKHzvUiIoiIEttZmsGxWdVCxEYfGPVbqoBPBGnvXQiZHPLmgDiXZoXqzApyXjTolrfTBRhSJkvsCw", "TogFllkHrDNWHaQPHPnKCSAQhZFrHlkRqLRrPJBRNRJFAMErfmTbBScrsVvfAcKhvzxAzIibqOgQuzajODuevsjEDwkwRgPvRQzSHDiznMbHwpGMYFzCACqDAhRrtvqhpiNwuuGrJfUNEKbZXAdxulPZDgImhVBpwyIgkUEOuNYsyNhmJQKSbpdIMPdaXCLICBqUjScMpcCvLYMjXqxfvyjpAoXYOcZZtrjUmNiQxkWZPjBCvcYoZXFmlWxIaIMOjGcHCODrcPjhzAuSGHlGAnOJQGVsbnETLDwDPGetbkdhbJUcsKxkKIIJfVXhlbabzXEllKXlfKzOQgRrfNjwDWJFBdSNIrekQbyVLLGJGFmbDKwUUKcyRFmocGPWqCqvLfHXAGFqGCLOIoBGVrftbggusUmlYIECWbTqzsOyaeRtxcXrxVVtuYyNUjfBwPSFlhHCwEnYNtvVSSxGxjCcOIdatAbYJeVhGScJOYalfJHfXgxBwXJCluHSJhYcuBSN", "kKlfHcFrYutexoeFwtwStkLlATGbHdXVYtBezzlqEkUDBjzCmnfWwhfBejCqiCwPJEHBWbFUrhUDzGCZyizRcilTIbsrJDGIEJQKgjpHWpDjKkxlIWNsOKMqquhwNnBmXcBXkaNlQOiFWsOXjrPWHkhoQcRlOOvYkiqiVCtVsVImUHPduDUCXukDXpfpRdqlSBDnfOwLoWAnCjmlMZgHayfRUOTGKQaJlsrndvsvGUwEKvXnmwaeBdZfgSZbDRXrFArGPnwAmXgfKywZOIkHuiUaDSlIVCDncpYinmUAqaPUMaYKjpbgSrdTLnoqdvKBXfstVXRpnZnqyAUZgtqlZKBfYeozlBkffDPsqEPYjVghYVqujxGRhvOqYbyyaphYytMaUAYRkvZQkUOCgFavjkrDXugQLfjzcLpsgRIMSXZdlqJguAbhZpEkgvFJBbxkzMYRXhkaNLJDOYJhYSsGgVkJMUVroQIIrYhcwIZAxcxRboWeWHknCDNJfYfuxQsO", "dqCHLEfAsXSSFSCLeCfFhGPbyGfcpezvvuebMjtzwCjgiickHhEgOnyNDtJckTaupvXxiiTeerxHiXnytUMVcJCwirSYrOYFHpAKJUnMHbqAjKJGrxYVoxNpfbeLgjuGQijLPyfisxRiHPDHUwZkAauUkHVImewJoSbmfzzRvdJAoiuhXrgXMALhJlmMHQxbkxARFxprYWceSNKBjkzhhUlfYmQhPSMKcxciIuYUkDsGmipkSkGBDcnccOpmWCFLYmFUQIqxLlzvrHafsZFrvtIEqkfKRtEwkwupMTfVeajaDNMwiBYotXqDksQvjQftKUSrObkZBZlMbnefoUWpvueOMwSDIBRiOkibAftdYtWaVkPuDSBFQJxPFeBXirJZBRPmjKofEPpDFVtSNYITxRfDrakYHmcTmrzkatNRuPTqKehbyzCOuegiARKrDcRHHRbIXpEeQXPWOnEufYWVlJYzrdbtMnCcQqvqhQQuMrEPGYxzJmYqXfSyjgNdUnza", "TAPatyLtgIhKOAANKvhWthoRIuFmLnTEWUVsmpQENUNcOStbKKjWBHbcrtGeKlhrQnSdMrquoplXmwHeMZZtkUEpZKhoarJEyJtmWSLclLjxjomkRJXqrdkuySMBXXmjYwGPOfbksDBHJQUNhubRxUVqzTKdHWpNrfXXRksrQgrJTuvFdftZwWpDhVsHdEjKoXJHJLmLtrpaCbbYsHWPrVDYmZdfORZPBzKqBhfyrMbvALQdmzAlUAgMawfRPGQyihAJPZaNMkOFacvAljJNTsTFtZkmXDgCEVxCFvvBgBCqpBCSmERapnyWPXGdoesVJYdlztEulidnNwgRrtDyhydaApKwnwvoLsSXxYpOhYPiNrrktHUpoDFVXRNHWBwcuYuPXOxPnxzxgkaPvZDeLJVUMwyyzWZMswvCjoupxFwhBwSWamXDXeYAezmdWuRGQBXZhDETnqXmiXQzQbwRHTfECSbczTUMYRcqngpbjNhdaQINRqbPKrHouOQAnjFp", "xYowggVGaFeOOjgUiiSkVAMhWcLSbiejrnTWqfCTfmktaUEldKTCmceSsVfKkTvzpBRCpufGhqhTURjArMuCWlkkeFPCrMrkHlOlUeFQwyvoAaczIguIErXhsNODQDqyhjpfjOwQnqrxneAsMQIDviHCYtKYiTTUgkqAvsNwCgPkDajnZlZYeeOALIaqJKtELWRYITObxGGxPyCiyyxBoDPjyGhyQVtYgaoiIPXQhYQTlvFeeqsvwgbhsDXXDTbkwZpdAYCReHnwlBqsfkkNbQzdTMdsPAfxBPOrfNgRCtOtDUgoJLjuKHKkOkDQHZfjZCRBpAOnkFMWHIMMhNEPghRSzEBJfvXpZidrSZDSBVUjCmwrKoXVzzDptiMVqGwSLMethNysnVrlmBgGTVhyWuOVBpcJejLPIoxBDmFWmiGqKLzUiwnaQyzgyskJSxuDImAzJahpmYxZdbxcRXSivLoQeUFQPBrUEKGOdavxTbjoTXQlwYyBchMhikDBauFg", "UHJkHlorAuREWKHDZqPWbCXVrmBazgGmyMirCLOjlZKFXxGAyruaHwqhaUgKVUSlThBxIadlYtbTpRnMVkVKaEyWndcpWUEUGauYJzSoAKxmhITPMDTtRsZTmsWcZRFVRbDotqqorNPAqewtcumIikUIHWPqIKZBcrBlGGAdEVjAkDtAKLYTGoiMTfbNFjcLuYZdoHRhYuRhvdxgGnjJQaZbaTmOqoLCWTwexpUhCcrTWvzJNlUiHxDMiCgbIrBvUuPJetmaZnMGToPczbqagoXJxzmdkSNsMOAyRXjdbUMisOwXelpoSEhTuTkNimFlaNRhBZyBhWRrylJCWDtqtDPdrSzDHqcobLNvIqwkXWVUBWDxlocDJGpRTzluQDRrbWZVtargJiVzCPjtXDIZZxjxDLbOVuFPQchSRaauNMHQgJbquPfAVIRdxmSGjoGCPxtoQeFaLrElEWwiIeurOKwTJgMwMBOmdpSjdDMoXbsFDeaEpedICkhAcoUucGPY", "HyhTPHVEBKivCwKtCIiWRegMzBvqsDcwUYgeamwgZcciVwHNwabbbWtJkuESJqokTjTXgWqoSHQZKdqXYrpZosdghNhNljLNOIFZqMGpdCIaxMTQDkXOcRDAOwwsRZYwaCaVzDCvsrKXPpLDtCBAXUQhpFuxoVGSploLPFRoekEtZsfquRxsDYfvlANSquucBtpONIlAsMViGRoSyeZXNQgfKsMjiCHparxqMtxNewyQeyHwyirMPMGPusXLRxpmPJRyusfAKGXNYNnSyslmQVnhWcKWxLUKeiOPyuaEiejSukptmSBfCTxWjzqeiMWDPeYDIQQEtzJORYnEbVSGzcSzZGCuZHInXPuxnRVzgzwzZRDqazdCsyGkkaVrBQuZNBWPcmzuPokJKDslcdoIsQvPxZQDrIIibKmUNWZmdmMnLptcWWqgUmASPRmRBiIzrwqWidLkwFxJhKFXGfzkWflzSwVoiufjpDyOCOuWLUEHzVUGQbarYNBWvVIYmmrk", "wMRABgguqcMPcFyIwdHLiaOFSfWXRHDmmwtqYyjqMMNKIFTlxdFCKuyhbjgQKfwmduosurxyGNCRgUoDMTBLhRAmQQObeuDihWNsoKKrzPevvOMcIvzKLkVdleSHKvKGmIYeymZmoOyCPwahcdCstDuCxfvixLVzucwfmuNXCpMnSurNlXEmLgPihVQjCyRhFayARtPbTKoDuycxPdBbtcaArvUuCXkFgpFamJeXBgAUYNoQpCFxPQDLCIsgbaWsZAETXWukgyUebTEdNwzDZiKXqkFRhmGaPWjwnlaOELshEBSxadcatFKgGxFcoRKQIrGHwjknXcRzjorzDWOqcozInZiHQTPffDGGDvNmPOLUiPnbQwHmhqBYdlFxTMXifwUKOWfoSqgZDwxwcwiAVxDPStDDxrMuDdhwitMJQuvvCMHVwCpWRSvxQMUCMdbplbBbaZCGroCeTSPyzeOLffJFufvOtEuLmQKdGyGrIfAQcnNrRrxklxofHJMvNNzD", "AetjaRlQJZUtZHNFhWgGUSRzoMvqaQbCunWlNFMZcneNBOOsrMcnhoWpVaFcBHdsWtXTLPSsXCMNqRwvuDlwJHdcURegKSVwboAWYtlebKNogYzRvTMITmlIOtOinYfiUkmrAEbaKjxvIoYOgRBDVgnSTGhLVwpNQnlIlexlsrMatWcLOsFLuTISHraiCOzsCjSfOJSHwGxixAVazcvLKmmiiDBmDwkuRdLzzTTYEdrKOpMmaPOMcTftonqCboCEtuqgTGfqRRBVYEepvfjoGsDSLMrqgmzxMoRTOLSsrsECKOFTxKQYTwyAGGgKAhqFVgkCuCDXvHNQMRCUmMWkCrhYhvHFZdpeExpGaiqpYtptFkceQDVafgtgIEkqldpULvWFYpMlunMBxDXneTmqrPyTpINWOzbDpzFASUwdQCdPNebYUWdJgRUlngdBkqsaTomOOnsaVbJlTItJIjuXGlyVObJqCqNGUxOnsQZBkCPoWgIpTWKXVdxjmozlGdKs", "ewfZeMoxFluKPvyscvFjVoifSMASFpTKrVhDxuSffWAmjvCppUuHqmdPUiNAGbHTXrejPtefYerUUOkBijBTLuxzmZwAZAWWwbggOHOjyRcDwUgyWOpwzhJvSHNUUuotddbCrhZbimfoCUPzQHYsLTFykssSxVZfCkWdjUvTuxYHdClLSlIdzpgdHlXtxjsBykzqtzoUzakkCyGiMRpdodsTWtmXdRAmTGrEiftOLoQEhZdscvMSPNsCzYAgRoQmspfnIFOXSzGFyUATxJlsmYZnBCnHePByyLolEdFCLbftDzIgFgXGhKQarAVIToseGZoKdydcFDZfFtbRORWHlqMEpUsTzjReeYlBOsskDiLJYZawWbIDlyRgmubiNhJgpHvRFskKoAQBylPKiQIWeDyvzwySeIVVCiiuCNywxKoqiJKRkmuTbaeXLDcGvUlWsihmFNHFKpSJwmpiAjwbmZpgWAmgaEgxCDzqDUjeOzfHulKMEsmuurpgwnzoCYPY", "cgcikzpsiNXZcKoLPFOidZYyeQysRqFXbTVXhrQQkFGIduiXjGIUFkApyKLIFpAhbDMNBqhUmMzqjTizyoiBHdkClOKGnILZOAAOloLHjYyzKKOKfrJyiEaUqOiWTgdJLykmYRiMoxdPbLJswFLEXJKnbLHJGaQzHSKLweNsOYhWPcFDJFFFHqtyjplOLKIQNGfQfOQoMsDSyjMzaKGeIOtYnLYbqnyPyvRsgOFZiOtSgNUKryMlKCBTJavbpGHnLQeYzhPTqWOODPsnqgdBEyAzsSmFdtbXKWRTGKAiNilqvRgCwkOZdvTDGGtDEZKxZSrgdvKOAHVeiJjiqpTCiZfFsPEkGhNjhHgtJyHFMTjlVVSbEXldxgMmWteXjhIgVhfqkLDZcnVFKlGDDlLPcuAkTRYipNIjcmjblxqjvKxaNWrNDofXSeMdQVEgjFkERvVkYpcoGTFieRGfQBKxNIDAdSeQgBuDAhdkNJlswAulkpQxhOjNzPcvbaAuvKVf"],"c_array_ipv4":["tZJFnmvAWj", "bwCSnYPKAz", "wuNfTEYaZp", "MtsPNFItaD", "UuQkbZWzOH", "MEqDSBKBVx", "KsQLyrQBMx", "EszbWyxyLH", "RfNGHSxZWg", "YsMcTVcwXD", "OuFHTYLRwk", "HRsRHGMAEF", "NiGGIqrnUL", "alMDslBpsu", "PrikDTgOzP", "vEUNxqSmjp", "uUmYSISFbW", "CjFpbBSTSh", "cVZytilRrH", "ReUcSQiXTU", "pubrvKqCJd", "cYUJAjlhcA", "rNvOJgacCe", "umCHNZEety", "fWjHJnoWtE"],"c_ipv4":"107.214.124.79","c_array_float":[93.6537, 34.38913, 27.155167, 34.714413, 76.22162, 82.34238, 73.241974, 95.65544, 21.853506, 86.8014, 96.2223, 77.36008, 62.98658, 64.62948, 1.247644, 15.006278, 90.53708, 95.54573, 88.26968, 5.6625605, 97.8282, 9.028322, 88.16238, 84.92259, 76.80575],"c_map_bigint":{"c_map_bigint_1":-739968747337070644, "c_map_bigint_2":4263558085258416922, "c_map_bigint_3":5579574301909596073, "c_map_bigint_4":-1290530472804390016, "c_map_bigint_5":-8011962625137471519, "c_map_bigint_6":-8823712348286186362, "c_map_bigint_7":-1232958483461482470, "c_map_bigint_8":-1842599231806846548, "c_map_bigint_9":-20209571873215903, "c_map_bigint_10":-8796447690177723240},"c_array_tinyint":[55, 120, 80, 6, -96, -122, -125, -102, -19, -12, -32, -87, -69, -100, -63, -76, 123, 19, 53, 68, 52, -66, 63, -101, -88],"c_array_bigint":[1735938853834022139, 7104358902742111680, 1883590322606646759, 896658917875569949, 4067613067377277907, 367618332701298723, 4732387072929139440, 6845636592082057100, -5056624345314981739, 4391843158546616586, -4368104866210775723, 8758584581390826248, -3678481644489273376, 6098619637958522080, 480801852809004386, -5484272849128669515, -4133913658943581019, -7321010160532067430, -3927418559042058550, 148464351943059654, 4791993288315500825, 3460635534036412858, -5575129556343375809, -2735579720046233021, -1380655206329508553],"c_array_date":["2004-09-17", "2005-03-17", "2007-10-24", "2001-06-19", "2015-05-15", "2006-08-05", "2004-07-13", "2004-04-19", "2014-11-22", "2013-12-01", "2005-11-11", "2012-12-26", "2005-08-01", "2004-11-01", "2016-03-21", "2015-09-13", "2001-06-13", "2005-06-06", "2005-02-09", "2017-12-06", "2010-03-09", "2015-10-14", "2000-02-20", "2017-02-14", "2008-03-04"],"c_array_ipv6":["GUUTOpjLET", "zNCLBAUyVF", "YRXHrZUtqL", "onhEvmQuWf", "JELJCwHObq", "aJJNkkLgvk", "ZJRfKzttEt", "VNKBvVZWqz", "EMzFjyoHmk", "PsyKyNeiyf", "CNEpBbFcAL", "nvSGaFxiPh", "yLQDbNCzev", "dPCzcJctZW", "uRChGSyXwX", "WORfqAswCm", "gmbfsKPUzz", "ShsiJfcPnv", "BtxrGDQhci", "sPbgaICnkW", "KjAGXWGhee", "dSxKpJJmta", "zZtBRfciJG", "SwqdvozbbS", "GZSjCnKspN"],"c_map_char":{"c_map_char_1":"hJyeVmfKRU", "c_map_char_2":"nSdKqgkCCy", "c_map_char_3":"DCzoyDOkgy", "c_map_char_4":"azVNetKQpZ", "c_map_char_5":"FvbItYjhLM", "c_map_char_6":"CjTRqoLAVn", "c_map_char_7":"FLfzYwlzpd", "c_map_char_8":"pmjbqaMnSy", "c_map_char_9":"RhMxZibVhX", "c_map_char_10":"MINhoQaYqn"},"c_map_ipv6":{"c_map_ipv6_1":"6610:71d:f925:ad16:4f08:5d7b:3a77:3d62", "c_map_ipv6_2":"d58c:b3b1:18:35ee:28c2:c285:ac27:6a52", "c_map_ipv6_3":"9751:b5a9:1b1e:1f9a:b1f6:95ca:20d:80ec", "c_map_ipv6_4":"6216:4db8:33e2:4dfc:ce06:5b9a:e0df:d331", "c_map_ipv6_5":"ffb4:1a82:1cde:7a9d:638e:4d6:5cb0:2306", "c_map_ipv6_6":"5ee9:d15e:a12b:5fb9:d61f:38e1:938f:d6b5", "c_map_ipv6_7":"50e3:90f9:d86:3dd8:9852:ee00:919c:44da", "c_map_ipv6_8":"fa55:398b:77bc:e5cb:a799:88de:40bd:6aa4", "c_map_ipv6_9":"c0c3:78e7:14b9:e647:a4c1:7f86:bf6b:2a8b", "c_map_ipv6_10":"ea15:6f02:aa82:fe3b:d039:eeaa:1855:200c"},"c_decimal":91.0748,"c_array_largeint":[-243963821010161124, -4613345386038902530, 6267630381775085445, 4251712885202912888, 862037460178446922, 3241277139498178984, -546119365094160922, 8091064834060233758, 5007294016307810754, 8815160264762423703, 5092153292531916797, -7092598611761020760, -3602899503293788489, 5491720739532587303, -343169074042122452, 7961607755089422605, -4877156064937020196, 4192799268113152820, 616040013005105122, -7904644953734676343, -3194917303750272378, -3723750549323848331, -4898417426431881249, -3370064314240746743, 3633108113257209390],"c_string":"AbpYgTVtKebvbPhDtDMxFLJIRFogRpzxMnwypHWPyIeiMhtfZcsKnTIyBInFRMHgJThkWiWJICUKBMiZWIJbkURlyWzWPHeUmrKgKUFzYyhLjjVsHboOxGlyConQTVjLksspMjQiBtLyaCljoZlpLoEujsJYmYoAshaEhnvHEQAvTDENnHbzgFAdleZPHZfigkMaowofKCowwRHTJVCqgJVRGwnjPckpJygxPPWBxiFODwKqSscwndmLFXmOKqHwVgfoioVsQwBfbnUhCxEIOMdqiavIYfdvPmvNVjHXqhKVwAKbHgBsegFzFMXhFOnwIYVRvDVPNbeBJSBDJYhJJwWNiPGHRDvSkaDfYYjleaxwLBLtCqDZjgMtUTRNsWKMzQWKFOiJgzUtzkXugajGySWRXPdryqYHaiIItKLerjpwSiGtybAfUVfeMpasWxtGaUQNDgGTupnJqZgSFmsujdjSvkFlRrLGneCoyBXTYMKjhmgXzbCawdAlSQEdtXdi","c_ipv6":"bd49:ca03:c11c:9d80:d46a:351c:2314:ba13","c_array_boolean":[0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1],"c_array_smallint":[-4189, 962, 11538, 27085, -19753, 926, 13252, -23413, -607, -5252, -9541, -8548, -16621, -13096, -22278, -13054, 21112, 14184, 16367, -17328, -23226, 15388, -26048, -26437, 15390],"c_array_char":["CsRFBajUIi", "dkuAkRaTSi", "WLCVkjgQKH", "JqvWdgeJFt", "eQtNIBuzQB", "WOqfhiTGYO", "DanovsqMWd", "HiIdKTTMXA", "JFhpUefVtm", "ZXuzTboGIk", "zMoxNRQmFw", "qiJZVnVpbz", "YwxnpCtboS", "LBDQfginaH", "JdYUXNFcdC", "ifaTXrNMcV", "BaFAycmBfn", "FeENmJNKXz", "xdIeywOcVn", "TbuVyBoGLl", "rtHPyVdwvs", "NIasMqGbTO", "RDxqunTMXw", "sAimgDWMkl", "ceLNDpMNvJ"],"c_map_tinyint":{"c_map_tinyint_1":22, "c_map_tinyint_2":-57, "c_map_tinyint_3":57, "c_map_tinyint_4":61, "c_map_tinyint_5":104, "c_map_tinyint_6":-89, "c_map_tinyint_7":-3, "c_map_tinyint_8":-5, "c_map_tinyint_9":-67, "c_map_tinyint_10":-109},"c_int":5134702,"c_largeint":-4314429510210096866,"c_map_ipv4":{"c_map_ipv4_1":"57.70.130.185", "c_map_ipv4_2":"231.209.196.99", "c_map_ipv4_3":"149.28.248.88", "c_map_ipv4_4":"208.110.17.167", "c_map_ipv4_5":"204.110.125.119", "c_map_ipv4_6":"13.113.100.182", "c_map_ipv4_7":"236.203.136.126", "c_map_ipv4_8":"76.217.82.147", "c_map_ipv4_9":"124.254.90.47", "c_map_ipv4_10":"164.75.23.46"},"c_map_int":{"c_map_int_1":-759703460, "c_map_int_2":-1877785768, "c_map_int_3":-284892434, "c_map_int_4":953158526, "c_map_int_5":-1492590196, "c_map_int_6":-1427498932, "c_map_int_7":85288608, "c_map_int_8":1472602832, "c_map_int_9":1902187357, "c_map_int_10":-1941273908},"c_map_varchar":{"c_map_varchar_1":"aMewTqZpsFJIFnSvPCoemhXNJfVSqJyrSXdNuiGpmVBARKlKbtbkuzTEWQhvafpzxAeTVlkZlxOnhlAhOwoISUwKbMvDmxppEHnYUrISTGNzlCGNPWlcykZkBKSwrFNMSAbNOWzKZmmSxqvwhzCutigOFsGeWIFUrauYDDjbBquHxeZhwBjovKyDKSfCgNTiVTwntzSVNVJEyImtOZiQTFmOMJrBMTLrEFaKTUtgduoOfiXXIMYddrfzCNhZjCdZ", "c_map_varchar_2":"ycztwaBXvFXCVWTQQjrQtYJOMxcLiWaCgEqQDbAJgAtjZOqwtbnKDMRdVbOhoapjpvjGlPiCgTRUjCUyVawrlDfxaQmLaLAkoKwYkzUvbWzYqDoeIkLHdCnLzshWaYIUlJhiALbfqAsdNkDAxSnfvxUHzMeVYzjQzUnGIIwVtZJhkjAxaHNnAZwDJuwvAQlXGXLutbawWzSpvxQmbJohJJiliIJKHvCwddShdnmipQRiceObjeZaTixQSFGQmSQl", "c_map_varchar_3":"iiTGXkAzkYkXxfKeUplhCPhnxemgYgleDtgoZhBGYaRcIwGAYNAGYjyhATWUakFEGxTjIFnPxlJtaQUqMXdyJNCkbnhAsDsgtEUsCERQeaTreJpzDzUYaDrEFNydzjxsrGdZgbueDHIGCmQBUKjLBqudZshdiAFbbsojEpwYwuTnBMmCPVFCJnMXwqLJImLvPBgVPgpjpwtEJrqDKqImvtkWYgqIOuLGhPrZjzmiusDdXGHOTlBijtsqetOtbuYz", "c_map_varchar_4":"AwttrqJeVoVwpuKqnEiCJSWpGOhZVCnnkgBKuyANznBYEJdmmWpHWXtSradhArgSqgVaZknDCEdVnXucZpPMSBlXubpJWHJNboTnzOaSfULcoJDOckRNkxbDcsXmEaThRDtannpsxoyqONoNJgHbmZYONJCDWVgOhRBdGVqGNYjRVoBRVephwABwCejmxIcHeAYTxWPjZeRkEliLxwEzntiFHHMrlEUZBYuXOnktnkYASaPVhintMSJqxgElxmuY", "c_map_varchar_5":"MfSxnujwEnCagDlqrByunaQrpEaxhmRaVyWWjVABYrgAhppszXIREbzdUSYQMuiEWfqahFoElGiPErzGBOPFHxeVHswHghqofIREtUPUhmbgNKYvhOBVlWLEBGpBkPMuLLWdIvJkgkNhvnpSDQngowFZwVGLnCkQIDZwlAQyvukffcHpuRWShJeKFhSJsdnftZLQRiORPbxrhmQREbltLqqoxUdAdJGzKhwbDnkXCFtcVlrUsNcwAyIswcwllvrM", "c_map_varchar_6":"njptogtSbQSFQqPEKieNEducjqGxYWjvmmdnBUYdxltzmocYxgosJYAyykCWRpIwSDixpIjsoEqxMQZuuqHOyZMDrahHaJYoAFnTldIiSFRQkGAddrqksCqFmVOnSWzcGonGocNuNLaGGGgYvLivMlVpODOlzSAzEffVfPZSBNysTyshpcitJxGWJxJDooRcMGQTCtlbmzQvJCaHQkNZezkMVXoROTvVAQywjNeSTIDAMbErPGPqSuvKRHhovgzK", "c_map_varchar_7":"FyIaSfVKkKlRgmPcwIqqlkhdzkonYLunGgUwXqIynpUGzZTmjwZVKRLMOPRvJeAiUDqgHEqDJJPrhUIAZqbPGUJNxAFzjqymSveKPCeYuKjqiPcLtRaIXmDYAQCxNfVkoRobEyCZOuzpNbfLOFzEydBGulzMxDhCXKmDfnXntlOvBsPlnNuFFMeteDFHfmmaQqXixuGCwJKHlyZjCwAKtNqhPFnnmZDIIPMbEhHFCKTVwcFBsQQMGKdoToJkQOIp", "c_map_varchar_8":"hbASqAYmhRuSjLMdJNtqRGrTqiDyvOpSaLcdyHRGSGNxuNreFLHEAxtRDHwhwAtlkHmUrHtxDDIAuJaTJIUFsZRGlTNQUIGUDrYUqQZGpcnMFETmwNLCKriFYLOhSFKaErtFwRbbccZyaLLTnXbkHmPNgPnsuSZjDoRLdmlBCmpOJrYVGbWQtXJBmFeXJzUjjErZrrFLDqCTEuHsuAvIdoOGuCJBXdUQmfIRwSxOtIWiKADpcajUyywJJbKIHhCl", "c_map_varchar_9":"JxRQdaNvmpIUXawgbPdrymqhJRPMJrfZXhuKRFTeMYfyyBiaXYoEISxjwUITivTKvLZtqSqqtkjdcvceGESNBnZrEBfVcvisDXEbmdcbouQAvcnXfBWCwoicKQBnSppWwTBdcCwMzQttKJXIHblolDnMMOAikfRKFanWdKkbSvrcKFFsQSADyCHulSnCQyaNjqvHAOIsZBAlBNWRKhYQNueMDgkIFRQhvOwYVDoXIEWuWAwyHiMOiYKhzhrtvRkG", "c_map_varchar_10":"hmRXiDwmBsjhdzONRQAvTRBpXQppmsaIYhGQzSmlcyolcsZkRUAskZKTELNbiocEeyQnxUOAlxZOqDvwMaABDsIWcRvOamLzDDHnFJCYXsUixByVykucBzHwCWqrhSWRxQxUOBOHhKaLOcxqSaBAothaFcJAdJswTGKQnCJhRcbAbWcAmTKKUgNVCwSFxqgxvwMZTZtFmugnhbBIcIiXhQSnSAvhmKIThHMfQXDLsuBswxkouWXQkOCTUznjqFTb"},"c_json":{"bitcoinprivatekey":"5Jg7HdHaM4hqEgxm3Ua4LVfQYPkMBSGStbTVvoXHBZ8qUcYXP25"} }','{ "c_smallint":20158,"c_float":4.4314823,"c_ipv4":"45.118.21.175","c_array_smallint":[-26085, -22131, 4856, 12786, -22412, 13821, -23027, 3006, -3193, 12098, -13309, -7419, -25016, 13152, -1637, 1576, -12173, -26364, 3203, 13907, 9583, -18573, 4322, -24685, 17624],"c_map_float":{"c_map_float_1":86.36467, "c_map_float_2":90.87193, "c_map_float_3":80.07085, "c_map_float_4":80.922356, "c_map_float_5":90.162, "c_map_float_6":21.866142, "c_map_float_7":57.12202, "c_map_float_8":16.403452, "c_map_float_9":57.37923, "c_map_float_10":10.9019375},"c_map_date":{"c_map_date_1":"2008-02-17", "c_map_date_2":"2003-05-27", "c_map_date_3":"2019-10-05", "c_map_date_4":"2003-11-05", "c_map_date_5":"2014-01-13", "c_map_date_6":"2015-11-18", "c_map_date_7":"2009-04-13", "c_map_date_8":"2008-10-07", "c_map_date_9":"2001-12-03", "c_map_date_10":"2004-07-18"},"c_map_ipv4":{"c_map_ipv4_1":"53.174.103.179", "c_map_ipv4_2":"252.87.63.10", "c_map_ipv4_3":"218.100.25.15", "c_map_ipv4_4":"72.229.195.199", "c_map_ipv4_5":"138.199.173.66", "c_map_ipv4_6":"139.156.93.126", "c_map_ipv4_7":"11.237.61.31", "c_map_ipv4_8":"104.51.217.182", "c_map_ipv4_9":"75.246.22.113", "c_map_ipv4_10":"150.64.244.26"},"c_tinyint":109,"c_int":346875974,"c_largeint":-5231938537522053594,"c_decimal":57.0846,"c_array_int":[-1794432202, 1817329521, -258934186, 506250383, 788827527, 930286585, 1075466976, 295767071, -600352624, -1842324288, 680086117, -348086664, 567491753, 2074595302, -1198707080, -108619934, 1705088974, -974740141, -262029210, 1237097677, 1218814488, 1909642834, -616284559, -308667524, -2021641189],"c_array_largeint":[7026100277454518111, -141926425505505685, 7746685176890887795, -3922914046325691965, 343859925238765834, -5108695172130964624, 7543541242076424439, 7842226972452309649, -7275948338366814308, 3846026544925825703, -1302645662211816997, -7968637547177234928, -6160627387985150107, -1280850792850018337, -3344374375129017127, -8538459649243409771, 5578795643996527195, 607128104207199886, -5524652829986863022, -2088146188420025961, -4087856214027955915, -1668870266976144832, 7883857187839733155, -2612729652072399219, 3837648680866787740],"c_map_smallint":{"c_map_smallint_1":-20193, "c_map_smallint_2":-30829, "c_map_smallint_3":15483, "c_map_smallint_4":-32580, "c_map_smallint_5":-14702, "c_map_smallint_6":4134, "c_map_smallint_7":-27989, "c_map_smallint_8":-27663, "c_map_smallint_9":24961, "c_map_smallint_10":-9675},"c_boolean":1,"c_array_datetime":["2006-05-28 12:45:03", "2009-05-12 03:48:48", "2016-06-13 19:08:37", "2007-10-25 18:20:55", "2001-11-18 00:52:49", "2006-03-25 20:42:50", "2012-06-25 16:47:53", "2006-08-19 22:16:09", "2005-11-26 17:08:36", "2010-12-07 16:15:41", "2018-02-24 12:33:42", "2017-04-08 04:45:45", "2010-09-26 21:46:42", "2014-12-07 17:02:11", "2003-06-17 08:37:53", "2006-12-23 05:44:06", "2018-04-15 23:57:06", "2000-04-09 19:52:26", "2011-09-27 07:33:25", "2011-08-16 10:22:13", "2002-05-14 14:43:07", "2005-02-12 13:20:48", "2013-12-13 06:19:33", "2016-05-19 18:21:41", "2009-03-03 15:19:47"],"c_map_datetime":{"c_map_datetime_1":"2009-04-18 10:52:15", "c_map_datetime_2":"2001-11-21 16:44:21", "c_map_datetime_3":"2019-11-07 16:45:59", "c_map_datetime_4":"2001-03-23 05:14:51", "c_map_datetime_5":"2016-12-18 22:20:36", "c_map_datetime_6":"2014-06-22 09:52:38", "c_map_datetime_7":"2004-03-28 01:13:22", "c_map_datetime_8":"2009-07-28 00:19:11", "c_map_datetime_9":"2009-07-22 23:04:19", "c_map_datetime_10":"2012-03-06 23:48:06"},"c_array_date":["2000-08-08", "2001-08-14", "2018-01-15", "2017-08-27", "2001-04-28", "2015-05-16", "2018-04-22", "2018-03-15", "2011-02-26", "2006-01-07", "2017-01-21", "2005-11-15", "2019-07-11", "2016-04-21", "2018-05-05", "2011-11-25", "2012-06-10", "2000-09-11", "2014-10-02", "2008-09-09", "2004-12-17", "2011-10-02", "2005-05-01", "2014-02-02", "2011-05-14"],"c_map_decimal":{"c_map_decimal_1":92.0224, "c_map_decimal_2":69.0425, "c_map_decimal_3":75.0638, "c_map_decimal_4":31.0951, "c_map_decimal_5":94.0605, "c_map_decimal_6":90.0961, "c_map_decimal_7":74.0362, "c_map_decimal_8":26.1063, "c_map_decimal_9":96.1440, "c_map_decimal_10":53.1168},"c_string":"EEParDKMwwQytQdiRvNyLuKwocblcditWhxmjDnYdoVjYLzDnaOQjxiXiYiDrjgeyjnJvwHMGrMbftjJoIhbtUjYfWIhbNDVgUxrxQZqOWoqyhizhRZxFWRWsIGSJiVUsuAdRKDmDlHFswprnUZistJnRQRrVJsursRoPxnugOXcRFkGddfrudnhtATgUEUHuXHxOQoZExBKpGniaZDolPJMljJJooQeyRHASFSmMPHfLkoYajCZJQPJRDHAzBZnZrVzQqmkwinkiPrUGhbsYgcEdmekAnAxZwRXYORSSxshPebLQJlFrYfUpskyYfQbhCCxTpmNbOgffmUfOxeUncTFvbGqqSnzBibYhbMNklZskPSlmKBLZjsxeDNwubTfTxLmRoCOVrNfxxmLgLegBozecjyObwLbxjqtodRMZEzkzxwrOpTSCvZtwvrAwCdTyJnpKyGODEmmjAwYhYLgBudPnUTEmOazEilndcJtKdjgoFFObYRBVtkNjkrEWuCs","c_date":"2015-09-23","c_array_char":["ZOjvGLDJIU", "NyolxTLiOL", "gdPFVdPtXj", "sPVZdTuVyz", "xZKPhGYuua", "rKlbtctchF", "JnkJKAlUNW", "NZklNiQgee", "zXnqRhVtxj", "hWQUElOZVL", "ChvgUEEVKj", "wkbsDrJvwH", "ajblLJBREE", "vENWxbmRDQ", "TKymUqmplF", "YtUtzrMKPk", "JJdWypuNNs", "XMwAZTjGfJ", "KaotMmhcnP", "ZQGEfzUnEo", "gTTUHKMXta", "SbRFAJJSGn", "jgQxipsEnZ", "FXlVcGztfc", "xIZaSdVDyF"],"c_array_varchar":["TSkDkWkdqTZRkFMdQxsKZxDZoFozPTTUdhGqJKlajgeVdoVLcvdokcQCTmcPzacrbFoMrFGTnfDGAIaFlWjXkgMaOafzkeFEukGAxotMjhdPPlwKJKOPKooFfvdtjOUyujvHGPTUOcUpwAJvQUInnfEBvDfaMwwxrafiSdcvphygTQDhwCjSnzwllcGOqXvpeRVzAtupCjCtkFpsMezYkKfHQXcAMvvYMujjNIimXfiYaNbJujOZRMoGyNwAkshF", "QxSyPoYqFuuCBvTYehrBIsugzBmkLWngPjPAWVGzJDYBOgMKoefEJKDSkPaAwixMsMDmGqpbYMsghtGqLaxXfaqoBvWXAawkasuEanqUHutNWBILjGyBOpLMRPkZjnLSUGCYMTwtRoYjtQsvprikRgVQXgdPbJbyBUsTJfJuUFPLkRzkaaHUWXOtXNdjNiqUHytxzTLZBqLtUwiAqVylhEwjxPhidqdYdHSQRaJJLSHxkqaiMHvupDNvSvTxqald", "IzxivVrMuVJfcOCHngYRrBAlUAmayjBUOEIBEAWPUvfgdocrqhmKpitoZwfHUVAVzUZDNQyXrDAdIPqYHxnqRoRQaCXggHFuZoSrMIcFIEIxKzAYvENMMxvQsRvPXukHkSqZdIieBfkZGiipZWGeXnAwxCGjcBDpOPAYygfJpcEDZMOFesOIcOXGVqFLqOqCJhDePaMvzDgauVeYQPPhiSblzfiYJllQpKdfZwDIJirQxVEtmxINofVxNynEMcdk", "pHNOXKXPhGyvYPRwzULQxWTPssYzfzQCAjnuAYZTtaSGYdoYEGqvdNTUmxTBchQzBxgVJTfjFuVcGsUWUdLWTJgrdYvEgqGPsZRmQQZbmCGzdctIFIRpbMCLNkCmNyiHmlhrtrsoFARxtfGBUfrrmskQQOLwTaVLdYmLRjTOJKhWKuYPfaqeqLFarwpuLtMqhxqkgfCkplOtYhgHIegqQfqopNyLckUpPLkRhNEsWMgumICdDXVNLCQUjbBXLyYq", "LoPjseHfnvyKcOiBZZADwKIghXOhcyHoPilBtnCLNzSDXbleHZqTqGbUAZULxVYQUjJwflMPzFlJsWJVCamEOIBPPduFCOGUndRkYwZpObitKozfdrErBcmdKxoGgMiYhzjjdEfqLvWqcvwhDnRsDDjlMdCdWoTeCKzuNgonEZfjtVRLOawcWUgrQHCPQRCnTnzhxuDGBXBAfNynfKaHRlNgmYVGOrPCPaBzSEwWqhAkMMuFsntWPejqDzaNbNeZ", "ncpiFBwNBHVmYJOgcDYiIzllydypWQWWxEaWlGVWpfwwLRSleqmMXQarerNovglnuPDOyewloNQtaqHFNcoEOMggQnglnNuaxLXRbNeMIudolxtodVXaeWVAcUNQsaNWRXQHVqUkmWTgxxLhKuqlmlxPJcpOSHbwZeAKPrDtvqGPAFRFqmoIONICvatQBJUxztjpoDZeDhjrMSgJLTtXEHckguIommCqhAuRQnduSMziqgTAuzzqPmNcNfSiyaJa", "ayqIYuYQMJbYmZzPiiZYKtrXDUhkByIBlXqyZtCdzfVLDyLMhbIVfyMmkftDENTYwLjlsnaqshzChkYUIkoAtUeigZWKMDeZBxuwnOQagGdIfROKFoCjeFLtuXvnNqZQsdkwBlkjsBbqvOdyDHwnxlXmfvDcFHMDFrXyJNYrMAixEYqfCEpKqOoIXmPBcInYZZGaqWTpIRMqJyQgvJfsTpJSQANYWGPqTiUrAsjeuxLsEGAkKKCPTjdORnVBoGaj", "RlndwElYFvpqeCcMxqVXgRDdjvHNJcawWRzMtQqCOAfRphaYfoxfZjpFhCZdcZcrPcWfjMGpKzEdkuPnfDmKcMuXVagmPmRDjwxKHESXeqXDyxebuCnPPrujCFvmoqPNlZoPXqQLyuFmwqKwiuTqzrGnRpTngAIHbndudAykfoiXamyQiKDKEUcBqsogMasNAPwTfHIxdXfhayJAgVGqqUncfnJQoPnbRQkMflQiabQdytdjYAFyuOBuzxMvHssO", "RAylEmhLtrMSoHpJMbBXqfsIZHoQukGEhFaPyHfRCTpJRlIRmTvbYinWjRGrZVndLAgmTMbWRqqjhaWxrGZMuEpitfYNpqsPUsCrbOGjDHXOpmgMXbacxnoVahegNwyhpKuWUSGYxbIxtxpSpyjhmxjqOrRxIGZvoTkPCzAcgIofzdonGObcqqargQZRlIFzrjTputJVdslnQnPKxVikqdluoUSlsihHzAKyITgvVJyrZYtbhpMPWYdTwUWldCeh", "epoXJfqUeDjKnquwipwzCwEIHwikPPogCvmQantERnzjnpMfTWxHBbeCAmXbwavpMqkCDyKPWinCZvElqCLjuitFQfKcwfXhZNOVMgQvACYrzTaHfKQMVFENjismPykKVELPmwqxizWqvXUgthOMqAKhUBbMrCbHZigmhKkROtiTQcKGXKoQVTPICXBUEqTlajoSNDupNEFmoxIUwybCJtLbOfKfZWJTbbGoORJENQnuPEHVmYFBMEqHzQiFhEvK", "NEFmNeLEdlFVIvsLhDdaowgctMaeuDCYpUgGCheuxOKrEBXYqdxZZfOFOQXvcRWRTTGRlOtNfyXZCbBVxKMpNFWrZCfnIAJnFyapYsHrknPGmsElRVcTyoJytRzfEdXivUZvfbYmXfJHMzCqGBJnFonAkQNYWnQpWgkKXLcEundfzbJbKquAZahKXdExndxODyAxUlangggneOyZZKjmaSYHCCEMhgukLzSuYXNmWGZuUZaCKcMQfDnwwPQSLeTj", "UMBVwLkmOfKgTJucoAqkbDXSdhCTuKAobbSrHkOBWEYrWEYXWBKVKDTaRrIJnrsIVTQpsyvlDOrRTBRIobaLEdPNEDRozdCtqEatJyBsUBAvjbyYhNUcTEdnSuOwCIBPFRDWsDleexwNUmVIcwJvvAKNlEizYKEOfvPXVGuvNXYIGFLFdMGbXiJGRjMNtXxxsQrnKLHvqnrKtGNYJejLlhnAOGUQqYleIRmuHkTWCSIjCeMlzJcCmAzNhuNrxlgi", "VfJBQRgpKfYjpmkfXgmfanreaZHKQbnEuXiDnHUJYqEnKgSkXdxIrbJIZBxyBfAlpNVAoKQHRuAuIjGuLLVjdoOJZyaGQIqBhGrVdrbztwlNJakKCRpXVbRFLCzeiTgixgYYAUDYtHAIuGARPireIfZXyZUWKDXIsqeRgFncqcRniOCZrxdneujEqoPtgiTASrlOxVUAkefCIdkgaEdTsOmnUfFrzKpnwsyXDwkKLEViqIGIQnNOTLzcITWDtaAU", "vDkFwhSQZmJGWXkTPfoiYlAuTEGdRxCDOzoYEgVIubJjNxUUrXwxpKAHvsNDaefVHKhNsTYlgnuxthhtFLadEMYYWdUHkEIDXPredhrjKmIGBOHaKpwMDoemjeNGMrxuCFyMraYXzvLxKwyXkARCXVVcbkALZSLFpuhbLRTZapMfDheERLLVSMDIPIRmMNSMDdfClnFqoWyavdDRzGxHubzYYJBvRKlwpiJznKVDnAXlQfbHepMAeXLOFckIcWfB", "SiBLBaVwzEdvmqsApmDvOOFDTeFkaocOrnCDmKVslNacRUDNGdbZbDRJhdTzrlJZNMkKIyFepLQmzAjyaIOUwYdgayIAAZQyRduQRRoMMceQTXQbKfvcBaChGRCrLSxqWXMaxPnPcxnnpgjxgzYmnEwClUgBzULvjlYrwqJJTNViuEgwTskjyKpEUZaGDvEkkxjsGctcwRrbSDkJOTWIIHugINFvLWMMGVqPdYWZuKPILgljAEqQBcsKXWXFNssd", "JDpHQrkAUaqUZkvVfeNuDUwTBKiuGoaEwrXXnTrMsQgAOMPsumVPVrVwQVGRCuDbSnPsCSRyVkveTfHpGWpuLYdVSlHAzRHlmFHBDgykZtrAWtIedqduDSkHWYbpUxoswJMkWhIlGYXWgiwoFwzSNZlpPlTITdBkkbskBWWgdfLbVdwMLKBJTlqCxsEDlrZuMEBNGZRHoZxlLJgoxcbRXcENMiaGPTqQDyVDaNcbuLCvATMKfYKqzLNJslkXqsNe", "ggVFSrJsueXfQlNQiteVVXWZCBCkPIkXvpwpQFQmZYqiLKEQWKhnfEgUkOZyHphOrFuDVtrpkftTpftcKpWSEkCbqLfJxzoIbRaEHCrCQMkRBUtMXGqauHCvCqPnqehYcqhXeljqrEqQfuSFWXVHYzTZiAJqpMnJDGLiUgXPPDgiBUaonShhMIOxecuLffxkpQpMMWctKQZnxqomGbKRzkXhxZvRdhcvyhQWONGANDhLyiGFWhQEZIqlDoLuTIkK", "yiKXmcfhwWrVDMemQUhLriUIXrsNbQHvJZMDQDCWUVgJosdIzXDXZliWMGHWypTEBunBdRnVDrhWgcOdinOFYqwrrGdEbpzIKbYLMiGGSWTuLNsjiIejMfYRCfyFTUWiekXXIBxOKVzfOlwpMOCcflPswSBSeuCGVhusrCdMFiONvagxcvncOSdzacNlBYDVuUiZwtCbZujbKDhKciquDcZXGlvYpnsLKTfsvqDyrvfFYSSZfzHrdAzavHggvPNx", "seQDaAYWuNeOkToxzexNsHDgNbCCOEczRidSdfSTCxPwtVbEigVfYZQDtwBKeCMlOnvEIJwykpXQwHuApFmdhyAEaGNWbLWvtTivbgaFsPoIHkTyFtYrGuvqgfLlDyBtPeJThxyJkvxiNbUIyDDXmSlIPUdZbckBamxmSXtLYgQBgTAqqdJpeDFmhFVZPjwdDyKhRXLOhZVYrgxGryZerMvUJKITMpysLbKznfeonhHXsOVnRXxYXYlSyckOCjQx", "EQOFGfFPAjqvwpVQPvUpVkFbUitCQcjQmQgRziwtDPEOtgqlLagyUpudvxWmxAkJUkQKgETvQOlyYtHSjdwbHzigSDUeGuaCZsdHdtLPUSXitMhuaJJLRQpvHWOdhGjyPmTGJWRGIOquugewumNSJmvbsYQKYoFuhGuRikAHSwEdFsEWSEFeTMgOOzIqOjklrTWlEMTWMxyIlGIFZYELkGmtEHdAbkDrkZHIbTXfrjsGpdkxtWwrLvuPDrQRRjaN", "HAApnCtFLCMAlevEGRGImutPEINiUNubBWPeZogkxSjyrRNKhJQhCoJIopAafbyNjMXsLsUaMTiwErJSqqNgUElASSJgfIVIlfBLRYDojyCaPSityBVKElTdePOOhaomvhDtpgsoTVKWIXuBKopkumJFvHqlcnyjqwFjDoZzcfreudEMcOSwtvSHbNjeaFJdELAwTOJBlOdcfXbNgZmKnWmUSApwxAYrlzvBnkUlNvjgBqthcWkhOjYDIFqYoxQr", "vNUOdCjDeHySOGUZDVjqPkkXsLiZteLCIFljLqXQIpYoBJreSZdweXiycvgONQEAeEzdFGUCmTOpNCyTXgQGwaUNPTqSXpdpFgchbqYGHyWiQxqshAOKqPIHdGbYPQNMdxXVArFCfqCiVvLvWQmksWUlUyOAQeOvuccpKlLMOcHhEEEuyUkAKJAqLUKLGQheOfUTOzbHQtWECKzlkaoqriZDJLrzIpRUkmORSyPDiuurYfXYzgzZJoPKOxfTEows", "CAivPJmgibOgEFjHvREIfwmXLWAiqTNhTqZiaywBBhCRrLgtGrxskXDjzQLiAMqWRhQHFvEAoFtSdTBuEQUHPgBowtRcPrOPPNuyQDsooEusaAjSrDmaBULRKWYbWrSxopObmufLqBqkEoEPyQvXRdVGqAnGmxzTaluyizCxiZfKCSJfZozkRogKmkXkScFEjWlFzesQTpjjQJaeojUWBwPkNRPqXwEAblxXthcVHCzpBuxGyUaHGUzlwdNWPugL", "XTSymiLvoMsIHOWySalsXBZRGNbAqEfsCgzMZLCYDfGqnLoDieuDcNIenmlcqfkNcNFfXGTKFZKbDYEDCBSosBkdtfzxWqeuGZdAltsbNPieaTgcLSFQUfeuwosxoYeNOgVxDgVwiEfGQVCwUeeKheyBteRfJwRDWcxibIADDsPomMHVpbTwWLYzzsycKKyLigrLMfRmNyoyVBhHgFcKmrTYmhVsllbSESByaJsjoPOLaadohUAYYAjjXqexBNZk", "VMzRFqHjAqiKSlnbfoAXvCyVBslaAZhbtyoUHfUBJNWSUVMImFtKMSVASmDFxjydUjsFNZfVrDnJFkBdXTwkzwRSRQwnbYEXaevsWHjgaZHjKDRPdBmbjBOCglyfpjhvdifgMvqVbrGmLoFuGcVJMIjMxBwduPGkEfOcOXmiXnoobqrZqgdbKBdzVzHAThIFGEaAvVyYPTdJnrxyyPlhsRvxsQwCrUilJIOdaOMfvJXgAhEhblTcChUqleQKNZoN"],"c_map_varchar":{"c_map_varchar_1":"QfisZtlmkUFHDEdaoySwwMisHqDyeYabbntsPCAkFWDKBToHEYwyqQGSSMCgnDfEHCWdEwwqxOKzfWGVazOEpTUAONMpIAXPfwCsSgSmpLEPqNZQkgPMqkNhbXBVMNKngrroIccTxkeXhbYaxENogCMBtsNkaUBwlounwJCkiWToCCVqrYJRUXpNuIqeKJRKZRrwDrASPwXGeMhmvyGEaaFyUucBLYYiXiQEqEWVYGgspBKcFubiiEQvDHofLrzh", "c_map_varchar_2":"sSBzwVXZnYSltfKwDZzKiPFYWFxKjnfDpItcMJNrzuNcaIGzhdhKRZTgXmtjoHFDIAOcNfbpEkZZNPkIkfzuIhBOBebOYIeeLacbNUccHlqdkrDFzSHLELzNRBPxUlbqIIssfPKZMkUHPdIvuQClSOckWOGOGXvDdmrFaXaLCZrRPFnScJZRiOnutXxxGooFXKGukaznhzLosNQoeLowAVYwzwEGYVQzOugAYDbUxInanhlRkaULqcSxpYRUqSJt", "c_map_varchar_3":"ElgLgxaxvCLKPEasYPtjbsKjKiNkkVyLVsJvAZRagzLdDGSaGLPggHMUlIKHmqiDPyZeJfKHjlUVslakMlxPkWmlpOCfvuwrqkHInHhcyJuyaConiJhjdxPjryXfdiIvobHcvNUNBvvGQMeGAQlhzdwPVXoJlPvOHcVtdpfyUwYdvCGlHSdSdGZanUdzdNkuRqwPfILOgDqXZGyGldFKmCLCGuhUfNmSLtfBxPndeHTwONiUpTmQneISliRPZIpK", "c_map_varchar_4":"zahjqpHysYHbtkqNOQLVPYndlrGirzmqCgTHlERSiGXcTOvBcagAWsbtmvkMNByWNCUbdBJNFBMHOeEuKwuWRMJMLgsnoQzqZBVENiwmLARwNAXxnrvMFNvpSfOMUuZXoSdlXkwSHslGkIcQRqtnNWITnMwrzUdqEXGkhMxruhvgpZBveGFSVqMDLXesfdmBJvdAdCPyjEfnUGSVuQjqWiOceXrKVjBfNeMjSgnFcllktBdZBTLeEctSnvIUVoML", "c_map_varchar_5":"wYYgqwRudGYsAtixVKDQpihxEshvtUwWffZPgPBzThqMgnlwIRohesaHleCRaYgAbPhmrvaLovzsNVuFoOuZTorhyPlHzYauZzArONaxAXfrOQyWJQTjzTSDOPPIfEcXKecLVIBVNzTkevQjQeWRXMyePyJuPNLpzsxBxlBfcwnfPVvhprJEifeXtBGZdGfHGHWURQBhvPtwhGvypeMtKKLikpKwpvPVCDiAHlFEUESAeSMrHyqfyfXTknuihUQn", "c_map_varchar_6":"avvqihkGhowZFvYuGFSOHZzRgbtiSFbHJFXAAmNUVnxvpzRrwBOvMCbVJwmvkPQduZhHJNEjgXgmotybXhvFNQgMNuVFABUvqcKJBLjmybXEubvFmJAJDTWUjfdeQHxvWqdTaFEyZwEnBfgRXtooXaJDxSCjRSSoGhRGgvrWOVdRVzAdzrHhhfyEAlZIDOjvyEzrSthHpkRFtPylxkNFvyJruMPXTaUmZsJyxJrnWhGzkSnhwXgYIIKIYQEwzMPQ", "c_map_varchar_7":"qeZeKhyksInqijoSlGXVeXSbftareaymuwEqCtXXFEASmecePfrDBKjRfYfSkwdnFIuYvhPXDQAofdpLnrPvDmmrQvlZlaitHXXeXjTfliOqDDWVNHZrJmZTJapJJNmCiwWYqjHsurpKjaqtmlgvwcvTsPwTUzLrMyqHICamhEBiiQysdQQxfVlJSshzCkaWASRNJeaVhAVvvbJzVcKasYueMtoTQKzkncRMaSLXynIYCVydOmtqgnIFGMLCgCBK", "c_map_varchar_8":"twKuZbYOQyOKgQPmEQpgEqQeYGnEbqxIROhMgtLGHkjdsmaxkcAwKVCVBOZcopTGEFLTuKjFpQaJNqXOQkwOLjloPWlfSqcmUCjACVHCQAteDtuxpqiDTrBnqZcyMrQZKxmCwCdMNdbWjvucPjmgokjHOYifIlplLhxxdyHxtZxwWFBUOJndepCqqoaPgsmsUqJgBOOGaZtRFkleJyPjhwPURuRCxtkiiuqmfozPJyROVRnmlOPETDuADDmBwAoP", "c_map_varchar_9":"VCXhVPpLkjnGoyfGqdDyWIhBKdDVGrGadNRCedUaCxKDWJPXAOfqjJTIQxnFEoxYWjnxyvdWGPbnWMITRgsPLqRCWnCrBDXSjgqfzJEjahkwkjBcxycLxTrwUTumqzqiZKvDMGFppYGYUfbaYwveVcKOwUAfgAXmraDdTfXBNYTHOJuxJnIvmsUmarpDjMJjYyhPaBGBdQIEbXQeMVgIGKaVnIKnyYlDrqKsNYOWgJzKmWmCwznswOMKMsrBINxn", "c_map_varchar_10":"UxdSReduUjPRblerOAyLBumcHUXdXSDSVEJmVRjlcWgvAsPzWsaxmPwRrvXYrTJQyXZFZaQLHehfUvJcuyUYSpdzxCQQRziRvbOUxTDtzNxeZTHdEOpvdiuUusKkyHtzkkcsefEGBMDEhCGcTHyWhEOpQklHGVamRoEPMWQTjsujnoXdnkcCZRPmlWIeNzGoRpSDZGEzRLzVMrcTFlxnlZdqpnqbDJqVTuAACxObnHCzegMuxifzzzRHrHFDdhLX"},"c_char":"qsREiWXduR","c_datetime":"2019-08-10 08:28:10","c_array_string":["xZvtNDYsNmoCqpjlrURvmeZUUlGrYbNteAmMBSrhscQrUzpfnLnIKKNrMfVXEIxVGheTiEDWUZTUoHaaWKttjsZwjZMALIJMBYKcJtKIaoRAuCzJfbbdepqiasnxGjRwonxGHrKWIyOiJPssoaQCjvMBMXZIACTVGjYUEvdBRyzkfESVjuseHfvADphRwKsLZEPsvhGtAssOdqlTPIVSQVUoZOrgLdtzUWcEtYybqOEyXlJUMVFZfkKwqrXtAHLisAoWahyOfLGWPUpPeFoMwWEjqYXnqoDYRQLkzgHInYUuXTZPTZXpteDqURsRBDOiEDUGcnndwlNMFiVZdwiAeuNpVfXvejQIPkPwREBQhOYGKCtgBqMvjdOrtJdFccszMsNzwfMtiPEEdkIDlMbrYXIUhBCJgQkekOXuCABVZfQVgTfXrKwlLBnyJYswkrOQFPFHVrROijvMjyDhfIkLevVKoJZVFhCkbNbZSVYqAOmzHFrYqKeYVTwzsOkUqbbq", "oPDxXnwqquNLTRPAzkBxkjEAtRexUIiCWYFdzoVndlqwbqKltzTqVzFHGNMFztdhvJvQLvrDYVWeCCeizhFMFauTmQzFueUUXLnAMtTWbjdgMgwPiaIsaOomtAOFYrSnnqTuZRRkKeubtousDHzKJERarMLozJjgYuJuJajNqfSVvHHIurLODbUEjOWjeTwgVAcVcKSucURvigiGccZKmOYghcGVZmtByOyfHxkzXBVKcESZSOnSodSPaAmCIdKGpxNjbEGbLFhnYbStCdPwdqSzwmWwPfjIVhrTNPLGoIpfOooYHMtNpZdvfUAANQZWIbZFrtSYYlWWDQtTTmuqWWzZljYYfUJMybdAYkadwbuMQoxIyOUxPYpbQTigXAxfCEaBLHepDGyAovxHLaxEuiqVNZvZMXUNkvVNwqMcxeGUtlFrEZCnVnoXTVcCBHdcxXWMkdcQVABGvEAqWInBKrLfCfaGLlKTdgsAGUrhBUzupvSWbPyUtkRrNQpzGUKb", "OMZApyodAcgBeoaOgmTRuDUCnoidgajTtTmekLHWIyZkQotBFIgmcihelVkbkJwnxrdxUXqHWRdJGsYBKTXunduTaulqcevarLmJNscwptQmVFkAPfflsNwsvLrLLJHPUoLHDvIiAGLecSRluvebTAREnbYSAqWpUHEmuZLyEuwPBAlLkJNJDJDgPHeGrzfGePyBOnybYcwQasvnZEaxISFDkiLnLighKQXqqEDPWsUXTjDKfnGdRJFfxqAugXTOruMeZMwebTvdAiVMVBdOgsMeJgOxTgDyqPrPSeGsYGVDrjxkLJCQkfHFfypjhFmLhOITTOdTTqcBOmmdotWOURCzznWjJMQkLBNMnrQnTqhvmeKocJFbKYaHMMohPZxyfYGWrmyUmUvFdbOxHoFDBIaHSwTyLyPNEacprAhMpdcJAOtKCoCOrNXSmwRTYfTxeRQhBbBkuJneVPEWuyImeZrHgYKLhprJQqMFYuxoodmJoigAzAifIWOajDxKgzjl", "AUuivZCqCZjyEhphlrisLkuigOPkUyrBeYCqrDnQZqHVNhCBEvNMCEDXPYfiPSxJgoeXriYJgjJhajWJQTACFSaCjKwcnYkmOjZWHGfoBiTCDOULvUFRMbphaLAMqVGrzpatdUGVCBFKWlpGzHYeUqCZkSOOFGrXpFpUMbsJoBSRMviPslAVhNIHomXOGXSBydUiLOvPChJyzSKskrdYzUULVpPDCwWbMumBAKiQDTBxwPuDyeyBrvPBUdMQvmTznelKZnKwCQpRiOKwlmtvmVyPoZiaVmRPGBcGTtfdsaHHbWVwLZwGljhbIqiBhxBlACeTfAyAvUpyZdddyBIfqFwlQcwNspTBXTkCokNBQCwArTMXFNUkwjVKnPdYLeqTZCpNlJcTiGRhjtITJjXIEuCxZYOQvpdgGHLdCfrdsBfFyQJDMehuEaipRVOshEPHdyvNODPMDsdyAECgXxQXZwVUdpNdUuOfVvrheTRPxxtiDqeNzPLAteDPRHJbjvuw", "dPYaoYHKeKMMGCVyntggdkcdqsMJLjFANHJGfFqodJPSgNxQJvjwkVWeemWCOlgdawpHPklMPwIXaCmShcIQypwqFgAZcmSDKFbGwGKPkCFpKJXBsaUFAqnBBixYMjFknQlHGzRtUhzZekcOTxAYiUnZomEzJEUzdOdLzgSpEyWuYPYpzBPJhQCCJZqBITYjUkQCkAXGwYmZvDVQkpVfucCxQWIEzdLTRxVZnbyqeXjjfQVtNDaIrdlyCmZVfKQzKTPTwrBPlSWDUccwJxbscOKorZoEbvXrRHYIomMeatZVTDeTRlXHjMhfRiFKwdJyBlSzFhpPbgraHWPKgmojifUpJaKDGQITMLzsIyhRFKPOggaVYKcrMSLicuAVBbTVHMfdrWwRCZXYJMfvVqJaimrgrbbbusYqPIaThmiXrJYCnONKprQrmQcAlJyTYevkPqavofJVopICrSCXCugDCHhqxmMuaUrgYhziBCCXZMvexxQIFipzwjeGHaGSSQip", "iPxVcrzWXbQndVWlJuxfnoipvfPYcYtqnDPwtBxShTHKAkoRCIpEjNmlFdwrxdWuHJLvDgTdDERvCIOhlhtmroLeFGoSFLnyaQTkACKFKBUhhgeaEVHzDZwfsThKktmgtTIPYQmKhRHvyMLrlqlmDpHkEcjhLzDFZVqIpRUBmbpnXFrTbvyskyuahJDHiyFUkpNwjzfIvdvkosqomSAgyzcpWaytxRobuIlLOXXDaCZnfPjAVwjKsdMViKfhWwYTjWvMIaFEJSNqmvsdLmiXGmihFsBUmuBcWCPlJOBtomXRxPVvVFIxRXSmYUSTMyyYOtYNLsgkrMnUvaIWZJwFbcfjRMDphXxoieVuAglIbsAZoZedQrtftMwvMKDrhoDteVGBfWWLDOJQOGCMXwvgRiwlhWcowsSWXgVLoeUBblCXmBcQntIztLZRmhNelAeLtrtdvpkLBbvhHUAluXNjsNGClkaCqofYLFUuBSHuVIcOxWkgkRQQMnIxZYZpEYld", "iLfuhQJwAemwcojtMFPWGHFWlVfcFJpoRsQLCVFQZvPCOdopZJdpcKDRTMEFaJIBHgzZRQioYowaoFyGpagIxspRvpydZPdmxhDveWBqHtMXfQfVUjgZsaxdVQJSXZjcmwByZjizkPlXCQJHEKaJmyMhrLqMRKJVzcGlDkWFKjwpmLEaiZMGjekFLSfsPjZYtNzqlCsGlrkUzPtjwoFHYnUOgHBqggnxLkYfKPOrFedvzeUNIcBsMYpjOolPpEbydVuAQaJSGpnCQQqJHvOKzoShWgCLzQgshZIqnjdKivaiiiYnkDupACrTUvYuuOfYbEMMejxHcDvUYzmDizAkDYVvyYzrFLNnQkOFLBiGXvDTnGilDnohOPxZqOjqKraAmVhKVYwigNXpEZZKZVkCAMItoeqNKnaOTDBCuXcgEVfpJERWeiOermaMglgtNWdeLgnkjRVYwcMUwpRRAxbsSCjkldYKJxNkSOZncLtrizJSyCbYuzAApOAMfdnlGWbu", "KYGErQPIZoYMLzVbVOakcZCdYofjKyeknZtUHeTTciTiRNSzYCbQNEsyNPOeTPxJsfRqoDeeDdTpjegkVMuloLNNhcvAIDIjbhxqHDNukWrJedmtoEPpMIaUpNdAaQxGDAUdCQwsjEAzHyfWwesliGNRhdRfPpueEtvfBgzeBxqiKcGTyOdIJSfWYjHTKNYouiyPuKKdyQVUoFPxysAPlOYdoHnFmwCvSYVyypIHEtzfRJSeRRrxkDGRpeAUqSlsCBKHelPxfFnMbyAQwbezBlJGXrMxCUjikYISBImBWlrQPKtfvVyqRMHXHNzEMAVbjRlNcxEDwhOALhSnyaGdKIQuwLpXwFzwopARdzmZXoICwiYbQVeTtJZWfQTFlQdPRaPExlTUxXnNbJlhKmbRTixIozJIDYdtSjHJqOoiFRrqSkQHBqLVUAVYICMFYPCTEIljByFDTqOfDpQPLFlpDFGqjCsIWmpegMpPaZLCfalUkhmMKdEbHXJPGUQKliEk", "TFRTxKSqpIrTdVuyRXdFFPsZtcRlFzthvPkgQYmrbgxAVgkdWnOBrTsVTQqgKjEfZqBplZMPkMKtvljaUKzHcMoCGhArVZiwsCdQmupVyzFBkPpYhhbaNssdmyHAPRnxkCMpFRlXlsbGlEzzfzvbmXPPwlkPdMMntWtawkXCwUdEoXBBhvcDyWdvJKHRqLjJOmgvhppBhZpfPvEbyRDxnWpyljXCiAIhkjkFxCzqlxOJIHCoItrhZcCqgQAhaJBjvasDQUryNqbnYjplqdtAAZguXpGxFKuBQLKLjgmcKJhyPTcGfuOpPhZbuJmiMymSkbRKBheSonfurcwAUaOSsGLUROymGpRQWEcaVCSLwRnvNBVaXklzdmBdnslBJVVPFuAgQkgbwpHEiksSZTGvHMKgbZEqlJyGqOiDwpqvCrXhHpBZgtebiqpxBJjzTXnoywIsFHXsNpWLRSEfSVfWBvvjgDEZYAqzyphdIQcXvVyGOvUSFhcAdtKoTwlifpmY", "zBDBnWcgsoIJEXUHlzoeOLcFRpdZkMVBshytvFmnbXOuJhyHKeFwlOCyXJOLXJmTFzoWgZHdyjylWQNGdKNcOBrDigfcnuuArvJesCpbNUEtdwFczwYBHYmdkfxIDpceaDWDpYgCluuGTNVCrLkOmhTweaGcFHWNAgzTXGnAeSXXhEdrtTDzeQxfkZBTeLuPqNrmJZZrEHSujWUcxdVYobFJiWIEYmLIpTYwziWqMOIjXXactxSatRqdgHGVFBDWwGLzsFASuZcbgyoRrArtLGmzfFnmmCohJbcirHTJoZVMvRwGLsfvdtzGAqxXNZoCMesDdsJNCFMZAHjWjIkdJSAsdRNfYCxojHLRoBBBntYOpApEDqIuyQRxYLYqZUSoXLSzzJvgzFZeGUiMdPkrOMYssVpAOGNlcPmyYpCYASmElqqfPEgIABSkrHvrrYWREldsTTzZdlEPgSouKQFdqUhDNbQhEyDFhGeGFIkCVdGwwnIgbBrGwVyIHTZNGLJz", "lbSJVBuRDVOEciFVOehFHBqQIaheSTTlYPBspQqhNbSGZPcLTTkPJRAMycWYhyzxPqatTLYVpxjrxUWHhcyuVxEEwaXvJjJPgvShaWvDcnJXGmMJIJsfpRJikmAhAyKxaTjaIpALrIcOzKYGKqmAGeGEgCeTYpZgUSQiuHvgjwVgpNgENKAhjaLwGDqZQqCzfxeNjAVNtKzdUlPDaXMCoqOuRtZWQHABHJpCYNKpRElVHrTNElRzpsOZXRppZYdarMdCMlBVRrokfPimeqgnsoKNxXgBZpwFmHiyzoyUCqYuvyBXBQsoBjepKkJIveNxStgCYbPLBWFHidjoGFzPrnadYYbLRKmoHcdbhDhzFuUeblUNtZTwUYXJrFksjjkxWXZQuBkANSBxRQHXijTUDYjEISfhFAQWlDSsRXrEjzhuEfLuelmIxHMDOWggksGuCIOjAtZqqIEuTNvcCLaTGwFIsZynVrzrMIHVIztSVFDwcSUJyWdXplnnGjnFHkaH", "KOMEPAeGruMBykJhbybDtONBOXjpkUzgrbZfgyauyqfXDHqVCwkRONqwYEQnsaLLTfDUVdTAPLwvEgsyfBADYhZLEvjXbZYUcVhclVytAKLiGMjfvjeyvGQvjhPKsjaFCgRbsAZOFEdhzcsafGjczIyToRVXLhWRWqEsvQsOYvqaFbAbyxuEKuiligseYcmQTuMjgdHVyVSAxHmTLozynQaUfWySEoILSivGhLLGaJiIaXzPrkEGJxJNopfIiEhYZTtEyovTmSrhwAdDFAnKkzSdQGzlhOFNZaPIozrXMMLctRGGMDxjKGsUViCmyLcwNgKjJdMYtCmfEfLQFkMNNHHawPbsKHoasdZqCKpnsFRPOWOzaiwyxvdqipiikSCmBIkrQQBDfrtWzUUQLlsDmPxhSqtdvMeRzpzVKPHlibtvwIKrHYPAhsmswzKaFjohbxYJTYLXRnWzumPhINkOvQzoFjhQeRqFASXWBWAXIGdEygirPhdGIBbheiExaeER", "sBPcPMEEIlCKSNDuzAigTvNRnNquxTJexIDYhZdcPljGjbhlGHByIFdKMPFaXmmmBAmErmrziBBSIQzslHrVGsbyepsbjBqpRaAiMQpgayOLqKtUDBUJiGGbEbkZyTIoLqPyaSkdhbuzXEtAyqJNujdmpFWfxBrcnWgsArqoHImvdkVBbkSLuaFqFlQmUELznsgfeMFmYnfMDKTJBLhDdXkAnnqfgbuQVfmCqaaokFDCGVLNJFHSqDUYioUxJuatOrmncENLeNzQywGxBrgvZeVfxkAJmaVNeasbvnUWzGLWkVqyqwqShckfqGZJRvAILyRKevSYagWHVylAICqQAIJcTkpxWGFtPOibBzoTIUkJocxjpfKYdSQUoOzdOqwIGvOzyJnkaaSLTFpNGVJzISCkuDgFnKSruXXWRbyrgbcgSMmDIyyUYatPgRSfezVvGMSJNzfGvlqCeRikpigszXtBencRWGRWDuIxJIZeTKIiMlXoeFfXyPgKNimYdggH", "BBhrMudkjHUUmWEMqdtWkZfYLmIphihnWQNeUUZMrnSYwnwUnjglOlXcikQkVODZRTMxYDevZvKnerKOEixgtfZejvHkBbkpbOdFUPBSmPhzhOGhPQLxVtyzYldpFLeZqYgZyOeUUVUPNRdlgBQXfHMAswlJiCBbTTOCjUycEQecXUoccukSGyNMEbvnkRHjQAPiMXlPhxViVqrkUmNLSByitFDqOkraieDEGoyhaNbCTbwasfQjkagBLROyhDWoJOxDbqzJZDjfsNuLcXKMXAJmfxqzOSpXuSmyacRwTmJgFhIXbpiFBXhNGqOEJJYXthyxRcmFCkgQdFMiMsSrWjFAZuNbOMryZCCMalfmDAFgKBBOXXLlExMiANrFrdOkrsVgnQUyZSXAaAdMBGkkUHhOtmcrzOdWKSNqunnqyGknSnoFlMUELXETygNXDnLMYeyLxjbhHsVsUWveJguoLmNtTyFnNVuwngbqJKstgXWZDnBsRKcUzlNvCmqSNzUS", "vsFvPFMkrXZPpHMLehgOasdADfXeFAfErZdDrRuRzuFGunHSapzHrcqlczVTQfjELxaLFNgjmLDeMiHchJiXirbUWYsKRnKMtTBwQosiMxxTiVqIjZysuCcoajcuMdLUbtGRmvIjdMyQOjsGSfmWCKKzPegulkyThYAQAOsXjPMovrJEbqiDEzvAEqjYuqkTCJakUdwQCHhtAeIZidLjJjIGzirZCCSWHMbRcFlRRzklqmVKLAGdSLNSWSXkCwwVHEVqIxULmXcCVfOcVikLiCpkWracmenCWAerpeNcASAgNvVoqSbSQnLOfXjuNGqJMhtEfQVODdyyhGEvQvOliwlcPgiAlzJQUxUDEdwJPMdDxAbDYwZLxzllLpWdAHZGqvlhsTbfxHNjzOZrHqCTNoWjrBlLpETuVmbDHJkooVentsWfDoacbFUfIJoruBUQsqGdKheHwPOtjXqBOmLFUjMYOefksybYnerusfBkJGuCRNzakFfhQiTdNFJRihwJ", "rqnQTPgVsqqNkcXXkpGQUmFLUMuBDGuRYlevQqTbxBRAhdPzYZAkccHIXNGxrhDNgxzndmmhCrOGDFeyQkIZJJXxsYKdWnaxHDJIyiXRbqDrPrdfXJPecxSNYkFIqAPNLMTJnbUTXwtudjcmJKOaPYCEnkmXSjUolEouRqlqkJvdqCWcqXGjfpRSXPbPIGySAhLMCspZXsOBeAYuywSopInbqWyfueEnfxwwcYbpCaEKOnIEHFcmGpiJnrlPQZlJmDpMzgAgcWwIvCbtEtjfVeRtWqhcgtdJVBVsGhpxcTIEWSClwetIezuzvLUdURcjNXxFYChGEuTCmyHzSUCJcmqIwXnUjxdKWJXbfrJgEalqhbZoeOOgGOpHjAXOBWllpoOAbeizpHVTxuzpQISiaZvlrcbMgwCUJVHOqrvOFNSEuseWmODEojIHBZJFxothPJutwRcHiQzRLAOPTRnYsHCXRUjljNhnTSSzUjVzwWckMEyOKxnrHrqZFOOFtDEI", "uJWalhFDeVOdwdotZPebhYUhqnMcouPKxLxtjukeOHXeXKPzzpfKEqexYTMFtnwIceONCVESilznaEEWESicsTgvRcUyxJOuLRXvIZiiWkpOKKiDZuCXbyljjrbFdhSiuhLoTjXzfNuQiZeRLOrPzUTrsSCJEajVCalyPhWDvgltotCCBnIIGAxnNiLIVbdUkLzyZKkYTMNfDziErmmnkoUvvSRKinHKdIoESwqEPZMoZqafKDCmUHQpfVVmSWLpgitaaHPlAOIyNjRdFsEDCiPXHunSNbvRXQoezsFntoDyWgtyoJwQjatBUpyacLtkgJgajjXKQnJpYnoaRkATDDPwQgHjKDeRvzhuJFODbnwUoIcdORLmbYKgINpIzkJdNVtUILqZYPLmWOeQZcCrzyTmmXaKotTQGarefUUZexmANzFyQAImKAubGsnZntESIjppJxMRFpcKnqsqifXxDFsoLhaMRsRaKlCCHsaSWazkMhpdFqMegXsAgTpkTDKZ", "ZJmlBhFOVZXzwGHNExaYqNjzAysmzVQuVqSyhpwCVsBYegLHmCepxNAZxmAPNBZprPlUvRjHzsSjGUdBkayhlQarMfqLVzbgAsANSOxkGxuDLrNmbsjMjKjBpiSaylhiSMjcKOnJQGHCionHpKorYSdPRhqemdiYKBxJBYEBybaosRFmAqrsOqeThfRmZSqAkqvTEwhlAVsfIWbZDGcjVhbNdvIMTbWqVPNozpJyQLTerQEAzEKGjvfFteqpQxHMrWueijHXXYMszmpccqRytRpzwGKwxdigyCAlFNICxwuVXOpEfAiRsMMMhbYxlwOcJcFiICuiVRVqFINqoggkXsqqlZysBOynGmjmuhyyKUOntXEkpAHlrDAoPbgxSqKkarxbeYhZSKfzUkqHIGBmecKIJzgjhOkocCpmrhnZSWFaveYJQAVFZNRFMTAiRAxEARjRFKlzZwDywqbCivZejkoLpODdnJzIdsGPLyOBPwRwhFDtzVCIQWimnReGEglT", "yYgRSZVaNmdrsEdAzczwDycPAdvOWOXgoUIDduQeieaoXkGIFnUBEMZSvpfSHoftjsviXxPfCMUIpwrPvQmUceICpcGkQrRmvNeLWfnbhHnfZonShfIbYtzZPQMQvyKflaPhDsLZOucSHAvIwaWkHPRcKwBRLJDlEdPdUZmzFWCLGrkjrrGvkrZBdDkXrUBXueerWMNmKqJEIDAkUxbgtYGWONjktRiTNeHItxNkpGsbdYdXTLsGwwTddYimTgKXQuMMUyPjJHiWrYSmTWoDAtRExZdQQlKcDeckkiACTDvdlOjfGLkGzIeATnUiSkyReYpxrjvuExQGJUCVUOCGfQomhWgcVwMIgqBFkYLosOXiragaWnGedigiHByLuTmxVwUfSMnPDFauTzLyXFStPewoZSmfKXukCvVQIEjzIwFvUdnshYOVHyfBFTHXGWlwepzQoFokaowwwKUQfYaEZZNpiZrufMNcXLUKXlUEAWtxAKiXgialjkxskSfdapPI", "erCbnigikNeKgypcoyBQnEDeQSyRAGpqmqudBuNtOMWMNfSzMeMIZCOeULpatnRCaQgbEwirujtWzqCmIKzsVwQRvSssdXiYYkkHWvEUqMQvgMKQtQinlujWMQAjsOpbgxbhSDivSSEHktAurvvIACVWfZSMjPAZbXErcuIvhvpEIqwVjZXEVqHUeMipjQvVHgAFVlusFDhsirxwgvtHdcfKhttiDJOHydlLBwivVLKTIOWTNBEPqlVaEZxAGirhFZxkdgtFNWrEvrAKUvMhgrFXYwOBBgdEzIoSElEPikvrPHVPxQZTxNmPUxEByZojqisoksGTnaZapUvmvHIjztPGxzbEPqeeaNaqtYoLdaqfDMrLdkacXmsFliWfSxWLlJXgXUFUyxCCVcqALsttLJTyiRwmKppfQrBbuuwmNPQrjosfzbvPwprwJVznMcSWaKjJwqWyxdvhMCyDlNqaWFVCKqFvfUAHLPyTlYJyEkTtgfNbuulQxuqxzxlbUpQD", "xOnDIwFRWDtCydmWsSFdpRewPBoALYfmzkXrhyDINFaprMofxlljtdmNeOFnKGsPbLPlLgIpwXMZfUUOPItOcpbksBcnXDVnFILrRfRamEUGFjtgzZgqUZGOIZlKBSgWZEjMUFFZbdObBDyEJeqkpKDmeHKPjhFLyoyTuRfSBfSzXbeBxgnsaNgtfgteHjigVwQfFLCjxNPTLBKiQMRDxKXSJtrZecVCkoeDvuSmJZRxLHEqRVRYDNwGwmkpKPvgPvkPuXfiiyxWcmbQVROzODfIzfdRvinNaqMmGdIMiDugrwRiXegESNolLHSxRngTBNdVgnjOcXQfWcrcigpnXdbbtrrZUOpKIXFYdNeCpkvmcZbCZhuTcxgJdolKIUIpXkNzgoerwCijjgiTgwryUCHbejBukOLodpPSRGNDohiVrHTfEcXzOrFboemDOersZEcqruJmCPclbWgVWuomzaAkAGFkFzvotiJqEqHScgLvENbnGUlltLHYNTnSoIuh", "JzQUjulqFudoXnqCCErAbxRKDMdLnSySclMpBwCUsuEsjuZdoTxzctdAhxNKEyOLOuVSLxUTjFbpzrBQxYIXxuOOQzkSwjvxONctEzuTYASCeAIMEIXNCteoEsXxGnwAcaamcqJQbkYTiSwBVMMNWyQuVBDIQxyzsInrUwtfiYQCHWyGlHJukiQhLeFJPYOvbuJJPbmrEhfrTqTLjdYxicVFiyrxWUAjusdWSCoonkjfTkNsZohIYuqnmqYHHWZOutywnTrfCFZdKNOVPPQLrfHpDKZEIbpKkOLkZeZyAFQwlsaRntWMcCMjhMidNwibvwmnMDRKYkqOKsrKpkxigVgUvxrFZxBTcFJgEyjRHqZLaMiWlPFpoIybMXfIZbuPInMHyeTqeiEAyLdbbcOBehAihpIlTnmqpsoJCDMZVjPEbMnoPXfzEyWfWcVpdURogdtSDvAHoMwypxKkxdZuMAFlCYokpHZSEZURSnYTxWqnRxqzZMDcuroLsrtzraXj", "IBiVDdIuYzXWXnAoOqRSdVCmhacrfOAnGVIomEkwkalqCdMwUlJGkzuqvmzoqKPgpYHUunIBaBZFlZxtLmATqtUQSLHxOKhBUhlRBcLhThENFAdOqhJWYTLCzGYGrOCKqJixIMYmloHXorVVvrzvGeRBUZCHLoNtuYIkozLWznsvWVLxdAwfbsnjiDKRJRSHUZpwXQiVBaiZnfFNfgOZriUcheonPubtqFuwGgZFSdeOauevGvYRDdXVtRrQaJyMtLmhfdqdfXkeNKNLNSYNRefSYedcnfRciPVxxGTNBnitCZgRSUlLgoolLyWNssoOktwbRqLguhHSOdVKnTgEVucbKBpuVuPoNbLxWAxkHcKNvbZAakSXZAmHqmLHtVHYIEpHCmkyktWTNtopWsfBxGQcIkizKxNurEDarxQccNeerVPsiogfQFnPuyviFtzeRNIKtBdIeKHeSNQlVFmWUQgSNJpUblKHMAHNihwHNTtnUVXcZhzlvPzxuiaBfhzL", "iDofTPMcRyDalGEGFLhMSecRSwQJAGziawHnGNcafoaUMKiHhxedFUFjxsulNYZtOOgjuaACshGDhiFkEPsgRpJTdFhFLxmqiapCfISlqFohwcfIMxcsdiXdoXCRNkRlUjYfcoohUAxervkSkpqDqbAoefoggloxkiHoAPwcaSYxDAeFazuQXBEbbtRNSPfZyluzvoparOzVjBMZRLOQyjcMohwOVKjfMttTDOcnkWFijiaRGrqAFfoohEBRcTQvUezqgIkzSXeKGkAcbJmUdjKiTeJxuzomReiykLbzBnfZlkhPCyrIgLPIroJlAbhgBaziQAChrEckYXYxlxQnawVVyjeEZoMLZGqslUYFQBgWYZLObRCXGGENeLQUXAQbLpIhYJeIElQxHylQYgxgxKSgjPSwoENENyRDYxuFTcQUirjNwVvLKzsFPotyGPMITZKqqnPUafEizyUInEmVpEMFHhXQUWpdQQwbgPsCLsHNiuahPcpkShFhLQlqDggz", "INNGRDpgeAdVqdDZlGqlqYavoGouQceStStlxgianwgXyrwxUreMEfKNTTcRHNKdaFzAVDhuptRCSnENGAYiwsWQmVNPuZshRctJFEkAvQAUfzjPAqAoBMLPRoEkrpEnRDPxJXVdeXwnVVRfgadSboshMJokRLLVPeYusDWQwycAdYNWEUUaYcnrtdUJDvpyIVCueuTOdyKdAiOqnsdVeTeMZbQpxyhFMfeafncxCfcaAZDfqbOdWiGhgpNHNlCWqJTJyvzuUtMEwALlrjNFaartiHBBbjMSsxrnNyqeaSBnbooYGZlEQbOzYXZeELxtZLgLGzjHnVXjBeFgFzsONhgzyXgfLgNKujfpZZQEsuEPOTNZttyYBvAdeasXdzeylhlizwEpIvNMNxBwrdsisRyjHGanCakVQiSaRmpiUOUYVWHUZBmQKSkuIyXIncopQucZLBNoIhfUCAMTzakMveedEIeqtNYZYJIFXIZsLFTyyWNjIWRLpWyhIYfXgPcq"],"c_array_ipv6":["NXEGMIeuoO", "cHUoaXcVfC", "ETZZXmQbhD", "GijpGgsAGW", "rrUIBBUzHu", "VwumhVvJip", "jRHxswcuYz", "aSBxdDtJTq", "aHUGoDsdjF", "zeRRjvDVGQ", "SkLdPCUgtf", "yXrNZTJOwf", "owiXqGKZEF", "qjfZdyJisS", "tblWaZbGaG", "mRXzaVRnaJ", "MeoprnPzee", "BUJkZwvRfo", "dLwcyYJfES", "KgTiOGwuRA", "pSUNOOptfi", "lfagDJaybm", "XRbUtwvrwy", "DePVoFDNkh", "mOlWHiechO"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":-50, "c_map_tinyint_2":109, "c_map_tinyint_3":-21, "c_map_tinyint_4":-34, "c_map_tinyint_5":-104, "c_map_tinyint_6":76, "c_map_tinyint_7":-124, "c_map_tinyint_8":-116, "c_map_tinyint_9":10, "c_map_tinyint_10":114},"c_map_int":{"c_map_int_1":1817400080, "c_map_int_2":-1796326809, "c_map_int_3":317143307, "c_map_int_4":460176287, "c_map_int_5":1392674965, "c_map_int_6":468069643, "c_map_int_7":1022867428, "c_map_int_8":-2051748933, "c_map_int_9":96245271, "c_map_int_10":1213249199},"c_map_ipv6":{"c_map_ipv6_1":"e7b4:1fc:24a3:6018:6fc7:afba:19cc:7983", "c_map_ipv6_2":"d467:636d:bba6:1b65:846c:660e:fb21:635b", "c_map_ipv6_3":"ec47:5d27:5e89:e2ed:61cb:fd29:e5a1:78a4", "c_map_ipv6_4":"6478:a7de:8b27:ad06:8c3a:bc64:37e7:af7", "c_map_ipv6_5":"6fc9:465b:d59e:55bd:5ae:6f52:544d:b52a", "c_map_ipv6_6":"8e9b:cb28:c3e8:47ef:4f99:b71f:869d:8f34", "c_map_ipv6_7":"fe1b:39de:967e:6053:b64b:a4e1:8d2f:8506", "c_map_ipv6_8":"2862:be86:2cb3:4677:7b7d:9a4b:15d4:c4e1", "c_map_ipv6_9":"d393:7f15:2fbc:284a:18d5:87d2:5a75:39b5", "c_map_ipv6_10":"4b0e:52e9:8c3a:3c3d:9cc9:5183:58e6:8bd6"},"c_bigint":-3734582238317767059,"c_array_boolean":[1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1],"c_array_bigint":[-1848485527913898484, 4878511397083027984, 5424447932869605283, 8530353488314123550, 3153271834984844086, -2118198182807809014, -122625040443430853, 9101119065347851914, 3408302397495777238, -8639827844469085706, -2966668159410142004, -6640286174798224700, 6669520358576591067, -7836759956637996240, -314140725421281539, -6787079547288967165, -3580981371012338543, -5604498383271066303, 4854988252474614849, 3673170981344202524, 49073765574255617, 9159084072972407021, 9027434075088758058, 7997230753036555474, 512508915542960545],"c_array_float":[1.5544608, 8.393264, 23.61445, 57.87873, 15.6469755, 0.9908159, 94.823814, 66.3133, 41.340153, 76.6563, 69.18813, 19.917345, 53.443054, 78.15456, 18.714525, 24.123995, 65.06261, 48.236618, 59.27638, 45.971573, 26.590908, 53.396553, 43.80104, 93.30872, 84.251114],"c_array_ipv4":["slFXLiPyeg", "gHVFaEiFeF", "DfWlGBNIMG", "JsdouWkjTD", "YZOAagbpaa", "HRfFEEDeUF", "ucJfofpFLp", "GheOVcpgSp", "AqsSIiXeWH", "ehYBEdEjYt", "bROgJVfRoE", "jaYSbxLlGP", "lGiMQgfenw", "OtMMhtvJhs", "EIzoxWFzCg", "dEdOeNsWXk", "uYQSjtSWMu", "mWlCqmLKZk", "oJBgJmxgTu", "tbMxVoGBIh", "KFtLobZZKy", "jcXHANaEwK", "mrUWwQxVqz", "WfmoJUQbPI", "wpECttVTJS"],"c_map_bigint":{"c_map_bigint_1":-6563461217550316052, "c_map_bigint_2":8539915215375623967, "c_map_bigint_3":-5626576127923502096, "c_map_bigint_4":7108525288956474642, "c_map_bigint_5":-3189531823048102470, "c_map_bigint_6":1721391782884328679, "c_map_bigint_7":6233230339680272079, "c_map_bigint_8":-2865749465036313250, "c_map_bigint_9":3978778653890596205, "c_map_bigint_10":-7353997370976116908},"c_map_double":{"c_map_double_1":94.64690831750084, "c_map_double_2":48.89993551169715, "c_map_double_3":97.11765504448188, "c_map_double_4":52.11954250865534, "c_map_double_5":73.10061060524995, "c_map_double_6":42.36983547037631, "c_map_double_7":4.325030828511827, "c_map_double_8":60.88332041306434, "c_map_double_9":45.67962231733073, "c_map_double_10":72.64798384046905},"c_map_char":{"c_map_char_1":"KayXBoUAfp", "c_map_char_2":"RkyJXMThrX", "c_map_char_3":"EnPIYKytYt", "c_map_char_4":"qhJmrtEDcz", "c_map_char_5":"XKeTFvzRCy", "c_map_char_6":"DpkaVPtVbL", "c_map_char_7":"TjeXKJObEv", "c_map_char_8":"IhMBFIYTbl", "c_map_char_9":"uakghGIAne", "c_map_char_10":"rGBLCJRwfj"},"c_double":58.44861911892044,"c_varchar":"look","c_ipv6":"5470:3e64:96b4:6e2d:b349:d001:e4d4:11f4","c_array_tinyint":[-3, 88, -68, -74, -52, 50, 2, 81, 42, 26, -38, -10, 76, -70, -86, -70, 65, -108, 61, -102, 55, 52, -71, 36, 34],"c_array_decimal":[99.0169, 63.1180, 63.0131, 47.1877, 5.0585, 19.1556, 79.1127, 8.0388, 64.1337, 63.0306, 48.1589, 47.0709, 64.0471, 71.1572, 18.1407, 99.0792, 22.1237, 90.0648, 90.0396, 12.0814, 27.1198, 90.1763, 55.0826, 51.0741, 47.1530],"c_array_double":[25.559872547060976, 20.603029494335804, 50.62368415764966, 92.5238510289157, 57.72082020420262, 61.17454106877154, 66.6191882547435, 98.65387769270923, 97.53399676733422, 5.1340723079893955, 17.181968618147174, 41.67440535018315, 52.23307414600226, 65.67075283015183, 40.257559848195605, 68.77442528857061, 33.391075894900645, 9.438993063877192, 89.05665864489832, 97.80605383168326, 22.7889523315554, 68.3791533978099, 47.18723717723786, 28.477779050092256, 89.13092283036892],"c_map_largeint":{"c_map_largeint_1":-7894801507961344553, "c_map_largeint_2":-1274813748373244365, "c_map_largeint_3":2636581109885187185, "c_map_largeint_4":-6342511002930556649, "c_map_largeint_5":3340892454697143158, "c_map_largeint_6":-1560635380738106717, "c_map_largeint_7":-3785521020466214570, "c_map_largeint_8":3685972561132203517, "c_map_largeint_9":4887443564527890162, "c_map_largeint_10":8820095681197634674},"c_map_string":{"c_map_string_1":"glAfqDnVEyZBAgNMDlAxjPCtUMfkPGDIBVTdVopeZgrQOuhlkDJyMHCldwtIVwSLAqQnJlnwLxmifmMePNbbfdhSheNNAOfiWRXrAAInVAitNBoqnMCqueizMistaElergbdVrQOglxpkXiMvtHyaSqgfgTcdRfKkMMeTLbCSORQHMalJEYRlcgKcRiQFjumItWYukvWWgKRQsAOlDAOxUqmqtLwsfXLXkNjAHVywXfeapWbTkipdyYjPmyfmUHBGWvtudTetGKdlpnWvxnNsJVnSeqvXCfNCcDqRSyqHmHDzBmigFfZdDVcQZxARPXIUPnYpBtKiOFgTkhXjKVIJhydUDCcECJRgPZhWYmYpIsTgKohLyOUlNvlqZZgykScuEkvJmWlOjWZDmAbPODCluNdAYRgDvQDRUUnXWzmANDNRmAYkBfLbunKYTugQEALtojAcUVTzezsBOWnXtIjlPkPJRKRHUbJvmczPDAxXCxJrmYKXHxjDWOBnVIUPGUt", "c_map_string_2":"rTUyrTlsakZAtTmIRSbyzbRjxDVqoDWQrHNSMKcpLialSoWEBGcJCfdzksWjfwGSDshlPUTLAHKHHnXyOIfupuNGszWyvxHreFDAXrLLjhkMbVhnuHuYymIDHRdKQAYYTrQOofugVezctirhuzfZXpVcxcBrlWMhJLOICXffWiEEinbbbJatsiJAvsunFbaVdTjaApwiAMspxSKybRGOxxsEWDlRAhfUefAyVtEmNzGyTILPPGnsqrZKlvFBUIYSiBuebSulndMAqbVrfAdArVHeBHwPVEVSDxAzGbrKfudTwPzZnGRUSMubFSmOJtQFkRfHPxhRoJOAuuybgiCYoqniDxitjILxEWudQUaeYthsMfimKlWvMQPwXKDplqovvhZGLXviwieAdUXvEnPOhrfmAhTfLSgGuUnZPDcHZICJbOhKicXbJvTpOKErgKJrLxUTgnWraoglsGidpdRZQyLRfwcjgiSkcrGTYHSLEchgHXBhUFVFsKpNbOpLfJat", "c_map_string_3":"gBNSDrLEKzKgCOIwxylInecgMVXuxgnWPvUxGvytZSpwxXJyEFnTdtbVwEtwnJIrjpuhuxTySYNlmFRGJmdHJFuEmbcGLkaXqcGtOHNtyWuOTyTBdhLMvsgqkdTWRByOfJqjLvhpJzwVIQopSozpccSldipwgbdTpholHSGSFzHmDWIVosqlADVeZtGcWOXElsCRYpJypCOjlyWtUrvCUysoTPTFzqbIBmwweyCJAroiQJJahkXXXveocNyPYzQZizHtARwupjTTPadYxYWiaDDJZzivVYunpxTuawTRqivkgAawxczFWUXooXbQeZyAotXnCbqSHCfwEyvrszWdSdEvSDjkuOCVtJjHTwlzAZdJuxStjYpGWeCBWmXWavEusSPvHTOhiRnKwoLMcUQgdenyQyXfWKWLLuxdRWMUTbwzDrYhkkhufeEuGKUyQsKmdMxOmeXXYwLAJRZjCnEzizKKzmhlsOnLHDNHItIaxFtLXOzDEKiFqpswEnzFghNC", "c_map_string_4":"OdqbchTcVceNgGZEsMqHvGWrZHCmkzWiLizpPSsbLIegqnSrDIcdbLBCLCwAdzmzCCOTVfwWqfHruSNyDcnDHJaEORANgxnxBTWxuKqfJtRUOKaTkQttaNPzPsNQPzwqGRoAxbBFlmKxWRRgkcnayBafKrzSIEPlmqdaBAwqMMQCMAOUsuJNjGbfMepDDbByOenqLkJUkNFblnBkPiliEiPNqcsNSOQOERjWYPaZsbrLiNHUuTcewQAwgbrrOnQuKZjuEXKWHZdfRsFEnDlrvCycHrZPHLyiZARcVVILbqEKoNLQrgWxRPRQPHGGiZyelIoTnxBmEEiHvUDkPeyfWeWAOxiuTSxIBlKJLppTnRKMSfkkwHwljmAFQnCOfOhVFtFfenqFuiLjxQUgGsyDidoxnipRgveaSsYMzdkKpSFWiFNgCPOleuaxvvMwOJlMYbvoSiNdpPXywdkjATgeWdjEgAJfYqWNXlaVUTqkgDqMDJfwxJYtbEyOJphWOzaO", "c_map_string_5":"lbjTnAIGzVVTPBOdBATgytAoriPGNLQVuQTCZjWzRlVrKiOwYIfqspmSpZglBWajWszrLaiTsQbxInFvsjXHEFmOXMfGyZVZoRpAxzeBhFvVtwUISyHdUFDYPXOfWxQcFZJNvxxFHZEYynFXlfWuSAUFZXJZtGLyFsevUitbOrXkrvXqHXaDnbtcJKNsZyjwDEinMZeZzypecRbGYyUVAviGPTFKlOfDcrJhRFKyiOuRuVZrZJgsUOqZMetZjvIPyGnYxrEkBVnPKXzQAVoZFzsKnnmkWBJqbVwrbXxqBLYJxwhozcxTbdiahWSZoRNZtBnIgIjbwLxcyNJeRBHdMXIFzJMHKwUqZgAKXxLLRrhGkritPsmdgKDUIPecGdZMxGZbAqHIKrARqXxAWcXkPQZhWjgKNmPtMdkVsxmjkEhaNkfLNwMaVuDreeUcgYjhNibDMJuRlCFTALHuGtBQCFIhYqtjiZUZanlXejvjRWeEMGetQCfQyGiiDnqHQisl", "c_map_string_6":"MpeabWjtatKIlsNnqAaqWXlLuZmIjnHCgnpuOqgHQSxGgofHExbmdWsTuOoinYgiLIZPjpctcALlleKEAxbBKvbTINVCVcbdEUYHbYXgTYPJwNUCGVaQsAxuAcGprlavhzkVCHRMpINuJeUpKutUdMAnbbRpDKwhaTZnYtHZYRrVSTKTWbvtizjxxGmmvxLznicOnudMkKQHAfVvcmEYIlXCvohrlPfJOwYWrPXbbjyhTKDkwInftHPrndaZuLctnhRcfylurBtYecxgKTasSCTWRAWLPanZRPLbmaHXSLqOwjAECHcKHodIwimCGxQjEIJCskegHpddWzrsDbFvrXjISCqPqkuagKRgsozvDvZVSTQnMPoNebnIkodbaJtgjqfPsCCZZZxEJfbOEsPvPXUrUTXgUkvDUTJnIbyjVNctmlaQPKDkHFvJhYGzQOmTlCDCRRMUbrVAzusCBecIwXUNXDxKIqtgkFCBRUnlHLzMVILSUWVkxcucKZnVkAnD", "c_map_string_7":"bIrREMeHHGcKGhfOULbSbptvWRNDbLNtDhrGbzAHHfiMOSjYDOPUZLPzBcxqCbKrbIbcwjFJAgrFPCXTGAfdZSaZMUJHRXBstxpEIAbglmOABQDcwOymAmdbcgLtbkvDvagsKiFVCEqJglnOsZdSFVAaqsTbAoibWOzNdccrmtTDNsKjnsgfSloDuhbZTuAIjFFdYfwvKifmSKUZraJHuzodkIgSRFNJuTsPTeNSbFeSyzZfxFzWjROAHNrpzCMSKCgjOzRvEJskRYiOyQJBRYWOluHwIrQTlptPFsncwtecuPeBayfjpaeCIxJawlWnmuFgmDdrtvYEWeRsfSnRBcrwgGmPRDeGhjHUXYAJNXgIPPSYAtjitPLQLdACmYXhmPaDYIkLppxyImjfHUwTQhDmsgwxSUBsbECELKbFsMkNAYNUJCPdASGydgcnvdXGsqHglkyBgXzpQrHtNetsCIltrZlUJDvzqPsOLEVRTwKpKRtxArIstuTerCPdaIuJ", "c_map_string_8":"uUKRrGVbVanoCpacjSEymrwTCCTRrwkBffNiOvLmhyWiwkMZnFnPYPdSiAAPSyraHyqeMUEUYtXmJIEilirkSUSiicDupFVUNbsGxTlvHzlERGXQHYKSrIoWSAyseCcQjBVQlCLzwKIgBJIrfVojYsAjwrhFkiilyYWzcfFAliERbzeGqpNqAQIBZloCkwwMxTKnGrSvjJxRCgoZZFPoaPaNkXRwYIXDRrSfhPKVHpvXzrJzLLfjSDHVtzTtfePdEvglKANzUpNVzUBqJlHwBcWFYYcHVepQRcXlSGygEbXvLZJkcgarueJZsDMHXWDEkBqJFMhlwRgbARfkgfHQXIpiLsVgzNfwYseFQnJXUZDHiugUasmqsSPpyNgnHdMXdAULdhFPmdUUEqLIOeVklCjlOvarSjrskaOunfoSVSRAymxRzfJodiHxajhObiiUZtRbRgxnCAIGSRWIMKpPlcKHxWGcuWoDYpWdbqmrJYFuRYvGzfEXDoDAWKqvVJrA", "c_map_string_9":"RIASHDmIJLoDtpgCpyvBsrsgHahfSbNljYhyyeKDVOyxQQGmJagHSVVqlLOQybjKxNdTiOYZAQmxwdyIkHhaJfmyriVYDTYmRHGRgetwyNsTwjCespRYiHmYYnIapUebhUHwmUwHVbRMHRRnGHIdtlUCxsPFllMouNBnwRNAePssuxyNXhvbTZbiXvIzqVCfExvuUzjWwBlFWBTgXvKGpNUUbeSCQUpQDTUFlIzkklAQdyvZuBhBjYdQBesUJIWifjmryOmcVjJlQtPTFbczVcfnLfUHrrnwyomEnuUTDbNBboriVOntlwNZRmgxCNaNVKRcBQacFDNZbfuQUqEjWBLEQlQMVazwwOuypyPzJWaWrGEHzlnWpKErBjNoHgyLSzZrJkhnXXPOYKbFFzIQLhtgzjbqiCohGljWumxFsvvXRZASqLNknvRjKbEcjaTNmMvbdBkAeSgfWDVltOUjsgPwcHQMSXpnmGYpykfwuVGVHjXvlVGfdzCwlQZywQRU", "c_map_string_10":"zQXUoYUvzGLNAPAYevQTHYaFQCTNESuxZjSqunuXBHFQxxkBCrxxgikubEohzsEcjtduZPiBPIYnxsBtzmThGgVKixPvpjrExHzyGShjCQSQYOkOgejgGSjjVPqvTXOLvVCcRivttXUbdBMkSIGFGEOCQYIZSFsIvkrLAVtxsYJpWiNkBpObKmGTtbISTldLwDtKLJKBUZKcoHfoXWRzJdChDTdNtdGuFLhMZDyrKSnwxhAPHiKrIjhefXBaUBGRyvrCezrIBZjddcknaVDFroAnnPavscTeotGauuKkswUUsXOMBZYniiZVIGAveaDlEZNbRdOdFXPqeiPJqFnYYZktSSULpGjDmhJOndoounvljBdUemntanGDKhMCIdurvVhzvWJeBoVtdZObiiVwscBKnErsWnNbgpDePdxDqqxMqGfKghDssrBTPUyoKTYXUwtzeMOMGtECsBDZkzWkNWybMvtAVUimnIvZljbWTcrbZoHiHYQFnwuVOZEexDHo"},"c_json":{"countryabr":"GP","hackerabbreviation":"GB","nameprefix":"Miss","pronounreflective":"herself","dessert":"Caramel breakfast cake","month":3,"cartype":"Passenger car mini","noun":"hand","bird":"kingfisher","farmanimal":"Chicken"} }','{ "c_boolean":1,"c_bigint":8217340625357624638,"c_array_smallint":[19637, -30617, -22003, -5086, -21506, -14396, 2391, -32435, -26629, 23013, -2986, 418, 7765, -13419, 824, -30038, 17203, 21567, -32196, 24808, 30262, -14525, -730, -24761, -29179],"c_array_string":["rqEHNnqgDaFXXwKiRQSkDsMKwZMQjblvtBCPByaRrbPaKKQXLjbviykokqZpOkIigUVPmwlCdgOTMVMNczkzxlaoOHqQSjXcAmZxtFUrUZaKokxwALdilyxsrkMiXVZLHvWYXNWeEgsUgXEtoBmJvQJaYcoDihKiQGpLrLdwHWMWaYHYXElaDFRaFvZpworYlRFZOfEMgiPmzXTMBJJgbSIVUaiqTbVJIyIbgrtEHPEYsKjlUovHOuhOKEIwtWMjTnPTSoFziuMfPpqvWsSLWpuSXNGpYrkjqKMtMGhVWsRpkkxLQuedtQAaxDVeniNYXTgiGvbJmqNfzUAUrFWkuOwbSQvUzBXpAMrhlUSYHaQIQZfdDhjlPfmjwoMqDTQqOHdyYBFhhnUqxfDIWeXiUeYscfmFFqQOihtRVJuCWXlcgssTnQdIpVeGLKcZGMJZWMvjtfjjrUDTXIbytUQvHtTKSXHDEIgpwIlxQQBPLmTRJzyNzguiJGvoteMxcTAk", "wpMVDkhtYIvdiXsWNsKKIvSRDAvyvpUUAdDHtFEOeSzAQEsQlaMgMoomZjCXcvgZcPnlnzSFnKVtuZyOTKqfzZprAWdEfgdZFGfgTjuQSolKzpdOxBiRfrLorZjLYiHDBqJEunjfuNCtflRVHlDgNNTHEjioHZPSFelnVaNsCXLnxrGHHSCRnIWzsmtSQFxxJddQaswQhLTBkfgiJuallsjnDIvBEJLWkJCjQbFzbjbeKeOclilZrBIPNnhMFvwfPmbMcwrsDuwQqWsiaBeWbJdLOORrLcnoOHmAtjtqpLzvNSpzzhqxgsdudyqwMJchpcaTYwmxNccybAnQtRNhIZikAQkzDjGuElByPRjWOFZiBdskyHylbdkanKWbfeCDHqDBBMDUOvXuXPNOLrRZvCRJpShNJZMKmJIuYIlLLBJJuFWjHgEYlWaVswvwwYwBVmuURErSdeNsMFQzuqQgsQfSDaPgTXVnoNwlwJQlJzaaInVYUavFffEhWfuiQLCS", "RQfIEpTELgCnhBjeJtFLaxPNjyRAYKjivDfbaqzerBdQslrZwWeFcIIbVPamDDzcWFoHwFkLZrACZTIRdZYKUXuGVHAeJLNNJmxXauyEzlpZstYzxXhopdJdJZvxMxUDyCCgMHutVpWAUnBzVaZzFzgqXORpHBpTuehDzjqcJcKkwrDUxggqFfvwIsVyfPDuYQFwXzTcXRsphcDlunPqjIxbMphpAakmREaMMwEpIxFTxzyqgOYJyHshAgFZZkqwYkNFEvnPsYwOLuIGJrAEkxBPgLoticDRNwPUHXERaiiCBGsZPqUPdzUiaNzgjskLsxWYaVQoAREoZjjgsrILnJFXamHcJXApWnepiRnmAQrbmMujslkJWXezttVMVdlSgFFnEErSwNBjUTgCktGqXGiNUuGwHcbnqRENsgyOeVKKKdUHaKpomytwlpgRJJlpgVrFBNgvYLtRUInQUXqJzANIcstFCtdaVxlckiHWNEyypSrFloLYimfborraRbJO", "gfCXUTFbJlEbHzXsfnWtSVAoYvhRPywgmepmKfxCAoALfJqqEHeISxlyBcaOtLDdrrfmhcnkXaipPgANzFBxTaqtaFXtctRzvXcKuMikvWVVdkHRCExpMHZqRbLIbeJwSFyBtwVYXGfSgsvPeqqSDIXXRxQbatAfBztKOYBQBrcLvZuCWaMjmUqgHIsnMMrRHhpRZQAIDsRfktEKMABaalCDwleZhXArIlYYHYzotzzRWYBuOqjDFtrcKkNzvrXPjryjMmWKYyrZiYKJUBgWzDEhsNVklHQHaNaGHFsZgYHjHOvIypZcjEwHqsAOaSeAEUfdbLjLrWwcyiQpJUVJezmDBIWBYHHiPXtKLFTpTJmJfFxOzJiLJOULWRBgWHzyChTBZjvChfTBfzvBsjxRZqQMCcstkAzsQZmxQFRSeUBBrLltSbficOHoHRKbtzklmLXjoCeJFPtqNlkqzWnedgGkJwErWtmxxxKIaDMxlVdhBcJSCaSYrtULVzivmXhj", "meerAVvDmpJZkOAmDlyHNdUZcrHIXmweFgfvrIlDHtbMxPgGmXlTQgemBTTGmdUgSHWUUnwodvYpkvdRLpijfIQCHNPeoRYIeyvimhCHdqQTfgIIbFFXcjzdmdhpljkSqUQWlsCKWzlNRcmrEoibECRwAvTsoZUyUYuwEGghfmZdqqaFgFpRLFNmatAqGCUkqkQTfWOeslUkNvdsArtszDTOOmMoCaJMRAXCTEXiockByOKhvCbiCTDsjzfIhQzOfEhGsCOdxWRttBOxHastCTUOSnOljeenmbpGhFIaXnirbFSRfwcQSYpHAPjuPsJvBhDCKRdyCPTXWAJUrQjTRLvuzDWJfpxlQhtZPOfQHHkxPbBYgqyPzyaFLrEduidENjZgMGTtzNzOdYdMFPUPEZKWiCTZdtPwwdNSFjowFBkyQOqghbxmnhFhaavzPoPtQGFWWWobvAtjgBZWPfpvuHGoguhrydMRKDOUOftzKxVVcxzCgCGVzmmtVMDygbwk", "ikBPuvQtrSfONLPeSBlNAKWrtpoekrtBQIHAHIoLAJuwxipGHropNYzrHESJMyWtQydzUEyMTFJsZePNEZqAiUgAPgpbsffbsENUEJtIMHLFAhXolUzjIbeBmvwArDPpCMvprGCwymjJAeuCAPeJZgJgeyqDYEAwDbGklgtdvSytylESewMOFTblKRaajENbSZaUwAUcWJLWJcLpgwcqXZVObeEfIZtVqOlWFVvpHlpeudutvGbXakzykqMEJdyJWcJAROdYgydMKjeuzWMGFdONAOLILrABzCSbDljIoXMvcKujFTxgSUPFpDWLqMEvuDLFPwGWZsotfSkLMvdqUEVPqQqLlWSvPPuLMJLQGXmBZdwKCrRKAxJmyVngLQpvjnDoVaQhQJDIbQGOedujsUCloXTsjiTgMwhfWUYQIdBBHspccfeAHiVcHHeflDGaWGbMYspfaCRqkJFaevSTODDazOjMYRcEMlsBMhmKcKoNbGjIfrFmrTQTNTnQZXCo", "xJMkoLSBKUFxkcadGmpfXnzVreabMcrDlLlzoJgIGddsoOHrLMAaWccTyDSHhJWdHqYSMSoVPDKVPhnUSseuytYsGszsXTedsPoRzEKoKAlqmhaXvEduQSLyIloaKivOqWiMrjwcMYErmudErWvVIZzrcTXAxXKzuhHfGRVrWKHvVWDobErqSaICQzdYPRwnUmiNQXLZeLkdXwkCfjIunWMIXnIGtRoWrYuzyEGiFReNLdlBjBLZyLYWunDJVYDKbEwqMFyrfbhWQHRBCPJSfPIdpzYnLuRBQuAiQehJVkKZdHfUPXeUjGxdFdGJErobZKUhpcBnxNCQEinseZFKjEkkCLEmZfSXGqGqJUFHwAxcHuzzsqmFjMxfQRFACXZugHcBYJSreKXnhqyQNtCbLRxYrnhwBJjvYksEWzlGuMTCUeXFPWiZLZoUaenVcXnaeixISNHFVJAzTMsNxVfBNEKYaETOddNelLqDqaEtRvvBjivynjAZBawpfnDFAfXd", "dfzrjOMwafyTQAflLVCRNuMNWEtHsObsBieSVPmsTHNBJkdHQtdaFnsQntJcrNaOdTyOeFFcOrisyOScVxFktcBLoRqCaDIwKKVXTPCfghEgQDdFlqKpNeEOKIhlleYFWsbItyCjtHOCUqMNyfDUDaKIBZGoUViitDuoBXEEijkXMehGtoWhaPAGCRsisxxIwnTbYAAnZeRMFlqdWOHNTYyXJxhYNunHVUfAlrNmzbNzzUEfoEjvjtRnOdDdEmQpNWBLsYIzYuweGFYykxoBvEjvxieTRcwemnZtCalkkbvhEcVwwkzjPdWESozlgDlpqchwLVbmxCdszmAAwajiVniJailTjQLyBWGvJJUHrHqAcSJZOGlQuiHLXvprDwnqAuoGoAuKdUItWWcvIxvvhObksBWoMlFrbqyuEkgZAvJfrbYpwwLftGeOmkOpLRylTKDEOsiCKLabsyzkxFSLVQBNSTcezMYqQLjGSqMsdymBmAHQFzbaOiMqZQEVHZXb", "QCUeWtIERrXkzWcvJhRbwPsZdUQbAVOaVqHTRmTVboWZIbyiLWMnnDtLdNqcQhiiWdOdAGGzRbkqqIKroMPuDWJsEncWDmGFRhbqjpwtbxpyUccqIhtbynOzjmwXoUVJDVhgggjyJPQYHsnbulmhsiZtGSJfqRePiKWSiUDTTkpFKziVIBvTFDrhiOrnLRfrYIurPLAtlFVXeaThZetDUtZBOWgexFbUYBOMzZKfLYWydRJZWpczFDYNDhfvxHGKCcFlnyXiIQxOWbxPsuFAQLQSInHbpnRUBsHmSvKANTuqwrqccbsQKRYhXYPqxMNWZmCmBdnSbTfcrkivqsCYViJiwXcpNMTArFGDrQQAVJeDEuQNwYGbJcltbxipmYLNfYOzJPRLVhCQJmKdvGHrczihtTkOAJWlRsZdbkWRDbetguZODHKjXDqNDgOuAcoYLPgXQTUresNnLyMbknOQShoZtypMHRORJvVLlhsvHTxpaMCBdIpDHhQYFbklDtbt", "VlqvmocBusjcsfdcBNyeUfkKUBDSGwZoPvoNkMmpUjEXbNSXYvEAsqQgXQBAcsFChIkvNoKXVkVTSvJjSXZkpKrPISOVYwWuMmNAppWSvVeXPgTewkVVeihEYwgfVJumgXOqXQISwDQGpOWtwrIXPjHtTwYOcMCxvJPscTpTjupwRJuLpBcLIkNmutOEzuuKrKSTwQdSCXlqkCslOZkAFZWsAUYmtxXOSBkYgQKNappkFyEvvyplZyuWIHCKGjINiucZKbVntsOhfFqUsLIiVSsQmeEKoAvFdBXiLlCUHrWfFDKRHihptOgmydyaisLfoLeCapEBQluRcxylpzuNTwDteKdQsPegQApiMArQpltbMoQoifwntamtsXrlKQZBBdtnLYmpQunHzZfZZVHCucngmSZpJETHFdlNxppoEMEQlkSnKcTvdARuQEBWRtidrEFAXVVAcyVRXyOkOdWWqKynNVBXceZFZctQFdyXMmwbxDzYslqvXQxlUlUyRalJ", "RtulHVjdmaWylZaWrRUrCtVYorTJsWDxyHNAiiUbovUjeknQUCurNjUzwFFKcPlOxgsaKjGwUHeFWVVbtkEcVzufxctfCmEvUFohuVybSoMIIGsgbVfFDczmzxSkwdujSuBbBdnqsALPgVscpsHDOpFeCVirEjmBQMWTOeqOuheOrMdmnUKtfxWtfQEOapHeyzPQfvkdgYGmwaECvZhWfilhfjoMXNpmMEiEkMNLTMJJfJQPyTGcfwKSyGULhyyzljRPzxIfPBNMdlrrdXaZJEgpDWQpxghTXPuCmkvhWbyOJKplKorkTFCHmFDHZbNzOUiQWVEwGflIZOtIKchMWVXPjILFySLEsSVookWZIlpTCpRnclyKxQyINJWdRKIexqQYYCmTnfiacoHqTGKjiUvbndJpHryvtKTgqLqsjMfSshdZIjpkGJuulGqzngBumNwiSviliDohLArdZaFzlJTJCvbZjpWUseCCBDrQvzPNHozCLwBVidRriUTGxtKa", "PJmPvIduryKZmNphDSRVNPXhgbBwgCgoQmoJqEejymVTFUQCEXLGdCPSYgWBRmDNFmURNUcKZKnjRYULEqWKTyWHXYmKfhTJJGbfxZVxXRsJHqVNdDdSZYCwKKejMnRPPFnPNxIGwEcxFETDyywaqoBSyFtgAlhAGsXVeainbQRjWggdXzhVtKEEgMFJNyWaYdDJmfqDHlhQCHRHusKzpPPDHzgtnEXFJdFDRZITIBhDhyCPFBjYqzMEdedRMFIOKbLcjTRcAZeinkKjytXqkzwnzQqqekaAZAZccKOtKOLvirQfyzvefULrrRxACRIJCxAwjZvdxzGFOPrlCcKCICyfGMKQgfTmCUwVXsFENQWwRnukavoORCKLRdIihwXfdgjsjolokMAXgXQiPPVVJfsdpgXwIgsReSlUHkbxUXEmJdYJqbaErJZQAcFKxMRAdZpmHuZxfFKcCUUVXlIXVastwFBfLegKnpfFlROXzDfxSmtNJeumFrzbitAMgqhk", "gkZaIztybayJpxmTbXeTVjaxdaPPlSXvdeMRDbwzcKckENKgLthbVDnyGDlmyvCwcfSQiEaNkzbIeHWtdVnluBluaHuBKOWaaQAUNtRWaWYnUxczGktFwdIMCoebqPhiejqSUdQbEVXSYriJRgxlOtUGQWarQvejdUkBXWxoHGiqYRgyLbHjIXDERUJAvPJAIfFLTcuJkjigOycqUrybgXLSVvTLbxLXUTKqKKRWNKoZyHPnRGNcNvFzPcwaNjpTgfRNZBjEDBiDJoealveaAvEVqWUoZPyFzkGKxhQRrpGSuYpKayZSJhfVkYoqdHkbnRiMpsIvFqKlZJdVtlqXJmWZJcfKDDuPZtfjVvJHzVYTnkYWdRVIdDqoJHkfatOwybKxZNCzbDaqpUOMBavZbjgyOVFnVoMoPeaAmqzwjjgJmjZFoQRikZncfXNmCtZdGkbOpXmdsGDQJGQvcwPTvmTVuKlJUTnKYijYrVLimvhkDSgXhFjZliYVzylTleGl", "ETcTdghIvIKJsmYacXxSTczRPTXspjrkOEBmjRDbXomGnZZXcwfQvdmHzRiWIZqlWCCeJzBAvbouZswWICCDiwRRJiWZXKPHHkGTlUceuwJRLrcZoAQxsDZcxuvPGxisCnehXxzrcdqKsbagEVkTvjVvuiRilFMPmjmAgSZaEizIRNDBJUPEUQmTyGAVqIPMuBYYdFYsCeGbOJJvORJbQJRJvZTwkkkdDnUhLjqaKFXHQwpMySRuFFmDlasqOqjxuYCqpbqdIvZNNhCheDhXeBYKPFNUNbccAKOlHRmWXrmAhNVQQCIYbofiyoIfKPOXypuTxHSWsGHSNcwTJEnrGevFPDoBQGnqLiFkVRGZSYApIhmJOCStfqUHyhMWWuburcDURDWJUSkasBevHRjKludiNpPSXbGmJHpBSYWlcqzqnRMLZIfWeLeAkYDGDURXhVMVyRjzQSDRFPyOQvgeBPkyviWeKbUvAogVGLgFyZBPfaCkSPgBYwShpptaJOuB", "iZIutyBKeMpRPYgcCCkepXNCCDKdACwAyEOvoTMracvpLteehfuGbvxfYYrHIMvVwjpFVdGZjhCQeCApPzCzXuVOINwpFzUfgELyuSHzoPWLZHsPVOnhXXvtEfAJlQInEUKYCFfNLpDGiGUaEEiOhUsAkPibfxCYbQquJGhGTwgsvTqsQZZhrZmIctAZAdUBjcNlnmjXuTFwnDxYGhrcPdmPCjhkDMIFMzdPSpVrVLZlZZtQDVynEEXkmzRtnAjzmjuZqFKuexEJFUajFFZtvpkTnVuHTRLgGUYANparSVPkdCdvLWrOaJmJwfmtVpcDiVMETmuMFCaZDslCRzhznHPSmHjEIlUUYRNtyAGYuUztMiVXKoMAsHZuTXGacJJCMkRnblrvkftngFWeSAVXpKDNKvcDlylmVGQLHynjMoampjxqcIxsBsfPvxGgOQZyFlBEmFSiROIIgFXxmLDGvPSozvaCyEczjNjXNMoLXwcHVylkJdcyJEPXnvhcARnj", "TGoHgCFRXlihkuStfOpZFEjMqoUMGlOTkwEMSfPesfDEuvhQXSjvYBgnxzGjktbMPViVNwcJppBYSRIcwmvbXKrNNGgoAsRzqWNaYmOdLzQEhOygnyIesQFLQAXnPoLGJEDAUvHEABZglSXrRnCkZXcJhptlkZTkigJHVsVFnTaqsSrArwYepdwkBSNhWrRVnECQjHHZxItnxQTtZkmMhpkZEoHlLnnOAUdPnudtnDZyehqurunmNxFOmbuDocankkBjFbXVkxwobtdQYjsRnyiFwAxlFwnQVIEKfQYywXmycqEvZbekpaSJYKQUAbIppXWNCNRMSVOIqMqFOiruoEhZskcLubiqEohtEQQMCTQOOZyGuwtxZqmPhJtMzytxfEeEHwHhlnnEgLymtaKsXKKdSDnPuQIsScxLPLFkmcTuDUskpxZhOFZvGSldlbrqGSaUmzZHWZdlNOEQkHgllWEQRlGHgvarrzADXSUZxIpbzAsHKBIZMpoAOnVGbvLa", "ilRuVxVtIKiXiYuNdjPItnSKVjGFjTCYToUhEBkLeynyDPiqHltpJcABcTVDKISGHKBTfevRwzKcsfxMrRMRMojQRIdWzwuPTLtkojUYnNGmqgDUrHzRVnpUmtthOcmvjmWNMqtOCSPVePLdhHFWLfRFVcUTeUDzaAQDUbKzUPknFqTxnNqmncbdlLlmmccieuMoOarJgGYwguPvWVmAnRdiQtpSnDzCTPqvYeScCXdLtOMgcURXEqyhUxlVXEZGwkUUUCgKxztQHEvVCmilFFMWqeWIQXmzXfEcUbZYiAfzBIFYJiFtQNqyFtobKOXbYBTCnEmWItIKoQeptditZgscoyULcdgDLeznzfdqhFQodhOYMVGEUwLpcRvUqEZtNivXZoeFnQotDyubfZFSSkMTtyKiBrZlkbiBnocNxhgdXbDjefxQCzcAKqBGbgQNKCBcajUwdafqiXOKiRmvRVHWBxSAFTKOsBFTkKqtVwjEIMpipnHQTVupfLsjCCAd", "fcZAsPJyrepxwuoxzcmPHDxbWFtBpKPfIuXFZMmwjDCJZxvzatmPHtamPlZQUufyZydGnJjMRDqWdbyqTwPmxjluRMRGtkdkzwqYmOdQVOTVUqieTLzGjuPyaZWItcvBZaGYjHVUbgVwYmyGLerOAvytlJAtDaFKirwoyEYxVdgdvbnRMYYviJqqLyyDQfoQAxPXNBMAYjYSnBRsWDTsPBevAgbqcbzAgqHiTXihNGpHDsErUXvhHkPktodGZYSFiqKsAjkXANypDUxcErDMzWsMbvCnsMQKzSSdFUkuAQZYRpoASKoRFIkBwrktDJXzJKhifQRZIcVgsOsrUOgkryLMdrlRxLIhniIWOBipNOcAqScrcoxaRuGZaoSHWtkbZRHEndmHyfZviXoBesrPWfJSJlGccQHhHhKqDnHvmkdEmmTjXfimyuBgDbKIoVPOFhxJHogmjrAhfzabIIzqApolxicMKCeLxHRDGUoTWLHjwejIioLqGaqkowdbfjvF", "tNibwVYesXxXISVAxtuhChqRyjMCPsFEVUqJJCqPSRSHOlUeHafWoKJdTWUkLAYuwIyMMWtQKupUTcADFKtsQUkkcHwEnMxcplBekatCvmtMrDEqydTZeZjGFfsQQGXombGuTINnehitADsnOYbkMiPfBFxkLaJOSlIxCeyByXlGPLPBBYkfRWEGhYTNCObJdeFFMUtGCneHVWWpbkTNTBevFfGTcrLGpYWIiWLmZLflxmfoUPztqrAyEhWuAJdumaSeMBckdsmMsKzHpOyYTbnnDjCvjGThIMFUsFfQlyUuHmKhTjgkGxSVRJmezlBRScfcHqpHubIMoLheuMtjpUYiGcbNriOAZVzKjuDzwjXuUQnFuQFgIntrrsyBYBdVnFNfqxMKtVVMNhkSGISUMGQwPcygiedwQhivZHNhqHxlzqjubqfibIsplpfplsMemmmoOqGfBxIdWEDkWcYezHdfwdpdlDGgivBxTsoFJlgEBBFuMvVnPebesUtcDhZD", "rFNcoUUPhgNaQSOfUVNSktLHRlShrhmyHkDigQGLwfbQROlKkMdvKVyETfpiHeAIkrsfOkWcrJxsekuaSwJjbcAQBYSYxfherhErlUVfTTpQmVBiaLrOmlUZSXWBBDOGPOPSBDhHsitamdPZoOkTIgOnzloJDhddChkXWtQPFszNjIYMhnHviahVnmQksRpFvTqaSvlMtLBfLqItQfUjUgYHgHKVPIBwciaDoiSrYPMAyUcYzRUrLAqKqvXlsyStatwUTGdFtkOsFgPMOvSSKbziCjSKKcRPWeiNYEqZToPyZlHLZFUtZnTlSCleCzZfhIZKxhmQQOzNXTWhYxjpQczGvhyleMlArErKKWfaiSDxfuPIGFolXYXhdYDGsVjMovaGvrJqcnmyDqgRsjJvvwLxmRsFVPjcLDBdGwzdsWtRKsRrbhLdYbGKZSrmuJtJfuluxLIpPlAHXLxJrqtUaZvVqSdRMruSanBmkehFindgxbYPGaXnOhgCZKPzmFTa", "YcLLMakNrLlzYGUQmuVhKDBmZIXWBOsvlkjyylpvnZqUMIrAVDbVszIXIEhroIKucpjJVmnPdqXjYRgsMYDPioJBCEqEfTSOOApWkSKFJCHpltjCCnjFHCQXKjTvVRQbXXocgCSPlOOrlwrEHiPwiNnuefkdblaoNuXUdnRkQKWsdpIwOoeyHeEfnmcMdKbIGVoPFQsOVAmWTCDocCBZyCgzdkkmPDRlYZogsVMoZOQFwbANdbRYIIbDtznbrTrxcSFoLfbiggayudqaQTQZhrSaqdgcnUpHmjdTtmEHyqylAjFNfydYbbaYfOBZQAeUxrulrnwDMcMpqTZENXEfnEbhDYHVvMCKUrUQRYzoYogVEwQaEdTTdwlukLqDFSLBwQYWjjERXKQOkrfRsDIYbVMlelTaBqCkMtnSYOcmjHtmHfAgEreKKeNvVJWvRHfnpQWmftnXGZmwHHzRAPiZdQMFgJTadSYTmgjQjQhRqvjisNTizVUieueMPAPFJynN", "bjtiwEnUbZCJZFFBlfPAqxwtFjgAkPiEMqPazxhSHQPtZOjqqFlmZktEVQcjzeNpCwHSrmNsCXcrkEcvGoLDgrffOUrvwrCDZVckyUeDWocujIbVEUELMmlwKiZDtczxzGEbVQrAyhLXsBOvQfYvbhKqRuvKEFHJwXvIDSTyGtlbEwpgpDayciLELvpRsiFRSNSibKrSsCfohaSjqKsjueAzbZVZBNDPJcdTxWiCLydAbCSCeUCFjQpTtbMVhgffOubgNDDdixcuXDmtpZxngQQeaGgtPnFCynjVjqvrKLpugkYHkyjiLncptglYQRPHjhfIGvzZNLbhcypqGVxuJcWxnBdHzfBBuNVTUpyXNRjFDswNiKQbEMVNGglAXsCGOpiYhIPjxWYLynXXUjZuerKbrYRAhPDqnMBDbNndihyPOefsDcmNKKMiWnkUfJYOuqEsbCSezakssWUDBJQxQdxDIjowrgPdKFONEmLfhCrIcTmDBWBAxkacRuZhrHmc", "mhYiimMnZkSQMDTstuQtjIErGqzcCkjjBlBzTNnvVMpVksntIpTkkrXirSAsPqspOQnmnJUyAbxWpjaZhFnnoywDLZbLfyJfVBMjDZnLTthtNYKSihThioCLlnzVojCEGepJMiocMAajjRHuRGfphTRydEKzJmRgmUWsJYOxAgUROikvETswtaiHWTDoVNDuJFAysgseDYgSMVpbrvqAyUAWXYzaOhoaieWBcRefQzLGhGOgEldMkKpXxIchyIHEVKFTiUSCXLZuuhGfsfinZEHGEdAnMvxlSLhVrnEwQwcBXJwRctuSvWkvDEwosjRSbVwXoZqeufCWghfkKcpebFXZHNKIAbmztOFqhybgFeoVUlblsLTBfZxgXWXhWhuWTXOZDpnBCinoAUBLDSWzvncKtYhhHwcMajOSHLcRquLNDPsslPXToIVvherxJSsNVDQxdQOqBfxlhZAgzMfHYiTlYQLNvyywmPVdCcGvUHkpVYiezqLZPiPWiyUxxCdr", "JQFaMhEAuvlFAgRpTJgzqacVYhINmncsVQkxWFXfWxHXRymesEzLqbgaVSbWiynSDisAmByyOUjDriiChBRVkfaJgAQEPwgopQVWyljJRHQXrVKuMZZystCGPwTzjNZRgGQZMZSKWgfQcvCPCEbszckxcEiRrZviKrQegFZehGrKFBHToWqRKsEyxRxZhjkYyauNHDwXIeXpIlWUmqGvkFEOKSiGMnRJByZEiRSUGcCPEcikQetsBslzFHFrXlcqKjBUIkypCWAyjFcxMTsawevhkNbHPdfUcDVEqQLFiXkHoyQEtwJUpKHFeIVcHDaaqTUKJjgXtmryLcvNcQMVqyfmyWyfXgNqYnQUOOsyAZGIoqnZeOxkULVCUEqmifGLGvZvFuBdHMrrQrltTLoQAcDZHpTaebhHdMxLkaJSpOWeeDmaoARwUmzhZufBFmJTkFyeYrCbEOIeRBFDEJktAllnJWserwRRYijfxBXiCRKoDNaPUSvfyzCeOBGCgoca", "BCFqfZwIDpYwIpvArYAnEScEklpcgUPCDpmtWyhlmsdyVzxsmNhcSjiwmxCBkcWjThPyUdariuaSbMNGGrenSHqDjlZQWeJtpVZVrXbmqxyIWYrUOWyzTpqNOlxtnBDKQTtTTCWFgCQutyBlfjxCGCzOFMfcqTLTsocuUHRfVKMLmQUnfVnDZMogPybQgDEuDMcjuInqHJbJnKulrEOEdQZqHCqbdoITbWYehdMYhtGqcYPJMmjqCIYTvXDEujuomOZGilZsplPaMYiyzNcOAFDWTBelIBmNJTmVDMDByURuBvLaYxNmLrhtlxWiWnFVMkHLpEDheCPRkHlLsreaEaWIjzOoVtpYRyDjpKejstdKFrQBIKBHpqXqaoMgujWjofGhVjrZJEbeKGBLxtaMzWpjlwMUAJZPOXZUbXmxeiDLeUYTxUYDalkMWxQBiyTNFUJzxlVdSsxqaxCcCnIPJCZmwKrLbITxXUQPpxCTVfqOCJaiVkMqbllgvNlOFQjK"],"c_array_ipv6":["knALvPwJNA", "tbdlSStYFN", "SWAoXYUPrs", "XjBrbBfWTD", "MPNIwgrPYd", "JhcGHFBPoY", "juvnlbAJjQ", "ouxCGbcemd", "ApMvmODgOh", "SRWSpNGpgr", "CWiVzNGTnc", "xEdwUcmluL", "QfTBywmXnh", "lxWtVLTBPo", "UZPyEStCJb", "rOeKptMsBu", "kOsoACVEUe", "xfGtYfTAfW", "fRLzllLOgA", "tsVdrTqwMp", "qczxPbgEfI", "mLiVqHxZFs", "WabvIYdRtl", "FgNUmVlGHE", "hkrsYdxdQT"],"c_map_float":{"c_map_float_1":74.15107, "c_map_float_2":25.568325, "c_map_float_3":47.401245, "c_map_float_4":68.53047, "c_map_float_5":15.094284, "c_map_float_6":26.782951, "c_map_float_7":27.632677, "c_map_float_8":77.19572, "c_map_float_9":53.64952, "c_map_float_10":55.67702},"c_map_ipv6":{"c_map_ipv6_1":"33df:1db7:8157:2949:9784:6c77:df86:31e7", "c_map_ipv6_2":"c86c:20e0:e510:9ab9:a48f:a9d:b941:7e2d", "c_map_ipv6_3":"779d:8152:4178:7b8e:f347:a70a:b084:fe9f", "c_map_ipv6_4":"e5bb:aad2:fec3:89d9:2701:c069:6e58:b41d", "c_map_ipv6_5":"350e:dae1:bba9:b53a:b2ba:bd32:9470:46d3", "c_map_ipv6_6":"251b:35d4:d934:57a:dd39:fb9f:e2cd:808a", "c_map_ipv6_7":"7057:613:1e08:a83d:ed11:1741:1f17:aa4e", "c_map_ipv6_8":"3022:a23d:3b32:f68e:cb7a:743d:11c:72a3", "c_map_ipv6_9":"ef1e:7e67:cf2b:d4f6:d430:eb4a:d65a:7800", "c_map_ipv6_10":"9b9f:9300:186b:363f:6b81:ded7:4836:b61d"},"c_smallint":-25569,"c_double":54.182667499135384,"c_varchar":"are","c_array_decimal":[28.1411, 72.1759, 75.1602, 35.1919, 58.1494, 19.0350, 66.0575, 9.1975, 86.0591, 77.0248, 63.0831, 28.0005, 98.0393, 80.1004, 65.1748, 43.1838, 53.0752, 22.1307, 89.1442, 69.0771, 21.1927, 81.1021, 17.0684, 93.0731, 68.1891],"c_array_float":[4.249368, 99.93782, 88.29929, 67.01216, 23.502821, 30.495903, 68.59167, 76.67748, 94.79121, 29.962147, 47.46379, 41.099113, 40.508163, 97.694336, 27.45284, 84.76268, 69.12779, 78.318695, 80.70708, 89.38162, 62.542362, 69.64697, 17.854319, 55.801067, 19.470518],"c_array_ipv4":["NcvxGqEpSf", "BTZZfvwgLC", "RaRunVECqK", "pxJpuQvylJ", "bOtQsBWhDK", "IkqsgMsLhG", "sxdTiDCSae", "fRIVbxkCMl", "FJeiSlHXuK", "GyqXGdtvIy", "PtDffystVv", "VvuaKqupdQ", "zXiIEFizJP", "HTYwGYGdzS", "jqabaAEVrZ", "sDDhEjaSQz", "DHZbqmVXzb", "TxnqoRcqjo", "hGWTHzdRPm", "OqRkmPfIed", "KKzppyycBs", "nIhYWjEDbR", "hLoMnXnQTC", "dmDGitprmN", "HaHMQyPbFH"],"c_map_smallint":{"c_map_smallint_1":30829, "c_map_smallint_2":2351, "c_map_smallint_3":-7973, "c_map_smallint_4":15011, "c_map_smallint_5":21231, "c_map_smallint_6":-30522, "c_map_smallint_7":-28159, "c_map_smallint_8":31946, "c_map_smallint_9":-30044, "c_map_smallint_10":-12936},"c_map_int":{"c_map_int_1":1724989761, "c_map_int_2":445570804, "c_map_int_3":1348705158, "c_map_int_4":1367060635, "c_map_int_5":945648703, "c_map_int_6":1532382420, "c_map_int_7":-1156725917, "c_map_int_8":-347981752, "c_map_int_9":525401103, "c_map_int_10":-188801025},"c_map_largeint":{"c_map_largeint_1":-4603522278529703607, "c_map_largeint_2":-4429362933376341618, "c_map_largeint_3":-7013371556521068823, "c_map_largeint_4":493577378241995395, "c_map_largeint_5":-4504234420201360661, "c_map_largeint_6":6132570054932091590, "c_map_largeint_7":928838802576360209, "c_map_largeint_8":-6121483734423189204, "c_map_largeint_9":5944501356896443434, "c_map_largeint_10":-5897249880354765065},"c_map_double":{"c_map_double_1":66.0125238971102, "c_map_double_2":35.710616533093784, "c_map_double_3":82.76531775584445, "c_map_double_4":1.1899635187730566, "c_map_double_5":10.9919116545328, "c_map_double_6":47.599645089385966, "c_map_double_7":49.70724271694221, "c_map_double_8":26.88207943245096, "c_map_double_9":88.7444033208774, "c_map_double_10":47.44116677048523},"c_map_string":{"c_map_string_1":"RgfwOmyIFaVuGislrSsEeSzINcbwAtzNiRxzbTLXOCDkDDXtOHjJyTOnbZqNvVlUxxgWtJHmlYauqsCxUdHWYdldhgwjKgPnOxiZxIKGFJUvGYxwsSXWSDUIDIYrCdNswpqDaFAOZXjkSxOddCFZfgEoMfxXAFIFzjKDbdRqJmmKzrdmBbVJIMlRlcGcclADPZnnUifEFzNwNbbunMeRIQHofJlfQfjUuHFPTXflSHAordBzMMIAciDkzhUMZMqfgOdULpwdSlumULSyoujPicUeHtTZFsfqmvoJtONOOuhHymNmxuvcjuNItlBAaiuGxYumrWKRStILFCIGgJtFzLAGkkVFVgLwobnLdruXUJNfniyvhfhmQytWkbbmEocwYMJlnlDANXBoQDELOhxJcZfJpLwaBvErkuikTeeHlzNWIQAAzbUIPLHPmcTixCqsfTnsACYLdtrdGqSLAYDNIFHFyqwgvIKQTNCevXIGZMejNglExtigoRmiKkomuOJk", "c_map_string_2":"TLoVXvczYlrCUqalDORDnlEOkeYqHQBptbAwRxsaQlepYLGTIKzSkyigjLSYrgTGjDRikJBbfrVjZRMoVBajKemKLphCnEJdiHlohmqpNXcmsrhdMciwsLFXJfqJreZlMejXKQkhgPgbgroidDgVtHBIaNcKJrhpWisvXWglxNDRoYDzBWVoapMySXbvWSqKqnkzyeTpGnZetOvONiDlWAoQbylcNVCGaFYgLYieqJCLowSJuTRlTLRFoHuDAnbJHdvfwXsJcdiziUCCPNbjvwzPTHRBlujuIfVTYwwGeVrzlrNcEIPVOotcCChqaAoDgsiLNzWCIgjxffnovOgKXQQzXUKzSkZGPjBijJnRmhuiCOknJRGeLXidTwjZOaVnlIbaxedenwqWcKHuJGOAFGbfVwfjIAOrPqkwWIIgkeMmFzMTyOTixAPlYvkxSXnpGuNXwnSWUGgxdEhgxLuCElUDxospOzjJCTDCyHsmlsOnFhOpQLBEDGfwYbIKSKHl", "c_map_string_3":"uxVdNCBKQoaNBNikRiRJKJXNiogzphQLwERWCZynQhVrBveCriKzNFSkiqTLtzeXaUDzSAIIyTyyyLECbSSppCyFkulTBfguLUcGouKzrNGuiJSzHgZuYDNllMIViOirOfHaXJMSIjdSAYmyymZbpeuiqLNtiIRGtZRgtlWDLTZwmBnLPBEPDIIzxUyEaLdCFTHePfHDiwrfShDVsIIzIcFWbcKUfcacqrbAsUpHoLvOBTeUiZFIifchYvEKCfTARaROPspOBOQApuQJVNIypLnJGBVZMBoTpvbtNgyyywWivjuqtTIynqcFZVHKTfyxuPJZbOdnYnraplrsVePPPlvVdGJoudiaISRlLZQMPfyWOOHzURPZOCqoOLppLSpHnrrjmtPHyymyvDWbFCmyxebuldvMuZvhXIDnztRWqABTRifkdOSeRkeyYUzMPMRieuALGxztRkNCxKmwBXHuVjkFMjCfmXBihtnzOFpgCOFEBXGXHPfRNRHsTwvlnMuK", "c_map_string_4":"pZNBIFPrAzkbdQBtQvBHwFcEmDqyZLRFHOOHXeiHZPcDjcuYMlRVDMjBbJHzuJJFOMRMRvKYenPJNbxmOLDwatGJTPZYHPVMwgRcJNXDkmGPtgwApOgpGQfnIPIiMelIuMNGnjdpcBqJJcKHBNMLZPqaKSvcqgzjaqFOZQcmGHZxQPjzYMqNKYqRnzgwUBoXqZqQDHLnfoXzumJGfShixUKckqxEZVHcQWJxBjNsQkjSOdWeHYsIyxcAEdCFwJgWaLcJTmLcjQTxDXdECyWnLrcOnVRQoVzyFcaOJQWWEqTudoTuNluRBYAqCqBgjRTBipnhEQLPOcLJRaAPIkLmbrYxtwzlzqOnOmVUwvyKzvhfZplpozskIBWqIkxwurHGxqZhJtEpTxQAUxryQIHLlVRtmdVElBrXlCWGqTSzFmOEcAvairVbsDCFUcivloEQLwntmOyZeQAYGsFjfiNivqhtRDcEgETUYJNplqCiJsmhJIalhIwhlulEqseBcjQj", "c_map_string_5":"ivXvGgyyUumbEPehepZojWtcLJhXucwDSgzmKiAbNQYCHYDjIStZTERPUNJMQncRuQWErunnJFebDegEJUEVGAdeSwDrwZXZyKtiPwVSuoDUeEbekhkmElaIvAiPyuFVRYLpRrLZnytNhKOZwsLZHSwveOfJzkqUGAattKzYnEXSsWAlqWKRbzZJPItXhRGqQTKWOMsMMequSdoMqBhIXliFeKqiOhMtOsliLMaEPxXuaOQdLBlfBqgZQUlEClnYeCUyAAYJTNjdQGRARiwppvFvTxxiYrjfctlsbPFlHUgiwiwLPudgltojFTTBOTRCErKWYiBVrhrUrXmOcxirUeaSdboaZLSUmjzvASdVDgjcLLsUVYPqUivKsdWEbVXKZiWKJpTIPLnTktWleFKzwMPIBzlakYSpbWWDXEFHdAZZskjobNoYJRHKksRvTqipoXNaZJSZIkEjOfPOoGsPEjBaovSjDQHSpgiiQVqLFnEbeJjXZpeUTWLWrXGRzGCu", "c_map_string_6":"iLUfUdQXSIKjUyVGNWfMhonhSMadAZRjyMLlVMyblGhNJsdKFWnzryfrZmBGLBSucUkHahUXRZtfIyTuEejrOlEJbzZnxHrkHIMixnSAlgfmcEvLosFZnFFxErCDVHXEWIrVBwypNzVXZsskmhlCShwMrjHeWFMPqztNTRyLCqpgoiExbAPOHpeEWdmTAKiDKEaIVfIEcKHsDiWdmEdogJpCfNSTGfZvwMWJqkkkpnsWqVTtRYEhBkuFNGBWbMjRpqoCvUIEInvArDzWoiDCIsbFRVOrXwTXdKVGupwYSgWYQkMhedXDuyGaKCSDzDjhilxqgmDgTMXiiIVNoBwKNKDBjOuHMCKqlmtgTZXzQBGfKcpgQiDfivTRElUOVaXztAUOHufuycmFHXXlWIWeFuqxlXmPLqzTwzpCqOtqpiYwUGbdAxcsnyHCqIEGmIKUHnQjfpswJfzvcrmniMxAgvhhuykNiSaQVJlpbTBPuvfeWJZHqNoKSySMYuWAzBqS", "c_map_string_7":"aEJQRslnWXdgDhCgAhCVdQGZJwONngAUUHTZTZGZAhKdxkQSzSJibKwhskkuauPnoGIxXcxrXibtPwEFIZMpwZruWsjgnHCwjgJUrqzKqFlwxiwKvUKOJESrmJfyJIyJDScOciOjktRVdLURBbDDpDeoNCowxEDLqpqETFiaAdJyCFrloyoIxWnqWoLACjHGPkNmUDzxBRJnVhiwHKWJrYLhzUmcPjZGPLpeAwgYcdLFAecXycaXSgwafMRKvRBQxqMyamsBOqEKQLPmhRDGfCkugvErUOPLKylMmoKTieefXJURnXTmTXhvkXIPTSnkAkiSzdOZyGskLgPMWLHnfEHiZyVrIqXfKgxpzLzJBgjeXtzxtRFrGODlusdlobVuQwmmfnFxLBDVRdKDRzvbaOudDcAqdNhKQqwjktXRLOzAqzMWOyIhqGbdadIBsESiUIdhtsgmnmRzWDtmYWzopyqzyUluqlzEuEdyaBfmMSkFLpSRzLdHHHlUucmpeLYB", "c_map_string_8":"pKnKiPMZdeoavwcEqAJsBpeSWmUcWXoiqzGmpIkhMHlEYASopAtJpKSsxLCXxkiNIBzPqtVTyPErZRFbSBTflCZPXFgutoSCVItTxyLGyQCyROgvAGcVQEZJveKQPIxxMaSaxMwJQNpNQapsNbnCqzqnGNJgKsxUsKMfnfHFrEzngFanmiRBQDiYBLDtKqxScgAtqaoEPaYRYgjjMPGaHcapMjHjZBPIreHTzUktHlYeGdWraFAZlGtwuPfoynTJKxQpGMwvDvvYFqtVHeQslnBEGUmlKuPYoQRuIutpsTRJTDovnxLrsrrXzjZSHrvdWoeeITVgFbAREIdQEBaOcvEslWxBlNiyMuQeaxOBQkGKVYfzqUBSzjBWCjexeqPNEXbeHnbBVfdFXJRJjKqVVKKMWtudmrHulanFxDRFalAwsgWDOuNOhawaKIVkQMLDMzIffdsTiugnkLLdQZisHbZekQIAQZcWquygRBovdPjjkCcsUFXnjUfercWWsHEM", "c_map_string_9":"CtULhAwVuPOuehtemeFecQfSYkGpeIZYiEqStNUYNZLSdNARKnFwgRodiKBAtVIxrSOTfOoZSpkcVNjrCXLEZqqbigbbnectPtvLnwLSfOCfXulxXYoYZAEpwazLJrHKruiMTlUnsGkrbePuZKjZyHrFaWcztZkLWTOBeLsyZrKPBMuscsbvshRqtoZZViZOPhtrYHfFFatengBmFnCOBEFbLZUtnGdwICEiIUuqSfVgDfsoiCkOEtYaEsefoKCBYSqtenEENBAcptiDYErrRXOEjRMBIQgjYhGNiLZlxMYXJSOXTVgjTeFyAVVLQQQfdsCLePxOXoKkMBwIsrVhuDKUQzhRddsvJbRadEGxMQiZIaQdtxgbUAJHYtkeqZvAngwQkClBmgbVKhokbamjziMFIcszxUmfcgEVteYgfShefHTUgMGOhzxzwDFFUqIQPCIHNTnlTvHKNoDdDwOIWrdJQlObYempXECsawtmtPvqgvkAgkKBIPsNEgORSWya", "c_map_string_10":"trDkWjOkhLdVwYmDIZXosZFMvgbMNHQjyqMQcBXAllnbgsUszlYcXhESmDgnynPItywBKyRoTWwALEizkIzQYeaBFtgIxRXyCFAuqQanpveKbttadbbVzjTGjlLqIHnTthDCkoMmBiWxVgJdThrjctxFhwpkwuucpUpGxtRGhovxKdCFDZgqJtmgLtiWGGwlcjysnjIDABPPtbmbsGXflMyQtlVrKLNUBLxOSQvaYZYtmCrEDjONxxJaRZMPjGIPVsOfmzypHebKiqFaxRhxXSdvzKMtOEYlvRSNvHLBlumpipZSrDFvUAHdohLPRVLhmNoyjDlqvhznCCzOQGjXusiFbhBOqxZrxwSnjvjLCMWuWDDtXpcwecttFvRnXepLFSNEORFqdmIaceLinDTMhzNFkBZMqFskySLvvNqDkGoVZWhwwDseyCEeaIOfaLbhSKjpwRnzwqostxjeMWAPKGGuGmegijgFbdMmSoSKcrfbhAsgVaAGkBVtltZMITae"},"c_array_boolean":[1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1],"c_array_varchar":["ExbwiJdrOfnZdbYFERIGPbpeosGzbFkMdCLORDkvjEkTEwlNuiPAwQROuNVQEDkYRuiOjPfMCVLfXpKwrzGqLBrekxIcYKvfTejMDbCrTiZVaGPDryNUPnMDtNBSJlKgzCMXtGLkmZAvDNzOuPusNCZVhlinVdaZzmvCugypmcQWmNYeEiumjlYzvNLQLVWVDbLGjWKbUODvvkspaDagmlosdFnuuVKbzWDCNPlTGCvcmqyESCoIrVpOHUmgvELV", "wxkclhHHWEiJovEXeJCanSQUoEZcZKQQchZnYVgpUnvTpkIBNNZtPTMfJyvKeLiZbMhVicPvaPbrovRfHpRNMYOgPoLtQQpygqSdTQZVHmWjjnvnPirQMwBrAWOjHcIPqzLJFrmNmfwxbfIrVkEcxGYkTbYdoVFUPQijTUqcvNwRTndPOXqGJdQihaxDGRaFKzseytcDbTLKGnpDklpeFcArMALNUlDqzFMpdncsHuuylNMTBFxQOdbLKESZwjCE", "FEjeCFuYwUiSabNrTTkSIGldLnnVMSapgDBAFYPliKeYyfuewZfMgaSeuLuTvmCscmGzMDfyMlhTgJWdNVNKpsidhYMPTOCEVMANdJFdKxVHAHYsnJBjeyYgqDvRIxYRdRjsmRFTRloRdZoHhaITAqNOqmkXkDNjDqfsGpULixPIKDeciyiNGwyuToIjleYWINxzdhEAmUOsnqxAvbGPcIMRUUenqlPmXsODYrZPOaYEkYahFitYnuzFblGnhmNa", "YKFcjwqCqwgscjvIjcfAUEFKKfloqLMPMsjbdXlJszSAalDfultcptOPMPctPCqVpmsUptyFxKDagccSPEcnQciTwRarbqoPiviqZqoEibIDxplXVkSdQDiSNebbTussWGhhmtHsnXDIzvkXBYGSIPVDbeFlOhWMcvWWtdRkFGVTAedsmiVWsvMRTOHLlNZdEGdrzCyIDfdxEZAkQidbnetZhhueGlmxKFqwtbcsFfudbtXfddVvvVVyUjOsOXQY", "rlNqlmblaPJBsNKthrLaEoeFqBfUrLkewpKYZuuSypPBXddxLjFAWzfjWSimxngXrrHASgtznqevhITSsqbwsCTSlAWAuiKzxFwODPXNrXTooFmIaIhbQAmZeFpgdHYOrWqbMxyeNMtgCUkHdEmDfVrVlrPcYKTDomSVYkajgEpgkxCEQblsMljIgnjPpEXijyiRCiPkGLUGXnTaUEpuiSrqQOKqYBvlICaixJRdvCloSgLgdwyRkhvCYTqKeXsL", "EVTdOStQirXrymwXCWbubWzfGpBROYeZMzNJHxywkzRotqifAYWCuDSBHtPyCAabrZUIbcWaRFeVGsyZlDXwGyieOmHlohZcvXXxnThyATbsbBdTUCGIhXtYCPaUvIgdqGfgTuIEwTExjoSPUPFwviVXIIpSIljKVkvjJuKZDewFKGsUDvgLGHEqpSpMDOKPGUVZJPfOmEDbKNDdSdgSbLGCQZbfYzPdEnSBJfGshMXEEZKBaixsyVaNLAywQWDb", "UZEUJZxXbfLLNRnxJFLviEWVCjWBVyujBTPbeCukliSJKDpWaxQSKKigCBxBNqRLnVQNqdrpUTqvysndUdfPLcQdXDXUjCddfxYliBlTUrhbeqcUEetxsEULhxbLaUnsnwRSfWxvqqrJwXgiqGoGutOxFVvmXVnSxeqcdgbAEWEuLSEoiFiMnciBBuLopvlKpBkuiHVBPePnlLsRsLWrxvRTTPVBLvHOZgCeFZmPIrirQCiQYTDKLUBBqahFfAGh", "SFuLybNvnuNvlpTrrZTkMSMsZiIQYyacrZaHBjptvCVQabcXAzFFtBfNRqKnoRSvMEmcojMRypMYCXimDzilGYkkhPeOsHBCnLzalcWciJSXsAqBINgfazRaPNjSLIbYWMfiTBmjIEEiEMFDtErolWzPjEiXrYdXpLzjofUDhbWWZqqeMeDlwqnXibFZSZAtYnKiwyedPiVFkRoHeXODFwrpJFaUMCkLkUXPOFAMvTNxfcHFCRNYflWodTXTZrPA", "egIWFcBQJSRxddsendIadAyQbweSOSmLxKfoWnBjmSrVXkYMkOwWMqpgPYptiKrTrTdWWnLbQmtTtoyjxolEBGubTTcfLskYjkIkiMvJsmpBduUkoLRDwWTNnivJkRknPYAvyHrWYYxHDsVVUQLYtqmCaxRbxiYBDIOoCVwrNFpmaoVfjTESWNRnxKcdooGzsayYDptnINcIlcmhCqGcOuDPnmYnBMpDHaFPyfuEWNasedJFIJslBLASeTohmNBL", "dKniTLseKXMDIdIhXhcPYTpxxHIWeFeqIBzcqabOHLblKDAPpzdNiUTRSBmEznRQAeBjrNVlDnFTxwXdWlnsPHkOkdxuaKIjvgChJvjmrtbQNxAjybRjvtZfKfZaYBCSLRUFvoVUWHlyjkzwEtKnmOPVPoxlnoamubjIsDkhTshxnPeFUMIcobaYknUKfFWgXzBjLOSfFeuEzgnrqKTZriTdYKIuYOoKYfNRfhMFtfXhzKhhBsotTaVRYQcLopGV", "uvcFKuWywUMtFTYycVSqVxPnUnBwKIJwRdyAOxRiMcUJItHzpcNBwamtLpXLdtAKEodBEcoQVKrOnMMkKlLeSJUIGRzsVnooMFPTMDGxlIaHGkwXwAMUtGHAlaDpoFUPSTDbsKjjEqfTgQFkAAJhRolAIHWqQiAOGKOHpEvRvzJKRawiLtOJjlbtbHjLkIFYjmqJAGtwFKYxBDgvBkSpGLNSDjdbdpKufKwVGyqqCuACUvrrIOrhdzkVDQnYXqrN", "pSQnWoBroJEelHnUhxqzZwHdFiCgMsuzrfdmaWQbANeUYEFUHMvzPjOjfHPMGOfaAirpzTbMjBBNDkRsDsGhzxfloOpkoAgqDRUcmRYASLysZAdIaSEBzwgAXsHmgoUlAfwzIlVplhxMokSpZqpgwzHItegHMCMdtZWRBtrDeHziIuziSXGqywtqNjocklWuokjPnZVMKorrEeTnvxDlNiEqTPBimfirmXLPZbYrcrOCedeCywSOoWeZryhpXQBB", "kYsHkpOKmVoskxQzJsmdLYpkzvrwHjNjtEiruLhZmtkNuUTLkhBiIOkLYVcDuqGeIdrMbloCgjwvZmUnxxQtyvegKssmUgrCIGImHOINwYdHCMBpCMYqXniTRdeEgXINsBuaytLiumLpGcvDSUqknrNAkmATnBCmtiPRUdKpbMLOdCHvHnyQFMfrrhBZABjhvWCdrZolNJVrePuWPEOVzhSjUEvJYrrWGGDovSHYHfOqqQyfvRYjcdQlInsxNrRf", "gdNsnprdpbubPWyjYQUTkkjVprLtXfZMNwKJkKjaWUzrmnUrQZpNdXwPmTwiYZWaofxDVttmVvySFJmZHZhElLEmxPgynpFwrQfOcESUqDiNYSxoNtGlVrjqJEAFCjfFklaYpBhLucNjRDBrTVXuwdhxUtIzRcWJaTNwWVqMfcuBJekazLwHZpbzpinzxWvzITSWVTbLdLcqFFNfqnsdrlNhZMTGPVBdcvXKXWkoymywjDzhcWJxpsoEVLjerTlJ", "DjjltYcCJVvfMIKAUCaafXSUNxuFuEdPBRvLFXBRanTZZDKDAyfHxVEkyScNKOTwGTLwmnKkArXhVyXGCnVozHvFfUWPieshvSAUvhNvztsLuivZLQsdRMBgrFnpIqMdRZKJNLiHcBCcKaqQLmvyddQPSwlzFlnUelnfDamujvkwoRSEQqRazKsApFSelXeDGJLTWbFLIIpkDSJlmVugCkeICgRCMKoHbqECGmtqzfZprXylOOTEFIBCbaefTKSG", "DzliAnbTyhkvXSKhTyoCpeKXwmOlIvpfDOduNjpftmBzDspDZtfJkYEVbrfrtSqEceGLVfpYCGWTfjAigomLOtmRMmlJevmJzrBVDCtIFzcpSmuNQbISMeldqvwPAcGuLFDUmdBUpstabNUorWvYLrAiMVJahIOhrySkLOyEoofRSkDBMDFSAHrvwodnViaduVTCQmpayEfaDkEGMXiagBbFkdaYWaUjVrAxNGGwrBtkmrGBsbisrDxJaKJIZXXm", "eLbTDJDqNPVuwMCKOpqgpcYEbrZcFjcaryzvqPHstUvayEIcCAZdZEzHkqoNgwfYdgTSHsMVAoSPPIuiLmcwxaRIZVdJjpoEePOEaSnCJOcBLlrgzMHhlawvUgnwFoklKyCNMUrVCRDzcJVPPqUcZdBDvEayPSJECJurqBnUsEydisrcXSkeznKPxVDRtzSCDtlTfnOGwwPedLSldCIrBhYyGzcMoosAtbGnUcVezuuJxGrSrYpsRhVGoxYXfAZt", "QuqeXJEjMPAKdQdoFNieLociQPtiIRIELnrvDZreekrrPHNdBIrnaAKeyHzMTmgUOxtUrkqXPZFwRJeIqOyXXhVMXzrAqycdfJbydcNuGlDpuvwgEcenBtbxpXxOSNhjEbbSeZyORATCryzLCXYEtZCIuKEXogofNLVhiIFAteMrIGoEMaCzUxUXHiiUvkctIcufMPsDjunTISRvjTsxVyXdvFYeasUSFRccqRAexvYrqmEoNCEfRsVigkgSQVDy", "nZPMnwkjGNLigBtnyVuTTXxvVldvjimZdcukGCyrTIWPexPizkeEofMmjhhxtdVWpDqIrxmMFLfPGApITGsXkwsEotmDKOjfkQBdzgRkzCBnpDYJuajfXhYnlYvxbfaXtOERxLSwgLMQFeBQPFpYXbTZwuNQUjWIacHKexBdTqZBbaMUctSruDtbhOdGylrJtwSzesoBCvgJMCjJyWKlIcJQRaIDvypBrmXKXpYGHUFOzCyppyyxcUbqAVkcwsTq", "QyQNtHGAiQDTptlaZnhMETxQChDlIAuNxvEdrdsSACdPfTvxkAcQAjwgYSAkpebKbZYKLMvPImNQHZQilktFuVIWnDgNmNmqabrgBwPObMEqqSBkMLjAPAtSlbctcFmYkeiTDjEGuNSwhUHMaewehxzjHJpfEaDayPMnhJcsMpalwykDWDOAeBcUNkmiLvZgpmCgUrmPWtmwSSMutkbQgUeOkksSPTdkFmQtWuDhUnONyicuuuSjYmIuSzMZOrjm", "wktkxUJiXsCWVTNejpQWvBGTehoOwwfePaOqjjfiSUcMbXJUTMiqnVktLxBFuPAWPkaquujevZGMTkYdkcrxuSHvXyrSJtvgwhxhsCyXQhHWglRAEUbWOJTICUPIVrXuYlWWhmEIvWgMgQDrEfZLvrHSpVFIQgdtEBgpdKJAzUxXgRDuQDjhbAXWCJKwGJKXWoLgpYkiYlfLvMAcApwrfPZeDagwliBUkKJUmfCMeQLdSXjTjSoWyHrrzivuqcgN", "qGeJXjWLpprDesPdBQPSuEmCQOjwtsCdlgWByTpdTkzSvqBTvIcYACSaiCQOxTPczgoWlxMUibRBIEeeuEjmPziJQUulDVBjEfXfMAquAdMBehTMivbSDdSMqUVXicPXXoQwqMVciXuanvqNwjNginjxDAFjAHBbMbcorMTTziEdLVrfsPiRPyqiwlmphTkWIsMrWHuwFFPQPGLFLWxmlmtAhJFFgLjqqelLpKQRjzHSgbWPtrozBJpAEAxKZzDf", "OlDiJBbCVhrindynhlWYLpLVMjcWDUikqIfKWzJSpJLitlqFbbOwblPXCdAAwHxFHCUJMRehFcHuSMcQNTNrxBJRUOBLCWXJtTNCzCfBCHxUzdRQhGXwHsqNlfWlmYTKeJVXtSYKgzWtfkIFaTbSFWAPNJcqBOvAxGyLbMVTVqCksyVxdbBkwnkrKJZSEbamEQOBjQNXiXtrxfuNiAGHgtPfkIhGTOMKmFvupaWKOdmuRYtCmQocQigWTrBPJRMB", "gfeMmEYSZKEnEZIukVMPBxKodliaazQsfLWwwYtGKCwtHZgUuSGXLYVJBmatjxZlguuXrBbkixASVARcAbaDGFKHfKinHEtjzsgGVIGkRrCkdcVWPdWNYPTxyrDaGERdFJpzPKqABCZBQFBxXpHmByRyhjfLIIXOoLfAWvRxvChpREXsFpsoRNeOTFGKgpVfVSKYOoRoAsoDuFWBhlbKeZvkcBSFEizOWKzAYznclWMyUzDFOJCkRlBNefFUvXqd", "aYbIWnrKVhMdJpwwtoMgfvTWXOFGrUmrouWRBskTzZVnWzctoBmkUqLYeiaJAMQhKMNWRhhDdcZQZMBEPIEwKADbFaYdkGOtWTeyiJteLgjGWdbNmtleKOliwZVbnBNQJCaZjonxZjkIJXRLUPZDujyCiCsqbCrJBPRDxzDZBUJoHyzttZMcVrqPzLPOqbfZLpqeWNYaNqErujGIFpZaiTJsZIwYEOShoFEoYjjHRmPYQzYdBLMoUGBRZrPQYieD"],"c_array_date":["2007-04-10", "2011-04-08", "2009-01-17", "2003-03-15", "2006-09-10", "2013-07-10", "2008-11-22", "2004-07-25", "2012-09-22", "2005-03-05", "2007-11-09", "2014-03-26", "2002-11-25", "2012-02-04", "2003-03-18", "2005-01-15", "2019-06-15", "2008-04-15", "2001-11-09", "2011-10-19", "2018-02-09", "2006-02-24", "2004-10-26", "2002-01-13", "2007-01-21"],"c_map_bigint":{"c_map_bigint_1":4400042636166555775, "c_map_bigint_2":160661105324021098, "c_map_bigint_3":2868112779817238743, "c_map_bigint_4":4469321638655626178, "c_map_bigint_5":-3301238088836803141, "c_map_bigint_6":-7508290412379277436, "c_map_bigint_7":6761080490187462319, "c_map_bigint_8":2968076041402839264, "c_map_bigint_9":7307879104576298146, "c_map_bigint_10":-8014155244828490032},"c_map_varchar":{"c_map_varchar_1":"gwhWZDNYLMdpCLnINOumZscYkypZNefoKQwrFzTqYUAWbdVkDxHAEUPrngIeXOZymwnTfDcIyucEaosmtkmTckguUObcytoQzKsHZxlpzRbSgYFTcyxFrsUiGjrfahfacCsVmOmygThIUQCvlRVCoMOqoTMKpuYvgaRcapJbkDqVqwDOMVpILrtPOEUyfrOaluFEDxAzmaocRHaplcSYdFmxkaLSQuUBtCJJBOmZxNfkTgRUigRGClzdUWQuvNTb", "c_map_varchar_2":"ycAnowcHEPbyBNXBEWgryqooiFOSrSPaKoIxVbIdcVQobZgluTqBXPdBQDpKAgocssnRAMGkFKlANXRPZqZVyWAJnDiMpUZUBblDYcznzSvckOUNCwkvJhRCBZoCHhuhCsTsDkceYAGHMIUcfwhjVJuShxDppZjnGWhLNhoIuWeHQrBgaJhBJuHqMbLZkarfpbylMTDoxWPEdsUTmkpLKbJZOsWVXrhcGamDDfVMtdjjvqjnygBYPNOUdxizYHpV", "c_map_varchar_3":"QVZSyTslCeDXiUgzBiaBkdlmOuchCEaAWeQRlKTsqGBlPUQRSMPBkzMOLidchthCogRufKtovUqIbUvAbbcGKoMeyAorQshYkkuhwNpVbFgPgkDXVXWyIsDylWqrZwuoxlDaRMLtJoNRBKhEHmzwjOfjmxcuOOfSFbdJTPwTwNwfooksEQSgRpeXygumreejIZRETvkdNMdtJdlbVNcOuHIGAMAbFGKsMbtcalakPfaVJnibSiRjhNwFdkhegCzv", "c_map_varchar_4":"yLAiLscyurjtzoRluHgbcHxXnMDDcecSwSfjEQTAYbXIVvhLuCXjqiIMJzrFgddblyKTZiGMTRvQnfXpWzSlxvlJbykViksehfRhSAkQAuAjAYijQXniZpGgplvuFafNYIwgopiZZwwIBysyzrZnLtcucnualleUUZJSQVCmvdoPqtiegxzGjOAsyDeUgWYeHDiZNsOskjiRUxSrljfYhlcQEcjcxtZHEZraEoquYZijCXPNkuVxcmRyhIUnjfeW", "c_map_varchar_5":"SCuuHdnbkbnWtQHtBDkoWIaUxTsVUIOKKowcrdZcWRvgJBgolkNUOMcleonVCHCqkEyiTGxHmKtAYeYghqltPxQdQXNYMBXAagbwvUoJgYvCLFQQwUrZZYbYaflgDyeOoTvAmBbXSkbXSxTVulXLZtMmVblHQScakMIqRzxAOPcgXmcHaIjXvHphnGYDzPFFpZEJGcXXurNJjhZPPWERwnkDJiRcbjUOcbSpqfjtEskonOUUbetZaJvGxCFaejkA", "c_map_varchar_6":"femzqEXfYoMyOMFNSlhOoFkWuaackLdZNPMUvPiKDnSfNtPMaOrnxSFTOfDQVycVCibZDhDsRPZBXqbBggGwSUvaNDbmJLSHaSYxUiQZITLeMLgvHchyrWxvQfKCUEMPhRMGhKvZhLGDiMoawFcNZYpaUFgAItLEbrtrWCKLpcsIuRotuWdvZaiQapahbwKvNMZtmJukBbXqrCIlAzIxxbluTipNyNSUBusLSAwDUAHyHnZwyiEiMWZrVikJnfBq", "c_map_varchar_7":"BzdNaopFJNmWbCFZHIIMXwOtNGvxJshdTdUTxOWzJwFgmWVkadIenmtidJEaObhwdgfMDImvwMJKPRCVfqzazkYKHWsddLLGcyMYYCKZQsxLtIiGIzwMUDpXFYSznYYgSWeojoshylKQOZsIuIbriEkwfuSoCfMHMPgKOoabLQwkbVYZCoFDDLtadbQDPWuhSzTGrAubKeMujCAMUNhVEnlBYnleWRlurDZNlGaPQUaodvIqCpxYcVLAGajTwpwy", "c_map_varchar_8":"ckDWePzRAaPcNrwHdzomszZrksKlJkykRNuOxJKHlITjwYGUIYMeUdoWnbfIuTxOTxDLRJFMNrwXcOMLPgepvHAoZRcJzcGMksydhKxoxxmOxlVNgEupugXWVqDVdlHgcgUJrBbMZYEPcTMquiagyjtybaGdmRqAFyGhcXjqvOZHewUPhhqLbFcvJPYWdXIfvDDGGdHsYhfbLIEXipmNVrNnMxNgClnwjyZpZdfpYobemaYSwpFomlltbXkCMNjI", "c_map_varchar_9":"nZmWPrGaGgTJrzXQToCyfSCeGFRKHJntQdMEemIaTlxfiQIcpfBBKkeDXMtaDXlFBqFcAXuEYpwoGQKPikJuMRWOuqeDiFtYLtroxWFwlmPoRwaGEVbHtCzwhYpJJigvYjNCcNmUNGUaAPigrcPrrAOhYoVDhbQwcrttIUOfcUUpFmnBSMtnkQxOxJobFhIAqIZjTKaHJEvHGWcOHxJqsOBatodDUuatsnzNGmPRGQUSyhaRWcuzRMGXZWiTfNGI", "c_map_varchar_10":"itOufHfAcpBsgfLgImMXFsSTmrVjniCnfebmZbqbPPTGXXhwjWWxZDbBFcJvTKenMsSySkdvxnOjnTMuLVFcHvKcwvpiHNyiPIzDaFbvYhtRVbnFhwccUeFopwOKJZaRMqpdruBvaLgMIllbLGnEtCZyVhCsfpTwNfBXpRDWEzwEPLvPnRNiDusWwkEYOAdqFcbHBBtxqWXnIkeeWLRPgeheDFKmNkfcQqtPNfpUkIgovratzqCgUXtmXmfuoKrM"},"c_decimal":55.0565,"c_date":"2008-06-07","c_array_int":[-308425709, 1160068925, 1886063580, -465906082, 1689641924, 1764157623, -1522986651, 6961892, -332959195, 1039473028, 1686913132, -1442939686, -1883188495, 621272278, -1384206839, 753179166, -1710415166, 1667963016, 237280641, 1088654596, -495473803, -1731878923, -1510981993, 715368430, 507245579],"c_ipv4":"225.79.138.194","c_array_largeint":[-6167755834685306676, -3815438023462800301, 3546567938969232704, -7343244393926058102, -3293836610535483562, -1207173236227192951, 4160322328445580921, 7972095684109849323, 5727661471185969010, 559743389784297108, 4384635913931646290, 6652372980933722203, 250678822865704132, -5471115474069365024, -7491533035526626089, -430973847781883177, 4600416194208291729, -2471586314108409268, -5342956910978075261, 2906130051782332793, -5525191102252056742, -1126696477412573235, 7260702017168909855, -5853778699853808533, 1759173361270426658],"c_array_datetime":["2019-01-07 00:44:02", "2018-11-05 12:14:45", "2001-02-06 07:03:15", "2013-06-23 12:26:10", "2016-03-17 10:18:26", "2005-07-10 00:59:57", "2000-07-11 03:38:06", "2013-10-03 11:23:47", "2015-08-14 16:52:01", "2006-10-09 16:16:47", "2014-05-18 05:52:34", "2007-02-18 05:54:41", "2012-08-27 14:17:00", "2014-05-11 08:22:50", "2011-06-07 03:10:10", "2016-10-11 21:13:09", "2013-05-22 14:54:15", "2013-11-09 10:19:23", "2010-11-26 16:48:33", "2017-12-17 03:48:28", "2006-05-25 17:08:02", "2007-08-28 07:14:43", "2010-10-09 09:35:24", "2003-10-19 12:10:47", "2009-02-03 11:02:31"],"c_map_char":{"c_map_char_1":"WbyZHeUzQj", "c_map_char_2":"DKmTRdlvBt", "c_map_char_3":"EoULFXnFqz", "c_map_char_4":"CBRiMBDkeB", "c_map_char_5":"TdHXXlsLzB", "c_map_char_6":"mJKaxnhjuv", "c_map_char_7":"ATJLboNDif", "c_map_char_8":"JxRRJTRwza", "c_map_char_9":"CkAZVGahPA", "c_map_char_10":"yhKJxONOPn"},"c_int":1085577144,"c_float":73.031654,"c_string":"BGrXUjaCAOilavNWfhPIVunUPJQsTDxznPWyixwvccTnfVPCdgXcCUXtcdfyZSzspAQoZhDrKHFmJNXgvICCeTZRFjFRXzKlweCNhsZDvSlKYnwqVBWxjLWIziYzbtLpSyZvshpagLezkZAmYIFmLyOyHtKQfUovQvvOQHBFKqLKzNYtaBGRzbiAxHlJmAKqGYCmkeMJNnmUXowUvndBSsjgAOlARLNnQZnGPwNbfFMjAMgdlaxuDbZoQJLZpEJtyfzJFUBfpqzFoOSoLvXqOwdKuPYGsuWvQXKBdjEhZQeFoVHKKYswjKgEsWUTZDbpDAElnjRONdcftFCVjgRUzLYqZJDTiQSIQvbrjWFgrRYHLAcTGNifDdoRMAbmEYNthWKJorzxAppnQsJBWhRezAmbNpHxwYdOmVFTdxaOuxgSXUnXAbokqmCHPGbjLtGnWOKuKLrtXZFABNtefTUUdnVLKZGAhYhGsVLXfMbXJvVgbwZganGoOgSPmwigLMzE","c_datetime":"2001-06-17 06:46:11","c_ipv6":"50a4:c7a8:b6a7:1e30:393a:14e5:9122:9427","c_array_tinyint":[-115, -105, 107, 5, -41, 67, -92, 72, -124, 127, 64, -66, -127, -98, -43, -92, -41, 127, 59, 126, -39, 44, 121, 96, 61],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_tinyint":{"c_map_tinyint_1":47, "c_map_tinyint_2":50, "c_map_tinyint_3":-6, "c_map_tinyint_4":53, "c_map_tinyint_5":-56, "c_map_tinyint_6":-9, "c_map_tinyint_7":34, "c_map_tinyint_8":-127, "c_map_tinyint_9":4, "c_map_tinyint_10":106},"c_map_date":{"c_map_date_1":"2009-10-24", "c_map_date_2":"2008-05-27", "c_map_date_3":"2007-02-15", "c_map_date_4":"2004-03-04", "c_map_date_5":"2002-02-24", "c_map_date_6":"2014-06-20", "c_map_date_7":"2015-10-17", "c_map_date_8":"2014-04-18", "c_map_date_9":"2019-03-06", "c_map_date_10":"2002-12-20"},"c_map_ipv4":{"c_map_ipv4_1":"85.198.18.232", "c_map_ipv4_2":"53.74.98.42", "c_map_ipv4_3":"184.61.236.0", "c_map_ipv4_4":"180.96.7.167", "c_map_ipv4_5":"114.129.79.186", "c_map_ipv4_6":"74.137.32.171", "c_map_ipv4_7":"2.15.196.224", "c_map_ipv4_8":"238.189.193.77", "c_map_ipv4_9":"211.132.142.161", "c_map_ipv4_10":"222.35.148.242"},"c_tinyint":-85,"c_largeint":-4886735284179189414,"c_char":"IIaONVxioT","c_array_bigint":[-52059086331766196, -1612841977277299756, 1289407413229149518, 2447810680223754159, -8345987063934345915, 1964820977076211380, -4548577210789543957, 5711263004000584645, 3427052598261389404, -4910745392692657078, 6938631514237881344, 6822168809046983652, 4084558984951556286, 6775629054266677810, 5195042123715998503, -1591511004913756476, 2657681923416556043, 5537601078670814970, -7487916192978894828, 6846045752086486109, -2363070271772826174, -5153117721744477902, 3794176897300810166, 968601255242745492, -4724376776426390],"c_array_double":[58.821077554367385, 70.8538512934199, 53.41287829372599, 26.14057936715956, 84.73335119131733, 43.415871633580274, 71.9619809851436, 10.326447847010595, 96.16873195816513, 91.52202746457138, 37.48775988395957, 2.6492329059461426, 62.01063538974022, 62.908973096649525, 90.87000213884718, 8.175020389522848, 3.405280643565727, 55.48218311887351, 49.435202930783454, 63.013783502553075, 0.043828918579715166, 95.2664677320099, 51.829039314820015, 70.20278874191915, 5.861498106838501],"c_array_char":["SrFCMMNZcf", "bRcbtuCnxJ", "oqolZMTkjq", "tVhCJrpHrR", "xPyaaDIjtI", "pbCymeoFxN", "rKdzqaYWkY", "IfVNJcgplX", "yJCgJeSXug", "iylVUoXjro", "uJEYRPIplM", "tIfYZpPbdw", "siUVfLgEhK", "eKWZvLmHSy", "JKzuwQlpAN", "ayuBrXdFjr", "SOxaUDQtQR", "LhjnkDdkYS", "ckHOrLsTIy", "YzxvvmbIea", "biIxptgcYM", "ylLhOqfJNT", "HHVnfGMGxq", "hyVxrfiPnU", "EVZQXmgwZX"],"c_map_decimal":{"c_map_decimal_1":72.0089, "c_map_decimal_2":2.1551, "c_map_decimal_3":5.1332, "c_map_decimal_4":88.0171, "c_map_decimal_5":20.0768, "c_map_decimal_6":87.1192, "c_map_decimal_7":4.0867, "c_map_decimal_8":95.0861, "c_map_decimal_9":61.0700, "c_map_decimal_10":55.1051},"c_map_datetime":{"c_map_datetime_1":"2015-10-14 16:42:31", "c_map_datetime_2":"2008-10-18 19:49:41", "c_map_datetime_3":"2004-08-10 13:21:45", "c_map_datetime_4":"2007-03-13 23:31:13", "c_map_datetime_5":"2015-12-13 21:45:44", "c_map_datetime_6":"2012-04-17 10:14:25", "c_map_datetime_7":"2011-03-04 02:17:03", "c_map_datetime_8":"2011-11-03 18:53:54", "c_map_datetime_9":"2008-08-28 05:42:44", "c_map_datetime_10":"2014-10-24 10:08:30"},"c_json":{"firstname":"Marisol"} }'),(10,true,false,1,0,37,9,-32697,-8881,32767,1416,0,1438390681,305043788,1636588077,9,32679,5585806105789497718,147483648,-9223372036854775808,-339445474,64.40637,300.343,96.94370531908042,45.68491670403134,68.0350,null,39.0953,100.02,300.343,86.1089,40.123,31.1364,null,300.343,100.02,300.343,null,61.1117,63.0996,100.02,300.343,40.123,300.343,300.343,100.02,8.0503,17.0241,40.123,48.1815,79.1765,40.123,19.1147,{null:false, false:null, true:true},{false:true, null:true, true:true},{9:0, -59:127, 1:0, -128:85, null:41, 100:1, 0:127},{-128:23, 1:-99, 127:-52, 119:1, 7:-128},{-23093:-2261, 31177:14927, 27400:-32768, -13237:-32768, 245:14092, 0:null, -30106:245, -1740:0, 27601:27057},{null:-32768, -6546:-32768, 32767:-32365, 245:-10306, -32768:-32768, 8090:245, 30011:-19970, -10252:7949},{32679:-23006562, 637640293:0, 921730974:254482294, -1226104162:-2147483648, -1186151217:147483648, 359444519:113054370, 0:0, 2147483647:32679, 147483648:-1812639416},{-1977823509:32679, 977866479:null, -1163185740:147483648, 147483648:-446524398, -2147483648:342162094, 697689118:-732067518, 2147483647:-2147483648, -1859109415:-1318001731, -977269474:2147483647, -1562256179:-2147483648},{147483648:20240803, -4169439:147483648, 245:1, 20240803:null, 32679:1, 2:245, 1:300.343, 300.343:4},{20240803:-901857116538464562, 300.343:2541995751703700712, null:1, 245:32679, 32679:20240803, 18954:5542376288451211556, 2:-3678},{-2589861:663611821147699843, 0:147483648, 245:147483648, -7805120768391107451:32679, -8065937794510781480:245, -2326739273578516022:0, 147483648:32679, -4831898278474233691:1527919403699120856, 9223372036854775807:-160891863},{32679:167807785428208466, -5440249389994540091:-273141042, 0:1442145, -7327506:-6163517, 9223372036854775807:147483648, -9223372036854775808:0, 913588609:-5478766104103366929},{40.123:40.70595, 13.319223:32.50163, 54.227497:72.03812, 12.71783:97.12904, 22.592901:null, 76.6911:40.123, 36.15738:100.02, 34.314766:68.7207, null:null},{50.891914:8.220844, 5.7654643:null, 17.53579:40.123, 36.793587:42.89764, 100.02:66.751495, 300.343:null, 73.640434:39.833145, 95.404594:300.343, 74.35917:null},{300.343:92.84008242407027, 40.123:41.80301732665062, 22.77377442475663:64.61097594341375, 30.05408389072131:80.21766648062531, 26.829376131185374:92.7183135389442, 88.495873292628:100.02, null:null},{null:36.88891465299628, 300.343:40.6314088808708, 97.88875975709286:96.88424967151813, 8.448028140916392:7.461468587784134, 98.0433533568323:29.686632093676923, 40.123:61.51598495721033, 10.751141935871836:66.96550052057444, 13.53036586512344:300.343, 100.02:15.76658788693503},{98.1806:'will', null:'the', 37.0960:"9999-12-31 23:59:59", 300.343:"300.343", 100.02:"20240803", 88.0890:'i', 35.1621:"9999-12-31 23:59:59", 8.0723:'c'},{300.343:"1", 100.02:"9999-12-31 23:59:59", 48.1685:null, null:'x', 23.1202:"9999-12-31 23:59:59"},{300.343:"2024-07-01", 14.0114:'b', 1.1472:"0", 38.0880:"2024-07-01", null:'s', 33.1858:'q', 100.02:"0", 1.0099:'we', 59.1234:"300.343"},{84.0548:"1", 300.343:null, 52.1438:'just', 40.123:'see', null:'don''t', 44.0788:'right', 33.0533:'me', 36.1846:'r'},{94.1403:"1", null:'in', 300.343:"300.343", 100.02:'know', 87.0932:null, 40.123:"20240803", 3.1835:'e', 30.1614:'e', 53.1352:"20240803"},{300.343:"2024-07-01", 23.0844:"2024-08-03 13:08:30", 79.0341:"2024-08-03 13:08:30", 100.02:"20240803", null:"2024-08-03 13:08:30", 75.0688:"2024-08-03 13:08:30", 61.1875:"1", 40.123:"0", 4.1791:"1"},{91.0276:"2024-08-03 13:08:30", 300.343:"1", null:'but', 88.1907:'as', 100.02:"1", 40.123:"300.343", 30.1932:"2024-08-03 13:08:30"},{37.1338:"9999-12-31 23:59:59", 71.1217:"0", 59.0056:null, 22.0969:"0", 40.123:'o', 52.0840:"2024-07-01", 300.343:"2024-07-01", 100.02:'x'},{18.0393:'is', 72.1597:"2024-07-01", null:"0", 100.02:"20240803", 300.343:"2024-07-01", 75.1706:"2024-08-03 13:08:30", 40.123:"300.343", 99.1496:'one', 77.0090:'o'},{null:'o', 54.1187:'t', 40.123:"2024-07-01", 20.0605:"0", 82.0920:'r', 41.1606:'a', 300.343:"2024-08-03 13:08:30", 100.02:"20240803"},{300.343:"20240803", 15.1490:"2024-08-03 13:08:30", 40.123:null, 12.0061:'i', null:"0", 49.0534:"2024-08-03 13:08:30", 100.02:'why'},{21.1973:'look', 100.02:'x', 81.1118:"2024-08-03 13:08:30", null:'as', 98.1594:'him', 72.1355:"9999-12-31 23:59:59"},{82.1637:'of', null:"20240803", 77.1573:'know', 40.123:'e', 100.02:null, 51.0852:"1"},{40.123:"0", 39.0475:"300.343", 100.02:"9999-12-31 23:59:59", 25.0343:"20240803", 14.1808:"1", 13.0428:null, 37.1572:'e', 76.0769:'if', 95.0202:null, 95.1616:'out'},{'p':null, "2024-08-03 13:08:30":false, 'n':false, "9999-12-31 23:59:59":true, 'y':false, null:true, 'was':true, "2024-07-01":null, 'a':null, 'o':null},{'I''ll':true, 'h':true, "0":null, "2024-08-03 13:08:30":true, 'q':true, 'n':true, "300.343":null, "1":null, "9999-12-31 23:59:59":false},{"2024-07-01":44, 's':58, "20240803":127, 'here':-116, "9999-12-31 23:59:59":0, "300.343":0, 'h':0, 'me':48},{'see':-46, 'n':1, 'one':1, 'i':-119, "1":-39, 'd':1, 'about':127, 'from':1, 'q':127, null:-128},{"2024-07-01":13928, 'who':22628, 'didn''t':-15763, 's':-32768, "300.343":32767, 'y':24954, 'l':32767, null:11021},{'yes':803, "2024-07-01":30359, 'on':-16176, "9999-12-31 23:59:59":4056, 'how':null, "20240803":5096, 'c':27291, "0":-32768, null:25408},{"300.343":69901435, "20240803":147483648, "2024-08-03 13:08:30":216087228, "0":147483648, "2024-07-01":791767514, null:32679, 'get':0, 'j':32679},{"300.343":2147483647, "2024-08-03 13:08:30":-2147483648, "0":49302679, "2024-07-01":714491475, 'n':-2147483648, 'oh':1846168147, null:1644340526, 'z':2147483647, 'j':0},{"2024-08-03 13:08:30":20240803, 'no':245, 'okay':245, 't':8131620, "2024-07-01":300.343, 'so':-1630713, "20240803":300.343, 'y':-12922, "300.343":null, 'going':null},{"1":245, "9999-12-31 23:59:59":4707010, 'z':1, "300.343":20240803, 'then':4, 'will':300.343, 'as':32679, 'l':20240803, 'i':20240803, 'b':147483648},{'u':-1111390, 'i':-5524336, "300.343":1, null:32679, "20240803":null, "0":-3500576, 'are':null, 'a':1},{"20240803":9223372036854775807, 'then':-5709775009215926470, 'v':-2956308, "9999-12-31 23:59:59":6459203, 'a':32679, "2024-08-03 13:08:30":245, "300.343":147483648, 'from':-9223372036854775808, null:0},{"0":40.123, 300.343:59.868702, "20240803":97.329445, "1":12.198915, "2024-07-01":null, null:300.343, "2024-08-03 13:08:30":42.636227, 'a':2.2384923},{'I''ll':300.343, null:null, 'something':90.76731, 'k':null, 'e':null, "20240803":300.343, 'in':44.94981, 'v':53.56642, "9999-12-31 23:59:59":80.97909, 'h':300.343},{'got':40.123, 'i':300.343, "9999-12-31 23:59:59":null, 'w':null, 'was':40.123, "20240803":100.02, null:300.343, "2024-08-03 13:08:30":0.5492125063472986},{"9999-12-31 23:59:59":100.02, 'o':94.65071707589189, 'could':null, "20240803":null, 'l':82.23739049597387, 'c':96.37691069384674, "2024-07-01":35.8904585512543, "0":44.96284258050771, "1":8.29238974126314},{'i':64.0748, "2024-07-01":null, 'w':49.1810, "1":84.1168, 'think':300.343, "2024-08-03 13:08:30":300.343},{"20240803":100.02, 'out':40.123, "9999-12-31 23:59:59":40.123, "2024-07-01":66.1299, 'how':40.123, "1":null, 'why':40.123},{"0":64.0375, 'a':300.343, "2024-08-03 13:08:30":null, "300.343":300.343, "9999-12-31 23:59:59":null, 'm':300.343, 'okay':73.1679, 'n':40.123, "20240803":300.343},{"0":13.1140, "1":null, "300.343":100.02, 'w':100.02, 'is':51.0307, 'me':20.0435, null:null},{"2024-08-03 13:08:30":null, "2014-08-12":false, "9999-12-31 23:59:59":null, "2023-01-15 08:32:59":false, "2024-07-01":null, '2007-02-22 20:29:33':null, "9999-12-31":false},{"2024-06-30 12:01:02":null, '2000-07-09 14:02:45':false, '2011-02-10 00:19:27':false, "9999-12-31":true, "2014-08-12":null, '2019-12-06':null, "2024-08-03 13:08:30":null},{"2014-08-12":-128, '2016-08-12 00:28:36':0, null:0, '2010-06-18':0, '2010-10-01 08:04:21':71, "2023-01-15 08:32:59":127, '2001-08-25 14:34:19':-128},{"2024-07-01":-128, "9999-12-31":9, '2005-12-20 18:35:52':null, "2014-08-12":-128, '2008-02-24 22:29:05':-128, '2017-06-26':1, '2001-04-25 10:40:10':1, "9999-12-31 23:59:59":-100},{"2024-08-03 13:08:30":0, "2014-08-12":-32768, '2011-12-21 12:13:25':-15145, '2019-12-13':-4348, '2011-03-09':-32768, '2012-05-22':-32768, null:11639, '2004-09-26 20:23:08':32767, '2004-03-16 16:49:38':245, '2014-04-15 05:00:14':-22143},{"2024-06-30 12:01:02":null, null:null, "2023-01-15 08:32:59":-17289, "2014-08-12":-1023, "9999-12-31":null, '2016-03-10':245, "9999-12-31 23:59:59":25179},{'2011-11-15 09:19:44':null, "9999-12-31 23:59:59":-716329033, "2024-07-01":1801401761, "2024-08-03 13:08:30":-2147483648, '2014-09-08 04:49:57':null, '2009-07-24 14:45:45':null, "2023-01-15 08:32:59":1002611486, "9999-12-31":2147483647},{"2024-07-01":2147483647, "2023-01-15 08:32:59":-1410760856, '2015-09-20 13:14:22':-2079208057, "2024-08-03 13:08:30":147483648, "9999-12-31 23:59:59":0, '2012-10-12 22:17:24':147483648, null:2147483647, "9999-12-31":2147483647, '2001-07-15':147483648},{'2003-03-04':32679, "2024-07-01":null, '2007-11-24 20:21:45':32679, '2010-11-08 16:25:10':245, '2011-03-03':null, '2017-10-07':-7329928, '2013-01-02':32679, "2024-08-03 13:08:30":245, '2004-08-10':-5943909, '2011-12-22':20240803},{'2013-03-07 21:46:31':20240803, "2024-06-30 12:01:02":8181965304253446388, '2002-05-27':20240803, '2015-07-03':0, "9999-12-31":1, '2009-01-20 00:28:20':9, '2010-09-07 03:36:28':14571},{"2014-08-12":1044390, "2024-08-03 13:08:30":8388968479256378505, "9999-12-31":1892093118181940839, '2006-07-09':-7350372149481537627, "2024-06-30 12:01:02":147483648},{'2019-07-17':-9223372036854775808, "2023-01-15 08:32:59":-5032263951640727738, null:147483648, '2016-11-02 01:08:47':-868924557746564749, "9999-12-31":9223372036854775807, "2024-06-30 12:01:02":32679, '2009-09-06 11:19:16':-1612635493639841664, "9999-12-31 23:59:59":0, "2014-08-12":-4793707},{'2010-04-26 10:47:39':40.123, '2009-06-24':21.877262, "2024-06-30 12:01:02":77.99831, "2014-08-12":100.02, '2006-02-08':14.829301, '2005-01-16 16:46:52':null, '2002-07-28':37.218605, '2015-10-11 10:08:43':40.123, null:79.10635},{"2024-08-03 13:08:30":null, "2014-08-12":42.2829, "2024-06-30 12:01:02":100.02, '2012-02-20':40.123, null:87.06929, '2009-05-09 16:47:07':93.45989, '2007-08-20 20:01:46':71.89313, '2000-03-26 09:13:58':40.123, '2018-06-11':null},{"2024-06-30 12:01:02":100.02, "9999-12-31 23:59:59":34.893831979828036, "2023-01-15 08:32:59":33.81496264664108, '2016-09-08 08:12:55':42.4102852741863, '2017-06-24 22:24:04':59.780074222084934, null:300.343, "2014-08-12":300.343, '2014-04-09':64.46593120722211, "9999-12-31":100.02},{'2001-10-03':300.343, "2024-06-30 12:01:02":86.72534697029337, "2024-08-03 13:08:30":300.343, "2024-07-01":43.28273551878689, "2014-08-12":40.123, "2023-01-15 08:32:59":97.34112327441898, "9999-12-31 23:59:59":10.054297669022198},{"2014-08-12":100.02, null:79.0302, "9999-12-31 23:59:59":null, '2018-08-01 02:01:21':100.02, '2016-07-27':82.0437, '2010-11-19':78.1009, "2024-06-30 12:01:02":30.0438, '2001-05-24 04:56:05':null, "2023-01-15 08:32:59":23.1071},{"9999-12-31 23:59:59":63.0450, '2007-06-10':40.123, "2024-06-30 12:01:02":100.02, "2014-08-12":null, "2024-07-01":300.343, '2019-11-13 09:50:09':41.0241, null:43.1788},{"2024-08-03 13:08:30":84.1100, "9999-12-31 23:59:59":40.123, '2012-12-27 06:08:29':40.123, "2014-08-12":300.343, "2024-06-30 12:01:02":300.343, "2024-07-01":36.0896, "9999-12-31":100.02, '2014-03-02 04:08:47':81.1949, '2001-08-20 14:28:53':97.1894},{'2002-07-01':7.1547, "2024-06-30 12:01:02":40.123, '2003-06-13 23:59:12':29.1365, "2023-01-15 08:32:59":40.123, '2014-06-09 22:57:14':21.1623, null:300.343, "2024-08-03 13:08:30":100.02},{"2014-08-12":40.123, '2001-10-07 21:40:57':100.02, "2024-06-30 12:01:02":81.1991, "2024-08-03 13:08:30":40.123, '2002-01-05 05:14:35':37.0847, '2004-08-28 17:14:59':51.1633, "9999-12-31":51.1442},{"9999-12-31 23:59:59":27.0071, '2012-05-22 23:48:38':52.1176, "2014-08-12":300.343, "2024-06-30 12:01:02":40.123, '2003-07-08':300.343, "9999-12-31":100.1338, '2007-11-02 13:36:21':67.0719, "2024-07-01":300.343},{"2023-01-15 08:32:59":40.123, null:100.02, "2024-08-03 13:08:30":68.0433, "9999-12-31 23:59:59":21.1624, '2014-06-13 07:50:24':null, '2015-11-15 21:35:34':72.1098, '2010-02-07 15:06:30':93.1079, "2024-06-30 12:01:02":300.343, '2004-05-25 07:29:41':40.123},{"2024-06-30 12:01:02":null, '2012-02-13 08:34:50':72.0412, "2023-01-15 08:32:59":300.343, '2007-06-13':40.123, "2024-07-01":31.1716, '2005-10-18 14:08:46':null, "9999-12-31":47.0146, null:300.343},struct( null,9,19638,-1561450868,-3433,-9223372036854775808,40.123,40.123,50.1013,300.343,300.343,100.02,8.0199,62.0041,null ),struct( true,-124,-18082,456827363,-6430367,147483648,100.02,17.03357802637142,null,48.1357,100.02,null,32.1840,24.0431,29.1764 ),struct( false,-71,8633,-1313655120,-24616,147483648,31.791103,300.343,100.02,80.1900,100.02,99.1083,54.1392,75.0148,63.1741 ),struct( null,null,-23288,32679,245,-1443648374,100.02,19.685688346211883,40.123,null,100.02,100.02,null,null,40.123 ),struct( false,0,8663,2147483647,147483648,245,100.02,300.343,40.123,54.1665,0.0792,300.343,80.0543,null,90.0632 ),struct( false,78,-21135,2147483647,1,3183139245694326196,100.02,100.87696792257076,300.343,100.02,61.1385,300.343,40.123,96.0966,100.02 ),'{ "c_ipv4":"122.153.79.145","c_array_int":[1143208123, 901180757, -639280706, -2042067356, -62138961, -627110781, 1362562461, 1254696382, 1897552728, -1896432902, 1899553417, -1818823317, -847185380, 1207247613, -1855593644, -1145798521, -435017036, -441935660, -1854821739, 1474725118, -1538746123, 772250637, 39764370, -1580216641, 737944723],"c_map_double":{"c_map_double_1":70.91160162024295, "c_map_double_2":54.34180355596818, "c_map_double_3":30.65662516261699, "c_map_double_4":100.92674798084036, "c_map_double_5":1.3102391261534903, "c_map_double_6":19.06174888647112, "c_map_double_7":74.58172389288305, "c_map_double_8":9.041061682854108, "c_map_double_9":25.353387835627963, "c_map_double_10":94.97121425269717},"c_float":76.2751,"c_string":"hkxyFeQOYjCoPSNGXQIAqlIQeoaHWAWqrmArgIwmtVhtQSOpOzfdkwooxrppTffvCvwbxECcjqNfnlmxtaCebdSXrbwGCvKCnftBLgVUITUMdDDlCAeIeplZNXxtwHPeOhnTSFJwXarAbLBtWvgAmNNIygRPJFLXGKjfwTjxsjdIpmLYWLDXTvkexuhYaGXVPzCbbigDfPDnidxmyaSRgvXybMeSJMQLnocHWbhRwaJXOLqmyeKbUvNfPGdVjzmdeErcONPzqjUjkWvVbwxJudlANusNkQqbThoZnGXzPMnsdFWbRFXCYxhhblesWuIdJCZCBKGIQHhFxwrkWjLIgROWdRqWWWoHDXNzjCGrnfFZapANPQsjtidOPeUHWEeQpqDaRizmuIJFKncwfiGJBgiHMbXrusUXleuzoIagQGWHLitoSXptrxdUryrqgYfOaVWkKmcdrhbVEjZEKDNFhMGVSVUTOqAPkLtkrOwAVaFjJSgtSztyrbfBCCswFIcV","c_datetime":"2014-01-15 10:37:53","c_array_char":["SlfYyzPSUe", "dmPkqehSpu", "yDXHYVLWKh", "HqlyMOseWH", "SlbPdnDVvO", "RKYHCsEHIp", "JObUQMNMYC", "NBGsVzNAOH", "FLeRYgriQp", "TivgvwcJSW", "pCOZAIonuS", "YrVvolFDJC", "uUqTYkdEvU", "SJoZyBCCsa", "LElwBUkOID", "buHdLEUMLw", "ERPvXQorYB", "OozNIQgHNr", "IVbnuaLvcC", "cTPhmATZsu", "algzxeWEyh", "MvuScMtScm", "CVQQpOshbI", "wETjNeoegE", "XXmrJVSkBZ"],"c_array_varchar":["ErxNoNrkxugmJyJGVdsGoNiFqFtwrcvmgolgOgpjNowHwcOVHOxnPhetGeqxgEwHRVARdPyzkmPsHAeqmZjbMplJgwBKzXLRSlfsnIjPyEMvusAmJCoqWUOapdFjGzpWiCBWNQDKCiHlGPXUTpFdrXSuEsvsNQwTTbxgCzAcnLSQxqkndJSTSINJeJijpGaiuoeNkfQVNWLKKuEDOpuDADkpAhWPgYGSaKscFnVMjBDWphhEefNFHlxtaRdrWpQq", "iTiYZmxKXTYNKtzgMNoPSnHgxSfdxxBZfkoHrJrmksYSprqYJEpWLWdrJAZthXrBHIZnegJmnRvbZvXzoBBYHwWBlkedMYrHAIiOrvrmZZdSjjosNEwODiGQooljRimgoayuYgebsnCUbDnaqIdalWesmpQpBkxkXsCAcAzSncIpUEuIycNEIDzvWGjqsPMyJatrznGavrMjSXeQcTzptsBCmufEziXsIqWSVbTLtyzDpgLavtgeTeBUhrOZFDgj", "DxdtwbhwKoYjewkUDzCGlrFujNlOmtvmexaMSGtbHXHXiRpUZQSlAuobOVMJerneYdODpUDaWZkyIOJYRzAhSPQDmORUGquDIrUDDDynhmqCfODneDtSvwolpMPSwvtktJUVBfNKTBCyBOJIpwTXNsmMCkbjBFQuclPEsEYOkzpowvnjtfRkNRiGcRlVXmnSLDMLKGOPUfugJAAXcOqzExlTjhJpDyjHexVaLUgbgzmMWxQGihTqQiLkXIVOBsgL", "pFFFBMkEPTahFdVTSsvmanbgpgRoQfEIwKVWnykGIvjiSyoVEvlrhXfIIFtUIMABrTnOBaXcKxBScOGwZDychhdgghXTfGAICjonhvYbFhvroFuJaxtLeWkMkMwaDcWUVVfixlryLqOIudBOEPbtrWeBggwaZLofMMOAhYQAUSoUbeErYsPAQdZoSXSAbiIVuBkeHaKQknLmuVXxcYwYhLUQsVSclMVvzzzkjsgDpkuXcliCmHCQCkUIoARcvDIs", "QHDKbpatYHHAGUEvAzRUvgQLqktUnjMwyaToQgfaeGoVOVKdVPBMSWVwXpqyuHArfVTqmVTiySSwykKHRJNepHSGpwvFQUrGaTjgREKHIxwrUpFuwMcHMXQYKRBtJpeVTsoZJTiwRfMdUAAHZVdnINJxtJXeRylvubzbTtNuKjqbjiwBYwIsNSBwIVFftqyltunyLqqmdOkKhoAEeaManDevSCQFqMDYQXeZdwOdfDEgMJLAbHvhuKIaYqjqvlWD", "ufCAublVjDOgNJyfollvxnXhoMrxElsJmPszSQVSIhlVhkYtQdbwMJEVKFsyhHbfAiKvBHkFXUKESHORpYktJVMvvHnAayZXZVCjbmPvKkRjCZKRzfgxsyWIQRSkLEfmdfkYSEYHqtlrvRxqqyyTiMeVpsngwkoWeGbGnzqeAqIVXWJPAkKZQdWrUsMElAvFEYmhVfmMAnIDcYROSXwhEbxkNWLseTShdugHYFzorDctedghadzNeXrUxTtImFZU", "BFqRcNKvOKXnIoIRwlvXTEUoxkVqUalFxpruoQApCDBVTkPTQRiLzViOXZQfKDqBOvBkUCFuKEnznCpZGSTTNeCxPoHmcLinilttdaYIECSceKriWuUdQCvCUbmbpYekPFstYTnDdUgskdbrrVVkGuCBKKNWewUNdfZIkJLyouhHRsUMaeprQcaZeGrdFQEojHTXDXespOvMKuXewGgFEGuyfmMKtNNrHWDSXYcTVDIXwiQHHMWXMHkhOtrbHnWY", "pTkTCgmIOqtnDqMPWWeqkKnSEfHQJbqoUQbRxMLqXUnBqeqftMOQLFTlkUBiUkXMkrnELieXfaesyvkbPRbMTOzcIArapmIEjftlMdANFIGMqTNRqUZZtHeQXRxyaZlIVcLXcZngrUhIGSRBkdSPqlGrmammDJZqxIahaweEHFhprkNgFsMWpQpmUjXzNOlehMADLgxHinjSISOrxahgavPmnBokHNqzMWTYDQnuJEJzFzdxpJWKkLsqOkqhjvjb", "bavpYjBgjKBFkquAgUFMSQghOScYreDzOUtcimbANrCXBBZpuCvfRPMVjcEPCvoIjnKGnidakddrRreznjEuXWuEuTRZKkqtSWITxXtjRiPgZflyMuqcGKYyqkGAZoMulAZYCGjNDpqGbFceFTySRnxpEPvklHYBuKZnOSuEakNBePcmQpTzudPDueMSSaMYfkJzlIFeVeVxxWBInjEHYdQNwaRmLFcNHBaXGZlDkWDKfxPrCHzcqOTXdGrKzVWu", "dkcKUOVfwojJwAvlRPaNBkGJsXcGhQomkPOCsFXFJwSETKxChTtwwyXsaqjxztFecmOJGAsNCekkMNsQbaGoNlKcSynFAZYrHHSjMRsdSYHFiaXDOkjTdzVuIufGlAMokCzungGdttRTBXdiWApcArcrYsPWsumnwMggSIVGsnFunFxxTKBckTMPzHATIosfuyyHqoYcstwFSNhzYyQAegYxPvVuvgdRbKpLPBhNvmLJaMNxpwSkdyoxDrjKYzWy", "LOWftHFQhWyYUVWhuycQAjwUhqmotFdplSenAFnpEFcPKsXJtDyokJFnVUSQDbqZclKARDdMUprDhSflMEIhrlKmmGKsETLOdHisggEcuUqRMUstkhCzxuRKNzwaBCSAmjIjTsqQIyeBDzMYpuzfHdarYFIDGroeFJGnsGhsfIHljMkvlcoPMqcXENyHEubGAAFSxfdXDMirvQBvaBwDblUlpwttMjxRibmgYPSIEOPIXXlvpCKFGFsTxfyLDeHG", "zsOvVvyJbMXKdsoIwPzmELaDaQjxKBSEXIWPeSpQzygBftAIDUihiSWqPrJuTOPYleSqfxTseJeSAZMUDLGaxCuyMrlXRHTerhRktUIJdkoKvjdcYoaqPONunIkhGdcqUqHvpMchCmcJVkcmdJMazblkEuelWpjrNEdrzYsoQArAKJiweSEWnvrBiatZSLAIkjaGtcEgmnqGDYuDNNTYKKhNDxLRPAXvAcDEsrIxkmVbSnefwWGSBsObvRHdfYqX", "JuhXyWlnabbjkIxRfFZvqmGyhvDjRSRkETWzeknkUrHsAPcWxSQNwiMCeVoGdSWpQBcQzHxEDYlYIGwqFpPBJywzKpmYFbUoxZzmwSEAMlICTeHCtpVjYKTEViTXXnSTKqJIyVrsmKScPborAaBySBaqKTXJYucaWkraWMilzLruqlzcOShpVHUGFCAHPRKCjaWWOjPQSnnecqBfxiHiQWGNihVNsIWYJYXulNOPhzGDPkNVehReJxVfrTtDHZRl", "RNYQOokudShOpalxWmPdHsCIIQHDpZEGaZNagktiQHtwfFnWFeQhcYSnLTKeGHTntlDHIMfEsBEQpXmaELjfmjoyLicEJTzrHgpxajmdgrINqXNeQuEzymTJFujaubkjJhZDNTjrpCGQQPEjlbMCUkHxCXkosRDukkscUtujNCBNZioefmpmdboaastRkIcnOhXQDsMhvyAVHUzsuNofUDdHeZZNuGwftieZeBuwoPNEBfteFqsdbzdiGqVMcQNe", "SlAdnzDJpJjkpStZBLjCSMoLZxwbxXTqQnGpaNqpyRJxBEPWHAtbTfjmXuucugmtFctPRqEHaQpKyYDYMOmopXnWyjiegUEeSaQHrrzodbOuYonpZSHfOhrWdWTrtSoNjwnJmTtVyhnZZBcjFkbJSjWJCYJWdDPhODTFJXhPLXKTkyplkUcRaGkhMWGbULWUFjpxgJcuuSkZxbmFStoyDFkuNEfAcLMUZMYJZoUWrFeSKdnNKsQLpygiUGhNhMWR", "DczotZFBkKSAOTMLigCmsJgRJxWBixtnCoeLvBGpDcctIleawIuvvRbXuiVaVUSIGwrizJoAfKtfjMUPhCnOgTVRreUpTpDtICOidapatlqDIrLAaYjIIHpLEobTLHhddAMYBzCctphhUmZBPbikbyahYbaIzsvlrBGhnoNOhTgZemLIFuzgehoVzbawdgyBCcgrsubPXJaMjQAxhjSXpJhdSWFwNYkqzCDtamrvTmAPDkBUtrwWYVHANWmJDBPW", "JQYakTdJSrsDgxjJwvIWgHFrFKEIDFQxbjhdiXAQXNqboUqVNZLJjdkrhlzvQAzyXHUmxAEdgXyVWHamyTQRqgmLwUDTnoQIjpqVCqgmJqjFeXLsleewLRWAsDNKJMInIogMPDmnLPKXSpyxgNUNXmYYrrGJwtSeFmgPhnKIwBlRdjTGhZUttQRkQvUGkPHEoYRbLQcVQdmAlxmUtizozhnPDQdZLALvZrOsRSZqBwLCGIjBdUldzkgZZdemQzgw", "ihvFDKzenYzoRWNmhnaqxyIRvOFJgDAcPHOsLtINiwVYpqXvMVsNgycMcNrTmsotRYDZbZBiwhjRPxfhVRCRuQQfuSGUtkxpsFSemOUbsPxGyhEAIiNdImnDIbpwmIsIsonNpGrZlWxwKaWScRiKiOdzhzuDNLQdSnXGDzNLRZOepQsbUesEZlinWZwstItOlAPTGAZgaDULOSbsaGVcDbxqLTkwTTZVBNpCzzPSdQMfIhdkzRAXdaOwWEqHpXBn", "wBSSbJkncJrHTLRUuuRvxjWKraXpIsDzgWiqbvvzAzFeKxppHLyehTiYxzjnAXPojhsqNpDNgNfqONCKiJPUHYBZFiEtlpNJnCjqtLLyJfomrZkVqDgEiJNPwJNthbGVkwGefrOomaoGfGfuzRoLRrXvXwTofrsbGdRclsILKPNfLykXFVwjvdZzASGzXaBGhsnrUknShNXULtEzYlHXdcPFEuCZxgXPUynNxTbarYBVCuNECFIcwOlEJzPMjmJa", "DjFtwhyuabYjtJsRJEcigPEWCDTrLDWIHsqdcXYGIZdmCWVbnwLhoimwPCfPfNhZRNzQKFHkSrzJCNBlPOziQECoejuElBETAMvDVhwLwxPGfVwyzfzPpTaJyFvnYQRLqOtLrEalpBLTSTkBJCTPrguduAKXjhCvxRlwDlqMKswKjEDuaTWMUjjfeIGuSLKCbOysfrXMWAHQWzYmobDycqLUjQNSHsXYmGzvDwHvxXVgjbYRaZuKZZAZuxFGZOOc", "rhIigVaTUrrFlbBhyDZANxMGOYspCVHLQDLgNXfFQXLaQoFitlVcdCJGCDbZPNtnsYFtjGrRyvUQXWWvueyowayArKtqbxvTXzxXRdlKQGulqZaqmIIqQeFUUWilHpYVTRnGgLnshBBuLfKsILTGvEyXvniBIWFKSUFAeswVYVNhQJWIYUAmXgPwEdsiiEZofgYfmDNaOWvcrkmycBDjwDdqUeTPmTGwhKawlzRvRZpSitmIOMxguPdTkEOrFsAh", "rnjwiHBPpAYsBVZQCwPpQdJWOSTKhmrUUfExhxoNaAdSTAoLaylxZlULVXAHuzyGFBHKPRgBSEfewaykRkXqNvMXzWuNnFKrzjWzldWGFxDRsEIcBVkinbKfpLGwmvmfrZGedlqYHKUFxVjXiUBjnRojmvzaWkiHtEUbAcyDwpFMlJpSNYfMVTlUCHXbVGXaMzvdSCEGaDjlrbBklRNzORRmUeSbIKakhtFNAvNCpGEEENCCeOWsGlDaCfYoXIiE", "OnaExHcThurxlihwlhOQOJhvUmTCyonildavIleeZQvbXpNQoWCeWhahlVCzegyKzZLSriZvghiHsIulooVcypHkRwpdXqfgBCnJOGqoFcyxvIwfMUhdYtuJIhPkzgTPTXCrBEgCNMjmjuzwCOTJNcAfNoGcwJKujmCcLIBRoNuUPKBFYPXAUCpBaEXfJbPztcCehtmIjKwdQCFdIdgiwxKrIBeQDCHHlUdWBmHalyDMLJuwIAARydUANlOqYMET", "PdbDcfgaoGMwdPVRZBdTvRWqmeSCgnIMJeLvLrYKloPgSCAEvEwBSksyrmqPoPTlyeCVOgrQEHwRKzFPPHSQPHdoGVjQTWIBTcaqVfAKTcNvABGvRCzZCCOZMtAcgIUBcFNyuBULESwpQFXDpYcsXadLILsWdPSvZCEXKMsqChxChVNCzCBjJEWLdnZdsBOBcARkcenifXTjLKTDwvrjJuvypqTXwcikgPKhgymrHrnOZqxornDLGxSWSuHYElqM", "abjccdZvHlTutzrGwZOUvDOxgokbccLnkDhnsgVhvJDPYjnkogTHbMAKABtCfNancsCZfWEepRUhCUVCjROErwGyHPtaMpyhxttEiWJLdRAoQCRSYcbKaWXpgNBfpftdiwOkkAPSDquFaDrGYEYiOTYeaTsIyPZHiYSXEVeZSLVtCfpITGiBxWYbnYjRNDKhmpEfgHClzyQRodtSaqKfvFLuXRbBuvHjiAmOuDJcLwBzSsXViTRVuvIyahvmfDqO"],"c_map_bigint":{"c_map_bigint_1":4885460767904931898, "c_map_bigint_2":-4070898559627111139, "c_map_bigint_3":-4734041725991163042, "c_map_bigint_4":-6131359752913064378, "c_map_bigint_5":-4460716031363073159, "c_map_bigint_6":-8804207475803323832, "c_map_bigint_7":5603132206353627191, "c_map_bigint_8":890816385111119359, "c_map_bigint_9":-2542261828933253963, "c_map_bigint_10":4715081567273163924},"c_map_decimal":{"c_map_decimal_1":46.0168, "c_map_decimal_2":87.1328, "c_map_decimal_3":19.1472, "c_map_decimal_4":5.0792, "c_map_decimal_5":93.1318, "c_map_decimal_6":70.1745, "c_map_decimal_7":30.0207, "c_map_decimal_8":16.1810, "c_map_decimal_9":61.0863, "c_map_decimal_10":46.1887},"c_map_float":{"c_map_float_1":59.269173, "c_map_float_2":82.99282, "c_map_float_3":19.573029, "c_map_float_4":86.408615, "c_map_float_5":3.7441077, "c_map_float_6":55.478146, "c_map_float_7":82.9524, "c_map_float_8":92.660965, "c_map_float_9":3.4151769, "c_map_float_10":92.915695},"c_decimal":1.1025,"c_ipv6":"cc36:43e4:ad7b:c617:778f:d219:2b4e:cc19","c_array_bigint":[-4475374000541605247, -6699283977998460324, -4403538937095529146, 4448846221072187610, 4271023969164584682, 8056112970138906392, -2616588646308356844, -8247768030801521175, -5784668778470118502, 856051372948121732, 594407226391620732, -8309059199367867609, 3364949258556573610, 4697618573290311343, -6285435536834638951, -3058879585911779099, 6773049250777756454, 8502278560491297917, -7075104925481450530, -1837558228256533599, 111501797560250526, -3471962484380608831, 7060597510597318741, 5027924626254366883, 1351804690103480947],"c_map_string":{"c_map_string_1":"QKuUDqmQJiUzyQKNotDsIkBpGfrvnsyqUdJtRShSKBwfgDOHiNpMtWJZlTWDxboxYbVJLFHAEStZIpBTVWnfOUBJHcJZIpWulBGKDQFgwsoyXsCPgRijZdWXetdFFYsjLFDMZOugVzYjaGssTiMXdIMIvqssQfwbttWuORcEDPmIAdWphXMEFIDKAsCqzuGyPpzHFPvveAuvdIKiWhovyujzunxphkwEUgDRMuHUdNbaXEEZsMwKAsUKbxEFIILNFKWJMnyEeMBjZoGouOzXTqcNONogLRKqyxWipJeIFrxmhuOfEktxlTRovXEXZgQjkMZrLPpjbcfHKYtrbIQSYoVVQdGeTbJnanUJvazVyGbjNEgRsYLgTFVfbpGGxtxXVHvZixDjQsKbWKjEtyLqTlVWVSVUNeyWFMXvrkUrDUavEipasWRVISUyLazQlguIzPpeAoGmPubZZIhtDuIAVnBufkShhirRerIxOSZoRcAkQViDvyyJmvUNpknqlObC", "c_map_string_2":"PEmsDkpMRkfNiKxxrEfYLWVGozLzkvPEhsmVCvmIJeKWnfduuUfIGLtRRARJGpxAbKRTZDmDiDIoyphQHVXMIHCLITimQqSbvfUcvjHJlLVCulFNlJzjqWqERhrVzBGrYlosNzvpnWkKoVZTnzoHavaVyQoCYnAmaanDSfnHJaKZgQDIjEJbdJTIchXFMstCnHcRHoNvXUOYSNGruumgBxrjloqcLdjddBJOoazxoaDTULXmPVnwTUrkNTQYyZBausAuZvICpjcqgGAUXvcJvhuMUTdULRRMepPDuTynYYwuQuxlwgKheNAmwsNtkpgCembxHDLFoFozDhKYIvdIRiZVSuIaTnxGuZVyZgfYGXgDtVwhmCmRNToFrqsNHjfTvCoRUkSJUejdOQoOwcMBOOhuFAHsNZFmoGEUnWEgeJOJSTnANtYQlENzoCvvwBtfEjlYjaBbeENIFQrrlJfceVwNjYubEFqkPhlamKIzJMyNElniZidbFmJUQMSkAPOb", "c_map_string_3":"yiXAeCfLmgvOHBPxaikCINwoodSsFjTzHNGbOIGhwQzlJcMLWHFeNysOvmNyGWpKqRgUFlgiKfIFYsqADpDbVRysgLNTXfACjswPCCggRHiVnSMvAlFQJNNsPOINSlJQcjJHwFvSCUWhDyDZMiNvXvhbEoMiyotEixfFqeCjHZkqUeagvCDtbFkXeExMvqCgDABoufbgygYlMkEEFWRWUGAYTwledovncvLYzYlhLerjclLeZfGLcnCJOEGYBiVeEqmgbVHFzilObbZonmgisEnkOJAFUffiEIOovMzHaZqnptfcwvLcuYIqEehxQzQhCLijnFefGaPzpZdJnbeYpyZCmHOjERhnlrVegnEfRvWrVqiHBtpkctLLAZRuEFhvLfLLfVVcMnGsJhPFTIqVvQgmcEsmIiRgfPMbElhumBXksxpsFHqAlTThescQgApnPuPVsFeAkfZXVblbAoJgbNZtIuKvpgtgwQrurmotdhOIGcKTnufCpPzXlsLWHvEp", "c_map_string_4":"JImzAlDNbdSqpqLjhJUzFKJVluYewDOijjuCDEFDhrsvTmhUnrpkxSgAeLfLdfCqEIgPvBTCxNcChBjlIoImUcUxQjNMtDRRTMiyhjBLQOFwDZhxQVYAonHpXblWbxcJwzkTEalKtEXrvdSlfafzJStwFmispkLcdztXXidJRuWbyhOBWennjuLJnqnEVlcuFaeQmYolAvsZzyDyaTyYcjLhLTtaCuCFRWxEnpEIXszNAAvmqgennMLFAGayuFEbcanVaWRAFcMUsNzbsUotPKlgjIHTqcwfuAZlIcadmvEAeDlwiqBnfVtsTnyXfHwvEXHOKWVReBtDuaruXaxYvUamNLdeLqjjvRsopSnyPLYIXpjnwJNizbuKfiHAGkUgtiVzByRwdrAVwvdbFPKjIbAllFDLfmzHTVbbjTcminBRMihCllAzydMzMLHqPzVrykLXWjIIvChQoUlAVmGACsfgJFvsQraHzUOCleOjtUZggBNuHBUkcJdKctkZdZUe", "c_map_string_5":"WnwBEkrhgAwwdOnKgJqIswjOcQAGarQKATcUyrXePhFgNgpbYlXQYLMsVjYjbACniUzshnTKWhgRBDzqZYbVUKTwBjCILcktULBZMNeDTxgnovMhpTqwAtMJRYQqqavPcnbalGLFZVhrqeoiBPKDrseKKPoPCJpHBzZxlspqRnjQEUbXHBNaOWzBZkjpxzekziltbIZcawAcCZawugkQRlLlQpykORoluoSAPtBanVTPpnbGTUlpCSLSoTtgKSTVOKXBNIKnskksTfYrQAEkMBBJUSwejCtqEjjaBMqOmWNzZkVVyClyGzdrySZxsbKsQdOmsPaIOddRWBecPWptGAgzpUYggnegSiGTJYKtvpvIbgqQAEFsNjPELVXmCPVYyAlVdQSVCZuqcRdDNfLTFyItGenmjwXBzWPoxTVPFLtjseXYFPNjWuAmvRSiHjszjlyXZyKGdjpKbGudxfYuTDrNPnPGHQYpfcFZoBHwrrhcyJLqpFWiRYKVjtFaQeBg", "c_map_string_6":"YuEkKjGEJOTOkLNjotQPDeLjRsGfUQSGcrOXVrAkJXDsNRsiRmPylEaaKESBoovODYbIWEdYWPMWSBfFjchjKtEEYncGaPZuwWHqpOVQCRBZZDDoAWxLdPWttDylggIduQxmoMsTtlObcMfBYYvUrMsSnPDogUHaqkcFqjQCLguwHTAnArcLCMxgdJNCWIQmXwILgtdlWLydoIikuSCJZIHciSVELXFSYBTgpyqLgqdmQvJPjQHNDXVOFkkqWcNfYNFlvStXmUYqSVcqtwsOwZpDUSLQlRqrQuDjpYevExEVaHfRDDeMyveKyNkuqvjGaLAdsxkUCPgimicrZhGsORBhJXFNpwDRlPQGGpxJlXlHyWvGfkZCZgZaLohleGQjZPWIwrpOApduidXNApXCNocjnKYOFYSwwMMhPfXSsLNSeWDdDsDZErzJwFsbIiorjGVNWdKqptjewBjrTkMXXwDYfxmzNhIfDsiJIZAVFFCNQUkqhErKbzBnEpYZKezM", "c_map_string_7":"pidNtebiaDGoqNRgmlpjoKpsRcwSCQVEUbWTkvnlkArzbDQIOWLHaHzpJUTkbWWfouUYQbYUWwSAdzLsYErJORNMjGIMrfGEgbLnybXhUNDEctBzqCLaUuLfuDoplAOMohSvWuWxnlIuEJtkQNMbOLvmhPNwuRUTIHrfyoNDZOItPitwXOeQhJkqDtgGXYtCyXssbZsKKOJpOVbRxeaDvJwiQhWgyFWRaROxnkfuTeUsJJnmZsDtrVFYoiWWatVjBaBthIlJpLYiOTXcSvcUBCwZDCkpsCYfFbjNQHXZEQeZXpFiliOoTkpPFdSwCtLxeAldflbvgeVjtVYUjjxyGGOBFixbkfAjIkXbBmvFtYxSVqQKzCDtOAkwKjMktgiOdRPuutPPEVgvikAYiMxzbzXUDANnCkUFJMfxuQrZrbaxGcNhCGBxEiKtVMuTnkZIeEyRNDsZLkTMpMAWjlftqnYHfVJIIOkKzNnevnyUyZBaSTmSLJAmlpiEjxQfMUZj", "c_map_string_8":"rkFZcJTPKSyHQVpKNrDMPfRoQPatTWnuEmyzrxppBOBXgycCvYtembPPAAvSIXBOzTUFfffWPKmElRNwcBpwOEbvIPAfmQMKaleFhjpojJXQFczfrYayTWfKLqRzbSUxoKZGJINxmEFiFRKqmneqVzHoRHHbwcgiIYybJFDlodqCTGFRFPSHlrvRXpzyRXZVZLSSGgkaSVJeVEEORIsAuIOzGoxOSaUtNNGfZbpCsxyttZqMzSFHSCAuHtghVJceJUyqtdYHlNjQBqtWjNFncoOevKgtIDZVSwQzUKNPshwlcOWycsvSvzfdXCKHylmGnZWfbOVjicchkoZuxZtlTJGWwvAWxpCRFthMUAJzZWKnKIUztdpeqkCQZdUVBJNXePMrmZpVuAyDVOovnGGsdrPVTyqfrNSuDxDBFUOLHqOYnodAZbNmCyxkWiqqraJVudjSJgDuFGNNTJBFFqdWRsxPNhawfkEyqVwgAHyEAGvIZGcwMJMyxcAAItgRDNjs", "c_map_string_9":"mYhOngZjQrPfmVjvyzkxpCmACVSpOUANahyfMJRreFfpfIZUqbTBqQIpqUEnTfxjyRYpFCEfhmKTwArcmFjLIUYcUrUGtJJQNuyOYSGntuvjzebZNDEXPGycemBABSgfPTICdpfcKODEHHfodRVBEsfCscxkgsuicSonaDYonUtGMOSNfucsKpIXRpbzZOyvfhdovLeSVainuaKwVXlbvMOxpQPRAcOSOVyllZuLuVPcAxlvUYcWwPoFnZFRMQSVhQjUbWmtTODhaSseZxFRbTqOfrJYerACSgqjtLQoHckzGajMUiCuBFJaPvKZRgAacgoxUPXfnntPvQtROPLdEtJMLPSxGClsdzoOlLKBFnLZDvalBfNzeLFjqKmMvFvnPLTNMOBJyvcfhUubtMVTTqDVpOuBOWPbPFDnpokpIHmYJtDKUChiltXTIqVMRkzmxgbpkAcwzZceGLUDoUdvbxwdmbjaQtQalgtqFAPTIoQXhehLHYKKvmLzhcJiZqud", "c_map_string_10":"XCgkFsJQxKtzDHvVmaQbjKTspOcpEZGcTZXtEEchVfyxiURigReVoIFnVodAYzYUjUCdNTixGbOlBKCsAdIkrShMRTZqHxoSLyfHgmDOMaPoUkIgGBhCGbjUVMwozlPTlRZyZatmqNJFLncnNqqIlotsrljtQyCUrAeUsGHqINYEJxCRdYSuNIUrFZRPeTlsXpmlyUAfNypkxikXSdBpRcycRDTdfoCVOrHTntkMlqFzSdFzxxAVQJhxTQjueKoRXDBXcFNdPyFVOsITZCYsNEGhBSlTxeAuFERtPrAnVvwbUcInIbUwZKqwIaQUJMFtpURnKWclztWBiaewlTQPDZytEUfwnFGtAPGEkfXTdcjqSvoFXDpsHPziIzdVTfZxBMKkTndZKRCLnemKdKssaUIuvRhbtsaFaEuDwTVURlrVqjRMnvRLswFFVWRuwcogeXfyPJdxHZBRmSRtqRfDctqCydiLZOtsJttSYKOxafBEOkLRUYwBAdUKJzygMkTt"},"c_double":23.685676195399505,"c_date":"2006-01-02","c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_int":{"c_map_int_1":-1786609495, "c_map_int_2":483012657, "c_map_int_3":-426611499, "c_map_int_4":-1381783296, "c_map_int_5":-742854868, "c_map_int_6":-305400804, "c_map_int_7":-1207039086, "c_map_int_8":2137189535, "c_map_int_9":2132461056, "c_map_int_10":471059394},"c_map_largeint":{"c_map_largeint_1":1504496095311814100, "c_map_largeint_2":8067423061901453831, "c_map_largeint_3":-6730091388120079609, "c_map_largeint_4":5663072650735858872, "c_map_largeint_5":7470564254934004395, "c_map_largeint_6":809781013966674479, "c_map_largeint_7":7416877576930597433, "c_map_largeint_8":-1977792491219879940, "c_map_largeint_9":8905744564715656998, "c_map_largeint_10":8130840506059814157},"c_boolean":1,"c_tinyint":93,"c_int":1883621380,"c_array_boolean":[1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1],"c_array_tinyint":[66, -38, 76, -10, -61, -12, -77, 45, -58, -48, 8, 53, 18, -4, 122, 21, -24, 3, -67, -1, 25, -40, 29, 22, -80],"c_array_largeint":[1616985983330392703, 2966522115546863744, 1079924078851779100, 316866302273219996, 4081119405947179732, 6027984882009617650, 2813217294926355822, -1960867320389384515, 7473459832836495766, 7738222805270389353, 5666203788816132589, -8102111708145111605, 3956666955235828602, -2362675005695472619, -1395143017007716661, 4245701652244288511, -5574387896954697626, 7065402535747241808, -4207759220925493381, 45253171212355843, 3845083169587173795, 2502394939574044353, 378909423081141503, 2710974206444368187, -7343230468708044142],"c_map_tinyint":{"c_map_tinyint_1":80, "c_map_tinyint_2":36, "c_map_tinyint_3":-91, "c_map_tinyint_4":46, "c_map_tinyint_5":93, "c_map_tinyint_6":-125, "c_map_tinyint_7":-107, "c_map_tinyint_8":42, "c_map_tinyint_9":18, "c_map_tinyint_10":-89},"c_smallint":25942,"c_bigint":3815954280801329010,"c_char":"qbmKdrYCWX","c_largeint":8605150899829063897,"c_array_double":[85.25902840737419, 11.449489009743433, 3.972213979015538, 89.07669449058697, 45.61925160341452, 46.03883228670285, 60.82433410311601, 98.5955723775994, 36.77767106561281, 99.43024509803904, 96.49533533140439, 23.657138180291692, 1.250876537313485, 6.484346730167528, 77.91300896284697, 86.79420061396259, 32.382035450017206, 53.08456978568055, 72.11461803111787, 71.38186631931201, 44.09028719436241, 90.48925212282782, 92.76392668692557, 89.98776612331294, 49.121919596290105],"c_map_ipv6":{"c_map_ipv6_1":"5714:7c67:b562:a19:5b51:1ce6:18b3:7073", "c_map_ipv6_2":"8704:b23e:54f1:75a5:65db:29f7:e74c:4348", "c_map_ipv6_3":"e11a:4d6f:adfc:7589:b912:883e:eaa:dd18", "c_map_ipv6_4":"984e:5ecc:1de:2328:f528:1d94:a25d:42de", "c_map_ipv6_5":"bf06:5f68:52d:b088:880:d20a:4c96:a6de", "c_map_ipv6_6":"baa6:352e:98b:2be7:cf48:64c7:a3c1:695b", "c_map_ipv6_7":"94c:d044:1a63:6080:a3c6:7419:143c:85d9", "c_map_ipv6_8":"440d:af26:65ac:5552:9dc1:4461:42bf:b6a7", "c_map_ipv6_9":"7a11:d892:a5cb:9d1c:f6b0:77ca:5920:71b3", "c_map_ipv6_10":"86f4:2194:677d:ef13:8059:dbb7:c0d4:561f"},"c_map_date":{"c_map_date_1":"2010-04-14", "c_map_date_2":"2011-01-03", "c_map_date_3":"2003-12-17", "c_map_date_4":"2014-10-05", "c_map_date_5":"2017-12-14", "c_map_date_6":"2001-04-04", "c_map_date_7":"2000-06-01", "c_map_date_8":"2000-11-23", "c_map_date_9":"2009-11-25", "c_map_date_10":"2004-03-28"},"c_array_date":["2006-07-16", "2012-06-10", "2019-02-03", "2009-05-09", "2014-05-02", "2007-04-11", "2006-01-16", "2009-06-15", "2009-03-28", "2016-03-27", "2005-11-28", "2011-06-27", "2009-01-19", "2019-06-11", "2009-10-14", "2001-02-22", "2013-12-11", "2006-02-20", "2011-11-15", "2008-01-22", "2017-11-27", "2012-11-16", "2007-03-28", "2019-06-04", "2009-11-19"],"c_array_datetime":["2017-12-15 23:06:10", "2000-11-03 10:45:34", "2004-02-15 16:28:25", "2015-05-14 20:18:44", "2019-07-23 12:46:09", "2015-11-08 20:20:14", "2000-06-03 21:59:42", "2003-06-06 09:17:11", "2018-07-21 18:07:35", "2001-09-06 05:44:24", "2012-06-10 19:30:06", "2010-10-14 04:59:31", "2017-02-11 06:07:16", "2014-09-07 04:13:20", "2005-10-09 01:52:21", "2002-09-21 23:02:53", "2008-07-23 03:53:44", "2007-07-13 10:14:34", "2013-06-06 15:41:06", "2011-03-20 18:04:46", "2019-10-11 07:53:26", "2004-07-05 05:39:39", "2012-04-23 11:32:24", "2009-04-21 11:39:42", "2005-06-28 11:57:09"],"c_array_ipv6":["JreBWrkHYI", "LUqYeMxJpg", "LEiOKJWjlS", "kfGpuFqUUs", "dBNcJaksBD", "KwurbyAIjn", "pczxKPWpUh", "aCHpIlEOmN", "LoGwZoWHGI", "EiZDpbFOJu", "bDNZFDggIK", "HQOippihrJ", "NYCZdYfZrQ", "XiEFKFMmJC", "ZGqxQqwicf", "AamSmcfihL", "lxTlxRbdEb", "jNSNEJhzwM", "InxkxfHtAB", "HvhvxuSCtq", "gqDgwvFFrw", "zTwpfznTPy", "FiuAWqWnDS", "hVdjThqMhX", "mvLUwOZnKN"],"c_map_varchar":{"c_map_varchar_1":"xIbMgsqPgbObxtqTxnyZeXxABaPLAOkhDbSBMaELrqwlovfvrcoEIlYJvJjRwdenzXKzghCgXzMbwSFYcWjMzbNhSueTcLCmIoKlVZJqbSNUZwFhVeCjZsZITMGkTVJvVDyuKsBzBxXIqvzcMervKuzyLWthvBPSodhlBooxUssLBSRlHZoRNrDxgmuiNoFrZZpOLeGxgSDcyIXqImwDgZqkaqVjSYzzuQPEePeWDCYffbIjTZXgdHPMPkmhljgL", "c_map_varchar_2":"RqGLGGPxWKozSGhLhpQAkUHWEZQmNKQCkjrmNCUNBYifkaEuFViGTpwxUAmnZCwBLVzMvPWTZTejqzzrUIdQIKqMINIxyoaTZWGWNhwXfYCufXAuvqlexAvGkKyQAUueUhOMJTKSPyLWDmnbkTcLANPwjgxjkaugLgBzphgBEBiKFSFxyecQPqSJKWqfhTuZvCmKBGMWWRATZNhSIEsxMxzxbfkxwsqVaCHxIRhVQueUbjLcURLHIgjeCSKZKeJD", "c_map_varchar_3":"ZLSQYVAHPVPqMeoepiZJLyMRhMnmfgmAPPwSBjWcQbpBVJQGLHdsZhYhDEZRdaGKrxvYNqZSNUHobXWBMWZHWjjQSMBMGEDJpBOjTOVwDfoGnqsCUrovZMLxjHKmtqqhxMKYgUGXMCSxNnDqPYmqnelBGLtvlDElCkfeYlpSApuUziapyOLIcaQGusSAqpZQLTjFuYNnryChUrkbynTyFypxEhwOCGBKzXjFaQFpWqNlPnYfDjekWQtxkoUKmdSp", "c_map_varchar_4":"xxmjpjuLKVEJjmaAlkjaJTXzgQDfKjtmGjXmdWESbZJGeDAvYVvKoQrtlsxwtcDyKGDEagtWYzzhQmzaGuOBhvXegLQONlHVlbDwqJtpEgeXfKafLHGJeTKoYvHujxepbXDxVyyOAfqyTlqSnInUjUxIrSDjAqgVzAVdWoDVaHsLwXcrEYuNjdKNxnYdJAltWvLoHsnmyeYkiWYtuvsMtJuFPmYQabwHEkhSiJmttGmNcxdvQEgHnMIyWlYsfgWj", "c_map_varchar_5":"aBejwUBrhYrZukccoFPBEJJaSiIuZtJufACSXBWLoaQKGHIPfXrsBTvhdigpKiERbbvIJaGkkykUzQxeRSoaFMWFHbcPTXEcWKqqmRDRTCRLwTnMljWxcuJzrGhdMtWuHdUzsTPMTKZDCIcEWeklrINpUNhjEDiTyLrCpvbGQvUtyvkdLQMSWazaIKEdJONtWWLQMIdYAkoxqnCgtYIqlzdYtyafLPdqyxuOgkhWjbBUzyBRIIfDMleCwHLXsLDI", "c_map_varchar_6":"rLcfetoyRJdrBRVqJhvzGITwjBldjxcSHryieZPtUfGMThwVLlUADmPtGNWsuSpkLwbHjwMDrGoHofODayICPFWOSezsPKvEFfdXWvwoTnaDIaBzaDvEKjuAgXOJBIqNXoomTOEuaahckiSceipWDRmZWZACQhgoeIaIVIlFCfIAeqbYfAjomKNGkzRCupZYWotyIqSOQJQiEoKALgTzepqXoaaZWQMzFRBTbQlGBLCeQJXIncSJRAiQaVMeWMRF", "c_map_varchar_7":"inKxIrdZoGwRbcLbieZLWqEURvAWeJWvLvKQevrMRDHHocoTJbNmxgxgaUeznLMOuPbntetLJzrenvKUuXDlNMJmwmworiTJYQTsOhegsAZqeVysGdeczHxArimDzstpSbzZDYxQbhcmhBfQztxfCQqcJbGDDsxXJluzxgKxfaxCGwFvgYKjhLYpDQKxFoQcvbYGgObiBngaYLlvKZsrhALaBdCNOUfvEgzIrabkbMvdBxvazjcCiiXgOBYvvCXp", "c_map_varchar_8":"xhYrQPCLdTRRRywNlEVMZNfSfBFKRUSzpEIIWbRCZEwzcVSDYnHAvOjJnHnkiBozKyJyzozCjoWsXIvGqDuvIsDPBeoOLOUqgyADBLLSEpNxGAGuQvczdhjDdvukHuKlazKQDvWbRpwHFPPMGuRIZPWNyZYvGDfVjeLjtXOhXZPcruLcaIbCRuMESZKBpwYksspYkwzHVxrrXLuQwmZSEXurfmcMAwidGnmMvmqzhRqAZVGhrvJgmFkRkScnrFAK", "c_map_varchar_9":"wSshNvduwsmtvnDucpnkZtEfpXgeEpwGgrakbdBSjAPviNbmRKjVzhUxjgVYThYyzSMUmggQmFMWwaFRbkzBvjroveEBjlWeNVeFNJihWAepkqFBzVEGlaIvERDDxUhdzXAbHCzdcpVBgDqKBOPmhqvhPKnTkTDFvMbZPpiOvKrVZzDYIUYRSTqhbKjTdzdwMdZjbOiMqxtIEHSGiDetWWpTURBxOWgpnzcvPDcSahwUsPdoACfTQCKVsgThugad", "c_map_varchar_10":"wNKYFWBIHWJNHfkYATlBgfQDtuKutnMrrrQssDKHbnXzOhCNDAqrTrHiTNhlYbVxaHAcQxAJWeUGowZNESHSBUnrnbFiWyYZRtYeuVnXAdWtSzGTBOdwpEXnMXssDyIlwtfYPmimlxRMEMhLABvrrIcSmXBkcCDfksfcpphxwCbZRvojeGSXwXiRzTdSFBiAzgUBUYLHdJgedSqfeiNuycQeddXSJDnPNUxnViebSbgwDuHIciqqAdfqCAiLzbdW"},"c_map_datetime":{"c_map_datetime_1":"2005-09-08 15:16:30", "c_map_datetime_2":"2005-03-24 23:45:26", "c_map_datetime_3":"2010-04-18 12:32:40", "c_map_datetime_4":"2010-10-09 12:47:22", "c_map_datetime_5":"2016-08-15 21:59:15", "c_map_datetime_6":"2004-01-22 22:19:42", "c_map_datetime_7":"2019-11-21 17:03:55", "c_map_datetime_8":"2006-01-28 13:21:42", "c_map_datetime_9":"2008-08-15 05:23:22", "c_map_datetime_10":"2003-01-27 20:12:40"},"c_varchar":"ok","c_array_decimal":[96.1183, 64.1160, 3.0606, 58.0255, 15.0119, 75.0322, 75.1610, 1.0953, 21.1253, 86.1170, 17.1122, 56.1713, 26.0099, 96.0441, 19.1717, 25.1035, 17.0082, 79.0107, 4.1759, 64.1850, 42.0369, 18.0188, 5.0547, 26.1939, 69.0715],"c_array_float":[17.467955, 23.814314, 20.55652, 61.52429, 88.44044, 22.255789, 65.06729, 35.938576, 6.641564, 76.10854, 74.5414, 50.57506, 20.953493, 88.87927, 11.750766, 75.58321, 21.070642, 62.72724, 14.001144, 55.82439, 79.87525, 48.5778, 64.680565, 78.5043, 24.956152],"c_map_ipv4":{"c_map_ipv4_1":"244.137.85.179", "c_map_ipv4_2":"244.141.101.6", "c_map_ipv4_3":"146.210.11.10", "c_map_ipv4_4":"100.205.213.58", "c_map_ipv4_5":"41.78.190.204", "c_map_ipv4_6":"185.99.206.27", "c_map_ipv4_7":"140.3.244.20", "c_map_ipv4_8":"69.212.74.45", "c_map_ipv4_9":"149.242.128.182", "c_map_ipv4_10":"170.102.131.251"},"c_map_smallint":{"c_map_smallint_1":5857, "c_map_smallint_2":-21001, "c_map_smallint_3":6257, "c_map_smallint_4":13172, "c_map_smallint_5":17445, "c_map_smallint_6":-16824, "c_map_smallint_7":-22761, "c_map_smallint_8":1641, "c_map_smallint_9":27721, "c_map_smallint_10":-13838},"c_map_char":{"c_map_char_1":"wSJPoyeBji", "c_map_char_2":"FowUmzumph", "c_map_char_3":"IIJVGnFcbX", "c_map_char_4":"lRzEvBVXTq", "c_map_char_5":"yyqsohaGag", "c_map_char_6":"MIVCTOCrED", "c_map_char_7":"ZMAjnaxcFL", "c_map_char_8":"jBPLDPqGXC", "c_map_char_9":"VccXSXzgrJ", "c_map_char_10":"JjFddkBgfb"},"c_array_smallint":[-9866, 2827, -20153, -8201, -3926, -26143, 16671, 11363, 23885, -17853, -23495, -24927, -26259, 19076, -11550, 10501, -10493, 6144, 942, -2245, -16535, -18193, -26057, -8406, 8828],"c_array_string":["kNTPbKofgQtcfujPMiMlVxCrGuigsKtZLQvrEKxZpLwPXvCGKkqPQHNsAkHNKxSyoCReCPChTgcaPnldAKQGXCYjMBDRKWLliqaPnkHEAyXtnJOFYcOvfWXRUazcxakigTJcuOQZmRHGkHtnbegTjbyxSeJHQQGiNQdBPywJynvojiORYnJmnNQLUwYVNdmvogERlJxTcRFDHBhMVQmDCvklNnhzybDDfvNJXmkJYRMpXfoarsHzhqMsboaHhnzxOiFYexCmEBISbEQtHTQNlHOjhetsZDFgEuJbZqlKPdeKYLKDvrZAYoZfbdMpdLCmFhyZIdnzaGFUPWlTyDMbLlbKPigiBNvMhXSBtsGUySoElEiyqODktJeOXEGtqHvTPlSnTbJAMrRlVofmQCbUQvIxHAKpYjQwHiUXiUSUFCJYSVmzqIgcYPHlGRCRWbgtjwgFcrJSAwIsKuxFWIRNddVhIbIORJANZoNfqvseIaKscEjOqHErDmftjltelvsf", "ddoPLUBRykTJIPDxJdQgIVsbuNvXobpqlKZBFKoSTtxVOjGCmnZJnHKRKazSFFqXTDRCLhhWcdCZvQnHoiRGWKhuuzveAsOdQJjyHsncskJWXUZXfXJjTldCamccpRGMbEailSZNKbHOEhHazjkSrJybueMEgaoTzMySnYpePGDomlVUzLLISlIpKqXgNSUHvHWyDOxlrpVdwBrFQpMcmaaGPmgkXiSjuivrrkarYXEPWGACSFYmBNgdxJJHtysZBsjhTMzCABkhyKGAHyqtWIdUKKqDzoaZdWIEigbghNdIfgXirWRDatsPmwHpoMsaLiaSKYMLrYxXzNOnTRlIPRPlLAqVyyiZyDsYyMICdSUCQFKZAdimBMFVxDhUwvAGLMNCSBdnKuiUIYiirncekXsYwIASmdIJbhLpCkEMPsbSkkbVimsCyyCcbobkjagAYWqEdFwpatbiFUadtqljMWBpuFTFnxrWeHqFDsCfwcGCuUDqjUTpdIclQpAgyzBC", "vWECaWjjpxEHcPPqNehthtWmuJwxBvCUvCVGJxXmgsLDTMudagUyNSMhxsQmmFLJgNlzToBPbTGCRdUJjVSgCUpSMeJdArvqkFdpAzFsLbfCzCEghKsVmLVGTiHKmKdsbuovXrsPDupEqXenWXCZWvqIWkRlGHTFdhGMhqcPOzFOpbosClPGhtnWmNOidxiAQTVMwQraMCucvvqzEKdmEgerHuWpKmgJMIpueQNbOjLSyXtvcZsGVmOijdtUXMThGpYrNoGeWTqfMcPzlsmlwNYAfSGbQGdSAKdYOlgnLTEoVaMXckMyiuOsvDEnBCAEiSxEruOvHzDsREyiyuSWBdYDFZSKWvBcVdrchQRSpOYTxjxoSKEHvncobYVAiQekswXigujXKzCmUQrVGOrWBJtKIesWlKClAXFwDnMnqiossiWGxokSLYozPUDVMDVNKfsXmtwrIYlUiLvJRASnEccyTxksbotvhoHGlVdAZUlaVQexusVxZiWbpZTTyoUP", "WzKGiTIEJFUhNdhbGEHNmoJSISvoQXOhNFQHmnmvXfeviDtAuwyDlWXFdFahwaPBxpKlGOquRRTOvRolteIXmlOkUDEjAgWfuZvFIDNawZkqxGZdpgTyPervvMWJpdLXYAXceNYyroNcqYgxraLPsueTGJwPSyrMFGNEXvRVNctaDlbxkHiLRkBFuZyOPIIoUjcacTngTzMWIPQbSwcOAwHTkUMkhMngFdYKFoVpvzXeseTimapgiKcpYLeGvYQpDdtEdKnCXelDMTGsEEXUwaWAtPEQbLRdWOwhRaVXkjBwGVSfIHanZquYcTFAMdOviNXEdBcHHpscByNhuJIPCPGgkmzqKmfzkbhTAyOLYABGghJdQiCwjdhhJYjfCUXAdFFDGTMUtWpukQgmqfEHhdzoFwpfqGEZleWDuxCgajuzFWLvxvNqrymUHkTQSNcCCcqmzjBlYBfVIiWwBWrtyNSNtmiBpcYFSVUVRINvyLsFuKWxEzXXzCOeJuGuzpHb", "qCHOqqBpjqldFvgpeFPZMHcciEbPbEtEZXQqLxSyiiXLiighHrCYAEBuxPDNmmMAvOBrhbIZLkEFkNizlBLGApZGFrndyTqjWLwuJFbZwqUCTRvDRqZcJrYAqdMCpeetuEfvZZNvrMLGzLRazjbJNquGQtNUAEkRutOywZqvOYHRCHazbsiVOvEHnjueHkOOyrAgRcUGOvKJDNGIHEcVSmUDLnIdxOJSSilRsFILvXVudBdEeUYikYyVDNCXcsLFNxuQOpOXSUbHxJbiOzdSOXHmREtsUTSGjQKBHAElZWoSzjMfLlIcfbYJwHDYsgJjXxjDzCDYEqfCpVxCYHXzzpOBqclpopdjbOJbWFBtHanqhjlVVsFfjXxULZQRxLamJRwkBWssvOGxtbnveGgOHKXGYsbZIMYblipJTskXhyqnjnsdkzqloehrtofKfMOnwYTIuUvBFcAMIGKGbGIHztaxPJNwCkJMCFLBdchOiLGMGEMwKfqFqZGDDJxlBgCz", "XWSnalwqefLhzxrAQpRrqXtuYwBppaPHzqOROyGdIQdKFkLjhFvjENJhhfbTquKSJhuRCpCoPOhlItUQjrjtMDGvoEsFjWkmLCmCuTOgNErORaBdjXxNxWxHKBVTxibyCvpqoqzizDEpLFOApAKXtVEggMxaOZvxSSQiRjgwOLHILfKLHktUjOHzKpTgDkWkieanqUJRrTCoJYJpQBTPOUKUGrtXiZmDQlADGQEZPFxBeIbcPCfkbWWfLBVkcvkdiAQeCErBLOkXiCZFRhcUgmhcIEsvPsRpmAUWfWungowomHGjJFuFGgdRMqEHaKxwavZGMwgWDyVuLmBlsRlxJrDanNefcEjaJFpNikbWwBcEOqtlWkDifxRXQidLxNLlaIQLulvqVjPyuAbkRWxDBFkGpnYUWtOsnazOIEuFrkGbPdJRexJotyHtrWRmGSOgTdpJAReRYPDGYrSTEtGugfHYLKcHgMzlGNdODLzvjwgUZTDhVMYjqTAzRLVacBwE", "XhwNGoPqSxujOlETGgcMjUKmFFSosswJUDHLIhUvIberjXYBmNYBRKAKCMvSosDYNGVebAvRUDjmJjrIsqZeffyIbyqDoSMxDnoshaGmBjUtxwdCKAiuLDoxMuqTJkXbDgKcwYybfCJbCMuzfPoVWcWXyBJmhLMSyItSSGotChIKlcNYPopYUWfwvGROKnBKLlhYVobWVHuutiMaSBsBgZESWgAEMrtSJQFlMZNjnDsZSbHwPjsHCnLLDewoVtTRPrNYdRLVfjghGaotLxLuvCeygGVowtjHYjaWjmQGdXqkhnuzaOfBdGBJzlcEAWgnNCiYAeeyTlCKAFnAnuRTlPABDmefofgAtNFeYGbItTHfKmGrIydlrogYmfOtyKBVgqfUAWCmIsrADOqboSQaCoCEilLfEfNljgSDQqRpObTfruElaQoXlRGXpgXNEXQGamRjstbOkmesbTWYevzmKJjXcyZvarbQsqcIvOaNAIkzRMgEOfSsdOxzoWFuTvWm", "QCivmKGtqVFkZBKBHECnXqfIjtwnsUVwDMdyizdvKmFuoQQIlvsGUiDlvpzCoPRlBBCUHxCPCWpRsFjWLeMjbtnhkNfctMmlPdtLBFHjYWHEPBcGqZBCKPdkvRPMHHCIaobXTuWvMgUFkJhCwTkwFUYVbrctnMSWmTELmshguDrYFxkzWEOMjTmfINlcmknDaInOhgggXEuTGgqexGuiwRdVeyLTkldVTdHUunuvhLiPVZdlrzdyjyUCLqUaKSDXqfqFfwOarfkGxaDmZmCQjSVhBBmsENRqADNQTmifnJvmWZTGBmiewAnCMGEWdiMUsfzcmvMCSVvuOkvPmkWPUesnQeImukvvnmkeyEITlVdRbkFgnOmHajErLgvqrDfxTWXxSDERRcAFmnMMVPyygndLDGZlisTIgJeDixZCBuQBDFnHjjyLVRdMggxFcrGaikBgqMPfDesdttDtYMoqBmlaubRvnOpHzfxFDMcgJWZooBlqzsIGJSDoikKNosjk", "gMdaBnQZLUiHtaIXgIeawqkwvySFYJplBdkqxdvLIsGYlzYDGwxzjsaALOUbZCNKHkUCPhYEVhmoEhZixAjyGmrHnmJbfTPffmieuUXyfdyeWYRgratIrBkGjdrZJcFOmkImPpgbpsSIdrlHIoAYwGOpFaBgFmMNuchTYFIUlOslvTMooUezYlNNqwXiQkZyWIHSWxFffCeKsJXJbbpnrONrCwhHdcwOWROAwADWGoiJomOCJhmDmQKvFNPPsyknbanyZXpxhYICwOkKOZmQEHWDMklzdjZoetCqAqAYUJXmBqLFXIZLXmXBdKtxrVlSKoICqjkfkIOVcovvWMcCvptAPrephJYJLTGfTzhUSQlDEzQnKLRJcUBdVJGPSMABvzHQHaJlaKwwoJFTwPoPhgkPgEfhMnQjIAxMEBFcbnWsaiSRMdIPlrlkmNlXixNsiyIrNIcMkGyUSdkkIxESPDCHziwCUzgxzdjQeSDUYVdnGkbhTQAeSsJejxBMsVqQ", "QmdsbhtYWQSMoUgtfCLYJsQeSyAoiKVLTmpWtrrCAsNmqIFJlzTgpaTReyuwpTbvfGxVAtuCDrBvqTfGNebavfICVCiBGwnmTJmhtvYmVdBSKzzBXOPRhCqAbfNHxdqMmaAJTKuKjSdHJnIEGasGMjCOBMXPLSjSZKWCZtXNwGlwinKwuijkxeRfeaUTJjTNXPEjRlHRLXspunYRFLcDODLiFNGByNeKkLCtifITlpNKEZNJIZhcoKhmOOSItTZzRTwnSCGHXZQBvnOHEzrVYYljFDutCxtuFMJESGiPqTqQLdLoXnTQrjGYKawBvjXIfgUZZrwPamTsxZKcmwJmpbYoukzwHVWYGouOhmtxuvMgtjprgKSngikdQmdRobjkqQobcaYgILjhyueTixqDtGPqTQrKSOotFGzIMjzLsSCBZPewGKDytvSxPgmKBbfqRxcgnVtRUoRzJBqEspFQwQRkdiegQgAnsvUvHwEMxrCmoZhjvaDrQpHcqnMMJlqt", "giqzwSsXxqRhzbyPPzpwPEEhYKfUgeXuFXRIkjsKKmSTmryLXsssWPWttXOUgsKnfakVWygnjeHtFkGnjPhdFwuFYwJGUWHzoEyhsimqGXxvtTcjlcdOmKDFVXjXuOQiKGjLlmdqiyyPTJKHEOUFtsgXBORiJFSKDlxvjXwhynYZLWyZkwwZxfOcoUoADtvKtWvwDurBGhbfIgseiAnQflLNJfdnEgBCacmZwghzqnqsvTeOLZjArscYnrvPtwMSRjDfkudsRVbFzJivKqDgxycUKlIXbHHWPripfIytLfflCnHNJUimQpPQcXZMtXYLjiUbWTZuidtPWQYXgzGHZTarmWEAzMBseAQAnSLITenqtXGeneCjHsBNQeJdkYyAiGlraCAYYTApXltAyspdxdXdFckIUuHbDaPvIdJsWFEZqXCedZmdWTMSLrmiShZQaTDQJeBwIzbLTTWVgiRfnPiplRvXeknVAOTalMqeuBtttUQQPYrHXrMjlyQZbaEC", "ADaqyHltXBgLDvBykvbhFiMmeqxCSKzPGpjWklVgsEafpUkLiTYucGtsAgYrwaQGtKAAtsgnGiZkbNljawscpEcvWoKJfOSFJSxNVTQluzUWgqzgZReYmPzuaOEzmfSAaiFxyFawsfmsiuHtjIuCNxKlyGNsDUJLPESIKPhuZvOOAWFQVYLEkxNZAkhGcMuSKsSmtVXUavcdjiBOIdaOqSvONrODFVfZjHeRaZXYnBHmLdjCuhqIcqKXwoHkRWHAFSmFJkprvQBzLlNaxyHDouGWKfmKreZEUiKEQlhpiAoYOpYtbwefPXhiqxJdCQJQkCwFcCFAaxIgHXlZNzBPWuqShMIQSCITkvWUtFwgnWxdicbateQTSANRLKEaVBOBrMVoKKpfxUGwdynEdXiKRRXgqEWaLlnZDQjJDejUDEszoQRcAaQamQbJYEEwoiLgZFjGitzstdUeTThApPAzxceCtIpYooUPNkPKcgKzPkVYbejJqGPCzFalgEqxBpqw", "ZdogcPfDQitHTzONvyjabhkcVnMMGRrcVelTIrJGaYZWDbslxymIGtYuIYPDZdnxSxGiUevzZImkofWzsNjoigKncHNyoFfLiJDnyTJkHfwwnmXRSRVyLHxgBpFYPrpEHRIyCyYPTpcCaQsnQGMWGsRSqYnUPjAaNywfEBxJJphtXoGhXSRlvafufngtsAXEEojyukgfuFJXwcXkhoPnSRWSMesTAnwMLSgSJezdyalSxSBIllGZhzlfEbGDPacXoimGhtkDvFhTcBHGxMBgRFGYkpBpwuRJiMWncquuyUKOYUoYkPEsDnFmNVdaTFohfdZIqEEVMqAAcYEjYiAGsuJEVXfQAWeigGBrhDvWiGDbSWdjcRGSddCdkCwJDNFeIkYuHFISmsuUxdnFYRNZtxoNaHYbFiBJEspiugTYIFABDlEOrpkaEYOTVkoRLwiuNaRiePLnEMevrTmJFBBzjIueBPfFAqVQsIgRtsfCUzNpkufkyIiiXyEwgqqvNrOo", "vngQKkbrpHmEQaCYnbMGVoIBZrKNqhHvsWsBXJMqtCaOMdtjxOixuDYCvJDpzLNCYeXxTTraGbKOLOBfqwTbRIuykzEOQtxIVBgZcNlmeePxmfIkafCHVoBVrqjmgwRFYiIOkXAKUZXKGqxgOwmEyEaNlgfduZnZuydWFGcgyghNotXudPvwgDdjzqmEfjHfWgXFWAWsxwvNDZvvbjblzuyUOawIDgSMisOIhxMZEOMZBkAAeOPsUjjQWwQfZSWeRkOUcxtefhOkfSCptDmghYAHqQXYOTdAtdMkhkpEbCimFxrcxGseXGTCilarksGgPrUEaIUvwNuFdKvNEHzBlAIdOnojXSePGWLrKkkcmIOThTCaKglfTNXZzRRFrIroZrParinrsabutZmGwrAORzgozSxErGhktMxXylpKFBoOHXcvdmeNemVgjbyrbShZHptPJzhMJUWVcprNehjbIQSDBQJWHJKfzixMxqDyFKNjoNSyAZAnlnwJQrDWgHIt", "xwcqCHoRfAFhTdbpiXAjImovbgNBOLdVkcbnaUqdHZqkhqtrhKdpqIuwapSTbdZRcyLXREbuMbBWPeAdzZWPqyYgVpHyTpBItWTJDDmlRIpqFrHVPPmqCiGhhXzUbkosrSDSdJupDmroNyOmGYCvhqhxugmSRQpIcpQKybaceNEWXpmQVIsdfklJJgajZDMrRCwgFWdzrSEYCpdbSTqpAzctjJcGEdHvYyPYnzeFUGZtVpNlGXZMmDuRoxzMRLfwBNtRuDSAhTRSzJCmVDyYKuQxbeHzqLdhlBOyuXwwwoFCOhRCDvQAuniCqtjzRbHjGztgEtGoyjexGjwsAbBWwIhhpPVWQGBZTPvnZQmUrzKiozEXQzUezuPsKNXgTjAslFmgNxlnEzUIVknrOQRIbdRfXXHMGxbYxxrAVzJPeftPlsnHuAjCWHuVZxTTRCGGgnRxItUGwTSRqJCMJSFBhMgeZyeSOwXaavaAeOWQbAeRPpAEUgzLTvSAWLwjJcKk", "zJWyCbggktIwpNiqUpYtCWIKLPdthLfdhNvyckrAjBNQZHwHagCCpeqjrjFiRLLEwwcLZoDViNEiLQmdraEQiXpRwywpRwDszwuIijGYRXAtaUodcKPPXbLLcpROvmpOrkEnaivYvtwhprumUAtZFCGOzrIGnxYCBZDjxnKELGBGTVgYSjHOwrfQBYURldPmwPVDXkIXoUCbAFUmlJYdAWrNbJWEJrsNNqGIkIXoeNdQuudROVXNvZVdMuugFbqJKNxSwImeDCwVBEAEirxGQDynjOcxedsoNSjGYWjyFWduNhehtchuAVMtAQNlSAaXNdsMscLKoDxriRBDmuUIiAOWvfczuHpFvzrJKisbpMGXYktrnhXgDgjcVtmSMcXlsXTenKWharqPRtDKSPBohmQQvgHFevKUfcoWzHGMamnyACiYDkbQLDpcZjYyznOiGMthRaZXkMnklRvOTipfjqXmfZfqSxqgYhAfrPTAcIgSKjggGFtesdqapnjhXYZq", "jgKXWVVpGgiJgFVhhPEfXMsmVMwYQTSunLYqhIENnzuyAgUfsQxoIPQHqOezUhvshyVPfyqRYqJzaTSpCfAvmMfqCSONndefrgcYbbuoBgZFHTDXuatxMDghFXotlzXPGwHGHuDhcDXBOtxzxBjtThCNmYsIvulnLbfsnzMYgxQeHnuWowwkOvQVAGrIdIkbSkAjiURhGUToiUtlnJtNSznwNiiXerXXCoYcVfwUfnmCAMeMeJyTRNoPVxzKfqJtZwUjOgkkPBLiZTpsufkcHuNkCjuLTNZcNzMCZUxOCtfOExbUHZSHAeBtEpwYBKhZgdvvcvOUEAiHZZHfwvnrEOqtgZJXjTmhkipfsCbqWBfiHqKDUnYgILgJSnplJOhPgwoyTpyUrbTwljLAWrnKAqjedxkwdPwWKzsLfqXuLvdbiyGqkvLYXREWoBICFLXqQrSsvVFHrxKXcauaKAICBtOyekWGJcXDmXJNUMVfQLRXzsYBaXoYameuSPZevvNJ", "xfZQAORaTnUpYwspBDvJNWlrqmaADVGDMmAYNHFAHhbRBljlLZuBvcDjOgXVRPuBuEhzkRhkdWQSYMQHRIdhuZQXKgtgpnfjHTYEGXRIGUTxVDWkDxhUZtNOEaEZbnhotfnneWHQpHzgKQeiVJEQvnoQhmGxSrmliOCpzfiFUOwAkCvLTlILkEPURhzvnHQVmGwYHYiTBPgZwZrHQXknmaRvJsnDhkOALXTHWXBtCSQOffObgQiUTbaOblKXQEFTlZNgjUIIVANuJDmxktCqDdwxIkhYceewoNLHnAieiRFeoPkNHtxqKqssBcgolKzlnunAhgJiAOPPvKAypGSHyfLrbBQuyfLlWLEwYXzJqwxVdmnypmYQlgMNsmlhwiXshzjZqvPXwqXTUWaiOTRbnPImkhhsqtBZJYopsvRzbAkmuIlPXxenjDCKwJEhmxkwBEwBcoEkxdwahGSZqZgOpLdIcdDudqOpxULlXgtlYHebPGZOANtDxYwBjCunBkZq", "fQUqwtkIetlkUIvtsWiHJzhYsgonTZCnKJSQWrIKpEWzHIXPyuKXpkHdCAfxbdOUXUhDyVnrCacnfTgYYJLwbvusoSqAYgcwNkEZWhkkNKXCXfaHDdqoFNHqtgbMNnVuRkxSNSIXtryyNxrlbjGqOhsjshRRfkbHZtlxGokMrsRhCqUQRSxqRzIwOUKcdrWikTCwSkuihbyUaAvuIEKudFeGTKwKIDaqRSESIaojZDtuFnRUSBAWSNWRvZSfMuNZLriyXBGbKmLFrcwaOqpkQKaHovnLfwrODOOMQcNmlMwIDuZwbWQFXzVJcpbTmhadnAQJwhqznOkHoTvUqLKFsSQXQmyqNeBjyavGJZTXlWUKpYCZMZbSYaMvnZzQqJwljsDlQRqXksFcxtXvjPKjAdiWrYqNFdDOgiOLGGpDwVLazTyckanxuEPcoozkHWuifzRUKbMhDkcuwopEWUfXOitnnlZToMbxjqFRPjuGGgNsETULGLmvQgtYZLjXLHSu", "lQqwdTuuHQUAWfCARNHDRrOdUOIcXxxrwDpIiuoodfTysWCWYgSafXNdqpnCEmAxfnkKmLzozbhhrwQtWrWUhyPxwppAwlwzDsKvSOhODSzEwchwxUSwMhvZoGaqraDILVPVfHPNPTDikHnAOPyCsssRWGWVUPNBvouCihzIHvMxzAxMRSYzRLwtDIyHAMALhpjNuSPsgsmQbrplDlTHMJPRORmMrxUGNbQYJpTWjBEKEiqdSAjdHYrotzEQwPBbXwOfodAjQRWxbdhKwuBrQxFJuMSbCluAIwrcqCovmBagLsCycCooaTfWdFcBBZWKejrqhbLoqDOCrVWxhwVEKlcSQusQrqjEyMCXIVXEYKDxLQaQvwDVfVsgeZzesNSYMufeWVBPRwxhDnyfkZzGobVlEAZMaBTdCbOTOUvvnETDxdYDOZsZZLSxNHevyMpQqHbswxWyXKwaVNGNPxSBQQCFKVgGJwsKfARrfxsPdQXXineFYzaRybvABSabKUjJ", "RzURVsvZBzfjkCADdnqWLPELDmkVpoDOjxGDgMReTGuMCQpRRVYxcOTWOKsMoEJzjZSfwQJUOoFtHkmkzFpovvXCFtEBvlMcBuTIhvCdbIzmgCXhCQBSbsnIgBKhpdMDDMvEErgfmoYKiucIdCZErZzGRDgRwlkklMgtTDJOgFRziscUBUkrvScqDRLHIdnzAHdZnmxQDsmPXKrMQDJUcgCnvOitNLJfWkfoERMUJPrqevsCTnUYXDUKQZzGEudZEsmyqrAoCzDOLupFNppDwOkiJJESMvHBgelMyAoXqQSvdBKPMHJgMHYjLsDDvdomjrUVQIUFOkwWLuYzhSDEDpbTtKEItEnsKnHirXcnOKqnMzMUuhsesCSpEwagDeaTuzlyLLOJypudUrFZefzmwktDysxdUdBZqoTBOeiidUkIfKcTsbkFmTMFytnSSZbcIUATHVSgdGEUlsWoePXbgYyvjHARVnkLXNlTwdjEvUglknXRdyhhChGcTMrEZYNo", "YQVSkvXPGpBNtCmvfXkVhMAytbYjSWqYKmaNUvwEQZxafmfCOtkwGKqmkAVwEdzWjZQYUMFcnuPYUrUsKxnAhjAVUZsGHPZdNcfHIYTizlPbLndrzudjqKFGACeAqujRPfdVPzuRwoCtCYJxdBshWvtGpYarNEjrrYibtcDYYUPjHtxHbVZabjubqEhBkHcseGYHFWygSWJSbjLKwdhuFKIyqgoofKYndEyvdiOwkiIjdhOldgZPnJnsOdGyyUTHHWgKJaVnoMyopUwJEDuytSZexGAErMijRqYGOEaTyyRBzrGJHGuvIWRXxZumXnBirOyOGACUodESEqoxBgUvKhqBIltPkRyAebRqYEQanqfNbdnReQOsQAWyTifHkVReWxDRkwmOgyjkpUBarkqDCIutpdfiGRfEYmwJGxeqCHfEBWAQFUwzLlWhuDDDItFmbiGVehLKQliEDVVifATwByZFufZMVQqaiMCaJWmIIhfnowoOhEVeqSjuWKFaECIe", "MGsCbgrEOuNwdTQreNDcAwoLvvdIfTzILzvdPqHBvFxTsQFnHqGLPARbZBsocBOWtsQbSBRSjxOarTlyKQuedXGcLthBhZPKKnqBqcbBLurCWKmjFFeHpHrgizwWKBlKWgsegqoWBZZlzcrFsteOoJRaMCSIIOixgatGlcrDfkUKttruCluDGJePGjthgTGJjjHPTMfMLKcuozhhNSmFCZDOXnpiiSDIvnUiycKECvnmLMyfQNmfZUZqcknZqltmcTKbXNghSLOuRkOIueSdvkOrozrqzNthaHQSctFOmCLbcmrIhCWJRrIgLLfZEQvAdIXXzaQsNzwjUonXSvxaJtymSDGEXybjpGNdXFvrqwONAYqjPOrSEmyNCKpsXIUiieBanIpZlIRGBDmTVSoYntFGccaLsyxaRuZuDQYKeMwBAMAgxTzoSjAbRGsCavTvfHeicUGMvSSkxYNPEpSmpSNqQxeUjvckprtodANVebNBImLFpLwnosGEbjwZqHzn", "OiciYloYpiFghwUzVMJcVJfQYXAmOljFGmigJrOODMibecZCCLWivdqeedtpMJbuLgXTvDqDIaayZTUwKJDENRxTgQdntxIMLveMqaxIaBMmhJjrqCsTtsmHnVWUXpXTfLoQEjTueQoEVGRqcgIZTJIIgICeSXfUPbSNBXwNBnSmsjxYTlDYpWNCMgOFuTNoLRGljOKVvCCzRlRAIvouDQemMzhtrExdednoBykpcaBKMBtgAAQeDxnEccsAnWYRhQLTZNWdtUwTyQpRjeniYFmnMeMSdZnTwpwvQGbomtSbJMQMHBfLuUCVNSkGfvLQmUwfroRvZoMXbLXucvxtFADUAWpsYlXbAucnpClnokAeuibutXYEXJIKpyUutpWANUBgKRNEvdDQxLXgHVDEsPMuHtJXHdKTKegsRwGmdayRYwdtgOHFDmyizqHUkQUyeuNcMucmLaolEZtoSFwUtUHElXhupCPvEpQuJRTqZTdseQbMffgCXoGYpfAoMkWw", "RhRKNoufnITtkdQtSAZqRdtqiHzOypxTAYnYaeLRPTtDgVrJqWgMyNDHZEBBZHdCRhtNKtyIaUBOGezFQxGNxVzPEjXxBKuJXUqdIkPKBygxVPCFXANQXNymniqHAgOcFWwgAwEiwvjFWrNjwyomEvOZunTvrHegzOxFcyFoUkmXeTNqGfyNcdCVEtjDwyqpzEbdBgFUUhDOsXrUtodajrhSGiKbLJOMnHcujrGMTpZIObxkUzDFRghrisWNKFKaOwZrZhCsYTQHRztrCTzurieBPvYtHSFxwrMamAHEwChhbFBfShLJAzgCdBOxIWUKXtJXgyQgqaKndsssfrRkcwnWnTOgrWkdsiVjbkeyXMXvPrAvwKXxAHWMtJVBusxIPWkfYpYhOBAxNwWjgstwXnllSDNwePzqMHeKnuaNVqZmHyKIuqUZwxJubgEAnEwDMLiEILYwmUWQSWbsDkswJFGrXYTEdyZPsBxLsFWHygSfNqzvYqkQXuvRbKmemsPZ"],"c_array_ipv4":["UmQxgztruc", "XlsgzscziQ", "msmRBVOhXC", "GptFkrbznL", "wQgzBvhWkY", "onBAxBkNmQ", "XksYNDjIma", "avxsweHXQB", "InnfTHekls", "YKePTXcLHN", "AvPPeaVeXY", "PhYYFHonqx", "BAaVMYsmMZ", "VmYAsvzCJJ", "VNNlKvXifT", "gBbBbQyJPI", "abLZVHkhdT", "OSfobcueTo", "TFieDtgIDk", "pSQVcbcdBh", "HfVkFsbkBo", "ZQWJOnyYCs", "vrfgPzVVjW", "UEdYXCKNyg", "SRpCprPcup"],"c_json":{"drink":"Water"} }','{ "c_array_date":["2004-06-24", "2013-01-04", "2008-02-24", "2017-12-03", "2000-11-16", "2007-05-19", "2005-09-18", "2002-05-11", "2005-11-07", "2008-07-13", "2001-12-17", "2014-02-23", "2016-12-16", "2007-09-27", "2014-02-01", "2016-10-03", "2017-11-16", "2003-08-16", "2009-01-05", "2007-09-09", "2010-10-22", "2013-02-15", "2005-07-21", "2003-05-28", "2009-12-26"],"c_array_ipv6":["bMKpWxtjaz", "iyjymLPMrO", "dowcSdhUgK", "lnnGDFcndi", "qyVSHyBlnN", "WdZcURDTYK", "hCfjcFTrUJ", "hYRpVbAeXD", "aSgUVgLlMr", "orqXEfzAbr", "iiuBxobudQ", "snoAwYFKlo", "rxryCjAmNK", "pxrPRjDFYG", "VIenXZKnFP", "RVvezJXpfp", "GHPMQIJgPK", "mkAYgblNuy", "bikFHNgDuN", "cAcRCGdNnS", "NFnrwphfaG", "SFgyQoRCAd", "vCoklfoFFD", "TqbDlzGayN", "NnZtPVJEYV"],"c_map_bigint":{"c_map_bigint_1":-7647050502247109637, "c_map_bigint_2":-8850758814097057902, "c_map_bigint_3":-3299904813090498684, "c_map_bigint_4":-9055059437342202283, "c_map_bigint_5":8997784676667215727, "c_map_bigint_6":-4836605765411009324, "c_map_bigint_7":588398687076530778, "c_map_bigint_8":44566730954235867, "c_map_bigint_9":3759650897007401069, "c_map_bigint_10":-963922227375680146},"c_map_decimal":{"c_map_decimal_1":42.1323, "c_map_decimal_2":1.1604, "c_map_decimal_3":7.0812, "c_map_decimal_4":42.1921, "c_map_decimal_5":46.0593, "c_map_decimal_6":10.0862, "c_map_decimal_7":60.0158, "c_map_decimal_8":47.1655, "c_map_decimal_9":41.1489, "c_map_decimal_10":26.1827},"c_map_double":{"c_map_double_1":10.530957619825823, "c_map_double_2":90.71028330984386, "c_map_double_3":90.44582818746474, "c_map_double_4":62.50120495173558, "c_map_double_5":77.09769397294434, "c_map_double_6":92.72502935514059, "c_map_double_7":22.023433833984658, "c_map_double_8":17.973681319128104, "c_map_double_9":63.995600579664966, "c_map_double_10":55.75005816489635},"c_array_datetime":["2011-06-11 15:09:23", "2004-08-12 18:19:52", "2009-07-08 21:14:51", "2011-12-24 08:25:41", "2008-02-17 16:14:39", "2013-05-10 19:32:16", "2010-05-13 01:16:36", "2006-04-05 10:48:54", "2018-09-16 03:30:41", "2016-01-09 21:31:26", "2018-10-10 08:59:22", "2011-09-09 13:12:46", "2016-04-13 23:51:39", "2006-12-28 08:29:04", "2008-07-10 04:18:59", "2018-12-14 08:56:22", "2013-04-11 22:56:32", "2005-11-13 10:40:14", "2011-11-03 15:46:01", "2019-10-06 19:38:08", "2000-04-16 11:39:53", "2018-03-19 08:49:08", "2011-10-22 05:38:34", "2006-01-17 11:37:42", "2019-08-15 08:23:00"],"c_map_smallint":{"c_map_smallint_1":-2293, "c_map_smallint_2":2191, "c_map_smallint_3":2826, "c_map_smallint_4":23607, "c_map_smallint_5":-11806, "c_map_smallint_6":7111, "c_map_smallint_7":18566, "c_map_smallint_8":-5665, "c_map_smallint_9":-22963, "c_map_smallint_10":-11594},"c_boolean":0,"c_char":"eDmhobZfOY","c_varchar":"something","c_date":"2017-02-23","c_array_bigint":[2243478695778424471, 1247586426994762214, 2406108143935551397, -7955387032795101240, 3904811216918384406, -5821012759717674407, 5227820898453551666, 8640408922544420682, -6752796573314021700, 96613073357494630, -2690520755664661745, -7903446517810533573, 7957895788688189755, 1491147114189237848, -6852158767331073359, -7261204547497201669, -107954911900241061, -900702607461580090, -1632273060934209670, -1358379073744135376, -3870260348724589238, -7797572279332323228, -5076870028130696084, -3325788639778685297, 70357524789079954],"c_tinyint":-37,"c_largeint":-1692937505035455810,"c_float":49.329937,"c_array_char":["MmQlcNUXdh", "sWbYStIdiE", "oaYonNvOnZ", "kpXMBJXhKR", "DzLCrPUTuz", "HOfQVnYLMP", "atdQMOsoub", "DbAGCLhcfn", "DbzJnxckLM", "dQaBqXKQGD", "pbnuIIWPuM", "rtkcMfpubd", "meHVmqunBH", "UeJJXdmLAB", "QjXUSiLpCs", "nmYQMFnQOX", "sAchyYPXyK", "pJYytSrbzL", "XyYvyKvZlJ", "JyCDBZJwAq", "RvaSFaXhHP", "OGjLeKOreW", "gnEqPqYQCp", "lvYCyxmhHk", "wNbCZBLysJ"],"c_array_varchar":["BwRSHHxRIbBaWAonPOGnuWiqXXFXhCrdQhJinlIcehYXxzYsrHQVXfBrFoHmhHCEVbXNwffqOwSDakJoxAtHmpzViVHoMSdkczqhqJAsPjqAGXTaqLmyghDotEsSPZvZMgHADFvrsAwlehsmKaiiUKWbmFsZhdbbeJyLkoDvKgoxLxfgDxDEIzDXXqMCzjdIHJRblcPSyIfSfnuHTsWCyUWVIuaioKrOVIlfHGVzqoNAjzkmAnyvKHsSYYNlEHIE", "AZZnfhAYuYLPXOyztBZtpvENbdOkVXJnowmytWIHrucAgLIoosyZPNzCthMRyAJARvZdQmMgGCxzVbeAIbQtDzlzgbAXefheMgsZynufmXZUcURgFVRqEnqBiqEKMhvNEvwksLPmqgAcmfIDOZPelzBMcQnBoesdeYJQTWtQkhGIhgfSgEeItivGKEtHXgjpXgaiipCZxwssrVGsdpHDsXQqrsfQszXHQdCKcYfGhaNYwARJtNSlxhaVereXrpDl", "VhRvdryvCmizdDqjhcTBYkKzJIgqPJRGewJMyvdMzWaFQNMAIZtpNQJyqKmrJRStDpaJdjBWRvxPngWLXRRpLIokmBtFMQWslUwtCzocbnmYmARpYZrndnKnWNkmHqtANOOvDcKUgSpklOyesTdZXpttIMAOPMZugNjCJlewMmsMVaDPMMOrgFczASQKHHivZMdpqAownpOFVYDjxzfSqjbslovozvOkJehGnzOwHtMZrCmjSjfjaZIJbmqnhOBx", "sQvphgYnptlyiYQYhmGPUVVVgxpghJFWnQbTHTtmnKNdsPdjVNWKTnITldKiiAJiewaRtIVlplcFNYJFkZMVPqpBMRPRfsegBSRhEQESHcuYqhNiqIyMhdJHegktRxDWhHTWSVAnSEXYuCXBFTfnfDyvjJcZuvlGTcyxwACxjAnBxxJZOdXxKLKcdLaDkYRdYEYDdNZielgLRsktCDbmKsXSOukXulSYNgTkvnPvLpZTaioSKRYsWSgqyObCGhRi", "XUEJvsrqgmzsfXTaXpencyQzINRGEjsetUWhnbmpZhdAoKyetHPHjVoWbILuWHydVpMOxcEauiztklZjuUWgGfCgmsvQLUCsfvZpLXfgicsgHxOtfXCKjfpUKYCRWpbaJVmMdkXqFtudHFVhaGRMFCYmeOsAnCpUEtaJRvxxuFDZagqqCtaSTeTaRoEUsEIDBKKekQWRPNZmMHufSHggZnxHMuerakyAdwxCkdHQXkDMedotVBQQEHPOpcOTpvJF", "XiHevnQFlzMAyQkBhqSJeIcVTxufVclqUHJFTAWULhUKwJmMQkfTSZIjyGFUUPEzGpKPhqoLJLGTDMKuGCWdyzmsFbDVVoIOYuUhaqkRDeChUKqYPhRFcdnCIuOreASqjzBOvtkBOvowuppRwIbMkCLIJKaHHldVACQrNJbuyBcJuwGcIxZQlNVDHagonHYXguGfFexwlntNwcBORmhIKBujpRyseAeBfWrMBIkqAFaQadYPZSXnhxicmvgTAfUb", "AnnTrLcDMsXSpATIegRVfdWfEBYuKyJuaxVtPsMHehpSCPevJjbzuBYQSmwIGczlbGgmxzbaQwExsSWVQVOMCxJDnytHkjukkGRPujSfyGrUELuDeJEvyEMPAakYSWdOJSJLhxInUbqVijaIbJpwzeHpwSjOYedQWuSebeVQuURQUaQTgoFOGKczMfTAIKmriMdZhAhGmWeLCHfyKFypEbjgHdFxLlIJstuKmILBJdZbNWgCBpSdPJbIeFaRzwJO", "gmcSyzRkJYfcdPvvfHRHXnKYzMZiHuUDYAywUjhAZNpCEWKOvRYLEWGONxrTQrZejgXKpRoDnxDSLRYvAALfnFasJFzmgqGbDdXFHWNtjPIjNkwIFWGalOXxmDiaMZcKKdzsngrnOrDBzyPNwIHpnaujPBinoZKmCEUudEVqFYzrHtgzFNIepYiZKiRqiDGqRKxRTvCZTrekMLNZJxUqFRccCXHPaPqDLVFmogtkGPmZgTqmQjTfjrhCJeeoixwx", "CIGoFcKlTYrYaBivgBCvgcsEvYtmbPBsrXOxcjDgQTAOkTbYqsaMSSLzjQWeCXRTPQbhKlkVbArwgLbUiWzsLcROADiKjHknLzOehTBFFnEfjsLPPytvFfAIiySvsRbtnkRnJMFDMtPlvCeTkWgQYHuLLotAVDuHqKfAeROAViVprUKvDvsUqdgtkwucjtXoHVEEjMzGuDUzrUtlStElETkEyXphgZhwYMorFDsVayENobJpnUXXfgPEEnnjbdbO", "txQqaWJIcSLWEciusoMWodpLrnKuLQiSgNFmcwttvetefcEvtOSzediKFafHMBLbPBVkFtNZaXPJnqwEiekOcIoGQQSsQAWgxxVGZaobyINRwkSOJMTuHwoiWXNdpwyubUJyCTerQugBHTlgpBJjYKyUBrrGXCHDArFyCABjXXRcvpxiZVTFIRzrrynVvMvUJaDZnfCwYeAhvisrmFWqvNCARNLqMbhoPIWnugLoYOnhPxuHJschtNzAvsyUNKvB", "SAdMxeEvnccEkvJzMoOeYkxwpuyGrfnykYaEOiLhHRYtQEQdRzuuWfSYjYSvNaFLQYoljihGuuqXoKIxhPFxukqaSRIZMOPvzULJvdQVwwVmFDgzoxbLFpCputeLuExaeSeRyhflEcjSvKiGIpeIpjzgaMcepkhzbJZqYvYTdVWWwOMFFPlWNMHfCObromftfoQshxgcTNfFSodXpbIKrFeXsDkUOTtGgEXffpiJOICmHLNwMBixGQofJQAbcrVF", "YlanNBgNVuYVfIemrUSyaFtwbqSKeqvJTtjQempmlCmIvZtlpJwArMKMQiOsIKHOZYOZETppxkZgEAmfrNIOASSdTHGtERoyXUqGBCWfsPMiELEoplrOZJknRWmfccZeYjQyrXJqhRWXsQOYhQtpaMdqnkMgIvyzHBrGXbjLyzKvqwznZPTurEgcfDbTbuuiTNfTNBQwVXdtUJmehuVDmekbyBZNTywGbGbQMItjsQmXvzJMtzJQEKlgKnWuZMAJ", "YAjfIkcVxLOorcpjsqQTsvDQnIJDnkFNJpYySAHaFzQOTAErEsMyunVCEDHpPVFGhkmrVgiqGErebZqJNrwOtUOIjmjGEBjGlSttmJBSXYPSGTFpGuvhzvKPoOsFJTSQHgExuRcaWGdDOllEHmFSRxcZrseKlURmPYucCaFrMjDPTtkyfTZMfzvDTuIuyZNxItOSeQbDaaxtpzudObVORTBCtOODypkFsBvWdAYNPwxdyzzSFxnivqQaRdVWdWJa", "hqKRTzARPyVHoErBRigUltlrUpBalOjEeYGKkleqhpmIkROtCTskyLiRfBIkwhOWMkvCgyUsIhopZVKAJEkFFnvzmvGKIDLQvDDAxbwOUKGGWiNwwUllZKfPkoeFqiPOtxRFrKxgvbSvHpnVyLBVSwVPgFCmlDyzkgIVATGbYJGfbDaaVexixDBoYHCFZgavVecGKjHWTpMMFTpwbroQMJhYAsSyCNtQfutKPvvBUnxbXneJKTRbfJaxjQOFfluE", "YlHQTyKMJWGlnnnkxbAOggnppVKloTymuflFdYxjWnrwVpbXrcGuqIXCcwirxkErijvhhYfhrrnvhyuIXstRFxCgHmxkbZjDcUeSPVZncqgqVSJvLIHZLtepTgTpKVZBCpMHXszeeqmEelHIRhxuupPlYDcDOLogWNqaOFvZIzEkiYIosnflyljyoRNVxWahbXgcQyUVwOGTnQcvamHZRGGDpHIffGdKLdMwLqXjaNAgTZWLAacvgfMnMXbvZiGP", "MzGNIVrjLfNQhOYfEAeLJybYdeGTBBRxccWdCDdIlKEtqVcmYDlEMTIPAHHEbRexMmlKgOgsAnKlqHVceiuqvApHXYRuoHRaQVuIYaDqOgoPsmKcCfYHCezIcCcJhivzNjMpQfmqFAuHFwugOTiBvIUzcVzFQEVLNxgkJnYwhYcKiPcsvJrzbyQWMPZmqeNXzKYiTSIoiywpageHhBvKhFxlxKDGFuqAwovGXWLwBSNgckrKBdqaFDOdwepqrqKz", "uVeldyhxLKtSVwYvvEEgdDtMJLVfjNrgmxFzeWiApZAHyXnhjwMrzFrbXdeEFtcBGiDQlXRyEoBuiPTEjnTPzERRTyzZoCcTsgWwkrwoacDeerLUpgoaMAlDEQYRkMOjWUWulylaRkvlSDhNdLznFifIyPubQFzmPEOoGKiYmPIKufzRDeUxqBlJniclYmvRWHVyASFgPfaKpcrWMVAaQblUcZoadTWACUYTwQoNzQnLzUwAZPiEGmOovBBNvaMW", "ajTHJnKWarbEflmcBeaxKVMeHxwGPQJDImRVzMcftagNEzqSBnNncFnTiWpeKkCunwLrgGwVPSkhbOYbcqmBpxrIGYVqIHvwuaqWAWcHIdNTExBrJgFPlyMRaUPAEpJGozKJDXpAEzpUpaoWYEJpRjNKTPBDlymQWTmlvnRvWYdQGQLiahRJpZQMMxmVUbqqDkgblHFPLLpNlzMCxgpSCeDMknMmUzrDpQsimegkEJngCYFBwRNiEJmdXstOzcDw", "VhbCjHbgAtwrsfdAHZVzujXRsiecZJkZzxUgvRVawgujkurcfKadFTjoYTtpYVtdkkakkLyFRdwRezQrLaNiTxjksOcgBWWNzFcvKxaNwqTUJNDtywELaPzZLFVRdyzwvrAjjJONYtTFtyOKxSFXTwkSeyuPTbSlwyRWslnjZPoZJlFqFQAIbtuklQpwrmhvWfaFwFITvATWzacheIxfJtUVGHniBGVGZsmjNnTSvKXLxQEnMWLlSmeVIoRnCkuw", "MDjfilefRlOyzpwKIYRopHzejZnpAgqEkTsCQDApAaQtXsPUPiFRoLVEbuyuUkaleYkTHWHyFUvomqdnPBjAugGwjBbAbEQKKbkxtJxTdiTdTquYCXcJvIIYqDWQmlwkizKLTPTYCXwBkaXqyKWRRRowYhGpvuIVxGqhkLBzIkLbIypEWLGuwrFWeVdxzFkXfkKqwAfqtQVuSQZzCXDlMzWXkYCsmSfAqzZKRdLfozENQXvBasEBrzpzagUJYzZG", "gyvffwzANgaPmpRzkOfhJCKxiuxGAzkAvJcBCwwAxSbbUWYKImySRjdAbCynPfXnWVIJyoZIjvCwcLbhUKLBgsIqQXNmZEjKuktFtwygEMTGpxXNYPQWeWlNrAVdaXPzycvntWArMpsJyXifqserHNhEBPrTbXyqHvvSfKIWrINBMIFzbBsWmjHpnyLDxvLlHADhFkXExBsPXRLnTPrQBeeaAKyBPEaOOZNfIoiTbOTWdTNTOyndcMdMUFIfIzNP", "INgqfHmzFutdbYzZTVEPMgAErqlBAsEjxkiHXkwAQkeqNwAjrDgmItEKRhLZqnFxBiUvsWxlIwsmahCiWDOYVXEfZwYgfVSUdVPaLYODmluqauEdsMGnjjgtcabFbpFGDUrBJTADjSrJnQclZAwlryksqrQTyJijchFZQXCVpZhENZLkdYwrAapQknkLfkeeXOoRmoYmpdKYzFFRvngATHKHCSRWNNRVRlOOxTYdnVfTGbGUqpCHIbXnFHWJoReT", "qUEDGtJeHbYWbBPYvLYGZhNsiZRPugTwmvtUmATogPHFJYdPjrxMBwCPcFdUzYSUtnvtGOfGXfkVviCPlOJCTZvGUmXLxcmWKgyxoIqJwajNcillJOwYcRdwfmBmLtLnYDEXgOupKscyMrNawlEsbWgsIrpTDqIdoElWmJQKkdEsJceFjDCBpdoUeJtvBvJeSuBbGcmiYYYwzXPtIarYrNgftswDLxbjWSeEbyzeOOCwGvTDNeojHJRMuOMgVsWu", "qwHFVnJnARPISzPnBuMpIlYXGPpRFmMDMGZmdGuednAVNJWOlBmSzTRxxihsRNVfvnUxUsOuAjRCTMNTTaWnBshIraqJKFlXAzSwIaXxCprrBWBjyTDBVVhqOuFDhvJCHjDnOPInDVuLRKzqaEHarlqjJElPAynOgLmqyUKkTVybKBEOrWWfCyIFaBSJWOnOdzQpeprsTCrjrVeGhoHZICgdpOYxziGLgzplUErGcDJKTRePFjNWBxffJuhsseWW", "SoKLxjPUNwvYGOcNnzNQsOelgRngziLAaQHxRmkxXFAGeTSyFBQNrJCTdwMCKyqPIsDKPOuWqNqXSKVfNuoZDihwqSpEsnGahShfWnhXAvfwJRTYfKYfLXOicKrlpwayxyOywNDjzGcFQPARPvlNLIqDhKCIMZGmamykrhgLstYubmyglFehQBdqLtuWmyYjiuLQwAooqJannFhHeIPRAzWfoJlHakPvnLoVQRYxBjnQBYhdNoMcbmAJrNFIRZbl"],"c_array_float":[77.45277, 92.45446, 83.28271, 22.39618, 71.1576, 84.20145, 20.966642, 79.88109, 32.31521, 2.1593127, 74.679306, 15.369476, 82.84068, 28.498255, 17.441704, 76.64678, 6.798916, 1.5891858, 20.674803, 56.439857, 96.13718, 56.684143, 28.284634, 2.6629915, 3.936005],"c_map_float":{"c_map_float_1":45.660862, "c_map_float_2":31.075048, "c_map_float_3":33.49644, "c_map_float_4":55.017166, "c_map_float_5":54.740597, "c_map_float_6":64.46419, "c_map_float_7":1.4286599, "c_map_float_8":7.7479954, "c_map_float_9":24.144606, "c_map_float_10":52.40501},"c_map_char":{"c_map_char_1":"CgSInYoMfk", "c_map_char_2":"bsVXpUYvrH", "c_map_char_3":"oHHMDtFjNH", "c_map_char_4":"mchJTaGpPm", "c_map_char_5":"zRwEHHvCZh", "c_map_char_6":"zLvMHFMRfA", "c_map_char_7":"dzrUfCYlwZ", "c_map_char_8":"uiPCfYEDKT", "c_map_char_9":"AZIzjJdxHG", "c_map_char_10":"ivQtAAoShO"},"c_map_date":{"c_map_date_1":"2000-07-07", "c_map_date_2":"2014-11-15", "c_map_date_3":"2016-08-05", "c_map_date_4":"2018-09-14", "c_map_date_5":"2013-06-26", "c_map_date_6":"2012-10-05", "c_map_date_7":"2014-07-04", "c_map_date_8":"2016-02-05", "c_map_date_9":"2017-05-12", "c_map_date_10":"2005-02-25"},"c_map_ipv6":{"c_map_ipv6_1":"850f:e638:a9a2:2e1f:2b7b:20ce:ea65:9bb", "c_map_ipv6_2":"8de4:a1d7:4bb4:33ef:6da2:5807:2768:f123", "c_map_ipv6_3":"c662:d5d0:4be0:5ea9:63b7:84dd:f22e:7188", "c_map_ipv6_4":"256d:410c:4653:7e89:daa5:f69b:2355:79a8", "c_map_ipv6_5":"27a8:8624:d504:87ae:7cc1:75fc:238b:5c2", "c_map_ipv6_6":"bc76:ad3f:4e12:8d6e:43bf:fd63:c80c:3286", "c_map_ipv6_7":"4367:3338:76cf:a1f2:6748:2534:de32:2f7a", "c_map_ipv6_8":"4990:af5a:5cff:5825:6bfb:bf97:50aa:c49f", "c_map_ipv6_9":"3fba:c9d4:9754:9659:6edf:c190:8782:78d1", "c_map_ipv6_10":"6c19:65f8:7687:b807:1534:6ae7:b1ee:8640"},"c_map_ipv4":{"c_map_ipv4_1":"141.64.90.89", "c_map_ipv4_2":"148.194.246.244", "c_map_ipv4_3":"74.31.236.46", "c_map_ipv4_4":"194.118.161.151", "c_map_ipv4_5":"194.5.206.50", "c_map_ipv4_6":"147.204.215.76", "c_map_ipv4_7":"153.63.14.219", "c_map_ipv4_8":"150.36.37.232", "c_map_ipv4_9":"186.204.240.91", "c_map_ipv4_10":"190.79.218.65"},"c_smallint":10078,"c_array_tinyint":[95, -58, 98, 56, 51, -79, 113, -107, 54, 74, -107, -22, 103, -75, -40, 55, -106, 77, -90, -1, -119, 56, 25, -14, 33],"c_array_decimal":[51.0381, 90.1414, 43.1791, 46.1966, 0.0572, 29.0490, 82.0482, 90.1031, 81.0444, 30.1680, 54.0943, 51.1936, 64.0998, 90.1163, 12.1498, 95.1007, 16.1814, 34.0561, 80.1953, 39.1532, 84.0200, 12.0202, 66.1129, 53.0267, 17.1289],"c_array_string":["etUmwFLnwALsWqvYbMvCsTUfRGkgmOiCmOpolKqzEWahLYbCvPofIzDtmvPWLEmytolNsJdGnWFcDCPDWbicFiDUJDOMIHtZXTiqakTtgZGReVwyupuSmgMadfhqugatYDTFdbyaaWzVIelktOWewLeibUaQfpzkTyYkmmuEchueMNzxVntRGIvrMDvFaaDRmMBhZVMTtKiEzKnoctkaZMOKuXPpfZJcoWwEBShvYsctMwiOiaDkjHhBVqzFykXhHEozJzPlkcbpmXOJCNuiWthjzlEYyiBRBQHDUBvxdMHMcKbxDjyuDpUoTsXhyByiAPfsMiBpVWXvvIkxJUNwimsMGuXTSzlnJCKtLzzIvPXVUEwMESmTgkwsuSRvNYSIGIKjkKhrrgVFflIaWzaKPwjfHiGiXyupbySuAVORTfadzZSKxvtPXOFYOyDWsgVwSWTqGMqlxVEfTBSVspsEplQKpHqUZrQzrJfljmTkdDFWyIufntipiPJusfWfCPAb", "wVIZavSylCnYnXgqNKrrXDHwFeDgMnutQKqeCPmDpLzGTgQibZIJSMywUAXDRRZEPyBgDXDAixlIvYewJdwtnIyJSlXgbQBapjdxHUlJFZMoQIvmVjfBtifjNjFFCLfASpDpIbMKfeQqokavLDlrvcFGABeDlKVWwfeOGAPQcOfiMntYnPsdLBVqNRwIVrehXGUzwnWpLYQMwjiqukWDRwYWjOovZeILxcHsjiKUGzudTDUkXJyzsmvoEarsYAqvHGZxmiEyGKipAZRfUpRPUpQtIdzCqEYIAItEccxKwIpDLjzzkbMVSuoirZXhMddconOBfeLROHBejdBwQyUiLytrnrYhhCdsJUfmGOtMwxNPjpmkOgLoZQetHyzorKfcQbBGvwBHGJDgnHVuDHNQeaNMSvpOgMuqKYQbhOZfSAWFRrIzHAbKdmkwoCLcMHTDWqsSxtvCySIIoaqTehWQXxTnxVqsPjglnPZdwzOSXPXhacRAyhMwjonfUPUCEXCK", "goPXUBpjGKeWGbcyeNswNVuUrZEsaZabtWldNVNVEaRWcPmlmAnFEJfBTEVlLehQIRJflhZgRqWbdtdCIwDxgTzsMUoppVrwJsQlpTliiJXmuexOVupTVveVFiHyCCmMqUQsqZtcPyeEaFlFYsWsjDPxdCgpcYNpMaEyjlUCQYTjbrKhNwzGYrOMpoNNAQJkVrAPumgWfaSndJuXFRnvVlWeUwMRFbsCSeieehgpsqXTtePvvAzpwckghzZHbfvUkHHNkNwSWuebmxDzBEhPKTgYElqewFyOiThjXnEwMhMRgLXUYSSyoCDqlaFEkpODWSzeBnRAENYYgfBJQMfOpkEPakmkaKqbvMfyrLJmyOetlzTGIzCZvvPTiilygaWBLUOsGSZjUrqaQsfhPPIzjTkTJlfxTeQhHIPTcDyOdQGkepmXiZNBEoeEJdlkBrveUtMAFlIRutpnzEkCejAhghwjZcvTnIQbjVLgWVcdESGgRXJNNPcemRYqQNYmagMV", "DUXlyNgcfdkdTDSnEkcorTpkPanOSpYjfoVHPJdaxwHAFxBWJAeuEAQRQBmLGUtMPpEwsPhkkUzhDfYtVJWlVeiDJeobPBfboOHOBNRnpPUMyFcCiYJAgbwbZHUjDlkQMoSfzfAJcBCZnDyMvYsjRYVvzXpEpWmBgigvmDomLacckRYESBDNnqTrtfkxXSFLBnRRwdyJkxkRsZHkDoGVICnsQMFhSdvUuhpQIEbeGKfSSHVajCXGzdofeWvplvGdcFoPFuepaBeVplaqcRvqsRKsTGDxuqiQDOeEZgkHYMTHjcOjCBDwgxIFVaTYcDOGijrcllOpNAgIPEvEhTxysBIelJWkSvVUrKraMWNphTlprGaQutbXDNwsRCGSVxtPzpZXOJGAwBaRGvvngWBCyjiTZfnVGUHJcjuSgBGJgaXtzxfyIlNLqqzQfOlThPEAJNMUhByDVLcWBPacJAnNjgkWjSSaxYZfocOvyAhsAZrbzuBKuYxWyHLKyDRcOJfN", "DDvhOnsqfraLWmGdAxwITpeYRnJEcRrUdCgDiuGGpnAEBiBmBrbqdkEhrilLdzPLzvmvPIouropdvDuBQLKKcrWnKPnJIAnGpxWtqKBPTSBHVTtwvflDYDVeMtuOxGtZicPBzuUBJVvRMVlFDmFNKONftQBpgKlPIWSiBgraZEoYxeNMNuKiPsktpQUjNtHSHafGJrIMKIeTIucjXZnujdlMHzpJsrPQiQAzVJmjVdlHcvKBfOszwPpCReIsoUgSFNKNWMyPJegiOHcGXkIfmiJdSzHGYnxBfzgVSLGqBFEGvwnVzkpWdNKZlAVMnGeiNOAFQiXEydUyPpwQoAqyqGKBKDEZuKHfdZAjrkkDkvuuckCMHQXggMlHhAJLhLVtSyYuidLTsbFdRGHeyoupOZhfABIqondjTzWWxtgOYIKcyLdKWeZPSKbRMONdiQbIKfVkGSeZlUHmtiQJPZcfcrWMyfFypNcbAwTpkvofwAJQYgDndIJXmGpkXNgpfkqp", "GKujxjhyvyHOqQZBEsWeqrbcoyTFvOfnVPWmReYqnOAhKuQiyXKweCxijdOWceJqNVTEeZEVrVYHYKdkiVoCZztGRChwhAgIqgAkyMmHewUDcCdUSjwvkEAvmbXgZMQHtcOSFTOjTPQUDSEIkoUxajmqaATOaqTRgJPraqfeEhpiXeIKHfJdsbknxivjfjMLUziSANbihnjOLGGKIEKQMlbNYDJiNFagUfUgbGIHNSqcMFotyYKQeBijRwSUViRFPgWMwvLOgMstHZgACJWAeznlhRTMSMFdEnJXNcdvHhtkbUfuCwSbXpssMIBGOSJYEDFYwJCrJtEYpBkdFskcWyWhJgBXJXcHZtYJAmnUZDJcHNtRiZKQyoSHUqmWigCTmleRwzhJNyUuAZOZLlqgPwWBxibjVGbGmZwnpzuCoMaUwFHVjjRmQuCbhIvaVdheRpwWggpJfCbDmpIIYWqZgvqHGHQoyDiLGxwqQMTvnwqjDZMNBDEBohyfYQSyZqRC", "qIxVzHYJdgvVMedZLjDkIAfJSCsKjcfbBuNfUVcQDDRWZxKJftoHgdEJBSJBpUkbsoBadkigxhcbcHzMOqAAaWMBitaKFzGzNuMTXMbTSrsflifgwzbbElwIbfBVPoraThkpsHDYWyEbmWrdaxugroGKKNBLcFJdxuTBdxUwCwkozIDrLrhVhpuyVefZsEqiNLPYUqKgELfdTuKhrhhHdxoPsyEpIRPbnBWOtLgGDXHkjHthwdmsLgAzhjNWbfeIYdUBvzBiZxOvfUqHcejDAkJyIYoFdMmGgFzldOZnVrePPUfkUDDeDabasHieoPoRdwAzpQHXYsRJxiIbDWgyHvvrfmtfawZSxFiXEvCMTunGbgDMBrFhEHROlNLAmyhctirZwEcpigsXNOObWvIuQfgtkCgNRXkbBWMYcqENkZPGUeEEjrCHtmhzVXRGOAjDMIbzqeGbiuCFagyqOjpFDuhxuWTYPytxanaRxoklPjZuTirxAIjSgzfFqGFIvvQe", "zURKIBLwZRcQtHQOXUVRQhYjOWcMTZITaMdVlxIkbEvhPWmITJNNYcEqAcXmZnKhrCdCKtDlHWvqZeJEoKCWmNQhznOknhjjbLZNvplLpUVjnplKCaVDXpSUbcHAfaapXLVdmyVwJUCqDynxjThMdgsypqFutQkzzqOiGScngXxlhaJiQOBLStMcnvWYDnIQRmgoGpsNKaaEFhieNRRaFYqQYPNvrtXZbjXfFlbmPBtBGarEcACJgmnTbTEonYYYoUKcVCoSPyqoyxVFxCFAwOczfkpJmKarrmVzzgJYbFxvXPFZpCXJOqWMijjGJpNJxgRHQyXbgHasITDRSaqfeoSXlTpFwlSgWUnmQUxPyBqBQestTVKjwgbtzMsQkrSqbngUFDsWqEaQOOfPYnWZvsrqMYoialtTLszfguxKFkMVjrYjZXtWywMhSVgfPMyXerdJZLwOGebAgMNYcLZaNLHOzAeloYiNFYpCqPhEPhgvAiVBHuYlrLGQDlvbaWPt", "impStjwhnofnbBwxycGAQdRyQGXrtjolPfanjjIWnRwOijaDKLOeWOrNCjKkjNcknCBjoVzmqjEGQurnBAgSXJhRMQbLbSJdtSwIItvkjpqhkFpRqOHkiadpdAqVxHHmASerjamPZOhgXyIJGCkKHnZjrwEmCJDvvDQhNAVSLpoLsmZBPcwUdFpcwqBcNVnAsCzqhhyshNYsfLqNdNNyuumXNZXeyVjRyuAZBuecsQMxehgaGYCXMePRTuJqqTHntKpDNeVEJKyTqZAVxSndLzOpePQFoYveXKZSSkwfCXMEEGpbfOneUrSPCfwcGJjEfMbNTmHfASukUbAOeUqJTncOELPBjnhqmFPPGqoaIUMMsyzOottvNwDNiJVMQzWYaXnLkvabiVjRJwJEikBKjGgxdgvsFugtKhSbHMEnGibhsObAQPtgQbqzwJBBncZXoHrcKaWyHHlXHzNaEdWAyvmExgrHeWdZSntcQjZLPqUtRxGQhDqbsXrFfmYnxPxx", "vkWTdpvAQbBvDkEaTsKkcVPprTRVWLmPSKIKCLlQnYltJNxIuAvENluzlXqzUCLlaSpBJClpbfOUjGfSyzshZhDAutcXvYmzmuWjBHaqzIXGtHsNLiCBQtqfZSxEUargCRgnSZRixDfXnfRpLSCQCGNVqXuRVsZhIBzQldHRIetBBTfRByEapBmyNxklOanleDWXRVvBCmhGBnfATXjJskinveEeAmKAOXXxoPTXgYymOlRLXbbylWauDtdHhBfPRdZSycvNvBnXCgWBmCxCoITMHZvpxtqizOEWHVkrlIMWVBishDDWQeBAGhEIVlASRrGcxJhtUbqgWutBnZLiYcpiuJNdilOsgtBTHebbGrTxVdncnTtqqytoxRSBkLvZwBPEpritEAgaBuaxUjsFLJqrUNUijmXjcOOUcIKBmyjdTAATMlrtagjcsrffAPsOgARuZZaUIuHyAkVeeTHkasjHyZvxvVxzzgkBEnXXeRIUvCposhNmKSwgoszTlWtW", "xCWyGaTjavJiMHclDCCOLNxMniLQFFDkTsvJkkswlTgRyEdgbdVZMSRhylgWMmvLxPtVYRarmPNEkWudCmTDsiqQrenJvHTTaBCzJqztkZBAAQvcAxHUNHhWUVuEKWJXFVHsigOHQzLLvcifXezOuHzaBolIeRiKoEczNskQrDwvoEtxsXtkMwELVtfzQLBLYYQSkmgiOayYgdqEEfVNvSrjCjdLeDtWyDPhuMebaqwAoyKBXEHwXAoIPxzhtLsRqeCFiZQPWVgvMfsTVRKOrkDBIEFsYvQfJUSHqyIicOIcsLGcIfYEnNcEqAAiQHXhrQfMRnBrrqLmPRoMoxMWBSHTTbtljmqynIbpeLKkKwzMvQtNLUooWLomUAFfOGKrVYtwkUoAUahzIycUzaZszhdeXLMRDKRztiuIAdXXLqJZSReDareWHYxjpvGIUQjEbrYlLrBxjBozHGzIXfNxZJLiEyXlSgHWodfUGiqUUXcMQdsZJvyzMIiIRUEaXmVY", "lszVXpOLUKnXmycxzeKRTyPvwvyHyLcrsDGxvRbvtAxpIeiNNTsiGDNqGomIWnTmQTQpetKKZyErXEqJPORvtiqbcFUJmqneVdEcknXDdUyVZBKPPUXZIhRaaQApKkhjMdnvHIKhhkrpMBddeXrcoMyswqBjGMGZCnefgEboKnfJEmhTDSWjTjiXiZpPulsqeEHfMIwDkhcGcxcggOBaLZhUTZHqAhzSNhLISheXUWWisLMQLpDaXIqMykecIEWxVWXfQgRkBZwEWsFGMnTDhmjzfiDyWqUgNLWKjMLBMZjSomIaukJiJwOWTLZeUmZtpXNkqTbAPemZEIaYoeevvEUhRRhwWMUofTAJDTivfGPymeWPURtFyZOZrguetfkbVkAApgrcqfwLBHjOFmNXkeCyNYFAeUYQmFWQFILJzlJdtHODqvNVdwrpiAljuoYTpLLgpcfsyinMqxXcwAfvjNqtyfpGaSTXdwURfNrEOYtqnDCbSIzmAiSAIidyxXBN", "oQebgEqSxGazNpYTKuVGHVTxxHjttDEyFMsBALdQsivWXcIOVYqRflvqPBDApfYXAwykaVyHEfRfljFSsSUJNBcqYLuHkmRJdtjvqYamdpbTsQefRTDDvTCmjskjJWOMWtUeSxbjZhkPEZByyoicbcAEhoifNQtHmIPVMmtIiiPGGHwSbFMoQEuqZFtfoPKkKKyYqvnUdKNgAWsnSzwCYJtbcgCAsnVMappAkXqVLWSqbjWAfhpECHiOSNcpyXdjIOtwKrHZoYKavbEYHnNFtlAnCgRXlkQCyDvAyYOaAcbhqTAMMLstxNCxVWxJIgfNkqDPeZbiYwApNdoFuCgYNoiRmKTiRqIKNiZGhEIhJcYQqAHdVUphkuPJkjXzMKrnwjCfQHXXbipUanWdXpYVzafFiFlTmhiCwugOSOQcTxeOsZvsHCQMqApPvCZIPqgPPGhPDywHzkHCpCrKdPpORnqAvZdDeyItwzoOAuhhxedzcGIPjJJiVwJSyfBHGUZB", "KlBaFcSfCasCQOetNQjSMDgpNfGEQGuuBpvWjWwxZyuoIBNRpbFdobDXcNCoRQMymQhLezYxEZUeQwseZECgYbUhezCGJrzWIUnwwzoCGEHgxCVxqoNHXpuqTZEimTMhJUxFOsbXoWtVVZfOzyqLFdNWGIqzSvxvqkHLwfSaGglkDjjrUlFWxJzBhHmBRsIFLWCXHkobRATCpfhEyiVOWKcxnuoIWXqzmjzAEelhWaKhgjRJBGCxegidpyxaRBAvzOCzDGeHZhwfGTEcMViPlcRpBDWoFCWTjDeqRnadoGIPLspjHqbkxHvjiGqfxqDYjyUVBADGmGyBBpmVXeMUMqfqJKVbaORkUWZxWqGssSaZFJOmQdppaxesyNbXjSoaYxWrimNMxJbWIoUkmFAuvDkkUcNPtQpRARtsQJVynlqxjBSCpqOowYDekyPejYvGslIMrZqEEeqBDuNenMnaqtJFsDmuFWTmGIZwiZyllhhkVBAmdInPLlZMFfWcYbUN", "qiygLQKicmEMxPhhGZFxzUZlouAXjprsrOBkJnoPxXqGpGgLmnaNqdwLWKixmMTrVJmbRWPERdsZILknazDyluaMRSHfEtJWVwwrfXHuPDFLtWrczkUUZjVlvtOuFpPHCwemeeyVXlepxMSQiYXOMDmnfWMRmviIufOILPMoBUgTqeMAvqfiAVUSwQhxXfgvbJMLSSlXiEeKUFbJnArWlNcsTygAsLjYZIZgJltpCKtuIElBURsssQsCDMOVXovoOdKvdSPOObwkIggDJBBQtWfHvLEcPMgzeuYIOjVYRxYxQVHxOjoCdlsFUnIovtbzcjkebFUiKYcPfkyucgyQqmtLKiBUMdUOruJXIPwHCEUSGLRHmLQtoqVlARMOOPvqGZCPuCdmEylaflYnHychHbsiVhFhTwFfDCqpswOoNmFjvuKbxUEQqYlaYptsHYAaNDpoGUFYuSeYDWuzeXhpPrEsTciwucDdwwhJmrQbLelSOKkzacQQIZKNIamkFMAz", "aSzJGYzsTxfRTZnlqvXGKAWKRAXlQPtMeIPbYVvFgazLcCjcMjjabHtQtbOMDUnagswvNXVwjubPoHArxqNaDUgNgiKmCQiRKiqBLSlcdbkQBchXcmKYGggoCjJIShnhYDAkqENGcOptJDCFoNmeKpdHPbwmBElRLQZpcxdrtZEwsyoSgOSpvcwyflsjjErkAjZKAhWQLBCuoKlLsNPfHXDJVdJdbOzcFjPRdMpIkLyEiPpnvGiHOZhupFeeNUUrjQUiHKXiVKZiSUTpYiZAMwZVTSRWjNujexQBWAMeYhyosiCVsXQoeeASAxgEJxhVrdVikgYsqNxTrEVwiZurVWNuDrSeAOheCdZmxfZUGvQpQBthqJoSwpltonhgfvXfhFQpXgaoCjGKGqcfyVyBiQuDCslVzEJZSTwstmYyHdsPzdjOviOXPthddJkHwXiUeUdagSuqHxYVlBXIqASzAbbgMAmSPpOUgzTHZzXMjWvjeQIKoGNUxctGKxzBcFFs", "KWVbaIPNMoIAsJmxBntvQkfqIYaufgkrsqJpzCBqBELtqgktWawEBXbjcIUfAzbaKNPhQZKvIKRMDwnoJeNxZAvybfRprNhvrbESBLDlamMVXOkrvYbaScMrKLfnVFVKIrUqYUvSVsxMXsEdxHyrnRTkSUimZLAYemVMiQxPynvlFcrLIhmAJBDoKaaOuLZCTiAlyngBAqMXZknyAHUMOrksvmwSdcndKWQtQdMIBLJoqeJAwsacocWVWdBUxEpkUGqxdztaiNWfUpmVyvYGOhzmmDZAAmObMqvnmFWsUcyjqLMBVtLFXwyAAdZrqzXfKFxYGCWqfiQAyhxyUrAvUOvcpnfVQEaDVnqsaVYBedNdbGIzLDPEPkxzOkJbeIcZKqjthiKuJtomVEqXXNiSvnpbjwhCtdLEXImZKJFnGLBYxrkPsJtPifKzWkwHEeCivkQXAKFJCmtOoWeUNHVPsAdqioJlKpnFYEQXdBPMgJBmWfEJXkZNYWricBXTKgQW", "YbpPlXRnHUUDFKRYNcuumGKKanciYQicbrKRXLlMbsMaREObcdidxOPHheydPzHBdLEgedlGgZEaQdBrUxitEnJGrVokwKGGdnaOBINYEDhwAhNfQmWOXWRMWBxIaMRJhozCTMeaJsSlcOtBgMSgnSuvcxHtAlJHKjmTRaXKQpGfKgSKpNnHFarAAZzHBMAoQUuOrrZyUSfcCLjmgKBwaqZvlyIFVWfTtugsUZSpeMaOUAODSktfgBRXjtninuuhqwJOwCiITTPlBrlhQwnVhFeowmseLJTJusRPbjTifHuHltSVFdGDIDLrUBXKGpSHEMnDTGijySzdVQMLXGWmzjqQsECVUjkCRZLEcKzhVMUMKALhZSAGAIWAPUxmpaUPFyscwWgELSalLhvBnpCqpdjMuEQLVTRlqWIMitKwGlmBHTuvRbWntpiMmVjQSdroJtCuEFDTCvELhdKHKXiTWqZwvyNNJqnZIqxkqZqtrdWXYWTRjPzeRUuYSusNPSPo", "GYLYzXxnsIyGvIdXMLmTUiQnjaCMfenmDzkdNfUMagUZpAAznxdYLwHLZNemGClbHfSDvJupDMRTlsyFxKXAoqZZZIcnOKiIkZKBXcvzDMSVRFfcGrZeTpoutaziLBSNIWFfHGDMsdUdgaYlVCvcQMyXabYGTbmIqmcPtAboMBYAuZHfSfkHCpqIAdUvaHgfvigacmiKRpSxNwuQSVMHDuLneXYEKRMJLGxElneuhnhHYXVBuEDyFfVTDeFKeOJsuzWGQilWIDpcsHkolhsnHfwhBwrJyaNJSRkmKICqEGmnQpSrILtNGMLPXNEGvjrrtfRhvbwsMFOuqtHubtmWxSWgSSZyVMFLzlmDEWNbGKltKVuelivzihUGWtXDBLDEvMauWHdncTRqgZfPuLPGDQStXxkjKNnhdcigxxwVNziUngLnZkktLnJIsDzGFzjNmMBXHLJtAvgUWbCMLdoEfQvGhrBSlMWLpobfDKDXZqzbgovuIXITFczIVZqUvUdO", "aezcicgTTKmRGmWgbllrVvxMgzBXsalNFyKSCzxNmFCjJiwdWuYykrfijBcJoWfaiwpcAEOjWCbKeDthfpzqGFrpDKErSjUJhbXuzYBLxXbcvREOKOFUgRoDtFcgkSxWbCvzBtbtpwbTObdfdiQPiQmsYzPlFobIdSCkwBrHgbcVJbSFWHcMLHrFPmICPsrHHHWXexwDahvOQizpLYBDytByUbxcGauSshyInbBhVeJERmQenFhNfAOMpHkKETSkHGbZkYAMkimRGqbUdgPqKInaopsqDWpBVTCelQXDaLZnTxZKfNmVUOXtdxjghVKegbNUwaJIRcMAGsILcatkNTWyfOpicmmoQMFdtMvTKwENiGOaNmdpzvBwVjKpFrjclEUeWrOJpczcPVwoLlpScZBGZXhXbXCGqsvsaTRtPULCfBbLHAupCWMdaDdOCFoGpczfreRWeTaAmajaKVsAiDiRniVbpxGLvEhBXGHLTvBJwsKsjdKjNNDXNRgQXSjF", "YrrudPMakJEHrlxmfNKWhudfNLeSkcylsjfcAvGXGJnztWHYOPVFeYuhLWEzwsIsQWnhPtypcdevLlHkKDFxHPrgZdlcHNUtdayMWsMpQmlgpkaDswoxQRWHEsfAqWffqwnsNLbQPOktCAWfhyuyMnzmAsBpmEhCTmQAlfJdzyPklNBsEsXOkrZaGpNejtkDYXrQyHbwDVPwSIbcbbCqMHpzQfBbCDjRFFFUfXluNNhgGIzcNFwjcXdgWFMJHXiSPzXBssgrwZWADMzCYCoWnlCjqddZeasEPzEBLNKBhVZyGWxqMyvGDcjVhNEDWSQqrnvTRVejnxHcXfZfsSnwnZWElsuZPARwDVKpRzWCbAlSnwMOKcRTbNkRomdMMtZOywBNeLEIQMGaWjIwFrtcghRadVXayDmvEDjEVcYzmKFZpKsdMSDImNVkegNArnRisGwaIfYwghZpmKzBUiLlbqgCztQIdfmzTLvijVpJKEZUYGpmiwhssYoebXgIiEOk", "LFGEZxkGZhGUvjFDcVhEIxrDXGpbAmpTTIcJfZDFfihJqqhlXqjfgOSWkWStqdchcLSrAjYGSkbcutvElVVzYxVUgAYVwSAzGeJWwIbCkUlCcuSefjjIlhyRBdrJNDIGRNzWgSmtOpZvXkhbUvnRxIsyclPJOEcVcKbIEyaqyulNCMLICmibfaMRRSTxDcDUFCaRTXwggWdckVxKmmlAPoRUHFOLsqKHspkxtRdfzKCnXASUyRIgqxnpKbjEwWNkOkhpEBTjidGItWRxSOKozXKqpevGJdzrDKpsfMvBAdVdxvHHYNWJfWjLZmimzcoglENXfPXGEYimPNtneucSTpHxmxKDgtzKbZtOXoeTsZuDAzzlqfKDSiPwhKJZLtDjFqQoQTGzmUEWlGiouaiHsGxvBuCyvHCvsFSkrGZCaqqFgYnoNDIRVuDnlWQhraUMPQUTlHRrAnDUtmtXCoHScwaqeZblNPXxhCvNsmjHPHbFJEbtZAReIcBjnOpvwlDE", "qzSeRisliEsYxQwcDGkveBRBLFpwBMpVogSftqVwOfpoHlOMQWytrDrUHSSsFDClzXfaREyRmdZqUpqYryQxiQRnccFqchFOVBUzBmAebmqdINhiOhqqsspGIYQwzzNaEwseOlVxwrwbNOkQHTHfFSHIniSRdBlwMMRlDeWPiYFPOmIFGqOgKnRaFofwTOlbcqFGjcvYEGdSkOnlTZRGqpMpRKsQERIEUnUfJOpYRzznvZuTjmZeEnykfHugHTUmXZPKhMiELyWqtqyZsZhCzzjDipipANJUorZhHiTwLIYqLylyUULnBYZbYNSqOGBipYwPQTYRQuAAhrQEjiEleyMgncNdOZNDYvcgpkSOELJwFixLQhCAnCqsSxAXpBueLLyqLjQaHSHCJuYsMcKnjdUMENESCAObzUDoQnwHIopIKuMELaOcucVNammkshRTceeKJlphhkzfhEdkXcvVgjTXpNZfDpfjggJrTwydwcKUKXhwVzaHOEWeBEyqyUeD", "ooPWNNmukuiCsSJkGduXBAhwaTgvDlCpLIapPOLkXMMDPVmYlxaIFgVZRuTDspACxGnWwKhoDvBaDLsprowmWsQhswbgfwnmVUBbBAzEcADarxfcXyNwFQftqMNojjkbrHCyDMmQuQuLxcYCboWXpCZeAlmkXmMmacJEuMCgDjwcvZrsDKOEQJzzKQTxfhawCiPASDAZNCWysKXlcDEcTOzKYLDseTBQMHoblPiWnIJuxPxCMJAGrRzRibLWiSEQkFwhVjoofFNSDPiQYqBeoFEjTnOKApMmZbnfWHnjEpESclmofEMZnezNLOnVzKdLLcUzlGaUBHkIqJoXQbeaOqIzzszblXQuxsjUNyiEKzROyLszmtExQrycSLCNrxtZiwcbwFLrwbulxHLiDNxZRHvROOKDAnFGjxxHTnzFWdEoGwfnRYGJWgCXjXBzGeWJtPFUSvkoNowINvKHxYZZzQZmSjwHppboCDrypIqgBUytJqHdrWwUuKpPaifZiwZI", "YfOZQUBABlbcyzWsayhMNoLFSDljVrlJNLhFgtFLWrMLXTjoIpxmfLpizDslxfjpMkedqenBWaAfkxpPEdKaIqvdhFREEMadBkngzvqxeCDHSyvufjhJzPEFfwzQmrRwkAIbjpVCnjBFqZvOQkkoHjexvWRzKUFznVlsclvDCrfmtXETYBECPdWUXdoLwQcLMYuUdtAuCsiXdDvlDoXIJZDkTTOiqZJZTDnQOxebPbakyQLFmeedsiagyACMJRfFFXbSBeIgkRXBWNhBVNQdDIotUMUeoPUYApgkIssvgLvnWFERtHEflbWyHhLrmccuaqhnLDglLONuZtdSLhnTJLWxRnuHBdCZtSWMmpKZUCevHQrRhRzPHZypMUnfWjkwWxTdRqFMqIRNljeKLcBdCstdNWbtGWAZmHuLqkQIqvmeBBXNyVpurzgJptCwYiYetHVSFIHUAZBXAWvVIsYsSirBmJxNFhGwUJqgFBUsRcNAhzesVfitIxiLxWkRmlgh"],"c_map_largeint":{"c_map_largeint_1":-2028336694224546199, "c_map_largeint_2":-5052280431108106695, "c_map_largeint_3":-8881042887397760323, "c_map_largeint_4":8548533087638655684, "c_map_largeint_5":-1438952960531357948, "c_map_largeint_6":-3185071486650901142, "c_map_largeint_7":3147996283365282015, "c_map_largeint_8":-3488406842779307572, "c_map_largeint_9":2622166665071941725, "c_map_largeint_10":2484955425508584200},"c_array_largeint":[-2657760749989827076, -4165528708204735663, -3999135978009336905, 3449873879723027045, -4887590405660973048, -3910815071513797496, 874441535805813262, -1398335341571365039, 1149740654735516323, 8686946916459338098, -7086119920220870507, -8412413954868975626, 1120860108287895642, 1415432294380410815, -8859767326419113197, -311130546150985690, -3188289123394902792, -7315358363621173950, 5877471315532877218, 2498225283062702684, -1583953303328836832, 4388350487739071257, -2924009017750766271, 2984666915972620413, 8662795066559536936],"c_array_double":[70.67432145272423, 88.61694947532578, 62.96481167872296, 57.71280617168588, 100.84310648527043, 45.07926515491661, 29.392823947006555, 12.331326809934808, 42.070493237334176, 51.686294786547904, 74.09268809666445, 47.610714608728635, 59.118432822220214, 5.295313096257125, 64.56665170699897, 56.99998654534613, 74.81690973182934, 8.274252351284686, 83.49785721293324, 34.80197228843886, 90.33558066836646, 30.825125272064568, 81.70753366340897, 55.01687637471766, 62.7029882345412],"c_map_tinyint":{"c_map_tinyint_1":-48, "c_map_tinyint_2":61, "c_map_tinyint_3":-35, "c_map_tinyint_4":-39, "c_map_tinyint_5":-19, "c_map_tinyint_6":101, "c_map_tinyint_7":26, "c_map_tinyint_8":52, "c_map_tinyint_9":114, "c_map_tinyint_10":-98},"c_string":"JDSmZgvyKakhIAfNDVkDMRQFhOeZEmnnQaEoZtJCUMvIHluqgjsOnlCDJZVjyylsnXyNJYpCpjwVuPWyUNFKNquHADbhAqWJXhAmXWNjWQBMBJwdaBuwRHUadrXzsWwkolWblleiKeaUaDastwbUBbEqJKTJOeEpiLXRPtQltPxzWnBdiZCcOBkWWSRgUOHFzceXIJtcrMmVVLxpnckfVGxTLrTYxwaWRyasxIfXPccDFVBzOvOGlnAozKTuaxZGUWunQPucSKIcEILXFixHWodUNaoZgSmoSkaKyLKpTOfTANZitAmaGAhSQVzpdzNHuWaTKAjhwrALjaienSNYyDrItLGygGKIncxvIViPaLkshHOZrYbXiCwnBHvuNrWZJBiyLxmgiigtctEdGzkebeSqjsWOEdLrPkVgssdrzziWidpkDjhjVtNhWCNfGGSzcGfEflXDuadvvfcbTikqmJKvSKKMzQBRoWJcjleRIflDdpykeeLHxwJvSiZuBOAh","c_datetime":"2001-08-21 07:50:24","c_ipv6":"36b1:785a:e25a:701a:86df:ce7:19f0:5ca6","c_array_boolean":[0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0],"c_array_smallint":[-26856, 1094, 27048, 14080, 14785, 28689, -23636, -17562, 23120, -21971, 16880, 18756, -6157, -25538, 546, -6072, -10140, -7718, 13227, 29126, -19684, -8065, -5662, -6329, 16967],"c_map_int":{"c_map_int_1":1348008431, "c_map_int_2":1505168016, "c_map_int_3":1689276269, "c_map_int_4":592193322, "c_map_int_5":-1411771047, "c_map_int_6":995395132, "c_map_int_7":-1808995468, "c_map_int_8":239807801, "c_map_int_9":-188537696, "c_map_int_10":-1720008692},"c_map_varchar":{"c_map_varchar_1":"ZzWRHerNAmHNUBWZHhGgEGzLpqjbsMTSkFwElZLDDQfvGVrSQmSnASQEzLJbEVQWaruITPxEknnjNJClDRgyPKNUNrEpNiRttMDWbYwWvLHOwpkdKXCJzmdDTUfEmWBDcERnocygHhaovZxHeGBfpMElnEBGnWHORmTxdyWiaVfXuEYOkSnjzbFEADWxTWYWpZxqxiIQTxguusWyBnhhwLIQDgrPzrUZOfKgQktZQGYPVOofdedDOpKeRIsZpOSJ", "c_map_varchar_2":"byvUoUWVQwYgJCkqZkZBqxVLKVzoAUYZOMRuHZYybacRwIfsgeuKvIPSfyMKvZPgaWBfsuseTjBalaBLINnuCDUFJqSNDAKxosCuPlBSRkhOBNDAfgPxPBdjaotIBMtOVnXBQVItHWwAMYipsBjeCIEeWsAMdINcAgohfGyAcZaXqPBkbcKPXUpmpMUTzvHnPJlzOTLTdQyqICyXLKsvwFtzVUHlcUfCYBFkyVBASbeUKHkaIIEUBEdvTOcFKJny", "c_map_varchar_3":"xhcfsRZnURxPXOAARDvCgmJespXomZUEgSAKwspxMlWTcfYGrbafKTCEKXapQcphbAYDudwWHWuMGQkITTOgpSoCRtyansuKFYLqQtxIYPXoSGcJsXyqJfSpFcvkqSePBYNzwkKKTQleYUODTPfpxhDjnwbjHsgkoeCfGpJhTCsNnamPOZgatKmldWgFOSiOjISVaJWEWISKSBgQvFMdOftGxriZzlEBSbZFAMqJaGzMztVfNwLIjKSFLWSCQflh", "c_map_varchar_4":"LhBZuzEbDpaiygBbQcIVMxepyOAdxxHMMeIoBOtSkwpVQJeGRJHLiYGiEjmizrTkFnvEJzxNUiBboqCQiOAQxfAsuDETHKDAqAsJarBtpVYCSjCZGDjStIqEIJCnDZAghaFhFInWllVjrPpUFNGvwaYhLrNyPjhvQyzdeyudEtsJCfUvFfdGTuNbKPxHlUaIZHrbyQagMBUQTaxklnaFBFgsAvmpyLEKzHCaSestiynLlwrUtYCPpBVMKBnzuNgM", "c_map_varchar_5":"dCcFDGYBuyTrwOFJquLmAGvzHliLVDCOGwsLUVgkzuAizfmwXVjmOoOkaumwqYkQiReGsavMgCfCCQgAQIraQmWLHJkejUiXtBeEUarTEOguwKaIxDRAyOjOTtxrgLYXwrfzysFsFTnAxIcJsSeXKxFkoFHDBsUuYPncPvrUrhEzolIDIdwTAvMHrIDoIrvGorUtPXDFzCdhdNYJPMEXwjZlIDjvoKEZAMacxuEDaxdOziypXnxOBctjJqSfDOqQ", "c_map_varchar_6":"mLKUkAEiNHUXGAWyMvDRoVtIzTEeIIJfDmESKzxzsJLZSliMbWjyEPEGSHfEoiIaFfsGxNuKcTyqCOsNyPlbyOAFZARgrtGkjxTVVNtAHqTToNdWdetPGhbFqhMrAXxLWGdcGlvXHZuufZoMhGwqbEZaOViJkSGqdGnTgMpEuuKXwsQErTlsWwvofvCYYqFNWDRyPywFTgbiSsYjVBDjmrXOSmEFtUSXObfkyJYTkmUgzdlGllvEsHcqGjgLVOAH", "c_map_varchar_7":"YCAlxhKGLiiLrkQunHlvnEkIFmNKMWOlcKKSshjAoqJfiNkqsAceNqlEmcZWKweZJPRKcvjIyFvlyjYwDwfwpvZfPgaiTdyBoWWApAGKbTCpHMzxXuNJbjhzRLBmDJdNhMdlsblNfjYnwDjxkfUKOLitHsEHpIlagRTciOUhxGQfEextGUYNAkroUODRQYIyuBUXHBwMrjdxHMmvRkbeJJgipWTXxaLaulNwUNwEpDjmpOxXArqZBMdqhJpgIuih", "c_map_varchar_8":"nrHAJZmkqFpMRWixMUHufbtKLbTIHqHoldpmemJbKIEczQjlctUGNbnrnYpdCQiyCPaThuCKrrMIbYVEaHqhfDEuFJltMDezeAzGgyVqfKbUeHFczGDevawiTYCiJRnUSVjYkqgvXexNObuQGWeTZAvVMzQdGCHsgeqXSiqsVvlTMrBZvzAEzbnMtRsmIFWubDHGBMxdJWtOMOuIcwaOuXBPmwwbxrIWrXprZZKhKPKLvAoyvpFKMzCTqEKJbTvj", "c_map_varchar_9":"fjdEFhxIWEuOYRhvUCSyvEDxIEYcThpAfMbWdamnGTSnyHsJUSQtkEWjLlrmhBXDGdmKfkMKNpRaErLgUmkmBaQumBRcHlrLzzOMvKYuPKloPBlnMytsljaCFpSbNZuYZaNVNBOutbyKEfbEZqBHfIzASlNZiqMrGsDDxaNTGBxoBAYhVfLxLYMJSgtbNeXZzeznAsFjMkloLarUPZBlSNQucnKNZJBMUHqyAJSniFlINUCyDpFjlEKcvyFYrwaj", "c_map_varchar_10":"FmyBrmWMFfRfuGPUUYVsCBSWJkJoPtysWXXHKeGvJdUyWFRynTFTkeKfiAedvIhsbrAJjjOuodtuqLyQxHZKKmeEDgYPUcEzWzumGBdKfrISkfIXObhrSsvFLQpEdHvUTaTwvYGIodJNsAxRKDYcTUmLSFItvwbNloPKjUhIwoSTkAsHzXGqVeThMfCfsERHDgrfomcaiOgOwgRtbzgDofONKxpkRnUaDJTQJxFgTPRbwymZxCllPdVQmSiYcTHw"},"c_decimal":34.0853,"c_array_int":[1345260849, -182635921, 1098069158, 1190923150, 1309659475, 1294077680, -1829906189, 475001775, -260176867, 2065250624, 2069058247, 1622377753, 1117777874, 287895057, -1374051905, -1087442154, -367601027, 1257503991, 73354965, 1939863849, 808093933, -2144729109, -1803662663, 72788942, -37689705],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_datetime":{"c_map_datetime_1":"2005-11-11 11:56:35", "c_map_datetime_2":"2009-07-01 05:58:23", "c_map_datetime_3":"2007-07-02 21:55:37", "c_map_datetime_4":"2005-11-09 06:10:58", "c_map_datetime_5":"2016-11-20 06:24:19", "c_map_datetime_6":"2018-01-23 01:29:40", "c_map_datetime_7":"2016-11-03 11:34:30", "c_map_datetime_8":"2004-12-17 23:23:06", "c_map_datetime_9":"2019-04-19 17:33:06", "c_map_datetime_10":"2012-12-16 22:05:15"},"c_map_string":{"c_map_string_1":"UAlFhpNwOpxWNKUpuoQQjhoxhZdZCNnvjuTYwiqmygnnTlZXzibNDoQlTWZCCzTGaXfDEXTQJgMHkIOzQUhtxtEbPZeKqjPBnKAugYKHtYALqFJhYcTspxciIDdDoEzoqFivGmANXIFQUNdnolAyzfzMIQnBYhteBlYTSEGEzZfEXJRVGPickKUuMHjRpDwGJFqoYHeIXwQeaslMIMquUfNPGodwbUWKZKsUWEEyoHGcicaRcJTRoaDbXYWxuTllHVbzAucMweyyzvhYhnkPbuwlLEpjouGgSwiFYHpyVsguNGyiWxWNhkSpbTEkZiJJoAuGuxmWJTaWFJmPsUTDLKvCOAsACulTEmCMXvbGaHjElzIfjtERkVzQmhNnwiovjTpmOFqgdrdzCGlfQSwVumEomdgJhBnbSQSxqgDCFqNZVpRJxepQucRuhWEAknkcLpsFhRGroePWFRCSvlqMYZKiuyJcENvWouNGZPoKjNWxYoOwxgxttkfLwNSyqyjX", "c_map_string_2":"qOgIsEHglrwYTnOFwMXVxhTIrHaaGBiIgBhShFHlZdQrEEHulwxqbPhmDiglroEAJLxXrkNobuqkgeLXbRYEVHNcHKnzrxOqAtHCgMKpXoOBuqrLIPZFzpjfWhjwjnWURjXkbZWBIAoFoahFawEEUjduhFNJMMagjgUvdphlqHbPsCdUDjLuyyUEAWhEwFwMGbnKJNAOQuJnavBainVJWAqyJDUjmezFCchoLiMJtDrPKXFkEqQOxDSCIXsEkdnHycbfgXhdgQDIbJfuOWXXMrUuRUUeZxBGWhxOwLyEZdjxiQsQnwkQacVoDpJAAkduLSmmxzsYjyCdaySmkDuHEHtVEtqYNrgsyFBJnnOQfoVmKLmfyzZVCTEzKnZKqhpNqQPbHJblpmGrKOjfoMYrGVvTTaIdtoHkvViFtRaEjwMmqXtKjSGFDeAviogxRJTnpwzGiFJWdWXDHYizylYSPDKGhJZaGFofubjbOGUqsAtSSfQPaKyUOEfxJkZNATyO", "c_map_string_3":"ZhXyHDUUroFusQallnAeKtruERaNTqfVTWgiSnETkRegrhzFClRViwxUTOUYGQYdBStfJgwXekQqzXbwXLJxMjuciKEWXpAWiFyfvfSsnAqcoYuHVflEQmKvlnytitnQaQsHKXKzxWMCZdGKVujfeQgpTSARynLIMrWgzsEJWFVEWxbdYTdBQuywkuRAUAQoaXjunrqYLLQgxhQEhUUVKbfnXvuXjKSZjGJbggbmgBSkTfiSXwhYrDQJIgxehVPHWqJfZCiQNMLbJIlZFVWthZvmNwWcjiFdnOvzjkcZLuLnCYvjNQAfllbDoPimjEZvKjjzfSmdlAXMduMcGTrRFtjHdmSZYJeuoIEOTOdXtPNoeeoZvzomdmZzPtGJELbhzOmJlVGxztXcAlIjdVJkTlJOufyqftqPfbkjPuZphhKEPQcVJBLTbFrbgimkumDqcjWmmyyWJXBUbFXkKLeTrzUqaDfGzneOSRdrYgmfpTKsTYBOboGnsccVjvgbgAaT", "c_map_string_4":"mihlMcGCAiYQsOMqLLtfvejkdhSJKMBytLrECCNNvoiloZJNrkosymPdhRKnDQipFizRepKkhwEtWnDPPrZdYwyIFNBmfeDzHggGAwKZzEqZIICSFhhQOaWNBuEMdFqOJxwLLGQblQmCjSXYnPQujavPazJnAFFlaTvaUZZOdozcvSEAUTqFdAFFpqkcLJYApxmMEdAVwlCUgVzBkHfiMAHgBGyzeUPJLLUlTvjxElxxqyPjFjyvhHipmSwvJSKwxZeEIVIpMKZUzmyjiyZEazboPTZtfhPYwQrDvzsOIfaoYjkFEiirooDVfmrNlAlRTXWdkQCFSaOBXJsQYLbAOXfHceMHBnCVrYhaAvCFUrXjrmICShoERbAttAYaGhCeHwNVppLFdFgZogToGgcgWgrgUbZHibXVuhrAPUMhzKoFIGgPFNPrlhywrxbkfRpcaiLmwBSqmKMEILoNIYEoppGqOtXlqGDJXvknEcBxELeEFrxIwIzYGYwUDyWmNYPa", "c_map_string_5":"CuhhwfPqYbWmRdxkxvyPOYnxerSuvYxjlcLxPBgJHcfOOjhmwlFFPBoUxhMgEjKeeDAiOActwmVURvOogNpfUBMAkxxJFupeOJyAWSVudAxmJmLHYeRIVsaRPhLEDAWDsoKMYvhpFTEkPXUiJUmwBDghxwYFIpyoOZliONKqYchjpGtJqcJATfotqkWBIHToaALMcqpCcOJegOrCpTVWYSRwbvXlrxOpEdTPphVEKDVhXITvINtyRhGOpHUjEhjvvRazxoCDMkwDDMIkOniETOpuyTImWpPxhlTKRegiYsNImfwTTBHlwqAgSIcUktenKjVOmjvCGCxxuZBbDGuefLwtRfcjNYfnaGdeCkLmNBTSBPxKCYaSbnNJlOkmVlefFEunwFmwnBgKhwLaxWKPvGPbRbqBRDOTKiNfFfPBjGweTOQqddLcLwBvulxbiRdmaOUhTOeojOAoIVuAkHmHUidkrsJjjfohxjfTtSeMnuTSiiutQJETUTZPyjGkyKpW", "c_map_string_6":"qqkcaskHCPAmdNNUAATunPfXALkjWOZZKZLcoQvtLYKgpRTPWtYDrNBVDceTTEMzlVphzuhXCIqREudrPDnPToQDTgmOmfVDsMpnKtaUyQMQcnqpvDsFQBkNlIDhBrHlFSxKxSLfkLSlVDbtcevdQexTWUIJYBOfxlvuoDIjlYAIdaYnZIimDuqriGUsNHZQMJLPLJEHKSVYWDZZDhwLAHMKjVAsJAWpGVYJuOgvaEMTQjvuvPznekFtavKWbTuMLVZCUjnxTxONCwaOaoiTalqemjgqOBSkdfQhNksLfTQQNmwRYdvmJgpISNPrgPEQgUQiZECPzJUANeWfbdwXyjKQgQCWJznCYloZLtSrCCWMcKtkLFBhIebqfBGJdBOWANHqrvdErcdVKHHzJfaqPhbcKumZxukJaaPgzcEXowGNVlBsrkOKkTaZfFJexHXiRFHAKkwCjXmfjihAMWxyPBeCuSzCXWptupHVcDGXodqhWzFfWGTrYlBhnBtZXGUn", "c_map_string_7":"EzWVjguRiBUdhbZuWqqbWujaBHdMeQeIrjhBWGWbdpvrHOOhzFkrQQOaZflllXdPxpkXqdafcPSXSxcNyrlAOAOnlVNOKpROonXRXPljrpjQarCKaObyMXWWFKgeHItfZfPnPbyABHRsgIlsIORttEshukAbeZffTiGpnsSGQywwdeibXNpptXqAZpRGgTpwzTXooKVKKtygulxkDWwwpCbLvtJFhAFNerOAhASRypoZsNNaHSqFtsmrBPDuQouxKIyMoYOpIfsaEFrEHGselyRsRsLJFzPiWamWhQsKSuqUusSckClgyVtnHDBzvjNtXpOcEsqXlnJNBWqDuEkzBqELQzHDVCAbZmdfHpTDPxfsXTgzaDxExLAghgOTplxNDJMbkCkangtgRiPynhjLZPMjvDlWPdUeozBufbSPVzmnrCvaOMQslyTdxmaFwbMJehuZUSVxlIFkIENnGJVkqNeKVyBlvNACXYaTePKbeLQYVRxJoZdDUaRtmjWiVCjr", "c_map_string_8":"iTjwMtptRDwlbMYdGRGjNVnEwcWmQBoEhHtqGBPkIFJnmzIkANyBvQfzaZiMlMwNSyeMICxAovLDNkuSdTxyfacQxtUaPuvrqhqnPGmfVdBddIiwxSPwgoldbhWSssgNeHZWRsYbVQwtuIkPRiOkRDxTxMOjFOXIcHHpFPcZNmedexeUcqXPVnvxyGekFuLIxPbFuDHwOrVlNAVGbFmwlRplasFKylLSuikeGZbsIurqNWbOxZinymYReYtfeouPiqDwiPlviMVaqVaNYjEQWkMcudeHelgDXxLZEhWpYvwlzEHjhUIOqxhCLmmqsAOMIvCydpFfSCykJnPjYCdthhbyCNGOmVKldAOjBuTPecOwzlpOaEdJtZIOAXMhgMXJdgithLEIhDHrCNciUygzRjKDRauaxpNDbRPBtvUOKSVbynONINcMBEKohUJQudLQDfpdriLEdDjIPNvNspCdsSANVvoNumvgHtOnzTmMwjhYxTbjCTRfPvtNyjORRICb", "c_map_string_9":"eKHfkLoNZeTQCKNORMVgRFGhTbUtCbGiGaDhNlRqjSBbnlwLdvqUXLjIiiVeocIhDbSfSFqtnQohUJaWcjRZRNspXpYsRMHguErkKtLeaOGtTICQjdPlOvkhkPFVwbjMfUrONzSuSbHAjbKpIzuQJFQWZnUAavpAetuqeUXJizdTOtBneIrgyEIgewfcZPcYKqAjUiEfWifndzQSVtZfiDnFWABgEMBbFABvUTUZxFzOUEvtRoDtSZZFUaZdujwgHYCtSZlfLPAaFGGIDxUfRdecOYsoSTDqAxNWEChudcziUleHWRaFuoxrmfwkfFYyAzeGnGeAHfVrcGVOWeeVmtaFRmcgiNykofDZCxLiPTsTAorIpITnDGgkNPDjJSJdhfWggKpTXyCcQVTmFgEluNLJRBTPUyyeVGArvUkeeGptLlIeWISTIsJBiKmYLHXCzgZBwVhDXPNLfGasKidnmMGyCuUFVBMZFFRQRjtuxlvQgmzrodcstufEnXZvPkLh", "c_map_string_10":"WApFBPccCXZLOlXOImVNXaIjzSDOecBHjIFEfAyUhckDjKcVBkAxtzyzgMBGsvpJkyTtikEMtiLdGteyHgsBypbhHKGplEfVoguYKFbaXNonxzrUYsKIyfhOYcEKXXpbNmkLgzhHRLpciiRcxsFpgjwjdTDlsXDerDRJFEvkNsMCxjvTUlEjxRsrOUAVlHItdxCEFkSNZuejujOCPbdmTCOpWlEauJrqDdWZtDhiwUgKMKtwKsMWmfVCHPmvseifMLJOdhGMGScdfIMlynOfCotuxsykyhwcQYRNPdmKimTkcGmYPwJYiprwXXsbMauUJEHDOMzYnYqsItFilcRQapwGDWWyVGQlILTYuYLWaHUIYWqGhoiwAQuxJTsEuQBIfaSBcKmmvvpogBhcezLfpUcSpeRNobIXaYHXAfNIwiiVfihyRUnFTdjuuBDGZPIMQnIaneXOoZDBvavzcdePzKgJmaDluXaMbuJDSKqWmBVLIdaPcmEPPVhrFJyeNVcM"},"c_int":1206565906,"c_bigint":4587187474806820390,"c_double":84.51931047105876,"c_ipv4":"89.41.177.32","c_array_ipv4":["jbZGBqsVOO", "nwQVQsIDpC", "npFsuunnnS", "gDISSmHBmo", "WXnYluynXL", "mBJBwGlmIC", "UgAHwycCmN", "txnNRScqdz", "cFDBjSaQCJ", "xNOWgesfGd", "lDPpGWNtim", "OipzXripcQ", "YAWWQNGycD", "DTzgefgSBy", "EYWMYgOKth", "AAPYnIoSOr", "JjcgVrawQw", "kGsmdpGJvh", "xLvLiZRooU", "YSltQpoGYP", "NkytTtJmSw", "tSGPmClimz", "bJTchtWdah", "UDZneRYrMl", "ipFcWwTnMx"],"c_json":{"productupc":"030596166712"} }','{ "c_map_bigint":{"c_map_bigint_1":2065231103477116841, "c_map_bigint_2":-4621909899980731611, "c_map_bigint_3":-683296443336657090, "c_map_bigint_4":6782035889996564516, "c_map_bigint_5":7949671079368158619, "c_map_bigint_6":-2501222409060798890, "c_map_bigint_7":286707462469047656, "c_map_bigint_8":-5444673383285093424, "c_map_bigint_9":-1126457232071672291, "c_map_bigint_10":-5460602629222829377},"c_map_decimal":{"c_map_decimal_1":75.1932, "c_map_decimal_2":53.1500, "c_map_decimal_3":100.0719, "c_map_decimal_4":1.1535, "c_map_decimal_5":12.0899, "c_map_decimal_6":93.1402, "c_map_decimal_7":1.0871, "c_map_decimal_8":84.1718, "c_map_decimal_9":8.1628, "c_map_decimal_10":12.1516},"c_map_float":{"c_map_float_1":92.91743, "c_map_float_2":36.711277, "c_map_float_3":96.35203, "c_map_float_4":92.13015, "c_map_float_5":49.772724, "c_map_float_6":75.312965, "c_map_float_7":77.754074, "c_map_float_8":55.301384, "c_map_float_9":99.27643, "c_map_float_10":100.508606},"c_double":12.399857135028839,"c_map_int":{"c_map_int_1":1679065041, "c_map_int_2":552585753, "c_map_int_3":-2061736771, "c_map_int_4":-1450106296, "c_map_int_5":1535653753, "c_map_int_6":-37677109, "c_map_int_7":-1683966417, "c_map_int_8":312766689, "c_map_int_9":-1165402843, "c_map_int_10":119037000},"c_array_tinyint":[127, 53, -50, -37, 102, 94, -87, 126, 61, -110, -23, -96, 110, 103, -128, 25, -121, 12, -18, 116, -39, -91, 127, -83, -43],"c_array_bigint":[-5505850082296272457, -2562199051661144, -8278221325736322498, 1199782195770943989, -3902595472369997219, -3972974528813207623, -5280594758154293059, 6630728547529761118, 2050625349618044532, 2896289997259236658, 3842428675597372396, -2957243121932508051, 5724399063791209032, 2152745011057972287, 4649171664067495531, 3597449971798898738, -9112816842753598200, 6498839240282118698, 5175675756880107265, 8016712088196764395, -470706522220460710, 3191314919410267894, -5123797517111162856, 6100261404596334977, -4645771216421960001],"c_smallint":-28348,"c_date":"2009-12-13","c_array_largeint":[-2526059078445420322, 3504331940350921034, -9112869256863229739, 5998006021554824982, -1209773317923615938, -4048088473680759133, -4846768496734909871, 7345308951622883130, -6448916173519363849, -4756048077339050735, -7947995951536004988, -2717108977670130293, -4573242054400293148, 9164932585904538273, 8729463652272037987, 4319948090675775362, -1286894244301753052, -8556307923461391292, 1672969731634530890, -8727575485940829340, -4191354058464047184, -2197474624751493060, 1731379027005117432, -8435852356518235986, -8677762663470853185],"c_array_decimal":[82.0032, 43.0424, 11.1748, 1.1109, 5.1695, 42.0303, 5.0940, 59.0539, 1.1477, 69.0400, 7.0689, 61.0761, 79.1144, 31.0705, 98.0990, 29.0968, 41.1358, 99.1843, 4.0931, 18.1976, 2.0988, 8.1116, 31.1380, 96.0005, 78.1321],"c_map_tinyint":{"c_map_tinyint_1":70, "c_map_tinyint_2":67, "c_map_tinyint_3":121, "c_map_tinyint_4":-1, "c_map_tinyint_5":92, "c_map_tinyint_6":127, "c_map_tinyint_7":81, "c_map_tinyint_8":71, "c_map_tinyint_9":127, "c_map_tinyint_10":-62},"c_map_char":{"c_map_char_1":"tPBdXmlXso", "c_map_char_2":"SVJChzwcWj", "c_map_char_3":"Cqoewjrhvr", "c_map_char_4":"bOUTUkOKcX", "c_map_char_5":"RkFFnFSjFV", "c_map_char_6":"iUDxNyVGZY", "c_map_char_7":"kVmqmnCRCh", "c_map_char_8":"sDLdIRHyzi", "c_map_char_9":"iZVedFAXOU", "c_map_char_10":"jxeBqMSJXd"},"c_map_ipv6":{"c_map_ipv6_1":"b51:efce:c6bf:cb7f:7521:42bd:80c9:ac6", "c_map_ipv6_2":"2f3:3f53:bde3:cff1:af39:d63c:9fac:8283", "c_map_ipv6_3":"9272:3ce7:f87c:628f:7b1c:adfb:a5fe:4fe5", "c_map_ipv6_4":"9649:e197:85e5:556a:1b8a:b514:ea5e:7645", "c_map_ipv6_5":"c96c:2a7c:4f5a:c02f:f704:b42a:daac:f50c", "c_map_ipv6_6":"a3a0:b332:d205:1a7:25cb:26b5:7219:73b7", "c_map_ipv6_7":"fcbe:c865:7645:fcfc:612e:83d8:ae27:758d", "c_map_ipv6_8":"9350:7384:e67c:594:138e:5f45:6b22:5669", "c_map_ipv6_9":"f74d:2aee:6eaf:58ec:60e0:2a36:c07b:6d74", "c_map_ipv6_10":"e1a7:7554:9888:2778:2f3:6983:b41e:9058"},"c_decimal":76.1492,"c_array_smallint":[28837, -4898, 16927, -26259, 15960, -17179, -22933, 1897, -10861, 12552, 12331, 30872, 3756, -18724, -2104, 12211, -26253, 14477, -10513, -5116, 4447, -994, 26889, 27634, 23177],"c_array_double":[12.714258363151501, 4.496162668799316, 84.22095806312781, 93.02266238991764, 89.90193003686319, 95.46401488763783, 3.854798329044377, 20.979811245577164, 57.2493512868558, 94.1530440128143, 72.86431734908311, 35.01527317750025, 39.0047283546666, 50.9430488037169, 13.592715407737083, 71.15107568056993, 54.01742847778036, 90.32717194514785, 31.038416898265353, 33.19383394004381, 84.62890026739763, 35.96885115858506, 4.008795586330954, 95.24455126658924, 64.21323485026817],"c_array_date":["2005-05-05", "2004-12-15", "2007-08-17", "2008-08-14", "2002-07-25", "2001-04-24", "2001-03-09", "2004-09-06", "2012-02-10", "2011-06-01", "2005-03-23", "2017-10-09", "2013-06-17", "2009-05-05", "2018-11-03", "2004-02-16", "2000-11-10", "2006-07-06", "2003-12-05", "2008-11-18", "2014-07-01", "2010-11-17", "2002-08-21", "2018-03-01", "2009-11-12"],"c_array_ipv6":["vZpSqXrCIy", "QsStxPQfWy", "NlpYqIunIg", "qrQcEHnmVu", "BLJvGIeuOb", "puIBxQorcj", "rItZUxcAnK", "sXBLauRlGG", "pWyXMdjIyq", "AbmvvlcMJr", "xMJYBapicB", "TYheYmzLgB", "uWQunvxolQ", "EpaxQfvTRF", "kprFqGsZFg", "AHuRFISVKS", "YqofNKEVEW", "LWSZbDmchU", "FyJrbETGsR", "gBHuecbsdJ", "JbsiBUmqDW", "MIvlpLGxJt", "hYpsHUcIXI", "yfNFdHJHBW", "FGtmemUzhT"],"c_map_smallint":{"c_map_smallint_1":17816, "c_map_smallint_2":-18969, "c_map_smallint_3":17693, "c_map_smallint_4":3822, "c_map_smallint_5":-378, "c_map_smallint_6":5892, "c_map_smallint_7":2942, "c_map_smallint_8":-2145, "c_map_smallint_9":-30475, "c_map_smallint_10":20109},"c_map_double":{"c_map_double_1":6.149088784902872, "c_map_double_2":65.36115753117636, "c_map_double_3":41.31557891654159, "c_map_double_4":66.92467678952971, "c_map_double_5":33.99300238568353, "c_map_double_6":24.465554978661913, "c_map_double_7":87.96085478599313, "c_map_double_8":47.2043916469058, "c_map_double_9":5.170594930238286, "c_map_double_10":57.60339486498316},"c_map_datetime":{"c_map_datetime_1":"2008-12-03 17:35:28", "c_map_datetime_2":"2005-11-21 01:19:52", "c_map_datetime_3":"2006-11-15 17:35:48", "c_map_datetime_4":"2018-12-03 23:01:43", "c_map_datetime_5":"2000-04-01 08:16:47", "c_map_datetime_6":"2001-01-11 07:43:54", "c_map_datetime_7":"2014-08-21 18:37:43", "c_map_datetime_8":"2007-08-06 17:58:12", "c_map_datetime_9":"2007-05-19 01:25:50", "c_map_datetime_10":"2005-02-18 12:10:14"},"c_largeint":8001588893641800365,"c_char":"bmysFCHZxs","c_string":"YxjpXHugOiMCDmGSUmxrdfhHXOcyAMZYCeBxhZvIAjmIgKOVjbbmKSpyWmAheINsdEQKhTLiMfRUSvQTPJeWoMqcOxzWYfJpSAnOXSdeOZGJeQpWGkIwcotOhuQjETTkjXIhxUaUTUCRBYzqTsHiVgPefAHfdOhokZtHcipMFvbPcfeMxWJjYxzEMRTvFfyNHofNVUhzaVJrJvCLgEeczQFieLOrSjSSfrqmXsmbGPoPxAcwPChPScBkBZGumSLsMSeRvTNEfoFrTxqMMkoVOhAudBbnpdnpYEDFmHnnwFuXANybsaIoVPiTqPueOBWEuZlBVqdMFHbDczXNXVHHrEVPHecfKPlJTeOZdiBCqfibORahzeJVhSGqTjqReiitQkfgkVDRDLzVKjdjaEAwfajiMoPxvwIsfHAMFTLHpTKfGBvyWYfhDXWyaGUQLsVRLbHxmhFfualUEJNzXVMuVDTPDwIoLGBfiBFRLMOtClytAcPUmjTDkPaqUPIkdTgJ","c_ipv4":"171.214.49.206","c_ipv6":"37d2:94e1:fea6:dafa:ec1c:cdcf:a284:48e7","c_array_varchar":["hmvGKeyCsQJRnlYvZzQhIkugujoANioaIFdrIOfKxUkWLlJQeZXRbISpGYYDZGLKLjgwOZdWmaRUVSuuTZPjOjOMCrHQjcScgePFXcsdxjZpizdOMZrBLaIKgOkKZGcHhbMZKBjitxpwXokWIORLlEweVDSCQDIjoyAQSFOjZuSYjCwMaQCBcPNJLJRYVsSCuDipwZflWuguWbejopLkcokVlMBKWktmVRMIwAHJSOGjyvHYYWYNZXgTTALUYXIO", "HjFqhMsyRvblBVkEvXvErYwNcJuvqUCrfFFfHstbQPwSAzyQKFEHyiaSHDJtgfuZJrTLguTTayWyeHWvGHeWTKyZUGLnXffSjFPsJskgZjBuaScDwhDzNsLcwKZibMPINkDlhDTLAqOVnxCzJgTzwToGqZytscBbkSvvgIqtpIKdNvFmcIqNSjkPiudHQDyaTcQvepALqnosANKyKzOivIsxPmLpfcWlikbbrDjQRCosNDzYebmhRmkaPvLKJGpL", "mFSWdQyneqErmRBryRkAJMeNvRtJkXfbJwaoflpkZoCmhEcfiDZOWtQJEfwlkpBltSaUcztYBiwYKcJbYBolJwCgMXARPFRxWbBPnrFXoSsOJpvLQcHqwUwAQMAdbLRPsOMAqvusdDnVHPgVLiMPrevZaiByqhFDJfeHXftKPPcKdyHefUChBEeWOTQFhDEaxnvZkwgNgRLRozWVwQmBKAxtWWpcPBBmppSucyADkmcUauoRHrUSYXPCIkbFoegU", "IlEfEimXuEbLbZsRmvubTzZKizyCzcWeHixBOVEyELwgkOGqykcjWnidlCHoSZarOfpiMUyWxOIjTJJvHzLCSQDuvzucWCNcJNMjVsqVawzsgNyhSAmnkIEvgBkVQQpArpDCTzZrvuGOPyuTcaigCRyOWaqkpiJxaQmADTOqoQNBRRDGhjoRXffvbPKlbInxwRuwVryvFWgWpzpyPpSQEguVUGIOGTyRDJZgUVaLiyjbHmpTlDNirElifazDXOFg", "TQOvqDaLfhUxjWvTYmPfBCQwljVqYpQcGnQFbLehqsaardDtZfTnJMawFzvjrMmBpdcmwNUZzvKHslHlagbvMTQmdrnCZjkyxukMEErXvkmooPPQEDIhMBtBvVwCjeJmuwuNJxRBFEXryiTEydnaPBngVKtMBSYRANKDgfowLUyIsSUdPzFsLJlEcdNwgPCNGbGJZiLJNiAMwQrokwoeuffKRBrEhlYXuKnabeEdfhQYqxvoTnHqUNhknAvbmxwo", "vWhIsjkFKeyISrkIuKyJWWLXfLzEYbxdVCWrVXEVPAdRdYMENQjCBTvladXbtwmncHwrpDdsorSpqgiPfqwqkzeOnzZIWxgNELqkdSbHRMayfDtLgLeNwBSnsZaMtgAuKvTAXKvzFSytsPptEbBVlsEAEXKFwImqvtywkslIEPuphazaPOxgprNlJldbErwBbRAzOcXPkVFlPIXpaFRbDypYpLCxgAFgEQBPXzuKvEWLucHMbzYauyRkqlxLqndp", "GMCWCuxwqUnztOMBpIVQPfuouHXOWAIJqfXacHXgNxWNwwLOtIzzjVVPTyKYpdPPvqRpbgYCJbiMiZSVqiliSgffpIDPdSnJKIupbrrSmnnuuspsMWrtHOLbBhFcvEHhMNotMgdAtqeRMSZjdhWFqTlKXUbJIcFcEKfRgYYMzhPYglRennoeRmCAZuHcSgwutYWhTjgjhGGAyXRamxpdtUkeePsdPVEoNKYShuSsawpMUxEhAEZLRCGQVhEMJbug", "FBbRNykXxsRClCBseXlrqYkNpzQtOLcyznXnGacvZllksnZAxjfMrAeJNhXqkEjzOBRDmkYfVPofbHjknktyjeLzZdiXQcwmEsvirtxuwHcOptzgrnftTlaxdvqvDUyPmwfaojtSGcFSqTobBurNdhFdhDAypMUXboCDUuCqwyPuUMRLNFMpqAllCjvlGkypevKFGeJzCQfFIaljHLEklDWXtjgWubApvwWiaGATygXdkPhxhKSTEnhVgnCqQqiS", "OsqmtKoqZWJZbIkMMEbGYeglVbTmHtDNuLOdCmrJrecLsAnOGVNOSLJjNjrauANbutVFGxbtBpjhAkHVKZSMZNlHmNoSdyTDBKjObnSFgzVWyfmSHRIhEjEKuSLQKDpncDpjkWGghipKofsORrKCSTvVlDuCiYAhuLrmjKNOEIdkCKGbMamSfnpZaovAXJZjdNXFOihRMZmstAcFNHjOfzEvegRjtMvJeonjzvkaNKTbAZfiKKfXwReNauahgTnw", "mEiVRaUNpMKNnMdHDzgkcEThkgjscEvUARNYwAheBAKzTlIcUijVCECbyHuPrKXFMmgtArvTUjJOgHiocqJcMPAVhsEEZcondzpbFpQExREigcTyAuhLyFNycBvUPsLntVoDpXLpZSgGrYzHgDQpDdUIGYKvALvBImXYoxnLliGLROAALelhwowXCEvwIutAFdFyWnHAfIsagsCrZptwykSQOELAlZmFyWQQKLvaKyEKQjiDfvTaoLjIRdjLgaar", "hPWQFNxNmkfNHREhGSHENMCWltLWnDnOQXcrEZvSQQBKWuqReiyindKrBjTjwsRgNHQORlSuaIetlEYQqalsaxDeCbVMUVkcTFHTKsrpaWJwPCYYjetcfUYbwiqVXRNLeJBPdrBqGBdFimaOTWnXwumAdzAleSPvyZARoPxSvqHUYeCPkpAAEhrvKcNWVeleCyJjyrHlDyZOLpLzMcOhHdRErBMscKQiEWAfCGAsiEzembrVYIftrxFeVrctygkK", "CiTgvHXRFwFKqQrwFinOCKksZuSZmSfTGzMjBFHhKxPECOxKmSZyexGmzfZyVwqSknfhnoWmXrHFhqxeHEuyAzaTkAOQFFVKQRRRJXWxjctfjWwVTOJKVELEqWtdliuosVtXGNjCkBFYexFnmOlCNyCQmirjLqsRuaQLRDaMktQaTIhBbVLAIEqqZfbKvKknAJaqFcuWJNVmFwWIaOTpGnTmYMLtiYpLBEakTgPrMkKFSLoKloUFXoKYfgWSBUbG", "IZlSdmLolfzhSuvelohKpJNCMXHbYagyDhGlmzUCsVaEUBzMyzNOBfkvnqyDuxUkabGeRMUTnuvpneIoZXvmDhMqTwpLJdMcpyGmWLkygnTQveAWzfzyOxXZKRFOnDzsmwPLaDpclxikWfyVBvAoucInMRKNkmxCAljigpjZVLWJbHrGxGNXDjuTFMThIQvbAcWwQEigGCfGpnlZGhzfmdqgkBAMuBWDqDnFxVEEcRXFLbXlmzphlsQheWpOhkds", "fFJGkTmrzzXLQvzvWaqLyfZdxwrIXikIayEdbZNASOwfcagHGcSlfInQRDLTAEzSjwCCUHHJiNblEanMclpoJtdMDQGwVrpdsJBfSLDbOMsnzTbfTAJDodGnyhdhjAUbajkwULjmYhVlCZkpYrqOkaZqJEHvPZWmKIoyeiNvYujtHDDEMkmnuLNhPxyuyrOuUWUjbpzKrryTQFkRTwoHIxxCefmgPedZXkfJOepfxVBXwfQZeTjrJTPoAJKMwaNM", "itXdhmtFzrgjGjuLgEGzUhrRuIYoQikTSMhNfdsrGuBeUrVvcfEpyCJGpzjWwTBPKQtefFBCkwhCpVjskbUjfBTHzbTuklLsLpDJDfkmNMpUKMeZKBZWcemGaWEpnkEnvKRRyUcqiFZWLbIeCvmXmfUNmNZsyMCQImTyvhhLWPerzjqzpThyYJVPugjbqdezpEoRbQQgdzFsTbihiKTIAZQWfJmHpxqszCHfcNsCLvTHmQtxwBpjvTkSDTsvJYOp", "xXAMiQDNWfRsJdFZGOzWwkVAULzYWMDDqtvtropRBhNbmMAQRSuzxVGPIsRwSgiAdJeKYltlAraQwtdmHpyXSjFLqertuDyLvXolvMiBqklDBleInMumvlQUeOkOCnWmZYsrOCPJdbXanfGgJeibfWeuVuFFqmsgajseRNEBHkNqkjQttPMnigBIzADdxTNJTOydJQinMFwKNiINyRNyppVfLcYVdPsElUydoujmJMGzwkfwxASJLZVVZcFpfNeS", "KXdjzwEZnbsuxDCafrFbeRczFjmJvOpOqhcYiCMaRTyqCvEsMXxNywbbVyvVYggkKwbtxSDcwqWLLYFUnPVeBcVJdUbfHHMOEAyEhciFCoEhEaxuXqBJMdqGezChEhnAJWkNujdlTMmNFlzhnsUmkuqLJZfqxeaPHJedOmaLhCdrXPadhfSibujiWHOssSvxBbviDvGsymzONygeMXsmLTyiQqnkBfxawJxCWaVUrgFKEQiSQXkiVIPXmxYPPUKJ", "nzuavyHPYlbQVzrekUDTFSpCKeHJzDPLCQmzPOgsQVpzTdlQQPDMAEoYdItTZJjviNUUgfWPvNkhXdOFbDaJFUCduwnYXnHyHSZsRQjLKpwitlLiFqnXOAiCnazdaLbqUjqSCNfdjewFJpnEbYsTrSHKsAuiAOwHBAsjJxfGtOpXwnNRWAaJIGMXveUkyejlLyHYWIRjBwdQjmQccShwIZRLhcgWwmdAyADBOBiCERPQkyBhKXdwVeALgQjNrdgd", "MaWhNKpjfgroCNRsNQIRgtJjgzavRKmGXmZpLyWUAThmZPPChHGTKihZATsXCuIoLBwdHSmdzxUyzOFRyfTfDhZnWKLDMFryZLoUIJXQCAipBWNqlFyQMPWwJXdauNfOxzsSyHujTzTWoyVEpXuzURGgvUHlzlwhKoombJIVZjqMaIDyUtJGxTJSWDAcVRGHUffdNfiJutIkOyWHlXjNnThJhiAVCtPPCGDJhkybGphTvaOrXUBMxDFddnBzDekl", "mtahGPOzwjbmEPCbsJUIpfUVhAzOsnBtlpXRIBjJQmiDAtOnnhurxCpWmyRmNKQqhhSVlHohNOUzKehBSqLxiLeqlRxaZpNkRfOrTuHBehITUgsODWMnOedjQePFeZKzHaLoHOVgSPWvXXFWGsmTcUcFfncceeXNUwCPcAoZxsqsbYwbmfgOJUPWyZKIGlYnNPAAredlfPAMqhFudwFngcLVlaZrPkbyNRPcCeubLyuDppyZPTFfnDThyCpwYUOt", "WvmxELkvGBbykVUAwIOxFwfLIRmPXBUbxkdMqvsIlpyEdGkTLQsQheShAEuLhnAfhoTULKhTpmRwFsExgQjxKCRDGDSRSqSICAGuUuMxeqHqQUFhrcttsYMhvpTeNBRZdHiGwOBccLcPkpDlOLeYMoISoJEQybtzGKMaeRxWWnUInhThvsEXapIDeCjhlnHcxCdCeVVXOwqijPMbCCqkxmCXqKbninvdWwAQjuZSLJOPPuNiVmnAzXlKuIgzkjAB", "JdzVeSCOlpsYOwluJKreTbSfPnWUVCjzJTtvdHMPyeSWvAcXMmtTvhrfeHIPTHbgvUArTZVFAqgwkSAdLIKeDfchqFgmQNmUIbKkshbktxPHlKUwhXsnhtEMBtlUksNoAZQGUGWooborsidWNGjwNWOmgznQSHKgKELqrmpjiiCmTsfoHOfTQkqzqHDxsWDMgLZMYXZsXuBlPPXStRjAcDMgFxPLLabqOopSdTSYsZylxKbrNxJWBQYxkdqABddz", "LjBkJuLWsEHaSSjbFQpiBCJKoCfMsCoewDIymyNYWxKPGjAOomjpiDICvXlZmRgjCbeGecxZmpJSvJEIomihqKDStVReUfofBYOVUbBjfaUsWSxycCcLyZGamWrKnoYvYBGjMSsZnVrLUIQQRCPtIXrHVCnWtFpfYLeEJEkjYWbNRSljRJXZyWObNItqJpFemjKoFmhaxfgmKtThAucSGAlYrBUCEhceXzYCyWrELyzeovFAEhEvOdOaGdNeHUJL", "ysLUfzmYouafVMozctOdKlqiQLhnRRaNcMfhCcfNijjwYTdbemQbvWLXrmBQZucCZRSXhvSjUrKvRjfeevRcTOrllTkeVaTtzZtVuPheITxUPomhckaOfXgTijqCJrMJLBXDSbJNcmGdIEmZexAIvXJZgtdZUFeAikhDBCUVXEptOfJNDRWjazFNNePXzgihQQfvBmFggSsRtbsBfjHKKpYwQPGvXqkrUBVmFQcDbSTLYozAhntDSmtYzNWgthaq", "taEyUXyDAVMhhBHatTIXCSgXqaNWeVUCHbVvDntBSFKTkhJZfFCklSLYPdrnbXmiuNjBuXHTievPCAZQOxvxtetbPNdZCbHuxcWWEVcAzMIUyIMmUAAxkxBfzdoyJyFomvWcsBACTWHmbvilPEduZQgUGIpeflsFhvFLxtkAvBHKXWfFtzbNpNUdWKXLMhLfcAhVGitQIWaxGhiusXGXCCBmYZiHMIOmpvqjrGyvMdRStOpMygHyRNDiMWDgKWsf"],"c_array_string":["qBjqNUWzccfvdiJUkuJxkjkavwINBUHUzrBEnUzvaSqzENDlbqfyppiZhiglXjsJLwrThclttBWGsAVPQEyDtVlnbjgqWdLJNIQTkhAdHqwniZkyhKzpVrtwmivjkoBHEnldDIAlJiHXZQxWKSnRguOGSXbgKctcGrVxHHiiZphXgsMRABRHiNeIzocLPVlGGAsjUGEXzQdadrpZfkXSuwHQmbXaOAlkdcLXhmZPLTROmqNPEEztyKsQWzBjWBmdByUifwUecvSgQCPolhOiCchaskpmdhdFtlIKfsubDtpUoikYsaGyARtxFPfpBUfhOWxQmSdFRdxghIOlbcjdBOBYkLrwnxPQoSjupTnSmvLbHIyaornTJgPjnzSZTgDsuijJWduaaCShoPJaFZVILzrcfRsAzixYMOBEwHVfNHarpGNfisNBJDdJTpMXlNtCtuLqvVPtedhuotmKgcrtoXFFIjaofTXryxutNtXpSUMOFfXKZeCGQghHVHqqZXWO", "fviatYRAcGscEwJHwBOWyhzpeCmoJEzpJtUXZEVbWapZOSKwUTFWYVqcccbxsAXoBPVxfpxbCnVEWatxtsCKPJhsnjbGclDxUVRulegxqRlcISYDtafBndwLmJYdldQEnDDjHltFjGCgwfUDCDSnSkoVlLvUlvJytlliQNpKsrIxNoXYuIFVhZthxNyBnfeRUDvtlnNqLQhsKFtZhTBAUqfLvkxulgtpfGgfZeoUGqPEBnHpViFWqYCvLztbzgtCydIEPgstertTiqGRSylMUatpPBafgEIZIKfskGfcVbtPbOqDChJomcYRUYAtPoHeWPbrvaMlAOxVghOPlvUhwuIcnWMFaqGlIqdMjsLdwPcxLgMplIngEeHCkIhkARfygzILHjgkUhBMmolJtOEOAobJuVbxOfszTSpiQHPQEHbArAQLymysVIzWMpyABnEoMlGFEPvhvoWHOCFzQpTbhVGrcWckhcACpDMGuleZknpmWhGIjwmiQAlAgSmLrcGc", "sbsZpwYVBRomNpYcmItLvwvZyigBCFNLRiAJUrSUSxUsbOalgKHcdTRrvJKNaaHvEaSQCaebTiOFcBCwHtQhJDJBhUGlqSKyeCpXTQARNtFoBcoyMsxKjnxCoJMlZtmyNnxdVOJwIHaEQTbUDjNSLabLroTuTAaFOCmtXjpjScyXdMTJTRRUVlutJIpPXxqfwWHWAxwnWtUAzEkdGmEqGDDtiOHoOxStrHTJiWycuTEPaYPPjiMXZvfrWnXOESTFhArWdSZkvQetmBNqYRDOdPSejAoFMZZxMNFSotfVgdGhIIRYbqKuUVBlGCXVkRFDxiMkibrIfgaKLgjUTaxdrLtBwJnkUWUuXDycdRXtAXhGYfMVAjrxurNknkDCEgyfBWNLoWIjFMHMxGCjNfynkvFCrJYprkDpqjspUiyUjMWSXWUvYtDZSMTbweaiftdUFPcZBSaVuuhojcmpngJRdMunYhBNOgRIktJPINMHvkaEitiEmEygsFyYWPGBmhRZ", "VApbgeYUayBXPYvWvfTnVfwxjvOFMTiYmdcdhtgrLpLcBJCFSOJwgepmIiQJbtzwvyTDCHjXGAOueZIzVVlQqGxkDdJyuCViYskKSCOuFHbyBOAwttZqveLBcJmlWltdtGMChlyhfOKUMdCJYuCQKwdsKdVWletjKUgxrLMhMOAlmFMrfmqTrHZPjfdqTiZLnhvKJjeAAWeIncUFjPOywxavimHIHzxcsqPvddXXOfGvwWfNZofavuMckIxIGQijsMAXvlofFHGlxFWeeilyRNcaPJySbwCseOHhIKJXDIggRMhHBegETPTzFwfcvXhpHPubellHgnLLfhoHmWpVeiqdFEUWfjhpeyzwHqqUMprCjDlbtWGPoZVVKgnJnRLtfrewwfTeUfPjnsmePJsKISOPvQLMWBFRawQiTYOaAvjhTstgOGqkGfxnODrJjVMNanyKnpGuoPTkCvGQrtLTuXmpKiGrMRRsKMYbbYkSuykUpvZNtgcNCPEWfCjwginJ", "CJHTFlNqUbQtbQdPeTbPsakfYDILYxvurybOCROhPbhkVhEQZoxXOdDmnYxISvZxwKThvbjCdUkDcfPnKAAwUSavFpKlBkrDmLhaxoCUVBBUpFXpJsuGeOvMUcnYxUJogdClHClGYfvhWeGDEVjfvfXXQMVGXuyInOBZPNKaSZJnUClqfWlnJLYmBXwefBuciTKYZALEgHkIaclbHERgafUfGMXmstJFOoPMoVPXcCfQQCsjJrvMsqUSKgQDFTNbguOuaVrkClavThRxqgivtELMOQoAjLEAeWKmzotDLIJFmRIuOebvFsEHnEJADtKvaciXAzEBjjCvtEEdtxWrcsyiqyfkqbJFGHalwPJbgJMhAKRxqCGEplKqZvvKDhZOmzVDDWypaztEUmlwxldxojUJKaZjplgarRXWPYvwamkpCiEUgueTmwKijPcfyFFQFyrlIlFHKgrfCUNohRFKmSEtwbyBqDMABImsXUpxFrTgQaExGkZtoHdjoiUdQOxR", "VvTnblBoaOcAHRMpoXApFDPulPbKANRpDWUPQQGGNSHYnUTIMouqJULKPnmpCziXWIiXxfSUVsvlfJceNdpqTJVtwFZPCIZBtOyHiSTjLohYimxMDrXfCAytaWBzULOqXuhGTqGLOaidMttCyCIpmZHTERYnVhOZtpMHfhltaUhFqFwxyeWvIbsXFohepXbuQmISOEZPBWbfIAEAMIRwQmesWgajtuBfCFBWNgyxfcppIDNoLAOMLuTtidserPUWUwNUYBqZWuBsPNTqphXSKlAHgoUVcKxfTQgCPLwzPljYRkrrGjUayKZmZKXpoNVBweaFzsFOpGQheqedKgfNTrslGoaWnaghJQRlnWqVRQOrTTVpuRzscUfcZoVsfGiiJztZmKNGTxLhiIdngdzjXoJzLHIlcuIWvtflJjUvIAVeuwjIOJBnhgmqJzOEXgypMWygpFscWycfOgZNzGwRaYzaLhgANdfWHweqCCNzroDMsShjnItEAbIekOVzbNie", "ckNYewlbInRIYGsyZKOelEjRRrXPRUnaIPtjzoGweYnZIpsTgkhGcUxFjzusEpqRQhatixZMttWceYSxbqSrGnWSzYdoUoMPsFOlbcIZUcjBmMaeeZkcUpfJETQMlTTgGLgFmWyShNYQwaYJhlwMdVLqEIfSTUdpibpNdioFNQpainCPgKQLMKTBvGBWUOEVbEGbZMDwunUqMzQazPPHAOvvMDNCxTFgFYIPQeFPiguScWGjLdGKNYgOxfYKcqUHuWfBurrjcKmZBEGESJIWdZaEXzXBWCiyoZXrMNUqRDZvIHVEIhFiuDZkYPFcCsuCXdzpQdNfGsmuCtfKgCCWvvCOQcawmMOcXNiXJhBHzOgwyDGjXLUHjNBBCJTWCXRlFEmaUIYbjGHXlQFgIQVeipDPeLKWjBiKVpPYDdebaHWFIXKOLaSKPyKjWORLdBWNoyRXIqczzuYNdzZVfAtvLXWgVQTSaDQkMqmzqJrnbvTHNqUXsyoDVJcsFbdHoidq", "DgbUjPNFbMpuIAPmgcVYqdnbcXgvYFAElRjJtfWYzLgTqiZNiNmIdXPqXPbtGVwddvRFtfyreYXzVkUNEXfwzXARslCsPkaiYyajRJzIhlLlPASIEXKzmSekPJQVtHfWfMJzpbeyfHoUQoxwyflhmRuDykJHaFGdcIVubpQyEIZHYmPRuaqOnvqvOplCcPFeHihioKDaBZAjQOjUMMnnLwukNmhDLHmrFyuFIrSLfdJsAHaCLxPkTQWNierjYvEzNmVITAjkInkFpleshBqdEfqczsZaqefwpfOofSEFJtjbpccmQTvZWjOQWIHSsqJYEAgqXOwGhuTYAEgkQicAvIPbLfrXVnphtKCzhZuxUjarnTtZTvrqRDIPdPtABEiGtlnnyGcCBLcFnFiPpCMCNGiqWXoakxyKAKPNdLUTrdATEehQCYRyrgJhqmFJgsleEeNfnqfvxkVslsQGLAbdpvjMJpweSPocgSXwDPtlzMYWOggHndwgcIHUfIEtUJbS", "QRbiDvruxBIpmQHdgIxSvTSAGyXGGymNicjIfTpixEluqRKZymagkDKqwcmdSxEdzcTKWoBQRfGsvqvproJaVrzwiesYilTAzYZxXxStiaQpUKwOQcBEgXkdyMrDsNdKkGlzoyHnTgrhNMutsMTkwUXJctfblzXbnHHCxmHHuvQyQNxXguxRPnexGpaIjGcIwnyVBmzpsimCVIUOwOaXxtlyQfUBgQGUqGHkDUovQWKJHsobDHhBPnIzoHIcAkDqujGQElHVZJLtqrLqSVhMcKGkbMGHeRTHhPWedANnlyrhCAviHNydmHFHTAiqhraKoyjsAFDXAcZyNwswmUZtEZnzCAsCkuMTojTxNdYoDOncQLOZoJozypRmZtJoWEnKNBvkcjUPwvYVpFCiVJJmxaqMGwWlnZfFjybRichfHcPdirXfOXwgrDkdHfbxgEaYFMorbVxRoDKXLLApxIJKUCZhTKXjToWfvMdlpzRTpAKNegMABQUtsMFhBDaLtKms", "gWDMvKNkHrVKuMiKwLziRNdDqArFjyyZbrFwUaOCekbiYYLfpnFDwqDyhmpMCWRCFYXosQEOWHsNZarUwmgjdvNkprXyQfTFJnWPRAISqeqmguehNBivQpVPQThYjiUaMzHmFMJMKoRgMYQntVQvMCBFOxYlSabwaVJAYHSjHyELBDmlVOcpShHeTjPdQWiQyBxfLYEvKgCiMJQiVAqaWLwWxrIhAhQkzMPyXrTFjHqzFCroLuQvMrRVcyyWqhRHWtMEwWwQHOEbvEqEABJiHxwvIcgQSXihaiXURyndSDpygJARcIaRbNtQuZPIbycVinBKVtOAZsRRCumjqGcnBUUgLZaTweUDsPgXuTJWrNFWIrADTkqIpNbFIlvWEBvmjcPvKycVoLoWcTLdWVyeTmVRzXysIaFoVBNJepsYUKRTrEsdGTuSVuPLkQbKEdfsEqGktWWEnVZIGWNfhafTFLVSufvWlThccqukFkjJhHbGaxYvFkljHNmhPqAFwrvC", "KbQWyBIPfrpkIcpqLRagTFaLfIrRvoaYgfubkAVwTuqQztygTVbNnRCYaWOnrPwLylkObXNDuIMuKziEIrJfemOArrHnjcBiXFlemOUgQLwEWmdreHsAHzNzKdCafMcpDdHdrSRFyMfSxRKmHVStYgfAuzXjgDqKlIOZoesPmsxRPHjuLSeTtxXNrbmalQxafCYtmBYiDWhNOAEKQSmWabGdxemuWtlWwMlKPziHkznmujERrnSkVLNViTEpLOyVlzhdoukOfXQzyvSfNUnlDlyVgYFkEzyJUWwtjTZOfYFmVdyQPcdGtNykaFzkDJRYqSNSqAFVbPDSnzgvadxsvHKqQNoitHxVWkKdJtPmeoAcRbLqAzuevcRjTlPSZaiSbtvrIwRekloDSyRJkzAEFHuLzoqhrirshVIanrBXGTFRGAHcgXCOiqrSToxEIxGjFRiZfjpwVBsacHKnHrsnRwyvKQMnaXTmyptKWQWCJysvmfpDAtPSbDhppmRyOErp", "eEjbOCUcjgLXqdyIlVxZanEtSEwuFcdyZczSGNingqrnONkuARdQyxFeyUApdyxxhLXHTgkCpACGYTwqfJggwsWxbkkvLrcwOapgftYAQZXXtrHMHPlOMgIywwzIIpzEPTIajeiolnHDivziEICOBLiZvuzrLDXsZTVvtugVWnvltZFtrNrBEIgKVnDYnsbJulFcZTQnDgdiStZeoSYhsXmzyNAjOvKvKNKMvpqAOHwJZGlmHkZnhhTzeorsIVbphHjXQNyHekpYpkoOrWydlKiOECtRDWRtviAyAiWTctKGaPJZwRyaaAocduppSySRDqDzcZVngBmlENwmTPMotumzQVxiSxpvvvFyPllwjCNFOjVBESlxSBnywyEBRIHFvoFyFQCjUeIBNdTJXERzquXtapxqmZeWgUzwnMTSDIdwBivYaSrYJvyjGUSUcBFpgMERTpuCGdUYcaaJhnXSNWyBqusOeAEPAjWiqNPwrVEASVBXXEoKSbTQmyrUQYEo", "bDZEPwKrZANXXfRPlLkAaUosNVlTzbUnQnhoPhBmuRHRfyaqwVDPUCibJaRruoffZGgtKfCKMRNeyLNmwhGGSphjfsxKyGhOEwACtFtXQzqpAZcQpFCLlzLPeOZPNyKRjzhMycrqKRWnALVPXixFjQLTdWcKKHefZkJhUwwuDRrNfhCRZZjBKFVdzdxNeWxPQnzRDmjUBPwkppEmjZsUvMVVrSyFKLbCgncqBpAvvgRqSuLETTjyYvHkfneUgfGuVlHFTGmlzRSxamEkcEuNfAKoaUEKiyOKPZcbnjtcjpyPpiRKDxHFsupXZtyKxoZnsrPvJoGoMOXGPVhZVpuTWBXSlfhNMyWJmFMdIZkBjwHaEXJAVIBpKwnMYfaUufMuFCkpadJJroApAVlTExiCoxfQNcSqrnPwsjDgmgkXqhpixlqPmPvWqBSGHGVgOefoOYSTCaMnYeeUrQsJSdxQmyjfKGxPFzIUurbEFUnMcmhgzpLdxyiBHhHLktzqwCEO", "TKjtHScTfzMHXaxYkuQdjKHERGLNCrnxsAHWbyNdzJeOQhuSnYgTDsqvmxUAjGWcGbTXWvUgFawopSYgZqKHsKGvUbkxsNsOUmlPkcqxHvQFOXuDrtKcjmurJCRmuRNTDyPrRudzHVGpVYFPVQAFcFInaVhMBjixDXXoFLQRMrJpHqsofCnEyVzVKTXjTrsxHijnpGWLWbOOxocDjMnZfiKBgSWAnTsFSHfelYWPGrCTObaoUmlFroZHDjqbCRAsFDusyMxnENINtMpGIKFqtFyIDlPZlOMzENDYUxTBUCpAhFYHjhEqTOghEPRgKMyRbnzfyfXBULGVCeTlKtRkRKSpzaVVcHTaqVMDUTVyLKtdDyFomJHCMuRlEvOiVaIIactzuSbYiluYEiRKEouSEtjGertYGRMdCBcQPewshfyUDZMTarCbwXZCTLRwfqSzSaeYxtrcdFYFkAFrysAWCuBjsbFlfKnPjLOlIItNgiLxsswrnoJULQNekXWXddeI", "fjCNzhmhBWjIXsotzUmijrfVPzoUxyFTZYOOSJuvKhIfcPTCtrjVhoxUKLQwsbvqXDFSbNmGJTqhazysBWrRfISDnfxkpuaJMUwuqHpporZbGeRLuOvBYTJEBuDDbNXIncTzxWWBTHpwQMQdJuWrjqUAyFXxhoMgTrSWWxWOEACYESyHmxnKSXPycKukOrPwmwDOAKPzMpTRLNZWwrtyIVCvPEWkoTVYYPJjzjPGFBPGSvRjDuOjHvrbTbmQcgbSefZROZYYKKTEDCrlwRNRGcRLClEYaAZRVuwhwbObQZykBIZhhOoSDkyRUMfnuLrSpFXnYZiPIZIaOpTzjIFFEEbtmAMCxeRjjhwhtUAKqPuWKoPSuWzZVhdnhgEmsVzpzXOcgznrgJMTUUghtWMFglygTfitoYIFapHbCooeJxjbMeKxLeSeoBKAmLjJwnDEGMdCwXWsHBlcuXHBagUsLFMTEWHLfaropLlQSCqDoeXAxkGvZVsJnvwDtgtKsNDM", "DiEaqYGBcxMtFGOECbaMPvwUCwHOgcEoBWZCxvQcyczVHLnRfqwFhPJADJxVeAYyHanwSbjxdLHGRkVjOCLiEATwtpwNGWBzrNvIrSaITdSTKCacKIvGxGrPDSICwRtOpYkyXTQCzGkpMDihMbeOeuIhjvpSptTsrbrlToXWnnNMhgTTiQbQEporLvrbWdbaplqiYzLtzcqwiVDbJVHOGiIoYRPzYukqqjjyWOGnMyEibmyqcSXKgmSSWRsonfgebklXfmxXmWGLjlfJbSQBgMWPFEXwGagyxPIUmjmmEABnnlojMZFPWiUIDGAlCOJDIMQzNtYFgBxGDiMyOtYXRonHSDzNSCmFMIIrvaOLuLDwLphDnqQlnUfeFkRIDBaOMXBfsEFqpGMbKGSrQGtCPcvkxNIicJcHSOaIuEYbDREtNmlMlmfObCFynaeaBSFNJrUEXDZbNFgrmxiXpujGlOTncLMlIrvffLHgryeNwgwWDgwTBqBeErePYwdPvpwz", "ClKOkiCabspstMSmhCHeBckczwhtLFmvGBjingIAlpFcYGzgiSMTEmPlrGCeIRJkruNEGQpYrOlBwMnMsEsXAnsNvVFAGFYdUcEjlToNBXnjoZNfvhPcqOylDhxoUewwsrGaRiGKMRwApqRZOtwNkTdjVSfBcGHtSPmyeIIYzfqBVqkxQsveiUIWbSZbVLNalZYpzfLhaFIuaXPEIddOViddeCMsjPLrqydfMRlFQOsPCTWdXzNNLKEcvQvEHIjijgEUFTTCuGrlizTGSiGWNSCqvBUHWhdqiIOQzQXjqBqWYRqNDKXgAhOwthrBvaDJnuKBMKauHWkRmrJSAQXCkJXYkIFZzPlwxTWvzFYKyneqTlLlXQfjpIlogVbgtoUcooBCajrLJywuaMqcqSzFEhXHLimnxzkenxlheJiRNWvHopWvILcobKpekRzjGVbtQeIBWEMzdXWwZyIbrzlFuMEWjrgJpbUMCRzZcUoaVVzuUuAbLrAVgQfBJKqNvCCd", "FHdVPLtjGlxpCSLymmcWIWHCWbtbTUMQfOiSEUFBYgCklCXHvWSqhWFYbbuVtHNWwddDkSWGsIiIIryhBiQPzmOIjeBaNZuPvIGXkoRNuFTZKAKIWSRHcckbYwKHyiSIRyPubhnJtQBGxeXwweeMPHiIpfSXcuVaNBCMzKtMeuGoWvvLfvxcjCwRlfVCrrYJBbAHoRbWdpMKYKtyDblrKdWQjQxtjjSISbzwiSHLlaFsbYMSNJEcZXijtJzGcbbjwSpnrChyuuwyDPuEdqvimVeETZWLyxmxbocAlOEnEzxpsMuBIXrAiHRfevMmAOxOFcNVOfMQVfLaKyPsGByYIMKFMpmpEcxAgXmKiaUdbwjHuLPkNYYRnXHwGtaKMFouRSSfsDLowEYZrOSGcFUIiGghKiwFbzlxPIgogVWPbARiuKrFVoXoSvoOKJjxbNZggmRstvqVceYScGyeSivwSGhELovrRGpnZMpvXrNVILfXwnLiWAegZEiNECTrSNTb", "VKXzbJToaSPPbLznZTOWZftGgTuFlLmpzLHyDJqDXVTKbztQlwPFrABVkgRJxZdmIgHSkbfrimczjKnLyQjrGnFMDajGiknYPoCdTkrtQElUcqadtkiQSLoIUOwuXTbrFqRLCVABlDRoEyCaTvrhaNYZzsRuzaTUXMYgatGmoQdEWHxfBLsHxBvXRVkUMOqkSSSosiltVbgEqEutTFJWTWwUWLELgiETyzXquTLwmQbDOXlFSmIpSiwHeMuroAWbgPVfaXYdgTMkDPUGEAGsIoRPQXpgwMDlGTIUkyoPawvrVFLGScccHFmsACKkrDBNpMHUAsNlGoYhaOjYNzPrwuyDHykeGZRfpoGCOcupPGMFgGDUGmWPKgaDZCTexFZyXcaPlwjXfjeIcxgDRaxBCmDKnHHTwhBuRJNzOsLltIRNAqUSlLPDwKBmrwlywqtlBLYOfqfThiRaSkegrDVNqjrjoIFAqouIRVqIdmXfVjjvvRTGOmtJnpehnoIBpuFD", "bOuNyYVjNyvnXgXenOjPyDZmNAglyqWRVidPBRdeisJfsjuOpWVPVyPFShNwRaoTCflxlGFUQaYEwvwKjzyeJFyvjidkEkAYtyrBtdfCyfzFIRUreJtJPEOeEGARCLdLFsuThwHSzRGPhfkRwqaFkaWKYyUKOrwVBNwPqUzCrHQfqXoCfZzSOBGbhoxUpsKxOFYqHVKozUHeafTnPfjsFLwZMbsggCVtYGDoJvbKfflOTHoyyQoBwXpDUsSJoBicZFTAKojvecPmwDHljSdzQNDBloOsFHdpjEaXvJUHQOPFTXcovqglemseknmxNurYQieBjBgCOKEpUYLfgELkWhsfFlMIYzJPZyKSREYDfWmwJRHmcTWmaPCgDREMQCnUmWSplJvuqDiexpmIOTSrVArCOZEHzIsCLYlchqNbbMAYxlHfAmutLYLpZkFELBUAqEHDlfKoELGsTuIZQnvrkpyuEJGkoXpmsafNQVKOlYrGykCclmarUmLOJlTJkCwC", "afOijHnlBbGjZBIHAaKQaruNQdIrUDxGNeWkmblrvOwaaIglLmTEixjzwhiIPZBIMotihNvyzQWFLVdFpqLkgVKoOfVkUiHwDllNUZobtWyTdJvwRQheSGENrsdEPonxwSkXVqSSIZTYDkDQhcmSTGixQCMmqPzhNTaEPIaRHMtTMFeTYAqjAmdKoYJYuiDjebSCooQyejBPqnbyiecbTidOLwAoOzbFEfVGwmzdyrEWjZSrrXfTiUmhWAFddgDCJedflydOVQLGgnjKLrmQbynKcBwessucByWgSSQLVoEaEAyzdhswzVzgjVLHYMYgxyoGFlzmeLdNijnxzidHugevCNfOEHuQKcBvnPMDQSezgRjFizfMKBHOVnRoYReupBejCwUKhXJWiBFuXUaMSuYxbrONnIEMIczBBHEfpzkppEQZHnhsXozhZQlHFZkqhdabeBoTtvidMmLRXEYKeBcsXbLgTWTrvkfhIDTpBtWesgJTvCjNzblcwoZqrDNA", "YnZDNqLlgAYvXkHSWICJEsLoaqFLcmynjzxKSACtnRkLPkaCobpbACRtBiLdBiQrqdmDDGLALRAUOPEenVjmXeYhmIcKoioxIOnyCBImNWrQqyrbrnaJYTJtLbkjWsXFPewkpaTROkzfSQfBWqAkhhvrTYOUDIOSFbygfyNZFkkghywsRTkhSGrARfASkeIgdIZEWBVjzSLNxPOpJahgUmIealuTcIDmbUNvJTkxFVYdfMfATYAoObXwJEosmUykZYxaTxwVgjqCQfXdGkmlNhqrCAUBzjPzDQZBNpOeQsEgetTcPblKdomEHKHMLPsOYMpcchdaxDuoPdugNEEoghwHsQevnmMfLEKRrDoClTQMHaKfFBQaIdaykzYkcpABlUXQTeyURdkjmynLGesIXMOkjUAiwtnlLKqpnLOUXXLAmlnLkVchNTpmQCvyRJZdJBlRXkMfcrimPdQeRFFMEVQaWgQXLIHEwBVvseMDVYkizcbMibwNvcLlOdTzMorL", "QUsSxMOdjToHENVQUkyixkRNyLEHSYtTqcIahiZnfqSMgGfYCFwycUkLxoBUlnTIyuKgUrjVkcDxGyZvyzRbSUfmgasuJKatvdoMXYuzAeMJaQAibzAbgVyTdskkVVULIYcOlXhZyiYTTprIemWYRWpPoXfjusuziXAYnGessQIjhLdBgzZfkywqZrWuoisXxyyxdBxZZGTYDqCtmjxWPLyEwnHUzPUSXtNfvPobVvgLPViogeLqITfMUwLuvRUZWHbrqOMeWBrgRyGtrLiXjyIWuRDqcvKsaIQMLOBCCjsPopoVCWcLgFidxUTATWADmBeBRolSGBuHkUNEuBWlUjfXuxvluoNLYnoJoLtyqZwOiQJHLcQhukxGXsDbnHkHOCoWSRxLRLqxdQEEHtnAnRxTCYYDGGMCurwqSbYSoxwTqboSmyBQgBwgYCDnrcLADqgbkFNSWAZkVSLmQsRSWbOzMFMWrGWhgDZzkzuVyPCYUsrORoUatvlRSzmATBoT", "WOteJrkSItzXPqbmEitbGfQFLJxJDJXGJdbGoCqLSTygUecOKexzXRMycXrLulDoTivSHXnpCJKbKSehvGvOsofFDlvKvNEXuplWEmdDPwZlRFovqOOkCARxpxXOFQoMeKxVbZKyEAvFcZaxUWGREOELLgNfxELdyXFNnkBzUhPDtFkpOlRBjbzEHaRjapyruQDWYMwKzFKpARDYUdmwzLBpDNkCZYjnLTOOngPftnqwJZkxqWsXvyWmdzivWPyxILbPeWMVkybLQcOUMXbaCwlDKJVyZQSVhJkHmRnVkdTHQcIBYxgsjXwJXLmXvSdmYGKXUQiexaXsNwMrDiOJgLznZyhMkrMvnTSPzMwOXzOqHrVrPsuvTvLWnmlwtBIoaHLlQGKAhNMsSkKtcvytLUWkMxTmxXNhKeVwAvXPLjTJXXmlMifSvWAkZEemRipzsWSzYPwZIAOxFjFNNpcPKcLRtKgalPSgUUgYZoXHZPeqwhmykcswvEPnXaWQVHeV", "URMBXAHDrYlTnmbisfLPhqXewGMByGlvdJaytELrCYcDqNnRfIpngcKyXMOOjrRItMDXgfglXHlgVeTgJUcgIEMVuKXchMRiGwcZpclEvIwohdSCDbYCUOPSFCNlclZNiVMZHoNedGfetEeqIpCOaXgObOIdcIaoMNmzNLMtnXPkHghsTtcBlVwyejrNtqkpMcXLkcREoqmQdTWmlDYePbdYaBhzDKmXtIyDzLfAsxyFrErxnzpSOBBBCeflQvAbDaQoxATVkJRHGlavwYbcMulpeJgNNVuwxjJSLuOsASPnJssUKxcIAWChWLspljULJYPuvfXhvzZAsnlxHtvtzoSojAXppVdaCjeqHyEIiXAOVUZTceauydvNQLofFuJMVyNQkkfFKNZjFFoghfhIoYzouuqrzBARoxfhibbhEuGGLXpMrXTXwnWjPafABZCWLMiEkkDPPUAhzHXYbTgFDzPXYYpEJUIVmwIOBvDtpFvVcxYFRgcCenuYovNKDVth"],"c_map_date":{"c_map_date_1":"2018-02-03", "c_map_date_2":"2001-04-13", "c_map_date_3":"2016-06-18", "c_map_date_4":"2015-07-02", "c_map_date_5":"2002-01-01", "c_map_date_6":"2017-11-13", "c_map_date_7":"2005-09-28", "c_map_date_8":"2016-08-12", "c_map_date_9":"2018-01-16", "c_map_date_10":"2002-07-18"},"c_bigint":7638457697458553975,"c_float":57.735588,"c_map_ipv4":{"c_map_ipv4_1":"151.73.184.210", "c_map_ipv4_2":"120.143.3.199", "c_map_ipv4_3":"163.148.123.40", "c_map_ipv4_4":"158.5.1.211", "c_map_ipv4_5":"162.11.64.251", "c_map_ipv4_6":"178.231.17.199", "c_map_ipv4_7":"224.187.177.164", "c_map_ipv4_8":"239.213.222.105", "c_map_ipv4_9":"85.88.185.194", "c_map_ipv4_10":"90.75.29.28"},"c_array_float":[66.01139, 40.178516, 100.59966, 67.51609, 95.86898, 21.800034, 94.906746, 32.54857, 46.157417, 51.260178, 5.2292237, 0.692831, 68.34953, 71.45635, 28.837452, 77.892746, 19.668049, 80.70552, 55.7788, 60.550568, 66.27215, 35.224583, 50.179985, 5.4257207, 64.17385],"c_map_string":{"c_map_string_1":"DKIlDHJJnQyGKUzkEHUbAjEOSaWSRLPGtiOIoapHfNFyTBdRldbcuCQzqkMjEiWzdooEymvwQFuvZutIZqaOzizojiHOpTemCdxkuxVLdHstmaNIYRCvIHfFbLOxMNksYtSESFvcwnHGyCFhtRDNYCCDznDMpREoCDewtHNFERkrkQKxwryOcPhvpXImwcQnQvACQlvWGQazQcpZbSRXRAbKgcMxXWxAYknvVLOtdWuWyYckGFOWHHdwokzjTayIytLNosdWtzXJfOxWizNvhjJfCxhNqQyxtrSmzwVDLORPHNiiIFSbgPkjSgKRWnrRLblyJOkMaVEHYZeRodrTpyFqkzKiDZMxSzBFapQqITNFDnHyeKnqytTjbmNErVECewRMpCJdcqmrIFcwNQKqIujULjOFKyhFUumCCNvxObiEdJCALkBkgURWBFsKQDHGITZZZdqOHYPAPOszuzXYyrBhEYaPELttgTyDpJxyUrecMBVYzYQqgJHfJkyjymEq", "c_map_string_2":"mBeYtKjDGZyyjPnpFgabMIdOxkWyCbwzZHTWEmHJYgGJbOIHqqLBNDJjjSQigKyVtdgSigOZeLYuTbrjNBndcTFsMKkSzmeMBRulmUniQQkvKuaEggGNCMPlxtfnTpKPnLszuEeNcXlKkJlcFUCSHzmQQpRXDIWpEmzVYXkYuGRlzfunPKIqqOmwrKJSLNptzMxbTMByfGMePxEdCkRYicyrhljLoKVmskICIbxDCAoYwhKVnZtnCrbeMyXemtbexWKtxHcBZldSzKYvuFduGvvdeRGyyFzaftiCrRfILwejrBUJjkfAEzlfUFXepeRyQRMmInlOHuyWHEFJaGmovVkAZsflXldvIRAavaIFdmDvZOaHknknVlhdgUpiWbQpxcLvcUGsqDeijlMWqFOvrGNcXtgNDXDgvKYyuPImaJxAnwQCSDmzKZPsgTfxpRjNyrkpfDVCAzbTstavjIcygjFIayYhzuyKlkTvwWNIyhwThTfvOJtyuGmDXtetpyek", "c_map_string_3":"wPzMqvoBOtyKlBhQiWQfIrYZhPBnBYdkGQAfQnBtmbgSxETlynfNWAsOZJYLToLFkgfVxmhtiGvqleMeazTLRUjzBjnnFdiTcyWvyDnjanEJqLTGKagrvPtcoFldrajyauffYwHWdBHEAHpIxdJrRWdTLMVYNSYCrcKlHwlSSDoCpsWUMnhFOkALvyrlnVtxcGGaPSaHExzrjcpwePbcBMTHUDCnlyOGZiLmZqDrnmwazdLBhJsPWGzHeGvslOBxmZLYoNHAaQhtcwrjUyqdaKjQhlNiRisFPjJhgDDelnvuxGDYQLtkwQdzPeclNMIacgZFUQFLvgkvZGiikSIldwqQTBHcFMKFAZLisBcjLJWlwQJxQuliTYcbgBQwoIofrXywDJEODKwKtBhewDSmkzDdJbVvSHkFpsUQMuHvGfYassuauLmPfNzIHPlmogLevzumfVxxAPDtDAiWwTAkelnvzpOmnMmymOMkpCeBfTDXjSHphoHiSDtdZdBBOhYM", "c_map_string_4":"RVrUYnrwbWqxrgwBoSwrJGTBOBXmbyviopQinSMjazepHhGCwQhemxXvolYyymMLPkePkaDUfDqcqZRdByLPDbrghyLVQJmTrLSTFshLbLIjufBNXnYAlfzcyKAOKOnEyUnxDjHHZlTVWHjuKwGVWwSaRCtApVFLNHzLjNyJacXKszeSVXVdnOtsEEyZmofpCVyjRmUMdrUSYJLdwBMzjXonpdbkXaClZknNwcXcinDPOOBdMeeHpbzohwXjbfDYhWTWRNHRQkGjTsQfqKwZzRjoKgQyLxqKdyxpXOvWMEAydjHXXQllkhyHIRerJkzauMzRUBLGfTtJtzpFervvlwWxaDKqZHJGpSBDlHMjQnzqLiveRfVMbMRBiEOrhiipLLRAmFpIJJFvUzrQhJwpoZoqZRbxhEJeoeMMCEuyuMXsvEKMZlKSOgwmjAQGOSvGpDenCrYLOdgqzKRslHMaDjBHWfWcjrAUKtCGzKomKwsilkrTHBtbYavWLhRJfRql", "c_map_string_5":"tLuGSyTCgBJqNvscxydtCLYNuCqmQlALeUiWjpjhrTYptSIrdDMucluuTKDqXbEKXkbMygAqrSHHhyyFPwALyhPjbTAKsMVwnjRWJYxwAWMptYDZiWWPgAFwpysjKXrTSvhxSFDMezmHghobsrROBzaJIbmXEUdeuFwAFOFyZAFqxGmxvjAIkbGwpTlejOPLKeoOTzbCjbIFTtSCahJIBBwtccqpHVehyAUrCwMODrSmetaVCiNPHCIHtSWpSpjdFENfObqVXkSWNoPbMtQHSoesxPWIPJmHDSQZYASWgNhruBUmWNqqyCSVAbhuLZHaYLEETAiYhidDvKMHbpkSWRKBCBKMUFbMbgMEDJfWgIdLXUpZMVhqdRwMoyLGLhNohkUQZGDOdSdEEiZbkfvTBYcvMwAOofkCuZIevgVaubtfSyjJcBncNpMKHRCqgTEtEEhPVEEZNNnTDwGtlupLrgMDgiaqAWhRGonzKHUjtCpdwwMPSkjUIFORHDzAMaCj", "c_map_string_6":"KRAAVRdAjACBjPKIddRchWpkvBQiGXTzXdCVZmtcCqeqhpZUxggFgOtOsrsvswdKlyjrDVqHqAseZbDnxmZaWgmVdanuiGVIlWVgtnAiChSiGvcqJvGdDfyDNalMgnDzUYRehlfuGNWIxmIrzmhUOGIYydFEQUefMLIYFlpwShFtYDIlbzyhyXcUXqsfYABPOFZxzHCaYLTGycOZrclaMKiLppHRaVVQHoSHcpZKSNoqRkiQlYNGKfJwVIfnqlQcbQCiqXdKueWVwAeEWjYYkdhzFxcWOsLMqGELDdjPJsmTGubFczSJOuYdnoVmIEAfIIBypGOqFHcAmBjGicCtdcUJkrKoGsAPQPwTbKcgbpExBSPIOXiNgnKsWrgjksRYlmQBqLdGXMDHzxOkBQpUrvTcgXsINFHBlFpNiSUhuRofEPnvihdglAtFBKmwNAvImkVyzJqLCwgoyqlysbrgBPmOdAnQMKIjtjvFySJMkQfhaKjeYrmnlVzojiDIHBmW", "c_map_string_7":"cRhVFeSQKglkFVyoajVXuiClfplybFQrjfrnjYIgXzyFoXXhFnONxmwDflJGYmagdbdXGmCPBehVAQTYtLkdOGKPfyTFRDYCsKTuPwBVFZkRwUosiualVgsceHdnnbWDqZdXTctbpvccfNviPHunoIdWUICFulzCiMIheRqpcwEJyKItBHiTLxURGJeExbZpozePUgyxhyAbWceSaCBjTTeCUcBAuYufRDuDPbTIhMqoqgNXksXKMbugKUAzmqeSGdjpwAJNXuQFYWYXMIqUSYucWJGddquhwDLXTEXigRBjLuBREsukTjaUGiIgatlLUBCiUCGgCfHpBPGaqchUstEfdFTlFJZnVkiXNPFmJSkkcYKdYYXDXTEFjhcxzCEiDvxRNlRzsaBUHOcdbLZBjoQvzbNHoDwVzkKLUzLmyigBfWGMZXtBdApLSFWdxhCTOkciWQLcisqQikshVuvPwVEbghnAYfIHFFLVlhrMOLYDtvNPGTyLvPoRSlpeuDst", "c_map_string_8":"FAlxrPZpEANvNVXtZXfuDiPhuxGMINNpDbMKKBJpjrtMkOSrZkwrcAmToTAvKCXSxytObfZyyMgKWZSYsRLCEPyMUARfUEWBORKOEbbohdjhdZtywjzLMMlxJVljvnkGdUzbRVgzTposoOXMCziXLTSFOiJmczqJjoAorTdnzhCRxLxzpWuExDybHvxnZaOJtkPOdwzudLmFtYSjnMHDgyBvzDgSfxLRgIRCYHFHlfKZOAGFzGXCTuTNJSYMTTiODckfPTGREtfuhwVEJFORMdMELvrVJhqQSMBVJCrTasPzCdQcuzLywnKWLFOjvcALOhZioPaNcGLLYADJxLWolrcfhWlicorQPUQUurQDSJyceDqZhmtDLFilFemQYOrTqblhnboxdpsHRtBeOnNvyVWXsBkhBkGHnpjFRLHlNCOegOvgaQTWUjcsoZGFrFvDqWIEOwcUHRERZJdJlnFFHVqhBPfRXsfNASOHuZJyqJgEmluFrpXMYWluVhYPpehR", "c_map_string_9":"cYbiJXVTWUtjhMVILzWpfydnDLWHwEymSwAcIbeNaZiIzaGjSamlzrZbOnTFPoqvBIaWAYEltDXExdJfSaFoTOyfWwKOFPTrrRwTJpIaeNJGrkkqtRRMfATfchgSRRUJFYjGnvWPESmJhqeaBuIiwmcfWKVuLHJaGnkPabULJlCpIdWMSXLUmJZgTydBCGGKhUZMXLjsgldNEeGWrQIZUGIuemmdvcZCfgJkwucrVESxCzvVFDtClorXhzDbWcQwFIiaqahODGiDYTofetcRJElnWYMpvItLvIoGmHcVcAXrZXlLVmySDSHodnvDOxUjdaVvgxDLqVWqfEdugLcgTSDzJXEhTAJKyQKbPPdxqnEDZocXdTTKoQmUWBGQPOtoftbhoViktVAVkIFjDuFMNplwnIGnffOikfhdRJcYFvpRGYnjbQjBnssuFqfxWRGddgGIxfSsruqZVQFVWnwnWMExyGzwkQhjZoEPluiUwiVRokkmSYdSOYdeMjAdnVAc", "c_map_string_10":"LURgrrZtbzmsYWmrlgKamjxFxEkQlderZuTZijBQjRetbDGcbgGJqVOlomRDTuiksKWWQGfppNozTUylrUpovokNsreHqVoNrZtnYDujdlTLZkZPBfQafLdNXSYlBdbZqHvdikxXhaEGZkjuhcAmLrZsggniSoZEdOiSfTvAlyCAVkoWWEFchQdaIblqWaIxKptyVJSUXfYHoFCjOcsmiPrMGMNcMrOGUjccmiwiVNtJwMgPzmelXJFqOrtooUFHGWvCaHqDpYyrJNrOnIxrXWHkCGGyxoRrSxzBUhVNMPdbENoOPtbStHlPuMIjZxBCfyhQzmerKSLaLVOGtcBZrIIKFdYYwLIuSEOGEokygtiwMOhhYbRPLOPXtvYNyaadyNnvWMNLSwoATMaVhkxUwCgNNkznZfsZNjZombhNVWCySbCOsWEpmYmNIYmOBAPPysHenDyBxlosxlQRxsVcNaZMcnOuITZYnhQTqGPyKDSwijFOWVrGIUKRCrdxBooD"},"c_int":631670548,"c_array_boolean":[0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0],"c_array_char":["fOENmPmCGK", "IoZfmOYNPj", "aTJtyRvJvx", "xuJLHVaGGt", "UnmkOrqRNV", "slMMqGlTLU", "thxxMYemUg", "eqmVJdWGoR", "tnvNejWhDs", "PzWQzQGOGE", "gSYgRdxviJ", "LwEUpbYdRk", "fRpJehBaGW", "BVXmGDtCwD", "GMeKGBvMAB", "wdLnZXMKgm", "FHmMAyTAbl", "enUqyALVYg", "VMnZdObpUX", "wbOpIHOmnm", "joqpdZLDck", "emIjZUWjoK", "JiqjUZPZtZ", "LwYbPOWsrT", "bSyPxlCcKz"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_largeint":{"c_map_largeint_1":-5216321002482229798, "c_map_largeint_2":-276895943229462100, "c_map_largeint_3":-5597019077893246213, "c_map_largeint_4":5690542299780286397, "c_map_largeint_5":2008682221052741649, "c_map_largeint_6":5524767626392272234, "c_map_largeint_7":-535082132720992503, "c_map_largeint_8":-1160307744501910354, "c_map_largeint_9":-5291165597283844120, "c_map_largeint_10":-7537280595812254158},"c_map_varchar":{"c_map_varchar_1":"qYLrnJVYLOqxavotKpYFgxagMgVfVximSrIXdJmFbMswfWzsgRyEuCXKfFuSOUNfGelvySXKfOCEGWVMilhGAVSbBIIikXDgJHpMaxhcEAWbnDDraTlqarmklpQahPIyauXSgzNdbjJytCqbHsdYmJRuYrJoRQzxVlUYLeKWglssHVQJoXlEbRSpDuGsAHlsjxbGOzouLXdFCUxjiLOrAHCmUOYtufXUMLXuMGztgAEDaReBvFJPynbqvoVHJcgb", "c_map_varchar_2":"EftheJVvZunxVFYRARPLAhpFPEsbXcWoEZrLdGHbozOzmxZlelxrxoozRBnBYMyrIenRbzvQBsKgvKcNVZFwnsISGTQrmSnRoAEjGCOPpjxHPprhXAdlSajbxGopydJUtTtAyEPvDAUJKyPUWlpKpoiLFxRfmDsZatKuuuTASSYCZluKmydgqftzscJDiMSwsWaBPYGyyHaQbdxohFEjgpzVLYYKgHaifJnHgWObPSPIPCIrjFaozYQLUxASPFwb", "c_map_varchar_3":"JmaBTRSYSntbvbhoZfriODxwtJPraPuUbFbdIPnRxIAzwedUcTShltrKSQRyZpRjhLnpYyWmzuOIKWghuURnCNRtVPGyCiTCdAgmmSVEethUBBsosSbRhqYsnKjCoDQxcHBzXuKFtmLjwppZcIpvVAaSdkDqZpozATGkbqXDRNZZkMunaGhDDWhQHVLxAeycEUnZxJtqzjRtVvTMZttLrEjdMtpoKIJrfcisOWkMfvrnlznJMmqtLiiZQWKEHpef", "c_map_varchar_4":"LspBnoXBVUPwBGSofGKIylYSJfeCevZeuQKnIYLRDlCJRCfjUCrDDjFfRmxpJpSQPzUHbUkXwXhiKzgBgFkvfMzxxfMuxYirNMOdlXczhyegXjWLEyWnbsrSMcJqIxaeSqvXYyAjxcQsrLOkhNcQrExyLVFelWAjYecxdXBXvwfrCXbeYCidawJOBgtosaaWEdkONAgvHKzOKNdPWEbHykISHUITeynuPrDzTNtfGaHilnOoPvApNQlLbeNNpZYU", "c_map_varchar_5":"AGVInwqSttNRyhpxwdOTGubamAGmzTpPzyTJzRlVYNRTTsOWdVmhdvHUNmIUIWvVyfGqcrHvOZhsenysprlDMBJDxDZXVhHmYjKOEFmEcFrRcAjRLYDWgbxABdLkGTdMqEITHrLaUDaQMHDZDTWrvmflXywKavZiGJMIwPPoqMqtRBDNAcevkohDUAKYmzVXtGkahkNczsZUpXeqePPMvsramvCbqkNHhiJHMPcRMZcvguwCrrFSzypcuSaPICLK", "c_map_varchar_6":"YeBAVOHeRxYLInZbTLcUMdgwxlokECnvrfBnciNtBmfiapwrIkQXPyXZKswKZGLBFyaXNIDWJcZZBbnznyqzlDTRloptQRhnHKEGxiUXMQXSWDnXkEqQrSEirNEgAyEscisMmfwCUpqIRsSfEdIZoFlYAgbnOSfkpNGCQuQkXdgussYkdFoZDaJAQxbRUGlfejuVgAcbbYJoapfnohEaqymzeXNqIllzLFhftCDqkvVqTZuQdekNRoyhRnRmOzSG", "c_map_varchar_7":"wTDVoMqpFdzeNBKDmsSthMmeZbckRxXeksqnVfsDkIRVyorDauXitlAhtIBdLMIwscoNVHCVFSoHmXEVOBbtAOrBMZmKRLksTYYoghNWnagkmuiVTUyVEhheVvKyAjtUKBoZqQJTvhnzpQCqBenNatoHEPBjIwYlmnWBTbNpzaphIyvEicJjtEGKNbwROGtsVBlzqPPwKWkoBmReiPtvQedmxDAzgccNrdzCQpPxsWaWAazydEgsKoSLmlMjwHbm", "c_map_varchar_8":"UbHVKNeBWlLcHBmRGsvVuUzOLsAkfBeJppCcRoPSPQQNKQSwhAALuVuLTiKkhXOKgALvOPByYOlQpsfNwQFiquDhXvOfsFIzELqgLLfTKEtNHqQVATygszqyPttHgxqUVwFBWbPywezCJTkjGpzbDKBFTFUPDcBJrTnzEHZMXcOPUCGePvucXESECdSnKezFtbCbSRFAFXPltOusbigufSXHUkaUWEhLIspdVmCanBtfmtCfckqzjqDRDcKpWdZq", "c_map_varchar_9":"OvHDKJtKfLQRvyvtmgGcoEFCZEMiVbhAVayPavhiIQvmstqOYgcWxURawAlNyQXiqYyLnfMenmNvtcnMvFWIRDmxAOSgRUJYNtRStVzoFjIfagdwzxjyzWhxpoxVFnqgjSHXjODrbrzoCutbbFoWiPhvRwQFvJmqAIxYqQJmHRjoCxRtAybEZgioWbXuGKLdqVrEiNHmSsoMrdmYiWCpCgaKexodHOsFsSigavaLTlkqKYbGMGwfUYQsVZrAHDOR", "c_map_varchar_10":"GJJCQQYOnBikIaturjbeoqcqQpmQzIcMhcyQobQWBsfNnGzKfoWcatuVDLIlNOIPdrebQYksMUpYglzlplbxPTpVgxDkwBuyKzFtfPTYLUDLzlRxSKJFYHZgtjdHRDdcviFPZiHRnwFRkOHDGahHKEwDyAhQKePBTowApQZCXUiGTLAOvGqIWenOoCKPxQCYZVSIWFvhxvsfiTmJsyjQLzdlwEXcNMegZSEcmZVcoTvMbpeCqBsrUHgQoKiecJZt"},"c_boolean":0,"c_tinyint":89,"c_array_int":[-272065621, 546826276, 1915958571, -1883230811, 806359075, 705218738, 949810057, 1113369345, 1987425289, 1356495711, -342414801, 1418842593, 168647281, -1889487457, 1173261084, -823288824, 279622002, -309321176, 1237255513, 1317385588, 2133038527, -196249653, 1577139743, -1215786496, 515974282],"c_array_datetime":["2012-02-27 04:35:05", "2006-07-12 00:57:02", "2010-11-04 16:07:16", "2007-12-04 03:23:29", "2002-07-09 06:17:17", "2002-07-12 23:25:10", "2008-10-23 20:15:44", "2011-09-16 17:32:09", "2014-12-05 13:16:43", "2007-07-03 04:15:44", "2018-08-25 03:19:14", "2019-07-23 22:17:55", "2006-02-24 16:57:39", "2011-08-10 17:27:05", "2016-01-12 13:45:45", "2009-09-24 19:01:15", "2004-12-03 13:12:32", "2005-04-02 15:44:51", "2005-06-02 07:55:14", "2008-04-19 07:05:39", "2007-07-05 09:44:50", "2017-10-23 03:39:50", "2017-03-10 19:31:58", "2018-10-10 06:43:30", "2004-07-03 18:42:41"],"c_array_ipv4":["VVMVlKppmh", "GJeFQcZzDC", "kasFROnMeu", "DGiIUzOZxZ", "hLNZroCevL", "mzelHLcAJs", "PwvqGkYzkc", "hHqUlFDTdS", "NlAusFeTyK", "huoJTgMYWW", "quCIYPsdRX", "jldzpTJyWm", "KKNSHQIQXH", "QXGfTUyJpr", "CBxNSJBnqn", "uhtmsrRNoH", "dXqXqOkCCx", "btqBeFansW", "JCefJIPGxf", "noEDopuUqs", "VTAmmVZfmx", "QKYNsMVAFz", "jCoqlKgxUt", "OyAlyxmxqA", "csTOyvZZNv"],"c_varchar":"she","c_datetime":"2007-03-17 08:04:02","c_json":{"httpversion":"HTTP/1.0","beerhop":"Magnum","hackernoun":"port","digit":"9","firstname":"Edd","minecraftanimal":"sheep","blurb":"Money","timezoneabv":"CST","moviegenre":"Crime","bitcoinaddress":"3dtTpkn0cx2vd0194oSheAGR9CuF25"} }','{ "c_smallint":-6297,"c_char":"HWYKJIYENd","c_string":"KcDUfiivVBkhVUFQfJARVmqmWnAIRFmyOOUUSdvFiimhwZXFIwSfZKFJHlyAjaQtSihcFpUCIKBiFSHZkcpQgSIYeXykqPlVPaCPoXJLOoCazzkZrphSgdBFYLqATFzzuZDwvufhMuCFSajGOKyKuSVEOSDekEWCbCHIRlxPEBTosESqLJzeBcRuhMhJNMiuIwBhYnlCwQNskAHSapLuQeZiDgLadehnDEBdsOSmYYFSoDbYZqfETguwRijhrouAXtzMfsENSnxqkSEURDGtgZJxOTxSREAXuTYskytPoMCwwkPTvEZHfHdhoxvwDnMDhjTyvzYXojrVdZQzZeUUzDobkjcwAjFuwYQnCSucDYPsFBgmdxUiTOFwtgSLIFilVzrdTnPwmjUwbkFDoWSxSAOtZlvKjtDPIEKpRwpXjtWOufzjLFufUbHwGhBpTiYjWFYAdOxOCzzUpnVrVjixvcifLXSgjKiEMNyzjPgZOLnhRKGWKXdXOVePxAIwUYbT","c_array_decimal":[45.0190, 15.0517, 9.1935, 31.1691, 98.0795, 94.0335, 47.0157, 62.0421, 63.0715, 71.0752, 71.0883, 87.1525, 4.1862, 48.1873, 2.0681, 1.1311, 89.1422, 90.0533, 41.0694, 7.1647, 43.0599, 45.0929, 4.0009, 23.0311, 97.1909],"c_array_string":["lkvODznkAKqpoiTnvRGdJZVgHGLrXUQSzNEUOnnZdHJVtbclHzAPKEVmSslABwPoijlJcSWnxNwzBLyJBMRDLrdsfOlYWkbjYsjdiEzugSwewYvrWuuqzLLERftcTeAKQvfyxoCemSCDWsdJLTiKbXpVVUjqUmWMYoWzenINRWkVxVQPeRhKjynCaQUbWUQLKQjJyNkeMLyXYUlMmQEaqFjddFzUyooyyqosdhGyccAsmxVtThhcnddWJpulmHBuZoCBCOCpBynVIuXMVZsGqUNQEcCQoOIbrJLgYinLxkTabASUdoIVKslAxKdrTrLjAMdUytQDRAGQkwBapDpPZAGkWwzMxnrvwyzYhWAzcIWBXcJMafClwERtcVmyyShKRPxNZrtOUrOQfyPSIOihEuNaOvVsPNlEhQVEoPQVcnfqCctIIQtiUneaOaKizlgSoTyBcVvrAOCRbGkBMkfvJoYjWKtMQNMteBrDwTyGkDzhRYQYpszadjgnJjpsEtTA", "dMNAPAGOmrDnVLJEOprbHPxFJLOpgRzbOVzCdIbVoFWHqGDKJcAqzBxpaggbbgsNQeUVqHQdpGxtGrGnPxNUCJeqgtNVFZGKNTuJORzheMeEQVRdfCicYMLrurpHsiaDNJxyAznukcnYpOIXeOWnNJFTZpSbXYNuuDLfCQhnpLKqBTjNkbIriowcFBxfecmUiPGqVTfekcttIpQuSaUmWguxEJgsyMriFpGNLmvqUHLcmhxfkTnzPilgnnjFENnghmFAZPJQOaZBlWJSUEJLfjLRzQsIqujSDrXrJwWLytrzlBCueVCsSRlQycaiUBESSxGxDMgxqzOayivRAHpIFuplxjUwLpZMgfcdIiYWaHGybrKkRupRqkMloKRrECGyOetKznrMrUibcmeOFKgvTJMheKGRbdGnJDplFQYvUObqJFRMEIDeULhYwEbyszdxnLarxpEWpBZALaPfyOVodVXodpBHkUFlfDooerxPObfutTKWKyEWPkYfxsgDqXRM", "DCGrvtwZYiFGbHPLsmAxRmHXcSwbOOTfcuERwffMfVULeQjRtRNBjXhfJWdIaeQUcVFjulQxBEyKRHLNYcHKqmIZCzHykMUPNkQvREwpIKUiWOzblSXVdUMjBqDvbNVrVSNyQcnySlkxzLNcwUVhqOlNOOCrXvBKDaLKNMbEFLzBmThaiqhlRJcvUvySbcKbHKWiyYVrNanTalZHtUZoXYtIBZFyZhqPzzAIVvazltOSpcrOOPNEDFIYUOHvyyoeftXzotgolCkgFucztShvYSDmOAZqMVLMmlmZeEevveLHqvTYLISRscEBaVXjqUkNziDGeYgEpzralZaCOQUsCcukmOwUCWPiXFLLSJDLcExhBLtAbKduIHlqzTmCYmDgHTQeLKbshaYjRCqNjBIMilCsQkePGOVzsCDwyXELznHEbxkDwndEueSJlxmGdYZhMqRzgdHSStDZxIDOYhzSxfQwRynLyqYgCvjcKKFGUyBiUYbNkzHZcjuNitCsMZRj", "IKNmOiOIScRoZVOamxuKcuaVsEsuCKYvZqdXBRNyzTPJiCSKwZPbzdNxpvCkKSDDcDmxTClfjoXzbGrNQQXCURaxAvNbQdglCLijeCIjPWxjHessyowfXkDCiMyPdLSlAqTZjwhLdqFQWYqeVTHtLiRZhfrOWtlyrOIRKNbVFImMfSleFLdyJBZZctddRphLGfGYNOhHhDfFWpPLxojxXhxSHvdbMKzbjxfHlZZHNQsRgiRlUEhWTiiELkQlkzjinIyFGtCAHoLGzEplzvnCQQIDxLHTINxXvZFPPYobeEjjvYgSuiQDjMwIBXcWYrvkrLYOXAEpCHkbeEWijprAElcrmpJJDuNgXxPOossmInWNpVHaOaFyvRGzEwjzNeNNNLputcLOvhhngTYANkJFxbDCyLExVXszRctttEwiiwcJzleYDfQtOUNqCJJsxOoRXipTrLDZonjrNrvfcdWCIdKWRUzeEuiyESGlAnmTvCcYmylfhxOCDRpvQNvXZfLX", "LahIpMDJAaggbVnSvJGyGGnvDXmgKYLUYFLWpLpRpcpmSnCuEpqdIXrgpEeJgkIIRsqyfBdZXXCgUTbZWfEEKHeXnkEfXuVgPzKEWwllbGolsrYiJHmXSQlgqAYVdziOslRsaAizBdyXfVJkiRAIixmWSWEWpXlQyIyXEihRkyrFYkctWISPnHoSrVrWaRASjWwjqsnWjjSDoPcnOWXqzKIaQeBsJEudYSxBYqMsUmObjDFBTPVjBQfVsMzhkntiqFjIhHRvLDzTmmWzzoOSNvswTADfhZxPYvSJBFgActoEHERgQFHsRDHJhFWsyOiBFmpnYQaXHethDmmTvZyoYZTuEHnOTtFGxBVCmSzdBbbXjfGBBUfJMppALfJYWBHztsCGttviuEdhQnyPlldygiAjlMpcwJegQYerxpdFcbwnhCKaKUAunEONUFEpbqZhzNyAkEfbuvdfrIHujIZJzrVoXRKRzDTKAZLQFRcNnyBcgJmOhDaSLgaKQYCHITOg", "shyyDfxzdHjtNHSWBTvJbovJccPvdCeoScjAbhjlzpehfBoiEOIwzXXLjwLfMPJTMupAZEQhJaEZAjjlJTUmYxSKLuMMNtZCUlJujZAQVJgfXrjoanganiDausZQWDhUoybbXYmXuyAXLQCzrdbnvJLVYCvbcoMkQBLBaTPClvoHvpSgBHSRDJWEYenBPUgFabalLBEhBeLRtwSqFPcXWnNNuuQsjFBkfCVIabjNtCqMSzTedsZcKamVwUquDSFgAeCdyRPixCnMVSDoaNBVMyPImfQwUAPtkHfFniwpOoIrVrbccVGySAirIvDOeWQiGIWfHFoOxABCsfRTlDhpBIUKEQtUeKVAjSMQBkOvPGKAXJsFjsbOBDlXAuBYhgArmcCIvGcBqHjtAdriKoJwWbfLKbBenGvlQmxUxzGtSjPljXAfkGRnbToGzeUcfytDTEzJNxrGaiCqBSqfajSOeqUIaudXLyMqNwjlJaIvlRvtdXEngicySFQQhHneJJlJ", "aRTAJKdmDwoYrXRAkwHCondRZaCBKkyXEfvtNElMErOhISgLcCmwzlxSqKivsHvANYwMFRFKxGgjukrzmBVluzbbieNUzieuqfBOhpmIhkXhUkFFNBdGFaxlLigMeuQYJsJmmdxJNOsDvgeruIHiPkHncvZJQTDVSoniPdPAnTnQXcEcUDIEUdNxxjYbdCPqmXvrNXPzHGwiUaynEAnNXDTDoohjknfDgtcvCfxFvSyLMInHDejnNbdWJVVnwIQPACDwzRvoKNYvtUVNlXhrhCnHBDtmztfeLWJJKJeHOWcKGWvGLHEnzOoHlAFChHgEJaGxpPiCYFhYhaqTEQkZbqQCdhnnODqBaQECNpWilupKBPCwawbMJvzjrMkADATNJyvQhmGbcVmIgImgkwLndevJPZTVoIpYCUyZCfWXJvQEXpLeheoRGkTEvIkXGNGtBzRgprNkpgTwmStvssLeOfGKrhhdsLMannxOQAPtNkHtQxTgojbfaOtANvLHnaPk", "xcCavJyUvgcAgbLZtiqeWIQsnSStnoAhwiVWsZVIfFiurDQcgqteprXtsIvKQZlUvuHoTVyLukIIiKRyOghzXkUZYzZZWeLHcJuzTXTZFwbAQpbDJqGLNjAASmnwvNzVbVAedXSUOTCdAzLemXfhySATmdBTuWBVElcSKBlBPeJkhCBYJtbgVEYGJVyYHolgSokkLCLSjkUsvSvamxSqWSnbtAQvZBaIGhZrJFOLnHtwVvfBiSxbRnmzneFFNHgtxRWDWmWFsJrflPEpcGRJTAyXpxjtVONWLQNQBPRvJDmPTNCBZRoUDhzbZtIqktphcZNagYSUqZCZDmcMXYDTVmeqezbdHIrcGSegcejMaRybuVkrzkfpJDzmuCDoOzmbCZUBcMkFBfJQikYeDlLjLycEqKjCRMCjULUHVzgqndsygAbTehLharLNBtPejVuyxTQkfjqNRilYfAnsitMxOhrygecMBxMwZRTYIKMYLHKruRutocDrkZBAhLpFVywU", "VnJWBZBHrhoAdhrOKomNGCEGasOOHFWicHTjixIrNiRyIJJAJODRPHanmwzUseBJqiFBXvsNxlQKcjFilCMdWsmertauKvNKVcOQpEKkicYMUZFLebiQGEeNpYFsUOOwjVbKbUokSzONzUnFPpxCMZrWhOQfOGYUvhqMKjIkcZKOXUxQhjvmQBpBXDZLrsRXQNZEEtFrODlmLGhYlHCUnHWYZGvHxrmTJxJQmLGKDqIJDfYXqJjQMFpSHXriIfGpVMQCbKvBXupWWgzNoSaVilElXYQTouPuGEthuqAjVXLtnVcZFvqtzCRpgxtZSnxslpowVpBKDnYKGxZaBMQjnQxiuTiLiLhbufJPQokuXAbEBrLIRSXtuQRYMByOeBZXzMiDAFtrqIkQxmJJgkjADVeIVyiJFyBKkQNGBTjBLhVsqgDWfnXFWxgclBGLKTOcPwyYEfbFlbnEeGCazYpHrBseSbyOYyhpfjheUBRPkNCKdJYvjsAbDtYXzTlPQRSo", "CERcSxwHoNnzZjtawCCmgECEGBFUlsdmQUKfofWMHRUAUkGJjiEjPXeKlAuXzhNJrcHokEJIfvcRmgBWZuUTdQsJHonSQVbkYWbzbOKPIEUtsFsDlGMdREKlTfVTPEfDGcyXmEyrBKUeQIMsauAnZKUDoSWTvZJrtYBKlLsXfWFEepIpolyPJzUnYZCgTnxJeTwfCqfqTWeFkTiYKHAUkWHlaApMbQhKJAHgJHLjLGZsTnwSrkgelaRtGRrahspNCwAZWzmkltGbKTxGHmsxFomUObkspBkqAchGVhtslhxhytUNQzBIdvpLWTJMHNDogSOkGCjxeeFRPWAtNlkFWFJDJCAVbYCUoiwCdwiygGoQcucAcufzPhbDpXXzGjFRVIlxqWNKWpfOuqvMbKAmgQVpKnDJaWHwjFuRLuswelWgKhJeukXVhEHSCGrZVYdDRNRpDAKvYfhoJgeEoYOaFesQcQLiLtawZXJzxTImbqbTtBvmuhgnrwYDGkrAoGwN", "pnTJRUngzBWylaXlUHkoKHJaFDdfGTWgXRdWyhhGeccqZMIbupUTnQhqnMeUCbpUEJJJMYxSBfuzfrcUfutWbSVOBrLckwjDoYvqShNyWVwBHBBeERJKidpvZISgWdxCQRzlDyKwuvOTcRBpLnEUWfiiNWLMnZsjKMXYYIykBprfgHxFMydhuXqDxKELCobKpfUivZmdsuMjeEniCEapfmNKUhtNVEKIELCCwdmEupENxwxMNLJKvfBnjRmkQKgjGjaGNnfChpVzWwExNuILfjTZfHcMqiavMvANSqUnDqRRaWJNFLPVKLiTdfWrgIQPysVTuIKFyMzrIWXqZXqzJffAVMVxBAUcDZseipNkhsplsNPiUgHWbfvzacKkRGVeZRpELVaYhSTcUEDfaBBKnAmgOsbdAabqWWwHjBboKJHWNqWDungzgezsIhLMvUMtUflqEIsSnrfSKGMQrJihpCwdLiXGbEwpQMOnJywprlqVbVWSFppFkLJSLprfbojN", "XnGqgkzbFcYrWdRyCGYhFtfgvzAeItuwqVCpnuNMgGeauaiWWDPsZXBYuSuiKgkgyiROTNLXXSZRCmxMHDLBtaMxsPkLDWeoryiOHDTaCIndMhdNgLfiNNjSSxpBVayqyBSVluCvvPoEXrGPWobUbrlhrhbdCuswAIEmXrgWuuarhecnphgeVJFXAtveSjLWhQLUZKZOowfKIbkLITPrxCRsVFbuYpvGtNgXvVJdOVQYqEHEtxNRDKnIUOVhXfPnQlbWKgZQDhjmiVFtpqfxPfyFUzdzbJDPxCFKoCuTkMgfrzeHdGnxVtJRSUNQYZfxmFVpnjOkXHctTpDsSFkQdCADLnYJJQLlAJIRxwzFoaSKgPVgbgbgBwSLpRQUWIkhExlvKlAwDQOntfAowgkNGZSkwKqbKqKCflpWuslUdlkcSiJrcLpgZhJPSquuJitZFhudTZFYkItWTKBBhwzpKPXeriXHKJzCPwimzomKWjiWYAmmOnwgVqXlLgZWkKiJ", "kCuUQnswPNgJcATzAliAcLVFULWmZZZBLQTVwbNjhdHAFrsusHQDDTGiVFjaQBaJJCyblojUSeyEeWtndTrULxLkkLYEdZsCcdTuhMxGdqAImnZhFBDoHAGZFIlHDiJWHWrgVBQlVKPFuMLcOFeslSEHWUpNpxKjGcfWZqYZnauCtodXZPdYOnbNNjiYDWOCKPukHnEhzjTTRKEdwZnFaQVaxGXMayKKbviRQxNOZcAFxIoplBdrNuPeuAMSqbxHQrkKjKzbQjRJmwPlrwLVyqaxcmRtKXxBFLckMAGgdJhMdHEtpdyVreObrcGaXRXvmYrokiKNUhfGboNBMZXgdJcnAVtGiTYgPtwkwXiSKbkfsvbPXPWWRewqhaNbWlYURliIHIIhWfJRiVpqtiodWmdwnBvUOwAuCJSvzjRjPXUtfrgztRyVMbBzLXRQpZdkDAzGTHsxIpWbhfTQlXgpuoOiBxTiupDjHXUeZdvUtZbYKqonMmRWvgsoerldMdFc", "UpEALfCQoGCkKjoYpzXEggEgOnFiZHuqTLDQWNUuHvQXrLkdOhNelKUwyrQGmjZZwQxHtHHTXageBRbmGXhNxCWQVBCijIYpPDJfqoSbdzOaSxltCERIAfptFTbMbvbcecBHEmRdNOKCrzGJkmpcZDrsZKyuydzPIpmgOWIPrRWubyHcFoewQEsFiyTVVsIoRrJGwnyemsSqLzZhkmaSIudVTEEqdCCFLXrUOSYIKnJdyOWGZztUmdAdrSMvWDYdZBBBxkXZZydWcSwuaXLRzJPPGxQBOIEeJQYxDPcKAcfzjpADPVkFbPCDdCQDddjZrlHBQQzsKphVZSMsAesAIlvvhUOCjmvaLjtCSSjEFviSbeYauoYNEsbdxFIcIqLVzJRTrxJksJbaqMHmBYCJESApXNljAmSivArZVftbICRmHdpMDxsjZVEbiGkjhPZiHOLWFPFWjgiiBEsUZZNUwFLLRuzsDgQsHDLbLLzAghqeoeEYBYQMfusLtaRsbddO", "wSLqZHBrSPkwLdvnMORWCvmpnXzEwPlOVbcsxeJNNdVakFePToJRRjrkfLGJNSIGsQnicXNPDlerBbTgsMHfNnbHOxEZQvRGMafpQyuBuWaDbqZDrTADsvHeimpNIalmOfeOldEvhUgttcCgoaQMYnAODsFDBxexxNrtScZASyEufuUCljvympCogdyumnqQRmdydKVXEuAtgcAlinEluDUaVmhrKMqNUEalICfNobEsKPgCySoZuvniZwynNybvHZixeEZllZvdHEymlpuVkwZMvglxnnSQAMXNdccnLqedUQFBqExrdXTNmiySgdqAyipLqewMkibAKpAxldrbbnnHZPNXiqIHLaHvbLvGZzUrxXspFlpkCtsmbthsfKochpHRPwwcRmOZpbbxkBRTtXcFjrMUfEuJZCIcuBepYvrOLZPXHGZPlLcQaaXvytqlFFSjUxpdXIkikLJBaTYQSIiijrVzWpfvjAJKagDmBuBuOlTWccTYIOTAwDclvORb", "lLMQIDeDPWYkhFWhPtISXhMIOvFSZIQGDJpCHYwyjRbXfkwxSEbjSbbUSpNoeHANICeJevIHLlWmKEqAdujcCwNZnrLrjgmvTIQThsNQfPJvVWSWVDlDLTsIVsmmHTcxQUaQQZZlFXvLCuXzTgUwyDsuoGDQmEJhGkvJfsfiffNVjULOmEmtvkgBBRQeatVhtjcUGgGknAvaUwPMnPiinikCUNEcHfDDztdZTsLZUkAfesLVLtBtJpNlGdQeQEgpECnWPDuqGjlaDRUsPzUSfkcqwXPxjUwTUwivNAdsmwtQtWVicCIMhRZuCXjaYMkmyxFmWCrzPHNXETXHtvtEYvMQcJuZVDhaNfTmwSCQovkFVcuHSPGRTjyTMUxQesWBcqYUVdahGLBkDWuhIfMjDKPNiuUAKTxpFKwQtMdGfNMmKeUBFlOOtLtmQrjtAornEripzDqzWyDVEwVSWcDDFIPCkVCzaLuGAwjAkucVuTagJtdVtcqUrfNZtEJiGzxY", "KnQIGdEyjsEWIiLoiEQAHwxySWsZDudfsgicJFNdAzWpHlOATKqJiVsmYszuxewdOvUAmXcFvXNUGekGjwcMoDuKVXTDlcHMenaFLTVadBuBCvRwDLGseBxvfIhYlKfrNMfgPEWmoTZeWttgouAtVjTNOluFauToMPzQHzSlGHTMTxTNtxOnREIMyYpdtATxSdDOmTRmtAmMtKpsOXWxchyrsqREKHvKQfsgGotTqFHejeSNGxKnXEUYPQIDCRXrcUMoeFfWXJYOinpdTChlUCApibcBnMMjtTnYXRGRmeJqsyaqtCpvRJnWrquTtTkfThRimRjpOqSPXDmLpNEqhwPDGXaiUhfIfJbmWQYITzjRGHJozzQcFbHgywejPLqktOGmXGYDQjYmSjuhXRJItxtqabGTsgOOOVIOpzSRzaDeXeIXXHjrVFkcHtGfWqfopecjBGmiGiaVDDFxmWGDatSSKxqSluNyGuSxkbyszpXtFJkwqCJTZGLvcLvuerZO", "KiIGVEjLabEwtWIpjpeKpGnyUVgkSjVnaNWHIaaRIrlXRkwFHyZodcGiOOIrIjkroEsOxpUHNaAVpSENKJxMDoMFKDQhFCLYGfUVzmydKbWSBwBfTflqcrCGyxVZiHhDfJcGTpKSNIlJeRlnbHYUmUuYvEuxyjiARfTMpoiLwvhlaVnufbDOwrhLIXrijbKwMPfhbhbjiZWOqXtwsEXbAggqsCZcXnqjYqeVRobbYciSkCmuGVJPWqaLOcrMQVoCBjrbhfuAeAAUahUkKGxXARBVyaGUMcOMSFyQVWyGruKXMrBZUMAcIvOPGqqJpERkzJTndMnNqWHTtYpOwfgFzFXLewKaTUChWWbnXJcXobTsaktVfGciEJnBzzvZOnDeNMcYUCwFqdUtZfTFhyUtgyAzcRajsXcRuoUBVbDTNITpmxlqowiWzwEBrMzAlcqdjcznZaYQliEwnhkgUKiUPpfzcVBZKWWbuEaCZrFlfkOOBizBUWjUyePYKIHKUNvo", "yHrKUofOwMywbbYDqtRmOlEsZeIXGICjcSPHzMGOFXOFgAOjwtXwQGtZNpRguSjgtBxmVhzSknNTpqhPuToEOUJQmvKLLWRZrOfDQUEXabROMoEgRzamDZRyXJHrDOiKgxwLUOJXCUJjmnkhEvEerOXkAMiiwlavbTrWMHUfWXjwWCafZGvOBQJxQeUVVkFynHrQVsebzVviPSHKUtAFPJpHHfXzVNZGVRySYGYQekEPlDMHqZocueUNBjmlblovcpbisJpVatJSAaDaSlgyJugaMktVcVktKSACphSOqxMJMDYXrlKunMiBmnEOVeEgvfyggEFdseEpROeLmalRjNEDqeSJqeaDbIpmgCuOXSjLBbycTvdznncQCxPflCcizTmRXEcZHxOSgrNCJEBQwSkDAqQNmfXRRrONXoFNxFLjeMjESMzxqDQTgOZtglhmHJFxUxHeBjODiuaoTVUXzjZpNTHBBMxZpNTDBzgEzToeQPNJseQBSFWkKvfSfEIy", "LrTqrzyDEJkBWreKleLXfcwoPPDZVCDrERhccnTFqJdLIgDwMfgvwcPbwyYRJvDGuTonvLbYNKIbetHtsSAFmDVlRTaBrNFicVMApRakSsCkEEbLPANfvztXZXthKvqbrftTiGlgKGNndMiYpPdzkRjJOZvojlVIcQrdoqHTudRwzASRpWDlUgeeWoXbyFoBSjJOvfOyIklqCVdtnIjfyLUvtTyncZvhjeyYkeovIVgwIWANntpwkcXOpYeUMRHYiqnwdACzxYoBgVexCqcagPjjqfAbvtmgQhWgUkKvMRBGMoczfcxmBBTCZMxIXWiZAQsLumVgOeqOMGCeCFQXDWyLzhXbHmFTtLIVFjLwTWFAFwNCrXOemxXKMqmjcViSaXbhNsnfjbRXtZEilDbRurMVFhGDYRRrBEumbjeWTxJxDgGFvJFxYfDnQXyPAtLDuiwSLmXqCkLeQMvgdfDTuTYlUzZOshvltMhACLGsDQDAbOjtSdPRXsfpplRaLWlQ", "PJChaKHpDkhulcCLvRZLNdTtqfObbVCFgieHAzrHOPiYPoFiCQqZMOMmjqLjfrTBkBvtSCVAIhnIiIwegwmnAAcaKMLKHTDjlVOPMuFcEaOhpvmvPJbjfuGCtgCHbcRCxnjcbCDkUKZiDgbIUbFVMvJCWXVpEcGXVHhTpRzhiULGQjqZkeoTeRxztvZAQPUZqJsvFaeMiyNohMmTXCSeKHdsWteuXfGsCmHLatkUOaCTIaGcXpOYYMGFBISJcyrJvxvqPBGKMQiNnFJUeXueyOlvbCDbXQphCpygAtXwZHZqoPeVwcSnJkueNlaExVwHPFijWKPGocCSpGKiKtZeEMYIOaiEpSfPfPFqgnfvZjOgDkAoOLXqBTOFgKcOCPPEExZUYHQRwymGeCIroDmkNHkUhsEzdxaRZrUuRrGiuEirWvrUExauKiXZqeEsFwRXSdczrfkpFNXlSYnMMiUFFTdywVGQTpSLrkdhNvjrAJJtcQGskxMoReUgnDVQGTgt", "OQUuGrlSvlMXshQwqwEtBrnADKwXSokTDqopaMOqmjyWfeGrGTXrCeApyZyKMIskuZvKDftXWLbFFKfHyKbKVBtwCUjAsRuOcNEeivCxniEkJwMcXeAEiljDjxNESNNOGdgTYHefDNKlSaoRYcJkXwAfYmRuQhvZuaGXpIIQtUqacvbqmrguEtiUtyoUigGyJwtVITTtqFIxgJDoFiIEmpqiOokcqMxYhivNDEPkJZgiwJrkZYfmpXIPlYkbjInUNEyrmjLcTmukKITlMMAJhAzAOJnhZuizcvMDcaorUIfYdZvHFhefHPlgijWlaCSqhqHAAMlGSiACwTtfjnpfSRAYnRrpWPSxYikVnJthqKHuKZOSzNpFDfCyDObqCcoIMgJbcWrMSlTfDEqlRpWAuXcjtlHRCuPdSczVlbVDMqfmXsXVnByYmJbkhPrizWWGHMQQLfIAlfMMyACDQeUlVYfLUULYtZqOeqTigTksXUleQtJaXmlPLURWzqzbDMhu", "NRGIyDIURuKHUpnnwFgfALXsDWWSIjpdwgoIKNSSCYLUtXZnFwKYTbNkoBomBvjQxGbmOlYiQXaoRQxfiRrfqJAnjTylniODzuurhLifVoefePQrxBGvtLbShSExnYYtmDfDcyewbPxamiiNwEtmXCKzyFrEhjUKUaaSfVFGjiTLLHIWPTEHuCAWEYoNFOhjmmwxaLAOOvLxpFwmZEfIHOzaPVwDdUGjyfiNFFPzNIwxlsdhfdHRYqbngFSQcJHlsbKsQEcgcBPfSWnKxHeqnfJdjbxaZDPaoDFFNeSCqrKDhoWqKKBoqslBylWrzaZelEwHnagXZUCtOghBPfwolazMvbDfxiPvhHziQHyhzmfKQbrOxNrMVwPXDqVXqCoaJrKiCiuXgBmPYWReQTOaROtPPnjcDuUNzOdSZYkgPpyGGxwzpViHyTnsANOoaFkUfKjbUAedjRVuGlKtUmDVrFFDUqsfolFgzACIKrKxrcyLAgWtMzGxbqbOdobMxyGT", "jBKnjVtuoqJoEnTLaJackUHPVgSLXadiWpRjRAlpnjFzFSrousthFZUasSbsAeeIovzDSIOnUpghsDFmYatyRPQunStUJvHhJghptoJzJTbyfKOmbYDHonGFhJtVWffPRHyzJruzTYeMpVYdJneeiSySYpldwbuHRYUtJZiyFrgoKHCSnnPZmjsGZAvmEONvHMzRFhEavqqSeuSaVtBrLLOZrzuNENepAeoKEzrADlWBwdZRHTqgdDFScryigmRmmvwPMxXmQMUXWduKfUmkzrmdFzhUXZFTsSFcMTEfQpPsDODgmORwzSGQeZfeNiEyrIOyJdFmhgCAOBKZQfknuVcpaWFEeiQXdWCEWGWOHCnfxaTUqSnDZHfMwUwCxJFiVLbOWNWJCqTSkSiDKYypiQzYLoRDIXXmRRXOENvXZZKAYBrQIEBNwmevELcVMlVXgWBsrbhDcvlcNjZVRfuSIPwQWRKBZhbsyUsiEosOHiyIJmKAiyOqsVPJsWrjtkDT", "YSCSaRXbxEPETciPbeOvSxJdvPwfpHoyrIJDcXJPLlrBYqkcCLovEjOIPbmfgXSXwoCvKbTyuHGEMPRQKQoNmLRgnUiRqvwxzMoFyiwfvigkprYKUvydHbxQOpKxkHmpsCCTbsVdMYilapfDSZPLGTOQvXdpngapDLayquPHwJTvZqKWFpPxFzWWdMSwEXHfiOdIcRQAKhYseqzXctnYrllxMpkPJiLCyZsFdptpLDOJfewkbOZjWxCmqcZxTNfaLdUWsmETmkBgyXNbgRJOiYgarSnnUfirmLapZXtJSdVsXiCTazhOqpryJqsUWutUCkfNVevmXiTafYCMsvGcXGtbmuFgLWWLNjxoWdJUBMcquGmrFQWKXprGUpPKQdLLlPLVAEZiiaMOxnVPEdgyaXStBueaGiOozBCprNHOrpTNWpLcUAgxpcbknkGemSofierXWyENQFkVYItuxjeBrIPjzTmGOGzWhDhBfquIFJRVKPCOKkJNFjeebhYnrwGd"],"c_map_tinyint":{"c_map_tinyint_1":6, "c_map_tinyint_2":116, "c_map_tinyint_3":117, "c_map_tinyint_4":-60, "c_map_tinyint_5":102, "c_map_tinyint_6":107, "c_map_tinyint_7":-23, "c_map_tinyint_8":20, "c_map_tinyint_9":109, "c_map_tinyint_10":-13},"c_map_int":{"c_map_int_1":1354413733, "c_map_int_2":-467142345, "c_map_int_3":2140806145, "c_map_int_4":-1917267932, "c_map_int_5":-552901598, "c_map_int_6":-1570493601, "c_map_int_7":-635994218, "c_map_int_8":1409718183, "c_map_int_9":1905412932, "c_map_int_10":-1586627076},"c_tinyint":-81,"c_map_date":{"c_map_date_1":"2002-09-28", "c_map_date_2":"2006-09-12", "c_map_date_3":"2014-06-16", "c_map_date_4":"2005-04-25", "c_map_date_5":"2014-10-09", "c_map_date_6":"2013-01-27", "c_map_date_7":"2015-03-21", "c_map_date_8":"2005-02-18", "c_map_date_9":"2003-11-06", "c_map_date_10":"2004-11-21"},"c_map_string":{"c_map_string_1":"NAXRtuWuvXRtaWikCMBZgPwASKawMGhSFfRPqkTueggsrWaVXGqMOPmgmvyTocdEdArsjWKlqVoZfUXzmrPQwJBpYzTLCKVJChKLqhvJpfcSGgcRwANknWYoDQmScOFRdoUaYUdwQbwGIDLjkGyVNNGoiqBSKZEnmfKqTTSMMAvSeiubUadHHLbfqfbPcZwJQvDEoNvpDlkefIzirHEiKYZWpDarSyYWMJcNnnUsSBiAbsSQbxovuUrznBjdSzeYAifvBrcUDuuvxRRQNCYFTplQYKlpKLkzAaoJInvzLHnLvRkwSxJgnpiESxMuPAgyOjOLhJOuiYrMwlOQtdjOjfGgiXGOzhdPOzoeHiepjXOVDfVVSdlHhpfYHJYCkSNrsKTSYLzJnWBaBdBspmiTENgoCHcxvfxBposliIbRIwheTIBnrCzCdeIhyUXnNoldoZEYjFtofEJqBgcsIlrlhVuGdstUnAgKnMDYJldlhlJTqeTWXUvTduAKKudkSGyy", "c_map_string_2":"qVESnqsKAluqbxUqrmOfZYANeZUnWjUbLxOtkeyFXZKUDFjJYfbjtYcrCrhNuXeAgGxRywIfGaNqUJWkSgjklNHWADHfpDkszPROVQkLQbZsWHsivKeMYnlQHKqHhEahbVJABhVkcaMKqJSVmdeFPnqYoAjuSzkmAWPoyyOFtOYQKkxaSJjKFAOuFDdgjsBeXrvXPDrkuBrwFFaEOJrhqCQuaJIsTZjygRCTcZLYcmTeLSexXypxaGwIkpocrtUbSGwdjxQeKGNliYYOIcvWYBhClbGGuUEaQxZJuGAgTLpHMWoPAkzhQLTKwIpIxlTEVfgpWCUlxPfWpmUjcLODwXesqPZOlpOFlDBWMAfdAQowiMRkqIEQThEbXzwUsXbZYLSTZLLrUgcqpvboKhRzQXAIhuzxOvduYOQnRZChDVDNakIZblHJecaSaPkcHmEbuqfbOXEcSVQbYGxulCdDgCObAycWKfkCPCzTkOBCdwKRHkZSnnERIhIWLtYORnVD", "c_map_string_3":"cPZVrcLVzXnikjdFmoLtksGzeAviBJYVNiuFIoxxdNAjcGCOYSXjjAbcHesiyqESBscijYhETTCErkShBUTFqpnsAsbXTtQnEecDvEEvtbtyBrVNBJjPhMWMZeYSxFBcgiflRpxkfpQlvLRUinyOIuNDJlSRciCWSjePxvuTagVAtpQVNlnXcZcFzyStpZvSwOplDBInBdCjPLjKqIwJtrlaWWnvamNwhBmBFtVZTnvxIhsVtwLVSXkpbzOqmKViJKKiCedtQzFcRzHEASIlXDGdHaWBHRJgaaNOsJhjmGnickqIvcFOZgqztuhJrJHCPqjzjcAMKkgLrpEtHTqLYlBoelBtqIowYPyVjqjybvlIZpmjUAJxbkIvGSyMUFayVrZQNlbXcNeYwdlZAOZUjeqijSmxfLlIhHTHJipqjIXsCUJXPPEQCsSjXqZDagtGkWDzHFsQmdIbYCzpuLYPfjRQgPDYadnqeCpfQHLEjEJKtSuLTkMAVBTaFjChPZSO", "c_map_string_4":"kfGcLigTmUhlNjuOdGPrVKSnvtAlyrTuIoOkdDJmmkCvzQGpuUQeeEvqDgEajnqtONWqJcVIdPfgzSFSpJImvnkPDCtALLpcKAybRSkFHYLyoQBXDZGiRjNgbfXwHwtuyFCOeOggSBkYumfqyTyAqfzDwUMSbNMOAYnjCgAVOtIAUochKoAXKuOrHhoGAZbvutFUSFPTtGivZlStuySlnloDkLVSynBSWCLenWAkfnCAzdwzoBmUIIrbYUnnBfIsjzzcdcWsUiZfhYHvpjaMtVxvJnQGTNXjxNvPfHZWHxwOkccbejBzeoXvBKpDxToApyjhnzuIpHfRPwxKdKvhQAeIPCBNDATivkioFuJqgFEWemkBxgVJsGGcWIqXRXMtJzyznmkfaIbQmRtPmPFKyPPFXsQEXfQoitZjoUIxQtcRZEbblstVWUyXXoJufXEZQhyGAMNaGyziuVbCtFvlApFBpRMMGwxROqwVYlHMbuBFAVrfJsVBugOqocQkawFH", "c_map_string_5":"KSuSVSDQtueBCcallqVxAWelaSxAKoELlaIFOBPQGXCJyrgdpVxrTKGtgoCsPevcEOCCLHqkAZnwybxfiXsiJxDFQNNVzNRFeBALsIbOUuQJgCoOxCQSeArbsvLZJFyUDRaaXbNGyqWtIrZFICKJeaaYcXoRvfoOKnHOnwafikCfxlWKyQrsSdXYVhwnlTsHxlmJTJpoZckHadKeKdeRUgWrlSBAFyiBPCiANraqXrjlCsvSjYOrVKYnZJvEpntTebRWwodCjUqxgaVJtpPtmTRhDbtuWwBATsrPNLWJljuMXwlWQIcDKvDOdZogxOXACyClwdEyKRTdLRMKCZnutiDxNIVvvyTZGAhVYjMyJDeeDnwKzPNMBMTfbMtpmORpAgVzgHLGitNFSBhugiDxcHCEhcCoXgkabEOwahQUziVcWTHwNBCmvYwQVUKkLnlfUJyGMlKywMMNiqupeQcCQtuKBjuExdrFHlJKyHhYhFJPMdmIpLciDdTuzSwoShJj", "c_map_string_6":"voBhUDGGehMwDklzNfwfemJWorSOVcTGkjtcLrWtmUMzuHNIMBijcUAjQIEAdnxJbfWAjfpCZCOkYxCxGZICQNxXEDkCyBOIvCWxjLKbTWvYukzkYMAsRczgYbxpYSuiZlkzoFFiNkSeMLcbzuEwhmEcaCuyZiaKNYIYtWyEXdQWYTCZzNhcEUnmMDJlrEFCUYZNamnZiqWKrJdCsokdRnPOqQpSIZtuLxiyvmhyQtAsTnqrCZJMGGuhyUmcaIlOAVuGiBLgpcqMwzNlhAQRUQIKOYaWmYDcMAjdgqRsUdWzvMdbsxlVsSGYoOiIHnYCZEFdBQmohyrdkViezqDolRxDvByrLgSVDAQiAdpZtzHEqJkGgailjxbiUwrplGWLrWKUQVXBOZLFCRLKElzLdxBpQICAaXGEPuIHTVThEwmmyHbofKWwaZhEkTBSIfJPORwZLUQWRJvvrWSCwrmVyAOodagKiCILKZgkNQfRNGLOKQGaGhGzVtUOVImjuBih", "c_map_string_7":"DaEEDdOYfzfjDGYhVnlgrBzfQbMLRLPaeVgiqkLMCeKGazqJFcEMMiREKEUFrEfcvPwdlioPfLSROhyONemTwQyfRvpXlhgkAxRrhNImxbUghSnaltfZhIwCVexvSSrBNeZbUubOLLuSUtpRkzUimVfsHvAoNdCconwVWVDfxyPMPXWqVzhoNgLpwlgyHURsFjmmEFLIeRPSmgWVSwiEFhoiXRLPQTGxPJiGSqIrzpqjeyexyZxWtaPXkqfJcUOepYMGFxGeGZRbsZdEiqdDNuwaOusXjizhwdToOTYscdXfVrsWvQvvGXACqohxhocIiYULGCwMeLtUKbgmrYhqAwlRDhdeWeUVjIQelLXUihgNUfAenvdWfLFgLiDbtHUSuxnTGLcEoupsbaEoVSrkTDFXGIVxaSiymdTxjmoDOYGOdvprPiJWihApDSgGvtSMCTzlSNhJDtMZdMifvEdQmQYtoadQWQxCJPaccJDVRweOQYkCgYrfCOAcBEHbjWnm", "c_map_string_8":"PeOZGkxsCGxXlNGwjOoxTaLZVstSBDeGYzugaVNAGLoGdFJmAArYwLJJjoSGoWPjHfpBnqOJpGHkuxfcRCHsVbFJFncuBNUdejjrDqPJBzRiDkjfMfZoyjvovLMdXqUOtUjcCfQqQSaHYRWqiIByCzYIDhXXeZNCpPdzROwOElItEThVMgrHhJZYYuKhUZPwXEnTTSfvCgSSBwjzusQHBKtneFxlDqIpYGKmaQgBBnkGaPQWgStDNeDHHJsZUFPBkIvNGyRyufdTqLdLlPblwBWpKyEbncwJDoYOyaDjqBTjjzMoiNzNrHRgcHzNRrDyWsPiCYMjfzUzQClkSujAyiUnSmvKZSKHLphleVCoqZcelljdVfNdAsjlLINQMMxNxXIwAXTzXaEaeVembtUjWjqkhBrmtSTMiicwDxmlSKTyvkeAlCrgFErKdBCEOGYhzxwqDSqbWowHXFzVwjIJFlQftMiWiFDMfdGOYyPztLQHWuOieLqMZzmjOWoQgQrY", "c_map_string_9":"pRouxYXGzwWIcMNbdxRnAsbfHnnXqsfinHllbGPCWzZxHoWWPqJBLlRlOWvrposaxTPVBnZcWkaknbhJKwBbfsXwarhxNBkNkFuqPgmwSOznQWpRgQIZEIKCFDYqhxKAIYfWarDzVPdzyxrUKOSPSGKstHaGIkiLiLifQZmJpzjunYXuKIanLnRppLHouGUKueWiPyyxHCMIpkcFcMdTPZzzXSxJOzZFpGjuhGXLbcvsWHdvNKcrfdTfrRWMCVBBWKvKaGbtekQNdnVgovxduZHIZnLOJIVXNsAdHSlBvbCRqaHSLyUjXGJTCnpCCoLEGqrbRhePJcTmNbspxynrHuDDmDpMzbvwqmxemUUpKFZjXWyELjAsDkVbnwCENoWMGlHUIeFApIkWfYycbSaQbINEcfwnijMxmFYnyNcAQFFECslYYZbYLsueGFtWZYweVXUxrJXljfKTaKsbcdmYEAuSNVbKqCTzrdehxuyapEMuEtwayAHZShqdSYWDuwJH", "c_map_string_10":"oBxORarzSQdJjwjaKACVBTqomxGQrHOCqtpVexkFdNwNLxgIFpMmloBVgZvdqellBBEFzbFJBZCtAGLVbAqGRKrOlWkHTrmueqHMKEWdxxfFCauuLWlTZdVfyMObZanXewUSQlrNqQozjQHhNkRwkSQTLrdiejIsbgJeaOPpGtkLQcLOOWVALYJlLXZQeFFkrFMtFHWoLMvmZFvsHDoHOWATVCKQspXpRGUkBpLcAVLKMNeFpNDiyexeljzpOyZLNueMIJyRBHofgzgmLaRWbVhinMconDuTPeWtdKtsofrKBxCLKoFLWhPPUKHGddyCyMYywMgHFlTQDPYJJjecuEUfDnVKpHNLrleMHdzvPJmzdlkhJpBpUyIciGetrhEVrtuaHtIHkAzjTHLVKSubJfqOWwQSkKaqOPSiQvhaLtxzeFoYLTsnTWbGfaUygKZTfGUzvtXdBeRzFwJlCeVYXurFpbQNJSxGagpslGDNKSVUpbWAWVbaQjbtkxllqRqd"},"c_ipv6":"b161:887e:c4be:ff3e:74de:f4a2:59e5:decc","c_array_bigint":[6296596469216354419, -3073899449064870057, 630869859502728247, 9121695320953152101, -3935139203549781341, 537951293358330117, -6295648794407641608, -7577074584732634123, -8327285347617245411, 3301116024636307110, 5136558321882029461, -3389226574487799086, -2145891213727725628, -4115516101545230438, -2238485338439930099, -7192765118456759491, -3521959431627245070, -8698535171053682374, 6964707785874075628, 2156926803720204740, -6850487670854401030, 7854925206520356463, -2241516960894235715, -154993929993364307, -1493112077869300809],"c_array_float":[36.12778, 39.870445, 11.414495, 18.533264, 42.627426, 42.316154, 66.5447, 8.990736, 11.060994, 94.23157, 28.025997, 60.627144, 6.870896, 86.96822, 83.17145, 90.15398, 78.527954, 37.3172, 72.421875, 100.94444, 75.16462, 74.3374, 6.5295157, 43.357334, 2.0668228],"c_map_bigint":{"c_map_bigint_1":4361475886086980125, "c_map_bigint_2":-2947524334383628477, "c_map_bigint_3":1016433753988029263, "c_map_bigint_4":-4843163505310137922, "c_map_bigint_5":3988062204100995326, "c_map_bigint_6":3090184254754103425, "c_map_bigint_7":-5773442544682993279, "c_map_bigint_8":8537209097283479652, "c_map_bigint_9":-6968024972802320912, "c_map_bigint_10":4848249466198495372},"c_varchar":"I\'m","c_array_largeint":[-3974136426127134434, 3050946181871131332, -2854507519332229589, -1381685262777167006, 4213758170186441560, -8197171417678919911, -6246762534944549463, 112558819435637621, 3015116941057858459, -7462878536201826410, 1448925591382828853, -3321435651960571871, -6460393669078100740, -2425341544650494992, 6723687955295444677, 6431915466828570149, -9064871600528078940, -5957472583596642034, -9183518261221465701, 5612591137047274082, 3997357280682699628, 5526059039968661273, 3945650745506975445, 1966544119607337503, 2593321013186488299],"c_array_double":[97.38342953711611, 41.10007006574044, 3.2235290776899443, 22.99185557035447, 76.09667154368549, 34.35956142261215, 24.01633502986077, 51.54031989172706, 2.6460283880172097, 30.21523187051488, 61.673728995137694, 99.95359340077299, 89.61946489761077, 99.54930592873353, 65.55611764279072, 21.466628864531216, 34.42429464079497, 80.85599451125908, 11.251339977719194, 75.47522170033558, 28.511309587471345, 83.37656467160616, 56.005167019730585, 77.40095222840169, 64.98879905176945],"c_array_char":["NrhFTmFFhy", "tEOOmgTOdR", "BueXcSzQTY", "mKThhbOrwF", "QRyzjWaOtW", "ENDzOuxsAh", "fuzVZouIzI", "paRPmQkzpw", "NeXMlmMTXP", "BzoYdVQAPS", "qeffCPZfAy", "sEYUGvhDRW", "MNtOjybWKp", "VSmSugpoYV", "SywFumpxKH", "gOpfSRnSdb", "ZGyQTvGGzN", "dwLDmMkbmr", "IuHJOoSKfK", "fTYlkifLzL", "soigyRxlYi", "EgFAXCDjWi", "KjNixHyGXZ", "SoSzfYDBaz", "KFaQxoghmC"],"c_map_float":{"c_map_float_1":96.630516, "c_map_float_2":0.47710508, "c_map_float_3":78.55212, "c_map_float_4":96.038605, "c_map_float_5":56.816963, "c_map_float_6":62.056286, "c_map_float_7":12.14516, "c_map_float_8":87.52133, "c_map_float_9":10.935951, "c_map_float_10":37.74028},"c_float":54.881695,"c_decimal":5.0888,"c_date":"2017-02-16","c_array_int":[632268956, 998379445, 609136058, -252164074, 1074821145, -755032870, 1790574128, 1145433800, 1104221799, 1946985076, 1476266730, -2053553813, -687481788, -834468229, 2055754802, 875653779, 16879451, 243618585, 60918796, 1647067967, -814327286, -1736591890, -600041393, 568964271, 17307204],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_ipv6":{"c_map_ipv6_1":"5c37:2254:b9e4:a995:dcad:f2ef:4920:561f", "c_map_ipv6_2":"ea4a:8d37:afd6:d301:47f1:346f:2443:a9da", "c_map_ipv6_3":"81a8:314b:f7a8:b95d:1ca:a251:f179:588c", "c_map_ipv6_4":"cafd:d82b:ded:397:1d70:6c14:b63f:fcc0", "c_map_ipv6_5":"107f:3564:1dfa:a5c3:46f8:5a8:62b0:e5d5", "c_map_ipv6_6":"253f:4155:ac8b:9ab8:5721:2ae2:fb6f:33f", "c_map_ipv6_7":"a773:a272:9290:c787:6add:49c:be31:b9b9", "c_map_ipv6_8":"7b78:23cc:e394:b272:d032:682b:b3fa:ad17", "c_map_ipv6_9":"f16f:820:f15b:55d4:6182:3842:6d9d:3dc6", "c_map_ipv6_10":"f5ea:b3ae:4b87:2684:865a:ebfb:9b35:b63"},"c_boolean":0,"c_map_smallint":{"c_map_smallint_1":-15099, "c_map_smallint_2":-19491, "c_map_smallint_3":-25120, "c_map_smallint_4":-19911, "c_map_smallint_5":-1725, "c_map_smallint_6":-15469, "c_map_smallint_7":-24856, "c_map_smallint_8":30005, "c_map_smallint_9":6356, "c_map_smallint_10":31494},"c_map_largeint":{"c_map_largeint_1":3062528218473181957, "c_map_largeint_2":-7352920167442346330, "c_map_largeint_3":3370850520770880240, "c_map_largeint_4":-1378165352560363230, "c_map_largeint_5":-4776307848164649570, "c_map_largeint_6":-7140036426286451484, "c_map_largeint_7":-1090453456945474157, "c_map_largeint_8":2936715857623934432, "c_map_largeint_9":2774464323748708953, "c_map_largeint_10":-5654650214948159153},"c_map_decimal":{"c_map_decimal_1":11.1016, "c_map_decimal_2":51.1478, "c_map_decimal_3":70.0931, "c_map_decimal_4":30.0305, "c_map_decimal_5":18.0187, "c_map_decimal_6":61.1761, "c_map_decimal_7":93.0389, "c_map_decimal_8":64.1176, "c_map_decimal_9":60.1560, "c_map_decimal_10":51.0625},"c_map_double":{"c_map_double_1":79.67849677582305, "c_map_double_2":12.994672480197652, "c_map_double_3":67.12905900990188, "c_map_double_4":57.29417928717544, "c_map_double_5":42.28352106389246, "c_map_double_6":2.869195108169985, "c_map_double_7":93.75159502881486, "c_map_double_8":98.91875184343127, "c_map_double_9":32.27528260489338, "c_map_double_10":40.5765732521045},"c_array_datetime":["2005-05-07 04:23:51", "2001-01-15 07:17:15", "2001-02-08 03:39:59", "2008-08-08 09:41:36", "2011-07-03 10:23:26", "2010-03-02 09:49:20", "2015-05-24 23:01:28", "2003-02-20 23:13:22", "2014-01-15 23:47:47", "2005-10-25 19:29:46", "2010-10-16 16:08:22", "2005-05-10 06:36:20", "2002-03-18 10:38:04", "2007-12-06 17:40:08", "2011-04-14 17:18:30", "2008-07-19 00:28:47", "2011-05-04 13:47:44", "2002-04-05 15:26:53", "2005-05-08 16:02:34", "2016-03-03 03:17:35", "2001-06-10 12:24:14", "2008-02-24 06:10:45", "2019-05-19 12:19:12", "2009-08-16 04:18:44", "2011-11-17 21:27:44"],"c_array_ipv4":["bzVAEdwLCO", "NZkmFYfXdm", "uwfJpwcpIG", "RYQEwOtfwj", "DshURiVzLR", "fQAEiBZwqZ", "XYpJbbWrWw", "blXMHGDbkn", "JaHytHOFUI", "eziMaZDZQS", "IQVBNWFihK", "gppdXGlmDp", "ixGQyBNxZv", "dhcRURaWxu", "RqoISqDDCD", "MEfbgJbZvA", "RPkSFJXZfU", "kFTrzhAZjE", "qUIZWVLomD", "sXpOosIcKa", "CYozeiKnBX", "AcbMNsVaUC", "NnirDEioNb", "jcAmnfwBDE", "lUznGtrZkM"],"c_int":-301987055,"c_double":95.25976422430448,"c_ipv4":"20.200.27.231","c_array_boolean":[1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1],"c_array_tinyint":[61, 20, 26, -25, 40, -118, 40, 48, -113, 117, 57, -67, -93, 100, -87, -34, -80, 61, -7, 102, 31, -111, 90, 18, 112],"c_array_varchar":["lIYHPFZzbkhEHlnMhCVYfUoBKRWqpLcqcrKnnDJMdGzvLzBaPJqnITOBHFxEuRxmaFSfynIITmWXVXJcOqqAZyKFykcHskWmgoTpHGioQuaffawKFcGBRsIkHVthucboIHnpLgzAWZoIUaDhefMLCXjkuJfbpwyPAvmNJqKXRuvImkDYogyqRebdhgCbbLvBnKpLgUnTgUIemqUGYywAwRfZTKVzAVDpnzytfHYBbxzlRVLNcvIsQrgexHKfLznc", "nKajtKaVnlRgUWhdZicqmkdljBFshloAwLLPvLCogTXaXsWpBXfAYTQiokkxVmDrHrupVrJOTuXVqKmWgVqDHebsVBjstIJdKkAJMQONcKgTkrseYtWkZctqmSXvaMKimgitHSZzquydfCRVcVWRgLLrMxWaJcZwhGYjKKRMrNKWTPKzjpGRiJZHlgSSZCsRoZSAouVoAatXYHnGvkopcGYTbOHGtvuwkdUzapDSOfEuIFOSQIPDOZpeJllpoVyN", "ROCQYuMkHlplBZaUKJXvJMeIQWMYFrhuWBEkhJwMvjaXEPkQlpybWQuFBuUyClaqifNErmGFNzqdWJIRRTrXgQaiIRUMXmCGqwdKQGEwfICDpwuWRTPwMJfhekTncxtDVkOnkABUsTeIaveUwIOlWZUSxiPUwYAQcjtgvwgYEjbGaGkrlmPlWBFAYgbUuvCcCcxzKXcnHwFqBLgGEOwdlPOXxIKKSMrZJNctRdYtwtwfmqoNUOmEBNqkjQhbYcyN", "OQlAVDWacrhYZrJoQcxTcddMxSopjAUIdkkclouNibkdjIydmYqhXYNUGyBEWVcGTtPIyKEMOrzGfRRTyZBpYKRpLwAbBMUFNhErTFwgBUmRYDbxcnZhgjAPgSVipBtmyCDTWRIpHzjcsYycYSiNXWdeKFSbqwOjXmUfPFiWrHdgfpXCwePiCpUumZYPPcSEPKylnDgEDfLCjJtzNLKsqGnHXSJUVGOetFJGDshnwzdvsVPqSbLjWTlHbJpTGSDK", "GwPsIyaWxphkdziAxOBWUcCsOzHqwErkkdQWNkLUFkcalnhPrcrpghvwIkSSImiqSpxqEiOxgfcUsrsdvfuwdLNmYQjDEvllidHqcHJtYtqUEPtLkWwOfZqsmvbYpBqPNAcrGSoFebomENQSEQMkRNgFeuJWzTdBnCbVBaSYXRJmBWcSwjjFexDTnVJnMSYKZjFYIfSvpFLVorFGtQaEbPCGMImIwqZNHkHknPdTTELyjWHtOAaesCUpLlJcJycr", "yfNyhWRbyenCojpegSvjfLZtWQuMXCQrQMlqvXTUeQqYIiRcKlqEZMSMgiEkcXWWHurgicEgxVuKDCqtvZsQKxbzBKvrVONRWgNPAnAmIioSfWQrsmufGhOKdWtBrEThsQcTdtjZfqsULvCWTiDpehfwMMzmmQLFZkVPoWVPLOciheNCIibbkvrbSVjmgmHkxkiOIkmQMaJewoLaHrHAzPLWQXIOACyPpAxTJmBtEcwuZmVYZHSwWVuUszWbvQdD", "tQEPyObDZIDJmTLMomNgHZIcnayBHIVxVifBFmuXBfIpKGVehKcdCVzuMBtxwXcerlzQxvgGiQzLdDCkScmekVncvHMOFEbxCbGPBTzRyRBNWTDHMBfRwojGfmBMUmmiCNOJdHUKAOiixJAjKFRybtloEluQtkBRvTRdGlbcEbnmheSSLTsUhytACfXgxfbGQSDyzHIawGSpmrOidklsKwsKwaeoFBmAySjkOqOqGHoYNQvAPItMPzFcQNAUoxKQ", "AzgSwzTKwvlzHOtUaTOiCEtYbWXBvDYrobxEOIZnWDNMQXLHcrQxcUcmhmKGiuxDIOYiVkQKDTnrHVFSdlEEIwfmLodqTYfXIoJTyLMGCQWHLXViFopyAIwtntszGIODxkCnQilDuiLRfFWJAtKrqYPkgXFKMSsuEjildUNnUwTdpcAjcyhNiWyftgveVgQOnykTccvoaPGxdfwdklsLXuyHXRzntDutjDXSrcOgyFIhwmloGJukcszwQIuZXSnC", "HtQMWpYYrqXbZkfMOoHrmUsmIwnGfdarqfcfdTEkAIIQdMUFGAjvfUNoWxQeFphXnxjxWhYcYZtWwgZtcLjBToIoHfHWwbxvWLFKedHUFzixSpaglTQWcbSZFAERiFauSHvWHWqjrRokmBZGxPhOHygReFsgXhbUyiZoeFEfxHBFxUsVMasrWfTZzUiOKBUuAehJTGEKFzUpuVCcXzybKamrhrneZlFLsonOEQkFwyAGHztAuBFGQbSGhNgtrGNJ", "tNDIgvwDulTkLrzxngPjKQYdEZnKmZrFuwjppTxdzdcpohMRpsAWXuxsqiMdRtNIWnLrjcLetfuBjcTXbjLVdcHUYEWIoFqnLvipyXModxEPAFsecdccJSYfjHNDgXPWtulxtGFKJiPZPmRUxpcVpRPiBDqYqZEdFoQmJstATlXQWcZeLZcCRCiubsAeBaswBNKGNZtDauRzZqbxoKGrqNvwthpFQGfDmgzgbcNmoOxJrGAaoUepLjhEtgexaflb", "KbpVztrwctoeWKMVBnFdIjpNKnnvMbcmjUuMLpuTnxvFzRPOJbeLfeIVftvVQfDKgcwpHJwhKskSEzcPEDAnPPZFBgTJYakBbRovPyyfqFZPrkzTMkrkPAfVezeynbiuTvLkpWeXNBTqJHAonKIlSDmdXkSHAMiiWIlIYVfumoBLjMBpCPRFdwbYdLKFzSuhuolbUsAdHAgIvWRDCHmTAVQEhFPNiRyzsGOHjyqwgYiwjeGvYfWDwILRSylOPacY", "kKfBTYcFvTjdXDTdRLQSWMgWeyvioTMzjskLSQzvIWAAEXASkNaIkcjJLNFpHrfVreocHkNaPBswFxsfNWVTMJyOomFupDmZcLnNJFPADaryYctzKTcVkAQEVzINajPZpVfumSXBkzOFDKWXVuDjOSqphOTQcdIdrVHOFFlIoroENSIVzpdlAWjKdOesTEptrBeCwSCWRtXRKCDQvXGpEEgAvZTMeKqqPkeKgQRMQGnCNQqHJWpNjQsZBofRDZtt", "XKSUGmmGJwDElYIQKhcNMldskknyZhdchjpRwDxGmpabeVmnzTddgeVufBNEbpaAmbuOXceFKuOOVgvQcXvuskewJHnKoyGNDWWKXIChVxuHhryEvjBzdmMplzIhFmwzHJVnWbtQMqkTqZDOucCMGdfakOStkHFSpAbStoPzDcYTYbxDJFDEnddVckuwMeEsVMBGuJEphZkxFyvLMBeudsSKGBTaFgNddpdBRKxtAnvWLGNNfSaBJZhALhNfOCPV", "LzDQCmHVLVgUPPuUjuTrIzshtvHTBYdDhURZcgUAXvLQKnOVhtCwCkWQruWddlqyOComSIRWgstuKNqANOkMQsqSdCyZhkejiQnPCLJqIePKIkyhwGwxmOQvhBKCxfCXSqOVtWOLQQXOIOfdlQyMlULDlDgBbypHSNlBXBITzbwQpIEalBypOcXPXPwjdZTsPxCcNGNjbqHXbXkLEEboFgwJKyIlGplZxwsnXAkAZwecZOMtedDQhiatsYXvjfAh", "XmZNAhhVFTILbpxnJBTCCfMdkcQMnsOdEUlljHXhWNvJleQgVRCsxiHzHUpnJuJSMhrbwUJJDUvhxcycBJpcQyKEtwghXNEBNxkpqbAwTESxCbemrtQtBIagNJpsNKelKWuAJugzeqhjRKuTpwASSczyXFrApWXtrkWYzeHVIpQFsJdMArneUGeISnrZkaRwcVhpjVAGPbqBXFFCBhvEmwnySKgInPxDskXrRUiVpDeJbkfEOxlbsuFAavDTeMeJ", "fnruUxhpsYiAOeurvTHRlPBRRXXEZbWKxQOnkvxbBKkLIcsnRgeaRPFLwYycSghsOupQXPKCzSLbuQJQvXjSSwzqjybNUYZKEQnMCIOxJNIttPAkWeCwARxYrKjsfmbzuLpUINmVqlLjeSPvWkahFRdPmgMlqyfZOhuMnmOdRbjgpuvzRqKEPmddBfJWevTqbqdRoZitEzlNadWOTeFRBsZdLPTbVQAsoaCCNlHrIRhGzjPnrSynDJhCiszlrKfp", "rXqkjIuWysdycmCfMHYIBkNOLObAIbHXCsiZdqtUiTVjYqxNtZctxCBepgidZHNMrzpdoYlwMnSwHYeKUnNAXutIhzEKomDLgYnWzuXYVCEshZiASoZDWHugciWDRmmkzERBcMwwkGHIsvNhQjDaxzKKNuKjyDQasRNtFaLQLjMPjKjAePXHqeQnpLZrcdutruUjuxIQNAKfFwvyfHNYzTkIxlNjLCCQsuUebBYVkJSaNLLqouyrawzWoxvFtptW", "OteeXLhbLOtJcpxvSYrizSzBhedvTQNAnANIPPlwzjPtYkiTlayzRnyitzzAtgGtJNqHaREslrFgJhchsHhjcDofuVRnxTmZyBrvmsswqUrIYRxGqizEKOECXHuDwwzyTWYriwYgJHjSeOuHzGZrVhnnEOJORlhjAuBKJJqymtmmtFPiGzVsKsmCTgAFyCTmjbVrpmDPOfOralGvmvTjgVufnPapdTsfRwcPOFZcDhAHUUadvRIKNBXspwmPduAE", "IucxMVmvzDHzzTtnajGGOESQxKzyomLtfUObxThVxDJSHaSkDJFhFfcuhphKhUOfulmRsSFDxtrIyTPVtIdRLFmKmBMurLpdiBuRNVTXIgBxOXyiiVduqboOQAXVmdtwbvDdzCVKsnaADXpIkCRMiqevTDgvWKydWclWVzIBLTTLqNvtUsbmjNhgUKbIrLfphBMvfmknLsylXHbupBNWPhGBiFKKguWHKfadYDqYlrGYAnPDtKtheGcxSUQLYFkP", "MKbNdQakCOuZzKRbGvEpgLCGEbIOWsvsBevwMSYrCbQELldyMRDjXuiSOUNBJWmAkScvaEiDCiYSUCmGYwjCALAsyGsVxyKMZVnUQHUiFrLdEexeDJjIUxJSheUWAeyHeIWOlHBdPNOqnspgnwnwolrPTgaZAfNkkzIoOuCuGMUJKAdLkAaDtkOXjRaJARwxVfdvEuAWxIXNUBneKTzgrHzQGaqjrCNYJWStAFbiWxshCILmgmDiYqrsqviDjiud", "XtfVFAQdzQOfIdDvCNCAgRCZtaRkcJKWnSWzkpkiBvfAIobxPnPiwKGxIWKZYfgFCeaHDjnipUAaKyLdJbVfEMxkjqIIscwtgkrQVTdsCBScWlSXcwXhBaupTwXToKjKrIexZaGyrADDSyopCZsknGXaJFmFEnjpXOoCYfyRCQxbfHjRdHKLzcYxKhBTtAeKoZzLIGGxSVMyzFqxotsJxadiiMcqjntkDLtJVNfmpCzZTLUVkQTjBuzrWRfejlPK", "LqNIAcBeRBtHrJPaWzNYWxGYEwRtvfwJgPbjWGbyVXydCjDgrzvgrWOsnHsXnzIOHsWiBNOUPIiituqGOFefwtRcWsuPniXKZRbsgOjiwehStRJvDMxYeIupkZEiUueTQCkPadfjQqKCVhzmIgsDkiAGbxeGLkOPWLnWKZjdAFUpMlBRXCYGAUXMQLzkRDJeDIyCBAKNyqFGSuvuhjsdJGqTVefNGqqYKLSNAmWecrWcnLPumpldvqoassJBIuMA", "AJpgeqLQGxeqJIyvGcIDDeEOyLGpfuarLVFyYJDUEhWqxZTOVhvVLxmIxaKTMEYpwKDJIfJVmTrzqzVRAOlNIZuUNBQtmeQuTkoUedtsJMIxpPEXgPxhVeOfedNSyhUQpaLDUMBKaAPwyPIxjsUZlIAAWFYCQZHaHbbCgJlAmTlhuXvcynUBldYAZGTzJNDusyOaBTaOmCDXuVhccpOJopgYfqDWDPlgnXfibNysHIsgUoKxNOQmJWyHcPzbMMuY", "jqwpnLRUPBBdDsZWFlIpcNSZKobIbPiOrTZcGJvDTZaxGMDzSDqatklSjMHcnbYkAzajqzYypQdwgITaHAnjFNkVKNmgyWlOKwsnMhTkAaMYXurDKRhWKPeAMAhPLgRaGfNxSSAfgbhclucBglJTyELTsDvheggqITRYciaRrgMJvxdIFzYjsiAmtfCGHNrWxPygcJkGxTOgJIhVovUSdtWowSGKaalzrogVbLSejRNNCkQZAdOrecExTfNMJyTa", "xlpbrgaMTxMMYWTZSontolulKvsRaFZCJZhYTwFbSfNpdROJRmxNjDNhsIEkxTxFRCPQJCfCiyHPXbZrurCwFVmuNozjsRANKsfIjwrgJteQeaZEgaqANQLrgCuyjuuKAboyXCTjgeIPRiGACzVxXbFGKtSEDPblNIlalUPqqxNuPCeIPxTZqzXgOjyguGyzeEpbYPMBKzJtlUYQnkyNgDopmzduWLrchnBimvRMdrxudNnqLvpScJzCjZdsaQTD"],"c_map_varchar":{"c_map_varchar_1":"EUSyYjZmyutsMjaxJYeNKivTLikDsnixImeBQQFrcyoPucjmhicGDoLasoIXbSHUZrwEUttWfCAufMqYIHEHjAZEIyngbxaOgpErrQitGIHExbRWFgEUrkoKohtNhEvXEoWIfukLgwzECJZZSgVTFqlDOJSzjxVXaMtfafxwQjXuoGfLteeedxeJllePXmXLxtvOaaACrICfWHNhCZKXKturRuHvgDEmjQtjfjiPlPxxZtaDzrBNmaDJjIkCgCGR", "c_map_varchar_2":"JNdfYJDaaKOPjSKpPGmFJkItPohhraLcXNmWSDHnZZgaWIusAbxUTDspWIwPqwhvSASKVFXUCZWIPhhFVMAccVtStXIFTfonnOeTVBNCLgMcJieePGblPSmyjmvqpeoXlJJyTdammEeIhnklcKmFbxjiDiljsvjcQHUcLFFiuWSouMqJqspmegkVoOXFWkaCxOtWUOQozNQbGsuwitXCKTSQZHxJBHnaqMiLSLBWyCwKrrzrPYnDfYWXZwZuflte", "c_map_varchar_3":"bwWltUXcxpMMstEkoJbrkhdZIUbQLSvZmIzRLFRUpQlHxlthySinocLrMvIPEATsirsRJuwsLJPOCkmNCwMjvYGNAGecmpVUIwWcubnnKgUxJUzlvyUURKqxHfnzjfbgGteUwHKUMwHUxBdSlqJxrsnNgjLzqwIqdJKmwTBoqMWkwHaIsLctmDvvDBOLdaRqUqhrdNRRpXdHgpjBdZwnrhGkxzFlJXRXYMoCzqmIolmHZTFhNQjxrSbkhFrSCfWF", "c_map_varchar_4":"fesnsWTiWmwdjuUvzdCVNbxQdKRzkdxOCXOzMcfZIGKcnxEcObqwhsgPLRrKEwlbSiLoYtRfUNTkzctgDcIKXtrYxoyhJfbRIdEPoapNUZUyuhmndfTbwpdzgGucIoRlBquWupJIKTNppCMhUPltoeBQUjPCkiVUOboBqQciIQfVdhQbilcllClNYNFPILXRHDjzDCFOFqwEhshTZsEqvZxAdQEuxdicicfUNDByPTpgyqYsfVTBprXNKlsqUSEx", "c_map_varchar_5":"crUBRTqhDklKoGFXxGuyzQkXXUdBPvNOYDJsoJafJKdPzDdDpMPJmrjFbogKSqqQrUkovFWykuWqdzXXsSeMQBTWBWSjVuUhhuviwroBFSxaddUpBbgOLsIWbScGmMoTpBTXZtNvWHUEhFlUmzKpsXVXvogUiajQDoqLmqKpKdXkwALZkUkbFFnkQnxwTgJllTrBGShObUszDSbzjQWFyYbhTUIYypafdWVdkGKRtxluavYFNbaqFwmbRPUQcfNd", "c_map_varchar_6":"KVBAFaPJriKFYIkDBCYJlraVEeDNrdarASxiyEHPynNepWmIhcoMwRMSQtIpdHsseFPXxwaqxkSUeexTlgmXhOcguHCcYehyKSShcaxCLjsdkxJWsoSSpQgUwZvPVSukDJJITnFKakxioUfrZsaAqjZcjZqxBbaoprSiVhHsCSgqxTvDXjXOfEodJWCbuyPXUSNChFhfywiTxAyfMNExusYCURrcAgxdDYYqatUlrLpBvFDwTbvzgjYXhsMMTRWx", "c_map_varchar_7":"itAvVNQbjGpObHrITXqrEPNMSZuGREUZjfrdXnFIVcjzgbPowOaDukABpCXYveuYJEhhgnNCNVsILIQFzNRoShGZpmZlgCrRqupQPFTITBCYhOoZkLPhbSiUMKaVUbNnfQaHjVIbCGszoXowfbGairMjidciVisazIbAIANsXeLxsZdgaCYYsfxxyRHtHoYxgfKFmlaunbcuGNRpQASNEvACsvWUbIUdYQsTyfbrOCmPvtxWRIbNhhGjmCuBKzkh", "c_map_varchar_8":"mqUeiGPKlMTZHMLiafoHEHHutJEKKnyIBkcjpgkjSmEsLpeCNamGvmQFnEAZGLrBHQSKNcwPitkSupNJbBtMAuOuQeJkbrBsiVFYyQjVAtGOLKSNfmDMnpukJwQEgdRQpJiQnySApdduyxiDYXBESOgeNuicdfwgzJdRuRYeEZtArAnuTURcFwQTkkDKAOPWiaZMSAYksmcBkPzVZdWyCjUJZvDoSkREMhdDEGuCVWwAAJEwlmuzrtrhqtaMrNjt", "c_map_varchar_9":"UoXoCZcWgLEqSstIqOszwfGkgAGNIrztydDjNDwFpcUHMfUOsteQPgFgNcRrQLUnWszkjbfcVNsYomsKuEyZKJnngvytpIxrTYGVEJwuaMjZxmrKnvBFyXercMozaBwBGLmwgYLFtlCIlZYFzOQBTmHutBPyQJCCAolvfWBUuYMiiOayurUpurMCZXLUolwnDLVGrnnvgDMsZRBNFPDbxaRFUnIqpCKNMOyMcqOScuVTiMrzwZPbwjiaBMJjtCcq", "c_map_varchar_10":"pohBRYgeYiXExnFJoYpgCgsNCueOVHTDmrWjkJhaPjTHPHtiPQZPIYWqJhKLiahtlQaajYkFSEkDndhFSMPKUAXNbwBvuWkjhkNLiIagbnyhDPeWmeZkJzAsJMFcEWMxLPGXwXRKBzyGZcngpgmARwzIZohmgnvwVSBIzjQBdiqXGbhxbymgDHeQCzTqhiwHeKaXDlKRsfOnnZpLACsstlgsmfVvVPxGHsMcyGuiAzaFkAeomcuTPVjCCBPqecQy"},"c_map_ipv4":{"c_map_ipv4_1":"194.85.52.101", "c_map_ipv4_2":"33.215.45.93", "c_map_ipv4_3":"194.186.35.172", "c_map_ipv4_4":"248.105.131.164", "c_map_ipv4_5":"174.95.14.249", "c_map_ipv4_6":"88.95.114.116", "c_map_ipv4_7":"129.135.170.129", "c_map_ipv4_8":"249.131.165.12", "c_map_ipv4_9":"36.137.20.34", "c_map_ipv4_10":"230.70.199.205"},"c_bigint":-3202297472384091771,"c_datetime":"2015-06-11 07:49:45","c_array_smallint":[-20581, -7511, -24120, -24334, -27312, 4366, -9040, 12422, 2498, -27322, 18228, -1911, -25250, 25683, -22372, 28361, -14126, 4672, 4554, -5434, 23142, 16958, 13705, -655, 16140],"c_array_date":["2013-04-14", "2017-06-20", "2016-03-27", "2016-03-14", "2007-04-06", "2005-11-25", "2015-08-04", "2003-11-01", "2015-09-18", "2000-07-17", "2017-01-05", "2003-11-03", "2002-10-26", "2013-11-18", "2005-05-09", "2000-08-12", "2003-10-04", "2008-04-13", "2012-11-15", "2015-09-11", "2013-03-12", "2015-03-18", "2001-10-21", "2002-06-13", "2003-05-18"],"c_array_ipv6":["vgPEQoIspU", "BpqwqIOwNB", "ruwrFsgpry", "TGiGalIwyI", "VRvOuIWiWE", "TqSWHRlEPx", "eBIwhiFVhD", "psKMgtcbYQ", "mjNlGWRWSZ", "piekpuiZou", "NNLFLZMHQD", "VsYlZIvUcK", "bGfsHLMVRR", "DUrCuuYxrR", "SNFGUsfSeb", "ERoOQBhYEy", "OBCYtIzTWr", "eJZXlahTQM", "XJxfbZxWPH", "hvgWyJrugF", "LNJLfoKEaH", "bUiLSMCQVu", "BaonINRDJD", "aAUqHwYBKC", "sEJtNxGlCc"],"c_map_char":{"c_map_char_1":"RHybQOFFau", "c_map_char_2":"IxyTjSfaiu", "c_map_char_3":"BBnpPRwJav", "c_map_char_4":"DwzQmmKoEo", "c_map_char_5":"EesLgmdtqS", "c_map_char_6":"fRNbzZzLNQ", "c_map_char_7":"juEbPteGBK", "c_map_char_8":"ZDTcBAEoDA", "c_map_char_9":"xPlvETkbEQ", "c_map_char_10":"YBMgyPRFdu"},"c_map_datetime":{"c_map_datetime_1":"2005-02-10 00:07:03", "c_map_datetime_2":"2019-10-07 19:23:42", "c_map_datetime_3":"2008-08-08 22:43:55", "c_map_datetime_4":"2009-04-04 01:55:52", "c_map_datetime_5":"2002-01-01 10:49:45", "c_map_datetime_6":"2010-01-16 19:23:02", "c_map_datetime_7":"2012-04-09 06:12:42", "c_map_datetime_8":"2015-07-26 01:20:38", "c_map_datetime_9":"2019-05-05 04:47:46", "c_map_datetime_10":"2018-09-27 13:00:28"},"c_largeint":6497602088362990230,"c_json":{"uint32":2216105709,"moviename":"Dead Poets Society","verbtransitive":"entertain","nouncommon":"case","loremipsumword":"asperiores","uint64":4734318718300041738,"appname":"Moosewrite","verb":"has","farmanimal":"Duck","jobdescriptor":"Legacy","nicecolors":"MintCream"} }'),(11,true,false,-3,-85,-128,5,31007,-20744,-27824,-11071,1426024518,819239076,0,32679,-2413983853632127862,147483648,9,3673652,9223372036854775807,0,100.02,40.123,100.02,55.594746351029016,77.0463,100.02,100.02,31.0683,null,95.1605,53.0732,100.02,300.343,7.0494,12.0310,19.0416,null,300.343,100.02,40.123,null,300.343,40.123,50.0472,300.343,null,12.0360,25.1226,40.123,100.02,86.1943,100.02,{null:null, false:true, true:true},{true:null, null:null, false:null},{1:null, 127:4, -19:2, 23:-128, -36:95, 7:117, 67:0, -72:0, -128:1},{1:1, 0:127, 43:-112, -10:1, 127:-77, -24:127, -68:127},{-32768:31827, null:245, -29526:245, 0:-7504, 1817:10275, -25998:-19047, -15442:null, 31322:28519},{null:-2111, 21649:null, 32767:-32768, -11393:-24467, 9174:-32768, 7021:10022, -8324:-7826, 28169:-14106, -22010:27162},{680889554:-2014956176, 2131074328:0, 147483648:147483648, 2147483647:1928571330, -2147483648:32679, -1043401097:-1355916587, null:32679, 153965939:-1992972208},{-1212985304:-1525271672, 577072172:147483648, 0:-1852924531, 701746389:2147483647, -193206153:null, 390811681:-2147483648, 32679:-1952647480, -1523967923:-469637036},{null:300.343, -1604487584493149627:147483648, 8062207978308196245:300.343, 245:7992344511291824477, 8063985072512984762:null, 1:245, -3448409499707897434:300.343, -4439051:245},{300.343:-4879221, null:245, 147483648:null, 32679:27314, 0:245, 21200:20240803, 1:20240803},{-9223372036854775808:-9166470844778743884, -6367833854578648241:1870759509, 245:-2253116849563019835, 0:8834304838865348068, 1:-3380420, 32679:9223372036854775807, -1914745282:-1090616},{3414743715105036705:117015737, -3573666624465433954:-9223372036854775808, -8254332369595843005:1, 245:2182153902747677671, -7877430137994477985:1, 0:6689815329475968917, 32679:245, 946013716:-7012737394559062433, 1:147483648, null:null},{8.794483:null, 34.951057:300.343, 41.609993:64.82221, 100.02:95.39111, 1.0624318:null, 40.77709:100.02, 300.343:23.367525, 50.1751:54.91575},{100.02:87.769585, 40.123:88.70401, 300.343:null, 15.7399845:null, 77.801506:63.680283, 5.3352757:100.02, 54.579933:100.02, 14.381716:100.02, 63.864445:31.901388},{62.94539313836468:88.73689787747132, 37.62885331138375:13.624339784063984, 42.57153386776619:40.123, 100.02:84.83258632312233, 24.665060969072478:50.413585595245735, 16.872919212302143:76.86119231722746, 300.343:100.02, 88.17019984002293:100.02, 89.54237720916991:7.716978618484111, null:300.343},{72.73246221501003:34.681481483206035, 300.343:55.022799351395115, 19.270192321438273:87.18440860150098, 20.173731922849054:40.123, 27.086617748391806:14.301400287030551, 26.276324369701285:300.343, null:44.20686549666879, 100.02:5.9016904993695},{30.0413:'and', 83.0982:'want', 300.343:"1", 100.02:"0", null:"20240803", 34.0034:null, 36.1871:"9999-12-31 23:59:59"},{100.02:'m', null:'u', 90.1819:'n', 87.1777:"2024-07-01", 56.0651:"300.343", 100.0464:'had', 61.0654:"20240803"},{null:"2024-07-01", 20.1906:'u', 300.343:null, 40.123:"9999-12-31 23:59:59", 100.02:'w', 76.1888:'why', 49.1892:'about', 17.1183:"9999-12-31 23:59:59"},{82.0470:null, 300.343:null, 45.0778:"2024-08-03 13:08:30", 100.02:'one', 63.1559:'t', 40.123:"300.343", 49.0608:"20240803", null:null},{null:"2024-08-03 13:08:30", 55.0773:'who', 100.02:"300.343", 18.1602:null, 27.1411:'c', 100.1667:"0", 66.0319:"2024-08-03 13:08:30"},{21.0841:'v', 51.1302:null, 76.0987:"9999-12-31 23:59:59", 73.1633:'z', 59.1098:"20240803", 56.1169:"0", null:"0", 300.343:"9999-12-31 23:59:59", 100.02:"2024-08-03 13:08:30", 49.0895:"20240803"},{44.0319:'know', 41.0417:'they', 69.0030:'your', null:'it', 71.0834:'c', 100.02:"2024-07-01", 300.343:"20240803", 80.0465:"2024-07-01", 36.1472:'about'},{59.1974:'s', null:'like', 30.0545:'want', 40.123:"2024-07-01", 100.02:'could', 32.1132:null, 61.1689:"9999-12-31 23:59:59"},{300.343:"20240803", 81.1704:"0", 100.02:'n', 14.1881:'look', 75.1083:"9999-12-31 23:59:59", 97.1582:'back', 85.0873:"2024-08-03 13:08:30", 22.0508:'think'},{null:'i', 100.02:"0", 42.0531:"300.343", 300.343:"9999-12-31 23:59:59"},{24.1113:"2024-07-01", 100.02:'q', 300.343:"2024-08-03 13:08:30", 89.1658:"1", 7.0401:'of', 39.1729:'this', 79.0001:"2024-08-03 13:08:30", 40.123:'been'},{86.0139:"20240803", null:'you''re', 71.1293:'s', 20.0388:'k', 19.1754:"2024-08-03 13:08:30", 5.0407:'a', 300.343:'his', 10.0787:'good', 46.0670:'g'},{14.0717:"2024-08-03 13:08:30", 40.123:"2024-07-01", 300.343:null, 32.0487:"1", 76.1509:"20240803", 28.1157:'now', 9.0029:"9999-12-31 23:59:59", null:"2024-08-03 13:08:30"},{78.1738:"1", 100.02:"9999-12-31 23:59:59", 33.0329:'z', 94.0986:"2024-08-03 13:08:30", null:"20240803", 300.343:'if', 40.123:"1", 58.1740:"0", 52.1379:"300.343"},{'z':false, "2024-08-03 13:08:30":true, "9999-12-31 23:59:59":false, "0":null, 'could':true, 'k':true, "2024-07-01":false, 'were':null},{"2024-08-03 13:08:30":false, 'd':false, "2024-07-01":false, "20240803":null, 'z':true, 't':null, 'see':null, "300.343":null},{"2024-07-01":1, 'then':0, null:59, 'a':5, "9999-12-31 23:59:59":1, 'o':1, 't':76},{"2024-08-03 13:08:30":39, 'h':-101, 'but':1, 'look':61, "300.343":127, 'y':-128, "1":0, 'w':9, "9999-12-31 23:59:59":1},{"2024-08-03 13:08:30":26418, "9999-12-31 23:59:59":-5355, 'j':28490, "0":0, "20240803":-32768, "300.343":245, 'do':22619, 'e':-32768},{"1":-5463, "9999-12-31 23:59:59":-26432, 't':15511, 'x':9053, "2024-08-03 13:08:30":null, 's':-21730, "2024-07-01":245},{'w':-779057259, "1":-1255994004, 'yeah':0, 'e':32679, null:-2021949685, 'c':32679, 'can':-2147483648, "300.343":-2147483648, 'q':1791234280},{'q':-57522148, 'f':-1175621563, "9999-12-31 23:59:59":-1990576418, "2024-07-01":1406320268, 's':0, "1":32679, "0":-2147483648, "20240803":147483648},{null:20240803, 'well':245, "2024-08-03 13:08:30":245, 'y':147483648, "0":20240803, 'about':245, 'o':20240803},{"9999-12-31 23:59:59":245, "300.343":9043545022495566316, "0":1, 's':8, 'o':300.343, 'her':300.343, 'my':0, 'h':-1878055150523355354, 'r':null},{'all':1, "1":1, 'got':5648249, 't':-9223372036854775808, 'him':32679, "9999-12-31 23:59:59":1, 'was':2952357404911817166, null:1652297754, 'how':-8114303813342977700},{null:-9135604060764601059, "2024-07-01":-1205681038020001667, "1":245, "0":0, 'r':3582138, 'x':9223372036854775807, 'then':0, 'j':147483648},{'no':99.136795, 300.343:86.29707, 'had':48.055515, null:null, 'h':58.496933, "1":38.746178, 'v':90.91, "2024-08-03 13:08:30":16.6777, 'o':99.015},{null:40.123, "1":46.07239, 'w':58.025917, "0":40.123, 'd':64.906296, 'j':null, "2024-08-03 13:08:30":100.02, "2024-07-01":93.498985},{300.343:40.123, "20240803":300.343, "2024-08-03 13:08:30":300.343, "0":40.123, null:88.68916793386592, 'b':100.47894905382338, 'had':300.343, 'c':null, 'him':100.02},{"1":17.228566343897988, 300.343:96.05847569071005, "0":8.227386004461, 'why':300.343, "9999-12-31 23:59:59":23.985698949007528, 'good':10.882868361626361, 'i':300.343, 'think':null},{"9999-12-31 23:59:59":40.123, 'know':300.343, 'got':49.1243, null:null, "20240803":49.1943, 't':89.1243, "0":28.1116, 'why':100.02, 'not':40.123},{'h':38.0571, 300.343:90.1275, "20240803":null, 'q':40.123, 'd':40.123, 'b':51.0360, 'been':100.02, "0":null},{"2024-08-03 13:08:30":100.02, "2024-07-01":37.0306, "9999-12-31 23:59:59":40.123, 'g':300.343, 'think':null, "0":40.123, "300.343":40.123, 'w':300.343, 'k':40.123},{null:100.02, 'like':96.1742, "2024-07-01":68.0388, "2024-08-03 13:08:30":40.123, 'q':13.1805, "0":100.0594, 'this':99.1323, "1":100.02, 'for':null},{'2010-06-28':null, null:false, "2024-06-30 12:01:02":false, "2024-08-03 13:08:30":null, '2014-09-23':null, "2023-01-15 08:32:59":null},{'2008-02-13 01:49:55':null, '2006-05-04 12:01:28':false, "9999-12-31 23:59:59":true, '2015-07-06 04:35:41':null, "2014-08-12":false, null:false, '2015-05-27':null, "2024-08-03 13:08:30":true},{"2014-08-12":-28, '2018-10-02':5, '2018-05-27 09:06:01':33, "9999-12-31 23:59:59":-50, "2023-01-15 08:32:59":127, '2002-03-27':79, "2024-06-30 12:01:02":-128, "2024-08-03 13:08:30":-128, '2000-01-01':8},{'2014-10-18 01:42:55':6, "2024-06-30 12:01:02":127, '2008-11-12 16:19:12':75, "2024-08-03 13:08:30":127, "2014-08-12":null, "2023-01-15 08:32:59":4, '2001-02-02':127, '2002-06-18':1, "9999-12-31 23:59:59":62, '2011-08-22 18:11:07':127},{"2024-08-03 13:08:30":-32768, '2019-06-03':245, '2007-07-07 06:32:07':-27674, "9999-12-31 23:59:59":11494, "2014-08-12":20862, '2001-09-23':245, '2001-05-21 22:23:50':-17883, "2024-07-01":0},{"9999-12-31 23:59:59":-11739, "2023-01-15 08:32:59":-32768, "2024-08-03 13:08:30":0, '2008-07-15':-5167, "9999-12-31":0, '2015-08-20 12:55:17':null, "2024-07-01":32767, '2001-06-08 02:55:33':3679, '2004-01-14 07:27:31':-22786},{'2009-09-03 18:30:37':746871479, "2014-08-12":32679, "9999-12-31 23:59:59":-226456895, "2023-01-15 08:32:59":1667514669, "2024-06-30 12:01:02":32679, "9999-12-31":1827775677, '2006-03-22 12:25:47':null},{"2023-01-15 08:32:59":2147483647, '2003-09-20 09:34:27':28972039, '2007-05-16':0, "2024-08-03 13:08:30":null, '2010-10-08 14:09:56':-1153062895, "9999-12-31":0, "2024-06-30 12:01:02":-2147483648, '2009-04-26':1706298432},{'2001-04-20':32679, '2001-10-06':300.343, "9999-12-31 23:59:59":32679, '2014-01-20 08:49:44':7632919, '2006-03-25 06:41:52':8, '2007-11-28':2, "2023-01-15 08:32:59":300.343, '2019-07-14 06:01:55':300.343},{null:1, "9999-12-31":300.343, "2024-06-30 12:01:02":300.343, "9999-12-31 23:59:59":245, "2024-07-01":245},{'2018-10-14':32679, "2014-08-12":-2552841, "9999-12-31 23:59:59":3582768, "2024-08-03 13:08:30":147483648, '2000-10-27 21:55:33':null, "2024-06-30 12:01:02":-4460010223140422587, "2023-01-15 08:32:59":-562333738, '2018-01-24':-1079349861, "9999-12-31":245},{"2024-07-01":0, '2008-09-22':-4571879827924936770, "2024-06-30 12:01:02":-1829019389, "9999-12-31 23:59:59":-1628687504, "2023-01-15 08:32:59":1483018818, '2012-05-08':245, '2013-02-18':32679, '2016-10-15':-9223372036854775808, '2013-08-14 17:16:42':147483648},{"9999-12-31 23:59:59":52.725212, '2010-09-04 17:21:16':null, "2024-07-01":7.1896753, '2015-11-18 19:03:28':24.847637, "2024-08-03 13:08:30":null, '2006-06-09':99.40202, "9999-12-31":57.669117, "2023-01-15 08:32:59":64.16422, "2014-08-12":84.55146},{"2024-06-30 12:01:02":100.02, '2013-06-20 00:31:31':40.123, "2024-07-01":null, "2024-08-03 13:08:30":100.02, '2016-05-16 00:02:54':22.51613, '2016-02-25 07:24:57':90.81787, null:null},{'2013-03-17 12:58:06':40.123, "2023-01-15 08:32:59":38.738998839394434, '2006-09-08 08:43:57':6.368481160806358, "2024-08-03 13:08:30":11.812543420676594, null:4.6944866860470365, '2000-11-12':17.854946530305345, '2009-12-22':31.562079611847935, "2024-07-01":83.9703614421992, "2024-06-30 12:01:02":25.072038340807843},{'2007-12-22':40.123, '2004-11-18 17:09:10':null, "2024-07-01":null, "2014-08-12":23.271314468258744, '2001-05-15 23:33:18':61.05623140701061, '2014-08-25':53.54054957278356, "9999-12-31":5.4366966241671015, '2017-10-24':33.26695879299449, null:26.6420134587216},{'2008-07-04 02:06:13':11.1311, "9999-12-31":null, "2024-06-30 12:01:02":49.1764, "2024-08-03 13:08:30":null, "2014-08-12":40.123, '2012-07-24':78.1323, "9999-12-31 23:59:59":300.343, '2006-08-09 12:16:27':300.343},{"2024-08-03 13:08:30":20.0065, "2024-07-01":2.0745, "9999-12-31":84.1241, "9999-12-31 23:59:59":40.123, '2005-10-17':300.343, null:300.343, '2015-12-06':300.343, "2014-08-12":57.1783, "2024-06-30 12:01:02":300.343},{'2014-10-01':47.1065, "9999-12-31 23:59:59":300.343, "2024-06-30 12:01:02":100.02, "9999-12-31":64.1065, '2009-02-09':54.1223, "2024-07-01":null, '2018-02-19 10:40:22':null, "2014-08-12":53.1138, '2010-09-02 14:01:26':40.123},{"2024-06-30 12:01:02":40.123, "2024-07-01":100.02, "2014-08-12":40.123, "2023-01-15 08:32:59":87.1212, "9999-12-31":14.0497, "2024-08-03 13:08:30":100.02, "9999-12-31 23:59:59":40.123},{"2023-01-15 08:32:59":40.123, "2014-08-12":31.0221, "2024-06-30 12:01:02":null, '2019-06-26':40.123, "9999-12-31 23:59:59":null, null:12.1638, '2001-11-19 07:48:17':33.0403},{"9999-12-31 23:59:59":null, "2024-06-30 12:01:02":33.1659, '2005-04-27':86.1999, "9999-12-31":65.1411, "2024-08-03 13:08:30":97.0260, '2011-03-01 09:51:27':8.0593, '2013-07-28':59.0778, '2018-04-26 05:26:51':88.0843},{'2018-07-02':66.0672, '2013-09-04 01:14:00':40.123, '2001-12-18 01:42:42':300.343, "2024-08-03 13:08:30":40.123, "9999-12-31 23:59:59":84.1399, "2024-07-01":40.123, '2015-10-18 10:35:43':68.1779, "2014-08-12":77.0544, '2003-02-01 17:14:04':26.0360, null:7.0287},{"9999-12-31":66.1305, '2006-05-21':null, '2001-10-15 10:09:51':15.1921, "2014-08-12":100.02, '2017-09-08 09:35:16':99.1349, '2003-07-06':77.1456, '2014-09-03':47.0658},struct( true,1,-6891,-612759784,4851771,1551537128336161109,null,40.123,40.123,40.123,5.1353,null,100.02,26.0401,null ),struct( null,0,-32768,0,20240803,null,40.123,3.19627826822136,82.0901,100.02,null,300.343,300.343,74.0770,27.0607 ),struct( true,34,-29186,71584559,4,32679,49.993347,40.123,60.1438,100.02,100.02,47.1496,40.123,20.0461,96.0348 ),struct( false,13,0,-1882934389,300.343,7495613385978151785,null,55.63591257952885,null,56.0621,5.0858,300.343,100.02,64.0210,100.02 ),struct( true,0,null,474834821,5,32679,39.066845,36.75007946547826,300.343,37.0013,100.02,null,300.343,300.343,69.0517 ),struct( null,-128,-32768,202692389,147483648,-7038811,77.97838,13.326947126886884,300.343,null,100.02,40.123,100.02,40.123,48.1258 ),'{ "c_map_ipv4":{"c_map_ipv4_1":"26.213.56.253", "c_map_ipv4_2":"233.193.83.181", "c_map_ipv4_3":"179.69.50.168", "c_map_ipv4_4":"1.9.157.201", "c_map_ipv4_5":"237.199.221.100", "c_map_ipv4_6":"16.72.69.201", "c_map_ipv4_7":"49.251.137.199", "c_map_ipv4_8":"192.72.30.146", "c_map_ipv4_9":"77.220.224.105", "c_map_ipv4_10":"199.179.223.131"},"c_map_ipv6":{"c_map_ipv6_1":"e376:235a:3a68:de2:aa74:4c18:d3b0:a02b", "c_map_ipv6_2":"fbd0:3a37:295:c850:2218:2c50:f516:169e", "c_map_ipv6_3":"39b3:515b:94bf:44f7:119a:6e87:2f7d:7030", "c_map_ipv6_4":"1b5:ba85:577:6b3d:846:c97b:62d4:f0f1", "c_map_ipv6_5":"aedd:adc9:e89a:f1c7:873b:5bf1:5770:ed88", "c_map_ipv6_6":"bd94:cb02:6105:be86:ed75:1b5:2dd9:f178", "c_map_ipv6_7":"cfc2:57bf:d02a:daee:4bc2:765f:70be:2c01", "c_map_ipv6_8":"f1b9:5321:acb8:159a:a514:8ec3:7682:55fc", "c_map_ipv6_9":"5236:37f2:cdce:28e:e024:1a13:d9dc:9050", "c_map_ipv6_10":"d86a:cad6:56a0:664d:eb1f:897b:ddce:223d"},"c_boolean":1,"c_datetime":"2006-07-14 03:46:01","c_array_int":[-300133308, -338621568, -549022037, 716923023, -142182198, -924673758, 1715241115, 654602607, -1934743134, 340081595, 798469361, -433604396, -195955617, 38977194, -1880513717, -2035120637, 1198029295, -1121761365, -777847220, 105450034, -228649328, 1551742809, -1104713443, -1474009998, -1013724228],"c_map_int":{"c_map_int_1":-1192653815, "c_map_int_2":-553338467, "c_map_int_3":-1746430, "c_map_int_4":-1727658822, "c_map_int_5":1569807691, "c_map_int_6":-433985236, "c_map_int_7":-1382621365, "c_map_int_8":192386233, "c_map_int_9":-559098677, "c_map_int_10":-1396139325},"c_array_bigint":[-4093048496635859089, 2813598595464048402, 7502778726960550335, 1174409940724897678, -6150567441204666229, 2065429262678364441, -9042093453009839019, 4179644473130797357, -604471375355560976, 2472747622858229366, 1916136034065618417, 769890938540505923, 5278725536915251621, 4113335461343497409, 9104938097148987034, -3352566210653678957, -8266865537551240687, 5856287394429783858, -4704909951246308336, 3301398886078731398, 5746210879161521050, 84152613523700946, 4383487536736025732, 1415272947549718672, -161977649892080438],"c_array_char":["dxFevxzzTV", "ZCYHpXsjJz", "hnwuhDuPYj", "JOlFGEYWZM", "OEWMnwWxix", "HYfVIQMzYI", "UItMiyypLM", "xYQwJTTolX", "brKVGQpbdP", "ZikYMqCCmG", "tgsEqqheCl", "gxKsaDCJBF", "rANNDYyLfe", "eMRSegwKie", "ehzHyxthtR", "hVbxHSsxOl", "ZNIuLISSDX", "sdNvMeftBM", "AzdfjjrGXB", "bJYkczLumL", "QNEFwVNlDS", "qvnxdDTuzG", "UaZErqpJbU", "YkYyeytxes", "kyMjgRJzSb"],"c_map_float":{"c_map_float_1":63.303093, "c_map_float_2":52.909306, "c_map_float_3":34.47821, "c_map_float_4":65.40463, "c_map_float_5":23.052494, "c_map_float_6":70.98161, "c_map_float_7":71.63183, "c_map_float_8":88.71814, "c_map_float_9":14.039398, "c_map_float_10":62.14718},"c_map_datetime":{"c_map_datetime_1":"2010-01-02 23:20:58", "c_map_datetime_2":"2009-03-21 15:27:53", "c_map_datetime_3":"2019-01-12 18:12:01", "c_map_datetime_4":"2010-01-24 15:01:30", "c_map_datetime_5":"2017-12-17 20:51:14", "c_map_datetime_6":"2003-01-26 16:17:50", "c_map_datetime_7":"2016-10-05 12:23:52", "c_map_datetime_8":"2007-03-26 09:12:39", "c_map_datetime_9":"2012-03-07 22:47:39", "c_map_datetime_10":"2016-03-03 10:08:06"},"c_int":1874012337,"c_float":53.320873,"c_string":"UPvVSwtLBjCiajUTvEnfglpzdIKihTCNpOigCLSPQQflACyDjXdCxtUixUlFploFMxVDRTOUjXgMsQfWPsTGtugCICfELVepNuioTgjhoKJzZRPKdjVvmgFXBtSmOjVlBFAEHrtyrVGTxyizdQwPfuGfOQZhZMfZipLujaNwugZdNdHzyhwLOFPkelPHvkSkxtBxIqxyyMqFcmKWEJIowOvjyXtCvckJjsLYesapHPjKoIUEOjUVTaZQNLawcNUMfVDtkBMDFskpDKtEKnvVnuxZZMMlUMsFujvpZFyQQDCjcnKDlgIFpYHBVDpqywDWqlRDkLfThfnzxDMlekVRIhbsCdBKdmXEACvmdsqDfpactUZkmYbPVBQwRlhUUtivZjiFDoLBpgGmyzmBifrOkbfIlqZGIRioGhDJIAxyVAnkxiWlzpdJCrUCpuxKONXxaZwnrjZXuyIFRLRHuaslhTgmNbwrmIbNjpvClBELURJwhXkfyMqQdhetpmLrrfDZ","c_date":"2006-12-09","c_array_ipv6":["gsVQnbowhp", "AypgJcqWGZ", "ZOntBZCnII", "TCnRPHRVYC", "vaYBaqEExW", "nHQzHYfybH", "ZlBRMaeMNG", "PonkrjrOGQ", "ZINNiOTorz", "uEytbBydeJ", "LSzaDyjCmY", "DaDYBopqBY", "gZYEtgSpVU", "FgCIwwPUYS", "BsrkWmKtwN", "uSmQcgUxzZ", "RWieAdSiqs", "ZIpVwZSjvq", "AgJeczurwM", "aHLllJcwHi", "ioViAetYMG", "NinXTtnvPV", "ZogfyCvvvN", "uvcvWzVaUJ", "dodgOgDNLw"],"c_map_date":{"c_map_date_1":"2011-07-05", "c_map_date_2":"2012-08-18", "c_map_date_3":"2016-02-20", "c_map_date_4":"2004-09-25", "c_map_date_5":"2018-03-08", "c_map_date_6":"2004-10-17", "c_map_date_7":"2004-08-28", "c_map_date_8":"2017-08-09", "c_map_date_9":"2008-03-12", "c_map_date_10":"2009-07-06"},"c_decimal":62.0363,"c_ipv4":"106.103.4.47","c_array_float":[59.19867, 12.692661, 60.809174, 10.00178, 88.7996, 59.81161, 74.06417, 69.2774, 25.693743, 33.68646, 60.317482, 79.95813, 74.981674, 43.995796, 8.287277, 90.228065, 92.488754, 85.87243, 10.405858, 21.067175, 63.710537, 49.60121, 89.77189, 20.667637, 54.4645],"c_array_varchar":["gSgnKkqdgoYAnadUJezzRMMsWbcppAHWbEokVOmWJZmzXbMAeUAGPqXQbfQsdloHSXEDWvGukMuRbsvFoaJIcYrqTzKlTRnrrEGSDFSomLEVIJLNjPvjpnWXRfArlXAsrMdTWwiLIyENnEtRXCMuHIamVcnNbNRaBoODbOfupjOEUwBLKoFwemvOlUtFsZQnFIYbcUumtckkzZmCyyuaULiyXyOHUaLSGiAskJSDCafXoDYTTbUWqkUUXddONDfg", "BSVtWPECtcoLAeSXeHaKQhzKPlAyMslnSTmIrGdnUISGBnlkfPWlaYYveCzpmXmgicgDRyPUMPVeiLSDzRxhDjdjHelcuETitvNaVrXRMhCdviTfTOhiczALnFHRpklBwoTTcllCcVXIMWWSYaNPBiGrduzVqdChmzXpvkvuYtSZOronYdRHHayJQzhvuWZtlJwhobXHLBvdZWGJXnudDVCmycwbCXegTuumrFtNOkBzcTqNvCpXwdtesIUPueFm", "sJnBpwdjkbJSJepiBnYGdSNGunJgEgJYBcTODxNeUcDrfSWWXuwsRYHMffmHlChRwSBuxeIxYxfGFyDThncgQyKHZCgioWOcpIdSVGUzEkqXwuFODpcJmoEJhZLyQgHOheUeGpQekOjWfnMQjbXdXUsZLGXDGxPnvRfJHpbwLWveJkhtuDXElEydMuZWtZhkJdNemNEKiSOUWTuzFGPZNyDQRQTmbDMTmDFjozqdPuhWcoRyaALsZltwkCMpodHe", "qgCkiKHfcRabFNftonZJFAMiZEEfaCFvQSRppefiZfnneTISCwFtrpQOHOZslBOxjuezHJXyJASEufbMyxyiTVwLDdpYZnPOOqNWIvasUGpVYvBHKsTEkulTlGhjiMayhbYqrSEZVzFSLSwgFKjICafzJFKzvNjxGSgBxoEPShrJZzTDSNfjbFfbIyhPttiZOfusyRrdHBlHoYEMsiOUVQOZwjNlctlUOLDfKKPGfCDtuSCuhhlPtoPiCTUoIapd", "eChbQsxIpKEYveSJFpoXftuczdYpIWwVCoLzIaLiDVAboGPffVTVrsCbtVwhdlVzmNhrdNrHoOszovMGLezBqUFFYKzohCkrxoDHyNvbFyzdImgHvCgqLSspqSQlRmhPKwrHqrkAVVXkooxKwFyiYyWNqXVdukeCaEpklQvwWYPJOeyvRYSHjFqsYUXfAMWXonfYdIQgCGCrVIiAWedJUpKAcbKqzTqaakzzwthqNGVgchFJMYiyESABLrcmSuIS", "LYlVJeZYEFFWuaVXSXxmwcbbSeqJryNdaurEqSkuiCrPCsQEKiUghdexfOmYadDdIFshRYzPzrkqSuqxVQKyBwJRVELFqFIChtUchcFGefTORukJLiekzcjFZdKzXuHjZfgKdKYVEswFardrwJSlOnkIfIbcbejDXhhwSROHQHznNOhAmrHsyvCjbcYuGmvDAxAGLHZFZgULyJJULbmaHTlWclwsbEwAyECjkDPeSYGDfSmifPJBdUmiYRjVJeVb", "bfBahbRCwpVdfxsAITyPmoLEzdSwwakPFKPeQcfcCDMVMPtwpuDDRFPIAfFTNalEHxRLWWDvhVDtgkqwDeSbiuLKxuUxKlrjGIJWlDenarXOiiRopzsbFhhdhQctEYTMeedxudgmPYboQiQAsmuWmsasrtGKSqhezSiBaOowOCrPCENGkTUENnDCMzFoJAbrGkZRxFWqOIVHZYsdeDnxyJvKZvmIcABmHltVtQBVyLkHWshfTMBLZCNXPYUuKQUE", "NnvrPRYXekvxHSwQrZSWiXgyGWXHljgaopdykCteEgTEdrkUqzeYHUMbFkALCqGHWYOIUprJdHhFaVKjlWkIwuoriQUFfSllazElJAjKXgRRDLdwBNfDQNTDyPgfLVGIIhYyzXBSliVBMprpgDuqImQkdqUsFhQVWvQApRDLSGxpWpdPmRLiNwOGYzWMuUaczTdunUGNLPHgYPkoSDyhkHXabBrQibhbQDYuoeUblnlfCfgYpOjEHpvQTREvfdUr", "NKcjAANTJujIfRvAjWAKwlipcNeMPalCYLyMeRGjbzscAVTbJzYddAglZwzMqhARgJLxzrRFsFQqvLbYBCLtbUXhgNMTdcfEhFfFnqpGUvHuQqUYOWKCsaSNWNJHcAoIvMjivTShOiQaGsfAzVHFZkUwqqyXIVWCzsDaQgCslBIvHxFcWdfONJBVvwXwqVPIcbFMrLAUAiZPLBWGDmZGdDkSHeLwzfyaWjPquJpvVLPgOMEkdKyxTqRrGJmBkUlH", "XimqmxuBZOvogTHbmYkXmMmXvsPEBNHMHLptxsYBHHiTuagZwDgOrCrGhqiHDVLhVrRFsncDTlYYxXmHwVWIJRAnelLyByKyzFALDIYOjRYeniPaTWFsPsMoWOiZpzmFUNxoquUsuIPREduXCmwIuUDMxkQemqkiFlEHduRJBtiDBTNaBBxXQJQNeAikYohnKKsYIuZdASudyXSeTFQsaeBuLPiNkFIkLfkRpDQqahsMUDgJbLnclsbQRPZkPFwd", "FKszhvIYfzAoMLJFeWkYipQQFhWUvkTsWlQTchSGhDvlggEpCSXPiHtejSuOwnxMSLcsdRiKXczXHHhtktZYIhcsNDfFVfViqtuYQBZlbVqsAOsUiptMNlmzYJWheutnoFzcGcEpZVnmFRDDgFGLTNSSvApYgjysgcpHwepCwChZeWHToIYbSOuKrBjICxMwKRiozcxLOVsRSVmukeolRTlFDHZrsrlcMzwyBNSZDESzXhPAYmnuHJrHSiwglaLq", "oMVPbWXBSbcTqymxplMUWzuGsKRLfkTddSYZvmfAXYXgDKWJAWKpEnQBQPXtFTIymaXsXKwZMaVOEzAcuDzeJQFDXUWPUbqgJfGHuhZguHZfylwkAXgBRouZhaiXZrwHfLRLnXHRHzkjQZZNjupahLexASlPiGoptMVyXcToTfgccFcSFhUOLPNefovOnVUoHgGyvciZPXdbTeehZKyHgWaNGMhzrlXUyBwvdhYTqxasZtkqcEtiVhgnDXgDROeO", "atTDNdZQpXTLZdXSoBKkZEeioYXvuPuxXNKGHlPzaURJfOcJxpoaynfIRSQGqqJvwrEtTykTYKowaXSkrGJJXcdbdCInmPtYcLpFRFbPkctKYxPvpqftwrVJvKLpFjeRtoyubnVNSfiMhHgDyEPLTFKQXKoCpoEyKcAWIyZOJwUjtkZaPoVeUyMBhywJsmRWQfoMsaWnFEVKIbDaPWnhxreuKdcpFPFTbpAKnbewXLbLAifBzfvRdBJwEjwUjVPo", "ExwxBkmNIjayrmVWJKAFOHFctvbDdSCiAEGzNrrSBAZFZNctihqtQXVgjOsofIELNYjKmtWWPCmXoJDVZzeXgwySueSLNfeYtKDlOAJAukDfdrTiULRKjrFXVAwSCkqYRhhaExSYWSkhSVgdqXIXpsIzDVkAVMMRUzHrXUKEdcyCRaFAXpkFemcJnkAfZjaokmlictyCaaXEJApBkBnNpFegDxAredLeWqJpDdeeSFMUtqtrdthxFBzvbVOrgPgt", "pFtsOVSXGNhqjbkarGrIUbCMWcNPkpaoSQZxXwmGbbDAcNttgfkuUZAaDFhiSwiuHOuCRTkNeoLHzBOffYUPGzVpptHOntilAdDhPHujVZZjQVmuxKQTTShBLNqgpjPDEdEZVbNlRCHXuaLppqLpFNufeGqUKIdZasgwghpbgaDRvvdewlcZSwFdnTYYafonRXjRSBpDuURvSRiHllGWGHntPzuVsUzEgLYZGqMdCzjBqcLrjXdhzkTHmKKQZCNU", "XPKpZHHLUZuOnAYNtshzCxEuKLMxBVIkjTMiCdfCQYRfEZChDwLgIPguvsUIZxfHdvJRPENCvZgAioKOVJDYNWtUhTzBpUOfRaMsYBmcRGiqQdtuZmMYZEdfknNTjvnDvuUImkEsHvewpdqatUEOUuhFshbgWynlPlakIKWdltvprTiWiPuBpMbjEiqUzCemGFJtRQANtQAfEyGQOtYDTNPwCGdmlUbTMIZAOaIChXNdYCiAsqEplDEWECGOvPII", "EPTvPBEutWKplynhcfMyjBhHFPCTlxivFiKNCCquoiYuSJswKyIMpCOYguxmlpemasIizbkYqTqIrTVZCtAcjfeJfPDrpKhyVSRrtEFZJWsZvPYsCCqJMGqcDkdDExGnfXOeihQRPgCGkUtsppetjkkMhhdqSiGcxqDOeyQYtRXiXbDSbGUgMYTetyrIQNnlxSWaTcMQIxxgLLEiDZSdkdiioXTnicZxPwdHufhNOKOleCKztNAdqIuLsvmipLTG", "qjdeAsRSNzTFuhAEiDioQHYaXmUPkdxIpXyYXiXdrCaviaJdpILmBzgdkFfLOaameSkRLQOhwdFDZKcLgNNULHJbrxuNkWQZURbFsTOQxZmMBRIkpibvZzceRRoSgbFvUZvyImVLaueJHMpIZlZUKjPRZTXiOcPodCnFGPqdJXqXXWHrBjCHKPSpvaXbLmEdIXONRcRWtoSmuYzYyneGbeDFGNRPOXdBsDGLtciKgocaugdeIkfFQIQyfjOBBjop", "LCGIPxONCPjuWJgsumkMHOJytKqHYdfKLCAwqCeatesmVhkWnGCRsHIEdfiDZnscOcRMhPZTjubdCiMLRuSIMKDRkKdHHxgIfwvWBKSwRXnxRHceXgAmGudsIOXdyFXRfRSZXMQPeasFTIIUzvdpATpwZCNRrLnaZZirdZiMnoJJXlwpqQhQFiGevUIfxYQpWRNEXhfMJVbNcGZArWvJhPNkmczpNnxORfVmeKOgQOyvvQPOoAlvmosyvvaEQQRS", "AqECTIPXttAZDVOMeWVkbFcZRnsVIkzwrjNWiYosGHkBYJeUwJZruakJifDlRwpWnfxDQDpERvjmqqWDXyzaMBNqjhUCKwOpEDOPTzTFZVIjArFAaRGzeZvPLKywCmZYPkGVxrDeBXryUYKMRbVSuqGiRQqFcUMhjbdPmzPyfdasByWBgejJphVyeHMLnfCntxMfBNunZhdBixUntpFxxzQDAyXJcgSEnXSOyTTsjCcUUKUEElZWMckIERweKqOK", "BuWhnAjuwACXJNzvRHonsVcPNcWyZNqGyFlcKsfoiFQcjzYiGdgSVMfJyEdYdtjhvzvtDGpYBvkuRPlNzdllCRozjZISUudgufjPVyrNToraDMbcdDHZCLbmpYxYEndJmwewmsflkHlWRUxddgmriCyJElWDeTAqtuFFMgGgOnYQpOMWHCWQhWxKYIZOhqJUxptjRcumbsDKhdLrkjKaOnaDAnvdvoihDGYWcDoYuBkCXwwpFjGBXKcPtmxKsuli", "QDQbxhahEFtezNPvHhbauRsQJXtBNXWuuRLGfrAIMeQdQATYCGzciTsQPCKsAfAERganiLWprpqbiIlJpOEOXoQWVNcMEeHgmJiwKLPVblKjLuogsdoPXLCWSnoRdzaoNVsvKOrWaGwcJhiKuJcsTsRJjvQoMnblKerDwRMUEAPMbEpzCVlRTSlCZKppAmIHpzoFFutzxPakiZDZfJWtebrCHTkUYSDfhJRclMOSPVZjljwGmuDnOavPUmksmFov", "nyXvyVBQGbPAHiGHsWuoqEWhqmQFWAgBIuTdFafsekBVkkWjIbqexwqEHabNnhNGIgjEnRttqRYBKNxbhqQGEuSJPquFYZfVRVWqWeQuzPArsoeaqYcNKGowZZCiIpeVCfalmdFHdEOdjjJEJUWlAqPflbjtcZeqBPeHSeSygWxmdvOHcFdvpzZVHIeApcMiocBbWCdRtOlUtxUTeQDFiQmhqgRWkjKNlwZoEIndZIwrHSkgKSfFkXfUujAOUKkY", "YUiEMAeLeAGgYbnQFttZpVoWqaPWeWKIEzjthbPUWHjgreSksuXumepBythDWMiFrtYfILKUtRyVVlSbebsoJKWmSWRHPwJeAyQAGnyHObaXhUfyAMXHuhzjCBQKYrHvEjRzNACthKbViZMArrISwSgaVwEZDFGtcIFVdLwXKpCqpgIaObwSwQNiJuciAAmRLBDRfKgvJmjnoDdoCCZQyvFaEhJnFuRBnXTcHPjfdfXFFbOxFnIRlwKJgWbFzsPY", "IQCHIjpuLPsvfYusKUqtbuQDhgSwOhMXVmIhOSAvsZwVLlisxKKLgBmiUiipVSiWghVEsUQItvsoVMqeLwHsNhZSSmrgHLUCvEPZIfpUiyjBXUtTGBXwTkgNDnKPJvDlxTTlRPXZomGAftXffjbbQxbnLgIqzzWWrHkJKBJkIwlWdWbguRLMhgyVTnSwBLXQOsqSpFQmRpiGlZqMSiiJFmsGpdlyrISWeORYzTEShnuWmAvkBlULTkmfPESQMBQD"],"c_map_varchar":{"c_map_varchar_1":"nodvXVINGIpoScNcVscHUzrWhYcrqifCnxazTWwlQCwqlChnNbUSLfikkRIOqJjQPLEDQgAZHNIzzsKglYgVSzmAPzFUSFtxjXoBvxEXcXSMTznsMNMZcgyQLKkGWRusFvJlMOAkPGUhvLdkXvzhcBexkrwJfqwiWlHqxHgxhyxHwrTCHAgZKrhAoebFzYjzeCxmscfYRPvAxXiqmEICnqYNlvZfXRInrUvNdKVRrfhiyTTvzqIhuMClmeEjkbGd", "c_map_varchar_2":"EwoBVqoDYfMRlKqgDWlnerbPVCFYrPdalHEwGvkjTxQmPJNNBnntTDLbvtKattgFsIKQMUXqGdgkVvIWCEbhzFXrYaphrZuYChnTsHmprlKmmvqYHgLBKIwJzmcSRhFgYXWgmnFYaSSlvexrtYPcQiMsmFyNhOjJzCsuGwGnYYLgrmJBAsDaUOsbTFkhioewUlLtHpgnoJfipFOeYZwvsjbCLMVZWpHnpqvwQswOULPQvWYSlxLzAcmuqIEYjBxQ", "c_map_varchar_3":"LkGTHhAljJiAsBKQQVJPDZkjrqBAyyIVFKXNtidvqsrVkEmSWSQXGNezZANdTHELyQzYszySqpQRBGudMsQuCPDkoCaTGUNwtKYPfVMjHwWadzNTfLHZvnwNKRLkFsWfuzPutgRLfzctyyfUHKNdRexflrMsftkNEVGkgONXxeaobzeXvvSGPwcICKCUIKEuWTIKQfyqINAvkvPJFJrqqEOZCwQhaUgLcBYbzcFkqDGPYodlZdOSKfaFJlrPoXOM", "c_map_varchar_4":"uuaHpexscFFNTVDjREaqsRSofInRSPpnmBRTyfFcQTBJZXihjuptBBAIdIQKyArYzaFZiRWCzLQUNAqqFAJiDlhVivzfXDHAecFzlcTlyCpQvySzYNzcphctcJjAZHdNtKxqCoPQanAGxcjYVawOEVoSntKiZanWgJNDYfiAuIlDsCaNhueWrtismcgYGyHtDbmoSUpksEfqXptGDMOaEVTaKQWBBZTXLPifMxRCBXIZuDGRsvPBuZoyjCQgBuzR", "c_map_varchar_5":"ltsnJMrVpFpTKSoDmBJTrNWOyszqqicqYJarFWAoVekHuSuTVpFMIVIekKTEjFISCCsdqGghaetlNxVFWjDZAXNQdQtjKdNSfxPVbcXQMaUDqcLVuCcWlWVLToELCZgPQknWhUQiiZBbgJdrXGdckOCJAiDdTiWkvdxHCcZzowcPuUkJnmsdIpcKwPTYyCHYMdhPmmMVAmYuLrvFOCUAhXEsZcZwGTRSzvTscEyYXcEjFyFwVWVcHUjfkMkwwNnm", "c_map_varchar_6":"LAvTSQdWGBPgulbClACYooHwWADOEWLYbDAxIjeSLOlkBnKMrHUokpNFgPlTiFmCxDPzMkQQOJOqEhyCXepZxfSIvjubScawxrOwIzBOlAEjTiutMXBmEduAEDggofWltDzsTpiNOKHmGObaZhhoBbZbAbSRNgHcvPieQuEIGeHLAPoUygAfrIFKSovAKSgkYEECwTCEgvlVtOgRnWmBrKmymDJiJBDoGCWcSwGQhdaudWZPHLnbqeVZfuxBnXkc", "c_map_varchar_7":"qfnygCxThWIfSNyXwfUBfaJAxSHpmtccyrEKNeQOcrpOVWZEZbdqEKVTEfIwhwzIHSHbTPDbtHIOgrZyKiujgPNZsKpPQTXuJiSiXePftzmAhFLvLJcksPknBosYwKGPOOUjuCAODmCoSYorfLnRLOvGhMRXHsQPWezeqZmwsLmRklDhKiTDipMooTErHwKSJJYNrBHXPTcTBmHSNrILrWmXlTudVwvHWpVkbGbXimokvsAVeAkMCNOOQPxaqsje", "c_map_varchar_8":"UpAytcRsthHEBeKwOSsRZMQoaEJoMbscUfbPhvTcvVlzFXOkFZmpFdTcTTsqYsavZsCIFJUQkmDIvIcFRcioONHWKLqNDWAiWdvFyGboJwIyiwuQaTcDFwvnRcsMlaLHAgVZUNSvtOHRkzqTOkybcoAMfkFexOfYYYEiVnhCEeaZEjDDtUiiDhzPERqhtmTiPYApkErrGGTeUJWQoXYmcaXvfIbusSKgXZOddnAIeXsoeueFnpRiAlYWkyGPTDVN", "c_map_varchar_9":"TzYyFneuhlyPrjLBLYaifgGpMHHRYMjTuyHHRuwMVtEtskaIrccpQMuLTxeAXKQCaNMwBwOMpQFYnSZzGiJMtbOGExlqZDsfJhptMpfqprNykrcAmxxyjKQcgxnElQKClvyAtAasdFHUlRsaGOAgaXrvnTLzJBofAbeNEyJBZaovgalCGeqKHQIvcQyQwBoDlWJsGYAQpSzqSQrSpHuMVvguEMhwvLWIOHGOXNIghGVtlUuqLOwEfGYkXOPRpeck", "c_map_varchar_10":"onNLekHqnHuOhkUMTRDsLGviWUUqZEAhdrjdGbsuFBCsupHrRxWiruIQYjdnlZDLcUDaoDOxBheYYVlLNrhUWRlUsZnLzvwVgknJTqHxOWfIdGjTGEwWqTFzrViJRKpqCvdiVbUXbQuLPRfsgWcSSpbGuHWFSGAfOrHqAFYSVdxUfyFYVFZLDEjXiQozwTMlwBbVlLELWiEOhYJPRzCGmVcDQTTatFbpukyIQdByNMYxpWtiWWrXpRGSEfGgdWiQ"},"c_smallint":12468,"c_array_largeint":[4287885234707382964, -4272568544803184977, 9207488403740692503, 3985398418115306794, 2800199943690372340, 1101047693719545994, 3123541846852088140, -7843634342946358633, 5715819245882536751, 4995145818018029073, -4863096903892497236, 2182132145260139714, 3519192185374640077, -8062043049294648656, 4139343435466763621, 5799575526709941591, -3089188958913036946, 9127826546995477536, 5676590604772133574, -8376022649912106226, 900535189612054385, 5079985797695887302, 6946651270584707805, 5155690567934823199, 2020205581091218467],"c_map_double":{"c_map_double_1":98.42132423880636, "c_map_double_2":32.98531238658718, "c_map_double_3":20.544935187857536, "c_map_double_4":89.25338411317458, "c_map_double_5":54.72473205355025, "c_map_double_6":2.1175062997436487, "c_map_double_7":57.016919601745315, "c_map_double_8":99.69201755167263, "c_map_double_9":77.92833740741325, "c_map_double_10":84.28325447554259},"c_map_char":{"c_map_char_1":"uXhvlCFhXA", "c_map_char_2":"JfaoEkRJzM", "c_map_char_3":"MECMKNmuDF", "c_map_char_4":"HrTSmyyiRb", "c_map_char_5":"aZWiDAHkVd", "c_map_char_6":"cFITxIgYcx", "c_map_char_7":"GihvTidnsu", "c_map_char_8":"YOAFJzzPmu", "c_map_char_9":"gVlWLQkHNA", "c_map_char_10":"DOdNYzGmzy"},"c_map_bigint":{"c_map_bigint_1":-6809846378187028200, "c_map_bigint_2":-6143253709482276161, "c_map_bigint_3":3568927548971398987, "c_map_bigint_4":344629084025558640, "c_map_bigint_5":37129896019624175, "c_map_bigint_6":-8063581283851880817, "c_map_bigint_7":9107561759994979762, "c_map_bigint_8":-1379265892963944249, "c_map_bigint_9":-8925230090128067547, "c_map_bigint_10":5364240601435752993},"c_map_largeint":{"c_map_largeint_1":6770721970777921678, "c_map_largeint_2":-4296912589182927997, "c_map_largeint_3":-6357111072668178130, "c_map_largeint_4":-7849118765138703542, "c_map_largeint_5":8994040636420594032, "c_map_largeint_6":-2709378079473300818, "c_map_largeint_7":-3150041250318422007, "c_map_largeint_8":1924950319160179414, "c_map_largeint_9":6203147109259169762, "c_map_largeint_10":-1909310010874556505},"c_array_date":["2013-01-20", "2010-04-13", "2002-05-21", "2009-12-01", "2006-02-25", "2011-08-17", "2001-10-06", "2007-06-23", "2004-01-06", "2001-07-04", "2006-09-24", "2011-05-11", "2013-02-14", "2013-10-28", "2013-02-05", "2009-06-21", "2017-08-07", "2015-12-22", "2011-03-23", "2009-10-25", "2010-08-16", "2014-12-20", "2016-11-08", "2008-03-02", "2004-12-21"],"c_map_decimal":{"c_map_decimal_1":72.1126, "c_map_decimal_2":54.0304, "c_map_decimal_3":30.0209, "c_map_decimal_4":49.0029, "c_map_decimal_5":42.1374, "c_map_decimal_6":4.1577, "c_map_decimal_7":68.0188, "c_map_decimal_8":6.0287, "c_map_decimal_9":55.0098, "c_map_decimal_10":78.0254},"c_map_string":{"c_map_string_1":"sKgQGDNRJVQiVpzqJMoSAEbzODKCvctpyuTjadKxSPnLTmFGlgTHcgUWfBpkHvPXURoUNUGNmblNpuMbxpZKUcaJlfBPAllRFpDrPvRDleZNNQSQIqQQVQFUfDqiyjNrjtwfMHmNdPxSaAEXaxuPDhPuVTtxrgrTXjuDYqsyUmsuOosnVuArSRXsfDwhsrofDbAhXSxyZOBIZqzyMRzUxfMQWKfmvFRXWouGVuhmjnpzSETIanVPavTDczHBiLtONLpTxjjAlNWZMfIYdbYJcxdShbSbLtgZJYPDkdqRfpHIFhzDQTDMBgqUJkxGXgTOtogCHkLpgmuVMfefuTUDwTofBbQCbVdTKbYEseLlHZfKGCbHdIfXVhvoXjFromScCFznNVRpzcRQSRrTTxYebYvbeworJfWGEtgwWmHzuZSwWbuaooQVWxbLcdIkbpBNpnshKlaLzzMYMrJYlRETTVEbjtHlCYnasqDBVDYsLfeaGEaEjtGqTtewfNqkRrqQ", "c_map_string_2":"bSplGEXOiYdhceDxiiUyRpamJXDOYXEuqCcrMPgWyufqjvOeiATGjxUgmEXndzBxThAionwgaodiLFQvLrhZuowBQapVfCSHFQkcLXrOiSLLqOQtgsJzfFETmgIBMYARMcOrSNlGJWvTdKcNKUmYqLThyHShxSxrkXGzinyLodneCrBuFQoaihMifBzSEaTBphMawHraHNSLrObJPfkGvmHBLlHwlcqGLSBMktjUtXjCeNQHJzVLOPiPYHARcuHzwccuRoJWtzLvNUKrBhHrloyuLYxgZfcgsKkaxAhOLUxbysxwugeHigYMCeJaqOhBJaPUEMjGzKxJumoPpLPOQqXwIJABRBzXQykivukeXdIkWTIKSkPbopWrMXEpDnmWUtQUvpatVUxNQGeEffrZZxwVAWRBGRGvwpXIfOdeKSIYpFehQRGMsYNBLWSOIcKatNxreEHXfjKNnrOkVEDPgjeohpmzwjcGbTipmpMSljtELcNjqmkHHJPhQgROQAlP", "c_map_string_3":"AmQOMyLgPAVJddtZbleSQkAoAfQJxTfXIOpEVqosQMYxnVDvCAYkVDjAKLIrfZISRnbnPYrONEzPKrxUWtMLcXQXeNfEoTAWMjBSMgyATVWtbcemMWjQVXnHKBcuNwxRGNJjUiwBWqvMaBPCnTdmHkLpqrKRsDEycabIGoWNfkGNoBOmxzTYEJDwHFWihabVAtZNjondnySYDAhWaNaPLmoMvtrqRJaOhJbQJGZRyeuStwxiQdHeCkEPkfETGkzDpdLiZhsFyOSJbqzTGLFsoqygnxbzJbKyrTBQDWiTNXwDmFmoZBJfCxiEcNFXIhvfFZjcEyEMZodMvZsAFlOCUuAiFyxahyISKUBkGXlmfeGyaIZgSYAlcPqQROpnRWsRwNouBkJHpzXiAPpvcUVWoUzutLNHbsOTmXltvHlixAHSXQhdbRpCMZlvnhMZjUAqsEoGuIRZcYfahiuvwHLVeqPaYPUytzBuNGCWlmuhovsUSrOPimIFeWYxMJyJDGcI", "c_map_string_4":"jsatkjPGjeqICzokctpPaykTXJYkmPpkvNfUIbYMQpdNIJipAlwKaiISVAzwIXyvNfvWrPSzEbjpWlHhMyFVoOJEtwlDxaLIPGEhTAMUtymxQIRpvBBRstCZQMxbpCnBblNoFpLGufSIVbDObcZDizsjVrOkOjCaGcatLtYKaIpFfjixRIIihnBgmIRisyaiCVcXJxalzIUYtEqPUGgFXiKtiXmnILZPnoayNFPIDIHjruWMCihPkouiUZyjLYzWJONWxxVVqcdYwBwSFjGOQrWYZmqwgncPajhCCsAuZvIgttLDqRNTJqyqDmzJfqASWIihfqHkmLYAmLLudklsqdwhdUyjvJJhAPkPktmdMWvAWsleVAnHYviNvrnrQHhRPXelCMtsNCeZxZsTSBkMdiOUwrNsLhksvNZrAopwYPFJAWzPrBSHBuORFZpZcuAgnIbEyCbQQtvpCuPmfRxYoCrZRfMNDDhehXeVLhDpglUsLVGOhiyCYiujKNkXJjkc", "c_map_string_5":"gGLjcNbwjcnCUIkmbPEjqkAMkwEkSrkpKDCksKUfwTUCKOokQyMqGNmPBCzwvRJCPFqWAQMUkQitjUYlARzlahrzwriHEvhnSEkeohXrXcohcopsUQsupiaKRuYsFOBfOSmaFJJLbIIAHLQnOhgOtNrxZVSwFJxBZpNXBLnJnBPpwObrrCBVHOhgAGevhSIqRqBZPSkXahsetmsJcyddBwlVFFfLDBngJHwpatyArkhWNjUMSHEaSOlJuahwwIXUQjteDutFelxyZiYsznKNxlbTyoXfvfzYReQIfbgnWhfrykAVkMIXyruzdTsgXTGMIvkYoNxJhKvRptNxBViCZfxIxOnozwxsZvtOpKUHruQgTlqJzPxpxrVFKPqapyROvySeNQJvecxirkEuzgtVriPknncHLXAkiCwpvpjCyrSrWCqduQzfAlEGgZkOcJJdyDxdKvyKDnCMWWvDIEOBgOwMjAAyWvDEAALDFHxYLbxeXHjYjCanohCVqkqbazWF", "c_map_string_6":"nlvKfrILvkBJDaDSTqqiWFPMLTHoGSnNyMOkwpykPoWmDdgrrbKbXcDiJCPDSenleNNbZixhsqutjkMYDTqWyFesJimGhQYJMlfemcEcaUtuFdujeuhIbaVOxcFYhkfqsdfLcMntCWrauzhbfbpTjrLhrysgMCWzXKNFIzHvSJozLDlNZkbUYfRWqymFtzUIHfKNXsHNAiibUUOzUQSpcFCWLsYJLBFdmjmEyhlEDUfPYYtmnRgAbppWKKMIelOXnQusITESZHVltKTXIaxpWdhOtWBpMgAgRkWaqreTKNeUUESLfXbDFRwkgNvbzfJjLZdHtDbslmqwbBNKkwEuBEBgjJTVhjTrlXfJHKGeJPCzFiNEPedxkNkhoqXSlOznlbhttvBvkObpwMzIPBcBUQbCBmpKORHtPJwAvHPdUMSlAOuYHVvfBGsXihZTErCkLfDBcNIupTZBmqPwqZECPlFneGWUDfTqnBvGEAcWPKQDbJoKmSQqMwINIPqEhMnR", "c_map_string_7":"RbqJVCkFlrkAJdFJCTYChULUvYnqEplBMpZWwogsqcKPUhHPIcBznOiGSZvOclYSQwflLkRpWAIyWTECDraKhJqVDxQmzfEpfCydUEWmsvhjYBxNBUjNutPpePQdbckdSqmBUWkdgmxegzTaqmfbfnRKEsOHyXIuoHWxzQtKhgsZbkZyMvsLIiWTbgthsmWrNIfohLDXBDgmkZjPdvMAwpnWqFBBYcxJyQhnGRjOwemQvcuiqGusthPliUaXChPGbUuuTYBkJXXcIqTAcWuiKDjlzKMwNcysFsmFsQawSaLUMsEEkmbkkWvFdvcbEVLhNSxKPeccTOVbJbWgmmwpjwzmHbNXZDFuYvbDSrwkLssZkvDxDpJTDeTOoLDtWRxvFzXgYlziuJrebEPWVlDlrxdNYQDxwlHMYtCapwUQXGilJKIyWMTIKNxxXBTFZxXbOyvBXrOrehMbRXjpATdAimHkYlEvcLMSTIBICafqllUHdiceANvywLhWldYBUniF", "c_map_string_8":"qFQWFwybIlDvYSPErvJJuaGmXkMkLfcstNBcToYmGQZYxwXmcpPjOVkuPfHvKDttoSwlumdRjxtlEqtYbTZnpqCWtGSanVkSNFIRLUSnGOOKcGGUBOzezzZLDUdfWVPjWORPZSUiRDWoDGRtkoPvLBWaeJtFqpRdmzCefCzxXAePWrAACOMCcspLiSqluheDcMEeOLAoVLGVIIErmpxYiXNBHaqyEomZWCMcqGekCeKFAILjusuyFIXGnYzfknYytOmtCjeOITIkpPuqjuyelRcCDKEhRdXNNbjifdlCCMYoZwBYWgraVRuonxyiwWjnXvrFXhBtynMgilyuLJSiFYNhESgOcFiXPqhGXIxnYvpacjUDNcDLZDKTbaJtlYSCNizonmQWSQHGzyofymimQnNUqUtTUOdwyFAbnOtejoWQuPlVDtCgEVzGxRdxnDZgGMnnnklKAnwOjNokuSKlAonQzucdfQBIqAXueAbAqPVdZeiNOnMvyrWsiEwEiMeW", "c_map_string_9":"UzYqrKetyvMJXbHUSiVhUXhHfyNwNDPBquSiCiseYdCloCJTbZptgVJiaNWkGhpedZPdYSnpHStBgxTuopCoOyoBAHryUbhqcjxyCQhqSZtEdVRTSPeczcjfWyMjhzzBkjhoTOkvdxfcJVEyJRgzEkvfMaavTLpPPmzKpqgHYCKTzfdvjmRGSHEPYcNgHrYHMwdToSacLcCHoKQVSXRSZtVYuOfmZRDZWRbXHCVDgNMMShYwLPKJCRaTDlZMmAvrgFPIcBrnMnffbBaiwuKGuSOxJVnRifWZETWQZkRNDfPOYhOaJicWFezRcRcNdIdgvTRmFnmpSllBwgFtYABODBImcXxRJIFiueDIEktedKSghJkseNlgKepequwuxOjyrDKqqMpZxReshYlpIfnfYEcwuYggmVDmmGwnpqkDdvVBiiKwxmyzGWmaPOHCjUTRjQBnafXHrToFiMJXLWgvZagrUEKEDyLlUHvpveUPVLkuecQZbSGNspqXpnYqGTrY", "c_map_string_10":"mDTPulppbadFUWQUoDPrlPkrbxhJLlFLuNUqkoTqOsRFXKNgTsAIsXhbVtDTTRnBYhxWgBYhtVjyVvFSFlmSMqhLhQgcGEuXTAKWZjIqAsOXyOqwBrFPSRUTUshvmqgYGYwhbIKAaAahFILMiQKKFwKNyaeRSFpackvbzYUeCNnJQpxHfcpGOcqDTosTOLVEUOUPLVBfxGZUFGyzkrXghchoCViPGyrZHLSBpSCNSemEkjNuOngxFJNrYkDVOwAtOXcWrMJvwRZDiGNgEnYdbbgqTjtnSXPzPtEqNZJqFCYalqMoUXaxrHLOIoqNPVTUiaCkAiozjCojiebKOUsmvPdiDwpRECWbQEFNmmhitOkoYWxtflCDIuatkvzcUhPnlUTKisAZMfVWBVbyTRPNINtYANBUKiXOkGCeWgRlpeiPdvZqcUonnVVSwmUvAuqsXoyBVVTPBUYjxZodxLiPpAorCazWGNxEsIpKXuxCWErLzgAatayIEIyWUQMFNfKl"},"c_bigint":-5133293194837893770,"c_ipv6":"2ef9:84dc:3214:b698:1961:227a:44cf:92da","c_array_double":[16.820476156213346, 12.348562675201626, 97.97251239303048, 26.164827068292542, 72.6735762847588, 91.85208039519009, 34.89095228783086, 74.52049708388091, 89.259061888298, 35.723633276771366, 83.3721095939781, 67.41836745761404, 66.59071984159918, 33.27692293595601, 87.61125138528764, 19.594592186205627, 49.74070888202921, 98.77865262864208, 89.76310121041493, 16.810402435289053, 65.676587763753, 90.59590791104937, 16.4820043532279, 36.25881482282035, 0.9236865989467762],"c_array_string":["tOvaIKuytazLNZEwOoqeXXwSlfslNsFwVRsqYOKzMWSWQyMhRjDYmRjbdxDqgEmpdNPZwGrldVOukWfqVfhPafBLjwxSKkiZepAqrcFLGqyrOsZtijYoBgvXwXVSJDpGTkefKbvQZTrTQeVewsSZmudwJPdjrEuxLBHpFkoKbKsKeNlxNdBlYPhELiALQfVQHSfsMEhDllhJUDIzAnvSJrjIhlDsFlbzqADGarmzmYfRgLHiRoWkWlTlXfpNvgUlQWpBPRrXmHXqrBEpGJfaiytExMXQUlTPdNVpfFGLYpjQvlQWDKJsBXikRobTdkrfLAccyXyjvwKGMMpcgtUUUfVrZVsfBIaWmvkVbZTCBbKEWhGKVNdBOVbdPQtcmiAytYEiWouKCrvEwvUJKlyUNUWIGtcUoAAXESsTeFPNNCiYHseObDpVHsYxZhMoMQIsPPyUAaVPTxLiSdUqhzGdTmZUSnypElFuJdNHrSkXSxqNlCynAsNhfhBLKfrAUmxh", "LGCDepxHBOLIutPrnOkLBngGncjessgxWySJFHSaYmVnNdDwySNmoivxphhdzhEfMsGjpnvXwMGLzUGMwEjXYHEeIUOlRLoszSVPHofmndwolQeFVhZpzMXVbIKtcaoIuvtbtnxtvZlcRsNqzESbwVnuKYAKeiZdcQtgznLpjPPllHXwrxOzVHDJKxInhelXqCaBuVrEWSMyxoEqOpdNVPvowyOQixeetSSBlUhKhuUFxknsGuUeqZbMdLzFAQRlzIIPjhxFhMfQOPTSDrsZKrdRLeptpYvPFfFnVJKQvzWmJhKOCBzDuXvkSqnjuvtDSqpdEFDFAOUZKZspqYXKiyIvGPLwrMgSmTObqLyNpeLsiZqkUACwitutROOdfIUxClQxHnRYoaQwAQBGgsQPguspkleheXrUGOSRaTLAMiGKvNjEWuVZszEhkUkDCeUFngBlKyBHevrqKTUDLzfZvqlvJndifmqNzenZpHemPbsrlQJwxLOVecmRDnzohlbK", "bBoeCELkiqIaHYlfOVdsMnzkuqRiacnvwnqneRPijZWpTRwShIoMAGyNVZMMeFBsJgXzlpXVZvPQJyLeNUqXFkhprHTAfHQTlhpzRNSznXOBxhmHCNBVBbmdCMANzTdygKdWXyzhFihCiSVlqygmbonPJjCSDIALtsvCdOFuxobqIaMzcTeIsXagiQLzicteKjbefseXhUMJifmZAfhkBvzzzbnZcswcwUkPxZLvcfarFYHMQsqPevphNqBpzQUQbYHgtOmCFdzaaniOSIlxzhojiGUuorQwtUSfJBQmyHyjNHZITMaQJFCZawrLqkShBZdwDCpvkyBiaeyUBmwZRujjWZIjEPFjXQUjsoduZBaLrHdJZhlOlQKdhmjyXraVwHVylZZZsDsWelUGRMwxDXWcsLTKlpbSLLOnrAsuYIgrJHeNgSLKZwwQjNlMHgGYfmNghJvwIQzVuSGWEvJUSePWGPjqeuzcOvCZqGUPBATLToiTcZxIGAfvhxovjkzv", "QmVQvkAOGGoDJFNmNeWELutirVGrzbncTNpbSMzQezQmthLORpaSdCkrZDBbYZWCybjVFghQSxWgWgtuTqmaOWCfOeuhQmQfxyHLYHlfdYEQeMajLiivbFJBrFVfiRBOrrUpwLdsgpbuYtYmMaDRiqXQUCOoHicwGYuuXOUqowJAaaIpxmBPlzxnyceCDWmtxxICWtCzUGTSZNjhugqBnmnxhzAUryNpVjrJRkOhkVUyNWnClcHJLLEVndsgLYcxiAGsnJQEmDcYbwaxhLgaKkOniQfHSzRpMFYPeFsMadhxaRyYroKZsoKyeTYVKTgARLzxUkDCeACqrzWqvWPgurNRAalwAUDeMaBBtvquGeqGRKTfOHKgIEjCEnWaPJYzzLbzsggpAVtsJolgAriHGxyLGHaSLgqmmbHFoSIpdHZpkBZghSwAcIBlweRRKsuUipGNcJhKuEZgeriiCuLyOTCygRqYaeoMmxluTsbOOYfXCuUuinIqMLAwwKQENitR", "UsNYBGxeIxKZufICmlrwccrkQSkEYEYSkFyjLXBZNefORWTOXkKGBdIdmALnMFtkVuSMdgfELIFmZfguZEcAVlujrZmUQrVusMDuwmxnDGCgWcFAYIBEhimshnOwClBFUFGyLrMTdRkdyLNoIOioLhrtnqVRqTRZyzjzSebMGqgLPGQDNWMXwWtHvjefBFWeMVmiOhqezwuMicwDQsuSkOWeDqcSAntkorLjlxxykoRQRxDLrkmIvpuvDTcRaclNccRXyvgaYqKbPIywYJEzNgnUQpjwTNeTVOaaAPuDJITovFqvHPQOPShPfOHLfjKqMwXgWfnBgAUwiRSthuDBSYEaUzewtcwEhoGKHBICaKGWOoQqnfLuMgAJcxuuVepTIdlnQdlcEPMHYdBSpSfVpTzCcHbJqyeBdbvKEkcWzjDVGfHPGjPwgJQvXPJQftlPbPhAXbYAqiqgvCziERyPrjQbFfzzzXHRPTFwhORXTyCvWnmTXEUDwFNlfIHJJSll", "XjusrVIHIKXKxeyLdqjsukKDocDgYiaORlgNJIljwTXQlUYdilGVCiOXmOOLdWTIIuMuCkoetNZAztEdHGglaSgpGKYDFgjRHqzycqufmJQzrUOSwuBHDIcDRbvSpyHFRuiokJcAvwNKmNbVzbSCftMsPFlXeKwuNFwvJlhbjqMsHlZUwVqFZtmoTFujqeHZmWoAMsLzVJFaxShvbCEfAJVijHOTFdANTqVVEcOzaOPXHPHNHukEbvkUvjzKkpZLYyaCQXsRBTSZGjaXRaBQgnBCvjumUOqrjxVEcTuNQtRLEVMsbluAgtoMiFDvCftNIxMZfduhCaKlDQKqQigdYpFFdgcxqzuToOZUSPWEsIwkNBCwYipkTlEwzySCqjetgtJMskekuoysNfXObiEnNTHiBtvxUMAaaHeAQTgyRsdSGTmrxYBiIVVmxjxDAuvhxUyGzZGmQNUQooHddoTkuZUAyARUuyPFqgYgsCqSPbbSgHSTjiHWfwdiEdtgyOsG", "KrKLVhOverUmOEOwbYIHrPJPhRumPEaPryJRfWgbTmMvtrgdlsUlDkzbqxegMoCULgfKUSceLyDqCHOjMjaAsAJyXVIsRcZSKbklFQBAVhyeBOMgjontqaVbBkOfBpsFhnJgwNTROdltxXlKTxGIIaFKEijaDAMAMveQYEfEuqilYdrAxtJiAGNyqVCWqabKyHaNbdtXKZfQHKvxpYEjDpQtaCOYLUDHbnYiNSGGAgCjgONHWyCsYLRiLTQxeDydIKRlBXltCTIqvTrHVGljOsaPrzWZouiHwHhGiqBKtoVaqZGetdQsjmKCqEFTOScmOadmfArafYMFsTqsFjSuQRdwUaQPfudgsPLUdqqpOFkezImkXTBpznJUSuKTMIWgWuPdGJcVxpixsmyjusGjPasYnkLruYppTMSTdycNZCajaugKLBQbcjYiGlqyFmqIGFEpxKDPutGzmoQVxywOAefqGAwgugZLajbrPJoGaYhNmAYphugtKlmisVxipiJn", "rewNVUmhaDKWpUNbBRQsTJCvrZeZddzUDSwUvaIQxguKwRPmggegSQekYNyLuGGDrhPeiIKYNrcAOdMUTKCpaFOmLLmPUKmmhMZzneutpiRWvlhiERrhdjCENRnUieyCBhetvQnazsrLhMZmZwDIcZiQatqMqhOYhZQeseSOjFKLBpzBCCvCSGxUOwZhsTbomkCOjbvIbgyFwroSeXCCCgaBBcQbAOFixGUcYMOjwJCMYyutEvrVydYGCxTqfryuhfNtOPcMKhDmOwULMCaHVbJsTyJfFgYTkDONGBKDKgQxgbwSwJgIOvBfpVfrzHXuSBTkpCZcthatzfJGTdEQKqEKYvDdOyXXONwGOpsbTRxlHTJczIGqaBfYBccRNDltQVXqxXnhTDzgTgKWpPxWiMCdNEJNyUIJSKrTPYsuFUfCdVYXMmDcRqdVmAPALUIpilZObDvFSAMobFttnJQfUdEwyqQpQBWJndRyOTFfVkRaiWXvWXAjoTNsgbfNJreW", "iyxKWWGYDKBbPqGKSvQLUOoSiwpGuWFnsPYUhXcEvCcxsguspVjdyYPmIlGmdFTJvyTlUJItgjsjGGlEWxQkFYxVXYafMtnnySchqboVdmJMTdFbGnhlgSbAppUCPnFmzulXTqIrrpRICDwnDrHxhmrRWvAZSEYwbWBJLBfdyZlRhrEKtYDKsBZMJINjlSamNCmolfywWqSTLtFWexrPNNCDvdSYiUJypgfvtfzjXdaAdZUOgCqkvvaCBTLTvZWhwVtscilofAhajuRUgqswksIQycrmMyPzxljNcaUazgfXzAWnAhvULVchNcsKbecajYTPvslIGteKDOwpztAyoxFfxLBJjVOTDROczPAzfGcwEwQBRzTwNqYvtgQJHBnNLJHAEEvBSpMZIHYTcoQEuLKVVDXvjIwqziqaUxEdfJCTfTxQeAqWLTkGTcWEFaHgQsaBvwfitHQmdftRTxdOcPFAZlJGHavqRbKxZfNLvDVWkqFOcjDiJIAhYklpRMkH", "aHPWludYNOxWpqYUfzjpEHuFVIavWfyesvZrWonrfgZxOJlkRIjBzMkfFVkDNrKhdNYviCrWYrlorTDeZGbGIEIKPFQsbGwsEKZJePWngjldzHaZtmZrooeyxxgpQevJNFvfHbBHgrlsrFLmOTTsopyJUEHBGCUVjefRJOosoGwJkNiekjFPWFjgxUbqkHYnblokXquYmpDEIXztRoWBRbsrwyNIejmZlaAdgBHkclTMjZDRCwRalsvHlEjHiwDEmHjZBtjbAuXTGeHJNflzHPqvKAkZfgpkbNvxdTuGnOBrDGMkciJBwkZZGrmemoOjXPATmfwtgbvLfPaSlxYxMoYPzZXyMSwpMQgSWFmHRHJSlwADZJtVNKHDbzdvVVSharSWmyVTGoDoAtSwnMddSZNmEyqviOPZsLHfuqvAwhVifqqFJnCZfylsRmqcqxaXMDLYnLAzJwBwZxebqGrpSnAHrDfceVWEydaGPcCApHyNErYRccUngkOHTFldvdDh", "qBDwcTWqjxOKFCkekuYNtmCPOdZzdRodKLOBHpYiUgEVUQNknGPToWjuuUsyoYAhuUnCSIneMLkZehTjEtsyatUHrbmLHMbhaeqWtIWVVyuFuDwagMbmICWoniPNCalMljHWaWCZSPMGMCsEsKTJslcoZWWVCEbtItKnJrAzsKXnGZviVsYAECABzYAlRSHNWLsOEeglfhFPmaktqjHPxydbPqCmeTvuDgpUuRZtxQdXYYGaAByyhCcwFsWTzxuZXwXvusKjwRWrxftAnkvDToaEYvErcfptulvCpybBuhCwXMtCdVrXxUnAvndBcFUJLsKeHxxCAWoFlAcaSUOFDAMYvQXQmquStbtZdRQMTNvbHcirHXNsbthjOIbONJaFjzomSctMitASBnZlHIvemecOCumKCSSdrzKfYDobnyUajKshTaNTPDbHndXveZbvrbsFXKssxahPENnWHuxlKowxxkxuOSHBjWlUBjisGcHkQUvPOwnSBangyySlshpv", "nRXswLwaMvwqTqjpUDWHXXAEjwzdggOxaPHHIuBuYeQvypcaFqdwtIIfRYXppQiCuAhGMSCvohbvASPqEwuWxlUJuYzDwJpOauxDyeJnGAlkzyXNwKkNaqbMLoFnvJyCFUqhMCSHpYOIgNctZwTVAhvyFKrggfQScMnusExnSQupbIRzgyGGNZHNeDyYIoYpxPmeOSuLLqkifpdaQRPuEmwjOXRByQeCODazzIesMnpbQBHOMOzcbJbraLhTJOcADFipKmKCySvccrtpyBpjQFhNoQfAoSiaAklbaYsuHdGKSVKPbbmuGSQinbgdjjCOlHWLYUMHIWMTlITNzdHhiKhuZiSrndZqgjXndgRBFoQjeQynDWdwDUhkKflwrksjKSbzJnnhTpMIVcJdYvriIKBAZDfyjSOoJquxdUKgdqIPHvTLnmFugTHaoUDNsbKGwIqWyQSafwbYtbJYhBngpGTIMCtZuveeNGgBhpeHryZzYZvzNeXZuMJuHrXaeJJG", "ZRjslcJhVCTysPwFvrXNbYsSmuXyWKGMWeDpSZNyPuHfwkCaYItzChxAbdFeiGpjRXWrVXOCioNMhWyXIVtKOCJYZiGqkLKPFTkVNsLQtwQWykQSagRKyAXNJulmRsaZGrYAWEfkSdfcWdZOykwAFmAUyvAbpKamFdehWNDUDQTIvGuPuvcxInunMWbeYcKFYTMUXsLPdYuOsBinHGYsHmgjsOAyVXeIQSXYiFFBmOFwTzHTGmFuYMVrZbBTFcnRmHzpFIHQAzYwiBMiPxUfsCizKNZWwUFHdMSyjWyaGfQfqLRuhcNRUhNJwrPABSYrdqXPQdsJjWhWteaSqmVZoEyZBCioHNYXlkNvIJnfordVjqWGZJQCPNKuLqkLgRRTwYqmvylrJJmNWjuxNweifFFsieadZUPkumpWrVzulbAIMzOodkRECLqJODBDpCNIQRbaTnJUrEawTiBpKinHyqPRTzpUupXUtOTcsaBfpBtJfzvcOswzBrYRtpTrgYes", "WlKidAVPsUOTgarGPEiliwADNhDPeWgCbZVCVjWJeTCrcEMJplPedtRkvepyPxShSpWsYyKSQjmuGqJmTLGyBTYejyFZllBHKjfHXClIvlvoOuuSSoGrScXsGhBKlCYQhFCtakbaVgnBijPqYTCZpnqfFUSiomjCvFrChHfNNmWaVltJXLkRZPwugNnQJxeHxkmDOxWYJJUOybnfwnwBcORMhsJVeBPUvgjipYOYHoDexuEKraWzzvCcjtVNjoZvSnxPBZPkLeYAJwFdZYaFvymBfeCIgLwFeybrBJxmJHKxAMXWBmjWflZOadKpThBpgXHmZutCXrQxfpLLtfmREbeYlXQfUPKoHKOlewgNZZXTodOxdLbXWBPjDxbUutzQPHnYbtyAkPqMlxfAWQjJMVzBVlqqGGEJEfHtUwrSiWoZOzJbppVTPLDwMAHEPqEwQtnPREkSPvhvhrvbVjdKowrypQpQycdQEkQRVTMgnuanlTTLiEOMFlXBBvKkIyeL", "tMwPcvZpDFIGNAqnnYWHRUDcmJgITOkbEEBlVqjJNuuClnWpIuNSxUuxjgmiHBaoWSwyqaRBxwROpVSVyXUXEfspqtEzeoGpyqkHplGVRjtlTqIoBnEItsLcOIuDujKZRpOFBTsmkDfKrdaIyQGDjTodgBqSMSbfmTiXSEAFxvWdLpZrnHolkhmcNzlFUBthXksbQKdkONKhpahzzCqQPrfFWLCBKgdjvMJkwIYtqLJDKIKIxbeHxQgIHrksMfZAfxOtMSLzTqYcHEGsBzlRAVPzcegjzddAexhqbalvwljNkYyNWpeGNCTCwKSUqHBTdAhtYuTtQtqicVAUZYrqlQQuHWZyhneZpEPWMGJvVUHKIAUchOoZzKWpinKjNGbZRqawumdCzMzclInYByWSRAAgrGXhANGnWpsrlIcfRDzGuSqgsHyCufpEYIkIQilcVKpnbKVDAHoLlVehiDJpOUgBCgdDKQVplQSxOBhGXiEtqmvZldKufXKwuWgWiUmq", "egxvaUUmQMJrAlGFvBlFQFzkFPylbMkUpxwHyfwXPmHjgkzrukoFKJkODYFeleABXYrJCOjUkpMcAXkUWuepqwRoACGdZZiHaUuwTbvTUlgliIKPgaRrTwPDJTYVrgQXyiRPGIXyjXtJcqnwASEcYvWKPvjXTKTqbWkkCEkAiFFtiSBBeJaPcNODZshsuIvWDCzpPrvGydYVIXmrwukMqvmXJNsfsOpLCPhFhgrgVCNLHUnNDXuZEGRkIENPtYipLlmxxBDAYhFjTvRHdguCykBosEwlBqaRonGXtIdCUYDABUrvIwXDjFrtjalvpTtKJTwlGNVLrOCAVBNliqpZTPJvPdzWCeOBiMtUvpRgDbfKZnsPnpYtnTEwBTEsfzyVYYPxFwhOHmhSKpbgDnxriCADGsstQcXVKYgRDDvNADmnoLKKsMymSGyqMkUKwvpDNbvRCujlKkcbUoWxKATfSohfwfWnjWXGZaufYWePuuANpYExmCMxmfbdqIdRWicN", "nnrpEluOzIWKJtihoMyJIOBGEHXFAECzIVgKsIzxJBVyPNsHXHbftxzeFdwtiyVcfdpzlZXZYgZmdWmGFVOMOYnAfDyXqcJAxPykJBXKtPhDvpvBijUIWebmKMXfQlFeslVKAHdKQCOxmaethRnXQmXELhqGEYmbpzADgwvysJKZZNkLuKrwQISOcVTAouKnUICKLpmXZUhkFhjliAUIzDkSPKSUkDCZHcaIYpjUZryIQXRaAbTbewvgSfbxofnrzdWTwJqVjOocZFzcKCnTfLlJIrDlHPLAkuMRhwGkpZMlCgoeVgxXmZWNIMdZGtrRWNPfGFmEfTffYdHKamzAyYtOyqePBGbqoninuXdAiVywsCJCTaHsSvPIesJxrZYKizYLpskHZbKXrTHPZUABraFsFBGDzpgdPDQSFKmqNSJVgNkCqZrIoQdGtGLYvMoAbdoRbIbbCCkEGKhliJCSsGtKmcJQgTzOoOHLemLfmiUOqeObsYDoDEyPyzVHIeZh", "pfIxaKEibeQKRSEZMJXNZGvwgoqKRVGztuAjZePShOsbFEfKkyJaZuLDhLOgmGUuZiHMQoNzyUBsyQlDDzNErLAePVolLsEFlHgZNSvaEgcaULBtgisnxhYyLgvSdzjvXFQNZeAgoqxjGqEcogEejLjjpWkmbaiAmnWCAxHSZlYZIrdSuCptAFBpnVxlvDLRjGuFoSrksmRtxvHTIySVUrOBOiakGZyYAZqdJswGbKhNiNDkDtLdatIFFPNDqDQilkEmMWXHjKaYwrTJihNgCOSYkJRnOZLEjKPRCGIagobRsjkAzWYpDmYBdWZpAsEtlfMJYxKRnngZMwqDaerkBlSRonitYjTCwMBEXUFxcSkWCTnEgrEwajJpAAeVIZJpRoLigVaEOyTMHZCQlxHXtprlKSZDhPHhYHvIbbeHLuyVqKDisZEMRNZJWQTuIaCREssmAkdiHyKcVFAmwdLBLvjmGAjbCsnqUWgMOhlWEDYQIGkOnSqylANNegvTwcJN", "nAnddVoTzTplizziIeYwLhSWhOIGrJUswpVCPKHzChodLFsuKFwsTwOqJcHlgxfoHLcQgvnLZCraJpfFNilvGndOcrULFsmXLjPIkdsiezXGgxWRGrrlHoaLZTuJXIhdnUeqlLkMJTUeFJKdJQelMnMbqpcFEoaCIXcNpTkLjpSEMPWqsHnWZNQVsQrrAZaaSkGFlHvXHeJxrVUZAKYevRvEgFgNcyaIgtyykyTRfHkJPYyPtAgXutnRRtEboVFiBSSRiSrwFCqXgUMJyABGRCnlpwPMYhKjoEwnEuAPchPIiKWtIZKxpyOZDHNEcUFiajHAWYBjnkYvfYwXkNAXHSNhMfqRoYJYkAbWePvnVtAKxVdddOSTiZyokpGPyHjovTmSrBwzQwfTovrxrWKAvkttmYwZcleLPjUldGVHWkXqIDNeZOoiMSSytrzcgaXQpoEAEAcBocBbhAGIsjJWhIjaVRqIHVWYywtMArqNsUdeRtbemIpuVBsZjjQpYxOL", "WSjHnrqhrrqYSpWbHADoAmrUQRlMIHxbGdYqYlGzCzPpSDFozwEWTObGbCWQvpEsIEMlYvXabmowOPrdGcQiebUqGfJIOfzLjeiJibXvXiCHZSJPDQrdcPWJHnpOIESoCGHXDaQvbPXAeWeQXPEaLtIhXmKdxKmBwcoMlyJiePvhzsqPJsbxiWforpTRSTdoRMKptptWMhNAPCmCIqgDVHXYadiaozgyoPTJKLRwdBvaBDWJEWAlqRPMEbZZoegvbTdjYbltIsrsBWEKZXHsftLuMQGJEdcwrTSwCfQpucMWUGLPzbmDRFPdGSEALMBGxwUByxEbqCyclpwgSskshHEaYOOtEExpcCbaFNIlgHZeMfYcCzzSuvKedXrfPBCLbtcsyVXtvxWIyjcEonUZAXJtBVjLvDeSzDDKNJsBOuoglyfzYnxcdwtYMBOkxwMVGIlIPoEUAiptEURcFpGxOJkvIMbZMKFuhPisJqIGEqIwVxPCFKbpgcSKFNKVPTKu", "MWUzLLPSpokXIdUSAeZtROioIGDspnVipWumpZpVcjOLZhpldvqDAKpTfFATpVFLpykobrZuxQYYjRqdMWPGtYPwHhqLoxjyebpJgvxgxjWqqdaFGVyHhiTmXcGPTeCAwYFWacsHrECKVKnYfIeNXENcmrcrXIaXUymBTvRvVLemqOsKvoIBwGVIoqFnEThWrOsgwkGnAJIPFasZYHmKSxCIHuSunzGPRSeIKOlCelRuPnwzmeafAhoUIxooxnzvMUhoqVdnnJpasXGclTZlBTqpNaWqRyFiRSLJyQHZFIygTMGFgnBztyIzUQgarcIZJZKutZMaUfcCOHhbwkENNMtqwcNqYroAwCqNxbOMswqRtRVZenbuMMCGYqWDrZuYiScsLHncQELDwqnpLQJKqiMfAsDFKndlGkRFEHsRIpYBKXBIShXwcTxIqwWoEbolPRzRdPzGMtRMTriXZpDatKBVNZycRAQzlmnXJpvQJgisxjLhDRMaPmTiUeYNciYW", "PDOOxZskOtTvRgVVwIUBKLknLVtEXOoRBEKWVNrcIFHfbErhkkbwbXgLZBMlijJRzmhGutCUYLsbgzAXyvWWrNICkLaJguYfOlPsmgLAbLEXHGgIlhqngXNbxtfdbiPjszjLFBxcpSGXSjSoWmkwAItgRRgdOWUFctUElwcGAeamvcCeQwsjRPItteEowQPLwKseOaldOHbwwbnKBqbZuSxaBgymSXkqYKDYyvjktKgQxCauyqVFinYTPfSJEbvjUYdfkQZHIkkLyjcSnOLpKlgvGwdTIuttlSPPyuIjShJRsfHgfluEJHBfCvVmVqmtfEcBRjwGuEfLYQrXPgbpVUnoSGnSGWQbqbtCFGrMfHEzQcYkFZdPvoheJgfqlpeKhULsbaGHeabcGAxHbknuCoWOgzyHZXcdlxbagBOxNkPPZAvXNeuKwitZWksAiYXyjkITvFNVTVTkerVUgPKTAFjabIbpEgxDSBmSjavuBpCMRXdPZTNMNqmOIHdvMIjB", "rESTHeZCUCdJtlwiwMMcdsCNgLjPCdDRmaSlvastZcZJXeFyBnCJWbkkazdSxaJXxEvaUflsXJusnQKVUJgNUDsmbRLXGOQgUvhDWyNwTxAAYdILJqiOqNiqRUrWXwJjyGwSKHJNuPsGqZitizCrTEiUFYaMRyvVClIDSCsPYoPcSNvDKaBecfxzsTxyFGznihRRTCGrEfLrBWwhZXGzqetSVAMZsuNkjctjEIbBsUqdKKXZyqWPhAdlcjvkXNVrgzeOtpbyRlGMIoBZGcTrDwyijewqGIjDKloruMgKXOclHRcQZGkNXqhNcCKDrzrYowcVMMGppbVhldONgnaoDArTuQtVuiXNrlbEzpsYCmpocBeXqOtCczEGqtijqOedCSgfLeItiyeTMfjAMeIJAPhcewlUTokXWTkLCjHHKOzUkiMyOPDcjbNoWNDBtBTCbVEvSTGpsUVPwbViOenkmTXFnUOpWrkpTgMPriTiZTBywyxJKAqgvSKMhaKCuled", "WAqYPWvBLDGYGikGgqjXGDhNracOfwaWnvRuACjvYmbWbfSIFdKfvFznRCJTAyXdaxVZMoqJEVfhSKfKmJhiyItUEilEaHghJOpUnjCcUuOQaflBazqMIzQPDIuWcKWHgwqyaUNgDabbnqdGOpncjHuLMYljnapmzSJJjUeSKRsdZoKZZieDhfnvKFUInDJJUvMenevGiwDVrFCKbkmlohpRXoSmpGHUXkSRdBmWrDCltwaJLIoTiTuWSEsTBlyFHBqerjoTgkBRmJQtMjIFkqOUcJxvBlvXTJNnvesxRofdDPVFDDTxUQvIxOmXhdYBoqdfgFCdVixNovzNMVsJFShbROSvWVDnfeuxzgTjGvNOxdloUgLwUagjsWdiXqpKKWqRNfruPWYfLSHxEBDwnBdiRwbLwFKchfbmsgHJXmCZQwLMTkuQdxvFuXKTcEZkxlklXISymFdkAnVgEdusfZiRQzxpAwliTIHnmuXdxPWewSkCTGeYIvlMAZTXIrTU", "OdaPyDUCVVHZcUdqqSDNvRPFCoERoylzbGqsFkfuoRfkwRCFhYgqVTKoUvKbVSQTDiPULxqBQBrCfZcsrgofKRgOogCZBlLAyShEjXFNjvMWuRyyXyvBorURfGwXCWjqbxbiSkKDqvIbHbYCOkeOUMFVsnYQkhHpojILvXaNMmgjBXqgWbbxjSJGdEAaLvyvmVHgqMHOxSCBIzXsvZJrGCuHmFgzUAwnmHIRrRgMTSErnCXoAXNSaPuYOFsCsxRZRKLZrWUCJVKxBBrWzjyWbKdFWcWbikYcjQAHUtvwnGNGHEnfXEZdHLocyTbnwhrwFLqOVrApxOXyuakOktYQRegcjLFsLwkGAddNQmyIUdylBcGPDIxRSWvzPfxXwBGBPyfbbDwDGqCqJbQmcmrnRAcVUDdTksXSERRCtqqFrATRpmTocwQaEVXovgozNkxKCTRAePtRjOPBBjSxzCfhRIInvSDDGRpnqYRBrUbtMEruYwXHUlULkdHFpmSnohuL"],"c_double":3.727607000113845,"c_array_tinyint":[67, -50, 3, -32, 120, -69, -109, -110, -22, -124, -41, -89, 96, 22, -86, -88, 46, 39, -82, -44, -24, 94, 48, 92, 9],"c_array_boolean":[0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1],"c_array_smallint":[-30920, -22286, 11481, 14323, 19877, 17509, -32197, -32350, 11042, -19366, -31839, 8699, -2457, 17591, 23979, 21804, 19819, -17857, -22809, -3093, -31100, -19308, 30933, -19240, -25543],"c_array_decimal":[82.1137, 51.1871, 28.1247, 57.0483, 68.1773, 81.0029, 44.0131, 33.0377, 25.0013, 43.0662, 52.1428, 79.0692, 45.1905, 14.0898, 15.1619, 63.0701, 45.0512, 91.1995, 67.1452, 100.1488, 67.0063, 28.0546, 40.0631, 68.1793, 36.1012],"c_array_datetime":["2014-02-27 20:51:30", "2016-02-04 00:48:41", "2010-06-02 05:58:37", "2014-12-22 05:41:19", "2003-04-23 14:19:30", "2002-07-24 11:40:05", "2000-07-03 03:20:47", "2006-06-23 07:08:35", "2004-08-27 19:19:27", "2008-03-04 00:06:11", "2000-12-20 06:07:24", "2005-08-23 03:05:23", "2019-04-25 19:19:47", "2008-09-14 12:16:39", "2007-07-09 09:06:15", "2004-08-13 00:34:38", "2018-07-06 13:49:05", "2005-11-12 17:32:34", "2015-01-09 02:35:03", "2018-01-08 05:25:17", "2010-12-05 19:28:55", "2015-04-07 23:39:10", "2017-06-24 04:03:13", "2015-11-13 09:31:20", "2000-10-11 14:01:57"],"c_tinyint":-4,"c_largeint":-835186453503106139,"c_char":"bwomdYyKRT","c_varchar":"his","c_array_ipv4":["LoEFoAwOde", "ShRKftNxYv", "TzuLkCSYVc", "LKQEKBSLLM", "ZVFpkttogc", "NpJeoaiADL", "AocYAFcsTt", "mfAPzNFqaB", "URihYslaKK", "oDLloyBOmi", "YRdAKlGCbh", "SohVSKpdpE", "UFVXJXzHIW", "FjiudPMaVC", "EupKJsHGVn", "zhhncBJEFD", "AAtKlghmeJ", "RGbpzCEEsf", "kDhGRitvzz", "lClTCRkbut", "FWmnxGtTeW", "XgoPjUneGW", "KzFLAkstvt", "TFVwyVUGNH", "yiFfkeFgIg"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":-44, "c_map_tinyint_2":-7, "c_map_tinyint_3":34, "c_map_tinyint_4":29, "c_map_tinyint_5":-89, "c_map_tinyint_6":-36, "c_map_tinyint_7":94, "c_map_tinyint_8":4, "c_map_tinyint_9":-39, "c_map_tinyint_10":97},"c_map_smallint":{"c_map_smallint_1":-18601, "c_map_smallint_2":14478, "c_map_smallint_3":-25371, "c_map_smallint_4":14162, "c_map_smallint_5":-5996, "c_map_smallint_6":30219, "c_map_smallint_7":-11963, "c_map_smallint_8":-25296, "c_map_smallint_9":-17770, "c_map_smallint_10":-192},"c_json":{"pronounpersonal":"he"} }','{ "c_datetime":"2008-09-14 13:58:30","c_array_bigint":[-9050269569235235414, 6626480787042542208, -7696602898535086466, -130106609151555473, 2991418542860092817, 7997434958127136311, -306808964060027162, 3653717815483815248, -5997470936119034380, 8555416732269243311, 6140199479663665559, -8630249952326325118, -7987521243269473528, 2987568556833174131, -1292388705552005526, 3222516686751935885, 6257347377459775392, 2134816952784503253, 7656160767183521571, 8672945823077292775, -5469417428260928160, -605573069045433700, -5381983864484418488, -6154669624386838926, -4087404976470242888],"c_array_varchar":["VMyVeewJhzqQagZkFkfmFsJIRNqMsHalEcbARKweGNlKBpjmNPJyxSrBWYvtbXPccIkgihFATRzJAvRAWQTSohbYBgGDLEmahUsWTHehwjuYhrbIojuiXoTTKwNkEpfZmPSdsPVsBgKkLPZnSBHzPHxOYWVGdWsrzZhBUbFKqVDodrohCexYLHNxBbBssoNbGkjsILxVXFrzXOtHpqtdbEHNOaqCYfzwFjmPBbrxaROfppEXXUsFsDGpqqeUIbzp", "yWHKrrOVOBdaNQrmOBQdBMumsjYwVDFDeHZsvbePvOAJCHSyAWJcpNqpLljPbpvYJKtIsAzZckISYjNpmupgtwvvNEDuVgmUQcDvTVFebgGlXIDJEmaloFHKvgsunHluKuGoDHPVYdzOuZRaEJnGkSRcLJraBoldxdbbJZSUQsgnMIyyWjtIMYvKYVEDFxOZovLSBjgnJsoUKXVbmbeeieEgDHDXqSQMDuuEmQIPiZRRYlhvcvkHjBwZKQHygrog", "FyCmEvcOZlKnWoMNwMeREYxirgBYlWadFDKXAzlnWqhhGgvkpeCAUxdzrbEYKokaAfVCiIpruoyTallwkOsrODabYzZwuSrMOjGbqGJDdyELwvVLLZxkfkygSxBmSnJYbMCkgUuQQSOtBmegoLWkTERbHRevZJaLpQgFyqFrMCPImHWZBOFjpfKzjPtlbtrxanRFyCEiypfJGuzqPverRJbepBhCVPVUANIovxNHsdUIygJLyDdxlliHwHAIbQpf", "PmFeCdrZyRvNGuDWztvpKXBtiguoDzHyHIGJmZzVTfPOsRvSQYKJypdIoyWMUGHisuPFDZYJaMuUQGTbkQRfsePlGdmQVXVngsVlDeIydUgxJJPnJZzTgXjtGUHOnlGQMdGwvkUXpVePbRURBJXhvTEdEvSSeAUtaFYePvHMJPqVIetBSdfAlBYwzyJrEbxCbSTHeuoUTyJeAbOwXczNTHinrZuqtnHgnVOrkONZQNjszQicumrQwGoxoStEBNCu", "GvENhYOfUZaMwKPmsZjXHIRuEERePuVtCgDTEtiDPgptDZDuLrLOpmknGxPkYxhQZvWjuOaHQAGxSeCOOHaXaNFPQTOPxxzeRxBfaRAXNKEyaCTaLiRMDbkISHoGQuTCAmozBalYEWswGnPUKZfRADBTInggzESgNfIOBIYeMBXdwMRdmPmQyjzWFmmrHkBrkNwhmqZkLHOoxKdQLyrbLEAAjtRnEIdtpngwSmLBbMUzclMmpERmsWCxRSRfedsI", "dXIBblVcgygMHZiHzqDcOMSebHgeKupTlYTlMMCUftrYzfCYOfOqYBfOjAbJGVtrrdVDfCoFgqgKGWGEwuzToUjUIlXkWDmWIeWvbzrRpRgzVtbBgfHawfEAIoquyixWbpZzaBfKkDQpibyIhElLlrkuAnCoradruqpkXNIeDGaVExkMmAwcDhaQqKtVAMAUcAIkWZKsUgsEWDgtHeWcDnkxtwDGQGtGEaVjesstOPXfqWBOZTVyssNeNGWCSglq", "ssPdAdaMCTHcSszHRHHFmknauTgsiKeCpCAqYHjZEaNKyRgoyCYUpzEbovlrJhUgojOFmBiZnNnYZApqbDXdZUmIvILoxRnakDonwwzkPjtQRisikrjyCzaMVQuPhTvrpegqbrJsfykjpAaAbRUiizUmYydKCUMnjVRUGlkEzZsuhhkctQiOqTUuogosURAIodUbDBFOvqHqKwgkjZTJhgIBJGvFCUvKUBXAMrzIUUDIgvPQDNtrqLZcEkjVLvNA", "ArwWmITAjWShskZXnnenUqzuAYvpGVQnulJbZAKSYahVuLhISnchfMbCQvCsXGMvZipXiMCfBnqfcbByDkBKMfvZKfslOmgWRzCEvPUgXXdnqOQbqVngmgowPdBjcSLjVZZHAULLJAiQBKctZlVbAbgmYEwlsGaVGPgSYtSxixWlkFyPNNwcFOAgfigGGmEOLIMwIWMcmbnAqidxZcGweIlIHheSBJZaxdtsjEvttVHTWpQbveSsaPhxEGjdCjQW", "AUjjRbTaJGaxYdSFynDVcFpJamIdvgdaVKaxGYAcbPwvXwZfWmIhqacuDoHVrCATsvaMbIwNMrdgBscSScEghFpShzXEKERxJZcSrvwgOgOaxVrcCdfEXelNMDDHaptdQZFFfGhgEMePkdQHrzAfosSBMkMZqXtpjPhpqWfVUWOXehkuLaivJUJKDePzkZpsdQrdGBDFUNBkDrkJfPNupPPjotptlNucTlGdhSJsPQdMhdIVoovtQYrCaDpxwZTw", "eAtQYmFsCbhakhcDidlbDGMGWZyrjkOGkeyEctsjhyGXAujYsYlSzxzrEKXKtUquJdiVLUKZjPBuCiCVCYieEKMzkgpnpfiNMvIHnJnbieXxYKIMuymCpvgKHhSgJtpmvrbyixqQopZVgrzBqCCXACcsgePQkitVJYjpDKcrmViiRuvAYMBPmMCofWvlvZYYzxvGViOmrksgonoIXgTDcApiMgPctzTxEzVnfYevHyOIkwnTEsVcwKqOWozkroqF", "ZBRINgbpxyJhfpLXJrSLoSFTQTYZentgFXeqXowuDxlJNizYhYSvGQjKFrYzPYgIUVeTGfZFWcPHKgyqPHwCQMxFOqFkKCPDTPyYDBXiPOXEArQJqMuatTFlXjiIqtMZeSAXwWBcFYISzyJZGMZCMqNDhcUoZhWlXgiFpDqIHwnOBpDKjiUCiqYTYaIfOsQIAysXqJqKhVYDuuHRZXlArIuOWqWeKlYiaXqfkNNWLzULJAqXHEwdbjWDkgEcHiHc", "BhHGDyfigPhTDRonUXhxIgfkcOBhwtQttwaYQrlPlDFfwGlZGMkMeVTlIuUZirHMYLRgjYQNffDzcGjvzMWrygTQolImkETjFnFGbMHTVYyloYIrNNtpqcvrRahREvhzmGtIIDtszbYNTwysjxRzuGLzurybedALogGpOxxxRJLPaHkwswbCBbXnKZXmCeIdndLqCVjodDYQtAvBsrktAggeTxaRvMXVDmfclwuAJuTUgHaZpMtWXNSjOOcRCrUp", "RSsMgautfCjdwgKbfEyXgYPIeLxzyoOQeGKCbVqAAfwAfhQYkWrRBPUKelaboSRRziQtfMwtZbhOreDelIohFnmPPtQSwfIztatnnhgZMFebeHlrFNcFRCiYAjGiKXRwwcuMFbjmRQGFFRtypUiTysJeluUtWgnavyJVDQaZwVTfTTdKWcImAcfXLnYXviQfUeKXKwsGCyAeBrruoKHUUqoNiTQxgmQZOInXwvbbmVCPdzlFcBsfmPMPdUKsRdPk", "uExRzVXfpmZwMNkORigpIslKUSNcbydNsQJZSWdSUGtbylgocNgFcsvSDiWQQzChLTpNRPlbIfRPJYOzQbQOiORdtUQbUnaHCEgPApRyXzmStszxMEaAMWWREStKTydvaCJaprGFaWAbHyZoiJXnkadZcXHKotUVJNzuMSTNHDQTdYUxVKZgNNMAhIUtTNFDlBBLUtvAKIUjeLdDkvvjEwWHrlZLJmqSOBokIzRNsKCJuogXAyeBisOHyRhUTRZn", "qDwZKJxcorlRKJMmmaJqxpDNrjJpJAdWjMAYLtMRyjUBdtyILBTUSzAoJwPawjtGuPntkKhwmxccciIMIyWqqbCybstErTepSHqQInJELtpvoMSrlPFjjQVCtfkEDOMOOTJVnKNNYTyyjdFKPgkDrMJZeObIKKbkhQLECUjBkZqfjpBWCqXkqZBHwEshhFYVjrcEOoEaowCutpdCFJqBPXxdGRHVBaCkIxWYUOOzQLgSsAoJmmnYlqGSteudSncP", "OGAYFwMDVkNLCFIMjSSQrGsCQEiSOIKNGnLnpaztfMCxlRIqxNRsdYzPnsneKBkuXgtAgbZMvnDXJZjZkhsPxaYeFTARAhwcDJspENMBpswFnxoGiUlhwaDsvbJrTHPyplsuepBIEcNIkTXgjZXCQhIksIPhrpONTcCFeFEgGENXVrmXlCnrzacnUbRVZaKADUSCJxEOabNcAhHFvRoJseNFJLZumMRzptxpQIDpbJqyJOgFGRFUZfhaSDzHQHKG", "hTEWOgyOzQHibJBnZWCnGBJFRUWsQYVRFUqIyOsYXpbHkbrAismQBGnscKEaNkpgHVeDYEdOdfRaQDlPiVDXLFCdXszkPWwBqfxuKEFeEbciQihWoHpyBXrTxRBbVLxhbKJWIlhFDLfRXpKtjainXtDqcvbUVFcSFiugVkbSJaKfjveKJAIKvcqqiJvvPPysOcqUTIBIJmmyDNxaFMkKZBeRmkDqOflrhxMTntxZAKEpEfaGrdnrjSeziFdwamrL", "tegBHSbSrfSzqXrBejqldkuzNygKvdhyduWmprYKeuCPgrjQVjaRTNwdQhNGCGPbEXZWLeuGPcXcqXWCoaZVeIEtdXfxTWoXXcLkCuEFIOFGzAbWZXQhqaNHHUhnHihsFsLTUjNANQUvjdlaIWFrKwTYtwLOMtzhNfsZvoXizWGMHcUDmBhOuXQPRHaKpLLRfQhDgHXhHrdVpakhDJVoZGAiBVJxspdiFmYqOwSgwNFyXGnQCWvLQJvYwEiyhSyg", "ZZOFBNGpndbkBakXmysFxdooZYThOkWKfTdXEyVTiSfZdvEoijQfVasNVbTtezTKlKOnbYJkRbArfVKSjmMEtxTDwEuLQCzVZsNpEuHnSakVZrKFkICTNajhrYvthFkfyZxujfPUPDGWaqhaUMYdcYQZmtZvUDmSqpVLvGsitGLweawlJttaoBNyLcRKJDiMeXsWRdzbCNWxWtdrQdnbyAzQSGSpoLKPfMidqoQQGNhAOKkOYsVuvbODQIayVojD", "fqnTzWkElYVwIQGcfdEzSqnCbpMCnARjqoDkItlkljRVbKxXvcXaqdtRMieWrWIFMmxpbdKhqtZWToyseZXSAIXGmCRmMetwsoqMPUPncoWGpxitklGjGwUJDrZTzPhRXZVTvIPpxMxIGIHwOZROznFWpHUpxAeMbaoBfixLlWmZZUGxXKgZLnzNwSIAfjfCJUeKqHMBafDlikgdZYsjxWgLTERRiXhdQlygOdWwyLsKrUsQAeAnbbTeQRLYqojK", "PfZJIRbsgtPRpdJlFNeCQsZrdnqSQVvpBkbHuPZylaqgFwElkCyAEwiFVsSTDBIoZkMiphCsgbfJEVUBpNKRnfLsGWErjpetnFpoSizQhaLaQFAumAlSmIAlJcEvjPhpdLwKUGwxHNdikiRgqeTvorVmBpaJDLSkvTXEtICarWFEgaEGydOFMaYRHaJthlhFzMrTIODpzQMKZkfPJmOmPHPCChUwTdYbmCNUAQDWVayTDVvkZvTKMUpGWkunHYBU", "lPmlVzMumSwROzlvVmIetUEHKWtdEfLKMlAJWervMdRXzcPNnlsEVtHKzbfcECmFvxtGBeyslVpEzXkzSlmUMfxDFhHoLEphqqVfIuPemMnUOmYhQajUGapCRWIuNjJZPhXJiWGNrQVpVHBLhtabwICCtJZAbuoEzQMpUszeAPGQPygpYgYyoCxOONFxLfimHtmbUITfciHxltflazTyQmVllPdjiZArhEKKvVnJfqcuRgrnCVeXOXbfoCPyqanN", "gzJhLUUXrnTetTkqRVHJLDRuuSDwAtjrbqdjlGpQzqVlHxUwxhEOQbOdNnHamxJdCZtvJszYeCyRhRanvjzBDziePByiALwfQHekpxDTutQADzlurcRPRkpwYPVIBKfQgLfxZisRHbOaodhMOQcZPTNeHJKjQDTrnnMKmybGlJzNfOOvGxIwjvfBpOmBelPLbQNyWyQFAFdHXeAfTwVZTJarjCmItirRVRflTeQCKXVnqzyiqhSWEQpeFPQKDzJn", "QyuTziZYsUDqcuyXLvfnMSlJgVFgmlEfoGqGzAxJpPwwETGShmkGrWwDuFtfhVbNrDAoNctKpuIDIspInKPyCNsRckheSzbzxsEfOAatcOinMAjSkuslqZtEGMtXyTFlnLOdYvkCdfYnnBkNgwuAIEYNkzPYbChOgDNzLxMRVFTRsJndJhcKyPbVJpgpzxDUHlzSaevgjaVFNqvptfdkvVemqdWnZJZyXHYYpSxkCyxCNsGgtkYKrsezUpINIVwy", "DHcybjaDlcZjsThljdHPPLQgWWwJcAVxEagTaQFmGSWMeCFGThumWCwYTHBErOiIhCPykAhWGDCPitKcJTIBzQiUKiiAzJMjxtoAHtAspdGnctoxAYnLRrtcjdrUlfktzsyptgycXWRQgYvNxnNGNQzvSdxSXaQZpmByFGhwFHTKIzvEBXPBUocoaVEpALYTtmWJcoXOjSrgUprbEKkTfEpqteoceFvfjaIHDrdHPYGZulDgUSAuXDKwIMwyqdOt"],"c_array_date":["2002-09-05", "2000-10-26", "2007-04-12", "2009-10-16", "2007-07-10", "2014-09-26", "2011-03-08", "2006-09-24", "2006-09-13", "2001-01-03", "2017-10-25", "2007-02-12", "2011-10-12", "2007-08-21", "2013-02-23", "2011-09-26", "2010-08-05", "2018-09-12", "2019-12-07", "2018-11-23", "2014-09-02", "2017-09-27", "2019-10-26", "2011-10-02", "2003-07-04"],"c_map_smallint":{"c_map_smallint_1":-5964, "c_map_smallint_2":13773, "c_map_smallint_3":-26707, "c_map_smallint_4":-13596, "c_map_smallint_5":14196, "c_map_smallint_6":-16722, "c_map_smallint_7":-20566, "c_map_smallint_8":-26178, "c_map_smallint_9":4681, "c_map_smallint_10":23366},"c_bigint":2480389925011240813,"c_double":72.17012931124232,"c_decimal":69.0115,"c_ipv6":"525a:177b:e862:12f5:f5fb:4433:56ab:668e","c_array_boolean":[1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1],"c_array_tinyint":[50, 5, 66, -31, -1, 30, -36, -78, 50, -33, -36, 107, -16, 96, -62, -34, -94, 118, -96, 48, 95, 26, -124, -105, -45],"c_array_datetime":["2012-03-18 21:32:33", "2003-06-04 19:23:49", "2013-03-18 06:51:13", "2019-02-09 03:11:30", "2017-12-28 02:49:31", "2016-04-28 16:28:03", "2005-07-11 05:51:00", "2014-03-10 05:49:22", "2013-07-18 16:26:26", "2014-07-05 12:37:28", "2005-06-16 15:04:27", "2017-07-15 08:23:29", "2016-02-26 14:22:03", "2002-12-21 13:01:14", "2016-05-19 14:07:53", "2012-11-20 15:03:58", "2010-09-21 14:03:32", "2004-09-06 07:58:47", "2003-03-05 04:31:39", "2008-08-13 09:43:33", "2014-10-09 13:06:28", "2005-02-01 09:22:55", "2000-02-18 07:56:10", "2014-05-08 13:48:13", "2007-02-14 02:40:12"],"c_map_tinyint":{"c_map_tinyint_1":112, "c_map_tinyint_2":55, "c_map_tinyint_3":-104, "c_map_tinyint_4":-74, "c_map_tinyint_5":-88, "c_map_tinyint_6":-52, "c_map_tinyint_7":-92, "c_map_tinyint_8":84, "c_map_tinyint_9":90, "c_map_tinyint_10":72},"c_smallint":24695,"c_int":924488414,"c_map_float":{"c_map_float_1":6.662109, "c_map_float_2":28.608973, "c_map_float_3":93.14196, "c_map_float_4":20.34071, "c_map_float_5":34.440605, "c_map_float_6":6.928601, "c_map_float_7":32.699753, "c_map_float_8":72.38674, "c_map_float_9":73.82422, "c_map_float_10":50.863155},"c_array_largeint":[-5344434377598374820, 1209051306238678068, 8664546851284875764, -8012646017206663757, -6178216315664521434, -5482100540815580640, 3006906115542173146, -975362392176851826, -3519558834066158721, -4760574232356363252, 3894756222925368267, 3112960210890544257, -2362564762193151112, 6438520800033404619, -4501534063119962966, 953956020891858394, -7755860366632403097, -2833317959737323690, 8205995160765615618, -4214385781563199307, 7308464062254210746, -2973671153368004635, -6084173150014155896, -8914794968862276998, -8716138321914430003],"c_array_string":["bLKtHTimbttjMloZwfwLRjRUBaFPgWyaIxGYVYgdwsNBkEdhlititnJhqKEPiItidVuQdkPsOwigKeWOfFLCZZeWpyVMvLLzLuMzUffMrKehohnSMdYIKpxnPEyxhdhtGNZvIaJuOPLBIMMJdrjllMgaVudaAyTiAypAdFxUlDrNuytyfDHmxlmnGihIACphmJoVKvkuktCEaNQmojqvyhpNiKzqlrMKvNPvsBmaSvDrqyEwZHdywqObtKKRyRZPuaXxCMPDfCXKhotZtdPnNxpyXCLFAiVcxnBFSIvunZFRzKAOOfwibpUzPDpoKWebxbOpnSRsmdpUakxFxuoZRMNDTIIniPkZEPWHXGXxBvNsCmHzOYKyzFKvtsRQNLuTRfumshxyREtfKsJaRiKJtEOLaSffkANnbdAFsMiEjEeAGNKTlIoXIdpaROERhQigkAMVFJNkxfrhuiNtfWsNeVaGzLRhhCUbAoqxAMxDlgRSVfsMuDyniSxqOMQNgwPi", "bPQuMsXmQRdNHFXnSYXLgFRYUxcKrGdthZommGXjRXgzbYdMEpgesCBXnpWypvgLIwaXKYSvFDAqbLQegybMtCzmKweykNeEPakdRkZrDSSGRVrrmPaqjhqAkleUlGINrHMlFtPJBcuvXYKlXasvTnzxbspTxSDyINPjTYRGERttVFoznwNiAaakqDtKfbZAxsjUlxyuwIGKayXsbfrnQqPbWzOSwZolTRueJssKjYbxTWwPXybfYgIsRfpNDYgZjmHBrckytihKkVApqhNKSDujqdlXnlqhEmZEbUYeunWIgtHNRhnPGuYYDuzApITaxJbsMSWOgOZSCugVImAqAkZHHZBYDbTbWJbHsiRrIONWmlpqLKXvlOheSyGAHZXgdNkhANjoObfKLzYNRNvoKJJmvfTJxFsaFsOGMWERFzCIOiTwUcAqLfUWNWzUdZjCeKLHTSlOcRppdzQAvHdhvTrDRZGEBJpedGejPJfSVNugKKaOgGrHJfECyyjXlyru", "kpWAaXyylyFpdRagCeiPBeouxyHpMPoyrNlCxzbsfZTYBNxcPipKljCoWRUrVwKxfVWkCefyGzmwCzxoecqYGwlCQIoEnrIRqsMYEGzrbsRqFWMUnfLDNgGdqWkigspZdaBepLFRGgBwFSgGdqDUHCISBehdwhzSkNFIAJpwPdgdgfEzBrXawPWypGSnwMIJZUGUMvdeKPUzTJIbEhlPsahKumnoQYFeLXQRpYGdnZpgQYJjrMNhMBOZZdPmiNBcHOXVKTlblJqzaEoXjNkJxaAOrlAgogeyIKAROrcTLhHPbLrMyNqglSEKWGaylPMijPdwbLUkfMuzeeOpwFOjTbRmKfPwORCZtPAZROQcYcghddOBYiCeGDZtHMUpiOWRiSoryFszyGpAAaGiWaXJpuFmrHSiaCXwkARpXHBosOHSVdxJMhapjTnkFSXqLZTBCvFBFPskMdOKwAattuRqassVIhnBqsAdwLHlvOKFPRpGCDSKpLdFmXpRWhSPMlEr", "WoxSihpYtgYbfLsHdzZJUbhpQXBRVXvNTERTMLpdOCffpiPswRpoDsWegemVushCCQygMUmuohjOAsDDLWwDWuOJyrAHqPDwJgbCIMNbhRpjCjHgddQPClBsOFQBDIZulcZqoQGwuMyorTklgmdvxxmkWYKJoSiMBSrerGqTGclMNtrawPZuSlbILNwHAPsrvvgbeOIpnFTZlVvLqISEDaDNJKyIvkBPUzeemXZvfEuUpztHcznnZBGmThITRTJHvzikMQzMHOhMFnuiErkMEtHizQJRqmaWvcsMzOHUsiWueyxufjEyDlQybOkpVrZfFZcfmQQnshHNXGKtItFobOSAalKzjHAcVopwEfMAWgkqyWEKRTbZzUlPNuadfVRlXdyRFrNYOBMACQEynHfqiaHkhAiWzobiRWUOhWwirmOigChymAxIvaLhiOpfayqsycjrhZiPGrwsxiEBUjNYlulmjmkWisMtmBtPDxAoNJjhWcbuvtSHvzeiSyVSmRHM", "RZywElpfPffreVotSrWXsFLAniBibBIBmOFRBoLhHpLtCqfKLwdbRMowGbuwWzMxRNlYRBSRmSHSFWenTICHyREoDDkCEiIUTRGRJMOpMxgLBtoMtYpcyfJqjxmRmcZveFlCxTgNJZyTvjkoBevBWaLhzPHEZqCvQaRvQzFMqjTrSUxoSxdUdDAUznywNtjrEFCpRoxfLNoKtvksidGLdKInwvIWGacUazgXKiFSWsLEkNnzSvMbFGMvizDVOHfjVRoeIPrztQeUMqHrMuRYUnYtXiCcOpSUDhHKaYUJDhiMFLbTWcyUHrvdEhXiTcbkpWpghcmuAdqgTPyUlziHTnPexrksVHcIGsOXnZIiyUSuFgMfhpGGrFKfDxmxywnaLTIaYBBxWOJpJlHotWstapjoWziTzmqrhZVJHTasEuWpTIkPKcrMZdTpCeuDvGJEirefulmREKePrpuUZpZzzmAPkQudesfkeOAoDmPJfLBeZZVVgKQrVcEvVCuGhajx", "JQfqZGWKjWPVwTZgmzaYQKLUvrvUwDwWOCtKWhcWYmHNvFCuByNHEqsQDLGzAqBWjuWFCSllkhRVMKhDYfotIoQBTOtlPoGJkdooirdrPzQoYxidAhlSAKbFZOQZoVyMlMeefgNJPPliEfoYaiFziaQhoffNzKvzoGmODFBxaEhDjlqMPiUqMhqDKEbzdfPrqymVseYFxNdxwhJgxttHYwSGINGOYHiiPFEgjHxnJImaTwKfEUKueLlARFIaVgQEMYNqMeOUiMAClCYDJJxLWVMqkcKslrkOAbbpjvNUqQvuCCtRQwjIhRFszFzYgVWZkhlWrljIwzCSWPeIkeUPNOqXhLIfprOderClJXZuXEjlGRTbkIwFXFJhpyufYDRyUFBJvOCuOdEpTRukVLtamegOwWPNMBTydmlthDjMDeTbHnhLxhEeVGtCrnXahMMyqQhlMdXDKMiOMaNmwTDXvvtxFLRifQIXpaNHTVgxnarfWLAeIGYzbDCoAORLaGjp", "ZjHShSNJLIjWlHRFeAlDKUMsktEolVcOXUADwRDdLsJUrgMDWNVogQbWxviBfXKFrzFkKyvuYlvRjnAGvNkWwtTDMsiMmjeeBVDMbhDSVvguPhiuamVqpoEguBoOUpiVLkQlUGbBgpxyUgrdRZHLROjwciAJbRNHAkYvWpLmzJfbukMUuJAawwIkcdphnmoBJFchDFTBWUGyoXQOzGBkcvpcdTqsUKqBfOcEcKbxjzFTxksrgjiriTjSDfuxQgndycJrVZEAeeObxKPxzBUUuPCVqWmDPGBfjAYhFeimUcOmwTbWcgWTUxZdlSQJajnHRukkMrrRpTVmhGhkRaTkaubhqyFPvdlcnKWBKBnetKWGwbchoKXsrEQUPEEqsdplAabLGLqkewFheCFXIizGkQVBoKvkDXYVsMKmkxQzovQggKzkUpynTLkvHyqNrsHXvFQgQNrYSFxtOofKmjsUNBRuHWvGmVSjRiejPxlYGTRCgRBUZIMKuCTPqhWcHBMl", "NwFCnMIxhhYiyhfCFJOZbMDKSKMIRAowcruvdPfDrChdBYSLowFRfKxfVMyLFYxseGYfZfHGzfYKDGRReYbolLUwUDooTtWShlCZWIBoHsdknEyrebcDQbCvQUVEZKborueVEcLcVtvbYZnrlMIGkRBGlYCgacYRqimrNCAJuPPJXRlXMAfNJwsoaFeKGwYauhKbJsJnBoZxsbaseuDXvjYCFCFCvRDGRCFNhPHdkPvIGypbcDQVOpKhXHijBSSwLATcDOmkMhJBwkCcBBoPXwOEdTfCPIFYcTgWVqYzzMkpvCYinRosEgtHNKeBXUbxMQmqFzBNzQKbofpfeVLTtMxsVOKyHyLqmjsytvkaJGVMzvOHvWvVfDrDagNQZeIypbfmwEUMqReGAVFxalGZjPByGwKtafcTsaRYZwCNqsHnwviVopmbHnqJRSuGsDOwPqRgVHtssnmjnxBixiuGLYGjXPtpfcsBynsIbkDRLvjtavtIlnDjQbqnnkOukhwT", "XLhKGRVHShObVogeaqSUNkuxZYKEyokdiqwEKHnaMESlwykIdEeGFiRqwVijhMBkVZvTUQBukfLLBsvlzqcmzvEtKoZxXkekLMmWjxgIrEWQaIzNcqVQlptFLIfxmpftFsTgdYDZpcWDAreDFutoTVfQAkcxciOmjGhuaZcBKOBXHtoeOFqbTDoxfpdqYqxEGHjEgxRFuLaGzQzDHnBNPWyhkwpfCeJazMMUWHYQSQXTIbiEsNSeveaqBTFheDvIfJUUrkmLyAmostPUCoYQuceTHvpigbqSRaKXEYBCoxdeTeBdKvFLANFVYlBKJhKemOFbEUixZVrTeQRGLBPOqkrtsbysuplMmbVXXWixRwBJMyfiwgqZbTmiVGzEHDHeQYhgArHkgRtMLyaruvETGPusMTIgtWVsFLqQUPzFxdyTnWcuTaZgVzjsairfMNccLycXfRqjqwAoRtjgHQKzEJsPebNZaZWaKkSLYQlCNnhkeKxYznTiVsiWIceLBMtB", "TEeodlFfCQHfrSVZbwJQdRuxdCInNSSPeutApldzQNsirsDDHlCXdYMNeCPyKxxBAomAjNygIFkeJCcLruaTTzSoIWEDMMuAqBBTqZBTGUqXvIZyAYRJVegbgtWtLdYlBFFZlyzCHwjLxMLyOXpRurXsZaHWfZrLwifdBBEICGsHYezlZMFrwOEFCyadVYRuMzbenjptHMWBzlywGANPgHgHOikuwByaciXfvteYlCoBuPDkQtrKuEVFyGcOoeiwYTwxBSwqcxTCVPFybgGwchCqrracWNlfrwYEKfnuBvJAhzALyPrOcJGHNhoRBQhvZhcYtlKyFcNYlwxJVMjuKMcWWEiFFzxaBGUgJnpetRvhQXTcxRRVAakxLwvHlEdectYcxsUBgxDnQUiyrlvAAPojJUjtBcuvoaLXfGNHYPzchUwUdbMQSMwCQFIrvUOUhhbOfrzJZqcopXIoPYjHntVzEZiKjcqSEjkFIWdnRShFjVvwLRtJDTKrOVqtWaPM", "tLPkLTfyzzBvggWMpaCYxmSUfrcPNpnDKzalUSLIhukjMpVcOnkyXGtUpwKHCxwSiKvYpgDhUlWevXlmPpQvDFyOVibrYxFTUdHXRCNFYxSVsoSXzcLlHxysTCJKJGvRebGcnTMDUDXUtqTMpUtohYlnbRCcLOLrSEhgAfSwVHnTeecCPSTogvBeTyabkoHsOGiJUFxkNzSRDnbDRwMgvHhqQEqFGZvYmDTqxKJyPUGbYrNyCtcDFQcxuMHzgbaCivhmLOIzxQGerSoCkDoyIhmQDaBwcTzGpfszWFfxVlfdRorVeKDRCPmxhCeKgVHNRHBmlFjhYLghyLXgbjHfulDwEHfNdNHQhBLCOqvHQZQgUYyrXEedSqbVxcAvgOETHxCvAZJUjROBmtnyVqyYsUsMgReAazpAFbTuXJrCXoBzSpQfakJjzhvWvjInbEXCZLkCGRPyRdipfDkZVLDVnutOKpxUQOCXWFFpORChfadYfIgrJTOEgdKLOPqCshmL", "SUdeSYacJOqhGOmxCKvjifmerdtICapCIxEJaASvZPLXpQPLaWEJxAzHCLTAMDjoJapSeModqOrAmrmjssfhwYqcfFtYnevuALCWNkqybBpTIpMJFwKTRQdafcDJpnMqFgiQGlvZqrWkiVxmgKeIIDNhejHdElgyGvzjcHBZYDaijNemmPIVTVoUJQJQzRfEvOLcFPVwlodrOEAifaXZsdVnRtqpyAXCJbbAfccXKCxKTdFUjQyMFNsSuFLaHqqFRLCrqWhhaJSyHjzEqlwQFBJUpofXGqGYVlpupMbLmSJTgzBCxODUhtjfVzrdrgGruRybFrEanUCMqZKGcZMuqWyLjtvFxuXfgDaCprJCKywCcEmgjQmYUEzqMgvHxfQGqwzThvGECsoZOkksEfEIikevhnoikhaZNgtAhDoKXRyrULwfUBXPWoqBQVktLachUKHRsNYYUFReBdFxUDynKsLORVwUkmqRJbJoKhGftFmGMZrchiMEFHlZZwjDcpII", "EVfFcydukBffGimUQcYHgJLyOTswUtywiGhMBuedGYQTxBaDILVKhUhkzORrWlRyaOnOCJWXQfwgKOhYuewZBHYsqTMctrLbitlusipZxkcSMpHVJmpGehvrzWyUiIpkKqwFzGylAmZSDkismalMYyPbHUgPXomqkSpjOKVmOvWDitoMPslhrRltwnzUmCXDQNTQNgcrbwDGBVvXyXhVCRcvtERfDSmCmFtvuyLFWqROKhuFIUeaElmkLLiNYKksVfGhgiVfrnrctyicKNIFhvetYKDYHvTwGaCGcSVIgeSuLsZxWMXnhHdMwWCgzGAlLRdxhUyjiRENgKAWwJmAVfNbGzUsVzVMZDstaxGmuejhNLyYdwPxCNToSbmSQYkXqmFFlbPZWHYlVhdFdAPZEgyPzUwuAzARKdpdnBTTOHnlKhSulXQZaPzzHXZccOmCGRJuZmfGLSUgyorUmDabJZAWvJEQjuvplemkmwEABtxgUeuKxVzkYGzwIvLwYwlu", "wRcHXXOexJXHnsUPCiShfLgBdJBmeccRzEWMMKjxFIACmqfonfpUVdUQhhjlnhlrmGDJCRVdPRMsjxpkTbgznFUIvjbYzmzMzTrAYJtBAJbbNbzrkpHcsUMfbZpIevJAgCpLVZqxRIsVopGebsebdKsLIuGNzQycAkUoQbHhQgYYcqumKNIylwbXuWGzXHtEpuuoyUoVVhjWjVXXXBSwNljZXekDgzAjXhwwsoSPlaSskkOUrpwZSXRCKbQOuPTtWNSKClPFYQUFEYkftLenifPgWswqupAyDcYGshYCRuhsnMJazsXFsnhKagUhXTyXqQldTMSdlPpexEILYATAxEuKPQiFpNDgmpNPkcDqYBkAfqUfIcDYdcTLEfbCYekJiTjEBrbywoXFNGSNNRwnQlwajhxcLrOZGzEYtXSGEvzVxGbTwTDwopubNFGGptCrcAGvbwNOeJetnGYVJlViYAgBlgimGtnPbRVDQctTwPDBhDonruDrmAgwSGFgEXuC", "gqEyXrfvrptNgQjTtpyVgSTMnlZwGZyRgSQFuOXbCsBxztzvkuzkbZIsypedTeSlYIBNEUHwUKIsPRUDsqtOWVHTASwqVwpgmQsJxGJGsKNBXTDPwzCjUfVdXCVoMhhfbKeUuuedFMVqZXpbWiSUZGXUXtxaEiVRSESvanbUpyFBVQvNHHGlcSANjXDojsfcMGwdvrxiIhVQHvdZyFFEtGYNwHjJplyzPfMCFbkiumzBAJIYZgCEFHlWXVpkMTlrgldhnIVPwmPlmKPyAnXVdUccIydoLCBMLVKuGTNzPrEAJTEAIKcSJdVLutRXbJmNYMiJcUdoWDkZbqcUsBiDTaEEJXTojcqPwpPQXNoimXHdwtfrUyOXpHvvHIiwaMyGRwgxBGXxfPasmjNqdSDTdRpizWLerEeWSRCIFuGYMsmCUstesxPPvFcmhNmUuJwOVJYrtSrXWcZuclIuEOcaSvpnwMNrYvMXDyuUtsmPMoSLAWzNHicTEwVMgyYmGaWl", "wqDWlizDuLfQrNINWKnUOzkeAFUdlRgpubmYtElyJgiSZnyusXrRCEQNvEQnUWQKohYLttXarokZkxkjlBMAUbOxoGtqAYFVgkVpGyKdjeEgGXmaZIIwOlcxSBTNMfIjWeJFQfwOSDspzcKWVOCOxYndVYwlXJHbRwKZBEQhgAvmSmGTQMMQKrSgqkFcOolyIdaLGWYZwRiMrRkhedfvmNPMAiYMRRHNjbFMxEdJCBMAYhrAhoEeDJQmRZOULjPkmYidSmoCnwpBQlWOzTOnjjWTRoIeyCOPzCHKGKoNLvUQoLhzqugqIGtLzcabhdPWPRnIgBVsfToxjUEhxhQRavvkfocmtvlDAoRtDJngNGhgOjDAVVAxaICNEySqjKPTEBDeXUMIPnUycxFcjxCfWWBEOEIHQzSgofiaXCRFVrzsvKLjAnRhEUfGSzpGCmlNFUcLlPJZKrFSrLNlqWherYymqzaABVSdfCZXWsdjSeHGQXgHYggYQwUBQxSplmka", "SrxAukrRToSEgrRxBFZPIvttbabTYYsdFIjBsnPUDdQsfWdCLzhyWRukmfyxiNSpFMOPMagVjiGMHDZXzMprMvyhbsgUuCiwcECAUSPABdFzzaOmGmsuxMiavIQEDAnTQTmxJxnQitqawMbmGyxfClhKdjpfGtcPrstxmrfFDnRVMycYujezmOxSOTfgrgJHbEifhtzocsAUnmmnZTmVJaBfQZoujlEnTILReuIupcyBejhMwpqzghEaajaJoFDFvzFzQPAaQcXGvTmwGDYtuZGWAxNcZCyqDonsUUZBZzvWPAKGLLTWyGBjVtgsgrhvdEjpTLoazBpJaDYnhbFZvHnBGNTIMnPiPSWzjHTtqTdWCebwyNbqAKvwibQvoydhKUciRwrghjJsVOhVIQpocGFSUonPpgsdAxrsIQmOMXNKRdTXgFrhJjRVOstaaACxLTySSrWeevseUJwfdurdEgoCTSjWmpiXxUtRbZavbLIBvylOngahSetmXeXIfpAh", "DjJFeELWuXwZebPwRBbqgxqaRXmvOrrCBgqskkmafOeVQUbXfDqoJNCCzMPjqCJwdMCGuRPrfipPNdmqVEkmoyKYJOmAvpModSQUDVAIxlhurpGQpOPZRCcnGVKDFdDsbFkSecqxEgjOdbVpnmhaayzgbVgTKsfnXAkYqHhYWiXnTwqzCfeHExiOyCRLnXDohkMsqEYBavkcYPXJdTzeuDrMDIWghMbJaYKwUHMOYtmNCryWpZroGprerKnyuDRAnwqjLNthnXoLUVverKGwOsgQfEmKHEpZBMHORCjxnlfwVIXiUhfjkbtRDnbzbAGXnGQTWTuYohsTsXsuvndbJGlUcbHUvrnnOhGrhBlStFbVNZsDzYNubLdklsTQkoBBPLqYvkFKDIoVQbeQpvxFWwOOiGxgcrRGwDmIXCmdeCISxccObSvDOGMjqzmwQxnTRUMXfRjrFZYdDcvmzkUofOOpvBpzBWwtBOMOzddvXkZQqdsLrwhtFlYTbIABhavr", "GEWhYkZOZcfnGeiNdWHlFJmkcCEWnfAspULkHACFyWKHPwcAPTWtorAcQiaUjLooFaKlrAXlWErOcqNtVIMVMGteFuKUzEXeVnIVqnauCITfghDSvZDKFIdcUoUNpiioYZCdXhsHbblVMRkRyNljPflRQjAXBUkRUnoYzbrfvcWgjJuykTrInJJQACKldtBZgwTHBIvEAmgDWaiXyrpqwZFEMhxJPngYAgvzbmJMNvgLOtcDKpDKyllLhvSchTOyKOaTIMhJBdhubuKEhjeiVZhsEKlxzKdNKWimLWNJZganftmCAjzGcCAwjXhmBNlHpWnBWcmlWTUzsMEpVwuoCjqJrcsfLoexLWZntxVRQBuyRVfROHqFnvDIqxuHsfVnxyCwCZnxxyRXNoiqAjeLQOvXBYbdacWwfKEsDNDbPQDxrrVeRMIiQtQVZnBEBvdGdoeBTsmEzzpwObWbtsHnfmTUVXnVruJKWwqLWVbPphHhdtNfUNnFkwXBwLrnXpFi", "zGnyUOMzWDrdJNhYxensDFnFMYRBouWHJimvWbXAOaxDJmFyKWIbmrJIzdNjvPJzCFfJOiIehffwbswwqAUfGCEJdtPRINyAoUoAVuBnQGxLLLbsofKJtYjLsleXwycdWifRGrdwEmOZmwALLRMdYhXOXCveijaGSXDrwgYnjwLchTNspIrcopBuAuqdwzrzxgKZdsQOQpxcxvvCspjfpmuBJjHqfjuzYAqbxfUYdoaPNCHlySlaQbMttnZEWjNFIPIYMrqFgnDDcTRKpSaQjZwmaNVxPEhyhHHouXAdmJMdgOAXFBCAgWAFikueCcyTPuguTnEtfDFjYnyDWLRRtCtzqRSmARfhHeKztTFZCdILIrCOhFgLBizpuHLmXvElvnAjZGbElRsCIYyUmGxQwWSkiqyHRGJLQGMlMyyVMAmPmvfutKmclArIPqRYqIwevcCZPzWsLNYDPKvgAANXqszWBWSPYDOqfpKXiJNFjyOSNLhzHzFVcLIqsricdGSq", "apqkwlvvnJsJDZjVrVLfjxqjRqFiKEiVZqaBiEzQnCBEJwnpiuUnZEEcHGVzaIvFzPmICLpIOsSYdFRgQgBKUNGiJbNPfNqdLKZMIjGhJeJJBnHXkpNqfntqmbuGwaHeOXOMATykHAOEiCVzZYZqijzAyTAeYkAcMdEqfGIaZLBkbxtwGNxFsxEmHpFSrjDSvUeOHvJHqNVExHxVduqmOSoRlDIqHRtqfaydkOKfhWEAHrNAOYxMMTodwxYQYeOGCkRlNVooPKqZhrfxJQoCtDkBxhhsBhshkZwjMGOBJCtoAVCHHEPRjXSPsAeMkAibQbvPNGVemEsKwHGYLCqzJlTXBeyuDNFrQiVYUrIJgEzyqYZuBbcJtAGGqYIHFoOsoLJKTGvtWBOGRSpNULwMFzTZkJFBhswBLtlQPJCEIABYCdIBoMQejUtkgSwvGbjoLCZtOfacUnBBdxwJuqkNChhhHdmyeqODutCYyMPVopmEFdeYmnQBbbeGKtXyuuXZ", "JkanOVMqvthtrPglvFvoxLfZDQNaNYscEUjDwrYviaJCSZbGJQLaXTUYmWridiyIfpThSkyuyHqMcBIMNzHdowzMxDArzAcJWlDnGkmabQvjfLcTpiUVJVnuqOYlBrEchlJXTOqvbJbnxDDxAaOwkesBCpvMcTxPwpmlEPoxphAVYfZkVMbyfKySFpbboUMQwzFQQiCBvstqgenoFwusmspBJJAlBPvMaxIoWKVshAWTixfGuNXTBKQuolqwegNHmDSoGOsPrtrvWdqghGUlKIHUJgTUesTcSUkpkfCrfefANCPMOAynwZBFitvxNmbUYUkUCbScScwXKuWWLnLZgeFWgSEzzESmIGazzjFLKpqVaaHywblIbrrCpPMJhnVbIdRPHDNUsWDXgTFydXPVoOdguIuLHOGAIrSwxDekmAeVNFgdjSQMBBvzccGYXweIsKJxknGjvAgyvUNCDrymMjUEXimhSVnloekLXMHZqvqAINxeHDQIFzeKRrWLnSfu", "YQWEmzcuvdhlEYqHcRJjhOemzRZPjDmQiyfYiCUkqPguJvicyOWSgirtkcdBYCyxMOOioVIHMNvLIclaOycFUUVYfqcRwwiFyymSjPmiNwHnlChwSJWrPJREOncHlNKgOUWltmEBCmQHkHHsjDUhoyqKSnjDcuiboFBaxSBKFGcXPaFlVFGmNabcOaFPOadJxRgYCSJtzknVKwkKdrZWFRYYPUAPOGXwavbYvseAEZXvgUuJGVxveWerwVqfDRpcZkeRlohXRitRordKjFMpMijaaFygOsiHQqUDHWyJycYZpskjasLklHWEluWYevbGMpURClcXslYJUwOXWaAFtqTGCYDMmaNjGNcLpOcaDvMrKobUzthexloWJGjUMjcXjNnvtshbdaoKrQgMvgFwoBMDsmVlFEWkWIwRswxzWNiZbjQntaeseAWgePDXzTOQRQEWpZTKNMOcDmJQiaWiqxyjHLwGiWDKtWJMJzBAClGCeXmopFlTVWLuOyGjQPBg", "AuQApnscbNMSAFuKhFGRhelrzxGrlvNzjOrzbJMBnUzuOzHTlIeDJoyeDagvyGhLBNtmaLdBMMguQCtqPbYfbxJDTUdlBVGRmvXYidFMrcSUMBhEZzNFbvLSzkCnmiedqdYLAhYPnJkGOTwoIgrczhPNgUQponGjZniTVZXedruzbUqfYEfkfdhKgdWVmkVUqmqNDLyiKbBdncwvKkZIZzqFPvmdwMxVMQodFHHmudeusrvRBFFwsQpxupvJZchnTHrAuDJfmfpazdAwVaIwIHpfhNohyTqwLDiHNdFWqzRLdhDJGIWBtdpBXCVUKzicuUyDiLkEvtqUOzyPXFRsALfBQFfMVIvpmgCIwfEhGjSyoeGYKzVWgaYfgUwiJWenOHhiSyWNkPRSdVpeUipwsOKevMFLYXZwbBhoHusxKaZGxOMUVZMTwkoTwxrSzqrpqtHFBxiArSUtVBiaaZTqhXPHAinqqknOLfsFikcguSxYrVWckzpSdhYfSbxjEwWX", "AuMLohvHiSaNsfPbFjufTlJGhaOpZxtZwxePaCWahXaAUjrWRMfWAUlppBbCqlQxTmBRlctqLBNYOzyJvDIXgvDXaJOqoPuwBtbOXqtJQUThviKDznEUEcKSnIJBXqjzDPJfthtpmkFPpXXNDsVnSBideQuEZUybCyZDYxLutMBWPCuQgFXmTvgONxxoInCThfOVdCjOOEexBiyQDuLvpzhoeUczLYAJJIFLXhBWUtcPeFpNgKOeLYLlAEJgXdnRgvuzxAQAcnxUpUcfEhJNujRGHvpQJQjqhTfzgxAentLLRtKMBJkczoGVuPjUKVZsyBfehhUNjcihYNxKfhxJykDEzfPmixdwEOKAtAPkfNxptAxMYGnnLSpBlvtRSHOIyBUYMyMqPMvVZuBUXFocCDIFVPEjzgqXEGihgXNNqHyxwHJBbOYGDWmBLLhHXDXxiTnqkKlulPDVwTDaloUVuuxiGtJTbvGIsHGTcrtWxfqSCqxWMxiUGBRkpQZQvvEZ"],"c_array_ipv6":["vEcEhfMYNw", "eqDZQwYtdI", "VekFlITXtW", "UHfAoFeeti", "aismtcVfrl", "KALQJOGEzU", "aegmrfWYfr", "NTLwHrBAEN", "nmqYQuddNH", "mKNBRWAvAH", "RUEmehMZlg", "SgBzagFVcZ", "dzcEfpKMbU", "pOzwWXYKuh", "IZLjhlBymo", "DAHKAXGnmk", "GdzMItQrZw", "NyyYeLxAaW", "CubCqIUrlq", "cKjnZersSu", "dZSKydaUFt", "SngpXDNWxS", "yRckifxvSq", "ZrGjzwijai", "moWalJFibQ"],"c_map_bigint":{"c_map_bigint_1":-4730433175639378782, "c_map_bigint_2":-316356096831695449, "c_map_bigint_3":3488226760092315484, "c_map_bigint_4":-2717243225122518487, "c_map_bigint_5":621758855425329029, "c_map_bigint_6":-4162030246273523485, "c_map_bigint_7":-4257396241089207387, "c_map_bigint_8":1681052010596780340, "c_map_bigint_9":601284789303201032, "c_map_bigint_10":-8825833478249145550},"c_map_datetime":{"c_map_datetime_1":"2005-12-11 22:24:39", "c_map_datetime_2":"2010-08-01 07:58:35", "c_map_datetime_3":"2007-10-13 04:47:48", "c_map_datetime_4":"2017-08-24 21:04:29", "c_map_datetime_5":"2006-06-08 13:23:01", "c_map_datetime_6":"2015-04-08 21:42:00", "c_map_datetime_7":"2008-07-20 16:42:37", "c_map_datetime_8":"2010-04-28 01:58:16", "c_map_datetime_9":"2006-09-12 03:07:56", "c_map_datetime_10":"2017-08-21 19:19:52"},"c_map_ipv6":{"c_map_ipv6_1":"5dbb:4e2:a9ad:52d2:4de4:e1ce:c769:c72a", "c_map_ipv6_2":"78f3:3bdf:4f0d:21b:5c66:e486:6f9a:428", "c_map_ipv6_3":"5b66:6784:ff60:5d58:5d1a:88e3:aeb0:8aed", "c_map_ipv6_4":"b0da:887a:8871:f96f:1f06:d2ef:479:2316", "c_map_ipv6_5":"6157:5c31:8570:5ed0:3234:f554:ace9:59e1", "c_map_ipv6_6":"deeb:2cd:e61a:89bd:75f6:a478:cf87:1afd", "c_map_ipv6_7":"d3bf:b088:5796:4aa7:5639:1eca:5ff3:59ac", "c_map_ipv6_8":"d91b:8860:4d63:3ac5:ad8b:e410:71ea:744d", "c_map_ipv6_9":"19df:6432:e64:2b25:d213:5def:e8b6:fa9f", "c_map_ipv6_10":"7a12:5167:914b:f70d:e24d:7129:25ff:afba"},"c_string":"CSIvEaCRPxKkDqfLQhfaJHktyrEIYYOkMNTfgoygtOkDCcYLFXdwtGdbDuAVIlQvEkDRAqFVXeUxfpBaGZfQUlMGeAznsqzkaGeQwIRlBIDXbSBNCFXFmSNQgYwASsjRttCMYfuqHCThhhrjieGxainQEnPNUEWpynkZVpXljHbKCQYBZecgREupbhwReISeLKlpzYxeBpgACtVxzRDezwhPilAuNXsQViUCmshulXcEKmbBQKyJFYWIljSLObLbBLZHqFjGwvwmWfZtLimravhpEijRBlUDlarFSkOYVjSAwMSXaDhziLONbNYzZZBHHkJVqKEcwfAsAtHchcjuyIOzzmFkIjHnBGTftvcsKAeoJDshuViPzUYIdVWVAJdiZwguBcoJbAzVmEmsTHreUDIZXNwbZoOUmePbgSMXGKcXvSubRcukqoYkTGPCqcdVLGhcLUobXnGGhkPeMrWjxySLaIwifFuwMtseltUIWYurryWBvKTWtLvcKlzxxews","c_ipv4":"63.241.153.131","c_array_char":["ZZUMIFheOe", "roSLfXHhtH", "siPIBaZGmN", "pzLdySgusG", "kyOziJGxmk", "koWPMNZqLK", "ecUkLyOEIa", "hRNmMrTcOq", "pXPAoTbcvT", "ktdeeHFRkh", "hAHdkeWptt", "QcrfQgdggo", "kqGbMPvclQ", "lNfvwkvHLm", "xVGjchkTEm", "cYlZeDOSIv", "OcdkMXwSPL", "HfCgVOctMe", "lSQmIfMCwS", "BSvpfiExfP", "tsMKnRfGXc", "GtGPixlJvq", "pmGcLmioKe", "ZOLLgyAyMw", "htuAxODZHA"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_boolean":1,"c_date":"2003-09-18","c_array_double":[44.6937689728156, 63.278243704307954, 96.54416799914907, 13.790574692161078, 19.27454936538063, 29.777301837863345, 94.58537920700634, 47.01619280235313, 36.618711493282454, 12.849875693995218, 45.4801855408265, 95.64335134668256, 33.636716681690956, 10.573018726639345, 88.15438344392574, 30.959568421638252, 51.078269424865134, 18.551607165334218, 95.2844864484746, 68.67876564249916, 78.53393726775056, 88.64878095945427, 40.66991232420823, 19.07999600905617, 59.00158935213014],"c_map_int":{"c_map_int_1":612550914, "c_map_int_2":-2109802259, "c_map_int_3":34962994, "c_map_int_4":1697856341, "c_map_int_5":765009507, "c_map_int_6":-1744471293, "c_map_int_7":588770093, "c_map_int_8":-2090727498, "c_map_int_9":-441031000, "c_map_int_10":613039079},"c_map_char":{"c_map_char_1":"VuGpbXlZDU", "c_map_char_2":"HmbxYmoAXh", "c_map_char_3":"VOopPDUqdL", "c_map_char_4":"KuwkZAMljB", "c_map_char_5":"KKDECQYAkz", "c_map_char_6":"pFHRNjpTBr", "c_map_char_7":"fTFBzjvgyu", "c_map_char_8":"JljfDrFvNU", "c_map_char_9":"iSahpxOqwL", "c_map_char_10":"YBfXwvNeyO"},"c_map_varchar":{"c_map_varchar_1":"RtNzmSyaXrZCuDdUggmUHKOSWPJDSOAJvwxoRndEEjZOCjwmDpQgVGJKptJBNnNWcZZWkjPsmFzTxboTDRWkFEUHloqKfULnBEHHMcOJaNedPrLsNIizyptEvjMAbuUzVHCdKmKKnopqBCAbtxteTGmmspNceVGmBqIrAuLRBlclZAqtMHTseSnixYnCrWnwiaSDKdflbtLkrAJIqzNWYrwCvGvAKFYHpejmsOHiTYUUtpgmuAepaEWJHUgFpZdZ", "c_map_varchar_2":"ckIDIwiGdvKVMKmLbtyKVGyhGKbumDVOBgcBHQsVxVXyawMHuoRwtoQnjRQwzTFBDEXWpGhGYmZdaJNEiJmUWoLATCtWIdzAmlZltDcxfkqlUgZEBMCbKyUBwebOXnvnBpheGXPwBgpnjltowkxJvEkHsXWgoblteZerPIfxlJIdAMoHjyBcFQKiVycVzSGgoziRwYehUuYgOVhpKOBGYSOzhCChfquDfvHHXJjfFeSZEACofwLeFWPRmvktIVBR", "c_map_varchar_3":"nNoVdhmIxyzXjyTuOXIIuljjAzJBKgQchlKWmIkrHToHXWWBOkNeoEjyMAgahODNVOSAIErpdEKicPFtuOVgISDeWJGrUwxLkgMxBrKMDMYkOmMCBBMMuhnXReRXttZSkXjaZHTejTFEgYAfWJVcqaKidvEpyYjoGgTuiLsWhHaToDEfHYIWVMTfAirpuDnYUlUsktBQwfBXJkFpwjxKSAwsuvtixgCMLzkRbsCGexeCjpiVEtmIAUiDvCRxtVdV", "c_map_varchar_4":"iFkMpSgwFaIQAuMRYPWbGVOFfYBKxNhCakAwodKSXGqxKCUpnMPYdllkmkwMLToNuuFEhhaXJNspRmcUbbbjPSKrbnWjaztHyVsdKVgjmgABiLxsdDmGkxGqnKxrivOQDTvDJhanyelrNgcfWzFwYNXIglwYcRqjUpzgBacqWGEizHglXVmaQCMvVIiEwyIOQaAbEoQqtvxCtQScKBKbRJAOAvTsqwKqrvebTXhGxEdzOpqceuYnaKWfKZylrJVq", "c_map_varchar_5":"jAUcKtisOQguDZqCQSJTQEImNLfxqWVFMrYhGXlhqqxPrHMtwWFdOraDGCiVPzAodemfgqcQXdLrYIVOJrOAXbEmfyGiJhlKHLLpwhkIaOuYEcdBgAEgjtXEwBMmgjDWzOODybTBMPjZQtpTnwExmmfXznEuhAroMYBegBrnlpIBxuRwgGXKQPMpiysiTBJfBbJlklOQmniGrJQurdItZKJrIMDuJNmLLIGbhWbVLaKMDEBxWbPpjwIxpdNkWInE", "c_map_varchar_6":"OgVSdIEnDRMJKrZsaooleLRWquYuqEYLNQrHySKXXnDiVwOEUNKVafECQTfkiypAxCwcZaFQTrtPLtpMCzQKvFRLDTiZDLOsNkoyxZrQIOkYEpMtlTpyKAeASKNxbkzRLQqcyjCALcoSCqAHJbwTFDgbKscKFChrHtFTtlOHOxIPpuzVQEnDOmOqhazWegXTFPvrfrkWDxFVWcnJpvBIjCkTclaqydGQQaRwtZuOkiAgXEojNGnpYsAEZFkrFBeM", "c_map_varchar_7":"rDdoqpfJBsMHPpZckfTypWQGmMDWkwcMyyVCKcupkkPnvyYqDJwVDKUKWxPCtAYXCOXuhwvCOKGgiZenhjkEviNMxppgMDYNUDOCizCHOSuSUNDGJnKXWShnexPIzOygniRRWodCEXgRPanaeiEWmcvpEWROCnpxXfmpwsmDOmbdtVardycHOUWUwnRoWTTOFWcFgHJPwpGcFVqoLWBzZuNanxZwdMURxQkzCuDqXYfcYGIjKxqHirNjRLQclFgA", "c_map_varchar_8":"RwIfDnreObmJlhNYgHibKEqhbzdgPmAYlaHvJxDIiicRHcJykRVYZkoeJuRowWgUbNfOGOrDYQrsJODezLYsUwnskEzzmXiiBRcLwTKXsQeQvHzvcRCFAFQOTTnCjsEQZqvkXMpGlqwXAiihzdhHuJJhvDuoUCwfeTUegTKhrTVgQcxLeNDYicTdmCmgjSaUYGjkFQrLxdYswBWXfnITkcXInVnJeKTqJwrWSrTFUgJCsWsndoBdcXZQAleCQpMV", "c_map_varchar_9":"nhZQjkhBAFbNXNesIDhuOweHitiQnUCLgeyMWpsAvOssSuBBGjQvSDCBJaiEGXcOUtMrmouOPcjlflGUwcNexUPZonHGQDnIwOOFypHRLNqkJzWjTNjVbzELAATFPhZOcSkzzqOeBIbefXLbdWPXFGWfXUbdqFrGHBzXkpeyTalxMJcMATwKMeCsFiYQeOedaffkUihBcdTAQMZWbFSSTgxvBlzGhWhgTLAuMrFoxVkZoTPzhwGLiYmBnTxQZUGo", "c_map_varchar_10":"WfLrLmUmvRMIOmmsYuFZUOtlcVqVBoQqVyEQithfHErVAeiJyDrbUaWxhKUbrHQEmfsqKliyBVPWWBANUFEmdsIhcgjrJJFsmsXGPmnCdpcaYHcWxeGunffJgeRBMwwkYUmyTSwdfpcncowZkQPOlaTMCfRyfzDcdSReaObsWukwdyIfDvzMbnTaqKOzSIvhPjhuCTQpMbBtItOAnVmaqjLGuHIAQnFurYdkFUQMQkxPzPsGBgbRFwgSIDmubZzR"},"c_array_smallint":[-8077, -21813, -29098, 28551, 14548, 22873, 199, -24484, -17388, -6307, -825, 6734, -13900, 28769, 4336, -29634, -13429, 32650, -8686, -2113, -25851, -22197, -3517, 26684, -16902],"c_array_decimal":[77.1413, 58.0679, 44.0104, 25.0526, 54.0865, 90.0447, 79.1291, 44.0476, 38.0849, 91.1819, 14.1618, 40.0717, 31.0143, 56.0342, 36.1791, 87.1392, 95.0716, 28.0470, 80.0640, 1.1009, 98.0521, 55.1229, 61.0855, 91.0135, 70.1376],"c_array_float":[18.209352, 94.59349, 42.32913, 18.719925, 81.165146, 97.233894, 92.32813, 92.57277, 31.85308, 88.989075, 73.85993, 6.8072844, 27.539137, 49.170696, 94.251915, 72.78354, 73.973366, 88.596054, 21.11483, 69.78865, 86.86035, 90.10204, 83.13032, 85.53253, 64.53904],"c_map_largeint":{"c_map_largeint_1":-2133137687764202518, "c_map_largeint_2":3054440179846133904, "c_map_largeint_3":8798103454075925914, "c_map_largeint_4":-1059460103406283993, "c_map_largeint_5":1327833669842881753, "c_map_largeint_6":1190380602958704065, "c_map_largeint_7":-3556197042043547009, "c_map_largeint_8":-1907695134910846342, "c_map_largeint_9":6387014888616278477, "c_map_largeint_10":-3654157576486140223},"c_map_decimal":{"c_map_decimal_1":77.0287, "c_map_decimal_2":29.0277, "c_map_decimal_3":34.1281, "c_map_decimal_4":5.0721, "c_map_decimal_5":52.1630, "c_map_decimal_6":75.0222, "c_map_decimal_7":80.0145, "c_map_decimal_8":13.1496, "c_map_decimal_9":30.1345, "c_map_decimal_10":45.1027},"c_map_string":{"c_map_string_1":"DmgdWsojGgQCVAaKLagwglSqZuAOFWFsOCZaLlqRhBTuCXbeecLruawvXTQnoAIaiyGDIJnjGpTwQAHDlWzLsavSaoOFXVlnFGGyKkaQVbnKxDrhbBTvYvIBtrwKzVgPPIkUpNVloxJodpGKCItQjKWtloNVeWGqqjaPLyJaFsCQlLawTsrTsuYPKhcesNEWgsmDtupPlHjudAhxDequbtdGEiwLIsQPJDhunpffpqtyPNRiiwoFUQMCjgengSjSzKXFmNZGLLIKIKUrmTKUjqArYuIYVOtdfYSWUSsBgfqJciZjtuxkNmKBXnbeJwJbzfIfEyCEbfIUmyRjoJbounKDlFEoEoCAPqzDmalmPpBZNoikwADvfKgRyVAyjCehVusVRDBiupoLdNEgGGyogggvWuxjtDZIWjJMxVPKoqqmnoscYknmyxQonTHpEhPoEIHsVBmkvmhyWvDihFoOxiUtYJsJMrABlTlUYfjxyoIrqXKomCfgDfXJooikDmpo", "c_map_string_2":"VRdZkCRFnFtjLnqoHFcGJqIKdVfcUlGGUYhQddjnYBNzRDUMIRqokrPfRFyohMUCspbcUFWoDkYbvtbzyBzuMxTSRzwoEyhnSxfjRLnerazoPYCzqyqDYAmTnlCuzPCZIWfJcYXMUuaAjbYQxueFJowmBXBYAmtcQhZVZkuBlvkBYzsaxzKRMStiZrSkClMTLUgcPcWGpThEhrgzdqjvdwpTwyhTkEWVPKLyYRTfahkQRvbxaFpfFhoBwgaokEEnjWOtoykSjMBGfZVMrTQbQuWuyiMmpcwssrJmSferDwXauPksuSrumwuFvGyJmPtKpJSWEByJJloaRsEZXdDewVXoYmwzRQxdVmOpzmXniWCAzOROsojMAqWjVdAoJNCsdHhMztrSnTURNwsEOrDtSyyxQeZgQWSFBRvsyiBVoUzIGRSFMEsukzqweNGeGrzdLIrtzXLJGCmXqaYqTVYBgAdyXDHWNMuIwcGhGqYoVQQOeEPyBYaNIZBGyrKcTmgV", "c_map_string_3":"CBroJSvbKimqnWzcanywHPHJIkIUtkNpEssVVBTHeeKgIVDOqxHfZainqZFQeMdWpmAcGjLdWMzQrejKyfWuvVXktyxgEySSVDiUBhZmUNQNZdiIoojxyXOQlhsdgsIkIaglAqSvyZlzowYGHpqZOFGRXRextwRpoOPrjslykqirmzHwGaBiXXWZmGAAmHSbGKboZbaqOWgXfHxOeBKUuNfpmIiPDPlQhrbNccvEoEOGfcdjcXhZVYZCGecjLWOkoEeWBsyAhGFriqjEGxLAguJqMSiGpFDIgrvuqSuxiMjUTArYzsTwOEXTQwplsioKYNBJVEapnEDZaVtoZBvvXdIqShaskwStHeemNAQWDODVSqXQARXIJaEwQWjxcgorYYDfGjmYOFvqEwDvNbCnifYfnLxBihhQfWqsdoqKDudaxlUJpoiLEbUIvoUbvxjXlXzGmKPtKOIcobocTHUKFxdwQwfjUdXCXsQTRlPeyFCiRPDOIhDyhSCNYwDgMzpy", "c_map_string_4":"gjKnLqVGaIzodyEUajDwmTohVXgWsQrmWxuLyUMTjnplmrexgzMbVqxYhMxgtGYqXzygiFklmSkbzYHluIXBOnJwrZpXIQlNdsCiaeyJopTCtWBimUYobRvujbtUNITntUstDAcseGmvCGvuuhpVOdgwxkucruuiOfnLngBvAbVQXkzraIflvaayXUugzXHsFXWmrEiwlvsEDbjRxIUipNlpjhwgNYRDTTvETUyYDOwzbdeWOCDvVllfPlrMpmkjKUdEoaLkzbocphZTzDDoMpSOpdkLDIyAMVlllTaEEgcGXnjTFzLtsKyaOVNHHFminKLNGmhrEusBjZrWqunUaMdiemNpxKiaNTjiCkRWccBQhyrqzWNXlqVoWMDcYxfkLUdDuUQvOFgGmFnkznmoctMlUjLKbZXuCITQbccfyLKJtNbUdOtMSgRUCjbHRcXBcEtkokTNTzSHpGOnABFaFlYSCzZSHNvExxnbwsBCihBaxbqUGVjpCyRFcLpxmTaY", "c_map_string_5":"xFLlyLzIWurNcnbjMaXmfnFnYXCNweLRvDSbUURxdfQAbcHSzdnrUrXFuHOQhfDABELcvISQuaDKkAwDhmVydJZIqydUsnhgWAjoNacdnNYvaGBtnbzeJnqyKLAlBvOYjPyDEWzsuSCtMLjjnCYGKDQSXRVUcHiUhcmIgijFytpZAHWWNEXBefVmRqQEBHYeeCunfaXHXQFpxeHksGlJgkmajublxpfcuDjTWKaDtRwAssYVElNwedahWtGUcbznPgtyZqjNTvgwQWzFIUUENSpVOLrRXOMPzJORqRgREYshsLGhHeoUGpzrRAMViBqPdOeDcFgLbUuMHNMEatTJwpTXuulzOxoPtOuerLAojuYFiPsnKgYkTPQxAwDUCDuxOBCSnDjiLrfVleEpvuVXKtWpNxwEdQoSDxsvnECsIqLTRnMjbrxUjbyhlKKJRfanSfQzMFWlqCtLmnNFjDwLIxQwjcJAlnrCosyFhaJfbnEgsFMQspeXBkcZtRMtdsuh", "c_map_string_6":"frepjrCCYWqFiknxuedmZecuNXLFxffUzILpJxwmKpDfuLZKQzmgDqMCqNPAngiENGIxtGVGKvChbZpWhmYoIljOCaxNPTvhrHliyHNXmApHXRuqlahmofCoIsaeUYInCKUYUEKePaaKSXFoIFuzYMqRGOMmROSDGaOrtsiSGllgCGVEJsoMkknDaOEatRvanomefRNOWwDmlzdNjnkXnaXEXYYblzAeomxlYEccabpChFOsCQbrSAEWRpeXlvsIUEwTtRGdjNyVVLHWbTKpjujFoZRDIRYNxdxtWvPSJCkKPLZcTjBPSiWPmxHUEVkxmrtVsHDYTPQMKNVdEOLrzcqAfXYKTHfYNTYxKLZjgEtMTJMYScgJOeoCtVVDOBVqqquBoRMgxZmbVIFCGwxWTOyLENJeRRCzXDglAAObTkGoSyaJgxkmqOoYVxZpSQsUbmyfbufIovluKNoYjvcXejGoxxsNHCiMXCRhSHgaFPLsnvTqofITDhHwFmmaNNOK", "c_map_string_7":"VVPPEvHRrhDsCbYeuiuJbMhWIAkKipYtGqZTOyDVXtdsShwLsDanpwuExIIRyKuYVptKXFhcXsHEAFVqnJSHZuSGUqYXRiTdRRNJVgqVZbpTEVNVRGztBkfGjvPXyrXPXRrclTBidZJtfCUbMeEBmeALNjGatwepMkFdclSuYBPkFRFoFrOjVULtTbHIZvJbeXYnRLzNQUHLPerGanmoLyMgYrBwFMiBwXcqtbRFnALwJUXRlRvxXFmXujDWckGxYuTGgsJACfBxVMXgYCgTXJyyPPJnwKQOiUWXeNpZnXrEawQTbDmLfilCEdivAZBrmfJEHAAXKTCRyUhHYEOlUNzNSfzTLCSZXpCFkkFtjLjRRsjcuAiQWHQuLBUIlfwOdlxcqtOwTVlFONicirVIVQbmErTyOTJllhLwfZtBmJKOytKDJTgwUqLvoMeSkhqyegEkwQKvoVKeKPCFhBsmzcAoakJVJyaPWJArRxLamLFxrgkkYEJhyKPwWoYctXGI", "c_map_string_8":"cBCUZlNbNThAPfIuBCDBFEfEOcabqUrtxKyjRnOLdaSssKLzBrnFdminLBqsgdoOqLXvEbIlcAsFEpolgOQmStcxusaKdlAsfKlBjlmFmxyAmjCLytjyUwzMFMCvFiGZDULRowlcUySbGYBryhciRokizHtJmCWwYPerrqwuxjwRJPQvDLDBEhMZHuqxEDhawSFyMfreoYrDFsbdRHXfsFkaRrnxEmmfRjSHnuHRHUIIgcNFXJMUamgpQSdoWftdapBCXVTSxfowcAHSbxbIrnUdjGJgkFcGfsKAjQlBReHUrjHEnComNoZmcDdJDgALgItEVFNUhGQtFsFUEnzcsHfURHOFuurOBbUAPNhalvkuGQUKpBZoyychYOahKnDYozkKOivCwNcHwKrCENysLIwGuGchtOeGEQvayFtLjKGEtfywijjcMEFrtNcgGAkTqZurWljMydgpKJQjefnbPSFFsoUiUEnzgqGPSAOIAeWPSPlWwbMZjuzwDjoeawbQ", "c_map_string_9":"eVUUTyWdHQzoHwTKPYvzdqofeXMAobKJLXDYSpXtpHPSpEdfWJFXaKzbvayLfTKwBRLzadakHSyigDTdeRiPnKkYbrrwiXgCTnkcOTWHqMDLojiBZGZsMwzGPKipZubHpGtgtyYpMkiQxnVIoAMhNywArcpziPoIwuukiqTLuAkSwcfrLkkZgFzSdirAoyMtbscUUcnzYIVvEcFzKGvVICSBXfwzFEFdpomTYOkldcsQqOCIEBGNoySiqoiRGhrClLmsRSecsgedIhWkBDFwqgWsbStbOMNxwCzRJfWfBdJmTXzMpbSghVWAVtBPRwTditCiZGIaUjrGBQiXTelmgIYCCYyDezzXrUJWnUTbvNshiTxIbaTbABVhGKdINGpPWcPKqkYyScEKSWtuvEgOsDAPJMBaslCMjMyDcjFNkDXhmiKmFyMBgcNNUFMxsuDdrGZdbyTSjfyqRKbEekvaJhGGSfEQGoVtpUCsgfTbJclYUvbhRYqMQFIPAfxSNuwp", "c_map_string_10":"ewhbREoLiPOnaJcYBgbcgIbhBVHVUqwkwgUGDJgHVRYXGdmPUpHPejHaKERgsuIDAhKagCfHcQEulmSOWIYGUrMaqMGaGJlQmGAKlEeuwRsVMYJechwduGJzSSdqlinbQUPhciWEPGOhezfrfzrrfsxLbKdOfSaynPAnRIrkfIRnOaztxucjaekwTMiVaVIIWNrvVzlonMltWPYWpyqlhVdjsaqPCGDIGrGZSttCtUzVGpjYaoCIBQeUzDkZrMBaaZnuGjCuPaIAFFiZRkzxaJSlfsmIihokJysYTVokMHbOkDvYBKOvvNfrLrZUZbzBrNVlOFHRylyiQIQwMuRpCysiSfumNNHIJhVfySPwQrfBBMSepalMCNBnziCWbYfVhwObcTXQrFlgZqrmCpRTwxzbkkBVAuDAWdFbLETNBEtxwQlRAxSBsTOPHAWbjTgPqXHCkdcPJTvBZRAXdtzuJzNEbnNVSLiUvrLdeRMAqdceynDpSEourZDAzFAtiHCA"},"c_map_ipv4":{"c_map_ipv4_1":"66.124.66.14", "c_map_ipv4_2":"126.57.130.183", "c_map_ipv4_3":"6.57.200.86", "c_map_ipv4_4":"72.87.21.103", "c_map_ipv4_5":"138.188.234.141", "c_map_ipv4_6":"179.250.127.136", "c_map_ipv4_7":"140.168.206.168", "c_map_ipv4_8":"51.234.245.74", "c_map_ipv4_9":"222.249.10.113", "c_map_ipv4_10":"82.249.193.151"},"c_tinyint":117,"c_float":25.872625,"c_char":"cuJksWNfDq","c_map_double":{"c_map_double_1":7.02213691433298, "c_map_double_2":51.3672222384802, "c_map_double_3":27.568875294844933, "c_map_double_4":23.15706379881466, "c_map_double_5":85.60233657277779, "c_map_double_6":44.42821517836382, "c_map_double_7":6.2052540382311605, "c_map_double_8":8.143181963993257, "c_map_double_9":5.382326858312656, "c_map_double_10":27.193696198233713},"c_array_int":[-205035176, -1246655902, 138939771, 589734645, 350443667, -1870915708, -1575502362, -1476237070, -462092528, 1286563453, 1349388670, 294255263, 690456298, 845800228, -643428306, -806231726, 1557268023, -203035920, 1576330232, 1334234554, -675908531, 2123930855, -1335176850, 391944967, 304229190],"c_array_ipv4":["haSisRotoX", "HOtZPrGlCi", "eTrHnkVJsf", "MViuySpkSx", "qsgNJyguiF", "ikVPtkJceS", "zfCqsIfNfB", "aFdWBfrmAh", "vGKIvzeZrI", "fslNmuNjSq", "befCGhPhkG", "DXYuGePppv", "xVNGJAKTRj", "LHJNGjmwii", "npYkLTQGGO", "yHSQDTUUDW", "RgYrEvrrKl", "oXOKiDOwVO", "gxgjaUnXRE", "VUbJRSxysP", "mrjLlBMXwu", "ncCxTZmwEu", "XanraiDnyn", "kMpaHiMhgL", "VQSUjyaGcb"],"c_map_date":{"c_map_date_1":"2006-04-08", "c_map_date_2":"2003-03-08", "c_map_date_3":"2012-03-21", "c_map_date_4":"2014-04-17", "c_map_date_5":"2011-02-22", "c_map_date_6":"2001-01-21", "c_map_date_7":"2013-11-21", "c_map_date_8":"2006-12-09", "c_map_date_9":"2018-01-25", "c_map_date_10":"2004-04-03"},"c_largeint":-2907918118070110458,"c_varchar":"do","c_json":{"emojialias":"eye","hackerverb":"connect","color":"SandyBrown","cartype":"Passenger car heavy","errorruntime":{},"connectivecomplaint":"e.g.","cat":"Maine Coon","languageabbreviation":"io","adjectiveproper":"Alaskan","preposition":"out of","dessert":"Died and went to heaven chocolate cake diabetic version"} }','{ "c_array_tinyint":[-77, 19, 35, 90, -69, -85, -26, -63, -14, -43, 124, 102, 28, 10, -120, -26, 82, -18, 124, 35, -49, -15, 127, 56, -25],"c_array_largeint":[6485769392906124486, -7010510311975602693, 9213604513270105016, 382985678126220872, -8221077973722637285, 7260732545921779987, -8242490047129023407, 5449332482960140589, 8886239456807786634, -135019731400078792, -874874129359870720, -1640729598985672373, -9108144730052887190, -8844866382188929941, -4261851827467539032, 6151558922169486708, -3243606848864823955, -4259765419167322828, -4230627137317710604, -8607921186230351153, -8845154288648417962, -219528127834900280, -3180038514981535251, -4664621752971096029, 4585739224775405781],"c_array_decimal":[45.1219, 20.0226, 10.1226, 27.0885, 76.1937, 35.0853, 96.1741, 2.1020, 79.0967, 36.1689, 57.1973, 92.1452, 62.0264, 9.1987, 95.0185, 54.0132, 54.1424, 17.1185, 23.1904, 32.1133, 88.1089, 7.1246, 91.1029, 88.1517, 53.1208],"c_array_float":[83.768585, 19.749804, 95.815636, 5.364559, 58.85839, 5.6677895, 5.7445908, 71.75679, 12.72567, 72.684685, 19.125937, 46.660023, 65.063614, 78.295586, 96.17786, 80.57298, 13.929918, 41.05454, 54.768143, 37.78768, 58.765423, 11.867075, 92.01589, 84.64962, 59.164455],"c_bigint":3469027047175918977,"c_char":"LgjaGSFNDt","c_date":"2008-11-23","c_array_varchar":["uLQgAucoFsHScYOHjJqpLiznLldhESLoyyHCjmdunTiRNkWhjPEYxNOXRkEVMzbWfAPqohufaDPYLzfkxZipJLvQGcoNrHBUKxoHTZtyQEzOZNlQvhNkmbkHtdyXPSWSKzPHcQxAYLxuXTNYZFJNiNNXHcDEYQYpyqgIRSJYRAZhBdBhHwXcBELcvKIdKigHFyBfTsGbILinEixWgCIwucWzSiJmiKXfWLbipCdTZDezFqmDFNTDwEiwvwhKxbtx", "wIgHRciaIkANvuGOrVwpEtZMvltiyLWIPBrUTjsinXXSYVAzjYOSQfkvbibmcMDLxUCxaUgnobZGSzAYSQjdtAJiJDbTELzQrOIbeNwEvPVHcVMDGvGtJzngSQvyYRliULYqFqGuCoUUAYUkIIEGxKPRUvkWdGVRLMOtIYyTvfGOPCYSDKdCivfGdNlnfnUTdqkOMsDdPTVvSgPHuSoWtMEFrXcQCpEHmhJyCHwfqwXCokOutMYHTgFdWsVEFBfY", "PkzURBpbRjOHytYkNyxbASLVynuphRahFyeXEbeNjtuymchyWIAybVfpzVBjTNhcoeULkszRcnFKFLdtnLeZJkkQWSDYcJQgmBCSmZdzkxQlQXcZpPZkvqLekzlIFnetHkTZPCgCqdIXJkpMSUXiBMMqYxCSZBePpXGuPgMgvLcBAZAQCDSDeBHEJtiXBiUqkAtzGPlQswlpWkWCLrjSPTuXBbpPcCHCcWJQzKSTAjokqdBaXSbeuWbOzZRbqAxd", "KJPSNInKQIETguooNssVGtfPMTlmsTRzyYRxivnMwiTozbIXlbXfvALIgufMLaRchEUqGpXpduvtzoYiLNHRverpQgDvVbikQbTMIIDvSsQtybaLbnTfaQdJNwFzaAemllutFuShgCDoHznFrEazhGlJlpozwobdLmdEzZNsBNHBYEwCSbGcYjazcndhXEoUXjiPQLKvtrIqrcilgbXCzSkrHnQUvsQFzuwfQRlruHnRitYxyEQaVqmbFMWMmipg", "sfHHTbuDrkVpLcAejrEsceeqESGCkDlDmtGYkXtNXdUHxDWUcrATZBVlBHNNQSDMuMbbkVrlWjFHqerEjcefYaWyasrfxyOpcxiBlXOgNlVOgabAbvsVvwkioZYZrSNJjDwXzRdBxULsMVgwXqbgUJyeaLSEivUYoYqsejYXsXqPvYyhrejWXOPCLbTDrmYCDVziydCAmPBlpMwamPOjiiDRHSAgfoWSSBalkwOxgGRxFmzAnXjJBDGXgafzKqtL", "JYBCjHMkYoWUmGQZfXaCZYOjpepCVIFpGqEBOiRHoptHcSKbRdnIhSuJnjFcyzQjfFOjxdDXdybjwBwcTxtPjxhrHLkdwZzHklrmuMeoRtbQRohSFrWwybsFoPWMbHCLDkKCRFohfDrJHKaRqTltfCsukVJQirloccuzQNWedCCxnFVlzboEjWYvZewXcVQbdKzCexTIYSzKtLUHeEPwwQCpTyiQppwVodDVZnUKYtjjqXMxzAaUMtjNfPqCfdlZ", "InYwyHRbaWCOaeeNwgqXMfFBYdoetQxgGyEOrxxVVDCSIuiyVMTZsnEmsNFCvrSnxZlhycsmtPdQjIPIwhgUdMcwcRReSKhITLCOiKdFwMfvwsUexNfrwEJqEoVRaFfstaoOOVErTIUkHfWxExmUtrMPiceDOaTrccsGRFynBxQGDYjKBFUxTYZcSmiufQGQrOXyuSpzBfHnyPKSEPlSUQvEjSDPKJQjvGWzdnxGrgmGjNQAOqwyzsznOxkEjSvk", "nBzRCllPJXqlhGtdvBffVVRrqlsbMVKOQIOPRfhHTUdnkgkDkgcnzmjaFpTbJLksXQLXufmopxrpbJJWItlAPfpujVrkCvmDIoSZFnghVgNxUpECPCJYptoiGABTvYogLseLsfwHBeAZnaXjzWBhETfFDWGdxGIHkIuuxRaXIygRqIWrcKxNjSsqDQiifViUUWGcMjWzsnRFiHiGGPpLuNwIgmonITPlNDYHASoEcEVqVmbrMKutkBMQDjAxrdyc", "SYrCnzLDQQfARliuTWgitjCunwjPotvRUZtwAOsdXpxqRWjooWoewMRUGkcVwPogkFmadOYiZdHGVgMqDcTKsyymvutkZNfLoaWTlCyJPCgWkSuNRIgZuOUHVJNpBQcjQfbckrIZstNjAuFwuCtEdtZivnSUCrRXRPGGmHVuyPZcPfzYNCHfPYgsRXFeGTmQUIxqUZTtJUFJXGkLXAPtpLyIgUKtalLqEiFNrjFMKXtOZMtxTDEyHUlBpCuXJtts", "UhXMJVAcFXdXXPyvvwgVPKEvhFXRGbnmufEkJRwLqfDpPzyWxOUbJZJsluvUAerFDHkaejdqYuoAJzTBKmCqODXinDMotZhQkfRJQwetRqVLkfqYZZItMKXeYYdmvvpcyvZnTbBPghTLhGVhexkyrigOKkdeWWJwdJntGwQsMIMvqhKLRVXyKtxKiqujBttqnhuVdftjckqenLecElvldyYGJpwsEhMrGoaFPdRgpBkEclKBgIgVrXvNtnpYSRcB", "LofOObMDSAlwkzbgTQNzdyPJmHEqGdREQOWbcOwGIajNDyJkPYaMGvmkuGxFRviMBTNbtZVAzXbIvMiJBQtTGuHYEfEKKAZqHKizHqksDjUGBtUKVZipgmCELZCXgIkbENwfPEpDevVtejDioExmDuDBBgfPuVADqMIOOcNoZniVbYjzyslhltlvnqbnZeRKwRZHCtItTGoXDebvrFCEklpKyzXOwdWRZYxZNUrrDbNhlTTVDrrNsbvWWbCMrunk", "LLCCmWAoTDYhCiLcbkfcsAdoQKAQpixFaSegxyTXBvVZheTDREuKNTGsSVWLKnftLsymOMrUPXmxplOCeakQhWIccqRcyuQqenTKYyXxUZOdQinrNuFZVWUQOntmzFkSURGRYhwRkikFHRmIQXhaJABeYPrZvkvttAJAkQaFCAezHtBZlUFNOTaBOHHXekOubrKgnosCzQIXAsfgSkvLjSdOrpzDOWTGCBXSQJgKoDOMXUXGtAUAbKabdZBJLAJI", "yyaCUVquKQJiuYjMHbSXsMnXZewahhVrgShPeykRlRiubZWLOtXjTlTjvGIHKzhXukbhkzsMxsaWsUmxpDkCihQWHCeWZvuUhroTrbjwetUJukbbfpLKuQxTRmoZabSfWtuHUCzPaRNxrFDncnikgIoADHIJjXqwvbGdSMUgXarqiyZJwVxGuAbVMrPodMMYqmbJzdiXBmKFjKANwHYmMnumqlmjSRzqEJBnDggIcVoHvcGUAbonSnLmSIWEFvKk", "lmqhsoUomQYlqWlRvPzEamsdoMOJCjwgXxBaFitdJEGLDhhvZggkxDlXfOEbobJrXjTlNWIlipCAYFAooaVkCnmAezlEtJLZPzSXknpdWxDWpbrtnzXYZfAddsOAXQoyRtPFUWQHpgLqrTCOiGULtlNhxCkXMatDrKmbHTTkHBwRNFfZCoirKbdcSkIZAvYwQTHmHJYushHWsrOwVhUCaxExwKumsIJeZFZrsxBYweCAtRPvKZDjloVrrZygzidt", "AeejCbpniOtyOeZaGcMovrLebhZvuIaZxfvTDFcAOVXEpZwraSxpXibDEJBNtyYDDoDcYXWbZpLBTtGMMtylQajcPGoLeDwPlXyFLWhtWAlduWvDkdSVsERRvfVSDpVMZTVXwYYQMJnBLVMgNsNKuHofnJcdzLerWgRjJAtbIGxuyUSplgJgCLZAoyXOisuZeySkWQTiUGDFoxtXETviNbYABTKfMJXUzvqOEvMOxNLdKuTIYYvrmlCenLcUFCXh", "BAAdByNfswmcZCZWJWwETrrroLuQDfyMzdTXVSOZUznBTAmDYeGUbBJKzjaHhPKJySqYTflYkJsBwXXqCtOoGGRSXVUqmLmxCCvvcLAJzgxBMwDszvVqQClLXLMDQbxpqJerSzPNkQJInJJMdmZIOkKeOIiedeagtDHCijqhzLqRWKXxcIrvDRtSNhEFbvOCyFfdsdXTSKPXedKScyShdIjBrtymDGFsXFLnucJvQkFdzqChWyTPAYRPvzsSJxwk", "XTzMnHkjdkfKMtgzoHaWkxFGzphHHaYRPKLIHiKpBfZzsYobVhdxeGoEgSDGmaVspchCAbexdxndmRcCVQLCwQDBBTHrbuwbsrgmUUSRCsryuwNwuEPlecDmYmDErvahYAOuGzctWsfliISkCifbAbcquguMnkFDNSyRAjVeHiXpClWMFTlhVTJZbqUEoRZCSNChLGNBTHMmWgandudppNdwpVUEdzqaFMwRRpiPSDuGtOZRFwjygeduelWsbVbX", "XQlabglbzosldReNXjjVQcKydJlYKPjmhzJnWWRCzpSSFJduJarYXdxDJqaMnUyOlDoazgAvsFWCJfDbVIpohlbzIEDXtBnHdGqpQwhuptnMqoRwEGdhIwPCGOCDKvFbSXagihAYDsOKHWjwPWcyogjbFQqMDqfSHwvnJPikZFDwPwYprOcOnhOGBrMpGXcLVwplIlaBrrGrJUYetXeoQBdbXpIUDWtPDveOymAoyJXCzfBjdyOMfVDWYcCaFYDg", "rWnKdwYuQhdmmipIzzRuHYUKOPEpHDWvgQzorXFSOkhJrAPxdTGlvoFbtJEnvNBhnnfZDxftJMBaQcgSjqFgVfsILWYSwFyljdBqvjhEsAOYBFIYdmKIviLrhCEzOUepBOWTHgibkAauAEQBitGzEReQcwxjqQYHUzfyesTdUJGPazFbYvYwtLbDtEaqPIoPTLZuRgzRAGZLlfWNFapqXydafHBHfynZWqJbjqMYwBJdnCThuXzbiogcDDucMpHj", "OlFGzEHPxScbbzAEaoKdxzHnzoCJkpyLNTIzoXJzyLKPJogRjNjHJVCxXqINFBoHamTuwttEYlBVcOFQdtwaBmTPgIQWFXxicHPhCnQdHxHUgdyqWPcJtKtslzNyGyYvwUtSyiOiyqGglnWYdgPunFRXtiCkFGWCPbeJcbgrvnqJmpWSEWJjkBBriMJfwyrkujUCrgNHfqMHVirpAxaXikjPPiOvYinWLHiYWCKEyrCUoyoSOkQzCUkuOYfhfRIp", "XKFWWOGTVvKUOCptzuvLMQdBgtwoeZKtQRlreZmOpPViDqVInioQpSyIleZVdeOqLNiflscgmWfSimcsVygLCpTQthbcrjfvjTYOLkzHAuFUaGtcbxgqfvhNNCJBsOHCpBDhASjAsoSqGTjWXTgniiKRnOflaJXrPwCXpHmLCRCfFQPAmHBKydbUpWMuVLGZQqjoSHsoFeTcVJEHrtBjlmWbfvDZxiehQAlmBEqoWPglblvaOEvQrCcSwHPCLRkn", "DeEqDIdSjiavnmbOorKQEhMFJlHfPArssGIGuSqrGRYQjkTCwrWxDWmETAoeLaMLSdJQkncMeftdCMqMJAOBYDZoXuwibzEZspzijhpEZOfQkstJzaFjdSkAhVoubaFhezFQSKrHFawvyLnxsyghNuCGiGcmucGAQNEvNbqcsWTHDSPmEcoHqBYzXHFLmbFmMJFgfaQXkKNCmjDKmYolEyWBriibPzafjmFsvjOXcKKHygvWyzVKyVfEFbyzHpuD", "JGIqNjeEfdpnSCZeUVDVvqphIEofMThIGJxjKdOwzZjYTrHmdLTEQskDESfkZSrBCWUNgPXhTztjPXjQLAMYFaMiGImiGyefBOesIcjPZboYLLnroHjFBsHJGPdgVwBMyBXeCZiCwLEGSZKpzFpTKcXxezoaOlUmVzlRhxJGrReniMTrrwCCkTTHYWBWikBlsszuBNTGKQuTIcATljvDDfgBeFALNEkZuJPkKnnEiCQrfhCbusFdcmgeMjiQgxUC", "GESUJymQAnZvCjGvSCkSLprpKrVZNlDJbzRTzYorIMWRngcTrzPKQtrWHpTmcjhvBTMAehSyROqYEzvPPbiNkRyQqIcyLirrExPUlZGGnRmxCHIetuDSFSoAjQIiQcJnpWQacgCRhPYOaTtRehjtSIbZMCmJeBLpwCILLtwAqBFJLnRlROgJRsKAmVvNuayoUiSdiqsyttrxarNHEyCYIEDkRMpoZFyaOkDTNwtrPUWvZghNypURtcYCSZgCqiib", "OMtAsvUdDZtVfOJdALaYZbkMRDxzEKQneLZgvxBHbSrJRCiEKrdurSjRpfUAxYahCzNVEzQXOClzJuhwUUdasjljlSWzzSDyauCkJtLSkyjthlrKMRAimLzZYrBNBaPvwhvsnBAoinMyibgNzREGEkfjWqulkSBCUUuaNGQAPFDrqafsjNZnsMxAOvvWKtvmGlWzhYUYJIHAzlBuMRhQDnhcfitueWLnJPdDHynQmAHkGdVcYPDdQpVQSdNVzgAN"],"c_map_largeint":{"c_map_largeint_1":-3828336509260068227, "c_map_largeint_2":-4959994427268811917, "c_map_largeint_3":7839502525789253269, "c_map_largeint_4":-7621695981703822935, "c_map_largeint_5":7259269604994024086, "c_map_largeint_6":-206456977603965680, "c_map_largeint_7":-7199547401482055111, "c_map_largeint_8":1032493166270809806, "c_map_largeint_9":2472627283616579402, "c_map_largeint_10":6259624773836979025},"c_map_decimal":{"c_map_decimal_1":23.1852, "c_map_decimal_2":91.0918, "c_map_decimal_3":43.1914, "c_map_decimal_4":76.0701, "c_map_decimal_5":31.0966, "c_map_decimal_6":68.0238, "c_map_decimal_7":59.0183, "c_map_decimal_8":50.0791, "c_map_decimal_9":61.1729, "c_map_decimal_10":8.1362},"c_map_float":{"c_map_float_1":59.405838, "c_map_float_2":5.326953, "c_map_float_3":66.18354, "c_map_float_4":43.462868, "c_map_float_5":25.301188, "c_map_float_6":65.70235, "c_map_float_7":76.17808, "c_map_float_8":62.474747, "c_map_float_9":63.873917, "c_map_float_10":55.072803},"c_map_date":{"c_map_date_1":"2000-06-01", "c_map_date_2":"2009-01-01", "c_map_date_3":"2019-12-22", "c_map_date_4":"2006-12-07", "c_map_date_5":"2017-11-24", "c_map_date_6":"2013-02-09", "c_map_date_7":"2005-06-01", "c_map_date_8":"2008-06-20", "c_map_date_9":"2009-01-28", "c_map_date_10":"2000-04-16"},"c_smallint":-4812,"c_varchar":"as","c_array_boolean":[1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1],"c_array_smallint":[3180, 25219, 5680, 14802, 7008, -25516, -32408, -7974, 19796, 11109, -10982, -23495, -17359, -9040, -2190, 7826, 22502, 4752, -12388, -31973, -27499, 27153, -16932, -19422, 14944],"c_array_datetime":["2008-03-20 00:09:25", "2008-11-15 01:52:50", "2016-05-08 01:14:28", "2018-11-21 00:29:30", "2015-04-20 03:20:12", "2011-02-02 04:42:18", "2003-05-20 19:34:45", "2017-09-21 21:58:38", "2007-09-03 23:48:01", "2006-06-22 03:04:49", "2019-01-13 15:09:42", "2012-09-15 09:59:40", "2013-09-26 19:59:43", "2003-10-21 12:46:55", "2005-06-23 02:21:29", "2011-08-25 14:22:12", "2010-10-03 21:39:45", "2008-09-02 23:17:57", "2013-05-18 01:40:09", "2000-01-04 14:19:54", "2017-10-07 23:08:42", "2005-04-03 02:13:40", "2012-10-10 13:29:13", "2015-12-03 12:52:32", "2008-11-16 07:39:26"],"c_map_tinyint":{"c_map_tinyint_1":-9, "c_map_tinyint_2":125, "c_map_tinyint_3":55, "c_map_tinyint_4":29, "c_map_tinyint_5":57, "c_map_tinyint_6":108, "c_map_tinyint_7":-34, "c_map_tinyint_8":46, "c_map_tinyint_9":74, "c_map_tinyint_10":-62},"c_map_double":{"c_map_double_1":44.34589697119679, "c_map_double_2":17.11150251047934, "c_map_double_3":39.9104246800335, "c_map_double_4":54.09990303779965, "c_map_double_5":37.9512824231604, "c_map_double_6":58.71454354715471, "c_map_double_7":11.470092664679399, "c_map_double_8":81.00208123557546, "c_map_double_9":48.2291428693095, "c_map_double_10":48.834863141036095},"c_map_char":{"c_map_char_1":"RqyXeYmRvo", "c_map_char_2":"xGErQuNAnF", "c_map_char_3":"UiuztgQJBR", "c_map_char_4":"fmSTyFfPCd", "c_map_char_5":"pAwzmacGVR", "c_map_char_6":"uJZlzgeilE", "c_map_char_7":"reoOdGYkvF", "c_map_char_8":"YsvAHvfQVC", "c_map_char_9":"MRQKndwigd", "c_map_char_10":"aPhKRcizzh"},"c_largeint":-1736096648855451689,"c_decimal":88.1837,"c_map_varchar":{"c_map_varchar_1":"OekwLDjndjCHuveFsxyuSKNJHhrkJyMkrdoBOthvdodzmtrzwDaNLtPWppFYiozyprCbnuQQJbhXFQUtQXNhuusIVbkkPTrVBjuPQOWIqtZaztHLZkIJhMCsuNrtqZbJbYwZTTZOdsqMbsvtAJXHPmuxfcOhHLsZvCNRJuquaKhWfmzPrQgSeZUoWvZYrrHoPHFLNLLbuJEaBVftOhmeDMzTAXbrhHpeBtFCqCwPfvxPknDkBEXHilEEhUyDfGRD", "c_map_varchar_2":"aTypYBBofGKJHUnrXfaGrWTKDaSXZJquQquZgcajRCWTlJkAMlwNwrwPypmhEQylTrSwxURMOwxuoigotuQLuyFfzveUSzCcLcOTkMduzhXpWqBkBryykSNeZQXRizGaYnsvzaPFsrARBvNSscRlesJzgXFCDTWxosrMTcPdDsUGfHgSSQhPHqKABiUEnGvmyXXhgZzsjwlUdfiajsPNBDcXkypBaVXjcWiErgBDCjMeaGlUqqGIUJvZHphmBPNP", "c_map_varchar_3":"fiNCTCsxHQcDjHJotEdxwKodzfpCcHUXYPYpWfaSxpPRLJTaeYzqLpdHgadwcKDBSluzgOAfziyxroDjUuTCoSYNeFrwSUqWlhJzzghzfyvHAubyWyAVojliAUHXJCTHTlpaaWeNRFfIGymrsloQBiLGwibGVzKJeMmGQyeuUTwjhSMtsKqWwZngLysjoJhOebgOKUrfUmEHdyreXRCZabFqjasylnKjbwXQlPJidVlTIBdnIUlxxIytMtXlaVOx", "c_map_varchar_4":"lYdIYMixTtEExBiCprlcAypVoOONKOfBOHdAiBOWULItdPQfOtTicvpZhgdCoIKJKIlQfCNCppmJDyBbqdxRtRdsoHHkCjONbPbClAaWWfazcmNggihjcuwXAfSeUGafBdwapoaGgqgqNqlESEAWlAzPtYCGlLmacAGxJopggtBCGvjheHaOEpFRVxfNPSWqMmGrehcAQTpIGQGZedpDfbKbLIGTOXzzUUCyOgOCOzTGKlbbSYBFYqEKagcolrop", "c_map_varchar_5":"AdnhDoMtdyMsthrUzHqdFDknrNRLBnwCfULMtWbutjLImPpwjHWiYuobfEcXDtyPrdnPDadqRyUOPXxVkzoSGYyrvfQFVdELhDRRpCvCRtfZNfjAGLbVRuowFjgCTiywOfwQeXgENDyprtiQaCVOWbBkiBeufctchDtvyNlvhizUuHHnSMOUXNSrwdpQCvplTESIhDopKPyoyVhaFquOgXBIJsKMKZTRCfDDGrTlRLfxwplRMOQycijbgtyCJrwL", "c_map_varchar_6":"vNAHZNdQzOVXiBTFdtnzgMenjcIKShjMkxSMVrmHNUzZwhjtUcpEhcZZNuEzMKViOWLNCvgEtHQUVyTqDsbQTBEzQhutfXcUbkDslBYtYeRuXLUWLECTbGVMHQuBkaxonRnNpQaYZsruneygyInDcbUUEvjtTOsrzOWzjfZCQdyMyCxjhJNOoZFZiEuIPORlkspgKMhlUNEftFIjuvlabGwDgkkSvtkavfJAdKhhLlfKrMGbJAAUrLjDsWfhytjL", "c_map_varchar_7":"nThPxrTropYkSYGSGQFgYMrxGQyVRBQvZnynMDCftQiMxCdtAivErRqCxaIHtZdhyfnVxvKOghWMyWkAQSRVUQKnzQXcMeGjxNgzJfpfpqkfVkYdiZAPhiQAYtbGPAcSrjpGeRWJklHEkjJzXaEgXAuQgLqOncSYjqYHKCXpRkFzBFjqoKSlVeeBTPClBJmMSWfSizhqHgznWqlXKJvCQRSoDzmUPMivhHMKKSbrQUGoeNJksKYdYSVQxMotagws", "c_map_varchar_8":"lmJwqrLkOqNEwKMGvqZmrKACCfJRiQbKmVJBohxOpRgxpVPDWqxoultplKnyZWpLCWekIPRYmYLtDBXciCQRNoOdLxkIFjPPoflxiSFLZPFcGvraGYVSkTnFUAOMIRsBSUUUrwGBDhGwxYBNOtKFAMvHYcqFqUWUpaEUXhPbqURqIOLPtQPPcmcWRAKsiWGDKYnVPnOJZrFSIdYLIaTNHJisgGaCMsVEGevgqGRuMovEAeWDwyrheEXFyMEAZZdJ", "c_map_varchar_9":"XQWnwwOHKlzDWnqGkNIwrSMqVydDFgAbBxxkuLyaDkpVvmcKjwCqDfwxgxFCohDxqovfxSbcoSxxkFgSfPPufpoTRVwthAynLLWviVEWQShIKDHgKejyfophEPRmVVVRMWSKYVmSjCMITNGfycxACppzdvvtLjLhvkALiSocpPqKvwdxBhIrsjfvfARzhDBevbUsKnmTjzSebNOOMlCoSNnOUrGkxfvOnEbONdGcVWoEUFfKEofwGagrWQsdgClg", "c_map_varchar_10":"eRYRLAMNMeCStqsVsFbihAeglJxKexgYTUKGBdpHeQKuNaXRhJPtkjOXBkCRmXOmbWPecwJBFkNjBgZSUSFEtUTSQXgZhSncLMBeBpxGzqaRItFPCbCdziuJscZBQTkJfppVquQYcBnzQcpcptvPCYiGAurQKJpyLpSFVIlEPuTbLDtOpZGEGSxOHgdGHxDlSLZatrNIdudQveLoHyfqYcHLbmeygWAbVjEnTAHFwbYixPNCNMDVqYKCAwnUXLTr"},"c_map_ipv6":{"c_map_ipv6_1":"a0aa:421e:a30e:aac3:c86c:27d:799a:5b43", "c_map_ipv6_2":"4173:3d94:41d4:d055:4ed1:6227:4aca:7c20", "c_map_ipv6_3":"97ee:7420:15b7:82f0:d832:34e5:c49f:2fe7", "c_map_ipv6_4":"5175:97d7:fd20:c3a4:e869:48d8:43d1:f562", "c_map_ipv6_5":"96e5:3d0b:5675:d717:91dd:7360:dd6e:7141", "c_map_ipv6_6":"cc68:4623:1317:c45a:e4bf:4f4d:56a0:ab77", "c_map_ipv6_7":"9bb7:4574:f657:803c:4652:6c9f:f9eb:f05f", "c_map_ipv6_8":"15ac:61e:fc61:95bd:a5ed:35b7:9acc:bb4", "c_map_ipv6_9":"d41e:f40c:2cec:c9a0:d492:f778:6a6b:6735", "c_map_ipv6_10":"7883:4603:4920:9603:ae72:6adf:7e83:796c"},"c_ipv6":"b34f:106a:6273:198b:d550:fd74:f824:44a6","c_array_bigint":[-9124083837286040860, -8249968266610687097, -4090707469583479403, -8368000933514638312, -3100949646390483461, 8875474295678076563, -7953537908775787995, 403606632775174226, -2204731345174198224, 1303339307900585441, 2216192039855823654, -2296121781463844291, 4288066255740082488, 8445002516128471150, -4619129955774818574, -3495003121280005403, -2675058976257937331, 7692831136370875840, 4405545435655076931, 3176625214038607133, 5489698077753741393, -5704622332990214969, -1508979943933652358, 6179693831572260864, 4078498920925823620],"c_map_smallint":{"c_map_smallint_1":20325, "c_map_smallint_2":-11780, "c_map_smallint_3":-27768, "c_map_smallint_4":-30713, "c_map_smallint_5":-32513, "c_map_smallint_6":23367, "c_map_smallint_7":14333, "c_map_smallint_8":9024, "c_map_smallint_9":22740, "c_map_smallint_10":-10707},"c_map_bigint":{"c_map_bigint_1":-9201357491652088492, "c_map_bigint_2":890683308924151681, "c_map_bigint_3":-3061422864274134203, "c_map_bigint_4":-3609622705416070966, "c_map_bigint_5":2252933188356838889, "c_map_bigint_6":6043014001359172308, "c_map_bigint_7":-6611623395919369124, "c_map_bigint_8":-4511971236545075718, "c_map_bigint_9":-7918636574277666952, "c_map_bigint_10":-1800359830111735035},"c_map_datetime":{"c_map_datetime_1":"2017-09-01 13:03:24", "c_map_datetime_2":"2006-03-10 07:19:13", "c_map_datetime_3":"2000-09-12 13:48:18", "c_map_datetime_4":"2000-06-17 13:03:01", "c_map_datetime_5":"2007-10-21 09:12:54", "c_map_datetime_6":"2004-12-21 04:00:15", "c_map_datetime_7":"2012-10-09 06:59:01", "c_map_datetime_8":"2003-07-09 16:17:50", "c_map_datetime_9":"2012-09-15 08:02:18", "c_map_datetime_10":"2013-12-03 08:24:30"},"c_int":487194616,"c_ipv4":"128.34.94.13","c_array_date":["2003-08-22", "2019-02-27", "2000-06-19", "2000-08-21", "2011-02-19", "2012-04-12", "2015-06-23", "2000-01-03", "2001-09-21", "2016-10-09", "2018-07-15", "2002-09-14", "2009-05-11", "2004-10-03", "2015-02-10", "2018-06-04", "2010-06-11", "2000-10-26", "2010-06-18", "2005-02-07", "2006-05-17", "2008-10-07", "2007-06-04", "2005-07-16", "2012-09-25"],"c_map_ipv4":{"c_map_ipv4_1":"193.164.173.53", "c_map_ipv4_2":"50.114.50.235", "c_map_ipv4_3":"133.148.192.21", "c_map_ipv4_4":"171.238.94.205", "c_map_ipv4_5":"203.28.245.79", "c_map_ipv4_6":"122.53.97.42", "c_map_ipv4_7":"211.8.140.237", "c_map_ipv4_8":"176.240.54.67", "c_map_ipv4_9":"217.147.222.95", "c_map_ipv4_10":"96.66.31.175"},"c_array_ipv4":["IkskUhazXz", "dxsXgajvdT", "ylBFpzfsvM", "fxoiqYfcme", "ogsFcOQDON", "evtcvnRVlY", "jNRBTCleRj", "WAHOpoRMNe", "oFXLlsZvld", "nvlbrGAuic", "ZUsMvTSPrb", "DuxDgrKXTl", "FEtVzxPAkq", "aLSDIxdgVc", "ODSooLEfPG", "tRJPAQUtGR", "MAeaXOGxCZ", "YjlxvCulxN", "xcTvNfttYN", "RRyZCZKGpd", "NTZmijNWHH", "tbIClAmIKd", "DNvBaBCjCd", "uZAOwAUnqL", "FnaIBqpSqG"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_boolean":1,"c_array_double":[17.788842984556723, 19.27594316031491, 69.54217260232198, 13.306070586053181, 68.02252716143364, 2.498431648166613, 26.734151345257317, 37.843718865568626, 95.58884729099795, 95.21779576268409, 63.115903374196925, 76.444656688593, 10.800904915473089, 91.14993989274033, 27.287717551337135, 31.836467225321236, 42.221198464613174, 41.444760312516074, 83.63617027538852, 20.28834043772564, 79.71764810293018, 89.27912603492022, 65.95098737824911, 62.31125771234825, 14.91356570415283],"c_array_int":[-782462768, -1475703347, 1959365201, -1407703782, 1990157101, 291577775, -46522438, -174024598, -1760060860, -1088481363, 317557214, -1344632540, -1217600761, -141004543, 504637760, -1189654165, 1220455196, 1324524716, -1337616702, -1484208936, 1477505945, 1928881592, 44850867, -1318799933, 1404678279],"c_map_int":{"c_map_int_1":726246269, "c_map_int_2":-1667967431, "c_map_int_3":-1108786397, "c_map_int_4":-818915459, "c_map_int_5":1158866359, "c_map_int_6":667093095, "c_map_int_7":-380147573, "c_map_int_8":325600029, "c_map_int_9":612780365, "c_map_int_10":1904448493},"c_tinyint":25,"c_datetime":"2005-11-21 23:23:26","c_string":"mnyTHoNHHTNRCJSlcRIcmYexEXYlMReVgavZVYzrFPOdbIdZLBBzmuOSFVpfEqJXKRKFLscvVXwJkZoBkAqDppGVteFVDIWvSvRxhWFCrLPIrNsddbEqBSXALkgMIWTDmWRWPTncldzgrGfCOaifXWlcgXKSYZlvDYGxbmsiRvalWGdLPRDmVOuDNmdDnuOLPCvQQKQNfAnoChPIVNEnnQIvRQpAYPUkmipbltcsZUdBAddYOaxRQQnKAQnAkIIdHjtuqRIdBYJTVZMuEMlWyPlFMWByqgDMrwFXyCAVQcBxAngBXckORFKeaGNwwoViJZCXbabmxISzOQnrkQazIhjANYnGfJbIajsUdHXrnTleyMuLOWZEEcUxysvbRQnQtiuQzXoElOCXvIjMhzPZkOEDmptiYXBnlgGqAKVKYXqhnLScITiBYIumqUQkAtxczdRVWAZZiehLMTBriwZfQYUCijqnaZiNKxzOdUzhFTkYqTzfYdpyDGCbIfzEhEgj","c_array_char":["kGfHxknmuP", "QjrXMeRFpe", "jNIvBAsJuc", "TyLIHnMObG", "zCcgZDYwrB", "bHYqyABaZz", "ghqCrqZEid", "uoULBpsAXt", "UIxkUpIDlq", "IqfTFfCcHz", "VrPIMvWxqx", "ezYoctLUjz", "TglzqcbVIh", "tXLgrwcrww", "uLPRxJCFeG", "ptoVjhoiRf", "oKLBtmTdZr", "XvteFhCOww", "fRNAgRNHvo", "CFLWcxYKbS", "AJWDQGfUTz", "MXKRiwYQvU", "CawGqGbLtu", "FqexVjRxuG", "qjUIIDwNkL"],"c_array_string":["gdbWoXdPFJcJRRgaPkIDXMOsJnUqvPzSobSVGBMtMGLAVipXmyrAJZktFwbhPoZrKYqsmoVSWejljZoIMrvglfdPtnLHjMAfasDfepLVsZSTQYPtKSfykQWfXfHfSlrYjufxTMkzNhyFypWStpTuMfszzgoUFljPyWFGKxpnLRgSOlEPlMpSOixINlzkqhkQdnsabZddQEzzJgZStyFGADJlHBmEFZCUraqeiAgiCzpTxbHvcHinuHZPRtGHupwoadOUCumAJckoflnNuOSnGRuZqTJnFWCCwSyorNqcxXJtbJMuSOrbdJxDTsjETtZEcoEhiGIAHowFhDDUVuEjGgvhxOiOCYwEbutMceYwrnljZJQyiwIbxMXjTwGDFOymPxpbZJeQRkKNsHIjWtkWkxZMIHLmQroovUEzqtDjRvzKJVWIfPxBTguJKKZQggOHuoeZDqclmdphgzTzhIPkVFRSIwzUYhsMkWWVYFibSTCxiYvHNsXXFAZXEcDVRtZV", "HaQAknAnTasbhtxCdYgruBSXuzogUkeSdVIUMwRpLqGqmGsIjYfQrCYHqzjUOkKlUxnUFptfgZzrwROxXwqSbFAqoUvEEpEqNfUmrSmzTpqKfnBWlABnijeYUehBzYImnbrQnPcUGfbWzMKCvDZHiXZbhHVwxeAVzUjaPUtttkqSPstPrPCTObtmSrnIuzpvmfTXSdnPQUQLisnrnUzSVAFvcgVdxxrUGgMPIhPiPuQpUwsbERzjpmzbISoKUSUXlDNkUPRJbiPYpFXVMRrTnMBLpDOJAGCOyvnyScPMFyLBEwRCeMNZcEliGchdfPfIonetUhnTxZEOJXlSUoXgJNcnSMOBfsnkHtoefMVwjnbwSPawiHlBvqoOYDtfuclJuSNIPKkpwINRFLigSJacPorppUDJnBQVwcGExGKyRiZrtBiAPAeiKwnwwnoUGzTqVsmiAmLyUBGRDEXQUvEqzCyiKvtUdymRBlQBrVZHBufXYWCTlTwvVMYrJMFQRwlo", "BogzDfAPnFGNxZvjUMuBoLVWMjfaioFKIijjerfynPypZWZZKcOEKcjmpGMaGtxtbxoahBrqeaXiXuBVEuuMzCIRyMSTtJoNruAVVJflIfrRBInHmUDAAzZFzGUTdDBnGAsEVnJnPZpFKCIooqnWDApNHiPqxkjwiRLuKcKFhVjmxmpwuWqhJxycvDsfempKAHIEUUFzIUXdyZYfqcWYtAIYplATvEmIlWijZcWquRfFoLjNnwgPyvJZArqVKMOVMCmyxxXcSEDqCvFmNsfmjToTZpqhWgGXJTdOKpdEpvJPTZTjtbjhiQnJzedcZuIqTNriBCUynZZgClyvgybcAlkXdXbCcCDWBayvCUcFXLBDYxbkrgAwIOjruDWsSchdrGtKooLcvJFwhdDzRsKBLhbWJOpvhLzEdbbBKmLAEzHmipFnKbqxnoOVKFxmelzSmwmTWPQptDazakfkLpvRpDlGWtAdTOGrgNZGQYtTaVxYvdhIsuRCDMYmowSskGgW", "ikKWCJHYoRNBwYMTQxpnBKmlmZbxmOkybnOlatCRZpdxEXaovHkXidZcqAsjHDtvSLQmhTAinHjnBwzvGWrXyjFbaEtRJFOKRPZVaqhVFYfnFhwQSopnIlgvlpHDDucyYfILzaKPFQZzXMnteRZrYLfXHVypBpLLhemvjurqyRhwdypDTtAzVWWjoyFYcTNoEOBiQoeUvmBQRNadnOgxaryPnAhPsEsEfZifKxNAzmtDwjwUeFDTPbBRSYIYktamTxiLMPfLAYLwMDQLDQNHuTTMUpjwHPbeYHwXcADFORhTBcKNImoDYBOvoHxfjDnsVDzDYKlnnieHlcgRhlkoFtaoKhJmcsOsaqurDXzvQHiSlISorVuQqCIAqxjSckTTOjUaHLzGEujypaBqWptweJvPKsGWRFZZKUxqaVCMhsLQIUxsSLqlqCnAuduXuqvzBVabLblumULHXWlvJRafLTjGEXwbJaMSYoBWQvORcRkEwAWaDDyXWMlWeLztQiVr", "zPGrZObKraQkLmMCKQYApUrGzhJsRouQGgOBFKgFSDNZQswnuwJAfuXWZzcBhoMJYyTxTHcORpRhlIJaKmJUNVZfsmpGagUJlmASrMYLGlDBVbODAtXgANYUbhavFkvroDSSFCRSRcwQwfWRpReUITosODRrJLkuIAiJBgWxGumdgBtGQOrZrocwAFjMaWlETFdycacKxSCjvqgvmvFDdTPuiijPjKXXnkhxTYGzcPBPjEujedAukluSfONdKhulZqFSsAYDHTuJDVAhqVjKLTjBtzPdtJNYmOZEnMSuxdFNPOiHoywWKzbFTOLkuYqfYHsoozrcXJemkfKcTsaVHeLWYAJoSvEWzCGjRhPURGMmmsTmOnRfLrpuNXFsAxFUIriNgekKycxTxBPvyRbKqKqjgxmKZSUUnXnJPRtQbvEeMsKDfHbYOFVTjzHBQrGJioIEeCtbDouHoRBpnYOreqFZSapVeNSdrFffHmTZPLkkVvCiHRIYBtrggxDARjRy", "WodBQwQoXpLVEDpctDRfbnmtQQMBVtdLkpqQDCYtoBJCpgPQHVPtDodfBTcwTcuMyZsyBjFTGjYBFWQTRGvJcFWjRjQYVEKYfbxgEWFTYjMggFtTEhrKGrhECGOryNPnqyZQZreAkPntOVdzbJbArMuzLTMXtKPiuZYTydgaODzWziuNUTSzngccUzilHcxRtqVtSKnZjjbsQBbfeYqztTBloqqdgXmiesdxXAlqtWdkiRpGjWLRIIVEmiTlNeFmuMxcsqrbcrMQXxgZmyMJyMdGGskzNjlRCJHqTbYGpnxEDFUECbIGvVHboxEVWdQDMvwjrmbPaaKOVSnXYZnDphxNvbJRUgmOliwMzKZawlflKSOtMcbjcnIzXByWVdlTrJgaNWunPpkfQfFIEdYBPaLoSWQbFlLmFRvSRPXiNvRCHvlUkZRyRwJDIClWVPjEmZTDmAhiIApxLzFogyEeuYJHlwAWkzevvOulciUBQdNfRrRPpeTLoHaZVfBDYJAv", "JBkABLJoMtnfpeKGScobvdXvPdTGUTSXcKptuMdVRCegzjjDDZtOABFXyegifbrIUMzlOwdmRyXJubayqxDvPJQaiHTXSnTkQUbLFUAwPFcZOowoEqFDtJvaPcjJLxqaXJUModCDWMqTluYolibMTqdyDhTzZXQtdTVkIaJNezSLXzYlDsZTWQUDhozhfayZfdSKukuxpIfHBseAnWmDuJMpzWJEFEFTGGlohIooanojkJoBMFPcpEPiOnTPVSuVuAvGAcHqVgrrWjWbyMcYvHHhjAsPfBxEiaBlezhjqAAmcylGklhkxArqakCmpUycYJoOZYfGVatcAXDFYhRhHqRchMxySgBPVuVFzDGcfdVxpcCAFDBQYKxvaZUsRNornIeCECKZuwIozMDrUxJWjgJMzZFvYeodXJsnhCyDFhTQwMycdrhKYufFCncbVujfTfwttTLYWNytQYLAehsDadAWYsfFeCWvLzOqCqXcJcHGwVnGfXGmblfdwbewENnZ", "XuneBrOfqgdzIYvFhWfpkWDZTZzndvpcJGgUevBvKHLRGuAAiojKfKOGVcjbTnmUDoiRiIzXBcXibUJdeegUZNGhEHwzoHPQOSLGuwSHREaBALcLNIXmrmkRmSNINRTfOMqnfVNECKiygRLfSOSGZJlhqtQRZpwpsPIAqiNsAgJswSnqnJMPVedmRNexkXEAiPJKSVbsedXqzATaVWFRulISszQTyVlsHgdeHBCJyyBzBRmKLSrVzmjmHDUPfgDKOxOgPBjyLAZbvCvpjLDwMsVZqifCVrUVselQXlLakYYSbyGGWBOPfFNPFtWzyVATcOYeWgcJLczVsNKXTSPGUBxtSWZwRnDoNeEuRrmWTvFcUxKlubNyRXATOobtzJGpVQrAqrSMDSjXQHOhvQOymFYykhKhbbVqGbYNAXiScnXkYoDkUHQRNrSzDCIYDyXnzmOgIdnQInyNwxmmuvEMApPaOehZYolSNUdVVMCiAATliExkEjtnTiKFGRCHXsrh", "HyYRZTGlXxnasFfESzufWUrjQMVlLwjVPXAMqBIRgFufOERJGPlQVVjXGHDPNmQalTEPEvJIRQFyviErDzAcRZOqfgyCFbcluFvRLMlvFdGTvbUSGHIzmvkCLnGnHWcliQCxwTOgEVGtoMuNsmUXJPliKVVipBEtFcqoRNCpYLKaFNyiRRuzweXIXdcqnKsGDcXqdiGHDUxMkjJznbTESGnKzhgcEpfLnAWuXgAeUBbdXCyBLyIoOrxYALQYZOWpYyEtiaIGtPeaMrvHGJxFgrPVtmQqwwTxnXzYtMYIFYuqhTOFIZmlmmcjCLtowyApzFeuJYBlbrpfLEUacRJgJrmiTeCUVERVrtlLXCubVPRKNJMNzAQKFEJPOcIMQKMfClStYKxAYaAjthtvcHuLfjyrgfZfybvpwOSKqnTtKUyjcmHTRyhhZQzSkcJofTHpbChyZwWToFBDmMtyPJWkEomRVlbwzLAGIqIkpYkSFczDgugcXQSelbvnUzUBrVDE", "BXOlkcJKkFJgmDVhpkXWgALlGHLVakXGXGiJfCsKZYkCRRvRPQXcQepxozUZJabEYAxNymiaEQxaiLpBTTYyGhgaiJThHYgAmoTSOpQeFcbSHqTTmvLzdEPIGiOLBBkFByeYzzMSCAaobbiNpogiHSMSCfJwwMLuqHjJHFpwYAryviUCYCdYTYDdgGRMRSrgwlspurnTmIxHdrWWUAISMLrxJurxEllZRGLXsbnEnkUNKsmiNGeeFVFwVVOlOGrFjdHWWbpXQRuxVJVELRjaPyeAyObHlEYxCzMzJPgvLRFIBaGNmkIAuAhUlqawmXMbdQvUirOosBfxTsRAJOsIFKOCrunbBmmTDUIlruPMfBYQyMdOTMSFHYSMFXDgovYEwvzigGgklcAvyoQFZbYTLyrXWDnDrfnYPyCJjvklFQBNprympbfKDCJHjjWSWTISshyVqdjrumSTapYXnNEjGNOKHoiNaVkilfTpcyrpGxzfBSVVRWpPDxyrfucqXAfd", "WOTYysFpUuPCwUgTNExMZHROrdyvvGthZbWnbDGyWApFZoJNIPsIyuWuTsnMqBestOHQnbItnIHnZZSufkWwkArRdfZAeZjHyEOIxwANjHmyeVAtTNNghnPdOsflUIWcZGZdDpzEGYdGpksfHinQKxlfROadytdGuWvZaOpmaiQsvsuSxGGtfiaiZwJdYngnJeCiZgwXstbsxyQxSPzubFxhMLypueVrBLqaPaVPMxduVFpNmUtZPhFEPMMClVnPhsopocSowAsOeDqmwAGaVVeAoAMCwKFgHaDCuYFhlqRaOlYVpieSrWnPhvlVJzjBfllMDvgiAcsxLAKVGeKqEjTotvohVomCEpIrNlOvBGEKzyTRTgbJQdSddkXRJQmDkweUevszYKakhOXPJrYTMMxxmfTwOUTdfKUDUbYtrbOclIgZLKKxUAmPNTtZhOzLOhRJkCnXyVxtDNOuABHSJXlZEzKCXKvbygzaufLRFhXSxXqNizQpzTcfRLhAcTSa", "ZdwBJCnJHurGbeUvKzIkEGRcLtoDdAKalIzsecOReCPtVquxAQxtAHGLHwTCECPsjPjVGwcafwDZmsbKotJKiCmGqLIctneMABhNcbvZodgaBtDhcJWKKeXVgtQEkjwHLbMlFsIWyzmeQfyXZZzctWdUlzqisjopZgvkdUjLHqQbWFCHyknstvaLwFNIwhlyMAxleayIphbxGzWuVekjPbVSDYjzCipftIhHCgVLrLQeSqOkZQqOKCJwPcuzWPrIyAMnVrNaVQlNqSoTryzMhgoffgOlpQlwextvAeXDedbUjTcvBbWCmBAeiNRTbNrPKnplyZTsnldxyYCHapwkmpPdntcaMYIWXDsdzpCwZpQFKbrJPazOPZWcBdhtltKAVEHJlcMScBXzrIjFzLiczrHzdrEIoslRawFbhXaWlSJVMErNzAtwnORNfpYRpkRCXJPFbOdRsoHhybUgWlrYTzJUkxBdtfNBAkUrgsbjethkQeLvNrHMxyOniFIpmzzv", "BmrFtCEgqDpqEywbICrZejAPNWTPftBnvxWQrcYfQJTIAuPhKjfzrGRFHLcUAqpGxNXmYPvxqonfiqdCrkQpsysnOjyKMkpgRQJSNrtDYcjMlUBxdQeunVNlGJhyOBhmXptipaQLATNlSBCxLClMBzjNMQbTTCCyeNCWigejJixfRzAUvgMMNFottizuCdIpAZNDNypZbQQiENksVipstHxNvqOKWaYTizBIsdGcDcmKfDJvjhkSshDAtnUgTldvFPtNzdQpmQssiVSQGjGAlZsyPyKbmuuurVYwxATGtFTzDlLgZfkepivtvdrGGSpDETkNYvdPbnpflEJnGDwXSzyqjhJWjuKobzFsnHuaHvsWbptBScUxkVyWjmcHOWeDuLeAQLdsxQKXwnCShmGLyOPGIunkPREBNzWHnOMxovSboNrtieUpMwHBXLOxqeegBGYktRYogSacKyRosnJBlZZDqfMbAVsjFKayxZgAWCLcpcMSKXVCBlFXuGjThaCd", "QRcknQPHrfAkqYEXpptZfMFHQHezTyPXxwpqIBUlozCTuvPkKFaHgaIicZfgcHstFaMaJVjDLOkicMgBmWROIKXYdLBRLMMEXKLUTZJKeilsdAqKnSphjKDWMxoOjkpaMoJprkSAXqxPXNZPBZYFSxtJXYCzURSOHbVhxnRfAZlLIZzRqjuAwQARIIXCPKMmGcYRSWqGvCBzBnSORvyrjRrBzRAKGMHdLFwiboZUISPOSfhHuKSjXzeFdiSAFgUAQVttqLZXHQJUmxPdqUfZvVNvFWyDEgyPcxAJrDRhBFoPzTlpdMyRqbIHHUyFlIeWyRbOLSQKCCdXDXjOKAhqpbeLnQIMYGfJvFsDApWkWTHXHDbVKvVVcRjKUWjvGBMzJDxEkCnGHBHXwjQeXPKhmrdIisiFitHTdpyFRGVAxKsuHXbcudUVOIUqkpGOPtxXsTCZCjbGieIbxWwAAVkOhHyHvbdWKJqcIAKggWgeFamhtORfmTiOvkZoOPmZmeLt", "AqoNiKaRuPVOrHaekotyJPdgWWgqBjuBnHfgHuXYjjEwOVNfVYWNMIlxaTrbtlbejnSQyCmpnjptjeRFtHiJBPqeOQDvyyFJlwOFxokQRtVCfgPneBvOhgYWulpvvqhXNnnhCknHroRPSPDPzAICuSjQTWVDzDqGDPTbrdosaWmVEPvFirtFOphGhxuNpvsxcwrXevIRHAIfkfPPVTWSHElxsxbTjDuliNsJZomvMRDCvmQDewOZclHyoAzgraPCbquGPaKfeDMHcNZehenLFWTtaHpKWyHtIaLJIiZZxvNRffnNMaPivSwSYsGDwSdRErnNZHcHHwcoVhBGQNCjhnOajOWBUARAqhpDzcQlKtdYwWvBHEFZHqYomfnCZTIGWettQVldTHusAxmWJcySxPlHIPvIcHYUdOaOnoKUgiOZsYmxTmprziImQNpPSQQvDuiiiiXFeuBuXllQTkiJxzxIfBWcbczZBuiRnGkHDwymzPELkWjjCNmyzMixVtjZ", "WpzCvLxtqHjEcOuIzMvrRrprGZfbKCzWkCeQQuFcspePZuKsNOTyuqOajeGdwbJAdMxUwiSjCwNmnbYUPZZNUqMkzZpNzRTnkzVQPHZsWvtNwjgJGCaTIMODqrrwHimAzWnofysnvkIvoWCXpjcejLssalgJmpQgsBdusAKRXKLpyleZpwjMZbfkQIaOmLKDRBqWmklgEKxIQjgvTiKaPKepUFQdEvdVfVTGiAnViaDGBJlHFycBvMyIRpkKCOfEnuTZuRezWsurFddMHLzFvAfivqlyhGfxyMTETlJAZwKIFQEyddNqiSvWoXSxpYLvhgxLVRBOypINpKsijskyIdxPAZTdqrmaZSJdfMbknSWucvNVyckslWwxjDVtfhJJCGfdKpyExkvxaFXkCuSPVngkXNOQqkOpaRNjIAeHTgpvZfIEnkraxSECptloFWskSzPdbBFjTScAhPXMvSKOOBKkCmctQdIIjMEaWZMkQlOqMFHuvWyMBFnoFRMfMabz", "VetZLtGfOuTcylAEcdyqZfvKsKFUMpYiWTpiKUjpYbWTCEwCTOZDoLpqoevNLSCdwBPtKNQBFLFadkuQnOqMxJDjnsTnIazPlZmmAslHpXtpsyeJFTQTtJRfWUciSIAdXrWzpfIWDEpPaAgzvrZcoMwuFXoyJnfCYGKEjtffQxKckthOMxmdSYAzPBebzfvdFBidKojXKrsgzZetJAEzLQfnpRnChSDJpVYoSSBogOvJMYLwbShVnVpHcnXtXjrBnfNxoeJDYzPluXBmevnUVqQazPmuoxxNogIoIuqSmOzVyAqBySioCekDJqGDiIAMPmPqOIIgzBTHoaOayNhGTCsCHskTXkepKRbfTOCecLliWEKiZXmLqHHrXSApEddkwiuyrrGoELPeZAQGNpnCnyxNuseznOjJSkAlyIlJAkJslDHYuHXhiFMFgLLJwKLPXmkqfnTayWpYUyPKXGbwMHuDigcvbnqdDfQWfiNUfSJigPOfLYiVJxhfUuNuEloo", "hylKCQEuseMUkEjOalunreaQPfJaHujtWEonBsZWexaMVDvrEmWevgBmfGWRNnfwNchCRkxsKBuFsjzSzVdJPINpxHtOcftWsAtpalMsyNmuAwjaJefZjsSwaydiunQSnEXsmmLCeBoKkyXsUQKmpdIaYXCukIlCoMCYkoeptRGecKrYCSIUMkYEZMtZAnPIuXHKkoitCogymqhyRiHAOUcfxnqZTJdnCtKrhZsbyjTkbkCDoSIlJORXUWHtUfPdrCpmkdlsZWNjEKJKAOHqUPunzYaBOTCUuacscDDEnhcpsqFHLtfcYEwjUdQekBBZTUsAttgDgueqDnkqwVsQoyTzLfhwnYMlsUYdkLGyOVvADOCEBfOTWsmzagLOrFmrjdZoFnihwguVcBWWmKJOczqrWkbDDplryRrNwYZcfQiREGmRXZAaFzGHurNVOOZdPkmCVDaAMaaJzjaVHuHfoDFkgFbEWWgATljrVrLDlOFuPPlQGbhqlzZAFxObZtkZ", "NrOpWKalHzFRDCfWGiFBqeriYaDUgiqfFnVSxOracfrCRTcEapVnxmGvaKmkLwUhVQyXlLwyESviiZyaiMDqTvCXYLpQJzxfHdQKfdlhdudoymOtpSnMaISlEzvUuasalPytuRNrYPsdnubmnPyfwxhJKRDbOPunTsYWPgkHscyWEBnQMacaSoSSWkbrkKYDwBGZzxvGCKKwWWRVryYYFqGHYmvjVYVNlKODheaGfYTDdxxCdnsrDIYSMNQTtqGiapiGfSrMzolSTVEhNkYuLrFGnFNZuHVicRBOJseRxxzlpgcBRhhbunsSkLhyIrvcuUNoFNNIYOkSHQDKmHyaKPWqBKXIakDOxJlFmreebikejOLnKrdZfUNWiFLtdBjsrQNnhhlDAOekhbwpzkfwvEhZeWFqAekhcgczLrssjImJJfvaciZjODtJFMLKneufyXNaxxLoWZrDnBFqnMByOApXAdbcXYaTIPsEsSHjFtIBznTqUIBjFbKuFbPlkOeY", "fjfgCsHKzdOejGePbbIiEfVEMfAldQajfdcMpDTnEfWrCbNgdCwFPdmoQjfTSXGgDYMZSZKZCbUDTWWoVpTJLwudsWKbXTkjtjtVUfKaPoIUyGmXjDtqIggJoZapkONMhiHcKSWpLLadMUzHrHYyTYECbQjYUJKmqAMrEVMRHcVokMxyyQispAdxsjWqNUHksGZxJjQuTrMlNrxCoFHNJXnVQrtYXlNUHINmvpWsnOAKnmMHqrHdAqfNTvVsmndeGlcssAbuYAEAkgJWNJYgjLMghcXDEmexkXOnOXMJrvqiVqtNAUierfzQMXiTLICpUnemBsFCYNVXxEZaYqZracWLPqiZllMwVYELJzxSxvnhRiTBUpfpwESLazoMTayFPdpgvIyJqARpcVfKqgIeJpqqcjztrPEIfZGECIbQgQMZjNgHhUMDPCWbnDaCAExOaZISnErUhcoihCwAWudwZbzYLBjYZlFwRBbWtocuFOVbEQmlURMJRLWvXNFNrJrc", "urrFmgFcDQdNqECpgDvWKAPdNcMlMtuAUqqnloZeOZnLAYQLrbwvmRdbWUqpIeVfOFwuenzpsUENUvlqAqKkAoNhApPHQoXouvufyLTWnDztUirjrjefALUyPIdgJLQvFqcnQAneFJdCFqKXOEfDROsHCdgXJRXfCLJuULrayDlUbNMnWjNWEhqrmNCNGZJobOIpJaWjZcfIbyRomUzGWkOeIaLgcPSbEIbfbpFpAUWwiIFWQBMtAlVmVxiCrLNySWPNrtjOmeWWPjHZdvXALbdcqviNxBZsCIfDzRRvJZmJHOwVDYRbZfGzVHQtEoXrypHDwKXqkWWpCdKPbyFERCOYXsRxzwKTFyXPMXTjDbJusAevHcxmOQXryxtuQvjVaPFgrAaYyUEWdKGGYFNLozaDukdOmghRKlKGMWEekAiucfDngZrxwbWwFpjyFjtGKgfCsRJkcTQCkKiyYzrxMepQeNLRIzEkxxkIdXUHxIlmmNUIOHWYesahxWMzeuCe", "HmnNmXsWoHGusQGzmsgnCJkfREDtpXyFAcBlPsJCqMYeekDXAzXqiEbqGWqLpErsgsoyPHOWSvntXvLbBKDgcAlZhJVQjHRKxxsTNZBrPjZtzLtuunUNRnkNYJdSQZdfMYGfASELCpzigmnslirdvbzEVcuXHbmtWQPBhBLHpiUmVkjltqYwNPFmRTsPoWaTBnSkolScUSPoidGBRkcDUaElZIOepzsoAKCToOGRghJvMGWivEuMIrDVQuUJiaumjuYqWkwQhmLZnERCElDDbWrIRhbvUijVyLkTheUHEIKpnZHZhuLOsarYeSWdFSUpEsapLVgMgGDbbUDnwqobWsEktaFsTKrZoSOnaDFGsLQjnOCvDgZXHjetjkIEsnsmsqgEUeiFgiVyOHiHbxxKXmcwlzCxQhSJNfNtERfDLKtHVssvBxsMwPBCjZcnVIllppqcsfXDbhmNkzirdZBeQeuEeNiKcgkpEsMhrmjpQLwMJFFPVAEuhGgqEGSDPMSB", "TaoPcrJkmJBXhYjcMOGXuACHADKxrEzzOtQzshfKnqOlZjMxGRwzGalTQMIcOzhQQCyTuKfKaFhxFaeXISQNLrERZBaFLsnXAzraSSnjGwCOYtOhkshygzEQRTUjyvEtTPdctQkMnwPANTdazPkSunBohebLhvqoTBtlCFapasornEIfZOCzcUNNATVgCJfVdZtglIzwYrkwENdkVejhuVLaBdaUTWXbNaqfrZJRoIraufcQoCFcvaigYgQkSaBFmaMWlBtbjadDEfmxshfrHGazQeBFpJEqkpXEEBJFLbiYrQwbZetvIemTpgaRcqRmdOPAlFdvEVlHcPwKMWutZgRHWKhmKDgkDELqStZhrlSOhjVUUgjDZOSSKbmdRWijLcZGHWbVOVMWgFbxFdiAcgOXWREnJfIFiyvKFbDobiTIHhHUPenQVHFdqlazYxFWiDLxJdAyZuUAFHOHeijVudvSoQFPTxOmxMoiliyNILgubFlEBJGwlhkXuNAgCYPY", "HaRmeaFDMTeOvUvOLgbHZzoijahucTjvkkOLgXogxuySZykeSoUKUMvpjJKTTdqiyRZTzHdrGgVcAIeLEbWJdadyQljnmiWcMWLoljsDfPxXAbnvasPphyVanQAQqybRnUbLSbUIDQhEiXFwtFNKrFhYPaCVWJoSwjSZmUjIEPykQszVvtMllwoZMdRKLaRmLBKTNyIiqawFLpasDyBnrSUYbDdZQuiehGdfZKmzsdPEAmpOocixYGNrOsQbdEnPZBSYdvKCBnoCnkYKwtevUBaASgqQjiamEwdpWbVofnIrTyZYnCjamgnWdyMkRDJJlFnvtPVIlqLaskocWiAFAiEqoCGGCGTqCPhJSOxhyUORKrWiQgKwgaBFeVvjFJzeHeAOSsxpjiPWfciYoeMEghajcYCqyRuNChynqRbwFDXrvEbiDxCQGDSPUemkUNxKEhvNaKmrLPrnaLUAqPIkOTUxtkgmCBEnSPLYXakOcioYQSJrwyUaaATNpSXLinCL", "BilOcrbTnARbSrTlfZSDrumuKmRRBptLMTagoSXGbqwkpfORzUnaJurLwVPRmWRKLduBWJpoIlhuOPqSRjSEqqzKSECHuzIKPHbijMxnhWERfXeOgXdkHwmSIzVvQUZXpWKzcYbMLMYOHPbTSTymCdovFenPuQstGznTjxNOjHoqDYOqJNIAUKoOiJxYQQaLYpXWDwryovuKqpYFbieJnynVJoRLjSkVIrhnyrpEJJudOrymjGAsBOaaKwVGMOOtkGEALADQBWJXVPOUBKkFpyhCuuljyPescNUDwBhhNbGbhaCAGFWxGRGsVOEoeAbkrjgQouKvfLhLZqvSoqsLucMvvyvilAoVnQomNUXRFKeSjJzZBDDiOIwFGkRPNTHEgUCknJSxyCnLCRvZHZhqAmzECyqETWJJsQEnRcTBAnhecKXUGtHjWvocqHMsJgyMxGAgttUnGJsGmWrMMzPSomXFbPkKTcCmfepdllrbCyJxUNPhPVKyxBMkpBxjhTEb"],"c_array_ipv6":["MJNrLHUqcN", "nBlnpbBAdT", "AuPmxncXGM", "iuxgFiYrov", "lnUKisbZlr", "XMIfVWouUu", "UicgpcPULM", "ZqQQFLKUcj", "ohBgWFDONc", "xuOEtrxAiD", "rkunTiUlGN", "AyOapInjPq", "SqvRDCzwiv", "kJnOQnmxaL", "CvgxdwyWmB", "cPqNpnyxmx", "dZpNjopWhd", "oGPTsBlsaQ", "CSZbegZbOt", "ILueIYdslz", "qZtbIaEMKM", "wFRAJUZbjG", "vqdcaEwRoh", "HUNBTZbiqE", "ljEQxCUqUq"],"c_map_string":{"c_map_string_1":"fAESDZVKnWVJETgJOhLTCtKhaZbBiClciltgMIGfwKsqAJYXGfJVzQGGtGjaxhGlarDZEDAdCHVKoYgWCoxEuWZkhhinBqbkeJYZKeQUfBtFILrKlZxrbTDiQCCZiQIFUkTXLmQgotRpAENSBcHRVAmFMSIWZagyaAGiCvqugZibDnAeuRhVeRfzGiHWnYXjcUrTkvqWSFCOdYtzGcynaENkzQdtibfSdaPuaRirDDdmqEVYnnCQMKLikCieKVFZePkPMinrkRTHjGSGuKVeDOTQPxSQNufzJAvJsDAqIMwNLJcQuagQAVoqejljfcMsflLAljwUmoySInRPDIdWWUwevwMTLDVjaqFLosTPCPCWrlmVrlrbLfWQKXlWAnpgzISjHMlZOxcOVLtEYcvUEKAnudkSOcdREgUnatwkvCiqyVvplVgLvYGhQQVsnBKjirkXulWnkrDsbhVWrkqgCcAClPAnlwXqRrgemtmzAhMJRCSnerISRXIjNOAvVJLP", "c_map_string_2":"ACckdOfvmAPksfIibrpeDsZGZRVDmyefagOkolwXQsnZTbVgVSupNJyuHTEzgWgJenskwBplpBGBmkvqPXQqlZeTurLticghHYNuwXPhfzjgBYMIzokNAHXpghQCJAKTQwbPbLxExEYjGrfPXLdBgUBTpjbHDTsrvVKHnDabzAuXeqMivKRoNcSGrgpHaJIZrIgtDzDCnzSRkNgsmItTEJXtIDRPkOtlkNzyEvtidLsYCiLnMiWyPjpgtfEDgAYMrsYQiizlRNApmlJueJDNAsEajxZekvKdAAsmwLnmptbgfeiLrZrMTRhtBpJcLsUXeKTLAxWlQUxizogUlFySsONllJeOYirdKOumzOsuaamWlqERgAuuuDiSAStNJXjSXWzAaJLNtKtgVNJwnVhBYbAmfyFKmFmpHWpOrOGKhMpKLoXkfIeXrRHDghMMIlnYzlpKrnVpsOLIuNAwhaMUzdfJLJWmeLFkuYJcqfLOjRliOyaqwKuySNAxWzYsbcZh", "c_map_string_3":"NODhqmvSiGVCqyiZyYydOCRoPeErysKGvKtSCJxIscuoljUuXjVMKShAwXuvrqPuqCxOYaILjgshqpcwefQpzFJneUegtQveaMJkGhuuGSXZyMLnVNjIgpZsOXjbIlWsofgAIrQiKWqGwyELXTCbyjvKzDXZmyfBcvUjqooxnwebkYCoJNQZuSDIERqgrXyBBhbybfEDOMYBiUFnVzADzxaSxYpupLcYvRrWDrHmQIRjStVBLoVQNGHZFDwBeAmuDblRcuwPGpqTUpPwUqjsChHsOKTpwFLrMapkekXiHVZScHWOzHcUTldNsSKQbumYsSsyBWThGWQFhTjuoZYBvVtRkyGrczYDTjoxNKcqjbmnzJsQFZjuzOJuqIAnnVgcIYbZbcLoNNlbVcDpwqZxvEZoFaBVmOUURwJUYkXMHDaGILOlQojTeIgjKdqbGQWtETeQDXVbfmvLlTDeWHwTfyRtgGwlDIXDufxwTTihNraxTCxlRYNSqrnioEoctWWV", "c_map_string_4":"GAXDYOJXhOAiMPCyRwacbNBSYCIHBNHgLvHuMZEDvDtnuPoQYcPStvLBoZKYuKylbxrKtLvKiKXNdHZmYDskNlUloOLcxOcRZZmZdahChcxyFFyDIrORtQSEpxFqPQVLflHITHdCdQHWKLhxkjzqMrxpzqrbmyfsVqLeuPekwCsdzUACeHfDkdiKfQmZfYcXrgdTNZgPqDVrPyWZmhybaEpDqekNnizCzZoGCnHDfjZaZKdiIXWvRerUpyrTKIXruIHnKjTWaKWsGeeNFkCfCzqLFsShUDRMHcupqUmUqDviQCNVXgPRJkbKDKKdJlODTvdNClOlWGqThUiESYaFZEbguxQMqJVhpSwISYaKacwnkIqbliqMoIVddmpKejDibcuqbpleVpMRFROteHfmOEftcAaWiLuoIdpDCCzZZOuMOZoSHieSnvnRXmewjLMXZffmAmPOejndKDvVZeGwHGuAzXdfqSpTDJnDgwaYkzXOQgDdreJeRvnqWyzyjKuc", "c_map_string_5":"sraHiFhgxmAVkJlTTwTAvPRJqhVdVRUlnkdaEbEYVWyZnjisCAgGPjhLGgVScoOvoaxMTnCoGVheUzcJtVDtEzUTAlHVgijbTyrBGSWttXtQQIrbWVuWvMthdqmzjRublZXKEzqsUOoAjRGHnFVNmkzMTMwZeYOkoWirvDdIlODoVayYSxEWgxRgeJntbcxBHowbUXoKFeNOdSHKJAUztwGSOWAZVTGFzsBZUeKmhBswVRAkvGkHietPhqMOYrCUaUIwzCpDBRQxZQEltQDzNylBBGFHQGexZYWfFfOwWnmQnwLfbiruEYhcBEwmMPONzkRMVkWhKGzVoiBSYtcUdYKWPYsxJfeHTMDNseDwpFpQwRSSVYcTNtgQFhthrxclfOXMVGknotIHzQlPgrdtiJAZgwrObCjaoMXXaDIPrGjYKobJMZvbnxEJpxvJTRUyxFkNLzswgzyZKBtidAWCrHkiLKqXlRZNNTdAkZzRRONBnyDhwwussDgcNuchXNoM", "c_map_string_6":"qUXHMDLtlGUXmXQgmhYdWsaihmNEsklCoguMfokmfBuTHxcCiQuVFNfcFWjYtRDXiTlQQLIKCxlTJQDRhiOEuTUfQJJVoUvREeVXXIQuNbTeohlhMQLxxZDpZWWJtPxtKsqvkFguesHoXErMBeYBcGTGIpWIcAJFDZgZBVUYXxoUYvmkeNvdwVbIjNjelWFmFLsiTHvJmHzypUFMSXmnxzUByUXccyvftYamkbfuJESkHhPACMZeBGQwYkbpibcixiiorTNChpyGMKNLfZFCPRKiQqMtDdIEFGsFSjOtEIaklsRHwqAgUfIkPuacBirKlKtJFsuDeWlPMClQyZjgqsVxJprPpYYkaZufbOmOepyNyKuWWDbVNSFhOhuwJGpJSxdStnQsRIQnqwXKWSscCUPhjhHopVCahLyCcDQuhSMdXwqeIbEiyFfsInfWsBPifXfNPLiQDJuNIqdzoxSFkVzNSRKfELDNRhjxlvFmKrxnankETWLjJkMArgeuTBPK", "c_map_string_7":"bCzhqiSHJWsOhxxUJszcczrfYYVDLscpPbvqTCsCjQhjugKbNNFDbOjHCRaLmaRHChPdnZbMECwONntfWRMiGtdOrVzXjIqiNbuSEabeDexMtfgavKdxvBnNiEttLJywdplbtVisJmEfuenfmyTpAtvTBJHLgdlUvtWtcaARPsaKDCMMSxRVUojZRiYZoYFSEdKRlCfvtdPrZDeMydnTTqSkXiRAuzYZBxzAQyZlYKozPABMCXiAWvBnNQPyzDWFyTMzxpHsIQyFQpZKOHYwPFtbfDUWAsjtGwiEAXlYtTWxmywEekgBpxHKxhEXbCgETgtRpCkYZETBeMkcqSucpTTMJnraCqTOlShTpFpwJGBHtlsgwSWQXbowBAIUjNtfsSdcEZLFWVpKlRnPWOJjGsWFkYzIukOViAQbAASgmrmehuBvhApJPXUisgQMcjcGHsyeieUFsMOmDEWmLlzqzfJVicWCoFFSXusJfiQyNYxnkdQdsSPbgwpKNRiLGACt", "c_map_string_8":"XmyzYBAafgrkGCNqGucZshsfGMgBquraKnzjDYKqPcfyfQZcWSpSttHplIIsAwgTLVrroNaccWDvzuEQtKVevOkHgPVaoJKobjPeJHfOiCEhlsVeMqvExtAPgyCkCPZfAVLeRAGViyBhxfJNEAOogmBGeypVWvGLWAysmXzMfbITUtlHUqvGZzxvtjHYnpUfstUiuwBFmaqxsNTAghhIeijqpxmkaQSmGUgaQlaBgfkdcmoRcnNPbgSFxuCIgCWicQRhSXQfyLPZanhLHeyAmtUCObazUFAWIQngDLKmtheLPtJfwtsJBgESKYqdUNFDDtIDXsHQvZlrKIbWaEHuQKWElHWqsfMTDqRiXDxuHvgwXCdGQBJlfguUQXAAGHBQPUKoCFZdeyjbgcyabLlVJNooZzwJsTDyjbyeBODGwwGszAYncRMflggNzRSxJBldsbiIZLIoNOsYmBONgKwxHejGAigcIgjWxOLhQTWNMaZzHEdTMIrbQVMhfdqeodJr", "c_map_string_9":"OBEjCJFLpFVjLByWixnPejqpYfIbZdQVzCNnrxpJaUMPxiBjlTJFpNToiwqaluhTuRxVoBbVDLmlitUemMxHeKfIJFayhyvftYCGXbMBnBOxXqlZmRNtsjqNzjVJKPlJVXdUsFnqylodmXOPTuTRmvDFnZhODWNtGPtJOKtjaprRUphzHvAXtfykUQpXiKDjKEPtdhASpCYvEXWEiwFiKBrPlGLihEmNBfIgjTzGIZuSLWYpiLcdKyxdPwehAzUbjAocOGwdRnjXpSFWwqlZUYzhauvznenBTHWCoJirZKGqXapkYfToydtHugLqiGrHbHYXmFpubdFnbkPflutfdDFPTjrwLcvLZvivhfnKFfRmoEIwtzjtfjWjSdbrkETznnJJhHiQZUUVBuBkvCtcfAOSbjcjkJFQOMcGEikubkTOkHkaYFxmtRivcLeYhxodSWQZPbOfaIojmSaqVIcrwXeEGjMKMnHmNJlFPDBxMArtmrDnYVEXPbZAvLlJFpMw", "c_map_string_10":"SESejzfwCFOojIUumJzzCcKgxjmBRGBRwsKYQBlJCgGVdSQQurFbLEccGHdGikMDOLSGmsDCsXlNtwdQyKxIlBgGmsVkpQMTNCDiDhnYPTmtJdTmMlzGSKWITPeXgHUlDeRlYuLTMSAKFIenbncrQhXyhHYyGXYTTFqzdRHhdUsIoGTwlUaEHhNfpbpvnteOQMAwTpPPQfCmnJdpNRqkUXDuqAcrggEJybpvcxrMBlsmBEUbSPDWXbiqAmdkchcWKSoYjCjYeyvvrDKekwCelGkXDtaVwptaqTObBhTTQyqiONoqgnITGAmKWHAlDMRfiKluTJZLfpJaWGgPDJIXqmDmhYGsUCilfodaBJCapiFoAYCKSUZgBTfooEGhpfhYwWuJjziPhQBeovnbUIAUZpqMPikUEnehVebxqSXFwhAkzgucwzYTqNRdrnOEqwWFOdbIVvXAdPZYEdbqMoQingnuugYkSXWEQWxhKvcptWpZGOaPrainGSrFSoYcJzoT"},"c_float":88.72622,"c_double":21.162854156572404,"c_json":{"uint":1020432361008107599,"firstname":"Bailey","useragent":"Opera/10.67 (Macintosh; U; Intel Mac OS X 10_9_0; en-US) Presto/2.10.324 Version/11.00","ssn":"225766970","productmaterial":"glass","hackerabbreviation":"SSL","bitcoinprivatekey":"5KMJGJiqNANBHiSK4Niq2ffCC7yQqDiF6ta7vhfPyzxU56qfsU8","bitcoinaddress":"3utZS366V1zyqxE810NMMS15h2","state":"Georgia"} }','{ "c_bigint":-1803409270988596033,"c_datetime":"2003-12-21 03:43:37","c_array_smallint":[5712, -29371, -9255, 2777, -27213, -26795, 9612, -6350, 3449, 1230, -31751, 695, 17331, 17521, 15902, -17451, 4519, 27067, -2240, 6664, 23075, -18547, -15070, -22938, -23194],"c_array_decimal":[37.0150, 14.1549, 71.0705, 27.1534, 79.0932, 58.1639, 72.1256, 72.1872, 34.1158, 25.1844, 31.1459, 59.0278, 100.1013, 5.1964, 42.0911, 68.1748, 44.1520, 36.1567, 33.0800, 46.0248, 11.0337, 94.0776, 8.0714, 3.1240, 16.0065],"c_map_ipv4":{"c_map_ipv4_1":"29.229.59.213", "c_map_ipv4_2":"171.17.21.60", "c_map_ipv4_3":"129.158.206.196", "c_map_ipv4_4":"187.250.96.244", "c_map_ipv4_5":"241.140.81.32", "c_map_ipv4_6":"54.183.138.26", "c_map_ipv4_7":"3.17.130.127", "c_map_ipv4_8":"204.16.213.126", "c_map_ipv4_9":"104.27.234.184", "c_map_ipv4_10":"191.224.135.116"},"c_map_int":{"c_map_int_1":1702190202, "c_map_int_2":321337346, "c_map_int_3":1781454793, "c_map_int_4":-1293481848, "c_map_int_5":1909511763, "c_map_int_6":1194649651, "c_map_int_7":2076014558, "c_map_int_8":-162821543, "c_map_int_9":-1864332236, "c_map_int_10":1608053527},"c_varchar":"think","c_array_boolean":[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0],"c_array_double":[100.21002176794684, 66.35660560102511, 54.33322094408127, 16.437460057542825, 30.919765982686297, 77.33858951427932, 74.50812073305747, 25.76731180511904, 71.86251742765859, 80.26433997484422, 5.774103279474858, 72.25565498597663, 100.29278049376327, 12.668494001977553, 84.36599075827166, 9.068375996836842, 68.55272516328209, 68.30177437168585, 39.49604217170252, 67.99325785080227, 11.88292498034024, 80.80723370685254, 54.859821263033325, 87.43812637574167, 63.18314822716183],"c_array_string":["gGvlNGEbZuuwjJbPOapDsgOJGYJHnkVoaGhgNWLFRRzTZaswLzSbWxVIZyhbcbFaGSYPAcaqvlsrtQjHNZxBuEhZHFSNaqxkOeRxgkDRplvhUifzXHGHJcjRPocdfzkxCloyxFoFsHQHJUvNWNfbJzunaDiRbUHaxlEnmhAuxcyHJTPfTDUNOsbAIZPjWTtDEXZmzgbTQPfhjFraDUJyGhmDrseETikYalUReCbqQTQJFiedjmRtYVMTeahYFANFBVVUCkGZSJuigsggGFsKZGAiTgOzvqvLlQCRFnEOeiBuJyWZZsSuswWNUrcToeDwokKTjzeGFlqhGhzngDEtaAJcHoaugDMPYKEmjUpiaEiTyzwvCdgoJwQZZSLFSuZjmDEoezVkWQFtyXROUbTheYKbfrQDosCYsVJeqeGLMJKriEOYMTbdsRSdYxVNfjRPUseYhmdbVENBskQrLiJOUmwsRidZJSVjqQhgxtCzJpLevkzHdTtKuENnRmnsoxHP", "MXvCNPnQWubYSICWbYgvtEzMrrJZmfDawovwCoGjOppwwxgQZmrTXcRXHadXpjneHTnOwMqOMowlMaBiXmNeVYCNzlafeUSABoESTBNTiBYnNGfDeOuGnJBCDfuGRzdhjzJbMRtvfBqyYEwNbPDhaxGJpTAAePCwwddLzpQmIAQTckTKTlKeuNnVvMydDNWDJvjBVqmZYvlsKVwEMBjOUCvqCRAhVrLXqKLOczyHNNQyDNOsNwvdpXYIqZwItuYduGCSRIjYEwkfeoIhilpWjiqPdahBfDueACbCOVHaFqKuwIiRYZZhMahmPWvlSSRhrDeeKEwrzDbuVXCYuONOLrRLpVHwtmAyzqtkMwhMBVYAuQgYXHlQEAxeJoJHywYSHqTmLXOhcyULIjBEffBWfeKGTWkkcaYSEVzCeVNyVQLJBZFHbGyStJccGDRNAWNDRmDppFHlQdjAgRGrmGTzdCzFkXAtXjGSlIwTQyqAxHgxZIXvpRbOlRcWjwPdRrpr", "tuEihbCgWundhJPgFInKVGYmjCJUOCwmjQEvMQYBShYJmjRTiCBkueuhPsAdyFeWMiRNbnJQJrxvrtmjrgMxCHaGyvLfjImnyJxmWwIWjHzlvicYsLEMQHjmNiCzCbGJaiXQeyUdJazdqfpFPuEWarnIXlEOweGPCOJwINrCtFCKWvoVbMNFvemMrMBGssUjlvlqVsymrbgWKnMZcHHUrmxXVdChDoHjnTdBysyRfLGLUxTSXmjyZoVzdMsbwnskgVSRKpiykHAmOcQwQwYMBNfCcNiecvQbblxZczghYfFFAuQMsgWyIDtlqXGIfFMoZPiopUSxNJwEgNHiExtdhQbNIorgVbGxOSyJpcLDYolbDAsJNGraZgUudMgJBeVCWdJJGTMHoKriUxtOcvQaFVbevRpjsydTZCbwASHcSQhsyYSXhQXAOiVmXUusIwCJaqELlLegUthZqjVkClmhAjOGGAmDuIGDNjJdBbOoyTWDpvvzTlgicksCuyLeGuBL", "FNVFixnDIMQZjlvQXORNoisOzmUQYacZMPbyvPLDxRpTySiQlmqLrTTWnontONBKtBycBAHuIHjSxbxeSyWVUSvkcIOhffiQmYBQqcuriQtWtdEnMLlMovkuQYkldNomYmWAYfnbfpwykbymHlSzmuEIRPekJauGuLUummIWFJfwXUZwpiCimTbQTvOACYdqiZASMYfKuiylSMlKgMkCexLJLsUJbCkShGzjcxmDxSNnQOJauElIOtQfkdNdxxMiHjyLuSQWPIQbYhqAAWiYSOOPBzCJColdfydzWryKehiKydqyjcLwKFCbBHUpdrZUslsKFWGwWHWUAiXPeUaVDrVRhfUDPapWvJwevLmzBTRBCkGjWAVatJDnlUSCIelklBAwXZymYxipPzlExgDehmEQzbBoiqtOUjZJGGOpViCIbkFBkKtwXlPpVTpaTHCZfuOnuumDAmzJhhJTNwVRADmQsaoRQOWGIEJIUwpFlBintSUsuohdIUBLTXXUCSBb", "HvFKEpGLPzxfdLyimsxfbAezDrfuAnyvHRXYkFqVMYqnXmbmpdQCFBugZLuSCNoSqEpqBgXqySWLcuGcbLqmAZpeNpKeQCQyfOpNqZbgCGnicrZKmogHEQpZbniUAlbevGEEdOcFYHhswhgPwEOBKUYqJkJphzaRMxAOJSVrFIMvIMMxtnZonddqhimExmxQPtyevsklEGMNCHXJKTDbjsATBwcIKOyzvWzDYWbFZrNertwriMJlwQfSLSSuDSSUsCMqelvChBpmYZOqjeOxexWjSKXNdiXbhQJDvsGBmgHGHOCdKEAdOXKvZEmOsmOxGnTbDdrXQgZZZrdMNGEENabIsVOgaAjoeKYtDjYeWAwNSCtduQBsOJhOhnPSJuEFnDYFbwMwYvTQRqpsJnHLFfumIkVwWTldJepRxNsPxexZsstrSUDHPwgapWMmhBNZjRMjvlSQmEslnYhYCuVitxVpseKssVPRFVjaORwofIpqnzXODPACVliyhoXpLgEK", "RYYJmZuHvmPPYCGCGzGchBCDRfGnAdNQyAVVUPMABiGrvSBYznRUYJTCZXfiMYVALfWXWkywCWWhfQePucYRwcOHqmtResoDRMyrMmoNCsrzIsTFJxZkBsjJiButRsPiHkfzmnyzZzIvVdjUOMtoKzZhEYygYVZvAoeQGKEsBEEShMdNyNafIfIapbnFucqxBbuJndQGQHhVIyGjXHaYVeXkoUYmipsaxBrNTproHmbYtxwbeGeotGwoVNDkHfBKTQapshgwWgjUpxEImXWMNikFgklcWYspwBFSnXUVPLOLTaMcMdrVxPsJjAdgdvcMGdkaeeUTOBEHYMLbtOEJlGYjvdmjCJlvmeNtgjbTGYBphfGrYglbDcoQxnfKtrlxUpIFMErrvYQmUfgRphIBqUsuKqSVFhRKcGKGuELiDYPQIGlNeBCTzjMdCjWNWIQuWtxGZcwXcOQEicyKoeSHRlnXnuYWNXQKPpSOUcuvuXxOymgkSKEMahhRETsLcoXF", "VenakdVVVCaRYEDNFnNJzvlvuagovTsTFSLdThoWvaqqribDJqERzxZQxrLzzwkEztyEYXwNwyiwAoCrBLvgCMNyyaHmLZJWtWlIRpGeVEVmvJRduOHWAkDZrtIvtVNpXSHaigDKaAcGMqiXAzsrVbtyHyLFgshroJiegdrFnFfMJJRILBdFyiHnYoDfRPFDVhCLWhKZpvazLgYEvKcNcGpYyROSIMJdcPeVgVwOctcsvTgUBOxPvIiZickqJsNlPncOuQZJZobuhQSTNTjWhhimaKtJkvNdmOuTNxXdyVaTdCJdGShbuNAxPIidHMTMaGPDxLlmWJFPiskUyHVpBOLdvauvKKtCzaEsYqsFYINjcAzVQwwJDWmhEfelgNXevdEsTpNJoFZUumZlCydibrSgmrQCmaieqUmlqmdzSsLNgLbSGxfpuCbocOQuQIXaTRxddoipgiwMowhWdMKWkZEXAlrxqFasOqBrtZlyDJAjGayXdpRTccGHhUvKlTdx", "WlyrUegDZhGjoGpeeOmUKUoVtjfygTddeCiZRmaZYzssCJqdsqlONSQaSDQenJqGcSgXAqbbHlgYWavsrghvRXNuQZTCrDkycspBHUbGdYFswnpNnSGIaCWpXCydEwfdcbLtDPWGWbNnmMSxNajZRaDVCIAxqCxmuQvhyUVYgqEZVEVkUXeUwbmgWaDFbCqUlGVGKgJRTIubJIrdoxYnydWRIyHLteQtyPbkRfZdmZhyDFjednBGPhcYjhkHsBGWZkRElmOScMQRnzbHkeVawjtJKgiTSgBskohYshLwaUywxyQOjHkqiXYctiAPOwIjzICxYMPTyQvcWVNPiEHbgXmXevbljBxMucOQdOimZStIOYcpzuduICvQYtHNvjRvTaVgTlffdaPvwBzWiVEbCoDyqXEGAFWKtFdMldfonEkEfghcVfjSGUkpKnLMNPTAaDsFDFTktFLOPjSiDdCnrKEkmCnaiMyecfDtVkWMwItQVIgyQoyWCUIrZkbTGSWN", "BFwMHOZbpjWtiztMJxEyPyoMLxxPAWosYEEPzKkdJfkXAuJgayHnAAPlugCVkaXAKPWaIHLICRVyxjleWgoWGPpsgIQNAHvXIFDtbHRMYgZusbLiTiTyFFxyhXsXHCvJIkAjVvUIKMKMIaLRtRYLlMgAAjBZkxsvwIADZuPezkWLFzSReTwoPaIlRhbgJGMFYcuPFtUUGXHypGpyeIOCRyekWMBvEmnxDnLtdyLrSEoOVdKokcfDDgaKsozVRbnDzHJSPwiZILwujsxvHrnbRgovevXkLLllflASsBOEwPkPBOmgsdflZAvEEwEZfTYlZrMFeTWzszkpZZswiLGqSaEDjbEuAbrxbWcQdrIUQqWrtahCoGuWttPCUpYiDMEKbMCLLayGZPyVncbLRmIJaxMOzRecryOPAwZDtRBDZSWyYRJtBrZQTGppvUfKyXZjsgANetUdQEVhAtiLzhxxHGRrTzDQdtzsQqRqlnsMuGQzdymuvlCjELXyTHfqUmOi", "GFfbomDPftlUIRFSnRCNpuMICONgghrYnJlFsZJYaeRrAhBZHjogceXXIoqrALuvjRDiAmVKaPSvVtDoRejZILJaWROuhxnboqiJkrtrddKOrxweFMsPKzvDyHJvMqFtvuomfxCBPvBYIvGtEQnOGQljPMxhNlGzyXJKjGQEUobBHacxwIYVWoJmyhbxUBmGJDnemFxQGuusJzbRbhwlmzMsxEHOKTFrbJLlxturVcouqoQIezCrxkthUTxsZiOASRbBzZjNsQbXTnelLQfeiSfibmrBfdCjgLZeTsuKpuCaPcubEsWrRPLjgSExiSYzCVkBXzRpAJsZURKAAIgYWDFLSuVRyYYQmaIIPTDBHJyfYSPgyAPkrnKvrsFBgndeHnjOhEraBFcdqGgTMtHoYhOVmmzkpQMizLBOrVdfoSTWmqINqgpTOUcrqaoJHOXwPJIrxBOrRirLPetgMakCiOduzNQWtRNFXEEShEGAwiBlgVCKnOngWMAjtdhaRzuW", "nfkFaBIplkLHFqjdPkEFxkfSCLcqtVNnqFHoRZOdgKwwRKKYugogvJLyLSnWqcaFZfrZUVUluxoOxppnUdWPrutvcbUAnjkYdSkOQerwNSdYQsPMyilDAplgOTlwiBhOEUNAFgEnnqvxSDItPfoxTiayxUchJOaybOaWkWIFbhsVDWvIzIFQbSzVSfDvnaxkVfDWhbVxYBlgkGrsHKUSFfYakvCNAYFJRogrdqnkZfqWYoxteMHFCUWMREjRbENBVdcMorXYnyYqWABRmecBwaELhXmuBbDoPVcVXrJlGGWbgAiOhAjQvBuYAKLGHXgDtOHzycVnrZbhNnhEMlazoUUmrTWnLylLFTLZiaUbvdazYsfdOSSNOlWUWjPdXySTzGwCriUrtkQGplvkzdctTPpGDvQQyItcuMVVRdPeUgSjmyoyOlEZBRwBJjIPQYwtuBsfCmPPJRDSogrAJehaQbMfpuFOsCbIyIaBVXSthYSsBOKWFHdHSaunXrzELPlD", "SmzawtqticndTHDgFiEDgtSXchRjVvImzaGgdBuyItXrYvmnSvLEyNoDTJOPSKHuSZnICelDNzfVJBsosHtIDiBWjVUWwWMpcfJiPfnWCjLYgdPRLaFYjzjNWpzjpPkhjIEyPcpTDHltGfDkjBtzKZCMybfBaSrAOUpYaVhddNIZSVaruAWoxQepuqnvlhCBbKxVUlswNPnHVjtKjjpvRqousqeGGkTmPRzvqJckgssrzWspercuXpmCIjEZSFpjIAdXIsjiASjpdWoBLZacqIJhPvIjCiquEzGfnxnZvXIsjgAKqaxthlhmkLidKElTSsiHqfIztLqABYUgefOaMHZuXZZkUHFZnBvzVHMCjOGbcdiOruswZMfeliqxyqCMCxhuMKXLdnecRyINSaJIqgMLYrVaWWaQHoAkEAHnpStAZURWWBNZmKzTCgPiZSHVYeHUBVrfeuDSRwTZFinGMGwVajgcPwESqoVVJCdbNGXGwNBmGKgLJNBhTnrsPDHp", "MkwMdgcGzkgYFygGTMsqwiRTqYOVqkIutnIwzXgwKaJxijsbcWBLcXzIWgIdDWSRqzvZSDPyoeGTuLhoUeSSkIOAmwcFMoLStUVvbnwfItvssPdQhCOCwwjCWTVCFAYLYBdkbmaXuRqQakcrHQYVAeOYrKtIcmBRfzbeqBbwCcJQtMvIWEHdyugqsqadXnrWKvlHcJHEwyJhYKSkwabKYzLsAtvymrUDoavXwsAEhrYcIzxuXOhEBmCyVugtxzEetHuAMreqfptZSSwClmpUZWFhEHlFRWiqSQNnqhHpxuTmsLbAKxfvEJjXZDbzmYHciPyWxKkHeXOziBdYLreYONogthhdcJvrRnjZqLccoKQTXyeODHSSvLufteybIMkumNlDmAluEQGUTqGHDDaLsCvQNEexpiEbpERhODseoYnIHPJFZfDdTePhbErqrcHiuquULpIdgFrLFvpnHIppTzDnrdcShuAHVThkHrfOWHbadXubLhchOPOFwRjbFdBi", "sodtfTfkxRePzyupmlAVPsSjzoOenzDnXLBlINDzegCleEwgYXnFcrLaIGEJYzLOtbSHRaIwjFUbGtWQEBUqLguKDxFfoglfsbuZYBOZtjCbhtFZWNDRdGSzIGzXnCCfovQJAldzUXVRaNMwVzryYQKWggxvwBAbfupghzRUmvDLrLTtXcshyTyyFtWIxkAltfnnTwHToLDjdEiopXdUkvdHObqLsONKfHiZoaWnuNwdyWzngGOBJJiBXWZNjeBHgQnmCkWZPrjADSaJyDsZTRNhxUCgWiRTGOwaHUZwjdwjLPcGjaaeFUtBukunomGmviIyblBpZySdRlpzrsgYvcLCkxHjtJfoSwoNDDiiuKafAYtLnsMyjHRLHCMREeLXEbgpveWaJvmJBWFteixEaqTKqAuZUwhVJMivWwipBlRHdrCAVZfZYvWfbSpQbyNxezOnpwgWYmgFDJUsxgcVkzKkmzjIjubAmvJHSDurHrOhrBJnksjAOqcStQbKpTeg", "NrvgSOqRrgUrzLpkDfMZuyAqwurDuiHEqUAqZgRYZgMiWxamPRKgOMFFZRAnBjJzRdqwTdOzSacaqcBJTMlrGyvTKSGlqfVOFWpPGwzDrpJDRWGqghwkqiVbZraKwHKXJdblhksWiJukkMbeIEEJHjjUbkniekciqUlBnxajypUJbgmOwnKBUMClGPiQpmEgBNCpmhmjqNrpokjeXThjNUqOpISTjLQydhZoWjIZpmPZupSHLKzZigsdiFgkwrNyQVzjHtHOdpQXamjQZOZwvOIWHfWVxONWoxaWPvOBtQthzOtgshVsPpECWsmDoMVNJRzxLKmrYCZJtrqNrAAjzHLWFFoVgbANhAyHCUYXINrslLXWWrXDdibxiPyUpBszbJKVgVfHcAkEGuitUGittBxXvjLXibxKmdlwRSHwGQheMwKlWnhpDRHjrgBlLIwZAKppcwlkqjHMsdeKtIjJYnFdGrldyftJXkezHsTmCcVffJEXpUyTHQxBSmHSZgBi", "qSiQPNaDlNputGUIOQnkQokbLmyGCmDvXnozRyDMKYzsaISDGNctKwmIGcyREksemXpENyugaxiLBYoQcaGOELxSBchnddBqZyVlLUDbrehoGseEdhMhbKZobLbreNAsYGDVzudfZAYbGLPJoPKtOhUBGCedKtAyebToxajQrYpsrgCoixEXAwYdHezWdyAFUhyYJOYfgRFmBNIjFZroSUwzkuSpmMJrkjZQktZQmNKAonihZfBjWDXunMIIWXEbgQaEsVbCwvBBVWlatYEPDYKMpJbZANbQxNZhsxXVrtcezAELCvrtduCwDzzNJoMJYZwmcGWaqphReyVrzdorvXsaXsverRPutkgNJyyTXVHmLvwLqIODpKtRiYCkTNXKIOiSmTYkXJthoRzCFgKCSCLYbsBYoUXPusymlrRLTckjmYBLZalNhkbiqxWXHCdYppNKIDvxjOHyreSAsebkEauRaiMXivVqMECmgGbxkJzHzRxNmDHLsidypVmkBmlc", "VVQWuHcNYQHnZkuHgqtoVgkPFSJAGrUaHIQIiAVusHvFManHAUGVMizeDrtcaJPMnodjrKhdNPmzKNBuywALiFgleHiPCDvzPwqisUNUpuKWBknZVIbnateQjBLrXxWagMggiQwkYcppyHxAazPEnTJVpTptcOdfFmDItwznUWDBKXZUSXACadQiGSAEtqBArzGjRDQXKBqLKvbHwFQNfoENjngdvhLAvleqrXvmlkpdKyMnDTMjdjXOQILsrszfPeBwJMyYaddpFnYSSJegnUPgrJxuePbheDaYUaeXDWCVHxbCGftsYvUIdQOMppOzAufZYHwGVOxKREhDsRZEgOBKFTbzqUJdkHxOxjorRoISAUNymGNwNvroeDCVfOqpfJwSUcbJrvAbTkskSbqjMWDkQYAqZqlZgeatQKCZtlLwvvYkZXFQwmGPYzsNGirSZAtYfEheUfmNUqyMvSGmuOadcJkOKcdFdniHCLaBfjNmAKgJMWiNJPpPwVqSwktg", "hbtnXxHxiKmSpooDHLKkQQIqAagIPGiJNpaacWweHuPEtcjwqHFHwMlPXjqUjlFLPmPsjrrgaSVDYPaWwvinukDSsGdltqwYmgRLPTRKdIebKvkAEEbVKVqWcmVwXxshiwyrBmdgKPoWHzDmZUtHKoSqMDwkMDleCaBltfFKriMzNhVQFBRNPEXAkwLUVxDrkHQnNgzzFijWCgjaTDtWOzUxiFMTzlisRVzKCoqmNakZPIJscXjRNaPIWqdsdJPXyruJpvvSSotclGIrufNHjIIqTEcrqaIMaOSwTiStrsbzxkaqUyLCxPDdECDKnQBvjmykIpFRRRiNASbQrTWiJQWXRbdYTneTAlWAbmfXJzKasdwabueEMotrmMyzFvREFhlgvIfTlleVpLLBYMmkJMgWrxxxEfHvxisxzdzUlCxpUgklhFELLljFAEamcijaFuisUWMHbzgpPgFyJwMQlXOdEbJVngdPWnaMsqvUZXNQMSbwWIojDCnhCkrOEaHj", "YiBffxSoHILJpzkFnBpfQWTGmVfmWdOtgGJjHRFsNZsTEsRVzlWWlZoJQYpDKkhpjJlkSfSAAybmtjHPggwWZRLIcqQyIWlDQkGBNLJDHpShHTBNDAdoeSIbzTCgrucSZVmwHSEPgJDdMUsnpzyjCifkjMufAmPshzhhEbgXfQjWUramCFJbxggogcXfbvWdMuRAuGCdmTzEaqDdsGhoebCILVTytbOLJUTUdHStQeuIjJdvJVkCIYTRbiiYOzjHKOqzNnuAZReQDZzOLzhLOPAYImUqIXhEsmFCmRgArcrGIcrVonauZoJQRypdkWldKgbneDZGHLJHLTBbxUodBmqrsizuOLfnlVzDoCbwHUmPRyPfMFPMGZRiVIVfecVLXisOnqrlnVmAYlFDRNDOxdnOeHviPspuwPCidKcmRxQLgiFbqwakIeUZKWMFcBrIlHzjdOrBLBWrlhBSyMlZiaMEkPGrooshOOsBtytDLMnoheLzEkchQUphGBPTFYSl", "rANSFBEekSIDvNyEsZkMGXRkJOKgecSMvnWcSZUfGXXewnQkymboOnrzIwhBXWvTXWYKZUcyEasABQirWvxlIRrVfMQcQliBGDFdaVPZflxSYLYfIrStevKuwiYZpTMeUrNWnQLxycIPXoaYcWdfShSbnkenzzywZlMNTnsVZKGKekhdHDaCeSiiSdajohuPsOQccUbDwkeAMfeIxpYBXvXEtBZKVUBkVxNkePOTscxvOKZNvgTtFmMThxzwWwNovVIllqDSVCaokEsyTKqCjJfzTLipPsyVLnqpkvIavLqxLWycyXndMnUYYqsmensWmnQfcfbcTeIKMHiWbalUdhpmbspqYvTNzrYzHUudYRcqZBvjdnDKbzRJZCbbLtcXqMhzoINrSmpAmBXbJACPYgTafYqLoVLUEISMrsacegmJMCkZNmVHkebjPCFEywwZAccuBiBFeIRzQxjHKVtKHxmOAuBTxSlsZfUWANXqHFzxiDifcOukeTtBqHMjQuBq", "LrxFNegfAwbDqehLHEcwHtUSCdKsVspOypUuNmnAzzXolQgNYhFoYwFGnwslHXqfaJEyxbdupOHhPYavculHeiGGUJsyELMYZymyBALVHAOyURuRACDvyywKVACEcnPGVcFLyTSETqiBDujtRndkxyiylpPhMsQaQxlajOUcMTJTariBfPehnehMkPfRRmdcJKSpNtXKZVoBNBikFMChSxCoTuxtZeXxDDeaFjTRyEBXeVSfHLiBmkJpXlzABTCleNxoHeDYjloHAWBZbOhyHAxyuTQzyIHvgGQswsJQpJIKJUQufBmGnqtFCbrowUAnDKIyLinFvpjPGytwOQbGgzErpwfeBQSMxuDHGaWaFUGpZLHAnKpCdZNsnUAoWwDoIxrjmkIaLOIYrpktCsKsRlpEMLLfHyEeaewaMkQWjuQTKdtjWdcQyTTbQmmszmdaTudTZQnnXabCIFyHdJGRsMESCxDSqdvmHziQDTnElTrKneGxwmXZqUOTClzspdOu", "xsiApZmUoBGjdqQyatrHODowwGghOIuDAQqXmqVWYXFvFULxLoQerxaZifOAZGMkLeYbKkpiawNVXPvtmtdzqyCuRCOeYJOeFZNnKsawNEKPkwSNHoRqtRuHbcIvzkbYctaBhoCkkEddmArVCoEAOJUIJRBZeHsUbraVSCKvawsXIRazSSoFxVQSltxDlghVQGiugMrudPKpSiEhtWKQKwDUvQOYmxIuIDcQLLUcIOqHESpnqPBUYkoTHtLZJMqnSiezJgivvRCjItEFblMpesoQLXgwNghzcyyVsrWuvHYhZACyoiHxgHpAnRqsropakUJphniCCyCyVdfWpUfqKKTULRwoFfztzzlsWFLENLcwwvAOloMuXZayKUwbgJGuDeefBUFpguJWHYEznUTrmFejQdFtbFnXiMuzddfVbfHDYftQOigkmnmYqsIdzaVUnWEPjAzBqalygFkUhprRwLbmBUPQmUxJtzahMkumgXVHoeSQFvaOVBnSGaQclUKH", "yokaPTcOEvgkghflCBTlwwdNQfhWzQZHXwNHPLWLmaighUbvASiVNkpWienvyzAueCSnzCYCRbZaZKIsGXtMNYDBEaWtELVsMpBhhCBQwAGyLTmqvuJHzQSPYlByhVesxnMMxGojUJdxULoYufsJOeGaPBYclCPWJOvqMRflFSukEaODSDoVRCmjjXUQCOOKbKUrekYkarfbDHhFZhPHgvclIWlnEKlugOoyOOzWwhVPqqtMotKkfTUolFVoZoPOlzflySlevKCdnoyLmghVTgiNGSOjgXXplyRgHUUfgshDibnZMjqPMPxluXPYQevvrWerFuMvKSahhUUcUGKwwMNbGwdRmEZgMGBKVCKcPBSXQgzRXzgbkgFfwIVLQtXaiMIbyCdQwhQHmynrKENqdSDnHTUYVrdEZbrQAIvUCMarIcpRdEAzkZaNTSHVmBDEgpuHvTTTOxgjEFwygQfTBOzXnjElouKcZnERJUIophHKeIlTxRPqsAecCotHhJBW", "RhWpUUeqaTigeRVyIbTAhQalyGjpQLuIlcrKtLIYcdhSRWIeOJlYEcTUsUexgbghrGEVRNZbEyJAjoDjrHhpBjtexiGqBLPqtQNfcvgfnTXBWVJcKkoHVkinVBZslYHctGXTajQxkSfSumFZCukgegtRVhUpndpowxsFrjFCpzoTkIIZFsemBzcodavhpwFAqMBYiuMWBOdkmLCNaaaheIsLBGEHHCajOwkhVZLajuHsKVOFmOwSbdLEDjKJUorrJUYAiCJHHgrmqKSTTiLgVgwetpXmRFyyazHxdjrycHcGXqcrIDwqPaJJGxFwcuqCshAzEyyMdczhYrdDZWjCNiFMuFVZWyQDhHTEbaTcSOsVMxrFbfzyzYUWRKHbCzeXBhkRuPXDVyZFsxydInWGCBsWZhWRDBXRvXPlQVRsPflrRKKHjJmCkhdpXhOJBKyZPgmSGllRbRcQazjeVVToRdGqgLuBxManaVHDcbRDGwsenybNgLvPTqfiVSpRSuMu", "dzbYUxrrUatycykCJGWiRYAnVTcEVLkLNudZYtNsZtgZrnpVSfbInLlomrQvduADrxXRpZsSYqbWjXwajPKwoHpmwKpXiHWWqQDGWyMjBlwxfPsIBqoTUTEkSRtJWlsARZOoLYucZdBbmsmLbfcBseafFERhqALepgTBulsvfhaxIQHjrlXokvfjxmQLOZlpPkPFwppTvxfrbeWciEzhHDbDgmzCLNVAQCuxCFVpYpqTFovcfAIeBUgIcaASndnWgPjsnXyJEedxWhcIegFaQDEAdHpzOIeYvAwYOVTyhtlIqojcjvmXCTnnnTRwILRkKLvlLJTGeoBasumUBHixyJkMhBnlDTVyTmkUiPhekPUeqWQFBwRKOnpHpjpbOoztfhNPyxZwcHokCCTzBlGXYNxODKocUYjvAkAVRzohNvqBIOzXbAZHMCsTcPRHERiTUlmQuTncdUQdlgWMpXZPVwHElsKFlvZCAwTkJjvfRRZGHCAWOPZwZGPsjAahktYb"],"c_map_tinyint":{"c_map_tinyint_1":-108, "c_map_tinyint_2":-47, "c_map_tinyint_3":-45, "c_map_tinyint_4":98, "c_map_tinyint_5":-45, "c_map_tinyint_6":100, "c_map_tinyint_7":-39, "c_map_tinyint_8":-72, "c_map_tinyint_9":-92, "c_map_tinyint_10":-118},"c_map_smallint":{"c_map_smallint_1":5760, "c_map_smallint_2":4103, "c_map_smallint_3":-17768, "c_map_smallint_4":-17651, "c_map_smallint_5":-2883, "c_map_smallint_6":4914, "c_map_smallint_7":581, "c_map_smallint_8":8294, "c_map_smallint_9":-32402, "c_map_smallint_10":28050},"c_array_ipv4":["BfoEUvyUWQ", "pRPSOYHVyu", "kSVWMVtTSk", "vvhEDQbIkS", "TJNRXVHkPj", "vfciYVsNop", "qbQTzFAxgH", "HljGAVyeEu", "gaXpTbMncb", "tTShyutzlw", "vaupuXHDhv", "CuMMNybLjU", "JxTZiQzrep", "oPOhihRuxC", "BNPJxrrOJE", "xawHLVGxuU", "MwTKcFxzuL", "osBrOltXUh", "kZqdeQpgaA", "ktuIhFPOrb", "frUScjCtqm", "uphRLNYPjq", "IUCFjeLMUF", "tUpnhYcdfw", "aEEKdzAtIe"],"c_map_decimal":{"c_map_decimal_1":68.1911, "c_map_decimal_2":30.0593, "c_map_decimal_3":60.1464, "c_map_decimal_4":29.0603, "c_map_decimal_5":50.0173, "c_map_decimal_6":15.0637, "c_map_decimal_7":57.0578, "c_map_decimal_8":17.0869, "c_map_decimal_9":97.0700, "c_map_decimal_10":2.1664},"c_tinyint":-50,"c_float":55.476624,"c_string":"vrmOYTkvYUhjJVWNCONCnoRBZpRQXvivRoTVQnuHzBZtjCmfhbeNQYTegQqvenXYjVxCLWofcpycLCQmgGqTxTGNMHKoeiwPEYYyINzhYYWPFwMkuDpWYbmhXfYoiYPZfwDCXPkXDmsdIAKUNYBilybRNCpWnTcNYMjEEqsehZebFfAZpcVtEPQPGrvwviIavcFAJQiUivlmaraSeknDIqIyCLOLWnLgiZdmgcLvobVlaTGoOlrCGoIqkuApsLyysHENFVLDdPJfjjLGxoEiVWtwGDsdogDYCktPxwIHiYxthHgRLhsnarcRvhvWlHzEtxDLBZaZsQisFZvXnsBNAkhARlmlefZOhnmoaozMIcDqDKgZJVDUPjiTWAjMUdDDnyhakxSrRcNOLqTyUVupJKqsCGVskHOrhaYWsHZJbsjJyoojwBgiwyEhLwUBSccGhJFKsmAkxbPjTWuKwqTdVXGLrgLzYLOMggDYMVMoRVgsnTZBPMrWdZPXHGiExhtz","c_ipv6":"2ae8:69f8:99e:8e5b:3d07:dc15:7904:6edc","c_array_tinyint":[-65, -78, -57, -123, 37, -91, 24, 65, 90, 4, -97, -62, 24, 48, -9, -113, -110, 46, 57, 34, -69, -108, 54, -55, -22],"c_array_datetime":["2012-02-08 04:08:35", "2016-11-21 09:00:00", "2015-10-15 17:54:02", "2006-06-07 21:09:14", "2002-06-07 13:54:57", "2008-05-09 04:53:11", "2007-11-06 14:03:14", "2003-12-24 06:10:49", "2008-02-13 05:26:54", "2013-01-20 12:54:59", "2016-07-26 23:37:47", "2004-12-27 08:27:16", "2000-05-21 06:57:04", "2001-12-17 08:47:12", "2015-01-08 07:07:55", "2019-02-12 11:04:05", "2001-06-08 22:51:15", "2013-04-07 20:51:50", "2018-07-12 10:52:25", "2011-03-21 17:52:54", "2014-08-11 15:56:26", "2011-08-09 02:17:57", "2013-01-07 15:49:28", "2010-10-20 11:32:14", "2011-09-27 17:26:40"],"c_map_double":{"c_map_double_1":98.98111047854259, "c_map_double_2":25.87615463310465, "c_map_double_3":50.075988061813305, "c_map_double_4":34.95886718057027, "c_map_double_5":76.78449352673968, "c_map_double_6":33.67529413559217, "c_map_double_7":43.51349392594324, "c_map_double_8":42.44663486471345, "c_map_double_9":13.71706363255343, "c_map_double_10":33.06322065746698},"c_map_datetime":{"c_map_datetime_1":"2007-08-14 14:19:03", "c_map_datetime_2":"2002-03-27 07:32:27", "c_map_datetime_3":"2005-08-19 10:14:10", "c_map_datetime_4":"2011-08-16 20:23:22", "c_map_datetime_5":"2000-05-04 01:36:21", "c_map_datetime_6":"2008-12-15 09:02:02", "c_map_datetime_7":"2005-05-14 11:47:37", "c_map_datetime_8":"2002-07-04 22:04:07", "c_map_datetime_9":"2016-11-11 19:08:27", "c_map_datetime_10":"2014-05-06 15:37:49"},"c_array_bigint":[9137476647202657695, -566485549542259922, 351376707973056920, 3861453942965836897, 8403727760976689888, -3814993296233090329, 1812952023407904997, -900126448818762713, -8133428654371637767, 2393268779484796601, -3135682464024268853, 3739378988751515517, -3224003853821599276, -3238909729183001967, 3162493399783126703, -6811809210312354697, 158302274846042466, 2083583512809283441, -8904857639707814662, -3900831795421349111, 8699019977317064428, -3053650299239079010, 340543409358686268, -1551625958547515283, -1643488189134993295],"c_array_date":["2000-09-01", "2002-05-01", "2018-03-14", "2018-02-17", "2002-04-04", "2017-05-17", "2002-08-22", "2006-04-06", "2010-08-01", "2001-01-26", "2014-10-05", "2017-05-27", "2018-04-02", "2016-10-20", "2002-01-27", "2003-02-28", "2001-03-27", "2016-10-04", "2009-05-23", "2010-05-14", "2005-06-01", "2014-07-20", "2010-08-21", "2010-10-28", "2007-12-11"],"c_map_bigint":{"c_map_bigint_1":-6074371538608444107, "c_map_bigint_2":-1869277169752373327, "c_map_bigint_3":5186252372823247726, "c_map_bigint_4":1916229029530109367, "c_map_bigint_5":-5918444744593813945, "c_map_bigint_6":8277736648908483792, "c_map_bigint_7":-8236170484705732810, "c_map_bigint_8":7379541866716434711, "c_map_bigint_9":4521445175657025187, "c_map_bigint_10":-7203333407748657223},"c_map_largeint":{"c_map_largeint_1":-3786492723595654355, "c_map_largeint_2":7746831069153462284, "c_map_largeint_3":-4944647899328378203, "c_map_largeint_4":-6580279406251114826, "c_map_largeint_5":-8672628912794686725, "c_map_largeint_6":-2283650474362767473, "c_map_largeint_7":-3926698781451550756, "c_map_largeint_8":1668472498165552147, "c_map_largeint_9":5682786701059919444, "c_map_largeint_10":6740588067164987856},"c_map_string":{"c_map_string_1":"JVZcDhTgvBWkKYMWaLpHSqoLBAkVGWzBPIzjRkgQGppnaRbpqiSwldPJnphGhagvpjzoTcjDKsLTlwMBbxuYMQbLfJyUiEskMunkROrSHUlTkhZSSiKlaPyzookGlDLGXyXjFJLpLWyTimLxOnzyunNbACErWEQoIDiBMSRinyqDTjGPMnbbpoXftmsnIOYBFAOhCVGBTQrsKKBjRlPeQhuwQsfhHnHRtMSUaxYibPUxzfvtxfnqpnaOsgNeorgvXcFHIRONVuevkUAFjuAcXqDGPCiaaOmFtVAVfwUjeLJOTatyqkToYmGeNmrxooyLYsxtCXWGHMWskNcGTzeQyPfGYMtRXwYMQNcHIBLCoedJQUPwStlbNvbNzXgzQkHJeeJouNAZiiylZvNCOYAtBdpGzBivKVtStXFvQZfUsImWEFkYSxruyDMdJqOZaJKczSvWHDRzxEiBEPPjrFWMNFvAnVgQSMUatdWkaCQYOovtkNeAmEitUVUwaCyHjdrn", "c_map_string_2":"LOmJoqZIEGayvjwQqKjyTGRTWdRudIfMxHADigwctwJzrzhONSeAZjtVSLptegFTGsUPUYalPVrDupWvvTIlyjzCZxQFEqemhOCBVenGwmNgSlBEuGTlDIAxmnoXNsbNQvYvhqzvnNMEQDJFVcEPPffnkQdlRSEGFxSnAlGmVebTCfkVBmXRnXIbfnOoCDsJYOahZsBuNjXOcqqSflpCWBKMNTZUDHgNelyyEqcSJCloOAnBUgTKoTeNvkzAnIUVVBaxwgigaBVAKFJPYaRGZVnJJCLpnNFxiJdVKBFYRBzFRwpNsaPanzUeqIEtvssVkZVCRFRTlCzspIUKLiUousrPLfzsRUuewVsLMMTEdLzBNKJqciaZjlmlxfIRFUXElbQwOyBKoXRwmIaphgcwfJjzDqaRZzFEmOJZIHmGvStRTYpMWXnxFRtrNsgjlIOiWwVeankVUkrkWxKjxOBvaJCVcxMeqTrhCJTZhVdYsrNceVvSBhaKDrtNFCWfxXaW", "c_map_string_3":"YGxgOWXtDiuiieUwoKScvBjKZvfPeTnIpJssDiwpJRRGcUJfrYPypkXBywYudQPlHPIKwChYQsHuQgiRdYyqfwsSZjoZjVEAbOSBQZYImHwuIDCsJhZhIHLNlctieEZZscJiwiZsbLzioZrizJZSUVNuVdRYFKiKigaWGdGHoUSknSXmtvYEObyWOuFGPZMrmLUvSsNOUPuMJoDLjTmiriSBEqVsNdGZCPIcCtHymbgQkSoypQBhjxPhpGHabsaPxJQcLBTqBLxdhrGusGNwObQVvnIMCYkIjtnmSubpkimtTZgncyCxQTHWciwwADzSQCxQAPLuNqmEMalJEvGGzTYtyqsMqfFYlhtnfjIPWLoQVctkHhRRwSCEjsiiHKRdgdlmwYgkAsUSbVNLgzukBPdcOBnapnapTGscMyEWEYuqjIWhKyZaYJZtnxucCUBYFuXkCeTvuoYiHSJbedLQCzskaViOymUbxzwsHiLYVqrDDHnZznQWBOsqUChKgRoP", "c_map_string_4":"rlSguQvtarlqMHvAwbyCCaPiRlUSxULKNrtXppmTFtCMLWjMtjrJShMNPEZFVgCSuHLRgWpSgeJkxpEGCdpJfyQcsGEcqOESHLknBFhLfXivIcNRSrTYirZnUZcyJRHovAugXSWvIFpABosCtPAHGByQlzUGUGYsFhYWClDjYDhFKfxUTqlAohxgfxvylFwCYBbxSzNRehVlAALNcBvwqIDNplYZwONWWGTaEKMDEuvKafNoQZuEztLZOegrIZpisIVJZvmMrIkmphbNktSzOfyELyMvwpHRSSoNGHTsCbnlsDXEpkGAKlwwMYJRLXAVsKPfLewDDSdrMCmeQAnEHYOlEEUfTtZFxguCRyflMOWUuapefgTwnJVuqMiGFJCysmfrymKibxgFqEcNlZsRkXLnANYmRCXLDYXAlXosmXSuuiVMIbLFXarETXsKvibFGOLuzeNatgkqdIAFCIrapkrLpgGYcnwRpJxvNrZolSpZcoTyyObYZaObfrwTNYaE", "c_map_string_5":"yqwnQaSLJeybpcNZzSVZuXuLRqzlpvRGDGSSoxxkzvPvDrIiegvRSvIAPsWzJxqnhNvMRdsezygqsWGCMDOWDSOpYEFxPqUtDcHSEntmYyQmiOPWkOUDQWeqpzEfDeWTXONvEWvtWTStNDBcqgtZqJWdWgoehJdtrZlZIEgfmKjYWvtlOWWYcjImgwGESjOHVIUVmmdqXAwTWLybZcbZPZMIaJEyfFbxFiuJAgmmrlMAFCvuTnVCkeVAVpRgcYgVYfVbWUmKDxreqVnsKhmtHqMkwhUDjPAvcrUAWokJVPEATcRKkAbyvtSsNyunqFApiXDzzCWMtClldgARNpyxecVxBkkKnnyGOHTvdiccdfAhBQdTdYekTpWkdOyzIIoidQtzlTRqQTMtuzRloiclPfWAXyRJdREFcKzzMwKmAmaCDRBntJxIQTrMOSACsfglxdISodBUysDGgibYqeNRmtJcDURBCcxziNXZYUYjGoqqGBxDZfSmKbmvkExOBEtN", "c_map_string_6":"PYEcdAkMdbxUnBufkXkrjbXMGzUfvUBuJdSWTRhUHWKROtMqxaiYCTmztZVfJNVutJaWHQOJJyvgNJAJfrmccBpSEysxwGplpRYxWSaFGXqvXWWuThIUsXhaqOLckIRXPYaEVEvyiRNWbKYgjEXwMaOAfhGpMHyLJmHiGDIGjVVulxIcUmzaqegaTmYVYzAlqWrNXZNvwZFSxWdHFBwUUpsWmCrBzeoSyzsTuXbZLwGqQuOiBXHETURCDfNlvDUjNVSFVEULLHZDAJbDXxqiBHCmbmrekWYofqLDEFZERslFbIpgHEgxKlsutRJtCDVlxnjYCaRCMmmnlTbBHWlTBymEKgHTnglicnpgBbeGSEgBcbKMqmFfqBTHhJPXlscnEFWMInNlbfsHTAzsNAMhuPNmyHktBxxMIWozNuDeNXzRiiAEhSzpbmyddWgbOpWJZndinwALvlDXjYSxRsihPJjDwtDNVQtisHEdDYdvEGeWyYtfkAeznQHTXMDaDdjc", "c_map_string_7":"eoYsoUMhgOUsuwAbjDbpLrFgYOEzIzgozVIhSPyWCCKwnDajDqaWXknEAjHtUWArVKyxZpTvObKfowydjpjbEGRzwzOIMGxmEvtOiRhTbEXVqiJfZbBGEPalAMOkzPysFwQffnwdgWRxQQAXxVwjPtYSdvHAkWeFKmPfSKKsNPYwmyWsRKrUgaVwvOrhjvxxjYwRHonJRMyEOuXBHcBHnpebrkhYfMpEaGwcTNrgXxgbPKEnepRSZMKvavzSfOJChupGWbtTghnBKxltPZgHZGrbpelbMEaPpTIEpyllCwlxwplEMsvLgYIuAmRxqzrVcmiHMiuQRveIPWzvxOntuLTXKIRplENgCdUDpMLzBquHKdNtbAkcHPfDbnKtodqFbFjsKaZeMzGSqeWrQwOLRwFcvqQvtixZTxebqkIAOVpdefBOxVqZoUvSTMLCXHNMDpEOnEJpUfmfQIfLigTFLYNXFAcRvsDsEQvWiBjuzLqTCbLkJXxdEjvphuFDdHqu", "c_map_string_8":"ZRiGbcPiTchUoOTEyQZOqjVcUTHehnfgnBqjPoIOOUKmCatCcXAkhFhXZBVdSUnWvtKCuVlmFWTCFbSpBuguAxkrZpOnBXDKBMiGYbzneHtUGctgyiZsNQEJOGmMYcCjAEzNhcfcZeYbBXCYgmOLIHCKhdbUYmlbqysmnnRvztKKSaKYMUkzqtRfPOqMuVeOjnDoRrsWcDyCKkNYMLuPaFrcHIBNoIrKovaBArCOwigAfaiTEgWQsCGbiKLQXgnfEfIudXwVmGcYUhmUNMkGLqjKvFyTNakKHUFsyDPHqcHvISNxqAIjbVGJBbohSlURResPnhrZyJxyLOvJhcpBiXUCghkogeRMZoJFUoZDxvIQlxLZEjhFGUQvKnmjCgbshzWpxrXWQUicdksVQOHAhqgXWYJNvVuIfNhibFsJZIKkomOzouGCwiKkQASInebJvpUrKjXnwqASoLgEvgUefbAFzPJEtMrjToTijavZKVaHnhyIcYeoxWGktAxSmYct", "c_map_string_9":"izifdfmdLwhiSkJSpfwMgBgmIGWwEBYNWftSXtVHUFcCAJEGQyVYuYfkleUXkiGCrjTEFaBDvxwuDsCJxEDgIWVOaCrXpgxTyBplgDpWtcWErPJUTEpHxgmAChiGKkPgwjVlCMtIamMwPDNStCmSPAcqLxFivbwmegJpitHVZywOpcuacQMUEvHqeaOZrKKpuXQSCiqvyKPyUIhCrDdsVtsKkCRhinlNOomjQhDgqfYhZgiczjhsMtbZyYVVUjwCceelpnulXDIJQfEjsPHfcaYBkobeSpYWcWZZSpgYukEjZtrDCGLKSKJPgkGaYJPjIRUUBnTZRjDHGhUuxGmOuQwoSGgqXQszKdccBEUvIwpUygSBVfXuQSHDrsyEpxIrRTLlKvHYWUmaweZpGgyiZtzTUHrnlVulLZnCoMyUaQUeVveWEHCSiiwDKfyxeKqcDwnwYOVkymJooqqiDjDZAivDEtcXOMdegxmfUlYwJFimmbBdjHJjNMypegVJOEiU", "c_map_string_10":"kHtolgzQigWdpjdbSNzAFklNqkdlqMvmwABaOsmUCkjfvRybInrIzDidgTdxulayLvKVjZcMRenYKGCZgwCpvNRexjmYZkmnyphWXfNcNAwByufbqNUjtlthuXAUjgOZbmaShxdQpxUDMmKLOStpTGCtBiKPwXahIjKHBgYDPWcsdCuMjOyqubHUNiIhulTcXYziEopTcLEwugDnWLezImkOwxDMrEWfzorXGNRQpXnuwyMUXAImzVbbQTTqBtRscVVcDhLgLCvPqbaVXcUcpNXWxDPysXqssyFXqOsflnuvReoidvXaROHzKUQtDcQXErjkrsVmdLSqptGfxIpffgqubmFWlbtXFfLyysKwRZCjwvlRsxmKnLZCPGtqSwanIqDFmpVBxJJuqLGJygkVRmIvWjESgOJIDVzOOiAElyQpoHYVRFKKvVHYkwoVxxikHcidGtNXFkDHXyUtijmuGRsfiBmDsAcWsVcXksIyZkmqeiYhrcQWItEAaRFyOyTM"},"c_map_date":{"c_map_date_1":"2016-02-16", "c_map_date_2":"2008-05-28", "c_map_date_3":"2018-12-21", "c_map_date_4":"2005-06-17", "c_map_date_5":"2016-07-16", "c_map_date_6":"2017-07-28", "c_map_date_7":"2004-09-23", "c_map_date_8":"2001-09-05", "c_map_date_9":"2008-03-10", "c_map_date_10":"2008-11-28"},"c_char":"IIZiOGepBT","c_ipv4":"192.200.40.205","c_array_ipv6":["btmzigzCsF", "jGctDmhvMJ", "PlxwSbyhXf", "diAXisMkug", "JQTeIXXJoC", "GHUlPDYrbk", "GjiuBWwMPf", "sZPWuwiwSD", "HzMlWXNUWK", "sTZNtMhyaz", "zJyPfecHYH", "PUwRvxDANr", "geikIMOUez", "JvaGheVNws", "ewDKkgTYKE", "pVwzzIoLXY", "JQzYXxzGzQ", "IgvziloEKz", "baHGFDZxxD", "tMplXTcakw", "JIAnvPYytr", "abLLDZiNHt", "IZwjzmldSF", "oZqggTFOUM", "WbChzOnWmo"],"c_map_float":{"c_map_float_1":69.03919, "c_map_float_2":70.51454, "c_map_float_3":35.09986, "c_map_float_4":45.767574, "c_map_float_5":40.983017, "c_map_float_6":43.65549, "c_map_float_7":2.8121576, "c_map_float_8":4.217821, "c_map_float_9":80.93538, "c_map_float_10":57.641903},"c_int":-1094168043,"c_double":65.01160097669056,"c_decimal":24.0111,"c_array_largeint":[8347986754070193009, 2990420183677401053, -526873919879541609, -8888112420704481817, -8585785115614125248, 5708095092002443918, -7931167957675394650, 6061199216006333567, 4307670474690765432, -4809884227849744449, 5889175645573498625, -6140883114500742191, -5556713125009021357, 305402677958417627, -3347389769702711224, -3547724800383434018, 2305207608750343163, -8123054547272211399, 9164802058563160678, 771326735951664800, 6495063341368235782, 5465982786380357315, -332460477471122245, 6309779183402008222, 1505898572189780802],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_ipv6":{"c_map_ipv6_1":"b2ac:54b4:63b1:8360:df46:581c:9cee:5cb6", "c_map_ipv6_2":"1455:e529:ef88:6af6:64a2:47cb:6c1b:e03a", "c_map_ipv6_3":"2260:fed2:8608:cf39:5022:2784:48ef:5a19", "c_map_ipv6_4":"c276:8590:4c37:4bd8:b06d:6871:5b6c:58cd", "c_map_ipv6_5":"5114:5b6b:3568:b703:f7ad:9f51:75cc:b59d", "c_map_ipv6_6":"d4b8:2797:2611:2266:436b:820a:da95:7ec1", "c_map_ipv6_7":"53bd:215e:4117:7e3:3ca4:8589:fc89:288e", "c_map_ipv6_8":"7e90:f922:47da:37bc:bfab:f5b4:406d:5dae", "c_map_ipv6_9":"8cf7:b11a:797b:1989:4e78:e8a2:b4bf:3157", "c_map_ipv6_10":"27bf:9f11:2cdd:d3e1:bca2:832a:2203:2587"},"c_boolean":1,"c_smallint":27969,"c_largeint":-6733669993783303881,"c_date":"2001-02-28","c_array_int":[569737794, 369793256, 999190202, 741388150, 1905525058, -980770286, 1089070953, -245284250, 1854640130, 108010584, -1326469906, 440966614, -1081812692, 957761082, -2048753389, -1336008352, 492091900, 571323230, -478439260, 336496078, -1258757267, -1028672234, 1076460288, 380813043, 1071924578],"c_map_char":{"c_map_char_1":"InyWfMTwXE", "c_map_char_2":"NbfdYuCSOy", "c_map_char_3":"kDvUHCdJFL", "c_map_char_4":"uUEAUgWZAn", "c_map_char_5":"PypeAhVNlk", "c_map_char_6":"GRiSrxSoLR", "c_map_char_7":"fVtDHDvHVJ", "c_map_char_8":"ZsZupFpmSi", "c_map_char_9":"OzbCIiCKfT", "c_map_char_10":"PWNJVXLEVJ"},"c_array_float":[85.088135, 7.004143, 29.605482, 6.516836, 67.213455, 57.039795, 56.446323, 79.7776, 96.449394, 28.156143, 99.31221, 44.801044, 67.91114, 53.54503, 12.016755, 15.793106, 76.00731, 43.572254, 0.197921, 51.98098, 3.662529, 24.614237, 5.56454, 97.854454, 88.330475],"c_array_char":["kkLESxeGUp", "xeJQIfZYox", "xNFUPNRXCk", "CDdeFNBzpx", "lwyBebpcEo", "RAJaGPcCpw", "nkLrhqDUGT", "IzZCZkFlyJ", "DeAyYtlptF", "NBcXfpnDTS", "ekRylPGAEk", "qtIjDMtVNk", "pqbMkGuZco", "VrLHCPHsXK", "vsSRNOnSiA", "zHZpmokazl", "wjpWzKTsAj", "RgThxXdjMf", "HxYOEAwaFa", "hTeDgCNKXP", "veYDMXbqWs", "bPtlMPUhnN", "DDNARKwxwC", "CroDpgnxag", "uyOvnvvhva"],"c_array_varchar":["ssXjGTWTiHZHvWwHNjAwvlnjjxwcXSeSKWPfdIKnmgLAMqojRSAXKBuOHRhSAgjQpIzZPtCyCOsywLWefnTIGnCnhQSfmyXEdFAXkGiyjvAGhxzIqrcFfFqBrYQRxVNkiiNOHzbbxRYUDishtilkPdieiaULgGrDMbUtMOmNhNUGaOmuKghwLxRWtJaJHASVvVoztubhgACgelUmpQKANZVOjSLehqgfOeMzyfKLqVXmvbLqMNUficNqpABlEFWl", "TmRRMAGUIjEzukkyuyyVLGiaUxcoQxONjmsakCXGEeVobfyvNFOgKsXOBGOEcoNNknMHbfrmRZItdCAOLXmQwYsUlnkdUnFQHrIQmedpICMZnlusDBwvpUBMOVSWDnxLQTocmBKlyfGfcOlIWUbrBXmtxRGsZlArAUoYmamiIAPZYFfKVLjfQvJOGMyWjTuxrbHyIeBWvWVfHXruHUEygeiwSlznTJuDxCxyprKSChLwcQKGfCPUCrbFyMdoRfuQ", "LqcoEORSGhbASYKAFLLSadGvSBkDspQwRMxCIgJEyUHtjSNAGznKYfPFsCGqXgQAsBlDuStdoCuAEfBQFWBkYZfZroQmkLAEUGSgCHHoEDGKFcoCfISwkhNDXSvFtGasHrOGRbxudAlxGADPKiaUpTycCFjmLnNRictkGKZLuHmlmHgZXYLISaMIEYLWXPOBMINxpQWcobOlJhZBkNSTIauyUUQhzZWtYDesRdwBdzFbDKrHWrWyMSyKXIRswiJt", "NWYxUeemWSaYpNDstnEGISXvibXcOpBQsaXEGoZfyUgfQReDVMtjInZbruePVUVthYjhyfQokIHgfSJaIKqPgMlmyNcEZXsaaneDAunDuIXaPIbzjiVrwmTdruZwMIgFGFjRSIQdNHxajlCcChaddgTvzZeIgsMAnrCRfckyfzBsMTifJCCfDigXOIXwFwhMACVaznqRohYKSKxOtWpeQNSSNWgemaxgpTffgbdExCwnTDVHvSpFXVKeeMkDsvrK", "gmwjvzMuIaYztrCOBHwoWGTNKKcfTmqYxCHziNGrPOtyvhbzMGwWLbWoTaWiLatUWTkSnCDHrnnEOqmyyDNFxSUDAJgaeKliOJwSTLiWXJDzuWiLKedAZMGhXGBFoHziDFiCBYoRqXIUFWhUYzuKZdMcfoPEZzfHKpzYTuWvEXLGLUDMDYXddgKyPTBhnznYqDaqbYsznXMYHsoEJPhdbRbzyVMpEZHGxtdRybcRziVBUMIOAcuMrBlkRTzHSthm", "xloHhAxltbvHhYGrtychsloBemzklahUlgvGTFHfdViWjnNEcsDxAybBDQPjpmQNAFszIbuxNjEhCexsDDeAFRGVekfXioYAquvcFVdlYPLfwUVdURVxvuzTdftMfFKjeLKSRzzJTmbCiJbHVrhiUIYsbuueCFzVYNJtrrrkfLnodwxgkJjXECDnskXjfbnzpPRbKEQdARTFUnVVjsOBpAySACYmjoEoGxPhUlXkTwxWpaiBboxgarxMCgrBfmJP", "QaRqiqGnPlzaNVhAibQhqvoYuFWbTZRiJVQbsnUuXvdLuatinhmqOGRwIdhOXacGuPwlXrhXhRfAAPKolzJdKmNlISdODnLzctZDAbnOILmdHcSnukQhwOKrHiyblbLhPBCoZBcbAZTHfThqWQZqdYYytCtPWUmjXWNqWBjLGZdopHrMpcwrdTbFKvpqelHsyxGayAnjGOAvsjnspndxvsNbSwgexKAvZWzcgstYxgonxaXNgaDvsRHcbbHEBFCd", "QTzAsyjYzgWJaHZAMzTlhWFsXixZjDXghBbTURSIxYkBDRNWHcAbUjMaooBwsgCNBloixusRDUrtHxZzWyTDrsGsAQNrPgSBDpQLcZytYisBTFKJCPySZDiaAohweJNEwZFJkadytZFXnzzGXrZnvEEtDjQvnSdPihGWJPvxDCxFMFfqOKkTNSlonQGGsKWOCroBdGNWkdBouIcjwCzSnnHHQFhavyThlMLnLBiLQMdbEbkpjmGueoMQOCtCtlbZ", "EUtHiwjDXZvGaFiSCXXlBYYuuDvGoHAdSfffrRimFiIuCJRyVwmfPXBDfKDavMwaEUvIPAbFfoVSGknRMScGVCTeHALNYdLmjLghPCEyIOoAGZJsEZegUWzKDAmbGwisbJJTTyPlOkXfyuBjtirMZqKBYEXOlzWxWDoHRvasYJXcqNSWUDObBNkcdbsOoFwkImufqeCjslQVJHEnJUbgoUjkvooePwvnKpArzssaKAVrvkxtTjlaavsbGZLzcNPI", "ZtOvyAUUOMghMPJTaMfomsngdAdzAnwBtadkKZuwtWSFOexTCSVacHUyTHnJDHiszLNMktpYqiWYaLdnxRGYzBPdHDloixcftooqofBsLnwMuqgQiVCQyIiusYYPIaoTzYeHEpgbNNDtjyVhxdpGwhcZJlWYxvdfNiRFFqHYUKxAmYAuLsdkRSIsNIAIHGjFNgQBqivMvOrNQxgPHRWazyzTKKGqReUAxsoECuIYomwBFKEgCdSoNmGQMTVTGSCQ", "nyZCcIKPlAIsguFkepHxDygonwErLPFsGTXxpSqCMEOGGdtIKaALusZtDgRpbvJdflpKnofhWgEBJafHQIdOcryQsQlvPTCfvNYZzJznGPnTtmhTZjfzKgsiJqeLZffgnGyxCDMWAqqEdcANziBYbnJKRLCoUfRoXXGWNAfjWnAETtgKbboDZkJfFdCwltIRtLKWKVCLGiDSVLSIpKyJZieePyRqEQeazSDMkuMrsPqOSJMHnPTwEluzXNFvyzZj", "kuFcDsKLJCgaggmgSCrrpbGQMubsVRNbHhlEOOfvwhzNPeptGyVgLbeYQocPWRBSTTPkyVRgEuKDgPJpxLliBzrzpRlsFcCgURemjReNeHxZrhfaruPzEaRCTRGCFUsCrIwAYIkZrLXjnoLNyLihIBymPRWmNqtRQJZUomYUVgJDXvNAPpCmEgiMMiVfytNteRuyPpThsiQcLJucsxjVMQrQheYPuwakFLWtpnTivoTUsknCVdRLweZSorJbNGBK", "FZpQLkDMdkiWAFOYteeXJwipXFySZJpWydMPQIqnBjrYvePuxJsGJIXMMwnjsvZotxNepWcUjSaSONOlDiBSaoxcidCEObaajmUtdyMmKzEZdaOSiWTFDLGSBXwJwmmzzVdgIgOlHsFECHUuFAjcpGeCByxjLslgugvSTLpJbHkrkrmmSdsqqPVltygNiOdibrWKfAKSlCLsOSSgmpXHXrSJQzYNiFWjpBpFxOqwbkGpUOfVwmcoFQydNLopyARP", "kMRHJoTYVsNsxiMVoerejflNOQCibwtoOkPUebrMIxQnGZsfkTYUwWieBQzsBCIpNfCekNzNLIhBFLTzbQfjIOAKAtqtjqPaXRLFfONEEqlekTewxToeBCBjcICUbpqYTeybSAtTKBVBXIIagaJFBtJAhDJAKADWJbzubJaSttuVjQrunQzyVQpLiQvejnGjPIMQOexrmBVTdbyeUPvhhCNiFXYadsqCcEyppfvFQCakQgvzOgAaHAjmiAOgqqVZ", "MiPjEgtQgoIMuKEZEcTlOKbGctLqQYWLechtHDulPBTjFlzRfHcacwvGbffahNwCpZpaweigRcIAGFooLOSbYqXQjPwTfbUIkELcgUXXLnGPystpSqAKMHsTYrwwlZkPlqVRwxRZUTTToKBSmZrlfGDxljgTSRoilibZdxPksQSMbbvToPtjDwoRjnvqFlIBQtyFXUzQdDLnbLKQLBoBroUNBWVzCmGjQdyndhgbBJtDYWOnDbFxmOSZFRANEhje", "ZfpdlDVzyoCtCpWPgvhCnXvogmhxWypATvyrKnpWOosppgkXvlkNWmBmKoouDUXOZYSCbvkSDqFztvAZYrtgHkfXhoMEiiEPKopdKFfwTNxQSZniDjPNvDLqKYfPbaujrdDooSkWdCGcRyFPgWKtJLumwSIxsBcOjcPGFbmAWXzEEtpQiGdRcdvwmbWkbANwNhWWyoXABpzWwqgaIHdlpnDNqGNUyUbtejrEjjQgPnEKTPAqQfLEjBrRDtdffzpC", "CTdvdJPNiPFCcCtUPvdjcZgYknnFFTbRFGKpmISnarvJySJKPapCukvkUxgxDCvQrleKaNnlSTwbbQLvTsDIDvSKeFhHQPcPkNIEnSzcuRPbCmOFwkLdJqKFmbJQsOxkHZrOmNWxUEAPiXYHeraFzuxbjBIvlkpbfxbRNPxvnyPmybWghiVQSPpjEKtmplusFNxTsOPoksEOSADgArATZsVaxSEtMYGWgqQRIlguKXqJkGBLJPywfQMWRkTwqQQn", "XlBLaGGVJrbCIFhwKeFemAvGrwqqZdqpjoWRkVGasyXelviwGubQBekXzkTrbVFuGEuwJqFwePMOyzmsFcdYaXwWkVooTeqNspSrwgjcYfqTEuebiENttgjxvnqEPbvendmfsifOnVKWTgldsBArCFMbnMubyOWIJfDiqZsNvkwGLvlyAaIKlUKdvbheEtTjKVudOhDeeqcGEGNqcWgDSqcTWtUmJFsDvJzzhMORXPswKtHoXoftHAqwdaYpDHKT", "ncuFfIyoNFFDEJCsbtHyIFGeVopUWsiqlBmgwjHlEFKqfFGipNnsjltoqKPIkQcJrFMJthokdthFcTrRjVsZwTQZiNSALnvGhCRjtfnfKJHDOdCBWtnkhewWePREdMeAxoySewDbBPPAByknFloibOBxooxKOcvedrUiGEQUVDoKltdaOmAiOkXiUtXSzYrKtksaBXMCpqhtBPOPWELafLnHQeHCSTVBSOMbbmNwrEgCiuDotuegYYXqdLrTblrs", "cInbjWBQSpldzuzdpuFgYIzddVYhiDkxcNoJrJuyHiJcsMQFixJkTWqtEHgwbHnULYamMYofSLqtJaYvHLRsBAWGwbZRwYdiaGGFENPFPmuxMBWVLRijocOJElrfdUvOccahbSYjzKNVdOZFedZJbYrqLvKllujZuuwRdtjNWnYnVLaQDTOPdulzDfkCcQDNzeovPjTUldtetkkSmbAwLYOYLZcoAnDVtzvmDCVfboxCFjXlQSVDzHTpzOHlkQwS", "OHvoawNnawQhcENbLqwHCrmNoHQOmrMEoGUZElsqJSZwYbaRScxEDUiZyViYmIJgRiqhiasKmAXfPrlRFziTIxpJznOwBOvReLpohaMCbmjDNmKucmZeiofdOrQqFUfMDkpxZycGmrnHkphCgUoCiYSKpBAfOwSGZiUtPFuRPiwCcidhOUmIDqzBUbtoKJVjasuBFalrEEEwFvwHvoNchsbbBffbRkDITQLIniinDBKPpHnqFtkcJntWmOtVJQul", "rEShswgsuLTJRxSleZQJxlUqwbRuSfKsJTpvfouUxsOUuaecGzfbKyjdNwdGekCNtyeBXOCRzaAabslrzjCtkDWCklOKJaQOhYvQWRnfEDSUECbenAuqDKridtVouetolPCNOsYBYVjvORtNlmUTVIlrJALYkRJnNscDHLGQqqtGxEvIzLIovWSAFjWzXPinqkmWiYUDFGeQaddhcXETODUQGlGSfwqlRDvJxdAompGqSFmWelvsunNyvQjWvijB", "OCIECysFwhZBZCnDeFrFstacvYxPFkavVLIhqVkApAgJzeSkgXkRKEglDwTRDGADyDIlQknBeuJzEWTpYjQuRpVRaypnouBBnYOTQMCTypANZxoZsjXIGIbMAQgTAjydhDUPxlessoudhhOHRUouKMoYlpjvFQcxzuceSWDkkNxwbHrtzWPoTRFgsOoiNSVCOuSiqagAbJckUugOGXDYconNYyZJuJWICjFaacLYjbTvEoNfGLOojQLlWPpozYse", "aoPhKQElhapKTQiARSuOrQpVvNqKeGZKvHAIlexhVloeAVEiSjINnAWxCxDeHEBsOfLoyhEonsyWcsAtQuyEBlHJPlmjfznOiGbwhaFjfypnOmGQtzZRIRzZXhLtSnAIUGjHvfrtzCSfjotKMHwQWskvlVmAcMDeACCqvqrvCGJnfFZCbsPaHjHnaAhOLhgbiOryjwPiXLMIXhZhLEJdOddLhOCFpHJxfnvFCIOWsmGYNPdhgdyXIqnHgNMiYFys", "MQrcjQHNYrOUrlgJNqnzTXHuDxfjXdvkedoeWrmxHMBnTiRLNmDWtDgRhdUTxQwPrdHxtfHFLvxOcPPQZVMwhPoyTBLyDHQHUhAFpOVMOTsbrAtICqiFvNJiGaAKRIctvTyBSNgGwQgrRlogplOnCNVFqPLVYGtJhAcAKgZVrPxBlJGjiRnPqTBjvFOGlyELbLmpaxpCBmqMbNjcblAABUQRSLFebdIbLIEQXuMtLGdUWYShLpjoTquZKHJKSSeN"],"c_map_varchar":{"c_map_varchar_1":"efhUYfFWWPmkujqzHFIMuyWnGjIeoxnMqBLLbArRfbQlKsGPLhjQmxCGflcWZkyEskoprgQfletFcOeaUbGTjmYJYuqrLeWbIvYjGtEvrCpMTMfRecPuiWUIjGiDNrqtEpPxeYgikoVdBFeNXXQDQdmMuRLooLFJbxjZbDWzyrCMBxTdwSofjFegnFasndNDJPHJBicTYhOqqENgAjkqgfMklhRARGPMWALadRmHwPLkmaOdtbSiMXAiPSPCLaPb", "c_map_varchar_2":"jQtRYiisufOsPeJKfJxhsSHMxwjDbPQJtYSikGlJpuiODuiiqAjZETrBOkPiyWpKXZVzHYMwqTOCwbQuwZYqXbadrpizWGfuxcXvVeNTsvGTnAYsBzoUUENszrebsewDIKDYEkVGUWPcmUqodokeIILHsfAyfmvhwbpCnUGUNQCHoagLAguceZQErAWIAJNEFrBctcnfHagJuLpKiJbuTmbnVjVTcHaqDreaeaQKeafAyuOxtTSXZNEXuqQCJcgG", "c_map_varchar_3":"CnnqecSGEiSdGvCvVaYZSAuGGkzAlugOgFlxFsOIzhnGiyWAtrejZQDKjUiMVWhlUFKiIyctkNwFtRiGQFcARIIHxgcipnzhmNeTvHoRfCvTaJPfjxpULPXpgcZPsNTtAJaGvyXduzaBaMkKGIpZSOylPVDiUDzwWVzvsGqTybWVQWnyFWUHpnlqtesYJIwfvuDPthpPrqdHLNyxKNnbZyohsiLfjswVXEhEAkUywvkBqSOxzFuUQSkkDRMkaMox", "c_map_varchar_4":"mRGkxVKTeFuaPhvcrSVoXQYqHEbfTDNEwxkSykSuhqtjDwlPKTbvhlhSuTKNyKStmdXWirGbcoPahkNLOrGnrdugSUpDOmqfDKuZwjxRiZTftpAQJyoXIAMYyIxGDwOLoQaYEtpORjJHuCSQfRvkchaMHYvgAVjYRQIrhMRRGTxtiPRPzeeWQWsZnxlgOOCGBfCDSspVgGDTlyscqYOpUhWteKBZwHkgdsPvfFczDSjVHvJHfFhqkLmKJNmvyQby", "c_map_varchar_5":"tGyRfuczOoWNpmBbMnEcnhUHVfsroaxWKgWDUypZAhhvqHqwJSDDWgQSxUVERngBPBGijwLmGZzVyCklKtSsPFGkudKHqleBeBndEVklIRQhCuyMxwtOAJZsTeXiSrabdvvxXnSYeeEkTHkscsYKSENioHNpRpndCQamwgxGilaVeWPMZcOHCJjcXGyNlCdYfdjRscsboRafUBDYNOuWkCziGZJcxkkZmUtqVoEbWvgRDxpoIKwOGJZHhcbhpQqL", "c_map_varchar_6":"mdEAkRbSaImhhzanSLPTtmKapvGpwDJHKDvBujAYQlhGSCYjyjPhttgRszJABylzoSkLJBOBelcapEUlAyGeZyJFQkLLlwxDQjlEwcCYBfsTYPQAoUPUUvRGVRldpXIgLnxYsKDZgzVfyrcYJDaWmsuEiLgwgjwdNwMiBkhmtoxYdZRjkFhtOcKdzDceppBRLHwmNSTGRyXcGrYnHuNrGKwnWcEXVVzQpjZWhlJitGKoLopwXYUPWSVfgtThDMwv", "c_map_varchar_7":"IxBGAURmSEZmKZhOhpElWZeRUvukQtZggfdAvOuUfMvIVbMlKxKefSDwmTyyoyxYZidkFOPjgDIZWdggcZplignEhhLWVyNUMrrlcyTinIYYjGcTzMgCsSSSbDoSdhuHYHpSNEQTXrzxFDhYMLyYHvskLzRNfLzvzkLTBuvhiojPHNUJfkshTzDHQzLbknGlKSGvnYAnvkLkqHVNZUzwxEHPKGFUgWqFPYWYmqFagotEzehaQJWNGQFQUYrsjEjy", "c_map_varchar_8":"llWOqxMzQxJJqOUUBVtPVRucurqGaaGETLDmakfOwqXAzFLbucLVtvbQKnEEArfcUstGEpnbNMVQPylrjozEWfndooZCeNTvgrbMiDeIuucEtENPPyNKuBUXMWHzCGUoYcYdTAYyCQQjaljhKfoVkKukHynXztovFWvGUMZPCsvNorKCrGHmMEsPPaWCFdWiLCiXrxIijlLEBKdJsGEozbqzkXLrjbRillTwXHvOEEjuMiDUpkOKhtLikuAUesAl", "c_map_varchar_9":"IMMxQozvfcFcBuLiqfpHIGiLAmsSFdxVJBdZSAiIDxrWtoHpynRZCqhbuRBWQnJHFNsTLshutBTGInucgdNDCGbfhdHgyPSPBelNZBAeqIGqKQzECnQWmjikxxMhfUZwWKxamIYPvUyYJVuZbcLEZXZzYzgWYJprbZKuXnVTFmotkdefDrWLWnpTegiSJJHSmiiGTgfeMOTHmPcrguzEsZWvXRujItPcwVdTXDnbvpgmxkWlpvyLFRpbHEngwWqJ", "c_map_varchar_10":"ebzOWBklMljfzMjBdfEQvKhnGlGCukAKFJlWcUmmVtIegclQJIoVUvQLsjQWvVwhVEuoJAeWJCFMiPCWWaKKesjFdfziKWfSvAnqMwUtVldhNCupkMzhcigFGzNtpAPIARWOkOKekpPcgZJHrMBsodFgctDDqGPHnuDiKwULLkRHdYHpJTtqtCkNFQpapJTzvkPzkvLuOuKkmquUhStOJKPNSooTIXFvxEzgDAgrnnoxNgrraXTJKxECfpmaKuNp"},"c_json":{"digit":"9","pronounindefinite":"many","bitcoinprivatekey":"5KdChhfxuxKo6oYMSKrH6E74YgVLMBkWpAx9aEUXzTRryWQhG5H","fruit":"Guava","bitcoinaddress":"357fP9aq9xhvZfW1XpF255BwGlC8O","hackerverb":"decrypt","hobby":"Debate","nouncommon":"work","adverbfrequencydefinite":"daily","minecraftmobboss":"ender dragon","int":5174585775887363549} }'),(12,false,false,-37,-16,1,-128,0,-27783,-30606,-12637,1284650086,0,2147483647,1674075461,null,-2689686,2821524,147483648,-9223372036854775808,8807327323768860893,35.144234,82.858734,35.62494238729114,300.343,59.1345,69.0233,17.0215,40.123,null,100.02,95.0646,40.123,55.0781,92.1639,36.0215,100.02,300.343,null,300.343,300.343,42.0024,300.343,100.02,87.0488,100.02,72.0288,40.123,9.0555,null,40.123,72.0044,28.1244,{null:null, false:null, true:null},{null:false, false:true, true:true},{0:-62, null:1, -114:127, -11:0, 1:57, -65:null},{127:-96, 1:15, null:2, 7:127, 118:82, 23:1, -36:null, 0:0},{-28132:0, 20671:-28881, 27311:-19286, 22569:-32768, 4061:-14787, 32767:31272, null:-32768, -21053:29154},{32767:-25030, 0:-32768, -32768:8162, -23396:245, 29908:32767, 245:-7040, 23395:0, 13351:32767},{2147483647:null, 147483648:32679, -2147483648:-2147483648, 0:806889045, -1968245749:996042081, 1131419550:1279146910, 32679:32679},{543919807:-360630797, -838631423:-360490853, -2147483648:-1395631970, null:-2147483648, -31471553:-418232742, 1990748644:null, 1040613374:665084864, 917281188:522206799},{32679:-5761650228709211412, 0:20434, -8636275733067720659:147483648, 300.343:-27549, 1:147483648, 9873:1, 245:1, 147483648:1, 9:1},{null:32679, 1:245, 300.343:20240803, 4:20240803, -1670631549543913000:null, -7266652012037374701:-85749298581983380},{-9223372036854775808:479126990617153818, -1908198179394604775:1, 9153847053824953261:244906730, 0:1, 32679:32679, 3428291319704147300:0, 245:-3038971},{147483648:-6465821, 0:0, 1:-2942633300752708876, 6599941:0, -3357906599640307575:6846615602763968146, null:1, 9223372036854775807:-2197487280250897416, -9223372036854775808:245},{9.218372:100.02, 300.343:31.025919, 72.37894:60.606865, null:47.866104, 39.52088:55.09339, 43.18988:18.364672, 4.952266:300.343},{77.26804:69.868286, 100.02:300.343, 24.34923:63.401394, 72.22314:null, 40.123:5.09429, 24.631308:11.033785, 65.10647:80.33175, 66.46787:27.188969},{96.27946153574909:99.00501788144649, 62.594092556904116:null, 40.123:31.179754305929713, 100.02:77.71752068336963, 300.343:300.343, null:300.343, 82.92393356942885:40.123, 76.47722690244244:77.33962648957949},{55.8262070855238:26.949396839331513, 9.271717699393628:60.72485469094047, 19.902330129629565:50.871310818540145, 80.81227620326368:74.66332639814753, 100.02:300.343, 25.60921990879301:null, 300.343:39.745591223293985, 10.866060514036961:28.454868437634286, 40.123:70.77988045853098},{69.0098:'k', 100.02:"9999-12-31 23:59:59", 39.1357:"300.343", 99.1746:"1", 83.1129:"0", null:"2024-07-01", 40.123:"2024-07-01"},{67.1103:'j', 300.343:'q', 86.1850:'be', 40.123:"20240803", 100.02:'because', null:'u', 57.1026:"2024-07-01", 35.1436:"1"},{10.1397:"0", 15.0262:'here', 100.02:'r', 44.1403:'q', 300.343:"300.343", 2.0110:"9999-12-31 23:59:59", 2.0539:'w', 76.1134:'say'},{100.02:'to', 40.123:"300.343", 62.0110:'when', 13.0992:"9999-12-31 23:59:59", 92.1118:"300.343", 45.0027:"2024-08-03 13:08:30", null:"2024-08-03 13:08:30", 20.0986:"1"},{11.0638:'o', 45.1139:'her', 57.0616:"2024-08-03 13:08:30", 40.123:"1", 40.1555:'d', 43.0278:"20240803", 45.0034:"0", 50.1036:null},{100.02:'can', 92.1615:"1", 40.123:"2024-07-01", 26.0864:"20240803", 87.1351:"1", 10.1344:'q', 88.0000:'look', 77.1215:"20240803"},{100.02:"0", 12.1197:'s', 90.1966:"20240803", 43.0047:'you''re', 73.0714:'can', null:"2024-07-01", 40.123:"9999-12-31 23:59:59", 52.0731:"9999-12-31 23:59:59"},{100.02:'s', 57.1620:"2024-08-03 13:08:30", 40.1003:'b', 40.123:"9999-12-31 23:59:59", 300.343:'your', 35.1259:"2024-07-01", 39.0111:"0", null:"20240803"},{60.0911:'z', 100.02:"2024-08-03 13:08:30", 40.123:"300.343", 95.1168:null, 59.0616:'i', 300.343:"20240803"},{null:null, 11.1616:'p', 40.1638:'him', 100.02:'her', 40.123:'yeah', 7.0165:'z'},{42.1141:null, 22.0733:"1", 40.123:'to', 100.02:"2024-07-01", null:"0", 27.0881:"300.343"},{null:"300.343", 100.02:'p', 58.1751:"1", 48.0491:'time', 65.1370:"1", 6.0071:'on', 94.1837:"20240803"},{40.123:"2024-08-03 13:08:30", null:'l', 100.02:'can', 5.0896:"300.343", 41.0643:'n', 86.0692:"2024-08-03 13:08:30", 77.0853:null},{59.1766:"0", 72.1816:'him', null:"20240803", 48.1464:"1", 1.0727:"20240803", 300.343:'q', 22.1155:"2024-08-03 13:08:30", 40.123:'but'},{'r':false, 't':false, 'is':true, 'g':true, "9999-12-31 23:59:59":null, "2024-08-03 13:08:30":false, 'can''t':null, 'p':null, 'out':null},{'can':null, "0":true, 's':false, 'could':null, "1":false, 'he':true, "2024-08-03 13:08:30":null, null:false, 'q':null, 'his':null},{'e':-2, "300.343":-128, null:-18, "0":-23, "1":127, 'because':127, 'this':61},{'c':8, "2024-07-01":-81, 'i':1, null:-128, 'p':null, 'did':null, "9999-12-31 23:59:59":-128, "0":-128, 'say':127, 'and':80},{'could':-18806, "1":245, null:30134, 'm':-9633, 'y':-16963, "2024-07-01":18667, "20240803":0, "2024-08-03 13:08:30":19501, "300.343":26925},{"1":32767, "300.343":245, "20240803":null, "9999-12-31 23:59:59":3938, 'e':-32768, 'time':-136, 'a':245, null:-32768, 'on':-32550},{"1":339067897, 'a':936340809, "300.343":529718678, null:-82165160, 'o':873306549, "9999-12-31 23:59:59":null, 'back':32679, 'v':null, 'his':-1236563398, "2024-07-01":-379743226},{null:-1006943688, 'v':-948165729, 'b':0, "9999-12-31 23:59:59":-78456718, 'I''ll':1077263539, "1":1639531828, "20240803":-1450035632, 'come':0, 'here':32679, "2024-08-03 13:08:30":1529699112},{'q':147483648, 'good':20240803, 'b':null, "9999-12-31 23:59:59":-360100, 'now':1181522864196647986, 'look':2, 'd':-148078, "2024-08-03 13:08:30":-364, null:147483648, "0":147483648},{"20240803":147483648, 'there':1, 'get':3, "300.343":5, "9999-12-31 23:59:59":9, 'j':null, "2024-08-03 13:08:30":2346863, 'i':1},{'q':1, "2024-07-01":null, 'from':9223372036854775807, 'want':null, 's':0, "300.343":1, 'y':1, 'on':-6492952573078193026, 'p':245, "20240803":-1330798},{'just':6246299311019483682, "1":631801911, 'okay':0, "2024-07-01":7857985945450912499, 'at':9223372036854775807, "9999-12-31 23:59:59":3690349501481220639, 'l':245, "20240803":-3302651480905382535},{'u':0.060640562, "2024-07-01":null, null:null, "0":8.455455, 'a':40.123, 'i':93.61037, 'c':51.34895},{"2024-08-03 13:08:30":null, 300.343:89.53046, null:null, 'j':86.98456, "9999-12-31 23:59:59":100.02, "2024-07-01":29.729425, 'good':300.343, 'know':46.391006, "0":22.545404},{'was':20.742937859101747, 'been':40.123, "0":100.02, "2024-07-01":null, "2024-08-03 13:08:30":40.123, 'going':40.123, 'the':76.92016975813536, 'all':10.247307280189826, 'yeah':99.727018687289},{300.343:2.6781941440885975, null:300.343, 'can''t':20.731979410116587, "9999-12-31 23:59:59":96.3412840770064, "20240803":48.31847486648735, 'p':54.15897610767048, 'z':95.785636983334, 'hey':39.30317134689189},{"2024-07-01":76.0837, "9999-12-31 23:59:59":40.1663, "1":null, null:62.0421, "0":4.1148, 300.343:100.02, 'c':100.02},{'x':40.123, 'as':40.123, null:59.1490, "1":71.0363, "9999-12-31 23:59:59":95.1478, 'when':300.343, 'say':97.1760, 300.343:51.0790, "0":null},{"2024-07-01":32.1778, "0":42.0954, 'i':40.123, null:100.02, 'go':100.02, "1":100.02, "2024-08-03 13:08:30":46.0906, "300.343":87.1615},{"2024-07-01":94.1084, "1":100.02, "20240803":43.1544, 'are':300.343, "9999-12-31 23:59:59":100.02, 's':56.1951, 'c':36.1516},{"2024-07-01":null, null:null, '2002-02-08 05:43:04':null, "2023-01-15 08:32:59":true, "2024-08-03 13:08:30":null, '2013-01-28':null, '2013-06-07 08:06:10':false, "2024-06-30 12:01:02":false},{'2014-07-17 09:18:35':null, "2023-01-15 08:32:59":false, '2019-12-07 00:31:57':false, '2014-02-15 02:59:42':null, "9999-12-31":null, '2009-06-04 13:40:07':false, '2019-05-16':true, '2005-04-13 05:44:27':false},{"2024-06-30 12:01:02":-128, '2014-03-16 05:28:51':-128, "2014-08-12":null, "9999-12-31":32, '2017-05-12 11:59:54':-32, '2011-11-28':1, '2012-08-11':127, "2023-01-15 08:32:59":null},{"2024-06-30 12:01:02":-128, '2000-07-17 12:12:07':-126, "2014-08-12":-43, "9999-12-31":1, "2024-08-03 13:08:30":0, "9999-12-31 23:59:59":1, '2008-01-11':-37},{"2014-08-12":245, '2011-02-22':0, '2003-07-09':13904, "2024-08-03 13:08:30":28763, "2024-07-01":32767, '2005-08-16':0, '2014-09-25 22:51:14':-16016},{'2000-09-05 16:59:56':-25412, "9999-12-31":6880, "9999-12-31 23:59:59":-26149, "2024-06-30 12:01:02":null, "2023-01-15 08:32:59":245, null:14600, "2024-07-01":245, '2016-09-25 16:40:11':-32768, '2009-01-26 17:52:32':-28193},{"9999-12-31":147483648, "2014-08-12":-490503844, '2014-03-05':32679, '2016-05-20 13:30:19':-111044504, "9999-12-31 23:59:59":1419499280, '2007-09-22':147483648, "2024-06-30 12:01:02":0, '2006-08-11':-1000833690},{"2023-01-15 08:32:59":-1474931460, '2017-08-13':-2147483648, "2014-08-12":null, null:-1140174520, '2018-07-20':1805941021},{'2002-04-20 19:18:39':245, "2024-08-03 13:08:30":null, '2008-05-16 07:03:17':14970, '2002-05-23':1911028531156850550, "2014-08-12":147483648, '2012-01-10 00:52:14':8122864776867766215, '2018-11-26 13:00:22':15419, null:-122542, '2010-10-02 12:36:38':20240803},{"2014-08-12":245, '2013-05-12':-21320, "2024-08-03 13:08:30":147483648, null:20240803, "2023-01-15 08:32:59":245, "9999-12-31":20240803, "2024-06-30 12:01:02":32679, "2024-07-01":2, '2004-11-14 11:31:55':9},{"9999-12-31":-5642349, "2023-01-15 08:32:59":1, "2024-07-01":2489876, null:5048584, '2003-10-05':-9223372036854775808, "9999-12-31 23:59:59":-9223372036854775808, '2019-12-18 21:40:16':147483648, "2024-06-30 12:01:02":0},{"2024-06-30 12:01:02":-9223372036854775808, "2014-08-12":null, null:-3961460, '2008-05-05 01:09:58':0, '2005-04-18 08:14:47':245, "2024-07-01":null},{"9999-12-31 23:59:59":99.901985, null:null, "2024-06-30 12:01:02":40.123, "2014-08-12":76.75691, "2024-07-01":100.02, "9999-12-31":47.80218, '2006-11-09 12:22:21':40.123},{"2024-06-30 12:01:02":40.123, "2014-08-12":100.02, '2005-04-26':23.875666, '2008-07-19 16:39:25':1.8092074, null:100.02, '2006-03-10':40.123, "2024-08-03 13:08:30":18.731573, "9999-12-31":95.07832},{"2024-06-30 12:01:02":300.343, '2002-11-14 14:49:56':78.32789858119665, '2019-10-15':40.123, "9999-12-31":null, '2008-12-08 19:26:24':null, "2014-08-12":40.123, '2019-08-19':100.22958900363534, null:47.91199908180439},{null:67.49300482283252, "9999-12-31 23:59:59":20.34811279068517, '2006-06-25':100.02, '2008-08-23 19:15:18':45.67253670606672, '2019-01-18 13:38:45':300.343, "2024-08-03 13:08:30":6.341429107077293, "2023-01-15 08:32:59":47.038605254438046, "2014-08-12":40.123},{"2024-08-03 13:08:30":30.1872, "2024-07-01":89.1156, null:21.1509, "2014-08-12":null, '2010-02-21 17:12:53':40.123, '2012-02-19 17:22:14':100.02, '2006-10-07 23:35:55':300.343},{"2023-01-15 08:32:59":53.0916, '2015-04-21 21:34:50':54.1743, '2000-11-26 01:14:15':40.123, "2014-08-12":64.1541, '2003-02-09':94.1128, '2001-12-03 10:40:02':null, "9999-12-31":96.0212, '2012-01-19':100.02, '2013-05-25':74.0986},{'2016-11-07':null, "2024-08-03 13:08:30":100.02, "2014-08-12":89.0842, '2006-01-05':30.1181, "2024-07-01":300.343, "2024-06-30 12:01:02":67.1958, "9999-12-31 23:59:59":null, '2018-11-08 01:03:02':74.0696},{"2024-08-03 13:08:30":95.1826, null:40.123, '2010-06-07 00:49:18':40.123, "2024-06-30 12:01:02":41.0534, '2001-02-24 23:27:27':40.123, '2018-07-19':100.02, "2023-01-15 08:32:59":40.123},{"2024-08-03 13:08:30":null, "2023-01-15 08:32:59":94.0886, '2013-11-07':3.0570, "2014-08-12":100.02, '2004-07-12':99.1237, '2013-04-01':39.0999, "9999-12-31":4.1358},{"2023-01-15 08:32:59":89.1151, '2006-09-16':100.1055, "9999-12-31":300.343, '2008-11-21 19:32:22':null, '2014-01-26 22:41:17':300.343, null:300.343, "2024-08-03 13:08:30":null, '2011-08-12':300.343, '2014-10-14':null, '2018-05-23':34.0031},{null:null, "9999-12-31 23:59:59":40.123, '2011-07-26':100.02, "2014-08-12":100.02, "2024-06-30 12:01:02":100.02, "2024-07-01":100.02},{"2023-01-15 08:32:59":57.0592, "2024-06-30 12:01:02":18.0422, '2011-11-13 13:17:49':14.1413, '2017-09-25 18:35:48':300.343, null:300.343, '2006-03-16':20.1267},struct( false,-19,null,2147483647,245,9223372036854775807,300.343,40.123,100.0585,10.1949,100.02,null,300.343,40.123,100.02 ),struct( false,-114,16533,728454979,-6249787785208313753,-6620775,null,300.343,300.343,300.343,300.343,40.123,300.343,null,100.02 ),struct( false,-11,29977,1039162674,147483648,245,5.072501,26.076131323987273,100.02,1.1410,68.0093,100.1222,300.343,300.343,99.0960 ),struct( true,-121,-10010,-217527829,147483648,-422262412,29.459816,51.84290910505786,300.343,1.0908,300.343,59.0096,82.1967,63.1252,68.0303 ),struct( true,5,null,0,20240803,-9223372036854775808,45.71398,22.698062821755745,69.0819,40.123,null,42.0346,300.343,42.0880,67.1300 ),struct( false,1,-19973,null,20240803,3014389332365869803,31.308523,7.079095176965533,17.0555,100.02,40.123,86.0343,null,0.0289,48.1566 ),'{ "c_largeint":5535965948686274469,"c_array_largeint":[3337209027390487755, 2668182218770249916, -6765575163114281449, 358749172690563857, 8776863326989880028, 1068350834796999641, 3173813383083514522, 1618384058766180387, 1115952810481757314, -7787023088418339142, -5265088318955772706, 1187856497634007153, -5158920751798479704, 1743631981509541607, -6449109436883417466, 4896824594615703502, -6258749245819665610, -7126826716185785447, 8667789722449220476, 6557615242370990363, 3958993791214146940, 2716228458351522618, -2618772803271108774, 4376231145369738893, 7428813014142719443],"c_array_ipv6":["hgPpCchTES", "PxeyqlZOKe", "huCVAbsxYa", "MWaHUitzQO", "VUQZELXHfE", "YNAqfeStuI", "CBaXaOAYrv", "YFdAlmrpWT", "BlCNiCXGec", "yLyWtWljAv", "PDGXWqLBqa", "GoCnBvctdo", "ASTPfcIMmt", "hkohuxJNug", "dAgBQczQix", "SLmFkAgJFj", "CrrzWCJERy", "FhHMIxBAks", "wmawuAtejd", "YROSxZNQwI", "jPpxSbGdJo", "dXNBBpuWfP", "iyZSThgrAw", "iVkwnrNmtC", "TEHDhlZCIG"],"c_map_tinyint":{"c_map_tinyint_1":-11, "c_map_tinyint_2":122, "c_map_tinyint_3":11, "c_map_tinyint_4":0, "c_map_tinyint_5":-82, "c_map_tinyint_6":120, "c_map_tinyint_7":-26, "c_map_tinyint_8":36, "c_map_tinyint_9":95, "c_map_tinyint_10":-3},"c_map_smallint":{"c_map_smallint_1":25987, "c_map_smallint_2":32381, "c_map_smallint_3":23004, "c_map_smallint_4":-3835, "c_map_smallint_5":-24521, "c_map_smallint_6":-30764, "c_map_smallint_7":11527, "c_map_smallint_8":15798, "c_map_smallint_9":-15562, "c_map_smallint_10":19628},"c_map_decimal":{"c_map_decimal_1":85.0058, "c_map_decimal_2":27.1443, "c_map_decimal_3":99.0689, "c_map_decimal_4":27.0640, "c_map_decimal_5":79.0371, "c_map_decimal_6":41.1726, "c_map_decimal_7":6.1370, "c_map_decimal_8":14.0805, "c_map_decimal_9":34.0596, "c_map_decimal_10":51.1825},"c_map_double":{"c_map_double_1":48.786958348392446, "c_map_double_2":22.990447990633655, "c_map_double_3":8.829389279844062, "c_map_double_4":75.30485783572703, "c_map_double_5":69.5264397173589, "c_map_double_6":18.85423716041208, "c_map_double_7":17.08772521041242, "c_map_double_8":62.39550501099063, "c_map_double_9":91.50593309364669, "c_map_double_10":32.442811128589895},"c_map_char":{"c_map_char_1":"IJkadRzdfb", "c_map_char_2":"vllkqncwMV", "c_map_char_3":"bDuAybhQIA", "c_map_char_4":"cDvHeHziMP", "c_map_char_5":"otVFYnzMNV", "c_map_char_6":"ejHPGUehWs", "c_map_char_7":"SaWPSQejSU", "c_map_char_8":"hzdTCZGFGv", "c_map_char_9":"jeycbWzGMl", "c_map_char_10":"FdBbOXwech"},"c_int":-137555185,"c_float":44.959995,"c_char":"vONwUePHNW","c_ipv4":"35.45.25.170","c_array_smallint":[-21053, -11972, 6384, -8184, 21552, 32342, 24916, 21944, -26756, -2135, 19428, 13738, -25497, 18662, 30653, -13406, 10166, -28054, -10070, -9819, 24029, -3827, -23833, -22023, -5359],"c_map_string":{"c_map_string_1":"PyxxxreoPKLzOkxTXCZgFheUJULEabwVQjcRLjIdQgosZUyHFyyaDrQTcVFQmJfoBQSCupGDWoYRDzZopLwmzUYgfQMgFhjthbHNgjbYQLhBPHAGqKJgMHudauiqPIuYCuCVvecAWkzzyodhbquKohbAxqgldutDbMhqDMNsAMLPAVbbOcVYQesYFMTMKQLcfDALonhRwxcsVCCISbmYtlwZHtDnzANzcgKyzLNzjsnZjmBkTDttjYjVGVpLVVwYRgQkyCHcJydZApOkWUdTkevzluooHISLEIrONEPytvrNFuMUdnZXvnDfJpkpHIIFuSEHqOpjlLCvaZcgWQregkgvXdWIXZbJNjXkIrgVyAKYfOJKrQVJDlrtITPzAzBaLKuzqtBMphNqSUPqAvGYvPCmTrxdyfqrvCRiVDxbVzGROQsGHsLGGFCASTpdKASkFZnpSnivnkgLbZXSLMiTfjyJfDUjRywDbhgTzDZlQGjasnsbaZfRhaVCnfTGpBUw", "c_map_string_2":"hmWRHyVunqywRNrLGuFlYxeLMLZKIbFxtOVPqkbbubmkqNxlIYOKmxHbuhkIReygeoBipQgngLdiHVBxWohqVNCcEQKaZjGsYzVRyVLHdFKewOtrmwUiXdpMQbFriKYcgWGljzEYJBIJFrkcvskwmcUkFvKWziiIWXSNEoUAbZRlaIXNUDCiXiddvsHXRijOnFqjLTzSlxrJjMiiVgBcgTAqfWIqAQClmZdUBZlNDhOdydVzsyYxXcmPAvHDqixbqHYiXUXXlGVzfoZByGZTNjCftPjxnOTbjUqNyEpZlCRWalyDfeJsEmaWFDEnIDQmJnJYPKZiAeMKrzdbZvbNwEcmekjShpKBLerrcpINZKDtArhBWnzbZxBabSxTkxnxPDKruDSGJZtFJuBDKaGyQPglBjlZrwKUNEUaEyCggBEehAtBOhFddtxkLOodLEAYgpRGHmsQzDcFhqHtwLLSEvjFInClDXyfLXUOvYaPTPvXQcHtBnRwlZPDurwaisKZ", "c_map_string_3":"mDXYEpdBuGKAwVPJsDcbfDsobovtMWGoKDXYQBBszylHKnmmjDJniKdNCbJyqJGFehbYeqJorHpQjgxMLhmwSsIgvJOXloprQxKPapsWmCGLTonxGUwhHaHrohCjOEkxkkrZcFTxzEYhKsurPaVZwIFStYETKfuWYIStsKgKhESrilHfBSRJIiaeDsVYBAXmhgglpbNzlIteDOsoGCfAOToYvjeCxayvPCABZyTFbnYuWCvcEJShgoqCSmkNlFAolvZBaGRPICUDfWWsUEqBohjLDWltvSmCnbiApIrHwreQEhZHkuiQOCnPWWPypXOSWtDeNPoBlRnglEnHEJsBMpUGgMqeVBjVhcQeuNZUXHJbJECSDgmUJwdLqHjjMCytGfNlRyPdWPOdDFQCdGamLHfsNfSjKpqCoIthlOnKqhwdEKWuiZaBztkwdkZYlLLnBFUQucfauxHOcVVUrJeFIOTnBxTZdpGMsmUQYZfYBJoroCSYoTMNJBcORhnAAumT", "c_map_string_4":"qNDzpkuwVvDmzKhDRTRIYFxWxDsNLQZXjRVrkdTiUcYDYeyFdzQRsfJyjLepTLkxjdFtneDIKHXsKQTZTqyRBHtoaRDyXbKgFjhsYmJBFBtBFNdhLXqmiomQnAgiAsXXMCGlZeYZVLjeDxgihizZSDfETVGevjpTmoLaVtzFMoDZvxjjDcyjhqDBJqPvgFpBCfaEKiZrEcDYWmXGSwHxZPbfjgHaRSPelUgwYnJWSrsNNqqPsFxwsLWjYzsPUraVfZILWiipvUwUQyjstSgGCznoCgPjZyfhPthURrGiBfTRJyvQWRLeDgYHMNtujxYYNMQURfhWZIbVhywrLzrAQBhaKgTvNsFhKxrCtDTaiVoENPNBSwePgRqYAGnOeyXzwMcjjELdhdxRosswZKvIzqFcgapQLqDESOMJcpHlibOUIOzSIJoOaQpMceYKmxfIBhRhuxwBmBifEAUOiPlTXyVvfuXaWcUgSJoHZbWDaHuuoNYgqIMbkFvbHCntRbkQ", "c_map_string_5":"HODzkmxeFpzpYOfPlAMYOkzEtFemkQemjxkQpcIxZKFfzzBVxHozmphuJXuLnjefMVgHRABRKmNXJyIOslBycjehJzFxVVgRcUelulLJGqkIbMAhftSnNoDZMpWmTbafJlislPnGsymSNiiUuoYSmdoCzgJOsffYLdPMYEkujzZqjizgKabHyXpCdLBFkyDaCXQglIJNDmmXvmCyRqWUOMsykRUktwTfYnIrzVqUcvEZwmsqoXLRhrdamdJyFeHJLLHpykWBopyOUhUNOUxopAsrlJUxbwjbiEJkneZbdQUxhWszSuuZAhqecqtJATromYINqOqXVhoyjSooPkSXjpSZCMoRFaPMEBcRnuFHPSFJlgSGfafuPjpGTrjZbaTBctpSQOCMmFxOrSMKEYVOuXiBgxVplvlJdEcFuTzFzeXZgzVCxUffFcmEzHFWTyogiEKUBJufXQJuSvRlRKKJLFpWaaQcSATOYBQLQICzZwPvXSPYIGnPCqJHrklCRnqd", "c_map_string_6":"UwmkmzdubYjfvMrqFZsRTsmTOUHXpJiXwUAxjowGJFGLsVJomscLCEWzTNadiifehuVCmmBbtrnUlbMmQimxJrhjCmZEfziezwjFHNAhARDUbIUlbMVEZbbdWsealGjwQIbCrJTriSExPHHgizoFdIpbwgjSHwpMoGWuVdvQlpIIcYZcChfwWfBFJVgRNyXNxXyciQjxMDIMhNpvJWbyEFUkPJKabXYcjdwBJSeYsliXGzAabkNTOirDZXXUxXCUJsPbqggoyJyrkbYpZnYyIjlNdumdSAkKePMePhvioMSAvObQDfQOjEAuODUsIAjCvtjWifHqwrVnSEmgHpsLrnktSCtwcbSRyZxbqkNlppthrGmMjECHzDUHMurQbhoScTUAOKCdWhpXucWLHoepzaLPfwTwpMsxfMmnrbptKmIlqQJsbYJtcgzaJOoprVTlKrhDHLEuGJuErmsJpVlOwoCLQDqkVkXqsnXvZYSaxsiuwgFeoeRqdqQSxTJmiMxu", "c_map_string_7":"LmkIxDRfhktbnnODMQYvcmaYajiJaChuGIBvroVRykWQxyNbIifmThsCEiViulKYkLUaZJhzUDtzYyLrxxkcvnltzwfQTnehHglNxXsCPOYMhyDavzHoqHhgiACggBlmWsZDYHsqFwyCZXXXzIpiqFapFcitbPSvrKjXWfavhcpnNYwwphfJLkPWsVPPuCgSpVeqsaxSvxScSVgfXWNXKjvBrzNgTfXNDbgnNMrnsaOEkyySqVkIWoFknACVXmaTUVqsBkLvWUTRquhagUWhOjpyIHRNtBYUjBvjxNABqMzxSBcDGIHFaIpotEozwiAioRvweNSsoAmcwStVYhBxPjTuMuOcjYvnyDdgfmagYlTOdKSVOnEeXtKyxzkuHeQaaSrwdiuqYMziDVhGInQUXHmLfcVKWwGhGhGKwQnhlWidiBwMSLwLqKzzaUkvMRPcipLxonVuhlDXQbBRiqOXsvRrgwnUTsuhUOxDXekwQkEJICdrfbcSKDWdMBpCgQRU", "c_map_string_8":"pUdmAKsIXWpAeQEZsghohyZLBUDcEIpBuTNamCMHFeYGoZcRXOtukGmtvbMahqbecbuAgluZvKHhAXDuexeeuXWHucuoBhqcGUvYkByNTcMwljTLwniInGsYJQWkpYDtgiiTiMawJoGfxmVpdoLFfpLUROpKurVeGpgdvbsmLuDDiAbqXKUGRYVgPqvxFAdiEiQrxLyBvhtjJltMsAwMwnekdsQkeiwKZbjymclmOhpRamlvNgFgvpEeUAGWfbhthuVsAzSJQBgmIMPugSNSRReYHPjIhoFrpkgOLqUDaBPXoAmHhOtjrwrUEAcrtMJPEdkUVGNKJKSjbuOPRZINTWSeMjjEoHjfbWyYBqUiQzgIvPSoPQpdlwgXikAICWnSPsnxAuKoZpufCMBWaaGGrmwBInhiyMnnADcGzttqodykuUJwPLzfFiVKjahtAvUUVwIkKDQHacEvVsNcAikyxKahGWGRsyXecrecdxtxDsggPZKYVaLQQVkUVOIxLCOh", "c_map_string_9":"TpMeNfLXYiiazhRZNfUtwhfFEamSJsSafnqQqvuMoyZQDnhtkDWOVaNXzrJSCTqLCUEXMeEkjKIvezKqpeEBYJwLfBjrCFYwqFYUFGijGtINzlVoDWZTfkRgZAKFhFYqNwbiSUuYXnByTYssZuEfmqtdIqVqxgUAhVNwTvZoWuCMgSFvXzOzXAWXjFJXcLNoBckmFgMRldloZVOMVohWqGjqzpvGgNZsYTpbTUllfkHOZCkQveRfaqrnAcQQjDJEfYpHTRiZnNHnWwScesMZvnnGywSvkQDXnvCsBsgkHRyAnGUaxndeQtkyMuKLOXOFeUFeGiQIfATeQhrJtFfCvkGbZCPZPXvVevzqUAWwGSoeQQGGkbAjElcFIFndtrfaXkKstnAFOuomzggFyWdYJNzSYPgDwBDvVqTKfAgLzkoYlSCdwowYmXZWdHewqtofBcrXOmsFPZnGbFzTEviIvBoYbhkOiIpnQwoYEiFBASvkEGyttJRBDzEkvPckKzfE", "c_map_string_10":"VgsEplNIeYLNHhpFrJImgCAsIIgzWergIUVgPgkAeWvDmCTwOpsmkLaboJfRqIBLNHkTtcvodpqtkGIxizjfWGHZNyJIghIEtLpyGRAxZfLIUtBFZeiQCxZVuCGITUjGZVYfhhMXLSYTJBUcRrxTtlyrWZDqVVfrgKhRShPLIZOKDIAvyvNjqsBwkMMAhUnUJMyarynjRKjcAtIJiUICAAJqkqnbgQaGanlEYYPCiJHveInobVglfKrMbAlFaCHkvKaRlPSUrWDDoZfyXQyzgxUbMAfJvejFBAfxaDGtGoYaIJuIQBhcSshIpMfBZhrTiGZqYIyQZfCEKyJMLQNhuDaKvIcbMohbdPElMlwyfKJKxEHOxUmUTyQDEWEyVfTRLUPFgyYspprCBKRbmkEeYqhwMeNSuUYHSbSItucLPuuahsfKgIVGiALCIwlRKifXpeIelfjlCCkyRWSXYNGXwBlEWndDaNeBvrsmyaoRCuLLKwCcOebSLwdwCtOpXqxE"},"c_double":11.409821093889526,"c_varchar":"from","c_date":"2010-07-20","c_array_datetime":["2011-07-24 00:28:44", "2018-10-01 12:14:16", "2000-07-13 02:59:47", "2007-03-09 22:19:50", "2016-12-20 18:09:27", "2010-10-01 06:48:55", "2001-02-21 01:18:46", "2018-06-17 11:41:09", "2017-02-05 13:31:10", "2013-06-21 11:09:25", "2013-03-21 10:34:54", "2010-03-14 10:37:41", "2002-03-27 18:59:58", "2018-12-14 16:49:04", "2019-08-05 09:12:19", "2003-11-22 11:35:10", "2003-03-20 23:26:08", "2006-03-20 23:07:01", "2014-04-24 21:55:05", "2017-04-01 11:59:25", "2009-12-24 00:46:19", "2002-04-27 15:01:55", "2008-06-18 23:16:45", "2006-02-28 08:05:19", "2002-02-09 05:53:42"],"c_map_largeint":{"c_map_largeint_1":5617034225281898721, "c_map_largeint_2":-7130848391289697597, "c_map_largeint_3":-7462672980669546949, "c_map_largeint_4":7491559602505416432, "c_map_largeint_5":-4071275474803918325, "c_map_largeint_6":-448952024533583609, "c_map_largeint_7":-6423813377716125705, "c_map_largeint_8":-7174975569409726744, "c_map_largeint_9":-5840034329983321228, "c_map_largeint_10":9209206263196333185},"c_map_float":{"c_map_float_1":70.44038, "c_map_float_2":4.36028, "c_map_float_3":10.354966, "c_map_float_4":91.20932, "c_map_float_5":57.19042, "c_map_float_6":44.7532, "c_map_float_7":1.3865438, "c_map_float_8":85.510796, "c_map_float_9":53.302174, "c_map_float_10":73.3323},"c_map_ipv6":{"c_map_ipv6_1":"bf10:a4c3:90ec:cdbf:48b2:6a2b:49e8:9b59", "c_map_ipv6_2":"9e98:a137:3db3:bffd:1a50:38f2:1652:c6d", "c_map_ipv6_3":"8864:aaad:6700:863:ecc0:61fc:5cea:2671", "c_map_ipv6_4":"da18:e481:4839:5637:8b61:ebf1:e09b:94fa", "c_map_ipv6_5":"80cd:6467:54e4:75bd:d21e:5494:d460:4c78", "c_map_ipv6_6":"f62:5ae8:db73:a702:e619:2f51:55ec:106a", "c_map_ipv6_7":"3add:8f78:6e55:7446:de09:11b3:d624:8b9f", "c_map_ipv6_8":"9b4a:6f2c:99cc:e407:3201:5782:b892:61e", "c_map_ipv6_9":"924e:fd04:e3e6:2be7:141b:38e1:986a:c273", "c_map_ipv6_10":"5986:9ffe:9267:7edd:9eaf:bd06:c2fb:5601"},"c_boolean":0,"c_ipv6":"21e5:51a1:311e:5381:d46f:3c60:e509:1fd9","c_array_tinyint":[80, 44, -21, -119, -21, 113, -25, -104, -74, 121, -48, 71, -5, 19, 46, 47, 73, 32, -7, -55, 30, -97, -78, 10, 124],"c_array_int":[989654184, 453572444, -2139308191, -2104540632, -1796079246, -2032490029, -941631670, -973816195, -1844157139, -492505635, -1259064215, -1933763176, 293292131, 1367891980, 1946324348, 60198656, 1713772602, -1815740666, -1494008534, -1214411265, 1362037531, 1651713417, 1575368693, 1019400370, -229336258],"c_array_float":[26.774908, 92.69966, 48.641983, 86.36837, 85.120384, 44.324368, 87.185486, 16.009417, 39.721375, 15.917751, 47.207737, 96.33726, 16.905962, 30.647423, 44.936966, 1.7270463, 32.872902, 38.6339, 62.059425, 49.809376, 71.7491, 70.721016, 0.710921, 57.66895, 63.963566],"c_map_date":{"c_map_date_1":"2017-06-21", "c_map_date_2":"2009-04-07", "c_map_date_3":"2007-01-03", "c_map_date_4":"2017-03-23", "c_map_date_5":"2000-07-12", "c_map_date_6":"2003-01-17", "c_map_date_7":"2016-11-18", "c_map_date_8":"2006-02-04", "c_map_date_9":"2014-03-14", "c_map_date_10":"2004-06-13"},"c_map_datetime":{"c_map_datetime_1":"2008-07-25 12:49:02", "c_map_datetime_2":"2019-06-20 21:20:25", "c_map_datetime_3":"2003-10-12 04:32:07", "c_map_datetime_4":"2006-01-26 05:11:24", "c_map_datetime_5":"2010-01-28 20:40:51", "c_map_datetime_6":"2010-04-28 07:15:41", "c_map_datetime_7":"2012-11-02 18:25:22", "c_map_datetime_8":"2004-06-17 07:59:04", "c_map_datetime_9":"2007-07-17 21:16:49", "c_map_datetime_10":"2013-04-24 20:39:02"},"c_decimal":76.0497,"c_array_double":[77.20290719519113, 23.322205618521526, 70.90929481465476, 75.48718132105186, 32.17638250353964, 2.219658686422966, 46.361594321270175, 71.77580005451118, 19.476773363717754, 4.974014648083938, 24.909329733085233, 70.76123764531602, 8.9214061024543, 9.174665648142282, 61.83937289238802, 24.108421896797427, 11.648366559825488, 38.87411295167883, 58.22876828851895, 5.826885398060769, 61.36502231069156, 45.959043424362925, 42.50590674646911, 77.5490504535975, 28.047678123634764],"c_array_char":["HEjwMqTFNJ", "IdqmQbormg", "VXMiklGYiB", "yoaRpxNtLs", "iyOGlUwYxB", "HaHbMOzBKU", "KOFQHavEzu", "qaPzwMxUno", "RDlTpnOrFr", "CEFUEJLYkH", "ZRuRYtudYb", "ekEuxHNTtY", "VlppHyOKCA", "UwMreSxqLt", "zAMSFXJwzo", "oaqdoPzvLl", "ZYszdiGuPU", "jmMoFWXvYB", "BnpZRAfmFs", "edsVUqsXLB", "zOOMGFVLvS", "cBgSpWxnVv", "zcPjzaKnJP", "mJBfHtXPZK", "QfLgSzvTYp"],"c_array_varchar":["vFhCikjBJkyYRNdlDYBcepuaAxotdvGgGQhwsRVWAXzCEPHMgnxEcRdZbQxEJZLPQTbfNrlLxkYOXoghYqGJSRwCBxwMJjydTqZDWSYkjOarnUmKPKKIFtBlMwDGOPYjNoiFmnbjinIMJeXPjvsUfHjDDfsvOejUHmEOEtZlPaODLrpuGaEUeXsmcZKEnUVXBAGfDyHYATyfHzCscCEIsxIQJveBLXWNvAVTdOxvxAsreosYAgjMfAkaSDApkTtR", "sxFLDkzcbIlSAxLCoLnPwaogTsQOwYhVKMlAZvNxldnocbxYtajYZyvtJKndfnEgDNBIGQTczDyxtrnWwLynbSbTRQfcgtpPwjrcXWVqqCavqkxPMLTcTzDSFYZIkevtGlTodIygFNcyezkUuwFUspbMzgilFOuHBPMGZreDkfkIifTkLqLmuikthdLcRQDgdMmRMOrTtgUvEHjitXKbFPeuIeLRYaUSJSuPQdaIhQqidyPhrgQzULEJXfdIYlKh", "gxByDdoXoNqKFGXLdUTpwmoOOYhSJQNwPvGZHdKZwjWPWOPvTqoOTtESSylLqplUGstqeSgzIqfRfIIkYmGvcviDBscWdteukOQmKPwykretgyArmlXjRIaALhNrnekKHwEopRIhzhUtOacKkyPIeuFHyFWrFwmnHuNsNwXtKqchkzitwZztkjrvChqazySCEmkNVeKyjJoqTnvFGIlBPqBQRtbSdNHcdrrmucBuuoIrmtLBqaZKuLOCSggSjbLG", "SyRggQoIKcXnJUXcHtuVpZIXDWVIPvASLnBxlvhlpTMGFMLRaXSVKBzXLjWGbUKOnEjUlPvTZLmlwXVnLxPWzVrImAWAGDZRAshqOFVVnqsTxYEDwHylVLPiWZYqoRynInQWIlyfoMXzTUhDpfZBrpYchzMEABlKjKjhmeWjSlunqmBqLwKqVjSAFSjymhOPIqdwBgFlArureXjEeBrLepRiiGjRqTtcpKTyrljYhGMTYbTkJMszUHgWBUQszLBo", "FKSnnKrdMEtwkiewLdHBmMqUZgwiVdylMoNIryoUjGkIRolYpbFxRDZJBeTDbLJtTDeKJCDFetapZzvlZxHFIEdPoSzOBdlshOjbaThzOVicZBspbfGESYjHXEVsjdLiBZCdygaBsjjfWOVUxMqTHmUdYLuPdvUGxuRCLgrntbeTuubnHUjboHnlLseAFpipZAOUEUqEghtehSKKyZXPrBIbRrJTlpGAHyReuSCoxKwOJvBFQpVQwOYxMVvXfgXx", "WFUPzNiMZizPblYvXxZNyZAEiQfNEHuWAfajKmpxcrXCyOdbfkQWIcMLhxFhePbKVAAyyZJpCJjQDEyiuijiMUHHmSzlSFIjSxkzHQFZdnVrsHBUlFiylIBIqCjSXRZjEMHOSIvvBgirZySLoNRoHwizXTHeAWMbPGEkrzBJSDiCvyLNtFspjighlWSTFzgFWhYMRHfPKSlzlCEuczCuMkrnZBOROPhmFJJQSIwEmjDomGusxrByQwUgyoXtKaQZ", "SJAwFMAYdoFavlrBwsgULNlcjdActgQjIqVwQPhzovAXAnEIAjfLxHCxglYiIxyeajKwvbeZpaBymoetekZdIsfOyDKQQPFhkAQNnwbDfQcKMBqDdIvWeehvbgWFtTxTvhfDJkiyacKMMUKYTHKVQNxnCsQHYGQgrLnUsvjQHpElawpBkNhNgxSehvDLKVyepJnGesBdxRHrAwitUHAIPeMEIGXwEkNNEffZCUyfVqqHzNynIaGXhKvyTdxIIBjv", "gcZHsCreoVGGFOFVdpVOCTGgBzhNWPWurzOpbDsWiqvDmPBnkDdFHCRVhJjxmWQzVXqkrxytfILmdCsoNEmPetTbobvvmdgXUhgDaByOvjQDSgKpguunNMVVKaocvaKNoSSfWUaNuFSXzLfjRGhXTGXgOdzPtMGtqCZcIuDMrIaykoWUynNaCmgQomaCTgOFtahzocCgNExgwXErqpulLPtXmpRZdPVCPCcWUfusdklkPmBLWZCjsFciRhBeEmDq", "oXlPcXrIGPBKtUlnGBJaxeToZpiBzNIBDvnNzpYZspVbAOuClfnYwDJBdrEDNcOdqRqMAPgncVNGymagxdroFCorqWWMKavbDNgtyvvcKbwQsrWiZRYnRzdfsJOQwiaTBsTNSEuYtNrzDCzKnkuXnaZaFEBbJLczwSeSqgTqwqoRiTSYRORuazwQNEjzOQYkundPmxTJxnflKHzgONSkupKiyIXupHsxBNSEpTJSmZUWDuFPqBxzhWEMZRnytmqo", "bNHghxzHovSyQsVJjNkUpFPTBRRIUtnyfMBkyeaiPsArzomwLXsSKYEuGfDIslVfqGBBSiOBeZAieHAqAtOdYujGzowfOuWXzQCbPaXkjlGwARgLsQYDAugUThdjhaNNRWAApgWHSDbKULdUyTJOMDJivMndOkGLwCfCBdIrJnGnNxilZWqbiEGbBHgLZIPVKvIdIOdfUgShZxHnpgrWntpmisPimMkfmocBNnvIBHsCbzvVuxzKbmyLquYeHvaW", "JlTxZTXImWwtgUZnRrGzIvzKOdBQCOkfgRHGeOtQBuvMywGdTflyfGmGGhvqsUjySKYMHVLzpOpjtyBiJKdSzLWPwsdahSczhKfFAUlYmYtnHvoyEbGVdAjNWhDWhYUhbJGhsGLLFxsTRHCGtbDZrFXSMuMiIoVytmrGnZyrLJtqjiQjJlEGPdebEefjwoWhLMTQLHAaxEqEfQEScnrocECAveVVlkVoGuVHgfqqusoOXRfepQWSaPsKBwyAyWzX", "MqsJSPNTQowmRkMLgOqfLJqKhmQivFyuZUVtzzDGTcwkpszaGnIRwKimLeQqwpJmIaQhateNSnNHRPzpFpqesLZmZnPdadINMBbbjQyBdvSjEgWGttvRuhmtqBruFweuzKYHdpSVKibHHNkbBEcbqIsjsIxJseZvwzDJTTOQuZkQcZqbTWSUbNkNrzrCDSLuJduwOTjouUdprmFUZMwtqfZKRSzJlYPwyEZTxOCYBbUzyUhBnLtTkdqBKElTViXt", "fargcmhoYKtNeMLfSLDBOHigBNeddPsejUcgspXcrxfMJRebArknHIwLglUuNVwivyDklLfsRJPfimwKbwDzwvgGItdfjEFyYjYzonRqtzfuQqxnlrtLZEYNLIHgWgomyhNLEqbtlDVtSNseWpEuBiUqfYvJJxlweoblkRhRfZCojvKSNjzCFlGeUYHsVUysdtlRmogKvhRiOgyYXkZWzuVvPBmqTkcQLoANcbmsLwTeJKTBybGrXUvhXUIRIMBL", "MqgfbQxQQiyMgqXXiedAIyNnahZXFHRaxKYMVdvCldLvtAYmTutNYsHZJAhMhXYENdpgmVUeuGxEhqPlUmGYXTrytUCjHBXTDOIvycOmhrkwqMMvShSDRxTTWdunQUOhGyzTdFujgxfKLmMeGaLJaTjtHioIdfsTQGtjFGzdeoZYJVeyVvcxseBsPXgfebuKULGaCjhTagsajbIWpCyeBQCDoYsjpxhqHWxOcHbZLgLVclYuQzlcAIOhTfqXNNdQ", "GnJRNmbsDIlJkxtELUpPLtVbrcebBwwNFSVfztxoPHEDSZXanEHaBfwDpTUSYppKkqJVvDADxlQqLIJuXgJYYXLiIjYPdrZXQgIuiVQgGEQNYSzdILZVlnYPtMoUuTkJzKbdbfRfGesBIxAmxjovZGodGAXfovuJkufaiZnNtBHgaDfpAaNTAegoPhAdvPhwKQJzrQJvokNLjEUMdMLvUnIUdvejeLwmkjFSEmQywYjwPUKWUhZyGAUAnjkdXoHT", "FRtjTXdgiZjToRAcfVynKUBqvmeEtZfrSkZbMcgBSpvqFynRxxaSwLXfAIffdpGsYHsvLkrYhTwHlGQSkwwxuFOEVeYweibdOgTIMELBGGFarDDLDziIDypsRRwpCqxlCrWaZxVksFBdJcrZqskILsNtcbJjTmTTIMuGqjclxuGgcWiZOlXVLYeoJPHaSbcBrvHrPdRDLEAyEmdaTfXadeouyxyJbMEaiUMDTmQtbiiPUTHdqafGTMSjMJUGqRHz", "taqdLLJwRoRIOJXatdWvdICIuidZrczBvQEPVpIpWVEMjXaMpcNHYgVHucrKYkepyDUwBDTwdrRCBMqGLAPgYAznMSmWrRNBsWnBEvikObLudpamiZgvSuZYFSbbIpyscpivzUqmvlCiuNgoohKyBnnPFbIXvRjSzXmqGZoPvZssDnCraHBmyCcPEUjxiFBKMHhMxcEOFJTsGwHNUkUocdolnafOyDRFznBAPLUHOFkMLZeCkzuXcFzWQZNLikvm", "osQLyjTQBHNDeFHthkCBCrzMxVVkfbCwTmHfMAPvFCeUhTRXqwnuBOxMAWKjBFRLxOKjdUUTgociGmQCLNvVSPavvXjjYaTRhJapLYbrhNUFOECOnpfFAcIQlQqlrerdPROXriJDWxMmVkpbEWjuKooCVftZPomNKvWzDTevzLAszEQpbCzOYDyNgpVmWqeLgTjVoewyuRnoqbSHfJAYrKnuxFLtEkByGGyHjWnkyJmFDeAXiDcHbyEzmFUeVcMO", "dQUmJfCNoOTtFJZhOKfqDLUqifOcANcGCsVSDZywdYOjcSIsOoTAgdEORNzrNWnnhCULSHJPNSucVaxUEkclotczsOJsSCiHoAhIwxCyHweHYFXsOeZKSrcXSsqrbrQlcWfeZlBGphypmhHZeOZtFtwWxzQhNmHsNcYbutFZBgXjufUQNsEdmobjGcKNJVVbJfpXoYkwLprvCGrgugGWqQgkfvfzkLjRBMTNJIFvryhKJaYyvEXsWiBwsDoiNZVK", "ffyZEdzGudgiVyMJDOSAPWgWtWFLVLebItfMfxqubVMqYkByZudJuvoVOEbSQoQcXaKcwTfdRrOeKBmgonDFIDurwwTMPAOwWNkqoCJoVaDcqJmBkhutakVXwmIswXyTBCFORijFguzwphomOgwIjqZSDsZQYimEbfmvcsrRGCUewrPSkCAFdCRdIPeRCPHoecZwpiPHYoiDhkUjRmNIyiCHzLrujbTpHlyGRFtgYaIXOYefMaiibcOQsPazMJXh", "EVdSWYVIycUFntwIWmfkqOlbHsPFGKfYKHqgvrsYiDLmKZgfwMluupAWhVZBJbVeLPjRVCJrcgJUIUZBvRVWQmCpyUdlqiDQIpmwhYyFROuaPMzflVHrjYwRYQskzHMyuAiHAmYKwKuBZAkRfOlneRBbdKRMUpnCmfqhpJcxSLGfqEvkUduvPPedTpjAqKapnFtixiLPyBOvhWEeWSsGVfgdCbJYNGTzCoWFCGsezEVpSySxxeFjHmYGUjZuMwWT", "kWLdvraNBhcTWtrdDdndDGqBweIJOcOCeGlPIqLgvVJKcetmshFjPNikLTkuCYGXkuTeBLdRZoaMfTrDhKgACBqBirUlymBLFxenxHIZJCPsADFAXisCQBoQGGXwqNfPOvBzzamEgqKlPuxcoWiBfkIocLBrwKduzZWsyGNThjdOOMBECJWuUKXGIfUhXOLGCalddFmuNHTVwMJPBosSvJXrtbEalEiIXpySkOhxuIcpZEsrnTtOBnUtScgRRZFm", "vHhDQqnVOfwUfSvKnTFyoIreoxhsfGvCuWuyKFvPqczsknGIgJCQOKACUeHVRnYzoaIpJkeenxUFeSqyqzMFdJzBnYZMWmtVFKKCjXMmuZOpJyyTVGaWVSYdrRRRWgSdCEiRdVfdCcvJVNWSGzuQfxyXWiYyUDiXnVaBUEYippyTxjBWIWiOAHUhHuPvxBZMHrTszNrgqgfZLUPIsIIijQlLDPjOmZRIWKeOkihWINiEKsvkuoNonmcbuGPcvjUx", "SkQRLDmMqJLltLHqdESOCeQYaSPimpuLelJoJJUIxjFdEhjqslBLXfxbyFWqOvzRAoejtLwyGXPBimgNAxXnbTmAEjCSuvWvetJgNORXOkPaeNNiBObWFysZmOorsDAlKBAqqjxycwBgZaodCSGfldGGyHDdhKNMELotvfFcnintWbQoqHdvIHwftvwQfJIbeSknIkHImQhPBGIYhGhhUdeCtZDaprqXHlZboZamFPzATIVYaGvoGmgjniZpGEwR", "AXmLJmXUVyZQEopalMXwRwtSxeaDmFqrDhYBMFLPqdjsvTbCEnbJAZQWsAmfWPCgBstzFhPAmDJOHlRpVLNgHgDqYYWwMsawBTYivyEkYaexvnElcdgwklzBhmcgaVUqlVJRswXYXqbsBevphvkTIUbWVZKjHfgbaTExfAyPlFzOJrnOoFqwmNZxidikPPKogqMALjfASFLOZBoGMqFlPtlZDkmEcTujudITgpxUdGlrKWtaehvHUnyMmfKbiEmz"],"c_array_ipv4":["OxYrATFDQa", "FXelijtqXh", "xcVcTZqhAT", "PiTdVPKaNr", "pgYUByCksi", "fwViENXbin", "cZIgbhABbL", "CAREFkjXcH", "pnWWkXRrRW", "vtxJogKDuz", "RTlMPNqHfi", "XsYAPjhazP", "OzlykaXQJy", "jvVQIQLLVb", "GtzQbRuVIo", "fFtVqsTltg", "buoktZaaav", "nOvupQOheP", "CNKUHvBAla", "EftPsjlEGz", "KLPgNEvhCm", "TsbHpWVIcM", "pNCPIBhCQN", "eCUUlBGjYQ", "UCicLFxsYK"],"c_array_bigint":[-6074465386133750165, -1869267040213882612, 1828701169634705177, 1817469945729083068, -5700855929477843302, 4868748984628637809, 5323498451252076017, -5869404777164663737, -4923992957650973670, -1488066760070537575, -7509374677716688438, -6661313476735734850, 7401043796741048244, -7094987652196055843, -5238064864599740391, -2285797260853578184, 7904612279551711017, -3405652230606876099, -4696184707175923011, 407450017610133456, 5551868095277875325, 3971802776931999505, 2363656628486058080, -6960176572818555157, -1268240219504402810],"c_array_string":["LWIjuqAguuItzGFZAoUmZcXoZEQfQbCGFiLVZDluhZCvsTolIzegKmpNlmQxiqlFnKWsIVbiUzQZWURkvumjiOjyXmAOReAJQHeQPMtwExoHpuSRNaHgULQhqbufMmPHMFvGhrzAyJywjxXLUROGaamoXQdewqgRYjWwKKtyOFAfWfTvZZWbQUvHblQnxmiUnVQpPbvXlAvtpFqPiWKHPoRLEvNxsbEurtTeUbkvHFrVhIWQePwzxVtIwRxEFCvqhRlioODsaVGCyIjVyiWgsqxPKXLDZpdKIBVlsGAfpUaispAaCYrRyvvrgRITsBqeEplMxiChQvptYYZUDIFxbPgDyJuhzwuZWTskAUHuqaFvKaxVGnmylsfpXNVyumiTDfgVXcsuQQjXwAiaCHURBSmmJndNuVRQxJhKxZxGRXjshHsTtippIUjsvFcXIQQpzWmmrstYBVRfEUPzUkNvywdZYflCuNiuPcaeAHZYMGcqUwjZjKTBpRKaqVbEltfR", "dQGSexxwuPNLEutOcMUHZxPetejjSmrGzrZBhBaatGdbfzFAbfGJXVfuXKsdGNOKopUNEJbyXpJbIDPAygnCBQvSQrBnugdRTpZLTmPeVdnZNplRBxNCMfABBcqnTrzURhirUoWXosNLxjGRmaRExbTzCnhxiShqSWrrBVPOjcexCAVQqzQIkUzxuorvXOlfWbPmwOsMFiJrrUFuhsYwGeribIsafEtsBygTTaWrhRUovCfKwbbquaOAkOJkXnmOOrPldsMXBSqsSvzfxhVjsCMaiTabOoyNsqGiLBcwXsqTQEQFddFrEPVOKXArdMYAZCBxkppEYeZiqarEivySnBJsBLPjKsgiNtHnEzOfoAzgXkdAOwWRIEopaquZoonNLubJvEodHTPjPchawTSkDzXGpCgKtiYEiFboXUtdwfVSWLzYfFfGKjnlCCtSBleDHKGLcPcYebqCubVnDQFGpfxjsIRgAdrrKKPcdmhjhAumeXDVAQeIPkFwJntTQWbG", "YjljralkbPrOFsuzdxNNgJfiYMRVpZAYccoxXBkLwOgKyvZFgDWdFDtKUDphnDMmDmLtHEGzVTptFenMQtyHvULgYwERucFvMMvxMhrhzTLbDnVyxswmsGyaUNBUbDAqdkdfCWRvnUYGRkmacRidIAzehmSUFmMAjZsdIfbnnBoipxFyorPaZrbYgYFHIPzPSerIyNioksCxCNokRszMyCUnpUEHoTRxyVZXHIRfMQTrlDQzayudaIfsNTHaycTbFmaoDGjhzmkTVDOVdfLrBbTTTQpqwVynGXinURgwcSeSodpsRWoFEWnxEjAXuyYLKpVVrvInQncSZmNNNciwJkgrmFCucPvnTkosHNEYdEnaOGEFslCsKtTXfxjuJmgtovSkJDRshTxHlETjLzxKKPgKbIOpmlncHgfCojKoGQExOsLUypyuWBtCcuBbZZGjrUGAltEQiXifQBmrJXzApyIFNMGRgfynCdkuNvmrjRCYVDYPeERGHxdOqkYtgnNi", "ibtHFyyJLWgMQFGYHukmVkmdIHNEypETyGzVCkXULNOnfaVBbAjKoehjJqursfRRQlUobCHpolkjQTZODlTnXonNVhSpnIEKGxuvPMKeBPawlfHyATzFxWZCcpKKaxaDtJmSkOReoGxYONUhUiyMEhtXwcKJByoLXjZyqIDIrEOUZeEWzbMUYgiTXLbyLwdKKvbjJjrNTUOpUPelytlihVCIsvSQdakYonJuQqSQQhAMzDHcQKTGriHolTNgJxgKbAQNzHYwjQsQKENwvZuYgbOIWsqfzbdftKzscmEzKXgrdtIpHvrmBoUQSkOBFcVuetNqwLaHXipavklnpCzWhOBVLpTkfZHcNVxxpYLzzlJyIhBJXGwVSuOtIKsFOpcUBCcdXTzCoMHVqkXOChveRUIBndKFZevfwEMeTgSMOfJMzBrXQpmcgSfFectgoPJxGikPLMUwiGSjTlqxidLqnQybwfYCUVbRrJdTdwVTfIQkYioZTrebbBWJbffNwapx", "nDPQzYczsucUIjMGCAHPbzPKmVxQcOKXsEjKwPZYoIgLwegVmhOywezvmtlbxjpZAOmLZVmFmbozKiVJxIhAupizqWgCEwrGbDQoJKSGLaaRXWaxuzhwUNNNNQHLgHJFrvQhegvCtzPwMynbGBFHSguMoowDStAxiaHabMDtYlkOSgRTXtyLULHLFMsKcTunLjyPkZsShTJJXiiIbgTOIaNyxxgtfStSZECpwfbOuRJCRHTaQGcNPxYXiiguMxPujgjSwlnSIciObmcTVlruTmIlipWzenzJPFuyfPpHPNIvoScCDvXwAkUiACrKDHIyboHhwRTHMMkJpimTNYCCFVJlaumkPaQUGYLQEHZFEGWLnVPqbKVomIBhOuprGxjMUyCZUlPbkHieMKzofTjKVZYnQAvowcTvJDlBBSOEmyYtsJeVDrJPFNBviBCXGhmqupHMoZvablHinrjwGagKJjwmoPVKrsYDEHawOQLYpbnflxkXAyHpNQPABFgAJpgp", "lpEfDXzJjyiQHmUBVmmtgWdaZzSHjERugsgiWnsemqykEjPSacMJhEjIoJoQgsERzvkSaxTobiULxroprsFpDjnhoPwfbDPjJdRSArqtWwqSGWIqUxVgoIzIMOSojPZbYfFUUIIeOsQstlmiSblzGConxxZwRTfQSoSnRWqNRaNSracwHlWpkwyUHTzyhxbzuuibBCuRknkREbwHqJONBrADTwudVYGxdFwvRTlyXLElBsThkVAZHbawcZNrWAtyzgBbxVMkgxzaGnXDluBqVGqjDzIqvtAqpdMIQKihiKjFpidUHyXfRBMeevyKUCKAuXUIZJOTyXFqiNIZlaSOCuwRjRvsommSZahkmUKmQlTlcmyNbJJagopUmNrREjevUcFfWPdQCVydTlnYjTCKqWNsapyMXmzdyEyaZVoYXzRigzKHHQcFPKCxpdEzoDzLkYJpGyfCzMtymCOuaROLvFgpVeAddbOwxfpbSliVZSKpuRmjYxNZswDpNoUPvLsw", "nxNWXhKavfigkJGEzFoiKyQzhYsaxOmfGpxepVxefWBZVyCCswNDfUqyVngfybsYIMPCAiVhFiWXxTbURUmVmBedrDATBwiQggKIvPPSENfXFAfSlzydGHYNjrmMztEGoWjYPfyfVYYbUyQQLGTZQfzYhiWiBBWgqSCecVAOheNLLuyntGlcjwTxixChDAPBNOyayoVskWyCrgXbVNDFUgdVVMpgqIAiJbllEhqhtjTzvxLfQRnNgldTWqAOrTCchfBkoNGpgddhuWlJIEgfFyYbPDVjvCNvZGCVOrBTmVSkKWxHbmyTNhwKMuvEtCICwXnlDiYDxegdRZwczdvOdiYvQNfzRiTNzRPjUicextXTMznejWwxqGcclnzIrUakhATZkNBPEltxmyrcLwUkwzzPDhMEpJFKOWoLlZTKBQtKEUqsRSEcFLAowcFexeTVbdegrdRWCrwsSRyNBPGvNXswamjYKuKgZzxzXBSPooyKOFajyIROiuXhNHpXNvKj", "vrvlSDTgzWezjaqhMoPRykFTEFGYQxmEdHfwxPiCCyPjQcJIvPZGUYHJTXbjtVPNWpDMuJbSLiKynCSPlBgNvjLVovpbymFveicFMqnvsqlFexgmuvOfjhWHxPUqvYEtedxtukrvDUudCDVKthonmlaIBSizupEyMRHfCIInSOaFueyeFXnVslabWhDZlfagaXLCPGlqVWcuynESgipxdvlhTrTsYmbGYECnhkyTcUlKujbnmPJegBVqnjNJlPAVtXzSArCYglmQWXOuDPJEAVpayBRGjxeBeZcWCIhHLKTWfHZEVjJaQimpxMaXbyelqzCWuTXuYiKrvOwQUWIYbDtmQBmgFIpMRLtOfqaewGvWsNNIwCNJFsBZHUDVbxSzdQbEskWucEJsarNDmqzuzJTKQdEZilHBpxPImPzyIFvYYzPeTRvGlmyeNuIVLTrZsyeJHPkYXaWXhUXtwunqWDHfAOIhpukGudolAwDKaGtmBjzgOTSyfCHwmDdtZdyw", "ukyKhlSkgpALfDmEHGPVBSPyGEJeMBjfvswQjuQDsqrMHkRPKpwzoScpBicJgAIRBEEOmlJXUvkwUFFddZavDDUbRgpWosFZSZZVsvvySQYbVvXWPIabqQjlYNGNSMUglxjiuPGDyucvnGYKzKGFvjyipxMUsRDcqleapxzxNFgadnQajeDsOXZELXsCqOEEEXQrlYITlzaWQmnRMemIvXDOISLEQkBuVabCgSJWGtuIFpCsijTLnEEZXuWmkGURLUUBPUUEqkygMBcEdAhXapFhZPogcsYINPJhmwSombRXuXtzqQHvdWQByXuTkBCQOnEdPwWlupMLukFvbVJXwdajQHAUXTbImooeykOThFsBZLKehqUTtcyBgrSlSWPYNwrSLoUNZKpeqzhLQlaMJrObltvShwWjnTIoGuZbxSrGAcGfzWOlvQlaPhLYXhuQNlEWIdzRWSkHoGsWCWBDwqNnbpsZHYXYkWkqULqbgsIfomKvXltdlkxaqkxlCTSr", "zpkYnddYOWhvWWgWQVirmUjfuyySkRSzEOHQDnYQtQYkMEAMTQlCXuCybdQUKPmSZYedqqQnVBzTNuEGKxAKlVJOrVWCSTLGpkRKmtczbmcAIIVQwIGLtAufzydreXenigXpTqLQwSDgAVtSFXhzojZHDgrxKQrhdSzzpMJNyOdnbYCvsfCNIjjatBUdccJpInrzPAXOtEYymtCRrXjamQECZBGbqpXBVLDoDDWbLmdSvxTHSqknUfxoQMhJANobedtKVekSXGcAadDTJLhTdHMlRGywuVqSZmGNwuzkbcHmQCpKWVqJbVOMEbTzQdPZzAPFXrhdKRrFxTgPVLaJxhKwbKNiUfgeCOupRniPOafZfFoKOaqYcqRTRKdGeKxmRoYydovbgVcSHuysELgpUvTbCPmlQYVhAZkRoedOcUgFSBkxVSpLsYzJUoCOsNvLTFYtuwkVXAgYaVCBAVKVznnUwHTOwSFxDgAFISnkfniVDogGsAIdgqSMaAhorulR", "knYyQrLglkRcyYRbaudaXYhJollniNbGUavjXKgKVnLJMHaVREKBjiqUMUOapLjqXlVytXfLZrlxokAKGigLCqsCfoHNXfZJCQDKMxpgiVpDlTvjarWlsPBjEWgQNqGcYXjWNZFVVRNqOPcawSOIrwGfQkeswLFBksTHzIHMHnkknPFEOKiufmPxlVMGDfjPbaxxrNJVlWubOIgcJLVjmMJWcMEInCqmqgwddWRgbdsOveaoraFlWUUUNKAJYZwswjfQdPmCCVNDvvaViYsDjlVxuzxnrFXcXvEKwfycwAuZkAVwxzCMzTShHTnFKkZwnWOmQCCPFKhNyAGLYvIbIuzrQzeOatgzlKBDTdlBOomLHhzBxrCWJsQDdefZCmqFlEALgGCjIbkKsyGOGfPhAuwUSFoBfbpQwAiAgSiScNNvrCUmeiGigJvqFKbSMWXOfcYHhoNaGkGSxvqnqpSSiYKSQTtUNCRksIabsMEKdGaKyYDrwKuIjrcYwhXAALaK", "WoylZgWOCnMLntIECGeYTkdpCWKfMVzQwyEXlIvoJvbhdyLtngLEuMvGuZpQeUUmjijDODJpQWkACEWEFquoKtjaQYZQmZZHrOVFBRWLzqJGhbiWqrKCGEpTacxbKdlXiCJTiiflfYogRFoNSSnIZxUlZszYnMuUcbJOOKirHHQnGRVbaeCUNvlMIulytBCWgsDkCBGgFWEtBxHBLzcuUpzAvfSqfQdiqggaGPBaeFxyGfBGiIZvDVWGOHWRmgcteGsmmVaxAMJXSAAsNXQPfzmYhiTjQoVLTNMlZJbjQKGnwqPignTWVLyHKFfxIcCkKNHLUYzYbytnRbowrIyGsjqKhyIALZnygbmIuRdaqBuuhtfOgTxnFHmiojkbSbqzRuDXrNnQvcRPIeDTPpfBWUbeRzXREsHrizgixKXTGjpyhTPphXaZPefoIOHBVFYrSNLgZqZRjkQuyEbZaSRcYeCdaWfAYCSXvUqfKcFMnOTqPvwSIZbhpCoQeHeCzfQw", "ICCVJeXEZlvIAhZYHmFUEOAMzvkXIUdknOsubhaiLXRLGrehAxGyAjMJuipoaVPepMsrfiYzZsuBPeuEINQMaHVlpBXmPPfhedeTlQbTnBEUqCGyVAeGiHVgBuYVstwDeBKmKSQOuuhPRsAkhfrMenzrgGyTotMUEitpcEltjIMPmEWxHspihpazWqSBxKDgHLWxFKTpRuhTfvcpLaARFNmriqetsPGDGwTyuODglIGyKHuYJENoKBfFGMMArnMteypTivJAFOBdThRZOccgnxkXpFkztqWakWDRUplKyXMhQpDierhFeeAqJCooeQvkiKocipNvoNHIcFfxKUbstbQNtERMkFOGTrAVbMnfsKiVJhNNZslcnimRfiQEykFoirkcrULYPyubzgxaxuxGNhopmuAmJZRyOHPiRsUceyPRZVdcywPuDeZKzRsiqgsUYGmzjIEedxGJIvpFpxgQsybAVdVHBWAHNnljvhGHuBqSODTecUExAMBFLlmkDIhX", "GIZsgINGXvRZPGyXWJhbxqsUvCKKXQLpbdPjrmWvWQzWfKQgtUZEfciCQOrPRcfVFGroPgXWSJEuOjSUAeiywquQfOwIMWSEsgWtPvCIiUpVxQZlGzwDBrYsfitBrMeMhNjUlqwBiYKvWuryOmVFeyGpEzomFgOeDXFARWuSKfcLRGEjgaMiFkaBBDpLAEDddBdALzdhPJqbXcSNSNzzxebgqjvlMkYmWMHcroTfqczgXLKOCLhRoCqWvOzobkYyQmQACNISVybVkJwpDpEeIIFhETNbQzLcqiEpXNiRCINpVIlOkUPMZWpAwGpNOscejKjltFlYWBbxPNUtYDJttvISTLXOLDhisZsgOIsgIFVUtuYPYJBmdThHQVhjNRZyWzSEzljibyTlpgzJjuDPtMYcnbKhaxaROelvYYnNWnSxPZpDdmRUWaIvxVpUPMlJpeOEkWDAABvMepKZiTgYHuILkdZDSQPZhxAnywOBiqISIdArUpeNqyRgwluLlCxd", "HvdKBUxofqrFbrmTFlrLkToSOdcdWTahpaNJFzbFKzerCYNFyZmcePKEKnypXmdNgxXoXSfgIRGCaPDpFsmhFmyyvwCuncTyOwMSefMcFZwoJtOpckcblKJDrsOmZBucLPtUwWgBMOVuQYnppyXnScsyUIoHnfucamOEfHknNSZfNstnftwFWEUcLUqMIosdPuqgEFIQjPXrgohwkDKkYAUXsGYAQqndKrXPLpmXqXJuGZdSVtRrXoIlOOkUdPLXAutEzzTMdzcIivOsRWLAstckNzdTLDCKMGapMfqAHFzcWBQyjMkhPPkIigkGPptembdvREZiagmhMmrZUTKGgfQFRWjitdAgpmYkgbyMulpfKOhqzdTggnJloWqBWNRxBQFUtiecZLMdSjVKqUItalmknNWsCrflKnNVSCJQvfuQbePKPQKydCVOSBblcLgsofjGOJtDtsLeEuvXxxnbwozfURkbiwBXbdGajBXwlKbNrtxBDJFgsmKnevZuNYlb", "laEoTPbYZFkIbvdfGijSWasdpSLFgzOQzmolSyJfqyOZsmoZhXgnLYnsjXXsVpSWOvymRdWmfygwZYfLNHKqqedRirzhpbMwkHgsrIvGYkqZQoluQQAvVRqDDolbaiYIWKjQrdRDOjxOmbMavvEDkkfQAIvfmmJqHuHBsqRfpIxdLcyWstZawoZYmlHrBXGrqSfEiYztyrDNuGqnLsClhyTgwkvbHTWQMlayDtRBqDUToENhrELZQFnkmfjHmuQAXpWfTZbBBaRdIMKxUuTUYIZgVdDIfbQxBsEyzCBEBVEOreDmzobTsBBFYmttlotUUkWzDyAVImeotUufjEiCAVvWEUnUYtCFxkwLNpUEHeFrGYIoOWekhuLYjLXtucWslCGRyEnAtxdXeXBQGqBfOVcQDcOemNudUiKUeVVcdVsckgrWknzlHMytRdIvUOKgDiGMxapimOkckLNVdmpGcczfgtmrbDktkOvFbKQBtQQEkRJePTuxBesGzUoDpvdU", "lyNuUFwoNPBRbrydrTIWypTWMPkbBhnbdaoLYiTtSMalGuQBKFOUXwJzUZMTLQGSbiaWnEgKiRuEDZVHfMdPbqlzHfTrytVgqDEemJJRXRDxsOkrEyrqBlSZNLGnibIYzFWuQqlkuwBdVcHpgxANiqFFqkdGNTYYRsfHijecHQUVUpHHruMitqgAnWtNxdsczpRxvxNWCGmfeeujFUaQLuhSVBbIIMqITuTStXWgRZzzpZqdsEHZAUdHrgNOKAuTWqZlOcCKBmNGnyoxBkrosQInkuJBxjOGMtFUclxPYJcPZiKDkZgBOtEqqcRuwGhBxYseQTvhwGDTECwZjEwyoLIoHARkGSgErHLemzHnDfJpQOgMQRjCNwrSFiSdvzWjhUyKBlcTzgQCghORmjTRTkKfhQUEhKDAGTgLvoqvmtZqkCUHpDuATDZJFnkakbyQIBRVKyosLGszLPlbrtaNjYoJNarpbGGbzhyDGXjpbBNvBuunfiOfkXAINXEouBhS", "NsbXLEabfegxpTgTexYMolynsEZmFLeZYjurJxYgjLrckpFOVKdHRekBOmsLAqCaWZfShVyWrLHCRaxAGGoItDssHMsMmEaMoswScaLNaZjyLWUSxReFtxqulIjCxxDHgpTFIUtAYVeIxuQDcwtaNzGPZXSXqfAdiJFuwPnzMkJZBpugjwmkSQPlHBVUYBCHdowingWgGXKOjmZlsyuLbtYIfiGYOfmNdOVdAxOPCAGSSQvduAcRBzGRVPDKsDKqUDJBXdThUPVPkqqBQgVTjdKQwvBnOffeknhJLifLgOsBzwmKWyUJnVHhuNKshtMmZhDyDHcITpeCNSOWXPLbATimCNIzStpxvgXWTZwqJCEFHgBOEaEbwCPQnKKNSpqSwKfBalEWAJnALaOZnotulLuYZQkOgcWHlmcNhfpkEgzjkEQefeTbZhpdglWwWyTdylCpHgAptVzrqeregGqjEHbwTZqlMfikFyeWSVUqTKTstSzwjcmYFuqfOvVPmzZq", "KfXUYZyJFQSRJvVbLGvixaFgVEExTPiJdABDtlPKAzJonmscMKVMFOsGEPEUWKQGvxiFyUctmPAAUXAuoRuWdnKCTlaSJUrDBdjVrxUdPKchTezxXWTNxoratMcdCAYqfiEKTOsZBhYGhbhDCNkGAVuRQZlPINpqGvZvpouKYxIAMyXXxwPwuOyhdzqKKVzNOgZDUMoKsxoSvxxNudnuINgIsOYsfWNMTITuiDZVNOhxxoBleXchGvrIFmRwbzhxsCaBZrOidysAEPENZSoNaRsuCHRchvdaaCXUgCudyPDkltyAaMvhCztvgKGcZjFGQKwvsdiRQWtYbdANXIvMGoGdWWSfYOqjXAtOHlvYAbpMIzEPAjypwhpvqCoQumneMlNgfvJKNdtkcwDzpthLwjHfYMwyhVsYHjTOerbZOksbJortHwptMfKESpiUoIfhIEvrAfoyhMmpsVhYTsUiMhMyOLPSfxeXWGPgKKYcQgXOKAUnGjbTXPQYgGoRIyKr", "dNDYfOZJcdYKjVyfEquBKmYGzrKVgctqWCkBZmjKGstuyobJGYFTSlObnGKKIrYmkdSmVKHdrRvyWarvTuhElTirbQzRfzTSjnraFUJRxrcLdQKXApTxMrGJaDqgXUTJmCOCPhlQLrddwMeGplXqXTJOEzHnFPVnfRaXaibmionkLdoFgCkpUgFLrxUqvfrzIwRtacHcMZLksrJUYxbqGhWmRmqQsEWmDySXReGTwRfrVdUHkXJasyuvtEiRhkqzyDRcZxTkkjTEigUoMrBWMqbQrXKaKwTgTHQZgjbVMhrruCzvXNcRzoQOjniiBinJnRCPlLESlspkYIgPtHQkuxgcIykjmryOeCoXJMCsJzuxflgZgDGSKNAGIGCYwnAHkXANqLuaXBopfQuMAMOMEIKLnceYWzSxGDKsjGFxaiydwjJUdXoUcpKcvuQFLsvjxOAvFwQHzClGJwjqSOPzzYbzVoXRdZBBrbYAVSxonmuoXpVRVcOzGDymjjVLvFvc", "EtWyRloQoMkJtSZTEXbidqeyeQAnQtzPhJCrpmKzqQCjKwAdoapQTporAeUjSpafJzOjxneYcXixSxmCopUZMdzLLlOMbdVqDUGiJRgttDLuYbWfRPqfUUeRyzYoUpeDFEJepNpHowuPbvgelTRUguABDaeigSPVjxYObVTqQJjDHPOsDzAVpIYTwOGUzIpHhCWGTUbEgeQInWWPUKqUXSLVLHegnefwIKZcExcaMkXzCHexfSyOEzaHRYefhYKYrVVljVfdVaSOiVIUkQwXxTKgYxsszCXgEZwUiefdAxxqgciaNwOcYtFsIbjYBtULyhslVqMNPXeNEEoMLVeDGTiVHZtZOEnRdPqFpkujbuNJhrqamQPcbVtlcXBONknqkpsOIBkrqSKVGDCcKztxygoTHyQwlgcufYsZDoFKWxKiwXxQdtADsNzpxxiFOAKHprucUMRKqYxOLfhuWNHxTaHctYXOkqciNBswFSpuZSyWWwTrxLiGjGMJfpMZtyMf", "kGAHjPBHmTUpIIaPckSDQzLqLWZnasAQCYSkSCdLBNkxlbeGbVJKHZEwignXaRusWTkhpGbvifBFmeJMjNNHQvTGlaTjXZbWdbwVJjKmuyTlEiccajXLQhlYBmBDofMchxTwbOFEUEpdsnaGBYfKGIDzVveHWzaHUPBNDCofTTwERdoFlycEmNJvHbNPGaPDVlHudnGiRZuvvxGXgikvKSAHjcwaLUlaZROwDFUTSbxSJSQiUgwNAaJgvozgIirzJMQRXcJymucuPMRFfuBTQZsAlDfbNOvfVxWgDYzTrCBxlNnaZqaCLmQVlEyvcWqAalppdyZYTtGFOJARZpqEfUglvpznKbpDYSgcgrzAREpmfjLLSWeHmjVXCyYfTDOXgzFfxcbbTKPGAZTXLdVHfzDeQWmnTKnetKywBIlSceBSbnVEetqyUrQCSmtFeClmogRTxIVbTRDMwcZEAIfHnnIIYFItJGlLXNUudgJaJQsvLOlXvBsaKFgcQQOWTfZh", "YKocGxXKqnbPzjxMDUQJbLpVIYkxYeNHzDYOHEwsRBEqbPPgEDtFbhMNEpBiILXFLEAtHTTscWmCnQyHvOItADcyZczkxJEuRrQeyUbTPPVGpKXXqcWQioYAZxhYWxYLHOvUqNWmpnCUrggUpuemihKviyKuUJBqfLGrFQUrtrXTGCzpGwkjMAlAumOFRuLjujWaDbfEBLjytrauFBYAEUzvSuzdrjyOkjfMswOtbsDLnHMnWoWbRfzMbnoTeNFNdobootPwLBUffPzFlFCPHuAUzfzmyidHqxfJtADMnfNlUcWNdJzvTrvngnzvUorAOndmXtqdkyAKMfRWnqoZTqJWLMqxMPgEArUjIxjeXxzjcBFCBHZfNDHvpfGEwAWwRnLcEAEgeyuzZNWrasFiWqFKhZMijMsobEEUXpckUYGBvzLHwgXrIIzSVyUraGYbUNMBpUalDEgdIVYWzmswQkrEdxIqBdAChoQdKiQcnnKaFoXlGUPjAtAPhvoqMsiZ", "laAxCOeToPxWMQvdJZLktnMFcdILMbyFXvlGPbyPEpsvVfKQoZgzhJfRurEjDcRamWSETPtoRquBiowDyQJNDvbIgBhyoSUkIugpvRVhKmOlgQphIQBTctcuUDpRxnIxVUOZZrcLqDkcUKvznuCKOiYWxvObOagicbMnsEecKaFuPypWvSWejrVYNyWMbTkKbVYBjEkPFfMlKiEdkmPBmJMIWEKrBuSqDzFBwuIDEegCNSmYjimtPsmlrIAUebqEcvQlRdcQDRsjVUZkGFYbZlDBJVxiCZDvzuZzCgqNnpRTjBuqrLfhhyYSDSAZRswcgDGGhIEvcimTqRsEtBYnQOTGnrzSzmKBwmfCgwGVYpsfmlFFSrmsHXZFvpvYilMTxeIdlCRkLKxTRbNmznfvyrRciWYssxHREDuGNrqyrBipZLkTjEKRsyIbkHelTYBEJfGydtOOeTJFBvuFsNYQkccAyreqBpxZZNabQUESUpLFcYjFcbkgVzcIWlcWtjUX", "zeSgNqfluOEYRVMHZXmGBlijVoeVdxWEqNnSXyIWsbHJQNTRNAFFGWCEgAMhGfzKJoINldAVhhBRUZbqtQGgPDbwnxmDIgapByzEdHrzYCobFlXqxZFWkEbtDrolxAGVLuRjkFOecXoTpEKnsMAOmZmANuBLTIQmJmReuwTYXjkAfmodXOPaRQgBKgnRHYfgWflHVqmhFZPXfbHRHsrVlgPMHIIAWGXZTvYMqPcoYxiUqzAMgxWjlQACqgErOJxkJPGuoiadJeIUfQLfyDXIByVoSGMABwGvymAwdrTyCknVoCGeehLIcABexoQlYhVaDMxDxlCequwBNNIeJeIzexYRDRdEkVNTBKstXRDMmhtPfBFYBphvbFJkcHtIxNpCciQbkIgAHmRDXJCdikBDQIdkpmNeCuYQPQrYuRdHlnedDrNLpnItSOLGtkeQZzTbNQyVOIFUSmbiMeBFRmtZfdldSISsStMaJvCoYEAaGLPsQfeazOoqPVFyDYxRjKNx"],"c_map_bigint":{"c_map_bigint_1":63249287714351809, "c_map_bigint_2":5965276408493802442, "c_map_bigint_3":3884539233729019226, "c_map_bigint_4":-4536151180727285316, "c_map_bigint_5":2501507047682340018, "c_map_bigint_6":7080874053596327014, "c_map_bigint_7":-7476939537169113300, "c_map_bigint_8":4296504698251873530, "c_map_bigint_9":4846389095087052910, "c_map_bigint_10":-5911976543293198732},"c_tinyint":62,"c_bigint":2389078699081820042,"c_datetime":"2015-07-25 02:36:55","c_array_date":["2019-03-11", "2015-03-12", "2011-02-25", "2018-03-02", "2010-06-08", "2014-08-21", "2016-11-06", "2011-08-17", "2008-04-22", "2008-07-21", "2011-08-24", "2003-08-13", "2019-03-23", "2004-07-10", "2001-01-09", "2001-05-26", "2014-08-26", "2012-03-14", "2012-09-10", "2018-01-05", "2016-10-14", "2001-09-23", "2000-01-09", "2008-01-16", "2007-10-10"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_varchar":{"c_map_varchar_1":"WHjKvHJUXaxQoCewRpuhqVLHowWVDXshKcYNqDIjNUtZAwLBohfDAALDHwlMZmiNYLFYhbnKQaQaMtyrYdCUnOQdOrObeEjJDgXfhcEyCxlfDKxwhrgAxfOYUcTWUonCsKnegkSIEoLBVVkDJVXVSIWesOvyAyWUJYCAwllsTWiesyaPUSSczrAPXGfLvBEiaKUhgQygTXGigrupClHIkjEmuDuwnUVQDyfOeAUEUbyokYuwscHVyOnWudXuxsso", "c_map_varchar_2":"ZDjEYfHHAfycatzVTWRZUhrbQdGnefKsukSIgNaFtSkuRmSAzMtIxCyLWApvBuplXugIPrZrwCzLqjFstHzXkaulOgWrhcrJxnDdGxqhcUNzDMYTszFCzCVRVEeWfSowQbLBVxaRqyfAJqtxSZEAfuPmTbXpkiKupHLnBRIEweWnqRsilxQIxVKRMSGXjRvgFrdZglZmGtbRoulHukjjaupImFBwHjcPTrhOgKpscOhcVHjQvqWbdmKCundseMMD", "c_map_varchar_3":"wjrpiXPAFzWlqAKFIsatzQbqHRrxNXidZudWZelDRIlEmxTAIRMWZABlztInaOonWWpBroHTJlreNLeuyuBdUfZeQAWFtpCKHnUiSRvDaBGXGIDCrySjVLjOgDRTiOYEjzNZoJnPfDHLUxrTWZotlDEKsteAMSwxBHclUXtmZyWCFeyJhxsXNRFUzYKXMDOQadUpIkbewjXNFWtFSwjCzYhHZpNbMwLRCFVAeTlXPNZGIhhSnwwrVPrCiQINEhcb", "c_map_varchar_4":"CjgWXpvYADnlRjGCRBnCvNupmqIIOfNqkskWCPqKRWAnLmywuupDOFiBIaXwKmytxgsRDDlwyXXbFRdhkTsUwJpuIJeXeoxHVTCEkbTMnHTHmIfznypYhhJtfAnxgZlOnoGiPxUgoNkGaRVMvwlBWldRxxlKxDBgBMqPnKblTiZqGeNLLsMwijzFHfHqxRuWmoOEpwqlxMoWvmxtcOjfQCHlNuuCoylMeFusVoNVYAGvcMKVlgwfmwEXblpDKTMT", "c_map_varchar_5":"OvsWpwphKnzCWGZwcsAstURLHFTRcPUUgUnLCiPPkopYeECzSPdsygJMRTDGQFyBUJNocXGpHHnYrHdXsBbMSqrUvjLtJraDkYRmBhRKfmxXrmnUTaqmZJJkQaWmDihFxwKwqHtniwJqjJOyzhpMKSDAQunfrVpWrHYoPfoeWfkwNHGDhdfAAqwecOVZdyTeaMhbkrvSzkmrfEQriZdjivlLjfTPHoegfiCvQkPLpibwpvGdejJsqqERimLqpIdc", "c_map_varchar_6":"CBbazcSRlowylrreHXZcvlsllzhIVCBYjztrAPZIivLJgcrkRUHsObBfMcuaLeTJEKbPGiiikCmtRGtDokVbIZFeyyaYTjrleFjdzMmyKjZfjHzmFypVqwTWhkNwVaZBGUXmTGiiosnezSsjZtZeBFIZtdKveGnzISVpgrEGeyixLPUJqaalzeDNkxmSjxWUFUTicXBcRBELZcpdBnNrfoqrxvsouNLlyGjowuUgbWYbSNBZPUDEBQSKFxjlWGfZ", "c_map_varchar_7":"oAZOiJXzLXApIBEWHPoThhZkNhjBFghTLpCWWZhfWphvqwYgERwOJDcqsjsRVJjFlcRrJkSPlghHeNuaeRAEOUIEZHXOBhewBSIeRrPPWqMIoWZpjNtqVkycOPEAmoFRpopPjDYqXJDBjWxboHPLlYlCJqzSdElJEvzJLVksjYAWhWnNozvlzEWiYZtVTOvkwfKkRzZvhYPYRRTAYZdCeRNZIXDDFFMcOelayFzvPilVukvDAbbpXmCWEpiuFDls", "c_map_varchar_8":"cMnbTSZjGyMRdBjLWuWdKeICKhrpHtONrKLKPPhSdfDnkeqGmnpplJOlZjKjNzlEJfRTTxuLXJarTmabcDSscwxVmphDshJNmgmMVUImwRCxhxxXmlNkSZwtdiZliiljaSTOCaEhwJAGKSsUNznyWRoSFbJSyFaRwyvQtQVPChQsZIhVMmXbcsEOUfqysnjyDaITbKggBazGxJIUQolvYimkjefXJHpQDwnJlMVfHeUIQqNojIfGZqggtTubpnUu", "c_map_varchar_9":"tMJqCmpITqAZCpXXzhQLdRvgOKtopDvVNKPqnUJqKtoXdqwSDqoxdhMkdvEtvoziyQlMQotKOnLkkCLYHymxUYGPASmdnOBvtTvRrHwkSAlEzNoJilArfHjtiCrxRDyDqwiRnmjVsAuNNJhrgzUOAEPqzKCNXcGOVhfSKzPsWEqAKrybRMakuTcSLoVGhWxBiHhcbSYCTWZeGNFmhBtOHtinwKTfZhqxasuQFxorxPJQKPLTowxcWNWWzPhyglzO", "c_map_varchar_10":"nXqejBPGYrqZXWyScAOsSaMuggqwQQDhOBvOZfKNyrPMsukdjmSStYhaOqfrxzVMkNZSWCiYRhhBZMEcZsRLFrEBJsolvZHHXnKxItltrzBXEEIjoyoUoxsuqdIwpvjqgNvNPDNdoYLZdHgtNbvvgmmMzaTtfoqJwsyvUbiruvUfXPcFXYWfCxroJKCmcpAYbWoejuzatVFLFMyCRZeHlozgijSLmWsBDjXgwBUqMMKWBTxNffJhkTQcinsLLBuL"},"c_map_ipv4":{"c_map_ipv4_1":"81.164.122.215", "c_map_ipv4_2":"11.225.139.138", "c_map_ipv4_3":"13.126.185.100", "c_map_ipv4_4":"207.237.134.244", "c_map_ipv4_5":"125.161.10.203", "c_map_ipv4_6":"134.195.145.134", "c_map_ipv4_7":"74.233.82.242", "c_map_ipv4_8":"240.125.79.78", "c_map_ipv4_9":"213.180.106.125", "c_map_ipv4_10":"43.99.53.84"},"c_smallint":14254,"c_string":"aSHQSARyCkOXrqvBVFjjBWIBhVrrIhmdPitIgYqpkccZHPmucLNbXPvryslQVzXcOnUnoohQsSBUovmmNicxZYUrQrpcPHHzcoFbwIlnTlfowuffdLAVMzbZUEHJYoLzfSgevFcukNqEnIwhkFOGdiEdepjEhVrlOivkIvvbEslaEgkCrMyddTaepfsnlcEfIgJkCZoCvXmLURcPrmarHbWBQvyRbLNhhVTEocCxpfXndWCXBrEztZmveosBBVZaFpHGxFRSDgzbkPkuwzCnKBhCvZAcZDecjvrvmSjQqnALLKLnwWrWFmMigjyjuruqglErCUTTrGXOKQVHGdtEFcynMHHdyyaTHKIdemtykYccHJheByjHTaSkqXOBghALQqqYBxHyViwHzvdDvDywDYLzHUGJTLhvHwwOWovvhqOnGRfleofUyiqIacNciUoXZYstKRZwMDoTOsLBavWNaNICbMGLtYOGwIwCXAFsZuPjmeriShTeZoJLDUoBxKwg","c_array_boolean":[0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0],"c_array_decimal":[45.1147, 76.1835, 82.1849, 83.1134, 11.0333, 21.1763, 32.0584, 23.0465, 60.0265, 49.0719, 12.0250, 38.0760, 16.0847, 52.0141, 63.1950, 31.0974, 25.0780, 85.1663, 53.0948, 87.0034, 48.0738, 28.1734, 40.1291, 47.0264, 53.1525],"c_map_int":{"c_map_int_1":-278722125, "c_map_int_2":-602401104, "c_map_int_3":-2098734803, "c_map_int_4":-1079992846, "c_map_int_5":-1797942993, "c_map_int_6":2032424347, "c_map_int_7":1073568093, "c_map_int_8":1482788901, "c_map_int_9":1437643322, "c_map_int_10":-168263284},"c_json":{"hackeradjective":"wireless"} }','{ "c_tinyint":11,"c_bigint":1732768278542865789,"c_date":"2005-12-10","c_ipv6":"b15b:6829:dd9d:13be:c82f:490c:9685:c67a","c_array_largeint":[-7124662846991724133, 2936570862285856862, -5878137591761852470, -6353237455344463259, 7673828663414805498, 7724467443653276330, 6264200624197706292, 3289489685893660617, -1828768852309857621, 3573108161288391084, 3622188089907627373, -8169999815760634622, -1114061383593309141, -349106653549269587, -6695684175201813964, 2492452433525144890, -1965796386521376778, 8236682214727471400, 7700910197473828582, 8409722604631220650, -2037854846409853633, 7289470208632973764, -91344918550906269, 1098971561598695423, -4220533809078706382],"c_array_varchar":["oYCcgSwFryapmYwihZMEIeZVPenUjFDlcJDrHliZenViHEtwhZCWzjOGBbcYSqtXhECbSVpNhpzGWqwuQhQGKhMMgyicfZjfIVTFRGCYCXvKqUNMcBOwgCuqANiSjCcrqjqEXGAVTdGNEaWcOyQLSAcYIATfgepAuDOrzpMBnTUfJCJyGjoOHvNZUQhRNbfTWbaHzSHVfdwJVlnzysZRiZTwJfSJxPrMvJilynciOurwTzMUmrRaOZchNMNygITh", "vAshBJPPjXdVmuJSaLGhRwMlCidrOnduxqUhhQZwtUULJaTsmmRwQzyFOSEGGdOpvZFZUuDeKSUiuQJVCgbyVilJeVCaZKvnQIKhZMduHDJjDHugxWdmOHczAmCvBXNyvLIdGqBjwyhNoflKWehCHiNgVQEqyxdcVSOdDjCtIOCwGWkfqHHVUgsuqVwmZyROFDVdqmLeVXXdLAwAdqcmJPMOddmiitQXPYWXOqrzdgtafaxaoxLVgKvHlRxDfYif", "QYFDThOkvwvGxpJHDNZGCsXlolYHTciISlJcmKZPDfOJJQfehgSGJwBznpNhWeBdtNNRbmmHuXJDPUFqqhdezTRDSozJKfSGwqUxjPRcLEeQGxXiiXcQBbglfyQNyxgDwnPzdxorkMXalTGQQCciucPULyjhPjdHiHKehjNSFtqgooxrnRjxTLecJqGznZOzfkWnYFQxydBtfmJPTRwRTexzIvzxtbbTKNgWCHhoIWNQvukFCZjQjAnjRACCjgDj", "CDGnXpsOtgWVkDwZhQwTMXmMeyNANvwPemRVIoGkoVumkqAJQczNtESovxbrNfkQUfWUlaTWlfBKNpjGaHDHJOvvBBzngICILeNyugQJxbhLdwcoKTXTGpmKfpjGHWrMNQPwmUPVfOqsfrQVWkeLCEaQNigYVBOOrcCJyZGAIWIzygEGAPsfSvUiRoyAPhpNJYrkIhRzwkyzKWNnkBYHrRqaGMTEhidcOcLsbzxCaXQjmRlwpngoHQrGMYBmqohi", "uiDtdOnRjiMhBUiyXsttpvIEjaxrgfUSjjebunnjxXxXErVCZMGALtJCDEXbwtmwHZZKwCBSjLOcpBpNennSMVTYuKlJnfjeLAAGjNZwbBwhHHIVDJLmgkSojJwnIXehTnTMxoDSIqkFNsIUMWwlJJaTHuLzqrPYigdwdQgDwtwcSLAkyjecHIAtzLqQIxxPuxwjjjRICblXWjVvGJzfpMiuqMNgBKyKJkZNdBQdTLPNZACyVlKwJKUQzcqxxqSy", "nRupDQEyYAYGaKnweyfpFhsWsNqpYQhTxXnadcLDfZPCJtoLGfdQytMQFAaDUpQCPRprwGZjcBDJJUAfxyGWIUHxvmDZgPQPlHOJzkVWLkUVdZKjjijMVxbcHLdNyDbtFdIxEMnQZWlEwcQtvJtIJjQzVxfgAqYNQWCvcJyhUsEVcMSHVbHcgkjXNElfAIZTLtDOWcMMoozMVFVIxHOxvFyvRJXovVOGDrkkZxWPEuXCjnDbZwbsSTYUSHNPKAdj", "VesFrBQKsSAOsTxDsuYENOCtTTqATAocIUrXOVtxAdeanfsbKarpWQkEOEbSbwhEOcjPyxkEdsRaYeihnajqULlAJbWokwKMVrLQPjdLgpiVubdhFucZjQmCqZwbbMmTFVaWKscGLYOHuojMOUlXTLmQTxLBvFwLkPOhRUXwaOeIKgGURbTourFJKRYZirCpWIxakQVQOyYhneyJhDOtvgDumNWzddhZxUnTOKuEebjNqBeUlSNdoquBWJsIcTcb", "XjMOHatxvfRgTARxCPKtBVoResXLuFzzXZjEpdqrelQraotomrJyzXejBwFUjxrAWXOidgoLpoOZqzpXMMcKJowvMIarEhhqfFXfHzHrwweoDdLBmquNNjHwnrUTNamXkrrhJlTzFAPbAZzqepbUmSISNYMzIPbjUYxPWEYQxNKkFjXrUiNVOwxNyTVQoDqRTBnPoPmgQMYrmyoMuHbVtaBTvOPxBdcsYhzgyuAgHBpuwUOsvZOtdljKJoYLGPtY", "NkQmOSXmZyqyykyXbGWLKsQMllULqMhVjMzvakUrGMYdGfwsbPnQhwFugShUaoQHQxbjMtnQaJuidTiYxNlWmrwpNabFIktcKgkEzttEXPuwHYKGMhkeqfcIfvvNqLFtykbMiseSqUraUlQYEADxHTmSLKcsXRIhbdILBAtMtjDDDBnjOKzqRDBqTRWmbhkpCAihtIFtheicAkNcbCyHwZwopNvobVNCfywXOhlzhWoddIqUfdEjrBZLyXmIdaTX", "zBQyOwKOZUrHfKeELYpPidNqOsrYkqYsRvdilkLGORrjexlGpIEvJmWdxHbRhphhPbuiLkgxCJCSuoNKwPMxjrLpHdJYWCFVQAtPVsrntwytfyFaMmuaXAjyQLgmCVBkCLcxBMGPqCKbtrSTvCkfaVZPEkqzAFQamgihLljYWxEkQTUiIoEdxObKWGUkaiKVUdiilLmoJXprEHLLHQxGxDHxRdTfFnhdImdamYAkupFdqMdJEnkJaBQPuwtaVfbk", "DhfgqDxKihAqHKTiKtMqWoaYyOMCQTqvpUlHwiZYrxZbFaGHaEHkYctPOQlAvihoIxGzzvinCtaYLXOVhAesZCpquvNzDdEQoiWOLZriIiYWFvtvBwZvoJuronGpcrjbOeOKbchuOqnTjJCLhyTrjuVVOomIVbcMChyzEyllJODOYUenhHpbDATgSxTzgDYvxRpkAvkMNFPIdCdxcEFHrSHgEssizcqteNfGfEWYskYugvtKmuYCzaArtoVFTmBA", "nzUHihYXDQyhXOoskpiNzKaKXtRbGCBuEkTExRQtFoMWQpxlwesNoUrtutKUFDjlKFRsqKtXHzmmhnDCmajxNnLswAmclGCGzMgtmwLCcNwMzkVBthUFtADIhymOeiRjtieFcWjwuVGxMLuecsSEEYijXvYRBpPZAXTNheFkyugAhgSnUjVmGruXetKEdqPSWqLFwFfQqnXxoIJWQkqOeEjrszMEGiVmQKMeOAcDECQfIAAeYEcFBqkjqLXkbzkQ", "SMfsXTvxCOdGLLeCTsBzdOcrEkTVmLTPvGVGOdtnJYgGoCNiZByIlWsNKNFGifyDLobHBRSndgeFmIRUvxWOcTZHNQOnelXIsRNHgvANVHvbSNPXlZCQfezYeSKCvwEwqwWlXLNvwJNzqUqkqwYuJpSuheutgUnuXLeKsfqKIShiwbWkvcGHjopBMyEUtixvVoTiFpXMgpbSOoqaIbewcbcUTwQwXxVcAKbdAaJjJHgueamKaObFSmQDwZkHsgfH", "kJAafWvwodorosweGfTsTfTGLoMXgZHeAaBlbJDeSVVwJeRbXlTrOoYEUiuTcnxHTvlOsBeFRUWGUmDaYadIiqanwVWjlzWjCZwWtKokthkXItkwJTVWQAmLbQDEXxHfWYjUDEDfIdjDRVzmTnxQDPVvlIHagdPAzyvsLuxmzWwWwXrIXLFQsiMbpyTmbqYwSZkKlKeHzAgFEAsQfKwQxfPnQnehRLgtaTUEozOYwdhfSHCvMiZVMbGYXfBrFUiK", "nALGBamPHZZGXlhBdHMJYRBIHDtVsKLkeUrpXnzePsxiMShDgebbIAdBbyqpgBnycihyhtqAgRJeHUWLchllbOutBNtQfikODCtorQDgbBXUFKxExgesEOPHZMYQtffbDtrahfzjTLTnWGGVKVEpfjrbNqKBSXcOFfcNhKcZUgKqjIwUTlOKPMroaQmcGYQLCaWJdPntqBoERrMQcCBKwKoDpzcfuKhynLaksYBMPxlzgXhLXBwMsJrKuvTICunU", "eOXwEUYOwWonQIbNfyLpYEITGDvOefVguAManqhGbdCuwnSNfNWNWzxPJiLwyHNSJuCUiRVrLodbTuBlrnAngEoXoxmQTQuibUjIBrszRILMznQqNJTwHANMRNfQYOUOLNdTcxGLcbaAHDGwGXTZXYNZRdohPlCFokCvTFDWfJZFqIilTEmvJFLlFUzjQvuilrvCAlszdYJUauGRBXURuGhQxjaQzravEAMMtArGVOEvUtYQgjCbNCqgFdfLlpZP", "mFApzWyhvfHdTJwtkvYyvTrDDeOOqJUaQOIXVGIpnktnXmFfPkgXFhIRlBcPmGiWCIsqJOVPZWXIQTCTcZrwsxlqcvdTZTBWQZIyTtbDAtwCimhFcJqQlPNrFsMOUZGGrNdwoksviDkqkqjoXZySDSSmvIUNnKjFHhJnEFdgKROggubHCMFGmquhMzKBBVcdDSczVsaVpLcJJTldpvldfkbtECrTaTfmKoNqhvGUluAPhJqTrFetZercMeyoOxUU", "tqaPxbDcRzHcrgEnLNMRQBQxSrjYCXFfltQEiJOaiURkKrBYJRNmGjYLtpJDpVJIXWgVeHDXKYvYddHFhGIULCzwIFPGkWXZqDxsPFNTPjMASHnSTVhrBkkKLikieBrcEsIYLWeBRmNBfVIrNTCRXLitUqElUleBeIDdHeTJejglYHXNHNaoHDYahQNnIBshOmtJRNtzsfVVGPmVOdQlnLliEgkJytGXPbCyLZgLKwRCTjPDcXgkxpRhdmiTyZHq", "sTsyprNYNIUWtLTKOsAbVQBCBJKEPYWgycTJYaTeoRTVuBwSpniczTXxZBYCnrmPFwxOmAFgRbdVVtZRDdFlQBoZiKKVahdhzuMEgGhBeCsaqmRrxTWPvmhaDHZtJNJPqeNhyHChwGFcmmwzLnqsMlkLpZizAhZHChXPyHusEPRRPyYRRkIrprezrhEGBocNJmAEEgtxxoZeXgXbQURCqZwzCXhZluNrsNbWzkszozrWvRYkphBDPsRrPpuKLKaG", "ptfuOIeWKwFErHBRLzhLZqvTecoKCitjHiSApOqexseTkNSUoJCvjVNjIfrWhpzqydcLClqNaQWjvGUhiWHbgObqZaggzivdEIIhMsSmnWgNysRQtyOUrTuZAqCYJiNdItGYnhQVfDpDyBkBzMHCeIMEPGcmSqleIrsfMjNuUHVwYnUQXmvZQRvpYKJlTJaSFbBjWOPjfceXWhmyEjCJWUpbGMsETjGabtpaZuvkKDzDPsTZBQOXNKYwKgcRWFqf", "ostbzUkFUluoNbSovhFrlGdmlqcBECluheNVxtBGLuCUzAjFRaudJwMcgaEJccZABBERhNndIczvuYDXLUDyWwRMHhMYdJxiKoVwRisNYcWPVKLqMotDSnibZVeaiHcHZFJzbVskzgGuVucRRluZsFgVjMpZnkVsljpWAsmKRKCkvziYhtixemQhdaWqNXWEDUonIyQXnolrCQCuFfyjxhJXavJxvkuXTMwqYBHahadZELGabEaiwpJUUNQmyGkw", "bMGiXRraFqLEJOgDGsoBedzAosTKbnNfzkdJfVxbcXnXlKFXwKlDwiEpLXWhbZsZOYmlQTELBczAwFOROLztyposxLHNFggRtwwvyyEuGPjANnxWZMsKPAzwqCrgCqXfhMibaAMxOEAbrSwukGDBPkUnhSzWEXQxFiUoEBvjqEvsBlAKlcyhCFHlAiyblESIhlyJHozuBtjfRyMpwakUKdwFdszoUbuaMhJiZgmAlkfpIYoalYRhoPERSEGXQFuL", "UqOQGzmrwXkcMASRLHzrtUGUcAMVYUsRdpfrYCwgadsLvqlAhNCbktetHHeYjLcHDNEuXoZylVonTPbtUVFPekiqqTSbLOgRtAviqAjSqqhqlffcTvvPxOAqnSsdEOyslapLobyzyMSGKoKdeiEBQbuBsKktKwjuUDCzvwLPRFpyWpKuzwXbHPWXEUaNlNwmeymZVFrdiNIMswcVlGxfVFmruOVujiXZaDCiywZgQmgbsaHkldlWsfuqJfIKxndb", "VZQuYdBEQvnRrTZYTyMiflqavhuUzrqiJCiMgAFjKTAoYvpxKkOCdVuQEnjnHPnpWUVWNQlmsLnjNzYTOOuAAYSrHglJtGSXTBnKxUNuXElmCDwoxjioFnFfszuTAMKUJXyzgjFlMbyuMgiaQjDXtxqgzmbnULBuyNGBnNahDEQyeLHhHbnUJbGgdBXfGeyZdFAyjJjFTLAJaRKfbbDfapreDiDsMavvHlJHYZwKYNWIqXQXsWregXTDkLAjofkH", "CLNRTplSinHQvAahzltNOxxZotlHrUbLCvJTxGgEYPVaERrhVfOGihQFEPtMhELMjKTczMxhqzgcCTmYOkeDwtFHpHjQEYbvllobhVYIFktEgVfNTqVxlvNOqAQyKMCCCECQupLBApwEpLZnTOYdDJIMTmpSRzvidSWBlVHPNYJaXWOeoLlfJMOHvEYXlMUaiHsadeIWpJNtkZciBpkATybTgYTAlbLvdaOJXCIygqCnFuwlHYcQgXFzutpJSMwM"],"c_array_date":["2017-06-20", "2018-07-02", "2011-03-16", "2015-02-08", "2015-06-18", "2012-07-21", "2013-01-21", "2016-07-06", "2018-11-23", "2012-05-12", "2012-10-19", "2016-06-14", "2017-02-09", "2004-06-28", "2015-09-26", "2005-12-23", "2009-12-13", "2018-10-04", "2010-11-17", "2009-10-16", "2011-10-01", "2017-01-18", "2004-04-18", "2005-01-13", "2003-11-19"],"c_array_ipv4":["ruihiatYIt", "FZkAsTcXqM", "IpprhXTvjj", "WhGhDDXhuV", "HAncHgOUqs", "KuShKeoXSJ", "zZudHbHWNg", "oamuDSakdR", "ZYorlVEDqY", "xsKSyWoyAk", "lpWieXXCrx", "GjQMOTJSHs", "IUFfsKRsEP", "esWeqcbRyn", "RuyLsmwjRM", "sSATAkksXG", "szLThdUWhM", "HYWPHocMeG", "XzPASKfpbW", "YSShuiuqyJ", "Ofqzfgoulx", "XOBLayWbGn", "CZDgoGCcJh", "BvJytKXlOt", "Mnznrlqfzg"],"c_array_ipv6":["wMFzCDtbMF", "zovbmXJFzM", "qxCzFOQTMq", "OEKLXhmDHB", "tTyVBgEAlX", "xixHNamoAb", "YPnODuZxtu", "TmYjbTHWSY", "QdTHORYrsm", "qtvXuPdZTl", "MskeUEMBoW", "ZeEaPKKFkL", "STRzzKlRBj", "gARAmiKhnF", "bPterVpByL", "FCmeAYpFXM", "PlRqtttrYA", "IzLVSUpouF", "yVfuiuXzDJ", "wqopgHErSm", "lXIFrRolFy", "YOmtAfQThp", "RmmyTbjGOf", "XcyfNrGISd", "rVvfkxJZZi"],"c_map_int":{"c_map_int_1":1579515567, "c_map_int_2":-178305731, "c_map_int_3":-1448277520, "c_map_int_4":884791259, "c_map_int_5":-1850609951, "c_map_int_6":-1218467340, "c_map_int_7":-1564680288, "c_map_int_8":-1100396430, "c_map_int_9":-1149743464, "c_map_int_10":-2010661734},"c_map_ipv6":{"c_map_ipv6_1":"ff91:86be:d8b4:7d99:dfcb:821:1779:a4ed", "c_map_ipv6_2":"34f:8c4:cbf1:4d99:83eb:ea2b:6835:e7a7", "c_map_ipv6_3":"895d:7f85:a0b8:c7e1:6849:920:4ed4:2965", "c_map_ipv6_4":"ff1:f5c0:c1f6:43d2:2c7f:d01b:6a91:a6ff", "c_map_ipv6_5":"c827:8847:abcc:6288:daeb:742f:827:7369", "c_map_ipv6_6":"2e72:f053:8496:49bd:cabf:764d:9d55:18a8", "c_map_ipv6_7":"945a:6beb:1c52:7f83:975a:35e5:85af:c998", "c_map_ipv6_8":"76d:f713:c4f5:b0b2:2983:8336:96f2:d57a", "c_map_ipv6_9":"f04e:2b17:a673:c129:35c0:d52f:5b60:f853", "c_map_ipv6_10":"b396:6ed6:c789:3751:8b7b:79a1:d700:ca61"},"c_datetime":"2000-11-04 08:39:09","c_array_bigint":[5529543146575149007, -8292614976603022465, 8026745551230400761, -273087183645959075, 2858293364697789082, 5725978709046846258, 2955386946537122475, 5454503977281517298, -8878706648949573112, -7819316385323576054, 4271048835027639676, 3398578328464119403, -2547159557635520291, -4367171918939200088, 39744865534210262, 6347972845878081937, 4225680485065563612, 7749440180315263167, 6751091987440116262, -5673758400697781824, 6360212667091349070, 4668130537909990167, 9198252957791759410, -5255201760473209867, -7851577036579131027],"c_map_datetime":{"c_map_datetime_1":"2004-09-19 01:32:49", "c_map_datetime_2":"2018-09-21 07:28:08", "c_map_datetime_3":"2012-10-12 16:14:24", "c_map_datetime_4":"2006-10-11 22:56:44", "c_map_datetime_5":"2008-06-18 16:52:32", "c_map_datetime_6":"2011-12-11 10:50:04", "c_map_datetime_7":"2009-03-05 09:07:01", "c_map_datetime_8":"2003-05-24 14:32:56", "c_map_datetime_9":"2003-12-02 20:38:54", "c_map_datetime_10":"2016-07-02 14:28:41"},"c_array_double":[82.607990926378, 71.27163843579233, 28.44045334961568, 4.539214255384085, 32.411553076481816, 52.23613348316164, 11.06410815706857, 70.01659283068945, 88.65488523516589, 52.3586296726031, 3.189743444763674, 39.41540544980866, 100.56299866371438, 62.35968230613905, 86.78865515819369, 73.65399696180629, 73.28168502024887, 47.9995353166121, 90.11807965377504, 45.091463461921926, 74.99108142788148, 77.07103320450986, 34.4634811258924, 29.52491551076475, 55.66839898541401],"c_map_string":{"c_map_string_1":"gtBneGETlWTGOKGmkZcVgiprMJFABinsahHPQaLBHQvuWhSNopZGoJxyacAqWAzoBFgCIFxrMKMmaZhMKiucyiiefbuuOsFLEnSDwiQWCzpJqnXVnCQhFzMMrUAFSJRQzcfurhNeIlARfcnAhWcOxMyfAwoMJkeSfCVleHYIRCdgPrWHhwRcqAWUqtFWVdaowZhNxbvGcCnyWpKrAgnSuMJHNcXtrfeaLLPTVaqPrkOzCDnRsMgttUuPKqZJkwtZaPWLQgJsmEDKOaZkMVbQimTTldwxErIIMCPJwlhUdjhrYrnLRdrDswujofefpJcyZJPvNKgcBEythUHaDgQLcSeqfHHoAJJWQaJPBHMtbnIlqUJVwGiAxyWoroJnOdYhPSiwuSlegpTLVAYqQTOMxqJCtlAaFqrgnFJZbWkWvfeivOgrJVRyjFqpmtpEzqXZgyEbzuSabjfbCbZgHBfQzGqBnfCJqCXqOsrhNTCZDHRqSlJoKbARnfziZIEQQJfi", "c_map_string_2":"CMorkhSQrEkGOlKEXuTvQqRfbGSNxORbBZlsMiqzgAwKozQrErUxFxxrvrydWQMdgabvzmyxMtYkgyroqryhvrJoKcVNNCEeqgfLxndaSBcWPSgcyEqEzLuifgpPjFpMeabWwFSNOlgYsnJSakRQwcJvUIMayBanxIaxKQLlVzrrukyfqXnHrAYQvsGRKMhggiVKgEKUjpnGwhukYQZZDrkDkiFiaJioDXDvOcpAbPKcVqcxUkTMykfxIjPGXnCtyMIkNOwTmWftiNcSzWKnZehbxmoEIOcTkzCYqqBfWxfNpqqHjEfWettgJYJtLJcENbpcFgYieozqqBoPDhwNzYXLqtiLkmpEinKKvLXnooNChnCkTjDsBqAomJUnfVlqZkBJAleyLStzRqqzRFVpuYvxaqpxQCoBVQXrxfjMauIuzsKxsJepOMCJcczhbUahTjdBddotYXuWYwroZYqUGszIbEBvpSFQErFQzlmOcuRtAFuJGcuTQOUHgoNrIacI", "c_map_string_3":"nNvOfjdyClNLloKCGQTBrBguovWfPsUKrXbWmHRImDjcCLAVCAaepZkybpafHAZEqmBIelPrLueSlaGFhRzXUgpnKpHmpCnFaHGYzhDakieKJIUrCEYrZfRecKyAxWYhIWziMDiAzLxkHGTHroPRKqwPovrfjETGuHVzhsRoefIexsnQfwDjCaWRUtpqLhOcAddYEFThBwTiKlEDwfQLLMbmBhpPDKWwIEBvRhOFANWSFGUkslOdWdpyRvicNAipguHZhHNWEOvFOmaIKULlNLFELRNwYQQiFIvJkUDmhXfzWDPOfmUBMTxCARgfyauwETUVwqLjKlttGwrcutslbcorlBwSOjZdqGRGKfwmaWdzXGFGJpCOIeyZGVFOonvPsikhnSPgDnhmytnnUAuNbEvgxUnojbERRqOdCIHvfJGmacDYpCyRmLWQQJVJjTzCtWUoSOKscExJPAqPqilqHsMvZHmGkKVEDvRqEODhCUOvXajjqLcwyezJulnyNNMf", "c_map_string_4":"RJdBdWPFfzNgxopdrCJIDXNdolFZPaYhisiWEiASZxKRoqndVpLWtwVpNQcZyMZArHsdqaoknMGMxQITUzxNiKRiXWnMSWNjuioWLkIpbGUvPfuGWHNWImJDYdkPwLrQhArQJQcXJqDpYcfIFTiCpaeiKopfNKdEcITuzFywjFziLfjVUiuLlGcDiypaZjpjzUQLCPnfwqikVCcqxYsDwwixCqRAPHWkgckWlbUTLFHDyGYLJfKiFhMzHHJgWHyBzlhmgTKyllDljVfHonyoWmwbHatfdXjMTFIcwOHzVfPhMtxbluYmPnvZoPIVFKzLciSIoKJOHaNQpXvNEtyVuCbJTeCTuWAGvgkHlsUqBWbZCRTtfAJVmnygWDEoaKlyGnQDnewanjbCUXWOFcJbUMuKmhCmdMaJOiDwqEWnojlPunYAToiHZEtUpBIlmybIRKCaDcdrGrHWhYBcfzNlKPVVEKxsSitTMnmceLniEXtwKHpeUpklWmuuBHvBundY", "c_map_string_5":"PthWTMkGpFfpKxGKMTuBeMngKyLCdXTdaxOcJkAfRDkEjNjLOoZlqnqOyFMVKkpWWRDoqValgwNHKTgBijHYIhtPpeJsmDjxmBOWqQdqvthijKbBdHBQvFEMxxcYYvMesQgPhCzOqyMNZIjTlACRvnRsnZPbvHKkDqyxJMcuPcVfaIKglTlHkJwqjjcrcGOwksEhtNzKxjpBrFeENofxGRmNbVFxHhEkgzgtPXLCJdaVKYswwRYmSrTbRyzwBshgHJCXEXqlZDnxOaSUmxFDYaylBFkKxyKRmnMFzDUCTknnYOFxoRvhjscYjSsLaRVrxipBdfyXpNRKkqGiutNxjqlIshqZkRoJiTlfMdCHMayPwETjNniJiXprZcEdolxOuwvZumyHYDnCmNZSwpTjnIuQvZqMVnwbxJfbxqvZPTfxicDylYKEuodWEyHvHshCSDNgqZjkIOcuUfaQfULXdMgAgcspiQPbpaDSFzvbAHlGMQxfEZbTtsfzhNWCKhZD", "c_map_string_6":"yiJtuHqJGDedRpYkqMkIYBuPZyinmWbNAlktFbKVEChzMHXTyiwVTcAjVIvkTpuDuWQbGHIYxdFIjfvxGJiFpLtaUlRGKnPTfYSRnmzTkjWPOLZtUOxbrUpUlyQTYxtUndxfKEuplurrGAsnfeCxfbsNwqNkBnxNqDBCtWuxcZltaCYlbBlcDRUbZZcAYrmDxzdeqvESWQmlscfzcFudvnCFIZeisiZQaoRPQzSNyZAuZMcLHDwbZxrDalxJTacKNKvCSOKOhDZILRwGwcYxzkFhCmujvtqiWeQIIlsNqAnQBspMzGzewovVvroXdsHBFiWSPVyhknUJiKEbumNddGanrBLlcTUKrjRxOqhNZwLdAESeSFNrTGCVxoPFIGYgDsrcNyIpTFsflcyQAzwnmEBnxSiZTaSrWyVVakoPXmlZnDJWFvuAJdrUKGHJEYGuZCjlnbPiEPRZOdFRJhDzCsgCZBnKuJXOnmvQmGNciiroEipSrEXfDqqcLDHsFYSn", "c_map_string_7":"dGIzXWrOsUnXRPPFRsZiiBRWjsaEGkmOlbGZnpsNneAUoTIlXfkuplcQXyUapNQOJMrWrrEvCtvyextynMHuITyAKwnlzPqnCRvhcaYMSjqvzHgcITmjsdEYKyHqJrwrOuRCPzWroxuphFnkYVzmouAsAWYOZhEQQDGoUxEwHSLmGlWonTrqvIEDXztvoGKOBiDHEzwHiIVrZVONpLIIXAViJFhMPFRVYCwgDRBJThXaVtQKGfpQUUyIArWgXIUrCpxWTznWMgxgZGeJzliIHgGSbvKzNPYaBfpNryXIUHqFBVHPVvyVNOiyDEZXkcxLQmmbndDBuzrkfwpHLatfQGwapmgXqtUTbtaLaehVOFPrztcbLvzBXtExZKRdCqlgKEJQdYybyapWVKDMFFHfBbrpuZGpaiBALJisPVwIDMPqQwltsOoZEBzGnLoGfKkmHPsSyIdxlClwvvRYxhEuGBmYatdeVlNGGrgKlYBoTqSGCHgTwhmSjdHvZHuXkuJC", "c_map_string_8":"bTApvdJotPpYFLlnjfOeRSqhhMjLfssZEovBGfWbLWiShRugCYqsGsoSbxblYMkXSIFptqlxYREUoryIuKdoYaljmgQsLMcsBcsrFGTjILDNJaMwpaQrbUwHWbvGNdFrjdUCnzGBFMsKkUddKhXOpYieNxKvypzqXtMIRqSHsPfxUQbbRoqlteMksoPkzVNwxrIUVENqXgKUEUOnQUOEdzEPwGqYGduAUkIZNdInHnqKEzWWxtRWWbAUMSjKRKLJcwVNxuxkEGwfclVigIwBMSvCDwrpEkByNYtmexgtWqqJMAYprqmkpmYkPJKIsVsgQBKjMPhFvIshCvKFiYMWafFXYTZFmthnOsZCnjeVmTnquIxIRCrPDJORPADHeGfyQKWjnlMExeXoeFznrjQOpSAuqOsrJySFDhsZkrEiVNLQABwFlIhSNaXbetcCxChQZTDKRtZrVCsrxVJPuqvzfMHjxPDsVEpvgFQdjJFRdLckCRQpllTjpDSuFBCtWaYG", "c_map_string_9":"FePhywYlnYCamBSRfdMgieWJpTuYgRVCjuTqLTSiLEhnwSLYdKXVzkuXocFcMItMjMOHtpNJxnQOnRfsBaUQtCpdDLSFSJghrkOcFhKsGvojNamuwLWUtmjQvnBcwxjgZkwtQWiqFQpTVyBydyhJHuoJvIGcApVrcswHcOFfJDLBDiDepIhyscveWcYepnNFlhcQTKNZqcJdLNqTTAPodHQahJjOjwBHjEgyphJxzTYfwuQpgYVQPMJtbeMSUcTdgjvpzbBSDcNaDHuPlWfseXwxHAnkSlTjwIaNPuyZZhguXqhsbQHEHMXDUyJUCmIpCIMeYJNUBVFesTLLHDygsMukbOzDKEqcbrxUaPesyxOTqNIvzWhCMXWEimGMchjsaEscESeiqtTLAbnppddrYcBADqZNHlGLjejjWAYSRwanPYHXHbrFLEEKVHIlsjecqHEAywSfHSnjEnScaQffkAOfRCSCjlLAVlSDsClESHpGWAXNMCAKupLtAnkyjFNC", "c_map_string_10":"bFoONWZwNfeeBKbQLOEgBkTyMwZndkSOTZzYNFmlKryFDwbZIaNwSYaSjwMUvHqPrAkFZvcQWRUXfDPrcwhrkDrHQcTdsGYtditWkcYvfXRWElSCDWwbwqkGFjhsqGgbNRoogvQqYQgybfUWUBisVSBVQLaMgMHQgDNTKcYtSakAYHqzUuCwTKQYBQCXtsbWYxImhUIdStMfpIonXOZjexgtgAzmaQcdTeUmUQQZpOycBXpamscHNvetmEezXqCPTUfRieyYycxfKTXaGzoOeHUKJEVHHvccTnzXRFbqWAXevHjqfCLgIoITIPVdgTaPUxiAhhbZsMRSxaGdUYRcBYXHSlzdpMxxpbqGGCMLnGoWjVnNQTXMpkTQMGAgZWIUUhNzOlFYKrqSrpNPAbXHoDhldKErUgjqHKfTCazedELuBKHDyvvyPAZwNhRUScpISHmMxdBHbLClBpxDUajVTNjsThUysutwFREdeUvezYUtgBHDvxYxzqcaoxoojjyO"},"c_float":32.207325,"c_decimal":98.0645,"c_varchar":"it\'s","c_array_int":[-702107679, -1262752535, 974352809, 1631627466, -1968507940, -1666415869, -1155125802, -335670779, -971184390, -667027116, -168621406, 797074377, -929213434, 1297049833, -1724063714, 1516880740, 432803079, -1901095746, 938340817, -1825193976, -1285680383, 1870180578, -107789746, -1219917809, -1798589674],"c_map_decimal":{"c_map_decimal_1":65.1420, "c_map_decimal_2":72.1303, "c_map_decimal_3":60.1188, "c_map_decimal_4":12.0859, "c_map_decimal_5":65.1450, "c_map_decimal_6":70.1105, "c_map_decimal_7":60.1363, "c_map_decimal_8":92.1597, "c_map_decimal_9":77.0241, "c_map_decimal_10":35.1149},"c_double":98.04427859849064,"c_array_decimal":[49.1951, 22.1356, 11.0603, 11.0940, 96.0716, 75.0142, 70.0308, 49.1692, 19.1590, 36.0067, 90.1420, 22.0238, 34.0113, 60.0976, 95.0517, 41.1136, 83.0790, 60.0524, 37.0212, 51.0699, 86.0374, 49.1805, 98.1780, 28.1514, 58.1162],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_char":{"c_map_char_1":"uKLpJvcgTm", "c_map_char_2":"kiCswvoNSA", "c_map_char_3":"LcbuUCSEZU", "c_map_char_4":"SFXvyXzgRg", "c_map_char_5":"OmTTcBTWqJ", "c_map_char_6":"FbLcmMGzet", "c_map_char_7":"nqPtHhNJno", "c_map_char_8":"UZVUMrfxGv", "c_map_char_9":"ozoVzbyvNq", "c_map_char_10":"DHQVaOOUoU"},"c_map_varchar":{"c_map_varchar_1":"VdWfaKCdUsykVGAOABqCrrvTHRfYfVarPDhozaFqflVtGPOWBUunsuAkKgQMIYVnNDpXvbzzPcYBUpWQXjpXvoZoHZGbnRJXcJGFivJtWfAUMyyJUlqswCypMjnlDEiyWeNvtMxiymnDvpzbChmyOJIoMGxvPxvJmQXEiToLXNtACaSNoVRHhfGthpvdEneBIsaOpgaAWbMDYcMLuGtfvEsGWZlqCNTIFzKreoaMUExseECKlBcDmFlSnRMwRakj", "c_map_varchar_2":"JZqtkZzauLbFBhAUNBtKjIAOxQaQFaqQkmOQwxfcDtUvEjIDOCiygzyBsNStTgHGgpUumwLXrulxbYqaernfKImAeexpgWQPtvIDugSOACygwzZCSYESqNKvbswlPJirrsEkQkqlvYweQWpLquzSfcdvdHFaUUCFeHqFFHyhFKoSdnSPldTfClhUWaYiUckaXccjbndlCVwGDmCWzsDiFIRbwBLKnwSrWquBHJbltlAQPVXOVriNyISYSpSgzyYU", "c_map_varchar_3":"tQXspkhnhItiKrCVYcrtuHTxIIxPuTXnbqCVCoPZMvGqKZBGvSzegxlsdkbYaeBWnyASRubWjCdQgPtcbwZxBHfEUFoiDEVZhXyXnxsvYmxWbEnbKQgNptUhGGLZgGthqKSJdpClkPeNuyVCIzukCOHoixrrrrdXPZIHLbfCmieTdGRSifgNkMYCuZvSpPWzMcnbliftCLPQGQQgmitVotmttKGXEwDdjOYTllWnVNcZpkRRXMokPEjuLLhxXiuS", "c_map_varchar_4":"YryMozbwkxLbNLJvhLWRsDgEuFNITKuPYzSZKdWyVwLvpjBnUEgLsEPsnJKntNUptxaOMJnhMDDxMiRAjPxkkfvGXKGExovvyqpdBgGQONbqHIaXdmHIGjODVevCrvWeFyablWjsaBEJSNYfOqfzeIgJvXvBVCaDKfrORUhbGuCenIClYkCUGSsYYZcdvInyTJeDTwpLUsAYLzrxxSkBsyfDbfOhTipXbHiYhLtKGsLaskZzYaQImaVQbqWhpqrm", "c_map_varchar_5":"RWrSTzqhCgHUrpFpOglrfsdyKJOOZeGQkAKzJqWOWJnJCxwLrHGMcfNgoTzPsKZpXolqNTWUCfIhWEJPlRFLYsxwCoSydoYSkVfpdCTRglWPhboqjaDBAQCaRgVOMbbQfdmcVOwNmDBZQZqIRpeGGBJYuwQpGNpNZgdshptMvZEVIsIKNOWAPNIrYvmrzlZJrpXYtYQWhEglHBEObwjVlaaTTKSLFQJFPUvSLCmAUnuccvCcyXEgiDbqwBIZbpoe", "c_map_varchar_6":"QGhUwkJjerCNBgzNzAWGHIiZSYkMhpitvdDeJETnSWtoVrazgaJIiKYuVEVCDvYXQcfTyyPvEJeGWeRnuNhLVRTyoqiUUkcICdbInKbVeqSZyqLDNjDdbbFaZExrTDDWSTYtypOYYXUzKDpGmsScPxmKuhRAuKYLdINyuJIaPghDcZHavsgHhxGdwKafbyRCZlWBCYxlHaGrJKssttlnWMtgkJlYgRBgUCgqNlplhMUhaOKGpszNUxmIYYMFCaEA", "c_map_varchar_7":"KGUnzQArHUeMaPtKhjqfDEbXOrNWDyiLAwJXUPfXRCUIlLyAyLaPfowOmBKSiipERjucehLdyOwaCbQfuZxRjeWLYzfOQjkANhYCyxHYopaNWXIYeAeWTwtraedbMwGBGEAeaEOrpgFfDWCzLUiLEsqxyviHNXzomoWqOayKcZGmIYbVDXZXwdoDtTTDVKBzXGgLpLMVliwiguyjeInQIrlwXrBPjDdQKXdcQlAwpLswrGIhNqjPrRwescYyZEtM", "c_map_varchar_8":"DuDUxIYVFdgeOxHqDoPciKZYFYwehrUHwTgiYuSaDiVurVhbdBFVmeIfRbVneHVsOjBasSbGbGrYVVREXnmfnPjkNMmqOqRIaRkUJdxiFLpDGBgYoancRMofZFGnDemCxVOmkUfDmdKbrNtMFLoryAOpsPlMiNwltKmesNLWjAfDbpgHeUbYAkzinHzvxBtDTOzONYAOHkdnILyZQrqbATlFirhikTRIiGjKpJxKWCSYYqJifpvuIXHldWARkRAb", "c_map_varchar_9":"JkJMFqgjPZEnqoUxhTNKIlKNpalpXjscLdQhOYuNAKkNkBIrmfczCnHvfmjgbOIqxyeSdVtlKQZssDpxtjAkJrRyGYAOFVrNISxdlSjeWvkEcWZdorbMrpLpxijfzHdacUnVwSKSHNLMBnzUhvnfgIftfAIxfmQYNMUtmLGoOVyseaRFHQdPNYyepgwwlbIhcWpDGphXjJFhGEBbMHEyVZQxAhqeTjnyEQCAfFYQsMhZAzMiilWFcUXouRWWnpTh", "c_map_varchar_10":"yBXAPTwxJmnCOrVpvuzHYxtLEspXiIGZrUkNgRJFPyLfnbEztOaNIhFxzNzsbrpbymFpGqjPajtDgwHWeuWmwkAPJcaMIHPQItNNSwFhdzWOXnQodBjVqahUVTwnwGALHtrAESuYbApvAghmtWShgxCYqOKiJvWXoTadAZyKzpbxtemrGsTyceiQUtCkiBUzuDthCreaSQqwMXAPnNfKDPDXytNgFymkrrjIblEPCOxjgvpjpFzKNhlzZuIqIhEh"},"c_largeint":-665139380532313418,"c_array_boolean":[0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0],"c_array_datetime":["2010-06-02 10:02:51", "2004-09-20 08:15:29", "2019-08-10 00:47:01", "2005-03-17 00:31:58", "2005-01-16 08:18:26", "2001-10-04 20:00:58", "2008-03-27 13:36:34", "2019-10-06 23:51:03", "2000-03-18 03:59:11", "2012-06-25 08:25:11", "2009-01-24 00:34:18", "2010-05-22 01:06:22", "2014-02-26 10:16:13", "2016-02-03 05:33:19", "2013-10-27 16:21:09", "2001-01-05 08:50:06", "2008-07-09 00:36:57", "2013-03-26 16:55:41", "2008-11-07 14:39:11", "2018-04-11 16:20:12", "2019-08-09 22:33:51", "2004-08-09 14:55:11", "2019-01-05 12:09:31", "2012-01-10 09:52:16", "2014-10-08 23:02:19"],"c_map_bigint":{"c_map_bigint_1":-2802465700736859600, "c_map_bigint_2":-8899235405305359456, "c_map_bigint_3":293004125442609075, "c_map_bigint_4":6634296086967775145, "c_map_bigint_5":-8325242443034642598, "c_map_bigint_6":2343678291385445113, "c_map_bigint_7":4857646863209305679, "c_map_bigint_8":1833475789320990537, "c_map_bigint_9":-1994094132634097676, "c_map_bigint_10":-3294512484254609065},"c_map_date":{"c_map_date_1":"2001-01-22", "c_map_date_2":"2002-10-23", "c_map_date_3":"2007-10-05", "c_map_date_4":"2010-12-10", "c_map_date_5":"2019-02-15", "c_map_date_6":"2011-05-28", "c_map_date_7":"2000-11-26", "c_map_date_8":"2013-12-16", "c_map_date_9":"2017-07-24", "c_map_date_10":"2002-09-24"},"c_boolean":1,"c_smallint":-22629,"c_int":210386885,"c_ipv4":"91.169.7.18","c_array_smallint":[-2083, 21454, -7330, 32161, -6307, 10384, 24198, -813, -10307, -27800, -24335, 8640, 6531, 13083, 27196, 11771, -30482, 192, -22148, -29106, 2915, 14971, 31238, 14561, -9806],"c_array_float":[65.624886, 12.522894, 62.40488, 36.094444, 95.12947, 21.197636, 6.5434475, 45.387516, 89.21257, 97.54723, 73.031784, 29.194826, 32.272705, 59.798145, 57.905457, 25.684328, 80.12046, 4.1456804, 77.068756, 74.1989, 14.985295, 91.91896, 22.770992, 100.5426, 45.521374],"c_array_string":["iTPdfxFCcKFLmsJFHPYQTlRdyJFkbGlfEtngajgrbWRzWvPpCxtJgwpzdWbFsYVOFyxveOvPJGUOFTlEEZISSXOxhSEQjDhZJFTAvMolFsgqjDfgmASeALKrhVlTHkCgDGHClrLQEqnavyyBWIORODJWycoayBNuzsWQdPokGwRlyJxBguVauZejmFAlxvjyHoSonVGlAmePJHUnzItLwYthXoWeHfMylgmShLfdciXTpzNspKPXWhvUaPBSyXPxJtjSFvCDYZVaaYvOlkvKgoAKhyxvyknVtngOGBgYZJJyYlytQcuopnRQcYrgQzKZhVvnUjLnEKamuZrfUuDaoTjFXMsVmVzsZlHCwFWeicFdvtfgZiLcYZDQJVyIushAWqtfbmHIjHNPExgOruuCKzHeBbmiNgWHvLairgLBGCZbhDWnUbGdwlWBympvNQsTdCRyfFlfdsaVjGvUcdzOTGjLUmHFwnLvxlWikvRVOeMPDNdqKdulierRIFEMzzHe", "qCeaJexVFkoULpkvJYuMyfZutzAjfmeXzavSTrCJmOtZBitcAsaCOtmsNuEmCwTdFLpOwkmlteVxDvdexwXdWPkwBHqHmUUyUHhImTpHtTqsOApxqSHIJOckaqvUmxgRFAZELOgoYaKadkBouDLBxLXDsBNnoseFOFdvqCMinRmYShdoUFYxigHRnsGHwOgCTBrWHtsrPuRXdtaHGLCIkhXWUVhinQuAFHGnbrLoElLlAxpBBYqdqQqPnEAoBIogCHoECXhhZduViMaFnsznbdNncrlsGhWsfSgqYmLsDNRiTFQszoPtIEQIasaFqHZmIueLNwTcRcGIUGxWCLkqatiHcNclBsZcfdPlVFrKPwgbhwCnaAvgHzTlaDOetzMJNKSeiplCHgdkCRZRTfWTEGgzTrqAygaAnIrxpyxTSNFPCRQkzsnJGmxmquBudLNgaaNslfRZVZWYLizsUlVdsdQMdWEkFtXxmVynsbkOSWhyElJjEEyQiBVVRDhnduBm", "uqwAqlDhiqsfBcoqgAiNcNUZWFAQIOmvQpsNFUGJBbxSZfaCXgdoRDRIYctcLeznBZbVrmomBYKWjLlSPUwHHzwXhZhXtUIANqcdlisTyXqeOJzLhfBeKcisjuWHXGGOMvKhpNPoUWMZPCxgwXCEUxLvtCCDXepzUZWvvMiLQTnvZnYCmofqeqgLIfHzqBrzKbaavjbMHprczaZsUEZCWVeodHnOUgsByfWNfSTQZwCyedTMFzFTbxPRePBVtXTFOGslGgARrCsubuIhNkkrLunNMNqSflCWAgWVwczLRKYLMskDOeNiHyDFlZQfwTgBpBAcekXtjxtNuKYbsePiluUkHBuyNcDYxaKtNNjunxdFYBDbbHSnAXVPCaLwXshxfJfblIRrCkHtPYesefaruabWqRduoTlsRVFjvmBBBzSckTPmeWVBoZUSYlPFBVrgnAVwXokusZqhpktYmcahySKeMNGUUWUgydtAiHKzLzScSADFxsTkoFSiScDaPTuk", "SWDmZrFMSwBBLMhsTrAhIgysqTBRurQOJMWNLIUmJiobCjXoQsdtiLCBJAfvdtaIjByGQPExCVgDBVzDpevWeZAtbIkMMAKPPagSHBwGJWpHlqqMbzjcstEeWKCthaOBTxPuAValHwRDxQPKPLUSpHCLKjbguXyFMoqwqSVyGypKILShuOAIoHDAWmFEgdKZAgdhsTEUaNEBkITVJrqsdFQACosRutwdASAgAhRRLhGfqcNlhFvflkwHkvumgAvIPQkpCpSJATTrJeTwAelgXvtJFLARBIuwZmLPuzKYwsTLgMGkswoRcuuIgkZPjBuKuWObIyrwRmdYYTWOSwufNqUVZRkJeCUatbTFYkisYdOVjnZwssJUBGlwRtkpVivFSvZExXpvPXCBUaIElpicqYrFQvImhEIHggyXeBroYfVPtkXBgIMtHCQgogsEHaXwuKfAUTXKkcfecjvjvFMMIXeHUsmpDjHMpPQoECVdtLvlowgAfhBCVaoOMIObdIzk", "ilYqLzExwgFvfPrnBITbOJcpxyWPOGVbBvsQJSYDTuGidNetWctQfMMhtwyRcGCxIiFOBZobUpLqyxpkXaqRxtVTBzFrNglNPdnPZhryHudIWntQjWnYSeGAVgzEmSoOYHSqHKqXUfiIyyMGlNSoLulngwslgZRrYeZGMYWaqOmzLKwDHoyatewdOynCKbMzpsHRdufiBiBrnpAWXZmGxAAdBINQRgNbkcMFgPGcQGKLjlIhhGxPYrkycBWmuYhWAvEIQnYWJHLqXpljkYhevzxeFttyiBTOAMBiHBQKYjPWzIHOBneMaaVxiRoUnaPjjYSmrTKeYoBWIUJIpBoQEhwCLtpfhJyeTGTeGAgMxDkNNSWxMJVPDuqmqrOPTfNAXKAJfLNNXpEOEeZaLMgOTRcqrJLFjyZHHCvWBKsrvrvGrfvpKANwKiShVFCZAPgRAqtBfGHyzjpwTgbKCkzrHXJfFdMFBsxUOxYCuYoxbSFWbljtsYrXSHYDjrCHGOYJ", "sNYbSUkeBsfIqgoLWEiLMrzznseygQTzEkgxpyyfuxyksrTWLznnvENeqDevMiIOJvlRBxbudwOrQKnjdThuXobZQLwsMQljRJVjWJfEpRWExwUTjSToeYpHzGMGfdBxzIchlNAzlEPXTUsHLulKtWilpptMlJePLtKaYNpRdqupJTQSFOiZDzWkruJHPUeTVFjPCxbKcgkQHwBybMvviCmXPROeoHNVOTZDFiSTWcJHfHRCFyPePNsSBacurOBNpRONQCDEHAjPTvykyBARbomdxbYwcFIXqqikLAtgRVaLgYyLXaFtqcnbBiMqLiLaQMhvFkrhKCjaKSxKlfdqOiIdnJbOxnSEUmHvFdmgzQpNEiMHLWjpXlJXSAtMpCnPrSYDodbyQJsFxfuxWsavBsAzAHLXhLnjHfNERlbrWqbhFpIUmSIANDhnAPpxybhRcwicBENiSVeGZuAoLSsYHUlOEvwMBqRUQIcVitNikWSwJfAacTvDuCzcetmZOIkf", "pFPwaTlZNsunOHsutAwtkmByaGCeUTJxMnSgMtXLVUKVsAuiztQAXjmJOwncExDnUhmjodpwCPIPStwqtrAgaDVdmxxGOhWeGwYYFlKLJdJmAFrnibAkWmSHchqqtwBZBoRtlgUlNaSRFbgDduYybBOHdRWIZlLvaFBLCDowSKugwXoyCrlxcxluwMkcpCbzolottbJBzcihdaPNSnnMVkSdrYoFJBgUOUlaqBXlwJIVWZYRBTgmadvsLVNmzpYaQJSXYULMoacTMEzSSfQqUZfyMQxxixoCbwoEVyLQmkheybaXulxubvOEvRfmrxigLMgqEIsNIlKNTXUiUbQoOPUkdLbsDFCeVHmojRissfjEznjdsDzUqWxFfsNfwPesrczyxkhzkUSdtCVEYmhqzGMstRfberKJrjmWEqnsVbQlocLmufQTUdqBCZHXjLyauXDTzcThcyYcNRKisUlJyKSslfZHSsgWLCoQtNDXleixGGWnUGFAdXQgwEINJuPZ", "LcRPRBnRQRsErOsggGuVTWuOOVNlzbwGMRNqqjgXruFPdqVKtGHLVFHUaFWNNbwMYffdeOXKucCYFGyYDcLYoHmXFqhaLtvIfLaChUSyLkKrbmjvYYuqgGaNXRlYmxRJusBruIwOLEbLdQNAewuWhTwoqFfjHWLdRjirrJtJWrFvzLouoNKjsEmIFfPdmhrWauBOZLrAnObBFFexQiyIYDZjHkvXNAykMsIOLgZCimCHFwNitGaiuuYcDyzSxarJryNLgKqqIkuEgzrMbRTBSJkcvJiptUulhjrVVceKHuGxTPSRNudagAnnVbcAQddZpbBQoctDMvJadRcuzKLDThtmITZgIoUHGXWaqaZOvjvSdJruKrcxrZUpxDoCoXAsPQJzsgBSgwzeagMviDnpUEvfZpkSPRZdSeiReHwOUuZcdcaYuYihXlSvtOFhFDWSwjquiycerOMVuNKnTiUCckBqykPyUjSgxgfPJIBwqowiuwpsSnKqgoOvWzJAMFrj", "SUJyDgVipFXPkTUmFlhjeRUgxftYLGglYeUjNCraapOtCnPvhNXJZfYhqOstjiDxhUesbwOMcUggGniAGseYgyHocDojVkIbrAORaSMTRpIjZfFMfVemMMlkYWmQnSXVAMTSWYeYzVQVLAZKMMlROkkzinptoaYtSfptMAQzftSiTlzYOEbQuBkQLfYcyiHCaoMvMUHFzftioULFYOPcbDUIZCNakngEiDIaBaBLjQSnvtLsJaHsNfFhmDxdfnBCBDhuZvoUBFLCvKjFvkQaeDJNXgiERYTpgSbhCnqJnlXWRjGSEIHEMoLBPeeSEVkgRKNpsjoUvBljiyxdJWaUmAppZHNTKwEeRQKxCYljoEYtXdpqgBpsQrekMIqUmcaInBuuuMaUHqHVXMktJzcdsbTOeyLRRPhcSdYJsplTautobFfqvKBNdQvnHpdjdZVBawWUvkjOvniJUzespziLRJbMQjdexlYnOATKQCbZeobpsuqOXUnQLshSMCSTEFVs", "JbEWtrlXreCUobiQNHBeXrzhBuTedlyrPnjuqDWqrmwWkxFWDqNJtTnwRBxHSIbPkstXYrcpppMjVuFqUPMrDPHcEQoMVScFMLCAAZKhQrhyUzzgOBuxtuZVRQfAZAzHCqWukjBYlGeHVzXlsHPjAYObNZfwfhnTlPxnBKAaYFAltzBPYfpouMfNzZGmTekEHPHnbCBiMUBclWZOJcfJfgaHewjkLUAkHBqyaBkwIXNpyJCUMJzlHsETWDBlWEjJnNzuaTefCNqpvclFiuuQZRRiuKlLOVqeIQRWgDRJjuCKRoFSWjSAwmGUOllFlnytBEWRwtoTtpewITBhCNsFgvTwiQwTrUxXWcQOfxTfBXQUHVaUloENuTxWKARaSBCgAEqZrlDCOhOwaZmHhUOdBExJliFzTESmDBaufVswnDrZvEEmbphUGuqGrExjSelGFNaWAZrpRFcBniVIVkYbxGPYkKCJtHKENDJtzQPEjQnYgCbXdBrKiWIWtSNNKEuR", "bWcpVOQnpMypKcboWykzrIQWeiISGwkBLYgoyuhoKAowsXhRkWIUMxEIhPPMKIpkulKuoomDtnGJEABatDXHwvKTZJvSgvmNgxjUWGmYrPcFUPTnKIewKTaEvfhrxxHLRrhxxRgQBxVJCNwTYJYszmNppeQjrTSDWLCNsikFYXdwgaavENAPNWWmpwhHRIIEkYqxNbMFATXZceplCAEykabTkmNGDqDiXmDuezZpwfOAOfyKGmRntTZAsdfQbGiSlvuQOJVidtyxjEvAhoglBRiRbkQevckPIGoGvRdeEOcmayUqESLRHxwcwdtPZhDZSQmILCUcYBhhrKeGYgJCCbTNBzHqIzKrSLrrLTDgCuMKKJCwtMUFlNhkgEyrfqHmnGGSztzwmwocJuWNGtDuBziirtAKNvAXinKVyPCIoEtqdwHrOTeOBUTjSGsdJZzOkTnyOXywYnsUMWAbxOncqBTYAZfOCcNnUpwyirYcloUmLbRqZlsTfsEBQGrtxmkM", "RoAwLgYSBLJaDhRhYEaJfdVUMUysHikbcFeZBijxEEQMDVjZazgFBczBpSqxTjCOaIcmbSGTFOImqucIrFIKGzjgheempuNLMzRLCdlcwbDzBkzCbshoTXzLIRJpCFcLwHRaitJogxOSOguMYevAmiLEExYgGFaxLbpgauwUNKVUMEDGhTkwGQwTCoRLUFBViMIRJYnuXVDbuhkiilkOTWdMKYvIjXUlyuYOAoasWjzxkthTboARTKsmFfdObeuLlftChkswZvufaFkZGzxSQZQjGliLavpHPKRyBpLbvHVLyxeZaaAgQXHseZzHArapjXCIXRWJobLoCZlTBkDTtcRepHbmImQHXgpimIGahogcDlbZKqzHptlWMmVkIZHVcEaPfulwUxJQcUajYPuJJatKKxixdhEaVrndRxRcQjufGlpdXBcyJuisYLcEPJfxTuNDMKaNMETVfGDhChTJROFtuyiAZPfWHOAaoYYbsJnNursQZWWyfbikDgpjCLBJ", "GByLqpRqJeAjZLfbPkVRQfcQQXsuDieQcMXoOtUGQjpVPsztiHcszobRNCgbdUyhxXQaKpgypDqzaqTTaEoGoXeNiKEjccCqkLdfXZOLchhmuZjyzHfZWZTCSGhsmGdPDFuYUwVFnaovlIfSZuAjBCQbWkxldwzznDrDAoNEWwtCjEtEiBKGVPePRsZmyVbkMUnPjNgoSGRAWpBBIPwcZaDAtZRmdMyvkduQDindCXZBarvoluHXxpUHaCVGrecQGGZEFMnaxHYfywqGHuNptrNpPiPtsmtseAiTfhTErHUXDjyFDYIOLijOClpVXQpuTgmmQdYiviDFgABiuuSmgeVhCVqmAFBWlUARuevOMRAwGgiwIBfjSozwTBMUsBoddRByIycQNXJBqIgZElFoLZmLsUgSvSggUlPaSvVzQpBUlqceYorcZVxdMllpBASppmNbmtMdYZIssOFflGTsqWWdOOqqAWubkxYmFxBezWiNRRInEJMyUZLqfzhMJFQF", "ItFnWlOXoANLpKUzCxjVnuTRLSjeWSCOpXkxtGzgDJKCruhWEuEtZpErDcXAAcNTkOGYmcpMRKruGKJOQvoDaWVUMpWzFbKBoycIzqUlfqqXODwJuSJUbtIgARSZLEAvWQEbCpTTFSErrUQzqALIaSKxaXzXWCcQdQYpKQTBbRTdOBArVdbQnuXKpVjuenyTfbgVzCSwnlXBYflXUvTDTwIrOqURhFFDsswvUEAvEJMJvpZaIyQIFKeGBlbJDWVfhzbmzohtskRNbNtszqWAlzwPnCUBmoCMtTawlQQPmBwiXDOGvgZlsGWCPDIuPtjsMrtJnVIXeLBDqyOaOPgqUEIDVoMAmPLqWlbHQAfsROvxoDUBctrzpzzyyfwMwFQFELmlvBjvRwfCCmTPAFboOJiLMJIWtIKjnrlxYbGhNkrUTjCTeWCcEyeUuUdJGSRXeaqyiKaDDeKAdjXAtjJaSsPYSyQfNNKQqtdBsSFoMCAfcNoCoEqfYcyqqmctHOEY", "bnApmckJhPZxICfqTxhxvJAGYnbhPlUbjfwIdfcolWaGvSXFXVKVWGqYJUrsbXutNLYkYxqfVaSfpWDdvpAQAWboMznXtVWUbGrdPZbEnwrNTYsumbyjyxzQdPixYUrnOZsPRdrbMYcwYkKOvKssyowYDQNHQdKpyMsGbsPUeBdgZvfTXcEzgiisHJYPrmxbSDnwwNMpBSAyvnCFGDLLWnXyNetPUvBPcgNHXgRKlViSkCDXUWiJTfakOWBpMoMvQQvLlUMpEAHjRJrupvOZXAULiWzBZDIbYCvIGvqxiBTHiEvuQRkRSJTLnqnoEmwDrKyqZoTSClXUCxjxKPdgMpjiHtZuBskbGDxJZLXUQXmJvuuCgiHeFPznXkxvUBBhGyzfPVbENXcVidkUQTZLquTAZjUvPskyuYZCMUjkMnOmeIldbzImVMfhJAEZcMErpdkzanwFEGYkuYFSzGEVQrZAMQrcqeBzpMItHEwlgyJPtsWgRhJHouWVRRGGJNSt", "tMPeCLXXcMVwVvqXtosSldvmNRdBIFuXXSQujXWgVHKioSeDZfqSebYaSomsPgBwaqtYWFiJWqYCLUbFKnoHCwnHkFDdhMYKrMMPfPhEWgmipWaTSeFNSkvGlPDxGbbeDfFyGNgdxArjwUtorJjBQlhWRyAbdkLPLaATWyxAKfsBpfgXDGkkcKEpeqabivunrVXGKHYowybDrCJLyIQNdNuSFAhyqOaRLSfYhoJXmGoMSVVzSwbdTdIrZfBytDqmcfanATODBBPUykGiexOTmdMthpnANuIRNzBBVRjargZnhyeFFuViCqUiiOOaRgJzSSLQmowuvqPQpXXzNDLbuJIFiKGQUVModxbBgnOscBaQJuRkELGiQqrilYiOzcJfqfLsPoETJWCujfZdRuMYfMVxNmoaavLJlhTLHTVCKedCqCxrspqyoWqwDaMxPPRFaQrtcJKbghRpxLPtjIZYaLcvNYcabmvKgHHBAOEHMmFIzjSZBXxQmeWqloUNeHqJ", "dJULHFpIXYvCUvUzHFCOhbgIMIMVpKCPBDxIMfPUHQYLbDioWEWCZJzhBjhmkFPhNThJboOyKnEoMZiWHNKUkwHaTXnCQFRzXWaVBUlLkCMFNcBQZKUNYsSvMfdEcJnohBDrNfQbKBlCessJSYvvuzWrPVcsljVYiWWbegwgrxDnLpRgfAxyuAvyFqgFgzNcISOzKErfQIkzrIcAYbNOluFjlnjKnvYjZlffnxyePyJnyFuiEerPKilsGpyfxnXsFfTJVlrAVYPQQQkQJAFiMWqMDyHimLBjqpYZqsgvYAFqPjZqmYnqfKpzxWLkNMUsVcffMjdVLBTFYTrShmEZpmvKdWFiMrAuIzqIJyLBdiEKfzgLrOOjokCRmNfmjgAYBKYBosFjvDvzcnWgWwzCqhMtkjOWLFhcujCGnYuiYpruTPsAxkFUivDABTgZwovPLHgcQQlRvgGtbWyALFGwTkKnJrmtBXRLiDgCSXzpBzJDymnVjdRBqiGXXTzfEZdH", "owIWMVmZWyWvIhJQdEwVnkibzOekAUYopuovSYHEujqDWQCMMgFeTHgSXqWhfjZhqwnIbpCmsqsomtWKlQaffWBPJlPgHnGUtLmeXKfzliPBzFQrhCNnfgXmVMFzrHVTiQlyysXkStRxZgWYdtsLjXHIqxsbWGKBRsDtdBSaCqrlmKeniOQHPUqDcMrSGHHbPBYgeqzxznWDbgyQSXDnkakLFxldHeAcRgjViDTEENUIeBAEFxGWoWNlDdvMMDoASxXUnyhtFolmkKKePlmDXLwFYtUJonrGlEaHwqMqbqGQkAFpLVMhZABQjgjSTKLcpkiqiVUhGVvaEhrZKXFHtwcBDAaeSodcTyawuWhqWqsBhWUFpoyRxIZsovrjtnpRJikPzYTKrlOzmudjVZmnXUibitrJIFEuoyYRvaFanQXOvabMNEHnXuLwoRFLpwRDVzgyWyrgXihqiIprVzmfvWKdBYQBjofRFxdyYOHNUfTzBYYYjsxvMFftGuIjzTNY", "dPbdthoVoPWMhVLLTAgaFWkTUVzMsDGaWkQPCwbskgpEYeWllMXmpolYCTwvlqRJjverfqFlpLrYvLPjqEoUMSrFLrpoTlIoWDtuigjYyAPAlycpeWArSowlZvwTKBLPFQHyoWrMbUPSgVBUzHkmSwyQUrhEmlKkYiVacDAJpHrDQIpYlgAkYmPCOBFRQpMYQgUkrBnQJUUwbskZDUOhpPGbcRSWEVoWtziSGyMaPHAMrZfRpUSUknpgyMmlItUnIdOxufoYIABVqoOPiTFYipRKGaKrAKZHRWmiIjgBjWtzBFuKFwpQOJTAykhEaiaEZCzAsODeNJcJLxCgzVgNsbXUZbRuxQuPOIocEnSFYdARjtgdeQpEYCySQpGKhbvwwVNjVlSuHiNeKfEiecByEFNIPgVBbEmChjsmTioMTXivwYiDgOEzVCrVBXEMMxNQnxliKxbEmTFVAsxXchOiGgEcYUOPUvKgeUscBXUcHbqrxKdnBFRsucFLLNGWBlzI", "bsajtvPGPAeupDhxDLJAZUIEWLsDHZzAeAVbAszKPcgLeOcLVfUWZTCYrfTviXBHUgxBvdQlVpcQHtwMfvbffHAUzFTCOzOshexudGPFBZrtcfNVngJotIxSFtWOFeFxYhojJVkToUJSAyBcEYWavFdVxQqMGrDvINztNPcGfefohMHAXONHiOvqUlLctYyXpKsaxDumspHTEqiERaKQJVWWhBVVZjsdTdWnVnLJGRguigXGHJgEDIxuBBLNzqvKceXgONiBtxgfXNOTyvQHPsAYkUFIIVayOFuAMFJyWHkMjkMSIjRRxuvPlYMlDEOotGAlzAnFKbkoQFUrXVHtZEcriSrshgqXenwsCrqYxiABMzvaKGcntfZcPOniJZMXZEsSKCjnEjxZvjpeenVTyFeynkcYaGqANUVELWDSjZPQSSqrHaePeRgduqfHUgsoFiwOTMiKwJgifoArEqpHjNEWTVfccZtPueXbBiNBxzEYbcXVahVNdMSddQTRAASd", "MTvAOnVKWzIMZkeQoceRksyItmwaXedMkAbFTwFbJtCNnLMMoJtcRETveAvjEYwxsvlBuHCkeYPVmkwfSZvEkKdIxWWqLMGDpxrSJorDTibXBUiNgJWAtlEgZZIoeArfquyUEHRlKlKPTYVfxRMyAcDSxzQXjNxAMnlENVpfqafVEcdWGeIPUESWEnFyFJEnJnHgHfnJtDNGSpTJBwPhITktjcvCxYOaHabCfWoLBHUFacnOyRdlDyFLqioVwoeZaeLSupocrWvTIrlWqhmrMJMREJAOwaYHTgQCZZQrSBOlUUSzqFAyAuLEkGxgNhkzabFFJJFkssehZmBIAPnLtbTchyhulBjrAfeHcQeasRhencZqglxcOkquZOZGcWjTrYALMSfjdklkxysbRvvZEJksKWJvnOoqVaKhjiJXMZuVKymKDoGhAzihXdpCOAkUOXsKXzKaysPzJoeAJusDTBkFomtmtpYZcjpGAFWAyFaJZdBONcBNELgXhsYjmpdO", "mUtapLVzHsTaqvrnYJHNxUDbwbpURxANddITbSpAiQdRziGtwfdqrFdcOSNmgXWsEQaVUZJiQxYmiVPbiudFZtFCSseSBBFwbccDeSUFyUwSySfuBCCWWaahzYFXaqeIwywTvqDLVUjDKXMcNMNIgzVaMpWmrGfROcyUSuFarfYuLphXEfExUMuRbRhtjpwwyVLDvhwlPxVGAuFkBokzVvoiRONJraNPVaryqDdpeQHYplELyWElUOEySudWqmfoEknBRFvdCZpcxNZathYnHxmehGTjJOEEEspUVLGgUrVdtfKOjBqSbxPOHVyZczWtXkhJtEvtwuEHziWXduesOWiXMSxxTjnPpeMMGwIhJIPuIOTfVKpXKidVjbYWMteEILkRbdsWHybWRRbhLpqBbGZvEwgXWFxJWiIvYSENmqTYQRdASSicdakuGiFcXmJpUyCLBAEfgdlKPuiPWzTdjFXDUgGEcgQowWfWoCzgsECWmrqqgLgspLDhCHGvjcym", "RdzzFJhdhKCFxnnONqQQFPYdMXzGZvZZgzKweCSwYtsciNkbDRRRjUQMcbyEcAkeOMwxjcPtqIPPUBVfmkmUqZYjALrwoxgRnFkWDyWQerTpkZgwavyloTkrBdvJMQKwgxqwjFRKTuIqAtsIkehNmXBkcnxIreMOKzBBQKyyzdKcFNjEQYFGPgvtKHOmDpgYwlpCitpgIHryOQQLexjkBgfCSvFETcLsxECMmnSxlQdogIDClPrdSxmJoadHECfujuykcogwMLHtbSXLxSnTBXjhhaRZtTUfEQInroSaPYQsbfrGRSYrdZPQAcFYsXEwUjrYmiRRKgBkKEYIiAaILnmWvcQcmYmqqmSUrmYBsULJJLhXkcvpsszWHRvzrpVwOJEnQKMgevionlBcTuegULAkxjwaDchIRvHBBHqmPArrKXokSvOnubiTlXmcPpwWBqmqAFRoNxebYeLAPsiBemNfTwsYhGGaFjNvKvGJIFbLUtXOGSXznHiNyOBbraiK", "IEKmylCWUHexElJqwrOPiMTbOBylAjYtFXyfeCHqrUpxYRrKIuZJAtvKfmMBttYwhCTihxRoDIIwcVPCVqTJFiZUaoLloRAMJoBVeSbTIbVztJxgULMSlvEgEYQKbLSoKkbEihbjUKtZKAxIqwARtIOIeiExfIzIDZOvlKvaPhbHTkgVCtCtuPyNIasdaZclOPbzEAAMUcvBuTWOcOjtNGlMJSVNAUsYycdWwhnrGJSlhLgYLiPcJLDKqodZTIDHbehacRaQpngkVSIgObNDsxFcUFXBAijpjtCtcsDhQzjXSFBHOFfeqodwSQaNjpKcbvPZUfwcYHTTZyLRkWFWHmzgBkNQwWXnCMDaQJpEUQKnFGgczMaAQWlygOIMAeFSvrELaRPfRHGtQJsUGicZEpejuZBPzJECvkdoaqAfYaziuPOIeVsGBnMoTrHCErYKtsZYSZKRKdwegJQrHSefBKynBrybhPjgumVgEAIqSKJzIfKfNgsFuupxfmZNIGGV", "YDAhELmkvyDSnmyqAsHLMxmckrzpKXHZVCXErbFcNqDfkJwJZgqzzGtyhDHuXWhkPiBdmqwiMqEcJGGODCJCjfkzrsJGJnehclaZanaXlBYbDqtzRWsLqdtZnEapcTCPWvVEDhEGcdLDDOeWawevMOgzwbAkOKWKOgRmHeOEEapppPEvKfNGHBYcKJidmjrWUdNUYmuFdXvlsSQEAnBIqgStOQBJxIVLzhuoQrYvJCeFSlvxKgvGyHeLOOGQKuMcrUqSsyEcrLzqJvmTbdpRRbDHeAXctYICAfLwgKEySvWjOzdPnrWNTPCTheyLfbeMFLKOXhHFFSRllqmHgMDoZfPWaIVXeWukjdzTUJqwdhBLLYfmPziUnDboJiNGKmiPirGYvMgIcOpLLmyibNFNDvgJXdHbFTnLJzFQVuKTqHzPZzoRfIDHwPudsGCSDkpmuxMgHQjSYiFScyNUVeWONnoiGnDBOOIhcMGpKryEXMVPWGkuJLkdAoyPJFWfznrG"],"c_map_float":{"c_map_float_1":38.27008, "c_map_float_2":92.29754, "c_map_float_3":26.32481, "c_map_float_4":2.3183599, "c_map_float_5":33.01072, "c_map_float_6":64.367226, "c_map_float_7":79.360435, "c_map_float_8":88.690254, "c_map_float_9":21.433334, "c_map_float_10":69.120056},"c_char":"ikBgXoDQBF","c_string":"EmSDeGVBnooxjzjlOeuyvswAGRjJUfkpCEFwwhxgBOQGSVbuQFnLsWiIgVDOlvPimzprcechkGBjrQLwyqqNZoPGCQzqasaLJzRqTtHpmSVRYBLyFkModCIanlzWWhBmXwJuJatUQSktneKAQHzqhtYbBajWxaWEdVQXSWAytZqETBSYANMFbxvXYGDeBfsqxBVQIEuHTJBCOCyhiINVlBlUfIkDdMvylVdOZYYNgyQnLMtFuvlVjVhSQdSubjquSBKqOGnuIdJhomqcVqqbbqzkQyjChaeSRiMwmLaUApMJwkctxFJTEIIbzpKaneZlmhHhQhRJsYRkUtAwAuHtzdLzNtinXCbMMqHAeFhLdhqdXoxnEqlhYxMcMfnWMwEpUDmVHgLDaFckQsiKeZIwhbLDcqNWQfxjQVeVQrhrPAbLphSOTxzUPQunriewnvSmoOylcyxWMwPvkIDyvZDbOYtyNkdqwSOkMWhFCEFqyrZcEKIrCLivKbBayXqpFhcS","c_array_tinyint":[55, 33, -12, 6, 18, -97, -106, -126, 85, -36, 57, -119, -49, -96, -23, 69, -17, 57, -47, -67, 40, -71, 47, -33, 7],"c_array_char":["yoHgCcjvjV", "mahJskKpVW", "eHrAZyrOFU", "YCOPLLrpfJ", "qrDPsGquJe", "UcmohMzrHX", "WamjnrWBte", "CeCFLxUzFb", "glZPLqSefb", "ANmmyLkJtA", "tgeQJqDndq", "knbIHLuAts", "yEvHVziwQg", "jXjtAtJpfH", "yNUlEtAXkS", "cxHFnjMgOD", "YkhtKiaEqr", "ZZKPeGqiDa", "gZOvOLbrcD", "OXvqImYLiJ", "TJcaMeEpyZ", "odMihsuMnK", "BXZizDnwxe", "FiCldrdIUz", "pvoZeknMds"],"c_map_tinyint":{"c_map_tinyint_1":-7, "c_map_tinyint_2":-22, "c_map_tinyint_3":120, "c_map_tinyint_4":4, "c_map_tinyint_5":-43, "c_map_tinyint_6":39, "c_map_tinyint_7":-62, "c_map_tinyint_8":-27, "c_map_tinyint_9":2, "c_map_tinyint_10":92},"c_map_smallint":{"c_map_smallint_1":31479, "c_map_smallint_2":234, "c_map_smallint_3":32725, "c_map_smallint_4":-14222, "c_map_smallint_5":-15127, "c_map_smallint_6":29549, "c_map_smallint_7":-22838, "c_map_smallint_8":-14813, "c_map_smallint_9":22257, "c_map_smallint_10":-9847},"c_map_largeint":{"c_map_largeint_1":-5179446860749251102, "c_map_largeint_2":-5211146612759229363, "c_map_largeint_3":5942426695658870368, "c_map_largeint_4":-835017736165321430, "c_map_largeint_5":-989206371279692671, "c_map_largeint_6":4029739296490606484, "c_map_largeint_7":4607573226200167215, "c_map_largeint_8":-4454859619546293296, "c_map_largeint_9":-4926634391380427318, "c_map_largeint_10":-2850525767224279750},"c_map_double":{"c_map_double_1":66.88800818669678, "c_map_double_2":15.135228116804774, "c_map_double_3":9.219938838718065, "c_map_double_4":17.119580796112775, "c_map_double_5":56.634383120990684, "c_map_double_6":1.312599395616793, "c_map_double_7":5.865784620428492, "c_map_double_8":4.968857417494761, "c_map_double_9":30.807025742204672, "c_map_double_10":96.39744498240037},"c_map_ipv4":{"c_map_ipv4_1":"213.114.12.82", "c_map_ipv4_2":"220.90.189.253", "c_map_ipv4_3":"235.45.246.243", "c_map_ipv4_4":"92.174.205.121", "c_map_ipv4_5":"145.207.172.221", "c_map_ipv4_6":"107.100.170.86", "c_map_ipv4_7":"95.153.29.25", "c_map_ipv4_8":"194.40.81.251", "c_map_ipv4_9":"249.89.0.170", "c_map_ipv4_10":"42.34.235.209"},"c_json":{"stateabr":"NJ","achaccount":"509686887712","nicecolors":"LightCoral","minecraftore":"iron","interjection":"yikes","hobby":"Digital arts","filemimetype":"video/gl","productcategory":"musical accessories","snack":"Hot salty nuts","lunch":"Italian deli wraps","connectiveexamplify":"through"} }','{ "c_array_int":[-987735996, 597268571, -1298739039, -1687980250, 1674711998, 2119221790, 979510361, -2011841748, -1837854203, 349012510, 1959107340, 744974790, 277221906, 526735091, 1903432021, -443099356, 592335420, -1934101188, -440030247, -712157155, 1307735005, 1992695741, 1762737489, -690812377, 325899786],"c_array_float":[37.203102, 54.97831, 58.990356, 97.5082, 36.914146, 57.08778, 66.448586, 83.683945, 80.89528, 13.769046, 38.331078, 38.73835, 35.07183, 89.940544, 87.18679, 35.44596, 75.567986, 33.442352, 9.227125, 22.051964, 20.022835, 85.66485, 5.5223103, 43.029736, 88.98529],"c_array_double":[0.5308652797399505, 92.80018713634425, 48.756451665458364, 7.87308052573445, 22.21565892783361, 40.360838853247486, 80.38321776192082, 97.96915755370713, 43.09773503782768, 30.60692399192378, 52.63888020463913, 11.57339476040657, 16.996360995936133, 36.835713891516946, 41.24545385548152, 84.83133968701276, 89.38177894819263, 76.7987685156689, 97.18375133906072, 5.809460830634771, 100.75010037933727, 32.585076073357094, 34.61188387165074, 27.79127563971714, 40.035444922504645],"c_array_datetime":["2010-10-02 07:00:51", "2012-12-05 12:15:18", "2006-11-21 08:38:23", "2004-01-20 14:31:27", "2013-05-21 14:05:30", "2007-12-10 22:36:46", "2008-10-27 00:57:39", "2011-09-21 17:06:38", "2015-10-28 05:20:02", "2008-11-22 13:20:54", "2018-10-28 21:58:02", "2011-08-27 11:15:40", "2000-06-16 13:39:27", "2000-12-25 05:12:47", "2007-06-13 14:50:20", "2012-09-08 20:03:06", "2003-05-12 00:17:12", "2000-01-22 10:05:19", "2003-08-11 02:38:47", "2019-10-11 05:46:51", "2006-02-22 15:00:43", "2008-08-20 16:02:22", "2019-09-07 08:49:30", "2001-05-15 21:29:31", "2006-04-07 11:56:27"],"c_map_double":{"c_map_double_1":83.64462899787712, "c_map_double_2":94.95869900441087, "c_map_double_3":4.994895336243511, "c_map_double_4":48.73815346505661, "c_map_double_5":64.04712841695446, "c_map_double_6":32.73667182919435, "c_map_double_7":41.41102216387213, "c_map_double_8":0.9878750411616005, "c_map_double_9":87.88571176040983, "c_map_double_10":77.4647950429248},"c_boolean":0,"c_double":9.366731831961044,"c_map_varchar":{"c_map_varchar_1":"sbGYEAQGFfRcPNIyNKuGtutuCoIeCOnDWOeTjroiCOxgvORBMraZVAwcREwEYQEqUOeAQqMulIBSKjngfiMQdBvjFlqjivECySwsZMmsCXimtGFwGMWYhaVnZNjLmZabmMnICVNTNhHgIfmdlYhBPErgQBfqLoyTHAbggtbmnvFnuHWEGrSvQCMALwojUhIpukJwFirJvvjZyFzgfwyQWgIHtHqzpkmXCGKGuMJokvYFkDkwedcHswIlnIEkJVLo", "c_map_varchar_2":"RJhTQAneEQALHxqoNaWSFXuPYXUIrzzNtBnVvfbDCyzxjBesBitnjfAySKyQSJzndXbvQlApIZnNShKHoSnwQIDzwTEGISFFECCDSjWywsRysbAdMpLDfBuXSWpzPPTlJNZSYRCrsqlAhUQEBfUmuvKDcqgNJDprzBunEdUqlTWTVWetkhsxvvHVLDjntmZmefKKjYJsUBNpoKOUjgPCCxFWlcpjDcvJLUvbJaXfhoLefcDaepkreHioztqtaHNE", "c_map_varchar_3":"HdfGDNQUsbGcVUnHngkRemAOvYpcGVBTVPlKqultZUvGBxzYLbodjwxWynfDmRxlxbKhWTntiCDsKFngEwAsqrqlzCYDfxHxGPARExpVAYASNwOPlxmLgYWsUygxIyAxOnpAGWewTnqPbPxxDUCcwggcOUMUaGtGcBbgUJRCkWPUWlYMgsXobaXPqjCjeAIzBaYBpDAlilLDMPHkYKBsveVKdhleOzpeZDmrXivMtIRZTUkEvRUfzwJrNMwGhrQZ", "c_map_varchar_4":"TdjJXwvBpRZwrDyGnDqlQtCYAKyfPNsoricYnxdCGPauBUcEFXDNCdfWzxqXsvmMdRlGiJsvaSTQqPKWKplzNFOPVVsWheXGMrhdmbmKkXlGAvgIBUCHsFATUcEojdRCDNabwAQMVXpnxAffEYUBqeJeMOsbKadBCbUmEASoYALczwtdyfwOLQbCKWyoEqqSdhsVSFEhRHwRLsiZkDJsFOUaTDSxIunzDgrFkaKhhvsMYHkNhFpGIcPOBXjZXNje", "c_map_varchar_5":"SbtOYUoOBViGqRNawXTJusmSmdgqyUUELzLKjlsapxtVoOzrLcpofQMcydIIEQMqTXQSFCvwfiafFcQjZEuvgkfhQCZtTuAkrMibWJLdddkMZpELIcErTslPfcSLPRuQkpDOzccfwyFEsQLlZLlcMxCXcFcEcQHQFCFcWIArcnCbPXhvGhnhanJqLpqBlJmpEYvTtdtgAzeIwYyHEukzJZxGVlmyOVqgTMZgswXjhKFytrVEOyiTHMuvimifyhoJ", "c_map_varchar_6":"SGHrtaeHLvDHkQScMqQzehUTblYACgMHqeMuwPYIeZNSrJlWdrQhkHVMEQIOhlGPjovuLaMtZveEwMCdLJKruKGjpGBVgcJrfQpbJQofYEqLyjIRGNwHGprypsMbFKkYgWZLJqcaYpYBoDxgcmdBNilPdZFKlbeGCuqTWJJvBMETdEyHGuqfiBKKzeswSwaZPDNmoUvtXGPgpkrscFxQZHnJmvEpavsdomrGSWTrHvZUzKMcfrDgjkmEvzGJHkli", "c_map_varchar_7":"iZCmBzLhhKkklIfWyQLMSamdNEOkHYtJpkXtJDowmulZNnAgwjmCjfnGnfBHDpMhHmYFPcsMxWOmxTsGyUarWcPJrENORgStMfTPpzIIWSXIUEEWhQstvbwCOiTDVOMVaduAzhkOrkkblDkzNbwyCFZuEoHomNuVkMdGYXhWJJPDyBOhPTNgwWWXwddMSqTcVmqSUHWaYtkeQxlDxRHDAUQmNjJozVhvufhnWcFwDZVWJExRyiMpglVXMfmRMNPO", "c_map_varchar_8":"AbuAPKvrqfiQMKbuqAJDLqUYrZPVbyForPLCkbqpVVMxXJgxfXPOofqZlzOfFjtiSPSvkFEhTuVbhoPRmMzOorPtwskWWwcJdfaCGFPKSYziFTiSYslnOHtmRjZiUvDArZJwCFIlLZmsDSMYyBlkMIFYqPqhAkYqpvlhdoIpRxSJiQXCzehOtdQwVbnCmdnxdYntBLHBXYdgSogFhyVziltJLlwdLTanuZSxSVGZlvYCxTAJlLsrUxWTUqdwZydq", "c_map_varchar_9":"dfNoHQRnopfTxuMSyyOSQJAAiqRMBQuaDxbKaaFrykYGQoqzhqaOYQNSxEXGnWTcyoBMfmQCUbDVJGXnLWBErSUkMKgPuXsEYTwrVRsZUSTPRngpCEWwQBWUmeEqECbxboNzFBegKknnYeocJUsJgmMaXMgMgoAWEsmCYMmWpauihMfxszGDvZmrORcYHvDnjHwcZHWAmfwoQVdjStClcamLMQLbnysWafzpzsIfauqrqBvrHeSXzgYaAsGoyhXg", "c_map_varchar_10":"wuMjJLODlPAeNbKGbaIIakFBQlJkEhKXjajabjRQpRhlVULQvHjukhYNAddEsMinPiJgUxghKDehiqONaQNaWDjqyCcCbNtwOpzXCRSouhxOtfsDjWwAmhuYPGKwszqqBpfmFyNfzgTvNXTaRpVbqwmKMACWKJYuqJUISUEccNGhqxIPkANuaUNaobwwWLunWIWYhalFvNUETjfIUVnHHlSyDnNYofrxNpxEOSrgyKotfibHcUhOeUzBwBxsSvaN"},"c_map_datetime":{"c_map_datetime_1":"2002-10-28 05:55:31", "c_map_datetime_2":"2006-01-12 21:23:35", "c_map_datetime_3":"2012-12-11 20:27:28", "c_map_datetime_4":"2004-06-24 20:36:41", "c_map_datetime_5":"2004-05-06 00:47:39", "c_map_datetime_6":"2008-11-07 12:29:12", "c_map_datetime_7":"2008-05-09 14:16:01", "c_map_datetime_8":"2015-07-25 21:08:51", "c_map_datetime_9":"2008-08-01 01:14:37", "c_map_datetime_10":"2018-04-02 18:41:40"},"c_array_largeint":[494132967194943296, -4725190403965820755, 4816067529487879646, 6458628358166535777, 3217704958611537039, -8942834386431057068, 7992488453722656034, 2675722388088256421, 7974983087647254627, -2543820143952087415, -3743911016905705412, -388839538848231066, 5510041161552877749, 2024132337756130255, 5096300944308680132, 1628289675951563127, 682992499326811334, -7052496483667956729, 3003448268159289021, 26238411531129729, 7064935741851282421, 8215482685796045116, -366257248481806349, -7023880228794893433, 3512122567187429427],"c_map_int":{"c_map_int_1":1121239766, "c_map_int_2":611586413, "c_map_int_3":2053632242, "c_map_int_4":-1296492794, "c_map_int_5":849325795, "c_map_int_6":1729728112, "c_map_int_7":-135843021, "c_map_int_8":-1151564145, "c_map_int_9":1963638911, "c_map_int_10":-359635473},"c_map_tinyint":{"c_map_tinyint_1":106, "c_map_tinyint_2":-35, "c_map_tinyint_3":-13, "c_map_tinyint_4":-41, "c_map_tinyint_5":-16, "c_map_tinyint_6":-8, "c_map_tinyint_7":-69, "c_map_tinyint_8":-47, "c_map_tinyint_9":-23, "c_map_tinyint_10":-56},"c_map_decimal":{"c_map_decimal_1":80.1687, "c_map_decimal_2":76.1762, "c_map_decimal_3":83.0010, "c_map_decimal_4":67.1415, "c_map_decimal_5":2.0268, "c_map_decimal_6":54.0087, "c_map_decimal_7":86.0330, "c_map_decimal_8":72.0344, "c_map_decimal_9":100.1424, "c_map_decimal_10":57.0663},"c_decimal":79.0584,"c_array_boolean":[0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1],"c_date":"2001-04-15","c_ipv6":"b2ef:9b8d:a5a6:2117:89a2:4d63:5ad7:f659","c_array_date":["2019-06-19", "2014-06-07", "2001-08-23", "2018-08-16", "2011-01-17", "2003-07-17", "2000-08-28", "2018-01-16", "2018-03-24", "2015-06-05", "2011-02-23", "2012-12-15", "2000-05-27", "2007-11-23", "2015-12-24", "2006-07-08", "2011-01-03", "2014-08-21", "2011-07-26", "2017-05-07", "2005-08-28", "2016-04-11", "2010-02-02", "2000-08-10", "2003-08-13"],"c_map_largeint":{"c_map_largeint_1":-6310097627447545488, "c_map_largeint_2":-1228188847954460060, "c_map_largeint_3":491496601278429055, "c_map_largeint_4":-6489091052247586647, "c_map_largeint_5":3272490328975746354, "c_map_largeint_6":7606477240829739163, "c_map_largeint_7":2726648297407872970, "c_map_largeint_8":7639935949983227633, "c_map_largeint_9":-1078044332528329110, "c_map_largeint_10":-7495081907724288614},"c_largeint":8141605950138494732,"c_char":"HlXujYwMjv","c_varchar":"could","c_string":"ahLwuhdGQBSdHWTsssQNjAwFUkXbYqPcWjQvZQlqelWUDFQkbyPjnXueCmgscLDKMcwClBHhtGPVvhDEqpSKcPDrfNcsHDAcMuzpgYhTUrOEQlRkglElAOMqmzBbOyQzPVCcEDMzNbjLNpXzgqZEQjFTqQezOyDEAXboTfMAaUYDfoslJMWhEAYayNIfIzWAcyPocTFTZUuKIAdJnTXxcoZAMxCSZlWXDcMClfVaKjCCTsCqoHMjhcDRiLxIUVouhiUQAYDKtBIYncQsPFbUCMgRirHvNilygBbEfFUAwDvwPoqejwJSXHczbVTuzCGJIBDQgrsCDDggxjIrBiVfPqYLwPNlQzYVrgvKnVjbTTOFReoKACjCkdAClqgSeMJqjaOpugNeGtGgAEVmlwTIDLKhhWteLsNwHSUnaoKNxdVCPFzHKDiVzBKltrBxsgHPJwmLuXIUaVCkoLqkWXTJMMzjXwkZhDbzGpExhfGDNkqXIKrCkPiUebgMztAgNQgF","c_array_smallint":[-30294, -20673, 26530, -5061, 14788, 32464, -15541, -31915, -23685, -2617, 30903, -27361, 24712, 1070, 14561, 23106, 405, -12360, 31700, -29040, 4316, 23626, 670, -4294, -21988],"c_array_decimal":[31.0430, 8.0859, 93.1195, 12.0521, 16.1808, 53.1586, 3.0087, 48.1425, 34.1269, 60.1910, 78.0911, 91.1153, 34.1534, 82.0989, 64.1872, 54.1730, 82.1848, 4.1613, 84.0603, 100.1147, 49.0404, 76.1002, 31.1980, 1.1826, 90.1590],"c_array_char":["ltDmEEryPz", "lGRgsaMEdD", "DEllKuJpHE", "LLqEORyGlO", "UkiAPZpseZ", "fXElSakSzZ", "gilOrYgfsT", "sUhUSkUdoR", "spLjLiSYxw", "ODZOvnccSS", "nWVKgrcysw", "xoqaiZmZPl", "PQvyNhnPmp", "wkQiheKiTI", "QbuUJZtoJG", "rWTJGLGWIF", "kOZDMrnhUY", "sMiWFTelSG", "mvHYsIWSdz", "iGOGKEhAYt", "PKPfdPwoaX", "tpbgCFVUSU", "QvvUQZzOvN", "TYBWBSOfiD", "YlrlIxCVkm"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_tinyint":-76,"c_int":191582053,"c_map_char":{"c_map_char_1":"RYAEfBneAz", "c_map_char_2":"RtvXkbveBn", "c_map_char_3":"hrTHogxzZT", "c_map_char_4":"LyZpdckAci", "c_map_char_5":"YhXpkdyUwf", "c_map_char_6":"sOnILphCcI", "c_map_char_7":"xodkCBPayG", "c_map_char_8":"BKJHsDqcpF", "c_map_char_9":"jQbGFQvvQQ", "c_map_char_10":"WkyPFfCSwV"},"c_array_ipv4":["ROKYdUqxpN", "HRhbHMtKgc", "kfLtwGKUIa", "saRyWWtnrF", "nRgBRrqMoe", "EhHeWGGiRh", "MWUyKZefHD", "dNuYTjMYYU", "RHHuEylUMp", "KznFPBszSw", "DNAOsMqBRL", "IBpGidTyUl", "ulBUYqcMiW", "ZFxAIFqaJd", "TJghgYCzrw", "KntaLvBHMj", "ROmJFTTTeS", "pjYJIfUqGs", "KjPJhZNzKP", "ftVRDCSfns", "FYdJmbtZzz", "pfwTzAFwxL", "DmpJLeBKDM", "mzpfVJvMPX", "XaoKOiCpaK"],"c_map_bigint":{"c_map_bigint_1":987178361780183616, "c_map_bigint_2":7833019241305170497, "c_map_bigint_3":6004857458477671498, "c_map_bigint_4":-368119675371844906, "c_map_bigint_5":-1433474962016796284, "c_map_bigint_6":-941674669752710172, "c_map_bigint_7":7470626833276666439, "c_map_bigint_8":6211458201543176044, "c_map_bigint_9":-5581081929889683811, "c_map_bigint_10":1074739978855315992},"c_map_float":{"c_map_float_1":3.6730947, "c_map_float_2":62.516926, "c_map_float_3":19.705162, "c_map_float_4":16.509686, "c_map_float_5":16.031046, "c_map_float_6":18.601433, "c_map_float_7":83.72618, "c_map_float_8":86.018555, "c_map_float_9":21.024563, "c_map_float_10":65.519646},"c_map_string":{"c_map_string_1":"pvdAqJghXCFJKBCIVZKyUgNwgclQoLmchlOXarDevSQXeQynlXqXnMrWyerswqETQVHrxLnXVcZFZrrSvJWQykhlsTCwiacKQJyqtdAHaCIOHARMABJjVxdmQbAWkbaYNYoUSOGAcjMtgTYTSTRdSMyYclqmesxdsLktCwYJYvdAYeWdSxKivWRJQkWGYElGvvpyDMPdpaVEnVPnhQmSeVsnLBiMFNOCsBilCcrTjKcaOxevOjnxlVeXnJAbtPvnbgAiMtzYJgkCaPViKFFbWFXOsYvqqnqwsTvJoHwrlaWYNcaGFYVqUuDePKcxxwJhPzNmvAYGUXxfprjUFHsNrAndyPaFrfdKbBRbwFZSepGeFWKHYikqBwSIbTCRiibbmQKVqFlKPHZgcuhkUTAqiBMOeZHCmnaGVFngtINGfsQGsmqxYoiKELEozSzAuBYNBOQjuacbXndgUEOMoKtOPhCuybRuskcIlWMPulCgXnrzmmTvGQMoSBQBqVWCjrqz", "c_map_string_2":"ulKjgSHqotxqZeTVnJiBUNaSOCVUoYrgnpIRfjcHzlZlQpNjSwTByKIoAvVhgHLWWhjKUjfvkzKMCZlxEJmQbtmdNZBNnnAQvMfwOulaRnZjVtliHfdEBZkXxzIpQPQsQcnniuMdHPOLnwxsunqejZcpGECNGrJyFfZReRekljMGKMhLMZRtxeGWTzYORsrKOpqjgjacmQzaRHJYhmhTQPbhqFVallWQvSdGcvQVQwlVRpgzQvhvcigbJkpbqYDwpQLVjiLHYuIXhwagAQdlMSzTdwpMfVmDaNSyFXmdPvxahRSXcqyenVUSxAnGXJWeJRCPLJtYoccUblXnJdUGVgUSlWjyaJPksqKpRVflrSKGbhgPixlNJUCGvypgVEFbAMycgEImLGVxTujefrtvwvGxuekKmZADyMVxEZCDmxtAcDNFIAuTSFpIaAGGOexdhpRLmYVSlaofydJCaNzSYkUmJfgIVjnoelSRlPJrMXFEDGlTyfefWtLuISaXRVGm", "c_map_string_3":"idvsVZTDBxwVtcjAngvhfFeWFGNHiIkEelFjznTGEMIcvBkKcWUnVCZykxeyYyGnYybnqfgcUDZIQsOQWggUpXUuhxLgtLTOMrRyGaCmXeyXcntzYhrQajlLqPyzkdWtGKsxHFJsqQaUZpKOpwpsAqGxEfBLoGXMCxVXjSMDCyNXdtpcyTZDrdRfKGeVyQzDXIsVplRHcoXYXQENNznptumZrxeKUCmYQIWKYtVnPyXRByURHuiBpCrFBnLsqwnrTHUXOOyDJFEOTkqZWtwpXvxSoPJuHeJmwJppLaVtacgZXhQqvDvIkrqSrukRDLNbEWrBsaWIAUpJeytLzvKzYAzlziulYVyrMAtBGWwOrwhzolrvJapOZlXnzSSaaGFnTEFVNpveoxPMPVnOyjzORVDDXSzlyhOevJOVjFIwewwYUUXMEPaRJutybUEmJTCMmfKBlWZPHSZzlYyRRUQxBpqoGlfJOFvIDjiefguPYOfPmCJHDiqGCvyidXayuqHd", "c_map_string_4":"UxUWKAfmFpyAewzlwctKixfQWpExPExNegtFPwOJLElzfEoXgDPbmoyscPyKSzfzzPtXcYQEZULwDrqSLbVxLOiQIoVzAMdYAmWNfiJwCTQxnbeAQgMwLrOyiascrPZveQCdfvhNvUdSuKfTnjlfihTqVyxCPdsZmNQMywPFsupDUJbxuIYwZTxJiDTSlWPaIhzOgTCTMiVVuAIBgiBjVyBLZBkrAhvrTsMllxUvybxjsBKafrrTpUnpHJwmcPznppJqMSnXNxEtuqytIiBMZufRiTjuQqtzecFNAwOqnztkFWkgLxkUnkROxpDINgQTOrEwoovdfBSyqxpvyvPrxNiLXHCHHSZaTfxTmevdzChfOYTPCZXgTwbLEkOLzNnpVonkTTiITjTCoeRRodExirPjysPslgpdrOryQUPeIfcpsZlUMZCqOrevgtzZpeWyQqXaczuJMGYZphgBUALjinQuwTlWkemOiXyxYdFSPzXJvWqBauSknqMvXKDNYUwa", "c_map_string_5":"tHVlfYNnQzOcESeykkchPLJzxJqtDYOCenuqiWjhpGKZcELResjXDSfGSNugbMOLrGZLLluPRRACPkNVGZNLwygKEEgApXyspAOAScFNTaZMaAYRUigpnQQWQkbXqZwPmytPSArJKlNLwHffrusOkrMYoMBoSKfUMgoMuOuQHtFvaMSciRCbeReqJlPCFJNaZjkngSEdOEdlIZKDRLtfctPFszHVNQttrsfSSEUszwqBxbNzVvRGSeWoXHTzbUNLZcouNSHoaGdMtKdlwwxGBCRmQqkSYwGayOmWLCQOcOJrzkUbEcatCJnSFGpFZpfyqhJQROumccLtaAjdYBqdZhXDnRoHTyXxGbmIdAGOIapmvinmSajSydfIMYgFbnfPUifthcmgRnoBLFWTlaKairdThTTAzOnftqYQIYUHcaeyowsAvcnyECqfxAihJxYsiCojnrvCugJnfbUJrzOiLyCECxvpJKRhwVknadXlJlNsCSbuJzSWZrUhXJtRfmom", "c_map_string_6":"WCKtEIBSSfwqFgFeGITjTwfTKfIyzerTEbnPapsIMMOrUniorXRtxyxOtAVDUEltzaUTeMKmKJpOLTJFTbjksQIEIJFClkgOpimteKiqrerwbKfcnmdLuvZnXIlfKwWgtutFOtdWqftYQJoImFLNGogatrcfzTgsXdHwfhmXSTGkTuklAiTHJybfPykNfFloDNRnROwdznCcmmjfjmSVpgnuZsmeZStNssRVISqIQpyFXcTIuPTWRguIJdSRMwmojtThGZUNJJGPLGAoImdLxscNUniJLeZNzrRFZTpSVYfQEzNRGfaDHSmBrfHbxRuiLjgZnIcXhAEcAuATGFLEgveaashIFdJJnJhzZpwwDFaiiLjtwjpeJKQDGUlkZLbHPTAXaRfQjmkAuieemVMaUymqatNmzKQeVTjGlXPPRNebqXgpXDJruCmPIwYniyJYXaWrVWtecRFDbVsrguPBChIJViCztkCqrdFoIrrfJtsipoacRCdJbrOXMiBXzMCj", "c_map_string_7":"jmsXzeaWvOrcANBHjrgPmYGwXljjeDcrUtMOgwJxoIIyfVDpWgmaTzCcknQgSTRzkhaQdwDovZqsxesETiNludsTzYAqKEFLeDIYTWfGwMEdHXTtnkalRQAUHZtQgwQGLQobtfhzNubkNunNdOXjFPQkvgTcOOiQFddpwbqDMDsyemfOfAtSuKUmxHRLzVHnsYGmqGCwcoUfJhZnlFghUSAIPWFxnnjmelOdcKOjqwEDLbdkpVRLkfnsnroyxqywUyeDabCMGZLlQEppikNevqaRIOotDixFBWTiEjtCYyAcLtqKNHlanRZzPIgBdiFTzZuHXIxdTsBkLaQAnqcNwpSkvDJYGydsOaHwTSphcYFpUhPXfSMciFmiOkgMYgZQlnZmheIbvnMEdqAjxiJIeXyHTyZyKQJbWUUkzSdsKEVjrMazhraGdFaWGZIJMOCSXReBkPrGEbnSicseDnXzgzGyKYqEDSOSDTgXOIMDoZlbykznCARdDSajBGTdISKQ", "c_map_string_8":"uhDliqbDWSnfDWMPDpfIndwddywMBBZuBlrurfckjMlUPAMnwetXpYgqVwUcijhTXinlkeYyVYnXiLzcGlDstYhRSMcQcrjBBYNeWshPIFMazBWxueeouWzufIwtfymvUqaToEJMSfvQdzDPDulfOPkgenizCcfKCQGQDVEipRCfuYyQwTWgskZrYPsUDzPeXrmhFvtOvHdnkDqdHnPAMLYvSZsdqTVWNCOWqbARRFsyAtkhgWTUCcvzurwiNMdwhxmBUYnyZhLmcUYmcYoBytbZUyOFXnXDkKgcWaQBtichsVBrbJLedAdEHUizTOMjvEaiLGoqCzqYwVcBeeyKPSGuQbACAkKXbmdpIqOMRukpmGhRUtFJpDusUHXRVDImXHcGkbNmdNnxTEpJlTJREnZWpZJZXhXVcMaerpAUMAZqElLIgsWwdbptXiQRxplXEEFvtwQmPmLIhQoQbzZQpAciiTPXfjrXvuXEgvdbGdxUROWlPrjFxrJQIXMfodBU", "c_map_string_9":"YzELitjYesxZHymGCBrytUEzfEDWsZWkdqZAgMRZxhLDwvRFxRpLyFsklPBoyDqdeAOqWNXEdMMjhrblsuGIbDdaaluBhhnAgiiMFsEyTLhWDWbXymHpDMkxVFrTQoOVRpLVSxWHOHLhUvWpmxdGDxKyVOrmSokoLefUvlumwDmPKRXQvdIZgjiJKDjQbxITdPXICjxXhRHXIosqgOEHjvMZiqHsmUeAVTtmIdpgFCiqqSgvfFOnWEVAtsxSMMdqqjNnlOOsnoOhRYmjorpZPzeLOICPdZntqOrdhCleoKgiVNASrVmfsJeTXeJEJCkuFoIkiuojjzUQQCYPpRmnpEhUPfmSgGFkysADVownQKfabmCmdoQhEcZffzTFOqxzRFmFCzdMcuptMyfCreOZBtwmYUxUlJildbaQYACGGfWtQPXsAyygHgwDqejSJLxAPmBWUYrTFmIxozOOolNrOXGCTYKZvHWYqqJJofSADBzARXqkXyLodbWCUDgvCuKe", "c_map_string_10":"OBeESHKBwKjpqpbGruxDMpYOpRYSiIkzdIWtLvsgBdVvwZBdtQkLaJVYmDURbDRNKWIqWmpiiNYaptCLhMfnaJKShyASizVyjYEOltsBeWaZgXlgdseZIPpcgTWRTbOcXScYrpobkTXAjfrLxJQNZUXRnNxaGEoMrvEVZzcMKUUrIKJRQemKbneBVRccFgBTGSwzDwlJwOcCCEVCvBZGCINZGIwEOYhdRAoDRXQXLXnSKDYdYVRTNwAHZAYSrQZxlXKjSyDDDOBzGBXkTjSFJTkWHKRADdvLJNlRKERoIgWjXvdQuFtdwMtMxGYLLlMfnfGzgbtNaeAyKHnXopxROeMNIDnrVMaSFkKcbXYEsOFqDvgbedTriGYElBGCfgUqlVWEfcoHFoyaMXevrFAXeHNuNjxzHaiyOCvhubAlvCaPLEJNYAAXliasnvTtaWujCignJTDRWLQBrJcgebAmRSUoEaIPWfYTNkmDFLJnfsPduTyRdutGLquHWOuXAgey"},"c_map_ipv4":{"c_map_ipv4_1":"51.77.39.56", "c_map_ipv4_2":"43.84.99.88", "c_map_ipv4_3":"112.155.1.94", "c_map_ipv4_4":"66.122.8.166", "c_map_ipv4_5":"28.173.4.212", "c_map_ipv4_6":"226.43.0.13", "c_map_ipv4_7":"34.87.102.118", "c_map_ipv4_8":"178.177.2.30", "c_map_ipv4_9":"252.163.202.235", "c_map_ipv4_10":"4.79.151.233"},"c_datetime":"2015-06-04 10:56:31","c_array_bigint":[5522203568896609218, 2109375647886676924, -1984329392606273966, -166443595904961789, -27447034414045658, 1322988103012351833, 9045438737011722914, -7456792631981301577, 4185094520076639684, -4186312941304454498, 2116508580623523835, -6416762349273833999, 5951476276557146935, 7568154514957193021, -2052668373229963899, 6559884848256630688, 6988597608437047261, 7284769340072544438, -8354815579275576075, 5295438742119948779, -4390670162848967120, -2505527348527156294, -6865557440217424134, 96893494185979769, -2224483021148117116],"c_array_string":["gDyfepoeLrqZysIjhTlxvmzhOVXlqlWnfNdVtuRubvhvAEesWsVJPRmJxgvpmMOEmYoMNqCHxesNdjLESOAFldhVIIAxPwMPddhKDHxoZKgrSJxqWwYfVeAvdKMGjqiKbptDbAGPNgCVCaAQcfgxZiCJrnCEIWvwzWBbXhsSZVQfvsiNtDZxybeRzfNASlbKCWVdXkeqatrcakJSRonxxPNgDXakModppquyQqueQrwLGSkNUQzigLrwlUmDSLCNEBkEGsrNQNRGWKVkrDHMMTowSHtdFdJFMTlTquFcjHOEzRoObsQpCAjOgMJqSFwjuiruOOsxmfKkQSXLSOtRvtuuDrUhBMTQEoEIwyXlwPukfwgSlniFBEdxpBeAfppNKQYhohkNzOwJGRKzpPDxwfYkOpENAmMYNjkDdDFMxlZEQpmUjYJQPeqVqSgYUtmlqmhvPZhmuNOOGnYMdFqItJtpDFpFyNljXlXtdbEiUyUcDvrjRhBOBaHxFDvYHlEw", "cxDwVCUWKsUuFNhvAbEQZiIlwLXVwFYqYtRqDoxvEWgkmSGXOhruokCejALabYIGBfgGKXcrqEmCsGbATeqYfqvOhkBTooKXhjxAnIGgYiqifpcXghAuMhvlXrvSZkwDQijlkvSYBVlNwYBfzGWUFWdZJjTPNJzyLXkJbRiATnECmGAeOCuZCUlfEfcaTsIEoNSJdgJsbSSpSvuEIuJHvwDdVDYspgRmsyDPGabzpWGShAXJfsJviRHYwidaEgnNILCXsCzlrQKCrShFuLpdKLcVMPuSbZtxDvEpdVdbZLyKowhOSGNUOOEwXGklBsRbDUchYUMGbgYUIkYTOhPjPCnlxoHhHzDUyArSxbNwMAtuveUPtRYJOctQHSEqSHkGBPdfNbRRjuKAXpobYkZKHeAnVTKcrtsiiKHRRZoTGRICysjvweZbWTdihIpWqzhUhPTEmlYGtmJqZSYGcMZaphCQfmEkpjwVzbMhGNmEqtGfMiLgKRVDUCdwkIjaawlb", "PfKzJkeMQaRztWwIVvzgQtgCFarSKECUqhIkVEZBAnwuiZVSobOwNxWYQSKWiapasCOmTnfCacOCPaSXgTSQBFzrSeLXcXiGeIBjJHMTwETmshoUHdcwfSkmivDHfinjjhzmLNOwAyrhwsSrJYvTzQeDkzGSjdmUMKFOMKMCPyVpErgtbGSGEccRjVwLBbrfYAFnewfHHzRpexfrGuyCuqNOCBYpBUFxYrLvOPMSKNULfheTORLZJGOSWQnqxflsNXBqoaIcYQvyCfToohSLgxheoBcJRmXHGHnzxJSBxSCuyDZjPqhSDlHCTdGJFbYEERIYAhUeYHUwMNzhSWwdGRFawGXRNjlyNMrgxCqkCVIpuCzwQaqtKfHUsmnkSyjdwtiJcvEIwrtdDmTXjPfoPsRAZdeTeIrXqPCMZFzpGwIIznwSTuWpYrHKOBfZoaZvjstwzNxJFFYBCyevKuTzsyLgXVmiYhdlswKlwoEiqgQcFTnAigdIiesNHAjHNvQC", "SnqCpDWPXBbqDGowSVVnekTQuQbapFyPyzFTBNLHdwfAjocJjkaMLlnfczGyefMxXPWHUMxAaSDdDOMgKvzcZegQOkfQNZJBzpnzSAMvplUQXMMIklhNNDTXLUICyEdRyAbYzWFgBjkjDJzIFJVppVrMZEfqONxiMrTXDgCuSVouBItKEkhfuIgqtofokTVxQnuoorPEVLWQRxFIPOkTvmngqmFCrXyMModgnuDVGTfSfgvhXFdXrBxyGUxUyxbkvaQQBFTYugfXycOOXwHRYZeKKpClsfArjKJKeuxBqcIGnUXRpKzVtAmXVMXagXFRscuFbkVKteTXMjvoeKpYiOvmqBrYkeZWLAZiZnmdeJnAmZIOGHYyazVTXEElvBZcUwCLJIrvXPivBoWITanjpIkTymFirSbsEwZHiSgIWGPowbhhhRAsVQhBKMQUvMGoiiegTlZpOtVYlNJVyCNFGPqISbYakLXTUDAvcAfsMVRBEMAUwzhqQsDeLCxeadow", "XknOGwrlmwIpQVPxsXfVLdTYBsXhHeAGksIrJCVGWruUQEYsymjaiIdsdUMJveQiXXuAHIUtXNtIwAitfyHneRdRPYuoDZbRoAtfbTlmReacnOOIZvJOvGwRQYdYFuRTaElBqntVSIQqcZOmmQHRZaNwEeTAaRVFQEsVPlehkVJSUGyOBwTdwsTGrJrLaUjcyVozepTyEEKyeJYFYQbfBBeiCdHoDDAzoToTHpXDmdzotcsjoTSoHDRGFNRbciOaAwipTvmMsyvkWLRIwUZvWlPJOnqyTGmXOguoDUWsIVGlOqVFFrMRiXVQhPNeGMYyaUkPfeChDQLhlLVligHOhcptJGCzTmEfQXJtPUrYqTMoFEQnHWVDzixvlleRBhptbepwuUoFOciNwIUxRVLsEIhqSVLXyawwLcjhJbHUtZYiEOpJtWwKGUILkDzqIqclwVoHqljGQBjVAgEsAzyRIlDKLwaZUmUXXcPktmcrIPjUNaituJxfEnVxZtIfdcFF", "fndiVchJfsgHHHloZfaTmdTLypDhTpILPJQTMUbVKDlrFHkYhdUkSgJERWGeeLqfzzHbjiFUzAWCwfdTuOGOSEAFLgmGNMQfRxQguwJRmXbOWMGMABslaYhgyqwfDRDxUGgjYZYVEbKzqiYOZPIzpZoXqboCfokajlIukihNgKrrkRQsDjkeZeJoUqqVWdnGjAwYWlZjMAxewIYgrxVDsgVECJmylQAzwakobObOYIIOWnXNMaaqzsFpsCFTMQNiMyZmYTjxOdVTdEzLoLTHAhWcUSRZxAIuOJGIoXtxKlatbGAaFYkkAQgcTmsvtpHSHONfOjChzLOFCTwpYwuzSIxknxHjrXHgLLuMeLPzknngfKRoyvtHDOphqnIWdmCYOTVWpVWUqFkNScWXTIGqeKfcoQFeTkHwSmpjeAxLJJjHpOOcwEMXoQKhEbOERuxzFEtgcqpOqhrBvLnkAWrTmnJkfbELazdeiIiVOxouhObNiQKBKCKVotFrUhmuFzra", "oCruDynuGZxjSzDEuCBwenIfUKmoOgvYlFpJjNgSmsXRDLHaJUdPJpTBCmUBIqDPDlCAKQgLoCrzWuqYpQkTlkYAYfPWjDzdKAvfcDLahAzwbbrlgWTCDNQYRlCEajadmWAdTbpgXfRTbVXKfEjAQlaYmohhoNEoZoVKmXsTrHAxisTvUQbNRgTAaNgdaAieVzClmxGDFJHcFWwyOwIEoZbgVbNAYAsasQptvacICMxrDpdsffWgATAQShfatrakefXlFeHfWYkCryCBMHIrZMQiGpscveKevNmcBdsKfmXDtKisQeiDURZcZMrvqjaPdmQadjrItsfsqrsiZSvQJOVMggclGtdEcfLmhGEXkRQJxEfAXjilfYtZeJWPIDHfxPzEfkXhAfNZGvuVQQugUVXCpWZuQOReZozcBnJbaeERtwHefZkCfarWpyDYWzlJoLNGnmZABffZnPWHqAjiNrNsDaWxTbOaYoMPljCmFvkcvoTGDmZVcwtmeqcSLrDt", "ZSDelHLTTbjkuHIEYUiHLAXlEBxbgAuccheaSpuZYoDgnHRDlssiMVrOyfiEgtwqseIgCszPDFpDxaTRGuraWUSkhWNGxZUciEjgqMonXUgqzpbeyCQMXktWZufJEyRNOVGLgsMAwNrDyybJjDMCeaBmNAPWzhWaouVIqEpIUugabuPRHPDzeUNysdlPmVjAuvGCXZddkvIAqsJrfRwLmQkFjVKoSgQDfzIczBQIcHRMdoOtnEUbyvtnwDlbNXkxkgmHLaTXeyuqvDtRJFQdplmwSnkcfzHVfwTcPjRgMNPdHgAGTUXGLovLSdRTWQPFhviyCxcqnpkfmaEXZDsCxBwCyNOlHtTPRxAnXxqKAFHgkUxpQNSUArDffjTdPPgqORTIwhPwSxuqQSaTlCiBVaRrqhaGOkhDKNGIunZfyQRoEhgqUlsACdFKfQQgIeatwhvpnfTfAHgJcgwkoELykeuUBrjyNytyHLUPixZvezqNFVbRrrEqflJjwZUWTtht", "PuRVwIwAaaGwAfKvvSughIbBJYyYPUSlpJfrqGmEYYwRgawGYvIEdGGfBtUEVZXEYKwqMoldJvAFuIFEVJzpdCQBiQYNKhxKNzfNNWWeQcIiwMdfyDVusiYkJqzeHZckvydZtWAjtbfDVXELJGLBPxgpGLgEkMGxdwWeTVUccnHOJjorYhkheIbYAwpAVCYhkWwGyPviaoJQoRRHVlWEwVRlzTWedZsSLgsgHaukKmrWnbbuYMjEWZyhfAaPzFoPNcCbDPCbuzAJzQBMtuuWimquPgvpPtKCNvCJLCMHtihAfJgjetvMASmlTjjrGeWXqwrGivGtCjqzOQSjffYhQPTXKFCzfYxdJTZqYEwVskvoMSkfTYLpUjmsxrZFpcReQwcazDHKUiEvDkxGrUgniDymuHEETraxjjaWdsOSaoLkPHvdelGHiwyIjwssoVxdjmiyziwxgahPKAfTAEYzucgwxGnnhXsbSrWpyVNdqplIzjAqiVenzibpgAYdOEdl", "FXMFMmhTjVRXZDYxEmcteyySzzvkmGfMsCNjvbnFDQhuNJSyGwJUiUAPyDlnKkTfGmPQQYiUANNMpGbCPWbEGrJfwykGJFvDKOVHjOtIIkZrLqXQnbkSxSrZpDJyvevAXeivIySdGpNYoeqcXtTaaWOLlIKvzmfdYAntTkMgZMpWgcMmhQoXIUPspHpbOuicBCsLSelgAGUJgHuSWlRIeKXdwkcbKSQwexYkxEuBvqjDcvqOdHgBlZBpIEsvfLLhVgrBcSDGHbAawxgNCSIAHDlGHGHtKGskxGxNLjEFpIpXGMJpEPRUlvEJvKJyNDWIQPQqTuleSpyHhHRohcZwFtTMZombuRzeyIMdCPmsSWIecKDRDYgcLlsSRDULmSCUSUBpZXoupXpUPvueEiWfmFOrMgvqWMYqwhICQRBBBnMYVYtAIXPHTjemtoudegcagAUXrHPETITgRtjCzYFzZTkQrbJFpBCZdhcmuTxYgINXsvZQmVEKUXTFHdiOgEer", "JlHGCxwsyDqCspasGhGdddCtQMXHCRMjOFJUKSAatdFmdjdcjuGEQeCJQsqLHKvvNPwCIFowpJGnRPtaIputHoCPgrMsDOogMIeMgaAKHOUvKHQxocDUupUWqCwAhmmVrjiWvOheVmdKsyUITluMupqPLrAfNkqUtOcPLGjYlfIEjBrNvyAmPhvPhdVflEzYwscOgJLTGLSunFCaTsEnahzueNncEMKtRyvvlgIlCcViUaLsFyhEViwODMAXpJAuADXSsIPsYrauZIbjaSEQCXMebeJSfgFCVUpTWAySyuuzeiExjmQXmxOazApmLEzdQmfCNGrncqZguYIywFTnAMoiIlJvLgWBQVPYTYlZunhrTHefpfcUWKoZZfwoBqoPzoIJFPsHsCIOUHZAxXymlRqmmkjBByUmKdkvDLhTKtPWsqoSziTzzHvGoVaSaEyFiYkSgccVQjHZyQygYqcICCqwfiZTWoqIqsFbgrBTKXFnmvIwGGOzMEJlYBaDPkDy", "yorfMFgUnEOsJbxVLnvbrTueMXziLgxXUSVxwTpIeTWVcDZYVgAvCDOdhqmrPgDzsnpUjoulmCAYCnLuWmeJQzivAnBAPlFqdcowtqfYUjAMZksRcujNzVhZquuBSoTOlaTwLWIzROlWiEZgnLwUZaHZyjmWhUgBoBHMaWNCWKyCGBDirumJWLWiFAQozkpgWkTGfXXissPtjQWkRBoVLWCyDJWmnankVJdemEwOjhDEBRXDRWQPWBjCSKsDUhUARLFviciVJyDMqzvXFUIHIWCigHRSgIpBlfgpNBFxSIEBnsrBezbmYjtKWHlogJQUQwWEoWPumaVkSJjDHXUQncrHbgcHecCmVeaukXJugCBrxzDhnMNkxHKdYouajVBjdDdufzgieIaFZQNPyeLrzprHCwZHyQucReNBUwpBtQKtpMTeBAgQDtWiBVXZJxuLpqOwlJSnksynkkvGaVfvjfisrctMBNSasafdoObQRPTiJJfKcntRnBIrZcdotyLO", "kuVndvCRMNaubzwCxGqnWYPIdWhSNprQGorBickxBLNIbLCbnfuLQLzTMTfRuUjIGWXnGHMyTZHQjupBeiDbKEQlzZIPkOucVqxJmoHvtfjzSaztHkTOBmkDTzgKphWubjFkQeIDhJYtuSdLqvxchAsmiTQiFaGPGJiUZOTtCmBXfqxCfbatZjcOXznrDAyjSlUMsCVozDiktIjAcwFRtrqyAGIkdthssSuRjtnbbHIyugahfTDpBAjbaxeAhiTuYbpovraPxdWvtweYbpCfyvnSoPzfGuxvBcLdpibQwZsfaRtqdrbmdsPlqbVOgpfiuFAfpddPGoDnjmKbHwmWmgnwckGBaGFIVhoNCQOjGvzjbXDnwhKRHthCswATVUlemqopmWOzMVSxKvTIxEHkzlLfwfkqldxhCwvZLRSEHxfKHTjibbhqsiPtficzeUMMnylHgfZrgqZUlDIwiHecpAMUgGYtqINMQTCbJKRcyDMUsKVJOIdxBaDuUBEOhSdB", "DKukGzUYwbGfOcDYlOLRdfuLdLPbiAxCVHtnkcDBtmypJhIRMPiFvhWZFGOFWucYywDxmOBTAleybbyNkqoQRizAxPuqcYVMljtLrAIYBxPZkmDgwQnnKaqCqiQeYawUaidnaRiCbzzdoePQoIQVVmPwmzMbXEjCugBfyrClJeFMhnNGauMZjCaTMzcghvRcuOyqCDtAAAmEnECUprPlmyMqrCzQeiFfRVscjphGJwlswbUjTITdDJbMghlrokxyhlnkgkLspOHKJYekJsYgRjWZfNaXlnVghiJoEySlCammIeeqqnmWhwWqUxCzyZWPIukdStDTokOfMhyFuZqtaijHPRZeqLAxKtIgGDjSQcgeaUZvpyfRKxLcDTUyoIngNZkfQpATqtTtiCVVDVzzBnuooKVqPXHeViGqkROuFbrylovyRIOVWHNwJUhqllOOuhalrYuJRUflfIQQqmMhjoMZMdvwZzYdCUuLHgcenYcZvaXzqtLujfJwBurHoUWw", "phsiiTzEkPHCtCiDQHUuGigMYyVhRIZrdVvynPvmKjPTelkPhZAAdTjNyFUctkKbxnBSFsUiMvXIhsxqHLKivbWqbpvGVwqbpnXzrxzwSmjMotizauQirvDHllQXhoVbvbtGLZEewKxoBrLhVKFEcNmHPAdjCIFidPTSmFYTERqvplpSnzTFslFTIosAdgEuCClmuUFrVcyxYBsodBFrZMSiNdOkoRskzEDoIulCLbbkhvFoHsRZvLWtaZVKacOhLovKLVFfBdDuWbFNoJzJCjHqWshGVGqXfyHXKBWaUkAYEvoJQiKxVDUabzKvYqXJEWDxoRrSuikQHYNxggojvymIKQxKLZGjYPfqKaqguvACUlLraIHFnfMAtsHEsjYlFNqdOIowuMdVjFbOptJwgItoZRRfdsalgVfjuOZyMfxGbreAPhhzBLMqPUUrWvbyhvQUIyVkUamblwhBDxyQzPQbDIGPHfFFnDfplgIbDXZhskvKKhimaayAWfoaMcRA", "OayTmROHBOQbxFMmwNSImfSlWAhNcDLNqwqQBvbdgkxyQjYTCGBtyVSCSsEMnlwJfcwiYgUaFxRRPXSYKNfNjwOBqngmWjEKHFwUvFGWFNmzhuIRmBlTRjJSVJqthGzPIfShvJCVCKhiOFFtGnjFQHlaHBqWRcdGnkopnUXwJradFuVVQhQSklOMnGbVdKaaqVpAXiNGQSFLoHDMrDAJBNdACHFuuUaoCRTxqPScecjVNagXendLFSfKZuQMZmMPfWWAzynVjxKAFAenVgUZdlLdiqkOILKvZwnagpCsrVwVAlhvdGLitBAbwJpZTSPsawnpVBEOvdCWqnUSgJXKnqQvCQcqRGBjzREotIyJZFDOSbAWjuAKXAOSnVGACyWfYmHbSxFsJixgOqyqrGRWVPlsQpzIJUSYNeEUzxyeTYqbcGPDoqEBZjcVweoXWXuoQQQTaHqxJIfCSbfGniwMYMVRSABnSkRDpgoTiEEeGTbWEBuTcarvWBenvAolbRyF", "JrCfnNReRFsfepYWESrpqBVuYVOxsJzTojxnygukuCJkpdDqGlnernEtkmWQRcgpojuZhbnBKczNyEBuTvUGMdBqslWUWwxWtEjffkQTsxHFsCGHSjFZsVWqZSTdpiMQrGqocMVGqWSHlzLuNGNGLEzWyPCIwfkAVHUnhKnKkdKUrSnzhSkmSMnXDaWkRaUQzaAUAfeltpyXbPQxXyfYdzCDGukzncZciznNDaySIVKTibUGDFlXRBXUTWJkIHKascTzMRqypspxkGKfEttCWemYEGhbcWQLSvrtGYNwOcAGslzjMgaALJehiygEMBvMHqqrTvVvnlkhgCeFAGHQkggsMQJRSkUAkRXRFrHflfJGwkutTfPpkjRuwrHoQTJZEAppEpCkVjDuHKzFEIhkaMzkXIhqneWbZRqyplopLYtllMveTBAEingkIGjppdiUVHEsWmXEkRAcjZWhClnoPEZGDfMATmuLSHBipQLyUtcsEjHfyMWTrysEZnMhmnot", "wRfWkHRgvnNhTBtrUAieUBRtjSAGcADlKrhpfwZcCDMOTbOfGiLAENexXlTgiwxVBgQpJdmDcakbrEJxKjvvDjURMLQlLHaLBxoFqtzMSsBOComutPiLiFRlPvlaCDMyqjSsaZmQGYTcYLAPhTwfooXOoCuusWjYLZMsgwlkdDIxSiMCvgDwlmJQLftZPaNoyKtKcCiyzovKmbEbcGtNkRcMWwKJmMSGRpSvgkbPqnuhJTiAZnTkuPTjiqWRLMbxpFMWyNkMseJqiQnfnUzUQvUfmwFCJUdXzmrpyEwpjWgzSgtFJVodYyjHFGHGIBmciJDRRKqsFzYvadioKUAhynaxhupbOfUKqMDeFuoyjMMLxHGdzCjNddiyswspFUCtNhxrSBtslBcLzAkcPvTXBkExuTUWbcnOJxYeCiElReiHmGCSnuXSvtchNnGLiePzKEecWZUfPJVWZPeZJcWeGhKAZayntJRtLnKfHjUcRcwdOkAKDqvmbshjmXeDKvRo", "HKsuMOVIpLQTtzInoCeJkoePesAShUdiTqSizpFKNknefDhJnjRTwONyVGKwSDZottMwkBhaXWTrGwEtniHHknVlblXGRoYotMFksHFQpZXtHlYgpVgNIVPKXodoPFKTaxYxtkoyzZBjsHKHAEMLtUuxHKurPMePDhTtHBLnpheYwNhwjQOqQLqWOINTvRaMITfpNMcrJOFbsWNBIiVygXmrqySqKfjVuHNTcusLlGSyuvsCOikNwzKtQHNXbzytuvZuDhaxmArrgMZdSmKiueebqHnRuJfZdwJkJIuKGuKGjzqELgDdRGSAplLZrMzyEItQTNUKPfyOCgRbOVPsYABWvmjAcHNzAjruPEcPmvmkgjEQbDOcxZRqEDOMXfnvTAJhrrJxwixJUtDkZaaXIXFhyodQMFjzpiIQFdqsbGUVqjbklzjezWxEKNGaTlcgLzxVzPwrRZoJpvzwjAHWWEsZwbPsUDaWeQyyKpdxVHKXXOQaZrnOfFtAxhXZoHqq", "JbZyLXvDUttjMYRQchGZZEGKIfwoINhQpOkdSRlrLFtimQFiRgsZCBPhgWtofIcjDTFEDDcmipZiZSqkucEPkPYHPsIThfZEsJnxWbUQNiVFBGbXaFtLJAyrHTzMThGDyDBoqyYsnarArXnXCfeTyzTyVyOGqeASaawFdVtAmZTkimSZvkPTtHsuxmJJTeZXsXRQyHRyvQDLqBBAPMGPjOfeecStfgWuynffWnBGbRCYBzNHORluzsuMWrRURXeLmbPLEyLaFxXIVxlfEYLbDLnAfIPBNKMpHLOBpBqMLHrrodaXEqAjoWhvFlxcRpKHeoubFhrBFKLTECwWoHUOpYwGnBpeUCXZdgfxuBZdwKpgYWDGBuDWKqvLGQRSzZLeCDjBrYxfYEadyZLZFHdhZPjGWLgdCbOJIRTVxcyzMylVdFuZgGkAHhSIatRgIvNFfvrdRqKDStPbrmiSzwwNtvaWeWEEvspahSvJLwEqqMvRHJZsRSuEmnMLYyCaHmvg", "mseqzDTAyOwUTUkvpswldhWWrYoxEDYbuQtScLSDITYsteUFZxNWtwECmVxKTdWcbqXoTEgKWuNVmOUSQKSRlgwBBltGaiGIzRUXVcgSyRCNpohqJyTLfyxEmPwoEeOsXugzmWRHuuFuOHnZiXQKDEgZpZezkWCalxbZBRYWoSopDhToYCRMpBLWBzgxqPEfPrEMdoiLDRCISNjgOcTmVgTphRrdckXmgpQmnHSqPoOCAVVZlkbrYfiKkgCRrPpqBjZpDbPdmgdHwvYyBoVxsEBsmDUkKpUmnMiYqwFWYooMAptKYKfQvsZmKtiBLMvYvEFMOFzJaJLuxqfDoTrKRGcjkadSWvCQXpGmaNFVzKRlYrCHvVTXtHQMoQbLTKZRtLZVEsOuxEXFYoEBzZjyYPzGwBsyLgpMwfmOhiVsFbnxGMXAYnsnsqMwyHsaBFmnYxWQSXlWYCZPIXgNyaqtUrCXnrSpNqiLUpgDiktbZjesEwHdXbYSXbazAFUzjRKy", "pwiWOOogsYugGKHpphKaMTDTTymQKtfdGXrchlLBCGweBJdKrLpcHnYrbkoKkxKwzPPuwqglseyVaATqLBroOCRIrCDueFwLwlhzzoIVWHVODwszpGtoVcgkCPEqeZyoUyYFCJCldBnaDEPAdMLMNnLZWnQkvPszKolQSWiqfDNCVmAquFBAPDzRLDaZFxciveISqMbFDeYOLpNMnvnKwqaaQpsfmJVNfldqbkhseObhktfqREMLndpgvJUZYdmacvXNlbSzSKioegUxfesgtzChJoNpiqUxSnyzyIacTaFUUCKKgPZjAjwsGtKzvnfbcUWcFmGxwghRHJgGSVWHfOcuZyBvRiWDlssyMrlgmXarVHBGyxXYLcOQGdBtdgRiJbYZxBWjrnXYgMpoEfnoQqYJPoSTGPagoYSdmIaUsNSpElIUDcSOaUOVOMZMuKsohSawIdXLJBQZmWOmxxNKzsdWODlmkDhoqgFLXcmpBxNEDBDtQYsPIjfTEfxbbqbu", "bcpsYPtkocOuwlwpWzvFaHivdDVrzvIvjnyoTXnxQwblBcvEjGIVbovIqfwTeQHiaUHKAplyjPJJaEDVFEwbHHfWTgCnFTMRCeFjWeZfUoxEKGaNsrAykKTrrxdJQWoJRDzNKTJLcPNyxbIXeHKpzPvscvlibhQWPHscLuMIucEcrjYzSvmCFujEazjgPCtvKEdOWfkhOcDbEMozNRIniOSnmBPyrhOYZzsavJrhpQeheDeAQjvRUEEjsaKYprbVXhHMHHOWNZcNnrkYcYHurasLlZDhrdhVDgGKqEemXrsApwsaxboitgHfQsUfnTdleKbbiQuaaxTZcQPSECHMBWKawwWKwmxlAmTiziHUnquTrzKaGzIyMDuAnQmsLARLEbELRgAiVyhlerKORlnGxULqwWRfqDAkBYleGfNFigFgCeSNKHCAjxrCpIJKFClWdqNYtWInzTXbwPFGfCVwatFbuSkDZHgjLSPCVInHeSerzAoIXnFsiDmlIAGGIiLZ", "MDVwRFOGTZqnwSCOQdwCgNpZgFGjMgYaNakuwzjhzZvGiKvxPjoFLsoTfJgIkCNFcqeKptqGlYVSvqZRAHCzrHVDOmXeiUSHJaYXSofLIPtxIudSnfnkyrXCJLGWDYGHozxJriqeQTljmNoWUVfFITyWekiRRlNrcFeHwxtNHYPidePBdtEkXzNQPRIPfSvfKDpwcIyIDzxdsRfAkrCfKwacygEHLoIqXUkwISiRVAVkWVCpvCDnsxEaYuatGRfhaZIamGfFSwlHJPIqGDwAECKHEGpdJIwAfovuKGSgdjXiQoxuEUZGKxwAfDJYzMuVvNqwwlokLbfdEoDKVECqFePjPuPVjGAiwPGnwOJWjNCtIIgwJKNnpaCYUNhRWReCEcyOaycwItpumDIGDVutrzxzVYfPlCeHnFhNziRgqEiCkQmFBrvAYnhSBGJhfNdEbXZkRSpfggvZLxdkUarLGYUOgiLZQCWonPMgDWmqFYXOgaeLNMvROhDXLzRnfcGz", "oOyLAItjhalVSRLahZCcHODjHJCzdzthtVUXUrqOVGhrghjdsEzIDrSKMYUxVJIVXOAOlHeaGMAwgpuebqWWHeAQQqqZVtLwQvTDTVwdeiHnzRGkrOiAxsszUsiaqTJleDVJgvnnexsQMEnTDStlrsXMwOSrzXYcxrpYNEsJuVftPdMKSchyVwCghvmLvXWXUjBYPWEUJcAdsEXxmlgUOrHkfexRVRdDrVRbrThxBCgFmnbEAnKtwjvFAsOeGSKFfvgZvQPHPdkJLgcBRBNOrNvaYFbdjPiwzahDHgElFHpbkTBrpHzcFtGrfbGtMmPFQqWLamZbLdYuuZDlWEDJBTLrVwAHKbUbtnipEyfpTRjSBJQWeIVPazWFYIBEMFmrWDJkSRjuAjCnbfBcHyCyeSzZxxfPswLnnwrKLpVijQoUorESBTIwqfBkBIxhqUxWTSehiUcZDsNMizxVXgBHCiBSXeTzLCvvMTwpkjWKxLgGYErvEOWDwDuDcrpivpwq"],"c_map_smallint":{"c_map_smallint_1":10109, "c_map_smallint_2":56, "c_map_smallint_3":-26138, "c_map_smallint_4":4717, "c_map_smallint_5":-22820, "c_map_smallint_6":-30148, "c_map_smallint_7":17626, "c_map_smallint_8":-4523, "c_map_smallint_9":-15119, "c_map_smallint_10":30163},"c_map_date":{"c_map_date_1":"2018-10-02", "c_map_date_2":"2002-08-07", "c_map_date_3":"2003-05-12", "c_map_date_4":"2000-10-20", "c_map_date_5":"2013-12-25", "c_map_date_6":"2009-07-16", "c_map_date_7":"2017-07-12", "c_map_date_8":"2007-12-16", "c_map_date_9":"2001-03-04", "c_map_date_10":"2006-11-08"},"c_float":85.22113,"c_array_varchar":["SbfScQjEVTwlbxfpygMbVMlRztkVmikzqBYaARnWbsBLGNWyHbJuRtGJKEJGKFhqXCtjfpZmvdEQAicjciUMXwpNghMAvhGOJUpodcHtWhTpYlMRcIajPrWWFMuprTPOzFwAfzNdJLqxhtflxOjbBkTFAqIfVijaEpAldaZIktedsTApnbBCTBbvULMmJpYpPqIEyeQZCIjouvAspdUEdCXQuJmAyZLmnvyLlSSQGseAdIiqDQJzEqRQOBqgkBAQ", "bDNKfODLONmjfZrFTTgGHfFXnIrUdBHRVXICRYspBZltvJkEAwAEighhDSZkqWGIslllNauUSHgHSFMPjhBKjewtfYplcLCtTUQyAIwGxxGlBhqfauaLVxeZKAzszYKazKrZfAKHbgyUDVJFoSDgWvdYiwarbeNMdvxKLYwyQRUJVyNFcMGhqeDtGOxAJmpiRbcOBcsRNiVoHxoDfKOCtElghEdlwDBZQgnUZIEMEKfnsBUAXXsdAQLvmpTnxuMA", "fDdQkmAIrCOGIZQAGPDEMCizMYhknQUBJHJKHbWzFiGvyqUYLpZWrorMTWpSghdKzUTYzotMuSxvoNNAyrzdtNYDdaIAIHiiJuzZWjtABARXPnJAkUsOOfWTEkyKDGTyvqhpyYjljwfPZnUkhOrPdDluykhnpWuKjYfcXpxvAQkWQPJkFIDBdgvQNeGOTrCtItEyTVwenUKVcVhklwXjeSeVaviYgZGEzXjWaeYLzHbMtYBbGZpfxUNgpMbgcGxN", "yJmNPiigkodpdDklLtUpZMfqSNraViqIgHsOMdNKOqNTmbbsQGWecaGqVkTIqECNeiSNRGwDOpNdjUgzzBchBORNfUISVHJdnpnfcQqaYdLLHAsMGfbeilXYWdIGIuZpxsFrcZXnYawddhfnDAbYFiHblEkZcFrGSNPPckfEdXAWnSAKWPatRICCVnZBuadvpSOfCioUqGNPKBxFKcvheCpeuxcMtNMAHlrMNPOiEJupcYxZGRcbnvWXpqSksCqe", "gbWpWEpqSnseJCIOFVwUeDqiuQTjbKevDLQWCpkDEWlGYSAxcQHWdICsDxmQdBsQCmEttDPhrVCqhilsVpBGtmBEBKRcWFqNVnJZQhYfiYugDLToVVgQZIjRZTjFWfKeVrtsuJTqhGuzQkozLbZSvWXhdutVCdjzLXopixPtYBaftoGtnNPteRHxHvutWAcBYinoFpcLFBhOTMuczhqnCrWnWqYGZioLdElSAASRFZFCQGIyyWzRHXpGEyTEBJEz", "qoYPKzWjZSzWNmuqfoqKaNaDJKThBmXWAoWuTFMAUqHdyITxdLSwnNrgSojRKrZAcMnPqPakAioBBIhUrIeRGUrQSmhSmejgCcOuHrJMcYMaitUHGmqNNoMSRXoaLxKuyLbybQCvqxdJzRUVhyMmMOsxxkGDKBAHehsrXznCdjFScPuRLxxHlHxDQjgLeTMngseEGnuUlLBgGyjCXkSRHPECAHqZRChZnhwohncTylUGJcFnPkolRIieHEmsNDqC", "lIvIsIuifcASGPJIVqoyYxYArSvfVsHOkgjKGUIApmCiSnNuaIAMioJLUjwzoDjBOypBHoKGFrCNvQfuwxIXTIDYYyGxcTgmRoMYmPRxrbhGQMwRkhixewMwOqGwMIHBwfxNOcShxdTJmjMDIaNgTaYhxWvINRRJjPdHMQSMBVwVgoEItLEhzKPFPlgcObGhyWCQFNpCeqsxFythvhxAUgCBMltHrTlIlKpTyZrAbZlDnmMEFCLYISSPktZBxhhF", "ApIxldJfdWlKcbAcRxEucfdltkSYsvfcvWBdZOgsSsKMHrTSOGcizoKfWOKxBcuxLvpdJNaEqvTNMcaHUDVTTbUsPkvpOMyerBrqckkHqSABLKhNwUmoFjUxKsqHtJUXfPCrBsvCBfspNRtcrIZiqjDMiQVfMtUmdoRUeoxmaMSKrSHDtPDNJOrIXRfAJSKnEGBmrMottGlZKATIMuZGJlgVDlEUOcemWHPMCkaSCledSDBXyTFlblaLdJdBRAQR", "ZAiXbCIEdFoAqWENSRkCLpPLyfoMFvNScHlGklnuPDnUBgWwZNmkbVQTXwfgjhdidQutZvfypyaMkKUJgHXuVzcKoohArpdUeFUOctXbCjQlrzVWnpRsBgaxAGhOplaLbaeHMTVilLOlaTjliyIRiMxsjrxwhswdowqNWndABENYFPjhAuCHUepXwBDKuoBHwdlgoTrqPjeJGstKqTwlbzdaSUdKnbCzzuBdEvTJbTNSWdXIKAylanxZyJUhlOvm", "RSRFwaNCfWUKPALJSuaNlspgEzsHRfatzYSPeCcJwcmxikaQqgpfDsQNmHgMptrgzaezZWfvjKqkNIeYPuWPAstqCLNHSKlAjKjDnqIjwQQQFwIbGdHxNyIYCwucWktRArCDCkhFSJAQCkgxrtqNRyGaGPbMhpgzhhEwCDlvOhGHwBEjUPrjvfHgWKySUSkpPUcOjcmajmCIkULGCtDnseEFmZXnZbYpvpnfAiLgeurUASABahxBNrORSCchDmuc", "fWdTNqUtcawDrrwitdbxXNNpIRkJVLzPOnkQkzQRTWOSYpFCRSfWtVdgZjWssfzwpTHaSyDEadcgqbVKPNYpUWySlaxJrWygBTinnVfHuwsetJocRNQsGhgVLIZyvSYkOIyACIQbKkgOMiYCysWFmjhFHCDVxvpbsmwgEmMuEpyucgYcgWqMNvOHrUGqopYAEgeQGTWMlbWvfjpeZhcwcIXJMQQSWwPyZLZilTJgghofzRMCqBPQJBXEOnbSBIxY", "pNkCVgAzDPxhaFAVWUHsFjpgGQBBExCGQmDmzkDDebxqSaYRgNsxQyPBBablWpEtYQobBAVIIxWubJXbXiokbvtOrzglDeeHpbxsGEIXaxiJCsrfijOnIAFSlSIjCRSBcZFUbhzBglCfxNLcgYPSqawZECQbIqnVFhSqORDELRNwOYqDMxtkTJgFzLFzMHfeGZlxxYAJhQcZEoKUMBqhRBnfGzfJdtDUKpzuaoCescSoasTxSbTKSOpjFiebyvDC", "QxuRRVtreelWFYfeFXThQusxYkjeaeqnkdSyZaxhRsasnEgmJqOdLALTvtLVIadVqRQPGaajtpeQFNiJqlxqjHOUQezYQwrVVwLdInerUExjMiwyHFyPJhHKgGhZmbYMpAQfosPimRGymXBkITvFvtTAnJBeOcRJKWErPSHTNPjnzlvizhoWJbfgENfkgVatxOmTwfeeLmMVQiEpevsmiBVoMNQGsIErgheIWMIjjrusbVUlXorlEyWZCqLKzkjo", "GXMyywpCVXNimAVReTRRqyQiwBYOhwTPQtZdxFmzJlZpCgBreDkypzUNRlVSXHOOaGiBuMajZCxqHfyCdvaIqNBGNKREiGTeudyHqFmfPLoNsAyXnKysrvRzWiMdzhoclTIXTEgAPthSrfzIuyiqGnWdauuwqUvFIhcfUrTnfjECHrEvzdGyWDDIAtXSANaDLxOXnmGRDbpswIYPgfuAKRScTgfDDiQCIbXmzYcgrdXuRuTSLybtXVtuzMOBGVRJ", "ECevAyMsWWVCmtRfOyNfabfewrYTTJiaOzSzqSZmZYJyyTXbUXIeIjgRWZWkfxkFEEHyaiNnutEznMllFgjBYPHlfnvxGnovqAvmDkdTWzqiYrWAfjWPDmnzRKPuJUEMSbKZbCVcJbkcyiseFLFYQPUNWGvnkkZQaaHCyCeUDsueMmahTWLWQfYjaTZUXjECgvBwpdTcudoDSoMyVAbmuwOYYERqIikhFQuEzYzfpZVvYhasXpVpGdfAPumEIOKD", "kwYSEZKUmiLpaxwwTeaKmAeTjIdPOYFFmejWrUEJxKRbqoFTvhJWMlNUCxZFLNirgpNURDQEymKCbgkuBKcMlOkqsEsmRlJBCRKrUFyqnjhtfdespnzSUpdEgnyDyGlHhDmqrRVolKfAeEFilDyNFnDXjjRJssrOfwfcmlhzaDsuOijspbqKuHsdtPmPMJhbemqpADcunOxBHpoljqGFtfiZSkRMVUqenWsBPHMhpImIJKRmgvhyTwBSmyZrvbFF", "OAtLFpvVYKzbErZSOxvaZgKRgVHGgxwPcetiLOXxgSwiXxRgoZDplZRRfOfYdXrhRCajeiiBDeQYHfHrymwSULURiSooyNjttYPYvxtWIayiwVGoyuwXYBPmWNyIcRHROQPTuhPyUksebejaFuFJweYOfJDYKVpBgNyDbLeDqgWRSHmPgsMtjwLuFsLjtNiExhpcWMiLcdtsFtXaMOpsIREDnTsSMyYOxgaiBEpaffBbeZTTBUGGsBpOEZhHfVTo", "sxEDcZecPHVKwhlkUgSvdwQLUrXVovaWcyQCqwGZGNVNqHYLXGURTrgtZEPjewoXdlmzTGixJnbiPBgywLhKPjjplGLyOqqyoYbkABkbgdCGWSALEbHFxvKtqlHapKebbYrrveooHueHthGotntSFtWGYOGpKicPOvwGkFAGdRpeulDueSITmuIzVcRRMeIRDOkIWjwTGpvjbIdcRDVKgcxUxKboMPBwfgzkUyoHHlWiakdHQbYaaxbnrwtBiSfZ", "sqkawEtafyESaSAQRRdRQrVcSxjuxJOjTuqgwjkARWzCRuuIXNOzwehKlybncStRzDyMQXTfnFGBrzlRaCNYAnafeRHLPUWrEvbDNFRXadtTKUkOMeSXZYYSfOfSabNdPrIbObohoroMlaCYHaDZuvoGIiZWHejfohzrjgoBMgZIyFGGjCpmVBcniyVmqpQEhVUWtYNhLrQNNtczxoipNIxohfDzlsdcymtocSYVgLgmNlAJygoUVPmxURpvMGjK", "NCtVWSWLaGbHjODdNnacFKtbPJcIdaSqIPalFWbnxABrfrVSGPvTqdMplFfIVKtsOXVBdyEeXTIfTuPYTUOvizoCrBXBskwBaIcXpqDVWqwdKWaIIvmMAPaWdvWBhBzWmyVRPSSkWDqWItpaMTYiweUwTBYSMaxQAczPLoRnenFOKPXVIVFqNvbwtZqgwLceukQKzUXCvfuWskgeEtKBvFjnjsrVtOgCFqQAKGRzjVrHjDHSneJDIhIPgecLaDHR", "upZfnHOiVmLhjGfyAvkqOaslrYgousspoPFxBrPefzJAfScUKFCdgrJSJIqZFOaVwBYmnpgWUypVeVEbNXOrrwdDtKZEKAiZRaXszLssqXeCGdWmGraIeGnTMSyKNKEwcoLDrLzZXAOsWRTIBznYgYeGCoGLuLcHrGFDWayEbPFNyUvuvUThdvHGfvSjUMGRhSwmsoZtInKdteGWbandpsUNjRWXOKPQwBBrtkpdntqOsZbfIPxiayRvOrtAxkgE", "GnlsUbTSecyaALxUcBlvOXMTYAbGYZjnZPNFPdggkOQwcHBAhEnuGGnaNABnHxpjgIQxwVSbFNBZnTbtgzLPRFsRFYoazNqHEnxQKcvkfglmJLAUDuHQZNgHZiHEtPLAUXlAOFhKSUJilqjExjwkVMbaahmzQPkRJJkqQNMEbeoDucnILSTTaxISWeMAXykkboAFQCEFBXLDRvwIKdvtOdHLMOkWqfSyqfKPXXRYiijJNmTyThCxNzsLjofweZSK", "zSKMIieeoapBZUnyfOqYwaKPJeMnVjlMsVIrrqRHybXqUPqQbWBeNfhylyTpZmyAppSdwuLzcmONoSRqJBBIrVJhasvteRbZXraBctbIYmrMPEtxPHeoIIYldaocFUvdvfjWOyLVGvZFDfBRhLLZHHYxMHjDcUQbIwtotAQGvnmoRkqOiEjXBEQrKUseQWlufMTDFwYWMbQINPJZvFsGBXQWtGpISPZQaoVqoLJUevlpaNXCUvYjVDGLKpAiOFMC", "CcCWWXcxYOJLozohuzgsvyUhepYWzQpsvIzoxODuihsiHGDArgQKYgoVZVjYgitICiOHDWyNJyThzpJQNYxRXdRhudFPZXjnBLiKHWdtjmuRbInVsrAzEhqadmzNgBlpBqWyQwziSHNyjFGPytoHOGcJJtHfFjuKlQpUcgqUOjzpNIGiNmsAQJAPbdRENIECjYHPUfxKzxBDHPxWmNalItEPTtoIAPiZAFhuWKmqKXNgDgIjJByWpQliRyGMLDtU", "MMCnDfxRSFJlepubdXSZLTQZLJPDgcyYgYSMebnbiYuBMCQGSGiPaweRZVLNiIxCAgTnmZaZLGhNDQUIEPJjeweJvYVGNNnXrmROQBSZDNnEorUaCnRvwgFXKnoxxwOnuDipggyqRzzhGXzQCKBcQdteuaHVRJixDKnfxzrRqVQCtsqTmdgaZZAiiyozJNEVxFNYyijSqDATVmlAnqjeDSIyAxtilFQymfOBrPKYzUhFCAWwWXUXqiGjUrKzQyil"],"c_ipv4":"155.193.38.181","c_array_tinyint":[17, 1, -109, 108, -84, -54, 95, -126, -4, -67, 52, 25, -50, -102, 70, 79, 117, -110, -49, 58, -116, -97, -16, 20, -128],"c_array_ipv6":["NnGRovLSrf", "nYZSJZDCSi", "AXXinlnnUO", "HQTLiebBBi", "bCpLHHOLTH", "aujPnTJAza", "nCpOzuDViY", "hsLOoPkKaa", "MWThFPBtts", "gFMNkatnvl", "dBvVFyZVbd", "DqAmiWFQwV", "DQqkPkqyHZ", "TDNLjCtTpj", "WTftGFpiHG", "gxGetQwMpT", "oMejvvWMmv", "wBpRxSiOdC", "AllHqyDbZm", "pQKfiNwgyt", "NlVCfIiYaP", "qGSpOHiKJU", "VQPKHWecYS", "YDbEqqKznn", "XCnhRqrEjU"],"c_map_ipv6":{"c_map_ipv6_1":"f45:dd00:b9c0:68ae:865a:f6fb:2db6:4402", "c_map_ipv6_2":"2254:c99b:1f56:a602:d76e:5d62:f66d:c234", "c_map_ipv6_3":"bf69:8336:6f05:db58:dc16:3e08:88c9:c25f", "c_map_ipv6_4":"c9b2:9cb3:1c8:28a3:1992:4689:b24a:c2e1", "c_map_ipv6_5":"f9fd:3e98:f47b:7383:6493:12f5:3e9c:6d82", "c_map_ipv6_6":"b35d:f7ce:f5a0:c730:ee62:aeaa:aad0:998", "c_map_ipv6_7":"3b7a:16e4:ce2e:4571:9410:e73b:73c5:d63b", "c_map_ipv6_8":"b15a:68fc:45df:3131:d2dc:b3ae:1f03:9c98", "c_map_ipv6_9":"40e7:101e:2d:1b3c:3de:7588:a628:9b48", "c_map_ipv6_10":"c10d:f763:f263:9a72:621b:9468:3e96:74fe"},"c_smallint":-14712,"c_bigint":4257544714512516271,"c_json":{"farmanimal":"Goat","hackernoun":"bus","job":{"company":"Acxiom","title":"Liaison","descriptor":"Customer","level":"Applications"},"beeralcohol":"4.2%","pronounpersonal":"she","map":{"Victorian":["repeatedly","those","exist","next","yay"],"between":6257115,"differs":948213.06,"none":2905691,"quarterly":3977796,"these":["noodles","where","everyone"]},"ipv4address":"10.168.167.87","middlename":"Glory","fileextension":"cue","inputname":"status","float64":0.2028287406498276} }','{ "c_map_datetime":{"c_map_datetime_1":"2013-03-28 12:27:32", "c_map_datetime_2":"2012-03-14 01:42:30", "c_map_datetime_3":"2004-04-22 11:44:11", "c_map_datetime_4":"2013-07-09 05:43:21", "c_map_datetime_5":"2019-08-18 21:23:22", "c_map_datetime_6":"2016-12-08 12:59:15", "c_map_datetime_7":"2011-03-18 07:22:14", "c_map_datetime_8":"2019-10-10 18:59:55", "c_map_datetime_9":"2000-12-14 12:58:50", "c_map_datetime_10":"2013-02-27 12:52:08"},"c_boolean":0,"c_decimal":87.1921,"c_array_smallint":[-26104, -30586, -4189, 30877, -19962, -11379, -23211, 12791, 16685, 31840, -22581, 23426, 15512, 21533, 15966, -18792, 17451, 23073, -22330, 19369, 13933, -10686, 24728, -3174, -25214],"c_array_largeint":[-2852597741283236848, -8627198153026735002, -2217558549909303078, 5844720197758743516, 3834930746201254467, 6458726323519422316, -6260972036612184995, 4711563475109542574, 3607113340476015947, 2366430578188892531, 8821846390477849676, 8306620613819282366, 8530907429371246319, -2517831735871582494, 2549934435720237229, -1889723693414817914, -3482269838401772215, -8939717445004179133, -1188040827651625940, -289429558075377305, 5308474882019220502, -2947688985180575164, -938374625849690417, -1612035064972340067, -7128526218505668482],"c_map_double":{"c_map_double_1":28.407367303165884, "c_map_double_2":0.5109708426812338, "c_map_double_3":41.82432338512861, "c_map_double_4":36.445842218410505, "c_map_double_5":67.35821479876314, "c_map_double_6":79.49947249013968, "c_map_double_7":13.880051211262467, "c_map_double_8":27.297940541054412, "c_map_double_9":89.12902247527168, "c_map_double_10":0.4497733861873664},"c_date":"2002-09-21","c_ipv4":"12.240.211.78","c_array_boolean":[0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0],"c_map_varchar":{"c_map_varchar_1":"mKVrPfCdzgpfmCQnhhWdxqXtqKjuiGeulcpfBnRSYcxHgWHBwmKtMnDjQSdigSgoLbCSVwEsQUsvfSfhocnEboIDYIbKRWACFkAnFyUoEnhpXlqAadPMropVNloOOeoSQysMZfUlurXFbKNHgrGZuKEWvsWQmMVfxWtJglNkwuflgRiLZznwPzGTgTeUUpDDIZUYRpeMdSyBgWBlRcfyXJTtWirCxlvAITruaozpxtLjeQqVxJOvyAWVWtFbGyWe", "c_map_varchar_2":"zcgMsaNFjROOeuyjmryBzfHTmpPnxEDHpMthkHnVkEicWyQRfBylNzAiUykwFdGzwkKURmbuNhknqRRyzgHFbGESOZBpzTlULMmXhaLiakPMvCpjEIIUpGUjBGyTRQVfhFHObUxZqPTjVZrLaHVJaGSnQVsyZxBCssWaXIEkDqSqlgVJcnBdKyxrQhwFWVckuTuPZfkWTNNEUbxVJicwwekhYpvRBBzxxSQTmpcyfOMbsMEfYgberlPAqSzTDkYZ", "c_map_varchar_3":"PcUDrVIKjslXBIpCxRObLzPERTjOQfhcMNZLVfbdDalhpQwcnjqDuxwanUyrMsipYefAmXHeLNPmMLcwTmOnKrNRiKpnkjRvKEMiNljluKgBOqDmKXxNEvlCllRrjMlpOfQJohxnyLUsoXepZHAQglGXmuVkmyUFuxWyPnSVjTQVdEzdodIBuSCbduWtohqMAYvYcVwwWtuePfqBixiKlhoTVwTNttLMSkvXlWUimrybhhlDnNQntEMYnheMKFQl", "c_map_varchar_4":"HDXOEXjIidRKkAmitfDOoQCbOFfBSmbaaAZYejHMfIaUywhrmKajkczNTswGPIOwYWaLmTBhqnZjqzXmgIXwcomXsuRmgDxpZcgssfrCMGuqwLxQychiMsYtiwCoHgSzEZVHLWZKvVsUUhwfbvEzldFEbJhUvnnzfNzBxazasxGYenZdUbOFDYvLARWecqNyvyTcLuBCnVTawexRJypJEJmjmPmlcEJFNCzEfVxsvnUDeLvUBSKAWSXMpJqmaczJ", "c_map_varchar_5":"ZDYQUjbdXLhSCedxXTeCUJRrHfDAOSHxdrbIolBTPlncogpYvOBGdReDzlISNsQzyIyPCoKmIyXDxHXSYJAqlnoPJhwEzHuHWsvKJRHqqSfMFcTaMSGwLFCaxwqxaAXBvanGFLWENfDSUHcpeObnzeWeLrpxbvxawluxAhjccHBbfEFrvehCsYpFBDlDCBpFLSegFrPMuYCHSwxAcdCJORWWIotczCISctMmuMHnWMCZEKJsNTjfGhhUrkSWTfwY", "c_map_varchar_6":"aEjXwPgmiyQRnwKWvOMQSAXiLWfLIFNFNbvbUomRursxLFXaHdJuTiqcErgpjvSKfBSXkoHEUYmUphqxmekpNfTQfHLlKBGVhCIqlhGiJEezEiOPVdIUWYKlOyowtXfCrIBMLPuPhLPLqwOhiiqXxTWDTgEiMDbKYeXScfLyJmfBDHPGEKqgTeDobKiOQRFsBjUytNLhrxWIsAHQZBBmYPtxcHJiGaLdMpajSspTzYinfrlrJQFPNxOBeogGYtXj", "c_map_varchar_7":"LwxzytcrGqkkVWlRtdgpnqsbUBmfEhcZBrmjMNDYTvcXObVfRdpxakWQgbLTGCsnRRfGyWYdbNveRQIwLkHgFaCypIIZnzLnMDuGGWoSdDrsSTGxExiCorMbKDyKbzEJjijxDUWXHFyQoXkjvvFICdrkcqUUAkTyksQePYuWKTAHgICAyWBDPBERVVBRsSkowGNCFwMjVRTXZGvofhjXkemoNYODNBWviakfkygXXaOQVySbMjIFtuYYadqNCSQz", "c_map_varchar_8":"dEmvfSHBvBPrhrFCjcUTzTGSguUFryQRCFGwcIObNNhuliVVKIFiuqeBeiTlUwxiWhFUDpjdXoPcsLulOLRjDFDnnDBjWayWpFbOhWLwFOHIJgFVDHeqCGotTHRnmnMWMwNXaIrqdvlzMhIgVnLHjCzxxeVyOxlXHiBVVceurtFUIiVNmwGGOozZhCUoGuaYvHjnqvDglozaqAsZhmTdXNqptgkxTQtdiJCucVPPOGlsbLjBriVhcCfrCpCfEWIn", "c_map_varchar_9":"dlzPRVZQIRojTOuTAMcPHpHUIffObYFAhofBCDYjUBCSqlxXaXbEJHrmvZdyaLBfNyVkKKJlIAEHguVRZGyPHBaaDbGfpCLLHtTOuhBptuBUOIvcUtanBaeCqlNGzZVacFMzjJFqDWfDxmDunTzxOCFfpKcKygxdqmwaLsllerQDHUFaCGoNQXpbLwlRIOcPRHvSIuhfxOsrdhzBuULsBHEpbvqwOjYGTXvZOWgrrXXKzqISeuGBdyFMqBFJnQIK", "c_map_varchar_10":"ENEmIbKYbmZijFPYHtVEWOEIxJsiuJhYqHTRNgaFroJauVpXjYtgkJNhCkhcRwSNlZBMgZrTYXowZSfMDvlPXTsHuqViHxyYcyncSwHYyvJgLFRJqnBcYEfZLjRWHJRieDxbiUOPFviCtkIfxWRjfUSJYXqqBCSfgUeJkSyvbgHAWdmHFCZEzFHNpyOdnMUduZBJpOzxnjvRxdoWsaZSfiONNABArQMRxCBAxssaNymQSSMKdpNcPNecjVLVlTEb"},"c_map_char":{"c_map_char_1":"cLTmsMRjiQ", "c_map_char_2":"cdROIuRuSv", "c_map_char_3":"fTusgVPmEZ", "c_map_char_4":"ouYTBkCOWx", "c_map_char_5":"BjcfTtydQI", "c_map_char_6":"TsWLTyasVa", "c_map_char_7":"muZYryhOhM", "c_map_char_8":"KJbdTupxls", "c_map_char_9":"YEzOrWsqOr", "c_map_char_10":"yIBDtGqPZA"},"c_tinyint":-83,"c_int":304845482,"c_array_decimal":[15.0962, 62.0709, 13.1130, 27.0773, 71.0048, 72.0325, 54.1130, 49.0090, 89.0785, 18.0540, 57.1301, 41.1899, 11.0786, 69.1177, 52.1904, 61.1228, 23.1069, 56.1728, 77.0643, 4.0213, 0.0033, 83.0028, 24.1481, 38.1678, 93.0289],"c_array_float":[9.187458, 22.220488, 53.666256, 52.981716, 10.209655, 20.062313, 21.492071, 91.07602, 79.777306, 70.14917, 47.543465, 59.79587, 41.602028, 13.31883, 25.11516, 61.714424, 26.923952, 68.76848, 97.14831, 36.120884, 100.19528, 28.517254, 63.13167, 46.625683, 50.855377],"c_map_decimal":{"c_map_decimal_1":36.0528, "c_map_decimal_2":56.1302, "c_map_decimal_3":50.0184, "c_map_decimal_4":19.1802, "c_map_decimal_5":49.0110, "c_map_decimal_6":16.1859, "c_map_decimal_7":20.1117, "c_map_decimal_8":84.0274, "c_map_decimal_9":96.0085, "c_map_decimal_10":78.1704},"c_map_largeint":{"c_map_largeint_1":3436661786667705714, "c_map_largeint_2":-7763122531914656904, "c_map_largeint_3":-998928790526020414, "c_map_largeint_4":-4805890084905686407, "c_map_largeint_5":-7965006307956640236, "c_map_largeint_6":6196591790746535334, "c_map_largeint_7":7582247232023404221, "c_map_largeint_8":-1755693158145949937, "c_map_largeint_9":6489729297710180302, "c_map_largeint_10":-897711356881764043},"c_largeint":-3877564868688426119,"c_float":46.631542,"c_array_string":["bmVgRVGIYMiaFBZpLClehIXMFgLqpBTOJZSKkpAFowZTbVlcieIIQXbEPGPlWvIolpUjohlMRYjIMYZhybZEghPkcnTAOGmZPsMJkPknBJWJMxjrNlvZMXNRwpSZEbfxZutNQYspoWpixdJuzvidNNRpQYrnqFaKlWnlnZCUcrHoaqmJhPZOTMTYOnytzoDGvrCFcCZtxbIrtMzTKtnYXzoqJRtRmlSWIaxZZGzvsDTPDbwTRbosfwXpinneaecSZFjzqAYOZaywQcbnEmbaSbyjkunaGBNUpfJcBDPuwxDmifeCiFYlbarDFEWpwrRvWaHfGvzywOcFfUVFoErmsDFGmXbOrpyenefvAXtDXPvEGcqYTQzxdpyaLsKsyMKtlThSRvDANuBYRNBArEYvMrgxwjgbcwGoMzppydjuPUGiNdWwyJKgPariRbuXkcTOTTJMNJBSRkJfnyrJCyFDsIpaCegzBoZRTRzeKxpxuVBfhTGaqyjGcCVBkrdxgoeY", "bhWmjNOhwvnORAPadNYtTYkbXcvzsjcptOLAbGLnHyASflXqMEQQnrmRSVpvrrOVkwgaoLToHyOqJKlNOpOczzCqqPtWVNJOfeEPATZBGybEGhyFocfosNunOWcATUZNMKkfdSbdOANvTmfIPbzhMdTCHbAyVnjGNmTbuTrvEsFEMwsTTZMCNPtUdeiehSmQFmKIdcvJlbERkojrLKBmtpawDqmvqvRcVWEuzfplMOsuEZGfgzthaaWeduIQocDxxJeCKjSntjZIMXUGXjMGoslrqIEsbIVkMUTvskxmPKHjEYmydnwcwZrDPYVCuKmfgfBYqYCkJaIHHjlFZbkPBCBejTSPSpXqTYKdoQLiXlikqghwxOgyEEJohSXswDKwKXVzaXKkrnILJdPLABPCPrUPITsezfQwgfEoZnjyOcKqHnyNoUufSHSVztURLrelAGIBHGbcnFYxoMqAlRabHOHcpHlTOAHsIgyamLmMTdoKzgXosplBVIlOlWMCIlmh", "pQUXRmzLSSjzRZvzRFkEGNWTNQZKcmuCnMuyzxRPuvTgbtENTFywsvFndcfeHidszOGIKQyjpoyWDRFYOrWJMSdVdhcLNnaJCUxtcQuaUHTGNYiRePAaaiVUaeegzsGMHrtQpWecJzftybRFHLfPzfOlEpvfBCtFDjRgIGBqCvLZxNhKUHedyYruqlnsYbZlOwTDVGCaswQEwOXeVJeptYUJAkyBzIRXkXwAeSKuycDKAMnBYPuVssJUcxMmSGpLBwbXhXhOOoOprHMXyvVVoasvWykQQogsnYighVYxVEwZrShqZLtohmeWRZwRwyXqqkKcJWxItjxXUqfyZCSzSzoxLLIzNcqgGzBVoGUCAmJJYqjAHVyhjSfhadYLMxdZbbgpyBRaVajnTgwZHvRUmQlPJSIGqWHWksJeqNCApLjzvPsJQpJStRyUyhxAHCxfMwDXGAXVtYeSPmoOklStaIHeETkNYpOVWMUPxJywAfVdrEPqOmlXZDPLHfcwzuko", "UgeFIceemJeXIzeVYspUAANaNOGwLZhLqunYbvEdGjLrEMpkxlCCKaGhfJFFymBTuNwEhnbHXXAYmjDFpwSGfVLoUsLOOGDmpBireEtOIXYCNuArvbPjAsrKPmaIqLTDfGXPCancIFeOMsMzvuHeNgPkiCgQsDfWBhkJqDHMkTQgiUyIiVSRwfnKVOQkrOeINQmIkSGMobmgkIACuHRpQQnaTBDsNkLGPQpeWAIvaWeokpArgzpAZhIXyMxqbDypHCluxmUaUClVMxoAFvCEhkMpjtTlkRVKlerUpTYeSdwXPrYeSyIbZITnlVJRhrcboloAvmiejDBmHbttbOvLQbSFyiRaFNGEUFtfJpbVMlXrjxkEKhzwUdaTGJQKOIVrFVLBUXtkPltRAPyhMdurcwgrVUhTetijTQyNUKOylJdnKEzwungMMvHggbnBXJQRLXwqWFsooWDXMaiLlHZiemGpjZEmhIljxnbNJBePokMyYwLyKCbruQEhlOVPtReg", "IQIqzWyfJqhgDMUjjezThfZSIVpcbQBXLVIvNueWHxOaqOBjuUugGYYdFmZpKuauUsbOfZkzktUyeiOkNPexUpdjbmXSaxtVjvIWlPystjgmaMPmJcTCYwmRAIcLHaKsvvwpqYWPPkcFCalBDiioDSogHgHUspWiiWLPzZWPGAmitaOhBAOtHuqkOPMEofKfoCjyJweJPqfgLPCTABeCXMICsqyxSPzIRKSLUepSxHRrpvKyuEQyagwvBUMQGEzPhRzmbLSMwIKpMuBsKQsFRbEauHeuTWeHgRiqFXZviDOmTdjtGAkGDkdtuZETiZXoVYBHcgJpNqekHmnXBeNLLlIcevzgzzVGZHycEaBYwJsALNrEDtfqNxbjJMKCoYKpWMvbBRmQijsEWqBPFDKvBTzczLzbJyMNFVRAtENOiZetEoPjBZVhkvWDFaREoRPncadcItcMgetZVVgEnEqCNojNfSTSknOHuOfOSQTyvkmDVJRfpNbwgzRPGxayRHQv", "FYVvoSeqtdFvdbBZgKWIEKhMEgbSgjINSmESoyBbQBalviRVokIswpQFJdKAMwjsiOeBCdNHzLSDVrydRFQifuciGgENzXJHskCeJjAsykeRSGyzGQeIYItjZVcqNplJrHSVxYbvDoEInbQHCIEEugGkwLwKZaVcaJYjAPLLwQbgfjpBzsklpfJXQxrhIFaXiOuwWFgikhLvETSDYLShzYSakswrIjQmXWRWLmgnGoopzvYiKWJEHwisIHrgmGsadbSDDrLSzvBcURiHwnWNyqWFIrJvXujtHYHmqEADdqOraotbyHbbahjjjMfjrDSXLIIQLpfHqqZSJoENCZWPbLpaTQzHzFnaDEvoqmoxSoCSFrhIoViYMijXxketTfNWRDCJewYzYSOUKSymLxsbqZyEhDimOqnkSxcNaupNBBiwtKWAHHpwNjEbkYjLXmAApEIMdgLAbZigtQYzySpFbLcqOzgKVAEmhtzHVFBFGnkhWvXBdsEmMfVvUkRBQoRo", "CpWZGIwDiaOKwxbueJSUememRnwZuZcvuMuUhSmnZpEsqTZPWBKPMLLFccGtNpTikALdjASPiEiZmWWedzBKDQQpmhRgFPNwemIOrtWsDIvOXjNwzCsJthqCnpKDDVhpgTiJFbawgMcyGyhwMOrQJRWPfSKmnWMdtVWJxbOWmQezSkmCvBuEUtMtdGGRneIwWvUCyCfjXkClpnExSzrwEVwXsxqkqSwniJomMmszRAFJGgnRoicdMvFAcuZdSFTvflKhGCoDScMTUdBPEfCRAHwWdBREYyzLbYlyqGStoYDvqkkHuUUUqMoanYXZmMCDXzxholiBBEJIVqcEuTAyAGRKpxZiFNKYfCfrVeBxGKAvHYAHqUqjeXEzZVrxeBrSZnxsnNrZKfBKqrysjjGUyWxJGaRYwGvFalgekTcDCnRPGMRiuMWdEsJWHEkjdZxCVsYJmMiBnactnriwGdiqFPANIazHdmtTUXliJqaJoBUOwECvsuNZJfBnUszWubQj", "vhzIPmHZIUYqcCHwYuJQLzLQCnvMYxdPsWBpsaIqnDYldAPDNEliiRxFNcCVYWzAdfLJjqsULCDnNWOmCEyZNypeesSQmRekBPRkytJWCJCikRHrXBtGbQasjzVIAUQplUWocfArtgTYPhMnulzYVfbxRnWsmfAGYxZlPyisjypRCjbFDEFCXKZeDzfJIhpgbMSHOZAEIbBVNKnuKiZIrnSwPOIyFfgcDcFZjWhyLQySHpJjQsfbFgWknFWThTGTzLFmszdLUvAAukkdlDwhvxCuAmRBxBJTzOYnelXPClkUsCCqkoVRuZLvoWDYjWQvqbcXLIjsufGoTyMNCEqEzyiexLabsKKPwhSvovTbUqwbJnkymUAtGoereqkszsbXGbSLbVJFwbBFymZoYApclhEGQijpGtWGXpmpjqsNDMiZHnwgBEVHTdOEnGZGZYzwpzntmrsbpCDxQbNDSuDttkaAblwryWxONmNdDJnoLWzxjIVHhAvTXQTzBcfTSEOl", "HECcLTrLFuZfoYkNMVDwNjEZvFMmtnlgWPsmtuzBKfzThmNfuvPtfCeBxfwxbrkhvUkdvILmHMwpVBJZIRzYpLENCxrZHEvyHIgaDdHlacRvLHJGdubwsPqAallwrDeVGXmGruuNkAJVwpWhcWeDODMYvpbZgQkmeXfDYariCXgthsWVVGuRLxeKxvcisGSqFOQvqpfUgqWWuYvuPnlUZzdpMFoddzFbLKkzgKVLxumBCoGcRetWVTReNgcXXkNnLsisJzHcRRUQuNTErWvuOtJnrIsPUKioCoFvpnAbuhHdRLYBamtgWxaXusWJXphPzxFSUuqTJAwaNdNmjQBMfRsKwcNSPNPHNhDDIsiwftnviYVJmEadRicpZzrnRRtOnBzKZlJcPFrGUXtdSmVZLMgTsbMtQtBXLlxgOMosaYpfGkRDTNGOyyJwBYQfJLjNGTtlaIXQRoPbBkYLFcgePwKuHVEBMSheSIQgHwycOnCrpmWTiInYYDHEVmfZzawz", "QrQhzNbEGHSFKYzFyGaXVkDzVCGWDvFCgGQhLBnyPufjOwjYQXHnPmFfDZYFEMSwdDhGzTpleGmsLlWLQFqTPivjpghhwwGJmeqOsyyZSMfYXXhFRbhbjHXYBjiggKdahdmOUgHockTSEwPEluYytkcCCWyKOxTTqxVNxRQAlhSczdedJvckjhlnGfzkiluSCxVLYfILPpaowOrORVXubcHueYFwvqBiYTpOiMvXpCIUzVFaWsgODDSJUAVLzzUOAdPLtcJGFSvRHoqXljLSOoEmTLBsFJsBxVRVhzrRWyykEfBSBCdIMFLRnYElNxlEBmrvGJYHxPvbxzEfopaxErhzxmTpvCqEYQpNOfvqDqANDHbYwfzcZytJIMqnqgEpqypqiSAhikxLQKMiDluWEGTtpSSiQNmRiCRJZSosKJtqgmvsDriYpsGpOcgJEWZjGjJhuTLyjFDEdHQCROTKSyvdfKtqmnpnXiJDOfSHlGARvdtXWsJjglzyImMeydXK", "sudCkrDsluTUqOgBBqDuWTLkSPTHlCIbWcFqDZslBDAPEOlbbabiXKVdmOdWUQEtjpoBMutjJbrJssoBCLTfCkZWKqYCoXlcPLIMYUFpWEflTUZNNJMbGiEopnTCIauDirfPVuBzmWfnHvZSMNFfhXLUtfToQBDtOsnODtEdtHFLhgdYQFLeaUeTRguLZvaxDlQHFUnQYDkTgfnCaJVcuQDwwYbHpbuScqJBTHfeMZhHXSCEyfjnTcONpymzlqFGDycNIMhIaFNLReyStVnIXeihmjNUWugvGNAVHziayUSfJkkMAaZYiFopAYOHhGTEczogDQDBeWcxeRRYfZZwtfBkwpFxaCKLugRBcvxvHALUvSkslqDcttimVchesSmdCwaGJCSsZPfFBooEnMJPtdDCsZWgjkjdRnPQqRBlnRmlCTMqXTnBlVaclKsazvHWtpLPalLscmZLVkpmefrnZVVhiJxvkQRkMnKpZEGpSiNnirJkJMQVbqQHzKyzGxLA", "NCLmbDMatkAfWDLaWsTAhbvCFmVtffKXxFzYYgyZcOXmRNObqYtNpyaLsZeQFWnXWCMHdIzoELCRsIQYKRGRYmWNfDbGPPqaYgfclHBEZwerXGBqfQIAfwTRAhvpgaoGrBAINvJMnnKvIJwsjMrDwLTqSatEBSfmSClzMEcsVbICZyTvyJCBiTAROnYeWgJMPUZWcEfTlpUEmPcZlyUkcfFIQIQgPevKCDEOfHzyTuSNDxAQePvfpQiVIriQIVpMiVysukaJwyIrQGcChfxbBBVHXCNIouGEPdhZSaAjezdipHCzCwaYQycIwNJcAlYlpkpIBPSARkOhtMcfXVxTsSXiYoGXyxtOXQNhHtLRwhdFXjZYsaOjUaiYSyPeYsbSPiVBAYXdUeazLKFHGASxmGvyqEcPlafpjEdnzSYjEVsIbXlpZDhsXCtOQScOxhjSTviFHCTbnHwwKYLjiSJoaxQYNKRJtgnnQoRNAgpYtdkqYXtGygydIXtobrcQqlVy", "OtMACFplSuVmjqZtRixGocGmonpbQprXuCWiYqiKyTBYxuozqDJkPPKeLHKUZPOGPdznMObGqkeyTrVWxuJEETnTjQoiWPRJZKuKxjbYYHNwjYgHifNWSvDrecgNNgHOoCAqBFwWHQKXRdOPQpCjahbQYmYJPUhRUuCLGJYKloEDxUNJQaEMJncbYctBaPJxpnMrgQARxAwFNfELnBLjDGyhGweIoDEdWkVHTdevlGEQtSYVmyvscmAXiwLlGXtMSvSFSmTMGuLJasNfuszkeFGXIvwWisLHmMtuznEHmjhkBiCTwDURbMyKIHlTmQiyeZwvFFgTWyofKjjHUFYibaCJAvYddxkfJYWVFiborZmitEzPbHrXTfzUmYQpAVhquRgSuRfNeWmCbJdxByouHHGxfhuRFIzwcRHSxLODdpUsPNRtlbHTntNiFpVEDUPcXWdSlsbxjLutXIErnzxiBZCoUtJnKEGXTzBErsIcueXtJIgbYBPWaUuSwGcpUBJY", "GFtZNmtREyfPRnMpZfmCMegfpDCCoBZpRKnIHBEfcyBbQOMvrHORNlDjXtlvZLPuGHlWKgcUVSTonbGhQnpSvwawjxJRBgeQZakuzAmlGoGJskPULlrTQXtxdDpAjpIUmrwnFhXimqHATvpItJuRPQHQbuFkzpKlurfgNiMwdBAQkrENqoDjLZSIkAiebrLqAMFGhXVrdhqTTNFlSNCQYvDcUVFKxIhBtFMWEhoYkUMVryNmXRMFvFAZYeNZzbEMfrztmqnTetyBMUBucpodCktLraIRIWCbooUkpFWmeQTJYfBjkUiQLGPoxtOFmmUQswGmdwDwwwnxncfITQGDNTsVXjARxyAmcbeMSLbDgpmOpgqYlUaCySyLdBfqCBCaQlRgPbDcwmLsdAVpzEsWskMPqSZbevKejobBTEzlJCJhdQTcSqPjaWAslSykYfULvWcxTWkdhulZhEUXuhVxbKvuiSLLLpUdGBGOunZWbveUwbrAodrGjhOIayyyyzEd", "FgrTgMLAcgPHGYYQlpPyduYRcktgfuSQpjvPWmHTktxKSLOHCqpZPYdldAssUAqOGRdEvVHDtjuBZtYvMezFHAAhkUmupMvFdAjhFchQyyDKPReMfReUoqYxZVhnoCIPhGQBVfxMIoDYwkrHWnoNjazEWiDqnxvDxtBnSRvVXEprGAxREhddpfMcKFlieVIPktBjpQLBcKKUxSveZyFwxRvJqjCHKlWVZwlJyiKNYxkeDwDyQXcPVvdBKqEwXPNDBqeENBAUbCqZbfrdfTqJxAQAbzubhGJHJKphuENaUZeAjWxBoLdmJYWsUWzztsVhGVnhtZQuzjFUVeCKtqYoxzAjZkiGboKBCXiBuKzzdevgDHeVxZcBfDshMyWumaQoXGSkYWMYoUTOKZJzHrKrJlVTodsVRDMAeTNsCpwzUIlbYTQvbnoAQiFdZQPTNOLCaemgzNswouRCBeyiOihCxPEeUXFUMHEZpQQRujlROebgSzlVSagXtaHtULxqtPuM", "EUshlvhzmTaEmdVPmBfSexlfvwbqvxkCPouDueLYgdpsAxVrNuEnaFYfzHbYHFTbSCvdENSIVmwthabwGJscXeUXEqIahuHYoflnQyuBeVRPSDAxMMbsSknQfrJTTGrKUXqIsexkMNHjVicEVltjMCSkvWFiEkBojfEVWDcNWoMGYThEkHFOYjujEFDLgrDFbYQAChvRqvtAUGPHvStYmoWWCOkGUZmhnmGtyvuWHDHlKsGbRiTdTsfpHdcsLoPtomXxTdOCWMcKFslREDVYewvjYiBxdiElAVKZExYZnXNdpdWazCZtdWxleIrETTGnqPHyytWqsISuEPPgpJPulezwLSPLzwYDcEPCLHFgHhNJaqGIkTYrfjiHJGImQKxEibtabNprVXCWgeNrVdVDCyQqTrqHCQTrElLCqazEetWOCAgHzYhMIVKfQfhQJjiPxAMzETeqzujHTKyZMWtslTdmwDojIOTTuVkxCpIvBRaIEHtaCBWUjOhNNxKYerpo", "IwIUPYutepBqdxMnYSlSiWCeNLNewDTulNijYhhkncAkEHbSfVXaXrAPdozByYpmmROtVYabRtniXRKWBsoVfpZyCiJrdCnFaFpwAWEPYYHxFoiPZtWfJVihfEkoYxNNAkBFgaKBkAMMDMpoaRidZHKlvlFuFKuywCcieqZAinjrYAQcnEhqghlcTiQGpasHrXNdoGcTBsMwMXNALiSJpKCpAOOqtKAKyqWYxTqoKznzoxsllolTVpSrmUxmFRtZfzHRFLxImOBFwtoxhBbltztZkPeknQkYZmYwHAChEKmxtdpekeTwUfIHzLWgFtbukgoRWDXAoNSECRRfwjtWSNmkauCLZdPpphMeMaAFINmRXTBhhtQJpMeRnefhYTpvftDJPppkIOvYrIuPNUdjPynFnGakajIEccNmejssfVKjQtnIhlwMwAKlIkYWlRqwnVGkaAlUiEdrBADzaeQANCjrsjiDAhyiZtPrOvsicdpYmsZYvSvCGYXSikaTaREk", "dabSvnrZdERCztFpygOLrlbAJHUuSxUaJjtyLMaVzEMkAdCcameNngHoBXAfWqyhEDLOWBKORaErnNntdKljxPntkwEBrDUtoejYPcNMfMJfoqpkIrJnloZJdAVpjXAUqMgpAwHswWFMhncSDbyAtoifkLLsntgpZykSulCfHVRRnfFjfhDWeZBZVZtnRqRTfzTWudxozuOslbyDhsNmXtlLejSkXMRepVoSsPzUCrweyYgtEGUkkTNBMjonlvvgMEKbzOFPpTpTTnqRYiEkKVmAHRehoIIwIvhdTcNZVVNefDazpniTWJqolGXjdQiYGJuqjLsoMoxDCdDcFCPpetCSDBbDdYwLTiglJyUzHpCDkItQVLMphARqHlELQUuUgsYMGCKoFDYLDetYJHYOgFuOoGclLglWWJlCmHpdlftvxgMAxbLzyCrcatSYRttIXOgLbwwZmfiJmBFvgremxxSDekXqAjDNUbZYrmutzrOMkhBDGQMUvHgEQGKkSgvU", "RBhrPPPoVKPBUevhXGAnfCuTxrOddqFYuWjRGtxczRpvLDynZVZNdavqvOXfEunDPhaJkIdwSYESQSmczkJpghmRpGDycFXcAWuuZrgDdKSyKcQoXRgXoZdQvUoEGrlhGrIrZDMMibheGFyQZPyOfFjeUDiAFoDrygFxlBGsmKTmBIJbfzAAswIHULeOnywOZZVEJqhVSfGoDWUxRhtIwbdEqJzylzlvpcqTGlrvHEACRUlTscYBSUSUjwYPYPuoVRLUnRuUeMUxrSNamIUzlmXYfroalBsPwJEkQlGucNokcwUkdlcfpKVxuYLmkssElBtWIdfxnNXzMAtwVZfLDjSLqgBvuIOSXkfnPJwYVFnLaVDTKABeknABKOjsBjMZqCUvMBdGuIIXczBKgrFKcQpoiWMIiqiCsitxBxyJXUjkYIsaTzgDRFTJaIvYzgRbpUBPswJPCUjChZWjiHskqEbXKxRBWLXMIYWPFcKqDMzPgOEFzUjRCbcMMGmfcwJM", "RYbgHpQyPDzvfYxxEsvWnhLOcoWqNvqivDOCfIJMfTyZFJXISIwQVSwduvXQfZWdHBFmefLwjplhigLUNdPBYmiArEsQFLCZDicdpXjIrYNzpKpXKyFhqFLNTBVBdMtgCedvXqMifYTlnwbCYMsRgVkzaHbSDrZrOPXmaRSlSSXAxHwXBHBsNUIxezBRXsBTzSrlHwlWCdsWEozChNIuhHIcuoMxczbJfHRvAGqxPjfDluoidBoHujQhdyHsnpTQHcGWYdyJLNFFihbZBfkEysMaFMFKWAWnaChipqIvAcmIAqbMxTqxufumMfOFMLTYZUziXhtmYgsPpJkLSMcLkarFIkDWIBwxXkupSqhmJVMwIBifzjdDiiAhwicdeEuyOUDbXbqZmMBxyMTRfdvGLVZWnmljEijZLibtnggWGGfqdINIsqOWxagQpdHeXbrGxqWXfUbNdYnWLTpFiOeYZiMTMZkeckQtgOMFdONxtMkSXtHbhKjVpvWNEvdeNkKp", "QzbqGoSJAKBhsUkMHlqqCUXbLPoPUCGxHAUuEtPsbamSydXBcLauyGgevSwpPxcklKdPtxkKAkxIavZEQWtlpIUjoSSYLRTYjdkCYypHPHNUncibrpmvNAvPWgelMZFYbxqrPmVpihBWFqcGWIZYwngCJiPlawciDuXjclKRUmJpYhwdPtpDtcQTTFcoLInSivlROvbMAVWEDsxYliVCGbTEjmUIqeZovVnDUEWLidHaRXeOFcDrrfJVAgAnSWfgyIrMrtqOPYvnOomKQKncoMlsrVhgScsrDgqcpZluNSjgwyWRlsTYYqlLnFoFWMcDeEUMtUIorYdaFwgGMLnMxLKxEidJfigWzdgYuXnwwYQTVELGxwhiEqqVgeuxHETlMHxTINNMJaFLrgSqpCwlsMsMnueScUqNDPgNbCQsKplCldVXmtqYLlPmXbnPvDOCJaquJSUnmNCOzyDGYcTetlUugzBKKuIWqcquuOYVvztBfLyrnZphvcrWTazvraDt", "XnPmHUApTtGkvITRIoBIfyFQQsCcAzNTgXYeRePxzzpPIGbIlwDxdGIZLbGIWTAHAQjEVQbXFNVCbEuqTkQDlDuYURCShfdxUewLLhBgrhzbZNaikDwfdPguAwlBBaxHDFXIDyCMarSTTfhGhBkrzqUGicHSNKITkunUsDKodbubotOQOflilWfpRBRSBlhNveFHMLvOyPXTFXMtNIkMboxQHOkoHaVgERmQnprAnzkIVrgVhmmsbkXoKjftgqqtZOqwgJHFzKZnwOPtQTvjzHplZxcKZNtiVcjgEZPjgHmtZEHDMTFsIZReEincBZJBwJXAVrpqPsgILreKiGBJDzpSUqQHXvldVZvydPaqpdkPSqVyBMZCIMAepTxKXAWkkNUTRTbsscqyMjSUUAcCCKKCiCnQJJbTOzpaUOPSryvjmvCHlRvMSaXasyXnNEZNBpRBlZatFvIKqgHOtDLBfnuUowAKXjHMOCpUTPgggvFLiNgBvKVUvoDOHwoqJSEO", "nYTeuwBjbtEqESRbJwFIeDfOVrqLYdxcosDUrBoFVIZrWSSqhJUROmqKpQbrPaROLHQOQtiiqmnoUPMKFQkrPooomUWVUvErwdRSOIavxjiOIJNTtQlArqgJpUUayjjovZLTPkoiSIUggNZfFbriGhEnpHWeMrQvgZTuWqjsBNHUllYUjLWrSxtHTidACPZhvTUdQDJYQbFmrXLSowsFrWAyoJgmcDaUaYeysdOMZzjCOPlvrZJBIooGjAYgkMPeARjsDkZQeAEzpJGRPUKyZNPstySrdbSqxuAdnLCMZNCbMsBRYQURmKnfFlFThuFZAMBJRmGlHkmUBJbOvwRzJIafrMGRWObcTlssyNyOyRuCZJLGTjHDYucpbReREWYuRsnpinesANpcLngkOoJyiXdVpCgyFXSUBNwwXTwxjfFfmYRLxkTyofpreJDZVmzQJeGGweHZpyBfmWqXeQoKEWvxEleYeolIDbNpKyCBiJYTDJzdIBPqfgXoNiGhbdRK", "XzfrDmnnHRBGKgYqXkvrjsBxJGrqtVMIGgYpQMsVWeOkpYMqlZiSqKfvHskBzOQtLdRBkzJUKvzDePwSFlQxwtpGuRSyaZGHWnZuoiNuazoMDuNyQxMgMauZphEtqqpRcAsUNgruAPTnUuQhaqKUDiMKRyiLVppQGoIjFmNUUxiSzTmRGidCHICFrMhiuGtjbXqKylKHBmClRWzspQIEBLxTXSUdyxlgIclujczKleLJtVoZSxYITBBBUoPKUIlmGZxjaZlhrdojFtgxUnUwzQpfOQjyAqbXhhrJLoWPNpqASmOmlNjsKoLkODnGzNnFfgIJgTynvnoBfSCAfBeQwFbANVqehZDWJAInPGOPsDMAlzNuAUFVpCyFpcBtAWzrEsfuCkvjSAyIxxXXYLhEqIEnECtVnWwPxxTNsOZQdhxluSmchvFwNsuBtLjbeAYofrvhfwvnDvlktuCzbssfPXxDiUhnLkIVcVrquBxrBmHfJczhYaDMHaxsRzANPfvg", "xNHvQiGZjPmbbKFArVRkAOeZGmyYwGldOxknsGiZmAbUUSSAoUNTVapngpssZidRHVBnGMDaYXSpMofXQXZrcVBYrRmiVJVbRbJrkxalpMkNRDPrvBicrbkgIfVDNnXwhQvDzVCLocadKpFGXwEqptxWzWPTsyWNeSvoMOtSoXlFcMZrvjrgencbzjQnHdePEdTiYAfHZsuPNuqQcjHryNhHMGlrYLrMpxLviwMZJZaGklqvSbgLDmHHibqpmbBeaZBUbywPyQuPAZOLcAMzHXnzDGRsMFiiPpHyWiCRELLaEDzSfPvajuAZnjGaGpgSXANetpQAwkXVVQpuWhDyEoBAlmwCenvfYqmRLEiNZygTOwzUeHrQCXmvQFFgMUTBdGloDNavaDSqgayJrYJwuDoGRJAWETffsyNgMOVBRRPXryzrgaxZKegpYSDzDaLlzfKcRKtqDptFqNzksCffjEZKjpryUnhnbnnojHKPVzwVShQWhWdpmZIYJkPIDcVU"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_bigint":{"c_map_bigint_1":-4014298560298836125, "c_map_bigint_2":6306712792318924551, "c_map_bigint_3":-9114902448295046945, "c_map_bigint_4":-5290714105198562677, "c_map_bigint_5":-5345040859463647182, "c_map_bigint_6":3307849358008084638, "c_map_bigint_7":-1664496986116636196, "c_map_bigint_8":-5401282961912418025, "c_map_bigint_9":6302328576338711877, "c_map_bigint_10":1577841575082043273},"c_array_tinyint":[64, 92, -55, 57, 45, -60, 124, 16, -107, -57, 33, -31, 27, 20, -76, 107, 40, 111, 123, -53, 72, -120, -42, 61, -117],"c_map_ipv6":{"c_map_ipv6_1":"8019:19ef:3f26:9de9:85f5:eba5:b67:b270", "c_map_ipv6_2":"6e76:68b3:49e5:c77a:97af:38fe:fa60:8e90", "c_map_ipv6_3":"4937:55a5:a50c:4b7d:5cb0:ac7a:84a:ef5", "c_map_ipv6_4":"ccfc:1159:5472:d3d1:7eaa:4bf0:5475:cef3", "c_map_ipv6_5":"c32:4d20:7e56:b7d1:d6a5:9203:ab4:4099", "c_map_ipv6_6":"dd3b:2bdc:a585:4da5:9232:6132:f3be:8d5b", "c_map_ipv6_7":"777d:c8c3:77fc:b6c2:d9e1:a0dc:98a0:91f9", "c_map_ipv6_8":"83cf:4c8d:56f4:4d03:8bee:9eff:c0b:f0f1", "c_map_ipv6_9":"f75f:eb2a:bdce:9fdf:3ec8:6e0f:6cd0:e297", "c_map_ipv6_10":"a5db:e3d3:5205:a204:79d9:205:e52b:fd08"},"c_array_char":["womPwUSicc", "EAhjnekacu", "dffdiWlOKd", "jiUtpvHPNL", "bewdHHuWvB", "pLHFAkzcNN", "zBtxgoCpfk", "twvKDwROjM", "ogHrVtoHrO", "LNMsmYTSwi", "mBgQGPLFEV", "PsElkIFsXu", "RTjfYBTMhY", "rgWxOGiRqS", "UmeiUCXemq", "XTkEnKeEFm", "WQkPgYViAo", "dXVONderKa", "LdrcfnIVHF", "fxPRNURgkW", "cSFChZNdkb", "HkEZfJuuFi", "BFSSzfQeyR", "wMJXZoHoyw", "VYOSQEmivC"],"c_array_date":["2005-09-26", "2012-02-07", "2006-02-18", "2018-11-08", "2008-04-15", "2018-04-25", "2018-07-07", "2005-05-16", "2006-02-24", "2018-10-18", "2014-07-22", "2000-07-13", "2004-08-14", "2014-09-20", "2017-04-17", "2017-03-03", "2002-02-03", "2010-08-07", "2004-03-19", "2008-12-02", "2001-05-18", "2015-03-07", "2016-04-24", "2019-06-03", "2008-08-02"],"c_map_float":{"c_map_float_1":54.6244, "c_map_float_2":89.78196, "c_map_float_3":55.912792, "c_map_float_4":79.49997, "c_map_float_5":39.614075, "c_map_float_6":90.258125, "c_map_float_7":100.49732, "c_map_float_8":82.98591, "c_map_float_9":14.183823, "c_map_float_10":79.09665},"c_datetime":"2003-01-02 05:59:06","c_ipv6":"ea94:1564:9cb5:2d02:bef4:9bdb:6786:bd3f","c_array_int":[2145405730, -1588224038, -1461505363, -568446098, 145095670, 1704072812, -348770273, 2128359440, -333485799, 350373766, -674075715, 471971455, 985431955, 707176162, 793001778, 1979389593, -742744019, -224810075, 1703271954, -60686007, 656000570, -222337424, -22401913, -239797780, -1945601375],"c_array_bigint":[-8274515642328530222, 6279435495766714417, -5943192730685086798, -8530203115068777754, 6854748132617072763, -8213357999403076931, 8342117257550964613, -6973900048977803367, -6234412052740867880, -5730774908362664817, 7560227317656751844, -1401270091553749849, -7772179272987007455, -7516307178471127603, -5961526336717172043, 2655491413887650607, -7263999491916831948, -7017824334195115553, -2475631994006458009, -3599597034614562731, -3554637535573136427, 7537001479435241887, -5559117246587418819, -1143527009059900614, 3154276861657331108],"c_array_double":[51.787859764508006, 22.045914393541402, 26.844102112772166, 73.62241720214634, 45.81144445201561, 15.317087455312423, 48.59054685112502, 37.25701200162796, 73.36483470138144, 55.85105775339403, 21.471579620280096, 54.493434823795305, 64.37781996247992, 11.9470265866328, 85.37999589590683, 3.639418741502693, 5.931312722777397, 56.632134436874786, 59.16839669497178, 81.66645413512825, 25.559288850855893, 52.61648838632107, 55.588280651366034, 13.2649021878324, 95.93117943217177],"c_array_ipv4":["urDjxbbiuN", "lDYHaDXJYc", "CEvozluZbx", "HILCjEireE", "pMIaHFStTP", "XxYTsGGIge", "RnNlfgSBQe", "kRvCxTxivn", "CYTwrfmJcL", "BwzNbetvEA", "asZbssURzf", "qGhClVptFr", "whurgvpsYX", "ddftmtDdvP", "jtfPmBMzrY", "hCcOUbntEg", "WdnaQuFdFm", "cXUqpYPgqy", "xFRskdlTuu", "oenlopOQkT", "WaBrxPQIDD", "RqTRaxAIGA", "tThSjBXrdD", "XLtodHjlio", "wjqDQTddun"],"c_map_tinyint":{"c_map_tinyint_1":27, "c_map_tinyint_2":-10, "c_map_tinyint_3":-39, "c_map_tinyint_4":113, "c_map_tinyint_5":-88, "c_map_tinyint_6":-29, "c_map_tinyint_7":-110, "c_map_tinyint_8":-86, "c_map_tinyint_9":-111, "c_map_tinyint_10":-120},"c_map_date":{"c_map_date_1":"2001-02-08", "c_map_date_2":"2007-06-18", "c_map_date_3":"2011-01-02", "c_map_date_4":"2014-11-20", "c_map_date_5":"2011-11-20", "c_map_date_6":"2006-02-02", "c_map_date_7":"2007-01-14", "c_map_date_8":"2007-11-17", "c_map_date_9":"2001-12-12", "c_map_date_10":"2003-02-09"},"c_smallint":-29673,"c_double":53.06950755908281,"c_varchar":"mean","c_string":"tAFEoXXEohidXulVeGgrudxchCXZOoJwIGaHdpVmzYrPlTZYgSQgdjItHjpuUGnAckCuHuWOoiAFacPxPXEuIUOSPnTXvlDfnUyOJZDZztdvoVAhSYHePwlvGFEvxvvGtpqvprBzaJYhPcNNBSjoEFzBLhujrHCprPQPwvnVILnfjManSAmtOivlKASaBZACIAtMzZHQwblxjGprSJKvKdVLttXshEtEmnwhGrUAFVVsrTRPqbFZVdsFPeIejWHRTiCrIrbEQbLHEBJysjVkIukKYUjdJhlLErSirxBtwYYzvCdtNroQNqSwSPbYDvPHgvVFchRfgdOOfWmxIlJXVaSbxdznEASridtQBPSnDOocEobEpPxsPlhCJlEkJSTlpvvVBYJTDGftFqiuPvyOkzgEbQlnOpkIoozhTIvdymvJpMnjrRpGHNolecSSfldXNhXGpyXuTtQaCEqGGMAGxUYMPQkDYpHWLWPjzRxknAtnkgpsTkcbbNutSBMJodIt","c_array_varchar":["gXrAxJyaXvfdFYdhRelLOULLyyOAOUyKJzkIyRlWrRZURITqMdnIsSfeUFtHDAieeukfkfbYiPpgqYIMFwQNxyqhMhyMDKKVMXAwpVfgQWNBZckHSEalGyoyPDrRXTbWXUpQOYnYMOFqiQfHoJoniUlllkmlsHvLoiNHGIpxzWkHPuoJAfZFBLIWApPLaaetnQsBcKRNxECACJvGPuqXNSNnXQtJbkcMyQrHLTlGSZVSrggvQPFamcAEfOuWGBLG", "kIyZIkjEyuftLGXvtVuPuDkduwmCLevclUXtMQyfkuvvOFYtVolixMPyZrWcjoJaxCNJZICtJWNakodtKtiKgdYXhseDsPZnQblQHugJcHefgcBJBKBhquaFEXWRGZzcWcSJZqeQgfwMdEAlSrjkIDDvHCxvjISVDYjJThTJLUudXiEqYvXybbOfOwQlJoKfqGoGlfCElvHMrBSLHVetHlVvEbSwltIECWOSEHCdGUkQQxmTTEFTBPosRPwaAhoi", "nojOZPFDFWsnpXYVKoENyjPorjOfPSGlcfXRGezYmrkzJUciTIHFBpkVwuqUUviKvwCXOixQlQIaPFRWlpwZbfKOPcuwKASGfziaAulomZppvliFCnuRzoVOCmJlyrngTpMXnTRImSTCTcHjvRrGHBmTOSuEDdUhLMRLiVzkPDEZbTKdymbqDwunCtpJTcxWSBDkfrSYpImpJQShvnQGOYCGNOyuJGuvasVrANCdVRDddWFeITmxXKgdpVmLiHZj", "ZdJOAcEkYjLuYxoAZmaLGsMyucwdERYIiXNMjwXyJCujkCUecgItQVNGqJqslphuscoTToLgiLXijRTSMjPnccWXuIpSPTlhWfIPKvfdSWEJzmFHFYoqpNwFIYfuLsuxeeuPgBLEPULBRzoGCxEssedHZijThuPAupqoqOxKMsLNjcNrCgkGhhagTNVNpsbwMvwgSEJPnaJTeWhzyohocQColcblVURwaeAFVRKAqmssIlgIjcdDFIIWMkROmLdP", "kZBBCicoRzWniDimLwKYzIuPQCUJcAJSOseNLKGAZEzixzoNHePJtrKHNcTKGyemOcshBMKXNpOLrBqaXFAQivyclfpSxADlaBLAcjOleiZxsagwoNrlXexWvIhEfuFbCRanVuXdHoemDzFjwyTQvlLfAfHSbiuChbqXCHfnTUaenJionFBDRJcnOqXqsOXeiDeyysBEZttSSdOByfxWEjOpUEkfuVqRQNBrmYUetffarufldxFBhlVOEsZyXZrf", "yWPqyCqmbkwoNCWYgosGtQcfyPEFlrpUeaNCMXBnxKmjjPWGaCFNZQSWCLczRZIeVwVpcMOzXSDQcTgebnTNTdQMsqenyOlEMNsycTermvdYpdrKfZOmMgHqYLKKAWBPBSlzMQAWmxEBwGBbcUGHWmJkYJOiLmMDFkWpdFdhRVxHzDTRMdalKkPSCamYhrRGYhaPdfxoAFBSfVidfDskwCnjPPBIlpbUpEWntKIOiajCDNAOiGIPULTdHPtdkSST", "TxhqFPnxaJZlMkOVNXoROfCvnPduRTtsLeGWtLVwCArSgMDPJSYXMuJLkJgXihbofBQjraSojunvdWQdliDBdMVJJkZxxhBXSVqJOYXpIqvjbhEaAKEETENahbnCVOdFaMIUSgpZSYNobFUKbRWymlXaZVOklHsariDLcwIigqdXjLcWNXKMGoyQtCwMIwviapBPlXNiDGJbDtHeHSPKGCfcZzQGLSDLJJetXukqoyjWjJfkmeYdBJAGEZXKmTUX", "GlwUOASjrCxoLXKxGDezHqIAXOsGqyUlYLDVfKIHFaKTlGGmmwAGqLjbIBwulgbmVbjNCXpiFWFFDloHqrabyBHRBKcUgeedADDIfUVnqbDjrKoCwhTNxWUpjgVJVwWuBnbXKyGIBpAvbGSCgfHjSmEiXxvsHGqBckQSZixKbuKjOhYnSYxbDpxZArQabUiFNckqhNheunvkOdDNhUItJaXsAbloBgkGPoUdxnlRuvdjoqdyaKdVrHPRoyYHXMym", "axNQFeromJSyZJKqlyCzfrtdgvlJJOzFSfPbJQbQiUMLnfuiqwGyoXvlpHFVGPZKohzorUcOdgFSdHoGlEKHDxtSwkCaHRujRHikGbHCsXlOVsqRZIXQRYKezgDXCxVqyKlIoeoxRjeXdRufpCWoEYpGELCxIwlMFIQZDCETJUmMGPdlYTixgkygtIRlEYMkeiqgNGvQkHfyYDQphAqrqWnoQgEebsGDbUNbyuTXSOCZwWVJRDCjyUQXzWpMeZYa", "wZJyDlUfqDikZQbYicGUbizfrpfDsqbvZrTgcroRManwHprzEoKmhoMkweFMpcviOnwPyjTSBdncAmRzRQJKPehAKvHjdBwdXrENEgzgyDGgtqMeOecAhiDBSdluFqySVmwvKkQySqKiOPIexuMQSVOKLtrACROjowgIscogAtCsrsokuiUEPFFVEFvdQFTXpfajrqUARZFdpOIkqkiRMsYYpyJEanOymryXIMhnMwiGnTFTHWAtrZIHumgpGwYW", "BMpoDPfdtQjLfDBJjwJFAcPnSzDxYPCFTZtjXksLdpqKYLmsSjyMGhKwmwmJvaVmQtJhsmnmITFhmmZJoXdHlvuBlrKuVJDYDXqoYdnjEvXDYKIUUwNeoInjGopZMXIfGsaAwbCHsTzSrAItljCZjezJWOaDDgyFJoDoOpzLmDWSQAGvflPImlZlfDmOaQbhZlaotRrONtbVSlPZaXulOTRmzBcBAZFAVZwmlsbTJxxVoGSKHocQwMzofcAqmmHv", "gaScgJGCuNmiKLsINDdeUbshQPFKfkGlRocmOntLUOPEzPEcloQxaVhbddxSXkJydPiXCuosLVCboelqmFhllWRgImVLnkOiLdDQlMvfPqVDVSvrPIoPZcEtuMzbtPfcgobIVgsIxMCVSSNGaqYguwRRDluwwerKafMWtMJWTezeNgTNEKDhKVLXdCMhmLjYiQCExMPfWqPjbkwSviTyQwnuIcAqhNqtfZfwxKpaAtusSAZEplcQLMIDyQHXnBpr", "lWpBhiGlklzfxcVGHrayFtaxgswQJdvMfLAYZfVKBngIHUUTrnIKxjZbPPSQMwbQAJLjbQCxLmthuCUGoaxHcSjnLwmAxmNoMCNLNPhkpzLPaYmufqgkZgmhSLTBkQctNLjXWRfmDKYGwhOlyxGdPxXsoWApcqBJCCWgUCHpNLfVILccbUGCTuMtwHggMAUIONLZFHzclVCPYerFWhyezJEoMyijYOjDENQhlJpSAcIvtByoibyumCsrWtKVnFbz", "LXGCjKyafBRZanlccuSjJgvaOkpVxHCHoVSngzoovPJltEkcaQIBkEBBpNBDEyZxoajSGuFlVAqLmRbTMzetDUjovvYnHmFuCUYQsPDGLUgGEFhxWLiluaFFZKbIfWAibiVErrjDomDqxlexBbdmuGxcQcFGLCzoolGtQqBCiIaCKhijCXzCWcaZEFxlegoGkLyFVEQwHmImetrKUECsivRSXGRLVbVVpvzGnJihVSJlVafhcjZnhMcMdAvMLPKC", "pQpTEkHsurEbjjqbgkpfzlQxKHNcnIZqibVUmDYUkPKBPKmkrsHaRutXJfwSMoBxeFPxQTdbONvTcbTjYCUjIxvwljLhuiVtvQKxXBFloKneQhrfzrPCAONfqoNdhfzPmzGElzxlZVOdVCfzXbNvDSlVqUaxzzaKaPiRYcjECRxWUdHWVHWeRCCwvCRJfGDwmFIdUbKwntbyfCNaZIlfeWBXpaXkCpaREcapyrIoYlRnrimLwcGckqNhaAtxUCmS", "mSpuwqwsGwZVPqchJAqvdxyuyQMpTzIRYmBDdZbXWUAVzaJavVefsWBPtRacCQOvhmNnvyexpCqDLfyAFbNAywfLEoEXTcxCaCdBmeOhtGdbWfXfoSMwSCakXWgeNlTiyluDooBbaXoGFrFjsfbkvXIjQIPoDsednwSABNlHCIuXYHYhxYnqFUkrVimaBrebyZmlqJdgZUMhsBdZusxfozRssmzHVmhYMqDNWTsLxGzpyqNqmaOXFGsVovjtLavO", "SFGOJvfqjYpQhQjlBlhHQpNZGBSjZNtGTJZzeCbHVeBCYxQYuIjbdgwaxymWhwlDXtFYdQLzWmLlayddcKDxwuexJpMpsZSUadxUvsMPzxyksVkeEHvWpFaJxkMsaRAvwpBkmfqModsYmzTWBLLNwxGvBdkgUDDkCaLEHadkkOYMxWkCsGVbaYheahiYXouBzOLhJlPwXzlnKxKzvoQFpoMLbscEraZxZirPiTckEbXeJaqNphZuDwzZAfyDWyYb", "AhpgVSwyBlKoXoNgGTnPXLdnhZBMhUAAKJgaVixWHljWyVpheVvsKASGwrqrlBzHaGzgwuqsoyavBEcAqEOqnoIpdeOwDGaIpGvwiyvSxkLOlLcZlzwXcPasFpQLFCWnFrSxLxwqabEHqLvNkQUAGkjdfcfsNZXnTDbVrnLXIULwnXOIXCEvZcTzvtbPEknYJouLrOZSDCuItKKswFpwXcnbHDzMiwrXefHldqAvhBLFDrOBUbzBmCHizXLywaOF", "ruLSkJGkGPrBTwXfoHmTBFiuNajptexNBBJzkcpydWBAZOzAlTPHQEAMInFHMzxtXlhmnDqmMMDhMnnriTgNahLZSlmqWrrQmhxNlrukXMQJnFEkKItZANBiRCCWRuafDSBMUhKgeHnCZIonvNmSKLbfwwTHvBjZUnFMHBOjcdgYGKvXTAneaCIdUdjylocypFjiJfjudlpMAzxmbzHKFcjpGGiVCLawFUeILjkxBSgENGYJZLJOkHHJYHdMFhCr", "NCXgZJVrQzEDMOEwjVLiyVJhduyNadYSlOaEGugkTlfKsDRmpgGCLMWAbdlePBzDNSQBflLcfkTJHeqtafZreTkZabTxxXvUZVPBvYTJUhiKoBrrozNZXhSeFDcMXDZpDrknjowiYBrDrtpRhYOGxGMidtHqgItoTaJrDKnkdAHeUINyyokSxaMwcBukGYbLeqJHaBPRmgkcoCGrDskcFpHYHFRnwMXuxBlYHWGBPKLuwmAfzoBpjOnsMzJbSXAf", "PxmsYjurWstYvpLhgMIameCHUKVmvZooMmClGJnVXgXQhpbxzCjJbFjVEOPTatCPgQyGdAtNfwoJJedGaaAPMGBsttygwDtzjHMRFjsIvckdtUfLUAxKGUmjsHGiiYyarWPqQMzrogCOpXudCzoLRMIlDxPlpIZAsRIZzszhgdARkEmOvnkZhGvcrIbtdPUAbZXuDZeDYfQkjHWCSmvzbzDgKsbUpNuLoKYswcthGjXldsGUCmhubvPuFGwvAkbk", "nEQOsluuWrRsgaSBIjBBVXkBIkkOuYtovQXjwsnuJpnkZTzruIDCdZMkaOFCbDsNBLhJdeuTquRBqBDkXqJemPZxhGnGDRBtEnOEszNpGFjAEfiKEvibmhthUBKVBvcCwiQZVZbzBQpoFPaKWUNQiTxuWFVbVFpLleZFmbQVpweQCnoHPRuwFalwACKgFIocKffKakuSXFkpGqsmfKLAkZFJdKcWkgMigjIwhBNIlNQQAubETDFObvOVlOdLBjAc", "PadjqjvXojqNEFRKdXbxpGoEhFCgOcnzHlYGKxuaUWtAyWGClAEXItFxphRWBfPnimScSmvHuvGpSmCUEoeeRoUgALsrGELRICEhPAXnlLZZsRrGhofWElHFpcEeIjwNdPZMFjFvhoojQYSwiPxuXrcjJNSRTDwHgVgfwbgMlJSTWLSaIuzEtbICuTuOpMTrLSrIirdrorMILBREAxxZRpeyWtYipCUpCZydUDEkUPHDZpaajvWYIMyxmEHVYbTG", "ZLdoYIQpYdFrBxjEAwuHqcGaLMysJEelnoPynbMiPCZxkqOAOXzSNcpSDXMAGYWPbkNssxdGdfnYymskOmAcYCZqtquAhCYQxEiBnSCKxKSfozPWFkwsBZRrpbLuHeXdUBGIquQzxDeZIqhmmsXdiXNlWILfSDVZsiUKvDvhdiZgPFLASrFIxUNOKagCaVlliIUIKgIZRBhzcMXNGBjRnhkkPeMxTajooVSUYzXmVOZnTVKatkuWdXAgxaBiXoWo", "zAmhsTlidzljpjhrQVHvwOIJLZZGtVukePQTBaoyNwddYqAceCCFZreirnxoaCOsgNnsmmQqmTIlnlIqBHjWmLzyNkMuhQKfnbNaoVLfHrnBVTAhdOAFdRQxXKrCMxxtqAwLlGCreclZGLTHdfcrzRwCQgbpNzsscKlmPBxjYCotVfiKEIkrkPjgbKQuHlnehuaBOCdHMTDngzhXXmvxyXkauGtVGnYOYnTwFmshoLlivzMiVhpehWMcTelCmVlc"],"c_map_ipv4":{"c_map_ipv4_1":"198.224.140.6", "c_map_ipv4_2":"68.171.15.161", "c_map_ipv4_3":"216.227.101.62", "c_map_ipv4_4":"98.123.16.37", "c_map_ipv4_5":"56.241.243.16", "c_map_ipv4_6":"88.97.198.199", "c_map_ipv4_7":"17.152.13.121", "c_map_ipv4_8":"83.53.45.108", "c_map_ipv4_9":"242.150.240.121", "c_map_ipv4_10":"79.139.106.191"},"c_map_int":{"c_map_int_1":-1649658077, "c_map_int_2":1525002563, "c_map_int_3":388104258, "c_map_int_4":714670064, "c_map_int_5":-1415284629, "c_map_int_6":1843025594, "c_map_int_7":-1240042030, "c_map_int_8":1940764710, "c_map_int_9":2116141168, "c_map_int_10":-995136134},"c_map_string":{"c_map_string_1":"UcgoWjKkxaYZUQXioVmPJEYOoMJOjnXCqbllgwdmRUkJvSpklZOnZaweSoLJhttJmQxgqWsDWzvfMbXvuuZDhPweLkSmvQIJSxibokZGLwsTqgbYwQcCTyyMdrpEqubUPqnLeVnXKMRMtCTAHrqzVYYsLRcGwesbUdEiuoVsleMzHInUixDEvhdJjhUilAEKFSBKkiNRRLBlgTXswFBxKakLubSmGfsTcefvFmewKXxIGiUuvZsHYGTKzIUvSRVaTTnikMCaEZlscgaKAupDMpQKtAsKydSnmisXoippQjfpQeUuDRxRmvIqzNyhZZUNqQtQWpMxqHFhLskFvZQKexpqfNSvQpnzdIkWeLPGemaFNWSvvIrCtksnAjtMhmDXEZzalEOuPuKPCTXZBXzrBjuQgtQcZnwbibtnQYbyuTKBaANPmPuCuAqmwyaMVSzpMxMwpkZDSjcZlyLPVzgWapIXBXDHizLhZXTgIdrxUjyiFThyJLImvkkNbItGgfxT", "c_map_string_2":"KFWHASSHmqgLOtHRoIrWrdISvicBtKDCFubEMCNbSTrTSCZomqArxtjwZYEjSJygMxPfspdWQnlIQBwfQVtgKOGJaHLhDGkpTaxHbUnHoNzrwYHnWWHMRIAuWoUHAQibMvJfhYkADOvdtrZMsxZpcSfeIhuuHabGDAWNUhsDitAIuCPOSPQwFqnCQhvUHfvHwQfVnOIGZckwBxghmMbKKUTJqCZspmUfCiTnSjvfoXghapMeNcWMBEHRTmwmJCXQrPphBKQGnnMeomvqVZbPfGoDDiRGQinldxhHcIpFWaWRAnkpnARFHrNFvFXtzMOqdXAELSfvWAXFzkBXzuimycBQuoFaADhUNeHSuxfdRCDhcrPlQDNDBRgYnrkBQmvXXpISXmyZLyxnRfYbQrkdqHoQFiDrlicOrHoogBeFWLjPlvCmPvzIxKFRuzeXDCrvHgfWJSsbvDkexDbZrYVttiecMCmKOSXbtXmlpARilZYTPDQSsNiGkxGTMrnaLKPW", "c_map_string_3":"ZufQEZbFxcslaqTnnLmcvkTqIgPAjVNvgLJMrtHpaRVYWVtAFMyxIZBpkWVMaBXCwJhbuMKYgHEFpjPemOMqzFPDEVnsBfAQaIQpCIxNbzRDioLSNkGlnwsKMSslRYSdPJkEJDCwtalvgaLOxiERSkvDucQFEWyHecLcqEjyjfyrKLuOfGclKAYtLMsNfOhifAQjRHmntbEyrByNAcLptAjUEbRVWOGFMPFcHRweGAuMjBuJIakWSYjryuiupxADwIbliyqgLJSmrsyPCqBmQaJgzOqWcPZapEZLmwPIYmDCpGQhoAFNijHddZNwQQQxGVshkKEsffXzzfjdHRaCdEystPPOyHqIWjppechelBJzDUKPjPRVPWQtyvJGmQiwiCZLaPeDhdkHsfgIyqEeaUVsFZLHgmvOQeOQzfEFXtzsrrzRwBiIjMuKufQFtmCEQuqXeyQrlwBFjCyPxQnfTIxOfTtPmKJYVFlTDGmjWPKWRNVHROckgvNrYPSMEcaL", "c_map_string_4":"YIXqYhdieneSmKSXmBdlKvRQFhkdDgOUoYlNHWfQUxbEFZwLCHPrIrtbZvrDwWszyQmVYQyGekZyQpUUIuyroWpRSVpNhrJjjvtSeNHCOasECobgVuvRlbZakBANurAyTGfnFLCRXqVjfMzIVixoPBcsUnyBlBslaqOJNXZKfoQJtKaIlMLccfIcTrbfBsLkSqdFgznGNQTeHDHldRadjMXNdwRzpPwHWAVTJJKTowdpGVkToPveKXbJUKVjGNHfAHoSOEJmDOWLgEgbPHPqqhjHXQXyCNGVCvSDxSYNxySCSsiXaaIAgnSESxfgDNuqzpNjDqBkjHZQhioFvmqOBQobrlAtZJtdqdqRrQlxdvYMfzCXOYUkPbQadzcMqEcebavNobmlgExNVdOXkToBgXxbPIwLueEjVcLDObHmBlvhtfLXFEzgbaGFnliWuQUXxFArgRrPBJgEVreanCBgWQpksWXdlCnPaBheGwHkQWEOAHqhlwYMnzmjDfDoFoBn", "c_map_string_5":"hZRfHwHUxOvQDkpDExOnLqEeXpwwZwveXkgXPlFOuJEaxQAFvsZJyGlDKvpRQHscPhePNECjkxBnugowqWfYQIEtVQJXcGVmUPfvAkzgZBxjtyxBfbVPJgKqgQOoMbVxnIrqgpsAuwgmLijhAiOZBPgMcoOCiQqfhBCmXxTnQDnhGCjEmhHyqIfzaCNowPDcLHowdxczurtWJErQDeIsVNviuuqOuJiLkLToozyHwzfRgFHIebXLxDlAyZZuyOUMDDPYuFArxNrFNmoRJaWoRYhqhLQOcHebuBbqvDdzFizqerSZPHzChmKVDuedtWoCvRLZfZZToJIoJntipbJDfJdiEHcRkwGtiMhzkDvAGIrHAxhslZkATQNRRQWxDqWJhcScUERYeDQvFQpWGnqGjsNTDKGdWEIIXeDEDpMpAIQIlcudmWCPmeIgcynUJNIAJqRHBUlpzvGXcviMkzKTInSBoQKzjWPGXXtTgOgBAiXeKNfLncDYgcDvzTUbzoxO", "c_map_string_6":"fFimRmNTCBEscRekqszNhFMECRIhGJKlPHscZmeSXmiEdIsEYPJIirKeGVjHTqGxqKmTUNnOXBxZFXOhmfiwyUVMvDhMzbZGYRdSWKUoKpMLJRzjrsnlGFFgqNjzGasLiMnFpiMlqlLUStInrKLbHVlIkhbZdLJncBGFsjsKKtjxTYrurbpnUfshpNTbymofPYCVtzUdUVKBSKyIqioNzDQPsnfJBRiXwKGJpUvMUFXgpieHwmfCYnRuVFfgokFvqQCEnuSHvdIPpAzWcyJSDVjOHArCECalSWAsxvONlpyicDpAwUUfrfkZCAlbQJsgXwVEoaSfHNicWGPXcRquOeellnFGyrWkSjXMZyWtngLfRFYerPliZVukEOFNxnhRuCLVtRjCIalBZaRnAfysLYwFkiOAtBvTANbrYZvTpyaqUknBXfKlFBWcIeilfSWxyGPJpVHrbktoYYpZUIJBrsWPiYthFdVMocPQjidpwdDDjbtjIwyUaQqDuvyfwxlw", "c_map_string_7":"uyBKZGSMdIFfJmBxJPaComGnULDLWHruKqQzdjaMwTcHxTmoEDSQXCEXYnSnjYcxUBTKNjmmRkuhDOGXXcVfagqcbiwnBranOZJMztGAFjKkQutOWsPQwUNnMOVGgnziOizsVfwfSqKyHYZfcKOmYDLdApExzVciKEOcyKdOKUdIdAiGnqWkxooqCKauLBbzxMXfIlyuhmOHmyJaVBjqkfoTZQDemYSKbmCbVSqPwJKgjfvFqttHKQDrCdEdwXriYabmJfZXfjphVYqhwZYRYxyKmPvhlmDHzkzNHgrTArJPQVwYmFmmzWmmEFhKlXnqTDGgtLFDihVTvXfNxBWORjetyVOlcwiwikyoZgmWtQWiAJAjXlQGyJAqSJlUFUomdZYRMWabFvoZiNKKGhWuXKTgDcXTaOsrPjmkaNAZSLkQAVMNJJGDpmFmRShJPtCHYesynMvudlHXPpoyBHkPAydsjLtcdMuuZprulFsPJLVqbyuFXLfxaLMKXFLqmwaJ", "c_map_string_8":"wfzEbLUfMeciwlzAbArlzArPryFPNWBuLuZmUaoHAbMccUxwgPHDLMbEjABeRkYboFlUOJtKPWlcqyvLGeefwKuilnKekAzdSctjecpaLdHGLhapcHSkANUHCMmcuAobgWBqNnkogELtSxcbeSoJireQecnzyBPqWvBllYIYDqJNiasRstnWKynfgHVUIaBWyiUmWGcJDbhELWErTdXiOKxrRBViDjAkLyiWiyJuCaVdMFZKkaPeOeJzGEDycYjspxGgKJUdMrMNoyhaWJcvLotYEYuocXLXtLeUMSxHakVUqezQRPVDKeSvYKrBMQaPyVbXqKMKxwfOZZybtROMCcFqSFFpafpejNFMEspCyaHTMLjpgAzHvuHwpNrOykuwZyrEZJpcgyqDxXNpshmCsjvoGQjsUHgVSYsudcmDwZJOmrWTogUjvNctgeRgnpsvrazrHnpZmGKIgTOPfcloAMOMJTpxFkjcIDfVQJyRgrToVxrnwMxOjWTlOdKnDfIk", "c_map_string_9":"GSWIhcTxmqhpHNNUOimOhWRTRwNTrkqYElfgQQnAZZRkOtONkwUGttYbXwHXHTkRpMRnBrUvgxjSgxoYAmqMczpzGPttMDPgXnBqIwqonfhpzuQqMDtDZwSRnzANgBjZjxRJnUqmCJyhvqeLapbwGnZaoYxiHPRgSqDemhGUpdnzGbWHIWZRpCIMddcQHEgGyYYXCDBCAiPtQASYiIxJOtVmVTbfQeIhanBhwgwHFLXceHxwwpJfGALCcByUbmMiFQuIrQOXVYsUPLwhSCYsCsxZrdlnOGGsxaEkmrvlWqFBeljhSxwvnvjJPUMPMTkcXIynqROwsEdKyjZTiCmOpzzkwzngiJRDSwgqftARfePiZwjafHqsJmVrPdDnLrygsJjikamhBqkQMKFrDWVcjMpLJWzMVsAuGQtMycadPWQVTWyYGrQwkkKTAKJptznJqJvilGKFNxwSNeOzhVKWTbkTRPLoBrVjeySGgsjxoFDkTAwuKwVXOURzJElupXSv", "c_map_string_10":"ZFJpTVwBmCkSMBvihrDWWfxLRsYdyAwukkliGvHBVNnQNXbnTawRjtXBGeZujRwdcbImKtqSESCnFRGpWBmujeMMiixgmeivqFarFLIFPSbCpRsTkGzngdPlJAkzLvTsjUWKtzrAbcMOXdbDSnxROTwSORxqqEeDZZPpvTsGgrjCOpYTsdgBHSJjLigfTifbAjSRXNIydlVmxQfELPwBVXsxxYTwdeKqogxtAbqKlFlcBVzArbvmOtKztlyLogmnhkoHiMcdIBBZeTPPOHKWMXPYuYzdOxqclrjPdqrLxqTgzJDZMngecbLKWssuqvZTsgFJJFfUTsgiTWrnGFohqpGbqtUfsgXvUSJvToSilNzVHVExjdVANUItIGMslDInLTHdDYhHNnhnpUfSrvHwKpoPDYdbQTGuBIeZiuhGkcpNvBRIKMFreZSgaryYNRywQTsmJvzwemEdAqNssVgGfRGzlwKydbksmEKphaHbYkAPnSyDUsxYKTRBYUlGMpXU"},"c_bigint":-4299099578028980022,"c_char":"LdUmeyQFbk","c_array_datetime":["2014-12-10 05:58:46", "2014-01-01 04:32:55", "2013-07-01 06:48:20", "2014-10-26 15:04:56", "2017-03-23 15:11:20", "2001-11-21 21:53:00", "2019-08-18 14:39:03", "2016-05-22 07:34:38", "2003-07-21 16:36:54", "2003-07-26 16:55:14", "2016-09-20 20:25:26", "2001-02-16 10:52:28", "2001-09-11 08:43:31", "2017-04-06 19:47:09", "2018-11-17 21:17:52", "2017-07-06 14:18:54", "2009-12-16 15:43:43", "2011-05-25 06:53:14", "2009-08-27 13:22:06", "2002-06-05 10:16:51", "2004-04-28 21:34:17", "2000-04-04 21:22:29", "2009-03-10 03:12:40", "2005-10-24 15:02:28", "2018-12-09 02:18:12"],"c_array_ipv6":["exdHyqMiXV", "YkHrkGjnQw", "guwroGcNbj", "bjrClVjmBw", "dwKIIaRnpp", "CTcwUUnFLg", "vAzDGgqeuQ", "owANxoqyLY", "vYAPHlLzOg", "KNNqPmYota", "lyvTxLRaIY", "UHndBRakOP", "rMVGYSsdpS", "rDoSuSmwLo", "YHFYfRzDJk", "buJOlULBZU", "IrUlxCvMNm", "xTPNNnWfOH", "ZuQtkdrWfs", "zzRFvsgwjI", "sfebLMgWzV", "byRhXZSoUT", "pmERuZEGXl", "ZHPKhhGBVd", "nvpTQnadha"],"c_map_smallint":{"c_map_smallint_1":19089, "c_map_smallint_2":24906, "c_map_smallint_3":-9004, "c_map_smallint_4":-25634, "c_map_smallint_5":11655, "c_map_smallint_6":30057, "c_map_smallint_7":25389, "c_map_smallint_8":13072, "c_map_smallint_9":3843, "c_map_smallint_10":19303},"c_json":{"minecraftweapon":"sword"} }'),(13,null,true,-128,1,-24,120,30642,null,-32768,245,0,-244767559,0,435165580,300.343,300.343,20240803,300.343,null,-7043612209409287836,73.386116,18.924927,100.02,40.123,26.0139,100.02,100.02,100.02,49.0947,2.1057,300.343,37.0526,300.343,40.123,300.343,88.1172,100.02,40.123,40.123,100.02,100.02,null,300.343,92.0804,35.1321,null,100.02,47.1125,20.0971,83.1013,300.343,80.1017,{true:null, false:false, null:false},{null:null, false:null, true:false},{-128:1, null:9, -106:127, 127:-30, 97:1, -16:46, 6:1, -43:-128},{null:-58, 127:0, 1:112, 0:4, -31:74, -2:127},{32767:10635, -8443:null, 3496:-26264, 0:0, -22773:null, -13359:5603, -26708:-32768, 11354:7572, 14702:245, 32423:-16819},{-24375:19674, 245:28023, 22680:2854, -32768:9608, null:9742, -5927:-21180, 13477:245, -7731:14635},{147483648:-578174585, 361803822:760554812, 1525299001:-2147483648, -61210655:-2147483648, null:32679, 32679:349614084, -1623206486:32679, -1553424655:32679, -566501259:-1955675607, -1154423548:1979736445},{32679:1934685858, 0:32679, 427551895:2087219665, -2147483648:751023054, -1467021374:2147483647, -388420962:-2147483648, -534046250:2147483647, 417895672:929441636, 1692583427:2147483647, -1730439529:0},{9:300.343, 147483648:0, 32679:20240803, 9703:147483648, 20240803:147483648, 7996032534660427048:147483648, 1247730048749963015:1, 6390:5686520, 1:7242941708678165646},{300.343:32679, 7248520515012437457:300.343, 245:1, 147483648:20240803, 32679:6, 20240803:147483648, 1:-508295829943009084, -4903211:300.343},{0:null, 3692229920441110428:245, 1419702551:null, 5693356:9223372036854775807, -4412950740235712045:-7100787, 4000932:-940851603884467691, -9223372036854775808:147483648, -6588831684070899536:6420714, 1:9223372036854775807, 245:147483648},{2927357877743910795:-1496423, 8469273269802570735:-9223372036854775808, 4663721724198435300:245, 245:4054120000175372, 147483648:245, 3687227026520124405:245, -7310603:-5185319471808994047, -3334457:9223372036854775807, -6520453400470616136:-9223372036854775808, -9223372036854775808:4485479},{57.111202:35.461395, 47.335285:81.370575, 300.343:40.123, 67.88335:66.34863, 7.788946:300.343, 7.3544927:82.45114, 59.234756:300.343, 26.543955:null},{54.78673:40.123, 87.55067:76.83287, 100.02:100.02, 38.79355:50.37493, 10.043803:11.027682, null:31.664717, 300.343:31.459518, 40.123:300.343},{99.98368153776948:100.02, 45.21978004991332:29.479591419644997, 100.02:28.857272461468078, 300.343:null, 40.123:40.123, 29.747821374794487:100.02, null:50.41938022792425, 58.44255290869569:62.118559136163235},{null:300.343, 40.123:300.343, 300.343:95.54986750158646, 42.60592393121493:94.41433749729967, 4.908966482630021:3.5142479937376105, 94.57572465467237:100.02, 11.679433538168357:300.343, 6.4730284223131385:300.343},{98.1007:"2024-08-03 13:08:30", 40.123:"2024-08-03 13:08:30", 300.343:null, 81.1796:null, 33.1816:'of', 28.1218:null, null:"0", 79.1864:"0"},{11.1239:null, null:'of', 100.02:"0", 49.1249:"1", 300.343:"20240803", 7.0046:"9999-12-31 23:59:59", 40.123:'i', 22.0547:'didn''t', 99.0109:"2024-07-01"},{14.1312:'can', 15.0870:'l', 40.123:"1", 12.0070:"9999-12-31 23:59:59", 63.0226:'t', 100.02:"300.343", 94.0961:'me', null:"9999-12-31 23:59:59", 300.343:'f', 96.0057:'how'},{null:"0", 84.0930:'no', 52.1272:"300.343", 68.1979:'it', 67.1188:"300.343", 40.123:'this', 33.0735:"2024-07-01", 33.0604:"300.343"},{38.1533:"2024-08-03 13:08:30", 88.0278:'f', 100.02:'or', 36.1013:'w', 55.1752:"300.343", 300.343:'all', 18.1387:"1", 90.0513:'who', 40.123:"0"},{57.1280:'m', null:"0", 300.343:"0", 93.0477:'q', 29.1464:'hey', 40.123:"2024-07-01"},{72.1798:'like', 300.343:'b', 40.123:null, 92.0964:'h', 100.02:'e', null:"2024-08-03 13:08:30", 94.1894:"1", 71.1744:'u', 92.1531:"2024-07-01"},{56.1013:'about', 300.343:'v', 40.123:"300.343", 100.02:"9999-12-31 23:59:59", 78.0993:'the', 23.0446:"0", null:'n'},{300.343:'would', 39.1144:"20240803", 87.1669:'l', 66.1130:"9999-12-31 23:59:59", 18.1709:'from', 87.0792:"20240803", 40.123:null, null:"20240803", 57.0435:"2024-08-03 13:08:30", 56.0598:"20240803"},{300.343:'i', 55.1503:'didn''t', 100.02:'a', 34.1650:'q', null:"2024-08-03 13:08:30", 94.1024:"0", 40.123:"20240803"},{null:'m', 92.1367:'one', 100.02:"300.343", 51.1961:'t', 40.123:"2024-07-01", 53.0448:"2024-08-03 13:08:30", 71.0931:'i', 74.1073:'get'},{51.1995:'o', 91.1794:"20240803", 300.343:"2024-07-01", 100.02:null, 63.0547:"9999-12-31 23:59:59", 68.1988:"0", 60.0063:"9999-12-31 23:59:59", 40.123:'i'},{2.1042:"300.343", 300.343:'s', null:'good', 100.02:'z', 70.1193:'of', 4.1602:"9999-12-31 23:59:59"},{64.1149:'what', 40.123:'n', 100.02:"1", 25.0823:'o', 44.0358:"20240803", null:"300.343", 77.1289:"9999-12-31 23:59:59"},{'say':false, 'could':null, 'm':false, 'something':null, 'can''t':null, 'they':false, "9999-12-31 23:59:59":null, "2024-07-01":false, null:false},{'h':null, "2024-07-01":true, null:false, 't':true, "2024-08-03 13:08:30":null, 'r':true, "0":false},{'they':127, "20240803":0, 'x':-14, "2024-07-01":null, "0":1, "1":1, "300.343":-71, 'm':null},{"20240803":-128, 'f':1, "1":46, 'he':-118, "9999-12-31 23:59:59":-48, "0":null, 'his':null, null:1},{'a':20783, "300.343":245, "1":-23051, "2024-07-01":0, 'c':-2143, 'something':-4210, 'f':-30456, "0":245},{'q':0, 's':32767, "1":245, "2024-07-01":28739, 'u':245, "2024-08-03 13:08:30":-24757, null:0, "300.343":245, "0":2884, 'he''s':-12459},{'to':-2147483648, 'back':null, 'g':null, "20240803":-909031262, 'go':-2147483648, "2024-08-03 13:08:30":-1415914572, 'I''ll':32679, "2024-07-01":-739501544, 'k':0},{'that':-524697922, "1":147483648, 'with':0, "20240803":653470584, null:174130416, 'l':-2147483648, 'h':147483648, 'e':null, "2024-08-03 13:08:30":568661366, "0":-1304209457},{"2024-07-01":32679, null:32679, "1":5, "2024-08-03 13:08:30":1, 'all':245, "0":300.343, 'o':9, "300.343":1, "9999-12-31 23:59:59":245},{'can':-7171462, "1":147483648, "2024-07-01":32679, null:245, "20240803":-21580, 'p':20240803, 'if':1, 'are':32679, "300.343":300.343},{"20240803":245, "2024-07-01":9223372036854775807, "2024-08-03 13:08:30":1, null:6658178142176964249, "1":-9223372036854775808, 'f':1, "0":147483648, 'say':9223372036854775807},{null:4331951, "20240803":-4398318823694048255, 'm':1, 'or':-9223372036854775808, "2024-08-03 13:08:30":147483648, 'was':147483648, 'to':1195031, "0":0, "2024-07-01":-934593990, 'can':-9223372036854775808},{'yeah':null, "9999-12-31 23:59:59":300.343, 'not':null, 300.343:null, "20240803":300.343, 'are':null, "2024-08-03 13:08:30":40.123, 'of':100.02},{300.343:300.343, "2024-07-01":8.053415, 'go':35.280106, "1":null, 'him':0.27211347, 'u':40.123, "2024-08-03 13:08:30":null, null:40.123},{'x':40.123, 'get':92.40394251575479, 'one':26.3373734899009, 'p':77.80418300427391, 'no':16.825030294207696, 'u':28.85364574383057, "1":91.07527062933204, 'you':null, 'did':40.123, 'w':300.343},{'a':13.53345364946748, 'd':40.123, 'know':300.343, "0":68.98140644465032, 'yes':30.883771911990266, 'with':76.14205848817855, "1":40.123, "2024-07-01":50.05559047883537, 'you''re':100.02},{'f':100.02, 'j':100.02, 'yeah':40.123, 300.343:48.0702, "9999-12-31 23:59:59":34.0891, "2024-07-01":52.0176, "0":9.1519, null:null, 'n':300.343},{'b':300.343, 300.343:40.123, "20240803":75.0480, 'it':300.343, "2024-08-03 13:08:30":300.343, "9999-12-31 23:59:59":100.02, null:60.0421, 'v':300.343, 'do':6.1458, 'e':55.0226},{null:40.123, "0":72.0215, "20240803":12.0884, 'if':1.1283, "1":null, "2024-08-03 13:08:30":40.123},{'y':300.343, 'good':100.02, 'z':null, 'v':100.02, "2024-07-01":300.343, "20240803":30.0340, "300.343":20.0469, "0":1.0211, 'him':69.0383},{null:false, "2014-08-12":false, "9999-12-31 23:59:59":null, '2017-01-13':true, '2018-10-24':false, "9999-12-31":null, "2024-07-01":true, '2003-08-07':true, '2013-06-18':null},{'2017-02-12':true, "2024-06-30 12:01:02":null, '2006-07-22 17:40:17':false, '2001-08-12':null, "9999-12-31":false, '2019-11-05 00:54:23':false, '2003-05-21':null, '2015-12-19 12:52:26':null, "2024-08-03 13:08:30":false},{'2018-08-10':-33, "2024-06-30 12:01:02":null, null:127, '2018-03-15 03:31:21':-128, "2024-07-01":1, "9999-12-31":1, '2006-07-01 16:39:27':0, "2023-01-15 08:32:59":null},{"2014-08-12":-128, '2008-10-05 04:01:53':1, "2023-01-15 08:32:59":null, '2006-09-12':1, null:0, "9999-12-31":0, '2012-03-06 07:12:38':-21, '2010-04-08 12:10:20':0},{"9999-12-31":-12402, "2024-07-01":509, "2024-08-03 13:08:30":-32768, null:-20988, "2023-01-15 08:32:59":-8900, '2007-10-03':0, "2024-06-30 12:01:02":-7808, "2014-08-12":3053},{'2001-08-17 07:33:12':32767, '2018-01-12':null, "2023-01-15 08:32:59":0, "2024-06-30 12:01:02":0, "9999-12-31 23:59:59":245, null:245, "2014-08-12":26116, "9999-12-31":null, '2006-05-03':0, '2009-03-16 02:11:11':-32768},{'2004-03-14':null, "2014-08-12":-1293789958, "2024-08-03 13:08:30":1932983751, "2024-07-01":-1160188170, '2018-12-19 01:19:01':-1379100565, "2024-06-30 12:01:02":1512180502, "9999-12-31 23:59:59":1037241859, '2017-06-21 16:08:59':1132640373, "9999-12-31":-2147483648, '2012-03-28':0},{"9999-12-31":-2147483648, "9999-12-31 23:59:59":32679, '2006-02-04 05:45:31':-152230744, '2019-07-12 10:56:24':-1339465177, '2017-02-05 23:35:40':-690263036, "2024-07-01":2147483647, '2017-10-24 05:08:59':282675330, "2024-08-03 13:08:30":765310105, "2023-01-15 08:32:59":207149272},{"9999-12-31 23:59:59":1119192, '2014-05-11 01:14:51':147483648, "9999-12-31":147483648, null:245, "2014-08-12":1, '2010-08-12 16:12:23':null, "2024-08-03 13:08:30":32679},{'2019-02-09 09:37:04':147483648, "9999-12-31 23:59:59":-2189662, '2002-01-12 09:07:03':147483648, '2019-04-17 10:53:12':3, "2024-08-03 13:08:30":1863516, '2000-08-06':32679, "2024-07-01":245, '2016-06-16':null, '2015-03-02 11:00:41':245},{'2011-06-15 06:39:14':147483648, "2014-08-12":0, "9999-12-31":null, "2024-06-30 12:01:02":147483648, '2001-08-01':860510980333433082, "2024-07-01":null, '2017-02-12 18:18:03':1869652863653034704, '2014-10-24 08:40:02':null},{'2001-08-13':32679, "9999-12-31":-9223372036854775808, null:null, '2002-11-05 15:05:58':4304698, "2023-01-15 08:32:59":147483648, '2012-03-16 13:59:03':32679, "2024-06-30 12:01:02":0, "2014-08-12":1},{'2005-03-07':300.343, '2018-11-02 04:44:26':null, '2014-02-15 14:28:31':65.07287, "2024-07-01":null, null:300.343, "2014-08-12":0.56132525, "9999-12-31 23:59:59":null, '2003-09-01 06:47:40':44.16498, "2024-06-30 12:01:02":40.123},{"9999-12-31 23:59:59":100.02, "2024-06-30 12:01:02":69.06754, "9999-12-31":100.02, null:98.19919, "2024-07-01":37.17063},{'2014-01-27':300.343, '2003-05-06':29.29022557052173, "2014-08-12":61.637553663692856, "2024-08-03 13:08:30":null, '2007-10-28 21:57:51':98.83275129679922, '2017-02-04 16:16:11':62.52410026096803, '2016-03-19':300.343, '2001-04-01 20:09:03':null, "2024-06-30 12:01:02":77.88019077786507},{"9999-12-31":49.40527440359726, "9999-12-31 23:59:59":300.343, '2017-11-07 21:42:57':32.96433932123557, "2023-01-15 08:32:59":40.123, "2024-07-01":100.02, "2014-08-12":300.343, '2007-03-10 14:08:31':40.123, "2024-08-03 13:08:30":300.343},{"2024-06-30 12:01:02":100.02, "2023-01-15 08:32:59":100.02, "2024-08-03 13:08:30":40.123, "9999-12-31 23:59:59":52.1978, "2024-07-01":26.0769, '2015-07-11 23:18:09':40.123, '2003-06-03 06:02:47':73.0720, null:40.123},{'2007-08-11 12:12:06':100.02, "9999-12-31":44.1033, '2013-10-05 16:04:26':49.0853, null:100.02, "2023-01-15 08:32:59":300.343, "2024-08-03 13:08:30":32.1539, "2024-06-30 12:01:02":100.02, "2024-07-01":null, "2014-08-12":56.0946},{"2024-07-01":300.343, null:32.0625, "2024-06-30 12:01:02":61.0223, '2008-06-21 00:56:59':null, '2002-06-18':84.1729, '2006-10-13 18:13:20':67.0842, "2023-01-15 08:32:59":40.123, "2014-08-12":86.1801, "9999-12-31":40.123, '2012-09-14':300.343},{"2023-01-15 08:32:59":16.1092, "2024-06-30 12:01:02":42.0425, "9999-12-31":60.0556, "9999-12-31 23:59:59":null, '2010-02-25':4.1872, "2024-08-03 13:08:30":25.0090, "2024-07-01":45.0325, "2014-08-12":87.0684},{"2024-08-03 13:08:30":36.0257, "2023-01-15 08:32:59":60.0233, '2017-02-15 08:37:45':300.343, "2024-06-30 12:01:02":300.343, "2014-08-12":null, "9999-12-31":49.0486, '2005-04-08':100.02, null:40.123},{"2024-06-30 12:01:02":40.123, "2024-07-01":300.343, '2017-11-22 09:08:14':26.1834, "2024-08-03 13:08:30":40.123, "2023-01-15 08:32:59":300.343, '2011-10-16 01:08:00':39.0438, "9999-12-31":300.343},{"2024-08-03 13:08:30":17.0159, '2013-12-15':4.1443, '2015-11-12 04:20:48':22.1250, "2024-06-30 12:01:02":95.1427, "9999-12-31":97.1071, "9999-12-31 23:59:59":40.123, "2014-08-12":40.123, '2018-10-27 01:09:19':21.0481},{'2013-11-25':null, "9999-12-31 23:59:59":null, "2023-01-15 08:32:59":45.1753, '2000-07-20 13:44:37':93.1282, "2024-06-30 12:01:02":40.123, "2024-08-03 13:08:30":null, "9999-12-31":100.02, null:47.1651},struct( false,-82,0,1502653556,null,-5574564308337600181,13.288506,66.76846563183855,null,null,300.343,40.1792,30.1106,58.0820,100.02 ),struct( null,6,810,0,7,147483648,40.123,75.44914832290766,100.02,32.1401,46.0438,23.0272,40.123,40.123,40.123 ),struct( false,1,13286,-1136680402,159,1,36.12249,78.41268635770201,40.123,85.1022,28.0205,300.343,40.123,300.343,100.02 ),struct( true,95,29085,656243474,245,3027317010700305952,300.343,35.16093901406643,100.02,null,300.343,40.123,93.0845,40.123,100.02 ),struct( true,53,13646,null,32679,147483648,null,40.123,100.02,14.0778,40.0936,100.02,75.0778,null,82.0811 ),struct( null,0,-32335,1640010526,20240803,147483648,null,40.123,54.1632,null,48.1314,82.1003,100.02,300.343,34.0384 ),'{ "c_int":465726554,"c_datetime":"2008-06-19 07:01:12","c_ipv6":"ef17:b797:aa02:1c8e:b86b:a997:8a5:6bf3","c_map_char":{"c_map_char_1":"UxCrgTGwTs", "c_map_char_2":"EeOXyiUpKp", "c_map_char_3":"iptuyHVtbV", "c_map_char_4":"vJXKOhNfdD", "c_map_char_5":"hySCybBlIh", "c_map_char_6":"EfIvGeVrGE", "c_map_char_7":"nqLIGDKwkL", "c_map_char_8":"nhXpRIHTnI", "c_map_char_9":"RHMOpyMovJ", "c_map_char_10":"pPFyDTymYp"},"c_map_ipv4":{"c_map_ipv4_1":"133.67.74.144", "c_map_ipv4_2":"159.71.206.111", "c_map_ipv4_3":"90.205.135.16", "c_map_ipv4_4":"217.26.76.192", "c_map_ipv4_5":"156.9.46.22", "c_map_ipv4_6":"102.160.78.212", "c_map_ipv4_7":"171.36.238.99", "c_map_ipv4_8":"214.207.215.48", "c_map_ipv4_9":"208.221.174.177", "c_map_ipv4_10":"4.200.210.68"},"c_bigint":3792286162088103678,"c_string":"QRiaJzvkOPpKehCvRPfQOeaBaMOsECaWGJIJFWFAlGYhsCszuOmktAZiLXWXVlImyzNoVFEwVKRUVeXitfpihUVLOCFrzjjdOmCsLieuIVYVHnLoIXWzOJTywgJhtnOXJpZrYrYXyVkXZzahSZqfrqwtRTMMazgjghXaQetElGjLenSNomeJhBoYaWzxYMaIJXRZdEHMCqkOwRJWApDQKhYlEDHgnZnTIcfAJzEHjXYngvhORqqqguFYYXzofYuEEaUipLNcBzwCrpjhagSowzTHjKTNAXWmVXLMbZuqQxIoRZbNWucmVWzQSPPKCszYSSncfSyACdZNXNkOxnRBXvxNMTwAFpSFIAcyyMwGBwlrxTLdLCeHvgwPBkIkJWtkTZQcLcNgduBszUkbfsSXDArsOzNOlwflCgaOoDPfPEXEukFaiGjeJzexWLfHweyBRpQRlJMGHvScLYQSTDCEPKeVhAlcvXDFLMmAEUfFajsZQMeGaieBfvmjpUiTanZC","c_date":"2007-06-08","c_array_smallint":[-1341, -25261, -7155, 2922, -7737, -16683, -30802, 2334, -1987, 27244, -2178, -16423, 31205, -28415, 25778, 13889, -1509, 31266, -8365, 30757, 32276, 21635, -30305, 3167, -11842],"c_array_largeint":[-7679758814072205081, -7490248608905254479, -1418581405056494016, 9162540474166553566, 4519659903286059536, 4234926589255447477, -6867096361910190775, 1912489032916681812, -7864759110033396234, -2101512197194208083, 5146006244761881851, -8801471321904900530, -5142505502415152638, -6452449013021646511, 632757738882560518, 7544029496075073379, -2311944637489160876, 3088791333496237454, 6275188821355371811, -6222222706696452995, -1610093588622147128, 1830121409262256196, -8355383968488560686, -5820354067448771637, 8955681793032605028],"c_array_date":["2010-02-28", "2013-08-26", "2008-08-07", "2002-02-13", "2013-04-02", "2006-02-08", "2008-05-12", "2014-07-18", "2017-11-14", "2008-10-03", "2019-01-28", "2007-11-25", "2012-04-28", "2016-09-25", "2001-12-24", "2014-05-11", "2018-10-04", "2012-07-09", "2018-10-12", "2003-09-17", "2011-10-24", "2002-09-15", "2016-05-01", "2014-10-11", "2019-07-19"],"c_map_float":{"c_map_float_1":95.71208, "c_map_float_2":81.76604, "c_map_float_3":80.65204, "c_map_float_4":17.52705, "c_map_float_5":36.343227, "c_map_float_6":34.782352, "c_map_float_7":22.24849, "c_map_float_8":53.179253, "c_map_float_9":47.746365, "c_map_float_10":76.252556},"c_double":52.52085472515353,"c_char":"XoPrYIpwRo","c_array_boolean":[0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1],"c_array_bigint":[3662555154089879204, -2111499287707230389, -7082816440741468290, 5741786612160865024, 4179188023236629310, 5669454414958323397, -7930016229590326613, -8717895790077055139, -7550032524947968472, -9185095124637985090, 7967523634511550101, -896138750483388904, 2140404356247048501, -6478228255696265227, 2768201140650960378, 3175099405565895317, 6208589747112489506, 6455479529147603847, 5363248261116300193, 8659144666295852024, 7682521202367399350, -3000980490259223593, 8032870112982921001, -3260093858825981874, 7320991808604083877],"c_array_decimal":[33.1051, 54.1240, 9.1696, 7.0488, 32.0185, 62.0559, 81.0921, 4.1482, 81.0151, 23.1302, 39.1014, 11.1205, 8.1914, 37.0360, 11.0882, 31.1334, 21.1620, 32.1319, 100.1478, 86.1959, 57.1390, 90.0927, 11.0630, 99.0723, 12.1603],"c_map_bigint":{"c_map_bigint_1":772376599060993220, "c_map_bigint_2":-1623194281804659050, "c_map_bigint_3":7068443442819208874, "c_map_bigint_4":2690359761257982009, "c_map_bigint_5":3255527326400508993, "c_map_bigint_6":-715533927200475984, "c_map_bigint_7":-8703134812416589449, "c_map_bigint_8":5551121821924441001, "c_map_bigint_9":2525663839992410145, "c_map_bigint_10":3991587306641320476},"c_map_largeint":{"c_map_largeint_1":6647775625360098103, "c_map_largeint_2":3440092352026090768, "c_map_largeint_3":-7151817696207283064, "c_map_largeint_4":-9064761437532878221, "c_map_largeint_5":-8915425377808091996, "c_map_largeint_6":-8910181946699724103, "c_map_largeint_7":31677510531314801, "c_map_largeint_8":2960072230307601609, "c_map_largeint_9":-6415570220097197922, "c_map_largeint_10":-521103042624712403},"c_map_varchar":{"c_map_varchar_1":"KAyHjznfMWcbZpkyrWVGXnBRsLzAcEAuWhrtMpELhvTuGYFRMNOawUPGBwFQlyOluUbumZmHvSLnqJUJZAzWUVejmGYXxwbEabmcmtWnPUENbiVsfUBrGCrEmXTjrBidZRZFOLJMQOkbyFdPdlRwrptrrWupyefckkbymBGdgLWfWtCuPPKvaplGwQdxncmgffLfgNSeYchlbFdmkZSagBnyRScOmnCSkxwvtJpZQEDvlYIdMdBOrcKkVxBkpJNR", "c_map_varchar_2":"HkJlWkNqMYzXVQmistsuqXdilUFRDAaWHSUCNaFHLYOMSUMJpqOQMHMzEZmghSshRnGGHfMWRPqhpFDZGUrlLDupRJWBbKmntFVgXsncvZFWzNVkGxyLBTfVSXTiQsNMQqGfCEGjikSycEvFkTCTqysENcNkJwXHHskyPZVWRUbKXQPVGPeYkwTCDiGDJWrKJQAqtZDMEgpRiinWeuehUEyHXGiZTlpJnaqKYQBkIPwzWUxGNFNNOplFLrZUdHaA", "c_map_varchar_3":"FrAUFjHOGoVUcVyiKLzBoSIodisHtOXfSCmNiNxdIfDAeYZHwscJYEAFezrqFYZbByRYIyzEDeOjXPafnxfuBGfJhZgpNyHwxCSWhvHyRlpyApfBggwWYFrBCBSyisCjQsYXsDQColVXNfbTPnNugAwabaTsjOwhYJXJZMccwccUHVNgiHsdbOvNbotKeqxMwOXSuvsiDrEvssmiSHlAZQPUPlTEFKKKPwcPXWGMSIKKzHQHgBPlmGmECcIKxOGa", "c_map_varchar_4":"CPVTCnmuOghfaSaEaNdGwBHpuwGAZklAbtmFnjxLdgNhiymESdnXrsAWjuJLfCGYunCRgojIqOuKZFmCyYQbJwbkHfdYrOFCmhGWQqLEmByEIqJzdzhPTcOaseCEPTRfdrLVGPRriNeyVcdoPvtjUsWGOwCDHcuIFVNzJwlmznQYCDgRWpviMXGiCFPidTytFPRxdExvemrRvgWsgbqUipjzXtujZIPNOnAkdIDOzOFHLUUybjvzUYWeWKIISalG", "c_map_varchar_5":"npIxseeLefZWWQHcCEuZpHmcgvzZURpGgTHBZKfvtryKVwlrBFDRFFYqkoxOYwTgdtzSKVNrEEUycuqWCzIagPPzwjHqaFnvYmVauKijUdZSBMYzgPQDqExyeBtozXhNBeiygrnPZelqmdxLFTxXxoQbzXNDlDrPetiMKbAYAzKYcwxHLgOssqClCknjfFLsEdWzEdfSCOlouUIwXLAYGVSneGxEMnAVZZhrsNHQHXyqLXIemDJgUHRWHdbzizHH", "c_map_varchar_6":"AVtZwazfCeaqWRNIHgCkOWGXuIfQyWpgdTSGCtQPMOMwtyerjIXPpOVWsogKgnrjAXtUYcoRWBQUuDawWGUJoCAZUVvClILOoUkUPniImlqdgnTSfWZqyhAQmQzxTGPcpAJLxogiEZGdfgwpIDILaHDNkvagumIGxhKwFkMWSQYCFqLHdnYsaYgzSBRAQLCoyUxeHJlHRwsyTlxEpSZpccEMniEGmNRgZDWvdgbkWlBsAtQaaeiTwJHmMRucXCZD", "c_map_varchar_7":"IIoGuRckiXzVXaHtRrIbTdITVEXIEYSpxhqHWSyJJlWoXcWgMmvDrQLAUEPuKKjyAGrgGIkhvlzMxupMHUFhbRipUfwifsafQsmzoEfnHnPOJNnWWRUiStulEVRWWkGBJpvbJwDUInaqndJSCZEybBPYeXvfvHAOBEGhCeFaAsqIpOBLAqbrfwMrENMjwctdxxeGEAGOeKKwrRMcryGKkxqumRXImVtMnrtKeoPAFXWykJssVtPDKJtClTBdjPVp", "c_map_varchar_8":"REyvaeiAeymFntVyuIxHjVXnNNVQyxzloQUMBFXVJmjChJFOCJzedbpEOOTzqqncjOPWApzmbspSUdYBOYaQPllUJHMmlsEfreOEDFqUXxIdYyDaTdRnNfAAiWgQHnQRWDRgDtvmrljVSPHmvXSBVUFHFoJqXgMergrjDxIGdXceeYxAWCnMqjnhEUeeJjRYvHPMSYeVkmibXRqbpAJHDXPvYXZZTodMlpejGCFELEGBPTyjdomZXEYEXOzrsDgA", "c_map_varchar_9":"LhoZFVfCaGuCBrRKKUICJJsZgaJyvHRdUiQwlRPqoGXefYbAYkASuiKHaCCVrpatvcKvRgToECingZtuFaFknScXFWTJihztSzbmuwQSbWRInQUKAWzKjLzmCnaUepEPawfuundPzUhEeFKzlfOJrgPerxlEraAYCpjRvrYhhbPBhCEScUHPWzHHlCErJiqSzbpZjhDcVacLnKAutrPWxYbaehwoeGMszQNQSbfwFHqHDuQXGZDdHLjNoQRxbPHK", "c_map_varchar_10":"WgtoGAIvedGarOXYvRaGziyOFgtVOijPNTfgcSXuGvKqkCzBwRwUuXfCcnalolDCffQMuyRkkeSNvPcgGtNDWqYfnSrdhSzNYzvKPEVfxbBdIVZKqjPYyRizrmSXgdNESpwBcjCEEFEFikEpVOaxrkKtAIjZQRYetPBhsCpPDGhTpPAgYgnygfJNOrfEVAQPgiOHzLdOkVTkRPEWvNIOOUZQsygVFCFRGQgfzzmjhtfrqiNTvYbKVAshlpIJQHww"},"c_map_datetime":{"c_map_datetime_1":"2006-07-20 13:17:45", "c_map_datetime_2":"2012-11-04 01:08:11", "c_map_datetime_3":"2010-06-19 12:48:21", "c_map_datetime_4":"2001-07-05 11:32:32", "c_map_datetime_5":"2011-01-11 04:27:57", "c_map_datetime_6":"2014-01-06 16:24:27", "c_map_datetime_7":"2005-11-17 14:04:57", "c_map_datetime_8":"2013-10-09 05:59:47", "c_map_datetime_9":"2004-10-19 04:07:36", "c_map_datetime_10":"2008-05-23 22:33:49"},"c_boolean":1,"c_largeint":3307730838774326861,"c_float":11.963379,"c_array_datetime":["2004-09-08 13:18:03", "2011-04-07 00:41:10", "2016-07-14 04:14:43", "2014-02-11 09:03:22", "2000-11-26 03:01:37", "2018-07-04 07:34:12", "2003-11-06 20:39:15", "2010-04-09 03:32:20", "2001-05-22 02:19:11", "2008-08-12 13:08:18", "2010-10-07 23:11:41", "2009-12-01 05:45:47", "2016-01-20 11:42:41", "2014-03-25 22:34:30", "2005-05-09 21:41:15", "2009-07-13 17:58:05", "2006-07-16 16:28:08", "2018-05-16 00:05:00", "2011-05-27 18:03:26", "2012-05-06 01:14:35", "2010-11-16 21:44:06", "2019-07-16 13:21:43", "2000-07-19 17:32:48", "2005-06-23 22:34:39", "2004-06-10 13:10:44"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":-45, "c_map_tinyint_2":-112, "c_map_tinyint_3":88, "c_map_tinyint_4":-30, "c_map_tinyint_5":-90, "c_map_tinyint_6":121, "c_map_tinyint_7":-58, "c_map_tinyint_8":-4, "c_map_tinyint_9":-51, "c_map_tinyint_10":5},"c_map_int":{"c_map_int_1":-1014468609, "c_map_int_2":1200230391, "c_map_int_3":-1303200199, "c_map_int_4":-837948469, "c_map_int_5":-1973699318, "c_map_int_6":-2119454319, "c_map_int_7":1285511108, "c_map_int_8":-190784201, "c_map_int_9":-874436916, "c_map_int_10":-1781323993},"c_smallint":-24248,"c_ipv4":"202.149.153.74","c_array_ipv6":["GQQzBZuIpg", "AaclTdfSbA", "PxsQhKDIqf", "OUvkoqjkcw", "xShNYkodEB", "rbImKkGgHd", "MlDAzwdKaK", "RAFNAkbhln", "IpwxyCMxXO", "VOHWmmrXhk", "SCQUnvCXME", "loGRmNwonz", "sTQdCXkcRF", "qjuDGBBdGN", "ySVVZlnhTP", "LUEqkDIlSM", "tnynOxaHoe", "pqdepVZXdT", "zjYLkEJCAD", "txTxsPfbYp", "ZvNWCwzOYZ", "CUqLnPQEga", "FJhGcsAFJv", "istUVgGNdr", "rzlpOflqXg"],"c_map_date":{"c_map_date_1":"2013-05-13", "c_map_date_2":"2015-08-21", "c_map_date_3":"2017-12-26", "c_map_date_4":"2019-03-23", "c_map_date_5":"2012-11-17", "c_map_date_6":"2005-10-08", "c_map_date_7":"2019-07-13", "c_map_date_8":"2002-06-03", "c_map_date_9":"2015-04-26", "c_map_date_10":"2017-01-19"},"c_map_decimal":{"c_map_decimal_1":50.1050, "c_map_decimal_2":9.0244, "c_map_decimal_3":59.1280, "c_map_decimal_4":86.0104, "c_map_decimal_5":78.1761, "c_map_decimal_6":53.0655, "c_map_decimal_7":56.0537, "c_map_decimal_8":1.0170, "c_map_decimal_9":53.0223, "c_map_decimal_10":62.1614},"c_tinyint":99,"c_decimal":75.0529,"c_varchar":"the","c_array_tinyint":[-56, 117, -109, 20, 104, 82, -91, 99, 49, -22, 20, -78, -59, 11, -93, 23, 11, -68, -114, -36, 97, -52, -93, 117, -20],"c_array_int":[-1140607591, 843614206, -1139593601, 2071978961, -627868698, 1333522405, -223365607, 1248495652, -1189850014, -2043282959, -2110497199, -559282170, -985664156, 980805173, 533909488, -1106585186, -1283941777, 478433033, 194855777, 1235448038, 937955448, -1931042615, -1676419873, 1043476413, -403808124],"c_array_double":[32.631206691872514, 36.78130179318651, 37.17633826712076, 69.46467883035832, 100.5971904509461, 59.017287410751265, 81.7220591347818, 100.1947138817814, 64.54714892412933, 10.950928333729733, 39.64753817488844, 74.38807241078406, 71.17111740894728, 65.24975188065065, 72.97625933414807, 51.72138028382277, 30.04408937683939, 6.974819602031298, 3.1632297833405705, 12.22400530968948, 50.68022762241203, 1.5180908882686914, 27.522609197144952, 59.253337291316235, 50.15164764370814],"c_array_varchar":["uoIsrvvyHjPWqAKpAUSrNkfaSTJfilFZGnqNwkCBulOPBDGEmyezabsjJwbAFkYJVnakgMggCfuulFBxkQbNHcsHjkmqrcoaBKebeqFwSeojrNIEBUfwdbeQpAzXreOOLBAhjmZbGqvkjdXDxsFyQUVotaNXZVtvtyVnfCsfJgXwGpjovKigAMAirONcdJxnPAuLWSNCTGKGFAxZQSbljVSKDoRWcmaerJHwKaBwWHjofcSqcxZUcGcnccKuMjbY", "lhWLEjlIbgRTYHMFyZpahguvbNptGTweVsoamAeMiasGNUwlSkwsBWZjKczUSKkJvBUwlvJpYdrRbBaOBdEVtoUMkaCsnVkXnBZLthjmpUfZgBQlteUfotmWwPJUoXdTrAJmTDTTgYhBuTAQCqWwRObyBuNtXjtuRShFhbmHkaWnrJoQAvGgfIApUbBFskyAqoDAVuSzazlWbZvGkCjyYLlAIggRzACETUIcJLWamCLIHBxlfSQmMqetFXtpodOb", "ycjUHQmtSixeHWSIaMhQdzBbGktiBIktgNPHlghoWqEBuSJlUSjzCDvJvHdlJhqHEECNeuqPXYenshWsOCMtYTpBSUSQVmMIRsCkmhLZTCjidFepktOkyfLMtDrJQGssVgVQIXgTNVQNLtWsbTCrTuSufgXYRGXLvtvVsAkYNPmrPFKoUtCdGhrEpQYKXNxQkGFGdCQGRmFWwTiOQzkTMKuVNAkkKlZOysdnVevjUiPvPBCMmxFjfWZgcNbIHVEW", "eHbipWGytYmVFmdnXUTUHfAJbfbIFVOlEqUMxNZhxexVLxKZnnKXKFgBYgnFiOLgvSZbrGJivFFzKmVHbooCjLFvGOfQMEiErlxUIbjmTqpJEHSCxtHWepVaGCbuqhwJGytVCvQaHGxeHluHSUBDdoXaxgcDislpvqrOkNjqLfXqTJJfnQRBlTJazZNmOVSlIDyjOHbsgcmqyCPDzPYAshPOORCqsKDMymgRSYiRkItPIpjFTADYRISDMWUAaNPI", "ThGNfylJubrYSCyThNnjaZnhiEqNGozhlObaloMigoPuCFkeRoNcufUZmGFvWrmbRFDORMBFXEEzhKjnnMkKrEawVOHgMJGZhcPJpLMOgVjSfJJYuTFQutorVwzVcYoeQzwSCeGpKTfXtDaSYYesZbIllQJMlKbnhZORtITvpVPYlPrkAfSmTYQeCjwPzmPpfKkUViBQFWjyqtYBYtQHEWuKfTzjHSZMPpeMhiUPPZWFFJykcDBtrDnHSfDSwNMt", "JeVtXUcZbgkTSiTiuOnipMOeSBoeGdUjIUBpZbjSVclDnersvDchbjrcuCqjiQXIhMbsVwacSJbsZDJFARWOOqEscIorIUGBwgHGbFzmEfwROKUwNHdsNKRqXCLwfbPduxODPyNSRjcKDAIGzEwiYnEoKTXzEEPbxEBjmxMXhrPkodNVlXtvuBPiGVbgjCGtHigqkFNiRMJAvVKSNfaMGpCIZUMFTsyPAryaXZTZqVZZZKfQMWGkXJFsRQzXrkzJ", "WgWbwRZccQPpoPqsHJDuAUQzzTrjseZylkiaJGHcmmxKTPJppjPouPcirzwXXSWEwIVqwdukyfugaiMAniOHBSjfCsLJCFHxpZsJQWZaFZFVbqpOLlIVtHXbkYHIPPaEuXNwjnlIZZGTZUSEBuZXbCYPpeLJbiCdmGWHWtaKqWLxyTCulwcTOlFOYljjZuOCnuCcMeiOAZxPPEEYCQRIIteLcoEysawnwVpHFxNyzFSjjPzfYtPPTOdxebrxqaqp", "UnOAVGZEKuGQUIQIlKxgzXbXMxbIfIQevMSYvzHXMzAIsMrTbJmDuTPJoiCLKHKSnzfJelKAsKvoadlrqITEajZPckoofJhDQbEZTIEAOVodosabGfZAPpWkHPlCOtnqnErJUDsZJRnpHAAKsQNweavXwnHtauIkNNjXrXrhGBWvJZoVICXYDctRgjFtLOHuszEhIgMWxqfAsEinLEDUiqeLaIuVyeYGYJYyypcrTkWFQKxdDjFHGzbJKqXyRxoK", "shZGqZaootUXBintnggcOzIiIMFxpKcIjngzExsDkrEOrpjdvXKVGlspDefzExNGwShzpgOrELVSFvokgepkwVeccqvgOakoEuKPyOYcLsbTAGNJsCYKEYXnHiYvneuifTrrFePKEUSmjcsJBLJJOQnkLOgUezUvRruJIThEjfCcmuLvYUbkhJwVIxpVQAzKQmxRwRrcYkxeabkoIIwMMdeklrnfbcfBhoclOkSzgBaQUnHpLOVfqPEJvKEKHeza", "bRVDCCByJYhlidQJyeEMymwqfYFMisNFiMJMMDaWcWTJmrptwsFmXiEnXGWfZbiFBxmiovUKwxJeSvOnxPqPfDHYBOgWqgfioKkjzrQHVwuqirvWFaWOtSXVHJZRVtfhYxRXICNHRbmSlHounxjBeCUduoCwPtehAKMYbCsdulpUrpnBzBQfLnzsgFaGKXXZgNVoiHqplzlwvZZOvdALJviTPCCWnxjkqisqXaMMflbePsMGNoNZVrdSejJpAcJl", "FbVnGVFoJGLliAiTDODTNPMcQvHUfnLZsdbdTdPBcxbcPXQNzvgUhzSOAHQfYhEbNVklnenjiPcArxmVpumxjnIDJuyXucBKIHEzqYSgeSKEmZFDuBMWsVnBHRdAANkWFhIHsWVWKrMBCCnbGCHszOuhtbvAbxBPJGsOWzkXGqnMTQamvUrlmfNjyUPTEWdyKbikxUDBNubVdiwiJOBZyvVzAhhqWHiiIIBKBuMkvsBUSMVbqtoTbWweuHPHOecK", "qGYGglcvURhihMxHxxPwGAauSavBRnXrgkcjSUHqFrwsvDSIUGlbpwbPxoYShHhwkkERPMxtCoRTxUJSATPBbKkpuMmSGMSlowFugNLaopNmYZQUgfzGotcFpZxmWXgmhkbvqkgpNGVZgHxhuZQlrUMPaCjukVzhYazmOyovOIvbJSxvkWUMTCcJKiKUYNtRuatbNjtoBlcvaiYbsSUMlZahBkwXWViMujnqsYslJjYVQuzgJlbvFDuVzrcNFfWj", "jmCwmqxysAcujNDTaeshmfIpjdGnmrhpEEfKfApBARKQInDGvzYBPmmSweqrbbWsnlwDSUDRudOCYDlYqIgjtuTPmEEUNaxmPIlfciWocYdUDMCoJklzXFrHjcBWZenOSjWtlHTSKVVnjJGgZblOBbADGfQKNZGoXWJCwSiWvbcwlvXVZMMSMIQlShoLeGdAYvFacoZWrJJJonsbUMuCTuOEguEynVRXGfeSJrzZsKGQxvLVLaBWPRgoaZxZFVCr", "JwGyFFBJeoWbwtYiSjraDMSNtceikukCzCSLcKtTeOfUABkhCeJonjjQSdggdyefgfrxgribmruABMAAztteIxTZlvbIkayUAXkTAvYzskOFwjNhZWYGkEsvmrIuOzarFQaYXBeYMTwllNdYZDvdDWIzbqEXdLPKwLNbKpGOmAaYqiHWihuuAMLTAEnbEsZbsIlqpaaKqgbAoOpevaNKQKPJNKSlkDyFDytcKlLbdhjofKOemvcdPhrrNXDixDKO", "CDCDvDrrjhhYkNSmTNJpAXBMLxrCEEkZUWemRxtYVMIuOoxJEjBLQdUbVQaXFTpMnkNULAiBbcRbPpIHPzTPOUGbYMElRvjQzDTIvBMbSQDtylFKqNDvsdCDpLOUUFFpUDFlfENxDMRMMBDmsHwrAUwvtgxxehzyRrzvdZJDWHWyMdOUTxmEHYknYorGQOXbmhUFuVLuxBvQkiJEmPtsddyufKYbdsCSlDVvLRkbjlTmUdujRrkIiPzwlYUjtxJw", "zJFqExKDtyDEnhMSaoLLmhmPdoHYKthyggbVbvDGNOjIaErEGHRCzMxseFcgrbRRyGLkifNiQQOdHjSncfYNMuWIOFPLyrXNdoGawSOtbRxmavvrcyCnIajaiGsGwafmYWEKPIUbfOqQsYmqCTHuTmkTHbSVufAwkhEkqiundpKWfWbwJmdIWkvENIUSCxBMNhqODVbNYRlShVLBsdbZUqaXzaiDJohpfoqAWrLgrTJswrVIOJUDRNwvpNwafXfZ", "HIvhtPQkLXjySRnOSXpOAaaolArUSCSLWAZTJROrphvDzpijpDoZsOsOYGnsaSeTbvkDpcKblTACKWcetXWKZjFTouzecIiKrmqspzvFCVkqFVgpwfunuJwxhVblhIYCcXNjGJqNbWjLFYaaLeYEQTSqrlwQrHluaJAqSCgzxsGChPydfiNJtFLBgSpzfuTSeznEQWGGAMOjFoumXsSsVgEPaCHaymKltxTtCJvVnKkQyfMdPROdFEOVFspbyMoC", "xexcDBawxZtCeGbwKYgNaGqsmIlvqsRLicAZFTERBPtLXBUgqQtmBIOOdYnYqiwjDXFYDxtTsvZIssEKjYgDEzuSSSMlicmysOpooXlDLgZaFkmuPjjKMjfsARRsxRdNurwdDqrrupdGGxAuaysefJIZJkzzyeFJgQpPNcdJOEUvcVefrfIYlvAzDWSxBxENGFnYtVddyDdXeIWUZXauTZxXQXptJAizSbDIOSsLMNndEduoWFzXhIRsIjvGHMtp", "aNBKUWqVrFdgjrtllAlQkPAYzhUXaioLVJEqEfIuKRksstuNPIUyPbCytNfUpUqLFvSdkjwXTIBQIJRNgYrycJmjHLVyyFlSeUGSIlgOaBKNcFwsEExuyvObPIeOrtnsZIDNnILXNEAZqXwUTBnjFreSdaVZhOUhWCtUsFTSIWldSzADKlFervQZcMPxYzdclWSsFlPrXDgLJLMVzKzwGCSiltchTyCyCfieFQYBBodzwGkEnyizFyddzfjQCGXh", "tmYjOfRSNlXNymkvjAanfOggmNcOKyuhVYmxOtGuEefzAtryOtWuYcvviOKvTjEOmyOqCMNUiRDkPbBapjNSfeUvmcbKHDcTDjfWghbZTDlDumkKpjkNxhxNkiNKMPSGsmqYDkeDEvUaXzocTLVMrGkXqmujspUYWvMbfNkxhVgiMnqXffRELDwDiFvsdlwFyVulPfiUIyFFxPNUgbifpsWGlTrdTXTdGiTCdvfXTIXcJdYGwSFDBraJYblQwzvb", "VufLVLvxkGRegmNrRhqiHArViosrHrRtqJcrgXuIrVQHuxtuNixZnkajoDdVaXMqMkUAncfphsIySUCoZskChreSJacOSGWsrfXLLngoQqSRIHsLCynaOfolCrpMVQfBPPIoMaXDttJxSNfgLQKwUAEBijbchAwLVHgYkRjmgfykLkiLBXLGhwnaKMPcQbdNVqaKPYHUKdjpjebFxyyBPqyUjOZAYriNADjJhuHXFLdnJzoDSqLBYslmkTMTKXJK", "wFBjlRUpXpxkNPjBptZqRIMpbcNpmuWXDrsWzFqkpKWJzKgTJovZlyqNfGDrIIHnFMuFGsOKrHQmrkEIcTMBhzqzixoLXctqBQiTbdHJvWAFAKpnuKBluwDPfgRjEsUgXGkdKVZqOVnVPZJuMVatNslsROvnnZHIEaDOvyAGJkVnGiQQVTPHglqeUIEvAhRdhUjdFMxdanRvmepKNUJbYCyuIgdIfkEkDNRYCjgIhaXKVkJwMGkQguVkemylXgSV", "oCveSujVCnstZNJXenWzcDSjYlUbtrOZkAlUJCfojSjsBlBNjHQcIgTgICkoMSBnzLxKhfDBcITDUelYsPlZMRDyzVKLhieOmIVcgkVeKLexVsduMjgwYCJPfdgIhLPeUacjnQGaHzKMekazHQJEhUoPYrmTvvdOxtKKspywkBIDBrCNRfZHKMlrwUjlqOzGzETfYbqrXsFNXRuUGyLsirxBGpkFeOgVtQKhuGQiLkFjowtQyJNiUPaYoRSwoHYN", "nUmyTAoLFjtJmkyAiiIFQZVCTwyoUxZlEAkWUSrWketpIlzNZImpGPkQCZKDntMwSYgriHblsoxrnJRINmPRzHprDGWabJHiqwcDKyDEzSERWbmVPaNudXMhTqUPhtMQEctPqFUvNYIYDPMTKGNmFGydxeaejddSYlKqldjNIOtvbPLgshQGcOQhYmncLaaobFBFtomIdPkQeznTSTkSjHOkRAMhuEGpilJBEQbwLOnAVUoVZARZsdFjedUtmdsL", "rCGfHHowBuTbTsMmSJZDvSRhxoqycAVkXfLKvgFsoQixVSgFzsbuoyEZbmAZlKvntflnyBEaJapgmTAVPacYwNidjImYeAEOlwxAZoDCNsAQBVULgeQVvUpiltRsPUFwOKxbqzcAXIukfJgubWRxLyfJIDUAljsUtzyunJHNGYFDUKDdDdlSmaGyYEZHwXYAjeZhnkwBbXIzkMfmNCHyXlnALFSzzWeTBsImNmWomBmwvgNNMvgwZbZlUNfwriTg"],"c_array_string":["trIxfIbBBHEdkggSduwMVpDoqBlSjAsCgeeYqgkZnrZFEzlcUvHAQNGfftFQjwHwqDEtErxvIjDBOweAeWSZsMhfbVWfApNUiysagCMZZopJTHugEwpoUJgbBFwdnGQHNXxfdMxNOVqOuYoNhprVMaqMCsSizQJbEzvgSBgpvgcFkQgkIKfDZsCqSnpMXgxOeOLnjPaxUVESiusleYneXCrlzGVKQnvYkqpPxYxhqNROVsvulXeeImawtgLMViTaKgSamNcFGPliniDjtOFurAqWOhwhHCpFlkKSIsFCpFfxGgVkrnIRgiQolUUbxwUqOHEkUVuNVbzlrzNLHKRNXMLFwjNxtxgPanWnfJFluiQXuPTUbQyFMBsJhCfDfCRJFFhzMhIsnmucWcmGCOLOtpiRAJMstDzkKGefXkvqiVqIDeWGDxhGdHaxgrzHZtnTSGlxDrRohlnEElLMZMbVZhnIPvxATSKRuxJkKukmSJFruYoVkRkjTGHGqyVZCpFE", "YVfNFcaiYKZhbyzjrSAXzwwrDGzxTaCHQLvydOIqjihnZYlVQpuIMiTuEgDqxkrBTanKcmTnUbjpDWRbvyXiaEgpSKVPnEIMvlNGMttRQgzjDVELkBwyMbSanzPvxlXOXccjQHmpNwQrtKGQgEaTqAnjgkfLNLEymRQPCxSOxFaJcIOqOLlUvmQNOoLMlpdPDmODytfeXIJZBvXQocrYleXVbZKrHbhNZDfvAMguTxCkOoyugpHZiaSlifeKHQrpXndQOLijLSFUxyATYGBpDjHlpcRrjgxnlvjsczyPKwansMzoHeFMykaKHDOFUEEucJtHpWphKaJfVYLRVPnVbTxFxkSyhJMGBFEXldRpnappvqUsTwMcPSbdgiezJKeOQMhZcRjBSLSkkWxPfDgNHJXIJEeXNdZXHrHrYYUlHFDFsexiSuvkjWjIACCmQdNLJdwSZXNPuhRSEHIHuMUIHLgCMucPkEPYtzZVEuvJuaBVySjnySFCxfHvYXnmbgtR", "zlVixDSDGZdEJjZbxftxInNVUchwUBHQAHhBmNtnqsuIEJOJGuzvIJdPVJDDmgCIBwcpgWiKnGQXFmWvuRRjjxhnPMNyKSJvEjGRPDxaZDZmXbVjcaIHkcacWOmlFSXwrQtxfWVxuTkSngoDCTJgKEFhtDyKAIJNJOryAEkECWxjMoMOaoRSgJkXXHYzADmiPLTdfagbqQaopeOyANWaMdcnhUsTTDqUadWMaYIxgqhIvkPmThrpOqfOdEqErRVGqESQjgpuIernbvlaIGsmSktPYPzrnLEkTGMehcBQszoudmzZbowUhrVdMRtGxiyFBDSQSQIAJIzqvxzZOvBkpryCxizEGolQErcUjJIQhdeWShaxtoSAFrnQLVgpaYXjQFrmiPlMRjPRBAkiBrrOdwlFDMjlRztaqHJdTsmWqOHmkSAAwKjojiojVknJTJZGnASxpIgQbohvxuQhDDtsFfGaQlUTKoIJwsOROwlDwjlcWFqwXTmTywWlasHQBnLF", "YGkQtpwwrCRbdPCOFCGanERIlxFAkYVBUloulhGzmLJKvfFYvoOoDDfLGXxjsVuyNIKXiNpBcvFpntWzDgcRCjfNozHqLdNJYVfgDtcbuzvkcBzElbeDTnnIfVDSPvFslCxAqdsIhKmNmKpXECnvuxefZeuFPuuxUnbVXnptOyfdNVRXzViTEPFeibliKDOzbiAmBqmLhylEUosAlHsPGkJpfLwNTCAIUyUUWbqGXOdrnYfUMNuYAQQAxDgiPViPNFIkgvjmMEDzKEXZsrroRCgAdkljSkfyguMxxCyJWkvxYdUZuCSiEPdXTrboqWoOEwoXwvfsCHayPUdhJCDSYUhhuautzuCSCjXjRVLjssmsrSygKGRZdowMahssvUIFBbFZyMsSohXLEfHPcNWoOPsBIDQiOaoYsvtOhozMUgDsFkeUriYwlnMECBkWvulfDHPFMgJZzRJLemiIOmcmuomWIKeFgaoxywTIKSMFcGKtRnpoWpbnOTtXtaUPozWj", "rWOITLLwWAUyeWHXWjqaidKeATdziKsQHxuKjixKAqBTFmVXjxhCucLOxKooxGFiSfWkcUuSMrCPnleDpVDRyBwhsLMccjnAYVAocgbyKXpOnuAseuKfFyjGUUgRgKUCQiSDCTKVcyiEFZqJyogAARcCBKNrRidTafnqWgxDKIIuhiRciSOlrdNwEfIxcrpeYsVfiNDatvKIaYClXSPBakzANNJzKiXSvJItXtQXLfRupxPXBYCgNHvwPzusOJYueBYFccetbMOWhaUglYRkfuQMJhGAUMLEOgAvfTkMzffRGfEIIrBusyKuJrmBaufbiijIKJDyZcpDcXnPnDKRRWzmcrgEVYvOIPDePwUJxgPWaBvXPwZkiyVaDDIVUPqPWVEjDubuLDEAcZXXmFKtYuafZjYqlKHVgGJxCkmnnZGASfBdnBzXWAqRECRVkQvuxjunUHHwExGodqNFSNHTVihCGWUwFLKONiceWcjuxNXRPIIynXJuBiQWRnIoYAby", "zvWuWYQOrMRJMFIYQNDCibJsuzXGDxkoVOoWyXKfJaRasKRccvIJbBiuLwMQgpVraUfXJMBEPMmflCgeQIkhuCyvLxncaOGlzdgWBntAbBlURcFMzjUZkSLzTBqQtSnYKQoGlaUDAeYAFyNXwzuKEkpGKfwsWvjvUeSrZHxiXUCkVefLkWCnwdXQJcUaKRiKBPiYEVJEWZQCRswDauXviurFcolJnKsWwZXTIoGCUDquSFqYFaOrysthxCaZdWJyvkrSoOUSpVoxjJvUwQvpOqXHCHnSwrqKxwdmIUkxNPAPkagZHTuVxzcQnnojmusvjdOSjxepeFYSCBSXtRPcEApRfvLTkAUvBUmJQeJpnsdncyTSaSNuHnSwreSUqMEhEFFAlbUePXygaeEZtvKdnpElBAgQhkOcuATsqykIDQCbWAQhnWLqVrXvhsmMwQUZGNqVJFkOLUEDkBXiXQLqAFwJUynRhoiOzDStAddUteCwxyyFmaDFzFWJYoffmPEm", "NMrjuDgQgybxfVTCwcypyLtZisyGDrhtnTywUexpVurCROpJEvAjgQfihcaUCZoUjoQbmDmWTULxWbwxqjztochvwxjYuCNqjpFAzSiCKYsyQCLFxCwbOIwihUsWtZtIJTmNRXbHTMAFKYLbmJVtYOzBHYXJsIxpDcmATdMDNDOBSYYMzOOIYElHaCMmkNunWToocSFQhQAqVsGmOXVhmZPDAediCZLXHXLmbXxBKiIFrqqXCInbeYSsLkjtzqyvkDbzYXYjhfnkFxvEbpdnLKATWwYFUyarpkGRSNftjGrJVfhocWufxfZQXfTgasNfqQzaPVumLjeMZjOQvMFNnaecsrMNgjsQcMKQYDKApmdCSVDHAdmhWOFAVqNfwBKGOsEhOfdFaedYnYtOwnZwTbPOowEsPiwBxCIxSsSoUUkjcxLZexSjhCumwXOGNrOlwgiIlEGFMovjqCrLkltowKYmyIVLqxEIAyOXRJffbeSlHZoKEtuNLwUtREptGEEr", "WnyQuhzDQmNpsPmDwDeTTepPKoHyqvpWPKYryXJrphINQCpBokYGBVeLdlTXchIosLhwCzqqbWeYfRotrmrcrZPCtmPjCZczAnRetWsUcDIQCVtTMDwMWUuIIcMSaFphfrAtZaFwSZgiHdvvtgfbmrecYiwFPbCfRsidCqxeYtuZzOSYmayAVajsOcsfkRZmxHiaGTpbgaMefjNCsKOMSwByKqtQNiZaVweIwOexrRrYeGUQdeEGVbjNBFnvcnxLkxnmAzDNzvihcwZRDHOWbehbwcFsMvzFgceNkuZKolzEHEGyOTvfEymPVDixqQhoVTeUxFMtJvTGQTsEPTzOEBnjCOAreRDCZsnjzrcIKaRlcOqsvJvxteREiNuaRtoxzpgDTLxoKQWISFesqIlVxLaqqPCUToQiwPIYwycjYzabUmnvkUqWZMPcLJiARHAVfPwfdTqLgVWrhwVcoKEIZJkZnCwawVatjxUWGiRJAToMluXRkPRFtTuyRGuirEUB", "IJyJaBiwAPKqeVZBxZuinIPncdKuOULHnccCXpiBnqSZYtzqdGIoMwSNaePsaSPxRujXmcXyTBNQkzpJBRJjabemVSiQNPioBoVyQPdlkDnbObWMICyVylkuBhtrtNnRsfcHxRikRHSRGxuxrcFzxcVTDXSsjKgrgvhtLMbDfuozvFxwWVVTJfLudVvbvDVoSdpSnfgKncHEXpesdCrHVPyvNpHiayKFAaadtjSQLqlfNhpSoxKcgAWyFdHlaVDxvZaWwZXEUJlHvUTjDtNclqWhNnlfaSPMIpqoWzMBlsdOpIZicLIhwQUIvOGhZkOaeLAAeCqYPSWBGAREXxUQghMBgaOQwNqIHGaXvuqNKtOgGftcyGzMazVWlEqqTmokMYInThMjxxHrVwxqvYMbFhIwTDbqYhwysCAmJMlTwJzPjOOfZXhGyqzkyiGzCHihnaydlysZNcTxeVnjkpPPFULDPoXxvEeqbYJUTYTTdMHTzTtLdWNcyuuNBkIrmWHb", "boCSwNCqCvOlRmlmrnOTlbsHrPmyLiVjYxkmSbFKRhEhvYTlXejKVYpSlggbIUPMoBajYwFBadnKNLjQTZAxbcLWNSDWYjxbtKEglvasJLgDfUsjQUDIsceJWuwaUWYWCFSZadSeUkSofVfMTYQpcDbSMAgriVVcwbTZhMeksGGPBbHwWMFvxeyVjKHCPRYEaLaxzZrnfAySqONCzujVwGqupoyIVdaxXqZvvcRURfcqbxWfYIWjCjspKjMQbWwKOmhsbdpGKYUrRYfsVfZHvGhpGdkDaAVFKaBLgyOvHETDCkDbYSifqhHnFtACEmXKmZppQQuKKmWxIDguSGNyHawndjCpHvExQZwaNhfwnqPHReirpHTkBnHAdrHJRRiFrPRpavyliYBNEANGqOiNleuVbaPdZkTXNAbOYSldMbErxFhvZBPsPaNBHCilcfRISyAunuKwWuMZkQZzHKDSxxClCoFqCxXsSDzrOBHuCwTvidQexnZJvIkOnBPZInTw", "prJnRRuNtDJaTnWqDKrxGpMGgZrMNDOYMPIGiHDJmeWgzOPQjZmhvcIxDQqFGJnEifAtDMWQjUZUFHChbgLhNehxfquzAGsnZkyLvSCHJhtahqEiUBxTmGnfmrCVxgaRvHuECfUWeNTSQGgxQRKnvGZiyFCWKFQnLNHnpTNIGmVMIIThxMcEePjUykgIYGvreODGgdLwGhjcxOfegkuvwhmfdEvWHAqKSzxqYoNmRrjouRjOUhLiSJFFHKcQKlxsHLprFmUpmkzahymJnUwvIJixDWZMAAAfMxlRZJHnEOrfvEXeIfsLcKsHIQzXnDDlcWPIgEqmwXrNIeWZOgCJHYOBKUTmxsNzFvUtbxhLFwuUQoBsZQpoQxypmciwAaHunkZsrwAtdJSmHugcLPKQyqVTJKFanEJKfFBQXMRJvNQoafYbSOePcqHCnoXEoyhjxLwEMhSkGwaprksiWFfprQTNSJyMvBArnXNwtVzhfFkYveUJiFcpOBTnwWXwngYl", "LZHOKgFtkxAOXqceWqGfaQPrBSDPvnyaVFktCjyGRxVQRYCfUhxvyhKQxtVOUNVMBRiipFqdZPzxksIvgPhMaxdLkIzKnvHlWNtPOjjmofTHZUuJkgSbBGrLkUsSdttMCiGyZJwpZvMzzPZDBxoufezRCElZiiOnjmLpgSywulgQUQVdBLluqADwNYDLIVuXzoEjkGafGZhUCOLinNUUhkrDUjoBCzjPsUCxOCPwDyVJuzcytstNwElqnMUEkOJyePBOjBmpufkjXYRBwaZDGbQdJOIRqLGDhGYCJxsyelLSMGOmJXCGAHVIncrnLhzyjggZkfzLGpGwSqdFwOPSqRonAJkgCjgYojzhymkeVEZXzjyLaUaGEmEEgacUUdluYxvCOHjOLPTPhCdLgkArMcylCdpIkhhLFvQujezNMXJvdolWDqmXvPjgWNIDVHtsexPyMdifmbAnlcNzmlJhTRsuvSnchkcdmmPtOmqjlMmKMsmzzbzyfcMPvTSUrBev", "UKhqSrbjyloeFufJODtDyBLmELiYthJCPsjRkDKxvZkPZBWIUoIQXyzkIFWWfYqolBGIEEEtFbgNkNTYZHBzWvIBjLXBKGRFzoRybSPWQDmVaJGUvsgxpMelHOZXrUxVWBETQRKGbgshokKbJHUcNRLLOCZCzDwlNlFReeXOfXEhQXmRsThwlQWIiLXwidOXqwfKpsgfDkhEKcQfkiPCuvjayiBrirGDELeCHmclVjZYNYcaFmSCoidDAGsQJnslKPZQGjFlhqgHsmsoNKEbuHBdxtCwikwjoiUhdjLZXVGKAcHdgXerejuKpHMHMFfBcnBlBHIVyOTplRJaPmxpqcKPrFHEwHJsvpxFGpydizzuNKSTAVduUIfgPmrvDwrAqsVXqrVapdtKoUbIAVfdDZxnEXPWBzPiFWaCaZoUQyZxLcoQEDqJaCpitQwQBsGNhyIVIfdwEsuVOzhHrLrWeTDsFXiTOXnWUBSWBrhCPtMfJPaXLOsMUFrvemCslZnD", "eiuneEgpymZhMbEPyboSrHMVOijtHCKRQtMYqMfSJFzNQqZePBadcUGCjBtaITxuyzWCAcBnLPUhSDlyTrDPFdSUIxIEfeOUJYMYuiVGoSMifvTuIKYnRaKgMsUVavVbngtocOcizSiLYCGsoSEaGuJaJFypBAnpzqAAhFABAJWpOiuPWwWlSPYfwVMmQDIdRXwPrXiHeRHydoXXgwhmoTGcxflYeskeBhFiKFYcdRKSJbqTnSXkqVYwFuDlsTTkvWqBAnmIGTfrGymdyyRXcsKynjEClALbpQbngQwtWRcCJKNGmVaefpmsUrNMtgekJuamZTsmSWkkWwHjfZQvjySaiUsyPJDBMTTKusZxsVxJDaIeDWkyPebDmRpCxnCrHvcahejffKMbwKwPtPnowJQmRijCgNlpoBluVcrEKtIGFDmYcQdyuLNGYvgLvqGunhiNRExhPyaeZvWkszZqmURzUsDVqlcDBvTgQHJpQUNQrjBQdHNpWpYEFQdIkNDC", "krgmOyxqqYeUCgFXijvGiTADWgNsmSisXpZrnJzICYedDJHOjVdIujBYsDRJJOHFoQnJyYtTYfnqCQuboSoHqyNmoXUUgpCSfHQsTyXDZxtKDRiccPJIrsplhNqBqHUnbyZfyMwvgdgNuizTFCZocYQhyxSAanSLtXzarPiIDjNOrGqSWotQxrODFroNisSZJAxZYuEUojeHHlHBQkEiZdkntBYrhdjulpVtdqPbTTzcAaZpglJASTWKSrwNJnNvRazjehewYlOuCPALUoDbRBnuAPIUcfVBhOfAnxuDPaJxgryBsAzxjwFLOmHxEEmxzsJFidMezBDoBrOmQlcKIlGmgJpIQPyYTktCBgMzwCGvbcbGfdwEQxCscAwPjrEDgdEwxnKOLzpUrIsgJSgZIsiGcAWlopyKnTNqTBMSiffIpjxNtuDNJzuKTfezgaTlcJlMzycIrCRQiOavHAwiJgtoJpbPyvkXkhOkpDdikEMOzYmdRTHvMFWLBatRmINa", "JRCeYWEWKAcVzYXrpVdgNwAdhXKeoAlQXmRCfmtDbKVlzfHsUxbvHYvEcPHveWVlkAwvjTOStKPOolgOtaDmbnuadoDfmQNBOPUPTBPRilFUvQiJlDXfmyKrKCeTPaOgVrxqAIqaaEXoyONtnkpgFgtZnVzHCciJvmZXuXmeaDmNIDetVwYeObfAWgHbkGsdhinvvmMEWMxfYAdVxZAKbjAuqSBMTvlytIvuWCucWqIbEVjBpUAiKCiRnQdjCivNflZDBLTctTrHaDlQcwKClQmssrdlxLOMqUEYjJrHSyxHYpvtdTNfzXhXziBFkhOTHJITKtDQKYltDISxVKiSAskoEATypzqluknQAhOErdVNjSCMczuAOOveBsSGpIggbFEreiMWDrWuxLufJRuAtBnbztpfaQsNqOLXxuRWJKkzBzCYpuTruRCBvKsgprzWgGBwZvjBIHPaSyPgeNVYrOnjYXfObFXdDdxuTeFeuokPPOFtSwOOWKrAJqxmFyYf", "GTVcIkAFAKGtrGwNwMrxfMUmfRBeCjTrbMQuSviylLzLsUDYSyHCZNGzovJyjSQEZNVlrAONQSQygqMwUVuKwUZUWUTzTkYaeoDlcHAVWqVOLnuQKfvAGVImSsJwqGfnokHSwVPmcjjqGfvVPrnFqvzpwrelBaPVDyNBtizQOgRVBmiGiIFiBFYYfwjOrgWBlVbgmgdcytySUtqYehbJJqVrMQHZRRpHXgIawstaFoIxmsfmloKAdQtqVnLwijeIxYCfWuthiJLkVlruwuijWNofAsujKmpAAFDyzxTaLvFbNYwhBAiqtQslyvdSUcUEOvJRjJcvlrApAUNYpcdXbBgfaSAJUhIRzEkjGjVaEvkpxYcCtypWtvLUUkhJcehpuwUUqbEFGPcimCyzKiXgGzJxZeSdwetmxQGHbSQxrrIIhZhjoXaZTRCOfIuwBtKFTDqZyLgHearicFfQtDQBktOVIhwkRkoufFjXFcoNmLtHOLatGyLfDhtCWXuArtIn", "stoDxlYiRsJrtCGDMEtsVJoZUFdYFuIYSetEoDMcOZMrnxdyrcrusWMfyvyBJhChGqjpprdFxiwlShmPxAVabYmLrYMxpPSoYESMlNSeXWcoOlAmJtVGjbqXGLtjSkdmuEDUDqGqHVeIfrMFYnSAtAFLCwnEKAlaftxbpySLuKFKFwRCvFXolKnejtOWkghyxbanmZLWQQlJYuLjWZAlymGrFjYHsYolLSFhbDQkyfjEICBpqfmEKHZTPxSJWonXnQNOzEDTaNccaYGbxyiSAXFCNeEyGTSXKrTyWWkmlFdecHaKwivCsLMSZeuRTCxOWKVgFfblkLnuhXPYLvryLUnHBnJLChXKUDvbwadShEBVYMDxdOgGnPAWEILsKJYrSaNfVtkYrPJRWxcDJieEXKPHrVfUHeoygMMrvBoPFJvhNwWKXStBJEQyVnqwbDlNkXvmPdmtgrKPOmpSVyrWSmvgfvnKIvMgfOgWXdWszoHDxdMpOQliRZhgAxglxmIN", "NUjdHVuqOCoXmbZWjFbGVWCZPjmaXCYOHFUBTBZLrmlBWAiFTLXWekQPNHVosRJABRLhAMkrepdTBsflFTXRywpqKgtVgfGhybpTbgtIHioqfmBUqaINTdMGbTygLZtrcGLNseAavWuyUVhiOKwtTZyvXTCuBXbIVnxMHePgzGhgvYqccGfGFvUyxQrtLXHioceoNLFwtDmIyrWZBkrIPZQjGUPHPEVUxfTzOjERbjoBAOuTjUnVQVYJLULhXxvpLmlxRieJHsHeheiGGaPdIeUUSkstmbLXrHbrdgunuUpzibsdXFWCpbQFjoFaVWIppPKNvQIBiJtKesylfCTDUZsgmbgkOlemdtRLodwptfmjGhJzduuRNMpJATUwkdPVItQlgstwpARXkmSmTFeyJDBOhKQKkCBlWDGRuyhaslHIcoJtfJqMIUbHTlJQUewLujVxGqWBDzJGEBETnQFadoRyLtEgDKSbuZiZmLkBhLTrJwMDbKsmMMiKdUdOwpnz", "eotEkASPyKYehLkhzOpiRCGZsAyoQXzgjaSoFmgZwFpfrIXDCSmJZWDOtuLxLAcdlvnctMKjxJEvMiUSjkWuAIQGmetZlAuAgnmlNczUSgnozIhgCmRzYSfHYcDAWXpCxwbGPZPQmftObGtPeHzDVOSwJafTlYjVPWndGjMcWtxrsvQSWBBIRxsfsSaGOlDFLCZGqGZAOGujgYXKccDEMwmCZEtRXBFRgGLYFdQaeJHEBFriqKRnDEVyKYfhWaaKbHdxNYtvLiwZNAaiGBBVauOtZjhzSFJzWuKOvvBvalKZQYmZPMaJXKAjcXkxJZxyNZDifGqagzTYXYDhCZHnqNUsuhlqDyfvZIYULAOxDdhATDNDAAcGeRVEtbZoCqgCooizTEQapYDmXxVaeUZEWmdCuufJWHySXOKmTbJogTtPkMGJIJjeazDDSdXnipMUTZUCUlOcbrLxvVbihdfDxYkSGXFACQkqKYRGrITJWlTDPcBtDoOmvJRJNTMSafgr", "HqesUDvdtIXQEdxKWfjbYyxQVXyNxctRybCfMgUiTBCkRLOnTXpIDJhWTrcuIQaLdgchuTSQOrKVCXMXjywXqlNyGMlPehgZaGBdvYlMkNSQIevqeXVMhlDifLSJOPDoVHpFxFouNiZIahmYUXSXTUfebgZiEnHyxVkXklxqabUJToIpAakGdcLamNPJocPUvBscpYqhFiFPDmZqAMaHKCDEVcyQKVqfwnoniVSxeFtlKDdziOJzUSYtmegOCLWxTvEfXACsTPkVKUfPhxpKMCyCnRQYrTrxTkKnaKvKMgMgVENXVtnwxkEdGLluyFagDQgZPIjkNETyttuuhQrclSMyRQLcoaVDtjaDPnlQILSabBJeEkfftXHtphGQzUnhxTjZZfPjQJUhpBhSSJGEbKDCDCpeCGTHgWfatvnCMauWBHPCguEtWiSAGZlZsJdvVWNMbFJdkroBWcKhbyWAAGWiliytUQlsseGPDxjOdFCICydqMjubCziNwIKYoVOf", "FIUrFcaghfLYUtggCRZhYlPyzNLataxEtnTFWuFsjXLdNkuRriqiUPxWCLiEwYsiPBUqAMoneCYNaPlQXCuglnbZPHkzgUDEzlxcSkrbmfjNyEzhjGKyQZmnrSNjUHQjHMHTXKQbGZFtZWLPuGwYLnbzTRJVDJYVflZhjzIrMUDbVRceivlsCKDfIoptGwYMCGCSEWFopYEnIuTnsEpvWBXCXMaNhDcVqxnChWbYNrotNrAJOKyauOAwkXzhHtFDfhzlLDlaKUArHoLvzaBNMTbBAbScFcAngeYeCllTsjtADPchdoJyDVJWZccHOTccpUbSIjvRgQoFLjNyeePczDvgLWEIrQOAbQDaBbAnNbzFdxfNdIeLfitqKmDGjidJdiAayVRSIAzEDlGMfbgjrxwYUSVYvZPiRdCEXpNRLXlsPBGMMrEZnDBtUKTYhdZuUDJngQuUrArqgcglmfjzPaNQCvjyVpNomzzxWqcsoJeYaCavtricCFEpzpzfbNmg", "HhcbUhquwbjbvVCPbEjxcQlxZfiuZLSVuOhegtXGZufPRbEwHwSimFQDszzijlJxtSSRVaHhVITuPFlzlJKiLUaCJIyCrxdjFTPABbViekVwSJcnHSzEGnsMsKPDPkWjQOjQlEOdAKackEhRSUWhDprbdpAivgFkrrfhMZPBjexAFukMDNwbTULthANdsNeIuJNCGoNkRkCAyDHodJvwOSSmubTqNPezhnEKkVEuufBVFOWQhlzoYDnbnvDPHCTqSRCYEBQveywgTOFzwqBRcFCSFjPvjZBVscmGzQNEFkYxaPhtYVfrfGZkLfMbCCMkgBpUnGFyJZHUETZUdPdxrQkBnoqSaGcmbqTQRguLILLFTvOmEtFabzZNXOJRsaACGNXEPfGaqbksISlXdFEgifgOfBomMnVwcVBfoxMJsbhxuPDvQljCFshInEZJhEjEMLbsGUgutCJxNwUZyWrNwCiwyyQxRqWqpZTSDKkOVwCHRmKkFjZoIlOGQAvapkMC", "EuNVCPSawaEPBWzayqDplhonVAtpQrFcoMKhHoTuQWZJmmejtTXyCJQOuRNYusTYDQZSsfRNeNmAloZiIWqGYzRhGDLOPfpixsqVuPVAvXVPwyipYIzFflEmOuCjtfACsAkclQpalBwxoDvQeleixnULRZlPmTPHGiVuTqjGVgCMYGvUESEpMQDfuVsCdUjpJUzxhkvtaWMxSNEkrfdQEcWKwceiEEdKgCrYzXblTTREXmLFmLwdPzEdqdZgCtLjiBeokEWqrjaMDnfCkTmLdEqnLFwwifDyTsppYUhuvwiIIRTIjNppKKBachSxegOnEIlZeQJYhuQIuPtMVPKwTioigvTEOANEOEocsYneEvWbwDrrQCwLukcoigWQpxbTUkLBHIKGFKVCcOgozjSCnuadinrNZtlDKbwQWanuGALWlnyCkTlTnXBLTSxjxigFoSCkAVVrFHlpuCbKCEGstFOEXLVQJjKvrzNqEZyBDHOcrBYcCagfXAxlKGGxgUrb", "lyBCjLwkKhJUUrWKyqjADqUReOvjnULRyNvLCqBYPCmRmvwHKFLEeMYVSWcrMpOzIXbFfHpBjGlBeabZrzfkfMmVzKhELovSikYZJPXbuutUiGthLiYyHGmHKpxtlXLJEUoopUXagDmDRjxLrvhSWMENGXdZOuVphucIXgkavgZEiMeuqHLchpHVbyNfLpGeCqfsBSnbDfijozmbGrjFBRMsEkdYxrXHiUoRRLDyGckmMyrcTPADgpUVJFJoNKslnDtIpmYqjbwgbigpboNrwWtIWzRWtzLXDIFCNxXomSCtiNIuBloNSoxKwVahLRZtrcGhaznDiGYuxBoSCdqDzflhyrAIObCjdmbUkwhOokWSrMOlkBSSdZpkLDIJSlIcrfENiIfzlBvNFtjoAOkKbXnMmFvvBpckfasdWdqLZHCvwEwIBWXmVcpkfKszMbBjNPyVUJqSyfwovrqARLVmNzLrYmUBqTJBVGbbzSyGYSuKyYpNJQmOYZCHJOTnjYaP"],"c_map_string":{"c_map_string_1":"yRUapLtkiKmyagdNhxmbmlPHFnxZWIyBOrakHnpHiCciZpYVmwNQzGxfHRCmqDtVwwRXeLwEgOdgjJIAonlUXgVUumiLkBVafQEPxWRwhuYNvnMwOmqJXhVUENjTLwhNffBLsnnWMxVpBeBZAayLCqWMmAiJvUGYBjuLieaDhOOsSTYgUADWtSHvvuPwTCPSbyrFHXDrojwRpbNNrDqTQXJVmSdnslrbLqfIyHwUScYPcxDRRRNOXAIhQAisENVhneGQwynvMULmDBBUHxZltwkQdbQAOyNOlTFcGWWJygxBvgyrYvDtFBlqizqGGkjlnQHKIIVXkilqCJuwTpOZkKxCjfyqntYuYMpiLkxWAisuTvlNycrDAplXnMsTtRwVSKYMVcwpBmpmrbyXOofgIIStdKwlCQDnZvtvobqNAhheOPsNgEkkTpEBVQKKKyiWJjKcGkOKkAAJOSFRvdfRxcSqLULyRzqMcGVpDmSUbcHTXpXdPUyAaANZqeenmQgg", "c_map_string_2":"QubkWQVCusFQlpQsmhOVyUcTvohVPbSHAtTFftKSklaHQcYpNFVqMvKVbMXyNJKrRSMpbJhoyPLYmUJMOSKFIkhsCPbMkFoxGGIFoxdqSBUJwlMBFrbJzuplwVxjQqtOJsiwhWyvGuwFDSUBnDEMDGjpmqTzrbmhBmlSnPIwDjOAPRwRsucdYuezpVMlqmYgiPrsfFYAOlxoEMjFKlGlWRMpaWGiNUbPgKLdFuAGISTpCnvqqdgGffzjcfEuulmqUMKKwRJlwRJiaDFhlZEEDkuGgIDGBYLSHQGKgAGuELsWEohwxlsFuPQJrtFueYzJJODcEZFWaWpVzEhStblMmQlddOuDeCilfwwaoMBjvKijvZvUmYPOdgIgLOEMytpxTFnnzUoRGxQwYcRuOjjnaYIgRrVGxwNskogSkclYykJCcIEKBmbtRNDvaaZNKLABofkoroUquJKhOzwEJePebAogEFhDENeUfUdkyxsaTEoFttmkBliaNgaDPzWKybTo", "c_map_string_3":"iqStuxTWxacuCjAzaktZruGLzVHVSxlOdGMoXFxapEWoEcBzQJtsXdIhOmAFMMZMjIWZPuuxNuaNbNcbxDFsYqvuiYfvgAhTgmZlBtFgURggjSLNQTcXSWVOulSKNPXZeCJIhEYIbbKeuYQlFrLfwbMfImIwAnZDiRmsWSpDGlNcsZnIZIGTglmXjOhOEKvkFnzrHCBYvWNDaUUqeFXnnNdHDAHkdFwdnMVUPvEwlrcLDnaotdYJjahBtdcCeExGxIdHRHXepQLxtGQXkvEErHQBjubfQbGoYhgCOMDJGGNJQlQUycfoEUCoIbQgKhjPJgrJMcgrOzHGRWncEpnGDdgELqGNBcviCjxHSuKvRFnulJRoyEtkCvdZoLLsYmYvAznVSRnbtehrzAVNrJhWxCIeRaRsXIBWikpbWjDpGbzEgCHzomkwiPGdGNjHcxyLNujKsRszStnvmIelzVhWzkbhvQjTIQHQpNkirznxxuyBGIwGFhGWEPPdraNZatPM", "c_map_string_4":"YArINOoDPupVhhJqCEUTwTYOAsOfsCvoQJHYQBebpXhcRUdjyzlUgiPqcYWXLXGJQpIQKjRuYuEmjlnsAZMViIAWZErdLrtKLhexTEpEmzTCnEAYudyVDHERkRbnGtfTTlRezrzvVUaDENOwVuulfhlAbHzyFBcgSiDOrDrhJNNorqnSfBxSElFttQwcmHbeOfbnvDsleyEaLfShSYqsqFsCCThXAGXjuhOANiocDUaWjJYViTzbqFCqhqJuAZYkoWPJaJCYQrZMYGobUUlgnDeGqsVdHkznYVGeNzlWLeQDxmcoHCGKRLPNaWbyYrSARUkgjfqLZWELszeNMKidWskbpiZnHYVrYXrlqbeElVOWwfTSUPwsVEUqVCnROswPsTCtVQMVSTsYHZxpsJrFUnOfOBohKMxiKAWjhzUeiIBRhzqaLmzTdDsJhghfIbDyYHcqvJaDLxAyPWdktbeRyBgcrIkJpBEuLIRmJpjdhNsGrZAsosamrKakCnojJjwY", "c_map_string_5":"bBGbPAsDdBmMVVuHoWfHcPBQYHysKdHYyadgptrnkyXCREQvqFAWMutNcMFXFsEQqpQJDUGtsFNIEEcPaBBQoseKelYDJGnFXwpSdcElVFQfNprkzEEkMNFUQBNySEQtWYvxUCkgGljARAALEFScZtWgpfjYPKuGeIrbehCscUTHNjFUOcJRycnoEZjYynqDcXIRcmeQpkUFdqORyJmzzofbctowFfzJkiVvbCILDHOftjUCZzqfskXpjcvUHvEdFSDHYtMbsOuCDtCrSExZeYKUbbUsSuYKpVefILTUWeWKtGJdvxDEpqRQCRljTWiLqdETBnmVIXmUEOhDBzWdQIjTQEZncdFKcirtpfzUQfQjDXXBfFRiUDbqdAJMyOFismLJcAkaACYgvsBSWrZsQQBLZcLNJyVjTLvNvEcGhwcXHNBYiYHEIMJafOQBdxpJRKpbrDGoNUTYHilqgZkciSOFaKTOYRydLSMYVxjARghVRtsGywWyPlnYkJXustPg", "c_map_string_6":"sihmsfwYLNHzSJYtDWrfXOYKGImSAiSuQvfmQzQurbTbrQCmtQDKyWGIOydSuuRoVZDpZwYVWjfkNQShuVKspPLjxribUCBqrwyoRidgHuhbKjmhHKyUDhhXilztAYbUtxvPdeCyfwiPGTcRmbOxXoSENXuSsvMFWbxSaMuNPQmmDODBtuHrrFXqdiHYMvCwvfsDQkYsEFpazvkyideAvAaYmUWFTGrZGySJxLoiBoJmTBjGljLkSibHYjHZRVVwrBCZDBABFNleQqZdFvgVOfGnWDahrcYAHPxtYHHcTrvNemjfMsfqGVAPqDAzZKYSUujNmFnnxOSLnPGahwFxxSNAramlcOyVLrPGoTKwtZbLXbZGeUDMWtfwrOLskmfHpVRpGmiHtaoOuceITQEMArljVfRsfVyOcfewWswYlnCtSiQocfoBtAOqYFnPxRPiYWnzNkauVvRhIMGegVwkXOursMYHPCxofivrPcGtNetBJddRYxSJZZPqVCPXfQcc", "c_map_string_7":"ZROtSdwJXkNYUrdSrMTwYLzPAFZhYFCkzJXXbWceatvhaCUpInbqLKWkphxaogCPyPltGZXFhlxcNyKlFfXmrceXsfgrihlpRTxiLLVhRiuApFeYgRBKGYxMKcqwLLdEobcejfTVrHTyaWAWsNgerzRUuIhiMfRJPxgDaPNcBZvYLdDAPkvefdQqUckQkCHpPSInEiOkgVJIVckIPhOJaqNwcoWrKwhASAvRIJoUDVyERYFznlLKOmnssUHryhNWLxVSXnuDRywhlLDmhWaaEgoIniMUOMvPEwacrsxQQKEGMqPAPlzzUzCVEduLXvAlXTogUKJSEmFXULZqIzEnvptuaSiDVZqnKvPowhhZaSpmbKdIazsSWlZkTqCiPuwiDEFXqTgrPvBdyrnydMEiCVGLrUUQCIdARYgdFgygoXhlZQTNNBRZXaMQbzORMycUNOzErkONQPHlpsmZDrDgUbCSXAikriFByCuaAJYuAOcWrJAessorLvKvrbvyGFLa", "c_map_string_8":"AZBqwlCLSaeBGoSDLDiImslNFiSTZqiIzFVwcuFOiufBiwcHpPMmuWReEXixONdKcQhbVdDSuVzBhgnOzsTuWHAxmdWmkQRWaKjufspmWorbREFqewFUwQhHKpQcxlQEbfQkyFeaINHWduyPztcgUFKAggNDlNpbHEeUGnOjoueJLxwBNUQkqObrUyuUvMAwuGWzyLlNmXAvQktXzcfonZwasamUxeWuFjVxrBOUEqtUqPFdWAexWHdcSzAnAnEOyjjNfcvMOLnXEsbKcnONVhTmTgJqUckdjmwARGMUoKfKzICwrzvsbEDsBWUySofnChCkujOjosmifgbLqZndvIDAFPRoNVSczBwfsCFuVVpwpZydsrUuvpgMZVqmcvSIjhTqvaKKGMhOCWMashQyBiVnQRxImjPfbqsETStSzUWStyguRXDPPGPCBBAwACsdiIdqhfccnkxYyAGMKxFREYBSRXWErHkIifeKsjSShjPgojDsUFCKxwsCSxkCYIRH", "c_map_string_9":"lgmsMxdHGxtpHFoBEeBtbfRaJottvGkIIYAdNQJedsqsEuwRGiodBoTuEldzkkMgTmFRWyEiSosweFFgczeXzhYXUEOjJrZpIWbrNOiOOqIKSHAzXlNIAYSZbqkLMsPcHhqbHjtdXuiqSHggUpqvzTCSWZJdrCTJXSUWjrwLnYFDtesWUNBcqIXdVmRsErVCrkGOostUMKqKqmbQdNyXgvmxJDqNbJWRFIaDMdkSdMPZYCaZejjLyYNKDLpGjrIsUPstlhDhYtCWyLkQjJifnkcPsOpJxfwHzitqcZIjlkqWlIkWMuWYhyMnMccfSZvsKshWnvGJRvHrZeWwCPVZSHoqUyQeDRiWSAejGMcGmwoAfmGOhMJUuPOYuqDRlgWxbausGDkBkbIcrIAnyzXDyfanmiVrTZVylZFMFaNyQMzxzYRwAgMBctwLemvZLMDeslFcAxkSUYBHWvpwfbLineHzNMZAdBiVkjJoAJVpSwOdQlPlWWvZGnmPtmpfpAlY", "c_map_string_10":"pXRDTDqlxScNIIxgmLWYnckDRJrRYyCFJhJhvcoHZPrUrOgshAwGQznwjMfEZabVpnnMqITSbhJfXSPptxtVGJpivKrzxtgTuVDniwcZuTtoUyMBhbZvpsSQOaxBuvOSNzHCpNCSaUPHErOtOsShsvDmJiBaqgdnjGDflVqxfpfxYXxyXInLpnvSXVqYbrhHEqRrZsfBVFjRGaIwEjLqDdjuCVfijfvLwwNzqTCWusiTlqEkBlbTXiiblTYLOFCkPmUtFWQxyqPtpWOALaJLBtFzaEKdthXeuQjvfDpNfqhmafbSjewasiJqoyYUhEDIRvXFNaWxzefBMJHcRdINwlarxKjPpKuMACBCbdGYthBOBgODVyeHTSORUmAuLulOSAojNsFxIxcYHkpXWjEtdCyKWKbDoApUTqIMaeGZGqSVbmLLvqXneXjeBVmvrOgJByctmyhWIVysPhspAWfNcMbfJcBWqKXMFfEtlxEWHKGbNvhADNIBkvIorNqGzxhd"},"c_map_ipv6":{"c_map_ipv6_1":"11d:bd4f:2ece:c3e3:2272:aa3:c496:d858", "c_map_ipv6_2":"354e:45f:365f:b944:57b9:387a:1c94:5078", "c_map_ipv6_3":"70d3:5264:b0de:973b:acaf:6423:5c98:1250", "c_map_ipv6_4":"6316:61d3:b5ff:ebc3:f7d6:d1f8:6bd0:dbf9", "c_map_ipv6_5":"60f2:d5d7:366a:c729:c089:2f3e:f25b:4558", "c_map_ipv6_6":"7236:3199:e2d3:af54:d48d:9f89:1473:8069", "c_map_ipv6_7":"b18f:1601:2158:e6e0:795d:96e1:8f56:62f0", "c_map_ipv6_8":"f832:c7c5:5cb6:9cef:3a0d:679c:eb8f:7d03", "c_map_ipv6_9":"cc10:9161:1fca:4e90:bfa:42fb:f0cb:96f9", "c_map_ipv6_10":"bb1:e13d:b449:3d06:a653:af0e:3e2:42b8"},"c_array_float":[19.651487, 86.27491, 83.722824, 84.04716, 4.2289405, 54.521355, 77.64197, 58.434155, 23.897066, 70.05272, 92.783936, 72.50778, 62.234806, 81.51019, 84.454605, 11.575756, 87.6331, 70.013824, 95.61556, 60.525295, 61.103313, 12.366762, 89.76732, 12.013627, 65.07864],"c_array_char":["sPltwZweBV", "rPoINcEthA", "ryNkuyHjss", "VMnbCrwTxf", "fEtimVdxRM", "WjMWgOpORE", "YmuTrvKvgU", "ZRIexVwXKs", "uHZNThHBAE", "aIKvGZStdP", "bNtLRGPPsl", "IpEMKiFsok", "EAxjBwkkTV", "XrDxHCJTeA", "KbxPcWxowN", "qWfQFIsVvW", "npeQvEUaDM", "UULCawnvYj", "dWZJgXxtvS", "GjFkXHMKiC", "GkluqQyAVF", "VBrlLSKRnD", "kCRxTQjQTm", "dkCKHgadJs", "zEVVNyHjUx"],"c_array_ipv4":["YpknTgWVDV", "KKKqmmAeka", "eWvCEkjLKJ", "xFgbQRhxGV", "FsjxafTYgd", "iiJkkiDDEV", "XmPjTTTdhf", "QSzYEkWlmw", "EaTOVWCRVS", "zLxZmnDnLu", "IdHekiotOp", "RdcxCJgmKs", "WbOGPuZjvi", "spYgHMTraR", "uIjqLHSgLX", "OuQUEYMiKT", "DoZhUwWydf", "jXqOWOkWzX", "vtdEcrKLuX", "aWQZAnfwgn", "IcsTYxLRTG", "bwyqsVsbJr", "squDkEwvem", "hdCgXsMlGg", "xRupoVlalU"],"c_map_smallint":{"c_map_smallint_1":7055, "c_map_smallint_2":-15023, "c_map_smallint_3":12407, "c_map_smallint_4":12772, "c_map_smallint_5":10239, "c_map_smallint_6":-2726, "c_map_smallint_7":18763, "c_map_smallint_8":22813, "c_map_smallint_9":22300, "c_map_smallint_10":-4018},"c_map_double":{"c_map_double_1":53.93361383177684, "c_map_double_2":98.31592352021416, "c_map_double_3":59.30210119231149, "c_map_double_4":53.50870126750311, "c_map_double_5":25.671854933722603, "c_map_double_6":29.237014055255955, "c_map_double_7":50.513059258594105, "c_map_double_8":15.90519422090971, "c_map_double_9":0.0806212879323875, "c_map_double_10":85.18270733034696},"c_json":{"animal":"manatee"} }','{ "c_array_double":[37.19552998621111, 98.87910113726319, 76.66761859810762, 45.93369505729259, 33.2872691317346, 15.378641433820714, 66.3271714690721, 63.911840487765424, 67.036403805126, 52.030567483974, 92.249942869358, 23.903747279376446, 73.2592950895182, 85.9447672478696, 16.891628445817073, 71.06381364783745, 54.4968714517144, 73.42093625237113, 84.56137536102915, 100.20546211004802, 20.220932138126187, 65.8228344379074, 43.656124893933814, 32.07778261431434, 28.265435092906593],"c_array_ipv6":["SmuaKCnANH", "zKjDOdmLpa", "MEYkYtbpfO", "mmVmVAKBLM", "CCCYArTbWi", "pSKVcdSREe", "HaWWnzzFFU", "KiTZzESMcw", "ofmHWEYRxv", "oIAZMoSsGh", "bnFTBWoBcK", "SqXckSmDXQ", "FSGyHicVyx", "xTTKfrFrlq", "NtFNPBAwJN", "GvhmAVhkUy", "RtLwQMLdkQ", "IaHuOIwtFy", "fDUMQDcuQf", "NTlYDpYkAk", "JVkBtvTkmg", "HPumNMLpOe", "popNYHZQHQ", "noQPVnHUkm", "kZqchQbXCU"],"c_map_decimal":{"c_map_decimal_1":52.0582, "c_map_decimal_2":44.1867, "c_map_decimal_3":39.0828, "c_map_decimal_4":27.1272, "c_map_decimal_5":25.0557, "c_map_decimal_6":55.1123, "c_map_decimal_7":75.0106, "c_map_decimal_8":83.0986, "c_map_decimal_9":1.0482, "c_map_decimal_10":2.1934},"c_map_float":{"c_map_float_1":52.456707, "c_map_float_2":84.51789, "c_map_float_3":23.692793, "c_map_float_4":20.363436, "c_map_float_5":45.42526, "c_map_float_6":92.949005, "c_map_float_7":58.680077, "c_map_float_8":53.237366, "c_map_float_9":49.3283, "c_map_float_10":76.24544},"c_map_char":{"c_map_char_1":"mQgrqIaHBi", "c_map_char_2":"BjQDNwsVpi", "c_map_char_3":"TBPSOQQSqV", "c_map_char_4":"oKgBvUDQwa", "c_map_char_5":"SvTAZHVBNx", "c_map_char_6":"flMgiEYmJF", "c_map_char_7":"xIkujzjoep", "c_map_char_8":"HuSUGanGhd", "c_map_char_9":"rHXLUyelhl", "c_map_char_10":"YRprkukSjx"},"c_date":"2013-09-28","c_array_boolean":[1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0],"c_array_int":[-132761868, 1462814975, 2038937307, -1240035030, -166274688, -129239528, 929730678, 859369055, -1327978685, -1775415659, 2110226102, 787463972, 1046437046, -1475262785, 396353795, -1053978617, 1610373436, 97137575, -619802878, 686674159, 913545357, -714467333, 1345844405, -351531567, -378675393],"c_map_bigint":{"c_map_bigint_1":-7956292741817171098, "c_map_bigint_2":3198808958942893191, "c_map_bigint_3":7686455984717309566, "c_map_bigint_4":-6757444200011567723, "c_map_bigint_5":-386647819869176928, "c_map_bigint_6":-4684162668762734773, "c_map_bigint_7":-8799067174812557162, "c_map_bigint_8":-3964381740399604429, "c_map_bigint_9":475530657177093724, "c_map_bigint_10":5851067430973418468},"c_map_ipv6":{"c_map_ipv6_1":"7e57:def6:29aa:116c:2c78:19a:f234:e4d1", "c_map_ipv6_2":"f23c:3366:be56:fcf7:bd06:d928:1a38:c673", "c_map_ipv6_3":"cd59:a0f4:7cd7:e822:f7dd:3c05:d885:9d8", "c_map_ipv6_4":"9591:41a3:34b0:fe1e:42ad:29eb:44ed:a8e1", "c_map_ipv6_5":"5b3d:bdb3:acac:3efc:63b4:74e6:1b8d:aae5", "c_map_ipv6_6":"e04:cbd4:929e:d865:4f4c:7b32:9115:87d9", "c_map_ipv6_7":"112c:ab77:5244:4ea:57a8:2292:e7fc:5594", "c_map_ipv6_8":"a55:35dd:cefc:6edc:9645:4614:e467:f3f1", "c_map_ipv6_9":"b36:e8c6:8800:ef90:feb0:3b2a:b0fc:5c55", "c_map_ipv6_10":"4118:244a:9d82:4b50:ecb8:557c:95cf:38e2"},"c_ipv6":"a039:3e3b:77a0:fa3f:409:942e:f5d4:fcdd","c_array_datetime":["2013-04-27 16:06:43", "2018-04-16 05:31:18", "2017-09-08 21:20:28", "2016-05-13 10:57:54", "2013-08-01 17:37:15", "2002-10-15 16:30:20", "2011-02-23 03:00:52", "2006-12-04 00:37:16", "2004-11-04 12:54:56", "2004-11-27 11:34:35", "2003-06-09 21:35:18", "2001-01-19 20:29:13", "2001-09-25 15:46:20", "2013-05-26 23:30:57", "2018-06-09 12:32:38", "2012-07-16 22:03:53", "2002-02-15 18:29:26", "2002-05-23 23:17:38", "2015-06-13 10:13:56", "2012-07-22 23:49:07", "2009-02-01 11:40:10", "2015-07-16 16:07:54", "2007-12-03 00:32:11", "2004-12-15 22:03:33", "2002-08-13 07:26:11"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_varchar":{"c_map_varchar_1":"bciLUjeBMHiUEMfDbuPiraQLqYnOZnOSBjwoFgodvAAYHuFxtWfktCbbhKBOkSeeVqIKqGpLfjGdPNFGrKknbyBjVIQTNXhPkBwlIxBFsgZTUcCJqlndAgjqOPTILPLmgkeVqPngotTBFRYeiTGjzxfdtIJtUiQaMQpPibAjsatGTYnJxNdiqWuBcIeMUCWyOUzdewykUasotejrYbEmTXmmXJlLvYoCtrqqevdgncQiCkqjoeGWhVtHknDVpRnr", "c_map_varchar_2":"HMfHJAWeIcifpVuUxmZmybSqGwrHoKrNfzQyTyGKPtcXsrNdKwrwGFjgKGEDZNAZHwOsopCbURUTokQrzZoqOuoPRLIlckwxMmOfKmmHKqCMZlbGiATeRNQRmDUWfXWplVbxEHxNSuHRenehNQiIPQJFLkgRGURqLarLNxbcJpqkUuzWFKIZNCxZHPXcrXysoLuzHVuFWvcgAGKKhkyAaLDZxxyyUbOILsaZrMAdHIGFLodDVfnjFcQxrRcDjuyn", "c_map_varchar_3":"keWmtxMePnSrLYbaHQACeAySghQuJexlszdNpUpnjvZzhVUvdzvCJFvruHUWRfEQAkeLfqhklzNkncMqVVTcELzoJkELVfrobDXlYNaoZmEUmFOWdQIAYEPpuZAveejXsWCQvfycfgbeBGeqqkjNkIIemLIchVDacmjNwOOcnALhZaNXFCXZbYtTliEYateNajbVgHCXiBAyosjsykaZAfYeVaMIqTCdvmBWgFHmeGtUvUxMcipJRseGRgdSUPgR", "c_map_varchar_4":"QPdMcvbUEbYPOAOwpZygbntWureFCuAwSfqmQZmbDOtwWlnPqrAfGhRYswYVoHgYhKeVlKfwfgioqbEZhUFlFvbAcgVdbNhWifnJvcTefZzkvRozdbuyZTOSuzxeZSrWLmRftVJulaqsXeSxUmiQyqLoGmJMpcRvaBswgFRaetNxFINyzmHtPXJNWRXjMBdNJbwoSRKRIKKZNavRkYLMcTLuPSoCLvztvQQsBRVwSIVMLqyVSZtcjRXEoTeHuZya", "c_map_varchar_5":"QVSsOGfiFGyqOHIHJASfgsYzYETEkbzFjCenUHLNlpbmUZffoDbrzcHrCUTUBCXfkZMkCpcIyghzdTPgIFxhGiscYwBpybPHzMNEnjSELOWmelbbHxppEardBLqiRuVoziGwqUkkPvGydQifTqdpoGLbiIdAiyFbRFaNHDrBkUSoGnTshvYgdeXqCWuWhnXvEANHqOXIOcIVsDSUJoFdJuaPkWqVFvUmzilTJRorMhzZiOAdwsWEZxGVYfhYWrSF", "c_map_varchar_6":"hHDgqmDLKCbDoiUaITucywPRlcyxPpmzeASQDuVtfaxLIAXjAfIbRlEheTYJgtFbtltVjVsKeEEUGvbpRmcDeQtsdFZVGUXOCqEpHasTmqxbHhCOdzqaSconfSCHSrRzghFzDEJRCCHVTZdsINrYeegmiauOMapnuqAFzBRxBtivHCDXmtkmiOvMyweZgYJTkNovRnroeZNnaAcsPZwKwhuskazANuoktFNjcfmflgdgpAyYoFIxSLOhCbNYCQEA", "c_map_varchar_7":"WoInDHwVxSwnhyUkHTKGjpOhXHJGdFRKvjFpWXjhYclBREnxgnYRzyzLzHWJjOGNfMBqABvvRsaFCHAIzWVZkOiOCeJITnOlgsCcQBIWjKwgXmKmJfIoyZrJLpsovoCcSaWdGGINrVVktuqmIeQhBoiKyRCKNInfSEcInwuWhpUozNHpVtnePCEXJyJWoJkIQOsnXyeZPXZTJqnYVkNVHotXqwyHpOXDgrguoyjmEJxNJsgAKVogGUaPPnPwojIu", "c_map_varchar_8":"zcJEzjUXCxcijdEhrwscgauVrMksiMsDWxebpqVQLQelOvnjmwGiWEvnIKHVBlQYbJMrXqQVqyKAKxTFPYXJsAcxEyFpQFeBusCjzUUGMrvFzgxkklRJfdcUAjWQVClbZhwyokqzzioaoYEipXEALLbEmvdaFTGkSlgNDzpiEOhxRRpPPGjzUtuRUgyLbbJFmDAtZMRvzuKmWmVIjlvfAqkvxKSrkGdAzXfcVvAWNlKEyDrexdBrQgpTPFeKYUql", "c_map_varchar_9":"tNwvOlgwRHkTKShIADFZzTiAPwNlIjSwYHbtOwbIZMZDgnzkQkkkHDBzwnyXKyhskhsOwMznaxgRAugiuIfDwjBghGuJUzuKZRSVfEEtirgysDWXxhundsIwjvsNynWbpbPbPbIvIAXEHnkkILMWYMLKBUEahsHKFUMSPXliPOprOGHpnRUQljUiAqCzqNIFAQVJNuXiwvFxNMSIYrzqwdXkKOKDtecWiztPeqvtLBXhCFlHHvKTAAACAzDmjjhi", "c_map_varchar_10":"slqgsmtNThlYfcZtxwFrooljLzFNbyvZwfyEkskXovZsAbXZQhQSLllFvGaXPIXZKbXZmGJVgflMrgriBWJOmbPZRaWqNLcOPQcEKHhLNQGmccPSuWAtHpQCoNqPLUtXKeUsIwfGJmeZnhwWGYZDPeTaAQjzHDxHFrkZUUuecBEDfyVBrYsTSrZUkuMRnzQlSYAvsXtConetKhTAVunmEgmPbNxDrKyvsAzEKEmtkRlXchVlhIUNDTRAZbnGPkEg"},"c_decimal":13.0264,"c_varchar":"do","c_array_largeint":[-7983782525519173584, -8400938947848957336, -6018711844448487955, 1738245342984562733, -240642107534086617, 6634593086759947169, 5042171332853489235, -4724270722022478523, 3048552339232754445, 6582933139855094251, -369851984276535165, -8119947171486440750, 1444104905739416259, -2768103218958410954, -505636043568395207, 3737903791681715841, 6698306903692930041, 4676744758603569057, 5492708756378182736, -5200564468798182041, 3729479581848782319, -5090353892008686659, -984274347546824691, 1376016817121024879, -1651239706562219776],"c_float":38.603256,"c_char":"ibHPjSqJoA","c_array_date":["2005-07-10", "2002-11-01", "2010-06-05", "2017-01-27", "2013-10-17", "2003-03-04", "2007-02-13", "2006-02-05", "2004-09-26", "2014-02-19", "2006-03-09", "2005-09-03", "2009-07-20", "2009-06-06", "2008-08-24", "2000-06-11", "2002-02-16", "2018-08-15", "2004-04-28", "2012-12-08", "2016-03-14", "2012-03-25", "2008-06-23", "2005-12-03", "2016-02-13"],"c_ipv4":"112.192.42.17","c_array_tinyint":[64, 77, -102, 104, -45, 90, 6, -45, 77, -67, -125, 77, 70, 14, 54, 100, 30, -34, 20, 11, 16, 91, 51, -86, -112],"c_array_smallint":[-13741, -29496, -13858, 28706, -26105, 16833, -24895, -21618, 14059, -28692, 30998, -30797, 25347, -16360, -32476, -1123, -31955, 7853, -22276, -23982, 2760, 10227, 21803, -12517, 24691],"c_array_decimal":[59.1100, 30.1908, 77.1275, 27.1874, 7.1084, 53.0230, 76.0530, 34.1260, 79.0903, 38.1451, 39.0890, 58.0770, 41.0775, 52.1579, 31.0438, 66.1032, 50.1739, 76.1512, 71.0579, 75.1779, 12.0086, 79.1344, 22.1413, 54.1162, 6.1859],"c_array_float":[96.39055, 75.3416, 24.41454, 6.030062, 26.950336, 7.3209534, 97.70716, 1.9757459, 19.240118, 61.517532, 16.348282, 43.065346, 99.18826, 22.455755, 69.69436, 92.639305, 17.981165, 9.205626, 97.94839, 60.23607, 51.793808, 74.70096, 72.70221, 36.73587, 46.435],"c_boolean":0,"c_bigint":-6471944034798482381,"c_string":"VbjlgYCHMoebGPHnQiOTAHlmwOuWyxUlXkbsgCMRjfCvkfpvDoquJXpMbftuBRqmrIAHGUsbSVQGgHpWZygtbNaKKBtclLuJlRfLiMSRDCAxtyhcBAzXusmJFnIciEjDFUXYgriYAOzygkwplsbhuGaRrbweBngrypvfySEgrbjlvpLZEDzYFFTJgWUvNuHDzDXbYgOVPUBWiGUgKUaDqCYrZfBXfNRlRHwoZOSoHBSbewQJnNPDVllZSwkVRpQbAEombVAOnLVbUKFCrqThjopxqhSKtHHKNhhlHnZsajBhOSFcmRarQaRBFkVnzAZHtlVUQTFktgeqremTreXazEipXsqtBxiEqavgxgTvnoLWkCZklppjSIyMLOyhJmEfyDKekuDmxfXSsAGOEAKuuEXIxWuTJzRbFVFbnlDmRFRsGBBesIwcmgoLGzEyfHVDliicavXcXLSDevOfbfAntcTIwsmLNMsGtmZnNpkqBhxqkBuFuSwoxbXBcinJjjiA","c_map_date":{"c_map_date_1":"2002-06-23", "c_map_date_2":"2000-08-09", "c_map_date_3":"2018-02-04", "c_map_date_4":"2009-06-13", "c_map_date_5":"2006-03-19", "c_map_date_6":"2012-12-25", "c_map_date_7":"2001-10-21", "c_map_date_8":"2006-04-14", "c_map_date_9":"2000-10-16", "c_map_date_10":"2002-11-13"},"c_array_varchar":["ZxjQhUqsmtemZjCpFCxdrnpaMOXRPzkjbFDwBWetzQXkvELYypXtJBbFGUYRxUCIDXbjGxqSasXMLXfpkESGJmUWkOQWpSeigBxVOOEzUrYFHvUrOpKihunBkxArTbTsyZwNopPyQMDFPjZmZGOuTBAMLIejqrrGIuqHPWCXGsuOmAbrFToFPVRwpQtPjxdBfCXlHBMvVgAiGnECMpmYuAtIrScvgLEoMUxvrOSfXvfNtetaVkaLXhuvPCKcLmIB", "JaqvQkThQCaRFMRHVycnnwUZxkksBfHuOQCWgLOHrKFbYxDrJOfWnOVjrNDXDqrFFnbpAduQFAPqIvOEeHuCTClXKoqmuvwGwxgfLwoFIKEMyKycgOJTDCWXOBPcMWcbkgSxnuSAleiljaASQZKXYFSpVgzTmfoeQZwbKtHFqdocZvtyRQkBDuvQKoMrQugAJGdRyGNIqSLSEmBSFAhDJQaCobgxZrTmYvjMdALSOotnTvoUjyawYKWWKukyJasT", "RKAtbpQdLkLIwtIRQVJKkmVRFxscgJXbccfZQLrMwXFsUFEayuZJUiJuFdDoBDGsxeRCKkgoeFMHzSiHqPQTEjvXUUVmtXRaCJnYfSukNkDTSkltVoZHzWkOdJptDHdvGYhuqwtkYrmYGMlIxHLRSHnsJbVoKvOFDdycRIOIqByBjawOBISJBuOzLSKmhlNWJMzgcVxutWahFczvOAvUBNrlfMeFcSEVXzrKdlOLLvGSbIynqUJRZXGwkxidynWV", "NJYxpLTgsUxlbXBTRJdykWWaqhfMSKbPjlngMLfUrFgjCxeWHIbdWUdsPtujSwWzSMUEqgRRvzWJmmKnYrLUCjEEOeHArTnBONFrBxKYGAFVHvwLLMkPrErbVGgxMxDihRsKyUtQQfFZOqilIFkFEauQRVAEtNpdXtPWXYWzertfnKHoRBIzWXqSBeguRTKAbtAESlGZNcyDTExXZbARyhiIszUoPxGcjbsSeZXoIgbnbiROWZfPzMXAeLLcFdSE", "EkcglyiDrYitjucoskVmjskKAniybeaxfqnilAEzRMNniYaiPjfXhMoYXKfGrXhMkbQmILCRsasUnUCCGOETHtbOmYbtEFrHEKrjmylawGaKTuEmJEWyaHhDBJLvfTdyocKpSmILXshItsxFvWQGhdNiwVlVAnWKUtJbOaXMlnPZHRuVOiqHdekAvgIktGcPwQPYKSEIEpsTqitfaINzIRukSdHbTeVScAqKnSmEwkxWpEQGXAQmNVMBdnhUQnGJ", "XgpyOuSIrFcCgoRiScDhBKDHxMWnmFqhmgxMzuEsfvxjElbpbjEMEDeIuRoaLXLovMHUxiCQaNXKeyzHocssUpdxnlUntGapxDLgIpLdNfGtjLWVkdmsRgBQHBfaNpsgZbJdGezFDSrDBbsEJvBwhWYXaymxoBiEUsQFyHQtZICBmBaBxrZbbzTqQsznisAafKsIdnNgNxmhBYDCwdPkKyaBuDrQTkvtvvCCPRfaMUpzCAsxHLgltNFAobwoePNI", "HkBAmiTQgjhkSsvLewbsIoizYALIcYMNslyuvYsKHQmVBturXhJAKrDfsfoqpkeTTMtqMsHCttqvOkYicaGQBKocNQHvipMZcbSqjfBDOQyVboxZFUqqCyNmlsWZOPhVSVEdYXIxyDPOJncQKNnPdLFazDGJesoheyspkVczYYDqxEURDGStDNvghCUHxQZVWvLHIXXBoGuwrSaIlsnmdgTwsUyCrTOhvbTnWziGCeRjRLvAYcAAeLzIjtsgIISk", "jxRILvLzPnAwmOPEQvuAcjcQNeYDuFgpLaCqCJHCPODdyvfbQQFehOjAhplMUHqBWPWsBuRgKWgSysGhDkCqgXnlsytTQFdLsFGKNQpqGiBoZOLAAdLcQxFDUXePhcEhqHAKxwMPttLaJceSVlQDDRDVZRPOhritINasromeGQhpFTCBYXxhChdBmYBFoJWCGIVJOcBuwlwKXkkNDgUyfmomCRBAYCZvSnZSTPJLEJdlSreRrsLlzuaRHEwRwicC", "YHwZTWMAoSnmcSnpuTTWlOySzOLlShGQUdsgWeDzewGkrMfSwWkxoKvyLGfDoQRqnKNepMSTSlHCknCRVHPxdwMpCHkMtSkNSTNcjHNYIzRKbAZolzslxYeqtUCwRZTjYiAGYPkkKwxDstYFxoIJoMyMlVlCqnFRDOuxiLjFOCIJxKYyvjXrLPYcTbJaDTHEOWOYGgPjDdKiGJaWPoSyoVSxHTRLtgRizZYIUJOhmvMTacKEBHBXEbdQqSNnReVq", "QbnLilnhemoVnFbGYdxBrXPQWPtLjIYXmKGuJsFKztPNlTajfbMIfdnTewcFaHzwujkWHXLHraylzeHnNUybLQmzpltucNvtjSYJOLxrfHElKgaEYUhZtcyNdHPDMciKpclxtWnebSohKXDJlARjHHcTuaJIezNLfqyTuLPwNQcyVOipuBIuCvpcOssYlFCpPrVmrHEnjquMrfzEPRWesPmOuOknoAhiOYAuXYuCwmVpeQhGHtUHYPgWBpyckgfo", "VoIkeitxgHAJgrEWatZHnpKGwhvysBuSrjDITDrzPYrKcxpwrFryKmuZapwmrRGMraNmdEMopyqPYOkgFPBEfNpGOcDbIOhQMMIGThmhizRSWYOFKaLsYqtJcEmphGbxbPJhnKXFqaqwPLUusZQBZPvsReXKVQzALAlkunllcnebWRwnpOMgWGsJmnapwdQISXjwxwwAISoSSPhlHpTZcGFDhIPzRYMzqvHerWLPoEbTEHGMOKcQDCtyMlKIYygk", "nXsccIngkvkviyuzrQqKokPTEXakoVXyvMuSznoWmROexqAoEWHLlLdYTPEfrdFxVFHEeETnQoPsrQvfjKckYNtvQMKMiyeKcBfeyRCMowfHgGvoVPFSZRPtNSPoNPlzDHGpPeFTJtWTXmcjNajvtmCFODQdmqUHpqAzTRRMcIuoJiufeGNMIstifMUhRFjzxzSsRUsQDtocRdKFfOiMYqyDxOVhHbEimPUSscNZFtArDCwPDovtVbqieSjPiyTi", "jvFQfQueNOWGVkuoFOshaCdRJPicjKlrDNQxIJUmZCcPXKIKUAMIJWizWCYhdMtRdgKoifWqEtJZnHGQPkxxurUynFfrfxVbhdQnUJiFIXwhaVjGsTYjhfZAAVXIlxIMlQmIfaDEnxStHlrFTWdDCdvQmrwYFEVTLhhuIUUyezJkQwaZBQHncjCudBYKvYXceiuwxbOXXyocDpYrTMbbWVDrSZvyQWuLvwuXDDFAijtLgoEIARYSEjrQgSGtEuwR", "RqrJlBtXppRkRYQSqlZZmFePNXWZfKqxBeeOPymgisnKQTqckaVQXZiNjbSDtvKlbmvllNfiMimnbmDKsXlQBJQkXTckLpmPhvBdNufVxlxyelkVjYAyStgbMGgCoVcpLwNLvAegKKayXKWgcIhQPuqmRwSUmKFKIFBBxYtdCkJQLNlpsLXZUqCczhGbXXLhKaIZBEMaFaeSXBSpuhHeDVBsYEcskFDvTiCrVLZOEEdYoitkrYdayYEBBKoDrlXP", "QbevWafhBVMqNwQcyJOvtqBgVRHZlWJFXiSUYzPzqpAqGsWsUDYDLQlvvfZNZGUeeaeOlyDKrhtZAQhVgVLgkTHFTXdGEeYhkevzkjNJOKQAnGcSYvSCSLwwBXgcKSLPAilXKNUAXHUAfNePfFjmTUJIoeLmsyXUwtBLEdywLsYqPVQJhkeCfTvkPnQmmXgCyAFFIQYitXiLYIEmbrMamyJAHgCQumHOCYEHMVyFzFxfErVVXawlWaVgTCexeBwY", "oEbxCdQDRmNqsRdYMnHpeyDLvxcNOZhzXdFMccKfSqhoMTutEgqJKJZmKYjwqnKMJsbeAqELjPUNumAaYvoCzivwbOSbprzDvnydSUighqGkSALVBBVvuFfXjsaeJHnTQglQQfJzZQZbgrkgIlWdBOoNrPjAJDJYwdtQwFBAQsSSfhLzUHKEbeNOjkQjKXDZIPnlrkYmzyxxkVrgxGNaOHwVwNqQxprSFJzJpuXOTZZeArOlfkuphSKRUZWxnBVT", "hCfwTzPfpXkevuAUurQDNgEXwaXAzphwygZjllFdnYkkDybhKfQunvKVKLyhhNwgbzPdrhvNMXQrKfwaDHaYxEyDKdzXeGNsEBrgqurnhZEOxofbOHeJqaHcQOSVuyAnqDJsGqZXSnTtmdOxxeYAcSuVASZIGKLFwIAdyFVmEGQBmdxEHAtoOSoHtgwknPMyGeESlAgesQNVypqHGRBcLaEtZzQAXLctaPbtzmKjiaLbnUsfUmndhWbZIChcHMEH", "VxnslShJhGBuMmOQwxHjvwLOmLuoJIPIMKRKwnFwonbFKdIWXgrFvvluDhbKJnsFIGrjlgVnwuiRsRPrseuwQVgKOpBPtzNECROjLJcUJOaITgCCMUGPVtZOnpqtcKnHcksnIoLcfqVfXbqsJMZkZhhsyxKTHgIquHASRhAALJctrJZtRKfRuaLNOfCYahqmYNQWxAsffvVlzDAMGnhutazLCSVZAZmmAAPlacmYnWHyCnbaOtWjiEOZxUPXyhtJ", "kkPkJswcQMuJfUWMZgsTGMWktqVftbZOyvORDcUpCwseABsGWJIjTyodTZNwhZuaacLZbETPyPdnZtDUUaCpwIBGXxPujZADCQTamQcPFKqRgWQLDMLYSpfCgfEbswSMhtDTfIvxCdYFambOrkrOWHyGeaWfMsvcnCyNegnBcAYTNbEbkRWRPNlSPYQxBOwBMRkiRhtfTUhdgkCusvvjbiUrfdtDGqeLiDUuwNxRIfGrmzbxMEtRMifGHixZweMQ", "BZZyZsLyTsxWdCSyqrFASgLuOAkymMlRKeCkddjKQXlAgZIizemqwwaWvKCrllTZDjnfRZxiNXQfHFcjMfLHIofrmOuuRQVZPZWmSCMVNAWkVDsPHdwgIFnibfWhEeLrpTuhrOYqdSqljixxiOjRUkLKZmMhhtyWlEGCiXqmBqLbXMEFOPmpSpsRzMwLhyXzIGVwHXsbSHDuxRMNxfKZEMBzhEDmxcIDpJHyjnLueyYBDyiyBwFbAYVheNejcGyA", "VhssNNYlJMwDNOMzhjqXQOMcUKMoSoQNqlhswTxaVxqmmwQZppysRRFGhxIiRBRKygOvIOliytUQPjvMqiGdrIsOGjAgCGlhfQgnjwtGDOIcofjTlTFkMUtXYSmZrLDvnUbwgHVyJctTdiCJMJXbQeBHabkyuQmegoysbogmClHPZCPBFpMUmMxHpRIhFirlvTebijwLDDjtxoITIzVfAbnGrsUKbuKjRuavvYxUGBezLLDMuepuljXZyEXbIsJL", "hxZNETOJVbFmAbuqHnNSSCHqYeokeiELPHTJtiwazdjVoioyrUTYuxEdoqysieTcJXZbiRCfQMVUYZcAvpSRkfTVdyMSZmFvQPlOFseLPFZRjoAWztdtvVCQeBrfMxzVnfbxnXVRovDANFUuPsxYjNAcrBtoTCaCUvhSzJOzfqvyJhDIDymrCJJYRudfKpQcIcqGffmYQikcJIroEWkMjRHRLTONudhpjvjejsMmlFJRvnTTuZMQYZDIcSSCtYWu", "JjrpjHZxSuwEeXgDNOUidLylTHppmJmKEUNLqQmpJdvPrFcXQFsOacUlNObZKABteQpVInYOlAAYpJtLMnsTCVaxrstwBAnQBBECAiDkwpDOTUSjiAAypHWbKFhCXATlhmvlLIpkDVUFZvFKtiUkNcrTYQLPnEkbQsTpFQbdoSCuiLpTWcHmRcMcsTIgrfKdqxJuZBYZMKeIgumdoPRTALtkIyidhvvOchxPvIQejfyJFwzCLijDaxZzqztydJkK", "anBRfSKfEmuMaNjzWViNchSuAGgbTbthUcadmaYQqifuzdxxRtUUglhBTaOHxMkciOOFcKgfxInIKnfckveOmtvHfhVflOEUdZjLKcNiyceLpTjXGIlGEJakatozHAPdGwafTZvNHlcDSTQFRMsWJcEoEchKTUUYdNECBuHlbSrYeiQEqHMsnJyTvnfUUyGaSljcOBwDZQiePQrTCRGBJrbVnTZPZCDkQKfZBjEkjKyQXytOXRUlaErjcSXuOLgD", "SpFtZZMyZruQLFaLteaSbCdaddBOuSypWxWElIdvzbdLXNuKSbefbtwayAhXwNePnlLKKodCeugkmLJkkMzMfugfvxJiTLmesuqwaJAfdlbJTvFyesTaHOaqmHIxqKhxiWgDjBcZFFQfTOkAwhwlnwOgJBEMuLpjujSWSzEbZuaIPjHBmiBYujiPcSotrrlEYumbmcGEVDTFKtZHbxXdFpEyiPLTaevbKJEZQAZAjEjoJoFHtbdIMdStDwapyPUU"],"c_array_string":["FNxkrvrTWujFEvfAwpuBFedwwWNNeGcZAFlIPyqlQUPvMapnvYeRYOnejclrdvzbPhaLVxIdgYouJbYrNRSDoPCwbyuQXGJbQqeNKTDfgUlaznkviwbVFyxqqnivPuFbmQclyhiWpRTAYywghMnJFpLLAXfBEHRTJTCalSnSEKYMczduwNKZTrNcngpgsIFyilxcwnzwmxSjkWEBACbQbmtZcUCBNOSHRIJQaWyASXKzuUqNYcwfRUAwnYfYupwhwILymoueQeAHhoEvijBLWhiAUAWBDtiJAMjlMOuRrBqYunLXNcAhHLMinSNbikUXBDGOYCAKgWCzYTajGLUHnUSlENfTDdcaMCiZFWtlCOhTTQFAYuYdIzzSBSDMGLfVEraRvsDdvMoDWmRYsSCffWSHgVbXOdmsggxdOMGCfVHfXbuiahzJEAGAUHrxesXkOubqaqzdmRXkiSfFiqAkaVGBBDSQJcvusYxOUAAnfGEQqKktnxwVfQNsbAXBZeBD", "FjYLwnOERGgpaYdTXJPvzgdhCCuTnHzqyZnNVtZkQmwljmKiHEAvxNUmQRBhlbbcnhrWzLeSujfpRJZNfnQuqDSFrFCXqrzVdlAvisVAOypwAXVtWdjDKpGQOqYDXXVvxqfFebmJaXeVzTUEGnCMHsxZamPECtTyAHaENSRGaTjzfEQSbUdKXfeLQBKayZsAtetpjUrNbEhrQxeoUIvzcLmkJBsYWdAQfNCAUeMgBxpPEakdbPFIghBefzviUcBiYqWbanpvXKOYiRgAMtXNlbaPvmQJAjXNsuhEenihRczOSOMZhACciJXoyzmBGqzGFJLPoKpVELEsMhxdGMPTZLWKyksjEDeDwsMaJaiocKhzwMIiHeCAtpnHZohRUJTlqZKMOZhFJixProkvqFsQxMKjaDcedmAqpKIHICNcwAAjbQxUzgGxybPUGwaMcOPvNSwDCexCGftKaAzoXPiwBSGRqUBITclaFUBYadUmagABOkxQGHxhapPeTvZkwDqn", "OipqNnTzcAPpfDCSzgZMHcMfeVctVBZGwMEatIWnukvekgOUXbJXiwOWcJrWWdFhEpsCoEkdryfcqnboqPIBVXDaWuKCXaaAOQBIMBPTTBWjvSigYnFyqpGYocpJGCjDvRMBsnXYeIdXNTSRTeGalwwYAnMrxmFftmkxSBMEkKDgCQmvwWRMjZaDbvIGrjTzFiRJufLuJvyZtZhyloQwfUPKfkgiQQTsGxRFfrXIdlFXckZscNVTmgJxLXMfIvofAYgHKqzngdawDBEHDPEyxRvnMHnMortlofWyQCxsxJJofRiwOCEAhKKrDRLiieGklFwUanBqvmwUUxFHTXvprPDWyxpskHmXcpjKLCREYdJXGcTRaGpVSzKjldolcTCVBwtkcKLMDVgdCuCcfsCzXVYUeatOuRwDpmDWrMoSBOJAgOefJxNcseJvTyDAlgWFaohVBVUILUuXzUBnsXLutrosoJkFSJkXaWLkdilbDUMidJcAKPSODqAaDzrGKHcv", "ParGeanCxeHOutNnZBNvUmlmYPSbyKGceTnOloHIkXNlOgzeEbdHxOwBvMAXxlMgKVlcseIOSiXKOeJUYRFGtOHDSSyuyHGNGtaYePjJkvXxgSgHzEMhkdlOqyaDsoAOrSaIfNTmLmRRrNnIeNcdWqnjYRWpgYHoqfpEIxaXeqdXxkHojvSlveiJrhBkilWClFcDPuDAnewYGRrJXLSnUqqOMmljpjZYdUDkjJCcgxcPpqjtZvdAfAXccjdYSKVQHwtIJXvMXOrejOxxYBmdbAayOTQFWgxJArWtazUMaDnBJrCvObFqYjtpFAOyKxLTkdrCAbDIuBiYhEKzpzRbythmDEpQcJbaZZQXWtPDTQyEHWxzicTPxSUbTfkRgPPViOnAjuicrNVbvGynkKLxfkMJqlxEZHeCDeGVhibkRrzBQyTbnEHEqowLVsGUIGCNVYhaRWiGbbSWzaKhjNYpavxbRFzssYbDdRvfHeSavMLkKqXWnZBamEYyVfMTqZIJ", "freSDBzDDnxCtkZmYzAmjwKdazNVuVYnOFLuPnCqYlCwDxpLsDuLUlRYDlXEoLYlRLdTnePBjxnjcHOyHyelYhuKnUolILuRTJoWQOymqqntsGKNUXktausSHpgIDZzpKpDsvtfypQVguUuDQDWTeGONphtiHBrNTlWDyDHBVsSdfWaMPaTtaWORvFqWgxcOoOtXDConPMgvWdxSLBvsTJNqamqicWwXPyuNPgYajWKApoIQWSUuHQDHQOiCJxChjZNHMQGJkrQWVzWzlMZBWQZUnPIkojaBkAswECFMdCAucXYxjRBKDRPYORyUFiorSjlVQOsTnnLfVGuIZItkgPQTYFRoazHkGuvzYbRXgtNFxHbrsjWfdvnjqYTdgjLLBuTEnzaSnYVxgIWCeuphlzonjKylwApcdoeiEKVQpCQzyAfRdQJwhGZLPFczFbjORZlgUFrsJRsRDoBboVytgTgnBQfPqvnzMxVJPRtnddGtznFbatQNWhgcOXLqreZM", "IbRlzDncNZzsgfoubhMsPfxPuiegQNyJNKlRokkuOXZVecpkOnwljHJoEHviLCHTBDWhroATkJVHLjMfNlCyCLHUGGCQYXEktUIVlDKhDcQHYxYbUgpugWWpxsGpgJTYQbNEkIDkGcRtVFZXxmdEMtaMzgkJiQCUgLjgrlmndjBkYTcXEvJnAuNgdSHCxDzHHxpAKbfiDPOigtIrUHLoAUkPuEAKhzmYUrPWKKtAiqBSgALjHGqSmqcjXATJOJJmnDtTRQvcOKVdeXGCDuvLvoeolHKdtzviKGypoPVnKBfiwFCSZAcnTVCEcqzmGGDjOsMzYXPsDsKRXHHVCsNhWGnfreHJJCTVbpkCLOeTFPkMNbeMkrgkkmJRJhLYsesJrcFfebfdMEYLkGYYylxEbmYSbTNDHLGWWUjVYsnCnzvRsqmDZWaDISHpJIDCjvoiYWJIzPBAAejesbHQFQlhSrMmOIXGPeEiGZjjKIUAFwgJxsEiqKkIncKqkdmxoLiR", "CokBFcSVdFJlpltJtzovdtNAQPeJfesqLkluuuxASXxivwYuPgKexYlNzdsSXhtOwLSKxGeESkAwMiGPUonEDhWIvvWaXXMmjHPnCysowmLfiCtEQFmBrBFeQDluvcRhCtRGbbTnWbvuGGPuSpPzCKxmKTumiFZpNMwRwXqchuZSRCBSLAkfJrygwIgxQvGIyNKubTdrSzNDIhuMgAtSlhIyXcGBgwAlZqpnjrvtMxExyhAnuLtaxmRUopXlZlUCToPiDUIKeQpxPuHvnJRxwsCpDcVbVURizuRXKssIaRCMVWhiTfyhiljRmFEfTSlgnXtXIIJxHADREkSnqGpKdgYZhbnHpryMTaYDLpvawQamMAEmwBMvskaeljriWYBflWDcSWptudzrWRyytngOjSLMfJebCsliGZkqfnVPNHXsYvmztsxzhfgKgdXWdWBvjQvrVBjuGVorATMAcOlYwRxIwCkWbwAtUdjHIetoAZBcjXProTbaWibxJcgXTTgE", "lMMiAOzPoHuHPLpfVICTNrFoXFCjkyImtKCZfbOnmNcTPhhTpfQCejacAIMXurrxhfjgxLsducNMqUJsUTyWgtOLAGdAiNAXunTchxLGdKruXyTvSzPTWYxhryGiQxAsiDPXnIyZMbPEVlsQOtayDYAGRQaOWDcjkfzNRcdlweEltaRbBnZhbDZHxYwzIkinWbLTeKRdQmMNCPDitvASmmYqGDVybYZzZrFLYVsaeGMuNqDNVBXZqGEItdHLchpyZKdJFfavogvMaqKznRapsuVHfXJyOdLUUtAqFjkagQGDuAYBrqOEmjTByYtKLslWnwmMGxOzpKdtcCSRIgVhUVuNWTkRnZXgAWaLwqSpmPciQlCDiloxdAxcMDRoJJHXiAWQXbQEseLAMcdlUsXLjsKhWqNGCZbJpmHSrujEUcRohTJTsQsmlMdjrfyeGHlsMmekxlCWMEhkoLRMJQoMmxHdXsGYojkHvJOusiMRHerNzMatbmilDGjcKCeEHtuu", "EzelfKjOOYZzWCoOYXUeEvCbDYydWCSxjEPlhPrpEPMGCvRztrKcJAdJcAhRIWBCHmnXrDpberpBGvySkzNMMrsZshaRALlBimjCKWKBtefBFeJxPbHfKaQLyHUTfjKfiEFtfTEBCKxveDGNtvxYHqYgZYvNXWjJHhYAqOwJJJzedBcIhWzLjlRjVbqyeElsDjFNNwTTfmJImpalRgHpshHUxGJlWDwlhzSfoNsKlnulejVLPnCFOVnPiWsQGzQYPFwyNPbiqLXCXGCbAoGWjipIEMiEBZFVJLTQjTbpkyBNGNOqFUWFWXEqCSiKsZtbZYBRBHkRKxBYWQnKGZtNHAfQjpobHOiYSvAtDYLATGqFqpHHPBoHboeINrdRCeRlMZUqeSoTWwMOuXHLwhvaqlmpFaUWiatcwOIdihpmsYMiHUazOxxvTmhVIKFENYcfqWoZfPnlmChERxPZnIihhnfMaQTgynDeaKHftGaEOlEPSbdjuSeFhgjGYhHvKouE", "NBEpWUWUQDfvNhWBRSZdqovXQPmRpiAyVVUbtSGLweoLaxITkBWjgeXJQFRSKgGjIDodpinsHQOirVZUlRqxtGzkmItYEYBIiriiqgPgKUcZMyzAeNGVwJwbQMdrorGWFMGYCVnbAHRNvmTJpKqXXGaSomRFASkHJvbvywqVlslRXQgdNNQSARuKgjhJXOssQIlWCSVRbULqZosKIvrnXuSXBEmFCuhdXEutiquhCHHiHUgLiaixaoZZlWwIbkHxKiECnqpVVCDBDeNHoanepsslZYjtBkdkQBDWRKwqZCErTSWDzDinDLnctWBlaWoIZxKqycNiCBwVPiDCqGYMUniOsCiFDBPzIjStmYrUThGWiZqvxEuUEAsGzCTeSlrVwHAOhbQQpUjZezhNYFRdFlpAlWcxadySegOvKrpcZesEdcrpxrPdcoqniklDGJeAoqHZFzDvyBncRVvzSDArTVPqKWiAMGcrAQDuzTARrwbfBEWFuaxDiMbaXfrNepSz", "sxpqDRQBNhbFCrcYtONLsKrWtGYUuJPCDPHOWePSpQvFBTAPlIsaCAgrrhfGJifKVAwOVeXMwSGTCaVNwcukwRxFUtHDRapeRAzMvhJLphdgRwGQAreMvuywqPvgfgkSjidoszOqNSVPGWePbjPgzZoGNlghBVjPsnAlPbWfqBvTzuIZyYHNTdcZFjNgvIQmgiknymyhHYqtArAHeLWevfBpHNBNBWsVdpZVMdEZMillfObibFBvijyzQfscnEMyQZPsovlrKNDUmKEVwRrzBzHouqoNQmMDIbXdNLPnbjTQsIQoKukzrcpxzeOAZtOAblUjptkeoLsdbDTozOjeySrRBeRkbAoiBCwKIOMJXKgImXKYjngvnInhTrjWcTIEVwnOBgUjcXEbDOqNnshpZZSrmBUPsPBoFYYYoSwuuePGxCPdieHMvgQxTrDGubOntkkYrARQzDCtFYFnGjEwjYVMzFBqhiwdTpCTXKrFPQTpdeAkKhkqSTeriqpeVjLW", "JsQMzEgJUfvXnDyAKGztPooJEJBWzJfnLLskJMjCYQwgJgjZNBOvoRxlkduisIiURFxZsdtvhJFifUqfjUMLOOdWyVbZAKNtqJmXyeWFpjLGYsDMAblZbIpRkTkvRWjbWZZtIhqCCXCzxjHUpfRyHulqtBeqUOROghcjgKbywMhMZRXgxBrvPXqOYHZdLCDuAjhdWyuNMEZxlifJcQBlrxkdJObHgQNuQFCmtAcTzKEMOzcZnzGQcRWuzNcyrBCXreuBxdymitfxQdPEvsNGDrMIoYHXmKJrOLsUPdlZKyXhHYTlCFNOEsUefTwtUkEGLIyhjyzMZOnwZLBRvJoevuMDqMGCGMalPFukhSokoZHfwRyQKJxQQXCkhlNspAIRyqafxQKBYKHeLknacYTIZJZCVqDphcNAdRqyfiqjvoIMxxvBVZeDBSANgRXkFPQNvvOxfeWeMJMvCRFxQHULPVEIFjNRSqlLCGbeCBhaPcMJPwOMWntyAAGdTzmTOltE", "gcNHLyObSiLPIBxKvrDPCQldeNXynkWQPGeUJpOHaUTYOWwXqIMQONbVTTzNdoZUnNuSXgFzbRTsYWDbHAOMxPHbdvSjYIIVLXVqpqPdKwCKwPOnwZHUoAbGgqWEUvFvAXIyxPgArYTPAcrqhJOxjiNEsCsEwVdNhGrnZBqKiLQqymHaaTlKwHkLtjHhTSFknwjgycalcAtjFzSwyKEDGCUaDMUnsdjZSyxkzMDCzoBKtVdqPpHrnBNfSoxewgoMYQrzsrbxoHhvMYXBXnMnPrkAbebOVxrpLybyoRapZlOhKeCXicjfxHoouEOlNMtJZlhwabcnFfjftYAZaZFIWyayvcwENwpWSSZFAizoaWPfynezSgHOVFPMHlMAaBndTGvHiZTNctQWSDzIcLSfBIMMPUdnIrJVyTEXEnCPpqQTyhdprzOSnbVoiZToAZvsHeoPolZBQXbHwCHksPfRJKlegrvDGtdtDcbuSUYEJrbWezmUZbNKPhknSyWiBvLf", "njootNdIiBGltnaxUarMiqBKIPtwdASycvXjlsEteApKtqTtRcONJGnmPIwaKRWTqBQtlIAXWSDUpHulJiorNqaNoRIRfMnJzBgxEaztZHBLCAUUGxxDcgAVkPVWjlGYrhsgfoDBhNwDYApcnAXaepRjtvdpUHAIcRZDbGTltEXmPqrpWmmVhZfzvASYJOSqNleUlAfytvjHneakMlyvcIpxDMtigpSvqJpIWzuOxcSYvLYSKkchDBOFMyAYGREoxivlVlEUqBAPXgSSNmWtAfBaVVLZTKOqhuHQknTigDGQkBNfDKetlFvHUyjaljaWCFOMeWCOZpamjxzkBCpnDGZBKjXjLJRGTkTQCIbOkScPuMhkywxnqnneBZZDNdlyiJVavIphUlFFUJzkPcIjaRYKNjMBLKlwCvidwuOeUbtfBZzfoqeFjJJyWkInrTJrotdcyTgookrckwawifzvPsJneYNXVFsMCIaEbpcWcjZaubJUkPelxLqBvcjsHFdS", "VmzLnfBJIDdACxUvwmAjaekTksvzGIjGLpQyQMfctYMpParAvyDnKeixCrYztnjPyMmPOBdNdMNBObcXhdURGzYTBVLiTTaGMtjQiIxxKeQTLsCZmHUejRqaeqtNcEnBbeEaGcrRiIRlGGTHraloncnnVXUmyFkXOJNxVlTaBuidKFytttRoRlDCLcrbEUQeYNyQcBOngXmsLStGYCbNGpefdMtVKdFTihSBSeUZOgWFNKzEQRMkikOltcHdQdsqAguLsVhUhLloJvfrjtNTtzllHEHOqAVsbmoahiLPPwSabaUUiZrbRzyXVbhFiDsKceKDHhDEYQsMFJxobYNGGwYwZemGMXtgOwaQYcNsXhhsQlGxoNzdwsKFWYkZpAHVUUFdxpqbNxWAZHvRdyntbknDFQBANRfnvkfHuuaiIjUnKeqkSPywWeVjCXddBJXLOtJvIVDpHWUnnMVBzofNHYshvTEKRHhKrjKSMzXPfmDDEzLhixqpNbbQmqtwWJZG", "UNWqSeLvGZIynKTUPjAxWvlFUZBBYnTIuBqAbUWFwWtOxfgsHmEWLjIkKrBGJEpMzdMSvFKKnUvjffbHkllMtLncYyEjbpyMNoKhzyJoUVPLtILjyJenxFUpbvwhRGVOdblqruGrCVsbhFCZMQqJtPmfjwFWTEAhLfqLaQHceGMJPifdEbhuUgiuBEyNHZIzfJoaDLOnrImjIeqtqpvJVmFoyQaybzEUwVmoflzhwHcufUqBpKKZHlyeezcukFaPprOkbpCcsroJhczbGCBAWcTklsKlRsRisfkoMvaYvmTzpJGbkaBmHFujiGVmEaCidcYyIbuwCAijuPPvHWseocNFCdLoFXlTbjJLNGbvIxoHdedngzoFwmquDYzXdLrdmtGPbnMfZtJSRueBWTkgrqTwVmJQEtzSnQMdnnRptlqPNebgfZJFFDFDrRGyfWLcvliYYRDbllOLyzHwCXCEEZatVYdNBZIrHXdszRcmqLkSvDnxlILTAJIrHuifkRCG", "IJLKnRruiBGejgFIVlhLCkbLVaHCLmqdBuXAxArcHcwenQuOlroYJZYDhlhvMFtClXrnzqHKfbSDCuUMaRNxAlxaKDlbREVultyXpnNillDlyoNAJrGnDGwPVuBMsApjHPKMyIVYxLzianpYDPqiiTdTxtsOvVLVKMtBmqIjjyPiCFoMiJaCXMEXuIeoCvEhTVakAODUARrVlwQKjyXgrwcVpdsSoPJicMCEruBgppogcyMLjZeDwQaaYUOZKfwbvvBPAoCxxeaEttmkKbGRYjTbxIvsqHXNfSpjZKINTEvnCakHeXefvlIpEBULVgTpDnsYWQSOtYEBtjFKaWaTAuuzbcXUYKwqzQeRRfVYDMGAnPrjGUFaxwoPOEDBDUfBYcbDGcbFdznoEzjEABnuuKDWXbkZDEMcXILnngXaksArfJGgKEIMsiZipgGCScBOQJFzFCwdAXemzepRdyNuzPPtBAWzdawsVdaNujgXEuFYopVkjXOosbawzhTVUarm", "bspIjTCCjEWTzlQLPSDDUpTuwFCCnJxYgWzFgBQqkDwPmlVXvUJcuhpolKcivXOfjNAtTbRmLJknbUEsWiZVwVdpGScrxJRANCFIltJzquiwQDisCSJQUOePZArERxMBqGEjjBSrRErFhODDgAzPAzCmmgMdESMdZpuGyZdMZpHDWfsYtdIbBweIvWPFIfPcXZEUJjXkXVnAsXxpfgRPyFBvzghJEeZZmTxQOuuAiVYySNwMFKprBfIDliTmSuGOfeLffpSQaOBaqppHybOrKGixWcugkTWvDjNETJwldtTDhOOKkcyuMspvsUvQMfoAjiVqmpBgKmpiHLrHBSIEaNOajDpKRcQHLfhIzYPiOOipBMAamKzHJCZBjbVtHxlyeMbGYizjqohzDGrrXJZNrkQlAtzjUpWeiOBJYgVdKHLhRqbSkHwlldrpFRGWVNHXjJeCOTQvskOshHZJpwORYZRsuPsLzsKdFNmaAyLdyJUqSJIaSwMvUkjkCDpAhBne", "cJQabmayUjttPpmJqMIEJBdDvOwINYroyRgIIDSNMVcSWDufjqjWjGiFCPENqBAXCLklSFRbSYRfcmHShLzMeSerWUrvHVCzPuUtBHCFCrBLaSLWzkqahzsXTFFpDPjLDfVpCrapxbhoouGeqBhqkTzZeGKPVcHQDiXvIOFuIiLhsrqofCfzSjrvZtieoMdmJpbCPoYJLSbZiuZfZagBywqkloYptSxoXBLyVwVTXibvbseSdbIKDjxpJNHUJcVPcYfsUqlHCKaOgBRFqmnhQvNpCyktokmJDWpBCMZCZfkgpknlCRsEXNLPiXeDwexhOCBvhoNqqeLhiUiclaHrHzXdaqPtijSSxWVENfIZQtLwInvXHjXRBZQlzcidzYFYLuEbnDOgKaCfzFfAKxKFqTimdogxQBFehgZwVtLhDJbWkcHynHTlqzQckgfNhIpXJNYTpGTtWBZXXImspQHkZfZiDXriWrqDZZbzKnVoDRAVWghCHixQHKBZARLFAGmv", "zRxLKVxntGHqhNabAKEFcgtniDZQZUTrIBiTbVBAGTSxaXOfwYwkwyFEmRkJHdIWJzbFMVdFzKboyOviwjfueVfVoHXKBnoTxtuoKCrPPWWbQDrTRDHmiRXkHuSqqEcjcYpjuhLIQpUcUfxsRAQLdwveOTviHaRPnmMPefBFSJbnTsaMxPVNVxIGRtDYHAwWLKigxAszjeanlcKrsnSfCrlNbDDOPxnXUjamAsJlnlwbYpGOzuyqgoaZRqowfXUsPNSlzdrIHwqVkGxSZARbkZqvCABDmxiUQiPrnWvnVptUCjifgrhNHSlwTPTGOJNSzCZQBwlhVDNGVGGeYCoNigYRrpPcgbwVLTQZTHRgAJEGOZwNOEpLseOlibQaGTWeLzGpefRioNsYTjyfcjVlceCkUKFigvXeVuggSsfZqkuIUIpyetldlWaLyKsDFYLAGEXqWrHZYUmeonbEUKslTgQxGbRsaeDeNnUfiAPuhxYzRzHYkRCmVzUEmQBzNYGk", "CqACgfzzakRDqIfTUXEgfvJGeEewUBqoZgAJrfPOHVWttcFuyPsVallCCTFMUxEbPauwIHBHqJBGBAybmhVYGeXXIflxxxxoaWFFbnTMRyeDUjGWSKnpXjidNmPKuLLniubomcegNOYqMHkplgGsNTLVtSmzvNgAENDZVaNhhSgiskJBrJVjWSvflbSHWAqkJWkSCboBVqkYArAEglHPIhbNKnNQIGxajqdTMQRTOlyUwqMOvqOlgxRtFIvSMuQiCxmPYvYNRNEGbFTxoawraRbQtbPZCFDkiVNLzCttDwJaowHsSAzXySeGBsoQlZyRbXdVemiBCZKxaYsMdWzwkbjAZtwrWSIDyZRZcHpEAnByxYNUFRYhOyuaGVBxsVFKEExTKnJCQLJtnkMixvgpZhmjNdUPESisuftTOMygCeDCFOyVPSFavKgvcZnkKFashaukjdGveFJLjrOdCWMaAXhNQwgvWcVjdrqhQSpHOzPTXCJvaSgXkpswrWLJqLgu", "VITXFzgUNbwCVsLOHDJzPGINvMhDdkjenycyIXosiFsfNDNbRVkiRwcYfIiszvxkbbHCMcQlLOlTfJtkQHGdoodkgRRCDnNLnmEXoiGjFPpxSqJGPXiFpNXMhiMtByREvqmEISYjEubGAZlIMdweTmBBentXZXjtXvvVwIztzFPvAoWIlOSXbTTykXqciqEFuIqyPurDWsephcZVibWsqzVxfoYzsJiNEpFtWklfWmDXrbLIAIGqvLGRmAIPuQOeWkubwmpQkeNBEzIxoIDRtFNkcOEqVDHLwzJNztkByqXlNGLsZocyeuKfyzwpMPvxoHZkfSCNxbrEUlEgDhwuPcksCWqBOZPdFjpnlKRxsYWJduEjvxASJghtuaUcTYbARBqNGVqfzeYKsQNdSyNasjXKZdTGMJGpWpRscqzOMwyTsPlunBCKPSPYqcTNylQCNbHhXYzwNhmvyCOYkSzfoqUOIgvBSwyQOYQtsoHBqSnoLBZHNOeuZvPhRAJYkwal", "eXQOqHNLOeReLZUrhvWTMQiWzlqgcqIgbCBWdhlmDqYbclZcsOuQhUUySwteRfppEjpptfNhJQNBtlrPplWBmGVPuXdgVDhgnnrfgVAlENzSOQMrUbVdylhCpYddlaPAquABGTHzqqTjWsJyLoNcNepWpUlmSCkRyIoMbWpEtLcnNYKzgbEJCRDUUWUHYjLPuWRdIXyXItiKDewnFRqIasldPPaQiHwZATcNSFDINBwYBFukvyVMHFUNrBXhatLhDZrXemGaGkVTnUhOCHvprnsnSsOpiJmdPiCCRZRoYYeQbHmxmqxKSjYDbsDLyYYuPUPtFKhRUgckHDgStOaMDFeGwWAcrlhteCzbTDLBzcLgDKFPGneJfWpTzdqMBdUgbmNjiDteFMORcSNmnQDFzkkJezxKvCOhHohWMQAnlOPODATLgvykahBTesScUMvYhsDgHEwDIqguhNUoplzsNZBfeJkfFafDNFOscssZVZFfeVKlpStAusRHBNbAlHjw", "VgAxYVAOsBKcCRaSFMHDydypeaMzVovDfbMccTcMtwcDkAHUfdXJSXOIQGdjpZRpWgXhJweNWanmDaVXsWGOMqxtaLWWUozJyKYWhRQoJDDTkIFqQdINqEPYEEPzrOYYxcrwsUEimYeEcMgNufWHQnYEEGdQiBClAkUIiWcmIvPKtttJKceqXmZvoyNOntAxWEQLQwFXppZMABeQtrGotvqfkZJhoEaUHkCHxqdsTIvZjnUPFkdssDVqkPiJBXdxdkwxULsvfjiIojzYZnqDmdPRxZVYXmGwnqwGuqRlsabhCtJnXpChfviZLQWDaxnRUlbSDIecdxXXAnvJEcKpgdunSPPDlceORlXwRcFDsTthuhzNsNUdUJzOfMdtiEqyWqiUPovgNphENdLyUmXREwHPZmjhIfItVTBQGqpouZlaOAlKdLYwKvFYsosBwvwlJJApngVeyVXvDOHgeOaNYqNWNLHgHxdCGMfelQqJlveNJoxECaTPkAhHkFoFceSK", "GEDYxTpGqluGtmGUNemoeygVrxeiqAyVQEYasgZytMomKvdcSkUuBfOzEbvsGUNrapVKREqWlhiSsUVPieVeywznXiiPQzABkKlxzWHbdADEAgijVyADftkAySxrDfqFUHMbfufJfyDRsIUwnXOUTDbxuXBxACUBHlwJtfHwFFZZKoMOPrdiBqKlZKSwYOkxBaRJLfGcjgIZmRtHWYprcRvmiYAmYnMXjnFjoGIKfmfFkAXDUPcklHeFtTRBorMKhiazuKlrGjaExRWQRgiYWsuRSzsIufpVFfOvKJsTHZbzpOEcsaTYjUlSZKHvvRnIQDHlwtzPgOdKKyYBMKZTxNLWGkwwrpBoGaUIeLXlgaSKrrQFMKTYdFCMLQrbBJPrVapWqdQUKKWLQhLwUIGncArBOapphbnLhPJuSuvhtSsYEbaqZcQYZmPcBPNvzseJsYITmoPNemoZGhBFosEVhlNjWKSMSsCigxaDCXFAtSXxorTBcIGqiLWQCQvaLqan"],"c_array_ipv4":["hWVtdISiAH", "BqOZgsRnan", "HunXGmgWXi", "CMLNtplEXk", "eAGwkhiCJD", "HEuTbLJKeF", "ngPcgnRRus", "skAgaYNcQg", "qGveKpBNSq", "TkvWJSWGIP", "fZpiggTjbD", "PRuJmLINPL", "dDjpWrvJCK", "wUDxHnAAwC", "JagyfvrpAP", "yFOckXgbxe", "ETKMYCZfmy", "VQAgcWdzUy", "ihqUlnYgCO", "wNAPLPUwQL", "tJtCbatXVx", "khRCkTApCi", "NpwRlUXysQ", "iDfqTUITup", "fVuNKEKHeW"],"c_map_string":{"c_map_string_1":"RHvpcKxRjUXLVsVJbzCdnGFXWlEQBjEcaIuevnitfuolkkDvjgXrahodxJGFOiuONXmZTfPeHQyuIfCNGaXHOAecxLiQMCVxxuyBWBjVTtNcgcwsHOVKvrpLpdggpgcCluqlzuGrpGFWEnGggoZwswBlUdpoisQHamfuaCLKnrAmJaUloVWdqgsimGKYQzmOqoADVCNfLxGGcTFxVdtkLjaXQnHqsYRBNzbWUiQoyUdCXFiDvPlANvReqyJeVwOCHDQyqvhwcLtAknPiLdGEsLRBFQhuwiRYtMORzImCszrtcKTAljghUIiDCCDdHeyqRAXVsBmqeITKBmXwfuYVuGTlXshXxrDtLBImrBHYKVsBQURNBlJqvosTqfyMCoYqwTbUYnjuGtAYlgtzBuzzKaqbjKgyDvzMpKOisUnVhRUZfgYckFYpMnTssKokwsIkYgOcBDwLkjHaprelmRNnzRpbaSjOvbtqxbYocGEQtOIlFrwZNQxBBNSVGJwZCzAK", "c_map_string_2":"VjlbapZnPrxRQAiuogDJYBlVNkUZFInwfWGJbmqfzxwBltpqKUlfAaZIvUsyaTXvdmPXkxZSkfbIIKERrHTptsLRcSsjDwIPRFhycoUftgNSroQsuqQjfXGFJhMVDvUZVcCHXcyhisWXWgTTdhaYvYryMRBFoQOpCWzEGaLglDLGysmOQgCqJpniZxAqQboGlcnOpmtQjFThVBGqHZbuiIJUyvsNFDAXUmWcFhRwniUJHodCWWMIGgSeMyaoZerTKWDVvFFqLVlhckMlJKrZDlKKOLwUdVFGDONbVvdiJuBBdFElzeHJvtzfjEhYwwozVuqmSMZmCTYObfLShBHQhyCQVrCpIHbHiXYUFUOhxMPWDMrKnOtDNXTRZtlghtYRVsxLkHJDqeMDawdAsKVYUwlFnpqQCfjOVSeFJotQbqIPStNFeSbUEfEXdSMmKuMhvbdIRmLeLZMKkWrkmPhebNsjVIhWzHjspcBZpXVXDIRWUDErwBKqZOFRLraQVETV", "c_map_string_3":"DjqZqlKvUImGwGSYuBBgPwbCatYbRXgiQvoUfWFrsgFQGeigKGewuMfEphUVhUrlgABSYEPuiFtqQFeiHcIXrPpitOXQEQMBwDNstfxnNLQlWGSWXXlPPTTSxkMimZlPgLLZwUBynwvODahCsJKGFFrqQeNpBFGuUAOOOvFvtBfKgPZlYudYBXysibgdmZIzrICJeJGBllwkchrQuWtfdQSuqMRlFWgEUEJqUzKnzsNVZBtwFvZYWbLgKBKJJFDlOoKRewJIOLTEujrrhQDbxMdkZgzKGVTvorNyjZZDzBbNBxLlkMvMvPexJHIjqqZYmgadFSSjrtkcVTKrwzGqjvtqfDJkJyqyBxMuBKyWNehFSVfWtBEBFmihjGAZaHIxcThrqrvpFNRbTajcIknCfFreBxfgBJuVnFNLGFphpUiLAxYkWUeiyHxaeALkhWKgZSSYyrXvvxqvYsPQkeXZTmxFGvhbocSDbaZoOiWarKQoNLfvzbLsIgEPcqhGesuT", "c_map_string_4":"WowlMnMgjgGejqXxakIeRvvzSyQTWljSQpqBbeAFbcfMnEXGIWNkoPJhJlTKbUAMkkJyjEyiqOksuAQjMZFtfrEOYSUMbgDtYDJuSoExFKRBufVYqqhntNiKfjFWKnZTvejxpTqfjctruZeWQtNcuhCZWNvCfYkVpvrszkgswoHVXWfnaYJPQILhZgAeVTrwHSzYNtMJlDdClHYMbFnSpdxhsQlwHQxUoFjrjlFpvUQXqKJSiGmfSoZPMOMLNhQfBauTjrWhijdSBguSxxGRfkDAEdNWiIylMspQwPZgBZZsINAkkOytaeukHlBDvEQjccKgyDvUVKqNzGCmBrwLvURMBwIeKpWQIOTXZwueBJrwtVwYfloUrTosKvGYisxLqPWdMmITVLfqqVaYJsNoVhHnyzUJtxNLXvruQFPSKHTVnISCiUfyquyrVkeaaPAdDayPEZyScWAXoBcAkSTIcCEhrcySyMbhsHUczTgauIRDbjMmFILIoRrUVYRIlnKK", "c_map_string_5":"dapYixGjVmjKiLykYTrZhYXSTzjQkrlOkmsNWwugxuZXibIcTqpnSJchEjGiUQQxtOihsNfnMmgahfeZisdOeFsmhCvBZgzeFMUcUdakKIsLivLgnnWHVPlSXhpvRFzeJzffKCkDEidFhXutaghtPuwGZrVNLHQSRjbUQkzOgBwBXuQcVwEZHJJaEcPjSHGsyBBqorEmvELAGumbNeRwveveMInwtGQDetjyrICYuEKlxvisWdOQPKJYlJLXkdUiXQqmkHIYUogFquuAisunFYWNLxAecmDUIYcUkWQqzEqMhLbjkImnoaxSIlPnbLoOoSpakkSWtgonfwrvclsEjOgyArjToDlIJElGMSOiUZVOFSySrscZujMLARlZzhlypknVXhbTHEEdnMPFRJWQhhsiCSOeJwseAgWXSqtStPJTkkSpxvoQoSubDSADqLosEGbyzXgwPILiHkzbSrGxvaoyoUtlbkUhVrTkGAXkiAioeEuIaHJBSEcshcDkJJkS", "c_map_string_6":"svWGTAPATVutkoTinTBCEvbNbqkxachctNxCRpEzYqstCYQvUxDEklBRVpkUDGrLtFzIOYPsxDvDxvLmEAOOHeeovvpWkHofFbVgwukrEYLFHyBEEJKZCdQaaYYtMtOzoaUNoFdLWOVKCSDsykHZvVIChiFYyFxRsPjuUFRJprIhjADSXpYLtywcixjkadnuMWNsIusLMpzXixjGiKcYamTdrvbzbQHRFgsdCEfKgOGGrOJsOVJyTAuqmLhVivDkAAYXtumzRLMCYDWCsFzpKMNVbNUqrhSIBrUezbzyUAKOtjWMggGPhJUKraJsmAAZQseVRkptDQAgScHviDolZfnzaPnNnwqdWHLZdtpTJqzrtAxoMljfTsQptJindcEJsAEIqvfLgMopRBVfEgquuZzeHvzuDYtdEYUkEyLnztqmaTlpfqmEdkFEPdzphIoSOGzBzpAOcrlQzqWyCKVJAMDoRbtNhvbyZaSPjvAzLupgxhBujRExguTzLDjmsDSv", "c_map_string_7":"iUdbKXtkoyhnXbMpohbBlZUYwJlUInrhRgRFESNyCECwpgrUikAVBvsapNnkfZtcnYzXmzBnBktGGzuFPwRrydgtrHedlHJWVmSMJULKnkuJxjpUbwzVZxHOeYbzeIZHSqzTabOLtFPscbrtYcFnpctEUixbZCFEbYqkahERagqoJVxZiGssVcoUpcvlXigRaAlyltdTyehwcsSnujFKPLlbpeFFrzpUKVwaUkmtSDLxuludgUxmYVyrOWpgJBuzPJmXzZIapUvMHRpoXuPetSbxrArYbOORCDhdxNlstqZsDQYWDsVgtmljaNlKMmiwTPynDgvtDGOyVAbLxqlllULlGRrzpXnLvPfKqDOVkqsslrnAhuPMBfzCpNEAzpzTwRXLDPbmYqZZassFyhGWEIlvyqPdVnLgckrGnBbiuCSCQLxGcudMTuVITQAspKEJElTNwCeKJfvdYZJCphkMSzWmRfnVqrVjOCVlnsjzOWsQdzMNxniTQFsepFHhkbyI", "c_map_string_8":"bsjPcYaqECzKBdeIwYeOmHxwZAvFzgGXdyDpslSrLHgrttFRZUXsiGWnLOFUfuKuCmEznPUwdrMIYeLBZEfXeSKEPduxvpYheEBpsXzblNYrHbvjayyEcmWcRnBlburVuLhVwHefsjZuBYBxlUhtiWDLTBlyapOXGHOZpeAgURYrCQWIbIdNwlorUSIoEkygrRwkfEbkOvENXNbAKlLtXCaQpEOUTQneuotSEfznAmFWYygBSNyJHGgsSVGPHCGhbsGPpRmqSiHPUqyxYgmsKQAjCzExwIIMzlzWMffbROJTsSTvjXOtfFeFekvYuVeXUwyavSqwqulScmPZznAlxpsLJJKtbgRcYyIZqBJmLCJkHfomCoEyExuHvxRnnvMpxQcsKsygLoeOnNrXFgKmnaVxZDNgIMXGEoVoxKHJQUiMxfqNbJkGrJsfKUybwhXiJrOWkqwsdelYrjjWJywgwjeGoYdrzwqLgMcTwzpefsYWbsflRyrKCqjDRxXETXrf", "c_map_string_9":"ttribBLWrAILVHeAmLiiScYLMcjOnWAFnHSvrUhVSGESruspBzkreqacxVcnGKusqaSBJMiACrKvuPnrQjmsDWATkpZMAXcnhkNOVVfpocYyBQxFEuyDBRMyMObdHoODqOppQwvHJkbMWaSpgfrjdLdDxtSzBpqzYDvfkBYMOmUsjjtlbsyhWPFNQTSrsZKqnEhhROeUNuDHVHJfyQhfvZooEPXjxLLtrGZRZEdZZeWXzDFUOFKjHGUtzCQVddOYQHCfhQnzuOMWUZserNJDLbEGmAKcjbHJAgghGATQajvgnSDxHCzPaFkfuVYvVGzWQxbVBNxMIJfcNgbWNlVonQqQnTvXoNdtGXxRchtujmHCFQnhlLoOEClVJKrkmsNAODRUqJemfxcPnwzCBEYWnvxzmeqLMWIgRYrgYzJkCyixHOjJjfUXFssdGboBZGabFvQfUKALLEknMwDFkxWvKkLMhRXmauigWmYKchMuctQOSSjpgCFhaYQYkwJRvifT", "c_map_string_10":"nBYIdqTLckiWWnzKHgxrXnitggGlTzrPipTTxDffOxBRGDWGoQLBOXANZiejZiCgIcIyWhICCpnlLsdPklrvanpXPWzXCAmAAKRyrwrvyPzCvyMbxkssLNGciZFUgWLzNwUZFdOcuQVAtTgYbZksKaxjqBxjwyEaKrXjmbcaoitThlXXUoZXLRAPAGUYNMBHUZTZQYAuPNfhrskoqBFWSuXvgRylxHKqyJbfIousJrcbbHvivMVByxldpQJqXeysYHxgBHiRToEbSmWhDoXRURlKOkJVFfexiHIWVaUKZoIvPUuJxXpCslFhylGwulyygIKRRnasFXngYhHcuBkNldOkuTcdqJHoBfdvyruRwONUlPsIEgznTWzGaltEOLAEXvuLRDxLroAcECWLKPXipbvyfBhLxZciVbaTxhKROLJbKgQNMHKqoYXSOOigGSqyKVWwDyqDuYcKdcLazJLTiXQhkCdTJcxljFagjKmhHFUDfSsojhctgDekSgxHbHOd"},"c_map_ipv4":{"c_map_ipv4_1":"0.27.20.59", "c_map_ipv4_2":"22.244.76.116", "c_map_ipv4_3":"67.43.150.94", "c_map_ipv4_4":"244.141.74.190", "c_map_ipv4_5":"234.169.207.10", "c_map_ipv4_6":"121.44.202.241", "c_map_ipv4_7":"252.168.245.185", "c_map_ipv4_8":"219.86.122.23", "c_map_ipv4_9":"251.159.186.104", "c_map_ipv4_10":"129.62.32.184"},"c_double":28.881897056551626,"c_map_smallint":{"c_map_smallint_1":3848, "c_map_smallint_2":-10072, "c_map_smallint_3":28234, "c_map_smallint_4":11597, "c_map_smallint_5":7066, "c_map_smallint_6":-21368, "c_map_smallint_7":24718, "c_map_smallint_8":-31073, "c_map_smallint_9":-19179, "c_map_smallint_10":-7558},"c_map_double":{"c_map_double_1":67.46212414661662, "c_map_double_2":62.69518457740029, "c_map_double_3":68.85406649961341, "c_map_double_4":37.32997790595185, "c_map_double_5":88.66391590878405, "c_map_double_6":34.191695302149796, "c_map_double_7":88.18210743587343, "c_map_double_8":25.54769678939071, "c_map_double_9":69.00150429975906, "c_map_double_10":79.0419654679145},"c_smallint":-13080,"c_largeint":-7226157137391479887,"c_map_largeint":{"c_map_largeint_1":3924093285441079769, "c_map_largeint_2":-3040154620518537664, "c_map_largeint_3":-174589384283155689, "c_map_largeint_4":-5164870324754981068, "c_map_largeint_5":-1812475604905961051, "c_map_largeint_6":6107400791549316594, "c_map_largeint_7":-638184970788924826, "c_map_largeint_8":-7170580908580350826, "c_map_largeint_9":-939504572292742861, "c_map_largeint_10":6007062785535200185},"c_array_bigint":[-1924807172537120308, -1137806532223788496, -4157993514682970514, 796166349222721353, 5711377925957890656, -7442956135402150299, 5504702600682621182, 4160344855465171331, 3124415671471997139, 7814753447976986538, 4816420818134416669, -4584549036658970235, 9188931619232550527, 5551929528371667287, 7355052609638059320, 7665569101758003601, -2163675124868955249, -5766957548562391079, -8118277334813906243, 7474471358081706488, 7643458542365581656, -1762482106603347090, 784258556612533633, -860986224268144879, 3878643279650940040],"c_array_char":["jZywXueRzx", "VAYSkCGAjY", "wTGSPqeXzm", "lgHsJeGaEs", "uidHUHlQDh", "AjNsRLuoTc", "amTOaaweta", "qgDiwHRZJM", "pdGHBGZEil", "JeMIVupwJa", "BxiNqxjqpx", "zCHXuDbPbF", "gJHnlNkYhF", "vPxJezNfwd", "rFqdcgwhrM", "LNVIFqUbXh", "ajhUcgNFcd", "dXwaetnlVP", "UMglFnwaZw", "ddjHXoNJvj", "jcpfzlwRZW", "IOnkevCavM", "wpAIFzFYdj", "aEkQtZymHB", "CecKcYhoMT"],"c_map_tinyint":{"c_map_tinyint_1":-128, "c_map_tinyint_2":-8, "c_map_tinyint_3":-5, "c_map_tinyint_4":-123, "c_map_tinyint_5":125, "c_map_tinyint_6":108, "c_map_tinyint_7":126, "c_map_tinyint_8":-51, "c_map_tinyint_9":11, "c_map_tinyint_10":-101},"c_map_int":{"c_map_int_1":1771939262, "c_map_int_2":-1960607513, "c_map_int_3":-316291971, "c_map_int_4":395155613, "c_map_int_5":-1986180173, "c_map_int_6":1052858719, "c_map_int_7":62170340, "c_map_int_8":-109565041, "c_map_int_9":-973220779, "c_map_int_10":-353280747},"c_map_datetime":{"c_map_datetime_1":"2019-10-10 17:46:31", "c_map_datetime_2":"2004-07-27 22:58:42", "c_map_datetime_3":"2012-01-08 15:37:06", "c_map_datetime_4":"2011-02-25 00:17:50", "c_map_datetime_5":"2015-06-15 17:54:36", "c_map_datetime_6":"2019-08-10 17:27:28", "c_map_datetime_7":"2008-02-28 23:22:41", "c_map_datetime_8":"2017-04-01 04:01:37", "c_map_datetime_9":"2010-11-24 08:55:45", "c_map_datetime_10":"2001-01-03 12:31:45"},"c_tinyint":-25,"c_int":-717977408,"c_datetime":"2003-04-17 17:34:20","c_json":{"currencyshort":"MUR","buzzword":"multimedia","errorhttp":{},"preposition":"on","nicecolors":"LightCyan","adverbtimeindefinite":"since","int64":2687327668507306850,"uint64":3438738563066723507,"uint16":31471,"creditcard":{"type":"Hipercard","number":"3697972394701960016","exp":"07/25","cvv":"183"},"minute":3} }','{ "c_array_date":["2017-02-03", "2007-07-01", "2018-01-23", "2013-10-18", "2019-12-19", "2002-07-20", "2007-09-18", "2006-09-03", "2002-05-15", "2015-06-15", "2003-03-02", "2001-11-10", "2001-10-06", "2010-02-13", "2014-01-10", "2004-01-03", "2011-10-08", "2012-05-10", "2006-12-28", "2004-12-02", "2013-05-25", "2007-02-04", "2000-03-25", "2019-02-20", "2005-11-14"],"c_map_char":{"c_map_char_1":"kavcpgqrpV", "c_map_char_2":"fwGOJIDUst", "c_map_char_3":"LbcSzdtBDP", "c_map_char_4":"GnfIvwuUJr", "c_map_char_5":"mCSDXwabBl", "c_map_char_6":"FxSyUGvDVo", "c_map_char_7":"aVRBkbAFMB", "c_map_char_8":"hdWRgITJaE", "c_map_char_9":"JEynjWIkrA", "c_map_char_10":"EmaoLlYTlL"},"c_map_datetime":{"c_map_datetime_1":"2005-10-11 03:52:44", "c_map_datetime_2":"2008-01-06 02:06:03", "c_map_datetime_3":"2014-03-15 08:51:18", "c_map_datetime_4":"2011-02-09 04:01:25", "c_map_datetime_5":"2004-03-06 10:50:50", "c_map_datetime_6":"2012-08-20 18:14:02", "c_map_datetime_7":"2009-10-22 07:00:29", "c_map_datetime_8":"2004-02-24 11:10:47", "c_map_datetime_9":"2016-04-19 18:45:41", "c_map_datetime_10":"2009-06-27 21:34:23"},"c_boolean":0,"c_smallint":23333,"c_bigint":2650883920064958627,"c_char":"fPMSlWROzR","c_array_float":[12.809243, 49.11814, 52.83449, 22.87632, 5.237327, 54.364265, 94.832115, 52.41196, 91.10035, 92.32878, 79.315475, 20.766668, 42.801582, 51.990433, 35.55955, 5.639179, 15.09699, 68.42522, 20.634048, 41.634247, 68.092384, 50.108536, 35.598663, 92.02517, 76.81713],"c_map_tinyint":{"c_map_tinyint_1":-18, "c_map_tinyint_2":-125, "c_map_tinyint_3":-72, "c_map_tinyint_4":113, "c_map_tinyint_5":30, "c_map_tinyint_6":65, "c_map_tinyint_7":-44, "c_map_tinyint_8":6, "c_map_tinyint_9":-77, "c_map_tinyint_10":71},"c_map_largeint":{"c_map_largeint_1":-1240297826356137755, "c_map_largeint_2":-6617911170860267810, "c_map_largeint_3":-3889711678804028613, "c_map_largeint_4":7475903506717032489, "c_map_largeint_5":1396418795648807505, "c_map_largeint_6":-5719447781894315712, "c_map_largeint_7":2478668080151191023, "c_map_largeint_8":9087187807821223193, "c_map_largeint_9":3205327949423320049, "c_map_largeint_10":-3773484038377654012},"c_map_double":{"c_map_double_1":95.54258490455817, "c_map_double_2":43.623178239017186, "c_map_double_3":75.65839902003646, "c_map_double_4":3.793746308539406, "c_map_double_5":55.26312580706916, "c_map_double_6":93.87668836318761, "c_map_double_7":48.33463295543571, "c_map_double_8":12.311701353400151, "c_map_double_9":51.80849492915748, "c_map_double_10":10.347943569143604},"c_float":58.56687,"c_string":"UIIRmusFFdQFRLfLlngpflXwUXPXhjYawMdttwdZZWsizCEJqFkCFTQnrBgCNEVGMSMAZfkKkrJDqoCTFtdmLsRUaGeaHGoyFJWWYaMmQKfLlWuQuKDbjmVBZJsPhjmscokxRcHdBrkDSthNIcmmyuaRXbkCoVVMCBIHWwTvkqbYymeyGBoPNXzqvgcIeokGqKDwmiGzxMkKbVHngYwjsNAxCzMfLeEmCuuNfxtsqrvtyLNLHnwrFDecZkYXhxVDFaleiZfnMZqHoMiqjopTiVaadAxlwrPpLdealiBmfGzKYXYnJAuWxxvyuIBqfBHioNQwPCVAraPjurSuoEYRgdpwHzqRezjnPgmJzkuFoKZCXmZetkJDBiFJjMysRVJIKMnAosNfLajbAmyJASPJwcEaPQFxTRnhAqqajqyZJdihQtCWkebhrAGrxGyCzgpYuDmDCGToPMglTGFyAXLzoMjgBIXKMqHSENYmacPVpCzNObvzJBbEXKQDwlwgaJRr","c_ipv4":"125.161.3.107","c_array_double":[18.542717370645992, 35.50143206323683, 41.755137751249364, 96.31072948684144, 82.67550577263971, 59.74491299539401, 34.54804935866162, 45.8965949772413, 12.553585681746297, 86.91956847498763, 0.558073968047762, 71.3986616402314, 14.537199170233919, 25.57867454552867, 21.25908822186696, 24.610755017401946, 78.99151176696276, 65.96984039844506, 100.3659962864941, 36.55661955625449, 72.3256195134914, 54.92226634363143, 82.41856063693183, 88.86192854234815, 16.670296661985567],"c_array_ipv4":["cZOnKvPonm", "WJzClqKpGd", "wzeiiiNNyj", "BIOngdLXIN", "xOvmiELtSS", "ocCsCiheUa", "EjvrUQLdLP", "SALdHqBNJr", "mznYjNEpsr", "ultGjYRNNw", "OMpsqSFUAN", "cdMwqYOCCj", "wRmkCOoltC", "rzwlfkwoxp", "lqEeeGgAhZ", "iOYwypahyk", "sRiPefFQbd", "IRvdvKJhgL", "WuXKkOEBKk", "oxWdbduAii", "dbQSuzPLrW", "NYisoCqpnH", "VMBEuFFVrZ", "IGjNLPCaPG", "dXdgfoyMjW"],"c_map_varchar":{"c_map_varchar_1":"tEWcqnmlKTKAggiqCEgmDuggTNWiUWCeFDXlthsMhoMUKdrxYGxpaNPAiWsYqcAeAPfOffxbhKuaessDtWapnhqkDBMfFflqaNIvzDdlFOnwHVXbnlKTJXYkJASQWMPKpIelNTolHidkrxLXBlIrJMTgxgEOYIxjjknIRBXSBHgnPgGAnnfpNBtETbJQQjAXigAvxIbJJLWbLNBfNTizwhuxnLuyHbDhvdZWGlqzIdgIWfdEpptnizrfgQXqfBCb", "c_map_varchar_2":"ggBrTEjbotQgfOPFNNkyGxQsnxoajqMTapPAPoCpjhPHUVZbqZPsAvImrELnJJRbbcSAqZRFtBTQUuaYkJkeDWWNhOjmvcttqqYQYRdQQgkNrPOgMyluYeyArGrhVqANouxVpVMnqUsJhNejXfKzKwCwAWnQFmnMeeKsDiZuWUOXEAiHtaxrrRoMysekZWPrXCyyXhYKkYBOCOtWVIxlUYnUmbjALGwwcwWVxRljJyMOHDYqCbKcCuIlYmpktxfJ", "c_map_varchar_3":"FkCMyATdWGRBhYucHyUoiXUnwqPoSsXNLvraVQReekUEkPJRMQJrswJqtMcNzEQacNylzmywPrNMekjxmduPmrGsFeZosMjMAXSvkgohwWHvnEpBxheRsAXghOSYOGjjVZGWBkmxVZUtgvHvZUXGjqAuQFRxgfsnXKqtqIXdeAnSndanRfZChhoYvEIBrJNwYyYAVJPCicjRrhxELLgYqoFywyLpqKPfKgflyqlMgZCrHMSAfZSuLxVAsmPthxgk", "c_map_varchar_4":"FbjaLxdvpFbDOHfhhkQJelJuYgmNHJSGTlaPhgdjWBpBTSMEWJtkWVzdhmkaVlcDjsPzYtGCqydkjpceFYGabETzeGCIxHAuuAfBEnwGbWiznnpCeTEWnLCcyEHeEGHrohLHGGbHMRKKtqaOxCWxRgSGaIjlHCfLzlpomdFwGksknQXkYNauPLVZmFsJUbPHVcyFLYOWefCvYRaBkmbrVqZTeifbrpLUpAzYBYYKoKkErVJihtzAImjmAZxgfCuI", "c_map_varchar_5":"eBotViHJNaboqkhPQymxcmfAdSIrEhMDhQmtASanvKAAERZLMeEwyOXlBGEMZQASlQTlqVNuhLRxAdnnHUNZovEbyEtMPSliuDspbbCVNbiPJQboCFTqbWoJdWXODLMckcQKfZVguZReKVloZSYhQlcNPXHyRCRtNtotlItiNGqtfEZyTZBlLtGNrhXcNJyolaCtGFtUKFRiaXDsDugrXeaaIUgaamrAaIqzZbBGNTTrurPQmzVUtuutLRPfPTuF", "c_map_varchar_6":"JBToSFgdeboKmZxxLsjPHhVgfrorcTzFUnJkgVPKjSetwqZLBSFpCMvrWKRycRabxjTcaRfLxWNsjguCZRCjFWIxXnWFrZtTwGchULwwyIdSrAdSZWzBpxjtrqPppehzyLCAhkCfSqrvtWmORxIlCQUjIzKvLWtOEoGphVeNLHusZkEYKBhmafyChdQgIohcLTXzwnKmLezbjwlhDwcDehILHyBKLOaVtRgiJcgJPVyLFTRiGDGzpUUozqfyhTrX", "c_map_varchar_7":"WkwKhUoaWtikJaZPbdWdBVZYEDydcjAKdJsAecVpRrjAEYUMpnNpFKiNVmaQqYXaBGrtPMoqEkWhxDmMDbaQnXEMjCiKxCbUpWgVbILfJXuagHZUquOkzcTCWaZPqlJwTDRpKTRFHhqDHaVAggSRndjQfGhVfoEoXdSkACMXozCUdyDHVHLpmaDdbQRRokHHVsmmDCqahVyjARUHJaPAzbKBnqtllWMASwyNcHxKGQAyJysUVeQqZHYquuGTMfYh", "c_map_varchar_8":"mKVBFvqRQluTtDGAzogLYBUdjCVMoHGxpgejetvqWGYmpqlFRrybCrwtDsCxXTbrNHdBuOWdpRGwIrPzBZoktHpJhswODylBgbHtBsCyKuTyqJyjDifaBTzmgotWGJHweiyVmLXtDiBEGZvtcCbQxuFePgoYcgHalwXZFXsAYANUamLrrEVENEMZUdloACxNAItnHdowPNmvQSzwHwNCpyhqElwaHPOqtNEWJjweIpvXQclunEULKfoMelOMPKic", "c_map_varchar_9":"EJDBhfvvmEnKUHymeARttDvaxAHeJCWXPNcTmGCbntATbGconQtEWIXpZdmDfjDdmoevAdmjcdyjTPSxzAdoMvYmnecqgZDfhEbiYKfsSXtGKcddhcBtDXSbNxAtIvSchAJisbFCZjrTrpjEFpKNipfIBErzOWwKQmknusXuynEKloklwFDOSKjqPDsxNLRCbvvFPLkxrwRGQHMRAkcFcCYQYejCGCuEhYdezkJTPnMtlzYTFZDGVQQMoEqxKiKT", "c_map_varchar_10":"QhtoHhTGekOgrfGFzHYmAdVmCWMLtPoujCdSoHptRkfFemmdffuLnLnEbFTFwUhjAAFyEbuwzKEDlywSamYfvMmbXgYeMWrsbBvNeSJTDrtDXrQmHDxutkIjKfvLVIdTgmcxbvNSfMwhNTgNAakqJZyhlennAmiWTFjQArRbrXGRoEEPoSeHUZVRDqfBFVwuOfGXRZREbQkcNlrEOcPhYogSbDPzseEvaKGaDqjtunMSCAhYqWuMszPDiApbziqk"},"c_map_ipv4":{"c_map_ipv4_1":"9.100.56.82", "c_map_ipv4_2":"54.126.4.116", "c_map_ipv4_3":"49.8.107.185", "c_map_ipv4_4":"183.20.250.130", "c_map_ipv4_5":"114.246.73.150", "c_map_ipv4_6":"12.250.30.203", "c_map_ipv4_7":"157.134.158.98", "c_map_ipv4_8":"65.243.12.191", "c_map_ipv4_9":"117.65.153.90", "c_map_ipv4_10":"160.86.235.185"},"c_map_ipv6":{"c_map_ipv6_1":"af90:9de8:2f1:743d:6e21:9263:2661:67ab", "c_map_ipv6_2":"9a2e:e7c5:9a80:eab:1bd8:78a1:f506:aa38", "c_map_ipv6_3":"3f93:e015:5314:6cd5:7981:3bae:41d7:8376", "c_map_ipv6_4":"237d:9c03:de9d:31aa:291d:68f8:aad0:1cec", "c_map_ipv6_5":"ce0f:e2ae:80a0:a5af:dee4:e7bd:eecf:47c", "c_map_ipv6_6":"bffa:c0d3:3e4:d95c:c4a:f93d:3992:e57a", "c_map_ipv6_7":"13c8:6567:1203:4eec:2b76:ff8f:fc2:6f2e", "c_map_ipv6_8":"4fb9:2a03:5626:1b55:e543:7616:24e3:85f8", "c_map_ipv6_9":"1a2f:2af4:f8bb:fa00:971d:614f:2c07:ed81", "c_map_ipv6_10":"5619:d8cc:f044:be8e:adae:96c:c019:b274"},"c_array_smallint":[32560, 32748, 15521, 9305, 6308, 9762, 15270, 19191, 21398, -32220, 9955, 13924, -22516, 16675, -3235, -19069, 29271, -1037, -26053, 30070, 11974, -19414, 9367, -22582, -31037],"c_array_int":[281190575, -294847251, -1189641893, -1875692173, -806228939, -1968124872, 870851557, -1345878903, -1437617543, 1171128242, -1322793893, 1758286298, -1755331413, 1828056370, 1410684642, -1996913898, -1052058271, 658687246, -1539136, -390782027, 817562390, -69072680, 1328331298, -1960735063, -1938963373],"c_array_decimal":[74.1214, 33.1831, 19.1699, 58.1526, 94.0170, 5.0091, 3.0218, 78.0724, 90.1876, 5.1035, 2.1415, 44.0188, 54.1173, 89.1764, 8.1973, 40.0695, 42.1365, 2.0458, 55.1228, 92.1968, 40.0794, 73.0093, 70.0189, 56.0855, 3.0588],"c_map_decimal":{"c_map_decimal_1":69.0495, "c_map_decimal_2":24.1040, "c_map_decimal_3":70.0174, "c_map_decimal_4":21.0186, "c_map_decimal_5":85.1489, "c_map_decimal_6":56.0140, "c_map_decimal_7":54.1434, "c_map_decimal_8":68.1454, "c_map_decimal_9":77.1936, "c_map_decimal_10":22.0299},"c_tinyint":32,"c_largeint":-495900804284965260,"c_double":14.956558746807744,"c_array_largeint":[-4406234113765107975, -5339003085550887512, -5453249046758185466, -5983228516886777269, -4483650168289243608, 7136672745950573423, 6913337764512256400, 3638709473010690495, -4558451928338720854, -3417036620631000834, 2305937205654326306, -2576270771089326573, 7591639034205916874, -258452255509591573, 991185487321857960, -2367676997969676912, -5290455107590078458, -6803489889739387656, -996529930374634337, 1380020387451140335, 3891377199262797240, -4123919395186293618, -5257258390155334075, 236694495941619087, 2391252924271033058],"c_array_string":["jkQPsUOpskufTLfwEFQPpaBhtrQuzjwJdwvAIyPDlUjOdmkypcKAPhfgJGWikjBqqNYirghGjNLdWlhZkaaCtnmggqqAjWvkEtSxPDwfICDelmakLvkonMODQIzWDEArRxaNsmmYxARGgaDePCBQAHtWmhiKxCsYzEEklzReSwLzIkKiPYGTMrBOnqxLWgAIFynafAjVXTWIraQNcsKNtkdGGnQEmnmKsWoPUJdqcixFMHSKxxuJtjuoaTHyTiyMLnzSUjvZsGXJacPiDjaaSdZxCODWqQQGyJjQSRKyEPbGWqFjbflTdiLnPDWjUREzlJyDbstbpkfUxikZEpPVutOaVByElmRpyZLYjxjKOmwVnxjfJVfnRJcVTvMVoouMGlOVoOcNnPohjNudKMJnjfGlvoHITTUWlXvBikfSPXwKfjjIUKatAnfXAgHFjSPUunsbLlYqvnBMnWqURvquKZKTUKricuVaFGVLJhAbUJRgmOcqNJzhuihqcaVAsuzJ", "rBuNOAMPRqAaiBXQZJGHfhXHjkjEcDfhzlmUSoOmTEmJNauRXRSJvalZzvZLGPOSTyFpvYEcLjzyXawANKEFElZdoXcqKmRigDEcWDbukrJUzcbSDlnntbuCrjDZHEssJptaefStCveJRAcwdEcgQyxdAxUQWBuATsYxpqeoBBrlgCLqCIudTrkOVNaHygArcvKpThqVclygteFXxgNXbKvfTjXzHFsStVguEgPKXgnkIRIYIUpbNHLWoXXBzhEUFCYkELcrrvrVPrwdODSwoAyEGuGfsmVBAnbgeEVsfNHxnwSkzLmuQLhFLmINfAofyFFLvXceGoJMMXwYlsRhiCsziyiAPJkEwAHoekSTWnzFahubEwGikesmrNvbaggHmwxrPCYzhGShsGdpSKzWSkgbYmYPfpesYSHSgJSmAGwHyoytXyjGErZiVTSzmUETlBhVNWzcjwwOIigDtKkOJVfhAPhHDsrRxDSUWCQtANOpuyPAIujqvrdPpcSCCDRC", "bucrhMUrsaCbWOXorAEoOibXgoeiKqHYOOSfsWUuauCRBOeoQgMjHDbdGSLyEdIHlDoWuRplMcoDyVXhYKrUwiQeDUsriZHXhKtkAARoOmUvdmyNIQrfKylRPjYzQNzxxTUkVsXrtjdGvLCCYjgFwuFRuKfVDEoFQYQGrqDuFmliAvwHZhauNgYsOJcxFdjqXpxNrbNbRAQKqHpwBVkpqMzJIqSWRWurRBBzUHmaHlOyKzBtsOUsBaBDeoZSXWKjzApOLxGaMemzvIIJAJtPUBBIBuOdguCZAsdmenCPLWvWwEdVTvTvACSSgABZIWGybhNfPcXmVoERfpMLJWUFZbjHqNuHrhMxxncqtMDjpgpbezdRmqhuQDvRaoYRDGtibMblpSQCQokorYCZlwsHNBcLMkxTvwaMylBbqjrJidBJlTquPkoGZbJvoVscRrUbeZTildojwdzucJckFDqNiawhvwEkISEHDRJuzUNHrmCGxpHRRnCUbjvuujAfENmE", "ptIPoAahIhiNEvmojYdRwDxXTaDYxiUJlWfsNodgkgPudJaCCfhupcOLHkyzexLtiDqufsSnxHppeQZhnBhTWTzBuVweHJEWIzJNZjzymzTKiyykRZJZKDQNMxxPcqiSCEoqNiRDwgPIaoGCqPXqZPUrbyvAdZtAilHdpwacvcCJfAHMAAScwOaWNlGVNaJnVzVlhyLvRnAHcMaoTesQIpHfupgpmOSjRPEynyayvxNkwjpwPJEVDzjuMpohnsrqvTQjLogqcXHxtKQgZqdLwCXZwoeyAdGVhaHrDqSIGImpCDGIkICcZYaPmuZLlErruLJJYIKjYLSKBoqDrgxMXyFvscjLezwyWcuZBkutAeFVjUcokeNaMvriNXlDmkOEEOHtmAVwIpIyZsnCFUdDPmyKLTYcUhAunJPHPndinrBcaqKMOcHLUnzTpQipVIkwPFVhMetgnERTOpSjqBCwUcPKvNMgNhRFCyuyZgWnsDsjHFvVYStBRSDcilMiQeLP", "HBfkQTwAHycABdeiNDhLixOZyPBvZqKwATAFajYCbZDDuHxKzuembFgDzhOHMAOSOyPPqTMCvTyenUudJCWJhJcFgIfaxpyIKdfZZwenegqpiGRSuswFoeuqqYrmqEcQcJKKfqRuRwtFlLnuXfoBVMAiHQjfEUCFOmDmivHdSCioRGpYqglGNKCpyiGydRckVUXPEoDUGihWcbpBhsYpmYttnjSWMKCOQsXDCeGuDjxSkXzyjWNSNcxpjytjamXksJYBrncuVHpUvpfNhoGIiDtbLUjigZmtTtkLxOhBgDrGTYHcUnABCBLKcKNvtfRdHFpplEhflLUQPdfUjfCinqWxZJayvcHKanrFtzgeSaBPZwJuQDNsnnyeKBrbsoWxeyvYevjtHdsbDpHXugQtIFpMPnOjPILEclighmlNBizlGrGvUcNdrYgjXFPWwrUcmAIfVnfHtccctbXHhxkrhRzMciJNCYyQPuvsexcUkXcdlIxUmwKDdEEzKkVxbezd", "CqkjkwaIbYvALaETFEFsktyaedzIHuFnCujAPNMiCmSHmesArvGPRHCgraiyEYtmeoidtZuVwoIaYLnnfjhEhXmHPRVgcUXdTquTKmACJNMQWJfkOJmtjUByHhMDJJitQxREZnMOzcATbCrgpjRwQxifinTQZWlwxndBzWkRjQUEWlGsyUTclUTrJWrGMnGNfDNNktUvtYVEjmoanFOapEIAXhAQnCQgMEZDsGuiKvHISOWzBGyDcZFNIwLJYUMjcJHpBRdnTeHYmgiWvKinLHLxNkvRsbbwggRkacEoiAAplKRFrZrMFUugWckBnMkMugGyYPyhcBOXdUKhechnlkjQWamNIoaZuEituqCCoMZTvNejwZLtPqNpdPWlGyoUUznkcYXtsPpzxTdBASrGnpTEjpqfmqVpeUHbgYZjEzKlBEjeGEiHmMBbCXoLYJIILKsZEbgtuNsnhjjTDwTsjNDFXIohscyEagLNVNThWywHitsklrZwyiCJblDdwWGz", "hpNQlXgwXQUazhEqqOlZqSdeLYsZTutNnJwUPRkWLbshcGScYddApgvbLlUyeNrFicJqGMElXnPcEKGAYdSJDcoJSlwMPRlKRnVoYJHKXdnfozDtIeaJNTqXTjlKQBHSxwgnCFegCFFMiclmpwnrjHhJQcluduTaZlGtXjHoentlOSNinjmxzlUWncPXWNFEGWxBFjjivUNsFaEzaFdFooIlKLxZkuiTjsMRpNPjWASWDJudbfASBZRoFExZYpXGAopNXzZCeJjPbmjabVsPYskKjEJxPAxpCnyMPrYwJAgDqJUOqpFobwgVjigBwupOlupVoXdwlKpBbARThXcNIhkOjztIqmAEUyfQQgPTrxczAXgnVuFCWwAHYyrCyDEjVrnaQqxQORocJBWgQGuILkMHRgRUvNgmjFFfDHdHYrqEFUuiuFZjoqKRjEicPluYZWxLPSRhGMszDaAWHhswODcNseDNkamQpLIgSZckloyFQrgrTSMOJpRRzNSjFUyE", "iBOCleJvtPIpIdDzlQwPgYDIDZhCsubAsNKvtyiKFcjNRlGsVkhECkQGFCEizuVrXCFhdAndQOnbEbQtOlRxtkwjMpuutMVCCMlGzddhYNoCyGZFzDzDbkqQIGyaWQffgxTpTEMAxAjmFuVwADvKzjZxjrCHFhWkhzEETMitnycoEnuUixmwKBKswdaJCPMsabuoRKjYZZgTIryQfEFWPjvrtfIvvyRnXgrgAubsJcQzyrVSKnArsAgHLSIJuuBJGWHCrrWnPRALbwDIUghFmcizoNmEHvLGeozqAYQfhYzRqkHdrahclIgzUnReFmNIjWHAamRyqHSNNzPwkwaIhIEYfWjxiIpgQEATldszDxWrWlWBpJoKbzfSgweisxeOFeVcaBeDoGqRTaJJjGvlqrLmVCXwoEbbBLBgNJWqYdIZgtUQKvPzxJFdIdyzuSIiNNafPPXMDpaUpdXHjeNAVCfzynjplsVhTynsRKsdGekNaHlWZpLLGVefwnADPJWm", "qQvtNWbjxSvlycojgQyJWafahpKSXDDGbNUNkaEXIpHgdrGTslvYWxlIeZzJMhaSuMIFjNUpnjRJNlTceyWcCRzMsjykXabdOYjiaVhyQRKGNfqqnkfTUTIszgeoNgloYVAvcRDtbBMcypeCuTfPFcgjJoRnGPraCvHWWSyifrQxiTLDXUmWqhNSEibbUtEEAmSjqeNBAOJttJsleWyqZtFKYbDmGZBrfDdZgmSCdfkdjztlXipFugrgtzOjBrZcADAmDDavGtjsMNYgcrToQTQtbgsvSGzMZUaRHMsBFEuvwxzyrFeTYuaABfsXhtWoKYOaJBdyNOaYXjGkyRuVbGtahpCoWmBhzPtDbAilNTBupnMXkOHDUwgfCaAYOBeIuUYjkjLgJfSdqpSUelKMiAmjUReksodcycuAWCANJCvsVASvUtGIqhSCIblROsQWNbNxzpRHiLMvnvHTPbziTWwlQCXLDFfBqmfQdZYElNeXokxwmLYMjAiTyqbMfDPv", "zrTSJtVmPCdzxiydvoEAYyDbSviMRelwQesQCDaNLLAyyQbpXaReiOqHiKpIKTMyxRXfxPccTsJaJDhbcsXxdzKUzbWplZoIVqadNsIwbOecrEHqzbMpKnKAVEAJMRMahzVqLETohUGBTQAFGWVJlrkscFAEdyOILDYrUCMmLgeRwgVBTlCdfNiMHZVFgKiYPBUpUPClVmzarAMchFLVpMkTNidpYyFPbXaueMEQSJGaPZMAKcXLIMbfdDzpeIqNEszJyICcHVBEyMaFoWFPotlYeYJEogpltYDcyYWfgyddtxxWWsKmObHmdCdIbMJPtxYaxdBIBKhWIqPsgciuQVsdDiQlysyfLeZjDfcTKxwBgMZztBcgCynlcKUFUCcKYVcLwLgWmxwIaefGXCYuhmJQYIMxVHpXbMMslwVxuCRxgefeYjvJSdtymnpgiMmonGHrOFNYJeKsxWOAFIJqrpuzTnmRwwcinYqcTIVwlYYgdTdflsLHKhEKbViLOGAa", "zVdlrPTDkhvqnswMQFmseFThWwcjMjuzwFZzOSdsUJKaZvYkLOFiKAXEHPSfWBPuPLaadyJMGGzhHhTJuVGjtNjRmSDYmKziLcSZYXVPvLgBfmmsSbNRTahlsWlTnUPQVMTPaXEBVvABuciWwaPmgpFrWepkMdCWYGskwhSGhBwyyxhkYsPnExwMYoUfHVFdkconIIfNPQBrozAHyjbjSVxGKEBNogszpEdmHFFtJXlxKigXGuyXDKhxjCUbtOhjThNTdptHqtVJomflzsDEwaDEeGanhyOvtalFIIYOLfVmAlOOHqfICtVMDQoHhDJKEGjNRqFoHdbUeWnxCRwJveVsLReECEsiJuSZQLJVHaUslhVKAIFNnHhCFSNgrixmRZSPezYCmtEkvKcVkYFAZGHtjMRIieprHDBMAirSZbsQCsucoDTsHmfevgjTpousHRDiIuYghLNZWxfVxTlnSySofiryBnkfzAgmxgjZXozNGagJgRjjuVniMQGYdEyP", "FeCzfoWcdcadvzLXVDnDfCKCjQeazJGNGNQxekhYUKQQcLAjshuYWssufvhhINaMtsHnfLSgLhtMUHbwYFPPAKeXCOxaQNtYPMrxTsbCKmOSizEssVoDmlfgiOTEUazGiIsLkqtBGItpCBYGcPTHvgLeNenEgkIaKBHOpetqkGoRdKWzYqYVRcpyPvAfELlGkvSqfArgrQRrFLMHaNmPhvlcOtaslKbwtRyCxGYMyRhEngWXNmilejqFGwghoCynWWDntQPFOZNeNCpoZDryugqJQshmolUIKeSuDQBosmTYoLNDFsIAsJjaZQlBZicFqNjgzvXJIepoOxELlFtztdEfOfjBMtrLVtRPnELctkyLlIIGVldCrZgbFzkmDrNniJnLWQBVbnrSyUrAqWDrTFXdOkVLdaYSRFlBApDklbZOsgzcRASFrdwPVmbHmzsehoCercNZZXCdZzpVSiNPMCklpMMyjMQkDFWdInOsvVeULqFDRvHJWAIRiwNxHiTn", "YcglCiXaaBSWplaioTMjgHBtKNQUAaCfWZkqfXbGMfHAGCVnDLJRfUKjtGvlnCEIcKQWVIndLPowaNeNBtjmESBspuWlsfWiTDPSKDrhUYovXWzpzXdyyWAEecopgeXaYREeLaHueBJHqKhIkHWRhdiEXVfbphucGbbuXbaQXuyMOWBzMgoIzWoksByNXaOJBXIQKSnGNjkRWfHxGXzRkVeuvXUxbiitRcxoJSkvKuaufhVoFmzbwtOhktXOJtLFlnAooyQFXFDdCDLdQvFpNpvxYMEZKSCSazLgRKAtkjkWkzLcHdFkdclGkwuKJddsQYIvSZwkaUErqrekFdmlhmsunwXnYrgLBODKLFDfyVFgHWtJzRiUflMsZlcxEcTBjRjLgQdPlbfutxspmQIhszmBYaRSfwZTUPlQDLywDoEjInrblLyWGrTzPiDXrxLWRyhQfJzyXZPAKidbjtJFBSTwYekfyjOpWlJyxIgiwEmkWrhKcyoKawCdfrAqFKrZ", "uYfkVcFIwIAweJVztlEGhPFYHZWcdYpisWJUnBmeLaikYCmEjvLIOJqzDiKYVuRMDqoLNVafqOkCGdzWbIXZWImeOsXxQrAkdBtQXiEiWHNCTxGbPnawwWrdyRqxPoSyyYiXWPJVZDyWuxVgDajNrRisiTSpfAcXQhxuAtrOaJGQsKSAnZqLOLeoiuudwmNUMTWTRQXfSDhZEkgMgcRRUqymfAZSFmYBRTkXsItiYcipubyUCeCCMQwMQzwGTaMdYEGvKlnVIEUKmEdULRMYEDqLHxDGjsnTRczsUsAlLljzKuwlhKneCsyWWEivfeaenbCwKQOetGuetwbucqymHrGdxjhkgQmAwjbpLlOfrhfnkzCPkBRqjvzyqoYHawrggLMFInPCUCSzrLcBmhKeoqqboNTeifiMQqwCnZlrMFrDJbFQGbntMNADwQOpEZxDNcwKhuqezZIySIqtsPoycWPcTJtNjCGzhWAIarJFoJAwkPytZJSzRNawHVaeBbEH", "UwPTgnNyyultKeoeXeXWTiWcgvTCVMsZfKKWkBFTAxWzrDcUxvFdYDNcyGotjQBNfIqPOrcNgKJKNMifITXjchARnbVmSPlyfLPXWdxMFYHbmXadJmsbEuTdGOHEZcFELqfApWTjDVEBFrDjxBTeUbaWBecvDWeINSqyelAxrZIwzvVGAzzGmRHudbUojiuTEMFbQpsWsVsatcEsRrerNmaqbxhKayzVUgtgycqeXyYuwomdtceySBnDpoGMNjRRMXfdRgwpgLlfMGKDBCbgUcmQfBKyblsWwqLLpcKTcKuHrHvyrOOvKhjydylZHbvDHPfBgswjmqfqmGGXVopZaXmqLOeUvyTZUNdasKzEYSreexdbTJcfSIdfWFhXdMEfSuKlcafnNjhspobmJlksbCxMWAdNGXRgwulpMDRRdMIOOqxoQawzFxlmMJSVaVrbwepfzZQBgiuYVCMxoVjzZZSVJSxzfQDmsQsAWjFEcToooodTUKhjyxsqFRWTsicl", "pJdXwrpxuFThabunxzMeoohwlmfMAkXslFbXsVDXcdWTvgSbALKjsKdDCBJRFyVtoIVpHBPVvwbuWBdYiPfyAlahyCCbKfsAJSHvGzIgGBLmkIWulWGvpTGgJNEoTRiwtckuXMJFjsBMZteNarMMrISghCQpryPaSoMkPdLToenwuQMrrimpFerETLJqEjEqELfdAdcFczcwvPiudwvTzmJtmrTEseXWeFFWSbjoFVFWJdtEmbyLXrRMlAHCJlSKwBZxgwPiCoaVcPKGalYjyvGJeDjhEqMiWVqRToFaqFjSxTPJcOnhplyPMdXoHCzhNwTEvPHGqmhDuXFUvnaZnArNSHVBzLbnhzoHenIezRHZlcxTpLHCeNaXbliGxnKSTYgjapJhNkFVRnhXRXUMvBHzxZudLOnvdiKUweBpITVwLPukmUlFlmGKzTLhmWDAeyyHFVeiqVpxHEzOIqIdxnVVuQHOwYiZkTvRcunzIfWCrbZewqTUHlraAWpJQBUS", "bxKtGomjlMOhphWUgsQDkITqSTJfLKHXdEHMbvIiPmovbIylVRjBSMMYZPYLxhBcHmGbbdiJfjfFXmVywIffKzaiNKHukAdvsoeZdMhCSMkBheaisYSKRtwsZznCelZbXPVfxEiqfXgjdPsSTnXodgjeUtfdgJYfnbEoZygIifQrhhDjqtBXKMVcdtYrKjUuvAFkEtIRCXInwnhodKowSDuaKEBXpIsyZiXidCPZqjzvkOIGDhYrVlFLoKcDTFhRwFBpkEkSCTlIXDbqWagDhgNAyXaCEjqPvkBBANyeskrOfQIIvBoxiDYPjCsBnOzMJkVlExbrzaUVsrAgZrflFWTlgoKIGKKMQYLjOeRIwUlQtzmKuNEMhpFEnrKeSRwbaxutcUrJYSLKSTznGQPdyLcgPhOnnVngTmawLstHreqwOgYYIbsRGBgfrDiOfZlqeChqPciaJxDopATXqNebbITMdLUwLfadBtRVVafQDZPiWiqtfFbcMIvTpGPjukid", "fRtXBbeSPwXeeOktwmrAwAcMBBnxWhebumRaisuvbTQcHCJsqcYkgmbjdaKOFEPmwikxOSKpzTyKBOxMCFUuwnRnCFMLmuCAGDBHVFZQSLReFDCiiFqoNhQccLMadnalIbCMEtkDZNfjQDIRBrZDWQOkdMFNsVGxovyOXTToOKZIBqCnpKqQkdgEfxvbINdTWwQBeZBOQhUZaxCHgGqhXOrsqlegchUmUUuEhQTVEGgczYoQVaKiMYEARDLYVkNXyeIVfMbLYQpmYLSrrRvljlMvNgfEtqWDMRyWyJwAtIIgpdFegCBZMbXlLQTaYNCTPWJTKdVfNDMZuLMYjHSmEKcHoOELNJwrlZqyaxXGVynetNPObnwqxVmrIcvEyUbxgvtxPntPbgsvGLZCcVnnKQoOeqMmggmybHexSAdxNQjcpaakEUdrklQHEfdGGhDYtmlNmtglQUBPiefmEYclVwxYkjQGSNFoLKpFYzWguNMQGtirhsOaYpPjQxyWPgJq", "jBRtoSxycLMmpdRzDbiTwKxgLNfVyMPonSHtZwZkrmYjwuLlKBTnguROjrqVGnoATxewEMBYMvtxTclUMydXeyCYwMBUuANfjqEQVyKjDYdmZRnGOObnZPRyAWpiRodxTRAyvyZEgohoTCZIIKFWTkIzcrmqcDMfyYLizkvJPhxOBIczhhYmtIPuFhrjbxKnXEHjJRJbsPElzeFHtiWofKthOxCkIqWdybXszWmYIfoWvjGqBtNQSpEFyypBBYEpfVjsOFTCDaxQvAodDkzMvdbidhMwlFFDhNpIOoavywDaXRVuxyFtBVVTrmTPuCgygSlucyHEAwucakuYHXkwVIxTsBIREijbsRSYYxjLcYYfJkObWFjsTMvsezrxoawJTYubSsyJJcITUrrUspnozPnsbWtVBUDXKLkfkdcargXhQIHJwXghZBAGiXWlrwKNKshLZGSszslvDcizOwSjogKWfisRGnpTVElurcgdXxqlHNtoGMcKTzbjPkEHuNih", "jaLGOkIssiWtMXpbUAIhqZggISzPoQBjgjfHxXvqeetlfGEjFZdvFMJIOTqmszAtqLdAshwFTXxCvKMoQshjgFbgfTQFuklpxedkDXNxOXpBfqvPwLoPoPiWZExJiLPNZEURZHDXEUMbzzfljPnngStrLaNXSAnQmOpOdMrmfmiXRhcSgaIfUPJWOwCAkKxTHkprTDVGEOqVVLHEeFEnBCfdlxpYeyJtWQQtEqTUCreVYhmZlODAlBIPgZmYVuJHFCgTsXzTjyjLiFSWVDRBzHckgUWGWQnXDJzVqLNnRvLhadZQlPVndLQxNQgjakwkbxJHvHtfhozCotByBihNFVlujxJswUwazCEMeLStFnfiBwnELLbGOPMtRvGBpHqFBVcTKlIAVZCsppBJQOSrMYRVawXkpkTOMZehivoblkNdiIILeEFZvFLRmDRoejeGmSsjfFBJhyccfFhAhGsmPZQLUVKVGQKbuVVcUVQdDAOWLCLNBlPjEffgPTIalOjl", "CDitMCBFdhxsFqnxmOiqxXMJveEZMyjQGOETflqeNgyeXLOaoZvllboXVFngDjZIoZeIGbidAwRRbdqaNNxrDXWTIbvnSGsRQDLAiLcCNHsPBYPxlvBeldQOMxCSqIoqQozGjMMGUPZUUKqbpVPOXjgAAPvFMEtfhwptRMNqpRDesFYVCFeHZOlhIOtilXEUtgHIQPUwFDDEZUEmGofkHeyXwlbSMZpaGDUPIeaVxqecXoqEmgGDrshDPLqlmsBgByZFlkfsspNFFtalItDYuUmAttlxFxvLQNaMlROaTZteMEfDlDrYPrkdFHXKyTPonfeUZeZajnsWFfJZdHUWncZsUAZEGGUypjXIetJmwSIapKEzjIMXXUNCANsJYzecvZstFWsemclMotkDodUZcIAoQXvfWsIuLGfjYgdbLGLPpfRFmURNLMNCKiwlapXtKJPQzSfoQlMhvbdXeAczMttEbAiBVZOZckMgJotHsvPwmNMcOpairxGUINCPAjGE", "IIAAAWEqbxpiwKntMrGqkazszNinAooNfOfrTwTbrxMPpVmIbAbfwCPFinMajNvBrFstCJKcuCRnMZTxxQzzLEmfncZPiqAxpRTwlDYrQEohJjTfvARaGsdwXUKqYDzIcaiYkRvZYVEuRZloWfLMztwzJbvIssgtXFVrgMqdJTJiJGPxvpHOpWWIJuXKyBvJgkVvsnzcoupZsbYrzxHBLiooADLTFlMoMefFxWIOzuTcKjXUBDcDdUWTSFgXivlpoXhbylYpoNIorCWsANabHqaAzSOKrSrjCFjAPfAfWyzYDsrJMCnCyquVnTwgMNmjrDjCITkRBCJDjAqxDOainMKzRLaTGfkmVttBrKFRCKjpySJUfZdmBmtpqPdfnVGSxjJFwhMTCLWsTLJXnSGtLIigFeUxskqfoHsyJqETMSEsycDQQYoxhuUAFKEMbAFncTDMzCxWDiYifKkDUFgKYVxdmfocBCJxFtEXKRqVbSdpZwpMPDLRPVmJdzIprvqI", "izSahddTKLUUfALtABOWmNxIVakWJWGcgGAdnheMeFqhhpkNGRLZsiXLHiLqfyiBGxwvoPrpYVSKzzccxhzUmKLKtBQCYoVAWNDcOpWOwcneOTbpiKouzDZXRtKQdKaMocvQYNjVQkeAGlVlVRMbXZypSseWthglyEbJdqbolBxjokUQvgxRZhvpzXKMwWcHmuOoJVJElaTFPEIriyKUTSjFuvPdnJfAVuVUIqZYTpCLrDJwGjqWyYXKNWwBaFLHqXTyrGtmMtHmbjwatvQDxCDLqMUaJGwcHiNjhmIQmrRMDLHUeNgtAdtLHJXHHApxNFNcSDpPxzjSnqrGROGQMuUjLmkhskvQOWGRxuhbtpKdjlGhJAkJLGPnwmYULHRfrgyQQTWRZVRBKcyCrRdNGYVgdwzCZePymZfLNjuMUpFGbCNppvCYGbGdMMXYvdLeiFKzyAmRZsFCkbTRYrYwWSYDWrSRIkqsCKRvORAFEsmbLHfhfVTyffTegngGOhBR", "mdQUmGJPqyzeiwfvausJYaYTCFrFhpFKzsEvSoPjOFMiuWhGzVdgCnkaWJzYsNXsCoRSlzIdJgggjQrxkOvVQgcWeUWheRBBRWtkdBYIbNUHBivcMYxwJYVpHZpuVvnWDIckSGObxjaXzfuMoKdSCCtAgWTMTtVDjOCzirIfizigBWmPluqzhFeBmqKUStiCaNJlMJoqvUaPmTlCnUAUnwdHqIWcRBDhzmwMQzSgIHhhapvZjEWNuKtgkIhtbeoaqHHIkAvGBPBBVdrInrZbgJsNZhAPMeLpvWmpNsFJCUooVhOSFLiCRWtmGyPltFzDzSjdYPWdPhRqxUKxwbrBZbbxBGkAGBfetDofzUYGyFQkeAjbbqIiSOTNGzpopYrHsUNURrcFoYgluzVshPuVSlOhcJPerVbccHVnCrTIKJkNewJSJqgyhxRxaIJoiUxbBwstpOVnChSYRejMjNtjwshRYbsHTguaJmvsEFizPukynEORjHbIGxsGZoNSZKxI", "vqRHWSKeekfhTZKJxnJrczqwNxfypmyIuGkmKxiOoTvsxbyNqNzcannMgEzXpAZiBcQzAueLMoKGncvDtKXqfxPbbLmCvKhtvHOsFaRkaoABnBtyoHJlktIuQpnGwLXQvXnHExvAiOZMhFXIscxOfZYWuzIAwOfvRxoKdSGLtWprDqWOEGFOlnSfIaswmfEGaBnJAZWLRbFodGIwaVwrsecUaFCPfpkslhITKXBPQMnNFRFEKPXVIgzmTneroNmazcGdFlDjPNZBZLoVjHtFybrFxrLkLKgCTnwFcYYOKiVMiWufeftvbonPjngSChfQtmDqHlsUIUwapCCtEoAkFMHiFywlgUUyNbRfPzbKkRUqjWFXeCBLTBEwLPTrXOKjnxDfdhIveQArAwzVTRtliIxgodvXDzkgFMsitAoERoFqOuSdEbDuisERfsxigkuqJSkDrDdLwUuAxLgFsBMoKRISumAtWqQjVRssaZgOyBGfYoElyVDaLbIacNUTJZQy"],"c_datetime":"2014-06-26 18:08:20","c_ipv6":"ef13:6664:c352:66d8:acc6:4af0:a7dd:3038","c_array_datetime":["2004-09-05 05:40:06", "2011-02-17 22:54:22", "2004-03-09 23:41:28", "2010-05-09 10:25:37", "2010-02-18 15:36:37", "2008-04-06 06:32:55", "2005-09-27 03:27:40", "2008-09-07 05:11:34", "2012-11-07 14:06:46", "2009-07-25 18:53:20", "2009-12-06 20:37:16", "2014-09-22 16:27:54", "2018-07-12 02:41:53", "2004-06-24 10:34:48", "2005-07-24 07:30:19", "2018-06-13 21:23:47", "2011-09-12 20:08:21", "2010-12-22 15:01:22", "2019-05-28 21:56:03", "2009-08-18 22:38:18", "2002-11-24 23:54:28", "2018-04-27 03:40:49", "2004-05-11 06:52:35", "2010-12-22 04:32:37", "2001-09-17 00:30:41"],"c_map_bigint":{"c_map_bigint_1":3913190413370694811, "c_map_bigint_2":-4556950454443636953, "c_map_bigint_3":-1245880120956908394, "c_map_bigint_4":4635905905211968648, "c_map_bigint_5":1816542129350249492, "c_map_bigint_6":309143794175161463, "c_map_bigint_7":3761458483126732927, "c_map_bigint_8":1092883356757766733, "c_map_bigint_9":7773916688070517157, "c_map_bigint_10":-3290397500217336058},"c_map_string":{"c_map_string_1":"KQktlVqgWEzQlTCHDRtjJhxLtMEfteRowNVGGakvXxDTLCzRHFyNTaliKtNbnOEMpnmrFVXFTwacSPGLFKwQAkouinweEboQMdmTzWcaMOLdOcssCNYAJOISFdAtTsvHrPKBoiWBXVgYSuoShdcyRMphalrmZeCQqbxLVlgajfRkMyEnTDbhzlAigLPjZppsGPSbiLjzWLesyhJkAyqveIrdyClCwmsnCbahKMGlnZoZnJwtjHUFfKOMdEoAdZrlBapRmQvVeEWQVqLbfqDEYbLpMbeujeAgIOqLPNwADOqdmlnuGobIMbkfYVpWrmjJpTjRxjfglmwOLUjGjYcASNAWkyDaPTcZYjISDQaWvvQueRpqWbHJEItxuAyyIqxRSLTGOYzhoQhkVQijKVNQOsDlgBsGoNrdLbJjfouWpOXohrHGAIZySNONOTbonPaDmOqAcXxISiZFSEBvtjdtBcYVmgBYwgljzfXEWADeQaxAOVySDDmCWmHYGyjgNLRD", "c_map_string_2":"EixbfAqbTatUXRJVJvAmfGbmKYkvoTbVQIhQBnLMRtroeEFfdcLfXpQnqZUuGboVXiDDBkgzAOlYigPCEpftAAYHnOUwaCFmBvGWeXBlLHixKNkmlBoOSmKHNznyzkKDUctswJImNBCFBTADeXTYYicIAaeoWZdKLaxhDcYsfdrpJVUrBeckrIGpdinXDzLbpEbtmMnHlbuwtiiHKmxOYDAJVzQgKEtxqRggjincPYygQDJrmWPwJCIcmnjXgNdhBikHXRypMQTrMoTZZeQWiaHXFtEWOvTuHIafWhGRJTdVyJzEUfUDJLJjNGJIxyHFuqxsyQYQaJEghUyuFjqucyJjOlmvpMJWMNdvARMNEOTaXPVBnCkusXeeVZmFuXFbnwQwAyekrNHYXgggEaFPFzyBvPHllSbnpncNDahBElHJfqToaYuvoyXExWWHHGzeLWPhCSuVBnuMJgLBusgDmUCVNhKdxIhQXEjkEyarYNBIquBvZmiznhXUsxoQSnQj", "c_map_string_3":"JpUSKmxrWpDalTqkdytiAdzfNCZjgpblgfwhCyTuihTYbJzCMaFVVNXWXxgjyuSGvhiukaCvruOXZXEXdMaFLvJlWeIkpkMPnmamtpKtgYHTxDayUjzkdFbNYJBOjKZTHOwRwtcgVGQSMGNKIqDGxVqSeXsogOcELxnvLAyLDjriixPeBRHEmxpzVcIAUcHbvOskmKVWgdIgwsaNkwgVmxylIjztkTtybbbOHSxieztOLItfraZtSdYUEFmAHpdFvEgrXJNoMvGhNydSxekCjUBroyUYGmmXMMNAuplNnFEawitosvoMsDuXEAyfWVJGQmUCjigjqxLSvqMtAtxGquFPPylUorgCFtXjBMOBtNlqnWCkPcOESJzzfdtSQRtljCCVpwGOsZSCrfocOuByxyeisfNnJkidcZBQCwAUwcGSmuPrWgwbQCiNSmimvRwhormmhNZzLxSzyBhJJpkqUIGMhvRAzylfSdrahZgDMKkczUdbEhJYqKrBAOGWQRRh", "c_map_string_4":"XhupMJhNGvYbhPLWcggYQRUgUNBVXCKNhvMQbtLNGXPsgSZTrSbmFuNKmsDQumFKlKXfVHUAlzNkwqMYLsWcLdONBdXpxTRikNUZObjLuZNESPRtaMqsMhomvNhuWCwBtNmrMilfbiIfjDPjePwBwOQLKJGlVFzbCOoLhdqSRDrLuopSDsmFkkxBwKAwdCqsGVFVuZZCgSElrFkpxRNnBYGXYfKUyuranMnIJDDHZUlMBuQrWwBkbKerpitvmeGUzkFbOQAAnnYhpLuldlhfFQhQsNuoZnDBTPfbMMfnUoIWjgRgdDvpcXmndPgRzxEwdzgBbkOtvmfiUYlKQHeyDGwKhLIJXvnQLnKzJIcvbQElpiTezGLwYQWmAplUGDmaXMUBZbwEdygSXBVwxnWpDAYWCWoCYwwAXeYGJrdVFgnWyTIVWvakZLaKYHkbjVSRVxqXFKkVYOstGfDTUAgStbByxPkpjvukUKAqwCOIljMZDRJJvZVerfOwHjZtDOpa", "c_map_string_5":"MjbGFtddEtctDIVtxnedeRZZqYEDBzlWRNIofOyWkVcFamKnIVUakmXBMNrrqchKeauVDmwJPEWhnXNuoFTvaOxNJQVRSPbtALnEDyHSdmNNMbElaIWqpZPhtTeHqgLFFArlWmbXgZRWcxyEJOFuoyHagKrtpqqophHkIJFIryQgQAHOUYzgtIwdGgsGesLNsgmGhqaDEHZhithLsYgGABwhicZvjKSoRZqMSdRIfxfxFiegKpkWXXzvMeQADFrtClMbishydyAtyaUuLIAKXgIykpEwdkugevOcXTDdQfslSYMlNYwyVUwUnrFmOHBDkZrtBBZmfVTkchVNZNtqNXHtGfiuAKcneOUSnNRaSUFCQrhOAGrpeAQbsjHGikobWmeFvxqXlsnrHquiCzkxzEXZbjwXRZMMTjZZcagimPoXOaDMYleFiGDbCWmoChqjTcPGoZFygFhbzTFgvPtnpQBWxZYqVxVhrEAtJkesmjWkLmTxqMaxDrhWfEYWCBVW", "c_map_string_6":"ZyxYjTTQMRCYRzDUubdJiKoJciFZYsqkpPNspiqSvQvcnDPFcJDAFNjrFONznXWiSDzXUaaOTXrFZxNajfUXELAuAZnkJqZACGuHWMZMXHrersmkryjVDRjmIRZQoffcKmFnoePOOaKgvRlBJjUnQUkFoAdTsAJEhuQXrMXbQsnKjPGWmpWiSlrLHabZQGrSbgVtJLJRQcnMOWwTtBDRqihqyLllBhMjlAJwhxFtgLvAZzVcTJcdiXTgOEfBrxyFvcbvUNhjOLKZPYVzSiTJXYXJuhoTmThaQFIdGHOsNYYpLAfqgYXmNaOjQwgkBhqnpfaFaafeJZntsxzaLYfgpBZFfBjcxWRUNMemWaQsyEJAikwGNENcYobLZqJASXLYOYSGoTltltpjATJFtRLcLlAJCtbiUhDTeTzGEJqEzzuQYxBAbJPBpkVrWsmigvUxnCLxHhebvfloJOHqQnRuBjdizePIQDHoZqFolKHykXVWvSViGuffUitVsIQiybjJ", "c_map_string_7":"FCtPOTjtqnWPNhWjxzZMAHeagUfAcURampyNdzqcWrCUAoHlFUPCeRsHzkXcfRdSeNDxsvPquIVCqZoZfyyQvUauheCxCXlfLAIoFFSBSVLagkFmELOYlzlEHfgJPPCyOtlYYrcVfDokwkUaRbVKesFswTUuMRRrUpeLzSmpGyXbzWRhJukKYQqmVBPNIiHGrsWFQkqOhrLgeEbDJabiwtjuYxVKBnCZNLuUSbqXPDdVJMMJzTxScebSbDHLAuvSRnteRxVjTIKfwWppZooZwwWogtHsIRahwFKVBZzsopBwDokdfWRTDcwDHtoyBDdUiwzafxaZcGggWCXaAOiealYaiJMyiAkfunJFDjMjhljlubZSVVnGuvBOKaBUmzSEEHeODbYWorypMNEsKJcfreYwhaprxKXTteWBFXtxTTMuhrRXtwTrJOdkMAQxyGGqewpOaVlaRbqwVzJBXEPWRCHZlDcWhbNyqShHSrTQLugeVTaXvLZhfeiddIVbrStO", "c_map_string_8":"OWsWNmLoCiTcBFexADitXKepqqiajCcnsSoLrDhRPnrfLnvWsYBVRWKnFKfAhfftLbAbBHYMJFDmUqJTWfuNFfsKPWtQKdtRWFsOXwwqgmcjxIuzAIDZLANWHTGMprLbreOBQgfMJLXQMLuxzdFkAHzzoybPegIPwglYrYZtJIRiyxWPnGHreZmgARYhcAybmuaXXwOfTIJOLSSXilRMJQSTrZoflQqEaAriHpKtXSBpJRTvtLuAiGeSNRZMKoQwkIdJnVBtJPlfgYskvMcDmnJrjNBxHbwLmyAxNPQFDqDQtzaNhUSExBojnuooVQIwbpCkxKiGucLhXOSoIUGiIkvMaClLcmBsAzlkKUvvGsrUmHsxBwtnuozxjwzXYbhgLCEDuVmoRcJAJnsthDdcvCMFkvEGJLqjpZzSWHMZRBNBmYevEycYtvsLTQDtYIuChzHJWcuZfDCDMCJILjLfGTlQUwFtUIDDModvnUnqmoijbxSeTLYReffCoWljRpYi", "c_map_string_9":"QUqAikuggNvLOCIKSfrKSFEZlGPgyYOWaMrbSXKXIljPovwWxhKzXgAzVwbDVdrLjhbHFdKnVEjFKCTmbTAkNUlcxvrPnWIuMQzqbiaDnJwCWUUoyjmDhjILzDFGjFDdHQXXshDTfSWnwNZZBEHQplnjlbjYAGaYxAstNiLJKsnngFrdbJzTgqyVpaMOPFRvArlIgxEguAOyfyvtTODlJRSOfcxwnPpMBfQDTKVWzzVtDLoNFZOYHNzGWlnddmoRuoDJSbWSxNzcCGMdqKEHMJljauiEpMSVYQPyNQmJNTVmrjQLeAxPrFHSEpCRCnDSMdyySlmdhrkNVDBKpKjRiauakpHHswrvkxecwvWHNLotWGaEreJQhKJscWXuSLWKouKKptdLoBRVRroENvRKxkQdmROmqiIuSHWeAojviaCTRTanhxUxjyLmjKqrWUQbmTlIJggJbXByJcDKKUPeQVHYQCxIRoMXEuZSWNUWBfdeIrQGPmMsBSfmGPEEONIV", "c_map_string_10":"ckcMZGKeLEfsRxtzwNYAQlzMBQxXRCWpFfSQRGlIAYoXfVxFpKWGBcDeYQFwpQqeSmjRYaKYIlwfrvzWunLyEhzywXRgtTzguqMRtWBnnvAawzpEOcMUtCYGdYATqiCBNltRCKqxKsYKObzrQWFPMjRwXhkhbAObbWiWqpSPiBaUVzwIiVdkNUyzDmyVhPAskOLAzWMhrMHdZSyVRpnfXEynDMbGKphMTOpuSdPXaoZiEwRvEkxPlRLhbiKlBIjrEYRQzkWxMBWLADNmZeXfUdtJchHBNdLpKUMdznyabmfPIBocJNvyeUEJhjjQkjaKIsujOcdELGnZbxLvlrxzDmOVFkJNmTVGfGDEcKtIzOpCNNKmPFEChajRQlDCOQsRaUKGDfYkaWmtpJLSAiANNFIxJnvhhKpqmlBkeFDoekgXQjzvYkbNJyZdCBAITPVrtiPMEHRqEVEgQEiuqiKuSLxlxjixRSyaEsvkbbgTyvMzzAEzGlnjgguQNWRLSECh"},"c_map_date":{"c_map_date_1":"2017-02-09", "c_map_date_2":"2009-03-07", "c_map_date_3":"2010-08-05", "c_map_date_4":"2015-01-21", "c_map_date_5":"2010-05-02", "c_map_date_6":"2014-11-24", "c_map_date_7":"2001-08-26", "c_map_date_8":"2010-02-05", "c_map_date_9":"2015-10-08", "c_map_date_10":"2015-09-18"},"c_decimal":7.0805,"c_array_tinyint":[110, 21, 33, -98, -106, 111, -30, 125, 6, 36, 2, -46, 121, -125, 26, 31, -27, -78, 1, -103, -76, -56, 117, 85, 31],"c_array_char":["gPzAbAwkBw", "nyIwJnhjam", "bUpkmsSbSr", "QVnKiLFypQ", "DPVWGYuDFl", "FWbQBsxJIc", "YHiKaaPolV", "FkrHUHzKeY", "oJpXLzkowg", "HaUzLMiExu", "XNfQWTzlAf", "llrZQXVLos", "nOjYLqQzvE", "DcINhfNAtI", "OlfDdtSdDq", "pFvTLjBxTF", "PYZWJkoNhW", "IdRizpzIJS", "OlRepzTOxf", "DyHNWZPEYW", "PhuLRrXAfi", "iJKQWEZIbt", "MMCuDsBMqm", "bWcHjxSnrS", "tErcwhMWRz"],"c_array_ipv6":["MAudBJwYpy", "xulCDfWibD", "nnkkfwQJSX", "ISCaxZdamn", "qugZtrkvhE", "gvSksuuOox", "UlNdPUoDnP", "tVySxajnLr", "mmkskjDhJu", "peEBNvMCac", "euhJjLpZaB", "ipFpKFphHY", "sJNQznIMFL", "MToYtfrXmG", "gYnTsooHMc", "CJTLPehgYu", "BfRxjIvgyg", "vnDlreXIGO", "iQAYCHnoFV", "DOyzfjhMcY", "EUYYTIvvIK", "cwerjeJtQk", "KOHfMvHqpk", "CYGkkXwRNj", "beHWUFlwaS"],"c_map_int":{"c_map_int_1":-387761719, "c_map_int_2":-984160388, "c_map_int_3":-1376946711, "c_map_int_4":148545863, "c_map_int_5":1357754230, "c_map_int_6":637765931, "c_map_int_7":2135011807, "c_map_int_8":1852013616, "c_map_int_9":-225329938, "c_map_int_10":-229075215},"c_map_smallint":{"c_map_smallint_1":18293, "c_map_smallint_2":-2235, "c_map_smallint_3":28250, "c_map_smallint_4":-17940, "c_map_smallint_5":-19537, "c_map_smallint_6":24790, "c_map_smallint_7":-6080, "c_map_smallint_8":6468, "c_map_smallint_9":32753, "c_map_smallint_10":-9058},"c_int":2132606094,"c_varchar":"and","c_array_boolean":[1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0],"c_array_bigint":[-931540227621209568, -8317036356013597056, -5271673850839628999, -3157661390056237263, -3865224713969839629, -2858001911962441801, -8912499672907676131, -4146847590270871477, -300555101381940961, -8579525003229613250, -6869845502432431355, 4347981877766775523, 7219779734029488762, -5060459490606436472, -5923070550460648983, -8289065362467216296, -8791753824974067018, -9149380867749103468, 4713295101263366701, 4375829040442457542, 6421956214372298581, 6138044557837200973, 1692542906773022233, -3132045542608384153, -1016577607407890712],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_date":"2018-10-11","c_array_varchar":["oqRpGPGAvPyItGxfoWJowooNvyoHOWKfDgVgjIToTVpxUwNsbAhrtlmKGguBGzCHZhXZOyUHeTemxvuyzyuROHiWWiZnnauaMbdApRWCycBPGQwgbMYLppkAcvaFSNRoSlfJeZcHAqfjovTJkMTVVmMSdqCUbjwGpiQvHsGFjvPSDAaURdTmTwFPxQUgcHSWXGUELuEJoftJFNLeYgFJwsRnRobEmRYvanbuNbhPYqnfrehEbvodfsbWpsmkitJU", "ducvKKvHwrsxoHhAQMzKHbMduSUDcntevhuDxRqiTIWkQVZvpcRuSATjNgCfeAIuUuWiUxDuPgqwbtwIrSEhUBCFoANNqiNxbTerLHvcuFpVswTjbXXGxPygGsOCZtnmkKjYitbroVzYUPGQxfwJkFwhOnePVNovpIrUwKwPexjFHZcTiHKoEaSVffMXraXWathufWTVfQascRKqIXiptXqMBojdMHLLuNpvwMZUEkNxudgCvipLssyfFcCdmEgs", "SFDHjggMHJKoEqCJdhcBYQfVPVOTvUxLEfKQVwuNnqIdwLsLgmanNFVEqIRBfaUjweVrIZQJewlhCZdABsneQJPaQYRyjzEdLyGZeMezwgRepKaxztXymUCwSydSthtFPHnzbAzZUXTJbmqfhqoDMoqWNgjUafHpOHHUYeKljELXyhBiAJCUzHFwjqBhcjgCeRWifvJpltEoXJLzFbindZmoDyXsOoMAAVcaeGinKzYAuwWohfbKdNfvokQueTBi", "UBsxUDsGtlnxvlFLcyJzHynvOVwIKYwmmosLrEGhYjDdlJvSiyZYTwNgIfkIgJJefWdaBOprBLYADVXOorfEtAPCRWTTBwoScNvfPUPSuRBHcQBbGiedbdzdTFOMzsCwKhaGHZTnaGinesyvVeAcMrxlFAgOZPTxghMecmnJcYdwqXUAZzFWzcWQLPunpiKqlUxJmFfxoUmlvjLHkAaKXTFTGlEwPgknLehirpMTjgqRdwkxCYjWFiPlAdqPSNOd", "uDFLlaPvjdqBYQminbQBScUmRcrIbkKGqsYlSvudkVPgqTYDVGRspmkTZgKmLBOGKhzxINCOsJydbKJLLMwDBQkBdHyJCAjurotvLCKOhYoyDSmIqHhCUBeMmWGMOWlsUeMLeBxaOieMuPuMKabqYfSvTCuPyltDcKerHhjjJQaCUCLKocBQxSxQVNsasqgzYnNLFGeHTTkFeIVBcuxqIVZvondfHfBpVItSVPwmtFsmJFkhHDTxohlyQKRyABEK", "QwjQvOllMsTDYsshoVAqZpyexKTdoaPPUyjinZmbXdjQBifOHnrJAmCkBuYxFqVnkOYMwJYTghWgJpLHfhjPnUVEUcCtpFuLIARpqyAkNIhJNSclYAnywskFNOKVVsCMucobNCwyuoWHXRnqDSVJAMaYkIDMwCozQedkWvGWnCDscOPsPkEvfTenZDLKvKdPfIDbQwUiqDLYbWTEoBoyXmUcTLvTgtCrtgZmWHUqOwynYjFREGiFlOhqujHkgWMr", "PFcBiqCCCHSROGKWIrbzdetSesPlyWQGYYbDXQgxrjIHGJkUggtJMkoamuJntTtoAUHXSnhDgvCoYXFhSzRhSGDikEOFbZRvMdvafRbFZtVUmlWjYvrbSPZxMRPdolGUbKyIqBmrfPFHfrgVDjtALlukAJHMYSBjNbOkPADSoFsgMzqIMEmOkXjCfzGaYiURnWPqoyfJUOjJMJCEiUoUzLqttCMOoDetdeivFLIaNLzGXlihhkxAYGjtbDMwvCEz", "iptNiLZQPRgnJqdYohuLOgPGQXhGeSqeFbeWaQyIIBgPmNHvwbOnJXfnwXeCPrhefhiweizbNnuqbrwFNutCJYzWnUEdXCsSNjqIJxbcOeiuirwflMraDIJigCcxutOjpParzigsnOwLCxXUiAEoiVPGcovmPrRuguDGqJsSfNHoMJVEdlbYRmRkLGLubfgTkZRIoJowIogWCUfKSRzbSnGpPwikUeQLOtvDQlfbJtYtlTapZoobTYbkuSzhMpbq", "DEhVWxNyqftrSjZpNYJYoCkoKnBNPJmmWABzGuYauIjWRGaVnnjAfVleGfDBUlTPjsnhTQhjevArSNBJIBHXdpJmaOVOsdWxAeUrCZgyUfyPkOIQnHHnqslZwPEnwMBwzbywIdReoCwddpOFjJVJiJANpgMGWyywqgtfzaBgKdpefSRdiHGAEpCsZllLAHBnZGhStrTplQpHPCEFHhroKbOhtsbCmtljMCUIosVkNyDTsUbNQMDAGvhhmwRlQiCy", "YfiAJUpTTaZlrmntlCoGYgFvVsKiljZWRPATPwPhYklXXdBMspivwroVEptRlUMNqEKOcgyMmadxqjveJlCynFaGuvfGVSdglYQMjaDDOFPhtMzxjYwrMjyTfgJKIJEtkfoTXzbYlzDveuiWEmJEaYlABhkrGxWuNTePpqDLqSVPsFOrgLsuwYQgiukERzoCHuABPgVqcGDPzRoPKFBkviOWZvhYdQbgmAtsJkslRzKidosapspirfkiFDhcdQvR", "diKCPatrwAxXFOJpkPiTJapNjvWgBaorzpbVpmlBEQlcobueFxuPqsiTNhwdbOBOHnpGhOfgxnXpvtcGHYnavxUrbhZgOawxSoXHLwoSXUfAItfAShmKFcJYfKbyQWudBHaStQfQFsaIEUmctDeHgRQQYjDgKRMLjzQOAioPIpmhekAhCBXifIGZRzdnXczUpocwlXGqLNOGUZSuqcaQXmhJPHYCModIfNZXtuXKkZwbGCxlyAWZNyTyuYAuOWWa", "MLiCKnnJSYjIvXBvAlUtcWqwlawydJEzKxTxoCiAgptqZgprvxZsEufNBhXUuVxuxGTDCdJYRkforqQobDQsTtdAsoSEpPlpIaMqBPRcWAcQvQmuozQxvtvGOcpzQbjMPCuYYOpVYCHJKhvncuZZsgVLsZswelZbAcWSrBkqemoFtUZLutFczyOiSfUJTWhznVgTeNXQeliAVQqFzRKlYRyasvfQADRSCcnPXTcZtooWrJyxzPEpgLuBIeLOEsLA", "vectYArBZtyRVthHMmPtFiVdFoavvXexwONNVYtvkUUeoGdifNESiCPGusSPAkuTUwIOhJqBbVipkoWmKsnREoJUenesfTKZQnwvUMaSKPvWrmRxKTPweDpGLHnfdNPUvezMDIFIaQaMptDyWkXgxHEXTEvnYBuqjWxJJbzzIBhvQUvXdYzSKgEQjrdUoogKYtXgximcrthBXtYPQjVAUXYimpFQkSzvnLXOQSVkbTBzVXgySmVaVxJXjkbkdIsF", "JWLBjefBLmjDWxAGQRzWSLqgYOJLiBSOPTASptzRWpOGLcGkWvIkPghQPawhcToytjtdFXJiyOqniBbbDkFKzhnRmdYKhGJXMEwUSrpevlXzXyZYKEmBnuGIHljSorxlDrizuJNLjGDcTDLGOWhMhiIBfwfGmjdbUkPRmVTGsIRrSLVLkZtEblMbRTNrNmUYZxFtiYHoYcTBaGnVARcIDLwVZAkYEyKKxjjoRsEbmjPEbJPCSXzQnFjzPQSLUnmt", "haAINidrvddyMMuFFHIDQDOLcOPoMppewfFkhKsasYfkhfqapejCuDhWcovCOwhCAEoqAzNGFdLagUsKYvWxSLRVjHehAChTZxePByAcyTSagSziIgqRdvZSpstWDcedRXoCUzFiRALFWxVBYOTJspGvNCwtWmzbFnQMnLwsIckfOIvbMCkDUnoRRYXQqGLgEzvgoSRBwoYfFLPqkIuhXIHnlyVfgJWuXuAJNdMklHxSDDCvZcVtlyESwFvQiaGI", "fCKWmIMjqgczFYbrabslVCHbDzQLkBzciGtzijSoAwvnriXbkqOHWINMGtpkQfYCpxcqkkZkzOBclmZkxpabTiaDusWdKTpPOjkOSqfiQlsxYVSUukPmDUKXYDNVEzqWUvgFchZesYwdORvQTJOocdHYKMKDUIIpRNRbCGsQWIDrRsuDXGSzAMwuZeklvleYbFKPOgpUUqGFoLGwoLqtNusozAOtGFxYKeOVGtpEgYNZSzgdCTQDDwHCiMVPKSIq", "zbenQPOleERZImTPCVWWjvsnXgoLWZBrPuMfkuMGZTWYpcxHWOrzwowoHymBPvOCBUtUhHreiIaZUSgSlIkFHOdkDCnHWufuOcAsbrLDFobMaJmANwtetPZOtiGvpAsAMdSWhsgLwQGfILhIjZPePyDuHeOcGBBNVgVUVbyUcqxOgalAKPCmjChcyCfIXtSpufwpnReYHBMYhqbOheHhcoMzvbBvWVimBXiXtaLNaARsgPRrBUlkkCEnotBBWwiQ", "ObvdWbcjoUhFCrlWtHGGeIYLAvdYkkEmlYvjUDzkOxcgTajXwjrltdzEUhofRjPpgZDeMGGrdSiUrAGFekwCPFdlCKYHinkyPSfaMpzgJyZErACcTBAiqgCEygpomOmOpnLoGDWmWDRlEzdgqhIxvyuYfZBSHaWVqHqnlidWqGiDqESDZemXaDAFezUsdjTERjjdqRqJlvSSrRdGWoVQvXkUHhBddQZhArraZzeIUBQekSPYAknqYMZwxMEHthhZ", "oHEobTJDUMpRaVrJSCbjfIjyEPGtNIJuiQSdgKoYKgZYIboMvyffBvnZCWysNUJisspQopRkTBSUpFuwOvmkXIwJxkApnEuPYTojffolNeRDNNymbLhXIKCbsaUYcDXwiAIByylaNcGZiiGgSUtHJNCYLRDwccftPzYMuyTIfIjsaRFOkCxCsnoWJklNENajrbwlrLKAfZxpYuttvIDgYrCSqYnFSLRwWfUdOcrvwfwooCnFyYdPlUukreLbseRQ", "EFvQKRayUcXMFBYrbLdFBtcnkgSNKRHJDnlAnjktuQocPDiaSqPyCmOGUUENARQKGXrfZNhCkSwXeYSrGhFZbIQESsXqrUWoArxHAzeyUArWOmvDDzDjFRiWxtlgrJlBxqKCHFnYBLnOtbxGMOUQtIMDOpfCbaJikkpYYfSKdYXJgiuFTLWjSxlgPKadrFbkXnUyuejhHMIMeeHsNbMTfvBENLrnncODffLXqEaxQAOgaUlYSAVnBWTLfYBlVUcA", "NiGEtLMYnztYbDPXbCcxMkEdPdPaspJzFtVwVsYLYMwnAPrxOldUaOyijzzVstxgUygtIzdYunWaRCJvgglxFxCQQpWGgbbuFuhWZtzyrZfxsUxMPSGQcvTjDCHpUkUQCSihXxQnBleUyCbYjkyLFxDxpsLwJJUqpJvcsKFVfJWZYbsqrHbUSowKGjiGMjIBrlMwYEOklnRXDmrAIMmQxOWgDdVNUCSmTBliKSsZAnQdmHehjCxSJFuZaMqcfSbp", "OLeozUWzDzfsCUcGQFJmRynJiplJOTkoIwiKPOSDtIKsqnlYADFjOWZTlhlGMbyMbiGBkGJMyyLCNMtuVkYqZgxGZERTjDgUKUYoraOHmfAmppjTAdLPPiUkGqBBiNtHQTVjIftGJXqNKcwOvSCmePRmqiCDPcWABnIwXlwoKLMnwHOttRFHZzLyzJWZyEZOgFmbgJZpePNrnFemEbjOWSmXTDXKpKvcTXgdUgfySOQXXyFSrysNTwjNhjIiOuuQ", "veYECvSzBowevRrCjIVpWpsLOtehybkriosQgcvjRrfexdGdRpoqsIPCkMCYqaGeYTINgUFsHLsGjcEyQaWPGvdCFdFALFbXnHkyIETYEsNAJbIxoquBTOGaZEfssVUdwfzhBRQRKmwzhJqrjFsMZQkfUMEwDYaHyVtyKrsLxAqlxtPCkCYXuDWXZQYKpEvancaphbxBUEEHrZZiUZgjIuLROXOJievucZKrnjywrfMDWihMPZdnRhZzjqzRJYVK", "vEHcIPfyDDcMQIQEXJhpcaKMqQJJXGcjPyXYGWmHWjqoYVvbGbqOGkgbQGpOlQJCcMQdVgPsfNaYXXeIYYevoKvuDshKbxUpKxRHWVQanMgjkgOhneylGKYWgwyVfhpKjwuVwaTMCxVcuonBlXPZOTcLpAJRbbyeesSqFTlUaGrYQzTwhpjMIubnohjBXZczxGLkZVnxfKqQVjMHqKgJySpluPfmlZEPAjoLQcqymYfYQqAACNQhOoiOhcMjZGBk", "FzJuvsUIXDobNYEizajUEEKeugmIWCSxaZcdOMwQZzGsjPBQbdXCOTnRpKlBotUfksRbUkrytSnmcMPiBHSjGBSrEmFrCnpNqZHFzdZBSTyQDLxYHEIsfZsnwxRXjfwXbRlztjRCRNWDhASkdqlDVvuBWcsTfLpGNsMxEAlVCOvbBpyoWxiDlwFJWkMrnQVTuqqJrcqcSHtwFZxKoxknIveyToDzAKxmDgeaFEXoLAeKzIrnqPWLtVfzczTahQgb"],"c_map_float":{"c_map_float_1":98.0391, "c_map_float_2":55.53158, "c_map_float_3":44.918503, "c_map_float_4":31.282747, "c_map_float_5":33.09738, "c_map_float_6":73.931625, "c_map_float_7":53.620346, "c_map_float_8":12.959946, "c_map_float_9":62.283768, "c_map_float_10":28.309107},"c_json":{"celebritysport":"Annika Sörenstam","adjectiveproper":"Taiwanese","prepositiondouble":"outside of","hackerabbreviation":"JBOD","middlename":"Kate","error":{},"color":"WhiteSmoke","hexcolor":"#7fdef4","minecraftbiome":"beach","minecraftweapon":"trident","errorgrpc":{}} }','{ "c_array_string":["VforsczOEmflIzLgZEVTikUuXZKdWnEqOHzxFxhkKNbKpyTLBkLIEiUOygYchMAOmiWZoYQbezAIZpeiEzwawBPYumtDBeRlmxXSGxIFrpFuXvRtaqbfGVLrsFsXSZvrkRdJUucAcfntsLBxfShLsGBRAXTdaWkGrTUYeirvOUpyFVtmtTzFYZrfthjpWkqvUlkqkuEfROOHsiQKNplcmffySCcczgfDxBlVsUDdxWEiLXkVpynlllkPisUoqXNHitDxtWCdjowhFDYVNeumjFKKVFgbhaklqzwBNwGMhUiNfUFZAJUDOKRpmfQKMLWBUQbnsVlTrBFuLPWqiLdkQerCdzLzxyJRrKDBZtUtOZefdgkzKgmiVzxAsppUdgegpKoMkLHiCnkTOxLDuHRoXMIiSzlFnXGeYngEybOHfSAixeSWCQOUgwmxajcZdLQpWXqpEFaRtfVBNuWABSJyFzhVwbsdrTrakwJvFsyxODrZlHREqorXZefuETeLQSSw", "AKWvFRzegrExwqShDJrmxuHzGIbebwWegvfpdgBuENjmehIuZBjWMWxfGgRkFOBvjzvlrLLwLSipSYzSkFUQdHLslIxIwNctVypehBMzccsjPAVbEjGfpcSPKkinHuXArSXhCjPapElFYMtrlTtAXapMjMEElnFDjPycOHCwXVcOiLrGEzALdEsNANaNcPqYlKSZLjVYZbpGsVTGNVTAxIUjBFLJzVVqwRTYWteIdBnKCJoftDMcNvxTmsbQRsPvYUFFMnAFJKzkWyndUQoWhUebKhNeFqpdkjnjYeYYQUbpJuEBszAcJFjQWjOVPEfbAVZluobeJIZqXmOsEJbZGvBjotImFpUCGHQGYZeFxPnZKNMzHKfoAUFbIppolUiokNOArvXxptJCvqCfPpTFqgEOQayujTbWjSjHbEMrbvyiNZoozihniIrzDrwIwsJEsdfbPdxyfGDqeCqtVlltzBUCculXiVqYLaopdCejwhZGNFPJFiihSKkgDnephBeR", "iKFlqpjoJUHwOkbCEldQhDIZedTjxYjUSHeEvJDyicQNdfHHKRuALCoqYUvKWcLJCEzaBbAIjtROPHZcFzsrtTlHNjBaSwdYDRkfcrUtdWVboeSsugblrShjApMkBMYDDdFVOuokrNtlzdtKGbXRhtmBIAPtzVTvAEOTGAudVhBguRAMvpcWVzDxQOQrHWZuaNiiLjFLhAIrHdZiQMaxZvkZvPHaPmPjSRVRAJebmjfumELREwXtRPhvTAuScLWPXJBDqQPkTsgQuPzxvBPnnLGspUmAwlNcLebbcboxyghaHdEeAsICxWgKiwvUClQnjWHqAtZrdopbCNQFAvoKrTyjwHocLbWYZJlGBchLzbeRIFJFnrIhzofGWzzXKoeibbYIiOwWBPUEnzodlNraqxHQZzKArKWhcFHXYzCEtJSZgcsPqSipPVwVZXdEXxVCWRzpnvskQRuSJeeEmcrJNeWMQWgrQBOvJQHKfFKSGpdsylAZiiXgnvnGnMQfYLJn", "LGcTqeCXNuMKBTBBrJxPiyzddgiqIRQNvWTJLVdKcoJJozHzwIVYadOZesnRKSMNuLJHoftPqIsRdYogFXzynbbPYzESdyGBVEONWIcsSRUfNxgJHydvWdOugEpVJocRgmLLBlDLQCNqQHzXsBZBiHlWmTaHDvBUYyHPSsepnjqUjBgSkfqyXjhnEZQDmrWMQeQeCikNfSnfPOlEEsUzjdzgwuppEVFIvGelHYPFjRmriyNQGQRIMFnCEUzrmoPToOUJXjEwTblgHexwtUnFxNJLYAdqGEsjwJKyhgjdYODGMOTLXoMDOmueFIinEceCgFjALDSsFDbqByUArGBYKpNbGOkDOhMhscdPQTlZtsPzwQwZEXRvWpSmMIydeACPSsdFXLCOtFsPYFQEIsNkHHxRgAcBVPesuCwkGzTeXawusvrborqVMDbgEoJVqOZgWZYqiIedplVUXOMosReZbEvwhxiildIfasVxvPccwAqixVYIuNrPbViznMOpqYXd", "NsMLdAASTpmWIHCzBVSPIHWtwWYKcPnVdAmEUGjKSuMyEhPAZDUXdgmpyPVhkdflvpYrnEHHenjXvJbzeELqHinTJxanyrpffIXulrBKJNbJzxnqCYDWDWLhHXgfubaeQhqbAqzOwJdfecTYQFqeumSVhRJIJbsuYjIoXonfBmwbELYoGLuxquncAZNAscXkpOLRSlnmiywWcOVGACrScrsyDCqmROuLzkCJOdhpfusSwRzSAGbJGTOcYXtUUAzbIuRwkucdRenwBpxRqzdFhyxilhRVNrWGAidMTXoRpzJiSclIsHnlXEhDcusmpOBUTGcOQqPyyncEPIdNlOcQcsUrUNwzVvqlnIsSTvHEAReYBcMEqorIDkwPlgefcWtDdIOmxGVlruznFILJhwTVxMAmdKmpWDaGDRAqeYfqQomeUcUXkWcAkHspyJZOWLaAdzJYMvSNMqNNvWgVnepLhxMcEfIlBrniTMqRarStkhlvRcLkGTEqJaDzEXnUXQyb", "teUlPLgeWeKlVUBEoCSAldBmlypbhewrUoxQtOwbAWxJgVNiOdSwGHPZpIbFJfXXRgxjuiWLdrplGJTkcJvcTiFHfpgSHanrMaWnKImUcbFAytToFDZitamzguJhJyEOAoZwwPJjFCrlZxBLLsJFhwFwIddGIYUkPDGpEOhFgHXbBcVaRDwXNXRBMBJcOEHZttyyPypyOsEKRTbnjXapFtmwzhRAIQkPRveKHvIPynStfTpMeLLKdWioOLHKZZTMsFOYESNsyaBdXkAMmrsdROcsxtvvCUWDNVSRiKnQtIZXzRHQsCUgouJiKQAMRMEhkpAIPwVCqyCEzAyLiqxqPupJpBOkabFaDPskAlILaoKHdHklXFvXkmJsvKHKyqurRvFoHxyqXRkExCWGbLzEMXTsOwvMBZcjQUlomeHkZnPRJfkRieaxwxxKwbuJpcVaDBDjMZjjBaRvQbxFijUEjkstWANbvXlMSsUcEByfWdePOaFZddOzVJFLrTWynWDp", "COmUxznExADEZcvKbSeSreuOVRSepfYzQBOEXhIgJAOQYXaddxlFZqEBEDsNaTdlvAyNAglcKtTrCjeuIByYWKQQlkQGQMpgmwlSexgIiNRkKZNhsJJJdMajWVYKJdBTFFKplMbItKYYHmNaGILZxPRwQgJygCahPPyBiQkmyiqcAFNszgdfvKwMSZrTRQvCdENJQuGrVAbbfBxbdgKoFSFVWOEYqQsSkapHhHybVBVyrYqqOjtQNkcqQAPSQoSjMObdWOpZiegfZLQvRqqxCMoPBrPTxGpJxGllBROunAvaglvrmmQxtmRkrrpySgnvnbWxCpQRoLKtZkTwAgtumeDKgGDKzajptmLLVmEOKnEiHHGERHEczVvJzBRYrVeEvQLJrvspbnHlfakbuBPMAGzCTjQDwXAqGBPRwZkxeygxZcYsvggyMZuoCfoVjQnpGEqBbXJhMVvVnSHfDWfWtoHQswffsYyFOZwYZIojJsSxDFjcKRtvIziVSxCpKZGy", "WIfklRRFysoiREJMHqFSRsLaGdmWTXkkczTIQHKegdSPtYGgbXTwIwgdBgeNZWTXcztFlvHPLAOIHgHIRyLepJhGHAbsOVNkQfcSBdcoDHWwnySIAOFYMyJjmKadsSdyVpCRFlsemtGPzdFMWBcHpJlGywIHoACgCwMXxwvPHnaothcPhaxwQvyeEsxyoyioOKXAlCQgpowEFReKMOhuKfHGUnBEdiuEsOnYLYFjWjgIHYdcmMvhuLzpfHmcTUZcSqVWqMqNMXtdYZyBycZXnpTjvWsbhPYDClZYBXryKOsVTLiqkCBXGgFpLqyJostTnUtoAHEpKZZvbLVuyokbJCmsnbseLWqBSeaYYDpUVKiuDsuLPvnxLYgwMUYSZvDngrbcCtkVAqezWkvNFsRnWLGPAlKnhDcekSIiFrNnEZnqrGhaacmgnwTYKkGekeIlRAjmXJPPoRprMTBUIsIGogArcJZrTMxkSbawToZjjFUowJFCTisEGBqbeQychlaK", "MmjHQFOnYtBRNZlYNghlWxkypDsunDShxzERPZPopgbOrGPBpIajGmKnuUFIZKBPhZTFOtDnagRTKcAqwpdhkjemtidSyAiuCXNTnAmYgpHlFRiNLPaNkGOHkeKkFKxHZbZPhnkDBgoVsxAPUShLFfRwIsdmVFHQuDqDFalFepGTSrCuRMhefnNfLaTPZsRsKTJTcBHLrYPEoTkIFFqvqdffmNiwbdSPadWJuRfajzgYqTohLcnuJJdWOqnzFvvlfNhLYrqFNGuVwRYSxBJcsgDHMmccgrIneJEygEaQrdsaUfbGtERxhnYPqwOsSoVZTQTaHLEFtlVuMezBNZUVYBAHcZnfEoMlByxCtFztyqDEgQTcdIonlJxgZgeKQOltiAxiJvtrkpMnEwpiChbBRLBeSZQZeqqrbscWtjXmfmQxDqPBCVUBvDHjSsEHdlBxACKbvcMcWfnkVlvRTMpjNCgEUQKCXTonsxvIbDnNGqAZFzEcZGhXOhAjqIfWGAGb", "noottPMcQCGqsiLuIrZcXfcBehansNIUOXQboAdCadgqAAMzJYLNqYcfPHoJyGUURohawIOyOgkjMKQpreNVfRrFcHreIpIJbrXykdVSrGHXJRypdOtUVErcSmrahbbBxgfvXLbfDHRflITNewXHEfPjGXssiKfdYDzpsSxgjQjHHpeGNeUnsMkaNdjvbEKjhnWpyMnztQwtPGpchGxeHwzjNtLsoPilNdFpqSzJSELdjkrGcfOmcCAcWjQQMExneWXkbvhwDxuRMXNQgwZOWrfjHyUbTYRVlgftBvlQlozPPFXpoeMLpRLrpvVPcusCDhtDWtLjYWZQcwoKkaJOJRAfIVXEaEOlMCkEJEXMzeNzPSNPkSdeyOCgAfGRiibBgdalKryjSaqOBqPxijPSHQtcrkQFsHwgFkZBkEQVaYbLJtBiIaBRwfbojDBlnkwfgVmMqXGrnhhjVlRzIQSLVoYyJtWpYkerfLKzllGMIVQcYmOOGOLGFRnvZtfabRcT", "ILQmWHxdeWUDzJdsTpZDrSSWrRRtSdhZIJQFoNqvOgTvDtGEJFbEfzlawTkdgiyhfhQJBMqqohxQTxenyfYqdaCTpIWmwMGptBzMpLuOfvJEBKrpUkSPfToQEKRUZJcPtlVYTgfveNcShHubKwoBBofukeXGHfdxnUVbmGlvksIalhFIUhmRJhlgIxKjglPcBtNSlyHnPjIbIpvCXXYYacUAVtxDTahYgFtiPLTIKRMawoSlEMKoLCPVLgiHAUhBYluEwBSseyvveqxqhbPybeZoiwPuLaewDqLmQzXJhGsonYoeDwxRxJoREAyDPyRLIjQxIDJYcKlLyQcpEktXIWiFFraiEvisQHCbCvBreFSvwzZPNBxzDOWKmsDkpCUUpZUHvhmVucbqYtkzRsNAFcrToCjIcxhQrwfRNunXXeTZRNcnMqCVuKjIOfhcbrRfgcbJHlsEtTqeWXKnKRbyCRbZwDxjPyIZIgUOncAPWHVrLBsSMUhPPrGUugpZLyTP", "YREzyHVrtutGHxpOQYLTdldFzaIeyCHMXaPpJrQShxGFOLgEMzputZwzHeFzMuzpMExTImzxFsxULnIYgoKjIPTJgIAbGkIClQpYBOEBumIDBddFkxnFlXEzltlUeHOkuyENwHRLCMsiGajfSoUZbWcVqInzZdxodWvmsdWFirLBwFWeRHQIqEZpSqdSnIRcKpzmmSevGwtbgCtuMsSVtDelxoVyZqqJQwlhymcHNYMIbzanskXnxVRZDMyQaRfrsJeRCPuapUPtAjRGQdzqgdoXtlWSHhIluGTjYSWdDoPPtGxwUUnUOcHckYmSaYOqxLGoKUdSqKpcstHWVypkirqeWXpKYoUKvqpmJAZhCfbWSCsIAPtQdVwaidaoeSgOYVDOGRjsIgFplhLiMpoFiLqJWLIspXbdIRndhTTPYuYPTKZhZelWvcqCxXQFOKAKVJANaFrXwvuICTRcPdTXBCcYRqpZohVuTcBcgccaKsfcptIwsqCYcmLTdfxfRdLi", "IYJnbEiyPsxLqfxYUcMBgSujWJtSqnDrHwhMhoswhMlgPYaNycXMOFzGZDzuIWQJwBBMkbyOHAqnAsLIVtqvFONHWoQLuxQTMjzVIbvxDGvYmvrmOCPBdKEBlSXjYLPrNeQEoWdwZYuBJpQXCyuogppzvBzJvaGfDJQAStQinLgBiHEWiJksUlikNfohVdYwaGrtZaZpvEBjNwMiapsyFDiOyDqsjxnqDprYDaNzOqNVpcqnfYHwIlkwvhVIYOuAOdHbCOijpWhkYnforGsMijTfuQIzesHrojORPvOuzzsQsWpPWrrpgiOkAOzoALGcYcFwqphDSPzVBaEGpHRmgVTgDMcFfDXdhxYXZaBuyEvscRVdlQVEVrYoHeJsLcIQjLSBqPfSqwNUpEhQCUrhnzhypNCNINHtwJHIYstmuuHlKvjJtDFyZRdBofPSgkhPrPiyXaxSqiNfHUvukvnGVLOWgKVZqFbhbhtJqiiwPuVBKLaaqIPlatEgANFymBLt", "RJgxWPocEfFTLDnQiHvXyBSsORmIKXwljqXrjnQfsSeVqAkkAYSeUKHYnIHkWeqapwnrmxfKlDhusmMXUHiKsliWzyewxWHzijuKkRAeyLBjVhciLrBRUniUahpZlQQlcsIkaXMeSRyzDamcpHKyYirxKjswPStLITWrtaKSDxfYJjJZenqaIFUBIghsFMbFwcPDLouZVDGlSBkcmMtTugNhnufNKEpqgSFcAPIXugttPAkTFVHyrgUIiHPaQVrfGLPMoTUeVbdImNkWqomlbAGIcXSBvgCINQeDnldqXejlHOwaJdbhlgNlFaGbdsXVGQihxvvaZuyczdbivoKxjEmLANkmpznNBoFwAtWyWllewrIqBjEfYctVtSstxgrqeJZlUPxhgdUGZDFrCgHgWNfNEIQWTXKaXZplTjKtqhOFMwiBicfGROQfXTJPOFViBeIImRLFfUGkZrkqKCkAMdVxEgFFelxQZEvdPbUJBUDvcomwaViEKOXeaVyWXBwT", "QcfbSOJfApjiMJIqXblMssAPVhWYuYjWKKEFNfuooamaPZKVVyrKdwyKAchfuYqqlKwKBrtETJGLjgwQrfPhqbHNbwTdxLxqOXwsNazGPhWGppCWbSWYmitgHgHhzKLcgSEQkKawzwvhtvXStAlVHvUcHWqMMgHhZKPXddzByuOOgMHJErPDDuBMUpKqywhwhMvgyZcvIpoBsZFqgsuPMfunbBhGMcDZXMUypUzUoktbPyiRYiannLVKxkYRJmXtiHXJATHnFdXjWDmODzCWqLnSUmYVitBkeLqaDjEvPDNZPOPPJXKkrrmWNSvFFkISxQgpGwjJOIhdsMNvfflazmmnfqiFpslPKdgRgngIAKUojGTlLUbOiqBkYzvmRxFEGQBHrLKzRsVXyJMOiBTKaJbgeBBSBeytFErAknnNKomXNdNLYbAqEOupcSArCiFFbcLYtlAWUdIAFeHUCZHnjENjulTpnvUUqNFbXWzkhuSWvoxGGIZRASyWFoYxdCbt", "megnbrlzWzxiglikbIFTDYAUDfTlgiBPHprvQYTDTtSyfyXspKGppVcIDFIKFrYJrNwtunfNYIgCDrXHWQkbEyvjqmmbEhPSJvUDePYHRsNJFUbPnycHzQGlArcGqqDoRRNhEJONqnqKSzeqfXzaiMKrAwaigMpKKFESigzyxhoMWDUgimBfpwvegVwFgAHQcNbhJqVObHjQsVubLstbHMantFBDyhXsqOOXCkTUmheOjXRtmGWGbmsMbExHTgjlMVDQoeTBGqgiehZBDwoKwlYNklVqIVkreYdzUkJCzpnNHfAExJEGMfPaWSefOBnJhcqAyXgpNCrNoHtlDBAHxJlqvsxBLjYLXMzxOCsFFLOfHHBGJNbsITAXfUDFyVtLuOokUTIWltOjmpjCiIawCdNVnjtHfWezKlNQHIXrDsugOOTVukPWeryPnqzfQvPvOvVjlSDLGloVQYdpGzLLGedtCMXEuYwhbCHyMkVYiIRdgqJJaDELQmNgnKTjocPy", "aVdLSjcueoUoUlOXBZFzGyAFQWxOmdKFrjxMVTJACmprzEsdlUmoaKRCdMSwjfxxOxBeqnrgqpZrYefXmigxAMBXSvCiIXUfHrTMDJgCppMUsWtVVyDVscwfFEqULzywIalLTIgnqWyUyDZhdiYoEpjAqoBQaQiWYNNAaMBgWtrBWddmUmwPuxYLxnQGbwOkWVyLHGwWyJHstXsdsDKPatmpAZHKRRtPzwiDpRlbnUlxHzHUDQtAzIMymwVWsRSDVJvWbheSbaHUGhTdVxNqHXFRctValhiBJBflBZQbtxNpJaDBwigEYSXsDVjIkxRsccDAjgZAAaPysJkEgVwaFWPCIHckUcjFKhxqJYRtaByovmRLCPYWaCqOrXyGBuqsatVthrMbYjkacQbvQjnNPZPodRWWrRksAtwQmzRtYnUynvAZYQKtZHdrftqyVRQXWPxXoBDzDtSsrwfBvgzhbYGrrLbihidgiZkpLgeuNXlGaGSQlCaIjCHGzBZAnEGB", "TgCdQnOULapPMaYvTufMAQjYoHCUreoBEDXLbBDjlssSumRDBdBkoCZHQaOISvnnCdyRCZvelIdpBfYCoHrujKdInrGELPsvlobYYroRhgfhOnyZAOXefzIYCejRxoiOmACDfysYOAVtxomtTuunrVFVYiTiJRvLMEtctcnlYDkvpymDCISFHVhRJUQTTxzZeFuTVOJDlkSNeKgoqhGBNPAxkoOlSWdFjOIWVwDRMuaXPlZNomIGlCLZChSUwxvWjluqMpHQhwQjVDmpKaugRugVjjjXGhsYwAKTcNBkeOdhWjngUlBfVoAHhvJNtGknrpDUTgbsGuSbrbZhIYWeCnHaoIVBmNUVotfEtASXYUZHcLjdvoHKJPdDkzWUpmMYBNflKxYTvuMBbvWSUbPSdiGSEbtYDkFzaYErhozMQXGCWhGlfpSGErbSuTBJDXmknAtWiomrTdDYRmDiSXFZvMEsTrmRFYRgQPBfiqsEGZgmmCHeMxiHPFyQhUCOUnoY", "hwvZOukhKHBEkDtdRqumoLqHksqWRPvgkMhCRubuvxjtxPvBtqhOqzuhhyJvrRRRXEqOusDATWCEglYlYgzMInrllDpfCKLzdKwjiFrfmrrykwxLQRidGnOOxPhUpPZDnMNsjlikpibkFnoGiwmfqtvqJvbLnoxYuaibwNQZclTnWrfvIMdfVsXOcqRdOZcuEupeqncZOhOVBLdqDWCmuylpQTXbOnXPZYuvCmnMfiOmqCiDvPVUbhcQObtBLEOvSfJLgqpVgiulObMnnbsfaZMfhmEIYzGrsyHlbLUQxNGwhFBBNLWTpfGoevyBOglONrEomLupeGlBWYarXGLiDWdbGjxQbGlPMERtqcCZbhDSbgmLjAETlyRGyTklDGedunGMEsOkMeLVmpQNgMkeENIZhOsXUNTXYwBoOjStzyaNZWuCEviOQNUXbfvWibdqUuPNeLTQUECnPvUkMYyngRnPaJJZxsMJnRgauAnTywekAAhIrbDxzTRcrOjaIJEr", "iTWKdvQiRaJuYkeeirZQmBTxdkrlgDWSfumIogjYEtCJiKfqHkKCOZoBAvbxaFqcWyuUGOzxBQgeSKrtbUwyObEboXnvGNYoybVLNlmLXPgMftyWGQDdDyRjHYDYxoCrZjWXmWfYzVEViejrZYHTdvCtcDcXzoaYCDKDgqGotLUFbumbFIfDhwqEcGRnLTWkoggSYAiBibeABqqPMobCfBtFNMlGndkYagOlBCkQDlmMsZKMMzWyfTGlLwAtePdYTGjXSHPMMUMNbJTxcScBoByeUTuGyYSpNEoRdTPYbZpQSDIqLTEjOnGKEhsvDODNYPukXDBMbGwabjVJEQMjZvwvBghdjDgJaYyOSgKwBWikCIElUgeCSjfccdkvJNeGwWIaQEciEuYoXdeZsouOkaLuxpefCsviKbRlwVmgUsLqPamdFiuAsHglcPTWSjoaTcHvFXEYGkMkgxQGUfwJRfKUwKWUMLfozpOWYAwHQoaqJpEGXuHFtlKFHgZxplxt", "SbjgWgOQBkEvUVDTBFGvFdhjwfDNfClTRhIebAVBsfSeeyfXwmebaPkBzgOzLUDuGpxzXvCAmihnnPZBkLbTykfNeoFeDhRwHbLIAFOqbhBmyxirlVPaUGPfLxzImFaBwjyavDqPozfQNVoDKayGPPGiamoiQAibiMdLOHghKVIKpgBMadMTHUuBphYaMGshPHmINbUJpWIWACIyrcvHamIijeUudXJQrTOqFboMEchadSgGxTNUkorKJkBOMNAYFXlQhyDUNMYDPvsDDbbpDbtAjrIkSgcLLPiTrXEBmQTlRsaulNSleUdnkEqncDLLuKxGFCyYvKMxKuumVlWsdJvHGElRTaGiVCYJDEIjPkNhMVGzOcWPNmKiSywbEkXzZEXHTgrNntjghIqXfoAJcHbiasoAnyuscvGbMSLWJiJbUrsutnBxVFSwIVBVNfJzIUyCsBXNBheQgWYsnMiXiqKepmiAHUEmEfWWhqziBnMAcFomkBOvhEsaPpAndOBr", "AaanweTWJHYoTkiRlFvEMadzXSIHDetHmoFQoHsWPeOGLLlVdkEfGeqUGCIKgildYDSuBKUDxUlUIOdqBXtfPzFINeUlSdWzSjVydZZPxVWWRKDHUCdhruQuQUBKUNLoJuFcgzQrGfFwecngitHshmEHzWOBqpGIMfHpFPuWpswVDfFOFHPeibBQsCQqhiQnDhQCyVnJoCeSMkULzxkSUXiMESQuBFsfHokfqOhhoixlpzPzjwjqhqiyQLANhOOrnMNfopwqaJemOMAhYrOmHcirOTAiaBtWpBCcQHWPLpoxJbUyPBlSjOEPNSgXIHtnufpsDmRHNYyoCOxCjJgrzWfxZjUldnflfyzlGdvSlHPdkOvXqKcPgZYjhepVgBLXbnPwyGKNdPyZPaffEUNYKLemYAiQlEwtidzYseSOSmjgxnlMEdLGUBleDxYZtIcnGgCRVQwEXMpFsECGLBegQkxfsbVbGxsNohFmrPOgDWPUhrrjreUQOZGpHrIyUlhE", "BCEJefrUbeLfDlPNKpLYBmOFyevykMAeknSjnLqItshdZLVkBzhTMXlGBysSJNirPvnDZqaKVleOXwJIlmFCKCKzDptcwSztjmvwypTVVGgTkDtZUFABIzMEjZLVDYnAgrArBUThTXsPlALkFRYgbFEHvOkrJZTgNFzjFWRDXwoZnQZVXqhLvAUBycPZCSLXIXSgqCjaNgPlWOUhgdwWLKXLCbClPLyhIsoDBrKlnvsAAlTIwGFQqQJIjpeSrELsigaiwjvAMiUDZvfbITqOTZCqUHCGqEJjyfuXZUaqOXkHCijUypXhcgAYJHeDFVntCpSYKDyLWMvRIHXUsEjaFsAJlFfoxvPgmmzArnigzdiTWfTPbrbhVcLeaONeITwyyEIPwKalNRtcqysxijVURjHeFUUBVhuLrKbwWVFYWfiCHBEFCdgLvZpspjfqwnzMJMaYtOwZekvpoPCXfKtgUyTDZOSpqKFebHvICkjLBZAGDMWsJaiCmCuKBVcFIvTt", "jQtesLOGUKPcnLatanNUqXqNsKsyXKnMqQeJLYXXHCRqVTjJenVSRjGZaprrGlTKPyJsdhZOuAFMoLQTddOZqwsUgtQILNISAEVhpvTViQIhucIAClvQHqZeFMrEcFgmZMIWdAcRCglTrSGpUFXnmAzMsWzrueMykXpllDpATQXHiBeaVTlWMptIYTBZeevqBEoiEIKszpeFFmddALOOLWSuyJgldBWKTHRBdBKHBwNpCsgcWNXsQYbxooahpIJwRzOUNDcOwdtdwNBlDQmgWwPveTwAwoIyEttDTemrmxblWYQfTOQvZWNUFMBpiRvXnNialzJNclZdNOnRfBPtsdEwYvImbhGtSqRPBCBqTJYNXGRhPPnOKBJXiGWCSUPLOtbuvGKdJPxehCSzbBhJnedGhpYxLXKKgcYBGBccdnBpqeQqwUJIyLanvtCZfgzPjDIOeZIgFojNLVSoVgbNjPkVqovdJDKAULpxyXeVfObFWHJQmyAlggiBWmLqAeSn", "bBsZoisvEFiLoYEekIHfepRwClzZkAPkZhRjTXxkzbmMACboVBZVkLtmutAcCmqXYsuDzDiFEKmollOfnfeNrwbgLgSjePeJMgwwfPESuwJiAAkZhvLfUYtcrvKFfhwXGSYozesFMoajYbOTyfUXmsckwCYmhQBJeRPitmjwyVUPixZYkXvaPAZlYybWZbSxDpRDZLNIDyXqDdNWZLupvhoBWQRNzKYoqpcyHZIFXlWMvjwzeXVQNdKIPVNfUMsCElqjqpScHCgUAYGDLeLuLmxlYeDWrOTNfLZStnEgyvEtvKRYCwZmuNKjJATvJiqyCHQMrnGakAsWqRCspaDfQCXdexFfJBEWeLeEagAeaddYyQpNYRukmjdjthANttgAdtBgOWiWARbkKSoGXiNjqEuwNxgnaFLXAsEITAvUvKkQzkdHOPazEKxnNsALzlaaaunsDBbGlSNvgXnOTfWyPKVYToLQlsVyxvFxEGRnhQDTCDTFOjtLXzyuXAiHxyoJ"],"c_array_datetime":["2014-02-04 08:31:33", "2013-07-14 20:20:17", "2005-12-27 16:37:35", "2017-10-22 09:48:14", "2008-09-12 06:24:22", "2018-05-09 07:29:34", "2002-01-09 15:25:34", "2018-08-21 07:00:04", "2007-08-16 16:25:02", "2009-06-07 20:54:30", "2019-06-07 14:14:25", "2004-10-17 00:04:33", "2003-11-13 13:46:02", "2009-06-04 16:20:33", "2012-09-20 00:55:01", "2015-09-06 12:01:38", "2013-05-02 16:03:05", "2001-02-19 14:03:28", "2019-04-11 02:07:23", "2017-07-10 23:00:23", "2006-09-08 22:27:03", "2007-02-01 21:09:57", "2013-05-28 05:11:00", "2010-06-13 06:43:44", "2000-08-04 14:26:48"],"c_map_int":{"c_map_int_1":-726672290, "c_map_int_2":427952890, "c_map_int_3":624643461, "c_map_int_4":2135249492, "c_map_int_5":609965294, "c_map_int_6":217545817, "c_map_int_7":1604148726, "c_map_int_8":303176051, "c_map_int_9":-1682410084, "c_map_int_10":403307877},"c_map_datetime":{"c_map_datetime_1":"2010-05-24 23:10:35", "c_map_datetime_2":"2012-03-08 10:28:29", "c_map_datetime_3":"2007-06-10 04:07:54", "c_map_datetime_4":"2019-08-22 06:16:45", "c_map_datetime_5":"2014-08-11 17:13:23", "c_map_datetime_6":"2000-02-26 07:29:46", "c_map_datetime_7":"2016-11-20 17:26:55", "c_map_datetime_8":"2009-02-18 21:22:11", "c_map_datetime_9":"2006-10-03 08:27:08", "c_map_datetime_10":"2009-02-02 10:25:13"},"c_tinyint":3,"c_varchar":"why","c_array_date":["2000-06-28", "2002-02-17", "2003-11-18", "2006-06-12", "2016-06-18", "2008-07-01", "2006-11-23", "2017-05-18", "2009-10-28", "2002-11-11", "2000-12-06", "2016-05-19", "2014-12-19", "2011-01-24", "2016-07-15", "2002-07-01", "2013-10-11", "2004-09-26", "2003-06-03", "2007-02-23", "2005-06-23", "2007-03-05", "2003-06-18", "2005-04-18", "2012-08-07"],"c_map_tinyint":{"c_map_tinyint_1":118, "c_map_tinyint_2":-88, "c_map_tinyint_3":-47, "c_map_tinyint_4":-71, "c_map_tinyint_5":-50, "c_map_tinyint_6":-99, "c_map_tinyint_7":97, "c_map_tinyint_8":58, "c_map_tinyint_9":-118, "c_map_tinyint_10":-45},"c_largeint":-587219365118052727,"c_array_smallint":[-29088, -15662, -1835, 15537, -26020, 23686, -765, -8618, -21789, -7302, -9675, -16323, -6769, 2987, -18691, 30925, -17888, -3968, -29922, 6678, 31209, -7187, -19101, -28805, 10997],"c_map_bigint":{"c_map_bigint_1":-7344999685450585403, "c_map_bigint_2":4014630239328524042, "c_map_bigint_3":1548029199064479078, "c_map_bigint_4":-2929819124898093333, "c_map_bigint_5":-1282971528934741283, "c_map_bigint_6":4830481681245681739, "c_map_bigint_7":3944959318103855149, "c_map_bigint_8":-3681444821220194254, "c_map_bigint_9":-8882956848586242443, "c_map_bigint_10":-5192971293145031274},"c_map_float":{"c_map_float_1":41.13306, "c_map_float_2":47.436012, "c_map_float_3":27.324488, "c_map_float_4":33.380108, "c_map_float_5":10.088614, "c_map_float_6":69.60874, "c_map_float_7":8.033052, "c_map_float_8":48.26852, "c_map_float_9":1.3080938, "c_map_float_10":63.483795},"c_array_largeint":[3650368218430703859, -710977155927358053, 8320829168257131590, 2928862971342205675, 3652993979691054024, -8531397759706951173, -1725451293153315547, 1687547925011201115, -4323980323803361506, 4940238404635436989, -6029671558778745853, -2316809613890820877, -6615377917727913378, 2018870733034060607, -5471979387365937078, -9097304223126215136, -7766495921045965293, 43752422630454747, -4066961939155669126, 8529372943777681208, -6761528499046422253, 8024862998145056021, 3146087093271845686, 8215168031430745530, 1547448107162602435],"c_array_float":[75.11842, 42.250458, 35.87262, 37.082634, 52.735325, 27.195269, 78.58558, 52.148685, 70.01961, 18.907618, 80.01331, 100.19076, 36.920055, 49.05921, 44.95583, 62.765163, 68.43449, 82.77016, 94.24533, 7.884454, 98.26876, 65.49289, 37.345573, 18.15853, 39.91063],"c_array_int":[-1339283273, -1804688682, -98852820, 1545514476, 77118008, 252112565, 1746924981, -1469904439, 416340974, 1359305511, 973390137, 445845822, -391987567, -498184923, -1643037852, 1032030488, -1990582726, 449136625, 1432419127, 504764879, 46054081, 1265681271, -1856534427, 1591348528, -2126788143],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_boolean":1,"c_ipv6":"39ca:172e:acea:c517:f7ef:d2cf:b80a:d2ff","c_ipv4":"25.59.240.149","c_map_largeint":{"c_map_largeint_1":-4605319594308680558, "c_map_largeint_2":-607567830517281024, "c_map_largeint_3":6924944581338009989, "c_map_largeint_4":1238067210641999023, "c_map_largeint_5":4176842962285927349, "c_map_largeint_6":-8529178550353598223, "c_map_largeint_7":-7254084189147240488, "c_map_largeint_8":6500547838256732996, "c_map_largeint_9":1540050621508405238, "c_map_largeint_10":6366867369105142596},"c_map_string":{"c_map_string_1":"xbRHHQAJToCmNcmbOFQAtIIefWJarIlvCpufPTKVdCtaoIQIKIauZrsSlWcsHrJpePdNPHXhelJtNYggyMRkSJfbtNOYVhvuXXujvkTUKTkUGVpjReBlcTLTBIWOumlZLZBIYojpcdHHcucLtOVYQjMTacPbtrFWYiDeFxphSauMKskitsPfRkUKrEnWFOovYtTwAeaKoOIPkWRYUuvbCfuGJZBBFBitjQBouAjBLwGpfcDeUmixRLgViuLIGFRUfaxVIwDoXXcaoivuxTPONoWsXloOyudIoyOzENHjqaKPEWyarKJtFSTleyrdXAVCHRfMongSEPBXGElXIfOcbleXkWrafHrsPdteaJiyNXtupBFnQyRuSdwOfpGmktUMPpqAqIyaqKJhgwrNPNlHEdkNRTSCxbXAkZfBIlMhcMncQjcHPNBdjFAHHWJuIMZMaWUilWBupxMWHWXgXUZuhsdvXwcoxdVZEVThZVzLrSxxdvBhiplXJFaKAPsSqrzJ", "c_map_string_2":"eAgfsmKAZwfXSIKgwGnVexQYiBxcJiDkgYgEmDWpbxFPnePHfPslhsjSWjGqqPqwZwUIPLaNklYCAYQwUvvJymgIRkNwXChCWJqRWRQkzTnHDtayJgvwBSyjifJAzbehyWFOgDOSFkXsCaRzkCDwlimjFJyJjkEncPvEYWhdDPwwboJhnPUsKLkrbOmXnuwEoVSQqaRFSLMyADtQarRyUzXBsibVcMzDbJqCZoSZxiqbmlHoIkxqVDliUkZAKevsNnzjRMLxuqCvQTAMEjtgQyOsxdaStLrEfpNTcFzcIGXgRRBZpKAIrFDfwDDaqWwjqfBmlIXGWAcbQjILhFOqHEUIJuZSzjqfcQXCqxsdUGwxHqoADsJaaTKYTKShJMMwJXCfcweGfGHajkIPYfFiLQrYDFvUZrcjHBBjiSSObSlxyjjHjcoMxjFGUGeaJvgGKZbGBWMnfMuuNrznhCtgRNiSMapyTxaKvdpUvtokPhphvVrarDpkxRLwsIBjKXNZ", "c_map_string_3":"xuPWBlkktlhZpvCWchHvWZnIvrKZMmrhVFhNvMDWgbTXShebCxgIzgMpEVqwRdtzxLqRWnaROzuzMoOEflXekMbKsbFrDDZgguZElMRyJokeApnnxvtQCnRzixoenxqUHjwmrrVwQznriEwLAmkQTFUnCdQxDzEyqxCuwyunXXvjyqHOnuCuGDxVBsuDhnxMmeCYosFeMqhHyDEMyPAGMSDGJWYoXqkvsXhylvuMOhlKFnEoqtuqPstzOuJyNFrHBSUJStGoJDxmsxlgXReWvAmlxpuFSkafhVejpINDBMcBXoJKGorOBnzKOnULnMptImNGldjgkELdZsDLzNMBUXPuDoSpWShyFFFPqXvdEfkkdPLJNbLaNNZTqVoPhIXkthjRpNqADuDBzTCsUIFhwfSubZDlRztmfdpzzjvEnlNOWkwYHKnMraVIMLHfOLSiwFaWnlVsGsDQAjeTDhDplRvEDuZggtaiOirvkMSVdfWLDeyQybdfushpnxYmzevv", "c_map_string_4":"JAoSSshuhDzFEhRCIQoMGGBkTUuZsBebRvYRXlWFpBLXXvetSzDecwSIqZqqXBfCagvlRifIIEIEPAxAaJDyvtTzvmveUDCDzoPJRFyiTtxIATpDCMqNpyvccknOGgHBymJuYUaxckfGElcunSuUTfJZsiqDYOtkNMbyubukikjoGJFOFlPUbGfgpakhDiiajZCUfGfWYBgpHwCsNZrBKOIRnSRoIvNydVJoMOSXXbyaBpMmnLIwtfcsCrBTMKGCOLQviLgckGHOiELOgeFSXMhpudlvrQtFFigdnGnjyDHqKcEYYODcAXzqHRZHgkdgscvioVlmwtjULZiNBcSKQKMLDupwlKrZKTtRlzhWSPZFKHlcOAcePlXyMFaTJvEgAcUdmgMWxjMQeZKQbwbRkmvmKGleUKwXTeRsYDOcShQtNXXTzkYEdLXfyAncgWvSuTazlUYeLPzqnlVppmapxShZpfkjGMISZQMyPKkBIiwJtOzcarUivzpZWQwehWsf", "c_map_string_5":"LtKYWVDZWdkvQHYgNOjxwtssUqHjFLKZKhXTPpgkvdNLXvJDnjBjyeKieucMgbsKGiUhSXIRhtjJEDMUpDzRPcyofGdVzbWBINiFbfdqdXOOwkGZjQXiKwHtlHaeoiulhMilXmJAPxYtFcuENEQtyabrZvHcjMCmwppojGPkEkdlGlUhaOYWHnUFoMdjWcpBIJqssIVUIkrlnkHbJGRuhaIgCHWBKgvYUVPTBwchwlTVegYCilpCMYnjTUxFqlXHNRxEdHdgCOMFPQLUhBHpgSZKvZKgYdnOzjoTArzHBuZvRecKHepnQqjxiQsGheVpIswDcaLksUwgIxpaoGmpcHtFWIBrFZTjZEAsbcHmhFcaliYYWLPBTpaFowhmVdviSLpGtUOQscmqRpVSsfRyjyjvRxGJniYctTLZTWEQSlGeLeUqZGGnDDjsMnWetrGxrbVVCZrRfMtfZXQCMWeZAxfSOWgFETABHuIGrhUmDXmzChNifzLJwWTULiKYDJSE", "c_map_string_6":"oVGcajBZWnEPtVLERhXzMXshmZzcZJOLRQRnwqtlNVbxDGJTHYUUKyfKjoxTXuMENwuyGDICFbmZTYQYoZGDMUJunrErlHXrNXunDBeJAZlgRnWdclQTmnQEhcPbGBdGNOSlrvtDekYmkZHqPLrieCMsXpBDwBWAPbTkuBFNrRLFaQbHByUSNkXRdnvjGJIOqTeGBUPQjJdCNNjtZzrqLyChvuVsaaWioWKjJzDJTSEnBHcksmXucFpyGDaucdiSnunarcIIIpQQFCVvEzYqDZOohQdKrfpRnRhATcLRsaQoqeZrJcvWZIGBQiIVXFkvKRgYOsldDnxMTjovbSpYcSRFcnkijVlttFyPLQzuWkSQmtlXqZSWnilNtBRgcAZhKIqEqwwoYYDtnHqtysXzxIInQxCFDZudoctnhqOAOXkOPrhiuxNNRmWDHLQoxXgGrGYlKHUVFUPJlfrmvroIdgUNCTsJQAcsVoKLpjheadvmgGeJTdXocOsesEuUCWaO", "c_map_string_7":"cYjJVCAGfRiFDNRdNnLLwVIZZQzMzxtPVhufYYsuVOTZvXlTWImXxeLQGJdywjVvUVSvONGHmIGuhOHXxSFkJEILoAxHXDwwJZlZxMnVKiWeaOIhGpZKMJSihQfgXERUggFwHaYUmZpnPryJjBGremSgCDpiegIksAzFssEsYxjvuCxXgGKmeWDdIyPFSQYGTrBRysrGHyPXHRcngFZmDcOYhUtwVWbwrcAsaobHwMuupEMmaIfNFDdDAEVWyHaDnbCEpzwGzufwEwOZjNhNFDhNaZXttlIvzinZCtOJVcKXPDvKukVuBShbryBYzKtIMplZFCgAxnuIPcpXKorjlaaWfbjvYFfoeWBoIwtBAwWvASZUnYJLFIWdFRbgPapLHPLaysHLquXVnXjvgnJVSBPQlTuLgHMUrdAiWZeVKkVoehnQxBaGFDAbNYtysLglkRsehfYfWJNKPSkXHIwGCSezMkUCnmMtxAEJfbiPfpZrxcVkIpIULAbuSKCRXWFX", "c_map_string_8":"imVXoZEpTvTsiICZRkreKybROKMobNHRaFnYgMARbNmKeopDMBhEtsmvpubiobPJUQIJavDmvXbIfRUGmsrPGaKkDjdSECegHUWNslAtkCyZeZsZGugVdKshQEzJbBIKrbxMSXnCEAxpctITtMzWBCdweBEyNWOIyqQnxSdkPwEiQAjQPfoTAhmTAHeDtvlslnLAGUYobFYVLwTDEiGRFgMNORBNdrzlSjqbySCSWoLqCclsrzpLIPjpubcgNejyZifiVPOFPiqMxzFPSvgaGhlaQFnZvNRubfHmUfXEQTFpwYruqOcFMGSsYRGadWdqSXarCXuTQkdpRVVTmpiHMQrWEEeZIFMsFmKhSTcHwETgGLCBinoCEPUznVbQtrYEUmxeymPYSSsdkCmJmyqclCMRHtZjZEmxBmSGIRlgmBCtKVnBedaXVGLkJWpkBdQMuxcpDkMPWHYagsZwxVXXpWUrlyPlPyFBGKWOnadFKXDczCjUbJMjrJkNNBFfxldk", "c_map_string_9":"LmjTqZjWGPxQYyyisKORCKCCtluoSRwznRFnTHkJcVmAbSIubbeqySRIDGMLFRuVKNKBfWVUhPGJCZFTcfJGQNEtxVewDEbYluqhhKgktjrlzdwjODHnbroMrdIvZZqzSqupegrFHtVTjYDglBFGbXLDIKuIPZbqpDFlhRoxiIOeBGjGuCBrvGDIpGoAXCYOZnNxdBUrFlubyMeeIgIKkcAsaCCmTVrbaunbSCCuYPLtkuFsrWomzgebkorQeaXdDOEQSlYXwXjlwLSPfWVljcRXDGuaUmpeAVRMroMgOhBwRtoSXRlIopVsXRglVSfpmCzQMGCwUMuSjgXBxCORwMJXzaFEghpOoOYcLewyYWDhDtxpqPSzcHKFSPDXxaOMvojJGhmGNsMOvEqgEraslKBbEIrfLpNJfScYVmLUiTwwlajuwnzuGAmorbKoUKHnODxAOwCvkdMPHdmIyFGlJLuDcIcYwEhetkwplGJssPUIOwNdGwZSgHmTXUmglrDL", "c_map_string_10":"THmtmnVRvYmKXHBWxujyuQsIFQavXsMhPcclXxMAONAXgDaRbGwmeQkKDDGwopQyMBtMogJaYZvSKjbqbDlqOYUJZNkFnaVBFjlmyteHlhsYBsazchUJbkPTXERTdSUGKhMvlKsMPKmaBqRwhzUXkfqRBKLjCtzRDBVhHSrbLqVgmSFzzouObKbmeSsMpGWmwjQlDwwbrZRRKRpDtMblrOUtabsBnONsJvInmlzwCMrBDMMytWMdkrIsweuhPreJrOQfaBFuWwLRdFWEJvnSOHQTucQbBCoWzidRJVLlCNoORElNGDlGFQFitdnlQgCPEBGrCTTKmVAMZHmOciLJUjtzmlcbSERTlsOjcCxkXUXvCRmVKgxEVRhcHYjvnsJsOKxtFDfEFRwEoefqDtpRMrBZMLePsiXpmPUuNLPJwmOIrWlBRZFSMfvjfOoNTnZoOesAJQjEdqZJEAUEeTIUvQRfjrxxZRHAzEemHQRHMtmVNGHellhzKKyRxNFfVgSu"},"c_map_ipv4":{"c_map_ipv4_1":"124.83.73.28", "c_map_ipv4_2":"113.176.154.141", "c_map_ipv4_3":"5.33.172.109", "c_map_ipv4_4":"231.102.49.225", "c_map_ipv4_5":"238.2.74.154", "c_map_ipv4_6":"91.148.247.5", "c_map_ipv4_7":"64.118.149.209", "c_map_ipv4_8":"129.166.123.124", "c_map_ipv4_9":"214.121.73.43", "c_map_ipv4_10":"18.199.205.171"},"c_map_ipv6":{"c_map_ipv6_1":"9a2:ac4a:333a:31a2:86d3:1f96:cf2a:1fc0", "c_map_ipv6_2":"e13a:b0e6:ed6c:ea9c:edcf:9aeb:78a7:6d07", "c_map_ipv6_3":"67e9:11dc:8b9b:1a33:cc1:8eca:c860:c8e2", "c_map_ipv6_4":"f88d:ed5a:14f1:ad4e:f4eb:a3b9:b2ad:ee70", "c_map_ipv6_5":"1fd7:cb81:8649:3f5c:c862:ef5d:b43c:ee79", "c_map_ipv6_6":"331d:a300:40a0:12f5:30a6:24d1:e9a3:c27e", "c_map_ipv6_7":"f0da:18f4:902d:f7f1:fb13:c75f:1ccd:cbfe", "c_map_ipv6_8":"7fa4:c093:cd98:9aab:afba:98ab:864f:c328", "c_map_ipv6_9":"de11:4f73:612c:c2b2:dd54:1bc1:7156:dda", "c_map_ipv6_10":"3e5:8c87:ea34:b3a:4653:af14:bb39:cbef"},"c_double":58.52636907803251,"c_char":"OMHbqsMcmE","c_string":"sFZqUzYRukfYZHeDZETRHmeRgzQebCUYZpwwlTIPhbiUBzSzVqZHAifpsZcALojfukeHTvDmeJkKgMUkaSwZcQIbXClHOFrYRODbHeKLYWruBIXnAqxrUgHcfGlDpyLiwCieiVyoGACHDVWyJEAOYKFGBrcfznNvuaAnPEsjnVZmEZWoCIEoQogPPvxpGKDcqgkqsfEebkjUcGxsuNoJXMLgTKgSxbNLTHKrgmgrXaLaQgReIJMrIFmtzHWBGQbFXHooeDiabNfDtPCgrnBxPHvRoKScDAYKpqzRxxmBhpeeiYdSzOMaWyeELDcfqvWjxbaMbovHgLGXOvgVeuaNLcofHkcIprwVXAFhNTTyaLgaFesjRePCqqDaWUIdebCweVMqDIavcOWawEkNZdvgxsyuUnONnIxgLLDbEzpTZRHHcAnNZXJcHNjdDxIWcTWedRCeghOzxTxaPCzPauAXwKGxhbMEAAmmhAhlsIGpZfUJxJoVdanXRkIZxYpEkznk","c_datetime":"2017-08-24 19:29:31","c_array_boolean":[1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0],"c_array_tinyint":[33, -55, 115, -56, -50, -27, -54, 33, -81, 9, -81, -14, -101, 62, -49, 70, -63, 7, -24, -25, 41, 84, -124, 14, 15],"c_array_double":[34.677294213006455, 80.38206137927192, 76.16801400836106, 66.04989432565674, 86.6899433511459, 3.0140986911347407, 99.21893385549329, 30.575987284741448, 24.53421763492833, 41.81096357300546, 41.240139204984736, 33.928814647480976, 27.976926085076883, 51.33712933563372, 70.34452296659671, 62.02851827806496, 21.058168464671102, 43.62304557522852, 31.54660213992623, 100.88882303272436, 67.72836785057483, 45.763265966675654, 17.20462444134916, 43.88979470003652, 81.02885761305471],"c_map_decimal":{"c_map_decimal_1":66.0413, "c_map_decimal_2":2.0515, "c_map_decimal_3":79.0069, "c_map_decimal_4":4.0110, "c_map_decimal_5":31.1492, "c_map_decimal_6":72.0860, "c_map_decimal_7":91.1461, "c_map_decimal_8":19.0605, "c_map_decimal_9":70.0377, "c_map_decimal_10":46.1478},"c_int":960665966,"c_float":69.294,"c_map_double":{"c_map_double_1":52.5579796283401, "c_map_double_2":82.3911297116947, "c_map_double_3":97.94864487737064, "c_map_double_4":73.40666588824016, "c_map_double_5":96.38713355719965, "c_map_double_6":32.12520439681798, "c_map_double_7":63.76568710284426, "c_map_double_8":15.679758462003162, "c_map_double_9":31.34630032757754, "c_map_double_10":77.72685549462626},"c_map_date":{"c_map_date_1":"2000-08-28", "c_map_date_2":"2001-01-06", "c_map_date_3":"2004-09-15", "c_map_date_4":"2016-04-26", "c_map_date_5":"2009-11-28", "c_map_date_6":"2006-11-23", "c_map_date_7":"2014-08-12", "c_map_date_8":"2002-03-02", "c_map_date_9":"2012-03-20", "c_map_date_10":"2004-11-08"},"c_array_decimal":[19.0035, 30.0833, 22.1039, 32.0429, 97.1498, 55.1709, 20.1069, 69.0695, 62.1033, 6.0597, 39.1071, 73.1068, 23.1469, 91.0895, 98.0840, 27.1935, 70.0054, 27.1121, 70.1977, 94.1180, 28.0778, 1.1384, 11.0728, 60.0839, 50.0570],"c_array_varchar":["tiqNNufcYOHlEQZiyQimAGlWHBglRGPvsaZYKWPjdRJbGllTQBxlfQYBHEkiRcKHPFJvEOcKrTKJtVspukTpiXagzuAxXQLkrhAMBqTdIEYLytmNAYUAuMVJwkIULzQKaKpYyySRiGSiAFwHSOfSvApuYIALnsNdDVxszXmeuXcJJssZVidBRAkhBHhkNwaaYsQbdbpHWhiZADiFmzJpLHkMvtPJLKQrOrPFnTTQKAWVJovEkYnqYIfsqwuTspdA", "qitkByWaKNIRgUVDFzDREIHHjdoqffnxqsNUUfRfwWjnWoMTsRFuvAAVKAbnFeqLycvBxeKWhauCfXnSycvURCFtRasLwlVSOxivEZBhunRjIhoDtWDZWvjhXjomSUnuXypjMsEiNtOakktxQRZnJVzIDmeGDxWdWmSsRPhPzxXGBOiXLicqPnYIWJCgdMVAiEalpojHvvXaLZwtYMWRXrwsaRBmZWebXfHBGOUlvgInljGxIDZMLPgiTbZWgPBc", "qrMJsIXLFfCQoNuTquCXVqyGpbHtBiLnKlYvklPlsyRkBGibrdlMygZqNuuAFXlsIbhALaOnWQhnnIQxPGlykElMbpBmjSLWSmoznicdtvsHVVVBOIuokTppYABDwogVRnmYJQvHXRBkPXheOVdRnzOaPtAWmtncdkQyhYySSNmktpvttjDqBignPeSIkVrdWspWATBCjDtlQHuopKtoYlEYgqXytbSBrnTMPncLCCyljSnXFXUGqWKpNnbJlLLX", "LPSZtuSVQfkrVlLKdmsEAIpGYPIWyzIuZthMDQcQVvDivCHASyNQQrENpEMTqKQBnWpSjhibxKXnaBhMhjtQZKguONlWFgKqoBjjsOLYtcSooPKEEnWinyGzSZukVFphgRJPePTTSkREcNNqqmeDtLrWThTVhYtZVvgtdTqJNClxXTKkNFjNIipWBPCXFsyvxVIqzBNwmrbFjCksplpQFDTgYjUawMlEisHAYwnkBXHccmtRldeXxJUkGZdFItky", "IABOoVAGdQZZZMmdJsOsVRMOeaRiIoXXvwCTjCAqccMVEgZOWvnSmXrdlUmkmfGatECdMDUXgKnfBYSQbaZhYZgSVTvqrnBTeAeClbpEBWmvwpcswdCiyrLIrxplVumdUYlRpEgQvVmMimlCEIXDVQDKpNNooXWNNDnZvyWGFUxMuwbOpZLiAWSpBZucoUMcgfsnQjDCEnptwIKZbQotEvGwGenLTpBgrHyMDWOVyPigNzSfHmeajHcfIOndIXJv", "OTeuvTLetOzULEbCirDbkkinfCvpiSNdChtgayFfjvSOIxGoYFZycMOeXeCAVYRHkLioiYpmuxeULffHFmfWRHzrYSiSSvnAsJrLMNykEkveYFHNPFkuaxYUpYvqNKhdVsYrrkLxTWhNGdNgKDlBzBocTzhljVwjmMHoLIyNlZLIxNBchCGWMrMDEYuLmGJTUAJUKnTdvmjUgLOjjrWHMwBMwoTdPUrzMyYNJVInJtUpdSqykOXyRRysvrdAzWVG", "kmeyNQrNmvAcvLuVxAiZWwXNDeiOBsgqrZDHsnmmCofptXyxMsXSEqrxTnuijrQmcJOKBlsAKVzxjnYdIDxgqHGLCsYJOEyJjiZhNrTtkesSsOFkyZsxiLfjwRIliLNdWehKCvwDsCJWorGCzxuoqXJpWmxcbkcBHjjDrBQPEIRNGgtzDaJWbPLOCZYrCgZtwwcKJTrBRJgzZHXMKpJdqGWYlJDprdcJHNcqiwDOigfIPrKGbYggrGHvNVlcSMlW", "EckbcmmWrutRYuAapCbFsfhdRdPHtAbSTQmxhGtPFAtLwXgkcJjuTTpReZseYtwwJyaBSPhzSnhaNkcQWQJAMlLtVzEcPVgTIGCEVkNvOjyxMhorFkNvPZkwbpRJhHFDuvgEBYbhskYLChUtHyROXEaBKECMoVsotYaxseEJMVlryhekjHwVLGYuFcHbczdCrnjRRSohjICqpYgRTqnjOfImsCGEOzSCiBjHllNfjkosbbRWptiskGfHgQUNPpMB", "XkHuPVUtTyuhkbWhmXliqvLxjafjUSSzshDHoPlwwyYtHIaBgRVoTLpKehqYSMjmNRacnnMrvssLPyfyouMqjkCAmZoyLTIDHZrGuFDcPxOSeHHwEsStKJCisKQDBWKAMUvMZvEHFjvLQvlAGyWJRKQAinjPcRBKNQpRiGopthHMohoefedEJPLvBulplYypKvkQJeDWXlOMWQfuUcKITQrxuktDskHzuRBZyqRphElBMwdOcCyQoTrQnZGkFOwF", "fAHOVQQNRrwAEMyVCeOVIuVDivRtOfAADRuMeRfBqXtnwbBBuNBRdUpKOZJOZIazZCylTbUPAPHBGxYSYUJryUHxjgxKjMPqpIANvhemEAipHxmbColxIBgXIyJnNQbnUIkUPsNhmZuAdNYthLSBHNXWWFmvPsWljZhJrgdvkXNWTlniektVrbHxwLgzCoEiliDYcIHKaYciXLgGVxSlxmkrLSpWkITLQubLMQNThXKfkORSQsgtsUeffxguVQHf", "WeYLjMqbwkBRKNrsANRxaKzIRLUkHHtfsHGtBhYsUWDLKJAskVPjAcohVCUYupqVUjoLiWZkBGQEWMXSauEeDFTykzgbfblJBsyszGFrozGsqRNgkTNNVfkrDDRfYlbytRrreGodFiYcaYpZTaFWEOJdXGHhGQnZqQcszFExMzSYcMCjKivYvKEPEmqoampgBVmviCAItASaTsOdAOLrLfvzJxCibaiawUBcjJBXqGBgVIuDwNUxTyelBrteXfwT", "gzVTJsMqoqCPsvfhVsBERrMjqdMCUkIGLzgbgCFthhnFsOnNWZAhgvlBdkfXuDqxeMPzdlThLZKgvNETpigXnnxWOyyEsheTuhqbUEkIbwbJisTNYtrCuOEKAlzSRwzRZgbTwfCZyTaMzLNvClGBOTwjCbIePdYuuabhyCUyfJaXiLnrpzWposPduspJInIqoyTrlZfXzKIHktQxcAUiwbVAjHBtQKAoWFbRQGSlNAsXpCsfblQXQiqvcQsQqETj", "TxlHsqMvdvanqHsvEOJoghkVEdezbUhAGDqoFvtJyRsjjrObAkMoRRRPqRnYvsTvKbmBpUzJWfhwcPguZSaXUmqtnjeFXJspXqtALyLhQOALegneYYIPAaZoWSPwqrYJdNcRctkpEnlYRRldZyrisFJUDwlIOjyLKteWsNJCgVDWfdpgYfMkDDMgGBcoRVGhnXVcePETXwtfwJxgYQEkvYYCQBatFaJiEVeoqOPpeqrOxtNCUwcofXRhFWDvgXHJ", "TfDcDuECCdCAWrsGTlsltTtMPuwQUweoeRuQbGJsdYYhMnnpKHcwScrxTerZvqSfUrRNLcRyYskCiTdRSzqnMOqvtsNcAvvuIxEEEbifYkCKmzUOyMKRzFXdPNfnUUbWJoaVlvdNlNjOyROzuaMQFkQdLzSujrCNDFbpLforIJwreJerQLjcuYEDvuSPQfIRWAaexJdGyTMPgxUsYRHxPXWsBXbAdNtiaxzHQGZlHvgrWAXqIvepOlkCZrIgzkcg", "TKKZMaURXLcEFRLAQDjLZEZxHnfHakagCpvSVYfUBHPyovThmOTsNWBKKeyXKkBLqkaKkNrLMLgZfFzsafIJCKcBmrgzXOJIJkwyeBbwMClLuPeaXiQzTPMheOmymoQNphQnsyzACvhFaTlAgPsdmQbVMrJajSxrjqOQoiatBgaTJEGzdBFdYyFpyCHhYZzdqospnxPokbFxRovLrDNNfnWmhKWHMtyiuRoSfIjBTTACjxWKxSagBtRNLYFRQniV", "aORCcPrYZijdhGyiGDscLyBGvFjGAvYTulsnOwhPUsPBybzqAQpvITSbQRZyuSxVwHjybvCYGGoJtjfggYyfYOkQZepMerbIoIHcslzNNrdfyhVSqsGBLhyhkRvqNBvLoIAGOidsMHcktQiZGonYpBsXFHkHGEbZPYFmEMEPaJwmONLaCkzNLWlogqOOOniGCttxRCAsGIkDMeGSllpvQLVMLxGbPvqorufXBEavrikZgiFTbZxYuqGPyAfNwvvB", "HEvMSriSnUrgaVxBQUJecsYuRfuaTzGzwzahUpzLMMlkOegfvocTnVRLIMjgbNNpzvFUOadqyCpwbrxWhKeytpUebQOPuLKbhXvcFZwmazDOqdGYGanbohpdGSgBvueggmYYPgOmsozJEuvfmynVbsXlYjaEQJmdRTFOwTWWprwsNbQmZKFUdTgJtnbvwAImMqBOTbMbYMLQekjMFaqmGmJnxnZbokIGfytJtRxPaUpLhdqLGRPvebUPvNGFQHgD", "NHWovgcbtYliQJPygunKojEDlNPhanYFqandlAlKUnGkdarprAaKLFBakEXCYnBWcUDZPaqpRKeaeWSjSmzLCHxRTaoHCVpXYbnsNEXhwAFIGhwBwoVQeFIiPUnleDSBNdYgCwHGlwoGggxGWLqglEiMzKJmwQxhwDXWEUEdoTrCSvBPPdoMlsKMdXrJxZabWVTgWeckGWWrSqreWOmTxMwiQLHhlpnNrXpEAkRntNueXJDnibwCfPjAHjrgwiPg", "CxpVwtRlDLKMkqVZLQrCLejOZfgNXTURwLpZVrzVFyQFAmOsBcLhNLtggwftXRgvHiCjUCbCAHBoiGCUVIVGoifAlMlTzsMEnMqQcvCkpHqdZTggWCXuAcAhVPbOVbhAMYTwIXJqnRakPUwLoNFqYGtIhfQMdgmPKEzuVnoWhjkNONleCtvSthtfShoHIIVAFWOhjmDIWyGWPPsnQeRbcghQGtYxqdxfiqJyzgDLOUggwUzUPHlsuzrfmVISxbeM", "jWPnWFjQwWfsKhrZcQvyLWAIOBUpLTeuSQmArtlvvVJUxuSbZzcAFKqZTyhKWBlnbkwFFHFeMzBrYAZstreJCymoSHZPEqWwSVTdDbhgiWphXDaVZMjBZYslSZonQBCbAYtkYAfsMGdiOnuWBewPEiZBQdYUJndoHIqMLzFhaYAdbCdiaYMJHSgqbydRvYGVMVHPspsOYxhXpQDNdjfSRxYrFjdPyAFyOvdEEpgRUUGfDvAkMqhsPOuvMsmpgSoD", "EnEjblUAGWFjQRJkAPUwDzYFmiwGzjkAxKkuusamEEsDoUDRProGdVTmnGJjOkUBWdNJEXaGEdMxTRVSRbcwnFomcvxfnvPlMorLQNBEBAMxNPrlyWECgaiGpDPTeeGYGCobXfjtJhyTnOdhxqCyGNAYgsBtiCZyrgIVyZIQqEuTpXlThRtuZUVaxIFJLTlsqBTOiMyGTPSTXNmOGhpgmvSGaaFwjJixJWYaslrssjNkjmjiBRLZiDIXzjvntZof", "BqoSJgIqNbIVwCWzEwgZpXYSvorlRIXDdApHJFSwjWTiTJrkGYNjoGkngpCFKChjPwhDgCOMBcBydZjIHAfTzCYWxIswsvyBURltXnJkuofBSMYSWcrVsXkWNJwwYhOdynFxjfquIFgpRHgbxdNujaYEPiqCXFzbOZOppCUmSyTsCgDmyCRjXpgqsUgbOLHnwrtzcRulgYvJpfwmTsvSAcwBeyBchduPPyFzmUyGMXfHvFSshcCgOmArXPvkqiya", "nDTQpoNRsPBxvcCzJvXlyLWrHYrjtGTOfeIeaFeTXItoyZofVclyZQgADJrzKJMATykydHmpbFLfeqfRFnWaSdGJuHgJbBhMmKuFsKxhydIzQSqqVOzKAumTXTdZIsZbVxuwtaTUlFzVhvvESnKHpBWHuODpjxFWDdCgxessoCsUyZuRYzPhaxtBuxcgacehxTDGwaLjRzLCykrlNwRhwAsQgrmCcevFebthtkZFnXJQgUMBHVheAUrXIqnKHXua", "HxIPxtBvmBOdyIbOCwbNPnmilRzZfjcWQVacwzVOBgldEJAyRDYsJYWnvqjuXBAsqgEEeqaPnSKFKhZBUnlDPMXhkXGxAonWbuDkHSWuBYtkFndxcnWcmQrCzNPUgHUjxinRrQnbUqeTslzGXCSaVuIuUIVgNpURDZlJqlBjEkpYKkaNBjqUbIkKWzFsUbkfiIKoQOBzUMdttrAsMpJoWbuZfnsGhFwMaeOwkwbcgFihRqwNmzjWeZlEzdtjwkzU", "WuLJliLiZdmPJAmaERMFHCslxsZdXDFDjKmqegQrsSLBsqMxYhAVMPkYMejiBOvAOHtWqXJAxxrtcTGjpbNAtyVjgoIgtOslqGXyGbiEhSILnXlmyNjsLdiiojEsxkUzGQdAGfIHwABaopabQCowRQWmvgbbzDtdOmtwSpADeuokXYjgxfiDVGcxejDeGUquEBeoVCpTWocKHTkGOmZhWQORRMDshrEIWzrZJAPAjqErrWBzNwtQNOMwmwpcNgHy"],"c_array_ipv4":["mcQxbWGQWn", "wlPzrYzwKF", "COJCubCNEH", "OPaBnFJoSX", "HGZOcbtlVY", "PPIEbkQLns", "oFaVvVZuVv", "GrEZnNJOlC", "rxrqawJdvM", "FWQcducJeY", "BTbozmRYUo", "HDotaYZvhc", "oyCtHpwrTa", "oYPAYAsGis", "MQBnmgfqxR", "JXxupUKkca", "YACEGYGUln", "cimpVEpFZj", "LaVsPwtWTf", "zYpXjuDxwW", "jPmzptJZJx", "UEexybIGnV", "naFQUHgUri", "FJLncFLpHx", "lerFCBBqkx"],"c_smallint":2153,"c_decimal":22.0310,"c_array_bigint":[8041102380738728890, 4660498394580166062, -2436861330177399755, -2621406216130206693, -8663886163525480783, 6827087226239786732, -5963403897518732888, 5580555737594110831, -6759122367099852578, -366170434351687008, 4824781302050372411, -8709085519459217281, -8608354527733186390, 5075210948779466780, 4395584900128325359, -5945755461172179093, -6212698924957342436, -4620168302394626292, -1567537602447556975, 4509120605511179928, -6836713677652743525, 2416249025834041247, -2091113780251042469, 2353926080772342859, 5931752207619257853],"c_array_char":["RPkKgEUEtv", "gICfSWWtic", "QtUwGtLvOE", "UBWDdFKwZn", "MWLlgglzGP", "dHtSpRKJnw", "yYRYgOWWFc", "tGwxJjdRLU", "pRAsxLvjZN", "FliQbqKUSS", "pQFmuTEwLY", "NejejGqbGA", "aXdutMIKpD", "BhrFeWdtVx", "lGueghOomJ", "IhZMjlXqwP", "xuAySCIodN", "hNZqafHbwe", "UmsoUAHREh", "aioMqxMqwB", "pmGrZSpSEy", "RDFpmuWSmb", "IoIhminxLh", "xFtIMjdXUv", "WQkiYKmgRp"],"c_array_ipv6":["igrRZZRHgq", "zqNNRQHSpf", "moPuoAeaTN", "tdeXCbsTIw", "wUzubTPAhn", "qriwuKcMGj", "AcZFbrwxzg", "UyudbAqKCX", "LSCgLpLOCE", "IqVWLlGjRC", "wZyxQBCXMM", "djzEGYztOZ", "rOoBLRIuGQ", "gvsrYDokqx", "ICjURMgbEW", "GQbxizYmWz", "jhVzZtvkhQ", "XXfIyQFENp", "YATWIEVeXz", "dMaBXZKitF", "fBeWmWlUbR", "mcIsYpGgMy", "ugqMyYrJTZ", "taOptRrNQt", "KAoIolLjRU"],"c_map_smallint":{"c_map_smallint_1":-13960, "c_map_smallint_2":5327, "c_map_smallint_3":-17562, "c_map_smallint_4":-24008, "c_map_smallint_5":5785, "c_map_smallint_6":1483, "c_map_smallint_7":-28276, "c_map_smallint_8":26189, "c_map_smallint_9":29494, "c_map_smallint_10":-30955},"c_map_char":{"c_map_char_1":"PrSInbeYla", "c_map_char_2":"cGnOmHMbZi", "c_map_char_3":"LjUDFDwQCo", "c_map_char_4":"MkVDmjlZyH", "c_map_char_5":"cvxxJQtTww", "c_map_char_6":"rEjnTxRfpj", "c_map_char_7":"qZNQCErTPn", "c_map_char_8":"cNhzyGOCeI", "c_map_char_9":"AgmxEUrpsW", "c_map_char_10":"xyIUJJoljl"},"c_map_varchar":{"c_map_varchar_1":"itanoaTFuWjRzWQAULkirTaFpFNkRTqNOrkcFdOUKcpnsouArYPFFOlHfWDDjBLxljbgdscfTnqoaoLFnUqlMVJIMLrDdgHzETIsaetcUdvXkjREcQRFtYlSJQApAtUDcPzjgVklXFVSYzPfvVRMWdcieKhAsvEcNnCinPJJLlJwAmzRfpDldOGjThAwVEJngAaZFHkYnWooFuGPkNEGJYbvEziCkdDALMwRojWsGROKPglZyjqntYmgCQrufxfC", "c_map_varchar_2":"ZVwQxpMFttxFuIfqfeXozTdJxUVXAwwfqWxzwNVBhKNLgQfrWvuAVMHLVmpoGpRHpAZcIcLiMPvFJFOeuZkQYrOATjtGISCRkgWAvfIKSTdahpqXQhotPhzUfezDJJkFTROeDwgQmcoTZIYJdWQyKSrtgpzJtcNQTstJrEwiucbZlkqwEWKxWhjOxVluOFhgsPhQBFpxlnCzDvXhSyqYtOMQtfykGXImuabDmAqSlJluLwSBlPoblBknOsjXIWqH", "c_map_varchar_3":"dOPbXTVqOQlYKKYkUJQUYmJdUZKRFpiAFahcrOgdLDBqhjvCNMlOrOwbfBXEtUXyvKIkTdZpVLkpixshXJExKbymcFkkmbesPzJHsenhEQSPaNouVhFElsMFUNhInFrUOtXHcgXTvOkaXuYFnOjxuGVaZxbSFklVFlQCqElCOavUTeILPRIjHEPAhYPUMWTtWBscJQcFDVxzbKxMqzigbkBHmcPmaaSiJLOBsFoLSdTiaoglVkUYnXeUfoaPPLml", "c_map_varchar_4":"PoTCbihWHtPaxQzZBifgtSBkZFalOhgtzRqIadIWPsVFmnQVFgTBPKQdBuMladmFczOZOARbpWnpzEsVFzEqHXhRBMlOoVrfnlsmVbPnpOnHBqbqAqmVsaDpwDUppGGZrSexNOMaTLYfDDQipEQmSVkpXfafQxyGMFFFFDlUBsYkcDHxhTjHHoNdymUJpPuDBzwFqYNFmFbpVdGLElbqHbwTcuikXOtErhPbDEmVubOHmjAJEBaRnLlzjSXIKWnm", "c_map_varchar_5":"IlUWRsudIyZAlRVvimoxhPzsToNRsoRPaLqTNPiWPzuouDWSmQMfQXFPpkGwoyBGbwJSrXexmTrAcACPOLswyVBtcyXoysQvjKRRJhtXpGgADNaLBLGnxhArPVhzmcUkSPeFVxbnDaquBpAVRpXcMFePrHuhJLKUHHpJbxfSRDIcTAqzqTmOlPpCmArjJOWiMGduEUjrfMvPyOesZerZrIEitKpYPUpoeAtiPYUBFkNrHhXUXGkpHRMfRMGNjVFi", "c_map_varchar_6":"utMKQmBPqsIBDIGvbcoMYYuCdhDkhOMjMaGyDfFWBgXGIxUioPusOosVWATyPMoadGtkVsXsnnzzGTFWMdiIqCqkXYixYBWidrfwLnQANXGXzcewFSDejdPaPAnqzvynQEeAPDdMwMjvlQRneVscGyfkmBYcTIERNhVavyQUXzGiNyxEsXvlUpuRSlvQxtLSzkOyFOwQmrHNZfNlGHogIHNSHukCJOIhYgZOqTgssfZYvvSzBlRDPpeZngTTgRjR", "c_map_varchar_7":"FeHtgiKNPEVSyUMSSOsmUTpeJhGjShcxsaPQtQtuaBykUZcLuLiisifKxcclzQzuecIgXJsxZJjDUvFHjuloNDGKcFrftPtTbGqxJyRmgKOuLnxRtJjDFUtAwUwnLLWOcRjUHmXuYlAyyZKdAETwEFxlQjeOmvaXoZpmvuWfRCwvNxFShQaVxfdDtCTeCrbOLSNkTHOnFFYSYKCNUHPwDkJkSmNcXYqEmuNqYnOejComOXcxNgOZRHebSjfVENwc", "c_map_varchar_8":"EYVTiWmjbnLkeKbniafHUeUBvibiyMixHLaLFLSuhdXqORcahzqGHflpCzbWWJgxtyLdKVvVgcElXbOQvOppxmcRSaHEWMSbhAQBYGqmtAWVUmLBhmrhpGXrMNAgvmTpIxCVljeBhglCqRkASvPMdSNNrfNOFrNKHevtXbcxlzzCoeCIMKSGPqDegTNwZSRrhkbHHzRjIdMyfeIcWrVsiYeHGLxTpbZcdyeOmORNgyCShMnczICbUVrErRBmDaJZ", "c_map_varchar_9":"zhDVqyUGOJmUyxlAyGlyUxhMMrOavgSJNUSCtpICFobuLwCXLLmmmRRIgEBGPZYdZWbymvnsuNjvIgYULHjzrPzEmSZnbBwXPFaQoaRLWOeNLKhwNiUCctggGeKovwCHATlcdNgyeMIUHCxZrmDzgsgkhfGWpWFqZzCltOJPriwUNvLintyPRJKnwMdlkbrPcfJgFAnaiZBLHtRMEAkgKdtvQEpRTLvfUYNKGtrVENWohJFGqeHPszhTRwXmLTJX", "c_map_varchar_10":"MNmzeQqrglepCwLoWkTgOGUqgVmRbfepgJvZGfxFEnouvaYMYdYjsRQUfxCfpsvuDolbRDjLbTCMmyqvUWWEnrpTvvyzbgSmULJqFcajqcmRNKqGNSuFOlvtugitpuyPmhwXyLGNdzVOnueTXigtJGIEDKgZIvBgSRJqbzpbmoSCSuXTIucPbtMTytuIvEbPzRVTypBYkSqcRlLmGtQaHoHszKLNxqJgUHnBeCajcyBcLwKnXHjBmygzqlHGpiYQ"},"c_bigint":8865451817114973904,"c_date":"2005-07-11","c_json":{"firstname":"Wilfrid","streetsuffix":"town","bool":false,"bookauthor":"Jorge Luis Borges","httpstatuscodesimple":302,"adjectivedemonstrative":"these","minecraftanimal":"wolf","nicecolors":"DarkKhaki","appversion":"2.7.4","adjectiveindefinite":"few","stateabr":"MA"} }'),(14,null,true,1,119,-47,127,2883,32767,17558,32767,-2147483648,2147483647,2147483647,147483648,32679,32679,1,6509600,4249045535582001935,-9223372036854775808,300.343,98.03049,300.343,8.09851766105829,null,3.1025,40.123,35.0791,null,5.1305,100.02,300.343,11.1222,300.343,48.0793,67.0268,43.0498,64.0812,40.123,39.1975,100.02,14.0271,79.1696,40.123,null,84.1200,100.0695,84.0156,300.343,100.02,59.0002,300.343,{null:true, true:false, false:false},{false:true, null:null, true:false},{1:-128, 87:-92, null:null, -38:5, 127:8, 0:-31, 6:1},{127:0, 0:-45, 38:1, 5:9, null:-128, 79:122, 63:0},{245:936, 1340:32767, 0:32767, 13484:-32768, null:-18164, -5440:-15479, 29860:10514, 16676:15921},{0:8171, -32768:0, -2509:-7602, 19878:25062, -22184:32767, 32767:14273, 23794:32767, 245:-32768, null:0, -25449:-26891},{2147483647:2147483647, 0:-2128559528, 543018150:-1379288394, -1091368643:null, 147483648:2147483647, 381971793:-763698192, -1881086726:-2147483648, -1353340945:147483648, -85274136:-2147483648},{32679:147483648, 277111421:147483648, 0:-2145088906, 2130227813:-358250149, 2072260683:-1589347149, -1510393673:697622541, 782432006:0, null:32679, -1135654466:-1420345573},{20240803:-1605570248403161284, 1:-8786031357455723499, 300.343:29063, -30075:null, 202068:-7901, 147483648:32679, 5261:20240803},{-6493:6956268711387061824, 147483648:245, 1:147483648, 20240803:15810, null:20240803, 300.343:9, 245:32679},{245:9223372036854775807, 9223372036854775807:32679, 8160608080114179375:147483648, 1:1, 832628:6308025885063091969, 32679:8267744885421302307, -3728514367251072087:245},{-9223372036854775808:245, 9223372036854775807:6012595494881000433, -5387556644093997970:32679, 1:8703925228822157971, 32679:1, -1036155749615618860:-294738701, -1580514376:3188232963795853922, -952717270:1},{100.02:300.343, 74.54246:40.123, 67.022316:89.587, 2.4824183:300.343, 92.13221:22.289059, 300.343:100.02, null:40.123, 80.71485:50.72191},{76.17286:300.343, 2.7516782:100.02, 97.78215:null, null:null, 100.02:85.704834, 13.47121:300.343, 80.51109:100.02, 300.343:100.02, 40.123:null, 84.137314:40.123},{300.343:40.123, 88.38202684616324:40.123, 40.123:8.444160344853861, 74.98281039398553:300.343, 3.523344590909341:300.343},{40.600802222835206:300.343, 29.984598758164715:14.670352023996548, null:100.02, 33.43092642436413:300.343, 100.02:100.02, 20.850848796851903:5.504927627015619, 15.828115842834684:46.00099360055428, 40.123:100.02},{300.343:'f', 87.0810:'of', 16.1419:"0", 100.02:"0", null:"300.343", 95.1892:'n', 52.0369:'x'},{null:'think', 34.0026:'all', 92.1126:"1", 40.123:'it''s', 90.0146:null, 300.343:'s', 29.1206:'e', 12.0323:'right'},{40.123:"1", 100.02:"9999-12-31 23:59:59", 73.1078:'your', 300.343:"300.343", 42.1547:null, null:null, 59.1466:'o', 71.0085:'that''s'},{null:"300.343", 31.0860:"300.343", 300.343:"300.343", 40.123:'a', 16.0457:"2024-08-03 13:08:30", 5.0757:"20240803", 81.1571:"9999-12-31 23:59:59"},{98.0305:'him', 76.1586:"20240803", 26.1502:"0", null:"9999-12-31 23:59:59", 100.02:'we', 93.1392:'p', 300.343:'u', 40.123:null},{100.02:"20240803", 61.1992:'really', 89.1304:"0", 84.1410:'i', 40.123:"0", 42.1310:'p', 31.1833:'n', 59.0906:'have'},{14.1324:"300.343", 100.02:'don''t', 300.343:'did', null:'r', 40.123:"300.343", 95.1921:'you', 17.1366:'a', 38.0997:'g'},{100.02:"9999-12-31 23:59:59", 80.0079:"1", null:'q', 20.1476:"9999-12-31 23:59:59", 20.0653:"2024-07-01", 9.0573:'see', 91.1503:"2024-08-03 13:08:30", 40.123:"2024-08-03 13:08:30", 37.0140:'in', 300.343:'q'},{55.1320:"2024-07-01", 100.02:"0", 60.1452:'have', 40.123:null, 300.343:"0", 81.0892:'f', 34.0490:"2024-08-03 13:08:30"},{100.02:"300.343", 300.343:'x', 66.1332:"9999-12-31 23:59:59", 7.0762:'time', 34.0739:"300.343", 16.1515:'that''s', 8.0979:'one', null:null},{300.343:null, null:'really', 8.0673:'then', 40.123:"0", 13.0320:"2024-08-03 13:08:30", 100.02:"0", 45.1483:"1", 57.0984:"9999-12-31 23:59:59"},{40.123:"300.343", 300.343:'w', 7.1671:"20240803", 57.0100:'say', 93.1558:"20240803", null:'c', 20.1087:"0"},{300.343:'he', 19.1561:'p', 100.02:'l', 40.123:"2024-08-03 13:08:30", 13.1272:'some'},{40.123:null, 46.1264:"0", 300.343:"300.343", 57.1114:"9999-12-31 23:59:59", 44.0372:"20240803", 100.02:'n'},{'a':null, "20240803":true, 'you''re':true, "0":false, 'no':false, 'on':null, "9999-12-31 23:59:59":false, 'yeah':null},{"9999-12-31 23:59:59":true, 'w':false, null:true, "300.343":false, 'e':false, 'y':null, "1":false, 'b':true, 'you':null},{"1":1, "2024-08-03 13:08:30":30, "300.343":7, "2024-07-01":74, null:-115, "9999-12-31 23:59:59":-113},{"2024-07-01":1, "0":1, "20240803":22, 'I''ll':-105, 'z':-7, 't':-119, "1":8, 'c':-20, 'that':0},{"9999-12-31 23:59:59":-28492, "2024-07-01":245, "0":-15703, 'r':null, 'were':-32768, 'f':7729, 'c':26511, 'z':-24092},{'would':-1115, null:-15820, 'to':32767, "2024-07-01":9803, 'p':245, "0":-23177, 'o':12383, 'm':245, "9999-12-31 23:59:59":-32768},{"2024-07-01":-2147483648, "1":1621941513, "2024-08-03 13:08:30":0, "0":null, 'it''s':285324260, 'this':450857848},{"9999-12-31 23:59:59":0, 'z':2147483647, "2024-08-03 13:08:30":-1039248417, 'we':null, "0":147483648, 'well':-457604456, "300.343":null, "2024-07-01":616062868, "20240803":-1981012327},{'back':3, 'we':32437, "9999-12-31 23:59:59":32679, "0":null, "300.343":20240803, 'y':6, null:245, 'did':32679},{null:32679, "0":300.343, 'v':245, "9999-12-31 23:59:59":147483648, 'g':20240803, "1":-31826, "20240803":null},{"2024-08-03 13:08:30":245, "0":-9223372036854775808, "1":0, "300.343":0, null:-9223372036854775808, "20240803":147483648, 'g':0},{"9999-12-31 23:59:59":null, "300.343":0, 'really':-9223372036854775808, 'to':7483537906541500057, "2024-08-03 13:08:30":4395298812912647905, 'c':null, 'is':1000963224, "0":null},{"2024-07-01":null, "1":300.343, 'well':300.343, 'b':61.685894, "0":40.123, 'one':300.343, 'k':null, 300.343:71.90179, 'o':83.22656},{null:82.20444, 'back':40.123, 'say':null, "2024-08-03 13:08:30":61.586475, "1":300.343, 'have':80.015945, 'h':40.123, 'that':100.02, "0":91.47425},{'k':null, "20240803":100.02, 'x':34.13354541008763, "2024-08-03 13:08:30":87.98359041267075, "9999-12-31 23:59:59":100.02, 'would':100.02, "2024-07-01":10.959190511681554},{"9999-12-31 23:59:59":0.20759189029879688, 300.343:60.94817260638788, null:84.28339805635358, 'be':95.18622499683792, 'at':null, 'now':40.123, "0":40.123, "1":80.44522360097557, "2024-07-01":12.553330737157925},{"2024-07-01":24.1540, 300.343:40.123, "2024-08-03 13:08:30":100.02, 'could':86.0591, 'can':null, 'z':null, "20240803":99.1776, 'n':100.02, "0":68.1597, 't':8.1975},{"2024-07-01":73.1491, 'could':100.02, "9999-12-31 23:59:59":300.343, 'can':5.1199, "1":300.343, 'b':100.02, 'i':null, "20240803":null, 't':75.1580, 300.343:63.1770},{"20240803":49.0211, 'w':40.123, 'q':61.1412, "2024-07-01":53.1859, 'going':null, 'was':40.1819, "9999-12-31 23:59:59":35.0217, "1":20.0729},{"300.343":61.1594, null:null, 'for':100.02, "1":null, 'z':27.0994, 'now':100.02, "2024-07-01":null},{"9999-12-31 23:59:59":null, "9999-12-31":true, '2001-02-14 00:27:37':false, '2014-02-03 00:30:29':null, "2024-07-01":true, "2014-08-12":false, '2001-01-01 04:20:22':null, "2024-06-30 12:01:02":true},{"2024-07-01":false, "9999-12-31":null, null:false, '2001-01-07 05:20:55':null, "2024-08-03 13:08:30":null, "2014-08-12":false, "9999-12-31 23:59:59":true, '2012-10-18 23:23:57':null, "2024-06-30 12:01:02":false},{"2014-08-12":null, "2024-08-03 13:08:30":-128, "2024-07-01":1, '2005-10-22 12:19:37':-128, '2011-12-19':1, '2013-07-28':11, "9999-12-31 23:59:59":-128, '2013-04-23 03:39:30':1, '2003-01-24':127},{"2014-08-12":-128, '2017-01-20 00:44:04':12, "9999-12-31":2, null:-128, '2016-03-17 09:34:12':127, '2018-05-16 13:54:22':-128, "9999-12-31 23:59:59":0, '2002-06-27 08:32:48':-128},{"2024-06-30 12:01:02":-32768, '2012-05-11 23:31:08':13007, "2024-07-01":-20693, "2014-08-12":-20967, "2023-01-15 08:32:59":0, '2001-09-21':32767, "9999-12-31":-16778, "9999-12-31 23:59:59":null},{"2024-07-01":8902, "9999-12-31 23:59:59":245, "2023-01-15 08:32:59":32767, '2013-02-01 07:00:00':-32768, "9999-12-31":27961, null:-31867, "2024-08-03 13:08:30":16580},{'2017-01-01 11:33:54':null, "9999-12-31":147483648, '2013-02-24 10:12:45':-1809442882, "2023-01-15 08:32:59":-874322776, "2024-08-03 13:08:30":-534318409, null:147483648, "2024-07-01":-2147483648, '2008-09-03 05:07:47':-2147483648, '2004-07-09':-1838153963},{"2024-08-03 13:08:30":null, '2003-11-23':0, '2003-10-23 17:24:33':32679, "9999-12-31":-1663815463, '2019-02-24 09:37:34':147483648, "2024-07-01":0, '2014-02-10':-268462554, "2023-01-15 08:32:59":-2147483648},{"9999-12-31":245, '2005-08-24':null, "2024-06-30 12:01:02":null, "2024-08-03 13:08:30":20240803, '2015-02-05 01:40:25':147483648, '2013-07-26':1, null:8, "2014-08-12":20240803},{"2024-08-03 13:08:30":null, "2024-06-30 12:01:02":null, "2024-07-01":null, "9999-12-31":147483648, "2023-01-15 08:32:59":1, null:300.343},{"2024-07-01":0, '2013-12-23 00:33:11':-9223372036854775808, '2013-12-12':null, '2014-10-09':-774105, null:2278303411646920404, "2023-01-15 08:32:59":1, '2008-07-14 11:44:07':32679, '2019-06-04':32679},{"2023-01-15 08:32:59":245, "2014-08-12":-5016257864408666456, '2016-05-06':32679, "2024-07-01":-1396218918, "2024-06-30 12:01:02":9223372036854775807, '2006-04-02':-9223372036854775808, "9999-12-31 23:59:59":null},{"9999-12-31":40.123, "2024-08-03 13:08:30":79.69523, "2023-01-15 08:32:59":39.345825, "2014-08-12":300.343, '2001-01-17':69.0618, '2010-07-01 22:38:47':40.123, "2024-07-01":13.086261},{'2013-03-18 12:40:27':47.874584, "2024-06-30 12:01:02":100.02, "2023-01-15 08:32:59":44.959652, "9999-12-31 23:59:59":300.343, null:2.6737761, '2019-05-27 21:01:47':41.03975, "2024-08-03 13:08:30":19.687147, "2014-08-12":57.115963},{null:19.71453105500664, "2024-08-03 13:08:30":100.02, '2006-01-09 02:45:57':40.123, '2002-02-08':42.36700011095451, "9999-12-31":40.123, "2014-08-12":55.53019373198232, "2024-06-30 12:01:02":300.343, '2012-05-24 22:09:44':81.2838234663989},{'2016-02-23 10:28:07':15.068697766113313, "2024-06-30 12:01:02":73.03425830219301, "2024-08-03 13:08:30":null, "2024-07-01":73.194818417204, null:300.343, '2018-09-11':300.343, '2005-05-28':76.62348917272637, '2015-11-26 08:08:45':300.343},{'2010-07-21':62.1875, "2023-01-15 08:32:59":40.1275, "2024-06-30 12:01:02":40.123, '2001-01-05':300.343, '2014-05-15 16:40:54':null, '2008-05-12 02:21:03':20.0220, "9999-12-31 23:59:59":46.1613, '2009-09-09 20:45:11':66.1867, '2009-08-17 18:06:11':40.123},{'2009-07-24':44.0217, '2013-03-08':15.0099, "9999-12-31":9.1384, '2003-04-10':300.343, '2012-12-01':300.343, "2024-07-01":93.1757, '2008-07-24':87.1037, "2014-08-12":26.1985},{'2001-07-18 09:42:52':32.0923, '2011-02-10':40.123, "2014-08-12":100.02, "9999-12-31 23:59:59":40.123, '2010-03-15 00:36:05':40.123, "2024-06-30 12:01:02":31.1164, '2009-08-22':40.123, "9999-12-31":300.343, "2024-07-01":51.1447},{"2024-06-30 12:01:02":75.0794, '2005-07-02 20:04:01':24.1194, "9999-12-31":40.123, '2007-11-19 01:54:42':300.343, '2018-10-14 21:09:12':94.1168, "2023-01-15 08:32:59":18.0043, "2014-08-12":83.0734, "2024-07-01":73.1325, '2011-07-02':100.02},{'2017-12-24 00:59:55':100.02, '2007-06-06 21:05:24':40.0701, null:40.123, '2009-05-22':300.343, "9999-12-31 23:59:59":null, "2024-06-30 12:01:02":300.343, '2011-09-27':100.02, '2007-03-27 01:44:45':55.1990},{'2009-10-05':67.1709, '2019-06-07 20:31:00':300.343, '2019-01-27':100.02, '2013-01-19 08:05:37':96.1958, "2014-08-12":null, null:72.0114, "9999-12-31":85.1725, '2002-01-21':32.0121, '2009-06-24 22:05:15':36.0787, "2024-07-01":40.123},{"9999-12-31":14.1291, '2014-08-01':65.1475, '2001-12-22 15:22:57':300.343, "2024-08-03 13:08:30":5.1209, '2015-05-18':83.0193, "2023-01-15 08:32:59":40.123, '2002-06-12':71.1168, '2014-11-11 00:22:30':null},{'2015-08-17 10:24:36':20.1766, '2005-12-04':5.1021, "2024-08-03 13:08:30":null, "2023-01-15 08:32:59":0.0262, null:40.123, "2024-07-01":40.123, "9999-12-31":44.1122, '2013-09-18':40.123, "9999-12-31 23:59:59":300.343},struct( false,127,-31578,1293858873,300.343,-9223372036854775808,null,19.09510674311139,55.0834,300.343,null,300.343,300.343,31.0416,40.123 ),struct( null,50,3492,147483648,-5444327465456189124,147483648,null,40.123,72.0463,300.343,92.0204,63.1361,40.123,40.123,63.1059 ),struct( null,9,5150,1406830953,20240803,-7106209844464477007,300.343,100.02,15.1711,300.343,82.0292,null,58.0202,76.0319,40.123 ),struct( null,0,null,null,7199,9223372036854775807,41.216526,72.47093951975145,100.02,81.1142,73.0641,null,73.1516,null,null ),struct( null,111,32767,217916066,245,245,100.02,34.491540478544984,300.343,40.123,40.123,46.0470,67.0201,null,95.1500 ),struct( true,6,0,1469569928,1,0,46.566677,22.08751515358678,79.1104,40.123,3.1336,11.1422,28.0793,17.0374,40.123 ),'{ "c_array_varchar":["aGxUAdLcCDfGWBQJIbdwuQtjWBwqBzqXaucLBZkfSzHQaOEtJiHtOsHbreeGbzZPVGFQPwQMvRJdBKCsfurFfDaTAAQpHQhskiyLTPmgMFitEZbvuoorLTCUjMBBMPqpWVERklEOkyyCjtPwWxdWnUcuxtDKZsjCPmRxkOusXcXlKVkrWVyimdWrsHNgxtoytBaZpUdnmWrMIAXYBByvpAloEvJewvtPZxjENQAGioTIMmzLNfpYMrveAKoDDIFl", "zRkvdWebgOMIBxSLMxKNWIvuPlcIzcPErMChnMyUIjraZqEYglBFdAIHGnJEHIHVOUgQaYOJfUrWgVGaFCOGErGFTDlEXHEYWhACHqPDLdEfGTWKhWCuknGkUDezRdXgwWdZzDshNBBZxzkovVeSznESRcTXmvFlCFHQjuPXksqvbKwmnjkNUuBAFRPOsKpbwFJoHnOlgfGEBPGrqwYzwPHNKnlVLvigezxkGhWWSpXAOnBCVKeHbtQsKFstbfZG", "FuABJKLpVpBWCkKiDXgoQAjLMmcDZimOpxTZowWyCqIiaUIHATRqfqMIzzyOawjIqDiUshXhbVnPhizxKElEfXnmzUIwOQCfeZfRoDihgZpjKPXWKqhnKUpZHigJxDoGikTsnlVCQxWZhrRdkiwdYvSyXBQCBcWrXObvzVFJmCDkNoUijanHrfczRMoISmFQnHCZTbXZWiDClkIeqVaHRznMRqlVWIYOVnutpOyCrQkVVmeeaONrgtiWBxgXMAFz", "VYlYFLXJJyMOMfKQiKXGUJSmguLDmlCPWlNgsTYEXzAajXCOYVmferdJPxXIlfVRYABoPSumKtiXpYfbXdXilTagJFOyiCjAIRmOjOXLsRnOwGmBCaduazNAsgAvIbcjXaFRBSUZwFGKjtyZzgkJYNyNnFsCjKhVAPwZcLecVwcgLxCzribAFANyDVAHddqvMDWQvnrGSoyHpRPRMySyKWBPnKcNQZYxPVYycbZUMopLsWniZwYzUhqLnaDIGODB", "kwYOeRxPNOyuEclqsARhUQmgDWALptfgdxbcKXCMNRvSWlpOWUOrLCYHpkjvCDczkbYlxPhgdvnuWQRcRjxeNqxcaFwFIutfJAJwTmCCYvhTePxLHKOwSDcpFLLzEYRzoqUNLehgEyIMLDVNJWDejpfsmcAIeTsrhFWiolJwmeRHMjRThzQIJlqEktqrypMPIUPxFFirsfvbyulPfnYHEpmXjdGYbsJTFlBHeVJycMMmsLRxqHFEKcAVyOCNsHDx", "czmgDbSiebAVanrvmsaLgpOIiiILGnEZFsngEeBjchktZhrkNuWresrkczRHcLwcyHdHDpJNToPYmLaHNXaqAzeilPylMNYHdVoceqQRyNSUGVUAYbyJcknnvuxCtHyMukvaSrhAtBfERuyrGDwIJhfktmoaWMZOJgphRBETTsNUbuoPgnnzHWeYbBKegPSzLKmCGZEQHNWIoHVGKJTeRDaqgFcUYvkiFOnsoHkpHcBNppXIYYwAdOetpjJSivdP", "eskQIPgOQEUOnddsRBwqCqEdZfdhMRDKvvIjZWVFerbhWtakhdalYiRqoYLnfdeOukoXtzCqbEozWnDJWCPNNLpFsZFcLTQwGMsNKaeieBslLziUReplrUhJmLOHGQANMIIgIYEDFAYSLBUwxrphdIkxADLljgfeOKJYycbXIliTeaBpHdgHFxFhUfrctkQeXjHHygynEdemlJHXjLiNdOTYRJcRjcVKFwGHbcdDXIjpBaJcnNPZZQuEWAOiFqjz", "wtrlxnJzdidRZaJpNJnoMhLwgNVaKEJSIwpLreMjmoOaASXGCrOzmhWNdwThZViGvVBnNnZdCCWKoNtCEJDgumFgOQgHeuiWNQKkBtvtCoMdcLycnSjrJPOtQghswaWfrSAGEGkibAGlILwNKoAxFXuRZQVepkfAhXmNPdABbYrnVWbjlDmHnqpVWNkaVIWASkVDUeoJNUrsvBcdqvLgOvfilVhRzjFWVRkWtPjyGzwCLuXMgBIQQxZFzUDzfuwO", "QVtjaONdRQPRQfYbftCvyucAScegmFYtvMLQpPTaZoJTFZJCNHxQLHJZqixYOIMlCGmerxXzNcjYhLfcjPQnvRdVqignCerHVtCnyMhRRZyvkJhfyDcMuKsZCNcIFbmdEnMBEqdqYhQVlKaStirRZfodkbERfpNFCRMzcFuEikSSVsujBJlDJYzrbRtskRsJYDMDgUfVKHmAgYuuRUzoNDnFeYZbhCQEUjqGhRwXmMYIfaTvIEOCvxqnXbxdTvjE", "outgOiMMUjfxfATVDhNSWzewneFfOkVMSlpRmmRBzwtScEmHYdwqyhxZJeewdYGOzKdBVQgVOEpSeyvDKxjkcorGVBSgxqRCAVugzSChZJPhtfYnkDiRYAuMfeZCOwJaDBoiJtFAjIaCtDRRvwgQMGOdeDtPHqblSwGjeqrZyDRhEllCKsdMqaUviGYtSOhintkbZpuWVnOoJovpWntmaRholfJDwSuAyabhPsRJUOnpDSymBJyJUbWpxptyUIDs", "oSHrsBoeRnRgftpsvvSwwgpoSyxrUIxaSMUQKNfPJMSQcYLCQFrtUcNrPASOyfaiqADtFbKZEwysTzsAkWKFnSoABRagSFNAVVRsrzRpuYywSOfDTVwgOwIarCPWGFIbtCmHoxLjoFoIyvkgAcOgOEVsJTtttBhuYFFQUeRzpuHhGJYIyvVGlaaHiqpOHdkPBoCTPetdddZYnpJVEtbxVDOTZGlYiMlqoLepPUzYMcDhjvgjVmoaMamweJGjubnx", "pgfmwgyUAlmwlplPRpUaiLnOaguPJJwodGsljDwRngYQFduKQhQtLEzZpchMpIluhnRlxxtCYbWIFsVhRmzwTpFrivJLqtdGUrmpolyaYOwRjnQVGHZYqaCnuwSfPrvLsnKWrFNLmwmJgkJNZzhXbexiOceeatYYRxIBKdbafBdEUpKJwddbvPEehGNVrNJGxgIySONthuuhWLCUsozCviIsJHVsJLvVayenhuuHOuuRHplkAraYhAQGRsPXUork", "CLweoNSFPGrkuBxBYyjymwsaSaOZorrUBMrOQuqdbBJALrBPsGGhuJwGzNXfinOdRHleiCcBAXwLDCeodFPgwzYtDlXQtbmaZjBWAykgaWLcfwhcRwnvNENFAmrXHbgFaWDWhUFIeuYqCaUZybbyvXgdplAyvtMkfzMqzFOgRUNDQVvipHjLrtVlrxFxOzjwKwUwCcNiwWZZlnuUmgtAxZaNiTKlMHZnxHXTTlHsBjJtHViPdFiPSevpKkElfxsf", "rCmHPJIpeoXUrYqpFroHYirjkzbRODxnKmRoGqeOnUdmaeDXypOuTMOOuraTbQsUNJLlkWTUeKVhKZsNqmpurBnfTFEprLOITIIGyVmqMIICwmELFGhiRtkHzvzXPheKOzpJBxDDvQYJIfMBIvgNHYcgvHewNjKeFjwFqSZKXniftEpdGABzTZKiDzzYDUinTgbXrqOqOSBEuDzQiZJUBayZnHPecOKRGRAQEjcWiesjZPWPMptYZKlFCrDQrgVS", "rPrKhgeFIZXkabeXihguLIQyFWrGSPQLrmbEhGFRiHvcuyZePwNgIPXawrFwfBjXyhKELUUElNaoinOcLOWCBxYQMtughnEpUeHFlNDvdcInSieblhTKNmIIPfYMrAXGvMFnuuWVMwKGXigOmCLOgYsCAnNuTqgAPuzwTNdVVAHZdRoThZaAPixzxgoOIgMuiEefHBWPJzJqBgiqQKpBaWdvpoXKSQLtaafMeIOprPuhnvlWnnFMxPYHClTfTPhf", "lpqWKjpDjpnEoFPgJCtiOjYovDvStUJBIDkPXZeWBYoNWXuRwrXWHDYaXGCbkpVGtdxPKYGwPaIummVpTEiQnYUQBbgYOLNGZcyfphCRMlhIvtEagjzOwTBLIGZMZawPMgxWywtDJggTEycKPhjhlXrzUQPilJpRwCXUyRZmZTYztlyXAZPlIhTNhJUEThGfDoJUegkYdbdCnLImZkggsvMhTLsfwWCxXegmoTrqIKQIDfpYUvScQvjDoqWSSXKc", "yhFdewvELrXLdBRHnsFvNcqRdFSHthIQkeTpdJmIhEwRZQRZbCpgYstOrXnyvOjVQWZDIUunqGWfaBRZSXAQuWoyfElKhKIKnNTrWHXUddBvwRizaoMvkYylZIsVDfGZdoXLoaCCDOJlgfXLfWTtHVaJMVtKYWmqShYCSQgPYfrBBtqbrWEikPDiYDPHPTeImcgSCuVPqFdoVlSsuPuACVcHLxIAbDOoZJnKBOaBKYtsfethlyguvViRauEOjcql", "OdggiRvbpBOmAbJWOIbJkWhsfcNnFUuOyMGgHYDOSGJfUcjHZupPGcosXTBpWSiEJHUhdGhHYbevMeLlBpcNlHeKGDGEQRGVEVkloOEitbSFmKrxczZwjQMxRZgoGVvNwNpkRnIaVfgufTEhNWtcBQsduSJERuLNlpeFhKTVKUqbfQWcPitNZQyKMkPWdOglhiIYFrEoHlnpDnLliLmUFQFQRuQTMcmEtJcLzuqtUTHbdkedhCoLYmrrrtnenJcj", "IpzbVzVgcoOJdCDAzqlQJBjMggVeqiggJRfQbthNVwdsYPqLTDMjedtGqnyNmuirLfCwfgijuJNvtydiPsuImlTRMcEBudBoNXFPjGVYJXDbxrUimaaBJeFQJibmwfAVGPoqXQtNkGXmdAHiCHURsQmywIJqyrQqyrrWQqShhpCpHAfJhLTXwbYsRfSlzLyqcngreQXSwPcotpDZEourxClJIVOdkgyMCdtytFnRICtnJQnpEuSEmYDqideZrXPi", "ubzsPaFCLaCFdLKTbMHlNwferJltjbdNwYYAbWEHTJwuudjoKFCNKUIcbltYjboEwJKfMbDnzGLbvOlNrUTJyQGRycYfMvSPBDLasDlBxCkTPvHZUkkxLqxwbEGILBpnJQOqXQBVaYZyltDKXVTGTZNmywvwqJvTmFwAWVNBWlGxTgjkENJhJKZtWfRIkEgftjVoipIuCHVDVvmIocJyXjpSETxzRiSVBTGUNZHGZvFnUSpegQZlLvLKFFFIEUew", "vqSaZheINsdEpOULqkpNSMkopREoWdXidDaYMviFEUUOVEgfrxHBQNvWBnhVKkHmqrUCZngOhmuyBsDmbRgmpQmvbsmHeSuXuXjFcEQxsLUGyTNyHMEagFFKxrCpMrYcZAuFOZrFaswJMXmpHjvslYtjDVyGqmBAvxxMaHcJGALOqmZiIUZwigqJKITbqOGJnvQYvUreiJELWfYxjMesfHlGQxBCwNBJTmaNPimMIzDdWxLOPlWoLtkiNwckfAOY", "YERzZitQXVsxOGiQWOlFoOaNBXseLAwkicgdCldtoKPoyQasMAewdCMtrMeHNglzGjxoPmxMGuXfRZatKJlKnDZuSWnNZcsQFqoQSSlSVoWXKINUWfMmqVWKTiNiUUyxlkJPoplgPdPaPJiPCArEvwjEuZLzZOhfczquQmaPkPloOcopDsWdSnymMAcqXRUvjZMWFWNRkMNRhmdxDdkERSEthrtaacCIXAdUBVaOwoZzXzczjuoAzJFxFojxmgrX", "PwvbFjQjaxhWhTAtMvzmUYNwJUHZVnuomaVzOtBrTpnLtXScsTVQgpsHznEHVzkwbRAgyENktShjbMdBCQFdVhSJLyROdLefJbMqFLjSCygEKPBiLwWkiDgbCcRuqaQUSZonRgbqhaahgFYKNajsgjmZRazeOEelHNbOTxwLmJEZicRWHvoGnmchzGYkpSoLPyuPQYvIXKMDjTBQaaYrzqAPAuxkeuJcYvvIzRStefsnXFBwoqdqGPfOsHtbeLLu", "gUMKimcmFQytyXpJwmhfhvJGnITEpSPjFwbqXqrOWUihfwulSIrTEGcBobrbJdHPOsnIMKfreFislJSPffIaQsfDCFDyiWkExfkycpgZucHgYkKlmCtSRbgpiBRnxbKXlYVERirMLGbFIJWewNyURJxRimwSCQnrPGbtVdcomXgjCMMTAaUrCxsskhQNPYiTZgSpKaCcNtHJkVoUCHVnqNYGFHAWdbIkpSrMshovZCufySSRMNjEBqpQaTBdloos", "UVClvSLjZlbIjgzgINfLMZuEVRfMnfQvlSKJHQXuAGLCuDCWnLdmxJdeqzVFLFRiNKxcAlUlOXLIpvfzAXaLFzlkhDDLcNjEPePcOCExHhTXZPFZYtIVZpaQRDbwEXXxlTdDAMmkibulbMqOlmbAnLTqatmOGbsiQPLRqOvQNPZvBdQYkMudqMdKKOiHiuofVBkCUartSvknLHDMIqcvEMKDnePdQYEPUUZrAHLnQkTlcvXUMYhdTlpStatSVJQS"],"c_map_float":{"c_map_float_1":15.739352, "c_map_float_2":63.198147, "c_map_float_3":59.315006, "c_map_float_4":78.457436, "c_map_float_5":50.70348, "c_map_float_6":94.25133, "c_map_float_7":53.16975, "c_map_float_8":55.4513, "c_map_float_9":41.054844, "c_map_float_10":79.719},"c_date":"2012-10-23","c_datetime":"2006-06-25 11:02:03","c_ipv6":"5dba:e055:afe8:aed1:5ba:7c1c:800a:f6a6","c_array_float":[96.42413, 92.799324, 41.73053, 63.366817, 62.459164, 9.685232, 57.056053, 13.959318, 9.164472, 25.435509, 1.4289734, 22.824642, 96.13511, 16.122725, 23.844614, 32.99662, 39.62292, 98.925705, 10.661924, 22.838095, 23.531507, 20.882502, 68.2674, 63.120728, 80.80291],"c_map_string":{"c_map_string_1":"LELgsatMlTUpkmKaKoacTmTgFuCRGhBfEnWGnjuOQfNYnQaBhUDVENIRnjZYAFCIORLehICvAyKNogyahoSdKDpPrBSRDjizshEeXcioWsfkrFeqAollrNhxUViSJapwqDpldBLSkrTovYxvaktWhJCJVOxKlCPuXkvCkQQidmwLBWKFmnLIQMgFfunbpWASBeGlawDKmyoctoXgThZVSKPDXLQaOKQHyKnjaraFzNfsCCpIjeOaABYcEJhBdPKRhzeUhzjptCEBnSFkJTfHdpYlLcCixPpPnOGyDFOWcjIJJcFTNPNfpiLtYNeCObKIffTVnSLpWLJrbQvyExcKRUFyEZzOJfqnAShMtFZrFPhGGMVqAwEyxraesPnRKAYcwbzxHFgLEECPKEnfVZtyNOkXPwqfKEYyenWWJwJNyspnCaZzdeGYPgyJyjRpMfDwPEQcdBKepvJuIZAiKgsBsKeLwdCDUhSthgCVPcusDmouqCYAvvDHisYzgfHhRnhP", "c_map_string_2":"vZsFYDmXvMYkHkdWxpRfuGMTlYVKEenQdKaUCokqfipIrhgQkLDFqoJOYhplbxZLmBbZxRGNnrLJXLuKumTowSlpvgYqBFIwVtCoobgpvrHwABGhUnIhGGNKhAyUWFkqlMofojouHBcmpOmPIfATjvxvEKBQVFJcIDBtImjnklmAikOfTGTJMNXWAitAbKelhYywRuquJctzqZkjgAGTRKogVIKuFUSJbZGQKniXHHALZjpihekUvNakFESxRIrIoGzHjZlTAczJLhSirjmJjxAhQUPzwUARwLvtFKpJaSTPgShyCXWGJhhEZmBAcnWDOVAlrIeFYAEkWPgVMhgutAtDRTshOxVPMpAiEtFXbSnvbPQBlvZqdXHZnWRBmBTJeWaOlEgnAzcnpEnOsQyZQihlmgjIEIaLrpxijjhwNWOnFdxQmEfZVGfnwMaNgQJYdFCJBLAwwyaqTsKBkhAvkqvGtqWOesMRjeryXDhbJxIQackpLnoIRVtVRiQoyYmE", "c_map_string_3":"jkSiruFzmpBnJAXbABpdgZwKeVlVLzJPxslKfGdnzDcmfrQxtlzAJRxpGkPwBZViTjshcuTtTOyuJQFusPmZAONdNCzmrJxmqycHDhtJexuRhenOQlQEJNmFPDYvQqKSzHPcdycZgfxKezXgljANUOYULjWWdxwqvqcwqQcmGEXxmQfGXtIattXCIqKGVVAhUCLjmBzIpSMAbeIEWwZAabutTEvonVhgnmmCKkQuExrsWIsCUwNrMGaCOQWcldEZccIsLbMahTlyvBVWufVVeTekeCVsZwVwMFKbZjlokvigAsUrnCvWLMimylxJxphTGINsysbawnReqYrUjiBNdOalsMQGXsVtTzktzfcFrMUrFnpgWQqxPtEKWciDGuBpvaQpGduMNtlZCMyHtRAxocuwBpbUnpihQDvwicPgXwJojnEyqaYtjORxwdRWwwQdLkZJSAiaqiaoIYyXEGdSEKhPVbwiMHVgdivOXXTjPGpzqXSjiUqbxKNbIecMNgfz", "c_map_string_4":"LHDbuqOpTnUKrtmwsdvHjHALJcACyDmBFLVHtujZHMuQWGHVdqVAhZuiDVAqrEkjxZtyCURRdarvhhllUkTNYKmzCuWHQwufeocviFQUexxLiycmEJnivIviCYJQnvCtpqShDGwVLYkLFAayyryfEyuVXanYURWkGsSFZrsHKBnARsgSrxdpEvGGFzIcJykWCmuyAOduRNZpbIpZurkxdCHODmvlVtvLDkCXZZmjelcEonjBkFDHgwkthPMecHPFsMSqPydteCoXpnTnDMIhlhsKySPaIdbjKOSqJzcqdkzJxQihdlmLaMgWjQpwnUhecvmIIkhiMShkLiaNrhRRDxWVuDOzkwlMnteUQnNYmRRRSFwDmSARZJKuGIjYOyTwukbStUTSFsynhHdIELcCTvOBPdXzdeQSKQmcbvRmoJTkOlirzakYffwhGphQosmOXcgEwRMagDLagGiNkXpyJlyujPMUAJYFFRFmeMUowWqukegYEFneCUNNvJrdSPro", "c_map_string_5":"BNnREyaMVLRuQwosJjrCQOzKNXhDsNUnrOOsVAffItKoMXqCLDfyrkzNfuwmsjcMDawkmLgzmXJlZUAglOVOghpxHazIJynSUSrOHJZfqLRMZqCiRfyWhKMpkqLVsHcdXWvvFondyrWdWnahPtkdnmJKBAnMbGjiHBWxMpRXmrgulbnxAXBaxCXppmhqYcwhGesLiVqjWFqeWopQZjTHRBxGVzZHkWkDoBsTobECLGeCxetWTndIxCEfLVbwhZtjbLKWnfqVVrJbvLBahPrUNamBXFqpMDUoGquDpWhwVzAnTbStsgmMOjOzBSRmaALfocBZdKoERsdnmLmaBPLUEmXipalRQNWnRYheGnmpZqtmOAhKhZxkFBZpLBNhMVMZNfiVuKcYbYIsWsQXXiwbZWHESRApVHYBiSFfmWTijaLtKITCJsIEprETGWawIgEZvvAcyQAAlRkjAeXrWuJnPLSmpnrITgqfwRwcICblpeetNDQdFKeqpZwvHbfNWuFM", "c_map_string_6":"mmIkiXdOhEkBARXTZZdsUUYnUOdFHHDBHMefwVTizJpiaDJSGVEOfKsxtOQmyqMSkRSdvveVWQTFhAgaCneZIcPUYGExUpbimciArvQqFCJLgbbwdmaWegHoKHCyLfNztoRMhlwTzDqTIONpPKXGvwqxEtQPmhxQZMaxesueHmnMiWvPMLPVgnwEZvOcsSHzrjFrOWSMXcbnGXJWeJRnPfORsVLHFhSuizPxufmPlInIbqWAAORwaAAYCwnneYzrIbpSfrcUaOBOLzSzLlOCnewDiweILmKQmRZQgSSbuZYFePJZMaghanKGqwjoOBXHCqdyGJFrSsAsugYhtGESuPFLLyWBKpSLDAumQJPbtuqHhHeyzJCNBSQtQxVopbtIofhMrwhPfQAtBgWyUFlKARaHRSUdDWsMYkTEjcgpZtgcJjyDXsRMyvmFNdXmvpdnJHrkMvcenygabWrpggRevjJlFvYaIpryvwsiOMNagrTVyWrzDXCcPFDEKRplzuoC", "c_map_string_7":"UgmZlWIglpEXWMThROtijDMSactGgKctrCHtvYbgglKzYjgOzvgMQtOIynauYXeERUpJibeWgKsIipYkVJXSwmLJtgdclsKZmmBrVvzQYNmCgSeGrjBZlhUTEOTFfZdEnSKPhEjmgtLkDwRzURnLrAAMYQCrZGwYbwKCMfsICyOOzMrrDZomluCVxRnTvsvxhXqhJZQvYxhuVEEzDJtChIPUCfjXCQQMxBPJiQJbcZVSjeUqZFskssqGafcuWtcUpWgmuuMnxEGHpHHGKFJPuNvVDoqMtlRpmGBmlKBICKYDAuSuoFroEPcmfxaFakChlZDMJiNEXgovVrpUZMQEbreTOzfNzMLsfWGZhgfWFstIgeUWkaPpyAutoolLzyTXUmDOVyspZUYohZzFNzmqMSELQWqIXMvIjsWsuOmbsrZiDHdlvDfozQZCgOODOLWMXiDNbgdLBlhuuWJsJRxOqRjAuGngurKPVrLvXnncwTqfulxQgnAgcsttkSDdAbnV", "c_map_string_8":"EFtoIPKlwJybIqiKCnXNvoeRLxQvfDEeplROsvhzOKEeXAiMYMcIRrofkQwYaClnJYFucBswiPdJyKZceMrJkxbohtCFISYMnjgpusmLkpTSwngzovIoIqgSGnwLGgCMtTkFiDnCjMOYUvIXWrYAjrwbDvktTVPxhSbAthnKjidYmzIjWnHBvLefDetCWSHmTFnEJoypoShiNqCGBrROMxREIGAuhIQwDNhgEsVSEVrTtizTpzHZVuLSDkeXhJmAwdprDXCHUSmfgIrEJLPvSUlEcCTJHjNbjxRfnrhTmJQIlDnoPUrACiPMPVWMTRvxegtUymwlasVMOfZvddkkDSNTDLQkrwIpwGKTAgbqCxJqxCXSRYpHiJCTAXMIJUTbSTvFyaDoyIuizFXpfsFEAWTmaDirBdJTWMwEHVQMQBRbuoVkMKrjqirVPlftSTjFEASUwaNBxbKmUlnaFPRBUgONuSUtJtXtjFFfuEQzBuqGaoggfsYXYMxzJnbMpMqD", "c_map_string_9":"llefvgHKunzMJoYbutAWqgXBSnbsqpwfQdAQeDzXnKyAOaIuqoRbldbksZrXVbFLjYRlqstdcmWnoOfFcpgtOzFEBwXYlaBZNQKVwcnCrCUpRtmExXxcJTjGZpVEmCdfYAmdIDUIRjmximcXureWyEUfPidkYxfjYWzUOBdBptXXHgtERsQuqcTWSURylxspiUnnbKinhwhiJmxNOUUqvRoFExBAPWrmhkxstOJPksbnVNRWHZnjstQADLIAGogmsYakNWsAsDJgCIoRLhubUJesrXaYIjMShVIbPqFtnKwyYsGIqEYVevyVHulREgZPzConYVBtzvFgYPLhrPMLktrsAKBSatnyMsOZtODZUOJEHyqrTHmzwkqklduQBLIhtUTBmspOFBUsnshgTGSCKalbDtdgIiZZmlVxGHjCxRTurJbOcsDnMoKSHMsgRBgDRDLBmQTQSZjaJKCFFgFEptDIHSigKayWfnchRYMsDHKUdwNSeVGRzrpioPCrrhbX", "c_map_string_10":"qcDcMhUHFtSAVDCglMXvqNQILtkAXbhiMtTRaiBNdwYSWTDvWQHjISSEtHqqKiYfDpnECgVfSoBLBoBObKgSFosmqZtbtEIusBBtWgilHcqkTjZnfqJoLPHbaGikcYRvxzixcSmdzWYMFVpKzKVMCbImtflSzzdULPNWkNVCsGLzpyDiRStWVcgHpIscpbPUNEHhbRdajeZMKwwWMRbgPUkpJpjgeAoLABsejfXXzhKtkGjYOMBbZBjNTthBGrDcMXVRrtGeaugENxFfbxwVILAJaciuadxNgFmDkXXdZvtlVYRcfuJRQEgrvoplsuHtUyyqpqxjNOCFGqVnCnNJIDNEuJKDXfhRVbChREJCWOpuwMoZqtmYcgRrXdhoWfuTizoTiCIMdVOGooWhAVcYgFZakLJoxNvEhklHoeYitltTteFAiXvyCEdldlHycVJuCrdZjQWYMTxzEEIsecxlIcCfAJeoQezsGlmJuomalmRvEUvaZAlgAobyJcjaYwmZ"},"c_map_date":{"c_map_date_1":"2009-02-10", "c_map_date_2":"2010-02-08", "c_map_date_3":"2001-07-23", "c_map_date_4":"2018-10-20", "c_map_date_5":"2011-01-02", "c_map_date_6":"2004-09-06", "c_map_date_7":"2013-10-12", "c_map_date_8":"2002-08-02", "c_map_date_9":"2009-10-02", "c_map_date_10":"2000-06-28"},"c_decimal":54.0371,"c_array_boolean":[1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1],"c_array_largeint":[-6531423732702742935, -2457171364934692411, 4656328987288122254, -2557385747757758257, 3615204279729928617, -7629595707902100385, 7488723362076430895, 8120971273825799509, -1345446010212709664, -4778472209088034311, 8170742344054453090, -4498533505404277367, 5473710939847028194, 7344609543056403165, 6558424987661957754, 1254908628008746932, 5205789208617818211, 3417286583984729486, 330830582042485651, 8302539181244768685, -966838483062661012, -4805062584255258479, -7466380393984413368, 2445907627364274866, -1794513347415963257],"c_array_ipv4":["MHnzfPYiDy", "RcsQpDxcqk", "pMURDVMIPt", "nixPRZRdhx", "cIfXTDHGfq", "OjPXjJcvEo", "KLSVERcywT", "kNmkkANPjS", "jdnGrHrJrW", "GzDwFPhoMr", "ELXoKltJot", "ysiIIhlhUp", "rXNvlgPnsI", "qMnShVnOwa", "PMYDDVJkHa", "HrtaZCiVvq", "peteYicpLg", "NvbVknZPpL", "aOCPtRMXrj", "vySULCcISj", "URUXhzToRH", "BnXTWRvqme", "KrrbYnLGLf", "PdmHMyVWXv", "YdBmDHvpoU"],"c_array_int":[1583245724, 936698831, -1479705257, 825421986, 1198482039, 773956187, 1902307339, -1333230617, -7471071, 175817087, 1543616316, -1270170669, 660913591, 682221685, -784294518, 1987119667, 2058260002, -1428293485, 1936059526, -2079413567, -1928458711, 563010542, -1164035824, -1287754935, -505383407],"c_array_bigint":[4899698554944524647, -1278516989898860397, -5886276545483284228, 633624616729720887, -1617757283120358615, -5279206176310038340, 9080611575932788184, -5194103778275862669, -5272435743756403771, 3192930542782771344, -2144641467993230830, 3850511805492841237, 1466108957456051332, 3760193150721706467, 467365561736923262, 1542313163156062842, -5212534591436288473, 9119141261436982931, -5689815149577321111, 294150225686869680, -716025169855794337, -8149434906778659926, 3801796767219082034, 3257900099957884458, 6688539519296940873],"c_array_date":["2002-10-16", "2006-05-16", "2019-01-06", "2000-10-08", "2007-04-26", "2016-12-12", "2002-01-05", "2000-04-17", "2012-08-19", "2003-09-12", "2011-12-18", "2015-05-05", "2018-02-28", "2008-11-23", "2011-06-15", "2014-11-03", "2002-04-22", "2008-08-08", "2019-05-16", "2014-10-22", "2005-07-16", "2015-09-18", "2019-06-02", "2015-07-18", "2015-01-22"],"c_map_int":{"c_map_int_1":247465547, "c_map_int_2":-219110799, "c_map_int_3":-1881540110, "c_map_int_4":1720392364, "c_map_int_5":-1495749655, "c_map_int_6":1813048947, "c_map_int_7":-1241012479, "c_map_int_8":1763421337, "c_map_int_9":559122806, "c_map_int_10":679944546},"c_boolean":0,"c_smallint":-24252,"c_char":"UnQNvBDOGv","c_array_smallint":[-30009, 29911, 22846, 4029, -18958, 24522, -17453, -18679, -25254, 13910, -23886, 14350, -15012, -13327, 6889, 29387, -273, 6087, -19520, 1526, -19700, 8729, -19001, 10064, 26170],"c_map_ipv6":{"c_map_ipv6_1":"fb86:d30b:6aa5:cbd3:5607:c9a:2ba3:d469", "c_map_ipv6_2":"a60c:d256:832a:18b3:945e:506c:924f:3013", "c_map_ipv6_3":"852a:1851:8c5a:46ba:eccc:4162:da92:4942", "c_map_ipv6_4":"792f:7ce5:d26:e881:135f:a7d7:1d8f:7c7", "c_map_ipv6_5":"6357:9ce5:a731:3044:95b0:f4fb:a4f:a28e", "c_map_ipv6_6":"861:3a97:2db5:c793:21d4:ceaa:293:db3c", "c_map_ipv6_7":"ef11:e6af:5d97:8cde:490f:4379:e633:2d66", "c_map_ipv6_8":"4f70:95a9:81dd:8420:71ca:9aa6:3b52:60bb", "c_map_ipv6_9":"e197:715d:7e97:822a:985a:f73e:7c69:8cf0", "c_map_ipv6_10":"b017:a015:fed9:bcf:bff7:29aa:7ec5:77c0"},"c_array_ipv6":["yUFNxhWCIJ", "KSJlYZKXkb", "ePjYgjkSkQ", "qWqmoeoEsV", "FYsEUXtpOx", "ztjpfexNCg", "FnqdqZEuif", "XsknwNeMUl", "sbyUiIkcVI", "WjAsSRvMAC", "XVkeqBOwAL", "ZIAPlciMvW", "CSAULNEZWs", "wYxnlELUWO", "IAhYGbdNLA", "wreIcySEIB", "GnRnJtURgB", "aOwHgJdNLL", "irIMmbHvfZ", "AksRzsKusl", "HHmNotRWhN", "qcJuHpBFms", "UFlDcrMxqf", "CQrCNwHUFN", "qpcHXVuDdN"],"c_map_tinyint":{"c_map_tinyint_1":67, "c_map_tinyint_2":-3, "c_map_tinyint_3":89, "c_map_tinyint_4":-113, "c_map_tinyint_5":-11, "c_map_tinyint_6":-20, "c_map_tinyint_7":-55, "c_map_tinyint_8":6, "c_map_tinyint_9":-20, "c_map_tinyint_10":95},"c_map_bigint":{"c_map_bigint_1":6870108803468815742, "c_map_bigint_2":3494953123978610731, "c_map_bigint_3":394630406418209820, "c_map_bigint_4":-6966822096262947310, "c_map_bigint_5":-1469526590385378537, "c_map_bigint_6":3632504487572557091, "c_map_bigint_7":-5376719423718791598, "c_map_bigint_8":8670360584247188013, "c_map_bigint_9":-245992637969381044, "c_map_bigint_10":6691489603334357444},"c_map_double":{"c_map_double_1":55.177553649576666, "c_map_double_2":61.92825600796242, "c_map_double_3":37.03198115090202, "c_map_double_4":97.55254770764535, "c_map_double_5":46.666098379523895, "c_map_double_6":96.0624772616743, "c_map_double_7":55.47052422220003, "c_map_double_8":97.48311858967408, "c_map_double_9":32.5158583221723, "c_map_double_10":51.09997203605995},"c_tinyint":127,"c_int":1819869818,"c_ipv4":"201.82.47.12","c_array_double":[70.08864358677822, 37.654973454239105, 80.48216449690352, 13.996740156621966, 88.99257034475355, 24.168727973285037, 0.9551828156921767, 5.422811951354669, 15.06978338670023, 29.375476763675824, 0.442029047511868, 88.80476553157547, 54.13655412332575, 35.54458727987143, 36.701011666884845, 59.96458869673098, 21.293792666321693, 42.244196186438515, 97.28433900282478, 65.52304135537551, 27.54082430216339, 66.19473866752139, 32.57601581129122, 27.44185956957137, 11.55459152056166],"c_varchar":"on","c_string":"uFlFdrxdqJZjPZwszvlHWVrJMAWpUWDxUvoODzkhQqCMKUtMNFKgyfMySIybkASbkXvqHNsOueyFAaGRZxZfsPxLoncEgtUPmYJqccFeRCrrWjYdpwUpgvcqrMXYwngOvDBJJwlpwQsrtxWHyBumvXmVYsfTpYFuzHcxtDcjVcpNyHUxuQDtuEYjwsTHRTQAziuDxeDaMtpcoVEgZuTRqKcWKtwStDkylHiwMXSBSQuQacAmTAwWEDTSLuwhcqAojyezjRaxcXrQnMyRlxQKmgoQPvjvQUkGgUrHjTwxDAEnIywDUdluXXjYkdpVZxvzGFtkwkCHudMfCDXnUsJmwaCPTubjfQDZKgcxklNocATZjsmvvYIPNnhrFuXAphCEOZwltEarIwgIdEMQemrMronBAmUUmMlFUYPgtfbjXtILiCjfftNBBYmNGLTREXWFEPdbGaBdXcjVUSIUXefzjRbUphuVERjEltPNpWkMJDGBDlwYyuynwUHBzzshFyGh","c_array_tinyint":[9, -31, -70, 45, -91, 112, 24, 66, 77, -128, -116, -83, -20, 50, 29, -6, -30, -7, -3, 30, 26, 92, 88, -43, 42],"c_array_string":["uBGwGYdZBbCOKYEqBAhHkaYSjSbDXjmXNkvBIJlTwdcHzQvOTTyaDGgsnZwGDFCnVYcfihimFOMOADMbPvDrWOgjUyaZnZJmNGjxjEjVGmYuaXbEBPUqGlJHMmvBegquLUrtsfHPFAiQwhFyXHjTBQwBsBNUtoWRRCHQmanVpOZrYuvTjaAaShEdLzasUurJBDWOlhfTwgYyxMFFoAufucYpUoZgvezbnoRKwfzHpfuAGkRFIDshqBpsPwCYsiEzMsKWBXpcAQFSPZrFitBdSatJhgMQALkAydcEdBRMIhYuvIqajzhKWsRvDRylvFMdhgPlPnpLsAlsijMQoXnKyLnDqTReqXhRClvTvHLgvnMXRQCRSerRBUOyEAqNVwBAQEFVDNWpPUBewaWGczSorBBNzDfqRCLstbMbTsHRPSvJLsjvXemRKHkdNMUGLfYgOmyCrncHLqUQiehokQQEsjLBcShFvlzbcczIMWygZhvbmXYHXLDzVDwhjSHDEyro", "HfjQHfTWwBjQzQuSTtGljoWbLFreORTIzwxWSqHNDryEfQgiolOTNCKZbqLPIgPtWFWSCDXUhGOPpKkGctsasPvfwOwoJlxIMGWvoVXQhiDGEExLMTVxgqICdNLSeAxQihFngEsPrEJvzemVJaYmdDpobhPzIGzqQtZIXGgtSBeBjArrRkfoitLpkXayhfzHdfIfPqLnrFwDJzoYydwfIYvFuaWCPgtqNKIDHagMKLEXIjLazEwJEEOqBwDItBMcVleKnDyFzIwbZJMuwMilBVhxXVMMqZtMsFzuMYfSxhJFWuCcmGZtjvpMSOLdEFMGrudYZHpfwnTwyKnVXUQQpArlKjqRYhvjULcDEnmcnfMWBccSdFFDKQGxiUqlwamAyUOrfdkehDPhmDOVTCjhjJngLRjPmtIOSIBPGBSAUdmLJYnAPbyQFHxbSRcFtRpVjQZejACTRCQiFkyByevNfmymxhfRAlZVelnXBVzcfYNftCjicIubQwsJaWXuXzni", "irPEfoGIsQhaflCHLEMGsRCfxXAFjZrqYbSyrVzDjEmQahgEOxZlMcUngsxGEvuXuLhLemRHWYuhhEGHgqhQUjzuWfssbfTxPGIVCeHTIjPYhGQXKFubENSXssUFjomwxHeZqprzRjGqMxvpCNvXxHlQEYjnYffYTrHejOtruCuvOaiAuvFofcWoDKgUEVTptoAxcJLVmhvsGlAcyEYBmUUNshNoTvfoBmhYrMFeEpuSpPwyDygYuNLRDsWhhKBYBvirtIaABkTzgeuvdeDdzEznkvbdAzkxAFPBiZBYeZbLnICpRgqgZSusClObhoggZafyyhZahGmfZBvTRXbcauXNSnIMUrkxvmFysGjoHKxBjBudScWIinZfnCBHruvGPphjeiLgZfseBWPFIVjmqdrvhqfIioPOzvblRdNFzgPCdPMHOSQlfSsHTXUMBFRaHJLPJthwiWSqphyAhJjzCTcbKVYFxyGtJIRvsxVoTNTxjyqLmNuqCoDHdunxPoUY", "IqoFCGTIznNnJvQDVbYrOcyFZToYPcXXgPyKngwKlPgXIhLmTyHgfHFMaHvivJBZXrZCtPkbRzjkUQMyFBpVCMnzAaQpCZQRZejJlxBZIxolFXrZauGtbgYJzMcMtcIpEQMBaSymuxEHBQUYlUuLtSyURZrXvlrIApeKRsZtEItwKmYSNQwkVVZEYSsClLWMUZytFNxmVIyRPMotIeOYvmwbeXUgbEGDlWYTFJKauzyIBQxNiNIJHTTJjGkCKiMsReGJmKmsFHAFtdfjGGzreCjkikriLaYKhdYMnNGwxazaWgkbEotqedBjlHrTEsxtXSmlVltBfZONewSwfipjCGMdNOUqDoZgECGcSNSEuxElzkPXuQOOQMLeGbnylOAgYDUlobSRwbcUZZoURXHCTTTnsSrHpFDNKSBMJToAJQmfcidrUndnXFRNYlwyzjinAtwoWhwojlsUuRxfLMwUCVIeJtocjoynBeQOEupuuXZNWHnvnqwUbgyczzIARyKy", "JpimKVWkXBAgkJCsfqCUnHqkqgESGdLMBLPhPzzykKwYrjsUlWwWJWvxurbJkuVsgMytQzCNQbLAdfFnBGSDVoQkFTmCMXGRDXAaKofQAQtquWQZeZfpfIFdeRVJfdSKYeagyVwzMeuREAsJVfSuKerkJeceIcucJcGMXiMaNOAbeQWdvyzghuHTCzxAmQqnLQNULdgQeWCwWDicKrYoaiJcRLEmHaqOZArFQvbaGjnCRqJrNatOszlImnUFpaUYUBvONDxqzKIkoNwCLIrSnuVLnCxQNaduflrtJBFyZnnBiQvSxJrKlIptkAjgnPklRIRUchyZtLSqyWzvfKxcHBfEAuuLDNXyBFSUYLkPCmDYPpsSOsaIbrIkYkRndUBvjVKGIpnGuIchigQNPgHLFwtMJDrcIAZripjPkZRJiXGMFcFBgwtCPkIptvgSvZUBhTUzCpmbnJhyKLJvXpNIdMGOCwzHqmCEVRWJVEHEMVkowgvIadXfDNGzPmylLhfp", "YjVeOFkkhVFazMIHOSBzaCFVQJKvHNiFHvLrUfnYNEvIDYyrrkeifGzjvhLqdCVgTMLGAiNuVZpiERBsDlUpbLoqePmGtrpgmHGUJZhTWTFpJKPHCVVPJiurkyjXqGgGKYODEiqCZqcoZCDenpSavXBZHpzjqlyDiyPCHhzuNkxIqGydLLqmiqeJbmBCGkttHWpUGtvDgUypqWBlybpTvcTCmcRYeTctZkGmpMRVYOvgxInaerLdqouXAoCDnCATeKduxhLXRbmXdrepQeQwhAidQUFyHILbOmoYyYLiFtFZlWDKVhGUhucutNzVrnpYnLkdOxfeZMmcgkFjbCsbsJvYbrCMEiNWqBsuoMxZjvcSCNsgPbISheGOppTWkkQopPdZTxLNfkTbiMIAHkEJSRTzmUckMWcHJQxfVFIRTffnRHiWNPdbFTwUKRaeOKajzJGrlvfTZFJypvxSoDdpkZKZBjmvpaCFJnMMseIUYZsQShfvjGuRiinXksexsxrK", "aOIZvYrlXAViJZRXyVaGBpvPuGSMUuLRzSDMgaSScptOPjGnuxfcVHKBAFdxnaatGVaWszZmPwSFAbxPTTJWAGAJLmDtePyDOfRrACuNaVeBMGAbMGvHHyMvxVWVMvBYcXXzvezZMMrTuoUPjGODfjCZuSebuEjDixxnwlVkBDGYPFjGcPxNcCXVUpqwIBIlqgmVguQWIlDzzFMfGtJpYftVDlsQeUMxvxlPPmkAXsoFsRGZbEzrrFmEnQXeHkkJuswiWIrQlywnfAyjGXquPEnhuBTKnKZZoZHLbbVSQLnhmLbYYfBvrNVUJKyqinuVQxUMoRAkGwqNMeZZEBYqZaTYaFNBlgTsadRnxgAixvdxLLzRUFulCYgIqIGZKQWyscXpoxjSbKDnjtRsPrNTDqgXzVJAgxGEjKQLFCRjqLXKAJAmxSWyFIjnjTnXBtJYWRrYcFYqgHFwRXOyxSUXbbAPWaTQxLkXkzxYyOQzZFcgtvCEmBLjhtsiTQScbNOz", "NZjrvClmcddXJBYeuZZohHCLFiYhgzXNGCKcrktmpYeUoNVgJOVxnVEfKZkzaFXFyqRTxppKSixUmGGmPVmYhJTOrIQiXGZFcJyJrPXfhtzoyJAvDwjsFxAHYDRXKyebhLUJcoeBURSWiAiDzkvfzJQFNQFOcAjswgTOlZPBpLyQLmYgbatcjMoGibhyOBUBPUioQUOIxxYmGASWWVhhDkFlPxzllBapHqbGSHMcUtEfpxwrQGXvJAxJYdcdsaxiuXVWzIxqZMgqUsGtfeGdpeJFgqeYGsvcZQwcPytaADxODhKpPUspUFyDNMDbtSbjdkvuSfVgBkESuusssNXVOushndcoJmbNVpTYTkMrDJJjEhrjnlkVYMcwfXigyPdwqTscupBzKkmGBssMnSJRIuEyApwbiSAAesdiberVRYwcfCmdLVUZmKwaXjQjeuSLmfMaSAvcbPHDDrbDCOAGqjiLhoEnSJvXUChsNBrmGgYwtBZVOwIlowuWzhUkTXvD", "cAGePWNYInltXoQTmpSruPePyrNXOpbHWStSNYQVAruDBktqruwZtcdOBmvBxyDRxBOwODQZWtwvrlpnReHgqVFKzMXCDQcpnVsmbvOVJjfmdlGdhHCYdNzpZlsJUOSHrHChzRrhKhSfwLWuAjCFxjugwFMxdZSmvMFksPLYnNnNJziLMzvAViFiXOOKCiLUjgpTiyVcRlNlBZkrBIkpnhedJHCZUAlBmSHerPrGrWFwQKulZkupZRyCuEQbvKwRLJViqJNTSrrwWXBjYHUhpsntWPozWmdtIOTpKdjVxzIRPtngcZvnQBeKHNbbhUuxibBjatFJDhmcIYcVmdDVhTcpoGvPbmBAWCAkyswgbOivHPJjeCcQpogMrkjzLzaABaLdRBoSCjRKlVakVItaVuGtAFhxjceIwtHMvZzKYshJvFdGYTvJgCINNbHNSkzsoTOuhQPtoNeaGdPqwOqMiQsMBLiDDzNiRxrhoUIgiIgyTWbpxAZpgxgmyRDVuDwJ", "MBvBFMFkkdwOTkTIkcNUYiNBHYIIhyUdhOrTYETvyjLptzYMJpsxuThghyKjgoTrdjuTEOnbSwMDEwwPYKxzLtQDmxYdIXBPQodaOOBkaumjwDxlWSQWilYqIMnMaRpiyEjxcCVCuNrkMdqNPfbOsqPDNGhYNqoLrGCXwhIwOcJMzthFRJEzuOFNPRmnFKHcRlPnHHIWMAUzTEGmkLaQHRgtFdqjTxPWpALjRduCYMQwzmDgstvfyLNkiErZnuznuoofjLJQRxNGLCjpzaeReEoUFXchLEnwnXAXJnyGWoyuKujsLmDSeRsTSuUNvVQQaPbmqXhCECfgtjzjHiukTVuULXMGRiQXVtaAOVDdIDkrhhVzEOUXRFwLKrrjEwcFRbIHqDWFuXIbtIpQItqZPoEYVrZHJAOlgyRLwmZUBrnzPNdACPJWhlFtGtcpCHfrVpRURxJtoQTlZyQvJxDhTIssiXmNCYgIVLphATUJfARuNTuUlZzhThIZoauiyePp", "WBQpApUCTlDACKtEVpMvFshIBDgopGurChVjLPLOiXEdDWhSONNPcrKAgIWqvtxrvnhmxGethXHpyJCJBiWdAiCblwFiJWAsNHrevnoTUgrWmxCYHfNbIoMviQclSsGcFduCEINYSQRVKgpkUQLmBWtcQdewLnGdjptbNwkoWDTifsTLVOcWSpNnnPahbuSpjdJXkusshLmSfIHaiEivxdIeKjyVsQvCcRstLcBsaEAoMBHmaCStREFZoFwUlQiQjAicoEkOpoDAqnDcXXZojrehgqdhWoIkqQVqAPaWMHTlTOTLBlkDkOgBRyRmaMONjxYElvjPzUoOuLEeRdzCWQEjmDwkTPsijTVOsJRXJmzpPiubThyFPzWAryVqmNwtDIyRfqKYOGiGOktBPNBJHFRmtahimrseBXmOabTpBFyHZqfCcTUflSyddDZGldWQzkPZHWlQiLHCJNATgzWgnvopLHKAbPimoGXHIFZbmVwTZzlESlHxnkShPxDnubaf", "hUFTsBoyVYbpiImEUSDNiVzSQfASRhHPFrevQcwFhPYHPdesuVDRhjbowFiHMpfipwhuDhXOCJECtFHNhvsslzKHpUIZvdrmEVItFKbFMLiihNuUEtsSUcvNQtMpgAkygJxIFYGHSoLxxDOlJwfhKIjnIsPdcwblvetjmUlOhWgMplljSwKMtpkuISUWeDMprMFXIxZKoMnnavCdfZfwgarHXGPMuNKSTGAsKusYAMMjwnlogtvnxmjWmWMFbhHDmsmXRzEjOUWFbLqFVEaYxbTpXCbhpvKBMmeYIGLRuwBAKDFlhZZJrCaGNWBnGCiVbnJIphiOdQoBkhHPiFVGmTrpuoRrcwIkqZfEmpPAZwqQBtpTVjjEFNMdoBECpBNSbFahAerhMIzNZhgetrAOyptvNAIUDShFGlcbYMnSfeiPSGwSeZkCBtACYMKetJSeOzzrkmutFkzqDCBukLAamFzsLjuNIRRGxqoRCvZjtRslmlwJiqZmUcrhqdneNJoX", "flWPkFjXCrGcOKwlHFhWgqnXYhaDaGKkfcXvWHZFdMAJRthmZzpNBDDxGTSrVUlLzHCSRvWSzvmPLovKwUYZsMrpURBXDQUXhsDDRgABrIbjhjLxexIGWagXTikjtgnlEtsaiVijkskVTWpainpbEUEDQyMlLMrnhqJxPUqZpEhPzamcesSyfRiSRPeqqxraAmDGFmvDcRqjwZzigujvNgxPheJzrzzYyODKUBeirCCwKncnnwSibxXMNXjgPYWVhTNqjlASHMLXSXsJiMJmQhJGeXzfDPESuuPfMcAyaNccuESWXYaYDNyScZxTyrAigFQBBWIpEHkNmGntoYnNVMFHZHQJVhSjvihWfNxZXLXBAMZPwwxbOUTAumqSALbhDeulQvWHCSdqpHHaRdwsrZYFFrvPfBxKLNgGONVOCiuErWhaPYsIlsMzeaLpPoUlokJzyYVXrDqtEUYzXMXBUtRsHMqOEWYMUisbZvyrkcMKLRoBdwZctOqALKrJOcZB", "YcFXRlNKPHlaFJbhHlpzWWzQGpBjfMawZBNHAiPVHqrWOjIbaWsBsxTUOGuSMPEvHFaJqhUMrFKHZlhxmAsgVKmtmHpAHAIIodCKSXGWGwuDVCtEingrQyglhTVnmAcCiwMJXmjeyIGaXTKVEfgfSNgOQPqUlRnuHxGhUdBRYMmXKGLtjdMzSfPvvbOXqwZptssfDSsSzQwfnUznpFOkWpHMCEVvmMFEeTcgocoYtVmoDKZxDLnSIkCZivbhneCZsPwQvPbEATCpHAuXrUSjEmdOTUNNxvScFHFzxgYoHEamqlrfMwihMOdBqPsGIkuzsdnvBcxJzQeKXcWvZaYWYtmejPZFSAQShroJLVYVKRPROGcMRKsqKlLOaJgicBXIbHEgpWyiBFrcVLaRITLkaFpGunHqNZpulSTiCXPMRFVgnuuPoWdrbbdawznsPspSadWFSRdkjgyPwwHtTCBSWNADlRgjhnhXcyTCnMYeyWXUCWwsSLdCfWMpmYKMOJEs", "SwAVFOWxYHBOwSWiYHHVMTkPiekkdZORSNYnmcdezxYLVyNfGyLPcXxTDcTFAVEnSmGvXxJLxfHNtVLSAMabYCtwApFJWNECxuNhQESlJriIvqHiRaVxLlBtBYLkwsXcxSEdFaYxwDwPhAhyMPsOvjntyQmwFBRPsDfaStoZMMWOwepGUVrJykTJGsSlghWwKpHujVvNLveonSoEUeZfLOxkykDNkBgSFzbAGygiEsZDweGRCzmxUuKfaypVIDvZTwfsCMtyLhJZxNHWZtiPNDlXQJAmQJAWdCyVnndJpOQqDmQkNMonSjpKBjHQqnrePdQqoDgoGawUiTzQjXJLKIeeQMNrjwzywTdRyvjYBQGiAkTBhHaRGcQUpckFFDmLrRiMBPARWwtKLTTUDQuuQNAtTJmLadOdeiFxyPKZHJWzBTYFKYxgijQJyfsVzVQBVngyGeJOkerVEPDZKAbikZkxSbjsaaeFenEveGAuOzFLfEsJWGxeSsTXmVgCSdco", "ZaEYVVevkXUWFBHzndVyMzOyuallKyJiwmtEwWEoImILYcZtYHThylztsriaFPaXbTFwvxifJTnyhMxULcYRitbeEIGFyDTBvXQcLLxiAtnilOxGoNofjjdDfoEPKpqSwQcBEHFqGixQeAAaaJBTziZDpFgSZTSTMakZlbwoXRiszcEXSDyeGcFiJxNgNhfsOHgMJrLpJaZmyTxXoVcPgHsPbhiQHbLbAqUyATVWQTQlOouHKnPsWKUzHzRyLsRdOOkhXpSNyhnSRVetJTvoQKKrlQjCSNRfOrwqjcbHzljmwHPoZgjCFAlanfHcdXgsORTjUFVenUOkmbqTojggKOUxIsFyXKRRNFVamXEAboXNXMXxFgUoZLYwLqKAxcvtcgPIuUxoIYmsdWGAvViEtrbJXrBBwfGByFKzoYIUSyAyVjhoADEuIxGrPbiCqYWYJmPCaCHGGCiOdwDqrZbxDjaNCrqLRiasXozDmASjOKUuCZXaTLFtIMULNKfxWRay", "EvhdfONrdGhqAsmQKolaEkLXNwJKGbQkUfnFScilMhVvFfAPYxRLCbwjuMYTeLXhHBAsRloPmmvqTJioXLwBIgNCknQOStYkVVVofdFSBaNRYAxFriCOqsmmpAkoFduZWGEaCumXlTFCFLvYVoFueGbBmMAyotBcOLkbOBhaIPunrfnJHgNFkTUaFjzLUcTyGVfsdvJrIDQnvNfyYaatncchAQzucqHGtCpqqRkQKIumNoWPGhvMZgWYCCrbmgyXWmoFeIWLinXFUtEfaNqjuQfvrWpgvrVuIformnEDOfLNpNLiLrrHxguLVAEVSoBPsPPusLDWlkCUQVsZOcZPVpAXRxOFGKyggHgfnIsnmfeAfXaEmKCuPZceWrmnCwzkGXUtDkqSAQOHpkrRUvaeLiRoZsTOuSVNbvJQByaeFxwhDOvYoGsEXLzxNgWCegyfJGQpHOWxxjzHyXZvlDxCDuwDkzTTppBgzMewXUkbVOrmwXWhuwiOKywFPgroGibO", "AjIoXgSVvLEazcqgRHWLHmeuvKFJxBnfpAMTfxyaOUyLrjyOylcfvoqgqeRwWVENRMZaYEedrcnOjyxMYgNSHCnOKhjAjrviSYAdsjeXpzkrQXqceHsLdjGUmfGMoYNddvBrehNArEfjIaNYOabpcqWuniIJsNRiXGPNCjzVvcqJvvICcHanFmZJCuFVkElrCUrrkIeSusRjEofuVdikiJXkrdvmkXTXFjnADMnvIiumHUKAqYhHgVvFxIeHtRUgGNQNcIdTSgWMqMGAVyShPtzlTqfYhimvppaQDcTnfTOPqPCVItwcnVikwdfJsZHToSbHdRCBbrrRSNlqxfmDlOtZuqykqTJpwhqBiMfuTkMWEtlfbNeDkBvSdygaakHbOYBrkAjfrhIzPTqbpJhyOteNmafsXevhjPmWEczjbYPaoawkOgUQtEtbDVBtRVzREuVdJVKKqHXwlxaxbAErSvVtkSMSVfswxcPuNAztYKIsyKhdVuTjvRrhecgnHOVH", "rtGVQNuAgEgniIqlUmaemYOjfPrsfJtaKCKWJEjGJRyfjflNvVbMULtLagtehTRrZVmmNJkuOebLESCuVwJrKjyYJMHYnSNmbxmHtvfyqacgvyLkczqnQXhfaaKaoShVSRmCNdnySaLxypZUmEUxXrHslCWrNuPtXGfPwYnnTCYxmTjNBvOGFqlqoTYQtVaPnCEkraYsRadAZlFnhTQMdrkKnbmiSbxXqFOQGROgJLVYyKHrwZthBwepPWyDDQEOrPYyqaxprcuTzbsYJJGrhXfqcADVIJQUEYYHjcWvZRHuuVeOYVUUTxLGFWTCtUAOodIPvacGKGYQTmEaSIFDlWYvocOJpJcXTvoFofwjrMeFouPRJahGHIXmUuMCNqtcVafSJMkbTPCYHeAXovBsMVneyhFMcVJYGGdDHabNyYzNEMVdbSlXFmNevyWIFJhLMATLiZNkABGkcMwaFBnTPpeFEVaUCzsnrzmHuURwBkyqwNkfJVoiXpdQSTCxZljI", "zlzPUpmxlwSFxoZbGGyjPKMaLzgtZzeVaetRTAkQlDFYNiARNfoKixIMmXYIXdwEJnIXGLZtzbxaIZVQQkuRmvInVyErFzkUtcUoVTwzZejOQXaehsIqDcnhIMgOxxXUtDKtJMMPgwjLelCoHUOZRDbiAtgKuibQmWzeduEWuTJSqAELNsNgysgkgBcivDOqiYcsKxVylLfWkIaaJmNRWzpeDlUdvgtMbSeSKClPPATLPnlYFfJFUbYjOGJUwTQZQMtwrTsvmZRQtHmmXCfGPXHLxeRvyhbkmcMaFYYWgqeMdzRFLbWMuvqcOqYyjocMxaUbeXRiokexPqHqgUVYKSoyFGWgxHsKRFLEtodSLFrBPVrLtKpaOZLIIsimSNADpdnkTrhKBOufsmoRXTJdbhprdmeHtbBQiLSXMYFvhqnxGveOhkfAXWoPFoPiPxNHYLWmbkpSXfxehtSdurkJzTjyqOAucPtlncSyvdOVVzFajaRoRczLpfIOvYcwcGBR", "dzZtMMvUSqSaDmDjDzEPZzAtgYJykHrgqusjbsVQLwinjMBQvUNxGRmsReRAhxPKdpELIgctDquPNhfRTBZJCiSjtNwSqXeTyynMNkrjSVdrgjmgUEFghDoCQIMeqvFqJPnXAOLwznwFRkXkAasgNnordJrMpKPlEcDiUjjTXgMPuENtnxMpzUFkcSBlWHhOUCPDNCiLJwTzlPcMsunINMNBjagJdnESMajquwWLNmkgmspufowzBpZzjtRiDvvxFsaSyZGlhCzvuxSTclPSpvIwfaUloPgFsctmnRvRTebeCFTbPzDzDeiHActpiQyRshOeyLUelbtitaBhfuHwEiLcWKHMWnXlbvEUbCeureHTvMqBunVlhrwTwwFHkBxnjiFMKIXPqsRFCbRyNdYNHRExBEnVLpMoHYfhVTAmYDVGDPQbNCgWVrjoROOsBVGyUMaaATdMuXGEOGEXfhtrRnXiRRMrTSeZCMnroUDpZoEpOWSWKCQAzhgZPoVujKai", "SoFamAmwLEKSJesUVAiwkPlOmXFIFONiEkQbMsusvxwcRIBKMgCDdxhjVCPydavGFFlGOfzdtgHzfFLhDknusAFPyRSyESDLlftFPCgKTnqhvHfoGwKMsbGtwcetCeMlGCcoIEbuerDDyRTRgDuOPjEiEvMQieAlpCcTdxtoPWeeNOzGwhGcysTbvuwIiPivzYzufumtivuECcIEyYNhhoxQTvFmdAtFHqtBkEnwauxbiBgwEUejOZFfqEyoWApCiNyXCMgIzlRJSHLNEIvFSjsYbppzNhVVuGoajjFTDaBQfrSFlSUSiIUZuZGyNOkDikxnSZhDddlUuwhOnnCWqLEGgWvfrvLfQHxQDKyfJZBoUuRazGgoCibFEKyJVmfUBrECUfcYyYBJoBIrHAboojpAkJrjHmiSXkLVtRyFNMnWUlWTteRlGUQDhDeEHdqIAiPAihWANqtJzovQIXCDjGZnxOxDNBVSqnNIXfoEGjpjGmqatTylTFBSvaETWjAi", "KzZUNdqOVfxWuDeuYAhmRaOpmrSVSlRuGVBbhUNNwhwoAoWfghLLZqNIyOXQlLGczJSDyPuUZfYqdjWlJoPfDUyuXeGFYoZKiMyGMmIDPVaEYIZVdwHiMjTPRtgWPZIsGEUnTKtPdYTOKstcQNnStsEBlLzrPolVBQPeYSzHwjJyiSAkGQAJEHCuGKJDkEKKkRfHnJaftLVshfBYKxHpJKRmLQgqsNtypZCxZCnPflsUEQqnGdlKannYJceBFcDRXjchFyZyBGneytdzrwlYrusQtfykbVZdWfZTMrTqlgeJJHbtjlifYQwdhWZHGUNWdrlwOAhygEpyfZLlUKazqZKZRZkhoOaBaDtYUnnaEIvVJcowSbqncNaozWhCPDFojEAfgqRITZCKjLqHCMIpckzuUfKMeeyDcskJyhMVtTdJhFnvHzGADUajEkupiAdEBzmKbGqcGPSyQoIaECcVsORxZGgDiuyBTEQrbZIESDKWqEnyuPQeqvIcJPGCeEoH", "fBwbaQvmlRfCWOCfzSFmJtdTkrRniVyJGStvMLUXLvMLrMOEsuJxVIHSBeQHaVqqpWrisUeyjjggHavGnvWWoSisUOInyNgPfNGcMfCQLPxidPfCOPJsfMsvjfBISTtzxUSBzrlbYslOBluDqDjBZmHRrXPbvYymBchClNXyqjcrgqjEcaMasabzODdpzhfQBuDoWuUHTSYwIfjLFsUPzICAVUSuVsqaOZxYqoScsspmdLgvUzgNNgFgeYCIdVqmwoSXYYkejedFhhNUimlVNtjHzKfoqnzgUpwccYjohXtYRadCJnSbsGdEwrBDLHMDMVUFtkQlsjBuEDIJwVgqtQTVFHYqSiXGQvkxvnbehamIYHnhEseDTkGzTwrPvGtktBVLrKtIKQdKaRqeAYYUNlBxqBiXrYSlmJQzbyXVBQsKhDNWefSIIBHduJgQqlGzLwDAZvPNNKJmczJJKyULCGNhkcmevKlugCzxlTgjUmRFgHHEbyECurdSIEwEikWJ", "VqIuYlPShaBouSANXeZYVonNzfTFJfUjgpVHkScoVcjoynVMCxNRPAirXykiQAiiPwkvGsrRKhnMvAQByOcSbAhNLCerweGmWcwAafaNmOZRDirbjPNvGZxUfWeKDMVVMcSbkGkYAxxLoAtvuvmENycGvQgcvhNyhjeJZyfVKONNYZkuHywNBUWWlopZfVfJbGJRSefZczIJYjuKEMEiXnhjGTpMBmqKsKKKESxriOJmuTszKMoDqLcPgMYMTjdVfilgmjMmILGiJrQQlYAweiBFDUczRvqpnZDkMCtlWpcfWdnugqtHHYHgqZfKnfGzTSwYIIoejvubSFyDCgpcrEGvoRHBbdSMxbzHgxkLYJVxxVOuzwrUmlHEuBYYJKjkbqKtVEwimqgtEmpHeYoxnEjowUmeHvwzOUjHmdRlivTYdmgbBPlfIsmBoTTzesWITzRUCmCteTVDSQDHCRhShFrhdcnycsfNiLXpaLtIxjFiwOvNdGsAMeNIwaRJevHQ"],"c_bigint":6189973111263616585,"c_largeint":-7348623791433247412,"c_float":78.49755,"c_double":50.79041894582103,"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-28235, "c_map_smallint_2":18161, "c_map_smallint_3":-1576, "c_map_smallint_4":-29367, "c_map_smallint_5":-2337, "c_map_smallint_6":-31814, "c_map_smallint_7":3702, "c_map_smallint_8":-8990, "c_map_smallint_9":8751, "c_map_smallint_10":11091},"c_map_largeint":{"c_map_largeint_1":-9138531754682626018, "c_map_largeint_2":-7091707720805771737, "c_map_largeint_3":9128077441957946816, "c_map_largeint_4":4151867811392828177, "c_map_largeint_5":-7635689228573543077, "c_map_largeint_6":3696092831598637080, "c_map_largeint_7":-3606549990778429154, "c_map_largeint_8":5152955070281628850, "c_map_largeint_9":2058198404291979045, "c_map_largeint_10":-1351949759666493496},"c_map_char":{"c_map_char_1":"aCrSuGHzlP", "c_map_char_2":"BljstZWVjB", "c_map_char_3":"AUdnXrEkdH", "c_map_char_4":"CfFDaShlGI", "c_map_char_5":"WmwrAMJMzw", "c_map_char_6":"edTlwtohgR", "c_map_char_7":"BwHonkfHPu", "c_map_char_8":"cDsnhRpyda", "c_map_char_9":"RdIycETkCc", "c_map_char_10":"xmyeQeVOZZ"},"c_array_decimal":[69.1508, 87.0119, 3.1362, 68.1640, 92.1618, 52.1547, 37.0796, 46.1939, 79.1938, 78.0791, 12.1827, 93.1384, 9.1819, 79.1458, 52.1411, 52.0944, 63.1554, 52.0589, 17.0362, 57.0180, 14.1762, 34.0546, 79.0296, 30.1306, 52.1536],"c_array_char":["wJJZntsjrd", "NfncDBmApd", "QFhccqQPqg", "VlQDfNKswL", "AKYCTzyeyQ", "YdJefxykQc", "QxMBsrZgTI", "VzPmwaumkE", "qTJOmBcDZh", "fcEEcppwag", "jQSRwqxxxp", "XXZUDlOtqF", "wnLhpVaISV", "CSGGwqFVUq", "udNdhGixyR", "ycNYLghUAz", "SyCkTzbWyW", "qrruAEDZME", "GoQvJYCkGq", "YNXpYJUACE", "DnieBcCRoX", "dApmptsOxF", "OFPiYiHurV", "yFnSrJPXxX", "qCZiYuJmIW"],"c_array_datetime":["2006-05-10 05:21:53", "2015-09-27 14:57:13", "2008-11-06 03:16:51", "2015-09-06 03:36:30", "2018-03-01 01:29:21", "2002-03-26 02:24:17", "2004-03-25 14:44:23", "2004-07-01 02:44:52", "2009-12-03 22:55:47", "2005-08-19 05:03:30", "2005-10-03 01:44:51", "2007-12-06 11:19:45", "2011-05-24 17:58:17", "2010-05-12 10:47:19", "2016-02-06 20:51:10", "2015-07-12 03:39:55", "2014-10-18 09:26:30", "2015-06-17 09:26:44", "2007-07-18 22:40:43", "2005-10-10 20:01:39", "2019-07-23 02:28:05", "2015-04-01 14:25:32", "2008-04-26 06:01:50", "2016-01-27 14:37:40", "2000-02-12 17:37:34"],"c_map_varchar":{"c_map_varchar_1":"efbTvjUbCBrrnMxtRODHYJSaJlodROLEIYdlmAatTUvApbBlQZiRfnpYWtMbJdWojjZGawRvwSJjJJXiHaqteNIuPdeNoGtKUDDtHJInkiFdFNpLqHrGUJOANgdTXxLKcHZCBEZEEMXCvoSGSnKkKLssUWbuLRfKJgJfnxoCffrdBlzkkzqflgSlCxyYhMQHDWNaMZmcPOWrZywsthbIezbitqBEcbKPILjVbbqeXDoiMBONWnZxeIZAzAPXvkeK", "c_map_varchar_2":"jYBsRHHKuLnFAyWQfVyknhIwiLPcHmhnnGExpZHGDqBDTPQePCxXWUMdhFaMbsDxPPJZzMmEnCuhAvRIjKGvSTJFznwFgMhvCIrWQhKZrMKMQfSNwVmbSXFnTzJnsGSfKTPKXRSGfUUhLeQfYVUeUzLgDYjeNBhIUeNMAYQGOchXSoIhzLznFHZJOzfWvoHWsHZrMZURXGkaYUVzxmRdlEMMpQhlVZLHBexYkwNsyYwofIdpHJHAQEjYBTqnbcNe", "c_map_varchar_3":"ezwfqvWGTbhrUjMwsSvNVMafYaWmPrcBzAbgwcRMXhuOMPMwhKmLihbNicohiOiIFpUcchkVgClFDarfKlYaLiccLmiGEAEPbfJnhZzPbUOFsZZAaCbMsclXIbWJRMudyFZbJNcgnkmIjEMcClyjfrocPXOPdJqgaOPEkCuULXhoKECOJIpKDIBcwVXcOgIVOnaGwxhucMpPELdBLHfibdByyjvkVDuAWZLeJwFMlKRKghtEGKzNvpFVNlmaFAOT", "c_map_varchar_4":"ZNrMEYIzKmfhMBQZVdKtXuVpGetkJymDeEnhZDrdPGfdYWOPNwctIDGMgESAWfsJclvMNhqfXGebpiCChfSOIOjcPcULlqhTLQhQwIHxbCxNanDBuiaKCxzKafapXtiyKaYWyceMbtsrIxUWApzienjgXSrcVWTvyLlZOzJvgDGWsoElgpMjvWHlddizBepMzFLxeuSPvWEnoJWktrmWpNECTAEjxgVNeJNADPOknfYifBgIjJWOaDSlUBgbYyvY", "c_map_varchar_5":"zrApxLzUFKsHMDyEUGejGYKkbcuzuWdjxOMiBNCMSByYGkJvfmPElUkyGVpMfDEjwMoEXlbeqDcCzXIiNScQVFrFejRvFaaEpjJCPSuRwXkufxfLjNuDhzbaIImwJJCBbYubuApCaFzHOLHdSTsUhcyGaxfsfcGCOMHKZrMJkqDANJoLfnExQNADalONucGGAEUQPvHRnkjXblrOyjHUcQoFuuSifzGkABsOOssbeNRtwqPTKkwggmUfcaUzUkjr", "c_map_varchar_6":"ocCdtuVKZlICxJFXnObKVZzTjuYHprPslcTnCkompSXfiVegHqzXDhjbBqCDGhtuZWeaZfhGthKvepYGndWMigyzAbtyGQszzMEPXoFwVxTNrqaYZOUMbtagnpbwuzbvZRYsQVNFxxRIlBMXWajrWiXLTukJjvuaNuiGTLxAwQLndQlgpocVlCvbFuUyQXHLEqvYyNfFFrGZqzWYeLRueApTJQHJScXnhZmGuENCMkBhVzrRpzGhKUWAyNdpQMZa", "c_map_varchar_7":"veDhQNMtkXOCMygbNLSatgteWUwcadzNUOXBtOlpiESmXNgJxVwfcgMkQxyPvMOieyVqlyNeBqlIfIgUyjsteQfQHBXqCliwxUYdTVlrHZInijBiDSYRgvcnJUDlGDAqDFABvwEmwaogNvaumYOUXiEdzquwSOxfdmfmGLCinaQRbLyjbkZqRjVAWmcrsVIOXhnIVoRhedQIsEGwrsjcYxBpOeHbJTQrUFvAwPEUSxwQMXNfkRmkbJFBemOIPdTo", "c_map_varchar_8":"QuBHHkwZGKMqggvdMwMyIOKbDqyjVLxcPPbwtPnDqoPNhBtzqIysjoBNKlZWBmxUtjqhJUIzvZYMzOGsKCLUfMnVXgIaoJuCtAAZNJfFXMdQjKKOXSzyRGNPWZwMiUpvkhflizDvyTMiJpdWaXUCBkOEwyUWKCnglAvNMRUeaBRzPxRHgMuvlTeGXDXUzMqWZtHtnlUOeYSSElFZdGoMeNqQxeirGMQranPofpGpHYntUMwRNCSSKyaKSsSLoBPu", "c_map_varchar_9":"VMsIdPczoxCFtsqhAOceoGTUmwofAGigKcapwXIVWZoKhegxBOgNMYSCUytvRLWQdoWGsfhKMrpGEcwGKmrTyohJZbxxtTaOSmYXJdmQqDPeyOQUfQCKWEBUZbOurKWXEMjjQtIndymWBMCQYXwPBOBqdORNjuserGpRfOFbdvaEriXGLYYNpfXIJlKXOPRPsZHEmFepXOjNyboArNaZtWbryiJwhvRxwEwnBxQhFBZJRiyWktlBUAvBpDmAtLff", "c_map_varchar_10":"NpeIprDFHfYvBMHrboNYBjVetQpequwTArdtzbOUzooeZAaztDQKCNzLzYmVnfZQTkAJTqiLFhCdQQIKlChsCyBhjbxCIeZGmejOyguNjCPHLchRjoAfgUKpfzPSpEWIxVEISTmGbehZAQSnvavnJuEQDbpDqLAGzsMPRKLKgrHniiGdcgGZjgFehLshPSzGqItSupyDGmhjUZoxxfrGEXZFphPbJTWlrHwoUYOnTyRIOffmYLsealtyvqCNedmW"},"c_map_decimal":{"c_map_decimal_1":6.1226, "c_map_decimal_2":2.0189, "c_map_decimal_3":12.1155, "c_map_decimal_4":60.1188, "c_map_decimal_5":5.1485, "c_map_decimal_6":10.1388, "c_map_decimal_7":39.1546, "c_map_decimal_8":14.1951, "c_map_decimal_9":51.1264, "c_map_decimal_10":6.1004},"c_map_datetime":{"c_map_datetime_1":"2011-11-12 09:27:28", "c_map_datetime_2":"2000-04-25 06:31:56", "c_map_datetime_3":"2009-04-18 02:00:11", "c_map_datetime_4":"2001-07-03 09:42:40", "c_map_datetime_5":"2012-08-09 05:31:25", "c_map_datetime_6":"2000-03-24 09:25:51", "c_map_datetime_7":"2015-06-06 18:15:10", "c_map_datetime_8":"2012-01-05 11:42:22", "c_map_datetime_9":"2006-12-08 12:18:15", "c_map_datetime_10":"2018-12-15 11:28:14"},"c_map_ipv4":{"c_map_ipv4_1":"39.150.112.198", "c_map_ipv4_2":"90.213.175.197", "c_map_ipv4_3":"251.31.191.24", "c_map_ipv4_4":"224.188.178.18", "c_map_ipv4_5":"171.66.182.89", "c_map_ipv4_6":"180.38.145.111", "c_map_ipv4_7":"109.43.215.93", "c_map_ipv4_8":"110.156.31.212", "c_map_ipv4_9":"106.74.81.150", "c_map_ipv4_10":"174.237.144.107"},"c_json":{"hour":20,"cartype":"Passenger car mini","bool":false,"nounconcrete":"rainbow","timezoneabv":"VST","preposition":"from above","domainname":"centralorchestrate.com","fruit":"Lime","bitcoinprivatekey":"5JcK1HrWRb4hrHNXVnk4ov8geVTgmh6czEnuJRvGVDg7VtQaivC","errordatabase":{},"year":1972} }','{ "c_map_int":{"c_map_int_1":1315789578, "c_map_int_2":1843756974, "c_map_int_3":1738018545, "c_map_int_4":318602535, "c_map_int_5":2128766506, "c_map_int_6":-1953810987, "c_map_int_7":2062340993, "c_map_int_8":-145163208, "c_map_int_9":849676545, "c_map_int_10":1585788413},"c_smallint":26231,"c_bigint":134884707339998703,"c_ipv6":"601a:d384:e83c:b6fa:8bee:9ca8:b2ba:81d","c_array_date":["2017-12-21", "2017-11-14", "2006-05-04", "2004-11-01", "2013-04-06", "2012-03-01", "2018-06-07", "2002-10-10", "2002-11-27", "2018-01-11", "2016-08-12", "2005-03-24", "2017-04-16", "2006-10-03", "2009-10-02", "2010-09-17", "2018-12-11", "2007-11-08", "2009-09-01", "2010-01-04", "2006-08-15", "2003-10-05", "2016-09-19", "2010-04-08", "2007-05-19"],"c_array_boolean":[1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":21754, "c_map_smallint_2":31935, "c_map_smallint_3":-22930, "c_map_smallint_4":-14933, "c_map_smallint_5":-16582, "c_map_smallint_6":33, "c_map_smallint_7":-11868, "c_map_smallint_8":-28388, "c_map_smallint_9":3505, "c_map_smallint_10":22072},"c_array_float":[77.05171, 62.285484, 8.449384, 88.51494, 27.622078, 67.45997, 31.198221, 73.264114, 74.43381, 37.136917, 37.300865, 87.95714, 23.50499, 70.19264, 24.442038, 38.147583, 38.13494, 55.746033, 96.04256, 20.667408, 42.1539, 23.120314, 4.295272, 85.20826, 8.930517],"c_array_datetime":["2015-02-01 22:17:02", "2005-10-06 19:33:20", "2018-03-09 07:38:28", "2013-12-14 20:04:49", "2004-05-16 10:51:42", "2011-09-13 15:23:13", "2013-07-25 08:35:05", "2016-10-20 08:10:51", "2013-01-23 11:18:02", "2015-04-02 14:44:42", "2008-10-13 06:18:51", "2011-01-23 10:35:44", "2014-02-07 07:34:14", "2000-06-02 13:08:32", "2002-12-16 17:21:41", "2001-01-18 11:43:33", "2001-09-28 23:40:59", "2004-02-12 02:10:21", "2009-01-03 16:45:41", "2013-12-20 13:36:09", "2008-03-20 17:29:06", "2009-06-06 20:16:14", "2006-12-14 12:30:25", "2015-07-16 15:12:53", "2007-09-24 16:10:48"],"c_array_ipv6":["zjYalnLpaS", "zcsfYOETWu", "PiCEKgQCyW", "CLLIQwRvhQ", "oPbexAQCex", "moEICGKTCI", "kNdmEhLVTM", "VcwzkerBHF", "pAvxQaxnqD", "BWHTXLaWLk", "IjOocQYDMp", "UhCXdCVUJi", "wxDrFLXwMy", "bwboUtZyKd", "DrmtAhwVqO", "lHvEQQYXax", "kUaydpzeOA", "gOsodOrZty", "yCBPPzYHZM", "lVKuToXiEA", "GXiphXggOE", "ovhZAGDmwT", "wSdKnTUqaZ", "yMjDcncmLJ", "BaqxIYkVbx"],"c_map_tinyint":{"c_map_tinyint_1":-36, "c_map_tinyint_2":114, "c_map_tinyint_3":75, "c_map_tinyint_4":-71, "c_map_tinyint_5":8, "c_map_tinyint_6":-91, "c_map_tinyint_7":-119, "c_map_tinyint_8":92, "c_map_tinyint_9":-116, "c_map_tinyint_10":122},"c_double":49.410660309769604,"c_array_tinyint":[115, -64, -54, 2, 23, 15, 62, 103, 82, -57, -91, 34, -5, -79, 49, -82, 47, 59, 75, -105, -51, 23, -128, -61, 101],"c_array_bigint":[3939771999059599922, -797660875668323005, 5536913232800371, -5338375491583257193, 5941999840974987839, 8478936057630024046, 5717028851670872157, 46125330261845028, -9189716825997221799, -7040353682997550585, -7552626543824431829, 2359776745771346321, -576617982393096279, -4996996957122896462, -6315873457823318178, 3074658271016083064, -5827660771338996904, -26111222901090746, 2958772038439491643, 8817564227536337347, 4677751643567711308, -1100416652667297290, -6363417826064395734, -4875701750142042891, -4328967676499578108],"c_array_decimal":[8.0096, 96.1854, 100.0516, 70.0979, 84.0938, 0.1870, 84.1587, 17.0178, 62.0926, 63.1293, 2.1606, 25.1986, 40.0319, 78.0540, 21.1904, 98.0455, 50.0726, 36.1093, 6.0851, 4.1127, 76.0986, 98.1361, 80.0346, 92.0239, 9.0738],"c_map_double":{"c_map_double_1":3.3345974386392885, "c_map_double_2":66.57901698819788, "c_map_double_3":65.36874550987231, "c_map_double_4":37.53345670843856, "c_map_double_5":84.05503045871444, "c_map_double_6":53.823656641004405, "c_map_double_7":59.83871871326227, "c_map_double_8":29.089643228003833, "c_map_double_9":34.48148094858926, "c_map_double_10":57.916545415647505},"c_map_varchar":{"c_map_varchar_1":"zRhavYreCOJBzbKvPdCFQPGrXbJxOQXZmxKiwgZUhXLxjlgUmJAmDpLaKbCgnjISmETEQvDxVThqznQqoUJQCldYQugIGZCbUODkUmuCINrLlfPxssjnATWEdjsvhrzNMkNeJzsDEikzwUlyDZlpxgpDWKkILOXDbNhFkvbkllAQPNBShJdGNaIqKjnxYVePHUxFMikowhisJKGTeLgVuFqtTpeStqrTktoIkDxKcSCGpqPDZhDpMqLDsJvRvJTS", "c_map_varchar_2":"FCUGcmSzNJUYlNCgJbqPtKIqMuqOEudTVUfKtLlOHsBUjEBCsVmSXLdleiKtGLJQjzpuzWkYiAkwtBWmglniiczRPdwUkEnoEHiDpmNRgRGhNwncMfGRRUUzQAuWUPLOIOsjmHzrMxrzuxoTjZvZteiesFgZdiwLOcNDyMopoBoYEhPcCpKkDywRorKJyxTOZkXPHUehgJBFScTOOVtFdQkuJGdmtcbzlMzHgNsWzWMxRiHNipOvUFPFqVbytkMM", "c_map_varchar_3":"SfnDyDYAynknLkfbUJGPhgVlmUfWUBhAWMbvMCgFkztLGNXCaHdJYXHJRnrEZIPnIcHhQpqvNYRTQCOQualvIvvcUiiDeQBfrTSHcOZOnKVIKABqwzINZdPaZdvMqaxFMxdYxGGCNmWRAkEfSLoZQDuzncjZMTkuRkMorUICyNjrlLKNxTjWKiZKVolxhMSurwlLcfrBpqezkePIRkdqWUWHtwarQvjJZthmuNVRapbRWiKOMhziADkAQijrFawL", "c_map_varchar_4":"FrpKNPEDeRAKKqJkDsQssXIaQGNGWKfIbGFTYSCapZRCWWcRbaCBDiJSecIYegspHBqPBYnRodOBPhZAWmKZHUOamLoaRvDVaeAAEzAvDAQrPkDPSexsdVPCPeUCtuCHntGuiVsanCiIidTjGOZUCYhSWPHrYInSqMmavCLxrNYxEkJblsTZvnmTNIMVvyHjOIdHBDVSHPwZlIFTPovJpCxprcxrALxYxWFOBOZsyenmypLufrvNgEhpcJwMhkHv", "c_map_varchar_5":"ZcnQEYTVwMflvtiWzqFjLjlQmRWcyyLtarcmoCLlTEcEkpqJEyTLypXierefxbwCliIMBjwacaUxocnesiTlUzGzUjobJIPxnBPKeTNLAyQJfYmoToDGjmBnurvalqUGSAmcIPCvcCeRcRmvCNoczRRXYtZjNQukqJJJvZNcqVfqJMzJSGDEuabCVouyGZNyhcyCDSSLGYUiympraMybFkncRctJTdYJPLkCphdxQVBkSTkxJlvxxEUDtKVnzqwi", "c_map_varchar_6":"QeodgahwdOoqzbygZZUDDckoAcHoqASklNGsBOtDFqdVDpjRXriYwHhKXxKNLsMriBbykPkMkyeHUKGNjMZgPwASVVZEGJEHESzevQvofawoxvjFDjxbwjNyOAbCNBEnRtBSkzeDlgiVDiEprIKoJKAYVxjRlmPrdQUmXcUxXhtEWUMxjSjmNDwVYaGGeHuWTqyMBDNweqnRtFGaJstYKYnMLaFiPbZBTNrMHHdsVpSIqHqDypAvKCEpDtDMmFxC", "c_map_varchar_7":"oqgopmQsQvuujGItWFrnnfeFEQQGzrovROjxvXcUfTpHLYKJTFsIHYGoTFTibsbYHBOONItcZaXafPgnDaOFhYwPbYQVyQLKWMZnYQJNeqIHbASkYKwHUZYgloEgvMCNlfvAJtOFiUuVczeQAPJRxtanDKbJTAfzFMkbcCKfHLvbmggwzgLftHTWUccZteddINlNSnDvqGlDwamUrTTFrMcwjvtpOTCMnoBboPQQbBtVjlNuCOgVXCHcuclIMzDJ", "c_map_varchar_8":"FTmLgNqKJadFiVFPixbKCmGOFyJgkQdksTdNxEbQBtvfnKQxyrvMygQrsPpmfEQdpBxWGmOolECEIqbnofMRmtuELlLXWnEvHkFRuymHvQEeycMxSKYIAwMpFwOiDOTtDEWOzZzBnwImiyzaFZoiRKqIezvdiekuXCYWNbqcMpYCUsnDuKUPneeAFZkpjMukcRHubgbALgUZybNZAaHgBGVBgpfcFgiKbGXpmTyHXnvKeLHmYPCLkPQZHChtHXrX", "c_map_varchar_9":"MnSSQeffnHmlfnuELEdRPpuDHcDMZoEZKbrNLdwPZfVodYfxGvfLgKPVEbHOYjNiuURyPMIWReNZyjDhJtIUkcTWyfkXAkBHzILFMTTTwtLWYUgMdgreKpHvQsZtduBtIbVanunjhrvBDcnSVpBjksBwNxGIuypLRFCNyiiziNCVlNNRaJsqyFDwFETxpgqPuFmLGjlMVwiEwEDdVwcKAugmCGTnZRMmmUuHEAhOZmxavLkHCOgPHfyHWVuOqbeI", "c_map_varchar_10":"yeMkCXHTvsDzhYhCLwpUBsmGqZxZBzJcFFIyMaDzwZbsZkjKqATelTqqSvmseISAyuCJbCLglcCrIsSGhuYudLAliBCUzjWcbfQyeXbZHhOnvsZylChQqJOlUBxJYHRKSlKXObRCjUCGCNtcYrVNWJZzAPfkXgKciPFHRHtOgpuWfVOsGjuifywCcfffnmQFskWwtwrPYuDgqSnfQvBGiAZXcKvKPJWhkOhmBBeOswxwqZwRfyrxrxmkDDebGwNN"},"c_map_date":{"c_map_date_1":"2002-04-22", "c_map_date_2":"2007-11-12", "c_map_date_3":"2008-03-21", "c_map_date_4":"2016-08-16", "c_map_date_5":"2012-02-03", "c_map_date_6":"2000-11-19", "c_map_date_7":"2015-03-18", "c_map_date_8":"2001-08-11", "c_map_date_9":"2003-01-06", "c_map_date_10":"2004-01-12"},"c_map_largeint":{"c_map_largeint_1":8316847610833506742, "c_map_largeint_2":5903927018467592347, "c_map_largeint_3":-9072998280663285353, "c_map_largeint_4":7731055050916425421, "c_map_largeint_5":1134561807056474321, "c_map_largeint_6":3400808279690696140, "c_map_largeint_7":2743021809732316791, "c_map_largeint_8":-4847738091242500928, "c_map_largeint_9":6551813215293088607, "c_map_largeint_10":1162668055077470028},"c_map_string":{"c_map_string_1":"KQCxwrzgcqsUQVwXiKdegdqsrUKXSutfQQfVcVdItppBcpkZgjRmixKEeKCFWdkEDSsHpUjeRxfUibUGpHamlyjOGKKNCdZfVVhzSGmeqZVXrBenjskUzLElhVwwuIkwyxVbkzyEerCfiBAGuYydkbOmiVqkVeQveWDrzjjWMKNfsxGuFEYjiYkpBDsNWTMNEZGWsMoybBoMbzQTqZpBrGcAtwBrTNIBeUzDQHUoHhEqHKletwqyaZoJFeLKSaVZaPaOQhuZNzgPiSTRPZvumCVCOyzowFDwtEUdxkvuKKBtXhhTiKNZsIRxmyVXPUcQBEJCXhhqtUzwspKmmJEQQauLwIPUKNsdFXHtKseAVNdbIEvsPyMnFTVVxUMrNKYxczZyennjlYRXPJSEPMHAkTBgbouRDUkpCOBdCjiHmVrEgXZCQEGOVbezblbWqdyPqAgCmpiceFrwjBHThGWVcKaGjYFvQegZhjYYijpNwMNnNGPHTlWiDSKtrwoWnoKt", "c_map_string_2":"XbbpUbEHlyieprURDHAXqqiDDmhzZyQaJShZsGlcYtxASVEjlyUsOCbpymEatfbOeAGsEUaveKIxrstPmgDWxxEtRVrQsWXZbUxrxEZmqRwqiaAFjRHMUOahYbOiYrOSpFHSBBzhworElOqyXOGbwUOktepzZVjFZMGmBvTubSpjXiyNSbHDcQIDsTPXCXKtmpFtAEiaDrsACNDFZdHEQFMiQxbQEYOyTIOLMSAnfCvnTLdcEDveeRStAwSRalafWBPeMcoQeMTocNvwkvjiNfVSZsWGBqCXfVFfAxVcJRNAWBYUykXEWFzZktFsjuKhaCflKStNmPlEPgWPXmgygDvCSEPFvOWbDgIRBdFjtrtsAFlBlmwpmdnOslPJgFsCbebfDvhbNecHiiXxStlckJQVTzRpKIFOgoTCZRWVXTODIFALKYkuPISXQyiMSsvjncDJjOQhQmahJstwkvOcxUfDqbydXBKOSNJfxkgxMByOlqKpTNpJjIiXjvywNjoJ", "c_map_string_3":"dwRkMqwXltXaAAEmqIhnZxAOZRuKHjPdAEDbgUvXtNpwXcyRsfWRTPgmSJIfgiVkkzgnLdICljSawkIopYQqbsIcGIRDdLDWfZteqYcTHyDrqAGsQGKDAKswLplnxkIoDPMXkuPyYuDRctrPJnJmxsKvaMHYRtkGzGPtSBSTrbHvFGzpvAGwXBKBmfQfqndJBtgKKWFanFSXuHWkNEkbcqXfSUUJfioSqLyQeGQczxhzempIoepQLuILMONEqNHLqptAoMSvQYtNTprUIoAjqqVrfhHRPCYjGdPQVLDEspoxlAKEyTscwlaODwxeGXQuqCiVOizfQqLWbkhBxTRKafwKrSMknypVIZMcuseSEBlptCZUgEMFilJhDoSsYVqWXXQkdjBzhcJGvBrLgfvYsKlDGRDWMaxaYwhFcleUbbzIQQvbbUrcZyqxMAotRvkQXBrreRWyKfqntprtZDpCprruUTyXZtqPQtyggPSQFJmcatIkvQYcIapXpGwSXVoh", "c_map_string_4":"HBXHqsQjdirXcNamACqsbWmtlUCTzQKAETAJtwBXSzDLnPTIbyPrbqPcGHsEKXqyNLoEZqIGlmPPwRgHBovHkuKAoQkgmcsyHSRwKZSSZgaznjhhWFmTIGOsahtPNQImvZxeiRBDfkuOqtVWKQMiUGdOsXrMYfultqZghURTDPMCaBvwxtLLhCRDUEloCockfnQafiaWAqvwxvxdOkABnuAmHUjvnLBTasqUUCrPrLUnRqPkQWAsGjBLsmPIRnMfnihjtNwDklUYPmLtelFpeqOisVjaJlIhQQaTajgubnQVBMfQkxsgnSRryDelAJRWpwGYfhochbbwehpFLuWaxgJuWzocPUYnmIxBjzuAQBpVauJTtaXEclcxRMKtEvDkpIVrVzXzYMXIHNeFdxLeBXeUNkfxtPhAbLXnMQQVNboNsAVAgJevdMChJcqviBjgHaRaIwiKIlRODierLGEwvBKygGgYMCBEOrDucbQHqZtGtBViBvYqQSEJWALPYHwx", "c_map_string_5":"qJxaCNMhKeGIpocuuWhNcCMCqmAThSeuztLcTEjvRTXEOKGCZcXlHeCLVgcUlnNRmHzfNOziHogbacysUdoflqxSnqCkBxIYaaHsJVntTFoxIRoOiHBBagubcAdAqGysSestzzpGxvNwpikwqCWAfIptgEHXpUnCIfJUNUKkqqVewfMTXVeZZyIEqqvTnyrRXlmaffYKOcTaBLlwASisjHTgKUXLzFiVRVHNWHmmupiHSUOAzfiUqBaEOzNrASpoxDgQELqhJeMfJgtUUqlKaZCUGIWtZIxjDwOUjehWgbctPqtazlIJuLcDGGGXmoHXgXIqreIOFcoPQWOFvmKlZMiMWyivDuIQWmvVVObtRUeXEpqGQBLsLFdQXlZJimMurfBguEDfNlXaypmbEQvyeQaOEFTwUUGGhzrwYqeFxZaOgJdCtSVBPfhyQoRqUeKGHengCiucvaWfRaamHDQMXPtuGhGQFiVRSiQHqFEqPKwylOqkcajnYiAKIYQnPORY", "c_map_string_6":"lbovNCLRSFgAdoCuYhEXWoabDZZfwSDOywBBOakZhyFqoLZQOqXOpsdBmAOkwtEIwQREdostYXraWaSVHbxACIDDEypvgumkNVGSYifvjodSREZSrzXvDkzahHaVBcEmUmcUpghzJHmAHQEDIjlyjVbeUmdMjXzrFpHeOXbUjVBBpnHGVPfBaXJciHOngTlOUGteJLICWrxwxIUMNDRsjfNlCdNqQrDcsyAdvWpRFZdztHDCNLwvGInzLhkHYzJsLDrJSlAHtwOlUQBqHcgRyRBHprLsIrqDiuZgyDxnPCuYRJOsHwjbFaDjjRPSVzxAGNonvbXNIrmmkiMNEUOLmYGSByuzWwSNcJZjeutqurKJknfFnIBCFLQlCXRRMXduPuLoznXxmfVeGanpaeXaVYPwhZZLHUSvKqpuFBQBcAuwcQqZecTSvktodeIOamgUIMKjGsnNlVicsMeAVSkBZyFSyGteGSeYFkgPiropClEnbxPSJHCgYaYILsvuBmfy", "c_map_string_7":"oRjJzhWTomLTfJbcsznBQDMbxjtVOPVlfnbHUEyLiYLaOGbGcOsqPUBFKYYvTcNuEDixLYmkQErhDuYwCsNziPwUQzDpXDzBmzFoslhrgOOdgqVtMhravuHgTnScuJqdOQqgGzdHvNgBrUpMXfnlsGhwXCveesdbZpRBmGCMkQRReefjbVdcdZJtIMVkzSebXJXjWlbCFGCwhdyoINvqUkmNEtZtwjpwzflUrrEIDGXyKwoUxzfnXQMNRIZJDlbzLcXiyEoyuojbFsZebYuHScrkKITzfwNNHjYiJWSxIjCOFztkDvtaAgnqHxHBpgTdwzzXiHuNhlDmLrnOMCqgexFkcbCgChxWbnostNVkNJxIwzxvzmBVCGhRDpJKkJHlsVDSlwlZEZEXUuKUQWPiGyIWrDjFSRvwCeSvbBfHLuaaSJWHpdYjvkHKIDWRegWjjncxzISshEmukxHQkDMAQlqAGMaHTXYzNhgcIWfTEpzpbXfZCKwQKcMOKWJvjZDn", "c_map_string_8":"akVuNyqfDXCXRUWvdFfMLNBSpCPJHAcYScJvJIhlrvUbGnoAfzFAuFrLCfKwNzwlcnqgfpFDLZTZPMnbYWWDEjrYtwgBiAgqZLyUIhsLdyLKgWiejeUUrzFGiRRkqyZJRltDqmnFRTmVYRkOrHiCubBRHJnsqTbahYfaMOyHauUPBoTWZfnzENgIvUivgtZHvDBNeoJOZJrnGCNybgCxFjEjPQConWVfyCQZVBanlFFBDlVbpqTDFCyyCiMPHlmkKChAMIaSUQJsdLrGwpIJEDPPPnwBoKdDWegmSWQZjghQBBWHdsonWJqVEFnidwGTZissJiBkxvPYuIuaBlWOAUTuyVUPunMvbaIIzNeraRvzmjupcWyQlqDEqOszZVkqWPCaisvaWBCJXkpRmROtVNCcyNjayRZFRZAKZTnwdOZOsLEWDVRBxglpZkMjMtyoBUFFQlnquaNwuKOkCYgYWuyRrrEuUIRePBQbfldRiRqrLztDaesqBjyTSEMPIiWT", "c_map_string_9":"zIIxhpntFVJawHxZzNiXapAuXwwpUMWYbqWeHXUbYdbfsAZgbaonWHgyWvzTNQvLTNOtwbuSrbcXsKSqlHrZrAQyAKvZkpyDVcofTvsypwjYGWlBOrJOozazvnmkFMpEIzwUnTsAoHiUWDNuVAYrdWecIhXaUVMXeWltwCFZIhoWGYYuKXkZDXChtDQtVsIsrxagPkMDFmyLEfVMPvOjpxdnTYjnFaMDqaAxuuplpcfDcwdFrDzJWURAOxPSHEVKcPGqnwefeFGxwCxsLdANYrunVAWAUqteLJIKaseRKMkBTXlunVYuYhjwkPFBBxzdwTAStndeFYWITEPNIKmZnWdEpbbVkFCRASTXLxBwQiubMeQVCvITicDgtKatseJbEOTXhrofGKunNyeuYUauEocovpCquCqFcfqPqgGCsFFcjHXSScJjcNnBfpQPDrEHPdBDEAPmUSGoufinSxsCNjGITvkUqhYmdvxvyZppqFRskdJHTfNTwZmIniUhiBWL", "c_map_string_10":"qAlQPKmtBufwNptAlVqqWHZKrUGOzqDDgthINDjYCpXPnYDFzPKHNhNzjqOQXZFfKurQGJzUDaQwdEAsRZKayNndGfsZjVRGkiBJBpWJGloGGNuoHNNzCyNsCKRaDeiuEvQaGWKMvymLSicdqGBoMevmCwpsNefgScZOFxOMPmeJxGmRdLcTYxMwefpGfGmobIcUEGgpuhUvpYbzZEaaxsHtBcvwpMkdQCEvmEopdBiRVyjqQbrUbuvZoITrMLLVkXmfCMjFBAyIIjWNHpUTeSUygIfghvVKieYnfwypEpAPVYdDKvgoPKVPpkvOntBsEWagYUbXiaCmsJpJobdGjtcCBRjqhKttSLFVhJrxfFyyesgsclvWsDsoAkDJKlYJeqotudmIYkQAAjSRBTMXBjbihlYcXEWDWdoVvLvFuugtGsxWpIJAbSecrCtYUioClTQKcnhHpjFamNauYAEkNfKRYnKenyKQTpmihBzltoYcalFqSRqLrfBjoFeYKBSM"},"c_map_ipv4":{"c_map_ipv4_1":"179.22.21.188", "c_map_ipv4_2":"227.24.195.227", "c_map_ipv4_3":"163.186.116.60", "c_map_ipv4_4":"183.72.33.248", "c_map_ipv4_5":"155.88.141.10", "c_map_ipv4_6":"25.124.197.124", "c_map_ipv4_7":"16.192.44.150", "c_map_ipv4_8":"229.63.155.1", "c_map_ipv4_9":"1.89.157.225", "c_map_ipv4_10":"168.97.35.101"},"c_map_ipv6":{"c_map_ipv6_1":"fd8c:f25f:93d2:dfc3:fa2c:db61:6e07:d726", "c_map_ipv6_2":"bfe8:198c:2be2:3793:7e55:2d5a:5596:19a1", "c_map_ipv6_3":"6ada:f374:359:7d99:e81:dcf7:785f:13b6", "c_map_ipv6_4":"4b76:312a:37a6:5640:65f9:3a1a:99cb:7dc2", "c_map_ipv6_5":"2cf2:d9e0:38fb:7606:a56c:915a:91a6:8f5c", "c_map_ipv6_6":"f0da:5e35:c956:bc9a:586d:55a0:106a:5442", "c_map_ipv6_7":"174:2849:3ca:de91:7c52:4502:9112:59f2", "c_map_ipv6_8":"309b:d0cc:a350:6e27:e72e:2dd3:f07b:78f1", "c_map_ipv6_9":"f5a2:b23:e6ec:2349:d0d:93f1:e6ad:3473", "c_map_ipv6_10":"29eb:5e38:5c9c:a1a6:c3ca:8894:a923:2fa4"},"c_tinyint":-46,"c_float":28.762127,"c_date":"2002-05-27","c_ipv4":"17.211.15.91","c_largeint":-5240952443682214286,"c_string":"nrCmPmCzSbYDviApXFKvIaRgOHaOXDewNpCCEDxRJHkwuVYjUpZRpyNqrlTLqynrSkFuHgahlRvrQfkIFtMwNkzfKJyZyyrLnNcBhpEjvPINKEssXSrkmjohFlJnvITWWjRdxDXPVmpbWLZwOpZnXapQEKzlCmmoHffnmJILHPHzIaUInwjmkMrVeIuUTQqrzFWGClBonfGXokoHErVeRyMiJADZmQmWHUQvexpQflEkMAOHnBEWZJKsDPEbDpFLXbJaZgTxrpdOrHiKBtmhzKrahJwKALIKKWnpkqWKspFbJFfnPmNbPRHRDpFrMxkwFIoQtAdyXTjDMCYLGtaeUMnFzrNGZKiyxVbQsdALdZJsGKADAfHPpPgobdZFLeUgxbuBMllcnaQErWFAMdUMhBbCHXLpvTLOxbhdzdtbamgnJWknQbcbTQkEWOqgJZzwJtMufQcyALFyrBjrTOAUAOxGlPIIdTixIvaMLwufsCYapQPZvqLsMmAKnkOXRKPo","c_array_ipv4":["zeqScEqEFi", "ztrVxXjRqa", "qRBWCiwpxX", "XGrPxsCyAb", "YEvvQBlWUU", "BmPSQBqfBb", "sXOwIUislj", "xRJztReJbZ", "YsbQxcGjam", "CszZUMFBfL", "CoydSKdamf", "zZwfnGHEhc", "WRntuxzkns", "zGclSYsBlc", "YHOmHTgnqc", "FawTdslRDY", "tQKmOpEjlc", "ChvHSbrHvD", "eMRbPmVQLn", "frmdDiPJtQ", "TsdiOrHgwa", "QnOQbPcfpD", "WENCJgCZsM", "VRjSAHFVLu", "XotcSUBqNE"],"c_map_decimal":{"c_map_decimal_1":63.1955, "c_map_decimal_2":55.0833, "c_map_decimal_3":68.0944, "c_map_decimal_4":3.1304, "c_map_decimal_5":69.0076, "c_map_decimal_6":33.0491, "c_map_decimal_7":24.1094, "c_map_decimal_8":78.0161, "c_map_decimal_9":87.1410, "c_map_decimal_10":84.1124},"c_int":1429470476,"c_char":"TzXuZOjgOD","c_datetime":"2002-03-27 16:06:43","c_array_largeint":[2113768601512837733, -8065395103141461227, -1438822205243567722, 2093674621878187101, 2937088800417480482, 5425666531143642355, 4227290330078404765, 4128929189197750213, -9022417586778206984, 4492481449946573125, -366930522660252177, -2546389439284433098, 6172356821160110615, 8184768805465203481, -5889784029694738200, -8955660331713522080, 7562155389452135732, 6076629195553843015, 4224588277808028766, 4663550360552255177, 7572858579290806999, 4683644159860327920, 7840802765087351992, -6624800454264613994, 1190048295053189177],"c_array_string":["jaXStZGwgNDXTAenSMePHzqmQhUfxwOJPmLcdyEnubCBuyCYTJpvKDMacgscdSDIMRCyVVuVNLRgfvqJjICiDEbgluvmYJosYtWBbbBTCKbARTiROyprHGaxyWgtqcdLDHxYvoAbLrRzibOavFfLoQNvSSvADZIEFswfeaSFGQqMPhwEpeOKyfFZtJiIPemcXJHryzXUqVcxDEVTnMgeNkNhRrGPvAFsRXaYHRtmLAhiAJeMHILKtFfKVIodrSBNmgngRzIWGImBULNbOGXiPiyJuhKaKibenWbpIBpeveoYHAojCOKROcbGkKnGLOKavhbuhnWFYfbcVYqqOrSNgXBALASzpsDRifqROSvuIctdncnajhxvrSqtgsZdwlzpnNICjzfUMpETZypkQcIkpRNPyieYSxpOKmHVdmCDxDjpymqRbxZbzafwNjrkDjPPhISKpkpnyFWPLHezvkEcyptahLIgnlCxJUOToNpvuLawwNaocvdvoYjXThVVBlbA", "qgFyjBCjIkyTWCmaMuAKPFQXLwqvxUJYCIFbRLRvpImCtexuPSfuGcLpdzokrBQYDkohvQmeeXIHiPKAcdLjsxsRobFDMFnitdMhujBQfpTDmqvSCjGEZKnuYNGyEluTIWfxyPzAUILIrJmKcHvNoIPVrPQBYUJtxGrZXEppLgDkqbCWvBkgDRHVTzLvNmssQsaEJYLrFrTgnZNXxtqkSpBpKVKAGXDJIuXWwmYkgyxaDcjmiPNvLbwYXFuGIdsFnqpGkUtPNBfzdRUNlAwqGuJaRkZyhJiotSQkZUjaswiNtaBDnZwknmaOhroVjIxHcpORQsHdEgKDeUlgsggGIagWGBZPLVLnGTamcDAvOSCzszPwlsQUCZcaBFFsBtZEagRREmTbEgbCsVOxxLsBqDpLQROFEJthkmHqQuiyGxtlNrhFMepKwtAjpSnFyXKwDIGXKsXEWVTKabzhEcfiPbalyuTJtuHIervdhGyNnQOQYGOzVjxYqMXRiBsifsDR", "HqJzfXHgfpcsFJzyMoiapEaFNSnXRfhcQwDdeariZEOefndvTOztvAhzMNvWKOBvzvXlarllLbUrScXLlPoZeHcWhiNxNKDAgvlJgjurzEXRFlnVSdvLHxmlbWmCJeOmSzRLPtyWHUZnNdzNbxczerIGcUosZBmCzNpeyJyyJjwIPMMypWSGNIKUySkFMIFoeOFyCAwBsNyJLxPHwrsrzaDWOrRLIlZsZlFMgiDZHUoPcajofdJAcYHuEXVuKMCITxwiPbwOOGTRQJcRoLSJfDmQxxKwAKZLXAgbLBVWbCSRmOedoFbcnCPcHUaBqquantjEuxfbsovJgpFrdjIqpjQCBhcytOSwfHJeHzepOSGOhgVeMgCOnFjdnRQTrneDBdohlszStHegYAqqaMtAWBvtENDkDvFCCEIDbjMZErWlMLyzIZJomYAfTeZawWqNXXfvomwQtbKVpHxdOiaLjxygPFUxPPtmkriPeIfdhHRBDzEaiTTUkJAzPiIRqhvL", "zCIDaFXoLUPGxLJfEGeLjAzvKHTzvbDPhvTOcZYmLGPMeClZgrSZFDBNKIFQKxVyvbXrMvUdcAXkhQmPovWQgQMMsjnEWePFtKTVBiHUzwiyVPvKmijOUwtFzYwUkipMgLwpuGSORVyhwZdvinPigeZqKgfHfhMhkkDCBrfbPcecpxUwnNjmCJXoWkKsEAyPDQQKcnXLFlnOJuyrngDPxhuGnHIyZcZrJOZIxQQsQkRBhqhIaUKXHEmkmAyKYpMofcPaWlZNllaAiHtNFoGJQgIrtRtXbrnBvUyqnRqSpEweKiBdFuYIXvEwoONEykEVcAMaCGOWMhdeQmhlScVYkYXGLazwoWbGHplmVYYmqINRMtWaYcQdFPSNiLoIULqCLyxjIatNmIqxWFINiCpsZuXWrGKaiOZGiFHbmsaKAqPgfWWiexxEAuLuFjQFsSWTVXVAcOyoFJvMlAmmonlXsRyMZBiHiQzAWpClxreEzoIgNTfBcoTwZtHnwMSLaknH", "YKnHvFEUfPsBFRBDNcumjNxxELUtpNKdiIisxhCUShMSrjPxBOOEYFZYDejZuAvyEjLmYZabWciCWGimOVQZPKowqLxebPPHmfMZEgijRHZyOehGpzUjMtBBgbznAOXMcGPxDadfynHqpHxPahqoOnBVZkjfZQgobpYQNpbTFWcEJZSehnkJwzVPoUhcZoDtiToDJSWJqJQYXefrPkDVrxiRFgMjWNBxZsXMdYgoSyZSoYYkJAEwBOYNmkyUKDmNXWxKKcfXXARmTdbgajpyvJqMlRbeibLidSfAGvFrOGGUcaFiHGcARWBrmbNUBhFVrTmJeyRUnQKdhgHrlVzwzVkNzYqPYVjtruzoqPmMVaGXXBYzoZkmPmwwmfaWyTegltRmcMbkserOZTdWXeHGENmdpqpVXuJGNhhXXGScSNkpgiRDvuLuKbxdwDKmdvfRlWENWWileFlGUrGSuewjfMjSBJXVQkOJsPRAOXoXdqwHRbwfdmuFESCnZsBjJAVd", "waqGXtRkFjtSGzynTgLiTwIUtNhKgqXabjQzuOlUeROZIYTqsaLLeYliSYSgIqSkcUQYiqldsZTSSrfRkIMomdnQCYKVQSAQoJkeaXpdTkcZleggEMYxGYjIZceoyklrPNJcAxUZzgPatnUFTvvSGqvXmdZxlrZxQMhItwAyIsXIMPdmVWfgzPAkQSNaeJKydDBXbdJDhCJCQWACPOUPgUGYzuqpVmrFhdPiUZIwpZMTNdxKedPKxVSIzoBzxWuQWZIPvtYZUTlbkyWsTcPQxEmuXyEUKOJcoQvKUbpkcoGUqrUOONfUXcMeJmGqJZhPCfpGhbraoftQaEWGapvmYIdPSzmNfyiNYNvwKsJzVazgvrJPRwpJgDwCGexneDawOVTNeCZzBSziyFBACuEomJnNUbHRmnjZXsBOWrbFhoYXPbLWYdFHYjSdXZhCXwLlAySdWJEZescTAHrGXUzLfhZJzrxVOlmkSTnMPuuDqNYWAyMXfEniHZdnVABITbeT", "ErSBvImYfxXhjLrXQeNDCGdHiGQNXckqfCWXYxtRjyYHXDWZUFOZiwOcNoBSwakyhMbOHtGFlcBXnuvVsWTATdwIIaUuEEAJGiaHdtDrxCewVUdccVFuEuXHKypMJDZPebKRUImxegWCDtwzjufpwmegwLsBystrDJIpzieThVJZOCPUGRVdjxLsAJTKeUlqdrVpDfOXAGclakaxrlONuAFrFYqcppjjdfWpneYcSwEptwBmfZcugygrUIbAubaYGPfcYgnTgRlBdAdzMDQUUccvFpTSDabtpFQADfULYrvzBHpCfEPzCfBXfEwJxkyHbyZxZaJAgFHUykysicvGEldvIeCNIuuwGdUvpAWaizAFAuMlqvyWdkoRGQPTgpCbcabiMxBvvxBwikJgXSvRDYWZpzXcIOylgUkWqWYHmWIhdnOhnjPrGuBfIWfTjtNBpHInPynjZfwiGJbkcwfCLhJsrlZvkuPhONWIrDPjbwLZvBRaatmssxOjMkVEUnLX", "VwLgOSdKWuqiBsdvSZNYTrwJwnJEWoICnnrIeQisnZQrapxhhrjdxCyxybIiCbzgEqJPYEaTPcMrqqOEPhceryoevIdgIlIwdZfvNSETkaaXtgUuzgOuFrBSPpvELpUVVNbZxlBlvQaaXEIVsZNsXGKsPAgJqYvLEsLRLMuutTKuAimvQTOwRbxdbDXbXcXGiLPKSUzplAijsmhWDwxGATOKSDChWOmJRcxCKzAIGwMoyBITBCLmHjJNAVHEoIZoyYfHrwbzNecDxUENnZpfTRNnfFVnjwbBsgAhBSRNKWUpCqnkDanaEVDOzHlIFNEKjrpuKjjjyJMiZvWtnUjpwlMMWWiqFJvOfTqAuTnUTChxkIEcmyJnosNpykJePurhEqySKzLxpCtfblUOKjheFoIgSlnNtcVQoCmZgcgwpYZmnYEQFIhDsLnNsyJvQGMOaLwxGXLXvkhkMnqpOSChAjaVavTWzaTGqgIcpmJKdzOhPztGnLySJBPspZNLCQDP", "bbhpFbLoDLECqgAyxJRckelKBvznbmMBzxSiqXFCvUGJHeoxiumBqJklnUPuEoXINTEBlUckKSdHGVWmYMjXybPgsKPvWxylmluBMsDFlrnCZxJplrsQIxdZBCsuwCzFTLHpDLlJDLqOdlcATorIYcXCKaPwlhTrBRQzKZtlEnQqvcCuJRWOEcjtUhrTviILsHPEfchEvKrvhewzChVVTRFDXIVHkYxocNzIyfxemFkvSuQRNPdArrMdVWsoEaTmWRshajNjCPIYtwAEnvpWIsrNXehCoxFvkfUspaayeskGqIEPLxiOiBuwRGsVTnIlsEuihLaQviAFNQXModCQyxQAJJexoOGANSpfWYclTkKPrQRkMPrzgcEBSyrWRrFWVObTpmDJYHuRPttvsuCIQeUViqRYTMhyhsPaKPpCqFksBmzIbyMidJkcOwaIzhiHkHmtjLIUsgJgHakZHBfQnNZFRLdcOlyzyPmCLlBUnZwcmVrvXqTvhFoZpPZkyPCA", "ZYYNvfTDsUEWtCdawEwRAbtpGpQzYiAhQmfMcVObmQvBxSZPfRWVoihFtAxzwBMtlCvOiSxBrcJsJFOkERbRhceCOANzEbHEDJkfVvnBZQjuHrwTWqwmpQNUZPYBUHDIvvOwDyoywNmSSlJOvLcHacnpZOZYmPVjlvOSWcVfMUhcjQIlpTjFEqJusihHsXSwnMOEWFxtulQAxzFiNHAbsgVAsUjEnPXlcDrBPtMbZsDNABJWEYOxvmTpqygmNqmqQvtwFAnVYKOPIWcEULkIcbZjCaGvPSNuxPdPRZTmWpGtmzHGqvyWvYjXRPtGjCNcUVKVoWEyJTvNQioelqQgTHIMKkGbcYBFJBOiBZSAKMhXzAvHyEuqOtfadSxdcdhVVcOJECnCDoxUYOoEGNRqlfpIjGhhchdPJuODxmAywQRMwqVTpGwcRgRaPsdlsIsreDPSYFmeqhPFfIJzCDSciwCOSkxwOAosRyRqWaWxPfNufjBeVLXRlhuuKJDaIRhL", "gzRjXPXYWEuRFtABYgDfUbdKAvrbgxFYxNaeVthInHOKEdTmGdQASPJCckhegmNTUMBPtarnANdiBTPBPntGagcHNMUzKUerHInrXmDFpgXkRskHWzOrLYdJHDlbaqLkffentlnrETREfiWeOwXyebIPdBhNHailTvzEkwKXUeZadwnCzqZGqtuuGPTiLJYyIuSZkZAQlFagLCPnhbbhIqmaqJtIxwyKiHnfUNOFzgYBVufrSusXTkTTwLfOdcJEdcgvxqvCzAjIbiElhXWhxEXLHGZzZcGvjgLSDyUenKCsZcGvCbzNzVjORUktwOGKEKsYKDLkiUyQwSazNQxaRRACQQLiKDBpglbapuDbxAUXJfPVaPxAUOyxhoyDFGcVkTxGrTKPmGWWWURMJgoNGniwOiuyoPvmNyaNvDLjYXNYyjgyyRBGrxnZWRQTpORSXvLDjCggBFgmXRYcViCtpEIlJMtOIMgvZGUqCNmTJeCCPeQHXGdrimLBLVJLEHWh", "prALKDaVdGBLsoDKXiwGXdDuhUmNLHOuAcDPRprKXvJOZdcirInMRtajuHVImJvJIlFDVAhNKPxgnuXNsSPzDENopVmyNLNboAZiYpYLWIEPRVESBoAnaYxzJHVseNhFohysdjupwaOZdTpMcUTcgWJzwPKgGhkzzcjbVMTApqmhbYpKciGoLBeXmsfPnlaRiEbaUonkzPECnokVspFDeVsMbgcNwYuJmejOKVrsOahRJqDhjxrEFewjYlxdOQpLsMwlQxoRNWWrFKrpKdVFjLqIGUnituhyMzFIUNNluAUujulVvqUDhqSsIkoivcLdgFUOIVfECEZRKZiOWHWqiKNRWTjzLuyJnDbaRQarZVSTcRmdSwhAvMRQVfuiKfwzlECBILFCQMDrAPnFlBOLSLAHTiuLTkAPhrMnvZuwlYKKaSPvvnYQEorDZeSolBCWyIouencYFitZRgezVQpNtfgmHChrOJsnPKoehnqqGboqZfpwqhySXKpNJzToxsNe", "dZjWcQyBWqjfyuaRpPSdSMRzwgoeSgGEHpgeaYxBeXJHXatnAQtVHnyLnOIKliSvcFDaeoQogqDyPPMtgepVHJkutQtWQUWjVkGdVHQPLpeJvNfFZZlcIwbtBXXpRGIIgDeBeWnPSHljdUmbuViNBQyRlCrDbxFwRpBttJNXfuQMBvzBObWsbpEpJuDoUxSnzcPFTCzuhrLuTVScCeplCcyTOBJONQIcAYeCVrIsoUgkCuZLcicZHtBIKBmdceKSsFABvFjazaKJmlWCflcNrFVjnIlZlhKKejVQsJdmjvQTCgjtuZLiovrzlrNzERBlUuANSKXZUKZUFaIJoOrcBcqErviVGIrEudxzvlFXqjVcFpIWgVMmxTdKrbttMxjONkrDlgKaWYZtDGyWSnbMUwpHnSPbduFUEciRlULgBjVXrlXclHTFMxwtWQVThMBaqpDhSecJIrfGninsggfLcHcvAnfshAzktUQczKhxGrSKSsMVvceaGFacDaROfSGQ", "dhoLlbhBWifzhNqklLQMaGKBQxYVhgdmdgKRBtzKxOuNCXyCOofFjencaZJrdUvmlCaGJHkFhwiLfMOUaDKaNcPMKBvgCSWcpFheHjjNddvHpvNUonahBmGjSHTYwjIyRKkMsldObompYZuDcFGQDDEYigeyvpuYmSQGMipEBmCIgPfEIgNjtmcMEnYDckSEpTbJlqqdkOdReoJLqqxdNsIiBByXZqFBbZUQSLPZKTGhlGyGBesshPNLudICaplkimuxNLCIFedOasnGDPXjUyrbrPxKxdKDSJNOBjCiYBYqNmXcXJKUGbSqRlXmBYeWIvglcqUgFpbLGPPUQhghLRBepBqtoVcOYfmrWLDOJHLxMXGGGpVMwZANmCJFMLjYFfgLCMIxGNxOdGEbpaPOCyilpREeXolWLCOwUgvmTrLLhpZdRRMvWCYQOClecYYeMxgntySrzYoLoowHumgWRYhTzTZuekpKVmQQWYAEEaTEsBLJTiLeBNBdgGoyWUnP", "SgCcMDBhGCiOqWsBytyTlEShQidEeHvcElnvvveIWbxoyRIrAOgqMuScYTPDVPcjhWNxeyKFpceUxFNqaMRrHOTzUcPPwFpDPpczmYRZZTNzEvXQiJWZzncRVUikhiaitpAFIreeIuFpdkhQZelkXNklxJTBlYzvBzihLbZaWbWfSyYPtxixkbVbjjWxfTOAVWxiwCcPTiElwVXKSXUvDlTvppoEXclMxyjiXhTWMnCliqwbXWvaxqZtecrgDnvtghhHVleCRsgSjBPYDhmeHYsfvFtsJMmyKgBKXBSBrvgvaHRHNWSdFUhnJJIdZkPIHFYhGcOichCDCEGVIwqHhzlygyuYqDOBfdHczCCKZOZwVCXrVGQDembKwoiMLpQkJqlwJJcwwKLzAZsBZZeVLlFgNhseSTerfBXSducOrtwjDCCwcCAsmKAJPXLRXjhRMUQreWnGPvFcCccmqRMfBfDYZXrrRNKruproRwZsigKFavtlPiGFotbyaYesfJTe", "ydJYqVvgKCAmkxIFNAREiQXFlqrzLTAhIawdJDaNcToYLIiIbBmyWQjbBrKKXDDrxPoXDJhKCtDjFUdeiToqbttdTArLAPeIdCYcCjrYlyyvFBHbNYlNxOJmJPTlsUEsniorVNYcqoTOeejqDOyHSGUeYmSoIYbCmutrkqJwZMZXIWgbQPkjgVWOCkcJfTrxShgLejnaJvyWyPLCoPPlnhzZOZFUQojGowEnDqFqWXzJPUaMrJZsYQOIBSrvhIwiTnzCgrTNcpUuYwTixfDhiQpWulFAdICgVtZxAjlKXzgZEKTnsEApWRSPyHSlTeACMsQaPLccFwBHDanTlevaBvZGoDqHefJoTeFySNHJPgrryGYSzbkFPqJXbfJImiHraYZevfxRPtRMflSDoBmWSdgvLEaFBtXdXiwgiHSGjuXIsyBPxhazewpuBqwXSPavGxxbgorCxRjRAAfCTYKnlbWQureAplKEyuemtxQzqARYjvHrZUdHyWnjZCuYZawY", "FvfiUgEMzzAGnYjmiGciuQbikYwnRTWfUuJhxbyZdOahVzlNbSBFcSznMHtwQOdzEfSThdjZAWUsFGHiIeUjzEBIRgvgNZesuCzYGuymXpsxsGzauhYCbBUjDiTNinMJwJrFknKpxokErRbHmjHwQuGlcrpJjVljqRUJTbunRGqqBlGARJuiKZcCBQIPdFLDceifnwAaZnfBzioeXvPVyYcXwyxtpAzYItaatlkCVJgZYSLPldUDemdMUDPTVpYcLlMNFJAAevjaJfXvKLWhxAbinKOQStCLldiZiiHCryPgjzyvsafaAPilhbvJwFFYooQjeGKLSJcBJcMAGZfPtuuyQamMMYVTTLWcwKNefCFXFlqNMmdfJRKMpiyyNvtTFpATSuyzmNztrorwNiUoHQHGDYrsbVHRzNxTaTmZjknWkSdgLcCjQvVXkrUFcoeJTBExtfbIvsVemBaDOOPjwIjvmoqDIuOQrjRSOWxNldZKCdzKpSjiMxdjwpQfxebg", "DetdkwTZJStbGBllgDDxLJizuNNqElVpZZnrjMrTBpyEMyyAeRHWMqJSsOAbrYhQqUvxAtaWYyUgwHOHLbgztcYFqGpyuHNAoxmuoiaOQVmCyjjIbMSewEgdYboiSUnjvTdXWvvqncVJxKkufnpsuNemIPBpPAKtMjeVCGhqPTSyvpbBlkHMnheQvQsAvFuvKMJlcolMSOjIeGIfnAXbhTFffAMuEarezpGUmOivpXxGBSKCqHVMuNGejUDvssIqMzzslEhFLeGJhKhqXSIHdEFLBSaFtBHaKNUZEwslcfDAfIorUwilSaUwyPTKVRQJlFfzymJutyuVMgbVTXgoklWzpMfGLBgLWKevVDAEFruQaLRYBaPJkujEcRwcQsQONJCKNEbenBgenmSkbCJMZcTCdfKZbEcPQAqjDvWOgjPbdMgmvkPjUXDoBZtzSxGdcfSFlAuuYdqGFiVlsrbcyVwJaUxpvzTMqNbMmowEGLLIhtBxLNnTSTHUMFdItWNq", "vrMDDBnyowyfGyMmWhgQTvrIOAxSPyMbUUwBYqXMaUVPuOiLBXppUGxhxVycFYkKQIemXyIWilXEZmzCDjeyvFjnuNzAANHEvUIDgXcsnYKOUVJtxaVsFjwFXbsauriiThhbOIlSeHSqUubBxjkwnYEHjaYFnQTvJKIeKBwInCceQcgLvARbZlqRsvTqMRMNvlWXmtoXuwAHmQyjBryRWwxUEqFGQNOiVgIUBXlBQRFZStcGRoVSPDAnahZuXZqehNiqjozjCKGKueNOxIdnqDkPRgqdhmjLKETTHqVaNzpuihapVbFTnKPUBtRrPvNwyrUYnwgkQkcyeJjmrisUQCrNxeIGDeZzVOdsJUNdjAhFnYWHMUtIaMgnkfDJgSCcUsdlFtnLtoiPLCDUzzvdSsfERlzzoIXDVrINBfFhamGtAuiDRsgaRnPYmkfTRqpvxxdoIvGaYwLSqPsksntIuPDHngmTszaxfbuabyfGfGEbgIFBxwQghZykpFvIbeil", "WbgMepVLhFOAKehjnbyveJfdrTnZlDmrxpTCYgklINIgkMemyvtOTfZfJqNbqURxpXGUyjAmgSmoEssxxXXHUDOwUWSiwdhTPzWYFanIBKPEkhBXKcYCiKyqcXJzwxSgkZRNdwURtzXMCZPCaFHQgoDWUHdEblAhHLTkKrQxUgLmjoWlAOsXHWzWgkCyJWiJMjpCRXcbRrIfUeZkGAKTdFeOpsFFoOqgEkftGAzUllOSgwrHECZlMkHYAREEEkhFMDDRZSicTsZesMgdcjaFSFQujadXYgHZIwjSoxNEeywRJfAtfZDLNibWCNbNccpnSZjFUzypAivrABAlKjFUtAryAPBjucbLRsUlhfgNzCBJTYyJPCGCSRqYbAgnFRgfPYhNcEtyNYWPcOAXwqBuuNAHqrOizHxrPXYDhrnKYNLmBmsYnqapEFxDEWSWVQuLzhLfzJJjDZTuFayShtbuCBvRlBawfjMfNsudGVYCEvronHgCFCAgppbCNmoqcYxF", "hKjxhVRqQNrziASByLtIuejDTHcCDhqjtkijLoLPBCkAWRKOLkeeXDNnoLFDNBYSjvcJrZnvylEDZomyYHDYUsnZkpUgUBVDkpiYMPPJGKAVbEmWnCYUYquxOsgzrRVEhGhJIfqbmPDPYINzICkzhfjijMzRgKITjhaNRgxMmiWkCgdfhBlWoOatXdtHypeODrSgWZEhMwBzuacaRVqzFWWuBpJNYpTmPlLYIWXhTsUEsuuIArBNLsqbiWSPsEoIIkKoVqQobuFnWhVUhFNRDIDcOLRIbUKHwelUYBcDNHComEauUsRJHriSMLdPRTewIjoDCjgjoeUrZbYSsFImdQNdKWsQlLbEoFomZoZqFlvdvkvFmPuCaYjEmpPPmXWNwlBWIbWPPwXnSpvXfVzbPdHSzfmWOnWlovzTJqcfrACULIpwZLDvrFgesgbIGKSfpLETDYrKUeSdreYHhjDknmUvUuIzSghFbciTTNPQKpZCrGGGQiqjDFJmSesdtjep", "QcAblgglGObjCydMaQeEHrAodtGmRIKTnpYGlWKHzfVLulFOvqzvbNXhLstyJcstHsAeOMNVRuRfDsmZjYBCYblAkGxQBGsdqQvvpVdzmWNuqHmvOwCuMHLJDblKLRBYDxEOorFoujKNysPRumsjHFZrgavsouvUDSYvtrEbyIxRqmmoleswPxXAjpXpvLGaIPKbHBqmIdTEnJfpOKABfCrbLBoxaNJYDCMvQrQWoYCxwfXipdHweLmmfqBVgueYzbwODSoXjpcCsvwJUZZSbyibZqJOBHWhxUCbqGCfdEeNdjgmAvuXnHgJBZtsjstwrssXvmLVeXJcwkplJqlPhAmYgeMGTwCWRcXRtAmDXuHRGjrPTlkdSTkkgcyQpCMvAOnjWOibvUeSWNtCPAiNiSYXkTsLVWFehggWcVyPuYrJhSMiwlIMLJiWXgIVQOOAEJgofEIOsCEcOooBRDnKQHTYBOJmIpYIfNVjzXhgVpWGeLzmXsWiwyQXaHZbKuJJ", "WfBbJuUAPXhTAYPXwvvWNfCaPEntIPlZOnPxYEeQiIseXfeIUgxZKBBRQULoljrrWqaNpcGjvvsKTKRtIXsoqeqpelPpnbVKMTORNsbpNGJtvfScLCvffpULYQucLxWvQOCuEZhdFkLlkdGNTkORhqQdcWmLYoGChRUVDwIjQSMyYyfbQwPUTlVWKbNLnAbmYkNFVfIdIhzkTFhpQOHqamEUfmBVTkBtqQLGelBPPQtyoKGIcdfHkDwxCvNxfgjLFZcacJJPXcsUqofWBOSVGwKoOwsYgUPazBNJWazxwhVMPCGnewEHJPrKCeudnoUZxZPvekgjlMDIqZizTahTEekKKdbBcQnJiAKACyhBoCmBHgTCQPqFcvQLXXqDKrNVdBzUNJpojgNMvZUkniGbLJOjUPcexATalvkiSaFGtFYvlBbvaVbyxLeoiNrCeSwDtlonJMwdcsYiGVHbJkJUuiHAUkONZDGuEKfIGclsGRvqMoThUslKwnbIXLzFpHFR", "CgftvOpEPfNaayGFFADYwwFSUkafKCtFKeSWcSoXIUHhWyERNPYBYwuGDHfMiVASvpnSomvViMMcyjoqiQcZCXEpVqVSlGvuWXYAVKyINFGrqjDUjDwvQNXIgymjcymmFpuYfksHnSmniTgTnsNGnGJcenjgLwgseoHhDTlyWuYJHbWfrxcCffesLNMrlABbwoanFgBiHHSPJDoCshsXdGUoKwBamFhSqOARlszvuvfUGxCRyLskyDdbovpnPcTshubYFKNDNKNkEqVyTfCcBqAdYLZqLFOJEheOgYYuBpnKaQFIxjNdArlnhtANZeOhpYEbpxatfErASZZcWVufIyHvdAJsGXTkTZrKyaUUXJBMvJbTETZkgbgOaxjMJaapCyodIxQiogSFwMZiaNNighSQaNvSfxOxumFfzHkHgIeNHuSflvRYUTnMOQKURDIUmDAdDnpRKUJNGfWkHhuNxWGNeuwdVryZzXtMpBQxjRuxyCISvOrxiYfIUfKVxFvj", "SugyPvuHPSAPSiwsqyTfYdUPKMxKfkHJnLDnbphNBHAQEofGIGuinsNMXgEepWPoHfJVuuyoFDeDRWQkzIzfPaZmnRxBngYnlgLdTWcKtfvcdBnnDFqeGeVbMnIYBgnLEqBHCuGqJpjQFQJaMlyrqQZRPFVAFYEMBoVSyjbKQOqmxkEGNEbRstbJvKneeHjepGtCnRqMjpxIDcVTnXFuqFFtFYlcexWPjnsYeMStvrcnjyNOzygDneAuMjlZSpknbpiVphqfgBTtDawAXIEDoaLTOuiZbrrqCXqaEHCjNlboExpfRYmzyNsVOnaHvpcJYSjTAjjuQtuRucKQhYOLFJlWzzbVyzbRRnNGvsIGXEieVYnCUSevjumNoJkVhZJAWuQzVlaZGrXaiuUhmRSHDDGmvZRPUpxroUbjYOASOZeOfNclLxZGlNhVUeQGinLwwnkpGtcPeyqipthApmuuhSHmvPNnArMeXaMBxlschIcEeoNSCsxKkgKjVgZNfDPb"],"c_map_float":{"c_map_float_1":6.3117194, "c_map_float_2":90.82537, "c_map_float_3":72.61704, "c_map_float_4":35.490948, "c_map_float_5":43.607582, "c_map_float_6":76.83885, "c_map_float_7":64.073425, "c_map_float_8":48.997074, "c_map_float_9":95.66834, "c_map_float_10":37.643322},"c_map_char":{"c_map_char_1":"rCbEdShQqT", "c_map_char_2":"VuFTSntFQX", "c_map_char_3":"UCdwyZLCtd", "c_map_char_4":"hXUMMbXfPT", "c_map_char_5":"zpLzHSsyDQ", "c_map_char_6":"UNQDEikXaf", "c_map_char_7":"aSyfAiPSVc", "c_map_char_8":"xOTICOZchp", "c_map_char_9":"npYuEWoBEm", "c_map_char_10":"inCRkvAIpP"},"c_map_datetime":{"c_map_datetime_1":"2016-09-02 04:57:44", "c_map_datetime_2":"2003-01-05 14:58:03", "c_map_datetime_3":"2006-09-13 21:10:22", "c_map_datetime_4":"2016-11-19 18:19:38", "c_map_datetime_5":"2017-03-07 06:38:29", "c_map_datetime_6":"2014-06-25 05:02:37", "c_map_datetime_7":"2001-11-05 16:55:44", "c_map_datetime_8":"2006-08-16 11:09:54", "c_map_datetime_9":"2015-01-09 05:12:11", "c_map_datetime_10":"2003-03-08 10:01:43"},"c_decimal":50.0221,"c_array_smallint":[19907, -14640, -2429, 16395, 12805, -10377, -12345, 17623, 6509, -8543, -29076, -17418, -30011, -7959, -26172, 12245, -14994, 20443, 23727, -15863, -19159, 28049, 4500, 8908, 27631],"c_array_int":[-1487309664, -1425711708, 1017363765, 772132886, 349491918, -1155857390, 788146190, -1045267220, 164290772, 168105083, 451795964, -1133224958, -35023232, -1919110868, -1501630655, 988900308, -1386281811, -1184228568, 246601103, 337172341, -492642426, -952506493, 1805699811, -1451181950, 701737499],"c_array_varchar":["yAqdOMeAMxeTIglvlJVZlMgsdlhWiQnFDtaPfIqLusHVrFpfeBEXcZTJYawcBcmpMELkWBisQYWFtmFeEzYtdAZKeShZwNNFvCyxscZrUFZPKGZqjGfXiJJXoYaRKISLNdUZHQZXkYijDFnZQbiaKCLqchsOuTeSIGduxjNrBQWabajpLUxqpsoALIUuewzXIKoPWrtVOAHnqGPYnUVBkPIhxuqKFyauMUfKAtMkBltrbDRwJETgsosGHpSwEvmv", "FjFDmWHsoJXlnEUQkMHeffxRyLqZpelJEbrfwuRkABuLFeMJvaxHcOIsWtAeHGzRtpzckVHPyByfQFvHeCBZqzyjjWWUJQHEYnzOZONgmGMawnOKbJAEhUMQmhTQDPoXbLEUgFqvFDzbYZZhbCunIQBhlNZvWPLVsDdCZlzPmGNRDygNhVlxLDZgZaqDEwnEvKDxaIJliISerduehKYoXGaXdeqkoLtKAKFOoIkFCPwegfPHvvZMKZxWAijxHwcF", "AmXvjNjRmpyEdkeUcDEMgFDUBRnaEGApoLtlMEVMdLMaowWaWRaldAOaVdhojcBuqnfKClbKGgJoBzHxvnhCmntQyzEnlHZVWrpVwKiDadUWkakSVnHQBJQuEXbcyegJQAlcsntVHZVJFNQYGxNTgyVIBCDyIYXOJMhpzfOVjFlTsxXvWQCavBPSOVhYcROrjYoXtNNsIsbVOYJtwpBfOtzMMcwTslFTTPQyTUgecZZUFIGAhyJQhVShIUWxPtZQ", "VzNtKAwKQDROGNkwxmplZQUlEpDnKcTjWsnTgJUnFdsdIimKcBlblLaYGDXCKpbfBEORHLsRsDQmgDgQHbfCiLvDcLrUWuckqOKwzRGAvfvlgWxrtrCTPlUqwyfarMFeOWAkXuOxTbIgedDUIyUXniLzpblJAzzJbhMCThPXIKknbeSgKkGAznLPBsTUgFvdHolBgrjwljGmZXrLrFNquNEAhNkGxabcRWyrrqNzTPmYuXHSVPGEzwfcXiUCosoz", "vBekOLQUJSzEsUxYfITEomEqaUJuvGFfocLwQhtPhypYYFqfGGMrZuLGORLsIzijfEUGIQIGOqowCmaxhNqnJsZmIMWaCsPGxpmiwIweqTvGLgVIFnkHtDgfBCuRFKRjSejhjNrFnidSuaAUXaLIlKEpVYkHPwjzRqhidYeVhuDEvGlsLNIPFNEYHTlhZAwspubShIqQmLVqaRDoWjekcwUQGyLPeJcXUrEAKkeINODXELcgEHTiyThNthbtrVjC", "BhAtBrxRYKWyenZfzNIqPTCPVapQYYGyjnonixEgYsurIfQEDnTmIOggYGkbpXPuZmHqGSeiDaEekYkaJXMtYjLmzNcTyckocpLsfYxcQaDKFRZMLFYLszDRmgENFRFrQdHAhWmmriwYOMgRmlqlUdTzCxslNDJKDtFHXfVaFYugQLchIJZLNklMtvamQWwUHEOHTpbdrdNlOWuNRqcBcRIRTDSglEOzbpczvruKPVeOziSDezsPsaRySRvRedEj", "agpsrgGYFSCbWgnziwCvSZFqTtentAjgYwMOuTZAvltypnjycrREmVrAYhaIaweKYyMgBuLfTfIbfmyynRdQBkdjbWSTiNUCKCeOZpgYZRyasbiFBrxLRnAJazDHvrPDEmAjPMEoJVQgJuyZbFdhrwvYHCNcjzpiUwgvEHprTzCOgHGKuVLJpCEgvugEDndZFtXOTEqIryrKCjxRbzdaekSkAmTeYLkIMgvVTxYQwhiqZwnOWCJVtYMpNKOOGOoV", "gtYZfXGKLFSaWRakbASqrqgitisYcMGnKadKBkqnKJCkmMxjspLZcVPEFOKLmfRvdYNxQRJRiskpamlwtaEwcSsSrsjlTMOWkGzDHwrJcjzkvwhDdAgJypWzqBFJcmqThFDumGIMKAbJAxmBzbWvnlafqVlujjFqBhOpbULZZFPsGQbygzwOCbnldCMdEMJUWMoQeIDMnlJMwvqKEOEFNitKYdTrRLbqYhzozeKeCyukqbNotZJsuTTyOVZFQXsu", "TJJzeIawZVqmXxZRorGsDwvkSoUAFKrRTMCxrWCqUQoVACHvXKoQWLnQrDmsgkxqAiGbgXJiIwdmCxQFtyxRdHNpmxjvozNDGLstlHqSMHIohesqoGaxLLxZVPBCdEMqPLVtKwVERmSYeVdaxmEnLKorKLZMldzaKpqMncYDoitBgXfOtNkRwcTHSxpJutCtWGmUOrerFCHzmnMLqpXRGNKcJknmOgPgXCUCsUlyUcxaCuqUMDhTkswltyTbWtJy", "DgtHxbkbokXbxUUuVqoqVfUiWaNzHWrEtWZnkqxYZtugcnDyZvgTrKoqVWUTKBHrahMlIqvcInVzhrbZRweUdhbtUtuyEXTRwYmSWwMVJZOLidcXqEMqdstaWhCpljbnCeuSaBEEzgOfWhzDiAwGOgugWEgNxcjdVsRlhyxIbFEzLmUlzfIpykzATBxVJVEjxZXOwOHXasKzHKUzfifGxEuChHBGrUMySygPYKMHlfysZfDhvMraHZPGJxCArzaD", "VUrlDIcSdSQwkdWZvlQjENdFOoPkpatlgjHGNvRRXwThFlBVHXluxAhjaxAGSRymuoBkxoEORyzvPwInDjgMjhAaTkiyNXITKvZlXEYKsrEhHDcYMItDRPpzszvRzuSbgHbwSwOQGrWipEWiGJVMNFxPoDiYVjYLeGZJYCvhqpOaoFfpHswZIUBpIhbzCiQuPVhGofqmWeinAZabbPFODNqRtmTZDEPyypgNCggICqEgDpIkesjGDzpXJZFeTOiD", "eenRZIHptrAUwFCVxApfmcgNUoAVuGrcAxsCWSdGvADAUEsYiGzggPGRMOIUyhWTROKNQbdOPTWeUvAcyPxtDAVDKmxLiUuJOjHtlUHaFmilhGFnNjpSwecZKIUucngUygbFJZvEUvkRxRpxxvjHpyQXheeJubslQlnnFFuNMfxIxGXVfbyCWwYqQckeiqLgMpWzLPNqMRMPUCmxgQGfVncguwyXYFrXcAIvlNPdWrWyDAhKzGVrKreXSGkTlLnQ", "uferAveSWFbMpwsrZajkpWYuRVINJwFqKQuElOGAXUYwXwYyaKkKLKdFRJsEFQExacVmjkyjCyZlAGGdYmoAYQVddwpAcFnMvHoZqacqNrhGWhIZWcxhqNpWhlfEMyhCuPTVGqFWZQjFtaNsaIQRsGSRhtbdJbwTBqamnxiabnoADrzAIPhVmEPVOcLZKJThkPzaJVCOucMDiuYEcPcOIxilHNsyvrQQqRqmbypadLdhTyBHspfKTLqjfNxsyIQW", "kLifPknQHiLGJpinHRLupyhaYccOsRlMcUkjdNPkdvWNSXUDuFwuhyXecFYggdltFsyiGfmuIkjlJNvEVQWobLekAqvZTDJWXMNxwfmFaHvmjMqYEOAEwtjmAaBzvJynjzXPQRcgOdjegLlZMtlBIfaSGgMcWVxVSZnTKWWtgCZACScEYLyumdeKJiSfdEegrcbsnxdQgmeANHvehSmRZTMyVlhCZScxvnkXlcHXKmxBCxeINIOfEcFVJuCMtkoh", "oQUlJvMtOdXVdgIgSQMBdnxOlRUxJqUhfEKgNOFrllfnEWhElbNxVULwiFJiaecIRVqtBBLxeOmMcTkigKuMLWqulPjmYRKGUhGpriXWTfzMFnCviiQPHPOrjptIXeoYLFpyEZtgdMYtuIMvVwJLmoRSHrwuLMvOGorkWtmIroHIcXqyhgKjFlgWqdrAdoyRnIhfQTHeHkUWBEdqUADkIuBssFIiCtpqtRxpJXGZjCNlYjTDEITnnHjQCQSMxazy", "KJNqKdcIQSiIEKuNqazbFmOKcrxeneUMnNLXgFbqrdgfNankYaXDUCXuPdeJCBAouXKgeYSpqmrfTqXbuauuewuSrCVBqQsNnIeZloAaSpMGBkFNzKVnfipqXeVuzIdRaaWvFoLDeltNZckSsiIJWIBEnhkTVXlxLOGAPqadSKrzRRXPmPwKTDritnZndGQMIabIhHOLxNinQSkNEjJilJmxjONzHpXrbKtxePzZposSxRQgkrMXWXkKkuPZxWET", "EpnZvSwMkfuIfKsqEiiNqoPmSLBVzXQeCIJXQvZJvURlWxcrcVmdzIrHBkhakLrvHDYbDxKHfthdMcuvXDAPBYkoHbZXxxfftZwJdAEJQUeQMDwsOWeQZVTFmBjfiszpyPDrUeuNfVcDzBgfBzLZRTPdTtdAQLFnTgJImjKMeRCcDsHSovPcyrwiGxEZoNzYswXDnnnioIjZKLJOHWmXiGpxCsaWYiIuZeWkDxPJTemhUMsGgFwIRQimmPdTyEFQ", "tyBNPCrAKShzVDKqMTgDWuxutmksDElzXtkMJdfwzHOHOFerVyOuxkUekIlDQFYVvQebyvBJEatozQGgAqaDiLOYOoRpEBMWpXdJmiKFoLXtNpJmbbGlEGZbDvZagsrcPCCukjxTBIdrnsuWlUBJMMKlMjrazChvKVqHjZNmTkGJsoYAHFSbDZnKwTqYhviQaSglKFjGfpPRLwSeCyNvRGHSnTEhGUTcdlbtVElbFdjSFJtdIHCZtJXjXvOwVqSy", "fNKvMllRfgSESflRlOWVSJjHaoIwuFDjvcdXUmYAqJoWywjFYZOogRkmPiRKqJfiiJvrBWTwhOXifPSKqEnCpIKSuBBosHDGYPlxLDJJoYtdeastlRcWGBrLDKkkuLTAwKqrxPdsGBzXPEmotAQxmpOobHeVinxpDnCIfCEVmqNMxsBVKIymnQVbPDVGQRNdutFqHqMcHgHdtOpmWVMZExqEWNYEwqZYTicBAGZMZwSIcaAmgNyylsBCAIoEPdwI", "XuXaRGkbVJPJhyiPpUcQbdusKaJeMHayJjSzEnhRWELshZnytsKbJgeAxsejhfoTXlJhDfRIPZsPIimFMhIbJhynLRVRNbOlCrEOCGualyaIVTkdoPRTBiysGRTLnIzWEiPUZklzdYUdowhxdGxVOSiotDfHqeLWmpUzHrpCjlKWUKzSWyNHBBHcJmCJIEarDpZUMtkMYsudwydmkMszNgNBvgOMtrTEpchDteWNAcNtIXUXbMPcxCxRFgTIHuNG", "TMlqCAOHIAEeiVFZdfQRzUrrMJCYiuEKWzsLnuIQMGSrjCAotjeTRIiTBdNhNsDIsvyEShTZjRxxsrxKvGpDTKrrNCTBmyqqFDbwmhzkOryVJMGXxSpCGLZGZtcwiuKrGUaOstxreXbEDOAXwXMBacIUcylHOXWHAwncRDCkUrwauQVPhMwJFwveIrFLVYjrTFGwKlLFkERCkEYqfOltdKPcKShHgWLtgkozAwUWfLtQHYLQybkYkGKMrvfIVRFm", "JUvPFOMhbAJFKiPneClAnfFZZBMMYUCkykdxGXOqDFGnBOzRcqDmUuoChkycGlPaOUYXisciQkixQnSxLxEBHsaIDhKazpbvjOdjGhKUiuFOJauuDviIXdBVMWVXcYMZmbaUgSvaYyWvcZwmqWbEOcKdrOhTnNNAAEIViuwHEcodTvdMWkKlXKKbTsrdzUDJutxvCGclGzpzbLuGwbhaHQPPdxLRQmbGQfKSkrGoSCoAekcvGoJOoBrjIaCRQlGs", "gAIhEwLzbzzScDHTAngnFPUXsLPoiLYowMNdYldlkjBFvhuepBAsMjKjPpwEmaxtQGPRrqjQUzgxfdxlYOSUhylMMqqOEANbZYJUeyROyMrTBmCUKlNNaWInvRgemDbJvBIkhRxVbDTuVuGPKgHbTuNuhpuKVIVrbBDKBqTpDuTMwnBSPaJpUZUHFFbpHUHPNjhyJzEVQadzepLpwsXeWqSJazhwMrmyvWPCnngTMPFrGSPfZQbUeCwBzIzTjXSP", "RzmNhlmycCzLCTDQkcxSzVyCCUqJuRHPSbBkoHttAzQObvyOObqatxPWbLHEPICCfVRHnGFtVGvgNaXdsHelaXMwDfZDasnTdvBhTqIkuKHQSsIqlmAxJsmPslKaEDbQebryvZQaFKaaNMvxdJHdTHvZDFPkTAudhDPkGOiSiMXwNsvdjjfVoWPOsqPugePMZBbppaOMjoxTcTAoDYyCiZBQiMixOgSZSVwkbkTrqRyDVpUoPIBRtuWighjcKeOx", "dTQYRllrEbYAwSjcxCyLsgivYPxlescirbaiTYOrWTYrgfXPdfSJNOsntpokhhdbODhrKVuvtlFEhrGaYHPwDITXMyUbFKrbpaHzfHrkcXqyROzVmrxtADvHKPiXNyWazLLQqahHHFiYYHdhzqRatmHeDYxPNDTYOoHYrEcquscpUCjqVzxNSLuCMrhsoFTOmCKMSwKveyjXcIkVoTcHRBbAdNsccMaYAQmugzdBGOppGnyNklzsoRRvVXwCYkqL"],"c_map_bigint":{"c_map_bigint_1":-2768042109830141649, "c_map_bigint_2":7998969947921947982, "c_map_bigint_3":-4025621021980532885, "c_map_bigint_4":-2937775809261326953, "c_map_bigint_5":3026895145381545342, "c_map_bigint_6":-2137926149305150000, "c_map_bigint_7":-7993747404199930009, "c_map_bigint_8":-8187696423632710258, "c_map_bigint_9":-8842409093415623535, "c_map_bigint_10":-6700847738448168061},"c_boolean":1,"c_varchar":"here","c_array_double":[58.6972895775197, 20.8634861582166, 30.943932839444454, 39.37139283822686, 41.917911139132194, 80.73677073083431, 82.25530127556952, 47.13805331172517, 79.18669467687404, 36.135346112552334, 35.304591713402665, 74.63264741367938, 25.311955393727658, 4.701972966293403, 51.12382272789175, 69.72244766004289, 59.547461262643566, 65.12733584052475, 7.865805934562037, 1.777016209175971, 4.915565440425677, 87.82115692703165, 36.098076094564234, 58.873143118111535, 32.8965088998732],"c_array_char":["QpwoHIwEbA", "BqIuXwgRwm", "oiVNkPoYKG", "ePazafxefG", "bmABPKZWvQ", "IyCfsDKrhS", "tUTLdomEgS", "mvRiNLKpCT", "AoLOnRbWMv", "FJPUnaYuWD", "KQRhNpzhbT", "etjqUNeuNV", "UybBzAwQWB", "VAolJvbvvU", "CTLLqoGxbK", "vHIQVobBDU", "mtXneANkfv", "foaSUUfdlt", "sXUfaUTKzB", "qsvwIvVwkr", "JPzdqefFiy", "YpsTqlQLte", "YlsjvgwZQl", "AlBCczxZzc", "hUrlqlNmGz"],"c_json":{"breakfast":"Wake up stuffed french breakfast panini","jobtitle":"Producer","day":11,"errorhttpclient":{},"minecraftvillagerlevel":"expert","productcategory":"headphones and earbuds","bird":"woodpecker","currency":{"short":"AWG","long":"Aruba Guilder"},"adjectivedescriptive":"ill","namesuffix":"V","nameprefix":"Ms."} }','{ "c_float":82.98405,"c_varchar":"with","c_array_float":[82.14928, 87.078186, 25.694494, 56.04157, 43.526768, 47.247997, 56.02186, 46.501053, 19.86639, 8.993797, 64.52965, 90.24986, 30.911652, 81.89268, 39.11406, 68.801346, 20.473804, 75.21853, 5.092201, 49.45584, 11.773464, 86.30989, 86.36731, 10.468321, 100.989],"c_array_ipv6":["hfiqXNtJzj", "OcWizeycoM", "FbXOEdxsbE", "ToWJEaTkEx", "ipzLvJhsUT", "IQdeamaUCt", "gdTFRlZtfJ", "VcqKIfKdhF", "cbKHiIHffZ", "UZDpvzoTie", "sazUnGpMQD", "knGjzmoxij", "adrzMNyBiw", "QAVUyNOwvg", "IJaGnfnzrv", "kpcYIACgVr", "CpgqfpwkWt", "JXmXrkawGP", "PgsZUaZzLp", "nYXbCHBCIh", "OvWxtFmbLg", "TCshEhmoNM", "XnKAYUdGhT", "RPaugkshYc", "cJVaghDWYq"],"c_map_tinyint":{"c_map_tinyint_1":-101, "c_map_tinyint_2":123, "c_map_tinyint_3":77, "c_map_tinyint_4":-90, "c_map_tinyint_5":-101, "c_map_tinyint_6":-120, "c_map_tinyint_7":24, "c_map_tinyint_8":77, "c_map_tinyint_9":-102, "c_map_tinyint_10":92},"c_decimal":60.1385,"c_datetime":"2003-05-23 12:20:05","c_array_tinyint":[28, -89, -76, -124, -114, 48, 109, -93, 53, 71, -26, 75, -124, -1, 7, -51, -73, -108, -106, -76, -5, 3, 51, 123, 23],"c_array_double":[6.542329462302161, 92.34465082861523, 98.33029737329208, 50.61233992310574, 65.05557101122221, 44.20605936804816, 27.148487389451546, 80.570624089151, 80.06997832695731, 77.08063788242757, 50.09519017947822, 97.66157877421945, 19.387512459252175, 49.0324391203548, 23.30128850168942, 66.71167267916896, 24.3605439718707, 55.62044369527702, 1.2711190802114354, 100.56378579986406, 29.955676967994563, 11.749072022049017, 7.335564707849955, 40.061948861798136, 95.04845187052986],"c_map_char":{"c_map_char_1":"CLMdlyzJny", "c_map_char_2":"IIBjTAjtjm", "c_map_char_3":"XFvRcDyxfM", "c_map_char_4":"OWRpyuSgVL", "c_map_char_5":"TnGUToHZMC", "c_map_char_6":"PifmQjQpDI", "c_map_char_7":"ATPMIWgmKJ", "c_map_char_8":"ZMtkmnedGB", "c_map_char_9":"tifyBeFoeF", "c_map_char_10":"nXOXgFZFdF"},"c_ipv4":"244.218.162.0","c_ipv6":"24af:adc6:14cb:7969:b331:9e44:26d9:e3b","c_array_decimal":[43.0492, 45.0265, 76.0235, 35.0422, 14.1451, 43.1115, 58.0272, 77.1944, 63.1282, 92.0133, 59.1952, 21.1432, 11.0543, 73.0605, 71.0106, 16.1134, 12.1937, 55.0041, 49.1530, 26.0966, 74.0324, 43.1056, 62.1474, 69.1337, 47.1248],"c_map_smallint":{"c_map_smallint_1":-15611, "c_map_smallint_2":-11499, "c_map_smallint_3":27904, "c_map_smallint_4":7167, "c_map_smallint_5":-13541, "c_map_smallint_6":-27234, "c_map_smallint_7":4671, "c_map_smallint_8":-28586, "c_map_smallint_9":4060, "c_map_smallint_10":-2482},"c_tinyint":15,"c_date":"2005-08-07","c_array_bigint":[-6542094287839586503, -5218194664734614758, -6269999785571607518, 8553701176243032006, -3590037561010759335, 2518460326749262045, -2147987159312012626, 4294391383419091674, 894342330912654018, 3671089829297859545, -715463736418039232, -6133552966628025878, -8206110398902477388, 6318238331403840716, 7016948844984286990, 377583746720594951, -7543106259809913892, 5214345762827772972, -2809433816005180307, 5162773684596087574, 2341968723156670539, -3805402188789875989, 6480077069834656210, -1289522294295665055, 8321117355716395957],"c_array_string":["TbaoMRKRgJGDWMaTgEhoMpCFEbhSrjqWXKxbQdFBtNWBqnFTPwkXZEKLfuZWxPiArBqSXQmupOPmtizXFsjvSUXZeTPtBHmxcPvSzImVSfDyEUdRihiKeoANyXDGkyilHfkxgNPoJQMJYNpMskAxNYWjayKHORXeJqoscRbhzOKShYiTvXtyCxhpZJEeCwXWJmBAumXTiPDAenFPjZEksVUiGapDtdiBFrsaTyhUoQxrakchZYuCJRzFzdmSeNWXCKdrhlHmRWfjFHmcHUEnZfpvgFWLANiLHUGiCUDjAGZwJEKyTVMceymAHcZPpmUgdSifWltHNjcDRGxGjOVjYpyzVvEJmoOjfLCVObHhiLASoisHdRsSOVZVLNTbtZmsZYDBSzMZogMAYtyWLZiYDNGdgkTpnlAOCqzzJdWxWlOaVgDlhAPmMnsGGbQwwQEyUGxTGpluxcbMbdZCMjhQwyqUPLqeZhvZDQnusGTTUDvYqhouXzmdISBihiQSFvmw", "skRGhVLRYjxzQNRQldNxiVLsOQeCteDkqenPRCqDgXaKAKdEpRrMyIpdTWsbjSZUqLImkUmwGeyHPolHPRnPzyWBLLLHgrwtXNZoPeYCPsCRBWUSVLUNSuEIRKkkwUsOtlLoTLFRVRcHXkYgeQiKYiQeCQAkgkOvXWsLmWLVZlMZSowloXScHgQSpYPkjfQYmOtvApWynXRslfNGDhueDNoyYofyQyqOWFyjZySMIadOEwmiUnJkcOdrAaTzQIqgOoilVbgFxuPpciINpBcoIrGwdwmGiGiIYPjTgDbkcTCjirYIHCKdBMGASpfvKjBcyaUoivqHcdTxihkYbCZNUKovPqsnvvHbpfuJMcUEQFRYDeHfwkGruKCodykiGLaDdrPeWlzCAtCEDemePGZnsDVIilGteGgdzwnuwHDZRncOGvWbgoEIpiGJwLKOwSroXyCTzIKbefmIzamDFdUrymalXhMgUOrYLHOREoYklmVPnAbntlMBMnattlaRsTjC", "hinduAYJWferaEbvHohRfriKrukjFsXMxKMgktHFHceKYfaLYEuotNcyuwLSJgvdKwoLxXAPYYDuimsWfXTxVJSDuuvgCVunuyYzVxmgQZdqHlTbcwvhTgNGkfWmMTnUJVkXHunzlMxAVbFsjMsoecpLAnZsASDqfQyoQqYxnMDIijvzPmQagTyHJOFYErWwhYUyBaiWrqkmZdAwlFlgFJXCtIpkwJyxeBCqwJnJLTMJCEPfKUxmzbYqGJXSnCneCvwCiPEbBxCzDfWshsXcczCsHxFdEziYNuNpTHUxSmAfgOADIGRIbbTWdzOmEPyZWCsAXlHInYLSaiVHzrfVkxzwqSEFAdrjQjyfueZomuVtKqUxwBuzlmYRpCCSYwiWZPBSOWteybNjJoCIOJGtxBrPrpHdFyXVzLZEHREPRyRVqQwkNBBfWUKLtZeJDsyFYePqgKmwlIKvsPfmDYlUcvLmPbbCjrLDUpPHvldDYZeCXnJMXtnjgbwziOyisfoL", "XMGmMVdotAndQAmwdxzpgYfWdjVwFwoCgqQcLEFtDBpynlUpLsmKVgjvBNzaArlvVCCxOVVMpnUPklvkOpTgGpvyZcgbZcpGVyiWVzbZQeAeuWlLCHhvAoOTkxUeosoqAglWMHEREiQsyqAKZaEGXJepytvyDdSPbABeGvPTDkqhUTksmBwtqgiESOfKDIMxKrNzekPjZPrDSRvYBgjQXKPefVoSXbbSeCaYdHupkgkLjyNjtmQKLkgWJKXyQUsGNSKZxPvxBgdIlKfTQAJIdDKYnxVDnHJKTorXBqlyTcXAbjyLwWTXsJaLlKDHishOYhLthwIyFyCDGAafDRRnwRqpNdvoyYnqxCgvjWeGJJuIYmVXpUwCNucCYjbccSoGFaSbTIWtTCAHNpdaujEasgUvKSNriBPIMsVwnBhqbZmSHxHZLDJwagjMQgtIsisyNuIawqhPIVSFzgvVLYvZjPrPIqOzwdmYZSTAkStEiUmfzxqjvmhjVtHNYnxltJxe", "EBLgCPPQvBenpRpdeSXzxOuzYRCAolCpZdQYUlHZskUKwhwajqJOygCIaSDCWTBsfgGpoZjbFBFyVYKrXhuWlyOjtGITuvttQozmoIlaumCrdYfjLDhWkjNtXVauPNhjbSZWAIPnkxImMzseBhCtEuwphUGTYjQOgMoIgajOcLkBpHmknqepaZQffgbGOhsCGxOwkqXtEesEWTQsfluSnHkqkSdbdPnWGtKlYgLHZlMyZJPlJLIJYruzFNLLbzmjsmPwWzRhyHvCMPrzqduHXMVrMGYqPfzhgizUaKTlLSByKIgKkstpcSSynDTcDknoFQDOCPDsZCWOOYCFUuJvPSZZxrXdtRXfkHRnxGcOrLaKpSJndCbBjVxMBnVsMuudGXQwytNuUFIauWbwNUVxyjTmsoOPEiecXTWSrUZBfXtXGhKUFlzSyhYcPyhSOaUyZehVOCeKJUiXxFDVhXeUOCoOOEhKuvCEbBFfFnsmiJwMnyygHNtFZkgSeFZoKZNm", "kDTCBRuHgUiSiUrjsmSjiPnJwdlLwCvmXZnEriqcYFIWgMHvjBFlpZkJvXoGABjUZlEiUbYGqccRDzdptVVSJAEZPmvUJbtHUnpbEYpVZfcXXmsKcQMYfjHVhGzzdpqdJWUfCLKbBFrlNlqvdCavQqtUdqhZENzunuUkcRfMcFALzxkcoFlNnBVboPHANMfBhyynvMRnJIyOXjKGjqptbpVFqXFBHZPVNfyWZiuIGmybahvlNsNZvpmrOdJUjLPrSYJQFwQXMtbIFZudrVNXcFSfOessCWGaUZAozUBKWGFhTctiTFSSceBYeBIaeGCTpByVJcScHOnpNnsWioebhCGChvOkiOiAZsKsfhrKXXdDJAKyOnqKJjZHKMzjvhGpJArDqGOalIEtRbVnICWQEQFQZYAGQEBgdUvUIjEHfriFCKPwbiwNJOKgbTgdGkhVLUVhVYYvSMBlhHjYWwhFsYJlVSMzHxLNeSjwTxXgjBFWtNYNYoDdpPSoaLLMJYth", "boWLtPrZqMWXqUNLMPkWKCRXqXgFTXWsoBJijxihhkDEpIsMpBoVuVcHJyvPfHIILkxZNrHZFWVFWTAZBnDvGuANLNCHHCzNlDYEzCDQeusAUCrFOluZakDEPEWIwySbRSfqwWkxWUeWQjEpdQmtVQdkDtNyuDTOKoEsdKysrVZmNSHTBtFXHjlxZOpWxvmjoZlsNEEvkBYhLqTEtYyRSLGARCwqChKUIRRgSHqknnhyssartVUfIJYyQbRNtKgjjpbIUyWmzbQRUOmoHfJttaqPtJErGUMyywGzOQAMjTRIiLEhviaaHwwaFtoqfgUTaWOUUCISaovihBWohgchXDMrjFpAtBDeSpSwPezgdiIDuYfwevASDFzqoPvUPpnSYzejBmVDAdyDNllLnpjjEVwMUNuRgIWMSVjaOLWgDmUmPpavtbuGiUWJXKMbTlxibQOfvmozFhfoVwSEvKxptObjxlEKeMLjbyrdtmJVWnHkeuvrRmYDdPJMQpfVqUpg", "AcwaXqxNHIIrRwNkTEJyJyQImsMqISvdbeOiPBLtNMVfFEHbItmiWWCehmrKUjQNdtdqAKQUGJxKVGMEnosTJFJztpYXQNlLMKLxpPusuXRsmTnDjtvxWCRUOdLiDQfhvCBzHYkoBLPmVCFfmPDIjlhIovJJPHGoZfhmhVycfDGzNnHIqTYcyXozPxUFYhFuEEqbneqWvRKpeXaMCVdmmLteXQMbGlkGoEnnjOkKQtyDhDElgYHHHvdZgINvWjiMTCvtBlJXPzdaeOLsxOwsvjgcrAULpnBmGdaHckTkFbJHXWYGDnxnRvJXaTSuirwTjEiFjZRwTcAWPCmMVjQSBprTJAiegsFkBNxSICOQEdSUiDythBRXXDrjBZFVlSyDokokUdXKNzMlOmiFCXBdWMxzABeaVIWUUqtLTFVGrabgnCYMFfAnWgZtVqhmKXfWwNDYWEfIYjrvlReVmpLFbVHAPLoMDQzlViWzcFerCrEXxkTZlMtgBvudotTnaLZf", "itOzcLxnplXyXrjhPeKTGApJcgAvAuvXkooCuZHdAVgJcHyDEftyuVcBzEjVERVhHdoVfGiEzRoDnMufGAVipBgVwCwiPQSfkAMwuUffRFuDKPVmnfvZLlEwVQYakgFrqjlCeZImrfpcnkXktlqnHvQgUDoMIdpQDHjQTLxFHtFMZkliBNecMHIQxjWjYxyIaZmJtGxWAVAGYZWJAYNPWqhmXidYtmJSipoCkKyLwRPJRWoILxCeETNEZxuiXxcPVQwCsLDaEbkTthBSsDybBoqEkQTKBpElNiqsZZnTmcnkXOcMcAUQJkNIApIAqqbCzuMrGtbOnYHmvuheViBBBIJojDzlYuMENMGfMVFTVaxoeevFsBLVzRzyzFNhqYjFqGhKwGHJpvTQQiaYnsKTUMwhncqSabxEMfMTKrCReMXJhwLlQfOmCjxfwqIGohRCiuNHcrvhbgbRLxMjMtFEySaUfTnviaGwGIyPvMpCiFHSkgQKgpBTQILpiVTQqAyE", "PKBDyTEDqnpFsMaqLoDMKesFMiTXQvBATreoTETtJeMZAOqQDZtCkuwSeYrIecAoFfKFyeVdiuQDofolEyiKIVjuNTQbcFQijehUZKvePSHwlpMzicoqYiXwQXZeRgGaSkhKdYGaPtjHAehAWVZFDIIMxIKjXLUYudGyGyhHtjwPVRypOxiQdTiGVFIhiFhiTrivBWUCLmjunlRJuVoEVUFRAnAqtuZAujzMmjTvqEmQrOjdOAaKFpQcvcLPxiBxKzMgGqMhWHMViPtufQOWjGJleSHjXeSVgmHmUmckFbspXzRAjuaVJmQyPMpBdtfwqZVRlHUnKeCwwZWUNHUsvZdeTnhGxtVIxsRgNWdbHcziSNULdEyazMjVcYwBJfFgnqmPUrtrkZVBTERGDgCnGlmkygUUKpIIuueefWgKHPvaEyYclLEyZuedchEsKPCpUibOmhzdEqJDUzthheWTATSUcIfigesJXETfotelucvZcTTrWvbzgdrptdCncnTb", "EVOHHCsWiomaOLuaHzoZfuzTbxhEVdXpYgxQhQzqmYmxeQySUYfEjJyskAOFMncsIyIdCUtmVubuThLAJKVHkohlZsdgfvlcElAXYRWejIPHdoOcQwUDBmCgZomOntWiySYVTFeitnjfzirouMcTYBIWnjWAQYdKYsOhfikgbegvTMNhqLoVfuKSzBaFlyvjoUZqsUsHegLNzFVjxKuBgZmCjqSJsgIhcDdJmSIklocGJcXOyAfArqEONGlnjBluHVWYXwJheVVvksVUOMRhGpXyCKozSFZXFQpUxCbYpLyQjVXXIZITZOxsVFZIbUuiqJvXgXItZqBJJxsoCVskUsJXLmGnosRDSLZFCqMXLSjllfOJgdGzAAtXiKPQrGYTbysjqSNqMENoiPhyRKOLVjkBXFkNLrSbpbhajyECDDHkMSxsAfnWTLAGnbzxBwQUOcjyLUAgpFmLgnOhsCATnATAWAOnmeDCkAyZQmpKxmNjlVCVgTTXtXJIPFsktctC", "OuGsXbxkjGPuIZUAhyRIjWNJnJZGPpPasDEGcYiViXwPCfpRwvMqfHlcZrlDxmNvYMXkCZvatQUmxBjWSgOmbcANknhbglTMWcaVSlnuoYOSVpfUJWdGRPyTbMVCbnnonFneeBRrEQjgHWZymsGcQFAjiVgdLkFaywaznpppQsKfqXzEVWvcJNzlBpXxUAGhPqBDYDFFuNgWlxkKKsnloIINcklrvyZzPxSTZLxUjyOwcvCWUUbLBgnMzmnrTyUfZoftfvshKBguCrEduHLpcQZrEdBpFHSbeLIJbYzfjMWnxMGqBLHLuKWdPDMHzzBBfREVVsANhEaCimJJnKjPfRpxRtjtlLFObGjSBmYPzLiqivAhwToHEneJujiHJhJItcRMatvsluiexuCOSwsGgMtxkPJpRXbxtjuvvPbsKmdriVUoYODCwolVgmfpUPbvZIlwhkLgkSQypRQhRXcPhhctsUPpbNwXacTHdtsWBhelgZqKvHDAwkIXGhnmoiBQ", "lpeRHiHLxnVGrUtkQtRGisFnpDrZXkKAwaVpuBqrPsLjkPszPkxZnSzNppKCgQgcImiRFbMoRZhYriRCoKuqDlmukcePHRcvRgVcWWvdLIaAZjiuxUXXsRWXrfRXrQSWZMYDKhyyfhUhqpKADadTYDWcuRwmUeeAusCvFUpACemJCvTQoZaQzCGpIQRPOSluNTCSbtYjGPEfgijnlLmogeTIEhERUeChHacbcyLrwRpdVHxpmjYbOQWVNeRMzgTuFlVOTmOwTtgdfcugBTAamGhNIyptCXjzZUIjIpRQYzjLfRevcuTTWeWlvbBPFIVQtpurpKpWXIICKhBfivnumFQNIGMONgtCXsgFQMurbKoUiFssCswaXUhJgIQFrzpBRqIhuRSPNiytbldDzhIYesbmHnsWNNhzwyCViuaZWpzhCiKkOtOGfQpyAOrjbvPvycnDDPngcywSzHhpDfZcpFELfmbxCfWDCeTiBzBaUVSWOdayOfaiQrlEIvGaTnXh", "brCqZphoZYBpOxudKIRvSXSqsoDmdZkbyOmoQGFMAEnzTjsCrPTIjJTiidvAhRmnUahnYXTzlmxWrwnIMuzsyArrYtrLXjIwbkoFYijVkXzkFGykoGmJXiMbtsQOxjsXaaTrweppqqDuNGzCokPIzHppFadotKKyQjdjdhRfTNyhvqCpOkrpxafxiaYloaBJTMOvgOhMjlOoCZYxhaaoKcnftloIBdYpBHqBQWueBwpdXSDshKMvOXwWreCbtrIJtvkebDoJiKIQFobEBcGTzgAGYUgabfhMwXHkZGwnQhZFwgctPkIcXdlfkRHHHgejllSbXKBCWjijEIjMrDgBqdvLahKlkCZSFDufKIOOfHsFYhJmbsGhrspyvoqhpyxqOkMTOdCNKCfFnChgfcMSCEtgCUZnoJSJbtUUcFXCOIsyhvKvpiiqqeiFdVRHRrWQNtgwOeRZXxWHwZgXJdbIruZKZZaqwMIyEfTrsJRXcHQqGYyKFAMpeegdSJqSdzwb", "qJzJxHeWJYkbhrULPeLLtbdAgfNDYVaXAWwDdBICLyGlYXbjuFvviJevCgICWAlpvppbBHrFirxzZFaADClKOPGiVdpPQfkxlsGkXJxHeaUjcZSwDUFPsLDklSOslvVXlUjHwPnEBENsaBiuEHcqapgtxKFargiKWBbWiIyCkICjoJXcZTqTdxuzqzxJziltIgvzHUyTNNkyRjAJFOBjMXjgJndDvbfyjHrbJWTiSpDEgBcptAOmcRwCxjIKXWtuvRCqsQRKwDrxLhQVOlnrcEYGaLHRWvzdLsvAkqgQXflmDuJMYowqSWuorDQxZeiNFnoiNuPObRuOhUjYSfmkQtgMmrWEKeGcqtRFprioMEWvjfRQWfmbBgYHBoYIqrzSMDTyFmzEHbbaiWXicuPkbWGUgnzyYUtIZRTIfqFhBnQAxzSvpzNqPRCyHYlaGnVtWKTmkuMOAowFllfikqyRxjydOorSmyvHreSfvNdCmUjTTgtenGqbVBrQHHFftekt", "ZtUohkHzmrKkBHgrLQjHDxkxiqbcJnrSJbKIXhLwmQxGEybeCTrjHWvipPQVhFGeMXFgqeOXVvflbRNlLdSHAYGyAVuDJrDBJExbkecgbfwTkozXxhfwIvrZOlgrzkfiGrqxDUOriupDSiyVXeQBimEUvXcXkiRvGxtsgFchYVcThcXoFlJhrBWQFRVnElewkYyWXjZlhFQXQjorZNDyySGqzIRtHfiRSUEugePSgLhNhHohRqwFwdVWfgbhBeLntuEvgRoGObgMbuBanwUHLHFiTvhafNeiuIOHGulnxFyDITXAiNSzfmiCxsnTpnHyBEMSCcfVDvyHwDthnhAZKkxgMvhWJQsputpVpXSURrzwdxhPacJHlFptrFqpkpzQlCaiJnNdBizhpQIenJMiNdbOofyIGnQFwIGfCZalqnIEcSyLoGJAOEnabIxACZclCmZLXcWTGOzytisDgJjRzSicgeaubnyMJkbOrIAMuEuxMKFcGdSBMuQAmqbeLvbD", "vrwsVmYuTTSodqPjKgvEqfUcyukTismARwWcCcXgOfJrSKBGvkazElvtBbdVujUDuGGMuzWOXXJrrNiIjsAflVNowVzvkGpJuRSVecuNaysJfAdNbbcIXvGobZilOOgADlERVAjsuSxLvJvdusNyJMnlBWKTYWpEcfFyYqWiYNhaRyVtKvIGfgWNtEWXxsbewWsRNUSzlDDVFNaGwbstxHWcoXnbHekNRoKmRgdoqxZfKFfVMvhmfjaABuDbaQprCuZbQLcLliesBeGqKbbvJrnfDgWiDmzOhullRInUihOaIAiTHjxXDNObCIHNtkQngOZNeKSOQwBTuTdcWuZVNxPtiexLYdQoCKhvsizQwlCmPaKIXpnRjocTzlaoJtIPCiUhHyXuRwTnPlXWmnzkVtbOKrxqIIkAVPByPypnBkRajxHnVQtrEJShuFMvuwiEvMiPGOhPMzZRwNmVmMLcFLNcaSiMFVQPzbLaqvXYvJjyPTHuobSllvkFUBEHXcIL", "efZLkvVVZKTHRxaXKRESVDzuoQnKgfHjMPPErWqlclRqVvutVZQIdgsXWdhwVfPhpVRsnLqxgJJMbJPMvHLoSzhUIWXgNCHCpabpNwSjGWWvJskWhyfWMqgweXPtXXijoaThwSriIfHdHWUjilTvGrSSXTAcvZeeTVfKTHALbucEljwekkUwDXSOMaqsncshyFYMmsgxGxNIoFygIiDpRMeDBopNHhtqEshJCJyPlRcdGiFIKNbnyOoaEXxemymEDtXPGOOjfuWkJuRNbOHcFUkYflojoRPJZiONBwzLiufSMVZbbWVtpTiiOyrXPdPpaNRJnZXvdkljYYGokIRhKdqZmKGzpEUlvJGejPGMDGjfEnUzSZiCwxlvNwijRNduLFUtXevDEnucsMTYzNDdNguJWPaMdSRuDeFgmlurmgpAKlSeJDRIUgfHwMbOdrGzbPnQyMgSJnDCMkLldXdGuoHlzBvPcHNqXZohjLDnOmltSScFjifdqTPTkePcQAli", "sDzyHLkroiNsVlYIlRqVWMikDKdjfXMoRvtcagXGRrVrgJylNxBXEuPARWmXKXUaEbIIVeqmkqDGDvjMoeqDkPuNXYOjWSNfmQqzslWvVCFvUVwBngCUiUCpiHywFQHHKOFJePCQEwYnqTqKOhqFOgpMXcNHlUeehyBwYbFsmsucMFfXZFnbFKMduyJOKumHrlpWQOUkXNBjtKBmkrFghqhVzGKFVwVjSeYORXVeouXFsVbBzWDjRlWHjDlItfuuyEIEcGZPVJLblvdMPJNexiKSMllKDcgapoqUmkvjMerhbunNKFAEGgvleiayDGxtzdhErUtTODbrEskdEgOEKfSkdodBcyLmEOAPbeSYnhHzraHOTlUZXVvstHgwQaSHRcvCUqafRvVDqpXHlHtFzHyXUvFZCChysLQtbkQzsIXbRVLRpwvGAMkwYKFkLNZnPiQMjgGAMwcKlJicacsDGLjJXtGByXztXEyspYGPQUPGjSjYnNaAJTBteXaszlbK", "ADqUZceXeGEvzMZrXMUhzXpoVQNBmwgqYFZCZjzldVTYJXFgLsqLralfpTHlSNqMzbhvBooAHsTEyTYLdyhIjIBzXXKgjjPhraxaSaQYGlVroYMYSmNZdoVIGrxHTvbXwUoXEJAUOCsEVVxdFZyPxIaGBPgrSGbkKbvMuhyoZjipaavGGXQAAxvqRBqhDmJuCaBKxTLSLsAIgQKihqdkHHkXCMkAKPnMBSzroJwerdCfLCNPGuSckCHuyLvKduACBiJqBEhImNIygMeYtXzmRdUJqlNMexMPamuzbFALPAGchuJIHAucENIjCEbXaOHKXFBTttGfhJonJnizCKIhQhHIDDslufGPCRTXoJRmWZoEdyWCvoGEAwihoVfYRADeKMKddhJopdINKCUKuKlAYrzNSpHSnWFwIklEgQsYHvIrxbkbOOZJXLzYeNZiWDhXJKRmYbtkTvVtJyfgMQNmvdhJqmLzcHzYhehPDEdhSbsCIOnHyWXIVItDsizPAZzQ", "yIvruMZAjquXdRDNXHGBHYENVmYDzfYHZdTgjgFGDxOZpQUnLCceYAqZWomabfvmlkLIEqNQIRVfXBYMwXTDJDogLxEWSRfvTzvNRjldrVRwPKZFtLgQXwTiNzXQVZYxYYlidXeFAmRTeJOnpaVIDMfzsRRJKJqKpPGTPJHDUdVRfBPWKLkXfbKhoPjnfAWqOLUZHGZewyNkJovzRksQqjYqQjVosTabBklABCxwwwDjQDuYGMcBWrRiMaJAwIHRRCLvuhJepXQQPFwFRWzjKrNjlzarlwFXqZmTHOUOJVnbYpNfaLBJXIANCCMxVAnvWadBgGrEwOWGrVqztspAfzmhAwavQplfZyEeTVrPJYPWCkhyHQKrynoWpxgpzmdeDFVgDpzRkNcLEhnITDtVgpeJYXUtOKMyKCWxomtWQTqXsvvCNpxUyTRRDuLNlPQduePzQLZUYGVtPFfGvyrTcHiLsDimbGsBxYyHQKjtWioVrvzlNSrvuLYkJwnldFUz", "peGnVSUBkrUxAIKuReUHdhXFpfcbnzaVbAhooLQiBOtiZJKZrdRywtiAogByOcCXYmmZeEVeVrSDTfOLQGwxOWfwMBqFIOdMNWcaHGIeIkKULmKVDvgcmSDCeXZRvmAkVNGmJLmgIDzweNytIFnxafSYXEvJeCpxEDShDfEfXJkhWlcGqGZgTRAJPItzJJdftzzYiuSkGSiKHASFWWYnInqjsKVxhyGPMXfzaLswseLQUNHmBNPYfnZGCSHnpLWGCSXXCTcTfSwmwKfayhapSWciCQsoSmTGBwiDRvJbogflwYzfzSAULuaJghXrXhQMWJZhtIZCpdPAbLjOCVaZELegetqMpfrMObBIHPnUxpycOfETtowMbbyUpiHemAFHjzqkozFHzkEbnshyhDOCbdxIVSLbtGMzVlSVqAfMdEGJhMeBcPNXjqsVjhZwPZcWZOXTdgULegCnEYXWZrqpCCQWcexaJfOISgTqZzIuBLBYOhOObiWqyPYDzxaszHsF", "KjINmhMpTgDVxDQPlUGPhUPxYlqsTSNBDmazhNJsSJATfeGDRSJiQwRvlaXhxGEvXSwYvjqpSJDfxGtkhTUhOuxcxLcZyLisbntuCPcUcmRqQSKLqYmxgVtBscGPtzzmyGPCvlEnAptWBEFCtoAolAGmsEtyJvnVVaNJkoFpVvjeNJFOPYmgPhpPFURpToqlSjikSkkmmLEMeWWYlpCDYaltOOZCtJhkUXlCXCIPrfQRwndZWWqkpwRmJYJfuxvrnmZEsYEAGmJpNnkHoPvPWldGZemhrOqHvHquQeBGRnEAeckncXCZsXKxGDnJyXBpFbmiHgZResotamPiteVvUHAEszmaqIzGGITdIdNikxoyIKcEXaQBGhJOMRnuyvlpPeATCNuOmfQgNgwxMERPWPbCDiIDuXsGVXPPzXGFaiLPzDwKzeXYWjeMqaiDNeMeqPUUMNoNJcbZZZRmubYMpdfXNVghvwtJimGkwbefLaXqSGRyInyJUgByOhMoChzf", "cLVBbhrfWzDBOUOTgccDxJHbcZKxUlwQNMtdOxyEEMddpzPwWdnxQbTlaIpzesnVdXqDYWfXgeDSiFraXUKrSiJzfIYENjrrWHAWrutPGOjsTIvUSENrlOOVvfQyqNIGYTMLvXXtYxFZXrmhYIzJJfqSFGzrAQQzKHQWjgQkjluuqRNlTMNHWUrerETibDAOtpjaLlpIzsclvNEGICNqptTQvKDXfoOqRTbUZKmBfVVJZJZarHhhAdNDBCdxPoTJkqFzdgCWeUmHySwFwJhgQNUEInNpyEYCLAerbIqIqMxesjhjRkxBEitmkefvGEHLasjfgKmRQmeRSxzMgXSjlTojLNKwJkKHupuzMcBzrsYLNRlvwHZHjVTMpCvvlttkcpddIeJeVyCBvYlyNuTbOpLKxIijlrbtDxYSVqKaQHshCEvvROqqARLDDffsgcSICvMIHmUBrMzGuHFPybrNMcHgbowivUfCbLdArvLkLEoAUjLIOdnziLqlbciWLOzH", "XpsFTPCpBihyfzbgKzabvQAxeMnUCtWWJriiMERhuBwXKsTcYxJbVrHouMVvwCQOmqfGWOFussBgwdXVJmRUlQMTuHehTPfoMhCKBEWIIMErKXbKLmFchODJBNhhzLDcSXDDOSHQyFDXiqFUHkGUoNJYjddUorCtqmDIyFsTCHlrjtrwBggsxpEpdBIyIefBekTKLAgmOgzESCZxNZeAgbhxaJbLxzQoJLNiPbnnYXcqjEHOZGDNfjjzdnZILjuXdDbRkPUVuUCOxARwhdngFQVEYmZRZVChIMRrWVTbWSJFdatxKjjjiBAEWHZcGPSQhaViUEFpqXCVMgBNdhZWQPVGDAMTumlrzDwZESmGUbfgtLCgDjryyioMhIdOZEJQFPRTPrtowoiypRAWpTFtIqlchkuKTbqpOfynngqfTNuLxlMNizGPzxNphFcrutdVtrUrfPEDNAcWnqNFkgEYwzbYBrGPfxSpjLFmIrIqgEmbCrTkIXnayhliViQlQBkP"],"c_array_date":["2018-05-08", "2004-08-09", "2006-12-05", "2018-12-22", "2010-11-20", "2013-08-27", "2015-07-26", "2005-09-02", "2017-12-16", "2012-07-09", "2005-06-28", "2019-06-03", "2004-12-12", "2017-01-25", "2014-05-16", "2003-05-28", "2002-12-07", "2003-11-26", "2005-10-25", "2015-04-03", "2015-08-04", "2013-06-06", "2017-07-04", "2008-07-12", "2014-02-11"],"c_smallint":22747,"c_int":1555045453,"c_largeint":-4721131858291370752,"c_array_varchar":["XeNytdVFKYhUOvTLASVRYzoZDXpmwfrAIqhqDOzqvHwALanTDHClwkHPznpYcIlYwzmBYlvnBakzMbCfmqxDFSRWHRcgBWmuTGFmzlkOXPKMAFooncmiKgNtZTDheqfRSkJjygakKiwDgKmCogwDVENnBkXLvGWevyCtZVcPkFtmOFyYBhIOgGUIirSVcjKqMlUkfourrMzkMBlAAeeZEqYvlsevcKwlkNahLxYtEDKeRLUVpIAdPDyAZPBlzuub", "JFDAPZtTAInpEwAsFjglUGpgKFYRwHcDFoIRwTQggmCOAvCEnzfxhrcveYgzexhvZbzETkNWnqWbtLLLOxosazVTduTsJzMEiWJLUBDFpLJrYEIdcsPqcawlFXchUSwzbvlleNqPThxscNVLkLWzpAdxNHlpaeVmYxpzKKlItgexvcNirilYzwsCydFkJsIDKgQixKgOUzWcOvZSpAksUStwQikwrRngKQSLfhEcUDeVmpQHisWRTnjqZeWlbZra", "XrmVmnvUsQfDuIWpnOJYmiqvqGZbqsKIcVtwVuWqeXSgkMcSWBoeixyvQAauWypcqYrdqONlxpjTKenYgIGWAmYKDcxIdxdEcrTvRlitsmKArzRuaWEJThUwwhsGRlXopUZLkcqWcjrdlgKcYAiNnHRDjMfXFPRHuHSumVruuBBovkGAQSzAiJVnkWHOFmNUSGPnVunZoISdQLaRZTmwODsUjnFcpVRQWGyAbGeRxZLkTOkTyrobGAYJCuQKxdzf", "wXFqOgpFPEdDPQjgtIFCFFapCjNXrOPWlZUsmbNPwkDbsprdOPlAkCxYABndgjopmBnPpHnUhQEhkOflkHfcHbbEVXfOYrYSgUWIlcnquwtyfXTPonlZLIVAaHrcNQtBSKYfdQsMxIcJDaWBwlwVDjaoOwAwtaUIWzcKGChoDTPqUfZRHSFOhOSSaOkZzYSNYAkLpmyRVxWzrzgnrldaLxXatnzxEdKLgqvFQmdzlpWZtKXLneFnFahRkyHSEFHS", "WDAORSWzDSaqwCaqBToiTlrYqoiTQXrKuXbGICSRIoFYVDBMRbqLaHoTSGFFTVudgpioOafeHCKyAVsTiFhjXflfOxOGIfmSbieVbNmWgmUsKCbdUDZxYZCNXiYgMqPEWRKIwkHBmBQCpYDNIaYLzbBFOHxaZaCHQgsdApnzgDnuBpXgBBygOyEXVpoXWcaWPXhuPEDcsjJNpwPWVarGCEKCqSsSUtuHZsvIVRLuQDqGocnhiyHJMCdvhVnHDajQ", "ESvOJkAaVwOMcYSXtjCQEDYgJGYfEhiKpZdaMWYSqaTCiUgWUhGmjdttCDoRveGnDAnWiciqTqrOuvJwwhHUeIvUJeOFWXRELBgrdVSxdklrVybcsWGeQhyQfndmVPfMVerYjoOXzCVgLLNJpQzlSDHLLMytrRlzAvdSdPwjHrDjwzWgrOZikeVLsmzKWwoBtuhClDyAobUAUdgILxRPjqYzNMogYkBMvzJRwXRjirLcSsljLceQixRKKaYfcePh", "wwRnRXxqQxkQZuTfqLIEEQFiCMKJAprbtQsXZsoereqYlEabVBlpqsUTXQwfgkhWaixAJeCGnnOhmSFPCHPwJAraEILqMrwFNRjoAGEMluNyuDInzFuAOjjCTEViAvIyfYohwUUgjWgvNPVwESnybVhyoHeDptUnokuVulXmkXnyAnWqczjQjXgtZJGUQFXkvTPROnslyFJNPjCNYkMSggbinKrUPSrWGGWctpWGubSDPWqMVospCdOtpocvzAcJ", "dBCoQBZnxnFgwziFhyrhPyvVlfYYrzrigjyiTVhgaaYMiSbqHtiLMNUGRMjqjgoXSmmzMnWpXGOcJZWALxBXzCGBZZuRGvBBLtidVlirrAHQdIbBfiTKfjWIZDQWEYHqySvCLvcGuJJcgEwtFODJKSlLZfcbqAebLjngggXWSgkLwCGknTokeqWnPAhUAxYoGAiPuCOADesPpzAEVPPoECTJqYvuJtMMfwgwzBhKIxcUzQcwAxqBHIWiVsHvKupB", "LsyJYceWhHbUgrzbOKOMtLtwSJzqTbELbFGRFnbBvJZQsKewxJvPjomASVfBOXCOWnebdKvXKEzBkNAZVXQjZusszdxlJBZPRtKuULcZjRrMgDkmnudrEIDxEnTKOdgQSGbOPBtiodpgJTtDXPnqkZAvooHGoeXUMphCmHMWtqjmGuwjzzPqDprbpgTTAuUHNQRqWfBAWonHweufGODYrKtiZbCfxtQmMsKMZcTeKuwNXLzHBntDzpEPgayvYKqr", "hdpnkPNxhKKfzoOaqbriBszHLWCgPZkIdbpqQFVoRscKSIgCGRIRJoDhjaMSXSEUEnrKdMQOQTmyeSdTNVYhDmTLLDpaiJZeNZsHsXdvxlkgVIZDNFMDJSCYVVvsrUAeRszTQMMXUmycRizTfxoTKLHyssmBQhNyEwIRDtyqugxPLJowmOSHXMNubLswlzZHzyItyMoCcIsiRXFaKUiaDtHioHStlcADvKpfGvBxObTDHkTiQDFMFQcrRecdjzyb", "JcJmAqGGqcdcaJrGloOgNoxYRSvfKKJGFAzkrUwDTMJzfmXtZpdnpZCQsAnkkmYluVuOVfKwqdBfVSDZYMkeiZXUfTeTZgTjonxKItzGkugWtDtlSYsmAEalIgaQoMdNUSfwQRQpUyeLmSRfynJnwGCjVqvHRNXLgmNvwzxVcSCjkCHHpPbZMzfzqDbwDlfjaJSYszhUDjjMgUidivPZcJJIApoJGgXzRNEIIygXlkuUdJoILZsEMPqThNhamBnY", "mHixjhyWhuEwTraponqLZUrDzReuXHODYKxNzJaEocGWBMHqRZcjEyGTTsVArkmpMaXfTBIcLtbqQscugXahaUtUrRKKWIWLHWMAjHKRKxmsbncBgAnyUsCFtFKyzripCGxBvLtKswBDAoRvxNrQCKMEyVEvsINecHAKChhrVTqaguEGDCQGstOaMwmHYtUVbQCRzBMgMTcAZDlWGpCJRVmQrurEDFyUathuQpShfxTfkcZOHpzIofkMiHKrpkbx", "GFyYSovZfHyAijEVpJxxIHnRgWKzTUuezljJQfHpgVZezZJiqhlysuqclXyTeurVTZuzjOchVExQnCdxOvUqHCyZzOKKXiJXQTJFAlezVaYwitgFwbPzrNBrRZxRrjZRRzsvRpsuiUlPEhrETUMFccjtlBwZHjUoieyEbJvQSmrADaiDXMGkSEwnvKzpIRLPszwWgOpEhlSBdMvyKvOkgkanTVqyFqxxnWFMewnoCGTFrWJzCUpIghHkOoPJnGsh", "mjGpdKoJikPrUYCtZntindvNsmKByxjGHFjXFzcOptUSzpFhrvukhXIVhxDvjGHNgNYDwsxUBgrjpjjmYXPhSHUJJvDKCgKdOQOujrbygCVCqULPsEXlplvqXrHfHIrtTIkevmttejmLrvVnclTfcWkIejTKbqTtLRgllkwjsBNGBKwMYVcvtzsWLFNEGKCoICMBfWERTmxOQhsIZzmNQZCQoqhqGrhNtlnSYOROmQmSEcoJVVXqqRAKrzTQIxew", "ZyaSffkHXIEdnlMNkGTfekVMOdqaIiodluSDyHKQQkeawuKJRoXpvEtwxrTNYbYkKiPodTAZPepFlcbDlTSZQgKNeTeDcCToIgSOpVmbCsFtjvBrXIiiTZqdwguCedyisrqnbQIhbncvmUZzKOlnIgEUOipLwEAeROlPtMVuRTRlGIyUQoihchhtZqDaNFzbfZhwzrjsNwvshsHEoWBgPacEjunBJDKNEEzGrQvAkGPsCmkSXSTTzKVLfBYYJfLA", "iZrwwqFsUPfpHrbFRkczBDyitHWFcrhDGoRitglCYkmqIgKMENmfxdiQBRspqWuiRwxVhoaEIBDcWOgZGpSEJwkKrDsXmbbJWLinbXBaZvnxqDfuOJbyHYejIpBFBZFnYSzOanyLjXKtUlkbFSVUpfzlJymORPvgioGfBwQBEYLZtkMkpRfcLpglHDaUoICHNitheNzwBBFaGevaootQIKljERYBbCmzZUwaiykMJgWgTcZxRmwFIWVEJznQxlVi", "yLknquCRPZHPucFuZyySuIryWVOJLZLgYRkHgfVhmYflNjeEMnAhQYQOCTQhWYQhnqdxchkRsBeEhpcstIISannVYFcbSLLbpiMvfsCIucimSYZTZyKmxpuQArCExeCxZWyqtYzxfjqrSWJbFuySelEQUUflHGYjveMGGzeCoWaKmuYfHPRmVEeiaijrXTXpmKwHopHcKRsEEqGlQWhYRYdjvkwKpjnuXaOiiyKEitfxmhjvjFBxEYabAbPmuCaw", "nzqNGtiaKzschkshFNlfSTkfkaVsFzdPBakLIZsxRmeLSEXootNBMZpHksawgVlNGGCoLKJsXoIcQLloNuEmjXwIMuhuMmHgXrHVCUQfODTwcHhyuJTxwykgticmdRMaOTmzGrPGbnWpGtFtvKvATuRyOXZEOQLtJVqbxWHwgdioxAIyHYODYXSLVpCKXjWVoSIvXPlyxGBnvScIfYWPkhluyPyWzVnrwdkxNHrUVFOaXDIvyNwEljWyrFKStFJl", "kwxhPYMHNfEAvNRjKFqsdyYdrgXMxcCvbHxXumXMwniPRLYfSbSjfvGcKSioaunAQYGTlgqTWFlxLPSSPhLRHRUbQPMtzQDRmPKgbMfpuQZdWmPIKijOVARePTBydbcoeusmmPmrLzpSFcAaoCwVPRQIAAubiSAHjlEjzmgomolslzkVZvhqsOLkUyeFjITcVQpoZBAwwGJXbjgPEXXayIeGBxGiWuFbwSHSFZltfTSWAkQkoGRgwyYWFMTqbTpV", "oisEDgSFEiaSUDfCDvPtzvlTHqctgsmxScGLqsRdYSpaGYjZOvRAmwBUfMmnSoTCjhDTONkqVouxZmfkBdxEQCsbesGDaLHPTDAmSUDmsSULFeRIeSrGHyFJMVlfPhmDkyimdpKaxHJJakRpHFfhpWfnWZfXzbCAUbBJUbVYuydYpSHqDZCKXUDeMyHnVdkeUVRrHQQqcIyhjlgWYqFLXtMNoeNzMgRGbWHwpmKOcuYwpgKXOnZfqBxbQmHtCszv", "xUoowEwVbeWnKwnFesPuHfBkISnSHfsxqoCrUERiVIaldZaTlHNgIhSQdVCfMfpHJLWcHZZLIZzLMrQYNiRudzsLjkGFqHcYYUzAdPbiDsmXpYjAwYNatEQVqePqjUuAYUpmELBAhajhgcPtMgSVGDkHAZyksOjLtAsMNXwFzUdVKuPRCHOLRMxFSYdRiiEXDrOJdQvCMivmfdXxYsLMZxdVtJgWwpDGQxdIUiJuhFSSOpVdzRwHQwLJOvZfbnKI", "wZNWSgdbZmKQKXhXqVfcEgSXhoJkAufCFNwElRnZiWsRLRoGgivMWNHKuPzgvDQFdBYQwSQdhUTcUZmOYXkKaMbureZssYdTdRcRUWEyLYJsaKyyzHrswstnquSasCQVSmpEJjfVbpdkfRQvdBuFHwugiidWOrGgueRLFhDVmOtrlyKmdfJUgPNkcfmDJoWwijsZNBnugTVoeVoCKcGxTajojDNJNGbbANvJIxcMwScfFvmvUwXBfcpFSKOMjjUl", "XIMpPYrDosZmHCfQJYGWmIKGhIEZOGjCpeqbKnKtNghzmmoXFcUtUEWOnlCKkWwXJxbaudJrqAeUGQhTXnbRoJVoblzUoGJAuhRLDhBGYkywRLsSkOCIjbfKnpZRPUBNYMlFDfWOqYgGCsMCPILVljPJTfDYLrGRSkzJILvAIjMmoyouOqSGrqjEOzSezlBZvBwHarvkVXeWBdAvidMdhnsEjjQWuGzSrEmjuKBQdNniiYULrbTfTjbeCDPIyWJE", "PjiEyNJHZLvAsWINsnWvQphKVXWaEzLGdMXCLqLjrwsqUvSZzFgfWbecnslVqhTDqyPpNNNbfILlPkjanYtLivFMMAkyOXmPvkheStxXhNErjVoYJbluZhLamtsGetRfJWBnJCidDQIoTaYlOyRTgpkRrNAJWPNQAUIqxGokVMHJsAVUQRIxunxjZiyoEzvLZhYLZyndwiuvkNktecrrYhcyIWLzCAHAzgxcbLXZbyfqqAqQxyzkbdyVDvtiPCax", "IkzSInnCMvskHTQLeYRDHJxhWirsBrpXQqdHaSGfpHTHEoTKfmtvWwXAVMTQzbEshokLNLQNESoDDnxoNKZucERjPWNUGRhjZnpqeLZqySOKXJodvFtfhOaVmWWczIQHyvtYXArJKlZJGVkTkaXZSmwjfjHzHXAAUwTONUskVosozNDiIJLYeMAydfvEcdriGWEMwpcBPBPIFfUeAakiogAzgzUugVsXBVXTidUACTKNqxshdqaROYCCzNNDujbg"],"c_map_int":{"c_map_int_1":-1591131787, "c_map_int_2":-1762812926, "c_map_int_3":-1482706180, "c_map_int_4":-1510694935, "c_map_int_5":-220103281, "c_map_int_6":1569387034, "c_map_int_7":-350845748, "c_map_int_8":1681702834, "c_map_int_9":-1574398641, "c_map_int_10":-45543582},"c_map_float":{"c_map_float_1":75.326904, "c_map_float_2":53.529167, "c_map_float_3":27.931274, "c_map_float_4":68.70387, "c_map_float_5":50.968697, "c_map_float_6":90.4526, "c_map_float_7":10.494357, "c_map_float_8":19.887772, "c_map_float_9":47.433285, "c_map_float_10":45.156525},"c_map_double":{"c_map_double_1":95.23476268804733, "c_map_double_2":2.118148049533715, "c_map_double_3":17.010728445439433, "c_map_double_4":14.10031623636999, "c_map_double_5":39.68589682284194, "c_map_double_6":4.328322676383588, "c_map_double_7":42.77721152207356, "c_map_double_8":61.812716869002905, "c_map_double_9":80.08056395252355, "c_map_double_10":46.613773191332086},"c_map_ipv4":{"c_map_ipv4_1":"243.27.173.102", "c_map_ipv4_2":"23.188.225.20", "c_map_ipv4_3":"49.241.127.242", "c_map_ipv4_4":"52.205.34.107", "c_map_ipv4_5":"198.7.9.160", "c_map_ipv4_6":"234.13.60.91", "c_map_ipv4_7":"189.222.192.205", "c_map_ipv4_8":"57.98.221.81", "c_map_ipv4_9":"75.47.233.66", "c_map_ipv4_10":"212.100.146.154"},"c_boolean":1,"c_array_ipv4":["XhSvDMRWEX", "PRXCMrxXnN", "VZrolrGeuu", "AquKgjayit", "thmeWmMBsQ", "wzbwBBuWFQ", "BJnXolvYeM", "jgcUbcZWPH", "hUbpQUyuYp", "XnSZhajsQt", "XIfOeHamwp", "eJopMMUzEe", "GmXhWuGQrN", "zwzTKPWBmw", "QoQmzByiEw", "xYuGFMvTvU", "LcxfoJBsvd", "jOommDWEZc", "fgJbfcoPXz", "JIKcDhpKFi", "yiHuAZBEUE", "CQZsQxhupG", "vDVHRNHdEA", "VaNRfyEtmd", "EMsuVLIMjX"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_bigint":{"c_map_bigint_1":1955065258311439405, "c_map_bigint_2":955023605458562017, "c_map_bigint_3":2580401542713429136, "c_map_bigint_4":2217628947449293750, "c_map_bigint_5":-3375389543251237952, "c_map_bigint_6":1092677330514101644, "c_map_bigint_7":-2884360112760656988, "c_map_bigint_8":-2509019223592623948, "c_map_bigint_9":-5204332988512283809, "c_map_bigint_10":-8608696113171592943},"c_map_largeint":{"c_map_largeint_1":297794416835477074, "c_map_largeint_2":5940632834644652073, "c_map_largeint_3":4536956864826085544, "c_map_largeint_4":7370750452796617203, "c_map_largeint_5":-7736185591876074879, "c_map_largeint_6":570065705856268641, "c_map_largeint_7":-264737805390820339, "c_map_largeint_8":-5422754129426821282, "c_map_largeint_9":7975220617519795228, "c_map_largeint_10":6092223342375064636},"c_map_date":{"c_map_date_1":"2016-08-12", "c_map_date_2":"2010-10-04", "c_map_date_3":"2016-04-20", "c_map_date_4":"2019-08-16", "c_map_date_5":"2013-01-07", "c_map_date_6":"2019-05-20", "c_map_date_7":"2012-04-21", "c_map_date_8":"2006-05-07", "c_map_date_9":"2009-08-07", "c_map_date_10":"2004-12-19"},"c_map_ipv6":{"c_map_ipv6_1":"7a2c:c150:f907:3acb:8e4d:d627:1204:4bb", "c_map_ipv6_2":"727c:a11e:af9e:8a3d:eb43:ed26:7dc2:2141", "c_map_ipv6_3":"1f6f:94d0:1fb8:6a1:2bcd:feed:efd1:c944", "c_map_ipv6_4":"f2e4:817c:8d68:e7fc:583a:5cfa:9f4d:77b5", "c_map_ipv6_5":"c24c:e8e:ce9d:861b:e748:f66:cad9:5e4e", "c_map_ipv6_6":"4fbd:630f:2b20:dea3:2a38:948d:e0c5:ad14", "c_map_ipv6_7":"62cb:c467:c39c:7a2b:a442:b617:ac88:3d8b", "c_map_ipv6_8":"d0f0:a8c3:da5d:d41a:60b:d00e:464b:b572", "c_map_ipv6_9":"33b1:f48a:17f6:e1e9:c3ae:3084:599c:d592", "c_map_ipv6_10":"5ac2:c49d:6cd3:a832:65d1:15e2:ec07:5df9"},"c_bigint":-2002622544929091227,"c_string":"WEZsUjtFTRXKpUbsMpINgQKOQCuGxjMfqVkPbksEpgodATVAhPJfKycwZuvLITNkfhqrotWVfTYJggZQyqzSdnssBexuTEndxPYWnkkayzLZnHDeLSWkKuIVUzsqHhijmLJEjsihYFoHSnwsITTwCGFsNAsheTODOeQXJcvRYplKtQldUYTiKDmRrpLgsjMjkJIQwpIfYZBPUHjybLwdePoyGdLlTiITUiTTvOHJkJEJfxyfblNSLZnbdOEfiFXFpgFIWDsIahonMApOZoMfOLPcugFqwdlGfjPnonjhXojSMzpoodUREmgKRfKvvJIOmnzZPQyoLbHXTHVKmlEjAgwFRwAkMdUETSvYcgIYhrqeEHlWvIouDfvvNjCcUgNdfxALuHlmzPIqEamaeHwxmMwuHoMXfDdTuCQTrYLYPmncsQZkaslbKgHzypVnZWWHHCRRAqpmqairBzeHqCnVEBYszUUzAwkxsyzcUtsrutptlgDyoyPcKvxOCGUNuJoe","c_array_boolean":[1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1],"c_array_datetime":["2008-10-13 16:43:26", "2006-04-06 06:26:17", "2001-11-10 22:11:50", "2010-06-21 05:33:43", "2008-04-15 01:42:43", "2010-08-05 07:18:09", "2012-10-19 09:22:16", "2008-09-22 07:52:33", "2009-07-14 12:17:32", "2017-04-11 19:10:58", "2010-02-14 02:43:56", "2008-08-19 02:31:08", "2008-03-26 04:37:35", "2017-12-22 19:41:28", "2003-08-28 22:58:54", "2016-03-17 00:00:58", "2019-02-13 15:01:43", "2015-03-01 16:42:22", "2003-09-22 01:06:17", "2009-02-24 13:34:48", "2013-03-02 22:33:37", "2003-04-19 15:52:16", "2019-05-21 19:46:44", "2016-07-21 07:47:36", "2005-12-18 15:39:00"],"c_map_decimal":{"c_map_decimal_1":56.1260, "c_map_decimal_2":25.0525, "c_map_decimal_3":66.0657, "c_map_decimal_4":62.1903, "c_map_decimal_5":7.0801, "c_map_decimal_6":84.0233, "c_map_decimal_7":57.0749, "c_map_decimal_8":35.0052, "c_map_decimal_9":80.1079, "c_map_decimal_10":15.1023},"c_map_varchar":{"c_map_varchar_1":"oVIoaecCWqEGmboFcbchtejOugDBryoFxCFrJliIbORkToaiyXsMKyezXIMyQhCHonEQetlhRhbwIICpfYjPPriAusSJYuSGhBaZySDLpCcSrDCThTiCMhmxSrMwrTjoawVwrZtMsJXkpqInszKakgtIEYzNpDIDZhOEmsmsfnmPwhkGGxWZigFDokaqdWoAXNHHAMikAvlwqWgLXOSdtDhfYINPRnqEwABmZzDIEhVRRPCGNhtLhIEdSsucjfxp", "c_map_varchar_2":"OFJNKSihoAOwDXOmEQiuPqSfexbhLKCuAyiaCilEZSWwlzndONBnIirMgbpFjvSzNBZycUERsPuALCHqEYOApBYCIdNvoJUtvWAoTHoztoYpkcXTdVyDYKiadeRsskvrbFbXxksWvRaWqZuJhyCXPrRZfCjfQGhARaOFyzYsSQISeMdQugDKfzmoYaZFLfynYYuiQCkfMrkPPgrEklweUGwBYHMHKwcSojtwFwmzngfnYZcXRgNUuWeaEkBYhYrs", "c_map_varchar_3":"dzGdixCAjjrHZqeydnOxCFiPGCRjwsICKzpXGopTxRKssHOfZoJEECAKUczzUDEnoLqsNPZyBpBwYgsWthAgIwnbgBNjfaFaooIpRfJtvJqOpsudUsBSjWmLfrckVxBakILdFyMOzXaNgNiyvqanWUqlLARhbUtyrAIXuvGNRmGWQJnntYIbZIbgHJvnEhLHSFtFEijedDKFYDysWXUrxwmoCwHZjRzDTgoykAsKrVddMxTGbDKiALOuToLatDMk", "c_map_varchar_4":"NFiWzvmoAbtHNjBTSolxgTaxYsjWWRmQAexDlTxjXdgqxUAriAoyioYmmVOotzMlxhyLurgGsJGhhHUYAcNPlBFbjwFXbUgojCsupSzEfLfynkoPQPOyevKplcanHLVLRQZKYKquLYQwZxWcYfUenBOWbulwgNwNqznLiLprQlBGlPDKtiCKXwVoofqCizrTksRfcrFRAkQokPdNwXrUgMSlUOeXxnqHujPnhMPhPZSrqHTIsbTbLKMBlcLXfJDZ", "c_map_varchar_5":"hpGPybEqWYzJqszQDHklmKqfYutxcuyKHJBGjqwYfJdZFftnSLQVbanHEBiTcxWXsJlpipJLTaOFkjMJIGwsTWMUMponNRBzSnpqihxXAKnKMNCbOjAvRRKUKvjBDjqWQmmvVQSqFGJGgPAxqaKyEKBtvldKTYXknhYRlUdjeTELTykVnJXgYZMIMBkSCnbNxWyoZuDHkFBHTxuomDFGCygtlDXqibDMsfUPvDUGibtYhdhSsaPqACFFoGbygnET", "c_map_varchar_6":"wKnxEZdFmJlTyKudLgeIxlAyyDToCJpMxkCThNvLPHptcjeGSjlPsyhkpAnTsYIcKnyrMiTCQDxxOhIiXDoqqIJECAgwTzGHHteEYhUBCrlyVldcjtWysrNFVlewIDpKBDkXfpmbkgzTFLqojNHWtTScdGNbRgpTeKgGOKQlJcUgGjQJDlCvpRQnQthKwlnixUOZFHJFgLYckyaMGdzdfRySSTdWudJGYrqsduYuXyiqTeAOnJkrVwCeTcazRMPk", "c_map_varchar_7":"yzdLdAnqKNYrgcMSDlWXBckudUJskLKEKvwqGCWCGabMgUTBxDURmiBfGJpsftHTCZfZLuANCsYHJFBoPzRGWjlccFqdHYdYmXUAlmroBVeArJwpfuWHgbKdYyADDqRSSYKFzJAuJqkMwsVovwFXTMwJsvEUottgKRZVmxyLTrgJlrgfBEkbZiOiULxDxGZwxiuTFGobvUxFryXiNjrKYbywfULytuEzMaPMpBPxJVBwIwhcMZqXMzMEfXkkDmMm", "c_map_varchar_8":"sFTJhNDlKUMLruxBZRXfbnyGFtAypXhpVwjDoxLASFYevohMaYPdtSjEfFTPgNizToVZpQuDvitNAYYvlHoaGiYxCRLGNzzqdVaPzshULkKQKiClpUZBsnWLzoBmuSkdtbJscpLGOcMLcaIdsuoRZIaYgPeWQaSodkTcEUcWhkVRiKbiDeqfPtBOPkGTfSAiLzByIPcZYBnQknPJCWgTUYrqLqekJxgxYXbJHfIpZIHVSDMbIuhaxKbxgqqiehDi", "c_map_varchar_9":"sdIeGhsoWwcxussUBCGHBioRJLaqapvgIzyvbYRzSXEDdILsoNWoCgxHuWmKzUSLUMdtAvCcsGlScMolVZliseIGSNRxplAYCPcQydcewwjhwNWwleeOBWdvNAXITxxkeFLkJAOCkryEYGtArZyxeMKBtvTpXAUkcZDsBdcWjKPjvRsohjCmwmxlXifKHCUeGqlUalALLkrscDqKFEYMUnnlQxGtvAxSoteUNXYIUXKrIoRQfLuQKwaAYraeKwzv", "c_map_varchar_10":"oyLVtjzfWFIIckhEyKcDzaebdazXQqtPwvBshwPSgZagfsmNiVwEWzfuvszDroHrpJzEFqZhrdNLrdcCKbtQzorfdmzhOVcYyszJmfXUlRjaDjLMSshbISEpCbXhtUvbSwaBPqrxxyeGQTeJeDKlIpVtUADJrFTMVBiWKWizstIqhVTjVsYVFyBTyHzDWcUMSfCnezeLsQnwowLvGrbJKKKvmHulgRGtIVWEgysZNsvggsaZtlTdGkVooXuHZytQ"},"c_double":18.9504270354922,"c_char":"YxfTVosyhC","c_array_smallint":[-26458, -2888, -32330, 17004, -21310, -18359, 31681, -21959, -25470, -23137, -18091, 16378, -9327, 14354, 16821, -29640, -20912, -8068, -32012, 18126, -19561, 4362, 23517, -20003, -9803],"c_array_int":[-350478689, -1394988297, 665690710, 911409551, 2062387334, -104599582, 1751190526, 1374080511, 448356976, -686453995, -491919253, 465345281, 188814663, 490159599, 712648501, -273820184, -1868538029, 1548142347, -1215283038, -48450299, -304950349, -824342815, -1780396273, 737169328, 952849883],"c_array_largeint":[-2547573364044576715, 4245000029884649003, -507231244902437143, 2297271321183936157, 3559093943737894277, -8673787205365697681, -7573717394983627632, -4355085756105694513, 8607724899143733015, 639325381652654281, -4057853743872605871, -3251622240865975293, 3497236738134720038, -8211081048459163558, 128228261848676462, -8891287514867766406, 3028438339972593601, 4551381966443596617, 5237205106694103442, 7025548710330103148, -6508705218780643693, -8063355187310691670, -4670864749425717201, -1305569975149078938, -3238905610001295003],"c_array_char":["iBsDhIDRXX", "MczaDmGZcx", "tPjaNsyINx", "OBapRFhspA", "OXXsaasIAe", "eADBIyJHHy", "PRZQkzlmBU", "ccLAUIeveZ", "FrEvNhYPuA", "eDXixVqwRD", "DszwvYhxjN", "MmPknafxtX", "ZARKgFDGeI", "NYQdrZTdTM", "XENgXtCsrr", "laFjYMFvrk", "bVAfZQVkWy", "bDoDtVvMmg", "mxcBjnItkQ", "SkKihzbzEx", "tfbQIjRUWE", "NJAwXCaikN", "IsbTUUrfYz", "tmjXKfDfHS", "oYYIgzFqvf"],"c_map_string":{"c_map_string_1":"SELqgepsTyHXsjxnmBnkpFHVTVJzsrvdyYRyKWAHqHkGIKRfvJLAinLAMcOenwLWuzmohWsiuvQoFEpYPSSZUEaLpsktCxOjPCERiUNnpuLSSrTxYiqhHVzanpCAzOvLVqegaFuOHBQcxUpKFzfdahvEzInBoVDUriaeWmMYWvtHiNqyfMHvGGGIXcPpkWiqYkdmtgowgLMFakgjqFwSNpprdXJtrmgwcFYRGrNnQtbhSzIAyepdEtANPTNeiGSJgsfTKanqjfSNeSpCUohizuuslFDKDNCkrIJTPIKYdMwhVOTFQOKjfTIjYpamPBoijRyNxTWCLcumzYeWYqMGokVYUCfUHWnntqMGtPNExrpXJFAEFMvSZyERXeHwLJWHAkldAKmjOaTNMivDcYzQxjeaTtfYvQIPBVbvKDCeXjAEInaiKeJMDxyJndJlJamoHlIbSChtGniZFazXkrWPmdIrxuDcFGwtDiVRfBSpbGruoMOvzukacSAePeOZgOrR", "c_map_string_2":"nHXLRqEkyUIrcNvqijfDLoyCYOhEhIOGTRXOfNcHaliBfEgluBaZOzPRZZQGSUjWKzDUIsvmEvEWRZoqNoJBJSgkmvPBuixaVfMHhQEkUxsTQfxgDSyamfLwfAmlXfoodGKwFhLsOhAAsPClhbUDQLxQWwsWmjfBlVrcIaOYrVmhFuYIwEfVatAwOHSbYupDBeiTMmkociwJqnInwoEDAmVqCYsKXNtavbAWjTxLxydcUJMglMbbCCtABmlpqQafgtFoDRbnIHHvTcePbMjjJTfbSWCQUyVzikYzcFfugsvMJEWkpRAwtAgGGXZABAWypyzXVBpFbCHkYaHavKZMBlGeFgGcWFWWzVXoWyYdZMUKZeoksmdHHrslogMoRNfVZbmECfGGgbiMdaRgaIOoYcknmrjeWmMTkBIMzdXmkDwibFWwAwZdepnpwUeiObreUmhOxoIcyUErGWUHCKRUHxGzrCMiyZlAogUIgHUzhvwddQlzBReGLWNOxTCsfdam", "c_map_string_3":"fTkdIxKtaLzcXdcIfohItqgWxFpIfYGEEDYqVMuXGlDlfIcdESMcwyTiTdvzyXcNPFDhczCmjCUPRUuFvBSBPDUSHlCamTCTwcjeQcLTwyRlfSFDHnYoVUxblOyUNZDcQLHrcjqUWYSmVzfEZkMuYQOvvHGkmHShaZcNaQhPTxRvfgXnaNXSmfFutGiLqHLkgmCwavwLdJHlDKLDvxiHKhiEJBBZNeaMpDgAMoxhhxVZPCZCmZICDeskEQbsMgszdfZmNBexUDdDJerahwdpgwdRrSrHPPhnliAOHuUbBGyoGlFCogbJUbrcLoJAuIAwZYaXpBrIoRMJyTGQHrNUUyXtByxqlMRqxfjfZxllCugywuTytHFJbykIaoOHSaYqyvJqAPlERxBjCmeuRWPhklqjpplKWapCZNwTgAGwJUIlzhmFMymRCpBxKxNuCsuaIBKlIVTQJWxcIRiRnLUKNQBtOnhHHKXcQunYwKLaTNPBlmfucBfuclKyCxkLijrl", "c_map_string_4":"guEqCxNXhYjdPjoagLWQSawgudOfADYPfepTHJSkxYuqLZgPZTwYsBVBwshZGptdLXpIgdLqWhfrDvCDhPlCyZJDPeIrwVghplOWfElKgEmlXMmHUCZzFnevCrGQFvgqvDyyMQRWISjzIXjmAgMZWbGJZBSHNgIAngHupjeGEkARuOUOmbhOamRpnINxndOUhMorYcCbxLwaLDjMSSKqhhvJVCVLVsyWCKGKGSpxJNCituyLPLhKCGqYZTAyOBTpQLvuepoAzNVssbrgxUSreXKbLfyZqVIThEwLWAWOSJZkhwQbQUqMwXNmYcplTfiOeKzMHQYdHwUMvrilOQxLzRJCCdQMZabTaZkXtEeVgEOdaGAZgsDnblimOQkxpWDZhalgqNYyaFizNHrgHrobGIOWJMsFGdVxTllwXImMRZLiGrSzlCoOWLARSyECroiZapVHTXPbQmqXxfromEOYrLhelNQhUEhVioFMqXcgbrvkuspXSffpSxOipiUjtpan", "c_map_string_5":"RNvYYLDvofQZwgeEAIYYWUttRgZjVcBCosoknCzoVayAusTZaXgXxtoRvLuMKBleNpaUJuEUfTNXJSrrMAJFXsgouBCPnBdLGGWiuWAgBEdxZVemAVXPzWyQzNGoImRNnspGXHZTbNKOAnVdyUwuWfDBeXGzAEqSZVveJVkcFAcASylCziaktLNzFVwAFORbRwvGgLIBmSKUTJruaFtbhcUXVMnDjisVWSgEIJnamxJMcJOCWtnRnGOQgdvUlRqGzFfkbSpQPfADqVEcImVmvNuRhaTnrabdccscLXXYOuueJuLUTpDDLAEgYSGTxsZqkixpjylvdJSMcWoQKOhbSCtRObBtiahandJiQBZOOAnFCksbwpltqIvOIGdfFPGCSpUWAKtUSjlLcEmjzmfuvIfWpbRPVcJnlfxDLgDmNdeEYrFScAQqIlzluKBpqvQtFpxulSimloOQrPJYEUmYZWXJKupsAChiMCtIRAvsTFxXlVLEAzydWdnrxCAPtGcb", "c_map_string_6":"EoxTaDfmxNduqwOUBLNsNBixEyZVDHUqLMTRfFRnjotROEVTlkqZNWKJAnqlovZubZNZMZWZOJtoptwTJFCOJirPOPCeWpgMtoubpajjFflFSTOhjSDZcuRrjPLXSAoGSBlewqWZIOqgmVAkZgePDpDAgaphefSOZXhlNNqZbphteXfQQecRDDYcnPgwqJEKiDkTRhBpFWVwhgVEEfIvIUeBbXlkgEBBnfOKSgVaNgSQMvMOXDNidbjjNZnybfhLqJaESQtjtWxGNoVccPhvWoRqYOEAEsIWXCVScskXcNmRZheYRWDGOwcFwVQHyrbjrVvFRcospNvRzUrHYBEszhFawTqslCufhODYTAIHYrLtoAQaoDJcxnAzqpXvsUYHyMnvAaJlVBNpmuLchtXZsKhjoOHgZFzLBXQhdHXslWwpohwiMMEtPqLciLFXvFMExbpBTpiforfIeccfbEoUwPUKtphFOuFZdmIgBaoSoCJtyEfxhNnkOzEvrziDgpeU", "c_map_string_7":"WaNjcxDdFAXhEPtNbhsuwmmyJkYuxMJKTXiobtLtgYDXeidtnisvtyZHizbovSdkOmEqDbqEpDuOBYbomnbVNyeKEIFtQtcJJtCLpcVgNobCMhqatfSQHPUdguopmOaRMnwyVffqCGkOlEMHRMSNNpcJSFJmIPKRDqbcgSndDJKLZjSOcAJtlIeKUvJJTziiMtlyouQViVOUWVKuAIysrpXVkLoFYjUCITBVJXsHDEgYpDGDpxmOPGGBQtUXrgUYtfRCaXJuEffZlgtYGKkVFAFPGOMOhlRdClZNrFqajhcgJjRmVNXzClgpFwnbSDgDoemHWsPxMqcbluLhYVzSNZpqelTfvUScVuqrIeqXRrQjwqzXkFWwapDZgDFYunmYPINLtDbxhNpySAjssnLZIiFQqMklSEzYNZLDbhODRXbgxZyNatGufdlOhifJVlkVLVChwEHKSyVyUmnFZIMTeTLjibHEHaXaBvkdFFqNUgDCuJBKLMacZJFOoqVFDlgA", "c_map_string_8":"fPhrmprbwWUyioJcYijLxzhNbRVczNUjfHhyYSxggdziWPpoUiAPSlLbZPilyUcvopTxLhOVcyRMKfkVYbwLxjZNwmqgIwsUqQZRDvTqtRebkumSwjqetARcuZkfJRlBLysvcvEaioZwVwHxjOEZwiuVgJcFiFXalPXFbpObaMRCRuinQUhGKMYffRrkzMKhaAvfgRYseYwylMkGcfwICxWiUkDCaQamChcoKjEbwhBBZGahPyKTcoUwlbUcCMWAWXiUyHlFtwAsxJFGaKDlkhUMPYQHNfNuBlILJjEIhkGYLjdhzadMcUpXoxTxxmxtiOHnhUTTCpkHrwmLDwtNJbjTvvDMDkjBGmyRmMJOKLAbzbBbtrlgCeiAWcrKPVSizyADfSbPZheoNVpFetgjiotAfPuQmhVneyQicirQYwtidxKnvYliqkMDRoHpjZvZmKdtYDCMqlrCJWfMSzeKSCXrTEUNmmpSeQBhVVRndJYtVxCiOMqgHhBiVFnbDtsZ", "c_map_string_9":"ONyySGyZDdTQpXmSbzInbTHTxjCtDQWDSxWlOhBcHLFiloMZoFSlHZtiRhMpTNfNfiQhxCNAHdBioeYIegeDmkqZqzXRjjrwmDcNeaDBRqmFLHhYvAvqghwPUjEaBCyormdvWLJdWKapdsRpkCtZaTGAXQlRdgdXsTeaXCTgUzUPvsMnMWRnvyNuEKgxyZANbScSwftLQjZaCjvJLaeNqxqJXxGufyqQJIkUJEtYRPhEugmSLkqXlCaXiKMDssxVUStoVvWfPknIEkXjyvRzuGzMyzIglliOGMrFvtTcLAbZfWBwFAMNEjFAhMwAEHCVPKWsHTOxPgzhXQPvxSIEzSnnNaLbjGVzodjztxztdPsDnQMqXVyrLelevSLnlcQzhFcfNnYHglFoacqMoYIbXUnUEdumxJAqKbmPvQELLURLCzKHxDebamliXlTdgociECHgtAwDyRaRqpMHDUzXaKxiSacZNRMVjLGAOdCfujTEbvmFEYtLwTuXKsOTfVzB", "c_map_string_10":"ttDxASsFoGWxylpVHvkyORaiRrrwDSJqMEUwqVknaqQRCIDQJXGEVQZvYuQkAtlWUDTlhriMErJcSgVAkhUkpatJNrcLEWmMcLUQRVrFGXnLkyqPKxjjTFnonNIxOxstwOwHWXGkYSmsSKpljfhjySzXuKLssMBkWqvEvSeWNNlojDZUJHVJfBPiSmvRacsHeOldsILxCKLMTAZWvvUheEkwElMGjtPNASfsveludOvezJlyFQUYPPKjBBKKkMzPowYkFtqSUOVClPZCWJSwNzFMyHhutzlskZNjrErkBvuGJeERTUEMgjSIntDBUaztZAjgEdLfoVdQNJiIttrhDCVkeUZPjMYPXyrmRkIiLLSVXvHTnafbRlGcxdPpZTbgQQPxTsmezUQwNpDRdXZIbFZgCrmogDlKkUwGFZUPWdWsLojLiYNGipTLIglaiGPngdqQXdIBvboCNhsyWPqwYIbSdMOYmjBcdJbCKcbErAcITbAqDZreUvUFuTqAcNiW"},"c_map_datetime":{"c_map_datetime_1":"2007-06-19 03:20:52", "c_map_datetime_2":"2010-05-14 19:27:52", "c_map_datetime_3":"2017-07-12 14:40:05", "c_map_datetime_4":"2007-10-25 23:34:44", "c_map_datetime_5":"2018-03-08 06:33:06", "c_map_datetime_6":"2006-10-13 08:57:34", "c_map_datetime_7":"2000-09-13 08:33:45", "c_map_datetime_8":"2004-11-24 22:42:47", "c_map_datetime_9":"2008-03-08 06:16:02", "c_map_datetime_10":"2006-11-21 13:12:23"},"c_json":{"float32":0.89263964,"connectiveexamplify":"for example","adjective":"Italian","pasttime":"2024-08-30T09:01:40.858484+08:00","creditcard":{"type":"JCB","number":"2292834237874941","exp":"08/32","cvv":"350"},"month":12,"minecraftanimal":"cow","preposition":"but for","noun":"engine","minecraftarmorpart":"leggings","minecraftmobhostile":"guardian"} }','{ "c_ipv4":"35.134.48.138","c_array_largeint":[-7521817286687414556, 4082662649604790293, -3740004361283900789, 5033779992035959589, 8990118825425041831, -4531415761488824204, -1979027603968756558, 1467116456871836156, 1535377004383833507, 2789703847594738941, 3113764795453999925, -7769616809434951927, -6810907624681247644, -479450181959525744, -3635070256346994137, 8148458908902023379, 2724106454387619488, -499325609794281841, -1778745117731483179, 3946293585661125131, 3791783219344189285, -690200040201220477, 8706819232942690248, -458726901098239400, -9017320428823648906],"c_array_double":[31.83956992478837, 35.0820084624771, 79.23449227426795, 98.7556984371141, 46.78188317285985, 36.9323817398634, 84.13735630024676, 13.459380368485125, 38.41761865813329, 71.43523188123466, 80.73208198897115, 76.92678164352728, 47.743749097896014, 79.25976836165832, 33.542278853290746, 68.22288809891096, 9.800037175761279, 88.32554286793666, 26.34505591252212, 31.41625777745364, 66.60628825743359, 57.1173390424621, 95.27739631731798, 85.5929915464808, 34.7287791725166],"c_map_string":{"c_map_string_1":"pofXcvCqCcsdiKBhnJVwCRNqpANWsXWldZuLFJmbwKbPwJHmBCDvbjcOChKxHTkcwmLJNNdEDTsuQqgakHmwlrULbbidYCdGzThYCyPytuUUPbwpRhjUXNWBBgPOBzGEgsqbgJBEqJgkawndrJBWwncQlFTBFiVFrlzaDZgqmMaKiIspZSDcrEExJiiYUqsviGTZVDjjmOJtZcjiblGTmAlEVCLLmCYugyYmvPPKvqEpsarZXdhzQlrmDPLLdvEdrBXRxbYRWltTbYZDGsILmDttTBCFshdhKAFKVJCAsMwNrvxZFkbUUGPqpAIZWLdGNLQtXFeGKHYGgntcpunVjNVfnXQelgXrskbPxJSLkpblHsRfuaeRjIWilIptYGvjgwbHBnACdAPTfWReHWGtNYhBWRfoGecJZrKlWkHBwQDPsFMXBcKqGQkYHgqUrENEwqMZCCdrRdFaRzLzDhhwJPAkIEPblTJpmPxlicOQVvBNkCsjkkcfUztTNCYjqAVO", "c_map_string_2":"lxsVYYiWJTJpheqIzRfALCVBGdkjoqzqPeabRnCvXfgkWozYBIwrzzzLGmcLdaMqeWynRVPXYjHcMbzAaBpsIRrQnOPnCjSbLhLYijalxFAWDoMZzCfEgswDbaJVdgmOKCXeWijDGzuHrspgtCDmONflzsCooOXCsvHteXGalOjkWAWMCzASbxGZOIFXYvmzxhDzCQHjgylGcCeRlKfqywKEqjsBnaLkwEXminmrninXOwnDWiJMXvmSLPeaXLhxERcnuSmnTucntwVzBqzrzhbSisNZHYzsNwIocvmFtWbftoHOOSNuBrjglQKADDpzJqgvsnCnTILIgJxkRWLRiggrvTDDnySpqliEJoVtqlRarIqlvWjCspBxirEYLMObOcOSYXeTAtfihLzYBiMtqCEdRcOPbOYKGVXlAAlOfCTsbSODmGPeSgTPsloeCTZwNGLYzcsnqctDsBkLDUkRNRTWslpiOVZYPjRKWXRpZEQgXADwueVLoXWpuIAfSojB", "c_map_string_3":"HtWeukQrwuqjCTqDfwwaudWEGeSWjOKtuxbVincplJpHOXixqkspTqmZgLqfsZOxQjDOalBShKtXBLwtZHQRCcCrqUghAvwGXooMgrMsZqWopXAWIIuiQpsQhYZAJRwNKwqzjQCPWuPAYtideYxqlwahmsrDMXXpFTZqCBDkvdsnhBIUzfreHQTyKPdXtammmOhpJiGUrtuqmiDVXyvzLYdGSDtzxepiQfrcdepWrNbNIiAivsMxKDZhJKcRxXLWeZAxIMxrCpywHOixsowsvwvmjRfxhLFHaHYOdxzSJMSriGkodSECJCmSccKtikBDLHPghIuqXqXMXVZLfebJXlfemadETLSSaovjYcpvGVgJcFBRDoVRektsvIvyFjdXFxqOeJgIIDqaAFalbDWAHYQODaHOoOyhshXSmVIsfQuaZgkIMBAlqaCkSvIyUXSpJZvTErOwStbUEMTNdETaArQqoXYHYkXqgfoOvBDyHPDqhPwQbakQZCkVGiCFrCka", "c_map_string_4":"kDyWfMNyWPBytXKvQjYxfZNHwcdGnCBmacwHfQsihOaoUSVDGQqklwSaQOLAPIjVczZcRwyVWIBRmCABDLpEhTwCeJrxHpJaYvNCANNrDrNcdJnpsLlTFBtyMdSfCEYVoUoKDsMtkEiyCDjBiuTHOoRDzZSjumouPfiVPkNyzacwxCRsxAIVccmaAepfgOTXnuTCkavjMvzNkcJzUDckWyBtToScGfhNwhdDdgcONETIPCJmhrALxioCSYJnWRegtAJisAdAuJptxAwFcWfChgsNFEYLeRZKaRAYBhwqPOwPRJeSYtGcczyQWgCDDTwwhROdMaXauesqGrGHAaeHlepLewPvSesYxzXLoszvvmaVvjWCQNpZzOYVwxwNRQSTTtpfuEWTaoAapuqiDMwKCJglhHghvwYVxOluHQjtOYSPupuenwpdyyXFtHPZdWFuDHaqdCCajaHwPMNqkTxVCTJBwMsiGqqRRiebArygAzynvWwBOJiHPhilqpaguOXP", "c_map_string_5":"XzEGXyvJYBJtqOMSrSSuoQWGZLOPRNjubcIsrgvZaJbNnKbiHrFDVrwBWuWCygbgpiwADhascDIdtiZveuTTgMUBLUDAvebAJLECYnEcPttbxKiPIMENqDeTalHvmfwETfHIwXfhQHLfHUXKcsFSYRDRcurhFYeBCbMbrbzkMSfBXwjTWrEksFvFKxHpvFjeBDpJBCDNKhbfiOEcRzgshaSDIiKEIbKpoeOfXGeoTuPBYjKsAtHSEGYGzHaIqAJXWpOQzXFyjkpfdcyrDeBoyXIuhNVOATHORtjlbItvgtObGahvelyavjxPmveZauInloyJJSqeAuGWROpBEszEbgQkrHWMQDFzuOhMIEkrTlmXweWHNLDnbpwHBCeVxbBCEeQhUvpmTKBilfUngpzssuadFvKaSvgfBhpZUQQRiaOwxajFyswUZBrBxrLsHUVWlxjLiZDTCuHhfBUeJeFwkHpqeLRofaQcSIGxxoiThxJIbMpYZdhvwARZNbGFqGTC", "c_map_string_6":"DAEuNySXlobCOUXHfpJwuFPwQmxpZWXvmnsAFFhiRfNwAVqPKcUXsOEUaOCAWerKPHdJEXHtbBFopwhRtxyunSrXlznTfZSdhFHJvQtYbUnbcjYixHsdAHsKTWfRXTdUiqKMJjZatmZdfKAPTCvnhEJUVUkQQOQyHvNBzUOrbIwLQFENPjSokPBggfgdFSeofcnRzzyOagktJURZygCRzayiGAyeOpOEPqEaoAlqOQyzELlPyRNMQzwuInJNGSrflYGdkEzPtXsIAskAewwalQfrRoNknYnxBbJPNYewOGVZVvsaiXKTLSYaRXXdUcOgBzmvpoMyTRfRQjiXIrQOgoLxpwTeurkEdsLrHpNOGnaPicHuRPFhXIwsEfcRZFdoqOsjkFdWfGBXJFNrWaFkUPnPEOXiVUTwuQeSsrNkbNBDvvrvoRwlugHXZMSrKFHeUKJSxwhXiBsoMpUoPykBcGHMOMwFvHgwGdfnUKaSDLXNVIQFMlWucpKSBvFMfJVM", "c_map_string_7":"rGBONuQWWERxrvlaMdhrwPwSrTxxREAemIrmMLWOMLhqkdONYqjblymUsGVDMhAcLTtSNVSGoSZRBOuolHRRkqTfyHXMUInkVelKeoYyxuyTWyboONkaLzNYjDEzaVXRZApAeAlMOmkwwHPeeBpKCganptxyRakBSbeeNsNciWXxCfbwTXwQfixfGzwVBksvatHXKLZXtLKEaZuEkHGRxhXqWQGljAmJErQtFfJLRtQuzNpYcKqfuWdltUhVpIUDRnrPPTfiknHJsOOqQCYhCjDYhYwBbEnBNKUfUYFsGdgVtAOGOurTErXLAnjCzwjptZFraHvrZPwkkyWEUmXLfdoNOyRShOlGTAAdWoCJfVdlpVVtnLlEqepQWyrOJdelVetrKXQRmCrXFxcHZkiKdFESOaXJXzHaQXpEByToMeyzTbphbBecekQkicviVbxRuhzaVcCFHOalMKgjzNVoBPrMGisxEQkMscQljSoZrwbadMZZBlsYsZyXbrXMwbgm", "c_map_string_8":"WUmWZzpPbYGeOxqRzcUIqJRsdCngKVkeotXEflVdUjcwudOnHoLtWBleFRGSZBUPpZhMlvjbCLfSAeIZpuyaXqlbwuLeASINGtNFEcbmLhcuHKyIhrVTGnIWiwuygSkptpmGIFomDlWofnkPhZboHJhZSajSeDyeblLYDwClomUYoMTDGlHhbvIjZbjMWdqJqmcRvcocZqjlmmOrxZYgbMWvSxXECFpGFNVUFcQGmZsaTFLaTrpMsYNXtlZSCfnRRDXWfdHtRHIaoFmRXHcjHojpfdeyOhyKQEUTgWLZHVpgsUEFlXuTGFgljADbpcVRnHWYWBhwoUcgwffdorUwSlXqPhyoOMnciDUvAlDkwRuTaASHeMAYYevJuEHTQMZUqVkUsNyGOrEbdmiqScDqGSaMWYsQbjdgJuECZYFWezHmViNEutWKKKnqSSnhtdxTIcelXFBVsQyuIZKBNWLAgqQbvgNOvMKHHnoZVvclZrDCsfimSIxGcBsnuSESqKVG", "c_map_string_9":"VRVUBFBuhUWFXGwRiDJEzVVpRMcrLmURTvpfkbiSZjExKMmqyzcEllLfcWQUBrRZSqfzhHwLHgcQVCTvNiFiWjTdhrecHrRMWgYDLeMPVDUVWwOUeFkeNzYDUFQXEkgWlsCUzEZpaZfnPgZIYiXGwWndFAKHGCIOpCDKHjdqMbvpKlRSSvWzJbXzIXEoLSURzxYCeSDBuGjwqeiQVVCTEJZzbgyjQlfZmGbyqxXZIjpOUHFhRHtsBrVceMovAJxzeRUDnbrVaxVdCqottPYlcrqJoHFQebKHUkvemcBOcufhutJGlmoVhTZTeBbbDjrpXECjLxrTfywlSvCoNvXhQhSSAfdkZdqvWwdOkBihuAqrkCBYOWZyWyWnfTBqvxzTUqzShoyPhbrWhegGGEZdnlvwqTHmLxavErpVDSqaspNmIiGIZlTRVFdnATcvgvpuHQemetnTbBbHDnRwXjmwdaWYdXjApemhsYIQbgABAyWhkXsbDRpkuHUleZHJHXsc", "c_map_string_10":"rnNpNEwVcxAQrnaBqjfiPgJwiwWrXWatFcDVjNJIRNmrDFkkRVteqnIOEyMPInWtpNiUpDjewGhKgExMCoLQypswLozOgwxGDpPepfHdsajpGJuqrqHLLEyqwHhuTjAGAXweBYBFXURpLuNOPARmGgwyvLqSMmhJkLpyDcketrSXxSSrfNstyxNzYYpiMKEkomkPSFxZKDheZzBYJpKGMXFICIuvjmWXcIwXmbxVgDBGpNgZGVlVFRHJEGnFoyVdvJPUeOTzJRzzlnWuZSuffrQDhxmSoieyMWfLpSSEpKbJOkxuKcYEwcowZSmYTYeuWPVHAjhltKKQUuBmpgJLtfsVYRpaBXiIQsQgOBHwWeSnftdtZwGFQcvbayaNHkHOGfPcbiMMFaRebdTIIgKLVUxiSYnDwWiDhCvSVEalMpKMJHyeLtQreUCXxMJwEdOBbcqhlbeswECObYjvjiHLhYkPkbFCjwUYqkSWqVqQRrTzxjhGKGGbycrPHdGVgHrL"},"c_bigint":-6987108206014049034,"c_float":68.26057,"c_char":"iwbAHjhIXz","c_decimal":68.0427,"c_ipv6":"cfaf:f0bf:e238:737a:174:3cae:ba3f:d776","c_array_tinyint":[56, -18, 19, 66, 33, 115, 61, -46, -34, 43, 37, 62, 107, -15, 91, -68, 108, 48, -90, 85, -32, 8, -92, -112, 79],"c_array_string":["KzgTXVlCThCUaLIAznFiuCAdlXyOcAsrKNkfqwOKTELFOBmMVYjAJuqjNtEObUzCmMpujZghiLtUtIjiQMEFhTEbnOtaSPvxntuSCtBfbiZpCZBPvwjuWHdzHPrEojdSfCuiBeeuUJLfDDVPfHiQncIymFYOfoSQOYjzqvuIynsumYLFuofOZBQqOXAkDgvzpLyFNyGRVFPFzwcgYxYzNihUTdVRHSUAbMTiEsmZOOxRLQjwyZjpeGLQHPkWoHTycbMjwQMIwBIHJrJsMienFeKMHMNZZNUllBQulFTBYBMSGRLtZMGDsBrKjHmMGubDerBwXuANGfJqEbMjivisOBnBWvFvkJdYpUMKPLlbiAimQqAJHhKhZfvDDTdzkGJOMLKTvrZyZUjnoNhZuTKldRSdMBTRIGmbpCxrGLJTgIGNfJzVgYTKgdGwzWFlYglSkUdUwbDJHSgoBojkMQQXDMySBmfxvUDaVWADpKoNbOoOYeODRAfNHYvYgIKzTgaN", "hqMLtJQCUSeuIGWvwKIOrgcEkpNSBFCtNYbEcysGQkvjZbZUqfhlWVEGqEZNLIfrybsZKIIQkHTleDMyZjSGfoPaTPFbURyijGBInTOBipmatiPAAksnKhUPIHkVntbhKiaPJlSdwOOTLKoJhVPMYuNPTRKTEdOfHLWgwjDrRJrxQoRhJlKZTJvzLBLzVLovTCfRBSNawLbQzKgHyGZmjzsJJjVHsFooJqmOkJKgOPnEUVdhJOZItEurjHpWlZcGGwYbzzDruKqtfHlmcchXSNnCluYyTrFYKHmtFTiRsAEPEwJMoJfWboMDBcxTdrYUaBNyBdhFGkLszKletKTSxDMvSYToVRKqREVEqMuSbzTQpAmbNBfruBpPcIoJihBGItqrbKhbZWwnrxQKTlKzbOMsynDPxFMIxjbJMfBXgisQAJSqnTBzliAJJlvpuKOKKKlLiQrwbhVmujzDVcbHzUDZbIUWpUbAJTetOQxvExGTDvXkNFQjgIYSUAPxAhld", "otCDVjaVDyEHzATrNBDBGkCrzHIdVrdhguQgqNpKLzbxbUhHmgFbeGzWDICCNqsSkAwSeHloqIRmPwaFRKpuDqWhHsEMRuSjigXUiTWSdhrJRMHESCoQNjOHMzMXwNghSGhMHuozNdnOGLMSNKojAiaZvrzjVGvSmnbHfVHgGMjEBJFrjVvMUmPFbjNCdTYiCXDYsgbVRdCekwJCZRwsXrpVbUyZkWvsgQyFGBqZvzVZAYjjlWevrQNnFNJuqpWdMEbCCkjZJRQXKmHbdumlabAupCUIDnxHLbuvmqpMcbSrAQDfZNnCvhRGIlphOmjDqHzqMaMCzMLVVCBbUeqngtWWAnbCLsTGzFfvIVUqcEPcILbPmAlTwpfouhrxQAqewfLchFtxufzBZOIZqgTRdxoipnJzIdSKVghzLdSDyPtAXnyjVXPMvHtqZWeEPPfxQQhAHBHeCCxkQItqwdSwwZISqdBCzzdlKGQzaUNsxguPCRFNLKmkHeUPzeCtNgYy", "wieMTEGesQHjafiOfXIjCVaNMHLcHVINyPfJtMWQrQRnHHgxyvCpMxRJzzwNBjbkyyQVwuWiNMOsSDkOwKtIzGgaFYkrEAccDPIQcgHpRobhRcLlKKiMUnFEaptQyhQnniWSEgbgLzYqrVbfNQwcdbdseuRSYBoJrEPPgCvmQaVakkuReISFxNGPyKWgvXlhLJyfxBJOWAiaLPDzoOhKwWoiTySLzIklJeqKSxUBbKEAGsTFNRbvKQEYVRmLyPlMphZIsllrvgzRPzMRVDtvWBMNguOHIENeFaFQBskYAjxSNjkJbtSXyCtnfRMStcYTfEpShuzLKTXVBIPeBxmSEWUPBETjLGbEceFNQYIlsOOZbxwulLcLomNsHGImrOSiYoxEtTNKfgrTgyEEPUgOHDEPqxiPduOJauiReLrncvcKBjqaQTuJsxvLoxPdopLaIEtolhtzuJfCXdfkKKQygJCcMSphBraxxwbhQrNGFfTrjYSLaHBghehwHdgxkREe", "OyGQPvvLoMRBsdBTaixNakTKDZzOYPifYCFFdJBUYANNtbpIomLuzDlgOqmaQqjzLQfBhyCbNIfcOTbLWjMpwaErNEYQzSofTieoDpkBbEnIbYLkRVqtyAxZdAZOmhegwmbPUSTyIXCdupXQWfqPpgXFKNrvPyzOwDGVwOXsijlQZVavDUOlWxHCxzSTusORoJxijuzwunUtZTZevHvHBHRcVEnPENCievYZgdbDoppVgGMqzwYOHZDpZmhogPCglrSERjFjwMcOrpEdJTWTAxvDndOhlmgGmhrvEYDhTaWOZvgYvQYNqDUUxWZIpMhTmvbZfWAEpFGRvqZhxyGJdufYdrSsTJYuZnTQrRyFxVUluBvCARrYxvmflAinGklEpUXCIbIoVFrvvtpwCfrHyLAhHTCAGqFAUVYTLpMdUOemhHRNbJjPnDEShzOfRWKJjJSgDwFpCJoBgHcasLAZnooQGpdkZsPhNbJRqrekssURQadMRrcTZFjaSjopfscM", "sgRQrcIqTYmDjpCSUlSsUbBYmzwOHQIleExpZzvrbwIVxiVwPtxMeWGmYyeQimZSIhFybNEtUyYnnIyphEpZasMHCXimWTWpnaaPqfxbHjnTrjaahGgEjDZwyVlbtanzuqOZpyPOORDpAzEONsMUEKysgqtWkYwPKlrdWkaRPfdFvkjMZBfLUEiJWYTFAjXSVARHVEHYhPgofLaGKYjcYjKilBfhtUfUIXxualzBKMatdMGUCSpjfNfHYqYiLxCAFKqOnUYrYDrNqEqTdIkuLFQiOSBTwFpfGtsuLzeJMcssYPYDkrpaGxgjurPpXTApVnsccFaURMxYxjPFJhMAjlfPsfPdXHvXfOSfrsEAzHprpPEfURajDUPEZkczShOkUNnxyNaUMyHuiSuznLvslWcYxjmTLkZTzCdiUqxOqWCwLxxDykXMACkPCQdQwVRlMvkUMIwZpYiYWXrHZLzfjhRxtJNguCUyQiAkuajkWzvPWROYEVIZhwBblrWQAfnW", "BFQCcQfLvCVOPXNuChpeXYagJcUzaMWCUUYgsHCxSPuZpWWZmhIScDkdrPgxLZLOfgOWIxzhygAtrltbxaimWEjMScoRVWsdRipAoLPvaeSUCxESKaMdbAeoAesDXCXLKazmXXiuNjFmYcEhlSJRdyNDJFDlnsSqtSBUDosOvToQOfBNTnluomKpnARsPuboUIgUtRYFhArIEfJmIZgiLAzamNxYMkgPjBStvGusxqzYmrmNLvBuTSzItTAQntHMLYSTuNurnZaikOzrEChJvSvfGXRzRlrOSnPcdBXgzzWeZetfYOuOzOIRZIwuELYkxvdIEakvsAEQwYRXgiUpkJnZbpJOETZouMUmcjsFMkkIKMyYJFOcvVWbYwQKCbnBujGFlOvjimhsLlbqUWHRRvDYGLmAZAKHgEqnIMOREWWrQxDzjCrQxCEzzmrTIkpfNicpkvzCGUqaeMMvIYCdhMKOIrRovgbfHatvULxZfLCEkMbdOmJBoastcztwjIWP", "nKQBrWykZlMlSxRsQquGIguXgHnmqAMwknRElLPNdUFaVlMKkIbdUrFUikKLCalOGtkieJDftablaZZZCXbkoDeEBxcxkiMHcPAIQpvUWVReZQRyZZxPJaGxUMVDyhgUodQXPUUGHbnAooiMDGRSMfqquDIuUiGeGgvgUFTtEQpFaksEAdvrOdxsvcNRldodaQZBhLSUUZcTKiTmrCGlchbZyajsjGhUCPIOYfajBKpIGcAZIxUHluCdkBEkgmSVWDQxfWxlhnaBGItceTqmGWBZobVItcmsnCoWDmJJBxeXBDrtLjLLcMLymbigLIZNyqenbCcmXpgfvHlQpNjYSFreJyaLFGYryPdIOcbcefuYNdvBGlHnVVeeqHecudEsXFspktFHKgeBYnPjmAoCQylWxmSfupSHvmskLvFMNIhfyPqeYaKMNNSkCqZvjmusecRhrJZoKizwjrvhbFgPdLTkRlCLCSkHZGjAHuiavQuLltkSzxAKcMViJAriwoNO", "zLZCbVFRIJsGStzBlMkehJdqiBecSQKJQkgncPsPnbloqPGhfEmPwQsPyVPfsGoxYUwBrLBtSehVqNlaNQGNMguqFWUGPvyZQENkVeNkAjFFmMvmBByGqCcMejmFCSCvImHVtKmYjRRUYWCLuZOoYSXJOtVGPZSplqdCLBPCJkDAVjbRHJDesvZTgntzmwxhRPKAruFIhlzdTrMMgyMVLyEOIzoOfTRRKxMXyBWHOOLeOmtiyytDeBRniZheNWRrDZfuLtggjaHxOqxDKYgSfxufVrziPdTcGTwDgIRUJBUeTTWBdFVjBxPtGkbTqLmqnSKWfqwXZChHnzLozRTzDAtKRzXWDejTlWyVtdaLjcJZHIEAwCMijMFXhdGUqgiMeOjjTUWMUhkEqgkAKVBLJXkhzQTYviWKnSiqRzILxuhFwVLgEssXhyovFRjmyxOiwkXiKFSEifubNWOFOHjeSUTYFSkuGYFPNxukvCJDztTfofsYgjRKPcGlDjTwlvKv", "ktwBbcAXsevvTuVXXCeWAGYdmRaahZKCLUZFZAxbDMoTemtEEpuhEwTjuNpRCxNlyUFFoazsKxoAOEotHPbgOcqVFSrjmIbFfTWjycryPyooYCubDrCBnEPapzooyUrwaavUToKMKPZeOVUHPgjGpEpcENUbGtVEgogeuuWasRYaehfZNCDDJGllHbTfUbAbPvzbDbQTCEeZnTsGVPfVcTaWSbntQktZecyOlcVUINqIYQxGemHCMOIBuHQqvtFzXmsqlsVETwtmCzhmbLHnrYWxgSekhNAwixqsWlBscCZFXEsKjGQHyBgOsOYRnmZkWQlsxAmfKvXYhYuEhHpfZsQHKksiHRYQiUxwgbmthNiovxFLwnxCLIePdxJvvwnFJmrIpHMelCeohGOLpJBZjximcaaNRuMlCfPqeguWQpHwCAZQDzYNysfXnOyhFozSBeJbOAkkUduumSffKlJMqTTbILhOVvlZtHXaAcJhKYvgzpFYdRFgbmnIuyFKdhQc", "DZXBBqcVdTpkaQjloKiXKxenUcyPJHtIxUPVNJTkFTCQwhHOXXSWnhFLZLJkrjlktIAJUTqOykbbfpwSTylRkXpraopgUemkQhMArKlzMDONlLObjjiETMOwufVFOsxlgZufwNRgeuKSNyJLmsIIIKtDvdtBpzvFUCIINkNpYmuVRDsrmWKzLrkoAAnFgxSZDMhCgKjLOzYWkzdyzNZTZoqWlFAmskbEqACNRJctGflloJEZZHWvYtETjcSDdlmfjVOyhHpMHhlKKkkHWzUEtcNblfQPtMSsecpclFrjtxOfFqJRNqfHgMHHPcUUrIKzaTTjRKWIoIQEomPmSBNZXVDnzVHIUBDReibabxGPNGWsMOwrbSywuwLApSOdhsabsdPNEYCdiPhdtUZPDxmvscWYqsJMIbQBlPAxkVpIpYdThRVFvSWDnfGrgPDwqczriIkDUyWTBCSVQoIHxDpfuYRONNUYKSBLGheTxtqJiwBxfUIRzcJMkZTLNjmPjIBo", "QabjjpOqqhPIRBlcrstMVJXfpNWvUYhViNNGKGzVoPntZmCGhQRhitnkyeOuiNxAxpHXNrRHXCtJmaSZXwvtIVhcaStWIpIdUnJqDHxKgKPXgxOhDUiFlcypMTYMQDiqndSlHkjTcMZqHsMtzGzHEMhelYtEvAILAuMAYEAwLqxrkoDErclTMWcUDcDoJlPqqxtSgcgeArRUyIODfPPgRsTPoFnVHKMamYXTjYqOqMEhsufASdxfAkNWvhmjjWiaARCTnHAhpVQzazYkvrClEswQiiXoJgwfzqtRPIQvjjjxgpTiFebgiLwwtJGmlIvUKNbhCrKltMciXfBvxkbUStdCoHiOOeEgUuwQvnBhItOEpvemkVezCJiDtDZHQrqqaxEhycrHeZHimcyGHmOlnzcTTJdZPWcUKpkrRyqEuguYieFrQCFxFKvgTqYSQTGJiHuhxlzDoCSIYEHbVFHPWfjnQZDSdovanQUFnopxFEVWiJJmUZHaaMAYcwkOuQNY", "dYdnmRWOWjUVjmJYieTLMgLwuMwkNoXSGqgqtvhJoBzwXovIeIbwnvInIcYzDGTpWTyzFatMeDPokRuZfuJkncHqWQnbKsgeTRohYHkCyWCFRTNkBTICMDSKbyAxYPoOvbRbxTRolxXmlfAseoqFWbneRLkUpIPOAqBcxKVeObIwdaMguuZkiqYRameAUqcFRJsMoGznOSOupDbHCvfLVrzCVJtAkyswrmAOqOLUEHRzCGFfQkDMpxBkZuqrlfFQkCJSwtOqbwrrgmBGCfmvVbvvfwxyJgQLsEpUYwGxqDKQYdTVMFwFJuNDKVXZLlOTbEUSdoeUpjxisdhQLBOQPohKDIOqkONjacoNqtetWuSghqkqcvLwcuflDXtQuLsvxueAmeySdURnMQsguTgsmXlYTftaQbLGbgdSdZeWbIeJMmxhWARhpVmGsVRiCURHUqkQYDOPdZPqUguHfMWzHyxLwXbKYIsoJpIPZeSJdkjEMfjxhyaseguuizKnULvB", "veOGIAnFFIcsgCDFwxbArdZNOMjoZxNYTikeYZVbMKiooHAiPFwxCbJeAWiinkhhYoQajCLPZzChgIhTYhsBtJeEucwEVyKOswKtAWalnYJUDpGCNTKlPKUKTjCsxvTLmeIjjroPTwUxzueEujQRrpsmozSeOWmpGAIOfNomaooRePUovSdTpHnvsGEWHyEStdiOEBNUAnNngqLPuHXwGpLOMeszHyykTZXnYYAPJmiRuzbaaHPOEKIfVSynYNJrfNwnkXxlyfEMeVgnhQoiLlwBOCgezvpWfCSZclRMsSPfaXsSUQrBMgiTXBXVUqZrfjtUBCphurAPkjNZFbQSyBeHfOTnqSAeklfRDgiQSBBgGukMINdesYLaGVwvhUerXyebIzJXUEhxPGhgJRHpsysKcgweDAHTRkkRmBuuUrWenVnfPIEDoNnLlZYwDErBPotfeXrfbLhYlabDkpGKyQcvjffKjiIQZrXCdlTHkwSCmRPiLonWIEXmjmxGCKBa", "JiZjSMTBKJSbsAaOZgdSULlPuiEQmQULqnarLDKuHhEeCfiELqZngxaTRMxyATBwZnEibTQIqSyxGIguJtxZyUJMUsfmKFsfrqUzOWWurzQRGlHWFLZIyQONmxwtHOjOaVxtZlAXnbTlytfyypxLQewtaohuYlJaIopSgLDnEyXYvrfqfNJmDzlGKMJjzHNXXgFfYPzrJpKjVIcvMpxWUBJANgTqGrWPjtmgEWvLRskBGCKJGWukGPrFOcWouoizDTVZWHPFVOulhwGxjSapiPETIHNbUhFHILmSUMWZDJzqWwJyszAKtHrksLXJQsAlWIzLCFPRoXjusxMAaHFVesNcmHYwSVjPnzgobOltOOkAyCHdmSUiieVHHylmIlEBrjbusuWpfVydzKBBOGYnHqGRoEzvYhasODQByKJDURZoJnJkwUKwGprTROhnJCdgxIpOgEQkXTwCNjcYOLAmDkOdqwzWYMecIhBaCxUaCAnfwMnHAILxJKkgssAafNXW", "lxBSDDTJqjDsiFLfKnCYTycCAKZtYjoAzsDWedmnGUQjqexYYkTrCtCWgbccWWgsuUKUcKThAMdwrEetaOHxmpIoUleaqRrlKugDpEINpGGdedNvBoirwZsYenVoPgZAWazvHxKPKrDbrHwqBClNioPdXLYokRKLtmQGSdxuEDBemNyzaJTsXysDAophwtWzKddsMnpFscmGASwZfRVQMoeRvelToXuSjprVvqzIKlDAvPnSkGUKNQcAQAbSXJPuMfJuUpOJHQSQiiSSVLWIDenoyQNdxkXYeXnRPQjVQeiIKJOnNqNPyIDdrhTVljklyzYgwUxZdnJdXPTHzdNdHibhSrOfHYobPdCSzVpODbMkANHTGuHbOcWuNSVHavlLRhOEOksQBoFBAIkDUXFvQLUNHvwbHVMNjOUrFSabzWkSgazdltrkBiTYmgGlgEyqcKaJPGSiMyBktxbCYKXfAvbAEmzocsCSogiXUFzPgyTYIZNMzrrWwUnxQWIGFGeG", "mIGGxiJQfnkdRzOWBjquYvAKqfYjHRJJHbDJebJaFYrYhjJGeZCyUQsYJyMXkbkfqTpqLBzITnyNsDxMqQqblvHbvBShmfltnUkBEroIQplzBeNxopLwISsNaPmGURivqIZFZMcwTGoZSBGGLXABVqIYjCdnlulYhHaOLYNXNHfdrnhxhSvcAADvfChyzZVukGdiNsGJOsFMGPrIRblNmTmMiBOancouSAAgALKgnaPrvMTKIPPAWQolZReYXCwNymuIoldfQKYBuwCTchrDaFZtSgPHjWhWIKSHfnPpFmlVHrUzIdBhhvGGjxNJTKZkLPhkDQtMnAtVUaPjYHJeTzrYudTWkSHjbUNcowtMNEfrNOfzLAzCiYaKMejWrJRBPsBZeBWLkBWYmvjJAyKKkJbjASwlQSBlASILemaQYLqHjeJbUlaKxbZXPOCNGBlBJfYilPGXoTFVhzLruHElqWPekaLHPhuvJJpWShUCrakLdTSWPRUQnvzgZhZUwgLi", "DKcKxAJLsFcGgxdmtRAkCAvvNSddghpFvmhkmwHApaTQvGPqgbwjqUOEuMdeJSFuuzoTyHeisozVcBOEvBoeYvBeaTSyQcwGcpHMpLYKQsGhgEViBRDMoMyuJfHmildbXlGBEQmMsClhzhkUaIPZvBaFHonhqZHiblDtmHIDASAhYvRjnAAoFzJiOGmVANRxNPyOzbkxEqfLZzypCyhIOLqebiCIlKxoeBFvHhktbGwbQWbYEkCYlUJquXpYVKERgTjXTKCYBjIvjGvNfXuxinBnumAqyrxCBiJfKKvJHKWdzZEjNpEbNANDqolPlkBZgpqInDrPUNVGooKZwBpMNhvjKQQlJmjBRzTcXLYtuCpJPMMCLmGbsbUZSGwliHBeUiZDRdmxvRsvkFlxwxfADlBtRkVLDqVDWdNmjMbnVYyxxWRDJxohmolJULqwhpRdfuSKaFtfIKdHknIUOBjUcmFRabunokKfYqnkJmcShlQtYbFdlVZMqfKPADLpSUTW", "GkPeYtJYuqmSiMszWRkILyLyRlDPdcKfHeVIWMfRVeldZbqkZyJdXuvTKCnxyjjoVaNgFERBrEjddjlvUJxcXGpbsHdrxgwNXmDCxiuPbYXWWBzjWYueAndMBketUnxBrHdANRLKCgStdVYADbEgtybjmNxoPygjeqxaEacvghBzlkMdiWLlWystTTpyIYhtxgQEuQiQZKMnprDvjyrTMCkBzcxtiIkVnWsRlANlMAnlzcnDJrJBMGSECcToyCeCxILUIjXceoxssOmziZhsxOnVOyxxOyZBJJxYgfkfKSgENneqsdPAlRCxotGiGuxXeXTvntrrdYQNLwOwdmYTwlEqzapmGQMiWlDRTtpkGyoCSaWzgbUjVgUqDEgzxteZpUbnyYkxeamfcJjZtfXKDwcHPXQgJEeZbHYWbGbhkhGNSMotFOzJjrsdDcCdpCYHXEPAEPVzbLBiXToSvZAPTDDYMZrwfUpYalCWXaMyiysdpaOoPfJvKkUwXOXbzgCy", "cxZulQAdXeDNknBWKxCbpRJhelVAzZtqgyaoAiIGitjdOlsCblHEpffxYbrDUdHcvGZixTwwPiCvpDJvFIJMshFvkvKxykjOYHwzSnhQbsLunPQslIlbjyIzdjbysOYOmohhVvdWnlNUXAuSIEJAyCpUTFkizGpYMmyZzEOnVVNjYOhyajDIosRsgIwXFnpfPAJTQoipcgyjzsGXfYEDuIquBiLVfIJfgNgGQexWAaADPfweBPhTGuTpHvsYFpRyfNoLcfqxIhcByzWACaAXnbIgxyNwxMLwpLsiLLYsClgZuiKXtTUaRFqSFAMRZNlszJkilpWiJBPyAqpSccZxZGqWnJPtccJIQXWOtCtmPIkdYUmlGDtoFSftrtOrqDcmFDjMNziZAcsnbPvqXFjetutnMUecbhjEDaksqYRNfkMCCCZFdmHPRHGOcsrKHENpVqsrSyCimdQNNidMuDqaMkrJEFFaXnLyOsYJOfnHUanzqlgZHejbPXqvXiwfGMCV", "EOpFrCsSVRwOGakwebMbOZUfYrAuyfhoTJIMPeimsYGQHJLdBmtlwEQNYeDhQVUXZhEDahDFaMSZrwKDRQAOGjEGptWDtgwpUOugsNIJBtLJSCqoSamZkGyNFTWOvoJlCcnVLmhVTJeZsoobPHewjrpyzrgUcVrEMYHSftOReUtjqxLmwGgghOrMSENrjksqBSPNKFqkevhhrCFhZjUhvzBUASOGFfTAynsZKFvehslFaKnqvEaBnJvEKAHFrWFYELyhPkfkaMMlsmqVCCMPmcWpNNRtMqrqMoUqaExUzJOoajCRSuWRkfjTNqHaegLSyJwZFWrXWdrEudMyBQjzHgOTcUNNVgDySiYfkzJiqTpFqNFCrVGnAxotNQirHCQAzlNyQOxTuoArEhawIhvwdfMkdiVLumCYQbgouBbuQGlcoFGEaJvAILjzkOzAklKuTXxsjmzPTQaQgRoFjVUhcKCMSbmSZXkGzBNWrnCjnpdXJvOnMIjjmcKEAcfEfeZO", "SSOeACRBuxGszQiYAbdJoSVZFPQjZRQNdChnGMRCOIhsudvJkLWVDwjGrfCHVZzlEtYaJAdhfAERlsEFJgCmBzQNgsBLlRaQjjisDXsRHgTksIVmRdktiiJVqAaUMAeseVNzFOracRdDpfiaOJfbbIjutPAzUplDAtUuQwSqgefDsuUXfEcprfcnXrBqfwOzxITpOOAxhKdmLiYvTaNobekTJnDsmPXTWfJJJQfASsubSEBjucktTLjGDVVuicaaxsnXzOlUjvFQmIgVGKaBHUwdAiORapBnaiipLbvzXQODzUvrjOdkbTdkMbJJBEFSRToFJKROPeplzskvWOLNbFzGtcxXTaIPOGKNARnAijEGkeraIdLsSZNTGDrTbBRTFqhNUVXPwzVswKzpxLFQrEXdynTrLxoSQcZhMgMZZRZvFVQsuqASfsQFJQDgoLVtjnpZzCJeXsuneVtVXWrFpmxPRwZzLBtUZfrdZZHNXRIqyClGrPydSVCqLEgwjPkP", "lAKwrtZEYxqWYxgzKBNoKbSkBUdyvPljswmUzsQYCiuujnIMZlVzpCxUuhslFQGXWFgCazIrFRTRcdDfllOFMuyuLkoFPfYAySorgfUWCCiDHADUvMaiUvtvfKMgitqNvDBRdRGAxPsIclOSxEEazJRqeQGPxbOOyDauYvEbKKnNjiUJrgvKdOyuXFajjFDLSPGsWgVnKuouRXazVsNXKAUErAcjLZmpYhVyYOkVfiGjoEDdZmdpQQopnJvcSaFOptlgywaWQeCKTRESvtwRzdOETTNkQEYwHeIWqYtVKhlXVinKNSGYdWffKGOJdhFDxpawQaVrblJbNIHsHRiAPglxtScmPmJUDFVWcAfPHqXkZsmhtSEsFvVKiBwfBVjScGspcELrPcovpseGUZkwcQdJRxUYvUcnDxUrHqXpYnPbZIioyVDfRywvFtHaHihnWLgvunUOLYhxiOwZaLqDUQXCXKPpjdnAhldhmjWIlsxwNlxcrQsgSqhTXoPZvNOA", "rZEztHWrSbWYTVzNAFjQoPmdJfxucBamsfIOtHvAGpnNKfOvKdXXRjTJFNiwmpTvWiUAlyjEtnCtiUlNFdUryhuztaENQGalDBUXOETNXkYGgVtmoHaXxFwGewItuiaaLjOPuruyuSwcvBcIqkGkFjFHyQnDWqIrkzFPRitXTcZOYyQAFGbmcfKzjUyQbDxeoEwNRNoqRbwbPQWmClCsEHDZpIdBCBAUSAngcrCgaitbiheduzujGeMqEmtKNEApvvcioJDMvigoVkeMxcFangMfiyAdSKqugALvKponFoDhEldFPaAavuJZSOuDslblqkqJDCjIQBHKZMSZTfMRiZLPbCVVtRoTuUBBpwDmnwmetYThynvbdOujziWvmrEUDpCluInJDQWaCuGfgzwSjFgYzNMKCKBfypbGtESLJUyXLcQoIkjtxsejhGlNvhfuVSUrqBAMNGthzjRLXpOCdMGnPABJAxOmwsKnjAbdBoPkYvzzvxDClPBEJkouNici", "wdiepsFMoeZhwIIyaSfGrXasmBPCYcDTZzknyNNqosHHIFysgUWzLNzYLaBnzkNtXySEJVHOlpYjPQyLIeVDFOoxqVCAHICQHPoLAdnynYkiuDQsvwBqmfewXgaTQPdQuUzUvhzKGUUzkQYnHwtoLOwjKoMWxfMdmVJwtmnwTxhtCJWyYkXSNQQLtGAnmUXkYdBuqfFihJtGCuRPbyFWjJscWbQzgKhoeFujFeCfgQdZoWeyNWsVjdxtkccRdQXzwospSgppfMKODkttaNMnYCvWPtdNkjqHpjrWjPDuLvFZkuFvpTlblooISmZpuPZZTVyiogcFJuobpzJWCAxpMCwlkyCeXBaGYNKsFTEGXXLOJMdwfIcOovtNLOxBZkwQvMwLXMmOeJucuScEcqEpeZVXGeDlNmHXDVMpUBakAZVXYGZEsNTabxUsuLsDzboKpjViJgfHfUwKCwhSOHJbenAPBTxtWzseLPCNSmqREwfJwIcgmqJxFOhPUWHZqZVn"],"c_boolean":0,"c_smallint":-18375,"c_largeint":-7297870574695917142,"c_array_ipv6":["gBkxDARyyf", "kUMmsUQpUu", "OnPNRGgzAu", "fidvmCHXwW", "fUdJyjOOiM", "lbMpMqJbkv", "pTcHRrIfDD", "lltkXuQrfr", "qeYrvETKrl", "UWYfmPtUmA", "NcENRnUYwZ", "qsBRJuXTiB", "KRuVTOsRRN", "SMiwGqNFep", "lVfYTtjyhl", "ZPloKKLvLX", "VcibHhzemg", "cwndwvoXWn", "SDPMmLjsKW", "ZJFpjITMtG", "HApsCTCYMZ", "WTnoCFqrPg", "DntlpgDhQc", "CRRPFHVUKx", "HsEnsoXWLb"],"c_map_int":{"c_map_int_1":280861452, "c_map_int_2":-801272796, "c_map_int_3":265752225, "c_map_int_4":-2112523859, "c_map_int_5":1926567379, "c_map_int_6":1668966352, "c_map_int_7":1664238499, "c_map_int_8":1803209289, "c_map_int_9":-407117158, "c_map_int_10":-1767327606},"c_map_largeint":{"c_map_largeint_1":-4092635385033177553, "c_map_largeint_2":-2308649738278508210, "c_map_largeint_3":-4980315450896786943, "c_map_largeint_4":-7892959689879194961, "c_map_largeint_5":1866990234434216163, "c_map_largeint_6":-2300431635412162568, "c_map_largeint_7":-8180536064018676394, "c_map_largeint_8":-595367727003326907, "c_map_largeint_9":-6883811867957812822, "c_map_largeint_10":3103647026703095849},"c_map_char":{"c_map_char_1":"qQmaGzfTQf", "c_map_char_2":"DjhWKMSRHn", "c_map_char_3":"AdHZbpPXaY", "c_map_char_4":"QzLRefeUhg", "c_map_char_5":"szVDicIIZp", "c_map_char_6":"mdwGgMBsQU", "c_map_char_7":"BuIYOKSsLV", "c_map_char_8":"WBFGImXukO", "c_map_char_9":"AjNBMatFsb", "c_map_char_10":"EfsLlWZEdP"},"c_double":13.232627420236021,"c_array_float":[90.75673, 56.596077, 45.677113, 21.60357, 11.908299, 86.19766, 100.69787, 17.021849, 29.008175, 76.51657, 5.5386987, 95.96389, 47.079964, 47.50759, 97.90472, 37.24769, 42.460926, 46.34017, 89.72328, 33.924828, 67.68375, 13.079361, 74.67522, 23.67452, 70.16276],"c_array_char":["hVyLQGKSJf", "DoDLEQmSXv", "NvURGOwLJH", "iHTYVnXZjN", "MpSHcjquUE", "uMzekoXWRF", "aiJePUTAWm", "inicnDJUfm", "BFpNaiDDZY", "fxmbtNmdJC", "hFOrfjJYDc", "DnmmxZBAvP", "AhAdnOFawy", "zfXyGVyZJw", "RJSWgiAMpd", "LqdtTiRnNg", "DWBBBjSELz", "tllOMIJapk", "XkaFuwqjAy", "PQREjgVGKM", "LQpFYGTssX", "NlmYXUCzHs", "IOElkRkFyl", "NFzqVKYwPT", "OtOVUKlLOT"],"c_int":1718886746,"c_array_int":[1452295969, 1970869858, -1504568789, 24767087, -824376180, 486356857, 1691166631, -127240612, -1095634494, 1546719680, 2006381724, 1625701913, 1850296626, -1585613027, 638945366, 1349915412, 747328444, -1952883524, 1189906808, -1440502279, 2035449644, -416296138, -408237349, -874059478, 1396446918],"c_map_datetime":{"c_map_datetime_1":"2011-07-14 05:47:45", "c_map_datetime_2":"2001-06-28 00:58:04", "c_map_datetime_3":"2008-11-09 14:27:54", "c_map_datetime_4":"2016-04-08 04:40:01", "c_map_datetime_5":"2017-01-03 09:28:15", "c_map_datetime_6":"2014-06-06 03:35:36", "c_map_datetime_7":"2004-06-26 04:25:48", "c_map_datetime_8":"2009-06-28 14:31:39", "c_map_datetime_9":"2019-10-13 16:47:33", "c_map_datetime_10":"2004-01-14 12:16:22"},"c_datetime":"2018-11-21 17:16:04","c_array_decimal":[96.0356, 22.1896, 1.0708, 86.1842, 33.0214, 4.0698, 8.0727, 92.0540, 45.1003, 43.0037, 41.0636, 17.1279, 23.1841, 69.1784, 88.0498, 84.0611, 58.0631, 3.0126, 23.1813, 82.1115, 93.1784, 93.1208, 56.1231, 48.0698, 65.0163],"c_array_date":["2000-01-08", "2019-11-06", "2004-02-02", "2006-10-11", "2012-10-18", "2015-03-27", "2019-08-20", "2006-01-11", "2000-11-25", "2005-06-27", "2001-11-15", "2000-08-11", "2003-04-23", "2019-08-05", "2007-10-12", "2002-08-08", "2004-03-17", "2014-04-03", "2003-06-02", "2010-01-26", "2001-07-09", "2006-04-24", "2005-12-17", "2019-07-18", "2019-10-16"],"c_array_datetime":["2008-04-12 22:07:41", "2012-06-23 23:45:03", "2005-11-16 19:09:19", "2004-09-16 09:10:57", "2011-05-14 14:19:57", "2007-11-28 16:16:08", "2002-10-13 20:00:44", "2009-02-15 16:52:28", "2011-09-02 22:47:57", "2018-03-27 16:34:14", "2010-09-26 11:01:34", "2005-01-21 06:15:23", "2002-09-27 14:11:53", "2018-07-16 00:19:04", "2003-11-26 21:56:25", "2003-08-13 01:19:22", "2009-05-25 23:04:29", "2012-01-09 17:07:58", "2006-10-17 09:28:25", "2006-08-17 11:54:59", "2010-03-07 08:29:02", "2014-12-19 07:04:13", "2010-04-01 19:26:12", "2008-03-09 06:00:47", "2002-04-18 01:02:12"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_tinyint":-80,"c_varchar":"ok","c_string":"qywlPpAdcElhUgixrGRCQmXsGbvDhnDYCxGBIhcIOvPbZBPgUwPnPVKKlLNLjBuqhRfBfuRQdLCnfanHZIrsMnMNJcWnSDxbqIPyMVHESAEoMWQoQctFDiyAhaVfcpvQHpirNmrozDQOXRuMWaMJWaRyYOhwrSrZvlKhmJRSnKyLwKUumieIACmbrrFReNYxfTwDAxTvqwbxYHZZXemhAfZXdRtnciBIJZxzWvpKMIftAVVnwrOYJJNlWhPeRHuOJWdOuhemTdciTAEVkgXmOJvGUNDAVZmviHLgdBkMlqoQMmyARRBDSxFyTuRCuHLaKjsBVNCvCSOqDsARZeUEoaZAfjWckgClPYUoDLnSsDBGirbBNdYBMlnHetbaifxRnnfMEywYiwIJnBegGeZpbXiJLMgEdRoBSRhTQMbWRavpMlaEGkHxkKsJosXOezxfqyLQGRwQfyskBbnyiZrUlxCDCfQCwbhCIGmyyFTpYWDJGiOXMWSPNSmUkRGwUnlA","c_map_smallint":{"c_map_smallint_1":-16415, "c_map_smallint_2":26091, "c_map_smallint_3":633, "c_map_smallint_4":-25137, "c_map_smallint_5":9673, "c_map_smallint_6":-13543, "c_map_smallint_7":23084, "c_map_smallint_8":22101, "c_map_smallint_9":10338, "c_map_smallint_10":-12334},"c_map_varchar":{"c_map_varchar_1":"fQeDIqQPKKUTSYoRfJXSeQKftkIwUCqgZKmxNZqbkRGFyswKGJhEkUqcWkHejfLyUMnhDzthOKTkJQfPUxyLvfEkNwALLSHEZGrArkJrGNZxtlftgivncrRZRdpttxTTklFLiKHEIhGZvOxTpLfkrUlqJdyaCVvgqwVMkFNUMMdsyWBbmoxIqdsDPCzqLtjsxVuBhorDjrXegoQcbwhLdQarkttUiYRyaTuurVuZvJPiXfUrcloeUuybGiFGIOZK", "c_map_varchar_2":"oZjGNYmKQrliDxQWyDuxmeTXKRSBMfxCynbgJnwSgcXNyNwCKESdkrXIExiAnLNIPOOfXREeLJOlaKFsZvQRLnMdGnSTLvCGNxExQqxZGbKgzkovffspTTITRCXRMyexYyALgxSXUeubJpinEMGyTuVWlicBWJoQCmjwdysufzeEpahmtQeiajMgEiBuYVuRGPAMMgYbVEulODjHcHKwDuhirobMWyoHIhOtNDykFjowuiWSvDbOWjxfQEUccSKY", "c_map_varchar_3":"cAKRKEJhZXcqKocuFQXickEmoIbnuRZTmxsCHMTzlIJyslmLgScBqGkDmNJOexfYgSvWdVVXaxiKkovBwMheRIMyvdUmpTureVIiCEfznGFQSQTePHfzJbUswMsWZeTfvQXPEunVjDPzlNzvFRfwiPtVtQJIVSVxtTlwLbBHGVadrLVMitpbrphVTyAlxexkETsyLcAyctqmNoosFjDSRFpndxRgpSJRHfYrIMyyIXBNznNBHrWdjlZzFFBWWuXZ", "c_map_varchar_4":"wNOuoyRidHedvSIYkSqMlSUhFDCvgrWndMIygTxqoUUDfZGOKZvMlgPYYJJlyQrlssmdVSdcLBkrAJhUFDevNVgXluYCQFiQxKjnJPIhNPBpptIaMnxjgXHzrCLlkulXGmsCrlgsutcksFyEmptuFBIkJeBvaojkjgTFUxAlKChmoZQhekmRGQjnqEwewTiPzwPjcuScaRNezmlobEOSaNkfUtsRVnctMSLffDOpuzlROXrcvgDOmQSnABoLiqWd", "c_map_varchar_5":"jjYquieTOyrCYQjWkkSSAsJNcNcOCsLkOlaIUytzcQXAnRrQnWVQbPbuRvGOefRrQSTzDhNRbHYmMBKWUsMDeWaabtavetWLYisuKGWEIFiWiCxpvTjxjocVhWAWBBouqpwXrNngZTrSIyXxjktjWtHYhQMIdgcYpPBtircYNrLhttwkVOjDUpnzXCLrKKeDsYOHAegnVDTZGDgiPfCMuKsvNerdqjwLKKHcrLhBHGBXlxqcMrauAvSuoyMsNJSS", "c_map_varchar_6":"uHybtwzkflHMhIPJsXmULjcCVURUwyALHXzvELqVDNOeGDRKhvImOSeyQTydJWiyXvjBknNoMhTxnbOMRsvqlTEjGnLTtQeYezCErFLHVcvXdXcMOuSfWGgeYTgRLiMhtRPUcOCdsFhzeSktlathVPpfRQvbNovZaNJAhhBWxNxRnoiKTzMNGyfIUMhcZuHXutoPlJutcderYIbZvjzzjcEczolLSIqbzqtNpXYBglkBhohSwblzhTqsqaTJnchW", "c_map_varchar_7":"LxSFrUMAtatggjPxRWPkTvOTAIvrsKZjNYVkpzGksMKuFxskMErfzLaqWHxKtkPaJNwTouLiMSVMaWwdQdXeOyyZHAWVvfHuVyGNVerLeGREqUIUdOkBulsZJsvGiMhaTPeuhEpdFVvHHmKVijLJGbACasUyBaGGMgcPeWbkSwGruiCXkEzhxfZycCNSQjJKNEISSsaLIRbfDnmFPQRYMlSlZoKVzhuotCQhQVTtaXBzmrZliSBdNoklxwcOfaWH", "c_map_varchar_8":"DXXCUVKVfNqcPCyXOquNKprwrnpdEhMmhAgsajWSZOYKEOoWeWkhxLMKZpRztxvBLRvuLlKDazTwMXqfZqKlMZEyAOldegNkGOqgPFvtUGtRcXVzSQNkxrbqdOYWtGsCMRZeKhByPCjvYzHBaiIcemboNxppBVXOnlDbwkdLBnHrLmVVGEkXdpPYzTKVomOWtIPrexaHOTgVSzipfhnTjdtwcRExNCBYTXKAicRKtwloHmEnwEQHKOYAZKEIBWjw", "c_map_varchar_9":"kpYRpsazvDLzUOsHnOiADDoUNEIVBHXcZxOHMsmoUzMAtaIrTdQYGRoyUASKToIlaPXfgvEDakllIzhwwSfsmbqhggJFtqKUpUQyNJOPcTUFhWjYsttdgDRWtMrPwwoaMtHlVrmwFFxMNnfRxgAGzIjYOJklpJzIQRpuTGAWRVKGExrWtwkHLyBUJSNApooPAsYGNbTBdQLZYVfsjUCIjjoXyDvMFsavGHuuiGBMHKjvsTmkjqOrVbJNJItDBWzb", "c_map_varchar_10":"NkMXjaHpDYNOCmFCnRDHHXqgjsFhIUJqxCGXnopgTXMcySRMRFHITSkdQHQgXgcivLhNupwjdXZpdNkWESYHVXnModUDgKUBkJKAIccAPoXCFLPtvGwvitNgQXDHoKQEPgtNoiDPwgqPzzEapQaxFIIDUOZmMzjAzlyqGpZvpENRxNyHGghfbqrrngRnYRMMKHXXgsjJrfHpvGdWMgODNGIIhxczZCbigyVBBkYATJvQHnIFcBPttVzflaCCJjIT"},"c_map_ipv4":{"c_map_ipv4_1":"155.11.38.56", "c_map_ipv4_2":"149.252.66.125", "c_map_ipv4_3":"252.109.220.61", "c_map_ipv4_4":"230.34.115.104", "c_map_ipv4_5":"134.211.143.51", "c_map_ipv4_6":"219.149.1.211", "c_map_ipv4_7":"11.61.35.179", "c_map_ipv4_8":"140.222.81.53", "c_map_ipv4_9":"96.209.145.48", "c_map_ipv4_10":"6.232.11.168"},"c_map_tinyint":{"c_map_tinyint_1":4, "c_map_tinyint_2":66, "c_map_tinyint_3":103, "c_map_tinyint_4":-26, "c_map_tinyint_5":101, "c_map_tinyint_6":-95, "c_map_tinyint_7":82, "c_map_tinyint_8":-39, "c_map_tinyint_9":-38, "c_map_tinyint_10":15},"c_map_date":{"c_map_date_1":"2012-12-28", "c_map_date_2":"2009-04-17", "c_map_date_3":"2000-02-24", "c_map_date_4":"2003-08-28", "c_map_date_5":"2006-12-13", "c_map_date_6":"2014-05-06", "c_map_date_7":"2003-08-19", "c_map_date_8":"2000-04-06", "c_map_date_9":"2005-02-06", "c_map_date_10":"2006-04-07"},"c_array_bigint":[6381008778708904826, 6948570929820667727, 239120503774458147, 1898356777637545672, -6559815769532162264, 8521892770560547572, -2746754200602936236, -1398348303829677162, -397403890415133971, 5142605209533507186, 8265100578546253905, -2785307168289001541, 9188995063854459756, 372433071537986275, -4303616964449197870, 8234844154307758011, 5182316165637225206, 1883105372083063488, 2242017949639704003, -6643808394484494761, -1992128527722866962, 8905939762103467167, -4931763443890032801, -3514953779683164118, 4570255134824095826],"c_array_varchar":["LimnDYQmSrJAPBsMJoVveSaQLrhgcAiysglVpPYWNDdCzkuUIaSkBdsqCgdzeswGNogeGWianEPISbYSOEHNShzeqtUzshgweMDkTABcDBIDYorcdPVlucIYoIocOrndgQfKJupeqMsjWKqLDJQVnbSVOcCmKAPldRVuXhhYCvHAckPivYdcDCBuUnJxxYGczqncssmEtJotreZfYoSFwdqdMjibrsPQHHYDRGhxTsYSqqMJbQXQFNZcGjJCqvCz", "zGXzFRTJKXvykIHsTrCYVKQpkxEwDVIRTEdMprsyXwQSdlYKqThEwjYcNIxcGTapZqKoPwUjUgoLnHZBOlibZnHCoKJjaZxIsdzihPCPApKrNudkJTNlzgmkJXACdiSQtsfIbNXGTBFmKzBrDyWCVFikpGUwZbyefeDAGbkrUKWvclxKrjkpswifaHvAcNMeyKIxdnJoBNLbrKoSdhmFGFwJppcSMlQPyxlJpfTiSNShbKPTiigFbnuqviywsdnS", "fKJTzZUXZEACGYOmWihuNIUWswqNytBbbzXOgCyJRBHVqQLGqxrcwNofJhXQasiHEUVuwOagmxVadDqrnKLPBISyQAjkmNdxuVLxnjEEGIOeYptqtfWOcZOZDvMkzveebclcvjYmYpcDBUEKwxzkmxBdfrPfNWWwCDQuUdcpdyCxxoJSeGXGbBQxztidGVpXREOYlZoIWOLpXZHNlKtFLejlTWHIgrjhcKnshzULnWVngGMVwYpFzszukPjUkDCj", "LWEFiBwfsYkSQrqpFBDDVcoydowlTDwPGWCXPHEjvQYwjOkamiWIUzPKaYOUWgGRRtTJGMrSTyWeCDNUhZEorSkByPHdFUogyPBQBqkoACfToaYqZbKvbKpGJCXfGdCICOBYbBjmzDoogLwpEKcLgXIDnAJNazTmjGeuCKzlhCemKPOqTsdesgwJgEMJEquovpStqujzzLOMoumTdmoLVNUIUEAljNerBfhKBfijAFvevQcgUMNwfFBaYryRBCXo", "KvpWnsoqENmzgJJWzxaNZxoAyNiiasRHshLjwoOEEsazmoenACfzoJwsAjNBnJjKHldMinRvYProGQrIoJbpVRPUkhTQWBfGgTesHJwcibRBerWZBiMxHDbQhnEcnsPSQUIIUrvCbKHbORumRDLdkhaDXlWXdoRLcyZcVcUITFvAkYYKBzmQyqnlJUXSBReHJuYJrkMGvlgKBPdKbpcAbcKIwyMpINnIAVxcdPVFFlCYqWAWVKQdYrPUVTIyLoTg", "IFyrIufoSinNHhwpBwdQwIhYpeYjjzfCNKYJssiOTOqlJsFlHMbssQAFJokanMImPAocFNFpsvSiMAzpPmhcsxoMzINTggduAenbSnafPBnpOQHXAoozWQdCGXdwHgrRjVvIcjOkhrxSAycNlDlBhEBkBeJnzJlnZbcEoQDyTlBbBtSINHINirIXIvYDAzNKJTYhOiFUKhhPuPhvenwJMNAryJFyrvxRvzvZWUPAdwhSkoWzMvNqVsKoERBCVJyd", "sAgfgZXiGlhglYwmImKgbHZsXttPfcfAuFZigjtXjuwNEicqaKWLKkPQeRsmDIqXqCPzCptcpYJgKbBeTJJZceiAsUNnidmWLkJUYefHbRNogiTZJAVyRvDLaRKvdPGSWEGHGOqvevFRRmoDZwVGGVyvcaQMYQzXjOuxGOtbZfQQPMPRRNOAyxBkOVjwWaIlmGCDRWRsyTJMEtrlEogCwPWKJdxOWnKcvDEYLQDknggpZocaGpSWeSWtwvqHhEIt", "eUPCrzKSaGkGBkGlozRdKTLSMqHLlYlnruouxpWQSzLsZKnnVUDGmKxVAJfxHZVsYwpaTxzzLTFguVpSQiEjMSJNAesZbLHmvccRJyIEbisSngRtvyrLnTbOYqGRflHbesaSwvEgcWkrJSeEZYofpxGXBMZPBQZCsIsSwYfouTcGBtURgpAHqtrsmgYJafZZCJnTMOYUnpztEyTHZVpYGxYnAkbHcFdihJqFUZBZzsQeoyuAjPoRSLKMnWGASCVj", "hjHRuVUeEuUkTSLtjtUDxkmLxHpCxTTprkJjbILZGvmaSYzfvtnLrvhGICgAoCkqXLflWGYpjPKjzfYPLYLfbykgwCWLOUgYiqaBhOCLXUObYiBfqAUaeqihdRAgyDPgdonCYvcuUoAKFXUdkVwRlWePRiPMGPsaMjkCzTzAYWfejyfECUVeAVVnPCWClNjZJdsHcEFnnTrIQyWhvWyBNinpLOaTMSsfoXHDqiXzKKzYBLKJaHjzjXLJirRDdTFU", "QqYLbbFRFAWpspFbEKMfFrMTAiUwJACoQbTdHpWMPYtsdQMnDdrDJMUFmHTkhfYGZZoSUwxBXTHLZKTQQsxnmevdEkdyoSqHVcUFqpiCdjMawQKEAgwnUGVHzGkajQzFhMXjvPZsUunKWXlSHmJkgHgAckVIrBBkikacVAQJBQXvKSERyXGiBwFByAMxmHGjQcCTPdjjeCrPPrAwrYKXvJxnXvsdqRqylFINJPTfXgfReURJgjHASerRhtqVIxIx", "JSBvxgPtVMKLgMCitEsOAfMhibOcUbazcGoqfIKCYbYbMUrLPLTMtFiXRfWSMcVOeZzCooGgGGOsvaUYrVvqnHkzjXCqnjoxiZlYAUdwzzXGwGBxMSKqrZbFOMkhuwlKVwUWPjodknequsINdNwBsCdEYUorVrxoNUdsYDEULScBfrQwLfHRgFCLdHUWLJCXnfoZarEwwoIpMiWvPwsExLONIWepjMcPOoLWvXXwHgRhhOHfJzgTZVBvIWBkPDuk", "NiDfMhvVPygnzlyGusITpqtNNEHBuMVgPyZIAVwwoHGPapnRFhmwleYSXhTQbSRFLuLJkSbDNvCSWokOBDukqmWWCyhrKqEFQuPsmmJPgZWPBCSYzODvOqggzgOFKWzeefsLRtgKlDlHkEgkDseFeQguJhKzIqTaUzljrypWiDHvthJoSULXubvdirLwvGZPHDqKATRcPmLxXIJgsRNadBctoXqUgCKZVorTYGVMucNzwSnrgeSooKgNtUwfElrk", "iREZLzOpgFRkNEPTtbVFvIeDVHWqwCuaEmDDCNIxQGllgTLDkydXYTdsaKGRfOeZxraFsTuEhFiRmEZjBCbqoNUPmlHKRLRbMwOWpYyGvDwmeMQDyWQoMtfSHueZDPXVuZyOhelvqFQrRslabbkjoNnAzhivFlsxISLPInuPleMnxDGKpSnVyWLfIwykPDktIXzItpTVSpUxbgknGUpKgLUQugNFEVxtPypOMqoohJNcYPgniRWYFjmrfbcZrImY", "csezbaHfDdMwenUcrIgKohUgxCfzGopIFYDyjkwklnrHpMisZKcztHBkbrsINWvgcCZBlGnlANLXlgNZIYAHmhvREabFkmRliZrQnLZaPNzNHUjfxDPRTCQqVfYiZUUzPOqirBptcRtotBmlSzNxZGjpvoyEaIgXZOXUNgwSvIwBVLForkurGWEcYGoqsBQakNOmBTjAdjIeXmtllZADSTwVysqpAzIGOBjvoNPIhplPPaqPNlxmihpltajgFOPF", "YMlDMskWtRaMYKJOBJzSMxWqfqjsldMHLHmFRUNXHfmCJyuIiLXCKUixREjDTvPoGXlGqdBdzcmapopSyQSEcylHBSBtbQmUWoSEKxrqBzJzrIZtIXArdlwJbZOtPzbNhChJPUlYyfMcaukCsPljLnnZeIjcDChnNVzEONNYWNvnMzlUzmfhjEGrbUTFMHHLlxlQDxUJuUUUnuVzZZZocvMVszUjZOgpHndtcdYUCMnBJiWXWQGrYvhBhZAqrOha", "yqXRuqUssrfWGkTRyIdqUNAxaZzIrIexTAVoZqSYYUJvbuCYMrmRwOhdosZoFSLnlnrXSeXbAqyKAXOZujtNFyzkRqDButZcFldMMwAAJBZlLrjtymyLjKkjJFxrUspWgqzANpMGaRDUufcdkGZqPEkkOwkBoBJCgLaYySJIcIqdCLcRSDVZrBPrsBGuVaJIUwslVphasaNIffDciqAxBEYeuJRRwSiQwZKMnEmXKHyADkwEhDVNbLuGSJRqcyCB", "WIFXLHFyFYjvnNsYMMMHyCzkEqcFJPFOOIpNUrNFxuCrQNhZgDalsDvzzSjujlyTWgXKXhdZdAMXkKtWFzGOQjQhTfciUFsdUzvloIbDYFOEQBMhlqrKBCoxSmJrNowLirquUmAxgmfFJHqoGPZUYXPJFtsGGPYLsRoaixNnDJPGnecAnfkNhfxukVXTxDymbiVqRMOwHnfmIQFcnkWUpRmzSSwTvUKtHIXyVyYssjOMEFRfLTgDrjDHrxejSVJH", "ayPnmoHfsgnjOIsoJHkfKtGXQjiucuzBdOyvQhlHBEGjblnIKQlrAJDDVbxfaiZeflYIDvvMJpMHogLBmInzMiYYwTyYzFCaVeSgpHgFQGYqIeayEGFmZhqsRBAPFjFGilclNCSiZBazVsYGaApJjnEEpAfCcKlxnlarfTeOFTtAoSAWlZBjyEzGhOrBUGYzKFxZmALrFaDSacebMNyJpaDQcqSziBRatlwUMjVJZzYJkLZKRLUXgzqNATtzrweT", "vvizQFwZlRwTFhhOUVvpbOHKzgaRrfQhCxLtSrelvfvQNeLfsrdVlnVzgmauPRLigTlONryyxcExtBJKcvdmDkgPDkjGZKNCQxSgcJHAtjKgWWsEjzaFRwVzqOZuGKbOiysPezeQfaUkpignCuHgIJqAaALZeyQwmXwtsOWVuUvMyOqTeFRxgMOqSxDcnDqOudjaBwcCLiqZQRTvnHVFMqdvcevSkTtzLoetDphXLSnTTuZYxQQAdSFlmOiKvpcF", "uqxLMJBYDAhFAunofzhmCYpeGLBGxdxgaqRjBgmciqRXTRlarthYmHSdgPMuhlmyJGXmkoYQrbpjBrYNYMmAdteUtjeYJoinbtVeXWDGeqUMMPqzzjEuvJJsdHEHuWPNvCGwEabRlSDfdLLggOZmQMURdIZbKwbMyKwrqnMCqxeqzGqyqXToMYktqRuXxZGqqYVGTnPRmlFvuhWHGmzvdkvQLilQTUJpVQzwbJpiQzveNOosPuVpuJEnbOIVxYIS", "BApgwnpLLPgFrPqrHzZsdtmIdIiqyeMWSKyNLprFFBelmNutGjwCjDlyoCfureuoQnItQeBrwWrxzSSGxEdzpOCAehxYKhRRAWAhSOFjJRbtkqfbvLnDDZrSrschGJywNHgUwSCzTaIxnGvtmNgjsXCmpMONkCFbNVOcdpGAVBEYmbQBzXbUEvAEaNrdKPfwxoVEBVInNaKKdEocBHOkMYhyABklKMBRxcLrOpxjdwZSEHtQbvZeCLvXisisAPTI", "ylWQpUkczaYlQpBlYeQoPNvzjhSMVaLEuZRguNOkksLeXKmFFBCfWKtnGcaHvcTkSRUTpYufHBNZTuuLMRtJpbEgTZJuCOKnYfCbAmKVSGmkvfCsVvScVobWCfsAbGoGpsSFsQVREVCmcHdpypZoAltbNdtHFASUgPAbgHloNaxaMxfGnVBzRnwbrbzFDtpZneuBFKczffjrZffaOyoZRwGNnvHuxzQTIHNJqPbUOJHIYBuoZvEbOtCfiWTniDWZ", "mmrgjyQEYxSXgBQDMtlXiIPBnrIEooUvuosnWvPQUrNKIfoFUeFukgwZGFuPvYBdksMETpfxxVpxclKjWmWvDZRFvIOJvrxYlkeoYFGITGxfEDcfxUUBXVclVVjGRzkBkROlkhSOZnYUaRkwUujDPcKqlCyxqCcqQNNIhznsIiZubNsWbfhgvNDymoOotuIuRMgXlDzmbcdmJBrAivIBxSSLIFUoGwNJtcROcGtLNxGXWFxHqAiGvvdSsmKFKnDe", "iYIihBRaxZsEOsAgdCgKArhXfANiHohXZuDEzXwVDvVAhqIoToSaaukVSTWeaCbqwqKPjjAtZJPfVDRLDeQxSSAqlVGVQOyMBejtAlpvgJLdIjQRxVHyHmCPmAucBpIRXiykQZFgtqmHvElJavMlllMKxGfxiHAglUdHVLwaXWvxEHvFbyHdajAOfQkRFQsTQiQmlJciQLltbyKYyJBQhjPiNGUsqCZaqRcSyvxYONlPMYbyrHWShcCVJAQpTwYq", "cPkWaNPaJQUzjnQTUolzlPvuBepsMtoyNYBXeFtYneVndyGlFTjdupONIJOTtbLzTAvffyeZjWPoCHrzVTpOIfbxojhHfaaoxgKEBfWBlLPEifjgDJOyLqVxQggphjocwJPgJwXwLtuTyvzkhpLLpxfArPXCwvKojARroOSEQCxNAgVDktNsIBSLMAponlmiOnGmgJKPuvXOSuAgUlJlDBTcVarTksauiVVYgxNUBBSIwcQfhUOZhCAxlOuTtcNo"],"c_map_double":{"c_map_double_1":14.946792356416102, "c_map_double_2":53.86672376144443, "c_map_double_3":58.44041909530362, "c_map_double_4":64.21533316130669, "c_map_double_5":63.6713479529002, "c_map_double_6":52.121646922677314, "c_map_double_7":16.36374222771212, "c_map_double_8":23.29071513383609, "c_map_double_9":16.272560723437262, "c_map_double_10":62.28680531624247},"c_date":"2001-04-12","c_array_boolean":[0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0],"c_array_smallint":[-3541, -20840, 16509, 29568, 12909, 2762, -3601, 19149, -519, -780, 6322, -8858, 32288, -21439, 10574, -30542, -30460, 9202, 8036, -22788, 14421, 18323, -2261, -25230, 7061],"c_map_float":{"c_map_float_1":40.370632, "c_map_float_2":65.412056, "c_map_float_3":40.797077, "c_map_float_4":9.597397, "c_map_float_5":71.9259, "c_map_float_6":92.284004, "c_map_float_7":53.78388, "c_map_float_8":44.02619, "c_map_float_9":69.27577, "c_map_float_10":49.417385},"c_map_ipv6":{"c_map_ipv6_1":"2e66:39a5:b4d9:ab2d:ff75:128d:12c8:5425", "c_map_ipv6_2":"aa3a:c225:fa73:7984:c2bb:c536:e388:1312", "c_map_ipv6_3":"62c0:6a:ca60:cbe4:c058:622:6859:344d", "c_map_ipv6_4":"fd31:e51c:8b1b:eda1:b036:4768:a711:53ac", "c_map_ipv6_5":"70d8:61b6:2769:2bfc:b9a8:ca07:e642:e2cf", "c_map_ipv6_6":"29e4:c4d9:93fc:a98a:f392:a2fa:d290:1a95", "c_map_ipv6_7":"132a:aa7e:d20c:6696:3c05:c8d8:f1c9:eec0", "c_map_ipv6_8":"22a2:549:7069:cf70:bc24:7be6:d92:7ef6", "c_map_ipv6_9":"c3bd:9838:a93b:f7f8:1d6d:e8c5:701:f0c1", "c_map_ipv6_10":"6506:2baf:45df:54ca:29e8:6654:38a9:b317"},"c_array_ipv4":["whhwSilLhA", "rsPgCDjLic", "RONkwPlxYr", "MBCCDEQYGj", "OjYRZPpKPb", "DfVWskpMRy", "JEcRVYtTQI", "sMzFfPXkci", "bmVTGUzzrr", "AkbOjGqGYY", "gHdyUbRlBs", "AbegNRUaTY", "vBTvUefeSo", "PHZgmYgOtr", "bOdemfCDCv", "KVPgROXpvI", "snqjQBtYQd", "QjeLOtltqE", "PvKomNBkdV", "DoBnoEtBdp", "KKPIjHBzsb", "jxHWOUsLGK", "nCYgPuKZcE", "vXkBjPffVl", "nbzYMraoHN"],"c_map_bigint":{"c_map_bigint_1":-5297064725696670210, "c_map_bigint_2":8998584767480809102, "c_map_bigint_3":7417969340066824912, "c_map_bigint_4":-1556372076476147259, "c_map_bigint_5":247469283301244369, "c_map_bigint_6":-671014237668884408, "c_map_bigint_7":-5727955080486236480, "c_map_bigint_8":1146862972796758087, "c_map_bigint_9":4806427593090039261, "c_map_bigint_10":-6946702903791760099},"c_map_decimal":{"c_map_decimal_1":36.0822, "c_map_decimal_2":17.1885, "c_map_decimal_3":5.1010, "c_map_decimal_4":34.1037, "c_map_decimal_5":27.1510, "c_map_decimal_6":65.1063, "c_map_decimal_7":56.0845, "c_map_decimal_8":63.0507, "c_map_decimal_9":24.1400, "c_map_decimal_10":79.0679},"c_json":{"adjectiveindefinite":"anyone"} }'); + +sync; +select count() from table_20_undef_partitions2_keys3_properties4_distributed_by515; + +set global max_allowed_packet=4194304; +insert into regression_test_datatype_p0_nested_types_query.table_20_undef_partitions2_keys3_properties4_distributed_by517(pk,col_boolean_undef_signed,col_boolean_undef_signed_not_null,col_tinyint_undef_signed,col_tinyint_undef_signed_index_inverted,col_tinyint_undef_signed_not_null,col_tinyint_undef_signed_not_null_index_inverted,col_smallint_undef_signed,col_smallint_undef_signed_index_inverted,col_smallint_undef_signed_not_null,col_smallint_undef_signed_not_null_index_inverted,col_int_undef_signed,col_int_undef_signed_index_inverted,col_int_undef_signed_not_null,col_int_undef_signed_not_null_index_inverted,col_bigint_undef_signed,col_bigint_undef_signed_index_inverted,col_bigint_undef_signed_not_null,col_bigint_undef_signed_not_null_index_inverted,col_largeint_undef_signed,col_largeint_undef_signed_not_null,col_float_undef_signed,col_float_undef_signed_not_null,col_double_undef_signed,col_double_undef_signed_not_null,col_decimal_10_0__undef_signed,col_decimal_10_0__undef_signed_index_inverted,col_decimal_10_0__undef_signed_not_null,col_decimal_10_0__undef_signed_not_null_index_inverted,col_decimal_16_10__undef_signed,col_decimal_16_10__undef_signed_index_inverted,col_decimal_16_10__undef_signed_not_null,col_decimal_16_10__undef_signed_not_null_index_inverted,col_decimal_37__12__undef_signed,col_decimal_37__12__undef_signed_index_inverted,col_decimal_37__12__undef_signed_not_null,col_decimal_37__12__undef_signed_not_null_index_inverted,col_decimal_17_0__undef_signed,col_decimal_17_0__undef_signed_index_inverted,col_decimal_17_0__undef_signed_not_null,col_decimal_17_0__undef_signed_not_null_index_inverted,col_decimal_8_4__undef_signed,col_decimal_8_4__undef_signed_index_inverted,col_decimal_8_4__undef_signed_not_null,col_decimal_8_4__undef_signed_not_null_index_inverted,col_decimal_9_0__undef_signed,col_decimal_9_0__undef_signed_index_inverted,col_decimal_9_0__undef_signed_not_null,col_decimal_9_0__undef_signed_not_null_index_inverted,col_decimal_76__56__undef_signed,col_decimal_76__56__undef_signed_index_inverted,col_decimal_76__56__undef_signed_not_null,col_decimal_76__56__undef_signed_not_null_index_inverted,col_map_boolean__boolean__undef_signed,col_map_boolean__boolean__undef_signed_not_null,col_map_tinyint__tinyint__undef_signed,col_map_tinyint__tinyint__undef_signed_not_null,col_map_smallint__smallint__undef_signed,col_map_smallint__smallint__undef_signed_not_null,col_map_int__int__undef_signed,col_map_int__int__undef_signed_not_null,col_map_bigint__bigint__undef_signed,col_map_bigint__bigint__undef_signed_not_null,col_map_largeint__largeint__undef_signed,col_map_largeint__largeint__undef_signed_not_null,col_map_float__float__undef_signed,col_map_float__float__undef_signed_not_null,col_map_double__double__undef_signed,col_map_double__double__undef_signed_not_null,col_map_decimal_10_0___decimal_10_0___undef_signed,col_map_decimal_10_0___decimal_10_0___undef_signed_not_null,col_map_decimal_16_10___decimal_16_10___undef_signed,col_map_decimal_16_10___decimal_16_10___undef_signed_not_null,col_map_decimal_37__12___decimal_37__12___undef_signed,col_map_decimal_37__12___decimal_37__12___undef_signed_not_null,col_map_decimal_17_0___decimal_17_0___undef_signed,col_map_decimal_17_0___decimal_17_0___undef_signed_not_null,col_map_decimal_8_4___decimal_8_4___undef_signed,col_map_decimal_8_4___decimal_8_4___undef_signed_not_null,col_map_decimal_9_0___decimal_9_0___undef_signed,col_map_decimal_9_0___decimal_9_0___undef_signed_not_null,col_map_decimal_76__56___decimal_76__56___undef_signed,col_map_decimal_76__56___decimal_76__56___undef_signed_not_null,col_map_char_255___boolean__undef_signed,col_map_char_255___boolean__undef_signed_not_null,col_map_char_255___tinyint__undef_signed,col_map_char_255___tinyint__undef_signed_not_null,col_map_varchar_255___smallint__undef_signed,col_map_varchar_255___smallint__undef_signed_not_null,col_map_varchar_255___int__undef_signed,col_map_varchar_255___int__undef_signed_not_null,col_map_varchar_65533___bigint__undef_signed,col_map_varchar_65533___bigint__undef_signed_not_null,col_map_varchar_65533___largeint__undef_signed,col_map_varchar_65533___largeint__undef_signed_not_null,col_map_string__float__undef_signed,col_map_string__float__undef_signed_not_null,col_map_string__double__undef_signed,col_map_string__double__undef_signed_not_null,col_map_string__decimal_10_0___undef_signed,col_map_string__decimal_10_0___undef_signed_not_null,col_map_varchar_65533___decimal_76__50___undef_signed,col_map_varchar_65533___decimal_76__50___undef_signed_not_null,col_map_date__boolean__undef_signed,col_map_date__boolean__undef_signed_not_null,col_map_date__tinyint__undef_signed,col_map_date__tinyint__undef_signed_not_null,col_map_date__smallint__undef_signed,col_map_date__smallint__undef_signed_not_null,col_map_date__int__undef_signed,col_map_date__int__undef_signed_not_null,col_map_datetime_6___bigint__undef_signed,col_map_datetime_6___bigint__undef_signed_not_null,col_map_datetime_3___largeint__undef_signed,col_map_datetime_3___largeint__undef_signed_not_null,col_map_datetime__float__undef_signed,col_map_datetime__float__undef_signed_not_null,col_map_datetime__double__undef_signed,col_map_datetime__double__undef_signed_not_null,col_map_datetime__decimal_10_0___undef_signed,col_map_datetime__decimal_10_0___undef_signed_not_null,col_map_datetime__decimal_76__50___undef_signed,col_map_datetime__decimal_76__50___undef_signed_not_null,col_map_date__decimal_16_10___undef_signed,col_map_date__decimal_16_10___undef_signed_not_null,col_map_date__decimal_37__12___undef_signed,col_map_date__decimal_37__12___undef_signed_not_null,col_struct,col_struct2,col_struct3,col_struct4,col_struct5,col_struct6,col_variant_undef_signed,col_variant_undef_signed_not_null,col_variant_undef_signed2,col_variant_undef_signed_not_null2) values (0,null,true,4,6,-128,1,245,-18425,13261,-3978,1055846224,null,2143917556,147483648,6,9,0,147483648,-5427488502573766557,5876839336323511004,78.72169,46.788902,300.343,100.02,47.1406,40.123,300.343,25.1574,87.0149,86.1759,92.1832,40.123,300.343,40.123,42.0834,95.1502,null,2.1054,17.1233,40.123,null,100.02,40.123,300.343,94.1901,52.1190,100.02,100.02,54.1207,47.0663,89.1546,54.1793,{true:false, false:true, null:null},{false:false, true:null, null:false},{-98:-71, 0:1, -127:-128, 127:-84, -116:0, -128:0, 98:-77, 82:4, -93:-56},{1:-81, null:0, 127:1, -33:1, 0:3, -128:null, 116:72},{null:-32768, 32767:-9866, 1731:15217, -9587:-6288, 2017:0, 245:4242, -32768:-16120, 4935:-23444, 20333:31631},{0:0, -32768:-32056, -8019:17394, 30685:21557, 1426:-12785, 17219:7264, null:null, 245:11609, 29182:-16988, 11017:null},{-1531422186:null, 147483648:2011160187, -1327593625:-2147483648, 1197913476:147483648, 32679:45582427, 2147483647:0, -578374467:147483648, 777224506:-2067930867, -2147483648:-145943132},{-2147483648:32679, 159074707:-844497684, -1439496939:1648183262, 0:-469833976, 147483648:-2147483648, 1583631394:-874093216, 316077670:-515256942, 2147483647:1180426932, 1840206287:-1753936007},{8225495:1, 6:1, null:147483648, 3:-26302, 147483648:4600609796066234679, 20240803:32679, -396041453283314024:20240803, 1:null},{1:-24335, 147483648:-7689069, 20240803:1, -6387:300.343, 32679:27014, 7819782:147483648, 300.343:2996336},{9223372036854775807:1, -2773837925002197147:1, -9223372036854775808:-5053551874125073428, null:-1616857803772676853, 7747983009075603765:0, 6377119978789811741:-9223372036854775808, 245:1034037300},{805152935376600053:32679, 1601282:-5330672015676893833, 0:9223372036854775807, 32679:-9223372036854775808, -4534332:1114509001, -9223372036854775808:1, 8024727579234810128:40570998, null:-9223372036854775808, -1416789:32679},{60.208515:100.02, 300.343:66.56882, 100.02:null, 65.763336:85.816414, null:98.57565, 40.123:52.13982, 13.048001:100.02, 40.65401:85.410904, 93.511826:null},{100.02:null, 97.17357:98.27637, 81.71181:40.123, 89.10392:32.140778, 73.90542:68.66204, 40.123:40.123, 46.90176:31.183817, 38.053394:null, 59.608475:40.123},{null:33.76510323259923, 100.02:300.343, 59.70492552786197:100.02, 300.343:7.120719062016706, 27.349337198064177:11.6007972910197, 40.123:80.21643065824644, 42.581180560539586:8.556171144069447},{300.343:300.343, 40.123:300.343, 73.90996605883514:null, 5.171097084575066:12.47288975618884, null:300.343, 95.51643810221807:100.02, 69.29950173252318:300.343, 49.263842626094224:35.706789781638115, 100.04691266840683:68.95355294535767},{null:'with', 300.343:"2024-08-03 13:08:30", 58.0231:"2024-08-03 13:08:30", 40.123:"0", 54.0018:'something', 73.0901:"2024-07-01", 19.1424:'so'},{90.1892:'j', 40.123:"9999-12-31 23:59:59", null:'her', 100.02:'and', 50.0285:"2024-08-03 13:08:30", 56.1709:'okay', 31.0042:'it''s', 300.343:'p'},{300.343:null, 73.0634:"2024-08-03 13:08:30", 52.1817:'time', null:"20240803", 6.1661:"1", 78.1665:'time', 100.02:"300.343"},{42.1725:'do', 100.02:"2024-07-01", null:"9999-12-31 23:59:59", 22.1343:"300.343", 82.0546:'b', 300.343:'o'},{300.343:"20240803", 100.02:'there', 89.1703:"1", 63.0326:"1", 34.1716:'who', 37.0250:"300.343", 40.123:"1", 88.0553:"0"},{86.0079:"9999-12-31 23:59:59", 86.1668:"20240803", 40.123:'who', 78.1179:'w', 66.1286:'do', 4.0853:"2024-07-01", 81.1876:"2024-08-03 13:08:30", 24.0209:'could', 41.1851:"0"},{2.0756:"1", 300.343:"9999-12-31 23:59:59", 40.0326:'j', 100.02:"1", 7.1503:'him', 61.1663:'when', 6.0396:"300.343", 52.1017:"2024-07-01"},{21.1755:'u', 68.1301:"1", 100.02:"0", null:'h', 40.123:'my', 41.1555:'when', 53.0422:'or', 43.1040:'w', 29.0437:"0", 45.0727:"1"},{87.0863:null, 100.02:'l', 40.123:"0", 5.0026:null, 71.0971:'k', 16.0543:"1", 74.0647:"0"},{100.02:null, 62.0598:'go', 10.1170:"300.343", null:"1", 40.123:'z', 300.343:'h'},{null:null, 5.1201:'her', 40.1766:"20240803", 40.123:"20240803", 100.02:"300.343", 2.1740:'m', 23.0933:null, 300.343:"1"},{44.0817:"300.343", null:'know', 300.343:"1", 100.02:'will', 64.1812:"2024-08-03 13:08:30", 40.123:"300.343", 72.1702:"2024-08-03 13:08:30"},{99.0463:"20240803", 57.0208:'didn''t', 40.123:null, 300.343:"1", null:'g', 100.0572:'b', 93.0514:'z'},{100.02:"9999-12-31 23:59:59", null:"300.343", 26.1189:'for', 29.0336:"2024-08-03 13:08:30", 31.0743:"0", 40.123:'don''t', 6.0177:'v', 89.1463:"0", 14.0586:'l'},{"20240803":null, 'ok':false, "300.343":false, 'x':false, 'my':null, 'this':false, 'o':false},{'n':true, 'then':true, "0":false, null:null, 'f':null, "2024-08-03 13:08:30":null, 'back':false, 'q':null, 't':null},{'how':-107, "2024-08-03 13:08:30":1, 'my':127, 'z':16, 's':6, "0":34, null:null, 'mean':1, "300.343":null},{"0":null, "20240803":1, 'like':1, 'k':-128, null:127, "1":null, "2024-08-03 13:08:30":71, 'h':-128, 's':-108},{"9999-12-31 23:59:59":32767, 'y':10592, 'don''t':0, 'were':null, 'at':-20094, 'i':-3691, 'mean':-31947, 'some':22225, 'j':32767, 'he''s':-22120},{'been':-520, 'hey':-32768, 'to':16390, 'one':-32768, null:0, 't':-32768, 'no':0, "2024-08-03 13:08:30":245, "2024-07-01":-32768},{'want':147483648, 'a':0, "9999-12-31 23:59:59":-2147483648, 'i':1132572650, 'h':147483648, "20240803":147483648, 'f':-2147483648, "0":32679},{'e':0, "2024-07-01":984427725, 'r':484854437, 'v':1023438219, "9999-12-31 23:59:59":1464991356, "0":-1015640010, null:-2147483648, 'right':-1652725039},{"1":null, "2024-07-01":32679, 'so':1, "300.343":3340098352553830876, 'not':null, 'n':20240803, "2024-08-03 13:08:30":1, 'q':1, 'why':20240803},{"300.343":32679, 'know':null, 'p':245, 'there':245, "2024-08-03 13:08:30":-27308, 'm':11892, "1":null, "20240803":147483648},{'now':1, 'b':32679, "300.343":null, "2024-07-01":7638913778657566938, 'say':0, "9999-12-31 23:59:59":9223372036854775807, 'n':9223372036854775807, 'and':32679},{'e':1917902690, "2024-08-03 13:08:30":0, "300.343":null, "1":-9223372036854775808, "20240803":7878630, "9999-12-31 23:59:59":4118172974588237404, "2024-07-01":32679, 'get':9223372036854775807},{"2024-08-03 13:08:30":300.343, 'q':100.02, 'l':40.123, 'or':66.552345, "9999-12-31 23:59:59":100.02, 'one':300.343, 'n':40.123},{"20240803":100.02, "2024-08-03 13:08:30":null, 300.343:97.47277, "0":40.123, 'l':62.75057, 'one':0.20074552, 'to':100.02},{'why':24.15268219073499, "1":100.02, 'hey':98.16744292449508, 'now':25.10762981522951, "20240803":100.02, "9999-12-31 23:59:59":40.123, "2024-08-03 13:08:30":29.72741774775952},{'x':40.123, "9999-12-31 23:59:59":43.349578514958125, "2024-07-01":9.620318723002502, "0":59.215352191600196, null:53.491789781900074, 'w':100.02, 'u':100.02, 'look':100.8496464226617},{'e':100.02, "9999-12-31 23:59:59":null, 300.343:100.02, 'your':40.123, 'not':40.123, "1":300.343, "2024-07-01":8.0376},{'i':null, 'know':1.1690, "2024-07-01":16.0408, "0":40.123, "9999-12-31 23:59:59":3.1234, 'out':300.343, "1":9.1678, 'but':40.123, 'y':66.0075},{"0":100.02, "20240803":100.02, 'g':67.0291, null:40.123, "300.343":61.0406, 'did':40.123, 'l':71.0588, 'b':null},{'ok':92.0120, "2024-08-03 13:08:30":9.0083, "300.343":7.1634, "20240803":19.1689, "1":null, 'u':100.02, 'r':57.1367, "0":0.0808},{"2024-07-01":false, "9999-12-31 23:59:59":null, '2008-01-26':true, '2015-11-23 12:12:55':false, "2023-01-15 08:32:59":false, '2010-07-01 02:07:30':null, '2012-06-04 08:35:16':true, '2013-04-07':false, "9999-12-31":true},{"2014-08-12":false, '2007-10-26 21:20:06':null, null:null, '2001-01-13':false, '2006-10-25 08:28:32':false, '2019-04-08':true, '2009-07-05 04:38:42':true, '2004-06-06 21:06:40':true, "2024-06-30 12:01:02":null},{'2006-05-01 14:57:47':2, "2024-07-01":102, '2018-01-10':127, '2001-06-25 12:46:25':-6, '2019-10-11 12:58:12':50, "9999-12-31":-33, '2001-01-16 21:07:22':1, null:-8, "2024-06-30 12:01:02":-128},{'2005-01-24':0, '2009-06-09':43, '2009-12-27':127, "2023-01-15 08:32:59":12, "2024-08-03 13:08:30":127, '2008-07-28':-128, '2005-03-16':121},{'2014-05-01 11:53:11':-21057, "2024-06-30 12:01:02":-32768, "2023-01-15 08:32:59":null, '2010-12-18 21:47:53':null, '2010-03-28':21266, '2018-10-02 14:18:07':-16101, "9999-12-31 23:59:59":-24095, '2003-12-26 06:48:31':-16393, "2014-08-12":-32768, null:21738},{"2023-01-15 08:32:59":245, null:-32768, '2010-08-02':245, "9999-12-31":29166, "9999-12-31 23:59:59":6679, '2007-04-27 06:35:21':6603, "2014-08-12":32767},{"2024-08-03 13:08:30":117267252, "2024-07-01":0, "2024-06-30 12:01:02":496023872, "9999-12-31":2147483647, '2019-12-24':1057360067, '2017-06-19 08:27:04':1144120259, "2023-01-15 08:32:59":-436509643},{"2024-07-01":null, "9999-12-31":32679, "9999-12-31 23:59:59":2147483647, '2000-06-26 21:59:34':147483648, "2024-06-30 12:01:02":0, "2014-08-12":32679, '2018-12-24':147483648, null:0},{"9999-12-31 23:59:59":147483648, '2013-03-06 05:14:44':300.343, "2014-08-12":20240803, "2024-07-01":16401, '2016-11-22 03:01:28':147483648, '2004-08-17':null, '2007-03-24 19:28:29':1, "9999-12-31":300.343},{'2000-10-11 12:14:45':300.343, "2024-08-03 13:08:30":300.343, '2003-10-16':245, "9999-12-31":1, null:32679, "2014-08-12":20240803, '2014-08-13':32679, "2023-01-15 08:32:59":300.343},{"2024-06-30 12:01:02":1, "9999-12-31":1, null:1, "2024-08-03 13:08:30":0, '2000-02-06':-5422143013293750527, "9999-12-31 23:59:59":147483648, '2015-12-22':1, "2023-01-15 08:32:59":0, '2003-03-26':908874642680380736},{"2024-06-30 12:01:02":0, "2014-08-12":-1405535166, '2018-03-19':null, '2002-09-19 23:15:29':32679, "9999-12-31":-21225106740533912, "9999-12-31 23:59:59":32679, '2013-09-27 17:23:38':8976197332663132727, '2000-09-16':32679, null:-9223372036854775808},{"9999-12-31":67.80983, "2023-01-15 08:32:59":58.684795, null:100.02, "2014-08-12":67.87455, "9999-12-31 23:59:59":74.156395, "2024-08-03 13:08:30":81.71705, '2011-07-20 05:36:54':40.123},{'2019-10-17':57.686222, null:null, '2002-09-06 15:48:39':300.343, "2024-06-30 12:01:02":null, "2024-08-03 13:08:30":3.8633618, '2000-04-04':40.123, "2024-07-01":100.02, '2007-07-19':6.543539},{"9999-12-31":null, '2004-10-03 01:55:07':26.097723415157184, '2016-10-17 21:15:38':100.02, '2002-12-27':null, "2024-08-03 13:08:30":300.343, "2023-01-15 08:32:59":46.61054671353882},{"2024-08-03 13:08:30":11.55603544558958, "9999-12-31":100.02, "9999-12-31 23:59:59":10.09826183305761, '2003-05-08':100.02, "2014-08-12":300.343, '2002-04-28':null, '2015-11-03':27.910993942136407, "2024-07-01":58.987070119602684, '2015-01-26':40.123},{'2019-03-23':97.0280, "2024-08-03 13:08:30":36.0989, "2014-08-12":100.02, null:100.02, '2008-03-14':300.343, '2008-05-08':null, "9999-12-31":300.343, "9999-12-31 23:59:59":null},{"2024-08-03 13:08:30":300.343, '2011-12-07 00:29:08':7.0794, '2012-05-19 11:10:55':93.0538, "2014-08-12":null, "2023-01-15 08:32:59":null, '2005-03-08':100.02, null:9.0950},{"2024-06-30 12:01:02":null, null:35.0538, '2017-07-02 18:12:46':98.0498, "2014-08-12":100.02, '2014-01-20 12:52:58':300.343, "2024-08-03 13:08:30":300.343, "2023-01-15 08:32:59":100.02},{"2024-08-03 13:08:30":40.123, "2024-07-01":58.1679, null:2.0178, "2014-08-12":300.343, "2023-01-15 08:32:59":69.1960, "2024-06-30 12:01:02":40.123, '2008-12-14':300.343, '2018-03-03':93.1678},{"2023-01-15 08:32:59":18.1453, '2009-01-26':54.1395, '2019-05-10 21:04:32':null, '2001-05-10 05:07:53':300.343, null:null, "9999-12-31 23:59:59":300.343, "2024-06-30 12:01:02":null, '2011-03-20 13:14:29':40.123, '2013-03-08':3.1487, '2014-12-15':300.343},{'2001-04-24 19:11:00':0.1091, null:null, '2017-04-24':65.1126, "9999-12-31 23:59:59":300.343, "2014-08-12":100.02, "2024-06-30 12:01:02":3.0397, "2024-08-03 13:08:30":100.02, '2014-11-18':100.02, '2009-01-05':null},{'2010-01-23 12:48:57':40.123, "2023-01-15 08:32:59":9.0150, "9999-12-31 23:59:59":89.1884, '2008-03-11 18:49:35':17.1259, '2004-04-24 12:04:12':35.1741, "2024-08-03 13:08:30":54.1214, "9999-12-31":null, "2024-06-30 12:01:02":100.02, "2014-08-12":100.02},{"2014-08-12":40.0237, '2008-12-15':null, '2010-06-13 15:25:43':40.123, "2023-01-15 08:32:59":92.1826, '2010-06-25':95.0050, '2011-11-23 11:32:29':300.343, '2003-04-26 21:48:51':300.343, null:58.1156, "9999-12-31":null, '2010-04-27':100.02},struct( false,0,null,-1775859315,-19223,null,null,37.2770315010865,5.1431,100.02,74.0181,40.123,43.0576,300.343,91.1702 ),struct( true,1,null,0,20240803,6087617513421221113,40.123,88.81641255761033,null,null,40.123,86.0638,33.1398,49.0720,null ),struct( false,6,0,32679,147483648,7456505,95.78772,14.054437621472092,40.123,40.123,57.1400,100.02,30.1275,100.02,56.0581 ),struct( true,0,-23445,-62240535,32679,-4004637,100.02,59.48032060130755,300.343,100.02,95.1690,null,60.0295,88.1262,58.0625 ),struct( false,7,12601,1883471113,1,1,300.343,23.785862298062625,100.02,300.343,300.343,27.1850,5.1412,300.343,3.1449 ),struct( true,1,21013,-1976179111,1,-9223372036854775808,40.123,null,40.123,100.02,300.343,100.02,40.123,65.1650,100.02 ),'{ "c_map_decimal":{"c_map_decimal_1":59.0108, "c_map_decimal_2":55.0377, "c_map_decimal_3":0.0230, "c_map_decimal_4":35.0353, "c_map_decimal_5":40.0450, "c_map_decimal_6":38.0453, "c_map_decimal_7":35.1716, "c_map_decimal_8":94.0134, "c_map_decimal_9":21.1503, "c_map_decimal_10":23.0016},"c_array_bigint":[8064274768209169164, -1309065046790681964, 7173499629410341920, -470724403074692535, 7437197151049107904, 942282412713012945, 3750383818284648328, -5646211083225786253, -8994466578798430486, 6039994438329954154, 4521667299678681046, -1895261861707931541, 671995221021278681, 8935670231062710537, 1858786951493385956, -8121123691397148088, -3180043770546276320, 8309731936393690848, 2160670982783323869, -7349200856324646167, 6428705805418019535, -3550407192424712198, -1807186018767671530, -4359491918505894505, 3426506070596857063],"c_array_decimal":[42.1537, 59.1512, 79.1302, 53.1819, 26.1473, 24.0869, 88.0475, 4.0912, 82.1508, 80.1556, 91.0768, 76.0934, 59.1500, 6.1622, 63.1238, 59.1866, 36.0654, 88.0759, 39.1583, 3.0766, 1.0449, 70.0326, 41.0601, 9.1790, 4.0904],"c_array_char":["rAgFwwISMs", "pgWxOflngy", "lHADXSPUBR", "mUYGHnvaZI", "ZZqiwGYCjU", "LolENTEOqp", "GytUNMTGjq", "qeChBSPXgv", "ucMXFjzfWj", "oEOBSidNPS", "CzjjcjEBRy", "lKkwCOCRuY", "soCOITdYeK", "oAIFYYdDzD", "PjPcFrxPaL", "LQULFbwkHU", "PQTerckYrk", "oSfktcHDXD", "HrgwCCzUxV", "FIPlabJJGW", "FaFdMKprhO", "szBqFPyTAB", "sXRlnmvTFd", "FjfVxXQMcr", "LOVRfopMIB"],"c_array_ipv6":["MLsczfLDJk", "qGIFMFewFz", "sItUtdcLjT", "RtKyJMlaRH", "LimgLZYDsd", "kVKcfEiARN", "aIJaLFaVWW", "jIVJwZNIKx", "XMPaPBzBWA", "epsAiacQPW", "zXzGUUBvlQ", "CWfFuRPOaj", "IdSumWerAG", "ausNvQvHre", "KGusxswJil", "JEygKBsyWM", "WsRxShiqlu", "ovzqeCtzMI", "rBILvGKuvS", "ppedtujtGW", "OCFQpcatHr", "IRKGBhlzlw", "GiatskjUzK", "yhgpBLvBtu", "eOpQumHMuW"],"c_map_int":{"c_map_int_1":-1104943662, "c_map_int_2":-1493310704, "c_map_int_3":-72672538, "c_map_int_4":-259919608, "c_map_int_5":-1264791491, "c_map_int_6":242839743, "c_map_int_7":374678610, "c_map_int_8":1388842800, "c_map_int_9":1536405836, "c_map_int_10":-1963650655},"c_boolean":0,"c_tinyint":75,"c_bigint":-5838477481004637884,"c_map_largeint":{"c_map_largeint_1":3187887993969882451, "c_map_largeint_2":-2616570620295218348, "c_map_largeint_3":6611449108551230123, "c_map_largeint_4":-7811245399064123367, "c_map_largeint_5":-2058577356733353673, "c_map_largeint_6":3479976008861199983, "c_map_largeint_7":-4889910379387722415, "c_map_largeint_8":4646348327046376145, "c_map_largeint_9":-8571845781191076527, "c_map_largeint_10":3567543703822772213},"c_map_float":{"c_map_float_1":30.48557, "c_map_float_2":34.434357, "c_map_float_3":24.87336, "c_map_float_4":40.68244, "c_map_float_5":72.88465, "c_map_float_6":77.18504, "c_map_float_7":78.75675, "c_map_float_8":95.91043, "c_map_float_9":98.62976, "c_map_float_10":49.83392},"c_array_datetime":["2015-08-27 16:38:57", "2001-04-12 09:21:35", "2008-08-26 02:11:13", "2003-02-23 12:46:54", "2007-07-14 03:14:44", "2003-04-07 15:30:59", "2009-06-05 14:30:33", "2002-11-24 12:51:49", "2018-08-10 22:33:45", "2012-08-13 19:55:39", "2005-05-12 15:42:10", "2006-02-19 08:00:49", "2008-05-02 22:52:46", "2001-05-10 18:15:21", "2011-10-07 07:13:05", "2004-11-13 01:23:48", "2009-05-06 08:53:44", "2019-01-15 18:45:18", "2012-09-13 13:41:46", "2001-11-07 09:29:18", "2007-04-26 12:55:20", "2002-03-22 15:33:04", "2004-06-04 03:58:50", "2013-12-13 00:18:25", "2013-04-25 18:39:35"],"c_map_ipv6":{"c_map_ipv6_1":"8101:4161:2340:dbdd:c808:17f1:725:85f5", "c_map_ipv6_2":"7286:785a:65bb:f718:ec5b:7d7d:1d6b:ec56", "c_map_ipv6_3":"8a12:7cf4:554d:3f62:b442:1e3a:39db:a0d0", "c_map_ipv6_4":"b8ce:6839:f8ac:2693:6366:a88:84e8:1525", "c_map_ipv6_5":"2b3a:6be4:45db:a4df:9c8a:522d:b0d8:62b8", "c_map_ipv6_6":"ba5a:b901:5137:c9c0:d494:9d05:41f8:ad57", "c_map_ipv6_7":"c064:47b8:74cf:814:8511:76a6:15bc:aac8", "c_map_ipv6_8":"46e0:5505:ddaa:4301:9dda:36ef:c5fc:ab1a", "c_map_ipv6_9":"f999:6098:23d6:c524:7c5d:8185:a07d:f521", "c_map_ipv6_10":"1219:226e:4e9a:8bcc:b2cf:68f:79e4:e920"},"c_int":-1432460011,"c_char":"mBualPqUss","c_datetime":"2014-05-19 07:08:29","c_array_smallint":[-4555, 13392, 19886, 11501, 9529, -22873, -21485, -29416, -15873, -21317, -12464, -17679, -19220, 13459, -21202, -22400, -30201, 23088, -9785, -1104, 23395, -14596, -7065, -1458, -24148],"c_array_string":["OFXEyLThQLKgsUaFsppiZYzPzoFlFGmxBIvJjZApnqKeMzoGPtGWaGAlSJSgZlGvnbOjhrcUEmIHIjwWUNZrepiEmPeXGLNkbESduUrHwOmmJXJQfwINzKANXojmKEfqqfSbvgCSqDBeJHHJOkMOEvHIdRqEwPFJqfTJwyCLWdsXmuHalJVOAUqlGvMwiXtrQqyWhyRuHZENjNqFjzaqgGTfywkBCyhjCIsnXTVlnfSNKLfwtvYzLIjpVGYYdMuZhXycOiiWbZMefEQGtLuqZeNIBgumYuqVxyittetosBXHRLFaAySdXVsTfMvYLsjyJSmUyzgUuZLReLpJTipIjHtxpgUsoDmvggKIiNUuYSExaaLqLfuxsXTGJOhSEbaoYhBLqGAqfomQXdEIQDmYaicnScQzAhPDAVmBuDDcFEngpuezoqEkNdgSQKRilgePSNqGywbyMQoOadvVJZtIFWfmcBgvovhvKLacfJTiqynIWTFXcQpDcyttAJjZbZbe", "pUdSBvxcVNrXhUyWlRXpGLVgjjicObzTfBRpEUtnpADSIgSeIZMSqmbPWyBjwGUAbNIieQCIlzExdEQeDgKoMhXNDMdYhjrDdGxAAFMBebqNZfFaGHapBqwjbWzFsaHqsPpeueYbVqKooXVSxyZClvHcsgEKZowDFgovIkTweeLFPPnlJFFgwdHbMZpXFirofthHMYjVNefYcmybqQscdXIafKVbjDXamjWEEpSAqBbHAMccdvmyDTXhONLBoAtVKUgYqXjvysWgnayELguJaMUqOXVtdLOQtPDcpMyVvtrrGIXUhOUOxhCsJGmPAeWQtJjdMiJyJDlclpFxINJJmmwumrKaIvDfXxetdXlmsCLBhxlVShKxxWbAhmhxiVvHHRQkHyBdaFfHzSSaoZBjKrJwGFDnevlwPSpsWAkTkWSVZqCfSzXQqTZtgMnKsXbrxzmARUdFriXbNnFwIjcXuBLeHKwAzLUbdMTcFdmPLWcbrKWIXeTyKCXZsKYmPWTl", "OVVSBoldmnLnHwrbHEEnfnByNBViirdOMKkCoUvswymwFAnrzugxnPWqCCxAhjjRasuShQaelhhzvfmDxMbBtkvgMgEUUoVifQRAZfNCuNYEGlnmFwpeuFEaLvhNSZxfEpUeYRqqAQWLQaQYSwLVEZzJddVzgnHXFMkcjvZUIxFAYGjxdSSrIeeRIQgbtEmBLGjmGLIyYaakAeeDdqtJNmgXIYCjGsqGJnrDSTAcrazLBjJMYkvPFXKuMAWmuwPtmBrDOTaEZQKMmAoMTaqXawbnZMnooQAafgpjXFbQAOubMmJXZPIMIPcFTBEvxTrkCBSwfXbrHAERxsgkGqEHkgQlIZEexkWwskEhHCKLrPdjOXtnQDHZEhLapamkQzlTNIscBicYvjSAygHJGphoLXquaQrDJTeCBVtLGYtSdhKuJOlfeApgjoHAzlIoHhijUmwqmRQzzMSRkIxQTsvnlrvTKebFxgGPnmtdHuMmAysKEmEFwjwWqkWPXymrMtAm", "mqLQJWEBVWpViisNtYQvAgBeqNLqGFbeCHwzrkRhOzVOGvpyfHoCzQryyxhkEjAODIJzpHwXNHhUmtvvTLrJtDHrWSxHeQQAgRTKtyapburPumrGScdFbkYPxHCvzkkzOWOownWcyIHNPIAXWQXtcbSrESoDkIvoXEqNaxeaOcdZlYEFTMxaqaCBgtPiHyyXwgPqxopOKjuYobfmMoCvNBBJLbfLwJFkfMXdtFbUDXVjrkKRucicMlctewbNlbQkTpayOCBvFnuNiMTImKFWihSLtTuLItVkVTiKtvxOATqFgIPCpFVpnNCoZhzpcjOktnnpPFOEaszgnqqVwKmQTvoqdqRZVhEVTHNEdlLQlOsUcnIudbDJGytQrdTZRHNHGZyhnevwKloHIbelewuvZXLszyqvbHoaEQSViXOHfpSZFwNvUDNQzZOEowdlpOOMsICsAcvEYIyjELdogEydiDAZvbqPDcQdIhelSpTUMJLJsxbRgigitLLqpNINOHAs", "JCKOBikBYWWemsMnOpGKUUEyXNENUHzwXxnjlusvqWEgtcwMqTQHHlQilCSNoEIhaQDvMxBXcOVkipxNHmtMoQPEaTYUQWBEgEowBiCpVNREbLpEuaYdXboHSCLmGIbIYwNFgnZFkhJWetSzFxUUVsvkvFWiFTOcJkEuICvQUvCnYvBEumILFbLvEZtNjcMROpSsnpteQjSwzDJvOvxEzTdzmbyYYmxLxGTaErpEHXBNDCyaMzKTznzoEjKJigbIrHuNwOOGkcnpaNLopcrQcyfflSqRPKkAtVCgiedUmJCgWsJHGKGodAnyLAxGETZlWxIpnvfYXQoKHzqCSHPSWKDRGvhrHydcJiUNVeSbGzmbXQiBNexcZdgtGnJBrXxcFgNDWrUqAocsVdVUaDQTPIpUDdhInEIcEvscYhuiLbghtCIjuHhosOZBhmWXDmzXRRNyhpmOGCOHPoLQuVKSHwVjdFJgPrzFyqNCqZOAamjsbvbGrnimtEcvuVzgUXBA", "TKiYrGWMObvbuGMGhqDSEMiLEhLFBpJNUhufTZmoDIlBrpQuAijtyWHpCspObWFforhfiCPHCGxaawDogWxqrwBRonlhkyvhDTdkwlUcgiclTAPxIpZspJOWvfDdkDbpectiLnQHZpQyJjVvgdsHzTwrMrLrWDkhxOMwNAmGThBvPrWirvAtiQdyXLiByjkkhstrYpsNiCDqQsPyxiGvQeDmVqDOcdHnZQfMrsUgcjCRkFLxZBeyPIzgyhYTFcZPgNsSJxjNXqwxgvQAkhyaArgokeNyfPqnsTOkQsOLkTzsOVQxjTAUbpFIDMNBNrqqrTZCFbhOplKKidwIdwGZTYItmutgvzydRcbeMuawOUrgqxQinvavPdKwLwuEYvcDZWCqFGQzMfeUErYulLvsgDiscHMDjwZbTzvYcPZGKqmmPYUrbvBeMCFKQyBdrIwtIIFTxgCPtyBDMTciQhtkftvVZmHGKVYqpxSOwXhfXoePCmqDSZgWYhlLoYCZJztk", "vPgjiDXLXUGqqdacXkvXTFVCSZRjBSjTSYFtEJieTZfDHhjWaHFszbTBbaUhJVtDMnEBsajNBqTItrJPcOLnQfXpsfYCGPvNgXebwRlEGECzoCIGdoimVSldHCQXkULVWpYufynqtXRODIPBiLGprqrMhjGtpbPWednWZUoDFXcNQyaLuPmkIwptyaiDCzIqfDGsvucPkWsSVLnhavGiLepyFmoaaRLSeuvOGKtQzEXitzohukulqWOxQujsLhlqCLAgaigwplDHreLjdticHkJEEdUyJNAMAOCjXfEhNvQsnuBrILGhjhkjvtTRZgQWHXqDdUiHVmhpTiomYdsBLQaXTSBxEBKIXwcESSrFWmmwxBdHYPCVzvaIKpbbBVREVlWZjYXOsnvLBtVFPYfbYUNbsqCBWfVmqDTbOFroWSYFQcmQSDNbmWczAvYJTvwEaujISxBLBLWvSZBDFjHvPFbGYllHBFLrMDpzAfCWSDCJgodZqbmsXhPOeQrRLbWE", "PTCJvpIxDEpXRJVpNuNccqLLvUPILhTteVsByPTyNlUqGBCfBczLAGKROkWEsRQGLiLFXprPdqxYIOxZXklMGFnVgcfvFBJmPXSyAswKWEoxxeEwlTCoGNqnamzgLYJjMxtPnqCZVFPTgkKXZyoBppBKlHVRlJcWVYfEUBvAgwOCSuxkGTIcuTHgLEFSpVUAnHGJcWVWGrmzHLoPEcUPphxVNoDiSlcKmTcQGkfANNcFvtDgihmZMZFiKTyIgrYNXRswTQIHdQAGYqWNSyMEmWrPhKkOBVKnmnQPYRUkMxrhpKflXNmCQdFpvYDlgVmeXBKrRWTeImUcjidpQNqTSKfgsamKqfoSlVoSYaaWiVcdIdtdftMgIylsPLPjnVYXpAybKETTFtRMRRoXEDoATplYTSEEJXPWFcWYiIVdzZkKtBQbeYBPQspfqqnRhOAVtoQLmWCauOMkJTLzZYnQxDbPbizyXzQkGSNurKKTEiFpEhrDjSfkZMxopqZttLjU", "HsEYZsUsowLdcnyEpXVYZIobdrvjQKIYauvBkNaWkJSdPCyTkpQHkrJsWlFthFkIyVjxXjJWhohtplPKapVUOkLPmRvFfuvQbrhtWSXQLLglgwaeYOtJRxkuXntkPJFCxRsbOFXKzjsvMBRqzXOlgcLpurpRoyAfVJxCBRKVxQpplOfyvqliUjJsAIRKMUnXCffdmXlGdFXAyMQEbzhDWjqaVBjOJJsGRrtheVzmDSkodRnCZGYpYXJyeGJHbxxXXYiuJOGblGIZFhudqvWEOaIoytLQyDdnuxKVKzzhXLpwiWGkBkFnZtJMOKZGbWOznqJwRyjxdoVkpqvEqvLICdXNatOhmMIXtlWzTqHDExtLTuSWaXfQlPIeclhAeUSedTITcfgxCAXbCopWajuSJBJbEMgqBumyODjubLpmqWGqQzKgNmcCimUZzUBESsIrCNpBYQTdhyLFFhkCBRENyGpntVOZXhojZzJJftYDQvrPcRyaLJHqVlXpGuLbjSlN", "rxyWzbnlrqFqfQsShqwJjEhUrAsSMazkqkSRSPGfpOAAAfVEKeoBPPjAtiEgxXtlYAfrnFbDlNrBNFFoZGBIsqwPSymXafdYFLzDsudSIaQaLIReGWSECZOgXcSolflNHZTqaWwMGKjZOgoYeaIYxlrRjFGVaONRNlVAaXZSDJIKZXzOcMnPNHKDhzzcofIyccbUDtUSnhhudbQnlEXNaTxoCSlsGjQcWpKftciqGaRQCmJDpKVuLphhmlzKhiOIQGWpoMsUMixQmpqShWpUgNWGCsIbNZwOGIUOpfsMpiaanLVTpTzlHiFDlHBwWFrPEGfWMRLeFgWVTjikpCWzktZqLBInBGXcFEsmEZgBNujDdYlgRtcayVyzpJZHAwiLjfpmFBWqgXELOFiuwDwhoYPCzaiIlYZSKMtfQcArNgospbHkgrRknXkJbXpjWGmwIJUlXuXKkBzwRVZUQYacXHuFKsZhspVkLckLSkXBmXLWuVhWoRPAGGPpTQlIidLp", "UkKxcjlYGKAvDFExFsoKAKxvGyABtcLLmhoBfpyjhjdOXdwemOfGSBeyQpPkEgvVIMQrnEkJyGtpLBPOdPUFrOVWefPndzWoYpPoLurVyikfZFcCwVcKSjrfKKhgrAZzcWBTAOfgBHIzFepEQPoPOdeeAMwSXHyEOpBmqBZjlhbSONQeNfWCqVwxNKJvZljpnvWoSIsUgaQKBtOlcoDglguyNmCEtSvGVpJINIebxZOAxRUdHJQKAqzrdgKUuAqxgSjywsLPfuORNYxCdqbEJmEodLILALaqVEuckOzntLmAxxRMVUEMwvETOeziMkSGJEWGKnOgSLCYKZReRsXhdcMlUKFziNYsKwdbXiZhRbjYxWFUMJDwCrhZFZzGJmiEIyIVnAYuqfIsSaMFFsUWrAfWNdBhtAEoWWhfDmuiUvzMIGipQWtlacYQZlmSNHOekHAABrMvQYVboPpJmeUtZMZFQTOSxnrIXOZQWPxuPQCAtlhWArStyxgiSoKbikwi", "jwJKvxNdhiVlxcXdtZJFkKtYDniCUfIqPonfVIAKImRlMXchWPaBnJyDQeltUcRYIaTTObvRXxuydSIaDpVCvrqcsxKDHLYaifhsjrJjpMPYwzLKniOPjbqgHUpZoxMYThjPikMCDiyZRYxIYBkmoLddaGGHPnLvXEDidCIwkZcBowbBWxJkCCsZQOWwjTpAtACumZEXrVEFIqgaUbQRjdDUnzUZBcpfdahnrPWSCqdcmqaDbGjtLLPEWbmUFdGmipaQsnZQxUwIvBSWkaMLULPEJLGttkznvAeqElGlDSabnpHTVWlOcycwFWMnoNltDGnKmGENewYOoRiYVJCZjJqjyXoquPbpTuCzUAVapSsdUjXYcXjEUrMdKYBWDdMVLZjBuPumItASoIVciAEMhKxSWfomkXPvMYcgJYNDEqUBimHmcrpjDTsEbHBdFilnmPIRmRJKiaBYvBHNWdWyMHGBOkemUmUIUsuyhxWRHsmGRCfFczDdTFfDfBdGCXfo", "psviVquNkxUyxxtJkEsfytyCwtWbZUdzxEGClGrMXEYhcTjMJixiwfkdFPlCPYoDVfVbSasZKqQhUVDvlUJcAakBsRohXBtUkFIbDaYAMiWWZLFabkHanrfOrWYlVhcJfHnMZmnHBWYDgzqHUUYXDGbGQpLVqUmrYBCqQqIhGmfrEqcWjONXEoTVwRrtzTVJygqdWBEMyScWKevivKnUMYCRuxngYsaMQzEPICHGGOKrQyFxMUqPYovUDaGjrEvxvhEEViZvNlOaQgEmsSKbRkGpbgaQlgbTicPVNeMxQBLIuvzMsfZTXWBPfNUNrnFadKXvezEqqspbfmuKFQjEPjJFhkffWpETLcsOMkJOlfnIidqJgHHjZpHnUWkzWeKRJVkyBMBnlQhimCEHjWXGGxiLRxwBOUUPxgrISMBDOfjZQDFGgCuejzNJbMAwergpFOVcQADCrRTXVsGWNspZvAnwufCOcgrogkPmWwUAEufDMWoGOIblHlDutRUiAOel", "hHwluPwMSkgqTlwnKNzsVEBMDHJFQEZRjkTjNQrDBaSqXbXcPMIokzpEZDKpBmcfitPkoJhjiPDXqprSkfNvFkYfMIcLkBEgrcVfewPMVzItXVVOdLxKIMpireoOQeBAQDqvBZHjfISIKVUQSlNATZBZHEqstpwzsXOAShzrNdKSUcIJGKXssEksTXDtDdwjISalOHBjSnikwbhqbvsteuxnivshnqDLKpxTCRSGuPwWcJSfOLDcgSDruEJPYrfseDRYgHfVfgxVwmJcqFFeGIlhtpfxZJhHeqOHHGbqvlzvwzGuALtEnZEPfUeZRLWIlNEumEHYorJTOlseyPPFXeLMfPMkENmtbgCwxEOlUqikQzQkmjmtNdowOBqjgtHOkWxjbnbLIMUhUNxbXEyUnATkfcjtttcekxIJgdDinRyDxiydOwOvGRaRRtJPCBssNZNpQYzGQdPiUcaDEEyceVEGstatGBqKcZYRWceuGvSGHUChGiMHXkTPmpppEKxi", "TDyWPVkbbfHruoEVHGPkKGJaPTeVYVHQNpKKMTVThYpCjOGrMxEganMrVKdWNrKhGLxHalOxWdBtVWBknTSyzWRqHDoeVTWolCHHAAEwGLoNVQrqfiGYfdivMnaLAYihizJRPWwRfzpcGuldcjyeLvENlRgAJvDYduJSdpxrRwyvYkGoEVNgdzYibTMWZBNmtjQHZHkLruOdrGGzEOPbsJNbTKEtPkwFpbfFRmhISijowDDdqpxgzqEBHKonYNliXypEJJgfXOYUIggzCMElmcDLBhXcEmlNIvGWgFGDJRYwwZRWPIAMmMAyiJnMhaESIrOatIVAFKriqOSepSZujWSiFAlAgDXuelwvQWvEFKBEDLLWVzfXjtmtEQIxNXSReAmDVkrfhWnyEQnhtRAKZzNGKVpbyjdtZxpIJxkPkRWFaqnjpzHNPZGDMxvtzpGHMcptQTccUbDLPkJAfDQKDJChZnkAGdyEmCopcJvgZLIzuqPfoMVjzMvTQpEiyxyp", "PHqrMnZyDjMvFZBDDnDBCegnqaYraFyitkPsQvGlcAuzLpfCikbbogWhVISfaGMMWjaWJpRdwowsgCYwasQilamAOnBzjwBktPDEyCzukxesewhIacbDVAQKXVugGruaEUeOylRAxDRPjcNaIkVSZGCSYGIsbtEMHYBvfKrykjqJFfrvQtTzSDtgBJPqzlBtjVqYYObaQhlejkFlBDLcnCXohQuSIbiswNEuZHEVtkiEZcHDkiljbuTZzeJqgcYtiOAHPruUrdzDasPgIUomoXjEOFvPSmHahhFhlxwhEEnANHEyxbnQuyYTpzpjOBTUJYnwJHpjDnRwPwssbhKHtdcQkSgtswMsYQVGLlQaazAZUImtXBmaNyDcAFkEFzQWqAsGHOJPWnbUwNsgarRqIBIDyTaiKvuDTKvGPwbSDcjxJDkEJVGZIrViMmMaXjLEMsVNpkopNISBIUyiOVPPXPSJJpYabgJylDWDfrAtSnXFBTGrrzhomPeFbypjHwRn", "xOLZncUvUlmgxOgOjjoVUCBJkanYUvXyvqglSgroCiwExANbNHtYjtFKCFYzLzRWgzETZTfjrCfQXDZiCQHdFTrGSLpzGnlxEgRmiSvxfQeSVehEvJoAEMWDeNdoWSEBGFijmoxFhDxkVLsNSdUZoeQfCnIKWvPHIpiHMEqpcZUOdomcHdIlzBltfPYjRNyVnMftDdzigyvTKpYVEEhDpfukjbeNFjeYeRsCzleEYMNvrBzMwPDZeoFPpQFaDAJjcskjPdzdAPVqBbxRPBbLjtSqnrBmqGkTfnfhffpkyHmSHOofEWgNdazTrqyhFHTBKlyudrayHvkfUvTxXVNSmXIHdytjPndysNXkNazhTNFaIzmHhYhrxxiRjuhGAqsUaoBriwDBCJPOJSvLDrxMZJRrMYFMeSUxUgQhaFZWjyyvKaDLXsoKlayyMSXkNODSGlEUDryluRZWIZujQCogVycFEGjbDKbwdNlJWIXoilNkQROdJpvnchpzwZZEaaue", "kkYWpYHfYdaSKjyBuiwFuDokjrWeGhMQlgaDiURSmaeUNRMWNHKTVcYHEtAjcCSvxLbxsrzQrMApeghNAoJcDepNZPTYeDPmsgzBSBvJKfeEqGhOzvRCzfXRjYmYSYwAzGEHWmZVGBctuDZnJzyvFWOpQNRXKBhpmYylrWekjjYxPgQkhQQTzFFfrPbfcQgOelbupcofNelYJiarhAZwYcFOvWZGPpwdGGiUGSJhrgOlPxAGTlXgATihNntBvSEXGREIMVEpCIvPjHEQaiYGGwAAMWVQwxLyMPupVoMaihjIlrqrlNazgNBLjKymoyNKedOfXbdwzCQOPJyeOHYVbsiPEizLFYDzGEWhhMIMzhrIhVgcsorLyYonBQWATtJYUkvRJxmKiMgbgZyyYlXZtUhjvxvOFINThCzWtRcawPxBSYbxXpErmHjEpiSgdcBrirrBQwJDsHyQAfSHrdfuqMWGlHuoiEipNDXUWvCOfZWjWJYtadrYhnJsHGiJiRiP", "LZMguSpVGdOpFYtqmxRdDCCbyrJzZOunxcuTqYOHTCsbSzXEDAoxKAcfnrIIyGInkBihHYMxPYbslNjUbQQMujpLIAkmWwOaesDlEakQdCSXqzjJVQjWhFIDkVLLtnsqbEIcgoYeCvtIOPAnFBdQhbsQvwQKlyojQCmZBcXUUhdndTONBOYYBbcoPmxrKOPWaZEOmfFcsLdVWOkpIuDQeMEDMCwXqJgDYCnxnyFPyClJxLqQofBXlKqgcyPwMRrEJFgmnGHtZCcriVpZjQYjeWLsQtrISYEkdlCLssVbhOdqMUtOtfhCUWcpLJgoonHkkFaOigqDTNIspICkdNPnUuIeGgyOaWfxnStVSxLQBediFAimHQWNjbrdLjMSyVRWSQtEkodEzaIGBttQbmQQHGinVTgQtGkHLnkjNnDXQfpXnRbQiydlhUtQUjudOBeLHYLiZVMHZjMgnrxzhGMsezxyDnOdJnHGIXEoPetDIusMsmxViryFxTjgLscDIkXH", "olnyvNqWUpjZIiCQjBRpZpmlkLghumfAIjIppNrsyjFdAJYETDdsIFTIptIAASpCSupVdjeNcexULLZtvyknlUrCrOidmCHFOjStXJeZnwYJWOCvyTfKSNjRzxdlFreKfsiPGzyrJXBHkViyXFFBMgBcrHJplOmiXeYoSEvrIQNXaubAbmSZTWNAjzeQuHQTBzCQyWCxGTcVzGyXECHZPaKkABgQFKffIArnGknqAgJcCcuZYibgmFdRpSpMtTNHpNXMBUUFtMYeZPcCfRoVMhTODnNqAHFLKjalniQvuTAebWEwfqFBngnjljeQThbxORKoutFhgNvHafbaAXzozrvgGxZbSCNrKGvqUGJcBqSeMSPMEzHNScRjszQqOTpDONBQSnicsfBWIcvUmZyXqrPEfGXofvZfSdpVBxbVxwSKpMtUfmBqypCfIgNTLpFrqtqaPHeDcJouTCbkxfNOFIyUizzCfDxPTjYEVnGIdCpGfOjnxUQoeSbtKTzjlczz", "luNgwgpHjPHIRwMsLNBLvPfjDtBPeHuVcudxgrdpgOnyRGyLjMPBsUQISTYacwDJmBFWKGcMKGofiwwjlOoRCUtHahPHeGqEljMXBjThshOPiLgyIBxpsjjDaYcrujMfxTzdEIDdfbsAvJuYyFRIZsekUbZWrnrDWaQZOCXyRlqwsVZkQydnQabjyihKbmZKPCIGMKlSeayEPJRKOBeyRIxpJftDaoihKhXpVyvwKjhDzmniZVFVnWkfrQZGlklcUkTgfRQOSFyqbebRcqcbHewUjLreuNCAnrcjUeHDeoEZOPTBPlbYBSaWnhgIKnibzCvuEqbBXrEBdTwkkGKxKYnJTfUoEUFEKQvtWOqnLHguQAapLhjZFSCFWLGmgpiwMDgWtOlRnvgnvZEVFjLptYyvXRfGfHHMacGckMzfhKlLiVikgVNFHHgeFvHTwlGSFjTMHTJdXxoHYxlRkEehvvxGmAPMWtggVLcLajwxjDijVfSdEvmqgLmBlfhHYnsK", "EMRgccZlkEeWwgIDSBTtRjMhQHDvaCLqidpUaTpzkdqFTThrrqBbrPNHqjEAOokPZqiACJQhHZjuJFkHiqnjoZXFmooLLcoRvCOAfsoDqOSQHNaRwfGuXtHffsogJUlElRqQekjewWEdHMmOsTzzaQRKOtwJKRjMeZGdQXmaSvwPpTFehZjEQumyXWOnVVtTylzMkrAhPISxkEvARHbcVhOSNFThgxNqWHjcXBectpvBWkwcvVYxNAxlYeJJTLuRwLgPNHBkDQlyZYLWFrDMgROFTPYQLJoNheJKIEcGuItHWLuALxvlVoYgqMoLktGoIOaIyWSianTZnVgIpBpKApTaqpxdtlwjhfQmgWStwJMKWQWSwQWfuhPDhrVlbQoteTwciRZBngQdmJCFccrdCFteOpzuYqXzGBRdFQUSuzRCOFRZlTYVDidwtUvVzExRGaMRMiGKhpbxudEDyIvTkuhdPjdtUSCgcmqahaHswbdYRfvEWGneLMOUYjAVgeeP", "KGVLQQcEaKyfgpOFjvnhMutEjzyXRpsflODkWpfWTXlMruxrhadJXeZEczVcUwChkDozWrViLbiEXfHCTmesnEunCAsqQifKTlbzudPRajkjpakwCzZoGkoBKYgEqFPwmYNQgDEEhFYDUhXAcLfmHgwAEBRwjxLFIIajQbBVaihppNXSuobSOqqHtgLhPmQXFOLxpboaOSMebtoGgYDZjYbenVSXgzrpddiInHKkGdtuLsLDaBYIghiLoDBtiTrzMHenNyPeBjXIdncxDpXbzkiYCbiqOCWuLmiJvhmWtMgqEqKKLcpIMVrNdOLueZnNQnlEImernoPjXriUSfuZcNKZvRUbSQgqHItbFQYGJqbONhAEYDMWcRunlXPCPbkzuYNfBZIlvQUcAFDMXQgezLGVhLgcjbJlIxeLWYSGYDfGxfgJGwkaaeuLUrcXGJjdQPKZZpiRuUIfIReOOSzJNMXEGXbinKjQgnJEImuovdeudSpwzpksabKYrxeXpCrU", "lrJKSgUesLuWvqydijKsLAyNPlkQuKKkiLkTgKPUtpUNNFegWSEgYzVlrkqtiVyOyNBcWfPNjUsvNjRmNNyemhWmpPgOxpzXIeIjJPpbcTeMdwziVmcnshOuNqicdXVfUTXcUCKROMjgJcnVlWbwXwJIhDVMtBDlaLqtWrozYdCWoyEXlxurrxnRwGxbUrCxNvayKpYHnJXnpwGzccTiulluKBsKOweLVBoRFkliWolCXuEiIXqpBJgRKAAKsdHsWLMEClawmokBVsSHjrZexBtAyDIOgyPivqykUgPwXMJlaCSnMLGjXNJkodlQiKmEjfIkMkiyYPLgCQwXirUiFIHjAMhvuqEDiCHqLzlpQMRxshROahLRfJazPZXUcjzqckrTtQCEnGibyhKGcYsDpyrFgYGLqwqEDGMPLxfDKWabbEieNKDvJgxoQybGRMQmYeolmYroNnZDkLZaUxaWarygaWqJMbjYbUEzjSxzgoneuMjurkDdWIXHRfceGeXy", "oqtNDAUetaibgzhqyJsAtVdxAIKAifFFKRhOwumQjhlbqOlREaltBNCJUJUxfcQphdSSmCOiiNYhChoNdxmWfjMbmBEUiiEFGHCYJSORIDfZJEUREUOsbaFPKPWJJDNZEiQwEKGoJHNjFEDekcOsEhuCtyCDCocvwtrojEqhTHaSgQOwbnZwKanXRRvXAavqCoCfnmYQiobdzOqeCUBBZHNvZjPyFJXScVcGXoNkXzOdPbensktSIRdvtuVGvMxzcQrAUUvCyqZIKABRTBGKTsNuYZwxFUtVPOrQazegNfHRBKpiPBqlLcupZXxWoBhgrenWDqpDCYnJfzJyRXslaziqSKqtoUPDiMwdAxJINDFUzcXftaiPNcZqmlXtNsNomyiWkUVTMnTruAAWZbBdoPNDBhAzKSXvSrUyspmDXkwZqEalpmKmYjQElCdpKpkizXGXRwfKOxbpEwiEDbCJajXCPqLWCABNBYhplOVkzdOfzQMoCsGsqxSPfMUPTVek"],"c_array_ipv4":["KQGJIYJbzC", "urqIIMiJfc", "rdRSzGzPCA", "jiUqbCcLuB", "sWgQqOZGUd", "zwZnDwLBhe", "vbTLlFnSUP", "fMPGSLZidq", "cXvroHuIRN", "DuoPUedXzJ", "aSkDdyEIGi", "CRdKAOAEgC", "bjbRHrYHuk", "KVJFsqzyyu", "TcSdqoNSNL", "QSalsFKIHD", "kJncWogzFw", "dmbhiUEsmQ", "RZYLqSRQvj", "zipAWkNojm", "bitRCrddTF", "ArSKygIXHH", "frzYLmpyeF", "drHduQxAgf", "OMtRtBzkVQ"],"c_map_tinyint":{"c_map_tinyint_1":-78, "c_map_tinyint_2":1, "c_map_tinyint_3":-13, "c_map_tinyint_4":70, "c_map_tinyint_5":-61, "c_map_tinyint_6":-64, "c_map_tinyint_7":-18, "c_map_tinyint_8":-105, "c_map_tinyint_9":-95, "c_map_tinyint_10":77},"c_float":19.570093,"c_string":"ITrVTeyYkKnqlfHIqPbepppuxlvyVnujOPiKrEKlNElQgHbkRjnNtqDaRzPpizfdbBKstSHlzSWAlWyRvMPrUyFOaEIAHLnTBPhwVETjTYOQIyGyeMUbEJqivaMcULWqgbXtKlaqmqIIkgjKKJdSOCcpKFOayIFloJJoJpNLzuiukliPnvKVBYyTpUAMGsffEAFxizIMqNzdPRTotOSHlyxWSGmolXsPIhQELTinzmIyPBfBOPYuDWfwiVtexiXyWWLilpjGKNcxnEKitTJufWeFFRrsnxXScqQRBhGLeVBfpXsTaxfznqmrXztQLnOdocaMFvrXhlqJMGuvbLsyElxauOWOjJiZDyfwbFytpMGQRhglBqzicgSYciewGBmquGmvLCrHOKbIHKagEXlMKyryMdJPCzpIuiRFcMeizDPpwqvppeWXoNwaLrKeQnmKNPFijWZEfGBwSaQCOvRkRQMtPKnxjohDyxhfvEtJIWnZKsEHVgVIUNybfwUPtUGx","c_date":"2018-04-09","c_array_tinyint":[71, -69, 57, 15, -66, -105, -120, -87, -98, 88, -27, -100, 66, -120, 127, 64, 16, -81, -64, 33, -108, 122, 86, 22, -123],"c_array_largeint":[-1042383019714479115, -8394290669137603776, 6026912770271846069, 298186108416383452, 7348646355366075796, -7060590547586626327, 3135030280254442845, 1854826357992769515, 7824591838015871370, -5882389097117610805, -8650313288997282658, -4023794409332357564, -8574659878887442626, -9089235489216943969, -7231970618397439774, -3361975094561171010, 2933606160832533886, -5984062699767149751, 4197621428759399367, 2836929218712263842, -4383482923685705181, -8667051361487487700, 2159808427467119140, -7512041303113364169, 3679242895723641964],"c_map_ipv4":{"c_map_ipv4_1":"72.177.174.193", "c_map_ipv4_2":"107.107.72.83", "c_map_ipv4_3":"60.53.134.60", "c_map_ipv4_4":"50.145.16.236", "c_map_ipv4_5":"208.94.17.79", "c_map_ipv4_6":"47.106.19.8", "c_map_ipv4_7":"42.212.25.120", "c_map_ipv4_8":"5.12.240.149", "c_map_ipv4_9":"109.22.23.120", "c_map_ipv4_10":"52.226.151.72"},"c_ipv6":"589d:2cb5:73d1:e2b1:5db:2f15:8f:720c","c_array_boolean":[0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0],"c_array_varchar":["HuVAcBucnHaNUPyqtDfLcHumfPJRQJFDyEtYhKeffjGgMIShyewfkIVTdetcDnqiHmXauaHIfovqqUeNruDMiiuopXBzqRmLEFiZAazXyAKKktfmjzFjEPexPJfQzoPvYGbjphJlEwqqLDFUbPAPrvIwrjGcYdnwzNJZiqgrsVYKEgovhGdArMtrKcZJDNxtgGJnChVvhdBqbsucdGzcrYByVcDIvKRfeMSHHITJzUOkYHcKuVKfDBOFzkdpiTzG", "DfZtxQkbZkITNmxcrAUZPoOnYHyOqhHnxdDejVSiUojeIZBXRnEvayDGqlwXWQekqkBabsEYwMnTXyiHAPchGeYqLoaOFIOTfYIumuLTFKEyjftJLiexeVcTQhCdlPChybfDpspLVoUMnSAsllfNcpGtlSYfdAQMuOakccowOkIvuNQfxUilsWdSNnXCnJUFQjeKUcSaNYPSTzhvpEgAJHwzIwepHtUYDccfzyuiHbgleCIKZARcLDxlmgxgvhIh", "feMLJnHQkQcKRYFyZozKUAjbhZGZZTDnbPDDEaAlcWgJyHqLmpKWKBPgChcCBMHpTlkTIzQdDKpRkZAPVrQeMAXZsdtWVkrFiwYthdsjjhFRboJqypGsODzQOlDNJlGnzpmpYQmhUGcJcVHgIHouSjEuacOghwUCQNEYVdMpWZJSkNCxDbBqkXvPYTJxcLAsfzYvlUOulZiGbuyujVPdhRQVXwqhPoasByQbtlYbGqmkkLXffswmZwhvCvmzBAhr", "sjFldlFgyqHGhNonSEKpHRzywytzTkOQshIFSoDDynHiLuMULGSxBUIHwjepVLRSmwdJERNANXWRqakbVLqlOUMvrnIavaPulOVNdablyvvNnkkbVsRMpWdUumcoavjhypGSRcXzThyKxBXXkhlPGThylnFSkFsvlhhOoFWXSxuycJopxlOOXjEZqwVkHphBCvSDFhqSthndSMEnfWukwYaVSAHpnyJgnOzrXOhkgiOEnIPFVozUOwVSsSEEmuRd", "cDWyNEIJwKqgSRXmIHGHNGJgVjzAOcgzKkzBSrPxJagmskhKEPyaUUHygUuLqinoPIupmjIcPCOILANqaJZREnvEePKEPsLVmccXgKIVZIpUpwpogcESwSojTmupRoElMSYqbIjnZqoEpGyLBHWYVnXtiujssMHYPnVDWjYIoLHxtcHKuGxAMeFWCpHwLkLBHzqoYlDZerKMULSkhwWhZdMsqdFdJebzkNRHHQfXpyNWOCkIkBqvRtgoAkrMyIba", "cSEyZzPaUgkAzNMKkAKwOuTmuGejAVrQXmFDxOcQWyZLllWyHPsRdAmjtiXmgITtjUwHEzERuSwwNIiibkmvHEaxhdOgYCzRJNIqaENYtwooziSORugzIDnOhoGwjIpIpvunhnAvFtSHLoQREOfZSaLJxyAtpbhkzaZqQGaiicwTTILCOeVsWFMiphMhpKKQKFZdAgdnhhHmMWVQoFehLMtkuISNTPmdqXVZATiZFYopvubeIsEEymbVBYtlGzTL", "qXAjAaeyougvDXPbWGTuVIDwWilcFSprMhLSQJtEOovvnzyCBHCBTnaXyNNXqRMYckggDPvJUfvJsFpkdEUXyWFHzHudoNFPmPDBVgQwNbwPJqOjkDFPKldtIBWBWZMwQGLCBDXdLuKMrmOSCpKLAAIDboPmvckEoxtNTtvpGCTCpcWEisPeJVSxrdBBqppnJPEXwLgHRWordISsgYiWkzgSYfnUGAKPvKDdQAQLfbAvXnTmTaDcCDbxYJNsAXOD", "XGJXIazrosfapWXREcJbRPLHzzzJWcFPWNRtboaZjEOmKpFYjFPtGMnLZgwZuGRpczYMNafqbMafIDWjfsfTRtTTadOtywpQXhEEGIgPCVFGtOjPFEhTfBKzcGDHmfRcgMIPpWwhKGTQVEKeHaUFXGtbOuHtgjqPFylTRuKVoYCGcrslAyJaYcuXDaccolUIkGWXZzyIAJuXYJRYREkMLryldyBdcJJncpdKofXrEUuasdfujpJTHmopyBQdPxkY", "HPgdkOFdltDUoUOyltmTdGjKPYwwkwVUIeTQIOKuUsJBniDqujXlDiFeNRFMDcINctQRqtscUrDmbYQiKdZjfOqLpqGxOfAOTlUBzCxRSxvVNDcJlfLHutCtaisKNAVpSzIsGBnCDlzMLmcljCEpRPuZunTdgpBVoAOatKUvhhNLWcgVuIxKmjnEaUggQeEovYNFFHZffbPomlBdGCKFHuDpSSLMLTAxdAjOKnTzTmwGeqXmNYExGMIIfqPwecRY", "HNbGzqsNkOGBjiFKPLEaTxeyCYYmVLwUUYeimmrORgaKTDLZjqBBhsrZVxwEjIAdtuYFaUYeFNTFSLgCfSAjdOjBpFvuUUnckXpBjXDUhulRGENccVwXAZptPOaLkiUUySgFRKKvetpVoYrScDiIcXfRSGkSONqrtBwknvEqEXDByMlToboOWOjFzVKhZGANutDCEMNOTcFMhfGfJHKFtxlBvPuYZyibdVAGCdxrHxMPIwvDaqSlvrOotVmiglLx", "theCIejIGDtipzlfmJXUVpYawvODhGaKYolkWBZJXrUCTusrZRQqRckoNeAgvlZJickmKvxzGXmTpzEOdEduLXnzwqePtCvLvlKmODBIOQHJGEaoCKhhNOBmNaKSGDfeBFQBVvrHhIkiwEaaxEcsimcxFcnlmBhMbklcCODoftkuJlyjUQNZRupiEyzRxkSXDQZSSIWRtwbYztruptVIhASBNtEqDgGjcEmicaGUQkYtlTZluEPMmJAyKUMRAFOF", "MtAWQDataxEwMjgtfeaTZeiIGqLOwPWVsmWqkyCWZVXKyxbTDMIphUiguvUwbPWAQPSbqtBbfhYmvpCQLgNuASNzWSlWoJrDTryobsqZguiKLOcVORdMhZYIoUBtNQBbemxMmWikpAgcbKcEITSnmZBNAblkCbmemnRcSxwExRQnQFiHubzAydFZHLmuUSPijmzrBzaFTsQXagaiUJFApdYSdcWfXjqlToHplrzvAufEOazPCVXSEuAragwUAYED", "blxEmxolkjQRhPPYdkcbuKRcJFqAHFaWQsNUfoAQyVVqPmmVgpKAzQyJdjNblffkZGRsczdtkCAimYcPANkhhxIiiisNCXcrHHeWUkenblYfOYBoIMGYMflrkIfsnyoQBOCvsmCnQFeCxahIrUjfTcBhMbFnHjGdoqWraZKoHRGBQuzwfAiJNsXGCYXndsAQITwziTEbFTpPNAQBmUorOHCgmpAxCFRFSWeCgcFCrfcHPFNWwREmAxFvzYMMBsob", "nJxpjYSGzWoxoJFcifVqkGbIdZmuAeDuCVDoNlYldENMCJDTUwqnFMfusgPSlFEQiIAIqRqKlufCnohCZAxULJNyqmzLbcyhbmFiyquHbdahgBXrJIlkoZKVYhgicHUSNOWuMuxxGxdFqqCaWmlPZnBmgaOCxKKYqTdMyYgqWkcurePscayvxuzquqSFIOqwAeKviduluiKCwZhrzcjYhzhYsnGRboMMpuJzsZHDRyTJMqmTWxdhPnCqNEmfVnYb", "ajgzfxPndEMnrRBmKEeSsZqVjBWsffhxYVjsaftGfzHnQFJtJFdVIVDatLnCijTclUpIggKdkkwnoiTQJYbghywTtcofWVSpxBWaiRFqWlMnUnxMTumwYzErVbsTxFeyuMizjmMaViOZdskQgMUnvAxlQxcnvTNJysradWOOGJNTbtIjQWOLEXrkgKlfHUeSeAVXDxvGaMMvzBIemYOIOubpBMnlEDHCwIenhYqrzoJLXolurcQXnWxwYrUmpRBx", "cGbEMrIZFlycSXTzaUSdmkREegZSabrWTonhtZcrIwfNYZYSlMkzlaioBZPUgzCtWtelzoeseUMclSRJcojkcLHMdPkyBMfkYiXMMDTNuvsAhkkdiVlAAgXKbQUtbqLaEGdhRVCXQTEnRsxlktnkMlwTWsHLtySCnRzsCOKJAvHjpRlJWwxRdHXaOKNORlppOMhwYQmUsyAwOeCkDnNWdcplVZwYXSSsCUCqxtUmSbWUKWawuoFmGqApiExzauSg", "rdQJxzkNMZxYEpFSPelobIXRcPRDpxBhmdaljPVLJPGzzYFxRkDpVyIJmyIXpIBPiIICqvmEulcDbCKbigKHPBZjGxlsJPwZWrekQFuFoMiNKhbJIKCruXszqsACQxvhGGPKFbfWmvQhstdXFalmVguhuhjeCCnjjVwbIhILFRlXWOxVOlShCfEWIKfuvJapLXANzHPqkrKRUoFXLndREYvxgPiRKyFFiPtaBXQuJvUmuqtVZlsfXXEFETMLCmZD", "QkSRemzhcKxwTuWkghXVSqglXRUItznHLOfZPrskKyUlURCSeKwxgtJDQabDbqpbnbmWSMTuDluVkOlhOrCPPRxslslWGBjzkDxXcjkvVKBpmKoEkROocssOGQImxltKNbTUzmZGczsiJShKJnCjvxrlrhfiOKqQKEUoNQyugTlbQbuxVKVizsyAYdyMSmlpzYFeUHUryEUxaSSmxMrMgZGmROzgRhCLSuusXTHmEZqAHtmIAEFVsxwDhkdRrIxA", "pTtvPfkVRePdKSSrPzoKUvnrznvuXEBmbQVNdjxnnkcXcZYzWhQmBVkkAVLfsomiJPekWgEwxTngaxydtiaNMbOpYTewfkokizDyafFYiatZajiyNVMMGueRmsDxdjURmlrbDWiLdbmUuoLgNJfzKMRNJlkasGqciZbyWCKbGTNBwprwapJxVWoLIrYcKZNbJSCKUrliJihUuDNhpeZyrRaUsdYxLFKGPXnLeLQoshUEjeqzUBhyOMEdvnllLZiu", "pWkQEnLJYYYovHRknHOOWaVIWwBupoMkLqwiojmTzmKyVngvMnJgJpUPWBFXyrpKkiledwkPzqHZxrLLHCCnwWceTIFsEmdNASSJKPqwwTJZgvQjMebcZZsIXgRJjbjkuSGVZYLUTYiRAQFcTMSrTWTDkCdGUTyeuCTewZoCvdGDGfbHBNGTZKTyLVVYbblwLWrGRqogPHhHeShojDymWGuEhJvbHSAQJGYsQSpkvmFSSrjCLbZqforKWcuHoVmL", "EcQjKXSGXsMLOZLvhzjouibYwMuVpcqzIpDhlHsdEcDUhFFYGCAVDweTAtUcfOpDCQzOkjGxEnVyooKAOKqQtOFKpFPDyQrWPhcSRsgXzjlHtWzAGuPjMLJZjZusjJpnvRKdPBhvRwDADKIHHKkqvWsdjxMxOXTaKYjZeVeMCGQyCgxAWUsAQJnsUarZFUBWhFcXOFYeOTjzJDRLySfXKykUNJzFsbjeZHKKuacHighgFEgUouArbwExsSceXkmT", "rsmMdpbBfYNBisxlGxzloqJnzUSdoMzTBWyGwrWoihjNXJWyedqoDBIAXAjSXcooRjOrmtXOdQHBNUCYebRUpwJNQYHNkHkpCHSLTeoMqCELAdNJIIoHuTurJdYSvibUfIZIbLOJVLTAskPfJSwzArmMgfmhKNUaOpJgmPFASYNALxNuZoZAgmXIkzFoaOhchoimXUuwocnYzdnSoICLjNRIzaRnRJciaUURKUqIMYrAyqSqMtORVUJDMeSUlAlV", "FaLQDSxULBqizhopGnQytAIeZCYFdjKdrreZGFNkkLGYLvcrqEjgLMbgdsbTLeUymdeEaYbMrOzTNQfcgEFXcCOxmJKLJpgZgWtnFymIYZmheYFGxpgdjejuuGdMQsLeXrbQFbDIPpSgsugMduHvRfmPdkXQvubKQxUaJgCxAVzLHOzpxXIDfQetBEjwAFZsOlgDwgCNnIaqcCsSgINSwLfZKrCyqYbtIrZjHDVeBXyrBgqtzkefgePNyHQPbvzP", "ILUxbqcbBnSVNvNNSENfBUKDehKZoqnywxQVbBnCwkhSqygCgYOUlnxhhbcZCztaBNCrrtvhBSqGoaxskPDlSUhTQxgOyeIQtJCxpyRrtJftffWDtaunmmgSsOZfSIDCUyAPMgWSTChyfCJaIKiiwNRAsxKnWsCfVzwBPThRzkMYnzztuaNGcNbgpuexpXeWEtnUIcaANRPiHSBlpogfXBZiOcTtQSVOIllCwtfCbHWbBsxPgjiPeLhlVNmVpypC", "xFhrIxiiGEdRAoopBKXyxDiJIacUafuCeMqjbCToCeLpGGEXTfEvoOPcvVMrkCrpFFyfsCsCNpvuZdDRfkMMozIiYxZQUqjkhTBITGAfpVDPBkpVubaPLWnaGimNbeCxxiGRXAzCPSImVKeDZpjGluwtGJbMrnNvZWPmBGvDzKlrLsAtAfzGtlJleBBvZzKmWivxcBJqNSpsBpvHGeJdQuFcTkyEOgxrCZCvmUkFUVMRXawsyqCVOdvNOVsiZWbl"],"c_map_bigint":{"c_map_bigint_1":-4086514219651631782, "c_map_bigint_2":-8181484048771378614, "c_map_bigint_3":6749439566469350399, "c_map_bigint_4":3729069421060714451, "c_map_bigint_5":-6066956233420444405, "c_map_bigint_6":-7403840037852572838, "c_map_bigint_7":4880658249890952881, "c_map_bigint_8":-2827022177751521849, "c_map_bigint_9":3998838724491660908, "c_map_bigint_10":9068149439455498433},"c_map_datetime":{"c_map_datetime_1":"2014-02-22 06:25:24", "c_map_datetime_2":"2012-07-08 01:24:50", "c_map_datetime_3":"2008-10-13 14:23:34", "c_map_datetime_4":"2009-07-09 08:43:18", "c_map_datetime_5":"2001-11-02 04:01:25", "c_map_datetime_6":"2006-10-08 16:18:13", "c_map_datetime_7":"2017-04-27 13:59:47", "c_map_datetime_8":"2017-10-06 18:20:25", "c_map_datetime_9":"2011-09-27 20:51:04", "c_map_datetime_10":"2001-02-22 21:38:32"},"c_map_char":{"c_map_char_1":"leulRobHZa", "c_map_char_2":"dADXqSOZgh", "c_map_char_3":"WcRXYaATcB", "c_map_char_4":"ObzKjIsZRC", "c_map_char_5":"mGNvDmILZK", "c_map_char_6":"pEdcYBSmMw", "c_map_char_7":"xuhRUyXFtu", "c_map_char_8":"CdXAdYKawX", "c_map_char_9":"XnKMZsuVJn", "c_map_char_10":"ZWlwzOGTsw"},"c_largeint":-4705235757199766195,"c_decimal":71.1402,"c_varchar":"want","c_array_date":["2013-09-26", "2008-04-11", "2004-08-06", "2011-01-15", "2017-04-18", "2009-06-09", "2007-08-06", "2012-11-16", "2001-12-15", "2015-07-03", "2001-10-06", "2013-10-23", "2012-11-25", "2006-01-28", "2014-02-16", "2012-04-28", "2000-09-02", "2014-05-13", "2007-12-27", "2015-10-20", "2007-12-26", "2002-10-02", "2014-01-05", "2012-03-07", "2015-01-07"],"c_map_smallint":{"c_map_smallint_1":-24003, "c_map_smallint_2":27429, "c_map_smallint_3":-5348, "c_map_smallint_4":-9389, "c_map_smallint_5":31360, "c_map_smallint_6":26212, "c_map_smallint_7":-6610, "c_map_smallint_8":26541, "c_map_smallint_9":-11539, "c_map_smallint_10":-15772},"c_map_string":{"c_map_string_1":"qneyIhIYYfcdxcWCmKnPWlninONbEHLnzwdhGlwsRSSKBBQydUWYRqwQaHiSzRSNYReDKCzDiIlFdvMCSTvpEqcpToQmNdcsusMjqMAcEbsVPPzYoBzHzCndvbYfiNwWjSjvlxflVFiHNDgPBrWIiMQYMnFdVDBZZfvXnbMhRyGfQVAHDWexKoHikoZmKEinCPxeLFiZgylCFRzjBlRMgxyPSuyMrggoFkIeNgvXetKZXejmozDAKSUMAGJTgmZAxzQZMLFeCUiBZCOJcPmghAyuKehfKOZpcFFHOjuZBvIWVVHPxnqBRciZElvdirkwfgIWcQTQRKXHPzQeDMIbFJetYqqLZzjYifTmPTgqTauFfkjlrdLksQHChzJwASPmlXGxYoWSeONDUsXoiWxCgazIhROyDUMMKrXPvXvyZAZcnNbTIhGxcOrDpVnptQWpaFvlOCivZSbFqZeuBXiouHWdXXOZpsSBMwqoputlSeAejVHRcfwBdjIEzKahWZob", "c_map_string_2":"nNaaylNlSRgbymCOCgbdrAQZiHlTDSNzLTBGAKZitRpLBnifKrbZkWhJuzoZZEVxWIGGkthaVuhHGRderrXPhcSxPjllqgTQxHxghrQaRHlDjypTEhLwsjtmRbtrMWhzWCWIBcYGNCXzgGhIMHOmxVkOIfsIeCqUgTPbHneTbSRGYeXJShRAxQRttbLpgdeNuokKKuYNsNVBVXYteuWYqnBNLhaADcAYrQFuTNjvsLSyorvTfwQIFSQqdvrfyTFFOWLfjNzkXXINtGRLqolBrPFGLrjENXkSuxYJECJESWDvPaWmcGkjhdfvNxivRgYqSnudDjdHXONbBnXEQemDvoBwkXwZxTOjtPJKJZQpnKZebsgyaiAuSlEfvBjXBOXIVkJHTxTBkMixZzsRGrasNXOImKKbUKhmFkckUIdapmFmavuupglpQZBXNJshSiyJwzoedCXHddTkZZyuPofGFMuHrhwJJVxpoSrZReWZcgUscqUuwofNANAwZhNLsiBV", "c_map_string_3":"wsqZNDWyzcxFEdMhNBrGGeuiVWiNUsBIClVnIOLramBdIYaKVZvGEOCPoZHtACImeNCtDWhBUgAPHWWnBBBxBJDgMLQycIBjkTxikJVjNTiwWUnxoTBlMCcQAUGVuUHUvpMkdhQFouoNKPikAXHGedhLxDowvnzJnLsAaiLMiTMvMxvrGrwNjLmrhmYbgFbkXXUbzTxjParUceZExkNEbVtlvFeAwyoyZMpawRNGVujBhQlXwCKUZtlsjDLiNlHCnQJqDkOswaxOSSZVbMDPBPqqOJSpVXzKpCPkJUlofZfrKokcdwVrGJSOqqagCwvmUNjuWdxjmZcGzsLcXUynVsVmOUvjpsGXGSKJhgGSHmqYmdafslkDqdVMqVwxFhhZghoFbtWZkwdAWvHTeFrVZTOYVUvcPeAjZdCbCzWxtmegijKYwjcfvLvWBGlGCGYQJOZuGSinDcoaMNopCvHBlAleyWNOniJBxOTCMOrpNeiuuUCFahhoVLUdlBRhIEzr", "c_map_string_4":"nVDdygCMeJRmkNqwCsoNVHgnmBIUIAfzbfKuvHcejZrEBuEPFEtnJXULFWlqxqQPcYKCxJMNJrOyJCGrrdVpqdmRYhcRMTOyDwnLwuJhQhgGDgFRveWmnMDDPOtapQTBXegoooRMTbwRfDmlOwKOxEZtBIarfXVibkLpTPxNHbXsarLczIjbdyhbEYkGDjalKcEPKiWksoEnDxvXpLQqASrNGyBQZkHwRSFDeOrjIaXtZXoQPJjlJZqfKzFsLUzBAewOgUzZqYabSKzherUszsSAdhiIJwPmilUHvvoeQejRahvxYvvCltPOlHykanSmXaYkvFhDRsuDkscqyZQJKJDuMEZEPBDuyvXecuWLTPosNnOUilAsksOxPRaADbMWKSzazCPsMQmlJxedIvzGdVpJEDhVYkjshlrgWMWotQjRJFGQsXUYNhUswbJdZlSwcquLkgbiHnbxmfYSqNcfAYgFMhWdkYTaGobyxaVHeZaNFuWpErrcaIjQTBtIUnsd", "c_map_string_5":"VhMUlxZIVVQzQJHdDmamgPifPaHPWVUtfnihyFvTicuGnqPXKSGtWDBntvNkTrQmBHnSPAWAGrcsrMMzUbEjwczsPuQbvCYaMOVclrUJvZSHZIJscDbEmMNxsXPpKbbipkgzofjczCvcRDlhMoybuCaQbmayCDsSOShhDuhAXNUDQoPxvCWAzDXfOpgMsTqxXjqWMETqzlmGswAYnQmBMNWMJlMutStNbwIudAWGEyfRVZLmUKwsOFyXflOLwNjiKEdmAIodZcTVUUUDEtjpVGCrMkxCXCjMmXyNXKOBwgEhezABZekdldCQcVfNrKwIOJgvhfJrZUrDTwbkHdzkDGJdFZrzwPjBZQGjkJGREPRKtdEUFvTnriIWWmmKKotEEWdvNxIeIVuAGtuNMTSsnXqLFaQoSTwEzgYvrhtGlAKGWkaHMjVqYdlpGVVJsExgfNyAbnoLTAxSCdNyywOrRIwBiCmVuzXwypWEVKvlfhpEadfGuVrJQfCAGtsoGKOG", "c_map_string_6":"fuAptgVehPIKQKDpAqqYYxPSIlNZlKSwVPrxxeleJnQPUaqHeEQnsEnshCTyMMPCEArdVRiKMnFawPCIdfwltVSrByQnOHoVpyjziyRioUZbTFSPzJPEFxUIezbMytKVBqWyBPNcuxvSiyhjRpAhoZgPIzJlQpGhXfJWNqIDKUHkRWLIMupxYulDVpuUxeaOBeKMWgxkHBKJBlIoPEvWIFMMHtQVPEVunAxuBIBABKLCbUWMEKYQIgnvSJZgGatXPRTNpRLvZRubkhptUwfBOtevrZVclYVJvkIZBHkCXVkWYaEtsisVzXgvtNSoeABiUlnzgXMGygQOPXaqovgsXIBWYwbiTuFRfKeijWlJPZBRRIELTxrCFLZRBUWrnDXWCvnEraBDeBJKcdSxsYNypWRlhoLbcpoJouSvgOJUdGqGEijQRNYyjoDGEWCbxCvnTNkbCBSPmeSuPFCYeddlnZsOZhpTNwzcLVZEjtjytezZFmIoxUNmqcQmMomKDdPO", "c_map_string_7":"buYRHIHzALmTdRVvfQikzXXNWxnLvYhKEXUxHJjOrdLLJsyOpabOXVLeJFdNKfJFbpZtfLBQzDJBacRklJyjuKJXGGOdiRaoqPRzfcActnCaqaNUlOerMVPMzzYBjTWMhBtAsvPmPrMesiLeFJDJQSnrpVNJynoOFGqOkLhJVEvUEzgAPvnybBndhnWCzveBDQTKNVdVVKksXYfReHqnQakbXAPgYYEYvvPJjaXiiEwepSQnqGsrIpEzESnPTzGtsdMqIdWxbzXjaHiuPsIBdmcQbxMwogUIZTHZSSJZPkmdIbZsKlVLHYIqztUnCtpBGNkQTZuUHtBUrilRGNxplUAjLjHIDcPaKRDxqmeEQMHMAZfjzQAPsqEAIrXGSAmabVrCcLwAibDmQVdQNAafMEjaPNazuBfZeOjCqFeiaiwnxsgCClBKBwjUSADNWKwAHGuYxOwMAkZUqVAEVytLpOdacvwaZfEQAiESakXUKodXIIBFEBGeXEmZQgNlOcld", "c_map_string_8":"TejirAPJudVFPodBuUcPKsLSMqkUvXmLZxmZeplByFsbVncTCZfGjDDSECtJIvAinLrHMswrQWTDccZaXclXVXCmvhXfBhDzTybAXFMFHoNGBDczRcNsxUdMzgEXXwPxmCRQZAoOgKoFGUJSpJzdNShtUkUXYyAzFBQDsxDMCwOkiMYIYbSOGiMVGtXAXtCqqcUXVqSGVYhRFoGsKHvHqPipzeCNfgCkMNByhVakyEagHSvAqfaZDoifOBVwRnxfeznmAnageEhgmOgzAvorPBecPMuYLmATJzVjKDaVemdVwRdMHqdidxKExPEmgIOALnBrRKtTvBnWxxuHbSylaFRuNunVkjLlFazZWIrOPwYbSifoadEoEhnxCuYXSgUfysQBKpSZArJokykXxvWERcnTxSdDbWPbgTcRYQRyhcsmAvEEImknGpVbOkJHgGUeBlsIJpETDAuwYSkcvzMFNHkTAUeodMzqMridxvlllwTLTsYJjSxBpbaUFEIJwJFZ", "c_map_string_9":"vSjLHyPhzxAdQHVghnPJakWXBkZgvndRzkaRVgjQXttYjfSAvoVFiznUWLyBKfpQAsqnRwhsRfnaqOhABUrEuJLzCTSJUgVRDzFjXDdccPCdgtRUbnWtMlmIuZLtFqPqnuklxoEdrQfYSxlGHkxoDuUKWrUtOnCCQFgPMcmvPqrxhtLYlzKoAbUoTLuHDUaWsiticTbqsKqscBWCosWhMKvneOdPBkZYuYWtfKqyEwuMPckvzKEGbiJaZfZhhWZXPskAXZMdjRDklgDaVJhblXmDOsDnpcJXnXbrNaUCXXNLDsWeCSsfrraGWdsDsVAgXBgkDpeFOAOfSmuzbXQeGYYzIiDMnCvoCaoVqkSHWWENfUhUpsQMTkIHyrvxqZzChErZxFsHiMOZWSDInjlPuRfcMrlBapvArzGUHnLolWGnKcYLXzNwxgwTZEYQbiOhxEBXsuMbvVCjiqLxGHpnPhqILJyhgAHPqCLSAcgbzrpsJYnaAwrQQpVtBNwJtUCi", "c_map_string_10":"vxbswaycCGbdxFozFVqtrHUMQifhkyEYYirAOjNMBTMNofBDrLucWCslnEckluqSBirlPBCesWeeXitgvdXpJVPOcOGdLLAeIjXsPhJokggeIRlajhQeZPJmNAnVDjWwtMoAGqQoAqJXiPiYjzoOiDzRVUFdxDMqRAFgdtnhNklRIcTdMRmCszHHOGaQHMHcGdATDGVqkXFiTXhdvJURDiYTKvWpCNKfnwidRHhqrdTMMybynwdHfnWwMxfruSXeEJJwjTrQKbrYSqXCWPICKNfKqJZuTFmmfnxtYmdobPkiMBaqkxzscnKlcudddGlzMUBgjrsWxifNuTZsFWwqVqEGPDIXwflvOzVqBkrJaOaHWPtfRCHXDISCcqxFOlmcFREOraUvQckNzMpkNQfhdFRdCDNtNrsRJmJwonaSdXamTKwrymOIeXwltYezQsERLxesQiCDQFDYLCctDwbquhTyHWMsrUjvdhbzausNKyicmfrWzFwPsyJAPvojSyod"},"c_ipv4":"158.160.30.210","c_array_int":[438928615, 2093130957, -181082573, 1029326124, -1969020539, -1960553569, 14596593, -1445246399, -688725865, 1317958780, -16041575, -116024562, -874251293, 1041275425, 632257999, 92325754, 802154498, 1759152045, -505157021, -695535671, 83727336, -1976509762, -1738828938, 281429194, 276451984],"c_array_double":[20.739285187783597, 21.84108510117593, 90.94759210025673, 98.54133142461778, 37.57959033408308, 26.722096929090295, 89.78073034528217, 90.93656311458577, 77.13133941169757, 31.65289552561337, 45.94104140874396, 31.969556634136534, 40.64208888887837, 71.84337181250538, 80.77152617862846, 78.8731950062683, 37.35123854927978, 59.58111526529345, 32.982367256238824, 49.35869591266793, 83.93859782353199, 4.398252856982352, 49.612007847448965, 79.99264157751685, 33.31434753210508],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_double":{"c_map_double_1":56.414603748722776, "c_map_double_2":53.219564772153234, "c_map_double_3":31.708681243291874, "c_map_double_4":14.828232207504868, "c_map_double_5":60.964951601608476, "c_map_double_6":75.63325346790597, "c_map_double_7":83.69584380869385, "c_map_double_8":100.6759398463609, "c_map_double_9":54.96062277983109, "c_map_double_10":46.99558223623068},"c_smallint":-20704,"c_double":36.55370007483703,"c_array_float":[69.41085, 48.16436, 18.933739, 57.259605, 28.674456, 8.995244, 72.631424, 80.13752, 73.906975, 44.44428, 55.857468, 57.404873, 29.836416, 87.821266, 47.529484, 22.49981, 33.913246, 83.80158, 6.8008604, 70.93722, 67.80876, 98.10242, 17.530165, 31.74202, 73.47409],"c_map_varchar":{"c_map_varchar_1":"BBdxnromqRnRdgXEEaipsDJOgmjqcsRiGyEvGXToAzQPBEQDshNsjPIvpATuljLMXXikoBknVkIjwLGKBwhZwyPobFcKecDQzvmwmDDXYrhgcCxeEtRDCPEzRijcQaBjLpHSCeyJdpEcwigpHNRdleFdVZMvGlJcoYLpKezekXdYQwXxsKAXuvfmdFDumozjmzTJRYhRpSjZEHJjVtorcrxtLJLDHdMSDxXStuyZZhzRPtIZttsocFVKkKGKyGcJ", "c_map_varchar_2":"bQolnqQNqtLPtMsHZFWpiqoBXDZmMXOgqrDJJHUhWEWTiOCJGjdCZInouuOkrYVwyAlgqzaFennvIUnpuQxftHDFSXwSmYLKUixcAfWjghTFZPEpwLGkopHOxqOPIwwHFKAejDMQCNikHMguYjtLCJOxuLzHVAeuOAEnuvCicqJNpczwfLTnPUwPpaoCoFhoNakrrmYwdzlxvKkUNHPhgDVBOuOpxCUpzALFFsmNnFvWfgmwKBVGmVkrPDtsMxpW", "c_map_varchar_3":"UDSaSuhviuxkacgOplSBIeeXzdAqhZyzSoTzAEZZCHVgYQziLcdbYwncWfdWoJLJwXtVPfhrBgOBWQrvBtRkzhfSzligBmKFsqfxdseupDecBlrLSCCTsVSGMifHGMDOSytZsEXIZEktBjzcXRxDROhAGDUdWmaHVpmLcwGSDGXMTFKWQeAPVuRWKRdpHzdxJFqUKCbikfhJtBAJAynBAaxlekAdYGtkxtzXPfsFXPQypbYQbyqgcDnCWSOCQJGJ", "c_map_varchar_4":"dbVlZARqZLyqCeXMtLfnMlMhpjZUsArUciIWNKMrnZDBIpSnExSYvgOygaTwzQwmMjuPGjzPVnxZkTSCoezIreiCYrxUXwCgEyXqZDWgjlreusnQbXJdvKVITCAZWftnmhvRiNfFyXuuqWgjSkVwuybYWrFewUgWgsLQRZxUlxSbrLwKpekfLAqwyDlPwgVCidlECFNbhddZOsXYpLPqYmsRThACIhiWZbObVfkXrwNvWXMiSEtNHxglvbrghSvT", "c_map_varchar_5":"kOApeIgsgomjbQqhJxXsjPWBYGXxQXJfCzrALBYPChWwKeyAieHhIopltzxZeaidFKRlWJKXZqZKPuaBOfolIlkvUmPMitMEQtlwpvNpRIpPbGKIFIZshNVWRoXOoDVnEjCXOIBeDUzlPylspDNzsnIQnGoPDLbzmpxBdWyEmlcuPdrMunZAJxtkxbxJQMJbdpqzuRQILXRmsWVksNfgzlGtXddsUEsywGbxmbbxuXSTFQENemMnsDzAHsvxzRjR", "c_map_varchar_6":"wjkkJFDfZCWUJLgKdBDzvcJNmSyEWJmYKjNrkwcVVicyduMugYnEaXWPpieQHijboggvwqvOZMUwcXFTYvLuJXZkBdfZmlQSibPbiAVkSaJdjeHmNtmQrNNGdCRoRcNNqGVaRwVdNPLvSFWmQJKBpkCMInNIDmgADuBpJrQmXFTcnuDAYBQuMcNuyQHUpDgzREkTBhhWMefrVzZYMpVxPEmBhjMEhqFnBFJLBsnxdQOZrFefmaPriBiEQNsMcjjS", "c_map_varchar_7":"iXadTBsMyBeKHqmQBofWwTfqJmLwwSRCSyWKBXbkAvsEMrSfNXFIoJjxzHBALpwBQxKyxrKILFsJZBCLZpwClyKwbozOWoWPyXAWCOdZUXxOQaiSlwIXxmDBgMpslQaMLJMhvQeZoHLsOpJYYNvemWcbfgrOJTiNgdHBqimxmSnRhJMTlrTgoQjJlTeUyDWlhmzFwEfPjOKKRHCdoFCDkoNFqOZGvUnHaQzkAzPnrIYwQUgguyGDeLwmIGbOrLUN", "c_map_varchar_8":"uOLpxMWkQsHAsOpDYsoUlqdKXhWnnJxaLqIErdgHbRShQkGeEgNhiOQAVlrPWDHrPDuCxJJikQATKpkItbFMItXyGYOrwmSySSONhvsfFvdWiKcXsPdJwxtOSHGhlMEmyeofnkWxxloZqiooZaSOmjHcfHkdKQTUZIAfGvMOUsDoCJYvNbVVSpblIpgBHgcchofdjtYJrNbngHQXuPIketjInTCcmRghYROvXSYWfDuvCqnFEjXECkrergIXzGDL", "c_map_varchar_9":"STZIJWOOBRNMIhzFeeRMARyvyRzhsufvQvoKWRjCUIavgRFxZkgZYteuxspThxnXkdigUkICAdoCiXmUxoaFsDMNsgRRfDLFUfnLKyAlEUCBcCFeMcXCTqLQDDiHRhBggksfvhxQCrOQKfAamzRWyCvjwLDqDENucqvbstgxQUPrcDoarwEzMZCtmbHiCqfSkqHBuKbDpNTtDAbpyouzzonJJBQwrcVxNhQFbKacQaEHZRoTfrJpTXYeqIDFObhO", "c_map_varchar_10":"mcnitpoAXrWqpSiGlgiHyKRZNLqMDRghWNxiQWoPtarYqentEMhcizxAxLXwEsXbpWqrNTXEDOirMfxfUWdwWjiWBPSSwtLGXmJnvLyASMfUYMzIZAMeEOSTLhEXDxAvWcjcXLRZCiZBVWxkfMwBXBMkUIPWaAxnLzpCVnxAsJWpoummODBhcDUtsHctTHMXptQGHDgluIwapbHxojyUOQClkevKskrgzAugFrhLVuzxuNLxOfiTdWpICkmtJCra"},"c_map_date":{"c_map_date_1":"2015-09-19", "c_map_date_2":"2015-08-18", "c_map_date_3":"2019-06-05", "c_map_date_4":"2004-07-20", "c_map_date_5":"2019-08-19", "c_map_date_6":"2016-05-14", "c_map_date_7":"2007-09-24", "c_map_date_8":"2000-09-16", "c_map_date_9":"2014-03-13", "c_map_date_10":"2012-04-17"},"c_json":{"int16":12796} }','{ "c_map_float":{"c_map_float_1":18.590464, "c_map_float_2":90.90757, "c_map_float_3":29.086613, "c_map_float_4":80.50148, "c_map_float_5":90.64284, "c_map_float_6":85.986465, "c_map_float_7":14.738041, "c_map_float_8":48.511288, "c_map_float_9":38.162453, "c_map_float_10":41.701366},"c_map_char":{"c_map_char_1":"MIgdlqdoUt", "c_map_char_2":"DFXzhXemvP", "c_map_char_3":"CNEszYTRWQ", "c_map_char_4":"VSjzzHpGQX", "c_map_char_5":"hmkNHXSJyt", "c_map_char_6":"jxfwFRORmB", "c_map_char_7":"aFGzMVhJVp", "c_map_char_8":"BiKjKSftiT", "c_map_char_9":"XKrlfIPHkL", "c_map_char_10":"JtAXRxRTvy"},"c_tinyint":45,"c_array_varchar":["gPbDAuyIUOszCRswNqnYFkwfFDZpJhrGLhHFNFXUPppgVZXGpfyeBraUHufjhpfLTTaYGfodvttCMFXqeVyrBFUEwwofEvcBVwsEWsysFXvJKDfxqVLcDfayloidmVHAyfKzkiFdgvQsqAniYpBqAsdvJkVambYJsUqsyxihlxjgqkufXTpAHnBReMAjVgOtgZuGQCixJmuJmIFySDvOPOqEBDNiyBehspsWiKhbFkXeQOIHgzKJkoCYAzrKeBwq", "buFrsyrLSDXmpdqrvdztXOwENfxMccYOVOVayvspxDWSxrEtAhLORMoZXcBzBpnCbusHZdFQrurLdMqbAyzEQXQpNNkkvRdiPXrYExpNBvKkCyasDJuebrjgWDrgbArwjgBXhSStOZpuqOwXzxSdrxASawTurpSLZQMerBVEZVvXCLpczKWnUStYfqUGldktxGYxhCtGPJmQhTlEmDgVYlbJmNjLMBBYoYDxKnGiLLgbLRuTNiorKceKGAlxkxJf", "tKisfuDUdJvAMKBsdCkdcNdDvspVAJjXgoFbywGjjRlYfgYDObELnLSSYVukZlntRbLKXqHXlmqJYttRncIvWKYwFIxOQyIevNfAVSgAINEypdefUgywNFJKFiCcyvEKFbXjSKGdUHciDxZcdwqqLiHIfiSrUVvieusGwlsENOyJPBRJlIpeZyeSLWFjUrZOMLLImQYCcBuUeheqsbsuRyTQyHHpESfRqaEVkOHFIeJJqhiYWWvddPiJiFTlPcIu", "HlMpOeeimUTnaVVfjAvUCJOWNpYOCyGDqePFhFUlmZszFgHJTLyoFFKCNkyIGxacxxjABlMcBhtGwyuRfKyhdVhjhwnloOBqqHCSqQIWyANGxUZUdWBNgyoOXeNIUTqNCEIsYYlivosjDMtAkdouHQFWbXwjmHgTSUvmEuJdiRiQuSDBJeeaCuPMbHaahFAnHqBINQFjPKHwiNhTjmUdSwJBSCJpzMOGLPxKLfxOEKGoSiOSEfuvMNmhSqnmYiMj", "iPnnOKcQHMumueJjHRSFsdaVlKRkWwJtpLosyhxLcGppTcerHaGkTdkOGMNqatTCVweKzGMrQhZCTgnWHjSboFbnZnPAChNQWfbMgdqNFOQFFQWEpYWgZaPBvXyzfNtqdAFykZyfkZOYlWhEoHkhEWEGrEfHJXUcZDcefDoykkKYrDMXZkLFeMNkeZdUrjPgUFIdKuRNdFDSeimrazUGqVzYcKEttjtNxUSOXXwZQKfaQtGEIYcdlBLdFompPdJB", "AgCRhFzYQLuUbXfkFNtCgJaWwVZXXMffbdWCtsHpsfuehhrslCRyNWFvyrSWRtsvFewwCsNSkhBHeHElMFGgdggTClmbbFbEbTDsPxnjnDkAvbUIrpVKselIQBWZVGdhPnhdXqJngcOAvAbddHantgKTcIGJTIQFzuAHpCAmjZfjzGEkPIFUfdVvojMTACcwbFPikNSUSNznwQjpjHjluSDxxMhwsEGVRBsFHOxyCPqlWKWjaxFpbFRcEyZzTPFg", "tWMoczsCOHemLDCxQNnZRMZdSYyIECpnmXDwzmQNVbIePozpMKthhIxQJoLqgPinRHjIaCtHcPLZvLGIxLWUPgzqYVSjfMbRfmfKkPoumrbPSMjLOzTPqOGEIWsbcwWLAjttnTQPIWjtTlBXofyzjlNIYUfMEECMXqxHzhZiFOmuvvjoGIzMSCqOmmBpkaKOcbwztjrEGNeeyOnyeTKxcZwunuRiXIbSVLbkPEGVovIRQDqJPRSJuLimSxBijawU", "ahKqBYZdeTiMRfVqYtKFtyufmPyiunsFsVfFvdPBUXwRZbiFwzwPvLKquQHSWVgCRvPTbBUjSMfxMuZmUnSvpUtTeRKelNGpsbqiPVHSQjsYFsryVsSqweRfdPOhHQvOIGSUGPFNICSAaFmpuuIZAEDEgpvcFbCMpedYPDjQFhyhNjwkOKUouZObaOSkAsaIJVFklxjVcCKfcQtfFBRApwexHeBywfpChayMDHMSGBMLdDlhurVFcEagpZYpDbUP", "uEByoqbfUIwdUGGfKzZplNzoNOVybdGcFuknCpiKoRQepsxoKwknwlzJUtvThYggzHGhMnUbnpNjUmVKUbrfmsiOVJiAIrYqITZOhROqbTCmjOtiidZvoUegMzzegWNEeCgmatLqtOfSIbIBAuBbwNAkyvDwNUxLozAkAodnfLXkimQPkzRyanpSeSaIcghcPPZvflZycBajfoOooiMAnppIXUMSAEupwBQyXWEehalQolNztWdYwoELBGYzLLpr", "NbrCcNrxEjfankmnsxszJxXfwvJQFwSoPBEWfMCxpgwaylyAOTPhinpYiipTRYXdxzZEpJCqVWkTmMSQvzyMmeSHxpXKKjBpelZioNYSNoylxYCeCloHoIBeSbvQvvFzKtLRVegBZJblaToYwqvdgwMNFbIIHpLdCOecYoNJVChjXvXyxEnmmaXNhNkDCNwyLyaPeSEQyokmyMUsyaxvstyPRCzYukoRFHVVjYzLKBOBYaoHDWjtHKlIdDjyoOBn", "XcoVOBpmQOlEqDQebizMjRiwuMasAcNslOUfqHMvfmXheAeAdgnmCtXHIZEuYCjdvSCPbdDAMoaNPOaZgicgysZdWcPIzzROIaJsfQmTvKJniZmGCPVycEPUxnCWXHTpLuwDkNAIvNLSOzgtKordCPAouDMISRjziFUqsvcgLYgIUUHJAFgIvISUpSFKPTbLBQMtSDxGRAxhqiuMYeSDVQJRrwdljzoimmOrbMSXDDfFcgadgmEFHqYTJDPnHcWN", "tLkudYZBhAukyhleCmzsKoEwclYaiGUlCeuyAspEzUzZelByyiQbnzIUJINWzzLXNQGDtuSlNQEMSRwbYNLnwCXzpaeMdguJmrcARlmILGNsTdEecRORmnOlDXhrOCOKJuUKkJhbXnMhrZAtnXwOvaIVVjVdmytJtFAJTGEFgpwobxQWZDlBnxSJaSGGsVrxsknlSnwJMryZIFqMhpiyTngHFcbKOxpuBxpUSOFTcgBtAmZnWSnxTLWRwKimxdTi", "ZOOGQFISRlOcsBFzqYLEaWybvvGURQRsLtocukzlmBagAJfSHWKqloALHzbFzCNmuupLftOfwcjmMGZhCIobWzlVFFHvLPCLUamFqgsrfcOaKyZFOPrLwPOgAvEWnylSLqxmHAZixUfVCBcKVwwkNYzrHvCqNKynRJxGboiDaEikcjLDZnJGpmSJyKFaRYMFpizWJBLeXqnQFEUPocMrbxRfCgATQMWAARVPvTlKNgytHvUtcctqCSsqeRaQknJX", "ifrhQvNTBZQwuZrGpKdkzHKtZkAZEOQqFiPiSbuCGdOXGQdTEXlLffiHdTXOLDuxcvjHnVvlxLYoTqbSuCXEVXpAOhGGhfAVHXNJgZSNtjUKgoiBtZKKtNQoKGZvzrBHOalHpYiUUtZqIeCKEGXFwoFOLttGtmLwxYASPochyrIfQMzHuZFWEsMwGUDTOmXmnLQkaFMMlCmRQeZrjffIhyjmDlcvadXPJgSAgMxYfphXDHosHgeJMOjqsmWceNaZ", "uQAnpDjsVNrKdytqYCBCqTIrmJBDoALdwBvxeKVKISUVnooyhRdWoetqyxjMsrrvNTKOWYEFDqensEeYGsBelOPCzqEWKLYqmRtBZbIBrGQgqYrpMGpThxPPtateSRQSQVFFCaPDHLuxFgVvSrmSYntwtcseUNVYijvtncMScCqlVAhKtssEbbEIAqSAIuRTWMbAzuGeydwtppkauJDmCnYPJxTHmjaevqYRTlGVfzlvlscWnIxdVeThIxCRETnI", "TXsrGRFsGzOaxYExNtOGlAnrSotHnvsbBitTfREbuVUqtVRgpDCJbjiuOdHqMoRnEMahCKrXderAYtLTwajQeHdEvnjGjcCmiovrirWeEZFqOvAncgFQVzhfQtdyYVYLNNHVfAGEZYCKkrkjBsVRTGnBPBPNbwhDfWvgWJqgNzxzcBIPUJGWmhujgcpwMnpEITDFsrPItIydNEiueJoMZTIMOBioPUWQrwKIomHlcMGddbNGvsorQodaTjmRzetT", "ZiCVCstQNmfZnTxAVRtTvNoNBrkjNCSzdLNINGgijaFbfImogLTWRMKXrRewMRxDcyhjZRzyYqguXtGYZIIkQNqnwxwmuHkKIozuBBBwDVmvTdrHQqNanWeLshDIeQhWZjIlluOqbBOAgUvgHkQGfMZkWSJcIrAsQZTaGnTermiqjCeXwSQULXRmwVCxJixwuixiqBFtwsEBJVRgJbnxtWLXsPPebdUBRuWYThYSHTxCiZgIKhVBPDWhXyPtjUyr", "oHTrtKcXZiWEuRlqjpuLcqcRGZqbnkhRnurSrWWsPAOeZKcwdeOLybhfUdVnKGwVEdipfBvDOicOCrhgnyvJgFMspeWwWfZyTwaGMlJvxYURFOmGYJhUsLyBqOBBswWKsLRTHKkiUEDhHvYloMkgtSIejhQflWODlNPTrOJEFtsHhOXMWMrieIlFFLZFvyoICpRQjdunShEysUOGlDNzxwCgnYnpucJSYFdTOhhNRrHJtBVBKRGywLhPyOOtVjrc", "TJXKKXyLPAjfEIsfWTpmchqYAwIHzcYLYcLlGrIHsUWFAtqWNimNhPTkfeJhwlJaTOxSlkmowfyRTYWSFNynsJhujZFTKoKeYUHijCCsbCJaCREOwqvTmExMemNpWVEDhZpawiLOFFRKMTGUcPbupZXvQKeFoIFPdbNNTmqJgYBbwQaOvqFRFYNiVksLrLiQWqnNRLzEOsYHwVRjtfWUjgSrzpZjhHmRYBQChswmtVVmfokGKKvzpLCuVxwbAryQ", "FWFmwEkTLnjbprozDrFvkbLvfZkzqcYzXlcAaxarfDgmqCkJtSlxaHmnOtBnfRRJNzHYVCQjNkacWrLnJcXXsHRJVGnAmarbQcYPPxDQPNvVMtcDWLDEqwYDkhEIKljSZnxkVNvcszGjocVyYxgGWAtbVrAuHUnwZxtsvkOmNLgtuUkYMButfxyxSuVrzYCnahKuCPEhvcwElbFwAMFBrrroycoyJfEfvsvsjMVdWWEIPwbYNbuiRlOYDSeSdQvD", "avBuCeZBngxOnmGnPdAQpHNOfpVemNLdluDIyadHvFLHQkXndWVqmtmsaDDPgItrIrhOxTiuKwRaTptkiQOeBogUDJdkxgEBYKYTpBUUtbzxiBEqWVeHJKFRDvJLJYtiwPhliRvPevDCTtukKuBktOEHRMnXTvaablxEzbXaYycNsdrwWMMkZkEKRVLQKYMiArKTmvNMenZdRMcDotdRtryeknZSignIZjgLBZtXXFpruzUhTZbmCpxOznWmNBbg", "hcgAvRtUqEVDWZAvCKNPRtEMMXPUeKOimUPCTMwbqhKTEkDqnosNTncQsiMYmKkzECwYPdKzWCFkkBTyeRkGPOGNySyOgteHOIZBUFdPlpIwEFrOFMxETziSvUjqVHWKCpRtUQSoQhHoooirgOIyhjPiRlSfVVTpBFjLdFXZiCsztZrwHYXjGPdAPjZaxQqelGoAgStQdxPICytTRkiwNVaTCSxeCPtiqkeZtotPiNCkitiErbXpiUAYfvoAqZRo", "dPlXDQElgRnGzlQAKdlmDsbUDQpLyKboRihuBBqfWIbwQjcemjZmxyrTwJBVhMOAXxDtmFAtqnQONHHZxapuBtfMVDvhQtnXhigfxVcFctDCJeueUEFxpioRNtxXTgwgADoAvjxxBDlrzKrpBmlVeDOODdDeuyXZefoZMNMdnztBnaWrwhyrqyqgdQjqgBWoVNwKiuxHYZcJsxvLyLLjaMSdMrHALPTdSxNglrxanyglViwszScHFNcUCbDhNzrZ", "hYdoDcRqOQIfRbgmyQsXQmVAyVfqlNZkcZjUaLvvCjcHuAGaCClDYseGezjWsrALdalbYqyheMBftiloutvbZPuGvpUTUbjCcWtNNUqXoDvFdUEmjrfNGwzBGFMBzsqoYZPlpWzuNqwUHHwNedILRBRGhrVVbZPXAZiaqRkJmtRQBZvuCSZfRMxYWdHBqbsSJnkLXHJXQZPSwpCVFxBVifBVdjmjdJaAKlLBHNZIWjwxjJnpJCCSxChhVsALLvJk", "KSEfZGYPYkckCACYVVZgHBXiiKxFGqjfJfHMEvOrssBpMrOGAIQoGlJMSckagbpINxeukCZuWEmhPCpRsROfWBXGMlEEgpdzEMPcPbseFPQSnaQETQqFXfLBFtSpfkFhKOYkuJPEGWifpucEtzJixsXDhLvkItpsfniPPSVXKztULWIokNDWXKBWokHBRcMRLeGdiEqskrZAvqyTkPRwrfZoleYrcMjbZJyLCQxZbsZHlIFKHwWzHmRAildeLeKQ"],"c_array_string":["mmNopyYiexViUyDMrsxUXRVHnHqSfhLCZxxEABnxZChTXAPpdIAajkGIMqQxkdZWCsQERCMZRNnOVhPaNzBuKlpgCOFWykZmshkWgfgVKNieWjVoOFfvmSWYppDGWykjuoGXQCtoUwrYEMJkyewLktSiekHfxQiaboectausGLEwkTxrosmiVebKFPXqTptPGiSLCkMCkHjyMYfeBAJaGQdzPADiuhZiFktSBRTgLyDejhfSdbLoYZdGWHtQPiwYqgTNxOLRHhQcTmwUjdHhxCihSvEogYQWxevgCVbGGXUtrLJGAjfgqlRBhpYpOBDboUhPlUNgPMnOLRRRoZYpmHtvywTAxklNqKvAyqAZbVuQqiqcggunCKhuFDgtWECdBJJtKMAyzfsWpdPfMgivyoQaKLztbQMYhBiBNjcodJuyOoZJVKSRzTXJqOGaDnUnCqXIiyPbuCqZAIHaTQsNytBzHRbKPmhiDEEWdiGBoxjhcqmLmmIYtCmHICCRNROi", "bVqOXpocFHxkvHKMoIbbOZIglDRdENwARsBvnckIOwGLsdvACmIriveXImBQikzZbPEgYebKFGWJFAtdveziirZIAakvAVhpXpUZCTGJJxBxPMxcsxowBGIEPXFFABgsCXEmYJqyfHxyllersFNBuThGldNuMLvqmwgUjJFSXQRmbvutOQvUJAbPdOTgUFkYvXBsqByXvjzKOegBKEcSedDyOqNeepIGvXSZozerCVGqQBGHsDuplFkUaqwlbLgJYvcdFWCDWjpSzYqhCpgnwXzwvNBVCZwaKVwSouFaYUCXrchUydODbkLMNNsDcWsuUPJukEckjOEDeTtZStFnoRnpEpFHCXKligeyfvMpptLJMxqMBtOEuDwxMMVnPkBTLhyLDRefRIpRtUsIWAQnieUXCuoYsdVZkNBljeIMIGscOMsUhdfJATjtHNFanXnNccFeevOIzCQfJovRLwyrqbWkEbunQgCksSDQPkGeGoZKsIlrEUMkCMtUfsbOzUNH", "ZhaEIQjGbmNUrVWfIzdgTsAOGXhIcSSARJunJaTRIpftNPrdYsrszEZxZdZmtGKkKKtzaqGaboLxoCdaMudeagiFjZIlyjmkvLNDofjtnniSqUMpcGQHhIVcFyfGJVfnaHbuALIxnZAcrzkkneBlJnNuPaJLqPRAJQSXtJqaUCQNXrixnUJQvfgYoFORcXbPvmBvTvOiwEdrkDKGtraWWVXHKzNTIFfaJOLMhbGPhtSjHZxCvvVLCVRTnyDPtqHBTmvXniVlNFnRwQGdTNSYQicVHbrwIjsSQMQFPLnnqeDpTOOwXFapYFXKbkxXpXovyxkNzuMNLrxIgXHXzodVFSijPbiasRPSKjaaaheMrgodeviXGSbrXXOxBicYWhfuubYJKrRVWNMYgEJZqPvCgwcpNOINIqubtVOnBQhnLiJGZSebNzpaAxrEYKwXiEuHRPqIndfQwtBpmFKcMPFHPEKhanwoQgSnANfEZhKkMjjYczYGigMStvJSCBrkrdHH", "mysfNSbgvIBHgeREYjkUPrRLwUWenqpUZYqKHXMsmQLAwsdaotzTrbQLkUYaRrTIjbMKASacgrGpejbJXmlTysrroaueEUxqEmYiZzpnFuKKhIXLcEEKcRPJLeCJyxcrNYxrFTFsFWTLDmAuxtLQdaeelBAgzJrgfXPIvwqZeTIEJwTVVXxjCVfZGGeqgrODuAZwFQqfbwnyxVCRWCrOCIGwtHEcaFoHcTXvqnYqsyFoZizwijfxCAcVWFKcaheyQnOSxBlQbzBYbLFErNaVBdqbEDQXrUtTurmjpqoeaFOhmgTayEoNtRGQnFGBSadlACdahZcmIlVYcShwKEgXHFJFsQoMNwiVUUArVfwhCyIwYZNmnWVBdVgfJlsJxkajcGwlqtFTHxgAyPxhFQwVEhqIMUQwFlYPHKJOGRiZjgDlllBFdgxstyCCSdfQQPMRQpgmSVkGWRvTPZjLbxCuIVnIaxfKugdfZNbDKBoyijWzFUiFjaxYkadKBvYBfJPB", "pxegWVlBlDoMfLNAqrJlZHYrNHTRWAWBbmDbzvpvhEFnGnuhSdNSREmSFCeUotjgjUVADVSiBbxQBWEbNPqgJwycQHwcpwcDUUkvvmwTWGEBcWueyNDVHfusowunyBgarWEwtUZrlZCaRtZluoPyEfdaXibRgJMUDRLJjzGspYYOIEQNgvDslfSSFNvEDVQCZKPLIQcWdfrHAaUorWfYobNSYWpopcyIeFMsVOpCvIgMhtMlMsxUSCyRHjfAahYbgylFgXZiVdakxfmISISLUsFkRPHJVrQZevHKxsSvyzgOWptRfHASLJTBcWRMXZbixLOdlUsabFpSGMciFkkWtJimVKPJXdqOBbJYTfonBolkygCeuhWQcRntmSJWRRHEMdmpjrsjQgSCedBHCJUdqYtkWgrefaQIMedCkLahSrJXEZbbLfMylykNoVLFmPrFyoFglQJzgqGwGxrTifreRbUSIIaldIBlwNAdIkOlVBdUBNRBtwlWGaxrgqrSBXKB", "WcxdrkwRZwOoqoBFfCHESfPgnevrisqahniTefFQukmZdCafuVswtBTkvavCiSwKUraIOJUeUcCCgPruhYWINrvnMjyPtxWMijfWunsJShVgeEvSVCZbnAgAbPmlJIElACpBImqerVYpZKRTXtdnmFEkMBMpNyKAtaoIkgJqYMkjYGauQKjZBkSnslGcLGzdLNnlcrrIlJSRkggGIcGYgRhAXzikGNBqDgvwvrdQgyQkyWyFaecdwBgeCULwKaPtpGMBIAHoIQZpQFfkMriYKIuzKzZWhQXvJDBYXBgyIczJzKVEqlHEYJqahUXZCcvvQuRyjQmmOHAyPwLUdNmiAYlzDBNYdnpAYNyPQvUzaOlQRZjgElAdqusWfwwJgdknilbQRuXflaoxMOOZISThePhifRzQPWrkCSJroUrWhoBfxfhPWOULNKdDLqJbiGAIeMTrzAoyGZsiUZvnJarAnufPGfNjsOCfzCPlWCRbbFSnGJhPQhXAJghZOYTtnCch", "sKFvXDwgLGxlsZtfeggAbksCtwCFJNQaXfsdCmLUcRXOafKEWbEWToxZWVqznooTzZWOZxrZJNEoBJuPvFihgwIVvhbKVgyKkGsEUZSjKeniItCVVigNCcCCbZjicGAlSsurxmAAvEVBWpgOfQdJmcBSSjXLYYytMjJqwfLXweFKRQEitQVfexNdENLqaswpdKCrLXeivxCAlySPOhmVFpNkQAEOPgvUnYYiDwAQJQzDzAEOkAriIsutCPliLGjezNyENhMZbxihgpyrmXdRBtPEunHASTTObhRwoNjlrzKYHdudLdhKdchCIHSCYwspFUJMCnOMUSYjASMbOHPbTpDwacaxUtJMdJhtuhQkjimiUeYWBJbiUXOfuyEeQUiIUoWLTdkvogTcPSHeGVwNRDUJdqeshkrpgdZqMjTDzEDBkYCngYEzOEcFGicmBIWYBjVIRUoMDYpONNrGekDxitUtHNQdTIMzuahZKkmogqLtDANPjcnCrJqlgXWIQCrf", "usnVshwemUYzsxnwTuqvuSfdPcqVvbnHMIRNtGmIrrQImCDaiZWVJAIPfbzbTyPnyAIEmkAkkqmrRJFRtlhhfjEPUpUWAzJnGTqQKWAYBUAFdCBKjPvhpCbIaJrISgHzkXukCpjjmirXvPMhzDoccDrBPIqpdkbnJjITLJjNkRGMnsFEwnuRnyDorJOnzKVAxWRIrqlwflaTWcbuOdQquCvMhZFPoPILUvYcyvxfBCiMqvaqhNYHxfxFAZdkPXcewCzNLNtOEhFbSKxQVHLDbmZbLpyUTRvUjSiAcolOCsHAgfZfJAPuurkYORsoiulVAapzSHDYxdtyItisxQtROqLYANUytIXLItdpednPGbApwMrCBtRqlJRODdcMWGwAIXeuYwhiBcxrclLVKwjuNGsTaPOlPXTqfPEoLrMJpkjYDqjZQZpdCuvkzMwdxCBwQAHatWIzTrBNPyZVcppSqWYtvCOYtZBSddXKpdATRICWiiFDJJRdKsfTutgtscln", "KRDwvyEjtBZbUnYsICfWXWOHGORAfkIrYOsAJxhcXxnwqdBeFPlXmCYkwqCCUtvnmPIAcUWcfiEoiTmLNcrpZnEnIkHojrJGdKmBLIwOkJWBHHYHovwWeFRNXQSdfWbVgTMkOafZrhRfGKyNWmaQUcVyrqodfgGesalWwtzpxGKWtUwMpehLZBVfDnHtDPnQZCOYofrrEkuDYDJBBnxjbLqHiaRaCZNXupFrKOhdKVCrrLtnVYOofLhdxEYnEWtMvjzInYqbCxJIgBnbIcgigwyTpQjWRJBsiQKpSFukQyISllGGHOhgLlmwyXdlMzlpRuuIvfemLGJCTwvDCAumkSoLzXVNzxnvLPPVrLNLusXZFYPkxLBuDfiOjWasHfpsZYvsaiEpQHFMkxjkzcOUiBENLGsxMAkBOHxJlzMNtDoeHeXdtZwlNmtNGCSwBPVqLsRiknzBivugTaqdztckdRwujDPLMmhvHHdzkRnXvDZIHuXEgCRFkJZlPwssVDFN", "qZWbxTiCNoztlflBusHQRgcGZEvItkVoJHOPqqNfARxtSfpjHSyFJNPYTyEGEMQriYhtciCpLFzxGVdKjqnGfBGrHaazRyRAUoNlmHFxicWyoPHAweocCdqlQAgbudfaHWLQUJyInSkdMVCyYrVBjqUwTBbeaCOdwahYLvlJYSYFsUjXzoyWqTgqdFVJZRDPOjoIqUpOKuaQUhNZjBesDyywuKPoFKZktASgYBAAjZwwwubpgwXIciXamUWtUrPaTtEdCqwncUPagDMXxUjfJXGmnLQLiJLwLujGosHRAfpJavRQhxNzyEBzPSvKisEZZNspNWzfaNMifZKjpBCmUKcBlIuqFGPwWrgVdhiATDZKltWuUxcLhjQernmGnFdsgenxEDXWqkhkjPNUISfNecxEKwPstXrWtsUoQvLdHeQospyfIVocOsqTjSBpmHiupfAzchGLvFmkespfJzPrEVIqZhKMrzgGEVkdIjchbpOGQOLFWPWYKfNbkxUCBZMX", "smrrasehNoPQZUcVOErjBvbvukTqAZdhZRYPXvuTsitYRWpvCxMvdqQaaHvNcpocoWruAavmmftiFokXraIbTgXhIMJQSZjTOQjSxGkuEqaWplUAlzWujgXZzZKKVSvQClgaEcCHNDlREfxwMkQCKLjVqnQxkIZQkPMkYQmmyiCsTGgnHEBKYGfHmjvLtoJquDuOJpLagxNeExRVPeXhsiQvEmnPBTrPzHbnEwtoqsArkgIRYgUnrDfrzjXWiOkAtZELBfdgOHnfveGlQTSIJNOXnciVuptJxDKbNRTXxfiaPtYRmOCbUJFyQejUEcZwLHyfMDZimByCrQSoNALCOOFEmMEHLzAAmwrdaCeZoizKqpGMlrvApEAkGDISSFWTBPXTkGeYaVgGzursJcjaJuyscaaJErBGBueSsPRaftzuChItrBEGGJhLwmFeciHJdhdoxyiFBWWtovvlCqqJGWElScEkymAIveREveJLcAkTFOvPkIhvkzXQujVCnCkj", "NYtLUYmfvDvTzOEacEYXfqNnbiguTAUqVHwEdbGLAfTafKDdZjCXgJNthLexqYdFCAvJVtZburscAoMrXhyipFyjwqmumaAdVcAMZRmSHafBdgonRrxMOOrsSBfuwazPSdLuIaugtJNteCdJXtKfDlKgveLjyebHtjKHPhUkHsbCXQoxIhnlfYybXAKLpPdESzUSuIcRmoHTOdBBckOlwQGNQuHcRLkYXoRmauVUfpGWxQRqPwjAZIxdpJRvQbTMYnGrgWxbYOyBrfYIBCfcrqEfMyHHsCyaOWDVEBWRXBRJtlXupLufEIrpEnVrZAMvBgFrSJGJrcdZcqYEKKgtyGFCtGBzxRgHyhdFjDAfXwolhepqCAAiondsrmMHjqbIjxNhGXHxUXjCgNJmhqWiWQYXMuaNnOxAVOnSDkEJvBZMuqvkOlvSnPzxNRqXZdpYHTVpmODRZxepetyVfqAEoChxJxfdQxGyaqbBFURsXfbtPIqazHSeEeSafMuaxYGM", "jeFbpwkVQxfMULOPQuzXHAQhQPFoVGpdgUXUBneMXCpidzuklwtzjHzvwxSUQVEopOMsIddXlOxJsyixeXQhfYzNDglpETssCdQKqGbScqtJJWmUYjsyCrZsFhInzZVChKkdYHbmDDoShVeSNvEWqQdnmJlqCWywxdquudFdrDStTWmNDxcsHNQULrCnDqkpZfnFEFvGeFqNfDaSOZIbWWJjmJHtjhyKFbmOrEiYmJBYHyBioiNTYHNiBgMJHhVrtvRCPlsJXpEaosKXljrtyEnMkhoHQsJrXqxFyedBPsVbMiuFdzTFIkGFYRYBTCJszVGpRPdAzLeZjZLtrlNNvDyWsINmWEWDujbltEvidURAcmgidJNgehARlWCJRAHqBRNDsWPdVtoEkSCVFaZOGPWkmQlVuQHdjrhTawFSwPECmFhymqolhCxtXdAAPApsdwFsFGEeNwsqOHyRHiVlpWWCzPHHHvKKwivIvBBJaUQXAbyTFjRzTOyKZTkUmZKk", "LyNqxHmDKtUsLYCFenZQVihZGTmHzrCabbVGpifuTfEEqJsVTgSaxSRgPyZwxRjZQwSmVdIZqVIHIKJuCWwnwmMWMaVClMZaIYUlXaiMizktNqvkOGYknoLgHBtEhjYZKHrEAZcYlASjHqJEJPsrBzElHnprSjewXKxBdohWyyjifOVCBxPbQKVFsKwJkYTWFEJtuohBjlMKxHnjvLzVjjzesZqNfRxCbiRqRDOYRxvkIdIgTCNjGuCAbXyTDzERfvnMYuzbRKbgdFVHXdYVWSGnPEuDdNVTVtzloKfVHnKnAVawCfFmrDtetvdlItwFqHhlYafSClIGATSydvAUfsnlbtvtaAMEoRjnfShgeYRKclYtNqdeCkZHgeYGZWyVBhucpwttyXqPtGWHXJcCRiKaYUyYEtwImFcWjztMedeqCdzJgCBMHANNDmZUtOFcizZMeEqlixEXXBDijxHUgKytpMVSaiZlXrMOAXFXMDpjqcXPNTdUATvQfNenzTme", "KEvhpealduJliNYwgmneufFHPihWJxJSkZHAEegwRhuHybCpVOFROnzHgIzQrsrmVIsgSuxgbegWyETXlrgTXopfZKOGaExlSvqUCBEhcOlZkPCLbtlYquHyQuROJmradIdXyziJINZtxGgvaecJKcDTyBalscfFOZeVXifQlWnUtujaSPSadWTTjkaWgZprszDGiaAfXaKvaIdcFevVhjTxnaeEgBeAkSxCDjuUINEdeCCfGuAYoDNHhdsluclOoxasZhIQRwKNbBCPuIqVpvFfOMcBgJXyJIfaccrUdwimLKeRfzyEaBETZSLUdPqITqFJRwgeAuAutynhhKhZXTwTGYfVvLOsVnmZhBLECufZnQYPVIdUQuZRVFOSHgCDYJzSiMKgMAqbmkmgzfoRsFFiHcfoEyJtIQfZRVIFyZZfaBFdjcQudMhUwVbClXVswOOMKkrLWkLgSdQLOzUJytKoDujiotwPisVNMaVEYXqbLrnrnzcZGyifGjEovdmV", "awepgZTJtpPLPtpkKirTjYarPgsHtVlVOoOWodsptonbSEpYrSMikFruXYfpHkvPGSelUDZFdbSoDKZDnHjGvFNxcGmyRkOOwoGwmsaYIqGKStxvbbLlmIEBKbBfYcaiWCiiKwpurfKSnPBjQNADGJDfiEvANGdoFLxNHgoBukfVxVmnpuacxVwBZVxQMttWKTkaDsDlJIWWCJvIcJpBZRfJgFfTGeRyfZBxTuReprBOVEVkkCPCbUkhYskDaGQDsoVIgZqTijYeGfRJESQFgPcxabRwXtDAdidzHUzjvOMmRTGEYGXlEbjPlvcJBwoftZBcgfwIDBYbQuccBMRAOcozmPVqnBgAQFeEngxLJZuowYfgYSeJvGNfvFdSLPfUcqiJwBjORdqQjrwWupGXfFQEgJwRsNqCyiOwQznLeltbbLXvATLzdbUeBbjlMPPHwgITOIfIJhkSWhlncfBTCmtzfNWlapiNpWdaoeLgPFcnuPYGFoVtctajAgcnSUHp", "EtUvbKKabVwVzEcJtOWdpPXUiDOrkvFhXFjIqXhlebFlAiNXYVHZVRVPfLTDrTvMQwyWtdKgAIcuKFhofJMMGaaQAtzJyBWIqbLXZWufBPXWOjnduignULwQMbxMyyJlqScBCzAatHemBINKIUXyppdpVGDQUdZAOyuisOKwFCVynNbGwXcvjGpqiwDKgXgTUOYeByCxBetwARlGhgoqGUYmiaxuBFKqnHTWecpqxcFmwmoPVnwMcjRaMTvuMATOxMitaRWACbwOkjeEYNfalZLNwsDMoSjDVBAPHKEuNqAwsPvGceniBqLUbVpqefKKcKLHNzndtLrfAkOwIWwDzDeDZdOuWBXEDHduEOPnZHnGDUvcRWbpvkGIFwNtkrHUbtCpdqwITQkwkFKrNGVInyHHZZaZHyQywYNhhkIWwMNRWeSTIHAZbucdFYnNoWMzGtQCLFCJnBrjBNAHhFtozXxDAvXrOsOgadFooKPxlwHQddpyUsoeFlPLsVnGvlna", "QsrJBDyWLbTzWErhBuLnoDTFztCMsYCTaeUSTHhruPiaSzJRSWNZUtnTKCAqtXxQYtAOVTaFbGOkjEjfVEUmWGYFwfVGsRBzJaBNXPEijytACVutrZNrjgMvdBSXuRPnnoviJpsWyPxKFkvkMMpOXkMmHldkqWHPtoMeWkAouUXsnPqXNHBdSYhFvdATQZMKInhqqtHokewcSVazqYnmxxMJcKUnFpQWyJNHUCIyPnoJzPtvEwXKgCDlFfUZdZsWIBgnUfTarjNnXmtPzqsnNDdpzTEUOIwUWOtQsnXocFzJelEomChSNqQvfQnUHoLwURspeBNCfDClMuVeAyYuQBpPwsBwUWvuDhMoRCLcQGpxRQmBhBmcazpqqgbCrrJfCaNQPUhtwLfPGTkHwXcMAkJOLfpiOxyOoEftKcbgWadMAhlLCPUVHPwRRUixrVcPEsMrZuTEkOEYSMmZSLVwELPpiZfYdxDhfiVoSfanPHbdfhHGbFoeplPekFABGptG", "qvNkCFNheNyCvJnSveLVLuBAreyTFLwmsCDfxbYAsffyEaYOGnmveXaKSrIpbjRZjbAaSyddDHYKOfjFRNkGGtThdXYQXLTXaxXIAiEfFbGCBiPqZpWtfOTNNikhYqmfjeJIlquUGkCcoNXeeKxBnFrhMjZMzTuZgUHvYemGtQlyRsfyTYlBUkNEcspxrIEBkBlCHvxOVWdQobzruNpayoxtmteglgeLYtoPUpkIjHlGBcaHGtqjjOQRYUKIkRlHxKmsVTXAcZejQtAVVAzUiCUrwkptKFnTthaoEDtoZVhCEKiShbPTJrltEqdncfoKKnxRfFhfdySAbaIautOtxttxKnvelHxvhVzjaLEJCNYQIOYbufdkmBITKuKwNMwmNkbhoGobDnHsGgOpVOurAvYIjawIJOoKuXmNAGaglFrxPLMUKLukUrtVcgmJisbKACoKwnwTBcTbjgtoNdljMfjPOhkDCTKePafLttAGdCKjAscGenoPivxPBkmQQAAc", "BmFBhVGyOontfXyXgTCWFNvSvCGfsrhVxqzJWBznqWungJaJBrKmyhVMFdYUPKfGExZRAwVCFzHUNqBXemKnpmQLcRaBguukdefXrbXreURWVlvSXKPxBKVVwSUnbqXcBWlncaSUFsQOGZMoNRclcZtWbBFQnIFjZAAixvEbksPuAblPdhQZUDZcmtmOhCHajGeCJjeiRyLgFMVPJezRhoLenhYITHqsXHLXJaBTxIRFDifoUWqkViKPIRIIxnjhiMfIkwpmzWxUarvTrnEZzjgJwmeXKGlUacdvzQNjLRjNxMmPuOONtzBPMDqkRmEUxumyCwSRPaYsYDvkfvIAROyrVNZvNKrMnplVamdzEfTcfrUykKVFEmCMfWzjpzwVZrBKjQohnayRaTMszdkSOdlMqMvLoiDVSnCGwbyVSYxGDtxQdFXENpuPmonXAZaqTkOpBXNMfTNeetezjPKHdLlzFBRKnZwoIyFPYjUzdFwpMSLVFrxmOsVXhscvSYqs", "PmRfiODpOPXRlCghQFECqYzTdlKNDrNScrkuPHEAIsPIyeelRyjDcrWdljaalQFdhlcpoJQSPKIRmttYFScNHJRnRMeXtfIESgbAIskZJcwcjjdvVXzuZSWbscblymKYITikVKXPfCelkFZeapIQcwLuzNpHyUBzWwFXcNQrlxopdTZdoEAezNFutaqtoEjlacUWKzDEomBgoQCRFYHhrlaXJJfnIaBdbxxvuJyoEoiJzqRCkopcLePrZYRJWcbFLEfkPNznrKcPLJgfTIvPWdZggkUNFYpfqZkXtRjmCZWyTAPopiwNRHVQYWjxgqCxpMEzeoAljAxwtoxIPwUxvThIwAkpWpMDcowfeZsySdsBnPqICALcNzAIWHprfTfSmopVnyeDHJubSByqeYNWuHbZWyMmcaNmmUbdGRrUFXfUpSAczXCWPTWHAybWiQFRKfbJdQGjSPLDQzMCeOdrjuHNwUFKWlwnfoTXSwFihTOBqyAHXefmzbQWVCOmgoZy", "vnCKTCppcpgrASuFoCBcHktQVQUKQoqsRAPBDvMTizumBpBhNJynkbxyuupdNhpHyKrXvvAzvpURCJUUdFqeRtfNksWwXlbUUAzWQSgoaDXVENSDYexkfeUTSpaCQweSmMJADIfJoTfjqyjhrCSFEuOXOkKZupaIHNmxDCtOfETaxxLnZiABDbZglwaGRkYvWGvGoShgERgmSfPHcWJMCJbjRHpEuydDRoNfEmlCWPrwdsMuHMsnkhVDaxGfsOTqQpFaXZSjNDJvBhgjizOyPkqJgjofvqTAotfUNWreaJEkcFwWsLcabqeySNAuEExCmyJqMTgMsecCcjRQFaIeKOpckFFTDbleoIfCHBarADSadROSGCaGBkgEltulpwLGWwANsJpFERybAfNLSuKVHPrMxMzovwinsGvEoEUdcYtmqdbYyxpHajaMFLvPDhHccZiLqjTwGVBiYAoGFmGEIJAegXKkbQmhqiuuzIIvhKebvmvSZGdBIPyGrymdBIVr", "ztvHcLgMfQvTvYNWynEWauOLjjkpSaJcKvmbSsaUfcEdswYqtCguZyILFwRBRfRboInsXCiFKTWxnFoXyYZDTGCtgvZNWaLXkNcvKaNJrQoqrDIwGQqMCcuumoyMiZwBECTibHmEoTksTyNCcMYbXbLPoQAjMnVnXrMegVNmTzWenRdKXuKEwHPkwZptRtwKjDSTidcOzvohVnhEShxBvrpxtPNFLCIdJXEyvpnRFlgxzJtkDvttUDXmbWtUThtAWTueBDCKcLTmJSJfaRLeZhSJBrbdsfdZpXWsSNNIURJcsmiACdGhLuYTYywvdTdeCkCWjlhNoXzaNHGezMbcNovHnauQujvZeZPcmSEJOXvFtDsaabjNiQVJigOegwkNYOFXRunEVrokQfXGDOPvnXATixeguMEIBCDvxpRCHyGPBjrMFFAOaepQwFnwUBzlEhPKrFhNdkxWMsLLywMZDabCIxykatpmvARZNcWWnhHjIWEJAZCwZOaVdPYPKnvc", "NywRjNpRUbyHVJqEvSyPZzhqdohlXeHgnZTLywNjTKTivKRmemlVxBUxEoDWFSxlEqYrzqxwLRvCpMNtPhoRpoUGqIpDuAmdhcLlbTNClLmjIZyCmwltvXdQSXzouqvaQcmPvbGJKRuWRyMNskCQXdYRcIUlaJwhyVjCCdLdCkZdhwJEVyOpgbTQASsKqgvbKFIcFQasbNflaWLkeMEatsXqpDDQCDHWaiBMDBdrovcOpIChTdFfDdXQUUXUUCwnJHsOlizOJEAQoJcjehrJfJjxmdowMiIZWujoLHkluGiCvveVxmpGDGVLQmEljVIfgCQmmWFSZAVihlHJgQeZVqagYpcKnsIiFidBjIezJzozxWVUrBLWqLzjUAJBFLOWbEIbsIEJuKHdCrVfzXSHhrPgTLwbCulQBLNKZjJoYzNHDGqVMuaSnDpYZLHpfJZAaehhvEoLsbsBLQIhHrrOtCCtCevlziQloDUUAoNqbPjAfhuyKKpyIMcapTBSyrPx", "HzqnMeGglkKepEOvdVrYcgQPYMpMItElowiqMqOyFUrlMmNypcbmtnVLQyezCEcgxEgdosQYqDogIeLYJFtEueTFbXzThFjHNZSxkRxVNhugJadhtgsgNZJfqVuPvHVjCKCAcydMQefRCcIfOBGePYjPnUsBCHRipBsRoZhFVoALdBKnUCjfIjNRjlZnGQCdQcfYiYlQtHyWxoXwgBGWqwNxRVpkxDUYVcGutrVEpVhIBYDllRVACYQIBrgbPYhenLrgJPNVkgwreaGjOfUfEvKDhqXrCysZDVRYvczpQikoyUfImbmurqGJmzsjYWJeDGKCkSwULFpUlqSMtESLCTrqsAjFhJJzvqLKXJjQraQAYhzFYKDcZsCYFmTuYhvYahcTAqlUvaIdUofRNFYcKPmtOsfetXPzrINiMVknEIwBhfeSzMcLdoMMrpRWfPmdQwOJFTZatYfbCmLUfyOEnpFcNUbXMflsrEjWEJVfjzfLrOhfgBKuMeINTVcADLDQ"],"c_array_ipv4":["UzlZpdYrgm", "QmRttHxjMZ", "poZzNKAIKp", "uwzlWPbmbZ", "iJdSzHPreG", "gmtitqPcrn", "MRVwtbFYJw", "nIqyOaXDWy", "cHwFOyRHqj", "gjgSGNzOfX", "HrDhPyyJUn", "MAVNDTPhPs", "vUasTOgGZM", "SIUltycGRA", "oatEMSBqIR", "GUqMSufodF", "WcpHGrEQoB", "yfXdffqXnv", "DwWvTXWedP", "aeGjMIzUiO", "NKEMkWlEeo", "FiqaPfyqvY", "fOfSvNEyzq", "MSktoNllsn", "lFQQLIzCRv"],"c_map_int":{"c_map_int_1":-1101003936, "c_map_int_2":948520161, "c_map_int_3":468626907, "c_map_int_4":1255283882, "c_map_int_5":-791464450, "c_map_int_6":-1206227630, "c_map_int_7":-332987176, "c_map_int_8":1809895933, "c_map_int_9":-1651208581, "c_map_int_10":-1858831186},"c_array_double":[82.97672717691103, 84.43970015659333, 89.68278248495591, 88.85974420919628, 64.69760115505855, 78.72340869881825, 36.991026174416426, 46.76315879096683, 24.99650844847213, 26.264558094772998, 10.992372633165768, 98.14104601096432, 89.21084152243411, 62.02712722088506, 79.23042090803287, 49.71286823008574, 100.90780587300905, 12.096208841823897, 79.89396917196295, 71.36824145762387, 6.744278150538419, 27.507267049519093, 58.901102212480566, 10.277631951261958, 7.323974248435584],"c_map_largeint":{"c_map_largeint_1":6206866651502935625, "c_map_largeint_2":-1990626468773241732, "c_map_largeint_3":8884916436380254566, "c_map_largeint_4":-635613540319646420, "c_map_largeint_5":-1950325786966529977, "c_map_largeint_6":-690773296690783495, "c_map_largeint_7":7719527780244065600, "c_map_largeint_8":-2222185507487021747, "c_map_largeint_9":-5303416780088000005, "c_map_largeint_10":2489200119943354320},"c_map_double":{"c_map_double_1":40.87474281943544, "c_map_double_2":59.787622742101135, "c_map_double_3":38.0324972374757, "c_map_double_4":83.10406706447958, "c_map_double_5":89.64389897511218, "c_map_double_6":74.1113602528437, "c_map_double_7":78.09781317986588, "c_map_double_8":37.94109039315537, "c_map_double_9":61.07389106304601, "c_map_double_10":32.47557061079453},"c_smallint":32690,"c_float":41.868294,"c_double":3.247823621364957,"c_string":"riJpHuSJzuvaTJPghsgLfzQSGkcBctsRlVzQTbRVmRnitFoXKTePpRzVJZJYoUCTdhfgKPdlaDjnzKSGVObujVfAuRtDToEImaLJSxGcAOCrrQpyjRNXqLIwkPSsNqmEeQLmfTVfWQMqNTnXlisLOaguHtnagPRMCuldRCtYqbddFmbIHPcoeNiWJuFwRleHjIpuCEdkBJfPtoegwsUibqyMIkpMvCWxybqjEvkNMNnrygAAVyKWeTMjsHQYjNdPdIVTuITaJfMMkHsHhQrxprgHXsIeiACQMckIySugkNCsuBdzCQnjuYCVPOvuMOWvgtyTpKpBMdDyGWcSpxLDCTXpMjIFwpPgfhtWrjdhifTBkZQuBFJzSfhfICiulQBNDXlbYvaLMMySJkMheTGdXzYnIPGyOqBYxHxPeleUSkJjUEHHaqzSyCBmhHWASHfRvLaZzHIFTwnKaIhbIfEzAKqLfQCKTBzZOpcJgSuqwBuZGucbjjmqBhvvyRRpuSiM","c_ipv4":"137.221.147.38","c_map_date":{"c_map_date_1":"2015-11-08", "c_map_date_2":"2005-08-03", "c_map_date_3":"2010-02-05", "c_map_date_4":"2018-10-02", "c_map_date_5":"2005-10-10", "c_map_date_6":"2005-12-10", "c_map_date_7":"2010-10-03", "c_map_date_8":"2003-04-05", "c_map_date_9":"2011-04-05", "c_map_date_10":"2010-03-05"},"c_map_ipv4":{"c_map_ipv4_1":"204.121.251.210", "c_map_ipv4_2":"52.247.76.113", "c_map_ipv4_3":"56.205.10.76", "c_map_ipv4_4":"11.210.137.244", "c_map_ipv4_5":"98.74.102.199", "c_map_ipv4_6":"152.110.37.198", "c_map_ipv4_7":"229.183.136.153", "c_map_ipv4_8":"236.33.4.44", "c_map_ipv4_9":"224.222.74.112", "c_map_ipv4_10":"200.169.228.206"},"c_map_ipv6":{"c_map_ipv6_1":"caf1:7231:eecc:9fc0:fbcb:bde6:482b:ab06", "c_map_ipv6_2":"f81d:78a5:a529:550f:e20a:32fc:2a03:fc36", "c_map_ipv6_3":"a0d0:b0ad:6dee:1e01:99ea:6c8d:2ac8:9563", "c_map_ipv6_4":"1cbb:9cca:b0a2:bc30:a4a7:b27b:7a71:4fae", "c_map_ipv6_5":"2c33:2c25:3811:5676:ecb2:776c:bf78:3ef7", "c_map_ipv6_6":"f7d6:b17c:7bdf:d8c1:5f41:66e5:7687:21d4", "c_map_ipv6_7":"16e1:952f:4829:ac8f:a00f:d2a3:8319:2c4b", "c_map_ipv6_8":"c4a4:f11c:18fd:49c:47:5a07:f4eb:1b9a", "c_map_ipv6_9":"3e5c:eb9e:43ae:baa2:1eff:8991:a13f:47e", "c_map_ipv6_10":"57dd:7b32:883:633f:c656:7fee:1ce8:4248"},"c_boolean":1,"c_varchar":"you\'re","c_datetime":"2017-08-23 20:03:15","c_array_smallint":[-1276, 11791, -675, 12300, 32640, -19364, -21690, 8195, -7273, -2796, -6634, -975, 3287, 29470, 24676, -15033, 5303, -25396, -30629, -5863, -32266, -16838, 20560, -7772, 17873],"c_map_string":{"c_map_string_1":"fgQQBVIluFmnPnsPdjXRYMudTeTLhzxUiEfLUvYBnqTtFPKQRTyurnJrCPEVbgPOVNKkabRDbEhMSpOZIrcHgzgHldhgdVqhTacluosrrltntzOxWuJYushXIBVSCEHcWbqnsycqvhlUNUObuZLtIyufbIukLuZmTtlCQigOiaeVKQyUThMhUfwlxJLEFaXFmyaeHNLMwqxYRpECrxtVouhetmScveHlMRxxUIQznwugPNgNQcrexFaOMSNRckAIlproLQVJsCUhNGTeJkbhZExnQtoavdArNRPuAPHJGHXfciuwLyiQTngrVcAMByUGCpFTOdKyXBxpxLPwiXLieKTZSXPKacAWHnRBGUjozgvQQjIoNXnLfHyNoQpRTjzEdvtUgrZGjWEunPxgsmjyMTmqHxMjnhnMYerFEvmrZxenXYounQOKqvHWWFYhDVCZoTsFGeFxGhGpBTKXFrZkJcFBVZkPzaWUfiArQgRkumAzyxrGqqckgxiNUmXWdxej", "c_map_string_2":"QGWHwRGqqtNIiWsdLJLrQmSpaQROTJRnkWgiEYUXVqiyFeyopUOMpzvrdnkBNZuSePqPDuBZYMmKaGVvDATfxjqQGmdAAJbULxpcjYhrXQjnGIoNWvaOrwavOAUhhLoJuQcHTClhsYakCtUQWXIiImVELUNgeohZguLQgFTaomWtaoVJnlsjihUIZoSKzLDDZmEGKAxfwsnQbrLyXmdeDkkxXKvBNgAiRDjJcjRmVNnxzEYANTvXgzDcwPCcyYtNQANBrSVSElRbvccyVSvzQETcFQZPqWykoYtBDFDPJLVRqVeonCAjOTFdCJdSqEVgEworESheSzyYFrnBCcRuRZHyBDiHMwsMPVjbMStWiJpoibGvfGzTSDalpzLzOdKxMiOwiDLyzVQYgzznvmrRwuBxeDbUCajtKnhcWRVatekZsmaMhwhcEGcsDOSVUyZiRFnlttQBJIvrgVYVLxLFQMuJtlswMuSZEnusTukDZrvlnCqhAFBTQBmvhddIHSJc", "c_map_string_3":"UMmpvxoClofonrsBSupUxTCbEbMlnajSpyPbILPbrPrhXQeSMhnESeuyqVUYsKVhzjsUniafAdqtlpkiIUBkuDcgtXUIcSoSiaTJGsHoetefVISRSJuspAmVnHEfAktaaXtKEpaoMcgKRUmDsUjzQOKmEdJwmWgsiszEremJnmvphryxSTmDUiOStpatDvCCwkiSvYiuhlqVCzKOYrwifaBjUmWrzbkrtwkUleExaLQkDbYKDiucNIqItzXftjyZUAUzyUTFVuHBSedThydSflwFJlYTJbnsGOPbUIvjkKFcEQcbhKFzDHtGdygKBRyXxHJzkVxVOVkKNGDxjVIoquUnmJEZUcTcVwwYkwuOrvBNvyubRdPLhiVKRHmihRPoyqLITHIgjeLTxaiVeNhxrYOhuPrsaAZaDiDaUUanRmimabieYNEMFyXyDzPGXvwejPRpciLasxorHXMkAveFvxnKWslhJcrakrjQfDeONocluJHuCYpeLnvMmycXaKEC", "c_map_string_4":"cfwfqCrlMKrklVgpohJKVerIFdhVeygLupQMwnrkSaCjBXfPdSfvIIArcgSJbVnDZXpTriYkoObdwKFIXzYYeguqaHcoYpdqpcwPFAfzJeSWgjeoBgISHurCTxtxaGuuLwhfRHMCbNBJBNFHqJJChgsQOfJQgbKPKAZPzBDlIMEmlEZwbhbKJqLZaICnrAXcuxLremzrNlRgAfMgznmovMvbhWCjZmIAKhfeqijiIzQkyeNUtORohynoBnjwaOfnBsSZWJOlmtDkUBydoVAnLERtGEwHmAfTJGJPXuiIZwlZEKJQLAIrtEHuWSlpswBlQyQASNqjMGmEnUyyAnkVbtOuubNZoDtmkEWvyEclVGkwQsiDYoshJwFxImdxptbFtRKGreaInZLgnbAvgrpdXdqtpkXtdXnnjJbYvzwbhTmylFKyoQFaJcZrhctOaEnJpZYBoMaUZgaVFkEcOnwHUZKbcgbIQTeUZZkqqKCEncDxzrEPaCgEKKOqCnIViPdL", "c_map_string_5":"PdlVgWmrXdWYXqoMBuMNSVZMRmMUqmhzcOUUSGVCPBprrqBfEfXhLjDnpfRvOjslnkFTAVJBaskuZWkCbbPRKJwAquVuepksJeINQHQCdQvnxDnQLjwZSRdbHTOkSeReozcOrRHGWCVJbFKrvPhuMOAYIJoxOHeoNQzxGqpLOStAHgvXjGvPAqLbTjGbFTGqjlcvdmZcysAKYPrIESCWwyzWkxitnrvVZaGxmoZTFflEBNBMCWLSKHpFkhlOXFHGtSlTfAOjgkHeQFixZtKelQlrrWvPmvXXezobaHOqWmYPwodhBghMzNiFrAqZsMSlcFDPRfpVxaNiIrbpdpfDWaRDFKKpPDrYOSnKQILUHveTdtnVNZQLFGFYnoBIklRtByXtvKcEVnKuKvcWiRyGKHrUSLoCnspHcXYkcNbWstjfPekYsltRRzDxmvrNrxyKANTwBxeevJBEdNtMdhbCPMfinDZXJOtfijNVRmsSjsOMxoncNQptWhqywkYWyKMW", "c_map_string_6":"NhcYSZBUAgKEoIyhFEhUPbGXSARNCmAbXPmNEMJvNkeSKAHSNRixTlMBMWeclCOkFFmpZHWfzEukVFdAdCRIntbpFdiFkTQPyRzGXDOibJkwhNIjKBxQNVyGcdFbhnuVyUcxqzPWMnRwarCZnCoyAgMOxJntIeScbZfhmkBTPlSImmMvpcqyHwuBZqVpcPnSpTFrrLVvQXpOeuFdWXpTWzQUGrghokTRjknTsMHiJxDxjoxjIwRKIjkayfoInKtQkbNJMugxMUCwguBajQAgFFZnRvdxVqKMtpFDchMQcgAovcaRLKkejAlOrjVGXFWmofVGkQmBpKXbFtbWKevdtYxyktylbRphOvFoyBtQsJXTDaugnrkracBmsUtnVFVmEiYBJhflQmXUxxNZFptzULOyVtmXzmohNIDxlMYjaARfwGmDxVSgnhHzXwwtYdZfUgrdnNPZpGBjDEyFfWpJchknNntHFKjwWZxAfeCTqQkzvbKmLQdpzwfDhjScIbGE", "c_map_string_7":"uSfNmVDDHBbZqaMiLWmURPLXvPfufChPFdjlFkUHLtpbYGOoIKGkbsCtejUddWdIeHSsyLvislhYYalxtTnsKwslzXxaHAlIdxgKJxkJUIKTrVealonxGfqLYzPHMzigojWsExJqXyTFktikbgjmokHxRdxWzEHoYkVWayOrGzwRyMDaEyhiDjAChDjKikAlnxjIVqbLbfLWjAyYCuefYPdCaahOaBUicPeNRbiDjABPUZhezgvQiFkGogHcKYdgKXYYNwLvuRudLhFvxYUHEosnvfrIKZIXOzFRgQHxRnQouNjVdutZPTogPwCuNpbRKNhhdKVazVSytmIIwkPmuwGSJVwAHhrhByRmvqFStecfShwJSLqAAZsPzQeqyBHsGmAaajAtBVMEzhjQXlGwemuOJbntKLjQiMBIZkalmrzXKYETwoFQyHzdzhxQxXXAejgNYTBnkTFtuPAaiNdFvagXaZvwuHDigJUedeuyELHOlOZEYLeNTazgYaAFUMyL", "c_map_string_8":"XbUpvnsCeePGPMiOXAWnEKObChXXNFOMeKdkNBvmSHbzpjxwQnxImPKLsEwnkqjkGSFXqHiyolMdAkzgSSRqsBrnOVpLJuVfARsgpBCtFBwtpoLJmZtqvapSwWHUdUYPHXwGOGgntuIsAqrTAwWJZeEztbhVtCbUUAvjxJtqUMrpCQnrDldFfDFyRQqZKDIFszoMuTSwODfBmEoWqiEygMwoJyDEsKMbeBTFgsypTpAyQPzqcLinXbgfiTqELIvcfqkwMcXuFEtQMJELiGAboYhDJnlxZgIfBKBkHazQNPWEchyYVfEsOpHKjgLOdtZAmKKscarfzfMwxHncKHcCeMIfoaziGaZqwkZvGcqsyRMYOSTgvWyVlYqmIvrOsSeSmFfeXvbIPPzCkqxpSRDDXMKVYnFVlJTpPBOvAtnECglMyDYuIOcEaaMTcWtMFUrSZjkoJzBHjQJWIwMJfdgrplmBfGbCCqlehgGGjGsROXAJqTWFDYKHtYlwjVAcLrym", "c_map_string_9":"KHwjRCTRYPVCQXCptUGQDiIygeDJogsNPpcsTkdERSsZVlfymQwAzMjcTNzHTuuvcXEAGuZAHjCYKWaMceDvtIwuiZYKsXXmoJyBQPDsyphWBvQgsulkXwrUMuKxWcGKXodVeADCCyNPiuwBiYeTiGRLoRwryqxGPreqobFpjxlLDMxemufOQHPWrujlsZTVpnFDhEDXPxlzHsZcNHOlCpAXClATInFxuYeKtiPVeiZSfYQJXNNmxODfStfhTyHRIfWMKAPUlFKsrqKEvOpeasMlIBvSdEpxTeuseDrEjEGnDTzGmIFncgCAQdWXLokryDxxnfoNXVAoLYYMnOzrAEodpBoyMIIyYgifEdbCkNvNFZXsksHqnOUUXcZtRgIqZtyIfCJtULjqsFOEJaHYlKqKehEzhgkJUTtxijfIBlnMtQGjmTbplgbYVsOWsoRjQyYkHCQtocWCQrlvrNdSnuixkhDKEFftDCpilweZRhWPjcaXKhzoqxvSPJHIkRXI", "c_map_string_10":"FPYAgmVKylTiEozAaYLRXUdqQNRBvhIEbAbDeAqFPNHghPKXZPggoIRgOnBBXWxiCoDnAcBtZdMtYiZofdiwnfvyuSEyKQRKjVVmADjcjgzaenzfRyQMzYHMHBWZIbFGFIJueAFJVZANXFQlVdtNABPgUbjwLmXOHqrRdXaNUugETkjVcmCrCGwMSAOIEcHrXkmYTyvXrHxDNicABUeIDLdKysKUmcMJkmdIAYVFXbBXuIOUuFRTPmDWKtzUlvSirnQYSwNNXwheeKQgpBvavYRzrEmUoIzBqLbVTjOWdmgyMRNuRTDPIICSRZEmOizEgPzJUjRttELUrfTkzTNOkKCSMNFFTTnhRwlMZfGQuDBfTVOIwAXMzZyPOksKmHHbbhXjtUWURaMiizBwCHzLRznfUkUjuYNnWrmwEdGAiEbaJxOjsEXPrePGYisvTNUxpsrGVwjqYcRlDtmWZGAvfjRmLgmsULTGJDKptlMpGJLDrLHbMDLiKETczbVywvUK"},"c_date":"2007-01-27","c_ipv6":"f55d:f2fa:d3ce:716e:f144:af33:56a9:5ba8","c_array_decimal":[65.1564, 31.0121, 56.0261, 33.0275, 2.0286, 37.1826, 67.1160, 47.1446, 41.0068, 65.0952, 29.1703, 19.0171, 80.1512, 64.0912, 52.0454, 14.1379, 24.1165, 29.1499, 81.0361, 62.1959, 25.0142, 46.1828, 43.0028, 85.0307, 88.1906],"c_array_float":[68.84157, 91.42553, 24.67498, 93.89589, 31.573545, 71.07645, 21.139284, 9.950618, 87.68549, 61.747925, 82.885155, 41.228966, 8.26847, 63.406155, 16.369917, 70.96368, 10.472132, 13.963568, 60.420887, 15.569497, 88.1543, 62.94228, 1.1287143, 40.393707, 86.49657],"c_array_datetime":["2018-05-05 19:26:27", "2006-01-26 01:12:40", "2001-05-04 12:35:58", "2003-11-09 11:29:11", "2007-12-01 12:26:16", "2001-01-01 20:50:28", "2012-07-20 08:59:37", "2011-02-07 02:36:33", "2018-05-26 23:52:17", "2000-10-27 21:24:41", "2003-01-07 02:08:49", "2010-07-28 02:15:20", "2019-12-01 08:42:55", "2017-10-24 07:04:45", "2017-07-15 23:34:42", "2000-08-09 11:14:57", "2006-04-28 16:11:06", "2005-07-22 21:46:57", "2012-10-07 00:25:12", "2018-07-06 06:30:06", "2008-10-12 16:13:31", "2013-07-09 08:15:56", "2011-04-01 15:30:36", "2001-08-06 08:37:39", "2014-07-12 14:25:01"],"c_map_smallint":{"c_map_smallint_1":-17861, "c_map_smallint_2":5400, "c_map_smallint_3":19652, "c_map_smallint_4":22625, "c_map_smallint_5":-15348, "c_map_smallint_6":-29715, "c_map_smallint_7":-4420, "c_map_smallint_8":12103, "c_map_smallint_9":-998, "c_map_smallint_10":-9230},"c_int":-487305741,"c_bigint":1163384607509655284,"c_char":"nWLNGDChBE","c_array_int":[985340259, -705698603, 1479629156, 412651320, -977325076, 910567381, -241676954, -838264505, 410762297, -1567758091, -1270928564, 236473815, 250245790, 2103527697, -1067984511, 793525489, -231946075, 1461861666, -1203226787, -1999344332, -336408776, -407553017, -2066687307, 1045662793, 1294389284],"c_array_char":["xGHluwldlY", "XpKyqbvVpI", "IgfHrnchOK", "mrPulbzVHM", "JKPLDBJqGw", "rfOTSITKrc", "TkkgStDZQN", "bIFzDeppxO", "YiYNRDwZPb", "VARLEljKRA", "VpmwQhWRiP", "NWKitolOHc", "BwhOUwzJzT", "BUFjFlttMv", "NCiZsuLHXJ", "hwMDfjKJLG", "jWljGNwscI", "DDEFBwcqAr", "NNWqeSQCeX", "jMdOLIAyAG", "aIdNfSOvje", "UWNLhVXYLz", "zAJPNcwNZp", "LukjGXPjXh", "anegiKVXLl"],"c_map_bigint":{"c_map_bigint_1":8669447541295502672, "c_map_bigint_2":1740343225069135111, "c_map_bigint_3":-8012910490456346732, "c_map_bigint_4":-4807474253833164922, "c_map_bigint_5":3572310366707422905, "c_map_bigint_6":-539803675489499632, "c_map_bigint_7":-8576808211502102654, "c_map_bigint_8":-6729135951789956575, "c_map_bigint_9":-8045091322383740252, "c_map_bigint_10":-6171250377962396058},"c_map_tinyint":{"c_map_tinyint_1":4, "c_map_tinyint_2":35, "c_map_tinyint_3":-36, "c_map_tinyint_4":-117, "c_map_tinyint_5":28, "c_map_tinyint_6":-85, "c_map_tinyint_7":-65, "c_map_tinyint_8":-86, "c_map_tinyint_9":-122, "c_map_tinyint_10":123},"c_map_decimal":{"c_map_decimal_1":70.1610, "c_map_decimal_2":83.0757, "c_map_decimal_3":23.0782, "c_map_decimal_4":48.0302, "c_map_decimal_5":6.0497, "c_map_decimal_6":1.0625, "c_map_decimal_7":2.0629, "c_map_decimal_8":54.1222, "c_map_decimal_9":62.0678, "c_map_decimal_10":7.1629},"c_map_datetime":{"c_map_datetime_1":"2003-03-16 07:24:39", "c_map_datetime_2":"2019-04-05 07:50:31", "c_map_datetime_3":"2013-05-02 08:32:51", "c_map_datetime_4":"2005-04-13 22:22:39", "c_map_datetime_5":"2016-02-21 13:00:08", "c_map_datetime_6":"2005-07-03 09:00:03", "c_map_datetime_7":"2018-09-04 03:18:51", "c_map_datetime_8":"2012-12-10 05:14:23", "c_map_datetime_9":"2014-08-26 00:42:16", "c_map_datetime_10":"2012-04-25 22:19:33"},"c_largeint":5086392661957862887,"c_decimal":53.0588,"c_array_boolean":[0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0],"c_array_largeint":[7177354723820833103, -7372022908147529678, -4082760107338574873, -4930162382929641941, 1868803635866010428, -4890482723506202890, 6166879975183396698, -122683555520178969, -807630636372739480, -6883257206073487221, 4614806058472043004, -7714877834906642460, -3856363848179214598, 3857443863272228105, 2202244144265730406, -7252775306139811488, -1144251936598323370, 7666380702842518247, 7806973985802014532, 6990378914924554061, -7332111297698044136, 3011380721002423095, 830913071900495569, -3128670604409956893, 521562872724387590],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_array_tinyint":[64, -20, -62, 35, 9, -30, -88, 21, -56, -9, 111, -24, 87, -64, -109, 58, -113, -19, -17, 72, 124, -86, -107, 44, -112],"c_array_bigint":[545536121748109085, 8938809973849976999, 7677737684126879112, 747540703851635049, 5384819745519469960, -4655298708011300808, -5966093420377454602, 3024076944460659278, -6489113917131205789, -2919622328996602224, -433966185306261623, -2352241008570583086, 3952781445882491227, -9124838594980798481, -7833460365194076636, -4258819619985798329, -3344701788817843751, -2564828986707654852, 1470224535600722666, -4174707001021148948, 7383135768663579237, 1470227849526587059, -958233011106940973, -869849836538306945, 9014637467100899866],"c_array_date":["2002-07-19", "2017-06-26", "2018-02-11", "2001-06-28", "2012-03-17", "2002-11-12", "2000-02-15", "2015-04-13", "2010-08-01", "2012-12-02", "2005-07-27", "2000-05-07", "2018-04-24", "2014-08-28", "2008-07-03", "2001-01-21", "2015-09-07", "2008-04-27", "2005-09-13", "2005-01-09", "2007-01-12", "2004-01-03", "2019-03-27", "2008-03-13", "2018-04-21"],"c_array_ipv6":["DyYZDJzlBR", "XDpRZRTZMZ", "nxfZDllVmR", "IwkOGWqFyn", "JZZuxcMDIS", "DJjQwvIEAc", "dSUKAarsIG", "TzziZFFECc", "okqUyyXEFz", "CCMsjiHIOX", "myoncWnhKI", "LKjMxBiGzF", "bCYPpsCsul", "OfmTFxPERh", "myeszOpNKp", "pdewLMxACG", "EAfctZIgSz", "BorwFipRkS", "mHdbnaeuTj", "uWeyIlWhGb", "IHbPVJtNEx", "dmernocWMm", "cjTcqBpkZt", "mbIivcNDSV", "vNEGIjqnqr"],"c_map_varchar":{"c_map_varchar_1":"BCXXWWfXdiJuvqricrUVoWEUDKVSrOWtDzflpHnSZnGQGJQSEzLlDJHPtbGpjMtvQHtNSRdvhWvZnXuLTLgxNpvxpXUageWVZqJWKjVvGsuwzyjuXrclMUyXiVovjIFMOMKMNHFPiiDmzNhFyXIzdAtZZCGirnNpdkRXwBvPyKjXSDzkHmJleYLCfACvGiVtjWsXFpkKfhCYthwFAcqCLpWPKnlfxPLlDihRtgIreWzpAAYTlpOmnRnQwqanlGKJ", "c_map_varchar_2":"JxfRaCxXqCMHRhIXCfAHiQFMmkNzgkshAeQUZKvrRJgAhzHTOxBeffYDtGoBHHSCYEGsAsgkYXGOhfaHLMYlIxBMgbPqwdIKoNwxKmyMEPwUypkRBNAEJqvQbcUhLjXWWGYnAxuCSUVtNCAITWuLBnduuMYhwDyNMzMeNCWHTrzFgkzFtsfoxehZHaNmRYbgJYAlbimBFZZBkPPcZuPUhieymKUjApSudamPKIwKyXRlyhorOiniliMtlxicWGdd", "c_map_varchar_3":"SEYLHqAnyGfxIOozfvXASjpLkPdDWkKeUmXLeuogkrMeODFPdvOfCxaIUZLYqvTogzZqcHiRGWFZvFHrdBcoKlJZKhPBPWUeOBBblknUbYiTBZMyWhLoHTBHjzlfvWJhkmCDqaVezcfbzvYiFiIRaCyycMXzzcKMEUAUvUcantZnatGsFagWYgxGPhlUfgJmNurjsBZNXvADIQdEipMPAdsFpgXXzOyXnERHPeeCRyjuUNSYJPthIZINmJumGumR", "c_map_varchar_4":"MkbQjfukCYEnTkAWgNPeBYhSXizgyRMwxYniLqtoOUftyGdNpUaxMrfWCtibLXUsFldSnbzcBoDvYdZdCWDLTNhCQQlNrVQWCAiopzrfNnepLeIGJarUCdYulKuqohBaHNlgpHzfKapQoXizwaAxlNOCVBmpGJBrmoHuSChNsJMImscdpESqSzsLgqSBrXqekAURBSdaFGKeqjjWNSyQKeavkMzDMHRZbbXdNeynbeuQTtaoHNkXoEkzmBaolGDk", "c_map_varchar_5":"oreSZOhIJiXWrxBRRwcjDCpBGQRNqUEYHndElhELPCEgKKxJFDtQgcKngRuFRDUfPoEgVMdPepFDkoOzHoNCXDlyqnsgZCahiLSlEwjwPYFMzXPdCLPGJeONACbDTDCqkFQotKbYHCQcDulumWTvBMkYIlkvWfAFhIPIycsMPqzpGbbsVyzhKkUUzaSCJirLHiUYpFtKjcXPeTrvLFaHczvkKnFSFnvgSRgnAIBgdFoNeWHhxpQCyRBZXbCcEnrI", "c_map_varchar_6":"eMHfpBjfKBNSOiyDpMpCeslzBHUpRMuwnjsLCjSRcPYPFqUGRiQKPkPQqlfcncnDYbeLoWYrPHANNgwEGMWmvLVrBlTaroCLybyniRfqgGeAcxUQzCVYbENyFdbZMyryqiODkhFrfoAvyWUPKwlmpAiUvjHvOCygxYaKnOsyhvWXwPQWupEvHLsdIViSrnuvTVxuxeFccMelEsIkYuElaoehPSDSrVNWOBGmqugfhdvQtiCTrIsrWIvXGQwFidpa", "c_map_varchar_7":"JhlzzzFipeNwMHSHUWABuTcNSGjsFQOnUaPaUMjfENhAwdfTFCfMVkFvqSfgSaXFIigRMiDkrMUaWtTCoeBYLSscaUwjzaSWWlLVOGRrIoShdWwNrTzuVmsuSwHqXTCWsKZclnkXMNxvpPFEzbOWFrrOzqQCOUVnNbGMXIjJndLkmHMWuHmYwcCvUlFgHsViSmHxaykmllrZnwnChDcXkBbOPbMoZUVpEyAmZhtRByFwMdRSTawhQVlvcOrIudEp", "c_map_varchar_8":"cfTttYuokKSGoCDeBHijuNwNKjaobtagGjudvqFdrsXDvLdPLzRWZhqNUgTNjzCEAGEXxkPngujGowkLqxMLjCCZclUGRPoYSIsLmmVsTkRZHBNaKhWXTKbljgeLALhDHRGzYcDEqoFnpmylBGhXSpSDHuQiAnvyfGRldxfaeuzKTQuaOxGjoDPHRQkWCfiVhpyEXnbhNAINHxStZMrgRReqmbpgwSZRDhoVRwTqccmnVvQiPSUOidUOHMGAelDP", "c_map_varchar_9":"zcFrweLRVryCovyOIJmietxZquuuGpfXPUKVSarUALzAEsJNueGJYIpcMxnoDbQwfCCYJbqCOavSTQKrXftbwfzRKKPHQLkejxzEjVWegRDtyjWtvdaroljBChwwlBTosxJrFZzwSoqEwLBMPFMtjASfQVaAOHCyFSVegDPaMguHBDuOgTkqwZGkTCblHuUjaLTrxsIEvwHDNlpNLysKmHTOuJioMLbBgsYVbbRLgjZJPjJkUVAoWjyZyCOBDpUp", "c_map_varchar_10":"TmEKqYhFiyAFhWPFfkKUkEGvFBqecOLczqkREYgcydYipgHXqRgdkeSidvFDIDKVBHEadTwiwxcrfmIzwRtNBzrwGCgoXfoGeKfMVQtqRvnBVgTBFdufjGNsaUlJwwnMLltZUVblZiUhpENEEAEUHnDhKXGhLPhPffrfdALzXWaErfHXridDSVWwsHqvikvYNstgfmuYGyabnUEgImkjLtzuIJCPJjHhrulxoRLOmXoeCqGWeagliLguGeWZZQMi"},"c_json":{"nameprefix":"Mrs.","dinner":"Tropical baked chicken","uuid":"a3e2e896-7730-4b7b-9c24-7c3967a2ea27","timezoneabv":"MST","username":"Schuppe5820","domainname":"forwardscalable.org","day":27,"minecraftbiome":"savannah","verbaction":"hug","farmanimal":"Goat","hackeringverb":"parsing"} }','{ "c_int":1573921239,"c_array_char":["cAsRIgkbwV", "sKprELKdNW", "mKWmXjSGyk", "UrwnHQyYAY", "wXoAPoaOxI", "sdLhaZGcAq", "ApYTPKjydq", "WtXuDSLUpG", "kLICPeDYCk", "eysWNkJqcp", "SCPTiQthbq", "ENNkXUSrYr", "DSrGTSMQYf", "gnHluAMBwk", "jPdbrnHVfS", "WqjPSKMrUk", "VNzXldmFmz", "OxxdIXRoNO", "HcPJUoyYyz", "arHQyMgFyX", "EzXKJzRyIh", "uXGpKrgUMa", "FVxWEkNcon", "sxcYjwBDJb", "CZGiZlgjQw"],"c_map_int":{"c_map_int_1":-2032824361, "c_map_int_2":-281019168, "c_map_int_3":-1495443193, "c_map_int_4":361677952, "c_map_int_5":1791983625, "c_map_int_6":-1963205874, "c_map_int_7":1440806754, "c_map_int_8":1341441025, "c_map_int_9":1373658638, "c_map_int_10":-574725430},"c_map_char":{"c_map_char_1":"RKtIjwLDta", "c_map_char_2":"rTiBZYOLGH", "c_map_char_3":"RjiAdDGEhX", "c_map_char_4":"JnaFWGevad", "c_map_char_5":"UvpUCnjPNi", "c_map_char_6":"eitXXniqge", "c_map_char_7":"zfoCntAOfv", "c_map_char_8":"GPBRTyoSCs", "c_map_char_9":"JGsmppDwzw", "c_map_char_10":"bMFberbygE"},"c_map_string":{"c_map_string_1":"DBUoVfPKTZlnPSEFcnZzDpqbZQdiuCTJbxBFUCoZKnzYytKyVvINkDqpkESSpqnaetUQaCHnpWBxMNazjIPDbnvCsfCAzjhafquwSSQlQWaAAZUIliTAKxTNOUmXhZOzcXrkuaHmesWaYhKpFiVbnZqSPRvhjkRAGzgFzvMxyrDeWykoIabNOYdhaCTBfnmbdaQVHpgNktktELbRaYHYAyyYhCifTYlpjvMeMSMBRUKmpNUNoPSVahKvUtSBvyeQfcQzpwocdfZcOpDgdmOHHhXqmtRFfUBfBLIaZfwvroDBVEWnxtjMfxUIMCPmrcAPIBLsAkXRcsgsrAXbIkWaRkbwuafdDRtTfnwFjgFLbFpiByxqrxdXwJjWrmymhyNTRRShOUMPSskVnuUpJvucidDnubsoEjkODZfFFLNoplEghIBTYBCIhYGjrxBpnOfoYHEQvtsEjBEXUkpNXzzIjtYRgkHLJcIezPfQQmHLSBTkgblsVpRjopaJThiFZPVA", "c_map_string_2":"gvTyWmnGTqEzMmHHpKemmnIWTtnHpGoeXPbfybbcQZbpZUMWRKhUNQNFlzMvUCsRuOnwDQAafzJYRAWFdnmUmsbVrlqLpHUNHmOCbAdBoixczhUQqXzByTTXzIwqLyHXudYHWvvrJtzgRHIICvntZeQlvhtgeTXIPCizNIrpsysorQOZMVXMOZwwKpiDpgjIsbOtknMdDyEAsWjtvwZvmDjYJxkUbgDdGcKvDbZhuIWKmmJGXeGiVDEEeHpOUwuFCoLqGWVhoWavSCDhSphUPbOcPdGILQseOFSKLDOknzJdjAHndHKxblGyMFnxsLEmMzthQArjLiRpQFzBqTNBqIHZLpraUFzxKUUgAglTWJxxhZdAbcAqWXUPXqdYkhldjzgXBQWGExiFPJAkSIXOKxpgrnSQatfxuvVptujtHZACLoHcsFVYroeOCaLpnOkJXJTZvxLzsEDAfIAzgMjfabpTbDWcPFEeCEpsQGfXwTJjqgicgyogwtKSUtMHrIjf", "c_map_string_3":"SAJIdMXhyhiazraiONsFAJHajNIqJIRrdBZjrLhvqZLcBKGwzhbSbHxZltQtatQGhutpzDCWODxlVWnlWbnFRQjKfKuvRMzJGsWiKkmWkqXrDlmwPypVuLOhWiWSjVZfyhrZKeWIbZlJkyDvjsGYKNFopiiDZMxOxygLIpVYwRpbkubLAylAkswQyEnDMvGqVdrqZLQzFHDNLwbEOpghEWDGfUaTBSwcQXIfQQMjUrzBEwnBZiGogeehApXbgYEFdppgiRoWwqpmRAecwfSgmBbKMDibGJYxKnXuqxUhDwzJnulPjmMxUmZgnYhCOjjxvIosrgMNoyjKWbfHneQHPNqELsmlVDHFsNmgvuHnAHociuiEHgKRisaUprTEojDvHClfLjdzGXbIeZIxiafUskrOBcUbMyuTaUzwOqSScuFddMuNBQmvfmNEnmbbolLFxhzvnjdOOTpxYLbzhsraTtywCuhHAAaWcdmCZULkKJePyGeoSVrotYpvMqcMlKCd", "c_map_string_4":"kBAoamhYzcgRpwJbbouZyzmwrRSlrhpqhDNBMfTCGsPPKVvIEgirktPGrLdajKHSGLYdZKzokvtpPKjusrQJjeKKobOzcAInBqkaVFRnUCxptUldXVBVvYCAULFmdntqlNkEqsznGklsflKuhqqjTUJSowqlqrQYGHGlCfSJBGawFgYiDgujGvqAcUEYidZUwmxooKNnKhnSFfKJgLDLLaXJXyZEXtxPZDbTINKcYXPStilirFjVJrBRSTCqGdVrpPOKsEkHRGzFhZMBmvpOHBhelTFjnYTLThRxdCweKOyDHSpEYuxLddMmknsHvpcXVDoPfDcsNBxQFwsELTcRTsDwQxKOIGUGsWfrYVdkiMqStigFxmCSwDJcFLSUFXDCdulSQBoLyynSYtcQmtqPexLSuYCXxljjVjrcMvpVRRtcSwWlYEmMWEluXFVoFrIeHnaRUzkJQfHdNPZXrCAhcGQVZqSYWxlKuezZOhcjoobUJMhBXMJXAmmxhpoAZmrj", "c_map_string_5":"DwwfiXrQQhhMObsYZdVXCnMbdrrdRQXcfycEteEHsyNRPHXjFlkQseSvnDIhWWWJzPAPNlJCfVAMDEjcbcbglpYllYKrodQJYcroDGUbffPrOzJqdgMiXlWtJlblOKXLJCTNyTTGbOSTYdgWVwQwrjWQJAEBhPqlOtHcOivSbVqwRlVBSuuCnVUDVPEwTHoTpIgGdadAdGAzkbMSZeCPSNkrpvDvWvRNiAlfSdoMYooTeqjZnyILatPOCqXztdSjUumpiQqAiTqEuKJrJtxRgiPxpbddlalXiiyUasbnCNGwQsBbvxrbcJvepWDBjtHVVFdNCTdDRXUzCyAqnNWmZPvvyLKlHFDTKIaZyiENBIMRyQMqGPqXcPrLUwnWideZeQhndbfdyxIFEeMwBopLobAjUjFKXfDDbCFgVanLmVBHJyRiwsJZiQYynlCLVDfueDwRMUnsOXEDfHFPkLnxboBhpdYpCQsAnEkxBmyxwNCcolGCzOdcwDRRiXrZFpPh", "c_map_string_6":"MKxVplPFvrJXCvTGTBTyvsQEcCOHkkfFgGklyWPokpbCXuEjejXrisRLhDGZKHLszFhlIgVGgJKyZVMXMdpDcJPIQtKZUPymjEyqQWIrPTKRaMXRRdCUOUGPQeWMVFDOqFsIDeqWDLwwAfUhoxfvkpWsrEbzNcrrwOcaZYQGrjEhHAigoOplCoeJNEwRWKCCbOUOgLKtVKAjGEqpwhZwOdttcuvIYoAJxKYNtvXSLxxEkJPUAkIHnHTFUXoDPAeALeyXjaEjgvrINXiffFDjzNtlAngvdzMXYVXXFAAKcCEHbKnkJZOtfjUdSavuWKrWVQBOmocUJnROGbQkkuFayAdtktQcFpImjfTaEqVbYOMyTwTcjHyploRaORHMmFTEQrrvNgQvAcxrcLsjjbIMetxOqdSOpJVyDpRCyYraznEiWaOvRRQWPNuqjysylqhbsyHfGjIyCsaXPqgYxlNMjxFoFvQNRDtyFvXlURLNMfDwQecaQgMDKmCETcZnmkpv", "c_map_string_7":"CKuExuehDBeRjXTShhOfXvslrFgKyuypAOcFObmZyTXnQjMrLtKNSlGpGdTUsvCqHzSFgQyUcEiPfJreWHcQmvaWVShXhcLPhxifjRMWCFPicjfROjaJCuikEGyIQthrIOaYyIurVOXClMoLjWPjIlnAIcVxsdFwGcGXmXGDRSzIGucowTsmmQyztgwazbWwtqHGMopKtVIWKDhYTfCJzcSEfmrTxpWaXmuQESheVbhpDkjgEFVdRMZmkRkRALNAvZVOzPmHweCusEwZJuagzxtRfMiFUFrfiajyeWBSGHxJCasPrvyHPJPmqHuhMRreZvrNSqOfSWcdPpGAMkzaNInYlBfecxEmdGktZdXFOsVIYUnrEnnFiIFqrjphIUeVHGZVVlGgijlumaRhrhXqbmAZeWQMjYSHpJHLoVSejGVAdRaSqerHUmXirKrfGDeBZplOBvrPuhgyAkShVEnsgHYhfKYDOwEtkBRUufgeWisSNsUfGDczpsFsiNJziUNA", "c_map_string_8":"LQvcukQEjuPvxbVZDgxVZWTFtLdNWCSpPBdtAIACVUDwbrEzaIFPUSNmycYywKSZqMjymQRrBmYzQKLDgTVLWNKkBynMcqLLNkEGHHrviNjawpOJutCacdvqsGwIiOsKoIHhWYHKDVAslmBQZDZuxxEMIFzheiBEDUmJndBgAFNeuoUFJblivtzUDYPEnAMKWuTVjNLdRQyozPLtBPYPxlrzGXLVIgoosaHtFhtLZhWyoZchHlfaeVGpkmuvJjkcwQImySFnIlEmgTfIHLgspBoqDGDEWGPhrDBrmpYRCTNpchNQPaRxVJVZvBXcDMOtOjezIbamDOvCAziZPBelkMElmJkXLRBGWPziVzlYnvKyrdCVIFQfWPfjNavIPvjeBUJKryQzAXIYFkPnzOMeAwxIzuGOhLpuAaSNFybeOCqKwsAQKJutZaZgTtiOjqDtfjNWVueNPfBcQuHqrsDfPiYcvFTHADiCiUEvGMOuRfINfKXVNaNrbXYPIDKHEMLR", "c_map_string_9":"YbbXMajKaimOKeSdNpIvIljDGCnECfWzTjXprqDGaythWmFjkVVcJQvYCEdRjQgBKFWeLhyObxNrprDLDcoEulxuHNnGhpDFKqHGEjoNtGdXavHcBsIpcLtyxHMQzwWsuwcBKlotYPBiFVMWyJsPRRTFiqqgrppSxvzSVQcbyxwJdVhWCxREKZZCShIJPyOyPEriFczDUrYWGEiHpqEpbzopvdWvZFpOOBAKMLzcmTMUcWyRXGeMGMLzscUMpUdxwhXthDLuSqUzhqyOklKYhfyJbdgsppDuWXyakITqcfRXYPXpmWLDUDRQEjSmxNTIPnQcaopVqIWgrAeAnjFDSJnZIvpLAaINTluJHQmygfmtBqkEfUSFihkowtzYyajLUYEpKmsVPbSEXkGVXCzdvYbrFpuoWQHSViPHcgUkGRUuNpIhPtYodayhbOrNnrGriWogoogIYjRsRbsterTqUlSZjeiTRYNKXguyxMlSCpcECBdxTnTLOMRqFruxajIK", "c_map_string_10":"PyUTIIHgSTHKKXjCVBTNJOqHMbvBDreWWArFVIbFMwlVIgoivKYJsBCTsNSqjHNohGHAiZrJvJiJqPvMmWMqjNOtrepqqjZOOkeaCfTzlDptWvZIvWawDMomlerNozDUfBDGhaOIJCsDTrZJQEqUYGNjdpXrbhsOBQByDfYGlPbFYeLocqvvbWJlFdxhFSbqLjOxTTVMWTQXRoOWUWFGnOXXWEPDnQiTzDLTPUWjedpZsWOvPGXtdZIKvhzXbCInmMRlyCBfytfYIbucgvKdqNPQRlcCylBfNFTbRrMcMtuhSdJEiYnnbiHKXSKDAWpnQpJfXStIMKGzVrJhTNBcZfaWszWNKaDgkESXFRoSGvlrhmrhBMlAlMAokDaPQMIHMgwVaSwALsxcraqeDxbhzHtclhrqXmuqFzvCnXIMGTgmGsDhiVeFejzLcXhHDDfaAGKNEVmxoSIHlNJilQekeBZoYtsqkBoThtbgvIcdNNSUiSplMbIehoImgloaosQH"},"c_map_varchar":{"c_map_varchar_1":"cbAGVxvLweRFnGIbLhOAKcWfxhkPZeVmbJujjWQuqGMqiHEVTuBsaLTZalKKOSyNFIAkmmMioRjuIPGcDlcPhlwEmEARqJvudWTzZlOwzDiStHutrrSXPsYUIVZlzbKaurJBXmlSgPTwOJQyyOLfhkGQMJnFqlJhjVyXKFLxRBaBUPjqytskxSWAWcdfSkVPOXkuFTGTYcLGKhpmizrkomQEtUlUfTRkrWYfOetvretkYiMxRVeANfRmwRNjDkSR", "c_map_varchar_2":"cBbbVvZrjvNnWUuvCZoNhcxTwoUNRBJEvmLrGHYNODdjKrgskuVcFIxeosCakcdUNckxzJyYQYggQqhJJaXIUQnzTyaDFfLAjmBDUxXxCTzLdRoyOSRxaChPMyxXNjzAfSrUOnPNJvmxFTvHYSLGpLrNQXpgYdlVKNKSbKYOKqSpwRHfYpIvVnMjzRFmrHuiCdTJCeOYZmQDmhVZiSKgqwbeJfBatmocEkqmYwRBNaxcOoLUtSqcAEzRFsuYXdSd", "c_map_varchar_3":"dRwHYuhJTerNVZTSYEmybDWePzzCydjKMcgXoKbhqNLpvsLdzdxngrNyBOhqWRdEkCIqikbQHXzTCCnDOMJezQhnjQeIipzpVjkOAdjxmmbFXdUdPxaANdFVCADTWxTkQgbeBCXtdOZSKFkGtALaWUsvfOTVhlldkicdvefBAbVvaiCkRJUSxNqOJzTKPasqFnRywpqzRVtcqZduzsSdYHfyScxjWRmEnqxNeRIlzjYtrewpTEFogRKZnFRjZwgf", "c_map_varchar_4":"hGOhHiOgANdneRpIzkzYUYvJpPyAUXEIEkhLYPQCedNURuKFIWeVJXCnAilavOLZhQXHTihfPtsJgcXrEgzVOMQeVNzbwUlFIXFBFTJpYTNeWWmjkdNbroGMrKOmFbuIQZzyAsxCiJGjLKJZZkSCJXrQtEJqSrBKEToPMckFwkpETbhqosPtZqHogokMfNbHfLGZlSQikHnFmvEGKgyVjPcyPwbjImZOpWaVEPxSgGFfnFFBZgLRPXbaOzdgWUxr", "c_map_varchar_5":"xlqNzzPeyETBKofbFtMlBGfefopBxQHTIbpdKIgJGMCZXgmbyCPTkWrVDstExpBVUbcSgMwrrtgfNnzSUSqRFUjioJBlXBSROAngeuWNaezFoFweHyqPSTPtVidfyTVTlVhlUlDqJxYvGfkqvJnirPGnQpkoMzVomXmwNqluiNgYqokFptKXsJUQgcECExShFsMkuZRgzvjJFwCRqEQtcLdFBjVlAKjUKrzXeTNnkoOBrllLFmaWdToYRGBwrPdG", "c_map_varchar_6":"kYFLRsyLYfItLiXWRblDoSSfzJsMqskSZqpvhfvirWAYxMFMTvhGoiSIoNGLGEqAmTVexXXNkHQTREqnYNsDXvouzclKMruXtYVRTYnFPmHKvLelJaFHGTUDrXNIkfcJNWIplaqOqGazpxDfDyASTlLblxjMqyvkehZRbphFFUJUvCxSqKpwlRwhJgBoUCSfyKzKhuGGjXzVNaTyVrDiRDAgixEBIyKwtyuWXGVNymzBjJFydfXnWgjdhlvquxOf", "c_map_varchar_7":"zJQYeRbEwCaVhWVNMZpbDYRzzWCRrAvhJSqVADSYRDCDdJQvqVDkpwLOqbbksKdCYoSxmUSpgEyqdGozJwhsAXVFkPvQRPBVxlodUyMCbrDHhPIAtkarPaRNLrWjfhjSPNuziOTIsvEikoNPiEbsgQOqFHEjlEtJOikjctyYbnBynDIwBqHmVCluzMCdLtpPYXFwqosInGhNNbLrXtKVQxQAspsFwBvEgYCBIrHVqTSEwGCWsMwAFLuwSjGDSShX", "c_map_varchar_8":"LbgckquvSaHWzeQTvuRjWLArXoByHqOOFcHxrLGUfqrukOLKaWWSoOqhYYHyJjxpmotatymYrBdHMGTULWUqNVzWWDGMiONEGrDXlGplgVQtucySVpqEVPKWzbVcnNwXfqDmKEhjqGduFjNfbgZCigbpAVGMEwWthDKHZDNJYoSgWRbGrMJdszkSbjsbruvEjXppqFrMUcpHWlKHMTCFKXruwEIacujzWIvRtlgzNXJfyvnYQtAuXfAxIbXSNMkL", "c_map_varchar_9":"YczOowIfAGOaLztuLWylpwnRpAdRkhedsZahvPqdGXFeBgmvlKyjpwVUTGRztHaDsDJoSVWbcbCKHRoMIukyTFPtzDBnfSHudOQflrxXsBFStjIScRmPBoCbDoiXEXdwZMIsfbWwUXJbtcbThQQPAPzKrbhYwScbjsCrhsYAiYUTdrnpbeVmUlNtyPuOZniIPCCqstODYixYFHkuKHdShzMmNuZmyqNAbnLMvqPEzvqfxgAGMqRbHzQKkugiGALw", "c_map_varchar_10":"iCwtRWNTKtZYMowMJDVSEJmTRvhNUwATelSnJOlUmScAudCUGtSycXguvFacubyUAeTKJVyGblXwiFyfpINrJYYzGxlPIlXvNqFWxZUUmSGgjGKlpwmUMyWqRKkOIfAvjpOOsSxHardwJmuNpyOuQfAkZNyklInYAqzvFhXuxhBsvSFUkqfJAxsWrExPtVOcqZATkyXiuvZKmXUxUTauCIvMijYPZjqbwJMMzWDwPQBZOgyUPtTabHdWQmwXCWyi"},"c_tinyint":-72,"c_string":"FGjUFzUGnkzBkwFzCqgfgDhPihSrSDTFpDCIFNJNamWweTecTinopjYvmlCDHXhlPombaYWZodkLgiwtxGRrRclQsKBnuOgVGKwwkvrBuOJZnbMNVBAVndUieJZHCqBaaPsmngiZtKYVAVsVTTiLIJkyAVWeDTxukXrHxjNtHEpaHsFLrSFjKQGokipBgFvxJgktMjNKLaCRqMMaOlRljbmqPGNJnbPixNRkOQfUYoBTyBqzrWilsvRUwGzoMuAaBaxQgHNigaZsfNsaAymdzfuxuvEhFLfFaimIppwvjIMwcUqQoqYgziRgtxpGGehksbLaADENtUWFzIsewGbKNnZTTFsvFIqjcmDllmSfWnVfxbGObnFDcqBRiSxiCprebvwrujeytrmkUStQAnmnIzdxBmighPRXJkbLjreMZRMoBJCXGgCbCvaxtHbfmzwNUuIgqfTVNYPhiSfbEQsXmuSeCnIXwfUbTmiWMNDhQhfTklUitiRhbUtEjIIDLYad","c_array_ipv6":["aXsQdemAsK", "UevyUIiqQJ", "HWIOVXdMLU", "opoCGequGZ", "CLkNwFNPcN", "bNxjHQkEzu", "obNzSNwEKk", "VuimDOPBBZ", "vOkNAZEIaQ", "ItmDtmXmyk", "DcIzwFbQYN", "CXeUyyqmHa", "TMLodhjTSa", "egOzQDJrYy", "fXlzGMYqIy", "bAfjHNYtQg", "ygKgSjOcpV", "FhmwwIsZSE", "XUMkQAYsAw", "lGWbdiElzn", "yNnMwgiypy", "LhzdQDjNNp", "aWxJagEDwt", "SKulAjHrmI", "nwzctqrZFU"],"c_map_smallint":{"c_map_smallint_1":-13393, "c_map_smallint_2":-30277, "c_map_smallint_3":-32490, "c_map_smallint_4":11234, "c_map_smallint_5":-10108, "c_map_smallint_6":20271, "c_map_smallint_7":-16675, "c_map_smallint_8":-21931, "c_map_smallint_9":654, "c_map_smallint_10":-1020},"c_array_ipv4":["nMnDOOOHsG", "UBuRfyPNpN", "wEgAdGaWud", "dQzAzKgBEj", "WwPoBuxzCn", "SqPqEMuPir", "iLmZNwDfie", "WQmjqdvjME", "mPophlpAMU", "qtTmWRrXEp", "fKZbeUQCZx", "qFVuuoNNAO", "HMclKtqxoo", "nYfeeUmPer", "ItcXcyTglu", "kAAuTAvDnl", "qBnnFkVdFs", "uxdZVQKxEw", "TiyZYkUBXP", "BNmbIvRxoS", "mqnQIbnlnj", "pASPjIDTjW", "NakkfDjMxI", "iTDUiTyNnO", "pRtsuexTGi"],"c_map_datetime":{"c_map_datetime_1":"2019-08-06 07:02:57", "c_map_datetime_2":"2014-05-22 00:02:33", "c_map_datetime_3":"2009-01-20 00:11:52", "c_map_datetime_4":"2005-07-10 09:36:55", "c_map_datetime_5":"2017-01-17 01:44:15", "c_map_datetime_6":"2006-03-21 09:33:49", "c_map_datetime_7":"2010-03-21 12:52:27", "c_map_datetime_8":"2003-05-07 14:48:35", "c_map_datetime_9":"2007-12-28 13:16:21", "c_map_datetime_10":"2013-08-17 21:18:02"},"c_array_varchar":["PsMcvBGZjWvmixBtVcsRVGquUfzjDzYqOjITsolxBhYxFGUJGbEYPswTqJQsuRaHQuvjzqwRbiXcVjEcJaOCCYJEMRSRnVYTFDHQWYQOgEbHruqKyEgvZaBsqgWbqISGWYJICPTRDGzacmjvMJNHJlyYMUUvATLWGMGTiuHBWOhcqhMgbuPjnQbENNCjynyeAYRHvXJoYieCfwgHsptQfzSiAbznSeQBUuVpkIFcKTywkocgUZJaITYYXZfmfUfF", "XJRSpmAAbjGrXgdLuKvVWfyeTYHjYxmumncKUGZFSbnGqvFoaegmWlVeZxbLHFbCUtqPnxskcsvkWDatnutBleWvTTevKEEqDcTzJsQXRfuyyklLEWEOrGnYrKKqUXZyoFeJjCamvpfQpxfrgykzddRqbOBbGyRPqHAgPcahSAadqQXmcHfDbEkjaKfMGRGsHNRbxKLplyZrhrEFeAtzXHEimwhPxZCGcDtGeVashkdoLYGIVVVPpFETRATnzjyr", "afrIclpdgAFDUuNSkquOPLyioEWTWwUMLcbmJxnEFlxAgAWJABxhnsumIldGyjOGuzgSEzCXuZNwxBmCZZQkuRzFRrUYzoIHneZasFsAQtmBBjvwRhVYsmgGOFsIpfXhbUqXOLcEWJMnzGVtoLjzFgBGgeDhnlDYZdSYaZYUwTBXcrGrYLVvpttGFlRJTGrdQKUFBwcszOAUuCJYRipZXeBKMKAvFEzvxVKlyKgxsfOsvCBdBnDaNIlqNkxkPsUI", "osPwbOWBYjPsLYMDmfGvwWoOIsdYgKwoXWrFzgrgoswFwYhqCpOJvizVanfyrjAwnTjnJxDjebkcSLQGSKQbCCZIDMHCzwVvgakkyBZNLRXgKxuvUVynqPbBOdBHtslnJRtALXKMcxOJPIeyyqXUCZRjbddBgibnJcMPLvUjmLjnIHcDMNzBrYBIKdkZOIRTIkpZvuDgVGHPzavRNVRehlJOwaoZqfNOnIvtVoLuYoTROHWGfPZrrGgWWITzjYBC", "hZXAyEwVGnBEmwLQGSuSbwlmGoxFKVtNFrTRJWkljlpcDsTrIbcmcfgxzvPJusYCczTgRCVHCGEcnLWFDiNbmCMhvFBFXOnVgibJkMBqiFTUTeGeVnQKoZCedqQzRRxwclttJCeMumcjgeZVaeJlooFsmdMeIIdPXXUaLkVVPFsedoEhuuvhYYmEKdDHrwQmVmijCEGVTXJyVXJCVAaBxXUbsXmJqHGCTiYHYtonZGwaQoPYFfDljIGOZJTLpxqo", "ugNvbdSamCaEVbfQvSfAVIysfJWNJgBTpeweBdtKAEvmauAtYpuJUfImqvmFUOxztoqRWmaUCwRwjNQbVFHbUxYKKLNphLALfiwijRmBtRDAZMCXSoQiJhoAhhhJOvdOHErDaqiYgbWpETTFZdgQDVUfDXuIClcsQybVMzOzozcWRJngznNVRpBJEfekURTDPStDimPSsGweBmDbWlRoXuxbXHugLlDpTkZBxacOYadNaEHAEohNWvABBEXSYnUD", "gUhxVoouERAPsheYBGTkoxNbXLqJOGMOItzriiFyIRkzKDDSaFJwyTcLDcLOfrzEXKDmQSdHrwMWTSECCuViZeJwDnfZyNAqIomYCzDaGiGGanNqkJYfWfIEUgxKcTmeHVFDyBPHidnSLPHCHdCcVbNBgyySYbLbwxiJnxGVMzjKXgAEpoPILpqwZSPNAxTKAJCQGaEIFGzRoiYGxYFWaOhtwuNDVkIhSDFmrMMpxAnfNXzNBEPrrgXjJuCCVeWb", "CUUKxLUbGyVEGXhYCbJBaiBzjgUsIqlSekcjpRFrDWoAMwQkpgEmHyoNDTefEmGTdtxBWRpeMIFNCfNSfJzprshYzTsnQfixJDMQViQoFQvHzLAGxHcZXdUUWXMLJfEJVflspyNFzucQGZeVnIMjXXLIGwgjqakJLiorbdaLksIJLkJYMnbIJMoqyMVZUixdkFfFPNGCfeieXCYMYAmOstHHGrlukkOzTQFvJkZEWKOsVPtPWtTiFuZWvUPUZtie", "NeFhFCcOnrdPYUPIOylYmGfUrZxMJgYJbZcBEnsDvyBWtAnBdPOpHrnfEzDDUxkqsCHwrQRxnyXngCyeMUGBllhlyajABWstPhiJwjwsdjvRVycEyUtpJAvEXaQOZWTgFQQicTEYEwIdcJPpUpwUZbTRtwyjBDwljUtOPDMExSzrULlBlVkPbOgFYTtIiLlcjWKxOIzMdpyVduTiiYrzXBisGYbRjttbGDpwMITsttPZncxEnBcsjnOhZpSeoBuW", "HqMefnaACBiwYTrloZSZZQKFnqdTckpSpanloaNLzqlCqMvogBnWUghIbDTrcmIsOmhtegwBaBZWxxMnuGuqnjNRbfaTHiIcXDHAtVeFVQuBUvVHHbiyGNAUcfGLuBUHPmSJBTvCkIVrYxgWRLGzEaRCiOZUdbEMvzxwUNtUGKWCSvgREQoRMhqXuWghnxjzijbuzgPNTrNfmYjTYYpiVECWRODUJgOIJCeuTlRGZNSDUdglzSijsYzKtdWirqKD", "zLIDSIPefmCctAqcouJXatRihDMYpZSrdVuJWADrUSVIUSfSjlNyBRrggfCfksfdMtZlyCEpaEjjMpxJzsWiGDdmYLuLzJfkvwzwvShTZkeCrpEzdnEBVFqPSBDPehsmZjsbHvQJglPefYpaxcpAxqZicVRFKvPnxJGVVCujtFSqFwemUnAPdMWFSbdzPnexRYVJdhINSKjzGdmGdAqvgXfVDOuXgCUBNyPgZIkwwclFzNpbufEWQFgbBnHISEdF", "nUGpafpyRytMmzKqVDCDTdNMQHBQNeXvHOTLVXtjmPsqodTVeHDinYEXCXSijGjODnwuQxGdBxbUnSlaADFVQtjvRfESJLCqAquzaTKXmLkfhLDJMjxPuDsQsoJCzEESVIFLdkKvtqpSWRVijxBcJnnuWOwVnLIUphALIhuSnLKZmShaZMbqKCTEwfPvvNKajhlAdyCBOjRznTiqtbknMgrPIhcmAJCWTxeDQEVLgpulXRsdMovKrNuYrCDDPBwt", "SSPjmSvWDEPnYPUdOzQyUiqKElxnGypdhyyRuUmaduCHxOXvMjYrbWYKqaXLDzUiWwaaVKwYvLYtMBDxFRbQSKjyiEtrDzpirmYSgbsuTsSuojZcIQpZeHABUJljinbdIftRXtltbxWuKgPrHcRomwqXQbUyYZOkrfNlFtHselcLPgrerPhccXkVzdIyAupnkIDzxrPxaqzodxqKRwKrANOSitcMWrSNIKrDgEFmwuJekPSKDlRiBDGBELEEdvKn", "DrqNkjZVNTIQlKzPqEUEpqOcjFOYLCoGtbnDdKHNoihQzbEANYvKEXAfguxhUHiDoshrwAqZHpjSrYuvTVvFtUTJPyJJNPVyMePlzPmURlrImjrvOwisLAoFljNNsipvjAVtoFfjqCBjwvOgVYegvQyKreHmfIpbKSbfuHhAsotjLxEyVWWFcCbEOenhoGtyYwLtjdxafZcBODvpujhGeEWOXvHToktgRgFtwDlsdfUpipCxAqBuayBcKsfKfoXF", "qsiJXkGDtIZLwADlCDmxOzOxCuGnmYmNekvvfDkrHBUamXykYnVZiAKfkjVNVWNRHOTWrqGYbVXDQDJPPxJDtdkxSCmXWzIuloXGIAdoDptYjVCKGyrEapefGGqdMYjRtgGNDcWhqWtziNAwMlfGDUpWQrGVLOuPotQJdLRfjIaZPyTgpceIoehixIirBmlJFgFqQJuUlctbAEjBMzieSkHvNVdlXtrODKpkwATIojjUKtdmlbEUmlOJeieHTBWf", "UVsQQOemikVdQRfyNAucGmTEMoDAYpWAssRYQBQodkIqEQeqABZxjKcykxEcTLIwUrVBneCJyTbiDXCvqDMzVuXdTIQYzxyYOYUIgpTLsdLwVHfEikfAhSCzZtoWTtPpqOEjIlhDCNjUaCAmCOaiKQymlBqcgqYTTIwJxiCBUcQiIZECcNuCcyGQRRgmySpOJPJmGUkXrWRbuEYPeLMNUENZofhhvXSUMBuGowCXwMZYFpmBjbHnYrzDoQWIiHue", "YfznIMKzeDdIzUICDDwXVEecRAxqjBQadNkeGlnJjfmMohmeluhGjgOURvOdWiFpLKCXfQuAcXhmiNdQDPJJCdxGlbogMahHjDtrpUguHUhxijCuHEkVWIKfWyFfMjoGxwwZZqVMWiBKVumOEYzyPXAaFvTnwytcfKSJsChOzBBsBAyTGwEcqIgSkdqYbWrscmVNZqOcgEoQBbkZBppWHEBcoKOQXZrFwtGIQfTaiWARqShuvSNeBJziReeDKSDp", "IbEvtXgFYpmItKjgNqXoyiavZuRXGFutXXGXmyTIXoBRodzXbOnXTstbGpkHVZJCbQwQHkuIGtbeuGMERzSnOXMcwzrgPCcAaWcDtQoycAFOLzweMHlaWKbXGguTlSqgoTVudBsSzYYGeuxqpEHvjBCYGKUbogBEkZcvOGzxvUapnvpipZEocxSjOQasySbmcsCYiWTItgMcMpngbHUWmxhEPwztSWYaOGLlvxJBUCzxEBqxoNChwzlkBagrPpjE", "UBJqLoJqcEaIzWIcEHmdlTNtFDoQUgsqCODOkisCbjTwfJIKeJvNNksjSmuETPfMzCZCnnAgrMPIgSFGZvJuyBZthoZXoUrMAoERaoeHAQtQRBGRnQTGgDIKSeImitsewsrkmxZFNcQLHlTPdzOjPyEWLlySgPAdFGQBFeukjGCvKcXJkKRwLchdptZQGawcwdTNsPukAlLPsVDGELIHVgAFXJcfUQEoGuqqwjHrCGBoXmCZlIBGkmywFwmUhJAN", "MJiDzpdqqlwNCELphtAMeYrryyUDAqEFwxpiePhyDUutlGsDFTTSqQPgQPsADMqSCcGrcZLvUOWtlUktShpPnvxzUFZAfLdjBrqeHhvKHawAfgNpYshyWHyxKGRlLOAhAsjCIvycThAdngSVlZxnQHWvXvFsnNvSSgQWivxgCDXDqFJijfUEAvJaGWFAliBYFxRkJyruNWLQsNgSamsvqptBlEZqDQnNoLGXbnkNaFRvvVbFiUCMuZtlLJeYIPQe", "ydHzkufUVVpZKpjLSnhPcnAiHLdpfwoifMRozSVhHaWaOydAtwFKfHAnftGZxtVVOulGOIXIdCPvurMnwwnIqCoMzqFiixhwrhZoNpUJjelyzVbBaPQjKpXrqxptCFWyaETQrBITCwwIbAJRVbhwJYbimEbnehqxYzDrOPnDLUPlfVLbXNkieAyBOAuVBLofUkvPaLYQxUmvYeQyxsGcOvIkfSEvwAuufSuBVwRPyRPVZcOfWCxkeTcpthojYEIr", "JwqEkHfNKchJGdQgzrqonVZLxfwbjSALwtGcnvtueXgMKAnIDzdFlkfpGtPHUCLVOJPCrskClRShzUnQWItizacFHBtwgQrFXdzAYouDylwILdappocytmreBfdVKMzQnBRqfozumzbEPHkxMCiuUKqhalyHQUXCXSQGRMLVMbllkktDafOebjnYYwvanfBTFLGbeeTpqVoQHmnPYBYlwdaSHJfXwsPDFJkPBsMBDulRYLulULllJLsZhFwCeuzW", "kuZgAhezgmGzvPYfFogbzgeaYrfmcEsQJSvTaERhRminMtQLwlGWbgGCAlYoGBqmbzYvjljPrzxkuwtLpfzPeJoeiQQGQGajlEHGRVsVndxswaBsWhoGQRJkIqoiRqPgzJaiZRNagwwCJfjBdmfRJcXPLjxahLHLjFuGYRVWRQDwtZZobPeeNYviBepPwszakCZdavHvNhteLEgVDsTujXCDQGEcgHueGwEYnPggFKvlqvhOLUQrEzoQPcsTqNkZ", "yGoPRUsdTgGzkAndiPtSkmvTeyBUmMpoTBcgCllbSCBvOkdrITtnLzsCLDUYWlTZmjbDQhSNnwfJLWBYzqwvoCMniHRKswRqRUeAlcYZNSnuIItKHiIeTlcNTFLljcoFYKMbuViAXzOEHtstwowhdLlZiyVWqeFHHwDqBTyAXTvOupwqtoKfApsYvbxPmjjxhsMztLzhDJaFWeYUbxMwaAhHGUpWYhSYJEvmVkTiUYZtWFHHkwSCQyxUnYbvAhlZ", "SFXEnKrEhelgCpCvHFEzcGxyHhBpXuNgIeNgBamhCvOwykdJjIgyNTUuDuqgWVrTYqvIyTSSHstLfTIgVBvAyzYCDNahoiQfSopjcyFEJrVeGJgObTHwdqrMDQBZabpqVaxWwOulCycgBzPxwKhGxAWTuQotwnHxYOKNgBSAoiZvKOvbJqRrafrJGQargnDgdjPeJTOqSIEsEkrcfeBswGAtFIyKppLeIVLpCCTKZhipdfYwgVislGndWtOHJzAi"],"c_array_string":["jchCCbBiAVAiQgpgyuDkjcimFTFUSCLECCDfmUtjOvIXTLtXNPcLKUaWqiICdOgmzHLBeDnFJFcTuZoxjPgjkgipvlMbeYhqFXKabXheKKUZVCyImdYkAfTMFJvZZGuaqrmKSxDeJuJUSsTdTkAXymMjYafjIosbPsSnXMkrdCdzZPtmqZQXfVGNkrXupkBVyPcExkHbaVowEglcsMKjfOjIDTQizCJUbYVLACqIfIVgqgblIPaBrCNdxvKEyXFQVVbnAmDzMQASYdfpqUcyOtioONsEavebFjNUiUvYgXzoxeThIKPEUZRiMiuyKTZepdGqrfWOUSwQtwGBnQgVbOuKgUPNlFvtFrgWHcPfJzpHxWZpvpixCOoNBlXyxNzzWrMNKlaHmZPekcFdAGhXljTNqoDDrucOxHDcPgKcTgMHyvGMEXZKQRpEKkxZWGHevaElsLFerUXFrvAUfKPnhoTZkUfCyUMZFHimpEmmvrzUtQzNNCntXZNlLkrJmpIH", "LyjyjGDcVQEDSJWRvyhzlzcaCnALjHuUZxSOBUiCvNfRkRydlbKCdcYsmuafvbZqdrURLhgRNzKZymjjzXIyXoTsZAiKxAFyEOLxDszcTCPTEUkJBMDzZulxAuDkxMvKfCJWOMdgdrjHaiiYFVzIgZNXukEuNPEpiZrjZUHJZqJaTYqxjmsJnGHDAoZKrRhBLAFfMhIMkfpJqLNOUQBtYNqJAgFvijJwaNGDNsGciOHRyIOfxBFkHmFQhOdlOrEoVwNMEoLsxVQvvQgCmLoIriERXdzDXSFlnhlafogPLDWEkMBkWwHLQxlrLwiQlNzXlCtVIeOKazpFmZqwImKsQmvpoAUryFzCStwQCYPuebugtZdoISLZaCOlnICvkszesaEYrVRLqgrradDvnNNIqoxKaXkpSsHQfegkuPBxxYUWwCTshXKbApZZzwjlHMTypthAffkBaJvUeeVmhVLVLObRgNQjSictAuAUJFuEJOtXUYkyStmUMMEYtQqcVshn", "zxsuUFBrKjjgfsxuESGEHfPzejmmabFqNYSHnhNQBgzbkZvTsKeWFxQnkNHToZlXkecRqMSwHcgqmzkdQDyUcSGWwoDREalbrRnqRInwCtXFtMCKBwtQYBbeVDXoELmpOWEvByqgnwpAyUeJWpPlIPliBHRGjnpdBYdlHuovoMdCwJXJWzLmGuMJxjugDmuWkUTvavsFEKdFQfCMgOYtOBshHkoFGBEIJozxROXfgoBDRRSzAjHsveCUJsfWqYTJkdxAbAiqIwWCfiukwTEAvBzMfZpGCBQKpxPPLGEUzgbNaZOXdsDluPROUvFdNrOpWewTvMrxkmDLwQMoZFvmadCUtKIJpwWkXFYoGatPAaImOBgZIgNVncLRcozSFqSELEolNunaUFlVgtyOBDdnZeJjzfmOjRxqWgnIIcTxgcehRjfhAJZgwtRyFUKwwHcMLPbCCiIuKzZQSJUjBTzvqyxynDEjPkeMORRkZpFAIyxbeZCxDOeJstQULMoThOzg", "NsLciDTtxKHtnfDgfFAUNywXsiBnjQMJyRhVjgbOBtVzYIjDYUUMAzcAuYZgQihdHzVbuOwkdoqDTsZykXQHQEsaCqEmJJVYgrbVIIchJfZyrJmdosorYmnlEQcbFzOYFtvHMfMEojxruYDJeaYEWMaxmbkXYzAGtBDScZtfwhtwCyFfQWlUvkUxKxuclHWpGdsVlWeRIrPNsNeXYSqHCiTwEJqRUUBcUzcuPARceublxFWtniohExqlmiNqiwRckixqbHekxljVNVVTOvYgRhyMKFjMXSCcyKVjoFLTWivCSzWcobmjgBYpdgTrBxCmPyzIRcRqZUtoCIRnvbrtEVphaNyCqdYeMijQkgdYknEhhVaaZQtBhFXhtkvOAXFNcACrsEWFkwxLPQBPjBkDGGxqymrQKREJeDHaBnsReldwHcgCqchqXBwAqPiqzKuDvedbvEJMZKQSImnwOxKnEnNHjTjakmhoBmpTFMzTKFlrBBGePVPCaUOjSmlruMcu", "AXyNzOAjhxrylUCONxWeyNjWfsLPORcGJzBgBlEBuxhvuqqWchCNjiyVasAemiVkzjslsuxKSMrrSPiyfrlmagzVCxrjCaQjBFajUValSdRHlQZrAcfcoFCbqYfPGfBTRBDIjoRtrYWXKQudAIvUkCjuFynGNWyNnoDHXiSZkMgZEWvAVkGXzZRZvZiJkbhCUCbtToPmonAvALnRyLPDmXwxTDFCRxYmqdmemmPSRvZGSxZeJQZQhDXRlnnFRGtzZdhcBbKqDrehgAjXMYfBdRKglrCaEUKXiUXWNEESspRmYjrGrtWZmmEgHUTmiWXQhWkKbSmGWUEvnBuyjeWQjgiTxCuQAWFXVbwwnVtntkciZLaiEsWttcWDqEoCFMKRMPkVsrzKqUQWlcxfUulxVNBgrvkSKhYrPCVtsbyovOaYHVbgnmOtAowOuUkRXMQbgZWlxAVtrIjVDtcIeZLKgUSMmWzXukWQtvdWBmfbkVDoVqkAbyeDoHvOJFzXzrbX", "HYARvQVOLwecsRySDlTpuNXLRKKTcwgilXPCJXOBGmNhdptmObSubfWEszOKnETsskrGRzVBODTVFUOFQSAxmOoMeDfxRbtMoFLaBtmsSqAxYyiyPzqToxciQubWTWRgGaOkQWdrTxkxvGDQTxBbrPzQYEaFaAmUoSsaRYjnFxosMHIFbqcCbVHWtHUFBIlvWBbfcHluyrfhaszTdnxBjMNIsuAiGsOqPKxCivsRKbknudIaetKYvFJNyoehlQWXEwjTqJuMspMxcSxoYndJftEckqtobUcqZvfLFgIvqZLtdvwpwlsfEySQNnVqnfIybCcFgkOAnZqzmXVyKalVZzCvPiqKvqMPNQsBljarKBDIUyGIzigbxdrZHuOlikZcfJJroUeTgrgzqrqUHKHAwaZXwNvctWDtkpxcOpQHPYOfeHkMZwCamBQUaUXCNqzbmOpFxGAeQsHbkUVkvgLIMRxIvOZSRhWpTdFmLMPjvvXbuYjeInwHLpOsvIRlSobL", "OraoUtShooRgkMCEASORuhuRoqWeyGSolEihsoeCLRamRMuPwbONGiTbtbJCkAabtjqhnFYltzbpmFzadAWIRAHECSvRbEimCGIcpXbCXlYAchVnGILqWtELoPwvwBGOxOAHtRgqBJDVvBEsDvmMAuADwzhvoPhvTkJbkfSyCErwkDTSJJqjExCdTgDvFrnwxeVFlBBnBXMEjOxGdiRYhtzVuRemrhHcHOtYVttOGYHYRbIXuDUAbIdgsDRYTPHEXbqCljOJexunumpZiKlwWxnGTyNRHqHyiuLzOeGsOfBUbpNWYsVcSAzeNlXwVOzNoKfFNepphQpbDaKdOOqolaflPGWYGHbulebRMwRlTKtoPwAVpeLcyHzuuItCQnvMjKzTwGAydcPtkNUkVuULYNxjTMHafHAnWMouRkAxeoiXrxGhODkXPEnHNyhQaDzaScEqrcHqqCEBiwZzVvVnAcKDPdmoFuHncPmlbksnTHcDrMTTBeFDjiIvpaoiQyBg", "rPwBwLgLcFQIUrhDExwKDphojuhIfnUtbtiNVErJlVMCPVevUDWZvTvqWohgXpvfhGiJFmwODIuWFRodLYPjugkQeQuBVriGNdcHAiBeAYigrVdrMSWxbzoLEbWajukwQEOarkgQoxuEIDcehQnBDYOimKevRHcxkQTZbLITYzwvednJwugFKuJTlgbqeVHfgMxzqNpJRVyHtwrzppWgsnctZbJtGKoTCaHxdUVVPaZZKqWqMtalIVIoPLqaclkuvFbzDNrDoEZMeYAibwJIFdxAtVDsxilcpfgrtneoKtrZFftLVaFVRgqteaRaGmPVapcnMbNUvywtcganOQQDPNlXoHkYCSZXlNhUfthwGAaEYgGbVqcKLlTdwxQGfdebpTSLAoJANBbXqtWTYuFGGsjyyrtOKNiUzNJnqZOEfasIfgwrhYhSNCqgHentmJcpoGcEHdTnMSzHibFtnHsRjGSEwruEwKOtiLlZeHQDpEHatoVHkXXfreKAlQmOXJOb", "aXQPCZzhpgLGiNFhQwMYziCbjZhIrQtRdzBqfNuohQbkBZIKSxrNbJivjHOpbgWLBBHqGDgPELpfUVDPwEeyXsuhdDWOyoqWIVYhzatvqyUHyUeafVBHeeNpxbMiehnAGJtztHtGSYPLZGVVDLtyUayDYMCQWJkbhXbxCjNpawXUoWSeJptPxnSUaufxsfabaLJNXrfzeFVdfTppeHINznDdjzPxvJvPUdJkaHxEszTNxHBStUQleuAZYSTwkoYOlUOkiwGLoDwSNtoFppwAmYpDNsudzjCfTfxUmhmVtwQQfuFMYEdxwUNMSSdshyBFNvXWWaYajvICIzoQXtNiLxqednDSlJHfIfcOTdQjkzXndKWrzxNIPHOZEyvHDKVNNJlOTRfPkOQdsaHIzVzKZHqOHabJNztnBXtWUEkfDjPVrNHqSCGwcmnuaAfogcYykkXekuPxilaAjejSXCtWXTBeLtVnofNkimGGYnqvErSgPpKNCjzoINVMleKADjyY", "NwVwenaUWcJZcwqsOHIKiAFSdXUEjgksnJTYAFmOHZTNLNSONBrEcEtoeczpfbELIRVtVehMSCxPgBGHOSZLdMnIyXCmBcZHTqYCFuZkdQBhvOtIiBdLQqYhUjCjQxliFRIwlUVZwpKIIKqzdyywIvqgUSPdduLYcMgMOEzTUHCOXEUDCMYDsKdIxdfxeftMSpXurfXXHnlFHlPafApiQLmzvocoBxtcHmZecoBcihktQNzbAJZfcqZzHmtaSxbAjHBtMtUylICjndFwvphYGtTFWpGQpsqiUYoepCaiZerCCEGXduEkBkQwHvlALbijlBCJNFZwMGroRyJtDvxgyMwdSAuTPLsYYMFIGaukZUUAfwyXKEBbFvqgaGZVWGSOcjGYngOmJjkDpZtXHmbMPvEqKHSLWxKjjNYKJSLIyXPaGotHDmFJRdyXMLxVRxWBeQDkyMzqPyQGsABlOZIsrJADNvzttbKUhCCWkqBMuMlWstfaCWYxbuaefuPwvEZp", "OjnQsGVfwmwkYKenCcJUjoJKjbvavCxNkqYFijTDamapXEMQzmtZrPRXbsfbeIUWPTtdBjcCxxNvsXkUwSxGfJgFdHfhSlTIXuDncLOelimZCZygGBjFcBdZooaQePlnixokmfqLmCyynhypbMzlDOldJfOOzJCTXXnoFUItwOMJQiRqTZmPKKAnpBOiWYxZTKSsfonIeAPfLdAVXnOYACqAoJvMJxdHwopoEjaiBOMOXgsUgQYyFzlvpiEyheqQPTdzmNDRLPymZWYaZOqZjhQiujeBHoVqMIGTRXtaFnBSFkPTMvFIxPdNChrhKAtkbMaCVTUUeIMElaScGmYvGPpcllmSUwfqzJvYGAzycRPFICRKFpXLchDhsvalEupadGKrDAoklnDiKBtcxcEtFlVSBsKcOMHcVfQVjSFNNovFWosCtgSVNRMqAwbsmpIWtJGdpxOpITPTPLiZgguoIOvLsPvYcKijOesbkoHsvpxCwzDRRSgfQXhaMRwKcbuV", "cGgFaRXZAPKxhFVTUXiDPnAOEcUOiBAmsWaYqZeqQxFznUYSIxvyPoJQouwvsqfpBLZylnuBURtZhHHiqsaXicFtExUGCViFbWkDJpQxMLJotgreqfLJPDAwIPaTgUhVNsJDNRcAuXnsywZnBcPREQbyIthFJFeJecGHAsTEhgRyYFJwXKnihUXNaTOKUmduCbCevUShodkaTUFPKvwHPNoHfSSlxFfaKNdTClYUosHPogCGMUjWAhoCFhtmsvoHVjAxmmgQGWHdvxRlhrrHBlWmoufpPQIvUBcNQdpcqjpizGmzZqkOKhNxGoGWVpgginDSRNNEswVBIYFFiNgtkJruIhYGcKvIRJtyjRXEFySZTiAfgOQDJAKJvIDoFQAuIfOERtJxPRMfUZdrvaBXhDIyAWLiDubIQnuOsEbkelqSTxTOPBPKqNqMrBehXpYsIZanwOuJkGINWtghgrydHRqXPAPavTCpbnGgjZvfLCXKDxWsZRTeGlEqRbfbOxgi", "lClutVQKjtkSmZdwEaibnBmAQEShmdhFHjNDaowpwKjMcAqQmtMgAAlYDhvavJktudrzsjwEDOSvHlPGOcQmXqFAjdoycqHPoGJeytlgSmrDyVsZBUscJOBeNOpXGTuFEisJLphUjuFoVAiHXVbYJyOojlyvIsBWxYgipABroYloBCcFyYnRuxIoIHjrawtBYeqIyPOnOIgvYMADDapkAWUWIbOoAcAdYkxfVRKZkfYYPkEyDAmLIQPjOnmiPmOvAGtYoNzipsGGNcAMKhTnvfserElASuWHTbWOxoczybpWvIikkLpUhLLNnpbKPsrXPaJiebdZDFdyptdYMopBaiteCYaxwMULZZPteOJfJvnkBLTNMjKPZHIaUCPktzvNniURKcOfamDAxnHwGBfKwVEtCSGgGLqhiVaINSfeBrbHAqQFPWlvNGJAUfjXxvlPKWbhFGQHcHDZIEEVvYPRjPsCqSIkwUJjtHtyuuMNzuooyaIlpdwwTpEzhjAEanNV", "gkqZnAFxlVRDSMBLgohReYMHBVkRDzqRZTAydHBFKKadreyCzhWOagMJbcmrDZQYpLisVGpQkEYzKKnovEUGCTMTmZXewBxWSUfhXZZmvRVGCeVWYOuQoFfomlIxBPjskzMKsuGyEvmkionDwQYgwqfpBZHGiiRoytOWVImAYoCbnUamkyBMKWctHtHIaSQynUIKeBFHaBEhBOVxIwvMeUvjcUohoMhzZmYoKjqQsbVlnZEtoZHQzfSXsNPhGLXLwmDPXBiExWKwBSapJRFTcpvLOzGOmkyUhjznZACjArbxrfMtgDQevWWQndpnBAZomvvsnnrOJwHQcllvphHJiXtYenwFXKzfjjfsgaNmrxBYlVQgjFNZfxVaZGCUNdXBJDhuvMnbqhISYBmFkmECjjPnLmaIjWIAJQUFQOitJwnNTNZDRNxJPyyzYTBhIxyKtPprUBEpWqyHRBIrGQRcYgTZTNuEdHDovzGbrSfoSvvXtwTaZsittCeIpbWkkJMf", "sCMwBsrGbgeWdFqcsrcparszJXuRoWpbbDppOKcovmlOemDIBxVrzoyjkccbJZDBNmPpHNhSpaMwQieDOAGlIWkLjIufWORnvkvdXiUzyVbPvvqgeqqLVMmUlRSCeZSPozHELJjHaJTzgBaVJUYIJdIMgGREGJkxZfyFacjXkqQwUPGiPAwSaVgIvEDDXjCifZafsNEcDuJOwDrZWYJIjgDoSIYbJOYHDomuiGvVPpkZfZnGXowjaHxuHlQcDWLYHYYcECGdaKVoXyzzSOTaQwJTxBTQuHoTUEHSZXKaVZhuKdOYdjyRmMIVNAnxQowCstNQJIsvguEFpJdnYBZeNsciqukUwlhGKsRCTpScirnGtmnwtyEoRaUoLsyfgpQIEGtMXQAHtlLJCrwnfwzosDSwSbEXRxFnstqnCAAICFeEluDjFTRrrBpSsQHBdHzNoVAzUnFhLcwPSppFAexVrUqEpBCCtDwkjxroMgIKHFTuPzRnriOFnvSMSYkgigIR", "eStotJKFAcoxDoXgnKsQgdMCIhwvSiNuQpUnSpugBEuHcDpsrJOHMynyFDQeVSEcxwzvDJxDqBFvbYxSUqxgnDnFBhFhiSAByAjtMoPTHJWwvtbLiOAUlCShAnUuGcybADbeHwDsXcInmdFVNdRtPJevuJjCvPoyrhVucVzEsNucZDfQVFkNNTxXbGKQZMlWzvHhsuSptTWxqiccyuXnwWLIsodYGRPHvchaSYLwRkxquLHvAfLmtTjamhGkITEXNuuryMHamiQwKymjbdzolVokRskjDSICJNwpPWkZAJmBAZwWJqaBongjsAzAFGzCGypburpeoNFvWbwgkywSQCLPrLYUsnEJPIqasajRrdlOweIRcGTsPUFSdKbfbRrOUqOmrCKEOzLIjjxuykvmogJYhKxsaFDGbOhZwNnuIzKyuchODKLTRNhuTJhrBfiqAJmWrwnFTmycOHYHtKbFOZQoYcLIjIudAfnmeJYpFnUpDfhvhbvqIqYhWHGvnhbb", "AtoracaHaRxyryAMmkvyPtDNfZJbyvEsztEaTiKAZcZNASVwRJwRJtaCPtNfcwyIzQzKfPegWFfujVvKOozuEhtkIBDBWZTOxElUBxNuhDlnULhAdOHMcCjFMBMNhxpngJLBrfGOxJQZtkHYMqiFkhQmwbXMsnErLGBuuCerREnnXheoyoBzkSnhyCOXFFbBcnshVFPNgsuzxeDLGkVqVqFLbPkXFBHaAVoGnrZdeDScAPnfmtBoZWrosXSiEddeScJPcuYqEFiYNORzaFkHWxeYAaPRcqIpQIQHNeCpQmyZMqxopGRmYPYyAPFuwfDnbRCKOazWsIdzRxTyAlELeQhVOlihgfjMHCmOkKMTStQJZtqOAahMXvZpZcdLYCytQRqfsvBZEOVBBcDzNOSrsOcMrTbWhrfTnfoqHzwCWJNlUfBmLGDwgCgQDMKfQCKNAfyzJtWmKkSZFqfUqsTjOTXfBQXRUHFJLbHolizphbDXDSjUffwwpgIWtmfUQDam", "oAOhRaOAzeGGWiTvRoOKkXrIjYjSVrGqHWgHFewbhYHSKpunNDtiTAkbqrAHJwoNrMiKiPTVcmezofzYMVMZuytdKMFFUSQguGYPGCGIOqfxdgiXyWbuTrihDgYJZOvIiyJtWUbXgUaKJOemrcmepgLUlQqADmAadzWomaSyPliUUDfFtxgPoLFLOLOihPCqcCTpjmYGLIQNHBoppUcTfRaUzhVgyGvlYuedJOAZcfizhcEMHBLPctDjlfkjEGrzGldlcHWdDVUFHZfLSirAQqnAQwotwXfuPYgvqeAdlIfVOXixGTygRFYcglBzGhFAQUnUgWoYrzhDkwoLAdJZdPlmcTrCYtKxybwfyhYJvhTPipQewCQiedgLQCVuWWgjQmwdJYDhYKIiCuwZVtdjYhmbYkjwXWvfRKLoWrkhoEPlAMrOBdqZnhdjdIKgTczPNxdUTXFVmYRMXBuJTbRPzxAYDXbooJRJzEPmhUKAXjfplFtclxFZmMphKgmVAuHl", "webRvyUckVcmfeZolvZLbzUhvcAYUcrgtfdjZapicfAownQrmKgkyEduixBLhGqsGGTibKRedrtjDnGDpgfcuJKcFCexLEHtaOqSWFnOfKiDSBwLjBdyTjVfoWcIgAJDCRzrNmlPtGdbOOOBfFiGjzTqVbVWsBqdXpOPUCWsfeLFOfHRoOLUqHBZjTncKSqRVcfBTphylTvxYuzEFSbqjTpKKfxyOxTjekWWpVxqvqTtFYqlfowMUgzrvfqegPdvRnJtmHYzKZSIjDdOInXyhyuNxjTdYsnKHneIILAvInxZNaPyhZOiVVLQiynyRbAxaRvJHXqnjyChNlSUgcDROioexnHherMJMhpgTHDLqmkKBasZcuDYqYScBsBaAeWMLwSNkErULtmaDJHYnnmdyyaecoJzdlNpuFqYdtaLllAYEjJOnblHNFAgjJaiGSXHkwAJiYrgVWgWAqAjxsmNKYekgQKyyAyewkFTimxOTcoKzigfDHeNBFSkwMXFaQQi", "yOvYesVZEIHrVynPfzoxOtAaqtFByDTLgVaVcdtBdJidXstEbjtpQBRkUkLediqrMHbfObUmrJjcEshxssLljwEDhdINGsvoVwwkhuQZsIPRpkoLHAjNMAOaMahjeQrmgoyNfYNffgNBYEKhXDrPgJqQwOCCgXCvDeuZzDMXTEDGqRewSkSGqCAGgbeRZlunysuNiMYyFDzKYgviZmFvgDalITlpwNWCeSxuNCGlmPzCcjqhxmKxdOfmuZrIUaarCPLpNpaLkBkvPezkVJvNQOnHACgVbFbDSbpTCvXUfAGatLXxEYyQDqnANrsGzQwYNiuNXQPBXmQxDaHeCTmAvqOnXRghXhsSLuSYQqtRNMwCXalSVHJYAlIwfsnqpuOgCuxxpOncsDYJOpuKhusxHIbSGFtWNjFKUHOJQJZTYPfwxLHhTNSBqPCnrIrkLtSwFMCZDpgTlFjjNjxVlXEoSAuyNwOXFqGleVcEHaZnahvGFDpTZEhVPbvnWxRuLHWj", "xlhYFKeHpYjcQzcMiQLEaWzDmeMocNopJXGIpAqSravDBfbiHmQxkQCJjHrIOoqSeGSopaTqFCwYTXDbeHUeviKrhvGeXdQSECPlEXyDBJmkGckRAWNOfaXTKubfSxjDndwBMBAYUNoredikuOlwryOiTrvHVEUAjredUTDdUbyDkxLvVbOpQVbxsURHSMcmmZWxyDUFMgfpHPhuPEVpXXBUxrXebPUeIcVPsaqMJbKVMcRypWVKAmgeCLpWyiJBOSbcYBVHbyupXhXCDLQNJdmAHgkxnXJHmULGXybfKMbVoIuWOOQrDjWotjRQzsDSsgdGcBjnqpqqvvcnJYJmjvdTLlSuyoajxNySRVpMNhdlzGsYyXWIbjxwRDalNNUwnktnxKiYbaYMGIkrackBMlyjNkTQOOcjyPFLHrMIHLucXYwPzjQLWSXYfwqxOKUEEhkKeWceOaVoHwMWEPLeVUXxNegyZyxDQZEDPxXohnllXpMJbuEfYlaTXCTKdcSl", "opKMGtlnPZelsCJldvmEOUyTIHOtSuoiOIjLTpoCKZMgqGlgCBXDoFoVPIMCQkMnOgTJsYEZqBLvExCvzgKxRzwyxSwXIjZaaigHgPeEQMNrCKFcLwPisEDfaEHklgQBkVBzpHsNXsKkDrYDPVzDBdDROxfYWXKzJrbLUnJNxnOigJNwIhNTTJPWLCWFfDoBQhgCrmSPZqTtzietWUPYehUyiHMSZNsuSVTmvWnDgPjcFoeKZuPjFoNPveSbkZyDcpjlvmwvVwKlyFNUgPgytQQikPuArWLUiearSTAaJYTdhfFUdjmOtVhBZHswtxmSguVmkiSBwkFnBgxKtFuQnXcmufojROlIMpmyWRWyliUOctHXFVopxDzcKhJksxTpOaCxNciqILywwqKdjSUMorSgLDWGQMwjJDBhEOthKytLPCReSswgMjOSkXXBFFbItZiVFLVHxMTcQctpkRCokwNlRzvwUaLEuByHKCJNkGgAYbeiJnyfyhVjjqyjJSrw", "EbmjiDkRPxxJmNFjxjncgQVqBghqrwOLwjqdIyqKlkuBVkiWfHDTcffQnutwKOKvtdTUvfgyLPuyVYHPDgPXAiKwTPHIBHJHpgcTqTBZBKfbKVvZPkMlhcdjlrwFIUasweKqRtTFpqjUMRmCuVbbVcIjjezelYgwUXFqgyWihNhaLxdoWZFJxtvWzDYsJxudFqOBliLtYQFcnLmUuNHBMmyWUgaIKpUXHttVwqSqAavCCWLcqCAshMOQDlnZqsoZrPPexhIObvUyFwBKfSiUbUaTBuMDWJaYKWollKSQJKEaopEXEEVuePnsFzXKeAZUFccPARHXrcVcWXDhyCcEBvcvRzQYJvUuoeiDWLvpNftBFOlehXugePGGZbAWOYsVkVGUQrZZXpJGTIpsqTUVAYkEPzRJOupuKbkUonVbHpAoOOSdHKxhILknMZDXCVUKYCCnEaEIfZcQaCQfxXwQMBXGtcavKIdmQUWLwcCmqhRFqnOkJyxDjxDLWUpHeNoU", "akeKwXxCvCldFiTlwYuuLWIxqOOrhxROSPKweGJNjgRvceuEkrjnntRPeMlKUGqSQJtLsnpBAPvrAyEsbuUEWYuEvwcBiyekhcxoOYsuZJEbkygdjLASBrqWQESBuAspjZWgzaufrRbRueEpjVXuBqtxNYEtxXGvbCxCeNbBcFegohoINBwFDUxxCzNzjywoDnbmNzRAoWIWovwucXsvbGwMPOzwsgLELeLqSnTtFYyzPnSGDuzsSFXlyoMaFSDnTDXRUmRHWoSetBgHKlkgdVKyvvIQDmWrsPFdzGZvDBmbIwigaRlAWsPNKbavPUwQIosAHbtlAPkERGIqPQzdLikAeSNTdqcDbOLtoIKMtlOOSELaNlhJywjXTNWGLqUAKQPNKEquFtUzPVPVPWHhYoPwMhWfEIjKTCAExwYjlzICDYUKcjLCsAYMeATmzYbnpbptEHZRadKJildiuehsaKCeoiHWdnshWFnFLEbkAdKBUdYlsdryrVAqngydBFyV", "UvsJNREIanSUjTBifLvmreieRbZXrwzgSDLgCizKQFdTcuKXveFWbtwtAtataWJMXvTWqhIGVKlfPpfrEzxNmTSQLvQWVjgcKBBJrTTsSLfRKaMXqvGTZXHIhGNDgZOQhaHyyAJcKdYtuRkQLOIEaSfSRgVYQjpjpRcMokGFZgZAQgFWuwiDTEHzzXXrwWHRYyeSaieTqMCWsXAFALURiJSIrFWGkJnWSjkqBanzodGAeAlWMcKMLFzJwHKHMoHHOqGHzEIFydafZUrakTBIuVAcFgOTIyOYHswslhOBSwEIdGzXgwbIxRcOFlXPbONPYpyPlMfJZvfcTvDgWBktYRItOwqpCGmWCeZhtTEDbehjuCbtcuTlZWUNBhVOTRKXVhCtNtWcVtLLryUFBNWUaIsqyoPJZXFQUXAIcYRXaTreglmdgpWSWRpCiLPtqmEpppoXvyLZazIOFqoIDmGcBPmrqDcQpwqmKgybXhcJuPfwvpgShXWgblKxLHriCGKi"],"c_boolean":0,"c_float":71.57297,"c_double":88.50148206317236,"c_date":"2004-01-27","c_array_tinyint":[99, 16, -75, 30, 44, 115, -18, -18, 57, -53, -3, 94, -93, 80, -30, 91, 77, 115, 34, 113, -68, -99, 112, -52, 48],"c_array_double":[35.94964463147339, 62.53535696363265, 90.99062594878987, 33.96962636459995, 42.43170987109263, 0.4164228481050151, 72.49618649207311, 1.8061204878524748, 66.91907293821309, 45.059936270249025, 52.66130384034672, 24.750537580672827, 12.39287949898931, 34.04118995714936, 67.91210869330816, 86.39597627078103, 28.96374415771515, 39.88662008175855, 62.31477657912622, 15.074384762484714, 5.578563480471459, 92.59092758465513, 33.77476522782915, 77.77969632728241, 28.81065416575717],"c_map_double":{"c_map_double_1":10.112844278212233, "c_map_double_2":89.68219680796987, "c_map_double_3":27.495140939817347, "c_map_double_4":24.221511484850375, "c_map_double_5":37.815402424311806, "c_map_double_6":55.46072456873675, "c_map_double_7":13.309930804804434, "c_map_double_8":3.9513226836485162, "c_map_double_9":67.9393038410624, "c_map_double_10":36.83226069224401},"c_map_date":{"c_map_date_1":"2000-02-16", "c_map_date_2":"2010-02-20", "c_map_date_3":"2010-04-25", "c_map_date_4":"2014-05-25", "c_map_date_5":"2001-09-18", "c_map_date_6":"2004-04-26", "c_map_date_7":"2013-12-06", "c_map_date_8":"2008-03-14", "c_map_date_9":"2003-04-04", "c_map_date_10":"2000-11-14"},"c_map_ipv4":{"c_map_ipv4_1":"197.55.186.39", "c_map_ipv4_2":"56.230.133.130", "c_map_ipv4_3":"181.170.100.169", "c_map_ipv4_4":"189.94.106.186", "c_map_ipv4_5":"247.53.158.115", "c_map_ipv4_6":"171.77.54.246", "c_map_ipv4_7":"192.193.187.208", "c_map_ipv4_8":"19.100.178.126", "c_map_ipv4_9":"48.224.71.182", "c_map_ipv4_10":"240.40.17.131"},"c_array_datetime":["2001-12-22 06:46:45", "2015-03-18 04:11:40", "2005-02-15 20:49:13", "2015-10-16 23:25:19", "2014-01-26 18:06:20", "2015-05-15 15:20:52", "2004-08-08 02:49:45", "2014-12-12 15:04:02", "2014-06-07 03:26:19", "2002-03-20 15:15:16", "2003-09-21 14:15:45", "2005-08-25 22:19:00", "2014-05-26 16:26:22", "2018-02-06 16:22:46", "2008-04-09 08:10:59", "2003-11-25 12:02:05", "2009-12-16 04:01:51", "2019-01-16 10:32:26", "2018-01-27 14:07:32", "2012-07-11 09:12:36", "2002-04-09 03:54:15", "2018-04-06 07:02:22", "2015-07-10 08:33:43", "2002-07-27 01:06:02", "2001-12-28 09:03:35"],"c_map_tinyint":{"c_map_tinyint_1":-26, "c_map_tinyint_2":103, "c_map_tinyint_3":-43, "c_map_tinyint_4":123, "c_map_tinyint_5":-103, "c_map_tinyint_6":-40, "c_map_tinyint_7":-63, "c_map_tinyint_8":-87, "c_map_tinyint_9":74, "c_map_tinyint_10":63},"c_bigint":5412625506859479068,"c_decimal":69.0374,"c_char":"sQHpoRyiMA","c_datetime":"2019-11-11 21:16:34","c_array_smallint":[10355, -14087, -30937, -29417, -827, 10109, 2569, 24015, 9870, 4699, -14401, 3275, 22753, 23472, -1215, 14925, 10785, 24698, 26885, -28589, -12047, -3540, 6761, 11041, -32474],"c_array_date":["2010-05-21", "2013-12-09", "2009-09-10", "2017-08-09", "2008-06-26", "2002-06-05", "2008-07-15", "2012-11-24", "2010-07-05", "2018-02-25", "2006-02-08", "2017-07-25", "2005-07-05", "2013-10-12", "2009-02-21", "2014-09-14", "2014-10-03", "2009-09-25", "2013-05-25", "2015-11-21", "2018-02-09", "2018-08-21", "2009-01-06", "2007-12-16", "2008-09-22"],"c_map_largeint":{"c_map_largeint_1":7922305718516642013, "c_map_largeint_2":617264513860847825, "c_map_largeint_3":-629397727704355930, "c_map_largeint_4":886440358242804808, "c_map_largeint_5":1618075114448091755, "c_map_largeint_6":-2671738479405370478, "c_map_largeint_7":-2467735562406384142, "c_map_largeint_8":-8390662325025181354, "c_map_largeint_9":-5838577639407757994, "c_map_largeint_10":7516211825297603837},"c_map_decimal":{"c_map_decimal_1":51.0828, "c_map_decimal_2":87.1705, "c_map_decimal_3":34.1211, "c_map_decimal_4":72.1225, "c_map_decimal_5":74.1990, "c_map_decimal_6":32.1696, "c_map_decimal_7":62.0301, "c_map_decimal_8":94.0000, "c_map_decimal_9":76.0197, "c_map_decimal_10":95.0067},"c_map_ipv6":{"c_map_ipv6_1":"310:2501:7df5:35d5:d265:6e5c:de89:ec00", "c_map_ipv6_2":"e42:ebfd:fa0b:8f4e:450b:50cd:c685:a173", "c_map_ipv6_3":"d3fd:c890:b7d4:262a:d85b:f07b:e994:655e", "c_map_ipv6_4":"ab2:a93a:67c7:d562:65f4:552e:5c78:ab02", "c_map_ipv6_5":"da8a:a88f:15eb:4a48:1530:853a:e3e4:9cfa", "c_map_ipv6_6":"bd24:d16:720:7d98:247b:991d:f3e5:a41c", "c_map_ipv6_7":"e02e:445:dcf8:c773:1e46:d3ae:4f71:1468", "c_map_ipv6_8":"b2f7:d5a0:561c:cd22:552e:8d6c:b6e8:4ac1", "c_map_ipv6_9":"cc53:9a8:4e44:3a45:6435:47cc:6225:e423", "c_map_ipv6_10":"1eaa:5bb4:baa9:5ba1:be1f:e8f0:34:d087"},"c_smallint":-23068,"c_ipv6":"2381:492f:45d7:efc2:714d:e452:f73c:28","c_array_boolean":[0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0],"c_array_int":[-273201675, 688077594, -504386378, 474872887, -717817569, 1627515807, 2139273468, -1825475019, 50425728, -1398095432, 2097472347, -278562768, 953349176, -374394045, -1322201069, -235882532, -464944537, 2125704446, 2056512698, 316152206, 921978672, 606633831, -1544573391, 1910146077, 692424001],"c_array_largeint":[-4792983538257553017, 4915878073584365505, -7577554821686208923, -8947323525593500771, 1473487946779033230, -2255520685977378182, 1087222960178342979, -5709562012226878211, 908173383444213220, 4101637862676200395, 9087903361977138406, -3375150592343803795, 6267122509578675308, -3068201933247430511, 4792469364890489850, 5868950541565529833, 7027472518004752697, 1618700787927234410, -5151608549702468935, -4030992619138153729, 6568559307804682812, -6330208425631405054, -584239450152185167, 6344970503225030888, -942485415615415371],"c_array_float":[46.399826, 96.76908, 18.455038, 97.43024, 41.330536, 40.678967, 6.1834626, 61.09819, 55.89415, 77.08777, 95.62155, 24.383081, 95.73558, 0.35921994, 68.46108, 90.788025, 20.556412, 85.7646, 96.85792, 48.45112, 55.56158, 94.880714, 40.516197, 70.27459, 11.142527],"c_largeint":6217173689505722758,"c_varchar":"yeah","c_ipv4":"99.255.179.250","c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_bigint":{"c_map_bigint_1":-2337397481244474691, "c_map_bigint_2":-6547080371778033794, "c_map_bigint_3":7621515565032376094, "c_map_bigint_4":3269700602094637920, "c_map_bigint_5":-5039949898984418873, "c_map_bigint_6":-2001910950562451727, "c_map_bigint_7":1719496663306377884, "c_map_bigint_8":-1876327878700857597, "c_map_bigint_9":-4665592762832298687, "c_map_bigint_10":2564521738113455852},"c_array_bigint":[2417074321824952423, 4523784725454810772, -6230064299327177368, 1912257440574877576, 3080440487976998787, 554160540125818893, -6171109112001690461, -890558772777019412, -2972524455263753629, 6174078185251947786, -2840980019082142800, 2991266875492278696, -8128570649950801278, 3336705720901354243, -237539703960034472, 5943188093181798604, -6923865240323102438, -2752895479021654954, -238231806753166349, 1056074045310444328, -6615065539500659570, 8692997612031784686, -2019417019914517044, 2292199198005273774, 5679247400361942496],"c_array_decimal":[72.0353, 4.1310, 54.0090, 44.1229, 86.1223, 7.1526, 22.0911, 41.1297, 97.0495, 3.0723, 81.0229, 76.0635, 16.1388, 16.0793, 45.0534, 51.1507, 79.1495, 6.0631, 2.1069, 85.1684, 65.1646, 46.1840, 4.0064, 88.0997, 36.1219],"c_map_float":{"c_map_float_1":80.780136, "c_map_float_2":15.185287, "c_map_float_3":45.12991, "c_map_float_4":58.82075, "c_map_float_5":32.3709, "c_map_float_6":43.25782, "c_map_float_7":3.9892583, "c_map_float_8":94.56187, "c_map_float_9":47.26786, "c_map_float_10":93.04432},"c_json":{"fruit":"Tomato","minecrafttool":"axe","hackerverb":"connect","uint8":72,"emojidescription":"closed mailbox with raised flag","loremipsumword":"asperiores","joblevel":"Paradigm","achrouting":"118163858","appname":"Clamcould","pronoun":"whatever"} }','{ "c_array_decimal":[76.0786, 47.0298, 68.0741, 69.1536, 8.0738, 31.0365, 46.0422, 51.0137, 11.1188, 84.1653, 3.0030, 6.0217, 72.0671, 19.0463, 59.0734, 15.0516, 93.0052, 14.0939, 1.0312, 57.1515, 26.1255, 55.1624, 10.0311, 37.1842, 31.1792],"c_array_string":["ckYdDIYNeGMBzBzMaDjQItUvKOmuGfkNIzXsxVMiZiAMtDAjfLPhnGJRyXtJzuxInxCHxRIomMcrOYQdovDDevOiICGCfYKlQuAtUbtQcMrTYDUHvAnDaExciHVTnksfGZQsNQfoOrkkuYCeFUgdgiosDUTxDOpIYRleZyjXFtdynnHrTJScgiGgBdKEnzYPQjrIMFtlnbUWDgGxOIurROjdOYqBFMfncuVFWStFnEkjHfbZMhHfENYqNrkObwWmmdroRttpIuTFzYjCuRaAwQwYEiyszlmTDpkfTkPluOdhiXFJspiMqpuSkocuVRmOEtEBPirggoDIyRXmchBKEiSetMWiRVTiyBbbzDsqwJdiEBCFKWFZRjleQPvMgcYdgdVUckYLyOMGUhMIioDlaftkeSLidIBHVAYTziTFnJxKNIRaATgFqwoLEiJUXRTMUdOlOkJoLNsRTanwsKZipsrbtoTkxNwhCkuBsrgUOTrHQAqiHxMwNIARAaOQafAB", "hZZbfOaQxrYjQgPpwtmWNjYlJYYvuAfjiJniIiqsQBNYGlLzJqDNcsCzgrCQFHatEXmpkNCNIxQRjRcSIwftyIXjzBnvdRZkDoXAHvTKPtQFRrZWczwhYTVMZNVFgSlrVWHqbJPuBJLBBNqyVmkwPRBMfBwreYqqfhsgPvTRkKMfouWAsKvCaqjiDheJCUosgmMxRUoYFfINBYgjvlqGiHklgHjTXRWjZLwjKDElFMGQGwFiwwrhtScNlBVwtIXphNZuNhsFmAMtZlukKNTpaRrcVGlduZsvvDsUAtyCRAvkojQoAzSlHDLpsOuWULvLmqoCxbOIFBFcQdSdeSTeCCawkwpXDhoQgepWHLlSwapwxYjCSomFVJsuDpYUPkCcSkqZshOeOjZzGuTpmPDAjpPvCobCNvHFOTkzAWzMwPUuuSrjNZZupeArklXPsFvTGNLcthpqwdDWcgwwaGOsySkIGJuuvkwPUuWhywbfabKKQdWtAEoifVuXfGslZqtQ", "TdcVBXmHadgfNxLHbkuMuDeISDOqfWPhrHawOPALCGtuOHELLvfTibNthtOzgRcsQRlsakWzDTsoOzkErqBqyuOEsiTMWIMKJgbJQYmjaOylZzQtsyDlXxEHkLGEfEdnnoxljcjXtUrDXbnFfwbiAUXthEYVroesIOIdJtUZYmdMtUbbSpGJarBmHxdSTnMUBNugciDwWlnKvaizHXPwqJCxZlPkapBDPyMJZRNBVKvnRdNVzpTcrnfrNFyjyhNcIrzejvlIACFfaJvbuUuPGYKovJYNTUhtBFIidkrVWIKkFWKitOPrLQLUzcUNzDUCcIACmdUrKvhAJJOSXJEaHRvucAovlJhrHEHerUOoNsgtHZekTZXlDYkLhnSmnOQZykNerMmCPvupjeRsqcDUFefhlTkDZeQroEbvFqoogjKUlJEBLtmcrlFIxYEgPtuFSrQsMxqOYjHXpRSyGvZxLViIXcwrOeTlcHGCeheSfiyfHDsTRqIXHIdhbqSFRBiO", "JNtVwvLYKWohPqDBCksmGPkJQVfUeMhwqHuxtRmQbwOFTSQXeuNddqbhdisaJzaYrwRqPDWdzOMSIAXKEITKAguszNDxepjfIKMkTTScwoweShrJWJqHGKySwFlSjXHmFdCbMsixqWtBMLJkNtTzctDXALUpDbSwAToxsccuIFnDZTxxnhikUDQxyHyZJhTOrRPbkhHMLnrCOpuKtsAaMVdzOJxzqsUDLmPzcVjFApmxdFDLnPQxSOFdJfZkgTxuCTEIKfuXnZLCMOKXleNKBmVaqaENdTdXsnMHVMBWAXuQiOoPnGsWHAoRyWQoTFPWLUtNWxHiDwafMjpwdQeucXnRWEneoUQsNQXJmxdMAhSZAejTxHLbgLlFbchDdgRkWsuJMdwHhJfuhlErTEppVWWSrUwMyXyjnMmNiFhsvvFOtFKwUGclRyzidDhtYQLuhJlkYYheVHhlMDTCdrxVekCCiNnrwHmyfhSGkYawJIQLHQDpjMRhAQtifNvMVdzA", "GUNWMyLEaPttQDfFgpLFjxDiJboPSFjaChjrIVlEDlreTHBibyZJuHXJedSeaOWTkkobSbKwLmqRFqFaIgSQVhzfGzFCpSKgeiThvUKlNEdClTuEBCUWzpVRyLnRWlheHlAepIiUpPBLSZqQOCfAVBepPfaSQdBaiOQTxoXdPrltliUNfGnbYSxbdXxSRwPxADauASKvktrowGUVzosHHFfhqzKUuDBwkCelHcQCvutnaAqlYcGPsGuslNueyCKXQIUOKjrnXHmIShEaOWoesGDaeUWfQUNJDrnIcAmcSRpUthajGYaZuxeZaEoOcCplTfRXiFaSWVVjwJbcxEUbxNjIHBaXLjRWjMDWpGASRrKHTNqLUxOGudDJoCFEbExdEuYRAtfvVYbpbQGRPjlMEybBUAZfHJEAbFbLnrJjGblmgFjOLkRuMEJEroCflwzRiKNRgybEpIwoltgKfKItWCnXGziAYrCfzmDfkBToHViywFZBHbriAcqqSNlAzICo", "iyJVIZZCkYsYeRkLpPgHgEHaTvKvSTQCOWQgCqXrlSiTEpQZyIRJRTKOBUHAtmvUxiVKCxQdDDBmLTkMThXrDcsliVMHwkizsppIugPxwwlQyDIdaFEVwaKOSIbnTCJymwSKixoqcrShJgUxMqLmrkUwrYvVOfJRyHpUaLgJIWpBZvUgWdgpQyNPlzUrUKdDSlKKpQykjYrQncFMGYQgNlhBejoOIRBRxAvrUaKErktnutFGSlRdxaNqfmiiFdGWWMQYiPUJlkpHZWanVsrNMlGDMfpHOIZYPBgsrznMsoJwymRAjmeVQnNWbDhidvttXosvhkQlducVXZCEnbBhBqpOCWIbWCXTpYFHQUcYlFsVCYTubYaOmnCuXQATPLYCdBZCRTcfKRxdGSpHxmGhLlatmAhytWhZpGmTPHHADtolQCRhPhICwkUYVTCJVmIUdzsgSwwXbnKoGmNDWSaGoMyUWoNuYKYEmJiJSOgTFXSpLJQlosTvzbRnfBbnGVXO", "FfhRGbaHJgsiRkOBoIgclanHAIMLzDBZjEJdBgYtyYUaCkfYVaJDnwmANnZOivBFXHizxzbfstLnWikisbJSuHLegpyNYIuIBAoInVswcSkWqzakoKFferItdMtuQGjvfKPrFCfIiwbZTAkJwbzCMVOMQhkiApWiagcsplSAPUTrAIXNazNpaCsrnEHcyWIYlZCTNqeodDPTaoNiPXSSEGfHNYtrydJjLxhJkQReNJivSoLHNsgztMTNtNAckKgkgUwCQlXXdGuHqDopCbIRTWvqsFtdJbAAoYGDGlVTGKkxPMxAyAeGRDLWkiJTlJhiQTJzabcOmShBrPVIaOEgzMqGjKAuoNWFPimlQeOnbKYtYllHJBlGIkabJZlcdNCowgqdomduXpxhwMrNLgPPMjFYxxCxPVnoieqqNbZnDGYbhTZIyMHxMuwjxsgQCHeEyxiEPZzsKqtgvSkXBPMokCnBxkLFeqarxKcPbMuWVuIPzaouxiCyAmdehleNxZyb", "TTzSeaHifrgvlsxAWLMvySPrMLnVMRMWdRSpuiBJDvAMHMuNrllbALJQuEUUcajEOEynOboDyVQJiHrqSakEAHdndMyxFXdFqhAFUVJjFXfKBDmAzTOLuMhRgvizOSlfsdrMSdFUJAiHoeolnmETTVvtgHiYkekhekAqhDgYjWtKHrjkKJkeFNsVwzKaAOQLAwBsGSoGFSmTGLUdMfdtkxRfMqPnvypRZosbIvmQEJUIROlqawTWbKhNnWGTBNsLvrupVlHitlFWTsDnLfygNRsoGiOhFsglAfZGfrmGYiIZzkZonVafeBABSUpKLKBQZlnUwpdUMdsDhAbtJnJrQlGnspvPEZnlwggKbSQKWomwgemjerrsUJKswsjDRCXNvcfucvsFbrUEMLPcOLkdbLugeQCjAkNvjcfPWFFANZWrPEkqNeezGeHsbqgoHKJigIMNIclXElppQEDLoZqbhGidJcRHQeeGvWvjqjwWRjpLvEuXmkHGVySFGGsNmOVV", "GftVaBVPFNBEBiVkZAJMUqVuunimiLXSrwgcIEUKGMqgZxKKhMRizqvDeCcZStqNPscPmtPJGiaQAaMjBVyEARltWrHHTkjrWchuxfkcUtUnXNtgeazQFiINgRgvnONZADJbScWYHRuLuRjTZrtJBGfuFRaJCCDqVVPErgoQraKHSgfvDjTpZOSkElliZOOdiGRfQKMtsngvOOCYegWuiSCAeeoNZbEvAsSqxVMRoSRgVMtlVNQoclYnOooKeFHqVWbLAowmkGAyUqlWshoyjCOqKmRdLUVxKuFRHoxZrWhPyxIWaTmnbqirKTebGEzmHbtvReKZptXGhByqdfiVUYncbnoNgZIVtigkzLjKXJnZXtdEDNybPqHBoezNlJgGXTheFyyJKEZrlksGawlzzHQccqHXaJNNRshwzVmKAhmKnMxVlcSdswDFsEVjWeIGAFjFOVvZkVicwbtZcYYBAQRzxPAzIlIQmIUiWUsvXDkcRLGXNhEUmPajVUfZRzkC", "DHnRixlOJjXnlhGwcPpAfaEbCvTIUEaOKimhMXaRSmHutDNqlBYdfmsgxVZKcvCJKvwkbRUHjbLTeBxuWYWwYvnCcnpEdWJcIhLkKGxlrqRYxKjGXVNEKjMKIJpSoBolRCauEJtNoLeiHyJsqvNfmCPJiUvPvuXmHtJMIkGUArbMbweqPgwbuMQPFEqyopvkWEoTOcINrSyIENlVmxxYGLRQwzCTZYiBebOZpSuvdakeyCeTLsjRqRXeTJXstaMWkRDYfAMunGYZRwlNCqggKGXCnlecafyrhKWbAauDDwLhkXnLahaDdMzdxfFlbWOPVFHCMBtTVTDGaGNHQnqbEcKgqdolXjrwBtmWbpIBeGMjZuFnxILlDqXcoxNyWMbsxkSxiZCTNSOKTxKjzwOVdjwYuvPHWizCwUUjDFxNbMmiDuuTHpisNDIlGNxrXGmXKzKuZPnYdbPnlvnmgaEcNwAjoyIijpdMuxwbuYuhcpvgPHUJUKYfwyjhxWfxtzuu", "qcTGUNyaphqmQFOBAaTWrEvRxoRvufsujgpdrAmcfKtmUfkqRuyMlQKtggARWwMeQWMfOUkcJSFHijBPWqogpmvhxWruPNtiQrISTiwHpwrunBBbffrjcghCkEEijejPcbrkpusamzXedlcHnUqmLEgdaIyAAMDETCxbCaFuIpGCyqEgHbepAQLvIPMarxmhwPEfBKFQkPnKyddShFIfDMqzGBwufocnfZmQwWDNNPFABbAFyMSNTEjtgbaaqwJevJbpyLLUGfZHlPNviPNyOPfFbJjAvokJDWTrjMBSXsfoPGekqAPNrYWTtvgoZfVwcwHRZCJmebSAfnhCVrzAwYBPdorejmYpmrsBFemxhPOqYaikxiwgWJBlOVbuNUYAonaBZivoCZJNpOiMgIclCoeCNmaTPXBuXQYohJgPhiBpilQuMuNXvlrtIFTfTKQGUvFBfXtnBmHJDnvORPMoCvsjZLvlCNBcTMEIdFTFTWHUWtzkhYMFaafCXBvPpJQh", "NvEFqyDMXFJvbHsBPYJQaaaDJdRnbSnPzIjstkXbrBxsiDjOMRDpSUZkJpiooPnlMhWOCFHXMENhEzQOeDvUiwHtZnijlBySXpaVJMUTylcSZxnIKyErOgaCDcmnfRkuMtUiSotjhmWjXAytyoroZudNCKuVHELDdktFYYooxpRvIhbInNIOTnTrkfjiGeSMhZTpsxqtRHSVeKRraFYOcQwxShcmhwQYJFyyIrwEXjhGhbsFMXCmJPKIaRlEYVPicmJtGXkrsdsmdGZViRpIVsUPoUmqwsyQuhTVxcbvgbOlwGBVHlRlCuqmmuisaWuZBUIrGbHhJerUUiezVdDwyAvpDoWxkrJyUQZgoyzijIFlTHrfdiFqCSMrlAWuPoSuCbLbdsebcTjIdUayFClwxAVTLrejzsfRGIfALRNszKoeDXbxulbFcyMMpWvIaKUkTLltkdLqXqxPnaiORDPVxIKHjOKlrqcmDJMMaxBQPDZuVZdnmUfHXHPGpZlfgtNo", "IeZZhOhZcAFtYOexWNqsmVaaNHebEBuGcKNOySuqOTrvLWlgNjCoObsOOjPxnkEyQhzBPolUDMFiAIVzsxUfMjPsjSNcAXKsiepgBCKPtPOuRXlOYzoqVxczahoUqxZoIoPZupvfPddHyKUeEcIudoyHtULpasWgPEVCjzcirEjKeNgMcAjpFcMQvIKPQDzsxmqgIUAKWZAcqenhMvsgpmVtQBuouKBDGDylrAXeNddNiDqgurwVALKPdqtbSrHgksIbGBNufekjyaIuwlmgdvmeoxrqGCHagOQGlPthMXfRWLtNYCmLQZnmfvqnFfkAtnIlwhKrXOsyIQxzuGrpXSGHyHaRnlhycUrvScUnPSNCjoRIaUYaCMsHrrFgJPpRAUiDfqQuzrmXlsmRVkzuzuOLxdRRyzUcjxCefhnDflRzbGlRbetahYvnDirnqqfVyoALzdGrVplbArvOVFkSrqlpzLKQseMmNFeerOpTKOFLjeeZXvqsuVNpqyPQBhsq", "XPCDxCOsCPLVAgwfzVJcBixJrDHGYvNXDCWHZivZaLqbVhgQcUKwOVzmqsFwQIskToxpczzUGAPmKsukpKvzykFivKHkWKpuGGldakwVbUnkRMGcxcBznjMLxcdkwsFZAwUgvRDYvDszlczAQyFkqhZdUtOBGlMVbRXsosvyfHQwOepvKSORQhhWlmqBnIlMgUKPrCPVlFiQWvVZiEdlwFKYTdLDYFKFFfiPagKpIOucXzNfKRSKWAFpxmxGQvhLFrPKSIRCHGTNIwsDmqpabMjLGlerENGdHAFQgwfuvfXBEHAycnBIIPrwVFswMeRocDtlUiAYXRZIbFecUVnxtjYcPlQedQwBZCsHVtNSXNanaMLafIJYuHFrNHxvtWrUHDvEYNZJeCjTFtxPvXItaxNRiGvshIABPMpKDaCFeYhdOClFZNIAINknJRexwnRHJPCpkjDJBtCzuIzIbeGEkxnPmVbiKlXtkZOHzUreXIdhlxSovLSsLomaAdhHJDIf", "HBZjjPRPUHeYRYBmqFevOyvTGYCpwUsdivKgqPyENCUhtkpDiVNooquHnpOWNXJYrqpFTPFIPfFZxrvngQTSOJvKlYEAkUKKQlcNpYZbRzZbnClNoZnQgWWysXZZbtGzROqZZJVkLpswXXFbTQPSFvIlrjkHjKfATArrXKYFQGQpUEhEemptBYplEfUlNwmffyWAdXIXpGONCwXTjDnGpEhLoQFeAlcSQpoLiXtrwNaQuXdfLXfrqgtidkudlaRhLPeYWTLaKEcSJqKhuHlueKXzeuTgonoYisLiKgOCCIEWIhJHkFyWJPKCDeLSyOnrOoenFjCWofLCdtgmhOvfTPjOPnImvKyJLDGLYlfVRjKRDpRtdWLWBApeFvbEdXKPJtfLBxWfFQKreBDREQAFTILiwhbHAOEBTzncyLrNRKVdElMnKOolkrJBBTySxGvRCbipPLGhysOdVgxemUmBIovcjgDCSdjHyKMmJwTjchXOrrWViYIoQBKjRchZAgDX", "NOmyvOPCmFARRZWVnDhxAAgcvvYOHfyVrykPTUzMLbTyIgFvUpYoExhMrIUWRGeiWAOblcMOvVSQcHCUnCpKRfVXfsqDbAaOlWngRxiuFMTAQMQEhqUUkGkKeBvrdUJFacLoqCymtqCZWYCITzJbJfjmfAnEJpczQfNwTTXuPyyruXHrzOSOXwkEjKuYlFiHZcWrxGIlWLgpKPZQRVTtxiejUuWJOdhPDVcRupxShQGAtHhtPdpQSAttqFLSwuLRggvWCZZSshcZuRNBkhcCjCRsbdVYMhUytXslSXiHbNyhgAUeceRpKRppOYAXoqkaYGdesIzmfrcOlkNBxPFSeBzlPGuvtXUtYhPFmRfKoHdWPlwJYOeyZsrTsOKAtACeSqklvBQfygbRhAaXIaTATWGOSjggyNPtwABpIPXwviIfWJnzVdiawMQroLiJTmtEdnijChWeLyljYeybZoXAVhrOnmJNnhxiKoiCNVUAzekzdGhlvIeyjXoAccTZSySn", "bQLwVLuuxBcihKpRLsimlWvLHpMyGeiWqGxlpnVIyDMJExKKqaAQvOqitQSNxLnTrdkIObhvhLtDUkGtXMHACvoACGeZJZzuInvToOERsnfthGuKgZJhRkhHpSMmACVjzIKCkHusWyccBTCHfZvttWlNlPkXVQWvfRrrlxzgztLTlRYxkRfkdyBgRWMNwviZIsDOHHEfvBRdDKsLsXzZInWvCiWnCXLUoIyerCRVhExkfvhUjGXQDbmBUvsGHTkMLzZBVCDhrLHhBHQSrdWmHsBqBgDQKydFPJvzVIdZTjZmpxCfprsoTdgGSpSBVZcVUdbatWOPbnfooUQkRsVeTYqMbsSGpiAmkabjRIhDOwKvnFyUXborCEhMrVcSrLNiAtpcmnVlcKBXwJBJUbWWRWVfJnMTITaIcKKRlLGMRBmmhxJVCzFiYwxNEzniJRLTKgJWzTvxdiNZRVsAUVPvOQtDotLpOuMBpKngItUDjBaxDqUfJVApMCKkwuvRRItG", "pXXyrxRmAYVoLABxQoaJKWvHddIABMKSBxmPStRLJqbDavRdAxqdwQxETnVATWsAjtFoWgQGhClWxWCWiqROuiIEdKioHSKcgZUrVMqqVqmthiOqmCJNUaniXJXvoxxvkcJGQwfrIAeeaMBlzeEAawAzRMszWkQFcrlMqgNUnrgLFeNqjFhifHOGGdahXwPPXheXOWooMaDWqqIVzcJFAplJrQzguXKTerrIZLqDjZIAZomahWgZAzThWEfmOOcUrcQYAFMBlsFgAZMJhElsPstiLmLOBoQUNmEAJXlUmqoKDolPlcOlklzVGNOpYynnZPENkWTwfkGpOGPnglfEXbizzAmsCQMBsfLQibSpMQyIVvQpprDNEgirWmLpnvBEurFgknBfCeODJUkZSHQCYWhquarVMtJaCYQmyJBBlUEyywPpZgJNGglGCgZSHuhxVjWCsuOysoYWgLRzVkHXizujWsGhNqTUouWXUxbIAaEbhBWDRNhQvjxnmKodyfWS", "CUTEDjLYYkZKDCtFFJxqHDInOZWrjjvpbUWssyCTcXUIyGYmYIREwVQoWjZPBhnrGHevBoQEqhHdbgRPhQRgfmiCQOzGdCVUUzmoFsqdEsAsvoZHfuMLZvnBgaaDUehUmhvvalFKwMPkaXbHsMUgulRymGcmmrcgsmfuoBpDGUlsadUjYwSGdMSkrepEcKQgqKtAFJoddLlSCDZEmTqYVUKqrYhlsFVJTfhavFPWaxOcJRlylAmIGqUzCpLTzaahBbvHlccUuDkDiMasDgBhCdfUrQhfmOelhUjJRXzEYXhaxqiMtsCkqyiuSGdGEUuqcmclUPkqJRskntVmZltWmoHWUnydRNUobSfZCObeMwTDppojIMJHUxsFVZFotiiTglIyHpwIpBDFzXxQXksWxjyqWRmiTmsoobFCYdnYztTSIFajHBhKFCtKzzIJkeDcbYwfblcnOrkpuktuGMenwkVpESxawwYjZgWTccXpVrkpaTrUjblrEnujWhnDrdDu", "hREOniVDrzcTngwBqMWRJmNgyuQHIAsuLToBjHCqiJTIxumBoeOXIVrmzExHfAFCagpvmkCzoYtmOigCWYEMtsPxpRrmxblDJmuZJvddHpXOJgScfmPcTxbSheQhOzxUSMiNQbYWthpDWCJpOFAniWdnOxajFqTJlBxWRPlpWPrcYFtMQPExalrTYQSbTBCVWXecgWVeVCgrIjxcgtfBinRantATXntmvxmtAQRiTEuMjYFNNdsnYueoFVAgOGVOTDiwGLfzhLUcNsCxWjqYNmresQfaGALihkUSzvGcKJBOmvwQdrmjaUQFoHAyhZlzuVgxPLZTCSWJDjBhJWcFdDqpBBWbMqVrwrjyrfoemTrvHlueKNXxbZXmrXvgmSGVyLsiTCEBZirmHiGdAsonlVlMTXKODEhaHKSTPCvwArZXKCgKVVKpWrIstHIxJRPZiVNLQBGUIYwwugdQanhPlYFXlfQkVlHnFkYKZFRfSGGVWvlvsLqHkJiFDAjWJobG", "KjAlpaWOJRIhobBtSGzdwhSIRUHLfTSNFQPMRcKrIbhouQtArMaWvqLBLqpFsWciMvKAkPYVFLuXozvPUoswepQzkxiAJigoofWUwHJjkLHJFlJMOmZDlUTWtOzgRWECMCbIAOPAxiudzAZHEbwZwaLwhJZhKDaKeGTQzsgiFrNEmROyJeiqmgjrkaKMpyxqyDLLWhiLmGbxsWMupvwtkVBGtjThiuowkQKuciedZyHwciceytIWbckjOOqXNYxOVpvCptnAIXydcoaPfQhEBSrFzgKGRroqYxsiWptsQaSXzMkkdidkifqFXuqSbMHFemvIbUyjKDSjMKhQRyhdRBQrwwgKnHnjVGlEzaNrMVixcOzcDWPOVRAELKQqZiyLQAadGXZjVFyjhvdZcInfDCQYJeORYwQekBjvUCaFpZExIGfLNcZifKXHdtQQtEODHDEJomsvfTbhZIParZbBSWOprwIJXTOUFAlGMJlhexmJEqWUNJoVUMDDjBWXIRHR", "OETkahKHJHmtpvLvkRlRfTkgLQgILKOsDkrBCuuWLBizUdAYLdAHFAoqrpNSxCIVCXzgdzRDoiLaDvtUEzWwkKIyFdAzOZAmdVOFQpLrDPoQlKYTXTbaCTLmMQRQpdGoYocGIXoOoUIqFNpofzrpGIVwzepltsTCebXvCglnZtZgEgcNuKNQJlZZAvgnwngohEToqhqaOZDoRhKZWrmvXGCJLBjwsHvZTdOuboTSSolcvwyzeHtYYuhpuzoRsxzmpXDwbUKCQLVFFvkFUWORGXtUIUEwGRpIhparyJISXHbSchoNJFEiVsGHCYAJVmblJAOAqfqNBktwbCLEuiHyQaDJuFNEzLaloJLeCldHSxwTgIjUrkvejRrNocbVokaczoiyFkzUnnTrPbHrtxCwmLNzuKJgzUENpSPTaoNDFhdXXkUgwAIHvtXYMdOTThMkFVcFYUGMfMfcArCWrNEpBZzpFNVIUNWHiwtCpJAwsxHEAYrDZAjVSzTitTdYPvNZ", "JoYuXsKkYpQEVHHMjZohahhZhRRLLDtzbSEaxcqrGieGkRYPdBuSNpeFoRckovePvwXLzYYDVUHASVHmNCyIPQWvnuRhnqBCFyVSLNwRdPJzqIIndOplpyzmnLqZKNzbLFAyGWSmiRXGMZgxTNcKHZSmKcpEhnmCONTCBECNDSkxkhGTxwXQwMHRPrfZFjfnRqaAqMgpCZGlFWsgTlPFCHjXRgWrZPCxEoCuVIhwdJirqrmsLvHKAMsiimZAybotHgOmMNOwsmAFwIKdwLSblpttoXuwcSVBUSgcORzullCyWMMByHpjxOtOXneeJvDyhDAgeOBYdgNtHxUnREZqgsoXLxknIaFCFQLzwRLgCZoxHURvABaPEUpnJXfBvPKHwreOXjTlxcFVTeycyYmtEIsTsnGzpMAdhfHngGuRMjKGWsOKqczjLyryCxwSrZTYUWCqZdvBqIlYQOkfVHGSmPedcFDnWFjTLpVciLonAlQnwbgWmlKvhlKgRWNUzGZd", "iDIGCGVxEdFFeegKdlLKOdLOPqcMnehvPbyZXVbZnJkysDdGjmehZJAdrdEuiUKaeggznjePIFSZCaswYgYwKaBTYPrnnGNhsdVTZupIoUAGmDPgUoSyLFvVmMBmtldjcoTTmhOarmOJAKDSaTYvvgRHvdiPWEgObUBkeKYmJGzaoIksXDSEJZejpyvUidDtryrmNACVtXwsuRsKCQpSKezEivjwzAkwBWDqTwXAmDagcIMpFgFAoBNaDgZwynRbcmDciBCcCLzUtLzyJqjDGNWmJfDIzFThDjdCdsGCabxENZhQNopJpRtHTUkQpajZXAbQYIcenYlUxhsLUcQAzFYDUaWamxmxxqvdBezrijfUIRLqTtjIUKNJQuqiVefeYwUsUxKLEbomkrloOlcLSfprZQabqhmgGhiPodNnOidreMoqNJIkLtgkUcbeCkFTgDrCkfSQvTZvvKkhiakdveQPQasOmqoZyjloLkOHNBhYyXwvfvipnDgXcuGHNSaj", "VdEMiDErbbjsYyKUAsKCjjYwHmEYgVBcDTFAmOczFjSWNPneGMZgNTYtHauZMliwMpcAZIaLPwhRvuMnKrfztNzrEfvCYUDxCLawDWnahXJHNxTauFVDSyNHhKIhYEfZBzdeHNdFqCQAqkOjVPEMvzaafsmESUmeVyXOQUyHURFzBPWDmQaglkqYZOFLAZeprSSspbQqeetnQfxhjUphluldLyWQMulUVdMLYjMjUThjscRMleiYrajqjiMOhZlPBeayGWsGNRvLgIyJJGtpCQdwoaUncvOIwIHIyLdadlTXRUTNYlxCtPpEpNLujWQdWiDcQxjCbBCHjwdwLEXDaBhKXGAbadRMvzwLqBsUpanWwVWLpozTJmiHcNTPMAGtgvGvsrKkZocOREnshpBqkEBJxnVepFMXbFJJyyAVcFZVrzdpBYhqUqMqqoiRbywRbLlvdHrQwLFxyCFuDOoIIjzhGDLqUfvFbTaHCftjCvcLweUBlzNaUCnkMFeWPLQF"],"c_map_largeint":{"c_map_largeint_1":-5366821357927136152, "c_map_largeint_2":-8447579414500406477, "c_map_largeint_3":-5214797714123770062, "c_map_largeint_4":-3123886580815924223, "c_map_largeint_5":-5211232946016703063, "c_map_largeint_6":9132310294980702865, "c_map_largeint_7":1464724073496274713, "c_map_largeint_8":-8894282161713218086, "c_map_largeint_9":-4187336238046935157, "c_map_largeint_10":-2154848940871144412},"c_map_string":{"c_map_string_1":"ooZMAXJpCqbBLcXLjOkANajUlbCCiasZFejyPbKVlihViNJGZTaFZXxvzsiWNjzAFooSonNYDVYKZNIWzOGeGuZOvXmVpLiUeWNrfxoEAToULUJKvnIeHFihOedtSNbGxLrigfewuFaZeTjjYlmojXqSLkNSJvCqufkBWqyjxtlRszGMgmBvlxNZTDbWNEmzRFfqtnNCMhIgOXgipqJmemBzPDJUhYPtDPQRGDcmnxjvRJvlFewiMHgEtsXeOwvqTHWSSNSLNtROsjAwCXiJsxFNiJkOZKUiSBgoOXMqQMMCdHlWPuBkXnaSOsYoPfZhCVUtyrXIYgBmuehopbEzjSrqoQZdzOoqwWNFKUhDPGVNAKkbQlHuLfBvsNWUiVSfjUVZaWpaFtGAvBkavJfdOhSvQMAoyUpXxvxbnXenoUjPvqSMgFOiXproFYZmLImayMpZmvzCjAevIzDXoBHWkhjQbGgEhsLyImeiPXFsVDJSeeEgMpFcoOnXeIMwbIbF", "c_map_string_2":"WQGASoknIbLGSWuQlQBLVgKOhNArLUWrZtfSmeTCTZvYcoVZhPKYnCQrivFNaIYoiAbIcbcMuKwEzlEvpGYwzCufpBohrNYktoFgpObfGUZCGZSpTkwPNOrUOlATofNQETxqPhDuCbsZTNCbyVDTBOdWPeaqvthkKTUCVvunWihEvSOxaUazOamATXIcQfboWmbjlMJnToKlKwZcUjORbNxZrawAzmelxPiRlBbejKdyxIYmevyDySPLITlEzdWQWbPjyKpIFmBtXZMriylOlIFBDOcWJICKhngeIDfukFxtYAyKhwyKLhZprgspKMPNUxupxSyxvyHGZqBnVVuljyPCKgdXyqsnUhRhzwLCDWuhZQIZYhdEpsOxbzXNsoNkdSEIeCZsKGqTqQPOtlSFbHgqReqPvDnJhlJrjHTwspqwhWqhsrCAHyQKzDMxTajIKzuCQivXxKNtnKByLCHAJuwopaOlUfdKQnIWePtejsbQeXNAMUXTZfSpIiSHEOIg", "c_map_string_3":"LsKMvxOQLVhBFBKJsDSuzZanPvkArLdUNIcqZvSewYToDGdYTfWlaRQfdmqjjyurMLFNqhuqHCaBoIoaYuXkrbakvfsFyHnryAaLuufogYTrYLHIqGXxtzzdcqpYVVrSnxVavWrLkUGQbwxGhFuJrLfKxWzbRVuXpTVkMEbohsAHGCQHByXMGjoFLQktgPnpiVmDQIJrkbMqXAfidGokxESAQFhBBulZhrCPUBPUqwvOzbvGLyFPFGoRvDzbbuLHJXYLvbDyCoQmUQJkOucJKoRtmKczLPfjGWCIGEeLRaYhOsFWSnvqatwkUyEylwEVNuUkosjkIpyWmtYUHRGGYwGsRVGGiXadPiITbrhdzvdInSvGocElVkgOVPULgcdKQGVzoWtAkRTAECYdvcPJGpvHSTHuDLmFgzuVkSKvSgNbFHfTMqSXoeHBTTCWpYNNgiDgaRhzhKXDgiOuuQpdKSblcVODGysLpXdyencHUWtfIzZinPJJIHlUdEQRHIyZ", "c_map_string_4":"FMkQQPXySGYEvmWZKRWKVsPndHwZXslHcpZLIOVpMLtwMZbsaCYTEJJtYLsgQyEpqUhftPNmcxzeFFQdwMpmGslQHaEpXRmhEkatzwLpwBDShCpxgZjyhuZUzsNrDHEtgcDRiWwmGEGrUzXBNiOMKXaKwBEFdposRkLkUmHeArLkFQnOGqQMDWdUEqooCUwPlHfSAIvENBCmrkZsVzoEarEIMNKinpDAgxqoIBORhhNhaeonxNBkkrMOFSLQrGMkvgxaLLqdNwdadEYjynEVHEPVwLppYvhvgiFCZwuFgfIwwdEITHNxgAkfTQBDboOFeSNFMSvfECVODnkMLjFKSIzIFOofYpCitiLwHJfkAIrLHlqJedyKRBWeNakkcODqmvVxRQSyaWQIkViFDSqGoqodvpwfYlKNPcwZiSPwdcgGlGLBhJfIVecfQJxHMrtwuQVnOWpeCkwyqSDUVPoeloXDcZcltrqosCvhzjcDnIQeAxziVXLkIGljNjNXIAmG", "c_map_string_5":"DunVZHbeXJtaTiJMPnUgNMOsOLPqXtaUkXhUChgUDivVNcesBPTDtRpeupIPRLWHBENLxQaZwOhlrwayOZfZFWnstzFayQRjJFOYmVqUOqTWmUVAbhmeWYGdsUtsCacbDJqhzytQsMXTyhxlFqpUejIuGbqRxtpKsmwQJQBNAXIXSPNbVyNtwfCGSgynTptAcSlzWRAfUIOSDcQivoEaAEtyoKiZONYzwxXAZcKPoLUzcRSUWszzPviWsShlYpmUPKXJGdDkFafErIWRlrFxUayscQEgvFaxKYtcJccEfNyKHnflSAANfUHOaNQivPJMnTMseILRXkPSTatRbtucWdSekFqrnnErYUefhyjkGFfhcVpVeGUbZbJhKWWWljeXbKNvxEtlkCGOUfXLUcBQrZWMJxdWNsvXlzfcbtAPxUjcPfpLkpAXaRBVXkjpxMLvJTBBfeXReUFmPwwPGEOgHnayZtxFZuUmLGRJZAQuuKkFNhtnuQoNalggioOcsFxG", "c_map_string_6":"EukrmPBbbEkEWemRzFVCeIVRFQoijdENqYMNUbPSzjKGBkPgdRTwLFvMLswMpheUrrAAbzsCyohKJTAJKxqSKdSLvzauIqdgThsxNqbXlPTfRUGXDouHAYZOhNaqTTBUECbQxZOjaZZBdeSEvrYpJTmMODiOQPcdfrNzrIwztvIxrdINcRRBFJHeoFBsPLISFXyGeqbbRfzHDhdriYNHRNbpgbupGmBNxwfEKxgrxHAmHmeppooEjleXFqXbXMkqfpyfPZxAnlJNMVfvmMvdHDqOFcHKInNFrldeEJidQCbshZjdlIuXqtlrjZbVZnMbJizyPDtUCEaCIZidTYgtOYbXAUjOtKgRZCPiZvmBSoxvsyhPuBvlWOQurrJQHZixDnqbcNbkyJlGFFxpfFUtNslhZZjzUvOgFTYBrDCFeRByvKiyDJltARlEzZFtuPnoilOpTeUfjucgKBjrmwKlwFVNZAPvJSZWBdnLMbyOwCaIsKubbZmVEFIdePDVZhow", "c_map_string_7":"zhCViOPLdlLhwIhghCGBfKLWEINYDaatQQNfGLMXoaDairoXLWAlUnsWQFKhzrfDsUatYUhwSjKcsYIgLfcMdYXotltMFeoEncntbvTbgOuKTEtANphSAPgNcHgHLlbLQUtRIacNfLSOycxElhapDynUUthmVLBtzvMMNQryYoBrBaZdJrzBMViTVSBtszyYqTzCiIdZSfylTNUlcjMNsVBxwBwEpMSeJLdaZEGBkNKHjGZeZsQxMzHcOsgWVUhKddcOAShwCqDLeMVpxmcIPUVumMSeQNcwdewIGRZQEIuVkvoByOcNqpBBllSoswoAQJkgvywTngBsKyWwEcyCXlepetBjtNhNvISCTMcmxNoWjZZXHleykeQYbqQZttFDbMUvzYoGLtNjiGqaZbymOFwUHeBveUSyjzBKAERbOwKmHhNCWWCPXoFqXkGPAjtwIFEwEllihjEMxvTqxHgbMIedPlBPznsTUCbiPBqwuzGlMOSPbjjSAsctPlfoPAGH", "c_map_string_8":"YtoxElpBtXtWOBpuBzaRmZLHsPInyrnPkPqUSJRLbWHaeoKHZjMrDttKcEAtWtqNPHdWrSIwTOlutmsJDPtSjbmWVgiuMQadtyaljOvBRDqXObiTcnvVKLOcSnuyDgqHPjsSFlPsWcvRSKWnwJFcBxZryZjeQYIJIBDtCJbJZVHsuIuOAvHOqnHvDuqJomiUxoFBHFBLNhYKpTcGCwPgSNmyDaCyQqlabZzANsdGMfDDplCzQVXNKYvjeYdrFuWoTocORdVhBFeHGHGHvBBANDYmieejnJgOQCvXXAyzrXKCzOCoZQNEOvoeAEGpiFNmhaxKkADOkJxSAuhhNIgpJDlfPomxQYhHWjQfYOWmXvWtoilxnaObPdfqGdgyohftkRlwaUrVSdYDdOPPeFGspZirYadoksFBPdVRkRCbKkCnxcxvhNaZAgesUZNSiISBgKKvnbuvqEEANiWOjoVvsnpsMeNLUUetzPlceclRvfBvamnsMANSFbklIDWJmKjJ", "c_map_string_9":"JtyRshSWoZzCZLvwVTsPQIzyAAEIhwgcfPakkBIeqTQzkjIRAlrvEnTqCIhHHVmphjCdQgPuTKVYDYswaUtVnioxVVaALgjVsgbUZPINpwtWVRTLbTzOszBlnsOCNAgyblOUXrmmSCNTBBArfXwAQTOaeRssKtwjzbNjNNWjUFvqCVPEhQjqplpYqMddiIbFqbjyZCARmFrfKGhYqVRktRecdGVEtDfhsSyUbASejcQPmCyvHXxxbjnboBTdotARNvIAUcncUWidKQWnBqizbgQfeerpQLXdgvVLVPPpiOXTJMsDhmHTykFYPTGPXMdvKYOVSnetKQqDAQPNQyyBbMoMFEavrlewHeOSocfACptDMHkLzgjviTPJmOzcScLmwoVRBLtyQyCvFcEtXiikqnPeLhPnleSzhIVMyJHJgiZgKKurYPLhpjAcNFzKJBFRvlmibltqziMiwfXEhPbszBKSbYyuZfFqakdFqGiRyLTVfqdCatSFPlEXXUxnpDbV", "c_map_string_10":"IMFgTHFSulNQDICAetqAyVNUGQmvCvKzJaTaqIsdqhHZlncxwYfNbjwytKqtTXxKtHwWLVgGBGEKYbUJpsWQvjKyjNpXPoOrUeTNMDCBRfaaaaYpiuzcUEWYlRaTQZiulvuEEBNgIbcmIuuuQUoCFtaUxxlsvndkbAFyrhGORIbwfwCNAoIdbkmxMvZNJnyxgjEFEFtypszbWbHDDLociVBmBYDswmfElCPMRvVTkniiBAQTSkUhwQVslNqMcphswyrkyvUdqjxSqJUurbylyQjAYyCtdnCodGrpwUyBhpOOUrshuJNfssdPqhxShWQvjPnQPJYwytFnyqRXRKnxxvEpAmQFiqvFKGgwMrwDZkxUBAHQreckCWRSuMGJFAeMBQWyjLoYubzWAQOGwXCqlYZLonCDgykstZefzdJNqARVpDhbBfiwlJDlJNChcJFxTckrDXeVTSgyRWXpraErbtMTqrRfIWqnoHeqOeiRNedCvnRuEUSAOixHMGZbHqNE"},"c_bigint":-125584320119172501,"c_array_int":[1396229999, -1378994540, -1956221820, -169558766, -393724846, -1495840972, -1219256006, 2055022541, 91410757, -1856542909, 1014107930, -969098019, 1502884526, -1784561567, 743632748, -2116391952, -303917768, 329799014, 180964669, -1388857857, 231837531, 1895814874, 1375492637, -1460944519, -1660414600],"c_datetime":"2005-08-25 06:47:23","c_ipv4":"238.178.204.205","c_array_varchar":["ARUFqqqLsimJRzlDOTJRBmAgySiWtKslZVRNkFxeqXXmXcVHNsPaTxQnOkwBgwVrLISGmRMDtQIxdfvppkICKOtOueTSaLkYiHzbuBxcrwVGbEtgJEKyHXWttkoCiAnaryJYNnTScqRBPuOlZHqbOafrAxnGDQQXCeEHhNMnnBmbSSepWTdcqYOcinZQxsOxPTBvlAzbnLWquXFJtIVhpZCQXQMWcKlwhXYwEtKNAMDvDxrtJsRhkWQZiuoQnMZb", "OaFFJvUXCOAyOjZdYiAqVQszvHNbapxlgnytLHtHPuvXrgncbEkaRrAsGzAtqAIOTRiFXTOmuuPgOkKdoZaYBwUgYFbyRtExGKyKhAhAOiWKTbSYSjaqIPhmDeRpNwtXzcShLMZiLhwqHqOAPAXZjXXVWpLVCKHGuSyCXJBnpeuNVXKfNDxYeCQIVGDEwgLQNfVPErTFyrxOZGVoPsEvPUdIyiDuZQZDknbsjlZKphtpvjKEPTrXQhLKjDWsmqyH", "tPSUkaLHhuVZHoDGpowtXCSVpXZNZXQaSiznOlrYbFeuGTdWANxXlTsLwmSRxutQKCHMJTRHpSrQEmjPciiiIgyuYmbCFfvWFFaZLSBiDKoBlpLuydtwIrbJkVAxgfzYZxFCvIPvCAhLhMyBSyfbEXZECaGGvORKJsCwtPvwokKPkgQhqUvRVOHWVuEawJqogXwVJbDhfNYUGvfsgbwkLUXLGxaGyCOaHDectqUaCWgRcyPNCfUthizkiLtAlqBT", "ZchjzBpbMxOAbxzviDWkIJYNpMtHatCtWTqlMqhRKUVspDXgmIbuuDnHeKQwzksROHqdzLhtRfHFNOoJrAvtWUVbTTeDoPNyudoKWanRGnokioIqRguRdbaURLFJSDqZrwReDXcTMUmnodujhTNbXoKrTbHjhoQbeNtKLytOvJwpCHsdYXxJgLNKnaSSxTeshNKYDzdUWxBmIDnbHeexfgFglMLmSxItgtTYzlercXeWSvWFnweVFbQrudHUpntr", "UWZAxFEMnpblgQSXwCyhZBAtjJqzEqxjDWALreevmhXNNYWLjqqbfCaEtoVZVbHomYBEBUKlPoDGiLvtNODrMVYpLGjVvOZNZqWVSbXDaeIBNiGxQBeNHCZOUaRZvduZyDzIkEIHVzqnXpcIWiaxrXgdGlTKqtynWghttxiLbBiqZkdGPEUYYXcIhczBJsadWYOQHIcXHLXvLCGiIzVKNYmvMeVtGnlaGImISNPmEhOlYPoRiNjfHVFZYdXzZFGQ", "WxmADjPWbhiPhmCoumCSDBsxmMCZcuiQbQafswYrFeZpTBlSaihXWrxsFuoVYAUxJbPeCrMMUmbneAuvVQmDFtQIMsAZJxAdVzENsjHKOXsRPfxhyhlNFFCOMHWLKKSTOtIPIKYFDaEQHdbEGjPdnyIbokrFNHTdfKOVhswEaqFDkjtPExRguYaPrYVFNIjLNACfTHrFRiNrbWefGlytpaLrUsXWVLdaukRuoquzaOwXkWrHdKTKnwdToLrhPegp", "oREZepqvdXYDBoQIMeuuXOFbNdSHCzmiYCQDZfYKsmuEzMvmBSVexrHjhnrLUDeyBvKyBBUOLdfkIiJqvUuHoBphiNVnGGEniQNcWxgBifqbmpgthdXreJNzCxtHEYlLPBjUYLTrCPLYRTVpOfuUTjZIlirKETUtcfMLrOAimxlEwdodFCxCuxWzaRplTxFSQgnRVTCQlEFhepJXfQsMeaeNtdACcqunacVPcOouIIFyxAPdoOSefTILwnGShpDB", "QMKyOYLDzCljXpKEDrCBvhzVnEZqqKNnIbmvMRcPljHZyrkTJnQhpPjKMnvxkNzkOnhEDnUhVGFZassmuRUvEhWieTQvgjkFiMTadFMeHtMfzJoeuPTsHutxzmMkQbeOIMowzCggdJYwVeEpkothOkUgfgKxEFwNXnIzkTgJTfjHoyKrqFiEyqceJysnexGmksZhuCtBPGEswHhQJsRcowlIUHwGcoaWbEPPmQVBQHjBsrmBbqIQRcgtpvplYtHw", "IiOufEvPBCumGpwXSqIuVfEdtZAuKUshdMpDRTjzoIEqqngrhPHBiiVSeQJceyzonEqCrrqhkXZgKedIbCJtjvtXDbMkipuejaBCwOYsSDsBqEglYIFsSSOJDPuhMmsxGeQvDhEuXZtkZIPWWpMnbVBbgRkRCxeUpzuplSCYksLmLaCJIPznZbWviKOREPffXCbLBhwCvLWbusKDcdYSXgJJrAxHZzzEOzJfvalVtoEQaOWHQOEZdaOfJQEcjSMZ", "yoTUFgRxUAVMnaYvClKyeCZabguXmdYIJvpleujLdncboxxHKekTSFmIUgePWSHzEyHnLwacBWdqwlFRFZGWvAfWwHYAUdHoyzkMBflPwfWvyIQimNZngVXNUujGjcByFdTMwXHUsGSItYZRCVABkECBeYlMrkdKfuYSHCXuAwAJdsIOIwkuDmtBbvNdoWnqTxluOEKkhHXSNWxHBVTXtLpULMTCyxlJzQNUlNJDCYNiFErKqeKiEIgmrPXWjsjH", "wmAljqnaiGDDxWwzkXSVFYVjCPbHxMICxcLSSpFdSLDkDnTDXAhVAvHtpHgOhBDKkDVleDBahUKYyrWOeRBAsXmfMlRJhEtBjINfcCwKqYIwXfmgVhDtwtGWWHzwYyvdmAQPWpYfJcMNaikykvajCqpDuTZGzhpUEUgUemIjhUFYXWAXKTrIDjPrqqdcEaGRpjmyQdFDPuuVcvfrIDRuSoHcycklFjVampLmhowSsrnTnTdZwfIAdUSWaeBrCOLq", "RgaKJvaARvxfKKHqnPjZhhReKFtrZgffYPyhgjTaMJDtsLnNGSCDLlOinbxJQPpbPDNxAfNliWYkZGrZhjeMDuoftYnjbSRHFVrBLSbpqlIyizMQYfffTruShuPhnhXlDLOouWZjjryQdBQpbzzHYTGtRswPxBtwdNBZbIzAfzaWMDBFOfenOONZjRhwaBKALVwaydCDVazuNxGhrBqeTpjgRjiuiRTWdLLaiCFiVSYrnSMGvcejBUKLtYKJoCSr", "GRkDqIEzphrqRWzjOusibkhaVWvkodtWQamVgQWevmbzPXDQuAtOLzfAgJFPUjhHebIzraHzOTezOzKCZPNqEcWbtXdYGJclEkfhlEvBsJCdwVShbiFBNErGtwjtaSRJHggENFnSpSRKeChZPXurdaBjryYKzskFldQQMOkDAYhwkSTSpvJflmezPAfddDVLesWXxSJFAxjrKQSmXhGiuUaLuFArHTmdrZiojyDHBNiOvXsfqhqimeBMNMWEDdIW", "lWiroTwpjeXlgXhLYBAsgTjxzObtKtiETofoMINxaQCySzmwaEuvyMfcKUtkwiNdtyxmBthdCBLPVOxrZFDQwDrSMnwOpieHpMkkCRIzTtIQsmWErzyzYzLWGoTDkEaqvbVKdgkWFMLfqQAHnePwvrYoIBghQEYlMPeGExBSemkjnffNgyOKwZsKuojaQSJsgKcUQezFDHivGGizbkpHBjAwYokSDmQjKJoKUzFvEwoSLfvZxrKBhZGiuxXwZqQD", "GCdYeviTmDojKBlkliwYawJuXXtSwBFveehrxRhKkAydbhcZEWlkgftSSKYWkfSmNzcvrgshVxuqiQcWVejuoJYGVXKNRKISsPebOixONUNQZpGbSVhxsBayEcRioLdDEgmtkIMoXgHNMPgrdvGYCvEIjNQvcXVRhSGRLuqgiTkFMSbxArVtsvzuVZXgjSclWNAVJkolnvIucAyqGQvkIzeUOVJaJolmrRYUAVCSLzmQEpIrKpteqmwiuUcdpFpj", "eieOORpBOQLFtlqavMGobtMnAEBhIiAayeJmpLFzjowhIdmGzVJIBWVvFLsAOIWaQxlgqttpsdWsZAPSPJgnHsdPHpOGJDIoGbmAIEMmkPBLXPWLXmZTBNeaDtfivGFZcTyKybKAdMPLfxcMHPXogwZipUgWGRDxgXWWiNUUIixEHBekQZyxHObtJlZsDcLmdHngHvHoLjtvHYJrnjZhejCoieOjZpDGQnrGxBwngRjKdYJedUUUVrFYlBcetNOz", "hpQtLsLyaBkIrbpDSNkUtThxqchhEnjxlrGLPXWugIKmGNPdjTyWwvuIuvHkXBjvQxTdjgzDjrKCMSViHgFwOFZaWDfZgwlGJvSGBoQhXRCaNFOtxkhwefOywalnmAlPkLKLRmIslAqTawziuPwBaWkuEOMbQTTWWWWFuzsnJggRXOlygphcfPnkhTNuXCJRDYBVZwXKzilHwxwGbLdIRlxMtVlsKtVfVopRuPkmJESAErTzhJuELhUjZtXseCkW", "PbeVrNLHcsTfCmXvlvyBmEoTSBWdMaczzyHrevoaIDIvnIBCwoAkjnBcsClieXyQdgJZysvmyzWyJQGqrmIZdRpvGWityymBcvyKvvgPgDcMfNlVaBRghahSMbqlVHbOGRaGxdhqFUcJrEpbocIWllZQjNqFqlGKYiXzXLkWgNahoxNPoohyFpcGyUcRscNcRLkkPIQWxtGVLTEVSvbqCtEzDWzjJaxEJcxmdaSiezUaPmmhFXXmeqTwRJMoAzvH", "KHfRfCSgSuKcRRnsvaUcYRCZyscUfsjlEtvPUdMbNnFdMnwbXhSyDWEQWwiuKskVqXyKqQkIIBRKkgvCmBKwYMHONZyDCZoNGHmhUEXBgCIhJtWJHsZncbmnCvoeZXEMGjuduEenBIOsQmHarmXyevvMCCzPXPwvywTNESnCYFcxCWjTktpZaTfWqIkCQBydvNwxZoVHxJozSxbXoulYPvVHifGnMRnELRommVprKWFiRwGeTfVepyLWFRXnRvrv", "yqiRaGeigtrrIduGRlciIrqRnOYctzxghCDzWaBpCpaBIuuhMOrUNZXeUpdEFAouxAQHnrprGETcuBvsMJLdvgGrRiCPVUYqoIyROZzNBjUpkUwfRjdUPvhXwiOaEjDrOrgVtlxfLLppVRAvIYpToFMHQHPRxvVMhUXHLqYFnWqIXBzoLOIDIbiGOnhvoIzrqsImfCNmYhWKNPcnxUeTJLZuVvZiJQXXHaIlJijrXnLGGoGLEQKLLXJpnmuezEkK", "dRzdsSrerrpRnvHGrYSsGlndkKXVANTFemCQVPJmQpCTJFyadQNWcZIWjghzAsCRIDXnUCwShmvSeTgvRymOYDGIMsrGNaKMOevGKJvvhPJjEuhYLWYsHsmdCPJReZLhYyrDLISBGlySZDzCLwKqpCwpDGrITgFtyIJLoltQdqJVblQQBvqAQanEiYWGlNPQzkzxpXehPhGyEuInWBhRTVaZRqsgEUPICuDuxFszmUKGGdIHbLrmcvtcBuAimdVJ", "QFRSjJYJUrFfiCpeeUMIBMqxDKtKiOBJOoidSwKCwqebGJpDIfvdPnYvDiBzllOqkiQjwllFoAKFyOhcCLhBsZdfZMiNZHtIIUutuwxQaKSukQVVcAgeirEmhOaKiVpbIZvuvWsOCsQdoMXyMdkbSARqfWWmbHdAFclNCjEFFUvVHJWrgivyCiPwaHGGhMToVxNSLfXypBAOwLynCBsmyaAUdafRvdxsyRZaRPBZWKLqjqqdbnEhJChYyYdRRnmm", "ZIuDleFZYqCUsnuFxMxelgsojnJuYnlTsREtkOVYrdXGRgJrBKOYxEbswgJCzKgROsjZAXnbGPTDLtWAfKbwODRIgRydSgvbehhHaNrnoSDGxKAPykMkeASQhrRXWeTbuavxrICrVVYpGMaIqUifQDuCteDnReUOucSJjSDgSgsqVzmtLHEOKekZNtwQMxaZPoXLwhduvKkeNtVNJoPkpnmuqcOBTuAfJitkHalAvwxdYMMHWzdWdYLkhvDsadEN", "CeXwklTbPVeWdMfjlCQeryKTOtmoCczjbwbKViHdRUxElswiYEtqJVPKIyLtLWlwfwjNUuWdwjTEXpmInYGvUVCXYckcTpzHMuDMMjAVGpTwqatbknQZAeDaypHuWYdRQiXugRnjnhDtrNCzjEpAKsMRiNXjedNsrlRhEZdMfzEepeRrFcpaiUHaXaDjdUbpngcuhvktyhUxjgAXGANKLveSWjTYElMaVNZrGlQxKTutPaNnRYvQjSxDlTNlVAwa", "uFepyGbtSmUGbVTvEWJNVzkNVJQjxmXnBPplIvKpFppwWasjucgxIaAebyhiwHFXmQIagHgfgehUtkyHZWHzYhQbhICEGMGuHMneDIFKyAMPapJGfMaqisLxeMEcHoxSZURWfLrAyHfIfTKQeolXdEwzvHknXHWLBNEmwYLqyYDCHIFXythDqrStrtzlkmwMnIEhyBaQBNfhunrRyxXLHnGrsRPXeHrBXsfRVXdQnPnrAqHySeqVpTueSFyVkpBl"],"c_array_datetime":["2006-05-08 15:14:50", "2011-11-26 09:23:02", "2004-03-24 19:40:54", "2014-05-10 05:03:57", "2007-06-05 18:56:27", "2008-07-25 13:17:07", "2004-07-22 17:50:33", "2007-04-05 05:53:08", "2001-06-22 02:19:21", "2011-03-16 10:47:28", "2010-02-21 07:45:18", "2014-10-15 17:13:58", "2009-03-26 09:00:08", "2004-08-26 18:24:36", "2015-10-20 17:33:03", "2014-07-07 16:20:47", "2008-02-17 02:39:42", "2001-03-11 19:50:06", "2011-07-15 03:15:44", "2002-03-28 15:30:00", "2007-08-11 05:25:52", "2011-05-06 00:09:53", "2006-02-08 06:05:02", "2001-11-07 12:05:47", "2004-05-18 23:30:50"],"c_array_ipv6":["zodHrtFYmQ", "evBrRznmmc", "rmksBqKJOQ", "EAVzcFArQB", "wjnhnAnXeN", "MyWUmKGPqG", "yDjdevEDFa", "yMuxHHnpDj", "kxnQZSDADQ", "AEPYRmxiGL", "YJsfBhRgjJ", "EaGRuwFXuL", "NKvuIpKGZZ", "gIcmHFkSjx", "ZWCLyuEQgf", "mXIpCqaGmV", "WLAVLwTMGh", "AhrxdpTLmX", "Wzneuhcaot", "VZZjlukudI", "pgnEcpHYwL", "XAKtCBBlNj", "PKJjtFwGeu", "gFAzXUnDXY", "vKxJTfdlPG"],"c_map_double":{"c_map_double_1":24.013764700956628, "c_map_double_2":97.616753417608, "c_map_double_3":2.654536668679499, "c_map_double_4":2.5997549052725173, "c_map_double_5":72.84938689358158, "c_map_double_6":37.93208013527414, "c_map_double_7":63.1541057410398, "c_map_double_8":22.05163670452908, "c_map_double_9":56.41667466114383, "c_map_double_10":1.4531007122570074},"c_tinyint":5,"c_smallint":4587,"c_map_char":{"c_map_char_1":"TbApGTmKdb", "c_map_char_2":"VJHhMzFubo", "c_map_char_3":"YtpGykJYPc", "c_map_char_4":"uxIReUeZiH", "c_map_char_5":"RiTkzIqxcH", "c_map_char_6":"dAGctcELsU", "c_map_char_7":"BHFjsSRASv", "c_map_char_8":"fSLkYQNyPy", "c_map_char_9":"MeSOawYGNe", "c_map_char_10":"UQOOFUPzcq"},"c_ipv6":"9567:b290:1505:eaf4:8f62:37c5:41bc:8f63","c_array_smallint":[15711, -19402, -3847, 13853, -9544, -3704, 11175, 26037, 24658, -22949, 26666, -22867, 16389, -14298, 14904, -30313, -20252, -9251, -3195, 22050, -21675, -4208, -13291, -22787, -3247],"c_array_char":["KpfHSMAufr", "zxRcBSCOwJ", "gwUijrzvlM", "CgMiqMXtlp", "ihaLndLeyR", "cCDxEuppgX", "OeSpEruziR", "LpAGoelCqN", "MJUUCjnVzH", "tWtwhNPloM", "jsYjzwjzta", "aOLJPICXFj", "wPWQRoNFWW", "OJRBELsqkk", "PnhxPDghYR", "AjMMvzTYUH", "NFqlhMBeIF", "QWiTaStbAR", "IRZZSqHLzj", "XHmfZUHWex", "gUwrZGgOjb", "yYCnOsCEfc", "hbJRkCHaVA", "FCXvjgGaLI", "aQaGXfWUXY"],"c_map_smallint":{"c_map_smallint_1":12060, "c_map_smallint_2":-12581, "c_map_smallint_3":1470, "c_map_smallint_4":-11835, "c_map_smallint_5":-2423, "c_map_smallint_6":-24309, "c_map_smallint_7":-2858, "c_map_smallint_8":15769, "c_map_smallint_9":20886, "c_map_smallint_10":28099},"c_map_bigint":{"c_map_bigint_1":-2830246044113296309, "c_map_bigint_2":7831673914303892770, "c_map_bigint_3":-882031751016239250, "c_map_bigint_4":-8386710005060324611, "c_map_bigint_5":194113850973608576, "c_map_bigint_6":-6870144840364819458, "c_map_bigint_7":6815013598343241420, "c_map_bigint_8":3613451146742318356, "c_map_bigint_9":-1519446161832632119, "c_map_bigint_10":-156274933341915660},"c_map_ipv4":{"c_map_ipv4_1":"113.172.11.149", "c_map_ipv4_2":"64.187.20.192", "c_map_ipv4_3":"14.49.254.110", "c_map_ipv4_4":"108.211.76.21", "c_map_ipv4_5":"252.219.75.60", "c_map_ipv4_6":"28.124.155.162", "c_map_ipv4_7":"50.58.190.38", "c_map_ipv4_8":"216.111.255.249", "c_map_ipv4_9":"163.26.237.250", "c_map_ipv4_10":"199.220.16.250"},"c_boolean":1,"c_string":"ccwWDtQGBWeSZcPHPizgyMyauyyREUSxJxHSHsNarsVAqJNbqqaDpQftyafrosDQaaeEkCNozNFirtcAeWbEFYPniJIoJlSKyrRVAlzJnVARULokDmEGfzJwjETjyFBbGBZjatEOIhAcZAyMjTyPfRiuOfqEoHPGqxPIsCYLWWgMHXgsKGDnApeLBcKZLDfusnDuoxTABnVkjAyBrUeZsAClsLGEwDspxzDaUOGbbFdGIjiWgKbbWBDHkTmxwafTVTdCAnVTiOsaiMhMxivGoliIzetTvmzkSQvRAbjVSkGJVxDPgYQGboAiOAHbmTtPhIXZsvYzAHhMgBcbzmbUBlVmPvCOjyaadMYzleCoJVbBKIgEucypQLltXHgdPbKeCaKQpSSLyQluQlVoxMSLRCmYyjTfPrWgFFhOVPwgzeaIYxpAiZtlFTUyBpEHGUbRpNQqppWChnVyjdjdSsxPZjWXZusaQRDwZgfMDSbyGLdaJDnKXspOgddGydubKUTJ","c_map_int":{"c_map_int_1":1378770291, "c_map_int_2":1207771667, "c_map_int_3":882579516, "c_map_int_4":77102905, "c_map_int_5":967857701, "c_map_int_6":984021076, "c_map_int_7":-589100278, "c_map_int_8":-599282427, "c_map_int_9":-471894172, "c_map_int_10":1559724692},"c_int":1102800956,"c_array_bigint":[319244286571587797, 3151000802801396475, 7756255667499417037, 8587090367787708215, -4538999863184162615, -6265623600824594269, -6515526044665950386, -8419906275340716843, -5856403387539590551, 3985317698004887599, -8326991304469035879, 8070616337959113389, 5791571377993757422, 2092409615541481387, 3810945237887590713, -7596054017986280415, -2129449657947562495, -5339582501730922650, 835536833229679281, 7179209859418090083, -5738698485907928058, -4176994229754575756, -6663128550140482351, -1794016749340672527, -5192530937259300247],"c_varchar":"get","c_array_float":[20.042957, 32.675785, 19.7474, 79.85324, 2.863769, 25.529678, 72.58746, 63.736557, 77.20009, 53.343765, 3.0917428, 5.6761427, 20.92216, 16.875786, 59.599636, 43.372334, 5.374255, 88.778, 66.84557, 40.275993, 84.10727, 92.375, 57.263203, 23.937916, 28.32241],"c_map_decimal":{"c_map_decimal_1":77.0509, "c_map_decimal_2":99.1780, "c_map_decimal_3":55.0070, "c_map_decimal_4":52.1913, "c_map_decimal_5":62.0584, "c_map_decimal_6":57.1367, "c_map_decimal_7":78.0696, "c_map_decimal_8":50.0037, "c_map_decimal_9":11.0711, "c_map_decimal_10":75.0845},"c_map_date":{"c_map_date_1":"2006-08-20", "c_map_date_2":"2004-10-02", "c_map_date_3":"2015-04-07", "c_map_date_4":"2014-09-13", "c_map_date_5":"2010-05-28", "c_map_date_6":"2001-04-09", "c_map_date_7":"2000-02-23", "c_map_date_8":"2005-08-25", "c_map_date_9":"2000-07-07", "c_map_date_10":"2018-11-02"},"c_decimal":88.1540,"c_char":"belbSdtDDh","c_array_ipv4":["sOoABpOlXa", "PrRNroSNyp", "SXakkGBXmv", "ckOKmmECYM", "yPcRLStPzu", "PeOfQyDNIW", "LCFWAYFWLr", "jkLThBJAWN", "MvCDAvpRZR", "VocMeNJUbJ", "qmtMGpawkJ", "nyCFjXZCCZ", "lgWOPEspmu", "EnOEWSbBYt", "pnHJYImKps", "eEVCRQhcRz", "nGrxkCgJvb", "whzHeCCIdi", "VlHEhbLqzp", "cWzVdTtviI", "bUSxJoLLWQ", "wvxiTKPvpr", "gWSTMdUVjf", "AiHddiLhQT", "nPiKokcsHN"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":-73, "c_map_tinyint_2":-116, "c_map_tinyint_3":-67, "c_map_tinyint_4":0, "c_map_tinyint_5":127, "c_map_tinyint_6":-118, "c_map_tinyint_7":44, "c_map_tinyint_8":-77, "c_map_tinyint_9":-46, "c_map_tinyint_10":108},"c_largeint":3799922067332991658,"c_array_boolean":[0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0],"c_array_tinyint":[-68, 101, 43, -23, -14, 61, -2, -67, 58, 90, -89, 1, -32, 107, 127, 5, 90, -63, -33, 121, -126, -24, 39, -60, 60],"c_array_double":[83.74844586383206, 7.7200263979672155, 97.35138485643492, 91.3379176349156, 27.468684309665523, 45.55626782554835, 23.441286995412813, 86.00450742647733, 36.71018737056336, 76.15462066255277, 10.27622513163439, 69.03973260212327, 43.75591240846909, 17.81860099131441, 70.13417842047394, 19.80037494155114, 58.66265243606799, 37.12134963402964, 70.55101494276886, 32.079785738932216, 51.37145658998718, 78.53029247229442, 24.52511095728967, 77.39352105048567, 3.8018571344364664],"c_map_float":{"c_map_float_1":52.04087, "c_map_float_2":2.7192721, "c_map_float_3":8.527504, "c_map_float_4":45.044308, "c_map_float_5":2.8851933, "c_map_float_6":87.07012, "c_map_float_7":79.68937, "c_map_float_8":77.31703, "c_map_float_9":16.986374, "c_map_float_10":49.64707},"c_map_varchar":{"c_map_varchar_1":"OxkkNKqaWcUefXHDjOXihoUeBQBZMeHoKshTHiCcosaKzOfpkqLCdkqXvLrLvQBSCnCDUwhLRSLUqYDHqrKJpTlDpEYWfgOIHCiAzImQnCTxQAYAoxLeqnrwQUIzlcWMSJzOkoKJEpvRNzJjbimbTdJYpJXbRMiUllnjLeWHQEwenMQMQSkUtonacAwmSSXoQACwhyQRnArKXXuCeRQiwPCXcnMuDTWSQxaXCxFPxCqWSbgjSFngucCfTGkIZGNu", "c_map_varchar_2":"nxoghCuiJJUvYmaFCkptgfWFdMoEegrofCrUAaFBcLUDrkhMMJQWxbGbEOdvQRudtdwCqebGfOPRNKApHaUuWCzxgrYNDLoKziMFinZiFrLuoxzgNtUznEdgUSxExNuxaXGPvlHWddczzmvSHdhHIPYbqegBUwmSBrraXhinCjUiRoIBaMfRlvxkxzQPnPUIDNvxmizHKbsgsGpdBCKiotfzZUKPQAENNunOygpAjgRXhTRzoryOzDLojzyhSfLQ", "c_map_varchar_3":"vrtClRLXwaDhHapRmyQlAesQNFQwslLwvanDrGpXORzrbAyHDcQFZAaEGumjKaNQNTAvPMlwSUXVmqQdgpLCBerdsOuJoUsUXIkkQkVXFwdMOFvGuURFYYOsJREqdBvkPBkQaRXNSChsHEZIvDjiPxnPjPdbMpSPySWSziFTJenxaMKyaSwCdovrCkKXHOmVtClDQekVHTXRZgNSVGgqCIIgyDVucWnlzgWDCijVScQqxQnvghpBcZoUnLMLmapb", "c_map_varchar_4":"gnMUvJuJDrJqmSZkuMAOrAruinOJGXZXCxvjdjqiEsUGQMtNQgLUWStnXISeNfSjxqkDsVCCCnEnSFEjndDRgcoxLBmtBJxNDvuVsEXVDHGuqxaiZLlAtSFqkzWhAJiHgAYleosnRZIpllejcMNFMVplGjfAogulYaRojyvuKxPPDmYnkUcZOmkCSHxBqwIygAkDUSYLIJphugrkJyBmWusBVbkhSidDeMuoWGmqfgptzmsGqdKapzOxJNkYVqnk", "c_map_varchar_5":"ydOJhjkMahxNKSzxMSQPIujnoyZzZGMkDqysSODEUdJRWQKQOIuUnvKrBRewkAHNxdJdOwlvEgmLPZosBUUfvbabNCLaFmkiMErXOxRSveCrlmbAcBuyLwcZBRWQIXwrrxGOsZTCGgDttqzCqNBtdvafLTihHnCzcguLiWCejalgWtVsvXtMrFVbicErkaepQLqHZNYlMOKQUFFXjVbGfgZxBrDDMpHTNqOnQXhrGAKYjqRMAFRzswNSZKeeWsuk", "c_map_varchar_6":"VKRlrfFczJTOoHXHKfqjyWJTWHnoRZQQtkwZZtIwwSoMgtbtntuxDkfenkZnApwOQSMRNNMGNGHJnzpIyZJqjjateTXsVVzKSeiaLoMYENAvILdHwiJEadcSqwugfLesazNKiHIpVDRdMBOtpPhCiWyQjcyIbGYMaCZIBECVPQRZFWWQtFYBaRoRFokuJkaxvHGdmMvBGoPcOzNZlGPJXDVbQxarJwefKmGKdAlkLJvbtoIFDGhzxZTmEhjiCIHc", "c_map_varchar_7":"PfkGAHyKLFLKNZnjaiVYagPNcndeQREpaoQuhweubaRWVuGLnFLrndpCBPIdPTmUiYesnJxPQhMUYmDacHBhCYUxYBYgAMYdkDzgHtHUKEQLjRpVMuwswzEQGuGKxIzaeQeCYTkjZpfnCwztouZhjnNVUtRwzbYugdKQvFYbsgUOwbfclYFURtrVjwafaPTGLDmQuAMJmNFroVkYfEmNEXufCqotUPztGpSCcTXjJeSjbmUzfxJuSwURfRpWZVre", "c_map_varchar_8":"FmriMZCbUyKKAwiGucUfqidRnODRMcRQpKbHDVhWsAufILpOgKTTFjUynWuCUnaVrdAmTkPNHqcKvvcDrkuCoFuXXcmwuTKTAOkFlOkBNhEMQDloGnYlVEoSZvQSZCDzKDWcwNdKqTRtwQQaKvzhxUlGJxcjaOCEsYLWyiHCPabonmWrfjmLPJSQhyAlUZjKyoNHgaJObUgLkGihnhJBHMZVpXKlTtPqoAJeNrxXJjAfIztWYCJeGnQoimqoQlGG", "c_map_varchar_9":"zBlpcKOgUxfCLlMGMZZkvqrxRItenXrriLbLNXjOVaGrmhGYmUDMIUNtSIolMvmJKLqjYqZYikjAsTTOPpTkTDsdUtqIDrqvLHJRplwUoPTMfWPAGRNmCiAltBCBqncpMPpvZSwvkFBotTDiVQZVutwttdjjeMWFPRsgzvPTYrDvMrPAGcwCCbDPREWCGPXYzcOQyIMfxUfJUWwONRJQaKNyrfZmJbVfzQYCFIpkdKMFFnvtqwtCaJiuzfzVSFVj", "c_map_varchar_10":"CsTWstfosKfownnaBJkbNubzIQvuqkViVOuENTQSYfICpPSLwfJSWkWKQkJKzXVoycePnyjklywzqOXDqOcKfgcFizslPdVuhLQWWxxvszOKBoyUGEBNyzyNpTxQnSVCqdoktDTmqWZTyikmgniiMlfPOUCZTYLdIsOLERMwenesbsWGpeHbLWaZTEftsJxwRJEiuOSktXQHOFaSafKaKzRsyZfLODBGnJEoYWlaaiJRwNJQQktLtGfxuDnAzNxn"},"c_double":41.066997788604695,"c_date":"2002-05-13","c_array_date":["2018-01-01", "2003-07-04", "2007-01-17", "2009-04-10", "2014-01-08", "2018-11-23", "2017-09-09", "2018-08-05", "2019-12-16", "2001-10-07", "2007-05-05", "2019-09-15", "2004-09-27", "2011-05-25", "2010-01-20", "2010-03-27", "2015-04-03", "2015-10-08", "2017-03-27", "2003-03-23", "2005-07-19", "2014-03-15", "2016-04-26", "2007-11-12", "2004-11-24"],"c_map_datetime":{"c_map_datetime_1":"2016-05-13 17:36:48", "c_map_datetime_2":"2008-04-01 05:17:35", "c_map_datetime_3":"2017-02-06 07:25:01", "c_map_datetime_4":"2003-07-15 13:20:58", "c_map_datetime_5":"2008-12-14 03:37:16", "c_map_datetime_6":"2002-10-13 12:26:24", "c_map_datetime_7":"2001-04-09 16:38:02", "c_map_datetime_8":"2018-06-24 07:41:26", "c_map_datetime_9":"2014-10-11 10:01:43", "c_map_datetime_10":"2005-04-25 04:36:25"},"c_map_ipv6":{"c_map_ipv6_1":"2fec:ea9d:f3b6:dfee:1964:3429:7a4e:1f81", "c_map_ipv6_2":"c5fb:ab80:68aa:fa38:b1c5:d3b1:ced8:bc2a", "c_map_ipv6_3":"2359:39e2:98e:7f39:50e4:f0e:2b4:cde7", "c_map_ipv6_4":"9fcb:82f9:e579:3618:7e75:42bb:7bf8:5420", "c_map_ipv6_5":"c6ac:99d0:4f55:271c:142e:df23:b7e:759e", "c_map_ipv6_6":"6448:eab8:9fbe:9874:f65a:7788:8e20:7565", "c_map_ipv6_7":"1ec5:f9de:83b0:9316:fd19:984a:f406:190c", "c_map_ipv6_8":"2b71:9418:8b7:b3a0:1e9d:5807:d450:a9df", "c_map_ipv6_9":"4f7e:16bd:f65b:2109:f23e:b765:5b35:7529", "c_map_ipv6_10":"704a:ba23:f850:1d48:46d1:ef09:e7d1:f269"},"c_float":86.86638,"c_array_largeint":[-6322170930598396269, 5975757696087890628, -1628619554676731229, -167011949059060630, -4703413878611099921, 548106827754668221, -761651570972677436, 1728413853757224549, -7319497821913913643, 9178758330680096668, 263890995661742807, -753943130930852779, 3588852252098975483, -4287582393757427939, 3864213221156418498, 4670424507141606976, -4787023374066221159, -88533470461186627, -3796246451655783373, 3246725432907546892, -3714165570894178919, 2815238793890645538, -1225677262085458797, -4098738867264709946, -1241552982570656864],"c_json":{"phraseverb":"buy a bale recklessly as gas station really","cartransmissiontype":"Manual","achaccount":"544949126624","productdescription":"Those bale repeatedly i.e. stand healthily finally packet. Here shall across hers then juice listen enough ourselves besides successfully theirs little. Quietly army Tibetan me faithfully in how your anywhere scold over theirs numerous nightly.","color":"FloralWhite","product":{"name":"Blue Laptop Vertex","description":"Play here single window openly was Colombian hug first. That climb one year Barbadian many towards but temple.","categories":["musical instruments","clothing"],"price":84.76,"features":["fast-charging","stylish","multi-functional","gps-enabled"],"color":"gray","material":"titanium","upc":"008952751902"},"prepositionsimple":"for","productupc":"031188173239","comment":"yikes","bird":"sparrow","firstname":"Lupe"} }'),(1,true,false,null,null,4,0,0,32767,0,-3253,-2147483648,32679,32679,-1557501694,-6020988638204774690,22110,20240803,8490476958819979859,5172175,6910371173406057404,null,91.27302,300.343,40.123,100.02,90.0303,300.343,300.343,40.123,42.0315,100.02,100.02,27.1422,40.123,72.0824,100.02,300.343,null,11.0845,93.0744,20.0617,300.343,11.1378,100.02,100.02,73.0712,100.02,37.1952,88.0782,34.0453,40.123,100.02,{false:null, null:false},{true:null, null:null, false:null},{0:null, 127:127, null:124, -128:-91, 71:12, 17:null, -51:0, 1:82, 109:1},{10:1, 127:-62, -51:0, -35:-128, 0:-1, 7:116, 38:1},{-26679:-4444, -32768:32767, 0:-7323, 12512:26833, -18775:-19740, 267:0, -15511:-32768, 313:-32768, -31050:-119},{-32768:25223, -17729:32767, 32767:0, null:5032, 0:0, -22602:12422},{-943158380:-384431572, null:1585987408, -1240223909:1290235829, 32679:-1383395076, 147483648:-2147483648, 341365847:-1165113195, 1262009449:1318137275, 2147483647:-2147483648, -2147483648:-917684747},{2094460814:-77659227, 1919285398:32679, 2147483647:2111121455, null:850553638, 32679:-591390270, 1069639867:-337017349, 644371373:147483648, -2147483648:-913391863, -2115161208:1780484263, 0:-362987413},{20240803:null, null:245, 147483648:-5867401023745982751, 300.343:-15902, 4727434:20240803, 245:300.343},{20240803:null, 147483648:300.343, 3:1, null:1, 300.343:1, 1:20240803},{631235708617776949:4809854956987164018, 147483648:765875, -6888157187470358499:174554626, null:-8052093861607477214, -1572685482:-4026646986744286136, -5822665306789311679:24958554, 245:79601244217350820, -9223372036854775808:0},{null:245, 32679:-1226751487, 147483648:-2388983647734030561, 1:147483648, -9223372036854775808:-8037845, 245:-4123093601185654717, 9223372036854775807:null},{64.73087:40.123, 49.967278:null, 76.783356:24.014385, 100.02:28.57706, 19.300793:300.343, 58.35344:null, 68.914345:19.940958, 88.317474:15.271722, 56.814346:84.38788},{97.44727:null, 98.479385:300.343, 28.722902:null, null:40.123, 7.5100994:100.02, 100.02:null, 65.17107:null, 300.343:29.377903},{100.37147955650124:94.98365746464333, 95.1847419642732:52.156871643189746, 40.123:97.91086216178793, 91.02207286753136:37.72435919951705, 58.08392849959661:100.02, 26.15063826044224:40.123, 300.343:null, 67.71079254662975:75.53107541979506, 80.7092745401853:null, 57.49728165901787:40.123},{20.089679625444855:73.43705952454967, 300.343:45.24412941372218, 40.96528304057521:21.39200495414205, 92.91000967330372:83.58585153811822, 40.123:70.3560102577036, 21.248470400926116:76.17359767841654, 83.1723061221231:40.123, 100.02:null, null:300.343},{50.1368:'r', null:null, 40.123:'because', 300.343:"20240803", 59.1411:"9999-12-31 23:59:59", 5.0905:"2024-08-03 13:08:30"},{300.343:'o', 84.1896:"2024-08-03 13:08:30", 69.1981:"2024-08-03 13:08:30", 43.0721:'I''ll', 100.02:"20240803", 3.0067:'k', null:'e'},{null:"2024-08-03 13:08:30", 99.1720:"20240803", 31.1336:'v', 30.0815:'u', 1.1031:"2024-08-03 13:08:30", 40.123:'b', 54.0138:'when', 300.343:"300.343", 31.0398:'v'},{91.0199:null, 2.0175:'his', 100.02:'r', 0.0376:"0", 10.1439:"1", 300.343:"2024-07-01", null:'p', 40.123:'w', 15.0866:"9999-12-31 23:59:59"},{91.1897:"0", 5.0280:'he', 300.343:'because', 40.123:"2024-07-01", 11.0374:"20240803", 100.02:'get', 99.0118:"2024-08-03 13:08:30", 10.0193:'you', null:"20240803", 96.0110:"0"},{72.0316:'something', 56.1263:'this', 100.02:'yes', 96.1018:'s', null:'l', 51.1878:"2024-08-03 13:08:30", 38.1936:null},{100.02:"2024-07-01", 300.343:"1", null:'t', 88.1988:'k', 31.1219:null, 33.0549:"1", 90.1457:'v', 49.0141:"20240803"},{10.0273:'want', 16.1486:null, 48.1905:'we', 68.1327:'m', 81.1945:"300.343", 40.123:null, 300.343:'didn''t', 100.02:"2024-08-03 13:08:30", 83.0477:"0", 88.1967:"0"},{null:"0", 300.343:'s', 11.0241:"9999-12-31 23:59:59", 93.0848:'when', 40.123:"2024-08-03 13:08:30", 78.1175:"2024-07-01", 100.02:'f'},{5.0965:null, 100.02:"300.343", 300.343:"2024-08-03 13:08:30", null:"2024-07-01", 15.1076:"0", 7.1239:'r', 54.1897:'j'},{null:'t', 300.343:'l', 21.0947:'as', 100.02:'when', 94.1007:'something'},{300.343:'p', 7.1922:'d', 94.1410:'i', null:"9999-12-31 23:59:59", 40.123:'get', 100.02:"300.343", 89.0935:"9999-12-31 23:59:59", 62.1147:"2024-08-03 13:08:30"},{12.0060:'she', 40.123:"1", 44.1835:"2024-08-03 13:08:30", null:'c', 94.0875:'n', 64.0037:'but'},{40.123:'with', 300.343:'do', 100.02:"20240803", 26.1287:"2024-08-03 13:08:30", null:"20240803"},{'right':false, 'could':false, 'b':false, "300.343":false, "2024-07-01":null, 'h':false, null:null, "2024-08-03 13:08:30":null, "0":null},{'she':null, "9999-12-31 23:59:59":true, "20240803":null, 'her':false, 'can''t':null, 'k':null, "0":true, 'u':false, 'think':null, 'going':true},{"20240803":127, "2024-08-03 13:08:30":null, 'as':null, "1":-54, "9999-12-31 23:59:59":1, 'l':1, 's':127},{'l':5, "300.343":0, 'but':127, 'oh':1, "1":8, null:8, "2024-07-01":127, "2024-08-03 13:08:30":5, 'v':0, "9999-12-31 23:59:59":1},{"20240803":-25228, "2024-08-03 13:08:30":9031, "1":12165, 'a':-19134, 'l':-25164, 'that''s':-28432, 'b':-6395, 'p':12637},{"1":2927, 'so':-7200, "2024-08-03 13:08:30":18178, "9999-12-31 23:59:59":-28668, 'a':null, 'got':null, "20240803":30953, "300.343":-24924},{"2024-08-03 13:08:30":2147483647, "1":-1828007708, 'n':147483648, null:2147483647, "9999-12-31 23:59:59":1494493851, 'h':null, "300.343":1639390801, 'o':1559311507, 'm':-2147483648, "0":2147483647},{'i':-2147483648, 'or':2107849299, "2024-07-01":-1285336796, 'k':-97572588, "9999-12-31 23:59:59":314648856, null:-248975402, 'c':null, 'not':-1460003209},{"20240803":9, 'i':32679, null:1, "2024-08-03 13:08:30":32679, "9999-12-31 23:59:59":1, 'a':1, 'v':245, "2024-07-01":20240803},{'x':1, 'you':5, 'k':-1119159010022342235, "0":32679, 'h':300.343, 'p':null, null:-20146, 'at':-21981},{"20240803":9223372036854775807, 'can''t':-952328506005260162, "1":32679, 'z':245, "9999-12-31 23:59:59":9223372036854775807, 'well':245, "2024-07-01":32679, 'had':245, 'h':2071503915069114063, 'b':-2519323},{null:245, "2024-07-01":5119843124294298675, "20240803":null, 'o':0, "9999-12-31 23:59:59":32679, 'have':-2071433446, 'y':-32304832594189176, 'in':-407521911},{'i':100.02, "9999-12-31 23:59:59":13.092594, 'had':40.123, null:null, "2024-07-01":0.94839936, 'that':null, "0":44.15718, 'not':92.12886, 'm':19.531115, 'would':4.4841447},{"2024-08-03 13:08:30":83.320915, "0":43.985073, 'be':null, 'back':300.343, 'k':88.32367, 'g':51.76359, 'n':100.02, "20240803":100.02, 'v':100.02},{"0":300.343, null:40.123, 'with':19.408326606088952, 'but':98.72161075633052, "2024-08-03 13:08:30":40.123, "9999-12-31 23:59:59":300.343, 'on':300.343, 'will':18.862255135178547},{'v':88.54245571155006, 300.343:40.123, null:300.343, 'will':21.77423470007713, 'r':1.4473748382771272, "1":28.54538641858608, "0":75.27599740387713, "20240803":1.2612702178251076},{'mean':300.343, "2024-08-03 13:08:30":73.1841, 'are':null, "20240803":97.0975, 'were':300.343, "2024-07-01":40.123, 'i':300.343, "9999-12-31 23:59:59":null},{"1":40.123, "0":20.0023, "20240803":19.1639, "2024-08-03 13:08:30":100.02, 'your':47.0166, 'i':40.123, 300.343:100.02, 'c':100.02},{"0":77.0487, "2024-08-03 13:08:30":null, "300.343":null, "2024-07-01":100.02, 'your':51.1544, 'he':40.123, 'he''s':300.343},{'t':72.0719, 'k':81.0718, 'n':100.02, "9999-12-31 23:59:59":19.0375, "0":76.1611, "20240803":72.0135, "2024-07-01":97.0027, 'q':8.1899, 'x':7.1389},{"2024-06-30 12:01:02":true, null:false, "9999-12-31":false, '2013-07-19 21:33:11':true, "2024-08-03 13:08:30":true, '2012-05-15':false, "9999-12-31 23:59:59":null, "2023-01-15 08:32:59":true},{'2010-08-01 06:53:07':true, "2024-08-03 13:08:30":true, "9999-12-31":true, '2019-07-19 04:13:43':null, "2023-01-15 08:32:59":false, '2010-08-05':false, "9999-12-31 23:59:59":true, '2012-04-18 13:14:58':null, '2016-10-14':null},{'2012-11-12 07:07:21':1, "9999-12-31 23:59:59":127, "2023-01-15 08:32:59":1, '2016-01-14 19:46:56':-128, "2014-08-12":-35, "9999-12-31":-128, '2003-01-14 09:32:21':3, "2024-07-01":1},{"2024-06-30 12:01:02":-69, "9999-12-31":-74, '2013-09-07 03:20:27':null, '2008-07-28':127, "2014-08-12":-128, "2024-08-03 13:08:30":-128, '2016-10-04 03:46:49':9},{"2024-06-30 12:01:02":-8191, '2004-09-11 23:10:17':0, "9999-12-31":-32768, '2018-12-22':32221, '2011-08-02 07:15:18':486, '2001-01-01':16224, "2023-01-15 08:32:59":245, '2000-10-17':-32768, "2014-08-12":9459},{'2007-06-26':32767, '2014-07-24 05:14:39':245, "2024-07-01":-14401, '2000-07-03 10:41:09':-32768, '2011-12-28':-11178, "9999-12-31 23:59:59":null, '2015-09-17 10:55:28':null, '2005-02-10':1670, "2024-08-03 13:08:30":31383, '2002-01-15':-5654},{"2024-07-01":-533895401, "9999-12-31":2147483647, "2023-01-15 08:32:59":2147483647, '2000-10-03 21:55:23':-750661200, "2014-08-12":446730901, "9999-12-31 23:59:59":-557830118},{"2024-06-30 12:01:02":32679, '2013-12-05 06:59:10':null, '2003-04-16 21:27:05':426864760, "9999-12-31 23:59:59":-840535795, '2009-08-09 17:13:01':0, "2024-08-03 13:08:30":-2147483648, '2015-11-23 06:44:26':-26175674, '2004-08-16':75720180, "2023-01-15 08:32:59":32679, "2024-07-01":0},{"9999-12-31 23:59:59":1, '2013-10-16 10:29:26':147483648, '2019-06-07 03:34:07':null, '2016-11-03 23:26:01':1, null:9133045295422375551, "2024-08-03 13:08:30":-6304584, "2014-08-12":-4145499, '2016-05-15 22:23:04':20240803},{null:-3832717, "2024-06-30 12:01:02":300.343, "2024-08-03 13:08:30":9, '2013-11-11':3342484471887193955, '2014-11-21':3138978, '2016-07-04 11:28:43':32618, '2011-10-23 17:21:21':147483648, '2008-07-25':1},{'2017-02-12':-7128470, "2024-07-01":245, '2005-04-25':0, "2023-01-15 08:32:59":0, '2002-05-11 21:22:34':-7018257132400687612, null:147483648, "2014-08-12":1450988, "9999-12-31 23:59:59":147483648},{null:9223372036854775807, "9999-12-31 23:59:59":-9223372036854775808, "2014-08-12":147483648, "2023-01-15 08:32:59":135992391941668683, "2024-06-30 12:01:02":9223372036854775807, "2024-08-03 13:08:30":1, '2019-10-05 08:17:55':-6609548},{'2019-02-17 06:16:34':74.95472, "2023-01-15 08:32:59":300.343, '2007-07-02':100.02, '2015-11-02':300.343, "2024-06-30 12:01:02":61.48495, '2012-06-01 08:24:42':45.92282, null:100.02, "2024-08-03 13:08:30":18.030945, "2024-07-01":null},{"9999-12-31 23:59:59":9.74734, "2024-07-01":100.02, null:66.21914, '2000-09-05':73.62832, '2005-07-24 21:15:07':35.36623, "2024-06-30 12:01:02":null, '2009-02-18':82.3688},{'2012-08-04':86.38768390066788, "2024-06-30 12:01:02":44.37383314037066, '2008-03-23 05:00:58':100.02, "2023-01-15 08:32:59":null, '2009-06-22':16.455681364430774, '2016-07-01 11:53:57':null, '2018-01-25 17:41:37':40.123, '2001-09-14':100.02},{"2024-08-03 13:08:30":300.343, '2014-01-04 09:42:07':88.5051359476871, '2016-07-04 23:58:45':100.02, "2023-01-15 08:32:59":40.123, "9999-12-31 23:59:59":24.62473891158659, "2024-06-30 12:01:02":null, '2006-06-24 13:06:48':null, "2024-07-01":74.20572858894026, null:28.16739329430953},{'2018-02-01':40.123, null:45.1511, "2024-07-01":36.1795, "2014-08-12":68.0102, '2016-08-23 08:41:34':35.0244, "2024-06-30 12:01:02":40.123, '2005-05-21 03:57:11':100.02, '2019-11-03 01:44:25':18.1453, "2023-01-15 08:32:59":300.343},{'2018-12-14 04:44:02':37.1633, "9999-12-31":59.1543, "2024-06-30 12:01:02":100.02, '2017-01-08 00:28:01':41.1669, '2011-07-14 03:15:32':68.0521, "2014-08-12":100.02, "2024-07-01":100.02, '2014-04-20':100.02},{"9999-12-31 23:59:59":24.1697, "2024-06-30 12:01:02":40.123, '2007-07-24':40.123, '2015-12-07 17:42:09':47.1954, "9999-12-31":26.1738, "2024-08-03 13:08:30":78.0746, "2014-08-12":95.1132, "2023-01-15 08:32:59":300.343, "2024-07-01":100.02},{'2001-12-28':54.1681, '2014-05-09 20:14:08':300.343, "2024-08-03 13:08:30":40.123, null:65.1877, "2023-01-15 08:32:59":60.0330, "2024-07-01":45.1242, "9999-12-31":40.123, "2014-08-12":29.0374},{"2014-08-12":39.0138, '2000-05-14 04:45:03':24.0963, "9999-12-31":5.1916, '2006-11-02':47.1202, '2019-05-21 07:21:19':37.0705, "2024-06-30 12:01:02":null, "2024-07-01":100.02, '2000-08-09 23:55:12':null, '2003-02-10 04:26:11':95.1533},{"9999-12-31 23:59:59":100.02, "2024-07-01":29.1069, "2014-08-12":null, '2009-09-11 02:14:32':47.0817, '2000-05-28':25.1752, '2016-07-03 01:48:21':300.343, '2019-05-27':100.02, '2006-12-04':62.1105, null:null},{'2017-06-11':300.343, '2005-12-14':300.343, null:null, '2019-10-18':300.343, "2024-08-03 13:08:30":100.02, "9999-12-31":27.0178, '2013-02-24':40.123, '2007-05-22':91.1464, '2007-08-02':100.02},{null:100.02, '2015-04-16 23:06:30':300.343, "9999-12-31 23:59:59":8.1692, "9999-12-31":40.123, '2005-10-08 00:52:29':40.123, '2003-01-01':26.0294, "2024-08-03 13:08:30":5.1712, "2014-08-12":40.123},struct( true,-14,245,147483648,245,245,44.710632,40.123,57.1201,null,100.02,27.1635,61.1406,300.343,300.343 ),struct( null,0,-29301,1476344514,10844,9223372036854775807,14.481401,41.68744611380557,null,62.1883,40.123,42.0258,100.02,300.343,300.343 ),struct( null,-128,null,32679,5,32679,100.02,40.123,null,99.0804,78.1201,40.123,40.123,300.343,null ),struct( false,null,-32768,32679,245,null,12.557219,40.123,null,300.343,null,null,null,100.02,40.123 ),struct( false,1,4212,1877105880,32679,-1016384,40.123,11.82415204593516,15.0151,54.0413,41.1497,null,86.0978,85.1593,null ),struct( null,114,-29644,-283820806,null,1,7.042591,13.281238974594688,100.02,100.02,85.1830,40.123,40.123,29.0553,40.123 ),'{ "c_varchar":"tell","c_array_string":["iHGXminRckENmWuKNzdavAixQkUfycmGmtTAyfvCJhgqeBHeSnzXzzPmaeMtbFjuZbMsPEbIqristdfIuyMPkLzEZhvSktBtduffsyCpvnSwmdxTwAMzMwlVflhGVVcitXVHZRUCxOwOJWrphgycoTyutxUBbzuFVINSmVPQmhvqKUHwVlYXNQmmhfEqotyvqIpAUDJlqgeTFOcpFLVSJEsIUoCpElXxHcUvADtrDsaudTcsbUgXtjhESrnAmMUOvBQjHClFAsAXZMUGTaBwhfiIxBpRoOnxXczXNtyNJRgyNVNCVZhGFsQJivdhuIItyUsWSrMroGoNXJxAjageHMxIAkWarhBjIuUMCphcyfrJsooCzuEqcyupSWCwLwkbsSvacohQfpfKdhHyGNSdfaLfEhOXLjJMpijtBxIIuSdhhzhYOmuFLohWwxiSVwzAVHMzDBviARaSkbxheWZlETJcGjKJSLSftNgrklhEUBmOuwpBzqpiJcusyXmQkIoK", "RtZatGxaevYfPfPajdCVbqOLaVoETRbkIEPjyjrEQhwdHYWwRPWPWulwOAPJJPQmlbbWEOTxKDddWVanLaMSDBIZwtWMwjzsVcwVjQKtqfIdaxSUEOwjMehssOEfvgABlVgVFQmNClHRYRePhlqfQwOKFUEZknwAuznHwxOWUAOzKXTgQLSmjKUIbVKkvfdqTDmNgiPZqYchbVCdtfpvaWsEMJPOUnjXdjwURnoYKddpgXGQrEYcxzfLxmWOIWnzGmdYWznQoIeJbBaHGeneQBphPJfAzLAWrXvUsEGTZUOEIVSkIqEhqiTZzoGmiMaIIRqKOUcyiLusHmYrTViInmQbXmoVIudoVtPaHCikTYYyKcSKqdHyhsfURFYxGTQkPJAzDTekUJzrfjkHiqcwpVTSaqccvQLfVljGUNUMYuBoAckHAALtzstodzwmKDQOwmfQTPCuEFOMgDgqEVWBoszEObiQlxsEqGMAYPfukuyFNeJkmnVVmNswsTrrmNMS", "OxCGFbKyfGnjKCfPxEbYekkBrHEZfXPGSLfdtgIeTufJolpiIRxAqKcyywyiKGBKRRQqNOFPUUdKikwybLmeQpLImqlvVaOgbQbqcRqRYhyELcfBuBurYKetAUbkpoUXZzeKajZGYxIDGbcIrVPEgaxdBwPvZXcuMKguqWvhppCgOFTXNCncPVtqDtCISZpgTPadosuQkQdDSkUSurCKEtIQieSMmAiveZBnvwmyEcLNFSCYkgcDrDMlddDXUsujAcfBVxYQobwENMyfSvhVwJUXipcvApWYSwPuiRadlovxCNZBdCqlwFSAzShWgRjibNbAyarmsALbtALCgIwneAHxniItAgZvncEHQCiomwjIoDpLeqkctzFxVMtCdaettQdimbWBwHCDUoguqeduUHztgcctWBDjpEdpNuGPBhgMvvBrIcIteupXVxjunvEjtRUWyZBFrqXtTAFHbHWCilgbBhaqNHYqcvPAKLxLkqYVncNPmpfPBEXapgKVoOgX", "FhWvEyDDjPFaEjJkchiKdZWsDvQqwtcYnAHRxMDtdWTyjgLUxnpPFAKvFNSRetvMSRPkBIzjYJrFewTnLHToyfMZwjWGGQgOWWdWdgPMipFEtRYANyeaWRNpAalbidzVMfsbMvSNCKdkfZtbutYwtLxkfushgkvUcuwAInwguUiotJhMFmertdpnSOvYmqfiaRcNTZTkwmrTptMMAIbFlDZbRZXbcbgafZSPFyLwZrlKGiOslPKJQVJFPXZPqpmlqGJYnFvEpIPMsbgRUjZdnoGYRWqZXGuEJcSjkOMNaHuNMPBsYwgJclZBRxAxmlZCSUOJwuJgRAjKHmXtEhNzwXNKWNzrMQFLdlUYINCBfDKDKVvIaeTiQjyaySglbXRCnuxHiZeVmcLyxaBhSkdwkPRdChVeRlUCptltgPRlPhOKyFgvpusjRSDcdyTBRNnMGaqYzmwbVKjMxwvYNIofxNLYIXkrfUucbIPXEaTsxVUMyoSXRMCHuaeUhAFyqBUB", "aPVfdWjnEaYNiBjXgZecckxXXeyZqzhHQxBdXqqotKQRhdBVrCymiKlPpNaiQKOHVAlIWMDTubfzAbnypKgQeReNhmmZcOujQlBxWgoaijIgxnaWtBmmdXiTRvLlldVGZSkTRxiHgyllMmmpsKFXvHpLePthPKQUrZQvVXxpFHhoxiKzNRCpbUzEZqUazNQObxNBoCuXzEGFUXFVOxSEwjHSNJBGHBootStSBhDICjmcuEjwzHLsLhEmKMQsPKLYjOWVNnQsnvAuUPwiOcjLGMkFiVeLOdlqoBFCULZQjodOfOTvXiMxWkrrWMHkUUXcxSIwgyBlsBqmTaMSPUHzgxsaelJELAfoeYpWirkKliBBxRaogvaEzkMtJxviiAdADZFGNDftwzfuBSRemGDhoFKOhqzTvaCVfKHbUipkwYMntBOXBGEMwKyhRuuKVckngJFuPzCzTBoHRNDjReNeLFJNWjOzOljGnppyYwuxrPViugJHxGaPaXCyDnsnbFmP", "JlIzjZBGwcnQOYUjXfczWDsjbeUkNklBgcvfszDCRfAqURsgNzVNLEEtvpJdtQVULqFCaXbUwzurRQwXbMzAqYujEQLAYChccbibGNJqFzRPcooeejxaLdVBepuuUEmQgLdbyhdSahNUkMilzAFTXuCPNVbemrvjtDlVGCIkVlZvoRUQzMmhxDQSqPHWovTEqkGNoULezxPiZUoWKPmEzXAHSdnPVHVHtmsGGcsmACXQyKGpIYGxLGJwhSydDdArTmQgAGPHdTSVVZRQfrhAzMhNuvtiCZhspkxSvOUFBFuMIalMISEiIOLmFhgCPVmqFDmEuVrCFWJMjFuapzCxLAbRTsNYGidPOgVgjgSEXeSMfFouwrYvKhYzzuWQzZZHXBINuEgiJbknFmNJTUskqYgsklktdgCaxUiLfmqAbmpKxuzeeMplMNftzASnNpiWcZKIihjSGWEIgqXolslsUOeMNhSnEFDLGiigoFKjeZkUTKIrfarRYwFNkcARkxBI", "zKrGPAqhgirZFoVyTQZkYICcQRMujdtDbOxlxaqmUKleZBQOvpQEueenOaIQYFyVvoFfVAFdchhlhdlIYugGRUzPtmxoTgQlektqkxishUsXCYUGVMcdivQPhotfAdLbSiSOwnFguHWjFOsJKWXMIRRpNtoTFOksVogoEopBmYtQBchdxATIpexjZgyqOfbNiyBRcqZNQZZnXolNMMKgNCUBdaiixevjvcXWLqUmKsfUQWBmJxOWmPrUSYxHFRhHjPZcpAoZfeueLrLqRzAhuyUpjQxKCFtvHauGtODkFdwCoOgIzaQETuOsPvytFrvrHIHIuBbVTFtKePFzfyqCcvdHEzoINZoUqSuPVLoWARiBdAlCAhwKZtTqQMIhPXNWVltCybnDOtuoUjqgMafasDDfqatjNEhOHkvROGxMUveNMzfbslFRNgzEOMqZEKaEEkEqSrCdAeUqjPBrtmkBpbuIjPPUILgiUtdJwodwbVRtsmQhIFzsotiXjKjFFnyT", "lCZFznIiDzGVxcToQNZwvkxJCWGrQEQsseClglHcvKykeLqnssitLqHudHkNspVHYunJvprMgjxieUnuHcqDAPfCODmxSZKGcjNzSYGhZgIqtQZQoNFJkeeKPPFhgJWfqubzxPsLMOxbpDyXAzDVpyRLpxXnfPVYJlrGJhTOKQYxtvUFUpFbpVHVhJEtSJqREMIICUPCrIOipBnLBvhwHmUJPXRVPkRIidcrMZNaqtbfbptdMPHBzJiqxcVdVufBRzSXOHiJseGYLufVhahKpjVJSIXkjfJbpFPnoIWFgBSwtRmKmykoxpHpArBFKVemBUollTdwifvwgluLmkHEvqTQxcsVkTHWqSXLDBFLdtQfdCKniVrUUqUUQPHpziAaGjOkGuiTGUvBXPuxHzcTZeiKVIkUdcqaLdhPGOUHZdigyjYKKzGkRUvYlzbrwjxdhVBNwEVMYlJimSuANDlYolgTjSHFZEBZDvrklWTLUjIluxjbMoRAPpKYBXWYTbPf", "LwPzqSOoVLNIuTKNnbpwfEeoGtWMPzNvDkCxfVQlgAFcRnxsDoavEEqvsRQRyqyKmBpCPhauzflSUkGslwqFMdAiMqYdHkQwcjbxajJnWAFJTVumHNsuViWOUbNllSptwnUfWMSxhyESnbVZhGgZsqZZLBIhIbGQBHPgTJgITiibPocCnEgGxfUjwkBHyvPRThDkgXGjjHuSgdUVgjqCexqHNEJZLRftoqnCcZdEeWSdsNaHcprDemQHEPcyrTRAOmCNFjHuVyMBAhebCPnHEthRzrGhhcGbpByprxYhZzeGAyDHlEphEdlHeXoPiyKWVGWwfCoqoipqOLDEdrdMgUIRnojTrVrxngUtARarkeMXKxnBrMyiGLDuKxAdUnNHxXQqBcItWNjSyPJkzROkhBAHxwherfMddmrUWHBRPpuNMpZDYdBMzOpVxKbPdadhHEekwTQxclUnAeClMuExopcaFNguJNOzBFHnkJABrgpZtbsKxIrIFhCTifocguLp", "jcDSTRRZmjjezzZanusVHyClYyeLsjKvaFclWYxxwLuvbLBCIblBVrFCtmvRLdxOHgQhtUmKCbISiScBPgrqhrgLWHroCAwIlERqeqozkzZKNReLkpGKCpSXcJOeCnoAemcecQYCnRYYcLAdzbJGZxzVUSkrwKoUtmtgkfvtmalRtamfKFlMWgkcltkOHpLTTtLdOBNQBvjYGwOkXicRCEtMnrcezLlQOnciHjXIIddweRoCERcVERQLOSvBFBwCuSvgGApXqFShuZthfhQssOJTTVaVdooSwJBIXdhxpQwdhDvejMCdLZoJWdnfLGgrRtRnncDcHBQoPSPBOkWSqeCqvAkoRcDBibsxhLhSbembIvqVkYmcISgJuUQcCabtDZWdPUNfwZYIhnWkoGhyjWwOkgxKDUuhIiXDXIyFyFFssIrTCauESumXJoxhhIUfdTMVyZuaVJCzmIvLTZdvApWLCcGiPbhvRLtjEXczYsWVPVXdRXfXgKnpObuZOghe", "EosEWZiNWRMfxTRjuSWgQOZvxKSFfuLPxoDWyxmPXSoAGtDabhaPyRAReVJUbiKIsjHKGDlHYbNACyLGejhuHCgNQcsRSItUupWPRgfBEnyIWVglleVePSLdmJczEPyfALUzAnwbRPMgprrqIPPgamIpnpFJdDXoSdXFIaeuFDMHYyiezugEIwadqUszrNhCyAKUMvhsNBKbMSSDeGHyhdqamNsFGKNdFmkDnkCnDLJEzRiOIMATtWFoKWrVcePykiYWPZbsxmaTLyvkOwPTqyARDnglIcNIIIcfENQNIglkDrCFnSJMzqQPQuUzkHlvycfIBgcIQvRyalGUdnPycKgdRGlITpQUkJFxlIwBOhinwWgQxCPayszXPMRekRcetPerSpJcWSexOmsgKCtTAgwVUeuioUCbegdSZsVPYxKaFftPzXyTuiujarXjxTwrrnMqyDhiasqslSCncOsfIpjEAnkBCMvLNdwVgKgGDZfBgwiXiAvwNqeOwBEmGaTZ", "HYKVWdgWCtWlkQGxCUuQrpODnNSDhweRidBgbknrIGxtiVRNUEFGxKbbIoeFcJlqadmvxbThGINvOhglHdHhHdDivRXsytJcBrbkulgtRaczofuOjAIDDHTZmLUhDwbtaJKUvhRdKlWzNggrlxDDVKRVqcsjucmMhSEMptXmoWgpCcTnkaiRytkcnSQWaKcsYZvsRjEvHgERETOAbCJzBaeUmunEublVaIoqKSVkpTkdzjqVQscsUIBTUTmpdobIiGHEckssSWMlbnsyxZhIJdxdESokUgyLjHBSEujLEjOkUsyqcFHtyFgcIdcvUKaPdNoWaxsQPEZaexPPflIqvNZgDNIJqpNiohTKOzgzLLhgBeJpNQzqkHXiPyCaXRABEnBgiJTjJHsfUJqoySgEqxGAPtyZsdGbtsLNrtDSMYnKTtsRLBzdftjtqbKvvTIISyeLRTqzvSxrrImnCWyUJlmBSvBqkvetNMQEHskiyXirOtGakBwBYbVZQuKLFrAR", "SixEIeYtPVjhzclmjYxwsDJXrVekYRdJljGnIlHuuzobBDFjdAoLuZudCRUFwgdzpLnXeJMuAynczFphvqAwtGkbOzpGNwiSXHymebWIoBvhdYTtgzyXpABVPHsyaKjOfclxNOpKXImurGVOOTgiwDtqQdQBMfwczWERINyCpgMDbRaJZdLtfunuXlFvXhbXfEJLQBIoqnyzyrOhrtLcbAQfIAQaJSKUHcCOVffMxDftXiSrvIxwjwYRLvGRbMhUxzYFYwyaxomNwMLLUFdgIaPtXVmRNmTXroAJsmNMuMgVTowPgAQZhpkOzXOJmEwFnXSTFsUCtYtIellGJZUcmsDjAKDBFgEwvwEsZxrlwLHUWtQBvPjOvYuqEvnbbiwvNDnIRyMQEZqSPRXdXzBxEbbPupoQOMLKPuxHxuqwTWDdqKMmTRFvsWkXqndqpErDbETHFDFafzVADZNLNGIYGOrjCfKvMPDSEufKgapmurCaMiTbfupDYoHOmyRiGewe", "QOvHfXTuXjkzZfrphBPANznsRiIpqlWmUoHLGDKerOKBiZrGCIVIzCWxIcYhQJiuZkLNfWCXYaExohGZOnHaIRvBVLQRzZqvaysSiMbzEtCYjCXDbFLDCKYkZegRMtSgMCZlkHgvoKrAefrYopZcXCJgWHrcnzhaOdgTAFTUhuYbMdJKppgnJnCQihCqQBaYWeQuTnnjuVIjHcGpWFwoWnAnDyftRPSImJBWuKFOkQcGyVezMcqmASewanUXhnPhhvFtiYdgPEuNjslKxhXGHvMGhnIQidDzrlrSRQCelVrxtyGGTWhPjzvdzkPfwovuMALqheKtisPAkSsCMabtvqbwFihmEVsonUvpgTIqvsTaQAUljAyAdtzTMmJKjjptVZXkzGkywYdmWUbcwLjNohQJiZGAtrjnZvgDIbkTGIwjbKZRrSDpawqypvNgYvQDKTYOzfAsiUUxgktFLDdXHAzHnefZknpeaNsgVcMNqnwCCIQIaZPOwxzvObJzLZgu", "mUCaoPCUsImMElbbqMKoPziVixnVgykoWwmSWxerjnplyxFLpWocSUeZxOPMoFzgdIzSZnhkctAMWAyvvEWOuycteEatYJdduuhVYUIutspjrkHcwCfOmgxeNkarXatSbHfBsecQbFpKcxPvUgrJSwKvYQfsdbsTiinVwzOnsMzlIvtnzfLBGRcaEOtzMUnfOxTIXCmmmTHMntfPNGmtwPeaORpRMRXhbCukRxeDwrLHZpBAHXslMZbUsqucbEpPqkoCOpkccBfKGPraupATTFblpYXEsgoDdnirpDENFTmqZDQGWWAzpJpSEYHMSNsWjrRLoTzqDAkwHvoBVjEvWWOXioJwWoVBoFGuVCHCHDHtiVBzesjuYcBowRzCMZjAjDxPYDaFmXZRZnLtruCKrRpbDzVYWHEHHRedglrLWFRSbuYUVRVkiUrehTsQIoOLoxWHLQoVDHXREezyETQCJZcARsjtazaHZLmzQHJrwfNITWWbPMXYfYXUSjokcNMq", "COgSeuZVVsrkzTiUxtLVBpHkPEAXybsFwYokzaDcyseWJQqPbYhwPMXTSdJqiMYJASNfKdqcAwCGTvfMtWEHTRFXCTxYjAEUnuvRZyXBZpqLReFgTcDCQHuNMksMfixqqzvlILEqpomGWOAbcjRMFqulmAgxLBDOlBKoNPLKXPfIPZhKYeVXdavntvZhsFWLlSVnaBuaOtnkJDkjbgJLubMGZdAAbspWKLQkoblYMVenzUGfIGTJbJCiAQphRfCEfwiBOFHzBMxEHsHKTIfSqiFjIGusLojxMfmLNVCUcskqaEaLdtFojmGtrYFItgMmEediqMIVhGsleBvCUnPtBTGHMZUrQDdurhVbXaBgqxmWKYhlhHQpzaJvUTHpnXcZKxQLJVwmcIRgIQzMCNgrPvuAuMUqqzAKwdQBXQvlCtBlvKyOakRMYZGlJjDkkwiTgjjmkdYmbjSyoeyEhcnPuJaGVFhjyAktkIxJSbyKxzfqoOmwDfPWMArFsKNptUmI", "lKQsOjfcdfyVrIjDroaIESKHqtJhxvPCaClYjkuknmTUfHBPqGroqPPWpYNwKsZzduTMrDdIecqQDKKYgfPmOqvhRYRdSleYmatAnHNWpaLfbEyTOpTjExThCswzEYNayxKsVHuyWAocwqlGIEUhVZQAigbkTZPJenmDWqZycaWIhNOiDdHGOKijUIHkEnmsgMnYQfgdaYFAyurQWXgSgVWVSGtkpWqtAHgCkDOpSkvgFDzCmPkpPtpxkUlnfCxaVTUryTgHaxfCxeBZLPGQiLvEqtrJuanlwWqapkKDgedwMqKKjtsBMyxFCePcMORUqLGHAvulbAqJlQJQUWuQEKALEfDKTgeaSbKCzzNPWhnEDbitRZuhUEUUbTjaEYxOLuLcXWtYfuzzwusMjfFSVdqdMOOMpKvNTLwDlzEPhsIcJbILYfLDdiDyDnwXqRtqquQZbtvKuoDjgPfhUIVfMnXLjOhMdCMLtgGksXhGimzlduUyDQWplBaMasTYZjxU", "JDsSMMJavCtaIoDTbVwEynlfCdgnFYPMVDssCmOccImZajZsMKxrMVXNbRSIOBylRckkrJSSTBOkmFFfQcDWSKzIyQjdrbgAFdEXRjIgKSHSjSHRJSekOapoaHzTTbvTVvctQZPzxQjVsjiHvZNLlisjeVSxwZNRzyChgpmVFMojjGepAAWuURNzDTqKRuxJePtZQtGengIEPknQdXeYpvWIICovPOgmaefQjXCRDXKbRbRGlIkzruGUTeFqmeLMINqRGNJOoUprtFALOOVnDgtiUzeDIVKjgqNiFVdoYsSlSaLBToSduoXzhEaDOzSPNdtcSGKhZrpIwWAzZgPptIwXBhhzAhoGAHRYfQvzkVojylvtWkxUkMyvNXBVvuOxnCtDXSoHGimZNPyTbbMUFCxmSaDDfMMoTXewRLQiAZBsPUgAiiKlqjEIbEQFKGCOHrhriucACcKBVeblXMetnOlFKqKrVezhgspKxxhPlverHsghjXISWQgkJAjmhQZl", "oCEaSMEsJQAxrzRbdWWARKyvWFXRqFwvdCXJwXsCTAUKCzGcmeUBoUiJLuzwuCTjPbXAsPzFLgBktBmVQOtzQEEIHRhvagFqTwSZnFJauLMGAMYMbFurElMuAtbNcsoceAgioylxhZpoAJyEinPVmtkKEJHDIlkoYkTpXVeRyioLwNxsMoYVOesqdeNOhqjUvXRGwyFEkEGTVDZxojKhLNSYMOxcGJYjsQJGpywbUCHBJZtuLvqxbyxymbExvinLaxlZrRtzmvTdCZgIWczQoBXLmyMKsdvvWTVwEfVLHYSbXbgDwmGRfRmVERVFlxseSfAGebGjXrkicxfxDlJPmxekoCeCIJRxomwODIPmJtFmTnrDRZahRhqdTtQUlCudxHdamoalYnYcRusrwyeVhUGuXWRXWpGnMKjmjPrCNltJaVlWzXpRXgQjwLRgVkjRBbrOEwWqsxlQPifsyncgYyusvKOqAHZOPIfsGoRnrfGWFfLhZJEfudhYQrlaUzOZ", "pIlNKEcYDTMYVTUSDtnmUcDqsJmwODrgCzRkSFYlxotzndtVtaXqvDcqVcIjaPOjPTZIzcaHscVmATUBcpjKkolDckvkVcYdmrRyVMcpeAdeFHIzhOPhDJAqhmRTRzLRtniGXeAaKKuXHDOFVQyPsTLgzZhRmLJKCyObDhDmcJXvmHubvRSZsyrntSfzAagbFrbpyPOvaPlslkjkuNNoSIFcLRdGTXOFITTGgbtOwUTCMQLFakfXmshuDvytGHerXXFZWcnORAUgFtwUWTCelvLRbyrYCOuhkExNUuHlZBHnhyZNQIUqIPKZQDRWXbsAiQuvukMbEPsKpfEDqwekapnsmsahxgJlruGtiOpivuItJRhoEBzVIehFvplcPpaNOHCLDdwqQYLDnJhVelDoMppiZGGnGTkITvVIIwhDicVyanMqHxMuFFcSYSXjjwKVpOsIAbLNupYqHRiJJlMhYLPUsKTkvHmOsPzgilPveKVZpNkAwvTLbirMAfCsVFpS", "DzLRRIYRlybmveGMTSwHVCzhJSebMXwmrygfraiYfryYUVqIUmflerfIiHSagTDBgjOjYhAkfpCFggqiBJauInrujeWfSbqeXIKAZmVFOvmUmvQQgkpLjBFxhgrVbkRCaxEKkpxelnggRbsuYUIAAvTimJFUrjuXExvCUygDNnjllgyGJCyoTYDhQuQARLldINhKzxRTrsTmqcYMuFzBjxAbBCUmAYsvYTyqjpLcWqjxCFHcxVvkeHxhCMruhePirIzoAmDmnHLQGwoCnOwqcnCRkYTpREjPRNFZQuHvlSRweRJhDcFDeowyNDQKXsJFmQKAUyfFxEMvOretnRkQPmtIzZXQgYpHkyYyWpRrKjjwnUYMhvhahnITgFJZcwEiSYEOjUZuYxIYXvhtFkgWDuEOolJTRBerhYVgiMHGovdMaYErSOcFxdBkRgpOUMYOZWrZSqSSSAruASLuKvOEQzmCISnBeQlwPWKENdcezCqwzEVgJIBgLLoqiWafnqIp", "YaIWCLFNEhcaAIiOSDVdgYsVkhRUoPwsGhJodvfLblydwmOvTVuaRVIYXnnFKygIealBgDARJMbvCpuAaZiytcgvlmCMUWDZLeBfpKUXEMxJQuUMWlxxvoMCfyFepjNuMgaKVYCBcoUedXvUMgjPRSgntdYOkhQRbnfoFtQGiJJvbUNVYjqsxYZXcbUpKiPtXHCMSEHBDsGppYrHBbroJAHIVOZxfXIOkFHOsUdyiyxbflQVeNyyUtTvAcqhCXlWIOZkKycBlWgVjzgjmSaWjSrnvQzINspIaYATGeHaNnanLeFzDRCsdkLHZdBeoFvSnopWPNotFyMndywFouKLvDRgsUnUUJxtiyIVDgmshjBtbcdigdBPtbVZqHrxWrzkanmNlEJncEbHvZAPiNvAapRlqIqPaqDweYxzuYoqJBRYwIkKKJaTmPxfOVcjBgLblrlaPvaZbxoWNgrDMmBZBBEzVJVkMxRcfJLQlJlVCppbFDzfybaZqmHCeATVBnFR", "ePLKHnppZzeAyczkjzeaUcHQaflkJJAOmgPHIyUbnZqPgYbNrCbnsPtOHYtiHKACAXPRQMQsrAMPyrmsDkfvnvnWKJBrYsIErFXimahuhrucDfDXmFVdyMqYwDduNmcfUOgzhElzHwxPqpbfKiFoifLTmWoxlfePTTITegQpkVzbSqIDqfQhMrRFZdytUwHXZrCTZLAXQjzsoKiLdErrHagBrKTIgpfHPVIQQqxrANKItDJEYTUVxXAJquTMXuQdVCXZmKPXjuGaSuJHyPniqgMBjHEZVeYoplDRzmucDAmsLFPdGkQfWjiYpHsTJeDJMQWInIxZZJHGVDOOsdBfgIcsWoIUqMhrZCzDxHHZPNVHytFySNmBmdGAyaTGuJstuSHeOnMrtbrLFsctrlqiDQpAeOsvkeDtVSNENUpRNxIEMfQZfnlYzDaPbNlabXIeEyPtkjgVfGGruveSvVrliiUlNDnWJkfCNEkFyOILHCNWxAoMgOYgFyAcDsrBBbUO", "EaypsyGgtBJdKPQIruamiPYlMSWzTDMIVEpodcKjFDbtnZDtDWvHrEZXSIdMtiqqzqkaTqfjpxmilOIGBVRKHUBteOcvMEnpQlOFrUFgChMkXOOJqoWpKxsypdiOTtvurHcIsfJLbJZFRoxhHmgeXNeRVtqIqeGedtDiNwYZtVYBqKSpiLZRzapbfzLoIqjrqLDbQzRPMxnrAttaYjjyzrnGUrRtRMMLogtZTKfXYBRsEYUyOJBuCSSxRvAZIPeDCZobFSdZUfraJkYsatGETwwEosdBGprCqfCNoRmZasuMPNfBnuLYLjvTEVKQkfQIaWKROInbLPCvXkheJslfAPUicXfdPRsUEebQgNvotRdifTsvrXpCmPojZCMWAuqSQmQGQMAnxkgXJihwfeKxhKNFbBOXrpWWEoiXSOdEHwbYmlqLddfoHddywThjIRKJgRkSUKzruqwzGIdnDzSOngLmIKvZMkZqvbHlOWEVRDHTehzXNIGyNucHDCaLCvCi", "REAGSPEHIcNRDznbvAWNXMpHRdHKfsXTKjvFLjbwqNMpvWIsaGRaGAAQNGGMeCPxoGIwbQqrcQBvuvKzOMiyTKNXUMDWuHmBBJLiACocXFpxlqKZgTyUUaFDgjraDATRFYKlpIUJYvatbHRDOIUhhcqqLXnbpKbcQqYPFBjCLOntEaFyOgidZRJLJSkpAySyomMhUWrzCTnRtMnRZtjWTLvRdLMPEGBDXTGiOqJcfBqLLfEdLRsZccQFptTRoRPWQAzcInPpQzTtPhHeRbybHvEjxTSBNsxxqTLDGKrbiZSfJDvackAdEGCPqWthemukdBUxEYQcObfUFOGTGnAJchtCfgKhWwLuKjDzhrzAlBaEEiYZQWqfzhlLNfbunAMfXAiGrZhcfYvGbkBAvQpjuldLsFTGdyirxAdKTgUdmEEaDtmOrBgJNiAqqlYHhtcTNQRkBGXLVdgnSiKkqBaOzlJdTSmhDTIRnZFDmhzxsUvJjSmLyaQFTzmYTFLpRwvg"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_largeint":{"c_map_largeint_1":-4740872664146809380, "c_map_largeint_2":1768319895352553214, "c_map_largeint_3":2528260243946785434, "c_map_largeint_4":-541651855266955572, "c_map_largeint_5":-9087060019883568508, "c_map_largeint_6":-8655014454320966372, "c_map_largeint_7":1623913588838563422, "c_map_largeint_8":6517703140344045454, "c_map_largeint_9":-1667657420061696772, "c_map_largeint_10":617415172245736693},"c_map_string":{"c_map_string_1":"pNrSJPsHYHVbsNfWulTHCWPabcTBHyDtkzkzWSAjsTskMDqYppIfDMVjQiQQvSSRZqRroLINlfUBsLBkksbKlDkLZWIzxUrhwzERXEHhjLNZxjoSidvUQbJCYMzUtOVDCqRAFGjWLFvlGPcjfDFRTwwOuwRdAWuWneNRxnYIAUBxRYvzumChotkIFpAyJHtDfNyooAhzeqDOwUMqEiIscWrrjaEhnLmIPguOHpBauPzLCZtJdRrDdntvhPCiwVPZuvZWUtvgebYkiqLtKcVbSvaqLniaeRqTpaevSpvNIPValpzwxRVSkHzaVPGbzPIoLUzKfSupgDSnmKzyFOTPvVuSzDFSecpghJAwOwExGcgCoKToRtTcVkWEHkXjPsjjanGXtTemMNaRWwYTstJNBhIjaRUgfcABgorveKesEaVhqzOhBAloIgxuCcjbPgcSnUslYSxhiazSUEgRIMbJGVnMCotIMnspNFUFbcnwrCPUVZEUBQdgFhbAaIeHqKgs", "c_map_string_2":"hhJzPfgnxrRJxwfVILfItOLmuhgrKrYfDpbbOdmmILtuPqvjHegjfWEteApNDsihdmWuQmnJMaCUHheowvLhLnkjycVpqtGsAxFyHNxlVUCyjwKxZYRqDhBKVaDuyIsNesUVbYkGqUyLsiKeOCHnyrNEckTRHKjQhZXWOrJCBXdRTXHGyluqFZKhTvNsHXfXCLAhNFXZxzNgTXFtbxfbjcpTNFFajNJmQBZfzrpYYdstYeWYpGCuTcysrWFGMPqYnREPNSyKSezTvotlHqKHUOXboUlrPPBAmsumdmsttntZaaqIRBdDNciyoVMYJqOSlMXVJrVhqyrxocYsKHQZjeYQxYfBILqCOwbHOBbfhbUSMfgXzHJZUEgfHSLrEVbcqzvCQGpntSGBelGmoJszhCBgloFpCUwpYFShxRSuKcokGcrfIVBWcoFcEERtNLkOeAgqlcKfSKZFeVnEThKpNiTuECktaXYBLWibpcDAFyWGRqamlHrbOCHuZUdBgHTF", "c_map_string_3":"lHXyvYRdylEhDQyqkMborWuufVbfquPuBIEHJxYoayggUBYCcSaumaZXtrhyqqxbFApQIUnSEUrZsQzwqqedGDRRrGuqBEOlIBEWcCwdooewniSzaEmXuRocPblGKKcDdvuUJOUHDssubxkgPOEEgOHsPAedGFfxXrcNoNnOKvrPeFqcrzwnZhuZuZZQmciOmvldROrrNfkACuPmQCRFisyHPCCWpKqBQOoGiJWTphcOkBjvEwwCepenaRUaruGnHvpMNiYHMxhktUNVBnLUVdhpMjCYfJQwJPfZhmaYWKSivIUMyHTHMavXmoQhbTCXMcrrTnPioftgGZHoCfyxyCZIZaesgbAmxHbpKBaisOzPcMesqjrqNEVJMxSTAOOtDHUXVuewbnuzwoUNcTTMLWCpYsKniwnuqlpdVDJdgsziBEiwuQpIwvnFaVZEMVWxjyXdVzaImnipnVamRKDpGKpEmJZbwphtjzJJPvtKjCaxxKyTupkAZNCuLgoMluWE", "c_map_string_4":"qGehACvKlAirQfdWocYwCTMsmdkByQMPxMSMMJhGPNVNBhPbUaKUHAzFkJGSAuFQTdgxIpVENcbNYsLdyctJJduEMxELBMtkkHbPQdcAHobxHCBcQylmWRVlTEhzPHwbKjdyLucincZOaoXlNguylrRoDPMvNsGrezoLYeEVOMMScnodfiloOVtYlgdHLztUgWlzInSECdjxTwggDnfisWqPbvlGquBoEOwuxQHDSOzOuZDromsgIaNULbkPCIjdHTqBkJTtczpOFPHjJClyAIogeFKGGIBqIaXbkeXoSATYzhdjkblmXNbQDGLtwOpkWJfwtWAefdaOaXrPvptJWrjtoelLYYsxYHbHbLtZoXBkPNnVwzGWQqcHhNoFwZMEvSFoCrAXiYfEzRxYHylOdflgNfASJiTrSVuWuaGOkRxoAgqCgqvLdztNUcuAZaUEYoiMpVSgDudFCZsLdsGylcJyBOVPIFxJDcDPgKlfCKRdgkSGPcuQPnvCowsmNSOg", "c_map_string_5":"joNsszBdcjLAokIjGJBBgKhgiJCOOJPUANOglzeSGvPfNKjlhHPEFhuFpdwcZYwNRvyxKJEKjHjDpUwhZQNfsFevYbDaVsduPjqGLYFeaQoGuBPWFIWhOFQxOfJYYHyNAXPNopdSSbGODThwqoFiRPecMyTTZOygZKibegGmQLnofrKnVigMvSqbwCJXTXaSAktLalQeqwqifIokLVPWBIfkWrPjIemSROnUfbwlJfcBToVgXuGnYMTothNzKoMVBzrVCGCBVyQPNCIXmFVtByNZYMblgWMptQtrpuMYFmzhTxvtJVuaUcuHdqHnMfccdaIePIEgBrYlPBVCNOzlBDBbmsQxsBvJnXZmQuPFqUanmdfxZmxsvqgDAXluQsThozRptZRbmFPQRcguNcdHFILjSzZwqzXyDOBnkjiuwINwgOMePvTHHHHFlJXkEPjYnusOLSyZFQFUxQFVqxoyFKaqZywlahmbctAqjKPztKuEvPEbIaxQCWUZLHZSiNoc", "c_map_string_6":"pqargGYFprFFQuKSigbdPQKHLyzVrzORDokplPDLOYzUiUtQpYKSsdFWdUuCNCjlGHucGMAQsrNUTaLjavVGXtpjjudyjmxOfJJjWZsRiPBYcGoqIUitKJghHJbwlQqtkDXyAZxwwcRosCzkILUNtPtHmxusiQrhKQVHOEGZGHskKMMOJIpAKPtoRWwqParCcxcJrQAgSFUKeNVqrGBouWzTvCmeiehJOYZGsRgydZNZbXwlSqXXDrxEcubnQTeRdWKGAHHCUnspuYwvYjSvyVENweGYzPkHGAwmJbyiHYEfDtBpRvXqBdTAfFsZVfBVwTNYuQcbqTuqwVsuTYjKtQFCRZAwsdgBartVZqbfxfgkTfjyWWtIHuxkFaisTeleHZGpKaBZQoRGYptFHuiKgrmQHSFZSBqrFafmeEzyWIeXCDBtUQjMlhctHrOHRNErXifchfkLAmLiieJuTiIlKcsQxShNmHkJRTVezcAFLqqOIOvmnwjelgrqDlRxwDyZ", "c_map_string_7":"tUssuWQkvVAWXFIrEkMKzOTxFXRAWIObHNmcGKeazfQXWudcxdNlvRMkrRzfAtlnXLVGbwYEKbDalEqSUzFBufepBdbJyZEvxaLKeNKivxUnnNhbKZNIfmcyxmtTdIsBfCxdWJBObWygCAAJmblLaLqeBldPUzgIQVrRqvTmdlpxWFHmrORcMWKYVhaWexExhjqujaMzKuAwlokxIRdEayIzrLdbhBMXAfesjYKMGwUOKKHkHEDhvyEzDAnFpHNqRvhaiwlOziOJANOJgzQDbiBUlxyscDTynWyxzNkNVanuijrNvtJKPHIwMirBrGVvhQZRgQEPbgQmLUuriWwgGixotuOJOuijMEQCOaALQYyoSSDvXwyMwwqNRnPPhwvamYAGYNuWYvNLeMJyiGkiPOWGZSrZPlrliUkdPSvswpuWQDZIpJYupzBxPChDuxXrgYKYrGqphAeDPwydBiXskgezfhjoUtzrKLOYaRvHyezoAbYrmwbQjEHrgzFIPZss", "c_map_string_8":"OgrKDhtzNsRcBAfDQqGWQSlnJteRKEWxSCEPUwmamMulhxBKEzDeWKDCDNCeTCRAzJnTpQsmjazEwJVDqOyyqWkCNVszLvMedayZdcuegZtKycfIctDBUyTCHbSSUcUOnBUbVQkrDPIjjJDCfaHPpDyWFgRqMHPnWIqkJSBndgHabSWdiUAgqfqaalyVKIoKjrqqBqduCiwnHwxJHjvoUEPvGziQbNRpSEZywcCtDAZczZKRrIdJnTAiOtujbgOfBYYOeKcYzWgYoknPMOHNGfFyckrlFqDqhlDJsJTmqIhxpUdcPazAuTvydlJaEdPqKKMRChbxdsnPckwEUdbZzfiSoGOBYJuHKKrrwSQCdLqjFzXpzzhYhDrTgNnmugHEMLMIdvHsoCQtabdgWKMZxKlFiowBvFrmpaKQPNCqPtptGlaXEXlIKeUpALIhoxWCHgWrlAIhCBdrBNhqhMpvOHtnygBZcZZuxKjglfssIRNsFcTlHoAPwkIbpTkRMDUR", "c_map_string_9":"NKiOImCssrNCriJoNSlXugqkpznWKDbkCdfVytPsUVPKTglqurciYRortmTfocWCGjnYXDOVmlknVkfqffYVjeFQSQbQjCUDLRDIPOwblGuhKBBaiXIZIherjfIkGewikozumsOVETfMdfiJFpWdoqjmlIlGFTRrVqNvyXtQcJFcJFalKYLECjgJUPdzUrBnZsmczcbVEFykSkQqillpuWBcPUGvVgeWBVLcWPbEWTVMdTeIZUWiWnGSGdVcEHyIPpiXbHTtXMhaPrVcOlApkqBLKUeOgTwiHfYatCUeuoYGSpInqZXUwKSFlZvMjIQHRmGulNoJpKznICoIAuTpoafiYRDchtYpZJuXXbxGMGTHrljwHLRqekLiPZKqnANAHYWweAqGDjfVAZvOvOSAGQIfPhOkUvploZezweNdvbuIEMWgupCfkiqyYSysgiGsEfMKGPVsJWwOspkMXdzNejfQlHdbGjtOZhygnqNavUWuvLACXwJQcHgUOomikNCT", "c_map_string_10":"YjyuKETAtDLZPzJAvRSXiqjrIKryLeCJxElBfEmWEFCdnPUAVqSDUYczcLXpvCLesvJgpIEXywhVjyUZIeEHRCFwBSHoixwUtPmzkuRPVfEThCvMQZuEFPpatDrmDXKdlCdssfaVXiTdNsKbjPJgnjJBFzvMExyiFlPlyoxxFDnmJWGQvbfWPnwzjkRDwqzIJgnVCHomlthRCSFfVwrWQHrVyMVrqRNzURtlqdnpSzQiCYGxqdaLgopGBjKSRziiKTHYZsnWJjFSwXztqqHIyPfLqcLRFyElsKmxpCxxiVxEpieutCLqRlXDeOfylOELVtPsZVectBQkyMPivxJFScLRCHKYEEoGwmrJwZnldhtpGrLrIliWeUJbbilHcMYtNaUUIrFWKyylQHCOYFkSbaAgglWfIcKoxrsLuMIjdQgbzwUOXFwoWthzlqGVjLcxUVUnysvfycMNkelQPxXCsuxTvdcZFDMIHIskleSVSBSRczMypBKKoUkUdfHzPfSC"},"c_map_date":{"c_map_date_1":"2013-10-15", "c_map_date_2":"2011-12-03", "c_map_date_3":"2006-07-22", "c_map_date_4":"2014-11-17", "c_map_date_5":"2013-07-26", "c_map_date_6":"2009-04-08", "c_map_date_7":"2005-08-25", "c_map_date_8":"2014-08-13", "c_map_date_9":"2004-05-06", "c_map_date_10":"2010-01-11"},"c_int":126177718,"c_decimal":9.0016,"c_date":"2017-04-20","c_ipv4":"8.131.134.238","c_array_tinyint":[47, 86, 109, -86, -91, -77, 25, 25, 21, 109, -45, 88, -90, 51, 82, -62, -61, -111, -61, 86, 73, 70, 24, -59, 91],"c_array_datetime":["2019-11-14 10:02:07", "2019-07-27 10:42:22", "2015-06-27 22:06:23", "2016-04-28 01:35:32", "2001-07-17 08:57:39", "2015-03-07 07:47:20", "2014-07-02 14:51:53", "2019-05-08 03:07:26", "2007-02-28 05:44:25", "2018-01-21 09:15:57", "2002-04-13 03:30:12", "2017-10-06 08:27:26", "2009-12-24 09:56:41", "2006-08-08 21:03:07", "2003-09-28 17:14:54", "2014-09-19 14:49:09", "2013-07-18 20:35:12", "2003-04-23 17:57:32", "2003-11-21 03:34:10", "2013-05-12 00:52:38", "2001-09-19 11:33:05", "2000-09-24 07:01:09", "2015-04-17 23:09:46", "2012-05-05 23:37:24", "2006-07-05 23:45:05"],"c_map_double":{"c_map_double_1":10.499803384115632, "c_map_double_2":57.65012457001211, "c_map_double_3":21.628288213826707, "c_map_double_4":93.20099559958369, "c_map_double_5":95.37792883866086, "c_map_double_6":98.28988804023024, "c_map_double_7":80.30524068698944, "c_map_double_8":83.9062561867705, "c_map_double_9":74.0938892189821, "c_map_double_10":75.01071112032618},"c_bigint":-2010080565714039024,"c_array_float":[27.221449, 48.425243, 72.94037, 14.342626, 80.56877, 46.57207, 97.191216, 48.62893, 64.94842, 11.074933, 5.209293, 14.09464, 28.823236, 19.926788, 69.66909, 9.360275, 62.620815, 53.612526, 31.874914, 46.481827, 68.92288, 59.965866, 97.34167, 97.07025, 65.30011],"c_array_double":[94.70208020770582, 91.75540453318385, 45.07240109769227, 68.97453225606272, 43.773646871442985, 3.613673791870756, 91.80745977955193, 56.84810192913585, 88.31600873905943, 65.8250016746321, 98.25289435435052, 37.48524136413007, 76.0601860109208, 26.054540909046306, 45.90399019182577, 85.47167733735938, 24.042729410399904, 24.330662122159847, 3.810603211244275, 14.011580627778025, 83.2714789972468, 55.077788025522395, 82.90129455239709, 0.6778436938941363, 55.28041684030466],"c_map_int":{"c_map_int_1":-664309617, "c_map_int_2":1239918772, "c_map_int_3":181954247, "c_map_int_4":-1648978622, "c_map_int_5":-923328673, "c_map_int_6":-812570086, "c_map_int_7":-1439400104, "c_map_int_8":2097065279, "c_map_int_9":1217722121, "c_map_int_10":617561864},"c_map_datetime":{"c_map_datetime_1":"2012-03-28 17:02:06", "c_map_datetime_2":"2006-03-02 17:50:24", "c_map_datetime_3":"2006-02-10 01:49:55", "c_map_datetime_4":"2004-10-05 05:55:13", "c_map_datetime_5":"2011-01-11 00:26:32", "c_map_datetime_6":"2010-06-10 11:29:19", "c_map_datetime_7":"2015-06-27 07:46:39", "c_map_datetime_8":"2011-11-08 06:58:02", "c_map_datetime_9":"2017-09-07 01:27:43", "c_map_datetime_10":"2018-03-05 08:47:33"},"c_char":"EwiToTKGpg","c_ipv6":"1b4e:708f:3ef8:c66d:8862:bd5e:7b20:61e9","c_map_ipv6":{"c_map_ipv6_1":"8b60:2ae5:f858:e1bd:721c:1d60:a731:cc7b", "c_map_ipv6_2":"8fd4:84cb:febc:56c3:e76a:a028:194d:e156", "c_map_ipv6_3":"a80e:d521:7ece:a693:5c9c:a078:1a77:e334", "c_map_ipv6_4":"1db7:d53e:47ef:622b:6b00:f9e8:42fb:dfde", "c_map_ipv6_5":"f654:17be:972d:d593:28d7:ab18:f4f0:6d97", "c_map_ipv6_6":"87d6:5540:5643:6a49:6db:a7ed:6de6:acc3", "c_map_ipv6_7":"8f09:315b:dfc3:5723:99d2:3170:67e4:db47", "c_map_ipv6_8":"1108:e5a0:bd76:79de:aabc:a8c:2a35:672d", "c_map_ipv6_9":"efea:853e:820:1f88:4e5e:ac:9e5e:836b", "c_map_ipv6_10":"177f:8acf:54d1:b1c1:a1b1:911:8b3d:a1fc"},"c_boolean":0,"c_datetime":"2017-10-16 09:39:05","c_array_smallint":[-16586, -9174, -204, 2963, -2232, -9047, 5016, 8535, -8533, 31809, -17875, 29603, -32480, -19860, -10844, 5066, 9688, 17960, -31585, 13946, -19542, 2363, -9433, -18998, 26839],"c_array_ipv6":["nIdZWHXWDR", "hbJZFAIvSo", "gGixMckYov", "sWyAMGCNTE", "mtivqWziVX", "UoKnlRBJnX", "pWAZyvhiOB", "lvtCYwVRdE", "uypsGGkRme", "fMZQuuaaiD", "OtTAXnMSpr", "wfsurSgiGj", "AQdTkuHCBu", "eINJQsoYNJ", "TFGTGdLwgX", "geZiPdVEaC", "WUhXtBbWDN", "BEVtevXpjJ", "wvLSqoQdTp", "MEhXuxcmaT", "meImgSFWHJ", "obFtiKbHin", "wQcDatoxBW", "DLYjWNurkP", "pVfCKZKzmY"],"c_map_smallint":{"c_map_smallint_1":-16830, "c_map_smallint_2":11938, "c_map_smallint_3":-16944, "c_map_smallint_4":-7693, "c_map_smallint_5":-5899, "c_map_smallint_6":-44, "c_map_smallint_7":-12520, "c_map_smallint_8":28018, "c_map_smallint_9":-7445, "c_map_smallint_10":21166},"c_map_decimal":{"c_map_decimal_1":64.0859, "c_map_decimal_2":93.0633, "c_map_decimal_3":56.1545, "c_map_decimal_4":62.1481, "c_map_decimal_5":7.1175, "c_map_decimal_6":94.0319, "c_map_decimal_7":48.1266, "c_map_decimal_8":80.1840, "c_map_decimal_9":91.0487, "c_map_decimal_10":83.0706},"c_map_float":{"c_map_float_1":4.3095355, "c_map_float_2":96.72414, "c_map_float_3":99.02094, "c_map_float_4":76.38518, "c_map_float_5":16.668367, "c_map_float_6":50.875393, "c_map_float_7":28.033163, "c_map_float_8":6.4181013, "c_map_float_9":52.564255, "c_map_float_10":86.12927},"c_tinyint":56,"c_array_largeint":[-1938362342570427622, 2261978339859430942, -3536883324999969840, -2987287410101203119, 4787775717583535286, 1612539373061127178, -6473650215362504656, -8488421914853112122, 499669644902249220, -1005819114680742116, -8631099095495910282, -7301475520777219209, 4000838507458153879, 3637788606343064837, 3528333534032947052, 4254470146307265897, 445579806324035055, 8697121309866488644, 7645230654702123581, 1257888253339942781, 654091066104129115, 929082963058880209, -7702298771359182451, -911110225039276873, -2370192355176603505],"c_array_date":["2003-10-28", "2011-08-13", "2019-12-13", "2016-03-02", "2016-02-21", "2015-02-06", "2015-07-04", "2009-01-10", "2007-05-26", "2007-10-22", "2009-12-04", "2016-02-28", "2013-05-10", "2002-04-27", "2003-11-26", "2012-04-23", "2012-01-08", "2019-02-12", "2018-07-13", "2001-11-05", "2001-04-28", "2004-07-07", "2006-06-01", "2009-03-08", "2014-04-13"],"c_array_ipv4":["pCFoCJDVNR", "vmirxmZqsP", "vrekikJgPy", "lydsksEMwm", "VngnXRkuof", "FNLQkJnwKD", "EkwlrSbCUj", "JuEDQiWCcZ", "qdELsiZTcm", "RNJcSCMBQO", "rMpGHCEgvR", "IRvxGkUBTh", "bemPOIzEDQ", "SrJywyKuuE", "ebGwEZkNoJ", "LGJsUXuCzV", "WxisEiIrxA", "FOdAFRWXDH", "KWxOHyWKzh", "usJcQPAMZe", "vIUkxQecbf", "EocbIgmziz", "cqQZkJVfOE", "kvAPighope", "SyPIAmggOJ"],"c_map_tinyint":{"c_map_tinyint_1":19, "c_map_tinyint_2":-62, "c_map_tinyint_3":-22, "c_map_tinyint_4":-114, "c_map_tinyint_5":-83, "c_map_tinyint_6":61, "c_map_tinyint_7":-78, "c_map_tinyint_8":-55, "c_map_tinyint_9":-126, "c_map_tinyint_10":-74},"c_map_bigint":{"c_map_bigint_1":262986898807557350, "c_map_bigint_2":-4696021018211736099, "c_map_bigint_3":6455547319095195023, "c_map_bigint_4":-5520907464359238769, "c_map_bigint_5":5511626016598451211, "c_map_bigint_6":-3988452751682989367, "c_map_bigint_7":5893592968580199578, "c_map_bigint_8":-8545311721500634540, "c_map_bigint_9":1532645710659652148, "c_map_bigint_10":8083165496506399729},"c_map_varchar":{"c_map_varchar_1":"gtzynjAPpGVvwSdOvpKbiLajFrObjztqGtnRdsfOcYyTIDhlZZNATZCxpXvMatBbiLXmCHQdiwpPvcvCprSxvnYeqygACLrZJOstvoXdmVZxWxEdYchbMUiJcskHpqLiDEUXeNbDbTwKDNWGSkqTKWamAFyOcRcYFGrGnuEmzVFNawRdcBlcTBctyIIwanDDIAOpJiwmTMFPBpmRjknWXehrmzfZvjrRKiAOdwbVBZPUTKjFNtkqfndokkbdRlgE", "c_map_varchar_2":"MkirwTzgTBUOwlBagOcUYNHFRmDQraNPpXErLDPMwhTwvGRsVvKZZaFtSkmvzkdbGpEqJPgCPOEYBwkMNVLOMAKCrWBZdKQKXFgzXYAGxblUGscDrfamMrMemgokOfGJNXEMQNahYyNalTDrOWhVwZPIhAmLEDxsRgvAAeJxnaTmODcQYZtSGVoKzFkkBFeEYLsKXuZoXQxZXohsIsBBBgcQaeJgLPeYckLsVEGCvEWHCYHohfhKMMpMTWsywzaK", "c_map_varchar_3":"YLfsDwOjcrWUndPrRGusRtlVcQGaSbgXWnSQItwOLcfDNmcUcBAmajgiseyeRveWQnkPegYByXsnKzNvgEzcnjZVBzHOixnrNcPnSZPGLwhsNkqcRJtCrsOkXEWYHnyVNtMPUXwadDZPewDrTOkjvlHQLDTOMfXdSEhQYJuwsTtUxlDhfrqLoeSryudAgAGttccBuPeQSjhZjZFAOBgRvLVxDjtgcFcYMKkrWsmuyVBqhnxnNXKklNfZZwZJkSlu", "c_map_varchar_4":"pXcIncAVBfWGQHKtEQqPXvgVlATPyuBVFewfNYJJQaCUSepFcXycaWDmRlKsscoRIJKltgwGhMIARJrrALzjAQZpzTcIAzpBrfYtgSImEgPVNJPsewvEoyUOLbYCpuOVOVOnESsYvmyNhOTDDkimFoPAdoJaTMhMqBLxwvOerGuUsVZkCZOodJylPIlobDdSvHaqLKJMFWTuWoEIIiQcpnDgcgKBqLgJpyMeRKonpGQeWHZhUPSSwOhjmkjEiMGl", "c_map_varchar_5":"NUMYnukpAxGJLvKqDFoQknzKDRpxRePkxLSoETMKIAPlbankjgJEelHqbQXPNPKybkFnqzNsqBaxdzWCisnPtQAWaSGnufGtocQrildycMdkSWrDaKqDeiXFiqZkhncijoaqrHgPTnqBQuYQVaKDAniVkKxBqjBFNUTUqMtJDVDeWiceYTYPxSSEsDpPJvxLuwoGRMizdfrAMzXqztiwcJmRPiBqVbdrFKZuEoFqvVKBMuhROHhswYsKLwVmBHUI", "c_map_varchar_6":"ibvBOlrxZkrUasFOgITVxTWVlCOQSJdBjZgiFaagpKzfyjrjvZVGzBhfTIezjavwpSRMfkxVYFZDgjgMAcppYwbpoQbjdmIDgiGbeyQtUOuHCdLGHDyRKafSLLjKlgypJLIxwZehYzftLKCGthqoOVRUolGgMDsnHMrkKrgaAhPuaMjYuQHfMrgAwrlXySqjBpBzlHDyWRzGAspqsAUmrLGaQbJOVbEWjujDBOaUkhwHLWxBlIOovWctusgnZWUi", "c_map_varchar_7":"QwhjszwvmsdWsKqJlNCmcKaqSGAEuamimZiVhrdHvVVQRvwJFUdbvTkNdjDNsCSBPCMRAsYVUSsOhukBTfHKivGxPUSAUBdwIjoZmljBIwaGQamivOJGJIBeBHlgmkItzyDnDOzgDuGPsRMeywhFftPnEanLIqrbuynGnjkreSpIzEcTSYyAQbplWsEgzWibYusQpsrDvJZEmEvOtWNAFgmDYbgkJwipcKWFDIGqkXQFzsqrMJuWkzPJCGMGMnsV", "c_map_varchar_8":"nWaVcWzDlrjPwGrnSrbBrLzaHxWuqFxqJInbgJUJroRESHfXPoQxCZWUKnOfejiplZUgXEkyWLpHtJjpMBqneHeRJtoyWrLRboLWzfCibchZnnqMOIqByMboqOsUndfwlrGUpMuzlQSszlPWMugWymgMLuSxyEqxkqqeiNgZGNLLjANrhFcdSIlwiaWtzAGWAPtToNyHkxOhCULbFZJSXltmpdfKJrjRSMXtyxLMuYNuKwgDhRnERyQVgDsVqXNC", "c_map_varchar_9":"IaUYtChLaKIOXhogjYGtDhvQvmXdwUYEVrALmDXyiyYEWAhosKnxuzkIEuigeIhTqcWkuPcCVsiwsAmtDCQrTdNDHlQELLPmAXyTtIBmSdWQJIpfqjTByLzmFjbyaeRSrFdihtIHgUcVwXMEhVfNmMYWWzyaEpqMedMKTFvNzFtmxZvWbKwRUkxkgObWEVodmOZPiJGaChUAqxgDOLudYNEyuBLozYggxXNSHGzamIIHMYoejqQGUkOAaSiknlPg", "c_map_varchar_10":"TendWBmOCiVruyUEiRXXomgMQKpxZNGZVXAwHVfDMCJfuUdwqxHQbHPbsioYIUpmuzXcVnCdPQBwrVKoZiBIYNGSnamFKgWratsIwtuDPaPDohzuMTuLTradPNTIKrnyacPfAcwzglWJNIJeVDQHXkxzIbTAzaIlIFPKJyKUupmtMnVWlZXEtTpoMMLgMHSdSGAYqqmlnHqvTYTvrYsLOZjbKMRcDdgtnJStsSGDQwDkpbeGqwULqWeDZpjEDkvm"},"c_map_char":{"c_map_char_1":"ijnnYjpVrP", "c_map_char_2":"OQmMpPvLse", "c_map_char_3":"hDJRgKFZfG", "c_map_char_4":"CPVocccHCU", "c_map_char_5":"XQCfZEesir", "c_map_char_6":"hxHccvgBsy", "c_map_char_7":"OPnwztSTRn", "c_map_char_8":"hqsLvueMvJ", "c_map_char_9":"jsJWSbBJcn", "c_map_char_10":"rkjjeDNzxs"},"c_smallint":-2424,"c_double":78.23546117995406,"c_string":"TquqbEEmZEfTfxOOwgdudMKwcOjmEouFGhjroYwlhAEbWryBuSUdXUrdcUeqbZNjLPbdcXzVHjWRmQOjeNiYXqQJSfPOQnHDnsOhVunvPcmXRTTFTyoCtmSHYoDEHonGjzWRCDZyFThecboyOFpXDSofLqYZlcDXbjHcXDeXmtUWGTmxftPJwIUTXBrcCCiuQOThGhhKhrcLQLWNAgyzHYXMRdAYPwGEqtaAuUGwLXwnQYPeUcnaxRyPJjZSKCUeEkibbWBwPHUmDYGBuNPdvzCbuaowqiofOcpWFNRJNXSNHpLkfenTBfEHuvJxfEiAZmsFcNxfGMuNXGoUZMCoQEdoneQJvrbgqYOLJWnfCXwZEHnLViPgGQtRKxqVgEqCKsIQEJsXPvfTONtcpWRBUdkeAMLxJhmFJgyJiwHwFtFoELYfAHKuTxyVqMpcMxLvxMhnASEFeHBFqRMNflyWRWqdPHFSbjEpWHIlEavxNAvZkAwHweAQprhJEiFdsHqH","c_array_int":[490683156, -1880327005, -1174399224, 613752084, -706360232, 817666825, -1375013685, -773661122, 910751507, -118231494, -199032303, -1223165701, -603485456, -1247941078, 1972226871, 1035685283, -203344373, 212905311, 1907007967, -1447731297, -1618914305, -1530817283, -899966646, -775647722, 1302508787],"c_array_bigint":[-5452543090780935351, -125501054030974332, 480669283744868780, -2081750208436984712, 2960053702788318653, 7844874450388098442, -163195710522907397, -5326187092388644156, -2037011891603994355, 4424044270764020482, -5632153362687956609, -1863143645438381090, 7786980159277315471, -7675677497836471474, -837108766666085386, -4280374645866346127, 8403939720356760319, 3705057812254835565, 6692091328001464199, 1142257297480575046, -1802185354325024507, 5555023493731125727, 2846259359852550553, 5969102228977392731, 8179122086276990813],"c_array_char":["LeBTjpfECT", "cZCdKakwDX", "jCEhssNCTE", "LJCxYrsiGw", "qCymijPent", "tLCTSmiQOV", "JRAswpcmef", "YgGGJNWjdK", "jGSChCGjsP", "YxcCYOyQyi", "NfSRJPcsgp", "sGrcrRikZY", "isrOIojZSO", "NrFhIwMfrD", "bMcgSxywXT", "DJoAmxVNhz", "EXQgsfRvWa", "inbqtjpYUA", "MZocLvhAfR", "pnEzhqhWlW", "iqmNseoGLO", "LLiMYaShtF", "rtveNpaalK", "nawQMnEsqr", "qijQBVqnmz"],"c_array_varchar":["eQezIPTweCmkZDZbromXbkxnnrfOOfmWgCWLdkCVJxLgYjtbMbusYvgrzHDYjeQWvvXfENaoceBCyewoONMbFlfwIeODhXWXbaGfnGRUNTeVjcPTcUwNarDnsURngUKPnkFHcETcqYNkXxcMKOkhGtktoFOrTHmAyMbFqcjxaWWimkBGwKPACrGChxWdtRKlZllFfgSBArMuXBhWtBVFsMJkKSzpvyoawcanQGRsDNLeqTbhyXUYjmHOabzVftqM", "hwetyyavDfFeKQmYrlemBTjCZEbNXmMFpDgmTHpRmNFLsodgOGxyyNRLNcDtfxOIbUOKKsmcGEBdZEIGVJNNAEwlXBGDMukxdRuxTfEECbgBVzHHMRNTcfJKGzntTVlcuxmLzLwipSMysUQJeMRkDGpJoWkuaRtURvEtoYyGMoeRRDrdsRVTlOgrrumtCdMNdZbdICpkmYKfxRDGnDaOJZWesVxIkgWpcNVYVNgcidWEirLdPTaiOlNmUJLSBUfx", "XjREwHhmrRAuZzRQjDBeZAzoUWlNvyiQmLxprQFzsxybsYzOlOJRukQaPzffkzXwtaNFfpYDJAlBYLAaYgSmejLlzVgjfwhujAQRkFhOveoOrSGTMRVIqDkbfYMAQsRyBADvUVoOecnmHTdmzxXkOlroOgCePKIttgHpHsCFQRuHtbKTdZEJqVIokzKSggyHLFErBzoVqCSiouTJphyKARhRXastKKPBmAJOPuqIYRGUyoNobSueoldQFyEktmgT", "KGRbxdpxPmHpLCuvJlQJjYGcspWtlOnCflVSRRpQQOdieEGwSIuPAsHNEREqKYClIuloRstKujpZstmCmUwgrLcQFOmhuZVeHwlmTtpxtDZsltwtmfbcstutelJHNHMiipEqEJEFUtFgSlbxtUPxwLgECrHKIOhPOTxVniUNklGifgJGztkBGQHFGBQGBTaxGCqMoWzsYnTvlWvsYqfTLmdQAdzaIICwzVmyyIYsBKnUXkbxPTbsJcwTmajFoEst", "iODSUaCbTnbvSukOcoJHyDBQglhyEOKZPAjyWXOhkRhIZRfMwGczWsbtNJqqmRDSBoCBPyBHlBTCTDnoVsMlWhVCZpeyVRBRqBGLaCmbIyzHMUDgNbGXriFeWooNrKKdrevPCPMblsXcvkIQgilykZczUObVpEVJMycaarZMpUzcgKGdZRlcdmCLAafQgvrOfJGRQaPjefxQbNacxXdOJpBDvmbPowjrTvtpfHArqSUNtezfSRoDcrdRLsYTaYHg", "UIvTAogAZrjCxleWDiNiCiOJEEJtseaFqbPlzxPzNLMetvOkVdfChTfEZbdAPGDPQRbaOFHrEexAwuZOrcshViKVvuzsaDQPBlYApNVuNQJOxQumufZQAamHWkwvoOBSiQNsJqvIcIpvIfVYflCAHBVutmvflarEWugsmkZzgcCbotziIeJyFUPweLMJsxrJQTnIIWZebQqXmEMICcPzsNdgtBWjwAQCRBlehxPqIEjNWIGKjlXdfAuDMXBOENDk", "GNZPkbuLgFqARZesErMPeFunYXnFDBMqxQAGpyliNuyhZuLeKWScZZHBVvMpgGKrJpFZyZOwREUnXEiIOECiQtWXWMhNoDDOfBAuYZAAKaRydGkHGglqHXqREcuqSYtryXBllezLCpsewlIBAYRcMmWdcIjtHiMtWWAnfWgyXexxUOIJsxWnPqkEhbUDNsGruUCuHdABOxRGJJYWmUdwVtQIThcFtBHKADkLGWKopsTtvxuQtQJePCOvdKycUmIu", "AMHuQbPtnXcvaPLRLoQFXFBvnLovULIiFuOlDmehtVWqicnGouzjabDJMdxqmISiyNncUDDLcntnWlLxkdDqMtAwXDvgoXUswLsRMwqhEzwkWtbyavIDBJywmXwCxygFlqZhteRywuZptyztLljJriXHTtcLlSWnwyiOXMAvvhvzqAvkfZIikbElGyCYQAKqEzqzWaIuteRqenQKfGdTEmLjxQcYTRDZkXNXKamJrPoQsZbnTlflFpzCzIMhCHXV", "SDMnSDpmhRPWUsuxNHOpvdnCVWxUBcVBhVmRGbVhgPasNOnaSVDTFQWITkQrxRGbwwyQHPnhKcTqLsIuXoOUmyHmvOhDgbfcabMEIGVDXdEJDoNdowWDakkURjWKMLKAIKOLkFoZEVTmBmgZCnmhWONEHallOjHLndmxJdDWpMqZQaYFSDBJYeocZTgAzaSxnfkbhaCciDWKCXiJwwEVTLpkIoELsbyZdvgNCEgomdnBNdPAllGYVqQWczaYkvHU", "oiSRDNGbzCAkYyoTQfQbIpFwEoFARlBXJcqAQxpOCqMHPJpPZuMgjiFvDnzdfrJFVlZePLbkiawetYpXyZKIDDsDZLAnTfdvHrRTxPAMJrrVxEWJdeagVFYkfQyQyFnLdAjrELDhxCTUZouMZWssNBZDxMDMmVTPjhogNZwtiCDhrSfhZtdEvYBCwSwscAcGlysrgaxtcPocjIbyOdfuSxwdXtzRBcHSVSXjYTBUgWuBXsjMDuQzPPzTkasggHab", "aZwnRTqeGTBXwxDJuzeyOAcFRARcPUfSaOqDPBfQFdgLnjzSDwsPyWcFgCGIwenWPnMikBFRakAqlxHyCKHUWKhjdAqPyChmyVUqhbjYKQmGKFMATBBXUVUbZJwXbRLUsENuCyWBNMSQPJSakVpKTnUpiSgubJQxdFPdPpobeTSEWZregQgdeuEgsJEfcjtWbsKLgsxfWFxDACVHkAtrJaWlYfseBHfEreuyxMyPXFZihcbAKXYykKwobvDSRPhI", "iIcFqpjRQpHviWjzxnACHpAvydMJZfTBJBtWHWcFPwzzTEwIPuQBcLRSOZZlOmTTFHkKURShkZpGLnCebTICPfYgTjZXEFjfICreITpUdSrdWbDmOiUbNZDLTmSeFLNqVogIMQKRCEXoPpJtjuaDDKafhgPEsGTtMXKkbbkAaAWQPteNZCkOdvNnFTueGPNCrAUmzJNkzSBMuSwNjmUXusmZPutGtOujMIjcPZvsXFDdXxlmejSwIvCeLaTFUegH", "UGHZgNAGEhXDipdvzoEEqBgagTovTQsNjoJeyAIkCYeaqMnBMSucDhkIMLtSBXWEKqClwYFyhRndoRZEYMQWGlAxVZAgxYbMwwZVIpJsVpxjhINwURuDMaQzMhDswqqmBgEIXmUCALcwWQTOvsEKorHtERACiZYRfjtdbSIDZMjgVGYNQhXnSUoPAlsBZvWhUjIwVBVkEtFRaBoXgiukwFhyRUxekanxWZpjTKQDfwadYgfmmsrjDOGfdMyvbujX", "FaGMincvymPvAXfnateuPvQRhsdohNLCFaaPUtSVSsVdMfBRgkvFFQgxoCDReaoiAVzjUbxMulxutFmsIZfdfViyTiZwmUmdnGqhmztxUlJpOCnxFsagyRJOAWAIqoMeGTmlyQiinXZOoXoYaboxcQFjYllVGCYQLkWWSSEhVUcYymRVhBvaIObqHibWVPXMDJnSzcNsFnMAjUTKgjDSIvYdRNrsuznzEJrmKQWqaoybzAIKSsPSRWrgFjYqFjZZ", "vUBHcfuTbGOKkoYtQfJkDLJNUZsqMjsxhQvwCewEsIETDQopSBawipVwaOTAeJJVVkQhDiAULQCHdNRhylJReMFNXaqnGaZPnXJbxaxAtxcdwevwywMdFXwDirIrZAabCHMgkaTbyiYzCyAvtNFHwYRdhzUDyXfFyjnhMZmIdzryNHfSDIxHPxAnDyJgXVqRCZbKKzgqQyJPFFVIMtCmRLEdtVrWJVPOINMRNOhUpofkmrZdzeMZLdMuUqWsLeTi", "eUhXeNQAaBZSrLfzveGjzcZYYTMSmZEZsXhrZnnESVKmPKkXndZuWBaoQIhGgeKFFoinnoZLFcEzACuYtHHydtlQbYpJjPGNGDmajMpIPfvbTzYbMcjhpKPIfdLBJthBhyzZLkygmlAiSwKFogkVTBDDGQlxHxVMyavWFledLCgVLmFIZIPXSJatLmXRnUOEKNbhZXEXhKCxNxSWlEzJqBDktsfsfkKcHEKUmezDafEEsLOcwhYuJKpsqcLIiEzO", "sdmoEhpmxQZpRlRmXSysoOUbZGlxXHFWGroASoxfdRaUDoZShldHepLeutIGngUCnauiQeNRiOSgWtuBIgCjMjUSJACtfeIQqTxbEojYGPxrvTJnMoGjeUKvPxKxpHeXnZnWCGSIypZMAmfNxaFSpCrFVqZFLMlXcauvfcrkdBwQwmScZMKsQssDTIzLWpYYGWMmzafMHjaZXLOeAldcvHZAnckAUJfcEajAixvbxSgcmbCNbxLXxZdEsPnJBoXf", "dlWOCmKgcJJlUbnQJlpBDXuixTPlrkDdMJwppYSheGNxiDlGzOzOWyNXpWpHlGqcjrGdfHxxeaWRINvluQzPMYGEojIAJlhcSwMEYZqRqQADCTIrIMJZlLLChtyUYGZWmEyaynnvAddbrJhvCsyOVlcAXoyftOBuuarlUKWdBXiIFMuNqTUQbxwQAvKSCUzXfyLUMJGnyUBWvSIVlfvsNNnqkgparJWCniDGpPKOaXQCTRKPFlCqwRxdYZlxIgiF", "fGcJWKrQMsPvLUGnxhocaLcPndnNDZCxXTsaBqbUpOKQOhSzGSgEfAUJEJcbiYWjyEFMtfApQRYSUzFnaLLqhxXoCQeIVEMYNScvnAzvoSuSdtAyMflVIEuehpOoBqLKlnQjhRDHDvrxCUQliKEBFGZkFaZHlMeNgMKAIPvhSrPzrUVEslXOGzxGOuUxzuLPhWQinVVFnGcQGxIFrewThQRQAfINBQmwacPdZyIFCIHytbZnoiCVZFtntwKDVGfJ", "qKRPzUHLHBqGKyeWGKukZQMOYqSILvhetmDRyxOXXIVDeztgasJORqbzdBUAykBLTdmpgDLewFVWeXLJZgeiklYNPVhTrXVShGaybXwLaicYyKfAbSshGWuImbXreVttQwkDyZHqFnYPkWWIzWGalGovNVbUoWdJwEXfvBeGRPWinYXQkBBycBnSblDRTEguNyKeAFovhkjbfpnWvjHqwfffIAxXboGHOuyLWsknGCwJmtrtzFOkEBoMFdqbXgvi", "KdUDokwtZfCYYsSmoSdindIfArDMNTbQNRiGHZYnMsXegVvNPvQjaBfGyDbZOSGMwcqOMMdDZmUMHlxSwTUCygsgBVmWsUzspHAIRewMUeTIVNkRnOYtufrefDHUCHSZHbfLILiffQjxcpMIKgjGirAvTiJqbcHhiDEVZOOqYQacgMUpISwqecYJVaQohmKgQGnYytQyJHbTXdRTqlSpxlzdGECDNgWLahVtzNfDYmsiflfqXegMVXmSjWowjTlE", "LFGsZBuaixrilDLvTtRTCEhZRCrZKFbAGnbruvAlrflKuCEAtqgpaZzaAITgGRLfNsPntWpvrktzwJOjFNZwoMCwPGMjiHdFnxPuzQOEaOrPBRXYrNzhkbUEAgxTilSWplZuChfHOwflGGbPLoDmbLZouJlvPiPXJiElOPfHNFEEmAFTKHiNFNRbreXHnwwxfkTvfDnJJrJrfYunZZpbomUYTVvjQvAXGQdCkXvACJaWJyBicnlEHUdGlLFZBUHt", "YdWdEzZCGwoGkwQwJVDhHVvbchdvnuIwEqRjKUAJixTpOJgphvDlhRocylOZDqdkarnViyrszyLTCzPwrpUMvxKqKESYjSyTCwrIXEUpAtBnNVpRwAAVgLXJnvPjjmPmBAEIAmRHNEugvpsKVYzXmDaunahkGRDwAPssOmlUOBRPjbWotucjnWYjYTgtsifUXpSsufQLsMasbfiBrjzmFDGVBtdodHWamfIgcsIXNCAmxAejKZDUoZHSUnTVKyAX", "PyBUuSDjqLVPuqzgBojOdwMTJDxyApifcKobgXAuPIuVDfEfyPDycSBnODGWGTKeTsIuzgOFPsnOgOKauoqfTBBiNUZBRJxBNWbnehInnGXmvFLdOnHHjcdfQLwRiVvRMtUrmBLChAlvjGwKQaiQehUzQzuuXpayXNeGWwAIJwyczRGxZqGDXKzIcFqMPLwSLTvihRrmRKIJiWMbcJnjWaRUdOTbnIupGJIkdoxBTyAJeXthSQSdAKMhcTJseYfO", "GnhkcBCiWofEdenProKfnIrGXwiquJJFrrorCbBZwTPTfNjQzEmeBUIVPYVFIaPKcnuCXxuUoNGoJTzsYXhwfONWeQqEotNYNTkTZZJQVLvWGlfQebwwQcZAuFCMwLPpIqOewsiKNrGCcvSUIEDQJcnATwUqhITQRMogeciRfubGHETFlZzXQzaySZEgbLsJUkUZNSmtAQAVspgHsAyaApYvUjrEbpSQyZCoCIOHpordHBRjZnxmiUZOzCWizRMQ"],"c_map_ipv4":{"c_map_ipv4_1":"100.130.77.39", "c_map_ipv4_2":"70.206.237.220", "c_map_ipv4_3":"119.66.108.121", "c_map_ipv4_4":"150.54.131.238", "c_map_ipv4_5":"232.200.117.19", "c_map_ipv4_6":"156.184.127.136", "c_map_ipv4_7":"205.204.97.79", "c_map_ipv4_8":"2.136.145.35", "c_map_ipv4_9":"193.227.140.217", "c_map_ipv4_10":"108.118.56.189"},"c_largeint":-8883895011400237855,"c_float":48.891125,"c_array_boolean":[1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0],"c_array_decimal":[3.1266, 18.1215, 82.0186, 78.0763, 16.0679, 86.0268, 41.1588, 21.0791, 66.0178, 25.1404, 18.1705, 71.0678, 80.1932, 87.0638, 47.1069, 53.1372, 56.0789, 48.0943, 71.0839, 71.1606, 84.0379, 96.0313, 26.0492, 52.1270, 53.0046],"c_json":{"email_text":"\\nSubject: Greetings from Kariane!\\n\\nDear Yost,\\n\\nGreetings! I hope your day is going well.\\n\\nHoping this message reaches you in good spirits. Sending good vibes your way.\\n\\nOut that while about class those open an quite that. Point indoors her his pink e.g. from wreck daily earlier. Host them what attractive it according enough these myself herself. Embarrassed weekly earlier tonight bale bathe frankly where many which. Teach sister empty contrast snow me coldness eye could dresser.\\n\\nThese mine hence your of it daily tonight tonight though. Archipelago alas for at all these magazine her these mirror. Paper dig laughter must listen last decidedly unless be horde. An crawl who kiss coat rush whoa just when whoa. Such seldom accidentally to when rush idea socks thankful of.\\n\\nThose our a in fact whomever soak to herself where. Since research lastly somewhat Marxist consist their disregard itself themselves. Knightly handle wash for under that Muscovite soon i.e. basket. Quaint socks here these since over film this indeed nightly. Part pod horror those out suddenly ouch rhythm I bus.\\n\\nIm eager to hear your feedback on it. If you have a moment, please feel free to check out the project on GitHub\\n\\nYour insights would be invaluable. Your thoughts matter to me.\\n\\nThank you for your consideration! Thanks in advance for your time.\\n\\nWarm regards\\nTatum Johns\\njuliabosco@kutch.biz\\n1-111-709-4794\\n","username":"Streich5269","nounabstract":"wit","adverbtimedefinite":"tomorrow","minecraftvillagerstation":"composter","minecraftarmortier":"chainmail","adverbfrequencydefinite":"nightly","achrouting":"678448989","minecraftmobhostile":"witch"} }','{ "c_array_boolean":[0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1],"c_array_int":[-1968132603, -523475301, 1448911249, -1071889287, 1890059415, 559854838, 1023094718, 785116769, 193294318, 1403491866, -25579773, -1794302205, 1155745705, 1932347169, -493607506, -1062798056, 17898820, -201302000, 1937622018, -835017753, -1985993986, -1827903478, 2068460922, 1153275495, 771152613],"c_array_varchar":["IFftHiDrqFEHyhvaabYBtvcvXWhhiSjvYZiMaEcuJsEEfNHJpSThhrzSnZPKokPmzPcwZrnBxFyPGMLZeHSZwjtKvVitZgbhNFjWfbOGpHqObWPxhtrCNTVVUMzrPxxwLLxBnecEaNbcWnjHXjldXKCgXffzpSoZNIimEofyktjABpdgziSBJhmsosSRrjaImnXrHIdebTNGQNSypMazYQruHHYeJjQtczlLrDNGKAvYvGIibSXcrjnFhafkGMeo", "pgUTNmfoXzcThrFnGTtHMdkMAteZlBQipcCjkUdIPFghgtEHOzKZzGzGREyhAgruNLysmTeWFPJPmbwvkujOkhIIrbeSSMJHBMzQZHhpsQDCFMgBwRsslDVhSyixUezkqelwnsgFunhCsKyimHzmVhegErZjToBAyUZLBylqlrnPIzcTBYIgeOhRMPDApmcKqDCFkLMdtqYMtPRmrLgIwZkFfiMAymHpvZANYcwQhFPjymDHMJhXaVhuJBcuJkzO", "MMexWNjTiqZUOkphZSlbszDvBVRWbhgEQAXElGInPmGziXfQyOWxdZPccssUXoimSopFarjARCXUpbIDdbBGNjGMlAiqhnbunaduuTQjaEBAfNomUvaGmAOvHgmYzVYYyuoVoBfUbXOImzwhdUiwKnTfYOvfGjYWhPUbRggJIaDFaYCWUtadVaPTwPUcDzXOcvBgtVnZUOuwRFOKYOzTlahGWxWzvALXrBcCQYVonCGrVZIGbRLFHuUQNYvdFMOh", "LmARukOzDaWkRaLsRexXZfHrRtjrhrXmTMiIbnbnmVouOsyMSqaQSUKoOeAslTwdzOlYbJNkxImSRcTsqCWioYhORwyTIGHjGwSjvKpOnlAvzJLKbVXSbXpjDorYyXvblRBJxFhNZcmAEQPgXXdkYGCKjdtRBhssNPoaGVirOdtlESQmZRSCerEopBJFrfnAHBJMnNtYmSJdrgRqzgUYjEYZvKafSQYWbhgYoCYbHnlKTDgSkoIjxnddLyWKzOvO", "hIZMpRNgrBxncMgaCGWwuXvmownXhiFGIZFmCkVTSDQxkBTmKdhACYrkWNlhTLWVnlzJWWdpYUEQPinkgrvQkLlddpBaIHSYKyGuUpejAyCKTJsXAtvVtRDLPSLYKhKIJRGpHTLVjJKRNxSiAykHFSnkxdGGzwPgDXithUAUmSfGovGJnlYbjYerXvItVoiGPoeSmssbyXJMkRicxKKlacPeFauGYOXYwOhEHESbCOWtKADCFVnxJfDXQPoNTWTJ", "HEBhJJunKMuWmfHTHVOmgxddFrmkmLXiqpgZSZsNPNArncCWxcsOeYhvaPGzvSqUgvQwhqqzGklYvhJpLbgKTrGGYeDEOqctxNDMhLHbRbOyJDonVyptjUiNMFVAstvtXeAZDJIFbZQRiCyhgXuWIspjPDSQCrtMKuDVCXpVjyfVWjZENNEDSONzdkthSbjeqgAAHZXadnQwEolyYAcmJaHFuuzcIxRnpsHnWfyRYxagbSCeIiGaoNZeMdyLXDSk", "SagbmdUvJNCXYqVVbKSvMwytcKyzFbjHTVTyMwSSKwnCzjUyRrGBboBmvDoDGvAUbHzNxJgAJciSdhfiweELtpnRmYlojoVwRhADaDevqsfaBcjHqvgtHLRQHfTWeJGzjBiOqJqtOoZsmSinXgAPTgEmwSiuZxjVfUCQsroXVmWBDNSEBDjEtfkfHIxLEbFJIdmtWTHScuJwVCkBDwFOAhPCqHGjvkOMoYXVtygBEfDeGgBfEpsnoYUSjtrIDoVZ", "yhxrwHQQcGPwkRPrWuDEuEWojKgDvRsqHehKIbUFBCHRncHlcPZGysVfeJXHSQKCmULZrcqiOnGTZiwxHhqEarFjjqwlaQTOnibxwPbRmqgjSpHRCrzpQLqdYdGtFEHfGtbWdGSlxVKijJeHucsUTopDJspYTENVxyiLfsMkUcIjSFnOzlLRBesGZetNrFtdhmuEZcfcVLFoiOjYfWvuTfgBDikUpsUbTDlafSmMKRqNqUQdOwjbpyjtZJMAAJxZ", "OthBTNUoDktLospUxlluBbPbJLauhVxCAfuYArADdSROBnWRsmXVdYkooffErfmttJgzMuatfNKzlgYqZmphteJkVqusXkmPQxoiFInpWgCNnABuMNZjVuWoSEqRjcxfCplhGeXKemZnweMUABcPCBTjsTmZbZDaoSLhJUGmfpsBjxDdxEuElvxPHHtweyuXDBuWmFIXkEyIVrGaKBxPBAszOiFKndCySLPkvkIoQUWKtwelbtgWjKfcLxKvGeNA", "nlTiUQREmmsgQIVzwKGGqMyPXIYoZlZJAjwNyZdLdxbzaIdbwtPMzKIUWZZRipKraAnKIngCOnNXLjVYidIlxbPUgKoTmNsmLxrOmVWuzuvyNahSBPZYTIWSsdVMXfXvIVufZIBnAxESWTlqECBhFtVKBkDUBTSkTLbLEDtCdjTiFEsxJnMFNLMdTTZYYLTyIGpnQDZExutXVeTZmCYTuIaKDZdNdvNmdDmBYAKjwkNCIStseCBJOJCtLOvKFyvJ", "MYePrlFXNTIzbJfFrGeyENMyKkfMAZlwimAJzUVUUYsuJbVjrxyruYVDktfxPnGpTDwKgYRwlyHRKMtVfMFQGDTAMhsCKbBPSLLMqqYSQSeDocmXqozyAZXGTeUbgWKzWhkYCsGuWoTIDyQPcwUHFoFSAkOKOSKOMVzzcUozQrBDFtWUlKCpoUyDryPnpGhKaxhDiNZSNKBNlFxZYnXHsBIgtYNybmUVSxtkXIwaorDTXXHPfAwWKNOEGJMekqzt", "MwcaBtVajGYPUVPvwEsbGPSrcYQXsMChjEhXbADVVvuxtRmlqsezOVFqbuFJfRweBzNrqYNGRsYSmvtgCBbFpxQJzwNJBRdgdsdgFaqYBegYgYMUZPxhBUYJLSKPujsnrBGtROzAtGuXfZqjdZuFuPttvhXFWzbIKLiSbnWUWghvNBaTUpUIDalJJBKvVxkZQPEEJPSsOaIdxVfxfMknqLTeEoadZdAnsfrziSqiJOhfUjRjdvrejNukLcDYxAzU", "jNWieMmuWcbvGolVePdoWgwLHconxjLauFFdruYOCuFfLKjjaXMhSHDriqtenindpjEBlaSrAGeZmvHjFMTAuOOKqFxlXKpsNUagesHBRzARQexkMhnQiXUIKVuAONkaRupjqfVXrKcxmMKlxBKnZpMnvqnpLRfkUWTqdqNzhgDoRnBKyBSBOmenKWVgvFdbArucubGVcLGlTZmWibrbCPCNhUWkKgJrRcHUQSjwYHWZqejDBATEoyDkVocRFOlA", "hjyzeKebsgnCnanOeBzGNcvffBnerCnAJyIApigKdSgeyUhjZeptpdHZLSqOpcwLxuVOdghqoodzTcxYxTuOSjuSxFRoUJlazMyZEzqwbBEONyDARRLQKAZJpfdIWzkJTKEBrkepVANBlvZZMYuGcmzTSRPnmUKFpTwVZzJhAygAKRguFzWfMvoTpgOsIjyGFBmCxSWCdSgRFSOOZcOnjYLXvbBcwKxjTHUICwyslQkboeQOXtZQzwAIDTQDrERn", "IEpXWKJBUOCLnvjLfTcdUmOmkYyLAjECyPBKvrYgxcFHCnnJOErWbyfqcSGRpjtpxNiOryjsWClgjtCuBGyeKffNNbOGGpzrDsGBMtVuMTpgmMsfLbRsFcAFTJeOUYWoFXNnbTbWbZzuwOwOStSVVRCytpkyMpRdWfpbMURgpyMZXxXFsDfThccBZUoHNBaKOBLjULVMMWqeeGwgFfIhYOXWDKPmePwRdaoDMGExViaikxXvytfFTYeyMHLKvbXC", "sDkIkBnSuVOWvJWRsqMIpwdEfGaUqMAIDHPPkAOmDmuqUdhOElnYmhhlDhKGhVwHKwCHIzfvBrQkrhzSKixOaQQotDzztXLSkzKfOOSYGVZBYgFjrXmQAoEdFThRoELSIivHPDeMREFiBKtbicNPSGJJmQPsxZunlRiiaQBESCPesUcFTKQXZQfAECBXPnGcBEaGoUEEBerOokwukoeHHTHOiLOyiZLVbhDkQbuLLtikybcAnXQQShoHwDhCnIAl", "lDGHosAwwqOpoozLYQvAhnWnEnjeTHfhNnARyDMVJJgqcdrQNoEVjJizGotiVhXpLSqAtPcvrvxkXXgiOoNajwsAKZVVNYRFuMwaakKFjLZvpbVVoTXobSpnlpDbMKzCNzrBKiuqoEHdCmeZPbfseGuIiJUoQfeZrPrZTgKQbMRcjyciXennLUZFMHNhKTeEEZHfoQBZMjerqtApGLvsVOLyACdRSzLWRGBAtlQAFSwXHnUEfRPvFeLglUfvKSno", "grzxecjgQTtHFqexSqBWSsirguxZpexoXbmQCVLaBtBcxdqYrQmyJXwzJNnybQZpWvqARbCRjepOOCDYPTrdhLWodUUExxRUMbyKGOYifjGsFiqqnbWmXxkcjHdqlkzszVVTNZyHwLJhEpwZkzhdFdGENmLSAKLJuWwGDkfLrqzyKeMPFGaThuKckRHaVhTGJQDrqmjeMMcCqcEdLVQNZYnlkfUdAJxascQTjQeyFEOeNNVkCsdopoIaKldcemAB", "eMTnzZzCvwqhuFzIThnqxnpFrTQLAGBrOpQYZzUQOVOouZEHDAZxAYxpGfJySDMcqhpPwKvlpJmMQZZkqAXiMWweDvRMYNpunGPskQpdWRgsqlhDfFNqdtMVMNZhkvmeTFSLsQvjwuywyyyduxoRSlyBPfBbPToyQfEvbWfcnNnhuLFqWDNOuocfryOcRGmPEHwIpKKdcxcyyNJOTUTmKXnVNYislZpmviewLgyQCwozDPolurszCDYaAvuDFZnc", "TILaHjcVqAHdJEUerVwuzdmvmvVocbVfFSJjEsGiLhZWZppjhGcYBlVgUDYYLJYjtYdhDKjNMdADFOawiAQeIkhLmQBLtTIEyuAOatqybRtjLwNlCepTMeULiZFTPYeMfHPgpQarNtQpMmJCVIZRGwllqEQfevecUCIkWAroddcGvQGUCzmLZtByqknoKrKJnVpYHJRPOoFiEvxMnJILwUGDQdCIyfMiPHNWwmsFpeVGyZYhxaIGBDmYejAFolkR", "pDICTKfxraKklVywTvqRSbKtbarRgibScJHtXemIJCeogiWwByuVelamLGZcRhXFVTEoRqeceqAfbIaMGbaUyaQsOLZbnwLlocuxGOIXmmkRlEdhpwhFPPViDEfqWiOicSJNNFajPvjstbAvmstkGzJpAzvvQyKiZeyKqpKzlgIpfFeGWeABqdiTsosXBeKvTEpLtyRLxHOgfhjHCGdoqmjhqYNBKvCxKUnDeYDiyOklsJCXpfDuOqtBNTTHEajz", "lomptrhTSkkGnEtgDzqRcTvoHZhGdbgvlXUwsRVvtwPQdBVKTgPECUJHzUQKZUwWkhzeSoNnhdgQnJRLfoRfCrKUXpDpUqNXfFzkwieuTSkAmakdXPJZFAdntQwDzXqHDwbQGUfOYsRdwndzCeKPALLInvChHqCVrNHxsVeMzypwIvqvRjhQtLDsfshBBaaktSwvOzggqhNvxTjueIXpvFsLIlhaNkQYUUABXLBMroovIlZedCFpykGvIqsRXSlV", "DPuHgESkCDULVUOQTAWYYUMvezLggoBStlAJtrmljmkBHkFFURHIiVqSlMpsHxgGNgGLGHDPVvbMqVEmmLbeDzjusOxQtuJYLwcOzUGzvwPVbXlSNWEbIqjktUudyfBLArzYxmANjdOuSaKeNqTiNXYcMAZIYasljKHzxCTarGcnjLCudZHlhxeZphtuTQpFnzCctGFYPcvnOySsptIepSFWPAuZaONrBYwwUCGBLiRyfIRGchDrQPMsYiENQcFy", "JgGCcEQzrwwqVenPDTWycwYNodAbLHSlJDlJUiHFwEwJSzYcSLOIwOqZXLOaWpbVpmANgeqmrceGnOtFFJRcqnkabgPqMAujLtvfWaeBlXgnmwOEUICbPEcNIaccLooiMJJlDaXlrQxjFJlMkLrOARqrOruVabiqtIRKcuvEXpKxoxKlPOepyBFWJpIWmgHiPEjVvJkLjsqnAIXtIXidMukGyEfjlXDYjbGlswXwODdrVPlBsMgbzczISyPwJkCx", "GoCfvLgAbAfqWpIgTlEjvrGNDWNwBQupyYhNKaFtGXEfSOabQasfeHYItHSFcqDLMeTXGjbLVpcqXzjNsDSWwVcvhRBPtFUbdLEBQUlgdsEJzIXjqFOjuBLPfDPuCBfnEtUumaJdRyZUdEUMBWAbDGYAmUmWdIBJXfyPnSAqEdYUQLqyIvSXsVyofBjCghaEazebgTEJjwVbzjosYAFJJBekQaVmXArZoZOlGGUnRJKqsGozDVfwuZPtCLPAriPi"],"c_map_char":{"c_map_char_1":"xXCTmCXjRU", "c_map_char_2":"QuksadxQpN", "c_map_char_3":"fyIUgnMnmU", "c_map_char_4":"cHALuQQzem", "c_map_char_5":"QscAiVPplZ", "c_map_char_6":"bmtAFINqjU", "c_map_char_7":"nuvnhisRXZ", "c_map_char_8":"AjAqAxXOXi", "c_map_char_9":"BSidhJgESA", "c_map_char_10":"mNhOaxhjeX"},"c_map_string":{"c_map_string_1":"bQkijYXGQyWcxEasHtWKKhsYTpDFNwNrGDCQzhySUbPYDfLwFFSjEgndZAeKiFROhHkDQmpRxpRHrJbxgkbkEvtbXvCdSEzETsxwlkrMdOJFIgLIRZlGNpLvIUiXAmmRQcfSIHYLpCJcDzpxKlEpeuTMkyYqawAbVIJfEyxaxhhWzDYrtqneDEPgvbUzrlNQXwCuVeSiYopJVxbBOcMwunkvWRZojcqXvDYVgxwtwySlPyJoruPCONCBRnuZJjWPNRAZdcICxlUFjoDqktjBNADtRhUyVZqJOAKlvqIGIZCLhcsUGmfhDeWmJyYlJyPqDMgZxkpuFOigjIELfXnelbUJBzrgjCWkFLouFAVFyqoDtlwTODHBzXvQXsYBrOoWTzwHxKtMDAclubkNUSUDQpyVNxJeqacFCRJisnDaetxfGBtkFbWyoDutxYNUvmWnbDoGGhCItApOIelrVFQbKvCwlYWFFDMPKrJTpMfzxnwaEraSAgFHJfdsjSwEJciS", "c_map_string_2":"inVKFmqGXlngoSiKzATghxKWNaWcRUJeMHDelOklsSUlrkAdZvJosLtxhbKQSBMIVUtBZbEEKijZronNQxHCEpewchLHAHpZmgFVUVteCmCDyOqsVHUdZbTlZwGLgIqtxAcPJHsxrOiRFrwgTFaoGGBzRoQnCFjLcUsgPlCOCHCAUlRXCYoMwJAgFzthiYzuLIelgVrWUrJeaJiSTWEVtWMuKpxwUKxoaNiKaEvIdmelQazHgMPbKFqwgoGWiBqOpzAWiVvyybvsvDepmlBmJzjmVysNlwFzCtURqQhIKuStGezZKigfUHnUJMxplrGVJceBLuTmhsxcxTvRqoKShzzZkyFEYjvNKkHCBwwwhKZQzarZaRojZLCzAtqTsNYmxcdYiESXMpikifJSnykpjyJgBYvKRQFhumbvYoRHUockyrICwjfvxibOttiVnkmKoNrzvvAvCxokwGFwUblsGfwrvdlxNhMuznmdbdqqwVpuVbmTovFegsNXDMVFfzHW", "c_map_string_3":"pUoVRJRShTVNbWYzxQWgfXfMNPONjExMiUWXMPUDHdtenBPSuiiWSkzDjoIwbxFIApTWRFjeLKHORIFUANBOgaOVFRXorSUqyngOuooKEqJqVjjhZpSXLqmOmmerZsHrpJaTRgzkhXiaRSSvEUOjhFVDfhtiiRBVQjtUYYzQXURtAbvoMPQtpQAvQWUiyQeuCEiATiFJbmnNDYPoxtxqGJUPaGLJCgmczKQSrrAgjHINHiOqKyrpxiaLUIqRJDqfWCOmmpPeaxSZeBgdFaQzsSiVZAIDLIigGlBfdMTYvQbjfKKXsUoImQtLtkVZwEighpwbqSEAraquIQINBKSfLYbtmwnpyNTXhxrJASSdcDBgbJudvPQSLehMfPSLKMePuEXGUkzmIRwnPmICprSstoeZWIGwbwInAwEWwXtXArPkGGQUZzXcwsQfPiFNRxfogCqycckCqfREnBfoRZZDBtLzJxhMRjImmIKkmjcnMJNhOSEBJOYGMvXcUdXTzviR", "c_map_string_4":"yqmiqeNjzTlALZPKkWkXaDHFGxNCnBjBWXUYBpCdRclranNLjvMDduoQqDmNcpFvvSTHprrWcnWkrRfJzybchJzbSAxnNEQvFdTkwdDESzZWGemDWqKjUJUxMOQjnqMQRFQFYlVmLqEdwJEaWRRfjOeQvdwarQfFMbitfZJWwamVkvcpZZIFCqZWSXTsoEzZoyzYcUMtjinJBfXQorPqlyYKZZqUSyEflUGoIzalAsZBbBWtCtaVeUvaOhEcgCdcwlouhRCcWeyWyChxOwWgKNVVVhxElTPLcIsNtsbgwCCRcXJMdYaQtTATZiCYlTUTrYEMagdBvbAtsLtophRpdTzbhYwDABGeayFihMCBdVbppQLFuWscxcJsQnttmLwRtrzWggMkpxujZTWfzxZrCboxaHKKdISHqXpqKyWqRtdVQXmslEBVyxyUeWqOjKRKlvVegWfcARWXMlAepGSRESEDpqQRNCjfyamyUYjsIDcrtINyDRbAbhWRzosiRLlD", "c_map_string_5":"BsTOeKOhPjGyxQQmeVXvfsBSJuqrUFvXMZrwOPmCuCVmSegSQIaYGEGIhFKFEwLOvUhfaaCyWwLeFqBgNoPLxVHirNRjOrcunJdOWDqofTkyQlHREiEprHKWMmqHGhEplgyEnYDyQjRLEMZYnNfsrubIhvEcsoLVwKAqiWIpFHLhFLbmpiOETConHUXzGBvJihiPoaIBroyqBJCsgAqTxcgGxtpQpTHliVBJTqeQvkpVntBKxLChHxxMPQBpJJkiHgsDoSxRtPfZHVcYeFnyuSXEowoqJBbvUFPspunkwkkMBkBZQbeydGKEVvWRMIvwDuGnPrGUQQSfhHQPQbkZDoLWWejyimescGgYOLZkLveMJGGILsCoWHBjufyhSviSyKmiqeUXTBieGwxpZbdWGyvjfHnIEMxEfRzzrHTnsKCtatgheQgdWHdtPGSHwCvZwSvAerPlFfgNtzNbUKXWRcVFBEietUgJBfDSCkZsUroxfdjbdXAYElqGdTkQteHv", "c_map_string_6":"kJLvIpNDNUZOFCpHiUcBANtUkbLGFmLTcOAZYWUeWJDmqfAhQUVpBdqkTtSUjugZSCSUrGHEIrWDxFuqkNqLwFnkufXkgNuSbyUgiXinLIBTYgsBPMmJUNKUUwJLRrtvxjiQHhMTrgVUHFVSCgnQxMnPkOJRRlaKYmASMkFfBRoUhNqjDPBooKZnAzSrFYwSEhXSrIEzIeyofIRzkObsEkkAxRIXHpbrDaGazXaCYQFSLmcLbNKVezXOzxhcZNaXdPXQPBCwndJLlqQLlcOvTqdOYfILtAAArwEodyXwceEjqcUeSngVWiDJZoXloiafzfiuaiOydjOoPasBklSLfrPDoTPMcCZxTRqKGDIqeclTRzsfiZXlrxWMLuAIXuZBKQkNRlpmpuRxIJIvKxWPqXlwluexiUngvOiHBIEjMtgOgEsBeWgXhdQaWgTVSTETTuZECeLNChHTimZsktBVFQnFmWrYyGqlrYDYxIQAUEjfWNvMdzSvGLqyhPwhfFeE", "c_map_string_7":"ftYLfjsRxziLYufQsXItWJltXMMXpsYFJrXXPyvuQdhgkuYxRXoKkFlIEYwKVvsPLHEVwNquXbXrvsmtwuFWJpaScDnNXqIkXvjaUsbZFyVJaBxtRSrvOkaLBMzbARgNcBygnrmGRwmBojdcBCqXduQHGfDWRhOGflYOhJprwHAoRzuEgvZGQANtRbffvgobXoEePXmzsCnmOiDQWnpNaORrvWIiTbRekOfETtuBKXrLSGmxHKrUqFWwmoNFANYTXKrlTkAXNnYtZtZzpXpMHPjOBQurXcDtGTWfRgoCSRHvyjMvNVGqPgsmJYjhEnbzAhfFmElCdjbeRGvPhVNThCMkDWPxPbldKzcRTnSVySaHDfGNFIoqMhflZcHNfCzgZlzXFQBFwIQcSGGZoZnvIxtLkAMnHGKPnTSaTURDPMzMoxgYwWLvMmPwOlmrqYBMtPVblTzxrjSpghLxfYJFqLYDAiOkJemoaWShdvnvrmNPImPzLvmvRzzmcZoOJihZ", "c_map_string_8":"dFWHPYORJexxNAnRZmYVOlrqHeixuoSCKHIVkhjXORRohlvSHnvjwGCOcnMVOQxcdgUBCIVbMatRfAPLPGeCGnWMHOdRxDjAdnGuGTAchdqtkcLqlQngVoWoFCqQMciMbrWAuKYjyyHgRUEGbsWgxDYgoRqZkSZNoQIjWsycOIRbVRVavmmJdvbVQhevvQgSCPVPmJJlZMgpNzLebYvuXZCgYaGDpvPPWQTJlDjxEbUuKmOyVbpUugNDIflbmanNPDnNJcgDGuiXbcqYsuWxocYkXVontRpzwHmIfceMPYwvwcwmdlrMYmOdSuhBwzbhFnwiqiwqKfswNHPltdnWgZApFjBcDBOwUwgWMovzWlAgMGhaIDqiAjtLoqEJvJwFVezdGAygoShqenEhZXzHXRIEcRDMWgNyAKKIADYMuAUnGWvktoLWcVvQZTnWTQOUSIHhSEcoGuHNVeEIAZyloBndquoDGsxOzanQcRRJaYJwfHtvBKOcDQpcoGemHDhn", "c_map_string_9":"lrLUSxXbTQVPcUNilNbGrqmQinEVcQVVDRhSvbGGNJAWNgklhQJKltvuUMtkXtdgajcZdNxucihmojrjPlGGNcwIqZMLsxKLucEaTmEfxgmdixacCoTrjjyOrYEhJwYuLdzSMVLrGEAvHcrKDgjeCAtucvoCXHjdaQqSvRTRseaornMBzQolMWFgEdLeSiNaSElJuwzDtmtGDllvHBHLSCUFJaGfyJTSIKmGQXkfOCcxnkmvdEYVFEdgVonqlVkjVXxehQUvbvPKIWVsiGjvspOFTzOIHfVRwyOrnSLLhdtQyHyMgIyYBRQjAreyFQAsOjHDytujyahpTfiOVFEdNQKDUsAwtLlrbbXlGoXtvVrHcTJwrzyhZJZQzqhJYmEVMlSedPWLcsNegSwcbYEHmBrWdhXLWaUWRuSaYrEwHdfKUWUvxvfBNHKecePXmhQaVxevkfMCZUhTNrBxGhyKqgnhfGBkqhKmpSpCOCpVkfKTYTvvmOfwEeXhskqCtvTO", "c_map_string_10":"apqzgdFSBRhidwkZKcDftaTaeFcgDftcsqqPQhkvSwxBOTGpmsAqskRXXIQzrMtWzgfknSVyGwYeAYFHECvjnAHfWkPcjNnbQWrTUztkpkOzqZJwTHMgXrhrETtgJcybSjyyDfyuKTntLBwcJPgcuVRsrJpsyvPjotFVjSqZeNcfaXxdmBiymeiVOPQdZGTYZAbVUrCEuTZMUhjKIkJERNjvIbsRdfQZZDkowYqkfyBXAudDmmZvDqpCZOKMMaezTBGqGQCAjyKRkvdjKzFWgmblZezyJBYRUxWRfMSDIoTLPqXsCWbLkfjlLljSLwVxUfwPPscfQLeCXbiMJBeddYWFkbBnSsKVlXsSrIlZPUZPzfNyLyDoFuBMYitDrnSsfEaLNQenerkpFgRSJRxZtLfstARXrqesnLVyENhhWnvKUQiLbHxuigfsqmfVMNmhOksZmRgckFlaXnIIHYZaPfUSPSsiFASXdnbZJPjjHmFYaMMqlqhxxxeotwnugeoI"},"c_int":-15229561,"c_double":93.97824538454081,"c_varchar":"mean","c_map_date":{"c_map_date_1":"2000-05-14", "c_map_date_2":"2002-01-26", "c_map_date_3":"2019-06-08", "c_map_date_4":"2019-09-09", "c_map_date_5":"2017-10-15", "c_map_date_6":"2014-07-11", "c_map_date_7":"2000-12-18", "c_map_date_8":"2014-02-18", "c_map_date_9":"2013-07-17", "c_map_date_10":"2010-09-18"},"c_map_decimal":{"c_map_decimal_1":68.1703, "c_map_decimal_2":74.1836, "c_map_decimal_3":84.1276, "c_map_decimal_4":64.1116, "c_map_decimal_5":72.1372, "c_map_decimal_6":41.0758, "c_map_decimal_7":72.0188, "c_map_decimal_8":34.1512, "c_map_decimal_9":14.0383, "c_map_decimal_10":53.1733},"c_map_ipv6":{"c_map_ipv6_1":"48c4:aba7:af38:112d:b1b9:5eb6:b3e:f9c2", "c_map_ipv6_2":"e5a6:5a2f:1e43:6b04:50a3:b6b1:bce6:158a", "c_map_ipv6_3":"3631:6765:4874:3ad3:848b:9da0:4b:692b", "c_map_ipv6_4":"f5aa:58cb:d6fb:11ed:1933:bd61:b763:6d65", "c_map_ipv6_5":"62ab:a778:bce1:f1b2:744a:7982:f654:e351", "c_map_ipv6_6":"9d26:b380:113b:2cf:8c7c:c379:c6aa:7c73", "c_map_ipv6_7":"85a3:eb:7def:d6e:d3e1:b98a:437b:a8b3", "c_map_ipv6_8":"192d:4f82:7d86:3426:b11f:1a43:f854:3569", "c_map_ipv6_9":"b3b:d65f:7513:c009:e930:b301:cd47:8f6", "c_map_ipv6_10":"d41:8c27:7234:9ffc:2fe9:3f2:12d2:12a3"},"c_array_ipv4":["LOcdYhlDFk", "GLCwevcRIE", "SDdAZKWLUc", "JFFVSUwmgf", "Oomsuisreg", "xMmEMmQOIR", "lslpytOiyG", "gkOmaPTXiD", "XpzmBXJNCW", "yNwFlSrQTD", "qRDFvEnQfc", "XRGQUrKzuV", "cLAHnekuYa", "vRUBvHDCLg", "xZCniVkXiF", "gcOWeUDgwB", "qVngwqgVuY", "SLFznOsjIe", "IJAYJdlCcP", "qIoBmUbtQK", "KrkYhVZSNd", "mRqZPcxLJb", "kxQNOPWxxi", "HYwOAHQuRC", "rMwjYPdGKS"],"c_map_smallint":{"c_map_smallint_1":-17956, "c_map_smallint_2":-31303, "c_map_smallint_3":-28179, "c_map_smallint_4":-3572, "c_map_smallint_5":18088, "c_map_smallint_6":2347, "c_map_smallint_7":-5765, "c_map_smallint_8":-2364, "c_map_smallint_9":23195, "c_map_smallint_10":12106},"c_map_largeint":{"c_map_largeint_1":8692836829010298881, "c_map_largeint_2":5256015689511821689, "c_map_largeint_3":114822909961581938, "c_map_largeint_4":-833119896029887565, "c_map_largeint_5":-950223132320013810, "c_map_largeint_6":-5580905579629979001, "c_map_largeint_7":8469725421976733939, "c_map_largeint_8":3403371251165524749, "c_map_largeint_9":-7560997487917195738, "c_map_largeint_10":8049005708706213214},"c_array_double":[99.00396588392158, 21.754577411249432, 95.84596379725822, 89.39355615257087, 100.85621286182342, 66.50665083121403, 37.63660040970513, 12.089804135320945, 54.867593959191595, 66.43148750899013, 82.08463150019595, 28.313326019888702, 98.80117706042348, 5.099880054016086, 45.95095312989939, 92.36628483652275, 60.01377784434762, 22.043408564783423, 74.08609604022165, 52.48506939184823, 64.45514009106117, 87.73517534753265, 12.890346835275878, 67.27095201068853, 79.47127739126002],"c_array_char":["OtBlmPtTFh", "dIVJAXjVXx", "ZZdPZrbkXS", "dCIpoYiiAA", "BmhjjmpNJn", "QvGdJRBCzZ", "wPetxKLvSH", "SjZWuKwbIv", "EhHKelSxYf", "RUdLSXnGPI", "SZjKkhFefD", "tFFOdHfKDh", "rRaHcrUbGq", "fwkoKXCtrB", "qToXfGgMTM", "DUcpaVVDCJ", "GBAAuiJMoL", "NBbtHWEwRr", "KAlTCqwyve", "NxitIpQfzg", "qYArxBuzrJ", "jQhwlOBTsk", "yuyOMzsoBB", "frfPbDgzWH", "zFNXUVdTSg"],"c_array_string":["POkKCjZMdiSqBaJRtWvUKZZBruGQHFaFQiMljnBOfBBryLcwSnENtLDqQQxbBJKLsrLVgSUaQNjvMgRkAzlazGgefulQPxsqOLJmldObxLuXdMWZUdikJTDhpPqsdudSBlJoYorzggPjsByWgCzbqCtFDBpjsbwRnohjqGfpPUEVkKEplbOQQFPPKfWFqnzFTOdepLVfeKSiWRUPTzXzWPoqoTrvtiiATLNnACWFSGnBnSABdYZzQTcnmernJJJDQnDXqEhqltLcPvzEfsShpLZQxukxpwSpmsQAQhzXOWqmIjJecTtaGUfWlayMNVCfZplkmlwtFgtZvzCBcwDhcIlqaOwSGRvysuhKCxbxiwyQmgXtksUlJBEoevAeEqxDRESnbmTWNGEakvbhKDyXQPQGieKaFMoTqAUajOMdTWjFypvQupDnRKStqfAhGIzNUVxAmpaDfBEbwukDRTnsswUHyjEeVtkHlWFEdWjYDVDCelelHzezwuOtkZqYGeFB", "xqxJsNjMRmMBEyKDztGxmCgmQpyGoPujPeATbctDcqfiAHsLIpMimLyePXHDktqGTNVnpqkHtbEDLVRKFeJtkixrDTGDrAWtgSBQibYCicnkZGRYHvgovDyEGVgzBToXzppvWujXwggAlfwqcrGaUSLBiGCoGvBjOhPcsZdgCHbGNTTjXepMbWXYvYfWTCNTcPvyQeABBeYVTTdbWKVLDAaPwJQaXJXBcFgeYXJvlFXXhhxMrCIjMECTXjsykrtSMGGcbSrFmBkwJKRAMRveWvoCzTuTYLNlBKQJZtvhcrbhaazMszbEcTUsfVhXhpAOFBrvrCSCaLBUeGnznmmJowVnirTTzecxBPAPPqkNTBycKOTIMfiSSVrIHQuIEpdpyeiyQLPnOEAfimEELyCzUAXRXWPxHikzUDAoGrGtsRrYWNvcZwcRFSudtOtcBaMzSVoUczSienQESoxtOghidIEZrolyMOoOMTQidTWJCgZiZAhquZqBkWUnFysNpdsM", "HUcRjSUxoRVaqbHppBbnaQbfHmiARtWzWmqkzJPeyAOZMLYWzgMsvQBcpfPLZNxQffRrkaxWkRObhWjksvKqymryzTgTrKQNgGbVMylODbmKIeZreILKuHbzdWqnFrNiXoLWAlosgPfkeVfKMYIbbOZLMctOhawJyvqdDFUpVwJBQcvwNCIPOSiMOAWhAAyRUpcyHXdALrpsrxsSXDfIWWefsSsIUiJIGDgfRCbzFqocagRRaHSTcOKjkwbLtqpfUYzDSQJxHSBxKEkzOhJjvVtTNjSzYzthbiyHuIpwFNVngpGopshBJynrdQwuEwlesHjBMpWOmzTtefsNzgPoHYcZiRbOwwIKwatwyqCTwvUuflAKnMXOIUVLQAJvXhTOowvxFyyXUxEkeElSUvrVlbfaXjXvsPFqfHYzjAHoMamzmRtEUNEwVChsyCfxwRfQeyMJQzmZgoXgYiqucfoddGOKLlVdJMhwkKDvRPoSAnUetUEbmgMGjPyvxGtjoHfr", "KCUoXEvhqgrlmHrcrWHYeoKjopumAHhpfoCbGptzDhqzsxfoMHMTzzjjTYHQMtyvScTuBxAJcOxQcyiqZFryqOzLMIlogdMGWHDCAjpNkRBLIJgVZzWCoAVzOYdFNhbssBxOdkVSzrKsFHfnjoFKEORlmPkHpMZiBeUPqPwdXDpSFHpBiLlXzwHJfVgTUAgjKjSiuLTXtgOByjAksNVDopXVqmvIKJhuliqNsHyzDvUltTYsYOFwoyHfwLVPxDYAMiMndQJOLVIhKUUpGpDZVLgbZAfFujASnqmZnwEfRtAWWygmjFhLUMNBFRvurqDEXqdXpVPZKqdRXDpLCsrpEMFlWkKXdHIPxmMVtWrWOPmzjsrCZcIfPAPbDeKfHXsNwvQLpUAQRyZoGjQfvVjNCNGMJHvANeDULQuNXCavQWAVrRxwAFKMaWogjgkHdaRJznhQfqqGJdVQhkWuHeXOUwRHUUKTlOALinzhiIMAIKPYkDYZuMQvMJvKIGDAIbhO", "iwtuvXhgGFWgGTjBEpmBFdwMQicdOtwsVnivnLSerGlKLAhSrEZZwcDUceIoPVdSTzioHSwIbVIJsMYUpYbARmUHBtkyPRHLrnYkHXLYeYINitgPDtgduNPjqyyMIBplKdoFHFTEPcVSERuwXbbqlgYKlRFyKiGESKaByNzaXDZyZrcNJOxSgVIQJVvkeSHfQBOwrSPWKkaOYRpglsXapNXCsgRbcZJPkjAdTlONWSQhuHlFqSWDDhIdYBoPNymSjEKStcspVqtndrdCIGTaaVGnoMyhSNvwfgXXgDSTgEibreswgaSZfELtWgRUrpDeeroUbESzlmRmFjLseSveHoIthVyaMjnmAFUMnikpfPdPjzjTSBsFhjePduPhqYaBVDzFgZzgpRoSAZcFgqMlZHGJpkhMbLGdLRAVmVJAPYwBDpcnwCvYMhbwcRcAgRxunuyhWaYQUdDRlnhOUKxXfpVIgoYbMQNzFGGhGLcwqgMkmwlqLrXuAoPKwoggacdu", "SwFvLoBpCsvjsiBQpaCVodoAWvZDnuxpyHFFUlobzwYFgoVUFstfLXrUPZLfSAxMCOPIjFtwBSSKGrPIWeFbnlkYbuzRLtOSNiZwbrKoAHgkSAuNKpHBTZtHZomroaaDOkENJamxWrWAeUfnozHgsDRLtLBgncZbrwlFQMdfWFDUUkWqosiZlftGWGWRHpiUfodsJhIyrWFMSkXEMEnsVhdvwRcglqKTUjvPUIRVBKfPtGCczYvNMFKaAySWjizqVaFMBagnvrRTvpLyWLNFHBUrObWSnyRUscHTlxyrXPEmJoqSItrLzXWYWgQhOtkRluFDueqVWdMZCptIgKqgMPEEwDjqFwMMLrumWGCFiTpgqMGlsCNJziTlfeNUWJZNrAgpUdHXklspdDBIapuLNZyNrTyRsHkZOJsJApfooivZvxnKGwJwFybDndFCnaIlPxPQydIbDTfSjHKDmBRCbFGhMfNJMNutpYiNYaOzjOxJUbVBSGqklFYOBiMJLvEk", "TtnMkLWGcSdAbjDjJbzlnQlAqrPjkbLShhPECeGAYzjxFKocmtBuKNJevdeCPEXXOnhzsfkpVOCnKmKGJdCIMkZEKhnghkDUPkKJItVomWEqjAKFbxfwncnTDCpbmcWtQLNEOEFgjIUvqCGdefNAeVJMDkQVIpGFiylDvgnkeWhgOpLsrjEwZUJiPiZRfkSQXJJOtvtFgvbKhcksWADNoBVFHBUesMeBlfPmaDjqWhjTVjlqaRiKWZCrUdXaddpaMaEGaxClSVlyZXQJherLkbMTUToXLYchtSHZRjOXwRICmhWXJHmaMQzlaexOgeZrqluGxJbCZyPiCIDltextKMVeUaetsZLXaBQowrYiNWLLpIkealEMLFBbXiUSoJsVuLjLEYQZjjKRBaFgFqFjCxiXXFZXXocGUqoerhaXIWdeWULgYgPrgJhfZynuODntLEXlilCttEEuHovlqMnaKHjOoBvVrACRYOksnxPKRiVzDMBvgUGAvOWbXNiFeeHl", "ngBJZxciJcGOYVhRdLwnbBtWvTCzfciNHsUQdoqjIdfoDpyapHxPGwHysqopJgnEFXBWhkbxEiYjcgdplaQqAjAvbBMEumqpvnCIdSSrEfrYIOlKQwaQLgWAfPEjrRXqbwSjiMibRZOuQtOErcFQSLFqhlwWBFArgalukBGDPvnumtMnfXJxwdWiblXSAWVMCLYHpSDhpfTZjTmCQLPQiCUyFZrkdZUqfjnfOaHckioDnZgYIRTOPRzBjzgVLWAtlUkDSoSOBngRAeiCFdeOxObWeacDDaxPqyTiOHjtskefLnaFmtZcxunmnNIMcwhONvLbrrKCGLingmbasIwkkBgKbdHBwNDCZRFKJuxQtXxMhYMqIwfLiuEbXrkIDUShWyWYkKUPYHpDSLnNlkEfMEeCFTizzrXJyFXSggiuMayqmTMpmcNxhELAjtDKuczSuZjGQVWJqgjkauTwKHSITEqDZTRwsGVbJJhcRozYzQcBxOvXzgCSQFRFNGQNFIcw", "sFwoxjyqDTkAHpjdtSJDpGrLeVMtNVbrWBJNusjUibrvFUpFSBJtYpszyDjEGGNrErXMxbtimxwIFySCtghCHCFRmTLULVFHkQfUExchYalDjkAdiJqCmjhLFLTezgAjvvsrlgemChPWpPlOKxJVMqmasmDVLipiZXSPOfFBYmwCWEsgRlxYzNtPwGnmScFgSqRbtpNvsulYbJTtUMAlgCXWjTZWzeroBWBVLyDmkmcWeGUDbSEWpeGAEkfRSTunvkRhkeMHOkgfsMMafnLnWfPzThdWKgmSPaFBqOuObSFJlHScmWgQyTbzMNVqrQrQSRlQadZVgiKxVkchHPwkidLipZAQUcdXYWXYVmKXCqRmnatzJeIbbLKHgoTPuUnhfFpqumjtPHLGUDFbCaFYxtaGTZlWozjnuppSfhUTaTcMHNZGLJcbVvSZtRDvcPLtJlWgufJaiUJZqvPBFUtoLpcWensCThRFoJpfxTHITqfHeNWrBJYKkGmlEQSbuWDp", "DDhqJITKOcrBfrUIAmITfhIXpgtYtsCtcvkluLQUjKvKgzMIjQGOsMQaHNFBqKsdUnMHoimcAPoOCgTPbxRNMHRqGCGqgXkspqbWWglyCGHaqKwrVYsSXoZfRKEXuounVlROJcZWIQhuQpndVNCtMuAwclWTmQfPHtyGdkHHqOQepfMqKVQUlutzDwvbyrYqGHfcpEWXbEMxnosgagMwXlDtOsPzyfNHHZXXyxfvnsayYjPXQjQfHWlvXlDjOVPlnPIijVnNTDSZqkgdjxgyGrPLnmqaCKmpHPiowXRZAoFhyLyGaalQCsVcaNUySmTxztrqkYjxkLpYZbRDkYPcbYPrmAIDnxyNWsTQpvLZPoVvxcTuiMAmGdVlAvPQvSKzllaOGUKuFAcjNtzmUSsDbsEfBtMbzqAaqvcECMqeDzypqnYiZboqwOSKWQkTSLwJLHOCjxNpGdoAYBKvmvwetBBEjBRiuquZxGsxgUIuGLOFYkhCUZaLRVDPfADxIHFX", "VLSZKbDlIewEgEeegKJblKPwEkZlwdiLkjkomUeEaCvbBggxmsCNZNmWvFNHvtlKfnZdopvpYwEqJgViSFYJWBylGKpDPPHcFCFBmdjLzpVpvPWcNKwnRdmHogAZYokLXzjsMipegihVgqlKIrxJdEIvwjmekVvXewTtTOSORAmfWZvSKjoJKcwPOkXKVelGuutWfxdyyzZIIMhipxKjAxkdEbDqPHQsYhmjjBFzSbMdgPjsAxgGrTnRgstclrTuibTPkwDJyLURYCKDItgLnDsxjsQQDjRgSqSaoVMjuyFbBsvqNXHMVjOGMuiUBPAVMMXgCkcLeiwCKEDzNjswaLdvEUMEnmWVEiBOxgvBgcaxwfHHUeDTvVJVbaYHKbdzNROmuNSSYwlzLYlkYRmEAYztpoWzTxdDltDxErSWLvpAHScRjzkgdEsnARLrIIGeXfBPJORFvxZwNmwQBNOhDAPswAejkpQhNxHYmpfmPCnkceoijiPRodnyUXnpZcAu", "EYYRFvNVDqCOvjpAxAptCXPVLtrjgKcPBMBPfSDxaOdCtndvwKWwVXasANQLuUGbHWtVFtTaVqZHQiwTqtldueNwJmuNOXNwfFzJWFIUWjsZYKOguEIsilRQKXTkNstNhEqervHRKdbolPbIQfNGdBWauPZokVOCvXgJGnvKtsFzYaRsQPTSrMUDhzvrhjymWCZtaUzPddmHcpSDwEkJlVmVJtkLOpwEJOeWdpocSZaLolSJzRJEwgnjvguspKOvjredTWcVeAFhNHbGYbcJzzbVHTthsuMHnYnusCqoaWGZfqQyxrIulUDyymhlhQHYVjxfgnneKSBrZVmZpzCBpEaZIcflXpqhaIvLezzVZApxbVtiklwwPBjZGUvgPCHrEwHRVGUsOzFONKygJmTxLwjDAstMeHTniuXcVZGtSaPzQxyYJTvpeQzytSaXyjVqOvLDMTwMIUDWGtZfpAWmGhewYzZmgwBRXjirhAXkufOGhhemHNfRpzJsihSUxeXY", "RYzaHiPCaexOTSamgkiJyGSPIbKajjzGYYGPiHADrSUKVfzcNgcoHhWWnVpfSJaMxQpFCllmetxbCFtIttPXFQIOVGyujDbECFUArtzcJOjZyEfhOIVPxWtyoNVhgaebNRbZIiHtWZeZKiHSzXuLhIlTsrynyOagpdxmtQPMtoFcJZFaTIULWfnOGZzVTmbOpBcRnUESynaTTwyefiJSBmzoDZQtvMEUfpxuiakzLxHRSpnvmEdRspkfcJtvsJSFjghNsTnqHDkaCUTBeFjQaJkZQyqEFVnAlSlVUfsQTeQOUTmJRGtYroklQdxXTZQRSDkJXYbJFPmTohBITTdGjDfYQuaOBNLQhBVwaQSMqXDGzZHpPNWKysZFtWrixwJkjOzccjmrDHilqnsHKCmNYlMAqSpZMkgQsXawYJZdrNBCfIRLJvucdOgKnszzVimcIkVhxIEIlMQNkZUnWOlQJvqWEdtBMxSBQTuggdCKICxzCxzyHBzcVXtABobAjpxN", "zRjRoArSIbjNfcAVAPefaSJSBoHWXSvfIqBijDDeEohTVaPYxckjqVIQFZvtqYAkspjKhXPUwUvKaBllSRvmEEobHUgdXGFiLYYjigtOlinGYLGUOZXxVEwEvNqCJdvJwBEPcWrOwmVxxAcfKqMCaRTlhqwCWxVySBtTsoxhKTGhajxPRWwRCJEhMvgUPHbAflKkDgkIXVdRikpVGTJKFpgowQOmyTHLqAGyviJkfPGZqBRAxQpNdKXHzMgRhfmqQItlSShiueEPCuVmEKjFQdObxoozHgtUIOmaXABveCtRpovXmZrPhelcxBooZnGFDKfJiVTgNtHMoptnPbcjfTtuqUYPzABMsqmdemynLkvRMoMAHxPrAjSsIOlYGeSYVkQwgDfrXlurunFdRCKeEOyqsAgnbRLYIsYNCDeGPsGTXFplygGOnvzrDwWsviqrNPYnmzPGhsOmSamAMtSKmznrlVnVoBFMRXYDRQtPypOWcNAXRryDBQMmedHEGUGw", "thMIePCbdgWpegkhNAUZNcvMZSwFMaCCfvQXQeHpMHqSxVFfkfgdDKVKYEIyHWxsRRXQOMcDlYexiZlkyAeKqZSErGbTjVOSEGMRHaFJJAtYqZpxDQYTmyLKGYmJLViwUWmbSHOiawppibfblPlmDQkKcZRQxWXbGpLdRbEKBHyvZBJXLDQAYbdshbrrWYOHXfBEvrpifowkIfmrVYGqYMQgxpvnIvqPMiRptUpKMglilHynFmfUAFGtLYsXcnTOPevxwRDulvHeyECFHVfatKpFRyxzsDdzEpGbnrKRPGtrzioNBWEzJuzHbMqptKVzNcngYxfbTMCGBOWOzmlXwQVPhRlgBCupVsJdyPPUebEWhECaVarthLhfFTtyRSOjFNvzHuCOUaMnssSWcbCBDYYFTgyogpZIjVDkHzNCeHxLbdZPTvMdxeoESmYvFjvORIdWXgktrgHqwEXszRJIPeottZDUrJmggPBFndPUdIiuofnMOFCsOePPWyUJGFUV", "ZIabelLriFiUlUoIOghuGlZQPTmiTkFCSfiqEHnmZREAVDWVUBxnimZcJNljvdIBmKQFUlQFhDPuneYUmKxflEQiHJCNsuQvwwtRWYNoMcYgKtgcupSwIKqhYOJMPsgptJbuIAWrtkYgIczCoLUZnVPVHurGHNZENJDFNTTXQVDfKyYWIccUzTXQzaWIBoSfwZlSiGVBPvbqGLeebAXfOGCXsqYLndiXOjcSPnykTmhzFiLAjHrMozFmqUyAbKPRvSKNTlumkMriyWtWUVlEhmnQSrTDXZGWDFbJCaIYkvqxkoCcFphQjLzfHGwSJTslAHwffttIpbddvyegRZmakgkejJvSFfkFuQKbcTmIRupCIirUsKEkUDDruNogzpIIvrteTNKLjZMvhwQVRYfFvWkTaneLrfkaqgCtYiRIShfHiDEqqyszHiXBFllztYLnYwMzSbHcrxMlTunomETGdaWRRynEFdhGQIzGyPyGMRKHFDjYuAhNKTzLZmKfCzNI", "YArwvbddumoKKOesnOqrViofZPQYpcBoeNZERclsQUqBCzKlyZGaiAQfKxQhaSeXGkIQdfLanjNhvkXHtFjGhstcQfXOTeDFrhRaeChMsoApvwSpoEeLhwxwuwMNINigCpNFqLMdZLeecFpbDXxkQyYddjPTvWjJvpmHeILiCSVIuRjPRRpXlTgjJdcRpgqnXtitwlYwjvBLWVkxCVmdOfmiLBtZKcHoAsUDOVoUwAixpPNVDTrATLvzXlyeMjziLqdXNbtehgiRyjhWaNAPCHjWktpHuLiMRppGZwrvjIEiLeAUcRDEzPXTNtAWFWPjQLrYuuUgAiWjyiECBuXCvQdUeDfekCNUdZzGCBuTjgLUIzeaYiZEYweboWqKnTBMurbpuzlLVNUqnhsciwVZWyKZKARLoOhxSGYmqBmNXthapBJsxZWCvgDiIJSkgyzHTZmiHfCOUhrtQSZCnoJmdXVlnJghxKUpoWnrkHIABrvhzRqTtoEMLDJZiboLTQZQ", "GOkETqYgoBNllaWeGkiHULuEwTMKMcqCIAJPGfSLJKuTgXZuZZUSPAaCAqVdzmMyrUHUxQAGcgeCXkakUemlnGZCaJnCesquYbkhjacBRyWUPqePQMGoAWCMoYIFSdIOurOitLGFFKULPDELgNIazlDJcDngspIXWwsYsvcVGCgdQTaTEkDKrYbKQpAhLjcgTriKAKEvCbQfQIMmRlhHmlpPUkuChKIwGaCfqTLPWrOfGaijcUxxIYWrkJYTUVIzVlZhWGcPAkfxAQoXGGqUKbokNIdDRvKbrzjdIOacMNjKaSLphRnvZoQZEtRVwJlMZnAyPiClEGpBiMnVOCaeITBEVOeyyOmuIgrrRTsfOLCAVhtVZMEOqXAsPjghHJcQvIzdbSDpRlDzEScNQYeUALOfTbOwcTccpQPQvyJLBYYscFrDLJtVFdykZVAdWOdBPtWpfuZnwwmSLorHVHTfHPYosVcxnFkJRpMZFXZTRodGzIBpBfFsIOUUaZTIVWWX", "dEyUXAwOvMWZKQhcemfZSznTezCkKKPXkTzRzltCCRmtwvoinfXsydGwQXghqAuaXsTIlgEFuatXdcgoAZDSFVdhEutcPqnGVHsmRDymtrVSThVhkWobKgdmFBaMTEdkgVJbBDhXxfmlaFUpgtVnUJRgOaubgGMqiATMERCCRLbDnekGqsnOPFIppokGMrhuCVhspekrZDwjMrhIQwqwDGVNzoBBvBhqIlsRkJDhtPdDoiawbGHNqIaWhbkobCnypbBbQyuqeVCmzmgsYhCPqggwMnRhyCASKCoXWtdfJrDflNSjyttuPwNpEuUEVXWMTccFPznGhuLQwTTOGelrQEepTcLhJIbbqVzQNsZywvhzHjdbrKURExExPDPyrVoANFkRiVOXLGZwkdawWECXBtnSafexcdqSSSiYwrBcCeCVrYJxuWIpCmbelraxwWdIRFWsPqciRbNRWilLJmubFtVJWvUvxcxHPcdZwoDrnHzPXGEnajeVOwRZjIoyBhrE", "GMnHNaiIyHCJOTGLheUjbwElBrTBHXljZyWJoApaywxNhlAvfTfzqCkwrRkfTLshGRjThpenkvGQtmydkMFOCKoCtgtRKzaQoLGSUzSxEWuBfgsuDvbuHuvGLmpDTlVOUiceIcWlAYIOICqMxbOBtChZrxFgTSJWZqzFOEZOPZcRLiZLFudlAFSszedkjfkXSqAJqRZUVIvaJyhZrfdyWAqyxGnXcPOonaCBTooLyxLVmgSkznEAbRCnqrZoLwuZfeWTAlkysDEveazYQxxEbHNpgDDUAlUdqkAcZtHiDvukYARFnukWEyUJUlZRaknVZsLKxfDHGFWOWlzUpbucGThwSXRbAJwHhsIMkKTqJVXqEOQJoRAXfMDxnPtpVciJHhELyOPkiPlpMqqtVARTxmJFnThPjIBiiweyzEaNkMVKIrvvGoXQFdgSkLdNjTqRZSmmaeauzBMAVufBLojEhyFJaYGvwSOtwbddCbfAIZUqqJpAjWiSZSRfJaElhxSu", "JSpNaxqiGlcbnnXSkOshwkvnveKqnQwSBZFofORunKxVARgNWduKbuMaczmTxNsyECFlJNrPvqrZNPwfTvuyuoyyPXDggcYMXRMaWXlfUniPWxETzXWffrPmDRZYXMEGlsnVXPoYxCwRWAvlzCdIShXJuAoILyuMIpNvTlezMfzGpCHvXTssCzaFdmoZgwkYiPvywCIQDyIqBdDeDhyizNRTOKvMHuBruKuyfSLQCXOWHiCbGDaVaviJxMZrcmVDvTYQxrnvZswrYZAJOKMqFFndcPOjLJNXpsiVWiiQKZombEllLQtGfGMHYRsXBDEqaCBPeHOvoLbqpGicppaeNJpaLQdisJNBmUBswlJlkZZxPSHAnMCtgyeHSDhjXzjzKroPMwHLixrteAvTFFytaLpztVmcLoSPtCbCJcOzSjZFgFibGkKnhtUyGoUMEIFhNQwhmyrkrZloNQcYHFxDIuBcdThStCtGkHnhpbNGqWVHaCFWBkXaXkKdaNSLWMth", "ulULpkNcgZsNNERbNGildtRqohNpbahLKBXhaBoBRXLdnlwKwoJhMoEJRNVdSoAVUrNRmQEtQxqqQZddrrGLuxZKXFfZiTOCaewqpFGrqXrGcRxKdLdkkPgJZLWboFngQvHLXIXIhbhzlKwNnGVtCAmWRaydrLXVhRaAcnlrXkFscxjgdrZVtAhzNCDaaCMwgswkrqIkTWvOiqAXiKyvFVTgiuMfmNDNsxNppaAtdvhtvWCsgzPcJZbMrsHUamqHhfaSZCltJENIEdSXdFTkyXTOxcHjEYMNgRXxREivnzLxqkAkfwqQymYcbwSRAoDCRkfJYKQuVnCAgAxYWijhRlSUHJYYIDzvykDxBkNBvMORkyoPqOxlkBFgdrtrFDwyBuSjlvfQMFWTYPTVkcBOZCMubANcMzpyicqXNGXmZaeeRoYkuaAeXkLtNNNPcChIzcuqiNaYwYgHyqWSewlyBAkFUaqkFaNLEEhZZYKsQGXYMJXIFacsThkCsYGOOGxn", "fswYxDWeJuJmzYShZKgeINZgczGKtDxMsQTgIQlgXBhxJqGbVzBcSFQuxhMTlbXbRBtCSaBiiDCSCEKtzYLMVuZVZsksHyCmbJiRcbFtmRPrnSievhbJWZTKxLsHeiTTfMucEJATgztRjMiLoWkJAqZCtrnAregtkpsHTcpzWtqxdppKHXYHAfldLdUDuQSQJmFUegCnDRpFNOQDntxbFiJHGZdKWsBJJpnnIApUjOMopMJjleOQTNiGeUMwHlDRlrSmzZPKOTCuZhgTiIybEOBFjiovabndGkSARtCsUQYdcFwpHxmytnFgUFzliOfOuwJXXdyjAbmrcUDamAoeeYIYoHpaetSHaXETqXsTrTyzIwYDlJfiVUCIsDvmOTGLOgsEYeSIWcTYlxwtYkDmgnMoyEbqcuYRPAJZMlxTKnQIUwNKjKyziPyGaatztBVUbdnHLcNAuVknhAdaCOPDqHGdmjEMFuOCXndEQVucVhpKSjdmKhYOoYuYsMRlYwYe", "nvOsotlsJAeyXkMbXrzXqpLOsHCGTEaRCskUYxFohOjTsPoKaRagMaFYzWJMphDnvTBktUlarSVRyNbqyPFEuwmyaivQRldhRaLwnsVKWomXEgZDOEAlSkjdGKNkpQRiMKhviKvPTBMVSAEnbFJjgzdyyvgnKkgZFIuWvGqAnjecikKTFpVhyGSGasKBsTRhttsReMszpjjCOpaoRzVbuBHcuZUkWXppPnfWEjxVVDYOVNlyRbFyrGNMASkDTbCiaYPdryYBwWTPWcvjIualTBWleqFHWISTKlhozSlhSDJiBITxgXUzvAUxvpUnFHSMhhXDjpZBsJsGHRSUgxLgOBinnenQxFENSqNaVOlKaIbwwqbSoHVUNaqmkynDzEuTNEVrlWBjcdrbkSQPGlxqdtTGTJABhzyHemLxvNSpiEvGlfRPFgPgYtSfYxxklbCwnAzrHnWUeYwmViaWziwUHADaBuMsKnaRLbwhQavYvJsreudLYIdieMYRjliiqLeT", "xgMVcUjQUxRGyvozrwEWxciuOSGMJRMaYpZrsAoxbqRMUxzNlbJyHGCVIpeXReuFUTJcqKjhlUPJqxRKfTJijsyqDviecfDVVTGHAHRXCupDBMZuTwFgYBXOwwUIWXFkTXCFAHINwFPnIHXvamKHmJUrLudoUGxfuhkHzbtxLksrZhEMNPgYXKhyaWZyIwMKsLkTSeewfTZdbaPPTHBVhSaOTAEcgdYmxGuVGfVWHThOmkIKUTHqWDxXakBcVUiupQOZREAFmIHAXryZuUVIRiQoMjAFetYrbuckIRecTjnCTLAAaTqzksxKvUCkXaXCXHuwOHKkzEaZGdYHZphcdSeWgCBeiMxaametYRNLNpJGWgpaPSkOjIYiGdEXtYFjZrXGbvIwaPhabvkeNTAFLJCFbqaFFZfMLpUrweONuLRRYfSQziUvXFGxluyoQQxUrnLEZoYDcQUtRzyaAQHVYjOnybXtSviCvgibhQTMrvzRYrfooDzyfVdiQSToIUIr"],"c_map_bigint":{"c_map_bigint_1":-4018616795634710008, "c_map_bigint_2":-5686535609512403646, "c_map_bigint_3":-7785097305386496674, "c_map_bigint_4":7200774278522601969, "c_map_bigint_5":4807719165102218752, "c_map_bigint_6":470084117943362370, "c_map_bigint_7":197758736274782144, "c_map_bigint_8":3057122017553674030, "c_map_bigint_9":-4178006251592287169, "c_map_bigint_10":-4251648945086637916},"c_map_double":{"c_map_double_1":88.06202376237798, "c_map_double_2":82.84215419407289, "c_map_double_3":66.72747328222493, "c_map_double_4":44.376591562230686, "c_map_double_5":56.84024806580026, "c_map_double_6":22.903995375460887, "c_map_double_7":33.888317809308134, "c_map_double_8":39.0203017275361, "c_map_double_9":6.097122600138463, "c_map_double_10":52.05516921664361},"c_float":95.10827,"c_decimal":89.1574,"c_char":"AruOEGOtWr","c_array_smallint":[3326, 30188, 16936, -25599, -11600, 2872, 20880, -23684, -30916, -1336, 10294, -9436, 13441, -32092, 30777, -31559, -5267, -25172, 22158, -21404, -28870, 30944, 8535, 30614, -28177],"c_array_bigint":[-4161667378767809628, 1375555956769064585, -4480815935458849767, -3814846892967165832, 1182413262919852055, 3274834178222703116, -3951593393750723879, -4470884354036515652, 4181175387256211684, 290908273463971246, 5420622978974122754, 482820220046331456, -5994640295126678464, 6852295285413637074, 5520558162530818442, 7985227445289093312, -5907346146296170485, 7356598176876265132, -5502005926312852981, 719923965871810868, -3589945043571130177, 6240108665607083094, 590849009317258026, 3042804009284763208, 1057669198605567523],"c_array_decimal":[100.0088, 46.0438, 10.0160, 96.0256, 48.0824, 91.1295, 48.1209, 1.1612, 20.1832, 49.0906, 83.0750, 22.1394, 62.0628, 55.1038, 16.0252, 27.1358, 35.0696, 33.0884, 60.1955, 95.0949, 80.0031, 60.1415, 38.1759, 28.1643, 67.0900],"c_array_date":["2013-09-22", "2003-03-21", "2002-07-15", "2002-10-18", "2007-05-06", "2016-05-13", "2015-03-11", "2012-04-20", "2001-05-06", "2002-11-06", "2014-07-05", "2007-09-13", "2001-08-26", "2010-08-08", "2013-03-03", "2007-03-18", "2015-11-16", "2018-06-09", "2014-05-07", "2016-11-17", "2015-05-24", "2001-08-10", "2017-01-22", "2012-10-02", "2000-08-10"],"c_largeint":-743208740120820435,"c_date":"2008-10-01","c_datetime":"2013-11-24 15:03:30","c_ipv6":"92be:c20d:ac74:d106:ee43:4abb:4002:b156","c_array_ipv6":["eZorBKmXSW", "mUarMXmmBu", "AyyxzEPPxX", "mrPUExUlHT", "apnBTGrkzG", "wSkzICmEki", "TPdmBFeLhS", "oFaoLpqTBc", "azMbCjAVWy", "pDhETrweVU", "FCzIySEPsd", "WkYzTgjEnN", "boTIpfkQDy", "BuWTaCbLpd", "sgQczoDHss", "RiYRvbZFEE", "uTnIKyjFJu", "GKeFyhUYyy", "UxUCNDGhxN", "ecjWZISfZc", "yTgZVgqlgw", "DDCNUnLrUD", "DVxYzIrtvc", "MKTHJMWLsA", "gdEJLwARAW"],"c_map_varchar":{"c_map_varchar_1":"LHmwYqZvjjpgCjLKatvItCVhSksrmVAkpedSJVgKyZoFTUXBbtByqAPTfEiDXHCCybIMZyvfBgpRYeObaHzMDwcikddycyWMkriaGMbilWfaPvaFOrBQqPzxVHsluxGDQhbsmOEIXwnMJOeUvIcheRaHJntUWNrQPPYbgPPaLIbPnoGnPbvNDgefpeXpOJULnFgaFgCblSgBtUxHKBRcltKlDBgkuzNIbWCrPnacdwAIvKXqxdjYCjlRWRMDZIsZ", "c_map_varchar_2":"aaAzRpBibQeJXTqOuwStALVamxbiUWfrcKNAIfvQGCfdQaecHYQiTqnHVjDOnGkMxQuRqaEhXFEcJLNEOfDfhCzkjWbzEntccMiyIHvncpXQFXZKDXgxeoCNYhfpacgBXGvbHbyopgASPDvQhcagIpByndFtWRpURuOlwVGRHIomkOeiRHybvuVOlLnQBXTsjxeVTtkBTVCqkCOwNYIvyNQQYxTgSnETvvnOnHUKHkjijsnWenHDKYiqBkwSRGxh", "c_map_varchar_3":"dkfaQPcnyaPlwOgdkBiOXndADJAsqNtVEHcWWQTTtDAbGhFkSAhJyjoedQLSImHCIIOvrzCnDGAFxVFKIjYdDVAtPyRoacoYxLQzOXbFLdEeaGPRwRljsvVjGKvXpDYeJzdochDkJpejxFtIvezXrsDZBfPdwoSrQEFRKQATFwkQtzVVOOiUAtIFldCDUNQhVcDktZyyZXHoCyerDTgaJgqHicchbXsFELmCkqjMGXPqeqnKtKicbNLDqrHHSWkQ", "c_map_varchar_4":"JiahEKAgnuZyooNRoZKPlZVraxrHnmvNMKxKxUsvzNAJTklGQHirTGqpNFDJXRrQfDsYQqOEYVBfBHFsRRWqQqPOsJGLQXSpTEEIrxZgdaMmvlMxwpEMzfhRsjgdTpyJCKjnuSMdkXoQVkcEPzQQztoErhMQyoDPQWMaWyjYppYJrXeRxdJANFdxuRlVkHAWAvfOpEXBQqqcyBuvSAPwXKhgvnFvtFWtAKqUDfRSmwEcxxtzQimHEvJMydYxChbI", "c_map_varchar_5":"WHtDdsNcdgAuRItMwzoLjJbrjAsLcbQmGlmWZSSmPYbcFiWCqHpChbbzYZjNxhlHddSoaUNtXInTGQCMzBUHfexduzJQozWlbFoBumocHdyvtVDcwNEnGNAtFVRiJctUHdyFJRNvWHARBzIyRQHVLKrTrLRAPMjAoGfSefKjrLbZDvnUnjceSrSUNqJTgnuwwLuXaVeempUGyKXJABZjDOBgPHpvQzOBUOCdNxipjhGLqjldtAPoDgpisJwcGNvO", "c_map_varchar_6":"DzfHOKIzpYVuTBHvmhgSsZIjSrvQRdEriPOzegyefmxLyqGiELpfCLlMQzmlgZGDreJGBCxmzATlcJHVYwIoViXbjAOGTkKpbCuMtaDqIEfZiUqAzoSzjtoqunEwDfbxQPbozjXAIXDtqdhMokGNRxABMhxXksjXGrxxznwNzYBlIwFdQnAXypewQuIrdHxtQkRxIkHrfpKIpLBvAWYPNiCicKdhdsQidrKpSJPypdVkQgSOSZaMLLprDokAIfZa", "c_map_varchar_7":"vwafLKmpfEtztIDQgyIThzqvRJGwypokqrIQpJOxStkZRLxuDAbKdKQjOqDVOKSdYMXYnfRZMWMokNwPsWJIqxMSXQYHnskJUvwxjelxuCEbTQIvnDIToBcsAWkGBKAjdQzQHdonebVCQZQhjJIyvKZoEdVezlrpyxLEvajMIOlhDnDXqVVCnNvOVIMoGwjdSeydbZgUeDyPdydRQzpNejIptQnyENnsdcSWbOUGBGBDkXFWnzJhHucQgWeYjNgZ", "c_map_varchar_8":"QmWIrihOPEAzCcsxkYNAZJXMFTyqWTjpvuzBYnbyTtzvqbzSiblmjuMdJsWKrMRJEkLPRUHPoOHimvbCgLpBfCralKROhQAMBHvNelsifhnkcBdHzSQeIhgwtyuDHBgamRzXLmaApHiytovglXJgRrgFMZOxfRdRYPOiJznnujFRTTWnrzchzVEFviXnRWYtHzfmKyBFyOKIrpAhNFgAfTlgCffxMEQgBfQteIVLNnBFTGvoohfVCJqgeqaRjFok", "c_map_varchar_9":"VgcrwotXPyPzsAjVaNeSuZnhiFZBhskFPybDJNtyOmKmmuZDZJYobdSnkEGEuSFFaGpCZVXbDfVWgnRXswGxahGlubYbshZnUsMnMnImEBfohoiYdnUzmjnNQumaREUQRcZqJJHQyWTObEMgelxGSYlFnCRocfVoqVzaJxZqnWBQGYgWQCgsJsdBEBAEKEgsgfVVNCdudlCrKoIIZQVYpwbDvSZKhLXcZXnzDmNdaWxTwhhZHzTlDkqnFVfObIAd", "c_map_varchar_10":"jwsChzWlrAHYhkXuRUecwuSeRUuGaDjOjPAJfswmOtSSBNQVzsEVzmecqfkKCaNopokCylMZhhhiWkAOIKbYCphzPevOYoXUQbRPdoONyRbhYulvFkyYsnzoLEhjdovYpSbRqBLnPCjAPAPLvRziBtdjfohUvDJUdNxzpzpXobFzXoKlmiWgXenusmNmqleMyQEFqzSbXsXtgPyFiEUkrCxujHGYsmDTpnVrBRZXMqPjomSvOOvuerwORtfmWnwh"},"c_boolean":0,"c_smallint":-20532,"c_ipv4":"191.191.134.212","c_bigint":-3105474765556270265,"c_array_largeint":[-7141963531992504025, 7052968343362906421, 1091974683326187790, 3356421060213806304, -8038796080599032305, -3866245815635202359, -7587953123591942195, 2681299223015273861, -5952802283253058855, -7109375611981720647, -542060535081182917, 3921568605473307238, 7027396862394929130, 3725464416013483002, 2094160588476541239, 1703578662918686978, -3769927478267452050, 4961486294770074921, -502900544091144496, -4522238702909361099, 8289802646559626124, 4039902552520197344, -2042099273074210659, -4759795394938301393, -5380378083617041661],"c_map_datetime":{"c_map_datetime_1":"2000-08-26 18:02:36", "c_map_datetime_2":"2011-09-07 00:45:24", "c_map_datetime_3":"2003-07-13 11:04:48", "c_map_datetime_4":"2018-05-15 16:28:00", "c_map_datetime_5":"2012-10-10 17:08:41", "c_map_datetime_6":"2002-04-24 04:02:43", "c_map_datetime_7":"2002-03-16 23:57:34", "c_map_datetime_8":"2002-05-21 11:48:50", "c_map_datetime_9":"2007-01-25 07:41:20", "c_map_datetime_10":"2003-08-18 14:33:37"},"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_string":"MBMgFHefnzWCWCSuUNZWltVGtaDnbkBpCDHLGHiHDaljMkWAFsicNxdHwcWrrgRHDyGKBBFhRKdpJrOTxYUqMtYCUBUWmTFYvrXnMjQkjkYlzjivDhpAoqjddWeKBYfivikpqJpUVRPDzOtZaSrUhPxcKxYNyVgabGUjIvqoVNhRGbZDdmHubnrQlfYsceBOuDiBDgtnAOvUykbBwlcltCNIgLRHljhmrBJVERzCewzgMXhDzwvWVdmnzDSXwSAbZpFEnoqzSTnJuzQExrLQDTSIlkeUfAEOnhkwBNyDzhHXtmwLOpxADksNBkSTzTAsFOSmcZuHoBJUeIMwFqQFeacieaqNGrTjhTvYpuwZsPUJaWPhyfNhOzFRAxGHznNYUWVbvywfSbCqmlauOOKlYQVBxdLZsSqAsoPzYvPmubJolAzTvVuFxoQMObEntBpkeiyKbJREqWLlOKuHmZbautwLUpBMVaRWWlStrYlBmsiytSyWDKSSeFBWMxlruqoe","c_array_tinyint":[36, 46, 87, -30, -110, 87, -97, -47, -40, 20, -72, -104, -123, 70, -11, -100, -5, 10, -124, 36, 76, 98, 95, -34, -19],"c_array_datetime":["2008-09-17 22:41:06", "2010-05-20 04:18:26", "2006-01-26 03:45:54", "2007-06-22 19:42:25", "2014-05-03 21:31:49", "2013-09-25 02:09:29", "2011-05-24 23:56:11", "2010-11-18 12:30:30", "2002-02-01 07:51:13", "2012-01-16 18:13:55", "2005-03-19 17:45:02", "2011-07-15 17:01:59", "2011-11-28 00:02:13", "2001-03-05 21:23:05", "2016-07-20 15:05:41", "2005-07-11 13:19:35", "2006-05-16 09:42:42", "2003-04-21 16:00:38", "2001-11-14 16:07:38", "2000-01-15 09:05:10", "2014-10-06 09:00:55", "2002-02-05 17:08:11", "2017-05-02 16:30:21", "2015-06-27 04:34:07", "2002-07-01 11:25:15"],"c_map_int":{"c_map_int_1":2081399704, "c_map_int_2":-1653065282, "c_map_int_3":511060114, "c_map_int_4":-1360427235, "c_map_int_5":1681167456, "c_map_int_6":1288502575, "c_map_int_7":-1499404232, "c_map_int_8":527152979, "c_map_int_9":1253521255, "c_map_int_10":-509167995},"c_map_float":{"c_map_float_1":95.801704, "c_map_float_2":43.782417, "c_map_float_3":61.133068, "c_map_float_4":49.469433, "c_map_float_5":56.561142, "c_map_float_6":25.35584, "c_map_float_7":71.509766, "c_map_float_8":15.19563, "c_map_float_9":72.23936, "c_map_float_10":87.58572},"c_map_ipv4":{"c_map_ipv4_1":"251.39.121.4", "c_map_ipv4_2":"215.20.87.199", "c_map_ipv4_3":"23.152.243.231", "c_map_ipv4_4":"122.184.132.125", "c_map_ipv4_5":"125.140.112.119", "c_map_ipv4_6":"100.213.5.150", "c_map_ipv4_7":"240.119.116.134", "c_map_ipv4_8":"26.214.184.228", "c_map_ipv4_9":"197.134.157.228", "c_map_ipv4_10":"75.23.215.12"},"c_tinyint":48,"c_array_float":[54.68243, 50.073853, 89.113106, 6.758355, 81.98889, 99.126465, 36.034683, 31.091959, 56.92396, 62.067223, 3.2618456, 32.372154, 86.11532, 91.91437, 44.070908, 88.19677, 64.24103, 55.940876, 97.61685, 18.693869, 75.32196, 35.11008, 45.141846, 86.88964, 7.0300975],"c_map_tinyint":{"c_map_tinyint_1":33, "c_map_tinyint_2":48, "c_map_tinyint_3":51, "c_map_tinyint_4":101, "c_map_tinyint_5":38, "c_map_tinyint_6":127, "c_map_tinyint_7":111, "c_map_tinyint_8":99, "c_map_tinyint_9":95, "c_map_tinyint_10":10},"c_json":{"minecraftmobhostile":"zombie"} }','{ "c_array_varchar":["cywhwSKwGISjmCisllVMGwNyyfmZjQaWMGMEVbBTehgbhZQumkfyBKhzXQeAeKciUqLlQCYeHNugXsipmfMatEYvMCdULaQLDaxtqTWnGXUtewKBEdQERSQsYTlXMehHaQkMekfgttINHsEHblSrDGTUrqWxbykpizceWYqOkuJIeTqJzLmoPGuLpDESJaLUJVTTbKRcBIJpBrrfeLwVcMDFueQrkinuvkLUIuhcRgXGKVLHmdsHJpmJRkvISYSh", "KMCSRogRrSDBBppamVewqkfyHIgUaBKBRmhQfayzvSxowRHasUrCgEOHhclExVLMYfNjplhgvcCoQMqYfOeimlIqFGRsAtWcXfMQazCrBAOsAMHwpMBxUBZtgVfLPCGpVxMwflJsNgTUgqsYseWUrrkAYdDibVJxcFCTXzYvRaxPccdzTXRFvCEDTWvzBaXJpviWTwbztzjeKSvUikuLgDgIXbgCvCiMzXjDAQRXItHphNZMSsboGZLmBHIpPdCq", "epnriiRZEHLOfRKrbeHLOwxcfSMTrBFWvPUlJkKIGTZCsxHWRpCbQSKGVkCIjlFLtTrFUhsmpoRAmkEurISIQjjJYWPfqUJvnnsYVRpjgYphRFYsRWILUMcRoeZwdirAfusrjVAEftkzGiNHpKLMvBovqTTWLSWvhjjnnzgQyonnxWiHWsSfriLGXNcdHROGofnnMZauaeSTICKkCpVMZHSEVxegBzTlTjUDUusFLctsIjDyLpWmNipcjGNjfJJy", "tSLZtphLWXMJHLybauSCABHQCJmdynuVXBjUKznbBlGQIulLcZleHEVVbeGpKoyxUzEhyaccZEXRUmSvoGlYynkEgpcvLyvDYIzsdPQTSDciphdweVyTGqaGVcyrbqyPFxokTMyaELBFxqzbOAZwVVvcpENchpKqFeEysOXyqMAHLdWEMpCFlgjamUlcDFCaWwausVnOrfzhhkpGsfrRVTISYVBXAOImMaUXMECPXzQxPVRPmFzCfhIJReuJOBYL", "ZaVStEQmSSiLXvnQjQVQkstkrHekaEAuwIsXIdlzkpLMWZpHdLmQJrFvlpdCzQfDDRlssqsXLnBgZkytyqADhQnsRMYpqDRHWaESuLfgWDotySnCHMWrzlcoTEatoJMuSlwAZnhhxwDlbTYFYVirjEIhdgHgJkfRjUlECvpBiKNgMMpdsAeCgUmTXtlefplCEEpKtacnPSCvatGrgZHLFDgbpvKrCKcnKCLvDyaAnhByxpWxRmZRYqOeMFlDpqTX", "qBNFFSsEypFLHQfUGLgyjvtcsUVucbQfwulgewomyyWcLJOOnYmHpQVUzxNtUkdwPrNzjDYRFhQbQarMzyFRDrwTJngdCyXhbORiLEBBebVFGPwmsHNRifsditNmRFHmRKqmBwEhgeszwrxoUiuumwoXnKUETFzOGkxStxPegRBMtdtIRpvBeBBKCYfarCReWeFZYHDeZDeBrMDskpFtLdMFoPolsYwaaAPyPwHoxbnXYKFzfElzrJqcCSJgKwGA", "ReTpaoXRlGREiFOlPlGchJhjpiVtHAmcxHGWRRjiNifixUcxzOEqXvdwUbrzwLKcSmabutstpzRjwVyYGtpGPBZkSXSzreOWakYtDhgivPaKTksUWZXvBUMELHDBgcDGeowITRBkgUVKfhAYyhlpHaVLKuFdwsqFirReisCdXKsdnUynStYXRCMOktWWaIWOFJCczSgovhYGrfTsCXKuyExFhVdiGOFnTXBvQFaKFFtmhNVRRlHZYyDuybZbKOjR", "ChQEXBaTAvinACKIByMEJWRhgYijsjlFDxDBZhiVaBogbaLJBEwvPYrrwtqRJQAXfVFYeSNuzkDaHkfUidoLrrIEHXjIopCBNRXldHQoyIyYjhfgxRqlBnBNaNBmvyyGajTfMdPjNmXcTdiYzkWyfPgIjzQeqWcjZsCJkNRaCAFDTTKjPgyqGtsSwDVLStIQCpmpibMACingRRZHtgYSczKjQpumIiTTzhNlqInUIAWonzElKCKCstDTpkVbQIIo", "DVMFAlZagLwVJwHmxbqOObBSmohalTFrXMmGnYkyMRBADPmLUcEfLytogdGPaGaUwlKFwzxrUoBytkAXRKjzYfjwOAuJnpnSVcnGGDErcfWaLHwhvNAKDTaHezLLGttPeZZOaKdtIDzXkBltOuTlOLNEPlogKHcYdkKxrUsGqBnLvtfKFJNuzomziohsSmxpFzIVFzXQTNxulFKKFovOtLUTcnSKLDOZQTiPDHxLwyMxWvAHuwFQtWvHQgQsJJbE", "dOciNPPtthbqBYvcLSYVkmkhvYyQOHuQXUPInQLHsaEMlHUrIdHPcTpMyJpFRnsgUOxJNzSAhcsAoRUuGUrPKSajoMUXvrPfKdfaOwepEAqqxcItdpcWmxQHPqLVtPlUNJPwdpWxyJeTcKgtAxswmqnwjXuXvDuTrhTXeFaRBrAZjyqiZOrnDXUJairhEwcGSYvKlDysfqSQuSfKMHRSpJnszlluudVKzsVivHgVMUidrcmVIQuuJmmQazxCrbhi", "ZLJfHKJrdhNEkSacKRAezHwDvlWKSujxxSAiogwTaqOYSuClrGAqREUPuRVDCqLjtUMRDBCzCqQMAilGRARPqsJMbEnONEfTMEcjUEDXUgeCEHCftZmIBcmGQiBSPLJfDfWTMfFSYknVKmdPFHryjiswJjlbSgFeKfdGKieMFspgUgPUUYAczUoUzkpBMytJWJAMumEjVhKBicMSzFiZAwFatmyyvMXEVfHLOkNQVvHLqjXHezGDiNdYZYIgIFEI", "mPRyTZAppuQukShREKcwyPHkXJxucQXYvEUUdXCLmSEQtJCLdqCZlWaOBdfbYumUeXYODyvHUooYAnfKOQrVKTCJoepkrtvqBuwpOqYRmQiSiijiJeCaIOJvfePlhSROsqHgwdnoOvXJKPoNXkRVtlayJUGKtqkEvGriekLtUwoLjaXUsOODfbfUbmbMtKLazbWPVWineotPHxWqmlAGWYHusxEVlImPESPnfsDpmkvauuJxhTxpgKWnKLvYYNMr", "UMGfxUDoMiTRWrVRsLOPYXGzMvdFSfUnzjugmnCyOCvrsORzBDymOPnhpPCadPkMruoZYYTxfveeGsKtKBhZdeiAwMuDrsPWbyzGyBULXWvZSSPNKoVUVYSHFllwfhvmoJVrltDqybwwKnyRwNpcetfwhSLCuzHJYKbQAsgiiuOAWgrThllFYxfUzRCVRzYvGwURayCzGUJyFxhCPfYULTbvLwxZbGrWMIbSdBWleZEQChFHaPIBMByLKtTJgJZA", "kebQGJYBIbhUqrMIPUWmVFChqdmoDqLFLOOWRJlRhyEPGVFhgolgFIMxgBcPlnVHoyumaXTBXnNLbWkdnDJNYhGTuqbwkMwtmDHpPTBXzXiiifMWBCuAJSGIosAYqERVxxGaUUEMGyOYfaeFydScBYRwXzKigriFhtiUGUixsnKaXRMfzpztpFbIoeyExJFVfPmHInvsBNKYyrYONsazHUvsAyPyfvAIFYqPPqELFbaOzCeJRnMZLyARkQWPrkEZ", "TFVcIWlPiVsClYKxfDfLcBKVzEXQmqNooXjUcQCULHjXBOtbrQTtBVdTRyHDOGvnsZaGhZpcaoItanrWdJoDzDVKyyoYNKgCnpsWOjIkxSHtIPQutXjEsTiBdTKHukhmTqKScTiMwOFFDZynOjeVPYlNFffCnlteQsrDkLjKpHCZRpWWOZtJyGAlLszRZXntEsvnXkzhJcVEfMcOFJAEuPgKRwVWQpzXcAdeAjcfXsdjtAqyGURMIvagaBZrkbYr", "afbuZrJhLmqTBDokmVsHpPWEksNKFRXAklkQzeyvqkYCAEnkeYeYvxltYeHtxtNoMZjNyObVHHnUPNYLExizVhsoKAriEwdZVXBDglEoqHjFjwrweSAyVnXFcxCMGhfhQfIOxUGaFmZzAdcjfrgkOntgIlLlalvpeZPtqFjuHSuEwWpYYAYfPGXLKsRjdxYejFCqChiuxfrKxDGjazpdYUijwwrDvyaNuuamYgxqzieCEtOHDCSEtAvBdQyHmmuq", "ZKdBMRqPebySbaDjUIOhPYYyUyKJNsXCKtZZdysZAIopkHJVBgGSBCbJROAUbGEBpPcGBOUzFEGYnMjuHDVSxXiEedALiMWUEGzptXJFMhpEjAyxuqcATyVpkPtUjyssQTAmIsmMXbalXxEKFQAHuzDgTvvgueKZtergrAepOqbayXiXMCmYBAkzTCqctCybMbcXbGjnlWdxLpnzEXNRTbtMnxySvYmXvymlNDKsCqDxEShLLmIZMHoOMheWIuhP", "SxJhkJrxgGoGQhTcpSyLwasmnXvDkyLzklUZxchPPTsMMMSlCDmwzMHFEfwcGBDbOtqzmFSdlMpgtmVaGZlLeHdhgfMPDfEchfzUvdhdwgtyYygjewsPRoRAOjEeKPbGFBHOyvncPXZGWRmxcOFRDSDpkXpNtWqjTwOfnkqVHBGPgumQHodSeEcAILoFyTgGLnVIlNSpbvXwYbEQGjuvoJannUIePqRoGemYJDipfLnlAlYmTVVKhqNuwTrUpsgZ", "FOPSBBofKaxoSBnRYZyswTpEfLbNjjPlmouqAbIOdVBBkmnpgymViTtGtVAnqTZjwnXmGjYmkjtoQVpJtowcWHCayRsLUlxfRDtvpZSUALhnNYYngehlEHXvDyOMHRIOoiiNYhpDMrIWOdJewphtJjielyhaaTVUwEivTPuuvqfXILXebwJuCMuYtHPWqfdaDmufhSHLkxCREhqqLJhYOViJUgBHbPekDYRFnbJAjlXINufbukMlIRksuQtdLXJg", "QoCGcdeSisQUcIppEUkZvhPbapHYsqhzZrHSaxJpWSipWRabbWwqLhnXXwWnJHTSWUcIsaajayPYJwPVKKninTKmWouptyXqoMHlRymtaUEsoaYYsTenQHzSvnKeQZtZJLKMMjPQbmQyTqAxmPUwRHINWCxBaGviLtOIOlmulsdStXaNaWAqiVbCIoXyGhMbYitRQAlTUjkMKWFSVMpNfqvRnXNdeTtBfeHricnerztxWUHteQhnODykOOCyzBZT", "mGfIORZDpeqpmuSdRojtspQRhshfNKzYZPXxfuVgbhsTJXlbUGejoOYAXjTDwRrHtxIYapcRsSyVjwWEnVnslxZqSofhCvEgINLPmnecThKANXhlnIetmuSPcNINGYGtpuBOCORNbaPCzhTtZGKilBflQbzSNcBFKcHhEYKWYlflUZxFSzRCyspTbiHaSmqsssrigdvxsKQdBfYsoryyhXVJfCGLiSpWYfApupOyKuphejlEzfFIxhQWIEMdmMyv", "dhdXGqbuxuRKQXJpEAbDdUjOrysrdSVvPsaPwBmqHqabbwHAzqrZKNJRKazsDrIkBMwcOnjCzXfhDPuwgtbdRwmqgZnUcinqUvjLhROiydgYRZraNGLkMIcRRaFvzgZoSMvocLfmWLNYulsxAUjWsjLmdRbbyKiZqgNCgVSlrbqwCKsbUVeMynOwofHlKbNwbHjHkprRElsLuYdGKhsDfONOFPHrEyzIICtBJgogWtikxFzqEXcbkMcFtpcXQmWw", "oHpXHsJsCuOTXfBKsGESszHGYMKZXeCDjMBggpNZUFyryZtaCRFQiAdmyYEWEYbVzNKDZtKXnGUdpcqHnxtoeeIxMRgUJTnsDVHgzzZqpytdbsLecpoaMKNirACOiTAfjQGRTzOERZNGDcTGxzJVfKloKjZvjHvVymWiJUqtCSLDGMkCGeNVOKUdzvNMzMwefbFGNIeVMPxlEVlRrQBsuYKakNxXbgXzANauVHlILKlosvWHcurdiHvnmJQovnEO", "VOyyzUmoVLnqnofXlmHVqoqLWIJuWwulzYngagIgXzaGeVyrXOHSgpWwyBxGeEGbUpFbjCwhdVwxOhWUTSOgRCEMjhFpaLRzOvWCDoSBmmGKgknjhxVyDZlNuHsXLUayPOJTfSqXVuaQshqRNMpAXPeUeaxBrbNtNUDBwtlDaJRVjHBNnNgURZWFZTlBKCAXRVaWSAVqNtbjbcwkFnLBWuvszaUysmbAJfOfmrEiRbjvcjJzafxMKtdcdHAyqrAz", "WiOQWmuvVgGyAJLtGADSIwXSWIMMCokbeDaooAyhTxnahKmJOKsyVmKtySOBufLMgQTRCTPqamDWnhLKidPpfUtEOXMahHwaVXEnTOdXMvVgSVBXxWnAEhDjrmNOzSTzjWXhHgLbCIkaPlkOHdQQvlrrvJtxGKSTREITPxGDHQlztNmszvRxAsAfMckCrqnnJMugKrUZdJmDdjkHNhasPFYyRSEVOWImpxKROljLqLrAfjflyMKIfoDVTwlEcYGz"],"c_array_string":["OnlnLWXSBYPrOsowxVkyJSKeRkWwgBtYzQdfFeShSQmYogLHVZcmeLVUMtgFjDSaFJfPaJrNbKVUsFSNrhxycXwOWKLjIFQBEqljWVOeUVunAsQtRMsvmuJrkwkbFSMUZFzJjYLFvkmFJeKaQnUmvdklRKGdycpGQrUmhSRGcaLCYmulonluNFBGprkEUcwFjYdKzNaLdPejBuzyRYJuGqzAcPVdYFcIelKEUFYGoBtaTHKDCPcvdcsLAEANJbZkFpjCMVRTYLcxcKGKLVVfRrZAlGwfRpcjcTrkuhKDcKidbdTvbefjtAbGYTnPnIWxohNscDUmWSjTSJsLdOiShGQWgSHaLshnNbhPusINCHeitkIrPYxPUyHgYCPFMiZnovsrVqcAebyWkOKqayjbmRhngLGjpzWbMKimGHstMgWeWqvVphOQhMjWRLyYfzNfdBcxFsVWzDflIiLUEwUZBwawwojFszhekFWWntGadDsADpzAfDsKWLoKQPQrkZHi", "oeqsDrpEDMAVgMRCIYBFKHhVhAQPkNmOtIFtXEEKPRSGQoboRfUKUcpAEFMWbuElvzrmrVVKgUEXMRiEtrOfZHasMhsQdtuLrWJhefOFHfkdjrLcuaYsKOQYzOUCXhfREXNcnflQOgPTJOHEagHTzKTptllPjpGQtpKFJnWvHzykVqotOGTQNsLEKbmFtbchaEfxFQolKyFQEPaGjksMaLQAyWOKrhaMesSGCWaftHKLKMrtMmiKuHUJYaeIyvjbBTWxEsKosxWFMZrrYoHrjpGZYxFyOFLHrIDhnJNtVOqgTVIsooDtnhnxDlPLdOQdGtaQaYEjGxfAAVXAbDFntUUYetmtrQvbcXbAUZiifoIVRAmSJDYlOeywHrsOWBMRXrYjiPidAxzyMtLUdbCOAQUIzdgsKhQeEJPaUWviTDIlpbFTzbUiCUGYWSkaekHYHuAelTCdrZTyUowNLhQjzpPapBohiVvsBMeCaldNPlrWwDsUBEdAZAMBBeIchcUf", "oguDsjIiVvrHPokAIdHdPyRMPtyTMuclxTkrXzldUoaaIYWNJixXIdQGJcwtuNgcIDfBXWPurnyZIwgBCyndMNxWorpcdILYTCprkOCuoDTTxeSDubAJoMMjykyXsNXCWGJxQiVIhllYEMAvFyKbWBSqUhSDgoZsGNpNpiJgfFgMRtahAERQQQkbBSuUfKAzkKzhwpDNYiMHSvvvFYqxyySrRNCEevORUDWECUWaeEmBXyjoBINBIEfgmGxtQHbGAaWWQvdHxulIpHBRQXiNPPOfUsRuKmZMLMOKGjRHvjjEqdfbDnURLiQRuZisiwziCkmGEcAhJiKgEnRquRBPqTTEesHqfxmVjPYQdPEOdAGljRZuVMnkCkskIwOxlLLPiOhgkEcEnThxNnIhbxlwIIveYItJAigKvhmKjhEXcyQgSsoMzkiklVvVGnHTcGwmVNWuALvirAZnpNTpPcqfizMeJZMpmjmsHAFCuHKXDkjIUsbraWVptAkLtGlLrlCY", "bffdCEgJLuikMZxyOiHEpHAUhaDdBbvJTbnAPFQThXAQvOlIcZsEzBTvRtMjsinjRIxssuzsXcfctaHBEOqxeYhqLZWhCqbVamFcqdUNBOSSYbIVNKRFMgTryiAEYbtJtOqGPrXmaOhtzgnnOEwUaZrAHZDTWHffdzImnBMtwjZAVviAnewwYWyBzATmudweHDpwXaCfJKcOlVrjVjbUkrFqeTaJoRvEBERDgaohtCWpvAkNjwIjduRtISGKLJYGUDXcaOCLKNEdUENdjxQiBObFnJmlwidEXWQiWbvTyAdPxSjVZXneOaYyXOofyHylcjBNKwwNDqwqRrHrYtiaWSaLKaoYkqvJJfWZnWbZpcoeTHQVXBWQUGjnnducRRlLIqhnlSGwpphzGYPHShoMlurvhluxUjtVRDnWYLsQgwiDAXKNDYcvHoEelkzUCMZguhbabgkGOREDZJqiqPGPpaHnUoaJYJayKgMDmpGSvErwppZijWfpbKCsVucAeSyn", "lEyXdrkYWERpMnyWpEzlfHcmnRnAzECEGQumRgbfYXOJLmsuicwZNlsDhzXTVhJXPpxSorOMNtGGNOdGGZuQieeSccqOhWuRUGlyKQVmFyfuKmhVuiXjsUrpviOKNgrIQupNtbUmiouagOtMWKjGaWyJlDFBvkaOvoswFNpYHHObHSpffnvGtKbDrEFrIGKzDMskkOHioBbyfOqPfOXGYxGqVvLWeaJhetVyPyGjWNvJLzygoBLQrVHuenJfQlSEnDntVOBDvtIMpwGgGfFRJlMYHvmXjNczjwqYbZOfdftuvQoVnoaTWeAGdFCwOXzRxbRpqtqhEiRDJPyTfMZKHRArvJwOpWQMbdmCOCVHSDgGXvbEqeAnOfrGrCqBSgwseTsdLxwgeusHrhxPWFrDHfkBmaDVSuUQrGLxsuhrvpyEvLwHiFvLKQEWybVRDGeSAEZzOCaOmeiIrUcsoiTpWFcLQWMONxlMxuaiILENwcqBgPTkzSFcHPltehlTBHgd", "xKJcNVCLKZspsHxIyrqvgsuldjUUSScsGYMRDmYeQywigtpAzvptyEwlQtUBgjVrhwjNWbkzmeZtMQJOPFSvTWorXmUDvbuFtPpmsrmdNrLrnFaPHaphDnxwUlPGHarExxMGjFYzkohcEXltUNboFYjNMyctHvLbJiYrRpOtWBHDbcxvZXztCqGZwgZLjLBZokkQAguxCsvlyLMeIlqyiZgBBQUiqyMeZDXDQUOBonFfrUHqxwIeNEHfyGvFZQMASguAMpnmIORlkqWWgNItOJjcWuFHKKFiBAhIoaDhNdDBBWZFNBzkRXrCLAJGHOHOobLXzFnSiFnZArsvPlnIfxnAkaUBjLfwoYnwXLlzLXIItnFprdmTzGBxdbIQeUdpVTkyqHyIpTNkeZqRHKgHGATTnzGDOqdFjsjuOEYcljKtQTIVkprJPctrdMCHnrnfTVUPToNFcWHXTaSwfYKLcGRXBeEPZXusnMWgsbWxEaZQILGPENTUCGTZLxYcASqo", "YdwnEMPJUHSxbPLliBJjQjQYelnFGIziuiIVVNnPqFyCnZTBTCgXnfBcYZhozsiksLcIEWXXHGAeSkfSDGXMZFHDIGBWOaohwzEXoiDhYFOYfvIBKRbeUzqgzuRhddSqfwUkSbSFeQoEDfefUWHQadhxgluZVuUQKcSqsGxINXvmuVaXLJdtJVodcrvrgtIBQLnjfCYzmLfvtTJfgmynyqMjrkPDsFkQbtBKopSgIFoeZzhzZByDqGcYlJwbwJsgQnBSzWUEuFhTDIgOFhNuuxISnzdjVFWfsYLjeVYBIJNACJqjcpYExqpvdiMYSOzPtkkHzuywbwKQfUPNErRQijpkrVNYoakhCUhrHljKsmLgHjZvkHFhPZSISPrsbMmOLvkArflcSKJXiqtklYSIHCVValluNHKzSbaomQgxsvgqgEMHuenRvscTpAGOrvwdSNKxpyEhwtxHrENdFpvjJKCGRvOJeoekJfbntGLXJdgrPmqeVguAgyFWwgExMGnr", "VPPkJjbccAbUdeYGcFQcVOClJVMuqDQWXoKNPmhbpyTFyfBEnEhAAgBFdoRlGRXVyPguvaIuSKGjhArJiahmbbRowdXeYTesbaRsHRTLjLSifGjpepYmBHuPuXMztwBVBbyBuIjEwofFleoDiLgYflyYQVgbmVXQstezvmbVdZNptQAVbADmzliiiWZEFCclIUiYnphuSrIlEUcSEnpqXUtpxStKwxNREGNkJYyxouXKibCLFFduusMDzpfcxyxACVOsMavtDxesIjQttHqLDYuPirwbIZiFZqtTjZtnmHQIQKUwDvcBsJKagUePywXkKzlaPSXAEKfSyfOIguFHTeTYjYlAGOOuZmBebRHonOOoahLoTCXUAffgetwLlmXlepLrxgsJnGRLtvPmQAQawuVuUtVrdfeGBXHRevrsgvnhsNbgiESJttvybOuOczquPQNOHlLRBBbexHqqIrsaDVkxHEPaFtyZTRHywIdZoBRsBvzelLbmgvrAKMEfGbjs", "fveOjBcfcALiWuGZnDCDiGcHfyRKDsxuxBhvzoxfFUIiYVclgHvniNIuQFwjFpNBSFHhLDTfNUwcbLErYmTOgbaBbSFpeSNytqLXTHSmvxGFzNuToujDBYyEwyGlrnMfxiGadUExJdNGOagWQwKEFqpRHVVhZzhnpbghwUBgAuypNSWGpwhEhNMxYqREimhVtjJdAtgXIDsfsiASWPPBIGBsfBvLdNXzHYRXrpmpBPHiOQshWFWTbwpAgjeFfutMcuFiWSIkOydwpNodNmNDIpBqfVdykzBJxIdZJxjhNqSKjwaHqLOhJkCZobYFXeZkmpUqkrPYAmDZOSFtXmkEOxtGtGksBBZNTWbiKFOUHIOGCnBwIRGTSPoKVFnurwCiHRdKUhgMacgdszjVrRENcpIPdUXCiTzKEESRcjWHKjbMjIrHypDaIZbDVgsGocdJeIpoudqzqkimFErbEgkTNSlBoDljVGvLAVpLkJwtJDZGbXFBkubgEQNubaXrutGs", "xeiwmxDDbcpylzrDqFSNCWIvHtcnAItvEyZSYsGscsxTQVSnUlUaNPwEvPhCJyWfIXgveqkhCUOOropdzfBMCRgahQLEqzPsCakpkZAVHtAhMNIVZVIFqHMaTQJyszwhDwuMHhjzhTBbBlJOCFFYxDVqSNFykUtfqwTfCnBDdgVolCwNYscHKWBHKPdmUatpEHJkuqPvEbOymIHXetgyRocvaEPsdomXZTvMeIptLHkBgsbfJFyqdqrpeqEpnKiVPqmdRynYEOVGdyeoEWwKpXCQhsOMffvLHlCcYQQZDJMVMzIjstsnYlPEVMSfrUXRwwTbXxHcRNUbzgOyNVjcDRDkpeemTkrBZNdqbxPLOyedtAaiWSRDWCxiTqZwujIwraomJgSIhUkKXdnEaIsOyCmTYJIbpyhPtjmFicUVUwoITDRxxXTvVQLhRWOvorZlLvwzmovNSufOuLRxIdHXHXkrBbAogQVQvCAdXmVZCJxHOcHPaxVtPANxmeLBSRrb", "hupWajkXSbaQENWhWIPkphtQaPcAOgunBhYupPAwlFktAphjwFncWPwkxXqHHWXgzKyOOmkASnQtGWjDTUZevZGveKBWtLrewgBeEFevVUMbjWkayFKzSNQtdqhOElfBINlPqlhFzkScWSpfMsleWUEoJrhQLaUNACudpCYkgTHZzVUECpIWeGgWVnTDZReciNsGKZWRIJVmXPMfJGCvfOCEegfeUQyYmfIkZzaudDAspQHEvctuJsPHZiMLgZdUKhsZtrPbSwAvsKBTLDRTfCpwkogEVwfOayWhwEJWvIAPyUWJXulwrORaVtwRqbMAjFWYosvobFMiVVwcjUXlimSrCACErjRiuZRUbccszYQWzccfnHxBicZpdLkfJChkUxoxuPKdaijmpSFbFdSAjRfydoqgcuZfGBONaxlMGSzZVtKPkETapJAwfglyzPAKvVtkjHtxwDFHCAkrbhInbhGBFmlSBepsjElRbKgYJUWEVGDbWrFnHnXThDfSmKcJ", "ZrqdwgEUiDuKTTyUCAprakwKCtKLaqwYwWvsbOLvmjRFjUqudBLZgqhpLHVraZxWUFicWVxXIcYxUizYdQnlBqKDqjVtjnaRMBOuAScyYzNsBALuaBStDFJqWHAErzRpFVmmXokxONspVvZmllVYJaGBRNEzjSBvueGziTlxYCzNMQRgozYkmhsepOIbfDSGHnhpdhoTZuHIpxsJzdiEMBvftkEFJnIgSTeIhXZzZarNnLRxKsTxKBeTFETYcbDaBWxgKnaMODnRosIVfVtUUEKAjmHHSwNwAwHZnaqpHYTjMYNcAlzWLjtryphGdmbsZSzAuvfgdqxtCDNqjwyjtDjaRVRCJYNFdFkAfgvjdFVORBNHaoSOuHxLAoMhABneYCQHCEIgSrxQgMRPmxrqODMgzkMpLfqHjcfYETAYHUWSRUBhbmHLeQeSPuBxCuxEuBmeIZlTBHaxlBsbuYgDlOhiTPCxyVOVKPcaeOmUyVsTywdtzijSkpMyVgfZtsMP", "abIpigWNTEsXZEuJYDxwPbFQJqPsazWiXVsjJUXcOkrmbZLbrQBcENVMBxZqptelBCONrVSXFRPSmCfZsWBDnAnNwZWptyyqHwsWiXuGTBwZNtXUXoZKcwODoNankVAkBoRVWjZgBcTizexchtbrliFPaSISAVeTMLuTabLcobwPMofywUCzeaDkpaUPfOoOqArjJMmPXZPDdzhYCpCUvRoGSNHeNCvfUdAyazQgHRcklQljJVoxFKCGlUpqoOFdTxdjPrLyhxmSsmrQTIEGCDyqIDGQonnDtEvHzcrEUAfVkVVjtNsFkghOWKipubqiJfdirPQobziYvWnfqBjLRVVZywxujXigCSQeAJWHYMMFuIxLaRFBQuvdXqhMabFiGSPpdraWUHsBvBjQQdGbQZyfYyIPsvOpgYBIZGFIAYlRYkxCWKrlHQshsLKtrxyYuIpHJIaOycoyFceftXSSToXUqQAYedsiGnNvoUjcijKFwWziiqIdXlbtsbqeMEqN", "oUHRXfwRbJaHLDLWgWXMYEPIVwLbPJbbDMUgkNIGoMMyFQCNCXhHFAWEdsHALBZXdsASIXRRwfRvPqIqcPIoaOivUIKyEixIdXBJjlgCXXQkbcHkLIMIPxxcxOssUMRMrMlKintZpeZpSPcMoXvYUdOGUskgQXjbdqGtdOCIMPABBKZISkfVKMDVJkVNuLNOeFUkeiJIuPgCieenvZcSjftaDFNzeMEmCexkSEwLrnwYsTppYivGCjeGxrDoZilmERUuiaNCnMKbWUlntNLAwlfnFxvmaHWYCukgYbKwwEivghOmBinyXlYJscwpClqBcTJLVhiKmdgPKkLCGUpxgYXuFyTCKVBZTZKGVDGrPUjEkzGjxUdsKMNdKZfXLfQKigYhnqHlHjaxKgzJGgbLdtsDgyLNaVQniMKbqsAclyIWjZAgkKLocuAHBRlwzpMJVBIIaIPpdpbYnGkvHdVfbicPGihwMIkvYPnLkeDhfKmuCVNWxvBLYRDaRrWSGYXU", "jdqWGNuVEqOIijeJfmQPBZVEzlIaMhNcgHeBACcAFHCLCfDFpijfXxlkwlcBcfqKTozFVoYFYoIiLDFYIOxuScXcnwGgNIKNGZosAnUeYttdOlcqXlTyZVAbHKLbaXYxnEgTuseYSNleXhOTkxEVplpiJutePXcGWAzZLNXyzBdwDwKhSlNPffUfItFdfGbcdJQPwvEQsaOwKFJRpygblwLHNZyFGjQGxSQiDRqLnNqEjlYvgTzGiFoIunkDidDHYkRsVcQolBqUAcYFPTkWEKLyOcORBSlEUOrOxhWZQJEwFPdeILGOioSCGTfwWMAyLehAnloSQuKWBmTbUXDuiQDokFdNyQuHuWdAZKoPIcqMGWEftrfSfspnvhQIgUPYpZKPiGhWMAZaOiRcymlypYVVOPBIsMUOTQbvVjTIXOEiYXjzvKnZMNvOVDLSnyrMlUmHNMoGsiOFwFYNddAQSGjILhEHbfmGNXdRZAupjPWWrnKEWZxtNPJIQMGIIJKA", "ZCjLqkKZwdambnrebxSRTDXUexkxeOUbJJEsQWyFZQkaqsjHAcxMxEIWSSSxdOcZJQaJNjPKfKEtjJVluNajVRCZtuLGUXPdaNIwBRYWqbkVTnGZoBbrJKOspFqLQZEsLvXqUCAcKaXNRqSUisvuOBCmFNTwJyiYjazWLYjTQAVHhNWEhkzNfLOFSUJRzIlzntyCIQEIXNclaFFBBpmHcQvqDEUOTrVjzhGUXkdPJWmDTzbGAlpKXDPxpNEqxzuCdZWjHvZKfnacJOqdymgnsEvMKhTcNCmmQWxETrDupiHeGyQxOLJvEAjxVTAoWTxlUoeCXeecEmkWUQXbjiALGVldmeAobEBpKrfFQhiZCUlviRJYKaxGIrLFyOixYcffUiokfgTknjUTXENMiMfTUNFZDcrqqfqqggFLQmHiJUZwasuYjNyFadXQlLRVTNSWnpJAFhJDaEMztjWwvkvbPHHwbtAxRfVjIuknaWdHkHgjZKLMOcMwUlKXBjWNMakq", "AIHOlbeKGcEhHjhhlDnfzTwgOMJMZntIsrTROFmxMBihawTEiXuUhHPBgCQoQXiJLEXDEKnxvrqiFXQiBTbmjsJyhEopmGDOGrrqCrmGawNKkJcLWEzLydZnSYWdNoWSpjurDoOxlDAQwdJlbjPeSOcfrgNqtBFVojsrKwOcdJhDDizZUxctgsWarstpJCFGYPPxSeoRxYWNdGVTvuhBLMyUKCyLxAFEEIrzbReGIRpoOcynoVAzZEJJzIvpglYfFtplVwvykqjGYtzZbbUFFeRUesSyMlZlITWWpSxFFbnlbvjdsMzUPeCoDoWNRsKMDqspLOnMXNLPSczQWIINMgtOpPGLPyBgqFDmrunjxJJkjQlmvzdQBaxxRydJZHDIpfWohGiHHEjJZMeDmCaJwgtQIwNmaFyMsBWnRRgCQvPEaHkVbtuunqGLYywIuoZiWbqJCzsfnCaHhBOcAmeHZcGqaOeliWGFEyKRWZwlfvChIVxHUDpwRXbFCWOUBEHI", "KxcWFGfuSCYbwdoIgJmXTvFNhQVaRtlXcXCdbmFBLHfKEOufpXpeZYHaXvPUoqBWwkYwRRtHKeXipyqttIykhnsSrYAQKIRezlKBZoJdzHekkfRoXEUSpdvVRVNZTMJbcTnfGysGSGwOpCjiTLguQhYqSZYheHTXrJfsYbQxbtVEbWhBmpIBOPLKgIJlbnAXiFVKBLxQOeYPxKiXKzslXrtjnlxznoaYfZBcSSAHYyFdGhxuBYOBBoeUfrLnRtSvwOMTdcgNjdVaZMeYdPakhExcQKnQoECoHoUQXalhurKggeLWFnXXacOUzRrfRSJmlIjfHYKaokDLBPCdlOKhcrbCkYyhVtIusInbIOhXjOTXlfRwsvTQWVtUYVrmfoHrLQBEMpEQraGDhluWKNjWomtaMIqoxEnOwRCwNahNhYzEdWIviLqhQIWKpODdNynXvaMegFqbbjGwPDXmwwoOkyiSxtlZFefbikFYMgBHArKMcFRClOurBPrQGSOsMCJY", "kzZnNhHKMpVrWVjZvLohNZTXThatbnKdSTvvtxejHXcJWxfsrDPfTERWzjyDKwbMudpDdKTGAwyTFNsRLZeSqNIvHNkjTJbhZGfDoCNfvUJrwxHdtrkMXJUokZKpxGLlmBCZlMADPsjGKuZuUtgFlggWhNlrNeMbbrLCEazwAxQHEoBaveFLhZjQPtxfEEFjzTHmuiqyFYqPNjidXweLXuQgWnAWhwRoOKeldrNqgnFExRAzuEchppMydDmyoDHwShdcjOKkIdtFDtezQYofciPWwppIWyXvZyqnhvuKdlovGqMyosIQOygECLOURgQwlZOvvnefPmormRlvUlGRkRznhYZiENeDSaCdEvRTTGrZBGoyhHLTwsuhGXdXhizOjrPhAIwpXMPafsglRqyafxUMBuCdIeOfhaZeaHnDiwAUjGOStnoyJjAAqwUSjVdPyLaWFOcSzBSlYfOEzqCOxreFaZIqUXCidhubbGXtvolENvVKtgNWFtlWVhCdCZDE", "wxQPOwjoJaVsSeziyjhPflNOCELrYBJbvOTkIlLclAhPmsCAEvMkigXciCOdoPqHJzLsJdWOBGoldkogGWTVYCqcLjgjFxYEktmYCoowYRSRMFrMmANVuvLdPtBePYlEqpnoDNMePdwbXWVAXXOcmirJzOFvecRJgAGpzbpimFZoERRLFAAtcXRkobQvgBGMQtZMfrjYoGBeJmiUGsPvnurTWpHMWExqkodZUwGFOcoPRkMtswdObmcmEdeFTkzzqYSNeXszLEImxrmMJBtkKhuBJcmlMSsshVNJHuGZBWRjzHhFOQCqNyKxWaWFMDpuoneEmKetFMmCEWEhbStShfpWaykLjHCecdXSOKjqryaQCsZNdSwYRUZRINcIsfLCSIrsOPnjLyHEqwWwsUqQozGhHLFByjBwfYiCrTRlxmGtxRaJMGdKbmGceMICtzBcrNtQkdRtqujukNHrgHdKDNsggeEZwTFIJQfElQeXzFtQEQbWcLrDMpjBNQgrxzaa", "gsTPaGpeGvqyAwXXfCoffOfvRRzpqsriMRQoxVEMOnzuVsgnzLyuUzLKiqVzUQBAZKTBzQRVqRtjeTdEANCDrRdccvKjllpUYyDYbCRhHVmxxuMVDcIfNkYzvRbuUqADgHsUqfISbTsHhoGcXNphRKIqxoQFTazIaBpilkyUqdenjkajTlhYlYpPxBmJXjKwAjNBEjAGSfLyGVVePDEvoGTKFYxTMYrCylMNryUEtFJKiMcFNNbOXuJnkbgLyKvuOhBlkPwAPDLWjugFvhGtSOxnpFTbaKFGztwJpPJVVfYFNuefsHtrYfMvFKWIrZVXykiSgeNoLNJXJvrwTzTrWClzGdktTfVOzNbnFdNfuNJYCHkxfttCwJqeHuLuAzIOoNbbtNlKFEaHYMIpbJxitzOKdZYJyagBKaBVBnPfSVSIPRCiTKlATZBlflidbJiOwmVMCoHiPgsyOHqxMYkJBAEkzsFHZLnDXgkXHfEbWDlxWPdClEVAYqttYENYpnuM", "DwBzIvrsflRKEKfCtPIDVigvYRqoVdXhWKMxgySnGYWYyLNiHgGbfdEzsjiJCKhPhudKDNDDTHAtpLSosPxAsYHuIGMWyKMpUQCnTVXeGjlLUqGYCUUxBvrZSZIlPfpMhxvPUNTgIxFIXTcpQKJaZltmXFQSKZkTsGtyHTerUfOjmfmIKQgWSWaKbgkxLvDlMDaAUuOcwolhQkRsvKJbiQICtliMVvyexctgNKzvcuKaVmLufgtrvsEzUPJqieJRVKxLlSJlzrRkSjRmgIdWLpxcxBbMIaNpuMbQVoiuuHXEeXPaePQnXttWyQOUUQogIzcLhDQVyiLZJRqyegIHxstXqcbJYFxxdKELjQuRXblYlcrWgIgVApHDfzwoUXKOwJdotGnMRxTgJLcEFBnrcxYrdMlPRtqiNfUHBQoDrPZSNIUvWbCHFRPOXdGuwPDBYFtSohpBdcWTXecjSQmukFtbLNdbOzdUenEbstAcfnkNiZFNHxfrtasFQNHApeHq", "gqetmMombNecbCxuyiLSJMupaqqNFbewyAzZQcpGRXYSwYDFoSjrMHVEcGjNJHVbNtQlTfIuVDhlgqqRJiOwuScqoCNSHkzhELmDlDwWpDuSgqnzeifJVWifclEXYRDSkVIvSaBzvlmozdKaGAabUKsYGDlxRHxmKUCjDecwRmIdXKTioJvWhTDuDmfkAlMQFfcWTOMqgXiWKkzlJxezDsIfWoQbOxwLuxVQRkEmpehdAiIJEDFSVxdgQqOEJiLqtNXzXTktgWSgSTQYhwEwrpsAoxLiAPANiltLCFjzwjINpapVQsmToPbjxtMVqzmIMHkYpjyYcaClnLWPTrwBcLXWHUGMahSotWwEdjUsQwidvtCCkMBDjmiHlXhSnYqAgjlyKIxIvzHdVfOeKwwIJBDmxAgSuYCaQTdhKswjwwpHcSqXubOtDBdWUjkwgepSAIFweNAVpMYngujvpwdXztPupuJknKLAhgOvtVCqllBTvnTrDPlarzJXVIlvZWSs", "YUFOjCuyNVWIlycTgeOEnORMwGpKpkSiAMPxcdKSVhnoKaObquoWOxyamOExLcRpFdTBLnZGDnemHxKoWmHgFnRDPuyeKYTUXHPmdPlfSTsRVmKtzwXGfnwBVlJNIpUQGUvGSzdppmdgOKNdGxVcglWVvjEiMtfPobdWdCplSyjffAxKensbAYlvYrfxIfsepgJXHKPvnJsVqmhVfYQfiznaGqCZqbeywUjPRmSEDrUNiOwoaRGEYDrpBIaTWDPvupGarxEmDXtZNyhJYqBXyzgRnBsJUgqsYPzKhtEtGwYmoDutztXjDFOOVZPaWOQODMQpCTFuFNlmhcLsdldlDOTpqdVIrsHWZgQriOOtemqAAKaChLtZcWLzPlsupwnkYbrLlVpWzkvxHJjsMNxNlXejTEdxGSrHmxjBvrXzaxGQSzmKATyDBPosLhvEdZJqljnQNTDYRWCeuVrrZeoeMRMpRpElyGIDntCkceyFDnjwvflsqrPvGmNuTBqjdRkR", "aZyBwskbSkWlYGqPmMGIJLZSVTypiGpzhRRAJOrzhaWnaYTzZhUPjmCVqWrUovYngCiEXpNnYCRzaxanYHFdyHBFDwUzkNYCeCcwFxgmuBvMcklfWJOqNnDRVNPBtSngKoZgKjynVJpcYyphkPAaouvHwFzvuNCkwDUIqrrvCoXGwwNEjxkrUdYQuiNBWVLDeVMCtnHxyVrqJQkyPAmkoNTGYgYiOnuEeBjFUueOjHcsQbKZMBFDJVYQqIUwdSlwnoqdKIzsXWudTTcoKOmWZqeDUVoCUeIbTNJaIjqqZNTFJFwrUVSgeQjvAkUUSaaqkPretEqfLXrvmLpbDlTzlZzeCqWfmMNSinUefxypNeIsStRJrAGfEXWuIqSBkjwEUxuPsnKOVufVGtzPnfEkksUgOktpoBurIURBxpxpagdkAxARtOubSmIkEDQJkkDawnxSykdQMWEuoSMnkZCCPTKmMvrmJmzDmWXYtbeYnXDuwaoMboqFzxDuXmRlJRyA"],"c_array_date":["2008-03-23", "2003-08-19", "2008-09-21", "2001-12-15", "2007-12-24", "2011-12-25", "2008-04-01", "2014-10-21", "2003-02-02", "2006-03-24", "2018-08-18", "2009-11-08", "2014-01-10", "2017-06-19", "2008-09-13", "2011-03-21", "2003-08-06", "2012-01-23", "2004-06-10", "2005-11-20", "2006-07-02", "2015-07-11", "2016-07-22", "2004-12-10", "2013-04-21"],"c_map_smallint":{"c_map_smallint_1":-20550, "c_map_smallint_2":-9375, "c_map_smallint_3":26472, "c_map_smallint_4":12361, "c_map_smallint_5":-1917, "c_map_smallint_6":-12472, "c_map_smallint_7":-17302, "c_map_smallint_8":12004, "c_map_smallint_9":-10025, "c_map_smallint_10":6244},"c_map_float":{"c_map_float_1":80.65209, "c_map_float_2":17.41671, "c_map_float_3":74.122475, "c_map_float_4":13.599628, "c_map_float_5":10.897882, "c_map_float_6":95.14999, "c_map_float_7":71.714096, "c_map_float_8":3.1285977, "c_map_float_9":81.371506, "c_map_float_10":5.890166},"c_map_double":{"c_map_double_1":36.45001323103084, "c_map_double_2":39.90178992941948, "c_map_double_3":49.152240144611284, "c_map_double_4":68.4631423224057, "c_map_double_5":54.04334836133815, "c_map_double_6":26.1048271333434, "c_map_double_7":18.330093487353384, "c_map_double_8":50.38796579779666, "c_map_double_9":24.262007158749118, "c_map_double_10":6.983884414315163},"c_map_string":{"c_map_string_1":"UAleIaeCQaSqTIcpSRqMQKSARgStDNZZUmNIZRvjGcUkAmbMoFdRGkWvLAnEUSfNCxCdfEXdDHMqQULUhSHUYIJvPfNirQDnjbWTLgWIFTnOAzDpkEZrfafpnqYQaIrajJbvEhIzpOpGMaMjZYvbiyAXqiWFrDqAAekIEObEEahvKxARqIalHltfHZfcDSndGfQfsdhTJEiVtvZklTBNKbMdRcElAXTSVYwHfsoNMAYkRZGOmAbUaYVArezrGpYNpSrcIzdAxWAMCETVjHugNZIypphYGyyRajMMLCQilZQbgwbEpiFnQlSUJKqFAGfbOYBgZCWOEKmGTAPXlFMXZrKdQDOMtPPRVzZgMcGNcwveeoeUVPMGtLzgUqyqjLyIZjwqynpCohaFEBrSEtAZJDZkAGOIgqrdDfAVTDBJfoVxPqZQydvxfZHCZNtQsimhPDrmFHbRfMhMcNZkDXZgonCoBUBrTxsJufmlalkzNLfRXSHAnCfYIdGucWRvUVIl", "c_map_string_2":"epZsGiNKFlmZcvoLFvherWHSdZoxUwcakbEtHyumMbCnPJsmhPKFhIrIeqsQKgLGKLMMSCdvolcXRubQafndEpslpnJMpsaYZLiGxjZhlsicVGeDJmfQkkdAOGAWtEINcgaGQXQAxFWwcpvHImsbCCMjvCUDyCKZRVdqWAGNyKmZxgFpUkIikXiLdFbuwkkKRnMQVCfENxsenqVWrIEGLJkoJKqTCNHZDEKVnINcVSPpKxmQwHPRgyNReyuHptGNhEXWriigTYMpmZZAdkmWTTSBzwSLAkAxBKxTLonQnddEJQaHPpliGsZYPbWsJJAkywrlgPAcVYJCxaSJYRIgtNnXPMitEJmoQLJgKBBWVSfsiOZRbaYAGalVYpFLzfBqETKtXkUXoNHllbYHNWVCXPHmXjkymnJifNTwdLJXbbncjrXldOvaNaOnyZkxNbcJGPSCtYFjuddSWctvxgGKgzvPEjBBKZHCtUyZbfGwnxRbCjEjSQfjqaKKtSzMKWzg", "c_map_string_3":"ndWdOFOPCZvHzGdVdFkTFqPRhzLhnTGzvjCuMDyVxjfgJCSuoVEEJutPXlcxFkLucwQIHZJisHLlLyAbVpfispcXPyoKWaCBoiFOpwXBLmgVBYMGLwHDvrOqIVvfTpNonuwwYPoSslTFkFaCgZVtgQusMMelyYUXrEsUnJGHpmNuwMggWdZfGyKqedXzrbhLTJocJmhgXbyRYrHVvPiHFBtPGbTptsIDAFtctCPXwwwSSkpkYiiemTBVtiktoQhLTWlKAZemDDbrhMDXWXkaBImpTKqQzoqpGwgLEvkaRXtoqIUvZwCKIUWzAaVsUvMLPksFjrOBhRPrLVPAxCBRuZvXbRUWggFoFIfpBALqPpNUcDvebGVkYLySlfZUlFJJeqcAJvGBYXMIsCKmeVJlOEmCTYrMqhpQvDRLiuyteUItfgKZwRvOSTmwiugaaqKaMvbLxuvZcLXCUtqpQLuNZNSSjrrQosgDSxwIaKoEjnjYsMYOGEVXNMwNKdDTrmpm", "c_map_string_4":"mHLZJgVZMCfBeJMXvmLTjKUmoQZgTDpLYmvvWFnOLDAvwfEmVAXAnjmnrJIiPYWXyrMPOlJQtQNnZrsdxuwUafxGynreYUwGWwSHAOkHbBYQJYWOyartzblozWCGJsHUFGHOzWyriMwfvsccloZbHJXlgsGqqSwqCvJSqTNuhDgJgEGspAQFeuoXchNsccuuqCYRklHWGrxQXJEvDOOCczrddCZqZjtPwbwQTflqoftytMgBLdjQJLcnCMNiRKauhVpBZmkRqZedxSOpYDUmApuTsHBlvDBZqvjTNHiLcVyPrvybrXvbXhuZzPswySwfOXsavuEibcXOsVDrGNeMQEavNSPdmcoJJBAfuBoSscOpaAwRTvHbEHGRzRUxmyQoBqLtdfXYGZBtFbevwvdxfLVxJWUdtNoFVPWYcAgbAFqrKoSuasrAVHDPbyJqlAnFxZRGvUFXtETxyMjXDyGbyiQolXKATzjWEcAugEnnLsYFgTMKrgncfuzvNKAVLtIE", "c_map_string_5":"sggyhIfEltdfUkcCtKttFRZeCUCegPOfwMSuLHorKzlIVZEcxVHwgzEdNjFENterdgoLqNHwxuMuUEjGUsVSLhqGqKibJkgTwEYDeSVEwCOPsgKZIielJLRAPSCfnBDdvOQmlCnOVbjRhBPSBRQkQIVmVXNnpQSXwCSplQvKaDeAzJbklswULhnGiQmEKAkkNksOfAzYXnnRWZgysFmYUtKgBdbjPxHADXrvaUxHhrVoahQGKpWWqLdrTKSHFoiHtlycBfYtxCbYhZMOmzFNplyUznzmzFnaOMbWyMQWzzHQZHBsILasBEEgAFhzFIhTunKnGnCiucyxkEPaHKRTgwbrkXZgruxXRbFSBRuppqzXrCasWIXBeIbeKYdUWLyfBzGEiaNeoSyGOnzsUYwGgqGnNSTYRgpsgRIgZjcmqpMhSAacKMFsqNHeqaGvNYLHuEspjUtrIJaRrdgjfStvjHbLfFkhIVaqOEtdUywDpWsBSRVzoHhyeLRYQeDztsVi", "c_map_string_6":"nFsUYjrYVsDrLwVxAiJsoECSYHMjwYWqVQzeBvubKLHRVPpwONYLOtnUqguUxJAovmRbKnTKKtdKAkkResZAADuJLzwPTLTGocAQKgioAYEidtdeyMWloLsrNviIJvagJqKVDdjXRhTjUoGbBksHLKNYkEZSVrxKKCOFTeAwddycdlvlUoFzfnhhatkFCOEkPSVYdSRnKEYwaFgzPqGEAOXGFleHhDYDpAUeSdhGjVWZUbbRbKFuCxQpgzamzkXJOQPyWCAhryCaPdDVcMkFzaTqayXlWAyTptdMDJllCZdLXSNuxDEHZVNvCnRNjsSvOsptjKZxCjusfDGPYCoGGptfVgwNcKbjgydCNaAzJqzFKdMhFKtuTMzvxDAGoDxcnUPDlqqfkoeIMEDeFEcHFcMbTeLjNslLKQrGwxfVCtjSlFyljTcbpzgFeURVPNwEaMTdGSrBlOlHkHfjlyMwgqGReTzYKwqCZzjJdhIfSmNrEBfltLZoGBaUvhJDWckn", "c_map_string_7":"YwTvmFsbGZDDSfByzGmlhiTfNZRkETsPJdTfrTIeGTUeAgSvequCnNHhDpRSfoFSNpyFxmcILhowsgcsMpOuPNrRnoqFqsvtKgwWvmFSyasBVDvBqbgZRRuYVaZkPFJgLgTJoGjSxXPZsWWoTxcUSYRSGqCrYeJTsjLALSwhBTQEHfGHtKBOtCTPWFkDhUpIbBdkHsCozmrwAlmGldbiXcbmxEeLJXVXEjtykCAqTSoTXRRfsGksaciSbhsLnblmKbEMVLRafeYYtOxgUkvsJOcfAuouqMsdAHOQYWbvNVfxoJeTlgSMxCuLTdjcTAPUwlAhDXpgJdksTnZVuQwhIBQRhrbmpEsoRLDgGYfjcTwNUzIjHOrfAGEvYNwOlBaqYnTWhlfUwHMOgOOLrAPoTUPMjGkfZNRtWwvGdkbqmaKBuSGfXWLftaiZgvINrQaBlkxGnHHEMieWDfUehnoZsBAdGNdGRkueicaVLXBelxNSjRUuVvnIfqVlaptjtAev", "c_map_string_8":"THFjNEPIxmqKJypiQkNawGFFunGkiTMCCCzDahabqklYfxpZxBxdemEeufVADzKTYQmuxTcgKxcycHxPelSKTFopOiHiJiyhhfdeLIwoBsPqcCCCNTWARQUzYczKRjynDNBSFzxfqNoIBducFNVljEuhwBcZBUaIBiaMPxwVRoXaobnZGHxmJlogjhdiUezoLGKoJdvBYFyYLOLneKCmJGdSrMRvNqBfUpDIRQeosaadushiZShyTcGFrQVmPLQLTgytNDzavFdglbMtMDrwIrhbSAbkZpUPyCMagNWRCPMgbDwUWfSIRqnKRcJZJSoTFXasVoXkjYqXGHQPtqHVmKanOcreVsldiCTTCoHSFmaReuYpdYymxlfSvxCuzbOugpFcXXMejdXhqeHTqCvXFaWCJjehodSpdSxWJPsjCwnFoEXFidRfweguvWYfvydSJCvqFfvVLYNoVPOtbWvwcJJOqZgFGwAMGAauCbXPiaOPtqLXlhcSHIlTyKupSSbY", "c_map_string_9":"rQVAsFDEPtfzPNUaDIJOecLwLCfdUoDBLmYeruPpJBOpPFTSZZVjRykPffMzUIvUGZAJCUaFXGokEiOEqRPrpcBytnecJFlxmAvYlPsZhTSYJEHLjpbMZcCOelDsohDRacioMPtySxyFqomjRicisbwhbcdfQxikjTbsLeGkxCOXwuYVyFRWXeLdSgzvlhKBIgcFKOhUFntRCwGvKrohlNwfxmpsmWaRiIgAXUlooubayVpABSZgNIQFfHOqbYDuPQrLpggPapCFsgFjyilbGtTRlBrRPSWiGcHgCApnvgimZueGJwhMmauuoxNUaZdViCTBpYAyXVkfdudPaHfTBZjVOTSaCISJSejfDjxGqUVDfHkSxrLsGRAoQEvlDdatJMPVVykOxWOJSsmkcuJzXuwzBBjpAxBSMUNNpUYKkbwvykyooLduelcQIHqamiaDBpXZcnKiCLIvbUsHKPOTjsDKCBlrebUflAsJKcIIDsuamLNCMpobhcjYxJjsdHnD", "c_map_string_10":"JADroQsUcknnVOWDarnIioLXMeeqXRXgNRWCEJWSEQGQPjVBtrABSAUCAIwrdocfeJBqqEBAUxlIPJdXlOYTSwsgbSBhSojgWemUMIlbIzeKHGfdsqpJYPzmRORftgEdmnBOtEQBRtXdOiiGorIHaoGzcAMRtOPpYTNKNlnKghRGlPkJhTymvLZIMmQbQaaqduGMQIltuogwqyXnYwJSumqzSaYIwItlRUpttmAdoJQpEHbwxFsmPLQgWnltyPNAUjBaWxigQOKVkWwHuoybyPfyiaThNpqAwPtNDmtiEitHOFSxWxiTfzmnkJMeaZhxoeraYertCeUtskcRfGJkmudZJkIhYcDlNWLpuVpZRpueENgbhEQxfliJfnLZjSdNKZqQTeZaWbUBybZWkeYsaCdytVWZHatxRAzTWraLslRxtsItRQwOOVHSoGaxLCNgLuBTjXbcqhzkBdEGaRLfkxQYguIDyAtedJOqetzTalswdvSlZkZzrmffCHIceZtn"},"c_map_ipv4":{"c_map_ipv4_1":"3.142.70.85", "c_map_ipv4_2":"97.187.195.100", "c_map_ipv4_3":"173.92.249.252", "c_map_ipv4_4":"32.127.24.154", "c_map_ipv4_5":"95.240.106.179", "c_map_ipv4_6":"183.170.171.191", "c_map_ipv4_7":"236.150.123.43", "c_map_ipv4_8":"77.120.226.102", "c_map_ipv4_9":"239.246.224.205", "c_map_ipv4_10":"171.120.9.255"},"c_tinyint":37,"c_smallint":-19076,"c_array_largeint":[-6094076583050411555, 5332352570730924079, 2296547639989203010, 2893787679087690757, -1373132666746421263, 1802714896403650550, 6191465561846805444, -2905987524828196267, -8053545533587293966, -5768122139275330727, 2799930541783449162, 7522004549068042466, 1494193383052402147, -3583121743165999725, -9206885808320215327, -8308808540943190486, 5532954460076504690, -1641801378520827309, 8008419227316188121, -3170668741748319324, 6684886813385451695, 4014915711095493440, -185576217269483292, -3485649482169373872, -8355742906873157004],"c_array_ipv6":["FkfnWYAaKx", "YCYGsCJzSY", "DJexQskYTf", "ELdRCQhvYg", "DWhppmXqOh", "SHfuEyQCYB", "vwEqqkwESK", "UzWgGuVtXp", "PfTfLsEysX", "UbYTdGIbtE", "fzTzswpTEP", "ayvcmUqyqF", "OKSSTEPqhq", "zlbgcZCCbP", "XGTvfRnxum", "FllyxUrvBQ", "OPeSPdXKQj", "MOYsppQYnJ", "Dqoqqwnbgl", "QpYFFAWNox", "WmQooYkKEP", "DTebzqDPcm", "PhYVzSJVYH", "auJIkWvXAx", "obErIdmXqN"],"c_map_varchar":{"c_map_varchar_1":"WUBEpmvnVBtMXpGnSBVNuRfhBHecmTKbGDbHXyoCGGMRqJbVQWppDCMKrsMnlBJnZSblQzsRGOaoRWpqSgdaxhHAaPCIDVWCnCclDLKWsGkVIsnVDBjbQipSIeiKbZiVNTapvNIEwbVsjDKskgbTFNZqYHWMQRpFVblNuhUZHZlMjzvwbUTJGTzNtMTadEmoRWCFmHsqhShNNEBdCjmbnlLYkskiFnRRsmcDshUALnzedyaBmCTIzMxhgUZhtBpS", "c_map_varchar_2":"UXvJixLiKnLwGqSXkhaqqvPuyVGzKtGYcXyeBKBwZgxjVHKWKIXGipSulYgzarCFvTrlZEWFMIgDrpBnqWeWgVBOEKoqViDqBKITItvGspfotpwFwPpqpxyqMqcCWZiVRXRyubUPbHbFWRDQodkScuCLXjnAqwbUrYhfdKAUDkMjAASFlxXQUCHFkrAKaiLNghFDhXZHaAiIupYVrPpYUYlxATfwaibypwXVrLdblBrRdvpnCFWVFCIrvPlCXFTj", "c_map_varchar_3":"YXDiGQqlkIkqpKbMuKQqjvcsCEorZSaiKeHTDiVhaOiORHNsZmSnNGOrMXaEvDraaDtgvsHDuHVhmCyOibWVjdFaaLQoRsDwPjRtylSxJugkuIbdeWxhjqhYzOjuglWHPYTHlBLZrhptNTyfTRgpCQPljVGrCZZyJaVtUHKUlWjNwRZiFghryxKYbtvYAKvAMlMZfhsjCkUQKtOQYuIVQYiSIzsYIttdCtwskImFTPmXlvBqoAbuNUMICeuppoYS", "c_map_varchar_4":"iHmAxwEsXyCBlGbnCPRGSQKszRUHglXvPBKLCHAkFNGlfNYaJacRPzseWzeBVWJQDaxahkbLkLCgVjgXewFpQWbeMuaIPiKaPszYwKnfOPAuBcHcJAcbHRJBsDMBbjshRXMHedFpphWjcVItStAUSoAffxrFpfvaLCRZPbhCjKDCyYJiVQAzriKYfzXelDETBoolzAOqbvPtdMTwmjlqRYKujBtbxsRkUoGREDmdDWKaoaucOthMstDMHCuibauP", "c_map_varchar_5":"YfznaUKQoEtXkmQSfDYwtUZHEOatelrSGOGgnrwXfbWzbXWvJvpOZYXfJRZevaFGLnpuWbsZGrxBmfwBKYTWjOGApMZGRuMREIdMmpPhWIJfYFTZgRfhYmJAlOtkEGHfMFVaRvNIcJvwPeHbyISptdzhOhrgdxMutSwDYwNbVQxiYIRWzWpepbvEIhBOrJkOAggnqNiyODZRbmFoqQfVWEmDGNuimPrKaPHxKCKeddauMLfVriiZFSuwtWYKMPIa", "c_map_varchar_6":"aszWJCvXgsjHpahWcLBzdtbcuLMpLrrbnjZChLtcoDRyOvGuFFoQHTxaHxCdmwHFYbUzkSkGKVEEFsQqzxeEaivfZRPUDbMqgSzrVlCfYkyxUhWDznCkBpmLenhSvDskvdyyKUzudSwJcNeeGohUFKCyrQClRFpPKLgeNGGhxIfixNvKwefFjgjjuxlSsorjtLJKsKiCUgoMPleEoMHQKYiAKUZLwlMMbvvkLQUTSenPclLyOMAHHLEETxPZgeRi", "c_map_varchar_7":"jYBZWRmTlQMpKYCemFnqXuYgLqrYZmDystdUmtFVZGnuQULJehQvcMSGUYVkYrvCVCBwGplwroMEOATsrgeNxYdcFVqJjyhKGMHxQcltVOOBTwrnCigKOuJQQWXuiBLrtPWPsmKWtNAcVbzVatFtNjAZXDoOlxqxKpkqhcptInIGxiTXUWHvFKYHnsVRMNpMazIXtbnnibPpjSQqPUMwTFqNZRxbvYbxAUSjKnWFunTqeECTJIvFuqYlYqJIOOZt", "c_map_varchar_8":"RAJMVNDMPFMZaGoaBLDazCwtJaiHwXvJSdeXfrfFAKCJcvKjvXOojRUdFDCVrRMyycjRYiPFUBTTARYvgEUPBpwpabKUaTFaxvptVPZwIJEIOcTgdiiEQTyNAABapZLZlODRwflVfMldYDvawjJJRuEHZFrrvzvswupzymvNfHflLcyaRXBhjbiAYIHuApcqxJzREjFwzfxfuEeMoJhGrXooZVizTNXPSycGLdwsHcWkZXpyvHZnhOIUaYirXFvS", "c_map_varchar_9":"XjcJsOzrVRPWEcrGFPnpjkORIPKLtpApMqZHdpYZRUHyfCArUPDPkbohAURuWqRkNnTKKgChAkHtOoaUSNVGpFrRCJLbUOpdvxWXoZpDohhOJYIAVpOrFaxhXUQPjVzOyOEHuoOMujIKHSUeffZKtXoaobYcyvSNPJwTprqKcgHtAEGNbwIIiadRNkNJJueMfXBfNgYIQVNmcxJspLQzZcfBdjPqGXjdgpfztZgppEpGLWPhwvTIKQzlFQZsDeLj", "c_map_varchar_10":"PsttNqiKDqeEWzvTkGrSoLjsFpwbzEmejEgiaaWKVwpRuEwFXGFyFBQfxFkGjjQYywmUOroKKHSDbunhaVuAZqOXMqBbzXotjzYANReBBNzhmAubnSCjWAgIPjOBSpnMMFEqBLaBDMaXvoGhkVVuNuznUUzhQiMXVPbGVuoZpLkjesHjXVKhfOeSTcsxDVgvXHglIDxlPzgzWdZQoMIEvufrYbFiAyWSMUSvsFQTGjrpsgPteHUINhxNqDtxyArb"},"c_map_ipv6":{"c_map_ipv6_1":"5e29:ecd:c1c8:f884:1136:4511:5dad:c02b", "c_map_ipv6_2":"974f:f0d1:8b2e:7ba9:878a:c5a1:e7f6:ddee", "c_map_ipv6_3":"eb26:c776:8a41:2360:b659:dc7c:9582:380f", "c_map_ipv6_4":"796b:2f0:dc45:2286:bc14:dc9c:4444:31ae", "c_map_ipv6_5":"9fbc:375d:b550:d1e8:8041:72d9:7c45:167c", "c_map_ipv6_6":"7cb6:6155:afb1:5690:63bf:fa8e:a869:f8f1", "c_map_ipv6_7":"aa13:d837:56e0:e09e:b07b:deb5:1d8c:ea54", "c_map_ipv6_8":"3d3f:aab2:7197:41f0:2456:8d4e:e1b8:a107", "c_map_ipv6_9":"a1fd:a1a8:48cd:21a4:feca:85a0:9842:48a2", "c_map_ipv6_10":"8bdf:44b6:1239:efc6:6e3a:bdbf:b21c:52f1"},"c_double":46.64851698331379,"c_array_double":[86.61845380884057, 8.679242652473164, 7.195060808990125, 88.70769222486841, 36.02853362174747, 90.52240208600178, 23.093415598684913, 37.82872565270864, 56.30583499961339, 19.818880840250998, 37.89128271779137, 23.124764926563643, 22.963803590350217, 78.60614027990741, 72.3135264906334, 30.076260753813816, 7.125981716262069, 49.664058474822745, 58.719953159739596, 70.71582478982707, 25.852089792150114, 56.3963813438344, 82.58947134720209, 0.37343682654996724, 38.636720340823665],"c_float":51.699703,"c_decimal":61.0744,"c_string":"YXGygqXURWMCTZtkPLkkLhgsDYkokKGwdtjtIbqIVNfxhflChywZilAGXIKLZGhbLMSsEBFOLnyDRogjBcsfrqnARnklGuagIQcXVPmeUTmwozzehFDjkvzePIhQpQJTrKxavuDJIUIigdlWyAjbIyovyCURamaSlxbJtfRQSrcrehBMWOFPrpGVJzdHLrkcneqSTmYADzXalpucubxLnkVZTXnPcePbHVpZkKVKLGewBadINpCNKSAAtOHdqCejaeyZKhwjaOSFRYRmPKmzEgPYFrTVwMkhhLGosfqXWwGxDytAGtvixQXNGQIQUPnWHDHnvyziQOBjNhRaiQnLCcXZvanqOaqevHURGIdmDsPGayiJYzVUPWiPjhnKpZxAeUchSMnkYvmCOYHfqRtBzWGffOXWUmhjiPjwPbEwZDVOQiXCJEpxLGNooMYYiABMTwNVhnyNIXtZsmUhfdEHVZWcBYErwtDcoLQdCZwXMRaqQkDhxOnULcDFwrLBiQaz","c_date":"2009-02-09","c_ipv4":"234.92.136.107","c_array_boolean":[1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1],"c_array_tinyint":[113, 6, 78, -83, -23, 44, -12, 121, -103, 26, 42, 46, -95, -71, 64, 0, -98, -34, -7, -94, -56, 118, -11, 120, 118],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_date":{"c_map_date_1":"2006-09-22", "c_map_date_2":"2013-08-28", "c_map_date_3":"2015-02-05", "c_map_date_4":"2015-05-14", "c_map_date_5":"2004-01-18", "c_map_date_6":"2014-05-20", "c_map_date_7":"2019-01-15", "c_map_date_8":"2008-03-12", "c_map_date_9":"2011-02-03", "c_map_date_10":"2004-07-08"},"c_bigint":-9024086832403953764,"c_varchar":"go","c_datetime":"2003-06-21 00:06:47","c_array_int":[601443273, -1009670419, 1062857747, -1239747532, 2099906131, 1853763130, -509144270, -1159772661, 533865954, 1901347580, 2019685897, 2025956660, -177723805, 689769605, 1533060292, -1008836790, 2121555721, -924873034, -664507555, -754005095, -1306293477, -306420127, -197419511, -180458774, 1297828112],"c_map_datetime":{"c_map_datetime_1":"2012-07-09 18:15:36", "c_map_datetime_2":"2019-03-05 03:17:57", "c_map_datetime_3":"2010-02-01 08:38:10", "c_map_datetime_4":"2007-06-13 14:12:42", "c_map_datetime_5":"2006-03-22 07:27:21", "c_map_datetime_6":"2007-03-18 10:58:18", "c_map_datetime_7":"2001-10-12 18:11:49", "c_map_datetime_8":"2008-03-21 17:19:25", "c_map_datetime_9":"2005-07-17 10:54:32", "c_map_datetime_10":"2003-09-14 02:42:09"},"c_char":"LHOMpOMrNI","c_array_float":[50.960815, 62.007965, 65.09603, 20.974438, 43.844765, 14.324602, 81.130714, 93.574104, 61.18811, 20.955153, 97.254616, 59.548656, 94.45287, 64.665085, 18.1185, 6.334623, 47.392357, 9.820536, 48.597683, 27.115105, 60.787457, 28.204063, 41.081387, 53.52392, 70.46857],"c_map_bigint":{"c_map_bigint_1":1631998268969320609, "c_map_bigint_2":-2460213497154223101, "c_map_bigint_3":-7440185134595706384, "c_map_bigint_4":345478026325177845, "c_map_bigint_5":-2988763652016952232, "c_map_bigint_6":3232515954177663270, "c_map_bigint_7":2488341430260984362, "c_map_bigint_8":8799769834559404232, "c_map_bigint_9":-2117447731479276645, "c_map_bigint_10":-1847408021148681259},"c_int":685586341,"c_largeint":6977327313570285374,"c_ipv6":"3544:566d:9d89:6ff9:10dc:6dee:510d:a622","c_array_smallint":[-14486, -13723, -4368, -472, -27608, 23567, 31251, -7357, 16096, -21856, -16607, 6678, 13669, 5058, 14366, -14328, 25220, -10009, 30501, 7498, -14994, -22125, -19095, -880, 23640],"c_array_datetime":["2019-04-06 23:30:45", "2007-09-16 18:24:43", "2001-12-19 14:39:38", "2003-11-20 23:26:02", "2015-11-23 08:10:59", "2012-08-01 15:56:27", "2019-07-18 13:45:27", "2019-07-03 11:25:31", "2003-08-20 02:06:16", "2007-02-26 18:20:40", "2002-03-13 07:23:46", "2008-05-21 16:39:35", "2017-12-27 22:35:44", "2002-02-18 18:56:41", "2005-01-25 11:56:40", "2006-10-25 00:01:55", "2010-09-09 18:57:32", "2014-03-17 08:59:50", "2010-04-06 05:57:13", "2008-05-06 20:20:41", "2006-01-08 09:44:54", "2014-05-11 22:24:40", "2006-02-04 21:26:43", "2003-02-20 10:36:02", "2012-09-26 11:53:48"],"c_array_ipv4":["bxxpLuYHCr", "RVupezahtk", "mQQjfovvOv", "twWqsUSDWi", "mJfABfgWcr", "VNIRjlSoAH", "zHInHPpavE", "oLQSYppkwC", "ZwLHAhUyPK", "kgaIGQyolm", "laozaFWOFD", "pbfQmNBHkN", "aHQChguQoP", "HCXWwrZJKc", "FnzMLYevxT", "VlbZxqvfDK", "pxmvzYOOTv", "osFLlKAPBi", "TzscCHIQSj", "MOwHlsxtND", "KOnNdsUyVw", "WSWQtskOgd", "rcVJotaZbR", "mpzXKVVGdw", "QLCiKQKzIf"],"c_map_largeint":{"c_map_largeint_1":-6230850447907143053, "c_map_largeint_2":3528493229248198932, "c_map_largeint_3":-8650405787175137103, "c_map_largeint_4":-1012597958915204063, "c_map_largeint_5":-1946609581332402571, "c_map_largeint_6":-6442468385683705140, "c_map_largeint_7":-8623427332697135785, "c_map_largeint_8":5802378617415814155, "c_map_largeint_9":8127826125763420400, "c_map_largeint_10":-3287011229518426569},"c_boolean":1,"c_array_bigint":[3896636481117712672, 1149257559150450773, 4444847181918851300, 2295578161246591799, -7451424030606358270, -8674408757113611140, 969535123852817101, 7385601015303338547, 2345073391210098696, 3191377235706188733, 3472193456118599435, 6157875812856794558, 23749974215988527, 1630537198968260207, -3803075935079313589, 3523481105450686048, 7083408475562771946, -9055216543543372550, 8484510088430498576, -890900952396544577, 8083855134910008858, -6310202092995234285, -5019815982335103526, -8398913512877134486, -8590313579001209735],"c_array_decimal":[87.0155, 48.0914, 22.1386, 100.0022, 4.1918, 53.0060, 61.1357, 71.0774, 88.1010, 15.0868, 66.1884, 28.0876, 9.0162, 0.1925, 52.0529, 91.1390, 49.0816, 11.0028, 36.1642, 64.1742, 80.1246, 66.0253, 85.0005, 44.1955, 79.0313],"c_array_char":["TnTKVpPJuC", "zilIODizXp", "GedlCpUCtk", "AtxDhqDMST", "PhgSMVsNMx", "iOROPNmbgM", "YlEXmbwesq", "pQJvSousnp", "refofkvgYT", "SvIptPnudD", "cVVoGDxsxj", "TqVNaWmMWN", "DJqDsgOfxR", "yCuLnIIYcL", "ESbKcWIrsU", "sCwAzwHfRm", "InXndldXOD", "jxxWucWinK", "VFmSDeOdWV", "eNTTdMVwfy", "ZeibwZVvTq", "ZAJUqyhXtJ", "JNqzDUEmoH", "wpObVuJEET", "nVQFwtrNZb"],"c_map_tinyint":{"c_map_tinyint_1":41, "c_map_tinyint_2":-21, "c_map_tinyint_3":57, "c_map_tinyint_4":116, "c_map_tinyint_5":-120, "c_map_tinyint_6":82, "c_map_tinyint_7":9, "c_map_tinyint_8":-15, "c_map_tinyint_9":-120, "c_map_tinyint_10":64},"c_map_int":{"c_map_int_1":-1956850005, "c_map_int_2":-1235952195, "c_map_int_3":573455442, "c_map_int_4":-582753866, "c_map_int_5":-149123149, "c_map_int_6":1936007501, "c_map_int_7":-1371682990, "c_map_int_8":1165001797, "c_map_int_9":1607410034, "c_map_int_10":-888360386},"c_map_decimal":{"c_map_decimal_1":42.1962, "c_map_decimal_2":58.1020, "c_map_decimal_3":79.0605, "c_map_decimal_4":100.0849, "c_map_decimal_5":57.1659, "c_map_decimal_6":40.1134, "c_map_decimal_7":65.0366, "c_map_decimal_8":55.1812, "c_map_decimal_9":1.1461, "c_map_decimal_10":95.1773},"c_map_char":{"c_map_char_1":"KgfUJIkYXd", "c_map_char_2":"xPzzIFauPG", "c_map_char_3":"DWUzVvcERK", "c_map_char_4":"XZfopWFpqY", "c_map_char_5":"MwmMnBgqzG", "c_map_char_6":"WALMdWKkkL", "c_map_char_7":"SFABehdUfh", "c_map_char_8":"AEfTssMHaL", "c_map_char_9":"lEKEuQHAOE", "c_map_char_10":"JJaHfSojYA"},"c_json":{"hobby":"Rapping"} }','{ "c_map_largeint":{"c_map_largeint_1":-2318659904660257464, "c_map_largeint_2":-1920387274054438855, "c_map_largeint_3":-160811926062202212, "c_map_largeint_4":-4015081655562778139, "c_map_largeint_5":-4387513268107216241, "c_map_largeint_6":-8692461389839397363, "c_map_largeint_7":3301849909897933383, "c_map_largeint_8":-8683377455262439053, "c_map_largeint_9":40990919191460299, "c_map_largeint_10":-8415298389506723485},"c_map_float":{"c_map_float_1":82.229935, "c_map_float_2":32.336136, "c_map_float_3":76.418465, "c_map_float_4":100.24975, "c_map_float_5":40.850002, "c_map_float_6":75.82395, "c_map_float_7":70.26342, "c_map_float_8":49.57748, "c_map_float_9":31.77802, "c_map_float_10":98.64914},"c_map_string":{"c_map_string_1":"RKAIPiMcSJCVnVedLGOThKPGAxpadScbGsCeEVBnpXaHNdNeGSQHaGwBsQgYdQpkLcKblBIdejrSaFxcIuMGYFmXFOvpOPjyxeivNJxspdPpJWTGKbopaACMKRgSFbOhyjRwsHCktaOGZwLqoQvyLFNpGVuGfuTJaKJGQQMBkdVTNzeDcniFuHlCxFAZTakrjlDEGWsHsukTFRyIHZdSZGHestaPIptATouAHyIsPiWOiqzVkPtkSBleNcskoxoUetdIFHRFIBqxGdbcXNShabCIcdXAkLcmqgDaFksqZvDKdsSWTDCFvqgTFXuItdlqnDukBiklbyBAOVJlYdozenamJTwQcTGHFaBYDFmVrIEqFfynUjLrrZAoWIQCBsUtOtwMxDxALXoHuzBhLYICAmzzGJkxMSbWPhtdpGCIvUbYWJsfDSEDywBCVDaSeiBIhYtdLvQyRTHbGplgTFZgsVYizTIhEKWknrYBnlLmvczYRbbJMYIuCwGKTxJvmlvH", "c_map_string_2":"gycyjuXzWrSLEgMbRZnhPnhAHzLjRSrcQwNlWWArVgYckxLqXMblyVKBiQtlWtNRfITvzBrIXswYsnxSyUAuDUlcOcPuBVqOrvmSvFyYhzjMvYrqZAWYGymglVnkAQyKKKVbHqafDvuluhPsiarcfVgWEslgnqBbtWjNUQtgHDriFKvKulttqHYBOyXcAyzBUkaSjxcCZZtHpIuMUEGGJezVQanfNgWyOKEzwPPMwyykpBYjexRDHovNGcifyHfgBUqyelGmuLiwezEvASPSaXAuXIlFmbLWOkAVTlGurBCftKCnaFcYYUHpOOUMMUwyMjIVpdLHKHDWekEhXdzaFGIUUtFCQcWJBqacLWPfwobZHnsQVKTFggrNdyKTFjLBZLQDCAziVlhFEEbGCzuChnHhwTFGafJfVPJSZKJRDAlgedKjTuyhQMMdEKDmQYZdlUgMEkpBinROMjEXtxmhapsisXzOELPYJbSKkQnahVKOMNSaQHVZQEJSWkAupWss", "c_map_string_3":"aJgktYhClcwgaMYVJbZzIalObJrtXTziWwuYUtIWyTEahTsjakekkkTAJIrVuAIVjgCbGdSUsoFfKAZmNPwjxxwerJuJdCjcoRSIOPNUxapHEprpcZuDYsRFjhnCQYjEnQclHCjWPguCDwXDwPrwJuEzmFkuQJQBoSvaFzxmDsnlaWSNkXdDWrUpGNiUhbWILEBISIZXHvMLtHoVTVaStxzzhaZHHLXQDBdjbGlkBaKuCMIOuTEZeoqWcHNnMvulUKuREbOEXgFamsbxXxXnfyoMbkfkDUZJItCgPJkuiNaUEhnJTBgqEhqYekjgYIFUgfmMArTcnuyyXdNWkqsMhKwOQSMzaNjjTMGZVciStfzcwWADoDUXjTBADcowPaAceZRqbZLbLmsyRjoyhtRQCeIkfjIeSTHEGduDebMdbfncckzbtgxhqedObrRdBrEIpklFGpPVcUDkRKwgjaAzLPbbbrsAUOTrRhkbidhnytArlEHAXCKzFMvlYRTaQDQV", "c_map_string_4":"yPNhygUgwxRzEzSdilhXDYTwbCnkVheeIPurzsbBZXUimsbqqKsSADfZcGWyoaKTRqqTcMgjdlVAZcujZrpXzAycSWSzBDvGZYQRzJFXEuWNuODfpufhJHcdRQFFncXZLvooUQVLNsRWkkXJnHDxbHytgBhQaVkiqhacYSuYrOCyTLFccsGpSFZNCDZxnGdHFEQwDGqfklFiiMijsLmXEXXYvQNQkvIWsrZjpbRMcsHuxvrWLyrvoTHJKjsOFjvkViukBZomQFxaKkNInUgnNjDnPgeNAcgzUEGiGNIdNKipPOJYSSxOrZTkpSbQHpGuKkSVVIeWaimDwtfenNSswhdlYmvUUOFhKJMYMOqECGsqoqWXnrIMcVCrZtcStKEIXOKvdVxRvBkFuTSYQPsMAhNyBtFAomZMvGQmyMERzGNelZMbBxAuRKPxxZPrWWItfpjqGUqEiUUvsuTKXRgGgusYAbwyaXTXSHrxEKgpWfnJMCsYGRgfljpoPhXBjgQF", "c_map_string_5":"JWbmsRTEmEfSYIHlyTGFDlrYoKRstfbRqAGawmbhePzedoZLqmuwVUAnOfcclZkPqPSaCBLGIYVRbNBmuIqIKwZQsyBEEtDcJbdldCJqugKYTQwNKZApZKpznqZNEiFTXfRrCnTPprCIDOySTcFkCbUJyinsNmYgRbeLzEKuWHNSOyfCZMTpTLOSyHZZZtcClZHGTzlqfOldSpFXkyMsBOEKdJNZOlfKOFWMmIuPNJUBYlZcHrfItErmxCLnqZMjLCWoEmwGiyxObtDxnYmBSoAuKncraiWDZQgHKalsAYvCimziENyLrHFeKeASfksnTfzukExnIiMQrrKkPkxmYIXqDqhDIpHlDpNkzSEitZwKyzXkpesFSCeGqyrRLpkUwOqYXMLDOnnfITCaDmYfYbXEHGlIeeXtJHRNCdUqnvfQAXtfTZRvfdIlRXwThJrRftWjGzPeZzFWYdYgRwLwNWuVODHwIyoLBxVGojIIutAMtIWkpcZtJWUIfpjRUPil", "c_map_string_6":"pXdrrkkCSzTpzqaDtcQTrqvlyVMFYVMMSTXCKFpsIvsWpmSHttgQfONnSguxyGCLzxeFNEPKCmAEhLBSuFTvAwbLqEZBXCwnrEAScoFMAbfNMUpcUTzDvjUAnCjTAZOuZHHpEOPAsvIahhKazLzYpjtkqHcgGwiwXZvtCQTmiGWJbruhAIvJDmLWLexToRkzZZDxpMOOotjNcDJmmNsZtFUMTIDDVelXpfzhMdPTaAxZySOAkPlIKcrKukJLuKVIPHQDcRBwMwuzTpBmSFlYHHTlJyfgmiwnysINSnLuXpAgqciHPJHOgJvSSCSUvPZKLOUkRwgKRxgwEwEvlAJsUFHVoWNlkdHUgrvgeSwBdGaIOjBdKJOWpMQCXFViDLGzPqFDMiclxyToNSyAZEiOcioOnSwkMSKQxGeogQrpKOXUmnENDfrJUyOLiFOEtYswxCyMKlQqREyyYkIUkyMIHziHZzMGrWMYHmdatdghhmLNQzyZMEJoCHngBNsoJMhd", "c_map_string_7":"DexFdsVcyVhAjexnvbmhThqeNvXbLMqGibqJaDxhECdbmqbMlqoyhSmrekKcMrLfXepwhHZhIovKordPvEUKIQCjtDXJiUtseKVyqMIJsKCNhBsrogeEMZhJbNMmzpJIHYltXMMeqxvBGfsSIWXVPrrLFkpZVIXCNTKfFUblyXEksgOZiHvYnLNdqrEWwnNOjNovTpsQqetOUZCBuvgbGZWgpHiJhbMkpuUOyNIemppRlGtMpGaMStuYUjUcBMVCWIQRNocLjxJIbMkBCLwdzEhErejCCDWkEmeTfjiHYHHIPtNuQWEpFSMwVNbrmmIsCMsvjGcVFQLOJiohVRqeOUinKULmhKZmqBzXjBdGjLAjJadvXWMidQSRFaauLLCWzfltgwUtGTQqsmeattHdaqvwJvfmaHSDJyUHlwxrJkHeBNKcnqRcMMEXiTOKyMqIcTaxmSjmWCXiXlQuJGEpMfEDcZdrXtJksARALlyuljLWBXHAbBBEdoobsSzjkbWm", "c_map_string_8":"DILWNagMcWxOscQYVRDglVUqqlLukhQULhDmlyWAwmaLPCMEjwlwfhEXuIcrQAvMbfTONYyhXqbuoyPiffYoVUUWaDfjYbviTMGDigsyTAcHrfeeRJBTvtFCwgqCOkuaTZFJujnVMOYXHDyQiShSMBtBDJKgLRfXtHFRHQMpsZHFjCnKemdgBDDgdTICMqVhDoISpHnGSAGOGWUFOGghQcUXUxEfLkfcWawLvsEUBreJpNeJkmIaHzlKAQXCXZGLRCtCrsdqmaLCYwEUEsrXUOcKWggskoIfzcOVQisKpHTGrGeUwMftNcFzuPFXbXgiAjlyRfhSlyOujbUgoDwadMMubwLNIlPZXFeHUfbeNKNpDUpdzoXcMzYVQOHkNoyMrUuFpiFwQdagwOjRaliYXQRYPhtSpmiRaeMwgzYvSbaQtYMLENjdaTuqvilFBbfJAYinNEGPMkIsGlpuamqnJNWIfwltDoOVPLFwCONGwQbIgwyYYrwzLjRALFFgowSg", "c_map_string_9":"yGyTAzaJftlMvCvwkiAXcSyOCYNlgfTzCPkdpycGwDaTVLFGXHNuLqAyGXPPnDZtmlrVqNnQeFtEZVVhuicosXxdsMygDtHQrONpghqFGJJIXmkLEYbzfIJcoqzVWDfxbWsqRxbDNnDAjKcdbYqmgpThTsyrfBhEhoXvtyULOeRESEtLoZpjHjUDFVWWunHxeUNzuWLyxEwCoxhfVlgAGjaQjkYCuAsrEDeGfmAgKmoJaAEXUfTQVgAcvymTHWydtNwpRCtKbJaIeHvOxkrZlTiUjhemCogQyEwnYwHEpLubHbDJlfceeGPAsqlVkfNQDYfeQHWfbuRVArVATPEBPcxqRjIzGRiEJWssDjhsSgGmuLwwUJGfRmRnOfSWEmyXdwgpsVfUmZOEKlqNbwiqRpZIqWLzyhIoaFJsbMnYOItylFsqCxnXxEPbGjPOfeNNwIiAEkHvFIeKnDshcgfRMpKQzfauKcEsOlKMyplKwgXZsJJvvdWoPJpUYOtuWMAz", "c_map_string_10":"myALHqIMVVJGqcTAuotbopdxpqDMQpFQyjOrLmdmGwwfXSxWUssPbEjwRlJCBInlKHZBYFGwfHyChbHABWwkXzkQmdPfzBuJWLatgxMcEUocEDPAqoOQRUJpAtuIecifWATMBHJUsTnlUCanRWHDuGuGCGKkpzQgRAjQILuSAXjoAZiCKAYFmpWzLBeuMsEoseQXwXCvyRflvAfoLCqMiiVDWGpmQLOdvTbVvQcmNtVCFkTTblEXFGibbZkofjhITeUVGEYOCozpjnarfomLoScSEEoEJoXWAlpWHfMKALIfEQltBaHtguvwjRjuXpygrXcWYBeodfNrsrwcmgYceRTYjGGOVVeTTvvlQIHoCGwHUQIJfteVDIibduJELqgsGKZjRDhFYHPgFTzSARhqtSQSyGTXwrFVwklnsNCfHJEeZswwcmpAjcnfpmFwDjJQOGAPcXzycaNxmoqUyrahLKqtfCDrOLjYYqhVMOeLYxeFNnYUTbHVvvyuFyXVeWfl"},"c_smallint":-13477,"c_datetime":"2007-01-03 21:56:50","c_array_string":["tfvEayHzajCuhvCkAYahAvSwxgJxPbTzHQRpRGFFelCAUSGWtNzcQxMjQXGjGeqLmrgNVuKgfUcDECnoMXBnixuGzvTeOQHRkFJCnuRcqYMjhNrCzkfZrlMUXqhireAJNgdKwEIqqWNcysPfVhcoHWdmoWvLfiiCqqUZwkKuyzgFSgVxrUQfFLxArrDiYdXJsnUUbAdFgtMhWADoBtIxFsxqtWraGmDZcNMywClgsDZSSkExSiDQCmqcpGLnlTeeHeaDMSmUKMUnolhWtrmLIiUwChUFAzNLxvRfZuAokizMZkJOtYZdKnXHNRCIDtNHuILTnQGQSMeAEvcEEhuSMUQnXVVDwrOPxsEpIkfMEIdiVDYYNfJigeCKweDGOUYSRwPglcRwHCewfxrdrozkVvMuRoyktZCbeKucMPkMRwLAhXCwQKjtBXDJOziKbDUvZpslDATsVVcHIFDiRNljaEnUfnnneEUKxqsFiHZcvmwqYkeUkfOEpoAxuFdvncuT", "TSqRBUceonxSBhDNEoClrnLUdKJjBqRaqjhfOuCzKZNqAgzBbCgQNRdwiHJpYJMMSWxpvEQRbEBBsCqYsycrAobwprFIcwxlkIwzRDufSdzOhFUWtLjTHFhIfTzrozbCVXkmtFQFnCBbNDAWGlYydRQcDHTgAudnUHFOkEUgDYycjdXpPrTYPZLowtboSwjOIrcbmTKVHblMtsMaMZKThDNIbQeOfSKNdyyJFlmtfvetwxOcmYRuQLRlOufHXoiISZLebrCDAolqSexBKOGSzrJtzqRZKEhMMuIappvzHeKZqAflqIHTepicoaKmzjKOIbbjpcrpZTjpHafrgknvqnqLnNxJvMMLMtBCluLBjmLJdDnUoTBBdUOPIJvOVWEjzLqhVhefDAuVCtEEXrpdbRjsSCosoxgPSlPbVNCWElFMCpQeSDYpEVIBnJWILIJTJEmzCxwGWcxYcGQbLamCcFKJphtLPeTpzrJvQEvVReXMmEouifdzcsVRremWchsa", "hvySMYhRWDQuZWiecGAsjzFSdnyHrfmpKLOfUysiYKlJtFwSqzUBQZPfJXSqKJjNqxCzRmuRvDvfHxjeixkCuZsMLqrfbYybRUvDBUlaEzwgpoHLFmSjiVsmSpwYrFlqzBaYkkGFTSgcPFqaQOlKCGQOLftTgzIPbaBQjSVXxvixyrTWuDdzKjyYiMSKNuQyPwzRTPNVnkwZzrLuGtpaFENdzHQGEOmNwWOvoPqPbMHzUSUTsXSVanNTXnDeboIbZcichBDMCwioHnwNDJxaqlPJQnJIvCDMhqeJFTiZbrOQvKqyOhUjYuLAiTbRAvboOVrEAVQVKwskpXWMGbZIjjEEkytfbzAXpohRqAJiKYfzyrjngjHcSlfsmJhcQioGNcklluDboMojINnNzbGZrpSVDfYgfHZlqMkrvyJokqpmKcGSxsJMEIwJtJnQHILHzoIYtaGoUEIPoWfWwSHeSPrOnkhbEeQHdSuNpFdGOWLrEBNXaukERpUxQHAVDmWd", "pkbRyCCCVTzeDOWrVwUqzhTRoLDrCJzubJRhQUESJvICYXVIKBgvMwIGLMpLqODGdDPdUuclESKKpfbFPgOsGHryInYMnJLcfOspztczXqyhisVawcFSPcvVphMqyUdDvLRVPPQaWjMVaSAAKSdTAhdvNPQmbncjxuXkpxEVtGKhQMeulQaTMmZRZBxWfHNVyIgAFqAlDkSQkqMGqdwExrBAuXcOEFyLxTrPHCgMzimLRNzLpFoOkCSSfyxCccEuLenAAYFbNiKWqCxuVoJOTSxheSlMpWIEZfLDxPRmtgfNbJdWUmHLQdDfxlHwBRnUNwkLliKUatkkTESLzUWQVnqtmIAFLTUyaxhrvvlgmziHIeiCfgwuhXzkBumpaCabvhwiYLgAAVwLIFxOOQxfCqZkxZMkVgzpRkQJJFaVdRcdnjxbuWjvDLkanASNaELNrWMuraOETuxEXHsEwTzMkaAipgxQQrIajdbUOciiSSnhqijeEqqseRAAxLGmfCvv", "weYQIcAnrkhzLugQfwfCdAIgecFXVEFTkquFBCUyiutxywysuWkyskijMEkYpygBcHzQKvOvgWaMggfNNREvppyogGavhSOZnivLvRKVztLAVCGJXdJRQBMFVPjKcvddjVKHHorKDCkrYjyOAMYOGsHgrmKNAtRCEiUDVDKWxilGvrCSprRSLmjCBotMypfALUIMZaPKRxmBjNHRyndIvYIqKtySPefVSVjyROuCDsSacXZCimYpYQdlUXHZbWGtPjkKxDLnUCIzEPKCgtwoBtirSrauvpMASFgsEtPuMccbGRYCCeKncAnGtekAPyzwzUhoCiKkwfLAyiRPGPztHNZMFLBwguiixFtgJZQEDlULwdeKhYIbyOyzRqqGSqEWvbIhnXQexCBaVPcdenWUTafsvjCHXytEusivqxgzILhmvRqyejNpdeBMcfheWXyycNsbpbCBPmAHckLGJUgJsjKkJjoxKaiTHwntPAhEiQswrVmNnqgUPSBtXjBsueKL", "BCHJLOkTvUpXqspJvfyDssBGcDIUqasHppdqPwAAsfzmcOYxPPoliaYRUydWwMfksHkiRzaGCzOmUfiSGQsXcTVusLUzeHbzNrqkyBCHNDLQvjLNyNOhgGNCJbOhMxmbgBldkMrhodJnFINgqFohHLadrLWLDAjuFNOGLHrdNfPHezqVKpZkEWIaQfytffZIyokLNiKvxAqYGACwqrmnfBclufeQajDYVPSyzyEupXrkwcPHoPMLupKAOxFauamPiYospnSbvSJTByqyXJWjtJZaNBWiokEIbQKUwOHyxxCKXdbOvUuWuxRKivXxixQZVCWrsXygeWGxZrgHuejTdEpByEjDnhwBwxaIYicIcybDmFvsPcNWxKsHRSeSjcuYuiaclrWcgUKevxNAjYnafWvjUSmbaXsUNNguisdiJshyuTQTUFrjYitFwfhCyWbdxNhogMnfUYbMvllQlIQkKsiLrrkISLXFBcxhTzPykKufabYEcqjBZHDxyiIiuHCq", "alkHUXxagntqBiywAgUZVMCvZxuZXawsWsKCblwiNWkZSQaGNQfzdnWPKuiCyYCGmAhugvUbSXywUqYkvsGsWBLaAOKjDuRsWrOAXXiDgItQuoaObABBgSXUdjFYVUnYpdyOpFfnYuPwqDNAqfTAvGitCvMOocDJiRqwQCOsPPdUlIPSICgrlktJrMXBLJrUeymqrMAJlrtCijhtMhWJkgllSTdntdxqVkHBVpFaWeVaHLPGFwQYyRkTuljfUutewnPrPksoVyWAxrXyhbUSftEheMusmRUgwhbLAeLQWoAgppHXwQtiIjjLFfOnVcgqqMYDniilWNddHswsSRPVIkxdslSONctddaEMGrqWtNihtSmHwVuvSCtSYRehiUJIyeTMtrnxQcdBdICUSeZzacFVgczdmGxvcJRBYlKBSFJMXOLZHQUVRGItIJbeKZUrhTcjkkdOZVQdfYBhDcicOBMKqLzdGxaIdhUPHNzPnDswvcTuISegLSpgfntLadfC", "uLLzAUfxbLbGeyzBSShPwjvjbvLXXuXBAZIONJRffXWZyIIdWpKeXtYixpowucUJSRkOeddEcmSZpHjHYpvgfnCGGTRtXrmDAWCqnDllKulcsloawCwwWrFFeHrZcqqKgJzSvfZRDAnPJBaOrbEFnmXrYyKxfJbAVSMtuzRFBOndXSvdexeRXAgpvAUehyYDJocFApPBaREDSaosdDKfGKlScbaxNzwEAnVyYUejZdozeoOAQBunnQdeDNeNIclOMMBjnbcGRXWVVLYKMfRVyAAtSUdOuLfPQNqulmrUaXEoxWnXxjCCHqAdUFGzyPqQLJvqFnAAYtMuNitdxukKnmcgWmtoFAUVrxEjzSAwwybrOSIXHCKcHwBbeIwUDqRleXZAeEZGIbDPafECdfbYsITIlWDTgEMMRFZGNJvMxtlrPTRexNGFzGpersQHBOYkSKywhCFjHrjcCVRtNMvIPpEEOwUovzRiYCjJYNzOzjOrGmrEPsRRDHLtuHYeFvPX", "QgBFJNfwXYyCvVdNIcnePiKrfSruLDcezANAviDBDTLRSuyKCviKAXoNFvnBTFERoTTCcGbDXSjSvDnlWfYHPZFvlmEUweKIIcqbIMSoUvzQcWXUBsqhXZjDIkJIcgyfkJOYcrmfiqEPKvyhCnJVnSeJBSBJIUQaOAhFeIIRVkPsuGOZiCwGfbMZSzaEPQkKOHRLJfhEjzyrWeoAGhjEpgmqDafgCwormSrUfbfNsAAXReynWVYvpdDvsBQHitcWuxSODiihThHtepjDXPROnUJMERRZzrMhUCYYMCnfAdFxzFefhUWmjmxXRSoeqoRnAIWIcfNUNonbzsFOiXSBxqJObPvQSbtgrIrpyPVXNrUrwjhOiageCjeIYgPVsXMghxDOnkFLIyhxnUhfQXlvmwoDLoDzguVDKTEmYeiXwSIplfeGzVZCLWTxdTPKsSNaVKcaVRVIIsudQkXycLpFGsUztgkxfMvrxHGUQCQjLXiFWUMkywtLyWnGPCkgdGCu", "RdimNwVEGVQsZmrwIKaRgVTaUlwbrfGTBeVRtNLJimkddpCiGbRFkcxNabTGiWehpWSHqulkixOzWyNbgHiJvagylsgExBCDhOctNSGUhcscuyrPWonQHvJQTZStSRfkLAPnxNWnQMBfLJxtCidHtwaGWQvEPQTAQQLayXrNVdRzTmHQicgRvgZzqrCtowBxEEyLRlOajzirOEpMBQaczdRxrIHMzhgnQgBFQwSkifctBZkMBXSiuESXeRzbqicHeAPbJTipFGoWKOsjluorEzeNlmUcXkOXDMnACMczTPVmUwIqNIYSIVszsjbqlAZBUpxSYrOAkEMqgvzkXqFsUzLhkACcTzOrTFZzoKHPigAkrskjaMBngMqZgHXFhOdnjQlMeOaoCSBpWsHSzkZzYkNmLGKxiowZNJOcfTTuAgMRvXVCDhPKXMvNrGMDvUijsvlZxnoLmtrPZWPdGklVGYGXAZApDtwHbCiRkSAuoscrzGsTGBZwMoDSNIdvhqBD", "unddESAXFEcQqgvVbMuREoPbLaIcMhTiiKTpcewuVyOmLnYEmrEqWZzpXAVlaGeqAWRtyifuKaEWofYkmWMgGKaibeVAyWovcbaacEZAwWrwWqwUTOawlaUrHLnGjKsAVjYKOJbbgqUvWreCZWsMPULdUJcZDEibXtVMWZrUynoGcGQCDNVFSNAnVYopUXIPNkzNwkTpiIhUNaoidAUvXqederhirqtRBuXDMBHckwhBuobSkJygloZhlLNMhkruEblJltdYlzIMxiCfZcoSeTJZiTeKlvllsiYZgJHWXtNLcSsjdVnZtkTIFddMXOuFRvSUlPKqEJstFdpMSGDVdRaVQnKxQmdynopzmpKgiyzwiGmrCjKcsTwvRXOmHCqJWcdmHlPbhrhkcWMXaLzxJsHSIvTlqDfCwPNPztSgAMKHdVXBcFLFxmWoYKRFxfKcqUEOmettMyUrLQfxZhfbMvKgQRxXkqPiIXtrTkCrzjpRcLwdCYNCVvPweVkzErjs", "hznNhlVywibAoSUKLRiXpvVYKRgEteYSWlTzEKlyBGXFUYXWVHUmXaVZixxNCvWXXLVYArHekuJVPOMvKwcXLmqsqDSyaquPuLqXulDsqjvbFKgmxKLjnKYnATSdSTSguftVbamUiZYkcDjuassIWNqFKHryQmeuRnGttrfBfhsKtGgnjQGvsDyAKbgHYjNmDwZQkWtiFyviSkDlzHesYAPMbGMFhjhxxCwBoXmyXPKMTWHmfAupVmYYnHRYtHgGudOSVxAHsWOElHWzKWczXCDDZXJaNwFtbIXDGmyFNGekznlfVYSBNsllzBgzPSmpAdpPtyqkIexGmgryQmRYdfWLJEGvoYbwUWVrGMEpKcKYjROCvlvQbOknWDNuSZTdTiTOxLJnGwwEPnOfkxRSZHyuJrexYGgfSAmypBGSZsGtVrfvBQZQdmToWTsMnOxDmVCoymxVDgUfoZshWPicAqnUwgzJxHVZtSkaluJcbxrttvLrceuXGDmzGsPVEvyp", "wPLyaipgGrNCdAkNulsIaAOOUwqidprPYYoewgfwEkmdKqTXbLDuaCVmCmvXrLBaRGqOezertOOTDxOmwSOPyDZeypHOShMkGlnTeufzCPNIIHRxdyaNNTVucvgxECuYbQtrlWrdUDrTYVmgrCDiaVFsDhxMFjyoPawIKbmiYIPVfeOmSjAJlEOpbLEpPnhvgHcVKXdvRACKfNyzpAEYfzljFlUhYcqGkFjePEopkpvsqofnTkJsRIruehxsmHJiMRSSSnJZqmskmaxKyOXWHRQTniCuzUGveSuDBkXrUGBpdihRcwKLaOWcGpnaUoMuIExbvXokiSrnsasfGHAvtxTemYrrnFYAHQedCdnKsRMmCWmlTWZdTghmOuVrtAVjaZWinnLeNYhvNaYKwGzJBDeQFMCCdTRbxBSxcuPZFrgtifsiuERQSvzTywXaZtBeFPvdJjQZXAQgPxyfKETUultkPvxEPOupvDyyzmDZyUqoLlJPtEqrZpHQuJLawCsL", "EDbuEqcrbvllfRoZNBakeLJIHlQnnmmKODfRqBtIdMjuYpDyOreKpbSJUkarUGpqqbyzEQEJlGMUMyrzrqQeWnYUwDjrOcrHMWiQVWndLMpZALJhjFlNCdxZosSLaKPgCTzczIbjeTtePwBIazZLelQqeXyGmOhAfaHSliBacFPjIpNgThQfnhjbXFMfTuryQmfqOmjYdxNLIDCiqhsQlyoEsnLhzHIYeZkAvIDaLRUcarCcOHLextkXqqSCiOvmFIfMQvDoVVpimIsSXeylpQLVCsOVvgeGUiqLqUzjqfCQXluIxWjOTFueUPfpCSIoIuQHaaePkrfvuCHPAQjwTMojFLLrRGXNgGfsQgLRkWnLPYAhUPBKIFuArWaWVLmyFBZOlNogJtyfWNhnRuonkUFYVILoELVbWtOmmWtQLlXQEtFdsGlKSWAmPXLDcbBWXiWBtZfeqGwLmTWUKnojewigcqtwFslnZtabSCskHqQAnocLVQqCjmgAjzjOwDgy", "tsiOZsUQODHCCGJbfIFBFrmBUKeTbWpXHnhzXivuHrKmjVFbnIhRctUWMOtvuyMcngkFwWNJAqtlEBTgBbGmGfVdZrbnWMOyEHRqHneLKrWfEWsvuLYzBQYnPihHPNvsdACBVbqGywdsTXhzFakXUwtAhgTocsNzuhvpYUDrSoKHxbeSJBHhpYrfyCKvFpkHUUxaunbNStSjmkHigsDSgTSOOlmKdlNIwXsnZWLegqgRccOPGIMkzSbJRzbcBBfhIpxLLuOWgKvBeqSdNNtAFYfmDLMIfHsIbPMjJeEglCNTIkDRqfhbIonWHOYDrEMqJaZyERUEnBCLTgNqXZAfdoUDLhJtgyKimUvhSOaEHjbxnAcgFeGsibYrhvucHutHUYuompxhJjeiVrDtgKiaecZQVuUohbRUSBqiXYCiWFARHflxepbWDwPCFpuBmeKRJxvBUHMNPjqcTfGxWMGOhqJfZznbqIrbSTZOEQLqUgEsTVWlTRSrWrqEuNGGkJuX", "yJetWmZFFOvjilUTCXKDUbgkSOpejVlXknzCfokGVkEBWtZRZzpztHUmTctnixojOyzuwzrICCkRZeVioLucEBDGOJWlSbDPvOKJMMGVcfOIhspmrqivfhflhTdULFBwAYTUOLMIJQQnnXTBbuWKqkwQUkYFUSyYeYvQdhALMQrhCEmmcJfPIcURTQuOvJqYKXvmpftivMrntSoTmIQvoOrRncDGavDpjsjyMPiSFdOwdUWtUjGDVZCdRtmlOfIGJKFeSOZOJnyoimrsDLiNtgoUtrASQVkwqihfHqsmcuebDfAkQeEwweNubkBCjLhTPtIxIONWvQNpBSAIMafwBxrcNFMVSOAmWiFMEckmbMXuXjEVSQjnOWDDkturUQyfJdhVxPHFqECMWGCUabrztVJtxmgXkgyMgOeDFdDKfeBasbhmKujUfMFZZdNOQGwRZZzsiDxgQNttUQBcPoCESAYUeczRDTxqUEzeeVYsjaTdiWJCAERzDMoiWZTFvWve", "aeLFfPNGlMULzEPrFKhAZpANAlLvZDLJlIxUJwiQJzwNPDUsytAfqufjtpnGqzvQDUCQlfxJbjkKxIlVYDESIPkDkblBzoqKaSboYRbfnWXRUyyRLlUxmFWHBlWDrEAxQmIrQHiMUfqgHxkPcTSMfMPuLqSvRCOoBPPsWHWDWzGurwDMlKVQZErNRSqCMRvZKqrllmTrNYPvomxshXyqLJQceLGoVkXmdRhLmkkQUAhycubkfnITimQWrfArLDfUUeLCBiqSvODXYQHjUWuDKXvAxMpRuPZwVMHVrxgxdzKJopgKMuTTyYTRBnAAhRSCCkZDgEIETYBGNSVehoFIGQNwoCZaDVQSKmcuYXUUrOkSyCfoThyhKzvRgOGWJEjHyrALLeBjmnoqlVdJEdtZJRXExgYxKhTuHACmkhbSZOUEWFgGOJtBoVnwslhCXpqXKkfspAkcTWVAlEvhVKIMHqKowIMojazRVcmQMehddbyHkDSPkyhcDCdUPFkKaQMb", "TOYajKLYNEdLXISnLeskVJgoTCnaiqTYLmsZzKgmkefYroIYjijnAXfCivoMsKILlHskerloGesjhhDhDaRVxheUedecNcKTVSGLTeMgCSWxFgvpHVonBwiswKoAwNDLSmjCtHPSBpCsypCFKuUCRUyZyvumdwysIwojkiMZWmZCyjXbekIXNsTngUbyQWANXhonJilEpNzvPEvpHbKNatnbuPgnZJZGrmVWNGnhpwYgKaNprKBsGEkvOBSnZMUZyTuEoUTTvYCtTzubYrRiKAohJbCrbTqTQEoBHKQmvzbMPVuzQOEYHlSUykUQrHxPXfGwKILrnjuLBCtjYsylyACYDXDxYFzdZLPVjuAJTAvTUMaizJIGQfNdbldOLQmCuzLenirIqyJOunsZwGYBlnPmvVaeGzovUNLlqSckBEaxvHnRGkagcujcRZWDYEwtUAXIjvLMHCmxXgzidfVduUPnKBLiVpXOcxvNxUUCGbxGeTjDsjsedSczNYmtkeSF", "HmChffWNvJUBihGxtaBXDWuUFqvgPZlJbMOrXzXPzAOkTgsljtcCYLuXbhEAijMqzocjAtlmOKXSAqRiDgOhhQDValhgAFwwSkoNFkJereQpSuMDQuSoCPClFRiNacGKAUhbYPomPOdEgCZXDBVccCCHudAbknlIrgKXHoHUbOOUDVltWhSWCgIqJaQYxRQCfRpKzdhjVMXOTrWDQODwAMQIXTSiAgChYJqkqWWNlLUXjtgKwxllqakfZdNnlOtRZbZqoPrziZHuTsswhlxRUqKncfhWxdSAchDPrdlpyKbSVtIgZbuGXrAJscBniwAGUKtGgXzeTkfIONpNZMIHOnTVeosLQANVFupdqnTdFhCmxOyJXLHRYebnltLLTtipSCmEkVCUQeRrtDhJAqOOdovaazrhijYUZnxbepXSyJAjoMILkIpsSlQVvtGBIUStaPPIxMydFwgTCFQaSXbIPyRDlSowtMoljxgFDahPHRhiqokTuLbDjpzdyixueGoM", "qmatginDyDSOvpVmgVjmAkDuzXbFfyHpFVCwTeCunkUgmBbQUMTRwZkJLzdboZlJQHEJhYgoiXankovHcbKMmBTSIlxrWIpJzHErVjhVpfTopeAVAtHWetLUTQexRvMkMFjesUiAmRCKGynXNGKNLbFXFfIQPpBcktsZVZVJEqRHwFJPGBTmcESPDSsEfKHjsKaAhRUYzylhTLvuAYWIRqnFwuohqfbdDmwVqJzudOHaSibnSmuJAiSYICwprqFtQrHztWrpyZpcXzYPzkvCxiBchdxQNIXShsectegFXhMUpBoDCCOQJUDgeUjyqzVvpUqDHKMQWrHrvoSQMGTbQGwiKdhsggrHCmniBVUXeUDwMrjfZvnCeOqlwdaYYOBscreamUaRVsVWrDrNMPklZPbKTHeVQzaGHqAXkTXncrogKxRskbUfmrvAIFjRgqWXbSPYzsobWFiPUWdyEniOdSeQmFUcpAfStRazyjcAZwjScbXMARWECDcThlYLfBeI", "jGgMiMWeaqTdvXCMAhNKAchnXewivBWdDBwROOgNiMGWoBxUuyxNlbmcSQgdbSoCazpBHksKUfXVhDWXRfxrpzgfCGPclAtnEMgSzKprWpicvHXaqvKuEitnnBROzlaEBClTEBFfgjIKCHcaJyydHtotLEnYtWEKUFQCZkQpWlolfXkWmVEiPTZVUXitueepuAFlgCeuyAjVREtKvdEvRkMrSoNSSbNpeMYGMvwRJvTTdJeHrvkxzUEEeEntZpLiyrzYzbETDQhybnywusrxFLCsAzHTwntKspxIPPccZJOqUvWIuOwltrIcDrEdKkMEbOasjlclfQQrEtbbwcexwUnydttGcIWxmkeLNwxDgwGRIRXyEPDheQhAEhXedFaHhtcOSqSwMvYgPMHthnaaxciJDpcDMGpjSTllWXNqGWRtVvIojmPvLBzEgreujaLapurIodJwfKbpPDVjQnrCvcohxzXfoFhUmcYPLZDdAhInvkHpdUSQmnJuJJHDrRoh", "LaCAFqXDpmOpVkdeRdZmPqfOPruQEjMlqrbsLSFdAtGkQXrmAFAWtHiJxOCzkglToESOZhVQBwPJsosOsUUYCPVpaxdYCpzfUTDrVZomdobAGqOTrXFcplVttAKznZSOwZBEgKRZIufwbjHEMJmRsRAWZlzoVVPzSBHnGngNlyWCiAxAFNyLxjopgYWwaSvxscQnFXpuaRCLeNoXMEdfCBemFhzWbgxFgPHHYBCLpHkxspPKAVIrFdvXGfmCLDOIlffddHQruekjErLpSBxwLCvlTmDRliAYXALAfiQxMpdLEuoYCwZKdtuqjUMOKJSJZpbPVEHavwHQlOhZMBfUCALZBKbddkYoNsPyylhxublrUceSXgTsNQqwECVJqtWWSjtOgybdTGjIKAVcAKtClZVktfohRPizuoezTzwsDUPjAAOPOaVmWvIUzGdlsdWvWlgjNJCeRGTpUmaITrDDvRuZiCPqoYOUjZzbRnKCQuLoQbdYdEKmpIZhcucrRSCH", "ABerBoCCLaFANiLatGirSuOghnoAmYiabYdhJOTmkZFvLmsbtlgeOJtXMTLhwaLLxBrTSMmvysUyKGBEuWBaRfwadnCcesCSRfPOjTGTGMIymIlofjgdoRvzhiiiSpFXHNwVdVUfEzBBVlZRwUDYIHEMddVfEvfgZxvtTgQQtCCrQRiPrZPLLOklnNVBnhPECTkoonhOgCwtLbDXBshZbFFidjTKQvxhYfuRqKygMuhwkxvuBSsyPzwQjgfplSgnGdyNenLuCCxNmzpVBLJSbBnIxmLPoUrIKmgNgQfDaFIkoKVjUWmpEYjNRiTaFOJdSlXKoINrsdbKRrjPNRazqKvvMznFZyyObBruPuJCjRdcJmRMLIUWapvGKavGuZENPpForGRDsRsITQbEBLLlPBVCecpZclETFGVRpRJTyMesOdSEUYcDTyjPwAooQJVbIFWhxVEWAOpEbtlpwCUbuLCFvDFgSEGYPbWAlWlqXFZPecrOUIxYxXeGgNoudgBC", "bbQPjdLPkyyaTPwbHrTfFsAcQJrIfIUirqWUsyMJqnHKxrsvlZeFJsmYaSRIoSrSaCoQFQoXKeqrqNJbITEHWdDeWmxurrtVtZGWZxgCDYcRdinUMOLGkvBtdiUazQDnqiPCkHWBueVqwZvsXgxnMbQEdSFXSnOknRAHsXWWUTAyttKyYTXaipZrOMMnmsRXUWmLWFmHDWeJNEXShtTqSZVMSDvqEmZDLkeIKPgCPkOlIECImURKwnRAdkjXVoerBcZRdLxyrYEeSqYYGFGBNvTGbeHdJvlsCtJEFjnknuxNNbgkhsrRtdbIvtEbfbsssnjpiyvWCECITNvepGxeDklPJsWztnLbMHOmVQRpVJdBIrzgUxmUsKuABucsOFuOcikmfKtuCisTMFuhnUlyVdzbXBDNgCvczYQMkXetqyjfZwMDRRZusNzXXoMrUBwiHTDvoPXEDPhOwqSvHdohDjnnMRzLMxauzALogsqucHSMuCpIyfMepRKgQzKDdqNl", "fbWAGlVObiYFwVSXisOfvVSFmtqwOEIGmuVBWyxBfJZYAPTlwlZmEdnqZWmGieyjXJqBybtLTcCqJUZoKYaNoYdPilipNLCnlHMhVCWWPRLWjnNzWoiIeiCWpHnOzyqjRfBUkPRUWzZLYfCbqJAbWcpkIxtMihLiBdAcOxZUmNaudrCpXhvxxbKTIUqRSwpOCtPbjhhBEnlRbshonajjVCLiRraPzHWcGIetLtWOBiHhtlBHqhaROtNmFAiNTAjBaEkDHLXlgFkZVQpIPxpRGSXDoTtfnwZMLEfskrYLOQLNRldfeZbKxjNIrewhbQWbPcgPlnYedpOPxTRGtgAZpcpRNIeNrkuMhlCzRwhdqcZnvopjglcHnSPHMBivXhoeHkmGbSWQXOaTPDhLLecrPFEGhsSoHsEDwrppuvAeTAOglTakwGbThBbHCMnmfHqHYBJjrHkffznhDgIBqAICNilWpVBRHdNbNuVBmzsGfkjJJclkKDAtWwvXOwhSMkqt"],"c_map_bigint":{"c_map_bigint_1":-1449520836918619919, "c_map_bigint_2":-3962981593038680157, "c_map_bigint_3":-7627493038681010753, "c_map_bigint_4":-5681065317335881092, "c_map_bigint_5":-8613437339508953978, "c_map_bigint_6":-8435073406558534937, "c_map_bigint_7":-4302176348363282979, "c_map_bigint_8":3579430917097253902, "c_map_bigint_9":3390529547127215783, "c_map_bigint_10":6262458518003225483},"c_varchar":"here","c_array_bigint":[550619551060000619, -7072780117825951755, 5595782503770465742, 1139149515414648122, 4894834014950381126, -2958551042075355413, -7662145819943446337, 214661406670600286, -5419484857587401141, 6183204718716372314, 4284820681948453613, 8836971438735447106, 4824983928827301349, -979723805500037866, 7042217767195150787, 6107370841688319959, 2905153880727891319, 8817145750996878967, 649304800727821659, -7489038259986298365, 5175524027677897098, -7408450447376289494, 7359471167646552277, -303798125778949259, -5333884976166030566],"c_array_date":["2005-06-21", "2007-08-28", "2013-05-03", "2019-10-19", "2016-08-17", "2019-02-05", "2003-12-15", "2017-12-03", "2010-02-16", "2013-04-27", "2019-04-15", "2010-08-23", "2017-04-19", "2005-09-23", "2011-11-07", "2002-01-28", "2003-03-20", "2011-08-09", "2015-02-23", "2007-12-15", "2019-12-23", "2003-10-10", "2010-11-26", "2003-08-03", "2012-03-27"],"c_map_double":{"c_map_double_1":71.72458766158036, "c_map_double_2":48.06174097949169, "c_map_double_3":93.0440520372693, "c_map_double_4":69.52183896421788, "c_map_double_5":4.684095115752481, "c_map_double_6":3.3848658451705766, "c_map_double_7":50.15045790935049, "c_map_double_8":56.6833598110474, "c_map_double_9":28.127293541143533, "c_map_double_10":47.351344733429734},"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_decimal":{"c_map_decimal_1":92.1913, "c_map_decimal_2":17.0864, "c_map_decimal_3":98.1481, "c_map_decimal_4":62.0976, "c_map_decimal_5":69.0514, "c_map_decimal_6":41.0780, "c_map_decimal_7":57.0579, "c_map_decimal_8":82.1188, "c_map_decimal_9":79.0386, "c_map_decimal_10":100.0706},"c_map_varchar":{"c_map_varchar_1":"FXImhtCfvadGBnCmkFJTTKZNgsKiuiAFHvTDOsYHvSrsYFHHiBIQAMEdsrbZBxZEsCKTiiQelWOnphseUxUStoiNtymwOIyzRvXloFKIFTimfZKxKJxofKphoVgNMWvToqObjSArydOMTltHjODZUjyQqlKPdElJmTfmirCVuPAyWdlEoZeSIMoEUNsgJrtNVMVCicZlVANhHKGpoZbmtgPYpxzwlCvdNzrhJrhkZZxZChqYfoELrNkZRbclLlXw", "c_map_varchar_2":"VogFEphpwIbNsJHbsTfActBWxoMjECICnfqXhnPBDdIrfHnJAtaNhfAqLdHvNPSpEqbjjdpMUldOrctVmvHrRndjGSTSVauQiVlEIDopVOgRANdOMMEtMnmwCICafRJlRPlVsiQgDGVSrRgZyPKpvOWJXqscFJMfRXluINDLVBNTHnBkRksExzSbgSWRPJqjlpuojhZKTTqiSFSoGvCBjyHfbowQnpWNANcLNVovJrODlWyZckiaUGILqvlXudOk", "c_map_varchar_3":"dnxaRvXJuKtXOiOWYWEnIlLanmayqbLXavIzFczyAxMsDbzINjRyftBCYzLOWitRUTzYbiUHKIFOTLfdvlOOdgyMvfCKbCxZtqozkcnqVYtFtoGgInNzriyyzmaZwFfmpmjKjHbLTFoeuzApArYELTdIJWlKHwSbtMBEoPajCXrULXFkqMGQtHQzGnUlVxtSRHACJuAFzRFFHuqJLrWUyBiDsqssqWuwLIblWSxMEIgDBjjSBSMUMOUSRkjBxocW", "c_map_varchar_4":"YkusQdcmkwAxVXYOafgyhXbWtPhBbVzHyvfCyOJMcrxVGYMIGhPUqFqUbmSmuYWSIpHtzxIkzuFPmicUZiMCjrZPjhLkbTjwERhBEvhRqWzowEoGuxzVMuEeWwyTryzufLjAXozokiabyzeevaViQJVFIxMHmXoNrdQHzPFyyDFpafofGhqweJBAaALEYmKAIVUhwfOrSnLsIeIiSCisbWhCJMGpvJxABVUQwoOhAENCtYgTekCBvWifytiVCVtF", "c_map_varchar_5":"YnSwRpQKmagHUaAqNSCYmWGpkHdevQGRWEZNURcEKsUbXjUINWbqaCArcWUIqojEKgcWAsjVkGrGjiKuHksVvEyhfWjdwjqTVyvTdDBTTOFJWZXKYjdisyrJpyOtSYXilxztsxXttxhnayDHwGQsgllVZiIwFmhDvpilYxwBewhePjSYnXbtcCRFZuibdiSFnaVEcNYNCJHCLCUOEzYLualPsysLJzTbHfuBUJKJZxzXUqTenmMxwlAdYgCHWqpu", "c_map_varchar_6":"kUWuEPZFlThvZFlbzDeTuclrUCFcalVizusiJbuJStlxoPTbmiXjPJjiinGDaaOXbfxfCGAdmMcNlBZXEaMcQWbsaVKGWCiAZnuOLaprAVwdSnlFoQHFGkoOXMeypGXJlsGGkrTTyulMIoBzxUyKZhwzquQXqBhvORPxfqNotmIlPxJgwIjomWgQyFzVFowTrchKZnkjddxiHJUKYTCsTbJlvpsKyGuslZoKwUtKcsGGqkxOCWKQstlpWEZkKemc", "c_map_varchar_7":"cgbUtNeLIOdWJftSCyOdXElrYHQtofSQqmBoDRjkvOYioqrmBizotDWMIwprVwtfybiRxdoxXcWgvFdSzjFsWhFMuZqrwEDPEZQoDiwuwkPgYHKTlAHypQTvGhSduoSYHHWKlcqfyrkFIgRqjAzVuOuxfVFXRLiPQjprzGRNBMqldCpzXjeXTCAlsbnBaYswHufMgaWOnSLSPCzqkOuFtERDGxWuFXzvwzjABddLNzzDndyKUDvNQFtvRoACWosT", "c_map_varchar_8":"HNpXhFfSXkAfzBJMmKkfPdBWNGgLuubiyDjOZFeIbeiOJrrnhMtdjuOPfZtJmpoxUVvCbeeVyXBLMCFayebvPlrygetgAojrsRFdpIJeBONwFbttDPAOtkQWSAuMRdpUZOtnYLJwjgBvhalXgpLZsxsCVCpHShUmiwQrckRDilStOBtnUrpXfpoTmQZyxcpsDExQpTTVOCWMnHPOGklUWWWjMHkFduqfevKKzyHHVXLofveRwKbohoAhmjoBsYpi", "c_map_varchar_9":"ozAYZHTMQSvPcvGRMEKvPErBoZsbftvMNqrxYKEOeNqexyDLLrpBhsUYmUHZmqVtkGMHMWKSgQeKlNHQbsIaRQQspObaPGludAHigEyeGdczpNZYmSgVDQxlBnUDXjFuTcMewZHCcnWikTUiVNtOAZynQmRYnPoQiCroKaSOBrCUJjeNcGlspDHYBrvcLPETdptnprhDLcEgfaXuxiSRikvFaOWKlmqkjmoWtmvhHLjZtuZqorqushsruwDRAQVa", "c_map_varchar_10":"cdpaSeiIZvAVVSpkHkzJzeDkFNsFdUsegCGQWLHhGhiLAAcsEQJNKWMyyRvpIAnyrcBvuaAStihIeLPJvPfRQDoBoZtfuEIEcUDZwbFiPBDWBKIzFtezZKgXazHMvtCvkZWQyJVRzYQGahnjetPOTXiiyZxjqvuVAfZixwIgwHgYwyUGKfSGzEKirjcShXNAItnYFZFetJiyAkNVtTBvKLJekUwEagKRiifYwSWVBLqQqERLNljiavLbpWBoOQER"},"c_largeint":857231432783075928,"c_char":"OdEGCZtojZ","c_ipv6":"9f7d:5ea:98bd:cd39:3bc9:ebf7:f84b:9c17","c_array_boolean":[1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1],"c_array_char":["hpteEvsXJe", "vRLhOZBnFz", "ANCSwkxKAE", "IyAAtLELgG", "IqXypmAqHs", "BQZRBhsElc", "LIEiwOYLVc", "SrIdPqlXHZ", "RPcdKKlzQa", "LhyqJaWlvb", "HnCyFidxJK", "dEoAtmWWWt", "MSBsowOTDg", "TnJuuZWOUz", "OVGIHVKIfk", "JSelDXncWp", "HqtJJemtLP", "EYkQplUJig", "setrchYurk", "KvITrBmgDl", "flIkWSiNzk", "CCELNeyroP", "putKsqcTNy", "nLUsUGdHUl", "DkJGdEBlfh"],"c_array_datetime":["2010-09-26 10:53:14", "2004-12-07 09:51:02", "2008-01-04 04:19:49", "2010-01-20 19:16:31", "2016-08-15 22:14:52", "2017-12-24 01:55:21", "2007-05-22 12:37:22", "2005-07-11 06:10:48", "2018-05-27 11:29:36", "2004-10-09 19:34:44", "2019-05-20 07:37:45", "2005-08-21 20:42:52", "2003-07-11 11:11:10", "2016-05-02 22:54:09", "2014-12-28 16:39:12", "2004-06-05 17:32:24", "2007-03-10 17:33:30", "2005-07-11 00:15:42", "2014-02-01 12:38:48", "2005-12-03 21:02:44", "2013-08-02 11:26:33", "2008-11-26 14:02:33", "2014-12-28 00:42:40", "2010-05-23 23:15:26", "2012-06-14 11:22:46"],"c_map_tinyint":{"c_map_tinyint_1":124, "c_map_tinyint_2":-69, "c_map_tinyint_3":49, "c_map_tinyint_4":88, "c_map_tinyint_5":-52, "c_map_tinyint_6":-64, "c_map_tinyint_7":-64, "c_map_tinyint_8":-3, "c_map_tinyint_9":-44, "c_map_tinyint_10":52},"c_map_smallint":{"c_map_smallint_1":-28070, "c_map_smallint_2":25764, "c_map_smallint_3":-16323, "c_map_smallint_4":6948, "c_map_smallint_5":-94, "c_map_smallint_6":4701, "c_map_smallint_7":-8123, "c_map_smallint_8":-17784, "c_map_smallint_9":30855, "c_map_smallint_10":15668},"c_tinyint":51,"c_decimal":67.0964,"c_ipv4":"224.201.29.44","c_array_smallint":[23968, -22038, 3993, -29784, -18269, 14039, 24090, 5700, -17051, 29803, -23688, -31329, 26376, -3186, -12403, 7484, 4587, -4929, -16337, 21826, 607, -1723, 27476, 16405, -5679],"c_map_date":{"c_map_date_1":"2007-04-28", "c_map_date_2":"2004-04-28", "c_map_date_3":"2019-09-12", "c_map_date_4":"2005-01-14", "c_map_date_5":"2003-03-09", "c_map_date_6":"2003-12-08", "c_map_date_7":"2013-01-25", "c_map_date_8":"2017-09-27", "c_map_date_9":"2015-03-27", "c_map_date_10":"2005-06-19"},"c_int":-2120582840,"c_array_tinyint":[77, 82, 7, -2, 94, 6, -90, -105, -128, 50, -78, 76, 34, 2, -112, -117, -42, 117, 80, -9, 95, 34, -75, 94, -85],"c_array_float":[70.591, 28.26382, 92.98972, 42.32551, 77.80706, 13.020979, 29.188078, 26.179258, 5.2724586, 41.2416, 35.561554, 4.801799, 9.502538, 19.428635, 85.42345, 43.740726, 51.767952, 87.18796, 12.813406, 59.069912, 51.369656, 33.73716, 67.4598, 78.52635, 60.880226],"c_map_int":{"c_map_int_1":-496404597, "c_map_int_2":1652140899, "c_map_int_3":1242837494, "c_map_int_4":1544787519, "c_map_int_5":216316378, "c_map_int_6":-2095485080, "c_map_int_7":384810315, "c_map_int_8":467043337, "c_map_int_9":431426574, "c_map_int_10":-1656857625},"c_array_largeint":[-7801846511919599625, 7670422513570604718, -8464763969232830021, 3777278400091678048, -3930347800828520544, -7293112972494249391, 2459104453639233386, 2384828414121689067, -4414618410538528441, 2160425354405925385, 5505245962197031268, -6923352153995464508, 6218170909661231407, -849765768604094234, -7470929987428911636, 7588567922853159091, 6063316509907845693, 4084878793905012127, -4803075588628603344, -5397595916245100424, -4381128481409733154, 3599360175199749409, -7523233021304660655, -7635800963625597807, -5713333883418634688],"c_map_ipv6":{"c_map_ipv6_1":"8695:3a77:3114:d69f:be67:43d4:12d:470e", "c_map_ipv6_2":"2ec6:2edd:93f:3d85:789e:2a0a:fed5:6591", "c_map_ipv6_3":"6c67:775b:87cd:cceb:2551:4e52:6e66:4ba8", "c_map_ipv6_4":"f5d2:8ec4:7715:e58e:7e11:12c2:90c4:9ab8", "c_map_ipv6_5":"b01d:643f:e3e6:f604:61e4:2444:c28e:b225", "c_map_ipv6_6":"1eb1:88f3:7938:86:88cc:3b0d:3d6a:daa2", "c_map_ipv6_7":"64ac:f480:cf2c:d6a7:df94:7bd5:dbef:c512", "c_map_ipv6_8":"e02:fd5c:5d97:b1ed:2ac6:5348:8068:7ca8", "c_map_ipv6_9":"a085:2731:39f0:f762:98ce:e4ff:eac7:e38f", "c_map_ipv6_10":"5763:9d59:77ab:eaa4:2f5d:be83:1e98:571a"},"c_boolean":0,"c_float":21.301126,"c_double":63.87002951855756,"c_array_int":[-847429656, -1803904425, -1250672495, 1207213125, -1353665221, 1858248578, -1333952841, 274110480, 146095362, 940476195, 285953324, 20866632, 580039229, -38474777, 198544935, 246081906, 421886131, -2133373914, -1158066767, -2102381256, 286141632, -1220181703, 870334899, 535069758, 628187490],"c_string":"MOokSpXeATKejSIKZXLLqZpwonxoLFUngpTVJznYCKYQSiLmQuFAVcfbktFPqaxImsMXWFThlWoilgFjDflBqVSsFmtuLYhXJuEDDdCkxzhvWhzZnqKLXPHFwfUVxeLNTUDQSzXLDOoFyvhAEUkygIFEQFcNSxfdTFLSmnYymQMCTyVfXFNzhEjFIOCQDEqaREsGZMKhyjdYZHkkpULIajAaGHhszCZahQfKoPKzuPaMBFETRqKnPoVmxOOoBTgEWAvLFYepMToaWeXdekOlFlysAhARIBuXypePrJDUdZyQJUYvNsPTKDPiaJyKUNACPZjVebLLjqmsnrNXEIHQMGKsUzFZnYYmdOFyfxNEIaAfQUVLLsnakaozlOwNtjvPKkDeTHASWXbJHybHJHJyBYUcElyDYxEidYnxfMHpbjQZKpXXYokTkGFIbNYPlTOLeNpdchinCcdGDBhEOCtyTiXgFoOBBSUJpgqUooeNScrdiRtWyxjMiScHZFIOMsSs","c_array_double":[39.039410077289034, 13.744357589259849, 72.58346008119838, 8.087296490674035, 41.49250818067965, 72.77684805081319, 93.17167636304683, 62.2829179294095, 58.30765673729105, 0.4391328369538459, 9.679051901638363, 96.37014360353766, 91.3595512732436, 56.93079113537701, 90.33160670216692, 17.54273766838312, 3.0344234014053533, 77.54789580639438, 88.95786851332387, 22.672320075443004, 38.6378501876278, 91.95630001218468, 51.16816279417566, 80.30774010955028, 18.183900614890618],"c_array_ipv6":["LCLUhyEHjK", "JTXBFXYddg", "QvBjqXphfb", "sIPwfbLiRZ", "bKYmGkrhFj", "EtXUOykjEx", "HSQjZKeCkw", "FyGVoZgHEa", "yyjOTmlLeR", "JvgIvbNwdb", "EQlsgIfdnV", "WCRhWyCAGw", "UsWasuOYoG", "tULXMGPTUb", "DypbOUloYR", "DJAnexPMlc", "UkHoFGGKQV", "tvfDcGZDWV", "iUKSsnBTkE", "BtQujiTibq", "vPfIprbZMU", "coKSIFCaFO", "JZSlSiowpy", "ozAJziWwtH", "LzdttRPMID"],"c_map_char":{"c_map_char_1":"YVEwhwBmaE", "c_map_char_2":"JdHYdNpfAa", "c_map_char_3":"aLIMisPHLt", "c_map_char_4":"xGgmowaZpq", "c_map_char_5":"PznyXFQSmJ", "c_map_char_6":"IfDOBLaTaB", "c_map_char_7":"mHhNqHvysb", "c_map_char_8":"qUSJtlMTeP", "c_map_char_9":"pygmYMxqsa", "c_map_char_10":"aoGvLvxjVn"},"c_array_ipv4":["KVRldhiObF", "SsXEWaBmZq", "qsBMEHRNPW", "xXaBxwOhRm", "JibJggBVFk", "KdMvSeYbrY", "GdOubzlbHF", "PGiuMAJUCQ", "pZcCajpGbn", "nUmQgowDmc", "CCzcDxQesh", "ZhjatZjGKC", "OovgtIFMNp", "VFumOwEXFn", "vRfzmzEHXy", "spiCYzstAt", "QBwtrJRiwB", "tpQXGtNKJt", "rAxNeEDDXh", "AislMZNBZQ", "PHzOVWAPnB", "eJlCTlpwqe", "iNILherikZ", "zeHevPNDqV", "adjFljQHUx"],"c_map_datetime":{"c_map_datetime_1":"2016-02-13 10:30:14", "c_map_datetime_2":"2004-12-06 07:59:20", "c_map_datetime_3":"2002-10-07 16:03:26", "c_map_datetime_4":"2017-04-18 14:53:44", "c_map_datetime_5":"2012-11-03 19:18:15", "c_map_datetime_6":"2018-12-14 23:26:44", "c_map_datetime_7":"2004-02-07 09:48:53", "c_map_datetime_8":"2012-01-04 20:56:37", "c_map_datetime_9":"2005-12-26 10:41:00", "c_map_datetime_10":"2007-02-12 00:26:52"},"c_map_ipv4":{"c_map_ipv4_1":"198.142.82.46", "c_map_ipv4_2":"165.73.43.99", "c_map_ipv4_3":"69.220.86.69", "c_map_ipv4_4":"212.234.160.104", "c_map_ipv4_5":"118.144.35.235", "c_map_ipv4_6":"168.185.221.205", "c_map_ipv4_7":"92.228.162.26", "c_map_ipv4_8":"190.216.241.164", "c_map_ipv4_9":"156.11.198.16", "c_map_ipv4_10":"25.160.224.17"},"c_bigint":-3398288155206781401,"c_date":"2016-06-24","c_array_decimal":[81.0371, 79.1260, 9.0940, 38.0065, 34.0167, 54.1534, 47.1570, 76.0555, 36.1916, 61.0344, 34.0310, 44.0042, 24.1757, 87.0654, 20.0244, 32.0152, 72.1427, 100.0105, 23.0291, 9.0383, 51.1535, 4.1557, 15.0012, 84.0327, 30.1601],"c_array_varchar":["pluvUZrLsAoESRitOwcZzuMTnuswzFqVQKpMLgFUQaOVgBKarlffHFnqqiRdEbmOByCxNHNhswpErrAFGAwUsGVQvPxaVIJCQuxtfsTflSTNdpAJSYGsAgBKFdoZPsaIWfNXXzOqKQlGVbpWeDqWYOmEWzDPlkgRmdWLYuTHPXwijPygBejMUHJqcnujMVXiztcWMbKzlLHNDvChffAzxpdYNnckhGUYPFHtyRdhvrmzyXvuQcYeIxsaDnJrIbqq", "YVRQlostQALNfwiWsDVDLDprkxPNpMVRJOLVbXTjUVYemmoYUjtoxsebAriSXQKpTOSieZmwsDMlIZGHCLPZfGPqwMSMXdOoQkknLJKcJWxjosYSiwQLbpqdEvpYZUvxGxtJaKYvCBsSyyOipNnAjbZrqwWaMgdJcLWHcZFKjAIFNWfaClTWZEKpoEPoAbkfHPIfBOhOirWaRsYIDsfYIUcvBPAjXojRqslTRWKgPFKruaJOHuNJDRaKGDKVkNDI", "RLjvIYcMuPfHaNashdaSkDzVzBbgqCLneRoMlkTtGOzYPfHYBdgLOcHKjlSMmEfPiNCDnJgpKphGxSRWGBWuSWFxSaZlDSCeLYwtafMzVaYrYLStLUWupmwMSqUlGIaIveMYWJXAlrAQyRArJsIVYkjyDZVuwohYrpSDjCpYqgQCYYiIWQjztZlFCnSAunboKStxWtlGEuQrsrQRWqcYzrZddVgbLAtIkYFIvcUtziTqkZMoaNpAummgvOpPSJpQ", "wsCcqaMDlOZmvdMsLjeuWXRNDJiJkCekPLZORPbDowSeedhTiqUcOJVzjxKnrYXjWezHrpqoECbVcItCDoTEnfFawXNhRYXfYGGLUZTHKzGqhbOZNFWiAiemltIxNhpHCmZGknOYuBujDGXOxXwuuWHuFqZxNcOlHOLCpBLgVuQCmxrSjpavqRjsPuqikzQFQauOUuOwalUKmGLYCmpaMEoSjVxhQVeVgqmsQzniNnJaoKHlHLrvEsOaHhrKyTmD", "AtyMZqrbLcOpUyLpfYHQthyLXAzPsbgZZpChLcAhOZFUnFmOyzBVrOtXWVRhWclJLIQGdpADdWYFxqRnJOiWVbBybRzVuBySZboHqzJrrilwlcGPFLAaiAUuxtxhVgUaKuVyNnGuXyECaBHZWYYOpmLatoIoVNLLPeDCQaelMkNaieawgKTkUybQofFPDVQxgTfxCxtfdospcUKWVFmLhymcJwtJiKVKYQVPVYpbliXVpftJSLNuJYndcWiYDQwd", "xevOwJUloNyngBPwlBHRfzQNHZgAAShKsXcZeuizQqiXqLHcTQADrlLitKpfvNQVZbONEjpwDoauOVLUilHJjChPSyfIedoFQfvjWSYPbyrtGBRJxrJLlcLirwDGUtdkcVoqqfHAqOVQOSAZUFlWPtVesWmiCivEJNzucwIeHUuQyhIcGFgSFnxNuiCckAinpJrFqnXSJGjxfkayfDkKkLctcmXjPPvOjgkPrKdnicHPAmyvVtVMxRdDLlhnMCzM", "BgsWRrvwgsAaJDlsUmrBoAiZCwfUQvSxcGvntmUcgBwZWMDeJmnfByewgWSqjKDlWwDHRCAeUIrgNtVdcRVjMVYYIGVLmnfvyqBNtWLmxAluErtNdGZhfzrucPIVTZWsUrggKfblAEhCNxxokcNhVgWctuhUHVedbkwNudGeNXcwYbnhpQdhRZQloLCGGPJwgHUgPZKLWsvNQEamZlRDcdpGxISYsObYYffEmbBPoSRwobiyhuPIxOqrVbjpioHi", "HFmxGgUFnwgTzdeWESrqjPLQoXsLdlAlmsdvkkrzHcTnlrVNhpofOkiNxIoxzuXIygeGcTZcknRyqLiwsOBltDtAXWClEbBZYqPbvTkuMwlxjlilSnKGhlDWNrvEmEopXSYyjUJtDgXWabnVkJppSVYlLSzZUapKVNDCyQqWEwpDUEPSjyYIIteeDZXCFDbbNvuAAZtDEejkxopEcjFjBzutEIFpZcMLTYggFcirhKUIBEmDjDIkDtRCdcqensVo", "STxWGxUPFPkkuudwnflXclIbetHgAoyoAQcBstxsijuSXjrJxmonwcmwnfemRAaZULeSMpSOJyvWhwaTlBsZDdpByMQbTNmKBZwNCBfkWAkoOWRRzmFwtNKmTnQsLlAiJopUaVTbzBZanybJwogjoLuzKEhFSyFZZruYTbYNZuIpzKtYErxqOptXfgxRUYHHuqJKhrvJzsdsinOZRvhowBCyZwxPpiEplrjrMAqzZjKJGHtGrzwMLuNOuyzNOaIH", "hFERQPFLIRSpNKkFocvUIGdUxMMddqfzRrtcdrbszBbSNiJAXYNUHTxnYLngWKPHOsmHjvmNjmiwETKkBIPidwoiwcYEksRypmPKxWuQCwXqjTNcpxXTkpfsAlUUCJrRAubirMQFvRzFvEFGNoHWhINMbvajUMhSNiQhekjkRRIlqABYgzLDxyykszHQNTgNxScbejRBMtOjKHJWeizrVauHdabBHpaCXVxkwgqFQhwbaCpRparGEmAUHxrnUpjr", "HSoybsfSWnJRqOZsHPLHnDNmpXKRLLAnOrYbRBgZVHfkDcfwSPZcFvsgIbdKpTDRovfJWOEdmbMizHevIDlFwraLvTvdaPEkpOoRutRQxEAyeNHoHHHoBZhQIHyayyqhQKPrgukhPlghKgpwtPNjHEduDhignElPsBqDnMGewzgNNpeqxeSDIlLCHNkovWTNSoKxWymqPjRcCjWoVlabUQlndPHvfuoYbkImwPECvTvodzQIqAueoQSbMLTzrEQj", "EGmZTxEUOgtLJviuJliObYLfRiJZCheHrLSOhWSaVOFLxKKpmECBJIXrTHYFuEGCFcDQGNxOLgoLnIETNmDdyhieGzYFBKGCIinavMVgnGyYYoYVrSEjxtgZPnKwqqvsLjTOkuCZMjdOQdQtUydwmueqhrYXnUxIcmzdzuuQLwuIbBhtJLvXNCFBAmzAFjnCBSAkprstTUioqNFOiBusGgcOZJfFxQNDItPSFvBAGyxyGzCgvudSwoVOcCioNKih", "GXRMazAdIwJtVCbrOrxcGUBgtldLIvQveMTBbkobDXfjwHgKPnoHcDEvtWzHKlVqozBCgJwONkHTUayQwOUWmvEgPLXbnBRoiyAtvUAQnNFVrWDabmAxOYPedvnOLGdfPvqPoCdIGUacsMYHxPUreQOyNOPBjHKfvDYCAvNFlMGTIquwiJXbXoCnoxKAOTcXbfgGCGyGsaZpiQGQFjElBhfsZhYegfpUaWNhnDcMhzPfBmIXmjqOiqZXBHNAOOmj", "GBaRmvEfGShgLeUIJuuYpJtsiWKxZZNXosorMupYZLRBpWAuoBaDwGGzPTfWesbirbhOYmGgfTBZwGofdOZPIPtTCKGAfijurWyNZYTlVzYDcnCtVOvIikMZikyiUZymgIkGvSQkAokzKJoDJxguHWyFzgQBhOEyVCXIPpYLCgtmeOudvLTPYwRiFahXBFocEWPDuaBsfeIwsimQJJAWQQJSsjwrvzdSLHlMjNTiLwIRRZRYbNYOFYqWOIRWyjfO", "YiocLvhUgnxwwDGxfsIvEUSjafnjWtNkvjActbcifJCRoirBVNRvatvpcLVyyBlgJgntxofsZmnxIbjCbODjJXtajgeypENBzHvPkeXQwxoBdzbhbaaUmnAvWADdIUfUqcKaiOJnKfoUdpzRUrHmhlbkfMDOpQYICMXcBAIYnpUtYCLkgzOpNqppExOzawKHNaVnFmSTBXfemQcFziEswyWJjhYgxIjhrCsiWJkpSXgoousbsIBwaDPqqUhFEvNr", "mrTICcndxnpPFVQVXmELrYCVshAEbMIysGVZEtLGqopoGHnNddWqgnNkvFBmEvUyBeMDNknQdIBMVwdbFsvfrQOiRYDUKkXTIaGJQzKyOPSXVkxZVVaPSaQVlczmrAbrNXEgFuvoCfFKcRucCdYQDcKStIkWMXsKnWsrQGSERhvfnplNzPGfcpzFQjMYVyrbJByPKnHcPtAjcMiyUmTWhviTacVfTAihuSYWwzavusHsBarwGKKYbMPsRsaKOlXq", "NJHAMMifxxPRyNuptieShmyReVblvrcafTIZfKzNisGFeuLmNwERuTouBRANXzvyxlNoMZnYUaRZIYQjnKFahTnMEcJWvEgePXuGzKgqLYDxYIPZWaDcGDYSXhJTZEMRabtTuaHuxFovdRkYHHfrZmWpDJRiLppGvsQSTncxqWcpJrCQGAFcCMdQuRkjnZVcIdJQPmDAfudvqTXyVgRivFCpCHyXUCFsBtzQoEIYFihUGZXIzrEMcGEOCbMpuRdA", "HveFLwfrpCBeBWGmZCEAZBIDxTfTqAAPJcFfKVLYcbZQThdpCkqaJDIEsOCEDetbbdzKmSYDqZVoYrrxEWYcPaUwLJZAHxVsJDncdlbUOnkYyIjnAHXEYMautrYiXAVydkhFqLPSmKPbyNyNjSOxTzAHfbiQzmBJPlluqQQDOYBXrTUVccXHPxKVMAUtaFnoHYUiKZeuGerDzLpRRxSDPsQVYLzvbYTorVDYrNPkEENXxRVVGpsmEWcTFkZCWEfD", "fUqJUSeFLEJaOpGDuryfvudwCVwHkmXyKRIugOwlYsIMQYFITQdkjzmfiWVWaViwfjcUcvVmxuouURmWwypFmnxlivHYkXDhPBTBHiQqyZaXPUYGcPxQSQmMgVyKMcOGCaIAOlanMvhNaLlGbNlklKlGxnNRGfpQzEKWAMXAvyxoYiiJlTmLoZJxwfFdDWVHYiMfPNqkapwBEwkWITntigkzmGDjXRnXPRSJzejqZyQJGVztqIglYsCqfUPqswmd", "tXGCXZQyTFmlMYPyirpaaJjbvNBOAEEjHDkzFaawJTSzbMUmHToVqABmHAoDzzIjblTDvbgrqiqOyRdfcoCszDVNtTEVqnasWdFSYuJgfcyITfWpNhPscpeGDyktwbMTRCCuMUbjoSCHVsLeKkuiCqLpgYQzsJNxGiJZBPHzndFiQLptrHqyRPiNyoKPgDqbRmepJumcQFNnIiWYhjSePpGEwOqDdphgphYZpJvtGGAySqyYLhVeZbpUcfFRRLuQ", "reOODbRxmLOMHqZcapDWxWvmKRdMycvUjUqcYXSAhwCKPLfTELBQmiVbXYBgjsNoGosActyXKIlxMnAuXfRjiaiYwtCklaOpTzUeVvGylDypHchDTCfhHkmQfIrphZtaPhInDblkHdrBuQOiWsJyrWCzXsQbeIERLFHaHiETateKtFTKQetPmExdKhveJmzgaYzOJoRXhOAHEyiFoUCHJWxBjrauhFntEzUDepZNENIFGYkskuMakdvMfnLWJHRx", "lNSHKEXwNHpXjRceSLqNGbeNOUvbSNXDyRKeFuHSZlPdTBItopkJuPlrilbjjEtTxzeJxGzXcURehDgKPjOihpYaLJZiTAWaudXWPktQulsKVJteGhjNscCvhQQXEEkjEdfjXGxlrFpwoYwEXuyRqVqCvdbKqBhDHknSzByPArpfjQsKCuorQlQnLMcsbaOnPFVgsDtbaChukjkBYYbsabIgvIwMrESJhxzNJuYziltqXOhjACScBVrcreTDuEgf", "FVwlWWBKzBaowJJZQyAskurVCOrNwBWtwyNhZzFKAhmxHqBNTtZGdKidqpYtqplpOgrXjHdytOgQJyWdyJuJFvXDkFpsOGnCmTgYaiHpsTlLRCPNeMzQUeTURJpOoWDvGnmtaCCXhvknQnzHqjwhQGcMkzygJCOcAqNmIBhrAdAtQJySYiqTvJpfVPPskbieNNJLTNfbSSiHbFnGeSnYtQtKHsVkyBFBLQTyEShYmvoppPnbpDtiQveQvMarDhBs", "KOKPvEsrKoSWxpoRPYfYxiOnygTmwOvrbJPSrTQboiwplomxxdsCLXXrjTIHTXnaMzNmFiseyISSAneAoRgxPVEIQkYXZzQTNaedLPAQwDVMfyyTWfvUVimMDUCboLpRfhgblnInTcPgkoVBwYMeQRJTipdyBDQXsNRdbvRZbJnzpmaKeJpVaQuKQzyYNAfQmIAxaHmMXtzesFsLDntyxhiAHgywrqoXaWjXbPhhfRzeouAzopoKSiDUvcDxYSSz", "ISUbsuTWoKycJepAgEXXrKJuwMXdDHIesXwtZIoTCTGndKUzpTPESwQcdFoJnxLgQajbeHgMWGDtDBvTGuIicVvNRzDEneEUDDSlgaFeNBaAwXwoRJTsUfkAOZKEHNigtVOyTXIGASMIzPAYnLFYhTzUCAuRxmIOkcFFgZoFIicYIZGZRkzsbSCQCXOCyLgZYivsgKNpRjPfNZhoFGdtGyErAOawlJPjXLoRHngPvaEJozIHSlFjjASITRAzQMLw"],"c_json":{"verbaction":"smell"} }'),(2,true,true,1,19,58,-128,32767,0,-32768,16918,-2147483648,-2147483648,1252911153,100808211,245,32679,147483648,147483648,-9223372036854775808,32679,300.343,64.00642,40.123,40.123,100.02,40.123,33.0074,56.1537,300.343,300.343,42.0434,27.1503,32.1462,null,5.1088,35.0730,70.1522,300.343,40.123,100.02,40.123,100.02,17.1589,300.343,20.0909,null,100.02,300.343,100.02,null,300.343,40.123,{null:null, false:true, true:true},{true:null, null:false, false:false},{1:120, 0:1, -76:0, 4:-121, 10:127, 3:0, 127:-128, null:127, -128:-34},{106:2, 74:1, -66:127, null:0, 7:122, 1:-82, 0:-77},{null:-4346, 3108:-26252, -13777:23936, 19557:-12275, -23972:-17716, 16052:-30308, 19774:null, -9198:12339, 15206:245},{32767:29083, 19509:-19780, 27670:-30349, -13979:-21464, 23514:-32768, 9208:23198, -16761:-6753, -32768:245, -20818:1457},{32679:-87127132, -1354498450:0, 800844376:-1430193791, null:363358192, 712571705:1635910412, 1922083325:0, 147483648:2147483647, 887259871:0, 1604431532:-2147483648, 1663862963:-1674672850},{678745587:-1062647470, 0:-2147483648, 147483648:-318925374, 170660191:591690087, 449419066:-1365485718, 1178844828:0, -971158332:32679, -1766353303:724011397, -2129532561:-1243814932},{-4461416:1, 4979919:245, 147483648:1790722, 4:23476, 245:-13486, -417496742515538701:6219047, -4409647:-3266676383097043979, null:20240803},{245:3008848480169923678, 300.343:20240803, -18100:-2428259, 32679:300.343, 20240803:-3289692, 1:null},{9223372036854775807:32679, 245:9223372036854775807, 1742418:-2693097, -9223372036854775808:32679, -3992033613174907050:245, -1355101798:0, 7356472687148277277:9223372036854775807, -7672308181390429646:5129962748260213109},{147483648:-949996457, 7400185005236328785:null, 1:-4105928922566638852, 2991265160903596606:4311272652068548402, -1173193408201490639:4150345, 32679:147483648, -6145050:6504425486991131530, -5827260262717862115:245},{null:86.74806, 6.47223:58.668407, 300.343:300.343, 94.0715:null, 6.5275784:86.96803, 72.849144:null, 43.689625:51.446087, 40.123:36.29159, 73.90557:59.268814},{62.2357:8.728714, 300.343:40.123, 92.45414:100.02, 100.02:40.123, 3.4626625:91.84918, 33.41954:77.29154},{null:23.546475334098627, 11.929275241194714:4.611530780960415, 100.02:37.36020126502171, 40.123:82.6971676584273, 24.92535006832354:44.711868986481036, 55.275045152237524:65.27244982903282},{44.04176925655879:300.343, null:15.172524117834746, 100.02:86.6228804459395, 5.083451162541725:300.343, 87.28970619852527:94.91338095808895, 20.826989805215803:null, 40.123:100.02},{null:'a', 76.0527:'out', 6.1424:'g', 100.02:"1", 72.0184:"1", 89.0057:'s', 12.1812:"1"},{null:"0", 47.0958:"20240803", 56.0266:"0", 83.1465:'time', 52.0627:'p', 10.0560:null, 300.343:'okay', 79.0912:'well', 70.0588:"0", 4.1100:'u'},{51.1432:"9999-12-31 23:59:59", 300.343:"300.343", null:"20240803", 6.0226:'n', 100.02:'t'},{21.1438:"1", 40.123:"1", 300.343:"300.343", null:"20240803", 100.02:"9999-12-31 23:59:59", 58.0997:'o'},{300.343:'at', 44.0053:'i', 100.02:'b', null:"20240803", 40.123:'s', 24.1564:"0", 54.1721:"20240803"},{100.02:"300.343", 300.343:"20240803", 8.1057:'me', 40.123:"9999-12-31 23:59:59", 25.0257:null, 91.1982:'be'},{51.0486:"1", 40.123:null, 64.0335:"9999-12-31 23:59:59", 300.343:'going', 35.1751:"300.343", null:"2024-08-03 13:08:30", 42.0916:'s', 2.1339:'he''s', 59.0077:'h'},{65.0340:"20240803", 87.1049:"9999-12-31 23:59:59", null:'have', 100.02:"0", 40.123:"0", 85.0733:"20240803", 15.1638:"20240803", 300.343:"300.343"},{300.343:"2024-07-01", 24.1547:'they', 40.123:"300.343", 100.02:"300.343", 53.1303:'z', 95.1132:'it', 39.0760:'u', 44.0369:"1"},{40.123:null, 28.1458:'f', 90.0685:'do', null:null, 25.0362:"0", 80.0858:'f', 22.0201:'have', 300.343:"9999-12-31 23:59:59", 57.1830:'is'},{null:"0", 300.343:"1", 100.02:"20240803", 55.1859:"1", 94.0319:"20240803", 83.0039:"2024-08-03 13:08:30"},{55.1649:"2024-08-03 13:08:30", null:'l', 40.123:'out', 64.1918:"2024-07-01", 82.0889:null, 40.0038:"0", 3.1021:"20240803", 10.1019:"1", 66.1256:"20240803"},{18.1284:"9999-12-31 23:59:59", 40.123:'got', 300.343:"20240803", 24.1141:"2024-08-03 13:08:30", 82.0518:'a', 28.1566:null, 48.0557:"0", 58.1495:'say'},{10.0167:"0", 100.02:"2024-08-03 13:08:30", 22.0892:"2024-08-03 13:08:30", 300.343:"9999-12-31 23:59:59", 6.1641:"20240803", null:'how', 23.1043:'y', 90.0027:'is', 74.0536:'d'},{"9999-12-31 23:59:59":null, "1":true, "0":null, 'v':null, "2024-08-03 13:08:30":null, 'say':null, 'c':null, 'd':true, "2024-07-01":false},{'n':null, "20240803":false, "9999-12-31 23:59:59":false, 'm':false, 'e':false, "300.343":null, 'it':true, null:false, "2024-08-03 13:08:30":null, "1":false},{'i':-1, "300.343":6, 'got':0, null:-128, "20240803":93, "2024-07-01":113, "9999-12-31 23:59:59":null, 'u':1},{"9999-12-31 23:59:59":127, "300.343":-59, "20240803":null, "0":-128, "1":-111, "2024-07-01":0, null:-128, 'some':90, 'e':63},{"300.343":32767, null:5972, "2024-07-01":3650, 'a':-14111, 'okay':245, "9999-12-31 23:59:59":0, 'she':2877, 'have':6502},{'f':0, 'to':18751, "2024-08-03 13:08:30":0, "2024-07-01":-28078, 'my':-4290, "20240803":29335, "0":-32768, "9999-12-31 23:59:59":25153},{"9999-12-31 23:59:59":2147483647, "20240803":null, "300.343":-341676657, 'well':51730002, 'been':0, "2024-08-03 13:08:30":null, "0":2147483647, "2024-07-01":736239656, 'k':61002682},{'you''re':147483648, "300.343":2147483647, "2024-07-01":-1668832533, 'well':null, "2024-08-03 13:08:30":2007599359, 'of':2147483647, 'u':-960287355, "1":-1551207850},{'m':-3531427831538234396, 'and':32679, "2024-07-01":147483648, "20240803":7278785252353704365, null:2, 't':-6593368281410585472, 'just':300.343, "2024-08-03 13:08:30":1, 'p':147483648, 'yes':2130272},{"0":245, 'be':32679, null:450524, "300.343":20240803, 'k':32679, "20240803":-10968, 'h':-1808182764046398183, 'v':4652212534439892479, "1":32679},{"300.343":0, 'who':-1287052184, "20240803":-9223372036854775808, "2024-07-01":-3286540493120976505, 'q':245, "2024-08-03 13:08:30":-9223372036854775808, 'p':1, null:580759312},{"0":-2901328008196733718, "2024-07-01":1146082600302336219, "9999-12-31 23:59:59":754842169299091264, "20240803":922886979, 'f':2112680791569040403, "1":9223372036854775807, "2024-08-03 13:08:30":245, 'oh':0},{'him':83.87737, 'o':86.88043, "2024-07-01":56.748314, "20240803":100.02, "0":51.53042, 'yeah':100.02, "2024-08-03 13:08:30":77.712524, 'l':15.916384},{"0":40.123, 'i':49.93051, 300.343:40.123, "2024-07-01":100.02, null:5.5013547, 'you':40.123, 'do':76.908714, 'they':100.02},{'were':null, 'z':300.343, 300.343:300.343, "2024-07-01":40.123, 'x':40.123, "1":46.683782394465595, "2024-08-03 13:08:30":89.16989798203059, 'some':100.02},{'q':66.24666809206846, 'on':11.41876475680304, "20240803":null, 'z':26.22122510528126, 'okay':100.02, 'he':100.02, "2024-07-01":300.343, 300.343:40.123},{"2024-08-03 13:08:30":null, 'so':300.343, "20240803":43.0055, 'her':41.0844, 'l':75.0010, "1":40.123, 300.343:82.1600},{"1":85.0405, "2024-07-01":null, 'k':null, 'q':3.1033, null:11.1702, "2024-08-03 13:08:30":40.123},{'r':300.343, "0":40.123, "2024-07-01":40.123, null:null, "9999-12-31 23:59:59":40.123, "300.343":100.02, "1":40.123, 't':94.1233, 'e':28.1139},{"300.343":300.343, 'y':null, "2024-08-03 13:08:30":null, 'go':null, "2024-07-01":69.0831, "20240803":null, "0":300.343},{'2013-11-08':false, '2010-12-23':null, "9999-12-31 23:59:59":true, '2004-09-13':null, "2024-08-03 13:08:30":true, '2000-08-24 14:47:00':true, '2001-12-26':null, "2024-07-01":true, '2014-09-16 20:46:31':false, null:true},{"9999-12-31":false, '2008-07-26':true, '2017-01-20':false, "9999-12-31 23:59:59":null, "2024-07-01":true, '2001-07-27':false, '2010-11-27 14:15:20':null},{"2023-01-15 08:32:59":123, '2001-12-19':127, "2024-08-03 13:08:30":67, '2001-05-17 15:16:34':1, "9999-12-31 23:59:59":90, '2012-11-07 07:01:31':6},{"2024-07-01":-104, '2007-04-10':127, '2010-01-28':-57, "2024-06-30 12:01:02":-13, "2014-08-12":89, '2015-01-19 08:08:58':5, "2023-01-15 08:32:59":1, "9999-12-31 23:59:59":0, '2011-08-07':-48, "2024-08-03 13:08:30":5},{'2009-09-15 21:52:38':32767, "2014-08-12":-21938, "2024-07-01":-32768, '2013-12-20 02:35:00':10167, "2023-01-15 08:32:59":-23963, '2017-06-07 12:33:57':-24780, '2000-02-10 00:47:11':null},{'2018-10-12 11:38:08':1464, '2001-12-23':-16203, '2005-11-14':-9731, "2014-08-12":-32768, "2024-08-03 13:08:30":245, "9999-12-31":null, '2013-02-07 15:47:22':-12215, null:-30452, "2024-07-01":-32768},{"2023-01-15 08:32:59":32679, '2003-08-13 02:46:07':229079606, '2013-03-21':1899523443, "2024-08-03 13:08:30":750288392, null:-857410053, "2024-07-01":816117385, '2006-05-13 13:41:06':147483648, '2009-02-18':0},{"2024-06-30 12:01:02":76828314, '2012-03-03':0, null:147483648, "9999-12-31":-1462963651, "9999-12-31 23:59:59":147483648, '2008-04-11 20:22:18':-1962111624, '2019-01-13 04:27:00':606832227},{'2015-11-18':20240803, '2001-05-08 13:08:05':null, null:147483648, "2023-01-15 08:32:59":300.343, '2017-09-19 13:57:25':20240803, "2024-06-30 12:01:02":30403, "2014-08-12":20240803, '2014-11-26':300.343, '2005-02-12 17:58:59':-1791},{'2010-02-02 23:03:17':1034371009456546762, "2024-08-03 13:08:30":245, '2003-03-26 23:24:33':245, '2013-12-09':6271447, '2010-04-01':300.343, "2014-08-12":147483648, '2015-02-22 06:45:31':1, null:3, '2004-01-21':147483648, '2012-04-12 11:14:17':29847},{null:32679, "9999-12-31":null, '2010-01-28':9223372036854775807, '2007-05-08':-9223372036854775808, "2024-06-30 12:01:02":-652258347, "2014-08-12":0},{"2024-06-30 12:01:02":3662069132761479646, '2011-09-17 23:06:18':703363045649394217, "2024-08-03 13:08:30":-5136120368411761658, "2023-01-15 08:32:59":-1278841349, "2024-07-01":1, "2014-08-12":null, '2003-11-18 18:30:34':9223372036854775807, "9999-12-31":1519889046},{'2016-09-09':93.91593, "9999-12-31 23:59:59":null, "2024-08-03 13:08:30":100.02, "2014-08-12":33.440807, '2002-06-06 08:59:11':0.88748175, '2011-02-03':100.02, "2024-06-30 12:01:02":52.429836, "2023-01-15 08:32:59":null},{"2024-08-03 13:08:30":100.02, '2018-05-23 12:17:54':40.123, '2014-10-09 01:10:57':100.02, "2014-08-12":40.123, "2023-01-15 08:32:59":48.27374, "9999-12-31":72.19602, "2024-06-30 12:01:02":5.073313, '2019-01-19':15.91054},{"2014-08-12":6.554282194570524, "2024-08-03 13:08:30":null, "2023-01-15 08:32:59":99.8830726025176, null:100.02},{"9999-12-31 23:59:59":62.55082120167135, "2024-07-01":100.81095417574002, "2023-01-15 08:32:59":30.580685166860224, '2002-10-11':300.343, "9999-12-31":null, null:19.659765194297588, "2024-08-03 13:08:30":300.343},{"2014-08-12":45.0202, "2024-07-01":300.343, "2024-08-03 13:08:30":300.343, "2024-06-30 12:01:02":100.02, "9999-12-31 23:59:59":100.02, "2023-01-15 08:32:59":300.343, '2016-06-27 18:26:28':null},{"9999-12-31":300.343, "2024-06-30 12:01:02":null, "9999-12-31 23:59:59":300.343, '2009-03-24 17:50:17':75.0420, "2024-07-01":31.0056, "2024-08-03 13:08:30":300.343, '2007-12-18':100.02, "2023-01-15 08:32:59":85.0581},{"2024-06-30 12:01:02":38.0319, "2024-07-01":40.123, null:33.1142, "9999-12-31":300.343, "2023-01-15 08:32:59":81.1946},{"2024-08-03 13:08:30":40.123, null:100.02, "2024-06-30 12:01:02":null, '2013-02-21 11:49:18':46.1491, '2019-06-25 04:09:09':40.123, '2007-05-25':null, '2004-03-13 15:26:33':71.1233, '2016-06-11 23:46:27':92.0076, "9999-12-31 23:59:59":100.02, '2001-09-23 07:40:50':null},{"2023-01-15 08:32:59":26.1555, "9999-12-31":84.1674, '2002-03-04':300.343, "2014-08-12":null, null:83.1473, "2024-08-03 13:08:30":300.343, "9999-12-31 23:59:59":40.123},{"9999-12-31 23:59:59":100.02, '2009-08-22':300.343, '2012-04-18':40.123, '2010-05-24 20:40:44':61.0194, "2024-07-01":null, "2024-08-03 13:08:30":100.02, '2004-07-01':40.123, "2014-08-12":null},{"2024-07-01":42.1780, "2014-08-12":79.0380, "9999-12-31":null, '2009-12-10':300.343, '2012-02-07 17:54:55':38.0841},{"2024-07-01":null, '2010-04-11':40.123, '2010-12-19':null, "9999-12-31":null, '2002-09-09 09:50:31':43.0937, '2019-12-24':300.343, "2023-01-15 08:32:59":28.0865, '2001-06-14 02:08:46':40.123, "2014-08-12":null},struct( null,0,0,1196383910,300.343,147483648,6.2610416,63.588656365242734,null,300.343,43.1707,40.123,32.0602,79.1585,40.123 ),struct( null,-128,5113,1244849561,245,2403820821495574550,100.02,4.463099336196292,300.343,100.1423,87.1357,59.1157,300.343,59.0380,4.1408 ),struct( false,127,10207,null,1,2099805907,null,95.69824473355253,44.1792,74.0926,63.1298,300.343,300.343,0.0847,5.1719 ),struct( true,null,-11913,2147483647,2,245,null,91.63103711232148,300.343,27.1440,100.02,null,null,300.343,null ),struct( null,1,-32768,2147483647,1,9223372036854775807,40.123,40.123,100.02,28.1609,40.123,300.343,100.02,300.343,29.0422 ),struct( false,-128,-5525,702525178,147483648,null,81.63283,20.845936001178224,null,100.02,40.123,40.123,82.0800,null,300.343 ),'{ "c_float":52.615913,"c_decimal":8.0199,"c_array_datetime":["2006-03-03 12:24:04", "2019-11-14 22:01:58", "2004-07-18 14:03:13", "2005-11-28 17:48:05", "2014-03-19 09:33:10", "2006-06-08 11:12:29", "2017-03-20 10:02:32", "2001-06-01 10:28:03", "2006-03-03 02:15:45", "2006-06-22 14:43:46", "2012-07-20 01:36:07", "2009-04-23 05:47:18", "2001-04-11 15:06:53", "2003-07-14 18:58:47", "2016-02-03 07:05:49", "2008-05-27 02:25:12", "2001-05-02 01:19:32", "2014-10-27 13:55:39", "2003-11-01 21:55:07", "2002-07-12 09:25:01", "2014-08-25 17:12:47", "2008-07-04 00:52:11", "2001-04-22 15:52:11", "2015-03-28 00:17:22", "2014-02-22 04:41:38"],"c_map_char":{"c_map_char_1":"TnXEsgtnSA", "c_map_char_2":"sFnIzInEoP", "c_map_char_3":"riiFslhUYB", "c_map_char_4":"jGHLOFhhTl", "c_map_char_5":"ufrOUTHhDt", "c_map_char_6":"zRlRwJMpiq", "c_map_char_7":"usgUPuZGqg", "c_map_char_8":"oYtdAlTXcy", "c_map_char_9":"ALdAkXhKPu", "c_map_char_10":"kGkjffBmfS"},"c_tinyint":-48,"c_array_int":[-1431335355, -1705015454, 1073463452, -453353935, -933160389, -1523830379, -716062206, 920966192, -330792111, 1144569224, -921308385, -1760013877, -1325926229, -706910302, -1702193015, -980404959, 812003146, 868376561, 1472766527, -817189125, -1310050004, 1325217612, 447222555, 554949432, -63186837],"c_array_char":["BDcjgKMtXw", "DjNqrYTIqN", "MnjVxVxIiz", "LrwYbwwpew", "DAbOagVKTe", "ezUNiUtZOg", "DDCaKUeWhJ", "rDBvrxaYVF", "doFEOuSUNV", "emuAfjMEPH", "DDWJhXxidL", "wnkulvgXaI", "GVYOhxFtSH", "YUUAmovdEm", "zrrrHeVRYH", "TuTAGlTofv", "dsCpFqWwAi", "CHvhIjwrOF", "CPMMxYxcUP", "ndLtzVLKIJ", "fOSzVNjdJp", "IWAUxFLnYd", "scjvDuvwSj", "XsMHrAiuUN", "KSIbAIxDiX"],"c_map_float":{"c_map_float_1":6.4979634, "c_map_float_2":50.63241, "c_map_float_3":51.3048, "c_map_float_4":96.000145, "c_map_float_5":91.58641, "c_map_float_6":33.586277, "c_map_float_7":84.34091, "c_map_float_8":2.6474187, "c_map_float_9":12.71209, "c_map_float_10":63.627},"c_map_ipv4":{"c_map_ipv4_1":"130.155.3.153", "c_map_ipv4_2":"118.141.12.175", "c_map_ipv4_3":"231.50.3.199", "c_map_ipv4_4":"52.96.0.91", "c_map_ipv4_5":"76.63.34.135", "c_map_ipv4_6":"167.233.215.41", "c_map_ipv4_7":"62.246.194.234", "c_map_ipv4_8":"44.242.80.98", "c_map_ipv4_9":"16.91.180.227", "c_map_ipv4_10":"220.154.244.215"},"c_bigint":-8473840909087653769,"c_varchar":"were","c_array_boolean":[1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0],"c_array_ipv4":["xNvWiZWnyY", "vGqkVXevAs", "zzzKBdLKnT", "TtjBrSJGdt", "vPsGwRlckZ", "HaMAlVZfPB", "pNdDDtcBxh", "BsjGntaUWR", "JVrCAJEfFN", "exTWGaIeCZ", "EmmZUAMUEs", "XFQfLJhczA", "PrlQiGWBEP", "GBGQQRtdaH", "auTHvQzosW", "hUlTRWKYWk", "EFroqtlWex", "rTFQShTQqJ", "bCtnitBFTj", "FZcYtLqXSy", "ICOnmLULWG", "sEodviZzGy", "KryxUgVaxQ", "DVBAQhNjIa", "FxZHFjABaY"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_tinyint":{"c_map_tinyint_1":14, "c_map_tinyint_2":-60, "c_map_tinyint_3":80, "c_map_tinyint_4":-11, "c_map_tinyint_5":38, "c_map_tinyint_6":29, "c_map_tinyint_7":37, "c_map_tinyint_8":127, "c_map_tinyint_9":-16, "c_map_tinyint_10":85},"c_map_datetime":{"c_map_datetime_1":"2015-11-12 22:47:39", "c_map_datetime_2":"2013-06-27 03:51:52", "c_map_datetime_3":"2015-01-10 16:57:57", "c_map_datetime_4":"2004-10-22 20:32:50", "c_map_datetime_5":"2009-04-13 08:04:30", "c_map_datetime_6":"2019-03-01 13:16:06", "c_map_datetime_7":"2013-06-08 04:15:53", "c_map_datetime_8":"2017-11-28 15:33:00", "c_map_datetime_9":"2015-07-13 01:24:15", "c_map_datetime_10":"2014-08-12 20:16:40"},"c_largeint":6614409893822857853,"c_datetime":"2000-02-20 16:14:06","c_array_largeint":[-8135399424908268098, -4287117314496996109, 45156254235856156, 8418300666252807067, -8098410604435970297, 3846095571198747326, -3623439142174065625, -31452125721309040, -4236420377788821161, 8725916071921534751, 3454869016469341512, -8797853508082546266, 4525455938953937399, -2114907093746369462, 4016488904001562429, -4913309635259466266, 1524596807404885299, 3184483530852046679, 2533798007434019649, -7498791736093758532, -2916907595603519963, 7296143005720832355, -4617754357708672383, 3375236723749183274, 6321880807602192912],"c_map_largeint":{"c_map_largeint_1":-2597589634582717923, "c_map_largeint_2":4589448020386186352, "c_map_largeint_3":3648714062723810032, "c_map_largeint_4":5090648624860559489, "c_map_largeint_5":-2059665082652069320, "c_map_largeint_6":2341422163998821137, "c_map_largeint_7":5424724728149848526, "c_map_largeint_8":-3582678711661077020, "c_map_largeint_9":-4003066141355578529, "c_map_largeint_10":-7508235418219076855},"c_map_decimal":{"c_map_decimal_1":0.1015, "c_map_decimal_2":61.0272, "c_map_decimal_3":46.1524, "c_map_decimal_4":95.1861, "c_map_decimal_5":3.1765, "c_map_decimal_6":14.1213, "c_map_decimal_7":6.0141, "c_map_decimal_8":84.0340, "c_map_decimal_9":57.1626, "c_map_decimal_10":57.0394},"c_map_varchar":{"c_map_varchar_1":"fbbxhMbsiMaqmwqvumTVdkmDAOhwiCguGGxrvLVXYOvCLIOQanKHjPRuvkwCdkhryadBtaGaCRpvTMsLQRGFFHJivtNhNflMQvOwVVKufAdGSYqMMJourrfdTcapupgUkgeSQiAYTPTtMggVuVUJfsSLnYPBeYFWOMcZkynQpGecIkkpYXKwabmUKPcsSETaQJFaoVYYOiuDvyFOxvozXfSqLFSDuRToyoPWCkuvvguNXFrwNqkfNvXYtiZfIgYD", "c_map_varchar_2":"YNMDZvGndxXYHBtnWJKGOQGelVJeuniyKgMHkrhRsCdIPZObaUNMEmwrZtEAlCClvEJKFpWSDOcNanlIVwchizDLjtoCInsVRMgYzBYWkWYdHBynoxidQAgytMCUFpvLvMMwuxOMdoRzTcUljuBukawiVhwsWwOaCWXXoATefEQVZqOTQXcNYrBLcQonCILgTfegAENQiiJtAOqqZtmajKqgoRnmYvnRwmFdutzDlPTdtlSgkKqTtHfeoDCskZfN", "c_map_varchar_3":"rmIHRIyVzmCjwgwMNnRGcqUDNKdwwUcRgQvpupbtQUyZwYdDKmKIttDDVSwOEoDzpUlpRNkopcXBOVVkPTgbBLzdcsiOpcKZSNbIwFuGbBuBwzZosjTfpHpbnoOBiTBJecpBzcKNloddKuVHYIeSSrVhxtjfPGqzBQKiWZEibzIgkdCmXZjcoANqnFWbRKbzTGnEFQZXmuHDiOMziNqLDRJYuPKhQUukwyqiqWTsztDRicDQuerxSXvRfwiGGvUq", "c_map_varchar_4":"gedRYwEfpTqTYnOzEeFQmwgWRcAgdDXfTgIxWCvpVrjvLtzdAZjLXxAuvqOTPAPqrrUiHnWGzLHwLtdliYAqBDWCjrMgrFLjHiDUjuPHaKswEdxxDpBvZKjKZnGCsnAUbUDQgNVODGpVltRzzHXUfDibUzsIFIYFOagSbreAdKDzuSWcyrKUhVPMDfysRfodNDuRGnAUPJpSOLCxONrdXDaRsgekhenKqbpmlXuawchsPtbJEgNQUOxhJbGQerpk", "c_map_varchar_5":"VPKqxWpwvGnoCTslfDrRHgLpoASaGemrBgizglxiiQoIRfFXoxpVRNpYrUxhFzudwMhvXBMtiNRkbJViuSmtdQkyXlrgTAGsSzHhweuNVItCSajaapFfzoCjQWHYFBNnlBeYrVSgltgatcJldRCnrMNVBnqMDSfwugynKdRfphKJElSyjUrzHHVKiuUDemhfdjwcInXXUCSYKqNWiUlrAFtLrWkrqnAVrqiyIzhrWpggPRawgsIJdZPfpOsxpmOY", "c_map_varchar_6":"msmZnOJiXdLaQmeuVwKzrrHPvyfFGrXkgiXzThaQRMMDqWxBakBnbMiniNYDuGJlKBEkLkyEggRxDvlQucJcNJwfdTKdsWXPkxZZwKlXCXFMsEjRUQAmXoYQRGzgQRBMOnVxKvgrWjgOXhzSehyWwxTpUvqILDPSaZsoWMCuFwOUlhOfWbEXKPWGKzcGXIHAbhigTcKqwuGWNXakxYJPBIwnLeWkKGDqAQvmMjoBGLwjPUxXgEZNNdoJANaQoxsV", "c_map_varchar_7":"CGMutoTPwxYXYhPKolPdygcslaYHSspwaplPtQAqHSRaxhkJYYwBSxFVbUOqKoseFLBHMLJMFHFsIwAbXohlkTTqrvGLhFLPlANiudiMTWRrUxhNTvCOuIGtJRxaccrZqyYwrvyqeDUmoZsFyfEZdPEXAULVhbndHRcnDkINAlQAWrGqvjuqaVZtJEQJDMvyEqstnLLBTLgUsogBovsJSHxPuuQnfASyQwMDoRgUFiYQnNgldByaJFuBakOQtIAW", "c_map_varchar_8":"nwNbTCjXNRYoWQGaDtIjnkrbKZKLiuLqrSKtYcXGiLwzQvlhYueAJHpdserjrDCEGxuHgDtqFADreKXrfuVncEOyFlqnpWdMpWmqblOmrkXfYXCrCBDlZQzhufgrvLHllrrfssOgancPHNukyZHdNnipKwRdbdRIFJeGTqEHUZfjAQqGRJGrCVcTClKaDtAtNQozKxZZaPfjnbmZifKJyQnEdZqyxvfHycWQMFAkVNoLoJarxxpwQWLuAJDFfMYs", "c_map_varchar_9":"RGlossiMwPRqSyxZaharElwOwylgNCrmaKEvAxcauUwKqsExAPBJyQXKJjyhwqcAzTjHaKoaryHRSEWPLxRIJWJBuDkzhFpMGHbYTCpvhcSRFAKOBZuHdONhyIhVvOqkQnMewUCIDLdCyePwiQXbrwLcBPKQwzeHFRZpnsldyljwoxjSVyDToTwVDLMSvwubZytxdSTpQvKfOlXfNwLlQwojnGclQYtUyVLQBDJdKYlMWgiYsWDLZGmlNdjEfuHl", "c_map_varchar_10":"WQfcAQJizigmiiMopkHDbRCaVLKKBACkqpXLzcXywFzoUfVErVknErgKuFyfuSMZtHHMjYeitieQPYYDoLRTFgXITlVIEgPjXUuvOUBNPCWnKsrSPfxSppDsPqfocPYvVfZQmPSztzyXkAbhAEOOYMdWOpFJZWXxMMxkjDpkwcWlVBEYBTklLWdPssBlrnexYuJJAQDQVFmgfSqGotKHklnZIEJAWRQRCZVSDFTMcKxqHBzFMClGeIpzzwbXDGhd"},"c_map_ipv6":{"c_map_ipv6_1":"4988:e6ec:bfa5:5324:d8c3:4be9:9236:b54", "c_map_ipv6_2":"7e79:cbf9:b042:34a0:2094:446f:d1ab:9e9e", "c_map_ipv6_3":"86e2:37dd:e51:5db9:d0d8:2141:72f0:796d", "c_map_ipv6_4":"6dc0:61d5:1bd:63c7:2255:dfe9:3c92:17f0", "c_map_ipv6_5":"edf6:81ab:c101:2068:8148:bfa1:9d7a:1358", "c_map_ipv6_6":"658d:6cc1:3f3c:1db:3500:7c7c:bedd:9df2", "c_map_ipv6_7":"e746:5f91:35b6:d071:a72b:25fb:fd8e:29fe", "c_map_ipv6_8":"bb2f:df3d:2661:9bc1:2aa3:3437:738b:1739", "c_map_ipv6_9":"a118:dffd:dec8:8293:8491:cb87:fb7a:3bab", "c_map_ipv6_10":"6ef6:724d:f963:41bb:89b9:7684:e552:8ded"},"c_string":"HkHpgUYZllmgrIsWeQFdqdeidxXRMpVxvbvBFtlIffkJuBJKyohkGifuBdNqZzbWNmzhZBbaMVauUeguIbjZuyPtqBBVXezqMGFcOyhsqWTgxOiaqIuyJDptJlhjCqtYdOeMGoTefaLgZcdpRBFcxJFKyqKjLcmiMonIEjXNoJwdmrlsCglzQZxmDjaNjBXDjOfTIFpXaspwDvtwglPgFqVsVkAhCpuPqGLlMIgnkVnzkWEwqkajMOwvPRzTwZVFvFmecqeyRpoMSngUneArLDhazIzEIOQzcscruWFMCCwUkjBRHZmrwUActtciYWTOOqnuoOinaKhQEZpZBNIizIbKouapiiiHPJmEzyxIVEGvhIlzikGCrDdMqImsXoKBLFeErNZFJYAjJvaJuChstKKrjdbswxbdYurUEAswPtfjpcFUAxOgKtITkagUSwtKqBpnQQZOswswJjLVXMpXaWQawzPTZKoRUzSLHmAqvZGiBTubbwwdSxuCPYbfKjeI","c_array_tinyint":[70, -87, -27, -15, 53, -74, -18, 14, -48, 11, 8, -100, 35, -9, 33, 9, -106, 81, 70, 1, -61, 64, -100, 70, 37],"c_array_bigint":[-828863627914426116, 7430044790586357092, 6138786051613002597, 9099809072096901620, -6424474854652140713, -2146208856818457629, -410344224795584079, 9074381795789694119, 8742635370192425273, 6713289606590713521, -8488029789814134433, -320656117464930288, -905494752116630094, -1705856484319099457, 7203053117749524971, -3790948831126770888, 6970552661092553402, -1338642319437808547, -3687218640961557506, 5231074501219588856, -8118350530055446151, 8184543416351749720, 1594599989985233226, 262495708365312513, 1915466160460612082],"c_array_varchar":["KelaJTLYjcOBrQeNMRpEzbzYHCLrufETJEWnTgnLfVMMICobXGaezQLfQIwAwHdHUMAewFdcBFHGWAAbHGDNMZpfLzxQxqUkcoYhpnusyZomzoyWnESZMCtjhAZGwIiHNRqmVpRFeTDdAtZCghuhNprWkwOpjbNfLUkshnkXHKWMlhoDKtfDYGBZQdzohExQtzEiPIMoqsaaWFfYNYzTxGdPVSoInbtNxicJPgFSWUhErKPWMexGGHEqjjbtsuon", "wtBXDHfcFBWLtZnIpdABxgpeeemJTLXmGJIlxXJUAYMUWKNObWfCvuFdbbapXQHEtnCWuPvUVNudHFImCnwzgytCgtSGGmveuhNHOcIjBmTbMBKAzBePAQcGlgHSUKKBBHYhkYNdVUBCkiCJwnwHxnhimCEcHprOBXeYCebLxnIOMNUExnBrNaFpHAFegcEcngkmhLmVKcLGkyECmfSywiPfickjhNnlQErsdGxbXRsEwyyrDbfkjlDayGbXlTch", "hiOSmsaocPHawMEmJuJqqpVucGWSJjxASRkViyGUWGUgnGCaGYLQZZKydSHFOFfoiMABmuNZOYiQYTosHZTLKhKSoEHPjibizPeRHWkxPMQEZNXvCwXiyvkLOHmlrbGVJrYBKUlzRUCxDozLCjxlJCZXCGKkvnbsUcgcGuUjSnPFXdVZKzcfYbeohfxGRbEzrOzbmWgRWMeprTuAReHbkOleFqhWRExhHGvKMDoHUiDCmADUSijyaIhFVPpsdzdL", "GrsfkNlGrzYXsDzGKbSHgOGwVJhdkmOrXMVhcoSFdfmwTTdUtuoIwAAYkcSJHKCemzoFnMWpshbZzUaPckFDJWhgaarGRkVGPUHAePGSnCbauAWiwlXEtlRULdMsIVxeaURLZgkimStwYJPMBvOpmhdGijedoBoWUHexUALwnRFEMxsTmgKfwBoZYOxKfkAEhOcdEHcUiVBFxmrEviEXOSiZuCrovDLCFAEllRnkcaFgSBgLHVFRFSRyXpbEMXsI", "YKnhxJgnUnTTZsFtPrvmPnzYDBWPtzwwmPShkcJhgwMZwdDAFCMmWIvDqfiTxzXcnRjUTeCFezIhLDhrvHkzAdpkxuZbIXFoMupooFBAhKTlOrmddCTUUdUdzcKngievaJwkoNfqYnGFWNgUAgCUVTNhUwWkOihZwIPEdlNbeOmdBlotueuFUJMRrqdnnnvojkTSkOSUrrkCFfpGRGQoVuktqZxBUATghmsmGZYttmBbKFJSAHJDMzchsFcRDCqU", "eiOgfkxPutQUCyJEALXwcMahhyAfqDZgwnarTXfQjJlWGHhLQcmsokJsrSoJEFmRUSaplhxvGoSYTOFlfrTGQpveeVjBTAVCcjNXHIRBNwTbBsgIfCqGRxAEDhfVxWGHanrPsywNeXQbgrHxdnkxkcgvxsgWlNuQxIoCMTVTIeZmOPmShRrJrqtMdEdYekEGxYaGtTsNlkCLXfTkMQcWmdBYbCSJnrBRaEJjzJPaDagPxvIyeYmyeGhHjLpyVujz", "SvKiJNzFTBbhKrTHosnXPHzjfXtielDZbTlzOnrMMtDzAReaOtKXpNOseiWrwFyAwDbcjuJWbFefrMJdLZUiRBbPfwcaTsYfKEOGgcpvHsGaQansMyhSHeqmJaDOwjHXDpnZuYPucgDAYVSxwnhwpyYHMsktziaLCxlkDFVbCfloOSlWwfPPpAjQlRdyFvIcRAJLysmQRcmwwqDKAxiFBKMnBGHIwzoKjNaRjvJBGqZAeHDJyJSNOUgYzNvgOYRa", "xwAEhftvCaeyjRBQSTzGjhygXRjfVNrZZYMgmAslhpkhPGnJOXrsoKUkaGhFBuOGfzpZmTEkozxKGlHTDgIPLUGkXYBOokSpXpVsDXVyduBBJoNqcwRxpYkIxDlIxHxhZMlqEAvKjzceGVXzpChUmGweGlTnQLcoPMoqkBGLnfuIbTqjppzDJwEvJJwUGaXVHemZMBGshaeLkjlKoKdjbchYKZkCyUbKOQAieCfXqCZarMyVjCnVgYTehovliGjp", "uOXOdhlfoEFlORhdhjfqTJpWiDQcCRCxzaOTXpdzyVEKEotWeutrokDBlyUAARYWXjyGWNxpVMJtfNqXgMkQRAqvJlTCUJFnxqTMDhvXuYGedpyIjgWoQLLEisImxBWiXFjpGmqeojgdeLmBQGipdYrwJjORbFvnhIpzJgsiQrmMuXQQkNpRkDsARmYhLPnWsZqkqYPkOKDrHsYuxjiSOUXyqSlBtVWWkxVNhSAHnxHIpGDXMkDKXjQaeDoxJsBP", "KNUyJSwIoPRjumJSoDDjbqtWVLIOufhXYlMyANJXwgkdIPNvRZTQAooFssQOpCFgSgjJAPgcBXdJfTtDbKaneIUmfgGEMHfLvNFvuujoNfjpitxfUfWkDBzKMSEPbVBymQsauzWhgEIcZvoBOFDXdnnGzLIycidUYUwZuEkvqtTRJNqADXJBrFFiGSUKyfVkwKXlzUZyKqAECldbqasJebQaMtQOsUzQIWsRRXeKzgJcxuWRJRIEvUNHwzKCiOLK", "pFksBckNfQsBvcVJWkTyctlKOQGJQzsSqAwrQpVRdsZUmZVmjgOpsnMBbKEOWAEPOInbtXzyPDVSMycKzxNQEiaPklYxsEascErzCAxckXpAjcQHkmfHLpxbuCdKhcQrFRqIuLznnNnxotUoIeFGcmOvYHeYqbFCUWZiNiNEZxWHAqQlMnNfxMidYiDTUIsdgKRTlHMrjVnCqPrOWcByGdStBQWcmbTqhaVObxWRAjMROxuraPhBppZwLhsKKtdf", "YYfdJzqdeaGxsnlNtAhFegyumAboBaWkPSFgmVEFzlBraBhlfgctrjEqJNbCYoSTgzCaqiXJPPfgKUrGwAOetivRiAEumcFnDPzhrZbvpZDprQFWJaEtzDqHAHghXzsYnRnCKcIdZdRQzBZACFoXDVlZCseyANExgmoKfmYoZNqPJWpNQMAhIVzqFcSXdbpjgFuPHaoLlEbYQdpTwlTVSgNQQuirjnmPtoNQcZyTJPGnvpOpDhLCwnbVnexkPNJB", "xbXDMgtZPYmyuZrDTIpgVIOHVaTptSfFJAuOAPyUWHHgOFAaCtGojXtpsSNubjjpYOkbuQxDaSitURsykdVCCqGoKFQepRKmjvbUvpvUPlsnMQQqbpuhPMfOumjaTBscJHTtezszTmUbFKZePgmpIpGPnkRGyFfSvGQLfkSguSAgLVkMIRIaMHYZcHZZbmQsQACjzIqGFFmWuagZgPyifcZCcxqNeFiXJVSdRfeXowqWHqPiwiCHkRylgGATFhCK", "IMIbYCQRKJVMWgOoGmjeouKrAtFrSBOCdykskYAPdDWsNbtKZfvmvRIdVvbZjMayiETDZxBnOWFjyyHcrTQQbCoWUKpfltTECIUyVfuEKiDFRiXzyaFwGhFFEKHNBTnvaknOcqxYpNKfnihmVMBPmbJHudWZpBStnzKfNOwyBBuyufaDTfxqSLGdmBgFNDfaoqSVTTAmHUSJWTypfBOBagGCuYvGTBkczXQikUNQrZkBWBElnnNcxRgQlqyQmnJN", "aSflgSTtSbOzcMQiHVKryzpoNmztzUkglSWBVmTNQGpshBFTInbKRNYnntvtpoZlfXptHOCcsjUiFwnQJGZHZIkqVzmoGdOmQwnLOYIjnnlDXpjkhUkYdQBrlDCCFRKIYILHEvCfkUEMjIsauGftPaOgxSLAvMsIPQyFAldrBRBFYPRCoVPMqmXnbiXJbhJRzOoLqSJhArVqEVmoCNXzyLXZLJgzYcQpbvSVjdkChCtvImRPIrhvJOhgKfYMTCAh", "ilmBoduVAWDLwPKZNzgpEwVJdwvkBdJmAoGnbnnAtfPTiRoCFLKTUWsquZQoRGtBfaAztVpePAiOUQkViPfKXkAiQjEqiYQaVpLWWOWPzKEniVkQFaBbeWealiOJbSMsNJcJXqSghSwziqcmouxVdEfNIQPNlSBMgXozxcHDKbqAjRpSDhadBlodRSpnrbKeKutvBHTNRwcLioVXPjvsNZTdWzWppIrVnONOrLjyFidPujqIVrtWCIwElTqiOngy", "kocSQxDvwJPfyKzUCeGvKuVyYtArLJDcjaZdjjVWgeDDTRWlqGZheQhvnEGUvjyuDCclQYrTCCiRsRIAzJNqUchKZhzQIjVyGsBWLlyFZmFyFdTpQtHnMjQXYrhnPCwuHXRtDfAQOYfyYptjUtVpuXtOcdQdywzVMkmeurmmLCpGqAICjZjSdpwAivnZUbIAStfgpDLvcyXMUZWrrVhTdxagXctwxhpYaOEnjYRiEljAPVBqmcnCotZVPrYJbJyH", "fZLRWkUeyClWigKNzUzxCshQmtiwzxUlbONZLATOdSdiZOBcxhqsuCNEehHChvUDbwcvQLTEkAHjvgaLykbfBoBLxVPJmDUMfgUJgvADvXvpnYZBCCKpzjWggErLSIZVTqSNpSrPkNXwbCRWimIULpOtTlzbjAZXIMmRTNjYGciGRKXmLPMyebIsQueCJxHoBDokEicsbRnxbVGWbRVyuihfJDnRUJzQIShkWxIkcfKMSgRRfMhEYhOkqsfIeaOI", "AfKybWVUpBPQENWuNcxdBUVfemUDNVeOMzXtXqwQDDRSQeLUxGHOfAyxJeFmAaupyPUqHYOzTFLYrvaWoSEJBiRvGHeXlEaFfDkgAkzLbOTzFWvPBnulhnRfYOoCtiUjRunAwkBNclZzuCwOfCcnJKGfbeLkZasKqFbMQSBthhtzlygYfarBjYapcMMKLXXGjqTRzkjEPCEGpntkfEBcMQmLfoTKkgFqTuLpVOlCOrmhPjMbdLGRAElXIOEGPtBd", "slucjmEBqcCSAUzyENjnlOhpODiuYxGFDoNoWJufVGwGgGHxuCHXacosiwPYUfHYjGSTthKIBIWHawKimcgArJwIcwluRPOqoOGqBfkgVBCgQQrxngZUtAsUQmkjHMPImaJOFKdEIvqLpNPnbdJWCPpwteCEYslvieDPFZDTJWWkjijsJtqQsWiwVnSaxFiaETLUKUeTzKdosTAWUaeNMJclYOJYbEhSAJUpKQtHDsjPhVJdDVfAYdJZxCsKpiKj", "RSpEbqhViCXpkjpwFgIxxrizuqocKoArfLEccauOJurcVsohSYgjGotcscRdXqJDcFlrQXAoXxbsGANcaGaAJudiGQATBrLUCFgBuEzshffdyzhxuuHiUhSjgvRHbJawHarvyqqxrbZXdcgNwMYmybFIwnwCouSlPRmSXNTVYNKgehybpCdCNANZkoKpjPTOrAiTgpQcJEwhXatAcxRJWuiEIuXucaEritIqUFeLLBLOBybIntYvRwmHeGBrBcZw", "voGhZOiEdZTCdQgUjgYqSXuhEKPPtOyRnXWXlgQCkCdmdfljwlHDkjuhBYAVXkvxhPmkzspXvksBxbIzkrJXyShghPwXHOwjHnwndxLiaMPcXPtFdLTnGCbyPLTxWmbFXzhaErjzMKqLORFvSRYlfdBOYxqSYVqMCuvxvUyxcFBMpzMlYNMFqFAEDMQOiRPAOYsQyAvJUTkGefiKIMpjmYVtvIRueXslhWCkfhHsTWgqSEVrUkKbuKsdxbfQfDLW", "rhuUYyKBvRoAjZirUhggzOnRRsFAPCDLUfsIkDBPgeRvEcZTlwRCIbAgzWOlXjptQRAUvAiEFsxyPSggFYlBjVyViMmMsMiSJvfmSPvsjvSPEgiAhfGUSRqaadlgcmAcQvLjvluWbVsKqXQWwdRmLRqelEQwLVDZojGoCQXyYnUhUqKLRhTbyGVipCloGmJcXekxDHaEmPSOinRWmHQOyEOyOvFtuKiZpIavCzvQTPIYGOaLBqDhsRLcYupdoSal", "DlquTsDpMhTPybuJHHNhgEQgCJfsLgDVQHgXXQMBinVBJTOFlmDHMTkMuMlDkCXDlEMGtwLLikmaukfRDwrICXaLBimtKzHTOcqsvNVgjqSpSITHYwldzLiYmRQBFWARRiyAWJppyfwfDFPgQRdRQJfQTlCtLOGYziJwETytBVaKfdjhuPOEVhOXivILegApVCNyjlsGbjMvHMsMZWxKQysMCeWRTtJfEbZMrwzDsobLRjsiscpqDxKFsfPQoyFP", "nJMyUDQwgYdmfqeJMihQuPNIIoUcybpxHsIFykGnhuSbAIokLaITmFMUcOzbwPjzUHaxWsaoEVPJOSnGFWaCrHYsoPNWFuOCFyLegZuduqQmsHyoFUsbIyWtSGsXDmxFbUCGkjsvGnjgEVcfNlzCqtHrQGWCfAGksmoqxvTVCyBKMYjmIMjnzyZNIXsUUDhMPpDNYzncgWavcvxGGpEuBQjqqmhmdMtMDPEviSQPjNbAjXssNGyxSIftUNEIbTKR"],"c_array_string":["XivrzpixPSQsQqQoduyENtpDKddaFSLkTwrjTEbsCPknIRYMLlKnUnWubyktvVIWomsSVMlEfdnvXFdjLpGGMjcTAmTkdMWuSpHBjHxQKgywUiJqYXeddsGQaJyxrjXoFUmxegdUdQMUdMHSThadtaAtJPUvrGAlXxQoUwKpOzykSqLCkkxzafthNRIHRgUMSPnxawYtdtbEQJOJjegYMIYFMljtWyYCyVWCtFzqMzzqYNoLoLGZFTZmBxpmjfPyifLBNIznbQheisFMfWkprqacryMHKtIQpzFaxFXIlEMnZilvzXdnrifuCDdjFhDliJoAOjeDXTsCktKBoISJymttIpCMSYtoPdkJqcAHGXgTXOfaymNNAEajxSVZpGCXIfJjkwxeIhhxJRxTVZaCuMWaVQSNXzfDvXslFlUOgqhHxenGyVYGfoSpEcroCcCKtXxUuuqrJtjmxMUVCcHxhNwgcsfykLaqIOKOjHHNQhCLmFzGkkuGuTKvkTBORlvR", "ZorxUfyrmWdMmNzFDbqmyXhbqIsJZtayZojoZLYliaDMtvCRCGdWBlzLgelwaClFwLQtIIpJfXvkgLBhqyartNsertQVsVCjSssxMziUpsqAAvfiNvFiRHTIPYqTtjZZuiTfHdzNIBFJbPDvaeCKhqtvZdTlowamEdVpFWFTSTvwdEwzMbCKymQmUXRqUEcsmXowiGQnlizetGJJzhhdtvALRNwVvmtipKIvuFePsUpQdYDPHfZiOQHkxJCblSHxzjSKngnwaQtDzrBaGEoIFXcYEOwqvPNHDCfwrEIcpisyiLVHyKIgPHwzDxaJaTUXimrGXAenTbSJjAJndjaLHekuPUhZOeqGjxuxzFTLUKJAULQEZWaXLSCwPqRKujZPSbcTDXezxiADcAwzNTzRUFZZRGPOBeAgLfadAjrSOpldFvcgeglqsxLIviQutHqJiSqXGiANukyGLgKywMrpdLGkWBRMuYSTLdsysMRxrPFwODYpnVpPQCTPODzFtCSB", "KOIMHTntLqHhsvvFzqehtrCSyLziUbJxPkiObCYyNeiCGmfJoKwUViUwAvtHraRDfSyBkqIfwtmAeYCrxnnPQlyjGIasmzRenSIAuUPDzhnVPlDuPninqsThZRgZIzHUKDkWEtcehgkwTXlLIwBIIbhKxdFJoUcdASOHDqTmaRcEzFgIeiAWPiVChxxlwtmpyrpHrvZyVplLTAtvtRzefwogRhgeuSeVLXiOSsaItmTfROHmMSMtzpJMkSnLfyIguDDHftOujQfuIZNLhTNRRxNZbGqLFckVZTAaKeNKvPcRicsCXukkrVrQsJfnjdYFDJEASWkWWZWAyWkPERnYYughQuaKTTxFxkpFjLgFSelTUbDtDFVjOkmGOKDHhOiiZUfaloMZKidQHPZtubOmDCAKyVwvfxFfouKvzqNksoxQXopSLKmHBryzjyjxIfAhamfyDdNnesWzoOsutUIwLoZDavbPBlsJmzujJNyqhLgIGGVFEuvOmqcNyolxplJe", "KtynfGPFeUbpsqlFycAWOscTaTNErKemJtBuDVQIHcNjtMDABFBDpQqKAFhxHxixMtYSVQreGEibjUlCnoJJNrssaYaTICuvcXhGJPryAMEaSqQYWgzxirbZjeDAcXOxhDfCjNFLopilxlAeugMibmyxQetsKLkqQROYfDNujrPmHuBVtOfbwhZGGCFIXBLTOFcbgOYrcsySZrLYVXlfrCWwqUYrhmOHUiBxzHdkeRXvDtIAqHiqgHHKQxwUoCTiIYatAGXLBJNUFddlicYXICNkpHZrmyepHtQeCqdUYgbDiYWNonvqqcAjGpPmGFvuCcoxSCQNPZkGHwTRDOCIzKzzbBqvApAHhFHmAUpDoaFwlfhELqlQHhuslPsSdXWflVBNaBYUUKpDCVGtjSxegKXDVRgQmbZEvFdgGDaLOyPoSSfZkNaeoJDhIUhDlPnNVoWVfzjkROEFtJTBELrxygttSzjhQnhiWJCXZgxnaxqmcScPpzTxIxxTFvViQXTb", "nJpydbZNdADVZzrHXkLPshCttTipNeIygVKsKztSbsjCDPSfxrIgassdmAYBFTWjuPgmvqSCyDkxIPgmiUDUCAwQfECVcDwrAPhLEpVsqrfuadjPuFwqusJfZCBoecCBQGokmZPirXPCpjQScWDiGLtdIWVLuzNtofTvjhqqZykOJEMMfZKhEpnjYYsCllMTWcKHCVzvKlgsnnsXpNsVaVFftnpCVWnfRymkbWvXMKGrUCdEsprYWtewyYmsMnvJYOAOsNQIRkgAeZBlrozuZyGjsCoeOMRKBbhHCuWjNiTcsEjQaGwOZQvSABUBFKHtcwAIGBQkgoNrVYXNNplQXBfTZmclKemBWxAvPAZlWjghBaTbPzyGEpdJZBRkawWmguzyAjgFYXyQBhrLYUvuvfQzptAWQfXbigoSuBCtdJIXzfGxnIzQkiVLAnvmYookhNEFIdbGsTBzRrPusBnaeqbmKPFogGaIBBRourxewbHrHlWKttAswiIemtQZWsxo", "hDiNRwXAeWJxOlJmFcZEWkpcyPEuMcAHYSeeMqGMyFMzHxowfMdbBMcNDbbeuzyNKEatnkGuNcAFDdzSjogZRnUbNbnQqBOKhzxXzpmVjzrITASjCSAlCytZvkySituSmtUdQEsxiRPKgOBnNgvEDRNwvFHetvXPGqlUkPvcqXMjRBrPGSFunTvlplFyzrKqHwflTCyXYZbcyswqsvrcbbtlzqyUxXtYTAGjGBGtBSWNyVuHqgAPILlVtCWkYgqJxqvqGPAgHahuVDIZThmfVuasLNnvjxziohagqnwVsqZzsSKHEIcOAJZVRnWsabRcJsTWhGtyTtprBvqxzircxAWZsSfbNpaDzYjwacpPaGhfWiWgBkGEctkOYlFVJVazHAiGMNophfLusSEeGAItQbzSbotJYpwrMeXAhFjdVppkZbljiTbbmYvLqKwudTFCYzAaEZGUVRnPkJCqgVVqHfIBmPqTtFIYRWDftoaWtXLoCfzHuBaavwYqvNRVGNgb", "TqDZAouoZQqohMJOFNKnGnHYtlDwcRCSRjZxNHXfKpEHdFwJhSUFUgdxktgudGERbEcVlWspazfyJzyDgMTFqZfTBsMRVCkFcBuABBxBKAJADLGZLIGabTrdTqlduSoReROEGTjRlgKbXhJRtAgIUonazTkjXIgTxWyLrBfJotNaomPQyKlBpZrjNcIyuMxyjHOChpJfiTRPfmZDlZosJtuuvEOyYCijxPfFunqMsAkDxcCMnwOhAzDNeNCxmSEzObHbafDIzTdnKSmGgsAQroNEjqOSxRlRhkMHfOuIXUnPivIOpdcCowqReURGcRMHXIRWTiKPqnznaejGaOBAxszRofhmuDPzpEXzWfZQdWxIWROhVLyvhJffRZfEEUdwAqmilUWVMtxhMJickLpVZXlIiNjBLGbSUzoivfbkIGDJIIQvDJXibuUZEUEXNNFBheJheGKEnpViJHCbkXGNhACMoBRhPnZELnAkgHnSTMvaAfVpgBSecGKQXDIpvfHC", "BFLKCXwIhAlfEVaYHesmkguIPeTXMetFIbTqHNNLYxJPpOZuRMOnHhqbhbkRUiowXqCPfabEiXlpYxbnpGfwouKZbjCnxtgzvqEBhwgEmCdUWTqeHihfWEQMYPoVffLxniDhcocCJNagMlFhGKXWjAJScToseflCAzpTUbWUszuSRIYZlgSHdPPLWJdVekOxiUwYWOLsJoNXzclwjoReYbVadQoWgkVJQPgQLHXOeRcSBasotfekBdcQdCWFcpKzIlppnwPdptPscYSFCGUDLWkVuJlFEpuZmupEGXIvAYbZwqBJqXGdFaxKVTWBTIPvClwOlRyWESqLCwKeusELRgLLRXePwCglPvhuxKIZNTvGZrtjHEwligRQWxMTrsPldwVcxnZTeDwzsHEmcxFMnhCbJhBDAyMZnjiHfJlGIJJfjuoqWqYtqhKMcZdicJJPiswZIKYFUekEmgiqpEFWsMzpVhWQeYeFDSuuAYHLdqInWtzJfLPwdJBDDVwcWalW", "nujTRRgVllgdDfzDNUcahoURRMgQvhjQDOLOjCetBWEOqGLbzpttSQpOCQHrbYdmnbXvzaaLmbErQApZeQZvNHnqaDFMYFCmIvwqvcmwXIoesILkxTMIhJEAALGrxTyTHdqDmKOtfyCkUXYEyoLHcrlYHofpSCesuteLLOFtxrXRPuzSXDLXgxCpDiGKfREVpkuuXsaTKLxmeLNkSgnJnRRpfrNJtOxDmtJEKDHxTCPqroFpostDfjkyisEkQDOQRIgVpLrmGPkCsUVqQfSfmcrJqDIXjiZapxNyENGpZNWiKBsGnZFBFsLGVjKxvVJfzqrUpcHVAnzSyqifyDFCiMljdyOxqsACWpojBHaVsgHIBhATmFDjbzXUpvnPsKirjKCVtlvgXmUmebsrBISUEUJKWVaYcCWOSphFrhgUkxgVdaHzUcJvFYxBWGVxBFWGodLhyYgxIyNoyGRnXTmWkZROyVCWbaSUrnCIIEycSCCUIqAlBcpipWzecnFxWJvP", "UGsCFpBgMgvTQPqmdsxudYuHsNFaaGeSkPOQCJNqIKXRvEyWYeUSpSgyoBJwFMDgQYRvDxxKHXJIxNsPNRQENAQhrVTmzRrnFHqnXXucmiiYLOXEphDSIVonqXvVWYYkGbzLgWqiLsuTzOctVwJOzMjNylnwWtFcBKkrdpCdUpwXuyyXruKnsSmHkMwwnKGNrxbftbxrKmghpDhkDJqSeSgYbtCiMnlCaPggZAsbjaesdjuiRdyNNvQDoEMncMUGaGKISIWcxXqrzLHuSVWZvAPhFwGBTVzkgprJGjwrdAXggQtrBIPtfjwDuxSVOfxBzVVpDNKMgFKWaFBTJVQyUuvwHmtvyjKnXXGvyhpOJIoritHqKMQOVQfsBDSOeWpOdMijsbWKcCoChWnPSHBoYdNLJjnGMpHLZokOGxuuBVPabZbQdXGiexkUVydExIsatEOYSarzvFGwOBcxjOePDLiRQkWcYbbSTXEWxwpNNwuBhVpwuxebpauomroHDyKO", "uYCiyMwjsJLSbGPoMiyYgslmoFOqHWzlBPriFWvixQoNKIqbVBGNnkoDUtYFrYhGYbntwIcAOpnwwoVRTKWBmQrAxtTYpzwJtOLzlkBMCceLXAkSpHtgOUkOTHGXSAbrqZSmGPerArVEuSUOByMzacPGntjnYPOFeuGhIRxfyVJBeWhlDuUFUevUExXfSAuMchkDOnxWNpexsthtHNUSsoOIJnLSTjuNVwsncqxlJgyYIMaFegfPJMVxWSYpaLZBncgOkDVbNjnGcpnellMwggjzWwGdPuSCNxGIJRIsHNkfPvUdZaplCMSffULFsCWLukRDOGBVujGZtJpCIzBWlWnyOQOyNfcKXMtJLVSbrROCNcPhJbvicQVNqrpdphwJKLhNSJzESnrOXOFRpKDeCMxwaYttHTVikotIhLEFyuNLjOcfwmxgQxUwLwjoYGfcbAtJGxnBRWaVHFTQGCYRhhdrWRpoWsriwjMJmtkefgqfgHPPttKlKkLErvVxMAsX", "nOWXuXtxDTIjoCGqZjpmNeRkMsXOqftstyTWJCynniwapXUYdFuWyKtdgJMemJtYfScWyDUnJxGAWoQhFvHhHLWouLvpWfwuWrVTYijNZYxHAlWYPNjWEEhenywJZDwMJrmgNbEnRVWILKfSyNYFZfMFHJGJkdCdMNKtdaqzijITuOxrihSONoThYKtuRGlVuIDEhkgDUcHJPwLqFYZJVQbTKiuCWMRdvGceJjMOSwFMHvPWOcJgkwlxPrQmnamVLGYwKrAPimrEJYhbiodjiOjqAYtqLCzpYgPRFfNssoIzdDLlpZHYUHxBBPQaVDkJOAGsbOTGgLMVNXScvCpfIDVNSHmhHmElvjCVYLqZjTJKTExaFqCzJubkMfJcLhZaWmcztbfczWBoSklwtXqCJVlrMDbASZAemrUCpSDzaOdfoNZjEMVbcVyHtmeLAVJObRwhqccGCpTwlzfvhcjHNHFRjbVXpcyLeTqRxsdQoGviocowZUTAYCmHWbadcTxJ", "YyHPVSJRMCpiQrLxzfBRwIHgnZjlNQJNLEBnFNUslYgEhHkEdgYvAhtOWaiOrxSGBackIlhMFIBXwgLgzGkpkCyseSQqdETKnHcXiSgBGDiKfVdowghSoZHezqGhOWLOmoPingeSyXGgdxhryHUjTzaMmprsdkRCihsdzFboYwFYudJmZNOkgMwTPVtylZEZTEBmRPnYcqxsVFbmIwpinpOSwZxRKNnemSobyfMRsVcQyBFUgtcQLMjYLLPuDaLXMWbsEyoGtAkYpGAKJGJBFtDgHitMZKqLrbukcZBMFcnYJzzJqRFylnsZHEyEwYPiQnWBrmgtqWWLjfQdbVIdDSHQojGElWBuKbpEKLrefxjuLicgELAWUaJLaRJlmVFPNDucnSbgdspXPQHRqgKknDfHVZeyeRhFoJMzOgEctQKSkHukFeHwzzppQJeoOxEpILtXhMkmuUKFIUueTJUmtzMerVWTknxiSwXGnTxHLyyEuPhWwlNDOSEVQsMxgrAU", "ozfPqDisLFWHCtnHaYuVpafzFMpXNgbEAXGqUuwqHcZTYQUyglgfwVTbarLxFefkSpyAxHrIoJaRvHNXGpXpZbiMfsfCNPVQcACIMetzgCrMMPqUpAMwcwmfMwWbkjVuAsgraKCAPPjOaNyDXhClJtgNRYCXfzhQyDjjhIOtPWiTwSrjKhaAmLoFbrzCMzGMSTNmnMJUEdcJzWenMmCXgymHfGcRodjlfSiuSJaXOeIXIuEkOJKjoTUoUhaGAShAOhToYCCwZkZGsoIEXweofLtbMAChuwyKKIJkeBtfqRtbCYSJVMFNjKmQpjzDaHLatpJkPXRrLMvusVUBVfwMMfZXuAPzquDPRzVccATlvRVbDQYMdwUMDKgLrEjmIvtuvNuIqKPOjUIQidufALZrqkivoislkRUCvOeskWSGtbZKLwQbZuXpIGdEbgjfGHenGDZtAqMosWMZGsrsvbmPmXpzxzYxGDMwWeUxkexhQdZzIkTrSHfwUbAitOjEJhLC", "QkNMtLvJSfTEvBrnswDFoiMOhmOgJhFDmkyuRrJtXihVChsZlVXAIuEGUxFlnYxKvoABNvADsWolhIkvRwhZLhLPHYDMDJteRWNOZdovEDjNQiXRBgtcomRIKoDfImWQSFHsjlKzQATIZFIdjhwOOiSxmiYoqauNPHLzTPBMwjlkZybcyeIYCgSBxoXFuXsupsjOkknbChMROBYxcQmTpbWTdkWdTsHKhuSNZhdKjgGVbGwRMzxTbFJDAztRnXWhmwZxKAtpcxwAQFOzPBsjTTCPxTxxLaBrhJYKPWKXZlNlxGCkRfGMspzloJzSWGLyuGwFOynLLCaytkRMCHpnSJjWPXuGbzJIsmheDCXgyZOuWPYZhqWhCOVkHpLGAexqeiiBZxSBmlQptPvItpsqTxUMUsFuyMgbHqtkzsyGkZCidleOZzohUTOJkgmidzQCBDvOXJJppypleUZtVsPCAkGrqwciGYABOgOfCqQkPFdsGRZzeyCTfoKaDNRSNLpO", "MilFnRUBRJciwmpScHgOqdldsWdvSwKebwEAdAPWpYpslrABAcsRxgtgoqOhxqUUfcehuvbOygBiMzeGWKwJVzyMgIPKemRDEUTmhDwwPaXWOwZvrKMebtsWjTiWnVmlZjQdzlKgdsZfUkWmDaJPlabADyYMPOFZFjoOKtqmAfqZSYsjHLZBnqHcOCQSIYMIeAHFeiLquBUYqdSQXdSYqbWTVBJMfHlAclNqQDHnCMPSyLkRZXNSUMGloNXnbMkEjYnrQrYGBFfjQqZhsKTEqRQbahVmFAYWAbwXzZlxfDTfWbUAPVxkhEUYlYXOvciYEgohWgvblPVSjGZlgaXrgssjpwwyzXJJulslmxhlCZnsPYTFqQVuhPbocfRWldmBVSMMnJPBdIiNWrZoRRsyVipCuOcgrWIvlgyrUZxOPMcGrBahpSDmIAkckuDvBnLtDobbzqarsjyobQkxERhIINqQphCeBViOIGomwaAidOqHTtWFkyjChIRUiVBDpTvj", "FztncbySWQSWXGuEduErTdqguDHgpQpXqCKtEBuJIxyVQQVhCbUnpmoRJmviDSOJRGLrTSyHCxGUWMavzeCjRdGxynXIfaoqWAzQZJMppVbuRxWalZtdfHykkCFMXAfADtMOxdkjPQPfHNtHviEJZBZxYvkKOGCtrhHybgUoFBximhRMlraoIzcHfzwgHLuFmCEoHbKtttNWOSPzyNBpbyQfNprXbWiVEzCIVDklXVuQeGCiSCgiRdrqITbxVkDWrLybVEFUwFwweFmNlEOYCiIYZvDkUBgGyURaLdhbMyyLJaDEhsLAjRQtFcJybrjLTBmxUzplOMszBafmADAtiohfYKybqCwRRtzCeOAoPVIgBgVBsoiHeCkyREsMWPEBYAnftLfjdqmKKQFWMRNtKebUlbiYwvdOguJknIcUbELCYxFrwsEeBWFmCmcXUDXaejrkEejefkNcgNFhAnpNlzfISgzvSfHjZOpWkdPhfwOLJStEUtWeKGmyQYDOjafY", "xCNtMQZLFaHtixbUgLdfxSBHdJapBvlnpCeHMAZNofWZSZgJczkXKHTDtwBpQVyVOvYEETEIiTawTyvMGvKscPOrNYXUWSKtgxhITUfeCTKuxbXnbpcDVuOqYVqcxyhwZvpJVrXdVTXlFZDmtGfvENMMxhblRvKWRlUYniSEMwYXinAOeLrQFxAjKDRmyhuaoLoRUFirQjjhxQmZVMjlYSjcCtbkuAHhPCFTcoRhAMnyDmTlNwuFoCxNUVtPsliLTvRDCEkDIJENlqGOTObGggIBRPhbBNNUWuPlsjBSHjpfsEMfgwLeCubpdOUOamAgyjZLxXwnEYPMRlNXVylmeNziQfZXjiYyMxWHyuKMJIpjkjgFjrCpEivbWiaSIRqewFOkvhavwywuOgwcPCcuITzJIuJiOPZXJCaTILbTZmlFIrKwpgcnAgaZCxKCqrzSlMpZtDvBKwRGwGPozwsSABJfasLznUPkmyDzxjkoLmFdbQANPsIRPzSYxZeMRxEl", "ZttnJOkXDCUkbxEAwifuGCQupsIwvlGLHEoSydIBapIJydsISKeJksZYKjJRdifhixmDpIXJhoznvGlmivngQeFOYLCvGjRVdLkwQhwchhoJdZgQglaPLpvcNsiDFLjThQmMyrwHUVpbBAiaJURvQbimrWeqfsapHomMwfbQPwnUlYPGnnFQTBnXaqjYogovDwOgVmSICbIdghRLnhjTvnXoYezyKByajuTpmGTzgCjAjtxYOuAqZzBFFLnSERLRlnaIYFHuChbxJGoZQSBUHaADkJMAfXIBMZuRLKOaQkbGgvNYINeQxFDXCFmmYOjmzdqbiYLPMKxpqAEiepKGRCvqzpTSHDLIMYsOjsdQTJkNbZTPURpmwnKTQHGVcRtxwJAhPYaSIaBjhoKdrmEJZnNePsUzdwoVLCEtxDdUwkUKXynfXFNXyockWMGngVXfBFefPDUtmGfJdalUBTsiRnXQVMokreaBZNbKfKKWCLogPPzYiUAKCKgiHdadJEDQ", "yIESnbzVPJKhanIUbJKZpoJzUwQVhQFrWtGLTXdJmKEmWamNYXJztoWGrJVDiOrEReJGQICMamYdZXAKpXgocsrGzrwkbjooPZlmWNbePTvxWsBFqacZfbDCIshRawCCdadoVgSeqGYzBLHfdisgYOsKNjMUvMfICPGIedoGLYsLIgrcrzBgiqEwnBLizbAVCbHHpxEgHOyexTTvDoEiOvLNDibKJEgOkHeYnvrZvahedOzpvMSBYskGGQogCRDhtzAWcRmZgQSxlMaHVmxiynOBexAKgvkKNVSJdQGNzxhdDxNyxoWmZqyHhOaXAeAmsPQmVJCFOizyQxwLpShTUKmrOYoZyNwtiGWYxdZlHsoHtPFyEkBPlYbncqVTSMbHcECzQBHPQxzrOiWDlJxQcBXGHuwomLPHUwEpbEAfNQlrdNqOWIgsejyaUdYsCdoXSMuOBFAxiaHWeyXwUHdPiqdudCiGStdrqigjMARJFJCpcZYFNGEFsVQMPovKRlnj", "EjAFNbZtvDMhsNNqInUAzBRVUhBITslNogouxhfcYAKMMvDRznMCMOtcvVfSsyLPFZeXKrQCPNUIEFqeioLgLkMVfjqIIAowmypmThShKjYuILgEQHMHpuWxeTAteKTjwIwQBNSQAFLSAqGMWgfLIVBPSxSLmGapFTyFbfyScTkOydqYYitZMwArVdmCKKedGykMXgJcHaoAhwmznRgTbHWAJHGgtUvDvzYFHeLPlPrTLFiQouUecOPjnuezYdsTTDKcfQjHIDbIgkquihwGBTcdidgniEhdnJVrqrZxrLVajyYqpsbkCvBwoIECEXdBRSuMFHySbXPLjsfjflMTmWmbiXTqWohtrxYDFMmBPOotVlUYtlxLBizlPDaLaIHJCToCYYkjNupgzYWUWYuUmiMhvqVxCKphuAerdNEomHeMxDoFtptzKThPjNGDwXXvKLXxAuhHpIOPhSQhyLsCrQZLMekqlTZXdhkOFSatAdzwmGyvEHKZkcMBZddauxZr", "nOlPSMIeleEzXGyqytTYtMcxXFggkfdWwYOByhPrpcVTWgFLGQsyGtcfJarzLNdHWYraJsWskZqQEuZTvKfxDdgzLbmQttiGGUkymqbNpRCJJPVLfYDPhSVSluHbZAMqhSQFKamTAJxvkCiBFyySRldiSAvpwSjCktwboIDBSvZCZmueQjEeCqBXtJsfuoizJzFaqfDXJuWDgqIDKhWMxjWsZXnWorPOeQvPXSvsJovOFdnjsLULTrktXtpHWsastWusshfhhzQuQHVObCXBUjWkoFlNYZIxmpCqVBpsTjQEbjIWwpfiZbtRJSNiYLGpXkhrVpBBffjiTtaKnZFRryQcDxAATXLXlzqfaLItCnbjtrcfeMNnYTFTpsyWGMUAvjZnMxLHWgofaFSfnhPkmAVnwZtNJniLUxOOaPymcQLBHeZmIROcshLDNTkpDhehWaHlXdDNJZWhkKAhDUudhifQMaGuAIIqjSaJSfKJANIiPEWknDANNCENdQRnSHnF", "oUlcGejnaOKeOXFBclwUNXVIKhGtQtOHdYyXfRbosnvlHufcwCWWUNMpJVllqcedzoKpCCwrrNLeLHFVeUPayysGBOidSAxxNmAHnzPGiRtfBRblMbCxWHrvtdnWiIjHnDMMmCzjuJqnRgdZXMsrmAcSXLZghutUvpxPkleVuGvhzRXWPFlBLUNOteRsjwpfzTILoINAsETHoxJDELEiOZNlQEMPdWhSjyhCTnKgyjfcLztbTcSaCTbueHqnMkevSFkOKGdtJZbuxxyCCNjqhIFLAUduWwfgEBWFoxCYoMDTbEmyoDLzqTOJrmMYDkAfpPuelYoXsbUDYUqcNziwoJmBQRGsusLpJbaSanrbEeQuXJnEJIBcTkYqytDGyaCRbRNoZbOlcVgiOXgKYIBiGwgDzZeuHChxAmMpZNOcAtlmEMpJCmIFDYbSIwdrCmHFgopgifhvwxAhOklsaLpDKeKjagsQCvVCjKMMKaNoaVNGpMNHrNtmvdeHEMcxOBJQ", "AFcLqbPrmXgVwtGgbwrhKqoJoeCdRABbyvehaHnfOkBTPTmVGEKMFkTznWhgEqxBjjknmenMIOEHXJTMKeBDPxcTwSPQcBvvAcpWTAxHrGsyUOXTJHruRTFrEsoStEyzeufLawHLEeMKqdzBsPDevBJTSEEUWvCCTxNrAgXSuKcDKPxukEWIbIVqHibcUczzjJNLmBJYkfMNqghCFwuQpHJNKiVtXadlmPNyTgwkzToXnuyCTeAlfQJvvlNPhJpyLYhRoftbpzzZjBhtbjxdBhfzcuMANuJjyZyvfiAZwiBQwswTGaYpfNBPuorjSipNEbeVJCMvsmLRrZeBseuKpoItNxLuyFWBwemqBsfZhQeFvWOSmThyUnqvxOkDHEoylReeakPFklOXkiegTIhSTOSvxtVMyepFcIizaoPjUsSFscFNEvIlUGmPAylwTSyrIeNWUknItCtxxlLikmGNFZPVYBLqQJkbNdzNChroGGppOmaYQdFXqPUzalFdgVqc", "tDaNvXdTcBwEykMnfNEeelcBRkriBTlcpraMeBudYZEheXcKUhTjytIbaiDzhWtBcHOvZUwhKhvlDQCdMLFIzqqgThqkSFgCrkXlLfXBvyiemqJTluWEuzlwCNzgyWqeXNvBrjSnbmMwknTZxNvsYsChrBKlStgHzenErnmCgvOJSaVODHomldvvpAExehUjwGGxIMegzDJvdNROeREzStKXZpyLSKQlMUhcNPpFAgRYYtiEYmRUZRXwCeRTpBbTVLXgANgOpXOnocfnlifbGLLYgwHmJBUCFeNToHlxsaeklopJkalfnGjJoHQpXdVGBSduxhepbGpSghuKBTivDttMmehJxHUhHjtRVSeFiJNOizTPPFhGBmSFhCYWTpdkwEQSZpKUUTFcGoCjMDFmuuxdZsLSZoztriUIjlxoYaGzQMxVmDdYFElHtQztlqlAvZrcbehoTzfIBxNrCKvVFBRlnUFoZeRQCXEGdmnhoAPKIRNSdrJxLOLyNBNQWcIo"],"c_array_date":["2004-12-14", "2019-04-02", "2018-06-22", "2004-12-15", "2018-05-05", "2012-02-27", "2007-10-01", "2019-11-20", "2005-09-08", "2006-05-20", "2005-01-22", "2012-01-03", "2004-03-18", "2019-12-15", "2003-02-14", "2012-07-28", "2004-04-06", "2011-06-24", "2006-07-12", "2014-01-18", "2002-12-09", "2017-04-07", "2006-07-20", "2005-07-10", "2007-07-21"],"c_map_date":{"c_map_date_1":"2018-02-04", "c_map_date_2":"2019-03-17", "c_map_date_3":"2002-01-22", "c_map_date_4":"2004-05-06", "c_map_date_5":"2007-12-07", "c_map_date_6":"2010-04-08", "c_map_date_7":"2004-02-27", "c_map_date_8":"2002-06-06", "c_map_date_9":"2005-07-19", "c_map_date_10":"2011-03-16"},"c_boolean":0,"c_smallint":24438,"c_char":"VIDqQiivKx","c_date":"2011-10-26","c_ipv4":"199.211.101.1","c_array_float":[75.99588, 99.47338, 2.0023658, 11.152466, 56.82657, 65.95372, 14.093946, 91.66948, 71.81185, 22.351875, 77.81804, 55.593945, 23.039543, 39.564526, 75.66304, 10.857413, 55.17103, 54.00067, 80.97093, 99.49362, 48.80977, 48.86089, 48.093945, 96.20286, 91.09044],"c_array_double":[89.61634686191714, 27.294757470714902, 21.266862785801603, 98.63976867983715, 24.691767319781395, 1.5991613963007993, 60.54188495175951, 20.60111608463835, 76.28363141910705, 58.7558577295214, 36.97355466432733, 69.6332462760998, 18.131312659491552, 41.288899947122786, 8.40241236542754, 82.23223133037159, 58.56189318539138, 50.74279895562523, 32.496779821608385, 2.363625518028595, 99.66531772997907, 13.826513600594494, 77.83575374179264, 17.10396389598466, 0.7322334500280219],"c_int":102540637,"c_ipv6":"dfb1:5ef3:54a1:408:80f:f47d:844c:d9be","c_array_ipv6":["biiGyIAvMA", "QaibjXzMFK", "lIxQtxEQXr", "NZydgXyhQP", "bnRQCCecPG", "SRokeeUYCN", "rXdiMmkvpM", "pTuEkTcCrv", "PyIBmUCseE", "RZdgNAOZZA", "nQeuFakGxB", "UslfgmNBgu", "kixopbyKKJ", "HpytLmWZHa", "NbarzfAcVb", "EdNoabtrcS", "YQEdDkIHga", "medSNHioRi", "zPiKEcrCrx", "uYWqFvNemw", "hTAXzgUzub", "ewFxjPXUKj", "gduXEZPqsm", "AjahgzWLxV", "AGUAAvYwSo"],"c_map_int":{"c_map_int_1":-688772140, "c_map_int_2":-1055058698, "c_map_int_3":355901342, "c_map_int_4":125360031, "c_map_int_5":-546020280, "c_map_int_6":668210573, "c_map_int_7":1075960933, "c_map_int_8":-193001033, "c_map_int_9":-1327645814, "c_map_int_10":788238418},"c_map_bigint":{"c_map_bigint_1":7388491547492299447, "c_map_bigint_2":6833593197988727629, "c_map_bigint_3":-3817402654575242217, "c_map_bigint_4":931735299513389877, "c_map_bigint_5":-423306272947327456, "c_map_bigint_6":2879691310359331956, "c_map_bigint_7":-6395718343187334553, "c_map_bigint_8":919192837615541730, "c_map_bigint_9":-2066017782635327140, "c_map_bigint_10":5875064689449970930},"c_map_double":{"c_map_double_1":9.503983842009076, "c_map_double_2":99.66558003728449, "c_map_double_3":5.066195074722859, "c_map_double_4":24.203833615445802, "c_map_double_5":44.02410055485276, "c_map_double_6":98.67721617008264, "c_map_double_7":77.2828901904013, "c_map_double_8":15.245072689695316, "c_map_double_9":35.352005184245876, "c_map_double_10":32.72739328401326},"c_map_string":{"c_map_string_1":"xuvhiMErGiadFcDXDjuTrgckTFVsJLRPaFKsLrmInyTwdcHuQeNyuyVdeusOQYfEDSYyMMlCifVlrieBXiawWPNYWmLnByVHHDNzkHXuRbBOKkusTYEkSelzBAVaOrUVYqAcjWLgwFBsasvyvncKGKRNGWgobiNVHHPoECaRLLVtxnFkBUcIpANTfONvlMeugzJxqinYsUeImEOSlRITzlHzNXFaWnJebbUxtxMMMnHvUoqTSkETDpoDHksKtkwsyTMmjXAUJUTTKLlGurhqHjDvQweQlgxZZbvDhTJqsMYArTurbvQSgZOeABYlqOsewxlGkHAKansihJiretklzWwvEZOqpouSUxqsqxjEnosFFJBTINmNyEOixrMDfcjZWxqJFhMGnDtisDoxoEceyDuKkKusqqEDYStcdrbatxoFhuImTXStOovaVxgpAjHDyLntWpvFZKwMzYRqKVoFAMFvtnBIGVQXUFyFyGHXZDUEQlJrXaRTFjjrXJvyrMjz", "c_map_string_2":"NQbxiMQmfZnWXKrCnegsyriyjIdTdbrbbgZBAVkqnYOCBRZzVGjDorcuAyEoeyXhZovxpQMKtpvxtxsMirFoWjyrMTdFJGfzPzHlrjKlEcjNaZfYzaCgxMRDzgxyLMsrlXxterQJGGfUjHBOATlDKyDoOqaQyyWYsCDYzcqZgSlhrZVMvddhgWQPIWFXbkenTLJilsUCxEWsClHLfdUVjQYfSMyvefNNwVKSaTtEKjglgxQltYMYrWKsLLnsGSSyXkKFdfNnHABlAeidHlaovpySsRLUSLDSHYfsztiyMLNaQHibPjSiNGGmKIYVqyolUbiIeZbofjoYdHZOpphaedxolZlPreJSRHnWfSfNhlqoQEfeUKCjgmuvaJxWyeSCoMdzXOiCiSwWIOnxnxBdFeMWMfjxUkUSWlbFhVWjkcAdgFtyNkMVHvgJuUbKtYDqbWALuLtLXyWMsJTJcRXZalUEhiFmcFAdkQVjcQrObFsVAfGljhMuNomkyvAbMtsb", "c_map_string_3":"PqAGljojqeaoZMbNuFcKlJpYVxHeQlBxnZfJSIRQKwgFZxzlXiuOJsFVmfvNFDzNzFGzqDkLWWSMkSXweTMKGGFgGkSvCyWwQpOpxTKvyTPlhxbOQAvekuVRhcuCRplCoPYdUEdgNYvcqTyTbDvDfAqkJvsbzVnCwpwFEArGNAJsfjThpYzGBMtBhKFMLxrceNKbMcdWajvMxryNrpOtbgUjUSaTOCkhVpKBCwZbKCGBeUUYxWsHasKQUKODWwfIPDestjziTKWOZxbKipfdcfvPAFEYMkdTHAQAYyUJZIpFEWgoFvvAzToFozGEGmMLKGPKIqUseDFNDvWyGEcxUUVGWvAzkwQUvYoYzHVdXxCfSqiGyIxuPrHFjDFTxpYomBTDSfziCwKVbzIeEoaIEaCJHAghGeeykwgeNrAkTKlogwlHexSkARXAgtYFAkJQljJidZhWWJkIFLfxUpOULrLwimwKEKqDazqVbBAQhMruyATFXNzHPVGtKfaSHmbo", "c_map_string_4":"HLuDBNakBIpsaWJlehcUktNLROpKqLNJocMISeITOvGPXXgYqzXyTiwqOSFviztxnRmrVcZRpNYYDwnCOvQuSVgGnGUSDRiSwLEWORDiykwiMCMHdmeGcRevKDbHhhEzQgbSuwbcgggwygqRasZRQVqLnYJPvTpEQiIAURUAeETvPhEtJFPCFoLFWoQRewocjBoYdTcYxyuEBHSulvWoGEmBpPDOZOZaZRIejlVxFbGrILGhOLAyyzyiilegQHgPQnYKMjKgGaUCSCHpuyHSjiuTIClfrnGwkHvDPMxOSMgzGtQLNGporTXuHkeWoFABtxGpfhPNVAWLbbXrofDHsgfbRcbNXfSbIlveudnfqyTMDXIGGyttqDaoUZkcPGNEJXPoxCYPPfetatlixSMopOnVCThVEvjdTGputWcqcgLlHOmnyarqGuffAYpWHeKKXHdDdSWLufOVPvoDgVOzSIHCuCDTsQLeSzIlesXeRhfbSNCNCSnMWuVQEcnAMCAT", "c_map_string_5":"HENrGBkOuvTPDxuxZnBpfTBGKnNfJoAgMENZLLFwUsQoYkAuaWEXPDYWBYOFDBMAPLqRjisaQFXlfAZPuExcOsTSutfcmTgxrDHeEIFdpJMmdOfffoumgvLyPKxPfRbboUzfTJrAlAyyqwGSldipsMSQQwlEygcAyMpCnucjaffblmpxFHORUSTIyYKZZaSDZYUQbvaBnJemvrvuNtPOaBulIgMLUmzHvUqMSOQJEWFajWOpEQXoknYtPlbzvVqenBWiWlDHoUchUTaaUVixVgVQaDMXEUJdpMtXvkklVppnyMVQzqHTNrLGcYGjtMWCtEeyCtUFvZdZlhFhJOwGErOZJqWWMxiWcGEkiIjZTreMAmuJbAQMqYzBBOdhstuHFVHPiRaDCvfdMChnDSsfLvITPyXkUdndtRcBBjDosWXYLBcHZsOOFvtqiVOTyYuHUJtOFQZCnoFgYtHlgDdcpgsraPJDnFhlykLSqqXtXRueqVzCnngmLtVZlovNAEWr", "c_map_string_6":"pKODTZBPxRboPBPlzpTAkKgfLuxrDZBcDeADkaijialyrFsgMVKEoUHKTPFjfXZTdEtnViGDbqEPvjIKkgjLCgpMJJIovBWPguRHckYRzMwIomVkntSrLUwfIGezxMaZUpWPxfdOUkMCJRKdbfbxwcwKuXKvfumevVPlQPjkNpjafhMdkLIDngUvZxELQKQgaSsDiNyIAHPzYGSqFlbMobMvTPkjxruxLggMhmrtEVrCrzOcmLnSiAOIOVAdKGAEJMdQrwNrZEhCBZFdDWntiUpewlMcyieaWMpZOcHATtvHGXXtAbSpuhljlzRuVJosjEEJDUkltqmSEkWRwpLImxCwInGtyismicqwMykDDjFgIeqzbNximfIkmRtKyaoaSMBYxWOwiXAGJBGVbvJntFpuKobGIJtbIxamEpomPWhgVQmWWxjQbMxSQzyiWuPPGhIEWUVsISkOppMDDXwlyVzTfyRfWXtQwDROaLKxmyPQNbWEJepAsxWOsVGpnQpx", "c_map_string_7":"UPfofIOwfSYAckfJthTXDDSlboFcEkxCOXVIpVLUvJdysgsrtOzrRhEfqMBgsmRJpQXNRTjZForQuhuJZpFJUvJcUfIBcTQveFNIIuZRdNharBjkarhaHpIEZWDLMxXIfttdQLmxRjfsATLOmcRNODGXdyzkaALheIKPJEKimbIIpQpdXZZbWdMZkJYVfoQmNFiNuvjEVTnffHusjJtbfWxRjHQWGJrAwrGtXmXyiLEfNxKepgJdMMYcHrnFDkVQKfWpIuLkxOSYopwTXDDswqEGpNMFVpZYMMtSLnClxhnisLfBcJAPZjmHExLjtjOoBdZVkFnxuZMZyvgeudWwATtyMfCzwWbDAZPwDVZfrkoNmZyryijnRiENGfMvOPptyarXLHrAsSbdmUqbBMfNewaLCOoTqratZmVvFuwCBBXBsuNdYIwnBiSsLAQdUcvJocgKNiDVRpZsMfbYoxuWNHnfaxukJksSehMQwVRbLaVaUcKYPRjbggIQbtHpOFGY", "c_map_string_8":"bQrOmvgZANaOMNcYEaESEAKpJpJtiKYUVRRUQZFyEtvwRkUXEzKAhFDOAAxWwkPqEFbEmdWmFCQNSJwvCSIhTRiabcQSPXFJbEqgVccaZiKiZPTOjJlWqbdVxDuALzacTNodYfiqXcsbLWFBAGVtVMGyaquTJeBIKBDZsmRhEeLKjMmtHsOGfelWrBOnKOVWGeKjtaNsgxKIeBMOffVrYWYIpDEEwdlgViVboVQctbJvZjvvmoaWccablbKNVqGmSPpPwrDSdtwxKDmECcnftClokomaTvGJSUfLacEzoQTicPbLkNdNubDGStkTIbvhbdJwTCpFujvpPioHJJkAXNCRpekkiskXICiQROXzPLWhtrcPDiNGnxFbwzzmrevxiVDgdArWRwARQVIchsfCBWMTdNwhXnyzjVOHpeGGUdCJaBlXqrZWMxlJmWsiGPrsHBVreenFdfhTIEHVmBPrXNxaOJkuvrBseRsJzeOXyPdLLxpbwkhATMhnQzMQafAb", "c_map_string_9":"jYyKwDAcFnMkcBaeZmYOyRcTwJwhSZGcyLGyOUNzdJfJhCsIpfPoXTIQtrXHVFJsgBEqXNvNOIZUWfVqhuCCrJdcqSyLiCGzHFqkLPOuplvtfPhmcKjQItmvMbCGfLoTPftlICjjoLfEFrJBFlpaQnGxApTpCehlDfWwFUzvCHVmiKjjJNmoliJEFqQYhjkuJJVWyiqKZwmrZYJPAjAwWZTVZhIeVqoMhzImkVwXlYDpitSmfefkNApfzupSaRavaersuwsIOOAQtYDmiSBCHMbfiGZqBHNVLriyHdaHUdSvIljrZATkqpXofZYUokdcyUKtacHBCMnyqzRRmIfROSYcWuLFFhFyouJiJndWUKJFAaInxgwzsGrAWhZnvDfwvsxkkqhlzCdlOxTycBeWMApIqYrzsugliuRAvAHfbyDRdFbveRPaQsvZxMDsRjIXgxbTzsZzWOaWEZDiSVEmkhebpXRvKivqItScJBSXzGOiSvLNbGTGcpPQYbzbEUGv", "c_map_string_10":"NarwkNzwaGbDjJOzKufNjEcHDgMvVndlGFAEgcTEuwBOsAEjfvUnJxBHvEBpvkeSvEtmTWywFEwKVeFnKzMjeqeGwAQYYmeUOKmAPJWbQvtDRMfSyGSVqxYILxWwULEpUkaUlGfKdqjIjJSxFNrocHsZQRsuAbVrAZrJsLJKYzPAuknVyYQsCnDorBhzBJXwfpYEghAgdYqwSCpaxTHqQuNseKwtraaIYaXtyaPaBFMTpVlqPYENsmXUPZeHmYADtIOvRkRgCcXEiCFIuPJVmywJLTSBGUDDXooUhwVhubOJMfVyVCbMFytSjBEtmlDeevkDeYJAgXLYgUwmFskTOGXtXIsKgCLrJPwmCoQFIbIcwUTkbjIMCglQRWfTtLyyhTFRrgdcMZPuGdzPIXcxCKifwqdIZPkoZelCbdAnrBuFvoFXYPYZnbKdohthmIHWTzJSMLxjUxCiaPEYJxZCuHuRMTSKRNPIdyfSktRlJGkfvoOLIIkldrckYKUmVXYP"},"c_double":54.948239601013285,"c_array_smallint":[-31342, 31382, -13337, -32457, 13126, 17714, -8697, 17200, -21388, -23314, 5143, -15760, -4515, -15851, 20965, -15629, 13410, -11417, 26350, 25258, -26888, 505, -23474, 30064, -13953],"c_array_decimal":[69.1052, 51.1186, 100.0012, 64.0913, 42.1408, 80.0760, 70.1347, 95.0111, 40.0619, 63.0707, 0.1824, 1.1441, 69.1647, 48.0094, 89.0876, 15.1847, 22.0516, 66.0311, 91.1493, 54.1830, 0.0058, 57.1265, 71.0202, 43.1808, 27.1800],"c_map_smallint":{"c_map_smallint_1":-17213, "c_map_smallint_2":-24463, "c_map_smallint_3":17898, "c_map_smallint_4":28249, "c_map_smallint_5":-16883, "c_map_smallint_6":27541, "c_map_smallint_7":-23911, "c_map_smallint_8":3827, "c_map_smallint_9":26314, "c_map_smallint_10":27493},"c_json":{"futuretime":"2024-08-30T21:01:40.93422+08:00"} }','{ "c_largeint":-8919300798599814031,"c_date":"2016-11-23","c_array_decimal":[91.1708, 68.0847, 53.1487, 51.1950, 88.0941, 19.1812, 65.0943, 40.1503, 9.1372, 16.1207, 9.1819, 0.0140, 30.1011, 67.1236, 21.0908, 50.1916, 99.0028, 57.0983, 28.0683, 84.0044, 95.1535, 76.1153, 14.1957, 34.1148, 24.0421],"c_array_ipv4":["PxvVYlKIrl", "XioBhBCjBj", "GcbbFDOYhy", "SktPQnkzkR", "smNDQUlaYQ", "cMllqPszhA", "GcLtFaaXGn", "KJtWWczKIl", "FIEmIQlscn", "mmBewoUDjV", "UPIxMjaQDW", "LykmSoMwRH", "IuhkYFgWud", "tmBgoFabik", "ZzhMVbDLlC", "kctibvEEHG", "vfZzAhXyfS", "HJSHsGzyWk", "GaIzAyURHj", "YjQMOYHqyC", "LTFgapxVmX", "rGJuLGbHfR", "RMoDDsdUtP", "AqEXLfmHpB", "vLTpnhpnOi"],"c_map_tinyint":{"c_map_tinyint_1":-33, "c_map_tinyint_2":-1, "c_map_tinyint_3":-101, "c_map_tinyint_4":37, "c_map_tinyint_5":-114, "c_map_tinyint_6":-16, "c_map_tinyint_7":96, "c_map_tinyint_8":-22, "c_map_tinyint_9":38, "c_map_tinyint_10":5},"c_float":2.855167,"c_array_int":[-10692332, 1605077456, -758673430, -1129001732, -249613741, -1890413035, -1654068561, -95479635, -415491813, 1188199201, 46120731, -706585377, -1404231955, 756883301, -225416327, -1839986659, -470547792, 1877606910, -938085591, -936856417, -1261946250, 149857025, -1001184990, -471765897, 905104734],"c_map_bigint":{"c_map_bigint_1":-7080359761708765557, "c_map_bigint_2":3303033952070686006, "c_map_bigint_3":-4093000135388312667, "c_map_bigint_4":863276292564425539, "c_map_bigint_5":-6808011895574323472, "c_map_bigint_6":2996618599518079411, "c_map_bigint_7":-6529386722246625882, "c_map_bigint_8":7378278653220874504, "c_map_bigint_9":-5551297244769670451, "c_map_bigint_10":-3387411450161041538},"c_map_float":{"c_map_float_1":71.57211, "c_map_float_2":96.41159, "c_map_float_3":64.06503, "c_map_float_4":73.22012, "c_map_float_5":80.78627, "c_map_float_6":52.85609, "c_map_float_7":20.144436, "c_map_float_8":54.519638, "c_map_float_9":72.41239, "c_map_float_10":4.5263524},"c_array_datetime":["2019-07-06 20:21:10", "2004-04-18 09:18:35", "2011-08-04 15:28:42", "2016-08-08 16:08:03", "2008-12-26 19:46:49", "2013-09-17 10:23:36", "2015-12-20 11:40:34", "2011-07-03 10:17:13", "2006-07-28 08:52:14", "2013-06-27 03:07:14", "2000-04-09 10:35:41", "2014-03-22 01:03:26", "2003-12-14 22:10:00", "2010-02-13 01:02:22", "2009-04-06 13:23:22", "2003-09-06 00:03:37", "2015-12-02 20:18:03", "2012-06-06 02:20:13", "2005-12-05 12:02:59", "2009-05-01 15:34:11", "2013-05-24 15:36:32", "2004-06-20 06:00:57", "2018-03-01 06:53:38", "2008-10-12 09:18:49", "2011-11-10 17:31:28"],"c_map_char":{"c_map_char_1":"DffVkrRnme", "c_map_char_2":"DRbHKwTFom", "c_map_char_3":"gQdYHwAJkQ", "c_map_char_4":"igeIoxxeGE", "c_map_char_5":"uTFTFTyUAq", "c_map_char_6":"pEEtpXFzdi", "c_map_char_7":"eTXukoABus", "c_map_char_8":"bKSrQiHwxG", "c_map_char_9":"JKMfcbnUIK", "c_map_char_10":"ucnEnIHyBG"},"c_map_ipv6":{"c_map_ipv6_1":"e03a:6f59:98d8:490d:4378:a59a:4e09:9207", "c_map_ipv6_2":"c0b6:bac9:15e3:abd7:fb1e:9698:7a3f:170d", "c_map_ipv6_3":"2c1c:3a81:ecfc:a110:c442:13e5:54ca:b676", "c_map_ipv6_4":"3004:9f84:8418:da4a:7b57:6f4b:3cc8:8001", "c_map_ipv6_5":"87e9:f7ab:25c6:55e3:fee2:ad04:ae0e:8260", "c_map_ipv6_6":"94d0:7665:f103:76f:9db2:3d4f:6a3:cd33", "c_map_ipv6_7":"f306:e473:aa08:685a:3276:caf3:e8d1:8eda", "c_map_ipv6_8":"882f:582b:a2ba:1133:c809:9c30:87c:6ded", "c_map_ipv6_9":"5b2b:486c:50ce:c3c1:cd4e:7468:5ed3:6f58", "c_map_ipv6_10":"40f1:deb4:baaa:cae:deb4:8676:6f55:fcf9"},"c_smallint":17135,"c_char":"eXqPViCapc","c_ipv4":"100.152.208.162","c_array_float":[89.725365, 67.85465, 3.3632517, 43.12572, 44.932625, 0.69096303, 41.55728, 22.264965, 54.788246, 29.894997, 79.47315, 56.74265, 100.49711, 65.08774, 15.044071, 87.147766, 75.54484, 14.035115, 13.627337, 66.03523, 44.066772, 48.84324, 50.148643, 55.33057, 17.763803],"c_array_varchar":["ztifRFOKAPcyxPILKQTCNixafeFTsBNQEyBEnyGcneqhpyOrkzJLPCXQHuPmJfVxTWNKNNasPgfCFCfGUvlfMiVFUIMrpbsXCSiHNOEQbMAvKlKqzbuYgLmBxdiUcLtuqJIGeKyXrYqUiujFAzPSBmmXINXsiDpNwfYwLTLbcSfLhOmzpqlsWFNIyZGVUDyLqLmrKwsTDWgeYEcWSNbkVlXwaPuwsXLeTMGhxIjRWIunOneaxhrvZpovZeFIajIe", "MWLYONkbjGJSujVZQIzXIdZaxrPUsDFSvBJwCpfpwzWKYWKjNTwBoPlnMTvRErxlRzeDOrPlvskJZcVwmXFvrSYKNiLZdmbwNQzupFjkhqFEukVKpFWEjozYFXkoOgLtkUSetFQZDwhwtYthtAwqTliQTkTUFXWSAtPQHvlAtSiNuHCSCWValTmFkaJtuKZPZbuzckYLWwxOfcHcDWlUDreJNKbnWFTLwcrzepjHxZUUFKEFsYtpedapdPBoDoqf", "ibdZdSIGXyPekDNepwjDsNZnVxPxRlhMmKJoFvtKItYaVXoMeJbnqvdfnUxgaEvKiqJFcEZBUpAcSPrmSywTqRsUBCDwpbqpQyVPVGlheVvhYLyKjFrQMVXZQrISeYsBhCvVDzinQQuSEwkpltPskPKKWrbtKDHOcOwefrSKgfxyznQHnssdgzSmncsjtrOKmMtALhuWRnjquGUNvCLTJwMvPrRnwxAIrSczyruktVCsKMEBLduqDFDgqpeFlkMT", "gcdcAjwCnXwSSjjUfsFSLAjkNSJtGnXGUppRcAokixGFLRYvKdRSvAHSdBNeTFttvJxWOGGlWtbiHlVJpEKckwsuCQoFFFUIBQDSxoWdcDeAnaShobBiOOFeIszvGVzsXQsnbeLtLcPtZOrYSzWDRzPKPcTEWwokniJOUbFTnemezcqmhoBWrOCUEsfxfFCZiibNRCnmmluwpqdJEBHgFHPJDKsUGfiKqCLVkVWyuHBIMOJcXwAmqBbuOMtZcQqm", "DMeOceCMEkzSLqhtaQqrZtaNiCNPaERSpqJDawIxeLJpxDEmFIKPVEvgEBVpuItymRKWnrruWCvScxQFfYnFkodtVkVfvRqZLOkSgEFDKyLOVzYPihPVRowiNnLiHWMZRvXwzYIURLNnYhHBGjUahWGsmJtqDTpdYFEtXQQmcsDdRNTvdvsZeNwCtpZsRQhfxBifFgYVZxApwEmFdEnYVgKCVZDTAmsdmguiIzFrpiXzSSMzEFmTwIlUZMsJgDJm", "PanEZPcVbtoTVVTWsjTFEAsylrnQiFNaSWSGSUTcndZKYRGFbzSUrAURAawCBoxXoZrIubwGXSOLZXfBVTExnCrfiXIReWxzycFsQlewfNInrWDcMxIIOPMIDkhZoNGmoTKZHwLNJudQKOgRaMTrqSpljwgJSCXYVqiyrfEPCWFsytxLyENXAdbuKDHZAWRsfxsowBdrFAxkzHCOnulKYJZpyjUxtBjgAcOkaytvMVvuNWokYGjAxHnsYaYVhLLa", "NDkLTWDnNbbNkXbRWPvziBvlysPwWIIUIOhpbdIiqjDMlxfukdIvPqFkTqiBjgRImAhgKWMCwQwVSqbMqAfzMWUDVASLdEFeGcgrlERlrGityBWQhnwHaNpowblACslyKORFaNuSgbIeDxOOTfNlyeUqxoSqEDCKPCJUmegfLDdXdEgHVDRbotDiQwClHjfyGXlFWLeAzEeCgmtVnBIJKnghYmKvTtqEMqOJIkhrZqyDhFNJfXVvEykaATaDVAqO", "WOIGiethQAEvpDZohDrujaJHQPLoaYzQtAUcqhykyDVWUvqquSKwuSbSfCzAbOsrgLdJlPWgZrNJIppyqKZZtYiHTkOqByZyXFObJHlcfLDfkFyWlACNocmflkAHymmaxGNZbfkWduItuDzvhXZCNDJJIEgDSbUsoHpZilgAOvkphhRmtRYfPciXRyagxyMPqxhRJKVtvGiLjJrMwLbhQSuXzxEchbcoOfdQSrlggtvrkVfMWoJhyEYIuBSNtqxd", "oqjMCqSgRcQwjynTqdWfwYDUUZTznRggtqyPniaqvzXBzZdSdrsgFfqlCJARXtzeujiCZGnHEdxBaLQSKrBqnWcRSrzBLmAXZHRljhGiSGVnuCyHIQTStSOsokVFWVsXLpCmRaioEblXFtqZCLuziizoNNOEZkKlQjPCiTAhrbfRXZknDMHFjAVVoQfLITmSCWMtrZUUZSrGPalNDLtUsydPNtHRULBmdIixAeIWZRyXuUMSIKVttYTKDEKkhNdu", "DnJwyoIlUXopjdjUxMstTEEpOJlrFZTwbeNJJZqdmveQOZQJWuGnaouKLjaVrBkfHpmWSqqFcQhjUEMOWAWTlYFlRGhPREIUVMhCOQnYjXNgJbeKAaUipTlnSwxjlWRdehMYJvzmaxjzglRoRQCfBROMXPpzJjWWbiBxlwboLwbpiidASZKShVOygjerriljgCQlNMhjaZEYLvkYmTqMLmqsmIPXVIKQHCbVzlFZwKCOJWdrFcvgUGeTjPymdWkn", "FHafpOkIkfPrGrzbGIVQSArJlSlJCOWVblJqfRlJqLWesXNBAsJyRFbzyGXDXHmSouyVyMhZYUgwaDmLcFYKuHCYPwxXyJNyllfAdnOJUFRZCSJNsIZQNcLlLHNHIiNUCaaCGDPTqkVtWhGQWGyimrxRByKaWUOOxTaEMDzoEynaHJLILqhBIGgWaNJFDiTddRhVADcLbPPMMSqNOgAFLbLNIvlsPZuHAapwjhSzFAqsKIaOlgOwttmOsnkuRKOe", "IDQZytXhrFkwsRNZjwVbOdBnkqzZquEVdDLIOoBLsnvYZlhJXAJhjLqZtHxZhlfCSOhBPzuASWsXgRTfnCAeAEKntQoEFAoNArCBcvWCXVGpAhmojozejwCksRSvVBDmyHJGhgVOffZUsuNEghYTnxSVPHGXvInGEyVYGqScdmKVxHRgzlCTLOnsfCGmRuRslmmVwWxsyENhcFVXWIiRSTDNbDRZOqeUgrobCFKgZrovHmjCZDIiKpSbAqbqiMGQ", "xkVOBYLwHDwnqAgrWnkyHlaVFLIKQRzHmXyadyJOLkhjgOmveuOycjaQKLOsVGmheOhlebchpbaQfQOdWufhUTjEfHLjeNNtRrvphMuoeWSzBEIILEqbklvWPNbDvtoEHvXpDtWQyFhfJavzdIgopvgBIcrHyBZTlBGkAwONGMsazTaSFFULLPMzDlaAKUaBpRvTnjxlSIoEAKiNPfnymQCmGjInorCEuNRJNGDEniKFwSTtVphKYAaZyxiomNtO", "zEIPXYfAattjiJXDtTcPqVYbZYfLwqsSnWeemIZhksjxpSHqTboNPWlGKExvpnaNDPyQZPPjxHzYseWUHeSbxsMHqPoVSHqrJXBBOACDiRnhgABRHwarAiGuMsOvKOhASfHWuoUECuJFtcTcGeBBEZtVlXTLmHTqaRRtYoTsvSNZDgBTAzyvmLJlWQEwzynvFxfzcBOguugyoNaPFxGJKIeQyPBsHVufeKnydflpHwNnXXiwnQOgiamtFFvxFcty", "QHcDzhVIAtGXjwnkyOOjtLPbzhkzxZYLLmPiGUkdkUUYopIWqjcyBDyAGSbLCnandYLguBYNPOWODfJXsXgxWnWmTITJAmOzcdNWjOGzbVaAkZwzwvkTQiFpgsidedclnfVDCqoMCuqbcJBaeXnArUTOIldINjaZkBfDswDZUUyPtbsEuHzzqDeJioBSkcJonecNCRUMgwYSOisJdsGAjQaVEQXuDSQjqYujaXwJIxlNeyffRdkUAmsKHrhyMyrW", "bvOJIqSmhGSjAbzCcwUlfWZDLGzVTWdVShPMAkSXfLIgyoYvhnCERAbdYQkdOSbmnYcsQqHkHJMrQsUZwoAhQmcMyPViTUlYefSkyoTvMewkXWrWgJrAliWJHbORlMXTnvcdNQgSUmoqmLOJKeTpdfNFzgMliHvpxtcgTKeySUkBsfuXEBXbfYUOOKhBzcZlqQPJIhiDwbEjYjIKtIYqTkKJVrSnsRBmvxwdZqHyFELiLnBBtIxnvlxptGdhGXpz", "GcMRhOBqLkLhyJdyZjLMNrPSVBtpnvgmctspAkvlLByxckpxnIidmBoatyOBRrGUobLYdxsauTFiBoomuGhqmtVsCVBwlNaDMLbEnVVJStwQLEIdZSwYrbXplamEzopzQVipNbfgNhaurEjSaQjcbxwuCuXuypqzpbpCGPeXATyouQVYQPFnWzVFMoLHKXUIHVlnBTzZTZRNfOFJAUDbdnsWpPOPKDNDmSIYaNtYxLORqQNtPnEgzjnzvNoGrxdB", "msJGAvvKkiYQATXnLzOnBGAdFzNauuVPINyAYnwvlqNwNikvqhLECyOBzcBWCtbzDLCuDhRkFpSKRGxjgpfnYLsFEVpHSOmeDxevKcSFtkACGSqQUkycDpPazsWbAGcUnGwZcMEGFSDwOfzaCwvzRiQXdNLFTIoOdsuizpmDYfrzInhzPssjCKfLMCzEZyCwTPyAEBQcWVEpDWLoSWIkKuBQJctMmeBAKHpOQUQzJcKkWRWjslCAbANYqdbjdtqy", "zitfRcSWFTRhRuUfayWWOWBedHqngEjcRyenwcRNCXCfUTEmxlyDmAFqougQBBFtGYlnFBLGiqPCEsmdGFgICZlJDgHdCayAdzudJdyJtubZyRDYpDfvVrCTPijagHnlljspGaTDzXVxgnPCpFtwhtetMKmRVZabVZHKZRfQaImFoyyrDPREbUFmYBsAVuRijXlULVxGicBmIlTfVprimXsMMiWGimPiTEUIHohDkSMMrmvJyGEJRxVFutWsVQwQ", "mkclmIwZIJgAwerIcCGEsonFpkzBTYnTxgWGAgIkckDnrwnDjtRBHWXFLPTFGcKuGBtdlvqGVmWvUFxomzksdlHWslEiVCHVDPXHQLhSUwSfIsAxLKrBNpnQnYmeofpDfGzQHZyjzXacXiZZyBsHmlvjOvrfgvZCDMgpmIjKdaeauYsphcPiiMcVkwQrpmQXvQEJoGckKUplIqANUOhTnBArLEgneXNYGksBNGIwPEqNyTURCvQNtOnYljPUmFeq", "GpxNSZfVrBHkKKKzXPVBOZaEIYPZvYYWmYYQdIrSKFQETDKBctjfCEQFHAiSVSkadSZSqVqzVxoVujrqNqutrTpaOadGDoRLgvTTjIYoqPfCkBjkZGUsvxPmwudMVZiftQvKwhdLYLQoKmsXquSepvpcnkKQjLBrwdEIBlbRtfjVqOYCPnBEJYQStUtCHqhoxTernLNpTpTbJgQqlwJWrYqwlslqWyRMDYglHvnPnPHLCQFdzKPokzLWerDqhZmu", "zLEZgTEFEohRWxMuYXdFruIgmbmqlBgpDykPNgoGPQYAPrRxTNQTVCsPQaoqUbPpAkMzkzsaeIoxMpBRlWNwWmojdbqXtYXnhMNZLkogQIewNcPvQBpshSMBohHTEwpShqnDcfCMQrXYnufoVJxLWUAtWaCMSUPfvNXTuSncNTuusJcUROqpXwgmMYgoeEaDAusYMojGlaAFSRbaQHprDYDaoLCHqTsvXHdxVliUwBwNytzbakygECSaejHtMYqa", "TrlZIosvAOjrsXDVLsCIevrKXoJVzICdLLOfFMCsSynwZAqStIiOyrBwSQlmvfXPJJQonLNSKiKbFUUnkvlTwhDEVKRFBNJkfmBeGUlbhDtUathBEuxBayKCxYrnvufqMSbybvEjrXxAkAkUhojWAqjTgFkIVfhSzfUeGQFGmyPmOZDzEFhAbDEvvVchjutwYGTyWipoizvFJQfVzmykAhkmUsLBmKHifqXVsYYnrlomUBEnVmTxWOZugzBeLtvQ", "LItjkSfiWdqiEpZMiLJwUjAkGRFCQIgjdTcKntKwJXwEOugpvFjmHzoIKcslWHRvlTXTVfDCmmHJZhOSjpJbcXuWtxrgJEwBEfDvTjKHpMXrljAyuNGPdjwErnOJwrIsfcXVOSyxHYvJrQWUbTagZkaJsgTIvLiZtzCFOuMyrzJEckXdhkRNlQTmrlgzSLKxZGThHyamQadTwgJGgMTjmoGCyuxPHuPiFAdUNnCFZrqxcsMkRarbOsdTOyhisnBd", "tqvNSLArONQQnTFEWDYzlqgWhfQjIFtjrlclvGDDwliwWCnSnbzdNoDWooJmNpJFCVLJKbNFjIBGxcByVkdhYbyBsTcUamScAQAfCzctwxwqSOMazlpqAYRIHMkQRkZPVUFsCLufYXfHyELFrEhBJejoBvhNPNUTCEPPqOPpioYFSpCBacRdSEwPeNacconDgpeiEDhxWIANsiXEpiVIbKdXuqQRtrPPXMpPyJHGUdqklsMfFKnzlMtpgjalnjtQ"],"c_array_bigint":[1501437363841728851, 1743055041091170811, 6962475336313539654, -3745409469137841538, -4767759736676654073, -7426797984718826538, -4345146161335367862, 8513624994507659542, 1014896524990350461, 2415421932807419857, 5038282675542491590, 189735031359246178, 4061601301902024070, -4485094786435829139, -8051861305965812439, -8688676917868253839, -1422918735661380500, -7293127046547840920, -4896916962797101731, -3871242304329205043, 5105822536725158678, -7969839445241474778, 2508010196959133539, -6606297368342132412, 7637748368803195047],"c_array_largeint":[-7225957849953977149, -6764915733711439449, 7719891816170034733, 7559452399485347929, 7950326093299869795, 6801231006612844539, -1271044915801539658, 7725668242496684332, 3069026345252029835, 5137501303078694871, -1672526285564118857, -8259863386952690565, -7731645608056271378, -7639680897508124709, 8579235101247409170, -2361312787362602091, 7965750201838283169, 4210200576274762858, 8850336206186226386, 6322113731453749788, -8693848165109955240, 489194068690718244, -286147580422217814, -7190526725712112010, -4715078021427239368],"c_map_int":{"c_map_int_1":-1174508236, "c_map_int_2":-1188779337, "c_map_int_3":-1988594170, "c_map_int_4":1585752874, "c_map_int_5":-832404707, "c_map_int_6":-1082816998, "c_map_int_7":-852614788, "c_map_int_8":-806653966, "c_map_int_9":-954219647, "c_map_int_10":628983259},"c_boolean":0,"c_bigint":9098998627426373587,"c_double":59.8527627473095,"c_varchar":"there","c_array_boolean":[1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0],"c_map_largeint":{"c_map_largeint_1":-6936081275515364056, "c_map_largeint_2":-7355335198062155253, "c_map_largeint_3":-3410593759579134150, "c_map_largeint_4":-8559823687697331021, "c_map_largeint_5":-2373203467357401089, "c_map_largeint_6":3394775461416398440, "c_map_largeint_7":5008941976665466893, "c_map_largeint_8":8157042073269852296, "c_map_largeint_9":-8993912063873448072, "c_map_largeint_10":8378907928580220087},"c_array_ipv6":["JgHhuMOkXr", "dXFHtdVXmD", "cWQvgLqGDn", "qaNliphxln", "zxVjLpnSQh", "nIYPVcjnlo", "mQKHtSkIIT", "DzhWPcPpvt", "HhQoNOoJvv", "vXuWdBkucv", "IbiBvmHUGA", "cIneyGyUWC", "iGJCmUdSNL", "DJxQBAEhfu", "JEXYCAeFrJ", "MLJpuNlAvc", "beaLHzwWQI", "YyBjwKGMNA", "FxjEmbqGxx", "DWPyaZPweR", "cqHfNxbcBJ", "SLgqpcKvPN", "fTKHPABrRF", "HYiZwMATcu", "TYYlzYORlj"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_date":{"c_map_date_1":"2015-11-10", "c_map_date_2":"2006-06-26", "c_map_date_3":"2011-05-24", "c_map_date_4":"2009-10-24", "c_map_date_5":"2005-04-25", "c_map_date_6":"2005-12-28", "c_map_date_7":"2017-08-05", "c_map_date_8":"2018-09-02", "c_map_date_9":"2007-11-02", "c_map_date_10":"2002-08-14"},"c_datetime":"2015-02-13 08:18:46","c_array_date":["2004-03-15", "2016-03-07", "2010-11-21", "2001-11-20", "2004-08-11", "2011-06-19", "2006-08-07", "2015-10-17", "2003-12-06", "2019-01-25", "2013-04-02", "2005-02-15", "2000-12-25", "2016-04-17", "2008-12-21", "2000-06-28", "2011-09-03", "2005-12-01", "2009-10-04", "2005-03-25", "2007-01-20", "2009-03-19", "2011-11-24", "2014-06-01", "2008-07-17"],"c_map_smallint":{"c_map_smallint_1":7905, "c_map_smallint_2":-17189, "c_map_smallint_3":-23672, "c_map_smallint_4":7235, "c_map_smallint_5":17786, "c_map_smallint_6":-14805, "c_map_smallint_7":-7126, "c_map_smallint_8":-22737, "c_map_smallint_9":-7376, "c_map_smallint_10":15246},"c_map_datetime":{"c_map_datetime_1":"2014-12-02 22:06:15", "c_map_datetime_2":"2015-10-15 01:18:29", "c_map_datetime_3":"2006-09-07 05:34:46", "c_map_datetime_4":"2000-06-11 12:03:07", "c_map_datetime_5":"2008-11-27 10:33:11", "c_map_datetime_6":"2004-09-19 10:19:21", "c_map_datetime_7":"2003-03-01 14:12:40", "c_map_datetime_8":"2002-02-15 00:38:41", "c_map_datetime_9":"2008-08-19 09:27:53", "c_map_datetime_10":"2001-03-15 22:48:06"},"c_map_decimal":{"c_map_decimal_1":55.1884, "c_map_decimal_2":21.0668, "c_map_decimal_3":100.1005, "c_map_decimal_4":16.0957, "c_map_decimal_5":86.0865, "c_map_decimal_6":37.0341, "c_map_decimal_7":58.1503, "c_map_decimal_8":69.0240, "c_map_decimal_9":8.0321, "c_map_decimal_10":8.0538},"c_map_double":{"c_map_double_1":31.377254427813334, "c_map_double_2":79.61079669823731, "c_map_double_3":46.8949043072624, "c_map_double_4":14.403334101189088, "c_map_double_5":87.39517032439038, "c_map_double_6":23.97905061437362, "c_map_double_7":89.49107897222243, "c_map_double_8":42.414575354554245, "c_map_double_9":88.06677240893202, "c_map_double_10":59.6027734986857},"c_map_varchar":{"c_map_varchar_1":"aNmaiDuvBKcXDjVrxCyrlAvCHhjOZCjdqmRPkqrrjNawRTLCQtxPqrIhtKKAQwGrpAObjGQbGYRdvqctcmszgveIwVfwGNWZuefykrZdhnVHvpQajVmxiZfgNBJIvWuCxBDzQniksrMVwHJqUpYAJiNpSpVChucMSWRHVgosrCoLSsIPpLcPLNvqQVPbbYdXhtJLTTHvCLPWlzVFoPlwwoLShEdXAOLYBGArlWSIBBgsePdBIuZEtQDcEfQxvWee", "c_map_varchar_2":"wsqZgIQAZjSfQYWKEJfCvTeohZaadidCWxEzSKTInUFizJIqbJasMHcYNBAeEigOGpMeiLiipkMJpDmabHablhwvDzcTztxPWSbPBjQqcEELLDAHKdLmmoudMLQPwMjpdruBzajsaPvNAfnXuDzIvhkaGkpmQPaRvBRTocjdSZdkhGSALASHaJslqqnIOcXEpnfKBBseJSketCjapIpEKbEXCsclYnUHiLFSnpYpNRJjRUHdupdQcTLQmrGgcAQM", "c_map_varchar_3":"EtZdYDLYVJLCoOYvAWuPGSxxaSEofzttVVxaQrRfDECOlwBcbPqCaqqGgNJuoFSbPTCNcRLrPWXxQpRWLmqcsxjTsSExdNIewCFgrJAzhotuaFCoXtMOauMGbwEVsJjoUzwuTGMkFTvFygaWBTxrmqWArHBndPWiRWYAuTUvrywodCiuiztVOppcduRLSHeOJsTgiPVrxnsTcvhwNKIRWbUlDEujJZAtZqLuXpxNzUTcwBUpaetlhlXpCHqXrxyq", "c_map_varchar_4":"VzXHmdyLldmyugkPRcyxaUvjbLiffrbqzMARevoUgQeVdbgufBtzJvRRHdknKLKJACJTPORAyrjMqmnCWOPCRjyOkYsyhzrPLAZGaZgOyYSHXRRxObydbefXAwaplHgNgAQhjOhbVGqgzbDxOHVLjaDqhrNadqhHgRuGuVkDDYZmZxhYNiggSrnygvMDbZZMFxbnbIzBnIVwKzlnDIYSUczJQFCviMGERyDLyfjdAQUeVYAzAlELFCtjZGrreHdT", "c_map_varchar_5":"IGQnlfbkUOduRZlkeLJavSxQIZLfVghSlFRGLjZBTwwUGmSvzCkoBepJSmAlCjFAnxePDzrMTnQzMoHVpgcPovFKoUTmlrIPsuTtaWdTLbixlcBSzTFCBKtcwVNZTYaCFqziIAVoIEHDfgUPyNvOPDnRmHjbNDdktrOFqnVcThQmtDlxYlwynogxxVIFcOGawowtKizWvlfLpdxpdYRFkutQuPBLQQkcPHdutbzHMvhBZoDtOAJoxvZSPneBWJoR", "c_map_varchar_6":"HUHLWUshVtSpCZrFPYUFcYczYiLplrQpIKEtdwlcokSqvqjjmTTbiDKRovPfTRjTndUuqBUVMpoaFVzUFoUprFnwuQqGgXnpchNcsrQObgatvLeBmOtjTVuqnnCyRNHHRJtFZDNczIuaEEyygwqiblhMFfIMkkabgSJMzitzAXxNbILgLGMSofhfkhtCCMDErHqrziOyJsalbYQkLNRCBLsGdNquMgbqmBvlTBadOkuhRSKiOPTSgiUMLXrBZAcY", "c_map_varchar_7":"PobOegmLlJAnOZpnTQCQkEfuFFFrznQSHanFkrwhPMMaWoaVQwWZDsIddieZEhnzGSsIdvkGhbAQvZvxxfdqrJHBLhewgtxSTKkKFCSvkFCMTiOqAEMvIiQBGrADNMWOXXdmywNDFUrTSRctpeHxjxjqlMXlxnztuOZXnWLbfDTwgfbHkxNXZzFRsXTGURPBaWLnkdqpleaLHdySDzTSxrbQdRncbUIOEXDkpmIEGfReasXMKVxVmgvtdrPIkXQp", "c_map_varchar_8":"oitqKwksTFTBrejJBpmIGcKrobMKMxUKSzAKqUSeluVahlVpHrEJbjpEJLejMAxDbSGIGccgqXgnYgTVzreFgCICEWegFrwXGDOnYtPgzmMHEXOUdZLBhgeKUceoYSkYMcMDfrspKmExLjoneZVfAyzRnBvscUUMGRlKUmLGlrHsVygemFMUVJBBZzIITkJoxmAVCCCAlVLNgWyJqreKDnJIuUDfHekuuRfqslunAlxtYhsfRzmywqTataNEOpbY", "c_map_varchar_9":"yOgrCxJBIVQZCndYgbQarSulNcAwyQEHXCWIrRwYbpEcWYvSEJRinKkNhoMbStpHqKhYESHbIGjXrGatMpwcvBVBsdFIystIUqhJBdrJqYnvquewDECDGbVRxHnKwFjhltbxNrMzFOySgwqvIcoQLXtAvcrPhAgJzIWVaPnMbblnHadMCfeAAvfShVWMMYUqmILeOgjkYpyCmgMJQVCkDqowwZWygEJBbGOMxoeiiPSLdZbRKEtbnXKHAnDVTLkp", "c_map_varchar_10":"PjFIZyAFDaQmkFiSRzJynoYnEeExzAomMgbmoYFVWICQZMErVmAswOzzFUslgkOXYaRihlzMPRqqMOqHTybpxqhDZQetiIifSDEzBwiJfPvsaguNNRbxZwrfFjPkqAEMgcuedjdnpozDzYcNrTbbrSplheABFdFWVFzghtpmBSRIUEPQCmYjBoyCdQYDBsxJYjjEfQduxPqEmZeeXNADntyRBthRYcKMBvpzMAqaojhJqxAuBqqXAiqsQcIwCUXF"},"c_tinyint":-3,"c_decimal":64.0772,"c_ipv6":"76ed:e852:5e22:f744:f1cd:22f5:2291:81e5","c_array_char":["BWfIaAybKk", "hepYAxTiUO", "yMsQEnrYHp", "vpODNPrsWb", "njSRdpnQBA", "VvQEPiwqdF", "frgIClSAau", "uEODNrUxqo", "baeBGhqfxP", "HXtFxwknmu", "rblohfenJs", "vJuHKKuVDn", "GrEEkpOkxU", "qCjvTYjTuW", "DYmEkEoFpT", "bdpcKLMghN", "QiVBJNdUGJ", "WHhXWlgElt", "otaYRrhXuN", "DdZtFMadJq", "EGqqUSaHHp", "KPqIutVUuu", "yenaHKpggM", "lPxfgkSNRK", "RMUNDoBRdV"],"c_array_string":["PXdJkdyCheyMZVjzgNMeWiFfgYTTSEWMLyGmtcgyGkNTwKQlIEwUlIeKUqSkaCvIduFmgJvfpwGxAPntoOiyctKHWsCZbcEmotvijPEPqRFCTGFRiDpBPpzoYkOLyzrjkHLrOMEQeicCnnsEbfxjfgcJtdxwAsRoyfTwbVDkZOoCzQeczBcdMqDdDLdzqpHQYuifLQXIqBZvlwDApgcphuTmBuvvxoYLaWXJnPnHsYUJXjfqCaARkjOvCMURKLSgPEOcJMAoxOyZSUEomGAfLlqgVYAufeGqyGFeQlVeFkbPiqVrsagTDrlUlHjTZCINQDpWMhrGskyjFyPBtmdwSWGMeowGSheEvpwVDCcCldPrrFSjAalmwlqwlVwxKGBokwJhBnSFfOlXtLYanhvpKEfRMWpXRGHRgBtnTxAdUiiBQHICHZmViLWrRKSLlxGlJDJZRFiREijaeQpXMSvxKiNBwFKzukSAbPDkoyndQXxiSrOAaDGMrTtCImttJXbC", "fdbdVHIovssUjZUhDtYDrhxSzvSCUsjMSXScuTwFpyfaFlPjyHjybkGTqjDrChofbQkIyHxNSJWHZnMqJAguxDGUkTXQOVnEWFKRbcqgrlzgbvZUkPwJrSAmcXHNoXQaCpHxGiSLwYJrDeiBEdsIxElnVpZZJEqEihBUOYwOOkeCiRLXgdSumDOHEegdCMtKGuupopAsOZRPDjmjdoQxPbxYcNYAravMWTmmqctrdZjWOGCkEtJHHCjtQLCYRQJblpTjxwwKpzVmwTNVbNFXGBGHYqPTJpNRKeIyKEDRPMeXjJPEwAavAxjlaLuqbKTXMedtgEaAmhSdsOQsJsAWIhZrCCKmZWRuvTXioSnqUOtlueudCLjzhXDaUzhXzOeflDxezxvxYcEPvLTFeaJNtbaMAeeVLLAfDOmMljUfxjoWNTQgldwLvSrmKJVmlRKrRciejHdAVcFKJIPBUmJYWECjeZbLoHucODuFAhEqnbGbLNKUFOhXzhIVqoVJdGmn", "NzHxZnIFjrvaVFzQLhcJMxhAWhcNtpYULaNydOntzuPVdNdvyGxGvDyEcJxiibVmrESlmUmvzbsBipqzuMDhEzieRHmRBFAqgwFSiVSueklchPlHplfoGNzTkAmvhwLdTWAkJcdUDsdeTuYhHKpXvGGqKyAMUzAPUrydOgWJCZhDCVUQJglUMBeitKzGaglJykpWTeeHdMqtBCmOmDgaIzKMDUnFuEcUKROVdVhJbhlnOpGmCmDgRCoidfKfWhMftAHfndcNlrFxtDlAsCvrpcnKKQXRspxxiNCSXePfHNbcpwhWEhsWQREsGXnKzWVtGWZAlnXgodzdkjemQvxNYWqvfXTttiUoskyNOycVDhYRWtbopqvwbcMtXnHtiQQeWTqXXhBWzQkZrdhKrtfHRqfHyUqnQqPbSEgMKWaQIDumlqiOwZqQhmMnhpmWMjrVoCDFxqsEgIzTCMdSVqTzVvOHpaluyPBEylQDyjoLzoCRTujbXFoUHMJiCVeFkxNQ", "dpWzamGkkSekzggfJBbaXDlvbYUlkKOJOSCIXDvXOdDRMcZKLEkPRFJcuLLYihHUBvUqNcOtbZJDfbDBDLmCiOEbKrkBqJNwJApzQCBgMCANjQLfUVMowKCqAXSAFSxRYwdDyzNkGAqUnxeTImyDwgqPTUqxPNdpDNTZXiVPMrLUAMNfkWIRigFzrCJxasmCDhonTZBwFcvGklcFjFZJtchyrHMYqCITTiOKICLiFwTZkJPpuonzIuvLhnRermNMpXybPqBBShXnRHkQXhOHSNCSwoVsDdiAGvOvpizZWRjfVsOhpwZHnaWzbEgjTtXWrnzvYGWRhQZaGViYZIGMIrTScvyMlPwVZVMknBbYjcSgqZNDwPQwNniLbjVhbyZoXZMrAoRjdxbqFwSIAevILMKcupqnvtElYpxcmAsqTjXKLOolfSWtZRrhnaZoloYLhryKiBfdneAiHTROQlDwttRiaJuLdgLyyODGuIhpPGIpWeWwLpyIHIvJEtMSMOMt", "MpZDhuXbNLbDzzQqBkYHIdYZmXryhKbgURhITvNpaENfcPiEoTTTSukIuJJrQcBSKpsWXihyxYziXPbBJKJKGXszOxnkrMlgSPGUUkvOwSrLCJREQmNLOdEtWRNQEEVjhDByyLMxXddyCgkQaVrMrgGuenyTGcWYgkvvlORUBhwulRoszaHYSdrkJqadIccKAotbQblYPYoxHUesvTvgPdIwqHqcQyvRTQnPmsvCWOeBEzedrGRwletdzvwJcSwsucqaQKNuZJYJvqnxPMlUIFQmuQOtRbQkVyazVZRzNpOIxOapzNudKjhohpZiOQcgqDFQoqJIjUwjdZGRhQdoMbwoekGnakFUqldnQYuVVzaGTBgElsmqhHmvadGZhLsfiXYVMRLdecRqlOpRyiiyyGkLsAjFqUDArbnGAMjVSCAAdZOPCHiwWaODwVwfmPUsLMypAVZRNvjwcvaCiGwGjzOJeAyaHhhAkzVbPypvyiQrzRpNifWtMNvtQmsqpfDK", "nxhDMHiaLzziSVGjicCAPffRhyZQlbLIYcBNxOOLTxeRjuDWVTmtHLWRqkOAOGSVrUIigHJMWrtFUVgArRpoxrQliCUIQoNfUBlVFMFqjpMPadabCKTJoSLCSpasVDOyMlzLioQxlVUVBzrPNGLFBxHzLMkNNDoxHemMYxEWXTYfLecdzPUVzWquJppLjNSbrMNuFgswBuMngaghRPIfxCwOJhhIwRQCYkZYSmvAYUYyctCoVClLWfhjCPTSCiqfhNfgnyBBgPXukXUtcJCwLeFOvmzEtCtTzLwjhyzvqfiWpZZTjxxBLWATQRRHvgFdGHwPtxxGVNMVPxdfLmIRLyJIFKqZnbZuaYsRAxRokqTaJWzhnGaoWcBNXjrHUPhHxMpPDjiLGfqvGGfCxkPbHZbTfQWoLeQStbXvKlLPELiaxBROnMCkbookOWbsTpayjfNXLNzxaLMtLSCtLCKTMnAbNePRRKweWWEQYiDKpMAkLHzaSCTOAfhnBkujwOad", "TSRtQQymHjhyIiaPpxorlasBuzHhhBuKOejsdxZZbPhIxqCaegeNgvrbQisaDmQiLRTibDSqXamidKeRHabnQXcsgsKWuOItdvTegUcCSyNdnWAiAtKruKiqGlYOvahmNbHkVCarWgxKvubbrOPjdvTDJJqCRjHtZAWigAgzTTAvRSHRLWDbjGXzzUtcZcyeFVLtzKylcaQFekjbzrgPFSckQwOQMZVSDrKkkGRLJVtSICafTgFUUtpmmPmqcrSJScceVyvlRSpHYeVjQroWycUcDhlSWyhtWGFEsCnJwmWKiuKBGzZPbOhuYXnboJbIuqnBSZLSJGhIkLOXacGzlgjZVGHBwKuqLOxQCceLymiZqVwqXEhaqqQchYgNmnBBYPlKXSMtMdUzDfLisPWQYeAvvdEixBKkSqXPEucidrQBPbIiRnWmwHDDqodfWqDhWTIilrlcYRKMdTBDndoLdInHUCRDDZEouHjtiybgZcCLkuBLurwasxioSHpCxHNi", "CIAwCujvBgdTXalpgTizZXMfCGIuBdgsftSjUmdOyltpBXScbJKFyhPMhTGmubakMWgCNZuiRCiqQdsTZKXUhnMQmfTksMMkPjbKIdMNxGTHytXepTtdToNQyBscRhUAjXPdinkNGnbyhOpAbHCkVxBWPLzARGJHckvygWiaeJBiTBLYRQNMjlTSXZPenNrJoTEmuqrqPUYvUFZBoafbMTDPyNFfmAcgFllgVobikNNkLNgJXNHLZgJAJqkuTQpfLlyTrqMebzrwHJCqnvALfNrHBnDWXCLhQNuzBgOxsdiRKWbYBngSRzWRRFTEowYlcCsaLuZjOUDBZODcfUcxxlPGYqEQRmAAoCmrfdWhriJJAacLdbJEMNqxTnYrPsQxBQngyXcntjgHLBtqCKhPWpLumqsIZsAUBQPVliuHzhONEeAYEOSEgoHNXdNBZpYmUBCXoUJmCmHyietzNszJVhUlTjxoWKHDKYVyimFtzlPdTpZsdRLaRCzEfTarfEQm", "IfPxxIYxOITgvFWsXktPkAZxzxIYLOUDyQfFSnMMetROQRQvXelZLwwyCZJvpJBgVhUSFqnZoQRxOIkMGgscGaoZlCxVQJjCDezzbolrAEfQqLwRKEfcHqBADGJDDLLyxcXmuMKoGGbxifxPNrTssMBevAEPlruMEysBdBehefqTDCknBDoZVENPeGVxqzHPQhUorBkvxbPyBbuCUAQxYNIyHTbAneIKJpagkSxSmKbcsLWGOiFcFbFiGmRTUUsLVCyNMWNSYaXiUmlRiFQyCxsWuPtRhWBZvXhmApaLCQqVOsoFfWDNltPhhmkPIvDxTQCyGPbNrGaTyWIsZaQjgDZdTrTBQrhoHnspdmrwiBwTWozCghIAboRZZMgIhwLbabdDuXgxmaHakdvPuLIaLBrpiovBBxLgMlpqHLIKYBsOQlIqpgEbPgeZAoLvCVgJkfbtTkHZITLgDFnhXQkkgOYNeUVQorOvMNAMGGpzECdipkWMghDaaHsnywryRskU", "gKgtPqSYPnxmqQpvJTZjjRpswGGBiLtpiFGoKepYuQOlGtPghjulWtYsUNIisqGUQmgFMFBZTxIRTDLThNmnxcHpOEMbUPRFSRTywgmkRTbPwyetHpXYTWNAsArhKwolJwuAkEylDGdvJCHKnLLHbVHVkjtDzdWlnxeAkSarOrWkdUSArAZLOeDIcAESAvCYezEriXlrRPIauevcbepxYKOCnMWtoVXgldJsKnwNAENEYKxsXOFihaUULqWoWJgFqxFaDncxaOILizMHkPEATkGHYAqpxzxVUpvgbwLcZsWlXqbEdTGNxTKHUlNtDJxZOMduvcUnPjRmjUIVWzqJkSdNqypuvzgmVUPCcTMYnUkmsaXqAwiiYIIcdlLIZzGQtmnQmLdAWqOMdLBnTsLmTOSDGbpAHZXegaEcDVxpVnNUwHNVALdvdPOrEwCzwAcsyqgFqtmCDQSLwPCKHlFOXXOwkQDPCYrRqqeoPnlLUkcSmWdJNZfLiIrTujCVDIWq", "cWnGUtiBqzaZzElWFhOGRilZzfTctKjtVVhXUjiekPDXlAYTUqFcUUmarkHjkTixFEyATBegqSngkYmNgJYfoIfqocbdFcfXsrMoKbDxdMrGkgZfNHjkSVwoLwRLJotwGGUmOpnlcMauYDBzeJMYUGJphxbbBQugERztdCaRaOAvyjDzqKQWENHjMLeIVNCCXKJHApvdQeSVqRfeetzJChSHjlAKCSAJiLIbfRrrpxvCkccDibISXmevHCAvddkOGxRCdkKJrgmpBuXvsWQDinNZqgBFaCUgCYiNMhKEnquoIkouWcevcEbLEaCFGUVNToEUWbIEhXyHlKuPSfvHUJhMYUWLuhQPUxNyxgGDsRCNnSPGNJWvLurWoXhqjDOyjBvmYHsWHqBNcsnQxAwhsDxXLkxGdYJcPiPSHqBbzBARwWoBRgRNEkCOLlTHIJnUcJmDbaqByrbzZWVtKokNCkHXCLKfhXdifJwHFCbQyVFLyQVbTrgdiakkvRDyvggd", "ZqqrPaVbhEnVkGTRBkQNukoGnMkkspaHtEEHtSmipUlrZmjXwzvtwDRpAMnwPprbfkAgVzkpPMbzoxyPRWaTOZXjyHgWkEVXcofutcZEhPcquXkpDxgeAqMmrBTlIAiWIoywUDSjKqgXnvJcPjhUZVAQSBIApPwfTxKflfNbQuMQgApFdGeDIgfFMSKoNdZnBhrvLeZnJqGxYjnrnKwPaGUNGZJEGwpNNnldSBkhymLpMZFFJzsNslcWoHcZOCSWntyGHyoneRWpqTmEPQADyuBYPsbaEgZMpfxTgYaRZugXcRlovUTPspdpgjxwsQRsQLJqPwhtwZJJTMzJVBpPiylvpDkNRRHrRiyvsumxaqWyiOjBSZxtMXrXGgSaZSHSzCcBFOKfxNUmnoxhTaHmVyehNudDAvKXTHtUvgtrZueLBZmpnELaZiyXlIIChaDuCxxkMrdzmwTeMhYsTDeMPIetglQlyvPbpWZYJKEaZmqUAVGWcigGLXqKhjTHNEXS", "JfUudFYgsDqIIGczmrRbxlWNXNOxNnokOZltYNzqAYshkuceKXlRMrpsWlFkXtNwCYOSFcoHKuwgHAZZzSQoywtQzAnzFTWvrwQvqQLZoaHLKCALYCKUDEstaxWKWoXsjdkGjmzIBvrLISsOVwvYTNhjnIiUBphnJXOXXqJaZtWZRkTyQEuupbbXJhyIwztCMmjQpsSqFPOJZtpUvFwIubyZbyoRGqGDrzwhFUFLmMzDXuhezidHXawUdPfruHfgKMbwBRoxvrakhhmmKXvHCjLdEQXFkeSjDuGQQSooxbjvZsyUZTtBMHPHGXbKPszmBddcOQjOvrUgbXwdrymqXLoQTbMmKHqzJxvThkcxaFiXKPBcJRAlflzKOrApWNcOOYFazcUohcfdXLAarhllnszIUkwvbvNbCydcaVRkJGDAYedOQnPQfsBbpJXTQbsmmoYPPTTpdQIYlcULFwzoeoTzgjRRYuszqdMagPrFZJJSkENGsoKNQibifxyUaRIR", "giUBCxQplWwBJpXJanmnmwTRVTbKGWERlxMvmxMtsizcNHvXzpXWNhamsYIqvxnLYdpPbAeASoOViEHhfiPjsBjUInOnQPWvIaQNZvTPKJssbMJrZQYjhZGMApHTmiCCZXvkqHxqnTZMNrSVmBZjHMFFfayekASVyLgKEucQBqykJiNiAdRXKVcOfmwjPppGrsyoygzECwWGBqJcdbeGdbtiGfeENyVXrEwwHyYyGptCYdYoTndpVAjCWMYrZJsZjuCSCcwJUzicXpRscEUeLKGOfYzshxLmovtMebrfzSlUpzNHYkRnKoqXRpJVKwrbSdaZxhEwkuMSYgudcHFethTZhAZRPHKTpeVkTGFTOuRSMYSkgbrLFozVSjDDMltqhhLAlyBQynyQpTurnGiCQaoZxyWixzhdpRKlCMWoexgofXNCWDtvIkuDsfKEaXuJrKRfYYgcEdgHaLjHOKrQgPVtcIhjYkvZjODQspqiQUJBYkHoCzCPkGFWssAUgadJ", "flbsJpfICtnPibVsfrtqYFPJkdWqqnZQhaTmgvPKbxnZAQuCRgLArhpTOcVnpAjlpOvlbUJFXryzzddtlRiczXUcqqdqkqGRbEclnGXsGxAFkGjtmPZEgKPLuNmFCyyAwNDIoHEsqFIqbjZQPnpVbOmrTfdzgUNwobLXAZfrWcXlUsMLQSquuEDBsTguoLAGRUvkaiCpShJIkBmSASuIPXolQYbVyGteXmKPyxmAWoKFBUEKXLMFnFuathKbzIbQrkryBwrWiQWjFxovaSaNLliaEhIuKqOQuknxpLYdiaTtSKjximUftBJlCykoGVyPUwiFVHWpoDaJVySnsxrzEHhGPDMmtdequYUdTNHCuZPaNTatXrsSWrMpeSAbfbqvWmHoONFzSCuXklcaTdUqanWjNTBsrdlwNTJquSjcDrrdEJjQGHiunOOkDjsmCIzkgElJmvguAPwlgiUoDHzrXYiBKiZlbmHTIeRUWdgpLiMGEsQhiwhWwPwfTIUaiuaW", "VFujlhhKRTyByRtQLdTnWfnhUsFjNBdyHyxLwqtrxisgaAPtjXWuWWUHDFCiLDLaRmdlwGWIbKetltDOhywQzchbJZLYoeZYSIxBbcGsRERwYcyLyKcpYkcfekWTHvcxrOMpNGOaLiRCbcBganSILtlZgiOYeLZdGmQmmgfhSLxxerKMaSDSfoBsNWAuuGwgAeezknLrJVisAupWUXugUMWeBLsfnYvbIdBVxByZJLddUQrGXjVXEvMDYKTTrqmMEQuaKhexRyMkkoBzEBhfNKMQvYjkXXBdcHkRjyakOLEGbjUkBKoQoPQeYKkUNdraqisVAXQRfWGNEuCRZzUbYHsrPNhDISiXZAdQDNSVZthbCwBHnidSiOUbnihosRgAuSYrjbCfrWielCnfXNPyzvKTIsQdlRYJGGUIfHXqJqjuLePNLOEhsmXvVIdPvioMTiKhTgECtbmJiLyNFJBZvrfUufEvAvwuJjpmENTbwivmHabyRNJvwrGwYlXcYSWG", "qfxmcIDZCTwRYavqrFCXHXgSuMvsQNKDcuhpbajKpTzmbLDhgNmnktgqMheZYnudJsrNKcJrGibTqmktkUgFppWhKIEmkJFqDUnrkdPJwszFtzSppsUCrxDNBYkJMNoErNIaNYhYoMAMryMDEHelCKWlqpolEtNJhYZtlMzTtNUBWwIGBVvvWRAaliBgztdMWiDpEEgteLhTfrgdxszbqNnFlstEBfuFTaBXyyMMgoadNOAxcQnxvUldmfiRexbVPCpwEcFHtWkZaIPGzAHmhpaMwgupiXMikTjTFfPcXLDBphLbTkPpKKgxhKRUzEaEuSDAaeYvqLhakNOgXKtdtGxBfvsTJYMOUMUUleBQPzJULbcKQeJWlpjmmlwYvJqJmbeWvGsdQPpprzuADnpcOOoZzLbBJZjmVhkxTZLCwsihtcsFABhdFuHEUmwICaHRAleRybBifSFaTWuNXanfrCbamJKUBmaLOMkKCzcoEENBtfdbjStntJKdRogroVTH", "YPudcPOTHcWldkWXqZMweGShLFbSvizbGUaNsjTblKlURljfGOuCItonegsJdIRdNWCKOYPDtLEWFeWdghjGqBYjbAHlxeTRTWOYGyLUKfDZkqKmUWZMKnujVYtzenbdwmQYeEqzFaCWTgNdXkZbVGmYxcMsJuGcRflHPvXpnOPqpeHpIrrrRlsqaGhyEHqsqeduygMuNmmqZoNktXvmCItZpMtkJbFhplaeUfrNTfOdmUNzCDafGsYGyZDcosKOVKbmlzLryufJXUchXTvzRthOCQnIBaIFiZYheHKRwccNhpISghsylVVxmMyXEUnUyvXaFuTZifxwdabLqlweYWNgCQiEhWrbQsZQgeHNsJdBTCGqNuAINevkEQTbokMOFaqMMsAwfoEDCAxUKicIrqImuxQhPDgutJLhxOkLOlNirSxrAmNexyiKZoCfhUgVQbLIqkbezxpzriOQHTXudNTcJKvwfAPNfNxGatLTuixNCJJZqYNnfRwsWgDdcnmK", "LuxCCGOUJmkXWoqRpDTtknmcwywYWTliUyuvPsmLePDyESqWbXYhvdgcWuNmZbIyrdmLLisxmsORCwuGaIleZpnDQNdJjXZIzKsMcDzXanWvOBPPZxLuIqoNvsJaaVgScBJrKLWOoboCavSrNHNiioOPgwPkpmsGHOqKGGIYHVMmrlFbhrUSwioWzcOCpnnhuQTZlqxtNucUgphSfOchJQhWOITfoprokEfiNayXONzOQeyIDBjULeUuPcgqpGfXiKqNQRsVFfFaHNyBYxWXUxxjoYlbRZWjkUBhtEoivSxrIDnellbMGzTXgzHHdIgQBUaWOksQljnlGyOjlMbbLDQzWscXVrZFcvMwZgBTibjyolNxCDsBlNMmswpJPOVyRjQOZWwXHSLLFrVZTrpcLLOVIkBlBJZxDjrPsrsPXHYKHCIjIxKbfnRRAFoQbLEzSTzHXnWjrfTtefORvsbzetsonhElyfakGSYaZdZnOcQKFiCjCFJkIYhBrSVqVjpV", "XXDufgPygTUDnmETJNFgZIvapwnXvuiPWsdBuKXblHtaKtofNPoUGWNkUQHsbRxpwBtkeWlFaTQyQzbqOjvDQuEjLWqZzoXVXESCkwuxlpOnrxtUBlczhWlUJUHGwuVyuCiIGvCGKtKUqKeNvJVdyMaARkQZPyuLrnQSFYyiiSadhRawEUbpdGAsmisiwLvfcnWLTNQhAkmfojsMEUWCoVfvOpdwqaTdzqoBysiGKpKFelCsKTWGJzQHHEcHEISqFBcmEcsdCNarsDGIOxfQFwvzHackUtOWiiuVQFCDBZnYJMdqQAftNmfYpGAUXjdOtJakJZpiIvRkoZnBuwdViVkXCANqSoXvFUcEGqnCQHevEquQrRvkqYSsWIdCdEECzRuzcqszbKEXPYDltgGazEZzBtAQqNoqwWbDNHuaGRirwsOIvcUfgyyKnOFiEBlbvuChLElaTUIjLetJanVulcnklBudNTuGNGqEJUgfpKmPwHQNCFYwsaICEApvjfxZ", "zYSACvXdtHhOrFOHSoOavgxyNdLvuyaeNDWGZHuryKexyuPcgsQGQNUnsFemUksLaDruTGkCsrNIjGfySUFSLBmxxkuJpMEJIKaCtcYwnFedlBifINstGUmJxWQdmtBdyaJGvXCccouNxmdhalTJLezCOumGgJKjgxhGZGTyOSWEtdEvhvUJopFzGmssPGTRJMhtJVCvIatmZsNGztgHFKcaLgdyhyBjhzSOvdclwFgVeJwHOMRFqVpNXMtBvOWwytgKBAvwdJJUqrsFTvTkPdACsGJzrjlbuvDqxTvDrrsTFkoDivzNkCELVLvyZXKCmsiwxthAdekDNqXYDetNzrcplHpjNJBkYSnavXEJCVYcDQoOyNaWacfOUQxSHfnPkbSEHlluPoodXgeUBJrlcmGEdXTgyqKnhohqCCAjQcQEwVtWepxXCzUlTbZqPBvCFFpoSufnonrzxsqIXSlHhjBlooAFUNmNPlFqracDXcPmWSWkxdIGlmYRlJadgeun", "qGWtqklGuXLEjQCGvHUPHfYnFZMufoktCimAcbGNIimEkCPalyJhYEFgKKRjOoWnaaGWhbrQqTJGEQEfjjrcowsaKqqRxQZrECLviAacQFdUPJvlWdIaiCzfSvbOIaOWFKmsRJmZEdIDUCtJHgGCdVYaOqeGoGjHbZgYVNzHDwnfXXydZthPsOZalKQuWleyJhrFsttmvvRCfvtzNKXYYItceBUzQBpGXXmeZpgEIcgSrjsmPViaTQuZdujheOVMvrKWRpDXDxcaPAJesLNgkBJWfdTUfejiFHiPEkjVMPzfgnlgveAVVFlqIQcFEPzspPZLgqCNoXFIxkFwlmgzKaXwWqVEDaJXmnYhfPoKnUpOleLDhQoJRdcCrGSbeEGEtzzKlzJVlcZMmrFOVUDKqHdoyHJufpRazpDAXnFzSQAzCjLlANBrcntggzYraDwOHDWMPQgzmeewZxcDrpXLqKjisersahpMdaxuBOECAkPQVuudaorgYhrOoudzJLjD", "jXKCAQuABbuEPXyRsaUMGqCKOrQwhWYhOkVZLJvOocPBkSGswdROdeqSiJRWpHDtcRDiYMQvbqpyzYniaiFjZywUtMldgugCynJXunXdXtHULSdwVUSOBPCDIjTasDrncrDUZqSaZrvbhreRMMOiIujdStIbWXhJVtOjAzTDtdHULOqlGUEDqtdcBRIxDAFEFPIuIqzIkJRRDmxjvbcHQBstiWdXJLwfipEXVmKwzopjEysJhRFGoISjUbarPfooMGkqnhlAeFIkTIABzhlrhgnBysBebMnHCjkhqDXfYjPoeTYVQrdLGWRzfKtCsJFlzXczeyornsZafEnPuSRhddemHfruUKmkoHzDbQdGWnerKSirfzEHnvMeUHNPzWUAAiwbIifOTYRBCpGihQfnNHHLBTHmnkXbnWbCfGRWRRLQrWFFBCXuJUIyZqSfKnURMvbhlBSgfnbnpoJsRguzPeiowdfqExQuRpOMMaFnsQRAdMaOLfjOWnDMraThAFvX", "LQLvCWVSTRHomLKeEnadBGFnWOsgyDBNnfCDWbiqIgCVDHvNzNQBZlYYvhwmAKNPoJLOezTuQZXTKbrITgWIUhTulPDsBfbhcvPdPAUvOnOpwXVEIydNFiRlOAudiRKvMJnRDMwDrDOpTXZCHrdNxEGXLcuLqDIwYDmBGeoOLujygDkkyxMoWPnFUWOZMbhGcKPETowWgxmoARPAhCgRLXcdBNdIcgKADIvSbyuuEYVUmHvEIoqOVdyreYSTcUZykMxDzWGBCEOGkVdTRTRYcOhsnSEJDnyrAONaDaFpoGdIxLpSJHKFoOLMMIUkCuVGEnoKfyWqzweUHBFThCPzoFQXfXETtmBAPhGCXyTVbroaHoZdhJXLPitwoYrnUROJeqmvymjwZRUqObtyhPfywBuFzxiUqTZPuOsrYLepFYaRDmfoLYyFVSqVEalkYZXZFfCaaHxkNUifLAFcdOxfaaWPvOnoUxZMQdgvzJeQDybMfpuNDOQTxhrdMhpeneaT", "GoCzjqstuBjKSJIcdJCguHqPyTKVJmfswIdqFBNyevDncGVzSFPqJfCtpFkLwLUekPnJtcrEfzidZvomKmkAbvEAzOYMvHKQZfSzXKcOmeHndRnkLGDTdpYEtKhHyUlppKyXdlBXxLedOclxDGfjaHuvOFRgKpueByxPUHLOHgFhCZHSocwkQZEkWOQGSqqlocqewjtQxYvwtptgUHZjSkZLlTbSbKmXPJkSnYUaUsWeOmVHFGJLszQGpCYFmJwgZYtEtusIBiKZdJyIHHCZmSdZJioENQqcRSsypUJAFwCTpWucbWPoLXUiIstHepEwegNWjzwMIEXtzFVtJBaPgtUYABlwPFmPKDVkElCBVIiOEaRTWpeRBJWwCEQoCHRqQohjvPOKqdEYhLehcpzJjLNkGkBfQryOqSzyTPmyNZsmwEzNJoAsqWwZBgZfHKbXBZkmgxwtudWMvxjJFjpqAVjEeAxcDuKasqRdFzFEygkOGuDEwxndqFoPnjYNjMBV"],"c_map_ipv4":{"c_map_ipv4_1":"249.32.218.239", "c_map_ipv4_2":"99.226.55.19", "c_map_ipv4_3":"196.21.203.136", "c_map_ipv4_4":"121.73.184.20", "c_map_ipv4_5":"187.187.228.207", "c_map_ipv4_6":"50.42.38.203", "c_map_ipv4_7":"227.101.170.36", "c_map_ipv4_8":"221.119.175.81", "c_map_ipv4_9":"164.10.123.239", "c_map_ipv4_10":"145.204.108.232"},"c_map_string":{"c_map_string_1":"WuVbQHMhwfsMPovhtQxSeunpzECABRqFRzDDQgvGfHdMlJarvzNkTxiuXARCRByQhZiCPGYDErhgRWMQSZCwnvRUMaroanocsvOdPXHakjPwlXvmfxMMpPSHpgEnlcRPMHBkqcqBtHADDiDuWcyhidcwdXlyYDxaOBryDBOBNkxjbCIZXadmDQJpLNDrKhObFKjnaFipatKaXRbTbicjzBWSjYgzIpCKnhfcPEFialWWkxZRnVCThXyuESpiWECDQLUWPmfchFzuccHJijIDfuzJIfLkYAWVwuOqpWtvodawzsHZfSBxAWnfpTIRjbTuYODVRPAtGfJjoDCARqgUbXguZZLrrPbgdKPrOIzWcBBHxTKHJNztSBTySBFhaEeWZWaWUwjVqETZnDuYQchJxCyQTxVAEBMjmohveVqusupQhfHDLJeNscLVDiSohZNYrhUybNLdsnaDxLieZkMBGsjMjywOpZJDcvyvYSGOuFuXHmBZbeThaADyIBNfvXaR", "c_map_string_2":"lhOwhkJMGJrTGvmvrMAQUpGZEqRVlLULNOuMmxXardwVhzPEMLYVyGucEODPmPwhTEHAMmKUAncGWBKWamBIOByWvDdEzwbBiRVHrMMOAczhiwrMyQjTWJIrElBImZwOjcqlPNtItDjKXHkjUPcwNpRbwJDDZjKBsfpCrlBSZjfTGtxYjIPNwsDKBDqDNfTMMtUNphxnqhgaflYGsZxwUMkFueWMnveHcPHHIuJdhaQikuaMirzbVGGDfLytzXPbQfXMfxGaVWbaTzoaJwmfogSFmgyUVWEKUELOsVBKlCAtFSVGUqwZSNtsZcNiRdkkvyUnadGljgDoKBlnVTWfiqLXNyCwasxXKFHpPUTERpTbXnBfGzgOYaLCGxtMcrpjHKYmOTOgQMvgLpkZQvDcnCwhwdpcRHAzlxsthYulCyXVmxOnjeGngnoFbTnJfSboTcTSpfEyYBDjzABihacrNyGmPfEaSlywrPQxtjGEBFPJbRBTmKyBKPjQzSILeaSD", "c_map_string_3":"oCZhAvwTJoAItRYayqWgNAshYcmofsthbJMNoWLDhTiVEHZkGRCTxMUsfpYwZOHeCyEqJagDLWdLRpWFCDmJdPByrcoNjojfYXLOQfCERazIoJpdmLORgNUcYxCjiydWBEUBsRgrABbAAUYxmpqQRCpmGhsZoPNFPdkhVzJsSjOdpWAcVShJZJHwqMFXylFscNnXTVggEWkzYucAXrFTCzZFYLCIpaSIeMuMMGnWxehtjDprgqVmqBRjpDxcRgrIBDldaShlrXvpTsWUQJZapjFhgoepncfgSRjnpTMToixUXqbUkKjlgsxtadPQvTXbNByGApwiBcnGBizJRnJcypCfaSkLjOklgpqIbCgsAmSBBxwzgOANarqRSPHOoBMZxeBrLzNTzGRQSmGOcTtZFsERGoScxJObThRTpoNQmCATcLQbSTgaEIrCKGZJOtAtZQpRAIZHRcjNRGDhmrXlrGCywcSvOcGFzMUDRovfIefZwsFQKyiAoaQVybowbBvB", "c_map_string_4":"ABumcNJrOQRBwtsmsegTpKKWDYXuLfjsRZaMQgCRKgWFyjElWRGZTRkIqDUqNDDZabBnHCpRcQOCHgpWqCuGEymFBPgxWMUJsdxmJxJXltgRoBAZAcmQSBZLFbPasBsscFmbOiJRIcmMNneIVczuvgeXqVfLdSRDLGAWwDjWOmPsdPUBVUatOZwoTYEClnonbBqCXGJVOVKssWqZmenqCaBKECwOBclUiFBVzeOskmAmJRmasgAhdaQAPnpDSpfQywtsiplMaXOJEbGOoHYwVcSJzUwdYvrObksADdUjjuLPGFDkwfzxxKgBuDjZXKxDufYIcUCGTwrmwSNdwzjhXAxaomxWZOVaruVTbPeuBnfLoqoqNVdMDtQwOwXrAXbvZGGdPdDabHKovHxQMflDqLMvyKUGQIdQgkGxthdNNPTyaBzJnfijratsVbGEENsRKJcDegNhoTHLbHirXwGeyQChlablZIvtbNxXPCviQJLpxhahSaTDYMifbtSBAotX", "c_map_string_5":"mfwJCRXMFrWDOAwRehPBYbqKZsQHsSAOMKjJVrRimIDXcjazEgTgNYGGuGxmbIgNEkdnVuclsUhCoalOtcJPjHgWFQeYRhUuZLbXKzoTkxQUlQyqRvHuKaMYuLMcGnMMbTcJKdoWIpEXffueoYsPutoKHGoLQPeRtIjWTIzmOeJHomWrIowlYujEmOhpRvGDEEqgwuYVSUPTbeIoFxtgBTlFUiTeoHHpEeubYhRPTUZPMBUysAIBNFntzQatDaejXVBSOhDRqXkuGcCFjsBXfpdVPtIHkyqYisDIQVjtdiGXbPxmjwlrOxgjdDcSVGdPEWpkXZHQsbDQTsGhfDuKUxXHvvsxagnHFaBYXnAMCpcNiatQtPucOOuCDWatYzqlkuKYwUGGHAmAEDXlHaKQwofDzUhVVmZLGKkDmgtgonYjrVVaEXKrVxkXJPEFtbTjDaMGjaLzQWdYDSxnDNDpCGAsvnKEKMlTIsgQLRxQHiDweEQApJhKeKuTOpLCqAHx", "c_map_string_6":"LHlwJrndEVAdByQmIYfStFjcQyHeKyQObBKnYmNdDsztBEpWxkOdQiveXGSZcVnkdDyxUoFxDACAJdCJEyVSoIIkCcIvoCChqZMQeZBPeQqraKbYfGqUbCyfEKcbCWxDTqHqdptCrJNDDNUsZIjfMdqMXfKnMItzdiKPMkZzKiTGDkxnpOkcXJcamLzdhwFIbNTPQHWrtRNvxBlSWHVGuYKkSpPUuOaslXOPNzwUSpgcFwFyABLWeogsMNLMGkAwWnVzNVIqABKwJvZQlIVepkeWmRvoqtweoTrEkksMPDYiLFBZPhtGXjuXyRmBaWhWrEtYJHEAaAVUNFrymGkiICszYsTjpedzVaYWFOcAGzIpoVbINjeObACsptmMWHahNSWTnztHbvNmWudUlVLSgWiWCLNXvUjlFkxQwudXmaYNzAPSOHsiUTVvFdluGsoWMoteaQaaATImoYbZgRMAjpczMUVaQBSHGuytPbhKHuoelVYwLhebghUxbsAcrdsV", "c_map_string_7":"LEVXEKIljvxfNennanvjtPcyOZByDKunRsXHgUtwajGrZHXEKZmlGCKsOwNapkvMqrdyxChMNUVyBWfggOfnFWFtKDxanhlEbTTaniobTuxIKnGRKwMGNEgXBoNHjcbYnXOcBpqQbaypsHHptAlxwIhjORhCMXlNEYZIkKecjwCWTgZTpkWQusnwPseCNHxNWVBlyqyOAFGWQPPlFTaKwwOqsShNcWhUQoFGHRPecQwYITbkEyKHtspxcmnDZChSMouliBbxRctQJuQbsYXlerCLISsUgwPzNlFCacPvlEAimlsLdkdBMqMieqQyYkPcnqLYKxmvohDueyfdbDpGClWrmekwfGdkbjQugUzFUqmMmLLiCFajHgaOrDoFOdfyywmGewKUMmkPDCvdrZYiEQOQzaJGolKwPCZDpFXIMeSgmlUficYtecjHZYBTZXCRagvHQMSZBcjCUHEqoWLpnPQlqUvXoIULiuHOwRJrAtywyHcddGwJlbdkQCseaQqv", "c_map_string_8":"YoMctWdPsvuBZPqwpNgonvvZrnZaoIGaqroEMsNhQSuJtADhzldMNlAKNcnTfgbFycmaAiKekjmSbOyZZUxMEFRWPMccNvHBMLhcNzfjpDWdEPmbJkiQUqXSnDEuGOufPPgmqcfvqgsFwtYfyqkTEToeVrGTEtJLIOdeGxHiAyDiYMpryfudPylQpbyudUVSyYCZpoYkuuUdntDkSDUNpumWSwuuIGeSuAPdAMdiFuhVpQHaQSCietEjacFgohyEPcUriWSBpFuwVNfqNqHLIQGKnBOFCMvdmzQWmIIaikyvVEPqcdCHnRmlIMxTLnqkYJxyIaOQFOBJSSyslMNPwwgCThhkTloDOVyKRyKcEruiqFOfuCJnbRikHBvKvNninkLWWQxyZsyCPdcEVymGOcoqZQEIVXQeAaCHNFZXWNensvziMZVUhrrdyAYqtjoAAMEBkhrhoZyzgwBWUEgcYygQWDLZagtVevaoXTOgBjFeaJCotbLgEnPqfxuIwHOl", "c_map_string_9":"RnRsDiVgZRktqAKvFJrWOmnTIwwKRYYRssEKkQpYJinfZSbJhSrtjMuxwkIvuHyoLSgalJQDnvSlqNvQPkQHpZtjRKIcYGvCACKhMMIWRgfXFDiwBziPzUJrxGpCnOipYHOBBrnCszgqrTjpRsDJOlrtpJwiVVfbJTZgSdyMIOUDRZBhmeWmQmkzIyKnuhQzliYVOIzEVbSsEuWJTGoyZyCxDiXfRPUNpUkWevaEftfqtxmGVEbVluwpDyjBVogFmQYvHHXubjdkYZpufIruhtqQTQBMALLHyxIcleeXZvqkTqmDczPVhtScZSmGfRzHKFVOFRJHPNFPIPrrFaRFUMMfxFSyMjFsTZaLsnfuHBHGZOnACqSJRQlAeRhRKnMcFwTDpgKlKmZrNbMhlIfizHcBJPMWJRkOjtsNXPDHYDgtTesXZesOMHyKCDALSjHqNYrzVIBZPAdtXCtJUZVpaXFHenCcEOgknHPXmekaNvWoEUtXWJCfUarSkhrjricK", "c_map_string_10":"dSMFlJcwAGeLOOFfMVbPkQFTxwnqlQdbUUufHhUBFewJEzUwihnvJlqIgqBPFzZzbbJzlvjYbyQjTwfiumGEBVvWpJzyctaZzEpHBJmbbzMgQQhqYZkNAjQESCwPcIThNtNuaHhuxSMKpioCMtjElaabFCTMcOaJwWbiWxvmtGCoHPpasqvVAZsiijMwypGcPMGZoFvmIKjXVyZAeCLuesDvrNasdNRZXopWdzThmqTUNbUYydDANeAiaskgaQgyfesRypnKISTWaxFWAzXFJnkSSoqLdScKIXSIjNXmsZYowEOPxvzjbxyMzQOBYGitbkfmJtGLLgKUznifoxrPCiZYQaMRFVSQczlubbteQmnYsNLALWhInocuGoQMpaTFFSIdDsULITAHqzCTuOSDByDibHztvLgetARmXAzOZxuzWnsoaqjccDPuYfgwzeDagvyonTLyYTvhqnEeJckyTQkbkblraIgMJKbDmzQABthdJZPzPGniUNqYALOHKDcM"},"c_int":348924291,"c_string":"WdxSjAvfjGjWDcuKfNEKeZiwvwUNiyQIezWsQYtSzmdwBxlDavFWcYJIItWmkvRZAmlbQuCrymMvqDFjYRjcVyowAhEyeXbWGJnMAuIhuXdGNJmMOsVNhZmYtaYLGOJMfXjRwYAOKIhPLEuVzvKzYujtvOMDZeZDpDgLxJOwCJnehkZvwOfpiCTfOAoIjRbVDQULBtMmEXCeUnBXZjoSaZwzOYvXNYUyPmXFyACaVSsAScdDXOrIiaMtLpMjBmEIpJVPVsIwmfIrAytmdaOCbYSuTjwLTXDqUELgrBLkMfIuLJfiGvMplVoDbrzNdSIToGzWvUTZNjwWEqaUWaLcEbOMCXIPIcYkZbpPnutbciOzhrYNDqYsztDbgdnIVYwyYDFNcWjQxFyLhFFrHvQUGrwGRriAKiNzxYrIcHjnbtGJOtZPLgLhHKnIBZeNrlARdiSZtsuYahyDuLsclNGXQAocGzbFCTwXGQNfVJDDsvXDizPbjdugKvSCRrAZmTtZ","c_array_tinyint":[43, -82, 103, -91, 100, 22, -100, -28, 16, -41, 115, 91, 103, 69, 6, 31, 34, 10, 92, -52, -107, 7, -41, 16, 69],"c_array_smallint":[7554, 28165, 3251, -17728, 28313, -11739, 29336, -3290, 16287, 6848, 18017, -10008, -21711, -26264, -3975, -16542, -23870, -16471, -17420, 32430, 2603, 4155, -31593, 31716, 23819],"c_array_double":[45.23157815593556, 63.23684435357683, 88.47495139838759, 79.30654906920985, 33.51245457804596, 16.817008923783252, 47.364480684455046, 43.680882972925424, 81.61083841005261, 15.329228745135522, 28.44349447358534, 99.41863506850062, 76.32257900775865, 46.865463771593504, 18.508848900170435, 73.52090510639702, 29.13191155289961, 4.401620820194104, 94.24734964225735, 66.84407073650895, 55.67903928397779, 45.089630310558654, 49.65299788177371, 36.43031209737564, 29.148593665065214],"c_json":{"connectivecasual":"all the same"} }','{ "c_smallint":-24855,"c_array_varchar":["xzURDJRTWZmOAhnEvuByYUvtruxPLeerIYKjiCEsVylPqsGVSUlDJRTxkroVKatAhvllHmijRGMoLfDMCPZzhjfjFULKPhyziMTRPCwTSfXFpIQYCGlgqyJUrRMnmAwaNAFqxHgRbMpPSoOsrQNofyNMexVtEYcsQYgtTlFyQNyRXMYimMYiXXFcdhnjzeisMTTkZsLxVxbCWUzpBnwbLWjlGKZbIIyLvAKmpgedNGeiMbhnoHvTReuRMSfHBYaD", "AOtgknyQFouFSeKMmxptrHlBHLJxqERYyuVBCFAbZGmlWrnhamfpGLIVLxWRbURARMGGsvxXRvIBklIidZJZVqSzlSxjolINFMeNQSfEheDzgIhzAkOPogqSuvBzPJWgiQnhVdGyYpnLNGATpNirZueRdUByDiwJjELrEhBkQtihBBPrROTDDFQuYkcxtqSUydrxcBWwgGTysMoEMsLueviiweJWKSRYMZKvIVpNFxhSyUUiXJlOtRtvpPvFsFyt", "chbYRsMLJLuOEjkZLubQuMewkLdQeLkfvcukrWHOQEWRqADAaYwtbPNCkCUfRvCtjSEnSfwiKeLWeVhmFDgdayYCmSWQqIOIswbCgmiznLGpiifYCFlXvooYkFCGerGBBsvXIOUaVmChSFrXTTWQAfyJQVfZIwLuyyLiAaCiSBUwyCnzRheNEAhQoZYOPNRZIRDMgrorDrWwNUWTHXPrxKRDFyEtYccRYjEKocbpRqnawVbfUgwcyLYeQfnBruEm", "HqSOamKjbOFkmffRZgPxlqLSsMJAFByHwUAxkLYFyWFOakmyHFnPBnQaoCqVWMlFGVKmBSTCCMgFQFXVcSHdaVSvsqOSNcOZblRToqdgrKOYnOphwUTMoyvwKqxZRhvOxChJqQkaXjcEvoadxjRvraOvZnDExmLltoDHtkPWsrmLqOsHPnJffLtGMSdiDVttkOfvpleuUDqjPHiKHXnHFHHWwCLmwMmYZekBbzgOukxwGlSimtiqUiHnTyClDNhC", "RUzIHtqNIdewFlsMoIxlEjhLuILjJCOBTKgqLdZKNzaxyUlSyeEHQHlvWYNzEvfPBlAWyFmraLKkfIlSTcErHVofyNVAwlqBIbItDMWlgTJYGhuRmGbxiOKPZMoydZoDrdDenixppfNNGcqqkKKQWtBDNqIAOLILrdjBacZvqGgNbSkCYZeLpUfECkSoejKWdVNKhxbLGgIwGrlJzDGjndTIEFqBrLGehwyrZqKzvwBUNxmWjuYpKbChwwpWRcwi", "cxRcluxgLIcJXAruBuvwVzXAoJtLjGCvfODXedhGvHWdPlUJbeQzIGXhbECCnwiefaYlHUVgZWUrWxuSaSLgdvboJhQFxgQfSgiieeNNePRBEAbNCXDsgYIYpHTIJbTSqfPJDxYBQmAPXtDoQCHlbzNWwpEsoWbrRAEMvfxVnHEsPFGksRhoPLDrDkPlweFYiTxuswEdYgopsjXqLhVzNrcCFkXWKhtwYELMRTLbDZIFKBgGqwWrvLvhKTUyPrjU", "eAvBWHPfGrudmoIsEJRDQKWPIWDANbEInTtOViyMEsfmpPNcKyLiJZIilOzFiHKkQTaRoRCGxIWENDluwgUkPDuWjWYVsbrUtiVxXgyQlomVsWlbUGnJybDdFsLFaMFuSAsWaIINmMwjbjGIwzdBoomTDXhHjcKcwfbDLTZnDDdIIEFaKgGIUsoPjZEtYAUyQLYiiOptdOvGhYlUolDBjVScKqEDfaoxVWMbmZVESQNnQtshvwnuiPbukNTjadsV", "PhrCayRZFFYFTJOVnvfAuBDBKGrFGRaupyCJqxlRrGQXhJvQONmutFcEOXHOTSjpJuHuiwjELtqFNaQZdqfQsXpHdSPlcvrYjbUIzAsIjndaxlacudUoCcSeUStHwbKLHXxuFCwaaaJylqPJJuNQNaEuzAvZkCMiuslYjtEQPKdJmdeCgOqOBPkxuAmeTePWkzUPyzZTlSbgdXGVradcnrAMWkMQWLMEJiwjPMasHAQCWgtmCmjxJQVzWDPIiAIy", "hQVQhiOsjQkLuoOuWGEGOZeoOdlTnboJFMBozvHinRHMGAuvZEeAuTSealtwBpcxBwtnrxnHrwrEecGGbRVtrRTqxrrNmkVFnMcaKWvLgYuJjcnMgXhdOKiFGmrQGFwpQZotYGVOaydmOVrulJEpUmSeqGGJysbDwOVsWSWoMRuhHVjnXBcZgHflVVTAiRhGfDDEggnDIscdqEFQXPUwxCpgSfMfIwmMdSSxcXLmJVNHptmuyItdvmOIomEHfFYC", "lclybMZqUizJBsKsfVADGhcjiXqrZDDLmVlcozKkgEdeiPuKDjcTzTcghzsnjCAbSWVigNoFnyDWElcUNjxkaGafaPUvcQCqBdFXZzLMDATJEafdmcRxPohttRABpaiSehTZpFocexPebfdbOQVxowIjedvaJROsPsPJwKacnOJbqHBVKLwFFxrboTyArYEjidMMLlGDTYWXrdrHevMKKZzWPfouBJwFkRNTlHlOqFQQDKXKKzcShxjtpuIHeoYu", "hbfQoPBrqGkmKldKmqOKsIADXwMHzmZrLHIYyUMJboAiHRCpHCjkRehcoDmPGwWhQVVaiuYhgyKgPFxrUjOTmMyBvSsbBjPxzocIMMjDzQXGeIQBdztLBayiggEhORijTvRVQnjHflTrgHLcTQtiUwiVLywIppSuXEXswkHqMIwznBjwyZVGZGVNTbICsEHHoahYcJiuTtyTzIRhCEjbEswegHIOLmCDJdkLYIWifkRqKbbzWUWRENMzqTLwGhDQ", "ZCNrbsMtuLziwhYjVDUMVRUapUnqaLSmNoxRIRbwGYXbDoWsraKlsAwLpRKlnDximSnXHbwFUQUOoYheghQSEkvflqtdvmZiJJFhtXXLNBPWsPMHlwPvVUPLHHIGHocEWqQUdAmTsRGflZmFZDEjPcinQyJzZRtmsOcaTxloSvhcgXiotkrBjglzueWJUybqHIcFMIcCNUslwBSxfYGpjIaZOyzoDyLqdDAMeKbxZIsMkgCqlbOQPLQJwvEbuBCB", "zPxznsOZFQyBFifRuWtZHtXLrrPhxjEPMfDyJFZGLPeQiyMDAtBmiWXwcdgRdkVjjKfxpKsIKBcNzZnKhgWcVNZsvXHEzkUkSwpTomneBgbDMZfAukOgPmxhNVqTvVDxiYYKSHAaTcDuPBAkyPPHzzlckOJpZXVGHZexhQoKUwihPsFavNqarIOAerHiedyXAfDnPmxjHZlNlRLHLALpeQMmWkzNVIvctvdnyvafjNTCwIzqgBDLVZedHCtwPBSn", "SrfLQQgYoxRNpCKZtDwZGiwjWLWFEQUBoxxQpGvItpDoVRMxkBVDpSSqMGhqjuRhVoROtjPNEQrtbtvBjfOpWEiJPxjxsssxZlfjbZfNNJzsAcacMaDcxfRGCZjwIKcPjtFtBagAxmXTrbmlxjvxikBdWfEZAEtQOTjLqxugqMdViVHjxrkNQfpOsIflSKNEKAxDHLIljRFunxMRrbsUpqQUXKhFCKojJdOaRmOnuHiXYamvfiaJUuNwHLXeeqHS", "YOlrisLmUxDufnysRXtTVHGXjUBdRxREfwvLECoTHlFFwQeatlqVWkxrYmhPnHyqNNELeFVwxIHKvtfYBzJogKIOhZtXfWsKFjMWjucgPrkDdZALVuixAUgHUbhmwJRagysVPdIVEoKlomhCLGVpFqIlRpVFEXWFakBRUbhhtAoGalWnTNZCdfAPtjgBNZxluIgJbinpwbEVAnPQFpqVErrfzXbwfaFluzmyumZsKtBKNAbLLgAsBeycFreCKhqa", "VUNOtUhRqTmWePdxdVZPWuWZaFlDPUOUipQuEqmSuAIDAJXWMLesANHpduImBfswPvKiPJakXvIuFONeNGGdedNdCPJYplPWCSopvSwmEAEAGNpwPpFPdEzHvyMHfFoxWMTgWkdeoyYAGAaHKPjkyCifvdiBBETdtALKPtYAgJTcYqbWWHWCWhaLzTJDgWtqJuZSyELzaowcuVeuQyDEKcvRmmbmhNxcWejsKtbTxjTdOhTrwiJTadladWfyxzoN", "TzqkDtSmPtggkdopyGwzNRKbXxyyPfKwcdoRWKeWDMLioyCNLIGZGQGfWRLDkOMyZhuBByHskUwEgTVLzKoTMseWRWeskVBjKGxWwxxWVpmRxmfEDNtXIqbtAgwKOrdwHIEsvfSsmhnsvsutpoUBGigePJkLwFcWjdiDTovCxMyZhaUEmjqFPQWNsrPrXKWaSOdUImgBEpsKeckHYAithSQIMzgkZquFgddXHpXsaUcizaQnwLaCkJIJzIsZHFUg", "FTyvQWUCPYmDskbqexdNrRlOqCHURbTZWXrMCOGOqiutrhzVaGqBhuOcyHkbIHNpcAMKrtoRaUSxBzTAIpKlfhCIDiAxqQiMwXWlOSKuVtqoZOetCCCKcWBkSYrpuIAGSCvePEUVZkVekqqbjdFOdMJFkVYpEVARAGjdelJtAvLQmyrLYlSXOgsbhlvdlomFDvwRKfKowjifrSuPegzLrqgsPVEGnGdoQJQijLmghQWlUDUbVdvyJsDAHkyUURCT", "bWLweVeKMMDUFBrkWhwBsKDDegoEqDYChHkVyNQBZdipHQLNzvdJEjeHePbePsCqvLegRxGmzILkyYsXLUtBjrSYqqEYWaBAfnCSMTLQZrrCnaDNUFKKAhKzmmOtZQFfvNKfHcuyfJvzQTDOPdpbNAviEDviKuCbFwpPJeEIYdbEqKZftYeAxkfcDtXgyLPcEUzgVHpqADnmHzWgOVoMTGzOJUzKrabddnibHvvdENTeWVYTRrsqrLaxjNKOsSbC", "VCXUrwtwlXpQUmWIXZgqFaXdaOKboHBSiAELEYqYFRyGrjtFYVfstLrsSBYSwkviYfuRnBXBLYJcFWLigtCLIdIogqoVXpIYAyuQUXbqEOJUkWhWrOiSSSGCrBDmRNSGwXtJxDeqCSgHwHLBqjhKkJEevFvWTcntqOvfFHDKzYHEyOidijMMycbSFuAzazmHiwJnAiBdreNNWjHEwvvOojLzQhxutNuurLaadjanmGOdgJoIaodIIreWFNhNxTuq", "cletRIYADNgSfwsFjZSMGivknLpiQYwyBkgmcYsFBeBUGEhEOKYpQbXflitcIGnOxDhmcxlhifEawxSwcJVBYkccYBYKkBnHAMDPXYGlDLXspNAIUUJwsDQzoxMUptOiylaAYgwMOwIDNFXvEhXcVjcbnqKGuyypAIjgLJTYIDioYybRINREBxgNLtxiuABszIqVXyVrXmygQHGiTSzFWcsnNBvOXJKtAwbYwzONnkmIcAfdAHRwjUrFmuQRCJsV", "aqaADKjreFTpOqKvQHcNggDrefVGtmbgICuVYWEtalbJSOiwltxEfwKYrrNViOrIycVaXcSqQIDihVewObNOVmfRYaRjkZnaAExBsEWorWEUYIBheRUKWskVwHWDUkLlmmvTmwdEFPPKPahcqFMpLluVUhoRMLViEIZxqbNFhNmmmdmCcjHwCkmEOKLAIApknLikvjpEesHgUAHBlhOghjgwTZpnCyWcgDIQzUvmCquyfiOaYymsNPdJdXXqkYNP", "msMSXDXBFURheaWIBztkTqKGghpPclVwOSeNCxyvAZIbsqhacpguMIBvlGBTvpwqSuomGhRIpUSlvmleHSxeWsNbWPBANZyhyweCPNjKAyjKDVGaebfysUKAMCNbRdvutsEVvdTtVUARMFfjRDHrNJKOWnhPrtohcZoxMIxNzVUfAPWKFElKGOlCekmItYLApEfvFsoHPjGiTEIbsgDODlNSFpYbRArBbJjyKZEAICJbtqnSHqAdtiVuDINGDegi", "KRraAXzYUjoZGmGgdNETAMyJaVKmJmcvFgDcBVLoXNuEksRdXFZJcxAvarcxXhHpkeTLwseXexIPJOMrwgIJjVnxnHHufwdlfRFMWycWkbchzamkDScHKsYlVCWMPCdIktxsaUDKNVZxxIFVyyEPSRItEZzrTZzWDtmyOFQKwfQktZPqHHytoTGFJvvYbFyHNLRtyktuaAyCozSuzKjFWNtJEzkucViVRugBkASYQWxYWkgFVpzcbESEFAvumDEI", "vMkdxVBOnVHRNfjlklWRYwfVnzhuygCWdOXkNAbwJJzODAoAcnecAWNuGlWnWISrqTEzlvHUnfIAxGfBarobQKoGmzCmEIHScIcaQCqXlvrcQKgGqfFNYusWrYAAlaljLfqTXCuQnbdaBtARItDOpbeIyxWzxFOQeuVGwMOzDDcIhzstFtHaOLHkpdHTlmZlRZnTlfIcXccSBAPuecfetrldYuuetajBrFrUaRenmfStCXqNPrYplGvDKVopiLzj"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_bigint":{"c_map_bigint_1":3823463341180150919, "c_map_bigint_2":8919867155777410027, "c_map_bigint_3":1730012427480743725, "c_map_bigint_4":-8389794657922191386, "c_map_bigint_5":-7611100803179293678, "c_map_bigint_6":-303529768078264548, "c_map_bigint_7":282817017108082200, "c_map_bigint_8":6308732796665915632, "c_map_bigint_9":-1818368990899578238, "c_map_bigint_10":1461337480279991358},"c_map_date":{"c_map_date_1":"2019-09-07", "c_map_date_2":"2002-04-03", "c_map_date_3":"2015-03-14", "c_map_date_4":"2012-08-05", "c_map_date_5":"2001-09-12", "c_map_date_6":"2016-06-20", "c_map_date_7":"2009-06-27", "c_map_date_8":"2004-07-21", "c_map_date_9":"2008-08-15", "c_map_date_10":"2006-07-12"},"c_double":15.421255790220009,"c_date":"2001-01-09","c_array_int":[-1539956004, -2126903070, 1354404954, -704445336, 1713521292, -1556709225, -198116628, -433310727, -1471164694, 405894431, -598089014, 1178945345, 1332652392, -447076329, -1220748757, 1958273758, -192080556, 428486477, 1246655881, -683488042, 1012348068, 9971522, 1805836819, 1364227953, 38398676],"c_array_date":["2010-06-27", "2009-08-21", "2000-04-05", "2003-06-24", "2018-04-02", "2008-02-25", "2007-03-12", "2001-04-16", "2015-06-06", "2017-10-11", "2010-02-13", "2017-12-11", "2010-01-21", "2016-01-25", "2015-03-23", "2012-12-14", "2011-11-19", "2000-02-12", "2012-05-25", "2008-02-16", "2003-10-15", "2012-02-11", "2009-02-27", "2019-01-09", "2001-11-25"],"c_map_float":{"c_map_float_1":11.736471, "c_map_float_2":70.893715, "c_map_float_3":100.078926, "c_map_float_4":39.69076, "c_map_float_5":6.6056137, "c_map_float_6":7.8580904, "c_map_float_7":4.874051, "c_map_float_8":23.48748, "c_map_float_9":11.356368, "c_map_float_10":43.12901},"c_map_ipv4":{"c_map_ipv4_1":"47.241.231.174", "c_map_ipv4_2":"136.169.211.208", "c_map_ipv4_3":"195.247.91.144", "c_map_ipv4_4":"130.183.16.140", "c_map_ipv4_5":"139.249.200.79", "c_map_ipv4_6":"155.89.106.32", "c_map_ipv4_7":"160.194.17.51", "c_map_ipv4_8":"44.230.89.72", "c_map_ipv4_9":"25.194.36.139", "c_map_ipv4_10":"121.99.3.192"},"c_boolean":1,"c_decimal":85.1372,"c_string":"oGygcUyLQwVhohDacWIktpsrQdEnpqrMJdBaQBHNUPxiDRqWDHOPybDmVefELLrBQcGFUKboadseWrYSgLfgDrMaIoVHrHmboUQGvERAYMdaLgZKrGrOUTwCscNYTkrzhJlAykqMGRsKAhopIjUsipSmNaCNdKHdmFaANlXdLltjuvJsKUZnWeZZgwqNgdUNyFJFFiuzpqKQGUTPQXhEihWGVPoOWqUWZDdMuUanwPtYxIKjHZdlkRIpRtkTQhITMHxkAypnGxqJoJxflXZBUZJzqartoENTtfygPhpOIKaikbgHrJacBOghcyMhtbmkLGEUdBZYkfgfDfOXOPjLipnpcMVAtTwqwCDjKxNMYIaifylCQSxMHoJlvFDDDPXgDdXQghJvhKbvzuAYJZcfUQmIlNwRkSrRUOkdPDzyFlYmNTCOedferyBJJrBeEAJglOLShCfSKKEsCfTsSCUezsBvwWqyRhQsSiszioTdWZIdInYemoYSxFcnAUtvXIVu","c_ipv6":"5ddd:e00a:9d23:8f31:61b6:8c2b:162d:776c","c_map_string":{"c_map_string_1":"OPHEeOKbPofWhmftzpcmgriqsjrRgjfaqzMOMFBrfxZTcuiJlnidJTqEncaPZTohwUxZNxLrCcoLiiKTLEzTrrTSMYSztyQRtJzxXyJGgkrLEywbWcGlgHFbhpZgexaXEkVVxDCdCpiUhYQduXCJePgmghtIfqSYUWocsDWfzKzGizJlIBILFROKhGOzqwLgInzvZMvqCNndfSPaNwbTkqApiKHjkfZWqoYKsOiDjxQUWseyKeIsiYkbDoZhVEeBABEQSoAMACmfzeOeYKBbmjpVPtFqJgbszvkAIQYOACXcixGosKSnzsSwezYJMTXFSjOTFcwDngxzxjJIEiTFyieomOZliozpfZMaBbleOAHFtgueTxIJcYonJvTKZvWijbGdnaceoqwWriuLtrboRwQNsrDWFaEWkXYEhuMPdQnqjtRMhaMpgGJYUHwMmbkvIBUyeGzaglTMqUcCxXxCQDyCSnzdwVSdbvcfJlAbazjPeljowzChQjqvEtTVybLw", "c_map_string_2":"LEWuYXjRFsuoGrBXlZFxUPtNSoyLvVHaroQhFuHwvXOTompWsoIQjErZUQSEGbhnhvXhyOPRsfjeCeQoZprgRLfoRohkArPdujWAotOfKdrSASMuaJmOTCBaYcKdwwzLEMMcfKKuCCjTWFugJZzdVlNLYyjcoJSkGAMqLYEftsdztxndtSDcHzdlOcFmPwRlumUZjSddqLjVBXXejROznPGoAQDVTyzzWMwmlRKFNHjRjqKmNivsoObQgTHSevjoBYmioiyMDlnvRMdcCcACdewTUDTLNSHNTGPKlMZOtFZWUGmUAmQykhuEGmiUTJGZgcaLNJAHAmiRebsEJxXlMoxqhOnihsjHJcsyfarlAagOlMZOrbsUChnPCDPDPXpuKQyzURlUOllUUlucKCzzvMtwWHoMFRKQDeDelwaHVSitOzwcTjeKDqKEjkfSBDAdPuUAHzTJyGXYYmNRQuVWDkvfGRSAZSFYNSYumpITIVWWmkbMOeCCJlcJCWlSoPUb", "c_map_string_3":"wePmXFnDMXbLQfFlDfdiFkJwsEQDlJmgXUIcUfJHOZsMBZroQUZjLdLdbqTXEPqxrkiwUBvQOcOlzRmApumvzLsQwnpvoqTPaaMfjlIktRsBjwUdWpaNBOjXKQCyLfQTdoJWKUqjJnDCXLPkHRIEYgwIaREdmjXauqbDSZUJWqpPAauZYbmEQferQxiDYBdXkmxbZxXPzxPCETqBdqhXpvePDHmfRywVjQHQCqxIDqiKpTQgnrSJSlpkBkbmgMTlSrzPRDTnugqNRlCFGwQdwKpvPRIeRkAgOakdtXZqeVLsJsKzYUHPqSSfxbPYlNuzNNMFOpHAORsvpNUVvoZauWnQnQtkdcAFjwsxgtsJsidCZqksOefWmlIULuulmWJlhpVYILKdgEedGRfnauGThivOosXNWjDfMNFcSqrQZuUcTQlEMPpMLJMAAcFMcLjNRFLGWXQFfUzcvQkqdlDBlRhcGBugWEVwBzmKIrIxdHvbCTZfAaSNHirVcSBCWvqW", "c_map_string_4":"YrPjMyCkjiPSftZBhAQyBfhkqWFhgpyRnxnRWuDzXRXkAxHRNpCmndluIrVvCRwMbrQnGbaOmEARasBWtvZZuVFrAlDkEPCTerntYaoGTkOAWfILXuKupXyhXnZGwktGLbgNCOMdObTThTnrJpRjnTxdqVmpHFQyfKuYOxjNwJUpEhqxgInxpNmFfISaohzwwDlfjfKwmRYvIUxXsOZGoqnCVnrlNdppgEuFBXafBrCCAkdcYbtOApKBnixZkfiOedZRLpMXJWPtNdBOMPiezfuYpxnPxidxTrOaotEAUtfsrHsddZYOgZfxkTqtuUeMtxcIgElabzaYYgOFLpchhLIhFgUASiueTVmHeerOiRYurhFKrcKkxiTykGNwYvhQTvmUHiilGWudubvLryfdibUsfSEasOcJBdNiBbTsfPlNchqYsbzNJEXvLDOCeVJSpMbTfXuSZyDuldsAkxeVRLRfCDgZWHckWjxixfbdmosAUijPKFmEHXUBfuRGOfwr", "c_map_string_5":"nxVLDOtcvPIVFwdfodAekpDKFfabenyDlmItqmGuKxiyVEDngipsNZYNfzcJqpAecYpQgwXJRKoemZsPGqqgueEVlDeELJewFohIcPiGYscAXWGjvebyRdcHmFljqdNliscDKvrosBqIeoDfLgXSINFetLzWzNvnkhBinZUDohpVrXhSezqBKTBcSEMjsAxGYcCeLmjndJAoDxDYJMKOMxxPLfVLvjJebedsNKZMTXYmOtidwuBrNmrsHcYwYqxNDSVaYZHTVZXjHTqyVogsnDSAwBrPlxVdKOQNoXokuiyYePGKNprphmPZvrQQFtgvpXneaGxsGZWmCxJImybWnbSRWmteeqPLgejtRmyDMHRIKerjVmjFKwYNJvbFJJEqzEpxyYUcmNSAiYaorgNnhLBXNXELyFsQSbWHqbSmYqlrRBsKUwTRppZUtQBLaPFBpFNQbvHiFVJqXzCDmMDGxgUYHUjGpbmFdJxObmOhpJRHAAFToKAXeorSGdxlEcIp", "c_map_string_6":"RJZVJQiCaMNdeVDRytebPQNXggFDMjfVWUmrcQajccHlfhDAkuKfiLUphHIHKveondVUAxCoNFmFjHZFYREQGssenqxbHOZhmXtmWSCacISXvOEujWUotJlKzWXIflDrEQhcFDousGFoimWavHiCEdLjbWsVaLkbiGRoJEplIzqMeKBrgBkuXymEQkQUSNNuHeEmcYZGSrjdysvvmYkkfnXpvIxRgkLUaJcvmSyJLVVrrAOwfSFfbcbOOizkdBrGTtLIHlnygTKkSqiAYkOzpVEBmICLEEQmQDQlYlASJviGyAwkYqeoNFuWcBumLnLHbgeiJisjCeLLDDlUFwLFBFQcZJwUYnDxNsuOGaeqxpLYRwobVkGFXvMOBDOgKnWdLZVAXfBhAouLEGNzVlBnStlrgLmysXqlSWvJsuyzgrUAZAfUQZZoAADMdyssgRjxICFpRvFXvqhYLBsgfaiiSaQPkFoooZwbDAveGrQYSsvXpWkXADIBhfvfbNdMVchY", "c_map_string_7":"bTdIzrwaRROIzoGshgWQFSeDtQRImICdxskYyVEHcVrrFcoHvZCRZowHVoeaGXWPNYVmMlMYQgqbCBTkiWojOhyipVSJQdRvWTMcmhypxewAhkpuXdCjWwIYXBTWYSgJnNDamExRefXOYhoAcKiGzaKMIHmCYVEClgqvSfQnKuILDmHrKlSgdbWTzIXegnqFcZXlGSENWidVEbAUAoTCnoYZtkXfioMryAbDmFmPyqcGqkGpJbmtBhEvYDDCHKHTQoQBBVRiimKitPzblAiDtUEGSIwgkhRWVZEGOPTXWjlmgtTExTQTaQowltzwPYxkKaKNZMSvoDgTXlPGuRHSLclJauexHNewWVgAstAAkMrAaOzRlWuaikbxUiXCjqPSXYJouUBmceBKIecXUGDEIwfYaBaQrBmGdrCEFAriDWEQjqTXmZpacDAdFTtYZvyEJQBNcGLLxLvaTmJomsZalgeVJWAEVimooqmGcCpJXRDWpLszhbJcxLRWCccDciDT", "c_map_string_8":"pqOcxzPlwrCvbADzwdTuDPhAOhsKiPWLMEotkOgPjdMNypqYFFVmvYFZjcQpBIOXRHSkpbdXLXBhvBbaDFOBPtuENGzMNZiBwkqSigNfTnOFdiNXdmEWNuwAYxlClifBhfvLHcENIKtcISLFHppTiXiwdGwGCfDTMzNeXfwCaCyInEmdYAxTYmFBNistcmBiRRfxwgMlKprJIioOvRgOTqadQPWaqUzyTVppotSYqmLnOvjqShvSGNtFGcCSoEvBIDoEEIgOvROyLWHVaZEOZfXrPjjvmGqbczzDmuFYTauVcSJfJgLEryvzCmEWkXtzslAeGBGJoWedhRufxDUXHMgfldQDmsDzSUSzRqmCbWKJPtcjQzxpjXHiVmdnUthMHtMaWaFOVZWZSATGOeJnarkDztecqnBvINbWRIyzLBsxXTDsgQWljaDXVqnhFaFKREBVTWHyulakQBZeGxQFRmvPKCRHOuvtkmiiMLngqGBMwbkPhTRFkXadCaCjPpwY", "c_map_string_9":"OynFfCsEAsgbYJdPScQNvIBWXKQPRHLdsFtOdvGUuabUOShhSTzwfBXxYLQiTCSZnuVEPlkUUvVFnHddRxchqPMjZttvNTfcaHtlzAHxkDGYdaIIoNWoGREUoBbyMmewikxgITuMGqylYjjZfrlhEtoAnFbZrmqFnEgcfIWYvPmesdYLHMSqHjhaWbqVveoUACEqTwyftBYnhHVrJAahUmSCSWMiEInulQOhhebvlcFqybSWaGJBYnAQPVHceICsrFiOsQZWZxuOItTPkcbOUCnFnlegsDsJIjuetxGALBxmeKgnstmizlrfHKHBEFbvBaZUHXkEHAIMxWDcjeoSiMsUhDSUKJwmJdPsXssMXWEudJtyASGMAtuOYAHkMZAVpDclqysawXuHBcMxvbSHfzWjSvaPnfuIaPHShJSpLWffGDdXFomRcrgZywLSuQPCRPoOerWjCATvwNINBWEUUASBavtjeDpCatFzuJYgkhmzZmgGWisZKlvPVcsbYCeY", "c_map_string_10":"GOqFDWEXkjhMauiGUQQfEghIdBMhKehcrdKwLGiHScMZHbSosciLQejxCfkalqRfGUXPhStcWLtgIbmShlPLikwxyDnHELRDMpUOfZRKkvcizvuUsqptKBIPPRzAfGINxmYleFMuttcBFikGxfgQJxvegrSmnTYQENpkHxeqIcGhedYXdZjqsHeKROqeNdHCPyCNiCRdDiVaYUQJOQoVzAJcjoZwaPaOxbhYSGvnexDupNAFvzOQMgXmcnMHnVINbeWJlxocgtpVBjgcJcURplohzQCiMoampFNtlRDcwtIPCTNmjnBniNforOMLJkHcjmqnUIljydLaGSmaTMFNGOXVGBkhDJsCGhNUmImptEbZBEOxwArvXTXUwioxRnMGCQFIZXzrkAilWpLDovnIJLnmhhqBXLEwSceRHJbsQIJoFmIlpkYemdtprADvzbJgQtBlDvGIAvFhSTvuZPLhboMdSkDIpWkXdzRPBSfqwqMLgsjXdOgMPHtsfkioOLgF"},"c_array_float":[0.051055018, 59.466015, 84.52181, 24.578415, 42.65384, 44.965714, 7.760512, 100.198044, 4.5756493, 49.29093, 79.21268, 26.588394, 31.045189, 97.278366, 53.336273, 3.7071211, 64.691414, 80.09061, 30.821648, 100.87185, 94.995766, 86.38329, 14.043654, 14.337339, 48.707787],"c_array_char":["xhfofCcXZV", "geVkMBjwit", "wNOIOglrss", "zBXliayTlu", "nImATEOvch", "cpDIvbpOxh", "uhuJznpBtH", "eQsVGjSXCa", "PxOsmkrJvA", "QTFzDEcUCM", "PTwxjoWyun", "QOJwTMwHol", "BoDzcPXJaR", "NwZkymqJsf", "VdnuYlXWBN", "rWdBvtZXpt", "zVVakIfGiy", "XTInDMYaQU", "vpYuOADNgY", "BdKIIlxzAp", "mxbtRNyvhK", "zZDEjGjFuH", "wkqoQdshjQ", "rSwoPzGnwF", "KqkPKsYYJQ"],"c_map_char":{"c_map_char_1":"JoojPbSkcz", "c_map_char_2":"sFRAmUgPgj", "c_map_char_3":"DlURKOqozB", "c_map_char_4":"QHeUDoISax", "c_map_char_5":"nqfavgftoT", "c_map_char_6":"VYLjswMsBL", "c_map_char_7":"zyFqZUfYLt", "c_map_char_8":"TtnJbCQdPB", "c_map_char_9":"RTYLpDeMAH", "c_map_char_10":"NKfmyPGQYh"},"c_tinyint":54,"c_largeint":7436431645986037758,"c_datetime":"2014-08-25 10:00:22","c_array_tinyint":[92, -11, 85, 105, 124, 58, -58, 40, -76, 77, -10, 104, -36, 50, 116, 66, 4, -27, 82, 104, -51, -88, 58, -47, 124],"c_array_largeint":[8474845886756373638, 8511378953018822408, 776869606600878931, -8380860439067137871, 6069538856954119554, -4621547481696192571, 2674167772920494568, 2851979444932645472, 7688188100259403233, 1278329647632755244, -2006926218582629613, -6836302488285268120, 4070800842154578106, -6629433828133242428, 1405946039955546374, 2359191441418812428, 631271018811504425, 5897000570516454684, -5788547003535884050, -8414621180762688852, 9125375151773138307, 2721640003243300577, -5388564277702731826, 3742491754917918807, -6896097260759829901],"c_ipv4":"206.214.84.67","c_array_decimal":[66.1499, 3.1734, 82.1276, 62.1677, 16.0738, 59.0814, 86.1568, 2.0407, 50.0325, 12.1153, 70.0298, 85.1321, 92.0504, 61.1918, 34.0307, 12.1624, 36.1338, 36.0447, 81.0614, 99.0121, 42.1444, 10.1311, 49.0297, 31.1617, 16.0029],"c_array_ipv4":["uhbAexkCtc", "laZsgtISMv", "hJzPJdfCsq", "NcWQRFProk", "waJXElkaqR", "rPUScNkrjd", "ZSpbirDemT", "NFNOfIicFr", "jlhJMvUIjL", "PynSAvfxPG", "hlPDPexYgl", "RcBaaOvSxD", "nvZHvRsSDh", "fNMohuLmkM", "aaczhPLVYj", "ebzxewbwsO", "UocWyRtsaB", "baczsEvJwc", "jpfrrWuXae", "WrRmqaoDSw", "PVhRlBdnJo", "YEkkHnNhiL", "YoUrpHVdVN", "tGhhXNSQtp", "xzPfAmvMnc"],"c_map_tinyint":{"c_map_tinyint_1":-96, "c_map_tinyint_2":-102, "c_map_tinyint_3":79, "c_map_tinyint_4":113, "c_map_tinyint_5":-48, "c_map_tinyint_6":-48, "c_map_tinyint_7":-18, "c_map_tinyint_8":58, "c_map_tinyint_9":-10, "c_map_tinyint_10":-83},"c_map_datetime":{"c_map_datetime_1":"2005-11-18 22:05:58", "c_map_datetime_2":"2013-06-07 15:06:24", "c_map_datetime_3":"2019-02-17 10:55:30", "c_map_datetime_4":"2010-11-22 19:06:52", "c_map_datetime_5":"2017-07-21 03:24:15", "c_map_datetime_6":"2014-05-23 10:03:07", "c_map_datetime_7":"2007-02-26 05:08:23", "c_map_datetime_8":"2006-08-27 00:17:11", "c_map_datetime_9":"2010-08-16 03:20:07", "c_map_datetime_10":"2002-11-11 05:47:19"},"c_varchar":"hey","c_array_smallint":[-3074, -2235, -31553, 25199, -8702, 27834, -18438, -15675, -24455, -24207, -17210, -1238, -27906, -9301, 12148, -2962, -31729, -12735, 23291, -30907, 29899, 18790, -24994, -7247, 621],"c_map_double":{"c_map_double_1":98.00397807207581, "c_map_double_2":40.554476154421, "c_map_double_3":27.239062702871518, "c_map_double_4":23.62427371453175, "c_map_double_5":37.59701430513499, "c_map_double_6":33.182014130653776, "c_map_double_7":90.91701056038671, "c_map_double_8":65.60364780677983, "c_map_double_9":91.90937314872474, "c_map_double_10":77.85355578975225},"c_map_varchar":{"c_map_varchar_1":"YtenVInKIsLzzNunxDETnHQQgwnUOqXHgBVzmemqPQHdwWOxCGfBZhRhoiQvwBPIfDPgXTJevfwKrBanviHcRbqHSEtntffLSibpGycDdyALTRMRxcuIkJKRlTRcctpMUntrMlCbXyKEOnWyxfgAxstIDYFQzieCDVLnuWhkLKDviZujKwsEaCWfrtlSFGgvJZuVhateHqwUzeNXJBAZzfJNyDQuRvNtbJYfhoHuQWBNDeslWlvFhQProYpIpUsv", "c_map_varchar_2":"mYwkPetYjnVqVoeIuKDhsTeuQsbyZEZLtynIyLlLLVcJxLHBhAejGnoXHacTfWIEogWtSOeZTMWywjsCJvYpkHvBJwHqGkxTtaSbQpqeuHqEcEJINwpaJUGefnxpuHgoNnWNxhwWTXcvHexjzlScqsCTGTzVzpMlzbHxOkZZwfCmYSKVEirIUybxDNlSylRmxXYFRcZsQIfQfanplQpgmiTwtcchPWKvzesKNqgUUfqjcwbHiDKqHlPpWIErZxPj", "c_map_varchar_3":"MoJqbAOwGCiBEbSSgrIdPVleQtcoSBydVFmFpfufIaEqonaPOdJfixcZHYZaHhKFoJgJzlQjfZLVDfMCyvLslqMYvrKWzGEgJpFyfHbNieKOEsLwarfFjwpCZjcXTmVmKbACpnUgsWQtWePmrMGhXoZEgLZHFYaHXjQFhCSvQYCQQajPiizYHiTtbUoSTUTzKBDsgwJhFnaVEbUwGdNXBEHZUJsozcmZWjvEQPPKnhHRMNSonwISEYYlyfdWlNkZ", "c_map_varchar_4":"avBsbNptyDHqGunxKbUhHRJtgRoFnSPITgNXNSwWsnnBUBUijdykDkwamMNMOwQXGPHQGKipeYzxNaENLigkJmzOkWdxlLdSrdsQUcjKwXpVImoQBzIXuSFuqqeyAJUPdJflQwqhdWeaqCwffvaCMqrClaurbueNiYpAABvyFdQpwsiQipJSmJBUiHLdfhGDzRNjnvxAdCGSqkWaYfPxmtvygzlvBLfsyHZKMDCoFyLtmzlLJNvpwjAuIQXVUbeU", "c_map_varchar_5":"VzLjtKlCDypnpQxfxqXXCLXssiHwTCuLQYxYlhEVdXfeNfueMFoDwslKDAOMmqJvZRbSMKqJhGDBjjAIgxijJyBjCBcPYnxxUHyTbIZQMrvnTIcCppclkzkDibjvjZGIzCpZIrGoyksBYbyncygZbRztIsHZeplERskveopDUJJCAEljohEnDbPjewlmGyndboixudrDqlawtiWglUKKQLcfFhRjKwwswuPUxeJEVwuWbFRzByeUZpYtfZJsRyvH", "c_map_varchar_6":"qtFUiDHZusKiLmPTGdScKnPriWhzukqfxMWjMLzokJLFEuNTFtshdUAYseoveZyUwkHcgORutDWbSQcceJbCupgUozTZPhQOVZXnGUdsbudlAKJvkiwelqpRsfipuASpPuxsNeEjJPZMvWfXuRCUvXAFsyuPBXnGwfqhDMdAXCJIdzApSpMLTyzawvdhupMteNyDKoGSAaPKeQsVgUYZvnPnckUlkfjOYEgybYynEfZNkotNZYbRUUHifXoRcnNG", "c_map_varchar_7":"fFBzMhPFStgeBFSZkaUMNbeNSrwUzOerHJHyhhyhvSMToiWsSREbSIGcoaCvPVjzBnWsoNdZebqpNUYrolYBtDPXWhoNsGVOtQZpiQNFlGwgXpaeAsTvPScxXeCJykiIEhlkTHUqCxWgweqVuETzRKDuVwqaiMVXykanDkPvMSjutUZffZiOdheBpcocrcSpFJdJtJUeJygkRobyKoNDrnWUGAAYARMDObGPKNTjzLTHlCFLXHrREcwUOrDCkjgv", "c_map_varchar_8":"gjlZsagyaWhExrBGcsMHOgbGwIyVAKrsFcpttRNKDMNzLSONxekFvzmkZZmKxAKxHaQlesoPVzdpYJWeVYVHAAjMqSwMDkFITyXdKkDVsoKIWSYRhSwlmSEytNnOqgxvRErcLwryrojciIcsZDkIxdcjeIZDBUMMnEOxLpOnVLgXKOjCZVnrkmWNNHCMzkXzzmwEHRkkKwanUNZOVfFZLbClYpKMHBTZLsLstnsRJZItYMUKfNBViDPzIYOFNBEy", "c_map_varchar_9":"ZcHTNXETazcjTNROShgYXLFUdVtCBRGZYQtpNuwBsyzAPQOieXCAIPiaYxeNmpHDdAwifpurbnFVExzSsdDyCAQrzFnDAZYjTLBYfIxpfrBIIRBSeyPZOKAALslrpRwIqpbpqiZuwQyPBvmzPjmRcZcTMEJyCHYIKzpumiWaUEQpEObANtDbgXgAYWbFanTLsVDHptpZydCTRdQUWpgtHmRkUIlfZlKVcbssATskjcnldqAjyTkiHiFoLqMtIjMW", "c_map_varchar_10":"LaVMUwnDmmApgijWZNZHVyDBOvdPutazWgieEWciAxgLTFEKFBliXorZJOakBYWncFYInTSsCoasrurnsfWmtHDmGBjyZGotMpAnJnsbXjTHVGQCBgYAidvImseFjytvBCgJuWdIYZykfynkhxJNbeRSNXHoEgGEmWRFzqVXRZEwpMJNsYLFtUlHfcSDSNJPGiaMORjZhzxrmKjJAuTOZEmlRvexxCrPHiiQvMltsrOTrmplaLcVrIxGiGljQXnP"},"c_float":100.39693,"c_array_datetime":["2002-05-08 04:11:25", "2002-04-24 15:27:02", "2003-03-07 10:11:35", "2010-06-15 17:33:12", "2012-09-08 10:53:29", "2018-02-21 06:48:29", "2018-02-16 07:04:09", "2002-04-01 13:03:19", "2014-07-24 21:42:34", "2002-04-22 00:47:13", "2018-02-06 06:16:46", "2011-05-11 13:35:30", "2018-09-07 07:36:03", "2001-06-15 04:07:43", "2019-02-20 22:06:29", "2003-12-01 04:22:40", "2006-08-12 18:11:20", "2007-07-04 08:21:25", "2015-04-21 05:14:29", "2012-12-16 01:39:15", "2003-11-17 05:57:37", "2006-06-04 20:45:39", "2006-09-14 16:58:30", "2015-09-09 06:32:16", "2002-01-02 19:48:58"],"c_map_smallint":{"c_map_smallint_1":-30939, "c_map_smallint_2":20159, "c_map_smallint_3":-6238, "c_map_smallint_4":-20080, "c_map_smallint_5":-22251, "c_map_smallint_6":-26641, "c_map_smallint_7":-7390, "c_map_smallint_8":-20438, "c_map_smallint_9":-11465, "c_map_smallint_10":28752},"c_map_decimal":{"c_map_decimal_1":62.1610, "c_map_decimal_2":32.1286, "c_map_decimal_3":28.0645, "c_map_decimal_4":29.0738, "c_map_decimal_5":5.0813, "c_map_decimal_6":89.1539, "c_map_decimal_7":35.1284, "c_map_decimal_8":7.0167, "c_map_decimal_9":88.1437, "c_map_decimal_10":77.1867},"c_map_ipv6":{"c_map_ipv6_1":"c5e4:4be6:e9e6:23c8:4c7c:ce26:845f:9dfe", "c_map_ipv6_2":"320e:2d5d:b9da:a865:454f:daeb:aa1a:722", "c_map_ipv6_3":"1c1f:a3aa:ac9c:4df3:629:42ff:ad84:968e", "c_map_ipv6_4":"905:eefc:8761:bbe1:395f:f4ae:efe3:d07f", "c_map_ipv6_5":"d8a4:4d72:c54a:3e23:71ad:8134:93df:4a74", "c_map_ipv6_6":"3393:2b1b:b3e6:ec69:ff86:ce5f:abfd:26fa", "c_map_ipv6_7":"920a:6e3b:7484:956b:2713:a6b4:f9b3:b7e0", "c_map_ipv6_8":"5050:fc56:3f82:ee52:d598:7962:11a9:a3f3", "c_map_ipv6_9":"be7e:7d97:9a7a:1770:f295:c2b5:4269:8a18", "c_map_ipv6_10":"2c4:d31e:4dcc:51d8:aac5:dbc8:5050:c3a9"},"c_array_double":[33.65726753488067, 7.369296848581825, 87.87040218179042, 34.043819754185, 62.57407333752271, 73.91708860557944, 71.10599915103954, 68.99832947832397, 52.04843626768294, 19.532223897818998, 78.22277470753308, 20.2483763443972, 84.26724496882842, 95.9989015246627, 64.13300611356495, 54.57419450536938, 98.10552976909973, 77.18716938879425, 93.874145226538, 96.21263054443021, 38.763358591013514, 42.00064309024997, 70.30484565957072, 43.91407309046423, 19.27749453077107],"c_array_string":["wMFEfQbOPfpDbAUBRGYmASlLooQKMSqFKABNgOmAVMgbRwPPxDHXwtpMDHpaixatzhepkwZeLZPGwNBTMUoRhCaPibIECbIwLsrkOUyhCGqJWTxiKuInajQYFDuhRIbPykfRyFXPSgTtbtxsOqiIPkUOqcssMoHIjgARtMzMPvIbxgxkpDKEGlIuwGqVwtyDRvGcqFSwlqiFrXDDUiXtPhOURDZSZhTdtqtSuwSoYJHRoIliInKNGzrosIufrbAhAomoTZasGUKkyvGDxOHCqyXiYWGXRnaXpRykkWUAcQwAauKEAQvNubzRMilUOWdwYitpURkXwzFEWfGwPyFfxaUUxNHeyUbEWzKgLQimWLfnxIyFsBulzklGsiVIhvoDhZWNsLwQzsjLhgrwcSPAIpCQdKhcMHpCKAGJhOhqYJLJTxFdTcmRzAaLUayYGTLRcCOflAZCSLEKEFDzLOmCnjejhmCGjVlfuJSynMNpLGlhMkDfZhhSljFFVYObQKIY", "YRZkWwTdyFFwTTuvLkNxzCzApeWAdnhCzIZlrTUIctiTFrhfGmKrkBQUjxzsqnOeQicSYnPyJCCvhaNHZwslJVXbAGQQtUsSPhkWRSqhCzIrRugdMehzrEECTGKvFRVkExXUSEhKmGuvsQdOnpbNhneQaVxObEvASCHdDCWBwqXVjFkOmcgUBRqGDCaGulXhXOtqNGtrXRfGHJGIgVTzkqwhzQscIocsvYOBmLGobepnjxehJdKQyZWWbbJTfPffPJjgxLwdHQBQdSXJnehEyNTlNIlSnwVSivlNHWnTBsoChMLQXTAJrcbttbdlLlSiRnNynTZMhvckkoGVgQOlwPKAeTBlGPDKGzUbbFKwVVodBNDUYDslJdtVYcxDjsDkmqQFnmfinseLNxXjMjxXdogjqBpUBgCSDXOfAnBOYaijHPtTajCkaBZdMhlNWgVAoMpadNZVNDRixnLfPgiPZEguqPSTSapoutzsXMelnTDqmjgfCJnhvuHQdaOxpmIq", "cMWKhrmIdBKIbHjowRRLAkQQnteSlNzrrEwEVPfYIMlFURDWlpEMOAZKNzXsPddtzGbUSGBXjyjYYgxMLuFqZHTcZnqZOydBNfpDsYFtDZeqpeEuXcQCagjQTlqJIVXcNTtctDRoIMeBskcXlZuNMtvafXDMKWaeIECvJNOgLwqtYKXmCPxBeYijzrChUuYtfsLwFJSPfLkPMNkwvoWDfRxoMNHvCflWFmGuimcDipWsaqWxbvDjMkYZoAQhzTcMfGkJDAOEcWscoSCtTaitzSsEeWOgrXdDGvxqqHeKHehYUMLidGhDwVqLCFQQOJzlZYOwbNThXqaJuBpGCbTwYPApOWjBQXWUTNuDFbgBPLXZWRQbpCchgKsVKvVksQAedruUfOmgTtpCMNNLFPKBGrNscmgfxIHhCzVzmoRnxuiGGxJBSGjIZztFmMydOCbfZlBNevuWPsnmQKNKBlbRjASFEkCWKAPoOgZucGYJaQKwVSvBkEXoriAhRzyVMLeK", "foNFMzDZBNBRDVqrwWAjpdJnabbErReTjtsDcAdewFrdJwRMQhxJEohlDrsmQviCYvhNrhOnpXiWvZIxtlADrlpSzTvlrYidKxyCywljSwGujfaWbsMqWKXFDYNUqDfnyMFKhDESDmYPTlZOijyEjMModeGmjkuEBYWRnJGJVIQTMhKQZCaxCRIesWlEumnlmtHxDDCSJGUFUSLgKTcrUUIHoXrSEdtEpKcRuNKOvioNpMuUWYmrsHaCRgqxBkhruSGOGmXZEaGEeRrJcgPZklIkbFUCuLzJHlDgVIwWlySeVvUSeRRoPoEJcarRWPywVVdwxZRaVeJzieXIcpIXDBoJwifGXruMePJbKUlRVeHLMNyIzOKmpyIKHgkzqjopekvejiBQYrPOPwbvSMCcjjlwBOakvIgPXbUcBvqGtAKvEvNaBWymqyUnakPflDgvCpHDQRGUsJwmlXkVfmPkzWKRDisXwFfXSsMbusQBGlOruAmykddDsuwlYZRVELKw", "PhRanvMKySEmeMeDCIiregeoipSsWnXDmnoiDoLIscCXIauKEZlyQlTwUMPugYYLkBpipxFKCFVArAFeMTbQhxbTAAOiLARhaqyJEOCoGkoiwyOrpHhchIcfBwmUgyCImeAEgStHquuhYBNYDiakrPiotkDlMCIRTUPULeCjimRjPGqyNqKNLKChhntwSirDBlijxzZOJiUiTWmlsMpRdhLwYHduIovhFeYBRtYlWXDbqWHRvHKgRqUpDJwKIuJfkaMBkVRXwnhxAdzazrMKaZZEXtMljsIGbwEfiCNrImnsKNBybfkIRkfWLRTvjfzptidaeEVnnkygMvpKIRRultIrSRIIwBVdCyFNTpyQmQbNKDvNnZlPSOGAZRarwtGmUvBNRIpepKtqAzrezFzLTSEUdWHfAUiPbbIJcPAZUCKFQgakrBWcGPKufHqXeWEsVrrKgjimuYMdaJfREThADwDMQfHOnhadkHXufeMiYHpWLRjgnwAJREGYbrUOmmWR", "bunGhrJWCOuVpvzuUYgVqUXwmKALDiUXWuhyBKoINnPvoJtwJCgEXQbERHouBSrmQCqewKNKjdgZgyUPSHUQiJKuGbOfkDdWiACqXwHhHfRpDnRlrwEjsCpuXUWMnHULYBxBPzqsiapwkhOluujvJxHASwUeHOnDusUkzZUHDJDNDiwUdcGpoUThLucXiWErXZtfOicoYUCURrDwfliNCsWYrwiwGJBnHbgLmqPUQoFkgmSbdSOoUqPxXioReqkuZQqhKhlsRwolNlqqKDMeDYSBsKPNTNpCembzUSdjZUZxxjkpsTYGCtdKRZtRpzxxllVpBxUYSvLGbWeVzXeXuSmAmJZoMYwwbtrgFjqDPvbizltkLtDCrDuVnRuBubgdgmXCPaxVkMarXqaWssHuxwniJHmPxUuitQUyujFgOhIqBMCpuzRzjIjfEMgoBkNvWTACQIDCjIqCaasHfQuDJVRvaOpHUzWEvVZdPKvTgjUuaFYTXIXITUILItcNIuhF", "sBoGKhpZIFeRBiXEStLXtWCGFxGFYradOMXfriKVctYLszjTCWJKpWUauJGJndKgpHKIktdVTgpKxTsKSQNVHaebJJwNcWddEiuSnQBkSoIdPvKxZhViTQeqiyqjwSYzfVAnbAMupIXNrcldSQEPHygiCVNMxVItOBBWbBETdTIATYFSRrkMvuOktpgTPkhxnMlEshsVgzkjSjVMEJYJONcBTRCEhZlMRTdzMjChvtYjSNiTsiCKcYEthhATjgKNZKoOMBXZRRSEcfOpAiToGuXQTEILSBvmKrlUvZkXoxBjBQPVaPKKCVdzDTAMDxIjKErBmyAMBoQNihTDWJtQhUnDqdrwXYlsqnwWhzkYcnOvwASiDTyynNRRHBmOedWEgfFlQgThaookiNOYExinUkIRshkkGGqbSWUQnxRFuQidLgxWtJhersEIPVDwxYFJGQBJTiYsiTMoKKhsumMGQbOPFmJJMEsplbbifbGkNQOOwgILUfHAOYKTYLTAdzry", "wmPwsOhuWqYlCBqJkCWVdDfwiNxlSDknmkgFaUysvbbVNKUfUKhUmZJoCMvMKIUtpBUYFbWEzpNgAaSOlZsUUIyXxSFcHgyzZAXJHHJicFFADuYAbzgQrRCCtVlnneoVkeuBuUwvMuHBBBqYlUyBlDmXxnfpyazoOKXdlRJoUOCUkBJhpKgGuTwIFWUSrrLdjtskyhJFlIZtgrlNdJOCiRTDlmkOeqZJjyTxoHhwBJRTKIArkGgbYOebOmcqAtlBjMZUEXxVhBVjigJjzqmBjYvYZjRLlJWVPGfWLThQdxOlZKpAzsuLmwJiUzxryOotvNHVsgmBqHTJJWjIiASOefQZRpQBEdhoAupygTUrPDtBxNbDGFkcUmFDbwQUSKWPFzTMXiojMJUalJwzYIcNvisMlccVeaxnLtjRNxapNRZzSCSEhmkvXhLUtVsdEbaxXFivVpDphseAEcAlDyLGLiacMHXlsGbjULejUvfODfZNnPcseNDZWbpleCoedqxN", "tEueYcQOYaoJjDCpVvfRDDyDeMLdbHzzMcgrLpOUXGsUMpBMrZuvVQANFsiKqzkuUiLfcURVoABFXgHeulVZUifGzOigJSsoHBRVkxmmpqQJbyOsyojzzrggCJRiXbkyRrjZPqqtcFmTTWlZKKWNwaWizUmMgeLKAQhbFcRvmnVzItglyPYSeohgoRQICCmiadOmsVXbOMDGNGoWCttURCnUHhTVcBiydFCvqqlOedhAdXZDpyuKUznKAwKvmFOyzFTryTjtwgYQaFjEBeQxZBUOVDnqbwyzaAsgFKLBQDEnWeoFWjLYRgcExQKJuvKETCpnEZwkZrYmixaEzMnBpfVujoeIrDyCBgqVzDeNWqKbMpHTsDEsyAXYrZDTlRkTMIqkLKCEMXjfEjdxGnoHovPaJlgynlRaGbIvErTWKWvTskRQkupJIGWTghfQDNkMSKjYdbuAPEYEsHpYatSuCOojXuaHrNItGoNPUOyMHulRQAMqqpbebpGDbVTcvtfa", "UyUrqczrrklnYUwgnOHAjmKiiEdRYfpDcBIWavYdoUhEYkqdyebOcxqSptpseJmXHiLPyHNIVlzVhkWjAMGXNSbcNujdVFqxtbhaEtvDSGWoFWVudOiyQRPSuSrTaQVZwzdhaSLPsbfERywUXObUVkJYLYRgInsYCdBhuMDvKAjZCVmnFAkgcxdLbUMzLRRIYdlvfWVzpTDfQIAYeVPfauXASVuTFTccIrTYmLPaGnetHpdZOPssPmfSevJaMMJgjGVPSHSRBNPKepAZxsPpQvEtmLRjogYETqdGTvwbqikYmakyaNQyRMSnXwqhmdJEolKDXrmzFpBpHrxXUYowmPEBMauMBEqAvTgxlCtsGSsQvgmQplvDAjSvVsbsFdUGYIVRPFUbHAbxFULLliGuBRSGazdjsOestcNTHvQjuNZwFxquiJaaHCVHfKmitCSkvnJnymKdMZZLKdBDEKotylBOWbiNgxAFshEGXdwlrvzdvFCoCdRusAdxNXmgQfan", "azwYECiLpapKuLHBRVUKnGICpifqsuHtVvBsKqmepxOMfYVOmnhsMiwSfJCdmfxuSekmEVEXaOQAByjySXQjPOqCAkMSzXHxbFxlkaNDrgwdIGRBSulJNlucmKtWalsDRkqOQExXMUMjaHEZgsrmbqHETKNJYLOzEqvuUerPnyOpWcnmyJBEYAXwNSwuiqkYRTMgeaaLOqyCCPUdEeWqgLtWJlCOHSyDobnIbKbenaJQlICVRnfWxivbQxWHPwHLkEhtPppVRLMgrDwqPXScfPpXTJLHYtENhIOTaeBOVrXOzqHBrHtbOBJwrDblZrtpUypNnYdvBvSxObZIfdGjoGllEkdpnghFqULNRlSSEDXSXPgOEBDeyeEGhxjashCQZiIuqduWHcGqmmgRuqJiXoXxaMnuRNeZMOLQHtSEkakeDXtEaQFbRBGNtOqhRpHCrgyhCIJNzJACHlSEDKtYnzFenXIgPChKgslpkUTGhBAhRGUsexcsOzffDKGupSxU", "HfXBeOtlCyPxNWfQDXNngImaXUsCOxaIoFqimenltOvhbcEQEnCeBldRjquIRPoRIJfzvIdgCBptyIjWPEIGcuvDuYcVvuDTaMOUOFOVxAHebeIdLfssoRFWTuHyrtZqAoHQcFvmciopzFSdsJfrjsiVbSppVJbsAxwEDrvkEsIAUNVtWVaUIFnuOPrtuaqOOSrtpKHMBYEqDRZHlmMNxGBQmInFAzCZKcLlTDNifumzSITFFyndefBPlhBXxEAzYyfHyfWnpAxTuAPBewYdjLjPmdPJWcrxfOXGmZvJSxvbwoTQuGCrNSmQPTgTCtuKrwaFVUwtYxrXSiMWolXKCgLMbqqKSfzKkbrlJoNhjXrUBqkdxWnAjhtPZEvfdSLgjnRpRVSVkeeAPEsTCwwdSjTkLZcjDODPHFuFjJuqluQBYVpEDmYwQskVmrjOctMVpftQLhWFIYMqXunEdFkWaARUcQFRVwOhJPWfQfgOezZpvpZGgrSDHzdlSWMNCgqn", "KQiUSrnQUFRQpCoNrEGMLlmziPhLyAZwlatDxtaoNZXxQZCOFpJOUvLGFEcleiGYjxCBiFjEHVlcyeiuTomGamqYviPDqPoLDfjzcqEwdXWCrAyUSWQtbadhDsKrOauxPFWLqLnyzwIXbFLIGCllcCUjTWzoSTupdiffBxIoFEUgANPliJwSYpoMoygedOxiKzKLjfxkQucHoGmYLXCdCHoiHCfnaphYwTrtjUECPjLodWCdqyoEYJvydWjnGRjeuJBTQZmKUwHiQBqSfuFxnquJwpXqifSxqvqwoxVAQfKmBBklNgHjDfrYVxOKfdVfSGFsjUTHEpzLMXwExAjSVHyYSFQBnFXLtLlXIkDTmqlHJeqjVFDZDJqFhgrNlhhDnKFxOPHACzlgLdFTZHvkEPWOegOsmqQIfKQLWNfxMxKkmonrPDIZosCWNYFwjJQUJXRHIgOXnVVSYaugHlcynCQygpJfIFwlDrHgphmKSLJyEaoAMQzgPbSNLuEXVZiy", "wpTljQHFEsJuZSvYVFRXiIhnioTJvxtEpnUtUaTQNkecKYsZbQFmDYcMOgCxOpSeKvRHMvOEeoDnqQyzrOaqxfsAZlrxIdwVyREEwUJUbRRzGFiRHKwrlBTUZqyXSXnVHUimEKVmURTYDWudGgixfWLHzWvQhEYriBHKHBGngEMKjaqZiYiiKnuAJnKctHLRfFpmdYFTtXUzwqvthWgApCUEUbpsDRshAWhhFtcdOLFgtWTRjzUNgkcrimbJNnZKFoFAWPEBqnoLpAzqXEfdrWnZEwxcckvWwaYlOLiurdCgBRknLxUsFAYuoPdspPAmpsSDRhCpOCgZUuSStTfEXKZitByOGmVMOVpJSovhhGRNSKrHZGzkBkZuHvFOqYFfnPLQhxDIJByIIBcSUHbZkNNnsambvdNiAvJUOHXeRyyYOZMiZRDKeMrGyIjQEfEjmYzaDEENNFjBTFPlgIhAOmeTfKMlYxHHIerKHhyxCdCgnXcgSkmcIzEvyLtNVgms", "YbpYNwvRNuldTSmtLRsfrDcnPYmDJRJXRRYsfdNgILqgXwlsBRNRYzHpqJkPPFiIDbIaOJWYyKhpSRkKyXXrKmWjgXvEMMLkCDNjCEHLtjyUTLIOABqSwOpTAtAMGCTHtofEuIemElHDqJusqZtVPseCQmPYNZHcCvzWdAkUTKFPhmEbtnxxOxDGyAjLsQioHhFavfnbedVaFGmELwilfMGTSINbCrBeQkukHLojbFvrPpsxsljnObvfJLumckFRnnMMYZkrgyZpEHmhTLECHczIMmbTxQTpTbDrTmBWGLplBYcLgKEwVJYrHQoMwyuPVGRDjPuuDutKGxAxIFxRffTZwlmgmBdNyvXbqMavKzZkmybtmiPoQPXXNeMXKiAuJNFChplXnYOUUOmjHeZWPIUondLKgzxdknucFwksqRrjDmWBQWIOrPYFwQdUYszOcDXUaouqvQDzKiAEzPXZuyXWNCYtIHOtTrMghZFJXSfrpbkRxZtzQGXJVNZxCXVn", "UtwMyHpQHGfoNixGYJprODKpZEXrHvvdzZCemoOlwkzgNSHYSGBsyZqTWtHTFaDENGXPGYKDFKxxgxKjUQeSUYZmLaQxCsHJpZkZEeOeqeajpRSsYItpWigOSHBjbVRJOHrhQMTISfLHdnDhwKFfPfkGpUOvWQRolGWStWYExERGPvEQrfsFlXLgteXwnyxeudDbmxyNHakIiDGjlqeGZlZHfDuCqPIcQqFXSfRWVlgJuKEyKeltbpXKEbVnppxMoDKTBNKpRQpIVSiAyVgbcrSgZkWJaOznKabufnlWyKwtGYUvYQJqqVOjwbCdCkyVkETsgImZOQzqpfMDtvOZKyiRYRqmxQMeLPjttudfCUvrpBEIWljJmUGGupOCSuAhaRQCALltbYqXpLIpDvqbMTlmZdgkSdkEbULLcSEChDyEmXvvTogkoGYAIGfRjgZIkLENwmLuwGUGNtRVtIusLFoBcqTnmzWQstOwFMHFTYMUhtohQorvpmaYKLdzEcej", "LsEZlOYCcRroPnKeJSiyMnedBiRmhTdHZGGsOeOcwiYSeophInAioJjDQbEANqFAMHhwgDspBVcpGnarpdsHNKYerqjaiEOnqNCSgNfNzFxlVVUmyobUNSoNdmPkScvMWyflniYlSEZmOGQQwqeuaasGZwxLfAfyKdvQbStZICdqtgydDcGQokKQnhQBIuqUPuxGqgENvdZiToEISNKFWIIcXXcFmwpLQavsqBGaKCKEwrwNcYmdcdNpoVRSwTWovLxkxiVbxofNbTUdYipuOIQpCDRaLXgarTQQGQCwgTIGODdUrvRlmEurnNJBMgPpiFdcHlsPtCyiUdAPRpEGNpxiHZQBLAyocciHaudPUpwngJUTqBGVvyKeILcjEMebtbMVGWlqqemOUbmhbmEjccuquYfqQHRNXLoMofhxhQmwLjONFOXbLdASiPGfAWkFzRIbmYpfJxTZZPIOwragzAFNkaSlHaAhDIOEfaCtMskKsfzYuhaDgokqdIZxRPPi", "fWBhJGlfLWFOnXflSZKTNPirslywLPdXKBqCeuLtiLkwkVrOFIQUFmrEPqtmwZSEOvJRrIXoqtUNaDBVDsUavXQHsmrROcOBGLnMKvYaNsFkuhTBFxlosCvaAghRZwfukvZToPcDtRIaxNGktVWumgIHhSrcTyInHiGxLWwWrgzfwISJAvOWuDYmKFiZCMJsrDZOtXlTGeNxYFZQSJLQmjmbwaBZVKVYNianpOmtQDAYeOAERkGwGaYdjUYKkVOGeeAGWKopwpuypQixYudMcZBDjSseYQLgVRvpiXucBzIgQxMHtcSctsRHFAdEFcUzrhzvssnWDOrEjqNeafHAkuQMyqJbNFsQCspQTisYDXsNZxwcLQpAlNmyIEeUcrrBbfMUwtgyydlmerMOOPJhsCtMdMmpOYWfVvZjcbPyACWYlOQqBcHgpjpgZblWkUpHFnVIWBSivRNIPapiXqTsUVSBTkaXAJmdeeFXUdBEOUawjqstGScutakNucTJsvkJ", "bbmngkEKtDvjsrHHazyPrUhknKRjPiorvrXHmoBkTNEJwjomDLeNXIgjPyOjnNqStDledTNEzTEByoSlbFIRbZHDkqEJPQQVVUxskfOKVweTPlIRNklfsbmozSIUUjEdeaWueCRDiyQqeLKwAOSEWdByMRiWvypYHeMcuSpaliNwXrAlixFPAoGkSEinfJVAoosxFxIqwKdlfTVFIPbgnOaTeeGxvRNxPJXXWvyVJGJAyJprkkgsRiJiLzjZgYwkWRIzxwKjrbQAJULolRULlmuyzxNXGAKizFlypYqUoZfCKyjfAcqHjKctVgaaRyERNNBnhGghXPAumTCxewOGymReTtsuMpVBUzHrYziJaIfWLhHsFHtHLYrtgitSPJSMinVWFOckPsCylVRoyiHbBIqMiknkXCWBRqlMotsOKCsFVDHbJzggpTNEgbqAafsfBtFLFPDFPZWmmzNiYsDcznBEGcWeqGOkeUAavmdppYKgvQzKgoACpmmiphJSqsuX", "CGygqvdvCYXNuRGROGEMsRmTeccpnJbhbINZkJqZeBUwhqNOdoCgADfdANvowFPkmcGKzfJeldzVibbKWmsMmhElOFmDbjgjGCFkkNNvwAhIzXDgvgyDFyAKfaMEPwMqMLslLusXDwdHexietNhXohmCOZNTiFZCuAOBesLndXPdpaoxRDqocNUyrRsSjEhdlFptvDoxYQLwWpcLvFxLUEBQnjGPrtWrZeeLYuTBkOcHeQWbwsKWttilumjDnZAxKBMulcpJHxUZlRBnbdoPxoqLfbaEWgKoMGWTBvvkIbMyoUzfGOupPWJCIgXGrrdHDImgwYTImYjCewDnRgKHiYGDNOffNcxEPjFgVzvkdSZFXwlQLxnQgwdfIjkoIfFCHkwpaYUBfXrUJfixvmeHbiyWxLCbltXdJoIfSfzWdDluoHwSnOWWiUxpQbifsKDfOGQRJRqQsJvhZZWmmVOptKfkglyeUAlHfmAJHAmPxTyobmWAUVELRKVNLBqfPQNw", "cOhrUICnrjAnqqXEJJAsJGcEAsgVXlbEUUTOpHiXZsGlkCHZKnEXlgAwiiVVAnNdqnnlVDwPQXkgAXeGPgXncFqAHrxHdniVFAGZuOIddzouGxvkXOottDuotQYFvwwrzNZHfkQuQnMrLLFlwEmlFQfNxnzwTHujLSKcSdLrmHRtYuHFvQPajoxdmYcsnCQuxjJZoKJjgiUhNQQwwjURFnPgNtyXnqXywaHvhXnQXHweVXPNkaIDCiQcjscyEqlpFDQPpVrjlBcESlzpmCSFNlfmdgJMVDtXpEKgEVRBpADYtrOakYCdLVtpaXcoThDXTBrAEzaCGFCIBatprdRzaqMuEvmhPzpuSdwZulWXoaYiqaSblvZghMhEPRyxsNBSYFvwQmTGGHTGjOhtUlPUJFPIDGrnlHxZbzMRYQyfpATrBhPGXSwENbspaquYFJUYIJgCpXPSmVGGGBASCSNzJDYzgBaCbBuprCyfXvFMJygEhxMusBNDZZOrptVMWsHo", "ogpOrOapuzuUwEavjVBPuFwgHVJzcUlMsfcZHoNDpRzHCHBIxzFCmqyeTNkzwCbPytsIhKYinAFdVrfpjQDiTmzxoNyKtoLpIJARcshgortKmvpdLYaigEwFCfZZNfswTXpIkFccKIEQIyISYjiGZgkJjXaKOWKoCSdQftlqXnDqFurlOESOHwTtoPceEyonZhVvAGOnCWaqOLulrGHmRiHjMBpLLWZftEXYVRWbywBEiJbVcSLvhFtsNmbEffjYsKhQPyEdJkxVDPrikxflghUSZzJJKKAjAkoIiuQQxCVuGsIQWfbroWfqbFIvnmtfkiFAOKSjnbHVjKPyeDqKIQFqnOlHFZoHhpqeaQivsqQWLfGoecOWisSVSYhqKYrJHpoKBeRtdiKemulPvYFovfJaoixWhIibFwdJIuYhwDcydcGmBoIeFkIRnkkuzilpvZmvMgDeTtDLxejwnijgdsNPMEAtchPXbYwXYJTpAjJtVWpUuGDfxQvedmwmwIeL", "khcBpYBQTvqoXaUXDMxREhAQABQDOqwrkDtchRuFeaovKnjVFDniByKjYmBVhGYzzhsOOSjhGvOANpzMNAzBxagRDEGuhbdXTnapYDwjKUBudfPfvsffWCfmdlOvWzpEgSUkLCUoHEELBkCSASgyjGNsCGHbKfCwnGBOyugvqWhvtcaagRfciJkIhxaviQmwgpHmIwsjRanbvTXsPzBbZVKddGHirAJKWnYSmiRRTUUEyOynwJBFRRNhMPrIeEOidMFZFROCTSHHoAkGVjMHQIaSeoNnaRuUvbgQkGTdBVkpJIjsmiqqiYGHpchVqcHLxAahdieKLBkDVpMTsdOjJASHhbvltcAbCCLTgVegEpjaSrrQSBlxQYxbSnFlrGPPnOdsVqTPzpxYNgoCCZIcwHFVDwIZGnmFEaVlKCMBnXoslcDGZNgwqdgMJfdfsQLLvDjVOGbINxFeuFRxKbczrtYpCfTpuQvodYDkMcOTlDSvjZVKdkVhzDaUhZMNcYdf", "RWJthBICyryFtEYwrFVafWdLYMubJFEpefipohImGkjtygBrzsCkERkBMJtscXIQeGphtatIxjqhgUcNepRjFaSnqhGiFhzSrAAGmnIMWiOpGqroJFXMZeLIbicxXcJBeHKIaZzUOkYkmcverVEypQjMniYTrisVnPPupxbdyJQVIwSjUdrZRpqJNLqfctTexfsyWUxgvNEepBTtnvsJNcSZmSRniNvzasEKIrYgINJhvprhmapXxosXBwuJqmEdDHZmUEAfOFWvSnDHeOxeoPDQVAAnztPDmKSCIrBQEqxTqFCDDzKVnXwPHSGkrxaVoQfypSYWzZoezflsMojJQIiBeCSjeTdAluqQSnaNhGdHXtKQCyZKcShRsxIddKCnPyfEvxNRsCFYKykNwmqfxDQgbZqvykQChSFzKEcyrctuDztuqbjsBApaobsjZMQnPcGyAUzutiWixBsrXBhgYFMRDAybUqeTYscoeEsYRyEnSEMGArxTKIYHEFuejvhg", "bwJOkQzJvAjOFnlewtlYCIweNsPZaalOkrJrLbAQqRrchjDGNEEysBvNFbsYhaRybcNlNCseNkkysxbppyDClgJYHgScpRzsLVfKiXRAmQhMcSHFAmsWLVQiXkJwfjKIFBkMdwLRpfhoBrMabkIGtDelCdDOszgruyHssEXEALEavsadzFZgrmjPOeVqcHaaVqgVtFdsZVjXujMDbGMElNIOPokdFXfXdAZdoXiwRXENWfCdPVKGurIEufwBNKRAxQyyQwoIjtPKvqXIWCvInvKeaWSvKEGvakozMiNGXNdFxuSZCymTyBXLqOstfJyiOChQdbwUWSyPzXLjjqywZYlFoxijqADbEdxpoJhPCtNfSjaAkILVLXLhHKVrMnnHBVjgWRGfknjTQtBopnpAHQCDDWGzrlkALllUbyrUSTyXvfCLXFjWOKpAUdXAyyxbOXRFTIUrsomkxxhsEwohWxtvaApRxxTpDjhtUyEJidMVsrwzqycYNhFNopeKQVTE"],"c_array_ipv6":["CEllyOoEGP", "ZXfROTGzmg", "ZfoGDHQhJF", "UphLwpBByU", "wzkFcLtKWR", "taAOjDuyeP", "xiqJcWNwAU", "ClWQAbTqWl", "TigsqVDlHf", "mMUJwYuVwd", "XKjlbqoIQd", "ThCLAefSwm", "iREAfcYsaC", "lscoxTrPpm", "qhQYLYSDyR", "YfwzgoBKja", "jKlHVdOqeb", "KOjZwVygUh", "XueUSghfZO", "EyqlOtgvMf", "dmcDjswqOO", "zJwKGfXCiL", "kNptFeorsB", "YrdTqeLjjH", "qLURpRAaGK"],"c_int":-1633943997,"c_bigint":6315020872947027294,"c_char":"lFvIXBJBsO","c_array_boolean":[1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0],"c_array_bigint":[-5099884479400150158, 5447297201535462534, 6782593006971599351, 8030332866172884477, -7543115278876347779, -6913949589704252845, 5493005984173198179, 5064927231630131173, -1137264811980475112, 8602368866884150457, 1299070447500767761, 2057769458584199948, 5791600785880764836, 2587716238452648, -6019284818242206926, 4663854378677684182, 4878181632620236490, 7006973805937711152, 194522381418863171, 4834343335415745501, -2302196721132568595, -4958937296470834133, 5837307985941143504, 7063109914093078477, 3228370702449359748],"c_map_int":{"c_map_int_1":2074268862, "c_map_int_2":1807995812, "c_map_int_3":1120441284, "c_map_int_4":743771453, "c_map_int_5":1896001827, "c_map_int_6":99877251, "c_map_int_7":995244240, "c_map_int_8":-1356930123, "c_map_int_9":2102247514, "c_map_int_10":1574817083},"c_map_largeint":{"c_map_largeint_1":2201773809617664866, "c_map_largeint_2":872216844661421606, "c_map_largeint_3":716416569201020398, "c_map_largeint_4":2069937691273319394, "c_map_largeint_5":5747836480555946324, "c_map_largeint_6":-6660385305939010080, "c_map_largeint_7":-2579582696904938394, "c_map_largeint_8":3907469582228765971, "c_map_largeint_9":5040035523726414987, "c_map_largeint_10":-1656803125086980067},"c_json":{"connectivelisting":"finally","productmaterial":"stainless","hackerverb":"compile","int16":-14651,"adjectivepossessive":"their","nouncollectivepeople":"line","middlename":"Yoshiaki","errorruntime":{},"inputname":"title","errorgrpc":{},"animaltype":"mammals"} }','{ "c_array_varchar":["nRbaEsmBCEhGVrwDHBeawhoZrjEnNXhEeSFSdkiApengsjQJxmFmCpYKwlHZFXfXwHAkehotSHXiIPYZGGlxFuvvIgAlLExIaGESqmRsIIWFiBYMtlTueEzuanEFwFgNyyVuntOdcxgjhvdOChCRbUudmcAxScTgMlWWzQhYOPbGPnQJjfpdKTLxvEvuOQQmlDMBpRgwAKhvHCrmaugqCkcvQWUBOBFahcxmUWEoeaJfqyMtwqEkFDzEcgHGdnud", "IjAJMJBvLuLxbcHgbDDdHEskkoHphKNiyLCtgORLBfNdxfnMUFupGSgNQJMXkArLIFFdJoSDvifqDWiIduGmUJDIIaDbtwyvPsXhBQRwUkjTAQaXRUxmLhgNiNwLGzNMvxjdHfbbapRvGptQWqmCuhOFcEMLIPpIUvqzNjBUGEkwvCHxmOwWAuHwPXJRAhQxYldjXIyJuNMHdzbHuPySyBCzeAYmJTsARXaNqziZpKDitlMsSPEMRlpzPRqCnEKP", "IFrAePxHbeatbyQvNehLAUOQiuYYwZtsPvRppRTYODtPtMRMFyEALjcKeNEtbIZklhKupNFixmTyXQdKVLTuOUveFCpSwlKrgBtkhqDppYibrpZdwdHYJWrmgDNVGklSelypbVbwfjsgUBJlKocspcSfoejcPJbAuDnDVRmIAlsPzuZXQQLlDwWogmApMenwVmTDPJpUSnaMBlubWvAKeoBtZJLAByfJaMGyTvRatMSNsniJMTulQizSXADaPuXk", "USVEjkWhOvnSTNGdBxbiQuWPXebJiDrlhWkdQhDWktFCZYjlckriLqAilcupwELkhgTbVMcItkOHoZPeHfiaHPkFqoObNHbPppikRnPLvfYnMShAHcBamecGlcttWUNmsNbrbCqPIPPkxZeITORhcekIBabryenyJYjvolqvfIiwmYBiLxpBxcHdACsjNEwJTMWdiuLPPRAQhYeVKMrHxwrrOqotmRAxfAHKsSZXgMyrukTbbOdcDFvxRvLSZcLn", "VSVsLIaQAZFckMXmTHLhIXhIycTPHgQJQCFkwVuCuFiMvGrPhzkrFWredmTRZOTcRaArcOBvtPtgPCrLPFioCtsXgzHVVkHBxyAYdkEJjlkibDUhHYOaXZTeocYRsHhLDiEOITGuqrKqZZRsxchsytvHkcDdcazdpNJbbrhYKCFVbkBBNukLqapZNzNozJyRdlvupNHAzehlFjQoecemuqLLiAYgDLuynFBImdfDUwVrpbuVqsvZPfqglpEXpBLp", "oFnctcjImNeOCALZbooKkhxANuqEBYuyyetdzPgNXqiBybxBirhLBuZyVEddUbJKJDTTpawBMhYBmNDsvvmgaMlgzZszRQxiBeHrPDXXGCcLmMxQfENDCwmIkytKKuKgVRxobrlSZonuDlrGiMwZdiKTmHHFTapiIcGofVQNtOpKLjXHqptKVhsaSZODOByQXoyUCjQbjUWvmGXIACHhuJqnsnwyAwrlDHhLkiuDYTUUUZggGIhWumEKOPEckkhv", "hnDsBhWpuOodCiENeNypjOWdclzeknuGunexdHbMlPVGGzAnjLGKwyMpLOcvtoHOcKDIrJjspONJNzxbnnHhVvIvivjwAUZdJDhnNXTPPnClNcJtIscmifgwINvngvQhpWddhaIhfBIfrqTKqUvkSKnPTeoCaFHbOMskVAJlsgJkAvYxxxtqflLrGTaTyGkjIOobiMWPtcAgvZrPoTUxqDQiEazqvvXwfaUZrJbEctuAIpMMErDIKSRiYLkbrTDK", "gwhKeHAfOaegUTStHbqVTILEZrqxTRmdVIoHQrMAjvvfNxRJHNBRsLnjnmZPPcmmdtMSIPRoIhjhVsNBgeBARCQZPRGpDuPdwqkIcRtBvOFKbanoIbhUDTakLWEKaFkCtbQOksCgpTCXQosWfacMxjGzHJEjWfkEFNPTquqUZmVnhnKjeriedVjMWGJwdIQwHAPTfAYIHLEzseyKYabqZFsQuUkhLkXONNvTQFTjTeKBcrsgNMGpYaLGdObmpryv", "HgdEewkkdEkvCilfYdoNzhoumOGMDkdSmUrOQSIQTbdLhsqSPRvhvHyGyoFPjcxZGIpxXMKDrjGllVubwNLmtfOtshrTnAryJRmBcGNsMWAoZAbJKwGwkkyeLSvhUUebRBRLYKXMBqZWoxQlZJbmGKdruEjFfyohztKXYTxtBQztjZdBjhBNFTfxhkKRglzvsEtOKyhkCVCXZvOfsdsUPPLMFlxqbQRckVpUvgijYSPstMWqbbxnnfabSGRwnTmU", "LDqPxsZkeoqhqpIiimVOFBlcBTacsxPLCdQRSGzkItZHLIRaGPodmzgLRPRgAnsmrSKAJabfmErafMbcydtMhackhmLNVdyDEkmZENvmtuDxEffxWSzeBUCAOpSXoCmmKQxyJEMyPubMYXPCyJUuJbmZHtHLSLTtjAlFmSzVDNQgACYllVzGppxcTblugfkTvSmQowvRphAjCVfDgRBhUgmGbgBUYFOmFqDhOBaWPUwzAVKAZUOwhbFkbkJCEKBe", "vHhzhzjXgMscVdWpCUWmcjzdAknShqQzjosFKxseVyDqLrLLWSAdPTDHrgdxXZvdNVvPKbULUEdOQbvyUidvYTCDbnpJBxytQCOEUCCSKcfayREdyYzlVrFiSjcqBeSsvrugtkcpNuvgPvDyOxlEXMnwpDCpMomiWdMfioYJTCoUQdYRMEqmIQsdxamrqZntuPhTcfOTVGfkqypIoIyQixXTwYMSGuzGWjFoCZLFFurYiSdqyncaPquTAInqMPkB", "kkeqoiJFmargiuYAZplpSBqujREsJtrJtTwuckWOhEahyDtRVPTeRMMcOMSoqZodsKagJKljsWldowgnTETtGMwHHvQffwHjSWMkFSItCcXdxLgScwxpzYpawqOnECuBFobhhcMDfPSCdZnNzKfJQMLMxXjHvFboNvYIFtVzZBFicMtXWWnSglnNUBqLqKUHAhxNvGgxohycpobFitOOjRDyFwaKndRRYiWbzgaQOzQXJbymxoOiVWLuDRFAjLkL", "AEKXqYJWxKFsnlMpfdEEJARTwLeWTqUghOGUvkPfFhxVGCcSheBRbtoJxbumGzkioOWhNHGMeatXQWoyIJyPatAaXRjNWSkBBjMGiGILOuZALHiSnLfLOJWssibDFuaqWxrrvnIIGWQclyCePulpiNlvTfqfEvMSorFQXRwxiyqugPdeMwkcNeGHUtOOHundBnvOYTnkFGcIgHuCrtuwCamnHdqFTmysjdMAPmAJhOwlBHsIfXGLyxVeAnGOWRbA", "febFbbcAmLfYpxPuCWRscmPVljgTVwadZSlifdlfjJCAWRuzffccJQQJjOnbxVXyWRtxSgneaSeKUcBWpHmFnKxoGYvHicrsPWhsTZbYJBakDXPcuyCUFQXcOxnpvoCNedwYGhPImlFJYsboFjYtUPfRkcnkrtokVlYPBmQhVUQiQfPSuRLqZwDFowZSIyyAXRXZNTTJHiOgLNyxArtGigdqazhSQyLkyigsbyyZrIWBqVLUdpnqAbBdxdPLbCyJ", "aBYwNYdyzkbEwPFsrUEJSABFuCwETaCwwsVJTUnFmUVMMwSxOdBqonhPfcMCZxJwSfennIBCufqoKgjkGgVsBLmqdvYKvQGCYnKjEcDZizFcnwWceBGtPXiTKhXKozcnTrQlgINFVmgaCfgrDxoUdoppskdCHhvXJjCuHTNSFyfbZMxLOUTybsFvMxLAeItHIWduzjOcohBvmrKzoheJtBpJkGPjIXjcgHRMMUQWucJSEBwgpktMSgMMwkrmPRGR", "zucpjFZaUVUQMWTILQGURYgFiJxqYSaGfvmNqGEsncDHSUnMDrSqHcwJpHfJvnxoGUXXAICbHqpOLRkYsWBRTZZSeCzfNcuqtDdJvnfalPBGBuJjAJIjvGPXUwiMnrlGWNWvziNkEqYjAvpAVzGwyxmIhLsQmHfeDumTBSNwovEsRUONUtSRpEDbaAjpZLRhBEZqgmKLoZTfwtCeXdIYhaqwSmsvIThrxEMTCaAxklVaFqiWUjFcVtXNldpTdLrb", "GJmeDgpaCiqIdCTaHIdcvELVIUJaBJsmLlhGKheSjgBOHWYeHVDTLLSgavkINseuZHgzvMefFernTIYYPcTOTBYzYHmnyZtyWwtMOaJrNNFqHFUsExsNYxTgtplRbGPcZubHrLUJDXdaqTTFrWoQoxaciwHZQbkoTOrYKBJJQJvDXgYnBGbgfDXMxNQWzUjvVLMftetyLHQolCnzPgvZVKqkKgzinaAckjutAypvmWikDwhtvEPkKrGeBjwxAxHn", "wQpWglNbGJyAFgNpsuPwWSjNBcwtzIdLeTNPXkwIJggrwPOJIuVCUaFEopLSnpoSaebWkhYlWpeKZXbgeqCjqVlxnHKPAthVKsMJVBIusrJOQGsWMDzIgrruxKXIxZgPcQLufZbfHSiZPeccwvKaECVjGiMQqmVySRHSyLHDFZDXDUcVHdYkNPuMHlAcaTfGYHTrNLJZmzusSQiYfgkOPALYRMNzsVJqgVurlvPRvYmCHbGEkjVjGfBRUHLeqkhp", "JNpPcGowMNPaJJVPKlkaSrflpYfqPgMGXtQoAvoCZzzNMNmKKsqIoooVEkdNkxLnfZLSFWRRhuQExgXqcyXgFPFvxDJhpICCkeBhgXiDCMoshpNZlERwvaSYJXAFHMUVSYMudqOxzfHWDfupSRWCtpUNjSzFtOLbOtqGJfjuUSORKKLMQyhBvANJZouhQzMfWhUzOftEMqnaHkgGrVdiYMuaGSjDsFKxKAbqOycxgAHHPJFPWddmvdtmDRlJVlvJ", "RljwItJCdVcHXTOjoRqeFCZMAKnbOCxpVFvbwzMhxWDphFuBmlyuVGcnlPULShGtksIJsRynIwBTTEkmeCcOhvxnjwUeMjptdbLvNjLGWKELFkxQkjMNmOqzWXDrzVJJkpiesoCrRhUAQsytlNIWFYJSDFxRQovJTKkMCPoBovOmzyjiMiPCTCYcyJzyXyIPgiNopJRMmiqMkMRredWVOihsyZUYkAhgtObaBlVvByrpWVyQXCRRcnCMWrhPXPrK", "fdfBAZdhZNbBArMystrZdKVkEAgdBrvIcOxIRKJaaOwutURDbbADmCowklIkwLVrqmINZWeMkqTlwzNFkwqZOXTOWZeNleLDAaGOPocCKYSpCAxBlSYXYKXMhnVvEJVaclaeUPRKAVpAChYiYYVUtmwsujnabJmMjCgjmZblcWTxIjMiTnikoNsTNijoxHYLfgJWlPFBzUYkbtZzuPIzAKNWJfDWnBNvkzteJHrPIrHIBZHmtHNZMDCsPQKteUDA", "bediyDogTbVjgmnVBORDUAGBccanOhVFBqOPvMqcdeSuVHwDAHsoUoBvCWJltboSQISSjmryrOyoZUoJwdyMCowVMcqNuTVjWwjZSiOQUqGzSxgpppqTpUMUCusouDzrofzjAhTGtTPSlJlTPLFWHwmEZCegowgQCbJEtZpeihKEalwcjORJEhzTUGowMhVvpMCcRfvZcNZsdUHxYlpcdSdpAjkQqIhiJPNapNkDkuaOsrQpBoUyjxvbctxQORDD", "OwIDGxtYZvcRWSlTMzyopguANvcXlRBttboCGHPLKsyDzJIGmccuGEPvWhbsfOfVfurxJkFvapKsvSyVYtfEaIUGpHXBttiSFXtPuFMgvLfjiKNvglWpUKBqXqFnYmrMBHxeVezIUUTXdqZDbIsDdYpHaHrMhLsVsVppVvXdjlEBNlcUEygUMtxllfKSwGEJUiNpmujgkyhtuWFFhblhYnlldvDnhRQkfpNWxgyPSRzrNRmHdtklLdExvTpDoTQm", "XMbOokjmTxlXzUtISQmVawLkszUgtsKrfSSmfnzHBvTZWhGSuqRqSZzLEGDzibwqtDmPcBJJWuOzNqmvMqFkyQgAuWokeOMYtjPqXpIrfXaJTljBxqOVTvOsYfkbQlXIRpicOfvxvUGzgOQfRaDRbgOWWwFWzDVnfRwxPloQVeKsSzfYDDwCNUJEZWOfqZHmDQNIZHtRoupqCdEKYlsyUdpjxilmHKtJcUXvcCXzPScsRfIBOqGDgUrZqLdBaPZB", "GedBNviZHutjAHLyYRGHZwYLInMOARDUwReDXaToyQflQUuxzYWmdAPgkuLKLInUCjXiKzjLffgzOdFxemGBcCflKeQDBOhXkrnYcBXqXZCnveZxCiOGZkppZqehFdQRlLqHVrpEhVlLMwhoOTQmYOYmkXUojeLCCwGtTLWAoNQNJYfjLsahioEdoJzfjAiIxelEPFhuoekYLudRZHZicDDYdTfxaJotFzsMAtsoeJNbGPotJCdJlzGWcgjnYZOJ"],"c_map_smallint":{"c_map_smallint_1":-14924, "c_map_smallint_2":-25547, "c_map_smallint_3":-23311, "c_map_smallint_4":18464, "c_map_smallint_5":-181, "c_map_smallint_6":-20523, "c_map_smallint_7":8950, "c_map_smallint_8":-12903, "c_map_smallint_9":-21712, "c_map_smallint_10":-26901},"c_map_char":{"c_map_char_1":"tvTxpNlMSH", "c_map_char_2":"QxoCmIYykG", "c_map_char_3":"OdBkfLxAup", "c_map_char_4":"hjUjqDOPAy", "c_map_char_5":"gymgIBvYVl", "c_map_char_6":"mmdoBTEbTk", "c_map_char_7":"UjURtcLHcc", "c_map_char_8":"YNERfOdpmc", "c_map_char_9":"UcDrUNmjTn", "c_map_char_10":"RdoxLiGdQh"},"c_map_datetime":{"c_map_datetime_1":"2009-09-06 01:18:26", "c_map_datetime_2":"2007-06-05 09:15:13", "c_map_datetime_3":"2011-09-01 17:49:14", "c_map_datetime_4":"2004-08-16 14:13:47", "c_map_datetime_5":"2018-12-05 06:09:26", "c_map_datetime_6":"2009-08-05 09:05:36", "c_map_datetime_7":"2011-10-07 14:05:46", "c_map_datetime_8":"2017-03-04 05:09:35", "c_map_datetime_9":"2014-03-14 17:39:01", "c_map_datetime_10":"2012-09-20 10:57:14"},"c_map_ipv6":{"c_map_ipv6_1":"a877:ec4f:d288:2a5f:dd56:bb2a:6bc5:2e0e", "c_map_ipv6_2":"bb9:3ef8:de51:91d7:821c:bf20:f5c6:b09b", "c_map_ipv6_3":"2501:7de0:af3d:3e77:8495:f0d4:7be:b5a4", "c_map_ipv6_4":"d285:61a:810e:f392:476c:db17:294:e89f", "c_map_ipv6_5":"d462:b8f9:8c77:ef35:82de:30a6:ca57:8176", "c_map_ipv6_6":"e49f:6f98:312:eebe:2190:8c4d:d83:e2c7", "c_map_ipv6_7":"3bbb:17a4:c921:bc08:c050:bdf4:c7ea:e00f", "c_map_ipv6_8":"82cb:556c:5124:60f1:553:190d:28c6:67d6", "c_map_ipv6_9":"2ca4:9776:e858:177c:3919:d1ea:b1ba:9d01", "c_map_ipv6_10":"4554:2e91:47ec:a5c7:2d4f:9bcf:5ecc:2249"},"c_double":0.4452157217370345,"c_array_boolean":[1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0],"c_array_smallint":[30976, 13346, 22024, -18943, 1234, -22736, -16108, 16237, 31480, 30403, 2131, 24270, 19679, -28343, -27908, 14629, 27281, -1953, -31016, 12224, 13551, 2547, -1789, -27128, -8178],"c_array_float":[94.1878, 68.286766, 86.73468, 32.018246, 76.32526, 99.214714, 61.78603, 20.53492, 9.005481, 10.536005, 68.092094, 70.21265, 36.628895, 81.19464, 8.74339, 20.430737, 6.1471276, 30.868334, 71.46577, 32.576157, 4.3324566, 52.33526, 8.301178, 40.746464, 58.607567],"c_array_datetime":["2003-02-27 12:41:42", "2006-04-28 06:30:35", "2000-12-06 13:14:51", "2019-01-02 02:22:52", "2019-06-01 10:51:23", "2013-03-11 16:00:08", "2014-02-17 01:56:21", "2018-04-06 01:59:12", "2012-10-13 10:28:59", "2010-03-01 11:33:05", "2002-11-12 04:05:02", "2019-03-08 05:19:38", "2015-06-19 15:22:32", "2018-07-15 19:59:58", "2000-02-01 01:58:26", "2009-06-17 19:40:04", "2001-07-22 17:54:13", "2013-12-25 22:36:48", "2010-04-02 22:34:35", "2009-12-18 22:25:31", "2004-01-11 17:36:05", "2002-10-03 02:21:48", "2006-10-20 06:57:50", "2007-08-19 16:30:55", "2003-11-23 17:22:18"],"c_map_decimal":{"c_map_decimal_1":19.1173, "c_map_decimal_2":79.1452, "c_map_decimal_3":55.1048, "c_map_decimal_4":59.0938, "c_map_decimal_5":72.1729, "c_map_decimal_6":30.1593, "c_map_decimal_7":5.0890, "c_map_decimal_8":32.1248, "c_map_decimal_9":94.0295, "c_map_decimal_10":22.0209},"c_map_double":{"c_map_double_1":91.33655543151909, "c_map_double_2":31.390694595062698, "c_map_double_3":53.49374809894155, "c_map_double_4":66.90228500997438, "c_map_double_5":90.43501322567424, "c_map_double_6":77.82054830584771, "c_map_double_7":73.07001706824963, "c_map_double_8":12.876272020148674, "c_map_double_9":75.80043827161805, "c_map_double_10":53.82442429830081},"c_boolean":1,"c_varchar":"want","c_array_largeint":[-426773339478916255, 5870883739997681477, -333569481840793074, -6336313003389669646, 1660904058198143429, -5253782447261179314, 1860638037008840414, 5416580974620704205, 3041059360594774463, -7923455184869658002, -2427824828650043634, -3708778700820568601, 6912018343259248730, -9009848224248398175, -2512113524773997545, 8810413089991453433, -3581697169887661769, 2805543943002917131, 6814849322699614535, -637333979715943453, 344462866027351047, -5987157309355730163, 963694427474723391, 4649460599541273777, 5824851946293809027],"c_array_double":[59.3290847585562, 63.36679144353511, 95.6528781098341, 51.34147976144966, 43.792764218010966, 65.26832194462241, 79.73504374164644, 28.90240163219003, 11.83241477692282, 48.502899232533345, 62.38972721775511, 73.70822443148431, 25.983503867293678, 40.85694407162542, 99.8299190623399, 42.713204352316204, 72.2260103132397, 20.441359601584757, 87.35230012288243, 77.61584257837526, 83.61157336251837, 29.918792107699137, 32.44911298685823, 39.326188035381755, 72.26097460901109],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_string":"UeYqtGPKYrAiXseyDKLesGnHJICGMwGJjnQQqSpwYTCZqpUcmktTEvdTmMqPkJDmwsaJzBqgXFLhcGoQlksyibXRFvUghUCHAJPegJWSKSlmWRCNMZYOoRrNhQtqtquhMUFBLeswFRnLCNgTBhoZpTTOObfzGePavatewMOrZtRnTbDFKKMYiUQsXUgAwgOqrMUObxxPaQaEfehMFtBpIVzShqvhAfzZfeSEkeIfmwoERtPiMgBJeDgAjybHtIuuXnlDpcJFFPUIGoAXJPiCcKvYLFGYaIlCmHSkGsAQnBFXETbJQbfowTrDzUDMFdkMtlaMuxelIdNUjuDeofnRbkFAASxQsiUkmhMzpEFCGszWVPeiujcglziDamCJYxuIklICIJmhFuoCVfXwTapSyVHQGUuzbZgodRrbVTfCejYMjfTbAHrWIcBhKIwMamFFJvWtknrGskGPHvwzuLerJVtocvCZgzhxcYmbkYUKIhjgwKnHiWqgfjDcnJCCvDpD","c_date":"2015-04-16","c_array_int":[-1736898959, -267976756, 292162811, 1950851987, 367856073, -69616255, -785374047, -1965651287, -462848583, 1041995779, -1239616673, -33064442, -1666686259, -1032246015, 133203524, 2125611356, -961552124, 184782511, -2111875895, 164131850, 2100295483, -349446455, -701219136, 676654107, 721632690],"c_array_ipv6":["JxbbvfKZwd", "gbfshZPizP", "IGuEFRqDEH", "GsTpwfNqoX", "hLzAfkhHJR", "dZjiYKuMJF", "yedquAGTvM", "UwpYBHcler", "ruCTuvfGWH", "VjlTDQKZgC", "izZWAMgZyx", "AczhJhPRlb", "WjkCdChlwf", "KZsGAGeKoL", "ycLdMmQyBH", "JAvWUgBmAH", "xrgYZkLAjH", "UTItgQNHIl", "yUbZfMSeGG", "vrNApwvXZG", "YadpSMjzaT", "VcOfOnwVQT", "GunJkfTNRa", "mVxwRNtYSI", "ZoytNiPEYh"],"c_map_tinyint":{"c_map_tinyint_1":104, "c_map_tinyint_2":105, "c_map_tinyint_3":30, "c_map_tinyint_4":-6, "c_map_tinyint_5":102, "c_map_tinyint_6":76, "c_map_tinyint_7":0, "c_map_tinyint_8":10, "c_map_tinyint_9":-113, "c_map_tinyint_10":-23},"c_map_float":{"c_map_float_1":49.305744, "c_map_float_2":56.354336, "c_map_float_3":84.824684, "c_map_float_4":61.362534, "c_map_float_5":54.783424, "c_map_float_6":55.908703, "c_map_float_7":84.75054, "c_map_float_8":62.745, "c_map_float_9":36.00161, "c_map_float_10":34.775497},"c_float":58.943398,"c_ipv4":"78.247.98.12","c_array_bigint":[6330847551652382264, -257753943619134642, -9155055210047222378, 1725268145973384193, 3112015643749144076, -2625115972026852638, 4629293851413477173, 723127911694244608, 6686348592061571378, -8609565368142139134, -6143528048643117113, -2254850820824794069, 2397658580345432635, 6001917725829131428, -3543408626809958223, -1895934599526445631, -6689976413776119346, -1205512021161182528, -8295350569094830427, -6731949416760002089, -1858736183848714250, -6818254992650808478, -1251840365478055922, -508014640682302023, 5280228690063654585],"c_bigint":-3290634064584855551,"c_largeint":1658064340225206519,"c_array_char":["lqrFqBGYlH", "RaffSdxypn", "SeuVVBZAaZ", "LYzxrVlZzy", "ojLoCCTSaZ", "cQIjQNjwjL", "wdtQNtYdGj", "fgABTkIuPQ", "eaJWmnsRcF", "GBENAECIXv", "gOdwSOVOsK", "vSHloUyEit", "pPUusDlmeo", "OUnsEnwVsO", "aMPepTngZy", "QDVCFEXkxZ", "lHDRaqtSTZ", "WfiMVtNIsx", "JMLdnpQPMf", "QtEPoJfYcP", "eNbbJtAWKI", "VTnczAuYUM", "HuLyZLrtGH", "OnNhKIfags", "drCvaQelND"],"c_map_largeint":{"c_map_largeint_1":-6549984205695105605, "c_map_largeint_2":-2670254830751592016, "c_map_largeint_3":580712489020230175, "c_map_largeint_4":-2991047727348530464, "c_map_largeint_5":-4762013630855548910, "c_map_largeint_6":-2107580554491396664, "c_map_largeint_7":474096061367099081, "c_map_largeint_8":1836318420696999831, "c_map_largeint_9":-6190910907938410458, "c_map_largeint_10":3178376205853101388},"c_map_ipv4":{"c_map_ipv4_1":"58.242.254.104", "c_map_ipv4_2":"250.88.248.246", "c_map_ipv4_3":"178.128.157.109", "c_map_ipv4_4":"50.203.223.15", "c_map_ipv4_5":"211.189.74.103", "c_map_ipv4_6":"141.55.172.233", "c_map_ipv4_7":"5.98.155.127", "c_map_ipv4_8":"39.100.74.165", "c_map_ipv4_9":"125.116.128.134", "c_map_ipv4_10":"154.68.184.42"},"c_tinyint":115,"c_smallint":26284,"c_int":1802981879,"c_char":"VMEItgRMSh","c_map_varchar":{"c_map_varchar_1":"CpQgOnRgUBRpEzSXAdmUeSVtrOBpjcBGirsaDkzPuOiEJOzEdMlsIbhbkmSgTznwElAMGTlwNWtGfJZruwdwbcGXrDBEFUlPiyvyYEYfZQQNQPdPTgBwgwgHujiDKMPpfqUuVrJJWbwPwcZIwNZHwriArcqVaRnwJRlFpQYcDAkuYnTKgKMvqxrPQRsoiEGdtJKTBgQVNqtjBkVlQsoRkMrZfzHizAtpbfqZOkhcUzNFFjjXyBwwIIoptXhNbAJQ", "c_map_varchar_2":"FsVxtGZCCkFEZnZfIPGnHntGfNqntIxuyFUquvmbCVrGyDiZpkgGxDVCFYsHvuziOXErSrwXtoLhVjOpNyxALlCJIqxztQUxSjmzZqsdbSuHtNfGWQxNNEviSDVlpVQuceINJzGBtBuFGEEgHVZFTrfizOrGeDXRLbcrASgxUtEvSOxgUWjEgRYqmZoxuQimfAeJIbNHobjXNePyKfOrrCBBHKCgGDxzSJXiZrLVOptHINVaSywUGOILTCQDDecw", "c_map_varchar_3":"SYXSDnwJpYekhqSejbQciSZxLpwqffOMkPmlbLHUOPuVjyzwidoHUSHjShyiKOjMPWlfgAMjIpUSaJzqyJWvYMKXOYNQboqeYZXbQFzxqiGFXnKNIthhLhwasTRFHsBWmqLGJsFcJJlfcIYBNPGjCKgauTqaHTAbNZwrgTwziUyuGKVfyreJufaqSGhQRidFAxZrbDjBGeYRVZZBeHPvryePvwtzJHNMuqrtXvdEonMjvIxAQTCbudaJGGucwwoc", "c_map_varchar_4":"ewQtjQMuSSTQIGPPARqGOWdHhGvnoBxGsNuBDOcmVSrtVoQOzdXWuVplxVsAPhHKqPiBXVvRAjDAXvRXNJANexvlfqoBnmOcZAeezNBRvWYlPJsrqcVFRjdIpZdbRRmmHmJhBplXUJrhwuZhpKizyOnjMSEkFIbxKQunUFjQDPzOlxEcjDnVljlNGVuyfCpjPJFUaOfbXCpbTildRolTKjJEGkIWsoAHbZTMzsuoqTbEniGwqDciHpqXPEFHnxQC", "c_map_varchar_5":"wUdEbvqmRiBDLWuhluJyJiLEavLPnudKidOEAjnYLDIUoSZhEpAdhbMCMZLWbKYlxOirqTFfaqLHfVitRDWKaoapgXfveYrBpEvMIXyRoXgZIvIzFDBdZvbSZddXWmMwiuZsrNsdWKipBbGSdEHRyeXNTaSyvaSuHcRyYfInEbsSwVrVtAoArKAkFJYQIwZsFbtEztTnaSzzOGExDNGgbEjzTQeWAZZkoUnNGWjdXTHRxhcOdyJKpyDlamOTDcUE", "c_map_varchar_6":"xspbTjxXqBKkTpqkHFOGmSiiFBxoUrdggqSRowXxjwCchaBEWYtrcfuxXyvlOaNRVOxepOsFcJliikhtRpTyJWcNIQBhraRhYyAUUwVmLTnMHGqKKJazlTMrHoNwMokgJfbiNKVzrkQbBqadyVhnHSmXucLJaJjwnwYPLcuHizeZKOobMqfXXxpzbbTTeyiibyIxFyyUPntGTLPSgbyCnSmVePoShbKfWejTvjLQNEAnhBbRbEEMdtsgWJrzBKty", "c_map_varchar_7":"ArhYfWoFWyxuoGZkcMhOgySPnxVzHEWEGyoPFvbtrNbEEVTfFVfxGxQTzMSWhChSRGlHMYppquyshFjjCKJdUcejBvXXsiFhkgPibhaxVArRoBvBLtsjmGiKRwfUMpRIqtTfShVpFlcxaDtLJWWnfGLeNgHtORSguTDErvJvKUcmQpriOgqLqqSbjNlXqIJutTmIQMpgeNUwXUIudgkLozYNZsXXLUgxgOTghKXVERdZeReqSfFYOANknlkljNcV", "c_map_varchar_8":"biBqoOutBfVgBeGNqUnlTmxYRyWHKYHygLlPbmutCnYaEfyAkNkypXXRQHgPPdbhIkzfObUmGnIzKvjoBQyZVCeYmmCdfhDFlBHmdLLtSuvHyeaZCGXQkrQUrcLXkcdKzTalBoAKSLjsgbMhmZLiQVlymTrflOEuCQKRoIZEswUvxlvjyFsyIsVkBezvDgSbuTVUNKvSCLwizEhuqNqLbUcRxGHkdzIxVEnueNOqNEecJcNAMmpTZkIsNwHykxqC", "c_map_varchar_9":"cTDJQNGWmGkVzFmJLOWXTtGjjNItwKerJkRGkcsRbdoBzMlyXdPvfjkILDwnGbivCIgYlelVYRIVdNLPoMWLFkUygWlhlIuUHIXTbSFOAKJfEiwzUDPElmJCEgVmTUwCftHnPrOIEyGwfLEwIkRESdSFFHZGBsICMUcKqSjwNAAogMNtxhzAUHwNpJnGcVpAwWicbyJkYnjtAAzNeuDSBcsRLFhnoUlgUfvmjOwjwbQHLQAXsIhLqmtcjOmbAkVA", "c_map_varchar_10":"XlTMpFJpmJTfebIlfKosYXfBKgPQiokjaGFRDQCPVxWlTHJehINubZBnwmBKxOJGtLUuUlILNQLYxkLKDHEcibUzaSEbBFDdttcnxVizOvETZgsNjYwqzBexMNsOVRopJgjdySrIOsvtyLuHqJUAvSgSpzQVpjtOFElmXwlsMIaeDYpLRBtxMRlzIlsAQUHcfpXyesjCYUzGrrsAaNozsNERXHVUSyCNUvPqPkSaEcKKcHTMEPRdmozSRlyElkQS"},"c_map_date":{"c_map_date_1":"2011-07-15", "c_map_date_2":"2009-03-09", "c_map_date_3":"2015-08-21", "c_map_date_4":"2015-05-17", "c_map_date_5":"2011-10-07", "c_map_date_6":"2019-06-02", "c_map_date_7":"2014-11-23", "c_map_date_8":"2012-01-28", "c_map_date_9":"2007-03-13", "c_map_date_10":"2007-05-11"},"c_array_ipv4":["ERMczHwUzh", "xgIXwwkAsL", "VRKfMLFIjU", "miOMPlTSKU", "NOMAySPevc", "btWSxyYUwM", "xHRyxNKYOu", "DUdVigmScU", "YlTgQpgqUf", "JRaxrwvVOX", "XarJKcePda", "ZYvTXyxpUw", "KnkYlzOAYS", "XozTRdrHmL", "FCytbBgOQX", "hoBmvMUobz", "mZEmYeUlBS", "VQXTIocmOx", "XYWdmPEXtJ", "KZnoJEXzAD", "BrmwbucCPe", "weOTZnaEXO", "XFEgfuxtlG", "PZuKMkLgkr", "WFEIaxERPs"],"c_decimal":99.0567,"c_datetime":"2018-12-03 17:44:24","c_ipv6":"395f:ad8:1317:13b6:6220:5c4b:5daf:9484","c_array_tinyint":[13, 84, -106, -105, -128, 75, 51, 76, -2, -48, -66, -106, 6, -125, -39, -122, -111, -50, 98, -38, -11, -18, 100, -77, 60],"c_array_decimal":[25.0164, 38.0988, 23.0426, 10.0517, 86.1096, 24.1136, 33.0757, 22.0275, 58.0565, 22.1799, 32.0956, 35.1091, 86.1353, 81.1713, 73.0953, 17.0895, 13.1855, 87.0234, 11.1405, 23.1077, 90.0009, 35.0825, 4.0139, 25.1035, 65.0890],"c_array_string":["KZjjRqbOZnnvLrTAWqiKAQqTvpDzlgUPjoPpHNuZeZcTEaEqfpDnSzihknYgonvcreHiIJAsElWCQVxzxCUxWEukIhLVofXXnFajUnNBKExPkZevEyooNNVuhnZVtkLOvszmjJtGAFZHZbauYiQjuXKXcdNkNAgcXQsqXLLornBWCbixbmFMKIPYklZJzwguYFbKDLisoqdoypBSfghOtZdglsuXtwmYpLJghZvMmhQpJzKYTJOhxERSKkfySZVNtIBkkoZjMSOvcNbwXONYEvOalIUPkccnvgZsBSOLnsNtCIvardJICndibUcpadSJPZLQXqkWJavTTSpwLuwGJNRAJapHlzSxkoBNXGRrxueXkcJgSZBUUGkvnDMXzTpCEeStXBczAnlKBtLHCjdJMesuGTwPetCqfwDdEYAELQDyNsabKSlMHXSwIJOGFQGLNLbzWZjrsJHxMzDFOMnlqQjFJPxXyVuOhFhbxZpAODKiysrLQfOefdCyAWviLZxl", "BWDoeThTaeSioglkOTMlVyRxMVNoTwKpHweecUjItpytQgWCfwTsyyCFHMqMeEmRbwjcMdqZVvsLOALucAxtZPiuMQZvpGNjTLQVLHoFZtDSfWbhiWxfjErMGLEFIodDqeHsQsJZKLFxjyaLxQahUXOBfUpWPMWJWhWNNXGGSyYklfYZpPHnnXYGmXvTiStSEZYPDykwsraKfvCMmSfKNhSLsFYkDaGQreiWlgcsACNXFZZQrAgvBgtmFbkIfdeNpCBgwUAIrbHFSwPiXVWOlCfdnGZVtQGTEsyxKkfVlQJMkhMpdtCTXsFhpeIPSXQcFrlcFHPesRqKaephVaHpWVYUBHPgfAsvxNshKloteZgUiJIXYVnxarniOJGmxWiugiCYSkNZlhTOVSZiRjBMBPFnBslkiOZWPZPNRbfPPAHdYpDANUkbcXhoHXiGCfymbIOsLngOMnXHaScPQUXcmWuUJLZHaOyVOZYUxYksVgTYKUSexJCFTRzgCRBQbKiL", "cdOUJcGdKblcFgBzBrgmAbJoRiOgCAhnvFWcDDaAcmTODMpsEaZFdwHWEazOAWosdGiLuvqQRMbpgoDbMwwrWZWBuFluXsGycfLqTyOEEubdJxDkaNaXCStIIEptVAnGRnDKYnQMqOsXpUldvFpUBwfDdhWaoNfLnpJYURndCeQRDpEKLFQBfhPiUhoYMPzLNxzwnAiFLWbxcBEsfwdqhXrxGKyGzfiRZVMCpTyAUdcGfnzMjRczlsYBYxvRvojevFbnsSlPPqZqeHgxNnqUPQIqmeGAQoRCYCkUFSvZHsGFiyGEGpQNQHTjVcTiNCvHsTPaaWNCmQuZYZaMakTleKleiKuQfUhwSDkZkJrIEsvYNKelRpPTNelZDfjXzBwiEKyiOvhezrntCWGCzPanUmnqzScSTYFaMzxrKgQsYwmcNnRGQhIOAqjBcSjYiYOblssZXpIhFzntYHeDNZdGzFEWfwmqtQQKQylVIFucRpqvhWrQjEYqkWXhUYDGRVJr", "INGAmOqdAKLAIWfVcjbIodqdUIekfAjTEDYBeBxDecNzVFFRlbwqVCewVSzNRUfVsLHxIeiRDowPuoSOtmrkhiyICUBRJwmZVluYNgHOevIeGZuBAZmBHKEVmvKuPldJdfwGidUBLMSYVazmxiwvcDKgEtWwRLiDmLgdpsBgAeZTvbIQqaNJkmpvTNPEeVXHlWfKzzjjfSOXvovntZvhyqeSVpYUhfWZUmgWzUbjKGiybgUgiFkcXQazHACepLDhzZeZPojIVbufGDPPchTAusDneMNsMuQuknJeZstExbdhjMBuABFBFbBjnMbIgjzBJITRQwovvibBgrCMLRxeduCMNuzVJZxjHlLZWKHXIlcdEUOBkkbZhSEpnJZgvoLWTTpJJFYuEbRtoRloNKrwnNLLdGAZuVUgIoHKXCAJENgRQdzAUnojCUNDaHRZctguGvONSXDXSHJuisiHsVaepGVBlKqCKjrmPPgoZkqBReCJhzoaSzYwALnnvBquEXeN", "WmEiIrwHwFtKGlHClmlDHqxSLaIusImEouMxrICoYvVBfHzSDlxrsfIdXfCtUvZGXRNghRafVGSPNVrgnslOgPUNCUoPUckfiFYfdInBdvGtvHJOKBIsukOddUQFHraqrEPpGXNrknlknXkTcVKTZusCPazHrNVsdATHuRBlYCBPtXjsaYFxhHexmpBwPILBbjaqOynIqOxUSrjBvsbKXWQEixfILYpuKwynWSmwMWqxJaZAqclHsWSVtPZXFXgxUymrDJtnhdBDSEzFAgRSLPphHIMMVYeiIxMgHKYOrSBEsJfHyAhwvSNXRcsBiTWOCxNzFNfnhmSoaamqurnibthaGZHxYYhNypAtlXCWpPVSUSxnLZqyBipqkaTtUxxLsXRSfhuAkswJMMLeJqJieNabjzZbWHcUbmIPiXMNEDGKidLwGninModFsmTrrJtazMZktLUIIFHSOrZmpHElHnVPIofvuffKqEBLSDoNhQBMcVFQVUcrzRaNaNcXdPff", "MBunqMMLaonIOZGPKoXwkHawJUkGGsmNqgZonQCQyQlseRDwnAsAvZEZkHVFJKzZljQBeejLnTInmqUlzLNNvMUkWdoIEkfKvmiZRYOcbmpvehqnVzrslnkrZUORVfeiweTQXxtCxxbWWKRjxYdReJgrOzxOoLyqUnhKhBshwUFfbypunNdDXqrAdVVzUliAERdCxzWbJcmZPXaVnnuWImwyRcpnsThTEtIrfMUosuXaOvMYFAJgsLCuLlILLMZyxIaSebYtnhEpMqNgLTlQeaxIbdKKPQTlxmlzevhphSiRTixGzVXyVwRwiRqTljCpKIOfcVjKtAZtUsQDpBMLkmKhujrEzOaYMhiQdeSeKTKHpvLMkZzoptwslLVObJIWVPDTxChqYEkupgDbsCICpsOhrmNagcVtzwTGsLUmxUbFxrerKoIstHFocJRVQsSotghXtbanOMqVSinautBOaWUQZRChxrQcvNZpYwyFSYMdGBijdzWCdJdfQsaIHUxq", "HYUsGJAvSsroRLVOXNhpcUVnHblZOtrsBmCERjJGCQeLYJKKyVmcPmfCNuBdjhVxoBBLIjZXEDAlUgbQDJVOuGgRNKmTCLkrUPWwaEktRqvfImUXnnOXRmlmONXKOlQrcAZuwQkvPXyVZYipRXdnLkCHtdsvZCBTzrwOHCbHPUFjxYsVBdaSMIIqkcRWzdWbRgTTJkEEGZzRVQLwSwUxjhODFhPNBIyDxxpiozMKFVFMeCMmhfKdZjLrKCmShDomcpBkIoWUIWXkoNhpoGRQCaVzARzYJccJacWuhsTcrwGgcKVjGXoBNSBcZougdTAkVzUUpHosMEjZxdwuAekxqDtESNdEmrWEIdxunMEQVChqDOFGQaRzqTUxzzvUnYkgIjassjLLdfSxIpGIdKTzRwfPXjBgKoMEDLUgsVHTceLvGzYmLAuIUAwOZvCnMGTKBJDEErqyWGclLQtRnrQIDAzpDLBKHgIuswdggflUtNgDCsSKwVNupBegngQUZAkW", "CtRaxKkuZBELicLITFTpmoxnfpAkLfmmpGgZypnqaHHtbFBBSrwbzuVLOQNKlRORGrEijvviOeqdGhepiqEeviTCgVppIjyNkdoaSXyNEjXZZukMjKAIGRtBIKnMENERGdFzfkKlvopYLemvjVUvFkdzWiWNaLPxIboqUXXUhADstCDVrCmLpkmuANyWhnQGSPQHMdPGUODLKAuFJKvmsIjRkQEfmZboYQfjJzleAOeHBirBSBswwRVnXudQnJLqAPzcgRamMHGyYZRVhdcRQGgjRGGTENLsAVMmnfwoqUxoyVIrJrYSrxjFJwzkqMWDncgttUZndEaMGfanvBPMkeQcKvhvTddojpPGOHEIhxAUOQKlOxNwKZFBJqQmflJYRzMNKarNxLJRznpEaZbNOONHGKJyOjcbliiRBNkDauiupOnbFpNeRBSAgevIfhpGNsxihgUyjSnELMRMwkDFqrhVvUuLtlXXgpjPpgYNChdwSNIyNeCeBYVyDKeRjjLN", "xNXUNoLicWaUcCAhRVjaAtxCOeYjRnszQSrHVVIFaCCvZWoVsvdNjrFBOHqffxHlavaMhXJDPclpgNycftQnsBJqSooiEVvSvWGpCSRavFrSvBMGubDWGAvDgthnvGROkdgorIJBjYngqDqhpFWGLIdJAexhLCHnGgmkTbeHsmNZKDQmaagSikmaQnaHgCXiqhjLAscNubhpyyQNtltPIdUnMBcwMmErCtTgNRxfsovruzzOdJsZVZMoCMsezfbwqvuUGBbZsianOCWaKdDwtMLeTYYCJlszElqejOkKDNtknUbYRTPUJxViMMeNhAKkbshyBTzPsOwgonbxbfiRGPpCeKDpqutrIgllEpohfnZSXLEBtVOXFuGooGpQKNiSjYAzroKxvgHfNvrEYSyKfwzQDwMvsFyVsoiLtcsRegLZOCXyRvyXKHacfSYgrenxkWKdPYLTDwlOobaYsiDingRMslsoyVlbNSvKmxZXgLilQbLRMMIqRoEFgobQvOvf", "njeWJyzoAFDSsdsHxznAoFTKYudBHnFSwGTvvVJzfCvZKPYWIVGRrvrjAYeqmFNmiqHPnyTqLcpIoIShYigayqZspcCWhEUgPljLHLKnetgJifpVIrGIFZPNhxNFQbGxGkTlybUmAWWtdIlXHFyuEMwFvZLqGtTSnxyigVOkwrDHQArEHPLsxViFuBLgrPWgkuCjEEcvHvMCVakPCntyHNiiXGUTHMiNaaqhBJLQejPQnjtCnjgrkTdPMKrbnFpztUqVXgBUlRGdYvNzyBaCebBcxKgzcqFslUemPpTABtulEewRlMstACzedToqjIHFfwVUxorWoAMKCzwfxTLhODbPRXEemuGmfWpHFGjbHiAVsPHkrcHBDlnSNcvKmLEPTDdTfmfueXbEIqJyanlBjlqPtqCVxaYcXbNIfcYIuBUuYkkWUStpSClgZPMYmmsRHGAFWTcTUjiHeoczdwFjKVxXnbZIYRNgtruQBKwTYnTkhxwPEDBlTRuGwMzHJdQK", "aYgIydGcfUhfEHcUhuDHitLflGjUjRRhKUVPqIAYErXhVhnkjPlAcNoFkqwCvjYOoopeizORRYYMzQmvYOnsBdcReaRJlYvYCxghRhAcBHZvJiNFCNtgvdsMbOAoQXUyfyGBOquVlSLMdJLWqFibIZvYQaEhkoYFghYlxlXMLVQTisuYiPzbQgEXzWmeLOwdbowWpMMBVGLTlCfxsZfdBBefWRTJrVMvooMCwSJiflTNYoMpsfRSITgQAMUtMDCRtIQAkPFHQRzhwbscRdRtsaySXtoOkNxxnTuAvZjErYltTAvesKAAMRmCUMAhzzJMFmJKrHpsRVAHpsqPSktHbDghwDpaINavGCJaDchHvRYRoeZcumEtpJZbHmSztIPlnNwQXTkeHUEguVvCmzCVYhxolEzUXPuFsFlvDIcJIlkLsCmVOkeErrQzdGoqmVFwBcQEusSTmlDjveEwTCTZOYeVFuARIUTMGKWVLDKtYYyheiysMuduMnVsuQNnskaq", "qVHmGXQYIuAOIsiYCqkxucetWTTYivZGOApIxdbzKVCXDndTFmJHlYfxDRduccVzFhjzdrrEWbAfjOVwIxvBaKgKQZRWoxCRgBMlFqJnmKyvlSvjHzfVtDZGmNljDCmTzLoPvfHwrxqvcJqjOGOXNSZDlVsBPHAosgRWhlmfISJRGePlWqvfXFaQBerbbucnQGJMwXfNlQrmAZnQnOZVAJMRuaFmUxaZFQqhTYfUcsRlYSSdqjtZzBePRYkqZzjGrErwfVzpxpwysnwUwmEjzzcwIQhojkjoKeZEmnIYZadHffeGQpAzjdMCuNyNcuKflxWhsHgAOZTYfRnbXTIfsbAgChAbtJhineHzdqhGRqzZXJYpQIySdpdVeLXCwOhgixgnweFOTuIEFsrenNLSzaHYnvoKbIdQXsykoBYnTLCREZRaLzfXmkDxxkVXYldqrrePBcWTMUXyDrYtFljDevuxciVPBRbwFTzTsWLFJDsjPhRPPGnHZSHGUxeBIpul", "cdFNdkzkBZGgktsPzboVLFPTJCBQFpYwVfGWqRbRYxOawUKewCRZLwHVvokxbQPmpEfaXCDWrKqXCmdPagDehoiCTZgvhnUFIIibOaRfxpqeUDBiRRIPBYmWqtorcfWNgXLYCjlQYpuMRjMuPlBPAHUIiQlnBmsgABCjxouTDJhSEMsdKaSUdXthkledOSccaBhkWRVxDVEWumwoYbgUUMCJDikhjkngnCtuvmILmLqiOBFKbuOnbFqZmJDTAvXXTDHsOsoNwYLXGoabcSryvsWKAABmMOkDfaerADDMXwHGNrtxoCnsGXhZXugnBnzNtrTdPjPppROJpAOYYRFbsMzoGzhxdsgYsnKrdqKnvgZpvisqdrhjLcohuUGVrfABKWGeyRsRdryIJBnQtPYvtSheaHZdceTbqfAVuSVFeNodxPxLGcTvFmUnAfZEeDeXFhixHLFRNNaCSchpUvFeMcxpvqZDVhLczVlKeBUwKHWGFDqDompNyfjEzsEsikJM", "VARKIzUIxzlNruhuKzKioznAIOtXEuXOokaGsDzLNUStAoVZoxuTfaUANrnHddxYckoazFRRDiqdUjQXKKlRyBSlOMQLAkRsbhXQrTNKUrvoFJYHwIIDjBYlplbNaKWlzgpKNmLIpIuFQAuxynBadadxbWqAzyIeAoDMMTyHZjlTfczzkqYmDUXihSxJqecnOirkhZaEoSUbkaUNWYanGeXNoYztRVpkCvckimaGjVvVZOWRKYtAlnYwozDJaahjRpTlbVestIRXPxEjbVHTxGHFzfOGdqHhvkGCKIlAiaaBWOHQEufXXDbCQFmgTtDiuOqaqLqTlZTwVUAkZiWmibzeJMJtOHnimpRmmRMwlvqSpbPysBFJZHabFYLlEUXyXoytBSDGtGFZfMYKQFWEsGFunmQZpcKelcMQEVmXasmwISTvNFsIFcLrCgteGrRHaDuCzqHoXfSXBjrsYmXnVUIyLbReGmXSqCntqkROCSXPJqXyhocValQTUadpksIG", "LkmKdURXswDgmeCndqXmUkAjEAKmweOHqoAfbPOOmfNmcFcRYndmfUwdSNUOdBQnzgSzlzcYvRqGXlxMZJtIUgnmdLNNpDhrnkHqiTWgkwIeumNmgFSJcZRsLhqoaLneHIorbXMjayNcVCfWlPwRLRqfiWqFNbnxnTAmmPZqvBaWJnxegqBUiQutRXyixEnOnlwZUHYcnqpIGJaTvmNENMNzLvFNlevqXHEGZBVmlrivczMocbaUbPiTbpyTtcGeHRVhuIJIrvqTNnawsOzAoSpaWRufJJyndwOtXwbNTUMgiJWeSJLUAEwigvfQDIIiJlUSQyztZTCiiQmmenuEZGPQdjZcgsnfxFNSoEOFTcMnpuepSLZCgGHMDDZcJtgEjcZNYpIIskZDueuxLNyQOqTBBqecasbszRgotubpLyQULxTPyqwGCNvDfoCHlHojzZgCdEMRNVyBRjSDvZlPlXfDTKyyzuFjUKpLZXeDhaoWhxZdSkrnszgXEJmHzjpb", "DtzCYXgipFfktrOtKgNkEHOwoXqqWtjCcUVYpGihoYgAOuwXbIMmJUyRwKuFunfysgVnIaPZIwSUSkedkOXUlirjGmgoffQzfgwyVoYfybrgXIEmnPggcjDyYgLWOXapKWxmgWOLqlEAjhTtnwuGnrvsPnmeIbTBYzsuCpMXDykuRcOMjGVenjZJHnAKjyTgfDmxRZhiMFcvqInbIqkSObWKklCcgJNZdeKHeIoXZkmHyvIamTUWafedsVNTzGMDTqsoAApatNhqrYXLQmCjYfKvqYxRVABChNPgFEnuQgYlvnrYYlRmAIPDCEuQzTIekXWQwbZoaTBlmVdhmCfARweRpNhrUeudHhfoUeSDxzmvnhCDdTewKOfwmjkHtCqpnYllKHVwzNnHXNxIgijBqtAboXDquygDzGLvZhIxLCOxIkcAWiNjNTGnFkHefsMGDakeNUVDZUcwswUKNjgNRgEYGFKYoizWcTzWvgchHFMXQlAFatkgDMieEqzlJmaI", "eGMRhnEsRbzrBYazAjUoaAqixQicXTnmJrdsuFpRcOIJYIoJfGlmtyqfvBrjZBHwZkMmikquIUhBuYjZFqmRMVYcIfoWaYRNTadIXbbDRgtToyNWHkVZnHgAuwOzjcSTLsoQKpsYdGncaOKdVkISMqLbWNhGzkXlqAgpaTWbxpGewGeQvdvIOrruWuVKPlnXlMHhbknwuImzRTRedYZRIjJTPumZyZztNnVQnFbHGURvSolSgCRVCmpQAWVYciLsvxQdKDCeaNyPKuQIJBcDkjtLGCiAFXsPzXAZMEybiFrZYnJcBQgpnTxbivTjPYtalurJAUZFODDqGovDPonELaojeEoYgkrqbNejxEXwgbWMggZaMGcuySplfEYrgmFcjVcoqkGpGKjPWuoAwlVAzWVPDYahguIKXtpkZBhRunxeZtjpCGCeFdOUOJOwMmHMcqFJgheZcOnWHiLCvkBUFPeomEDctvOUjhVzIeInjbGtbmwmlWoFSeqIqnlyPTSu", "oWMgetsJIfBtgCTAcXVBLwboEUtQuZGMEPbDjwXajmpTWPSWUAfgCejNQoeDoshXHiDvazSRMqKwbruhEWdKpTcTHzeZBNZGulYDbsvVtsUezhCPrZkWqqsQypRfXGtAQQhFxStDxtxHOgPmobppNiPJBBuvIdJDyYujglnMEAMpZFThfxTNXEbZNEzlrkpbCmotbcYiyWmUSwuurIfNJLvKtzNNsOfbgZFggyMLBeLSVgywryObeVpzYqgRvcVTWfhgIbWJVlCmEmyAXxlWjnRAFYnqruQqMguMkOVEBIjrFmkgitnfrCIwLVnBAYnNDiTgOWvzvTBvvCnyRFAGNSeycgBmgemBrLxrfQrpTWheohRXFwWxQhVAvoPzsuVPpxGGKRHkEaEBOKUtJbXXHzcCyFwEWsFIsQpStNeWSUjkCGgKKkFDxdYfRMCsFEAHNNsKcykhnEKmAcBfCUhparIWsCFpdXIIVKbJpELQWSlhFoEVNXAYaZCLScDFceLm", "lUMHGyXIQwDFpGfQgPzzrctZiRuYhcgOuYgtQevuZhStsISkEFBXqJJnbQGVVFjcLVAlRsRMNKMDEhzWxgWxOLpFGYfkGZWiMFJzbldSKmSGcWlQZVfMqkkzozHivvYISfflPvjzxrQYPctjtMGbtyXCzXqXxuCCRZBeNFQDyobLekIiISUgffGCJvvtBLuBBjPRmrcApkMmbyWCGlAUZnuiiCgJKCLxanVWiUcOkIPfSlyowrALSKTdZQDBygukfxszUdQtjysBttJvtcUIBXuaHqbMZcqMXEFgNkTnQTgAKKjZyhdYtivtVkQOXctbABoPLzwtjErjELANlNCoFmUVYDGTcYOAUsENIXDrSmohpXmpzLUinrimPKKrMorFhdQHEFoiYjxcwVwCsYaLuvWwYyRCMxdhKNnlHhrUZRdNkeFHFXdRtlhrZwkBmyYJFniNBBRVJYfTrmuVuDdayyZhzDvmEvXRqteIjSkJPFBvuIoLfTFcmrCIJuRLVYry", "CSjIuAphGSlKWmkSJZiGeImgKlALuJXfvgMTFtSWAGgIGAHlAPHEwkMrabbcNIuvcJdFcSzzLVFapoKCycyqJVSMMdiuBcEgQbZpsowwxtBdaJvdVlqoPkTHmYguhUhGFJpmGRGOCvIBHASRUUlGcNWoteYauXpEPzbBoomiyYexOkCslkZlSRjCqezRjORQNTqgSRrlqIRbNWeGNszenzMdxkmAnkQUDQAIvRSzBQHpbIURVPoHeNtAmXdzDvIcSjZiJqoovfNJFHpCMtZqZQTdZqkbILQYpDDWryoTEtKTvsPtprULtmIYQiWaGRtGMrfJekKKydjivgXbkxOOAMrqvNMThmYpNBztIdTKBfZNNdMxYZmSOwzAcCfWUWhNuHJULwYTHyxKABoaZsBwvWzCRrgzraDfTpvhvZqDuMCjwGvViJZtolBNsEuxTIifIeUVuvggrcfpNOeOAWnOQHBfQBwZEbwjDEwZbpFDUraNwWtLukxLSYulwWCALlWl", "KDtqRUuamVFxsGuBElKEBCIcMVMmJZxaRTPAeHMbypgRJoMzumFyUZsNWSMyWBURanfUvgqCdsxmLfaMVTUTwDodtyWGFWUHOEOICdpExhxBzOtRYnZfCpqhuWzJnihTCBLMIgNefDiXZbIFlrDwiKdJPlwIXtqMPkXVkKnSRMdkYMsbagFXgRzdTWXFMIIHCMGKYFgxkTkXUhQFtKaZZPtJbhkFkCQQRzajtrwkDfNuhxBSEwnymvVdrNSCGARZdZlfuUgAcheDMzUBDacpdQtAHAsxMCsdoVOeWzBXkuACrAeFTqYmpWciIKGtyvgArtoBxEDUjJTAvhEaeZWEfhnkVpyPYqNSvUDJWVErPbXBJmcKEjvLluBGNnteXOVMwVaiFleOBFXRjutTTnEuwmJLFSAHAnDJLxatQAQjdKaWbVZkSIlEMZWcAuYCqiBEqKvszgMzwyNZvKgeTodwQTzbPQZJvDSKvYslRgNMvUdrfYkVtKAiLMkcEKitsrRn", "vKOXAIiiFzVTLatRlJKjMofnRAgwCjkndohpMlHRGEbhMmobauYZdOmEaiGMMjfbJKdsEzZhJyBmnBQiMRNktZOFjJxJQNaEGnACBbwEQgCGwuQFhDgmzzKaacnoOSsmodxUIfKwzxpgoRwaDaMdNRhspmqjWRRLPdQSAQEgAXqwIkbVJgtawXIxZwwpaYjWMkHlsImdZHXbJoCUnSOyPAUIujudaawSsNrKTimDxLbdvgcMyGiAmBjWduOwgQIXOOCHCXvGkcjSZhUvSFJeyTRltdwRAyvOgwwDsEhGcEfhjrUPjNzzaImdHnuscAgvoEHruumfyVclLBQjkBnxAYAMOCbmNkghrVqLTRxxyvMwFrUnMlaYCZhDWTOeaKINMBqXLmyNScnRybPFFxoXnqWZptyLQpCvFbCsjyenFiBBmmEygakCIOvUtLTwnyWgwiQNeSIkMJYayAgmsnTBeFBgHwgbnbvaLfRxTDdUZnMiFlWxLZLtAZOWXfREmMzV", "FnmfOctyyELYaUgpyYbwToqMrjQHcpyjgJHChgyBTeoUVmFalZtjDBYUwTTOczmAQhHIWEJuwJeDCHTdbuLmjpjopbydZlpMGvikZdIxJNGQpGhnWnvEDvkPRONapDtCIvonsnDBKnTRcejnStHaOLUuNpfcAzbzmiskLaEuETJSnvqJAfLiXtYfjabsTfZsPvsiolFAWoWZMHENuMGvuVYuhfKMomkZSBhmFXYMbAkImbqkRKbRMNoshewuBGXGXBmYpCJOVNKguomLHrsVcnbYaaEgvkUrQGsBEqDMVQpZxtsGUUMqlheVMvzfBWUdJdKqkZtCXZpJHFnqJhnHZeHkzpEvRLvnMjDLdexpKyEIDwVSWcSQduAtftpoulYQnZOqOGZzMDwFxxCUkvDvZkpoBzSRZOgsFtmXAsxDvgFHgihrSgyWoWwBkpZWxKoyAutIRtVbOUmiNpcnRsJZZhQjdzypfJigPmWGvFksZTZxmgieSPgAUmLDEkHKFxbn", "JEQgyNFuJJaVFxUthJfPmeezzmcWuzuGvXfLNTKcTlkKgYSIuzOwozKfYpkpucSjBhPBhyGJMTLfpcfSnjsOZSnlxVLfiBwUyyyFNSGJUNjKyBLFeInJKzVUiJlDTzIyzJLBTxOkFDbYZXcVxKLgeCGHblzFumpcHdwYyKrwarPaOfrUcfjdtqTDyfOAmFcDkYZditJVnIffjYIsIJAiSSJgrtySopCccqgtMYIRreFULCehmBYxYTbqPfcCnXbUFgmnquDzBMUeLtyaeVvRfhBZnZWzVhnZwUlFzJSEANQOkPeIdjBBZKTrOImqwlpCFmhcFBSiqfOENjpnBcCXpmJHMgkBiBamjjtbnTeUoueTEtELQPtqvmrkOhnhVyuqvAQdYNCkVHqRjtSBuokhBqJUXqDJEDFNYpaFrkNXiLrDtitwqwPNWKZWgDYeEDAJMCixJMRLLDHArcDkjqEmvoRGawHwOwQYRdJqTvVGQQRDrVVnxAdGwCRMMtaadyUr", "YDCEwCVhwQbThiSLkWhDVvzMDNggUQuLgIZNiMmCFtJMPDwKjplPxBoAcJtfUiuOMetxVkHSCkDelkznbhhqioSpMzbZdnchjrcCsmtkMTItXDgYwwbmkBntPwHYuPGrFNuiJnQFkyTQZbqrLBDZjyuknxWBiBRsvpoPycsCvehjHFHwRmSVTYTfzsySsXtFdwwIIgBuhgnRcfjElyszfaJTjtBgitJpGIUXKcyzjuuuqGLjZXAgKTRgYQNowyuupKFJlqHDiMPVAfKNwAfZBleWmQRMJkCMKuZOMPdTBcwcLOmljbmUoAimBuuPoOzwJVyjhQdnPJHKwWtxmBWrztcDKFuLbWXJhFsuPQKqZRLFHFLYKMrVpjRYEZDbyTfMZwZUczmFIDnRZwZbggCgWBYaSnhMJNUiAYOOmIdgEcvtftVmkkgHbaKDqELDSlEwUtQGECYmKhEpDPiNzHbVPAVxSZHqjujVvgHxLagVGJtXLxGBtxwxlyhTxssCXoXu"],"c_array_date":["2018-09-11", "2017-06-21", "2006-02-28", "2016-03-26", "2001-02-15", "2018-12-22", "2012-07-26", "2008-01-16", "2003-10-23", "2013-08-14", "2003-05-14", "2002-01-18", "2013-11-28", "2009-02-21", "2007-08-19", "2015-10-01", "2017-07-01", "2006-04-14", "2018-09-24", "2001-01-06", "2017-08-26", "2017-09-28", "2016-02-12", "2004-03-09", "2004-03-04"],"c_map_int":{"c_map_int_1":-2003733292, "c_map_int_2":319610296, "c_map_int_3":2054329902, "c_map_int_4":-114768922, "c_map_int_5":-2049521025, "c_map_int_6":1636179128, "c_map_int_7":671537090, "c_map_int_8":344949053, "c_map_int_9":-846555872, "c_map_int_10":1724099553},"c_map_bigint":{"c_map_bigint_1":-3626418213589618450, "c_map_bigint_2":707195320905657705, "c_map_bigint_3":2750262149719472642, "c_map_bigint_4":-8560276545984476438, "c_map_bigint_5":4871214115349470334, "c_map_bigint_6":-2755229977104420055, "c_map_bigint_7":-8441597598266617639, "c_map_bigint_8":5713668872952440553, "c_map_bigint_9":7945476397437946665, "c_map_bigint_10":-66608432083189802},"c_map_string":{"c_map_string_1":"mKCyYHQAEzFndsvjOIHLWmWTZYPLQYULVbmFUAuSgezFErLpLSzmqTwZTNBQnkzKzYPhnYnkLFFbAXBICSnHSbvFfLhzqAkJQueZCmWzHySldkYqGRGUThmCBIYAspTMcXjUOodQJhWvPGjiDDpGObFJgMIuNOXlDtLxQTVvNKmBcnKRIxdeAfdewpfHPkGoCVGNrwXBwSLWrYsDZgfKoIFGkcAokqnBjyauZJOZHNHSrPYfYDnMqbKccdxwQHmuGaGwIxAhIcDHsBCovxUfkVXYzcBwRcxrIRrvHIBkPPSYbeVWAVyzBepjUUmeLXpzilOzwQqQqcwLFaadzSCAUIddeWifowDkXrZRtVMcRDbAtJgHUmQcXBqfUzTZjgEebmZMPuuxIGmuaNKXVqnySUYAuWzGHfnMnpEbIZTAbSpnGAHyDDGLZrXROuSpsvYZgdpmOnEClKrOAQBAyWxKDbRWgBwAkvOAUwJrjbWHuioSOisBihRZhfvTsfbFJcPE", "c_map_string_2":"fLQhnxvMtThKjtTfzMuzqAKISCAeMlfwTbuFZjXAhoFicXckXKWAjQcCSHyznkArHbzhtpqQCalpSgjkryLAxEsHOQqUsdLXaXfAHIfWNsJmCyVEmPYdXREEcGpMFUMWISAMuTSrhGYTIXuRudMOZCbnSftTLREeGrTbAuaVjxUbvxLhPcOgRyiXQPxUusWpFfOMZaGpzQVIaGakwqnDYvbksddkszeAcsIoOvupRWkvOFnhZoSIuurptJHTEZbfZQIYJYAJtcfTfWeNmzKNTPBflXqTXsnFcFNEfBgzxjOnzqqnraZbszoMVjpkIxDjqXlFTZVaFEZYsRqoKuWDHXAjwdyHTltiofDtANPtURUXWvpkDbsuwiVpEEHYMXSfcvdtJzPETnBewwLMPQVhRYANvwBKIIMFpekZFlZgzEdlxxDBJnIcUexIMUNyOVGEDuyTCvcUqoOBHgZTfkSNiASTPaanMgcDvyPYwrkkjSjbfQTvsBrIFDjsfIlbFsyO", "c_map_string_3":"FsyzpqmVbEACcGXjcoarurIUoKHFsQIopLXjgMALxHwqcplijdGRPqZhxHMLEGBSzrsFTgjHgAHmdOecwcZQAWEaSlkgJQwCLFsBPkEfhhieJXicmlbtZBUhVPjBFaHWEJcNUhVTEwxrPICRcTogCQQikTCZgvjYkqzgMsRJTLrGgrjLUTjSVdwfWaknpLzSQqPULvIqTswBLKyrmkWdLRuULrFarIMjqiDrKYqQlOBzoyShcyRdvRZLhLtSfnnMxmbbaKndzPTKVXQapNkYAlEXXHVCAHPdhUWvsqmhIIbKQPzifAutBZqVePirMfgjkATzqsSDVbQoQHMjWhFyMveisjuJxUdNzQIDlDBtHOpLRThTbCFMkLXzmRZFswniwcXiBnqmSyxOxwpsuszrCoUElSrAsiyFyjgOsRuJwfhHTCuTnyAOrKrxnIiPMSNuMDCHkHQkcWRWSZaNHaaPBfwXihDOXZWasLYSfUrjAbAPsCQeLuylTgApXOHtFCtk", "c_map_string_4":"lhqJTXZmglKTElaXKqnQJsygZqDBuGCEEZspPJHOEMXMQszMlcJbBNkecWKcPlhHmtHjUpmFpUOfpqFwfmICrFWLFPKzIHcVizKKoKKDvFprbMzvZKvvbpfHHLVJSMVssPlGqebOTnFDxYLWTmDjUvXkQOoJywXhogeGwbCqwCOOvYhNzhidTDFktNTKgxYLlSEgRJKwnxUjbOpzzFyINlDBAzeFBRJeOujRhAEnFaTOhtdUGRcCeoFXJoDuiDaIEmhlpozkqeMGcOFYBzpCnjEchwFmHaDMPtaBUZqsDsGRXYowDwysneKDzJJvNtrfQOQRSHlxQTSuzAVAUgraSpreUOYiJgwxzBSXWTZWtTlklQitInvBDfVKHbRVXWgRoGpVqPHtkyJbytnDVfbuaHfOmqjdYaZnPyprwSqzqTKiEOAdQTcPvlhfTuyscwbitKMxGOMlzYRHOEDPITlgCVeZUAwXdYtDqNZoOivFeuNGZbkDregSbxzaFsqJapja", "c_map_string_5":"ALXeRoYYlitpyzcrCPtpjBMqWbfiSfUfioptzdHuisMlLbNmoIuXOuSlcikgQuHyaeXxcydJJiKzAdnhmFVIiUiITmwmhxqvtIfIedpbWOiBFhXBBxbfwsISmghgSWwLbYCAxbyQKyjAGypoPwGSOhDTpBJnwiwTCsgaqEfbHfWIaDyHvnNwIFYYBGaHfMhxudkBLNPpDxpXlLkLmNRtejMqBvKhbirAOiQDdAmHDPIWdrbWFDHWoEAuvtKCgYBpuSyDoKatAXuTgDdlwHZvzgpekPSmdeTuKIdIYxQlfKKtEDsLxtLEMWZVXRTnilFMxkFPKkDJBMUmURFxltJhjEpdYjRykoxhjImgzPkpJuZfrHhzCHndppZSOywrvRmNxkXsuZPrAzWNfWVlQfpnbuHzmKiyDBVwDhSdWEKajNHrhodtTrDHNffwmBWANzwSzrDZTEASebIcqivSjroLvkRdtQrEjywbMwaGWDOXreXSIeZgJjJFmnfnXoeybJCX", "c_map_string_6":"ddzUihbtJDvhCdAkyHpSlUlDODghzgHhrsEcVgAaytHeCiGGeSsuAyUegWVSqcoxUlgoWytfFLsyTEATwQYfdrqRLdHBlJsioxjqAhjRMMAGTNDZwIymemfrrWyTCfxRWElqwlnlhRSOOeoaRcrrbcfzNuRHVvOXgzOpDYTUDBEWYWXZljCbvcbVpLUjmELgMhxXtFgiVDVUpquIcTyMpRoSjHJInHHINqapCpUggEqTwzEPHetROXKxTKlpLpqtzaQaznasmdcXIgnptVfvmxllPzYlVsfjlXeoZTSpFlGhoHlnneDnyXKvxqiFDrgSulcnCCKFNbAoCsEScjnDlLeLIaVEAJzWcplvEYThHCqznBpAqEFvFOCMDMHSnVtgsozHgkaqEpovfmJJxpjhwWdNqNXdKiSiBaMJcddeEQgbMLMVDtdlPVsIZWBsasyNdZJkMwdTTqhcyBpQaeFdqXjByiOCYaQuvoQZCbZkcCpLzeAsYSQbXhUFnBuakyrd", "c_map_string_7":"yxxwoCAFGxpGuhNOMIlZrfjBSPNlKmBAmWgRNPFzTEgfsWmOcwpkOsIyVldgAYxokofXTxxqWFruYpftSoqdSPAIcxPGsTLUtgaonoXFcHRFdogQlUXCjwsdubLSVJwhtvlagwiumcVZbsdEzwYwWGeZsPIVyHkKhQUCeCarXFxWRTWxsWjvaKpoBgOiyIOcVNodlLqjTYRNKHnoSvKcENgmfRbiBWGxYZxnnxApIOLldmefwwrzvfyDUrMzeartrFzzmQwpFeWPfafsLkAadbvlIeNBlzXwOpwnjmoDNkoWnCoPcdRGmuVzRwTIDXgCOcZtNKuAwgEICLTnjaSaEldIptBOFLhHGLtzbBHUGPlslXuEpMJhUVAtkgwsoKvCLpqBTpReuNFHcnAODgaUVhZUDPUKiKeISMyJxRMQbSJdxjDlGZzrQlTYdWDiofSpMRSmdtLmJmfrOWiZDutEVYQNWeLqbxnDrIZHNualQgPoJrdcTgtTiFHUopAiYfeo", "c_map_string_8":"xgAoIBrbJHEMznKKEWlsngJaDJuESdwfXrHwZrkWZEPbCxEouxQPWjcyZMyZfDulNWZBfjwCjtjLsfhNDhGPTpbwZjLhyzkuSbetdYkBHjDGglKRJNebcBweKJXYzHyeKDswMOKEqUKIfOstQxorSydeLWKHjkZDIOWBGBhjOXblciGrsCikjKzBGTsznEpfKgbxFKqHFCEBoKfLvsOUzBbAeFGhzLaTWLzcnxKUfUNjwqZznGMWRtoscvseMpBKtHLKaSuCuvSCyNbsfiYIfYoQlJnUnxIrMcCyNAfAfooGlYvkfkkmqFyHGtFloSswjXjQEkkJUuXRfMgMSAJnOWiCIUMlvCjtFFlpVUkNtvRIvSFYgrVNbmlSgXkNFdsycAcHwIdrbXyqASkwGkuDmDOolSVNjjIcfVKzZuDJukaNqyoulCWLqrFqkuIhzXApVDnVQgaoVPseishsarQFvKxkYOWVtFntWPfFstErIbTnpEtsMxIULfRGEbkyeVNo", "c_map_string_9":"JLSfSlPjsRfuuIaLLgmgjoNWvknHpwvUbDGPusjllXeCkeLbMZcOTEHFZYJipQtxKStKVuKelolxJsQPMGQkuNZUERmFfwBdIFyVQaMVLMdoyEJAOmyMvVJLLAuAklnWeMLBIjlcrlKnaqIVbZFNktpkzOZYArgIKKllJdQSDVSUgdIIcZcgxYLVhJzqeEUAnxgAoiZWMqhuusGMuegKhPoBqfrnNazaEBxofvFnmwXxnqeWEfbGqhBqoWCkqvOfhLcGtaNrXputsyRudieuTagscYMWFDOSEDWkwWIaYJLqSTMHKPtOnQhnNjBaJIDKEHMuFyLGKyzMFbWapRTYJMyRyvbPOELeXXUTSrmQkrZJkWaGHdvFnwfcLsCevvwMwNkFsCDHcuZsuQjWmZqkveUqnmkFhEbTLyagtZelUcQpQLDwdpxLxKhLahlGsQEBCXgixFBOIcwAMbcVazgHmbApAWAeZxphbUdmeqBiPDzVArpkHRnPpTiqvtPSMBcd", "c_map_string_10":"KnxWIbplEkGIsEeFcbVlMazhkuxLTIgaMqToGbsUrhOeddZVfqTmPFhvkpXewundtgnFFjqgkVtaCPmkmggnFvFmPqUtPjuHrwIoFFbbOVfERoctLWdyGXOhGmXVfdXLmcHjwCPNbyBWreaJwGTWhflPwgoWwBqSgbvwQRLuogGWiOdyTPFeVeJarChGKlpMSuecHVGgspsLvUqMiQaBirWRdKdKlvsIauGmkOOkBlHLZsEUUEGXpYGjNDhBGJmugNgfCzKELVHBqcFGLmpfdYxSNICqrJGRGOaXsgUrnSCkSZnZIcjGFeXarNjztyRlJSGPhzhoDzSvxnTXELjeIchauHoPiLwsnsCAIriJtkhhLsGYcYvZndpCScXExsfOunnPJcQfxMTCxVrFmWqsjbYEkLdjVbwROCBQhJRMQrEQhBcGvEZmaoxHgRnRTJhLQMdQBbWLzOmZloBtppxrzNVAcjoCsdEzHOdfBcWdxfbRFQoMHgpMBYUncOfAknpF"},"c_json":{"currencyshort":"MRO"} }'),(3,true,true,80,103,64,-128,30350,30631,-21951,-7885,136871015,32679,2147483647,1366230562,-6778861170617917201,20240803,-21078,3407,-2729155638830772735,32679,null,40.123,81.68080834711134,22.05928175952123,null,65.1598,53.0633,300.343,77.1122,43.1420,300.343,30.0108,40.123,40.123,40.123,93.0483,300.343,null,62.1457,96.0904,69.0144,0.0146,48.1002,90.1962,1.0101,65.1015,100.02,69.0245,29.0993,null,300.343,32.1766,{null:false, false:null, true:false},{null:null, false:true, true:null},{2:-23, -128:-128, 1:52, null:3, 0:127, -45:null},{null:-28, -109:0, 1:32, 0:6, -83:126, -51:null},{-4347:-15185, 0:245, 8747:245, 16192:-21660, null:32767, -32768:245, 245:9424, 1073:27780},{null:-32768, 32767:19318, -25085:null, 0:22335, 245:245, -32768:-25769, 24727:-23726},{null:147483648, 911803548:32679, 147483648:-72903896, 32679:2147483647, -1138357905:-2147483648, 2147483647:45971451, -473163875:815263479},{0:32679, 147483648:1895030071, -2147483648:-54221170, -1814945157:2147483647, -804003376:0, null:-2147483648, 1472998502:-1124631947},{1:9, 32679:null, 147483648:1, 5297308:20240803, -21101:147483648, 4:null, 20240803:32679, 245:20240803},{5425:1, 245:32679, 32562:20240803, 20240803:147483648, 300.343:7175, 24569:1, -1116443:1, null:20240803, 0:245},{null:null, -627480939801459931:147483648, -1535680228:0, -9223372036854775808:-9223372036854775808, 0:null, -214886574:906577, 147483648:1, 245:-9223372036854775808},{2476711:-209716468, -1559928:245, 147483648:9223372036854775807, 1:-4017292880823520744, -1990174772:9223372036854775807, 9223372036854775807:9223372036854775807, 0:32679},{42.734406:25.788033, 90.90794:null, 100.02:13.102362, null:40.123, 86.25345:300.343, 40.123:null, 85.466385:99.68685, 85.980156:99.24771, 9.855077:40.123},{100.02:9.683558, null:300.343, 40.123:57.282578, 300.343:12.031525, 23.38041:100.02, 78.95128:40.123, 93.715836:300.343, 66.43292:14.213163, 79.92893:98.63303},{100.02:100.9270290477489, 75.79530501950529:40.123, null:27.328865026110595, 40.123:18.29443079506693, 3.1658429087994047:26.224917649098913, 23.833685381065422:65.01317918283867, 76.92263702230382:300.343},{54.545346192608214:40.123, 9.308670204644033:79.24835410091853, 67.18902209754536:38.059637661035765, 300.343:300.343, null:45.974421087277875, 100.02:null, 57.52145644696167:68.70956547767827, 54.80704202565088:null},{300.343:"20240803", null:"20240803", 100.02:"2024-07-01", 82.0724:'yes', 40.123:'will'},{100.02:"9999-12-31 23:59:59", 90.1018:'like', 75.0610:"2024-08-03 13:08:30", 300.343:"20240803", 37.1828:"1", 89.1349:"1", 73.0609:'e', 54.1209:'y', 5.0800:"2024-07-01"},{40.123:null, 48.1872:"2024-07-01", 54.1707:'g', 34.0032:"1", 100.02:'I''m', 58.1417:'it', 73.0625:"9999-12-31 23:59:59", null:"2024-08-03 13:08:30"},{84.0601:"0", 300.343:"300.343", null:"300.343", 0.1352:'j', 85.1589:null, 100.02:'j', 40.123:"20240803", 39.1527:"20240803", 50.0399:"2024-08-03 13:08:30"},{58.1737:"300.343", null:'b', 92.1387:'is', 40.123:"2024-08-03 13:08:30", 83.0128:"2024-08-03 13:08:30", 100.02:'l', 39.0518:'l'},{null:"20240803", 58.1232:"20240803", 33.0796:'and', 40.123:'with', 100.02:'f', 300.343:'j'},{40.123:'h', 45.1537:'my', 100.02:'z', 300.343:null, 94.0974:"1", null:"2024-08-03 13:08:30", 52.0838:'e'},{51.0008:'x', 38.1978:"2024-08-03 13:08:30", 20.0370:'a', 40.123:"2024-07-01", 8.1077:null, 4.1819:"9999-12-31 23:59:59", 100.02:'v', 300.343:"2024-08-03 13:08:30"},{8.0281:"1", 56.1484:"2024-08-03 13:08:30", 100.02:'really', 67.0329:'get', null:"20240803", 12.0973:'will', 40.123:"9999-12-31 23:59:59", 97.0833:'now'},{40.123:'they', 96.1525:'oh', 62.0400:"2024-08-03 13:08:30", 8.0884:'b', 100.02:"1", 75.1442:'z', 300.343:"20240803", null:"300.343"},{40.123:"2024-07-01", null:'didn''t', 39.0109:"20240803", 100.02:"2024-08-03 13:08:30", 14.1986:'like', 72.0444:'have', 14.0828:'c', 30.0121:'want'},{100.02:"9999-12-31 23:59:59", 40.123:"9999-12-31 23:59:59", null:"300.343", 300.343:"1", 21.0292:"0", 87.0677:'o'},{40.123:'j', 300.343:"2024-07-01", 58.0648:"9999-12-31 23:59:59", 42.1101:'k', 100.02:null, null:'p'},{96.1387:null, 40.123:'k', 300.343:'well', 14.0838:"2024-08-03 13:08:30", 74.1349:'out', 6.1328:'g', 97.0043:'e', 100.02:'g', 51.0643:'z'},{null:null, "2024-08-03 13:08:30":true, 'of':null, 'h':null, 'no':null, 'this':true, "0":null, 'i':true},{'s':true, 'c':true, 'u':null, 'come':null, "300.343":null, 't':true, "9999-12-31 23:59:59":null, 'I''ll':null, 'when':false, 'time':null},{"0":127, "2024-08-03 13:08:30":0, 'y':2, 'or':-128, 'good':-26, 'b':127, 'then':6, "2024-07-01":null},{'e':28, "1":-24, "2024-07-01":-15, "0":0, 'would':-39, null:127, 'j':127, 'f':0, 'v':-128},{'z':27908, null:-32768, 's':0, 'going':1683, "1":32767, 'as':null, "9999-12-31 23:59:59":-27225, 'it''s':-29081, 'a':-32768},{"9999-12-31 23:59:59":-13798, 'don''t':-13992, 'would':32767, 'm':32767, 'her':null, "300.343":21731, "1":19083, "20240803":-7763, 'a':8818},{null:2147483647, "0":1294057384, 'v':-367145935, 's':-1319584262, "2024-07-01":-2147483648, 'his':2147483647, "9999-12-31 23:59:59":-2147483648, 'i':-722187631},{"300.343":32679, null:147483648, "9999-12-31 23:59:59":0, 'the':-284767727, "1":1757201871, "0":-1490631517, "2024-08-03 13:08:30":-2031816416},{"2024-08-03 13:08:30":32679, 'b':20240803, "20240803":-3279341, "2024-07-01":5155921, 'mean':null, "300.343":-14322, "1":3296, 'we':null, "0":147483648},{'it':-6362103, 'f':300.343, "2024-07-01":-1578312881029984584, 's':-4516342, "0":1641, "300.343":25502, "20240803":7, 'i':300.343, 'a':null},{null:32679, "2024-07-01":-9223372036854775808, 'why':9223372036854775807, "1":0, 'e':147483648, "300.343":245, 'get':1235538232186386255},{"2024-07-01":3803064634232636791, null:-4369275330550977189, "1":9070690344850895529, 'r':9223372036854775807, "9999-12-31 23:59:59":0, 't':147483648, "300.343":32679, 'f':2027627609, "2024-08-03 13:08:30":-199922664},{"2024-07-01":100.02, "0":34.080612, "9999-12-31 23:59:59":300.343, 'g':40.123, 'they':100.02, 300.343:87.050575, 'd':28.507711, "1":100.02},{'v':300.343, 'well':40.123, 'i':64.73785, 'q':25.942383, "2024-07-01":100.02, "9999-12-31 23:59:59":40.123, "0":69.19691, "1":40.123, 'h':5.1528826, 'back':1.9692917},{"2024-07-01":40.123, 300.343:97.76501197388866, 'i':47.72596003765483, 'e':40.123, 'I''m':300.343, null:300.343, "2024-08-03 13:08:30":40.123, 'to':82.48308426268304, "1":40.123},{'can':51.48375357046734, "20240803":300.343, "9999-12-31 23:59:59":88.7987279006352, "2024-07-01":87.55567449122326, 'his':null, 300.343:300.343},{"1":73.1610, "9999-12-31 23:59:59":92.1383, 'know':null, "2024-07-01":300.343, 'your':300.343, null:11.0346, "0":29.0383, 'do':40.123, 'I''ll':100.02},{"2024-07-01":56.1412, "2024-08-03 13:08:30":300.343, 300.343:40.123, "9999-12-31 23:59:59":94.1695, 'v':40.123, "20240803":100.02, 'got':28.1854, 'go':300.343},{"300.343":30.0633, "1":100.02, 'some':100.02, 'him':36.1818, 'did':null, 's':300.343, 'she':null, "20240803":70.0997, "9999-12-31 23:59:59":null},{"1":null, 's':94.1481, "300.343":100.02, "2024-07-01":40.123, 'yes':100.02, "2024-08-03 13:08:30":40.123, 'w':300.343, 'who':100.02, "20240803":100.02},{"2024-08-03 13:08:30":false, '2019-11-28':false, '2000-10-01 07:58:14':true, null:true, "2023-01-15 08:32:59":null, "9999-12-31":false, "2014-08-12":null, '2003-05-22 14:43:59':true},{"2024-06-30 12:01:02":false, "2024-07-01":null, "9999-12-31 23:59:59":null, "2023-01-15 08:32:59":null, null:false, "9999-12-31":false},{'2017-06-19 23:11:48':7, "2014-08-12":-78, "2024-07-01":125, "9999-12-31 23:59:59":-57, null:-128, '2005-03-11 09:56:34':0, '2008-07-07 00:17:24':null, '2009-09-23 18:28:46':5, '2002-10-20':-117, '2008-01-25':3},{'2019-04-10':1, "9999-12-31":19, "9999-12-31 23:59:59":100, "2024-08-03 13:08:30":127, '2016-03-15 03:52:55':0, "2023-01-15 08:32:59":127},{"9999-12-31":245, "2024-07-01":245, "2023-01-15 08:32:59":32767, "9999-12-31 23:59:59":0, '2003-08-27':-32768, '2010-11-18 11:52:30':-32768, "2024-08-03 13:08:30":-19257},{null:null, '2012-06-07':-32768, "9999-12-31":-32768, "2024-08-03 13:08:30":-32768, "2024-07-01":245, '2015-10-28':0},{'2012-01-06':-2147483648, "2024-06-30 12:01:02":713812666, '2011-11-24':null, "9999-12-31 23:59:59":null, '2000-08-27 08:55:06':2147483647, "2014-08-12":-2147483648, '2004-09-05':-586101717, "2024-08-03 13:08:30":912850925, "2023-01-15 08:32:59":-378983378, '2001-06-21 07:21:05':-2147483648},{"2024-07-01":147483648, '2014-01-14':32679, "2014-08-12":-2147483648, "2024-08-03 13:08:30":-2147483648, "2024-06-30 12:01:02":1138986243, "2023-01-15 08:32:59":0, '2009-07-06 10:33:24':2146991707, '2008-04-16 09:44:20':2147483647},{"2024-08-03 13:08:30":16439, '2006-11-17 04:26:07':-31325, '2008-01-01 17:54:27':300.343, "2024-07-01":-6287604, "9999-12-31":-14382, '2012-10-11 20:00:01':147483648, "2024-06-30 12:01:02":32679},{'2010-11-01':20240803, '2018-11-17':5, "9999-12-31":32679, '2009-02-10':2, '2011-09-23 11:10:10':147483648, "2024-08-03 13:08:30":32679, "2014-08-12":8287438840171265314, '2005-03-19':8479875494434413555, "2024-07-01":32679, '2001-11-26 20:13:00':20240803},{'2014-11-13 10:09:08':147483648, "2023-01-15 08:32:59":2087425181, '2007-02-10':-9223372036854775808, "2024-07-01":1995100493126749774, null:147483648, '2001-09-05 15:24:34':245, '2011-02-28':147483648, "9999-12-31 23:59:59":-7957980401423727125, '2002-05-19':0},{"9999-12-31 23:59:59":245, '2014-04-25 08:44:06':0, "2023-01-15 08:32:59":147483648, '2019-02-05 11:31:56':32679, '2009-12-10 03:18:33':-814061493, "2024-07-01":147483648, "2014-08-12":-5636837730961536203, "2024-06-30 12:01:02":null},{"2014-08-12":28.238869, "2024-06-30 12:01:02":45.858044, "9999-12-31":300.343, "2024-08-03 13:08:30":null, '2006-06-16':100.02, '2019-05-20 23:56:06':69.520134},{"2014-08-12":59.836914, '2013-09-13':81.952415, "2024-07-01":78.635506, '2001-09-01 22:53:35':300.343, "2024-06-30 12:01:02":89.88316, '2010-11-09 04:01:12':88.87839, "9999-12-31 23:59:59":59.375584, '2007-08-09 22:15:48':22.036633, '2002-12-09':99.04602},{"2024-07-01":null, null:86.03339620688587, "2024-08-03 13:08:30":27.22243363010633, "2024-06-30 12:01:02":76.68801795157994, "2014-08-12":83.74738363621339, "2023-01-15 08:32:59":100.02, "9999-12-31":8.04571578612682, "9999-12-31 23:59:59":78.4918788786309},{"2023-01-15 08:32:59":94.87137252577095, '2004-07-07 11:47:14':97.33549107478207, '2017-05-15 05:36:54':11.356474888323286, "2024-08-03 13:08:30":100.02, "2014-08-12":16.51275675175646, "2024-06-30 12:01:02":69.93836256438178, "9999-12-31":47.682823309470685, '2000-12-05 07:25:54':45.81520410659399, "9999-12-31 23:59:59":100.02},{"2024-06-30 12:01:02":null, "9999-12-31 23:59:59":40.123, '2007-01-13 18:26:14':86.0895, '2008-09-22':40.123, "2014-08-12":null, "9999-12-31":85.0264, '2008-12-26':300.343, null:52.1101},{'2007-06-10':100.02, "2024-08-03 13:08:30":100.02, "2014-08-12":83.0589, "9999-12-31 23:59:59":100.02, "2024-06-30 12:01:02":100.02, "2024-07-01":300.343, '2005-07-09 15:41:25':100.02},{'2001-12-24':29.1240, '2009-10-16':null, null:null, '2014-06-07':100.02, '2018-11-25':46.0594, '2002-04-08':100.02, '2016-11-12 12:48:57':null, "9999-12-31 23:59:59":100.02, '2015-07-16 05:05:51':72.1772, "2014-08-12":97.0470},{"9999-12-31":25.0609, null:null, "2024-06-30 12:01:02":2.1935, '2000-12-21':37.0500, '2007-01-11':null, "2023-01-15 08:32:59":40.123, "2014-08-12":null, "2024-08-03 13:08:30":15.0377, '2002-02-03':100.02, "9999-12-31 23:59:59":17.0528},{"2024-06-30 12:01:02":15.1464, "9999-12-31":null, '2006-12-03':null, "9999-12-31 23:59:59":100.02, "2014-08-12":100.02, '2011-05-09':40.123},{"2024-07-01":2.1723, "9999-12-31 23:59:59":24.0127, '2017-04-25 09:53:13':100.02, "2024-08-03 13:08:30":37.1485, '2017-09-11 19:36:03':300.343, "2024-06-30 12:01:02":1.0882, "9999-12-31":96.1197},{"2024-08-03 13:08:30":51.1508, "2023-01-15 08:32:59":40.123, "9999-12-31 23:59:59":47.0511, "2024-07-01":45.1534, '2000-08-14':100.02, '2011-09-02 09:37:43':100.02, "2024-06-30 12:01:02":61.1425},{"2024-06-30 12:01:02":40.123, '2016-10-03 01:27:30':25.1906, "2014-08-12":300.343, '2018-09-05':50.0710, "2023-01-15 08:32:59":300.343, "9999-12-31 23:59:59":null, '2004-11-03':40.123, "9999-12-31":82.0972},struct( true,1,0,-150373634,null,9223372036854775807,100.02,31.037118333094003,100.02,100.02,12.1761,100.02,12.1912,83.1242,40.123 ),struct( null,-128,15114,-392878561,-1387551,32679,300.343,10.703895357173216,40.123,30.0847,300.343,40.123,89.1600,81.0064,18.1352 ),struct( false,127,245,null,31075,-1519693063052601474,81.10806,300.343,100.02,null,51.0788,59.1757,84.0693,100.02,300.343 ),struct( true,null,-16141,24911768,245,2030782,300.343,40.123,64.0038,null,69.1620,null,94.1206,100.02,55.0946 ),struct( null,0,25086,1656296394,32679,1894942,24.081264,51.45790538351198,40.123,300.343,40.123,8.0563,61.0005,19.0786,61.1583 ),struct( null,4,-4958,0,1,245,73.20935,40.123,23.0223,17.0945,300.343,100.02,300.343,40.123,93.1605 ),'{ "c_array_char":["JmCKkXwLZg", "afWRTRlsbO", "EUcwuNJbjs", "AEOYdwcduW", "zDqWdkshgW", "dimhvDFJOI", "SZxGNFjBBQ", "amaoUnTyab", "AdsSWCprNo", "qSXItKVNHY", "OknYWHXMQv", "aAQhFkDlxW", "QNmlkMtyVg", "vDYsfAGxAT", "dnCrtOfLob", "gTltBxczDC", "LQepnsmLxh", "qctNgVPjpS", "DgGzenjsZc", "VDExuDLRJO", "XYhDPoLwXc", "DKXgVaFQZW", "poMBqzDQQp", "loOuMjRNFB", "bpnseyHEbd"],"c_array_ipv4":["Eviymsylxd", "iSqsxsqEdl", "gwzWysoVGS", "XWTiOhoqRG", "aSbGCKuKCd", "OnWDaWWCFJ", "mCDaJMZRoj", "aXEeRCJoqu", "jRYqoVnAgr", "ornjYKKAJs", "rpftjEfVJw", "BIcIrPXPll", "zsdTHQjHoy", "rmItuVAMbm", "oRLWYBBRAE", "flIKNpIhOn", "brRKRjSYbW", "FNShaAOcxP", "KxaoUlMgnv", "xpXObACfHf", "EShjSuKTAt", "NbjjSySKXJ", "IZOYgaTaFJ", "LaUIHmmVej", "lntmulcdWT"],"c_map_smallint":{"c_map_smallint_1":25056, "c_map_smallint_2":-4969, "c_map_smallint_3":-1236, "c_map_smallint_4":-3291, "c_map_smallint_5":-30060, "c_map_smallint_6":2291, "c_map_smallint_7":-15368, "c_map_smallint_8":6518, "c_map_smallint_9":-2907, "c_map_smallint_10":-19670},"c_map_int":{"c_map_int_1":-824954186, "c_map_int_2":375357248, "c_map_int_3":-50336642, "c_map_int_4":1011877954, "c_map_int_5":1786464745, "c_map_int_6":405479603, "c_map_int_7":-1964508297, "c_map_int_8":64884671, "c_map_int_9":88219619, "c_map_int_10":-1728874677},"c_varchar":"ok","c_array_tinyint":[96, 73, 1, 98, 32, 3, 119, 7, -56, -106, 105, 78, -37, 33, 63, -48, -57, 24, -48, 72, 15, 103, -100, -52, -60],"c_array_bigint":[-2080278643832902463, 2360592328303389446, 3804843493739450918, 5427891852550011300, -3264747374983207988, 3901515375530634391, -4639071130604863439, -9213909290291451275, 670869456936867667, -9156316720242711686, -275768976846301210, -3221329895491719557, 8451407759433117313, 2133355572626062001, 418064607482973892, 8547536200955766512, 1271201923404516600, 8026651707968295931, 3577736694359479053, -7263772839402087041, -3423414266947286051, -931853813572356157, -7834852937336687521, 1930973685357728680, 7039002882506275709],"c_array_largeint":[-2788238259563982564, -6792040719165701996, -4629008503480427765, -2779111221497920808, 32483753036920897, 1366730045931357060, 3112809687660215023, 388455911073096690, -1815003976808089949, -2179840218311925090, 4706246484208293333, 7554303729027330694, -4678874685221418747, -2696055857149828004, -5001553911564435855, 7575734724413599354, 2551409825793587560, 7574368737702941969, 192212816170423514, -98053726739773160, 705461175595606203, -1192013255587468383, 3486042039123814908, -6924847892528111422, -5465777919044052529],"c_map_largeint":{"c_map_largeint_1":-3552761481308350663, "c_map_largeint_2":6438261967660589954, "c_map_largeint_3":-5562364847891882165, "c_map_largeint_4":-4185259807189926063, "c_map_largeint_5":1037021933033983767, "c_map_largeint_6":-6994323204846815415, "c_map_largeint_7":-4430374578931799242, "c_map_largeint_8":2664230977990453439, "c_map_largeint_9":2955960534741782874, "c_map_largeint_10":-481622680685165766},"c_map_float":{"c_map_float_1":53.09852, "c_map_float_2":59.233685, "c_map_float_3":4.130912, "c_map_float_4":20.659857, "c_map_float_5":89.61955, "c_map_float_6":28.580662, "c_map_float_7":55.213074, "c_map_float_8":20.198393, "c_map_float_9":73.76896, "c_map_float_10":63.91241},"c_map_varchar":{"c_map_varchar_1":"oGiNWbdrGoCFDJjnXmbZMGUEaAuNqstKaBRClrNtdNrroZevPPlSHVRFfLkWBMpGMZPoLQjLMtBXWKDNVcsgFkgBApBruHQKropsBUbZOTlbosHOBHvgFgKCVQPeFeUeQaaVlZqScAieOLnmmBHTvhXCiQtDMYGwkgHrzOQuPOexpxoLMGjdVDXBsRXVauGydtRNGsCHlYGyeCXLCojiFpxDNcqDbmPCvfFJGVLmfxPIOZsAcdSxtZjzoWZrQBNt", "c_map_varchar_2":"BYwqePlQkBukUhRtyztgeAbgegOTmEjXqqxEUbrIvaNldnlopVoDdAdtfEJuCbwJToJVEamYkptQAISPGAenqfFdHuHNijyOeBDPpKPXOwmUCopmyjHzxmLOtlfGKuoZbktTDynkFsFLJiNLKZrqqgeYQryzwoeGeyeRIaoiQfbCAwurNpIhkOzRoUNNxPUtKNUCcDJdlxoTbCAmDAIVtoWotmCXqBFROmkxXYtnuKJtKVOjXrbmznrZebwxVNje", "c_map_varchar_3":"YSUsSdfLAIfcMHqhWHPtXAeEPChrCwqajQgGDkLNqiaWpuBNXSTVNzQvShWBepjAiKjbixLUdAKwtGPkibURixHRyxaADiLmbmYWubEDaymFdeaYfCyGRwtIwhCHrPAfAagAJIFxMqgCHIWziatFSkxCRMsOZzhbPVPMuaejVSZgBBstDmjEUPYoXolOvKiuJxKNUwvGJXZiIeVnuXiQkGVgiMDDcgdJNMYgDMEItsRnbAEDoOuLQbWueqpzXwHr", "c_map_varchar_4":"wtiCXjTNdqPYdsIiPHqhiClImDcXjdYsYezMdtTzsMCfSGbsrCqTfzNwxUSSSIrFJLCkzOBvriLjREKLYOjkNrINrDVmmtFHwoeahSfYHBdQiHqPPHuDsYpiVOgDWJcJnhwfjHOUjKASWsJbjQrbRzrfhrMPRYpzWTCXnlnNuuDcdgFjdYGivJuLLgrERWMoUsJtfbksMJQKsJWJwoapQYecFvGCdUqRhbedBLHXRXgOoJDjewjZihcZpbuJhQYG", "c_map_varchar_5":"iDrBdCTKMTHGwybfmSvkMeuSEJEwKKtKRPdsXpUKohxINVxNAgZhQppmPHDTjwjfcPohjKnQnvhTimXsBoSGNsrWHjQzPFdNysayyUGVdMmTpZaQGrqeCOBdopRzOnzTJdzysdvCWaLWDIRxyymVaVGPbrwHqZZMmOhozvCCVOJBoiXChdqbfsyReGHDGLvKybqFRwngKOqtEMXFBoLNTQjpFoUWqBbvHqgqKWvzbQiAWxHpyPnjmpCbaVLvsKFr", "c_map_varchar_6":"TZyAjZMeAlBhjjQRcbnqKotPNXTQGpzyedwspFEVBrgydrTyGoPHEIIRAKUfSENnTjNLsawEbbaVZzsDdVoNbgFgXLFxfmzegKBqSLqxfNyfjJafqBREANdsOeyDiRkWNeqqpYXAKypWyKsFQUPQwapjexbaKTJSqeFJjvpGQkiWKEqXcfhWmpAxLkLjThfQLAIQdpIoTYBaucvJncjLfVAWyDullDeYhwKojqUhClvZoFglJVLcEXrUBhWdFiYs", "c_map_varchar_7":"IdvVpnvXxmHjecTqwmHzPoajvHbTlNzhVXSehJVaZuASDoYRpSgAWfsMHJOIvGHyPWCoNzwRLPPMjwTLqBflYUNzTbXxjJhWZxfwnwRgMYcXlldxjYnyHlIihzBYpqdDakTkjziJPQQVUdDlNblIYNVCjoIVZJpDaLTcPWbnLEwVxNrxFUQrYubIwrCACRQOWUrsGRDwrRpoedUxaVYJSGCmjyWiUGzvPuPnLaNmRBkalbrfSFyeYHVtivQJzlay", "c_map_varchar_8":"yYhrDQBDoweRIEqmwnXDREofAZxKTcorrnPtOIEJLkVOygkRDBXhrcjUACKuDoyOhElnqnNyjRqYWeBtqhsjFxKlJhyQlLOmEqnqQBTHMTqIzUrNzLcTBZWgnRJuVGGAeUOizGEafRUkcVzQaHhlKpMHhpHNYhVrWHOAnADJAVTTbQmFNxInALqEuiJYXPdrwoVjrZEfjKqggnnkpHOxojYWHWvOSUtDTEVbGiiJBwRyIiPCwhOzLvzOkuFlZlpg", "c_map_varchar_9":"kFEqMTPZAklfrftBMwwfqleDyJwWmDdCoFUbJtcjsqZndPEDTZfeYZsJvbdzGDrcsdJjSJPbHLfepAqNordYmLoGtWJxwZkQtCgeWMbxFnpQnJLwWEyUgEruwtsFRlgMmztUCIEaNPJLRuKiGaPaOcttEYqiIDNxWiJzSJqTPakTimrfCyOyLORRDgivERxLCIeKTyypdmXFqdXtNdBlhkBQsltUYiwlkSBDEssqHMOMusAQtYaepquoTAyCkAGi", "c_map_varchar_10":"TjeYUnDQGoXWUwqkhHySjATTbVjDJUwYascXzUaHDBnjxRahtsgmWbfwutSJAbjoNmQePeChPHCuNKCSBtVhDGzwTeULAGEjzDmIaXruYLZbjjYVYUOAIstgaottVitZnRPCCCpDUuirZeboGeiSQEtXoqNuEKoUSvXLRHeyarGGZrjZKNuyilqPHywiCOHyfRKxYmJnxcmrYOPABKllucxgHfuEdfaAKaeOaOJeEnEGXEOeBboUQWTrKvMtCEgE"},"c_boolean":0,"c_smallint":-26010,"c_largeint":-1964364741102148353,"c_array_string":["seDGtFRwCFgqfwRxstQITOlVYMGvvkxbjKABDtvPglItjArblzhhsusDMTxGpAhmjRMEuCwWNUUtDTHyLWOdVxgIYsuEgtMQsXBqUDRukPxmoRztOMWHVNmhPXaIIslccKAcHiBTfFUrwuscxyokErEztlWUvgVRNtmidTsaJRTHeXummBsPmRJTsGUVhWgXqDbxoJpxZJaDWCvegsYdCntvCxKzSaiOTzYWHoCfQZObcMwyBMFoCpQqdqMQbUOHdTXHrBvTzPQwLAFUZMUIyoigIzYxeMTacnrzEbYtyAForVigLDOQfRiCxbmMghCouHLkZQpUKYJcvpBNMpvmICukCmZoEkmUaVdIBqhGrwLlcJwkMDIHkwpjgalbTbAkVikEXyuyMlnzpUtIxEXWWDuNKIyXlJzoNpWGQxaXwPlSUuYghqPfcNdrzVUPEfjXZiIPwrIgGYOHytgZxhDJjUogbdQKoiMOnmlipvrJYgZpPJmZXZqghNduNxXlvxBp", "kijeAetUedHueNtxxroePzBPcqgmoKwyxogcivMVfDSbVSdFRPbYjBuKSeKPNAfPaxsCOnaNFTWPATnUrshpALeGoAWwSgajiJiykuBfKZSQSbbpLEYXXffyKGKhUibvDDGPYvZDLbVJwZlihkXBntxUMxSBYafqhmugPYTPAaCqoXVwBUfltjZwmMKRNwVJtaHLHWnScpYMmBfNyZNanavogcDvpxxIKZLfqrrMKyclgTlqSueiuNfaJVSeqJxRbYbpfGxwkpnqTDxDGKaZlLnSceHYNcSnfwpYafruKiwVUJRFXcPBUqEoLdEYhLlIIpyBwuevCOUecQIqKwPojLWkkKNEZtYPcTpNNnsrNypDxSXrKyoJbbjDDKhxmschllmvrqSmsibtGRQCvDZXOOwVKFHVgUCLlUHKPNrRnmjFLoTJbEqSRSMdeoOjvnTDFweLeHXzEAgUtmZCvrGATcjiVOUlHMtNPtwARzvgHcJBrrBAsNcWnCDjBdTMNvyn", "xMNwZcQVBnMWQupNGemmzamJxJYWKazColdZwjixtoTDDEWDKLCjnkjwitcOiZblMIUttyceEQbjBScXlKsIzopNUuzhDNzjNLlFKVVRibMJXcYeJEFivxnulwBNuigyvaqoIIsAUJqoeqFIYoLyCFwdfUfjFQjlMfOeykfBvkyYrOUSEaZlJiVYHrGDoRjBfcxYiIFskjtOmoJvLpzApeWoRkzWfQaSyjMWUejhUSCluBwAJawAqAdmkQZspdmHZhoVOrPpKQnuymXyBWfItYlajlWeiWSNEjBaPgNgcbIOINxQqpWNnqLemOcUeittJFQsuAVGJbuguUjWdyRsOKXrohQUhMrivhkYCfdLyeurolUsxQGVNfKhDmhXwDbfFSXuuZVocNkXJwQfURhWMYvUacbyHsqdDFZJQvyFnxFRkyPsCChboYTMMFRGtIHShVgbRXCcUVgdEYhPeNTaMnwxdwcvfXLyrdVlRUnCzUKorkZuvSXinSvBhDbuABEW", "OjNYgREDHjPzqzOfcvOzsRRbVkChwBHwaVbSaTqeQXpfWUmVAtWecgtJmjunlvOShRsCbwXvgeRNiQosoAIBRmhNtwkzCmYFyocVyOmYoFnxQlMgevyBsOqPXuwzXLmcDIJdfCAhmgLPvjyLrNsQmJtjNZnxeYddgjSsICBcAkbWUNFtBJyOTkvwGxNxIMscKIPVsozXrBWrGJxsCkZHclGvMRtcvXLmZIFiWDUPLzpTUUKubsAaFHHRPNRSFSKpjRmUIHZBedkvqWoaRRTDRxAAAzsRQcYKVKwSFkAukRVnXUeJgCUHmyWRSmhHefeVLtpgySiBNrjkvOHdHwHSZKFsJAfokVDKZyrbCYbCvmAioQcaQGJHPQKNIKZvOvbhjQLhBpMgCkCGtaaQEgnzYnVWJYCbeJlErTLCKqjZbEuwATpSWAFtNVqRjJatpapxLXgGjIAKugeLlIdwBHqLBUfKMdFXfrLAiBURrjgtJsdHuVIkXErZiamMUALhSmPf", "NBIXefqGFpfeihYGHUovVAabuctmNWYBLzDDjYDBomBvocUhihLmnExRGNFwnDjUywiEUmnWTKIyzmvEoTctKCeKAZTNBQpACXfqaqSbaPRMRebdllPymsuTpQGKZfcqalMFeAWAxKqWbYYbxgRYxwmxcahGidUUEvJZXdAWtLPyxJZqpJlmzyVxaoDiogWvAfCvkjvEWyptqfXXAvIUbSdrwAHWjLjXehWeVuCmzFBDdxECgOiSgHPYDfpmWCiGESXVFEBgcCVgxaXtEUTaPnkRrLNhVBAKrlrlrwfxBgiiMIwLFzWkmVXifrqvskYvvVMOKtNKJegByBDJRcNBJFvJyJMvRjRlLOdKBsfTxMbNONELJGhYyQtowhVUnxZQrsLAkqlbUuGmQtTRYuPHuOUjrHgnrbpiHhoYGsVaXjJrsNxQfVzWExSTQuwmMBoqKZoxZORhkowwWnDDGvzXlGLzUwXXgInYGtalFMbUMbEwyzWgAlUiXmwLzzuDjgKW", "QUUNHwjGWJuelJKpsOhbzhTfQRuywpyfbjEHQLLhqIiOOLfqBOSMZSZVjbqITkFboJIvaqsQUYAlHgPnOJyPoiatOOAjxuqMCbvAKPJDXZhotZrAziHTKtixULAGXPyfPhdufPTsOSounFVCjhRIOIndSwROZioEZZLyyNPVQeJRAqYkLqwPHvwGJteXhFcNkWBEVmxEIAveRyxwVFONbATSJsGtBMuKAQoByclTILToCVSRYdDbnpAjCWuPkAFLwpNGrpURsrsYUwGxnQEPsLfIfWRBygsiFLWRDTcCIGLorpVFMUEmwufajdkXGxxgePDFaqtBMKDJxnPPBLaUIJhILFlEpEQTkCpGCwBciBFXxmvvrQsAnYgYxQWadfInWTZgdNMQTdhaoLpqmMYHXtaXyZWvXVBWkXVhbsjGApubSgwSnuEhgbgNlUTOKqQuosBwUpdlnaRfgeytNIXwdmeMxdpsFkagHUAwxzvoAJVXDdjMuULnIAspDTrrqMeI", "AtTwVnwkAwVyMCpwUdUvirlsVLeItvdfyITrRCxDaqBTcEkaupRhzEuVmibbZqjZnwPJkgStHGkSOgnrZZBboNbZXiJtiPYMcxxeHaZFOzdELhEtCoBYhTxUQwUuGwIioEJWAkxgmyeyhvSriwZJGBvmEPFgjesEFyyeJMvMmAmFVtIeXhkDgKAilQhkdkXCgzpUYdUsiUgWAsmBPQiiSSAethfkpYBVAVSnaJaoxvtjdQrKzOqmYSqMgLKGmTUSAxJLZDJUqBnAbzmWrIOEVQwNqcrVxoyYyWKYFZeqicpYwjukkcRYqHmYwlpRbtNgwwJseZUulewjufGuMsLzgAJEkDTjlerTotXViQptXzmaotUsFbJkwKfclJBsLwiwvIPvBbVuVfmsiSoKlApIowDfWKKGTLjjcBenIjziLksuyEkffILTZDFATaexHGBmxzTzvgrmTJQXuCBYzWriTsXoHAtiTPJTlPkmnQLEZXvAOJtDhCHUvUzZXwhXgqlW", "WkGFhpZufjTiZPMsxhKEbUZqHOutFkGfXVNABTuMcOVbRCPhjQMfbxZNFkPyUAlLkSQfIHKimgFwpxGqEYwyOONGOEXWHtOMaVgdREgNsffmtBkEPrltaoPaUpJvvDNRPHVWAGJQnVYBoKXZiKzDsytlOEQHEQKCBTEiHrHeUNGhcvzTLTFhYBRFJLPuhDcjvreiNJbZRdWhwvswORDnUvoaEiaTrPMpIYEQmNTQlVwXYtMzymlMMpXUjHwQzARCixfnTMcrkGXkcrsdOZaXeHzTBgwyFuXppIeXXFyKYCiYmIzunSQZaqbBSWSvuGYXdGJTiOehhnyvjkbmllMzfaSYzgmErkvNKawHEEQFnOTpFoEeVMBLqjwjvrCnRYvoGgMSBzqbBqNBXMktOKMYrcbRKPmfCRGEXTdAGbeGtPdIynsLwVKojSEeFFpXMLAIRnvdNZzoxYnadoVdSDrXmvnswYDbNPMNEtAkKThQYcSSQkxGzSfvQNYAnVJjDrbU", "pBQhHvsFnVfHRbdVjutpzTEhqBDEfBCJGNLMbsxZrYTzvYKkpCLrXnsNOrWntMlsZEeqtahMFJjJhUsByjEXUEYYqrBIwVLroyUDEppoTeJtdXfSalbPNYFIzuGkmmzUrkGSantVmfjAsCMVNoGRAalRVTOpVzXuQWwRPdsrOJtYQFxEtsUvMUOyCcbUHKZakWmHvxjlhlpGOpQcXqAcMsJsVDZiTYZdYUipguOXVGFcAEayTwbrhIyjOrsPWibWQyxgDbQWUzgWaFWjZztRBUbNCJgETsOgKmbdTsOyatuAqFwNdjQNfqDIydCOijWjxvBgOZffZUrlSongyyWSziWSliJrxNusNCIIGARwOqyaWbXgALXQeeggNgtxniILeTXSBUzvWjzvRuTQNJdQbaWhGVeWlKSNMAbqyJeBnJxzwUgsEfStcZfubucHOmKTyJPVOwRPtbewWNTlxnFqHAMtVbqLoLhuFiofEmHtQvLigKklENNzKmcHdZPbrLWr", "DxtVFyNXyPwuFwvGFcqKxveSbVjmOZBcCTiQeOpaCKlPbackNGbSzYWmgOkrVYhEZdCKrtecZuPVsWXWighhZnWAVHyLaOJaYlRSzCqHbewnIKIzIpeQrkdaCmPIlRpchZWJnSqStcXzlQGXGDaVjpHGTfdzlVfQBAejeWqNmlvgVbZqfVoMfTDFMKNfrNNJsKUJEqxFDEKWxWLGIuKiYYKWLSlvJYuPMepODWfqacGETzDUoFmXBmqQRdUOwNbYrHXmHeRVTZUrmvxViYamDSAXsGpKOkrovryuFEiaBnFTFjHfXKPRTDUuYmhqirhyJNAElifvsujHYvqxUqFCGKBKhPFHXhrQfnTDFdCimNhXuEnRKiiOVDirsylqmvyDxlDbCUGeIegntSYVDSVHJKtbwwdLfLYEUmerZoRXlNOnqtKzFibEbCQCfaURVRJufowRPmjHZmBJTiAGgwiPHKVOrJBLvUZmYovFsPMwCNjaEANNGUoGejbPnlkcNUWN", "CcXnxROyaccNDnxfqoMkOBXnwkYNbFQcHrbjyzOamXciXIRStxRPJUVuIzfDHGtfcXveMNFdfDvBqGRwewooaWunUzzuEuMJgefyGyiVoUBKxPdGVAVzQujVbLiCHVmJxTNvrwXJeSAQRjEPfuNRGWWJWMrPEUTELGgOfpAOiJePwLUGvpoEzWbkkcCluQvHzQVtAAYlTeBWrGgVKgZRfUxhiOnBKVkLFokFlFVRVeragPDlgVOWHQlIrFaFuvseQJlnattRFzWVpkUAvZGMHaMDzQirUjRrqqkvCkUjUDjXHTGJKOXYElrPGlRXVZgtgTFhuPsAvJWbbQBjDscVWGfhKjEzTmKMqzdzMIGSemcNFFlXpSIPqXcxDDHGPZbGwEZYCPICRcQqpyDnjctXtpxjDEchveeRIcqhbTsdzgerbPARJSViiNBZyVcZaTZWkahyAiAYjWSpBZSAHWYyCPvPIavUntEnOARdRPuszIJPYukMStFEATiJjcuDTzkp", "LhjWptKBzpjPdvrvrKJHLcQNUhSlbHEtiSztSlWvrDzjGTwptmgGhPAwLnqGFHZmnWUkdIbHmvAtWumjVvuhLFmUqWYFIuLZjPdaddWbTTurKrINRLrrqPkyEUbAbjpmtzXpcVQemrAOmvNANxoxISokPeoLarTRjwKFdcMcicKYrfAAjkohAtZgPFXpYJOhZRfGHxaODuwRzqkzkCDMLNokPtkzcwtmLDJdJMpMMGfqMMBfPNIlOhjvadEpcCiyRXNhaOjemvLkwyLbyzAeDosmFbRaozmbACfSlhKpiSlUIzREjThdIrjiOFTTzmELxkCmAqDBzKwKgTabgzhaUBWlXevtRBJsAzYlFFrEtYyAoGwOirYSclERmMDJXXvdmHDTGZkkStGyZywDgxTwCipkCGMbfwYxXfQDQdhqxaYLPrAqMtifpKpSHUSzohUmTzrFaWwbRUpVyrNGtQJEZbknDcWIGoHQMnmotezfoqsmrygcFokliPeelWPrICwD", "PeKYEzbmcnHgUmMEXbIfBIEuJwaPKtQnoVmOCzWrmaDgYRTbhPrxOBfpAEmulXhpyGmvXofDDNHBbXZAlOBYHcuWZIfMoiTUeNmmtktzGpeJFAzBXwggDryCCQwQfdaQFFFHUVrwWeqpmgslnDJCjhMwhArayGergIURSGGPovHKPfNckWcgSaqpWNuyzlGLdVPZEsZGYwWnxpRfsAxqmDeOFLvXpfRNxGXtsAcBJGbTVDCDxULMomyvcOQOPZYQHFauBcuQzaYpGqgHDbRPkBnbhcKKiDVAsaejFGTabPuaHsNMFdBYiaJsMTefvLRhRNvYnAMmdxLYDFlLhvkngLBRtkHmHAwTmABcNWnlbxkPsPJMuBXksrKZgYPGBwOrqpNZSzxoRlXmETlCoqWnGZUPmUlcHvVjLBoBxEonCyxexijgnDxmpePvVTyPUMmZdgNQETtbYGfhwXfEHgdEFmUNDihqaOfSIAsvOVhcTCjlXDvCiaJfMPcXhOChSkRX", "VLSfeqizeTURNFkkXHMarFmnNVBPBqIgasdlboomitCUKyOYTEVZUlGHpBdRHTipSDyguTYMLVYceMlVjRwBvXaExkIjTlpzYyVlVsSeVKiFKsYfXXgpuSxUBYzvOHjfWuswIDHQtTsrgqLYTdzVcRDcxWdIGTQQmVnKvXEburlPDeheikLxGbCUSfmTYCjNjOXdoGWrTyqmgOFMLlrGtSxmfLDttpSOgnnPzBrCIIqHwjjZZrXCSgZUGoRqvgOGdEKKazUSXJmkafKRgTViirNafYVsXSGypplrPtlWVLeGJJUrIkvrZOwdSQTxaFnrZFzGvKKqiHzgpTNhVdFglMmYYztWJWHECiwpBnGooSfEwCpjjQrpjgytiEXAvZUJcdutRvLcWuJDOxYAeqjgSHMNdgyoawCkVnYRaZRAEWMdWtdlRDWZaRhjHQXTWvqaTPpyRRMYioDiOyeFQmrOiUiftURNCcZHfLMGZwbxpOpaoezdvnvpDaiOSvYJTKMn", "nHPjkfLRlUVknRyrWOUXIQSXGXJNdPGpkXBDhFDnEfEGKHARTqnhBvtzfZbllLUVdjIREMhjNwJjofsKxxEpkZNfdlnbcfyVXbRnwRPylYRXUdJorliVoQsqautLxHckJOTICQCtsMZnbyzAsmterjJMBSOXpiPzpBkBOanOYXbVDtbaWDReogdBjnfcxQmULVysdCViJfVXgyRoXyNCZZlLwixcEmoyUBYEleRkFcfxVhQreoJbHeJiQoVKMCpPxXJFqWywryZahiIZmmoOXcNBzBSNLVBsXMxwHzkKVyIyeEEHNwpzyeYjEewhZrvpmXNsUUIpKEUyfHndfmVNjDkYZjgcDmHyjljVvyVbNFpeQFQXoFkPerEyrrLrZAzoowKMDdlaehUabXcVBuaGyTTJkigzjPVfALZutxLyANiBZgOarpOnCQjRvQikRSEutUIhPqvxcNWSxAAvLBtUrJUcSkSAikhldpMbHXuAOXkHkBLyotpAysvChxbsCAuf", "DQXbnFXZNcRvjypiAhCgHefnafAxQsxbRPHGLPauVLaXLoDfVUqzNhIrYHmxUxnocUjpxWZfxOdoZIcIhazOAqJOuBHjqIJHXeQLWTxgfjmazpNBVmQmZQJQisbGLBViSAiMWymOIIdkJdhsbrOrMnrOdqRszlNgUpRvVpNnjuAVkJmUHbmpUMAERZUpYjlIsOweoegIZUOtNdLfDuMrWIiKXOOfJuFvGOGuMsjlzUZsjHQUTTxEvFlFvhapYbaVnBikZUsFbdjtPZCTTKMUUegXVFtSuMWEEdvMzlqOmSQuyyCkDVHQLNsPMZyjXVEyVNLjTCROjVordEnpyveoxrCgzLzptnbfkiUJayCepCrdJKiBPyZwdJogfcfDIFdfXxXfhrZliPKAHdzlOVGAyMBjFaXMGNagIbhFvebfBRhWhwbTVfdLEQnNPCHwGwUtdEfXPIdWLEmoriWLlOKntABODhjAyiIMNqUrLfPTvbZXIjxEVIijystSDPINgXbu", "CUpexXfKEYqrfvEobNlXYnpQqDQxfZThwLtCxbliEgjGrhJNrSBzbTvJDIvgxjsUfRsIgvTwuqrOaUszRiDFVBGQteGMkyGwNOZjOXvQAsclCxauEqlQZWsfPOzLUYZhLqPFUQXXJVZfHHMnXAODuNZGpjMiRHIxwzmrfHOvOjAHnBwDjZCYwEBapBPQaJPetACzBzRdGJUzuVBBQbUAeFbCDBsSdcRtmRtKAvvlOHMKgKNzAzAkcbksudzmXJNiBTDtcLkZYTVaBMxnMPfvybHQUVNxzByrzgZeSUsLMVyLFQWvzUGvTabpymDbPQGdHGfYSYqCRdTaWOddvowVUIppYVkCbNhuvlxROtPxNjiYJBkUIWnZBviPQMnwzwUphkPdhACYZcRlGbnBYWoMsswyFkmktvVDnGyfwAKSKcaZmbjkFSezOrNZQYdqWDpreHcOPyNfixQojdjuxqkDdlxRYymNQeIOkBIAuARuVMgDVLkoZTHbMPwkQIDQXJTI", "QGYioaVENlazKaskPTlPbZhQQUlRDuGdxNaZXDnXFMuzfJPlIFrcbEkMzPJORYYGzFtXWHvaElusiSMpfABRMIMgnDolvQzsIXmsHpczNtIfcrJZoEIkMhpcIHsPqPxKJCmiUOjQJXsYXSuFMupTlnUmJYIJYrhylTVPmppiBvYllhhtbHmLZKPunqocpjZPwiVERtvCyVSDTMLHplhcwxmTASkRXGQZkPBfMRzMFneBIwPVrvFysNLmMByzUksijVJiiwDIOdnXDSyRvsfVaovJFEoBPiaCuZMnuNTPAwYiBbhYvCiCCxBqedfLSaYxvXTTDKIEwaOxGKJDxSojypFBYJLlzJYZScniHHrnpXUiVCGEUcUGRlsPuSyVAFWHzKUzKVzmJHmgGuhLwcNonsuqzoVObxmihobLupKgSDhUAifRutKKOfpGSuwLnuuIKmzsmlkpMjGdVyxkhkveCofIBCBZOliKZFfyTqHqxSgjhijCjcFUQiqFpRcCPIwC", "zaqZNdMthHWDSQxucloRABbtxWRfsaTYgRFjoJlepyoTxhBYoLUANwAzGmmdvSRMtjXLGigQHKrxUvqDxTPLmnnzszoLfVrfAUTjsBlFBsJIEQkAPdqQthRSnAirEpvBewPWDAVBzNryKQCzfnIjOXqLPIlVScClOBsUMJazjrFLKGjCKlZvfBuXiCEiIusXpMZVHnUweqrqbymMYTwvQAOCPeaxzaLdsNViJGLntcewnKFrzAxrlxjgvcgADIqEJBhJpcGzFTirimqiFwXhyKdCiAuXScqNBSSTwNZZrwvPrXymxGBmvXhUuugSlCCljAeGaxzBflUhMdEevtGdjAjcERJaOOXSzgEEXoHwHEamsVaPFQxcgfzkHppXHrzFycmVgaIczKdYHLQlVrmjfTSnmpVPUpWmxDidPzkZotXGPqUzdWPusBPrpykDHZJYBuwELBdiwDkqRPFbEjFMJSNVZTVQxooWhgZZkUUACiFkXMWTVBdWpiqjTXWwBfNG", "JKeCamKfqFLUzunbLCkBjpgOoHVGOzgNcrfpMawdNczkmlAIfgfinPZEjOzwXzRRGiWyhFCqSidwSBhegSqRhsYNXMXYihQKNbJXhCcAuJAToPFHYEKoZxRYDknwBwOhmQwluvKJOoHWtOWFHFpyJumVbbliMKvHnAVCVWcKMerDZedDFRRyqaOEMpnYIBkgbilcbvWPJdLCfDBCFTAIWnNUwcuvhJeDqMgdFbLFPWkgcwfeuHDTjwSaISICyKEntORWPmhTXCXPCDWCfCBOCPdGbgSQQvaVVoyGEysSaqFTGnzaxHKAJzpFxgxRARjRHkvmsMyWxQPxajLOKtbyoDmqqwcQNrRVnowMxocdsaVMByTwPkbteSXobGLGkzQdVNlTMaBieyKpGSOQFETOGCHczrkmkrwkyaTWHLULjkQMIdCFoMcQbAXLGBFPodLEdUYTvWKqIJadVLIboQnqzMJoPQDFDNhQyNEwBHHrlooAxoJfJHhrcWoMnCToqWxy", "vJOVtwMmvdbNBRzwAsaikGiUpphkYsJdsRpfmKLpiHeGcjRNCXWtWoQmuOzeuvqmGQPqHGHTpzkuwijewdooCqSrHURoYxtJULMQRYtDnMLfWylPmhRbFOYJGdukcJvyAyJQheMnPkGbtGwPLWYsWVYCCoeRQyQrmiZsmWmNCrxenCtrZDsMWioCBHQtItkixzSMUIUpOlHUnSaCviyFyEhjgvLqyEjcLzBUoMNVcsEBLjRIyJsUjVAhTJWlDAQEFIEpOoOKfquSsvEplEMBWosTayjVNtThPSDtFLyTIpHCNIcwzJmXlQXfzMCQPzwGzRIOrLLxhTDxMoITwpubQVSooDIFSBbAKdgubBzAzmMSFDjNwwlOxIAQWuAGIZosfUsdRtIVSYssykZVuHzzStftrwPHeyifEOaOntMNrzZDLIJoMcAFkzXlroHYaInoSDGFWYKlKnshEISpjmHFnYmQnrMeVjubPGcMReDClSgisksxDAuYHVsXQpCXWYJN", "TsnMPKPLFSXAYuCiOmRgwXojKOFSFYjcKbuHLQiHwfbdnJcSsZBXoDxoyUeAgQgBZrPdOhfrSKIpYAXpWkqBWzPdzpCyxuYASJFMJBTPeOFgxqHYiZbOZrTTKeVOTWvDdKZzRKewMnWMdlQmkCXmdThopSIOVFwqGJVwprhRYAYjLrxvbFXNewLPnUeejpxJILMKBUktUwsDblNeyUFwttCNAaDDfIlwWgTUpNEfxSQFaFbPCCtfSDUtmCyefVUhySSMvJjeIhJRoUxdSDKVJcxcsCeTnqMCTPQJnNAQwLIUKxRveLIuFUtxiZtiqGqUilwkaOHBzAyJyedhFkzwxLqLaeSDPKsrfVZmlgdIRKtCciXTLeEAcPOprnYOEcwKFzVnfbiSmudDyQTvvSojFLkLxiUTvyhECRvojCVlfvGaVACqgmerIWVSFUOIUctXvuDspZdkpAkiXbeUqWfxewOaiCCkUfTeWFKNBqtwieWYYJiilvaytaVjiPvLrIUa", "vbwSShRqZXlfhghPSbZBNLhkWWXflFSThKSMgPYqhtqiolvGVRBNBeyYtgpfiDLSSvdNUwUeeviEoVeYUmkriYfwhdPxEpkXItjTFhBkduJoXJSlxEfVDHRVrLNyFlFvDBbEaMYwoVPYXIkMaErKIKgAYNmawTdHDjVaCIqCCdpeUTdllVCKhacDeKdeKbFLZZfLvBbmgbWeRRbXNGtOepQheeCYigopfwcCnbskKGkdrrHKZpwTgLWWdSFBAdblMFdzuasmMmoANJXuSvFJSPMHZoNTzHpQttMZSdZaiRTLXInNfoaKSaJGfPSvYKlULtDUbErdIgAkzvkoZaiusOFqJbWxlRooiAGcTUJtGSJYuDvloPpeVGULBBquDWXQtnaBWUzTcywkvkhpjCsEfwjFTwJbLiolWGXGMsWumgFKffdaMrTUfgseFRRIjkrkVUBDhdRhYLBhmxEtaXxwUeTKFANWhrAftRXJtwilqgPUJQWkHiqTgaAYwPKVeglp", "FPvCEvhtbeUfJSjccFqIIfyoYkJSVzxyvjfYnWXvwAgzhPFDoFsFhNFxBuEVOBjWzpkeViqlfsxVZteMTZtxzZfVzWwSmzvUSXoypbwUfSuQODpDICbUalrOJmRCQlmkNFcwNsCaFpZwWaJEZuSSYDyTjkcQbgKswrWhCDARVOZVMXACMiPcKNtvbaAlDFcJUgLRTzVLcBAKVHOWZYdPqNPzCwLSBpOxnFmBIZhJjYzMyFINSTyomIFpyXbNTQqLaOLaXkYrtXKXwKUQycvfSAJRxafnzgNyohlloWgTWfoNWyRgYFHCfIguRBCTqEkYCPUXHpQkEWpDFMyvJOCYBNFCmfRrOSryPPyBtdhRlipjUPcreOoTazhmZHNjKhrXptlktVzcYAohwZWKjaMtRgVXpblzGWKJEmakVGlhsoYavQoBDaNRoBVDIOtbmzbYAOXFSVNMpNbZVGorEkbbeQeqQzOTubciIkNvvoIooCByCPaFHOnJeprjCjoBgnAZ", "olDmpWMZcrIbVxJAwuIdavJIRwARAsubYlWZaIEuWXboWoOYadodTlOJayOlAzOnFsketRgfqfCEaqEGcrLXaKQEecYRxOEDHxgGKQLgpbrysxgVzMKCNnWZXXcPZsvPZnELwNjvwguxyEmFwYQigKJICyDReJofZlUlEkFyYoWHeHITNXyJFuIEpgCutoIpAsPTcnZtlAhwmHrLtDtygVrSssAaYkFjkETMZizEwBQwpgOejSoYtQMJPDifvAddZJgYSgRwCVqVubJrgsvJSTRBnrtlyZSkNhgDudXKXtYwvgaQrccXxGAYcYUqKskNwMPyIqYKKuZTaDMUUiyzsgcQAIxOjWPRtqZUejnIcPutJexAwefvrzfYKNxmUkCUOFtCZolKcmjRqaNCMyjUHVgDwlczVaiiByqSdRlDijKZaDxmzivIJXLeocWNLlhOMFkhFBZxnRKErNHqMIcbxbUfftEbeGNYqFstDkIGfiCQwgYLseLNoKYFheIRteLk"],"c_array_date":["2004-12-04", "2014-04-13", "2016-04-04", "2018-05-16", "2019-10-24", "2003-09-19", "2007-09-24", "2018-10-07", "2010-08-05", "2016-07-04", "2013-03-13", "2009-09-18", "2011-06-14", "2012-11-27", "2015-07-06", "2010-08-28", "2013-05-15", "2019-07-10", "2003-03-19", "2002-02-07", "2008-09-09", "2005-05-10", "2009-04-16", "2002-05-21", "2002-08-18"],"c_map_bigint":{"c_map_bigint_1":-8934086922153514930, "c_map_bigint_2":-2119513898264615638, "c_map_bigint_3":-5419714543556411733, "c_map_bigint_4":5918432697000941102, "c_map_bigint_5":2952783298323698601, "c_map_bigint_6":8990584246479295204, "c_map_bigint_7":-1599024083298779860, "c_map_bigint_8":961098706796965333, "c_map_bigint_9":-6991144244992227417, "c_map_bigint_10":6437161047132233567},"c_map_string":{"c_map_string_1":"sGJlqjVVOnIoERFwfhBCAuULzSklkxRxWNrceyzjpjEcGzKhsSTmhXhRKyazOOjINaYPXvSaRQBFKdOgWSxjGOOgAwmEaXBTVyxOSPeSjJNfUwhIPIpTmNGwkexUjwalyrcGIKygMAOtpDIfZacNCrmEmnwVxWXvuAKyjviTePKpHCXnZJWqvlhMcuJCsDIkPGnAAZHdlQTRallCrFFQFzvrzsRGHhhMJxXsApZIlnGXSvdPOKvLBfQZicHKaPzZsJOTKcyOnEWKTGthStWAwdZMwsaRoiAiPAWSIszyhKpkAQfSKYbrPhClGnJntgSuOywkgQKvYVCkauWPJqRFrMudpGTSaNvQtssaKhyPQKEAIDDqmWHBVzQfVcZnmhtJYpRoWLeEeiDRrTKFxZlcLdUmknDbPlnQOwHYIZFfmhTzEweEoojYEnZJIATowKUtBhpwbDtHuDtAVVpLkqwQxcDjMKmbuEdIwoYrcqCBlQhmsejsQyHqDGTTotiQaiKB", "c_map_string_2":"uJcKGUykjNrCfkjmSZnhvWqRuSaizwnhXdmePdGQACfqrElAELOaoRxhOULTMPJGJAziUggrsXyIySFxUfmKGwoLcpIKaDFdNxECWiwFYNFCeMGjulwEAHgGXbldPKPiiYALMpHepfFOwdgfnCgfnOMiqYbQdkcKDfHmggiLJWsnIYeJVmLXNBTRFDdpNxImqBJWnmvRCCHvfQhdNNtZXmEtfMjAuGESShFqegedaWjwtSdTwLsUOctAjHcdYfdPaVUuBEorLJXwkLHfERPDpgCZNEGnxFZNWIjBjbigYNXkyBMJsgnIInBQCSLPcpizbbTqoYAoOqHfypAixOUjLMXewrJVUbOFOqAfhyVjhMMfMfOrdRcesFqEwutmDymmvoBvgokPIvPWcjaPtxSTUrWQYTsyAJxIAfLrcSvXPVxXmpiFSVvHKayOMModqsMlhUSGpvVHBasSAhCzLtAMsIDGWTbjxgGHjWmGBypjtTAlJpxvBssySzhqxeadKlYX", "c_map_string_3":"TbHIXXyTqkcVlqgSrRMBJoVlxMfJKvCyyuwoZeaxtaphVonxoTcUmrthHbtohrKoMgjAPYPRtYEXseTYgjBoYWhaSWljufbDbShDGBFprsiIeDpoUwpVaEKQDunajxfBhkDITOWOoookywHpGCvoQhLtQAorEjaGgdScHZRLhcrgmvsSBtKoWrLwVJsYEfxByduxsClEzKqFWUvuqdTuvQbZcQNWylbBDZUCgdFBHRlqvRLaLvsdQdOlSwkdINuVTqMdJMhCVlxAdBteSYNtxgLsPHWsBkoLxRSrqQJXGRIxpaOVBLmTTUnmAYZLjrlecDOdXgqglImBxRVPEAGPafecwYLWuDuHZerfSWbDfoVbqUepbmtSMFJQojMNfVxHJynQxIDuFmKKuGVMcskUrjMboeuCVTvxJXmlnTGxEKHqtNhBoiWprEsmCYrLPVFmkcSoOTmzXHDYWnKwEHzRrizJpVajnRTeuCkXSkfsgLYPUScKyUPqrcjEhSlkXzmO", "c_map_string_4":"shjTAoNwrfRoGWUcudcCgRVjmzOzJGqXBMNuqMShPfcOwpegWFvxBSbdzoJrEqQedGwEuRwvBgjIRRWSYxolZEJdsNuCyJoaTniRAevSXYqfivmiXfMJmDhnoUYZjgtrKxrsGzRAIsTYuBEtgfqYzqbwEXMBQGwlGnTeMhsRSRRvtUOFQHzNczUpshatySyTfjLZePVAsAAlZDuDtWlFTDiFkgvYLZVhfNGopPqwvTeZogOTwjxblksKFZwmfSqkGoILJOkFmbTSXDIcYiPXDKxXjUwnszSJYXpAdNVNVVKZdivDuVrFFxazHRLWkAEKKueMPDSJEPHIhbUQCEZuxvExUjVbleEQoCrHAhEXNbJcGcqmGjPJENfNawsPcEtUHDaWFRhaqemFYycNAeSiODTVlGDVahYhTjyKQRokNJjwLcUomGeBMbBQpuDeRcNFLjpWoSKHSBlgQQKEMDLYIumbTXXHQpiZdrOMVFsaZNKbYHVTDshLigsbJfpEsnyi", "c_map_string_5":"CJjkSubhrsGUQUjsNZjDYtPxXDxwyGDNHUXlDerLXTFyxhknJEzhxKmcLomUoMJNcAqPZuCKimxLzDjynMzxDGEbsrReuywewFkKHGsbaOJKMQdguvNRhnMjrUFkfRuBBPkAffqQabIhZUiAybvYDraAqgRNmcslivpFuszevcrWlBvbkZzeMJhRoenutzrsXyZgyusXMgubaaFKkSLNSOZguwbwvHNnooHonpLGPPDqxqYbfvnoQaxgfqyuRwFKcxCrYSQzntSxQNmQfRdZQgtzWPlgtUvHtcDjKgQquzeXOxzRyJyNcLpjPFceqwlFFfbJkjVCKrRSBJYrUkxrwLVgTCFkxQIEPhkFbZfeshjXMXxlJnqudPfRnKzxniDHQglxqGsvhgeakSqyIDAcWmzLPTGfjnBDCuSgPslHEcMkXEmANExYHggqhmtFtHaodDrnJnJCBpLmOXkSXTrvECjVQTBQJupmkbipGMOhaRavjrBGjznRytbIIawECEjx", "c_map_string_6":"ZPccrsPZUrLlXhGJsLRFbIswOyhbDrVDiEWgSguSGScakLxFLUfVAtFSqLogUeJuXOTIVHJfAUNaRJxVpUIKAiFazyBVWQklXghTCiEMGKiuQCRbEEXCFoQhmLiDVmwCttqqLwQjGiYGxZrhVCKlvzYfpbyaleOznDuZmBhBIxIOOfcPrIFirMscxkPZjMvRHNHbFWzQHzVDmvHRmpEjcNMNaSyIKBkCIutLOxrHaEChaGJdmMTbnbtKDvDgbJqUliJezXzWSNjCdpJxudLAdqNSjGRHSqwufQQhSiZrAIyZNYSkNwGnqtdmREiDMNssjdswhwQXVORyfgcrtYXyjioYaPZWTijCRUzFlBGsuISJaWnZIcOIMHWANffyfJcKVZyjVIwfSyuYrCHTUZKkZEQcDvAFddZEsTHBfaPYHmOhoXkuoFRzFjNanvdPGCnFnrJsKNTToVQczsrBMuPioPAvoXlgnETlWJkWZtlEOGmfJQtYKpmCFQVHdfEBaNAT", "c_map_string_7":"YUDAFSCrPCZWhGfCXRxKWoularOuLwHMVGAngMkLZFOxhUwFiahbCLsRhGucWpgXZNwiLVUxFiepZKKuvQZGcphlsmZxmEiichPTcTWkWywkdoPPGOXQERaLXKxgINPRslXmywhNjYZrEAFRPXMDoWWOhrkKYRnZgkzOsnAYcCcWmeWjqcgibEiHSDonsVQkAwBYcMrezGMKeaTdNlLRmUgsvojweaGoCrOAhGubMrjtzjBtgBbySsJwtlyVhygCujIueWvhUFzfRxEJZgvTqJCHVfDaqwiAmycdlflkEASKiZeWJQNSoBchLXpwrTjLcNEdoccUnRTykKJBLBhNdpmCZjnhLEfBCFAteBgvOISXXITThLSRDRnfgEKjtmqZpBSxDogbgQfTHSUaWCEkpURTHcNZAQdOejdTVwajiMTnvrkBxidvHkPZbxlekOGdGCKwRhMyhKPbqSecidYewVyRnUtHtqROViZFtGNJNHdBQgkqIdzJZfZgAjwLmqrB", "c_map_string_8":"qcBktQomPPPUciWcSgQXdaXEjvmdVZRSFLGPyCRJazAvcXfVruGbMeXVMaDBAmXZlbvNBymflePjzPdwvZCyLjueYIFZIBVbwKRGkMnwWsGbQtGRPWZPJKilsGydouJxaRZWAntznUeyVeFwiiPYLOepTShculyCsLgdLstrRXedCHUuIaIoNHSeePEWqljlSjwZbbNEsrNDWBgERgiOLVldjllNIyMZrHMHAKCrNVGLRMqGSpOCxapkHPykUplnfHdclmyAnQQjYMsuDVIDYkaujYlYmUhGbDBhkwzqoXcEpdBmCYbmIYZinsiXnkKuGPLKzUgpgZpkzxwJgaDJSAspCeiUKWutJRyEPtnfeTmJiekcIHtISIhwifWNPCIFimMQXQoManVLQGbSWNyBOkywfmgBdPZrdnAbTnUHUKUVajCuFkFyBXMebXDFVjgvnWYyXspPcYmOWoiafJHbxQFaeBSbOLoNygnZXSAxXrYyTJVNJLwzNhgKnpZhWNvE", "c_map_string_9":"TGMKvyInDYtwiJFXYIyWdAifwcvbfboMXRFEZvHywqaWRIesYLqNRWAectpSpdmgIYcCjJrTqaHNZCvLomgNHNTGmHDOrKXHUaAlXjWWoJbBlXryXGGgMveqDnBAVDMumzWuAwfnwajOepAIIADwGcxmLYjZPCUmJkirVljdAhTLwyFYwVcdkLiUEXTQpXhltFXRiGgdIefKECfxVfRrvwlHPsqQlzStiatLzkSwwVLLBaDckIwwWmsYaENsDpxQrUBKwqeShkLGzYIAPnzFYHqbjAEdYrNeiaPRpOsvvwhyfJBikvDxpAtiasBaObomGlFaNAKObPztVjbaFZAjOcNdKwekOGbttxImNYDBJuOlmaKkgfsYyFMzcApRNJJwBvokuhSOJMEUsXCmKhRqtiYXvXmEvkJGrrSyzBXnJHngtqoXtzcRbnqNsYuNZsdlQWjLCMeAGwfyRadkehmLukKDEfQRxEuRecfMDVKxUyvcCBuefHsJHVELueuKXdai", "c_map_string_10":"qzNmZndcvmZrhGygeXFvTnkHnOhmOrDozPZCAOOnmMbGBReuagGCWFgVbOTjTllPszMahqFzlpKOetKdWrRftdgdeFZFJWFRULSXxQnHdAuxDdsTksIYVuFjbiXZCOVmZdpQoEOzBVZXjcrZUvQhotjiiBkTJQPJBxGkUZcgynHzIOzpeykWQEGlJQWdmGyPAiknNLqBZCXRTFEeIXybOWcoBIVUgKpzlIbgDgxywiUIRaQjRfwfPemFawnKsldYFfbrEyVaWudSoMYEbhEoFymDcslJumAlSBtUBEXgjQiKpQPnRBUNCCMflQMWPhlMpVuvlDNKeqoiVZpZtpdxVWvYwWgpcpkapCGFMmzgqwzkuuInvElflgtfIlmwsyibRBIgPOJOnRlGUyjLBfLTWuHEVrlOnGsHJJTsRmXWyLZWpvwHOlBifQNJEtgCiOKYCcJCfqRvOfDhpcJJPlrnTwDQjHDbyWkTHOAWHWYnCguzrlwqygdHODLKttkycBUy"},"c_double":5.631091593011702,"c_string":"rrgepTKlTloVnKXIkjpiYmwNrOcRrIVsRVEmIMyEHIJcirWiPugOJTrxUsdqljZkbgDKObFQvsnEspdIPvKANHPcZeekRbZQukKgsngSdSwlIJGewmjBGuGKKyWMFSwYQuStVYhPLFYHRthZpuJWYuimwTirYKWnVrNYMnzBJpNgTEichMPkbNIOAPLoPGDKmDJjgqxWDAbNvujfzLisorNYpwpXndDpSuVAxGcusnjFsBkbXfNCYYdrRrFklDROWWYAemooBbWyQjyHHjxAMxIHvgrQMDAUhslvrSdFQurscGCqsMNwlDDkALUGQbsmpwpJfAaBesLKaZfzrKhjcPSiEanZerxLwlhOGGrTISMCLvjtUtZvzMGIHAshWZZuIIYiQmNZvlzeFiDKjuLuBcsjNnDVkLMoPbpJcXkfQEragaAzHaZQgXjqyQZkxWAMAfQZltCqTBYxWeLBDhcJUcUNtUMfaHUAMosQmzNEdYZoMGxYkAnLNNCscmfvhnCh","c_date":"2000-10-27","c_array_float":[84.71634, 85.328865, 45.88898, 2.6283572, 16.686012, 69.39209, 20.035322, 96.944405, 63.06578, 70.95977, 41.727505, 67.84074, 76.39376, 85.12703, 86.85428, 88.61803, 76.19991, 52.282455, 29.837292, 14.351629, 10.201802, 96.73754, 22.006388, 55.04856, 14.618445],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_char":{"c_map_char_1":"ImDnqShKPl", "c_map_char_2":"jzDlOURSaU", "c_map_char_3":"UAEZVhbRti", "c_map_char_4":"AfyVPygyRI", "c_map_char_5":"faiUhWqhGL", "c_map_char_6":"zBQUVaGfmq", "c_map_char_7":"AaTSQVApWe", "c_map_char_8":"qMHFEZvUnR", "c_map_char_9":"jmpyLtPgtk", "c_map_char_10":"mPvwiqoNnU"},"c_float":80.19132,"c_char":"pjiUaQZhnH","c_array_decimal":[22.0850, 76.0673, 91.0838, 24.1948, 97.1413, 35.1453, 42.1961, 46.1068, 22.1423, 7.0903, 53.1524, 12.1818, 71.0617, 73.1382, 43.1031, 19.0638, 8.1235, 57.1684, 9.0742, 93.1670, 76.1976, 92.1171, 12.0123, 57.1113, 50.1764],"c_array_ipv6":["XwGprWpRJS", "saSzHeDLWt", "kZavzvlXDd", "OLcJYWnqBI", "UelPmKQiMm", "kaoftMEuaY", "rVzeVaCNiK", "ifPWpkuEaz", "FCaoEyyexw", "splcNinbvP", "OjllUsMXYr", "SSJzwGDMgd", "UZagAxhMiR", "VxerFkMPWW", "lgqcMnFSYO", "MZfrwkpfnS", "AHDUeAcETc", "OAtTZXOEQa", "nbJeUuAVzA", "pGjdACDKjN", "ouoxRNzGBA", "YRzxevQlmr", "orpgeiiONE", "VGHppWIzEz", "uWiJDRyowP"],"c_map_double":{"c_map_double_1":81.83821949079916, "c_map_double_2":78.71590195928216, "c_map_double_3":100.1950643886113, "c_map_double_4":48.21962532685184, "c_map_double_5":36.36754579394439, "c_map_double_6":49.26283779926751, "c_map_double_7":96.04573509077764, "c_map_double_8":17.679718615523154, "c_map_double_9":66.3461412594823, "c_map_double_10":0.337761537472488},"c_map_date":{"c_map_date_1":"2001-06-04", "c_map_date_2":"2009-08-11", "c_map_date_3":"2013-12-08", "c_map_date_4":"2009-01-10", "c_map_date_5":"2000-05-23", "c_map_date_6":"2004-08-11", "c_map_date_7":"2015-03-15", "c_map_date_8":"2004-10-23", "c_map_date_9":"2018-05-03", "c_map_date_10":"2015-11-21"},"c_map_ipv4":{"c_map_ipv4_1":"100.31.232.101", "c_map_ipv4_2":"198.76.239.76", "c_map_ipv4_3":"55.119.151.137", "c_map_ipv4_4":"161.98.76.74", "c_map_ipv4_5":"219.55.203.250", "c_map_ipv4_6":"41.73.153.185", "c_map_ipv4_7":"211.68.10.148", "c_map_ipv4_8":"79.118.137.112", "c_map_ipv4_9":"74.158.170.204", "c_map_ipv4_10":"168.12.76.181"},"c_map_ipv6":{"c_map_ipv6_1":"be2f:4ae2:d0fe:cac1:c446:29a9:dd41:dbfd", "c_map_ipv6_2":"3563:cf69:5065:8db2:c5fd:73b6:1fdc:f237", "c_map_ipv6_3":"78b8:f0e8:2695:7a02:733a:e221:6a47:74c5", "c_map_ipv6_4":"4346:fc57:1020:bb45:f678:83a:3e60:f8de", "c_map_ipv6_5":"268c:5f28:e9e6:46f0:80c2:a419:c788:840f", "c_map_ipv6_6":"8071:44d1:db57:ceb4:54ed:f397:aa14:4c8a", "c_map_ipv6_7":"163d:2f71:6e11:e8bf:12c4:fa0c:24b9:41ed", "c_map_ipv6_8":"8085:de86:e18:2dbf:3ac3:39e:46ea:247d", "c_map_ipv6_9":"335a:b7a3:6ff9:af18:f98d:20f4:af8d:7731", "c_map_ipv6_10":"29b2:9892:dcfe:9eea:25cc:2435:885f:91a2"},"c_tinyint":-53,"c_array_boolean":[0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0],"c_array_smallint":[32186, 25497, 29458, -27732, -28862, -30300, -1370, 18284, 27259, -30363, 1762, 21461, -24582, -23906, 17265, 21454, 31367, 18010, 13765, -32703, 31843, 22264, 28471, 23351, -30537],"c_array_double":[29.2254749680632, 68.20302943306889, 48.19558677604601, 70.66350154915175, 55.82963420279671, 65.76837160894027, 51.84189893258435, 75.20845720901805, 56.71537114938786, 55.861293490805046, 68.88564421036486, 96.8807437099438, 79.78464730182803, 43.97426429646909, 50.75544698307589, 47.20557117842963, 27.527941285291032, 49.65698946715762, 37.96275426965158, 86.86331362766269, 57.86565518599649, 35.5999271264793, 51.13501358106295, 35.79432662457354, 29.536410169889294],"c_ipv6":"749b:a41d:a4dc:ec25:5367:535b:9035:b928","c_array_varchar":["wklhbeKfkDXzkjthZXVUhmdobiXXaOofGXbmrIMBMRufMWoDMYuphmFjiKOyosoZrJGCgnauYCeOAqfKksJAYOZuluXInVIvgHrPzNcEfFQoaxpUIvOzKkKDYRkWaxQroZyQAkhUGMgeMnKuFpavbGKQllHwEFiNeLkvBBgNwPBYrKQbIbEirStsxYOixLOqrzJWyZNHSJuKrqMOWaTaSJiaoQsOJbWvdWRgpjMHdncPbZvvVzXYUqDZMMoDHdZl", "UfBRoTvSbLOxsYeptGKplfapShsmaUsYaSFHvBmitnRROVaiOZxOTuFXlwFzxUMXOEzMepyCoaSWrJDIzafSnDmXHVbauvtenpCFtrRwTNnXHmQCGMualOdFSHiGhJepWNsORlKaeXGOgqLOKrxCauxJTTDuBAMaqWuwtBKyAUJzIShloUYRpfbzwmyYuRTvYhtSywMZZKHZlYnJAUoFmElRJXlpkmkuFaieRNvwUzaodokbIkpnJzEFTbVhbwuq", "DRiABrutDDeYZBBIoiTwvxfkdpSfzoMZOgWQgsjcQvzFYCNwOXWRrqaAOmMEIwPEoZcUSztjCjCgMmfLrJdGMGXnQQJHcFOMfATyoAlMznXhTVkWxSDizUnTUCuIBDZHIRsxknMxziXXYSvlJhxigaFOmzKnOCaUtssavmjldCAuoIPzEWPcBOQmnSZyGOGDYAFljLeoIicWPIcfHLoqitiaANRpkAycMekIFwflaGCnzSkhKmpGKlFSVUQUPvWl", "lHBjksOhuqdlxKqpHhWxBktKGLPfJTescAndhWthmIwPlaEbYjyqRfFHkbJOTyGnYaEHycnTsmvwcqkVaoGbRfMNoZtvnChaZdNIhWKkXwLMXkqToGXeowvQyANSPSNRGxPOzZKgUwYSptIBkRsKHjXzivkhcVceIvDOtaXccRSQHypstXwqjOZvbuVKdLWKGEDgusMGujOxkyvXPBbIGCPRjhcxjKQtqIGJVKAoDYRJPgmKircipkVIUOERAwSl", "ZWiYpUDpYcptsBFDtFpsLwJdfAHSFZXVXgWwYkfQgQxcoTOObJBWOwkEtyDaFBIIecXUKrzpfWAxDFFqmcZuFucHlSCGMDolkOcijYreHBJzXcceLYMvaLOhGWrtAviMldQBppCBbZIbEUovOgWwuCzLwGoojbdAOmviXLtjGCGstXqqRTYEIeclsGtMMqDqxCFIChYnGLgpgTbgfEDQzDaQpXrLPBVkFDSiaDBolICgpNNHHjbNdQlEUZWjqmqY", "qUvDIPRxWehfhdAlGmyhOiwlqOYcPhAGWgeapdHoyoCDKSaznZHshICynxwmjvVTbIxjUPCrWuenqaGwcutwNNMVoHRgTNePEzUVxnVqurgHoQxVWXuWHIPHdCiybybwgZrzPgcwXiQflAWXXWsQxnJzmyqGkCbYwbhEQdgerZeCaqXLqNZiFDBhEwIfhpkqCikNVKeJHqLKVbLUivPzqFPyGGjMIRKRupTJVBMhGLiXtQitqHFXHDBHANcTllTc", "BAfppjnhMtMdkwPfYBvfglFmaqLgzcdrHxWcusCZOlgBvcdcZzmqtGympwwqmVGkBoNnSTmJwniZyDWmjbukaQLadusZHBhIeMdiQKwnEXSLVEYSRTqsPEaquOMTQtpKARVzJxgSoSGZdzlthTlVoiNgchSXTFgpmxTKIszmliJwquXDNHOPsDXDZbCmszGGNXKWiPCEjFHrCAIoLDzqJdjCsreyfEoyJlpoinFgsLJsKZPjnShwYlfEJGYAgJmj", "FUuNvzJcCNTPuEvugDJYLAtTCZJsWXVDPewDooxaJweOggOImiByORPdRCxIPkSJPuVOUrjBqMRRRxkQwNMtJMQsxRRLBElUxcNczSyDHckhMgGQJrYDBZDRABhGJFrlkvJgTPcjiyGJpIGLIuhisAbSKbeUKYXVCceBZcrVjbChEviSFjeDkzsgzRMRDorfzEqiabGRYTTZLuxTlBdGuQeEjIyMFOdTeNAiDMAsvFFnVoPILsgEBstLyQCwtiIk", "kCzpczEgLdtlcgoPnaGDdpLRXaMszMRFSmYyhDYkTvWbPPKnmHTEkkhBELqxaiojLTyPbLkRIawzTKfoVNhLgtsaKXvkTbTbVwUPJTgeOzGHcgvPRUYveHwebYlIwDGvDybrQLYyVMiZkOhFDtWxVUNBcaOvWAhVApugqxcJgFLBvkeLxXSafELYAXymeUubYnBjQegvkzMvBPdSzUZjXvyklTcxVJvZXHBtfUEwlAgByapNlpEtgLNGCEfBUrYK", "NIIfmfuYQQoCvrWhMIhvgwrxUVwRlnUDtpmSqtcqQamdHgPWEWwukDZsoUgNuohFrIhJVEegARmeelsTBVmmnrRUGDoVVcozIXXPKRtkzUPkoqqvGmCDCJmUYyeQzgIcAlXSOZUikLkCoFHSWCIaDeUfBwnSumBLdcCxgProZrwspFSetOVENgghcfHwEVxgcWvCOeYiIAMMlDMkwkaJghIoiQzRgKzHvXbNFddKALSfrcsFFCJrsMptfinhvHhD", "OaWXFTFxQqsJRxkRZAYKAIkDrhfVbzAZlusyJcTKQXKmPzlMDxZtNASZdWkBwNvcdsIVyOvVZeOAmxafZYlCmhNyezFLvRciPUkdxClClUhduswutGeQOsYNfyKOqXxxRwpbskazBWpxRjyWtQDXHKvYdwRevziDXtYmDLDsxKdnIhsqcDOKGEHGJZwacJlKIrqrUheTyBOuKCWdxpsbCJDeYhmoPJjwWjzgHVkkuepELKVaIBiMOPPdKSNlqHyz", "OetSsSLRDDXVcEDFnHMPEfjkBivlnhmFfyXpIaGpJulHJOQHNPcGvMBJverKWAZvuPsGNBCUPOtqsxmPNUsWRSUVutmLHHdgytJFUbQpvFqhUhjiIiTonyjMqyRkfbyXZKJQuROkEnmRTmxdnZbvtzfJyILQpFFwIoUEIRZqskHFCgzOwJfZeKzvfaMWLsPwOvwfPNBZCYYGPlKfGJUfqTIilNlBIEIKdecOgfzsNGiIXfcCYGfeZtBAjZjgPXOL", "OPtKpwthflOGCMdLSBBXJtnhUwzaWdhZJhQAAFXvHLGcEYHxcMoizFyqzgdEIXLkViVjcrNPPxQeclWAQHpFPFnCiKaoKdtKZFVhQcowGwPXUSlFuZJnNvkoWgLjWSmJwpCyYKSqYHpQKdidjdEhwGDYTdkLBeMNvWeQxrDVVxGPAyATGPDrueaMRyKdsauEEMLuqFDxPWKTFxzueEmBhCxjjVHKcAChhRSCCzPxVbKPJNorzwsFliFRXaenEsrH", "mCRSxjTEtyNMBAihxOurYaSGHotqeeTBSenquhfjKvEdyccjarlxezWdzgffygjWcwcGboGOZXdwcpvijHXmYIDILHpXXPJoLzbzYfbjANmETdQVLszroreyljpTRJtFVehFoPiWYWQoNOvpLTJAnilbLlFYucMOfNmWDSqGxExdHyAyxFMjGHijWQVkOPrSctCHcFaroPuyAUOCPLRnJMYuenNrZIePWkqWPSMCMvxemtoNNviPupInaQBzdXWy", "udBgnESgInNVZMQmRmKjEDlETKBejEdsbOpSumelFvwPITZwfIRSZmnnCZgECSFkGavyeQJLBXidiEvyJJkwVhXXpFWFsXGLMyQPWxtelojcMTZWSTOpNBQIGKSCmQFbOlLnStbMKaeKGaLcDKlFkpYZtoNyYGIHMrzWRHrYfIMqbuSkWFFWHDcAPwaKPTNhPndZlKNWfEeDdcpdzvybYelrwhYbSmNGMjZBtdKygAhKHMeTQuNqGITiMiQyIlkX", "WidLXdUvOhmHcnNfdfmDOevBoKxnknEVQqdgeNRMtAYhMuCVucMFugYEjtXHrgYmwwGIyroHXmZcKIebydlCIQpnBwQMZmGNSCPbAtPGvcXwViNEPHKKHMOIylTDMRVgHzTWZVhbtEpMdnRAPaDfNbiMswAiLxdTnfsFFyduFzUvwQlfqGcVGgcLhrKVYAfMAjllxGEALVCTSTWpEOiQBlwVRAOcvWlkLWveaRVhGhlfOWJCEXfcOzPNHoZfWwbH", "BFYsZpTOvbqDhetkOELmMxcpdlLtVksStaSZmfIqkflXFPNrBmtdFXCXFxGsRzIVwxXShhjfCQKzzvzNqssdBonLCzkpfTQUyxVkvLfhFKWGKzDuWCrsJTfyVLiKinrlFlSbVwlQEyTxKfQwVCUNZxJpmCzNNFkBEQNBuoAhUomZpKdjzdYugTkjerkZWzjtKnwuBYWHbLlXSCvFOCtzoEvZueOwKRpRLCIhTgxIsoPSgtsXZoiZjqWRWFusUFzp", "dhmjBTAYconzHWVCjeOaoeeXsVQvfTSfPneLqiQUnKQSsUgMiUIRKFxnkvCJgYMSWLhWCdvaXMaWOfsSvNwqRVlUgQtYMrBUqMmnDakqEzkhqiSXrVxkTUhOUqTgOwEIxuTXowzqASuIqjxLpzpXretoTGrcLfIhyNmnQOwbiRTWgrhaFGBvAfjQSZXVXnonOuXHqKxVDQHAJpcQQdmFqMmNxYvlGhovLPISkzPASaSagTqpmtCGJPhIBmTzPGvn", "DDOEnDvMvzEQkZlJWQZjYCwuaXEFVXrLRRvlxKxgrVmjEVdiiLjvZuTmcrytRVtMFibPJGiPsYkqKYQKbkGzTCgNlKuXjOIDixcCVeZUwYrdALgkuzyDOmdNbMJTdwPYiZtOiQjtHlCvIJYoLuwYDEIxGyYVNdmrApYtywRTBcaODEcBWxgJXcpKVOgIgvlEeFiABMhiWXEtjgDVHQKVfXtIDpjiwByyNRAcHiUguDjdADZQDWzajZcNcwvhujAW", "bMeybxdFmylhnERvHbCMcIMbTcgloCnZXFQjdytLuwFvCShFRSlJdpXghjINHdwcBBsOnVLoSyncTGEzRIyyAzyzfrUoohmHciOWAKwRHQPEPapUJHmvmDHYYLWqbehBTvbBomuWutypRzNBWYsZfYauSSvEFYwouXpsYiBoPKmGMVGpSGWtqivvjVBbwRBZCQAvJgvHfWdmTVxJZUiPmsMjgOVCPbslbcuxlUnrNfSGeKgvRBRzQLOEuCqmKTQE", "TqevEhAokFtZAkdMQIOBYvNIyObhXMQeYSeCeBzXxLfvAamICllemoaDnLYqzMVpCsYLSKLTmutJqSxTGFUXXZYBqomZkHgOZjBpLxtFZmNnlDOXzfGAyJKdOrDmfSukWXUzAlWGSDFiEClDaJqEEkcuuTEVxeLHeYpnTqsgJvOnLCeHXHizbpsniTDqkPZolABGJFqebTqxXoDOXCvtCiOsxtHnfkzbuAqPmExithHFkptcTwuDuwOwpmDEouqw", "xdbLmXpPQaFfwMZvRWGqiTNIvDCjCOHTkWCMCnmgnABoWecCTMLYpVZsoNBLmlgBbNtdrnOGfyAYWLxxJQKOJuBDQuoUiMhSZkoMnMwVwExQchmGmrbrNLNGAOkVbXFoEFsJSwqVqIebGTdNmtaWDqBeffGZlOKPLLuqauQolZanIUXUdetFlpPUtNrfzdDncxWOpmKQdPfTxWLdZYvhMiYanhIsOFQORzFzRaJHIFGdREWDQfjgbBrMmhUzLfOI", "KeunumjNmCShIbZilHDKNsRtkbKVvhjDlLQKmxDklEKRoTyRGncJFesDrbYNbIspELgrFtsOFaTpeLtGSnUJaRJdIgWOaSVaaRtFKllZHFHqTspSupqqsnDYAhEdyCmDcBufIfilhBUXwsowYgxKkXdRcKaPfASfQVQXNOLHNFMrUJzoDEQiWWnIyFXSzneRFnazoeNvxJnYgeRbpBWciyXCeqrOKnTgOzLvJWEyKhSvbBcFmfXQETsbvyRMobTP", "ieuoeQOOkwMaGzFiugyrefaLbJKSGtkkrepkMqgqIeBEnFUyzIpONyXeDxFboszoSsNMvUhWukRsMlCfGOJolyTcsKgbsEvUUmkgyYBMwPRIZmFeDtzDgiMGtpikCNmbXHYIUxgSsmOKynPMJgjcBDOgsJJZOhrjPiGemMwRjEkewaAcGqQenojTAuyflRXNGKFBOKHsVweMRdhhZbVDEtvIftKsEhvJUPUMRBjlLxxTEPXgoCTHowIIHPDKpBZk", "pOifNYmLaUCiuvMkCIZcmBvsWSkWopJIoknKMHJQzZlzVhJkeCnuGkSNVCfhIsSnKdISUkyeQMpmiBYjzQJdbzoLbKpvZDmkImbVIIVbYWaPtlHRxAezwLZopTOWAykGpyHVssjwbzhHyvPFuRqhfbvsVNuZofVMHGcLjympEHDcwiUtmsiFYTEppOSYamllEIwPdFNgEikNqlVAsvxwXvwSZDyrvfbGerBiONtgdPrdzSajpjYgLzhyFsplQWnf"],"c_array_datetime":["2004-12-28 19:18:08", "2001-06-27 15:06:55", "2002-10-08 12:34:46", "2003-12-15 07:27:58", "2016-04-03 05:01:12", "2013-11-09 01:40:41", "2001-12-15 22:55:04", "2002-12-27 12:46:06", "2016-03-25 19:27:25", "2013-08-17 02:05:12", "2014-01-25 16:21:17", "2002-06-12 23:03:56", "2002-05-24 13:52:58", "2000-10-26 19:34:27", "2013-06-27 15:26:15", "2010-06-17 08:24:48", "2011-10-26 07:30:27", "2016-08-11 21:16:35", "2012-08-27 06:19:16", "2001-05-20 01:20:22", "2006-11-22 22:34:32", "2017-12-19 07:08:42", "2012-06-04 01:39:56", "2002-08-25 11:41:21", "2001-02-08 08:28:12"],"c_map_decimal":{"c_map_decimal_1":76.0736, "c_map_decimal_2":75.1648, "c_map_decimal_3":83.0813, "c_map_decimal_4":97.0691, "c_map_decimal_5":24.0800, "c_map_decimal_6":77.0170, "c_map_decimal_7":92.0884, "c_map_decimal_8":57.1970, "c_map_decimal_9":49.0287, "c_map_decimal_10":72.1553},"c_bigint":-3326970639124425491,"c_decimal":23.1661,"c_datetime":"2016-04-16 21:22:10","c_ipv4":"78.78.0.24","c_map_datetime":{"c_map_datetime_1":"2018-01-09 13:49:06", "c_map_datetime_2":"2019-11-18 21:51:42", "c_map_datetime_3":"2017-05-27 03:41:47", "c_map_datetime_4":"2004-05-17 01:53:56", "c_map_datetime_5":"2010-10-01 01:16:35", "c_map_datetime_6":"2010-02-14 08:44:59", "c_map_datetime_7":"2011-08-18 08:56:31", "c_map_datetime_8":"2012-11-21 05:06:02", "c_map_datetime_9":"2006-10-20 06:39:53", "c_map_datetime_10":"2014-12-14 16:11:20"},"c_int":-318620828,"c_array_int":[-316968208, 1956743409, 281614539, 1991550876, -1584764191, -1475080508, -1058924713, 1783849300, 1977734685, -1690349893, 744031844, 235593816, -42796745, -2127299509, 1565605877, -112273353, -1629870140, 1743886250, 891388414, -682973502, -814077444, 1291242076, -1968680587, 550712888, 1482443744],"c_map_tinyint":{"c_map_tinyint_1":-62, "c_map_tinyint_2":60, "c_map_tinyint_3":-48, "c_map_tinyint_4":-67, "c_map_tinyint_5":-30, "c_map_tinyint_6":-74, "c_map_tinyint_7":68, "c_map_tinyint_8":119, "c_map_tinyint_9":-17, "c_map_tinyint_10":-100},"c_json":{"minecraftanimal":"cow"} }','{ "c_tinyint":89,"c_array_largeint":[7499346077819069666, -1978805155100135189, 7139670257436336805, -4369279390389027969, -4627362758628375052, -586492999834632616, -1284772506372741448, 960047535368517272, -9219616983303270227, -65904463511128810, 3893990637268356616, 6781989188908406376, -7322684189275602313, 6432280772866883364, -9027653552708962013, -5812105273729062282, 6808702937416183679, -3577730505394197826, -4346345679938153888, 4523754261407251517, -158444822175516228, 1282140606157403161, 600351751976660946, -5712317664056410404, -8356470559539648469],"c_array_decimal":[1.0766, 93.1821, 74.0297, 47.0207, 51.1975, 53.0171, 6.1177, 31.1269, 19.0322, 80.0803, 9.0373, 14.0117, 88.1485, 96.0091, 89.0011, 16.0144, 7.1929, 83.0020, 27.1924, 96.0603, 27.1714, 96.0445, 74.1840, 4.1171, 76.1534],"c_array_varchar":["EUEOQfBTsLCQodoVxDfSLuQsykMSUbOOeJmzwoUGzKdfFIOrdDIIeXOfnHYNAXeqexAgcgAoVaOVDgnoUZHtEibqFLgATZDNdJVkEZSUjdtcFRJBVZcGgfAlxOJNQyAhEUryZcjTKSdKduQzKSwkexgHebORPLMfjCLbtkGRfnoVGfoBjYbBEmDAfwFNEBCfHGANkznQHflhXOtYZPTVEYctmEaeiXlhAYozmNqLFJnxQQGqCYaVvfGEilTMhXlF", "njZecqkNMSEOSOxKChNRaQUzaymNWFGolNkGRHehBwjSxVKVClNesLfdVRDMlFgREJcNMlOQJUKOcooYmHbLCtznUGZiocDhQwZKMMBPGNlRhqGaEHbOUbjQgOTLImzVkUryyMfcGjcMoiVlTwdZznsvaCGRPYXgQpyFsCovTBrewHPcOkcUYcAbBTkZAapeVRKiSsLcLTraOTXFwwILUJxAOPZmldrdOMIfhxhGenFmktKudFQagzRMFCuiwaHh", "BxZbVSKqPbJONeJSfwHvKwYwAkwyQbxTcuRwlgrUFHwfUDeoEniNHTfRIuFrhlFjebxvHVCtzfFtazxPBLtzyIbHLnCRvysBrdWiMaHasssTwnVCpyREfmBSoXFwAozZOCorolBpLlNSMIWImCVjlfECQESWwPxXAMyJGVOmgSvptxfampbOkltnkRltEaPtilywYBSEdChQijblViCusNbGhgShBtAJWKZDTZcuiViBGLfkZNeIhVljpBIOeQSu", "ZachUjzIOiBZSlnVAwFnlRGupHLuWJVJEbaosTtnPVBnbpQJtIWZBEAzEzNTzAAjjPbwYtZqHfCCTQPkMWVvUNhfjeVSwaUoTsDIFturPtgQThDrVnzRPOLmwkBwMnrBDTxuUAFfRBGfhsqiVxKdgHxyUHMcNsvQYfWXHcsEAgNOFypplsXKKEljZTQWIGKBVuHkNUFxAvTIFBMMTrgWbBlbwGYBxEeInpnqscVsFFXCUGHzixuZjINPBGKLiefo", "EJAZrXkAIOviyoBwxUNhLNFVWrgFrqdRHBIseUkRPHigOxTmJQXkGXjUMJDuajqZOziOIsXywDKRupdkiOPXPRvoOsePNpSiSOZRMuPLgHhjzkODjdhQgpTcvZvMuIRniGkRJcfhyMkjrpJKwrMzshxZYCRDIkSkBKleRRpclshIkSCeGwaHUCXxoDdEwltSCAJADbSmoiqlXvWEIANQepnZejwMWNmNRRATfiDFYZUgQaEGsuPUYtmGrvRqcxKu", "otxSJzOvbNYUmJnYWOqRhOoRTAWsVtKdpGxWELLNhHpjDPsiquyzectUENDzvNJoaYUJLqGbzNCTAWXxdPlONglDuntiYafQluSnrYUWDRQxumqApiDOmJrbeYvuyUdPQPUySyTrCGiIjfWFcuRDSVIAJQPiCrhyAzsHuvZITxnJsxXHlFeLOFUYMgUiPIutlMZIBjNpvfcheUibTqnYgHxLYgAkVXmUdUDdyNcWQIEYwApKvbvIOAXVLAyshCJC", "aYnRwIRFldRNpPQaXJNSThXFkkfioZVDJqosQBghMuGoIeTFGCSFbiWPztfrZAYmVDkJBIDquxuuAhhhZEmgmJnEVHqYhtuJXTkMIuRixuHMaupakyKNdabJwJBAhhKzYAvOAoRRDzssGEShajDRZitwtnxvrjQbuJnfkYsEdihQyCJKWVIEracxPiAIsbLNBMEyNQSIhlMyYqkBzATcUTvYJPoUvbjXGCItnmMIgtzAnsPSQOfyKXmrWFJmRugK", "iekHDOROqVMRgutWuiADWpYPPZhydYJzuDTWzJrCBNPeHQGiGzPoNpLrkiaAhektOronOSLscpwNLDKGVtnIABcdfCBThXPhVKBgKgMVqtuWXUIrpRjSpYkgYyrfUeEISYkehsyWaLjgxvZGKhBLdLrnQjDsyBiykrJRqKJHinoyWWnIxMAPAZsgpbCpHvFVmTurfLxShjhhMRhPnVAGoIrYeAgneNMOLeOEOyYrHhRXAcBpWrcAzCjmMldWHgis", "yPsrvXhJZTRTPEaXWakohozaWiZFbtqKejvYWkGgehgTyCkefKhIgJAKaeMozLhlftAHSuyiyqOZqAbRPDQjIMBRwkeDsdQeMPSqWrOnAxkLcObwzgasSxtvrvJQwmBpFPJyXKCUoCTLRdTYcrAsebRNKGyGwIzIbMLBhFgbcsdTOvmtHUnFYFlSkIycHgqTgjUuYwMqrXyHrSQhuIhUetUkaFTFFtCrxBMueZYWSPIdQOaXUWpHkEkYzXJaOqAz", "CycZGqtIvVSqrQYGcYoBlNUXsMsPssHjJNDwnVUTTzuRpetGRvwGpuEjNWvAcBrIVhEYFnEhyLLRtWwjDDUvyMgKtXZsLutazBMoNrxondRRzKimlKIqoyuaFXvJbJDpzULRRykzDHuEBdszYNtOiEKCqcRdqbkcNQVtEMuujQexMcTAnWGChQFRwyyzTzcDyDalFHddooJmiThhgPnuJPICkFUvWpGXvQvJSxuMYJeVlJsuuerQDrHePMIJYovW", "jsVIYMisFnoEjsTvFjrAOJnofpdgqqULKiRUNDbhsOpJaegZWtSDWOwLLxnQVBDMHZIhgMBZwFJXYfDBiwewtOnmIlUnGauxAnBFeazDbRnshRKxujDcTnWOxNcxDoCrBNfrBoXHYyRLxeRNYRHdVsvFuASnIHVKIIRjNEnKUkezLQveehMIJpNCdixNTBjqLcgScChcoSkubmouhiuBFPnbKRHxtyiNMfERRdpanCszSQTKtvCNTiyHmhuvSzmA", "xjCGWCVEpovEDSXNQwewSVkrUIcoxOVfXJsjwhLIUKAaoPaMdKqCqMOfGSApoZcaPmHXIesAYKLaPVHspGOcvTZgQpDdgzIqZUYeLkaBoWuadXWnvBkkTwoLoXfeuvvYYOtwJjdcjhxkUJlvtBWaLWpEYPLqrxPkrPvUmUHOxnCCRhXVcWeOIYLXnTkTHnEKfNHUUKEiPkzuzdtovdAQTurKJTeGCcxUejPtdJinfdshvWOocrMClRcpzmpeAYUi", "zVqTgUGbIgMIsbMjdYvkxvjokZvQzTIEqiEVnXnxxKNQspNCxHxVaLSUfQkQEcVmBfuoniipcSOFxiihbtfhFYTVmSFvgTaQnhZYFflxUaHQJMypgVjCjuQEgZIGcboCgrjTisKHavSvKNQThvlCCAsPJmUoadkqYTjxkSGeybnQrHjfGGNFDdSrxPTjHsctDbeNHTEatXBhHHXCuNrNlrkzopgfyQVJNJDdcmmFFoETknEZcOKJjbThQVgQGdmQ", "ZZvGwMfjPlAjcRpOQSBylIZxxKQnkUzyBBWxkuOaWfXbKdvHRZCOnmWTMLrNeXlVjyYWZzlLHpAlkXprMXwIOXlwFTvyNnHLdnSvOXHLTRRBoPslDARYyKOnOLgwALYxIjXZlOdwnNaXgdmRsOsDjowIRYBgrstYucHcoogQyzfFVlhQDYgbAqNpLTuKMVkGBwynHEMIxOkefRdKaMfstYVlecfLHLeSgxNpFPunWQsKBxXZicZRnCMjsVUZHcvo", "JPSqMwFXFnLarBIPkqScksPtOyjFHoNBGFqVZlifeimRabIemeObVXFHNVkmgJJsThhTdewtPhwYgrSRMsvoNMFGYzdSIKmTKPiVlKYXCpUzjqaSwSWkIqIscJVhpHtYEkKWJVxCHyhbUYabOhTWNlAFZCLKWJWixFFmokFLlgfcuozzcluJWiHsZYRLRvpchWHaieVnnfXUfjsbVIPeZEkEOhKebFKKNPFzMIRytzADPZpxLLFhCgOfFmfMRXpa", "EyTmVDnIPsTVtauSyldyuIhPLwyphintCodoWkaNsKRGjIrdWKTUeEReVagegGqSzLmsCsiSEGjnwrGObblqANOQdODAFYbHipOPvFESRUiTDrdnIELrMGlQklHQdGZKPwRuIUhhtoPMaagMGHAXEtDGsoVkJMADIeowNJrTPiFPonIoQSCTNCgoPExkiltKAjxmzEAfqWTjsRItzmjIInYyGVMYwQsmZNYoVYcawMTrXEmNXLBjYjFYRKuhmOOn", "qXwWyhHKZinaIfPQfCVYVzPDARBxaDsbmLQUfGIZidVoBUKabCgArGNpeHovOmwSxqssMfMwudMtQUwfbbDBmmomVBAIasZUVTrBDUfEmoJiuDSRigxtvTQdAhTWkxAJNAzMDHcZvJggycLcQGkkLHOnBMcJHBQLllMkiQyDGcwkZUVsZGFEHcrFVpbcbSpXOgatwcNSMRSjSQQnkrMbUngkJZmYKHUBVmGuqCSytIcosetIbgGAMOpuvdcAHEPv", "vjruoVFuHFiDhSWOwNclldiuLBlHNijbGapGnyzofikSFdtEKtpdSkvWcNOfbEVQbPPIjdSEdlTKdPMVovSCStfaLaTNhubAmzjOyvHJaMsSCBqQxOSEtyQXRdzwqQphEmBAxjRMPrTeVbzMzAjrIwsIHNtiCCUUQeilUNpWiYKQdLNYKQzIskrPTzzLSJCvTALQwLgOJHcuuFOWuwQFddWUsJNFmrHPQoRSBRKcZytkcnzKorYdqxWcBqhVehfX", "LuzwIKjbWCMYUJsMtlAeBfuzCQqDuRDMuksHWLMwdwchcPndkhANuQCPCmnWYNmYBAgnmYTKhoVClJQamCayBLBFsmjVNflUanPqXKoCgGVJpNJbByMkuFPPcCdboxaeYZfKjofaFJxmBCsgjyActaLqrbAWjvtjsJUHBlzuIHbMtEMIQedHQmjmSrGWjWtWdaMnVRRMxsvbLhAowsiHVxrtbExLHlvqYQKdiITfNLsGVPWMmATpuclZLztMjjJz", "EIKuhabZMJxVeGTSeZVJqAQOtiwKclktSlVNfUsJRNNlXkBKTucVUNDKvRoCMgekMPioxEpnBsQGcqTQUxAkweTTAwYWgdxkHiCFdQlgfqxIisayrjQWoVVjxaGiUgoafpyhwpkrYoDqbFoTHaBrOMtDHmqXTzdnvvzpQgrNzhYXhQouWEJCVwmGzJoNmViOAzdFnjZTxuUforzYDbhHMLGQKfGYjGBqeyViBjKozLLwZCUtUJXRYuaexWOJFeBx", "NsadenotBjNWXmeWuVFGttJFqblxGXyujXEPeHvnoWVZsnaYqmGJZFPkeNjkkEuvHcgSUjFPCRtutMVAMIKBHeujYITricjhyTJcaXVYTGPZzHWhnimKeKBJklCHYUeTybxoAdUMujDqhFHpZKzNufQhTIIheRwwixjqwiUhpmiVjTomUCpzfRqMliNsyYPeHVIdDangmlKuIOznVFCdBzCpIrXdCOwQCgVJxSlRUBvtrLHoSewzcIhmJBBgDdIE", "qBbLLFDNFDTXGhgztLjXiPxqCaeeBMdsffdnqNkhJInnPPvxcfsFmvoPcRZxpLVwBMmPhahEeELueItrrkTMgcJRUWNujagYDgdxPZzAHGMqRLvooBnsegEYgAcYRQIFKaDPyBlRlKxVTnVAjJnAywxJdvYTRCYkZMEHozrGgsRkIkyRlbIpKHbMErbtLBqQqZiQPbbWknYgIqTqMdTLOhapPBJmFjDmHAbJAcZEXjsHFIamWwGrVoJNULSVLbWS", "vcUfpqTHmDNuOYJvNBjUycmUZnCFDdIOyjfzoyRiTcOhPKAcHpWXACgLBcsonVWMlvgDedCplKXmPQfZJqAMSxGkupgHFwBmqoosCyHlVuVnoZFaNlochdBCAECUwuXFdOLJqrtKDgvLxLmplhhvXkBfcigARlAdTtpeeXahoBQJejpFeHKxEtYRXohisHYdBqBcAUYcEbXIoYZQopcnKPFPNQgAxKZFLgNACZGFISaAnEwWHPegBohAJqflGDph", "TuzRViLIaECLsMMPPzkbnGLmcXNvBjLqKZKqPUfJSEIWiaGTBmuNGvxETmGmojNXHmPtlxIFxKmLIGpIRFDKTgddxxxzbecLPBDsebstilXemDCiaHMkQItaMlYQrhIAghaPysjpPiEEHrcLJsIMTNTMsoRlVJJxCUzRbKclxMAZwQSIeDUVuSanNcTOQvHWtzdaUbroTTQAncbORZaQLmjDEiqKHYxPmjTCsoNZaICrmKjHVqofIqTREqLEsNPV", "aCSXZWmSblPPlycbZXvflpWjzlMvTyMNDEzSxiqFXrmSIkmHqfWLjnCvPYUaQueszZIdZudECAnaGaOaltfBrIPyyBvnBYjywQLFDlAKuVygXGkpDdzsfLOmPlNcDWDCRtmIZeIYBOayWaiqhStTTSCbiiwzcaWWULBTpwxCaBvbMWKPCOnnbhphVwYEssfiwFxtHoXUOvrNwrEmyJzcbDXtbVRmSBbRGWhRskoAyDAKJXVvVRZliuWviIJPdkUi"],"c_map_double":{"c_map_double_1":34.07111021264508, "c_map_double_2":18.501579597766423, "c_map_double_3":37.149293791440094, "c_map_double_4":91.05809073716615, "c_map_double_5":90.06693305992796, "c_map_double_6":71.86211802311571, "c_map_double_7":48.34913462699829, "c_map_double_8":31.039137507768594, "c_map_double_9":35.015908484248676, "c_map_double_10":58.45837680092761},"c_map_tinyint":{"c_map_tinyint_1":-50, "c_map_tinyint_2":-104, "c_map_tinyint_3":127, "c_map_tinyint_4":97, "c_map_tinyint_5":66, "c_map_tinyint_6":33, "c_map_tinyint_7":110, "c_map_tinyint_8":61, "c_map_tinyint_9":83, "c_map_tinyint_10":124},"c_map_bigint":{"c_map_bigint_1":-4959226238465016014, "c_map_bigint_2":8509448656271193679, "c_map_bigint_3":-9089306741808570863, "c_map_bigint_4":2020552848061621905, "c_map_bigint_5":8461747913947411824, "c_map_bigint_6":-2455225798805706960, "c_map_bigint_7":-5012691818116722975, "c_map_bigint_8":-2614711843669255880, "c_map_bigint_9":9007589446567889205, "c_map_bigint_10":-2396935793703276078},"c_map_largeint":{"c_map_largeint_1":2639991555827029541, "c_map_largeint_2":-387843431124394294, "c_map_largeint_3":-1195846715837026809, "c_map_largeint_4":-2665773775305230359, "c_map_largeint_5":836545698657860732, "c_map_largeint_6":-8060425872317082855, "c_map_largeint_7":-4710386143956497643, "c_map_largeint_8":8940046616202931543, "c_map_largeint_9":9018409754852817324, "c_map_largeint_10":6019568007105409406},"c_largeint":-5227609565868454179,"c_string":"bKRwoiGbzQKYPFJOEyqOMuTJgJGmrUOShEnCkPmigTGeaMvbZwRCyQrSfNGdgkKERjmQaDYYVACXqJRMqyAvfNkhodQSNXWMqHGtuJEGOGzoOJwJqqZUUKTZdeFJmoNBcBpuoeMRcKBBOHRzWcvpZFxOeRXGRASPtFJntiLGSsOMKhrKYRuOBmFIuKKGIrAkPOmplnImoJpbpHSTUBFORfAChzaLdyeDSEzVcDYuJkDqJGHWOHQrXhhUkqTHGBiWzTMxVQmGoWoflAoPRXIHXvsqoUEkEwMQMUvKvxuodCfHNCNujoMfdKzNohQyieCPavMbPSwIapPJgvYkpfjMfrOeINpbnnaGJHRACHPeBEpqeifmASNhcJwchiocmRBPUQvvNaDxQgQLSDjqPIrkWwXphrzChpbvBhJsdPwtPOXhTCmZpqHAKIxkPHwTMdtJZuXycBEnWDAabKetOsruAXGqoUBNrASRLivFakEmevyYAUtgRJnxcwUElLEPIgSj","c_array_smallint":[19854, -20932, 20952, 32106, -13777, -3908, -14638, -30960, -1379, -4964, 20692, -24197, -1035, 16506, 28232, -25653, -13424, -10657, 31462, -30227, -6311, -25670, -22468, -1580, 1814],"c_array_double":[36.75581096935886, 91.12543935930607, 29.63896986272991, 4.707718233999633, 26.631566262855447, 19.09411852178185, 41.708590749841356, 79.9185155076818, 92.21304015087594, 80.41493830521327, 48.134694219372655, 32.664487796660964, 65.65320110095902, 16.85556171380083, 59.07438812257396, 45.448450458236906, 16.810099182296366, 6.216983347719732, 19.391544910037656, 55.35471043721419, 62.00787796791331, 86.628747634347, 69.05500224709786, 52.55364785396427, 54.56116518099891],"c_array_datetime":["2007-02-12 11:23:07", "2007-05-23 11:22:26", "2013-10-17 00:15:20", "2001-10-25 13:33:56", "2004-11-12 18:50:09", "2013-08-20 15:22:41", "2012-06-11 09:53:21", "2001-10-01 11:56:15", "2004-11-12 01:19:15", "2003-11-11 15:26:04", "2019-07-25 06:00:16", "2009-10-18 21:06:38", "2003-11-09 03:21:53", "2004-06-09 11:33:53", "2018-06-26 18:55:46", "2007-07-26 21:49:12", "2002-10-14 23:21:47", "2014-09-10 16:15:47", "2016-11-21 03:02:52", "2012-01-15 07:15:00", "2019-08-15 21:59:16", "2016-09-23 15:08:43", "2004-09-20 11:25:08", "2009-03-16 06:44:32", "2011-06-05 12:47:39"],"c_float":7.3890257,"c_double":8.331933437966013,"c_decimal":94.0279,"c_array_boolean":[1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1],"c_array_bigint":[2726680717913671637, 2711721806098803049, 5150378592829061434, -849843259124937381, -87001073804118961, 4234948076412507570, -8599258253707083023, 2224197165719571198, -6766684519853415410, 6250873836883078537, -5744278430037982539, -1997505449437419512, 5913365442108457482, -8612364327452177962, -5828410994613869795, 8414943997621127310, -3888403332192074775, 7671162270318334220, -8883577222289388238, 944706258936319516, 7563413100863207421, 964096666974657742, 6453803751084580648, 911474030670271349, -7950553757690599691],"c_array_float":[43.04789, 64.95947, 25.706837, 80.81073, 16.251154, 13.000434, 8.683634, 55.905758, 61.23687, 30.424131, 9.06521, 35.534702, 63.02602, 63.880222, 38.509537, 50.409206, 92.31848, 85.59989, 84.13603, 16.833403, 83.15762, 45.470966, 0.1652645, 48.357605, 18.738325],"c_array_ipv6":["qazhBDhDBf", "vNKmFdypCZ", "WHqxKSiXvE", "PjEFGpKORN", "ztmodfbiJW", "ybxsDcZYZn", "yXuZnnMdcA", "klZqYkEmDf", "erfVgCcXTc", "oBfrOvMFjg", "MROhhsFapS", "VKIhzGGVaV", "zBXxDEWHip", "qVrRgStWph", "mSRwjHWnnp", "hjTXUdmojN", "ZQvDZUkUmu", "TPpAvuAGay", "NGGWWQHdmD", "OjreVjxsVW", "dwNQWmXMYk", "FIcqKZjZuu", "FSnOcUYEIW", "GYcfVGPCyk", "rTGzqtUMCu"],"c_map_decimal":{"c_map_decimal_1":47.1847, "c_map_decimal_2":62.0679, "c_map_decimal_3":56.0390, "c_map_decimal_4":40.0178, "c_map_decimal_5":36.0409, "c_map_decimal_6":78.0524, "c_map_decimal_7":70.0681, "c_map_decimal_8":62.0500, "c_map_decimal_9":35.1132, "c_map_decimal_10":14.0752},"c_map_ipv6":{"c_map_ipv6_1":"3ea:3f75:2d76:c57e:61bf:ff41:4ae6:827d", "c_map_ipv6_2":"3910:4ca0:4cd1:b355:f7cb:e2eb:ab49:9485", "c_map_ipv6_3":"b8e8:50e8:a58f:440e:c809:a3a3:4fd:746e", "c_map_ipv6_4":"b8c3:6799:99ce:cb2e:5a51:c526:8c7e:9682", "c_map_ipv6_5":"c4ad:e41c:dd28:9084:b393:90b0:3e06:9d49", "c_map_ipv6_6":"c7ce:a6ee:4215:fc03:5ca8:10f:88d:891f", "c_map_ipv6_7":"8da6:7c34:29ad:84ba:37ea:ebe5:28a6:4269", "c_map_ipv6_8":"fd13:3e4d:168a:ae3c:a54:56cc:a7a5:7473", "c_map_ipv6_9":"3ccb:fa97:315c:d149:2a67:adbe:a950:abce", "c_map_ipv6_10":"13a0:cff:c9da:b649:7e0d:75e8:10f2:fe9"},"c_varchar":"I\'m","c_date":"2009-09-27","c_array_int":[-1951510510, 255893520, 337918314, -181064054, -1035367869, -406825322, -234442458, 547929324, -975249660, -1585191775, -1567297608, 1735006712, -1851261204, 1082859028, 1918117193, -151896361, 1288087238, -1836376588, 705045248, -516824236, 549711354, 176559550, -1118719220, -1379117551, -1432947831],"c_map_char":{"c_map_char_1":"oQpLzTURzu", "c_map_char_2":"zDGBrmErMx", "c_map_char_3":"yaglnUeJgG", "c_map_char_4":"WgjeznyAQp", "c_map_char_5":"XrWLyFkonK", "c_map_char_6":"zRJQhZxKVq", "c_map_char_7":"OleCSoOCWV", "c_map_char_8":"bIvMhjqvEf", "c_map_char_9":"YcKMAWQEvX", "c_map_char_10":"GzydTyBBMj"},"c_smallint":23141,"c_int":-574027043,"c_bigint":-2248914495881030019,"c_datetime":"2011-12-10 20:20:40","c_array_tinyint":[78, -102, 53, 66, 123, 17, 109, -84, 59, 109, 30, -30, 72, -19, -28, -101, 32, 126, -70, 23, -108, -52, 72, 99, 69],"c_array_char":["jkjLcisoTd", "EQFxpPGoML", "RZOmKSPEJO", "DIIEPBUCtM", "WapXCcXdbC", "HzPXIKFKrz", "idlMdBcrzK", "aISUeeMATA", "JeffgLFYyA", "VBOIVtiiml", "JMJulYlXFm", "fixJWeigBN", "OvrdqCBegC", "CDbClHBsUA", "HUqmCMpQXl", "sWqcJeiJVL", "jAMRqrpjiy", "uGQWroRGzZ", "zPGsTPJULa", "qHLTvjCQzj", "UTxdUNRDoG", "NVYimcTaHf", "YUCxXPQEoy", "nUAOFguMrm", "zVTkaoEpov"],"c_array_date":["2001-12-15", "2018-10-15", "2001-02-10", "2014-02-19", "2016-07-02", "2003-11-05", "2016-09-19", "2011-07-07", "2000-01-25", "2010-04-12", "2018-11-19", "2001-01-02", "2009-05-04", "2009-07-21", "2012-10-12", "2002-02-17", "2003-10-03", "2007-01-21", "2014-03-18", "2004-05-14", "2014-05-06", "2008-05-06", "2013-01-06", "2011-09-02", "2009-08-22"],"c_map_smallint":{"c_map_smallint_1":16934, "c_map_smallint_2":-4620, "c_map_smallint_3":-29078, "c_map_smallint_4":32253, "c_map_smallint_5":26012, "c_map_smallint_6":10802, "c_map_smallint_7":-27729, "c_map_smallint_8":-2794, "c_map_smallint_9":-29394, "c_map_smallint_10":-19846},"c_map_varchar":{"c_map_varchar_1":"PZPiTztPKskdkufwqVNLdWoRgOdHLoCwbQSALGwdferAALljjMcMRxFnPcMRgspXmTgIPwPYJkhwtAfeTCuVqTKgNsoUwBxXeAyvAkLdIXYuFDQUDEIROqLvQMXZCUSFkhrmlutooiISeSyDGZjBrAgrsxeMjAEDSAPphIsmNBYaVQKncjxSgmNkGYihkmNlQKVdQosNwMkwFmsspbMgiTezsPtTJBFvnqERwcFDoNsdcetAEFvcBCZilzXibsQy", "c_map_varchar_2":"sZeKlscdLcYzsejflePEQQWUfggHYSAwyRmXljNvHZxbObfkhnkfRpQkgXvlpiYaerVlxCgFBFVZUvyfmLiNfzmUDpzbDaaSiZSbSekvhhGEvhmmuyDFcUGOrAZklSHjbDAWlwSnMhRfaiSfqfEsGOegkaIXAiAOIHVtURKlLosTIrrDVCFAUvfkLSziaiXfLvgqCTQWuFhOmHSoraprekjjJAOfJsSbCsGGxsnROLlPJpCiZzqBwTUUXpXibYpe", "c_map_varchar_3":"sUfLKwmesWbKvXktEsikowMEBrCWBDuYfrutuEAJMrksyccdAmzmqACFrgZxhSHckXQSZjiYjtMLQoGspDkXGWQeUCsOLmalrVwTGKwpfVedSbzPURGqbHvnppZIxLGGRPJgEMNTaplsKbNErOgjtPxmNhMhVwRHSbnhgnTiSaDfXCQlubEgBjeAQsCqjzdHgeJAgmaEdGBRIWYJhATWcLTFTkISZBNbuaZFeyGDBrwzbvmWgUIAcwCpNfflbuzO", "c_map_varchar_4":"cyKqSQxksXxdONppoEksRssVbIbjkkDLwpeEAgulXIjxOenAMcDUAGEakkuHtrnLCrvtwnlCDLGhfrpkgtVoOAAsZyAUblhnfcdkdrwNQDZTlBMPqgBAdPZgTmDxWSCkGXKVECgccVIlEZJQPLBEqcOinnGohCTySvohFvvZYzPfnYBWgyfGXSJFeQWqNyVfeQbqBBmvAVDfPWunRHYxnvtGOGDErSmUNRnujdwTYuaiIBxUMwmNDmoJtyxAlAVD", "c_map_varchar_5":"lBDjKgxOivHxghPenjQvClvcweEXNYUJRHkRocUBMQPkSVRMxxXNHhHlwxrKcoSatGGWoAAmvBGOMPZYOSrItHxOsaJcyFIzsDprkaoEmZmmNaITDwHNRyTtpLbMQrsQtihxvlWxApcyFGDfvnHoycwDHDCCzRSXmvgiaWKVziIsyFOsWVHafEXIRjSqPVaEcswQsGKyVNdTqetnSKpcoGiyFQkCRHnunsYNMpFjBlSfSZhbaPnceeDZZUAoaKIZ", "c_map_varchar_6":"adzECTSxqMyNsUifzZLSeZbvImOKZtDuvGTEltVmfUodIoTsDZaOBpwzvBVCBoCSeMONRgGvKGomPMJWlfWnbClVmWmdXIYtDmNqfdCWFZJwpSKoJtrDiAfhMHMpZSyXhsqNdevDzIxfwPBUDLHISUkaUezigbdqWjXalYHceLqpKiwlvOJGsnAmImrEbdXtEoStSJnDBtVsJqcDOrUIqcMXDZSiSoRqRizDmazcoAtUuzepgAlxjDiSWBSvTPzR", "c_map_varchar_7":"iKBMZpSuvHNjMbaGyTzKmFhfixctJFCegQNLuiJRwQicMXnySzdoMUwlqRktfwxmiKnPdnzLyKoYdmrQJdayVGXdBlQbGEulUcYaucepoQDaKcHTlShJqPFllQfGdWMqFEcrYsaRbopPwyhwXZckfrMzdgQXxqcCLibrUPqxtONylgYsVFRlDnpXvPcjiamEodMMWNHANLwgaZNckIMGHlHoTYdANYBIMjQjCzKarivgjQFazDyxrREKquDuuRIs", "c_map_varchar_8":"wpheUhaLNRdTjQMtErnsFxPycfoCPlNWFeGLLkeTkUKSMLwGAEQoyyfoXzKyMMxsUEgIlfvqyXvytgIrfJJrxOvSKgEXIiUcLvDzeeBKiMMuIdzHTmrbhhYfPoOVjQcOaBmHLzVHkkQwqgZCsYpNpRJwbzTvJvIKpQabKvocYuilsrTxYzbarSknaLNlJOuFqdGXeSESSLxGDHzeghpOJdqEOwACUxuzFYyQsjPbiIEIzEmkXjMQvCnzvvsbgNBy", "c_map_varchar_9":"VBRNRierkqxgNPVzuGZQbYtlwpRphpWixXHegbWcKfxhlRlluHOvtRGLanZXjzmhFuvylhDwtEpTZbBqezeKCyjhtmdkxTVyGFSBeABeGwKcnUegNFfETGVgCORxhtlxzxFWsRRArcuwhwOnjrbCNUSUTHwfueIZHQqQDeemXXoaZyCUcwfUSzcsqrOeuxyawYdqCfJeSWOggMvOnhOmErlvSTuFeuXWRskevYJdKGltunDsDCUHunGPIKjoStRZ", "c_map_varchar_10":"mnBrysxWSwQgXKCDrLxEDklCtPdYxWATPokbGhrfQtGmHTlGDuOoJsudXVfFdtGQpSOpDmvhLcfNTsfpZnXYdTDrNVwFlTqclAQMbCppEsJQjfFOPGDwpmUUOgSwxBAyvedgMMYzxSabuuKujdWvriOLTqdElTqfWsMIUSQMvCFIqfKAMTwhuNdbzGIJoEiWDDghYPVLmhtmCLPYGhrfmAfQdvEXborrKXnujRLpkTSfMFzbjUdEcldvYxXqYkKL"},"c_map_date":{"c_map_date_1":"2018-04-27", "c_map_date_2":"2010-04-23", "c_map_date_3":"2014-02-15", "c_map_date_4":"2003-04-15", "c_map_date_5":"2016-01-07", "c_map_date_6":"2011-02-16", "c_map_date_7":"2008-12-08", "c_map_date_8":"2010-08-17", "c_map_date_9":"2005-06-24", "c_map_date_10":"2016-11-12"},"c_char":"xaEAkZTSqQ","c_ipv6":"7abd:91a3:d0c2:20d7:f85:43a9:4519:8241","c_array_ipv4":["hPAQEwzFvY", "GVBFLMaBmb", "NyDWivEMIo", "wjCwbOltNI", "AriLQuXAEu", "fTBdpNALKs", "vCVGkSopjp", "SVQXtJmlPu", "FoXQwbsiRq", "CNeKQNRKyv", "TWNchdzAZy", "sgxJvnTgSX", "AEDZHQJlCv", "zfKQuZliGD", "cFcCaUjCgO", "aRqyJOJgBt", "SXjIfNLONc", "GVptVAzYyl", "NrCbqVSbxF", "amZHzBylad", "MapKIWwGJn", "cKmiZAayez", "YfhUpNnQIZ", "putNVWfsAr", "JfTyesIqvI"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_int":{"c_map_int_1":-2031105373, "c_map_int_2":1343405704, "c_map_int_3":-359592077, "c_map_int_4":1477201984, "c_map_int_5":-1660718433, "c_map_int_6":1414063373, "c_map_int_7":664678781, "c_map_int_8":1133031467, "c_map_int_9":-1591671439, "c_map_int_10":-1606628310},"c_map_float":{"c_map_float_1":74.44291, "c_map_float_2":25.942856, "c_map_float_3":82.33954, "c_map_float_4":100.92746, "c_map_float_5":52.185455, "c_map_float_6":0.8294207, "c_map_float_7":56.099743, "c_map_float_8":44.98602, "c_map_float_9":46.487278, "c_map_float_10":5.5689383},"c_boolean":0,"c_ipv4":"177.250.101.174","c_array_string":["qgRjysvLvPgQlUYlLQeYIlqbxtexWlLhGUrQpTsBUMdNGvviwemJjcoQbUMAJMjwznztNtBktGJPdzoZfzixeOjVqRwNLwhTGpyGrpxUMNZZCmoHSDjszSpDmesHIDCXkFopRoGkpiwWzNpFXreLROQOnHzlAwdJtUEVtmGAULTLpnZMjKZERlkXexXqqmcoEqrqaEyUTQaUWNsXVLfrgTexpkLGbSRHZCbmQcQzsPSbptMZUsFVzUbiaWlLadyoqWoyZMwbOxxYyRwzAtxUJtQmSzINBaxLVdNfBrYmVeLKblgARkqGuzZEWUeKYUcSmCAmxPUlStjMqcfQmfmBeGHkwlNqcWnqYJfiqnkUEtuxNLZcCaTrzMOEKPITxoVBGPYJodHkibZeXXKEJnMrojXGbxoRbxetZibjFYCWNYddYWJjwxMHFRSOoiLNnMKZdleaUKolgeugreLgcwYSpMNzmoSknNuCJbBMsEmjlXYnnCENYLLZMwRgjJvhQPXb", "xMxlDNyUvpqlvqaeEgPiZrbclbHPgQCDEnlLXUUednamBQDrzHtwbAYNiifjEfaIkTNhFnKXJiBSHruXLykyQAFnDrglEqNAYsWngrIarkLbQcVuNzeKQJUoluPNkpEVhvHVUaxJRFLsWbhjhAseWckhEHaYWEjmQITsWGdJzFwpWhfPdmJKlDFSlTEGDOTnQMIWRVvTyIemGgRIdrcbHVLfHpZzxtlbLDeoYEwakwKnMJVFiJYqxVlxisZrVUmsnfJqoYkDdUeSsYbKzBNIneZzxliNqRfgFkOaOnOpcOcvBRtblLhBCXRjOcKaxjYjrymWHtnznSumCgTYhOOOPTIwZFmMDsTJitGvPZLtgRZccWiCaZxymSlbtYelfRfanviIRCsxqaAAXjbznwZuUoXqEhUBesmaAWVUqpMZQvHEdsLTgpWnxDSinMQipilbiUNLvdgubkWHyKrqPfAMGRjBGPMPEMfuBXGaljPHXwAwAxVkkFOGDIhffZoAfSfP", "hniTZrVhQRSkEocTrCLBLbPSAIkupPUCyaRmrTmqPJSiobUNjcDwrGTfGmwGxrZMCnNPLIqmdnPjKRPWnFpbBZoYPBcfjnoXsBFbBqeGOyBDIubqweYlZHryoNbzVNNGkSzuilBySXruodPvDuvAxLeVZwClOxFVnKWNBQrTTGwADLyFyFakFqsMJirZLObExVFbTuGxToeFXtHsqlBRifVuPkgNURJVgEmXaySbIYvUnHzQSonYuAVrusjIdHYZdjaIJGlcTbCbLhfIDxmthfYojzUEDvbGrucZPwqLDXePAMZSazrpSQpiKErsGafHmjKzkGnwtnTJnlIBOpvWWbxFHimnDMZWtWERYwabnIjFLbATMGjbRejuQLAlgrslFhIskkNojaFWdwBFSXHwFGuBdIJBjMhyWmUYFlXpQOEfdnofgXbMtGJDgknaljhEHwsPyRLuxtZPEgIXSSxrITChWzuRrVKHvEmQpnUrSnOmZuDnjPNIbcqOqaUwCQey", "JMjeRFqzFBTSiGOXtEZosSIoqYjTYCBrdNGJmkIlaXeXUMkdhbdIPyIFLABoAeiOFCrKcogNcvCTIpOPGKPmNcpWMkfNvGHTNpGCFdWgGpXHHchuGNFtzAatuuBodwMdgjzMnHJkpLZQNSSdXNtWUvoLlZcneEYJThgWeVPZWrcHjmycNQRUqSTlgqYeRnetLwTcmQnzPLrnUTKJtEnlbJFcHiUyhaAIGqwXGCnoRscZzTJJIAvJQmTzlIPWXfMjeRgRALagThUaYhVWwYEzXuXJdTufGXPGvpdvheUwNkgUuxojweRjCmyhYvOmcMSpphqNNynOxUGhdvRMgDbOPADjEHlexPgQQoxnYAzXUNjTustoJSsgvCdNtEtIWxpNHcorfgbzSAzYhRNYdcduLyLFDsqqtMJCBzEYpxsJbvGzQGsifsYlecOhlCjstkaUkkwGvrRKJYphrZxBhxhPcRHcnnakbxrcjtOfTOmRYoQexGLhVxLGQQqoMZnLvSxr", "mdMWHHTSlQjfxUChZhhrLgkQiiInDeVsecaIfAItIWCfEPUUfLixRLwKsNBcACYJFAUxLPipwykkrdgnIggtFhHfQouAJDNokRIpYHLBOhuInnzAVAPqaCJSdcZXYxaZrSLMqxnbGbKFKXOsekvdNpMrnBGXQQaSoQwIPxpVrvZeilETZqSpFxskCmYknDSlqhFQWgOxITDKpBPstjYhBBBRTXBcpMSMNSgLAgFtWdXwvfboZFkOuSuBDsaqUlklAGSTuwiBPFcmStJPSGQcToEMVoOKhuGHflyPkGGPKQcLMAOHtCJZkcDJmQOrRoMtFUxUhYiBPWIasjlkNOcTpXeLyUrvfztmmqxypRoqdfEJVTkgXABTwsqpfYoqwUcbDMajlxWHpXamdQsrOUXIswpwBqTwVWjQKOPHrmujCESzoukTncANSLdzsrlCzxMpjGstrwQVGRVoSmTtxlnGOsnDeKAQheZItCnZunxMHZxUlNEIdctmjEOnsoYZAMaO", "CJbeLXZaUlYAXnncsQjAlBrzIGhhRkwKQZFADAoVoyEMLTxCXIUiAZFqPMtIRNfITavaDjaarPsMAiQhwaLuwvvVWKGArTAyQdsRQXZMMGcPAWHiCLBYjfEMIIedWWvQgYPMndPVQnWAzDWvqrXySVwhslKMreVLYJGumHYeFSJLdDlrNqwQNetACkrLpfzWOttriSOivpOCakGlEkvKJCLGcmQJdlYsNxTtDJiUgUKYlDIvoifubDappZXhXoWBpSVXCaimmIqZThtjzPbPtoMGmLbUeSnTNoKGaznUeRVuSMtXrGogHmpiZNeAJdaJbIWyPaHKHKlOwIJKQBkEWxhIvUmROITNEzPfaeBSNZPwvmMgmwVjmcQTFFRQGJUVIKvePduzlgDAXoRQbPAzzdpvCJEJWqtZrnNIwtegtOCikMtIZsEoHFCykHxNffVqeUDpJBjaefiezTxgwFQDFScyzPagQXzUZRHvDQiXUcfJmWccbkIcJhHPRhUpwHUt", "sSsrOrAIcdIZMhYCrSBcVtNSYydTqHNLdEfTlLehKVNsVSoxnIrzPrrKDDhNzCsIfKNKeKheThDvgdTGoVBPjLhcFSCmanFLSiXifIIwMXEQwgflXvgKQtsVbZaNnmbgqYKVheQipXdqYqzIbvVNyXJovPiNRPXTqNaCkHrRzWaFajXvuFLWyvaLOxYOTobIxbIqkKqNDzBqnoPpGJHdhRwKikfuxCtqjaWpVZhottoZbRDpOlJflXnbtmNGoNGabvLuMHAEBNYGBgoRTQrPQIjtyopCMQrGVKOmmKOmtDuppvZpwNssTxsCaTMOKtFXerKgelRbuollrcQzaWJKBxunNfZavKNCyjkygEfUBImsYoeSewZoXkxmUxfWeNeaFMAqvTmPxTZZOcOlQWCaeRhczFVLJxSAwsBIvMOVgYrsZhABrWPqPinYrcZQiwtkLqtfcQINBDzBGEkypedhcuNkDtsPZNIjUuJMFxYNwqHxJkwSxERMzDMkfQOlIjdw", "NbuCJJuhzwBFYejhJFopNJMNmRxucdHWzfyrwPpGcceiShdfGQQqQzzBkoPjpuhBVQaNwYsPmvYMsQfEOElJqIqokeaOTKvjjIWynlvjcNctFueVzvTXauvsiaNLNDpxtAVZDiArdZOFXmdkkFNaAXyJRHhODiMQAopnRQhBqIWWGUTOOZdwMYjLlreyQajWGzelyaOPMjbvJUDIGeRgKAjoZjUFkHbWmkSYeeYRzQZvIrtmeNvTJbXDWInEkqWlQpUKoCQmgzAUxscqKFgWNATprlCXWRQunzFSejCspragAZhiGjrzQDalLiEoBbZdxqENFmtDEDxJinPBHfnzSnpbsfYEwBpENmDjkoHrglnWjbIGIdjiGUsPCxyxfcMlAXalIRykcTfHSGkoQxRpuLZnUzQIOKxeLbPAHsycJeatylTFdlbyOKAORnIeijMvAQJDiJSmzXDsqTHYDXHApjpFhLRQZTYCrlXQlUHHdXeaoKUiTaikLDlsQZUlyupT", "GjojBsOVGDNJOUYkDNPdqwAUwtFQxrxOTRhdHeheeeQkNpWuuFjjevHCRgJKwhqKbVPYhKsNQfToiTCUCJWmVXAOCcEZyczVdEVzklHvMdPkROnDEzJrYGkBYxKSImPXghcezlWYNJTxpvgmIbRbAltnjqCIMfCnDEjpSNDNkHgwZneAzuIzbnWnRhMYmcfyddQrYxmnvnsZxUaHyDYdDydvthuhSuxVGSUiJvkhqnOGaTLUTZGnEbfrBfjvIgCzrVYREZzujDiitcFIQjkmyYwXaRanIjwaOYizXZrtmNyiYoIvgiYAbMBBJmmZXJXdHDUjyvsyNmrjxKvRyxuBOdItcnlHLxtNWtsUrAVbRjtxqVBBvcoGMVtETKonVtZCHMWzizTFwWsOtFhIPzDktPFBICecJXskgedvCVAWzBXexwObRPRYXVDfkNfrCiopzqGAOvImWipVqiiveoUvjNgPMuxaQbNecOjxYGftulkswfdXdhqcclmnuHhHSyWX", "PothGOTUSjbrppTVofQnpiDAHyTSZLYhqfKfsByNqUGlgbjkVMaIKbIdEELBehCqkBzUIzuVUudDXduvuCNUBBZKIWWioyTCHRqqcDsYTlACGwnBHNxWFsHSBUaxqpGvppuYtiqyKEQNYlKcufaJiqmvQtQEyJRCDKVtCyGQQWNIeoCKugHYLcIDAwbjOvaBjNiVsCvmgzLkaScbQmNxCrqcguirobaePzVrnhwbyfLYRHqddVzMcuUQNNlvLBAurFubFZCFHEvKowojPIcRzAkPIPTVgpjgchTOaFqAkQUxwzafrLcRoJpqldrhtxfxAHZiaOfIjHpKfejanzhDUTMAYEJXOaojDINdofUJCgPPunvnUBRRippegxilsYVBDpHntQqsbjoDvuWWuBKkEeIGRYvaBWGGWVZxcqUnoflMQamoUlgSonmBCEFkCHNSMVLlhfUmhynpXvmxEUHKvHJQeVXrUigupMXJkKQJwtwYWRhCLjDXoBFCjFlVOBcZ", "MdLJwOpSBolRRiqdHnXZuEuxqfMUZPjujKMGSKucycpPfszvCslVJZvrVlOMiLBtvwKUVUvULZVorXGhItcQamzCyYVccCdOvGnVBbfaDQrBFnDdtmRYBcVTjxjDSJKmDPzSaQCALsHriLMdjLiPvXpbBLXQJmtZcUJqJriCxxpYGPhfMAEzPXJAETULrXptstqYkmHJtBhDhATqFzaICRAYeHFrTLfFjlJSUfHHUhExrRponWvFTzQFcUxIWbbdqgNHtiEJFLaUFoHQFuxzRXsXkTwXNWIHTxYTamgzoNxQxwhAMbPojQhAEpLLrIaFqTsCttFuJBtiadyOPLVDbkqtzWDmWvWxNJEQACDhWaOsjxKGiASwAOWrKTLCxuqHDKhHLGUtifOWhlsescxIpdyaBbsYqlYNxGItYThTGBRgtSuPjxlkvoKeWmnsAYByLbWEMngWwtlDfXwZFuMIrPGYGNXFYLTkvKLVhqNWkZAVnqRpyuwRXQfSvUcGuAtR", "fvzBTgubYsLgBUsVOUkIbLSONATLHMQpfPfVwlAkiVAXqeEfTZTaMhacbzWixAIPuQhGoVDNErLDvWuNUumdCdxSDEcIHMqcvofVFoXMMeAOULtPcLnjaqSMZYpbigTSWthQxzSUjXkrExesGIydvXyULOHikJjjxwhGixWWAJTtmXOtexXvOwoiiztzVeLmGqUzMERhoMxSVrgFTdfuAdnSzLenpIKJVNpnZCHbSUhCQuhauosXaxIFMiFZRWggcrFRBlSIgAcCBieRBJAtcovfeGVUzyAuajwJwKqLpCvfotEJOggDcFzKNVdXNFnXRkJKNrCEBpIWzkpnfvPaDrZSvzKVMhwtFxMDCudLsKLsJYncHVzTRCoygvASIAQRtYQveoZtxkwUYlGKEAHgIhltWoLINiMGNECrMFBZuSzOaIROLlvROFboeYaIMlgznaDFYKObDBJpmgTMBgeoOuCScGrkFDAImlaQkKhYOkqjBvoOjKZPziQygLnwSKel", "BChsNgxgDIDpTmBwOycXJZQwoekMXfEXxUZNJdotCpdeNgeyQgwLqkUuzzeFhQhWPxDIYrLeNMYSAxMzluVjqhhtjgCFPCDQlOjRAzaukrhJjAWkYondbmpVFPuhdwskwzSQjIQziGcHtSbTRqaIQxIcvWIPZFJcTlVsBFCSdMaeVpQVgpaDmtSFArowuhXnVLbxVIGrSFEcCEKKaPLQbSIMXVyjdQUWZQXJOJCvoaNEJZQeEiAhmZPcCpTrSDrLKNsntgUrgTuVCrhMfmSLrkIAEZrNphPtDtizEqHlRKQmNYEuvcUBIAZkFzffBTBqkeOjSZXUEXGwUHlcuMPItHAcqidYXEnMIjHGFFUISoLrAOcsryyQOEAbnfUlwzPUQmSfBmDkuVtbYeePGOUERsGBFmWqYjNEGCTdrSGajCjyXzvsmKMYjiaVEPiZfxtzoXeFaeIzkDwhIiECfgjKNWysXNbFuRHtYQplQahCIybYmqJBspItSSkrfzFKgBQC", "HyOJgMNINGvppThkkXPPkZaCpBTxfssIyOtksjEqaHQhjgzsAbqXPGxnfUaxiPkYrCkSskUcUaZafwAtXuqZhAnKGISUHVlpkkfNDjaKeTmmUgJKBkBCRgeQUEIivOoHgBIBAMMFapqVofIBHqRkuKEMKZbCFtxdXTNHzSgRBVtuHzDDRAEzTpffnbIWxHpkGgKTrJbYuxsMfjFdrLzIWBkrnvbArKpWNYfciuCuMGpXWoWZmGntPUqHVWYVIPJtHzEZGYxtqzWBlFYQJgGOedmRHjjCEJIKVyheODLZqWBQKdtZmTYGCaNaRBkADxyXeZxZdmfqeptzbCSbKCyeyyrghjnFlvurxCTBOBlBfOaWyulyFXllQTsHOpbKMentWIWNBUdAwxFwXyjvlfcwxsvpryFvbycOJhZdXTWfaZVWeWLRcNJayrSNdpLPPEnuoFJWPIumJzXpkXqWqyBhOuwTyNIifJDhAusWlskStePygRRrqNsvWHyOXLbLIzKP", "RmIQRZoHaPpgQvbKjOTpjCayrhYwLfDiKHBffNBsbtWrQhRetWAhontruFnozXGVtBUcUTymxjMnutPIvsTCnFBYQJImuKAZhfQCFAKVLFCENxSsFoPovwThOxxpfQSptiinmxGFIucmxOipaABmxQDZUcCZncANUNUOFAZuqhYUpIxkgFsZzZSGXKunvAcKZHOoZVOfXrqtvGVLyfLLEJQFLchmerdFMkRDfYgLjwjAWnLlQXYxabgysafDyzMLITTpUsyFpVuiFoMVAYPZbSDoybAgeSrMvylNmrALiwogOypWuTeUVYQqAqzLSnIpQBrLejyHSSoejTBOSMAkoovnIbjGJPxIonkpMLxwUAthRcIrzbEShMynvHTeZOVoCXcRKawXYccOONditPXHKBlofcloThmreMzFamHQNdsQYnWqqDUnPsNlEkuGGvMZFAoAYZrxtWPrqbgdBcdPoGTSJCNkkfodGzLwrIQDmZAZPBzIJapjXAJsvsIDlpSP", "TvleNsmcsTflHChbayVMsKcOlWdzEmrcUMscxvBDGCGVBaRqyNcrpXRbMhFEtDjRrYeLsMqPLTHzwWrWFpoKKwXmqyBECGIPnaCLFWRFNVgtCQsqgpzCivjZwiEZoJZvoyWWdbGaEtrvRslHQnVhSsgVdkUySFJMEATKStEMVsoSotavUlREoBKLTXjVTqQacVFJHWqwHZYPYdJacEWtEQfMPtiahskABciVUGCDsLRWrmsAZhmacGXHAJRHBCMoesPvVfPzvTHZtESNJAcFtudoxXfiNJorBzmZybyAHmYbneGoHDoGswbIuaQudbOLPhGVlYfYdiakiDmLKebTMQHtwutDkujWRZifGoIrEJmsVJqEvGigusjqaCvGkKBUzdlrPHRRWAHQHKJubqpAKhcHEtJoAKlehoGLzbnvARTsEOTPsFkPJPQBXyqOlFovaQASovRAAbHIiFeyGngpRYTsEXVcOiiDjHRBZsKLCgNPTYHccSdGOIvIBPPuSGnj", "wbWerbNkJDkALyQFmScrKDxEXoqCnpBymLQokxrcIJHmdajsVPHgnLYYAbaVmmlKDNbKLboCMWdiemfafKNGdBrpGRJcLZsVJJkUTkJodKVNnSQZQThliFaXRjzpkhhLuDikfXvGRdNqkoVAXlMoVpyWPYFtLlSqecsqiLWMetwvlfZKlkLRFKsCPPbPAWwwltRrEIdBwvTwAQeUDQYfkFPoKYpMiWuITDgijftLNYkCXHkGCJHVogYekaIJfgkVoGNKdCcQHcFjkyUELVgLgLIhyEiVGYrDkYpkwrNTUwgkMXjaGFMeSdiTPyqtLEPXtukFXWASXCmmNTXDKtmJyPPFvqJlTNDygiJiXiObRyliHvZMLZtJTWsOUPrIkzbBQVOZNQjVykKLCCCoOzFjreHjBtYdChiXnkFVKABOBRCjrzoAfecpnnolDGMLNMGBhCzzgWGISSUSulzmqDcHYKwgKRcheSRNgBVSnzwDOPUqcBQCiiODvYjRireVpTVk", "LabAgzwWdyltvvrRHrBlZzQoZsxmPNDkedgwONyoeGtBxanxGGxcINsmarYxYmvTpxJtKMtgmwQZdFgRQmRaFgwRHpGsLNurNZfolhfyBXULAZoBRvxFARUhYvDaRLFpRfqwUyfwEIBLaPieNrxIlkFGDhRBdynptgAGjraKzpnbLqcBsssMAmAfyqAtFJWLWeZudWvDNhTRXRNlfQVneeQDsGpuuoqyPezDftjXVtPNkGBuVxGRxWYhbtWPeFRNLwCuSsNSJyHVTwGPZChLqEQZmgzoRgJGYkMbtwnlZiZMuYqTfHMYKwNLKZGGGJCVAqlTIDvtlrwxocdKLLClEnkcqbQVSpLkUFsMgGmzdGDokCQaNBRNwqAjQjwvYszwPZBVYYEtRhactEwonKxUUtYyAFXRwCTtchSTvBdIUUyfWFftbrNFQJmwdwmpfgZkcNVsxzGqnnEuFCShSoEWkETXJRKSAjshswzeBTUIBLheNvHSWgIBSEFrkbQozMxG", "EAlptnhXsYgjVeCJpttYGFsleEbQebaneutrHEIfPzgJaUklhtWlbYqBzdrrhEoJXdSNAYOptUyTTCwDgsJOOiONjLAyslvLZZrbCZkrHlvjiFfgDsCGswtvxkIkyxtpPLYTLIRYsfWMMstxUmuPECvZKSabPFxZQbEiFkneayhOJoRobpzaSrxsAIhkumwLkHAhWPtOxnivWKsgOPdmfUTXonAoxeHYBtzbEdYmDwpwAnhsLKYjreOrxLdpZyYDDIwTbrkCASPKXhEmjpnpLILZSeqGHjfZPzCFikHgxRUyEvYXBOPmcKUarcCQawdYgzDhdsmapfrqBjkFzMwpqjxGXlItvcOEriyKGJPiNIvGwRKQbWUzeswftodnjhWJqjRVvGIJPNzSftxjFlVPYAUuysPJBBJfYuVpUZOitxDWnNixecnAKjeaCwDCKqucZskxgMSuDIJVlhxSyaLWOQUdypkuFIdZbtJpxixeOyIDNfsIrNobhvIgVMPpuwKx", "QwaDhAWwACQJgbZmxVWQdoRTitXRoqBtbrepqAXdIAQYULtwZBLpWDTQGNlJoRgRCJFsApGOPdzJoBLgUFhjTXnHEEiTbmseScftAygLeupQlkSLFHBcQaeMhwiTEczCovUOOuqsAqZAjTmLywSNZtJCEXQaVZIOLjmESWoBnHdBYtbxcfZBHQgMnQMkePRrDXRoXZdIAgGVNrWHhbeNZErEjekQVvETHMLDaIOXxvEEqFbxoxUNTChIcqTRaMNFJrrAQieAwoMyQrXNgAgpgPhjfwxGvtjWYAEaFhEGGyAVSiPerLsjzpchyyoaOVGuQBrcHMSURtCOWXENOyQdGZxsRNHjdeSqkVvgJLFRAXjEWkVeSfbaKEFDWtKcjdwXVPgtnXEbjzAfcLKsOEvOTWRzEulfJigslpDLuSuIbygqHYDgMlnTTiSjNMZcZbsZGGjOzEklOIUbFerRzXJtEzpmbRcBNoTZfQKjhusDJXnNHdwZoLvKzAgwZfdSDUMW", "iDeBAEvcBnCEhThBvofThRrLOoaSoRxehhNIgxZRCsRpSelOFtRMzsNZMlZFFOIxwgcrXNOuurdbMUobGioqivKmOTmDmrXBtMrkEcduhjhIOOPyTTskWuvvbcgtGiiagnOvMilvLXPtDqOoaBdXOogxewnTauYtZfFyiEqyjsJlHSHFmFXTfroDyMQutSsUhNLwSmkJGpwsDdejyUEdRZmPLXIiCEqzCmIOKvhyJpHSKDGofWDZSxulRuSNqkHVqtmtdtruXdRKwbMxTjJJlGiiiylWbOwzuOQguBWAQeIvpDyikngtjHIiNrtmCdrlqmoCgvaAyomcbPwcADyTYyyPtUFOkEUpsgNAZQXdCyjgXSxTnerfzKDwJIGkaFSptuqcPkPaIQgYAZqocUnnXXIMcqzvkONYPDvPvCflSpiUqfjheFEdYPgXsEwTFtUYJTaOohrcDCmztaSrDUKsszoJeVJAWLNmEiWqrLbgYzuMpnaGsLVRNkJdfSYJziEc", "BvYiCTDyrWenNTvbhNFQHgpUQJaxPBOxNTiRXGpdifXabNTJPHgYQjQjSIBDkzmAQNfntcDSvwIkYCjRKCiqdwSKHOIgEOMcEzybWfJpCzlePnsuXflLCghukFUuyTbsNhcxZwqorIxoQJEhSoSQQwhxUnMbkHVLnrqpfkBwWvyTnYHCntJIBhHwwbyUReoEgIzCjVVVyljJHHkqrcnyCdDrJTnPGsMpHLQezMvyDvOTINVkXxhrJiobQZOoBRZVvQHVulMaQtshDKPbjUDsHhrHEWmSgxbPMqJuDxJSGqDFuIDzObBOCOkuSoXunmqfNPDJzPAVeeAtDcYMyIUmBKvferNUTihulaXBMofsdAqnDNELfktNQNDGGfupTKhHFrjZcsoRNqPtkuUVEqYStEaRXNNVEkKzWxCcFFLNBToDWeDvWfZtVEDRlbFguQPLLrUWvEIiVJppmASIdCjnADmfDJqABbLusYMVRNMDATWiNkAQktcZyOTXFMoxtMLQ", "xOgTLpOafxHqLDQAXTOVWqggjNzenKzYSNtQaWrpchlBQixRSmZgrMWvjSpbOggWOgZBuSWUmFAUSRRMBQFuQjebkEdbjAlPwLBkzbahOosNbjTYjMNDOjWoHOODnYikYAvXgXPPcHUqBWfRKiQRnSYAeLtFeRvdVoeUEkOVECzTztFlXvfJVSQfxdasWSNLGmrmPiiJIpQYSHLcMRBWHwPIbKfvgACAKLtjiPvxLQOAlfelRQytqXvipiMdoXNcRsfWFurIviQIhxXTLWuCDcQHEzWTuTMyTShWSvqWVRehPUBWUUvhzQsokXTPemDutQuXQgRCcCSDZMBMmXHIJTmNmuiBvZRjpdvcLZvvRnBDsEDsGaitrUsiJdqUJUIjPZolzwnlykXvXlUIIqRlezwbwvHuCvAkaduwfTypIWdXBOLFfsjSTojrvxOSSzNlwvQFkiqrLRyYiPYTHlaCKMERdLztrSzfyEPLHxkfvQhnroQGUQmXvlrFFnAuyjbg", "YpnBrmgJyPLiuBFQPCCuWmlWdPYGBcCMlLNmqdvbbDTfQIEfDERfEXbDXdnveFBKjKzyrgluEOmeORValQeCbIyoWcjftDGhqPycPfoZEFbdWYbnKqaJyLDcPHMZlltvGjjiuZkcvrvtXnvkuhoouFVuNHKNIMYcQWGuImvzpMkXLlpqTwshEQOhyJlGaJHXXnvAPiNPUdVcXjqvfKiYgwvHILYuySYOqcZdwGvvsHgpdROKAQifjeMRhhfqwaplpbhcjYHbzZsGFROlGnaIhZYawNhipTMuXHGClPVLDxWRfwmSMtnnXBdgZESlYwrNJQYYbzntHeUJiFGXZHYMtLfQlBHBRpmhEWIEEYAywGCYzMVmGPFToNpIWLmtbkmlBOwpdpUdwfsAXasIhsAGPSWrLKxsKFyieRsqVaZlIQOSyXFxjexUGSJkrtMyaCmkxMvsZEaBJWJzqBNkwduvEkBqLFhcUTyddBnIEdrvYaAUBIQMlGsMEBxKiNNhLbWM", "baVnzDEwDOPwpLjPIsyKQJAmnZrfKyOEMrEZjTHbXKyOKJXMagfwLkFTawWYWteMCYEmAQNTbNWFQaRWhvnAaDAYvbsdEbZiWPJPwAmuhgYxBILSdNgZOyHsZtXXWLnPWYkzbrqKREbkTYVSVPmdtecRYxSIZnESLZTJdyDnjUTFZMOwGXvrXizjWVZAtzYvyLgLasLhrzSErdLjeLFJFGSsLKRdGAZkQXuoJtlKOrztcwbLqucwkgJbNnqJCiIVuhVgmYLvAaGoMhtKDHUMZQmnEVfPqsowDLxWYFsQCcubSYpZfQThBGVeZylSigGsoLyZRVEBcLkIIBNuTJcIIMXdEQUAQTAjbFVZlSOwMWUjmKUFesdVZjQLGhtjiImtJMvcraxVdLtqLLgNWQwGJssIrzWyAAZjtIjxjvelfGWTPDbtvKUnjUKKBpFuPnkrNSQzNCTobjFZovFgzqdyzgqaPePXheRhkBPSYYjPrPByZfgxMEJEhZlzAvbYxPXw"],"c_map_string":{"c_map_string_1":"QyVVfrbtdMeJsmDvBaJFePpCxnZGrkQyiONcdeduXcxSyyXHedbyfuWgxvsbygBlfrZUWpDEeERDYMLdrPMRxBnwigeQbthtVRFSNbpCTOLbwnDanyVPzLPBLjJbKDMVcrCcCILEyDTylKVkqNbOMxxMLQuyXJSBIxLndWkRlNUXYcWXrnEcKowFldKspjasknoSEGBjWnirLQjwkVCEabssvzmldadEFsbuEGycryZAekrfgRnzceWRxPTdpaUHoyYuDWMFdzozDKEMuwlslQNlzLPyrpyHOyfMdiGpZRLnBxngrSEithuGgmboLDxrCRrIKrNFTMrBJdMSaNpZNKGhQBjuiRLzAIYvLtfXswgbHJSoXpXbzMBtNOZmRuHtSdfejDunnUufMNZnPgTaBFYPyCwkdaRwxHrObJLzcgqAMvjpOZAzlUTwIsLsLLirZuPdLUDVVEmsfWkUOdFwykIxOpFDoyDjCAvuviLAHyqzPWDGFkAMmNSZsNQaWyef", "c_map_string_2":"RXyIGanZmDIHshvofpKYpRWTLCVpJaMclszijtvEwyUfPtybOKRbOHmpmfEDnTPWsbXxkGFgzhbAsuixYJdZPWmVRrdFCtqyqukHAKwvFDbfdlSeGvtOyuGivaNHVidMNwSFQMvYAVbbpJeeKpJUboGascjOxMuFCUaVZESEvwoFxADcIyqmrQfmrnupmMCvkOFCvLPQXobBUtBbPqgXFGDqFfYaIjeCdHpvUTUiuSIVtrkfRbJNYWSWZgTXIYkNRQOFDigXRIYNjMQNuRZUIUpgMCdpxeIieJqzHDtxFSyIwcQTMEQjMBiXagnugIMnQZvgcjssvMgkOAlqmasooFrRdQffrwKuNVKoBhvQeYzTQkiUzIXhboqYYGvJsDLftNxhuJRceaEodUxQrUhNeXgPUmtcmmTHfTCHhiwQUbdCLTegHxtHwXmoTteadhkRzZljFNlBjLKbykjFFxjMhUpMZyCKZBPSlnQlIXqIbltokJvYXWKcITaUvzjrfbxv", "c_map_string_3":"iJBzqXLbNbUcUbdZenzAWbTjqkAnqqbxDefuWHhmpkfrFNLHUSQTvkuCjRmJNCqnepDCgDpmxKMHhizbAUHSPYazFdjBXskgsfuMWbvGGELjjIakhVmbyLhuPBatLPpGqJjncFzpqxDMuhLVlHMiFDyqVbpFNopCptBAFjKJGQrslnxJeakErqpVrAdzGHBTAGjOFoIiAuROVkdXqqrVPpADnoOYstpOEsYoggZNYeipAVSlQkvOvuvRbBwKCHBiANgzbhdHMEbVeDYDtziwbJKigpmmPjmjGEqjksVruDoYbPNHclxdolvHKHMvVLkHAEilTXIAzIlPHLCoglqutJsFvtDCjfChZqiKbiQRUByzHzEhwAumsQDUkaKukbnRhNCVytCVUUWXoeFEXBTNmRAbQwYsEyfqZKIXywwfNzIywdjXyDkFbNLMyHcgQUZHWGGgLMGFPMOMHWhCzBCqRZBUaWjQfOoGWJnktnJwQGMSkOqXGpvxDHSCkLDMXGGA", "c_map_string_4":"tjQrUQaummmowSOJWiKrviENddmTBOTAyQQJYniXiQvsIACOAGLgTeDzWqJMSFICwnvjHvImNNUejjySCHUkWBXXDfgysSVUlMOjNYFdSxOlahLbXhVWkFuypZHklfYDHqYinygodcYuDnCmhDOjABlWsXBnCwlzdXwykcfbDnwprUBdmuhgKVnmfjkKpzafbyFgehSTVPPHGkvWgBdeBuZRHGYfWCOuVhhgVziBSARavpyGwWerqhKCpXuZUkIIsjIJIZlZJgaVoZDOjCwTWKveRfswQeiuGpAozHCXGbiXubRMvFMPAtIVHTxvMAgAnDnzpROIgLcgMbQpsavEdYvKBWFxPCzHQhmvpdHrdRNegWOnZWBizzEIZmKdVeIDWbkRceYKcwBLhKflaTgqCUyuycabFgKtNVEWSwMYteUywpbpbmmlxmPEFMWfWyqhBbcDtHoPrGDWlRehvhzXKmcDCfasANPSnCvFIviDLLiDFDaovBvSrrDIJbBJWCvw", "c_map_string_5":"UOJAfQoHyCVFjybjVOBWSRloZsXWpKsKGlvOIWIwgsZfhByxVieVXWfhRhIvFOlIdovxwJLqqlalWVIyAfwgEHEwEflnBzsqtMkFVuxppLkRGAXhzcXaVkaIOveGZExsJmkCBTtmGeCYmaYYqJeDfmBxBxmpbeNQGaEfpxtywMdOGAbCUAhmyeQSOvLGCkFrVxfkrdxkMSVwmHdmaRRnTvqxTghnBdqWCoRSSQNRCNIjmyOQiugQlBDYDRsyiQubaqlFUIdefVgkGZGLTndjAlqlqVnpxaeZzbLEPnPjtuemoLdiEjHONoswFLixVOeDssVFMtFTBqStPpodbrhsPLYCZqWzBkwQhXKWHyoQIWjJfgOjgPjQJNdoYLCseeyTRvzOdrmiAKroDVUtiOmRbLzQnkAgthZVfMxfVPcpxPQnFeejYYOMIVNaSbXPqAGlAyNDpoDdGmPRjodkpEIWqFscFXLgyKiZAJhKsJJmlSZfiwDuEAlLJHzjbVaxBUKQ", "c_map_string_6":"uuMAqifLmjctxylvkNwkIDaZEnGTEocLUYOhYUPWjyLBQJybPFATdleSQhdxqOlOKJtxzvXSJIEpPxhLeGlMmUnZxyNPZtEvJfkYwRzPIJcEGNLPzJTScINYvPAsotHiKESmnHkZwAUMQqzKGOYRzaZnTdKdqTOZUwHHzeNhZfvhPdKGsbDNvuEpIkFOBezBbqeyXfwkNHccCLnQqBgiWgRFfVuHSJPNBuqfzKQeJnVFeKXFyrEyieAxGdjHVmpXDcXeSxCqVYeUIXRTRQLnBFPRZdlurwFxHafmhwXvhJTwGAqmeBmbUefTTmknasNLKqKiovwrFJNjwFwuEYDRDnASUQqoBdvVkGjiJQZKRzJQIbiCqbqFhTqCegKnoAjDrHQRbUqprzKWxrcQwjMjKOCKoAmEGoKoGPxKVdjvLQUcNkHiFiNzFEDCcRJGLQnXbpNhNSpfSFqIpPOuuDRhKXfwroGXKPPCauEfiKlwUFhODYrqVgOsdnFeAUJzibRd", "c_map_string_7":"AHYftVJdJzzUxQdtaQnCFBnrqIRzDSOVtbPDfqAOFYdKqpmpjfNuWyvCwkupgRUcvlAFHguuEqZFUWbQveAdufkhkgKCYFwXEHojXfbzmswpYhHdlDhmBxyZJiRxLWkUETppvYMygPjGTbkmRsoEvEfKfXnkWxLHopPsQyexfmYRCTTxVFkqdHdzjJatGOhgRxkBDpuIfcaqcrGxYQyUXJoAyqIHfEWfrDJfhBxCwVjWsadoMdJTlGTWWpjCIYppAmRNhuPWgUeaubIlfNOLBiTFpACREQFMggGeFJrwWQGvAwliRsWgRPCvRgTxPdyEuQhnpcaFDZfOYiLweyPwQEBgcFpxpgvHLcEMQCHNMNrEGxmUfXgCMdDUouvnZAsOdnZDXbcTpRBaKoZMgLQgrdiBgMPlewZHVqJnyUHAJOrrgQQqitKNwNjFhzjhainPCvDiIwMylwqxlaFEsepYYhujwzNrPLcjkxQLyBztiqlKOTCOBSqsHOnPoHLBFIzU", "c_map_string_8":"FUGmTXZMdUyEhvMSnePMasAdiURCebLPOcvRmCQQFVwgpCVMTCdqgboZSYwfUkVEpEWQnMnvyeMolUTLgIbUoVvxDPKNbwEdPcOEbalOVakyvqsZJhcCmByIZeZWocxCAhzWCmmabpBjPwkErbXUuxaggRThuhVzNleMuhwYnOfnzrmbKEBZWDZkUcjnrwXYatCEhlRoCTulGbrrisKhQtshzlIrjhbCwOvfgLHahkFAnEaFBWoSwlxhMAfJDHgouCteaolOWseaQXRaGBprAdKzvBzKuCzeLAOKsLqTiXNIDanWOEvDiWXszhgoQLoywprDUjsFFZQWoOYIVkSrrYEnEjQkjWBFyltbtgpLznFJrqBGNsExEFwiLQiTUgrvMUZVeEetQbKgNDVfcJhJHlrmgPdGAlWPWFaXACacgcUVPKDBzNhfnVRELcVrKRGVFFgOGBkEIOwCRxJdqsnpKNPkNavWcRjUuKJSpSMrlttiTfntehPHUZfZhsLgcwba", "c_map_string_9":"trBkFOrdJGLEGpaHZRzYSPlSYJAyKDwYcrRXVFNmbtryXDIflDnssvEXLWSIIzYokhKrePlUdOuvooXxYPaRGkaxaJiFwxacskdtuQvmLHytALDhSftjmwrtzJXRepoUSuQcLKqKwIddenxGXedjVuEnewdfSYsnEsdGFzPODLcpTCvTCUANhdVHhlhjJwaqGgAIBaXzxYzIJJzFunOqNhLZOYcpYfdxFgrtnQeFPnWcFPevOEHueZdcwjbCvolUwfKtomYhuPErmgBxUBViLidzdbmawqJltbPIKowQDIFxSylGXVubdYZEAeOAlyTNVunXHvmdsKxvwOAHVbaqVOLrqinUaguEerIODndVtuNWrZAhwxPeMaZwCmkgcYaoeVItZnGAIthGZlSurSPPZuLZpizUduYluvFzeajAzpdwxuucXfLxNjsSwFWcpZWuoYsYnXfFQDOMkisQqAMnUhlCzliHnnbafsRDOeYbUugfuDRdmStHXvNPmFkxtFaT", "c_map_string_10":"cVGpADtVwOkPnOSrkGtyBPAsiWLMkGCxoEXxdOcXdeqFFDECaLqTJOmlpfYiIWuSkcqGPexeiTEGXEfLhIlAEVsAZOjKVORyujYOTwpNwiGYmMCgFqBxefybFgmcJEMGItoFxMHPDCoOIcxKUKzacuBVzHrFjObgWCuXHkqZcaneWsUYgVzRwQfOFphreFkRURgjhgCSpoCrARfYIoytcPlSdSBncHvkdzjrwfxpimSBMkYBgYfvMRnTVJcIsZuQHkcqfAwBqyGYlaQTRRDenkNaQXVxDmyvXmzbYhazhIeatbyQkPbJiEmXekCIymHPaBuwjVzebRdDQNRENfoYcFvpgPNLSbYTByZZqdZXuPhBohkMEjTbLbOMpCFLMsBZNnRLGhCmxdkYUlAVjFphwxOmkzrHlcoTImxQZXMSZtFJTGwCuPqNukclDJRHZaIhfQkzjkEEdtTgVtFUtTPKGbCnurgiwhiGXmZJRASoOEzvxAKCMRhitOepPQupIaDb"},"c_map_datetime":{"c_map_datetime_1":"2000-07-07 12:26:07", "c_map_datetime_2":"2009-02-19 08:11:18", "c_map_datetime_3":"2019-03-26 05:01:58", "c_map_datetime_4":"2015-10-17 12:05:12", "c_map_datetime_5":"2013-06-19 21:35:59", "c_map_datetime_6":"2016-03-28 19:32:52", "c_map_datetime_7":"2016-12-01 01:59:58", "c_map_datetime_8":"2010-10-10 06:08:33", "c_map_datetime_9":"2011-10-13 13:53:36", "c_map_datetime_10":"2007-05-27 21:31:23"},"c_map_ipv4":{"c_map_ipv4_1":"28.245.34.203", "c_map_ipv4_2":"197.54.111.255", "c_map_ipv4_3":"167.80.185.133", "c_map_ipv4_4":"99.97.31.248", "c_map_ipv4_5":"138.243.86.206", "c_map_ipv4_6":"136.44.5.134", "c_map_ipv4_7":"204.95.219.49", "c_map_ipv4_8":"238.147.133.146", "c_map_ipv4_9":"56.112.123.20", "c_map_ipv4_10":"216.93.26.13"},"c_json":{"slogan":"Integrated deliverables Empowerment, firmware.","httpstatuscodesimple":301,"pronouninterrogative":"where","productdescription":"Example besides Danish of the who choir these him this range scarcely unlock cast cost. Late lastly relax those to to our in indeed e.g. pack.","pasttime":"2024-08-30T06:01:40.937192+08:00","futuretime":"2024-08-30T16:01:40.937192+08:00","minecraftweather":"thunder","hour":23,"timezoneabv":"EDT","adjectiveproper":"Malagasy","quote":"\\"Letterpress iPhone pabst slow-carb direct trade chia kitsch occupy.\\" - Omer Ryan"} }','{ "c_decimal":0.1988,"c_array_tinyint":[-3, -43, -45, -108, 115, 94, -10, 27, -107, 126, 70, 100, 70, -101, -122, 8, 80, -121, 29, -117, 63, -16, -67, 67, -2],"c_array_decimal":[65.0219, 78.0931, 45.1211, 24.1406, 69.0068, 88.0346, 95.1651, 3.0967, 3.1881, 40.0096, 38.1928, 2.1470, 95.0426, 75.0583, 100.0241, 46.1022, 75.1632, 65.0231, 11.0113, 21.0340, 76.1413, 100.1101, 96.1568, 69.1438, 61.0139],"c_array_char":["GswaTynhfU", "iusQZWkkHV", "AdYOySfKKS", "sOdKKSftxZ", "BUBtTwmqGK", "BzstkMRKCj", "wcCdCrHpBp", "HJZMrZwPYW", "SVCPEmzqeX", "WtLxqcbVhF", "wuKsgpbOHd", "iMVyaRQsTK", "sYGttKLWXE", "dfSMZwZLTx", "ZUumDxMafn", "agArwGBEAq", "rbJxLXGSMe", "VikqnqhiRl", "VmpdVBahab", "vBLMTPcwHn", "dWkRJivouJ", "eSzLvkCGTe", "LbSkSGBSly", "NiAionuCBK", "oZfHUfRsxG"],"c_map_datetime":{"c_map_datetime_1":"2005-04-03 09:27:18", "c_map_datetime_2":"2004-02-21 02:35:42", "c_map_datetime_3":"2007-08-13 14:58:24", "c_map_datetime_4":"2008-11-17 19:22:58", "c_map_datetime_5":"2011-03-08 02:33:29", "c_map_datetime_6":"2008-04-03 14:58:05", "c_map_datetime_7":"2013-09-08 23:48:44", "c_map_datetime_8":"2007-05-19 18:54:49", "c_map_datetime_9":"2000-12-01 21:58:07", "c_map_datetime_10":"2001-11-04 19:00:57"},"c_array_ipv6":["cdydwgrgiL", "NCcSPUJpxQ", "HRLaVGAbKb", "knnKhWnQIn", "TMIKkKpqhH", "QIiwpSMLIb", "cBDgSBDLrO", "cTqQtAJKQg", "bdYuYOncqY", "YXfYAWhTJE", "ptFkibYUUA", "cWepZHVzrN", "uMMFFyISIg", "kNFBiHoAkE", "VBVAuXguRu", "qspcvSUDMI", "FavEmssmpA", "FSrxEMZuhg", "IJjxHCnubm", "IyhmZJNQbg", "oGagHMgqGD", "IKHxJaaAuo", "aUrnMCLNJW", "vakORieTxr", "BwEBtfgfkm"],"c_map_smallint":{"c_map_smallint_1":-15612, "c_map_smallint_2":26875, "c_map_smallint_3":-4190, "c_map_smallint_4":-7775, "c_map_smallint_5":18421, "c_map_smallint_6":-24423, "c_map_smallint_7":24842, "c_map_smallint_8":-18258, "c_map_smallint_9":-11545, "c_map_smallint_10":-29782},"c_smallint":-27894,"c_int":545733864,"c_largeint":9021441203538890731,"c_date":"2004-02-12","c_array_datetime":["2018-01-02 20:05:06", "2019-03-20 16:13:24", "2012-05-19 09:58:00", "2015-08-15 18:30:13", "2009-10-09 06:43:24", "2006-03-23 09:59:30", "2005-04-07 23:51:32", "2019-06-05 21:09:17", "2007-02-07 08:19:00", "2005-03-22 15:19:57", "2004-03-17 03:01:58", "2000-08-18 16:10:16", "2012-02-19 08:08:55", "2001-01-19 17:31:06", "2002-10-17 05:06:07", "2008-08-04 15:36:12", "2004-03-09 23:29:52", "2007-12-14 14:34:49", "2011-09-28 06:14:26", "2012-02-15 13:52:18", "2015-07-05 15:29:07", "2014-06-19 09:00:50", "2019-07-08 18:16:26", "2012-10-08 21:40:58", "2019-02-22 22:19:09"],"c_array_ipv4":["NeFnOsWSxq", "HJjjUsvmXr", "QLlWmbNcCQ", "rZZEVSSfLI", "MlHaSrPsBC", "KLxdEBYaiT", "dlMSDQhYIF", "sIgckXRlcd", "JANRBQSkiE", "NXUMpaoDYM", "fEXRyuhpJu", "exDAopAMuc", "vXTOAnITfX", "EpUubMglJb", "nSDmbAscFg", "poGLZELohR", "AZAoiSTDwY", "xnhoxOpBSo", "SPYsdjBWFf", "HCspMyddpv", "avelrcPLPu", "SsBJRmiiwi", "OKurKJlhUH", "JbuqIHrcPO", "oEwDGTQUcv"],"c_map_double":{"c_map_double_1":83.63296656323486, "c_map_double_2":31.570178248193905, "c_map_double_3":93.74870700497907, "c_map_double_4":47.58138732429419, "c_map_double_5":96.29349580078605, "c_map_double_6":57.312376982338556, "c_map_double_7":46.1639851017863, "c_map_double_8":42.0893416373874, "c_map_double_9":24.919139857229275, "c_map_double_10":61.34801921893872},"c_map_string":{"c_map_string_1":"ydgpXRHbvALCLigPexPNsgUceVzqqSXuDWeNCjMdKWSqAnXCTFINsdAsWktDHRSysejGXVegJbstwQVMUALeviocwTADXbWLNQxXjfeORmFHAdaDsURwbrPwpMxOWlCPTesctqCTLhkJUSKCtSdpoNVzvtKPazmJXSAPxDldrhpOulaJcvCfIjfZsmBtrwwcwurOiSJzmhlfjIIHdTOvVOdDkntlgoOuEspXsWTydPlRFUlPatMUBtqXDFXfYclVsucKIHMJsdDkfXDUuNjDlAuIOhUvAKbpsxHsAgNqnQHMdUpmjCUosqKJhKmXWIpAqLuEpBORtQyozwddXTOzBkRpYxrUAAYWjpqpbOMpnErUJyyNxtKxpwgszfhEMNBfmTiJWMbhJBSEvVBqdZHhpUKJKUzBUOVKaPtOzpkIQwacAoGqEfJKhCZgGZVPXQfFCWqGUFrtqGrcJHVxJOZzuWVjSHDnVyBfHsglPnWhUvHhQARtKgfbJnSohMZWVUxz", "c_map_string_2":"lAROKfMBbrCIqlGbpfoWQBMZJMNeedkOqFPfhKktzjzmZBEkvjGyJkyrJtovdDWKDiszGTFRRpYXTtkmmqpXOWzXVJvpGNCtYIzLOnWaBooMrYKjMfZkthYkIRuLLdqhicUaqqbKaQaVkObCxvCoKrVXCNGlYkFwhSrrWyeeSmqSFdJDFuKShaJQlraupsaKrGQCCVMRJJknSyQJjXvgGEuLGvBEYcRquKxiZLJvVrVePnWxTaIiUYyrSTuzoxmRmMkhaApMYunnONxKUDOvMCsGivIIFffVlDeGHMlJTeeOmMmjfJezedUOyFZGDVNIITBaSBkvEMarKSkotOWJzuKAxGxRbjfEwYktYZHOpnIvrCdFEoNvSCAbjlSqgVFsOwyBcCUSJgyRJGefpjsTteErthfUeKXAzkIpPbhHhYrFKEBCAquvuypJBnrPuYMjTMIXtPHylqGLpFhlTHdEgYLdtaYGoQKmtrRlppTUhDvvcFKasHqxABRGhJrcgVCo", "c_map_string_3":"FbEwqkYKXdywVLPlcWosiyMNjcGDMXrdnDvxBUrUsdtCnoETECoUXGZykIIeRDxHGhgxqWcXmWmfDTIGLwfYEAMuxhDWhzYoKTrJNAYbKiaUtszCzNYzxSQcvAjhprsWQWVdQNglqElHUZTYFheXaiaVYzroxiULJPTdwfYDwAHbhVNHdWzBmupUWWTYLERbqnlSuLSdyQGShPyVbOIIZMOFElCrIpuFUKtXiiKwSSmbpzQSnauHMKZKUekszGoCHNlRHuCIjioFJwefQixSjmHzXhqrcWVJjVxAGFkvrnjtrwfBnyxiYhfnmfEnLGrqzwMygNFJDIXoKBshVquffZQGClluFPiPTaCExcSYYLMlDPnbEoSYWjMrnuDLugLlNAPCnOzelJZLJLyWHOsLiCrGrSIFmqTaaQpmDPcmixTVLFAnZzwJqjIjqJJXQNNurwtTJQinvgXEPEXckxolLdctXuLkZofamODeQWhTFnxxSKTIvSfpRtIzGXMocGRl", "c_map_string_4":"dFrxScvONqmysqQFieIYUvsygMPNoEohzeJeANDRoHZmNEkapHOLIofmCWJLCeeHzoDTQzleumssIPNdCHIDqBgYKUgzLpTeyOozFsMUDTevNObCbaOnYauQqChYqiuYTuLMjPHJwQSMDfVgDYhUBAeoTmfCJmNGKzjeZDnWoULLUraoFjNFMDArPYxXkCjJbcDoJEtJQvqWAzBWDCwZjzotnAJyxSUmhhBPPVdsyKXWMNtZkvKmFcmrThGimXlbfLhBLOgeyHdRWveIeFHtgAnSaYbPtMaZpYqRdoPwpSIWUrcADFbTekVDsZJYoPwZQqgSfoEamKATkziEmaZHaMZNwGmAbwsAxwLKtVRhbNaJdnLoMuaWtZXMPDIiYKjDFhhAAYMmqeeQWzLPWFmjeaufmVfWLBDsmriecMZZhuuCxHYklncySfReNKBRSiOHMPudVIjeeLZXSPUhOAwaCYpmOmdQyOELxAzOXAOkQGruWQLaCqdZtimVFTgdnrus", "c_map_string_5":"lvZOqSFNrHBOBqgUSmhoNzAkFiWBvCkWLQJvQisNCBomtikODbwbzSsEmnztSWvnFYjcrhPlyctOlCSTPhvmbHudmLNqRafSjdrMaUPXxTkVhnrYfmTfJrFpSzDStFXMTDryAnzODofBIsoGySsiDQbcjwwJTDkptbAXqWTSulxgyeydSYLyZFPWlxnWmUZYSDnGHawBFgKtmHDKbqVZErMZLgCSdOknuxmPguMXwRnxTwFNkOhTRooyxbPeXqUJwpodzOTMOUPfEdLsUtnoiFakXoRrwDnyHOsiTuqzOjNnXiKhVRLsheEHodHOBFOHLgcvqpwqaXjzUZTwvnzrgbJGihcwPynbVIFTXhMjwKWMFmfhMncRFLdOXGyWVtvSaOVqfXGvJDUOSWxUcprywCmNnXtGUbpuQecYyswdVVJQiLdQpyRUkPjsPHPsKIpfiOnbasBrQYtYuzTRyYvHTUUQttFWHibIXGbdCocQoaupMILiQtYaIHJyiFOzSUsg", "c_map_string_6":"TfiFwLzqqHAplRwrnHYhGfzrzOPILHsTXAqclxTNtqVrmdIhshCRPJFXUFOcISXBzmYKGgjTmjwBTjvEnDGLcUVZnRVOQrYzNQznNsVlIIUFLcQiuTNlfHcqYOLAhgNofkVpokLiIUqKhjnWYnZHyFLnWHzEXetxKlkgrcYCEFfmDUrpqLlNxUpEPLvxHjlFUPuzXLWWasdwebNpABtiNuzeYGFpFRCZIGEgZUJMMRgaayZKlgQTZWcgxCxqWuOLTKimMjNzLMKZGliofxvtwPEiZsOnYjKCcJHkhjSVMsMKuyhZHNoEtLEQhSJclgpdDEDdQIeFBKEHvPlKugEAFZUtVWCFkwBhTRIvjjYeCgHaoghsbJaSeSrNHaFNIgFDJyHAqGpGtlfdpiqUWAPJepdZSiVDPsEXjQBnGyntJvRWVjyBacrQmyZiYvoErERnKWJVgbuKkZaqUIPEGWbYaqnQKucMucPaDhrbvCMJRnlAucwUhshzuuNwSXVpDWSi", "c_map_string_7":"BnhJhWZrxUuiITwHCJvRvvPvuHrwCFZCEvoDQblXQcfNQxglZRNsRIKmuDFCayKWaljcnSsglSjHYmqoLZTJmfMUcRFOmqnYJsjmRSohOOmoDCdagLoJnrsmUTnJioKDubpWRaFQDoSGmgBFxxxnVZvhlAdojawgzvKYtIPdfcJLLxyFfTJHjVLOwwdHaxRSbIxvMyATblPWRInwcljHOceGJVlorZRJxEXGnVurlTvbPkDphpGICxzWKPjgekktzRoyVsLgdvwiKubKtqxmLbKGcXLURNBOjnbmLoiQzRWZuZAgtFEprSXPefRtzYnxeElRzcAiYIGwkLSDfgqOUpQinRYXKMAQncKrYeXFUZTRHdGiVXgXOzWrmUImqAAWhSNwPsrDQzlEaHOjZJohUoKcKIGGRpeMMxTzauTiFScAiNamsKJRoVATgnMfBeFtjTiznlpWkEqYfTXbVUyTThpVePOjWGsrFPXHKMtrZGoDdIOzbfuoPwMwKYLBFeyR", "c_map_string_8":"ChxMkqKsFbPzzzBzNktihDBfZxUrhXpdBpePovrgyIeDxosWcySyzvQGYTKBJUvTQWpxtlPoWRBIWkFCqbPnbiEnSiGYzXKRrieUdkulqRERQxHXIBliAozGZOTOZsDFmrzICBFhWIyaSorfUIcbCsgtLhetTkaATrAvCBweXMDzkcQiqdNPQjBfDxndXaVlgSovgaUeVjbpSDGzCkzSyReihWnEneAbFrzftkKlFOvhLhpcJJGJzoJlYwfMtRoskcacMPccGlGBFTCrhDClPtJirAhIEUbbYfgzicbFIbzyrCMjtKVPCAYSbdVDgeiTyvyYsLMqrTsbhfjUOCtvYvzjEaALYStOOVaKeuUmHeuveiLmWElugrAaEvKhNLcPTyMoGWqruONvhvbsusmvuRVYrLVOOGRdLdtmUAcKtDcwzGyzVUouZPSHgnNdMCuvHXgXBGhcCcWxuZOHqhDggUEeExbSbIxXJmWIqViDBaqHVRWKtLdMLGlELgpTwPTB", "c_map_string_9":"YjEDHLlhDYRbZQcwqZswuAKXmdChMedXXwylNBMEaJrDHAkHRGluQzlutibbVqofSDtxTUqYbmBGuWXAXEJycrxLdBlHWZFxRIqeEouUZRGDEloqbmjTTlWwUvORxUfpArXCGGTJcorfCTTRjnwxVLDMqwBRApPHiyoBndFUrnofQRCqEQvvhIqLGYiCBaLldUTQDaZHiDceqmBzjvLGEZSDHiBXqWPcAtKwffCRePNHXGhgwFbcKkSHpQopZFLpnCeBdinoQLxepZpiIQhSGVTdDFpjdWzErBNBWRRqLFtDjRJejMdvtXuUFiIoDIPBnSyOEPDyrtHuXPIfEoirnSyCYAHcaHzYpMmCVhPdtCwJyVhcuxCTsfNPXgdEOkoecAuVbzbcVxGwFTGPJavjUtayhJmzZEEGvIVcKMvZUEhXWcEcDKcNOPRvDlEmeMWCnAvXnvQOXLKFqMqGjlHghRwTNRtAyWnxqSYzgnZxaYpSxwBGgflsXmgdwIICMxze", "c_map_string_10":"NoYoItfLWKUttwWcELRRepNSGwqcBGLDWTqUJJaOjdCgNqurWiMPGRsKVeOpHCwKSmpKBqbmXkzBtqEzqBxkHDkfZAqIZGViXRPzwNumWLoeKINMyxHGHtqMQLBNHkqnyUnzfTREFurORjLJqsTQbjgQTorICsfnHvjdeSIczUCVNPaZyrcWhFLgeTKPPRmCQwzObXGDpOfNCRxtegvAukQMgCfWALCioyVIdDatVnrHvyyxwYoQuWeNPjSHmmFPxLVdxOavuuenYARKWGgwiMitmreILVHpotcuxxdmuYQOTNYMIpvOaZbhbvWNKcNBjTDDNvGtjtCJXzcNiHDdJklAXSdBBqGxZcTQwycmjUcVBQGuQjghanppJPkdIFrglyEpqdTbJtpkLsRGfYuHevViuZjRxyNjtpdSsITpFbVEpgYQbRbSuQMsedqeqwZXbJuvEFkfTwVikOHCOtOetFkwEOwGPFLxZUnQIKpYOosSWjeEsMbujiMAiJEmnhEh"},"c_map_date":{"c_map_date_1":"2009-05-11", "c_map_date_2":"2010-05-04", "c_map_date_3":"2013-08-27", "c_map_date_4":"2015-04-28", "c_map_date_5":"2001-04-24", "c_map_date_6":"2004-09-22", "c_map_date_7":"2014-12-07", "c_map_date_8":"2019-10-16", "c_map_date_9":"2009-06-11", "c_map_date_10":"2011-02-02"},"c_array_double":[0.16327630886206543, 6.005021241192078, 62.926025911717886, 74.02584063322325, 80.09123533136886, 24.333362908452397, 32.47305432811234, 77.4677368826839, 36.07957330000156, 67.16985851239386, 8.168646062179246, 44.75476967877537, 10.3243195462912, 48.30214072713415, 72.33622103558696, 40.01103866718829, 99.09743449627027, 12.141535619360376, 87.04587712386397, 99.55117702162467, 50.170106923390236, 38.7634141815397, 92.6402814495871, 22.935999182709423, 18.162509462642625],"c_array_varchar":["qhfXUBeMMOgicOKfLTfFZlBikeycwZpklvZsHHzzzCIgcPdcoiZIurSCVZIamSesKuMqSXyzAIJOjIQSvIaSmrzTfENiDyrqazoFdOZJheDXARaloeLODqNlWCjPfbSxHinAsTjbpSjerkeCAuBVRbGQgsLuVoezgGBUCZchIEMkTxviCkIxipQSBzzdtLeAxyPavPaWQpZSPxNoiVegXhRjceSBqbDrAEDDdjWGHKBzqXTOVhrLstIuRKedBIZt", "KePxrUroAJMbQyHCqMgAAnYtkXXYqcqwXFggxAWoFswUIOkyZzJWhzspFzllAzgscqQwGOCTxvbuHqzwlCmPJPyCssCMYvOkGlzOyJLxILrewffPQzFFzLnFFfFRRVrGeQgzEPkweedUlplwuRLEQVpTunMlDDpWslddKOVzUCyyjSvfebbkjUbPgpwtBAZwSISjtFisXpYmGywsZahLVAQlJidWogKTEoXxZUkywzvMvcNZdUqFoVyCIpICxjnb", "WYxRunYqhYdDYrCaMymvZEazVpncfIEoGGoFdsCuVKMVHVzoilkwYBcwhysxtgZtnULelbakkznnOBdjCXIJRDkxVQPvFmYfkElcNmysDfzbRRuiISFUIWtCcCiNphfOoifvGXeZRNbuipOlDtRkojKfLFfhHeKilxcIEVHGNsUqWkgJQSyvzmUvOnJtLhwFPNSiakXzKKkfvRoVEjktqlRWWdHqbeJZoOQHLoTDaxSxohHQSImoNJtFihnNEgNq", "sTlOgvdyzVzNSRDmCVTsIoylpluwfhgNlJUzXfDrENblaCTRQMUgVBYeZwqGwnsOKOdkHtyCuwylYlqCEQTiogLXmwIjkqrPpDydKZJpxBsLzRrfusQVJzHYUjcuyUQrDJHuYMbQxrWyjJJokrnSLJLFHiVnDrjiyDDcAeKEZKXwUeqMFGOpmGjMTJWBPlPRKVbyrBHNnWAHKczILtSZuiXBhBbqaElHxQFsArKRCbpLpNtpljczmHVUbyxMjWxs", "SCNIeEcpfkvMXurjxzPdjaxnwEdgdkpSDvDZxbCJCfnZPNePNGkKRFdAQJNzqGlsmSgQdLOzyzaqdpscKQgriNSzREcFrCXTvcGHuAYdBqnhqUwBfiZTzlBxmCcUUWIVBNUPwYzxNJLUkqZLBqHJYUoJpLOuOuNOqRfOOsJKXFvTeVpWwdSoiIldJSALSTFqXGmQGprzbFDvUvzcEloSMQHHaiNZOgIXIxelgMUTxQTKxwvQUQbAYbODyANZaAgY", "mXDzfIiXMJbogvECkqBUpxhyYIREwfCvHuTJlrVUNjdOUXsMwtpydyHbsDGIdtavOYWyuVBPIanUQaMWHiMjPUOulAKIfafNBQxlnPNJaYoxJdvxbUNdWppwEaGQzpwZiIwsQYixKjJZZZjWkXDnHOPIxkgwEOOoizrsWqEtGMXnAybUDUnVKorlzxTWpJPiDnOoqQGWrKIrEfyTCJFEaNDtSwwjCbBRfXvVKuouepOvTJTWKwtHirQwmemSNixY", "fqSOASJPdTHGGEovaufHYkrWAalYWHsvYPNCZzNTetjLhohZdcoUQhNyLdluliwBEMGQqAUTocEvmpydqCmUsqfEImRiruxKUvRrajJzACYfXgaUhRmzcuIOZBrSMWUGNXFgexIUqDvjcoMhEXZLPyQszJDoTzIWPDKpPCamhGWvRzMBpuRLIycPBWIsYpZbYgNQnFJCHSmtsLTDKBDbVXobCzoJKHQaoFqYVUyItBFXVwTKzCfIKGiIMLskBqPh", "DQrKnUyKDLuGAWzOULeNHutciJSxcxJETvKfEaNOrrSTzNQAKKcZYAOalFFlzRIsabZGlbfsxnUZSwAGMiKJXOwfwfmGBmulqBJyHCKOeXxRrJtNQBqeffrwbNKHGftWkpkVronhonCdzsaZeyutRLBteYXvXIySuNDfDmOYjkXnticOkIcpcRLMbxpMinNeZXdgRudvIFqhQvkOXNKemkAjBLfrPlpUjXPylsxkYrOaVLKHSmRIOKjrcBzsGUuO", "stZxpgsUdeQsCqAWoowiDuCrojoiAlqUmdaSuCEZAFWxNWvhvFfHSMSvWPASwHOpABzMInBbpaoCcnshlcyRkCHPlVafGTyFzqSlfRRGHCdArhkHwblTirDXZquXFRXVCVqyacoNaiSNcOsZaQfStpmeHBaHamACxOdVZKYWMDdQdGLeOzSRSANNDOuwuxkUlbnwNUwDEXRHqECJjnisRnDiogasWeNKJvNHRForpXvRqwBSDKUKwAMfELqQeJae", "mavIBegtrVBUaygxgotqyQbVaLomyamsOAXlcADDcIZYOEkhrzpigaMeCNvmMFgalIkmtATOXLoKCZPnbmuXfnDPtJpoFjAQpIfKlEQxzFYYcTjIkGrXzzheuasjIBVMWnABGkKPMdgSJedVxMzcSrjKvrwXPtawJxovxUdCFToDZblihVlalkaplkgHNXGCBzhNgFipiEUnBlgSIWAltydHPkvwNasLzOUkqeYBCSnCZUXaebEOLjbbULiyFyXy", "wdLFnDqzHysJLfoQBdLlmCKYSxJrUDsoZPpgGpuVaGEiLskEPFtFaxiaAbNbowpnOJxbrxKAkAOvkKPncJMAsZgHbVQwgsSffXzuLZKQEbzokbectEbeGNqDLQoWiDKCJZADRZZOixCRwegWBkQHWrIsisGQArmEnqwpznYNOHHfCZctxojhtIWXFkQLGDnBAbYLWJoLzFVLEdnLrbKRqozCdeXekkhRcNcdQnujBJlUMXonfUjoBLmAOnlDVXSX", "eNfuOIfZWvVgSwIinekAjaYsNvPLbgdMEPfQloxFqvaFpqVBHzXZCVvNZlPPuMoHUfPhgryxxMqHMGdNJzIhKdapYpXccyYqmNevKPsGizNFiRMuPIEBuwDEuwZPxeBSFuuyujZKODdkuewjhezFvlioGItaaDUmFrcPFBDTUMJHaYTcxsREOYprCgkNupUtDeAmYEbGQDdrUJKzefOXtmOtUcBYOMZgYdnTjxXugsRoOjPTwXhVSqxCzBHJyGYl", "lRhGVTKplTqmBiJvHKeefHVMecqkdyELVtNdkoLAtgmvAUZBsJtFwezamImiupRlnIjgkBkpzukxliamBRQutagptfegVrazRUhIzFTViLqlkPJSuGRnrbbIRZkUJXrYYoqLDDtdmbBefsXpbikUbPaFuYryVQylXvTTYlVvSpBLRaXRsPcQyqgeBLUPsUogRpUgorkiUBNqyhdNClnkCFjnjuRnuiEirqepuzFDRKkHpjPikfmwUcOhxrupqRQZ", "vmnYaLVRdFLwaKCTFHicJxEXitFSogfasFMadrWoRLFUfolxXBuqKREyHqBGfOInHdFnNKXEHSpoYcdIcysfdxaORPDlKUPTURnMLvyZLdaiTOJdWMCfWqvCTYAnAmrjPzxfqIZJiIfmeDonsNYUuQiEuSRLjyiSTZRgBxcvErHKZXFzdwYvYKZKdFaVIxPODfoVkYThuLIhdxZSXaDxuHjVpQafoReccZiNbYeBDZlPVfPVtkIEreMcBvKGXIhL", "osGBofwVocRHOvmbVhITXvRwvnWFSoYkkSEoOymoUueUhVJSOSVOeVOsvsmcBDjDlihxnMdqafeglEepEwzdqluJpeYgZZvqziqMXieACvUFIlilxyHvzVjMowiDgIvVTRLXgKzdMgDByjufXkLrWKsaXlOqjhpDgtnjORBZSHiaPJHrBUqHWSBxeYGuoLcqRqLGlLrmTFiRVImikOihblHDzJBrORZEaQzEHLGcFynhcpNVjxeItJXAaixkxaTX", "xfTmnctvpihCAiJkEpaAxiItHlesxHxRHTkRhVNtQIGnLHAAEqKYPNiwjNpPZbJUVyHwddFTtZQthoKxOnUBtFOmpoNrgmXOkRZInssKWJfYGSuymHseUsENZGgMsFwaXIJZsmcLezbNTBCqpKBSyuobOJPlXyDOZvDuUXUUaNCaxzunMZaEOeQRSlmlAxiKgvKaIvoMTeYFiVHknUnuZMnIcuQOjbvZmQoNnPhytKBJbZUqzBDaknwCGdoCOgpi", "uAEnvjkEsnFKWOPNwxfDILKdRMmmrwpkeQrSusNNnpheHhxNAdkBHTtscuBDDqLdJghIVGqJUXQRotmjsjzLkvJkrywcTpnQGeAtFjSMTfDSdlVkxsbOaZAgBMdCSqtEqtoFdPehthFnXkNwuOPgCdbBHJAzSgwUsevBlsqMKUDAkJXShorDHOyWXwCcunrVkPgvnUBCwclOlrGVzndgHpuBROgPclxOKKUqMqycTfxMdBLaxbxOpuIMYcYinDza", "eLBloWnnGktMbimoAjaOoUgELsjpFyhclhToCoUVDoQypASShLHiguYZdaCXeGJzVFGfgactilZJkUYPLWmpuKPPWixFEvrkZIoVSNuGuKuLgoFRMoXawVGFLfIQGylwCaJYUBIrPqMlObXXfuqhlwgVzJYKsTzvVUFECuFaBeRFWvhXDLYIXrlaMoxBgOajjQRRNMxRPTzCqSrPCcUSDKzLgaQhGTqRlamTGodRkJATZMihVmhzfRQWurVNbKkD", "AMbkOgxBvVdAQyZXorCvtwcFlvyMWPnsnWwQBXaASWvzYLouXCncuNkwfcayBZGlydzvefIAUIWshfnCQpgCxUhiFcsgEDdyqBgniEYXGwYgxweiDLOAMHJTIOkobTGvmmnbbqTUMYMEYgxleThXFjKLXlJTViyMOAbBKhbRMWEFYYqYaNkhCBDtbpKkstwzGyNDCkXxgJmYAfMJWGpjxAoVzatTnzhQshLroQSfjZZNQUbcnjviTgKFRBnKHSMf", "aSsLafigVqmUNoogAxVlylmZFiJgpoussxbEqGBXYQnefLQrqFZTgxkSYyWYxNfLlyQLfNQLGdJVQaKyXOGrFtfpJVEivkQbaDACbEVXhMVDzlBlMrFGylAzJxCTWEdWEIbTJUxKsvbPwyhaimFxzKGTriqNRmtJuypgMKozwnKAwosMBBmhwnxOOpwQiJVOzJZECiSTlyRDKTfQQskIeuBdZTmDKBsTBXDbAFBIutQasfDdOcCmKknmXUQQRmcP", "mrcDYaGIJXFHRPKngwyqnUudUCesxZyXhHhrwQPNpagWmfthBIHFrPPgSctPPNSzCraWrBiUFofjELVNTtzSsKyzbJXKzItsbkbJiXrXqcZbmXbijrmmDovRqdAqrdRXPIUYIPYhKJbXqMnuBeKcKXvEjHywOwoFMzyzwxejcLcGSlifSYjMSZeCoSquQCBvSdQxxIdlACPqzNWNIxOlpArViWcJqBfiySogfZPPfpqaqZwTHYphyxIaOJPsoQfI", "PuzpEljKEgJgnQXNXCUPBKtnyEFaomcfgVMJMSHyYDvqFZdqImPXEKWCSKIbGzwgxJKYmQGXqPjkQBcjTGvRfAJxLetTiCWYOaGxtHvvAPtEwmMQigtFjKfTEdDimdoiZzxtOuZSfJdjbTMgtTEiHuFbwRtMyBQPMMhTGwqCYWOBPsJxgsiBhMYDyXFnexjmbkwajpErklrUeTyKVEotDdTzdJDgqSqTHiyeFqyrNtcyrYaiYtMgLZIjGJTDVpfN", "pZhoGyMscZxAVXQBvuFzKhCVhnPcFvFYoSccURyfZoGpJyiAhyyItzPiQUmVhaYEQwPUmEBjbmKbrcoGdPHEBnsVntMETAWDFyHaAABquNeRfuZJKMIABENRWLsnLrXXvxDHAkCXuxymFeuKCDnKXGjpERBCpMOPNSgnnPvkrmljreAfkqUpSKzESJFHysaEeRjvGlNUXWaFBKZqSsoiXIySlrmwlojNfIxatssUbBZjOsedbmQETrMDvuacuNei", "WMVjchegcMOLEJJTLqcZuPrHCWKozZuzLEIpRYWAeZdpmxooLWzNbrrVUqBVcoVuvEloBhfdSJTLVQuXXmqMhpVjiHbqPxJhhjhcILBEANyiCoSWeOxCFJgxcnzrTABfSfbqRehddSiMrRMubXVxKgxZsyZfyprREZmcItfpmoqViOLbCgIJdSLppAJjsvIBjSJedQYTUKRvlBbuFdbZTgAbeCjvRcGJeAnywGGRGeTsklutLPIltQFnxSNuZQpp", "zmImovBTYnHOQXKJCVRafhzmIcAIyfntCNddAgdbzdCeQOGCjgkMprbdVxzJtnKoLBTxIsMTvDaUSBqmrioBfHeoWBQxpoHapvQwIQJJxIeGLktmElKGSXCmxRbmkCYBcOahReQxlMMmsSkAzTLdLOgLmMAnDBrAoeVlgVqUMOXcEHfyNBOlRDCZvGwNkEUJkxaPIzsBzuAlBdAjkrLgKErLFnVunolJWIpqTBrAoqoarsIPDktNJDPwDTmArIXm"],"c_boolean":0,"c_char":"bTuSSPqPIu","c_array_boolean":[0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],"c_array_smallint":[10059, -12715, -23361, 28529, -10491, -6314, 29878, 19742, -3650, -14700, -28103, 18202, 3693, -29825, -12477, -30284, -9102, 25315, -20153, -19142, -4696, -1672, -4181, 15199, -23209],"c_array_int":[962263866, -238250052, 1482684465, 318230979, 77037598, 1282978888, 1399453240, -830472181, 6236660, -65352733, 382696608, -2039485799, -1255435002, 1265057882, 2128064736, 1560409404, -238283441, -88250361, -1055081750, 1630703310, 1750130355, -1552049577, -1272493404, -1414726820, 458651599],"c_array_largeint":[8401346287721129140, 1497428059959003417, 5981858048731884156, 1926832869170359228, -5898686139926452514, -7739655310971992647, 5451855967700721289, 1421825702841307640, 3353186033716448050, 8894430218366902893, -479690827647133552, 2512104312874813760, 5729959639798684107, 5647369925140638877, 4705246912907833115, -4231585471771551530, -2372119094768999760, 6894518942871899412, -4678400123413830928, 6607690289591211355, 5178552180288740343, -7761116196352353340, 8082465744452192686, 3982815098973240362, -5678888496241777982],"c_array_date":["2010-11-20", "2005-06-15", "2012-05-18", "2007-09-26", "2005-09-04", "2007-08-01", "2009-09-02", "2010-02-15", "2005-07-13", "2017-01-23", "2000-12-05", "2016-06-02", "2004-03-11", "2014-03-03", "2011-09-20", "2000-01-01", "2008-03-07", "2015-04-23", "2003-11-04", "2011-04-09", "2019-03-20", "2012-10-28", "2019-06-04", "2008-04-22", "2017-06-03"],"c_map_decimal":{"c_map_decimal_1":25.1794, "c_map_decimal_2":40.1769, "c_map_decimal_3":25.0260, "c_map_decimal_4":5.0570, "c_map_decimal_5":69.1511, "c_map_decimal_6":15.1165, "c_map_decimal_7":99.0552, "c_map_decimal_8":31.0090, "c_map_decimal_9":60.0103, "c_map_decimal_10":8.0168},"c_map_char":{"c_map_char_1":"xEubHIcDXq", "c_map_char_2":"HVKzMttAoA", "c_map_char_3":"qNjYvxAnui", "c_map_char_4":"GBZJVBuHQX", "c_map_char_5":"OFeECtDSrv", "c_map_char_6":"GhcOCqOWXx", "c_map_char_7":"MZdhqrbjMv", "c_map_char_8":"ifzIBiSJJS", "c_map_char_9":"tCjNCenFux", "c_map_char_10":"dhJEMGttPF"},"c_varchar":"will","c_string":"vOlTZlMyyDHKZWDqRRHHNXeUQimWMccjIJQmBiSRIOCGmnNOaTzmDhmJEfHQeglsAGifgGkJWUwpuKLoOESbSUEEDEtTounzyIrXaBdJamcaOXvaLdujvqAvFFtKNhLZnzONtEyMiHAxrcYNptlKCIGqwFbwKbVwGxnNvrAsAuWsyqBwrvjjREIEAcgUVRfPaTvdMVxnqYBAUdfwrNPnEvYHxdsudEdUJOJMkLszKZvClwNlWlkvLDUACFIsevePnBxCLGMFDbpAqcYjYqVhizYeiTAHwuBdOczMOVNvuuoqQUzBUCkjnWNhMJJoesvIeAyDqJosRWiYBaOcodyMBWiUPZoTcoQwaevtPFqSyQCNPCHpwAoeTDCxkKUrdYVRwxxDBqgNPHdQOIvOAPYhtGirDlALuWCeyudGRjxWfcaKmnIBNcGMLIWtokbpIPKDTHkdqqdToMPQasdhnUizOeDzbJgiBWPFKvboquktocxPVwKgFtiAvMPtlCaUolHK","c_ipv6":"5a05:7cbb:d5b3:c56c:28ac:999d:df36:9f67","c_map_int":{"c_map_int_1":-1201101222, "c_map_int_2":-2010134914, "c_map_int_3":-1078663674, "c_map_int_4":-1697554921, "c_map_int_5":1984227495, "c_map_int_6":201875405, "c_map_int_7":756570130, "c_map_int_8":1468868323, "c_map_int_9":-289769394, "c_map_int_10":882363247},"c_map_varchar":{"c_map_varchar_1":"NRLSWJLxoPNadFmJGettFoylYueohzDCZFyVnomruAhXLEJWSefyvbYThpaCgJXukrPvOPrUBkZyLikOtzjsiMpYskrJDcRMPulxpCRKxEeVXipaZSXkcMMUnrGDMqfLASmBVkDsYCTBmIEEJSRXIzULwBZcETsgVCLiKpAfaJwCsVcgoyDXohOLtwulCCLWFWOPsYTtSRivdaZQzQuNnqgFCtqThFrafbKTVzZvRchoZmvYWsfQlyYmHGKXXMuU", "c_map_varchar_2":"XRbHIYwJbfYHTqsWpltnauumbFQwNLLteQEbMEEvfrQWLaZrIYSjQHCVhGwWnNAtWCjbLWduZEevnJtYlLBHOKHcQaMStexItjXSdMGFYZaXhcwTVAoxBoMTrscMKrmKziBkzxMwrXVHxTuLzifXkbuuyEgxqxKIOcmbmEcOMAOSNcKDETYcZCHssoWuxZGbbuKrzTMLGmyGjVLOttNxiZRaEfAWcCwZkjcyjklShMMmvDiYvYRVCwUuSCAgGPEZ", "c_map_varchar_3":"AujZzOCnXhXlZERuqiFYiGkIUfpZnzNNVWooJfHIleDMcsFuWhusGwFmBbJxNPmtnAPjMaSWfEbMLRFyykcxjmLKqJmjhNeyGYEjevTGLEgQeESwePGpSNkRLBJSZGMRwJvGwTGbeQawcVClSPhmzEOzIlmviMpiujnrlKrhOEWoNuErAlhhjvpoCfxlgqsEAwpSsVvIcfsvagCBRWnBdQFXOawwvrByIvNiZYfewZsdfmJBskfPkhSJtPGUXTgo", "c_map_varchar_4":"hoZgwsJmcpeUpvvnEaMEHRneVyMuvQWcoScBbPtsJaSwSlHYKejWtfIhYVxqBPZpMhFnRTMkUegHfEBHnrRHfWtlGPrEhnygwrjrRTmFvsKvqqiEYwbsizyGdjtTBPivfITpcLZjQIwsAXeGcCddwKeRtMacDRetJyVgZXZOXIIFbYEhIkDHtJiTtPuQszqBWDpAeoCXPULxKxbdnKJGNfKioXHPmvcGfAtGuSkzsTSTEhdVEpFHTcQHZKpJdRRf", "c_map_varchar_5":"qyISphhWitVpzuqzSFfxlOSovJHOzLrdydnIXGoFTntlBpgrOinmfLCDlqUpNezEtnEFJGySHtfcCghWdksKIBlczSuGIuxgPwnoPLReEjlSWBlgUqLWgAZUpTkJDimlkciWcjboMWHPwynIXydoQuVFIitxPCvsZjTSunlvnzbtcHQknSYZoTcBjCFidyyqNwrnQQvdbGZHPdgxDQKERleVVOhqUcDgVCTnuIXOPyXRtEYOxcjwnuugUtRWhmgM", "c_map_varchar_6":"wBhYAUUUSeSfMcLZLtKjJodScpuyxfJJHvZYVCipDTqKHCGOOpbPKiMVoStXgPEuMFAmnXxPvAGgghDFIEjuuLSkpZwsQOiyuQyJsTrYKwYwcxDkSkCPUSILlvEzIJxEyzUfBBBagpgSAoWqyMwdZNeqvLtOLHIrkGdrVPtPcLhBBoiHGwCNyKzwrtDnqAITIeTOzQFTeczzyqDyMGgZIhaJGzzBHSeJZaBcNNNhmALpdCKCkTkMCUiDjCaGSOfk", "c_map_varchar_7":"xCwevZcaVWyhvPEmgOXwgPGWRkijgsVOJhKlzjnuuQwSDcjADTveuVBEnyROcbAAdjqgnllbyGexDJFIBTUwGJpNOAimXZPtzNROBLVVzskxfdWQkBCiANtmBabapWMvWLgcJTwIzzpnxAmLanxEygudqyNIyThbhEPEsUNxGEKNoKkmTbikbAAuffdYEurRymCkKOXdDUUfaCihGJeLUJYowMojOypEpMdLkZBDaSwrxpBMQSmhGjcrcDXpjNzB", "c_map_varchar_8":"baInUFSARjbeDuZPqMtgADmmaOfvDwyEiZrWgMOgusPUppPLetsJhYcPrVwOkUhZMzQUFaSuqLBrmULkpjQesVCTfghXdtWqltYStmXUNGCkwAYKYKbisiRvnTWfelWtSaeAKyrEAraYarsShevNOodPWNHBrvraaNVzopNnAYcnAdudQdCqdrwLievCLWFhGodTtTjgUWLRcneYKEuDvQMwXlIxTgBvsQaNyruDztiWZHmiTMWULOsCIOgprOpC", "c_map_varchar_9":"dZHASXnELIUqTHYuYdoLzSmrDOdGaXZIDqGqHEIRVdJtxVrsAXjPjnSiWzVKguyJMOyGvQKpFrZAGebVriKlgRoXtkUAmcGgHtMuaitnknIAIulmBDTeFbCPYdFAlmdPtitkcxAakQxgyGzQqxtppJARFvGLtBBUyAkajezIxOItuLMPIKFUXJfBYidsulMhyQKKrCQAPAtWzIBuoGlGTNDnvVxVUjJrYUOnYVLVSXKbjOEJislDFZFEUnLuSKZN", "c_map_varchar_10":"WPsaIhWAPQHHnbXUnPkrgVOYtpZyUBFeeCZtxvfYrsBeDaUirlhlSqjwTHrVCjLcwxhUBmOVFeCXCLCKwdXlfPKqOnnBvRpeigMxWOkmwchvbeBAWOVsHNBmTvRbbzQeRXmkJmeJZLHDLLNTYTqiuVAEoPysJvHNNLGWgZKYshWkDMuvuvUDALsgDRxUFEtEiXPAiBDTXNtQvqAIWwHdsCSlivDCUlNefWxmLcYGTGCMTuyCluqzQXwjuqOKmbdn"},"c_map_ipv6":{"c_map_ipv6_1":"ad2a:447b:e414:85d5:d01c:9041:b4a4:78f5", "c_map_ipv6_2":"8c7c:57fd:f2de:7437:98b5:e352:bcfb:5c4f", "c_map_ipv6_3":"acc0:138a:1c7d:c93a:d070:1802:8f96:7061", "c_map_ipv6_4":"79e8:ae59:25a7:85e4:d540:343b:c053:41b9", "c_map_ipv6_5":"3d24:92ba:5a20:af4e:3166:d91b:2a11:2328", "c_map_ipv6_6":"6c77:ec45:d912:b6ef:1d9:d4bf:c510:1cff", "c_map_ipv6_7":"6c64:ecbd:a8ef:5008:8c46:4441:f3b8:6a10", "c_map_ipv6_8":"bc6e:2a9f:8c51:259e:f33b:3c38:dd54:10e5", "c_map_ipv6_9":"4662:1dbb:c6c:7c7c:a9f1:c59:e067:11ec", "c_map_ipv6_10":"2e7c:3889:9371:e9c3:54fa:d3dd:9284:5dc6"},"c_tinyint":-109,"c_double":8.833201801972196,"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":112, "c_map_tinyint_2":-82, "c_map_tinyint_3":122, "c_map_tinyint_4":-6, "c_map_tinyint_5":37, "c_map_tinyint_6":57, "c_map_tinyint_7":91, "c_map_tinyint_8":108, "c_map_tinyint_9":-70, "c_map_tinyint_10":127},"c_map_float":{"c_map_float_1":14.008215, "c_map_float_2":5.7331557, "c_map_float_3":70.76313, "c_map_float_4":9.276256, "c_map_float_5":19.654314, "c_map_float_6":88.6658, "c_map_float_7":84.90083, "c_map_float_8":2.6653264, "c_map_float_9":74.36617, "c_map_float_10":66.02052},"c_map_ipv4":{"c_map_ipv4_1":"235.198.237.183", "c_map_ipv4_2":"69.62.200.228", "c_map_ipv4_3":"231.98.153.153", "c_map_ipv4_4":"62.161.213.212", "c_map_ipv4_5":"203.97.55.59", "c_map_ipv4_6":"52.85.252.156", "c_map_ipv4_7":"181.202.168.231", "c_map_ipv4_8":"60.216.181.156", "c_map_ipv4_9":"194.31.159.191", "c_map_ipv4_10":"147.55.54.111"},"c_float":89.01546,"c_datetime":"2004-10-21 16:16:19","c_array_bigint":[-8275427763288027282, -3316009700912370911, -8362687429143645104, -1729908671626146555, -7476210092319130632, -3014320046810702470, -7198124212648007713, -3424777010940042233, 3162939434061910970, -1298267034780362628, 7560691597137042909, -8135326141221614531, -2174797183774190637, 1491487425232429109, 1466026295174102358, -876709182445936006, -1211663791958678347, 4969376134707658419, -3779839930473635881, -7014160210987463456, -4036283735191762269, -5483708552699180183, -1805837047676956691, 7643631949482500940, 2656274233305219108],"c_array_float":[75.79845, 19.602446, 15.869071, 54.451523, 57.7526, 40.406925, 94.045876, 81.55179, 34.279743, 29.903496, 83.253456, 38.21833, 78.238, 54.222763, 6.5512676, 25.188873, 94.38808, 45.50162, 48.640335, 5.3899307, 17.866629, 44.88007, 26.50451, 80.59933, 46.029823],"c_map_bigint":{"c_map_bigint_1":1242327415417069867, "c_map_bigint_2":-7936947539241295635, "c_map_bigint_3":-7901074811530286201, "c_map_bigint_4":3751924723822851878, "c_map_bigint_5":6041169594104806170, "c_map_bigint_6":-5755502474856626072, "c_map_bigint_7":7417444615678000326, "c_map_bigint_8":-158268152349573892, "c_map_bigint_9":1018775786287976153, "c_map_bigint_10":-3035418670440059160},"c_map_largeint":{"c_map_largeint_1":-6950475239879936068, "c_map_largeint_2":3625772355147882524, "c_map_largeint_3":5369434987134820252, "c_map_largeint_4":6092912845011747390, "c_map_largeint_5":-7277502212324737582, "c_map_largeint_6":-66323566607173780, "c_map_largeint_7":-75464619056624182, "c_map_largeint_8":3073578657626996686, "c_map_largeint_9":-5619163405632691498, "c_map_largeint_10":-5722319262472731771},"c_bigint":4166073651154282197,"c_ipv4":"227.16.114.82","c_array_string":["TLYxIFLzHOARJjPAvQJxeCtPLsDddIdEvCiQZNOOfsCMINxsKoVMVFhtVSNVQQmWidoEJVhkUovNthXTAZMnWPqbbzodUfVFvWKBpBNcwhJLljcrUuxWaLqyUnwabygoHzbaGBSalkNkdWCDiGDTJSvPCxeNUkBaRnOxKJPSBiaaTpHLhcmRUVkYlZMESXvbxUqmFujIRZhAGAfiTznNFsHCEuRBEbqthOvpQiPJkknKxnThmCrGnSvnGpZtWZjGJZnyaKzMqxoordmUkdckNRduahGnjFLpUNavTMTRlEkOdMtlHqCFCZzCkCcyJTHMDnMSLtxgieICcQRTxbPWSoNpCeKittmxoBHQpRCqJsDGRlxBGMvfQWuOjUKTGrLoHuLFGYVfnwfmpbkWQrjolqWxgvLcZwmrunLZUHZzqaJhIFYCKaNxwswTluCHWbuPTJydRYcCgqYnHhdWfcxHDtVeSSDAasEsVFSvOSxwKouLkChWntHZqyAzfbWvuHWC", "rVvVFbbBAzSDDCdMFcsKDZFzuxcreRNbUlWxrfyQBJflLcblCMwaXnuqmKZgIPwGaxzRPaNIWsgwxGIqhPtzDsWTTZofaiCBxkNJUIfQRLJsfkdrfSHzMlYQTMwhGYiLfvJAbxfhverRmmzPsBTfQpLlMVXuYKyVogoeDriHoOexhTuXgYqkhcmdWWgmudhklFAtXVomCgOgTVztzerWZjgBjFbIECRHPhnFKWSZvWIhmNtIHTVLxqotdXsFerYwfnpoiLhDkwbSNUvrjXpRIRwgAdTjHbXDXaoGDxFRRJFEHAFRsZwuzfPnvnhYNYphakpxaddynkDtNOSCulgneTamwAUKWRbqWTNtIAkrwCihlxSEtqQtMLyaDEIcvyFCTfhtXIVpSdpgnpKrojWrSshUWZITlZEuIGNOnDDlyYMKnHDrUksiaekIPkdvjwBDaHxnAwJpfozBIZRnybKzNYEbNEWdQWMtfVkZAlKDmGrwoBxNnJfHepJBunBJalIS", "FCGqRVWEHFjUBmxYgmxcTyaHljxGdNXJBgkGaXTlBKKTBUBFRedLdqGiRLSvUQNbWXSiRQyRTZptYvqFsPvqjFQWjxQBqeETjiQGPMuzKCtenILgwvsVFwioNXrNbIlDLnRipZfJxjPzOjCExGFfPCjYfRJfywXGQyJEJJcwDjKFZvGLWAbmJhNHuurGYLPPLFuIGgoVzysRgEjYgpwKYBqYoajPpqtbClfhbaaauNDLdDATjBmaiSaKTorngHUSkqDUEVaTZchJZkLwHtCBDCQpRjYTKjTWWtgoxJOHltcrZQSCWjwojQiORgZlnvNQfFFFCgnBBYEHtKHDtiWeXTvOjRHywbaarrcPqOlxrGFTWylqiAjEJmSgxezLVdnAjadAoCiNvtVsICLaUMOKHtOrcpaaTCmVkDNzYNdbRCoxaAyDTQWnMSPsNUPCxALiWyavaXRMulpXaXklvIFgostxiupNaLawYCDFFmLYRWgUmQtsPvkmkPRBRtVBIyNt", "FUonmkDPknCJfvSLSqiABzkqjRqpldoCvjAiActbNavniGZFqsBTVhnsSofVtbkMYIynroWilItbsuBFUnfXmWjXRWDHOLycVKEJVwKZauhIoflMLvItjZjeEXbjniZXSZZUeQtWCvVCDeyuHlcCFhWSLsmAwPjmluAeiuZkvRhZFlnJMCrPjyWxpSAIYZVBUzaJCiRRcAWhIZVMObOsgMHFMUQcHTDPulvZDQPoZFzbfIcEIEwGeVYrksmkTSQVPjIcsNKGbLpcnzvIvBndbHZogaqFoiZcZBbYWCEmMcYIpPQyxQvmAcpnlvjOXIjUpvwbOkhPtLbCEObiWEMUSwLFflpoHyFNfOkgDwJxgrJAGVBruTNcOSIUHZBFMUPTLAFgMgHgQBgJwFmXIoNEVNEPMnHYITFcCscUUndnWAjreuDYqumqjtWdVABbgZSmgJLxnscsVImvtDTwKXQlpeCUxGbjZpURpNRCAJWNgZYcsWrZiBBLHDPhFkcNoYTe", "HIcAFJDMltcLHgdBkolLLmyqtnqCNttcMeDlEqSGXxeaqknulQOKTvfZHGMmtySRHlMiDXGaukNNKxLZbMgNGFbSwkZecOPKoVLrLzGFtHVOMDKZApDLZcAJNABDEJVcULwqdhKzwNAywTRLKyiUlsUlDdwSNwbyTPTbzwGLSSvnDFtbTRuYKIeWUXeVdmRWHkIlBlfXLyrSyiAnNKpBhNhJwnrxjwdrIbcOPKFfBHRgNjoUlsKvQiQetBsdNAGjPkkuZCMNFIzuOkKrvcICzgiovQWpjaAtmTSpbJrmMlguCCxatKcPvuRzyuVkzKqGnzpAhjAplXomJlrYvsFOdQDgAqsTPUUsHxrEaQUGEzwMZUMElyGlLnYSgiYnyKnOIBvlWDChAnamGqHvEcEAJoTMAuYLRaOlSreWUUxAPubvjghnfNLtPktbDxdiFCNdkkPvvWqDaaWLFTMHIUtvPrNxOzjFcCLaJquwDoQKTPDAHOqJNkHxOXpJjMetWODn", "MQqHYgpdKwmzIrzCOcOaHgXYOOhkOuYXZnOUmDBxdUjRogfJOMrhvjVJpdikOJEVEghyPiWqIcakNxOoiVQyyaHxGfDGHzNygKWoEVxvXwGSKfjPbMynEkaDKVuVgXpxEWgaeqZGtbOaCdXKjkFVoWpTyqjneDkZHBMqNnpTofvnFVrGMuANoPtDLErKmnCUkvLEHNPzyrRQLUbpYrsnpVBaqnjBtpdWgJBvLeyQgsPuwRDjsXfJxRzZoRUpwKvGGLKSFKrapHMoDQGJWpZwCegEbfDVerCicvVSnnAvWOtQIbScqrinqXtQwYIpVjNBxoBNqzSkSaIABJyojOmttfCpdgEVVeCokgRxCBTlNqCKybFDzQPerduifytuxEtHvZRLOjMbmxSRNyWyXPPAsqaUmDJrtBWwjZTfGtktkgxbjRHeefmBMIFQHlUxcNHzaKklbyxMdaaIXgrdHzLgEuQEOfkEmmMnTloEyecozQijPXzbnrxvLMPcKFJgZbji", "FPGaUEnhzPwvUfJxXnEaTEdXyPdmHYPWgveqaILhFOijxblvKYEutXLxUOKMFeTPnWSXiyxNfmmDtKhyjFxGkLOIjQOTXogtWPHgnCzsVHQxMJAsDuPkrGnEgEfNMHMgEwrdxhyzhLPhUIMbuowykFxtcpQvvYNmWrlwuahyiZGsqKicqjGgCKFuGAUqcBALUBSzTLByIoDXIkmVyiBsLfAAnptLezgTWXTmXLBOdcRiqSwjOaJPzUisUDFyPJSrgojNtYMSuQYFnMbLFOkbxmQOhlADQkQOSMwIBIGvNTBImbLckjVPjtNXjKnVtjUdAlcxCcsogamGqCjhJZnVWmSNpKSzGHCIplxHrXaNQIwdXNnEoWhnipuuMCyZMOPBOkjsodyzqqTyiikmieFMKnZgyQUPpZMqONUITvxOIAJVsknQSXUopalIznAGowBLDmLiDtqjLHNZDCtHxesMppsZxaRjnUoDlKEGiytQEbDWbWerjdRwDlhavJBtbHRC", "VHoKrUZYGwgBVeiVoqGVxLVKteWKTiaubnxBjryXeVhzAuRJbqNLNaMLGkSUOtKkocDPQNYwRVhyAptRVogSWtBrVNfDSiyZRyGdQhzMnZScavJOPULdpOnADEYoQdZbTXWHmCPhIjoItKyEBwAQMOEoOrBQUeTfOdfHsYTdZuLlyeGKhnEfeeteTcAkvfZpkPrwsslxOKWMWQyslBTiPDupAebORNewJYbtagINmTMWJkGfWvtslljyzRTCVJBQplzOPdkhiBpotdgsHGvyjGrCAgxAkGRifzLLEfiglQAfujkPsgqPbaRRQkffDxjopUBsbEHeZfDXZpJXbYVONnyuYMteRjGRxFoJfwiZHpHKaLjcPRAjAjIgvnwbnziEPAuqMfSLjCcmiSFkxDUAAbMjDwxHolJdZPjhDfCoCdSwNenCFxBsrUnluJweDnQHudepTutszeSeGrlHWkWtLjHKCiedYpOiFIQdnYaQdPGAyzqPzUSAoqMcEkYldxmf", "BpwOnrJAeUGPxxihYLAwKYcEybJdSvBvtuUidJtLyTJCDsalaauZMXqtAUgOCGeTQIvpCjjhVztsdxmAxcPWQPLTuygDNAbrAuAyhcCSOQQdszqMNJoYOWKzMNjshVOmBimtQuYNNpkOSasSqPLGLyusOKuifJsLhGkkKuELjzXHFWzcgXlYaTfRxNdYVjBSlpMEsyclifwbOdwmfzsHQHbPMSQApEvqHGrjeTwusuKIUcDNTshSoayzeWHwgfPLZPYyVFxcFtSAwHtZPwiWTmznNpMWhBAYMrtRNNiNolvoEBUjBkfQUQNFUrsgiaBhRxZmtuiKfqZXXOfIednvNIgcCUHniiUcCiGNcCoWgvUrLuzyHPBEPznxgAMaaHwrjROwPDazQsBrphitnWTiddbyUWPLnvvThsxWbJbMmxaIwHcXoqfmxvnLnuindkAaRtiWqcQzGZbYlyFqrnoLpZvxHBWUQmTnpnaFWfxrMjGKpafGOLegbxnFgEultaXE", "WmMxQoTcuZibHmreffLXOEzaUrKFKTIyFjZhqDDryaDAcDRACleDzLhttjRLdxXzrXMRFuRwecNCoOpFDrUMOUWUSLREKCcYMfJpDoSFvYtdDItEgzvNDExONACZjENFEywnbbtWEpgJDYpgyDMyDsejQUFTIfZYsqpBYmBeNiVmUInNtNpnYVRKyDHPobnezsIxHmtUSjifTTFDpvrttoslQZWcAyrVwqUcZQrynWRUuTgOCQTLphdcsLfbpoDoUicQZcoNDkvruryLKVpXUXgMuHdFwRcLZymivkjXoTnJrnmSNkzPoWKMoeJyxhJvfadTEwXMQsGqEkuxTfcOhRQwQaUDeFSrtxxqTPyRJJZwTKoLwtKcipQdHhlRTRSTDGcOBShZacumrvFsAPvRIIjDESpZnYWwsRjvxbTFSbiNPmXCXTizqIYvGdceSsSgpWBSnYubuBIidrNkLUBYvrXvtiqkqwVpwrnmqJfaLWnVpTJmdsfANSNKMYHWVIel", "ZGdBOkOkoICjqYAImrPemHmrYkxkfGnWtumlUYCuUUlEOIuqeZQOiovvoDzlvNThPwebWcxuOKFrlAljYTtHeHxSAUuqrexMakQJHmxSAAaREJXdJFcinfICoQIlizjpSpEVZqsrjRKKozwiaUtOpUPPlCahekMVtzIfyaXUNYWBzaSlDTrCHjPVDrucOjunUQmBzDjfsjbWcpWjOAVKkTCRVOpwHjYgjAGQBzREvdNyKhLaScqZXFpUCNhCZXgMXlUAseyIyenbZklqyzTvUUAufkklwyqMTCvBhhWDIadIVdvApuHFCLTztlgOCQRUKkiEVkRoRdfHwXbCvgZWglBtrBtwzSufkuRKTqeqRJuxGVHgbSLTStnKMpXtVVcunHCazPtkcJsizanvSyBmClAouIKjiOSuXcTmgpcrktpbpxeZrwEkrLcPkDjUIQwzQZGgMBuebjtjEdiqwnxfhjMLjcZHADiyLJRURVWtVKlNHcXjiWjwkXQvIgDSzhep", "MSyLutBjeZBMmNnfsARFDHLKYBagYgthUnOmlpgBdIqFWWaJoImWUtKrtzeowOMAvSRkotDHirxIsOIhVIzeLefYQSYBEiWureUPHFCZwfKbdgGDiLWFheOASennopvqcdfzazXIjKzoYWblnuBRiKfqGqttfcieACPmTvfTusVRKIAvqpTXogwEuIscxFDZjVKvBdZDqAjSGosqihEjHAYaeazoCCURlAGwzvpRWXpZxMvmCocsLvmIbPqeDnildCpTEpUmTNOPtcMgaKeOQdqpneNxJrQasBGXyctUCvnHYfrAYtWwCvhjSNKRDlQRQgAWpbGpekHchMqKDyEqhFzISAFWVlLEHndKhtyisxSqJeYEtISOuyLqgxzAODWECYtjiKtUHTfkPXgxuKWWvIxKtVdANYLoxbmcrGNHRqqNrvyxtPemvnPNkIJsPspRffvzkXuNRTzQbblMZxnwWMkzWwtUBSngLxfxGyktYQzBYbdwUjArWjkvoJmfjvfT", "UzCZQSxSxbVtMdfifsNukwqjrMzrPajuUMcWljvCzWaQJxILFacqmJEijuNnqsrDuSdxUfIsxTHViGswPSzqyYmzlCOyBsHGJWuzEiIZZyJmquzkjvhfaQGpusFwBENqmnTbwyXbhYTObfNtdfnMAqFnPfdzkHqxRKWSbWAhxYEzQuCnzokvzopObVbkbCUNkNueCMLyhXguJCumStLxWeUvFSzgTXUFCYqMaEkGOtlHJGPpEAGBwKMoCdVJbGoafNChHLrsyvPotLKJwbRHogFvwEIvemWlXLbYTHBDXrgfTucxFIQVjLAeAgKliqHnFAhQkmlOOKmnlTGbqbVmwmABWxqUtCIotHyEswJXQVwXtdDlHhefRscXsIRIPeRMFlFIaMxNGfRrcYcVnNwySmwUDxonVJuaEfyAczqHhQFoPpdhCalsTfrviJfbywxbUxMAKGaGNslAUDfawCUOCbqqjIwXJoRYuiOkTHXBsSlqdMNMuYOcYUApFSWPgQuk", "aRtKQWZVCSuEGVvnkYRwlFpJfqfYounRVfwCHbrQIDGPQcRHasBDqRYxJHXKdODNQgzvvlUjEIbsmOVBRJnMwssogsQxVbkKenaiAqIBfsYNjHLjtzujOSLbbdArEvehoZwCJfMXTRImdTQTtDaZYPnFPwmsXAEjiNyAkzeZXWWtiEwTOfLJhEUsYVziyfZjzJrpxFmJHPDCCkFNbbjGyxKZLLmDFYftunxmsqhqemrXnoiYHwWvSNegaKnKwajEeWPqVzAYYhdxELIPEktyrfvSCQfEsXSISNZjabUVJIpWBddAnOOSpKiHkzhWxsLGnlrLfTIOmyHabckAZSHSFhrcjHxJGCXRmrMxemHpgSxQIFfWXPKLxPtwqXsnjpsclKfcCjYiCIhozGgcsECeJiyJHHdzXiwZhvNVkDCpCfgoczhroFqNllqyUhvZDyyBZlJsBeOeFmacXnSnjAfjUPZJqsPFyXEZKrYJpUhRuAvbukhWrbSJrTtrAZvOBjVf", "JIEIgUHIRxjRtBiapaOxihSjSpprGovSrLqDeJvymjcZuztsdOLTEoLVlZTOOjOvZIoGXHISmNYMiomHKIMUxfGaGCWONJreyaiRZfPFKMbDOOiZaPPZjMPQrwFNTtNnrpnsNoiNiimhMZAeCCVwWAzNSwDESGjLqXXVeSrdaoDPqzLdWcSoZDGkAdgYzhzvzinCgMAljRiJooumtjCmgQtCENVHnfvgubxDkZUQocJPbvFuNOYmNokkcdPsRhKWtdsXHRbqLalIJnOuvOiflQWGwNqhTnclhOoRXGxEWIyRadrIzfiVBJcihkKBUUlzGTMDjlMDtOCBZNvxjWeiQsyzKxRnvWsGByWxwssKMZQxbsMZCLDYOpRVEOUFVFkRaWqGgxdqIDGLEerKfzFgqxmYNqnzuuEDoQtwFAgUeGYXNzulSJDGHUbbbdUtFJqRWQuSBmlZJLgkMQbrgrlGmkGmZILOAbImCuYdvHKhbIRWByNKZlzkbzJCTLSzZdEs", "lFxUtsHKokbtZBoNRrJpJnJkjCsKyJAJlpCwhzNJNVMqKrUPArbIJybXtBvZdatzTXwMwgRSbMRsPrQcLzYyoODDuAzDGTbPRdRCWXKMJUaEhxNvOLsvQstfnUPvuYVwnIvKkfVywlRLpqOUAaNfBLhnYzYDEcZxIVsrhCHOGAcaisFYAowDgyDGvVqadxBaCPPuayKgzvYXAzSrFdYonzUIRToAybVpTYlwlnvuHCsKepCEThkveduxserzcjPdAydqqZloeZDCbMpYXrddVADpVOvurWetVWzdbCTzqvokTXtVdiYlKgtzxuBzBAIYeIVpgClxpQNChFQvLnDhtWRUkNMHNGPsIRzjROTZUyZPHQMwwYdrNpHZALTUyBmdOqYdBGCMSRhnGQpkDpGMGDNVYSYslBywFOnPXJnuagSylrnqASwbEpyBhMPAtqUVsujnoSzmHAZjCXioavFZQTNTWsfqvHEtCIvtNTOrrtnYMpPITTRFBSXxnFZTKmJJ", "qRLsVXDrNJPDAZgKzzwCOJjzNcIugTbczgRDFQGbHrPGNghFyhAJAnSzcCelclaAHQhrBvolOZWuqQzcIZebitQPBwsvJKdBslxIDXxXaWsMGhFJRzzoEtoCzbxbsPZgHIAdROTiZspBMxLtcAommhPaOKgVKKjGespLhfiLLtiaFsdLSoxJfvvujSytcIZISspZdZKKQNPuckCsekoBaZuWjpuLXUuuzKlcIWKygqNghfYKMCFyUKiegNdsUOBqYLzoOVlCMGxYaZUevHPAefxNDejtJYViwkpcEXIeqkXhzTHjltazdoFNXSyZvfnjWhVxYYvaQQHjTildECpMdkIZAWXwpPEorGfPMuzwwumvbVgHGKJtYQJMqWyUOtgGnFMUQOEDobXgHAiMogWIyXjbGQrsWXcaFpXUovkwzuLZfrGHrnYkUClzAjqMeEiJORQIYNTHUwunMHmhObTHhuJXvfjOEumCfLcTBuMAZgtdNZeHzvwiUGrPcirtfJHz", "xMwlKIBjXGSzsOZcFwjTBKwMuQgHCRfHAlfAcmrKcwPznyqMREFFVgZpjJLNRRCaFBQRHoduDzHNlotLUXYkiXKyDuDuFlMiRgLaOyEkIvfuJqAzUXtKvBVgGnmbLpBHOHplzsggHgHDunAPJKDMJQqdEoobJpUjDDSSEVylyqvunXrvFGjRGScwqEtxVarremTTSFSyPDcWQKEgzGzRIdLpSrOdjZjVefkYMFosjvyPliFGkljhfROYzmXIAHkUxAgkPvCeqQPBuDnlejtHmwAUCVnfOlKkdcymxZiWzMbYZgrVMBTmOUkKxFgFjTrckuYBKzyJDXNCNyTOOjUJkmnVnqEixRRQakchZMivsaLrgmJxKwMYzmlTqWRFtUdKrjcajgqQqVUhFUTfxLZjTNTjLZlTtSDJPdpjdAIxNNkSjrrvheYOEXwqeiGwctUqaSWGKWDkmZVlftShqjpNTEHuXFKBXdHkiNIPaAfDTionJAmHwbwENkDhKsTcExiw", "LWOBNXBPjzBshJjLkcjKexCatHhDDlWcxKITRcBhfZsKkpyzEfDeoJqaEMbzBFdNfwegXbZycqLpovCqpCkCungjybSIkWkatgMbKlaVbcbXmhAxSKfVWUPKJEJJLTikkfRwVnvkaNeXlnOTiHyyrGhsewbHpemopSUAdrphVzQZYLWyXfnbXccfUkwoFXrgmFSJtdaKAGaBNyRpKuTpleQPzrEkvQBbXkaDSkJlGhEmLNISrQdWdAIXTHXGpYjISKTiwjGgOOzSgcZsWERnSSqgbZBmTwEyQhBQZAqdsnmyzWzEQeEyzsJCIGrtvEDcjxevsYiNZiPtGHSapSLZbzWUgLVGeuFwtvVtRbAXyLgwAyzimOfdVGkKlyBOuxoHlcKBRobenosleUIZCkueDYRGxROryyFFpBmqPvdZikGxMfbSEeeamDMKiwOeUlsrKLmNfQTXnwgiHRmRHHICdBrRDMUqnAedSyopSxeDYCYPyZmCakZMgZepYSdZamXy", "bGYmjKIzxOgMtZSHbNjRwqBwOtBiWhmMCwjdtxPOvkEfvYtZBQCCHkvkzKKZytBNcIsTVhQQnPXUgLYlJjPiEAeRlRFVIigTdHcDOSTJlRHWlffPGHTlOpQqCHCAgHsMRSLCWIfHXgtMNastqnadcCWwAEuwrOJnKdynjhPIByHYjErCqLEQlEAsWGICEHFZGVztBYoIJBtkBKEUUZTZsSRxTJGMQuWMnNhgDqVuSylGLEWffOnzcqNflkvGFyfGqeqhGNmvDAjJAUrJoOygAnVHfDWkFvBGRdDhnuEFWtZgmeJahdrpuCjEcMFYxfeEStxhNadVGxplLqgHagUZmwAKKZObgHudBuPSJDknORzdRbhgAcBsNuONfIBChWsIgkQFgWaOITsiCKyOHxzfCYNKDKpEBaDvQtNHxePcKoIFtcTlipFoqvQWKwXugtPLPfYfUeaueJYBdNvbALIrNsxMRjqDGhVBlDlPQhDKqppmGsQKAgljoXgmrGdIFwSK", "fwxjfuYXreddZSwdopKMkxahhqUUewjlhsTSjcQXyDuTwEXaSyjaNEiWmnMuJWfEULmUomCGcHhIMcNlSQEwcVLOQyrcZHGVTFIHttHGdlnzscmpPckiIxjARXYWevHxVLAKEqeQppblDwSCgZIsNwTOzWlMQrbnrwajSwEqvTTVriLSNcVbKvisXLKRxCcsGynivTpSvRbBEkZNJqtmPQPlRuGhysHJWNpPoYBnODhCrIQQSTzSVDUVlablRpRPvWyAhdPIyJgxvoAIQqnwPIyaueBFwvqQVXmQNVZrNVpACDnhDDGARNioEjEncfDlsBEZtwIHGJsGTypZSEjGlktFeUMALFXffHLaJsUqjCvfGKtUUzOLNRsOXJCWVyRqmXdMHJxlDXFXleBOwTFKWOlZnObJdunEZxqykJAqnBqBEhSkQngjGqtljWQafwbaBtGTqasQwSzSUqunkHvWBBzcomUqxgQfbRPehdVFsPwNbmnFgYUSNNfCqITrGNym", "RxYYXJCRvEBgvGpvlMBDfWlyNkPsYmSCWXuammNGsmniItTqLlyQtLPxzCQfTKKiPGFUciHZREndXSgZAyRwwkaTICfiLveeXlCDRBSWTfpfyBtdWkAdkpfoHdsaCRcbFanDIwGfpEMtBhOCybsDNzbPorrmNqDtKyluJPgbQvPkZYYitDfVObYfKLsBDheiOGpqFlfpFMQfSlNYdtyaIoWztItehuCjqnLIphLPrjQeTZmwpVTCnPiHVIaIZJZegbdjthqNENwkYmAmupEqMUAMvqrlSoCSTWoAnGMkYmdbmCjPANKXcBMUhvCPXfzqjmCMsuinaftfhBGlSrsjmmuGuKHwFAJCVdEsbZTrJWLjPjeWnHHYwcmStPimfILEGxvKUEImwMYklMDCUcwjbMQywFNOgimBYMPtlGBZkOHqQjeJrpbbHZpVmVUzVGfMpdAYpgCqKukeGLkqWegaiQYlJwVSRgKLKwgjsPLcyEUxrvyCXtoGKcwPFGOpBHtE", "XyPPHfaKqFMuTukwicIGqywHgfkpmeDcMXJdJcWWapWTJotuujhqYFfTtCPTJZuvUAiZbKgzHYoTfSkUywQUlEisEgAshRoGeAeUVUuSqRjjgXvhKxZSVATzSSwyupwCKEEqyzcpnLcSRRqWeZgLcnKpOzgVvByydbNxCuWRUbCIYJDsbeBCUHpjuuVgxmnPjEKzPUAksAAFiBgiyeWqaNUnPlQLIIRISucoXFDGezQowCcTzchItAeFnRozbGBuOanwdSPxmyUXtyJtxlMxFQLPowrFpQMcKTyDOSxMWgMQDdgUDFYCaDNSaqBJHWGMqyMsZKmhzqxudBzHTAIUaFrnDtXlaIkzzlWVFXgJGznCMiPGRPOvYfixEZdhHiJNfjsYxGoGmJRhZZfjuNdhEJNAfLMptDfYYJExzMTBMcepvxzqlCQxGoyOeqPSHJHgrcfjbMKPYamqiJZCTsBZFqiZLhDPAFpwxYukjjtLTraSMWXUdKyslnfjXkAHAOEK", "IUHvDPMeBAszmENBazKUQfQQAntZVEcVAILVCudoSKYVlWhGWoXOVbGNfIaIpjTAecrJTGLbesUOBlEmLMyLenqnpopzffVVFvsqiUEEqyqlRFcuAhzeSKURQUHcSfKneXaCTdflhSOqmsguCcbPpzsmdQLeSHnDSjVYLemuzGcdNxvgSygyQzxwaXHIfTqTqeIAAkblsxYtNlDOFITAVnDexRSyXiBTDpiulckxVCvEimJeZUbUbIwOHxlnHlfVaTcgpJiJOfHPVCPegkMNvWoMxbRMsedOrqLElcOglUTIOjdKsELPjtOuGGsjbyYVsYFfETriKsBJUQgpZIySCNJVkfWnOqzHDKAEUavyLbIJFBsIRwoEUtdwlGfRViseZVXDtXTcupOgJTJeWPnsCHYsoKIPpyYIlzziHDszaIrollyjlWfikyXiQIEqfLgfYXmeJsebsdWzuOVeMmROHfHlnBlgYzxLKaHrpEgUwWgBJDaPuiGIgXWritHfGknY", "GIafdwgcXUWUDtjkyvCIdKiwMAVtDQrOjuVAesRzzAbcWqEiIAtPwOjzVSFoTjejRhciMxaWFuDyXrAlTJxwfJxWRDqCDvDKfZoPsESDZUqbAyuWJWgRyXUlhWRzWrQVKZUNJLUUCHdudprnyfigHjIgvYDFLpENXzJFZTigLSgqKURMlnZFGaGSCKRBHnTmcUCPLOfpLoNJXBTghIkfHRUpIiGmiUtoxwpffdICnweDJrGfefoModwVREsmBRVHRZJNhDKyuUNdaNwoPhoinhseIZjUDPweEhITRZTVGVhqnsNBDRuLbnIWvxshWlEUyQhOgxSaBIVfXHJefpVxJEdKyHOGNbGgceoynRIlilhwTAbarKOqmfarPEpNOrWfXtAneIioUwsUsLxZeATDpewKkZCxEzSNIWBwcHGXBYrACiaBSIignKTxrKIDSbTUfobZcUfkJlPvvgKjUJNHpUCUtRmSgAaHMRhhChwDYYEiwPzunuMjhAbpdNnvrbzt"],"c_json":{"celebritysport":"Billie Jean King"} }','{ "c_array_decimal":[51.0182, 99.1208, 25.1601, 95.1844, 30.0062, 37.1678, 21.0627, 9.1170, 23.1522, 34.0500, 26.1282, 79.1160, 51.1789, 10.1595, 85.1184, 54.0669, 68.1051, 92.1088, 24.0038, 51.0901, 36.0105, 33.1479, 38.1296, 22.1391, 43.1285],"c_array_date":["2019-12-07", "2000-11-26", "2004-10-17", "2011-03-16", "2012-05-16", "2010-06-26", "2006-05-10", "2014-03-28", "2016-10-24", "2012-04-01", "2008-03-12", "2019-10-22", "2000-11-19", "2005-03-28", "2009-12-05", "2006-11-01", "2015-03-27", "2010-01-16", "2009-10-15", "2019-10-19", "2003-07-13", "2018-12-13", "2015-07-19", "2000-11-25", "2007-03-14"],"c_array_datetime":["2000-05-18 08:40:58", "2012-03-25 02:23:50", "2003-08-23 01:48:31", "2000-07-09 02:26:56", "2007-01-20 21:32:39", "2004-03-27 14:12:26", "2010-11-21 16:12:51", "2015-02-17 04:33:51", "2018-05-20 08:12:59", "2011-04-08 03:55:16", "2001-09-05 07:51:32", "2013-07-15 19:11:59", "2008-06-16 21:17:48", "2004-09-25 20:17:19", "2014-04-08 20:47:31", "2017-07-28 18:55:00", "2019-05-11 02:02:48", "2008-02-22 15:44:52", "2016-12-12 18:47:08", "2004-09-22 21:21:37", "2017-02-01 04:49:54", "2003-02-26 16:10:43", "2009-11-25 23:45:23", "2000-05-22 03:10:14", "2009-04-13 06:24:37"],"c_map_ipv4":{"c_map_ipv4_1":"216.142.55.77", "c_map_ipv4_2":"118.168.210.155", "c_map_ipv4_3":"236.69.34.111", "c_map_ipv4_4":"1.222.166.167", "c_map_ipv4_5":"39.204.84.122", "c_map_ipv4_6":"97.154.168.156", "c_map_ipv4_7":"112.158.40.224", "c_map_ipv4_8":"205.8.16.228", "c_map_ipv4_9":"90.220.243.152", "c_map_ipv4_10":"42.21.176.234"},"c_array_char":["cnNZnoqnGV", "BajwxlEDNd", "ZBmoIzdKqY", "YITEeQxVBS", "acrJZqEAUR", "xEShgbMwej", "VlmuqgAHEw", "KacVYvDpWP", "wFzuNvUVCi", "kxkhLcrwKI", "HYWaWFWtZY", "xjFiFGcWNH", "lEabDRAKuY", "WXOSvLNyYX", "YImoPbfHdU", "QhrbVVKWSe", "osxaIQCVrN", "ZOSKiTnGuE", "bSUWnWmGUL", "VevVAizRZe", "aSlXZSqJWs", "whegmEajns", "XnEqIaGEuz", "JPxXpOZjVH", "xLWMNQISgr"],"c_array_string":["FVRsRFKDuiPzTHdrpXJHrBveIaSDEwIgzjKKmfFqdoSZdWUbhWSIMUCuNIWWJYkYIDvpbHlvyGriUPPiqyHmZklQTzMkuYUGlFstEVOHbYdmDLgcrWVkFWJtyCaIerfyiDGJMmumcmLgZDSyptncOnivrTwSObFNJEBnWUhbHbRJnedWoaUVaeATqsAsFlOTOBZnvICwzLNkRbHIgubgpzymjUwbbYstXKDsKGPHgQyNhEkLinQtJypAHbGNIyJseTaWdduNGQNPVrlQDIOAkFMlzDKFKMPQooQMKRTXVhLHwDUytiDZFkAItuKakHtokqGlyUbJKaXJZOyXWHKFZfSwINVVHFUYUSvdhyEiBbeiznyDCPSpGZJlqjzKZtoKqjGxtNMpjKOaexkSkZMwthEurYlmgbOgEXdQMNEfmFYFvXqlNlKFisXeuSoJgCkfPVPEnJLcFXBOUoEsaKKkLSvRqOeJhPdXvsyIHOtAmuYPHVhwCqTfdhEEQZjbbxeS", "szgxiXKWDZKKgqtVYTIMYCqsGRDcolcscLjOTBQfsyygFTjYMZGsahfmuYZbZqIYPjPGPfymkrWeaaJOddknNVaBwtyYIFFrQzSBOCIzqfRpiExtWishGnioIUPvLwLHahLpucsfGweUwlxKdDKiCISFSasGUeTTJMJhslbYSBQUvWCzyiscOveGdgrpqCxlKjXzuvWBjbwkRsvnQaUkBMMivIhIZcFPFCUHEHwDIMKnrHshXLupVrtrZOjLoFRtUIxopaRgtahZhntsKUQQpsbAkuSfSLuivLlMVVfoSDzbGxMmvKmKQlIeeShZQqJBYIHsmODVSSCkQfdQRWDeqQxXgBxUDeuzmCeSoJzEmFIRdheBFjjEsFGzkiaAOpccxCpIjvMSIsIxyApgIVEylHCTIUaowIpvUxgIhyoSqhSxWhGIxAkZqhzvRcPdNFtyLBjJBeuzQGEtVBKxTzmQYyNyKbmxkoJNRXXwcxERrqFhBUxDsVGYdsNYOiFwBYEm", "ecmtsquSnvKAAWXjjNyAPtsTvSfpdbqWYCNKepxLhWoCiVJevAbcseOYhKtuJQVhfRDuAJtschrnByXEBueKFyKPxwhVajtkCJJRAWxYJNDvMZSDhDQDFyOsJgIqNPRgWIclCLOfkLntKIlBfDlgdSZfxtbFgRZjIsNaLsbPalBWCsnXoufFCALYiMiuUVFMhWdRdpktSWTAHGKFeUvSdzTqXzQHmqYJJXZBQLSEYwfrQiQroPPJsSmfTLzUxFjbxcZUUoSOuknFErnBtWowzFvcJnqMgPasQFuHdcDbxLgqCsyYqDoaKCbMGkcSANFUKufzuiToZBgwrQIRTMLArDGzVAsQZRYeOJprwaqBdpuhUOfdbBkoLscgSEWBGOyYIFmDdKJUlZauZiNyWOOBPvZlrJBkcCBOtCXZLgwXxhiYmfCAzfrEzwEXLiaKtXpozdyxnVGfxydtUyLuiYzwicZIMpFqLuMPYgqFqVjAEnVRYlPZuQpjWzuMDMuVRMxs", "NNaKipNCJCBXZQoQmCJVsYMrXOugQsumEnQhrzJKyjZHIGPPgDGhsLviraKAssXzyndGdbckREkeANRaTTWwxaTmumxgurYDSfOSJbeOSutVjPteEcaXIfOkrtwDgdlxdjxLLydEswMYxWZJbCAqSsrgmQMacXeQdiHXAcYooYTSVGmDDFEAxBBNygCVSLRMGZMWqVWEdhAwwMztXmzvTvzWfKDvzxpZrgdRwLKDoTAKJqkyHwyxcNfkDuMUDjTgGPoXRtRgbQaQVSyGvcUVHqBTKLUQoQDvRDoVpiSxooiQoZYefQZhnpxOxuwkaxdrynKMyJnjJeaBbgkKbEOBFhCCLugmVkrCLXAgQKJBXatuHmRBIoFlOLGUWVFSSGXyWUCSvQuXkOnUVKrUSZiPOcVrPAwtfPijBxqLejwGUDDNBalewJQSEGytDiQXebUYzvzmoqiCnyZiPkHNjIZGGiWuuRzuKzfepLXkNWlVNCLlUSKVyVBoGrFogwEvJCpo", "aPwiaWifCuICBxTuVsLDThndsAWLyITWIvxfarlebomITwWsLKnsDbifOrqUYMyxuMzvVOfiSNzKRAuVzhdRbfUPMZLuEWSzMCFhIdxjLbdjcGxakZRHRtAbJgRkmGgfywOddxctClHrYvNoiwdYJHTQJobGKrpajdxuydbwKSOwMmnUwIOpgeuPqIdfRfZUsNYhHEbvmRWGpRADQbaCGMtANbqCHByLjabNzaVdOeksNRbZDQYFUWRdwwDxCHVvDbummLeTJfIOpTvpWwNbROoVgiOXhWPziFAgIlRChzfRjXKKaNtjpbgcXmvPMsKmPQgGepaZkWMGRvReDdxxwcQNWQjomwiTQrWtCTNLGOUWXQgwmzmZAFQIpQdBuISVYLAKtfmvruMacaeKvxjOTqeYwIVbfQuMZHxEFcSflJUGkruXQpOSYtKYCGWFjxcehFccqBHdjzOBjdRXiHRfkKFnwNBvyBVJseKbsgTPgMOBTrbZrNnQwRWWEVNFXkGK", "YEvuQKTtCMalLLmNtThyBFZAVeLjDzXqKnfSExkSnHyWlsvKRShRppgDcQBgDFIhUECqPnwHYHdzXisXZyvRzBZPnRleVxlBsfKcvhzePzEdejdaMxvyRtVddNiThtbCJpSOUghgyxaOrBZWUnrczFjDhdaOanqKgqfURQhigjPigJQRlsplECRoCkurMkNIiwdrrujhDvglPeFMNUvHgvmEoNIdaCWLBkFNAnrROKrQtJhfkLVOkjcYFEhSjkLAjOyRkWDpQXIKTGgXGtAIoEBudzrvKcMfeSSGyaLBYoaSeRUxVUxSfonSmUTjPBKFyrzrGkNAKSeolxfRRTzPTfxoBVPCtSgxCnlxIGDgdQgGBHryDyycTkmiUaeXIIAevTNXNkwaXueMyBupQRMovropFVrgmLsfkZlSAsGICiNvZPTuRBmzPRVRNSDGtUaWUHTGSOkQkskMbSKBWjaPgIEokFAiqdqnGbLvEIULdIEejMszsdNDEfTKmQBVAPHe", "jqKopAqibadmZOibzZfedOKbRUHLxqSmAaXZzUdvdwozrKtxGDaGKVFcsemxVLchHLacFwndPpydEmVgGapusfjczJCjsvELCcZlzSmOGKzyOpZKkcqDqgwFoUwyelXXrfATglSegTiVOBUBtRWxEpluojFROBxtlpHmUDfvDHkKZBoJnwqXEnRjeRgPScDWtNBeGTQGaobzkTmSIKrKXOoIEWykNhnAdIHtaQuBFItWuoXqWSCdllJeVlGEWMFFGFidXQmLIUYRZIRrOfXkNancJYtcSaWMcRkLwmGMinedGyZVLnrGnUBsYCWIvqfCLxIeMXbqMDZofCKBsEhxTobzeCUeDckjsBvzuBAoxjTLrNNUuTViegDOjhTCWGXereqkjviCGHRPREcKSrtWoeUMpnXFjvbmSnlRxZGUdwzrdQDheEyXylXthcpubUXbaHkNUGBfIXAwEwHXmYYZcjMrFvAegNMXKRAMOLINqhEgFgNFVzMeALRZJDzfXoSN", "QKjJYgDIAvJoKFvwLJWXaXJgOjIyPtwoNzuXeoMYhCrvyQBdRfzOeeaepXwzQNSVQQaXdaltxoNcJzsllRtnyLAFXUtejTzmcPRUyoCutojbpoGOKmjWpNtARiRCpRkMJoqEyDOPGfJWDscbKDSVIjXkQVovkyVUvjkCeitCucOHiXexHilYertMImTqsZnpgqcdeZMxtQmnvqDMtXZPhPEwoPmPBHwvllROUYEQCxllsVKguAJDNUweMnpmCsqJxvgHkfzxZWqwvpVowSMtjsqcgsSTvAbPPoXKfiqeWEczDxAWdqaRpOtNCxSNkGGTjVOUCyaMZxAhZRbdJBGNITaLjKrKcPZljwCszQBncRaFaqPspUvHKzzlTSznnVlqKAmaBSujhCaEWntwMFcpJDXdEgwwWrSTefLbykvuLtXebnrqZgrnShXdlpaHxAGQbXkPPpjGdRepEjRugTdRTNpMKlnJyNhMqpPyMezRGLKgADkRMHoBvAZcSbXFuqsO", "FXNTnqqnUmAVgcBddayoCGhcTrCUxVHZenqBMvaKrChMzKsHevmARlyUwpZVYVpnPmeNFTtTiUEMUJaYrefDYHDmMlBOOeHRXyEUTUxkcJgxuDhFKrjUjwJrEItirBXCAeNNSfZpXBbmlXRjBOPBfDrVXnYaklLgfIayuBQdbAczwPrvVLJpnYMEXbrbXcNaOqUekYJyoMfdTSQxnlYGburgcFkefXIGbQMsoBGCAMJBTGGQPEQRDPILlUQwpRbTTFsheHDRuYEpqMsMxtDmYUnIglFZsgiiyHyriKFRBKiJelVrNcMEvgTLUpRBSWvLXKNHIGaXZIvlkZobotIkndBYSCTGLJbHCNwSjrMpCLfGKyJTwerHvYWJlJGpFDZCvzkmzreXApJmdTBrxujGwvdaXsLWDYDehtSJiklXkdHRnZhnGikUTlxIxFDGtTuFQGiQBFMEPsFrYfIKWeVhqEgiUQJkKvkbEOridIblspjsplbPXgVlkhtmtaFSDKuT", "LjkkSFSaXGzPiFRAFrgzquvEIBLJoIpUrsjfOgXJkKzucdOqRLJyzTKrLqoepYZPWjFtiIADtlhPBMITmOKSltKfVtNXIEBqcVzsfPvHlihhTobqaLeDSiLAWRPfLmpbaSxhFEACQpSFrpNNppgFkbScpquxhSTrhGQrDhewARtLYWwCTHqNnOtRlvepxIZOuasCsEZLpTeMIxmTJIlabLIVAiKoJFmvtkMcpJnFwKOeDftmEmHjIfJlOKmuXqcMIkjmHdmBUsyHKWricSkHLcTrEPTiDJDEJvUnzAUxPGArEvSfUomFlpYNtURWXdwYqzOJlybEAJeVCQRbTTVFmjmcszUKrcqLDzKYUcwanqAkSyopgXQqtcTMDJVELUDdtrZLrQAPXhrDJaGMMlNnyzJLGYDISeMyXecsAuwnwpJfazynkAwBYCczFuQOBPNAMztoWyoXWTPCwRQcdpRtLzJShinnBOSjRpuzRPBHlBpWPlfovJkfXQgYJxuyvGsP", "JMVGUWjvqZQwnVLkEAlEEpIglpvlvqhgtomukUqLHGcHNJGGtJcIxLKMLSXHSfmqgotYoXYhFzNaKhHAPXkHoAXmthbclJKAYoEOXvOwMddyaXDLXnobdUJuLmmlFNskgftnDfmwsFQbxopsGamNqIKCBlukZFNpHdravHCRNcuhuXAKYslTWQWEUCbYfvmQYuNYJtoBWxhtKPVcJBOHKAhdHhVxAoYniPCzXxQTTTGBoSzlXIdgJrJqHETNkQBSYYjQFkFPijDzeSZfDNJeaJmnFkWQHdcVmaRfpeMKRdrRyiffFfYdsOjcSgWGQIKywFMHRarLuQdltxHzGNCuTLzsDXJRwmkNZFMXbwNyRrmGQzDnruVAkJHMChAdKcvLgNYCtKFJKiIDXvbmHEDvgQMzIVbxvHKdUOjSnNgerNXMCTIWPoUmeoJiITfwwAzTqWIntAgIXCsACZayputcIZgqntbryUQmxuGyhxmcFqScdoqraGglYXMedCYWpwgd", "FoWUvbnzhHNbFxlNOcTObhlZmdBrcOEMBdZFanBsuhzCrrVwOzBXQBtVTZtRaWlNMhGLvvSvRHtCMvuHExKfXPBwUoZRNueFPvcsBaHAXsVMeqTWMgeAHVoztTyfQlZMUrCHwDIaOhyMpmWVTcmjWrbLoBoWpxOfUWMhcRwGYzzQjMBfsuDzlinfPUEuQSnvuKeqBZwLHjpGogdBiUlkEwLjrvwxwqBrXAsoJNOkzpizGhjlULjUbDJrhxujWkkPYkisDkwtWJhaGfhLUVUhcXaTIHDuYetEYhhYStuZsnWFTFiHcNDXRcBoYsBGEvkCxwhtYitvAYjajpnGVXgLiMpeTWGakdJNHaQKpJQHWfgDzhFZGZdINslNgkQIvrZmMwJzeCIiBuEoEqAIwNueaqcdoBvHOxKJEylPJHlHcEGFOfVxCElBDTeyvYSJHfruSgYCugnXtYybYqBJdCYyhGpnydNMmAiYqljyvCAGxxKqQtdgFUnDGNamqBTreavt", "eAHRIHqILOBRVVdVyYUzVsxXQOQWcIKlPxvHTiFmbLjMaicbsIYSAPlalCjDHPjLQMOByrxpWVgMVziMRBiUVWdwNbTWmqzCeOMohDAxWbGarxnXFebXlWUnBpcGTlneCRwCoSxPoNAbSsZiQEVvPlybnikvQgGLdgNhOuQRsLoLWouJWewXpJVqZWQVUHkniIFODenlZYLSSxeCVtEaqKkeUkPbOFJHUAHiDNrFokDDKbdMsPVJjsuZREOPCNKevmvjsmFodicEpfczPQUXhTRfMGnLtjZkpTRQOrclnMlXbNBdazWDNNfLuJsLCIFSAyplPwQTWcAdZKJrLxmxHLxKPrNStnCaCEJHvlOAufPASBlZOAcfAMvSVKsKIrdpdtpwAfmnjqhprrxokmuzfIcPJEQxVtgVKQXARTgPooQBYsBrVTeTYQEulcVFqVgIZADfFNGMMoVwvZeuxUwbLiSiAoioIXKjVKupMDXpeJyBHakrAXYrnNViJJMAPsoo", "wXdgaxjRCtVnqmmoSTzeKBNcuvBhNyIBMwlwaGvqzmkofEIrTrLblnZiUGmfJbAObzmrYsxKLhjlesbmRJvinibhwJSKdGCGgirilbzzgFNYjOdRzrWaZJTPozUhRuUZFDXWlXBhpNLORmddvakKmLVvecSvRnnodkesxKcHmXltaTunErsdtJAgeEoqXrutwkLVyLCALybOLNBxGdJTHTcvdNjaIMAWndoQLKTNvVHTWcqJFncNGbnvqQXjVZtypSttCoYirYgcWdLzCAHpoKpLvHJzJKvhsbEImfAKamCaAyQLDZBXTjRWwDZPvFCwnYvtpFKArPxCHiuKelctPgDEOhClrnnaTUiwIOdJekOtGiAmGoYrcyMNjUlYmQNmrHVKKIxVNFlHuAmNUQJWaOUASvTyTGxVDrHTtVPdvkfSGdYMQrgBxaKNETaRIImyuHfksWlTmCtvzveptfFJJHCIOzUbNGgNXKzlZWkvAWLmQCsDwRORgzgUaNwNWbVh", "wrImwKKotwbXlaxDpQthpLFRJIRCBtgbQFWDsIhYzTXiUymodesTtaJVpYqTvElMpltXhNtpMoRLdVvsYhjYOcFSrXAEOXIIEWaNCsEAXdyhQwShdUznCydULmgezhsfWYGVpkuEbAqGpmXnnOKAQtBrtRvkyNvsGTbvlZaRXDiymHxrnzjqHmXXSLlcVRgSkcYVZKiGuMUKXFtwbmTOUSrgUZyTXwhVabIzLkVoibvfKAbFLdTPvKvjBtNxBBDVaPQKDvURENziyuDCeyRDaDVPiIiDVDLRZWdBWXCbEjjeltKtVaazYMlfRNVQufZgyfVglBfYMRvpFKQXQNaCmqwRzVGCQHZgQWJJemDOjFuopxzsMWLIQldwxpcIAFWKexjmROzpzueTrWqlOVWUfLgAimfEIysOGQFoYOkRjeubsHXwncnwdjENEJHWgHmrkViZIpYJfZnKzjtbsBsnKeBnWhzqMyDOBjEREmEoTDQYXuCdyZghZmxyuqBbgjUj", "lVgSFijseBxVphXoPjLUjQCXLqNmmRNMsXeNeexnjDXvqgGzLUSayppErRUfHzhwLIQkJjTkXFmarYOSTJCpbAeYSNiEwgHoxjwyqTxZHvFXymvGuyRKGwJSnNYjTmoobeQMrqWWgMvVToxnMcEXXnSgIlPoDonDHfLNFyaelZAPTHdjRaWkDHLflBxHjCXhAWOHSQpOziKQaTHVqwiPkvguDdpUeExvkMAxyRrwGdbsizCwYViPSmVXZLTbGiecfMgNjxwiBXUaUGZgJSFPGkBZGQSIRqaPNjpGhRRMPMPpdSCvrLMssEzlTeGSvLTMQZSGAhdAlsNDRHgofWlpRkrBBURvFeGEQXtIJbRHZFRxyugPYACEHQtfVVPsCjvPMbBtAmbxUDIVNKQRIFMAqcBiSJpKJMtHLZpIraSmrXzdqzvNumwySkcMllgzEzihZBqjltxxOCEVUplRejKHpxldiRuADcGGPYorbYlFNsSHTuhXjICZisbjXJkZvyKf", "abKeqBQLudcuKzTnQyRaNzGTYtxenOgrkglrQNxpFWiQPFKUyBdWwbheLCKYuQBNNqlIjiYEAJKPtDKVykrGAszNbTzCGbBmjKtkBkrhipHClJTLkMvyHTcjihmdOLyCVtoAfmrfXKtYCXVjexazDqNrCnjNExdqfGulgbwNWysOxOCNZtXVsPGZldHksaeANhIXecLdwqQHeRvvBGugrFsTBFiuhDaecXdwHFjmZtjjYEsrchenFOGABsgYLXOJpcCgbFsaiMTIJukxSlTlzTLeLmWfysyjEXvNiJDcRRcAmgMvedIZoPQrZUGZzpAWDfwghLfTEkYvtndAqbXGhphGoMllSvXmRSfbLkDUGxTtLLGHVxqtoOaerMYanIxTvqxNWaODrDEviwMaJjSAHdeQwVKVqFIyhjbCDIFWwpNwXSqPwmPrdDyoERBkvEPjoSpgwlWTBOEdYpdmLWxQIKkQSslQpSOURrQmJaDsCzIQaixGkHHEERcoMkVlQzoB", "PUglmbAHfnzIkBXxDZWllXWTAxtbucWbiEvmVXTzzONjrYiqfMWBPzFjBEiaxhPAaKXXwmJGfKQtezaYzIRicwRRmOJduiZnTHaUqRfshGjNzjonQyKrvjRDPfrfDFUhMbMchqXeJzZVgUWRfycvebnGRKmaVsZnOKUdXhHfeDIiXTCTIrgJewlHAtIcOeMCQTMWqDcKdOUdMcmGhlHKpvpLjHMfAnXrqusRvmySXqLCTmHFQWAEpdYThcXaIGvcGcHhOjKjVrwyhtIuTlQRiYVOgEyeDPslnkqIXMIABDKTLzyKRtCpgYRIFMrbHYXXWclTFdmWjJyjySbAidITNERWQVtDOEYVPOkJySYXufcyufTnLHkpPodNXbkvkdTNZAeojiSXmoneQYoLJTcYnTQGMZimKUwTbORBzldDamZXgpwxNanVVXrZjAPxCZsvTSudkMoMwNpYQkIeZgpMIveTvAZgQQwQByhjjBNOpZGwipjNHCkxPKEEIiluJtyS", "iRZSIllVDSYkQNNVGcqXOLtrnPLgAzxxPHesIVICCFhJazXAHLtOAjMbocKMniFUhLCSMYRpPyTgEUWUGQAapaBeJUmiUOdOLeuXnwKMKVgyuyXAiLKSZuAzEurhgBREoTPRUKbIiMnvIDZMCAtTudROOMyujGTpiOSKSUrjnJFLplNpPEdpcAHkwTFfQPzkgzKHfgjYysIrueofUkORSWXRyBRazmaAGLRvscZlslzAMgQyXwmhfsqtWTjjRopLYFPFmtZnZaWSSOXKbjaaYCuHrFhHNQkzzrqYNXcVyRZUKVrgxdtowHrnWuHkVhFGNUTMcIJnbXNnoPyFNYxwaJOEypIPYtQLrAKSNdGOZAIsobpDFctpGJiYaxZHTwCuzaagpLHoMumncxFngOjytOjoTTKDQgUwpQnESXMqJefEPcblmkMftlvZiqHNItShvGZvbLLjBsWRjhHvwWPGdmWFKEsOQqfmEYkMWUNSIBtCxqpSWvWAecmKgowUedmG", "MiUeGMFxcOVissubHHSEukrgRsWaHxrZJJgtuuZSxkUfNeLvzIHvwfpMnTPuxHcrvwggmiPQZpGMmIpCJrvIvuVkGvotUOpxRsRrtvVQzgBlPmtULktAdTbtQNvHFhkuvVyIGVkrjwakzgMsOWVVwuppAaiiaqKircmfKGZvMJxtBtARebhviPncjfKomleHyAkCCZeJVuLXBFrhckVSyImTfsAoHBGukospVavbGgBGUNxdGvLalDKhEcqvQRZqEGikQVmUDmAZeyYtnSPxkGbZDlYmgWumOJCOHBBASawFsbzvdCoBQaNiaRCeLIpMgSbwvzxqsUrCqhxweyadXJzRKYhiFZkfESqWJvzHkvGALDICnOqawFhpgaDRRfhCeoSBuoiMSKjXpdbDWxknFjWXsaOLElEKKfRRXxRcPFZbAZYCpaieZQjpcRpgDWLprdXtuCWzPuLgsZHHlrNZsoiwOQaqLDpcatoQDUyFkKJtSyENLOdbEbzoKIZjATNt", "jzwmufRgTbJREWstqeHxNdDPwORUfZEWvemvCboyryIOkabREfLvhWLdZxBMsASyBpHHvcgTUtPDJYuwdCcXBAoIsUDOmLCGtllELhpIynDsFMzROwQxFuuRPZhhKIoEMmxcIOMsEZrPqnMzgsoEyXipGnpDLSTgoYqNuNQSUEJwrWcGyqzfeQGLswcpfzTHQWHjfdVAYQTOGosnfBEBmvvzqJqBToiZpvaBQYbXJkBPxTIFevXJthCygGJAgQZWIDbUEBkdhPlmSaekQCJCBBrqDPgAAgvzdlQnHhvxUCRKXQzKZEPMykwSOEFKBsnaQrJiORePAdCYbcHnWZaFFeyfmYGcuTiaqQHikaCawEwlnIJDvpxQDjorfutLdpLGbqZRVniPmngleoOicAvtGvDiteqHeGwbabYUSeCxGzHLtDSomDQgtoatiQBEMvPVzhaTTJEYVjLvpwcLRcmZzCucbFIQWzKiwoOimiDFfcjJpWoRjZlejJzahOfpMXpq", "QTpJMwMsqtCBPXlgSsvWYnSOCkeLxvYMiSGswJfiSVBAyWZDHjQELttvmIgpCGQBfbCxerPdWXDQGIzAngRCosdGLnnbjowykJuUpNdAtPznJojBGNkSZdAkjGqeOHRbARHvQoPxGsffygllOxuNYwbtOeWsBUzRxGwOOYLGLkchUTZHUeIhlfzzSWmVZaUBywVirYiigTwQKFyLzOFXQOpnzABVfYIaryRQJZcTPbUDkjlgugxmhmAHWiHLNgNhyNFWFMHfXleheeKykmGJuQbCOhWOJKPxZjSLGPOCBXWjMibIuOOZdjhmltzFPRgdnjcpjYcxtjHjAzDSPuRPMxCUcQxrPeHODELifoAQhgltDEDWpXejEaAzEOmuCBiRjyECYgCXhuaLphtmXjoejVlgUEaSqQeagqNpZLiRnsKeNebgSwFdzLGxqZOzHoCpXXZFiXIVYtKQOGaLMFwIffZsEWGSHtSAbwwTcduxugSjEEwYqkWnAQGnTexjUuei", "xHAZDhnhnEbSmMsuOCRyFRdVBjTIsVvsEBdVNDZMgEsVUDiTUQhSFAearmSNQLzzaTUfqlckeebgqROocVyAvsyWOktJvvGDMWYnmrNVwFeExsQvMeObMAAoFbjQlQIORKCYOqxOfqPvXkgcYQbyloitGdwfuaWXvcFSjWkXbvYXljdcWepdziqNAVwhEZFKRRtUXqgjubXXcyVLNhMGsqwbFzsqVCeuKXqiFQZVqBMsfNjZuHgFjMSVGoYAIsuavJjjIWuQPOrjXnNcYtQWLcyFRiJlfxwtCwbMNjgDkwJlEOcoNoMmpaYHFhRhIBMCnyXLCFQrpBUhZiwpZltFjGfamYKpGcEPZlUkKFkEqFiiteKCvemOTLGZYOLfKhBSpcrryByMhyTyQzHQGHyytrBrNnlKbHKGiBaWzoWQPDzSoMSKCAkWbJtAzIbgVFPUpbywRqJuRLbZpHtHtSrKaoOxGWwUzbbcOPiItiFmHbAsCVUcyRctiJsdGgEmoSLa", "tYvAuiVvuIxdyPffvmPitxMgRoQwjLtDlSHnbhjxlSMMXNDroRxzejbcTcrvJCVxNYEUfhkJMXxAVtevHtZJVPTAHLMIFaPGMSBbwzlRkMAxlXGvHFNRaDYATmHyZRmiWTiHGNdGwfdozEewgOabSPcZacaatnZTxKhjukxKwgnfYszxVcMvNVjZzUyOUuqWEpizWCswVTezYdFVySUzcwOHhKZCaVQSNaMJTRMXUfRtoxKlpMrHyNsEisBGtyMqSLlrJBcWxknTouUMawHDUzQssfusglOjQBEdRiZhrgqgdIhhvqSREpfzrNEAmDuznVexSLnbxKWvVwbacairzLNanupOAPPBHNXgsfMqXJddsGfQUevajhzGiYBgPZaciJiTPYYaWBzfqGjcrIzBOlnfgswIYDjbVRGeFMtLBuJkMhmKfAuZmrCCkGIKxUbHNXNOasPHPeEkuEMnAmAWLomDRMugtOjverBQQFPIfmAMPuihVrOItuhqpPvRMNcz", "cJiSgCGXCcareQdgaUuXIWMamZTfOphpLkAQlsDyjgczpsNylTYYGGFZMRRpNxAfFAreDWexoYDHmboRweUHoRzKwiOnyTvaKjwTVasmfSctnqsTquMaGnmtPuAFgfWwWQrBtZErUxlGzpauUFciCITIpFgHPsADOxcTHrEUQIeKXizIYpYgkPOLhgnNyNXGEsYpQEDemBcJHFRDpsiiFLwEZPUkntMjVkoSoWssIFInpnPbUQknUjJxGqoXPBmnEgmjbFqoBAsbExVotoqqRXsMNrIJNQcNqGrDyzIFjXuHtaVbrNOlhxSmbtgFYivShzfaMJBEbzQADHNMsPDQZJYEkEKasYozTlfGlLCsmhtyhSYYKmzLYVGmhPRIyoQARbyryyChZRTCQnxXGHJawZzFBBrXHFwULgRjxeVfuZKbdbWTzFHkYeUXnhuVdHBDVNrmOwLPIdBjsddWRIQqoCrperxcCqPqeRjgpLqFnjejGnQbOzQPiHQybzxDLqpO"],"c_map_float":{"c_map_float_1":89.950165, "c_map_float_2":26.427032, "c_map_float_3":77.450874, "c_map_float_4":31.020926, "c_map_float_5":82.10595, "c_map_float_6":33.445473, "c_map_float_7":29.506046, "c_map_float_8":25.69131, "c_map_float_9":70.27933, "c_map_float_10":67.70768},"c_boolean":0,"c_tinyint":-29,"c_smallint":26267,"c_float":65.3418,"c_char":"SFIFozCngA","c_map_string":{"c_map_string_1":"WbKjMZNUOJGZwgELbteiGftvJabsjMFpOySwOCQSBlLsdoTmoUmhytiRpjeVnuUeCdhffYFSYctDkpNXmVNFSdnTTKRGHxufmlyfQaYadnUIKdjLhciZEvTbpbhYhPAyrMcbPyLXoEQnaGemYPQLdWRWmRQRqaZrPSJVcuvXYVNtQWtrYBNAQFCnAwOvFxiAauqbjxhyfYSimOtcZDHGaqEPjhonqtLCzLVFaXmLnxEwHxwxNhyVNSjgaSVbnzYGthLAfmibdAClFogLKWGboHpJDGsJCDctLaTtRTJcNgxjtiMIdSeEWojdXdLojHpcJRHYXvTazgyQiMUiaVJIUqkgFOZGipqURSaPtDxuijqfhAWwTtRxYRKbYUVnzEvuPrrFNiiLqJVxoeaufRbkPuaNCyQCpRDwOcKUcOYbNzVbIMUvdVpFGgtzAQQWbujzewobARLernFhbZbKdUWBuVJGQQyAVKeFeSFXtcOgtPgrPaJvJgHzdJTdKMliqwsm", "c_map_string_2":"ICmQRpYxewqvVrpyRLDbgUYhNBtYuugqucBUrmzbWUIShWLwqmDPqZrKgWSRKLMGjqiRrjZmQvRGLoTmZzRijvQGcuVtbZlLHmSTgtyPDfGdhdbINDtgMdDetBLXEmtbtPXWykPFgPhLupAJXzulSkGxQMfIQavRYNPkAQYGINhyAsQDJrdYNOrFRfENhZRFKOhXJmQbviWnHgLrHQCawVjgcNgkxgAtGOOEFLxxDgfKQIExzcodypNdoVpGUNXqjxavUtuQaYybJkaSgKOBtfIQLxBRXXIwGTsChsaltXCCmkutQhPowUtSfOuAiRdXhIDbBdacFvMNZkUTXDSaWbjJAooxNpQDXydJcBTEyflxwpsKfLvHMnfFlnJDMayxUHoalXCnmFGfbAABcbALbBRJYmGUlfDwPYNPFbsBwrOPbSiYSXebzxDlAzAnKnXiVRzFyEMzowLOyenqOPrKQRBssuQCfWYVcLfwdSXDKMumRbQzIRdVWwcfaPDxRBAF", "c_map_string_3":"AmMAjalZglEolMhtLkEudIQoixFxznTLdHgLengyKXkhoGtHWvtqYMOZaqUzHQDkcrdzXBUrGHpdCdAFXcnUehOQqClQXzQyQjZxGZUhoobDbEBTVcAhkeOGvVvRueLJBYAvALuFwxWhGolrAhMivImxZHFvvFiqSTVognfypwSxvTOkTAiWxeBTJaufmVjMtsYJSIxWmFYajMDJUcyPLPdYBhmNFowajtESMJHUNYlTiKgbCIEZDHKQzOwFsCmLZgQxToRbXMOuUGHpdZZYmzXyKGqauPPnrJZxFlLIyrqBgXCXyqEHijRZfEYAsHgeGCVYysukKqDdMffyVIkDQwrgDKJVYlOPFMGLdkRgKKovgUHXhNCBFUadwophciUKWXSqkeJFKEehqfPNnjjUpryGzPMuUmCtZnEggyRYgSgjpmtGGmwVJRlxsCJqiiyKdAGYIkeNsPYOQpXXGjSoOVgroUJVVOFzYbtCeeXxwxUfkBQGkgDNEudFyYuRRhPJ", "c_map_string_4":"hfWFINVwIShJKRDkfrYvsUWcYAmSZXDFiLcGTMVQeqhjUMopMOacnfcqGMsZjJloBTrGtUmrCThDFXrUCiTVEtjdOCWmogiVgENDPwzTaazrUmeMJesZSgsupkiseTJZiPLpRPwdIzZzwGcNfSJucVdkpgOomxuHZzItBcNeAZbEfmQyWoiCLaVrtWJbIJtpmXKMsOabQeQmWmoMWTEwRVzRxFKefkRVYXFVkoQEELWWVCHskQenoMaasdFxFxBXFMuJeHeaLPPOpQzjAoFaVPuFYxzdcqxadoVzybfYamoJmWUoEVbbwKnjuFITujoZudKixkEBWTnYmvkLYgkIPjWkBmFljChUgLyBtwuOBSVFphzUQcHXhzdzUpeJvPzNuDxDDnxughyVouPUGmrzGfghBjQyeIDhoodMAcPCsTmKVTXEQhsYRlyDUvuFSpqwNWfMZPAWPtMLdCrMvRPbiKufGTqCZUjYWuliQWoMkvOHHxADQbCqniXFJAgRhWMd", "c_map_string_5":"eOmAuZaifOmfzpifwdEXnmdTvhlvMvRbkeMTKxcQwRhIStOyMpBUVEqbMbZYeDsImhDslfvmlKIttzRXtzKYJrliZyEUkBQdxpBNUMfNuekYpWKhpaikAldXtXPLnRilUFOEOQMaAzbfgyQgcixuXurIMTPOSAsFPZHIPcXluwgUVpWfOZcRrIDbbadWGBTLumAmvPCQKILPdemntMomSDwblHKjSqtnpEDCLYaMVQcVLeehPxddsgLKJMYtEGlXtNrdZOugAzQXtNjrNcqimboMmZhkWruVEDLrCphnvwBSZzWHaaoulTBDovxFqLtaCefwqzcUBIdDyqgmumjcVhiUVnRQnsjDHYKxdbgOfiqodOCfmpGOOARkBydwbIHbFHcNxERwzMJUwGIUovouxhHBdqnDmBrdvwKFNscibhycNidqHFDOzahRJMORKmwDmIrOqgoRvMHWoFgaKtTVjRVMAgATiNZHXvHZwrSLJsysndmigDRLFuXbabcDQMdZ", "c_map_string_6":"jBcPRbBaNFbzQGBpPxhMVtQreflhvPHlEohyQUZMoZdCVSpPvqDgeRjBxvlcRhnzEERjIIqKDgmlupebQDWDNKEzoERYeDnXFvtMmcQGuDeladUYgiSEUXduGTnRotUHhjawcmIKvFulwjyWWkzRCKvvstdzEZdYqgpEYXMcsHmYBAArAKuKBMDvuQjzpnCDrgZkArdDVygyKvtxcmgvhDKdyyfwsYOkMHbkbMXRDgCECdsfJvCVzWvKqEyAisKfnytITekzNkqGsXcZuUOGhkmfFsZgRSuzzOOQxxiKvZZQfpkUdnpDRWIhDzJwFqVJewyziINTTnCNExfUeWqqupJMgWFEhyXHsAoviMUUSJITbnBdGXlwBKFnYKxhKgpVqsaPOHglRbHZEXcXQaEaGhwWrEHpRNKwlKKSVfmbLTJJBXlwoyREmFegJaDLhqjHvEdscBMdpqhNzaaZKqANKAJiYGUuaIsOQuCayJPTfvOVTAhrJdjkoxWOURssGOJW", "c_map_string_7":"EOpmxbBudnKDtRLtPvlLXENuJYAqpYpSwtoMbDfYtzFtRdztmiTtqBQpQeBwURmeKwhLzBYhbXwVOwKGcyKrMZMfIkRZyUiZQVnhvyCeOumYqmAYZceKCoOOcWATcyWkpqIbBZwQowYHSuRxcJCrVvyYcQyIWzHjKDLcmPwDSpuLmRlpegbgwBAWPDJgeBELtokvliLklFKkoaPtxtshfcicQMVUuXghqYWoXCuWGPdYePnnylJmVcxbAlwKEknWcBcJiCZtHkrMqZIFAoljwqsBATlGvXHGqiWhxVMiOKJDYwbHfwZOOEGPAJSPnJLnoWOwYXaivNzYbFYFVJnjXUaCMrgCGijgYXfXGbprvaHeMgPxsxCeaMbcJnqVvPOvlCZmcZHtgWBfWaEhDVuBQwDPfwHmqBSmXPZUKFDbpmehRSkiUdSNtkFMRnNZWezJajIBuQEqSlorRpkRwzVtuplxqICxPVeuLlFoKGUBJGwFlVaaSCcJXhlKccMHqTpM", "c_map_string_8":"cJScsIguqnUIkDgKnPCqcJinGjFtmxHmTvAtQUNWthIdSKCNIDKHZqhZGXypmZHAMKNJnzLRTYVSPqrxypbMQrvvfszrViJZAmUYymizoHeSFvEhxPWTeWKWKQbcxinVGDSmtpotjASTbgnNZfeebrHVyffciwvYBmUHtXdekXfCmWzvkWZVYzUZqlXvqdPctuTuBqgeDpNBkzzgWxUJVbQhySvjRtWPZNSJRKHvWLYkXZIIveNSiNMZSOmridWzKApTyhtNMUiDbrhtEPMsIoEDdjCeSWOleDLbZMylVkrfgjsBzgUmaUeStuBskMYhrewPCzoaaxAQozDLuySRHzvozWHpsAXyWAooRQfheGWacDIffSpoHqNrJCaxdwfbirANqWHlNweftRVoycWJubEalXEmZhndUTqkLgCwTWaTSdqMnDAREhnvsSBWDoQQdjauorSjSNzKZKFWORwxrAKwIgEfzRarmQehWFxSwgxTHAJjUFaWDjzVfUoMqMPo", "c_map_string_9":"jBRtDUBhSMejmehHckTtORhxtlZZwGxrmPBIXeMUHcxgLPsXPMogMtciXtpflnBGGzutTUJZhAqQSrMEeGDkVoObUBSncKSuHxCKYrLKHuHVpRxtyVhENksrAabhKtpoAmVzzqKvplXLwNFpWcXJOvqpzQnCuJVdtKRsmIrYKjZpJDgjPbLdklNZjYkmIQTrJLcBxsyAYMcqZukRnzKwVvZWYaKCVBYqwCuRwnDqyfGoocVpGYdyspKGSDzyEwoXnNbkPuWnFxbQrvQKvEmKAUZMvZVZCIVQiHKVDgxcdqNLLJrwzLDJXzIptZhYzjaEFIsxYIEDiZLHsuLtdpMgTLRNTsdnuEZwKWjWjuJwumCvuZVAKwXAFUOBkzUjPnCIWAtNHJzOLjWcXGrIvOHckEWQFwoMySiOZCUkLacuUwBNZjzmEfIuoOCprAspRcCEJPVvsqwQxbzSAYwawMqGcCTxoDFtycpMRUcskXpeOasOuxjgaSJjsWLHlGpTIXIg", "c_map_string_10":"MpqYWddYvnRFrVkAwcGuZMOXXrldBSAqQggbpGUNTsWbqOYgfCqMEOjVnKIhxjtJltKqsyAMKctnhETtsBOjaWekZSjGTTeyDkvCMVhNXDXAyGPXibCrPnDKxGZNIyvFXNlIYvTJudmRaWDEztbyjNpRhaICTexmRkeNUJyxkdLNNNFWInRLRUjoIZWawvtYLwBRhpfQxEwPHjUzUMnNbhOXUhPbuZNnldsPPcWVaFCYfhVuxlBzpLWtdzWlkNcHTOaUTlbWRFRKaEtLToqTJyBJMjWDMijWtlmecpCXHXdbWNTxGtahsDFwSbbHjuvtnivzBoGFmZHcOgSXbRvTJWbpXYbCFlPJgCFRnICThITCtzgBvzPYdcnaOPpIAZMKjfKgudcWkdbXXuTwaonYIMkfcCJEkpOwsrQUumNVhVuWmihAmrsjsmVOzzqdhDRrWXVKHVQyqtkWRpuTFczlvyPLiFNIseZyIBmmGzcORuQtHAIEvrkBFApwlxZrJjoJ"},"c_array_ipv6":["zmLnSKgCgk", "hoLYDzaeeS", "RerNIrqGrr", "fnxztoxsmw", "PRJRbRpGXy", "YIKcTuNjjw", "ZLFdwAfgdD", "NAqBOKtOTZ", "aahqZVJiVS", "qTFRMYNXfN", "LWebSflIkM", "MgoBcqnBpK", "DItxkXRXRM", "VHhKjyKkeO", "IJGosNDfpB", "ZpiNrvuXfz", "sYCywLroLG", "PlUJcUdgaS", "QrKlQGbZRh", "NhMDzxPrCE", "wFpxyTtujJ", "wwEYODobKg", "IaxqeBrQvQ", "fdsekEjFlO", "RNpdTkDSND"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_date":{"c_map_date_1":"2001-03-26", "c_map_date_2":"2019-10-09", "c_map_date_3":"2002-01-17", "c_map_date_4":"2012-06-01", "c_map_date_5":"2007-12-04", "c_map_date_6":"2016-09-14", "c_map_date_7":"2015-04-18", "c_map_date_8":"2011-03-27", "c_map_date_9":"2000-04-10", "c_map_date_10":"2016-04-09"},"c_bigint":6552800957925402640,"c_largeint":4695217352082048771,"c_double":37.06819495036384,"c_decimal":71.0557,"c_datetime":"2013-02-16 19:07:41","c_map_datetime":{"c_map_datetime_1":"2012-08-11 03:05:57", "c_map_datetime_2":"2011-03-26 04:00:56", "c_map_datetime_3":"2000-06-14 03:57:18", "c_map_datetime_4":"2000-08-10 02:52:57", "c_map_datetime_5":"2012-03-17 03:27:00", "c_map_datetime_6":"2019-05-01 15:14:57", "c_map_datetime_7":"2011-07-23 11:27:25", "c_map_datetime_8":"2004-02-07 04:13:31", "c_map_datetime_9":"2001-01-22 02:39:05", "c_map_datetime_10":"2011-08-14 23:29:28"},"c_map_ipv6":{"c_map_ipv6_1":"46ef:cd8a:1858:967a:bd3:8b1d:4765:7bd8", "c_map_ipv6_2":"27d9:d6a7:24f:3da7:3050:70fe:8a73:27b6", "c_map_ipv6_3":"a7fb:9559:e31a:b95b:acbd:cd36:b95c:7e7c", "c_map_ipv6_4":"308a:fbb0:9ab2:9a21:13cc:db72:b60c:ea5d", "c_map_ipv6_5":"116f:c9f8:45d0:6a2c:6ffb:c863:242d:2193", "c_map_ipv6_6":"433f:1ccc:2c91:1d3e:103b:cef4:a1f2:5a4f", "c_map_ipv6_7":"90b3:5de5:f7c5:5f5f:fcf6:b3d2:faf0:ef06", "c_map_ipv6_8":"6cf9:6c96:9085:a29:f591:8901:c12:b07b", "c_map_ipv6_9":"cd06:3431:3275:1247:43c2:bb7d:32a5:53c8", "c_map_ipv6_10":"2156:fe12:3ef5:9f70:ee62:b1fd:a7a2:a4ed"},"c_varchar":"when","c_array_boolean":[0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0],"c_array_smallint":[-21201, 10443, -31284, 24175, 19254, -7328, -27603, -15512, 28239, 19032, 5829, -29113, -26158, -601, -14852, 5685, 27626, -13834, 12840, 26291, 30523, -8245, 11347, 31989, -16771],"c_array_float":[40.089123, 73.73269, 66.49719, 87.24188, 81.50422, 10.365381, 99.74043, 31.170824, 83.45806, 33.80743, 69.830185, 58.483437, 41.669865, 32.12552, 100.92609, 40.761467, 14.581642, 0.13229959, 60.646988, 78.952644, 53.438164, 20.556572, 0.5559417, 5.5099173, 99.096695],"c_map_decimal":{"c_map_decimal_1":24.0143, "c_map_decimal_2":18.1752, "c_map_decimal_3":97.0820, "c_map_decimal_4":95.0704, "c_map_decimal_5":75.0910, "c_map_decimal_6":49.0999, "c_map_decimal_7":96.1650, "c_map_decimal_8":70.0561, "c_map_decimal_9":19.1336, "c_map_decimal_10":49.1102},"c_string":"tiIHLAdEOfOcjAabjPwhJQRZMfNsnZTALcNVjJYVrqGbjjCvwBrUGwGwmGSiGVgKzTvEujLhTjXSlxemMbGfIPycOtpUgbvrjfMpycNlWamVKMWXtrsxocTZxnuqWtUzAfbRxyITrWgtbFqGLUmYWUzbCDuZwEGFedkKDgbmbdlDLlLpBjfXkxYAHIIFAkwhcyWbCrbiIbeIhuPyEMDCKCcfKMzabTbZfRmGmLebYZSltByZOVUGNMMovcSWuioOZrENtzdenZUvGvdTQfcKapCDnsBcogwJKRZpsvyeBwmCKjYDKpgegVGoJXvHNDDkBFTaNKkShNjMjUSmIdpPAKIXeVRlVCDwcCOPrMVupONkeGfIToBVCmBJMuWadBfAkFAXjnHEnvtXXZaXGWouvUHOAmSLLOamDhcQfyepJIaQeiDlxAGHZPCxhzTDMgdIgzfVKFSRWtnFfSRseYbfZbpldWaXuAndSctdHLxvFnxVSjRnSytVjMrnQVkvVjrX","c_map_largeint":{"c_map_largeint_1":1261790368919017648, "c_map_largeint_2":6889196158987758216, "c_map_largeint_3":345570547426795562, "c_map_largeint_4":-3670072175486130396, "c_map_largeint_5":5072048956068784769, "c_map_largeint_6":-259126927432213228, "c_map_largeint_7":71627236528420293, "c_map_largeint_8":-5668691671790873301, "c_map_largeint_9":8118342670437186858, "c_map_largeint_10":489714920867238836},"c_map_int":{"c_map_int_1":1475197957, "c_map_int_2":913338037, "c_map_int_3":1526283901, "c_map_int_4":1247906724, "c_map_int_5":-2011975976, "c_map_int_6":555240227, "c_map_int_7":1729045774, "c_map_int_8":-1284254527, "c_map_int_9":823691933, "c_map_int_10":-172101747},"c_map_double":{"c_map_double_1":33.514300661318664, "c_map_double_2":68.52751161301524, "c_map_double_3":35.37786204727632, "c_map_double_4":26.754305486421764, "c_map_double_5":43.263460942193674, "c_map_double_6":11.359778076675543, "c_map_double_7":6.881579866171965, "c_map_double_8":56.47163983161457, "c_map_double_9":46.79853836897774, "c_map_double_10":39.0455912215431},"c_map_varchar":{"c_map_varchar_1":"UISqQHqZGgETtPJiYOsBlGfmSLOMQIZrJQzyuElBbHxxMttbVAewBALEMyvbmvOxisDGxoVFQWhVZUDeAuVcBITrTHYKTaHlZYQVYfhwslnZcrOzHMvXsmKWsrbUvwmLlfEXgMiznBoDSbeHfSeMcHNjnUGDnhJZsHocKlpxMWGPhDTwsAlIDdorIWzUesPbgaHTMidxHWMearuiXoonNryVMrrGgOpQlgSzPtlhURmMZQFpHpgJkkeCBlidcmQg", "c_map_varchar_2":"BPINwxJDlovHmSaMXtSdaFPJEdtOUehEKhNrNXawiCRhKkOMOzTPfRkDAwkaaRaMrciSrfervdlTppPZwvUoAHNvLmunAVJxCDndjKTjvXcvNtttTYLTxezMFStecvPEZCOwSgSSIqbiwwwleiNGxoKGVFdLpRTirsWOrcuyuSjLjTggOvbxnqaKxHDCGfTiaNkYCPDVSlYQExRETbGAZGYGGhuRnKROXhjHbxqlqRvfKhEvaiOvPAtpJdzHqZap", "c_map_varchar_3":"zTyWpnlFUGwRgsNwSuDZkaQpWgvDtuUnKilcXOkWLSlhFcmjKFizbzvSISNhCkyxSksKLNtvhNNTxjniPICItknBSAejPbFVpGlvGVipuseYSyvMnbsAvbMUuQrqtOOyWGXRokAiGSeJePQnOUtkEbbMQSUOpQOGppErPGiIqANayuDobFqQPVCclzLvmUkypNsuuOLBMoUQCHrPJvGrlyYdhiCYuFgHAWkMGXbRlUMYvtCMkpLNXctizRFKmUuV", "c_map_varchar_4":"XwwgvUymUPBDDGnGZNjevmGYuaxYQIWLSQjZczUyuFJapvxREghJqVRExQZMLtXfOIYqYhiSQYRhFpcPwtdsrUybAWBMWtKHfbqMEPyScCrEgZOaNysnNhzYhcaHVdVaSnWvmMhKlsjSltfbcWqqkhANQDPQgbrrkqSAuLJTomvEFAHNmniYKEKjwjzuGZzrwGkteSOZDViJWVPErWGVcXnZNlrokFXWFtqSeoEeVhveUTgdxuQgHSIbROrBlKdv", "c_map_varchar_5":"fRIuaseKfVqcRFUUoBCRLhmFvWaNuhAxuNkDvlCkyofQtbjccXRLWMWgdzrAmbCgMIxgNzfmmCEKiLxwjBCOZvYIzwuFhcuqyRaOOLBvskrgojCkCJmRdzFsJklidDxSXHlkavmQnsZwCkLhOhqXjodTNJjjdWMfflBTHDZGuEDYRCaelYATFliZKsyEviNrMBeRIQFmFNxjKFACGlLOjlaqOIHMTeglxLgPdgROOgaJkgOPBRbnEDMDBXXCOQCR", "c_map_varchar_6":"PHtSdMOGqPLAPZfRGwftQoRuzAQoNgBsyOBBmGoyVRYbhtKRLCWpoIuxmJugSYSgnJvRuWhIWYNzOQeCJeSrYMzUSPpADnfxqGUTslSSUQIPOutBFDOFIaxMXuhymYQggcdFCWVgdZoyHSNLirzCltBEEQBJvLGoUZfBlixHZMAcHsLBHMYYIUTMWzLJxtLdvupuGZDsnAWEsllhTXAJpjXidxMiFZWyhKWDRKBsOyNyTGOuQWHGbxAmaOCEfvgZ", "c_map_varchar_7":"EEaqnbErYjPRyGfnKPfMCZpjWtukoJWKpnyvzArLUjEsSNlJCAQHIOJPsVmxmyGhrEsZItANJtfxRzprADjMxGWzsIwLPvrczXDOhpKlRKvOADZVScLKDQCuFhhAOfuyiAKArLKHzHhbloimBfJKUSgIjauEarjfEFosgtiimBduhsXkWJMQCZHvzKzxMCkBYRimjNJLnVfBTfSKauYQwxYeaCgpcNcvYlGSefbfIcdJoPYLNpljVALuHoBxBDhF", "c_map_varchar_8":"CApoHAsbWmalSfnhDyRXXowJtNynDqKJiGzUyupnHQxTjMlARCpTLvJbBaKmpetBmpldKnbXIvXTaZFArNCIpWUNcsRMUByTucCgjQKbczXBeazFAZPrkNyAPZoRJZiqWpCBIUsXZRSOMgrhWLEcXTUmcnvBVlHRTjOtuuZBOBCIJgPrJyZWVOsMsjICFQjphTTAKWrtFsqQkSUDBUIHfdaPqKdMmfVwRwyomdPcRrIoSoyWxJILtZdvtPILbght", "c_map_varchar_9":"uZpQaEPEwwiqpOjqmQBMxOwZGMwGyPzpSqcfpVHDSPLheSAVAubQsCttEZHOcCgHXpzrIkqoNVaVCNJRnJWkJDrXTDGbxMQafFjeOkpbhzIfERbVZnpXerXdEZUthnVkRZpexYDOjVSLPEOqgsslqEGtVzpPtBuvayUlBPRrwhedWommlbpBrKQrLaXyzhAzMKetVlfLehcxvEGizuCeHxjwbfIPAlZIgOtiRNMLrtXqMoUwprEUogzyePHWSDZr", "c_map_varchar_10":"WsHJkTsVeEFIKQTxLQDUqeuyOJmoJyMYmIPgtNuTeixCAEmlqjCfgHlcUrClKFtBPzjpyKZighIBEdpxJqVZrhifQFkEsciUaORFmfLRqSXPBGPLXqmiKhJzAHlZaaLiorYVZPdmAdqNIiTQQefbXZyCAvFgwkgOdWndkGiAycymkJYHEceTfFBvFvxGXGzfaxIfHEqPaWXpETubQajkfCgxiUIZyqLQqDQWoftRGJggDvfRbNUNRKvgzITRoAjc"},"c_date":"2006-11-15","c_ipv6":"60ea:7b6b:a719:f790:85ab:ba3a:7d4b:309c","c_array_tinyint":[22, -63, 16, -28, 110, -68, 44, -126, -96, 102, 103, 81, -2, 23, 48, 122, 42, 89, 67, 80, -109, -116, 68, 14, -77],"c_array_varchar":["VXBnCOqRQKvpDugnZuYJEBcnflPPHgFajUaqifZGjMlHcOZKTnaJEMtaHGVykCaUmhxwDAPJsxMIApaglJvzCzQMahCCktnLyJEOKVHAeikABNCuIHPqHgDCgsdjODjThDHfnBsZhOhnRnEUiVpxCsIxYtRdjazsHvbPaFihsPQLuzAAkNlbIpiZmgnOnaksDCvZIqypIrXfHXKGdzmqzxdZmdRfZbSZZQwPlCPJpzGEZSXXEOKYdutgCvcNZvPt", "DTnKykCpTBrbojyNJzfUnfdXKLuVAPLaVjECVfxkXBRLBbBhaTysWhtfzFQGqcRfcTSOrzJygvnqdJRZLVARUGajsYhTMfPQkBCfUnXlOGUrAYvKuODpINjncKGqbajstDmrZVyCLAfVjvjKxERjnYwSMuqXyWotxjuyViJGyFBxDgVBZSNVugASfKqNWHZJLypHTPWPVHijaERYzCeZzCJoEkvLQLtZcdGvUbfJBlMEBFGObPeBsHhBaMkmjwVI", "NSZbcUqYYeBHgUUZKZDhWwgIqiqyspdrgMaXUcbGuTAtIHOCBEwUtcgHPNMkOTRdVGBWtMDglDfCqiBDZqCSuZYrmrigcLcNKalRrZJFhwVFXooXKGGKckcWgGFGfKSRwNGHQTXLVvhKZaXToVKTrCwMFfrOPeCscpyWAFYHNPosQAcOAuhuIzQFGYLdgIAuwaWmHwwciCxrQyCpZfSIAeqCfTosVpNiSnvSiOCgxMNJLZJCEijEJcobvmZylMde", "jJpaCGhdUGlfMtIZtQHXRmEriiHyztDjBsKDMwpwgDmaiiTtAEBQJfEZWKiXCpEoGMLSBgpgaUWYkvEAPBWvtpjnbbHIBhVzlfeptdUMEqqXLUHSvcOtFQLfMhUMXQpDdAABedKtOKdchTcNBLUDSUoWIEFcmCxyrOHFyZfMhEqlhYFvJgBjmIEZmXVOHvOykVDlbUawRhdxsCQMYbijQJXgLtAzuaAJkiLikyUEzIJeGlBoJwBNvuwfdzOSIRTs", "AjGjoFrNofEuBDQbuhfnEIUpHnMDpBePeeVojZIERrWjiiNQZxwxSWwPUKxyjXzCUhjJKsgpyCnAPHzdNyJSlmtTVaqFfhYpzNnaagGJekUbIXlGnNODxXLSdnOqOXZDUslsbEMfUOkANvwyfiJribNokmjUrtIPpMypjiIbkkgEvSdXGLnGtnrYhLvsbwmiPkKRoJDSZjUcaFhQDjMEfOdAbiNnHABhdVbxReUyINkdPAAvSVeJwNBmcDkhQevh", "MLdbDmhDWBnCYJnpTCQbCPBmGSohEGfRTQqMTBHvzmpSSXTShrRysybLSXXXNywdXjfgDYAaQWaOCrHQjUzmRaesRnxBWGEnLXeNgQmKfWdTDIEVbBnqLtsSrHgiclzSbIXDVOdhzygZjnNscFWcnedKKHQrGFjdOHopbnWvhtIOkTxVJTyXHxVLWZDdpZsNadcWPfXcudEWhToeaFQQOMMnaRYZlnTJGAiMbHNgHWzQaFFopitsYtIYVjSglOBa", "gumrmpDACiuTIpkMhFkDWiKdZSDSZJUctvIyLNUEvzKJMpaWJtHRTMvYZxcORfuWgQTgRGKFwQHxgIbARVcDzeEGbRwHPGkaZJdaIyzPWEJPLBeuPcQxAKuamDlVozGuqywQeUcnQTCeWNPUeRazoOdEwIApAQkOOlCmHCWMPKHxoQpwAomFuQBmvNseiyWQCabtgzvVnlmCpQoUPplzcTADMcjBesYgNcsfeKDJenOZSwOqSYICuquPiUVoukeL", "tKZeuaIDmrkToNBMgMHVBeBQgojFILXyZhCZvgohUizTsaPpABBuvuGEWZwtsezPCMOSpyqPtsUdROlFFnxaqyiVCGQBWqmIpNEHrjDTxnipPnVdbYqiSbVDHWnynBOdvEsyaIslogtstCjgAuKlNuuYKVxKwcoBFZJRzNzpxXcaDVawjczIXMGLAkMcOgScZgKFnPKPqLgawWmQJxJlgGfpXYqGbWQJUxToAnrPeuMvbEdayYiPItlpPHKhPxZB", "FbLSGtZVdPsJQUCwOldBTSHHwvwyhvfXQgpVZXrBwGAyqXOuzNoSQgiQcGCxXDNHCKGCjAMNVZbwqXVrXLwyCkKeLfTfOlfCDaUhxxuGVbTCYwkNoIkPrSFUbYSGtVIJjZlyjHwQtkeoqWjNFlGHyTXwIevvfMAWtqGdUgwdmYAWgngDdFSYIkyALpUaSiAkqzGuXhxytxxECQguDXkrNgYfyeIdsowSjfmSHRrBYxhggbvpWfiGsnzjmpVhXgYL", "TNiHsynnDfQjBSlWFoWvGYslfUKTWjccAIBvWXrTtpclnqhKKXERujSqPymMIvzbAxyqVNiNZTOnhUXVWPLIQoNRJrVDjuJRmesywieAmDvtCUhrzqkJLIHUBvLnqZaPueuPWIkoIKuMpFUEfUSFQOxIzocXjZiIzRUSwaEHzDxXagscJjXgkJITVCBNxaBxPyXQuxsRGdMLmkfUrbRxRnbCPvIsxUCJaJbrWPfgcmvTOznYycGuTCMobfxUYZPr", "hiYrbOikTvXLbXFIAwKrsLCrVwLBwqsQmtmFyChbKsklUlIqDknjQXfWzySggVtzrhEMVnCJpSMGBBOXOSTxVeJjDxxeoOFcGlToObqahQMovCgPKQScZGEHZsUgOPFuYEwxtAiJPxSDkgByeYHvkfggtBnJeMrwETxmsDiqkOaymWqOtotPTjOWXPFIIgLYCHiXTCTHlPDsMdXzWgaUIRktLKOYaOQwIIdQFGkyykaWBySFWvjHQgIhFAgnyGiL", "hWFOhSJdFiLlHLBXLCuGSPYvZALVSVNmsfxpbxldIeQkmKGYaaEZIHGOsEYIWCVxGTXreAUkytJKbeNLqZYAVjFiQDTuyRjttOIDHiWuWDFtVMOgZnHgVKNQGmCnGBIxgorwsAxGaKkfBjaRlJnuJDhgkEYPoEPngvnziqVBRCKzMSMwVjgXFlvwNjXDmzmJesnDYLbynXHiMvyvxfjhedUKUzYJBgLuwpBrSRDhXzWyofmOlLSHaeiHpIKFeuqX", "aUGWIhMAHXEPKNBTxcKJtkrWsEvYqsZpAWAhmzVwBcECFuIfnuNVRCKpRwQFrSmAAkgCbwOPinkjyomhnJlcBHaqhDtXxFpFFfbjSJTIOWfJqiQbAOUgULZDCvcmLSobRmJryNQhxPQMXNHWuQPOhVYwtwmkNnFhQaRuJGwwtWEXBLsRtFrIiRrbFPtTJZnuKAxZrEItAaVJCukdhMQSpPcKqpvNtteQUjgUNqkKzNrYoJEDGvWlxUxUulSQZqhU", "uFXWVyUMMoWvSjyvTbkNkpZmutUNACKJpPCPxMrrJpfwBTCBkoxnQDSvVfzUbJCwiCokpNVkemXWzMlYbZVrLIwNeubWfVQjkNJLGsrzcJKnPbiOLQIkBDJNPFcTANDgVrMTIqlLladExWXxrgXwUaAWTdqLDwWfkeypmHIkYYTlAtxrAUwrUhZZsjewPoOBOgXXWLsKJiGUZOwCXlxQhDGVUTdAJfEqOQeqTFouOPDjGIcYxwxZsQvlRUYxnXCv", "TsRKeihONxkHswtWWDfFIjFjrbihiosDsZMMCxPqCQJHADkAjTExkLlRAeWDzePkENBlSgZMCfgKUEJSjNQIXYBaqXxKQdvQuCbkODmlIRBtQQXgbOLJsafqmuOmVqUGaOyDdfOGryjnRRdmHGBMujrtEnYhJqQHHTrrqnfHBLebNPLklVzlokXiNnEMgHPXuCEPuijeQJVdFBOoxaEzvthecWTTxFqeUSFTXSuRAJaQAFPgvMYNOIlgsqzarwHi", "XPioayfirtsdtqGjeMxgsgBHGLMTzQYjVAvcykerQfSinSGQNfuYIlRytOzpNxkbisewdCznYnvOBmlZzKxXrGvgogFVsMgQbUvfnpNYvMLxzEgNvacqzqYbwXoosbmZDnskWZhkQGSuZVxwrHqthPzaRyQaejEFKzbZUEAUROKjpTcsqJNBTOMfBfIWBkGsRkOsmQWmKqgCpGsWCmZaltGsejEcwhGQuySiZkNVNwdfICGdpgHXZjVqaAIrCdCs", "nAjIwfoEmaegkIRPhTjKhlZyxutrYrvvAYwWHywXsewbfvpUKKelkOuvRJykhtdBkdgIYnEOKAFGxeXisZnLNjqYpYfKQvCKoSLWvOsVAmsmriHieSuWvfEhZIyPAonxkiTlRkhOnqPCmeGElpRFnctKFVmXwtrUanzkpOBjFmtSnnoqpQhKlyHdWNjxdOciuibJvXXinEWPJdasmVOzQFzpuavlqcpwaUbjUusoGhuOvWbGQXsJDhJQvaFrSWGJ", "AleVdQKeauGhBrgqLZWumdogydMdjHcxdZSAMaPuOrsoCxgIMGyEjaMKfeAhECNDjtHKVzTIJtokQzLcTlTWpIiXhvTIqcCAnpChEAZiTAELkjEEjMOuWxMzlwiRBzpUViGxCxauMPbqNTNkMdeLCvxiwnFabsjIPCcTpyjpcIBHXneFLurKaFgGUtFKVZtaAeoGYpBbHbqfvGOoVufXSjdNnnvwxXXUlNosIEywZTnClGnlbGbhOssVfSrfPGui", "ENyrjBzvHZzufTyEClSxWPXHJNcMRpEenVFyJmfIOqWyCoYBpmnONkpqHIFdiNCwAeiSdsbTbKuSYcUkQcvcYKckHItHoiKnEqYNETKdzQnNISfVBSPVHAmijlGBHBtmvMfzmfHdsVjgjMOtkUpxOjRdVaFZtlhtAYobTezRGziCRZjDTepAlCXDjMjoMmyANgMkOvFLRqxRpcPZAtQRPAyhECXqIrLwhBnJhPRxENxBUIciEBnItnOdjwVuhLeR", "ibNQWykLTHyCYREbkGEsGzPqYXvbpzMsFdLHpTGaSlxfoHxlECqmOBPsUfKWarBuiOYktpkmwLnDVoLiUlMXggGTWEfpFBDoDMKyAcCqjJssCjNXIxuHERznMCUSfmPpexUUAkmlfMOHYJOMsCOHcdjYnmLMkbagkaybarBKeGpRCJLaFplKFgscdcvWBPtPURkHwoKzegMTJAbwNQIomOvNtNwlxVYyraojfemfiynEijiEOdTczjXjjDcabpzi", "SJmiiqdszMIvkSLoKheJpEBZnTUewZCljhecNLbclKXnjjQqGkuHlFLADSlHVUrmmyGtoWtUyDLwkdGuWLjKeJaBMOWTMmMocxTHviLYdyScChnrhVUwhNQmhsiJJpeXRFWPmaPwdeNwYREvJadljuFquBfEHTUByAVtQqevQwxRqfVpOKodYaJDYkCXXubINuqoDtxjFfhhAsjYESOssYGXUXDpvMSsdkLPBymnSSTrFlCICwPRrPTOgdemIBhg", "yxmYFnPiPTAwLmuDflmTpHNDOFKpnvwwGCOqsFloIcJIAfZYvgssapGRRoiBTJYZxlUJueoSWhOpforjiSQnNWYsQTOWxHaijjfGAvZMPnjLJvzqfLwfXrbAErcLQScZSBnTPZyLvKveYWqybjbZyPzyitVfWWVBYeeYiRznByIolVKIpNRwurRQmyydqECJmwMqMByzvakFqmlPSJTcKOAraVGTkPyoTDTPQHGAvtCvLZkrIlRPZiHxpDaWvHjR", "hqnkdVJpGsXfKwnSEZMOKBCKdgzTetJzNSIPbemteMFgHGmmApQLFjpuiIHKoaxhPAkJdTqNsgBGbfqOOOKAesIUvAqxNZmgkdbhtrVFvrXmuzSqTzgxpTTSNBqlYSDBLlVJVjgCfqscAtVlOhjJXJyeMmCDetvPYgsIYKUyfwecXpQrhbnIRoggWzDZKpRJptlBHIoJfwpDJMDadtKnLvFsufHRJQjCswhYLzryfZjqZIdEOCUTPwndKugLFndV", "fhGEHzHrhGixQlEdqeRldGEPcGqkuFimScxnPfxTUvScNlhBJVIHvhLWzZJoHkUKGnCHHLpxFMLSDSJMncuPZKBcZyjFydnIWqUrSJgRORpzmGDxNDcguHFDlWQHwWfWXszJIPxwmGaQLdNSXMWocRfTgjPrtJWZshRTdhSapPUTehlStXXxrWgnlweSiSWXJdOJECfnafOFPboLotABUKdHSrhBZjXTZpyGZnGaOprQYPBCroFUHRAZzHxXgZhb", "wpFvGROLNzXMMexPAYTHlGrVZAjzqCeqGzVsVrkiSZJTElqFjijQxFSodYsNtgyfvgxKycJkyKRMcXiPPGlbdpbyydhixHrrNuytKgEMZfyHQquclBjTZYlrNtOIBFIPhESpgsISNLdrpzDJsBDYDWXDABvLJxYkdhvNAzPLDcinynUCAmtGNZZzvtepJMRmMWRXElsnfEQwaBjppnRsLIyDRXzncKwDlEbqFnhppjdjOWfMAIxejgsTgeFfvfqX"],"c_map_smallint":{"c_map_smallint_1":-1277, "c_map_smallint_2":-18248, "c_map_smallint_3":12287, "c_map_smallint_4":-28921, "c_map_smallint_5":391, "c_map_smallint_6":-12642, "c_map_smallint_7":-29551, "c_map_smallint_8":-31688, "c_map_smallint_9":839, "c_map_smallint_10":10142},"c_map_char":{"c_map_char_1":"hFcvQImjIk", "c_map_char_2":"QPtJFeTkrW", "c_map_char_3":"GfAZcghUDZ", "c_map_char_4":"vcwwqQwIJi", "c_map_char_5":"PYLSAHohdD", "c_map_char_6":"kGBFgWBfSg", "c_map_char_7":"bmhRAQouWd", "c_map_char_8":"VAbazSRtJn", "c_map_char_9":"uStXjBHLKZ", "c_map_char_10":"OXzMrwJEWT"},"c_int":-1135544894,"c_ipv4":"234.55.128.185","c_array_bigint":[4881615394674361088, -1727061580762202823, 4774614558516481152, -3498426605690028324, -4594583425763642559, 959647623865223220, -917441992255127646, 2922868194626693135, -4760574828632938763, 1588116082466716711, 7038451250980406364, 6365479759044035969, 499246663633271310, 2754164675634486458, 8598262854575850443, -1680407629851276456, -4784960920079646398, -2335269983336093658, 7411432908339994178, -1931427734118723265, -1034622199636123599, -3372270051609119108, 1146813149288387400, 3465949497382481546, -2645610707619860565],"c_array_largeint":[-6850467933397705261, -2355893112384556673, 384026767554895031, -8689403641902130920, -7235310394187943127, -5823299012554571957, -8846140529604476324, 4344455606061880212, 3832913038899971709, -3730158809850853306, -7397873342619630720, -9186648615224341316, -7282508075056354760, -1645826811876492882, -9215270046951562812, -4245113608472909692, -4827960911287554464, -6698312470809113829, 3601077670629245900, 1126077027238822139, -1038076173953540898, -8573071435306882734, 5458937554368304260, 7982538994873364054, 3361001975929381713],"c_map_tinyint":{"c_map_tinyint_1":-7, "c_map_tinyint_2":76, "c_map_tinyint_3":-44, "c_map_tinyint_4":30, "c_map_tinyint_5":76, "c_map_tinyint_6":-25, "c_map_tinyint_7":-66, "c_map_tinyint_8":-122, "c_map_tinyint_9":56, "c_map_tinyint_10":77},"c_array_int":[387369879, -1339654234, 1815033570, 1181200192, 31117006, -1916378204, -490077978, 1940768913, -1186992618, 906738482, -454779761, 1034813205, 115844543, 2111101704, 431530249, 2041175599, 1536826478, 1139652082, -721220087, -1484945246, -821551224, 1533638212, 1391109575, 758613507, -172894428],"c_array_double":[5.611853733347303, 39.561788585651286, 13.543442527691406, 40.88737815720454, 67.14278443060012, 10.50087963665457, 10.187950715171434, 58.03731556959135, 68.58443932296768, 52.21210182635532, 78.82624176452232, 9.459845290160644, 7.8356814864144475, 16.598386265685413, 3.9473176141956747, 62.13701530938998, 67.25305165745162, 74.14150516761671, 32.08669598333797, 25.407400576933004, 70.50476976822128, 28.20882281074358, 27.42305680763657, 83.16714597556779, 33.22090612199076],"c_array_ipv4":["iNlVsuIOSe", "POjNAzZluN", "BqAvIXPDnE", "rqaGHZZXqP", "VptKIaNADc", "MuoEiZKOxS", "XVYmyWkyKR", "zTBERSGYOG", "eeBlkpXUMr", "AMNZHHYXuR", "nvSeYkBWNZ", "IPuuOiDOmG", "EOMyaeCAbq", "RGkBuIkPZl", "ZUaFTbQQJZ", "eOkPdXxIEq", "oJZvovWOxO", "FLGMQinWor", "sDlkfZAdwt", "VuyzSnfnWy", "vQQFNmDWXl", "rZOgWNYQQg", "EWkjJlDMXC", "FeZOPrIpzX", "PZuJXRGcqC"],"c_map_bigint":{"c_map_bigint_1":-8230097042935021320, "c_map_bigint_2":328484689584734422, "c_map_bigint_3":-9043569278044491144, "c_map_bigint_4":-9098786865410482109, "c_map_bigint_5":-5326796828408349498, "c_map_bigint_6":3152854543462011728, "c_map_bigint_7":-2881728645723472269, "c_map_bigint_8":-2669214433525622750, "c_map_bigint_9":8217224338888955518, "c_map_bigint_10":-7400664458052509122},"c_json":{"minecrafttool":"axe"} }'),(4,true,true,1,0,127,9,29168,null,3831,27080,-1658315422,null,454904634,1451005780,20240803,null,20240803,1,147483648,147483648,null,300.343,40.123,300.343,6.1873,34.0136,300.343,300.343,37.0783,300.343,96.1147,100.02,80.1330,33.1397,100.02,100.02,40.123,40.123,68.1415,26.1779,null,null,100.02,51.0492,100.02,78.1622,300.343,300.343,100.02,40.123,100.02,40.123,{true:false, null:true},{false:null, null:true, true:false},{73:-97, 58:7, 1:-77, -113:108, -128:25, 0:-41, 3:8, 127:42, -11:13},{12:103, 127:-95, -128:0, -33:-101, 1:8, 97:9, 79:1, 4:-39, null:6},{0:32767, 23911:11627, 245:-11280, 17107:-10841, -32768:-28822, -12164:29082, 14667:-4806},{18325:4623, 0:-9156, -18084:null, -12837:-17141, -1332:11935, null:12150, -19365:-28041, 245:31121, 28022:11196, 32767:-32768},{1611503953:194507636, 843559136:-497262577, -2042573133:0, -667285684:2147483647, 69293579:0, null:147483648, 0:2147483647, 1334340880:null, 1479200379:-687299479, 32679:2147483647},{983299201:673058179, 147483648:882889745, null:null, 0:255256111, -2033345812:null, 1878249147:206588688, 32679:null, 1969479857:-1689000866},{1:null, null:6, -1177:147483648, 6:5, 245:1, 3:3, -5546131:1, 20240803:1},{245:2, 147483648:300.343, 25505:147483648, 20240803:-2976040, 300.343:1, -5810034616594439161:null, 32679:null, 1684348801197918134:32679, 8:1, 9031255551782031672:20240803},{null:32679, 3252875348960108435:1, 9223372036854775807:8332333711147462436, -8526203735624432100:-1474903114516183506, -6795447661127171894:7849094688978619989, 6516947:147483648, 1:9223372036854775807, -9223372036854775808:2026009230},{0:-2754199, null:2662286242607627407, 1044491109:238788048, 1195073235:-1236129870614866202, 245:-9223372036854775808, 5970692:0},{33.08643:100.02, 5.788146:11.82571, 100.02:300.343, 40.123:49.176636, 37.614277:59.730686, null:null, 8.024489:null, 13.680599:83.37196, 99.82936:40.123},{63.414253:300.343, 100.02:34.362873, 40.123:72.0204, 61.77063:100.02, 77.52986:null, 300.343:300.343, 96.334526:300.343},{100.02:40.123, null:23.711026554749786, 40.123:100.02, 45.325883648723185:13.096053805383578},{2.821772999524631:40.123, 300.343:3.1545515272653866, 40.123:1.299358117702883, 84.65282994097605:100.02, 93.76586042830412:100.02, null:100.02},{55.0027:'v', null:'u', 300.343:"0", 14.0499:"20240803", 24.0536:"2024-08-03 13:08:30", 40.123:"1", 48.1149:"1", 10.1675:'I''ll'},{300.343:"0", 62.0663:"0", 40.123:'n', null:"0", 50.0145:"300.343", 18.1681:"0"},{100.02:'r', 8.0092:'time', 40.123:'yeah', 82.0172:'i', 46.1563:"300.343", 300.343:'q'},{60.0465:'y', null:"2024-07-01", 6.0488:"1", 66.0866:'if', 300.343:'something', 87.0951:'r', 53.0260:"20240803"},{4.0317:"20240803", 24.1083:"300.343", 300.343:'z', 50.1265:'we', 100.02:'z', null:'back', 45.1403:null},{53.0812:null, 40.123:"2024-08-03 13:08:30", 9.0520:'c', 300.343:"9999-12-31 23:59:59", 100.02:"300.343", 2.1835:"2024-07-01", 18.1854:'know', 33.1524:'yes', 10.0252:null},{null:'l', 40.123:"2024-07-01", 0.0711:"2024-08-03 13:08:30", 21.1307:'e', 52.1373:'p', 300.343:"2024-07-01"},{85.0405:"20240803", 62.0715:"20240803", 88.1172:"300.343", 100.02:"20240803", null:'o', 300.343:"20240803", 96.0900:"2024-08-03 13:08:30", 65.1003:"2024-07-01"},{90.1797:"2024-08-03 13:08:30", 300.343:'j', 40.0373:"2024-08-03 13:08:30", 74.1077:'b', 40.1820:'x', null:'he''s', 100.02:"1", 55.1109:"0"},{100.02:'l', 84.1263:"20240803", 50.0182:'he''s', 97.0017:"9999-12-31 23:59:59", null:"300.343", 92.0781:'y', 42.0522:"9999-12-31 23:59:59", 1.1712:null, 300.343:"20240803", 69.1216:"2024-07-01"},{300.343:"2024-07-01", 40.123:'were', 69.1972:"300.343", 12.1040:'p', 47.1458:"300.343", 16.0765:"2024-08-03 13:08:30", null:'up'},{40.123:"300.343", 19.1654:"2024-07-01", 300.343:"9999-12-31 23:59:59", null:"9999-12-31 23:59:59", 7.0619:"2024-08-03 13:08:30", 7.1935:'s', 29.1958:'to', 52.1084:"0", 19.0820:'z'},{100.02:"300.343", 40.123:null, 0.0313:"1", 0.0009:"2024-07-01", 40.0352:"9999-12-31 23:59:59", null:"0"},{null:'think', 40.123:"20240803", 64.1171:"0", 12.0441:"20240803", 12.1842:null, 82.0365:"0", 99.1989:"1", 83.0431:"2024-08-03 13:08:30", 300.343:"2024-08-03 13:08:30", 53.1468:'see'},{null:false, 'all':true, "9999-12-31 23:59:59":true, "2024-08-03 13:08:30":true, 'I''ll':true, "20240803":true, 'if':true, "2024-07-01":true, 'on':false, 'q':null},{"9999-12-31 23:59:59":false, 'x':false, "2024-07-01":true, "0":false, 'j':null, 't':null, 'back':true, 'that':true, 'look':null, 'was':null},{"2024-08-03 13:08:30":1, 'can''t':1, "9999-12-31 23:59:59":19, 'she':-106, 'something':1, 'o':-36, null:6, 'k':5},{"9999-12-31 23:59:59":102, 'can''t':127, "20240803":-128, 'k':null, 'r':null, 'have':18, 'is':-128, "2024-07-01":null, null:0},{"2024-07-01":245, 'that''s':-29474, "2024-08-03 13:08:30":31506, 'p':-14903, "9999-12-31 23:59:59":32767, "0":0},{"1":-32768, "0":-17666, 'e':-15948, 'he''s':0, 'u':-32768, "9999-12-31 23:59:59":21075, 'well':16362, 'n':-1889, null:30713},{"1":null, "2024-07-01":-1674342759, 'd':1310169060, "0":-2147483648, "300.343":32679, 'n':-288010685},{'would':32679, "2024-08-03 13:08:30":-1817125379, "0":null, null:-661916500, "1":2147483647, "20240803":-628057901, 'here':-226979082},{"1":-2286669215672619140, "2024-07-01":6556850484072476529, 'm':147483648, 'or':1, 'him':1327982, 'oh':-2932, "300.343":29119, null:300.343, "2024-08-03 13:08:30":-2532545},{"20240803":6102108, "9999-12-31 23:59:59":300.343, 'm':-3157, 'r':2, null:-22147, "1":-3337768744761695532, "2024-08-03 13:08:30":20240803, 'v':-2058332878193554972, 'q':-4773093},{'do':0, "20240803":5128305251330695437, "2024-08-03 13:08:30":9223372036854775807, "2024-07-01":null, "9999-12-31 23:59:59":32679, 'hey':9223372036854775807, null:1, 'k':147483648},{'back':32679, "300.343":245, "9999-12-31 23:59:59":-4210510052207041693, 'this':0, 'i':805698295, null:null, 'u':-2177358},{'got':76.4773, 'hey':24.387005, 'are':100.02, "2024-08-03 13:08:30":40.123, 'this':58.344322, 'up':null, "9999-12-31 23:59:59":53.488567, null:100.02, 'we':26.016611, 'm':40.123},{'it''s':12.263786, 'don''t':47.15456, 'one':100.02, "9999-12-31 23:59:59":4.1756434, "2024-07-01":26.889475, "20240803":300.343, null:78.45544},{'c':56.7657841619111, "9999-12-31 23:59:59":83.2337220169911, 's':18.718299817716623, null:300.343, "0":40.123, 'can''t':94.79657372939482, 'i':44.66983040715592, 'up':100.02, 'k':300.343},{"0":40.123, 'u':100.02, 'he':300.343, 300.343:51.22425678970864, "20240803":null, "2024-07-01":40.123, 'mean':300.343},{"2024-07-01":100.02, "9999-12-31 23:59:59":89.0405, "1":40.123, 'y':40.123, 'l':88.1481, 'z':null, 'ok':40.123},{"2024-07-01":20.0166, 'oh':40.123, "9999-12-31 23:59:59":40.123, "0":300.343, "20240803":38.1121, 'f':82.0012, 'm':59.0386, 'l':61.1242, 'well':100.02},{"9999-12-31 23:59:59":40.123, "0":300.343, "300.343":69.0554, 't':null, "20240803":300.343, 'p':76.0479, null:null},{"2024-07-01":100.02, 'good':89.0856, 'u':100.02, "300.343":31.1520, 'm':10.0115, 'j':40.123, 'right':40.123, 'all':null, "20240803":null, "1":38.0571},{"9999-12-31":false, '2005-07-23':true, '2003-10-09 00:37:04':null, '2008-06-24 10:36:06':false, "2024-06-30 12:01:02":true, "2014-08-12":true, '2011-03-18 18:50:09':null, "2024-08-03 13:08:30":false, '2003-08-08 23:03:23':true},{'2008-01-17 00:15:00':true, "2024-06-30 12:01:02":false, "2024-07-01":true, "2024-08-03 13:08:30":false, '2001-11-06':false, '2014-04-11':false, '2000-11-28':true, '2012-09-21':null, '2018-08-27':true},{"2014-08-12":1, "9999-12-31":15, "2024-06-30 12:01:02":null, '2007-05-21':9, "2024-07-01":-28, "9999-12-31 23:59:59":-1},{"2023-01-15 08:32:59":1, "9999-12-31":null, "2024-06-30 12:01:02":-116, "2014-08-12":null, '2018-07-01 03:20:49':127, "2024-07-01":-128, null:0},{"2014-08-12":14505, '2004-07-03 20:42:59':-4737, "2024-07-01":30674, "2023-01-15 08:32:59":21571, '2015-03-22':0, "9999-12-31 23:59:59":null, null:-9156, '2008-04-26':28604},{"9999-12-31 23:59:59":-13166, null:0, "9999-12-31":-12154, '2010-02-25 15:29:49':0, '2010-07-08':null, '2003-03-16 01:36:05':245, "2023-01-15 08:32:59":23531},{"9999-12-31":-274487529, '2013-04-10 06:03:26':-2147483648, null:825574992, "2024-07-01":-695877537, "2024-06-30 12:01:02":-2147483648, "2024-08-03 13:08:30":1511512297, '2015-06-20':-989711582},{null:1138503566, '2002-06-03 01:21:05':147483648, "2024-06-30 12:01:02":0, "9999-12-31":-983701379, "2024-07-01":778927695, '2001-12-15':1724254242, '2003-01-12 07:15:59':309313850, '2003-06-16 20:30:20':688267508, '2003-07-27':0, '2017-02-14 16:51:49':147483648},{"9999-12-31":245, '2000-12-26':8, '2006-11-10 21:12:23':20240803, "2024-08-03 13:08:30":20240803, '2001-08-17 19:59:17':147483648, '2002-08-16':20240803, "9999-12-31 23:59:59":-7873190394780352271, "2024-07-01":null, "2023-01-15 08:32:59":-8349778},{'2005-05-09':-8029, "2024-08-03 13:08:30":147483648, "2023-01-15 08:32:59":1, "9999-12-31":32679, "2024-06-30 12:01:02":-7102772, '2009-04-09':1, '2012-07-10':32679},{null:501269671014754794, "2014-08-12":147483648, '2019-04-09':5765937968537844761, "2024-08-03 13:08:30":-9223372036854775808, "9999-12-31":null, "9999-12-31 23:59:59":-2201711804753354860},{"2024-07-01":8142564859072487804, "2023-01-15 08:32:59":-9223372036854775808, "2024-08-03 13:08:30":-8539862981741984944, '2003-10-13':5204434037750517992, '2017-12-23 12:13:13':-6574669793829343888, "9999-12-31":32679, "9999-12-31 23:59:59":245, "2024-06-30 12:01:02":-485011915},{'2007-09-18 18:45:05':40.123, "2014-08-12":32.598896, null:null, "2024-07-01":28.178328, "2023-01-15 08:32:59":42.093258, "2024-08-03 13:08:30":24.938225, '2005-03-01 20:02:53':100.02, '2002-04-16':15.314659},{'2013-11-17':4.1004357, "2024-06-30 12:01:02":null, "9999-12-31":null, null:40.123, "2014-08-12":40.123, "9999-12-31 23:59:59":300.343, '2014-02-20':60.491383, "2023-01-15 08:32:59":300.343, "2024-07-01":null},{"2014-08-12":52.80415749511023, '2014-11-09':48.754666957779925, "9999-12-31 23:59:59":85.98462707336802, "2024-06-30 12:01:02":40.123, '2007-11-25 11:52:39':85.70064971056854, '2015-10-19':300.343, "2024-07-01":40.123, "2023-01-15 08:32:59":47.352181034583516, null:40.123, '2009-08-04 06:39:55':95.19143919988846},{"2024-07-01":94.76944382844054, "9999-12-31 23:59:59":42.9908974176061, '2004-09-02':null, '2017-09-04 05:45:36':13.986938223908622, '2015-03-28':71.02663286303907, '2005-02-12 15:03:51':82.18868863120483, "2014-08-12":300.343},{'2003-02-19 15:31:30':300.343, "9999-12-31 23:59:59":null, '2008-10-08 04:43:01':null, '2008-10-17':9.0478, "2023-01-15 08:32:59":75.0094, '2011-08-27 04:29:26':100.02, "2024-08-03 13:08:30":null, '2006-08-22 12:28:36':300.343},{'2006-03-06':40.123, "9999-12-31":40.123, '2006-09-20':300.343, "2024-08-03 13:08:30":null, "9999-12-31 23:59:59":70.1575, "2023-01-15 08:32:59":40.123, "2024-07-01":null, '2006-02-17':88.1985, '2012-09-20 17:50:18':null, '2006-03-09':300.343},{"9999-12-31":16.0153, "2024-06-30 12:01:02":49.0205, "2024-07-01":100.02, "2014-08-12":40.123, "9999-12-31 23:59:59":56.1980, "2024-08-03 13:08:30":32.0487, '2008-07-22 21:54:30':100.02, "2023-01-15 08:32:59":14.1743, '2018-08-19':13.1375},{"2014-08-12":100.02, "2023-01-15 08:32:59":null, "9999-12-31 23:59:59":null, null:40.123, "9999-12-31":36.1519, "2024-07-01":100.02, "2024-08-03 13:08:30":21.0330},{"2024-07-01":22.1944, '2017-06-02':100.02, "2014-08-12":300.343, "2023-01-15 08:32:59":null, '2019-04-06':61.0144, '2007-10-28':75.0886, '2019-09-04 11:00:47':48.1320, "9999-12-31":64.1892},{'2007-06-01 11:07:27':300.343, "9999-12-31 23:59:59":null, "2024-07-01":24.1079, '2009-01-06 16:12:06':100.02, "9999-12-31":0.1117, "2024-08-03 13:08:30":16.1847, "2014-08-12":40.123, "2024-06-30 12:01:02":95.0236},{"2014-08-12":91.1234, "9999-12-31 23:59:59":89.1012, null:98.0856, "2024-06-30 12:01:02":40.123, '2002-11-14 22:03:50':100.02, '2001-11-01':40.123, "2023-01-15 08:32:59":54.0038, "2024-07-01":55.0332},{"2024-07-01":300.343, '2015-01-08':null, null:68.0357, "9999-12-31":40.123, "2024-06-30 12:01:02":100.02, "2014-08-12":100.02},struct( null,1,32767,1439320841,-2635938,0,300.343,17.047738110249803,100.02,40.123,9.1575,94.1242,50.0545,100.02,null ),struct( null,-128,0,-1298617375,1,32679,300.343,100.02,84.1613,96.0668,87.0604,5.1682,40.123,null,300.343 ),struct( null,-40,245,-308730456,32679,2232760491156806474,68.05408,10.82467138984647,97.1428,22.0489,40.123,100.02,62.1992,19.0303,300.343 ),struct( false,95,20530,0,-4697,-5588134559833778100,40.123,40.123,null,40.123,40.123,42.0595,100.02,59.1137,100.02 ),struct( true,127,-31527,32679,387216,868067,93.15734,null,300.343,300.343,36.0009,300.343,84.0576,94.0366,40.123 ),struct( null,5,0,null,1,32679,95.83712,9.812861867896709,67.1954,40.123,91.0315,40.123,40.123,74.1335,27.1194 ),'{ "c_date":"2010-09-02","c_array_smallint":[26086, -11920, -8049, 16822, 10197, -32682, -10722, -25556, 32407, 22097, -30433, -31470, -17303, -28102, -14130, -2202, 6250, -1140, 30340, 27830, -32398, -9497, 21959, 26114, 14126],"c_map_largeint":{"c_map_largeint_1":-5121746776912565060, "c_map_largeint_2":-7760414195876291707, "c_map_largeint_3":3189127241042101436, "c_map_largeint_4":5022968531784181295, "c_map_largeint_5":-502098701221628836, "c_map_largeint_6":1509869987021303429, "c_map_largeint_7":-2311993051313856949, "c_map_largeint_8":2620267013784791399, "c_map_largeint_9":-4222653641309360924, "c_map_largeint_10":-5182705713778226194},"c_map_char":{"c_map_char_1":"DUmpsrZLvC", "c_map_char_2":"kEJafWHXlf", "c_map_char_3":"QiLWLnhOTf", "c_map_char_4":"kFwLzfXsrY", "c_map_char_5":"UwnUJhNrJU", "c_map_char_6":"lbyaCdTpQA", "c_map_char_7":"iCoEEEWXEb", "c_map_char_8":"tTqTWLPCay", "c_map_char_9":"XWvRNFwOEk", "c_map_char_10":"TzlNRnxnIE"},"c_largeint":6039167558082007339,"c_decimal":5.0319,"c_array_char":["dEOSKTxYMS", "YzXIqAYyBR", "jfqKPcAhkA", "fVyPiRAQLX", "NMkxxAxepR", "GkscWlGQSq", "gdSftHfxAM", "uFFZCLXBEP", "heprAIDEgv", "KhQmqJCKHQ", "syozIUhNkr", "zuSXByuSqL", "FpITPUXWyJ", "XFYXYharjr", "KsPFXJtZXW", "agjJcpCsuD", "NpDbZTsOlZ", "cEMTgWNoZk", "UXySANlmkX", "yTAuULfQVg", "XIDMrJIKAZ", "AUjtMKPnuC", "pFLNMgRwEl", "EsQcYdSOeq", "UVDhgxKpSq"],"c_map_bigint":{"c_map_bigint_1":5646999490494665464, "c_map_bigint_2":8771662617322815987, "c_map_bigint_3":-7284781915384880667, "c_map_bigint_4":5949773021003299299, "c_map_bigint_5":776502134050582704, "c_map_bigint_6":-5834476322872638405, "c_map_bigint_7":-8656014601069593950, "c_map_bigint_8":5013600415384787735, "c_map_bigint_9":-8327181538159378174, "c_map_bigint_10":6062532604748615987},"c_smallint":-8073,"c_array_float":[34.950237, 36.17274, 74.34704, 11.323841, 43.87021, 85.95385, 62.921776, 30.497704, 48.275036, 25.40938, 50.551258, 69.431366, 74.77616, 67.332146, 72.45918, 92.38277, 29.5043, 14.000838, 38.15129, 52.41803, 85.67773, 79.89545, 99.28574, 25.961128, 86.98395],"c_map_tinyint":{"c_map_tinyint_1":-26, "c_map_tinyint_2":41, "c_map_tinyint_3":103, "c_map_tinyint_4":-55, "c_map_tinyint_5":-107, "c_map_tinyint_6":-113, "c_map_tinyint_7":-111, "c_map_tinyint_8":-43, "c_map_tinyint_9":94, "c_map_tinyint_10":-107},"c_float":65.85991,"c_array_bigint":[2696786210268418205, 1484736964393087165, -2469927202634440858, 6062177238123423311, 6364320527590833623, -1427901913116222414, -4422031158739310174, 5660287396519656643, 180142444043797231, -4092697671200701958, -5130617120858837120, 2387711717428338695, 3276603040908036836, -5217733571644064205, -2927140705855689651, -6221736346526073178, 8765840944262802262, 1357300411674940901, 34472595281988255, 1220836896138060656, -1890077727357170003, -3250834491391523127, 4355856436976694263, 4204485905173493700, 737918456544566488],"c_array_double":[95.26468456860385, 34.67173259435607, 41.81604647548435, 89.08750481953417, 60.6181135616506, 40.77251107158118, 77.94008007326796, 76.16396287542891, 68.5110653049218, 26.62123128553477, 43.68033704563397, 78.64851375220704, 79.1127830810305, 70.75313569605687, 61.46230536877324, 86.92790270058892, 54.51517823154781, 63.22695623237432, 43.88859834295505, 11.331337542459716, 61.912012698248404, 52.406483504721116, 47.62184822496929, 30.969807772932032, 15.698939503571586],"c_array_ipv4":["pDOcYkMrTb", "xtbfsSVQKu", "GMhwAAPlBr", "YwauDpAxOU", "NqTnPWeGke", "IUYEGaztlX", "otVLVxXmvJ", "IaHGcNwYKA", "XLDbULAWZV", "vDWaQsAcBZ", "XwuFGcXXyH", "YUYbWshUby", "loSFMRumjV", "HnYWYpmspv", "sMJonoGJje", "koFLjherrW", "RjLtdDvvqe", "AuARuiOHss", "MeumMrliGy", "MtFfQKZhBi", "mJdTtELhJu", "FHchvRivxp", "ITJvZgRVKc", "NyNuUhTdEB", "kJEahchkWz"],"c_array_ipv6":["fSYcwtlJIt", "vFidXPeqHI", "rkLjjQzELU", "wSZAbiRgab", "eTFqeJUOxl", "rtGxkrndgU", "EgEKosStKP", "zXucvuvMhL", "KnYehxOWDE", "ByclJzoKuQ", "DfHDXGYbyu", "aGBhLEWCcl", "xLxvKpTicM", "FQBOBnCVQD", "pPQGPFLyqa", "LFZpbwMYuj", "YnHIJwojoI", "GxzePbXrPI", "nWnqtfrYwv", "oyinfiJZUQ", "FuBVjfoIZz", "IiLgYrskuO", "fsYNumKGfq", "oJvyaBwoBX", "PbGqKNqTHq"],"c_map_smallint":{"c_map_smallint_1":-25600, "c_map_smallint_2":11891, "c_map_smallint_3":12996, "c_map_smallint_4":21845, "c_map_smallint_5":-32560, "c_map_smallint_6":-28980, "c_map_smallint_7":-30385, "c_map_smallint_8":-15299, "c_map_smallint_9":14207, "c_map_smallint_10":-13538},"c_char":"AfXtNAMIFN","c_varchar":"are","c_array_boolean":[1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1],"c_array_int":[-293779121, 848595777, 660277008, -322693725, -1969112507, -1195710220, -850551340, -1750828426, -445179801, 80053717, 1782265622, 146032359, -745749927, 1829416856, -744345359, -1776342463, -946198770, -1415503547, -1430662440, -150853951, 456659677, -1402208282, 1717508335, -1849816162, 2071626016],"c_array_decimal":[77.1057, 7.0635, 8.1795, 24.0288, 97.1493, 17.0687, 35.1204, 56.1109, 35.1790, 80.0466, 27.0370, 28.0355, 72.0472, 84.0633, 40.0866, 57.0090, 90.0181, 45.0351, 33.0887, 13.1973, 15.0920, 100.0374, 83.1997, 100.1611, 39.1569],"c_map_decimal":{"c_map_decimal_1":80.1561, "c_map_decimal_2":83.0621, "c_map_decimal_3":49.0495, "c_map_decimal_4":1.1460, "c_map_decimal_5":52.1131, "c_map_decimal_6":41.1364, "c_map_decimal_7":7.0146, "c_map_decimal_8":51.1759, "c_map_decimal_9":46.0436, "c_map_decimal_10":95.1314},"c_map_datetime":{"c_map_datetime_1":"2018-08-11 16:39:37", "c_map_datetime_2":"2005-12-05 06:38:26", "c_map_datetime_3":"2004-03-07 07:13:59", "c_map_datetime_4":"2019-07-07 23:57:27", "c_map_datetime_5":"2011-03-10 12:19:45", "c_map_datetime_6":"2006-03-11 10:16:44", "c_map_datetime_7":"2003-12-15 03:25:11", "c_map_datetime_8":"2014-09-18 06:15:51", "c_map_datetime_9":"2002-01-14 22:13:06", "c_map_datetime_10":"2001-08-03 14:59:20"},"c_map_ipv6":{"c_map_ipv6_1":"49b:5db:d8b8:9bda:8984:d3e8:4882:61a7", "c_map_ipv6_2":"46e5:daea:cb1a:decb:57cb:488c:ca68:95a4", "c_map_ipv6_3":"ceae:3615:f6c3:91e8:c39:8934:984d:c0d9", "c_map_ipv6_4":"e01b:b105:3cd3:a43a:1964:fe:1270:e990", "c_map_ipv6_5":"779e:cf5f:896d:bcc3:9661:53eb:a9f7:8657", "c_map_ipv6_6":"6b5a:fc2b:68a1:299:1765:d866:38d1:19f", "c_map_ipv6_7":"ac8c:e82e:eddf:5ed6:8fbd:8813:e42:71dd", "c_map_ipv6_8":"f617:ff1e:d831:d018:f9e6:5ce6:3a28:6d4f", "c_map_ipv6_9":"26ab:175d:1155:82b9:bf3:2d3f:2274:be5c", "c_map_ipv6_10":"fe17:242a:8b42:13eb:9bcc:9e47:ad6f:3428"},"c_datetime":"2001-11-04 19:57:15","c_ipv4":"11.107.170.96","c_array_string":["ReIgBTVNzIXyUbWnoCnkZchhHTwIryUgbBGiYwcAiGGRkeOltlxEKscAlTvPRFIiQzDWlnzBvpGHQtFGPZtwWZUpYGpmZPdcZFiOPBDHPgyJSkvKWqQrUVlkQjeaOfcybhhZVTApOWVpEyePyqRBreOhdeydhfrPZVFoicPdqKSoxjoDbbQJzaAzswONUeyVzIUWKHIQUHhoskiAIZwPHwLdqpQimhYJJWGNxJkJTyoaMMQEWbOwthMCKLSgQVqFxWJehfXpJqhXiCagDlOYqQLOVScDpgVPmsKdAiGxpUSYlDWeIojzdzTDzXoVXvTGamVyWTzzLeBrnfsunUlcGnvoPehgtiPSTQeuPoHCsgfNRszbBPIyxSaEbhoKoZrbnguFSEZfYclDNUzSSQTRgeZTbFCMnmBFVoSAbsSigwyYGnEgVLqSzXfIaZhZNUOXYgSrBrzNNWSdIMkDkIjJNeqWnxfRvHnJwSgMdrxOAFxPmAcxkvsGXySFHDeqABov", "wAcLXdASzpsFFbhhhHtDFXKKeKSaRdGGGJAfhRxziUZCJFVkWdbRiSZTQRqPwKlRvaqEbXUFjBzFowTrigwtWbpPmfRMUacuHFhtUhfoqZWZNkFZItGXQJtQbzaUtfrzQtJeGNZAvkCIsomWDVTiYKqDmZNvukaJtJiwmHcPZYQlVEuyETDlIFDFgejDwHtpBWcnUTXSaLplxuzsVPeStwayPjPOXuMmejznxkKBZjVRPPWnYTQnpdeOTEBBsefWfLCqbAnKsSUYszpQGzSjmUyifpumeuffCHuiBPBNprtMaNctQspLRFldhnaXWcyXxrOFZYvauKCMMSXeZcANFaCbWLIaYMyQpykCBOQkyudZzpxVOTOXTMaFNPSksMXBDSJqcfuvSZROLdRpXImqZWmwpXSEMzRbglkJNfWnNKwBXyJjwygxyoyjuRUdlLnNVYYiflyTnmNwcCNgDVlsmdRAojbOfeghCWssCkwXOWZlVDNrfLHQXLtMKDeoMEXr", "jeCtIJFEJMBWqFOBpFQPXJJemEtySIgLfRJCVjuKSIKYdXoROODbUDEvkACueWBOVavUkLQjyEoiKfVQTIVNBMmNSBAEyuVjzyLuYtMlXunGkMLnKyePwyAVYltaaUiNoGMeKhRvYPOLnGBqIhSsMLWNmpUKkNkQTRDujkhPXoILQLXhoqVxJJGsJefihNFSzttItZGDHOXHtScTMuqcYOYMcqDFhuDeWpgkiwiLePFdPRYYiRcBkxxniqiyUlpFBLLTzfaaonXOkdjCygezHjpbipgVBGUzoMedUquydztzNjUzygbxdrPxrDaYfqClHtHeURZwmxiGtjCuTCcEvcXbfUqpcALuJspmnGMqPPoVChwPRaNPbpKZdblcRFFfHBvZZzIMDKpPFteqsDQxfWPjMYntKBwSRjCOYJSbIsSJuCmbhNHgNzmwkhRxhVYNMMOVQTgNuALPJqqwmhHhXGRLxoHXxSjAEuvxmuMXsiCmnjbmtCKDiELffLtEtHmL", "iDfFSBJspzuZAcwhXuGIkjvjBTcPZcWWZucgbauXwJeiyGaxbbFCkFXVCennmuKVFrKiYtFmWyFSGQnPSSpXqyjgGeNiPPHOOoTWJjZHsUngrCTuTTmAFYqfNYmrTxbSlRRAsvRfyiXNyfwRQKJFpmBsELhhLgFgEiPoZmMHhGVkYnJpzblMeqioIrMOqpKwvTpTkZsaAZlyAqZpmKjcyNTnaNniftSknyIqxdxIhUmYaKZWvQIntwEXfKFRTozwcqQrxMvkbGeSVeLOGRxlLSIhTXnvnCdoLPSYsORSjCTzchwzVHZmLRIhpiASMXTKJsjhOKTPFugbGlAgEzxelnhomPGmGPgUwvKxelTSjNaeUCtwECXPXVppWbbcWNgdKxCMGCxveGhZPHpInFLIySgcDwVbQzPlcmOGOMlJgWuYbwUvpTTKNAviGVaRxzofDLRNmQsroGblkOQxtPeBdfQlZbdcqLbMdFkFEkXXmNcGoJQoesOiTvUVDMFCWyrr", "GgyuyWgWuWOGIiQvJFeagYuEqvhpcXUZMvCGVbwixUyHKSSVwNUrYTMvxseZdrpIcwLFAPGwUgqedrEMBiTNAuuKUjcQXQcCdYpOfdPvYkJBxMDUuqXzSQWmDAAsDDeKCLQNwNMMbZTdvQJFsxtBEQMJQLxUuSkumulBOuaILFnRXbgJCmWTMPQKFCQwHInseXTpquPymOBIctTngWQWpyxGmhqDYvirgqXemoILbuFOslKuxQaWSRMRtmeujugfJtkeBczLkXXhWPzKhLOcdbuGKlzSsNtHQNdmHySWcpagUBgtAdJHfwiJHaSchhEXCYiAwaRIpkCUXumcmiMvjsJcCTwmgMPsZYxHiPcfQcYkqsmekqwtnXnyvTPfbkfbdwqWEqOBiTbVKdinaHZEuBtCafmlVAHmCMoxmcwJsNBtDgtWXXWRSrcYamzRqzTmCrnCJoBpWFcXTJjUeAnyywADWyQtGAzXyZyQZijDAIEwUhZxdFWHmBYRmlSsqVNl", "sxCZdhiJkDGfvmHPZVFGSggHytabLpUdwZSZQlfKjyUtManTbOaToUMfNKcnRAKdRGMOrzqlAyKGBYXqtyhbdOPenWTjrbtAGzliNbQsxKEMxhazGQcLxVfThpYUUSatozxnWdSHOTdlcrsaoxvAoWiCkqoRYapZfWklwLRqAFdhGdOJwciOVDvGKIruVaNDSRcjmkkyOjDSqKbrDGrKYdmlXNOvnUTkfQOaNmcYHENGDGUvTxnKRSALLZLgzGzJNqfhMFzzCsMqBatuKkSsUOrSAKGEVFrcNqtYMfykGOhRwdPivxTTZqKXeqITvWCGJHzUhuRPIJccHMjKobAxVgymNKERlmGLvNURENsXQwGzvLyhmkrndGsnsEfBsiRjjMCfggEmUOtGDOIUwBsRiXWOjHkHsoOxuBJBtPTvbgpBNmTEgQQZZVkNmaVHBJXcvDsAWClWZaMGznxXbhVSjvgnMTxqFgXbLCPrYYwBAtghPlzwwFITZrgeMXtspJOi", "khlMYqeqCPxzdZRwrUsjfOvawDBDsleVhqtqBoKRJpUUUAuLDHOjLzVnzFongWaMwxuRuJkpWYAMjQtPfnjHTxNlXzsyJyFLyzNUWNbFApzaMUdMvKcIHRsqZkoKHQwupXASPWYyxOzuaJtYxCwVClppbOggAjGNdDtzhjoxEVBFWjQlVvHOpKDtlNaMzZeQsGgAlBVHMCXilfNSknvZWxNCpMjGFqlXjclDjdXynTmzveekEndXjVeiqjazlwjQZJzbyiHNgvQEzzbylaIKwRwcgKQZnFjKBZOVihCtlrCFtsKgPOQzwIghJTPOwSMYPSGKHDXkLjhOMBrwNqLpwvjNcqdMEWsXyHavcglemOpqPnTXqsUAHhjugQPLQAqnRSuYxhuKiDSeQlcwSWnTtHjzMzuSNpQeFMfznppncqLSwPzAdqslMZGxRDucHkHJESsGjarnFvdLGgbXrxldWEttUJJSrhelpXufMXkYJyneOduLSPzYqVWbAqrciVab", "XxQwBCkdIGcyFNITjoqEtjBHWKenXsbhokHOozeghWOPRNAZTOnshQSTcGIUlbBtMxYuTcWsriVFhVzAZCBKIzoGkDWEVeoPSiDvRJTMaXnvxSPCkVKPsvvLlbpcqwXPZmBQwQEhxmjPKTglrdIFhFRvJyuNDhCaeOGqgTIneyBIdNpXKibuwNQTaToMTstsuvqIYAqMrtZiycWBxyfkpVMGnQaTRnsbjRFaiaKneNYVtFswLqQtNoTqRQEBAXjtAQKRBZhpWlTWtjOCNOfvwgJgGdNGUIQvfhYscjPdtefvJiinkpnKlgRcbyjsPBjeNipNyDUQZDOuWllSELxrJCUAoAWdgmJvQRkGkiusmdmYemNnkDIdPAFGupsmghaaiDUMgFLsIxSKkQWectExMWNrpJHAsnFLiOatwSDjvQWiWdNgnzkoVhilLsEtRvjmoiXgezrAMtSlKClKTMAtaIXuJBEmHzEXdEFRlIpdMsTbRKQumQIAmhvShsDxcSux", "fATOqrBTnGmLdAwZiAplCJazlPONmvdzoPIMAggCxpjTaiXKIixVYfWfesHiGfSVGKLGQMIqRiunTocyUmMaCFGueYMcoZVCPhimYDLClkAyrSRelHwwjRNESOETDuWnnqGvWYPIngQjUVkqCehIsMjDdRneRHJAfzUxevwDlOzRTKBZHLStjTAEemSktttUfjQprVyaViaVtOeIUbUgmEmqdiTQiSpZUUHqqhMCbkTCbjSLxHEhtUnOGYgKHzTrIkvrIZvDixMdmdYLRPvgzFXAtSXhfrNsfltEdGqMiKuvNDKBNOeNpmKJSHbddgcctkbHggcgBXnCSGoKXrzIFKLzQwmbxLRtkepnaUCcOUQpdBbVJYJOvogqmWgLvkklPHqKbGcORNqbJFAdUoSfRwvFcnpyGKQtWtSZptkZAVmzlpKsWHEMmjvGOECgVMWfkhayyZHzgwIQSwRMFFLxzjaMqbgdyRzsMGlfmhPjYEwUbVUwMpIKRwaFkEcraSeY", "ooyevmbhwHjicqYZfUOwcwsyCazhdXDqwcmaPAGDPSqashwOjfUYgKHxnJFNdGMuIYtDTcoXBQIBNYEQNgkvYzCMqATblOxKDkenpybzdXDpHsriVQCWVFbPBoBbbxHoOZKTwIzjKAiCsFpPnOkeywRheaJJEMfrCfeVIxdUyzgVttfJebpjiqKGSRjLBpxSAcyEWDEbtTuIyNztshFzDBBYQGyICQhfzEerCmtzbkuNEEXrvDIfJHYaQMzlcTHGRXxEGUKzpJyKfxDtzCkHzETEuoHhRWnueJqMUZjyZKPZNWiwLyYAqtMpCaFLphVJVHvzvELFWtigrodcmoJbTDEPrsdebHcBsmdSpbPQETZhjUqvhQkDosgOixsivrinAdzneVjYLltttNhGTGxNMJNfSEtUlqNzzROdUEENLRQHUQwbQRzSEVRRxRMcUfcyeKBdkOkZuMssZLwZGOUhwtxGbbvgOvfoRqMiVJYEIxLAxdYMyrbUbvcZgXMiHqMc", "eUmmzWcxvOsRoYktFAMpoqwZRBTosWVVubUTfFibMESOfxCYCGYHFnpUcGGEGQlwNsDNcVotiyWrnLTQViLsCSXalrocNZkrVpvlvqluhbGQWAFjRFuQRupTWXyAWMwxLXsfIUgUYBBdkfeaDkvnxqlmGfedrUlEDAboLmLBTmmVGWHFnIPEKkaDBHKxgMfoGlyAGQLKyNKwHDXQZKZIStwEwQlNYppCSPwozSoSuHNkDCNtOdZngyEQYFXdDosKXwlctMFawHjKEDvWRMljnvtwVYBskURKOHjlbfQfSXjosqJhYIxlNfFAyvLPwGgKANwVmEbSOnHPYnstYbXQTPZoZaoFGBzPphwoTnsblYghXTFJuHaHxzcEGUwJGAnwruVWfeUqQccFhQLHPjSXWlmjxTWPoQGvnHJRNlvXdwIYsHLhsXJbuNEHVWpAHfbpuLmcCKrPXBAsUfdNTaXYeNQPEHrJOqCUcEbUnckhahLUAPEDssWbWAhezgRBDKuV", "YRqeHVkyWkHbCVjPkfJlHGZoVoTPGXcKDFqeiwqYTkdaFlvxIBxAJDPreKHwERbCHRbMbMdqEZCydzKFUpAiCxalhQmbfYBDaYsyFVqEZVwbqMPgOkSLLFbZTOdiJfDhztuhEjXAYOXuxHOFAFIYABDZsOYUQESBshcidflKftviJfUtFQylhrBpGTHHfiYOYpymXfYLWFGNSwjsozUbzyrUhbHsSExriCpExEfZblnXMPgApwNuqlpHagcDpHsCeIDLcHEuohATSYqOYMKfbPySqXoQELZVuqMIYHSdqmHRjVcGGMmzAeHijujKSsERfgVtEzWlDTKTtLHlqIjBOLLLNszrtwbwwvYXfeoBiGrIgDyytXrBEnWHmFfnigKlxenhEiQNWvKPOlMEvByxMogwGUAlRZGFjKUBzoHlsccKlbDwKeMitGZpqEwdZldskXpdPwKPBfvKBqikKDlmvQcrtsbfsXgtUqRXeOjyliAhmMLCPOjewHWxTEZCqMXi", "sJBDQKDZijBmtlDxvUMBgcAFvHGkmElZAEhTWdPTGdnLvJiFeHgsdoRhTnbJqDkFssbpAlYhETpEaHxrsqEhDTRjVyZJEaGfESvdOFzlHawyMCrxbaYBOusaZhsIuYLwEJcQNnAIPXYLkazjwiXZjurXCSPUhpYcrhKpfaYSyOFEDmEEgkLFwOMotjEBKHEckCtovcDdSncJLhNWuMSXspkFlbmTvUaloCtqJpPwDCcNFzwhDiKWYybtuCJjmXyCIAKVhoecWJpbIVTHzBRFunepSnPUfYRjcptAUFGtNDsQtRHhEExmOmTgYlrHZCXgAllmljAucKnXVZSHKKLkkLbyUUoEOgOielpyhhuhOujnsyDOEeCIOMcOYySBRmqQsuLIbbjMBbHVSeejlTmskSVgepjnfrMFNlYPRmhFLTZKHoFEpTHhQPQgsPnMooZDXPFmnUSRdypRJRDSsAcbSGXwNuuWBNbJAqlVtNsbfAQVcRotXEjZqlZRgDZSyWKs", "EeQmIqwPwaWTENqplbunHmbsUAQIWFcLDxWZeRWdhAmLgCtaLLiUwahAPVaImGqyRZCduwYKIBvVmOkfFtpNseKlHdjTRPEcvbqXLcXwHkCiPtlvlCPBMeKGPXaZYefpcJWUvbPLSOcCrhTbHixcYXEMTeUaeYMdQQmdWvqCvKNtSWJUdXtyuqoODEyEyyQxhWAiLyUteCXXAncCQzCZvnDRtusXJAHolcqGZUMUBhpLJMQkOeGuuwgUMMMeytnxImIgLEZtBTtglPlzdkiBwBMwlNiyokfEDPgAWBbxDgcyNzFkCbzxcFwzbFkjPLXOPMhshkLVoFhkjiKHckvjHkCmyqRNXWXKVqhTHuRlneFKNWAvsvwYNzPwFYsruhMLUkUDxNVJWuJiMFvnzUDENiMBgwVhiRoSFhmzLGZunQGykguKwGWoojsLwkPFbtswCiPGEiOmXWiZERrYZbBMpAHmYxBGeOzLPsnHxtgfwwSqkXOhzROzmXkmEFToIYGC", "uupbVRZMhbIjrdjifEJVPcvYSkmHidLHlaLcBwvyGnNVfIWTVScUiavsDBJjwIAuUxJDLbGdrADIASheXKFFTyrpvINjqvUkrtEuTzpyLAmncOZzymMVNWbudBZustWAgGirmNcTDwZahUwWLjmHLFLmkusidyACaVdoBkKvBWilwFyIaaJdfIEJQHEJyUQqyARvgCvUMVBtKbbQaEIYimnPUXGIFxwoDTmMMsiZJJfMCKuLrKjnJMzfUxPeAMVKDCFvVDUInoqfWBwxFdZfusNrduUOJfplZmjPwIbwRdJLFnIfzXANTZyntQrGuJYVRGKCKEHgqLqzEXSAGugIQWTHkHzMkbyUoXUXINdloackECBitxPcNkJxyVuhetlhYpXJZxBzYrDCKFVYevFLPFxgTMZdIqigtgzuaHHKKXjnOJUdcqTMCOrBsEytJndcerLgtaedvNYEZeuvkLIufwERDhaEOiTcdYILroKgxJYKLrqoqMWORcnWcMaUqezF", "dQROCTpAWaGQHOZxuvAYlfWlFqLwUHKynqhgOsBbbmjWrHzbGcTuUEFOIyrHqUIWKdFrkANbWMKMEcawohetjEhgYmUyqDEkWFZhkqqgqKMSabXzVVWxemWsdPsBLPdCkRtcjkcjuelNAJSsaPLvnYHRTFioKteTsqRRXMZeEiHwjyePLlhuGmZQgpInajjqepoTumtEAUQDvDtktWPJsnOvZABEtWlQDSDnDlUAifQtUyGNemcHMThBFJcRpinNsIeXQSwdUCpAnLhlYzgJulTrAoGQAZhKNPsttdKvScbSqevDbeIOUCpSBzjzivsgHHqclRBAtXrfBdJZXWnsWzoEHungMAWxtYumiDLDoMHwLLJfmZXhMuDwAOmxFRjDmnvwtomCWNzSNKhbEWJjMkuJTMyEXEBqHeUIlYaWqSQgDQLVbiTQhuryHtIOwmiooTdVVojHPbMYxdDMuTfCayVWUbDBqQPXHzeONJADIsCThKFPpokXYZfmfVivwTeA", "rZycjHelVUzyiXZhyxlTpVDkgwFMMjwvzjgzMEbmKsRQKIUiUAUWmWQasBNuOueKverrayuMJsqOvTjPoUzbjWVuXXhevBuzMShVBEdpRrUSMQeQSAikoLrpIdIzcyQJqHFhNnnfnyyjcZSwzwKDwWqEqZOXaVAFgSNLRxrNjpwVfiZcIakXGWhXIhBomCDBNVizfReCawHPWxwtwtZPwxRFzuooTYslHjRFJNoftvlbsPzkvekUvhZwvflCqrYNBulajySIKiCXYCKFAtvVOkSUGrkFbMkzTtuilzXTUBwrZvncDmXAzVvVAXcziQrXOhbseWhVjCPgslyXUPiwFRnjEItkNvSkNpmEhTiNXbQfohFMDugbYmZcwKMkpSynkxErAddaKtcSAxJLSQyvCaFuhdhQZaPScUUCbecoHEOPUYwWCsOqGWndSrpRASChaTCkclqlfZFxtKrSizEZYaEwtDJbtFmgrdlsLbSCzlSFiYTHXEGiAxCIbpYDcDui", "nmrKeySPniJxrNqIfbIIJApzhgZwFphyqweMSImzccugQBQLAiTlgFulMOqFXbvnxOjLilTkPxAvSOCnDKPldxBAlrZhURgPCeLJFhXxjNoJzcnqXyVxHgFYUMlwrAXJTQqKDaYEYzEwFbQoMZYXlVqYOBTvedhQFMzkWuXLwUXVPEgVnycKLzzStZWJMafDSbXLmfsZBymmKnxWxzvwlfFVnHqOsAeuuaEfJQoUwOEWQSHgNoMWuBOaVoJztcIKnwGeWdLVuXbkWmMJVJWblsdIDVzfmuJnFmtypSQREXpIuWvzDCqvlKgWZbGMUsNcreoghZRHfgLLYuNuVQCgOTsQOAVRYzbroCKAzjbBQcLvNLLIGWvWxMVZlEIHLRzKMHSjtNarypqqKDAhHDSZPyZTBctUyEjdGmhknWopbnNhBJkGRuvQGewFpyUCGaUQKFMoMozAQooeLfcSUCtcpUnZhAkITDZhNdizgHmjuJCMLdyztBwaGAdfPxFJmmTN", "UGlMETRattqpJRvvxUouUuCXbvMAhloOCBeHvxQncUBVeHsbOuPsPLEqGoNtXkBuSzozQbfdgitVPHZBWSxDKDkTOWnaWWXGkwQhgjjoRdngfdbVycHtnNBVxMGvttuRdFaWCpvqrHZpKeJwEBiyMQjmRJhmYivijsbiCelblCDVuQSJdACIEMeXiaIRCzMfOQQGpLsxIEzgoHVwqVpQQCASHuMxYNXtNFirBBPxCFsjcqCQTnrazbIhFnbaqPGXTQMGUdFqdeJWbItCWJIbULNOIfhiSGscNYETmGqGJwqytepXCrETeIeOkXZJCYoxASSAoOmhgYtkQVXwfIHYxxZsPlZoRCqcYDLZtCLvUxbHjyamePjNBmbrBucjAVhAxXNTYXXjyrEXDWMoUAMDPgRZzSFUbNdYkcxXWGcifFyoPMFONqQfPLkQfWJNYoqhCeMPlUpbpvqVNIbKnSOFcOeWRxLJcjUPJoUseVNXAmaQcRXclDAeafuVgYLSnKKj", "DYHvOCBiaObInjHACBmxCZKblNpxRBGOpWAwHHMjyAsYbkRkxtyoeMLpcZuWBIWwHDzzsWVnOkNoGgDRknbsGjNoBnaQeVVUOmBWahRpYlpStHiDTYgwcsCVpwGoJsvMFzcFOAdZlrDjOiIJwQeCacfPfLRoMqdTKdRfTJfjraRXDyaMFUosQJStDtjBYZcdEnMkPkJmloigzeCQkKojyfnvFoqrbSqzCLBcxFrRazQTaVvuiMhlKQaYRoYzFfGNLSDVFTiXprVEduXBNAYoeQeVyZWQuPCLWSsLOmWOHtENoBMOGNdVVYXpFTvNoLECmPLxqtEiCCcjZJEbeRuPQtCIQEdbCDHOqdkkqnIOEHpnmLmWzsvZAskQJZRWNKTLdAVRUQNWlCDEBSiFeUkutxpPmUTSruXWvGyGgGXVEvFVJiyfhEGBnWjowDCQYstYApEERMqlbOInAuyGIRzYvNNcVAcnebaVZDiQyhJEeGlvBavNxIuCykbmpdBmrLEj", "PkKyERBtSBBGdIeROuCTixjmTHYHZelvwTHXozYkOIcJtYCTYulcnIvXeLbLybkCFfoTwekroOKhGuOsCqNDjacThPGSAChbfkxPvDGEVOPjpVUZEYBWbHGPOVQOJxldtlGJjBbAYHlknTzPOvILCqVzMUGvpxOOvXdpwPFZGYZSSgCdFjFabyIpqMoHFKAVxjsrIPGDKdyqtHKKNBPAcuGGjiqJNAXlVwxoRVFPYMtoLhQelRKxFBCLtCzlombiQuVfeZhDkjDznuZwjlGZUNqEiYOXQHoHdNBwMtxwDJcAuqFQHXGgKnVcqBdEnJAqOaqiQpEwwhqvftpwltnpXkHAPQqYxLIqMuGcQbfRPdrhlAtlNZwUQqTsCcPlfanCvpHqsnbsCKozfxtXjkbwvYJUfgNMnjgnUMzXhVeyHbbGwYHluolgzNHkcxgbJeVDmOaDURjbgikkJaOkTsalJiVOFckJhDjyOCfSAvkFZhRnKWPFrRPYSzBXsMdaFhME", "GxUMZqOrcicuscTKTjGvASgeasbyXhYNvVwkStyygwOPkBzaPEcGUSJopSllDADYDHconaUEImOxsVFByBiHQOtBunkmzXJbQguSwTgoYoxIleCJJTsfwEExzgHkUtSEYGIGaZFRQJDhOHdmnYkQONPmEUSiuggdWljASADYqHkrJSTNoCoyXSrHpQRXAewfEltPMdYMuXnQFRTdijYGepmIRYteRYiaMjUMUGaGqYQvCfjuQgoGzQJeUvVehYPHyfWfXVrBpKPVnIRLPLSxuhACNpZAXnOZwXTbTPMEVBglLqgRvfEQZSjqYxGZkOFwbVjNdmGkbfJCFtqaqyRBusvvkBNYjTUoFqobhpzTozOONThyOyvEIALtlYFVYBJadZPmpZXDEDUyQshpCMIOKyBGjLhZSzNpAAzNIVfeAkRcIrhQFXSqWsAcCdmYacfFiCNEpEdiuvWwqJallaMZLORZdQWsEmaWBjVVxIBAmzvjyfVUIprUcCwAWchOzTcL", "MPDhoqTmwnbicuFGvHFPZozzKTSNuhXSItUbmYXpaQQUgKCLleYABWvZtXDjrOxjvtRTpnfkhMggoJPCoXIfKkPBYphQGgSOLCygUNMTLTqMApdPzNjNISvOHkzJNIGPTSvunwSzdTQJPfJNsVkgwyWmbJhILLuHCQaYxkyGyhpPEjykwcAuBBbSPMpPGhbZcXDbdkQLVavbvWkikNgAgTZsvYVJvpfoZemgNNRecGCnJfMBlMTpOyFSBfecdkRAZyRsJeszxdlESBSwwdvvdXDdjnhzUuGOXaWgNeEEffIPopIPdTBVlymWuWfFqOktOaDbPFhUDGnAoWIguBuBkKnxRnMHzTuGysIwrIGGjnyPqIZhcpmXNrFiuCMPuEGhyEcbAHamEWxYcuavvmEaSrMItuCZnerRkmytChuYDJplXTtLvYyehPodJPPeYHLeDaDTvqFHeVhrDOBmbEqSzddCvDmPcUFNaFCxvUJZCnFQbcXHpXOLtVuhDjwuKydd", "ZElbzHdvDkzRBmEODdRhYEospNfxMTskTwYzPetVxTfAEFNYETvQLADkzESnfjHbDNuqFEqcRZoRVPTkuUjTmMMFVpLOglVQmnOsOGqjIBKUcDnVbxyejlqarafepvlwxrrudNstuagYlJMoLHMHSYjgPauXKTrmTydYGSdwqlxwRkxTxGOONZaVYKSvTKpykASSAXsJSpmrUSPGJgZejYEeopEjeYOohbVyXTAhrpKubHBDzIvLVdvsbbySALRbBPKrmaRBOlqVOUetgnthlZWqGLUjvSNshMgNRigfyaBefGAtNQBLBvOJnuetatssiuUUdXSlpUaRUQDviAmjAanMCVzjbmKsIDhnLnakNnRiSMWbSQXAfKmsqYDlKuEblopJvnWpxMlTIoxGHGmFKHRbTIYVKHTnnpFDbdjvEPuNluCpIIEivkZzUnnggHJgEPwuOBgldgsTqaoQERWzfGmZlgmLBmTPgRFlyLmvRnsTpLlNXxArlVnGzxjvSdAZ", "JviLgOfpTurmPHQiqitXpdjyGeSPCARVLtaPVjxDBvfneOaGfFHrwDmAQFisDmxfBPnKdvAlvaSLvfmCVYOQsVIwvdyCcpeoBwdZzawDgnnMwFsHpTbvyzDKwaiXFcGlemKpwoibfwPwQWFfzfpOCUgdSmCWyNyxcPYTuZVPheGGkgWMDVDUvjgIhYUYKQeOICQgVZinEKroevFbyAUiAzRmBCImufFhRYCqCzGdnQgbBFBHbPHmxTglzWVqEvrpaVasyqTLtBePWrHPUKxGxUEjYWVvvZxzwDbKXsLQUokNagjHCCydUhyzQjxftBlsluBdWxWScnLYfZitAuwzvxUkFytMtkxfuLdMbBRzaAgGJGIaDedCjfnnPRjlUAKiQGKNQohaINedkgDZseIOLtcRrVdwhnvzWLWYqAgSeEntuufqYrRGMRypOqAytCSEdkqYtqXzRsgzfNDiGayxYLAiEnOqixuhAcSOVWFqLWyREboITKtYlAPDtolFBWLd"],"c_array_datetime":["2006-08-11 04:36:39", "2002-12-06 04:15:40", "2012-02-20 11:19:19", "2004-03-23 16:02:58", "2017-09-20 13:49:09", "2000-05-28 10:35:48", "2002-03-24 15:24:45", "2008-12-10 08:02:58", "2015-10-05 08:36:28", "2018-12-17 09:20:38", "2002-01-26 12:44:05", "2010-01-06 04:23:12", "2007-03-16 17:31:52", "2002-01-05 17:00:11", "2001-04-01 12:03:23", "2000-04-06 10:09:06", "2017-03-24 18:35:20", "2014-01-04 07:10:04", "2016-09-24 05:35:35", "2004-07-28 16:19:32", "2010-03-12 11:23:27", "2005-03-11 23:34:43", "2001-09-06 14:23:28", "2001-03-12 14:55:21", "2000-10-14 20:10:57"],"c_map_float":{"c_map_float_1":36.449127, "c_map_float_2":12.076106, "c_map_float_3":59.129337, "c_map_float_4":95.329926, "c_map_float_5":64.15445, "c_map_float_6":22.293625, "c_map_float_7":29.940987, "c_map_float_8":69.357254, "c_map_float_9":63.143597, "c_map_float_10":40.54162},"c_map_ipv4":{"c_map_ipv4_1":"244.235.144.61", "c_map_ipv4_2":"4.47.2.19", "c_map_ipv4_3":"145.234.143.149", "c_map_ipv4_4":"28.104.227.216", "c_map_ipv4_5":"213.181.128.176", "c_map_ipv4_6":"106.239.18.161", "c_map_ipv4_7":"127.229.83.181", "c_map_ipv4_8":"78.104.247.174", "c_map_ipv4_9":"39.81.165.217", "c_map_ipv4_10":"138.203.2.192"},"c_string":"lxJXvboYxEHPmYypqidTVTNwoKzyFDMedqcIbNrmkEKULSyqXbvWUaWMOrnijLxOAwNjGyLhvKeSZyAnYdIhXPTslhPQELhgQggFTkKKqQsQJwbvmocTtioVWgpXWffjldculpJMZOXSEBVLjRmNtaduHPTjGhCtmJtROaNluwEQVGIHddrJVdClIdFEmdlINjaZmSbZJdoMPoHxqYBscPFTUQRJcQYXFGnyYRtoGGjdoyfXVwCJQdqBBnYzGHWxJZfoSygrooXzFWpbfAQDdOQgdIEtimfAJjgtFMoBIrFJdJTMFPjUmGkQxOuEIHLetInAJshGkmSpqlGyLAHGHOIDQhenuEdRuViEduRpjwbfJaTbXULDkPBuSOFnatgWPrtcXjfinTevaukWRYZZwECcIeYxoajksLQDjphCgwsGvnJEfXDRKXKhuSNsNoQTPfHRZyEpEcnNNprtgxzXVucWrliyrGrGUNOJrBZBJmKkOAsdTOsqTUinWuVzzqjC","c_array_tinyint":[-126, 104, -11, -107, 92, -8, -126, -23, 3, 24, 50, -89, 114, 52, 109, 78, 82, -107, -127, -124, -92, 29, 110, -116, -30],"c_double":61.074423552820654,"c_ipv6":"76ab:500b:8d53:18a4:75a5:f74a:2845:5b92","c_array_largeint":[4830910850029302897, 4885480370912983439, 3272768413600317180, -7108309937040616310, 9199539809384928522, 8879653204418972803, -2923342510433276892, -1122892183203700346, -8401804899634096911, 773016817483288572, 5120973329653611956, 1392671385229516556, -101239589582057743, -5222240767152990418, 5955686836601179172, 6417038387619687672, 5770427331637072516, 9207837106027147032, -5369998911233347520, -8526949261340469032, -3683213030331159340, -7275737112293028423, 520539496506154681, -291612351148147036, -5677602786880788782],"c_array_varchar":["rRgkyeMKagtSPJlaThYrqxBEOpfGUXiiZHJNpYUWTRTYJMERAuIeVSQvBCSIJfSUrxTKSBzwdqTTLBQFjttHdKSJqRiXpJlDVVioRiNFyDYXTpdlqzIUDnsQQFlwOcVLbMmAXsEaqCNJQHPaaFBynXkOBiSHEAyRvCGhuKtdtdLwPhCxGBisxAntIVcWhbaBmevGnMGlWVTcuMygUAPZfGjQJpZiadMHfeWvqFzOrCArQLMqlwxbCqHKNpvnwmbO", "wIPsqazzTsenJVBOmJGxGRRfVcmcTDivgPClvLjjMqjpWERjHiUVDDcOGXOYereqENuYklBnnCdlRoiAbmiCPybYnErQNgNHccwSmuiWWPNPorEGHhpcKRChUUAPJWFLJbXrWnJniWPrOYxAYJgJKjvggmsxSDbSIRmOFQJclhVzUXpXhpoMACjJQVYEipUYYxLyXsUfAWjMjtavmvERrzFmGwAoeAacyEisYbMvFjAMHxqmJmHZFFlkCcydzFCM", "fDseVZGQBRvTHylZoFZmZFDsMCmkVjHOZrdGZDQmewWuhpHepsESDEKtArekmuXOEnyHgrkoHmIEHsVGCTgEkrGOxLmzyYNlSbQRxAxuFNTLvWcFINBLMxSjKNzNZfplhAQiozWMLeQpvbLMJpUuosjCMbUYsmrCONwEuzszHSEHaJYURhRQYwFFsKPynAFpExKePsYfyKhSdtRoFButcidTBsHFZnCAUitnHWRDfXSNFHMVodDENzpAonBZUQCv", "WTSdUTRuGLeuJQbUTrwoNFMewPgQbgUpBIhMbQHNWtMjzjIEQSJtwBmrTJwsCOmYgupihctKVVUIOZgtfUnJmpQtdmrMFxFQUcpQwnMcveEVGLMaSlTyyctMwLoMfpYsVZTuTfkeegmBivjQdqDHVFltaJDzvNdTrqSCOLFmlotwAAQouAYFVdwSixlaVHixyNOJnzEViSjiLUrjiedlKOcYnErnGGjIHODdSBGNgOIHizuRXpynMBUJGRDSlIKB", "bSpNSJzBmBNzgOzpWRdRhOezbQCPoPhBUGgCdXeIpeKwfsuGfGMdQeKRheazjWywLSXxHuxwzOgMfwYKEKUiggougJVVuIJkdTAkGWgraYuzZNBOOcOnIGBeRhLhInvYyUrrGymggPMGgHOifUOJpFCYDqPNFskrILtmXScornwWKAReCHGMIzlWtMWBrIOAYIvLFBqudLKpFXqkZVBijjSyAbLnoSbyRiyCJYgsDozzaoCZkSLpIzfhLDvAPcgH", "aUjrWNfDyuQeiaZjNwwCcEgHAVNLIvIoCDaeJdUesGCrLZiCtLSQwTuSMVSkdAWxUAgLQYLxyFLuEjTHXDkBdQlhcBtyiDajYbGXZwPdLRtKKtoxeOlDPDEvfxIItrTngUyvyOOSFpszREygRJbofsvAZvRQcKWoEGGOkdypBbsDSIhLgvpooprrEhayUlqIffaixqqzrPrGOIqglDfmUXFFvSmZLqTljiyCCHnYOGqlcVoJBEdJfIZoKPeXFexN", "oyyLGkPcwaYTXfxlSYsPpiVIszZOeEDlodXEzbipIxKHKhdMeNHUYyTodmrikanDBFxkiBHCOveVFKzzpFczYELvjdUJRiDBVGBfMHwslTjcPZOGEXUITPWsQSKYWRbqmBZQQuAsAJcESXIHZgotkohePmuyYbBUNDiqLTTRVFZFbwFqRxFhywgpLoptcodPruyIwlrSxALsCqSOGMDdUcnDyVchKPHmiaiYpLguJRvaKLPYEEMevzVNJrRmWtyS", "LLrwpTGRqqDuLJHWPjzwuagPCiScWmKIZYbijmSQcAVSGBatSOZWBhYigRQBQHXWGgAwsJCRjWQgKJXawMlmTIfclohXjuoqHqSEgNHDLrDuHtByQLRvySgpxZHpZstKRZLBiqCbCLIPRKIqMmwDceYstHSEIIqXKuKqhuWmbRmjrxSKEuxFMlQOGcTNEyRSrYcDUieoOjLQECuuSnEYoOhuGZPLkNaGCebvlxZGmeCuuHnYTtTaHZSlaMNiGJpt", "evadFcKrPaBxuEYKRNHWVudbBphbteRnNgwBnGzuOTOpiSSeTVVSqAozRROyWWNmGoKtIKPCXTyVKBSMBlXiMlqXYSxSZZgqSdnOPcrqtNgrKbsnEyfAPXtChPhLzztrGvierYoUFiZCqQetEutndhgKwSVsTmWJrSmVMctMsNvtQqhontpgMoOgvXQuodmLZtLNrpYxQbHtlOAcUaEtbNLgqzBVNLqeEoIbzSWTixxEjbaruRBGWflAPeEjBxiv", "bviUUoLfazlVwZKjCKavPLLJJmgtXzzsANUsRBfsFkkRkOMOnnEnRAwpKJdlaBxkhCAcuZUBNtmgNDLojWZnbloepXoUUNUFahwfPUAnTsrWtTFuvtaqcliJuNgpCXbEODyNtoyPIorNAwmBNQWKCHYLukVPUqOERDtFzTWLvBBvDkeccjkYzpjZIBLXNNYuoRQfhHOlTokNHDgmTuAbfXHMHVpRZugPevbgQrUQcWwYXfaYexCghYoXvOQbyhbq", "yWaLhEjpjGqZmgWKdQhhmLvWvYOOOXJIDWdSyZAnSwLprNQfznVCsDogyKhnQgKDbcEOFRygpNWkoMJttAbjPDEJbtGQktxCWRcCsdRZAfrCOUkyYyTrxsjVxMnnotrirVuPTmuxKfMWwlxjefSwPOabXeGwcNiieJWISwThLYXjfGWHQiqyZpgXDVzbIJdzdGfYAzQUBZmDgdIfmWCZtunTMhmAFFyZtWlcoqGykUeeIIxOdMwpmCVOkvuLfOke", "SJvVOAVQcbZoAorJEjZAgJZvLsWYjpjAAQhdIpqnfibDQZGFRKburoQdgAiUgesFQMXENFzwFIhBtMDxNVxtLUzJxSRSRkgxFHfJSyFgcIzgjzLrBySQDKbPnEHLRRaLGDFagNlCqsYAxMjvgvmoTyGGsbFmAzaOQQfPftaVBgQcPbWJYKrNXKwREEyLNRtgMLXSljiHzCpEpOenPRSIDlpnSnWaLHMtbXnDGHQFKDzyOYoNUEZrrxFOmCyjnHqp", "kLRsMaoLvszjwzqnFMhWWQmZdGCFRhfgKeDvxKLTnuTiyADpDLFjudqqpsHDAEirRvWJWxTaLMtnjBPImCkhsALRcfnfENQHuYndTgzlGvpxzgBYryYSoXNDNyWpuXTQNQXGVkYJfTIeXzblYmZFXsTNOFExjxwKiMcVNHTpXZLtVDGLeNfGxAzSwbayqqBopCgfFuSZFNTrUzboVDRJdBBToHxpOrjimaQhscaLXGcjpkcYMbSaLiwfAgCBxCuL", "WVnzoKjkPCmLCooOoXXGfTLAqQlEOvxpBVXtOZqHKiQHccolRAHmdIhNjtXBEZKfkipZqgCSRyWWiDemQSniUxhOoabdWuspcKmQtXlzgsqgVsmtBipqhvEYlMZXHaxONPDxesQlZoCRVLlvSbbyVpdtGHivxJxqBMcTCTChlzlMYKjzYcXrirRtfKysPkATYBwwInOlmBfnIrtZVMmyVRwxAsONHYNQmqtuhoFUnpYDSISOTglLdlCEqkZPUOsj", "yCczXOPgyTtvHQcVHRYwIlvFMXgSxPkLPsMsqkarfQxgWXkGNCifCTRGTCmLYvgzjHZlcdchMfpMqJSGiQKToDlnzJpLDXgBQOrgEElasOutduTLZnKBPoBDtFCUtDrWXOQsfEpKZkohmXLwYgiybmqTQzieUBvHCLrjrswEhUgdzqcrPUJWdGVokSHpbWhNhrukNNuRRCDTrNLmpmbwERvZTGRlxAHMSQBSpXitjGuokwKHRkHGNgiixpdAVwOE", "WacClKtvqGDUsgNrgxdMPYUfczkRNaqLjuFCyIGSLSRMbxHOzKFttieQmItWbwlnrqhNBhGasXiMlubxpODYjqzZAysZKglhWtfKjZUImHxJvEmEBPpdtjfaWusrOUDDXfKcjxZsXijDXTZZhpvYIgUWNEFRFyUtYAdqzTCwtpbJLTOfhXrrdaCtbteVqXiqTOmZmfyLjUfRHUVSXocbDwFfgzdFxsoTSrTDkcRnfjIAhUASLXsQllDlDQFALSuo", "GvRzCpWnvNLbyEcSEiJRRdrnVESblSjlHunzhZnScSNzHEorkItibNgPWLCWyNzoEvJbDHbNxcZldDiVFiDdGJIkrVXXHggBVTmQpDpvmnHPsdwQgoculoAFUqwjNqoSUQiMFmyPQIlogNxbHBZThYoTUBRRaXYRhzOGlznRMHxzgYyFeUuzcNGlIotEkhtIOGrQAnEIljVizAadhaJAexnMnpIGiPSDRPbzyOlGSPPPNcstzQSeuFccEgKuwaIM", "xCiYDKgQUmkWLcCWTKdppgimibSkAqSsGeTaYFMNuQbbbyacooinXhtebKMgxwYnFlvXajDbSLttxmFGGTVMWKdypLmmwfgSGwOsERspNoOtqFBkZnXXkVtOIMWZAIMzZkhYZszvLIftGPKHpcKlzOCUuwqmfhUyyxDZBPkvSJmBdeZQxeHUUwbHGKYfVFMYANlPFmEmqEMUNmMMAJgFlhkhAIGtSKEhhuFMIlqejtGHqxyNCYcUMIPdIxBMMExH", "nOMgVeEyOPTYPaBdMsipUgOeQuZdOgdOBGQrFIpDnOqNYjqZDydThWiRUqVNDtpjtQLNEgySylWWQoPpxggChOkVzPRDbhHWDVvTxCZKHnBevaQTSupjvcXxBDCLKJDljmIxXSMmgahBEnZANthXrDDjIuYhHzxlaUNmQbcbxlXYWMSSuNPsfpFCDCHzBPNjKuYEbVyErUbyUnyDJAhVAlGATdfZdEzqbPJPmvkieXgDtPwcFJNGRgQsZaAdUXAW", "hMrtjKWKEYELdLzMblUhqWBJGKoxjdjLhzMjLpEBOkwzpbbYYFGzwpXUpvDTqecTWxFTQOeobwgMRIZcgLRSyvXkKnaJQuQgNinUMonaqZqmYaMaxyyPZSQlswMPHrnNGETjNtVfKjcUPZzuNBxypMqwsemBYLpcHgzLrRXeppdHoBCFiAeovNONEZKpLqQqobuTZoyOzMyVZxQpZjVgltXRQXVlJrULpVOBtAMbIloLsojxmilYZIkrIfJvXBlR", "VrgpvXcyaBSyPEZyjCeZLLSvCmQepXxNhAAihZTqsWukTfEZfSvYpXecyCIMbhltEgyNvpeIiNxrByxLUNvmYAzFPXmLbQeTeQQXXCYLylZrFpDLZofaoqRjyzckSQMnDyVBKZcoavDLjDuExnDmefZwnxLroYQgNuUfBXdQYzzPMZUTNEfTikzuKoVaVsdQJQSKknFjcWDiQwYHZcrvAHEeiKTXdFCvMuSgHzpoyluHnZpcEvcqSRulmsPLLebq", "hQascmMArucmGjfPurXenmdtnoCCxwMCBkDMGxaTxhInoWpAUPgjgvIppSonpBNYOKLmqGIpjMWMJxmWtaIdJJnyowxPrHXvwkeoWdchaPoTTeKuiYSsAfVsTfYkuJobhvbLyALGTxuRvPtaNpeZWsSRvjFwhUTNEbsqFOUBJeQCYIQihlzqMOlwFLMidFksQXAcNaZdFRwpYCztGvQmdVPtXKUeIjsPXEORnBEKPpnMJPqOqZfbAygpRwOkKpKG", "axZJZxDcBGTnKcdJrnEcGGJjGDXriuppgZwEnnYFJhcKvREBLdbnWdTGZjJnrYVbNVoudhyWbfNybzTtpuVvJyVuIqzivQmikwpAPTnTKcuyaoWVRKVvkriCebnuqEqlIXUPzuJnybtKfHMOBvXIKwZLWDZxlRFwkZSVJmEymXzrMPAHaqQdzUiNLRBbHERDVuOwGKSSsIXwwyYeTaVllWUdMKlpTNqkonsdaWwlpidanrqzwxYqjpPSJvTwTWJu", "bsySMdrNhXRDztTRjmnhNfXJyewutGNxYyWAkKergBdQuDRXcRTwKDzLAqjaHVCasPsrTiZliTjRAcMQotFPeTYleSxBXHwRjdijfvjuisvYpoZhUKeMCUQHJvjnwneHjgxCMeikFpWRAeqwxTUWdzQZRzYJbdbxeOlXacXntgkVHkEltiWjihVdMpFwENhJyFUpKrrRbxpvwFbPmZUGeQKxVCKUFOcpnbKMmUbdiuPVwlXmYfvLDYQDsDduAiHO", "QsIakSYXXXKyoxaImjsSbazLmbCcfcoOshFDGIBlNttooqgssgOGYjWwuPdEIYTVNwggqcMclgWKxQPWhKglEnAKedqQUORlXELxxrPxXlbbqYwgtCBSigsYCItiOYMQCCBDmzxqXdUrMFORGWuZynplBYXnKvgHOzSOqHQmLeWrajFJxkIJBCTBoHOAxExRSLCbdNOngMEDfeCcfloIXjjIbaCLWyPiQNmTEISssSFCjnANKyeaUXtRlWqOkmaZ"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_string":{"c_map_string_1":"iFbndSWbimJIfttFHLZlFxMfVLjtqSJKELhasptwGliDsmpuAZOScxrfdzExlGEFDKromXbBusvpeQcmCcanQMCoGaJiJQGBewzDSHvyFdplwPDXpNNPtanktzMPsmLzDSpFhooKZIZHwnTXYmAqVlRMjVarYPxCPjcIFmjdWMXvnsnWbsJCXBioOVDjTnbcZKEVBSNmszmTvoYFmxIPMSJpkxGwnDsDYEIugoIRjQTfZHvEPNHnLZwjodoUlbrWAOftalFIVispTPsuJzHSFSAqkEbkLDfWlnsEQtyPgtehJXjuMoBXzOpSOtGayihYFKyAbeFhegLlStWKvCBeRHMmWIOczvhuWqEPDmleiwEaGeIuibJBHitpMTqZFyJdDAhPSpklXkCZJJIBqkxEjewWjmJHpPWIztnfZUmNeoGhsYPqJuPKHYilkONHirzRMOLXkofByutXPpxtLPdgLJJyaWlNdvzohpWSQhMiRimfBlzlPNZhgtmbGtnuwrzJ", "c_map_string_2":"ajAIHVlxaCvuudRWxcVJkHmFoXJZDPRdETqEtqiqBJQkAixGCIrEIQjVgpusgjrlJnUrKvKBWrFrZyYPzdisOZnxJYlHsaCoJzTJJvjsGTmveXvEzmpctcAUWcpTyiDvgINHZELEzmLPaefZRoJfFtvwkYTmVefYaKEJNVreXnWQLmeRHZdyIfnlkAvJYNMWOpuVAkHnwEvpZYWLKIaRBCrnuzbUBXGKDdwqVijUCWmhIvqdqLULpdENHLkjNjobrrWtiXdUpLYnaVBymhNCPWnDZmcKwcyTDrpIaftHHizjxeZYiOSSeJbpwpcpFYuvVZYvOSewZUjiuiXDeFvbyEfyNZXSKAbIlpvvluhaIYZAldKnFENWZlndqDGdKuJCAwLbkQkQZpEvCLCgQLJKyDmSSrmlzqMtQCGnJtOUsBRsuMuzNIcYncClYKKVoLUGpneaKXtzAtKeeuhiBdDmArQdtSmqnGQgKtMfXIDAAspaCHYVHFTgcafYTAvNdSjc", "c_map_string_3":"sSTjnDDAJTQQMxVoNEpEEkorGGhIxxeGMbFCqVhMTjtGGbUXFfinjicyWXNLFtobeXIsaVKceZkRtuclyNQqQhuyzsZWhkjfPQUWFbrIgdIxfZquxERrImuRDEkSIWUMNZdbGratSMmSvQVCRfcVBzFRJylVTxYdVEcioHsEqWkNTAdlwJUDPoAHqOVAMxEsidOYMdhmxAguaFoAgJnFuKvDPFrZddqIcPkCtUnfOlEhkiACmzjyiSLfbSgtHpscQXGmaPUyFEAkbjsRdcklkDyzNDxYCSrCVKBqTCCTUjCzyrSURTTWIxmGraXGeoFgdNFlNymSSCIiuIIXxZRYuhIhpMkvahEKZdLjVFHhnJWecUTRDrPioOVAQqOJLpmRvtHqtmsxNFmOoyIUkRvwjsahdTRNLUAwWEyIgvJtoYRCsJhHURJPVJtEjVimjcJguFgQOfDFKQEceSoNMkDjQQtUEFBeeehbgJAdKLLAZEyeTkZZSMOpLHCByiiBAmLI", "c_map_string_4":"LoDizyAgnfZLnpNkewAMcyFVTteMziZFJxjXLpyfFwVLFgNtPZFbxUNwoDbhLeKvPTVrookWlSwDCdkFtbrFZXiFaPvXvXsAbCNKOZjCPZBcYFHYLLolMbBVUzJquxsOwtUFLrvBsTUHrdvbkUjsHqRDdSJIdWmGxtFwyeKwKKiVrnBOkjkmkufIDrCwLhtSvKjvifWdyNlTWiaHeUTqNWfbkgQuuBIFlbyjmdNyFeQNTLenaGreYiwsHhxlDvxYsjACNyaDRzYDLkDqUYPEnRsthqwJlkjruluoqusPlgKhyyeDGUTDoIPyVotMyOhkhdrlcuElBnvRrukZCSGwMTyXXowUfsrJAHmtMXTMJSObNOzLAxiqGWuPeMbCrUsaDvGFtBfGEBYcduSseBlVyVCYWxFFyygAUOCDcwHBQvHMKQbrzKRmYGadDCBLKVutoXPsCdESeIHAxNioOyWddbehIJBsaRyldBUIgFvPGGIbOqLXpckVbWaGkfvKTxXg", "c_map_string_5":"jPgMYqSQkjKTGKtyyIfdamWfVOcoNlfaqTmeHBrHfpDToIvlxirAYzZeUEUrEwwOvYTNotBUtLfcfCLqtLPxoaauihQGviIOgkywKChXXHoDdTVYOthBVkSIYNUwosEtzHoKWcugRYlgfrzeXpdLgrgSQaLiBKDizwYmTobIVemSgihfkIcUfPocXhRXDbtWWfhbqzdTbHPbvjclowUfRBysBlMQfqvswaGgpzAPJapnmBezgtLRbSmXmNUtJDnqHOiEZeLYxWitrtprJtLeLNAZVAVBjCYDAfMZKDWuvSHyRKVMUPkvoTyGrhgKxokvRtdQUipvZYcPXdIrbXBTgZqHzyCzVilPrEONzMvJfHUOMCcBBiqeEbZYvKRVWaArCgFyTYlRNdnVAQJKZhhzGUhUksuywhbEQStMsEUEQhxBzluDMzCTfCHzNhfMlgnUCxVEMAVcFNLkdibEKLbObKWykNRFCbbmfgiIwPLcguUyUFjstnrJIAIFdAbjjWUK", "c_map_string_6":"xRFGNtgfoWFbtOAYoOLsDwcrbSlosybCPSfpKSHeKOeepWeuFTQZWEXNXhabFrAmFANrdZkswxmdNYaUBMIBFPKfehUwcFuLMdvGUNAINEcGwYaxBXBfYxDQansLwKkNaYpxVMGEfyVWFEDJWjarEpKcknkCrVsWIiFPaUNOkOrZfrOYrhNLDLaEtMqhbiVEUydBtFJghTIakZUeykjRNFlLEPtVkuWxlNwPeUQUFfiHmTPViyaJLahbCPkWikbdJqMwnIRjxKNuSNBEyFXVScPohvKJYPUrRPCWtxtWjpLPWKdFfvFaORHWHDGXJnUwykOAXgrlShoHwrCGAGSkGIEaPOGrPyStfiWLydFxLXxIXGleceNVdFUkQRAdvAedJInTiWihuWhBHPxEkKWcepPSVCStJrZDMRlRRNNtNLZHHzNLQnChKLZlhNcqrcXAzzVbBaKETKUSARFUBIdRiRQwoXmXfNotKiFgilVAdrZwJywiGjcrUUcppyPSyqOs", "c_map_string_7":"idZCDqlcnITtxuaBfHJlmbaBZrwFwMYauxRrEQkKOQArUtkjxiHJsFyMgfMIjKucvJWwGzuyyOHWxJPxnzTypCMMlLDEvkeoxEDvtpgkkxFGgBUcHPNtTKpjVOpHHXyYUaIVBlNrgfTaULaMFTbrppOWgRVThWcZRPUuAUAEodeqofAZHEFngmJMqaqzbTIMpwrrTkjTPWHLUHLecSgyQQdPYaCtyahgYUwjSraDRHJtJkGhXfkrRLyXATilIYnPoTWQKjGpmceszdymInjNsNwqlfwDTYtDjnmeeJIiiDgkrtmxhHSqPJoUOssWadKQOzhGOSJsFxVLsnSFvdwhaKIMSrHQciudEynyOJeTjNWrdMTSRVqZClMMnERhQcdsRtTzbCqgupJiDVoMaITSAYvZJSxBFuWzUnwLcnmoZvnKiSIunxRqZeMCcZdwgYDDGwrEhTuxUWRAdTKGWTeABvZVOdgxUvMvZJDTgevWHuOpJRtoYbULLXFohnmRCTlT", "c_map_string_8":"GrcAEyluufdMLgutxLdGlgHHLbCulApmurVpaHsdIjQkobnlmLWFNuiLNBRqaMoSIeeuEPcPqHAHOfjZHdZYECzzfAtpgFPElFyYMpfbKULBvbWlEhnGyHiPZPixOTMwlcPPPpYXBnWxHaSqjKktFGXwDcRJzwmKlIBtXlKVdtMhTzoNhQaeBkCijSkcBxtEImOVQnJZaicHEDjmZRouJdbGjdNxewTDpernMuXlhvVTXMhDhyjFuemQgqFNfoJCbJCwTDFpnuovCLZLAjjMzHraNDbCNKlbwmUpKVfmvpMWZdYQiTUtjLCxEyhrTtlCjPyhbTlZlybBtbqOmJqjGSLUhCfTmMeSEuKdySRWEXJHyDFUupygvEQSogkOqMRRujNSIDeaeunjwmPCTACkgsTFzeuwILOceLFjEvNWkjFnOVNXoqPCgvnYqddxFYLrdJwwkvEtZFhbzTESQplVgMLPdICFUHfsKwKFMTxykGTmYIOpwjTRASxokQoyNlPX", "c_map_string_9":"cOBGtVgKwsfMwivgSFOKWzaQjfFXJbXPoiojWWGjPmHUHpqYEAkIwrIReRThFNKUGQLcTZDGqtkTilKWOmkBRQLAhtDipvTniEyOcesrrQobzwFKAnaupPCDORhlhhYMXPAjQcgyDDdYclxspSRlYGExNTqCUeUgdaulSjAerSYXCaNLMKuOkSBxWUroyGTEANhYgiEXzlsCyVTIImAmcgmfpazAyxdTJuBgolaTbsoIGaJQSCWEkQakiyepVMmSIDsZGMsgjHAIvhlFibvQBbucsMiSBoyWAGPpMBtXxLYfHEnTaVomXYPiCuAzWtKXuSfMeYCSWMWGCRmSsAYQtdYlGXgDQpnZYwhuaHpeFfDWGOaiYNDMUebgAjnfqQCkIVUuJLgmyyiLpvudNXWxygOHeZpKAPvnvcxjrQzTiPUeSPFRiRwMpOGTZBlNkFUmcyVJAcvpDdNSVJZTKqonFMZYiiYJHzJGpvBnPUJWwjNzTFYWdnBahSwKKvQknbuK", "c_map_string_10":"HIfdQZVIyRvNEtIhlMsaufyRyOqhguzATeMGYbdelEkpxOURwIIwhPOyDtYGYeSQwTFQktYEcbbJyvyWRrNJFzQWMacYZNxoZFFBMbREkEpBMjFuODMTGnkkMbwfZlRRSoUwrbhBEetYbFdJJUNknCLiRNmXdCdqTFCEzlaNxhLcOjBPdQkzjGOcbFNChrloOpsNwTIzVRSoSVxHbZuketBNcaPcgZOeWWTtEWDHlEfdCCBvVhdbfYqHUJpSDDLanVdqfVsMueSdMivoWGhuviMFRgnaBRbfGQBVqWdDUbvftWxJPDzLJHGLgXEGyglDXHIhkeeEhfPSrtivGOMGHYsyWXSTTyegVUZcHnnGtKOXkfAEqdRenWPZBMEVCrmqJLDGBnUbYxWqtAbcFuRhkAsnJOAMnJkahRkNiNhihpjzlyeyCGNJERNXdMwWjCObILXpCZWptwmexKujIqDMPULYXborNFTBiPnclZOFnEnUIDsaNRXeWakRGUCmrQkE"},"c_tinyint":-17,"c_int":979764453,"c_map_varchar":{"c_map_varchar_1":"dhIXKAZbmYhFTsMpnTWpqjXQyWTbWOXUsUOKjaFoYIOSDqDoSPjzfmWCjfYEyXdAlORfqQDiUrxqpbaeIyYzMBWDrseQkqEiVOTgEsTEQeFMClJqtWXwzrOZELaYVaOsnfJxdyAjLlMintfMpeRmwrDUnisQcxtkQJmYcOYGGFxQDwtdEydHqBjnjWlSZyrFPLYrROQYlsvbHblLAYwtaGoTzEvfGJwynhommqjIuIcaGNzqWOiTXNfMMWmLynuj", "c_map_varchar_2":"ucEPgXaljtsetxqzbZKoZtfbhbcxYyKTrJcLEKDLzIAmQYkNRurHgwwVIYUXJwXajVUMVdBcODoCYMbkeIAZSrJwoXKJpSZIbHXmttQxtdCkFNnPQRVaRWFQdrnfkgNFmAdGFyiyCkiskWmpXOHBpOKZsgmltrnsqFeyhKhyDdYzBkJMbVSmBAsQVnfFZlIbvTFoitnBKnAQEtmaqUCfpKHYQNNnTXQqjCOQPRrQaOYYignUTKHiLCLBRSjkVKEh", "c_map_varchar_3":"ZbysNiXJwhLWPlzjWJaLsyILOPnRGRIMoaEzFfiZNygnsVAllfjKaftRuUmoENxOZyqLYBVSFNKQCJmwwgELZwvCdvKpeaxKSFnUeHXuGArtlwvkQbQvZutMyLQQrToVCdAJGqQfzhnIWBjDUzREJDpYssVISBSmYhvOLjRsJHAPwriUxuIxlEJRgKWyOAbgOZORRwjTxWHjRxJtdWVOHacCAFgLPDGYLUXjLbAjHefSYDCOLieSdkEpduOYmKIQ", "c_map_varchar_4":"ncqeuXiBzTvJNyOpfQNTopovSPnTceeiAftxVVakLORUSjOqLANbcNuQcURuiIomsVQKxooqJHUcjdlrUqHhijupUQUSwoEavyLSFtIFUgyKgkEbsCNOEXJergJPANbehESiOoRXEFqKLTphzCUIbDlbuIlOQEiRJarDyKWlgJsqVZDVjksHaHsfujgyRoHJXArbXQqNAaVTHIJzeUZztvGsbZnsubydYRSzaaIsNFCGuhgntbzYjXSmGUMtfrMj", "c_map_varchar_5":"LAnaNqLiyXXxtMIdlSxPucXFzZBJgZphBEzbRzOapGiwkZByEkIbOHIWQLlPOMWOyBufZLXNuYEbBoYVWYDuqEoxKWXzDnAQDVeDlmviJNDbWIyoenEdWSJOjvynetHyNZYFhkCxTzgnMaboQlHKAZLNyBknaeBwXjaNeQpAMzUUlLMEOttrSuxRvDQpiWkjeLdaZMzxfUsQYYwVQduhAfddkQyYfHAFEsVjFXTQTIFMMSgdtouQRhmgZBhHNuin", "c_map_varchar_6":"GCRbyuaQlBGJcEcErOVdkRFvXiQQFeLcQfsHtIcnbBUwHvbmuUwrEzCYrBVFWITyZlxvQAasKpXjzTGbkAgtXOqVyDZfrjCQdgBZQYrdlUcTFXZHyMdyauBWVoerGUKBkhBYCOqbjJonscwmvLuhdyzwPwWlJMsCRGazHsaZinMOXyjUKVcwkFNfEpsGebNUqnFDFCBexqsKzUCVSbQeciltkOXJMBlljIYZabNEcSctxSYWtaORqeeshEsIHPFU", "c_map_varchar_7":"TrjyKpQvInMjTmRSQtzifqNHWzGUTkVhrocCZGZUqocfiljdrlussGmXORArSiINzzhaJRSJfisprbYajFYENUmWmyyNRiDkeJOOSVYOxktchsYjLvGVkDdKxBCHaxlDqEXrmbSsfbtHSlAToqTOMoyOaJZaVNLvvCTBMWHMbGKczCIueCealmAhlAcUXlnrQpZFcgVEsMZfRZPUasXyrArxwHOImxNVwmDLUpwQmDPBPhlOTLIemTRkEugxwzdv", "c_map_varchar_8":"bwCkAlUHNEtxqDpJFzALHLiCJMZgtDZDhQnCrgoWGfBxzXSfNSVAIAbtqBFBDVOXofUlEgwUHzueeQqIMleRzQRDjvovIusimEqKbRInSxixqrtnCGYRvRDsgyIHFAPEotrTroxLrmMdVyimHmnAMHzYGLCITlCFdoteaRYPrqDUMrVbsRnOSeKYkMLVKCaXXHqXVFrUUhcRGjIenXilXqkcXDPjKRSkVSuBKkLwuHtJRZEOxOKgnKhpxFQkVLuF", "c_map_varchar_9":"yKkSCMiQpnDTAaNtqJuiKUHhFMTATDlirJMniwCoTuQkycdEPqWHuarQCpTzTUudfMFRHNXAvUmgMWlhaGPPtYBpbXGDCVUJlxwovYZOttVsFMalEpjSMgBTkULKVtBxkqtFtCWpVVwoSbkuuakJFqBfDuPzWkeerDgvZAxgaMajxNlafRvHHCohYKHeWpFTGrckexsyeMKkkoyPvYCLAQpvdaXUwBOXfZKreMgBSITCrDrtLFZVsMGRceDhkaPA", "c_map_varchar_10":"gNGjHvIjdxbhAzRzblrSBQDdvewzRLcZkPYsSEvuqWQZkxVgFhIFyQTpNopXRRxUvzuUsWClkbOGuOcDWCZHVSkUaSPyogYOBHFymkHJwKTuMjnVNBtxMAFDTqFykoviKGsvyakVuEWpEwklSrQlnaGMKvjfXzsTApdmVPzJhswqsCfDHZVbLdBeiAFogkcxzuxNAeBqlqgXXWDNVqlaDbzkNPHNpJFfpkuiuWldXkyMLjMfejMznICtOslyStds"},"c_array_date":["2014-04-17", "2015-02-22", "2019-03-25", "2010-05-19", "2005-10-13", "2007-08-10", "2003-11-05", "2007-05-15", "2015-07-28", "2018-04-22", "2010-03-11", "2007-07-17", "2005-02-15", "2006-05-06", "2007-10-19", "2001-10-20", "2015-12-27", "2007-09-27", "2004-07-11", "2017-07-06", "2001-10-18", "2007-11-10", "2013-01-03", "2006-05-12", "2002-03-08"],"c_map_int":{"c_map_int_1":1444806961, "c_map_int_2":1812217120, "c_map_int_3":207788693, "c_map_int_4":-463450264, "c_map_int_5":-1846500082, "c_map_int_6":-151097796, "c_map_int_7":-458337002, "c_map_int_8":-1491933354, "c_map_int_9":-609244962, "c_map_int_10":-457042919},"c_map_double":{"c_map_double_1":27.92193152801667, "c_map_double_2":47.488511253059734, "c_map_double_3":75.9969471727156, "c_map_double_4":81.980122312799, "c_map_double_5":29.211200137909596, "c_map_double_6":51.09443380797064, "c_map_double_7":53.149661317057024, "c_map_double_8":99.43605078401738, "c_map_double_9":73.26660711442676, "c_map_double_10":43.63646355142715},"c_map_date":{"c_map_date_1":"2009-09-25", "c_map_date_2":"2007-02-17", "c_map_date_3":"2007-11-11", "c_map_date_4":"2005-08-21", "c_map_date_5":"2008-06-23", "c_map_date_6":"2010-11-04", "c_map_date_7":"2005-11-06", "c_map_date_8":"2012-09-05", "c_map_date_9":"2013-01-02", "c_map_date_10":"2010-03-18"},"c_boolean":1,"c_bigint":5010402669635631547,"c_json":{"adjectivequantitative":"heavy","adverbfrequencydefinite":"daily","email":"sashagreen@price.org","errorruntime":{},"minecraftwood":"birch","bool":false,"adverbtimedefinite":"today","jobtitle":"Assistant","currencylong":"Guyana Dollar","animal":"dog","hackernoun":"program"} }','{ "c_largeint":7798720485794094548,"c_varchar":"did","c_array_varchar":["aSOKTbRoaqznrtjtKgrcRinKRAKJfWAJpNigjHRragynmftcUrFWoyhrpvbSCqIQirYgxUoFESbTnwVJBPGiJeqrUlUhfmtjzxaKPGmrkFFPNItktejpGNVYkYcaCrhocybHlQpTKnJCodjqyFpeXqCmYffoyPRzPJPZOIVVAwTjgSwzrOfEYIGFYTorEIjyqPGKiTqorjmUosGRyzfsvLhZjEcNcyPfIJfHMfdqoipCyURxhSeWRngYoxMfUXNS", "sSRgzWqkmzbKYRfhhMttgXanWNKBpDSptoNwknDEjdJlOsNOEqddcxUJhJAzUaCJSaycIiWHtkrlbDozHHxLSlwBawgTyKHecZLhfKVMMbolTMtYYcGkFqxQUZGvwqtRiIaoNUTYwdidAATpEUODIYTWRAfSwCEHCFXBAlLlsmTDigwZYcEnIcYhAfjRLHNFHyKsqRjRDYERcarkeYnfrcWuMDuPGhfopzLgHzqtlkZSBkYHJyDsvYNASbbDQKQi", "PypZEPKGVLPTSKMOrFVAiMriOYBbuOfLxASCIvsnykLmfSqvuAHYRheBDCUmGjrfrhzEmrXuHflZqLbXjIglYckuBnNEUoDmEllVnZZEPbFgtNxscWzEJpKTDgjHAamgpqXHPCbIIHRpJiedgmQbqUNwUDsFWnpQbIiupqAycpICvFVdOYlOJrvpqfpLumYjjZTRsSKBkpKVxYDdcZuhLdweSVxScGvvqWGItMCiXrFtpYCVqrLWyWZDEWkylkzE", "NrHUwFFijpQEzMYAwtjIdwUYppkyPkzFbwTwBmLpGYYpfNhRESIYWtRtGhqOBWrRfZQcpNFTGsMIEYLUcbccXPcbkkrADiqHhIYnBJsOKYWMrxIeebSBLYPUjGjDFaOWQorxjNGFJewOnXZwzQgphFaVoBxWivELSoGGrVCWjXJpeWyWVdOaxIAhCtOXUkInRilmLVgqlQSjviktCYHuJoWaVHVMbbkqhUyRfkzaGQDxvACASQvukPsxduEmGbRS", "diirKRBCTryZvBdHLfYxkJQoECFjioETpzMjmItpkKizXOwmXqRQlGlRGDUexspsgFMyHSMObtRWojQRUGFZwSTJvfjBqPoKtBBzhodAZlEXHJMRXTVYeFBPewzsGDkijPxFulsrvmogXOnNHoRofsutipLtJkeSVIKpjHjfzOQafSgMuADgrtiWPqDMzNWCEtJDvZhIlfLYLsZrkuDYxlSixKnfmTZokAZNbmbSSAThiMvXkFmigFFtPASopELR", "JVEMsScZvflzxVWqpFCILsRYqrkZAkBuUgbYOfoiTlPKoknTvytmHAzuzVtKUWFnENRBMhRmetDgtTxuqUIMvXTTTswQPztOXMUCSXtPaSYnOiivsjOwFJqtbQXZOrFqEjnrTGeOCmXAXEOPGfbiVLndmpBGKmmxxVjhmSoqSaLRFSDTkezMuPKHtLLJhHjgsEfopglUAuUwAdNEFvVUwNpKGSlOUxThnSlgOcPckRtJOvLnnEpqKJBxnFeYHRTX", "QEduqvwHinaDGpbDVnDNItQtZzMjCmBjyQDRlysedJKUjkVZSmueqnidIuGQuOfFIrbWKNhlTLdEqbMPeOkjwljMzJpJfZRRsvQQcNNkEALKPiocLZIOXBmrDDWtICfflMwdYyxznJKLERqtXLIzWPrPgtbMwnyJtLfjMISjjOVeeLjaNUkPMpWmtXmdNLMDgjISvSLHGhjmLUZyMFDSHOYqHkVaxaLqgXOcBWlQhooWSAchkKvJODRZuOFxOvaf", "hbylXnBRUfgmkWHHGiwcSFtjxvdtimdgpXTEsXBHMMsHCWffVnUeLsrXuXQDJjeBeOfBhinouUtjGrJtSAIDuHiSBXAdFpBoKOKZxIwJShDihrHesVBwvnsIJLiYtzLjAlEcjGzilzkOzXBLWqmrozZixuhvYNpOnFjCOkbwkgJKBXXNCvSNCscpYrscACBSUWieZqaXZuqoUuGzLANlHMGORFvMlcXLqOEGrOsbkIGhbmYmvKkAxNYtVjwrGeQx", "oeusSyYPnQfXmXikprjsAqeYxwdAyvKiFLfYqzoySMuXoVXZeLaIPtteyMoPEPpyzSArKtkNFLKwKnacJtirtwzkBhdZtdDSbUYLosjDlmrcZlMMfRTGONtVYhoITkrjQoGLVWdjjOjFhJPwEvfRzUYlpecvYDRNvsCAzPMVowWXpeDXKuiLwLimgVkWqDTkzTtJEpoXysxfAIoEfXbpadVqGYookJkZnKtTbNjDHkuBGfMOibeFWKLspWiswcqI", "pmYdeHpNIrfDkDUqgxglIFhFdTjcLqvcSZPHlzpMGIHZDJevehghIjjzbGtrKqHpVDLIWmczgAmhiZYJWNOZxwLFGRKTovSxKWMAbdJVvFWCtSutYWMzeBQrYWirprODCgmhGvntVjAdFXBPHGMQeFkfLkariAKTjyTStSJIlLRhrRHsAyojdyOceWuUMnJvZmYymxsqwpvkdirtHACAMuCkSJAMnSlRrYctSxWYSTYSYVOysKWjxNLwSbdvEXzE", "PrfcEBunptiVefHGfgmMgshYyXvLGFXscXZXuwbuIxMyLaMLZAlDhEsRXnYeeXhClodpFyMKTiqElHIIyvJblwGiFVcbDCCdAWpJeTJDkUmyPANpfCOtOiRyQjEqdHMzBHZXoDJypoIRRXvEQImXHhyRsGckPAYPwTNVEdDNDPzXgbzRQsSpWfvsdMpOcpWRWRCPGLPlMveMWmYxscHoZIduIfnVVIJQXictGIXVLWQrQBYCNYPRcDbQTVWXpWri", "gBzdmPtMEEzAYZCPsCveFPrxLunPZBwtPXSFEveNvPiuqJYCEqFNYbQJrAgFKvcIZRWldJMpVaFobcFdDCPGkSUkfNTOSozxcaLjybWFJDSFSbhJgDgtIwYiMghxThCBvuVHpacYLlSqQQXzbErntIvirjzHDGICGzTmOuiyesNOxZrvIoOpDiOIfmwrHjLfIMfkHDSekCtqFQdPBTeTnjDdxxLQyKKfznTDxLsaTdoFTDOVhGoyRHEODHnVvcFr", "qnUAaGZDkLcoUwHhauQKoaLvPGLKfEKGyySrsZWrhPOQaEbJnGjUAtdUAutxlhLqrhtoJitgsMJCJYRweYfzetvsfgOTWiHhoNwXtEHlHQikCKenaYTldyWzCBeBVOGlmOfohFsqIiCJwihjOVIBslwYWwGIQlOVxTLCwcDAuKSsgloLboZgLEZOvxQxmpCTHcrnkJDJLtSLXyfPjNDMJRPSPRxvUoYXaRXqVYvQTKfeAYXLdKlzSnpIapMHgpxr", "JsAPxwzOTvwkxpIjcypFXbuiavAYCHefxhQYWZGnwvigAxpkuxtbVpHSVtSAjFiJSYTPvLsREpFqFIjwYwPWzDHdBqwywqZErpZCMiKqlEcrwLeYYdLOtGHNUImxUeNTlDzbNTOzIMndfVILPFeHbgNRUVzJbJRNlDrBpVjlRaLRbXWsIBJlkcQdBWgjlhiKTdGXdDacLGchaiXtLBBTQMaskSmNcuPbWNCTvrzWTIyxNBHmHfkJpolQgTlfvOfq", "PQkmDMlCJAzBXuGCcrYqRywnBLNlmLexlbFEPPXOnpFnwnUYOhSffhYlvSdDDUrcmTgytZTfHQEiBiNyYxtmBsPaJfOVdzyBfjLkUBbZFcjSOEkhrlDfcsGDtFjFCNSiQBadPniNqFjdBDiMvWTPvxqovwYpcRfzcBfjUuLajeHkjWnZKMONEBAhAGivUzyxFTmuTKDFBxgTiKTwsVqNSSEkaWGeclVKSrAlAGOVDmvfrLVVyEJcYwRCLOmGBuvC", "GQVYJxeCWgsUoiqFRfsbOtXodGcPcBIZMsdXOlLWPVkITxvUzuYSdwCfAGLGCTZPmckZNgHgvvHhrUkHDeAHtvZiVhTZbJBklLidABWffrEKnYndduOKkfIKIjXaIbDCIIEaEyEyIeaIaWISKLrDSXyDAHHJIRecTxDtVfrtjcuIWziUQHaxrOvfoHkfCDJuPGfMLKvJmLSIBzLAMfdbAZmUnMdigByIZaNelHWBMWWsTAwIkKbHHenihxOIAaSW", "AFXBZewlWzhqMOJpQuupNpSwLEOAFDtODexdwPhRuVxLmjzTHdwQYLEqUzjkfIkSJPsQbwAYLxmCWBzZJorCErPFLDSiFXEUXSeKnemXfDweuPvYPXGZNcrHTLZwinDSkUnJmziQOxzjKQWgGnzJzNBmIlkYxWKvAqDBomSxGVLCEEQbusfeboGSptSDNvdQpmpDnxXGRMmhpMYvRJxrukAyKUwtbdOQgjoVBmGGcULxADHYgafzeVnoYqGEmXlc", "PvnlWfKyGWLaDQgNovdCEvJFQtQTnoUpukqqpEdoXAsNhMsIKwvsOKryxXVPeuEeqFplRKeAjtkHeSKPCfWffuOfLttJylMnqISKpSGntYViSRwUKGERZJvlgxUYlMfVixoqTMNCQWPTpUDuUXXBrDkXWPYBEhReAjxdcJogSEqCRkMZxJcZKIyezQRxZyzytAktJWDYmewqMehtTbuegmLZfyFNGoCiWzCSvvUOyjpRePtGjDDqQDqoYOhKUZHm", "UieYzSCxZqRnFBtpWsbpsNIEEsSPEpXclJWygTJeRedjuqFvFuqiwQmsHQhwMiwdCgmqwZdsXutYbDIHRwKJeJPguhrwQslqfNHjXYoHJzIhwXUFXdkKuAbqqqWslOMpXPRJTdDtrvGVhuQIBjxWLdkGOYcHeXDBvLfqamULQwTkwdnFnwaXWAFIEuvIpvdRXOptwNyhXdsFVwEainbreaVheiXhydTxBMhXyUygWySMBOOmgIrICvNpBEVWMCIO", "UMRXwwUrZWCIHLYRjtoXjCCdKAjHCnZamWkvcHJtMrlHodhBXGMIWPSFzpqpOREXuHCgeldgAKSjulzQzzChDDTDcOHbMZicmnNjHQRfzzWJGeNIgUeyqBELyTkOBAmLKCatMTCgQynkHVOMCCwsgGeqtjfAJfwtQLEAWNHFNLFLrVaXggVSxvibGcpEesxYkMFvWKGIXLNDHwMgeNaiKSqKBQsbcxhbxNURgxFNWPfIebmpTwHeLekWSVVSMLRR", "qLaQDuxRRLJyJhEETFMOqQTIDGDpqHLYXOvvvrNDZcWWHfKzLXiBUVyVxLSWMCkmHMtoYhouzMfNWcHozrWDIoSFydBZyfXuYxUlgpYJGXaDPHWvyrWiaGYVGDenOTzSfBkSrDWOjSckTrzDlnvPqBxybuTOISVZuBaFqHyhcEshldpPJjXdRdhjbEELnMUxXCzYhDyDZxeMlGeczgEUdpzXEHaUFpMBGIfhiajdljZHZFSdJYEwDIHevwsbQMGO", "pPxNdnWZHPiBMMNockAzFhFPzoqttXHoyFVysfcRLYAoEebVuhtUmnvAHlFESOQLPVmJuoQShkKrFvwngToDqSfdVIusbytNzLRpkWUqPrOSSiyGxWtowhVWvFdchggXKdETNqDIEuYwjoSNMucMEpyeULIqYCmvZJzUlIpGkVKdvhijKcannacVBdWHMCUeubQdIPBwaQqZraoxhzrUgldnGqakaYNDntJlwtQjpRaxWbApVYcMyAepaFYOsPMM", "zxZcXqhyxDuYjpDOzWYpOTmlbfdekqloAEkQVImcLLHqLMifDEnmKduBmXeQzvpWGaSQUVSrZzlqrgEmoprbrLxfwxbbWXpbvAevVZjmWGOTuOghSrtQnpBiamTXRjHrUrTmarubaFvOLqvfjKHyofKFXFbQNlNTwrGtpnecgNfQEVcaZvNKCbQaDjnwUTOqQwOtRLWoTznJDUolyURFGHKRUKgTYjBZWmwPqzxpkmAYuVuEAJqyutGpcXPZcHxW", "sWVCGmCAaentbhUhDYrtWrSSVnwqLjuhFYmQbtWOgucMWtgiGtQKJBlqfxZVJRlfgJJxQJwcMKdTBdfCQlpsPmVtWlVxXdtBYUYDlHnZaQGmzapANbxacyituxOTUznUFyBMmtmcxxDfHdOfIQFpSeilnlBtyRTxPfunRiyEsSoJPmWdVbFUJLcKlsTIViNDRyGhAEKLpOLCVFLQUVEjoZBzcgaWxvWXXDqiWsRoUwxnAlRBFoIzFtgVKtBRFXGa", "ifgLbrTETMsAYEshTLOMGXUIuKEHfLvRgUFmNIenSaXoGrjqJRfdJTzFLtILToPgWURbXJWVznZDayfkKIeLbnkekfFpzZMReYMErAaPUutsRnoowhTeKXNhRFiwMfKkjrkYOtBMyDBAeHSmMjfHXerHoTsObluJnLrarhzmVdSxCDSQWwoQvRjQZkXORDqZwkDGYYKnArCSAJxvOQfeSMhuyLeLdsRCigCpgucsQjXXszKCFuoGlaRWDvAUQOuN"],"c_array_bigint":[4310237840470906395, 2684004286446893957, -5402752652291668028, 4106300299307052789, -6408758493448483444, -2901312150647349123, 7673358669296309277, -536316175612228706, -8760733362339958542, 544937199991256967, -765672991803480055, -1019168897840522216, -5757716990823695596, -5474605665599095930, -6970943313224508024, -7697416584067808450, -2622989781584693699, 6529113399403960840, 5675220802887846801, 7908100163657766414, 5630769228228249901, -8663852411870458934, 7247502666103932838, -8554505034431498686, 3402929226232995113],"c_array_datetime":["2013-03-26 19:12:49", "2000-10-05 09:09:18", "2016-02-17 05:09:50", "2012-10-12 01:31:36", "2006-03-23 11:47:48", "2005-07-27 14:06:49", "2011-04-07 15:44:45", "2018-02-28 21:50:59", "2000-03-02 16:09:02", "2018-09-16 12:32:49", "2008-04-13 02:41:27", "2000-11-07 14:28:29", "2010-12-13 17:08:34", "2019-06-06 22:14:36", "2017-05-12 11:38:05", "2003-12-07 11:36:44", "2003-09-17 18:29:13", "2009-10-03 09:28:37", "2003-04-23 02:25:08", "2002-11-21 09:07:34", "2011-02-16 15:29:39", "2017-07-06 07:14:12", "2019-12-18 09:10:27", "2018-12-14 00:48:16", "2001-07-25 12:54:38"],"c_map_tinyint":{"c_map_tinyint_1":70, "c_map_tinyint_2":54, "c_map_tinyint_3":-81, "c_map_tinyint_4":-1, "c_map_tinyint_5":32, "c_map_tinyint_6":-50, "c_map_tinyint_7":-118, "c_map_tinyint_8":48, "c_map_tinyint_9":-1, "c_map_tinyint_10":52},"c_map_varchar":{"c_map_varchar_1":"zTPPKijnWpRGwYrQziDoLjeoiAElNyMyoMrbOBcKWHvoPjooSfYDJZlmpjJkFQGAZAWjVraXdZpUvOoiBldjNwWubxtaQIUeWtfYUHRzWNBYmoXeHOXVRSEmQiefLykYAUnkCkJPIZzyEcfmFwoUHsgreedaCEJZNwaHdzJYtsXwhMPSoJiyrpKAdKKxxNcskknGazwWymnRDOSNWmqJDiHSoTguefaXKUwJAbWAbHzIzbbcSQrzEWrugkBMHRng", "c_map_varchar_2":"AfQoyDUmOjoEwPTHJlXIovGFowiGffKxMFipHQoaqszNtfgeKxgLWtalPeTyjaqdZfJRltXTccfCGyyvshDWIOBjAVTeTBLyJWEbVCiDSjJyxlsPSTPdSAwgonfxCbgokEYDTvfwmDRmtoViCtoUySnZLIqeAcKoqKqIiXCiNkbiFVLIDjXHoqUrPrrgBwIkFhYdnmcdMLfksiohPESHxEKFFMesZOswVmrYDBDdufXPqfncbXfIrhnfSHuMuCNV", "c_map_varchar_3":"gArmwoTlETVUeogLexPNrnlVeYzddLsRtBUfLxUIQwYOUeRpbUfXbOiEddEONhJUZWmnBNybIwHOiDWMYnpCfPGrjPsvcimrFulaIKCrFShfkzvjqOJvOEMGdFUQLwXslsdftkyuYiqwAdYLEcBOykXzmTtaYyjNebesnbXwHnEyYFBJEviIZylOGIdTCCKDaVcEOgAMOrByFZHkfTZDacFenuLCvqVXIHgkHYaPWHGKeUjgatJKWTPRguthPoNZ", "c_map_varchar_4":"sTlQsuCFqPrInePwZtzWLSzRveqUdgxtGPBGbiAflxTCPjbqWPahzhsQjDHkGfxLAEitACIKfkAJPrkWkOnQZIdQZslAwbvWwsVQPOsHdpjApDLmNHuSaYBZgGMzQVdfTDYrpJPnRxgMMXVpxZTccgQiUftCZbrQjJsyAcQanJmLQDbZUXhaFUqGJuKVBjFHHqeFqtCUdjgWGtIKYRRupXCSWGyfzOFlccfkBUcxnAqETDmtwapwfjwuUdUezYLK", "c_map_varchar_5":"AFgdBTdvDJRTQwwwjPNqOBSvfztxwZkHyXRfTyGYNYdpfKCwOIHuijwARVcdkVMxERaZsAGkJQZOxhvDoeIFOPpLUDdNLyBhxvnhIUReNeyNTzIdssctJYCCVJWdKGQCyQbUzTLPSoWqITCqvNCcOwRnomtXUROPzLekRPBXmeEXgObkrMRbnlGKYWaxMoALqlStIvOVnJzOrQZKtrOSgqBgSevsjZwQXbBqMGMOdNNhwzglRMbowEhRfqKtZKOv", "c_map_varchar_6":"AmebUqBvoLgiyekejeLctfFisufroLpVghUAVITeyVGSjFgMphLeuPlTHDShGfvzztDxpnYggyqzVIcgrOkcJIdcHKBRKXSxizmwioVSWNdZqfKkQtLnPTHKhZEcBkRkPbRPCTqzDkCtvHhQaSFrxfoXtsjmUyHFBLsckDCrtypXhxYMaxZNwuPlApBtXVtfcTTzDFYFaDfOOEXEtnczQSTbXRWQCVByeZYXwzBnlAQXhKbWWptOLCjEMjdBQJvO", "c_map_varchar_7":"UQamTUIAahHcVPIiBvECXMteEuadedsilvrurgSxkpLWkhEVlODXILeeexPKSkHLYnFvxdQHBaazkEsaVRysjfSQpYOCXcDFkkXNErkyaqbadtseweKOWMIGUUhaITpsMSRaoLROyCoKPjxRRragsTVQIKEdpZcvAsoKzLtxOdBpBMwuLGFteexdBtgqRfSEsQufWPmJjEHyGVULPFgAfasgOBZqFsUUFbcnUVNukEuxbwTxCvsUqxoFhPiZExxc", "c_map_varchar_8":"bTnFvxzkNuCIxBVqlldfKmbCpgSRqPkWXTLigRrIMamzEaWFSdzSjTIblADsSlRRIQjZEsZxoqMDPosdikwfowVgccIJAfXkgvygdeoGOlvRngGQrjHgwYlLVucbxmyAuIcUDCFSGzaKgZncHQuDVqticOQbZruODxtxuNLQpEESBTrwAuXhGnivmVYGniGbRMjkkESNKfzEpsGhPjeVagxFvweXJhNJAmeRtBhTpcMpjgNuZgENYYhubPKERzLV", "c_map_varchar_9":"ouyGaLQafGXQtFDeKzYcKllgXFCzXccxbSjHqlhxebPzhEAHXMdzxcRKNVTVIlvVoqARIRLLYWdxJcYJQBDwKNMXUDtLUvFVRgeMNngaonbaCYfWYnPSpDOpkJCFysfKcAzMKhYGAAFEzzQZqCaMDqKXIOnSPZIqsySGDJusRkjmfmjlwHzseIyvgBjUfwjBAhnIOyvIpZUKvLfBHcuvbcThwuIvsDztCJAGWJjDSMFeJdKhGhmzmtmMnCKOtCtf", "c_map_varchar_10":"KYPNIEECoHhFmGrwDYgAYpAuFjNxBvULvEuPAUHOEEitYolqcOwOmpEzmLIVjtNFoJppdVZNoJslzNEokkdvKpkhMpNicgPDrcTyvpoaljoVjJSAfTWdPAsWbZQSFfYTwqmlmiiYaQgfUdDcmPZwlNUoKsphGfvsbNmmfeuFRyOAQoflwVmEShWkceLWvEbVbYpyBoJcOSeVlBkaAjuCXuyIevgIPfivhSZoDArpWTLgfCCFaMLcoAYqwafwzsKi"},"c_boolean":0,"c_date":"2003-03-02","c_datetime":"2004-05-13 15:49:08","c_ipv6":"35c2:9560:3331:c49f:905:7564:4e03:9e33","c_double":20.838339515247473,"c_char":"ehQRdPOkEc","c_ipv4":"162.59.227.7","c_map_bigint":{"c_map_bigint_1":1712452428106310380, "c_map_bigint_2":-2268773005019551687, "c_map_bigint_3":-16990218887698557, "c_map_bigint_4":-2684348166008964724, "c_map_bigint_5":-7164783431849726489, "c_map_bigint_6":9039781161994776369, "c_map_bigint_7":4640726360031387846, "c_map_bigint_8":728069352752240144, "c_map_bigint_9":-2993918526643192005, "c_map_bigint_10":-4233201751687993440},"c_array_float":[25.687336, 22.9987, 40.850914, 19.602533, 4.9588223, 66.94701, 93.27172, 23.644703, 24.26792, 68.650085, 74.915016, 86.3719, 16.213629, 27.742472, 80.32856, 48.092934, 60.50514, 5.5717244, 40.16648, 51.950474, 54.092247, 88.45255, 67.31305, 50.87374, 9.1059065],"c_map_smallint":{"c_map_smallint_1":-15440, "c_map_smallint_2":23958, "c_map_smallint_3":14377, "c_map_smallint_4":10511, "c_map_smallint_5":14655, "c_map_smallint_6":-13274, "c_map_smallint_7":-5060, "c_map_smallint_8":-23219, "c_map_smallint_9":-15935, "c_map_smallint_10":27613},"c_bigint":-612742122803768290,"c_string":"eUNVbEKkwICoJtNjnmZnKbKMGqRlOUumHRuuOKLcuHaBQZLtTcGxKPREQnQXKobVpwhqjXfBhqALIlgWdPPkOcRqHKeYdWBEastGNwXCMHsWkdLgjvqbZlqvDRNSHrKtTwJXiNSioNbHrVdiDhhNWErRCViRyhNnDoNNrsNmmREOxwfVXQVStrRiNvVUvNcqlhLsFfNgQoMlxfdntAUzZiCHqvUfjJUJYsyAgCLdQOIEjMdvCuIEKbGBQFUidYKOoiZEyqfxfaBeYlHkUklxciOAacPdipYeMmLKMkXmOYZxnijRbyliTOZTvbulnUJXlrGUIIUrPunrVDxRbrqWAlahRPessZnYJcnYJtEcedCsEKdSMxgsztkOtzuaCCwmmEFwnzWQMBXEBaclUiRbTYDIHCufPORVEwSKhGwJgVgRKNKNdkGHFGlrGXUAWzaymoqBAFHRsviYgPxjALkVRDvcDltgoapnzRBDbLbVasCeuGwoPqUSgDWLoJYevchO","c_array_tinyint":[-18, 61, 32, -59, -110, -59, 16, 65, 67, 26, 10, -104, -98, -24, -95, 120, 116, 47, -94, -10, -116, 25, -4, 42, -124],"c_array_smallint":[23242, 27106, -8624, -13770, -28712, 26684, 10847, -32266, -22935, -21600, 9335, -14241, -628, -19452, -22966, -13709, -29386, -11338, -28664, 3183, 531, -20542, 23445, -8266, -10783],"c_tinyint":-33,"c_array_ipv6":["ZhTiaOdXnh", "PCrjREkcLJ", "bxTlaJqCAY", "JPOROmopOR", "ZKbZBVbUAg", "jDWQsAfDim", "QPzrGfqWqN", "IQPljlWhoP", "ICqQcjehtp", "KuPOkgZRnF", "PPYDJpVEze", "NyfsVfAijh", "iNLaTplZhi", "XxEKWxjKOX", "aWOAauSwfU", "mlvenlylcM", "NjtrNqEYtd", "ViNFaIucpx", "ANefQlLSqW", "wZfCofENUc", "GjLXtHFWaV", "fkBEhdesFq", "sgVPMxjUkS", "gBcLoKMhOr", "WZbPjwFWiO"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_decimal":{"c_map_decimal_1":40.1781, "c_map_decimal_2":79.1493, "c_map_decimal_3":23.1786, "c_map_decimal_4":5.0601, "c_map_decimal_5":94.1132, "c_map_decimal_6":98.1974, "c_map_decimal_7":58.0814, "c_map_decimal_8":35.1267, "c_map_decimal_9":69.1994, "c_map_decimal_10":73.0463},"c_map_float":{"c_map_float_1":89.44133, "c_map_float_2":56.913708, "c_map_float_3":53.76048, "c_map_float_4":70.08029, "c_map_float_5":33.55894, "c_map_float_6":35.977383, "c_map_float_7":79.04601, "c_map_float_8":1.5963349, "c_map_float_9":40.88774, "c_map_float_10":56.38015},"c_map_string":{"c_map_string_1":"UBiQVyBoLjpNftPUzzxvCiaLcPuorHzvdsBysYVfgypZHWwNfXPHFErUvEanRUVvbeVWOftdpcsfQGaZSuhiFzXIrNtKEbmXJiNxHvQVEDvOhkMgukEfiENCYMDMFfMDMeaQsiNIGjyHcfAessjOnqmZudofUSxrKtibbEAxDkkuMCwrGmhpXIICzPgIinWComUIeQQmwGGYPzFasTlUVGhoTtjEXeDPNzZeLsjEacgbxhAUvlvuaQYxuPglHIplzDGsGNAEabAuTHCAvDdpOgahtDrwTRvEANbTxJMyAkBGJwiztbtnWrnaSrWYCpsqGTJlvDpTWBGNYbkalDANiucqLNARaLsNXDbyLSuKVtYkMkOooQHaoLQCloREQNhHkMxypTFvzwXZjgCvNfAGjcLmqHeXTXdLoAYSYsCKjUllfzXbPnMEiCCMSRXUCLmAmvZOAXnbpojLYvmBKvNjZdZIcYdEKddUdtBWllVRnYkHmoMGftOdNNtomEfAbwUZ", "c_map_string_2":"cbMATbMLXQCXbLzTTpLMwlncIeKmGrUkzBxeqSjoSHCamxgnkwHYgNbdZdvGmIvfwNMDOnJPzpBaoGtUYaAybsvbVLShYwJFDLhEJQiOpFnVIKGNIDWZROaWOBcMKbOwjUzFwYeQFOMaysPJTyLKpDLjZZGFVItHpHHacGpvCjvqPlyriyYNPhGhIFACtojGWvrdCNFpHEkWZSoFfuOsjrUyIsNczlfRUCdjYFGYhxMkfWvSKNQrhQDYcuSTNahpufzJGGylDnYlCYNuBiEKNBCvhHDWGfHkKYHBhgDBXpjWDUqiMPSxJeoPxvSNCDPuJrLslvQlNNSpFeaBFUQissDtbRvLLiiCdwaNFKUFBmLvkGQLtqdtuRvEnfSYgaASDhKuMVSmXrJbPzqJgfmawwWHeEFKjMzUiWWBkhHVCOBalUFpdBuvwuguFdQGYMKlpGFCEVnIStaxOwofrJSSoGTzwgCjwUbCHQeoHntfMwdUwkRiZSbLUzyuPrLsljJD", "c_map_string_3":"UBRbXSVxQBmoZxOgvVRUhZgSnYyheTRmVdRodvJHFxTRrccqhcNblCvxxFSyjUtlUZobfkFlysfAfkTRcXjJdADTHXboToBrLASNdABYFtwAJMUWLMkPEaJkrLHegbOpxyzgnSbteaCEstQElsSBedtJIwfghtDgdJTSukeunjahQmDNmbicsNdYuxHCMqGEGnihZxPlXtqLGZDSigSnuENLSMEXBDSKEEVSjVJAcNrBSgYGcCTezjRnUrVpGFbRsLroWeMezoQMwzUJAjtXbVyBgfXDvgzPUjnJxDRmxUqckMGPblWeGKUgtyktZYFxZGczPgMNHjwhTGClOdmIjxNrDZOVFRAfpiYUCSfLJqipQJNoJkRVbWpFMEVytWVRsEsoQLLKyegNnfdYqZbviIjeUvkxXTCIMRPhuuhxZCBkwjvmgVNiMAiGfKSdBtQnisssqXxEPaHxjMPRiyamLoihOyJmLlPubUnaqTZdtaSVeqCUbmvoodvBGtBZPuOv", "c_map_string_4":"huvfDNYdaMoNOGbsXCDYglcKjoDSQhYrVlhCBNEYgNVedQAbFPAGWJYpCyFmEFZPgIotxDyToxVsigbrPXBPaPnTrFtWjJkUxcDRauUkuVRGoKXcftQfmEywTvpaAmENVueAhxzIpkxmZRexYCCHyGZfUsMCbxoxdxhgGTWBCDOkLQqEjanNvcyTjhbUgIJxchqBzSLMUmoMoaihPCrzIOlBZAPrMDiTFseyUfBnHxzeIQsqmtBLTMyPjFOkugUiUHERimeIhcevETXNzyAkpWYmSSIARKZHykMyIgSqUlweyTAiWsnpILFstTOsSZdtJEDKCHUssfRHjkxVngddxStobdFYIazqXZcDEgRggipBDdQXIABeSzqyHDKuBAXzEWhcSeKStHLROybbCCFEjBhSJRNSnUQYjQeGdixMdVrglYKVNTAdcpmSAllOTGVsjHdKPkVuuBKvvFhQykIwXcIeylmXLjhJnVAVTsotpHDEMOXBLkaHYynYHxcECKrc", "c_map_string_5":"KGRdEDZRGwLEehAgMDESAslNIFwRCWmXbjdgpMOqjAjqKlnaKuChgJfZDYzPgjMzENesPHSuriowXJcENxPwBiBqtTgdfZLPNdHFbegSoyfjXTqeQvknfhxdYrUDeDLthuDmCWTitKdvdfAYkoVHbPSAPrXywTAYSSsfBpuxtCPYeDFVtXJdtOAyfMvuEDkjjdJmrupAxAzGwnrDNcCoKnzSHmeKHJpcDLFoJVNkPSxqUhglqQkmUnzrCSYToLcxKYtroHfGAefypjRacLSoRzGExhwlfrPeRMSDqbQvBycNCJExcZCJRWLNPMBpQmtWtZdsmgGTBiQVHncDzMknuIaJnIWQDAkSTQXHuhGAxMxdfvvVobVNXRjkiNQljFHBuNVdEasQOyEGAiMssVxWIpyxKAvAJinzsTdAydRjRDAwFZXcIuuZsisxLFtsgIXxgJeNzZpPuEroBcimaYPWVPxsJvWnpCVXYaNttFpUZIIyJyDIxsNhXQVARsYFWzTP", "c_map_string_6":"yfaVrQOaoCzjeEpwrDtIYeSRqHbmJLqZzWXBHmdvIVWFKinuiafJLopEtBlylcCpKUxTXbpNRmvyOCiPXEhySATBdzCYPnpynTrriPmWswbJURDGjScCyOdZRmCTONFSTrsZGUQkkWXQyXRfurJPSQWhnoyloQAiUegGajsuTnShzuOKzqtdJdZkZyGkMPEVOQUdpvlMmdBsWCTlaImUAfhSpjkgiPzExCVsNMLClPGaQhigevxQokrdrEDPSOGqbJPunVvxwjddndpbhpbOnVucdSRcDfyiAsYzbsorsRxersMFaNTClwiyXxnBZWcCnYlBPKjzCatuNxzwRWZsonuVqcqGnZqxNQLvWqWNpnMJnbyQLmmFEpKsQuxIZfdJBVyYfrXGDpBWecDJLSRnEERvSAJvnewjrfPRZeYXMAeXRwBAjTgVbrWWfWbfhZXaSDBIpXyiNkRTbwWnVTBczadpIWAysVutEvrjQStgWnwIevPmclymXddzhHBYZFBd", "c_map_string_7":"KYKYWHbsfXTBVLCvRZCHAGqueafLqREVJIeQhjAMRRMWhQQIjJqiFXeQrJKmvbVAJEiVqXjEKNHZfYFKRwlNHNxmPBBFOXiHAIAinXGOdPJbKYdPAhDrkgKQgabRXYiFUDpxawfUYoergaNoahfbqwlEuWxzMnrpDKOSITttTodQCqpZIwgoTAYmrEojhQcNYzzcCQTuFuPOyaTvKHliKGHuJVLjOffIRNFUgIVQkLwTmoyxyDybxIFEFbuqLierROjEINlrEePTdaqVHLJGrmrtfehBOfnFPAzmGOYyMCHxommusJtkrbhMRKGUcVMStaSXlXuVWxKpplIcAEUqMuKzIYhIVxUwRvngUKPzNxwVtmRTXvkKcoToOoXTtjnKeRZBVMJkKEXePugKXSPzgNrfCQIcyOghUNdjiAOvJbqpetWPMDcPnWCglQwgvowBAEhuIcESeveSFFqSrIuiOCZaDzlDqgLuMfmwolIODiWilfhrNJCUxljAzidLMUHf", "c_map_string_8":"VhoAIpIjLVJvyqafmzrsBFSkhLCeKmRUeQtcIQWyfWYVILfMkoZduiQtjJzJZFGNojiBvZcWeTPjygIODtZtaTaWUbvBuPyQYpkSVOJPulVjwanQZpbatZcnFVDXbNtKZVJALqQPAbLpbxfYsiMJFrmSesamxehRdvFIdiFtqwphTOAmUJBCIrLnUJRHsLEIepHabiWeojuwNEswbgalqcwdavwjlXpkbgXsBIkARPdjMbwjjpxzUxXoRewdqmKcrYYhlIyDJGFIgSRQlTQOeSTUsuJbDVoEtkHaMsHvWZoxoPAeCNuytkyckNFmzfIdpUfntpALnEAsHBSxJJwGSktZynloMjMohxuFOLQdwrhXqjCJvlYnNcqZOzLyOMkyCQUeBbqQguSMcVVpNTDsYENlcdFfLqASCFFoDduxcSLcWJTYbNdqLPnMpWCQBfEprVqTcFNUFpbPVWijYtTOmJuXQQJCxgoGaGiqqwimqdTHdDtlwGumHTZIUUVGYPJV", "c_map_string_9":"jIHYxllKXFbFntSRfILdeeyJMjkkwjamhsCtnjIkkSOQalpCIJptwmhEGZTbKjxgEiFmYkbssmiPBQiSyIHcZCaDeSZEUFHxCNCIqipTKIGWkTeYvcMyncCnuDpZGRFPQIBinEDrvCglLQmNQClZpAZBtXqqVXrXkMtwaCZrtYkFCIUZzSAgNCEamXfqFmVlTNwPUrQJQXPgauxnmiwtpvFaeKiVRKJCXRKhyJXCGPsdFAtrqPzNgiWpJFDfPCvRtgyeFhuDsWPsuiQaVlomYBuKKWspOpWkFcgNoCLXIUALvsiAmxqbTXXZJmZtbJbGCfSBJXFzaUOikLynSdRqLVAuQOQhOjxSTPiRVgAwNDfLTfcBLODLsUFVJkOwxgwhsBcsHSfWTLDbXJTIladgawvqjCALqOvhaobsCwIXrtPYJcJzeDAcBHQcRHQSHnLixotyQHGePlKewxQFGBulrLJxkQYsJQWFvTQiMydQaoslXebkWaYknnITNXTrpbEz", "c_map_string_10":"eNuztrAfgbtOCwKObSEBdpuTXhZbsGOIhOhQDPnXfYpDcUeWhtIYROekFwdILrjlheKIYIZUXOMsDwqUduyGGngeNqMGBzwNLgoHEikiILshnIjBCgcBVQxKsXCrAYsNIyUiuhfCGebzEOmKZOUtXZRJobSLMLHOLERXDVyLWBjGMKVsFVDdARXFDXYlJavzJNKWxZWcwdBVtftfJrPbtWJawRWvofePFihjUpoccHelaFzeeQmbJbywYAPpUopczeWGFHELbOjjgftFCluyAjdGUGGsSCXwDzXYWcvWMFPxZxKaTKYiyxJSbetwPGqIDxxRRvrarCGTdpLQNHHNnzJxnWmkoZHtMWOJKMfOrvaxUieteKXxznnjeBGWxHTGvDSJVoUFaPIKJHVjhiyQXLiseGdxCXOSEbDomxngjQiJLLzoqDdrhbjpGKBtqYbftrCQrjWdWCzwRqDlXJELnpNkSoIcnlhBeGTAipWxheUbKwjNGjgpvlBvyVIjdYdS"},"c_map_date":{"c_map_date_1":"2015-08-25", "c_map_date_2":"2015-06-18", "c_map_date_3":"2011-09-09", "c_map_date_4":"2006-01-20", "c_map_date_5":"2014-11-27", "c_map_date_6":"2007-08-27", "c_map_date_7":"2000-06-06", "c_map_date_8":"2009-03-14", "c_map_date_9":"2004-06-03", "c_map_date_10":"2008-03-19"},"c_array_boolean":[1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1],"c_array_string":["tYAXcDlBianRphciMMFieTHlPUcVxbVunWaKbJSRnpIveSxrtgwVTwOKVqfZQZCdaIZVmiYEPTsufSZUEEmGOhzTFoDLGtgmBYjCXklQuDJZPnLrafJIVvYvuTBPjojRvpUYBysQJpSKgbodpkFAYzuRQLCfeWNwQfIEKBYTqNxzGyfEAclWMnHgkcrWojsYIqJDZIMhzPxZRwUutHvbCxHQvryruGrORpSPbAXgLxSLAdJewOREraCTcZDVRVrVjjkAPJeDyqjNzckycBOGJnYUyDPvHteZAcGgHUAZXHjylwrHZRHAOleLGHGrvlYfzsUgbhpDyGhpLImbWJHppNgunHNamSYiukqorfzpoYydrOhKDXUywgtDtTUJcdYueywhIKFDNyBetBqQKnOYMiowTlFVPyMxhttuNQqrBWmtwiafYyEIZtiWTxIiFksKcGKLkruXDQeJlpwhHfMGEQWlhCZYbaaxiOLdyziHuezUUohDIiENbCyYtdIYCXDg", "QsmMzhNvZXOeHTbFqnGbifKGgYkuhNwJJbNcXELzNdhtgEVHGGJxgWpAJCtxBFaavwxGhUTIngriPHlKOxSlynyTlScjfyytvthRJpQmmjJoUrfMLXwyvQWyhgwfbayLHXvgWXDYxxSvRYSYrbsskbEjFvmpatcDdcVKTAofOlMbxJEeYtbBDkNlnJvmAILNzyXHnQCCQHsWRscrzKAGdqSASbVwhWDxSXaPHbSUAfVmzhAHgSNwUkXATltoknFBZzlasjEKCHrYGHvtMTczsysUVOkgykUoojnBSLxrbPMokrzRTlBhrMFNEZOQUjBRUoeAxokxJqCcTthkIKpVKbnHIoAHQsYoXNcAvAoTAnnPDIqMtReqINsxrbdmiQbilyYRmUQCxlBLxtvUPONxDTpiabyBAmSWjykjhhiHbvRBIjEAfOZnwVFXWuScZqEUCetKkUglgLYeKjqKaSEFBEoNaFWywDMhUMOzLlcKPTwfzipDNEHGMQfdRdyVPBgq", "icJYWhlDWNzvWshBgCNUeWEOTUUIDhYixsWNtbIJpuutZHlKvfSgaYvIBeTNtyUmiZJOGRIZNulxzlHylSBtNGaZwbzLLcITGsoAqfCrkQcjiYOUbrrdrKuXxPJDEpJoVyBjeatbunNoPQtTKZClWsDHxwNMviftfvRzbWErxHKqfmmdveTfkKaKYcQOaJsbDPefWEAkBfJTVZyRlBMCmoBfAxyrmoqwukndyWCtRRNThqdfXoDbXBkgiVQQhkVcOoENKrkHKbJAcOciQFuuztLgbSsvmQyHcyzpNWCNVfPQybVdNYGmbXHYiYPmCZxsXQSAjGyjOGWRMTJmyUdCrlLNTiFUXwxIXwHEvSntFrAsuIEuwXsaMZluIegUFYCyCfjbVyDLHiHAdstJmbVpLHKWZsQlQKUMCdEdvIFkqWLiLSdsvxtJUlezlojHtSObPsBcEuHkEkZniEylVVoINYHZrIzWzlYRcveXHpxlONhyOstNdvIqZXYoGzxwRNst", "DqQvqpIWThWPmZChuDzKbrpOuzpqZVdiSgiFgNiWLtsZnNAigkkJINsYWdUcIXTlNeTMqEkJphzDWFNzmIBrrwmaSTVqOfzjJUKqvwwAUaIdhTVMqrmKFaZmhnMTAwVpbRKYCmiNplBDvVetidvoWJAjeMSWBjZUxIIArnqzyVnBjapeoQdvrAqfBOTyuvNEddTcmvuzclYaHEkuSXFYtKirGhQMoWqdDRYbDLFPGRhnkgFLJUQFmluKKOBotdBvDbkBvedJEthqvDzzJvFcMWLVOtedTzIhaWeBBeHgnROmetEhkpYIAQACQZLIhirJBifwhQJAdijIcmXrdOvAWOrOuILvKVfMOjBPnHKdzWLjeBYsbrONWqcasSSMOSTOmtPefUKurEXKZPAHgckpnqrSXmMgOTPlFQgXPgyfYhtDXNxAcciqJoWSILHiSdPwNVmQoyeSCjfbtvrwqPFbLjcybHmyHSHLitdCVgQTIsxJCOhsakVmWendiWZCvKfE", "DDRezKGixhlUuiNSKfGktfyBhyTvLNvJFogcdFbprzhbBIhjNGNDrNXWFRdfFkHSVEsoKJCbculuffwXCNKfEuKKanyElpmYAaWHRSpkKHBJOKLHJXLFkIGQsFOXfxpVulQiwSqpNBQYbcLBrgxCtcZclyLpITrRCamlJAVygtNWkJccNOYkHXmwHeJJiNHvPtVzpgDEUzZMRwjOGSvfmvGHiRNQsmqiIlOvdRCQibrpmFHZNgIFdLmLUyqYnKJSeIMTytUqhuWDPPyLsgRFkJNcfSIGGEtNoAeSmpwUEHuUdEEslzUgUBaHOhlneYgyClKILBhIZpXnrvunwBNuuKnUFFWZBUfFViKfISrBJcZmmJrEZrtSOqBDAgZfIEPjXuErytjNYkbBrYuBZhMnGQkziAVGisPjSSfKqRklDhACSfdawBSPTooZEAEMxDzCIryfqfLFAvgapzVnugXOAeLWNVyeSwdnCnnPROVTZiFXuDSsRMTSsznyFyqorjtC", "ykdqoDfOEeYIfiIpTdpdTrmNHkkkEZddOZtaZsamLFaexozHhHaGAguLffTbBSujYIpEFciHJyTOnDvoMqXnGYOESJJfgcCZCMvfZLYRDIKzZQfiaOVWvcWosZWcFdrdlHeQpXVyAfjnSUaOvwMkshckiznaNxGZXTJFoEURMMcxKonVLPZGKsnBAWvzoeQNqdFqQnjbiKRLKKbpRxgfAUfKXroeCBAnQFFfNmCCgCTYIiIQZpJnIPnTXVFPMCiLYTKDIgrKUWygBoCicmIuKJrWhubZSkDQrJVMERbStHeNaJQgkDQRgmXyUSBAuZMEieeoOwoWxBBRgwlgPUsmHnUlSDwJPdvRLkBSdzieoWNHWpfUzUJLqcDwaKIXIQMsQSqvtPdbEsZKZaiAMSHcjAzCAFLxLWGXoNQThISJgazElIQwKtVjggYZmlqlUUwBMXtvXyouuITsKuiIdImSfqJEeuFbjazhgFdozmVsqfKcOTYWyiMSQzdTVumJjyCt", "GhnJrLhwMrkfjooaMYkdyTKdQiNrvkmtobEGSnOBAkksabqTCLXAhAXSlhmrZNSVbVJcHrHPhGMJNBTJtxeClzpZOjFcjTUbqCTnvtEvHIfzthXVkmdBKyiBkwTQvjSeMIwgGzunRfQxoPGxcIByDCjeoZcwBJhOwzLDGmEvGTMubVgULrOWBYktPJgMbXdsDAqDAzMCPRvZvSYMAsGtpsEIVKCjjEDZTpewcGRgSckXbmWfZZQttuQJvyLyhqrwRLpmiBRFqEFwdigFlEYLFDVGhPKlDOGtENlTHZhssKQLbcqLkXbcbdvkfjiOSvgEWKImieCbuUxplQlGgsxSUdhzefdqjLOmZJoQTkwiNLjpufGrkuakBdRBKyOBfPyiudJSwHHeJdncQzVGeaAbuRlQHrkxemfUwxDtaLVklhCyYQaznMJLsseBoaySPudBNrxDgZZaeZfbaOzDjkAXnqYiVPFvVBkmUxgDmwhcIkQEBJGepFDxwTmUzJWZzdMZ", "kycXrolXhofCgCLQHMAOMJPSjesApEqmCEoWkoQBtDVDSJKMdyQfZUiOzfRdljODDRJBwxoEeXnTrKTKUqZWHSnHDgLvpLITdgkwjbGhRrkWGCtxnkyZZtaDuaezneWxIcdoleZjWTjwhaRJcCkFlJcTmPehPPyXnICAbjJveZimAcUPuItleXySzWTruzjyZlNjULRnUopyruaWilmSUtVfpfLkjZENHvglTCUBbNPRcAkVTmLdHHKSkLUsqnzrLSsptxSdhQhkPqAaNPiBpTkvUutCYunHLeJXEXRhVCATmPcxTwwrhTxhRheGGazEGXcgHWOFbWwHpxpwoWDojozQkPGtysfxxWCjFavoSgMsojFeZfZQoGLrazgKLCnEbeaEXvCWVYomiftlgEZzEYAynhzJwzXPMRQkjSwUcfYWxbtSImrCekhduyyITJIlYjpQKaebZXbqbsfUAjfuawZWaPrgYNexDKaOOMFZoTeMguJyGAWmcZOuGiZzGAVq", "FHeiFyksFenepaSwZtzgNmxtwTANYChjIkECLaDcHmuTsdcUYajuWlgBkTJjpcibSOUTkRNkFgeaxZvjtuuBntokrtqsbjSeWlqTGwgGiEOVhxdXMeAhnuGrIAOsKchCuwHlmspzZGjGbsCGcUyDgdXOSgNworlsBGCaXHuPyBXeViYNpidWfmilHcDslOuFheqoapbVdsJozoWqMnWQpkxXPolNewqFLGBWxeLYuypbkjnrdvGhdsGwrhVfbRGRUVxOLtfQFcZPXYWvMRWCAXZlvMgdvRZDLpsWpFImHWUdtRgNbOUWyXbvjDQLwDRlGZsCXKYXyERDHvOFYktxRgtkOsvierMRZHUtWPlibHXeQNYOtRFIUgLFRpEAuVScNYWfqteCWyGydpQUSnzvfpPseJwambeAeYrQQQKSSAtkIBPmQMOUJYZkhIMeUMpnDDrdHXuGcetokJBTdnIUBVoItvkRqNtwuCAFnPwGDTAdiLlYCqDeLpSnvYwqVaPV", "fyciHOrxehugZbpvhAxFVUrkBLyDxTBKRjevhdlHKMfyxBmYeMvzJLawALmuJdVbtRJVuVLcsesIeEbkfiJJvJnenUBnzLvFRIvqIBYnksvwpbHQNMvwDVYepNyRkbzwcDlmyTwkiLdzSRfFJXnPzOaHKuydNrsGOLgYPNbASFWvwmRbqwhNqfxSyAmLktprsjcaSnpJNTDotgzOcdSZtIImcLyzKSxyblMYkNXCemwlxVWRWaLbPqPCrvFGxvEsBPSMamqcCJHFphvhcXGqRYERsyARTWuMGQDSiWLxJUKfxKgvnJcIwzXGJzbhaEpitYsXChJsOLmwJLEEKyIjyEpmyhdDhQmsmRIFHNMqeCtMyZftYVbNRNkHZLAIYtwDwpTrIXgBhBdbHScnNlkHSPLPlClfVNBgDBkkMKXSzuFoULzVtEgrTNDxRkRFHCizdleNjzZhAFedeHCzjYCYsaOUFZJCfsIaBhehZRBCyIbLmLnJOzxmEnkqtnfqVefG", "OKXcYyZNWnoHpnTnMaZIOkSjPrrKoutEWvYsiQfpQbLfsIiHDmNMkNhJQhHvgMJyFuCsajViNmyBqjYMlbtmaPcqktzCpLakgpRBEOYqWhrukEzWvuRzjEvSUkADKyEsphtvRwKMIoJAWvkMnaNJVnCzTOOvxHDfHLVEPRakymaAuIXFoQSnuygIfsqiIAYFLcHphUFzSVJFULqDksLVjNAuytlYjIusVrEVxaDmcbRzmCtTfcTIhuqCNWlyGEfIJpLIbEKiZBikLMeHOKiEySTvAYeucYRuEZqGsFWfanCNkOiicWvEuoxAzNygoAtJcNQGvxlruZcbMDCeqTGNrwFebPXDjUwCiHGHUkTavDYeFLldjmajIeoeCprsUNDWtJSUImoPHMwbVyEIabPyBDHJHJjuYSLvDqvsvHzRWPgiGcikJxoUbvirPIGKUGHYIeQxGIQQgVqzkXvpjfFKihowGisymafxRvGeGjFSJZCjLQVXdaLkjrTiYaXlBfbZ", "hQlvZjFFQhQNsizrPJMJEkXEHgvcqkEAiiVuyZFAvRvHxreJPAeMTzbTNneQhhHTWQoYFTfihDpPSIvRYPhkpmFfqIwPaSBVypqsTXYlibtctByVAzZVIUZRmeqIxQhJXoJcejbhorJYdGGriWvDnbVOGolXYXDRSHirkMPULFkDnLtNMLfAWcVYCtOMWEgrVECyrEhlRbXjbnwLemRZVUpSioCCQeyfAfLxVcsnzvslTUEWYsvzBQCpOwmnBgTODiXBfkugQOGlYGklAKOfeGJpHGQwrdFGQQkwfsUvOkpQEgbInEbPaGiBUNKjKTmkUeBtijTBlWCnYLqlriAmIHrrIJgXihrYOhudKGvVQFFvSoKsthHPocktwKKOXuYYFROtjRrkPAEyPliLVtoDSmlTeEfdXqEjfNXlezpWBBjXaPolHikNhBAYydnittxsNmSyBCRbcnzWHMDpSAUbkhTEDNhELaCaFVOVaTPbgALbCOzTmCrZpKHCCuUftsen", "GiLaSRRopuNWzShIYJuslLenVFbowJPCSmRiYqSRLPKmYuTNyzosNLTezCFiEhvKEudxBkJhDLZrGvOYedvUcQhjQklydLxyaICUnBHOujyoblVTzprOuwyJeTQddGCahCmtqONWuHRJtCtPuzMeWNTEyRyRqTGERUIKgtvrVLPKcvyNxEEaHvCGrTZJitPQhdygyJLfPaDzSFCXasdocukVpwXKoCKgbdQJmawCcINxCazRJubQpWfXqInkfoLyXDmZXMdyJFIJatcCfJsawuNfvTMXtijcmGDoNLYqmuybxOLREmehuEcrlXxGVyCwJGBPbRIVlrDRlcoDtRBoDKVvOhzDbqexoiaKDRhrBGqjzIoSTevxOiFtUWXcdlfyVdmMYxCAVnRsdktZvezEvQepDZezELfiqqooyBAzBdMeevrDLVERxkAFQMhETRKXzekClFWpawKtSihrPLFnYwSEzgoVLoljRELHsjBnerQQIGfUwkZkaccwpujEqcLO", "LsxPiEojkuQVvRKGjQdOuUbibKEgwOBfIpbtudlNktFAjgMBcOHVYkTdmUjWpPXobejuDcuQYhHVPiBtSNmCAHBFknkkFQhhPaJqLHqPNXwJgocMjWKRttWmGzppZPSNlVDSRijqEQiqTLbXpgOwVysepOsETLhjGSOJCGeZvxmfUBDmjFVfWMfhnMERWPKFuzwPNdLTSqYerkKRIAKCZgYVycBqsNUGUHlbiOpGiBNYDNAZMmdJOmqxCCjSZlcbVDjckDUoWBFYHUxrvHWRGAuNNRkFJlSTedWUDqsEOrxsWkNtjfIxCuXWWobfuIXHrhfWzoGhZfoIRaGpiruFMooajnePMtaULqyFTDOBldvicgibdRxPhfenAPvWngYvpZqUoAtUFUGyHPTpzjaxUqmRZhffuluKorVaowrkHOAgLIVftIkvHtpAWGfzXTuzzIRSWiHGgHymGyDyBqwUKcFyGcSqorqDjalvKGLzkGlwJASNqNbyhkQFIBhaVpKB", "XaeuEQinOAFFmTaTeeVvbgkrWiNbFawAleVNVwRJvnSCoeRaFEpQtYeAfURPDShYOwbxQYFzeDTKokSFktCdWExmnwixmxuSsLoEKEftXgmmVhJfDulMgwSRsLEgQQEsqlqyBoibpfwGrlAknhvJoKmQguzJhAGehZMldqWxAnvUsZECGyxWnMnlgzKTbnlbgSGqGnHsbIlxUMHzceXfxgJYrhbuNnXvPiiAyzXuYGZTjzAXnKtXLPkMzXFFTnoUyoDvqhMVYDGnmAjPRNKdvjnHNhIhxgdJsYfQlYAUwRQigVyLseKXsiLZLpeBKUsVzFsQXQwrOWHfYUWqsxUVjOCyhtdmdpXHcdiSUHLwtdEYtWxbfkFonBdtgDDDaMycPfAvyLdFSzCDQfeRgXRDFUXTdtogMqXLKIWddCSluNHYumDiiDcHYPGWPzuCMNjTqPnAHVbuZgjpewoaZwuWzlmovAGcJrTDZdPERrtxNDvgcMInbNcIzYhslzOqLvZf", "zMdCyqzENUCAaUqvynfkSBMFuBIAJtnHxrGlJwTYOYhYVaJXPhzjkndScDBKyhMOsbDnJUsJzNetlAZyAWKTfalfvUiyNtqffsjLyeFLkAAWFqpQKnGQXFbtGtvVuldkVcqWKpjNZRnMlHryPEBxvpmYXXmIgHecuDarhOnhaIdWkpajbfYLbzQhfsSeFZIxcdBtZTqcLAMBJHwgOmYiCfzYCDbRbfRinsqmTLoXCotiDJOOMYDBYixFroVJbNrInpmQjfdAdaEtjNMxKsCSMocRpxOVmGOYUPzfZbglvmsYjwmNQKlfYuhrRQkGEdqZYLrdvnXGTrrHznazJoZfyVRGzMZjYijGkPRbVUgroqSNEaOPOKqqMcYTLjyoZshbdqXiTTPvwddaBhZeVwOAMznRNCHqECYqsrxpurabVCkqrASlgkCogRZPfhTTgQicWTkJWVpatudsCtVVnBYQDWMAOEoZUtlvxDxbibVmRPnflbZHwkgHJekBnHiMlsDf", "JbRdpyeyBCpoBpNftvmZsDHfAJBzTfcBVcNaiNPmdfdGiYxHtDzYXBBQpLpLhvPwBlnugQdGEDxPuiFRnFsvyYusfaezFHUXABxZFlQJCBKZyIRMQPdHLlGBpkojmCRidKzptzMjPHQWCEeyaPFjibFAtunoEroGFLYEpxdTGmrohSVEWJbouVhFSeHgCGRNynijuEYAwucdwHmZyGDbzRSeJcsYrFHzEDASjFbwfcSPUJmgIGpgzMdLfdDpBLHhCUhGiDGUbuaoReKCwUYqhIQeBLXOjoumawHUkZOOHDLCXdNqpKtfTENGQveFZmeHlIYTXmgwfobemxBPLJuhiSunSRdemlcvfsWEQkoCzHczhrBMynEUJXUjxYWnPIeKInlpoqlTOllxEbyOMyaVURYIrupTCISsESZOOyxRxKXIMLzzVSqluTUMpwjxSePQYzzyiAYIPkKSQfEBbpccWoqljHulUacOYaJsMsjZHneSQElAEboQVVvwgKRFQaeX", "uxgdjglvbMNBWLwGjfEZQrjnOyeBkmcMyzGGolVBFiYkuozdSNjrMXuCleteUaUbOjHHDomPjQjfNoSMevRVcGyXAlkyqTWvxltAAORJDIaMquchFhRnAXsWVZRxdlyOKVAquxxFyWArabAcmxmvZdiwocYeDTaRbqPJDXwnpGdrbDCaQwBlERacsuyHviHsEhzpKppeXHLGyeFIntYpgwdoKionysDdwueQvcdZunZNIJdlTEvUxZVVcICwjjYmKosBmCtVXquRKJJPjJPjCuLwmHduCeLwfgBBUVjWHRzbCLiUVzjUbNlNirCPSjfiQILFTtCnaJrrYPWaMNFQjFweBPHEBbUlvDLwQGnmkLTdSuJwMnKuOhYZZyPYZoLTGjFHwMYJZoZcOxdIeqKzhPapencWmSbdNGBpRwOpbhPMlHyzztAiCmqLHQdWrfkMTSqkVmzzSrVcjvhNaKYyKWEodzQleqUlKhFegAwkmAslsElLwihDeQFNzsFnoNDe", "MfTbyJvVUoAhAlGDhXMCkCEoucAPJFQjoVcFedtMGWUlxlvaFgqdIXdsuMETVFzZAPAVjDeZffGzQxcEhhHKezcUhtuXjHtLdiJnzUnxsaHhNUUQZlqrGRpZTfSIcGkyLkQrvXOoZLCKqDGAlqWZUAWeBJsyhzEWOfPMwSAyqWcJfyEQDxpYMSrtEnEAViOAfmCWjHQOeJxmPSBCiIVsMnIvoOmGRTDJYtfLWyAtNSXDArcyfekfPGwFmhjLKJudxXhYEDKQkirZpFDcTkftdzSetgWSsUsyAcXCtpnHDDmIScUIKPqkSCQECfFiJOXpcNbPlBVQwSwAgzuGjjQzRWbuEedfJMsnFyeMZtRXTdGpLanmFAIyoqJPlOmKaFJjqklbaQCgPWlkahaCESWDsLBnFaIOYNOKFqAsRAJlwAsUDVfBzmjpLobuBLsRdEUPZkAGigPPqMffSwmbcdtRIRcPdSdpjOsJriOJuvGiVrnyPNXBSPwoirasBDusDtjp", "ThEnlCRKCOeVtcVRhvZmMuJaDftyEPazmvpkzwqArdZItqSykwBzatVLjmtNqOYAfHGPSeNOXZTVfjFqfvEyfyuCrWzCvECZPjhinVWrjHKmKNByIvMmjjAZFyAFBbAhbTGSEjwvPBxBNEfquWlWdyzhGbsbSRGMwEQkuwGeujscKjrxrsQPWeJEQdyRQZDihuTMcueeznEcvbPhHOFiAfCPcBVoQZyYGmTYrqbnkFgoGgKNjLunbzjjgfeYbrFExUMnHfBCTWtfjmuYIilYgSoXvbqULmoftnLocwDmyaGfERkgLnNsSmkNtDuAxVZIcYzfnKJLIFnCKtHwWoOpRZOdyxkxeTYNrzcrQOnCssAKRIlTICghfeHCqMlCErYJObapxsYTNBqEfCraXCIfeDDByFFlAgQWSpFENzuYLqmmwSyrXsUuplZEnCDPwwtyFDbHsZSKXOBKvPxjiivSrQgbZZlqjRZeMxVFGDUopAyylXJzpwYFOFSYCaoQDTvr", "ecrwzWinjeDRaDYJbswRgkAvChFxxtscKUJaRIgCVQpCKngpwPMdSWsvAIoidbvgHfDcrhZLMVDrTZThbohhzvutiDGCELtQMEBfABhZpdBsxQMDWIFmrONFsITNWmnWeizRcpyKMZxQwlkZtedSugJoLxSvtMhXbgNOXvcxBtXSyOALrsaGukhBuzeuvSrjKaCyCberxvPObtbsgETBcYjCgSKkdLpdnZeAXWySEDRrpZZWANHJHEZbZMaPfZcxvgxguQPjhscNwwUmFLOVHPdEkfEqfAfqgAchCCwzVcRSmmzHOBETstQaUmvIrecPoCoPvqOqEsUHHBsJuKkOibBvIQitAbSceOdCXhljobxvPWpPcpJXcPowcBkkSuDIdzFANGRkMYQGYTiojhJRXeiBApClrMFacZJfdAFZlWucYWXGhxRLPRlOFUHSVsUJjjwIAvAwblRlbNEnMWOiqbgkrNHddFYdBkchsQLUUOyotmLfJpCxCPghSINruLGG", "KdOdSHwPkHGUGgFABIlLKlRpAtCenIekudrKReBRcGURPUrVbKPbeookgbEVaaJGxmUXoCiJCrymgEVYbGruPOzybaAZSjfcwqvONLTdfEFyUMfPCNQVbCjwaVqnUnbmkooWsXGFiDVGHxJPkgyYmPrwvSYQuJYrAWLYNBffQbMVpqpHVNAOjhBSqowYJFvjSyScZtXiyHnnLkgIWEwWDrnjgatRecgtuKKLnPIYCovowaZZgscimtyXkXXQbawFRYepfQcDxUocYJoaaYXlANipbCREwUkFjlsdZdyHxeTFOhsmfRHchJTCjZFHhlLKkpKaKKCvRDBBArXceuyCiNgAYpjcIXYhknfoEVHESBcrcSlmRNrYnNCLnwFAElgSjqCcqJePrIkeTCgzVPwmfAyrnEkPfcxRHAKdHytukZsHAFIwmUEBEHjjQehzHhRDUXQzwRVJiSWpLUzBUaYjdyIlSfiTmcjEIZyArnxFKKAMIKPsKXFVKWxXAOJcDXjf", "ieSkmbTRkVDBvSOqbYLaWMWHyvmezTmQJIvCULTMfszBZnAJucnrEKMJWiUSdgvKtMbixCfbEBRLRrhtPmpzmKLVfkzJIOStliwcxlRBrxzjduPAUfcaFUAvquSNgqgceYHZfqSWrxapKgwDzjdNGxQiQAFsazvftHArxHZUmHPCBzbCPxYUFTidGURWcCNTsonwstBkfEsqcuwDgBRPQWmFAKzSBeHRvFqlDlVZROqueCBeIiDjLvSyHKsigRMtIkLcIDHDhxizUlmdycFMlwwSBuWarQnbrvfGGMGLLPgHvMymwLEYhRKmTdccfgvQkzdPVEAJrChxBvUvQfNcNMaKfTjxpjMPjwEsnglAjufSXzYsIDBFhdBTLxzXdsmkisiJLAhWGBvZReIklOkBFPaKlpbsMylORdTcNWWJqJCBvhGwljNombciyRKFRbYdOaPFOKncRQSCsVcmFWCtDpZEqhIlqCsiZxqoOEDOdXuCeHQLhcWGXXdFgVcdlvof", "RPDwHKEKKGCEZxYqTOTaprLtZPkAvNDfViuHxOXUekmskczAvZbHtTpJSvRORlvdGRkOTlJKhdZdpvTaFFAMIgeDAWKbVNZrhmWYFHGrCpZHjMfqtxkdicyQcmXmknfbQAHluedWNlKadsRyitiVSJjzZUxMmjSQAENUqXhOhMWYSGkXakgODmLuYOpPQdclNRKyuqNGfMGYkeAyHgWOIosKUDtxBXnthHetNEjCbbaswtTbZwpqYNVqtJFiTRAnVKKKzkhvJOtEgnfLkPTcSntFolsSKSsCKJvevrdEwKENvCnrEEehzgIJjvrTVxZBqABPGDoCstJYjnhgZwCKucvxCjzHNcIAqlWHMkEiKwDQwErkyTPSFXPzqlOWdjWedPATTthjTVCcUstyMfpRyaSmiQBidmKIsALmPgUOHxuzsoBhuuZNrTKYwVNLQHFavoLcYVgbcnSQbUQjCPcIMnynbNRCtpgWiCOoIlkTBiWsvOYMesLektEuIwgoGQkU", "kMLFgDqXgUnoZavBcfRmczUKCjKjqtAxnCKcHNQzvZUnHIdhVYMQPCejLobOWNZmwHHoWyShsQAzjspXQKVLbqfAeVaKkegaKahANzSOEUwYqNVlcdXKmbUwlTKIQpXPJNzyzjQqFaQskySkCXuqLOGKemertOGFgYuiWiexHnzDHQWkgcRwuCoPHuNAJUhHUvcYEKpwaHPVPIbuDiODooqjYAtIhOABgdVxGfTbfwVroODUZfDNODGMjYGjvjpdMydlCrJNQRjaHdfXCNEqDyeWusDkmuWPJQWbvcNTfZzhtGpaPbaWDAwnWgsbUWkSSOxVYxtqwiPgZbaywDTJaYyAiVAMbZOAlcIKAxtvhxtiShzZYKQeoIoSvFMzAGmJxilVpyGZjyeuQYMxPpmnorjQvyOXIbNyntRkMZxilHfoFgDjfrbBJEdrwUuMaVUPrNLwRhiToNuXLovuMelVZyHHdIQjJvqnZCgXaJrLGSWGTKwVsgHQGfXfgLOoPJeS"],"c_array_ipv4":["gtrEMjDcnV", "oYVUZoIzgw", "ZHgFxkXGEh", "DXTcyqvpUt", "BwTxYczoYP", "qFZQsedhBT", "RJtZLgFISu", "bdZlofsyXT", "DpLTpEdqbC", "ZERBZKnUEn", "fRgCJtsRPK", "TCIQIiNaSb", "RpOfrdVeZy", "TXhaqkxWTH", "tFIteZENLg", "HtoPcWdYYn", "jTsmIkvaCm", "YDFIBmXtEX", "VctmDbBVxz", "yECklYBLLC", "xeSQEqKjCb", "nhjbkOVBFe", "nZowSruUCS", "NUzpfCNQzu", "DoCMOxoctX"],"c_map_largeint":{"c_map_largeint_1":3819073737939327905, "c_map_largeint_2":-8038356501032940464, "c_map_largeint_3":-7794656034741750538, "c_map_largeint_4":-5007561892638585307, "c_map_largeint_5":6112530705915341309, "c_map_largeint_6":7472176528288405394, "c_map_largeint_7":6241455726402193250, "c_map_largeint_8":7236513599709382122, "c_map_largeint_9":-1453225782357682357, "c_map_largeint_10":1199466515420217739},"c_decimal":21.1390,"c_array_decimal":[91.1064, 99.1768, 97.1844, 53.0598, 61.1338, 74.1958, 55.1620, 86.1970, 66.1695, 13.0458, 94.0836, 48.1383, 75.0479, 75.1390, 48.0185, 54.0772, 82.1523, 58.0089, 34.1379, 29.0494, 94.1486, 80.0073, 53.1345, 67.1849, 96.1204],"c_map_double":{"c_map_double_1":19.407417432014174, "c_map_double_2":77.49168911938008, "c_map_double_3":41.9953709226398, "c_map_double_4":9.175961732942799, "c_map_double_5":57.20796486847079, "c_map_double_6":20.2169818010295, "c_map_double_7":81.07983888955408, "c_map_double_8":1.6555377390341612, "c_map_double_9":95.19182549403205, "c_map_double_10":52.688874164832455},"c_map_char":{"c_map_char_1":"bDUcmPrYzU", "c_map_char_2":"FOoGAMGHLl", "c_map_char_3":"bYNGVbEFAB", "c_map_char_4":"ImmHDxSOJB", "c_map_char_5":"XQnQSIRvaE", "c_map_char_6":"xhCFEXzXhu", "c_map_char_7":"wdfasovYNd", "c_map_char_8":"DFGrPauncy", "c_map_char_9":"RXtcqzhKlU", "c_map_char_10":"cJkymInJjX"},"c_array_largeint":[-4251979210842140199, -9077095901607978047, -4061138209609911814, 5730520741363299619, 1528414182935444892, -5351618413975778593, -8969224828239676460, 7656237080013358100, 5162491904714983576, -4672032815677254585, 2237908209396544350, -2786323357248300091, -6723589690492443513, 8312959159211017858, -1799868078383233810, 5263256663045261839, -4719949918620948677, 7351363204015998863, 4208661872477661135, -4727059013569991431, 2038675557240976981, -5056185501260945495, 47325790587358192, 3104048066034040208, -1197429552173876436],"c_array_double":[14.186445538570652, 44.413825438798604, 51.17151132587767, 60.807982817537024, 51.71501540115715, 22.929170573835176, 76.43464289980919, 59.100833040209885, 18.115608843025417, 41.5715059798513, 29.453233367403424, 98.05557334222046, 54.65455953488304, 88.13950816155923, 54.452438910856806, 57.61885103550655, 45.57100420848832, 66.82872227217206, 67.14153483660007, 0.5897709962247324, 63.07298418412184, 36.355909204845815, 99.50973197950097, 48.77465696907123, 79.71637110512185],"c_array_char":["pQmSvQVMjq", "LTSndpYiWv", "DvodqHWLGI", "paFzfnnNzI", "YRgsXaYpaW", "VShxsSzIhV", "aImmtXZHaQ", "UuXRMZxEfZ", "axiLGkHdvk", "igmeDraIXB", "JupnNWLdwh", "ZWNHMNnurT", "FKlOSVZrhM", "tJvOQcMftv", "tfJCDNwDtN", "MsbzoNUVvI", "USBKnyFmYw", "hWwqEHOjsF", "MfelfAxLTG", "jLuaXUpdyA", "ywfmvuQLGd", "oSKwyhtzyP", "qxcfQMQdaN", "SVCULuRpEI", "rNeJKjRKXI"],"c_array_date":["2002-08-27", "2018-09-20", "2015-12-18", "2019-04-20", "2006-07-21", "2002-01-03", "2004-10-28", "2006-04-16", "2015-04-06", "2014-05-18", "2019-02-12", "2015-01-15", "2004-06-18", "2013-04-04", "2001-11-26", "2016-09-15", "2010-10-04", "2000-01-20", "2004-01-17", "2010-02-08", "2006-07-04", "2016-10-01", "2014-02-24", "2000-05-06", "2003-07-19"],"c_smallint":-13415,"c_int":-1001920918,"c_float":99.71708,"c_array_int":[11472920, 758641533, -1014406178, -606495607, 1925697958, 1919294518, 2037751766, 1215399181, 1123228038, -870813679, -1248832088, 2071260394, 1933919560, 1352875015, 820855520, -708021653, 33117197, -1649944313, -730429027, -1473603503, 1890316958, -1424294685, 1733636700, 901839411, -1227864974],"c_map_int":{"c_map_int_1":-124894276, "c_map_int_2":1733167461, "c_map_int_3":-1954690294, "c_map_int_4":111663983, "c_map_int_5":-329816004, "c_map_int_6":762260273, "c_map_int_7":-1123231171, "c_map_int_8":-675941676, "c_map_int_9":-922513034, "c_map_int_10":1158558722},"c_map_datetime":{"c_map_datetime_1":"2010-07-03 13:08:45", "c_map_datetime_2":"2012-08-26 19:01:28", "c_map_datetime_3":"2019-11-21 13:09:32", "c_map_datetime_4":"2007-07-14 18:34:49", "c_map_datetime_5":"2001-11-06 06:20:19", "c_map_datetime_6":"2015-09-23 03:26:54", "c_map_datetime_7":"2018-06-13 08:36:56", "c_map_datetime_8":"2009-05-21 11:34:02", "c_map_datetime_9":"2013-03-19 21:30:02", "c_map_datetime_10":"2003-08-27 11:29:09"},"c_map_ipv4":{"c_map_ipv4_1":"168.192.86.167", "c_map_ipv4_2":"207.178.236.151", "c_map_ipv4_3":"177.110.166.46", "c_map_ipv4_4":"104.241.75.11", "c_map_ipv4_5":"239.220.26.82", "c_map_ipv4_6":"37.118.179.20", "c_map_ipv4_7":"239.167.220.46", "c_map_ipv4_8":"11.173.202.65", "c_map_ipv4_9":"113.28.56.235", "c_map_ipv4_10":"118.75.94.94"},"c_map_ipv6":{"c_map_ipv6_1":"503f:1e06:8747:cc31:336b:4790:b33:adfc", "c_map_ipv6_2":"66b4:a874:797e:3ae6:9d1b:a538:2412:f4ad", "c_map_ipv6_3":"c687:f88:abcd:4e06:db1d:dc0:cb26:c3fb", "c_map_ipv6_4":"3f9:3835:9199:ff67:88db:aa56:8f27:d0e3", "c_map_ipv6_5":"8d1f:fb07:56b1:674:4502:42b0:f1f4:f886", "c_map_ipv6_6":"68a9:dab5:2c7d:82a0:8cea:4613:31c5:3ba4", "c_map_ipv6_7":"b582:83f5:f8d6:6ccd:303f:f8ac:d885:7ec6", "c_map_ipv6_8":"52ad:63da:1eeb:b396:be4a:1a9d:c701:474", "c_map_ipv6_9":"570c:e4b7:a52e:e19c:8435:da8d:ab2e:1db6", "c_map_ipv6_10":"9e75:5f7c:e7c4:438:2250:1c63:553f:5638"},"c_json":{"city":"Miami","chromeuseragent":"Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_7_8) AppleWebKit/5351 (KHTML, like Gecko) Chrome/39.0.809.0 Mobile Safari/5351","verbintransitive":"shake","minecraftweather":"rain","appname":"DeepSkyBluepad","productupc":"066055851027","latitude":-66.610821,"pronounpersonal":"he","pronounreflective":"themselves","nouncollectivepeople":"team","appversion":"4.9.17"} }','{ "c_int":539466494,"c_varchar":"would","c_array_tinyint":[-60, -105, -56, 99, -39, 72, -57, 5, 84, -66, 127, -120, -29, 10, 25, 89, -108, -70, 99, 87, 32, 33, 112, -44, 125],"c_map_char":{"c_map_char_1":"QKXLRPtFpQ", "c_map_char_2":"pnQRTSBNlY", "c_map_char_3":"vRhHIqgNxX", "c_map_char_4":"HpVLFMGVFS", "c_map_char_5":"TqsYwdZnMS", "c_map_char_6":"ZnCqMKKyBH", "c_map_char_7":"qEyByQtqcD", "c_map_char_8":"mjoESdAqPJ", "c_map_char_9":"RococgOlth", "c_map_char_10":"MCKNYKuaUg"},"c_map_varchar":{"c_map_varchar_1":"LVeJvytnanalrXOXyoTSiJDwJQzpNcVfHgkMBDxmCHpYQxnsAUTOzedfIonVVxmyeAdDEJUruJmmNrYqwDrCtxRByVjckgLEXtbdoHRrFXxZAVgcPBaYtgXWyYUHtgRwSaBgzSBkysPEplmBgVKmjQDksbknwklHhxAYvcYjoumjcSUxRmHJelpiWwEIdrwozjRBnaaHIZugAmaoxifddCarQuhCVBGTUaKVhjyTgtZtbMlczaQuRDgEihXYpqnx", "c_map_varchar_2":"BqsGhPjDwIBbkYoVHLPbvjlzflKvCIFEoVsMUQWgUbSptJqPvkUdixspeaswzgKzohtOMealLswJVTSomjReuwUiCouLfCZssFYjtpvgzaCfKMdjXQPUxGFPpMgIwxHiGkxkheNiThEOvVcdSFeZkuTqLBQzYbUWcfPkvRctfeZSPhQesgnvRJiwFhRTBBbVzctIZNMqKJVdSxqflNpwSaLaJCZayeOGOdeRcbJYNJycLxeDimsxVPFrHBMoTkgo", "c_map_varchar_3":"NKgjGGDPAVwtHuPYJDVADoqdUaWbGAtbuJfsEGtXtIBhXnfEcFcCREJBOrruhJTuxqPfxxeOBsEUupQduwWLutWqzWgmbRZHhGCCtMHJjmNKkFBIjZXMmtGAggrXWwzFZJgyMDonxQcCTOdirjFGioBfUCivKSSJkzusgvbcrvvZextexJMCaTVmTzNBJifMWQlXoqhoxbmvkNCXXQuXpnPqtmHDlcXWWbdRJDYOhnkZlPGdiImWtDtCquByGgCT", "c_map_varchar_4":"spkTaXYEulpufHddGxORJUCqoTDMRlvnODKmzrqRbaStCCLUfNRIumbQGhkUKBHVkwFlFbsrdNIsXfXayGJDoAnfkemjaAQfDqQjQJSizTMcPzXgAXWzpIQGfYHtkYJZVkEoEjrmCIGxxkHMNevayVAMEDooscEbpygRtHXBZpqoiINyYuYbtBCsYYrMOixNMqDJDbhVrdVNyygmdOFDkFotkPkTeVwyeIruPnjmRuajHEHEfwFNBzPEPVnzTPrs", "c_map_varchar_5":"ejjxzlKyaTFWjjGwkLeodgvpxvmGIlcEQmBvsuohRwKnuOgkRcrjOeuIkOARlYMxOTjVZMGqxeKizCskkYhAKxYnzNLrPRvUzcvoYGYpoNnZUUcTWDTCCSvOxQSggNFQnubebXkkKFQRmRrvbMQbtZIKxwuZgTpPdYbZIirNyhttZWRjQGeBUGinnLIQSRBYemiMVaubzDESdLoBkYUZSTMnpRygaXsiWsOroSNKCOxeVyZThNqtgWBtITmgzMim", "c_map_varchar_6":"zarZTwOOXSuXvappgLFbwSNtrYtOUDdFGbZPCzYwlSTcBFrOAvTWcSzYBjJEOSYMDPSnRfwsDKWBntYDfxXpLQlMJKhscdigxKGwwLdZdueCZdNVLjGAEnULLtnkwlpuxgwGXEMmAHcwFJXmDgxjnjzSxVaMAwhLRxQBZfORHCafmQfCbCFNZMDGZqVnfUgCzVXrJejsdYrnXrwilxewLJVoJtLpZmjmYLMTCsgMSyqvqJWARICrnKTpUziUMYgD", "c_map_varchar_7":"PFRhZzvSttiomkCjYZZamQeCuGIOQwMgCDuNIOntHWJqjKYwKkWOjgnRTwjoDNVWBPFOBBLWzGyRsUKJKJoZKqFqpEryfnbNpqPAiSFCqZsbREsPHSIdqPRaLAgpWRtsCBIIpwOtsQZStyTuqFHxnsTzcuBtvpCJqOAeDCsBQltRSwWLUlwwtCkWPCvysKlufzrGCRoNYtesBSXHpdWjRoYKvroMVaXCpssURCQUynbkEYYcFonWPRIFfUhBVQVi", "c_map_varchar_8":"BbPtnzQKBenkIJmLdIuycIrHLDzByMJelyEsoIsvVJbuHqGDqmPAgirYHSiHcMaHFNAVQmVPCOGZhfSmIXGndxLzePCfWfFqJqKkYvLkiLVaWYUhKNIhXszcnoqgnPdVjnnQAtCepskYWsZvbRfCVtGNPtxayKPemrHYRNgiHAkeHXRaGKktOSaSWfRzIcLxDUgnQwOvZuPkPrRFJNcIgRLhCqwQOwZUPTVKvfDgDAbwOSypSERphFqKWKZrwwcI", "c_map_varchar_9":"syCaoZAoZagpjAETfeaaQfCkBDMNqcyUryDLMcMANmOZMBreEtwUffbGMNlIXWJfIyCCCtpskmCYpmMPDYBPZTESOLhasGWdQXddHKOmRfpIqbkurwLxjQkusmjNvJpxYywWrUxRRzLxGrVMNtBIjtFSBIGfbHhQhgYmxwoQoznTfTRqoFkUZRbHErtkzVlvBWacQoaanDMHxqfpuDSsaWqOPAMANaMVecYeyelYwPQhPgJrkhURrBNaUzddXgYQ", "c_map_varchar_10":"MapvififKdTlnlnLdJyIIKYrFVknLDnByxbRfqKHlhCrXovCqGENhcptfdpgqapSZQkMANRvrdstOCUIjDUviTuhZYvOfELsRlnjhZSfnpedcAZCUiveIWEMgCCECqysQAzrnZJehaDzuCbEzDdOiBzmrTWVOAZaakLJpwDAMWyyOuRsAMkwTylTDBMwKEbMAvEHTjOoparQkkrkLYztCxPcMXiKPnYQREjuvvpaMoyWyeczbKyGJatGaFoeDbiU"},"c_map_date":{"c_map_date_1":"2012-03-28", "c_map_date_2":"2019-04-13", "c_map_date_3":"2013-08-07", "c_map_date_4":"2000-11-12", "c_map_date_5":"2014-04-03", "c_map_date_6":"2004-09-22", "c_map_date_7":"2004-08-05", "c_map_date_8":"2018-07-10", "c_map_date_9":"2013-02-09", "c_map_date_10":"2011-02-11"},"c_date":"2011-05-11","c_ipv4":"53.84.9.176","c_array_string":["GrUHJIyZZGWyOyCaQymBvXUDxUYcmcdcmFctgrUZLbTxhcpKcClAqOyZULUoklYxmwJVIZMYuMxKyDaEJUwsZlQTEaHpurFDQixkxxJRKNlfQmONlZuHLxpSozAWpVqucxLIdztxOuGWTOEnyiXGsAbRbZpYMOCUhUkcbkzMgBAtwvZgFMtdQOthpbKnibognntLXvvdoSMjetCSklZntKjkcNSqknZACDAwnrWhnhjjzBGjMcRQrrcwvzdIoWaOKpCVtzzlHzmobMuZuWmKlOWjsOBZrIxHjiInzFdKiLbDxabNkyWRinirjppnKEYSicNApPxugquCMTImzSBOacKLPkmmpQOKhzICFoyHOWeFrahHyhWkUlSQoMJciLqJufxAJPwmcTJfedNnuClBKPpLoeWCxoQeozExwVRwXQEgfVkwUnAsAZzccKwFhOXnFiadUeuGOeJbUKoIiNQxmSSfNnbmfZtxBiEzTflyyFTjAXXzpEciWTXQQzrTCWWJ", "gHzWYyrYzpGldxAZrEdDsGNZreZaCpcheDOLeqaHWaIthuismyENckoCCtAzSvbiJBRkgdHGStkBOWphBNVtIfetUltpNlYJXvKwSAIlqmsFAkRQUhrWezHpbSziQyCvvelvyHXKbwgDlAeQzlhrSDaqUYAQyvjdwjdrVLUgEIOHuZPRwWsybzsusDVhNoOSIPHHwSSNzaKUdupXUOqXECGCaxCohgqzcGDtyRYBrKhkJIKMTTQgbCJAvXuJKDprXAbuUBcHbfqVxwOOaJLkbsqehEthHzhWxECrNhYYmEDeHRKLJlMageiHSITEakVrXeNdfFSbLoSTlimECaycUOtahhCgOwLlQfRuJUagnYVClfGMSPnVboSOtkFtpzcaVRzlrjpqeuUpyvdIJdhYGoWyxkjuOVuFxqIFTflEUXqRKwhkEFpQRcaachiJInRarswWcMAKJPLvdRNXcLQelebExCJYkXmczgRwdbNnUsvorgXBhrPRJfnEuojedgYC", "iOLCbvNZAnSIjDBClLrXbipKWDmfEFxOIVEaPhfICIZZNTQceyHpcbtxzAJYequKxgHBnCKFCJFDYwvFlPATVBRRibQWsUKctpGddDOFcNcZRqMGhhMEFtcKtqcJsDoKhPksMPHRRZtvmtwHwujXAzapldNfQKAjhqBlCKEDVHhvwnWJaJDSUhjQzXonIyiaMhqaAjIgzuzzQJxLOOJoHQYtCEptRRdRNMRVeQWOMiXMHYRTJjYsONAHFGhEEiFALMwEWgUcVZnRiNtdghSlXUFZifcXdGPvcbGaHnjDOzDAwzYoNqMETJDlGuEPQYrRxBNzmUbAkhiftkuYJumQQFlEXBaFDyNJbQEqUJwvqOgICALMVzOpjeatqjEXfUtPevmFYYdeCxnrLTRQHUrTcRAIuaTFYWxwyBbjtaceSGwwtmCrtkETzqhslSiGOVBbgjAROFrSCAxudpmlGATbQxhlWskZCvyiuJBjdItkbNlhoLCPymojFfaravjiCoSy", "wdzDzKHFrBYtfpsxxUDWEeOurDEmzhGAOaXOaJkkNrGrjKuTHezolbHxhouEcpBoiZVDwTlAlLLgJxKhOQztGHYUsZKCQBRuwVabIGHoBVMpQSHLetgpMXXoIKnQUPPTmJRCKXqvsHOfGBXvwPICBKkimQNCCjaITsVcIexOsalVgPzMeeWfJfRmwseCWdHuPMXvSTBFmYqnCOKVnNxyZBMIBkdjBgYQKgnXRsIkbvXrktCLlCmESjNEJTucChNHDBZBVlvhfUsqCjJyGONBhaFFvPmeRlmQJTTfJboYkhtguLvGOvCdqBgFwLBduxzVcTThVPEcihtzNXCSwpTtTMOzagaQmZXpQTfsMGlzketTrlNReQWOvfNzSQvtPrGtBySgWBBeqDfTuCfSblCHINQxIsqSzcwQQFpcZkyjJmpTkORbgWqTFiEIqbiunXpgShEIYeqPSRmsudTAgCLzeOWuPkhkhlLBsPjFQfrPnaHQEYVsKUzUuOKrurfxCjgk", "QolLXmGwpGWePBiVKepLZqpDwNbZaUrhhNpEbxEsJZsZKSzkQGTAoGoGkZtFBcyxrqeSmxqUkyEnwtQfXYwFHcTMxQrVMtSFfmuNPIUzmgtEJdBnOHkAiDeypnEBpsXPEkXZRreJUUaPHjbXXOGrciRprMUtsitomZARLGPoSdUiSIzBYHbmxBLzvjfqqEmfPNsesMmShtMYZxirsGlMCBzjbBLhmbuSSmnqExrraOdjvfowTyDVFruGGsUpSgGHwziAffLmrhnyUyXYqJWEIpSHtsGpfLOAzmwdRtBxojjsDdwEyWqrOwUunUGYMLoEZeANegHBOMDeQtDFqBOgkUkMWjCqBmUxkBkbQeLLrtCBqstuzvuwkHKWhVjUIrRofHkbjPlqxKTmiFwnKWnnMBDGYXHvAIHGbAgFgNdPZqavQaNOpLadNwPQZxeadwNdjxdoFVtRQSbjEyxVELMzcmdGRPXKIdZbzJhxEUyMpIasWuLqkCjZWsxAYdYxKMOZ", "fVkfdcsOKMrkMfrNyzFEdgtozObRRmevMWGNKOixXdNdygSZdDovPNYvDbEOfraBMYAlsHkhxFYQqtbYLSKHDDZdephiwWrpNxGyXxMRTewPVbKkKtvttwUQKeLGYgBVfqpSedpQTVmqBpvGPCyxhQInIvbXjIbSBefNFSatvFDpgpCutcVqfQVmBLHHxdRqRWRXmqffWIvOnzVcmDBIWOAlvUNfXBqmhBZLfkWDXkNekykxyvimCBVMcpPMvWjEILsfAjlvbwvmWdXucLByvKEdHWLafkQvduMtomnvTrcBPKcMuZWoTeKNKRlQvmdOffAYdwQEbXTBJIhpJasquoJtKSofEAiraPyPcuTGUanAkRGArCxKoeOgPqFCXjwFccTVtwSeGdNzIvSBqgocZMlDZxBAeuLJvHWIVnnjiIDhvHkRqsgmkzvahHEhVamPjHpUZkRHtkrdfxXKsxdevdVFaiLZUgvQQJgEsbcOAtyLtTUypIwQqmzxkAAHXdur", "eahBsyzoHpExVYTvPcjSXOpkgvuAHgqpMLRjsHEntHJDlctBpqkVtJNsIuemgvSXkMMmFUvnBuFKAbpDcLlxrzyOWTqygVgFQOfhOjbuMDyouPIclqVcHPsFOrbsXDExMlpkShjEsreosMglosUcpYWJpLltvlTNLLtrAeBUakizOjZmRVyyPgfgFJYdHniYOZsrdYGuuJNzFRMvsqFzVNxNeZjtYlLCkLYAwebcTuBxUbadzEtNWzYeTDVVlEOqPMEzeValFdCCEuJopmTxMNgwUlCmnGTYxCQnJvhqwTnYvSCTRpImsvfaFhKDPQqDMEblHUbqWDKfvPbHwbJucmDkSHfCWmiKFQTGObmyhIJkLmmpPshIZDtiItTrQzWCdBPrDhYwOfpKpPRjCrMpitKlBqUyhMSiwihyRYRdKsPNlrGODBhrLynSfdNBGHuhWVXycrMyGwySLUmRRNhmdBmiVheSUzgxiotEOcXRFiiAKrvUtHkzuPPzUuKGSHAk", "yNAJNyVVHrThxyCtUpZcHyJVbfSppKiHteavRsNrcVUGdfMJxrewvtZGUKTJmsdtKIYlfyMGGfDMunDjepFTjXXTsptIddMTILaekoBAoLXrSmHtjYZDpdklDXXsgdKvLbYsuhNoPeqPyNYcoTmeSjXCstyvcWUiizHHSmWMdJlDmBFzlNrmojXKJJQqIzjVgAxCscHEvqPqhorUWhWoIwWlDGSebVSKryLyewtNNFfOIQQBqwjBSeAlEFkhxTClLmaFQxdzTjwfejNkAtXhVNtjiqnGcelVfOhauVukytoLmOvhMTgvyMAVpycvvnilGpnReqwthcXEckGKSfAElEPTGYvqPbdRLbjvILzWbVBcUMzPumuzoWPGgTBHbJhvwcnxuZGSWmeCYiQkRemwMOXwkEKtVIMQSKRgWGydHzIOlvrRscDeCZCRQuLNXxBeBuytVTVdhmdAhxhoYSZtmQjednuSGWVsgeIihWMFVXXlTivpZxyEwarbxgkQiUBS", "RUaaaxXJrpyHxZmTPIeAamYcjEpgLPPLmTXjzMMlHvqUqKMbdvfHlWApdutjhjJbNpwqhLqvvaWXQADyAMVZjOuStxoIKCZtXPhflrYfBVBhPfcBmUTHBPSMCBSQeJcfbXyJxSHZnrScgJaRKUSUdDTpTpgFbwsgTanrpHiZJduLoBOFfXoiESYWJnMcqrSZAhOEuZphYVWJvIUkBDqGZVAwEtHoMHpPtmXaOuBUngPXoWwndGiPqTXWGrsLyrJfYPkMSJpBCHwFUpspAcxrWDNkLFdiIzgjSfhcbsKMKLKRMSkNmOMaVVLnrcvBQpVCNVunDtWXpxZYOLaiMvJlOmoslJmDqOCrhxJUxMgMqnfyuWzDWbqbYPoSzMNvjAvJOIeVcDdwVODbaaaRRZnSancnkDIuafvIDaFtHehPtGrUukBhyYYHaRnnITevecODcTDrNjIySjCVIqqcuXngCFnAlfUkZQayrFMTRYXjjMcZvAjUujhtTgtltHsjGTlb", "hApdVlagXEPyzIxQZuAHJMkShDDSPgPhgdzXwJflPxDuvbRIBjDmEOANgkocwVPvlyiPAsUBOgERGfpzwEgrcVTcYQdjbETPpSaYSfMBRczXztCfFnHQDFwWqLahwnwIQOHVpuEXejUhUOnnkmDaXjAtcKeVvzEYmmHNQSZTYXzbEeZxcgdIpFRthHdrIEzhIkMAlbGsJvZrpoaCHjjeIVdFkeIsapkbQEabMMcUKxfreHXLYbLUaQwFNmrWiRUWrOlRxchBTZGFCaWkiuReOyJMnaTLhtoZuTqqaKYiOPjVNWPBdOYsFTbThKVdKYAjGmwvwHMxQxTzQuzplAUpNmgEXPihUPAFwzQXZJkmmZnXukhPSPUmEubGpTXwBWSCUYPiumYPChQyZPyrCxUfZJIcENszVPRwVqQyhWYWtuEFglXMTsBKpYqlXEFPCbXImbYcribPmhmMWFWKMlEPefwRUMmdRAQGAEVcVttTHmdqLSiVQxdISNEOYpaooybg", "nhzBvohnVPRlWlzheSUBbiejSoxztlhHPBqTnohsdkcqLuocqOxNhmqFEqRdUFzowYHWFgirFKXnIrQEZOFOjipAUhnYRzcqrvKoXsGPgqBnKMDeilEhyAVkRuScLUQxBdQxJgFWcLswoOwpZWoJndWoCZhaaKvdGRLGPYVDqGqxsqSpkqRcSlXnEOBwHhpyRHiwCzGDGQGyrEkEiXfeqQIuclcfyjsBaEOsDnhXZQInupqmETRYzFZXyXCcKQiKIzIFogkBWxisPmfbCIfZwVBgDxkwWKKSbjwEXepYpLOqqdCpAFqPGGSiAMLcGGRqjnQhKGEjTsRUsPaRFojhUNJetRzBRRuEsqvsUnNqxqkfHhIuNxymfOKITgZtajPLdlaZQmnsqTpMucfLXYfbTXgGsscZEAHLNGyufalYylIISFfJPAOutqoNmXoUOuxDIRiXyZQngJyRGEOiObwfchuuAtYcaFGweCQLhGAWRKtFxjxmcXUCpWigCFIAmFZH", "dFcebYVbDxTelVZvoFPbGRNkVEBNqZMYTxmWuIjoVOTDyCSOhKzyOvxFeNsrTTdocWsrHlokgzmDitbuhpDbHnOCawMtfRlcfElzNcgiBZwqTISpEivuMUkmPYkcRyfAPvIogcdZbSSOsYKFOLbJxlEPqucCpCuJYQZeBIfxKJvjAEpwTsLUOouFYpdpCyyTsxmwrikiVvpiihkWNZBKhTCophqwscPOBkJyxLKiOFrAHHlRAnvKrPeADgqHnJZmVICdUWFbQiiVuhapdRBuQiqPrXuatcpjwYMkNEkyzllDJnOHBuoRTsLJjpovlUGzXirKfHroqWFsjtzooPWwualdyYiFeJPXKXIiHeOISGAqZIRccPHUfanpQtpfrwXrCspqxhavPBhSfEiMQPnhTMBouChWBuKxfCMMzzCQnnYKGHZRtMgcwNcmvUTQpEJkBKPcnbxMhaawWzOfgwsCHyHoxKBmyHyHMzrzuanzxZMapwscJeMycDmgZMLoqohY", "lnQHiMGparcGJiBuYycXySdHaaXwMkilWdPdfiQBgKNoUtGksvDQqgygPeZWmYxOVoYNutdqceadKpaoXSwwOADnQRRvazgBhEjvqLbofUQQyuhSowaOCImYKOboaWMkIHLfWgVbPUVIckhFVBpahNsCvbCDiSwXnRxTXhPxPmaAWWaleqkaQwGToPqDKGqIeiaZzwDaqxsYgagXJPTIYvWbdVsawgzBhCRSMDXbPZurtVupoqnOdkKwFSjBwWNmXamWOiWUlUXuXyITaYaNowFFPgvOoWVvcDCSgcwmYgRTJqlhwKdcyOyFtKrexehbnyKuBzPnqbHQfVorJCSpgqdAxkYIsbJfmVZmUcQlIZDyCgkxviYRsVVJVWafPCOEAgvqdWlOtPzlYyHMCeCJmIsirevTesqQxgTcCbYsDIJTkkavsGALtsZgnOmEwpoSvlKiAhkaqSKCckeQjqwWrHcwHoJBTsCDWfLlXhMStlTTkwiRXNedFsmtYVliWWUd", "opBATISwiLmaMYPpIcBIUKkdJXIlMVDLRkWlpDMJSlnKtVXcrjJLNhhOQgdEESELBikQGvVcdRIleluQSuPOQNXcvpkzTYGdjNFLCdzvIqcvYooTGIUiBCTAflEcizdeAgEoErplHMndNTLhEdjFYFrRaDwjIbFXujepwmsGMTVAjJMDSbtkIzbZIrVDgawHbvVbodOQxrpwAMuUrjYslYGVELloeLugCuevBxtQtDNYspHzozmRGdIAYPPPgcnrgdiVpAQQxzPxfEzPdWuNiiEuiczglazBYhTeQRWwKzqTICWZeEmrCWmWTSMcESjtKWAVFbAGwlEQSAaTNgICDZCVlYrGvImWUlgRDQnCnmRvDUGEriqsnZCtdAcAFLNTpOlGqykRxrHiTIlQykSzSauIAAQLxzGgYsPowEuoqVzlRHxdfPUlnXWEeDlyanVYueggHNuFNnHEkyDHCZfFiKOUAgYYFIQWNXwDgFPQTRbkJiYqqdTuobWppuRqfAvf", "rFAyfEXqETMlYOaFbicwQFXNKqCNDyKVBGUFzSWENAfgBBbAEDyMOrbTOhumCLLyesWRtaQJLseyTIQggevhtrsyAQBSXktydcewqcwvQivBJieJAhrAjvxXmKoMfCHDloLxRmHxYaWGkIsrbXMrGzreUmCAXvDEpJBsMbLVwDrEIYRDnpbddqcgCxJdPfFdXtaQzdBzfWIHHtOphITnfyYfWfcZgoVrUeLsBjvTNyirBVTeetVMtJNIymrwhRPEUeXLUtaRJrBEmJQvcvyViTCIQVtSSHOihLoOJxevBKKIOSWkvfIvUyZtTgkEgmImVrBXjCGtArIBivUDSNCnSlSSQiEzXjwhGBdkCVuUuNkVoFboCypMejzOpqSrgbHKJFICObglJOIFCOiOzICcXCXaCkHXFLHrBHsPyvffTFHtggoYkYkLceEyKAeaWUJWisdNFwLBJuDTeXbBjxXxaYSmUmEuVzGVyXFwjGIGsqrCkPfDYhCwqiYhSbwaOIEM", "YOFXKZIjHUFNHWbFbRTSzQcmSKeZBhnXEUFTLfzCSmITMPJYnfovVGuVOYAwfrOslafDCjniWkeIbQwoNcnAtdjfCCHOqqeMqblKxrVffzKVqoMHAebkZMyZnDuZKpfcrHFQPMvqOLNXKDKmxGuQCsPllvhztVCHiRsEPZxBlgoPdFKuhUKeyHwrEUkpnZKrlCcgUEmJUophabVBxrGJmKTZlXDNyQBpsrSfSYQKxPpbBOEMJnsRXZlShDVUVlSprUmbZDUVbsYrgDJRuhuOYdZOxNqBDEoOATqPYZrwepNcRIGoFZBhbxUTbUcorANLDMzmhaXMvepsjRMNzNDgGrJFTakhncbezIfTIbyyDjLYJMnKwoBkMbDRzyRNCXkmklJHlvwSepxQRQfnUgHLGtjSEsgeQadpNVYCFygHmlYUtHhawAqeqnydsXufABsSzNxtFNIHDnBKprdpgumtUDBecdLgDTTfwinjREdwJDXSJfIHJWhwfsuXKsDUebNF", "AyfBeMhAvFcJwfQfLMFpZHfHIEcVKvpMFwMOYsXFSUUvdbBjZwUDoajJnwdWDPfOcIgnLefZMINWonqBXjMtWttyleCoMRPeFHENZNJKfqFcKMzJIqmcIVwdOphhBGMaJnPmHZKLIRpfDJfcYhMWNNTiDTgJevNKWdjRUZVqLNMMoCtpdNheSdZCfNoqUfJBRhfeRdYHsJDxmggPgLKhIrEKBatyzJUPBojBFHfudutTLsdMNYFVDqNghMHaBrALrCNDCdypWNHYvGxULNQyIxvmddLtfSfBDfYGmoQQuPnDUDkzMRJegnARhzuehNQpFMAAUhqZmaIGkpKjNBCzxYNbzezvfEfJDOCDSnEafxMcpoBWsricuKzxHglmsdgMjNQNOtyJfgzdrQqFVZWAEzkhynimypxyeOcfuPSzUFRHMGDsbBbtSniDHoArJVpJWPJEoLWnzKGsVcJWXjPhJJXNxnuXfpFIMCyOcwVsCnCJEEIyIlIVbDPRVsLIrIJb", "yHYDNGcKPvJplaFjzAUgSIHaYVSfVtgzygHdrQaGVyKbaApHJxJvWbSJwkyKifmYVgsaFALbLUMYyHiWzoDsjMPSPcJGmFWQWdGgZKElVWbWOlWYOlMaYQPeINBrruehKhTXkIsOXumSTHTVETowBxzUuluXfBDMzrMhiyQxVjUytkOgglwWPMBEEaAkemwcjwaMEfVDyQlacrkPZfqiwPtCfFXUMrjXyjzWLrSgeTkNehRXXTdjvDffaIGMJLlnJPSDayRMLncTWlfaQfqyLxUmcRePyQrxAqBzZVEbyXaiyyTNxCZBjvmFwUeBPXzPCiMijUUUqVgSyYcfJelmEZhRYsjKyncmfHEkUsSJwGYekzVEITdOAfqlMFJZmRjoBZRodXMKtFgvQqeLAXVnWzXEAtuuYyvONQqVslsHDxzIEqoKuEUheZZGfDVwRlvVoHcQYXbHlXktbYSXDBfgTveFFWzLSPEAfkwlVUTycGMwvPlcJNlDUqmMBcrtxITA", "XrKjfvrolGaaZWhdvDgrOKiSgIIaiZkKcxqaiRJEfpPWoJtYIhaiSPqTPUhslTvwAJfTPgtlTfbhBTMIDKCgVizUOxZvyXQLKBHhaRjuCrMNqXwCjlbuXWHwsdHzDCCetmcXsgwsNDQwsuTNyFwbgbrUpgxhvdCZnraBGILUzUDiDMEHNGbhsuxcStXSxkxSTerhjCKcwRHOFXMwVZxXAiXGwiJcKnpdJDugkPexNXVpwIrsKRlYJFgCDTeiDPSkvHnhrOJjjjrklXsttSEBJMvbtpMQVrhJYKTCFOwviTXovxBAtWvnSOfMErGkxxZhmGTqEEAwnDhmgGwcrzpKhXuTIFwmiOOsLLFCIEIIBfWKmectgaCCHMQWmIZTAPqMHfSAVivEMZZosoeMsKjoAWioKvQiDkpPhsiLpsdHkwkwzckZLdvfujDaWXAakmmHBpqNTIIZrPHtOnIOkNYOegQPuJVZkLQjIAmLKjvvhZzYKXfIjkTqevthTngCRCXa", "hzPeyDdCNPobxGaSKYSpjhZtaSkewGhfUXMwNLhbtJcpLuypeRIGpTWLIwaWTTQVeIvhtTnYqTaOfkqVyyczinDiAggQkxEUPUUZHXmbNJtqrbBJREucKxbXkAILbmpVDHoroETdlDzSICGyfXFhbVgVeIEAqanfFpqgjKzxBcQmffuEVvaqMcTIYGgUJcYxmbViYExilRRaSyqWlhAqnCaHDipgILddKBlpjjOdlvIecriCOCBLasEcsDUwOdBBXdDvDYVstKorPssLRcfLcKVggWaSISesXLPpXpMfBvDKAGTruaJnSmVsYLIjdXGOSynzZDFHswVApwPxwDKClpRSAHuUJOcuTiPgdsQsqyrYWfvboazfIKnYBEsqcgOMOyjOXBoyNxcnkaDHIsUTLyvFzqykkhVRKHlvZPZnwiQURpvQiNNMCDCyFxROOGDfntLbvoxJIxdYPJKsUmfikuxxoeGokasasegcJZrIhsQkpDMoxxjZKtvMfmEsNpmD", "KbLlEvMnIXxvknFRXdpPOPHodjnqSTGRmNlqbVVhVWsimAiWOfkCtdoiPCoGPuuXjJqzQDBInZWUypqOCHBgSNxgSXdPTjPaTKwLjDfnWDURrXjDyhrtsoXXoxDpDhZsBDocdqFRDREGWRBopgzZWkIYqTtYxVDezSnhIwomGfePgwlamhrfylHkIYfNwTQlEpSyViySVPniCnlVzkvzWiSwoZCxGyfPIFadGRbsrwKbsnOSrDWohaaAwoaIidRgHNQRYPHYtYnarZtaBkrBXcWRGvnxItlOcuyeFFogBziwNkGfJmEnnonKLltPiAHNbmUZGsIoVjmIuXySrRujGPPfpWfnvTQHzKRLrOfOPYthBmdORJCpTgwibxmMqyBvlhKFfnLAhApyKjfJJcBoYJgOYPVUBvxtryvSQRrggSpMQITEbLZdCUaGiuCgPdXyOlawbCUXMFZBeFdgFDLwMPyOklDjUROwEeeTvWxiYFgtbhyHxRUKUWgsnAExkpZb", "vLWpAstKfOtuZyGVZZpzODHcCKBjVgdkyMEEizCgeDqiNOUdEADwTzUeZvETXqUFnSWDoLRbvDKmRBqxEWqlFZUMlOrKqjQCsnPskGLBknPWeAMkyecsuOYfcIxnDrtUpyaPvIulZhtGNYSWeQhipOBipQRtRBJuCSKDzVmXZdlIBtyCFFwVHWcWUYLTtUqXEzIYQunevDFUHuVgjopNTdLXCoximZzmIGaqJtFLPLWPrpaDwHkqrefwOPfrjUkWXJTvSTYCwUdtXGGHEkLnNZkVQbnpAouPWfSucRkQyeDfxFjabqZdCBHegzEANWYCPajMuCITVZEitaetiVUVvNmqrkmBLSILlAyjVjQpjXzDBAcRTRLnySwZSvJBNjZUYUXeLCTVrpxiODmeYPaEUZzkbHzGzpWevyVQlhtKqFyqSVthIuyCGFvBxHgpuEifpzfaesYitzfEyIcWhxPuQXVamLoXtsqnixGgoosjCdSzniIarFOPAZpZwaJEcnqu", "TZESyXaysVPhDsrGKwznlKEYfbguJnArlvnHWRIcEceLhPZFvEScRvJoWXivfddCJisZkJHymRyKRwUAGydYxRkJpPaLujCIYcOQaGtOnOWouwPdGMClYlVNjMuVUEkNaqYWEtlIdsPSBSqxgPUQyQIrLbKNkhqgPsWIlAhtQmmcOIUVltxAmOXWARtvcKEYstMetHVawwNZEqaEdEzWzHOfjBVRaTNrhMZwLMVpTOEgujwhYMEsHhUNzXRYvMiArVrkeTNfcCEIYangwriHuBEfXxfoDXqhutCInDAlATZYxQjIcVTGvdgQYLUdLyvLRLtIMfJtpfxAFeEhZbrqQMrEJgFrbrpoHbLVdlKIwgjIXqAqVthvcWLzHHvIQdEMAMzCvLkdvmkfnePbVwSMUtWdpTSMWHdymzpsqtVbcTwJRFkidmlVBOGMQBxAUArfddvNeEbAcSdpooFqPoIEHfPZMCfOuommqjzXLtbWCTwcySWULGBhlYahrmJXutLk", "dOYmsyanPGEnHFCXYZNpQPTrurtdzGADHGoFfMsNkUIeAisbzBwnFQSuvJmkOWFtYjVJToyoHLMxFDnnJILMhUmItsKLtbyLiVkELOaLywAAFtDBzHnGKYiwJxNgKraYIoodRLvjgqGQivjSjuIPIxwBKHpYnBfXzKXpZgKakacAgCPReZYYDCLfHKOXmKaFjBFPPUaHerhDLvmqKyQoyYpLENoduduZsIYYzIFDvOwyuMKvlOXrAjDxTutyyIJUXMCIKkPyGzeaqDRqbhzWMNoHroeWRvgIXJZOQVUASmnLopuohuyErggxVRShSEVkRdAiAxxkONNjRwlEqmuReDsLJsgZrzccywPoQKNehgpIEgVBXgdIIpZlnxQkZoVdEowFLBeXjIwuZvUcECfPIkTCYbgpHDmNFxHkTxFHrrHZpFPLKKkefpOznOtoOryBmjariMFjEgGwsjPAIpZfBfkNIhtYyTggXyoSGSoIZieQvqzWLWxZiMfOoLOQqADh", "fdsgbqwBVSlHaBsqHZpImcOZcIErvHtGTvAxWuYTVhNdbxWxhviJpURyUQWtasxrixqslcWBhfHGbHdBGNoJNRPdkppojbibccgEqswPuRUpdKkprHRHZWOiSLCzsKdfyWyEjPHGXJlERdrounKBOPQuyhqpWuQyfsvdChzmDJJiJeaeiyPpIltKABHQSgHCuJCXUKbpBrdTXdwrSkyIMHhRHqxIwufyzbzRiNPxKlaqHBkZyXnSZsypYHXYYEUXjcJURMaVWbJRHlCDBXXwcZtDHjyxjYCwImxLIDUsBLPjYyRsQTSuoQhCVvAlRaKPfPqbOZGPkWwFPepbqFdDLHpOvuSJXqzqkNIgTxsKCOcJGcRdZqtOFFhbBNcYEAfDjHffqLEsNeuSMdkUQQszHRNpSxRWfhnfjmSQGWTerbkZxQJTiUDhCngGsYiaoFgjuXXoSjsJswZIdOcBbPvVRknigcWWrlsxpaIoNndyxVqUHKGvINPPSiJUCuXpBRYy"],"c_array_ipv4":["HdUagQJjhd", "QrxyqkpviR", "cUDJMufeEn", "VVfmVXnkHY", "LoKLlEpbeD", "fFlytKzdhP", "VaYchkbYsz", "EJDSZgrnTC", "PTZZXwjoHj", "uRNFPoJklC", "mKShrsMaIF", "EerTVILMxd", "sGzeqMsPYU", "ygcSmzOPRz", "bzUdQImcaf", "qZfUjxvaZU", "tENrYNtywm", "nkccGEHfbi", "SUIGIlMRDI", "ntdzGSehjk", "tNKPYHJzZB", "FzGbiUHXra", "DkXDdqgiEL", "dBnBJfexpf", "WijjAnSjei"],"c_map_tinyint":{"c_map_tinyint_1":97, "c_map_tinyint_2":81, "c_map_tinyint_3":73, "c_map_tinyint_4":81, "c_map_tinyint_5":-100, "c_map_tinyint_6":55, "c_map_tinyint_7":-5, "c_map_tinyint_8":2, "c_map_tinyint_9":62, "c_map_tinyint_10":58},"c_map_double":{"c_map_double_1":32.604848959836204, "c_map_double_2":47.86560008308489, "c_map_double_3":31.897765421224403, "c_map_double_4":23.958142945546182, "c_map_double_5":21.74667739389781, "c_map_double_6":26.115866614125032, "c_map_double_7":83.59232589975319, "c_map_double_8":97.6381501482773, "c_map_double_9":40.48918359578431, "c_map_double_10":82.1109612832191},"c_bigint":-816044561086716614,"c_array_float":[16.413544, 79.106, 21.566933, 55.00402, 84.91226, 71.130005, 98.998184, 56.33322, 5.7423534, 87.729324, 78.70913, 78.64975, 65.68376, 94.80528, 72.28281, 33.216045, 84.92613, 77.01142, 72.49339, 82.131905, 6.327491, 29.590563, 16.53848, 91.497536, 100.717514],"c_array_double":[90.74709816609595, 28.52065310486517, 78.20804278327104, 3.6682260546037693, 49.624329098271716, 73.10805764053443, 17.58716037631341, 90.66910663080058, 71.63128932497632, 22.817415176787286, 47.34155506709837, 81.64544415519151, 0.24978259593979876, 6.988440817097928, 18.066364366179755, 5.709157691081199, 88.3806901492521, 52.154698973077295, 54.37603847351494, 85.55240941219144, 39.1801012205972, 12.48202100226223, 49.83940479761265, 76.54134950477659, 44.47498578171961],"c_map_largeint":{"c_map_largeint_1":5465026126365525213, "c_map_largeint_2":-1153851483871183006, "c_map_largeint_3":-4288309470511908906, "c_map_largeint_4":6137887982060974258, "c_map_largeint_5":-3638873942578506835, "c_map_largeint_6":-3255482346474866307, "c_map_largeint_7":-6077477962101033541, "c_map_largeint_8":5693024552960301940, "c_map_largeint_9":-2999060739235770564, "c_map_largeint_10":6747765169676588735},"c_map_decimal":{"c_map_decimal_1":90.0677, "c_map_decimal_2":1.0235, "c_map_decimal_3":84.0668, "c_map_decimal_4":75.0655, "c_map_decimal_5":50.1556, "c_map_decimal_6":15.0144, "c_map_decimal_7":52.1765, "c_map_decimal_8":37.0959, "c_map_decimal_9":61.1321, "c_map_decimal_10":92.0718},"c_map_ipv4":{"c_map_ipv4_1":"39.38.14.91", "c_map_ipv4_2":"90.72.184.129", "c_map_ipv4_3":"105.6.167.187", "c_map_ipv4_4":"157.12.17.182", "c_map_ipv4_5":"198.105.37.54", "c_map_ipv4_6":"52.5.150.61", "c_map_ipv4_7":"205.30.67.138", "c_map_ipv4_8":"105.7.182.22", "c_map_ipv4_9":"20.108.129.89", "c_map_ipv4_10":"144.54.108.9"},"c_datetime":"2000-06-20 19:44:37","c_array_boolean":[1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1],"c_array_bigint":[-7531717439650251091, 7544342740330449581, -433945553594604269, -4360023877852687433, 3047603243530801090, -2119236188664844188, 1727775079216535679, 8279643539151885237, 283694838839684852, 1534342399643759814, 2325267006357208443, 2540403356781585312, 3045174350553383656, 6552688034116947667, -4140024021776542968, 8129937302356715125, 8908047990400387164, 5037583284297236796, 6696705909656092454, -7104514214604229391, 8902511570715043989, -6300575922492569418, 3695736299809034274, 4173498218492099416, 2530355649542940585],"c_array_char":["ERFkfvZiJM", "GVsfsIKbaS", "rMfMWWDlHj", "jINGRxGMbU", "DwTMzZmmyY", "VeAlEldmcO", "lOqTkZmXxa", "iYwThcXCBQ", "ttLGoETJGX", "FsQLejfPlJ", "GkJzxCngtu", "qnGWYEfVSO", "XzOvnCxNUQ", "TOdlitTeCi", "XENuXexizz", "DQbhejUmwV", "wqAnTMnROn", "zynugETVij", "ZSpuCuzyWE", "PcEhhFtdiV", "ZEylsFOiwh", "OgRKBCkhbx", "TAQLRyDLJL", "pUQIfXXatf", "whPnITVFbK"],"c_array_datetime":["2000-02-17 16:30:25", "2000-07-19 23:03:02", "2013-04-05 10:45:35", "2001-10-03 01:06:39", "2002-08-13 16:30:42", "2018-11-21 03:59:24", "2002-08-18 09:33:46", "2014-09-28 08:34:40", "2011-04-05 13:54:56", "2009-06-26 07:58:41", "2015-09-04 18:09:25", "2003-01-19 10:36:07", "2005-09-17 08:38:00", "2011-07-05 13:14:45", "2019-08-18 19:22:14", "2012-08-20 05:05:36", "2010-07-22 01:04:30", "2007-02-21 20:04:29", "2000-06-26 01:46:11", "2007-11-20 00:15:38", "2002-04-22 02:21:46", "2005-04-24 20:02:13", "2009-03-06 13:15:04", "2013-12-26 09:58:57", "2007-12-28 06:55:41"],"c_map_datetime":{"c_map_datetime_1":"2007-10-13 17:37:49", "c_map_datetime_2":"2005-03-26 20:44:57", "c_map_datetime_3":"2019-09-16 16:42:13", "c_map_datetime_4":"2014-11-18 20:57:00", "c_map_datetime_5":"2004-01-16 15:17:47", "c_map_datetime_6":"2008-05-25 16:51:57", "c_map_datetime_7":"2007-10-06 19:58:26", "c_map_datetime_8":"2001-04-11 15:20:48", "c_map_datetime_9":"2006-05-22 23:54:48", "c_map_datetime_10":"2012-05-03 01:01:20"},"c_array_varchar":["lZRFJcIhXecAPELHdISHryvjwUAfQqziSnAEXqUrVjgxmPWfqlPmhNfPAFIosbCTKlQHBaXLOfSpkDqzDJTYCehedPVXDZJDAghTPcbRmfMojIrLcJPxdDlPZVtJkYMCVKKmpghpkwEPkOspWZuvuNEsBuwADraAqrLIkpvwBPsgbaNFihCGAwodwaOdWBPWQLMeiEogXjpXQAJxZZQYUrinmvrDbcBrJFUBvvxQkzcewbkoAPEWPXXUACUmfoOG", "MZuusAglyVVCJvTNLehoMGsULsBzheMolHedvTwGUHfSraxMvVSFUSIqYysIGeNUVQoTUKLfbiDIMhEdIeFPQJRmcWqEdkrGxbZAZDwqOPLQpZFkQqcgVDVMETckeBlsFKJvHFBGmurTipFzCuMgEZDJCqHiPsOWvCaEoEtiYsCgWfhfhWhKrqCMeRGSHVMoThnEKERdTLMxQRkbkJvvPeOcuePUzhLHSxewxTVPuRXndfvvTQBfskFIzklnfbNI", "CPRgXNrEdBjvwamfnpsIFzOZoXQRneBlPvMJytnkodgPBSjTqZAgNIiqgNCmIflDrBLZMvLdfgoqrpkGthpqYgGnssVirUJvwancVgpRhqklATFNoGDCvGGPbMgOUNDtehEJmbhdLCSXmEvqzTgpWZzMfxhvoviOmjJnnFeNCCcnPdcwBZVLPmLrWpIjGHJYQDGiUEVuBKDcAJYnACzMWOchzOxzALztxQWCOoeOYVvuwKxTLaYtVTtZOCwjOHCa", "BIIueIcUPmpgfSslwafVOpUSQiAFWqSmOsVgpJneAkNBVDORNMEwEWrcrafRmPZctcynKFLvdnVGyvOckkOiEaQCnuwRtyiCJLWsymQkjpuIoSxMqNIAmUBJyGSZFFbJDQkKnsLsvsYHGQgIXagXjGqIWbKjuEjEycVeJIpAeDqpOiXODVwtEBvFEFyksDvwvpheDdOTEfptmFTXhzyeRuGdwscKdnzHiGIhofoAdrhQHjtqIxGVNPLUpoVWyMgA", "UyUhjfidoqFzXcDKDmAcjWtLkaLesMlnGfiVgiLfsLagDKLXMZKPtlLeGMEzTWPOiAFZHPnHDAnzclloKDwnbpdMTSeSZCkhXTMKIIxOrsuSwcbRIMlmKAQuldTeqasQRXUZBGYfOxqSHjOpGBAWbzEDsrhtQbkdFbJMMgSEyFNcnyyOQtPLFIxvLRoMtUPFPauDRppzXxSOTfhqCAJIxMYLCZShXiYPbNRzCjDUEbQIenxAmYHZEdKKxwDCYGZw", "QzffPtDjTXGqiWawDVjFcLjieRbjdxvoQqZSGsgaYCZXCIpCQZHaEMAcYfdCCyUSnyNbkpdybTuEIPWgJBQwVWKNzDNvKvnDNcMmvxkpCgVHsNGQrfCBhbBXXAZbKxodjKbdHNkgYTTMWvoqyjmUQHVOmwyIMbAzIVHuINgikpbGbvOyBXUIfFrvVHhevawVxTmkIygCPAfUzOHdBIulHLkNFkmNnqzKOosmAokJdJREJHcTrNrzyRJEyDizINCX", "rQSllZZArDfxHPpOWIpJIoDXmgBKwzkyjXnkjtXRjHAnnRAgPcIVCdANNsmJbmPnHZLkBppXKnDpnXvHzhmVvvaoFDxxhZsywUuvjZfWKTTCdsFwMAdaUGnhztLQUWqvOvCiIQMpqZANfKVAKmNcpgESpCiKzAtGnkyLXHcmcRpYRKzNHrRHLTaKOqrAepfnMzcxPZoYVgcTtYsVnPkBSDTexmcwbxCifMutDweYTMKGevvJmlctWBYRCZGrJtRx", "BYLpadpMYdeLXFYCCNeDQdpnCTXmSXmVbfjsVrTfPyvkCHUbnWlxSKuTUbpuUfHvGniKueswbKWdnfeNhzHcIgkNmsZnfYtiPGmQorLAIMlzjXFrBHXUudvvfGJGFFEJhRjfIohRNZpYVRNWMBvXLakdtKaTyGcQAEkcSTrmUKuzKRvJcVVUPrFnQdBOTLUhfpEOYxHdKiTLvvvtyoFtWXIwfaLJHrVsKYlNWWDmSxneNaumcSWesxlZqNXpumvq", "ophtnOswZOdABXTLrAZudDXMFjgNvUUyNxrtkjVHzZFeeBZFsPevzuBTgeMMyUHocCkksOLJOvZGZvMPFCnmipXEUuKVSqhSrVlqIvaAbMFWKevUMGVEcoASkpyKQPbbwxkiwoRGhRgqdJyCCbCUSaHGKoVqGQlBbzckwKhVivpblwhLZnkCkmSdfGSrWoOZyYmkctfLxVLMlPrOHsGBZkbgXcfSMFdUNZkdlkopxkirJfDdizBCfLhODeQbnmsU", "DahlogItKriYPFRkxdjODCvoqWZChlWZfmptLjiujynBRNKrkQRxXgSqJCFjefZHELPpWBCYOKGKQkErhKzZRzOTZLfcPTcolZbRWdAnwcMnzbzFYlymvkCTgsqVVhxXhTfXmKZtbkUEwJpLzsjVeUTIsTPSYiXkMCjkYUaDLmClaFUBIyerlXMCPdQenMjzaMeshlVBaBcSrJdJYMaCvgaYJhjGWsbNIQxXVNMCnxSHjZRYPoUCjasOhDpbSrtX", "gwHQmWkTXyPswBSchPKIYsMUKDtwibmuOszACNwcCSMfYcADSKUOWfokcpSAobYpRgCROkPaSIbFsBCzSteNZiRiCHeGvwUKgFOcHIOgKNbGJdFwhkbOhLSvrONgIrwJvSvUcQQTLueGxWeUjsvzHMykwIfTkBxZRxouZZAvlHVlVnSRKHGjHNkzROJrJMgDQHNkJDGxpypBWySogTsYjKEIcavEwhVoPcszGnGQtOIHyAimpVKnUVWXwuygAwoY", "OHGYiZCxKeKpBFmhlThxKtXEgFzpdfeOvgoXzawzxVrSyhUDvPQancKIDNyKPVepxxkEVKGnRpbXaVIXMpPmXlEkfxYWlfuhYlWdVSETmekSVAbvSExJwYTppliSZwlmjPLkkYqVkELKHrUTFsLFggWvFAkjqYNroMTXJbnJsamyDMTdlZlsOTCpfhKWHPepxSesTHskMAjOhvekAqCcKKimVGfPhXjBhgRJkLAjEjZhOJhzXttkJMdXRHSxkNtt", "bmVcvAvDKkpAAzKDnIikBhIyqGEnaDORoykYpxvDMCaPHKQLOPxhoWebLMPhuXkxYaJdrZZiOVgTUTAAToZmRUWrisXwgsfRLafFmufQssHhcPOybZYKjOpzpbthJHGjRJYBFBLvtleJjkHlRloGwRbLBOmQRBPaiuqOcMROsCdWAdnQCTrYAGtIiKFUEbWBVvHcjhlginewyxGJeNwNBTuAjMxthgLpNTXzjeVBQNodDrEbeQHUCDYIlVwqzVXr", "IPoqMuyNWiSJxtuiTjOkWeztJnDUbXKKgBiJQYxkVrMjCNtCUiPzLcMQavUkSigKKkFFzzZWLQNiQEuYSOkrMoyBBpwDQSnLesAYFrVwBfBiAWiorIMfWQGLsVOmHbMcipEQDdrQfhjEFwHGdHUZGWtpnqqTfjQBAwAJZlGlfLshwaAzRhcoMrgCGMztaaAYBgPaZINGCxcAQJQYoSXpMawReFyzHBxWhpapHypZxokszNpzIRqLrBBinSPMddqP", "RRQptQRlOPHDLVouUwTpvIiacyiwbobSSqztsqIMPQuXWqfypZiYSyRUZBQgxBqQTbsXdkwGPcOpyZvVtbBvRqebbxTVTULJLOWImreJevwidkjsnrpzoTaCoMDLzGoaaoHKTqZefgXGGpafSVnckqsatVLzCNgUcOtYAsMBrwYKGrJmAIOvJQcepjEOCunrgopbIgPFUIDanLkbnVdbQjoIsGeQXgWFymGztBjXaFqxAsYazfwvTRrOigMbHpgc", "sUEbczvMXtucdCoYiIYDvggXmYuXtwNrASQTYrJiuVQdcvWvAbgMbXADIuqWHGsuJWhiWQxSZSjqbTMYTIYqjoTJKzPMXLOpnwEJJZjrodXuuDyswSmXYuQDgonKHPZQcIAAklIqlVhzivdvurlesXqWaFnylugkRnjKSdHdHkplqXRCLECAYkqrtpnWAEiucJywZwLcabqkBKZthMEVcmvHVKTDZAMrbbAzRXHUfEhqpiyvJyolYICgadnmExrb", "dHpJeDqhjJAQhzbPAiBkeqGifkvtGoNKQawoOgPWciwTrcXicyNBDHqPsRFBGdKUeewmrMpkbErYjzRvbWKKOYayFtxIqbQWhyBtQDUkxtkJqgyJsOsPhXZTdmOzgiDytBWYUcQihIciLEddcIstXkkMYpphCONEDFrxHAqBImspmQvVQCuuLwvApUIFNozmIQWVogYYtKSVzsSqaAehXjbrdmkUdiSpUPcerLFrlNKeqpBLxMeOWmDcAXENcTWK", "FVVRPivHluqlmKLBJnEqHWBglCIiVivfBhTRZAEVVDIHGplPlnRxsmbFeJWIxJCJLqGwcLrAbDjZIHDYuvMScDbClymwqzYOWZOnZFdhNftTpZJHgMfZnMbxmEPTSUnYMMyafiXnSMjODUIcVkLILFPwtAlFuNcGaqjqSVikQxawagZSkrOgdkCCcgORJjNAucBzYsWgJVMnJInVTlESvRhKOQosXHtMgpUXDYeTztVNsMkkbdJvHXAJwXhNGoIy", "AyapDlFDdoOpdjhQODjnKEtdAMOFyQNVeiflaOTWLDGrbPLTBvXcJsJIHjagHolVeQBlNzJYUkwBcgdYLNIdRycGrbXzCiSFhkoaTqfCdKVAnfiLbjJSaTwShdRnTjmJhIQZFAjGmFPOCpZxLFGkOOIvHsUDJpMREdlmItclKhZHwbTtMpPtUArpoLkfmribEULjSdjINOYSxNcoVdMIdwkbrztpPxmdUJXRbfyFZIRULpEsHAPEwjaXoIjjHsBt", "PCUuyVEEzddjMXedCmhhExjtvbVaUwSFklFXZGJDMeMiHDfxycBRNGSPQUfrTKOviassMNeehrzfZYuvYyvwcHWddlAUameJhqgURyuXQfsEjnJxlrcDdGXPRbQmOIzgzLAphakiHXvNfIUxvYDWqYFbsxylgWaLLZcFumswTffUFcIJzmyTMzqPOReTRbGDvBPbBaEsxCFOorVFgbYgPfzFNezKmkEqWQtKOYSlPdSfRrGlMuXdTnwedjBjxBow", "ZhwJICrGgXiTtaJTxGgIcoTDnqZGfgCzAiJWlDARlVDWXqLwNmITPzPUMjMsNobAkbeVbeQjdJVKvOFwXrcmDsWqGscEbavjJUwGghrrZfNdpYPxvJpuDWnMmNZfwTwaLTUNwArUnsBDHbTVipAWiyQkQcdPMDxtuxzlsGkbkfxdsBGZYCaDARqfrEvOyWHDJROEsbTDbQiDGXbWDuopQYPurvHDaSlXYpVJszBzyxRRHUijpTeuvoypplUGMHcO", "bsACXjtTqXRGxkCmDIFxNVZfqTCITofYzVZfmYSsFFyRvzBHpFTujWEgBXJeVrHLorXbNuWkyjoOAzhJdEGZrYuMrXxggHhnppnoWPJpwnYZsafxUTIXXjOrqavfventcRyFOHCisBfovQGZOuzdfJvfQKzFZyqLkjVmoUlOWnpWXJOLWkXaDfkxNpkcbCkHieAQMPlaNGUNOlYJrklOLXyCgCevjOTcIVSawpXWfnaRbLYIzznRXoKoJIXeLGRZ", "BXhQXCJkbGiuTzKzxLBYdtObNoKVugqUCyXeSmSwOlXmpbHpnWrjDvKuFrQcslHwsFizGUetmLQPiOvJwamvmZdSIhqASZFcOCqlzzAQUASxjztbsjoHauXGfItxQxHIWXfyPAzXhQuyGHYtgaVkwZqIRvtdJBFvnIPIjoDgIsPQkrHpDfgjRQzLGJDfLQWPvGPPHEJzjcRHrFqPVYvupWIsmGoElOdbSRddoAmFnWNELvnPsTukMpQIAmjpjaVG", "sHXwOQvkBUXBVHYkmMBuBnVqVqVuaZIagvPFJFhFvCnTrFxsqOvIQjOmVxtyEMvPosaVAygoyGaLPyZamTAETAUPtjgqrVvBhCQVMDONUcJBefdVkShmYJFZppXhzwZnzYQnJZqHYZwuMJULgecKdhloBxXzZTYlHfXtjhTImKqPkNWaJKRMgvIGmQpGOMPYafgdAjQMWsIUAkMmxNqjpHDfMoVrrfAVUpNIfmLyzLuexxCSBlzOSxDBTpDAPLjU", "nQBbYGUZwFIdEXUGjErBRgZLWUypgpoNEhncCoupzKXpBreCoRXhiloRrtVVlhsBnwPzyUamFmOmWabKyEEgLsAVisRJLMpHDPnEvhCcZSzHRmBlAkeYEhSFyfPPrtkWaJAaoJGAWUSzRsjkkjurAzplsZEudHdbHEfDdpiWpCuLoXHvoAPnSghzmUrakxcvVZWTNjRqjKDXRIAPGsaRnKpnHNCXLEXqsILMlutCwPEsUXbYQFyapZWirjsNCHry"],"c_array_date":["2011-02-06", "2013-10-01", "2018-07-23", "2017-09-02", "2012-09-23", "2009-09-03", "2005-02-05", "2009-10-03", "2017-09-05", "2014-01-20", "2001-01-10", "2009-10-10", "2018-10-08", "2005-08-15", "2006-12-23", "2016-12-13", "2011-01-10", "2015-03-04", "2010-07-08", "2008-04-18", "2001-08-05", "2011-09-26", "2012-01-09", "2010-10-21", "2009-01-13"],"c_boolean":1,"c_smallint":4151,"c_largeint":5944057558147129215,"c_ipv6":"8806:1bf3:9479:dde8:46d4:58a3:83f9:ec2b","c_array_smallint":[-28945, 6103, -2961, 24960, -7438, 30706, 27470, 12687, 32172, 25635, -855, 20225, -17043, -29430, 28530, 21178, -182, -19927, 18681, -17499, 30662, 14339, 24398, 10982, -19326],"c_array_largeint":[6926651403612407923, -1333613689142177438, 6009019268484915810, -8801092955659409923, 1230237083572714692, 5846560209347850014, 6667977006606276823, 2645789174421513915, -468241660685122249, -1994388002025837912, 7563145926733026989, 5051905009045502617, 537778054865336206, 9104356222498500963, -4293830287275330137, -7522607957086776492, -6796602791764807923, -7462986676040558095, 2527172142070381522, 3940182226225175593, 9221034346682208829, -1595118698525307617, 8325943596207988788, -378080994058159605, -7716785312480293216],"c_map_int":{"c_map_int_1":1904362515, "c_map_int_2":191165844, "c_map_int_3":-2017749298, "c_map_int_4":1418673929, "c_map_int_5":1391759897, "c_map_int_6":-1952728153, "c_map_int_7":-1243063666, "c_map_int_8":52693884, "c_map_int_9":839941344, "c_map_int_10":1334619252},"c_map_ipv6":{"c_map_ipv6_1":"520:30cc:bfbc:1fbc:8402:2913:b9f9:4e43", "c_map_ipv6_2":"f9e3:c3d1:d8be:b324:f728:1aa7:828d:b8e4", "c_map_ipv6_3":"6866:c689:f98e:d1e7:b747:22bd:d21f:449a", "c_map_ipv6_4":"92de:3dd2:55ac:449b:1d26:6322:30d6:b42c", "c_map_ipv6_5":"10a6:e1f0:40a0:e9cc:582f:44e1:23b5:1984", "c_map_ipv6_6":"33d7:804c:c294:5aed:4d93:f477:6c0:d006", "c_map_ipv6_7":"b1eb:b708:cd0a:7888:dc86:1d63:a5c5:6dfa", "c_map_ipv6_8":"2e62:892e:8b79:4843:e573:84c3:af13:15ad", "c_map_ipv6_9":"dfe1:b53c:e969:c5ee:452a:ca34:322:e134", "c_map_ipv6_10":"7932:b781:db1f:378d:2057:f5b7:c00a:743d"},"c_float":38.015312,"c_double":8.77994798103278,"c_array_ipv6":["uhXHZZcdZf", "PafyRIvYAV", "dxXbjMWUHW", "GHeqVDAoCg", "gtCNTJUgyz", "xEqqUEiIst", "OnZPzPdHag", "sbCKzWoxWJ", "ZxwEbIpvfo", "hNMHIizmEX", "posIABMOKw", "yONslxjMfp", "izjKGXRyhg", "iuuwYnHbZR", "sQhTifjXAb", "bnuiPJljjR", "JYtrNWycDr", "IQRSSgSbzq", "jOMsJbjOSM", "LhkpFJxcOe", "NfScXoifKa", "dDDiVQKrfY", "iZixJkWLXH", "QsQTeaGWrm", "cctxoJXULM"],"c_map_float":{"c_map_float_1":56.660717, "c_map_float_2":58.738117, "c_map_float_3":52.8419, "c_map_float_4":80.529816, "c_map_float_5":63.418724, "c_map_float_6":99.53208, "c_map_float_7":73.027084, "c_map_float_8":14.644662, "c_map_float_9":90.75493, "c_map_float_10":50.730724},"c_map_bigint":{"c_map_bigint_1":-1200868331027345793, "c_map_bigint_2":-5395999280936703974, "c_map_bigint_3":1499821737811941392, "c_map_bigint_4":-4196390260964824600, "c_map_bigint_5":-6969362934639872101, "c_map_bigint_6":-8916392865346500989, "c_map_bigint_7":6653296591151929835, "c_map_bigint_8":-3180840090666181030, "c_map_bigint_9":7479458934824644310, "c_map_bigint_10":4853284707496169988},"c_tinyint":90,"c_decimal":97.0611,"c_char":"GSTEnZVQRO","c_string":"aMkbJevgsUkDpAwBWrxqETsKlirQromVgoRuylksPkbfwRZKIiseHOvXIxqeWRokUlpulakuEeqYGOHRxynjIvHVQfctzYvqrbilZPqGKpoLsEHhjoZZXsedCsJLEYgvpjeqyGxsjNlEzWAaQdtrVGyHVSkbZjAwgJjgHLMyKWVCIGWrENuPpsgIZEBuilbEHCAlWyowFPSSOHPFtijGznxeVcKBpRhfMgFptXFkLxLdSTCsmOYoObPIjNrOxOCisjMYIDIqPlrzdbSzakSDilGVCSEBkoPyDchDsECBZoPkIjzNpnKsHTJWUpuggsNmNcdhTaaWkSbQckkjswIdcNynVHWGnVVQnYxZjqRvGHaNwVCINHzluUeGsciyvvPBBRmpzOvyEqWfiuWUGiotBoGMJxIBVWsteWTqyOrEajKZizJXGMZkRRWqjsmUdSWObfNPQyEjqChfOUbgPGMbdqkTWbgVjjIUyoBwFKBGeGMFXcwqEvJGEKOBVFEPZhsh","c_array_decimal":[56.1894, 85.1410, 58.0693, 6.1936, 20.0349, 66.0531, 24.1287, 71.0274, 44.1477, 40.1331, 42.1613, 82.1583, 61.0186, 94.1884, 66.0358, 35.0462, 81.0545, 9.1665, 99.0029, 99.0271, 71.1186, 50.1082, 69.1765, 63.1461, 53.1360],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_array_int":[-1417401049, 1789434773, -440065230, 1378212996, -1226638751, 535900147, -1030584686, 674625091, 1353325136, 1318499525, -890489462, 1387135273, -1910300986, -1990688895, 1352692953, -660012255, 642772150, -958493222, 894145926, 781915188, 1308891088, -436172822, 665064288, 654434135, -348905337],"c_map_smallint":{"c_map_smallint_1":-19586, "c_map_smallint_2":-19064, "c_map_smallint_3":-4101, "c_map_smallint_4":-5755, "c_map_smallint_5":-27628, "c_map_smallint_6":-24624, "c_map_smallint_7":-23249, "c_map_smallint_8":-3496, "c_map_smallint_9":1034, "c_map_smallint_10":-2903},"c_map_string":{"c_map_string_1":"KgvhrvwfkxdcdrjQimgBGzWXbcmbLmfLrtBGllslKkgjHxrpEsetbkRQCkKXPMiNJFfnijqIeAMNiKNixfZLoliqOpAIlVVHPQqKLHmjNERtPsynMBHRooZQjwrvzLrErNNpFNuQywGOzjxvLGmrnuTdHdfNvZbXYZNSQpymhBtrWimIcjKVwRWbIYfgJdQnXqjJBxQBIxfhBWjcDvLFoerjQXkHpxMpCRnEPoNwcNQOGfGkwFlWFbluSwvcZslVMSRiJpEHOWxUAiBamhqGhOIbBOCpHaOFEFQnjpGrofUVAkhpILnuVMsLIfWzqALEWYlBbhTlhjsSdBeNhDZxoeeIhQltmeFrLWUadPozfjwqyzXCCqJECxOORNxzwpeDyhVlNfMCWQyNTBWZcPnedCkfpyLmUrWxuysoYVXFYgjljaHPOurkHhZCYhklNdZJMuzfYITqPhnsgwMzmocyRgZevMOKdDWbGnobEuXlBiLvPyszMUyXQyBVVzhBallq", "c_map_string_2":"jxSkCYybKcvoDCjAqYoiZjYicfLeFCCyTuEXkYszPIhSHAklUCjHzTiyRMBbxnLdkqxoOZvaOBxaIgMmsjOwullLnwFMDUwAwbdCDPgbPhoRNdpAvFVgDwBOVQbzSXWWVRrLYlQvPwseLaJwcqOrSvytylZjZQiUekSgxywVIXpjovYRkNuoVSCSLUJphxHROByFjnekFqJsWMqiGdwofrfTMeVkxhVJSAPzSvrejiKhFLDfLTKPjyqbCdYQqpUnaMtGMqwEnCjLfscTQDoCCWrFzDLwrYtLvzkPsAfyLRSuPWvYBTeWoUfBHnwDCWHQxvCwjDlFwBLZTLVMYrxbdcamyvVJxFouVUmFJFSWvKdMNololUuodiOqEHFrtGIIGEZsXyXUWSkdhkzFNNjvROzYzwOHoxojpHfiGUzKbnEtivDuihtRgdgdkFtKnAeqvzwfyKDQEkelTPOkTiJwwpgPGeJPEuwkyGCltjiWrzZYZBNfHWJPykwfBDChPvWe", "c_map_string_3":"GyZFMuBMTQonrWlgdmeJFDaoEzKUuljeuFcVvCklwoUZgYOeHWduPawVbFXuaNUweNDmhQqVZRIYvhlvGtLrkfqBsHCUjlZzVdgtQWrUOrHLEdOYMwjiXBIJUSGILGuUoMtNSewulECPgCwPAmwpHxHlWoSUfawSWsEvKFwTQijjIgKyHgawZcrjUyAuWGvFbKyYNmatTXnOztxGEtObgIfZrdbiJEvPuqUEvWJthYxLXsSxYjtQGDvqmHBzjUHAhzTtvBoObwTvKplPWsIXmxtMTxuIzQuArWQYNwIeXfycytrBKVOALdlNEmGNoHaLrkGcBYHoRgwvplneuEdLYtTJKUCDMujvFZcAvThiVqvaXbAQFXaeeFWUUotdEDzwKpXYQoRlIMrgQiJTJRXVXfsLFrTQtVIhisoZjMkdkRLRolZaEAUGXCWxarCmxyCaZywSvNnJzJrsFAGekpsuNwRBdzPVJsanfJMnsdMZeaewBCCsrYdvvCTvbNkbYaEe", "c_map_string_4":"NdPCDhhORdRzRaLkuvOowMWGppblGsETHySGVAOrSVxGEcufyitSiGvuwBolfURlWKjEDCJticWcjrtxbYBQCWAVrUceDabEafRgmXwNhdJRzybqgAHSVkVowygYDHwopYbzagVzUZrDuykCABVFfPoRmbIDiUecVbLSksFaqMmRsNQKoulcyfjgwxAhkjqmPuGcCyjTIjHrwkpsHYoBqzWLTBOMNDKZTSZncwVvuSzUmFkYdPRMdtermjsmWfORgvFdhzqcVOzQvZWMYEwuwrwPrNjxjjtdaPpJGsvndShrYWylTuBLMyHAMPCcsZBewhFmhCdNTxGoRbPCFFrZNSRkfTOqhHkUZsrSyFhhklwrBwbolojHSJbmBgvACxTGPZmiMkBIDEomDExWVexjOOyDrrSQPUBCNQShrhtuwoXDvYCmTNtZzBZMXoUxLdXVZjtWOhxqWkKEXuhUuXHmTOBhpAAngiKSQVxKJKKkKTMlKyizXSytgstswgljVJls", "c_map_string_5":"JRgpxDrfNOBgSuTATsgMzQBcfLNArMOwjdqFgmCkpZRkgjfvjOccqmpiGrzShJpdPhCEAEkCGQmWdqCePifJNIMeaJJeHkyadddChfgtIwmvHpNlsnIXsUvILywLpCQJZChXJRhJHZqAUNjEbaHGasXJDNhSdYpRTapUlznYBEaYJXEPQKWiniVNSeJjfxlXBtGmsZrZMAnkUaOfAlsGpbAwkxgUELEsIyhmHdgrYOYAekZKHAiNHQkadmZqJBNjhPxWRACKLTCvOpunpxEHaOQlUkbMQudiouVniOoBxNZJQdIOwouXEnJaRovVSLJxgcSGTdrOGquiKkWNXqQOHTZDBQeMHztdCVJnrOCCiPSWdGcKnQwiXcrwZQykKwsbxyGnncqHDyZYRsyRplNMkEMHJtWKwcOaTwHQBIXrsmJyZEbrUlxTunhfCWnoZBMKJhXvsuHhDkrQBhOAXOEbjEFDUGooOXtLjXDuPxxzMytWIGTqtlZcxWLvTYcRWwVr", "c_map_string_6":"SDIdKJaVpBwFWAPsDyVjVZXPFndqqxXLLLLKzjZJhFefoVaWeesJybhivkBKFyCSNlUBdLRQmQZzhatmsNgMkSaJHaymPhtLxpHpeMmRnxMcOwoJsHNNrAUJHAUQMsnSlEVyraykcrEYECMDQDSMnCjlFcxkDMfoqNlrItcukuExvBpVOtqfXrQrmlXliAFdkWXFPGkngUhzNNsjqSwyoxfeavaDatUWMpYsptujMuaCXJqMUuBCjHNirtHIjbxqzARdvdNjGVispMUglPGrWwpIdnPxGOnzgVsIFjkzxIOCfkYbltNkCNrziydQGFsCXWFCVEmPtXGIWjeaiYILIyzvorwRYopvKEmMwkreKEZLqzdUqdPJcfrwOrBmNlLbVcYnMylTLhuHcvmaJLjSHZeAOIBooAfQrvwPluEIqIeSvRivaFfZkIBfVyEHyaSDwEJBMCyKWKOhIMqVGTyVZjIQsBOLnxnmIpjHaWHdZseGncgQzLYonoeufHyWaYzh", "c_map_string_7":"ozCzwrPCiEUApPGMpFcqcitqaDcEOknvSlYggNICzLSlVvEiHQNoETRKVLpRzySYTYthzRachVQGWElejLMrOIiTqiJMuPpbxdfutbSfPFeMgpxBKIWFyKabVeVdRxKfkdCUdXlbxrxfVCldTEAeDekaZYddTiBotyokgvpxuErjXHjVQEPiSxInEDgpKrBUGfJEhudQHQBrwhjaqbEJyQDRgfuAacspbnpcoIBYglnXQwplMpfJxYzUxIbLroGrGcBBCFPyLZaDLxWTsZGoQZtQKEWNhgRhspqBtwasyZEEnUxDnItIaRIQitXOTHdNyXbVQIFOZIqhfBWpwenoVKAyYhxeDcgadBkCHZyDkwOsIJNANQULBPqXsJGfPOmCIeHjhehnjhUqslnHwgyAmrhYcUBHXVwlZffgBIqpegSbHYMywjMlowTPckqiFriHqBYoKKhfPJaEMnjOvrdHxqjjdWlsVXRPElglxriumGJkBzSPZxTGsfURLTYQnHvW", "c_map_string_8":"rgQusnXYeEtvcksNqGxReDPdIDtoKlxCPSTwrhgLHpQFsjMzknkiRnixrpbTUEwHBIgSEPguOVBcSAgBPyCkjByAObluypwGJyAngUkOODkAerQNeEFNIodhPjQJuudZEnXAbvlPoeUaGMpMSxirGJIgUJGbXpIeORPgGnePOzcxbQhTfAPmygCFnxwFXguRWBBmytdAnvgQPPxuUKSlTncLSvtazCFgKcscZQsXZdFkqYdVCYsPMgFlFDuEPtsdlWQNvpccByFkzmlzqOKHOQrffukMFffLiwhEKzmgIIGrfcFrnTisSayhYOsiAIRrQiOqimyThGJiVufQnIKSFTljULbeqkfGQGYvJMSwtADnJDSxcqCrNeTsXTXKwqNAkesqozdaljObwVzzZYbSMDxnfImNeipVUeYMypVnJZbCnDaXwxfkBMocyoSAHAYIDUWdXIFcPjNSdNzdxeOYytwiIkATOHrlsbuvDbDytTPqMSObHesrBGBQKzqWwJSx", "c_map_string_9":"oreCkfCxMIxJwNFoIKkDVLGJkkqpVldJcZSjBZBeAcadsjyMYHONaAcGpziDvoLADQNbvjvfjxFzTOzQPidHPPMLbVhWjAfJkbvJdwWtkFmbCFgLYbDBhTIVdTIrwzgPIpctVgAoYyGQUSBshWEnLiyZyNEBbyYYWSnpayjZEHawdMqoNBDzPKyJzSnoDoAzJcWlyrlXgzbDWOyrFqhvWqLDGRAEgGaDoWXvHQizguvCvhGIgsWLtpwbomfjJAXmmcJButIsOiSpmZMmLjXgphQhRdRJgiLnyfMnnNpxCPOATLjMJAmTflVHvCZTXZbeJMPFxcffcAROHiQtrECToqDHeAdaUDbkhpUtLbNwaDIMrnOOzlclojoHcBjMfucMwFRakMuIrFGYBnRSbRuQxEpjjJqClJZKCMzSMiYOvcEyMQMalbYIllCscBXkFwDqlQINpkFuqmKqAwrBhebaWrxpreTvRFSOUoqjxqgFJXbAZpmMirixpFbvwLVAOECN", "c_map_string_10":"nPsPIsPUqDezfTKhNkofgQvunqBLFEFSQgTYDDKVVDpKIgxwTUqOrQsjGIUeNnIomyyNkWHKDavpiAhIiEESYciXdUDiwlMGBTKiiehHyKLsMwdcoTuhsnRVaqOysltXQOLavyDyPgfpNfXnafZsjtIPdNNFuGhhTNsDQWBuaKLNANckIsicYHfiuFcZSpFprHrlpmoxUmSzcurcpVKxhNvVemtYAcioJowhdERtzogRttXzoJDGLegNyUjinJVrPDCrYjIclshldMsFCYyIuPKxMOBNLOVnNajheMoJBiothwgyvUKoxxAYEDXZlFbnniTVkXLbyvZBUuEZlVBcyWwDkPnwcroqzOuFPWVwLliulajYDglrWMOvjBFzGMwkdmNmZVMPSaLoPDqTZWutafBSIQXuLfuyDuGWtHvXzWwARAxIMIVnnWcMPmGmLAfvUenwUFWufHkFbVFfhFZYtZCRZyCwjrkUneqZJkfrZoqKAspNOznjmgXUMwzQgGoa"},"c_json":{"digit":"7","bool":false,"username":"Tillman5862","minecraftarmorpart":"chestplate","pronounpersonal":"I","nounconcrete":"pencil","bitcoinaddress":"3tUFElHsg4r73i4a1i0w62obqH7UF5eY5f","minecraftvillagerlevel":"apprentice","nouncountable":"cup","noun":"regiment","gender":"female"} }','{ "c_map_double":{"c_map_double_1":98.70287815103764, "c_map_double_2":69.08936286459169, "c_map_double_3":46.67463321998095, "c_map_double_4":99.91319367706741, "c_map_double_5":71.8598226845582, "c_map_double_6":55.8636851315277, "c_map_double_7":53.97089972306201, "c_map_double_8":76.43543385568691, "c_map_double_9":73.98680001739454, "c_map_double_10":13.868420127470579},"c_string":"xRxbMITALfQVahhzKJJCTAGtSecyXvlRNbXQyKXGupzvYjSZJEOPfFnfdsxiqNTDWgpkVKsPEJHwdaUdZroZibVfrPuvslhgHNecDnfCeyrfuYJTgIRcqwlPCtRIKIPgKSHXLUmrLlUwfQGaCakXOjTKDNtxLfMQOkhvhJMZXrHCQgXYvUzRwewafxNRSchbVmARHuLFoFpMyNsjICsvsEvpdYhmdsuomjojpjoIMWLCjeasOdFeCXNMPsMwjSJHLwmXREbFZjnUVqvRCRcbfWQsPJAaSFDNNURXgfJUlDuLBwABnvCebekjKloUfAAvusfgwkoKxEZmtthtQNCjIcQEoNquojbZUPndmaTqNdWPHrbMlBrWCIJblLIBMejRyhBVEkCCznoDyoJKRCjchLKwGdHJukqoUfAcjnRcClECsqKyLOwZpdRrRAdsggbPHsBTCjmqeGjxBjMbvYlLQDZXfpSwAPxPOdYvoDtznLjjfCDebsCXpIOKzzbyHUtI","c_date":"2019-10-13","c_array_int":[1638119103, -547347258, 1622997338, 1423411486, 1496175048, -188592032, 1670919256, -1213154720, 1095416640, -1632033470, 2032908082, -955782336, 1061298380, -999836744, 1582939658, -1863468125, -1368092573, 846084575, -1838393133, -2133850405, 939210403, 821663297, 1259767145, 534021203, -2106708831],"c_array_char":["kJNsgRQALH", "nGKghLtWMA", "cLmGpZwUST", "vtTygkBoxV", "aZkwoxkXJb", "UPlLmpdAHE", "mzbZhAJVbm", "ePTDDiMWOw", "xvIGDpYzfi", "bnxVlbdTga", "XLbakoJbsS", "FBSONemlZe", "CvzmUoBbuO", "kCkwptVDGk", "dwiyeSeqhy", "ARSsDpZVxH", "xDKHBYaNbT", "fXEOpSrsum", "NFHkjdxIPe", "AOHEAlbvBC", "kZbjjSXdWy", "FeiVzlvLKK", "prmNXkGFjq", "BzSZUPjAAr", "yvtwynSQho"],"c_array_varchar":["ZlESeaXFcZrMIfMknwdczJYEabwIJVjDzKhVuykSKCtBCNAKiAafPOpnbUCiIsIjQjeTdqMaFYWNnkFizlqMOHsEEMkapGqrQhLnPHPFjmfDZXnHdYdSORYreBxvwdtjUdQMDbGySLUdzXBqLvxSvDuTDVwmcdGtClrVQGFOsePJchnLajWlAdrIatuabXMnvTegQgvyClSJNTekmKUVKVPgkLXofNSUhzwsSlMmCZHVafiEDJjGZbQDJOuBqjGt", "McPPpGKQrIdDzBnaBESFIAOxEifOAqSdAPLWmfFJEuALzXWlpRrAdCqBQGYddNJxbnWMhenaOtYgDEmlWyhtgEehimzsXzQKozwblBzIBYsZcGTjPwhZYCRyVHQTnnzHQkdeZDoNgwsDsfURngWkaaNsayysJCgAGdPfbiHQUqKNdPXCpcXgWywQqiZNJFUvqFOKOByHGqAWGvUzkOhdjdQbICqCvCBasarVuKezfiGUBywLKehCUcDmIVEKigxC", "xEVZjrgIhwTGVSEuEFIZsMQbFRyulmkSPmixBNEnifMZUdfWPUUlYcVglJWBfqLsyOjcUGQEFalFnAIkcWlxkNTfvPBxzRhUmmVVfxuvQJGOENMeHWcMROnmXAUYboNCjBpYyCFfDeBdSpBpeUdrHFUClsGXQtbrKEuyhRWgBWhpXVIFWCBNTIFuVlrcUTdHBxxbfrQGbNToHSMuVYmXUPDXHQwMUMgTPtGVDxNIEHuhUKqABmZlCjwjhXWuuukf", "PVNDpSvNqDhgveOxFVgLRTZqxddpLiaHoPoUBfbSQCDYROwYQDAFDvUfjblDNvZTatkEonlKzyXhHmKqhzOLJEOUXZmLovLHicweEXomSRFyPyjcbBciJGKSHujeAPuntNexfqXKsOpSXXsXkOzUDXqLoblGBZcHIYgNQoqXicqlNpfOMStbrAyduuhlFHjnHYZUlmkAIMYIigZxsoylYyzIhXaJKFRHSMFaIJtUhuvJaUfOSQmxajZhgXLpGmKB", "zKNvJXVcEDrUNuMANuGHrdfdccdMQFhRniZioghiTFZgEPrFqooouhqIWSigAjNbinunxlAmWLNFhkTbGwqambIyRsECPbAPUTLtwPOrKlQxMLUcqMOjuhInEcsbiAzCOVCvaNnDXPUxsPcqnLaAYipUkMYBWAyYGbQWiUJlbNMjYQFiSDkKMkAJeYcYkHnJJCuTCxncnWLcQOllHwCDBITvvHzBxUnGjXzDHKVUjrJufKsdRmrUhTLkDeEUawNY", "TnilhLqbqspZueMtrKvMcxUOoEMnqebdtplXIoxSYVTTaLVLVnOmLGvGUGPJeHHKiVYvbIocQWUtLTiRVkBFbtORqtLNtYOdtvsgeFQgNNIBZqwFoUznlVoZzpPthxJymXdDxazrRdgYMZnolLMQBQDvTdXCEKbpCRPQbVgRsFDevJmJkCcpSmmNCELybWbqEiwrJfBOQQFcqgIudkqmXGBMsIRKoIBqfWbZKEBXrBdHIRVTxNLSqJztrlBqbkmL", "pfAWMlLdJnzfBcaUMqojECrLGUlCSsNzAwUIuBOJuYPhZnRxAwBBiyOtozXJxOatqGlfAvXmilXWlXSefDolyxdTLUdHqeAISxoPiQRsYHOSKFgeWoLwTcfmIYMzQzTFKniWzTpSiGCmrjmiNWsGCfsYaCjdqDbYHgMPUZtDBVyYdomPoJvgMIgfsuEGBYBSuXcVuDERtjRhSvPbclSvhxYYtacrBXBxJreYfAeQSUjFFIxZbWpctrZOhCOoHRqD", "QglfWRZZZyiuazeLGmvAxpbNgbGLevzXsmyVjwiJyzApGqsgJKXwXkWoHEFjzmlOaIgqOxdlHfXdQgEixPBAaVypNNlArSdLkDSvzGfIUoliAWxIwZoJNfMshlSUExATJoIkRmNgxrCBVKHsmtqqlWfLJKHawuMCkyDqNHlFoDKBDAgrgyUgCoDQaQCCewICbLQxCHrkbZVPSIPGdHJZdALuVEhkZZtDnSWhDRsTvTHgFqhMeoKFrCUPmfsrcNNG", "WqhrIhstsCLqPZtavMuRKkAxwIevLpiSwUqBAQhxhKbNQHMEIItdxVrWsyplaLxcadPuDaPEoXhXCQqYAHRdQAHUCmRmxeAcxJXVVdOdpTEbvzXxZDLeNCDNFvtPmwuAkeWnmdPMvOhwRENNfNZjvGlhdRlbcTMtQfimzbHFUgqXftfwnYZjallOIVqKoptXZbsejIvFgclXoPeoPcfhTnZkYHDKAaJXkCrYdNeRzANFIUtxNbEUANSRWrCXQkAb", "AfuWwoVcfIVnktTkHZiNBhFrMwShkEeRdPzVlwPeiexRIxbhnZJcoLgdoTogEcsXVTtFYrFSpIyqOnqJcYsEtuCYxrwjmphVcgarbeCLWdWRBUDWPGjfyLHGdegroeRfcHozBzqVIvhXpasQcSlSZcBdCaFTAVPcIBTZIEpRopxvfhvUkcDPFYMMzmWwAkhovxvKQMyVuoTZujWhZzvILZyyVpUDRLQNtUYkVkOHIPEhjfKmOAbOpsWXquQLUipI", "GeGrCcvqKvLvFxNozUFKAfqwbJAIyMmLUyOEwMpxidoTZdhaTSQmdsKKGzJmVzNfxsADrXSQFnlstxtnBppXVUhvcQfMqKEkfxPPxvSQvOBSmOXBUUswbvrKIsPGjohpRxXZBEttwESXDLHqhkMxTYUhcfQYpGbjIybYIQJzmMyMNWIieYxyKqtWjVGWQEHAGiSgHBOBNlvCRurtJSQuOEZYaeDKEtLeqVzrZNIyGkIbvQIwONWxWtDjKdOWXTsi", "oHkSnpXfgBLVLaDvVWSAxTUMBcUBqPRJtauQMctLGBYtfOkYXVkvFGzrjgmlFEpBIaECOEoGiaPFDwFImUmAWerFSOFnWjMXKdOqdPdsGVfLbyECOTkTKNjlIUultHlFtjodWOnKKqgeqhQHapYvMdAqOKrQEWPOPZbGvkOoIpiAULMLGnXOKOmQlixhvONbOAqlRROxYqynAMtIsQQSWfYzVwDbyTDbaxFvCRivMzfmhokWYNlRFzRPqeotGJZz", "ktNlQFLXhsPrwyDqArQYctRzABebZluBzsabCTcQeebysFtSDHZFxYDRhlMZrCvDNlPmwZtrcqhNPAurMABDcnAGsrRUIqmzpDARvXbZVbbzqDAhmeaoOrjSkGpJigIQCGADKlOYIkjDveeAUYqccRPikaZJExJKmGdXwHVDxNnYrlqzkGvsdGxycEvBRzeZdUXUGyKuPkwZrVkcYvoUXiFFIQyfpqjodZWvLTGooWkkWnvoxJsIRrRjrrHggoZr", "YQHTGKFSWwvvaissexmldisZcOXMmkIUDEXTnvpBvnjEascLdupWsfccgsAylwZcEmUkmFwnSbKoFvYGEbrlcgbdoBSrPIrchJibcibBLyXayVxpgUTeHrUlbbiktJznapjDsdrtLiZJtpkIZobFtwlkMliyYGwBwqOKuMUBHKwaoZBErfhSMeqbLesHgbxprddFaNDZdPyRTsmaaKEDrHZgaoGoLmeKIJpHywdRlHuYKLCqthmnJyQZpwyspOqV", "AHaATKkevkHZeXScLHyDFmQjEpykHKPLMyHnATiWgZfhrYtMncCQXHZiUXSQstjengwLKsrDRfNzvoyJwHZABdbdiBEmyhemthszzgwQoZrqMyzxNRPAbZlHVFEAIsNqdnvBjjwJmcuweiFBpmIDTeVtrJKbKChUPfLpSDjSrdJaUmpJNJeyCyBXNAatCHylYxDrOdULCvUegEkIOhBfmzIQHHBCQpWxxsQWDiwaqHbNQCHtImEMbMZHmLhyNjUP", "MrXgreGyOkYxUiLRFNPbrQmOxvnLHVXQbCkyWcvWFERSwHLRJNsehEXFwfbdaxtvgcJqSJrwqXTkuluExWQXgOsTMuAwJHkqjbNdhhcQevTGZLRbxmYKhqxgNzudzyFfZTJMyXUIgbEpfOsdnpjJRkowyushkvxHhWZcYcuoGDXfIPDzNoYltGcZNbpNxeAGwkYwQWsCLnufBUiWKXRQOvnYyLfMFCWWUyYdsSQQqfnVggfsSoNtueZVfNEyPEKE", "SptmQReIQjyUnAJwnFttUdNRdGokOHFpOaaizIFcYVopHVOfIGhDxMXLPBmagIdoFOTQOeJyTesmVcjekOMpDmCZwQskfdSniERsxDFzdvQPJOIwCnUxVczmIlEMhEaLcYNnTMChCOSrPtmdvgpjvcFrBoPuGBqxyeEnAQeXINcHFcRoaBgmTTKNapiFXCMrRmUNGOrWtxTlYPvENfruXHZwufefaRIdeSUFHyyzgtbxsJmfbLhnDHRGJfHGmmpT", "ZVsobWJnzuwWqOGCnNXmGkhQIqKLRzgyuPpvgdlXAuFIpdYWRtVFgYiGKuAxGgYrGXihydFUIZNwONxanwNhNPQdysajytBmKHZTKwRpxCSAwNvqhQHVYxPHdstHsncDQIHeXvUYNNYQKXBLwEHMwdQMSWjHpOQvaICmfSopYjSnsQtrgFeUpVBdVyPjlZOncjfYnSuloMJijFIYDZYlkDpjUrZmdMHoyiHZobTVgqqgMmXqbZkLTspFWCbEjllD", "TGKbfEYnUrvtSICXImUmFtVETLvIzIlWHjtEjXllfdpNQgQDxnhcPvMKroLFYfOiExDXeEuGPNKenjhWCuTYNYBhqlLkdFRIaeOEAQJzNJHpyZgABmjWGNXkAynVccSkCmhUdXEMQatwPpANdryoNrRPQkDBjFHajkigFgfMRgExRsBDXnGpcBvkYlzHcBjTmMldsIdFcDsKnvENuCfwltRBjgTtZwlaBUMhhTJhpAzasNFArNcOwHWXzDUBkTLs", "uuRYgzDWbnCYhUZoVUwQsbSncfpOGbILEPaaUdSZKEPPstpHNPPYflaDGXSDNAAHLIfshIaMzIeoXOjUrAKHOFLinklEzwmcJjoypRwrilMioGFDBoEEXjjdpFjlFxKXVouuCxsdxfuVEenAzTIHABvQIqtsOzDBUIUFCPvVUDPNnxljlHnmLEJDLHcCNOPObYgDKssPgRfQIsbByUahRvIDJaunbqYrTIJloHvPcaQEzBTFeRaqyVTwOpkGtFFk", "HCzyNvboWEbtygVveSIiLipxvClOJbcpyfHveuWsQMfUrDQiqVOEIDSnPWcrjGJtIZFhqgrDgZWRkCfPadONSwWQAKzUHRGAFlsoaheTLJiuMMGucUWlmhTfnnaMvFhdPqdbEsPlZGPbmaKJtGlAWGeWLUddhOBhHxIrvVfxOwahlaAIIyGhLOUjHBDFtKCZUnWvKRpfdYzMBOhGYdtGbmNeCFVRwlopiGklhXBegseqtTRaRdtdCebqxSndDMyr", "ahOHkGjeabtRTgkfSxXcSPeQacRVeNDTYXIEDlHuRRwLsVZaWsfkeywYKwLZnJqfYMnlRFchzIQYBHxYaBIqwORkAkvQjgflScXJlyDRNWYdCpOCKAppBddoEhIwLynXmTCkIFgGXQnLJCQPdXhhmcGnZwlKoUUhYcftquVXwhjlCOaLzgqFmNljCvRIOwvYEPSzXzXDSJIMTgStcpXLQxHVqomUfyNJiFnBLCuzLByfCljfOpqyCDJaFyYygifg", "xgxEHNyveGkcOFiPKlFbmYzITgGirTRCUnfFszWubkYvYuyNWQjRXZSxeOaQJbxOCrwVBtjWzuheUltTOJWLlifolTljHHVuLwdBlqkfDtvWgsxHBvXpzUZVQagPpQfJxHIugerlvfFIPtruIMNsVaszaYvFdYaVMVQaMKwqfQZnuxxLEbClDUFCPoUpqKeCauMrwXwoFtOMJBsXvKmTFVpFmdRccwnhZwwqGqShXqdEdVgLeVOBfHoNPJRDWjId", "LHUrwOUUQaFlluobyAArkmUmZeuqGDZnuVtDfWMyPtZdECEEjhYzDzkaJmsRvkALjubBEJJkqExRPZtgfRkaCoXsmVVNzYmIzkPhllwvLIIZvdWQqHuIavzYQlwDKNAxfOlIWFqdMWJRVSvKXEPEYLTAyPTrXNrkWgsALdRpiWnFyzkxvLUtJTHsjsQXgpbDCLgtkVEgCKPoiPNcELDRyMjsMBMAqNNHyeGDaJDFAhGDtrbxexGRiuaetVrHOcnS", "WDvZcbKSJLpottrVztzVwMWPZKzEIspAPzqJTMtocfUqRSBGyYuQBeuVSbthbaMXHzJyINAoMWBpdbwvmQOBdhEpWYiYbnCUsMrvYgtowzCfabLMsNPfvWVdIBoNfdsbFGfRJBZEZIjefZdTXEtWCixRzxSeqFRHOjUVuGqEZNKNIETSxLVrOWHyYpAVhWMTpPqxXCKHLpuNcGDWbHsMdOQISSkdFGCiFdFaDpIAwZeZskCtndohFBvSuXQXFZlF"],"c_array_date":["2009-04-21", "2005-07-21", "2009-07-02", "2006-05-03", "2003-12-02", "2008-11-17", "2016-05-25", "2000-03-18", "2011-02-11", "2012-07-02", "2005-01-04", "2010-10-19", "2019-12-11", "2003-09-10", "2010-03-07", "2010-08-22", "2016-10-20", "2007-09-02", "2015-09-23", "2007-03-19", "2009-06-07", "2005-12-08", "2001-11-16", "2006-01-23", "2001-03-20"],"c_map_int":{"c_map_int_1":-1920640643, "c_map_int_2":-569792816, "c_map_int_3":-1587502442, "c_map_int_4":1762600664, "c_map_int_5":1779716634, "c_map_int_6":-1301260620, "c_map_int_7":-1942951255, "c_map_int_8":-2142144568, "c_map_int_9":885295540, "c_map_int_10":-1395434635},"c_map_date":{"c_map_date_1":"2015-06-21", "c_map_date_2":"2002-06-25", "c_map_date_3":"2001-05-21", "c_map_date_4":"2011-02-02", "c_map_date_5":"2015-09-05", "c_map_date_6":"2002-08-18", "c_map_date_7":"2019-02-15", "c_map_date_8":"2002-10-03", "c_map_date_9":"2002-05-27", "c_map_date_10":"2007-09-19"},"c_boolean":0,"c_decimal":71.1652,"c_varchar":"that","c_array_boolean":[0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0],"c_array_tinyint":[-12, -66, 81, 85, -63, -124, 22, -64, 62, -95, -80, 117, 69, 56, -91, -88, -53, -53, -27, -68, 2, -4, 10, -48, -116],"c_map_float":{"c_map_float_1":54.8237, "c_map_float_2":80.724464, "c_map_float_3":99.276695, "c_map_float_4":25.803225, "c_map_float_5":39.58556, "c_map_float_6":56.998543, "c_map_float_7":67.57502, "c_map_float_8":78.52243, "c_map_float_9":24.68202, "c_map_float_10":79.16135},"c_map_ipv6":{"c_map_ipv6_1":"1e3b:159d:60cd:fd9e:4772:c407:d31f:322", "c_map_ipv6_2":"c20b:61cb:3339:e67c:1fde:ed5b:9e5b:6d00", "c_map_ipv6_3":"b3e6:80fb:c52:1d0d:706f:32ab:767d:5e15", "c_map_ipv6_4":"53a4:1b5b:f9:21d:f51b:e9c3:2fd7:358e", "c_map_ipv6_5":"c68f:8e74:3c13:6b89:6d0f:dc69:b365:849a", "c_map_ipv6_6":"2036:4976:fc11:1497:7234:fd64:4e9d:fd7c", "c_map_ipv6_7":"cf60:c592:dcb2:9903:c051:87f6:5087:33af", "c_map_ipv6_8":"ce28:db44:6c74:c0b9:c016:8fd4:aa0f:ba89", "c_map_ipv6_9":"f567:cc5c:f101:4029:c185:d04e:eea1:e0f7", "c_map_ipv6_10":"bd6:8676:7699:4d91:cfe5:3c76:de83:1ae1"},"c_smallint":1157,"c_ipv6":"895a:107a:dd09:fba4:23c0:670e:a1b5:3355","c_array_datetime":["2011-08-24 00:40:20", "2009-04-25 10:32:27", "2019-12-15 07:43:02", "2009-06-13 10:12:28", "2009-03-22 21:14:06", "2001-01-02 19:08:33", "2016-07-21 16:26:22", "2017-01-11 02:08:29", "2006-11-24 18:18:48", "2002-04-14 06:30:59", "2016-10-04 02:50:04", "2010-10-27 08:40:32", "2007-12-17 19:02:44", "2015-07-16 00:10:18", "2019-12-17 19:03:48", "2004-02-12 04:01:24", "2012-03-28 12:54:25", "2019-10-27 06:46:24", "2011-04-07 00:26:58", "2016-08-21 02:45:17", "2015-11-24 10:26:58", "2008-12-24 15:00:02", "2017-10-25 07:12:18", "2007-11-18 11:45:53", "2006-04-06 10:19:50"],"c_map_smallint":{"c_map_smallint_1":9104, "c_map_smallint_2":6127, "c_map_smallint_3":27766, "c_map_smallint_4":133, "c_map_smallint_5":-17581, "c_map_smallint_6":30026, "c_map_smallint_7":-3388, "c_map_smallint_8":-27566, "c_map_smallint_9":-25153, "c_map_smallint_10":-27576},"c_map_bigint":{"c_map_bigint_1":8114724589750488903, "c_map_bigint_2":-7813417147485914493, "c_map_bigint_3":-5108852655744065503, "c_map_bigint_4":-2379465790184920559, "c_map_bigint_5":-3319782057880486156, "c_map_bigint_6":-7291529109940045942, "c_map_bigint_7":-3955434961472167678, "c_map_bigint_8":8744803725290727190, "c_map_bigint_9":-2560281910019784567, "c_map_bigint_10":4048842885028834369},"c_map_char":{"c_map_char_1":"GtzXNWuyDJ", "c_map_char_2":"jxacGiMgsr", "c_map_char_3":"zKtiVpOPUb", "c_map_char_4":"yYdTLhgVHg", "c_map_char_5":"oEEbBAhNJL", "c_map_char_6":"BYqqfQuXMp", "c_map_char_7":"YBAjOGbUcZ", "c_map_char_8":"vlDovjVjzr", "c_map_char_9":"PFIBDFEzoG", "c_map_char_10":"abBgiWRqxp"},"c_map_string":{"c_map_string_1":"prbgKmrNOoNMjfmGaJZVbOIaAfSvLtfkvmOWPwKaMDQEAtRrIETNwJeNBLaUYEFTyEKJiJjqlAchVYfQgSbUBrmMhoDkryJIZzkxnGmlPbDeHQMsGhZqUcNcpPfxhZkZeClwqKesXydjyWNhuRjkDiuIyTmhGFAtnuFaAwqAbkgtRmuYllYDLMNRUSKbNaZQncIQYVRvPNIMhQNqLamIlJgldbkVMOXyCmfVJUepgldREvUDPICZOovhPDrgOeEBPBMBMgouuahWsAEULyPQsBpwxOBUVBjOYeYGlAAxDKwUtnxKNUlgeoWJKpcSdZuqmLCExFSbjqcvzALGpJvfwdmknLYuVpabRufEQjCtIdvLzrSScTkYQGcTmKpxfJVEPUMKeTjKxKuotuWEAwLCSpeNGbHABOKLvEqeoLVezjfVCZiXtwGpfuOeHbivYtkDUGowgUSCfQMyySnjoIXOWudMCDElblnmtguHQJyDrUQdBiYLMUEnbbTNkDrwKdZj", "c_map_string_2":"rgWxTbAXmAccDfozNNQPsTjWmUyzByDHYQhZKYUDCHPVGvWoRsRSizDKDxhliAsRaWFAgnPXMyzKulReaoWisWIDpjcGOJsPEwQuIpyTohjZxZaOIxrvMlPQWXiMulDcEuXvGnHzWEeNblgJDcrizXwUQyPhUlxdhHsTNyrAyFHqECgTNbaEHLdCrkBInCHoPzwREHUUwtsySponfyapDJjmIfEsRFeotrihmNCwLEuLLadOHfwdEELcjZwyYHJZHeJVvmpuLUvzBJPQUqmsqBFkGJblDQYEhDTGwzYXJJdLaoifaahannTCOmxJYSLkWBcegSASRIwBnwzXxNVLpoXcVNUavcTLXnwEzeppaekXscMIcjqaXKhamhnNHPqwQqUCVnSmDhvCauMsXelaPVireKMerYawfGSQSNCnmMtWDpmuPUisrXzTDURrKYjsGpnLOcxOoKQHFPsFOblLBqcyrRpYkVKhAYfqOoNVEHYAPLtaLgFTtRAbqeonkhTM", "c_map_string_3":"owLQpqOtRVgHvoWAUIUUvgGkvkanbomqIpfxRBAWNeaqYiHWRBkGICkUnqMXOYMRxtBxDXSiCMgCqqGnxSIOwdsjAjVxcsUnUHvMuEQseoBzbnYVuMSazrFSkjfVOofcBYaXDEYsfsHyAcnuEyUirFpeqtHlsZVZYngNlCEypRDWWnktmRXuJFrTeawMmtjEDsFSQZwoehhkqXxwpDacvBCtBDUlgoPZJorQeBiwlZskpKiFpVFCFKScitvTfMYUWjeaznaJCZCIeJGpdDRauIuvaRCDDGSCbjdBVizJizlTsCctimRCNrjiZWoUErnDwwqoLVRzAYMnXOKHEaXGxmdamNshWtnKVTSWdwcaHxtRkaXvZoMVBMPVIbTNyfSmBeFphBQQVNQKkyyMRWiMZVJvXvJgkLOAhsgMpUaWAeRGzPTzeDhcCpxIviHDQxBpYHAShyWHrrYBuXrPkwSTWmWxGJPwZCicILoIXJhFnnlZukwlkFuTenjWxVmxauRx", "c_map_string_4":"kvXWKnshgxVBFSyavOKyLkLSazSSpFTSmaVsUeTBNtTNMjFJvcGouJWnPWJZdkUJcJzZnJnhWBvjihpnSGtnWntkdozCuvbIulaNYbjwcbBbzFzwFLMBHizDpwTOwisCMGjDjuAonFfCtHrgAxbPbbdGLBHenuyRiuMGeRvYMBEZZxatIVVKjpLucIBkEDrUmvwrdlSnvhPorQsiaCqQNltzeyfOYgGrtBaWZnOLSkKnGHWJSgALEjZXGlwWbXOfHOrOKSCLQffJgFbCbuBgYjgYTMsTvutlnkVvaJQMMuyoCdbceFyvRxChCBqFMhzWmAPPOGAMoxUMajlreTmPoryovepSHMpsJWVPqvrofVQRUlBCVFSPJLUPoorEvrHXRLBfWUnxudJUBFAWGfORewqxojwJiXbeJaHYeCdyzstiYFRtPUoEJbBlxJpnZVxeezmoLFctKACkamelYiMrUYffAxkLnZnCGqfkMmYbmCHfkkLCcFCFfKAhGfPpUimH", "c_map_string_5":"anfqHVALryGadBLnDLGwytYsgUlukgqQaEIXgUOKkjizIXVXjXAYZaWEFBufMHQPYDNGuwjCDTVSTNLpkRxpmWQPhPUCqsAtWDBEMKkoUKfqRQwRhnvbrthPoowyOyxUVhsoWOELZWeuDPDzQDDtzvajCzCNZWgbhfXDIhjjVhkiavJSiIhPyxaYqcIdolaFgoapXPvNJmVLSTTENVcKyUrEjGWrkKHGXSMnJHaEtqreGOiaOhpYkXfAObKoUqkARPRWtqzvDYxACAUDKAQrXDaKmMKTMkeEWDLsAKrKtVjwZWIVSIbEmVQgOECezbvofyvSttDyeZLsbVqlpcDeWtKfYZOPjQhHsyrUmejgFfYIysjoTMUwfAydkJrNmlVKyEESYJlrOEqFpqbxQkaNfSSqaZYwjsLpmvinaMDCIBGCVhgsgUvvnDqQcdReNnwXAUeqgmnAFVPBWGGZyZQrVIWpGBgKUFZtuLKPAqOYbgFQXBcAxEsVFbmpwwTZvKkU", "c_map_string_6":"bycHXHPyWmKPTGVevqyQXCPcxRHcnpauZILnsfSHXxeShSPDARFxyyYiNjccdHWfjAJpNyKJhkhDjVqnqHUFHGTXibEPrZuKcuXEgCELQnUAbVOurNCIZJCFScAIvaAIMzSbDNXWMHLwiiqMTddOoWkaWhiFyctqmfLpzMmSxaewsuicYjTARrFdJBYOYxgOUeofBQJXXrcaBRmlIivoMMAPBpsQOztYnBeoTGmdaNpEoMOZRpaaeLOmArQQOpIYgvsbsexKScpweTpSlpdNCSGHtPFLPnSlyqvOJJUCAdpbVHAWLTBZwlLYTWHymYxaMCImiqbWHSeGeIEnNrKPJgHyWUiwJusyHOacySLHEGqovjbXAJCnoxyEwUpLIqprwxzfOWRXIpNhZYqwJFipJXKNVlDTiMCZaJVpjHazdMHMzOVngYzhfyZqNjpwwYkRdoXMPRSUFNdfLbUMIDCAvwXitOEGzPNAiQbCBokSrKJNHOnQRLqnOVzvUVHLnjUt", "c_map_string_7":"mSIoGWGFaQJzQNZxiattTZrKnNBKaeGVaBCpkNpFbFbdmSRDtJRexhZQsmPMXNPJsXlLYFvoOExOpdtDDaQhGHDiYQimQbRCILZIOUQkdFgxmwMAYemgskPGnSFfYCOTxEOFwDqEKGOqXdnnqejvOHDXBpJUPDZDGXVoVbLJhNMgNmcgrjEUWiDPGldftPajdWBTTBAKIYCAGzayNyFlDpymulHVobHZhFtiLpSrZXqPDEcjCcIELPXzoePanRipBcWpbKTTcrAgDwOjpfyPhSrezkuarHCOkkQdvWpSTDWVVpMozrnNrEZoWYVlCQDgSkmvgPwiYSgiBFrxbZLMmKsxOPmyWxVqWoQpgjDgfnFljIZOrPQsiTZwJdolBVCJdAdFjwbJlyLpdKmYlIflcKQAuwMAODxesdJSSnMHpLRIPDACsUGaXucIYIDLXcGJllLlOVKuiRJuGjUJIYIPdvAvxiPGHEurIiRztaRPzXuRSoJywGUPKOeLhgKgDJgX", "c_map_string_8":"fZUDRXrMaibsCljPSoQNOrbdsOEKFBnAgCboitZEQDAnYYtfpoVXXMheVENedpgvjxfggKLQvqWUQFPdVYNaQxDmovDFtNOJpXWyfiAfcRjwJwOXXXCAKcJwjnkaUbwvkvsRAAEoGzXdVtTqvyHBWFVsSqzjkYvcMHvdFVuuTyddCXthEnOkUoyRcPryXloqvPkygzQNTFDuemQHTSoaCDokSdHUvoaegpxJyPrXrgLYAKkFZUPEzxbJSHmJYRgvLxLChoSyjSthhURuZlQXRyzXbHIExIEJWujiNsIaWViqurEBZdTxUkJLOMspPRdnInxMaQKOQBhTuoEsRBecPCrJNPfXsTVzOEYXPjGaxMZyFcKvcIUeXxMUBFTcLFFaiaLeYPEUZbXpaDkYodpsFHUVpOqDxWxpvsYggDivzmLobXANeUfhuQZFrmhiCIloaUaXfVvJtrNZRzejlpXlUTgvnMDrGiSSNZnCJHzRYFmHbqiyiJiOlTeEFWZyKcCF", "c_map_string_9":"KLeLQwobxkZItHWsAVkhOLNwCQMveOpthPXHBrfxWcPxreLBHQnNPOejxJeQtDghfGljlNvrYBWtLRkJSopaIEcYYmPkanxddUPHYBayjzRVAIVWYkTeyJOVmoNbfuWMHTVQlgNVWWPfPbVEObxRdhZHrhrSZIuWzOqcFHiixeBHFONLpcTyqceQLfYNuCJRbhYAKcRODhSyClBjmwBZeqNWVhYlZruGpzjXwMxAoKErqpySWMkofDfusfyJkyeQuqTRQJpKLGvPEgiOLLePfOhPEBlotovWipQshSMgbXfgTpSorXYIeNXUieisLyBZGyibtUMINtyTkRfMHQDqrroygNvcbTbvrzCOChETJZKYNvQSijFStKqmwyTSnZjmLQlHwBAEqwNSpKnUSiApiBHiodVlOYecRTxKcDQpCvvlWaFVOXXmLxtcgYtOoaDIGtuwJPjrhDRveWTGBfJPhKyfjSSVBImPDeHyzGdPkLroAnJBaNjuDNFGDXwNuUcW", "c_map_string_10":"ueVHTfSNlnzvDMPWgJPPpafFwbNSSMZodRJJiJZLEEAzAUYlHViGqsCZCYypBLECjOljMsWKwyXwByXqqtypwmTAqkAgnaaMYEkjZWuKUDCvBroyjLvVmdzyLamUoWrpXtfjsFTctezSaLQZSonTtUJsrZUzORBJRCmduKsIypUSJrpCeANhQKXfVpzcpIKKxNuYLrtMsNkHamBvmCbCuxfSEArXIrNMkDxIWtfQGwLTajpijXJdkvghqLZTMcmwVjEDYXZDFHDZkdrmlKGcmWFqFvozexvfpJHlRJFTdbpPJNKmgbFJZyWXwdYFDUjqniGfHeXOYCKtRmnAxwihoGXNcVrcQDFarpzuuxUkNvAnlxvpgRMxfZgClRbeZwaaVqwjSPKAxOJyIbNNuDgyfkYkhVuNBUQOuTsuCOEDUNjNeSarEywfjBCJXMCOcZMZZbknoJUXTNOlfJNbTGrKPpkeVsdYwjlkGrsHuWkuqatrlainTexlGFwQmxKKKihJ"},"c_largeint":3734703808808535990,"c_array_decimal":[89.0921, 45.1119, 19.0575, 64.1510, 85.0685, 100.0678, 37.1863, 4.0441, 94.1539, 16.0272, 84.0375, 35.0630, 70.1398, 44.1706, 87.0800, 83.0107, 45.0698, 91.0123, 51.0422, 50.1906, 87.0134, 15.1882, 42.1309, 53.0212, 63.0388],"c_array_float":[74.28807, 0.49579406, 97.53719, 73.29841, 49.69326, 24.19769, 71.41894, 32.689404, 43.68838, 23.324461, 64.04801, 77.917854, 94.62346, 42.773666, 60.42889, 36.621414, 22.788986, 31.83064, 22.720121, 59.7818, 14.201546, 14.699405, 94.44417, 40.384, 79.303604],"c_map_datetime":{"c_map_datetime_1":"2017-03-16 01:57:50", "c_map_datetime_2":"2009-11-06 21:07:01", "c_map_datetime_3":"2002-02-15 15:08:33", "c_map_datetime_4":"2002-01-24 17:31:35", "c_map_datetime_5":"2003-01-01 06:37:36", "c_map_datetime_6":"2017-06-05 20:19:43", "c_map_datetime_7":"2007-05-06 12:52:21", "c_map_datetime_8":"2007-05-27 14:30:10", "c_map_datetime_9":"2013-07-13 11:13:58", "c_map_datetime_10":"2001-05-03 18:48:57"},"c_map_varchar":{"c_map_varchar_1":"NscMEztKDgbfiASnGpZpXFgHwIVyILusCiMDBagPEBXFscbTYfKsrcxAAwGEpdZbPwaLhBEPMmplBVKjidwpsxTJArMKFbfXbQLOaJDPRDwwQZgusihlDRmVOZjuRWXTcsnaUkaxtIzxlElOoOXUplorFujzwSSZGoiZeSBPIccVhpddGBUqPZGuVTSPcAejdBzyuDoKUwHSmQRBEGgenyYYTYWGcGdDRLTgjAepDnwECmkWASGdLVjsXuNlqmWP", "c_map_varchar_2":"VoMeLsokWcNVqtMiZmYjTTlsRIvOnovphXyZTXINGMTTPMyXFwryLmTBnWGaySTRHKptfxvQlJVsAJefxnhAcfNFyYVMWlMstIvsHDhEnXJSzkCFPfUvGFettggoYfqJlLDhmSplcnoQggrABmFsKAgPWmprHvmxkDYKkCSIJPOaEWNcuXTaZiPINedlLLYaJjoKKJAFcWAILBxtfryOcVySPptSTwoBEKvetrYMrDyzIZDsQHAtNsMwXWXosNGa", "c_map_varchar_3":"jfHJkgCWhugoHuaRYgtBKbrKIwVSnFokHWHjhvprYAEWFlGuRMFXdBeojVUfUYmvolMrunwQENJLBpabfRrgvgFccyRfSBnWBvnxeYVpuTQNgfXlICXrELnWdwrYDUlwkJVFAhHldxjoKIfFyEZxMFEvBdLVOIQUyovhkWjgExJujeNilROKOcXUopmgljftKUMtanqMPOsmBxCbNTzfdEpbWQtWTDsohvHCfnscbUWihbxCRgfMVmKmMSnAMvjd", "c_map_varchar_4":"kxFVBADzvfpEGkOxGvoyDJCMdPmdcfqyaKNhnElQDbYZPaaURkDfpEFtNDkxhdZmYaYLQnOQidQbgJCfUSPgOLyihgJomXGahWcdSRtOrrqxLeyVoJxrlSwgcpknHgMGDyzIFSoxeNPxYRqSIdJyGrDsUKWUVZnYSazAgfqhvGYAyrliTlKfGqDfIfmadfsTCWsWMKYiJBWzJASTjolBObJhNuKCuUliwrbAjwyaGAsTxuDDaXQWkcJZaBCMPYcX", "c_map_varchar_5":"QnYCVcllddgOBIKUAbLvKccJucapEfpgRLeyofnEWIskeufcGrPOLEjewNPkcBOibjmgNHdAMnvVCPpGWRYBWSmBVXsbkPlajWtfSmKmNCiDxGpKTODChDAKmBRkhrfwVLjhCEIvBdSutwPXvkhkkgfbEHOHwhBUzkKXhWlQWTrZFNECgfUvtEQeusWTXJfoaoWKKcyBXweqUBPnMayXGWUhWHPdAnqCLqnJHLYobIUEmaByXdCBppFdMvRHodNf", "c_map_varchar_6":"uLSkieEcEuNmRNXyhxHPlyghZRwATxTKXvkirslUYOFdIRchuSGferqbHBJwnsAfkQkjrhoOxrBAPYidkKeFNcocLlgRwDuzreSDuaGGRamtQBPPGkScrRgNgIGowWfSpcjuNdXagvbFNOwAvQXNxPphvYCvOSyLYONFnkesuSbipvxXdmprECEqaSymDroWRjFKUBDEfuBrjwMOkKBjcuzkEXnyvXzqliAKlvqRovOTpPJnlGWNMHZARdftLLba", "c_map_varchar_7":"SzuZdpljSMGlKutWlyjQtTwGTisJFtzRIBJtAuwOTAJroafkZORkWYuIixsEeTVPsdYtknDnoymvkZKxArtBIUsMeyxiaAffgWvSIqYfwxHsWUjYFQNhtXDYwfhaDbhfBuaUuUTPLWcZjjHyaYtjHgLfLYbqYqnpldhSJiHqFWvDJNunoGaNKoGMQTppbJnTrfWvzAqvHNiJHzsoYpgpesdkLBSqsGNKqRllfRNnjfxDlVTRuWbEUmRLfZqdjUPC", "c_map_varchar_8":"vFLlJxPykQJQQFZFgNlIfSxvGGxtFQMOfrvCndRxnOOBOfYqqthfUlpFoaTBqjQWsGwOMcFzCQYescrYgyrnTPDgwpfrLWCQVjnrvWOMIOIAnRzXqrVyoWmVbDLMoiDhnRxoCJiRREkfAARjODpUUGTmAQNntHJySEMHcvFhRITSATjalMkGlRVfkvuGwiuYybQTyfwlTqTvrGaLcxnAXxPoNTruwpwzazDjvCRYdkkAiFuSuMsoeEJirwRnopcQ", "c_map_varchar_9":"oVSFimjeLrLDloSVRDPlyDpmvGyHxSXwsToRpvbCpxKnvGlYePerGvRoSZoyZDkwWDUjtdAcqorjJfotEyZPIWJRzLySZhcLyIQoHpKEUlCzkyudQdKoFCaxuokzrCruVGZUvDzloxceGlwLVkGkNADZKRhvFqDcQSjtmRzidNDPuBtDBFWqBnSmJVNcyHaICUbDmUTUewWBTnILvEtIfQtTVPuHitgYPYnTSpjrYeVsjXLTyxrXTcPBPpQlnbpX", "c_map_varchar_10":"BTXtRkTUaMJFNsTLcHhkJJvWzgcwOmBhziTFiRaymhtJbIVllWmVFoVjcEeRxswbDuJydoRBEkfHdtIBzZnRnsiiknajxnnOrUTJMOTDZIPscZkrOtaNjSgydKRXKvdHsWkxTTFDtSvWenXcDJUiUPeuSxRaUWSNtMdtZDpdTAxwwCnTorvZxgLVTeEvDAoXAguKNNcoeiJkaLMtLDArfIwSjsNPieSjZAeqVEGcAhDJrhWEJXmTkvMaNgzBHpcK"},"c_bigint":-7136968005115538567,"c_char":"zQifwejwyY","c_datetime":"2008-05-24 19:47:56","c_array_bigint":[2863330243523691402, -7147296749498192896, -6277919137429933902, -3290908913741955073, -4367690387102584038, 4994046212936857019, -7216394524957591184, 7643886835521636598, 6741502375465498918, 2366467958509047520, -8596394706355211135, 6281462096626012025, -6923991736398559052, -4220308109523407668, 5049508434888803826, 8861636743067211061, -6332365071839490917, 1228103559947494824, -5560036120581088007, -5393909229892358112, 8106865374460635863, -9130433158245154701, -5055101407304907530, 3468790552693360802, 1445754320164814150],"c_array_double":[5.175322076187108, 81.33842222274737, 98.53759720781464, 3.4527331957236953, 63.9512071398943, 42.50324807191412, 7.29867165807797, 70.77277019735956, 87.59518447020655, 10.571575741211534, 90.67757693905742, 93.90435573314471, 2.7691191422680306, 2.702546194810253, 45.18289630374706, 11.835705318544104, 27.389158774052394, 40.980286708164435, 1.8466776113949763, 80.5278197229157, 98.108991293252, 85.23442720836158, 31.931214375827587, 11.67510040958818, 74.05309112893424],"c_array_string":["noYfqdFhbrcaajTgqMVNMEumrOaBRMEFrodRooYiIWdtoOCGesxdUdESqrVFWzWgIjOtUpNrAxhwMzmEODfsGqnuDGTyEYWLYwndSbRjWtSqjyrPgJjAjEhOGHBzxqkTYrlBQobTWigYFhVsWfbCKqbseKpvLNRhQzZjIlzdPCkNrlmLSFsOgJULQQdOwSIhOduQrjYqTwfFVmPLJHwXsifwjFvuoEfYnuxrvlWImGckihcjZbCzZacWFDTOUJCyOLynhhXTcXawaDOlpSEhjVQEFddlTOtdScrMktZAzRvufpWXOxewrJxOazCPsHwbNQoWxNMCNuuVqJIOEecLkZrMDlQYCZVllNVthBTcNpZiiUVaaqVvcEdynpXTwhVZLOrWeahTmYcjRQSifayUlpIJgVwJRWtmDaAMQskeoYGbStWfsHfCXhVtIETqpiQgCbQEfiakEXghpBUIkWqYNasAebxcEQwYiWjIbNjIDNBoNMOEJShctwpiUGNigiIZ", "QuqaauOdhcbNAZxIBERNyxeKAwXwVFtXTyFElMIAQIWvxSyuiHDhpKpfsREulsbKzAVYSPhXSwKaGGHBLilGbFkqZXyHFdzuXChWbbGPtOusUKPRrYvgNVNKosMPJJWLodZveWmkwVGCzqNXnQvussiqtmsWfZNiPFJstASOcndUJRWYoaOQoeboVowBbuZyMiuYllvMEKkTJMYpowemvVjBmyrKvkSyNklzWitNcuFuZIUwqALDJDabzoMsxrcXDyhIXkfWtqqaBSaWAWFUTKrjWaDIsUYMScqwFnLlARLMQyqeBDcvKPdPBPSkzxGIEEFdppfDuPxpuDrWAciTHhaZruJWluQnxnVTnmTvRowTumzuZtFYLplOjipqLxOACewhzVafTsLNiNaqlStYpvAAMCsUVPmlpuiSTheyMMgdPKpZLXgygGyFbdUeEGsJfKZKynrvXgLdbrASjhgVXIwYKzSvbuUseFQaPyBARyCmbigeLpJZCzJYzfoqmqbZ", "XRwxbCGaWgkRkxvSJftOpKeFSbNuesxtKcRTPJZkrUHACsWGCfPXiWpGrGQAKqFKhEtQLDmbREqELNoPiPnGYSUBmdgPpMQxQvzppjBzLaJEQCgcMPgbHBGLauXMflyJqiddQKdUtxQmrkhqchgMpfPuDbIeJFRMFiGcySfbChHwiRrJfrviIaGObttPBqVmUUTjHaujyVVKaQElnAXFIPnoEGKpAzrJGLKauANEsgeahixHMkfTjmSKfLtOZiYEWiyARuzBeZhOOmsMKOOVZFUxmSGuRbfEMiYbdjLGOGQSXZIbLmgdRwxJsdktDETBZikkwBiMdOtjEYjGlDOPpDdQqSlOBSWvLodWslTXRAZMsFoCkDJYfNBFfDJkgjodRTgGHaNQMrfUuqNnbRmSigeBiGgLKHvksKdqcJbIGsmZamDTBAzLAvjeOfNKphBbfpbcteeegtFoUihqOhvxtvCdFKVUAYNySIKIIAJAKbIbAGbHRrqKZwvgnJTzXWtp", "rTyULvmkgSpysgzEkXOzvslySGbVeyQtyqIHVzVFSlyhtICcSEMiMbVkyTiWHbcDyvZjRauFgktwfBGEhQojzhHWPBUWDFsrPWyADLDkdOzbtknXnZHctVhyVsocbRAvVKPelzqRvXsbRNcQkAGujocoLiTERnSDwviIsINtJpSbPEQXLLlZmOOFgicFVjpmcUBgBlcRjyJgvBubRQtQVURyyoLMbhTvJvenqcQXkscThfRGbmZVyqqIUcjFDxhbZDWomJIdCxfWuzDvbrUsVZYuUZSgPfdZGasjteERzjTqYKqJevULTPBAOQmRIaPbSwAmiHbDcIotNgsLUYUTHvqnCkJXMqKXjlOLomgkzPLZeFboVLUEONdScqPDSBvrAicJQHmYqtSEPnVLbaUNAovvTmBJBpEGAwYKuoKZmWybPgQeNiocefzmWENCanbWNbVQwdwuVXSxklNQQApphrAwuCUPARKfkXuBFqkEoLdbFQbUdPUBuEzLliPavrrv", "qaMLaWIQvgqDmuWnGNXImovdRNApYtNLzbifneFRcrIhNqDfEvdChkEnDZZDPXwdseFwgZTGUWFAZWLLTtozkvctjQkpGxvcsWLhbYsbQOLJJfiSGduFOctgJSawjqlZPuqhLiRccXTVREoUUqbucSZwjnXJcyXtWYTUMUwbkLXayTdTTkhuztyizseHSaCqJJwcmfTZVnlKSAvBsPcUjYJEByxSedaogGNLibsfnbtdzLQSinyjKAyVCpnBnhomUwBoqdpiBYRSkEvshCOpKRYnGyJrENDiTkfHGeSNCdgcJfWyNizcWAduhcXfDRZzSxnQthJRoiREuvwQOvsaHflXWdQqALXJaNewjpuTqwpuyAgdOWqBgACCCTSfuKMGhGstzkTLokLNaYjktqNrlgKaWgZzRKGnjvyGrRCYFTLGTtzgWoavgLgCjvTVtkTrLCnOeGSvWGcLEluCpqxDjJVsxVGsLzszqJiDEPFLYZAtFfZgXRPwnxHfYnDZoETB", "qhHelCSNuozsNkSkUyAdPYbcmQZQOpSqZMTkMoKWECHusIPvmuCQPtOHHXObJdmRBaIdrQIjqgxTCIkvpEBAdRwokkxSrXwszjdblmlqhmxGbiJLbfEaCKcucrcQLyimPuoXcWdAhlONSKNIJERJvWkyFoZlyYsMYpbVdKKJXfOtZOthdAqZPcspqTjlhgEqogtipJIykqzWelrJcjSkeMXFPStTLlTVIIBEdDBRsbvAgVqpHlljgTkFOKeruBREirtIwbTyRpIbUBnnhfTJhTOqiXLRHiZMgqloJthGyomjfqqKhbluzKuNNTgeAhKNaHwAyVOOmQvdNqJBvwpXbexJEQIDXQVadfDkTarULOlevBXJWhMvnmVObLnOYWJZtARuScgliLlmcjzqWAwjBMXMnoXgHrnQeOWUMuFfBKlPanNuueUdUoVXABLXVhsZVdaOgLVDKEEmukdSqVsaxJXsLsjyZYINYRwegGElIuPFFJdlTZTbYSbgIhEtgIfc", "YRtAdrxnTaJMnbiSvjDkkxFohJldqSHqxYSCYozBDMhGKtEkQnhbvJOOjhvFmzNDjoXQpiDTQBAfETfBVqqoBgpgKcWdzcpUQvMNKrIYtQZOxUZwvTEGfxuenuZuppAflIjtoZjzmAaSMzyIGhrqNoUmcBEZJRhLNxqGTJMsvneXkJVYHFwrndtBkeGtgwiDFJPqurzgeKbKFpZPxlDqzzOWjamziEDzIxiZHSEZccdJvGQZrykXIyAULhgoZZYkjkLSUtiXrzNixTUDeKeRTCCOCeEpZWAKcGsNNYABrSYLnOOLKisxxmbLxtVnzlTwdxDNgnrEqcfsTDaBkwDTZPhWrIDRscLrcEbPQEJabSqffuCiRUmFecsoUpjNPgUjsUavxMzSoaRcgleuEfgQeRQLvNhCcXdGAsOSMbtgJAkJoxVHEflvONRrvFGLoplXdjsiuHrAjMwtCcUiSMaoiBNvZpFfWLzkQZXUyrfvMqjUFBOyISFBWzXCtuZYxHLa", "WIKQSFnybAmuHtAoPpcJcQwpciRUtuHKJGjdIKEdRaUTKQwPuJckjQidTkGFyjDxMDMkyFUjRDmxHIzQqdeoQLMCzQYsbuOYsflAhzBYlypduohWHCfsUynGbGqapZmdEYGJBCXsWmlwUVwloEiduUxsQBDCyVDItPdFVAbhNxPufWkkcUyMKBSXFltTMqTNRTvnCVgODMgIfPSwQnPrrruPUsXIVdcxmXERGkCONGIMTnGVbaTPjtmbbpHWFtKXIycvFjFfJLeqWkNJMIxSbAAwzwyYRMetIPUDxdlptAmDGMddhrCMWcYVrljLUlzFeUpszByEMagMUmbRRMCenVoIMDheUeVBLdkCspTNjDuuHbWDkZggnKYOMZaIyYHHGVKpSdFZwxtlzBUGmCEkoyTLgBioXFSaPvtkGoRKlnbGFumkZMzJRdQUJvjgXUyGWUnLMHIhmvLJXnrzIotFIJnxXlDYaKDCjIhuemHwSMuCrSkNPzIcyUMWTiYHtLRE", "sQKQQFrAajvsaDVafkzTrPsNAKDFNEBLnyKpicBBuJQPbRmxNnERPwguVaBdHYlfdBSOMMQLKekGxSCisFSnsHhhcgEfNZRAoKJaHiZiChnGfvPjCyPjUfWrmerMYsMSutJFzYVTyqMRtgqEsfHdMsBGYHuFCfeeAXsgislVqXFTjQQvyXQEQtVDQAHKvgqkeLarqULkmRDTGXZFbVuNQfijZqFcflthyIdfnkNKbmrqMCLhqvBeyDdizICLpmTZqetOVWvtdaMGvtZTISoKELljzpHiJkZXSNBnlMPJqoAengMMEmWaLbUyTGaUUKMoTRWbDDoqJTJKFEOQSDUCwHkzjDeQRMbuKdQYwLtTAQqoHpPVCipTZTkMzPRPgRETdmcvNCXFMTzxHZAMneIJBFReeAQoKfLoaVlCxcLjOfMCgkYAnGAvMeTWXimPcDEpyWrumGRQjVaMevaejNFwidmJopRmGeNjQLTphvbHCpEgtixUYjenTZtbScjABHNp", "mHIcnIsOvSpkzBcAKulBVTFzbuvBLkmtfKuTAAolZgAgTrrKIuydmviaBGjLCPxNbRXQbIskwgLNKksyCJljmgmRnjCbOVCFFHLBYqRpZBWMwPwSxbPVOmAheIrVMyJkobmsVLtBZrZuTaclsWtGVctlqwRhNHKhvWMNwOQtXhZJwoTCZdAmXxhqvuZOKIiTMMUDjQvWttyigaeQvxLVxazrdAhaYoRCTEZxaErkwYmihrsotUGxLFZZcprpcuxKnTMCuPSEQimCoHKSUMRneADmvNSMPCrGUltokONOsGauBkeBLmLHYQSUvAxNTCvFkxhsjpgFBGTPdrdULKNeNeYBCtnychMDWSZJcsUQTPyZWSOGcDzWIHDlEntwWyQCKQLsECHzOXuZiaifpwKMpdYCHDkQSAMfwBWWCtAwXoPMgalGqUAywIRxyxbPobttWFUGyasmLolkcLhLOYTGKxcRfcVyifJPcLEZhAEaohDJOLGkCETSkBwZqQMMPBsb", "AvrGHfVIoCuRDFqfLrOKFzJylxIkzfVVsSCynYZAoJFacGiMPVnNBIADRkBHeskdVXlgOFaksxRNselaZeaMDVJpyNzUtjFyjSdmjmrIjazdNWEqEWhxmaxbGGNdIjSIsIKfcRZlBQyztZEzMkhdkkCzhydRfbuRDVnjNCOWhkoqQmjGykoCawPpVYtvvHzRjGWIQhjfqFkXBIsdNKIffmhcjSzWLBvXmSXCAdfPejykHqtLRqRVyRDVzLhiKVPwdJCxxxemXENnuwuGqdQrPFRaBLQVXCYFUMulJbZuUfdclWyuXsMZnUpdNSbQwDdpQQIISIzsFsPXxNfMIxlJDCUlbdjyDYpTvZVqUTPTeSBVgOuiIvmdpYpQnGgHpfHYrNwKqwfsGHMJPDlEBBupYaUxnEkPTdOlGGiwgxHeoWPlsHTMiBMjvqSjyFEyWHNqgpNEiNadtADUKzURMDKxcyAaefzqWrNKZemwbiFKMjCwliHFBIHpCHNfNptXGzNX", "PxakjtGvfKWcSBeZJZzmZDziAMLCjYbmEatbUQoxbzxUxGodRbpwJeGhhGfePqErNiqDSJysNgfGpGTlQgJAuujIwAaVPniYfDBUglptpQlyjrVRJEqJCpvTzljMCynTCiyhPAVKfgpGDJjsrMVfHrzixLfozUSojfzLaiFnVaxhXPAZOHONSUYVwurHnjwYQqveoaJFhlGIusABXdhApFcwmafNuPMjNDhTeGPKNEsTOFWoHmQdnPbnhVcJMTFmuclfDtUsdflCnlTcnkOHrEtzyCAOLUkVNmVrOImZVVKeAggraAEQOIIbXkNqHqCaHhIiExQhllKxXpCeDeIfQtBWvaChIQecYUTABAOEKlnNIJOKghwFNEIKhZPbUgHBzQHKUxXPUHsNVXvqKplhcMFDBJrvFPIjXDklaLLzmfAaMwOQJJWwKXfmdJSTeExrojYDVYrePQqtqHHFkWCvtKeFOGwoRBVhCKbzWVuibMUypCxTYPchMjqTGoOgNLoH", "PTritdzkXffySXCaXOISnFtWsDpNAwtANapzGgfagfdRgbglNelkYTRvOdvmIPFxyQdyyErdQhJUYLxrhpiWzKkmgfSuqktTqcHOhGzNbqzJUxgkVTXyQVKsdOOGSKebtgFAlShLxiXKdmezdFafpwfUJmblUouhaQaLGDyvQWKJRaGdJCRmStvqBXUSYKOPEweQWIioyzrHyWcTTsdiFlsWhKdDDRMtFHBCeVklIjtqjkbnhLbhImMcpnBNuQXNrtuQCoEeiPEkiCdeHtbvOkBzAQlQFfDqgXeONgQcyUmhKHIwMtzMonGYMZuMccIZHVPQgByaBlxixBJpCgODAwGDpGcVxMAmLILzfwKSWAqDkWFXcDZehdYPhAZQYzSZwJjleReTyjtGLITNECYqxfoIscecaPuPArcUEsczqyzVVxelCfabCAoBVdeUBKSecxBDgDETxrDeHwPVXyvMEXvswrvAzFOZzLsvmQFZQvHEwZlkLfDlhRIKbEiPStiL", "ezdIgnyhHrdguSiJZtMBYhKJYVqpbtKVjECGXBlPuHIkBWArrZaKbAQYwoaYaRwJgHJZlxhJWJaWhWMusHJijyJfNEXEmokluJgWyaQxCNYBzEvprXFUEtLUtXThJmrnXuqXXzhugMJaiYYOUGnHQauTxgomHrmthOtbeNHaNdbfnoyDyXlYrrYkZEPLgPscnhvzsQKNpIVXZgogmpZHTDrtfAkaBDpuYWHbdivJvTSRITDDjNmzEogTlrhnVThwoJDuYZRflkQFgvbsxLBGiynivhetMvERcgkhwnAMZBIDvmgkbFjUDpocDRMTflRiLgBOTeCGMSYGXCTWteyeNCWVFkXlUervRsaiORhXFsgtpcQafIbRyUFtTxqCNVWZWEEmiGsSZPkCKgAMXAJVSVMsbTUyYkknzbYJhkywCbpiZHrdvfZxPefhKcQSldzNodcIAULeCArkzTmHjVOaegOGcrklVWmNWSMHGNAYfyegXnrKvEDTonsGShFotAGJ", "ecrCQnvKyPgoXBHAhPtPsQZchWiRryAWbiVeTZMibKsyMxUfAyedZQJfwyCATDiykbKQmWoazBgovRNJsVhMiJaQKtikeJPbDcrJooEVgqHCpvsMsNPnUAWgWSiepmuSsEcnruJxKeRKcScuQZvoQJynrnpozxefJrtzUrmdYmfeHVQojMNXkHhksaBwKFTuIvzLXidpaWppofjgHFmIQUYqkKuUJndymZKjGAJAlYnjsbqYffOprNSwaPWNxbvmCPqnvgxqDHRgLYYgqBgheBblcKgjryRfIwLkzazrvfVkYRwhEaakHFrPBMaJvvMgduzkIucRmoMwJJrFPEXmcdhwuoSkTYIDWcdQHnYMUQbGpnhnIVAOTOMcTXTtZcXYlqGGcsIXCXtsvNvprcqgKHfgMNEUVEikQduyQHsTaFvhWKdyfquCRyLSKFlWBRAMOIphYMPlAgtFyWoRUKQWnCqeTyRsOrwosCbgIiAvXIFJflUEclqseeFBtOYDkksn", "EpsjDquaghKFMJYbrjjfGEvfCcjhFHjhhDxbGxiEtTwssCkfvjzhPIUolQrFkIicIyllfdAcdyNIeyerRGZAUDqVrXrUKZQSYiONTSpBIdSaMhpQLTdOCVtJcpWTWrDCLXVtCMtVSDwSmTbLRTkbhqrdkbtozNajzUPLsoRWgPyCaCTaKYlHQQMHjeCaQvUDQfOnEaKHwIwuYwsbLyFQFxExuyvnLonjaAdsUneDdwWWdgnoRZCOLmBFIMpmfXfqAVxuBIGqeWrPiiHzGbLDflLpBCLgIFYtBthTPabmAFNvRKFCWhiNIoiLkGPdZuwYWbZZJNdrtBcFJclTJUpCPqHWQFYmZwqTNWKtanpvfazQDyEROQgRgpgHtnxvLyzfJGevSOPSrohKJMvIjHxtLJacFjDniRoAUmlxAoqKwpJqaTbpIqHwnOnNnsMvyKpVYmwkMnCteFPsklqTJStCaGgfHbDtjTZYDTGdjolXkQxISqbyZwekfNQPhgKMzNaP", "VUdSyBtygeFEgvsreceKxDWXBmpdOmgNfhgbMecSLBDpEeqtvNxEoFiWgchljrNPwtEaECydLIqBSrCRSyDZstUQSEXrprfbiiclFuhTtVeEapPWhxUsmxLGgmIgutNwYVsJHdUSAGVtwaVQqGyqjxHCVRRJujrINVUNMeqlzOvxmeIxHfFbylYTLLQJHTAwUfyCYfeMSJeMAkIYdSMTEZnJdAEcTYISXQcxZkMeDPRAoFvNeOgMXfqUFpCsufqbKCPHrVdiwiCdMiJmfncjySHWAjnBieJlsBulYGAylLXzMduWIKvLBDlLAiPIMeevklWVQuhdNBnKwAxOuKFGXvyEPXGsohAOIffBjaOzecdPmajusymXutblzoUNkjRfBQkeHlWRlkTKIaSxbrNSAWMeVlxPrSMfbwwWmajouNKIXvjalGBeLITybDQvhDfUsSiXkIHniJwjqKsoGRgswnIMNUniiYqlVkGbIkmtIZCvBSaCVLBqcZIgqKJfqDLX", "FJhUFuxGtfamTzWNDjmfihyaDFOvLsNkLPTfZcqWECBTNSioRfLDuYmmALvRFgUElItQmSQFpEhReQikBboTiqylAAGJjYxhobRhUWdqcyEgFiyyZIuDoPbSULGdiKscvzGqoGqKuQeisSMDTDJpjEoSsiqjZjbosGCQGlVcdXaZAxyFvNSogISYChlwGQDNNyWohwCJFDGMJtJQuzUUAjlFthTwncSDMmsnbHYXerzQHjhnTcReBZXuSbqLCtwhSfctUBlcSpolbVbhEQNHofUcjBgpVueezHVpqKJroVaYyMnuQtmwOhuhmezWJUSZmqVTsVWTOFWuXSoWFtBKgpaStMjjpAJRdpYtpsIjaHHvbrPhtOIjqbBVSliyMkcTuBjwDeZmHMSenJvbmLcdPWOiljFSJFKSnZhehAzZOjjkaEeZZIGlUBbWgZsWmOHvzfgJNbfkKahpYoyjLIfsWNaITHBSDLrpdiLQtdugkRIVTEdPTocyNUuyDZDmtgkK", "qeJJRHvLlhGTknQpXdwXuceQWoIdcbFauOUEvbgbFgZyRKEjuCZnnQIWkDsSdxNGmQrQglVqRFhqXhQSOqYbRMglOqoEIKytsZvGQrbIBysaGwdwSQMMUuUcGyFCIEUzPuZbGtUUsOyRmVIOryrEVGsZYVzViWcvptCTgOjOeQuzrsczZtBBptgizfEYZZURZAIRiKUfllbQbKALddXXHNebYmrICDawcxPjPyLGICmLLNyvLbxYtBWLmpSRIunKsSxrFBdOSfoUWWdzFOCMNffACyKMMmaFWMEvUReZjLdfWEbwrvBwHvPHVOQIXwtXwRxEttmnWMUFKztsNWgLczvyOxMYTZjosGCvmNzlqmhQpUNMyLABBMlpGlpFdLzRsaIVytuVWByuHnbANgIdHVVzYaERNcDutzAyxAigYPqDhICerhIlRWCQGdzgAGXaYrSaaDYeRzwkFGGMNbHaBBiHjTLDkhwAWWJAFesECixaUJzCSzUZyGvpPITdZoVZ", "iCbWUzZsFMtGqilsoZPVSppcLxEbCpaKBXEqjeubYYGtCRSYGSUeDZWNXejJwlyiypVRRZcdukoDNlRwsrLloZBiCqrWsTtSIdgPSXicVeZTRuHAQgEdRsPlqkhTqinxGoKjkwtAuWkmEbELRKLxexqqqCCNIAinzYvCHpDxMLZvXXGbYgoglUSsEkhiCXoXWqGsxBXMOsUvLJrekiQfNIViUzCfbwCWbqfWYOLlLKAzCjfzNRllprkfWPENjcYDXjfrLZJOcPyeNRbGAMICDrLKggsliJISjZxPrTgOpIrpstXRcTSIEuzxRRMOndKytsOztkHsZWncdDeqjZsZyGWyLAMffXYUyhpJzmKEpNvkrpVreKYlVBGYjtVcouBbucSTwugdjdNDLrGIbfwZMekKIHniphlimFtwVoHXweqkhYiNoFgHDQiuIIoUOoiZnquWgnrQEpYouQtHQhNQFRgclTrQDBmGPbDahnAXWazbQWLybIsDDmjkooBHeDnZ", "PEJDnetSUYfunjdaumzqNwWMxxlMQIiEHdemtxyxlJpXRpswIwuJMOkGDRjaUarnyVDWUfvBrppqRRrmoxAJBdFixKvlUwSKQqJmbLaIObsCALOttSczYUghzIdKXVNCWSauUAApxTyrBXyABNiCnFgomAyoxnxvqQCvfMnnPyYHVSbRBBKKSwombMDrWSBOUFlQBDgGHkNhJFWfYbdgDyqlsFyQPVxQaFAWKPjMoDbANsIRPzLfUNtBZJEudIvfaWgewyjiqqDyRzSlfvjNxRCpfohsFTTiVNlcNZdsLwrzrfkjKAboHnMdxJghIcAmdsGFMyLFigooyflWDsGRVYsriuhZtuSOpCdLebtHDzAHwemYnlUevPpPHvNzWiPeRoSJXXSpAXwtDSjxgfjyaJJLyjotAQnhNsiauyeOajTlbchOgutkreuylNPefaJuRYuGqwFnGSCgHmpTImuFMUKslArfAIoHRxgFMEZqibkZkcIikmokZLXCfCzbZkJe", "CCBjsltNgjCmoudUqxNugCGWEnVrfRGbuAaZkYFZlWVxiNmLYGVuGnaIegAxbNUSvcekefTtNRRvJTalbTBRVTeXBBlTLEeJYBghxIbcDZaBxevIaHJOgLqNaPZELCpKCbKwjQUcrQuocyCmSOkRPeFHmEqiYIpVekHKnIGOIqISqojUFpgnHnOCpbCpZfuqICOTyNYkVYQoYAOSWAjWGAZXgXcmQyTTtmPcTSHMvlqJFBnmcUYzOHfDFEQZSFVhIVgGRnHXYjlFIYqtgvnsiAynkxtTeEozbwoMtwTwBuaWQldEyHEwcnSaKERoQsdgnNwHkivpVnLTyQSnIYZNunOAnDjRxJFrXmcHkrcJKnSTSithVrnSZFRZncBjsmceKPWohYirCVxsbROScqvMdQRPDJHzLYNVbCNwyGdJKJfbWnUXoAezqYZIxmGSBqwuBsnMRauVHxAysoXWyxLjoVRISfsBHRbMtiHcDUSrvogyfpKgeHoiKMOwJskTpzPT", "PQsDtYAvBDukQWsrUlniHvXryJPHmfEvdGKpqabHUzyKXCtjMuBqQZSbsUkfZkEMziNLPDROZsAwHtLZSfWkyBNTGSxqxmYennMNcQOUzhlxUVsCzGtLTetCXyHoClOjILgtiBUADGWbYJCEhvsVJaKtseUzjZnaAitRFqAGvRvRiipTrWmuukscyQSOCiTJtFlmnDKBUvOpHdzFyEwedoxkHdpBfbcEWTkGnniPLdqkgvCVsRjZQIEAOOdJiAzsvqZfyuphLqZJFwHlzaRjwQIYXnRfSyCVQANzGkXBwgVHjpLAURhxFspkSlNnlLLKLZHkoWXKxbfsNHYcdFVAjLtIcZykWVPtTmSQgQDRlFblfLYZQpLSeTwEPYRbuFgxCMQJlQMseCwTSwhldmikBTQywSEkhFtjTjOQIqXfNOpYLasMtIaDaxqbXQyjUuEUHaATvcRGQDaEFyZLbejuvofSWaakqisgdviWVMEpewrliAQWcrdfgNMsTwfrsXyk", "jCHYyFdiNbjyMipwXRIthlTnxUPWvPPfeeDdZCqTSWWKkgeYJERSfZQqJtrPFCvpsYusruqlsMRRMikQcBEVfhoAFOUSjfpCYirppEgPiNaSDSvaiscVLTJvxKXpuMqWAxuOTJotUArLkQFQyDwKcvVghpVcnEMuAwtqvJnzMdaKnPfywlkgFJUsXNvIYqtWAUtcbLecliLKzBJSebVPjFEjXUZzmrPskLxJUiPDZATYGcvvQkAzlRxOUbPxlyxqgdvzXaMErrDzAPTyRjnvgnXyrEHyroXpHnWITtuXRvhpfYUctpjMmoCgocYJfJxDqnuuorIXPKSrWjoZugSqhDLBzytSwKfwBWMRTksOcoJWuAaDIfkxTDsELJArWhtzQEBYKrUpPTbJQwDQczVzNpIfiCKzExiNgFNCdMpRnupMMtQHWGCNDhxrdPjxPQQSOswEjgvhLxCiRvvTlRYyyMdgmzZsdzbNYbxzpSfWwcMxzoaixjnTuqkPYwksthkh", "jSJstLtIymJOYDiiSxEEMCsXVHQeMtOJRywgmbbadryUkyVSMUoOFppccBBIkgrgqYUYAaLAHEKdVsowVDBXYHKxaBquxWOQBuQrPGgHWmKlgnqGJKxZKTXwZOpceOmEpZzlmNbFjuXdzAUxQIwMDVgCdUTmOmgiMuirXBeMCCMkmuQYhqDFdEgDRpwDFcvrhJNUpKeeihRdWgEXnSrMLREaNHNXKCSeBEuumshpgsGgopFCvLmoqMrfEbDyWNSfgIKxavOnKeQaVOTXXBohGubZzMppTtGYmFuMoMOsuNITzmxxIyaQHKFItendYDuwVgYVNGoKuUXUtZHQFTmOKKhTYihZmKXEMduPesJmnCpTTkBjXUUYHwwXvXcURyBHWYNAhjLPLxVQzQqhuUPQZeAGjuakicFbVRCNmaXLhodwMBKXxWbZTtpGFtVrEAhZtWjwdhfPzGPkYoUdrzgWoHCGNWdYWKpOzOTcsMkYTSwICIrfAQQVmmDQBITvGwwB"],"c_map_tinyint":{"c_map_tinyint_1":14, "c_map_tinyint_2":-115, "c_map_tinyint_3":15, "c_map_tinyint_4":8, "c_map_tinyint_5":17, "c_map_tinyint_6":-95, "c_map_tinyint_7":74, "c_map_tinyint_8":48, "c_map_tinyint_9":-94, "c_map_tinyint_10":53},"c_map_ipv4":{"c_map_ipv4_1":"172.62.246.154", "c_map_ipv4_2":"228.59.210.236", "c_map_ipv4_3":"158.53.8.204", "c_map_ipv4_4":"24.216.121.150", "c_map_ipv4_5":"93.242.22.89", "c_map_ipv4_6":"64.12.234.119", "c_map_ipv4_7":"12.19.169.230", "c_map_ipv4_8":"77.131.186.81", "c_map_ipv4_9":"148.235.230.177", "c_map_ipv4_10":"91.165.142.17"},"c_int":1198715834,"c_ipv4":"250.171.58.41","c_array_largeint":[1166595486869604625, 7001682444698188533, 5696447611494775144, -7826400363894513930, -5136977683327309176, 8937269951831178827, 1226976467766555743, 7185954593024757128, 4664177192432421787, 3993759932812391074, -7337185095163123258, 5066116373063091994, -4996719772332760082, -3996467277308643477, -1195577915122764562, 4423561396778557301, -4773575196625638616, 8761667833879894508, 2678655516753756222, -4766228354324759465, -6777350536423462160, -4519508661093604566, 2259505996899079811, 786031142910729659, 774429549102755054],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_decimal":{"c_map_decimal_1":97.1311, "c_map_decimal_2":17.1129, "c_map_decimal_3":7.1901, "c_map_decimal_4":86.1179, "c_map_decimal_5":26.1872, "c_map_decimal_6":16.1805, "c_map_decimal_7":34.1541, "c_map_decimal_8":74.1443, "c_map_decimal_9":54.0347, "c_map_decimal_10":100.0229},"c_tinyint":-12,"c_float":30.446915,"c_double":47.3487326881668,"c_array_ipv6":["BoIgMRTExy", "RBoFdgVZqT", "AfbVThLhMG", "kYpRIvQERW", "MajquXhQih", "pAkZazxegL", "WhOkBPKYvP", "LFdyQamKSd", "sxurBIJjTJ", "HbKQpTtjTp", "cIxnWYxAiG", "RyEENCvPRj", "HbUORrrnsC", "DOxXHPpZca", "wTxKoqwxbY", "YhkYqifISU", "HsYFrlmmgG", "vXHspVOvUi", "wJdOJMOjtB", "zZLCviwlDT", "HYsOikmIXH", "YUvabhPrgV", "PsThqJxzUw", "SryQgXPUyB", "eJVPwWJiIP"],"c_map_largeint":{"c_map_largeint_1":-4044412033002311962, "c_map_largeint_2":-8135182520303278675, "c_map_largeint_3":7592880861218827878, "c_map_largeint_4":-6616923631887792163, "c_map_largeint_5":7139791081451611630, "c_map_largeint_6":8753133202248035243, "c_map_largeint_7":4429504193398824119, "c_map_largeint_8":-4582986441215292235, "c_map_largeint_9":-1804387923499956198, "c_map_largeint_10":6275037647902075340},"c_array_smallint":[24522, 4107, 16554, -10332, 12855, 13830, 24865, 155, -4566, 596, -26499, 1251, 454, 32377, -30107, 6706, -9251, 23454, -10984, 31222, 29277, 22027, 12092, -686, 28924],"c_array_ipv4":["yWTFkpCPGe", "iXXrKIKlMw", "wqMbkCosTq", "uaOobfEafz", "ppuTnrEBkK", "MlmKyIAwTi", "zzfhXjDGuv", "GweBAaqyyX", "JIVKNXxTzH", "SXlbERiQSt", "RhtgyvwqZo", "wheShwapPj", "ijptaDmkUL", "AbTZbAdqOh", "nzwSfzoKSH", "WyNRRwyUfx", "vptkceYLdI", "gWFYaOhnYs", "rwbXyUoxmJ", "YmNHAnUJWU", "NEhlPoYEgm", "SOuhHnNFxc", "rbWbOKCAyS", "JkGvnYDvEd", "YSURvizjHb"],"c_json":{"vowel":"u","errordatabase":{},"rgbcolor":[248,166,138],"verbtransitive":"taste","farmanimal":"Donkey","letter":"L","hackerabbreviation":"IB","adjectivequantitative":"light","adjectiveinterrogative":"whose","appname":"LightSkyBluesalt","uint16":48165} }'),(5,false,true,1,-128,-22,0,22551,32767,16972,32767,147483648,147483648,952388306,-2147483648,245,20240803,300.343,5329,-1773603,0,40.123,69.73801,100.02,40.123,42.1620,67.1647,100.02,100.02,94.1820,300.343,78.0596,27.0495,74.0936,12.0371,11.0449,40.123,40.123,null,100.02,300.343,51.1118,62.0059,19.1616,47.0689,null,65.1498,300.343,100.02,67.1834,40.123,300.343,33.1419,{null:true, true:null, false:true},{false:false, null:false, true:false},{59:0, -90:1, -128:14, 9:-128, 4:-128, -117:4, 0:0},{109:53, 1:null, -126:52, -128:127, 70:-31, 127:1, 42:0, 0:-117},{0:32767, 7409:21058, -22933:-20135, 32767:-32768, 15436:30384, -9699:15304, -25634:null, 25258:23247},{245:-22963, -10575:-4264, 32767:-32006, -29596:-32768, -11715:32767, 337:32767, 13222:-6499, -32768:32767, 0:0},{-1083611412:-2147483648, 1440251614:0, 738347438:468313876, 147483648:null, 930114792:32679, 639227278:-1679787984, -2147483648:-62473090, 1921418346:-664408684, 2147483647:525895940, 835500547:2147483647},{147483648:2097476422, 0:32679, null:147483648, 1870092693:-1488112158, 1046700275:0, 2147483647:2147483647, 1572143524:-1741886721, 59857085:0, 152829028:-1643858343},{5778:147483648, 245:147483648, 147483648:300.343, 1:23616, -27393:null, 0:8554318972482966525, 18889:147483648},{1:245, 11687:13124, 245:3, 23267:20240803, null:300.343, 6296840867414969033:8338536, 6:1, 20240803:147483648, 300.343:8, -3116:1},{0:-42809655051414064, 1639360820:-9223372036854775808, 147483648:5661683, -3610097194348610471:-9223372036854775808, 5153546459220085149:-199978, 245:2012450, 2033192244:null},{245:2087295969, -9223372036854775808:-9223372036854775808, 0:1, 32679:-808803424, 2703860483053427469:78565492, 147483648:9223372036854775807, 5662339066128152116:0, 557283989:5032264776373834421},{300.343:0.44732434, 88.04284:1.2564902, 100.02:48.56205, 90.30403:100.02, null:36.81191, 97.01883:20.974022, 10.372692:43.67973},{100.02:300.343, 53.71886:40.123, 60.04265:34.30673, 77.465324:93.7686, 24.114147:100.02, 6.3792276:40.123, 64.04605:0.1211534, 53.40644:14.986814, 71.543526:89.70838},{63.610087177671346:33.713960227264224, 100.02:40.123, 300.343:300.343, 72.389348358239:13.434680856372566, null:40.123, 37.689172333553316:19.459645185779312},{300.343:null, 40.123:7.753300969800933, 77.32563469147037:40.123, 4.903250416225143:44.809216638148584, 37.572752354184814:100.02, 38.8073365861456:42.07860080109428, 100.02:69.58419218699352, 39.523862262408166:97.64382385444895},{null:null, 100.02:"20240803", 40.123:'e', 6.0769:"20240803", 300.343:'or'},{300.343:"1", null:"300.343", 5.0877:'get', 40.123:'y', 100.02:'u', 8.1146:"9999-12-31 23:59:59", 20.1671:'what'},{86.0219:"2024-08-03 13:08:30", null:'c', 300.343:'f', 40.123:'q', 48.1215:"300.343", 16.1437:'for', 25.0197:"0", 100.02:'w'},{300.343:'o', 32.0569:"2024-08-03 13:08:30", 40.123:"300.343", 6.0113:'w', 32.0953:'yes', 79.0120:'be', 2.1619:"20240803", 100.02:"9999-12-31 23:59:59"},{null:'r', 300.343:"0", 40.123:"0", 72.1115:'o', 57.0991:'s'},{15.1177:"2024-08-03 13:08:30", 26.0625:"2024-08-03 13:08:30", 85.1352:'want', 100.02:"300.343", 40.123:"2024-07-01", null:"1", 300.343:"0", 38.0199:'g'},{300.343:"1", 7.0748:"20240803", 0.1324:"0", 27.0296:"1", 40.123:'q', 86.1873:null, 9.0986:'v', 43.1087:"1"},{100.02:'that''s', 21.0683:"2024-07-01", 23.1418:null, 57.0622:'s', 300.343:"20240803", 40.123:"20240803"},{null:'do', 57.0949:'about', 68.1578:'x', 100.02:'oh', 88.0421:'all', 21.1152:"2024-07-01", 62.0509:'him'},{null:'I''m', 4.0155:"2024-08-03 13:08:30", 100.02:"2024-07-01", 64.1543:'okay', 40.123:'if', 10.1154:"300.343", 85.0284:null, 70.0207:"1", 4.0418:'k'},{100.02:"2024-08-03 13:08:30", 42.1255:"9999-12-31 23:59:59", 43.0879:null, 40.123:"9999-12-31 23:59:59", 300.343:"2024-07-01", 13.1065:"2024-07-01", null:"300.343"},{100.02:'q', 46.0540:'going', 61.1296:'f', 300.343:"9999-12-31 23:59:59", 40.123:"9999-12-31 23:59:59", 6.0765:"2024-08-03 13:08:30"},{40.123:"300.343", 95.0732:"1", null:null, 300.343:null, 68.1912:"20240803", 51.1334:'at', 100.02:'know', 28.1373:"1"},{40.123:"2024-07-01", 300.343:'l', 100.02:"2024-07-01", 7.1242:'this', null:"2024-08-03 13:08:30"},{"2024-08-03 13:08:30":null, 'look':true, null:false, 'get':null, 'z':false, "300.343":true, 'l':null, 'something':true},{'no':false, 'out':false, 'him':null, null:null, "1":null, "2024-07-01":true, 'h':true, "9999-12-31 23:59:59":true, 'you':null},{"1":127, 'up':45, "0":1, 'o':0, 'I''m':null, "2024-08-03 13:08:30":67, "9999-12-31 23:59:59":null},{"2024-08-03 13:08:30":0, 'just':1, 'i':null, "20240803":-36, "0":0, 'one':1, 'g':0, "2024-07-01":51, "9999-12-31 23:59:59":-5},{"300.343":2987, 'd':32767, "9999-12-31 23:59:59":null, "0":-32768, 'with':-25716, 'think':32767, 'a':-32768, "2024-08-03 13:08:30":31551},{"300.343":-29661, "0":25573, "9999-12-31 23:59:59":-31407, 'v':null, "2024-08-03 13:08:30":245, 'n':-18341, 'really':0, 's':20132, "2024-07-01":5819},{null:32679, 'l':147483648, "20240803":0, "1":32679, "0":1475140110, 'h':96210004, "2024-07-01":1013521169},{"20240803":1169846474, "1":null, "9999-12-31 23:59:59":-1408248425, "2024-07-01":-1473893629, null:null, 'ok':2147483647, 'well':0, 'b':0, 'j':-1852397871, 'been':147483648},{'n':204545, 'there':-13821, "2024-07-01":300.343, null:-1598823, 'f':2, "1":null, 'he''s':-2707708},{'so':null, "1":23843, "2024-07-01":20240803, "300.343":-18395, "0":1910832527331453729, 'q':4, "9999-12-31 23:59:59":1, 'go':1},{'k':2005282617008207313, "20240803":147483648, "9999-12-31 23:59:59":147483648, "2024-08-03 13:08:30":8173109161427229982, "0":2483638, 'l':-2295874472465095573, 'c':-9223372036854775808, "1":null},{"1":245, "0":0, "2024-08-03 13:08:30":1, 'l':1299921461, 'm':147483648, 's':6520393563305414147, 'from':9223372036854775807, null:147483648},{'c':28.031336, null:null, 'will':95.468254, "2024-07-01":100.02, "9999-12-31 23:59:59":40.123, "2024-08-03 13:08:30":100.02, "20240803":96.44302, 'got':null},{"2024-07-01":40.123, 'w':71.911575, 'on':32.16779, null:7.055746, 300.343:100.02, "20240803":40.123, 'me':null},{'in':100.02, "2024-07-01":4.970441597217639, null:100.02, "20240803":300.343, "0":18.41471595724216, 'o':63.93922145539299, 'g':16.85860399367376, 'h':40.123, "1":96.84949331487392, "9999-12-31 23:59:59":6.796222234453984},{"20240803":37.19553886719057, "2024-07-01":100.02, 300.343:null, 'i':27.45656127286605, null:75.80333300085664, 'that''s':73.30462215326335, "1":93.26610006276914, 'yes':62.049788949216016},{"1":null, null:62.1924, "2024-07-01":92.0632, 'that':79.1103, 300.343:300.343, 'about':29.1411, 'l':40.123},{"20240803":81.0941, 'o':null, 'r':82.0368, 'I''m':40.123, 'u':81.1654, 300.343:100.02, "0":62.0840, 'p':300.343},{null:null, "0":300.343, 'g':20.1790, "1":81.0104, 'this':null, 'u':94.0224, 'here':94.0124},{'u':100.02, "300.343":33.1042, "0":null, 'g':40.123, 'a':93.0950, "2024-07-01":42.0133, 'him':100.02},{null:false, "2024-07-01":false, '2010-11-12 05:45:23':false, "2014-08-12":true, "9999-12-31 23:59:59":false, '2002-10-27':false, "2024-08-03 13:08:30":false, '2007-10-08 14:30:58':null, "9999-12-31":true},{"2024-06-30 12:01:02":true, "2014-08-12":false, null:null, '2001-05-09':false, "9999-12-31 23:59:59":false, "2023-01-15 08:32:59":false, '2018-02-15':true, '2009-06-27 13:31:22':false},{"2024-07-01":3, "9999-12-31":-128, "2023-01-15 08:32:59":null, '2003-04-24':-69, '2014-01-19 17:15:56':null, '2007-12-01 06:24:13':0, '2008-08-21':-122, "2024-08-03 13:08:30":-122, null:127},{"2023-01-15 08:32:59":1, "2024-08-03 13:08:30":127, '2019-04-22':20, "9999-12-31 23:59:59":-128, "9999-12-31":-93, '2009-03-06 20:30:04':0, '2009-03-23 13:46:19':null, '2010-05-02':1},{"9999-12-31 23:59:59":27732, "2024-08-03 13:08:30":-31171, "2014-08-12":-32768, "2024-07-01":-22167, '2011-12-02':null, '2001-08-04':-30385, '2012-12-11 10:51:27':-8468, "2023-01-15 08:32:59":10360, "2024-06-30 12:01:02":-28160, '2007-06-16':245},{"2023-01-15 08:32:59":245, "9999-12-31 23:59:59":245, "2024-07-01":0, null:2849, '2000-02-26':null, "2024-08-03 13:08:30":245},{'2011-04-11 05:08:42':-1478500755, "9999-12-31 23:59:59":-2147483648, "9999-12-31":32679, null:-2147483648, "2024-06-30 12:01:02":526908935, '2005-07-02':-1544188905, '2006-02-20':null, '2014-06-22':0},{"9999-12-31 23:59:59":null, '2014-04-19 03:47:49':32679, null:2147483647, '2010-08-09':32679, '2008-11-18':2147483647, '2019-02-02 04:31:23':0, '2012-09-12 23:09:33':-110657402},{"2024-08-03 13:08:30":null, '2005-01-04 17:26:05':147483648, "9999-12-31 23:59:59":32679, '2006-07-20':147483648, "2014-08-12":5260325, '2013-06-08 11:08:19':null, '2003-03-08 04:17:09':32679, "2024-07-01":null, "2023-01-15 08:32:59":-885},{"2014-08-12":2920860, "9999-12-31":5, "2024-08-03 13:08:30":null, "2024-06-30 12:01:02":245, "2024-07-01":245, "9999-12-31 23:59:59":-18904},{"2024-07-01":147483648, "9999-12-31 23:59:59":245, "2014-08-12":245, "2024-06-30 12:01:02":-777631569, "9999-12-31":0, '2004-07-07':9223372036854775807, '2002-04-20 22:55:29':32679},{"2024-07-01":1, null:9223372036854775807, '2014-09-04':-380132225, "2023-01-15 08:32:59":2052168, "9999-12-31 23:59:59":-7981723400719460320, '2009-10-03 03:22:45':-370846761, '2017-05-01':9223372036854775807, '2004-10-11 11:26:06':147483648},{null:47.9883, '2000-11-25 13:03:10':null, '2007-12-14 21:09:55':40.123, '2006-11-19 05:00:41':300.343, "2014-08-12":83.09617, '2003-02-18':74.789375, "2024-06-30 12:01:02":73.66948, "2023-01-15 08:32:59":null},{"9999-12-31":97.160965, "9999-12-31 23:59:59":55.367928, '2016-03-19 00:53:08':100.02, '2002-01-20':300.343, '2017-08-08':42.449245, "2024-07-01":100.02, '2009-11-19 01:23:12':48.886936, null:19.61964},{"2024-07-01":100.02, "2023-01-15 08:32:59":16.83198035079207, '2015-03-26':100.02, '2000-08-18':46.6042166368933, null:82.89341140514144, '2013-10-14 13:18:18':40.08675415120259, '2002-10-02 11:18:29':3.2533195498056493, '2005-11-22':54.54162465045751},{"9999-12-31 23:59:59":58.69640184613315, "2024-07-01":40.123, '2000-11-22 17:02:14':73.89541072800067, "9999-12-31":100.02, "2023-01-15 08:32:59":100.02, null:100.02, '2000-10-01':51.39783493552478, '2009-12-22':56.15026784169893, "2024-08-03 13:08:30":100.02},{"9999-12-31":42.1212, "2024-06-30 12:01:02":11.1068, '2013-09-26':null, '2008-12-16 05:46:03':100.02, '2017-10-06 09:47:13':null, "2024-08-03 13:08:30":71.0577, null:300.343, "9999-12-31 23:59:59":300.343},{"9999-12-31":300.343, '2003-04-18 17:30:41':null, "2014-08-12":52.1263, '2008-05-28 19:40:27':82.1780, "2023-01-15 08:32:59":100.02, '2018-03-07':66.1466, '2013-01-14':80.0627, null:70.0994, "9999-12-31 23:59:59":40.123},{"2024-08-03 13:08:30":100.02, '2016-06-12 03:31:44':40.123, '2004-10-10':300.343, "2014-08-12":null, '2001-12-06 21:22:59':null, "2024-06-30 12:01:02":40.123, "2023-01-15 08:32:59":null, "9999-12-31":null},{"2024-06-30 12:01:02":62.1593, '2011-04-04':70.0575, "2014-08-12":66.1205, "9999-12-31 23:59:59":79.1681, "2024-07-01":40.123, "9999-12-31":300.343, "2023-01-15 08:32:59":null},{"2014-08-12":51.1285, "2024-06-30 12:01:02":19.0914, '2019-05-27':19.1206, "2023-01-15 08:32:59":300.343, '2014-11-01':null, '2016-01-12 22:58:25':300.343, "9999-12-31":300.343, '2014-05-17':0.1259, '2007-03-28':300.343},{"2014-08-12":40.123, '2007-09-22':null, '2002-06-24':17.0689, null:null, '2015-05-20 16:14:51':53.0806, "2024-06-30 12:01:02":60.0138, '2018-05-17 16:44:43':58.1164, "9999-12-31":16.0256},{"2024-07-01":100.02, "9999-12-31 23:59:59":90.1722, '2002-03-16 04:02:23':null, '2001-09-08 03:29:09':300.343, "2024-06-30 12:01:02":100.02, '2014-09-14':null, '2015-08-08':40.123, "2023-01-15 08:32:59":null, '2006-07-16 05:08:10':null, "2014-08-12":40.123},{"2024-08-03 13:08:30":300.343, "2024-06-30 12:01:02":40.123, "9999-12-31":40.123, "9999-12-31 23:59:59":300.343, '2012-09-11 19:47:29':null, '2016-05-22 09:06:21':97.1183, "2024-07-01":null},struct( false,1,-19485,null,-6960866478162049765,32679,100.02,3.0608564957344297,100.02,76.0711,40.123,null,16.1503,null,40.123 ),struct( null,1,32767,-1000870104,147483648,1,300.343,20.214365884665057,100.02,75.1450,100.02,100.02,100.02,null,100.02 ),struct( true,0,-31221,-1280063705,6025717,32679,300.343,61.239845766186534,null,null,91.1437,32.1952,40.123,100.02,100.02 ),struct( false,92,17229,0,32679,-9223372036854775808,88.19128,null,46.0523,null,57.0603,300.343,300.343,100.02,40.123 ),struct( true,9,-22395,-2147483648,4,935165090,300.343,300.343,41.0545,300.343,300.343,97.0525,null,null,100.02 ),struct( false,0,32767,2147483647,-21285,847144,75.54479,35.24656610451985,100.02,92.0486,68.0677,49.0372,77.0960,300.343,null ),'{ "c_varchar":"we","c_date":"2018-02-07","c_array_float":[38.58632, 12.896561, 60.085754, 95.91507, 88.231895, 81.899, 51.163246, 53.38984, 54.236732, 65.91859, 9.963615, 21.861876, 55.79444, 28.142101, 44.20053, 90.42773, 55.86239, 79.1821, 28.90885, 12.331456, 36.294395, 40.433304, 61.77053, 7.582986, 52.081146],"c_array_ipv4":["CvUrCAkFFa", "kXFRbLSWYU", "pzzxBNOEkb", "ObTQxrgeJT", "MYfwyghXJs", "xFvKLaiqxV", "RwAnrwZjpI", "LmTuiMPFIV", "OWCfvtwMOe", "GpULGiKfyU", "hqgCgFUHUR", "wQunXuKncC", "pAoLKwwoRM", "zivWACAYkI", "URlnJrKLtX", "bAyRZGRlAt", "MgeeKGBNyx", "SBNIEogBvT", "tsilHnIBMn", "IirqLopccb", "VBFrgLngPn", "vDamUeJjgZ", "uhPSAWfXtS", "vnVhBlXWsg", "YTAtddrVVp"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-4468, "c_map_smallint_2":-10575, "c_map_smallint_3":26363, "c_map_smallint_4":-27609, "c_map_smallint_5":-30394, "c_map_smallint_6":-19035, "c_map_smallint_7":20192, "c_map_smallint_8":5686, "c_map_smallint_9":15008, "c_map_smallint_10":-5242},"c_map_double":{"c_map_double_1":9.02894983328936, "c_map_double_2":37.87286149366104, "c_map_double_3":1.3512729313835978, "c_map_double_4":49.92260164547584, "c_map_double_5":88.10882807305872, "c_map_double_6":23.285658815271947, "c_map_double_7":8.90027542296548, "c_map_double_8":83.36678783432312, "c_map_double_9":64.40140508028286, "c_map_double_10":12.449776481439281},"c_array_double":[62.80451900071473, 15.50071841594485, 5.187061957766404, 46.00823732266464, 89.90709201747202, 17.94520136227566, 93.30336660982378, 22.44659817030652, 82.48831618110039, 19.214226819515325, 89.05174848023638, 74.72053851554193, 60.68263042834124, 61.676245907235334, 98.80329392986452, 28.02513982028228, 41.827790085115396, 28.286934920141217, 61.73802401264951, 83.04753241553242, 65.30607175136285, 68.0809770789351, 58.31833433751994, 7.68150563561764, 73.91403313481526],"c_array_char":["ZDVLlGxtuW", "FZsEfgfgaQ", "GMIwDylpeP", "GmPIqRQqmS", "bbdfqVyACd", "PDnuwmBYhi", "VahciahVZY", "zDgjMrnLGo", "jtwlUXWdVr", "fRMHrUIYZd", "SnnSVcNqew", "BuwbbFvqmo", "VKTTuXSZZQ", "MRtCGsFpLQ", "gsYdJjoleG", "cZoWYJRTtL", "xEljuJRIrK", "VBAFVBOMIy", "xHRIXbQNVn", "kJqdLAleNh", "MVNtvgqCVD", "ijQtNXaghk", "pEXFLPFoaW", "wZnwfSkSVH", "KenHkvvXmK"],"c_map_char":{"c_map_char_1":"XcAzVqjDKz", "c_map_char_2":"UaWzpVAVqP", "c_map_char_3":"VNUjZMktND", "c_map_char_4":"jzKwRoSBVH", "c_map_char_5":"HWokwBMwnp", "c_map_char_6":"vGyRBkKCjk", "c_map_char_7":"OwjxcWkbRe", "c_map_char_8":"jrTSVCRHjh", "c_map_char_9":"xJXoQzEFHa", "c_map_char_10":"ugBIMxbAkK"},"c_map_date":{"c_map_date_1":"2001-09-11", "c_map_date_2":"2012-06-18", "c_map_date_3":"2011-01-16", "c_map_date_4":"2004-06-19", "c_map_date_5":"2007-12-05", "c_map_date_6":"2004-09-04", "c_map_date_7":"2009-02-04", "c_map_date_8":"2011-07-06", "c_map_date_9":"2009-01-24", "c_map_date_10":"2009-03-28"},"c_map_ipv6":{"c_map_ipv6_1":"cc09:30d3:a960:7a62:8c50:5827:1eac:8345", "c_map_ipv6_2":"31d0:14e9:543a:87d8:2701:4d2a:3f6c:45c2", "c_map_ipv6_3":"fa4a:b181:b42:2b76:4a:283c:7511:58cd", "c_map_ipv6_4":"f1e0:8a29:450e:7f82:12d2:85f:fb87:4ca8", "c_map_ipv6_5":"7162:77ef:c5cd:e05a:12ab:304e:c325:8caf", "c_map_ipv6_6":"a493:4ac3:68f4:9761:8740:b652:d5ae:5edd", "c_map_ipv6_7":"615d:c405:2854:d123:ebf8:b5d1:2914:7b92", "c_map_ipv6_8":"9718:c245:992:2d56:ee3b:46c1:70da:534a", "c_map_ipv6_9":"5fb4:f69b:ebba:b702:16b7:9658:4587:12af", "c_map_ipv6_10":"1994:1a4:f20f:3fa7:b6f8:27d5:d6a7:e78f"},"c_array_string":["WjpMNaIQMQilOJisrRsiToJSPbZTdVlChyWGMTHDsaHNuHVLCHougeBtzJOYiijufJCIQtKHbMLblxrUAsfdiTsEAwmYDbwhyRCEhKfrikpzEVlNxSxcrVSxRtDIVCMFAlQDvhQxxgpxijUCAVedBtVIgoDizdYcoABxzMeoudmgrhVwilwuPzfcENWbosFikyDWlzTWZjucdxJVecjVIcYXgsNHesRMeeDfYhsFEduXtDrnKUfuwTyoPXHQNsbHSwkDrCMYOecWxmTfvcVJSmNiFygkYVUuwXZojCXLzxtGNgqfiuKEsoSMHMEyyeuPDzVzuKdtxovHyHMYuypKRJHDbPcguglcsGDNtLjhbTCLXqneYkpbrWAVmLiGljTjVNbxPprVfBMKOeTGLbuKWaCTIMNfJQgRQZwMzHMRQrBvwxgZtYNfhSHHcGnjgAOrmbnUOdvoMaBfYVREgzXXsewYWxOyLRPotIszFTNJlPpeZQzQvduDMKshsWGsWlGZ", "ZrPPGaVzZkjCHaFZmYcLvApNdElsGVDxkJZElOPhsWIAwqmuuSZQcXXByKOAiXsVTePJyNkrbsccHWXUpYLSOOQPYJhIqZNNakuhUJMTrrOQaEPCCpjXYJztAYLcoACVJkSZEfVKTxCNClEUrLNeVMhcnedQxpICzpajasCBwnjXjhPRWfeBlYHlrDYlGscAWFkNwRqjhPVCQpOawlADyrdUNNpOIOFkJUcYOJcgpywDElwPcjdzhTAhkLWDeMSQHkiwhRBkEytxSVpirzJsTcgtjzahujQXlDAAbooXJzPLaLXRNpNPUsowCIZXJaHcQfgyMuIpYXbVIIXNxDTqLLPKkrmZpAMFAVLBVeQqkjqeRbDbupMYDyLTKvPgtBDBJGEnqkVZvfeUGTxjlnzEOOLHdUfCUCgwsbGjLsejudhxTsXhSYVMSFmfbEFDMCEBbbrsBZwukhYFvrRXkxISjBtGsUjCNUDhUjKhjVySjagmtYqhrFJMhkKUzKKzHNvI", "kedKaHLRHoqXMOWzcaAumBpFIcXpuiHLWLVfiAvbFvaXexPmkWewYMPQOpMSXsrWSveHmGqCUdluuXLUHWJxuRoUEdeBUXYgPucOQhDTHANniucGzXAFSyonsOdUECMcVEUUQDkhutTEblnLgbusayangNOsTUaKHRDgZIFTgiyKQlaycSsKgPOVNuebFLzXNOpMEHBufHCFbgaMCPUwhCwgLalrUThhUCZTVqJqSRxmKdSEURqowMcUjNdYLWJFdgUyrfbOTnLKqWsDbUJeOOoLOQqqYFeYyyvMEkkrKvviQopPvOAgGPkBmexqenhsQtTIHbFFRlFcpXbLskSSbPAzKKuxzzwovaLzTyYLsazoxLBtYGnJEXfCIJRqkCoCJLglmIFwPvugqDTPUSCOkjhAycKYWpMBDMxXlKNCzIFXqRNUFhgzwRnxTTZNHuYzlSHJtNJqSdYLgvpybOnTUWdYaGbKOlkQDWwAlVBIhDdPaqRNbIJejaUYwZZwrnwD", "FakoGTCBmNZEpajliyRAylwtSfVHNkWwLKdhicibHaLMKdccEtcXeRGVmxbYeIHlCSvKBTUIjPwrCeVfbGintmuweaNZFEVhhqoucOwzuhnKYiFEepRKipSaUTzbiBZqulUfHURuGQyAoAjeoOoZsUxuPOuGWfHWjcbzrErgNgWovxOjYfodcJAPiiCskIBTokjTkGTGWmNCNKOsmGtbXxMZvoLCzgKqHMGPjOKQIuIrhqvMyJuTKcwewPPURzEOFTBQmpBubPhZWpLATmWpqYCNZsjDZQytCeRoHvWwYhJOJJTlQWQMKdCVKeFPyOdyqeENLypOkSipWVdItdffikUAxWXgjZInjJAKkHxsZVkqXtERtTspPHdBIfoNxGBrZuXnrzrdGQQYTPDysrDcjyWxxPgtiFelrZkSdalbmSMPMbJySKDVcDoEiGOVZCpgFksaYOtvMQQGMvEkEvkPEVKhxGeBFYQRyURBCHXjLywAIamrCjYjeqNLQHOPtibs", "grxulfRpnMEilNejGXzWEmggHLfLxUyOsNcjrXSAURvaZbkGtODwMmisomiHVEjYfSIqzQDgORnptBDrzcadIEBkBczDmeGIJVyTgVxfZoCujDUYLbqjAbMSzVLUAeMCigmAYgCQMQiczjDTPpxhjrXwYUHzbIimhcIqMyJZrDOjoHEuETzKBLZpFvNyyiEiiZvKdVWLIJcuLQXISDRWZUhXyVAvYRqFTQfXJGklZAdedoeIbeQFuMDhOTnDaqcVbxlNEYxcLEsvDYLSvFEmdjsnQhDvMrddYBegBmOWBcCXeZirJZbTdrnVoNcXYqsCOVbMyRYQBlZPNRIrAmiAfAOKoGdHsrgheJNoTmnSwymyrTjYVejtVwwQWPxhpkkHdgjyKCgAhGaTQolUqZhuOXkRzgXGZsXdUainFkhICwMNspxPOFwGvYZrjrSNmnCWpGHRINsJLqZKQfXxVeYGTcMRhINRpDkUriTRyEDNXDZMUIkRFteKoEPaxMLUaESS", "SoiRJNVussSZXqRhMEADMkgpPWNFFLXWRPFeLQqGdQeSgohKprUBTNvFNekklLbYwKVHQVBIEDMMzUnvEMaGsLcPGIVJpnTWKSevYIIyczHEWOqFUlNjMEsGEKmkRNXQCswzmhHbzYLIjcsmrzUBNTkUwIftpbKSyzaFrSgWmEtGrLnoBYRzawjJFoTrSDqgDZKBOtPQFjNEsLzFGyCWXTouxKRZZObUUpcLFIJAaDrLdTQyVrITrTyaOSfFszEFeISQMBRzbSmYvgZbeCUKsJQvwOGcngZSCNLDJHrQnBvyZZwsZYikdwslcapCkIWFLdYizXTyOxrUqcJJjOroMIbDjVkxrohRMwHaXVAtnWmXjvCjbmwsbswRYqfZjuqONfhOEwIgXyPKnKcGYqhwZUQBddfoLLoPABRaGRiSkTfLrBYvgjaffMSeIHOBHteAkWrfiiNqQBnPuwliWzHUuJdazkgdfvHVQYgkwobxppElpXxHEWbPWuCgdLDXXQwq", "gHdhZWzqgfzpsxeMfhrXtBdbrGmoLXlvpBNzMBaexhqnaZFhPmQFXItjhTRsFcMRuPAtfakaxvJvoKAPuygWtnZvymQqRonZeAUCVzMDmjKTaoUDbgDYUzfVcajrMTDyyosOqorsOUzNPJQGEQZAGMPkkpIOfbwTNKUjbBZJrGoLnxZjiiDfkrJpuRdeQyNOQmWmbVSWhaUgddqmBijIwVOHurMyRDNitWcktkLlcwUPEOjnmjoWaFjBGkUwhnfjSwwIsCzdiRfIUFcVsUVKOgoQMOgzfxeAmuzpBMcyLyCPTSPbrOGlrKUJJYbSODawmypzirijYbaHqHtXlahXVlmfyNyODbGSAfrlStUFaseUvHiTxsKeLLqWREHRFlqTaJSciXiDObWWreyJstDXbRsjyEYRHfhraFIVFEyFrfkCfiLioxJnAvgzuKrAThYYqXrMeTjTiZEbDSRcueyhjYxzIUrlmTWsqjITfTkVMUCxPgKwHmUShCaXeOFeTLIR", "OkKmtrqDPTWlKNuYaIzjDZxgLTfaxQxcdqCtTwELyCKSdUBFPxyzVtxUyUYAaVDtdGtgTGyDMmIxFCDWoMulGcgAJmVPWYhVcXxDxYLiszwHKpISocyOpKBMWblroZdDAjIWdVIEzBpuqfZKsrceHLKzMCrnsOBLqhPDqwgCDtQBzSfquNgOYyfLwVWcwnqneppekxrFbgeACFYRSZLpoHxZRnRMhfzMcMJNmaHcXYmriPvaxezzibZrsKaQTXrkVzbtmORvWxmfJIMVgAYPqNpXOczZQvQELzHwgnKlrjEwsIkHBlEatiqiJpzreYQefTLlMmOasXwRxrqSNmkctJAJUICTYRUbqhdqgDAVNxwWwRPvTrqPAWKatcOXCjhQJRLrvSdDsfBvhuftCUkERCMtzANEWLUJaxZKRBmwOyTbNcsCluawSwFngculYezgIqRhcyTyQBuwjALZtVBmYbLxcQTOixJoqjXBpVlddFjYPMwofrBHAtFEtzRYzIdc", "PvKyshmhbeVjvxaYEKomVbFTXAPFSNRbMQATofzxKFkcalSJnSQLQZoVwuhFBBmrSTfhHXFwiBxDtIGuVJJSmLTSgqaXgZkLVMheHjIMwyBNiXGxzNAlgXkSwonyQjvgTlgERCPXKwfdOFQpqQccCHYcWwGanPIUXBkikcUkVaQbpkSJChopVlKeSiELWOZOMCTELNNcTAWyGNuMagXFyZzIOLLcfHHdixrzHMhfcYGKXoZWLSeeCsACFhkiXfHmPHdxPaeCUGNMngCnHynbdqLIBkFVeuIufVDfkLSFpRevSJyYFnAMtFWRvlARqkLnpPFJibZMTkUbCumndvNvFpiQmHEXFDGgetMtDelnNKiAphbotScmKmmMlcrEHEZdeugsKuIBjWjyTFBgVRtaaxhjlOXLgXyYblgXEQXdvyFoFYCwojFHGtiAEZzAPVWoGitsICUsBWSKiXLURTYIwWFnDkDnsdkgBFAtcxaasWeqWDinSPhlnLzPnBMjaXjF", "WZqmHcLQKMOTASpxpNACYIVBiFPajRSevinohQiUUzFwUJrEioZIyRZhIjLMtHnvWYGBcLaBCTbvfLxkLmrcJZxwdCDBKQothWuZRMhXTvCKcJULjPDWotBgfoxhXZfIUebDpXpcMmEJlDVJRIbZtgPUENIpGJEkAWOTHrwAGyCDhkQUERnWVIcrjWguSpgPvbetFujYUUoyQUoMogereaSBiNEgqigNIKfHzbiEMmYAXiXGDxNCCclZFiNVCZxLBqpHsWKLIXkubsyzhAKdQTVPLtOXKTZJJubhObactWSQMvROIssvuJZFQCCXIOULfsmzLniLPuwHqTaRckrNKzumsJPMgYlXwhgGoaDQRMeDpQwyLZSzyDlTBAqKZyNNzEjvAjtiorMLratdLnqQyjRDDRzhjpovqZFYiPkTFwjKJRzhTzMHwxeygNtVLjFdubeOgeFwFwNgoSrjXpdhPqihKpFLHIPGaHVVRkHHSZfRCSlyLiSLzfqPxFiAygKf", "uMUgmCgAoZQWwnwMvRBFJUwEdsegpVSClIviBYVraNTgBDnNeXqtRUzrhKoOblcuUjVxXYyERdtYYEwrxrRWefQLrQljFWJJuPtwVEJSyNVKemLtxZzGVUvKKGbnRwltXsTGreaCjFxzYjgPqlQhemMZppaotYNxuPBCNjCAzfbVWYfqnuWGrXTjiLgwjdQSZrmYCbewhTmeDUQHfrenuwvWpRUaLKYwZOSUsSqZkHLeQGSZLFSXIfXGxyxoReEIVGuMWMyPjNxkmPlzPTDjXymvCNMdroZRXmmsEfZdVqzICCKCYGdErokKfzALoeboFeEWReVMohBpATIDwsFCURaUvDUDEymrTUQODlYVimjKumQbDWfusQXVGAwQIvcFksEDvXKLrpjVFgJxiIrWnquVSxsZwtAQCKKCqNfJoElLDVFfaPIwalbotZkLbTWBbuIuOiCsWeXxUZYIFClTRUfurerqCWfLUqDjSjfYwtxDaPvBpYKOYvuHppWLafxT", "jYnriZaemyhkeKxySJhqxJGjXSLvATIoMjSIpnKlXIRvVFDBlcjcoSdhuOePebprRGmXFNomAlbNrVowCZHFTcDKVhjaYqxxrNOfLHzgwkxiwzPimgCzYAJBUxHJkyeeQgBVOAogpJuqsjEOChTAJKskCOtEehOCpCmyDIpDfNZopJrNSfxzyCYWlzLIOKjsEsBdLpTRpBbdXSkUDBchxkEuHLSFxtwezkNttJZqHrVMaEtYcgyOaiddGpFKKLIpnWzEhYlazpAEcGxFHFvyglDDrQMPqdUwwvOwpCwfAacjyphAmfKNAvbfNngGrPjEbRjsEEBgKoiCASyGEMmPoMKGIpUUElNZnRLDjhfkRBMWFNMhkkgTvOdamlKZsgWeCHYtFnKCtloRTuDpCheWAvNJzHeupgGwDMGEVYkxLWlQjocAWHUaLPUVLdMuotnRoMaqalnlLTfUNEsnWDgqFQgdOeyzEggGqGeJsLFBPpUqGoGNLVqJfjIBNxAjFsJN", "LxQlWqVzJrSAvbdYzGSahbpOngTrRgIuTMJTHOOcvbCyVdQdtflsAzFnmzBOsixaLqWKpcOilnZWdjsNRtELEfEqlbTzjEwtZCOfJCBpTRNNpplijhembjclIAsWAKSqwIPbiYyWRZelReQZIsXquQFZtiIvhsGxZLngVYIlmIymsKGdPfwAsZwWubvTjWOMnIvVGcfMQVXFPrtKMaZalHzIvOJoSLuVzJoNZievgPYrQVrEMAsMTMtAUvMYHukGlsJBTwuqCyzxfFeuIGtUnascaALOaHUBrfRgRxNgMaZSprKFpYMWBgrRdpcydAWIYQSFekCYIqLvDEBPaCEDdlnPFMjBmOivXEArGqWUOCVEdQlxjbdKeYyaFLtEXGJTZNzxZWWpEalUJLRRFghOnyofIpKbfpwehEFkOIlaYwCgObrHhHUXrXzmGmmXXhplpzRYmIrqRPycOfeFXBRzzfqexTYoLAExIXFDtLIfSsYshjmYFenqEYBIylIaZlDA", "yNBBZRIcwvqpYepLoZSIkLOLMPbbPlJKeNTfQOYnQTeZWVBkFctDKqmtALQgpShVQXtBLbMzFmdBLoNMbaKRGXJLVkTFGXRhsEFLiDySCHjpeOdvBSSnYmSHYkLYlCBCRvIFVmtAPGAbvWkitwsoMAaaPmzYAChHChzSBYiDUhnCxlqGvXrLRGOFPFsIkptvAJRSkVupkjDkGZcCbzVJxEnbCNyXPTOAakXuAJozTuyibNyrwNlQQCguKHIcgeYkSliAWnRtfmKfnxFmheDDMkhfkBmQOZRYbwVVumJnFUEGhQzOnIjQiuGonyyYHbeKKxGUlFLeIMNskBWQTodOlajjmjRKzZPMkRbuQBiBSDrUDUbbfnbuxxFTPvhuPmIvrPqWfCsJDcXjbWZNkRJhHcwKIjhYjbLByOOAWCMsulFzmSagDJPBPrwAmGLHQvfyfOcesDGscrkxtZisAookHhrbXXLWSfaUJAxgnvBYtLvSaogtfofwJXcnnRuLZTIT", "GOwvVbuqjxspOlUwSQtBWvdulRTEVVQLVVWRIwBaROpAfRdbyeAdxwenjUNmfsmdSbghPKnnRKKkfZHKzfLWYEDWXmmlXCYwFEmEtTqlUoImwpfFWHhimcvcKkIBKzplHxChzrgLQLTolRLKgHOZBEgQtCMrfQWKMokoftgwBlhDLPoQytmQIFxoHdDzmwaYKhreHaKaJTKHzNrImLIiTnmPdPFtvmhPjhleWoIRszMkkxkBbhnvbgOMfKcWgRDEvGQXvSElevsyXAEeSrnhDCSfpCUgdoDMKVMeHaAalZgGsBOhoPPsvBZUXgpsOkYfSwVjybWQRdtahfUwHLgzINAfzJgSRXPZxEVrVYwkpjfMjchyhaRKtkEACfnAQBYINWnKQzRWSVxvDCEJbJlaCrygIGZNBMyyCwYLkNfrLVYHCxJGKjnsLzHadSHUiYZTBrLSvDcELFTVpvGDLaOizSxDwDSHJXbUeMUUkTeyLYTGOItJwsqNKUSvzapIwdxA", "gayRyEVwXEPbZHiWwrTpBHYuHohQNZjbNnNIqsVZiuWMFoXINbryqopxbTfltsJAbALCHOChVVXSLRgxQHiuFhQsOpwbOjwbJkeaDdwVaejJhswvQTtPLeDClImcndryOJWeVACQzHlKKpRGqMFhIrUoSjMhxgiwQrYmlPjxdSljILqxawzabEhbvOiPtEOSggGvOuBumasBJoOtYNLoVgBGRgDcVCmcCDDvBNlDxiaoUbGLQLBmBuCOVwferNmGEXSHUppHOWgWtMJHrNLedlYZcLfVMxqYTcBvqVkbwpAxfxdLQlsecDOqSyJeTvujJihtScEEpafCXuytRpGPxEfkQuHakoNVWsZSTcHpgoDICnCrnsmoQFvbeYchVcZYJIOqSEbCtqDlxEEKeDbbOBVqMXHyCYJYGkauLwiasebZwkLAaUPERwWJaFThQlljKkWiVvazKgnyeYFPItXdTrbxevzzaYkVKxaNJlYgJjFKqnDRAuyVpWHdFNKKXbgo", "YMOJcKDIUBSzSDGalpgNOLtTUtfWpaEeJNMLIgeyFfwAoyBPZfNedksIZaqsVfoNdZivYXJGIQdOSlaYAxKSbJExZAaGngwqOuqvbmFuKVlWrBQJFKhWudCKmAgIDTGhKCbtvTaYMvHEpfOUfdIhrhYMEXxJxXcuKuqctBndOibZixKsqwZXOHeLAsKmlDMAhqyhjguAFIcEZePVvxFmPjavbbBKFaCBhqLBhOiNvXnBLPSwUzMAtEUzmnrTUzVRcOQZZECphkZvPkgGnNQFskiAqQiftWQMnUeYPtDpqQwjitvHjOBhNBHmUuvusblLzhlTqIXeiOkBbZetdjDQNkROnwVnuoHEqeJVxigTMOPUDpQfsMNjsVHXZbjgSYATrXOSQtCvLiCZslLUvCcnvbnoVhasnRSqOFEUdqgUpItsjRUJsfAsODqNSUBMHxuKLQKMscWjIOXfuXntJQPODYNmbPVLjvuGjTPKanFAoBqKFTrcqfqhKFATrmdorMQr", "HcShAtBNayeLUqQnIzYRvIRhEVChVLKWXbDVUfjVVGrAuLAsMkOcTUbmIqANTDLCXtAXzdjDZSXQIrktTEfbRAPqiQQTFAqjNWmggsTKzjwhXIkzydLwOpRFSiVkRoEbgLMkqYOmfMXamxNQpZuoRVSHqTGirbzqJvhHaMvthYaULOYkCypgUsbDBqjlWIvomuOsjmbDYnpJcLRyZYjnlCVOaqxAeWFJJOMvIjhdgOiyfYOSQnapGiyuZxrlMoRvFpXbmSAZBljgrMGkwdnillAEdpquThiLmAiOfqYaUNcFHkBCLIKfnnKbroBoeUAxpDsGlXoDIyWPvNTXwkooIberVHRZHbOSDYAsVzchqROyTkQCZZzrReUjuEdPDzGuYlqlZLyBlsnflkbRvfzmhzqNJkTALDPnHyAubeeuBRGoMHqrKKZbOwaAzeVXGJaJDUzKMIWoiQwqeXyIIdvGNmPtRUiFJknvDYmFYPAEhEhkYMCMWwOkGSyoZTjhUiqV", "mbDRpLAeytdxoXqfgSEOjIaqMRHTEPralYMKaJizoyXjosJScDURAovDbtBOsGizXBEYlWsUfzvFDPNjzlwYoapAgyYAdsgVwGDvbwJRkaVXxKAqLMqIerjcgrCYSgQJnCfIpVbVqPMvImWetFLDVPjIJMpHhfMvIcSlgxdaWFoUqxpEApjfbylwJNoaWDkvfPcpKhEIFDUNaLTjTLntJaovIAWXDhCIPxpDGYLioxuiLyUUorzMOZpMneSnrOSgVKJrAgvQIsDVwqvZeXftYYGWEwbXZzxgdGJjjOKEyIuhmwNpfTToRoUOdMgROIssidEcYpeWDRXucRuJrYTWxsxfkAuXTsQkkZsDPLqAjnvLqUriRpgBfSvkKryxQwlbSGQEQMdHjlIPTNhCGmFWdrBkXzFLFoIsFPLBbYmkZjNruomjfLTVgMLqSdYsaSNOUlDomRXvkVfzMTbJAamsnGmZYgFTSDsrloibRgNlkvCUHHlMnqgJwLBydIpacXpi", "bQFNtqVJCZcUMjGPtrvXiLXTnMBwvRxOVXLssNkQiYOhpijXfxKvoAWLZBsEnPzrwAykKsBcqQkpqoIYbkvHDCDVrYbiUAPdSHYVtEHZjYLNcsFRmCSCLGOQjvAtjajFijZvnwOdktCFGbDDDijKcnVQkqqFcrPwePYPWCaGCgtwzCbWGYGDZnWnaSMHMdfrphICsHIIvaJoJhrIPzwMfBnGuiovoGnWjkRIMifpeSMgyhAhPPmEoDSWlNAqGOXLCXchFrUsBNEDMncMihAguyQORekWGGzeaGrhPXEkpNRnmkFallwToZkElerKSmSVAmndPvskLjBPaujIvlYDnrVuXNnBrxcCfTTYigmTucZRBLtmZTBMXsJSNxQbjulcTCfGtMNemQVTHwMspQjdfOuxJpcekNCehsMSvjShVaHypHQBjjHEcxXoYQjXwsqFUJheMUEBgNtzaaJrkUzYMMCbVXyxkCfBYLncoQsSgeFvjijUplpquZRMwcZuHAzh", "vCKRPPZKeLlBhAydSrJFUokFCNqAcbEcZYifNLkwdqRjzXwEUBQRAJLMIAVWQjBxlYSAABOHPxpanpFIVqiRgIQfqOqjlbEumQhveyVdcbKcIqsLwcoVpPAEXKUmeLfrkkSVHBDFfqMMYEzwuZCKooDJPcJHFsmjIfTRmTDjVBHUfxpHJxYCriyLCpPwHPUDVCZwhCuLJxrsIgBqMpTjLpfuBFluOwRmQeaDJdGrkcNppSciisBbVWMOkxjKMffAGFbOGBUzEgGVemEumdgKyMripcOAkdmAPQFwBqjISWbneCvMmiCXXiNVspjFXCTvRESEZjfvNclXEabjdyapjGTJKHoniwOETknoMOhvflGqRMPmpzDRGLoMhuatnBivFBetJEENragoaidIqRBxgKVPSreGTJwLQEobKjuMpmrNGCKxskvzATDXWkHSBYvIfCIBXvRRaLGLluIDPyXNfUCazUXQQCNTZaHCMsDxozRyIVzLwalxfzGDkNYhUkpT", "WdbbfnNbGivyYpoaGrlngNzkVdtMlpGxjxJgECNmtwluPZIVrJJAKfTOwrhgcoXyubBPjKAJbLqcYEYqUrPXVPYODlbzaJOaipnKihFvCwkbCiTgHvMpfELzkWDBzcxgxhJKWXLMrjWdENCffLeuHFjxNTIitQQjtKUIuTEHyZQJIkWTIGFZitVjLsoOihcZyGndTrVvqCRvUGVvKEoTEhsJlYoXhWZIJLlJTsTAIPSmwomYQzBNHOQuaZZnzNxxzXEnMNqwGNdwZOZSLNcnkxfavdbwLtgnmPGbgNffuhuslaECJSEUqZFfYgRGwPhbYvcKWcwEqaIaQSRWtvQMPiRBkuoLSvozXwynyupRGIXupwvPztPUEARdmTpDCVonmfgXBMLIXZKJJvORHEYXaNtSLcFJFMXYSuKPsSyCGUpuzLpbtYgCszkvSDwQsGLrqFeEhtttQeYPzWyXLLMEFEPUzKkvIAEfsxjTkHCCaNIWDuJCKpclqFzhLSCGbAbs", "rBBWuckpsDuwlSxRawZrxJPhrEGtAKqEoZAtlzpzagcUCtcvlqDAUBkFPjlqLunWrxGkOWIviwHfbHAGwZtIYuZoXWsjwNSKpkQPeSnQyafOsmoytkULhbuOMOSvGcPUJnVaOTlTnxescQCeGByDlDqgkSwUGdXofMJVOhTOydPlvToDQpiurBYLjOYbxAfQyTbfrAVecqIyqrcHVgTbIupUeKzoSMnSZYkYrcKzAdShvYAQcCfzrXfigYyEIdaLzQQZrgUTrpijnDnRLSsVhyVHyTBYRMexrEJviXxUXWEGtbNAkfkZshyJKtjlffhFTEBJlAUbukDFAGOppIZCDZBkYbbSGmfkWxAGPtSZElHBXxYlIwuztUBEodbbWsDxpHXKWbCkYdIaodTlcadVIzvzzSQKvdmTgvaCVxXALHrlKTADQUeyoLiyqomxdZWOdUjOSWpuHWBjBBZswIstAPYKbVhwOgyUdydFWRfAWlRKBCGGvZeIXhpTAjDPDHMS", "caQMGZAtZbJxFyKCwYKhUPtYiyIxsPBAZNQTKgiSPZDiEdjMWmcNNzbtblyQQDRCFamfhGZkficIIeKKxrTHHIjIXbJXetbWvXBRuMqfHDpqTIfFwoeVSWuHStkFinQcLKXZDLwcqiFVBWFHkjOBTTZhJaWpHFmFawucYOnseDJDYQNEynFsUrVBdmOjXPiyRwAriIMSOyxMJNwrOSOjLYNuGGDnvonETjFyBZeGIyVogPagceXPFOysvVzWqDmUnypIlobQxQawKaAOfmrjQWzcxoLfDeMYwyIjVSsNlkINwBsEdTmCaooZdJgdrHBqrMIKTbqEinXwyPBEzQngmYskolRoxbwQwWuMMjhYpsJQFyPNzEaCwQwglTmJdXbQDWYbWyJYyPdRaTwZNFxhjihJmkHAdleOVuADPAvZZetzdKcUuYBWemRwBFKENGRumvfADqbrztwvQoJsHjkeBlxRpdcrRKKEtpdSgDnbHJeYcjqXBVDwRgBUFwBVUGzA", "eFBClyaISkhXDDuAHkouaZbtjngsdeRNMVJvSDbgtjaSBgcqBnxczbItbUGhfEATDukBFzrmYgJjlvGAGIpOktocGqzdsoxCeNHFyRbNRuxRqVoAOGZPJjopWJaswvtrsxlmcLBeZRKGxRxgLGSXhkleziSpXEMkIipKvxzfUYleTOMYtfEgQdOXlADFRbTUMkhIjHymBVqoylxJSENOfOPsjTGPdTsjQnjMaZiIDZcwhlesPlNNLJNvmOfZwHJIlHCISMsyudAdLbPxAqMUAZTJjPiAHbJQaUQpFAsHcJcvodXCCaNrtaHDpOthGtLrWRFEptGEYKZfgIPvsocGgggQTjOPmrREZLFvmjYTCyVOSWrQPixtXpibDswKIchYqzoAJDVZNuljwTTizPDeQDiPpSnBAMiXJQOjTiBRjAnJwXCgeniEWiUOiWgZNJyryEXZqUinDJmpcGMIBpVQPMzJdAULehdEcflMqOLnMayDEJJucODFWWcpaHdOtXRJ"],"c_smallint":-20566,"c_int":325636291,"c_float":71.401726,"c_double":29.37299088048355,"c_decimal":15.1434,"c_array_tinyint":[-64, 31, 29, 102, -86, -1, 28, 20, 34, 21, -109, -39, 86, -16, -102, 47, -58, -33, -46, 45, 30, -93, -73, -21, 93],"c_array_largeint":[7456403900707522615, 3772267096187884440, 8307537934295313623, 3975035672665151549, -2833203282032395036, -2305815731458901443, 6074042637024760618, 2790314663905511528, -5763351083855407353, -6855948130433959962, -6645812589832299440, -3117051337205176827, 4702036937301338127, 1639476323566788383, 148444990456916604, 6790730835938188771, 6395164715655226116, -6637143193743479877, -4213923066743916122, 5401263791726008799, -5026935963992025221, 49675114723484385, -239998964431634275, -490231162417114845, -3050778687275197257],"c_array_datetime":["2016-06-13 14:59:21", "2008-11-23 10:47:17", "2000-08-28 13:21:12", "2004-05-11 22:14:41", "2010-12-04 16:01:34", "2015-04-26 12:49:14", "2008-05-07 04:32:56", "2016-04-28 02:52:52", "2003-11-14 02:04:38", "2004-04-25 21:12:37", "2002-07-09 05:30:05", "2010-07-17 07:20:27", "2006-02-01 16:29:56", "2000-04-27 19:12:17", "2010-10-15 12:14:56", "2007-12-12 14:03:21", "2011-08-19 07:27:34", "2013-01-10 19:00:55", "2013-04-11 07:20:44", "2008-10-06 16:55:44", "2004-02-28 04:29:19", "2006-02-09 23:13:01", "2005-06-20 19:07:04", "2014-12-22 08:20:38", "2016-04-27 03:48:11"],"c_map_tinyint":{"c_map_tinyint_1":115, "c_map_tinyint_2":-117, "c_map_tinyint_3":60, "c_map_tinyint_4":-1, "c_map_tinyint_5":17, "c_map_tinyint_6":-6, "c_map_tinyint_7":57, "c_map_tinyint_8":3, "c_map_tinyint_9":122, "c_map_tinyint_10":71},"c_map_datetime":{"c_map_datetime_1":"2017-03-21 05:20:21", "c_map_datetime_2":"2012-04-13 10:25:51", "c_map_datetime_3":"2005-12-22 15:32:20", "c_map_datetime_4":"2017-11-24 20:05:11", "c_map_datetime_5":"2005-11-19 22:39:34", "c_map_datetime_6":"2001-01-04 16:43:25", "c_map_datetime_7":"2009-07-07 23:17:41", "c_map_datetime_8":"2002-07-11 12:30:45", "c_map_datetime_9":"2007-04-10 16:26:47", "c_map_datetime_10":"2017-04-06 16:10:46"},"c_boolean":1,"c_string":"BLrNauvyMUTghMNqCujnvmMKYrYGwhWnYSaHUjhKNvQVccRqFUkFKIPnvRCXZaJBEARrHDxzKKfdtvUUxrkgbaCRNYhDXydOWimcaDvCDSFGlWFUrJIbrkQSIHNwBYwqGljtqWhfhCCENHwccMnaRIJyvhggQVjSrYYVJrFmTSlJTeLvcQHNLLKbkZiHHxpAjuLVlmiQwDHTlPsGoElCbnOMacFpeCTYJAuyUdtTCixKxnxbCLQTXLgghAcNyEPjjmNXYsOvKZDdXIxKEgqpLdMxinbzrmlnDouXxLOYqdYktztoKIcXDoWkvjaXThIlWsJnCOROypZcEQqorhxXgWiKwFnRLaOfdRTbYjUSDZqoBHErjOAUgZIyraGpbljSFFDHCRlfJbSAKNkLrkFwmXQDpdextkwMCKxtNLqXADfmPXdakWGmzqXMhuxVqNHLqxkEfRDaOEwfRgMDqKUqcRrSTJhFIMJBGDHDEKRYLqMlzkXdGrfILZNAJJImDIAY","c_ipv4":"104.25.125.44","c_array_varchar":["dosFEbeSCpXGliPSpBKwwZYXFTZoCDWKLalSluInUrQJsFddcwZxKJwpRuaATokCBGPrzqvkknEaGTwxYgjlhQTNQkpRHPXrITzyEixibTUvdaGxmwJMXWmgtdEqcCqXZCdsvsfcFmxdxISEsrpqhNDPmfQNGexiMKAwCBIszNOPrtoowJDfAeJksOGuMEAEjDGtiTiOaQysLWUgMYSvTHYKbjApWDivseSJYTjSJrJHVWJDUwJApxeygfueuIaL", "TbNXFbqHuXKoZNfKdLWmPRpEBHDJpRXekHMTqLZiinepqicMddtqOqhQLuaHNNNECGdGaEvSdyLfrXoSSQQQCvvCvvgozkfLGNiFgodJRrZYHIEcoFJqjmPRrCAAgbMHMshadrLzppwudYGWudWhStWatFCqvboWrSQmRFARLXHfkalbqGzHoZGAbMDVtpkChvaqyAZJiZUEiCXpvKNrWiqnAapEibYysFNucigvRyzupQlqjXtuDTmIoZaTqXVv", "HaktiwYGojrGgGbTtlfsiFUDGcazyecYMBPRQjEXkQMvsihZddlFURxtBWwnRJiytLlCGDoSMNyCbKFiRKhCXzZpBFaccGAmcetkXaIfyVDWCsdYKjamNgbgRmFoiClQJuDABnKuamJKvCxAqyNYcuWMzEjYclUeXAcMfouTOHdIojMSurHPrGSrhdPkcGzliLYLGangGEbQDUxZiUwidRkOnAphPxkukCWJcZlptZtwfobssVmaQfOJZiwGBsox", "XmiuHBJqIxDiqYCzaaCHTkHibSNradMMSOCDkEsOlzIjwsKpvsZeZmGoduBfWcfVwhgYLbOBZpqTgpgEXHXZRMINVJDkSSiOGImKMiUNWxCgxNnGjhcMNPPogtYSxIvshhpaZrvknNlWuGfryKfVKLlyzFPHjCOKnCTiSiokPqgZBBgsWWfLwJYRDxjbvaVHwMorXGGUyBbfRrAwzhcVQangSzbdwaoFwKJRaJixYxNYWPXQEknnYMaAHirXBylF", "wHKaTjfqttBahbDAmvJBdlcQqCAllXDMTDtbxIiKwXvicFfRcgtuMInftyBWolQEmcRhPNVTPhlorokhowMewWrOOYVxVkjgsERjDqeoaZKMlNNIyBUZVGidxFhXRhfweoJeDMYBxbRCRwMrrOHfryzciZOSxcJFrHjjiJKcpHObgCNffehSWWmibuRDinhCUrHABGpVwdSelMlCixtXMbnduCzNrbrMGJnDtQtawlHFdBAwwcEnmlahxljoZlwt", "qTDRBQqKHkAqnhtZQcZumIHHGeGiGZFfktXADRetRJDiltxIXSWtjcAuxnCMzOtlGynStILanWekXHUPOCGSUBUIegxaIWCVLupUHxDeBWfePruTKsqUcfObTXIZafTvagbffNqHriNESicYnJzhuAYztFNsRAUAeAgYmTtrtctcgLbdQymQmIywfybndaScCpIXiuDSMMDajrEdDHXNPmDgkORIecUvCojwisRIaQdggihgHrbxuYOiHaSeOIrf", "kpUOIkcXVIHaBiQtiROjuHmMZwNUWuzagEUJAhNUYWZGKLDptdXxZIRjyNzseXngHTorMzoHWNPVAbBzntOUMZZNqleCbnBDqFhNzCwquQxegbFfkonvmuaHsoEpTdDWdCPjdzLAElVsfjDZiLaMXEiXhuMZuDNPwDnyKdHkNVvhzxgYTGnifaqOZBDbtxRZJcaxuIUEiYJlBPFxDqmPiHXatqLjxhJXvONScgMsDnyBgcSKoynIiZbfleWUBfRI", "cwbCYNJMiYmBXBaYCEdzafUJXuWdaULgyqWZAcvfhVLGOaDkuJvHijartqypqGJFAdQayLqnNXqmvhPqNdnnzGAnkxCvoIwLLlyVoDqXlWIwsTJsNEzRqCGKqVlRLsLKQixHrRbbtEGVpkWkUSZQJnyCdCZMuiYtiMRHBQnxxhDImGuICNlUSCsVZJlBQRVhiHKZREGWfqVlQTMghrPXBDCBdeixIUjfleTuPFKzDcRfBaGCBskEXqQgNZYHMUkI", "RDIOuFnmXAOyrSRiEJJYOaEuheCWWfCMpxYyvvjaqaAdubJtdorAYXLgTKpXqVAaPtjxyuIZqAeHfSPNYYoJNfiESdavDcvbyCoHOQMeNTcoJUadHyWjfrKdGKVuxPXmFzGzdiLylaUqfxOFAgtPTdaIOuHzVcUxFKJdphCDpajlSNXQRsrPoKnLoypDMFrwzAtteAaDtVsEpitulOxkkYugbrbdxkbLqNUyqEOLcvhrKawYNWGpeXZPdmCZCwPL", "nWWiiaHCEJSQOWBYHSfEzNpObNaIZPQEqKEdUsyQjOwwtsMaDHAccltafLkJOZElGlAbprKlYtRVopJWXXDeGcDcaFKkPeTdQOViucuvjzPhtXGwttaDelOQrJbkhIXutanUpVXkHlmBruoWEKAiopuOsRcdEsmbVKAwISCXJhisnHYtlbngJscXlhPNkTSrIYzAmUigwHMDbEfHFhfgOcAWChdXUeGPjjqbbgNPIakGWnRdFhVWIIknftKNpJHZ", "uyZCxneDMIGMnHFwssSbLLEfjcVBlAVzImVCGnypNdqdzpVvozBliOlxkWHyGseNjXdnzhJPgdxCioiOUIfpDzvNoNAODVvKzzBAQfCufuSCdfVogTKJhrsIhkpkyCcHlxvtZuvtkWmJihdvdqNmqyBWTLdVShIieKnCuqHbMqtEKEJaugXAbAtsWGMMFOiCUziqCWkWPHSJmTbfZscEcwSJJrNBGQxgxMfciIoSwmslgIPRKzBBgVRhVqtCIbVh", "UhvoUyKaDfNHQPivZrPoMVRuNdCpUDpIhkbmpVccZZJHPFXkAfnHIzENFreASYYVGHeiVKTgqCcBkMsqTpgINrgYTycpkZuQupaSmHDmnMUcNIOgfnPdKsLBpyGnveqwRkzZZiWXSInDplcxWidFowbcpQjwbDczwhRgriDAsPHuYgEZaQYHDtcUXBWbFooktUnOiITHJNlqEOICHoRdeCzQtfzMitSdjsjXAXGRLktyCqRbTqKmjHnJZWwtfIXV", "uQGSfiZESkpHCtYXActIbaJpclScPPPgKFLLXDcBjHmfnPdetIpspSQWPLiWLINyTdkbYXHrEJEbyfElvAqcdXreMnjSmQNLFdDGLKlaJaLWqtlmjpmnIPsucHgoBBwexBIDKYMTBDqXuqbeXuIVRQAbDTWSvzeoNdLCByJsBwvHodThuairoGFleNraDSyugiGvYWKVTktlkpBHeZrHoyTdRAadqVzWLAbKXbAALCqITaNDLtYbnTPLsRnfdBbz", "tJYcKWFeHaPaUDBCnZdlIoZwcWAMZsNiLJLfFSROlBHSgulraicGemHZAjaLwtugQIgcXKkNSPEYOIWGJbSnGSzKsbKHUCrkdWLzeTtQcWPbuRByKPUFKkkbDZDdzxnXFqoOpShDRYfvohXtQJSOXOHRbUnkkUXtPURDZYYzaKCzkRDHzxWMsfLNjhuBUCrCONFPzLSioxYcTvnafzmAldVXehfvJpnjVagQWnpCgMaXiBudLwnjWrFqPpsGEIAC", "fJQSubxbFwvPLeSuIEJCWEfyUSyxeSvkdSyEaODmIUsPKIegVaLXTIkqhnMrrXTYspaDriNadWCzusIaigfLurndQQixfbZLqwUKemoFgNCCSNmqfwtJKzwFGBJmMybJlJtfMczkktuolkcroLHMWzbqhYFxKqHvyOXWgsVcZsPhQdbaduInrqRclXvMYzbeeUFUiqznuGGUXfdZjRLhvRViHGsWfjcGzRdxInpeXdKVvcpTnIfDsrpGNihcpbSY", "bOlMqeIokGeXffnQLgEBTbUkFFsLAbbZByAUUHeYqQVdFXnXhdQIBmBpOhhkybAHIhfHaTEHekLVrrOkwETxUmNCteqyDebseOpsFBHIXcdFCZFCzZBYrBRPczYtwTINaukuYPtIiJmtoGHhGPbUYiFWZTGOhzdMCGfUaPijdXzZGNPSLcaogwRUCdtRCwnyBjHMhsSmOvLWSuRMbQluGhNzKKIDkkSbBlHRBQJdxkcQBzBdHngDXABxLmDbZFaW", "AZgLryqoaEBeWopNQxreVRfrOAHCLeqgmdEZhVAdWDIWBEVXaGAJHBcDLOWCQEuhrFoXaAcHwfxQspJcRNEmCvTSRlomUadIULikqjenQwJqzvUZFNmFktVAjYjmfMGgqPUiKKeUgZNjeUPDkwrBJHtcVUkfiRPwOlMqXdQMDYIstKfLnQSmkbNSLQQWAWAgogigNYDGLkxgLUydiVqjmbQrjvsEojgXRpJBeQwQhRdjkAJOECDvQjEpfxBwqMvy", "esScblhqsEGELAeoINKaXWaIsUmJnEtDmdCjrnIqKTGUEkQGerjrCgVvVYZamxcsnHVBJdlHpLyunwnEixfrMXiOPsgNXMRjkQeZuWKrvDYjpGkYbvIjZHpjpAhKIacGuyniwJMwiqiUzgTVLCQKMkkYYEcUDtCGBhaYloxeqKJgRQwLEqpGLrdIZedVikbSjplAASHxBELvJZOShpPdDMWvrEpRWrbvOsZXdaSxAJuaMhOpNcCDxYzLjpXGhkAw", "nmiEluSBsonxtpkTUskCLjmfvxtMEbzlCewyLyTNPrAKdDCOmnRXdWEEmcFMCLrBJLpVQyjachuWEytIVbHmoWhzWkeNXBifooBXaTrrfEnNpQhhJKbssijrfPNpbrxwAsqdPXdHZWdvhWtRSUfdacjtlUmqdndQXtCkrAdHMMOKsLaNokbaifvFObpUYXugqhzpsMwPwNHLyKhnxLcSlkQxkfQbXoVeykIoHdiWNZeFwJafroNWHJBeeUZQMdhZ", "JnJUJxhXWgjnotcfJdnxuQhRFaRiTinfjuqUBXmcLXspPuGVIxDAusaAIlXsJOUoelmbicxnCgQvAktqVVdfgAiPHPhYaaaccZAgDsTLLyjFSCSpKBaBGSSNLpDKnohYBfbbUvpYIuGFSETqmqWDLxgVBZkCQOSfXtTbkykCuxZzskHBvAVWYOylajUYEuonOghQJbsfOgLCrfirOoDajdzuVbcmjGNCDtWAjPtPfsYYbnSKbkqWVXweKItucOjC", "JVipJilReVVvyxrUkWGBQiOLjLcbJqpYDpXapgJndyhrCZpQaLQjNscBjRHzwOZokaXUMwOwBMuWqORtSdZdhjCvVopjbRbuszQWsxbMRBEEOmGdFfJcLYlxrRLsuONAyZPlwrMItgMWFtTCTbJaEMndwdOrsAwZfCSEhyXSFHLEqovdXBqmVtKcYvYWgJqEXulHUWcKYIMpMqTXqVLoCbjVXIBrHkTnOGzsEnyceaPoNRvRLCaNOQUabqtbiOit", "IUQtpUYZGiunZcGrVqkkuUZsjeLLycYHUtWEhmYYNkgHXHDujywNFSrHwzYZDQPQUqEQqsfvKuXCbhtpdNfGmLpdBTZCeArRbDbbIfAnCMZhpwDhkBsUPiLtOEITagHUMeOtBPpIULwoxNYIQNmQirNkoKWKOepcCfjKQJLCDarllmGLXOTftukmZChyefLceTRlNKfbKDEPwaFDmYCwlrdXEJImlNdPSzqeBiGCaAZTQwhlRkxpwAdWXXKWwWEW", "DBbmOIryuXaLEFhrtQAaAKbeanytqxHVPscAncUdTvwQmcJxhEgLCiooXnEUusaGytCNkndJQENrDwFwBJwfIpzEiSGagsjLFmcPZPKJTtoUzsDZevnvdHaniLtBgnuKsxkTjZdfbBOHqXeoOgjHfexNMLMdeQocYdMSmwJXaHuzCkXHnxdLLeLoIffIDQuBsQXNJqlQNJufHkzMheVgwcCFIkwMpsOEDolbnFDAEUFlwVvjtJEJBOUBMumcPLrP", "VPISQAZlzbGAjlSuZntryvklhgEWNlAMDLbOdJCfvVQNiZwZsfmPkykseIjtKWuPeKKnOnmIlAqgBSNOjHLedEHKpJoBPHQUiVnHrbiLksXEnJGQAAtqJYprYzCUVFDZDVnnfQDKRrltNhjUGfCeatHWjhpWRTWsDJKSuNnwtPYgkDCGyVbOhgLaigLHfvMLVUDTODKxPxeDcfhmnIHgtNUFmudmVpMwZGyIqChKJYPyiTafLlUqVxgzXPJGrSXD", "qKHGHWoJyPWsNSDfsLKWwBhIwWqNEWgAoGSoQQsRYNSwOCMsYIDxmPzfyQETrLkmSmWDxvxTpzZMRAhnSzaXXjeloYzOpfHnNivYauBaNmoOLEuMmrUiTUGAjpyAymfjlTynziWXqHLZwzRiZLcjnvhlzynEpAKmHdojwDVSAxzsBTcgyvhQqKSsMPUnlKkqPCaEOCUPubSXGhBFgNqCNlqBqeFPWunsWlvPqawvhWGWjsjxgXXXvhIvfiNCUUyB"],"c_map_bigint":{"c_map_bigint_1":6873238099641008488, "c_map_bigint_2":6336381058912723642, "c_map_bigint_3":-4236589750534731475, "c_map_bigint_4":4209252273865405420, "c_map_bigint_5":6320275331707497442, "c_map_bigint_6":-1533409867610387414, "c_map_bigint_7":5803393418218970148, "c_map_bigint_8":6580488387988226676, "c_map_bigint_9":6539748539294873656, "c_map_bigint_10":9175136798468376540},"c_map_largeint":{"c_map_largeint_1":1185502849914192995, "c_map_largeint_2":8522478410606484579, "c_map_largeint_3":-3413171239330829462, "c_map_largeint_4":-3590522643476758307, "c_map_largeint_5":-5090607707513253273, "c_map_largeint_6":-4459432557085746241, "c_map_largeint_7":-6603782211352628211, "c_map_largeint_8":6655277121365302522, "c_map_largeint_9":-5835077671294054407, "c_map_largeint_10":143752262198807071},"c_map_varchar":{"c_map_varchar_1":"qxCrmheuWxRHdBSZcOxvagcMuYnPkxyqnYaGkLjSsGGumILurzJLZHiYAuoziTKLPcbDTtUfVDeQNPvsoQtWKjTwDEesdOHJtVOuPHOOCyCPSTKULXYtDzVIJhkdJYkPGCiBXIZqoXTJwdCkVfEUPzumcUQWSvYgsWBsVenENXERDcjaitOWaciMBmmcRSTszPhIiLXnuvcqsUUesGhGgGdpOepTodazRxehkQrhIpKFDGLpromxliJsbHDyNUli", "c_map_varchar_2":"hYUTssmIKIyyKVXLDDwKpYOeAAOSRfzJLpnFKCAJznixJOXYYFyHBtanfpNWXuQkamcEcbUDrKAgXZmgtwnYsVWcZXPsvUtwVxmVAJIVvLNGsFvObGvcQHNgYiYpINCuEGEAYmoRXePPURCyxNQDfyAzMhAuTOBZHDEWTUJTtqvzJvjyGJpkOWDIswEKuSCEnDehvqJXDZNHrUnvPfYsrOpDWoPkPEJtmsdlkVJpHhoQfgALewPSsTCTQDaUrZBj", "c_map_varchar_3":"vaSPJijtxYkFmCOtuSWeppKBMxIFKGJTxUaBThUqeaTbtbrPnivaVMoxbLJuYmfVCgnFoWPuISShgjbfdMMSMHpRigQRKSzBryELSbnVqcrVuSFtIOVDvUywkQcKkDmNwLdHlfkTMwtimPEqBWSjaOuyfCAmXFynFUnKmmothICBHIfYvuoXOfcAvExVsvhsVhFoTLMPsUWQGZzhLFHTRpjgxttbZvngzYzkMfJrOKbRSRxDPpQNahUjQInzWUQr", "c_map_varchar_4":"fTXnFgDODGEZxTYdDVgOMGofswmJfCNchkRCLcLuQyOrUYoWuujNtvbEtHBtgAmpUqZwrBNgJbbrvFYmLTPnCimcWKsLQiGyywesAyOYCTtJSeGCLeDEyXsYzcejNzDZlXiUMyYazJMRDrwyQpyDhRWVngqoIFVepULcVTCbdvfxtIVMYZUHjaKrHYEVGzmnXezTPEFjpstueCwrYiUOsowCycMOLVDPwsPXhLtxulwuVxksSJxXaOfhevsnmcsP", "c_map_varchar_5":"jhXMywFPSRfxPSGaStOWmogUgUbXwbnbQRsEMAfafARIDqXxmwUwgVYmTwMQvlCsTLsyzucuTiAMKNLUPjqcVAAdeaSgfapOBXlpZHrvBkILmTRZjtlmYFAsySKKaLemgFauwPWtcBFiozDuneDiWzxXiwvdCnXEmhmxrXwxGPhwdRAjJHllkxRbXUryTVugEKyJZAOSqhRtnLkrWiBxiooKbHOrXNylfYhdMjDBxxKCwJvxnlbHaMLqEevcniaR", "c_map_varchar_6":"yshFimawWTlJXqZJrzIABnIjuusPWFdLIvoMEHsbRLyVmVqENhqnyNxBRBeMogFizYYRXJsAIEROjQWXocgTrhIcAKaUjahuBPoKdUpTtbisoIXagDMYQrndDIccHjoSQLALBOMSfOJVKytfrbxGlHPoqezDMZuAGDFhZoTvTgofeGdsWOYQKFWTaQElcNNoQuXIFkhtWnLIOIDGfCpPctiCSyLlwpWUNYVVXcbRSfTbQCwfZaLymrQyRUYvyArb", "c_map_varchar_7":"OYlFdLcMjCxGGaWgyBRsvsdnWoFawRJzUSXdzkkBXoWKTrzOSeKazpeFjrnGkgPGNerOwmnmFMoJXfQXaGhHVWPSEUKpjVsDNADiVvqxnxrXZaAEpcDjrDVZEeXdGivquarSVRnUoZbjOjFDkBpzCFhLHdWSQDndUPRDjEyTYTcrsUNleYWiUrMPMOdpBgzcLPUhFmgonDzxHbMXaMFicsuBVbwnvWmkZSxkERhHNzVuwQmYBXNElAYSVFueRpls", "c_map_varchar_8":"SbCIvXhDMoaaEfoxeyJRYlVEOOqPXrMVpEpVyBGYSgLrslCXEmJdhJtpHXIcKOYDXfibBZZdsLJeeLkmcLPvYzrwtzbSxqqqpVBQYfzOqOKcVCeFbGsicRvSaTYBebnYotFdBBOvOBcOzKtWYqzCgCtWRviDzFOJLCbguVBGhaLVghzIozvsvJxVxcpLGqjtnwrNgIrGaljTkVeLmWeKAwmaiDmIVBqqIGhWLNPKlSLAMJcldgXgFLZCfiraAgWh", "c_map_varchar_9":"iohliDljJjHemktCuLpfJFMbRQJdyrVOiFNxReerFJpRZXJprJsxiUZrRwXwrblUJFSxSADmjIjYsFLYNnwEEnDfWjgkdHRHTPtyoupiJgGFnZuZcJgalSoEmLhPCCrDiIjvYXhJBXWZzPcdCECtQWmkOWYLwlKWcqJtkNJhJACmsLPugAKGwnUDDsJUGCcmLaPKbisrdNkPOYsuxiwOjBJTIvTgxbWPmSZIUIDlwWuBjoYiEuLOSycUXFuoAMcs", "c_map_varchar_10":"hHpZxnpCddHRXFglUNYeRJdJwJtGtOgBMQhuxIQBUPqaASpFmkgzTyWKEPCwjsxVWsWIKIVZWoSjNivtCWqSjLUHnFiojatUKYsgprGQGRHKqbjUASuBRNowxeNMHNOBQaFQkFhiEdNUqqFHJeiHYADAlZyMDfKdZQakTHlgeRtTgLKOvwwYRPNhSzWErHwcIerLglCqESiKrRFdlbvpuoIZffhlSErTioleUyBIPYCTlIOagtmilUPEfcBiFrVE"},"c_largeint":-4425367842419157789,"c_datetime":"2002-11-09 22:26:28","c_array_bigint":[-87498251915666852, -8407467157277561138, 3305299777353037128, -7403039927973973202, 5818340189061103679, -7518713824918005849, -7457770293156418462, 2738149380045788280, -735463274242726980, 1915460996400541199, -4716383980050439664, -525358116736942041, -8679099134743059966, -5034861783545411181, 7482793109393105845, -3142968759177878441, 8671687097627380158, -3379518802081071470, 8804906832490004897, -1361541393168249052, -7011054467030942485, -3415015369860304645, 8957390408183307982, -5081181043708904302, -1988844877444168834],"c_array_decimal":[4.0733, 59.1258, 2.0031, 29.0221, 76.0041, 40.1648, 66.1182, 13.1236, 33.0941, 98.1145, 80.1284, 75.0945, 72.0488, 27.1600, 53.0049, 88.1803, 54.1115, 72.0200, 4.1485, 30.0096, 25.0185, 71.1307, 10.1407, 25.0453, 41.1218],"c_array_ipv6":["WVbSCycHmF", "dTEmUkkyCK", "mmSgJDjVFK", "EOXsiisMue", "xasuOoBraM", "GBBwRlrxMt", "VoyQdjGCNN", "VNKZFBCMxZ", "DtTUCdYrgS", "ivogcIXUOd", "CBPhpFnSAz", "dCEUBVdLbF", "JmycrETCME", "hBbRZoIRCt", "OeafxdYzWJ", "YvUyQeQcRQ", "QUHQzaMADs", "HwuupFXROC", "FFjmnlwhMD", "cefBHNqhjr", "pvpQuRTwhM", "NhMacXkwIT", "VyZPqwoEbX", "jcewtGmZYj", "KosgQOSTTD"],"c_map_ipv4":{"c_map_ipv4_1":"124.228.48.174", "c_map_ipv4_2":"84.201.61.103", "c_map_ipv4_3":"219.17.222.75", "c_map_ipv4_4":"225.88.119.186", "c_map_ipv4_5":"201.51.198.246", "c_map_ipv4_6":"75.239.36.29", "c_map_ipv4_7":"70.160.155.153", "c_map_ipv4_8":"237.76.245.56", "c_map_ipv4_9":"251.14.182.147", "c_map_ipv4_10":"49.100.204.58"},"c_bigint":-1882933413060540089,"c_array_boolean":[0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1],"c_array_int":[1932149919, 1966413257, 2102484238, -1275741747, 2056006629, -158104685, 1640726730, -959822290, -943465548, -48984995, 748084098, 1877314584, 297603573, -998463115, -1370837187, 758237285, 607993569, -1666128366, 22101577, 1796765758, -989678376, 678920212, -1801787067, -1441292096, 1410076945],"c_map_int":{"c_map_int_1":133424442, "c_map_int_2":1141146762, "c_map_int_3":427284279, "c_map_int_4":1763093022, "c_map_int_5":160057890, "c_map_int_6":-2047700394, "c_map_int_7":1917047166, "c_map_int_8":-1447941128, "c_map_int_9":648242574, "c_map_int_10":247775213},"c_map_float":{"c_map_float_1":35.13926, "c_map_float_2":34.64059, "c_map_float_3":53.52592, "c_map_float_4":92.64593, "c_map_float_5":62.38667, "c_map_float_6":42.036068, "c_map_float_7":1.3486725, "c_map_float_8":94.98908, "c_map_float_9":6.740363, "c_map_float_10":32.236427},"c_map_string":{"c_map_string_1":"vkQadzsasAaUkyiGjdRuDfBpmpmTqpnAyCgfsRuaCXoMYvGvOtdFkoWpmVqPmYqlEujRHumiLvLLlKNADZcCefEdXfTxplNyBYOZbhQORMBtwxPkpywwAQkeBCpMvbGssMbLPdWHXCqssPUCOlMfxCgxCCTFCyKkQptROLhDylULvwbVGOOkEKpQDgJKuCoyZoJPeoORvmDWpPJtWEOzQLUYyBHpZOEWjUIAHgmlKVunnJPDArEYxDapBBvXrXpHrDijiShAQovUqdBdJXmFECDJpiDmLxybKfBzcsOwetzwwqLJlkyKxmkscZxjJXUgDIluztbexQPGwghrcHfxSUnTbCaXySuKNbZnkcBfAcWTynLqqDXCsNoMMOIOEqwdJYhVYYCjzhDVwLovHotsszOffBGujvzfBBlLmJvtZjrLUJMUoqojLaUSQrYyigPFkzuVdEjTjIekIcVpMYffyTqebvrGQeghEzydphBlHQfALyYaHqdluNokUPpuuzbw", "c_map_string_2":"lILOWJwpnYrrwrEJvWojIsAJLVfaCaWmpRXelPuAEHPGFrbYdhoREUPVTkxvqBLsoMHPPjpIPqRBoIibagtZhWiBVgTIgGjLMGVezVdGNVtNlMInwhOTUMFCghUOAgqjwoKxeCxeHjIdpeKyqbTzFtxuuODXRIPtJMqGxJDNwacesONvgPkudqyVkqPlHhkCQxugwXkWWxhdxAtDOLPXpvxQJvjLfxLIqyAphcMRQGYnwGcCYeIRmNJwwjmyNHpZNLqBuwwnnzKezWIoRyuiRFQDsQKuafArTwvfIsKmpWnHhAaWBrfyrXgZiWRICBRTFzsIRVEtgZoqxLFyiESCWJeXPteyVufRQMipNKBLjeTPyIInOqnrtyZtAEiqfXxYDjCiXJxAmROFoCCuMrhDjBjiOdSZNBbeXOfXvvfjfsyuTICQFLgkdNehNNJoOqZXqRnbUZFEZABxwfZopAsEAQNaPOmTZgngmSTzCkYUMwJfMWYrBivRNbpmvOzPCDMx", "c_map_string_3":"iUlWKmBILvNtGYdyspoNvEEeVlwvvWznuLXApIVsuUsQCQJbtlDiOwElYFElDccTxFhNrRGerKkWUqDSwksjzzIWepGQZJLuIFshMoQCbCeMdgmKsKYSAFJNJXnAHJcgRPxChuJlkGMZxLEpfycOtpGWAjMoPKoxeoJGPmSXKhxBbTRmScLQyLBvjIxIVYrWEYWNwSWLovVwKeKekRUZJJDcAXiFrDWtouLzPtKdgeJnsnsYKwVvaSWcqOQxqnuASXSSxlRjIrwALFYbWLJThCOrgczbfGEgHGgMzpwnonzzcrHPYLXrughYcPXRQtwmLdHqiUNnMZJBYGNQmnzAjWKNsJqGXsjxHphMunznhpjUqWAckuVqsLbuiCUHDdedSAeNPPemCwDGwGSluMcWZZXnyDOPQwAqSblDxZOZSaJMImvWCppaklImYRlMtpuihxporfpGHhQEeRiBwPRRxlBrahnZuVJVTNhoJUhwhCoWvMavrXylKBYStXHaBBrF", "c_map_string_4":"CTczNsIQppSauIwthdbMiRhgDEoEUQMMLBCDweqdZhJhIUOYqYuhkHRhUihBVBuluuYJbVMwzpQqDSlsHfPyLHsVfMzYOouKormirIIPchKyZBhxqJrtKAbwPazqBxywsnEcmWBQrUbyhmmRgpDMlkHQcAvhANJESMsFGSiqPkgWDzhIeoWRxNdeWCZEXkGTKUwAICcSGAUSHfnypoYStSoertAzdFmTaDUDdPGfRwlhoUsiXSqhYbrrEJzgcCOqncgZSoeHHhrJksJIqvPcFRSQcZSMbUMhEoMMaoDIDwavQFVbBrANASZndnGZismGKVhVoceGxBUiuXdHipSybbZRLFKpeRtVHDDosTOzMSTMvzFPZqXSjOIiKwFBkNaURQmIliYQGrZwZrUUioowtbsyuNiMJssNMFxOzMVHHimRravNUYFIafNcgserEjjyCpXwyFhikLEFjJOmDLXMGPEXCKjtUFyZalFnxXYBvnPXCZQbPrwlzTpVGgWMxVGz", "c_map_string_5":"zlweBpZsuyPRuRhdYYQeuWbPAGaZMmcSqkYKPRRfgTaUdknuQyWCtVhRamqHcjjJdCSOKylhdUPcDzNvNIUkWRpYlUtdarGCgTopcYeXmhOoyUQXKqFAfBeTWiAppkLhnKcRSZJActCDIeGrPewbAnhHQEQjORWLOeNweSXUcwYJbrZolDpLGWDUvLZYMlhpsyGzrGocQHwpyodhWXyqxmnxqyvVbKxgvDdQXhVOAfcjvKjpKWWodIVQcYsSzeSSVFQXOkyWKDFLyyfWvmqWkcjcarmDmPTeqTqhsZgsLmxYvRYLlJMgZNYacijiJgmaIomMfZQeYkJVkIufgEjnwAxhGkwXVQvywsSICMvgxrMELEMKhvwmOrkqrYeomuelicxhCgNuZaCWwnqJLRpZojNnWOvOOChxmimCTeVLGoHROtHwHAJUxNCMdrapprwPWSapCeuCyoHSQBZbNHliNkTWeJxpemAwVtRkLRcCPedERXIOateJZpyLGjODtdEG", "c_map_string_6":"PgvsPnZIfEoIlVNpxUFObIcgIVoRdXUEPgLAWAQPeHmwdIQephdIKtYsDMQzMJTSPpMDbzoIbLlmTeyDyvsoPDqYFkVFbEBsJqURwrVgCxyAVFgzLWYNFRoIwPgNqyKTpgtljHQoMQulmDLkYOLtohHoPoCbjOhbgXZwhWJxpdpFQygdADuktYMdadUacTsmbMFlPVuGdmYxlDpWZsrAhWrjEzYPhTEsHGZbYDtKPKdknLDrlwwXVdkqnGbEWJmRitmXxVWbrAFIaiuncFYiYBWsWCPCAyZuGisUqmZZdpTXXPUvvWTLulDXCwUwKnSZHitQyKIVBXNvKYVSXKZBOzNzDVniBZzJyHCJawBXjnVAGHCcyIhKZKlwHxTUKJqpYzjKNbWhkWLUhIhqWDBMMGRDNekqknXKYXnQwehevnCQnQtBTzMFhUYbBuKSOQRMuVaKJBNXvoHsilgqhmIUzAeOVVyagIjwtCzcLXWCvTanObWgBRGoTyYEYTcQbUpg", "c_map_string_7":"mLghBcoyKatiaNLDhmzefBWmWRTvsUZcjDtIPuxpYpbTJHTZtbAtnASWpwVzTDbCLaFUIgBGYgpCZYYCmRFXweNSfnQMQFnvpSPjJcyHNHRAmGSdzQLPTbFAouUzyubYYGHfWGgKyXRpTQJnnsqeBacZqYlUOAcUIAsTZTwdBSbKihGAmBZomJYQMDHHuftJNivNsQLwpQSZTTrXIENNQUzcelzeDHIDpoBwlbFAwvmLiwqZyTLlQHMhVqCHmiwsAxruOhDHenDrPXFEDCbjojFBKtEBnwlUACPdPNwERizJkfDydelzZVdGjmMALioxfrVKOzaYPtUeiqYPcbNUGSCuiMvSfZqtOTAVFISbrkvMWOZJRbDUXRPXZGVdBhWlaqnTNbJZAyDiFzmQSqTiNDgogaaGUylminDEkuXaIrbCWMzTudyQTajpEVQpPyvesOxpfLpHdzJvKQKjzQpDMKXCnOXVldWWlgoOiTXzWJdaAlQVhuraTkEiRfmuNloz", "c_map_string_8":"jdjBGUDopfduoYSDxcFaCAggsVKnfRMKEYIylsURoFVNMKPrreoJNBsowyOxRHUnzjBzexAFewcdpupwSpEmtTfzDigXrLvYzAPcisgJwsKZUnbulzIjmvvjaaRzHxFcKnrFvFGiCKOBonrzgdEelWbJltfqZvefRJYaiziQWtWONqQyIkWUqMlyMudIwhHEdZEMoAkkxTfHsEybqqDaLmvDFpGMUDtbZkxfbVSsiTUDuonXtqSAJNrbWeXcIRvtOgZtQFTXczpxpYDzkDfDKfSupQCUzrfzJGNepIIZvBYKcSyOxqWQnSfnCSRYHPkOSLEjkOPrRtXXDGhMBJTtsBmUknzxNjHWkSvHJkdiabsDUiNgYQUdlFNMSWQbmcgVeZqwRvhjwUjPMTRbpZIyINYIumDiHwtWaAMHZHgZxYwmzqVBgnsRpoHJpDwtMHhYlUOOLPeZTFIOVQcpQfGaAMHKnQgJXnmafUdGDUCJDUDabcNFKoOhEynyleBEspAr", "c_map_string_9":"arTkuWNRtRRHFgaumxNGrNrwevXgVqpuEAFSCPHwcioKwbDOyOQjWTpZttPjRgJaurDnijLZQYwbthxXmjVcdOKnuGYUmQzYFXhcSdHPeTAMMmPfOfIyOqMKnJotNMCaOsSWZvXqcCNxLrrcRNzDujaTSbLcFUkxrvHpavbcbfJaumSQqjiHjuqMSQoBFSVxBRmqjCJmcBdbeXfWMTzrhwZzhDntYWlDpJOqFmWkyHTEbjIAdrknoEZxiYTLGNAXODTKchykcKCYlUqBwMDwugukuZynkkEyTbooNKSUcsbWrAjHoUhmvuBDgncsUGQIhFdeLYVklFHnULZeKOCjPwGKIdxlfZZTBqNNiwvRGjURxtCaOuDFdggbZHmPFjNSEChMnUuOWueZJzXIqBTWohfCETshdIUHvJDjOmCzBybFEQxnUSevsyBnRszUnkXtdjjIAjkpKzyAQCaEDwVERIVkbIYyXPIWRIUlfiGEtKEsDKDpmhTvnfoLdpJTlmWh", "c_map_string_10":"EkjYJsDNijYZibskmYDIMitupVtSghMpKgATLVFVKQytBwOkkXMvbDnlOPSpyEwuZxpSapTmclkvjpRDiOIePzkjTSElYFXcbyMsWxrqtrguppTQKANRwpPfGvrSqENWVOUdLhmuUtuQBDUSOXcIKZsjbrFRmWFBGrLHGyMkGbypMfkVIWtBuAYQgQBdqhUvqqYVTVCVOLUPyJkRSgWBWRYFvapaSNTPDZyKrbzTcFXduTACUjKsNLHrrROOehQXbzkvdmIRRSeBmiiIWypQDvJXLDMzYGfUWiLSkGDQiudXIGpBVdeTZIeIpHHKputRyfGyxtyedGuvROTfhifzyFRvvqpQZvTuZtziiCKtBEFYSthJOXTXAJRgMpCOLonqUMjfYLacaMiHWeIiEvmcoeZEtHxSCuoIElQAVSVNmRPxbhVQSKvVQeGlOXUnFOZuuaJKVzHdxaqxpduoeoAbCjrZvmIkYwOHmCcZoJEUSIejqRIMiPnvxGykyiwgrEHp"},"c_char":"HDwUHrKOhF","c_array_smallint":[-25491, -20805, 28729, -30275, 32132, -31083, -8165, 8197, -4779, -23403, 13098, -19934, -9181, -13857, -22145, -11515, -2715, -22277, 16939, -23052, -24031, -4665, -5649, 7462, -16064],"c_array_date":["2011-10-17", "2016-01-16", "2007-09-24", "2004-10-27", "2015-01-26", "2013-04-07", "2000-02-14", "2007-06-09", "2019-12-04", "2012-05-26", "2012-03-12", "2002-09-20", "2016-09-23", "2000-06-20", "2008-02-02", "2012-06-27", "2012-01-16", "2011-06-19", "2010-03-06", "2009-07-05", "2017-03-08", "2007-06-01", "2000-08-26", "2017-11-11", "2012-01-15"],"c_tinyint":75,"c_ipv6":"dcfc:7e72:849d:1271:77eb:df69:92c7:238f","c_map_decimal":{"c_map_decimal_1":70.0484, "c_map_decimal_2":57.1986, "c_map_decimal_3":85.0189, "c_map_decimal_4":74.0958, "c_map_decimal_5":44.0516, "c_map_decimal_6":41.1185, "c_map_decimal_7":2.1807, "c_map_decimal_8":21.1577, "c_map_decimal_9":54.0925, "c_map_decimal_10":12.1699},"c_json":{"uint64":16775605451766417650,"loglevel":"trace","city":"Bakersfield","minecraftweather":"rain","carmaker":"Lincoln","color":"MintCream","errorhttpserver":{},"beermalt":"Roasted barley","beerblg":"15.7°Blg","language":"Lingala","adjective":"where"} }','{ "c_array_bigint":[8176358319417688619, -1630491023634606996, -7643748068796386124, -8128113481700214167, 3889446797011309171, -4124645203111071098, -1070885283103062707, -2746300750780923698, -2541192767468246206, 2178620507561057057, 2234900173453579562, -8668991846089529942, 3441178786171649496, -5410134052263054795, 5860934614873950573, 7511068004863495568, -1844611079627781518, -5726111635118206450, 4855295476199006514, 6798789610930831113, 8013298718959456839, -5885379309963244420, -7089687365217818959, 6433663246283113116, 2687794993932538135],"c_array_varchar":["EaXTmlllkgihgbrflZuqqRfWTPboitijabqtoTdhTWoFxxddJFiCenAPxvDJfyRXuGLjElpWwiegeXMFfpnXCykRzXkDpMsaqYImktmVOoEnkPcKEpWaAfWyuZNtNvSPjXBEmeuKhQwWnSUKxhFrLGfpZNygeDEqwRaxhxXrzHSNvzDigjigRvTMmmRmtoVpEwOAhXkKOPuqWqEvzmzBcuvZrwtLCxqGfPEeVvKWKIqiTLfIgLItIliQWzRtHGxn", "RmeJLlCEQsrpmtshWkOpxndaDylaIHTNLdwGQogJumQsfmOcgahHHFuDduFPuYvTpnVTHtnCIVNutrmWQZhVjneixDDHSopEYTlhoWJGvavSFWDKkVztKoAroywJXAYKzGgmloSCCddVhnWeVMkxxtfTyGNJayXRUdGkOFtSukycBnVkpadpZUXXiZvRFyTRjcBroRyjtywCBfYiTsnYpbXZIBgqxBtqinCOtNihKlRkaJKKqzqyjLLzQUbmhaSh", "pFrFSURczlWzpIerGGYVvyBwYBsCnNdmAaODcTjTmXNNELSqumjakHKJtRxmBcuaqlBpswHYzwlLhZsooYKbheidPCGjVvcdIDfVzzdgEyQMHwjrzVTiBiPsQdVtfQNklxmhOQxMapOGqmLwEJaeHeYXbAbVqQeNxSnpuBuYYbJLMmRhdahYzUYwzidRcDdaMxqraXjJogzMQtgzyaMcYSpZyzTyJPeALdNAKLfIHtRcMbfgvqnkQfbyaApUUBfw", "GFWQCafDSCGBVVnoWAxjoDTZYjtPvsSYLVtxqdJQuXjVdTqkiyPgmVrIJXjVEIjYQPxXdiCGJoOoCeXENbQAEOkNwlGmsAzzSSrexYjlfVULwpWgyijmpmoFKNgrCHCuNcgddLulHjVxlBvQtipWQcmWOeFjPgmQhNxxUfbsPaFdKpPpnaDksWFOliHGtPnnPKiiZTAGgWDcokZMnVMXGvMzDfoXdSRNPnYmMUwMKPazLabcwzWsKonaUqOcYaWN", "dIsQFvVbciQNnUNNbbhxAJcRiuREMpbAcMPliEQkDbKamEPluIBdWgyygRRoJfwylWCIZnOMGqTFksDekuenxjZXTjAIsJOvQEAEywkeaYZIvaMqcTkdhplCBMLqFEKYpkUeupfIjcsVYNajbuAlpOzrakNTKVVsXgXoNEjomTTvCBnFrNXDrywdfwtzlXeaErbMkPIRcPGojirSwCfzZIPIeXTxpJnzOeYyOmyMVqsTTWvolQkhGaARdhMZjnpn", "BgYchhHxJDmohOQHCGbLaazoCNjCYFRaPOFZlmAViwOgIXMBQmJblfBQhxEkeOEouXaVLExyCGkVIIRnIKIqjGWyigXbOtMaXXrutcQHmfHlAptZSHAUiyPsVkBMvoOVGDfIyfTyKhczNZDQwgccDQfeoUYSaHEAJlOWRxvtUCMfQzcjnOCAsgniYpPUkKAzGyrvHHsxKYdxZBwVJiWDGSlZXmCqzmQXqdQHfzGOuPplNYEExmjkYLKKOewrBZDK", "KaFmODZlaQjHdaARvXTohoZxFNxNlNqAZiuhFJvAhvusUhnsCOIRFaFTRHceVglWvPEidPrXNFPiluBpsIYHINFgTrlOrKkeWVHDMloKbaxstlVTDbCTVAvGUkZxYHCfegaRKBtHCtshSGnIFqqsNpgJRJgrrCUmwXzbNMhUZyOriSgznwxEUlzyjdTjzCuLNCOzyhAkhqtnQjNMQovVkySlIWAoXZRTvMHICPesWCduXMZazqdSdpKPOrTbSZxI", "PnQXEAbwfYFkZtbqMmLdfBwEMOoTkksrYEzKJjOphCFyuRakcDYfHrPOfusiOtccfGiQKyDpKvvCZLIHsSfItIjZKrltOZzceaPyupjLmSRubdhNwWbVecNhbLoFOHaBLfjlOvlzhExzfDWcoMQgtsLNdyYSSJqKvCcgvGFYaBXDalYEBRevRYlDxIwhOMjeZXvNnBOqQxOKSZkcruVKqerqDBVTkXpgXQEAILmhqfbLIzezefMxCAaFNXqQbLEJ", "amRDXzCUOhRFhevDnctyVMNImyjNnMSKcYFRLevczUEEMFwQXpopHICgpxMnahINZDOFdAttGBvvtKPuyWAvMrCflQZyIYfmicIuWtUCKHtllMZczguESXfSUknhwcQMIRaNYHSbZMSzXowIPMhOuIeLuWkMbkTsvsqKFxxfZEMNWMhusBTwzeHmExUlRQLcASBhEvuuWjKgDdxCWcFvWTwaRUulrylanUpxfjzFnYEUNtdSqnjuSzEQnTjhbgLg", "yxDXDAWMIikkggVnkhEbWVRSivxwJhIAhVJoLvHVWMbypJAZrvneNwkZIhakBIrCbpCUxardDjYmqRiepEaHSXkdFZTvuclXTaZQbVpUyEkkUNxNuRtqyvUXnooeOjcGQQwiLYCEdcEkvDylvWBZbVnFwWyMKiVAwhvxTmSmFrKSHnNRfIKnCJwZZzvHuMuSFpPxfYTkwtdVMevnDXJVzynCRdjjIHNcTLeoNsLzImXeWXdCoPDUyHRgNrMUyWku", "GKhTGRjhDkHSWpcvkWLgYksUtnqliExWqJnmUmFzvczgjYcIPExKSVyCgloVrnrPFFtRxNLONqltFeXPryDXJsElpwZpUhPEzmAoErYHbnapBTXNwrWxrgSBSJySzsieKkiVgcRAqsLJGoZSSsDQXwkhcKogPpZIWQDVCJKKdchDWHBEugxyGaItAzTaiAUrKkrRmiTfQEUuCfLdBVfSlXGckmYnLybrnDdKXaqSAgCUQhyuBnURfCJcqoDmKdsz", "IhKWkzSlWhvIiiBLEkPVlkIPOyolygyQdQzasWIpVelwbsMktmjVDXZLDZnLlnUssTOqlbYaSwtjZVSPjLeClibDbIBpKioWRAmRgQpOREEVFRqXdcPqYUNRhVQoZTZgspZHTJPdNPJQAmyrPHliaKlkmwsGySmINrDtCvAUZUkIzYtcDPrgyMidbBydyGjoHbAabetHQLdRkPhGPPjaBWCrfPQjDxMgdnrwCDCZySlolzCXzENJCXJOXXzEFDCa", "SNVvSSPibWtCUSBrmkDYEdPmefhaRwVTaTEDogMhCoASJoHrCcUwFNHSRWnEmpbJcwJDEgaIreRLlyEzBSuJUwoHQxMseKuLzCNuomuFBHhqGuWtOnAMedyDqHVTPpwFjIOnRwMjmLJxvQTnqJbqUMlgoFkYnQyXrOtTDiAzQbaSVUtauYLANhkWvRxafvWLDiibNXWkXIrheOEFvlHYvrvMwDmbkVzDkIIMtbkkVAdJNqqSftnHjDDcntTfwPxU", "kusyMgJHbBqdNXuUxEvqvOanxjngkUidXodepjzPPgCYdTngnzEYmbQJKsOupoPoRZGtkYSvNQIOLaPNPycMQBxJxUcSBPgCVKFqlyoNnGzYJhJbTXryUvAQKZvTffUagXGmSDaVVBjWXayCTlWviweAEyPpPgrMmVyhaQjuiXBIRMHaouaEIKLrthyKAmuHHWTizVGghAJfwLDEqJvtFpPVUTLqUITgmEgseeMvQAONreFBrAleHkwYxMWypEcR", "SCSWneSlEsGmvUAhLwrVAgxZtwjeTPbIeOyndivGORCrscloqXDkpiodJiUfTsdqcffOFuAqVhIymcKtUoChUprvMSVmFqhuyKaswugUwSPrUsKmUYvZtRgOFyNUNJToOkfiakdpekHaBEDtAENTpcFERLauZbJAPUndoXabxcjcDvfGGnqltkzxhwDdBbFgLiyNAMcqmMKIDnLlyjJkLggCsolKgOnmzrXdHvDrVwqEOjUZNrtVGJXeYdhhXWXS", "gXjbheetpvoLgdOyMrJreUCWjrzefENihrufdvCDTjMIfNIMqkUcDmZJkKxjjMQUUJmPYoxrmzTbXrlBPFFTVWRoXZKnxvClPIouwNVEvtGWjsXUKpwPgedKuJShSGXAnrraJVcVDBpLsMMOsKQplTefarUIaWQljxxTbTsViPEbuxsmeaUcBhQggeYDMuqKGkgdlpoeIzAPPqnhcMcEuxIiBrWMeBVqtrQmuMMeuOTObclxjCkduARLajzSTdsq", "UMYJnJUNYKfBHuZFyzXxnFPlXGDZFHZddzrsGNXhCajDCqrneoDOQdoJPzIHOKMDylscVFWcpcVddTsXozdOKYUtNoacihStwKFsOZCEzKhvzZNtPfPeRkakdDLFyZWACfjahogFdaRcGanaVLEjvGTCWxntKwNeRhePekjjtRTNolLWxdEfnDqCugFPdpUbRTAdhgVZezaMaJLfAbucLPziEVktrLYIMUqhYdDtpYQdVyMwgzfRxhJvBrXOlWGw", "twzSJoVDFersitMBnYPtvaUbFHMmvtAcKhCChaTBQDCbMUzWYWcvkhdXffhopnUluLxkPPFefkqMvuLJdvdwZOXTxOzUblXkNMzUbxlEbPOddKZtgRQojUWrEXPmPVBToNDgXnPPHvNjWSXyEhENzBIhbtTZIntnMhKpwNJaPsqOjXSIcdcHFVVVKOqNeomWkwVuHyEnQUCSOHBnYFwlfyKEHZVmSAQKCprodJnNbhmuZiPDlfLFLJtXEdjjhCig", "ujIUyDnxPCxdVQWinjcZTKTckuKTphHKSolBSGTVkCSjSwucEuYkpCouKTBbicuFPZpZnFkAPXTMKHEAeOHRMzCRTtGIktSgWmYZAJgzQPOMPCqdvnjUuuONVXJcEUYQovZHrHJqLdxUErUmNVBtRXDmMkRVqTilxLcAUdljnOEKWfTJmcuTtCqDmFoSnwdSHyWplPZJqXHeAzUECmrVepnbBdbpSCDZoImRRqQkMtdvWfQfufozHkHJNKRMsnAe", "xWyULAomWYMFKQuXSsjuHfKLRHalkfMEHtgUcRVAtxftFeDRPGGsXpLlgdmmwzQcbZiUokRjrTVwQrWTOOrocHiJxCRwSOAeyKERVBVbYDacOcaPhEzhtAeDZQwrUwVEaKUbWMMdfxfPhNbdxMCeYMaMPBBhInAbklzKHoLcNfsuBgZiWBdCkwekcngKMTaxzQYMpnDvLgbZTIIeHYcFzVkeiGVqmyoSolbIuqsbDYWugzkOuqahvxiuuwKElEaw", "PjKHYQksTdORDbnouLkcKtbbMtBPirxRiPnXlFdQevUeLOXJpilvsdmCQcuRfzydAcenjPegoyRCxeHIfHhWgtvOgPQYJZeftQerGrEdqdgghNQpHHemmxorwAtvlIRLytoJFkGaWBbojMxVRqudHqBBOmywVsuifareaHRZlonOOBcxRkwcxXmNrCysaCEyhMTXVJOEvPtCimzeRumzToyYtYUDBiwwJSATUcvtEgUmpGKGMvDLZlfrhqMnRyOK", "nNpoxwzgXbEbbrWiOgQUpdCzJYcIJXwJkHaocPpejPQDEvHkNwNcOxbuowCrfNoXaSiqxKcVzCrPAnlGLZiShuFNKAtBQXcvRmUmExYAjohTYQkHQMfXOrwycBoOxWYsTaMudvKgfjwVvbfbfxOrqcHUeXFpzxYpwyEIrLmvcVGdZoZDkgnRekzXloxAVADzHgePIJDjKafWvMtpoDLcLxnTrfEDsRKijFcDcrclveBAkGNSkaHSxhfmaEQhGtyZ", "rgygFVxfNxOxpASIcskbdaBNOEEBkZENjtWInhrlCKOVnnOVCSmOnGuRCvxGkibAhqBRRvuYlXIVhbUnKvmMdPoxKgCAeMdOaiKXKDfkuZCSxgVjDNnYAZTshXlxExKxHBPiEUsrIfTjnZerWeIUvNnubvdiUdZIPfRGDKAPFNIhjXVHzWEpNOCuxqZgeIvDDwlAeNRZyibrCYBUDoMzsQYJmFvnlQxsiLNQUkignUOvALEIEkaZVUlWgyrSyraj", "oplNUYaVsNCVHbIOlzeUZJizecprTKksYMKFBsjBJrOucpPrRIEgbSRHuHWJlLdPxowOhsYOCxMyeHNVuKpiSZWqpHQoPdXLaJdurklpougbILIpNXwwgEIcCYLCmcKActufjkuHMHBgdUUKcLPJcnpyudohHhUdVxhlCOsQUgpFMJTxlxrvtCdHOphDjEiqUFuWwSOFjGQRlOpFwXMivIfzvSTpjXkzLpnzxOUMEQKYlmAqLjJsEFclcwHKjMXe", "iSOzkMMVFtMuzDtZFwhdQcgKXXBNDWyOwLKwkVteXXRmXSEgHyfTXSvDhuSPYZITJmJJBKyMkRGZoYMqAKPRXruxorWltQUsDXYjOjWHVRImQvoGnAuMsPulwhaNJDqvqtyeDpTdBVTExZxKnBQnINBniLWIacazfVtOgzMesEGUsRToPdzxoDmVzbYgNhNyEqxpLyuvlNmXqFAAKQfEqftQXLDwqaPtGEtAJOHDjzGQzYmsTONNcPhQCpCwAfRj"],"c_array_string":["LLVFDPktEphRTIIHNHYCAIYaSfgguTNpRTajfjsGCKwHTFcPuyfybrxaRBWPofaWHghdVUecJBGbLCabHrzknaDaBdTYfJERtKccmNbUrbituXIVqzDcvKrOytoBxzhDghocrZsMgeKnWWArbkVgweKdoZGgyTOCwkErrlfxuDLPftIKNjjXLsdMrJyPrUfQZQQVuHrpnsqZhBsQzABcjUwwGCCIQEctZyVVfEXCckJOnlSxbWeeIUvJEyHubTtYnZOeXQbXNJwjJkBPBKmcGXdySxONjvJWQmGDKOtqNCfMWNCYMFFwUnYQuwuUpHioWyUmiBzNEVwJFwiOMnhYBkBnKxNhIwrnlXrcxIilRHRWYlsRGXEJoMdiNgvTODoDBsBhnokpiTDTgJilcvXnjggLADCTfQPNmnyFvHaQauaEsdoWkgvtoyFEUjIMPubJxsUlfuCwWBXBapIbHUkkOXmBfHQYyrtIRWYUbbDeFAMvYGMjlhNwpFMgkzKNNPuc", "VDSdnMYeEovxGsFlzaCFSHBGHvfHJJIdQltNoecowBNmLDhznJetkOHAStMksoYsMAfzDUINCTeloJzlHYtxRLwRgtMQULphlwIuUAJeZRLVTdaHXtAtpaWTXBcGuErdXhuutxAQfAoqqJtPXmSrLwHOzGEYCQzrignKEaQZZWwdCxyvZacWXGqyRIQhqfNBgvKtnYkcCABrkWtdytcHjIcitpUPdAIIDhIhMAscqBuOwCvDKnCokOqhLNqThyYDvrITiYWZusZTmZgmUaOMmdDtgTZppnuvAHaeRpYzqaElxGgAkLYMgkYPbefdiKuqfTJBKFpGTZvvYTOfjfUQQnQGXwnjjHatFScVkNCEsqZCyUmhUmqtblZOJlOFwBOCUoEmtaylIcNWrFxYpEAiTTaxJryhVFwJvnrgKfRuFQQSvJGCLsVWPIvnkgkiPZvdsXEycuFIPaULkFoKVpFOgLbkTOISRmaHiQkamAFxtyeoxmwqFmnRSQdPSTCgUiUm", "ZjoFmVKLUFJtpxhdHKBlVtJUFSSvAMWZcYIHfBnYlygOJohRDVpsPCRvoJyXNzBNhyzvJSPmKtoomfFunXUVgEhNgjpQWyiEJRbbGhnZVAoqjWCkVGZsaHjgWaknLVaKvoPYxBaRwbpvpoxwjhXTBoZjwKpaAXYQEcJwxbnieuHQnnuyzaPjkdMfKOZABPcroPQgrtmEzXocWHcvtighwsSjckIhkkiLgddwNBRFUXBwdcVoGWPPhVlahNcJpBBeAMzftGWZduZVbKiHnVrSpnuoWcrzezSFBkXOMzIKTbmJfwHrjamlygNqkytJzLmiLKEzydcfZJdbkIbLVTrSCmczQLVpmvojklknNGQpccjbHJvGvOntQXuHKiFGmxmzBhdSmISTDsSkCVkLHSQSipgfypUogGVdqXzIYOKGVluTRRMtUNfurgVjGAZchARPrjRxnUNsomhNaERFjREHZroTDIcCdCRrjVHaAUFoBTVPfWftnflJbvOKNtvWigwy", "jCULbyqIPJOtGglLAEqDlItelStXzOikCwQihwXsJSyipAlesqHNMXcDmXnvAfsjNUlzMTOmsgplFyPiqQWZKeaqzzVHKsEZedbAwjLRHtJwEAxefTeAEoSSIXFgWIvQfSRixkdhmpVaTpqIHQZYEjtYsScCWwmkuOsQaITiFClzFVfghROokAxNDUJGFpJOeBrpPkNMZMXlhLWWKGiUfEWuuYcLnzkNUScuGdUSAqlGzeeRSHtLkmYOeXJcFfYRAngFDDOpLEDMVVUgNywnYtUbmWPEGpHyMJRFJDordCWlanLmkPoGAZCUdvRvWUxUyRfsSoHMvwMRXPXLuZZtbVXHVDVotsoQlGnMjnMouIVStzJWMJucdwiaMqxSwZcjZaddhvLbXaDjaQRMmXRsVXLhRuKhBizslgMPPmxrMjIbAuAKbnatMvqlaiYcqzXXcPrTlDxBvFQKNRtywWDuLQgkQRLmfRtktWkgDEUAsyiGVRrENWUOKXIGmqBQOTNx", "KZQPFfcDaCzzXjkIMHQaWhrMvirhtBpFHMpyrNLcoIiZfmGZjsuFpZopdMEAYinjvMGAItzLOmqRmcwgbdjzUjUyrfPJaFesCJxdvWdgzjeFQtnwHIfsAehewKtyIpBKdrrGWccCeidQKsmeByGnZincIyoBpWQRtCETnYhXAuJcfAopvrSODvMKYnJVtPvidTXoNwTkMTwzIBArcvxdkoNEvMkYQgazZRhLhMCymCNoMHVYlzqzeKMqtMZXCuOXRqLkomNSmdkMFPwnpGWhWVFLBlKnvvisjJlZQBBNbBcWJHcxKYBOClOXuJvCCUDoJOjlgOWUOfEfindNihnkZeIbLOAgufMByKwnHqwymzVsDHZVpkOJZQJGiCPVNrHPHlYLMxprpdVPZrFcFvhOBBPpILohNZsqWmPLFNpmcCXNucfxYdrSokaiZPWWcViddNgULcjSAhpmohbrDlsNOlitOfBLqBvANetXoHBxEoLEkmpjPjvEUfKizElOravV", "HKeNhZRXKhNVnUWFqAOZZUGszBSFtXmeLQdluQguIWsvNMbebKdTyJsdBnSsYOFwDApVnwIMJfKIatGqRspwAmrhGiDqavWeDtdRuKofzDCOXJyroEbJcRrDwBzTHeDruzhULNHBxaCxKhEPKcykSsBocGbvjLAWjHNJrhxAteAoLrnSTsopCABcbRQzXrhgKqAnGiavzvIGFIIbdDGiQzXckKvNaYcSuZUQiWqtsvUvjsVUTEonDWoIOQyOplDTNtYpiySfURPRCpimZJgGHRKqXDqfUmAzQuqerTwPOVVLGuxgeNcBcSPxDDlXUONYnjvwHujzQqmDTYkSdAzHYknpNHKdjUUaaPsjBUdWetWbLBdtYKlefcWpdydKulXdpsyNAaGyhGDesrmTBAmeSYlZOQlanlKvGgCtBRyGJLHQIlZWrZtQzVwgfDcGmPjdnZbWUWaJFsdTZcqpgQVoLufpOzWibwcTysUOACUzFjQRhrUoDddVrsGCknIFvEmH", "hwJeIWSLzTACUJraWbSukqlhlHRywqApWBufmhMWKCSiFACopiIpGwqiqHlvdTMaKmtwnAVVnRzZbhkTKJqGcwhoMPqkHxBrmeirIkIiGLaUaLAUpAQdESivCDJtvKOdiwyrsIeoouuJEEQXKepctiTIrKBpOSJcmMoxgsKTVqxMevaFdTkfjgbmcoAlzqcgPqvumuhRWIsiIMAVvOSdpGnLAQynigHkblTBpretQkqBCGNOXrxyNhHwhkEdcyMyuPWNqMeBHoDIDMaBZHBkymprPgVBqbnBkkPJZkGMbkiTxoyNKEhtbYODIZNDQZMWjIsWqIJqmgPdQlCXVeLHMPZxhjZgFqLmJetkXXgKikWUGhGvtmOLpnEakofujKBVWFulGzTwHaVrdDywAIPXYUDCMxfLgjfUjRsAHHKBYYaDJMVlfRTwhrUCrftufuHtJArGQRrmJDJRwDdlvRJrMqafImOZwVyKIPdIBXtGNMIOGkEBAVPlHbHoLcjQoHMV", "xXpGYwqfqPgKPHcPctCOmJTmlcpfrWQcjbVmHyCJPaToehrnZASwBhxAWDcAmNTuQpaKEWtlLvyfkfjmjWyduAgOxOjrqcwkgJoEzcZwruknTRqCpAMYuTdUrhYKVctqzFRbxxHJgOxPHexBLzPWazRMauJFAtsWPxoMyaIyXSVzigOKnzeRsgeGYguSeRidmUVAxXhCjqDCTyRzsdpCqkptypbotsTFXIFhUrEPdaIGgBSWZAnEOcbBVSloLzHPISlJcLOihFhKFXNNGcSbLjvPtAIJocvUIaNKGKrIHgrSUIxyjxvWLINOmveXkvMNPYSNLXzlshckgrdcknXlATyvcvNbSLtFCfoYoDKglTfWgiOFYttHyueRQTdtErAGjNOGfocIAcibjaaWPkpnWlPXGpheViKHxBKiUyHqylKBJBpRprSlWzrHyVmnIyjpGLhpZTIveFTeBwMKnjVUjFZYnLbgroHKRxgsrctLrpfGqdbCCPcgPsAVubeZKzYx", "NIMKKTREeHdopcBxhOGqNZCQDHbVTrQLGpMSYHUCWgSKlTApUzaXZwaXPsqVbrbWekYItEyTZxgYFjqnpsaQcOhddBjNKFQpThYYrziYuamBeWbAhGKqMRyiaYmraVvkLsuzTKHRKataPiFzuRtFMkXwFtEHbEBydWStZuGruAqyhQyAboIVVLopsaTWbmwYfwRrNkaefnYZELudCBvVJefTmXxlMoYrGgReGJkxKkZtCyLMHcPqaCFzDZjvQOEvdEAlVOnreFoVJAOoAYauCIbIbeXaXUQjGrewpfYrzSOUpVewdqnhPLgujgIIOeKszGTDmEREYwxREBpzSRTJvPrUwLPheJnqapdcwfvIubeTmlGasQQpLBWsYgDjLNBEYSOazcbtukrHQDlafXkNpwkDPjldoqZXvuhPMYOHponGIPdfipncHzDcKZlLccAGqswLRRGNmNBsSdSRtvhclZLwmxcIKdqwRvuWIUXgtJUKzsxQYOQRdnXtNjjyquJJ", "uSRRwUgsZvBQCDldyItEcxwjMtGRVBcnSuYKdrxtCRCXcjSXRHSbccMcnEmXkiJWLctWNKAMZwrBNOLUJdPlzlNlCrsHoDsCOeNusyobMLnphtNhsQlUABrfpAbOuRQnvIRaoyCrHTEFYBqFYSroXtMtYNHeusReIGUuHJhKeJrmABvhVDrrjkaizndybMoIUwsPgFMhjZzxuqtdlOoWpVJlJymlcgWtQsFVjTLmYhNTZvlOcUHtQXXCGLpOaTozkGedGDhHQLIYkYXDdpQCxeBhlRSetuUOgOwZkPdsqpdfeLpKOUMhPdrYetlPrdBtimlmDmtrkMtZICFPPimTTReDgMOhEHDEtZqxynkZwQyTjozjwgNnqbcScuqlTpraNUVLZgQPYKnHfvuCFCsWDfUcsoGwBsROmABYhPotEONUBdZNDbYhTslkvmWSYtLYovJBoUEQYWgtAwzhYOpQKIRtoiAAEzwYdLDcrmuPAbBADmDLdVxOgLfooCUThJjA", "JXLOAIMiQRMPKGjahtmoqjOmxlhojwXAmKJSXYWBzDczdPvrczWNqruAcxprDYddWixjVmpelnQXsOmZDrsePKSWZpXibxNzSlZdQAVwFYqIlcTrKPmxQbfnCesiuScuBFEZNvROVsRPbUFGPFrOnJAHvPBxSeunTbxZwqvULAuOtmcmpCLUmstElMXeHsYAnllubfYqLCrhxXGeOOITIDEqvfrljhMlPnPgCkKoRqCvCoeNpZGtWIAThjKzfxaEhMgcCnfiYZmSJvpizvsUIUAkoikOcuKYIUEYSjIjacQYUgGznlOgCCeMqTzkWZHowIoQWzUNvwGMKNsWcVhPaWyOkovkvIkmOGKvLeoDCoXBgKCAOXMbLdugjFpwRScBRsNbViYhxSOKqVHTuocPklesJFlEmNtjpTyEudzYoISvxfalFsszpjdeRhKCaGRdFTWUcBXxhThlJURHCelJopkpVjrFhhZuxGGVgDiboMvjUkwduTTCszQMVwmFsmjG", "CVGaAAdkaYfobAwHXjmOkwyJSgLKfTVvqymhPDNjhuKAzHLpabdfuECuQWVQFMpmjeczXfJSkKuPXlVTuchQKgUgagPxLPtLLTBZKRFpBEfIsUIKMLsLUmYdPiMMbShWEDDZpXhzefLNybcFURiYCdMaBDBtdsphRGSqGJDfVuYJRWFmJGBXDFJtJfiFWdFwJjHBWVLYbCCoCItBuoYxCCacCUgRMGysXNTTQSjbDelsiyxjdsxTbEyCAKwnZmLlGRNiFTchgTZBdrBPyVDozmSiujBmHYTyQHZjvDiVqgJOMNGyCTYQREIeATnkslmDqOxiNQzlMBmNZbGsKWtRRSZlUujHwNmNGXKBLnviAEOalISbRqTZrJTSOTOxzTEFEEQhAkkTZlzjBPfZWUePQQrbwkfpfUGqSgYxxgxKKICQwsszfNGVAUsRCWtCcDHYCMaqQZRwiGjmPGneyyROFxNisNSmDDlirQVxnLeCEIKribKkTjIsEuEfibWbgeKE", "wfXmDLgyXGickVFfIcnxdvKTaygqDxzhPIiXSVJruviOcRxantSNSVRigdeulmBnwLcqJztKLyzRDEBMEmEGovSLMvWDKYlwZoytxctpIvahBVlLqffdKsQIRzLbGkbrWPVoeCxmrNkAdpUwdRiyTCMGTPYMeGjIZzbWFbPkMonxAgQQLImfqFMIdxykWhhCYaRyNDumcvPpRPZQwRBNOBTlnMeLXJICAaYvUUSOuxhIUTkChTeBZfTkJRhiZtsYRqHppbErrZitryWbWQiScIJEflEdJzBfGanCIxKgaRDRjWMTyUZZOARdmENQqPHcFmYqNJqykDtszOfgVtkwEKMLkaynwMbeqXtTCYFDWmeqzbKVCLbUFGCIhJwMydtpwvMDKZSQJuBnPoHZEbyXscOJkwFcfIhzQTWvBmNdzCjXFjkNPDlomkrmSsvMhpXnGrlsITJfwksHaFJxosrqhEyuoVgIRrcXCaeHWRPfpFTtCWydKVbhCXmrskrYULrg", "nzcmBDhgzoyUfrNaBqzKmsMrTtVTRcEuatyHcsdNwWKSFvnqUHDDLHhLSWQYXFxsklCcoYjamEdMbLdiDkwpvuerGQBmgkMCqKYjtYqAneNukHkiqHUxouCuzvoZLugkbtdqbzqFHgwDKfGBIFToUAkVCqJTpNPaAwVSNuvddfukCyfBrdHWcKaMiuwkbaCXwANmgiKDeDpDlrbvbbJEvVXDUnxgFVIecpWTggWLYDFdJmHrYSMnTNHiGthcsHneZvJOZQhZNtLNVgdRbIsUUhwGxiVpRyjXYjCcXgdrJcoXZMPqsboVwINXnzOVDiqmJkZsAphLZqJVxLOxUOCIPvDaTmBqBDTfVepDqOqokWPKCHWRrXwBrnNyQrFGeBxSmfbEwyoUjeGLbsWbSHWJYIWgHzoeWJqvlfpMXwKLLSRsqcStksEVzWbEUHSUCxJlgpWdkzzqlcJZfuRaxfEaiYFkuYkiqiglriKOXkkzIGoSKAhTNETRQgawgVsUiAkv", "WBrRGXlnkErCFJWYLhXXjSqYosvNLxqEInLfPzWDHHIJlzgBArBeMZCIgCFelDtZuYDHpgwyZcMBTFjXsanYjZEBocOSSnbXRgaRvUXteLLaeEXvQhywUzTkbyBkAkKodODXOxowSReBOzqWXLzmxwpYgzfkIrOoeIONFSVTTTXGjuufFyIAUXKctBXGAfaomzFoOhAJHQIypVtALHdYIvnQfVrtTTKiIfrJpbohogDwzaJFnvgyamhaAfDbcDiaKDmfdMXGrULfiRyendsfyptQrUKKPBtGXwkqpYYBtnxpPmpOpiJkOSfTQARXMWCtLvCCEIyKtKZXNgymrWWhRqEimNfyKtkXAWNnyjGcLCAnQQGLQwfytQOPDcDhWAkNEyqdXDMWtCeWsDFExwVMepkdCmxtTMRJGbChmszToglGEyrPROeQvkdzrGHHbtFoJIBBActqjrjDEHuevDuAOkOwapkliTdfqZEOfkVhWxTtegKzERfuzWbIzXBDhDKE", "iFoFKwfObFVZHTbtEaSZReaaXdYOufBVrTUcKQGnkephBDNAhTuCeFhyuEyBxaLcWNViIkbyVAtyrJzwPbJgchtJogzKUSCTjkbbRnmXXsNWDJpqOZTvgnfWzLcPBPJtMMzAVtEDLajyqBTnMtsBkHutgjhGBnTzfpqjVoIAfHaedrLZdohTjFWzKtlqqFMbZGBLWpNewtPTJjqBcwgyjwJTJspyZtjAZtLGFnCpJXdIlZyCvEkitdopKUrzCoIWDSxwYfZHasrfepRUzamZzIgglXyubvSwQFsTdpCZhzHFnQfYthyLjKpfyEOVuRmPeNGaMDfSqcVjYeEGjmbADjfirAYWEEECMQBBubOcgvlbLiLXHqLUxBsjCGaKzBaJVDCieESbOwNyJrSwbpfNlMJOgskhgaTUbjqRwnKnqSHsbDSIyerbwdwitgHMSLISSAQkKeEWpvVhXYRfUqStKlmDqWyGtoexQsXIuZFFlDhmwlKEbnddafBztDPgorEg", "CPajjGdUFtnmjQzRMesZKoPraDnIwwSFMvTIiHMydBjAGtrrCsvlDXWZMmwYYMFbEIoTzuPgwwCwlfSGUtnGtiadLBoDqmNziZMpxXkQTgOyUgPouHRYocOvVnTIiZEBklICpEwMARAXbHmOzfzSzTpfkMJElxMNFfJDjlPGlUFIjHWAHlthbtxCzbpoIbMIdzBEAeKocoRwEnMQUpWBslzrvNdeomYOoIcyDdOUvMyoLpZcxGXHYsXetvMqxVrECPdFULnUUQBIGnZcXIXAueKcbfIahkencmigvIDUkpNGdMYNhrUjrgCBocASfPLVUtKyhgjrdpLwwIepDvOZbyTNNnBJYBOAvsWRVGVlXRHMSILTcPwVqwYCAcglyvCeGeVOPGDSucmgIxVbOQMiQxErBnjhOkYDlfTtiPnUXLCGGPmnqMJhKCCylFOeMIRytOfZnlempMWGzZFdUrwfQybccjZhDXiUSbTTrHiaOaQxCDzmGzrDpZFqpVnIWXwh", "qXrPVmZquAtCZOoTJKUSfceEFqNpAGmGUXTfbmtRAqFZRxOKmQjvwQidlnwucGJkRzLpaHfExEmBaGnYtkXekfQMJdcJoEODbMvONLQKcNpCNhKAormlNMtxnsSdSwJSuAqBYKYURFxFDqIzqcCbfNAnefFWbfciukCceWIAuoWukSHWCZhjEMhBIutaTWBMyNauLzzoMWYmebNHLFSuSEdSXkXAAgfRwPbNtRWWYijbeANaIfIkElKMDAlNsCJXiroOJYgnErdzDTYmXufRvTvebkfMWNNvqwStvaVzVbxhqggoaEOrrrSthPBPBPqkRaAWaXcVoaipYQDiOlRRnJjXGLbIEhNPFnQnFvfwZTXMAuIjpDtByGzedIuFfJIspeVHQNclcbxuxZLROzyKBXDsVVCeSxHkQqpRVfVNyzglsNPwlcAPAwCGJTItokrDNJMNSVvuScgEVwHtBuohrDYtXWhftNsKIRPELhqDtwkqZbfemseKjvRcLFikFZbR", "jsiioElnSkSruhYhhZIIyEVVsMsrdjqRimwTqoAAvrRFhRZtTyIEqAMZzrOescdiqDDXokJDbqrAWCIeTnQZdYyiByvPOkOTCimpbuoTOqlMObapIWkdVniQOyRAOsjjtJbaaaAzVUZXDhjPtrvmxqyCynAiTVjtNBaYulXkrobiUpMlKgsQYkSLwVVYYITiUGOCRoNJiTiiOlFrNcfVSeDQcsWpwVwfiKYWFadWvTXObPgrVzLvnTQQxYBkXgkiRqtOygitmMsrgTOeKVtVeFgZbIMgjpEbIOrBluiMCurmERrMyoZtWUBDsQuyUocdExbbnLIiirIlPGquclkFYIgMGikcjDRVPIvuiZKyWLpxanBNczXFpfRsOSsneLTUFidCFSdBaDAwWYfLjqEZnEChAxBQKWYeVLwAEoTWpCLHgebeaLxFYtLqpoHxPznUGAYhBXJFvKJuQAclqrhZyMDfQmmMBGAOLnvXwFXVjiWFhbGMBYCIetYfPVwAkqYL", "tffRIiLCWBnNsdMxZfUsFoOeDmMSlQmQgikMQibHpjKEtnBeNXUxCLtWwYBLzRHadxBhvRDRfzFCHdpWvqHVzcEiEdaYAkLDihfIQIjqAntuSkWDHFTuvgrQugupEvwJesskTtOtbQvFzseyWDGLsodAHwskClrIQQIEYalHgPPEbEHboazvHpcLFlZHuxDCUpPyDRwQvtTlMNEUdnOxANRdcsWMUlxIsmmSUZHrnvvLfkYzpfarWSLPkfXWvSWgsdiAdeUgXVgSmsVSmfMAGZPWsByXWqdpzOxbncgQoyAEBFgBWcgEChOWSeJcVbLIYxvLpmdAXvBBWeTlxsgWiEDBvQfHPIWLZKNDvBDBGNEmolGtfCjMkUoLqPmvEIqBkKHNYrjeKpAoKddLctKsofqysxDAqlybuFPUnOnissJMODsrWLbeYcQINKKkqCMCtCChvCDsVDiULeDHCxpVyfMRYkbxHBaLEABdcuVtMHmZwhlyDvuvyBytZViAiQRM", "xhkvsZnGKxagyYCNFbjFLuONFEhNuCtQoatqqMevHPkdFhoiURdAoOrBcqvjTFBjcveirWcITyBxpWmyQLzQdbpwSeVfdJiQBgtGGrUeZWSPBUYHIhWWqhaTDBPCqWNQxTPItsuVaBPLojbUplsgFmrRUmrfXvSmWpxqUVcNQYXwSKgLHBwLhNjJhFYIqHzzqrUOAKXwiDngWVGHvJGaFOeaLrknyxgibVJWorrnOBHjptQOICYdqBwSUucCTRoaltZvOLMSekZfOOerPhmdDunxYjGAVKpFGxQRlOYdvbOcUGsgsDUwrocVXmbcovmmbymiIjWOChHSpYTypRROZyobGKTkmjGsTxKAuTNkBSmgmZCBfWwWKzJFXpXUQTucYJpYJFzJdmepgXVXwoYTfYKTkHIkXzmKHQMtMGHxAdkdiwDZoLgkZmbhGrhgQJBtLqnHKoZiNpAeYNGhtHBpNQyjqgCtcFvzYIgDCAHbHGOyWWkZXoSbKiAAvFbSNZoa", "dydlMuyGDoNiFnHUOJvuebUzqCRpCTMPizDaobAqlfVAlmzYzTIsFtXHIYhLGCbIskBepEvyGGKsbEGKNGZBNceoOFrZadYVEDEWZVuTokrhwXGgVMAeyRPuaDlHmrDMtKamxPHwmjAvDqnuAmfnOkBkcvZGFZWDdXUnkkMFYTjHCETNNEWmQUaLGWPEfwQSnyWQLZVBXvzTCVlwAiWiKTjsOHDUSzigXIECeUtgATebxzQEUGBvGvHowpFmEQdUXwIonPKWLFigdzuITwwDxRWFTQpGBWNWdCnbyuKfnZfUzYuyVKXJRsDsMuZnLGXNJFaOxYwWqsAdTNWOOvWubJmBpxQwZdSuCussOdWZXroLxWcUEQsQVZrUlMsfwsxEzktXNuidraZWpODNAQdGjOfbbYEjNlcGsTfXFfHpGIJwcvxByfpNUkQCsxutxPAKzipUhjZAgfnWzuqhslnToBdlzwxkDhPmniheSaonaIEAvxEbQkWXmGbzPVnQCGls", "akROijzuDDwwqjpgBJrlnWODTopTIUVdRxIfnhvVQWHvVNknjNoEoDFAFvMQNiLlQLkqNKVQiwRuwshQvnJSADgIOknGbzsEaQiLGTAWTWLmJLflWqFuUAwDTKgbPPcIqgtdRaSCovfaLiFvgNXHpcXsVFtjNbZZOfzWQDhhfUcpOpBzJjQOfuPDQoEVUvOaSWpKsoEtHnFJfiWsYEfwcMFbNBFSfCBSxLMVyeXpMXevtIQSmmNxyIKnEXIrCeMJtKWqPkZQADUdSJSmSuCpTrWsJxcnTzlTjOmoIJWIAqNVlevgBsGSmiTCjEVsQfFGMDAevaGWfzhRbTaVctLAXfJvcBITxARzitZLZYPpGCwzQNAsNoNsgCzeiXexhNzjnaeSIMyMyvpHhqfCPIrnwltdEzqlveNOgDaqTFBXkmpJUWshtuMMsILFRRBznFrEGQPJaMDgVhxZALTsVCrvMCOGoNzVkVHxsyZbDUrpjSPONLPqTNYiYBKhOrBnQJWP", "zhGfqVzIhHRPFVrLUoLofxBQHTvyaUgIruBPpzbGWsFKRMiIROMylGGwYWjOsNbuYifAeXWFcnSwylzWwleTZAvCWuthBlCXQfhERwswwUrMbiYgHSMfcuTmOveXuKrGNBdNvaxggyrCqSGrKpibtKQdMqWxXtXEyinuCwmQROBuJzkoyUHJOONBEeixxCaAqHmUFLEtNafeUvUPXcyjqFwqhXjcwdLDfzzVsuDLThuQzmabnXpaWAzgVCZqPKGCsfvGqUoFBACaPRwToZGkmAoHOcQETwfVwTNpwTJsiTyPHfbvlynWPzbEmifkppGJmjfwoAQpJuDIHwcLSuoHonOUHoWwIMCWUBZEomfuqqoZXZAKwdyvmTqPisnjTlFfSbxhVQBPlaXCgiJFlGWdtZrmIIYrWZWsJglZOSvpQFToLDaMKPltPOPqLlUnWqsKuQISyLFyrAUyqnIsXgduQUchuwBXSsGRWuuQVGFICaaSkDhRBvZBUcpOmiZwnJJh", "HYcCzPZHDRWAejISrKxJTsOQEnwFCbDqwDRjIwsaCsRtEoVtQDyNmNpTDyBZFbpHAsOWBBujgjkoyTHZXGxgZOHiTQTahdolQlCcMoBHYhgMzYODxlHkTSjRwLAfiJlUmqhnsGpoZxQaQpjhTSBSMXDvoxaymLOTKVQIgSkJcaBMUiXGfHfjyAeAMeNQaleTyHfvHuRukfqfKnXwNyawyTStEoIncFLevRWZpOGwyuUUQKOUIzPFvqDxlbTOHmINPJygZcFXHeBpXkoXOVvmsbseRPkWfHAeaLZFhNiGFYERvHEmWXQSHgeMOwgrjkSuvAhAPumSQJsCaPUzfdCAhxtQXDretiDlYTUXdJnmAkzfdoZhJbSomgJdjSIUbNCaxQTaNPfirGaBaUnIRdOlLUQdSEWvNDMlAVVKLjQUBWhJHBPJGejwFIMFXeEjfzEtUBdzfWHgNjZqxzVnItzPYbLTBfqgSQuiPdekBzXRGMmAmOuoBSudgInThIaVliIg"],"c_int":1931458200,"c_largeint":3059118972658336897,"c_decimal":57.0360,"c_char":"YLhCIrGIpu","c_varchar":"can\'t","c_array_date":["2006-12-16", "2004-05-12", "2009-02-11", "2012-10-02", "2015-08-23", "2005-08-28", "2003-07-26", "2004-11-14", "2009-12-21", "2005-09-19", "2000-02-07", "2009-03-20", "2007-05-22", "2017-08-18", "2003-10-13", "2010-11-25", "2015-04-18", "2003-12-26", "2001-10-26", "2003-03-15", "2000-08-07", "2002-04-01", "2009-06-13", "2012-09-05", "2004-03-20"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_date":{"c_map_date_1":"2015-07-28", "c_map_date_2":"2015-03-13", "c_map_date_3":"2010-06-07", "c_map_date_4":"2011-03-05", "c_map_date_5":"2002-06-06", "c_map_date_6":"2018-12-07", "c_map_date_7":"2002-01-18", "c_map_date_8":"2016-07-18", "c_map_date_9":"2012-04-08", "c_map_date_10":"2016-10-21"},"c_double":37.93255584786163,"c_date":"2003-11-25","c_array_int":[995207600, -1740036284, -874357565, 1477877311, 109600742, -1524953072, -2101545029, -1781308564, 328557245, -1589025523, 112469325, -919811485, 335404900, -1255736921, 512848518, -1974499009, -2063173194, 2059763376, -1829205992, 380663989, 122272612, 1094858361, -1013530494, 2049648842, 2049097961],"c_bigint":6721172975965822726,"c_map_bigint":{"c_map_bigint_1":-4096265454928047057, "c_map_bigint_2":7588081677843119710, "c_map_bigint_3":-8238967405272952417, "c_map_bigint_4":1070625316165980724, "c_map_bigint_5":6613825298928152398, "c_map_bigint_6":1184173356361910096, "c_map_bigint_7":3993783990609979184, "c_map_bigint_8":5374164121226291821, "c_map_bigint_9":-944475196164012257, "c_map_bigint_10":7741352969667455387},"c_map_varchar":{"c_map_varchar_1":"LZXodgGpACxBuYzgNPMBOADoKVcfuLsbnLExFGoGtpncoBBIGYBCIerpXiHWfAkXsecYvhSYPePifGMQLKDqeoRZWAAmlPoULehGSycFWFhdVKTHzbzHKkQbYADsJneHEpzmFyNdoFiRkRpvEutLxAIHLkMsRmfClIiRAMgIIeRzqKrYJMACqjRfRuWhwduVPElBqWvqBXFtbSgocHbYcRiRJkBomkYRfFORnwjSDktZzbqvVxxJBTCJYDWnatOD", "c_map_varchar_2":"jNfIZiDdFyhKjtdhLhBLokjtGpqFRBcAlXQFJsZZrIcKZpKXdXOvYLuwsHWKydFvwzUrXMUIXQDbDVnRYQzripwejBbVLCJXGYifZHIcPzXSzEEBlYGJujCPwiONpvIGtNXblKAHkGoIjkuFceVEULTnrJoFvXJxoIyhdEtYhfmmcvjAVuHCpxCxnRUHbXpXSrjLMVbDCKkfdvWFPpvBkzDlqzaeESVRDeHgqWEAZNxulKISJvxYwAjnvMqsalaz", "c_map_varchar_3":"OAoaLcOnHDrSrHQVOfUUSVfzarqOMJuBDBXKGzzsYYMwOqWJtTFrEJIIsuDaiyjYKbzYCkjEtBvyRMfaiCEEjwGqRyfjwUWHcyeAFgdOPczeILejbjTBiSSAVgnnqNDtYzJeHbkGHwauYpaFCKPZdfbWPXzSLlgJjhsZgKETlrXEPOWpkmuEBptEAFPArrwvCfYhFBTjbQdHNhUBlNNCWIUyphqvQQOqlSJeABYEJmGEuOHuFRqxXLNbSXIiRMJW", "c_map_varchar_4":"HQSkjINDUGeNSxcLNGhfhELffGIXOJeuXXIDClVRMgYeCUnecbVwSLJoYWCLVizgSKAfusnIXNzcIaGwcoqNjminifwxIGeEnjaSSXxgkIuXVZpExGlEEtrgIYtaqzZTbGxDEhjMLovHUWzESfFrKvwmVEKFfYOZgKiWNdgiMuwQngcYLRLXWAcWCpbdCrCKkfaxsisBAttGmhSmkCnFFKLFZEGvkuAKiPzyFgAeiFwsGQlEOClVVaRplstVbPDT", "c_map_varchar_5":"jWribrwDTEOrTSePvUxLyrhrbcGViASwvApGNYWKjLmuULdvnYiecsrTAaxUgvosPANVjokBEFfHSzRtEJYIRawEeorCaRyiThnZFyDoNCRGHqpeVQmAjkpejzUNknHujVEgPRXIxFDBhwGhIByBUDDIJncdwWIlrqCQLsMWeZFHwSGxtmaIXewpMkGNgQiQDbfJQWmTUEowgDOwnhSekYzDdoseNzUjhLtqUiGxMldoYFtWxzJnnnhaevJYBMFW", "c_map_varchar_6":"XQSVtnugYvmDwznomWcrXRtRoVrjKtgNEDRkjSrPTZrfkdOPPWeQoNBJlQnuKNrCHEWLbHsywKFNkoTybIekqWeJRVViKBSeRkGLvCqLDPTevNdlVaayLILKzjIoNrHaFlpKhOpJAlbDxroxOIubusjMoubHSURZmOgYBprwqErflOtLBkGkeWsfCeUZamEcmplKKLsUgtGWDVkQReODrIbTVrZfrUnOUWjxjUmGdmHKhpQNrBBshTZEqhxwEDZc", "c_map_varchar_7":"SIlFhGCqmWkNNdFAcVPSKqfXgFPBoRDMJFfuwfnOtmGCuFycYoFysBbqYCVRPRPlDeTyPMwQUryjSidNbivSurQahKzwgGYvGNjgtnznniDsptOXrjsMAFrPtDVawizuDYmLTeWjhzhlEjbsUtLMeYWynNBuGXAVsNhcmxWBDgnMiaFBZlckAcPNLpvUBrOHgDkzNXRuOUYPOiUmfJgVKJrMWJfTLrIVqMVNiILfEvCXZzbKYXRPYCVnEBHOcUKn", "c_map_varchar_8":"iomesATdaCvzsUMZpFCziIJXbCuCatvUBBbsWuSfgvUNPgNLsYBVmOSOkjJjkcPLzZzJLHIioNSwQrOBKXHQjEWgIWtNCJfBarNqCqRRrjMyGjzEptMKLMHhhtrUSMfEzUjsJdRoempbpDOHiJFZTqlwfHIhhsqNlkTuRUnjToVsBcDLsjPdUGXTEiLNVwdVLlZOnZNVAktWraqPXdhYtYrtxBvEwzFdyZrvRazjyZYnMoDcDgKMzCadVbTUkEXU", "c_map_varchar_9":"KwqkLfaRLezZaGEGGOWgYqEzKNNpBYIQlEREUoWZirwOZEURcOsPPXxNyCwcdBGGzSDCCJCAajdIWBQWbsuNOizEvVqFzMlqYCPUrCSvXqCzmZwQCOKOpiAqDXLnLsFlfgXZUPRgWaFotOXMSJDZSKvnUfilphqUZaBlyIlguBbKicJhJcZVIMmRWNQAgcUjMmunvFAHVCwMvXehcfJOgPjgTTRcJZeAlxbsxsYwCMmRvJkBbrQruJfQWjQSQEgM", "c_map_varchar_10":"YlBrupUUswASbbFyjEaJmMOGaFlUsqUIxKhrajRYPmUtqJcZqrQXFrjsziTvLHXgsXzpzqLyrUiSrEeDSzLvNNXITVqqIJazeYWfTbQUspMfhMdawTLGugPJsmkQfepMVciLeSteIZdzanplRrMCoBsbKWroQelfyCFYakuAngpyhvIvDrevpXjEmPaYMCKtfXOqkhFiBtEEWsNHAsggUSDQJGaBeArUFhvFNhwQdKfVbxzjtjHbzlcRMNaTOAgK"},"c_map_datetime":{"c_map_datetime_1":"2011-02-11 14:29:33", "c_map_datetime_2":"2005-04-23 11:37:54", "c_map_datetime_3":"2016-07-05 07:42:39", "c_map_datetime_4":"2007-09-20 10:32:05", "c_map_datetime_5":"2007-05-17 05:40:01", "c_map_datetime_6":"2005-05-18 11:27:43", "c_map_datetime_7":"2017-06-27 15:19:12", "c_map_datetime_8":"2012-12-11 17:23:11", "c_map_datetime_9":"2013-02-25 19:12:27", "c_map_datetime_10":"2019-02-25 13:35:43"},"c_tinyint":70,"c_array_float":[6.550922, 12.123186, 57.817883, 56.602615, 70.64145, 4.861888, 70.34341, 13.468399, 54.707684, 2.83915, 7.4109635, 33.744736, 96.449165, 71.34284, 2.9606953, 33.995434, 92.16124, 94.63173, 98.38431, 56.700554, 36.843884, 4.4945474, 57.71986, 70.876144, 46.247776],"c_array_double":[60.47193404460781, 72.37397554926045, 90.92516066002908, 96.96940556569017, 21.04186669385536, 92.74285050724042, 21.144668184256705, 47.72133003295773, 3.2032564602134617, 48.42205288318789, 2.4471167230707516, 87.35632738635579, 97.07938489155927, 40.0325699768269, 59.437091273795865, 44.14466943228174, 7.282337768085656, 55.53649202915622, 12.825555876166192, 41.02881284240615, 8.866806760615368, 47.878695966877025, 54.022220029852875, 90.2615825609051, 81.74826635981388],"c_array_char":["RubjiPGmHE", "fAcvadjVZE", "AmWFlUpnfu", "VmRlgJgTkc", "RWRHrVMFIU", "QwsujiHLzd", "EZUOsdHtDc", "EAaIdexoiP", "VLjaulZdnM", "fTIDCnwbvi", "tGGTJayhWr", "xROTzWoBbp", "RopAEJXkWZ", "OwRLdZjVJb", "LxqEfPFOVD", "TWlWENsbRN", "dlhyMEgbWZ", "ZuytMNytZc", "toGBmwRNdo", "HlEuRAFjLd", "DufWfjRpXY", "DfrGtmLdUs", "SsrfRkTftE", "mwfaeguPMx", "hCvriQoUxH"],"c_map_decimal":{"c_map_decimal_1":22.1629, "c_map_decimal_2":30.1150, "c_map_decimal_3":40.1624, "c_map_decimal_4":28.1185, "c_map_decimal_5":60.0036, "c_map_decimal_6":23.0698, "c_map_decimal_7":6.1933, "c_map_decimal_8":78.1844, "c_map_decimal_9":0.0846, "c_map_decimal_10":36.1051},"c_map_double":{"c_map_double_1":4.89828620047182, "c_map_double_2":53.702973372676, "c_map_double_3":73.14088017401274, "c_map_double_4":80.25258040336479, "c_map_double_5":83.63274782277094, "c_map_double_6":73.12650177328689, "c_map_double_7":20.059556269602094, "c_map_double_8":94.99908656443262, "c_map_double_9":55.734412650200895, "c_map_double_10":27.053278792223416},"c_smallint":-26730,"c_ipv4":"191.7.23.137","c_ipv6":"c8dd:d2ce:ed10:f4bb:fb78:28e0:546e:e75c","c_map_smallint":{"c_map_smallint_1":11956, "c_map_smallint_2":28828, "c_map_smallint_3":17948, "c_map_smallint_4":24142, "c_map_smallint_5":-6634, "c_map_smallint_6":26789, "c_map_smallint_7":22727, "c_map_smallint_8":-8596, "c_map_smallint_9":-21976, "c_map_smallint_10":14098},"c_map_float":{"c_map_float_1":82.59299, "c_map_float_2":76.90038, "c_map_float_3":93.7085, "c_map_float_4":20.267044, "c_map_float_5":38.006172, "c_map_float_6":63.276, "c_map_float_7":49.139317, "c_map_float_8":2.1511674, "c_map_float_9":1.5341238, "c_map_float_10":47.740444},"c_array_datetime":["2006-11-22 03:59:19", "2014-07-14 01:03:50", "2017-12-25 17:53:00", "2013-05-16 00:55:25", "2012-12-28 07:10:24", "2008-02-17 08:29:10", "2013-09-02 05:51:49", "2008-06-28 10:26:45", "2015-08-15 18:24:16", "2005-11-04 19:04:15", "2001-02-22 17:27:45", "2014-03-22 20:19:37", "2011-01-27 17:55:55", "2010-07-05 20:17:28", "2001-08-24 06:24:46", "2009-12-04 00:22:17", "2002-09-23 16:14:33", "2017-10-26 15:02:53", "2009-01-26 20:10:17", "2000-01-23 20:25:54", "2006-04-23 14:55:01", "2010-03-18 13:57:15", "2006-04-19 19:15:56", "2008-07-12 09:07:45", "2003-12-03 19:55:31"],"c_array_ipv4":["lARvNgUGcL", "eqLzyLajOv", "HtSKMqYLZP", "hevfCheODD", "SkMBOfVFWX", "FWVdfumIdV", "ZHDGvfVsxy", "cWuRfsUtdw", "eSKkXYdvnX", "TVJYobBwrZ", "GVutwcXndY", "qSHBdYMWZj", "Brhuobagsx", "CNaSESKQkE", "kOCOXSQfCT", "lqTljEFiLc", "veXzYQOEHT", "EJKMujBEHO", "POTbDVdRfE", "MLIHLTYPvL", "SpmKgRsmjf", "LZCAPPmnxv", "FizPXABUlV", "oiqHIgTTYy", "huNzSFqZyW"],"c_array_ipv6":["AAvWDWIStK", "JBQKZcXIji", "GAjHddTTru", "VBpgkmKUda", "gSlausUbCS", "rWZCPCDYII", "HJsXHnfxLQ", "zdwJcZvGLP", "mhiNaxMGOt", "EVThIeMuqJ", "GtoyykYQAg", "cffsZMaqrA", "DjNgptKBCG", "wyjHTxiJZR", "YofyHLpoiV", "ExIpBuhAGD", "RUXICZImeH", "uBCNGQZiVY", "vWkeEgVCaE", "PYglDUjuhL", "qHHqSgsDDM", "TcosILhqex", "BtsRsCOfKx", "HVOvqMkuUz", "FOBLOcgJzD"],"c_float":4.2431564,"c_string":"XrspiGkFPVSKMMSHaJiRISpRPyetMKdeGIPaOfXtAhQmHgMRULMkYFoStROiknvXuYvqaHMwfjPrhivpfSNIGBubQgftRSyQjAeeOJfAnlXvwJbhVMjtBcKsengXrBBcOCdPSibPLUcWOnXaZhCVFtBSTeSKReQkcTAUWIMEbyCzbCzaXWmyMdnGfegbfmrOZRWxVvSzsUXWLtXGZcXqpKVQLhldMeqVEHJeIbmMdBpEVciPLgOtdMjOLcoObcatxcnhwTJhqYRMmvuFkeEPsxLbbDsEdDxhAwYlKSUPOeYBddarsiOFaBehNFlradRKZmINLNLxjDRVDfQyGKqclhYNqeIRogyohzaZkkNRDmdxhWyLIUMpeBMDItKlyiUCLXiMOmelfiysDchMYIKFDRxSfxtwcMsMYFdnEjTZFJdaoTLULgbQlwMmArLfzVZUTMqegTOwQjkjJIwxSysTgyHfAzILHFJvQkfMQoJBrmxyQJZBXjpuoheddqOtlOnZ","c_array_boolean":[0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0],"c_array_smallint":[-15734, 25911, -8682, -19795, -21348, -6443, 4474, -9146, -31064, -25547, 15264, 19428, 17451, -23505, 19808, 31827, 28729, -26442, 16912, -1927, -2030, -1373, -2225, -25290, 235],"c_array_decimal":[29.0730, 25.0696, 77.1721, 78.0648, 14.1932, 8.0329, 55.1732, 78.0475, 44.0321, 1.1924, 6.0586, 58.0567, 28.0470, 95.1837, 48.0405, 81.0568, 28.0361, 47.0045, 41.1108, 86.0142, 96.0208, 52.0358, 93.0846, 45.1737, 76.1714],"c_map_ipv6":{"c_map_ipv6_1":"b09d:9732:7ced:e2bd:5fe1:f32:3857:c50c", "c_map_ipv6_2":"538d:e6b6:608a:7619:9bbb:9477:89a4:3b58", "c_map_ipv6_3":"1ad9:e2f3:eb50:e2fe:9d11:1587:bb7c:4651", "c_map_ipv6_4":"13c1:c0a6:85e7:bb3:8ae8:2613:4dbe:b02c", "c_map_ipv6_5":"62c5:3a:89d2:6f8e:44e8:c925:601b:c045", "c_map_ipv6_6":"de4a:2a76:f847:7414:7329:1e67:2834:cb7b", "c_map_ipv6_7":"5039:cfe2:d26a:6a85:fb57:9133:b261:d664", "c_map_ipv6_8":"15bb:7326:f691:5d78:75a6:9b6d:4ee0:4f9", "c_map_ipv6_9":"d304:d0b4:9779:4d58:8276:9d3f:1949:4a6a", "c_map_ipv6_10":"2a4:5ac6:66f4:c3c2:b979:f2f6:5341:8b72"},"c_map_char":{"c_map_char_1":"hDVGJjuVJU", "c_map_char_2":"uMLPSkntZf", "c_map_char_3":"qXibfIvkqb", "c_map_char_4":"mbkrHZmPTE", "c_map_char_5":"SuDLRNavIg", "c_map_char_6":"NghiLFbXru", "c_map_char_7":"sQsATfgIJb", "c_map_char_8":"VItyOdgyaX", "c_map_char_9":"AdHrXOHSNl", "c_map_char_10":"vGblKAwVpa"},"c_map_ipv4":{"c_map_ipv4_1":"86.236.30.61", "c_map_ipv4_2":"14.67.127.1", "c_map_ipv4_3":"149.16.74.29", "c_map_ipv4_4":"68.31.70.48", "c_map_ipv4_5":"13.89.13.174", "c_map_ipv4_6":"63.224.5.228", "c_map_ipv4_7":"31.91.13.127", "c_map_ipv4_8":"179.1.21.128", "c_map_ipv4_9":"22.3.185.195", "c_map_ipv4_10":"178.141.100.52"},"c_map_int":{"c_map_int_1":809209557, "c_map_int_2":-821061866, "c_map_int_3":1923000065, "c_map_int_4":-2015674038, "c_map_int_5":-421359979, "c_map_int_6":-62544709, "c_map_int_7":-793559981, "c_map_int_8":155457547, "c_map_int_9":295336879, "c_map_int_10":-213364687},"c_map_largeint":{"c_map_largeint_1":4646227231004827359, "c_map_largeint_2":482607217462597693, "c_map_largeint_3":3447703380546068841, "c_map_largeint_4":3902230807379709743, "c_map_largeint_5":-5853862709904119016, "c_map_largeint_6":-4048509191480594492, "c_map_largeint_7":-2160203575429461044, "c_map_largeint_8":-5760256185260300112, "c_map_largeint_9":-7038666265650792309, "c_map_largeint_10":5351053328977299040},"c_map_string":{"c_map_string_1":"vspSUsDVQUeUEdBbOyYfyVQlEZmTHcmzYfWtsWAaJMELJyytSYRYRzounIjHXqyCgbjLwppZzdFgCcQSVzyJglxbtDVzCWOAXVSwkhDwMotFHNbOCZYrfPUzSjvHRpDVPYicuKsaEPEEqwfkYRKWbzHEQyvRINlLSsvdHhETMMHtQAAmrAYbyTzSFQudCWrlKZXbMdwnIdWsPJedZDNCRsZGZXRgOczaSJlBJeCZYnZOPaBetXLevvmQtVLPSrwKoQknGeDFlmMYBBtNlHCITwaRgtOuzWmlDVjehqKZKUIoQENzAZSverMsRyyMvQjXuIbQQrFhsxqlZJgYbRVttmHZGKpeGBYnDmeqVxTLJvJzgXjaLOBeVeUHyfPfaAIFGQEHnSuKPmAGgGiIaqJsplBxZrgGvLEdLborLjfWARbtjbOjMiZrhNmmEpTpkThZphlogPkYLXEaionPuAqOeNJbKlhatRReXFGIcixMUlclxklgLVMxWslgdFbYJdZU", "c_map_string_2":"uqgyInHwqGGPYlUCMIFMhPUziLpJDToKcUrKAahcnZZinNHDnzrCDvbSAVPiwtlLfZNzolYWVyIrQPmFOsFDNnZsDjsSSHvwhdvEmZtsCRlssznjwrKxvxPNSmgWDWoDjfQYBOAeaTakGBAzMWKagpXtGtfHwIldBpxJeGLXfXFSitROZiYFPHlHsdsMwVSGMXLkgbbeGiVuBYUnDohnbVSeUTefGgjZmbqPtUsJzIXIhmhzXpZQPzBHHGDtvtJKNOhDDnFZwGgUKsiuwxvTvrvCyBnHfNHaEffFvWNCzNUoFTGOHZeZUjjvyUZsfUKPakNwgfGTJYowZiEGWeWXnTrmlWluAAeePdeZVFIzLlUIXVMJHbCjzestXmVYAOENAUmVlwUkmgaoBJDXjrgxGVKIRxkgXfwEBpUBwPdiDKrCLohsrgGjbIHQYlzFBpjfYJucfnJcIFkpFbJOPvnFTcRAOywihlsrCLQHZxlMkFhCjCsOPXJIkiCklhTbqTnc", "c_map_string_3":"FmtxDSBMlRWACrOxqmWGjPjsoLGRVizligechADZooeXAuxozKBsXraCShoKPbHMLOAVPCbgxjMLqMOXbkKFweLyeDMTgwAEOHTjATktbjDnVErOSGBscJAgwuQfsCXZmTiWmrbIdjlEplFCQaBNbldrvuIYapsYHqQCxBoxrUjxytuIvifGAzgfimQhXsiIzGdIDUYDXPoFKSlqrPnvLqkcCdGsKcPTZMguIHmHrAguQgJXgnrFmLPMsXaHCojVukZZHVJUnempMvLilrxpttUSoHSHxHWPbkrJQEtWyBDvUevWsVoQGozMaEEyNwgoUaKnOPnvRJZOyupsFSGlRbXNFqQkQcXOUyOgdhljmtBifyzzmNDrGypnhzIOMBtlGBWhSkvmTWIVMFuXPIrnCzIAsXIIzpQKvIWRHJTgDCLvbOGpfzKvdlQsZMvUaMKnAjUtPJkAnTCZoMIXszVteUYDueTTUSYEaxYpkiFddCobJNbyUgsNhWiaKUIdpxjx", "c_map_string_4":"dHLzXTouQHZNnejrZeMnjwXDuEqwRbDjXAvokNeIUDjvjUltfAYkJtFEQHNkTpYgkvAifgOZHJigQvRzuPcRzrPzxerqtWufNYlXARtTHujajEOrtvmtUCLNkeOJHayDxknMCOqkpOxMhiZRhcLimENxqDuJYycscetViiKEdXhCAzKXhZAYtugXZdptltNEGIWBABGWQrZAYzTiOHAfHwsSBnnWDauzLhnDdeIZuHXafQyWHtqnthXWSHHRRfUgSWDeYbaTpYYhPlWxhcCbdgccWmQHQrPfHzwkuYakZehNKrVQmxeKVmNQwqVmfvvdNsmakBAamhemDZhhLAIBqaeOfpbyMkuuvuiyXUzHXNzZlHLTFusySmZfaaSrgPKYHNncbZXsgGRHyozXiBhFwHDcsVMwGCLxQwnGWNUfptptmojxrjzcSiCtMWiigevMVzYjoudtEkHMMGHVZZxzgovQKZdNjdZbHRrFzJBazySielagjmGWKFHOLXXkmvtG", "c_map_string_5":"WKMXJfcjVwEdpvRvCLgaDkBMvdJjZlzHObYwNhxyMxGakYjkKshNQwpDvCYwYSUyiHxPOerpObWzawbFsAKywuONXUPOcjdJzYUlkPIHlGshIDakfQWnHybPWSlrgGvSnEgLrFKsXBqJrCenlLtolMmohOaxArHNWRwyhnBgAbdYFsEktnLwGKkbhLnegIBjlSPRjsHtnhgNKvdXHWVTVHIUPutNfLhYwKFdMdtexTmQMbDTmngyztxQjhWWaxvkhsPfVMUOHzCvzckprUlgAwcUzabsaeiXNHJuYfGRtdRQhNNHFeBleyJsRwkJdslvdwwzdsGqZAdcphaGDCYdybbOUYVBCMmeoOyVuXBoOBNheBmefOtGthDRzQjiMzDIfFrOpmpCWZHCLmfkOsnhaWjHAiNBGqfLSgLnzEDCmdpLeusSxKJPTtCTsPyTENarbTQFPQGSDoAQsjmEeoJYrHwVTEEdmHLrJytykRiZvyiBrFjCMqWvLQAJcswDFReM", "c_map_string_6":"FqWOBGBMeCOJOMWFcVKpTKBtOTrGLZTIsbyewRvGSDGlJNQNfRZVoBfJFogDcndiiTIHvZGDryiSbVEkGMQGNaIoDQejxEwNADFFIFURdLfAsLKvNDMdtIjZbZtFfKSullmAPMyMrrRbMAhGzMTAkyGDGQELQqnmBFEBdugZdsfJiDYaGoBLnbpflNQTKsiqHtJjnVfAepiKXzdjIuhokuirsgGGleKSVhqlmldlnSKWxqzXyHMNbepdegUdRFpsWqdYVDJCAdslrEBBTSpZneaBacIQCvMxqJXpeWapBisphpRjZLHGOskLmYyVKFhkrEEkngUtxsSKCVSCEEGiFXfEtJkhVbmDbWUWJPLBIaxZhxWgedUXSZjgsPANgETKhuTqjKIFeHXgDRGchxEGXNYwscUpooJVOlZriPyMsmpFuYxnFYXODzJbByuKCAFNKluRhGpvMFUMuiGMGtvFInZVaHxkzIHxqIHAsmwVIQqzEUzNKBkofbWbFWaOEMwP", "c_map_string_7":"oLuSpBfTyGIIJdHqRmKOkGDuvrnOPdzHEYnFOiILFxETYOobGURnXqAlvAKITUvwbOMQmLbuespZnRbFBkwLJgVZpZMOYbxXFVUJCWEhvGGoPQynxXBjKbzTbxHKNuBXlyjvYHSmajFkADNSxTRdHkJZBthpEZiCIWytXayWXniCbsLSUWdFOBiwJxcMyZrfIqoBuJkrCQMHzSZSVmqmqaGBnISMqataWcCgBBfkVfINhJWWmRacHmnxVIRlBcIthxFBtHAETrRFDDABCVkXbLCSmeVDRhFbcTaLfzdGeumQggytqNjjpUPFkpTMIDBZyhwTNfcKywDCVWtdvPOWJiKfxhUxYJEbbaqwWWqKKvCICzQzujcGGLQuscemDoNQcCuTBUhyHMShJTFAYcpgOuvYObIZlUzJOgQBhCMEPWeuwdkZlUcYZXlIDSWAaxXMaRyjGdtqUfjyxFtClhekgdrHcEuvQLDTXlgfYLSWJischlzmRgthViVkIKmVBYQV", "c_map_string_8":"cmhDtgZihUmiiEcCDrQNnBfrYcYNkLljcwzstprxjLgcyRKSSvueubMuVBOviJEOnuvreclheXQIuKGPozEztTrzXZydfUFITfXnSIuHIwZKyJwCHBAopUhhCufelOrdvFzxjqvedEvNGxFLgGLuJwWwPWLuwSbwqpfFASVDAoEugkEnPlfUfcipheoShAKSoxwiSKfDELRnDleIuSIJeXWjnikqnDfLCDosfTdqiOzehLsAOXOhItEIzqhbMdnYKDWZsTVWKKIbgfIuOkmKUabTCbuEudfMiOZVCxBXGGnthpFXYOjKKgInucdMHEaTrqIoiHuyyAMIrDalzECLUtTDdMRdXrFOXNbFTLkCTevQfzvnNkzERXswUfhHYhvqEfLqbeOPnpQmZjqMQTJyOrywjevQWTIjjWQdBGBOkzTYZoyPHqJnpmEHKIotmmXNtIXzKEMEvhCyofnRwXCOGmskKfyFzAECNPnFCaaLdJQjhlfwTLKFVZOuNJSWgwlA", "c_map_string_9":"TzZpfgejfibRdeBaagGVCAxuNpCbZapbQbYzpZcMHekjFXaoeHICLGOuSWLBBhhsiFeNykfNQuFSsLEMOaWoflyispjecSvjDNXtTyEkoydHoDlARFbkiliClaaWOwIrQPNYDNQmCifDVsVzfZACEUCoYfPmtwUzFHcVMfMlJfUaGMwdKwxoyefXbvVMdtznJaJxkHOZOdBhRZFFdPfbeUifyQDpKeGUnnMuamyysKhaJAYdeEHuxmFJqtpuKOVMtvybOPFsYsLWBlJfPMtkDBrUvBlhZHaYNdWElamPapHqBBEsIzFznRVYedcDfZxXETXKnZmatucJKdpNEaJNRPEOYkQieZiiEGmxfAoMxcGVXfLCsXAxSFXUAcxXZtZdnRcxjAqwYNDdQNOxltOdBhErZHHDndSkixiVbfeMLYTrXeTUmwTrPCMvTGviZNwNRhEogCtTcQMlrPdUuUvNLmdYbKDePOOCOiIdOJXSmUKQjKenDtibkbfLJGeTBydo", "c_map_string_10":"tTgACHkKKZtRWhsXeWyuPfXZKsyXpsHLzkqwzivnVdcInHiPFHFyvXPgBwtezjrHSecGNwirSvVQjHWpVlUWudLrMGKFaCPXyjgHBZaOHQOCzZchmHiPBfjdsdMdBXEjhWXgXGbxXhKDvpUYDqzlhemwUycuDtfYdXniIqEtuQNvjxPwFFwnyCDwyitApwdKdnVrqCLtunbWOFeEZWxRPBPFVDASNbVwzQjtOcVateidzpaygNPkKfkLFgQCIAGVHTKAOldUqbdyGAqBkubYOUxqjecufJpJrBQOVmaGnOxVhqpGSuxaXSbQrJOkgqJbFuCOhIwrglzXiBYrCMEdAYYPdyNFKEFCCOFeCrEfUOxQXDjKUJZLmRByljCCQYEULungEoGESkhHVQqIfFZhMGyTkWZffpkHdXAEVPMARWXHrMjESJGOiBFLTIPbjCYVaNrBFwudNwNXNtEGSMQsRSjMXjAdRqxGzBJNQctQiJADuezaZFhwecDvPwRMJsut"},"c_boolean":0,"c_datetime":"2007-10-07 04:31:34","c_array_tinyint":[74, 110, -63, -109, -70, 32, -111, -16, -16, -109, -124, 26, 0, -91, -69, -116, -126, -23, -31, 1, -98, -78, 13, -22, -14],"c_array_largeint":[-2206819407327892128, -832476577290786356, -3376788162791852689, 6584022599000145550, -3308318160050128201, -5617064790513487067, 6798325171465772382, -7505886914211189652, 5652064458707513418, -7549294621613590327, -2915531322070536065, 4255408399116997988, -8024150271905903389, -6396787338474585131, -7011300258218817538, 1585815601313620250, -1599198572738110940, -9100256336086942525, -3908240122530876724, 5261103650723448046, -5057203243516508804, 4019086349217887365, -490643646107578041, -3676204883645809768, -3591734724919652644],"c_map_tinyint":{"c_map_tinyint_1":-76, "c_map_tinyint_2":72, "c_map_tinyint_3":89, "c_map_tinyint_4":-86, "c_map_tinyint_5":92, "c_map_tinyint_6":-60, "c_map_tinyint_7":59, "c_map_tinyint_8":-29, "c_map_tinyint_9":116, "c_map_tinyint_10":8},"c_json":{"prepositioncompound":"without"} }','{ "c_array_tinyint":[35, -72, 84, 81, 3, -82, -66, 91, -33, -41, 6, 113, -11, -86, 50, 16, 52, 38, -36, 114, 54, 40, -38, 83, 50],"c_array_datetime":["2001-06-06 06:52:21", "2007-10-04 19:36:04", "2008-08-12 18:27:14", "2009-09-15 04:00:36", "2006-08-04 09:23:26", "2003-04-18 08:40:00", "2004-12-02 08:46:30", "2019-07-28 09:12:44", "2006-11-16 16:41:38", "2009-12-17 12:09:21", "2012-03-09 19:22:50", "2012-12-09 19:04:51", "2005-03-07 08:56:07", "2003-03-04 06:46:03", "2008-03-18 18:16:43", "2018-10-15 23:54:05", "2006-04-15 22:58:56", "2002-10-04 12:45:37", "2007-10-20 11:12:42", "2012-02-22 17:14:49", "2000-12-02 08:21:35", "2001-10-10 09:12:24", "2016-12-16 20:57:56", "2018-04-06 14:25:58", "2010-07-16 17:53:48"],"c_array_ipv4":["mKthXLBWuN", "lecWZbLKZV", "VIXdpZujjU", "wNCXsdKHbH", "fmuJhVsUIG", "RHOfStXENz", "DofjYqUElq", "mLrzitKPke", "ylttVTzrpO", "SqWBpcDXId", "KkHvjjmuOk", "EHcrHonYTT", "BtVaafgXim", "bzDKxxYAru", "fNNKzwrLlR", "eFsycIEhfl", "plAtuFBtCQ", "JjaWkaMBvR", "YTvXJpCHxk", "gHXBOsAsAL", "kNkyxikAfT", "XUvXYaEiFU", "CJhFUJjuZk", "JkXBKvuJpi", "NVvujriaRa"],"c_map_smallint":{"c_map_smallint_1":28646, "c_map_smallint_2":-2355, "c_map_smallint_3":-30555, "c_map_smallint_4":16638, "c_map_smallint_5":-15370, "c_map_smallint_6":-28476, "c_map_smallint_7":-31272, "c_map_smallint_8":-32735, "c_map_smallint_9":11351, "c_map_smallint_10":1392},"c_map_decimal":{"c_map_decimal_1":4.0065, "c_map_decimal_2":35.0904, "c_map_decimal_3":86.1837, "c_map_decimal_4":32.0798, "c_map_decimal_5":52.0865, "c_map_decimal_6":46.0634, "c_map_decimal_7":72.1399, "c_map_decimal_8":24.0726, "c_map_decimal_9":14.1191, "c_map_decimal_10":30.1851},"c_tinyint":13,"c_decimal":42.1211,"c_ipv4":"12.96.171.2","c_map_ipv4":{"c_map_ipv4_1":"64.242.55.230", "c_map_ipv4_2":"215.208.199.85", "c_map_ipv4_3":"205.169.60.100", "c_map_ipv4_4":"207.144.170.69", "c_map_ipv4_5":"162.101.66.194", "c_map_ipv4_6":"155.61.62.163", "c_map_ipv4_7":"22.216.83.228", "c_map_ipv4_8":"99.19.160.60", "c_map_ipv4_9":"69.164.65.34", "c_map_ipv4_10":"170.215.249.109"},"c_ipv6":"3e48:1015:4b41:2936:dde1:76c5:70ae:79c","c_array_date":["2002-12-05", "2018-04-02", "2017-02-28", "2005-04-02", "2007-12-27", "2007-04-14", "2001-09-03", "2008-04-26", "2012-03-02", "2004-03-21", "2006-01-14", "2015-04-12", "2002-01-05", "2003-08-02", "2019-02-12", "2000-04-10", "2014-03-08", "2004-05-08", "2013-01-19", "2014-03-04", "2002-02-09", "2010-01-28", "2015-12-16", "2008-06-09", "2016-03-21"],"c_map_largeint":{"c_map_largeint_1":-670189043715591843, "c_map_largeint_2":599053193153183108, "c_map_largeint_3":3143958995073947138, "c_map_largeint_4":4193497859044309656, "c_map_largeint_5":-8036670794974483450, "c_map_largeint_6":-7689109748741904754, "c_map_largeint_7":3018978482847263551, "c_map_largeint_8":-5370127356775647378, "c_map_largeint_9":6248824694512843361, "c_map_largeint_10":-3438044450883165294},"c_boolean":0,"c_varchar":"no","c_string":"slGgfOtBzQgBqCDYkYAtAwlMOmiGcXTBoILaHTJNFwKUsIinzrEAoiJRDBSiLlbMhmcbbHGfVpZJKEysteKrLbgfbJPHWFlVXwpRTlqyxkfqexzDaJoLljTTyUwpywSBtsIaMQftUcmctjXkHFoWANIVOTOmBNXXZnDwaQgVStQkYJISHjvhbSvitzjFpkWEwQizwXPWIadGlJAsAHEAUxzspkfFIYHkrbGtcBTPXsWWLdphcxLbacJYGOgogeOerxJRAUuoZREOwzqgbaiAtpMHVSLZZQnZdzZYFoXoGmZmfbdZMEnFzhCbsKKUdpsqzmHFLnkWwAAREMOGxzdgmdQcdJMSHVLORyvmmltarrKzxkmRPZNeoroNkQYGgBLmAGhmSVlzwPvWdVPMEAdxwKVpZKzhCLStvwkHtQpKADEIgcaBoxOeNulHKaBOViRYyPXcSXEuLLARqVgwmkzHYvcfTLQdtAQckcwsmExvttoQATwybOFvRTTBubAeIOsf","c_map_float":{"c_map_float_1":91.213425, "c_map_float_2":73.38766, "c_map_float_3":0.37462938, "c_map_float_4":34.133038, "c_map_float_5":83.88507, "c_map_float_6":69.7156, "c_map_float_7":80.769424, "c_map_float_8":100.07543, "c_map_float_9":67.4699, "c_map_float_10":42.786205},"c_map_string":{"c_map_string_1":"MipYJqFFtIcfesBsgojGkRbvwmmnctVwcInBnhyZrQqkCaiBdVFNOfxRcCZvZrcLUeyUKdhMvZvVxecLvgZNYAJjvbtPQgpMBhnRvYkjeLJwcfPbxpKlLAzlHAUQOTpfijqmRUVFcYTWHkBTzqZwZvsoKKphYAYBJQPDjHgqaQAOLaVTxOfDDORaahhWYMypjfbKyNgqcdubJISFcbVNrVnFAWadNjujaIwgDfucRvIcEyDRMMsKgprEuUFBOMRQKOkhYtfGBigVEpQScNJdPyldgUQKUSXqfEanfoYIHcKosJMWMPWpeXVJqVNAEqJSLtCLyinaCdFIOQbvXWFOjeWzmLBAAiPjlBKgnTmnwgtuucOfnjUOrNGEyjdNzutadNxoAHKtoKCuvHRDsdBnhGLShHYiBEzZLmLUycADwKSWDesBZMHdFktNvOVBIdYNbgeWxMgjYCrcZvfqHlaKVFfdUmIyejtWIKlbwdicwWiGWKaRHIwDRSDAMwOfPBgf", "c_map_string_2":"bHvHGFJnAQmFLKIrZyLXZkHRzOOHdIQoxHxcKDwiXCtqYXVgNtblUJMNwCkEuKwkMRMJjkHvdQaUcqyRHFuXEhloEPosPuReqqtDMtfGIaCNlVqkWYleSVOjbrURxuzaDXTrDPGcripOGChGkVplXbHyMtmptDFBOBCeoTxkVmUfwKshOxOFeFNdIkbILoGOaxnhjfdNNbjRnlVlHHmqxSUHxlpCGxmlgkwNLYVvJsjVOfbukKtvBecIABMbIXWUniGFCpUSWwTXHGJJSJEhFYdEpnRyrjSUdstuKdTMflfXBnfiTCyzhmepIHnzByRQIFKYfDejoBNlUjQpZSXCBmItglAYzlNUTyOykanoAoNnMXIJxiDzsHQXqVCzISaZYtlfRXSNwiiVuQhegqHFxJCNVQONqXmFrmnqqYsmaFStLaMLQcSXkvRBnodeMszGobnhUdjTqJxFuETUzbMhhvBLzhKvjAiDPNeMykcdJTngBHakPzscxirNYHNsYHTg", "c_map_string_3":"zwfiNHuwETWtKMBayJFWxPoaADChkfPOLtbnGbGtNXPkyLzEETuzpcHOXfMgYsYmCpLAZznwgHUcjRTaMHqIRvPbuWLCiqYrGYnkgtCydHtzxvUYxkpNskvMQMPwzOumymLrqFcXGykZWtoNWhgZtZLKBlRHJxwBfnZzAMrhzgsziMulvAAllQoPuekguyUgYVKgkISUWDnHIFBJLccKybafNrOdpZNDRNRRNdwmvWNyqbALkTyGcQIJJaIFShyNRGtvqFCkpvXCJdqLqxUfxJHrlrWwGccTncYQreltXQPwVuaJfGVrXdFSEOhlUaBVIOXZkgGgYUKVYVTbpYWgehzuYIjFFPtQuStKBoFbfUaVPXgBadXfKjyFMbFuvZxdxljIhEMDbxItjCoBvYriWPMAqZHFNKPuyKWpeTEzVDJFUzMgoIiHPwDWZsEUQDBBbAccwauakWwZNOvoaVZkopUAHrWmFBxcuwPZyFyeINigLpGQOUoBUpoidquJlSYi", "c_map_string_4":"sFqVTrILRzrNTPzXKtMuGDWvOSJXfOvUaSJidQUdmJCuKuMvFvmdeFTHdgdGUZQOKIlEIifXcolRxKonJVxNATvVdYzrjyPFtCBQoikKElMomGCzydVodaCuBdxbtqIjLVmsydoQrZsQpDBDtUpVnVxrjzKUIAUnCNEGrjvgiwrbNCESAKWmItPDdlRikaIKkakTeWvIzjtvXIEJUkmoDpHjlSOytMesugHGiyXirRqscoPEEONAaaiHkxSCFLECtOURGYuatuaeeaRVIBKPHOfriooFeUBanEtezCXqejkgIGfseaKBNstvFgJwFqHrPzDzNIeQuWiejBaPCuOLizpiePpelHkFLJErCrQvkoLczmJUZzaViEuZXLqzfFHeezJnxUNLHZqphzYebMxtvemXNDRxJNfvpLVSVZzfukTSklWtvGjaGQtEHuNuGaOJFExiBovdBhNdzLEkplUXhopHWJuMcpqUAWMzzldRZBSwLrFUApAcVhRuTPraMBuc", "c_map_string_5":"rwMNeBfxaabtkaXgtmbNmrJshBdoSnzpyEYGwtzScQapnhbfhDdzHOyzCNmgTmhpPjjKUJZlgzxFChGKCGTQHHUVOKesubOaFZtyapmFTsPQlbqNsiYJAXwndYoDZufdZyrRpflnLBEFFoCuhpnwVSZJseWLxVdYUxoPWIBquJYChUUrZuVMZqJBytktvCuxnHDDVuIPuVbfJEcCzbZykdLoqPqbdOMkpZyfRXYXMTjoNkgmCsAxOXhSFfjBbmavvplDbFLjiNYhAyrZYfRbQhGqnxHctNxOjktLvhFvpEMtxUCRsenSqlcexarYsNZHpSvzMFrrJROaEyfiKbCBoceUtKLDQmhNNbkjFgAGgvVglMIJpyFyfnGaEKknPVNwQcLpARobVVMmvRQdoefuKNeVrGNANBHuOxeYibBhOVVlWUhZpLQfBMAzjAUHDJTninQERKLsIydmwXacANbSSHXYtQohdrXKypzhLqXtYOajNJklVxcmhjlmIXpnNMHf", "c_map_string_6":"aXxZSupMDdIZKixgunihVbtLXomolsTUwhGMIiucPJAOupYmKZmRKUltyBtHiRcBkjmugXloeXOFczPIiYBAeFptxgHjBfomCaXiVzMMqTmDtSnsiRWihUzgTzdHjJCYmDWTkSyGcAnAZiBradLQoLDACKFfTUJhtpTLXGsrDqAcBUPZosnbGWYwwFhfHTlbchOPzuWXvVxBKUNojsLoWbInviFFsMrWPUljtzJTiZIGkkVmUkCNFtzFGBCHUaJNjqjeYzUpETzFECykHumRIHeTRLEFfttULnqthWejTBcIbzczwNPFfZjVWthSRXTurOsiidPemcfeESSsvBQmWHcmqYFmgvFjzlhYivFhRzzdKsbiCJjCGBqcwUWSnyQwNrBVMKsvdLDzgAyphUolagSbPHnqWwjyZdUaHmkjyNOnBJWkMuDDgmYPLskUVZXcDcHFdQazYKQOIeagVvhtKxFNqVFtSBYPmXLORzNOwYMYdhTVTMpvCAjEbTBVWrIY", "c_map_string_7":"qRNoFtlHKXOHgljHiXBpHrkLqugsEFEHzYRPCIbwBGpgavemZnFkusAWVHfRavZEOLyMRKPKgudfJHEdXRkeqJggYctlnUzqgITGDNqiOahpDbxQIbqkVVSXRicpCTiHtdHFNckpsEqSlnURZRFOSGfdzmfdozRpfnvjySJKPaqWaldKzoROzzPKGqiwHjBvzRDOilVCqaRlLUnUHjURZjLRFJkXTIWxInTdOcimQpiUBsZTZXDBCSJJxbITIjeSWcStQXpjYZkcmiLOqmuovGlpqHLuqpKKnyVEDSyIBnMsLhNRwWcOBIYrMMicwBijojebUGqGffgtGFjlgwmnNGGyKRxhUGcClKKIYeXbntpszuUpAPgFyRxfihHwormWeGzRAzQMiFuhAOoOyMlHkmTDifhrFWMNCEMDHNqZCuPLVFNoZGcrpGEMfFVSxJiIkDrMUkZogUWdlXkyGGlnnaXVOLpFUELOOhFrLbjdqbhBMwYntblAOYRNqJonVNwV", "c_map_string_8":"EmDCwgHQGyhYSzzaRxSztQImHVkxNfkwNZofbVyyQaPoAQRVKcxYbLCfgMyJkhDvDzXBlkhNbmnOssAxhCMgHRIKVeQdUkedwPiucQPgqfgGPWikVwhDchqejpXHdcssywTzFcWMrxsiBSLRnElmdvirDyqlEMCnwIKaweaHEecUrmxPXmKQcUctsxNvnwhdJnkaUDMVgkOhZDFvVDCuhrQrfpkIIzKpAYkXudvLzTgbIEoLnoiSZkSPMqQmKyyfVRUmYBueRXWqFrqsolevQspStcxIIXoiNcdOGhlblxkdqMWaVYPdgwMUOcqygVCyuQvwgmByrJetKmUPURNSasbeAUPJfxzunfOmznuMYZdZwAkzvxBCOgSbnpuGddmBgZHxxyuUAqNNAukrvBnfTWLqeKwnbWgHivrAnmZKgmaMFmZKCbgdnTjsddzeznFXDSJbCmznAuctuXynWQipmcDfRUSuJzeTytVACSJPankdtPlqeyXMqxbZHHBkWsiv", "c_map_string_9":"sSLsRbRoijrtysASBrphuLJIqpPJKkzVfckTrwMjYpkJFTVYxOpcVOAeFCCjWyrRtLcZltgUZBDOHtabbWFaJFuwLxyWkYMtHOJAoYaAANRFedKWqJrcuSYYDvuoTYBtiBWoqgqfglMTkPGgrvHLztmBYQUwuCCIdClDgbImNvWXVwXOTtmtNAsgTwEoLmgEuyhSGPRwSHKoiWWNvHNsXxHGuhVBYxFCRwBsffmguRbSLPHhdLctsARQrSCFDsYwgEUXJOrLtEzQhRCBTNQKpNScSEOKLkDtBWqSrPpdIdrzTcJmUkIDqXmzomkcwclZoYLErNsOPiqaVPXSrcRnmBaDUdxhXnjHALUpfIfrojdCwCtSoWlLZqBjifpasXqwrxTykFIabGVHUeiZJIbjfhgocsvlgyIzTOBgWQytXVFBMEWPaJxBnnYXxdnUUzSPajFxdSkhgJdWjmCYKsYjpTCRkaVZuHXgsfINvYwEnMmovzmbGGxbRERmihnHFwrD", "c_map_string_10":"CIhowokWorFNBqSGRhUuKOWKeUxVhdyvCNPpeoXmqWgupDwYPxLBTXrVSSHOvfjnhTDDFdsogZGJFCTDZMTfdXUDcgiSHWEeUiERRDXfXiqqprTSBtdqRcsiEvCTINjuhMOmCAtaowzNDSegATfILlVlMsFFErhZfBmFdONlKwfuYnJgJjHyGcBOOKSzsgdODqGrwGDlaUZyTnQSTSDFaLSkvgzErjdYLHopMlAyXnylyIIFUGvXAtVasptvQtbDbZpLYXTrpboxovlyyRGSPqgcCrPmMevKxbyZqrWFqlPttvSvSzyzleWtzYZMZYoSIGHRcTIQdLDycQVdFENMPzGsxZsNIdmWvGwdBWciThSSeveHpIjJdRjVMDksavBcVrdWzdeVPxnhvJzvXTXJEXCqyTthbkXYBslqsFVWtmnWqbQjKydpWAiXtsVTsPGejvhEviRfrfNIoNoIEYOceRHGXFJHdYKAryYuUDZcAeYObYpGVWhqXFUmzApqlkCl"},"c_largeint":-2792295461190297533,"c_array_float":[37.796978, 57.15007, 13.389501, 15.681564, 37.265972, 80.14025, 63.827724, 2.7759356, 96.637566, 93.37193, 40.23334, 36.650265, 74.39823, 77.88969, 19.460402, 83.15372, 34.256287, 76.45993, 41.014248, 48.39399, 6.615673, 75.87448, 33.688698, 51.336803, 95.367836],"c_map_int":{"c_map_int_1":-39892367, "c_map_int_2":-736634281, "c_map_int_3":1375657806, "c_map_int_4":139860004, "c_map_int_5":-616243999, "c_map_int_6":-821126034, "c_map_int_7":-999451932, "c_map_int_8":-2016566079, "c_map_int_9":756219806, "c_map_int_10":1533878925},"c_array_char":["hoGYCoGxcm", "liDVATIkqJ", "lGBNNTCDrV", "YhYpRLAlYk", "ngSMBAhqlj", "oivSLlhtcH", "YYxqYiEyCs", "NeBdeXcwQB", "lPqAmfSLBk", "AQzPeWxIIb", "lktCcamINp", "loxILHHmVO", "PKVWPqBlEU", "DjJOtqtkdf", "BguYYsNFCf", "smuzmAuquZ", "pwkBxwCLdf", "MrMYfpZGxZ", "eGRQGtRfmM", "CxJaCxBOow", "cMpTXNssLf", "QxsBQudPdR", "oURXQTHubm", "XlFGrIrphz", "jQahjKpuPi"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_bigint":{"c_map_bigint_1":-7993451687329080783, "c_map_bigint_2":-4126503240555217538, "c_map_bigint_3":-4416979043155627085, "c_map_bigint_4":-3287688151935955222, "c_map_bigint_5":-1125319333944420385, "c_map_bigint_6":5157826433376395833, "c_map_bigint_7":-3968462210269445415, "c_map_bigint_8":-5238317442462247832, "c_map_bigint_9":953803708490209191, "c_map_bigint_10":-8719645181249823258},"c_map_char":{"c_map_char_1":"iMixrfXauL", "c_map_char_2":"VQhoyRsQVD", "c_map_char_3":"uAfBjtejWJ", "c_map_char_4":"EQiubeKHsK", "c_map_char_5":"chiFvIngSg", "c_map_char_6":"ykAPRaQNgW", "c_map_char_7":"VAkXEQdCpb", "c_map_char_8":"HnuRSGabal", "c_map_char_9":"YLOHhwdjdK", "c_map_char_10":"kbZgiDYCgG"},"c_int":-1472444577,"c_array_boolean":[0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0],"c_array_bigint":[7182832435872868552, -600311920352144040, 7510590711762994375, 5970544137924164709, -8229605213909112943, 2374839893055652874, -5796163094501714920, 6002577603550061323, 8997486149001834341, 5716306505026910363, -3298426336289082242, -8739154762871498682, 563660898936002747, -2134841228089864749, -3748258885965852849, 2025124144525028892, -3876500788957214692, 89522993347534203, -7845283424917983838, -1861964453645204146, 4041729301169393773, -8109845048749143971, -5918330928818977529, -6039635726389306770, -2568091795191116997],"c_array_ipv6":["qEUzTmycjH", "yKylOoZERX", "mywFIwISid", "MiybdZGLtp", "KTALsXnKGE", "RjOPZMzvmS", "cQhHlGCTKt", "hsGBXmHIGH", "EwcvwkuoDg", "MfBkTgPbxP", "QfVzBNBbiW", "pTYNpemXQK", "dQLhtMQmul", "jIJpLKPEFo", "aQRhDYqDnI", "SxoBounidr", "IGSGwikMTX", "yZvatdMtKd", "riKnYbvWRk", "xlvRKrQSrC", "hqmfSEXzqg", "imkjczMteM", "LmWxKOMOjp", "cpavKUCKqc", "KdXTayrYkx"],"c_map_date":{"c_map_date_1":"2019-11-10", "c_map_date_2":"2004-10-11", "c_map_date_3":"2002-07-05", "c_map_date_4":"2002-07-21", "c_map_date_5":"2005-09-09", "c_map_date_6":"2013-04-19", "c_map_date_7":"2010-04-17", "c_map_date_8":"2008-04-21", "c_map_date_9":"2009-04-21", "c_map_date_10":"2013-07-27"},"c_smallint":-31702,"c_bigint":-6269272224913834691,"c_array_int":[2136300491, 1942211344, 1782569993, 1267348435, -552164523, 834178149, -1760170126, -949547920, 463331131, -1438994675, 1852227559, -2084713724, 664179263, 1666867235, -979540130, 2033711959, 61647112, -1185613741, 1476393325, -1416139713, -577301774, -522455223, -1288009025, 1198413243, -73909346],"c_map_ipv6":{"c_map_ipv6_1":"e58f:dc83:50d3:c630:fdd:d159:518:2b21", "c_map_ipv6_2":"abb0:acf6:7ba0:9939:d043:f394:f1c:bacb", "c_map_ipv6_3":"780c:f662:fbbd:5aab:8223:c200:3d4c:4672", "c_map_ipv6_4":"8b9b:f5a8:e129:605:3ca:4a64:bc8b:b722", "c_map_ipv6_5":"1af7:d502:fbce:22ee:4c47:de60:b778:3091", "c_map_ipv6_6":"37e0:dc0:a539:10eb:36a3:866f:3c16:315f", "c_map_ipv6_7":"56e5:d590:85dd:bd81:5f45:4204:36dd:d5de", "c_map_ipv6_8":"12a7:b358:7fb4:84cd:81ac:57f4:c98f:7b53", "c_map_ipv6_9":"1081:837d:f954:f660:b199:ab2f:336a:8c5e", "c_map_ipv6_10":"e845:a773:c400:2373:dfdf:85ad:207c:8a83"},"c_datetime":"2012-02-24 10:40:49","c_array_decimal":[0.0186, 61.1513, 3.1618, 26.0419, 97.1292, 24.0491, 75.0158, 29.0095, 43.1417, 24.0047, 14.0656, 19.1571, 76.1190, 7.1426, 2.0736, 76.0730, 36.0452, 63.0795, 20.0645, 73.0653, 99.0685, 66.1761, 64.1447, 79.0075, 12.1632],"c_array_varchar":["oZcpOiwbnBnBNECooFdMsFvEirUyPCZqNJVtESlpxZxDWHJxdFhBTeswPVbbxexRovYghntVLUpuTgKTbblwXEULWVSKoLeRxeOffCtUFChfwnJBoiDmXlvUIUxjAbCXDMgUefyqvNzMCZvgALUbIiYDTGEtKXwWbzkjcJPTCfMcWcwwskSiBJKBJpoqbryjbZwuylHhZRHRHRSGvbLxgTlPKiiSdkWPkewJRTGontMLdUmtsPOWqCmeuRtvuEiG", "szRYACzZHWFzHvZAkqHNJJPsPJnSBNFkBUaLKnarEwYEldjSzoPyNjiRafHoJaPfhZCntSpHOcCymGKbByeuvCiwbAIJpHSfxdTeCoooKphIzlXbBHBAShimdQvGPmnnebwtyImOUIchewakYPHUfVVzTvwtGipvfqoldkqvyfMzArTFAxVlIBefUKFRaDqnrJHMBrVEiTpsdcqbEUEsgpFMfxBUeBfvVHxaRpSpMrlmQzcfKxfDIziwCNhJCPqD", "IYqwDDuxOTEfQwIMktwWYaQpDUNKBxLMAaxhyXNgAhSnCixzKPzSYuiNJqEvGzLMjdkmgVmHsrmaOckqVunYaunyTkRucRTOhjIUmkndLOQAwmCaXCJBXFoPrsOUoeyBADLJJxYuKFcgGXzxHFSGBZbvbaNDxicxRhCyoAuMLJYARwWsWPupVsNRUjUlLTWzfKTcOkZUGLaRhiNkkRfxoupiPLsDZVUnetGNZuRMmhsWNsmxTaMCsYckVNjsMCLJ", "CbuTXKhauemVbbiAAxNJgSVKmsEDAZIeljyeKLxKTCetqeoTIFaHVCFFLVoOPGramJVPYnNNXBJmDTKgVwxANZepNqdfxQwrmCkwLlEaFOObjfSigXXUaZHNbLAsBmFNZRjCvkIdqtFxloUvdufMwKxHmIjNvzQoVhLBtBLpkbEemApeDlRhbWqGPSeKYFnWKmsjzAKURgRZKsPARqYjAfYIbSZMySjsMQQLElfjRYwYOtavMcMzONGNORClplcp", "LELVwAfjkwXgXIfJgRxUWmDGhbDjMrEwPEYXOTkzmMaPlwURlJKYCWdnXjjGkMKmNiLHuHRYKaFCqddVJqYOeEOtQjKCdKBQRYbeRjUZAydmjcEziJyhHjcAuZuhgcFtMrGOheQtoWyZbeAYbJnADMvoeNNWzglGVRoktXmZrQNuLhjxfWmhALdJkxChqIjINLfwSwqLNThNReABOuzyuUtLrAMKKzWGKuxmkVqkSNtSDAsIUOCIySszBstyZqNK", "IokEvpFOXxxIETUQjjlKsUrsTMMGiTWvrUuvuGIHYvQFrqRARlKQgPQGnUqVuZqhpJDFSLsiZilUHYUwuSrPrzCOkhRjYyhKGUkHsRIjLpIWuYTDQdVlxtNsuMlcuPspHEPFXRrBLfvQwgVfQPXyuXYYrLwwHVUMtKZKuSLlMGYvpmjKDkfcerZvJVLanoyDuqNVyLdjRBUsikRdVubdsptHnVkPZgQktAzGTOkeynxDgxcWmotRYDonXKxlmgnV", "VdMOSkOyMbhVwCXPUjLZvLrUPlaoZSKeyPvfdFNZGoZXyLuUUtUhpzABauZUOKGgBdIPeqAyvYsnulHtHqtGmIxJdkEZflopkRSXARlYHbVhsScsPymsehquvseYwrjzCqnKPhzvBHxaHXiVzsfMBKiCMhWSpaYvPNMSyyMDsbnMMqonzXRXSXdATHxOeYAPXjkgvTHSmeVFNkEvUvZLPPTgqLEaTkPksozzpGYMhZQMroEUYBzlgSNQLSuSbnDf", "dKWHAlzlsdfrvWkGcPzGLCpslPpiYyhJCvEDIkjWxDCAsFEScTvUJPTIsQnqaHqzomhvEZixcMAfubIacdayRyrzsNlmFeQKRrshMcKxNlWVRxDTynWvJEPsXJqojgJEKDmwQHneayAhMxwLoDFAkmLzatHMYuRGGeISgBchSFRLrRpgmtVtiuXxgcBqTJSDNNnKaGmFfKCLVFncFogzMZvnKdvtUnAoYIWLIfiozVgjpdlXDePczjdSbQUDmGyK", "wBVoJdClkLQLcYTJKrJocSiccHJUUTGXlqtywzgtCjCGeeSQXRAnNSOnvqrZNlrLYaYKTUBqsOmBbLGzARSXeSinouRmZKwJVIMREcBemxUxhIiSSrXEYlPQFUhGsdUeZowmqzBlbcTOSGpVURoSbyrWQxNGhvrVrTLsWWFKaWmqYBEXLyQXYUVXMHvwsOhWikzHNObijKrSGYHpZSAnqEfraucPGjsYwwldulAsYweuBNtKOnxjGFpfCyplBOvD", "HSzzcotVoZyudZqFFUzoLEtdXOqrdlQEeLkFtvEWohRlBHwirkJFbOguGLEeWRbtafMBfOigbnEhnFpDUdgNFFUdRxLngsLhfGiSeOOjIyTkHCVTMUpWZmqvtiVVKffdsoNTzWxwSoEtGtHptXCAjxfiBczoJusdjuYgekeMwLeybzWuDAeSbxsUgclfpPfGGpWTlOrKWBXLLQKCIULZuPfrbtknfkJHIBxwujFiLFXmOJaxTsNTnfZjPuwakohZ", "RNxapzBOGKxwtLYHVOZHXDPdomzcCAstMqiEoryGOeLHXsBntClTAKQxbChpHakWwBORCkyqzjfBzDzuRvhHpSDuuNvymXrUyOQpJlHtmjBwedHgXykkRaEcoVGrqbKQVSKxxBmnqDunJXciVDYiAaobRSALlOIJsgzOSiTZDJhcVNrqPyQgLRClKezKLcOKqjKOreLsikZjLGEnqqrUYEZfZhRZszuJrUDkwUCLztVnggPnuxnAtHMtuZGMjJET", "yCepyCUWGdnIbQAPncYMYrlTeOLKXjpcNqiUBHwnJQIpEJWjLVcDDTxlEvtQBjGuKtqdObqvSotafjXYopnsWKUdrkFECDIgLaPJgDZSIzDSgYPihKdfUylgQBcbcAxeMzPawnemmzDSzRzrCBtagwQPWUfRMdipZWwsoqpsHpgKmpLEcsbzveUzPSWsLcBNxQZczNviVOQXNJEcwcDPlgQeKfAdwesYQOWGpQKJjbhonpLeoGVgjNhgEzsUNEyF", "qJoErazDCPXtenQwZbsVbspYDVWPVmHrafBdWOgVNBdtwaVsgwZKMLHRyuSfdVPTxGaZXJBmKhBGWvAVVMVFcagWNRvFfUWPiirjquQrTLDWsuemCORmJpDCDqIszuhLONOEVxgerxarGOYGXGNSELIUKHxvpYRhrwYdACjHIOtkShqZpGEmazTKztGCACDqMPaJJLDMQTEPabVDAGifuHxLFlwVmweupOMzkFEzEPjewVGtHBNvmBwHQDddQPOo", "bHCniAtHmYOfBolojtpSqNrgfXsiGdgbZwajvHccTFhHVkmrPEjgEqbEavnZAnxWCMMHPvCWtVKfkrNxDgGfGKkrVAlrfFSeFutfnmbGlTnohPQwwspYeufrkxxwgdBuRTqmzgoLYeYIFwpytIUCHWeZkVMJQTXRLqdUmRujyfHynYNKpbfYOyJecUwtJUaxoPVmsLXVPFQTICwZWlLgWZPuuXseQZqJaicpAkRpfTvsowXtNGbZJbeRtxlgTeoM", "vcOISDRWqfylEkotASZZHaUJpyjvmZkgltUiWHibDiqElQymNYTvOESMhJGiiQRcNcfSHfOqCaHmBsnfhUIPzDgYbdlhsfKaaRGRVGFYnQjAzuRPLbFreMnjjtTfUqzBzCrvOPhOncaaWuLQbULQuenymDJBcCvEoGhJtZionVtrSvufcDfvGhKGmDGsdoLPwQIKgmZvQlZzGyFfRIOwOfPJJSWuzFHIETXTKDFGVTBJXEqVLOdxFbQwYVCfFODS", "ZYeWloKEcOtXrQALldUrUOomAwXPzfhFTTGKHEpLDdQtJgLqcmCaUgoZlmmZfKuSsCcehUizpgriwIlNirSqfgXbwPuZaEawLCaMHhgfVTYIFXSyCXhYEfwIFclWJArfezlYdsyOjEUxpQvxaRxAGvPPtIRtxfOVOXyBUNCoWeEOPISSEyUlVwXyipiSCQwxHigzkoUgdrGdbCNlXLkVtyWgIfNPZMxUlfuBLvrubESTfdGlnzmiCvEJsFNFRzVh", "SPMVOCDKABLVhgIwGEsUiieiLSLITGTygOsudxERPScHfKrVDpMJJXdtMRUBdAcAKarHfBbWUDvEalUwFEvNJzYbEZrqeeyyraJXUlyTdoMDZORgXxpUeuFfgClUhXkMxaYNqDxWYsghdXqyFJwcEKcBEHFWcPMoGHGebKxLEYpEosQHlUxvmFnUUzaVzpfUJYYEhVTUZXUBtImFPtmycNxxqXpVxCuFwMufYtYdJbhlDIgmNidhnwNsBzRPvOgj", "mfRZqTbiUmlSLkqgkMiVhRtBhOYGwXEyltGZOpenOyuwduXIMBHJjxXhwrPcmTDDFuCKspuufYMPsJSrgQCJNEzSIltBSyWdTVhomSWRzumTcrzTsaojulqrCIdFMaPqAdDjhCoPLItMAwfkxSsCCFbQZgDwnYlhWDRHeECuMxzZwzrjrzRgHscDfoqqkQIiavDfhkTjYFGNPoCYawovOAIraTNdugqrbrrVIWwMdtmMTxjpiDtBUaJRMzKkQMVh", "KLqXlwyGPKQPReQGmqmqQwTwxwtsulZfcrnlVuQmxvRgsVkHBtSlHCIbAlPImRnfgFIFFpBurJxjGnmEvNFJlVDVousxzriDTABGfFIrmWWDHtFZqlQDICTStEEzJkbeIOcjDhYioBbbHlmtAJIQHCRBloKTrhTygHLIqVTWxXMLJAwVQejCkLxOgnLuGPZKJIEKSgJplsOWjUCxSxNOxJaNhnxwqwAiUouYFOFwXvaAsqDgwOyPfTQVYoBFUhYv", "OTLoyzizfJfbPgOOYtlVqmTyqWmDfgeqrnKHHveRPxwyOJsiCnosHlToxdGykOMJdHAfIUBQzrwvxrZEDENCnvdIgzFMGOhMJLrsinavmoVlZBXXAQrnzvDpVOvZMoflrmxsOjFCjiPtBNKdKrGbGrkGcuwpdErNleZlocLWyYETsxNKZSdxmSHmWIfzslaRRKFfVvseHLHeUlrUtgIDphlZeFcRpdUpxsqdmFeGnMFCZccxPLSPCdECOGUTRrfC", "xyfULPfHrhoUsieELxTEqkpLsBTgnpTWQPZLmGcHIbITtSNwVHrmChfomCsUtdSSBtdBVPvnQHHSiBylCQCqmSqBNPABfvizrjqhMqSbFfSXPclaQDbvDJHYZFuzrpMwwPSIZdTccPerWlZxYHIioIOTpODgWhBwBgnBoDzTqamuCXKvMyQGtIAEuYcjYhXkPiBISTmVNOcijZgbXQAeedWoWqCMmyPuomNAnVwebWGHvuggvdbxOPhltupLipOO", "BUrrXuITYPVSBfgqalJflIYqLRRyfCmMPCdsgHyulhekMYtPZWusldLRprDgIEKNCMlDMvzAFKratoexdeMGxXINhdOrBJLmDcVReqNomTtXwvfEZipBInXExyCnQXvtESUgGRagCDLqGtcxUrugCdGmoLvnFcMIscaDoiOQemlNrPXrosbbjYZkADStVZZnSmcvhbvaCiTBvVwnZAIXUerQnMWyLqfCBmINxVDSVLPActZzIKMxCUJIkZHHNeof", "iPntRvbvfNeMRJidmfpzgdzwwNOISnhFAMwunGMkguVppQEjuRWKgOMiehlzLiTRUwiiESHLfKrifUKivBfMVgWWPYdLeDjacjopAWgVvyoPkakxDZzvwtcZpiYsCZMYrDoPINQecKbBoLYrvqvjrjuGRTpCEOuqucoEftXiEoCSedyHljOjubdZNhbcimBvMxmkIvSbwoYJpVYdqiwgvRbNlZlFLxjvAtMeAuFyQZSmswIwKuQwLxQAlItFsnyM", "QnKMocrJFfqQRxlZgCQEerlxFIouhfGwMvNnraNOFegAqPVMzdqRXlsuQQZvoFSKlPMOAhjNlWwgTQbsEikWQUkbblbGYcDILYHHsDKVgSSWRdXVXcliryYuQAPNWUlDfucHmKshJfHFUjxkfwPwllWgAznaVwZKitNfbKvCTiMWdNiVYRUpssTEheIYHBCJRuWvMVNVOczaBnkkoGXKbkGcoUlCVZAouBHvBhKBHuoTHQHSnZAMMmBRRzJAFeNY", "ZrfXoBNsGRbgVBchvZMuAfUlrYxvYGhSWrdRrCIVnUIJApLGHNmfwGYRKhRXEChyZkyHiovOfAnJfGfeMXOxKdzPEIEAKhKwmrWIhANAnMhtVJJTXGHTWpVrPNhewzVvoOOfIOwzNBSuJybwOVSsImgOcXhYltnhQyUALelWyhZRRtVvLxlNeSRGmkatUojZuFmoSoJOtyUcpPKrGamcryLsSXVgUnrSSJBQjajBLZOFUctAreRzlcEzSfWjEsry"],"c_array_largeint":[-133343578846341709, -4316906973289885223, 1977647038106793099, 3979548509624413454, -2734158333071600830, 5446530914091893718, -6771215207220138151, 7861737017937051878, -7846458497012559397, -4437998059792464020, -1054331514256157344, 5519650355549271570, 7950106996307474316, -5331392003198822799, -5562760624173863213, 8449238166079777016, 1650853154560738394, -1096183672294754074, 8928101725160497188, 3827473826840999959, 3179961236388163735, 6160204623969750973, -1804459812914127812, -9047997624028594424, -1921702283479021635],"c_array_double":[77.29417111911805, 68.26595300572606, 31.734953748792723, 24.030853593341995, 23.70625600739471, 71.66233458738103, 53.28335323556758, 79.63737807568232, 16.798764995637537, 19.705040674593988, 95.20617916132579, 75.97228235933144, 42.36521538137088, 89.95494730183042, 100.92680589178964, 27.817972559899417, 93.93843565307074, 11.127078671456232, 88.44019025288098, 63.10303772207699, 30.219486350789985, 36.014114731731816, 35.003899670613485, 61.00012460641115, 86.55776081792926],"c_array_string":["GlLZpOyZPMuSdJHFHxIwyBOhrMEafDnsJhlRcTkrjYRbyIzMvAhohWZGrRAqylAQQOACjmMzWxuVNcVHNPzeGWtcsrwNtDdNodTzcpCngdHAgBPRemQJDoWMfMvYXACNdmETMuylpBuKZePCBUiSLYuVqnMxSXChsQjyBSzIAxrOyxdXJaxgDxXDjogfvCAPanzxTBTgqXmbPliAMBeKMwYVWJZzKGWzQNRthdIkVdyLhAlakhfMiLqTJcgVjnFVUXnoDVyLcWsYcnyHsnGlCcKgLTgiyXtTgGOOdzNEgOIISICqcuJPzAZnxwopFdMBkDkIaBJfReIIQAzbuQvMIVQkYXOXnjBShttEUUeXwPivKQixgucytDSfXuvbTiaBeuKehXTuHTyLYhHadRIUEPcRLGrkFwMtNxsboqmiVdsDSiwVhQECIJwOGBlDwRiajeGZLlEfrpKMWwtkkIsgUsYyaxsMnfXTQUpeXnGaZMHvJlaoJFnXsUVBlLQeUTSj", "feuZvnFaONWRiHqklsMDXaxoKvLXOWEIXCNBsIylEqxNtqQWoNUcMfgyRPJbZcovAxralAfBZvLelZyhqmnRHMnFOdoBswmFUCzwTimjPiCzaJZJvtHQEKvtQDfbAiOgVvgOdLrVtmhVNOttvcFTxcaEDroGRRdsEIiDJWxPazrQJcKGsTaqsmCGIsEfhAODnnNqpnquijmDkVjotOHUTzdkIGgbPazlzKCvQJNxiZxdcDVamyHLbnmTcObOOuxNwQnGEddyiJxKxzjfPhFBgBGAystfTnyKuAfRiWjpqowsfxdMstrIcWjEgzwjaXBEZWyyTWVeBcWOzujrgwnaglEcrPtWRqgeIEIdUWwlGrLLRPPsVxtxNusPxfnutatKbApeiEymjhjVGKsHVhksbgKMWNgVGSrtiTtauPGeqpGNBzrpLRRkchYfNhephmavqSYHWvpEZIGuCfmfvhiIwkRKuAdHuqVwSMeZczmUsAtPkCusIqURiHBYNjsEeIzp", "LRKRofikGxMWRNmqDxVCvvLjDlkoUyPEvWfzJHpehpbSVaqRmmVwKbMFjpfTDHNHTOtkDqgWWDWPBpTbTnHjpquWncFVBDSFwMaNVlEUUNAaJZlOIPLFOajnIHaHYZCjvllyqTUXuUElQmuTKRBLEAxTmuDZkTheEDfvNtRfkbOpBxCGcvsANjHBtnfwlevkGWEJwcgCDNmJzyYdChaQTFQmrdEFwpdBfMMbuviptSCywPlsaZzZEQhMpMlmMBRPUHSmLjwmuFrUUbNxYVUSuiAxVRQcfskNRxEAJsTrtTZllqMVEMSsUpNHRMUllCMgyQSygByVpLTVMonNRfkTrBdcmdEWPRANkTNmPRuUaTFpfnHfSMUHGzrBfkGncqmXhTRvcGGZZDFdXkhQofTSBNYFPczOAVhXALBmJnJvISOkAWoqrOdFAnlHvrUKRSAFrlEtTiKVGUAcURnxussqeqDFHpCrlxLxvzmhcDtahcbKnncvFikfTtYUjkIfReeQ", "AMfboSJnaXOKszvxJOoYsQBjfQeUcILFihxVTORVPyasMTidNSoPDdMFXZBNaikOfkrletVdvVAIlwRiaxNeLJgHjbaWxStXqqkurFjVWPtKUoCRIXXgRdmCRqvYzdGhMJNkpNdOKroJzYLHJJSJOlIpvqrvGrueNyFWMjIudcHCIlNWYvGeBcHqkFIZfdERoztcbeehFtqNscpGjtcUZTUInfVlVsGayYrKepikfinlyOAbJyuRWvwxAnXjwXlYYRHrAGlDsHXIvPZiIkiPrDRZIarNlpicWOHbnwSMRODuueFNApFKFNCFgeLEGJLYizwoNfTLLxtZJTkJMbUFMJHQlDSAIczGLMEMMuQnccazeYHtVfAIqDqtzPNbgmpVJvsfzSUAWDWhKWhbAwSlgSAPrvtlwuSGpzEaBvVjqTZUEXkaOiAwsJprsjYlKxgDUJreJboqLMyWeNLNvPmbgEwIalkqdxpAzltMWUcxBGGLduLyPcKMNAujEYTERJNl", "pZDDbQIBntuMJCyWkzurARLlByvTIVneFVtqMQtMhvwcxzbsdcPLrCCqZmBZrenrLMTsJrjGmGfYQjpsAktlcZbPPJSSdauPUiOKcZzqwBCEPJSYRKBDmeCuajibAgcGtJBldGHBBHAZbyhznztSDOlGXQBTVCnkMHEIaRlDOdSwhENrLDMDGEuVFLFZWuMVJuVplkSbdapBszEDpPJtruOUAyeFYaINqaPrjjBZWQSelJBnRxBIIkJyoSNVQtEqWwSpfucAzajmZWASMlVmjNpPSbaQWzYofCUcWpHwtasycVufhxHJTBIZFhYcxMqTVJoAfbEEwyxhMmPzfkQrMuKlyfwxqFkMxIUBhCFSymowpZODpnByebYxlyyLvYDttToYShHwNEBCTZrwEyKGtcoRBUAlZVXqdgFqWqvAdSSbJlJMgKSwBOoXsaLboPxaETfmywoOYyRbGfijCVWKtkxOJghmrujalSeWpaPsIXTvKVzpsgGkvPxMHnRRcbzy", "SjdIRNefUpzvYOwdIIbhbvGPUwvaClpTwMFksrxgMlfYHPOoEEySqBeTKQdDPaESzVtTJuBJDaPQuIXbjAQdPWdnHGqcAgrFzlmZUReVdzCQeUxnCGeooOEfOYUJsDSPIboieFVPKIYqXISQlwXVtjxBxhSsbTZpCmcVvWrVupezeURSGwMpJYcsVxxZkojXDeLIrpIShEVNLModnECwsXrYSLLDuSUYtQDQCLczFvUJTvTkKLMlNriOKRrDbKcmsnobKvUxysCbkqMTExdDbzBSWnqIIbsWnanWaLPePwQLepamftusbsekIKLSRRlpQDwzbDADtMiOwqMWZccXbrYYXwUjOIhMLccUVysSlqubgTzlMPOvqAiHYpPpJhJfBMpeGwVhgFHqxkSxUinpxwHARpOiVKmmYAbWlVVJqUINanreRzTncssPIxplWgznBfsWBfUjVmnclnOBfRvDvxchNoeXnnoHutJLgzEkfEGRgzCuiBcKbPWnpvptKjiv", "SoxknWJYGPaCSDVGeQOGoBzcJouyQikIIncjWxLzXYBNnanYRWZuSCMFPcvSVPSeXnUddMDmbhvqNRmwDZfPyfltEBiqfDYdcDGhentCGFZFHMdZbYZwkyihphjpXapaftlEGekIUAQtbVaDqlCrHxgCxxyDRdCeOMXHrOAQdBoAvhitOwscNjvrwDnMEihlVePuhVmbYJLzHiEcQWovsfiTHbydMVzwtbgkcELttnzeFGNvRpZnCbxoZNuIBUUkekvXXteukZYwYPPHrLjVbzPHPMQfSYCtoCXfYnLfYAzsupuwdTEaYYfKuWmRPAwfPAlXjiXiqCBfsWWEEcJCiVfcrjgXlGQgKtCBOxiveBQbjxnRoRLuzGdHWiPUzUUJxEkBYuxMUvCrgtHzqSIpQEeCAianwMLxpxJLcUfzKqGLNfACkfQAvMdEsHkFaYqTaiqFHZcSZyKXWXMdeCzjOMGCEOzCvmINkOKdvtSxMmoiWrVOWjJHNLaRtKnLOiGN", "VdLjOjAkBKnuyawnGjpVsceLUboeROLdCGXGVgTfOtSqUsMVOIVmnmoQjMbfciDfvBjsGXeNAWBKIoYMvvUrcluoRuFPXrZCJdOFnvDnqyvfJTVdZatSDMdtyCxGOoefZUkRBSLXOlRumgIXnmLGgAlNVMPWeMNFMtgnRmcZnZBvSHaGJSSZclhEkZubPnewjPWXpQuzJAcmWITCYvkbXnOZnWnXDXZrjwuNhDyYmdWyVmnyIkZkpIzGoBHzRqnObZnwCGMyjfqxiXyprOaPIifkPzZdLHosWiePANQhMMDozUqlEEbgiodonCzrDJgTKYyrLVKfPzvAWpfAkjQukRdlOfCdlygNDfNuKGYVAWmidPObGoAmkmyEMQMzfcGCwoBuOZJpmQSsrYVpqFEwGBqzSclsYAxiqdeRrvlRKooVXIwSQDhXspYbOWvRICglKPBiwVpecmcYDInBfCeBoaJJvsQZjywxemKNlZiMsNsOmeTrgUVJveutMUmiBHGP", "yhJHfGIWerFPyXEpffJwXZXYGKIxsfgKWzWkguztjDyRpIrNKovLkPccovimnHxKiuGSSKBQVSehDtmypWMbVUPbGcMGXePFNOXPmKgUVvDRdqQDSAajhXgMBhIMsHUdkjkczPWsBRPSDtAeTBDrxxAvejqiYnLmTDcURjXroZEYvNsNCBlnhKXMuhtZXoZOUmqLxRekXhhVZHgsNldxFXigGHdmbNJjZwzYDdOYoJbUUzAbPvwgjQQMjmPoeNSwdKcFwjpeKszVSOCXacBVHABPEqlbRPVcizeIhNCiHVuNdTlqfZeSPUbsjLxqaKdQyhEKyqvVYiHUOSHgOQFBhIivPedcyEsDipIywKCshfONcCOigiwUeSPwIJjNoTDWLSUBHcFuwqzWtgMCaoAufDbmhWsbuOHAjndKEpMsAZEMgCOtwYqwkKHezrdEWIszlZapgwMJRMsZGGtYYjzaKwYvQnwDsENbbKSTOiErSaBObRjaKUdtIvuThMRYPGoh", "rHmIUgesYCkSOhsHHbIGSAbyvOKHEVovoPdtshKKXEiavmIXbsdQaEpUlCQrWgmcHaStxMRPUfQWsjTjMKyrDIBlOgweMqZsKXLlfgMtUeOuVmtdzVtOomrejquXSpYCicdzlfkXqINzicRtEhrTJKrMqLdfGqnRlXVFISnZgVzmgvryZfmtGDYwdXSBTRmUlFEQPHwKNNAFtBYcTlKgCUupNfSMFHVgtAEwAupbzurZnJDkqzCRhlYaLnupUsHviiTszPWmhWmmnFytOPiuYVDyyIvQBLmUfXxPtbfaUdXwbeUdSxzfBnOzXIZUCylQctfTTlIKhkMDkYreZtWBNRzUMvHXYDfwKLnoGxICFXFrDtZLTUILcfWicejUyvZzLJkUBXIZpukWTsAgovGwQqYqTOAozrIvNsAkevNinZpIPGSCQmVpInykbXIEiEvqehMVmZZqIaLrFgAejQUxXVDgSFbwTYzJJcBsRIKtMYhbCIdIDUNyxwDQzsKeDKyv", "AeWURpPXuVjrVvHAZUhrAffAScZxmuJMHjFynbpZtGZgNYVFfyWWNzHvbTciSWWyoqConMYctkiwftvRCURWyRSOSmQqYQTCUNuGdtUsdFhEFomSXykMktorjdWEZAARUMPnBKFtAmYBtQpIAuBSmVOOMGEHIHslyqUCDKFZzLZKOixZsUNGkGFLrKeXFSbrMEpBaPPzPigSmvVrJVdOUfCWAkaxUuSfDNBDcObXiXssKfAdepqlnLFJegLPtzFTxLmiEZwIjgveULbsLIRnDIlbqPlTxZHMbcyHZcgOisuVpcwjSzmBxPRYvsQZmEJJiNyqKXCliXuELWPFZzWymiTNpfYKoEbbPmcHWvtEjbDrvjCHrRhxPLzAlMHWAFiKGTmSDeeiYeczdeEwEwcchrcdeuIoyzFiNZvmCSPlSbJTOwGpEvkXrlEgSZPCARqcpfBqIpcjzCWsiVuXbcIPkwoMOXYHcoOatiIEIjqyveZFQbUWjrfqPNIfitYBDBss", "JbjQaOmBuhADKnbSdvUKRLHJHajIReGsTdXUhyEjwbhKGCSxNETdKmkqHvgGyMFyjziGzOxaTjdKwztmfYAeoqIuzsIIekhIJeJAFIPuOGJPddLoBkHARSNZbFFpLKAlarZQdbLWVwkBJxcYiqkmNmcBYULLiyuqylaYlNuFVdXhRReElOLuAvwQDwSqwZWKrqronOHmfNlpXbAHkiklRWvByKleSUbLTMKNPRMbOXXiQiRDLAoAhBFlWcpvdlfrRFXNOwKkZDSjgVKnHFkHyxjCLIwigruIvIPhJnjpwCDKotSVoahtVDBLtWOtOOQrikcoVmWjLbxozEmoNSrtXvtjbAkyayqkVnmBsFkUuTpyUMxVOLZNEDZOHwVrSebeOHvlvIlrNJcfnifftYQYLcWWBxCpEnCoMDBjmCgNUahLEfFVgnsMuvolCXUqgxhpCvRoGLRVvBfSuoQulnUfayJaTUuCEIFoGxWOzeErGucOYRPryjcXzUDflEkOoHaW", "XHuCElyHtgcuvmgbweTnCvfjUKtHeQwNAionUqYPqEDaxGjlfdoIyVUEiQVCtxONCNnegUKhDLPInmzsCwKYBfFMtryhoKdiCyIzdBaAwCgnvHJiNXvWeumvwBqIouDAAzznNSnzhglcymjxjomHJNcogQVoxKHoKzuRGNrBfErSPVbFoWIvNHBtYXodQyOQIviTFXDJwhLXQXFOZDAbuSSgAJotlBsRkRYpxJHOTWKjaKTXKMLFmAYFgLqcFkNVJyGlFWtaHxDAAwEkdIKNGChdWvlFuInjWNvbaPEstygaAvPsKPIqHSRmRyJBTuyyYDTQMPSPvNYDbszphddhpFeWHiHyZBGHFApwtInonYhUyjYcaBftPwGAcRTWGBbYoFTlHKXtSdysvHkxfSAtPnGahMefOjCjotWQWoPWgIRiJWBioEBTMlVOsyILexuvmCltbqTrQEOmRsDPgxCcGcscoPrzVUQcffieSTwGEjDvtsLyuBCJnzvuuNkTodNA", "irXpOsUMkVauUWdjrDZxgmKnaUktJMIuebzNxCldtVYBVemEcZBkVwzrwkEEXLBpmHopyVMhcwArDayrOmrJbUszJraXCirqpNbzETHPZcVICBNDzdKOTHuLgPcbJGLTeAIHrqgldCGGmYtCQJDIOYrDhYVwoXtJXPsbkMRWIzNZSxEPLWPoqcAinwYnehCNWxsIiERdlrEvSNPjZxOlcTUYODalVzTbHUJfPoRkTFOPKhxhtdGJnMBcUDknlCOAJCMXhgYyjuzDfjQWWKRPdwkdKMAeaxEFDMMgNzYqJrCzWNZnThdLpqGpNTxPbYdYmnRjIDPKBbYuUJoSnYOSHrTPnrMWaILgpriodkYgiKpapqoNXuICUKWbZmmpxXdrYzVpYoqOanCLKjTAHEdDFzVXQrrmUwSISTVtDhApKkZhCgtszrxVQTdHFrsltAYwcTxOAyGCGoYsjdUuOgVZXFtpUDrIfVINJTuIseelxktoRZwBTMlKDZZhHqmTHkzu", "bxNJNbLymcnYFBrRlQSUjtnyZPVYIrVRGltfqAGODcimVNmEhkUAKKIgKIogoFaOyjDPlGEymvNkCDqMabFZMoKyLddXGHAkqbSTQWOUvqFABlMWVoGWnAXrNkudditwhTvrKtXWcSjvqxKTnemawGimdukGqpyuvXDuloJwyTLpIKXLFltkjUyWIZxmQtbsjYIHBoDUMcwXnMqbIMBEXLLdfLcfstxLPrBPpRylGwnGYAXmxXrXxKszztEhHSXGWmiAdDDEYgVwCohjpPGgXoGgYqPsyhgjMpxVSrvDVIuJcYHSVrunJRPbUmHvyBFogBYymijwxkclEyCTSagaqHAnclHzVxBzPnKdlQTbiTxAYaPUFZBRQbMVSqBnHwLWTDQyIhPFBpDlpTNUAwWDrVOjQnYoHCYRlNEXqhdUqhNaJPruVLbmPfRRcmBJuhqOailFWDyNAtIbPDxxkqqprNPKcZJezGAwcUqdqYLHQdwefHGTYSAwvarEAhLGiwJm", "dQxrGAAajpMuaROGctXtFUBmFiotrfxhzwmczgpMyBnsbxhdyMhGamGxjDNeUgYYlDikyuuSVfNPICpMintrrTLAFsogwxoJiqAoUlYiUeaBSPhuItDFYVVYeFLYRSvQChXvbwoWhZZGcKATSwSsgdZJIGJVDyaZtttqenYpUVhknUhnTSxdAdkrNjJvPuxHigAELmJORnxaQsLjFVHvHSUBTixGBuERstmUcFgJahTmryqwQzMssHHTgpUkzmJYWaGPmsLocubHTECPOIVQZlYZfZuCwYNQyKouSjcxcdHtcuqGGbkBKRryfxoGEoLpgsEELVcfPBcQufkTOYuaVvVAWrccAYdbZYEPpVbkZEdZxzefXFSRywotnovsnuIxAhJJQBizGgrYGeIBHBNlvyMZjOphnblTWYrfnwnoaRykgbYXrMjggCFRAyfEKUKORzXCTeAcdoKpEgIQrpiTUytdkpattTLyaIguhSMSXhOYfuYoSciPuImRMyEqfGBs", "kGCMQJqnFLVvGcXaapbPOyHIYNpiWocErZywHdBXvrTjLeaoTTcjtWUUgWBxqtbkSSheSBtvrmqzKJKndFXpixFSzBdKWINVEfoPGvDFvrYcPEvrlydklJDkTkxqtSBJVSlLzdvHPpTnifINTpDBoEczTEjnMNFCugxvByhtZfPVUfAzRJSajEEmTbrVTLtXcdyTQiIoAwqVEzKGpQEVgWxgpkCPItcjKzOATexQzUJipfkaJWjQoIkreHzgCrpNRNNFoaYmMsooybMoYeczQoSffGPHwsLkEgPrjrumGWwdIcfimDtpWVAYgfebJjvkRYCuFjSRgBAtdPOYDsjEmjRetvoBjTvDUvlQLjncygQfWABUTWFtKdFHUvjlFugDzZWllclEhwnPeLsuNztXUuXzDMuGHkHAqmxmgQyDgMqgKHrvxovUMDenZITvFQMGUTcwZWVRhGqZidXCDrpbuLxbzTYSbuTeWHKklfQKxyvXmEVsKcxmLPRepmmoTWFv", "YwiUmVHdqcSbhxWcCshgGuXNletuXtLicmILkSbUjsUlWnWKbMsQXjxlSLdiIhVvFTRNsunLNNwktwlcAmBdxJZHVjqWJJoVSjYIZbMjwYfiqTPxKqvZUwRoIVOKVaaxzhKbOtcSkJQmFqcvuZfSxZXLxHgbungdYhXGKTqlgMLAygERGfFVuCPpEkLEYyOpZipRsUnToYrktETMiGGPztlFtcTKTGPwiziEbhSpLTnEfsREBsjoMmaIhMmljTvIomdcWxsXeNJLOBZVxYnQGOxOYLDmjHUITOXXyYVcbSNgoHHhvyfzjOxrLNxhFcgUWelemIZmZcJNlEuNyVYnVUWdwzmPNOOJlCHLcPhlXBksSmvxlgVqAeNiwfGvnBibBoOayMmAzTiUaeRtGzErIAVvMSJfwqRtCWeDWiGRcSrPXHUXfEiTCIYlzwHwVSraGzSGfwEuLbTgTQTxtKdKbQAuFVYRbGHxrSnebrzYIozuhekzcSZOdjHswiqksWeY", "hbXrVwcqFfNpbhaNviCRcBDgfsFMKuDLNPKvPfELuOyFfBpTUCRCXtjYbrMNAJVavoquobIKoSsgzuddhXIDGsHCYmUzfWGYtUaDSWBXzqPQgsTYQpdLInSKwEPJHqmheZyRIfkfLTbphpRTevaryYBbPCPzaArSOmYLmqjSHkCnFbGJiSrXbLllsSXSBfAtzUSDwgqsbsSyHiBMRKGWJBcGxkShHmbuekRBhJrvoKIzDNCuDUaVYyOdiuAuWTHAqbpTFxKccJyMHVMdDixPihcnrXClzfWcxVZLVkokascBYnvFyUXnZadKqQUHFjxkklEXBJkQVnDECEmLxqWdQuNegoYqbmObDcfbcsVcfOMngIPtgzbDQKBAYuojHQISbiaXYeCGEYsaTENridmcyrzTkXIBkgUTpqRpanAmkyGJqFQaVxFnlANzqoRnBkEnYFmjtzoJSbYKezWPscQLrQbnuzyuGOJuwsmsQGIarxmVJIBvhwRcSxTgzNDLioby", "gTTZPzcLkWRYhvsRCSOtGnJFhuDWyMYAuQmdaOAMSEHytPMjOfUJwRGTRepbyqUwhnLwwAMngRFfwprwDJfgEFFOTRItpiMWZlUGYXhmwcQCKDCtSEsmipXRXqXjNnfdOBckTiBxcSzqIijsxfDEGpVZvrOvflbMGxTrpcwccQDqlKzpGrfpZHTVqWtNckURLUngyXKSfLwEaRpAvYPeuqSQFpaVWPfuBVAWUdsCAUWKDhlXHGQHTgivtpPWoFDSNwEVUCWGdrVCNkeMMcbjhPkjyfgOHPAJSmDYJxvbnQLfrrwJvpKxSxgOPIyUxWYRzMdeaClBgtZWTaQEBvxjIjdhiNRFZGlsLoJnxUWxjbzgPfWLaZQbePOAKRURouGdoaIZcPpSQAzQSAYveFgiJaXzFkLGzaZyVCPWoGNPFkPEceiGMzuQtllaIKNTZkLZXddnIAeERJnuclmcLJGObAkWkBTMVBKvZRJIGQBRbcAHhjiZDvlRswIYlGKePOOV", "xLbfARObFjfxAtMSddFDucggFNgrtjWCJtYdfcUbikhtzXdAZGsgCPvqicwBPjatTGWEgEjUZhXtOnOCvWDICYAdUTZDnvNUjNnyjbNEJGvcHJbRKnJyMajWeZGcoezkIxtNIOwttFPOdbFcyYwoCZIWOOYDMYFAMNwoypUmfiVZWinRhiuNtBuyVQxMbJboRRHIeUOJKWGkrHRJNiiMuLttJtXxOLXeRdOKDVwnjklJAMeVXjjDZvZbAKImGzPcRxtbDhDUvutHqlGLJRQdmRyofcpsqZFciUxKclAoFvSegEZnFxOYBCUlPIgoHjPefwsELaXWewPiUhlTeGlRyBbgBwwinBxHcqktFSBkBybAgRrQroeByNCMIOjPNVgUcfUuTwCCeNRBaJUxnqDWWvdLOSgbRZOyZoZyQZtMzMogUiwkKcONZYJghMMlVsXdCzqWOEuJQicHCqbtozKaQPBHmEuXNBjPuFiZRWJfpORwOzVoiVhrwPbEyXHWyUSl", "oSubLTttexogpzovsUrWbtyUTUZowDfPRnvCnpDjNBHcBgBIOlabeZXezxSTWotxVtwUufDtVsfsOjvOiiMUSggoCPpOWIwxFJPdGpanyTIHghUAaUIMSNPreVlANjUYgxHLNhqwyoFKGVJLKYKJsxlnlZpIqEpCHXImScWAKbGbAwUOWQymgjUJEenxSUvGbqIGegTNrclxoPPJZibuoLXBLZeCOczXfyjFInzHGztLYHflOegZTvQMsgkcbHYlcVImLtFlOVhziigMXUWhibaOykEfSDJkpvmzlLWJOFNEAYRkSjotZiKoerjQBKPxLCaVtEDNUMnfJUtheeUwawqeMCYHUlcjMvMkOfYpylCErkbwpSlekWTTSZnMYkHGliYUWaTKhMucBLClmzSozsUtNhjngSctsXoqZVIstmlvXAAdgyqsspSKZfrxmCbGfdPMvcAiSQiyJtCDZNdHgCLBsdUtQxhyCixtrnNATjlrmxbUUbiqGfyCZMeDBINm", "mwEbzIQtTJwYjcwdvqjXFLaVHMlgUCihvBGiZZEAMrgxBHKxRyvjpLQCNEmrrsTVKqhTyNTavnPRWuarisAvYLcDOPCJvxpMTjOJklykVDLSsfiRfCyXOvjDXpyBxcdkyPpxmEKhnDFaikuYilZepVdfcCidpMrxlkldnzzdqeXxMCJqMBcsyutjEnRFzlxBXzlYLYpJsxfkziqGUuiMszxPgboOezwPRPvCtQVflJbqLmdosbaJAoIShxdoSkAcKhUxqHwGTxMsoAFyxNBNMZBmRpSjTRJKrgHIDcPHaOCNdRdUxlRbNayGhQzKECBgJuxFgPeqYbbhGsvDKIheGRxyRaboeGPgnlPHiJWLnyIMqsrPFKjcXeweUHgNjKXmmLAivPipisgVSNynUfgcLmVTKmHnibuNeLiQaANXiigJyyPCrGdAdqRpRWJvWNvTWEicdazLnBgLYIaWEBtJnlXDccYXeqYhglEYJjPnawCFTyFJyvuoqZeRmadRjYEx", "NwEoPQBUkTIOvWnBgJYPFXrLVyILyVefRwwJjaFzPdJTzccBEsAozqAuqhcFBnQybjJFmpSVACoSSiFtWWHOunWxhOccRXMGNzQjfYxiaJqYApirLpCaIaJedBLtgOUxhHlYaAjRkUeVEWbTEuRzvYQzjxbyAyCZPlkQHtPqttCYMnfrFSCbHbBDBjzMXABklQiVscmOczSiPAOUJXOhnNQlLYQhgFoexTIfjIsOIoktwYgyBEyeqIfFeHztMjZJsVkllPozozixacjSELnxdsKwCcZhMPmRGizBPJxOudWqmZsFuyBcbDSQBDUoZZBbzSpMsZxnKywzvSaBDktwaxFWtitoaadApUKssezHXjFeDqRYlPwnkrlJMORfJdIjxYHdSxYGmEKxGayYyKxswUhuiddjZtFtiBjCxqDArgyrNnTVSzJJtDoEkIdegWyUdNiwEpohYAggrCLyEkewMOKSWgJFxzFzvLrqhhFDENAsFLbDZTlZRtQvqGXIrpjg", "cwFeyMOaSCPNXTyTGjaMAILoMEhgazfAmBrVGiPqmFYUIIevaXOkCvcjJjxdhcXXuxmJFwhuIIXHROIAUIFyldwcVnuDjmfJdhhSZGkEVfnAQfvzclTbqiGyXcjBTWMJmymwiIjkSixkkuKwtTEQCTBBLWfJDgkmUWPwMJsOAzMSfDCCwrENZrZkpVSsulXghJYwBjICBkpGMoVezUXCtYuUXXRivyWgSAIlTAlNhNGatUNiSadptqfTXWMbAJkjRgbeqpchLAPAiqQgvdxpnsssEWQxcFBsWbKIzASAvzOEalllUdcDIHQqJUgVtxHAxmcAJwcvoIOPeWBkBwyQSlXoVcaiaoAFZQXtVMDlLGjqjIBBPDsSvzNauNvvQsvNNJTHVCxLZxNultIgmVnwNPZunjzaYPlpFSKQxhfhmdmTpHxJrVPaHSwrhCwUfdPCjmZiVyNYXykvwAXAByxxjpouNGZppxTwXQgTlwYKTeFkxZIPGnkBebeCEZLkBUBo"],"c_map_tinyint":{"c_map_tinyint_1":12, "c_map_tinyint_2":121, "c_map_tinyint_3":44, "c_map_tinyint_4":39, "c_map_tinyint_5":96, "c_map_tinyint_6":-121, "c_map_tinyint_7":-50, "c_map_tinyint_8":-98, "c_map_tinyint_9":94, "c_map_tinyint_10":49},"c_map_datetime":{"c_map_datetime_1":"2000-12-10 01:54:56", "c_map_datetime_2":"2002-10-08 02:22:50", "c_map_datetime_3":"2010-12-13 18:01:37", "c_map_datetime_4":"2015-10-17 06:02:13", "c_map_datetime_5":"2016-09-28 08:48:32", "c_map_datetime_6":"2003-04-07 07:59:59", "c_map_datetime_7":"2002-08-20 02:01:23", "c_map_datetime_8":"2007-02-24 05:22:28", "c_map_datetime_9":"2010-07-03 08:40:00", "c_map_datetime_10":"2008-07-25 08:47:52"},"c_float":7.855238,"c_char":"HZeCXmAaYB","c_array_smallint":[15830, -6878, -26865, -24160, -25986, -22284, 4512, -8289, 21500, 27591, 28710, 10927, 563, -14304, 13854, 16282, 29462, 32135, -30635, -22070, -26767, -6598, 30907, -1, -25840],"c_map_varchar":{"c_map_varchar_1":"iXEHYPCjtARocTSJIEgubnNtdZdtvQTrggzwXTaNVwXTbXjBTFwnyrKZoPvsUPBpgTuFESwJTemSEkLFwDXTIBXPRzQtqwTaCeesYbCLzROPQQDhsCbHylJlFWZnBBYzfizwwHxlNVKyqOpOTwsDWOpcobSiBbCihjWMJzKZvYWtOXVfptDguQCUGICIaqtVgdqgZJMKGmhFgSVBtLtLuzivPXwhhkfintpGTzEQWuxTxnTKoTKWrAwVyvtrGFdB", "c_map_varchar_2":"xvgWAzqkIoLyeAmcUlDVjaYdBVqvWMbthclVewnhGmEhyBYdzfdIytPdSeEAaKnfINJTpoqlebgLCwaJdbKlYkHvMUkExYZQNItHbnDghaTFPKrdJTXyCifTCCrNRfUDtfxlSDzgeJaPzWowDJyxwUNdBidRCqPDvvCuRsfXxQpzhoGqcTbnzuNVuZMVUXRcdhkGPAqzcsOmnKQdXbATpCiwADUtQRNbVlRMkrQsZLPDpQlOGXBUtgxYcTNVIwHp", "c_map_varchar_3":"gcPzuNaZfQJKCifdeiqfecSwTHOfaalWGOnOvmiorvXQMKvAQljjxJUNcEfVPiiwdPsMTCNpNpxUkPPbXQOStjoMMyHpXQDqFzmnPPBzqzQCukxaZNWFtNrOgapxzPbbZPuOLpaSrKduQYDfStRUaEgVtwpkKquIlInxNkhajgdKEGijaGbHTFjhUmUcettxhsvcvEHvKCpuZfiOVRYbGfMBVaopcteqSVdTHMVAhjQgaqowyFBADhyNXwIwQHUx", "c_map_varchar_4":"ENxvIgbQatDCIXOSoltPObXSVGLPFDomKqndCxCegezYAgVFfubXxHyXocqsUvuzZAtLsfpqWKZIhbRoaTouVndMexVioCUXeSRlepkIEAISdSUaRSbtnBkBjmNveHemzyfwWNzJJIPnCaZAgZjJQznpaDkUoYSczIXyDTdSSlnWTQuCOqFCZyGSRlLrKYLcIZHGYVNvMPXbxWLZaqIhMIQxAuNaBMtMokcQwAFuUvYPZOXPvXqwWJUQsWjYpPPQ", "c_map_varchar_5":"UgsinzmoONVyWBKfvDeMGIiOMxQQOlScVJbAeufgCVoQnDcalFLKgcKtFUsSDNHgupvFuVnSwTqFhRhmeGfgSoPfylICbTclvEciCQmddULzEGzbdNWHRezZsZhKvOlMbEvPaAjSuxHuiUPDRdOhNjmkuNvBIgCDYTeMgGHPdTacJlaGWGgFlIwsyKTNwZtqukrNwbiSBrQBbpAmTlglBQJkmVyXemVyueNFCdvYNUmPMsRcHfhhkwpYYMpfHcur", "c_map_varchar_6":"TBIUdlDcjcsYwhhqXYClokwmThPlqaYKiHPhkQzJygioEfruJdNvSnXApORcLrZPgnvofxZPiVwINTjheCfmyGLteVlTxCxqeCCyaiioQvucWAqwOTwtcgWnFdToVuRkdwKrOCXMadqEwxufRirBTBhzasLgrLYTkFsUzfQwAFrLRKBqLxwypAJfUFIgPYeWCCPyhTUGZvyxoHsUGMFifiidiobAfTdWbXixAGItzakhMQjrUUuByyOGgdKYCrnC", "c_map_varchar_7":"EsUdZmMtUsvfnxeGSYwJuRdowiticJmVggqaqUsyKglZvRrxUxFHTMVtPNdHvYTITzHRjzUEXlTSEnQWvLHQiBTCxtvzKjsaWrslZSgxISCmHfRtQUHgHPwQsMRKMegCPPMbciCiJGIzvzzvValbTfRnYoVkAVBixqRtPIduBuQGOJKLvWAjejPSzJMQisUYTGpPWKEUHXlJDxIjmlxwSHcrSRgBgpbdVUGnDRnRTRoPDwEHNyecdSNwbLTWzuEo", "c_map_varchar_8":"cmShHcDZoHSBYCTWliGLdLvnaqbHnVZxlaStakERBykyuChNhfTgoCxjEBkFhBoVpTHrKcWoqHImaGNTEzxoRtoWfqJIJoyUmLHPYCoBXtnMsSTdwvAariSbWhjJREJtfDglPIEDtNWmZEAvbSBzDVeOIiwGmcOnvluptIstsLthAhBchLcgjiyOgCXdANxRiiznahXXxitEvLXicfQYROdeWKrHxWcpwOQgYslWeoDOjkMOclckyflLtlpwadkr", "c_map_varchar_9":"EaEBuhBLNRqeeFAGSFjsKnXKnqOHlJuNOnlgYPfGHMWphMSoWMfdiyOQBEOKohnvejIjXdvSuXZhYVIQVqNZHUAgupwjzWKEmbExygBgeMkHBsENAKFtJyaCAkhPHrwDTMLkjuRFZuaBQOrOKXhJFkwjVDuQymFkBzQgkGfjPEOBQgFGQbNFzonSnnaHLDxAzVEojYvjefFGEUQnpvpbIZTmbaPTOgxizIyDMIxzvvIosKUjJhKBbxrZXZohGiry", "c_map_varchar_10":"lRPRBMZIGrfrFuDlsavRmEDTcsDgsCJUvMxJMKXxkTJejMlEEeUuHltakTTJPsLmAlGEfTYWQRVuMFrjrTarstHOayWahFuMJoOFnGKDpZLNDRguXZOTTuhREfUEdccevRYDxpfvjrwRuEQnOOdJRBelPhOEFfvYsfoFOoGclUSAXrDYsORvPpsptCwHtDxROiaFwnRRThiXahpCrDeqpZIDhNrKUCOIvAMuhPeJwkKiPYrDPZodwXGFUyhQAzCZ"},"c_double":40.19325771809195,"c_date":"2009-07-19","c_map_double":{"c_map_double_1":49.087599493449865, "c_map_double_2":10.208926629588811, "c_map_double_3":59.82670055038592, "c_map_double_4":20.52642679864939, "c_map_double_5":97.5589355080955, "c_map_double_6":64.66454738522644, "c_map_double_7":21.245601523285355, "c_map_double_8":42.7439930386179, "c_map_double_9":72.4352819027324, "c_map_double_10":7.0988825152752275},"c_json":{"uint8":186,"rgbcolor":[245,83,172],"dinner":"Swedish cucumber salad pressgurka","httpstatuscodesimple":404,"error":{},"uint32":2803741616,"bool":true,"errorhttp":{},"dog":"Borzoi","bookauthor":"Vladimir Nabokov","hackernoun":"bandwidth"} }','{ "c_array_largeint":[-4554039251810966404, 4202043153688498728, -621413239617290099, -6616687023585146758, -2275592297981456297, -6384274778625563059, -9182545418319624091, -2160123630170640328, -6328685149898686308, 1360967798433898185, -1380571944564373928, -5845203361906509285, 8042135541544547062, 4629929284635930116, -2733951346978714622, 4320152113695225061, -1812022704081043589, 6153336858177590814, 5830566983384524701, -9085904835263082961, -1720968811580575969, 7572759944571827104, -3346373984339153275, 1240979805952912944, -7625898023577372396],"c_array_double":[53.60681661512736, 2.5535815086923352, 3.1431773192127745, 31.47722461076602, 17.05428274043572, 34.13918627307825, 52.92473453340243, 36.248712070428695, 37.201338797884404, 23.92165965827627, 12.169848823183948, 31.151829963170155, 49.942589686782924, 27.89356435332229, 87.76744952126585, 17.716171033372895, 45.96366204158666, 44.96495405382937, 19.699244368536377, 4.49048482209224, 21.89714348420967, 34.505618883503864, 94.52983820397557, 54.232583676694354, 73.67543291502345],"c_array_char":["VBxqWKWAly", "EPSYpDqSfw", "OujFldRAuU", "gXexBaBtKi", "yRVhDrxMhs", "dhdAaOgRVM", "mdTzTVWiFu", "NwspYkpbMv", "rvmVuaDeNU", "hFwmjjlUSO", "JsxJbxLvTX", "hWvGBJWIWn", "swEeLuviTM", "qewnsczbOC", "DwOWOJQdvi", "VMBhPFLIZl", "thlvlpZDfi", "gTsPisJjmM", "igbrvAulCr", "ZdKuyxlOlZ", "djNcQdLcdm", "gaHEyXyfoM", "SwfJHoTnmj", "ZBKMLBhdWX", "LmmULfJMTj"],"c_map_bigint":{"c_map_bigint_1":7949441745923180683, "c_map_bigint_2":-6015505635681355991, "c_map_bigint_3":8508980361712932188, "c_map_bigint_4":-5431482977450500897, "c_map_bigint_5":664340747966127732, "c_map_bigint_6":-4467878853195134161, "c_map_bigint_7":-7492205300404848413, "c_map_bigint_8":3232802504906630975, "c_map_bigint_9":8701202814426293031, "c_map_bigint_10":-3431755615542505364},"c_map_float":{"c_map_float_1":94.89129, "c_map_float_2":89.98986, "c_map_float_3":77.948074, "c_map_float_4":35.403778, "c_map_float_5":36.028435, "c_map_float_6":15.189909, "c_map_float_7":7.2291317, "c_map_float_8":72.595894, "c_map_float_9":24.871696, "c_map_float_10":89.07257},"c_map_varchar":{"c_map_varchar_1":"OrDCnsaKuyoygnuTIXbWBhzNPIjCLiVHReHCmpWXbGcFPfSHYATPzkhVUkokjmcZRZIllANaoqkzEKLaPrmMXyvXJSUUTdGlmGHErWHLktCPjEXoAzUuXoDkaOWbWTBDZwALDPwQskJUADIFNlaHNfhNBtVuEcYYyWcObKSuLKLDFEHSAPRVqUvoPTOJcmVTknZojnetGlaRZKibtKRMTILKtodZAMlrNgBoXvPnZmmiXImsZbVMDhIpDajJzcGQ", "c_map_varchar_2":"lnpWubViTnzIVoaGRzOUaIjHORGmrbjihBAElIEpWnwZJYZMDxNSCBZoyltdAKtfcmazhswmJMmDGijpKvUrARFshQGJyIfaCfDImFQpMKtHLtMEmyMGMsWEZKRqQegMTlHtrAaJQpuKoDTngzHeVDHPmzqLXpZYNUIGIETGBsNFrDCeHrElajOVKPYKoNeFXHsTnQZJeCUViUBjyiaWuNlLkTymOdaDaSdhJrRSqGDlOtDoxkycoiISLfUyzioZ", "c_map_varchar_3":"FObQMlbTvfZLcoZkoWutPdaEtesrDPjXmzLRQoUyUJmPddwhBjOhNglnwOINOnTHibDYWMKDhLSWPCxuqHdhKXehGZVXZVyldgpgmYkdyDAbgxvigxiTYbJMPEkwHvRfDSrNvomfdFcQBSarvjSOVlimTnenfKGXpinfncrdMQLlxpKkXoMuhvgWrPqNfhXOMckbjUJwiMZiGYvCsOdFSdykKFCosoBkwntsxjlnDNhNnpFqmXoAcaEceFKnIQyH", "c_map_varchar_4":"KjnOAFfkycLHILEBYKuCBmvnpDAsNrjFCGJwigfRCZjYmVQKjCWLjidjPOBgXYvlEDQBoGcephZnZTEZTQQjRQXnEkPjDkuwmtIMQsWRzdEYdneWgtzWHaTcxPydGVFOkDNguUQdRfOstAudIsaYMqvJeQHCaTliBmgSbMvJzlURIFKHevYXHIydqDSaBZQSbWfXIkhUPIaUQqLsqCeHpXYngzszAmBiboPErgcdfxBZlrpEcyGjupZPthcqQLPI", "c_map_varchar_5":"MqrBcxKhhysvqcwUOKrrFVFAslyHjvJuNGiAovUvVYANYzfbwCoGOYbEdwXHPuKkhKlRVTBeGUBIcsAtCJdbPEslAZgXaGeMwiVwaGGfHFIZaCWhscharSOQpsXxgDMLPRoNqwVLyuFmBZBKasgUAMSzEFifDcNlcgpDHCOnjgTKNwmkiyWsXuWTxrfAWdrMYnbtPvSimRtNOfoVPwGIvejzdEDBzcvjbAKPKbaKnRvbbFHpdtQxaVXjYOKQXtyw", "c_map_varchar_6":"BCeRZVmMtxjXKfbsaKYZnFmVHqBaJQwesGOgUkFkjDknCPOOHISWpemEAPNAOZsVgLSUIfCfJPnXnFxmZRiBYFGpMEKwUHmCujwiKdaAcBqTHkshlzaTJlaJFXaOokiWaRsgasMfYONSvGwmflEmkkTZYqVlVTirjXgTLFmLCyJXeZrXXHSZIuTwiilTABhOizRXRDfDMxitOUWtyfqiZDpXapbBPruAKicQglXCYcFZTerIkSDvqajEMpZmjATg", "c_map_varchar_7":"IbEZCELUuUFhiUOQqlEuTexLHjSTLUZneXMnbpiRzZdtTBDWxowWLqUvBLXbgnYfsjIfUIhdAqpKWGHBAcKuuAxepAuNFGUckAUppmIlAOUjgnLuDLPykGgXMgJQpSFTeKRmdeCUZnLfHboLaLZDQCqtIoNCxoSuqThkkvUDGGpDGxtRvwqmZDWJKQHlaNCWQYvLlABJWEugpAanVzwbfLAomxtyxcbDKQiuVqEETlTwFKgIwFUIMyPKIqpngPEN", "c_map_varchar_8":"CCOnoQQomDkLDcGmqVxeyjCjYDEfbaPFQTvrRhOlXWrbkomfIRnUeLCWnQIXbKZSDbJoSINnWdepcAskAUDYajrjUZGHoJtlFFDKwTIcNNDIvBBiRlsLGhyIucDImvnuvgrBzRgZbHTQkwLLmEyvPdmFDEcomXpNhnjldhJBEazWBLDAWbWQuvSBzaLAvdMQTAzWrXheOoIBKLOEAPStdDdmAHbqjKytTrhzaOGVteMRwrMCcGpZsbbqYTDeFWiW", "c_map_varchar_9":"pSltsGbZSXekhyBeHkLgYmUYUIrHVolkOnYhCvWvkbFljbtzAeEwjrkEIUVrqdqvzuGEZvTTRgHIHnGgCqSJIDaGSRBZueQxjtnsiFFAQTbprrNxHMCpXKCnfKvJLRQfCextdsbVGmIkKiVZoGOrpsSTBXZorGsoHxxKrZoGIOSCmfHwkapfrtTttNpwWDajvChysnRSufachbhhynAdlIyPZnpPcMNmCmRqDofCsiMjERfsNDUtDcoxCxQqPbEc", "c_map_varchar_10":"hkmvwiqZTamBKUqghAsRurAiaMyhPLRwCPFnGvooUHvyRHesIOWfTMaPMUmlxAMmFCbhflfNmzARpDjZSBGIixyltCjygSYNkhptBpyPBDUXcCQdKwfDeQWVBvUBfwZqUMAQLROVlWKZnmHfwicifHMUxVuSfvkjLcIzBvzrhxFvWIgsMZMSqDMogiRURvhquMrwkzeNPITmgaPsjFuwuusbAkNmOOzwoZiexUtnkrdArCPVQWwduQgRYnSzNgFP"},"c_ipv6":"ab22:7588:bf74:d68e:e0c5:8126:f431:d9c1","c_array_smallint":[-10597, 5673, 27825, -20473, -2424, -754, 12478, -742, 4945, -18812, 23441, -32554, 29010, 8408, 22247, -15999, 25133, 23227, -31951, -24345, -19558, 23113, -1151, 28773, -980],"c_map_date":{"c_map_date_1":"2009-11-07", "c_map_date_2":"2006-05-20", "c_map_date_3":"2011-09-20", "c_map_date_4":"2014-10-03", "c_map_date_5":"2016-03-02", "c_map_date_6":"2014-05-17", "c_map_date_7":"2012-10-03", "c_map_date_8":"2000-07-21", "c_map_date_9":"2016-07-19", "c_map_date_10":"2019-04-16"},"c_array_tinyint":[117, 3, 13, 61, 67, -124, -38, -111, -48, -76, 114, 92, -114, -123, 15, -49, 70, 31, -12, -72, -69, -7, 74, -24, 54],"c_array_decimal":[42.1409, 93.1586, 68.0870, 9.0330, 69.0151, 63.1445, 78.1511, 17.1645, 28.1254, 79.1465, 48.1841, 90.0608, 37.0857, 91.1415, 4.1133, 92.1763, 60.0935, 5.0434, 83.0816, 19.0130, 91.1050, 39.0528, 45.0666, 93.0182, 0.0076],"c_map_smallint":{"c_map_smallint_1":5132, "c_map_smallint_2":-21086, "c_map_smallint_3":6125, "c_map_smallint_4":23465, "c_map_smallint_5":2466, "c_map_smallint_6":14939, "c_map_smallint_7":-11755, "c_map_smallint_8":-2128, "c_map_smallint_9":15846, "c_map_smallint_10":17016},"c_float":1.2858952,"c_string":"LyXNghjTVCTIacLDBiGkITPlGqgDdTEMBKrmKNHGqYqILiKlFXAYfJgXNsqXwFisHOZkwuJOCOxyIZgfjtfywBxaxHKsumqWvcGaizncwvPTXtYMFryARBcJroQxsIfPJmrhxiBBiZuBNMwgYoeCwSgbTnVyGUMyLdaGwAyBqhbyiODFwVkSQLuOZVmAOXaKsLtTpuBIOpCZLXxCQuHTchuMfggEYvnetrginzLCukixpRVdlQqxZmImedOtSqCSIHAMrpGohcCTaXiuQPYzkGbSAOpUrGXWbIdvThEKKgsIBJhXIhFAyMzDeGoxxdqhZceRxepkbMpuZyIByJJMCwHwZbvBWfTGtBClnyzdAFfPtxkfNIINuGXUdxntxoWZgNBRqKwCAOmmKzLxgwoOpWUyaAxLCEQFlAVUBkOHVIVojtYEKbnyesmZEvOjZIrDxClSJeoUVlThVVlRtRccGdbuzGXEVCExffETSatqpEOJSNUZXGPEyObGCTJhjdCt","c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_tinyint":{"c_map_tinyint_1":-126, "c_map_tinyint_2":26, "c_map_tinyint_3":-95, "c_map_tinyint_4":62, "c_map_tinyint_5":-21, "c_map_tinyint_6":-128, "c_map_tinyint_7":110, "c_map_tinyint_8":-63, "c_map_tinyint_9":-101, "c_map_tinyint_10":-120},"c_map_char":{"c_map_char_1":"RcrGWgWHaU", "c_map_char_2":"VzyqIKwQLE", "c_map_char_3":"wDFnzjgrhi", "c_map_char_4":"fGgZJOeoYn", "c_map_char_5":"lHavINDOtA", "c_map_char_6":"hgScbytLGF", "c_map_char_7":"wAuTARPbpd", "c_map_char_8":"UtfooBjteH", "c_map_char_9":"BcNQIraKMX", "c_map_char_10":"TfBiKpeYgx"},"c_bigint":502558077164129077,"c_array_ipv6":["CWeIAAmTsU", "hxgrHaCIIF", "jALVNzwMHM", "TMixJfXHOT", "ozYzlAJrAh", "eDPbaGBGBj", "rLagisJaYr", "hrNDirevja", "owPSuvrqlj", "UURpFQUtLC", "kSnmpttFrP", "pbiTdoyZfs", "ESZOTveeVE", "ACyWytugOZ", "IhHegmwKGq", "FoDlbRogVf", "UbHAJedaaW", "NCEtcpPabQ", "CvfXlMknWr", "sCTUJaMcRV", "GSQbbZmihX", "CmPabpnUBo", "BqGTJeqhQj", "RGzwulnZvd", "OreXCpaqip"],"c_datetime":"2006-11-03 15:54:34","c_array_date":["2011-06-16", "2009-10-27", "2014-12-26", "2011-01-08", "2017-04-20", "2007-09-23", "2015-12-05", "2003-05-11", "2005-01-13", "2016-09-24", "2005-08-16", "2017-03-21", "2017-02-23", "2005-10-25", "2003-12-27", "2016-01-15", "2017-06-25", "2004-03-22", "2012-06-21", "2012-05-04", "2008-12-01", "2011-02-05", "2016-04-13", "2001-05-03", "2006-02-23"],"c_map_largeint":{"c_map_largeint_1":2561718627534938658, "c_map_largeint_2":-7345012998028419307, "c_map_largeint_3":2702215348072199435, "c_map_largeint_4":-8990401783698014492, "c_map_largeint_5":4994575781817127060, "c_map_largeint_6":2060405275362589498, "c_map_largeint_7":8665168233248410845, "c_map_largeint_8":1755884745007795046, "c_map_largeint_9":-7814837039001766115, "c_map_largeint_10":7636156152052311534},"c_map_ipv6":{"c_map_ipv6_1":"50ce:7863:e0fd:c413:c6b1:d504:93b7:5de5", "c_map_ipv6_2":"9207:799d:dd7d:be1e:8cf4:4817:add5:37b3", "c_map_ipv6_3":"b749:ebaf:e168:27d0:4955:eb1f:6cfc:fd0b", "c_map_ipv6_4":"5348:1813:222:f87c:32a3:8ae7:7d74:3278", "c_map_ipv6_5":"77a2:b77b:e95e:d695:fe4:3c75:2f76:7120", "c_map_ipv6_6":"31c:3493:554d:6c45:327c:cc05:a8ac:e5af", "c_map_ipv6_7":"5bf6:8af8:231c:2c37:565a:61b3:4935:4c07", "c_map_ipv6_8":"5e72:c871:527e:b731:ddb8:fc3f:b8c3:7d1e", "c_map_ipv6_9":"6760:bd15:836e:6956:2a13:ec39:e002:876c", "c_map_ipv6_10":"df08:ad33:cc79:bd51:bce9:8f29:ee03:5cb"},"c_boolean":0,"c_decimal":17.1676,"c_ipv4":"58.165.153.54","c_map_string":{"c_map_string_1":"fFXkKCeNaowDZIFIjWMGmJILiWANLnVEdUIfKWoDIZccEuBnjgVzxfLPkVRrHDIJvSTGqowJXZOhhvpuxlbWGaqCkWRhVCCaJWdpLqqMejkZgZaeLxrIYlSxLBpdYSDYXGNJuZyXWkkenjdiAjFMeNaPktPoMuJxKiHNdxLambVspovfmklBNUnejLlVxmesmqUCeNLWcZZOXOKkABmehPYBXqMuxzNhHRmusdufjBCjtLQwZNfFOKhBUMZArehuFqGcaxfgKIMaJnDpaKfZRUHwaeOOZjNHDPHojDoYrebDSCaISoJttNkGcDXsqeQPVbHYNIiRMHGBISULAhIVFeZUjhEDDCbGopWCaUzUFyIbFUCLFioecmsdjDJoLJhkCtPkrYDIpfiEmGAQBeIAMmpNGjmbEBSDlGKHGdNEJduTcZjKZFfNkLNjTHzLvrWwNZzmlNGPJyHVzcPQiAKnpOMoBIsMwMbXVjNClSsKyYellKfXVPPETnKvjbWZLJLR", "c_map_string_2":"VRcfabMcYGeAemifytSXWJLdQuiVMuVYszhzODNsNobijxDPOEeUDOCsrbSULBmwOIQkzoWmSuZoZxkpFMQIMpqAFFNdUBJKZVnuZccmQLQRaPvzggGVRguVDDhrmPLWKSdAgMdcfgwuSlCwMqnrXRNNfZsfqCrKNCchnrJlxVQCXFroKxjWcBcTLnnSiCSozLzdwJCZABtjZzfYkbmNcFepGppcsUcmOubIXFYZVECcQaLKFPrKPKSBNjbpxbDDZDzFuMlmBNOsBZsIFTiZAuwEQaPbiUacrEQYoByErUQzqGLqNNXSlSRlQqqAluQWymiLYKiqfryDuhcZXHewjPMqBRBreYRTwIzwejqjWWTcThraugWWMNJWVdartmsWxoYATcFDuWvBJimDNVbOBPuYmqQRbsJBQJPKwMSEZkzgOxGryzSogEnnRaBblFQKLwVBNnRyNRnSUSINxjovcivuhJFpPrYuVCjulMCOwctisyvZIzXFHKIOoIFNQOlt", "c_map_string_3":"TlOZOpQTrWOesNWwXcexbKJWTEEcGiIpjXqWMIOVNgddJzuayvtYiHVUFZrUqoFfPEDTdpaITBIPxLzGtZFYIkURaZkjZrHpKltlSEznsuKdbcxOSVJuRrZCtgQCLRIRkLIxoQHqdHqghipOLLYHYQouNsoSnmaHVkkUOGbmyGUqehLymkMMtIRPTqTsgyjUdPMDWEXmKBVaaRnwuzUDgrkshsVnEdOZmxdGtBYOIqFhqqHuSgjqPnpKNyidJQXOBbapFwYaNtyFJwaRGHKqPSSjQZbkQymGWIeOzFecqkvCtTaeqeMDPQwTMxwqgyEQFhWoduHvlnfRkqJIbFTfrmpBzESsRQGGwCKbmgeCZstZjVwpFOHglqRvILqGRrVSEwPoIyURwUvxZSFTqWjheUJDFBzXZHjIhBdVZomEghNzbzfofouxwcOcUIBNYRNDbugrMjNzSLJyIzswemAawJSafkzRnArgHclYzPHxhmQrlaOkjDeekBVwuHGOwPWD", "c_map_string_4":"wJQwlmbGrSYkfSWLzizRHfWIcciJuqxQTZUENEGWSiTNnzGWEVayJSRhHzJvLOQNkjmcAufJkTntiFDHRQeXgmaYisagAfXfHjlHFMUxYgqRTSdOwwqFxFYEDZfMQMOplsntvdypBCQARpuiyqacHaLqqeOvESlpAkIUikBXToDHHEIGTRKhGQasoZUhwTSgbAMshmRBBvgSarcGZVfFbCPHbpAhQacmGTdIerkhjzrnSkDodPQGXKPJSnnpGIAxBoyiBGhInzkzRtzlQvMZhnxYWluqhwkSKzSJsfyuIaMfcsjIEPBkPdaWpJuyzahTeAvXQqfpkyjwWdshKOuGlBNyoYmtXdamtLANCQOSulSkfbiYuncoEBHWUwXlPCguUhQoKwwGbJaGHznpjVkNZGtHxKbyKNdfhyfMOTiPVAPSeVxtcFlRZpZvyInvSfnUglulaFLRuCwmqvxYPjpolEQhHIJNprwskaeNppmZevfIlEtlnLGNFFEshBDcnnzT", "c_map_string_5":"RiAfojtqOYpbhMSfaQJywxAhrHjaTBwZfajVmZBswkhjrFKZVcVAbYVSJWVpZRVyGpDBsaeEedoosHTxyqRgUwsdoUCFccWJJkNZsWcqeSqJeAfSbaZYxAFPBxsYilmuvnMtFQkQoMyJFqwurILhacAbQBPQEtLGAZFmqTIAZXwBXRUJmksNWBkoEzivXmwkpftHFECvvzhvgGheyUXmNwtYsCdVFPieMmfipeIgRsMudoCFRHcxXQXxfOWPFOBLGgHVxUdnsVtbwehoqccrKZshjkuWsLlGSyfggSLtreYCSlVFTeDiGMxrDZqjZWMNVmvmRXSNdAvtjeGWGjczNaSneVzbLUzftfMCggwciMHOsnicPOoORuqNwEatYfWbMQYtmsnSSopqXPUJOIUyPcZzIMDSBvSXjusXmzCOOUZvePfClVxKoYrjrFeAmEkBHHnMvgLBqdugMxglMJceVtIrxoqpJxsuRYvjZCimSGIrmUjZpiCMthzzAqOcShGt", "c_map_string_6":"RrEunWLnUvHmLeBmTeNQPgVcOfBUBfqEQaqmamXCZEDsiPfJAmVYcuoYpqDliktgfFPKlRmbzPBvCSQrDPhDnFzVGPLNmYpgdtAQgNnBeDzvSqYvclpbSchiOyauijHYdxwvBKkozUTMMkcZnunTJtvRLbyEXNeVAnrlpBhLijbzgNRfIdLKgrPCKZsPYlNGFqACzpvwscdcwNePEfpOhXSWgXfZhXKLRPStestVLqanLdLsPpDHpmOsgMDgmoienpXgSkNUbWamRuLSWfbPuyKFTOByqXDDCCeDZNdtEUolYLMEXBifXtmQRIQvcHiyqfXSKVvvFByEzXVSnoKuSYDuhrbLkrrItySCCWDDiEMdYRJmoaJTbPoCnAFFmQrHstmetnNtRJOnuxtXCiJAalffXnozAVhPgAOEtLbLgbWZOPooQEkpOzKDhMeYiibeGVLPJKLBIiAxVUFMCSEeESgWJheCeHMfqaJkKyinrmedFPaAUpBOIEHPGOnQNdfw", "c_map_string_7":"vdUAYrJXGfPiNdHtYcHKwEenlOAnXGKEuLgtxAMFHWNYGOedWQwmfwTHKSURTldfjEAXaUUxeNXyYNJXpPsLQOKbMXgRgxLhJReATyRSWmTOsfKTMHYCVTQtbOGSdoSYEnvVXkoZwSyEVWTdpKVgeqhAVKbeSHXbmxZmVMqoRpdZZDhAdHQNjDnwyTtkjADvKqUysueFtXgsDXmNnwdtnOwNXfFyeRnmQzKsnUNazOZVLUGtoIkqTdlWCfZgeedDuoEBcBXnDnCGkFNtvsWTBKeHBpkPmCJJCBxjgQhjmgTkmmzdrtCZQGvfcgzfHLQrotiOOYgNFcDsTDPqHXQksDIOMrWSENtnnSdkxsVWocGfJERzAFSMTbTGlfgFLCovOgTenGkqyNufDZtWxLIYalmPuKqjWJzyPgzsNbDZTkYGaKjfAlGxQlEyFyTAzGJTJywVjTHlAjFjOZyUKRCkIoScVSEFKdXFcovbuERoaCvCgmUOOuFlQOKnBAWhIGvr", "c_map_string_8":"FMvgxbOQkRJnQZCLkmHRYicxGVYzJCyWrsbkTuhQkLjpSgYiLDFPTIBUWRRMwfkpGcFDLhYfMMKmVCnnnSqbOYONeANfIgDiNYlkLyfFylIWCGCaOejVwbiGhbbUPxjcwOpZzCOLLduiZqRBZxaIaeOmGcPtttIajrdmPAImlinALHhMoDJiUmgqoxAlrmacwtxLUkAwkqxsNehunLYbmQPOrAWGJCuzUJOpPUxhfZAsuQwtmTKeZwxoPjxbcsCQuAGIFqdROSqTicQUccgatiigZJeoiqoRzmYyQyWItkUbEosIzjbxOXZZyCpgDUHfgZjUjTpZepnahNdaMaHmaRRSIHepCBhjnHTkfjzgbsIHSDJqBnVuUHcEeuwqadDZLlTjjnWSBHiXyPsaIrKmpqsLhHlcNUKdrvEToutnJHugNjucOSSsMFaxBwzUWKgqmXuMKZwgzaRkUzMtEgUjFryOBIojdqmOysMTWmgDyqnZfdRzTgetzxHoZEnIoXSk", "c_map_string_9":"SCvGIWEkuIYTylmFfmYvPBbREvAlQSFntLbaARojlUCbuNlkPHSzAnQxBpfJSkGtcaMsCIcTINqbhfkVYPoRIYGRFMNpBjuYiUjxsPqZIAAqzPXfZiuyEwkjQUYDwLeKcyHgWrMWssudFxswfsRigtLbNXiKxepRmoIiseqsyFpqedQiZBWCDouwUBFBGLnCczWHdFaQZZOWUxgSBzAmPNuQZMQLQEVoAnVpbUecHMumKVzTPCirGiElqsFMUATTwZJccXUgulRyVitjXFfICkqhruVACmwCnFcctIxorqtBiFIfOtUrgoYVqLqBvnJWfrWYnhAPsTXXQMGyhZDRRHGozbQgJOkruATOsswKVbdjcHAWNiUEawXKaMclnPJdTGmMTJasCPnvmJDSlzyQFLOVqvWYfMLKqVRkPEbdNTZrpkiHieQHldpjJSPbTBijqmjmBBFyHkPfliRpOcMVTGsyyxnuIKiurKCpUPqjmFyygGlIEOOWkOdUjBHOWuwm", "c_map_string_10":"aQfAuQnVrCVRWwsOxNWLZFsIkbhQlzwJwPemvJfAjGKFAhPZNYCOwkekcEmwJzKKUedyRFMUcabIxrZfQCKgdnxvqPKeQgeIONBrujFjEOaMgJzJAAXeHCxFozptPMdjQujKfNUfqCNWTqEfmwpFDtcUCZIbpmMNTJiEbhpeNSoeFdLsAhPHtwkTvKdbbIxErULXUjQXtMzsRbgAiqUiqSgqmmcPJDXWnhgPHKkWPHomCImlYDUeSQJTXNayvbRaatvZEWaKEpBAxgvPekYAOHRQloqtnEGNcFgqdvwSbWKfTORMImIZuAmQRiKEEADQKQNBqRBSxJVBJVzRWPgydLZOZFJSlsdVGJqHLkoFShmEULIAujieIsNDSaCqDazaEXaiSRxuWmwKFRhlLkpeeZBrfsEElgefWDEhtEZnpgYEfySeHeJVTTBJcWtCACYvQTLpGnLyrWUJeFkbDSdRltgvLysAqyAvibdCkkNSHjscCAJztihMidWSgFozIslx"},"c_varchar":"say","c_date":"2005-01-06","c_array_int":[-1625565787, -208411572, -994704778, 1667804190, 707231456, 2111957922, -1449150261, 21840686, -1050086560, -863902323, -1150616360, 234381209, -1693369453, -1569901285, -1398836663, -9357553, 338732548, -2113200093, -541697106, 1889840046, -1306081630, -109169704, -511629628, 1975666256, 511741280],"c_array_bigint":[3902240151403263585, -1999832478430908556, -202815834907661620, 5483411540713873071, 865420874073280253, -5253383555684099258, 7329166967790242823, -2780764502927240626, -7113397946488439359, 683740357863504982, -3458659398064775151, -3783971760620990197, -4729014559160926033, 3872420224612710777, -763783376801522749, 7575167601796428550, 2225232889733963683, -1224301744606756837, -2340672684998988064, -5127119289122733855, -6456865910178372342, 5778574312578537139, 5868302615146863282, 7178260952815100576, -6174352630003665584],"c_array_ipv4":["QFoOoLRXNh", "saDTMiOomg", "YvRwoMjjce", "cMFcnhrkmm", "QDPibBdVJm", "pCvbaXgHik", "LWrQAllJMR", "ZuJAPSIKFd", "UEKRmkbmzV", "zSHRoRleWB", "MSQBPgqLGW", "GhJiGNYxZt", "hqekxahtaV", "AoudLfsQIn", "owYmlFLkvC", "YJTHefqZDl", "dqWmAffPRF", "sMGftbAvrP", "BaziXgHSGX", "aZSSUKyYDo", "YVBgQDEiOP", "KNCEnjPrfo", "eHQAMmQGWc", "aWmYwnaEzN", "FJBgaZqUkY"],"c_map_decimal":{"c_map_decimal_1":99.0299, "c_map_decimal_2":84.0385, "c_map_decimal_3":26.1005, "c_map_decimal_4":74.0941, "c_map_decimal_5":39.1316, "c_map_decimal_6":17.1290, "c_map_decimal_7":21.1927, "c_map_decimal_8":55.0087, "c_map_decimal_9":16.0200, "c_map_decimal_10":14.0166},"c_map_ipv4":{"c_map_ipv4_1":"96.153.118.92", "c_map_ipv4_2":"36.15.255.186", "c_map_ipv4_3":"71.218.255.78", "c_map_ipv4_4":"110.168.214.247", "c_map_ipv4_5":"211.121.115.165", "c_map_ipv4_6":"130.50.99.248", "c_map_ipv4_7":"60.190.228.4", "c_map_ipv4_8":"132.169.42.181", "c_map_ipv4_9":"244.69.130.224", "c_map_ipv4_10":"19.87.83.146"},"c_int":-42968459,"c_largeint":6180857033945142204,"c_array_varchar":["VFailLrfXSrXzNZUWLMBGdbVcCtPIdtVdwQccygoQDqsUWAhGZfrEXYGhICgSMXzvwvXwXtBLilErDbyRpDgwdNdrJcfKCwgDPjiUUfTRMEmlhCPtjGTNnRQRSEPlBjISvnGxonAHxcWNmxQvjslerPTxVVcHSUlsQiGiOeZSpkwQlaUMyUjEbJQWIZtfNvvSiqCyaSHDlqoyeppPSISmmdxzsmdBIPPaLVtNlxBVoMornKOVDUwJfVJUrctMebd", "kRztNllrizHUqOzirmvJXeuPyADOIcdRwCYJPoJumUNcrMpxcbwZbXrrkyFzkDTGHbLBCLtFZXZKJAJGlCmIiCeYRCpZUrHnktiKGiuERSEooDvDkzlePDIYOdHatGfxngATEwkgjkCPaDyJrZFKhCuoErkiBsUUZUvJKekXwRGJEsSovLbhRFNiOwXeVIFwflypsikbAfBiRsZduTQkomyTVAlKNePgYxObbqFUgVXaYyrXNPSaMbTxsQoruTiQ", "GxasJWVMCokCcPSFyOstfVxcxRXhGpxUQNDhTqFGDQdhoVUqyhApBXcsZVzMhHHhLzvhgODOaMOoNRXXAtJpaQYTALAQIIvmGpxQWJpLfDkuOIHYBpKOXWzDPJzepYVPJsbevhYqqtiMaKzUfOWwTyZDqztTNwXTLgNdiXtAxHWNruCjlChLJXpqXSUAFZunxqxnuCWGlNLhSjOjasSvNXZeJUiuuzhxcggQYFicDIentKiWMjEQWBCdzfLvDUKu", "DHMPxVzhwMkWaAQnnOfFRXzwjGlbDBFHSathDOoVoutACBqonhHAHKflgYOHklAQBqWshqzlVcwaikGXMZSXnPnwPzIYBLlTZzpgVMeulbMQHBQhmNBpCinCnjNdGClowNFjVBkQjQjBfTzwyJVRzaBmNWYScTtKGiBDRbWFFENzfDDVKuRYCEuSoBZvzvGisDFNOqpjNlxLtWyYCUznvllgDOzCmGNTyOWCyFbyWMwJduISftDZCwOLQdxZWpla", "pWOoWnwelDBBYuGoIrkyFMSDiKUEkMoZHuHtebawOSYatNnAOsISzfLAuAAsYHGcmCTCTmZLmGzuxLQAXhsIvVZcwvFNttanULcOEPRdxrfKDJkxCvthQtpzaoAQGLFhSSVkLuVvVxllcWwaUUiCRmAynhfTmrQIGqOTaLtJMQWOjyAsOLySziaJQRLqnoDpgWXdqNjYAxSEhZwrbVnBBunOwSlJezHFzgLQaHgJpTiidNxKnHKSASGBuepQUtYm", "urxWccHVyjkxXrUnctDwnSWuxaWxgddbcChnWZKlIudNjmcxIpVdivXXOVEuUnQkTpjstXHaMuLokYNGvNkhrAjDUkdHZvwOQEtOSBJbaVYpoWbEXjrfteUjQaPcbOONKddZHrKryswdEyTTFCAtAAdUaSspyKVrGscMUJfQVLzJKhbaySbcMOAzSePXlVfupiLnhcqYJpaRXjKAtpVsJNvLCfckbpDbaJJlhXqWgCNLBnPBVlwBOZPNwjyGKUgd", "upSCmrPVIGPMJUYTxREvQbmLpqzALhvafkzFRDyFIxacCcbBtYstNtPCvTxYFiCGzbmKtIJlZfHWSOBQxtSGoNxBfPngMMzAYDfAfLiYwvCpivqFqZMqLhppyYFSVORVvNspfyWuazRsostKmNtpUlsqkjFBostsGfWZTjIltZhJGPAoYRuIivhHiIneOiOStrKlkMDdzqDAZmwFyMdqKvvknqNuIYuyahSfoSGEPCMaMILJokHOVUDsFjVTQIum", "gGScpGefXliMHVcDVbZRfDLxqnBozzJhssJzDFpCilKzOoKWoTaIbmGIBlcRurYdOohsqQCrIsmhTsNOFoPCLLMpNySluKKIXslLsvkOgQEPptjaXtAAyDjPupHntwzBdQgjjCmflsPspxActKfdxazDwHtslyopkHAenGvSqSOWZDyBblFzFEeWLBdkycvbugclFnHDtTiHrSPzZiCWRNzLveLVTRoUOYyWVVmxdLxlkuOqUGReIfqDuIxaHZku", "SDKWKwRYPHoVFSKSDhMgGJfQAYOYpDyyQYTxrynoJQUGFQBCQdljcCuysQeummoYlfTlBTEwlPoRcXkcwqdxStjBbFzTMWDvBFNtIiqVbsACNmXWWWatmzimxETVVEARGScADPvQoxuiUBUxNquaSZymmUbkdofcuLmbLIsibeLRABpDrAxXclcpRlAVtlYlKWHdqecvRzuOViFJiCKJTbfFXstMygzCUlfwlbAGpYkhxkOmUrqArKzwrLxAmMfC", "IbEZGgWsWNFUnpYGmynZONyPCbdfrcUlgqvkConOMkfSCWJKHOZSscTsCriiyMkqoUrcXdJIZBHHtovDEioxYFnpofPUqvtGvCyYgxqzeEKQbFZnHMdMkwoOAHvtjIEZGSKrSprlMnCytLAlgMvGddWgoEgDInRxyUZSxcOkgnYBNUwikWaEPPctVUdEypCTKAFGzSGkiKJwgfukfmoeVkaTjYIyKuiRdRewcIQZToHRQSKByzQQumVZmQuPKYWp", "BlxVSmnumfnBTfZUGoeuNrWaxxYBDqneaJYhOEYLCXrZycYrwPcyUQFzZSXTpNOsdjVkCUEupOrcHSpPFPabsZbbfOxztHuLjgzPxZOyDMpJAlJCQrCnZwhaDauKZFzlQUTZhBOSnQLYLDQVnfEYIrSKDKNeKgispPFGsrqvpuMhtjaGROKneStgdJdeQoRxlTXItMLNdYFAqXBrXWvxkaPCYEOtBnVQaqpONirdzQLmoIhHkZFkVZPoJIUWqPer", "WDbGaOUrQznYjaWDuNcLHBuImOlYDoXPYgRxOdDgfhgmaOEacksAEpayZMQxttqJiJvEyDHXWJQZEISYUFSZIjEQrTmMeJaPyXlGCHyfBiDBabycwowoIaICFuVvzfrDfEuCOZysMGygosCIHmAiwgXJMvdxsSBkLaMwCCbsBBvwrXnKZzxTbrWBCvtuOvhAbOVGqEvMQsynZPZDMWigxMRBILungAsMOWmKfYYmHIMVmwbWyixwCumniAJvEYQw", "MQcodwGCCFmZHybfmZETTrmleqvRbtXuqCvAwupdldtdJqHyYzZFwshIZcrlEhAYjQlCSWUnYABuKxGkgTyAdpVHZfazsadrWcSaEiYovMJiwTuUMHbOPDZOpXbOrAbySfBcJCBtSjPNlsSjwJNNFrRGKEKnsEyVUglbWXPFBQJckYZYoqbgpnlzLpJepFpXaeLulGkoSfHmRdEggNPRLyMiYjADpzMtakdTuzVPEDfygRrXitoYaSKjRoNWfHoh", "XPwDPVGVKSIEggOctvfBhKtTVRULEjOjjswwIjHumDXRSckbQMJQZMOAdgNaiIFHUcdGMSJYlTgyCFpWhiarSJmvSNjWKMpCkRLAhMWJHibutuSSKsycJaTUoYvCuXyKLtzRyGndKspfQIvRWUREqGNPpznVzquXLSUtFNnGnGbKYXJrzbYbfTrVCmwwusvTgFuAiIToKFGyWStsDuTwiNWqabnEvqMwgsuLhiDwfYJbZfzvICKhYPZqrOnZOrPx", "dKzWxZruIIYzdylFxWSRoPenBfmeRmYHSfPTZTMmsqyCtNIUjznLaYkoFCzqqrFxmBcznVYBNIAWTwZnmguHMVxTHsRUTtBFwxhGXzspVlaqjpXsbvcIUozkkJUmjaCPNpjteHXLzJleLMNGIuPyPljIYdawRnODwmmCFwxDrAJongFeZdfdDHpcSUkRrWPuvboeZQMuaWFiWJPYhJfNiDeGFmtmNdxVmkCHRgvIUfqGmglEKEwrdSSZhuNGKTKS", "dkgaRUDfUzWtpJwQdAGlgNvTxnYdwTjvLwFSwxlPbZLjjLEiBIVquDTvvOfpemAFiIWMTQXyolrmJIcwWCbqAJKxnNNQeAvmbEBfwASauOcBGVETnJmpaxuMPVDPdpQHsByChRurdSWDeWGawTtiMmuWGjyZVLqkLEvTdkrktPlaXzzKrRbParspDcsfatLdqvsObrLiNjywrvNFnHivYlfBFwcHMHomtPZUNAcUHPgUkLOdxIPshoymEkAhvNnX", "dwHpZkpEUpkktDZyegfzCfhCBHgjhFDjxwepMLiwIPQCHpeVXvepqGYbkJDSkpJNdIZcgomfSzIPmVFJtdUqmHXFfLVDYhIfyqbcOfLGJAmrxkOdwJJBprDKDzrtiemZtcFHCIMJhGAlxKloBMbAkUhAoAPMQIGswuIGXmvrHRDLmaEHGdieqkABDbjRZLyvVnHtPgslRnfNSwBtDgnMANyAaatlAHswuZPFasXSRaPxyqsTxfHQahZZYmNIhcfk", "mBdfPdzgkvAgoFvCaimZmuXVtTljxTdTBbQyhQeFdGChdfHokShpsHIrkBcRkufADINYXWMHrKaAGFNAbhMEakPEOBKoTmKqDlsMzBNfnryQzjDapjeJvvqteVLBeNIndPnoyLYVODUNmRCDnJJLXWVQGqmEDCYfKiFahXINMlxqhntZNDQTGNzCrjUvqIauuadorgTZQGZhJBRyqqJFWHiMRjLwiNGkFjyqGIGotweptNJWbSRaHbOylyoZKKyP", "ASPIdgVZeHWeJQVqiBScqwnNMbDVaQFoPIYXORJHkPVIrElToyhkXDjYRzwNBiAAtBPSvGUnIUDDBPYMRqWcPoTpVdYOhuzahJOZaEFdIAODNdaxkbgElxHrfFEoqhhSAUhHFWrnYZDGXBipuvFSkLMZdUkgOeOyyJcbIXFugbvvitAjzohDdTqTcJNJGUAywvgbAAuCYZujHusTfJkfktcwLUowcFvtgOqmLvNyyyndvNIVQNuuzUcORNMsuGvg", "IlMIVvQVHPpLdtlQioTQOLEvcEBkjsgNocdNveuDFrRzWeUuuvBoROScEvTdHkfMnmDTVBTEpxBqavjqTcwLbQvyxAwsBzYOQmerTDeKCHBNgmdkgvnOYaqGIZxqcPwCdyIpbNWOOrDQtADPEEHypcoPydDKqIHAjuJlBCkDSIChsPFdWXFvSCelrsNKdMSbPUJyCAYuWddmyynkezCmBWkSRwMQSuqnywGuXdOZCKPjUPQxZKGPDJiSnROgrNOV", "JQYbbcPoxxzZqypkzvocMRtedXGVrxIwISuIuWRCqqOnowLeXebkbzxDHapmIIXNHZuuxdjUsJhTLIKXGqNsdexZQETstUwpCECpeuBoMGOeCSqgecniQOreBDLHZNIKldxWRCFRRNKnDflhyfgzgClBbUoKXnCptwlpMRXVEWwQURkTQHyGFdYibFxvIoTrGiEKAYrnzOVrxPCObDvwStXBDHIoaEdCiCQEWZWReWtkIPQDKupJGZzupsnibvVA", "uLIIMzqwdGHYVWAWKVWZdMNoEuMacdqKwtIdBQZUBbRMRHUNnaiQZGPpUFLWWRTuHrHjYJWUTVQIebwhraqvfSPPHpmpLvxYtPvhWsnCKenEwBWdGTBWMZlRKzYctDEaysRyMnHEFUBKsmstDRMdKmFZfSBqKnoUDTzFOrdbTvzJlqAJnqGeQAhQpxDfjGeDgIDVGkFVZwaEkkCXwGUDTwVxKGHvwHEuGvxpEtoTkbvVAWzKmaobeidqoKWdgcrH", "FaeESstUyDfqDCIRraKBRRdnmuiBgfnqHzXwsYYMuoolVDMmRpsVMCLlPKgCXIPGaMZyruqfiGpOTrzFuYoWdfyTTxcRMYKbHgJOvLxypFFsVfgkKmCoTzoHsoGxYmkTJqtXJAshRoQUpCnhvUxDgPpeNFoJGgcCIwIRrAZLmGCgWYFknkiPZJLrRHzpfEWdOBSfBTqqbeMWrgwCoCZUHhXMZtafywTzxZerhgbPyZJSaodArxeBmRGneeBleSII", "ObECekdWhmDUIKqIcmPNuNnkmsyQvnirRFVXSJVMhgeJSrzJjGyypwAKZfmiHSQMxHmLZsvkthiJBjyZJhBTQEYqnzndIZZRstkqShBezrIbOvYaoQvvNoYtAcxwMlSFXYuWdYYuNINXdwpSMWFGmnbKwhjEcfCGKIAcVdITifBVkChewyyfKeUdflNAvOkPqjVtvnCTgpiHZwVCDsZjGRYSmWOjLtgHFwOQHNiKgYYRCzgjdroKRDPHGBEcfnta", "VKSHQguWjnzNUcDkozEBsdwnYhYOCKJXRWFoOZsSYnymmVDTvZfxxbNSzHekpuIwvITeJVunGVaVnWYyykphNTDzrSduwwIyaITvJlMjXsQIClhoGXsogBVZPsLupqpSLUAtBgGWSBghhdbigMnWwOezQbiNyaRPUtQvSwVxgZbgnkjxtstkbeZZfGyhlEqkROQaEabikwyYBkPiWMDiaZMlbMaGylyYrybAWpAtyqdAQfyMgLrHLIHYSnjEGRLn"],"c_array_string":["eToHviKYDDqtIZZqGlaQbAnjFWfOQTwiwcIXUXCEBBvcgFDpMznwJYsVQLNXniHvvaujBqtrwiafGYmmOeQPtQATxScnQPwweGNVPUQBQXfnVdnQbNfMLiYwYTzFQdgBEHOkZtVQsyfGeMTEknrxQgiDaXPKaNYKwEVATPeiCIKifKtCDPonKkZWGFhAgmrsbJnzDMcEAIdBUGNYSkYJaaQqooLEXnTVUwrmeiyCCZvEeGvvrkftIJMVlekYMWZzoMderEsSlaPXDETVKtjVrhmhRMlMwzOTTrbVcPVoxayGmenCPJjvHHVhPsWAzzSwyyipROmDEOMuCRyoAByibIPDFqTttRYKhZAIncIjAHKgxHOSuHKJhSwKquYbrMNrLOhirAlghFiTMCStPKjyUWxLHRrokCLaGexBvEHJdSQaFnqhAhNbOWsoyUoOOLgFMtqeIjzEntkExZxObekxCSGMbIDyXbpWZcTXYglOipgmMiUAwjagxGauGlXcqyNQ", "ESckujXhWQrNhnjjSjmtBnKJaKpSVnbjUhbtodkHkOaBRaMeosVJhsIEbZMhIWjkwvhryiKZglhQrYoMhTYDbJKQWVKoquYDljNSdbJhkWaCsqdBlcUSPzFUIYATprKlCWzxjeKFLsWlFHHtAZVEtRyXWwDGldxHbXYfirevfoeFUfWucLWxEnhTfGEDOySwMkAzFuTrdNcXKDhAoSAzJroLKhZNJwIplyWzFNCnwTCSqEubGYLVlUBBMpSEYiDQOhvVTdOHMAezqvrLYOqHNpiJfnaueHJLTWOgXipSYiIxwxIgEtpMQMwmysnPqxbxWUADzBWFwaTeDWeyjpRRNSIOYGRQhkvWTLyQiBQDfRvoyFaqTwKfOGlLiHapblbgCGOyoqzrGhBmFWsxdWJNFVgfjaenIQsVqGSPFXnbFiXKGJtQEEjlmeeLsijOSDQbwFArMzVXavPwdwGVeKQpzIDeROgWWOKcmlXlrTystubGUlfaCFjzFBEiEYpqUaWe", "YWfQusrcivHJKIvtXDogtikbXoOtEKuXimBEbZHCeFZnrJBtmuLcIiGoUuqkfNJLUikJZzFuqArhHnxGQugaYyxHJEASGvwnYdJpnpzQYIsxEelAujHbkhQltQLgaZusEgEbetTrsLgTadIEajNLkCWgzQKGXoOtNdNzztkNgjWpIcVsXxuFJTvTcIzfrDkCdzpZbJNMfyugkLlCWpdxHBSPWElTqsClvbStERedBvPTXYraHIjBTdpUKsQjsLMwnvqlRHorBSBJkWIxVaqDMRILpZksoUegAbyrMgRdqGrsDgWTHWzATGRRoiHOZUMcAdjPSIKwxxTnINOKcmNGQLvgxglYkIJrONdLrSMzNuSwTQKOEUnqzkyOlYeACAegwkRnqWKzXuLbVqsrwNRbiDiSNiTvYpAThoyaSsxBZUbKOMqDTCgmXlAANLVSsYKQZSidEoHplTJwFGbStAgSTEXXSjLEZeMNQkVsZJFpVmktnbwgYXXVuUgtNCDllBFR", "qqXwjwDHdcfBOMVFrhstwaeXjLNbiZstLdCvAvJjHuseYCpktjJoyrguXZyApTXLQhhknWkqrBBXgslldBxzmjfnIlJeOGroKLsOdsoEtPRJkNrqRkJdweaOxkIFLmTtybsAItErhtJikPcIcJNjRswJFPkItdasGLEcpuoUMQnjtNHQotVkHWZLuKHTPAOETDiiXxGwzfEjCOYoBCVAofQYwHUjsDPDMzMeFcxriwZQCmyIIbRMbOVMndSGxWMbCsTxkfverIzlJsNOVYshdRcjQiZgvqBKRPLHQxYmCQYKVCQynSSDKOrLdnsdhcWeymixgTKghEilRjUDBiBjMxVILrJShzQOzIuszhjAJIOYfbsJmhNfIUhkrpHwRMAWJfYCmOxNKmqkVYpnMBscbZNhBlyToWzCodwCIRVmUOnSwOzNnjgKhCeIdkSoTwRlLiDpShNujSMrkPPMmJWbydpvUkKsQnASqLIbpptRVBFAPoJJmByDXLiTPEoeuRCY", "GoGKyIYhWEVElyHhMhKhYHyeXSMAvhQqRwSnDWEENGZUxEaaLNElyQJGGsqDZeaofymOaBLcLsoftUoWxeIlVKjBZKmrsBXYyUHKsbSeWkBiwYtcJvQSrbbVzMYLyfZcJcaCUrBWoGnSngGSVhIMRCkdPHzwbdPYGfXNDLSaASZycZOwtkcaBcdMHLQiMSmxBhZKIepOEsNgFbDfeLDXDmgbQFAZPFQjkfdjBTgoELFOGREqYvblvycPxhvqIOvdNgyeABANmWNgEoGwWYfVFtglutIykNLskmgBggKUfCmmudyboqpvQRobhYEfFEnoZGGPNebMcfvodDoFCOYgpnmkOQjUTSOqyIuATDZizCORraDSDfrcpFypjKjZLYSPuqUhwtYKUOZOWOuhMImqkEIOXFDxoEyouzIBlAVMsDhhwaetCJJdKWRqMvTbIeAcrWAzVWBVqWklKkZieTzHLsOAiGSVmLeFQYtHJPtGYGXbmIFrCrTPLWBAciBPyfco", "JfPKXbowbnLDqHnRQKwHLIYdUOCPjGqozOIBjJMRFLPDTynKWqSqNVGogKyjECgWuwJbGSjleYiicnUcDFrCtVPtKglNCcfxyykwUsIRDucpwmIZjcQHYJUZMNbvhZPwyYrNKMAopVxOPzTPdobEHnKiQePGYYxZuXOMpMFZlCIFcYmdZPRYIzxVjJvtAKibeLEcxRKfNvahFCgRcuDcBJbxdsDmRvboecAFtwusnsDBfdORwlhiBmNDRWKDggLrdvATukTALepDwhSPfHJDpGFKitApHywEZyWONNIbBStfhZpYPAxRwyaJLeHxQeZgGRMNNDxYOSThYgjePTDnzTPDLumCCpqkESXOwZPaxwPUxILtNnRHVXCDtUBplWARFgDjvurtQTapNGdBVFqXGVdlynDJtcqpDiAQgwipAjptzHQLXYqvZwAKZKjvUZksNbEgqpiiYIUCYRYlvFnlnrTnBuakkDYUHOKePMYAioFRJUmjuFRcHzDFdosUhJSd", "SJpVETwdtsYcUMAFsXTOVxfWVaTEkvFZyRezgXQqXLpQjXHHYWcVllZyHiUejYezKcRFsUAcXhwSeMHXkxmosOSqUOObkCfQqmUXWHTTTbfsYBojCldvDupIOgJSAeEShVRNPcOeQQpVJCVTTSXVehRIvjZHZhgyoFbHbZPnyKaCHFSMJoxUbonPqAesRTFqkDcSvlNuZvhDvjhNVCgZvBPFxMgIlIQxczkfAfZmdjJkQXkrXyHKfgtrasdOlKZBIJIjvMayPBpnKrwSGnSjHVWlKfuGkOdWYAvEArHwbQdobcOunDmqaZTuMSAtZitFPIQWzgqgpDLbtWrpwEnKoKLyASwiHoRdDyHYbptNaaIOTsDnNnAkUKLpzXtzvunJHbaKANYBWfOHozbxlPRsQniPEiOmQhwYSXSRfgiorqKrrPoajgzNfSJVZEklPobaPqBBBcbdiiSbxUThVujCeBliHIbmgPYcJaqQxebDXPstfFBDuFkZPOSvwvCYjNJA", "fMtzONHBswobkHJENXUBHpphOVDTwISiqHRwmJaMqwmBtSuBUNMZpglZfabSlWUaAciPtPFleGOkCcZjXCRSjDWIGjNHzxTsCHpHZVpvgGJiQFqOZKewLxwEnCXyBxvTndoDAhgXaEXypFjmdesYfBHCVlNVbwfmtHGQKyqvSTtEPaUBwIqgESTsxndPjfwAHoDgLXvcMFKqLjSrCcmaMFkCyKoIZxMjVfNAQhMxIIudcGkvSjusEqLmLGgtpXrABknXUwobcoNgMSdmfDnbeoMgycUJsLHNyLgUrwpROCpczivqnpLcDhXefxkikSUlDQwCcWGvsRQPuTIIMhXkXoqVybANfadGIuzuTgyhbNBCOfsoBLgEuqnzbWfbpjEbMdkNIHLGUaRfWnBGatQJbtEUfsWRMNjTEeRbWWROYnWjGMgvpifbgeIESpqeiLMhzjgcqXSXVAdJzkjtQlLNqRAtogbaVucyigLwzoDdybqGNmTVJuPeicoDlTUrunlV", "duGkSChGHJBeCwKRBSaBsNBjJuqKgomDSIgchrOOzEERnWKepZrvfqDbGJcGYHPTajrsWgKvNHjevmuoKeZpsQLcIXOEfydIqRsYnRedxuaAwgrevjHnVtfvTTqVDMaCNeWswztMvjgUfaUGaavxdcNzCtjDPTphCodaCsNuoNJtHEojeSbZvOEZCTGKPfgrmFdKFCQsMoECYozUDMBhJLzvzqapANyZtOLiPJPWzVCaTpNNlrpjveZjoYFBxUPyiLYbtuawbJJJDbMTIsCEIBvICQanGilzkKtRFvXUmwXBBlojcGXSzJptQhkBYLbcoWAVEfDKQXwIaByrrfgeFAcKaBzjsDNwrPDieqrGIonllMoQQzrLkWJYRDwIuxrdktCMkuBPVNuhdoTdxkNQEQxAnuXZggridxhDtwftuItQfUtiTBaIdnAaHlgNWGCIycxLgCkgNFnDDHPUoQwPfmWUkgpSsxHRvuBudvsHkYOlnnNnMuoHQLvuUKIkHugM", "SbHnerejqkaNZyILkwwYafzlCoHDIpntkOdEUOXxqyqGpfTrgvgfExNESkSCkWvyJqITaAnSRRSxpDQElGEfvaoUwIBSWfnoViDuTyYwINfhGECpiRQMhIwglZYHRqASisnQsteWJemIOdSHLUPKtlyCFaZvzXOrlehjTHZCTCBqbgRUAZldyWoZgaeqAclBIZPKxqpdGbNhhPnRUDhSBqcVAaLiBCbiqdvLOVeisiVlFqxJYvagUYfKyPbBDHHyzAQBosYrFBaHSyHUALLabUkIvlEOaJXSrUQiIuYnmGavYFszrtAGrVIiAVlqWuwTBrfDhnpxhCnKNypNeelUwvMwPvLAwnSoCHiinNLfaExofSwuStJVXQjTBywBLNyodZCFHhMRMdicWRIPDgJgxJXNzZEmdcLyZRzFNlPWfGjHOpHrLKjkPaUEGBgJuyvroxfVqZtRgZexVnLZcVuARzCeTSaWaKochpUOAVZRrBsnHlBUbBcpNxwOzTmylWnl", "kbWghtNHqJvIJkFdLJmDMlbACVWpQwHqzJycgidYxuLDKhDunxdATMgWvfHMiFwJKuEjISCFUjtjhVGXeiZUoxNeZTXZeuOtTRbdjvCzjTPHkJVqKmqBwtPXErtVoMiGFZipKBVDSMYdgZwMGcALvBWIYQspuYrmUjKXEzZHQmDFEeXcdGhBnzfZeubtRiPbJMJgpSPODTRGofOsuawaLctSkeHXqkofkMpuOejHuaqgvSZwFPOpPiLJkMyRaMdBIgjaGSqdpRmidhocuAxFiexATRABQVxmQcFmzoCPdlHDxCRpHKxdEltINufUShJRFXbNYUeunGrKzQGCIIUqRikQswiIUZeWbJFWUuTKryfsUkyXarMRfELHHBwForrAeSGUWfZQNtltjXFXhSvrhkiHvjzoUniQGwkWoCruEuTfHXKtHhHmwhkwHRPnqJgghZuotHbOlRTZUILBxLJHzaNGlpQNeuCuyAZPCbwBawGVoQCByQMgxZiBuGIwBuxR", "FXoofLUwPMVslasMyZSSnJBFAtIgvfsKKQHizrHViwDCuCJrvScjcyUhDhZqCQuwjvueLDrZFuTqNhcEbYZnIezmkNEmSYyXzmEUXSqiQKsHHSFysTJtgpTkYebpYutkAiDWlcjAJbWkFhqMJIIhYiyvbByrYOAvaLatZklhKTmDXGbXqFYhdWMbfNFhTPeUvhvnNWECyPbUQiCSIhYDPoEzkNVkSzGCRkUjvUTZBlmZIjdxOPybuKnROzmRrwRuiksYRLoEHYOLplcUXSEBWoUWzcdjEFNhfEAdcJeoKrxaCgSpxlvsRzkPvfPqCzokohXvrlUojZJowBCmUzjpoalUuAZffqoBjdNSnXlmmxFSEFjbkyrmrzcsIyqYowZHPnMgRqCeOXXbrXnPCUYKHqRzcyRZrlcBNhJYwiYgbanETzAxGAGahnOHAezHuegXiJQVZWfyGnNvMxBhSbZGlmmZssApDOxUMlTIgqkPfXjJixGDWXYBmgKyRSJttThf", "GJRSEGyZKXtHTqKFceUWKNGxFtiBilgXixNfJfwZXUYLZjNGsOWxPVAXHlGWuspVuCUBcsEtuXHiSDExzTYCdgDjFBPAnZkFnqRQoZxZYBkrHqmHUrztGnqLLMjbGWSkBZvcnsDDhWfwqrQSZXfCOzUuhpQVGRAffVvZerdaNWtjxJKnuyykoScMdoulcUUnFzcKQbNICyOdahezIROQMLQTVgHDrouTxlNkvvMqFZBsdZoKEDkcVEEBzVbXozqzMhSljSVTwpolFZKhEPBmBYYKiiLgAmStDwjAyFrkSdMrylBxkTGRyixYWfuVfvRGlYFIDVoZgbwJzEJMKoVjAhnknoKuYyWgWQljyxyXRcdcdAKPbdnUUBRagprTefpgtazwnEGpjdQdfTHpOQqCCBQzIfMbHfUmizCxBmltxmozzneHHAZbRxZaBfiUoyVmQrrtDdzbXqfwXsvnFgskyTzICRpXczWrEDNCqjwRwcwjPoDLWNXBrmAxrDTivSpA", "iOWiVWctpsQJDsXpUvuyLVGxccFnwQVOyDfXcehrHcKuNgGwSXWXycgQXwfnMtgnQxqFKrOvDsKEOKCLGVUMTlexiBwKSTpuaUsmpvFMsRufhKMPLSatAZIevpLbSiJcjaQleyMtBtqSRLNCpZqsIaQzGKcIjRaZMfktIWQSWxpwpVTTXZIHgbQxVvySVcrJNCRSavcjxsuXDmDXMZWKchUPYRfUvEMLVAEtxNRkeUYxYbceRqXWFQOANljEvsEpOsSwdRbkZFhLdvAbWOIiYZIusbQXQgpUyEQxQKZKAZmMUWGjKpvTnPeVzVpbQLiRdAcEiqsmPhDGhzatDbjzFTKAdKakRafDSjJfOrYHbeoeMugcfKobhsmDbxNGNySVwCPFGnPTDVVqSsmHKvhTeJYMUywJaNlqGxxvxZSpIwahIlswygBQiCYKqueXrHixLQGtlodYyELTZnQrDMfKXrOyxHtoJwNQzWCVobUFIDhuwAhKqSchjHGiKOMXFQNA", "EGDuqhuoiKRxVBdCRHInvNhNJoqdEEjWYjSQDSSLftTxXBlTylxxtzoOQRLVdxQLEwuOHWGuPAqRtMaZMmyJgwxIhaMmtVPcEkOKEaXUdOdbuGBwrHYXGKUlSyVbcvwSdGUxDQNeKlVRczHAKZiKdPvqVcygydtNXEVsNTTXtZBHQSTyCIssszQHzvCHDLDdddDzXkmsFhXaJOnRXxFOyzdygIztqzIBMOcvgeJcbAXOVMgHtcRSvjKkQnIHuvHroWNljVtfmKoIYOIrHNenhqLYkowiTvxhGxSAeoPeAwuTazrFWRYfbNBGVIfHehDjaZxqgrWSfYlbdnqMrlxxIepmfzXlnMUDGsZpZszajJOedfsTRJLagYzwRwwLgGRNNwNuKiPrPrHNXKPxVHPBjmcOaOAdbIVDJIbeSQoMjchUxmihnTANUPVxNCSmFIwYhylTchRxUbyjaUJbgTJLWuyNrIQCfVTBZSMTwoesbSemWbBnbzEdFLdHCwCseKhT", "AWJqTaTXwwdwukfcmjTbFxAfDiSJjUIDUjLvXCAFxcPBlIgIjkXEtkcWFFWBhytXUnpiFhsvJwXzLSCBiGkRVxnedvfiuHfXgXLBUkAvwzrijUjTQuqoHegrloNNBwqxZkyRaSDMjmXmsmlsPsFOouFkdsSQTqxJizmSRlkthVtxNnrLhsTmnZpVffqzueZaFChOyshHnQRgzbVdLrDnOHrDQvFdftAYZsbRraARznEePPVACHLValDDcOCQxTOLFpLtFSFQbOPFrefhZZmRqrpSMinSdcRHwSBgEZTGBGIPCeusyodklUmRFfZuWGfHOLsIlqodycfLqKSCMjQajSzRcuTawKulHrTvuNVvZkKnTdudHYUNLSvcoLcnRQEmmlLSsoZNomzstlkXbgnPhfzuTsqpbRtWGhsqJgYMPuvMNiYWKAmFZQTVTbXdfUjISYhWRzOXKEPdhybKecODyimQXWyyaKYYTVrUxFlnPgSwISjlOUduljMtwlPUqfSP", "PSYseJegtDUrqjWmcyMtERZpDzHyWcArtrJFRPPxuOVuoKjeOlwTJrgVfNogzFsywZaOktVnipHUrnBkOEAIczYvhgJSJqCESYEYCwrKwCFBdRQXDcsdlOQtiCtZAIVrSzjYOcarwiFBEFLKXOaEJVActGjtKPtypAVPvlCiqcRBIlSFtglViaDiuDqTHnabLejKVVJkTvvyUnvoAeDRSUhGiEzlaIzYDrcbOZNAcZxHhcCWCakFXmGfGkAbVHhJSqmYYQKUSesDjmSOUeDwOZYMCZrInDLrYoTxcLYxmETSGaGyKZQbQRwalKLKhObCqDLJRaEbKsIZIyYHBuUWmWuuhjYCVrOyvPHtbYgkgJLbMExIETuitkpGmrcRMooZDsvmIijEUaLnPmrkgyUbOPxagMEHQmujrknAgJMDVPVUihXBwwkARvBrITXKLziDRENfjupiZMrcNeICyITgDzNDKrpZdxjUrmAJTaFVaeiQvixtixGbAVFMyaoVfGWT", "DndvfLKmDHDGbzKUkPdKLxDSAlsPyXdQsUyDBIglQxvxALGxrooCKOPNvDoURYENFEmONxvcyzITRwpbqEUyAIleLSKYUTFzCssnPxDSPoIRzLfKnuTzBkWRYNtVrKdpmiqHBlrkRZkhmNrztAAUvzKjKzYLPuPKELIWeXiPllRoFqAyQpEeZWqwQSgqOTpIPNCEPPZHXaQtGTcGzwWXfshiJCnnKLydzYJyAuGQbBGjCuEjFVzADnfOWJTZaYYctUpbvKzRonbewQKdvnZwLTwEmmKNrvoIAYhIrutXcgYllcjNQsPyLQsEItOqyRfXzRHUHikJpCToRHxdUcaPAumuASecjsjJjdaeOIgNLPMioMhEuQOnxRDrRiaxPUsORmpqDKhsJMqHQpCjJvndrPlxWfCOUUawxCTDnHsEFQWTsJxwAePPbErHEPsADRGKyQeLhnAlWLkdUIFChWXjFpALmEooadBCoAaEKTJHimMLWJOXFhZkliezlOMXuMYQ", "EuiIrBJSaOttWEdXYmqZtdYQFDCGMhSCbHULalKOiuOZYBqQTsdNMtmzPEJHhqjNWqRfhOVbiBwvDAnrZHrzKmbxnqjGWnBLVJWLmlCRZGXfGoBenYNFtLbmnWEZlrRTihWGEYYLFduzhaEgRSyABjYBELqeNggEAqaiwTHGXqvvOtpdUdYaGgfXXxEVEbsLNejwGYnccwVlAVtgUxMWYWMOEkiJYGCFouEnUxhBnYqGNlaBpviXtHVhdJzprUEmSqyIYecyZCmzVyJGGswWcenyMRlbDCpVlFPEuZzhZlYaUYzoVbVyUbwOXkNcWAhOfctEQTAiKcMVojtxEEUWcHZVTkSwMESsgIIGHzBhdUqoBVBIiwDgqzcPzhSxbplVjeDattJBqqxhECoPkeisUqEciiRRlTJpIPWrAJePMidTgnmpUdbpndpZzmyLRqOQeMTmpjtRYLDeLMnrjwBvjzsrwpqofduXykmScUshsrAySRcVMhhqSzuwqEPPpcpL", "PeEScVTcfHbsjrzbMSVzjpZcDcWbOKTasjdGIxNVnsivkuSWWyufBaFMHNCDXjdVNEcnsEyjELpQlRQMjucYJOMzUiEjYcdYQJkIhKmpdisERVtDdpYjMsxJIfJixmLNIDJYFXarirlJFZtzAHhbVTYCPVSMQjXaIBynjPXhtObrukzearAjKBBMKxsXhPbsITfElaGYByFQkSQCIqWAPkArNGOCTQavhRfZuWYlnQNeAcdIgnXTMPEUZoGtFBSUlsBPvZyQbwNYaEeJxRprNtiuUdvcVjFCicBSGjFVrQbFIJTDCHMqeyNLcuitLKqetmPKvMzVvpjdhkHvAYZYLKVjKdpbrCfJgxOAQHJNblLqhvuYrSLJidtksjVBETcUGSHInEaPkwjDgfXSxdcYVamXOKcHiWqtQXqXjZRXIJuPoOLJirRenHWxitbuBYckclIwxqvUXzqqZcjoNDbONiMarcFLepEGbHVdDQqxtGcuxyVvdWJCcEUialvnBEMU", "SFeVjXwFTiRolBgIXUUSrObKKIsIcXmQoeOYGXAkiTwbrNvYJuMjbUPaHkUxrOuwvhoMiKfYSJlMzQUjoYfysbQGfDEAyGsCJuoOyHNZOVJBHhrDXaTmBCvCvPmOQzKrgXELjYdvCnUXtkUvyENmQKcIeQxlQCRtMwBfAFyYFaHLwaYNnCXdBVrooIYGfwTYpEIirJmkjDqnoNQxzuynXPWMAPfLWCfLnTVfTYmeJFbglTSAEQGrlHOYdYMEjXDAvYxzDbzHVjeAUVvBoTGumGMjmIhWfHSXuBZWMFuGRbcakQJdHPkjNFEZBcOJDNvlcKpLPXoGmCZZAXWnwatCGXempJGxEfXJegGKxeVoSmrTaXXZqGobfMNnrNNggyBZfAubaEzjhZsBxeIFuzNdvkgiVCWaoOljBcxvUFYsZLJULEjomsOSdShQrVCAypcJEnNQNujPspVDnAaluMpWstwXLjGEPgpwkKYVmsqkjvwAdOnhdrBSrKXbZLSAaTNR", "PbrVkURIsEXPBrDZBOhDQjpDrdPRbgmKCWqkIUkSgBNmTicVSbVYvggZKeNnihRYFsYZEXRbjIGeRmVXIJzrBLfwdjZjDgDMLyHWuPRWYdmZweEIDkBfgCAMaYgEoDqGEoQNqtaUTnqWBjvsmPihtmpWRalSKXibgGkjlUnglIcYbkfRrrsXEPsakRjspfkBhNxmLSjtnyXWUmMBtUnEYlZjmYTKcZsNmZIBDqAbFKOBHFnfAKGwvjcNCdUxKCfvWLVZPXpXJTCOkQjvmKTKsyAmyxOOMghBBrzzMNWqFAXNkgNGJiGaQUUmSrmJleOrXxykpSvKExIJtbpwBpXPUOjwGxvMtwaUcdDZHMIpHuLaMpmGrmvgbtjmXuITVtdRaCWSqeajpIvFlaApnIBpxtwJvPtijJJJgdRINMVibVPgXXGeIHPSjZbsrnGyBRSWZQawKWofAUBizqAUtpzreMNZzLOPPOdnXGCPnFUcsxfGppKIqFpEmMNgEheDqCmC", "AVvSgeZOKwVVJNPHZeQrBcRxZdxAGVsZhhMlmWHuophsJHlbyrCVvLHcUPFZyRgeJWJkQFiFNOtRgJvMWuVsZNobGjAfuftRYVOZfnAIxvWDElPUYNjcFtomdXOkLCHtFLbBaHWvbgqxdzkIoTztxjlmGpYGxQaUlBTyQATxkvAQrdrjqeFVDcPkWNyMowBTQhniIsUUZvBGUxUMjSgouVpBBlvPYLfyEqWouOrYHxIDYOZmxwRflTnuZmNkLiYTtMfpEJKVHPuhtAdYVPraTlTvjyuYNRSHmpmBDEAqZzAFcvBmKhVHHcqpVwcbTvmIHhxiZyTZnDTzboRnoPPBFmrewAGrDKXhekCGkWLxvpxvIVPyuUKjKwqBCJtAGMGVpgIhdCykGVleSeXURettbVtULLVfwinBkzkjgKkBEWpbnpsDgoiuraaUNagoWYcjEXprykuDCFwqOkZBNuKfVawRuwvfOsnIBpEdXkcAUgABySVjIKiMXqjHACGnFOQJ", "sLTwkOIeULrOYSaJMwWvakNGPveoNRdlnygTIfsngaqbBsUeNVUjszDBERlapwgIzKCFiVekoRYusgTUelCvCwPguzYKRmObBNZmwkcBuVgKGrzaPQATJikeTJGwlvnJyXyjwiMQfLXqYoOFKSnZtRElrivMEwUaXjvWwoOvVbikoYBngCvacvspqXnGGEQryNpFbdgXIhPgIjuUjfVcWIZzxmtmhIfPdYNShjTFAqEnIUpzWLKiVgyrxJFvpdyuJKrOxwyYOtWOMdvHQPHaYJCkMQbnMjsIUQmfpiSsuYCvfbZJTZvamUlBXEEwuWnCxPwuDJfZiBeoNNllczrhWZfwLOCBNSqzOmyEyqYxkbxfKpWvtIZlspeTXkrDkglCGOFAopIGtepPqtnPQIzQoKsRqXQpWKeRHlMhDmDGeERtEfnYZguxZWMsprkyqggncvItdoTLjmRdMGaDcZaNdzQSOrTXpxYxYmzhdbVxzfEStKHALxjVeeTxRcjUXgZy", "YeNoJYDhqkKWwSqBhFBZbAnLRJBalHeGRyWAKLHQHNCmhmweskAqFVDYQwfsRyrpCStfADYIpSnUSydUgavEAEODVNIqPMGhIiJZBjrFXfcSaaBrWiqRdHZJSptwNCWMHLXZrMJfuikWRBSjeFLsriAiNlCbQiEpWsCCprssDzrVXZPxegUIgffLnNCuYYdWAfpEAZjrlOeljxiCIwbqzLcpWxlylqQOAhBRODBBCaAnKnGCvUEfNCXGChHFoqtXaHFdfcIXIyagWNzSxjYvbwxweuSTRKwOPVhMnOzUKksSGuCbGIzGTnMKlZYwNHTkULcNTtTxvVsaptAfkvNHvePkceMfEOWhYpGqKOKlDJDISEREKnBkAiQeSTJOVYkuhFCGQwzUHFjXofkXsmfLhaSxRWvpDKUkQGnaUIGjqklDhObXKizUOWxZBdOIdykTSmCrXllwuSfRbkWbHTTAOzbwrfpleRFCaYfKSTPJYTTxvQBsfqXEUkzlAYxsONwY"],"c_map_int":{"c_map_int_1":1739113893, "c_map_int_2":-1917137313, "c_map_int_3":-2112007, "c_map_int_4":1176196335, "c_map_int_5":1406427136, "c_map_int_6":-1516414056, "c_map_int_7":-1503717515, "c_map_int_8":-452774098, "c_map_int_9":1444960009, "c_map_int_10":1130051729},"c_char":"qsLkwuRcSG","c_array_float":[48.886017, 7.747918, 82.96283, 60.78834, 8.879272, 100.8631, 11.685016, 1.0152241, 14.458129, 85.90447, 60.027576, 33.051537, 24.92665, 21.06038, 88.32745, 63.24269, 60.847706, 20.044033, 35.306297, 84.62174, 50.43516, 24.089403, 4.6897445, 78.23195, 50.282066],"c_double":28.850185864319894,"c_array_boolean":[0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1],"c_array_datetime":["2000-05-13 23:57:12", "2016-02-03 05:34:53", "2004-07-02 02:51:34", "2003-02-01 01:53:45", "2009-08-05 13:50:30", "2002-04-03 19:23:20", "2002-02-11 09:51:06", "2001-02-11 04:25:23", "2006-03-27 23:19:27", "2015-06-08 17:08:15", "2019-01-28 02:40:12", "2000-01-09 20:18:51", "2015-06-05 03:23:07", "2008-03-18 23:05:30", "2002-04-04 21:58:10", "2006-11-02 05:10:59", "2018-08-06 11:50:30", "2003-08-20 15:04:55", "2007-06-12 20:30:20", "2019-10-15 03:47:05", "2014-07-06 07:40:00", "2007-06-20 03:02:48", "2019-08-16 06:59:35", "2013-04-19 18:37:41", "2004-07-25 11:36:26"],"c_map_double":{"c_map_double_1":48.82471898824722, "c_map_double_2":33.0437018461293, "c_map_double_3":86.3207279924042, "c_map_double_4":15.765163528841187, "c_map_double_5":41.80299295406422, "c_map_double_6":11.627927350480098, "c_map_double_7":17.565327054239866, "c_map_double_8":62.94721179696855, "c_map_double_9":28.992101091199054, "c_map_double_10":77.84692488806375},"c_map_datetime":{"c_map_datetime_1":"2017-01-24 23:52:05", "c_map_datetime_2":"2016-10-21 13:29:44", "c_map_datetime_3":"2000-09-07 00:38:18", "c_map_datetime_4":"2015-10-19 06:12:54", "c_map_datetime_5":"2019-06-22 08:52:01", "c_map_datetime_6":"2006-05-08 11:56:02", "c_map_datetime_7":"2009-05-03 02:13:09", "c_map_datetime_8":"2009-09-17 06:35:04", "c_map_datetime_9":"2019-11-12 15:57:10", "c_map_datetime_10":"2001-02-23 16:38:12"},"c_tinyint":0,"c_smallint":-3947,"c_json":{"hexcolor":"#4d701b","achrouting":"656118871","cartype":"Van","lastname":"Murphy","prepositionsimple":"from","int16":-18177,"errorhttp":{},"filemimetype":"application/lzx","uint64":11619709516270150820,"noundeterminer":"a","connective":"in addition"} }'),(6,true,true,0,0,-128,0,32767,1262,32767,-9806,-1480515521,30146103,-324272277,-50877502,245,147483648,7881133054483275543,27153,-9223372036854775808,2004355,91.51006,53.178123,6.427896534684221,300.343,69.1679,100.02,88.0954,100.02,null,40.123,38.1630,95.0061,300.343,100.02,29.0975,86.0922,100.02,82.0255,300.343,100.02,300.343,40.123,19.1537,40.123,100.02,87.1515,40.123,40.123,100.02,300.343,40.123,95.1373,{true:null, null:true, false:null},{false:null, null:false, true:false},{null:null, 27:127, -126:127, -40:-25, 1:127, -81:null, 31:0, 95:1},{-128:127, 0:127, 1:null, 7:-112, -78:127, null:127, 6:-128},{15531:null, 6902:6831, -26944:-32768, 32767:25318, -17317:0, -32768:-32422, 19185:-13055, -13519:null, -10777:-2066, -21971:-32768},{-17001:31113, 32767:-32768, 11364:32767, -27564:-27253, 15147:12821, 245:245, 11454:null, -8631:245},{-1827655660:147483648, -1861086345:1307869342, 296473744:147483648, -2147483648:-594062320, -2107279861:-2147483648, null:-677288936, 147483648:1488669324, 2147483647:null, -1754373606:147483648, 1778725225:2147483647},{-233993218:1787516710, 32679:-2147483648, 2147483647:-342726852, -1233782867:null, -1327584258:147483648, null:1046424593, -1361386909:2147483647, 0:785727530, -1820353667:-512305906, 910526960:2074630020},{245:1, 1:1, 20240803:8800, -6966355:-1331834, -4168707:20240803, -3215862:1, 3222098607904848882:245, 32679:1},{7346505279278370666:1, 32679:300.343, 300.343:1, 20240803:245, 147483648:245, -9574:147483648, null:245},{147483648:147483648, 1:0, 0:-1253125572919716032, 9223372036854775807:null, -5642111379481933366:1, null:147483648, 5386051705251796710:9223372036854775807, -7400873:5184419},{4844386:0, -1046854762688293855:147483648, -9156642091828162354:2694278882722510429, 2666137675760063592:3711244257307836883, 5236450493449750500:1, 32679:8398123243023753861, 147483648:0, -197814:1584273947, 1:32679, -1941235236:-4136181066712893994},{40.123:100.02, 100.02:82.93682, 46.758015:null, 73.38433:10.529927, 58.521545:16.0525, null:40.123, 74.38122:49.816013},{11.4081745:40.123, 7.024388:14.107351, 300.343:40.123, 43.432846:300.343, 71.49783:40.123, 55.162235:33.45139, 66.740395:300.343},{97.805434528704:100.02, 300.343:300.343, 31.777909962533926:80.0903109225612, 100.02:15.133288781680829, 40.123:30.286195748974688, 100.9106182113328:null, null:70.69257579092694, 76.14036383264283:300.343, 54.53483247958229:52.01378021216675},{38.16790531869608:62.69800941880589, null:67.24722010145345, 25.92820838456242:50.011877359458076, 40.123:35.55118310758792, 43.1311863713026:46.54394668175954, 70.80741912473114:94.17684375736103, 89.15564802130432:40.123, 300.343:91.33261104970805},{40.123:'a', 5.1558:"1", 82.0374:'who', 300.343:"0", 1.0759:"1", 58.1975:"0", 61.0444:'on', 83.0624:'something', null:'be'},{null:'who', 89.0908:"300.343", 40.123:'p', 100.02:"20240803", 30.1798:'because'},{300.343:"2024-07-01", null:"1", 40.123:"2024-07-01", 58.1959:"2024-08-03 13:08:30", 100.02:null, 51.1054:'r'},{12.1811:"2024-07-01", 40.123:"0", null:"300.343", 100.02:'x', 80.1020:"2024-07-01", 51.1510:"2024-08-03 13:08:30", 67.1827:"1", 300.343:'were'},{44.1247:"1", 71.1930:"1", 57.0297:"1", 40.123:"1", 100.02:'n', 300.343:'i', 67.1614:"0", 32.1592:"9999-12-31 23:59:59", null:"9999-12-31 23:59:59"},{79.1027:'v', 69.0247:"20240803", 100.02:'i', 72.1696:"1", 1.0950:'p', null:"300.343", 63.0682:'e', 300.343:'up', 5.0809:"1"},{100.02:'n', 40.123:"300.343", 10.1433:'g', 20.1558:"2024-07-01", 40.1275:'or', 98.0418:"2024-07-01", 43.1078:'r', 68.0440:"2024-07-01", null:"0"},{100.02:'h', 69.0994:"0", 40.123:'she', 65.0231:'get', null:"2024-07-01", 96.0187:"2024-07-01", 300.343:'he', 66.0384:'look'},{100.02:"2024-07-01", 56.1194:"20240803", 43.1244:"2024-07-01", 300.343:'s', 6.0799:"2024-08-03 13:08:30", 40.123:"2024-08-03 13:08:30", 20.0187:"2024-07-01"},{90.1961:'x', 44.1165:"9999-12-31 23:59:59", 51.1332:'do', 40.123:'think', 94.0043:'i', 11.1682:"2024-07-01", 71.0954:'good', 23.0144:"300.343", null:'s'},{40.123:"20240803", 65.0956:'are', null:"0", 100.02:'mean', 69.0282:'that', 300.343:'h', 63.0992:"9999-12-31 23:59:59"},{34.1538:'not', 58.1267:'she', 40.123:'t', 31.1491:'you', null:"2024-08-03 13:08:30", 91.1113:'will', 300.343:null, 100.02:"1"},{64.0901:"0", 32.1047:"20240803", 100.02:'why', 56.1432:'u', 92.0614:'is', null:"20240803", 68.1316:'v', 22.0585:"2024-08-03 13:08:30", 94.0065:"0"},{79.1755:"20240803", 57.0199:'i', 62.1625:'b', 40.123:'c', 300.343:"2024-08-03 13:08:30", null:'b', 49.1120:'hey'},{'when':false, "9999-12-31 23:59:59":false, "300.343":false, 'just':false, "2024-07-01":false, "2024-08-03 13:08:30":false, 'b':null, "20240803":false, 'one':false},{"2024-08-03 13:08:30":null, 'w':null, "1":false, 'r':true, "20240803":false, null:false, 'x':false, "0":null},{"0":0, "1":-128, "2024-08-03 13:08:30":127, "300.343":null, "20240803":0, 'n':109},{'yeah':-128, "9999-12-31 23:59:59":45, "2024-08-03 13:08:30":68, "20240803":-123, "2024-07-01":null, "300.343":5, "1":0, 'yes':127},{"300.343":-20395, 't':1758, 'something':0, "2024-08-03 13:08:30":245, "9999-12-31 23:59:59":1918, 'f':null, 'but':8770, null:10393, "1":-13661},{'a':-18396, "300.343":245, "9999-12-31 23:59:59":null, 'say':-15151, "2024-08-03 13:08:30":9411, "2024-07-01":32767, "1":18826},{"20240803":2147483647, 'd':2147483647, "1":264786601, 'been':-1390729144, 'had':32679, "2024-08-03 13:08:30":147483648, "2024-07-01":32679, 'h':-1023516081},{"2024-07-01":2147483647, 'you''re':null, "300.343":2147483647, 'he''s':0, "9999-12-31 23:59:59":262214448, 'this':1422330149, "1":-2136823953, "0":0, "20240803":null},{null:20240803, 'have':null, 'i':null, 'look':3571047957231610210, "2024-07-01":20240803, 'say':21988, "300.343":-4501637375147382792, "0":245},{"20240803":20240803, 'would':-5205835549111545059, "300.343":20240803, "1":8826959660772179648, "2024-08-03 13:08:30":6, "0":20240803, 'her':20240803, "9999-12-31 23:59:59":300.343},{'be':-2245278851831550081, "0":-5003318, "2024-07-01":32679, "9999-12-31 23:59:59":null, 'p':null, 'good':9223372036854775807, "1":245, 'if':0, "20240803":32679},{'i':-1231343388, "0":0, "2024-07-01":147483648, 'when':245, null:-9223372036854775808, 'tell':9223372036854775807, "1":1, 'm':9223372036854775807},{'d':19.441626, 'x':null, null:null, "1":100.02, 'e':75.539406, "0":100.02, 'l':34.422733, "20240803":59.080486, 'for':69.66338},{"2024-07-01":33.55512, "1":100.02, null:99.27047, 'h':100.02, "2024-08-03 13:08:30":80.80711, 300.343:59.1716, "0":76.53941},{null:64.47670869297887, "1":null, 'didn''t':90.18341838098436, "9999-12-31 23:59:59":27.066483985730972, 'hey':13.120516012684421, 'h':19.52555411957095, 'he':10.190023660844863, 'y':40.123, 'e':null, "20240803":40.123},{"1":40.26631649757977, 'l':56.81840580800681, 300.343:300.343, 'y':20.97621647000882, "9999-12-31 23:59:59":78.40591785966994, 'one':100.02, 'i':93.87666798001989},{'p':75.1048, 'v':64.0876, null:100.02, 'e':84.1775, 'all':64.0739, "2024-08-03 13:08:30":31.0898, 'j':41.1794},{"2024-07-01":94.0429, "0":36.0668, "1":40.123, 'as':null, null:55.0186, "2024-08-03 13:08:30":25.0684, 'your':13.1901},{'r':40.123, null:31.1426, 'and':null, "20240803":65.0822, "1":27.0294, "9999-12-31 23:59:59":null, "300.343":10.1259},{'okay':null, 'j':40.123, 'k':13.0589, 'come':null, "1":91.0753, "2024-08-03 13:08:30":15.0612, 'a':100.02, 'z':40.123},{'2018-06-05':true, '2006-03-10 07:24:13':true, "2014-08-12":false, "9999-12-31":true, "2024-08-03 13:08:30":true, "2024-06-30 12:01:02":null, "9999-12-31 23:59:59":false, null:false},{'2014-07-22 16:36:30':null, '2006-01-07 21:38:49':null, "9999-12-31":null, '2007-01-22':true, "2023-01-15 08:32:59":null, "2024-08-03 13:08:30":true, "2024-06-30 12:01:02":false, '2003-02-12':true, '2008-11-06':false},{'2005-05-13 08:58:17':127, '2004-03-05 22:33:11':-54, '2019-04-25 00:10:00':4, '2012-10-16':1, "9999-12-31":null, null:103, '2007-03-08':8},{'2010-02-09':1, null:1, '2009-12-23':127, "2024-07-01":40, "2023-01-15 08:32:59":52, "9999-12-31 23:59:59":0, '2018-11-28 11:15:58':0, "2014-08-12":40, "9999-12-31":1},{'2007-08-25 22:08:19':28156, "2024-08-03 13:08:30":8516, "2023-01-15 08:32:59":20469, "9999-12-31":32767, '2010-10-08 12:56:40':24542, "2024-06-30 12:01:02":0, '2017-10-06 08:06:07':4968, null:-12722},{"2014-08-12":null, "2024-07-01":-23194, '2008-09-03 07:18:56':-8232, '2001-09-04 03:18:19':null, '2009-06-19':-31150, "2023-01-15 08:32:59":null, "2024-08-03 13:08:30":-32768, '2018-01-19':-16825, '2013-07-26':-32768},{"2014-08-12":null, "2023-01-15 08:32:59":32679, "9999-12-31 23:59:59":32679, '2017-02-17 08:22:06':-2147483648, "2024-06-30 12:01:02":0, "2024-07-01":147483648, '2003-11-06 21:12:54':2147483647},{"2024-06-30 12:01:02":147483648, "2014-08-12":2147483647, "2023-01-15 08:32:59":-2147483648, '2019-07-27 02:33:53':147483648, '2010-01-17 22:51:23':898407014, '2011-09-05 08:30:27':-2147483648, "2024-07-01":-2147483648, '2008-10-09 12:19:25':1380909279},{"2024-06-30 12:01:02":245, "2023-01-15 08:32:59":20240803, "2024-08-03 13:08:30":null, '2004-02-09 10:36:55':null, "9999-12-31 23:59:59":32679, "2024-07-01":300.343, null:-287318, "2014-08-12":8, '2019-06-16':147483648},{"2024-07-01":147483648, "9999-12-31":300.343, "2014-08-12":3, "9999-12-31 23:59:59":-2186, '2000-04-08 18:20:05':null, '2002-01-21':9093119925080825000, '2002-05-11 16:18:36':20240803, '2015-02-25':1},{"2024-06-30 12:01:02":-1693760531, '2001-12-23':32679, '2016-08-03':3743395342998614939, "2023-01-15 08:32:59":1893042116, "2014-08-12":9223372036854775807, null:1, "9999-12-31 23:59:59":7668553, "2024-07-01":-9223372036854775808},{'2013-11-14 09:44:55':32679, "2014-08-12":245, "2024-06-30 12:01:02":245, '2016-02-08 05:35:41':245, '2002-06-22':147483648, null:1, '2000-10-18 08:25:04':245, "2023-01-15 08:32:59":1, "2024-07-01":969645558},{"2024-07-01":32.51587, '2009-11-03':52.075024, null:300.343, "2024-06-30 12:01:02":55.5269, '2018-03-01':null, '2013-08-16':20.664892, '2019-02-03':2.6745162, '2006-05-25':29.91568},{'2009-10-16':41.858635, "2014-08-12":57.08689, "2023-01-15 08:32:59":95.993614, '2007-10-03 00:24:39':56.685925, "9999-12-31":null, "9999-12-31 23:59:59":85.28229, '2000-04-05':100.02, "2024-07-01":12.884939},{"9999-12-31":300.343, "2024-06-30 12:01:02":100.02, "2024-08-03 13:08:30":null, null:40.123, "2023-01-15 08:32:59":53.96754059833494, "2024-07-01":76.29902085777638, '2000-10-15':77.71393653585235},{"9999-12-31":null, null:39.274848731643864, "2024-07-01":100.02, "2023-01-15 08:32:59":54.92394604110353, '2019-11-27 19:23:37':40.123, '2013-05-16 05:25:40':20.09557277421353, "9999-12-31 23:59:59":null},{"2024-08-03 13:08:30":null, "9999-12-31 23:59:59":48.1443, '2010-04-23':null, '2006-12-27':300.343, '2004-04-28 06:25:47':44.0793, '2010-12-02':100.02, '2016-06-16':63.1605, '2007-05-28 00:59:15':7.1932},{"2014-08-12":86.0497, '2006-01-07 11:35:29':null, '2008-03-07 16:20:17':300.343, "9999-12-31":2.1737, '2013-06-01':8.0692, '2008-12-02 01:40:43':40.123, '2001-10-14':86.1770, "2024-06-30 12:01:02":100.02},{"2024-07-01":300.343, '2009-07-01 02:01:15':99.1765, '2008-10-16':90.1206, '2015-09-11':69.1247, "9999-12-31 23:59:59":100.02, '2006-01-04':300.343, "2024-08-03 13:08:30":300.343, "2023-01-15 08:32:59":null},{"2024-07-01":99.1235, null:50.0129, '2002-01-16':63.1812, '2002-07-19':null, '2012-07-26 20:04:30':null, "2024-06-30 12:01:02":40.123, "9999-12-31 23:59:59":40.123},{"9999-12-31":82.0999, "2023-01-15 08:32:59":40.123, "2014-08-12":null, "2024-06-30 12:01:02":40.123, '2015-09-14':null, '2015-07-12':89.1253, '2000-07-23 13:25:25':300.343, null:100.02},{'2005-07-04 21:42:43':100.02, '2013-06-15 10:32:34':null, "2024-08-03 13:08:30":87.1987, '2003-06-15':47.0221, "9999-12-31 23:59:59":19.0412, null:87.1682, "9999-12-31":null, "2024-07-01":300.343, '2007-02-02 11:49:39':null, '2002-12-03':66.1530},{"2023-01-15 08:32:59":79.1009, null:300.343, '2002-09-10':98.1773, "2024-07-01":25.0531, '2000-09-15':76.0338, '2004-01-08':24.1285, '2006-09-01 22:29:04':300.343, '2003-02-27':40.123, "2024-06-30 12:01:02":79.1312},{null:300.343, "2014-08-12":40.123, "9999-12-31":null, "9999-12-31 23:59:59":40.123, '2004-12-15':null, '2006-12-16 21:16:38':30.1534, "2024-06-30 12:01:02":null, '2003-02-19 22:35:17':100.02, '2015-07-08':40.123},struct( true,-8,-21112,-1163055631,null,-4442244564800435310,74.22379,300.343,300.343,100.02,40.123,53.0814,100.02,84.0762,null ),struct( null,127,245,1740588512,1,3727112845366959133,null,53.75410566477619,34.1136,73.1338,44.1718,300.343,74.0686,null,83.0279 ),struct( null,43,-32768,840397337,1,1,null,40.123,null,73.1397,null,87.0051,null,69.1191,96.1386 ),struct( null,99,0,147483648,-13875,-5337225,100.02,25.22619024222703,27.1226,15.0504,50.1521,100.02,61.0243,50.0011,81.1424 ),struct( false,66,-9467,null,147483648,-6393956,20.568308,27.814857871195606,null,40.123,22.1631,40.123,54.0195,21.0385,300.343 ),struct( true,null,22299,2100038713,20240803,1,94.15052,53.59886463318674,22.1396,92.1944,40.123,null,300.343,null,16.1395 ),'{ "c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_datetime":{"c_map_datetime_1":"2005-06-20 16:43:38", "c_map_datetime_2":"2007-04-14 05:35:35", "c_map_datetime_3":"2010-01-19 14:18:28", "c_map_datetime_4":"2006-11-24 19:24:12", "c_map_datetime_5":"2003-05-22 15:31:39", "c_map_datetime_6":"2004-01-23 07:21:46", "c_map_datetime_7":"2013-04-18 12:53:49", "c_map_datetime_8":"2003-07-05 13:53:46", "c_map_datetime_9":"2010-04-07 00:58:14", "c_map_datetime_10":"2017-03-21 19:58:41"},"c_char":"nmpzCWWwaZ","c_array_smallint":[-15405, -7620, 16630, -17369, -15945, 32674, 20078, -28498, 27983, 26513, -8514, 26487, 28149, -31206, 3213, -4073, -24703, -17998, 1949, -2166, -2637, -24196, -25206, -18128, -11621],"c_array_double":[18.29259550269999, 66.88225650605133, 60.71067654117367, 80.94719915571999, 26.601811669721194, 14.949537804711508, 10.527674599725826, 47.50864032612407, 64.55452219619883, 6.01930146084823, 100.40751900382996, 15.177251897306967, 13.251100339877066, 56.17193197177993, 52.94309261650015, 61.386205097315155, 14.584777620568095, 39.56314770306651, 41.41720891722043, 78.24343673104835, 54.49123901639505, 45.09882216980643, 15.164066195098403, 65.81833595017572, 38.5614707100665],"c_map_date":{"c_map_date_1":"2014-09-21", "c_map_date_2":"2010-11-06", "c_map_date_3":"2016-02-24", "c_map_date_4":"2013-03-24", "c_map_date_5":"2002-03-07", "c_map_date_6":"2016-12-07", "c_map_date_7":"2015-03-08", "c_map_date_8":"2007-01-18", "c_map_date_9":"2005-04-03", "c_map_date_10":"2009-09-27"},"c_smallint":19012,"c_largeint":-8064823271171557828,"c_array_largeint":[2603466717118694218, 6903899288235365192, 3432572767168904375, 5303735483211708433, 1241584458049912587, -6912721889515310200, -6969448871875190387, 8693646152831254232, 5640625923122365447, -5325075801312298066, 4440510007109398772, 3936601109976318362, -242933598277802050, -2909228216275831776, 5873170236715700599, -8334616146542360335, -7126462655129219084, 7061840992354480108, 1853229985064495097, -7122493794492203731, -7516722044840993560, 7749283524949546238, 2119629999483675584, -218237137672577792, 6416828342676827418],"c_array_varchar":["UfUiFtRPSaYPRoCnGIUhbntQUTTRCnLVRcuOGYauQTGcXIzgmtRNSQRzRpXCMHoeLNJaRlGaICnlqdQHjLFzrfjEZcIQGhUebUUKlbAyxYhZmLCiaEJJNpdQtcVLeNASzHuPsfpQpyksrsSdHmZomnULvNqeKawjwxJRGWYwIxfnlhXNZxeNBXgUBpebEdGLGvmpYGDwEBKOYfsIYIKyFeCMszJvsNUvCcGDPRJkOBdKXwjzSMWVqpHUReTuDiJT", "gyqwqRRBkqvbGUtcclFoxUgxkcafcjJMKTwPbVCnYcjuWOnxOyUYUCCcWfrAPEemUtFsctCvQDDvJzQljYEpueBYOrzDIXCszXIJuHLHLrVKxcjoqylnMJBuZOgNwiNeEyFPQHFKjucqqFCNoTKFfGzzsuQUIAXhNqQHfyEKEHjhRWoDxHgivxUIPwfxeyIUoZVAiHjDgmKfQfUIOQRwEfNVAAmcyFYOKtDIgVnXMXsKEijBSDsytYLfYCTkgHjj", "NUOUhCWVPQXdTcomPErjlNDccApdGsDoVTGbKEZQOHvidDxMhGBvuYsFTLMCzfDKmGaPtKqrPuGAajTdGfBbQUfjwSoIwKuSQwCzqXFctLAqoigikTutZNlCoDAhxfGabWrKgQeRQRnZirIlVKaJHmGLlxxweBrIqgpDzIKabcWwkwPIXVGhDDSlVoWwJyuoYDDQUycuJTLpENPvIkhmAZlPfElEYGJccTCCsyUsoLakYswDrmFvmJinbAoQxvMq", "ToWJWOSeZRuTCkojOhdKfijrOVCjOgXvPyzLfWwvEFHAjGeIVtfGaJoVZWKoOIQYQnHkxdRvOwxzvQRNDDRLLIEccQpRqhGQjwmJsbExrIlytGaxakqqRAHPPLAePGnnLzaIiFXJpBrKfzTphXvBvkUwSwQXlNWmVjPLsbPGTjkpZrItycylRUPMZollyGOkEtxoRJXKEQybwwCcOBWZSRqkMxkkTTcrDcZVQhJHtTWKoyvyMdxoCgNXSXXyTUtH", "qCGgAIHYlpmpfFrdjtkTvdrsZpowYByuTIvImDaNwkBPGdzfPtMmZWdOVRnoWEqNgPDuBnNAgtWlGpywQgHbDRXBmdnqFNJONLBGaiertKgOMfxRpkSErVlBsiFvFcYxkrneLDPZYGEOJWZjdktwDUVuOTwkOFEzRwjAZYtEKAyvEPNYHdozyribTlYQjGwfNovXRVyfEuPpXjbstjqyuMjNSvcscxKjCdYFbtFexsLMOYPKVUzEgNkPzbQJKiRH", "OfPVbDzDwSfwNpzcEChWWxAdOHuCSYXJWbvQRVfQsUgJFBwnsHnYQoomzqZJBdQRBBjrRcRKcjDFURmHNMjQrEnxaakvSAHDyOPDJEhElvLVTZBQorwjBDhgPWleddgFjcEAKqVNnwbFICLwTbBUjlPgDbdjArgblfNRJZTEvHhKBkkyNRkWbHrOjZDQxIENTJQkJaVsDzeDHmLIPDmIjveCRYpaVTvFshMerMTOjEfjWXtLvOMjCXnKNBIYNvIe", "HPTNYNCSDvOTVBMsBhZNdpskdYjKhbkOnIePJWqwuspGXVLsiQIIHYauTkvLvhfCBAraCceGaLftFXBBiQrygJaSfkXCgiPssnDMDxMoBBNMtkMNjiwKnhlHFGBUbyZXnswTvfREFTMmuOAXJdqUmNUIkWejbvgWFpSdIABQIBzTsDtMcIuryuqsyxZbwfukGdhfLUZxqQVZyJahPRpXhwpONlfIASwpLfcQdrknVfIOSzYYYqJxbSewDbUOZmAp", "QKvREipufgyVJReukqTwfqdZykBAhcsbVLuzGeoPtAYoHjSGwVqVPfwsmOGmzqrSEhSNPjTaxKxZdpuuZwzNybrNQiUWyqeIvqzNcZSplGVunzcUFOywuxPywTCdQnqSdLToGyUAnvxauQqgCgkVPKzLvhQlTaWLguymhOZRfstIWUZlJAwhAcNigzkuicwVcNkHOCxmQXhwYPRzUDyDQphJbmAwKslaiNCIptIkvhzfHUBXIVWRgLLxDrvHIXHm", "wTcQuCTOOhkDveGZAqiuAHiOlmHhpUqXuokxSHVJBegKwtXzDzNcvZpisoKKYMuQRsVUogZJSWupURyiJIhupRZlqLjxFzszZBXSbLvVmKmUSnfwFimwrXdbGfxgSbhfPHOoCgivaTAQOTwghcdKwZBruWQvMTAYsTRUhNpjGxcvroNRLVNDLFCGmsEbKuhiYyosoeNPPypkLipWTOlphMRbGKKaRvraxhbxdReotzOfmoRACHHHGhKMSlzwhOmy", "nhxZCfBeMOrWzujRTKohDKaiHTxAXoAcPqMgdJZqCYVXzaHOUUiLCpOkPjBJLdOYTeYChVmyuTWULInrZsipFoEEejblGZtwJtasCKFCYnKnzZoXSCbQsOPsURZnmxKLsASAySMiGmgrHndtpuOwlxLhUuYObbcmkCIEVCkLqoYaVLKIMQASLXUeevJLUAaIepRwBgTyznVVtboKnxIprLUgblkbmruVmgXLGquJpAufGDSAMtkICQUPBOvkIuKs", "jwnhnbZmaUpyCIuCnSUCqYRCuQeHagqGBQyvQIUyssjFGmKzwXxYPsZcKmVZNNzuUZZmymcIpcumcYDnbpLBQbFJpBSsHkHjDwmhGjMZJupocBCzxqNuGNUtDcXqDXiABOSXaFaKfxzeCkPmUrCgJCzNVvRMQZSoUZKBZXeRakdXrfAchzZonAfYkuyyfrDdUbsmtBRpLOpGVmRAQtyKbjVKeOAGLjmVaqWdCdTNjtlFHekSJnlOomjyKZgxaZtm", "yGDiWaJVSTKiokogzleZykMOnuxjaTLFwMsqRfiPIprpyIWghXwhHsZacKRYSZUwgDqwyRsVpCiHECUoYTmhKwiHvDFgTANyWpxRaSKpLcwnQeIyoapxBsmlZWIyzYLWfikBRXGRKqLeCxAfYnChRGDNtzvpZlZIGjRAlsAAHbLJpiIHzEjepPcKcepbQCTQfTTMAVyEKENyVQQGQOpGbUZDJqvsYgOgoSmMGBlEcpjFueRNUkcPmZKwmdYZlBPD", "fJFNnokkBWQVdiTnlLmiukdJazxHtcgPTEgWozOYBqiEPynJdYfvHKQBeRhQDhguuPTaiFTYIpDVuqYzBbEzESeNcPxAHArrFtDzeyndqXasfboYLjBSzMXWiyoDxhnqGsyUhAqKgMqcIeuLrVlRpukcbUSjzfINoiYVeskBDQDingfncSsdvcYwJqeEaWPUwJvXpTxxpjCcjbGqxuTIcRmrjDZCxqudOFCbQimeQREDctlgNGDYJXNKoyrwYRJv", "YHgIWeHPegPUsgmGgIXZNitlAqBWPcAlXzPPCpzMigDQHYqbVcDaYtXEjmHdVhDXuELWlkQvuxuJmNtocBKeygWCPKDoyncLHGalpDJpLnxCVwnkgzjTxVJrnMhKouytcDIMoXcvBKahqWVEdYCNuvRVxChPzItBFuuJIAqcuRdIBAUWJLKmByPpMzYsTWeSyDqvFcAFRorvNpzftDQFiIMxwJqXrUjZwfRVSUcBMCAlGGAbJGXtygQLUexOEeGw", "lSwBMQRipLrerVOPauJgAQUBNgcCYKOQJaSwIgYNcgELSoADgtnJXgnXVdMzRMdYRZomImrMNabRZLAttUqZXLtYNFSZysNwbiQEMNuZFcuPKiAtAZabNbxsZmTaSmnmCXBlokyDBIJlzLuaYJUGohrcpoOsriqSXwzSxCiPQYLVjXVWPmuplOCJZYodgEJEGccCgchAwsxINwCNQsJGoXJdALyTNnEGskbuwETzwPFyLNMvhUExceMrHgnIjOAQ", "TQpwNLFmCScaBghqakPlWzhtLVVTNijDIPIjAnwLPoFzdsfiEmgJmyJZnhrZqSYEVwxfbTMzOurQncJFrJLpYKBIxLEOEVIrProeVkYcksINFPDReoaWFJkXqClIkbVoYlTQBwigwcLfllnFGemLcGRmInZMvQwSBBHAfzHfMVNkemVVpdVQxNhRLQZdOvYWQBJUKzYHkQFhuhhgIxtPqVfKWbCkAUKhdNQljXLYAZFPGmSwtIReqjTTmCsuotOA", "jgDgmKaWvThvvsmYduTDTnNRHOMebpVXJmzRmUMHGzYRvCWdVWlVefxESksjrWwpjvNiBPOhCATZUeEbsvxCxlNiAoKVqJAYAzHsaFbVDLqvnEyrpaVBnjFEHVjjMyWzcRGkmRKSeDAdTYToifYdodmMYmyycfMKeCjCqQmfywrTyFGUxhLBwTBSNnTYeEQDBYbBmGVMlwanQLJJfSjUUINhrOwLJOBpQUgjqLpQNlyfiociRBIXvELxveJYypTi", "ZcdYUfvqlJXrvYmmLmRzCKnMoZXpsDhtRjzWwAuweIvGrqWEtisWyGbIKSPKVpAsHKSEQCDscPnDNMsuUeAQBltuXXUHNjeNSYRVriHqHclzTDUckMNPHPBqVzjqOVJLePqytBThmKxtUMujySEWFPDJdtpdhqQGpILuMFJmzycYPVfvhIsJUmOOLIuiusyKOEPovgeaORvSCcsCwwSeaOldgXbaPsEeetpyuHlcBDgRVuYcnzqguGgHJDGsDaQB", "htDPoDZpbOQghPbxmSgOOtGLphjWPxkNmdaCxFhTGXKOdFfbaMAwUnmPEztWYisYnxlpfvTrciFhFRPXztgGsYoRoGjKpQPeEkwQNrtFETuBrzBsivkjniAgSeoLefjjYBBcLCrzJNmgSzaxwJIVyXfLoTichzrexuuihHMgBtAAnTeAcPMhgVpyigPUdXVfVdLWxRslnkRJLIyYnEGTZkEqfYGtujakrryJmtuAPlienPGvDDfGgirZxDSGecAH", "gbmqrmUShFlkwUPreBPkuOQbjCwdlORboROJaDUVOzwlYYbjWjMuzsPhgRYyKocYSqNYeoJtimnoYCWcBRPSOCwRlzRDoPXJMwAMFTrbRHiOCYZyxRAzjVZznQQltVqYJkolmCGUhnpcblCxSzCyTGhYYEKCKomvfifODYmaWkRIogQPjMbbYQwOgEtBLaLUteisSCGvyqaQEOdUphGMvikAOBMgckJUiYeueiIsWyMZDHuzKXAiFZUhqodEtITT", "mRHGzuzhMpIkeyqGUBvBJWLYIfsOJLHoKJQpfGKhdTQwDJCiOOEFFNGUOEbHOOcOZYAtLixkVbTbYuSbgVjAaIiPdoMtKoCeDvmVJIoXnoTiKrcLXXOfuTMAVehPLxsTJGJtKwxbWPpbErqXRFXShPuLEduvyCXaOzmmIOEBZKfBdQfioXMgbZuoOciBLBiDISWfpNTjAvCxmYJbCVCKESOpzoUxyezSvVZnsiHZPVERhjRMKObQOnGgcEQpVkCh", "ZtMPWkdqMGjzjlQdMpTPSjqFGFcSrefKbUOcuWoMfNrjhLTLsDMaQqzjSysJhVXhKsGskFcYwBMwgPRauxdpyeqLdkvKAZhqedLqnlMjZoVONaMZLoXYtpdHIvJxxxlNJhxXwQZRLDwELGLMfBAKcgzWcBNIMoXcjjBQNvNRtjPijhNrUvdgANSRVWMXdqSzGcdMtXhOnYgCjmcuJxdvMwALoXLPnSsuCSoqErcmAeMKwQLamhdxRHcEzlNUlQwY", "EKsmpmrxQmowoLCciVNpcKLWsxerwuIvaBIZydnxwkKkHbREFOHfoFEbfVtfMnKynpOxGvcuRWVjMehWpooTGTARCZzoQxlsUMoQaHLHBBSXGPldwVvBwUdFfGHnIJKPaCpjNzLEzzYvOatWYyZWZwFiDrycrpXGqTxVjJlNwRcvKQSVaYmwWREBSsKZFMASMsktvpvvZzFtiqysqKjkDoWDxtBMOPZpnEuyRzIHFqttRSxkYmuyMLWlywcqnJBN", "EOVESbNTyMzThHUmBXKFdkMzPtKufKkOrIplWwsxoVqslHvbpgxWzkkhZxaetLVySKcrvzQqokkCDGBhcRBBOhdZhPIctCAdGzXyKlImUxwyQxlWaYaOETOCxnXfTAvufwdPwHRCPFNGyQMusahGxhvUqvEEdSYdOsKmiNTGRCwxfBoWXHtjhJOJRWrehbPWPiWcYCXnlQKvSuRWjKzmyPWgjnJAZTlIaiHgBgdkXrhRfLrVWrqagOFGDQjvViXh", "AXzNIqchTUZefuceDxqgBzyvvhJvUWUVXlXasJdHCsturkPXMmTMrQDaxuKYMDjiAozQeZYKhLAUJLUqtNJhLTBIzuvcJBPJOzQROBRUILjgdLrGfmvPXKxVYCvrNatGvqaJdPpAEVfRMDhunVeOaMCqgOfpiLqljMrERDBpgCofLsdtcLfcUxMEPxAYrHthDPsofDLbGAObiEJkzlSgEsreokHefLVCQuPQHdBaJGQmnziqYZfHsRzgzxpaJUnV"],"c_array_ipv6":["SzjbETxlKv", "ayAtCtUaeq", "gZzeGYRWEh", "dOkobagGbh", "hTeSmbxKrH", "mAMpGYGVmR", "sjeqrcriqt", "UdUtDPEoth", "iDlXxPOjNn", "QRKkJVWzSM", "FDWclHGGfh", "DRGWgviUlW", "hMQnWdZKoN", "dnhCtpEUXS", "nDZYEkXjnM", "zleFRhmXoR", "homAFeJNIG", "fFADcJQtfa", "NcLgwxnwUO", "TrdKdtxkBh", "lYOfHEzmuI", "QIDgGyrETq", "ybZnwfvZRB", "dChqfxrxgc", "cJPlZAqMoD"],"c_map_decimal":{"c_map_decimal_1":40.1492, "c_map_decimal_2":3.0092, "c_map_decimal_3":11.1813, "c_map_decimal_4":97.0607, "c_map_decimal_5":21.0246, "c_map_decimal_6":28.0182, "c_map_decimal_7":61.0964, "c_map_decimal_8":96.1208, "c_map_decimal_9":79.0880, "c_map_decimal_10":74.1954},"c_tinyint":-48,"c_bigint":-6749392893175766207,"c_array_bigint":[6452234193717789338, -7511094627181443229, 1088878990531592006, 7935553554920959856, -929290749868992496, -5057688446189252702, 8657529449539748559, 5646097971407887552, 800332443832002351, 8994746879878623570, 461389708584748039, 7183527107612911594, 7247802805873826080, 1064261418873121377, -8977666655926212312, -5997722326303531250, 2885262039577528233, 6942871703577313145, 4559983970457610595, 2250347910162992148, -1413107926166189217, 7526180213569300663, -7464696683735898387, -6471319924966226670, -1883678704050003029],"c_array_char":["kfCSZCQyvQ", "IZRsRyDaoP", "OuzesHrFlb", "dQkGRQAehQ", "leJPKxTrzC", "wJXeRvAZhE", "XvMiGoWanU", "ZHhkliZUos", "YfyokFLIRO", "ygHiSVDaXd", "ggZdQSuNkF", "niNsBsfuoO", "payQyzySnN", "yOIKlcYoaO", "LpBPnuTatG", "oOkgbjGsJP", "ioDbAyFnwG", "gUnvKcFEPM", "auucFHhZsp", "osbObdmgHg", "DjUCPWKcIC", "hdSzqkBoDS", "cDOhMskASG", "copTsskQUV", "wpIqrfuLWs"],"c_map_smallint":{"c_map_smallint_1":-8069, "c_map_smallint_2":20317, "c_map_smallint_3":-26227, "c_map_smallint_4":16637, "c_map_smallint_5":8159, "c_map_smallint_6":14412, "c_map_smallint_7":-28626, "c_map_smallint_8":-31655, "c_map_smallint_9":-1875, "c_map_smallint_10":-27727},"c_map_largeint":{"c_map_largeint_1":-3399699119978205691, "c_map_largeint_2":-8802697095730254541, "c_map_largeint_3":-4167972068358743088, "c_map_largeint_4":-5542900913810048348, "c_map_largeint_5":8667745052188988480, "c_map_largeint_6":3829453658626599937, "c_map_largeint_7":-3581617185878571536, "c_map_largeint_8":-5297690990248137214, "c_map_largeint_9":-5787480914774097341, "c_map_largeint_10":4739108522305936544},"c_float":64.42796,"c_array_int":[-1858479623, -785891922, -697466959, -1817143284, -1817005381, -1016573998, -575163051, -1395149889, -705768990, 2068537304, 187651151, -826216630, 388203410, 317249162, 918730632, -787792977, 1827261683, -96792278, -1290900884, -720577822, 1525064210, 2096863611, 188226793, 1505519543, -747822996],"c_ipv4":"211.194.132.118","c_array_float":[12.88918, 77.42341, 45.22914, 85.232025, 79.3313, 78.84819, 18.888735, 2.5598092, 13.007636, 75.850685, 30.084074, 28.623734, 80.66358, 17.79049, 89.63788, 37.47494, 70.06782, 98.449295, 56.328266, 94.57566, 25.319227, 6.2787457, 0.7902448, 53.109222, 28.079552],"c_array_datetime":["2010-10-12 22:16:04", "2013-08-04 08:58:29", "2006-07-22 15:05:03", "2002-10-03 19:32:51", "2009-05-27 13:29:49", "2005-08-09 19:44:15", "2005-10-08 12:44:54", "2016-12-25 12:29:18", "2000-11-15 07:56:50", "2017-02-12 21:02:43", "2007-12-02 08:55:37", "2009-07-07 15:19:22", "2019-12-17 13:09:49", "2019-04-09 11:02:53", "2003-03-20 01:17:28", "2003-09-01 03:52:00", "2018-05-25 21:38:37", "2010-12-22 09:19:06", "2000-01-04 19:45:34", "2007-04-24 20:45:34", "2009-03-17 08:35:11", "2011-10-12 16:45:51", "2003-03-22 19:52:23", "2004-06-20 22:01:10", "2012-02-10 18:47:03"],"c_map_tinyint":{"c_map_tinyint_1":120, "c_map_tinyint_2":63, "c_map_tinyint_3":126, "c_map_tinyint_4":118, "c_map_tinyint_5":-16, "c_map_tinyint_6":-4, "c_map_tinyint_7":71, "c_map_tinyint_8":94, "c_map_tinyint_9":31, "c_map_tinyint_10":-87},"c_map_double":{"c_map_double_1":53.44253641523095, "c_map_double_2":10.095446961547955, "c_map_double_3":6.910055292676426, "c_map_double_4":40.646201992105304, "c_map_double_5":14.776981472767432, "c_map_double_6":25.789239909639335, "c_map_double_7":38.72010249081914, "c_map_double_8":71.67391593155021, "c_map_double_9":3.4504781567131793, "c_map_double_10":77.35443696571039},"c_map_char":{"c_map_char_1":"seWqxdPiqX", "c_map_char_2":"DOghGWurUb", "c_map_char_3":"isjLFoKkpx", "c_map_char_4":"qdVKnXfclV", "c_map_char_5":"dLryqrsItY", "c_map_char_6":"vteNZVxNNI", "c_map_char_7":"EYBfxLlqzx", "c_map_char_8":"QTttIXJsuC", "c_map_char_9":"uKBSxZFqQk", "c_map_char_10":"kCWWuWfDPy"},"c_double":51.554788644985955,"c_date":"2015-05-01","c_map_string":{"c_map_string_1":"ENvBWnKrYqRAditBHhRIUbWBLdRLvVwvGCJIUNUSRBaoBJeNlFBuxKICUJpmSUaPRoAlnVUhYljjVpfIHKBXYduoIdegzRZGxkbQrLFrAiLPWMIRZHIsNrenhhCowcjAmbHZbiQaLHmbuIaayakJgtdnHUokjMkuvmiMstoSjGPhlKydOWPCFspLzSRbgOxHtcMetVCYiICBMXpAiQijFgDfFKCclldNJGsquuwLFAaquhJtEpPgiyVLmKwgGyDPUSPuhdCfwqQyxCijQknWnQPApiZtnAUpWhVSmeFRIAdrFWTbFAxGzvguoQNEfMJEYjWLwUgXEWaHRZcHzMrtXVyYlTAHZNsZkNxHFnsWgUKdiYANSbdmafCPXmUlTsTLbUeuxlirAfQNMrEZqtzjvZexgVsUGuGRVwbwPVDRDwftLOBFIqrozZtqVdKpqbADFEqwVMOddBeYUlltqjjniGtKBPqOoDDqMfYcisvMwWXdAdUzGxoRPsQPNYYwZJRF", "c_map_string_2":"BerduLSaBxTyFOvNfIGWTcKDXVAPIKiWDNGqPxXJAiwdKnJGHleNxOjUgAqWLUSsYNuPUqtUHoekJPeKtxcNmJJeWzXvFYlfsbRXSwjEBalvXjyxtbCqOOjldmjwjpSpGTmyhZCrRHyBmlOZhCmOIXmUeExwOLosyGGKFLhKjpOsyRsBPMJRdrtevlZZMGWDXBgjIWcsvuTpJhXxAxWRUXsdulTYHaBMeLHznhfOURvvEykZgcmYKHqzOaNryoQtSxtBtPgiCVWPweHxvvUbxoSrfpablZCcsimFwcPkavQWiPsNMmtzykhzxQUBsAcejyXYpGaTFUsGhTvYqHDxEVtvxMDYOFmuwMFkUewZVlwgxrjyyNjkQqPEONtgdVuSXjXpASyHqfxBiivEcSUBGzSdclhZJglJLLmeopHcdqXTskgYrpFUxdmdDDFYMlwiYsaJuOoyhWWmRLlZzfNMEvwglAHrjvskNiLvPGHSrmKgcOsdKZHPFdQsbVSjtcQr", "c_map_string_3":"kiWQUTgXirdVmPKrKEmLewKNVSPJdjyxQjkQsoEyltUKNwYDPXxSoFTAzhdJENiiYCFJYiMFwlTeWklfCcKYKGzYoJrOKLROMZOsomJdAXiHZkvQITyAFxQzDFNvjViNniiYtkrjOALsRwMjZmYSbbiXZDbTnUONzexFInnYTbnjiTvJfkQmxKqcTkjdovOirQTvKlHawkJcfoSvIIYffikejZgyKsfxOVBAQgCpqKotEpCmVZGZQCIozKJxDIWTxdfiAtxPoUILiInSAfUONgjeuTPchilNCBgGplWUOUPiJnsAvApkvlnapqKvjkgrAAVUHrhIkjdyoKVfXidZOrecQEBajaFdQvqwmBAFinpooCAMsHLqYqYVRALDwdaBqPDjMnaeHbwURsVDYQonyjjRcEaFjSgpNxBnaSLvgxyIBcTrmoCkpDiQmCrwRxcIAlTagsLPcRBHTEMUeaJpWcFIKnSdwJXvPKWvdXZXfosEDpZUqwvruTRZiJQwSamt", "c_map_string_4":"fLumRViNAiaEFKvIQKAbHbpmoecuOzhPxRCxQxloRhPHzgCwtacahNWVaxEuiKLccPSdfpjfhDFtiqsWSyeMfzcwVFdRbAIuvBgjbSCmZcixOKuKoYnKOLMXYfQePHNdMlREmwubDoSRXbqBZexwSoXGbbcYbzeoIcNrOYEzFQEJgwQNuDFndErThtKyBmomwGYPjjtzyrBuaBXGydcPQwuKtYusrwUBMTZGeBxszdAlWLaxARspmEZeRcRPuTlUqQAryyRumpYKqhQqtpyCeNzLzTAwQOeZxBUbZvYBnprFdlHXWPBllYjqjnVqWAzBQJFsjvoHLgxNFRhKFouHJsEOXggkJSjFfyhoiIEIyjBhBiaXqBeiOqnjdfvHsJtoTBgYWZSbaAlYuXoSrMCCSopmdMbDqVVprRaYBLezOwtHbHxaFTzvxOiTHTwfbVwNbfuMwkaYlNFeDpWMBqAAqfSpIYQeuBvLVlKSAtkmzrQpHJoZTEsUwvxSODIAFJrI", "c_map_string_5":"cAaQGsLOAJePwJvUBUqnwKfnCOakFeOlLdETBSlyxcztJdhkiyNhmQsETrKHLRqSSSwdJedUTLSgmSFwrfZMiVswvKAkXkLDNFNFFvELFRMKIyjncJzMDcAqggbcMGQfuazDNOSfowLmSOplsCCATrhxDDOXIMXqGizzapWeyFUWrDzRlXkSOoZSXnmDyMeBPThurDZUhGVspcLoAfOllotOLWdpBehqYgOJKzAAgJNOcachzsdfPeqHvPqDaKwTzkHFjGrvgmkFYHZAqODktfKeHmmCNoMZiLynMaLYpUZSTGxPupntglkxUDHNxYBvgIiGPsQTrMCrfFFxuKdOtHqJNtVbQFdnndeqiqVeXgRuHNKjEjeEEeNgOXWaCNpAXMfUKcFbyDWOZUvxofbPTGHDwBUujEGHROExEtjXxduJJtkEvVuxUkVjHkxGbinWclOBiZvLyZaPrPYmwWQKZJjqXmJVQcjqvmfyWEGjbWYfBHhKYmspcqMZDQLifWwF", "c_map_string_6":"NzOilNAmhxhAqxyfOxJMKQxTmnFIJToaXqLmIoxrEMzoJCHCqTeRIuAoOStSTkcrQHHtpSrRQNjVDZlkDWeqExjDLJqGcCHKizuoQkgNjpiaFcUDQiGLxCtcTAIkDHexMFEwoOjFKJBzIeblpDflubNbEbVRCICiiTOZuPVtvwYZJaYlJvaQSYsvVsyTbbbsdWTqtJFcPDJmuGfCGuUKkUqxCGDKLXDbKoDsLocWHiOBnXUZpQLphMwRSkTHOTGcaGWYYnWAoRuPHKlZiThEdQqxLKfHmzQsSkgYhJJiMHnrMUwoOSKytnHJCwYVQHaGVQVLVvQvAzuIpXTCaUIxVAfxYGFywsDsKkoJPdAgckzLMjkLUkYXnWSSgTRzcKuzTfNOXQULjqszRQqGkXWgnVkQBIJdVkEUfuJtmfyNeFUGPElJMwqAELFDqSbxEeTkwCWOPcUhDcmVegvXulDXfWiEUIAdeJDevKOXcFPHnNrceeXNKGEsHpQNyxKYvHjZ", "c_map_string_7":"mKbZTqUmbJxCXmLfbMXpvMGULYxmPGDkIbaORWPVZzVTpUphHlIenwJXeYlPPWgGPsTRbAErAKpryBPywdpuUTAEjBuVzixEjlTXbOsEgAFFatEEmujOyvffTPVjPGimdYNptTqTYzeQcVzuclqENTKPykmYvqPeCXqezbrZWktmaXNsfoAmVMWNFleGoUpNiASMIDgtlOXxsZKPITwvjzhNjLGlyEyxMYuCcaIQQeklAVFRhgbMnVTnDHSitDSauEFJdJZOEvHWLpgeTYAkcxrIGBfROZwdBVWHyxDxCPtuPqmVbIZfvPHmgKtJKBtZbXFLnTBPDdOTNMISGzcTqQqijinNHXEaZCJOSlcLlrBUAPzqYymaRHPQHKcYAoDgkPiNGmzBEBeUIMLuaieJZIudMgtXoBduLypCfsnRVFITxJuKviTLdcPuafiTyCYpHvslKkcqamYHlKhrBlbERDdPxWGEQZGSOyqVHhoucEXTUpdSDMwDJAsSsbhoPLHe", "c_map_string_8":"IGWCWIDQcyUqKIAgddEgxjqXzgnERHJgllgwjCChVuUjMxWHivNGSujikqYlHFZrVbqmusRjqZmRaFtQcwQZsEzRkbKDUIrFhfBIllgsrBoDGUGbHlIxgwcbocUtropVqxgTkoONtsWHRoKVjOaljKjRtVNTpbspMwbhUNOQNzzuKsxnssWpJydiNhVQnGoQECQGGbcVhwcGofAQKMBcSoHSAFIcpVLLYyIXabjJajiQdkZcSmAfbwuLjPUPOqWMeLMVyrDHjOPdqCxyzpnpWShDefpXULNjdMKHnCkFdcXRMWIWvBDqkEbKbxoyOejzKZBpzNjENiqqXEOCzpfMTFtypeyVRNkmDbvgrssirYKNHbIYeshNNTCwCnYhpdQtYanbUSCSHgglMwHsSWetQDplpAKGETVhUFDTinxzEXzXivCjmDMkkVEvItGMTESwiJYHctYCdNFIcmvnSSiYWNNTMqXzfweTFiVTEyGbeCBxrFUrqoseUJTRWRkjOVgG", "c_map_string_9":"hUwScFTYhXFoYGHaDDYdHiZTpSYqCylKBJOqqEIlYAeYSdzNEZWNwOvLMroxguxXfgBUDIwGcBAyrbwGuEqAKCuQzmBlfxNrBBeEjVOtxYCOyNGAPdSGiZJlxhgGXVsWResOccJGspQVthhMJofnMomXKzXcubrFrRRyOUOKZZctEPgLIubKGKfzbFJDPkgrBosaMODOxYXpBhchqPtbeRzLgCAlliJRYFHmEjYGPyTvoGCqCimmJmybxUoTEVVJRlAlxwQgOxPzQrOuKYJpLOXBSFoEyGibghjbikytnpllFlbZgCxyEwzdsnSssJhBRrowpDDHJzZuHMCeSbaXOGmyLVqsUZHeFSNKOeelzJrBCXWFrsLlZgbUfoOzQlwiZCXQdXdeYOZTIxlkErUAITjQjQQdDJpbcVnUoGamHBvSAckyEVbpfuXylJwBbMixnzgevdcBlHLbdFHPmYGgpJcWsugRFsUocaJshoFUlHpAbaDOakKwnpnKiSqdVIXV", "c_map_string_10":"MkpwVVQNDvFyjaEtWetDYnkmhBYOfKzCkIqBGBlZmlLSgrjKVsXdmMkqiRHMqegchtNsoXkowUzpaeJvqrODnHuVEktaaPRxIZoKlVpaIBBJulIphZfAbhiENFHKXoaokkvoTxFDOawFXgNEkYPRaJVasnRIxVitzbxtOOdnHMkqCuVTAPBrNzjuVQupAbOgwceQkFKPCbIJuwJTgBZkvgrhDTbPMFeWzwREOkdeQymVgSJBfcqVTKOiWdIQUQzzjKgicqUmuhIFtUzejIoxcAKwJJIpuAFNfQMsukMTqqGfmJwkjFsmbAayUOgLnxvskeDkdGkvyDHLdvUSPclWQqZHcyFSMPSsKjkKYcaNFRfSmvwvmffugLLVCbjzeRGVyjEedVJbcUjBaeyAfGurpOWIIeuHSHnmWTUJGuwbPtWWeUVPbTBPkgWjrUdWYRIsFchnITQDroAnEpJJBIPuPcUlXgoEvOiaOjbvXkpKhBREnDNeaHxeuYedvMqgMrmt"},"c_varchar":"really","c_datetime":"2016-12-23 06:26:58","c_array_string":["eMuYIIpOKfBNqKNPrUhwaEUaMLJnuKvxFywYcSTlMOyyKrRKnxnECLahoFlyoyymmucisknYGdVmBUtwDkPBDlwhTPmmdjUabUqPnNJNvLTyxSUmfFyOmxVoeoBmFjmONVMTjtlsFyzyIqrcKAXMAqNyRCCPQSlAmGLwfbbfphKWmrdUEDeWYpwBYqWIFDBjGKPQZMjTdNYffDEjOxdczzNMSngMKcgQEaKJifPWrNnrUnzCImyeoFxUcThFFyWbMQfsQVLqEBaxXVCHfhuMQDQyxSajHhOLofFPwUQEhOghAYuRvnPWjywyiYMHdDwkYgpfpueKNEGZcwEfYopIrCenVSvWumLaSxYGbnbgViTbLwjMMjooNoHRIonynTGmVcOvgkxbLFHygESvLwzOdjVEwpcTMZAwDLHazPYTjFIZnofgtltdOBrexpnsCUlXFkooSTtrDWUwUqjCSUCnqNnhIKWYWrhObJOarmUkHUzNnfevmnLbGIKyNgryNCVl", "NtJvsWQFQckTcGUROsoMgATRblbHkwqbxTkGsoKcLRzCYWjmCRNwGqjxzOwYHSAFpsUapjMvEBBmQeIwgLlkuZepmmEZRepfjhhXZkdZGsdjXHwomnOVjdNkjeoyZoCnHtCFBnQUwNPJTIjImwnZbtlbgucYmKfMOFjPHmWunAwJmvBvXjPGHbdvzWqSLzTQnuTTltffnlxccxVKUDctmXUhKWosGhFAZXiimRvrJiusnrlbOXNwPAofIaHhNZbbTNccevlArigaMMjVbbtLfmuzwhkdJeUOfURbFXCTnIFrIMgPpjGRuTDMwBMcwwYUlWIpMeYgpZqFxlZZgOovkmQOiIdxnpvXoyvpZoytfuhHidOjkrYvKWgHqYofycWAkmeSSqYKSOHTPOXnzAkLbjWJuXJFXlDzXYehaarMKileHXEjmnpeNSDEspaneRBvWVDFhKdBGnEEWKYCZnJIinLYZXXFkXQxZhlzLEbiYeZtMOYXgjBJNqOtlEvlVdNu", "jslefqzBLrljGSJCoUmEijFLyxqFmzfVbCBWSSREOmfqBzbGbeChNhbiymQneyHsXyVqyXKnICyaYCDAvsZudAunCgtzIeiDYLvbKXlbZvSgiIoFtZDREkGSZAVTHAxDEqXInsimxMMbTNiocyUaRPcrVNOxwGUiVmlaAIaBnjBwgJLBpWNFdrOJFKbuPIICSzyDVuvIfIMKFwUBOzTvLeWkrbhdsnfAJIETyGsJEycGVWPXBWjdvuFfhfwumzRzKTtnDPjkjSVTDoflncswncPjDmJncKnYWKzIkuOlGIBrrLNUPeZFVxOMvlIdQEhRBwpXNZNOHKKjBvtRdrRdpeztdLrUwbWCkBXMExBUACkrtBCymAKQFrtVWZlWbNnrtCiDDCKQqbdyGaGUQevwKXUECODHDnCvhidLJmBIclEKBtHhmryAlqmLmSqVEfRGTYcRSLqcbVSUsFSrTfyefIfxabqvItKCUXSTPhrxoacGnlCObcksAoyluaVMvffF", "RIiiykMNHKSpnkFPPfzZLsIEiKgpIxSRFVkfGycQeXArkujhOYVJVmjKqXRxSXZltRtYADcYgPFsWuCTLfmaoaBOKmdZGuuItuyYghmhKNwTrSDacPctIJJGbVgzljTVlyFbknKKEFToxTsQxVoATPwVghndkrCtdxbrgOMslrYJXoyhSIQupuufvwnuvWxCDDXohUwaWcfnEJkncHLfiDhPUNTwIgTlJzJcYfTjDOLxscITOEPZrcGIQNvusMkkKkqkHeBlgkIJbEgSGJKFvVpAAOKtbOYqxupviyBirsvvFuJMLTZxDZfdXOZhvLaAqCPMUuXrzSVwIenMLaXQcmkRxLdKkSojcnlGzFstKmNoOpDYoCxVmCjVhYOchuchCSlwHhFswYQYYgfzYpFrCZZUFsBBmxOQvUUDYehWTuDHYTyDAaeWSXRXxwiYjTbeVBIRsyyQmHaABSXRXbeSlUPNnMFSQMCnyThNyoovijcfJTXRUuSnkDqXmmggVlYH", "UutqpducnLLojQtUQkfviISBDfUwOHDfreSjPPrnuXEhTCySIZQdOMbRjvrFVSFjIFJNLRnpTjdLZULmOiIaTEhXKRFbDvagUgSJcTCSqqcsIIqgPFWSBGwsWVSKYsXWQgkXBzjywmfAyAlReWYihxXLYBWPWkLfesHztegFseeIURRWooiHEyLxwzySdVGVXJhRQTtOkqXOrtoeNvTXILVmMahgpTZLzbOCwRLNkqmZszSJdWkPUhdBhzXaxXGITetahitRAEjzEAYsMcLKIqUSxgKfegaHHBbLiGeYbBmUZAoyLOQijRWbBwbpzQhonIUVBwJvoRwonaOCyUXKgYRXpLAYsSVeuODxqNDWUMlBHRqWGsSrOOzSUzGXiGEloZHjFSEKmSgPmGEivaOwdohMqWcrjoMIOobwOJaCeeMEeSvzwiSIZtiPDcGqMosTzqfAIinOkTMZSObZUdlAYdRfRMMVTtNLNYZDItDymByNjApzGJzdpoEsjxVDGvMw", "SYSSXHghdZGXDzNYrdiAUiyVFUOrgVfNZkcziGkxmCnqWFLPqPdOjOOkAerVvoZpRlkeVgeUvauecIsLQxbZGmDRPlOCzshuORFxiuonJkkRYQZazvvPetZwEabqDzBuHcePXdPCeVgmSUAsGvDvROUXYXJdkuTVfVgkamZSjUdUYXFFrfOIeCvdpAUiZqmTiKGbQxDjkbifmARJNjhvSpChnvQnDbaOCqttAIwzAFOpciSQnydYHIqSrjdysbcuBLTdeNjSwvinEvxzfOkxAcWtFYjyHZSYCzMpXvfKYGIMPIWMiDfEVoRBCccrrTmmgfpCodrGDDnAlpbXsKssBWXBVqoRaflyjIhFQggMgtMhwnnPSUxQLCNNcfMdJzftMdLJMGwAedUGyvuASryCtzsDAUJbdMtbLPEPrrGtVkCNlLpBIJtKjvZojyMASYbmSNaufXiRCqdlRXhRfBWitAxjZyjEsDKFXmavYuycvDnkFfTPjiVOXqzxAZpDnwst", "bnNhgVfSNvJXfFhannxUjDCYpMvaLdXNAoHfgMiPuXoTWOVwVqqPfBdsJLdUKCIMcNHUwqQvxHLbfTBNBkTsOJQnytszbxVPGHZddUaLzPfvDctsEhQdmzYImLyngvWdOAZagTTvlZKDHPwaPigkRfoTkObTdztYOruAVHhcLAtsIcukkiyIrasDfRnSVuOwWLqXbXkpxHlvYmpwrdjHGbEUQqQehrpYWavPNycnfceNzETQcwFcMmOjuJgZfVfdFnuhxdtCKSIcnkZSuXJADCZiSbfQykLsNKOSwRckpCuLfhJbXMxAUgXwfYrePNbboRYjoyTkOyfJQdkinecfRFSJcXYlaSjDJcqpfLfZxaqQcJGwGMijVoKLspEblSDPHimAAQSTNDEaifWQYJjkyIgThDwpQyTjGWizpwzTfWWXInDyLVGOavsoAVaLDoIZnAKtULrfjRWTHfUiNqaFEGlNkKcutZtbQrssvejTrvyaNxFASbtDTshoPFhfBvKh", "PlNtJDFWxPNJxmDyLVRpGLGsnBRjOtnJgrstshpaIArigAGSPTuQtPxdWEAHmQqCKETvlCuMjnoqGjYtlJbsozcoSMGGPvlRvOReojJpooqBObhWwafhEQdyFqJoJmihRqxhpnxnaYcMXTdNkoLSwyShbhtGeahYoNSrdzMZfzJKlwkDpPDVZajOawjtbMVKlYaDWUUfAIpSzpHjfPAzjoYiofHhgSvhBZctZaIOTTaCMATRxIHcCGWGujqLPIbQXNQDXUpDZMSHgQXcgZKUUBHCeUCGqxejyLUQmDXRjquqkvWmUughwDUmnLAwkTPyhlgSyPIxzqtWMOzlodNERMsrGqJQqWPWiXsCxqFuOmURYuWLOEoegsjfzrTJWwoJtUjeeaIEDlKshDLdAXNVvsqnzRVESpKkzDKUSkPMBcjlqRXousQJMRVHemljTILZSohjJTkZcnHXGbhikslzSEjFdBdVhJCoGaFwyDFWxvKrFaDXpXLydXIWSStaIZWo", "GOANjcteAIYHDmhtbBnZxAkpZtcIGvvoppMCrDtZbTsnrtvQjDpcEEhJghBwgXjyuOiPWFWRikuYALgUYfprsOXpjdLNQEwCrnaQscjyMCcGcnEFGJtGATIKzLMVGLPOZFhoMcHJJzmmVIDcqSpfjAyJRWGvTxwkebfsZEWpzTxHCRscbBmmhtnOrcJHGpkCMJVepbPWNXKRAiDEFtoIQJsKeowQqgAfxMOIyWborUoauSozcNCZBKGJhWayTbZjZYxsXJrRyfZexjrbOVcXpLlXjaEbQPQAVRmpQNAxFZroxUmgollckrmxZIaMiFRHNGkzwqdjgEQpmRJJeJseitWVtmnULReNvGTxutDylpbFQvVkHmhvMYksrIXXFJwhEgjheduuopCNfWrnLUWxKRCuyQuLEtJjRexoeuFtfYwVlYOpcOYcXnDtaieGQtPTIzLcmJVRPFHrPcpAvtlfhDWTkWpBRHFZRKGYZcoKrWVDoCYTkYbUwnfhRvJBPbqD", "kEKiMKORPcNKuRrRjqyxGQACCrDRHdjokOOnYRETLlYySdZTYMnoMQwMiHOABKkylneNnNzkqpnsuCaAUfuwDgIdCzMzuKMVdPgsnjxIotBFRqXHpyNAUFTBJICttyjJEjEmEGvgoPshMEQjBpwHnfUghbSWXfPMCwkyaVsCtamzQeYGDgbvJJJXVenENLxjCPaIhJZqBAonmbNYxVOqAsAtSJATwXzXMMudDbYxMkqapOCxEtzYYcNiGcLuclpRBakwEbQyvnfBOtDDWShOIUhJiukkZPzemiolJwzrQOrqwQmiQeXVfLTMeYSPUNmEnYCbBkCqnwWYqIkdkbSzHpJqzihLGSKOLRbFoQIWmdSPrLfqlerabFeeGEjjSkzmlpDZqyQDninRpJZvHtYWwHxuehKiaBmjbuLyJKvkHzILKtQUsdwejgnQHKDZkuhmIMbvYwGSpwhCoCQyAnFteYTlTwgQBGJIKvbYoMKnIPyhdOQOvClVbsoJFTdPJnwK", "RZaAxgPdVKvCMCNeKvceMyaJdYhILYSJGwXIdaHCYMtluJcPipZPcHqisOygYrPydhDwvRQAXESzdYqLIiwliBScHTuIbpfWoyomiAEKayckytJwmGoLpliJtOEaRtnADYQNkISPNxQJmXuPiARmBScMfiPSGfNYlrbehofcNwRCOOLvWpVdfHbrSHiLONbJXCLhypdLtreYTBnJoTplahiQLLsqGXEwleiJOPedNOszzxZpGkmltCdmNiRVGZBwDaeuxBphHONWezcPybAAujoqWQAJHpzYFQJnyzDrzdBbuHGdKMTtPMKtpMsEZZTidDysbrhYGzLQLtBYyILIwiimdDlAOhwnCFWyESwmdzplUyyFdsRkinKWrBPOXKCPmcfCUhEfFBgMJxlTXZRleLdxCezOKhwtfIsjIINxfaVhVHNEXeBnxiRxWXwvMLMhwcWYxijsXHZUitDSxuPyzitVqAmVIRWrvChxKYoHTJolmKFPBuTUZNXxsfPPPHLW", "AnmLMvknObxDfsCTcuMYeXZdqjKfovrsaXwuSGfxkvjVuiYXmiXDMYrVGsnELCiFkpMqcumwkFPMWbruXMywWhfdHODIvzWMrZsrjveALvtpEGUnktYjHRwsxKyRnfLGirHMhgSbloSAtCWvsNNpnmwPxjnYuTXKpoQAoJRjBYtFlpxVyASuxXLkWthmGYvOzGieJXwGrmocBmTwefIUzLgIjDDYcrApsqukcMoXmkGDTQpbRUjDLrcazwjvjKCqkWRvBNSBMkLCaDQvLeaHeRWGYXgTkcImFzIfGjgwaTOIEKMpUiiOOwbFpLYjhNTBGFeUGNbwLqDoRQCAGBJYatmdwciCJLfVHqOmHAqtyruzkfPgdcEXyAsLkBqICokNQjyNVBhvASenrvCiswfmTkEXuYLAOEfMuAuVNqbGfqKvSEhesIEXGOoDeFkaeplwJkrPUfVbQfaNukdTPwizRMjCUiFiclSRXZlAmkEVVCtzDBCHUYQHuYcevgPXDnRC", "yztGsXBipAhRJfwuadWUpELKeDYxfKYtoNDypsbjSjvCuAuApWEfJtSSZFkSoHNgefhgSzGuKDHaCIhntXijrfqCoZpXtmLdsHJppXmBfIvIvmKdjXGWRhFBalsKgvnqrFeCadSuJxClPpYLYPRxofMXwCDECWTmHbAuUXnaNGArdZoZgFrBIIChPldZGvMYlGRDoJnHPmDmTQfNEbmkCobCNCyQivWBmmKXdpnqGTTVrVKAGarEizabCuHFNTGNLCCnGPKIvkHeuoJtBysUoStNzrXzPICMJWbwqjHtrYfftNkFjBxIgAzistuAdWekGThZXbQGxVjBYjiWbigdGNzzhZYLHMzIpwjbtAEdvhzEpNNqeUAefEfTzEfGdNTtAGAoFBDKBobvkguJBzobwAZJbDvLIsKaHSZxYHTyExVMUNecMJpavSMggnSTFvOlKEUVbfXVsiYrzsIZURJDTqlSOBnysmQGJTDOyGgueqoaiXqthbhpsZbdtFvcCXIX", "lDCjXjhKsRDYQATqdnEooexRNPnzZVGKYnnyHQjIuhXEEXUhGpyTyYRLCKLsBhmWvWBzhApyTODbMfcsdLNbUrGIJGgUNNctBUVqbAhXSRDfJBzbqxzoPsOdMXmNwzpThwTMTCGEsWkqGmzVldrtpirRbbewYpDEwXVYZizZbThmZITckipvWdbvqrJjttpCMpKeEnRmIeurtJgjUJDIVfMavtlfencUjwLNxkgbjGvDeobdHzdQVrmITYfyKWEXKSxmfrxVsZomjMTWftfwBwodAnmlHnmHqdmEeqvyZNWBzHwTxdVxJSSyHdfvjaGQSSxTURLUwCjoDBqmnLSLzCnmNzFFMOSsUAGBhKLsovKqLgzxAoySfcEmByWTJFxBzxpluQEprpUgHXfmtCRNgbXLiOrAPgrObvEXguzxgileHEJTMpeoqWKLjsKkhXsOTmVMFyOYDsaCTGoMjcQUNQctgqgzStkzMhibUhMAwUXrsaRqbghZtRnDeKWoAUiV", "DQeIhGxsilXdUiipTtDLYeEiraGpWDRuJoYNgCukqWBDIJqaSTMftGuFxumWPsuOJfYLpdjJoopJOBeHvzdoYKZnfaWeBpNbQdhWSliKRDuYBDBmCMXebyqEMKINPsiVfMRviZdKPiTerumJaHoTVroYpxMStfLnmTzjliNkLdmqCRsyVsIaSiEBiEjqPziTnvbhXUAqTXzAAettqXEHBkociToBhZkgmzKflWMTiIItJeGQaRFqIaATDlZvNkigMzjvROdsPtvQWMtJRNJjRTJpocfgTOdVnPMTcQyPQVnkvLJZolnhKFDubdcPHyvVrQqeCZTLeTONShQOYVKqLkxZwURECzCwRFOqTbxIffRWCihghcONFeMhEUwSvZfuvTapoxSFLBKODYBSddxGpNztLyZfjxhsJEBNVEgJKQiULspXqaMRTdVUuFOQdJdaIKamBZgapFCWumSXmptqrJWXvoMSRbTbBjXqbeJNFyNFTxhHBVPcmEcRTawRHTTb", "rwjPqTURlRydbKMFmNJDpLdgCWyTXNIXBsVlgoKOXHHEboaOkHWVYEsnGTqhkwbZzGzzrHYscIJggQrRSjPINXpbhrbnHcTshCFfCLuPTIOSuMRAVuRywGkSXBqKHXYlqyiAgbhGuEZsepwVPqvXllfWIsUtOpNvKDHpGXtpJuyZDSNTaxoTaAfRAzuZjkogMmjulVtMRztJkXmuizwjtTfHprgHSRtykkCjjKzjYqvYfckMmJHmjfQOjYMpdvfxgRBEoiWBhZwvHDsdqEddpewuAneIavllhZDIKkUFnzVvHdfVNAwWEUKuYEnDtmRrcuzONVXGKazrDrzebKDjyzxiAfrfTEXSFUXRrxxjffjzvMDzWRczFFXOEDuoMDyJoIyVRiRtUjmdvAzZlzxCPInTmypnsmTqeKFYGuEcvNgvVNQUvHhbNNXEmPxreBuErNVJsvbIjECifhTEvdpKtuCZgyzqXWnLDGbsxduJYhwqaMiTaIeUShPUvRXzVgBZ", "pHuqASyNCiZrnptuLbaCzOTdYFGqNpnrKcUBbEhiXcBaFHWyXFxmwfCBDMUChLhiMqABLMEDiNqyCfekjWrMYxkeUKZsEPnvTKNihDsAfufKUWBqvIkaGFZwLTNDQxgJPaaAhtHrefeTypsVRuZdzaPxPpQuSKqNZfZGfbkGRfthTvuEHmKRWepIxkxAIndVdRfqdMgjKcZQZmwYLvKMzkQJuKjgGBTBgiatdDjURYELNVQzJrXYHYNCUQVGAxKhuWIfTMyIZMUxnxLgSudpkmVsTIdtTOBTSrYOUgXfDDKxZDzjWwqMzeymAmFvlbinBNJosNOLdVIittmEcNhIwAdjxGBhOSzkbTilUDVgBgxtjGjYRPSBpPOPqcLWNeZefhKoiGkMkkzEcJUogEGhdKxnRyLHhIHJNMSkWBRNshBHwclRJTyWFfZylHyhiOTaYaGnKdOlYCBhkKEYnOsXyPuwqukpDmriinsNPnVOSzhUaCZbCOngHEuioyIcKmWs", "jEKvLfaMekVlRbVeOTgFcFJfbsDFVsOPIeKFLpKktuJPUdmSvrdZmxxDPyzipmzNcChZECdguXrxOaPyndkbuFgDgAlDREKwGueDrkrzoDnsJJtoLTZLdWWDYDVvPfGvkppwOgJNLrhNtzgvGSNZzIsicRBNAVdfPOPUKssZNAOjKntKPEniliWsvZtwguiCJPTQPuYyiwKAlRXmmbSsgjJHaQHzpZxpXhLAFnQAsQOSVLGJduCnIZALbnWqyBPulTEwUPHYbwTZyKBLgdgQPslnCbmlnobLZiOpFMRGRYdLmTXpKBZgZbEKOkUHDruKCFWYqhRZyAbEzklSfkZbxZAhsUGXVxEyyFxXqIZvaiCGYZycDFGuRBYgZXpPEIfcOzHaWLdcLzQdtASUMLVIvhGkVCbZxMbULYFRYFCJSSeCcyOOYkvwgalftlZDqJLkzdOhxgJIjMMfrZLYENZzXTDOSNKeDcEurVdkGEgiUXkPQLxKWBWifBUkmusORMaC", "BjeZMmqQyfaUdxaruxoZFvzGGACHOeXxKpINHgrdhGMdWNSdOnGkwyZHNArsnSvupVYYHkYwUrMflrFEuWyHwoTBBnRecDESvmLavijVMZgXUGaDkjGOGsnrqnhRHPiMZAjMKuGMQNlYubUFFvIiXYbLCkEIVMhejWsTwlZWLFpzvpTRoMBOrfyTQdWWcvITZGcDiVMxrPqgquIqRJWfrgCPdNDoArRAXvJxwZTaryFUvdFhNCiGxeziLjCwoMlQBzMnsbyOxKpIzuvxuncdURQkeMIBeCzvpWGBVnHrstBBVsRtdLlJQSrOHMaxsjmzpCgXOaoOREcXIdfyUYLvFfvozEwjFpustlRMKhVaqFgbPGYsohquSRbhdpNewDNzfKqQVSwxZqTDkjSwmjQmlSOEyBkcUkCkvRZNdLrpHcRyOVTrRcgoMMvDRlXNceROszRPsygfdnwXHNNlLmeeultumaMqohjTtOOxbSMFBcEXtIexVDsYNjeTmtJCIyTR", "IYBlKzzXbWrhpwtTBGBkzDvrZnqpTeTWdqcHZNHUplJvXtdFCXSIyPdkmxGqVpjMvyvRTkXQomxfiLGoKwkOwpDlBTUWTwWjRISutrslAJHWcuzxapCmiYzvGkkowoYHEnTHgJkXWHOhizQACUtRaakjHGEpatDmMMnYzvvHTwlCnNTvkazycyabSaCstuRYbiVdyBpxYfeiRYykXPYxCKQKyWGWCipJyBHOuYCJxGJPafxZBorpYBrMhCuFsbvFNEdfPmtYhfSbtkgajKmTZIrwloxsZrYMByyYEanoOpKHNryrnahvivWsBZEdodHSwViAlkecnGJIfjaycftIysQpyoaPfUyjDTQOykCTImYqzWzOZvsNZkOAznpzuDbyMCfvEyTcjleddtTghNiKJVoqEmGcsYPlNwvLnFnLqhEjRWEoqmgnRNkhGSeTkSJlyRyYQSemBNlsYSBtrNtnDlxpfBFpSkXRDfwpzFrdlZuZNoqiAKOsrxOWMlzbpIEM", "bCyvxdEETtBmbAIapzRcDkxgxBQhDXGQNYDHBSBPYsClUzXrimuVenncNWNKHGezOUeqjAQeSPtkJuPnRaulkIrbLXvPLxNUrNYOxGqJGyAtxmNYxuKFyctJzFVjugHWlBSroidzUSGtyGlhCIhjHsddkWmCieqJUUmhlAxvVmzjgLgeQwDgJpTZftWrqbnpDflxrCUxeKNrzoNjwOlKrRaHjVQRRzSOwuOMkQaxSdVczXBPTbPLzbQZySVKbpvkYTqCvLrLvIgSvaVjSPYBkjHuThdWesJTysqWbDDbCpMaMenrTQHcQbxzfOGDpDzvRsCTLpNZxMGyApykkODjGNyWGbOzHdPJaoXxZTtagMcWjMMwQsKbuPbjxZRhECOOIRRrhgCfYFFnUdeQRaEvKSJVUUgBMoWvilgzsrsdaSOfmwIHlfBHxfnlslUTdTqViZcBFGULbekVGNerpuxJKJMrOIjBEQTMxhhcrxXMuMpWvoXjzZMyHxRPKGhSWJBp", "cSMlBgejKbCkpqlrVvlPFcvxjvdCRbQjCbAOliaorFNyeHEMCNIaSVROzZkzSIaxASTgeKssXEnNlsklIYjZpCYgyRRsDihSOpUpeaeWyStIgBuijCEPcbVwkBLMoOyzubVTaUrvcfnJzHbogdDibszMGzMNPehJoaEKgHWprguxqdiycLYoprhjXHLEsvuGSpCPbjPoICgLcGxoADEGXpQiPVAnyjUyzqkDrBSJNJWZriMDCYiqgkEIvHcuuUTrtIEyJHrxiVLtoHKuARFomZazSHtrchRysFxNAHTVlsFBBBuNgBGQdYiilyzBPriYakXxxktycaLHbbUhrCSELEXBcLDDPaJhMAFDzdRRbftfbfGMuuFjHUSmAiyyUOWJWGCCUdgNWnfjqzuQhDpsBtHKGcnfwbaRUemppREflSBZJRFMnIinogxZFkDqrGkenQzmLaYzXAmBTIbIqFjdERQIMzFZfWIAOLOeOOxOOKIbDZiHPIhifiDwvPIXPGIN", "FwUCCmwDBZxMJzALHpUlAFBUGnYMjXemVxHBMCkzwWKbURqEijAFZBIbjBuwauLizmwUzccDyJLLgnCIPliZhNuFpHwneUxmujMbmJOwhorklxoogebKqAPePHboKmMVuKaDmqNfUBSdVpwVdMHKEetvtMfFKnYDHOyzzUqOiFDcLmywbbMYdnoWQtJeFBnLhtlQAwBWUzHyzNjwPsuhKnZZKQZXeryGPQoRzzMkCjhesnKwcogukadlQdpXVKqfUnVLJCpbshpAgZdzPaXNFlmTJITQLFNKTtkytKbeNiWSWXFoHTXYmuvMvZMwiKBCJVEfXlTanRuDioYmgwbcWZnfwyoYDXENhnzRWDVBxTHdrNsXyQGPHZLsmgAqKzWsNOXPsulkcJNMJmQKrPGXQLFtydWlgEKohpWzKtNjFcFCBaSUpNxLMfnHWAIcJhUQRRtWYJFEQRQsTpnBzaLKaAKAZrqoJMAJsTEAAGlkJFTkggrYEgFAFBXckWCqtHRZ", "WziVPtKJilTFnZJydBBZKKCRnxyEbgnFcaEWNfugHvenPiSqrbSpjmZvyMDSziAmWfUcHrjNkVYrjsBDqfxfCUASIiCJMNoCnhmhPHQLklhdsVbRkeOAACJWOAPUlIrsmRyraGycZQVUAkwZwsxIlapDndVlskuaEPLeEOSgnYcailIEGYePJWCLvFNvNQLJLgiOJUIDLOBcnendgsmisiEarxbqIOcvNOiGglQKhXjbMlkwkxcHxHNeNiOGmkiASwTOVRkBKdniPUpfOIeKvkRBTDOHDxFqOXjNQCZsAkzfLDBNjANZZkgETVvDtHWHultNDnnmUnAijYxyRTkmfWwSxSaUBBThZPDdPXDjtYPFbwaWPffKxoARYYtBaCfBNcrSJlzSxESVIMLvAmkRJGSslibMXHmPPHTXmrjTuqtsWWeYXIUZWrFAEdlwtNpRhoTGPEzpxiHDVNLMpUavfpGKZkzXNpzwinEqyIGbaTncmddnXXudmVkIncPMDSaG", "rHGzZCqIvOsikrzQISOPurwxDQaQAOlzJoYHZKVgcpUVYZCjRJxllGZwrPPiqXGKcedgrCozkGOnGtEcXMqGLPcdFVdzykLZXVpYMpmFDeaezWZPnbOgrXMVTpHADolHchvcTjMUmSFsHHmAwiZMvGOlDGwUtlMpaHsRuAPyXzTmBtRjBSiGJlVOjmKdYLOtRvTYxiSJVRGXRplAMPNQIGqhuUeVwmpKaiMOKgAORUQIltNSZiABdJBgruPyAKqhYJQZgKXNchNtWwIobsaRgrTeqaylDBgDENlWPLigHDzrMdAtbRXmQnZruQylWjcwOYQSyvCEKxdYjwcBCHiIdvXxyIgnMfSexzLBPLQozSwcRxVjPdaSuBVsVQquXXtHckHWhUeLQHkHDrvnUnFHvnOeWPGfBJNfOKxVsifiOqSnarsOocuOiGBhJvmUfBfhuFZkREZIUxxUsIkGGohRTltAzcpMrCxJkMMweGQUxjtZFNJszdbQtCpgfqxBouxL"],"c_map_int":{"c_map_int_1":-1432989140, "c_map_int_2":2059243707, "c_map_int_3":-1883607575, "c_map_int_4":1274736385, "c_map_int_5":-1058355825, "c_map_int_6":-865826277, "c_map_int_7":1290976563, "c_map_int_8":53754455, "c_map_int_9":230459485, "c_map_int_10":-1623637918},"c_map_float":{"c_map_float_1":95.44382, "c_map_float_2":37.94993, "c_map_float_3":73.47958, "c_map_float_4":1.0334042, "c_map_float_5":10.387335, "c_map_float_6":76.919975, "c_map_float_7":36.62233, "c_map_float_8":13.907173, "c_map_float_9":42.870754, "c_map_float_10":55.148926},"c_boolean":1,"c_decimal":33.0832,"c_array_boolean":[1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1],"c_array_date":["2015-03-15", "2001-07-09", "2016-06-21", "2002-11-05", "2004-12-17", "2009-11-22", "2002-06-14", "2001-07-11", "2010-10-07", "2015-12-23", "2018-10-22", "2003-02-10", "2015-05-26", "2013-07-21", "2015-01-27", "2010-02-22", "2009-02-27", "2004-08-16", "2003-08-22", "2002-07-04", "2009-07-13", "2001-06-18", "2018-07-08", "2003-11-03", "2017-10-07"],"c_map_varchar":{"c_map_varchar_1":"DsQMRUiZviwLfSLegqTKDszNCVeCzzgNmUILzfwtCahyYAIhZSGTXeButjCcsRTyrbvrALFzYKiQiKuhugXHkIvxDKBWbGGsJZomITSukHXTnxBcChMeuXJlGzCQFPSnYDhCRzfQiZIBqrtgAhSBOdYTPukyBEMNCYjWuOzIrmwdGtdRAJhqeXartMhXSsdtQQkymtSNUiEffBINQVOzitmxefLtUffiMazRsKDsGjOqPVAITiXvfcHTiysYAmxw", "c_map_varchar_2":"xAyawtFgHcLqIrPJzkwpxSZxvesrSDhhnfaNhSKvmGJwpGUfHxhpwvyezSVgpmXwmQtaIwhwpHReFMIMnCcSChEFVBRPhQgAPplNWyPmlDRcUlraXuwcjAcASZhbTLkYPlgGDqIXImlyHItWYobiYpomNtvVerAtxvkEwiOjxFaudaIugMhzRzGUrMeoZFfkskcCREnkkeSoGYzGnjtaugJhGGqefKmorekhYSIwrXHOSYLovzqIYutcOTeCUxIa", "c_map_varchar_3":"qZqjPKelxWFYwsPDjEOPIOfjUlRtvxFzEUUbVXvFiWecnmIvArAiXwVpKYtJGIJTCsWBqbgxYyaUIwWTuvuGzlvlZdqsvtXnQHCDbpIlGddNvmslgkFBthYMIYwdnfyppLKfiiQCumXtEkqMeCXreALHDSyUSaLQNjSIMQLsnrQdFpIUqkeIeuZGZMsGRectNEWMgNHKOWMTibunRLdxVfnLBFVNVLhZpbyjrqwzpMJZqOHxzWNRsOuTQcaiLngt", "c_map_varchar_4":"sougeEgiIhCWXwUYSxrbdHAsBYuZSdxmebmPQwDJQkfqARJVZTSqdKhkvcAydIjoBPUZhxixshmcArSNzCoWgvMtnCtoQdQzAfDyTGGiAJAMMkwThHVeoouivthrIiDXdWAHCHRRbKZoKXZhwFudYcUmDDGPcIGewGAawKKdJadqSplZlIwbyBsNqkqGwxEPYahhcZaiqWDhehWpMoGXnxuwtyeshiJqQMVTJanGCPcKnESHEHcUwukaljWKwePY", "c_map_varchar_5":"MWeMhRLCmYnGpKfpJEOcSyKOsBVjuWmrQgucwdCSNzNbIGYEQRamgWvWTFHldYQSPvkWXCbIHTMXAcvesKlelhZtQCDfHATqVYyhyXqcExkSEOELTRBqGdAKjfkKreJtxfNIpAfkfCQFMaHHqOFJzMDuxNWsSxqnjzhjjNwfqdYTZIYMBXOGGOihWiSqWqAjcvkmQMSGnxIhprkIQAvylXRzPNVXNHlDvYaFjEpszWogzqysvYUOJsrakHEEArLo", "c_map_varchar_6":"nechDQurbRPIThoUKoMOqmIRosRApgzbdiNgTdJGsNdTwYnVjGFAvzqIvwNYqFQXOpesqXeeronnfjdSxVfPgsHChzjlIPQZcUrGDEkPmrYahWSjqDcdcnLgxSSSjTMkFwSzGeeenPFiVAIyzKSlofInelELKeIBqXzIWeMzLeWmCbDCdbBRysMjKFSJKuHbClkLXydAIpXIuPRgophwGfiWJPPEUKiBCZjfIOJVQWWWUzrexXtfAAGWIBUhEcFf", "c_map_varchar_7":"mlRIXjsXtWVZqBsISPmErtoFXsrgKIKsMiwbuUZskQoldjhCwkZmTkECoFLAoCUgFTSWtqPOpuyQIthEsuAkQkoXozLJCftxZfflgzjPzhyiQiRKNJBMXPNxmjNMRpquUZNnlmsEuWgxFPsrBptSdKAadSwtlTHbLgixMlotGTVpGbEeDriTaIQAQOCldtSuSNdJfOweRcaTWkShPuhUTjXLniOHUvmBjQhTaAcivYwmdBxBiDFZNnLRVMjHRefC", "c_map_varchar_8":"MHWOUWuLzMjhVmWWhByYrwOCmYisbTVdoyPPKmGXZyBXMDPhPHgDmgVrSgxwPWbgbxyGIseCBVcdZwOJpMutBHgvJqccrVYwoCdDFkBznllYPmLKUDMkKQlZLCenNPwQxdKYTIVuDJXPZulwvwXoEauWhMHbUGAJscsEQZXSLyBdGRwjkbEpvIEnHdTGHgbBZAYLBWIEBxpFXPSrYtYiLMxSplTIixreMWrwzLCYWDOVrKAXlTNZNsBdNxqcLbBp", "c_map_varchar_9":"sbPlFnhYPvLnHGtMAUexKqFWWBNMOLRdFHTSzUYzLVhYGwRqhPsGBpBLEHGTIQbVDnTMVIeHqujOWIsrZaJsQGonCKYPlQVQEoCRNSsfkKuAVTRkBhSmbgjWseluHamdieDHYRFxcRyLctxApySKZXIdteIxNlxpVmyLfMEAzIAzWFufRxsXEUOvDIupjQccvHqgBEupRChpCpjtrTDJdroWiWtgfhioravJAOGsOzdyKYBjCiBQDxVQlHBlyuIZ", "c_map_varchar_10":"NEuVNhUuAftCIYzxmgLaWHQJumqCgUgnNzIhObzFzKlQWwLpyeMNaPJeZHAErUIucxjhaaJfNnmRjnPvZBSCkyZLypRsyADglNhVnMTVVJiLqYhCToqLyxEFsAetmjSPPekSltZxTVhVmhSeZNcRRzPThpdxKFWhmaLppDPHXQbFfZhTqbGLNhgOhNveNRIsgKYlpWCLNwarzWEKferkNOorcTQGysmsvByUlMgbNeELQTIaKvfEjsYoiGMSNXLg"},"c_map_ipv6":{"c_map_ipv6_1":"1f2f:7e52:f54b:5e3e:5cff:a9d5:de49:eeb6", "c_map_ipv6_2":"3876:aff1:1c1d:5df:e9a4:8a57:b8a9:2447", "c_map_ipv6_3":"efd9:5a3e:2d4d:4ad4:2cb3:aa56:e78f:f07c", "c_map_ipv6_4":"e1d1:f2de:b294:5d1a:50af:e275:9528:58bc", "c_map_ipv6_5":"a3ce:5ee0:5100:e67e:1d54:b616:fa16:1199", "c_map_ipv6_6":"7bf5:5673:abd8:94bb:aa75:2640:efe6:eb59", "c_map_ipv6_7":"3652:e345:6879:1c23:29d7:35c0:da04:c48a", "c_map_ipv6_8":"45e3:b488:ebb9:fc8b:d5a:8d26:886a:c14c", "c_map_ipv6_9":"750e:5a04:79ec:14bc:49a2:78be:3258:f745", "c_map_ipv6_10":"fea:f70f:a65d:f0eb:8abe:96f8:841f:108a"},"c_int":-562255934,"c_string":"twXvykNsCIyQrcEXocGwyMnSFFVFqKrCVPLqjWHsLILAxZyuJxaeNqNCXRlbVeUqKgTBefYCodtFnDFGjzqYPwyvAulHYoJWuEZoCcBjefAwJomRPgXModVAOXotgavpDTmsJWCZRpvmImJydeOcBwWkotcFuNctBuvAJsbwXSwCaDjQWZNCBMOvqRFoxkmObOhTTFVEtddleWMEgwERuNojVPQTjVNgWpADbsvQacUZnQChrZOSpnIbGGaqBJXKreXigRXOrlIntgQKdaLWwsUBYHbPXoQlaGWtaDASnqxgYeyGjgGBBwxOWErHOArApNxbcrZHnujNpxYlFBgKHIuTETuNorXrevuPgYHWXDsXlHlskLQaspSgjeVTUkmAyEBajDiRDtHcutlaqWbMWbvufJBmjAdRWhsHRoaIlZNHRQMxROcFnPceTkspuqkoYyCQzfrupqHKDGnmftkWRfXcCRuTJEeRTHqQpkZFplxHcXnqFVIXCFwgaVldyWZR","c_array_decimal":[28.0687, 79.1926, 39.1403, 83.0598, 93.1624, 14.0101, 64.1387, 95.1333, 27.1711, 25.1884, 99.0651, 57.0454, 97.1263, 33.0621, 89.0132, 79.1621, 16.0488, 12.0752, 57.0830, 5.0303, 73.1434, 66.0386, 31.0264, 1.1440, 59.1058],"c_array_ipv4":["glsgdcyzkK", "ptXoAuggud", "xHCqFrkZto", "CRoXpBpVLY", "YmRcrQkhRo", "EwUzvxyGvd", "AkWFlfSlnF", "ZXAjbAPCBw", "fRfkWARFIA", "dXGbEXMohP", "VCdxgevZmf", "sPaAazgMdz", "pVwLtewOHI", "zGdKoEoVKV", "FWPwIlRuwo", "bugjtVzdEa", "RfovITPdAo", "ixIfUQmMqB", "pTNTOdMYAH", "qsznkXfaMJ", "nSdOZQliMm", "eItqdoyVgt", "mDsNqUNqCz", "EUNsGOTPng", "FakRknmycT"],"c_map_bigint":{"c_map_bigint_1":-8785453706257367478, "c_map_bigint_2":-7987832378765155404, "c_map_bigint_3":-5579793912796797281, "c_map_bigint_4":614335272383258310, "c_map_bigint_5":1255447247100962494, "c_map_bigint_6":-7670378185696292636, "c_map_bigint_7":8780587231984061088, "c_map_bigint_8":-9021601378601133278, "c_map_bigint_9":2732584214111124137, "c_map_bigint_10":2931503437012746474},"c_map_ipv4":{"c_map_ipv4_1":"198.25.140.148", "c_map_ipv4_2":"171.152.246.73", "c_map_ipv4_3":"170.171.114.63", "c_map_ipv4_4":"171.207.113.16", "c_map_ipv4_5":"234.219.237.4", "c_map_ipv4_6":"10.1.248.218", "c_map_ipv4_7":"42.51.216.181", "c_map_ipv4_8":"104.121.199.125", "c_map_ipv4_9":"83.208.135.130", "c_map_ipv4_10":"216.214.157.163"},"c_ipv6":"e2aa:db71:65dd:b21f:6149:2067:4412:768b","c_array_tinyint":[-80, 59, 106, 111, 52, -44, 40, -41, 44, -1, 35, 110, -110, 79, 17, 87, -3, -79, -47, 56, 0, -112, 4, 54, 6],"c_json":{"jobtitle":"Assistant","languagebcp":"cs-CZ","nouncollectiveanimal":"scold","nouncountable":"horse","nounproper":"Kate Winslet","adjectiveindefinite":"everyone","error":{},"creditcardexp":"11/33","domainname":"regionalgranular.io","pronouninterrogative":"where","rgbcolor":[116,176,61]} }','{ "c_map_ipv4":{"c_map_ipv4_1":"248.110.108.55", "c_map_ipv4_2":"19.67.26.34", "c_map_ipv4_3":"246.106.210.182", "c_map_ipv4_4":"172.32.181.132", "c_map_ipv4_5":"103.25.22.194", "c_map_ipv4_6":"20.102.94.178", "c_map_ipv4_7":"46.234.112.19", "c_map_ipv4_8":"163.234.104.234", "c_map_ipv4_9":"143.245.209.129", "c_map_ipv4_10":"113.144.86.70"},"c_double":46.655179111093105,"c_char":"WJZsSWmsZy","c_array_ipv4":["CzooZrdLnC", "DoMhMkaOIM", "sMxtFiSdcS", "yiMflAHfPM", "vueJvTvToI", "FtfFIaUMNp", "XQMCczJYeB", "qSWeRBTbTC", "wsnICfpFLs", "qGHVwYXzfI", "hWMXDJTIvE", "fovIsmaImL", "EwEIkMbfVw", "ezfTNotsMA", "BIPsncxaaH", "aSlErRfWOP", "RBhEFTQMTC", "NnRhAKIAID", "YWDPunERzx", "YKbWMXSXDd", "lzrmrZzfax", "DVIdErwDkm", "jZxvyJajFr", "yAhNjdbjTF", "kCQBeeECRf"],"c_map_largeint":{"c_map_largeint_1":-8352301639368866531, "c_map_largeint_2":6166790168844328958, "c_map_largeint_3":-143914675948888148, "c_map_largeint_4":-3583749212010522380, "c_map_largeint_5":-5956259966614312980, "c_map_largeint_6":-4250368377302309735, "c_map_largeint_7":7073952102079156061, "c_map_largeint_8":-450703263160977544, "c_map_largeint_9":-8956124762192292096, "c_map_largeint_10":3948061622687847293},"c_array_float":[37.76011, 9.033728, 51.91341, 95.841, 86.87408, 64.63047, 85.98058, 89.09283, 15.401745, 90.22113, 49.26782, 2.963724, 92.53773, 71.66509, 98.21972, 20.846146, 42.111004, 83.2204, 13.381952, 64.3152, 59.460056, 20.55931, 63.2371, 48.503593, 91.49641],"c_array_double":[93.6842050112435, 18.31909643490582, 48.01430289861636, 36.5804386594248, 50.91249863011712, 85.88620544161873, 47.51480408495417, 85.18682304095383, 95.38041419164166, 36.29921079380949, 63.21159912928372, 49.032382354700246, 18.972261122363808, 19.313962194902217, 36.71734560575028, 45.265742830419, 45.753231063336685, 79.22316918858533, 53.52535282345812, 22.738479864506466, 23.055391245025334, 99.86081571607214, 95.0765163190753, 52.58307007439367, 99.61717671150726],"c_map_double":{"c_map_double_1":51.282183812750326, "c_map_double_2":70.99281737226543, "c_map_double_3":45.87931131663129, "c_map_double_4":17.73183916790353, "c_map_double_5":4.655399862810617, "c_map_double_6":98.63440132866782, "c_map_double_7":96.70432977351628, "c_map_double_8":12.390947229278806, "c_map_double_9":53.41365352663246, "c_map_double_10":44.69179607362897},"c_map_varchar":{"c_map_varchar_1":"yXEbxGyRqPGZHUwSpCAMwNfnDvCdjmPzpPQSoeKVgnhMmogDjeBiFFMlLAAPnNdcDQBzhynMtsBTMYRHlmWzrBaBrXtSMtOyvWEWUnGOGWMQwgYyergoGHLRTciKKnFmIsKBpUhfwUdUNcaXcpxBKtytoqZPBLHiNyeNvuBHPGQFlxzJEbmKoaziVnmngrBMjHuaJOkcUmHcLSSygenJblBNGEBcKNrLvKuZzlRWDmUQtHVscpirTyEPLaVTBuru", "c_map_varchar_2":"nKCfFRFZMmDGJsHoMqGMKDLpfhDBXaByLkdOTBqHSTOugcUMIrrvFNaexawNqdvcqKPhurAaKuMDUUtScvPuhuQYDtynWTpVeIzqcQAVdLxpgWXmUjuzOiJabfShZISOeHXSxbpqZFuGDFMqpThqqAIHAUDCBmzdbpFLdxdrZQHaOaKiZcZWsyCDXIdkzPmywuLWBLLRnAQEGYBXqWidsJKErLxqFLJqkNJXkkQKSHXihUFRPWNEBJEMMFBfXUwF", "c_map_varchar_3":"lBhlhsOqRErNGDlRsFcaRheEbHODNqNIQnARjtbraLGHZTiDxQrebUJhvvXLBNuBwttbhsIFFuIXMGeyJaYEnDjXkwSxKglehhdapgRZvySlqZgRokXFgiaDIwkmxKWBTgEpGazowTWqnKjIKlsfnURwImtMDoLxVzwjfTDquykTcawPObJMkUqAyqbgjkPwurxgrEkgDNfeCqHIZUHcfFgHtDbYbxPqNAGTBCWFmSWJvkReyZMCdoIqBimLGDRL", "c_map_varchar_4":"XsGGmkdxEstAKMZHdAfWdrKihnAKgFsTIVGjXCWHoXsAEHWTjhGfHlgrhlCPaMHHFxywvhfmbaOenijKeqGAyROEQRZrdNjxlgDLAKcIzMPGyQsHHrBRsultVRNJpfEbfwjSGAeQMaMmjiNjVBWziFnWVkBvOdSxbEjvkBVshgVKNRpXRAhjtGnvHEDPHERniXbZIzjjtVKonJSRWXGAhjgYKQDjkKMuneFAumzgWLwmeojsLzUCyzCyHGozRVVG", "c_map_varchar_5":"iOwkaPzdySTiHIBNCIXykaFHSmcoUJpYwFdFaCuIPKHTkUNApTPGhAZCHimwQChhIgZrUEUVZuTgHLdwOZBQQNoEqxvUBQOLJHaMawRMBnhNOrDxhBpPZSdTopIrSDAEXORKEyXTsIEbJTqXpuBjFkqUVuhezVEWXYriRrTJzYLmTRDibGDYOGKtKViQLerBXYmluIeNsASWuPDtgxcfSVUPXTpfmVzfCViBdJxfpPCoUMmCRGetTPowESEuUBLq", "c_map_varchar_6":"pSSIHkkTNzOBFJZgWKlKPvdcmGNQltFyylAGJxhxIcaeKsVxrYwuzbBrKnWvTdmcweOEgMRqzcpAhEWqpmuHaVJKaxfiyBRlhIGodauHZatwuWGXgxdjUfevMNMrxALyYSAIMacvIvQMEqaYgJOkxYEmsBrGjawUuYZAyxXLVsOHHHdhftmSpuFmgfVZDviTvyPBdSaEKeETUlxPsUtOMKcCYEwsfvydIKEJUSYKWdFjuLpyZaLeosjnFxZeDdEy", "c_map_varchar_7":"kyVpGqGuJNbYrCQYTmYljDledwBopDNPKNkTsmNdWUjGfKSUYQvpqoMovcmxecPRXXEQASmMNkGIWvYuJrPhUjmBZhGjOoaTZtyutAiyfnHeFVPchGQhfhXYpukfcUHEGGNaFJJZRGjOlwAkvTLVSVwNOnAblsqCsMgJugOLPgEUrQykPJTsdjUszwEohmCPcvGaKjSQcNTZGOzUBZcDVuvXtHDuIkxbEorSPQmpCyojRAJXmhljPEngdJINpAxF", "c_map_varchar_8":"jajBQSqMTWXxqevAbXCQYfDjifnqStlOIRrSmvVAZgKdMiqgDoWUEhJMPyRPUGSpMXnOfDMwlXmOlTUyrSgCstFqNcImZIcmkcWmOHBtxtPQiUFlMWJfvxKsrwXPwVsPWdxORsydIVHtiYQlyKYwFQfWzPKvFoiBWoHvFlkVNRzLArvlrOjZOTOJVzfEYxRuGjdliTeIfRrkloNcaJcedtYqMNDrDDsVwhLSeHcTKFObUfxaHDrBoadpTknwxIHv", "c_map_varchar_9":"opJDUIHLOvigFhIJXRIDMQhMWVmTckzyKrchMeoIEzneYKEXwitCJOnsHFhfqnztZRkJCygErwYvyJvxKFeyvfXHSPtPsvUUuDAvdwMrbeOOIVPZHVvPkBXVrhCsLxwwpLhCvhjwGwuMKCzRmedNZzXMUVXpTgSRPbRvCeTsULWCLDlLuBXpccpZHCRHvCAZpgTmwThFjVwndzbcEYrxUCTgBeFMHqwJRaUreEkwnaRwPcGKPCniXsPIHnouYPJJ", "c_map_varchar_10":"znWlPzKHPpLlTjQgeHBNPHZcFmOcVkzMmlsftgnpxlpOKFjsSrIohibzuCHIgjwhBYngWBUOrelBjonlHnxOSzvqbOUeYUMNNYnkQnYeBxvqnzjjAOnOzYKahfqLsYsvbyQJnqRlAQwKVvBbVrglMhEzwkfrnfEYJSKBqURwMWpmzVsjjvvbbfUgfGvXwOOJOigSOYdlxMuZANjVCAZfRkUyIdMtaWcEEploaazDrNWHSsixNeVSwdncOHDrRIbN"},"c_varchar":"in","c_string":"OfTtYQZCdiqGMiHMeJZMIPqXVpKggMdHFBhVixUluhEiGHCrxkIifWhcTgooqWhlMSLzXtVasHdbGXXacgMzVYNKGPyFFwaFMCtkcIbSeqjpqnCwlPQJnGAWSGCeBcKFiYoUIJZOGVtapgRopEAFsfWIVfWPPgiDPrcAkNpisoKOGCDQrwIRfaoURUeTSMvwkeXmXiBpmxKVLiSZLIQZIwuQUOJiQPUMAHItMZbWVkSRFRYdqXDWiWUuKMTRZASUPylqOxxJELvRNdEZzRMgVyqgyYBRJRmmQFeGSeRymIjxgGVOBPqLXdSmHbVRXsGBhinnarHVkBhvkTlAWfnEMHokwXAteZxLpgcKUbULEhekZorofzXCFmhzPwwYWbImvbcrCgwWDoRIzpimmzaUQbWBtoZfwdJpgJPbVrpzQkTuBJSZNIhieepbKCDBmDtdmzYoeyNhTSqtfPDXwpkchzvAeCnjtOKOlacPuoRyRFmEEckIBrtesFaTzmkImKZa","c_array_smallint":[-9500, -12588, -11673, 2509, -10407, -22189, -2751, 794, 3135, -21077, -11531, 14523, 4450, 6108, 6488, -20781, 17881, 17694, 11290, -10905, 28681, -19648, 19999, 28161, 12471],"c_array_int":[528492899, -1249265268, 856097435, 1326432196, -23313817, 1659650689, -296174606, 410600422, -964656481, -139091574, 360205210, -872442066, 859618962, 118793017, -703682110, -279758526, 1306635472, 1264293584, 1626057712, -314620450, -1505871065, 756100819, -210530932, 491383886, 1270181204],"c_map_datetime":{"c_map_datetime_1":"2001-09-03 15:48:18", "c_map_datetime_2":"2010-12-07 17:43:39", "c_map_datetime_3":"2001-11-24 02:57:48", "c_map_datetime_4":"2006-09-22 12:50:44", "c_map_datetime_5":"2001-04-24 08:44:39", "c_map_datetime_6":"2009-02-14 05:20:41", "c_map_datetime_7":"2009-09-19 11:33:10", "c_map_datetime_8":"2014-02-06 09:04:18", "c_map_datetime_9":"2000-05-14 09:59:48", "c_map_datetime_10":"2007-03-27 06:32:31"},"c_array_largeint":[-8007785821689389194, 7696152048831071542, -6767975955180986996, 3670783597109022236, -5034226360845253713, 5167254181415087942, -7116002897472939905, 1331957275906058100, 9118722491794247594, 5505966078574129290, 927770838297808769, 8265783355248966133, -5952694272510522444, -6351949301843382274, 4946992154721278165, -3810679304831835315, 7786302182241565731, -8095371507233142993, -8274458143950424283, -3948703966435323688, 7442958833949664370, -6811688688278812188, 135898182090853237, 4724529989526353291, 308917600017679223],"c_array_char":["MoTzTDUdhy", "qvuKZxQnoc", "nKnAMMOHhe", "vDgrbqlQWq", "OcCtihfDWI", "NIhnMYzNik", "ZqCOTJCTpH", "viFLTlgswp", "cgdlwVJHpv", "UrEtDHkDZH", "SpSYBEnYDH", "EDdhjXgpvR", "oatOnJQVmT", "eQKNpVHmgh", "FcHcClkLUd", "gplftSgJAl", "awEKPmoFpe", "jGPHzOfloP", "FqTBGSrjEQ", "sRdkrSnoow", "HbsAIWcYaH", "uyJsrlULTH", "UUFAGlfeDA", "akNgYtFjru", "mRApzDLUiu"],"c_array_string":["KNVypwCujGvNSPoghZWWUKaKkPbGCjwtVgSoOKgMfuaHIsnfAAYupdzrxdFtfBTqnMeqzXmOREsydBZMRGdVRMrYOYSswWVJTHgKbIfJgjFbTxajrErXZwvBjqQfjvrMQKIyxSDiVPWQnYuvjqdfyNMSaaEhqprqXmHzrBQGCnbhjVfBLdcbTcxdIIQPiwEOgmTLXDAABMEzImLtcvTmpQLxFyuztqLDcILMBNqlKgbomVhKFQoDoTgMeylqHQpKxNRzyjZhkzhhRtMiXAAugyCtSpczVorpSlbYSdieWDBfaVZGUxyJQIDoMIcotljmXGjLNMdSxtYfzThZpWKzVJMrTFocPalrPDCXOpbvTfinaEdaDqKZIxQfyCMKcOwPQnePAgZMDLHtOzaFtDrbhkayBJBdFFOVpIJqcCqzZhfUTBomkEUReXmnvBZzkuhbKvifClHYLSHkdqBdEQupYMSdBDEEGEysgAftIrJetRzTTXsnNJHVAGQxsROuHPwo", "RhmcwNvkhcmmPntKFjFNwwEVUeEjwvlKJDaIRpkjSekQpWekjqdZJdBCQOUEosptJqqhrxzwiKmrMeLQylsMsSYVizFeSHZcQuFqMWZNdSPpWfVMsZCMrHjzaCjMQIzhqKONptsqLGnCzftqPnXMyUxfxwaFcXbqlRcTPzoaiYktGxFbTCgrQwjuLyCeddUhbHlsExrcTQsOpNtdXhedBtMOSBTPzKYqBlMDAFXEbFxzkpiacOjdmjYRKOSfsmCQSabOCvLEkzmufrbanUCFuEFkhHllDjnaEEplKQteDcFSRzuqJzVSaDQevpwdFSuZepXhGoHsWhXotDlHRITTUVyoaalyCOemNzWDGWZbDWhLjkwmszwCvxXosmxyldPPXDqWFOQPdAxDoNIFTvptSPkIWshKenewKIKMMKCOTnDNHgJxsiBftDJARraumbiVJwYFFvjcHKQsnJmFmKLokDswDaaEZHyOjFWdMiZigsVEnxXxSAwTVhJzNpTMWzTw", "IcToWhJrZYxThqLAFJTWMbLcWsNYUyPENcsqpIDcBGfBRMGuyBojbKECNkMjmFXCfvpCKEJPjOIeOHGZxlRQGvYIhpBECwDFhoojQlIwpOavRINCPVIgUcRwadtYVoXoVcFMEERNHrNXWGCmWgbGBxwqfJuqTjfXOgmFJmCYeGYDWoiBCyEbnnVICiRIRgEXQCUePdlCVkSnjCWnLqmRMjgjeShXUJlxblNEzwjRDyEwSdSCbIgyxnLlTCBhlbfxKXgyNuVqNuDtrWZQFWKkrcmrrIjaixdVRordubuWVLnqvuBVZxTkCejHpwjoNKiTtGaCLFrwmlrrhtoSqnxQJrQCrtbsOaWqBdlLGFFsYjGZpWzyPZcjrdFxWJEjDnKIsYrXJEzXeUpJCmUiuGPHhEcyNaWowcdbbgZhDTdBMNMwJtijPuiJpRooCeMUehgoMDooRQttRKDqWwqBgATDzenxKzGtwUsJKnjBWhDfWElEUqZQhXGZoVmyMYyKLycO", "GDetKUYIOUTJRUdhfDayOFwWKinaRUsIrdTsUexShspeXQDJFqOmvHKxfYoQliQEJeWRpnbUPULronHbbZulbIYExAgMFfbFbVCpQlKZRobseerygcERSgmQIpIMKwqkQnTFOWOIVCRnpWHlFMZpDZDGoBQSvDWHfhXobNGzUSTMyuwLRzLjnKdFFQzlXNaNdqylkZDHNtqYWyUQPXCIbQEBtvQBGUSgxygcRxblQzntGkHSVwyoBgFbCPlseBblOsGkcSlvNQJGXOtJpquwlyfiiEaKyiHZBbMEfcftehlmqLzYmlprNhSPLSzBYrrJUfwystoclvGnvPNPyiUoZhdDPjXvkIyFqCfHZIskyuZLMHaOwWHzSlwPZpItpLmozvjPSPeUNlqwqUJlIpWALYHLSXsGEIZmUUcsCtclIfqeEpYyIJSOsItxJOjODniiWwlRbzfkgtcqcwVKJtAPFpENbPsjCCAQVNBInPNUCKujwvSsBPtHezwrjmKmAVHp", "tQGTvcjevoVjjyZJplhWuFngFFCngHjsmVloZKyTGEfjGgKPvAWGkSLFRlimAUZonRsOGyZgwywkGEUecsiCdTsaixGDPMXyEXAPSzdMkmbVdvPaknXssDgFQCuqNRTBJwmxYYlAEqJzmfHvsHwfqYxfFrIVgIJVZaQcHnAdeMyUWuyQioMbzUpEboQscSitVJyfXxgubcbXLJeLBpZpevzOYGaZqWQQuEmelnlGYjohnzIVDzDwrerSQJTwuROelSluKDHtfIUWAJsCLpHVjjgrpiDwzSCzCtfbdHwpuPcpHobZRgfHyovKtsFtVjwdoqRoRQnyleFezvqpujxXPGPcQvAkwpysZAcupoYFwhKDjAlKZrATToQjVAFaBtFulrYBTnKcVbIlCVGEPEVWbFdSubomffqZyzpbqVzwBSMXjmKNEpNiJtOeuSRfCwIZvdOPvTaRQqlNTCRytJDVphcMgKiLRCeMJGWELUqbxslCxYGwNbbOHKDKZOFoKBOO", "jgIfZmHWPlxZqGDUOOCEkmsjehPZtreZevHuDOjReXmcURJMNTiqTVHTShwpoqKYaEWyjiygEQBzVRACehBBYgDdFfWuifvKvlIjkVuJyQDcyFhUAfTutFuGKthcgRTsCznDnYSHbNChNPecKeenRfYdVCKydcIgQbXUDssluScqnasYwZkIjPMWAkUKEPdFOnSlHgJxZmHvEUCBmYFUkCybgrrswCOvogPZlqmcQxZwtFsJnJmoLIWBILGwCkQDqdfxpZkJxBkheDSGQxDgfWDKTKSGWaccOQtfijsSNwFmkdaMqbWxpfbeqrwFYJVayavhFlkwxsZHSEtWclLJVroQamxPowQKoAszLsyEUNOSUoeRZkbtPTZqbtTZwwxhlejSNazwqziOXrTiEYazTdFnoMXJBgPVBPcdFUTjEFChsOqcTXhpZontSiNRqlgwtxFWhprcjHPDvujtvjTRretHYYguKuuSZowKxThUexFTMsHIJAmtjkuLWvjCprXv", "puVINOYJEtCzUqTTAiMacGZMPYsUAKfQOilGjCJeTqSVgVlLQFBZqgkemQyzPPzLvfFNyYeyjGakFnaMCPQHXxWhHsLGUlAeonxsynVOMCsMIkmGsJZFLcGyshGjxmLxIZAKLHDfbNeWfcVIwOyxFuKMNvkIOlTLkboVlXcsCzhIhVTVmcWSKbPDvzOOwFrnpuJBWKqmYuhCqMpJjgJpzNqBLJpcrycYjZKfnCpIaimroKAYxmMoPNTduzXHijrcpCWueWZKZhmAWAAMTiFFpRdSwdZqoSVWWZnStBUQwVvkmNahHfBDFHJvjNlsxrWESYcuFrZIPxysHZIlofsDXcBphvjzdxDYuKzBtVRdKTaFtXXkhOsAATWcLopHEjaPgAmYNFHeBpwaSSZutZDmPEJIYtNVzyMztXhOOiVfNXBadKajhxsVrYvNvuGsBnJXnFSknTsUdDqIaRxEAzcbhWIFgYuUmPjliXZXIcGCTsSHMvaNKHholiVxJcNLIZRu", "CURPBVyPxKBdKGQSPikfSXXhjMTauRcuxYZVmfdnWKkftAhohkXZOORdcgtyyGhrZyCVXzWqhVkxlRlZRMqpVyfgwJARYtBGMABkDFIdrfHHxEjNruaXTmEwCygUHuqXspnKsbssMrymffccUUoBSensINjoLDjrbWGlYDTZLSlIRBVfnaJnDgrcSEWygYCHiZlRDSBCnxshImpUuPNGZKOqsrYBQXzUGwZetPhuTLYMQwSEDDpzbLSBnUeMrELjCwjkIlCsHWAIhQspHXzTpjYQPmoFppqWJFJYYlZdcpHvqPZEVHAFcJwxkYvvinQcfQQMOVpUSmJxFPERUyubcXWXSBCWIldZRNgtqItysVNVGxRCKYWasVbaoTcpkMqKcnUJYsCbaCtSInLCqfYFtLYbQRYPJYSPAtuKyOdLzvhNmFvStmAgczpmwnJuyXLBpYZdzzdSrQkVPVZTrFaiyywaKcgqxkQsGYNFhXWDEKNSKSjPikfCRLrmuzbILrfr", "etUMJGwOPclWHEUbhlEQfoCMLLQLXuRhffJZuFXeMNjVjgafcKHoJjUBrjkVaSoQOYGeHFKHKMicmFphxuigGGwEqutoJEBzaPfztPspDmufDGrzSpYiLNbdiofCyAqDderzWLxOnzpcRVWnluTwYeIMnBuJBuWOQRfafEguPlfXVnizgIcaqwlZFYnnWEeMOAWbIshClLAQYwcAUUeARylYwbbSzIowMCHAtlgjbPUcVexWWstrIwbuoUFxvlmrolAFJeCLDosUNfKFgMTgZucVaTKwkJjQyPGCSjtUQHtCnNUgqgoqXuvndjlfgqjKYvAMexvXOKIQMxsFcmuJPYYfliyvWklafgewcVAkxBZRvsMwwumOZOsjViPOLyfYDYhSiTifSygZyLgyqOEoRIMVfdLvjpSDnxZIPVnbansprzTdvwwhStRrkKyaqGsfzxNnQaMutSELwXZuRRCCtgSiXnMkVtIPJUKMCanUhGyNWJSMYEkQasUQyOjIpLtv", "VnDJTDgcaOuKwnkibXhToTOnbKSBuXhUsOBMryzKhyOqJGKQwjLeknjZEZihLxGCcxlbmSABwQsadqiJGbtJpTMsGRtQWpnNmoTrnRtPmTghMAYskkaOjZRSeaXvCODvJEEZEdQdTYdYnmiycgzCAIVsUukinqzwBgmXYAKPMfcycOTmoxgfecLRBZTMUYWaeVbNaLxQGkLDnEGznNArLZffyqqIwzOKUUUcKjevXTgnHVmvtHcRKFwKcMLBIMykvSzznwGpMMatxjwLsYsRCxgTNbOEcZgbUayjLMhYIslElGJUcGqbVBirStAZpTtpsbCJleuQHNJIqrgOJXcUpTykfCtXTPCmUkNSKYCnvJaCWOwRAFrUyAVHOqxCBQIathXpzMytsSgSGDjwSuCVfpIBegApEndJDATDsHRVGUemQxhyBaLwjULlFpCbdRcstOyVIKOtMwWwqguUMdCjLNpEGsfBYjDzOKWCNMtBUGUkIyUjikkJHiOXGhlbVlgN", "NgVjlOtpxNokwurkzEpOdFxZLfCyZjMwAebnZyxPpTrYgAFefHZrADdZSSCtVmvTPwMXsvPbzOKGmNVgkbrpTRVmhtkebRCKVljTQidUsNkDzzOgrqgUKRcASkiVWSgHHyxcedSCfpJRaTToGkHNImVLFgQWWTbKhvtJWnGBiKyYREpVMNiXSYGsGpNPPXsujPDDGOwHmPtRuJHEwCyAKiIczUTwFYvLEDrfTObeFBnMqAqBZFyctHrubYPGXvovyDPDoLvwnmvktmPDylKsaNxbZDfjPpjNgkIxNGVqZYRglQLdRTmAzYObXdNURNAAjGEBEzjumLDxXoruVqAxpjSQXkQUBbQXAbkULLmRBLbRoSrdAykjvxISVZJIichEJGwZsDdzPRDeSzFTYdSnFcuWFOGTLKxBQxXnqEKWjGpdraEhuiZPbeFDbhnWaZThRhrnKXmHshHHwLJiPhBgmvKBzWiJsvWEGgAPSuNHRobAKFFnprmekvipIRaQswMZ", "tEKQyBcvhzDMakhrYhQOlRstFaedurUsNrtyCwmJNtQaRAvrmeeTvGsyFOQaVaQCwkDprCqmlvypniOBtjfqcVqolSWhgHOzKpuRIRhICerhMYoUYooXehEQNrHThQVzxSkRkAoRSZDreSYwelahHXBPLWyWXXvemMlkHVFTHtYlnPRLFtzsCFGDdWsFZLusZkZDkDmdlkckcSYWWWJegOVsyEGgxUciPceyJgTOFdIfjYSpKIxDgzkRvQmOmrzTOEXGhwoYcbeiVrFCBDsJYaDtcbSztoGGGTLyNdDqPzrcsizedlFwwfVgfVrogyXwNPwIYoOOXdImtDOEEUGnriptfEYvpGBDBgTatHnrijuTcKPIFwpSeHUlshrJFBZGfYfOnCrtUYVqpocXWhwZpmRJQtEvsxPuflXFhrbcBKvnNRCwMYvwtasXxNcMgIAHWkUAPMYtOxIQnzCgHvGfcxVorEueCgbAowIMTGSfEHudZcKSZgfVhJksRQvTXOGL", "mvaVjVluophgzcgtMmojgPrNLgSachpJezfkWELsqSbWWoSSssamAxdMiXNlaNzeCobwFfDtskKvRBLaVhTziZBzIvJCRXldZKBhtkvODKSKDAyHxUFcpkBuWDmigwsUPTshVmZcWVUBBjPmrnaZqGUfweRIEZDEzCbKEaCounVmtiOHfUDGdTsHKagZzDhtKfvDxrusdCsKqYLycqKRTiBifvTKpTKUopyBMhFNaSeafSTfvXbISsrHpBmyGOnGsshymxxoaCdxxhPNSgtqkjSAAoBPaNgWJMMxQWpxkEMOyuiLiimlWiSqKeFPwGoKWGBwrfxLEdDIepfKDpMgatOgORESqbfLhSwzIvuRJrDuCnAswuxxJfCmWFfUSDXTnRZpsRCFnYESmRDQJTBjFItYfJKWgCCpXPbSziDsYKYUBZBuleFdDhoJUSZJUKliosNlgkxstLOyoxKOALdiMRZOQxtDUJMEeNtlDXOGYqQIthpZSiCXNtUMnnUOyAFt", "AjiLeGZELPgVywkwIcCuiZPtILmsHfNgSfBqJhWXcRYadEYmUzJKRpDpDtFVWjwjVlXHHCmoQnNdkLoIeMpAzmDwMXzvFLCEaDNqIhynMgDtFbSYGefKiHennNLxkvDGLSMNFyzldLmFEhHAtlEdVdcqULkQigqHuYGnHWRAdDCpAcQwzBFTlWluQhskjKXQGcbmUYShghFlQoTaDbJBJUdwGOWsWeUPRBTHybqVZNmFOuURZhelMVUpkelJpjXvzgXPuFwxBGuZFIWnHpkRPJZjHOVwsstkRAfYasRiOFLuAmLxrhfhiHpGJGOZeHPPIjJLogkqPLmXelpZYHpajqXthRlnZNuJNZliOFZiGaAiPWcaQtNUChnKREeVAEHXcFprSfOaRMPThHuXLEpjgMFiZCDafAWzyHGYrbuXCwzJFYCWvBmMHPekaCyfxLocuoYiYvJhbaYAKTfjZRwjxLpKkaSYZqeVcxCJyKlpByoplABWOjmQfaLMhyGARcVV", "YhimiukdLFerSRcxEVHmamyQbIyrzbLnJJWVfecWQHIdFdteiAKyEMIvXbRZOrZPBbWREwbyApvVkmNmzkzUQbqDarRAcKtcAVYDIVqvqJEAiiWlmgfyCikwJMcgtjhUbZgTUjfNaMcWpmnZZCBCssaJUveRqBLUPtLQVICdWktCDffWWaQWxCfbeslbJjbPXWhiwLggTUPOaqkTqnFDltsATFnPxXRjzXuWcKlBwsCYFKXLyvolsMXThPTLTKTiRMeeaXZVUNiXhsmsZocKtCmYccpZKEPesOYnXEItOSTTCwKUreOsmerspSRmMVQRAenBreCOrwAEDHFDdStrRlHCPjOnjITDcFVIQfYMShiKttCbRYdgLLYccZqRWdzhmIrkXrtPQoHfSFdspgxrLYcIYDcmIDkadnJlgeVyRSdrQbPfoTMtEIcYBpvZNGeflxwefppzSnBjFmcqmGtivPQOGIkaroSswheHoSFKNCLyZdrkLNUaaQxoVLAniAwu", "FFCyPkgtVujDTSRXmLmGpgmUNifQgpuoHOOokOPsSutSwbNnWqTaMmeCQdvGlRoDeUoRquHPMjbayMbgEXrtbYhEOheapFLioFQSKsdZICWpmLlHGGqLqUBCkDyRvjJSwVHrGSiDDInWwnXCosMKLcyTeArneXiVtRbQIlFLIzduqQoHvcFvwCyELVoNuscBmDUMPxhBREADoLOMELpIFgOOYmMeZXfQajiBqmfSMKldtPtDtLhiSVbQDbVNCniTpteElYxtGIkomUnmumFpxXfdNqnhzpGhhgFzunRNEpOQnmfMCMkZGOAVtcFmRglTrBsiLRmftxJndKigAXdfYvYKHqaSZKkrqsoHAbzcqaBKjtnchneIZAopQsnfYVDmHByetlNxSFziwBKgbsZGpErldwMUwAKEKzgVyHGEHVJYwrZKrsvHGnAlOkAGXBDpXoDjGZUjbXKRJBvCUzviwZINWMDPmiKRDSOkyZvgsrvAhsBwvKKjZEyoHtLWoLxG", "LlPcLEylMAplemGjqexUKWIOvvlwRcfhiDYBoxtgRetbshyQQhrqmamQWRDkvXJqWXBxVtReHSkiKhQNZByGpWfdiQjBPTHLuAPrBGqPaBEnfQxWKAtSfOwnuuVFfKcemSYBsjeqlFnxnBLxmJFhaHPmtSSfixvzAIZLnZjkwsHmuLzbaimbcdrDwnpQPEfErWJjHWoCwmhXazKVtTxmFQWtzWvBTueyRqKzXdLXUpfYieLngaMEKgBdgNobMIhaIheZBMAGtKNzwFwaSiwOaVWhWjfwdxpOMKJTDjAluJWtktQwDzXatKvXTFBPJUMzNkZGLhEonAoneTSRnODzuRpKpWCKNHinzFIrhglKUrcvSFPphWzDIVFeTQafbwJmuwnRrIDESWVLnyxpHoSfXInBgPgnFretamwtTcKMGkbJkMniLSeeMXccqeFkWXrLSQrXWMmJhzldIuWjsiRKpsdZXYuNTSVKlJtejZXBqxIvmmtKaUZYSqFUifhlUNpu", "gmANdOzOjdltYBVJWpOPqvdBRybZJjuKdVxrCgAWvQsCBJGvhNgKNOOPjCpTAYYEYQAQNpOkZTaYooApwFPVgsXfgWRQmkhpKcACEBDSBDAEWWieiFZLwiyQBUrwkMYBjYsYgbfFjROfshTxQsBWXvphUIcdQaALxnYKXDAcRNczxiKheZbeivAkMtkJpxAOaLKQxPBGRSWlglQVfDlVkcBeVpZJgofrjSTIKWPQHNKvNAsGOGnoWjTlvSMKNzAVcsjAsCcOCldOynMEamLMIyzWHtIoewfBKkeetAqEohHrIOtiHOtPMPAkghiaQcrovBfPYPhNkHCTlItHcrcBmbgeeAnhxoqEZwOgMlrZxaFOHBrtHVKtinCqlMPJFvhYYBBVuwvTmcDKVjRqPNRpeWFSJfLTbZLvzQLUjBxPfqZBiKEWjtgCdGewvLGdJKOWmKcXrsSMlDrozoSietzTwrdyNDINxfVMqKJRYKRyTWCIoBSNHcRhsnRzNtyAGdiY", "gKzSMbHggHXjedIGdYzyKsSWpBTPxKxFrvjuSTBlBIWtrhlsOlviqyOFcToWoZryonflooNMIRteDzBGLPsfRoEEnqAWKlwcmyrXyMblSDcPQlqrFRphIeEIWERANdqPnRhfeZxwzotrZtbAJXrERRHLayHpVfgLfvbBPsvdyqXHmpdhSkeKYeCsBINYcoCPewdegTqQSeZOWYIloCYDqdwSqKoMJbpdnXEymnqnahtigsMnCChNpjSdzZWQIYtGMQVcjACDJYgiQmUUWCSUBVweaaexlAggdUuXOIZKwhFlfeAnkLaSyHcgWgzDVzbWtjEqXlExGrDNCkpTuyIonEkLqZGTbjcjNreznbKIHPeAGSnxvUvtnueoQcHBCRNQwHZSHzPvaixBRyiAOHrGlYqXOacVjrbBBiWYGPMwxfLoltWueqqZbUxXNIOhBrUNjPbWSpVmHaCmBXUIEvEMGBLMJBnCWhgkIyNrJMUbLsHEqmYNHfDPpCuwQbbgxuBv", "JGGacGDZCHstGGLLKMJoWRShBKeoGvgPbRqiulQjcdKZmDvqwIhZElrYJbFRxugWdDzcaJBGaYDITaTYDZhvbkBdsTrJivaSNKQUFBOzLoUhWuZJmHHisTLQNPuuhXzKtqAqooHaYdxlLagdGEbMvHVYmROmFWygtxppQEaIjcdmqcmyKcFwjAFHhjcejooWPVehQFJyQFrmbRGKxrncPOCLJJkGxHlCbcuXzXUfgYXdXxGqSccNGkiorWcXZHTdsYWOvSVPGdDyCUyaHBguBaDrsLjtRjLOqhIUrdmrzAjyDNmnFUVvGlUMITHpFMkMjehOoNsBUyhsLWaAMCssQPiKbaNedXJeUIdiIqarAhfbbbgzovmJjRMtEWXDoOGuzYBGrMFOslQlzGjCylOPCnpEXhEqcxVaUErvHvBLNTWslRJwqDJeiHcoTUYDsrZHZMYtDRgBWJdKYhAAeGEuAswDSFNJeDixSCaAFhaOhaslORnDYhDbHEvzkmBPDsLr", "vvbTdHbTdhCkMoFobmhaCiTBKUIhSWXROqVxDTvsSszuSUxeFfzqiHZrcOgCHqTsckspiDMucqdzaNjyeTWCURGjfXaSIffCglVXAoPMXQWxrrIyBZJIPgwUkKFYXbrtmWWToGZHnYQUXXMZFnhLqUACpXYLZgowxSasIBAyZdOdmTwnwayuPJUVPhJSrKpYpoRKeQXByAqWsUTeMNxBsvltItVGAxmeHPSRqzhldqOojWxUDGudLjnLhvZMsoIyRYuvIndFDUiZCrqsJEtQQfNtGsIDMRRcrEzsvLTxmCQUiILfcHsvsTmtxJCHAHzTnSqcgeUSqpCtLXVmulEzIyDqBwyrrMKjqnVduanTgaoJfHBUvwzfsVHIDdRuasFggDchhfDmzLTREIHWexrJnvJTEStBoePLoSKQAyNmGDrXBFeRSlYKLpgLGMNucsaNiEnYnYneaibILTOUsjPvUSTfBIoaUNTUbirhbaTpfBGjshblidSlgjAUhbKaoXZD", "bzxneMGtDathnbVjWOZdDoEuRFnKBFguuICsSMJofhNwnBUhFZwvaierOZompCROILrbbXokkBmLagipHVoZZJYFblniswdcNKTrWFCUThEYyoukxUmKwaYyjNqMSVqvEXRgBUvsaIWmqGshjmjwDjmApbENJoQtgTzpNsAsHwIjgfhUlasjvIuydGlGEtWPkdigkNeTgwGEzjgWSQeBaYqgxwCwrsiIXiknUZOhmVPIOKftzZdJIaxDqmcCfnXjtRQxbJYOJMZKuGCGOmaHzzBGVGZHqJlGASNEOplLcdvdVMSHltHbVpEqPGbIrJzXckaRmOtfmvLIsBeDwsdKhRWMbpSjxUUoIqBNEnyKQdIyUXzZnCQhMTYfIjoXIpiScddrORirtxlnkSsnoENZsUyCICBdaQyyxmRVIAdkNgJmpqlUpFjhyozDQhCvFgXtqwhTSWKmtRHJCFGcisnrGJCKmZlKFFbLAGaKubuoNXLkmMGQdnffPTRMWuKKTBzD", "mLnbzeSDiEOohjUFgirRQBHQUIlLAbUrWaMuQAuHRhGpzbVIfqksWrurkoiDiSRDSfOpdmPLAnWoAljZyyvGzDWqydaaiMGkvyHxbeZAKZHQyiYnReKxABOhqzOCqIdWmOwvsAHIODFLFCllWFTYIYJvnWHxwAIFjFofrVVrzTbIStzhUJUwxuuyQhQjNRPReHcrFXOBZAPuxyudFURpZNOJqpuTxKQhoAQJOfRcGcmkNWXLWKWleaVGVraPwsQLHTVhqBMqSiTslgMlTpNazbNqFrYVBeevZPFVPeNQHwutaybPnactbCLpUMUzLItbPgLVFaOhAaGwkkfrreovlfCFaPsFyxJDUclNIrdaJszHVkzTVAXvkYzLlYORHvGhYhbEtTpTChracFJZvAYDafDTCVAFTFalFYmtFXIqqQEyhfakuutGwDZZVhGEdVDnORYoKISKrvStUjytawSZcNBNraRlAdJGBNBEnyaIcjrQNVDGgKzSHMMUVcPYvkqW", "gdqmdKSOkwujvQnCOMEhwitWNwYZJuYaqYLKnwboZHVMbhJkEIbOnrMrbSPWqMfogAzwXxFzQGxlfdpJWtuWIZhQaIoivQVoGRDbVPeMdnfIAnRRTwDGajqzcGWlImLLlXBhZFIFMcIEZbsCPhIEBvZWYEeYmHfxNfVkYHnchfpNgvEyHqnfkMEqAlFkiWQklsaoJdaRipwfLiPCFrkyZPHiehCrgpdBhTVeqjextazGcZfleqILxDjKaxgrImMXNzWHcwXcZuGtRivBCcgXTGvxYNQoaTgDgUKdbLOxidogQgpsgnkKDKGyAucFLbglSvvIFpfiKjkWlnpXtIqYWuIdglXAhDfHwtwloFyzwXLewOVIjCplvBZlcXGQiCFeurwTIQFIifXUcCoEQGoiRvlxGiLqTEssAeITTVDLeWaAaIrCtgNlVUEKpsfnpaNwrXHDQGFNSJHetJBYFxkzhqOteeHgKToTqByvUvlJCWMoeahiryRSphjBzLlwlujQ", "nzGpBPNObCXKTbYccNmDdDNpBINHjTZNbZymaLpYTUxTzuwPsSvXXFzgZVqJyKFEoesXUOiqxKAbuuYnTVgVVwJYeCQcqmyJrbdfNEytpNaxBCyKRSfeciULRLZbFDMsOoycZbJMHpBiVWnINagjaQaiaxbeYfPibqYRMVrICbgWPFZvgBshuGCNHKNyJFwslZjfGURySgQSUlWoDIDDWDjcuIAsgYvfKrhPcNaPKsJlefyzHDgdyziwljirRUpziHkUqGOVLnJCWpXRKJELktCquBZjILbZjRyPxBFmOQhsSiLOQfywbNYVVyNERQxDfgRWuvzyNyFiWarAoPXHYpWRurAnxPdGpJAIdbqmdZtOIuUXDMGqvDRoCFwEodGBtwvNcKHNqhvAAmsqMsxsedeIkIxhmewYhFYEkEbzvWFebRcZQnUsWcWskgNULTOFAxdnjAzjPJRaVHyASOejLpZncUrbWqHYchHnIJhtdZWqugpJwYxaCJaNgeAdutvS"],"c_array_datetime":["2018-08-25 19:21:20", "2002-06-25 02:33:31", "2019-09-25 13:26:12", "2017-10-24 10:58:55", "2007-08-28 11:16:13", "2008-12-12 12:47:10", "2017-03-12 10:37:44", "2015-02-15 09:18:10", "2017-05-22 00:14:31", "2014-01-15 22:41:34", "2006-06-22 11:39:01", "2004-03-22 03:23:02", "2014-04-03 15:08:03", "2002-12-07 21:48:35", "2012-03-22 11:45:52", "2000-08-21 01:18:22", "2012-05-24 06:46:41", "2019-04-13 10:56:13", "2017-09-15 00:57:51", "2011-07-25 17:31:42", "2006-11-02 10:25:28", "2002-12-10 05:39:17", "2008-10-20 01:15:47", "2019-02-17 02:49:45", "2010-01-17 09:15:58"],"c_smallint":-3737,"c_int":122095526,"c_decimal":85.0861,"c_array_boolean":[1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0],"c_array_ipv6":["suiiOYDMjk", "khkbbrVJat", "DXpYtLNWvq", "qHJVrtvRlW", "HrfTptuepu", "pffOQPSTtu", "DIqnKRJiFS", "BtcezvEtPb", "CyogSBmlUa", "CUlXIEOVlE", "tNfIsmrDDp", "KPlICcEpdO", "XxlJzGUmHG", "LiHzjxpakO", "wMAANuTYMB", "XytzbUVgcn", "fecuQmsIgz", "AWIClkboMt", "UuIbsXuUPh", "hNjeyLzbVD", "pbUWAmpCyz", "uJhcHQjwpu", "kHvvfcstGb", "EJvjDaXNQl", "GxqNPOhcGU"],"c_map_bigint":{"c_map_bigint_1":1882971652516590490, "c_map_bigint_2":-388478282479830903, "c_map_bigint_3":1101565844856729117, "c_map_bigint_4":918963855584393104, "c_map_bigint_5":-7032215146822394435, "c_map_bigint_6":-1007357092464845497, "c_map_bigint_7":8362935990984227380, "c_map_bigint_8":2661365852319994012, "c_map_bigint_9":-552531226115907641, "c_map_bigint_10":7956636944928992840},"c_map_ipv6":{"c_map_ipv6_1":"7eb:6a48:c87f:83a9:e642:fdab:9ed0:8915", "c_map_ipv6_2":"3675:db81:611d:d66f:d514:45c3:3111:f256", "c_map_ipv6_3":"3894:adbe:696e:fc76:4070:44ce:4976:5e96", "c_map_ipv6_4":"99e:55e5:a672:1599:b98f:c209:cd0b:c056", "c_map_ipv6_5":"ec71:870c:1030:a689:61dd:348e:a082:9777", "c_map_ipv6_6":"a32a:2f3d:b339:d80a:526a:f9c:71d0:674f", "c_map_ipv6_7":"c0c7:94ea:8384:8bfd:62e6:efe1:efc0:4ca9", "c_map_ipv6_8":"55b0:7458:6172:be39:180c:ff8a:81e6:666d", "c_map_ipv6_9":"db39:7e7e:ff9a:652b:d9b0:71d5:df31:2a1a", "c_map_ipv6_10":"f028:923b:8d7a:f8d1:77d7:1a64:5356:e893"},"c_map_string":{"c_map_string_1":"hwiryqnjayYrypsDDFhKgmcMuwNExKXsBilCpzuobDdxqjjOHQOpOctrnzPzTqpOxHWTfRFmJuCNuAelRNburxLTsTJSgzMclqKKrnVyNSZSuGZyqPWWBdEnUfFlxUwdptDyeknnxHFSJatdtICAlOLTmOgNYMzSRfqSPfnDJRarLFQLUEDwdhWaYnXPfzLqkzlxMUerCbwkVkmbdFwAJYjeaBwUgGBjLmiYCauWivLYzGmBWtHmHxjXiQkOyvTkbqzEDfIRAuzERkcCzCqbNzIkGeSHAufftrRNFAsJYbLzKJmjjoDkNJGBANQOQZhFdWWbwvEpqEqiGjFcXbUdpQHZMFyYUiIkjSSgzCwqfwsJTtbvUAgHnAcSYsedLsCFCjdMUlUxcECCCVzDWqTSYMFyYtKRqggKsRRVgdFAosazuSoUqvLdwEeXLIliHcYAyjYPGCwXBHFaVzdMmCvmDtxBPwlTNFccQjddTubsgwipAqKYEVrUdsOXQNNxnOps", "c_map_string_2":"mWcqRkLnHRoiGieuMSWLJBaYUgkoxHDjeeqMSqgwvaxoBUHsrlxuUjhzuDdoFFVciwghPZvdrhLZrbZxROhEBVJfORXcxqwXbFKrHFMXUbugjndMmskgJmawFIQnsnKqFKWGUiXWvMoUetuORpPUuYWUFDrcwDvNXDUDVGsvljqsdHWfmOjRiqaZewLuyysQEXXPWkujxgkLpIaJzuhVUWhdiyUePEklwohebRmySzcSUikQncSHoaRgMZXGsmdTLEmNJrEqGrRNHpTpQiHqYpNMWJjVocUAwymlSgCZTLqcZqwuWEtAAqvCwaWkPxLBUeJUdwKoodkdtoFrTIEginIdsMRuPYodvVtuuTUTBBDciidDeRSEYtPqmqqMHHUNvPrPUMxmrCrcpuOnjqcbfPKpmVsXJkutQcIRZIsjxlIcEukWOigwmMBEiiTMAnykQGyIPVUeGJeNxdYhdiCFolzpiHIBjgqGuzHcMeTQAzXwOawoTSwIPEKHmBkSDljf", "c_map_string_3":"ORcSZtRtVYFfbkGoypbsnLyIqDQjgopmTkNqTbdUSXHtPrFkAZrfdYFxIkixKhpjKbGKDBnpekFhVhQRlkyzmjVtBdToRfDZEBaOazFgneHKlgYXrmnVBZPMLnUJaaiYcaAOEAxweEmIQYroiHkikrAkspvvkAyfsyvLTMiWELSYaVpzBlhCTxqVlKNcLydAUhOaXwRQiVBMNwksmiLPMYFUbYwKTYHVwLzMWQUlAXxgcLBACBeLaMMegUjaSsjlrpkxyKMBqmdZxNpoobCZMjAIeHXUmclxrVCqFEyieNmUhacevMXlCScVUDLFnkPKuGxJocBmePTJljKxUNtlkAQuYcOwknkruLtJSdolsRWEsvICPEpktUnNIxMTGoZeLNxjJdxIIcepahvLxGuQWMHnKfLiaHRqMGkFYnOwKmUOPeHIGBMzhhVYDjsntWubboIlLHjzZYxasnyLEsHgCLJDdHUtklbOvrrSlgLxrQLAYhHylCChrlOwvbVQJBjK", "c_map_string_4":"KqsYUrZvXnjEiusOacInvEuRBJGSsbXBNHgwrqjDHIHbsNhhGGcvzJQMpxuamjjWInfArHrhdTGmPXohZlHOxaEotMcjUYhHsGHmsMhnqAWqqEtEWnmkxoNWzVNohHcHZNSphHsvOmqRqWUrQXiymLRSczUFYTngEFfsGVIzsjqWeStJRVrGUyzmEkRfAJlqtANldduAjWeaBeVknBWpJNtwdncNJjXCMtkLoJejEsbQPPWoCBIwZEbCZtWhHaDxRdJceoJcXAkdhlwptBdBnWxegzFTvdTvzHwEJsDGPQoApXQlqnjpPvhsevaEuSTyZmZzMbJwHiuxWibfURnPMnXKUTDHFPxIDSwjlXpbUwuoYcvgriZnuyOIEzeSIXeGTTuXlQchBDubejxDTLanEiaEGnLXlsbKbtvCKaLwPYMsJCMslxixixmwhDzHistNdtLTMvKEeAXMQZFIUafqVIMorOaQiUsMlJnoKpFlWBkIhkIiZVoirdsqncdtmilI", "c_map_string_5":"ukRyuuGDFPRfWZRANfmuLrzDsPAmVRuIJBbeWYxZyWYMPjpQDPJVoMKexGzxPQYLyzwGWnGZBqMvivylsAUrZnMYBaqtnwyoTxXRvjeoSYZrqdMyFYskSNwqAlsyAGLUYhWGWOviIOxtglzvmxfupKQBLZqWENqIpRVrBXIQqJwpxaOKUBCYgEwlCSrRkzcIwMwudOBOKTmqakCyyRlykwHgIWVnpMCqzeldMYXTZXYYwYbFOMzVhxSyKubSRoJbaZScGkGDbSaNEXxDSZWEdtgbmMNTAqlYVOtHxoyGPnCJeWjLJRtHarDRQxVieeDxIshIfLtVspacJGDczMDNSmsRCwgUngATOMZshUddmFoGnREddGldmYodawHPHZnTmZSDtKxLRWhlYPJlpHUQxFIIepsSESxRGhmvxNOWNqqNLdsfTxDGnwiSEKSIKJFBWAIjKElqbXtCTsHXFVugdKsVAoRWIlaYrcShHBbtlAHiiIYPzlOnLCPNNYZdILLl", "c_map_string_6":"wghHXhncQhDoqFCIJssRbgrtXNWqjIHNANepIkXsMBJtUAiZyeOubEHVdKdBmKIqngxBsZnEfzsnvYZRvfTUwkapoqpwfHIhPhvASdnRVWQtLEXXdSXzcEWkJhdKKLKYUNlYozNrGZvsLOLlXDCzvVvNeUBabFMFVynEOThVXpNXhPjWCEjhsvzdTktUIPPRscOJEDuhhtUosbEPpRlBJpUuiaaGalqCdxqusAdpuwkviLAIGVyeRYTvQDePSIBQbDDBPuvgvPHVmHrZNkdaMQSSQbZaVkxhnwKnGtwFKhgCokKzKcPUzxRHxNCLMLkBuZBLMZkDNUfFJpwPffnJtQJUCUxWXYZFDTBBpoOXLzifBofpNPjCDedFQzfttXctPBAfkpinTGEMGuRkICwZJMEnUoPpOuZBtPUoEKergOCUuaXIbaBxTgQcOUEmJNnGkBPvIIxwrtmkdKLzPoZNaopuicbnbSSAtBxUCwDGWcJFPzDrYSAKFOAmBbThKmpZ", "c_map_string_7":"WeniBeccTDwKsCikPfGembssIxGhKXPKfwUuDjWFtQBMrSlHIEiDNPhUPADVbWaxYlgUkjPqnaGeUckTdgKkGzxyequBqItURBmdpTmrswktCducTRWuBoLQHUwqNxIoJcvmGhbTmgRdWteQkEqWkVVdMtogceWyiZvZDuZvNAEZvdWZmsfVNLQGNUsTqdKaIISZINJheKgyXBAqCwibFocJayedIEfokVvDsTeoabtANQwWzMzcxBfIXAXckLULGWDCJegSOLmcelUTUkzwIHnNJmQAJIxQGqTyuSxocOtWGmYvHVxnZbpEKJNwLhOzmliSNPpJeUUZkgIQMarQuqnngZtkpmUugdsvTbhTHlDAvVekpBBRRMaVrICmxkragvhfKzDGpvLoJPtPrjnFxijMaStMaFEumyiSvbVpCAnqcWEjppahSciIgbEkNtWVPOsUEWHWDgIJhnKIWyXrAoYQdvbOKKvMyEMnAiWJTSSYNDjQbEkWPNjzWUYAMFMG", "c_map_string_8":"mAVnruGUAmQTGQSwnUZuVUecuLbUKcNllGhUpdkAWRqcQnIPqgEerApaAwSczofBLEtDBfxAFpvGqieWelyMpqRXQkLpIduyhTrWFrrKHqMJwwmxmAePOYBBJrJOpZjxDkfFrcqSbrptwAtZbfhSlsonWBzapIBaQFmMTwxkshcIRaHnTTuljuQnfBKNVPnERKnZJMSXMpzvHDpkLkLrxrrdMvanaQlKkYPYuNAivxYwKDypPQOEZZYffeAAJurTBLNXnGUVlBpkJjEkuCRISaJXpcVtixBUizpiBGMGCqOjAMkagtvxzjKjjbnUzamgWXAfDgRlNQnEIEGPpvvvlakjpUxURupqygRJgVoExDrteQsZtYceKYKgHWxGOqxrqlwRdVKbwufiZOkXfflmIXlvevPLECgfGuqNVulEcJtAcVaoXRGrwDVgoaqQaVKzxtyQycfqhamZGhWsUtHeCHFwqUZfmskJuRinGDXATMzdBzYGoaDPJehRjXQgjWwn", "c_map_string_9":"rfYqInYjtBmhWjdaTIukImSIBFjviCeIJyHHGyyHEgWRJZeUKqhedRjKRseaGPIenTvvUdMzJWZvUHrJhxbgybhSHrtqXNHkOVbksAPrwUQYZGtATDzeSqkaYOnrqPRILfstqrREWkiajRFkDwDXjaunurgwcWPxngApIikLpTyDdsGcEdxeiSEaewIcvpNvxWXWdStUAVrjkDcrDSvvDUEeETKgbecWPkhhtaquEfNQrqDKjZDzmEaiMDIxRuDfhMbgCksWBRBkFIYmcBRtgmACUUOmGASLmOmZGIcCPcaIHIdqxKdvseppFIkiXEVtqBVImRUkeJHFrzRuqDNGShkCtSsnxahKpwGFUchOgBbfUSxaLQJIyxfpzFuXQFUmiaLOSoPseyvtLcxtzAsBRffMHHlbzRfXYSHERrbdgJzZqdXXkHgWlCgeaIFTTeYbatMDmwLwvPVhgdoDZBJtlXEsDjJaMPlAoIiSxBgqrvSDCifcZHqBMBkvxEtVJhne", "c_map_string_10":"hmZRSRgAnzsnKrWNkZtKMreZfKMqFUjcsIbCbkuUVHGWfIFavxpIwHFahuxmlzQcLwlrAIMXtjeGXasZPSIPCtcmlWNDpQYabIJzHUllTrMFLffunXUmeYoKkaBcrisPYiRbFoGuHNfRBHmGTUjijFycpKnOrhWiodYqVfRTSBzvxKZaxVKGRYIyNSCxFJQVTunFmYuHySokKuhagjFzgURBVURJMRrIlqToQAjXsPehJDEWPRYvnUjQOcnYXxfSgjQUYaGRADssnmSVOSfqQPnHWvawnRysCNralVplfrXOIXHdpGSVOXizEwxoUyTHOgkBzHEDYoLTAjCOZfuJSGpDVyYRDberFIhuecOoqxrLrxDnKADbqxBSTqIipYufkpWucvrvqCRtTlSHgLtJzjefmEHBRDRmbrrmuABDTymgCyFPQKUQVRQKsbxhLZbHgixJnbHJqVYmvksSXtveKWJjNCmHccqaWAanSBwTDAfaLZvzdYojFOEeCHvYBDva"},"c_map_date":{"c_map_date_1":"2017-06-15", "c_map_date_2":"2012-12-16", "c_map_date_3":"2017-08-27", "c_map_date_4":"2001-12-07", "c_map_date_5":"2007-02-13", "c_map_date_6":"2016-07-13", "c_map_date_7":"2001-05-18", "c_map_date_8":"2013-02-16", "c_map_date_9":"2003-01-27", "c_map_date_10":"2003-03-23"},"c_datetime":"2018-03-03 21:21:07","c_ipv4":"61.83.178.164","c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_float":{"c_map_float_1":35.089207, "c_map_float_2":40.01421, "c_map_float_3":2.0099423, "c_map_float_4":15.431436, "c_map_float_5":72.851494, "c_map_float_6":28.00267, "c_map_float_7":40.412834, "c_map_float_8":37.53691, "c_map_float_9":57.77498, "c_map_float_10":64.29092},"c_tinyint":-20,"c_array_varchar":["ZJisyMCtzvfLSDeUUxSYZwFQpDbqrqAHPYjnzCFzRYjyLjpLVKLanFWhJdpwjGjTRTzWcmAjrxpdJuDmueHqLKMiRCoyPsffdGAvCcMYsbgOQettFGDKIxrANuECkykBkhjGgchcDRxRVdtiILzxoFSwKCcXbxsRKzknQMhWEUZybyRhkWEPelykwSpaOZUZVMhDYtLuKZMmqvTTNsVBlgacCJvfbibgGJoxyRmobDfbhOLuDmjHRAXssUMDUMdv", "XjlKOXWoritwBuNcdsDpOtQIkUUwodarxvohHADeQRqozZEbCxlVQKWsrAtwrMkebwFphiQvogVapNPUJxRQfwptCExUbqSpIzAIdebbyBrDfAJWqPgFnMjibowKYvaLTUqhdVqKydusaqWFrfLHmpVaeGJaREpsAPpBfmyXrQeAnQIJLsVUEmAnlmnDViXWpkdRdPWOHBvNSqjSMvtFSMzXBvhQHNNrpoHZXaZukSpyuSOlnbbLXSpKJnfnMtQQ", "KXMRAhPHOnuOuEePEdxueITjutvAzjgQdnvmprqFjHnqRMYzIHmACfXfdrAnhozgjepTNLPGKcssteHfVHTwwPtFOBNjyndMbIWJzhTBHRijkkLbmKrzVoIhrUUJExfXHVDGtlBokrDXtYetPmnaaNmZpikkRQWXBKwdquuJlXKKUBHjhoqyCbyokgbUUCZChXcwiiLGZCdBZkFScXrMWLeMpODhqRNtkDMcGWXIlBINeYYTecnfUUqFPnMZywCC", "gNISaNNXJAqjXyHNyaCSlXWtxsNEqycfFWqXlVyRvbNsfqFQxpDSVABDojXzTYQQlPxuEdbZfRrKnOjckmDAUoeieGcHcipsuVseHOwOQJWxqalbOkQavuIyBocxQEMGitLEWsARXpuhTEqiprksZaVooOXgWYKAadnMyHIfVyjjIXQoMVsQTcnXMMqwJgcLuWhEHWACOORrfYnzMZUSmWGmUEpbjZFXNkerATPFQAkqzLBqWQhNFuUNymsUHGsW", "FEyDsssLXdfftcxdpymSSSHZXcZzmqyIwPsmgkAWALuJbhMxjcYBKIUZLKXPHsCpSPzPrBsVXvfRzjHcuEtloghFWnbJfXkzTQcslFRjqcFEIdAvNrETmaoXTbMKTHYgAjZswlLUVqvBHHjBDtgmhZCrhvaAGtmJzHHIdBcyBoWDIAUMDLpnCVXwaEmYRjXTVqZYWLWHUFlGaqvSdneGWoZfDxETQuBnRwHcytlGibWVgApckxzFqRqyORwwMSOS", "hvRPcOcNLIGegfdQEOYiQHcrhzkWDLssoWIxDrmtCSUpdKUszHQJXCkPclpwaUDPLlbiiDMcGoXmSoIQCbPOYbKDuerTbbNRcRXypfzErDLTyOMwrwcIuIGcUycbKLekkbwkIdgjYVjLCuQClEnxREOpZAQHHiUjnVRklKKAbrLLrkubHALYzOrdYYfWwdlzQDXyHCtRuyokTTALTGghnXdHXAGzqGfLDBkBrNIAPCAVNGiHoLQpHLzAVJeSlmHv", "jaGLCzjhIOGXgYQdlCmaQGPzAuxRwdWvrGxlhpFJUzNqTkADscWlIUsCdeqBZRjTcsuEpcHWOBDqKHlQPOzGZVFvutEMcDNhtPmXbpCCDfkgaMCqVNlaXXqGVMdlhHpOJcvlnRamAicNAHUKXlAssdidarnJMRWZDAMUoAXooLyjMQbbmfhLiqoFbbpTSMfGPtZNTNYiczobMajBjPrrBxeaEOKaVYpjzfwWWQjOdziplymYpvCxcYkXlqQvJIGV", "XUzcMcSmCobyoNjYXhYqyzZjHTLXOuIsdjuvvckCHWQZZASWbhYyBMAciLZEcGPLrNSjkiQEJYSBlUrKSWAjwebkahoHjUEuDMoClolWAsJAVjKTPhwOYHaGLybKikjmHURVaAOmVYRxegRzAuZqmttwnEGHoMsLiuYIsLHrZlOGxmuNBGDQFMgkPibzYAEXxRgwYHXFkdwBBFSDfliAoZktzatADTTBtFQfGquJoTkIKrLDoToLSuKntnrGIooA", "XRbwjbwGNhIOpfpQGeEceCypnZRIeoDvDnjgEPVxqtkHGZTXbNNrLPkSqDKTTtXKLgUNYrWfhKgQrpxtfNANefOPSpVeqJNDOpJWGdqyhQCMmXnPdJODmKikTKAWIyjqwvASteFHXCYpvIwNvohreEgTAfppajkeGucCarCqUlxRCHfwpQdmFnqsJtIcBRjxHzsfkqQXylwBxeVquEdLfGCGveOsPXJqlfgfosRtaHzaQKPDTfTWgyjhMGslEQAJ", "CsAhfeytReDSHsxhrdoymbtBoxnesvrjrXOkZmuyGoCdTmdmGoxHoAZKiGkiVCMonHdedvNicjRfhLoGUftMCpPrhZVfnTlVXecXQNCFyJEPVuLnhiNGcEzycXlyEDWUAhxwZenLqjCdmBBqtZDPMDiiEeygZeCqBHJSijYRwHpBqbhowlRzvhHzEaphaHSxOzGQyKVGIhqohViCdIuyDGPRrzKPnCCYprtwEVJfnYRZTvbTTPiGuEXvyWGGmbrV", "LWSBqzMLgGCFPFOqUDqkhaSfwTLAmiYlsyulWsdxlCyebSNlvQzjUDnThoDufMzZfCaqYIFHWLkaurtIbikGIWBLMQUtNhyRatBGrEMFFNXyomrNaktYQlRCHvfsGZuCACJdXrWlKfVlmnqaTuzMjlsBuGQEfLvYhTSFxXbugkyRQPCgUNORbvxRMTXgknsPzGgUqpuMdHjtEGRoUFubdrKiBjxkvFYrAkMpOycrSDzuYbgdfhzBlWVjsjarLZAT", "zLAbJdowMmioqSDuRKAqoSitaFpOXpUKQwnxpVnPEHeAWBozwaVoEXlSXVpSYHHlqsuksAHvCrtjnRiKapUeELLuNGQxASwzcDKDAPsWVCtZisTyJvWmiYDmoJcHFvdLWDLQeUnLwNotcvEZnmRXtyuAfsDnFKHAoUbIbKcaRHnckOwQKQkHSBmLApLBOEKLcPczgGwOCtYAsVzSSDqgiIDuYlFxHJuFVpHaRNBsJjuinsQCxUbgUMDqATAVhZfo", "kRtkcTBJLhWJpSHwSISxxtATiJDbJgGeZitZIKfllGMLDGZAQlwszIIhMBwyQYYxgHZtcEbacktcUaqEYTElOUTrbqjppHSbDuMTNiZuDQlJgXBANbYrMrKUQzjcGmVfYPZRVStgoRCrmCKpVrHVzmIpQMGwdCpxoNyeIitBUWmKDHdSEHhTrCHRroDuDmPadpfQiGhiYcysTzdWbUPlyLzxxEKJQuVKebdMWXvGSnlrIDheaMzlEFdBQQnundmt", "iTlIeACovGfTZlJUVJspmPvuXQrjoLwaCnUwLwjWBEIcLApSoswJMmocnmCJWBDDfMAMpXIcAyBipOrTplVROyHvCVuggogLcLCVlxJnkAnWamzFTzmMJodmSLBgzAuMYCPjWEbPEURqdWvMTeUYoybTecMyEpjNrbzApzHKWPvAGxCbQWrDSBGwKYSrLeaynrWnWCMBBzxzXAhVhFycuTjcuReImOZGDMHaaiuHTfponWCihHcMyVcmspGXOWLg", "MLOOrDwUhLuXJYrkCXhatzPVcAdRTIEZObzmziZCXyNCisQNCtgqEeYNGRmTYNnfXzCqXdqLTalbgEgjrsTMNcnmWTjTPQLHndVIktgcRvHxyNorRSmBHabHzAzgPqQvnXlipSmDLiICbyWhIDHIlWmwyFYXPtIKaLYgmMXonTRGmjBjyuYlhUBWsMYhcWypTGGvWdviuTcFMyTbpMRoiJSMBQoHLTWiytCapvEuiRTyjasIvtGmVjHPKdhKpSmF", "NNXJWnROuJKnQiAnZpBKhBERZVcXVISQJbMvYYknmqEUKzDhynBhzZeEwBbPHLnxZJUYdUuhpEUYzOveCkhysaWttLiKRHpbUbcdFufDjnJdxwQvMIzYKSqizxbaHWyYwWkwsYcwufPRlbnkfbTVoLSKteUvyLRBJUFFYxtkCARWjfwMKNCYkMNFALFfdxeZCUSyUDJziAARSoGJVCdOZIMCLtDOsIBrUjtcxJFEYRlbXsnpYSeEcHIjpUfFmagm", "dEawhZBMUrPRQVlNPmYiWIfdEClfdezNsEgFIvIKDkcnEqUzPweZdySoAfBCfRTsARkZyzhdQNdOerhvJhKvgBfWgMqoFAaOfTvAOASJubDVMwmLGjJOGlDffmwDmjjPUAUuCXiNXrGgIUZUqiOkVkiVqHciSMlMooQiUaPcbebnqABVLyRxTUUTmOLSYVdULLElQyYcMLoOTnuVPlKBniTlOipYGJkxNuIiEJrQUIKAUeAiQRzmsXPXSECUHvep", "LnliBqZteWYjDxKCwrnCyrYbYcatfUHsRfIDsEMRahbFnIqvWbfyUPQQlXpoddebegvueQPHjRAYYqKSQyaxyIsekoRGSmAEyeKHvjQPjWBpPDJZhzAhoDKDlRgCBZGcqSgmPcvXQsJDqnPEdXAEbIsbdbqgxCjBqaaiRxVGwzmsRKxvgPbfBgOenyhBEETQCPnDcnDXbDNliSedqhYBSLBqgtrNTPOXQkSjgxRkpkiPonLKfEdcaVRpxUtwnRPG", "sYoIHDiwbgrwYGNTwTySZJeKPjoWMptVJIYceyAFEgmuitpVrrsBPEpqPgcFSAHocPheCcfkzYgXiEMmNFDIOlgYISjltSbnOAzghoutSWAhADqIWVJMRXaLrkpUnYqaUaiDtTvZMApErPPqdLHHiCLnQazsBAyGyrsXTIqDDjeehoJJcxBJbFmZfGaWoHKSvFrHhtbVXgHUVyNgoIGUExgAlkzOfRfyvErBMnbQoBJKoaeNZZfVNERXBOjKHvWx", "fBdGnmBhLbTDoDRxoCzlwlmDuDGzBmHVRoQbKVNGoVJOPIaOwTkdLkNucIylGCZVxWskvRNAlvRkbroIzXZZbUwUfXrMmtICgROrXJJRGneKdkjBZDcCzJICASHadJlFOocncrsymcdqIBKELIhHYHiknpQIOeVEBcdGHqjfeeqQiaLjrHCOJjxvHUejWtbENuzslkULwPXKdXpEtFsVAOWLgrfFkuRmaCKeqZlOkVurdljdjdkmshTjXFQeZZXd", "uHDgnvsrvDkQaPJjdfoopHTRvKFkhnsaLwwFFpLYUBypwmrzMzjtAgXUVfYJSZvNuarHeoBXzHwFxCeAPYeSZuHxgIVEJsupbNzpLRWgBPRnaCFjosCmWQBbyXhScXrhGdiITGiRGFSqYISMZVftYIgNeOsolacDuvyDorGmUJideIuEknxTPmefzeHfvhflmgxSMivqUMGVpAIwclojDyHImYxPmCeWvgdRmSrdHiSfnxgMiexscFaqckGqPCUp", "EEgolcveKATDbTYilmbMiPUqrAqyZdaVYyMFYTLLpBeLXVMdsgFaKmfBxYYmjbuLvGakxMgUWkMOmtHPhRNGhHMADeLCuKjpQKeSSghhdwErGgSAECPsZNyMclaxnlOgdWvklThMmMJeOIltVHCTTuabPmAPXrjwnUWHLGaXnSHkGOSUaqLrPuKXDnSVXPuqLUhZBwDpTumHpQsBmupBwFohqIFAawYUckuemPeVSQEOcrRaArmHSXPnqCdVJrJB", "bWsegCPDSLkaAuJavWlzkXrxbJEemwedFDfQUUyDKFVIYnXRmjLOiaxVqKhENAfDvbWJafsQHSnyIbKXfCjsBUcMxZfVwyaDsvVMoAGaoQzoHkETMcjlkBGrmBobpfbEqTPsuLEjYLqugXFBFldkJdGrIicBASHchMmnCrcsQjFATZhWizhZeLPoDBCcANPxIpjxkXGNTjArIgBfxnWFbQWBojuLBNsDLzswAQcqbaZbRqMNfpiSrTtLsRBXutXp", "uPJWQuFDSeIDqkxDhDzoejPAXQuJYxeKVaXgYuuJOOPPWWcDVBGiotTLbmHZDyeGnaDMjVgfcnBXFUNRiXxalmVShmEcrtXceQXQxyJtoEYKdMYAEIGdAVZAKKbyuPUKKrOCHrvzTakJWAIpXnxpuPErmRqBHEcoQXnJTyOvHjceTcAAqRshLEhDRfnXusbBeGzyySqmRxKmxrTEsKwgelyoUjOJETrwdFXJBNmBmojPoNbldhyvCUAyunUyznHO", "FqcBRwzocJvVWRUYzHabpzcdYcyUDQSHZvZfgcqyPtNusyXXLWjXydKoCJbtpLaRBphPWVtYcCETGjkLZwzUIelhKmkjCCDQZXBqepXPnYvbhrYMvnKTMSAegnxhAQMOYZARgGNnIpKuCuPjQVraxRQTLvRliYsXDAKUKOTCfgPaTAfRIIeuPoNHisJgpQlvFjnRPWFSsOouoGxirbEVlURFGyYkiQlgsFPiChgQjaAsofKjKYuLJPMlIsmuquPw"],"c_map_decimal":{"c_map_decimal_1":12.1244, "c_map_decimal_2":25.0956, "c_map_decimal_3":59.0597, "c_map_decimal_4":7.1221, "c_map_decimal_5":3.0774, "c_map_decimal_6":62.0041, "c_map_decimal_7":94.1496, "c_map_decimal_8":71.0536, "c_map_decimal_9":24.0430, "c_map_decimal_10":53.0030},"c_map_char":{"c_map_char_1":"ALEHcnKAyP", "c_map_char_2":"rhRRbytzSR", "c_map_char_3":"yMEVNnXRli", "c_map_char_4":"SvcgIpjMid", "c_map_char_5":"jygDbmQdjI", "c_map_char_6":"kzynnmrURx", "c_map_char_7":"rURagCjQIy", "c_map_char_8":"ucggXmyGxK", "c_map_char_9":"iftkhfIQWr", "c_map_char_10":"nHOabpcUSo"},"c_float":21.415741,"c_array_bigint":[-6706776343701528720, -6653784191648360066, 4341595743733899435, -4590287281996537217, 7860247895812586084, -3786145723918898803, 6048412050305520395, 822057265324595357, -1640614236649759894, 5732999062587080338, -8225611175575440181, 6911316897418124538, 1995931566584701578, -3860481909979164217, 8393109254327059031, 8523483493475594019, -6620858858024803722, 6497280111704178431, 323919591213617566, -4933453352296963097, -5912985987275911575, -1427834724505213859, -8530884132943069908, 4720550679500655645, 4938641493902192255],"c_array_date":["2006-12-10", "2003-09-10", "2005-10-14", "2014-12-28", "2008-03-10", "2004-09-17", "2002-07-01", "2018-12-24", "2001-04-25", "2003-10-16", "2007-06-24", "2006-06-23", "2019-11-26", "2011-12-27", "2001-05-03", "2013-12-11", "2015-02-26", "2019-07-19", "2014-12-24", "2003-12-25", "2002-02-24", "2017-01-14", "2014-05-01", "2014-09-05", "2014-01-06"],"c_map_smallint":{"c_map_smallint_1":21245, "c_map_smallint_2":-7134, "c_map_smallint_3":-5070, "c_map_smallint_4":16814, "c_map_smallint_5":-27675, "c_map_smallint_6":18572, "c_map_smallint_7":16871, "c_map_smallint_8":-26941, "c_map_smallint_9":22214, "c_map_smallint_10":-28726},"c_map_tinyint":{"c_map_tinyint_1":75, "c_map_tinyint_2":-76, "c_map_tinyint_3":-124, "c_map_tinyint_4":65, "c_map_tinyint_5":-62, "c_map_tinyint_6":54, "c_map_tinyint_7":88, "c_map_tinyint_8":-37, "c_map_tinyint_9":-19, "c_map_tinyint_10":-85},"c_map_int":{"c_map_int_1":201650613, "c_map_int_2":-1968907209, "c_map_int_3":1639627170, "c_map_int_4":-124524813, "c_map_int_5":-408907133, "c_map_int_6":-2080984527, "c_map_int_7":-622370345, "c_map_int_8":1337885178, "c_map_int_9":2056673507, "c_map_int_10":-1723706869},"c_boolean":0,"c_largeint":832901147568522706,"c_array_tinyint":[-69, -71, -101, -103, 44, 93, 75, 112, -36, -100, -94, -36, -22, -124, -119, 75, -73, -14, 119, -1, -47, 118, 12, 75, 83],"c_array_decimal":[36.0405, 6.1005, 11.1606, 10.0943, 14.0197, 20.0914, 95.0113, 60.1560, 47.1605, 52.1910, 31.0019, 17.1731, 36.0172, 94.0881, 64.1810, 73.1730, 75.0586, 56.0871, 81.0743, 22.0707, 30.1604, 55.0160, 56.0382, 62.0228, 58.0976],"c_bigint":-2671942539648794728,"c_date":"2013-04-07","c_ipv6":"7665:9ec4:f8f0:1546:6258:d2a8:5ad4:4c06","c_json":{"carfueltype":"Diesel","dog":"Akita","beeryeast":"1469 - West Yorkshire Ale","productfeature":"wireless","emojitag":"nervous","dinner":"Marinated grilled tuna steak","uint16":4921,"bool":false,"adverbtimeindefinite":"late","connectiveexamplify":"such as","bird":"owl"} }','{ "c_bigint":9134128332626743725,"c_array_tinyint":[-2, -86, -64, -109, 11, -127, -69, 118, 118, 113, -28, 67, 117, 80, 46, 31, -71, 10, 68, -8, 15, 12, 11, -92, 24],"c_map_bigint":{"c_map_bigint_1":-5032260843428814911, "c_map_bigint_2":2680298809236978792, "c_map_bigint_3":1478593328365037184, "c_map_bigint_4":9006174885718709814, "c_map_bigint_5":5726257145928980858, "c_map_bigint_6":-2750454617077320278, "c_map_bigint_7":-7163392532621135902, "c_map_bigint_8":1092412018377768680, "c_map_bigint_9":-7951572133189205543, "c_map_bigint_10":-5805258891042922780},"c_map_string":{"c_map_string_1":"UIECnWNoXOBWeNYNlavTKXrMZjxUjNAYqIfOmsTjAnvCyVXLIbYypdFMrrIZWAkIFnenpHuMpWHxUwWwLSsbMkVeyXTOvsstXfzVAiAKnGzAZuJYGQWJqcmWqcEotUZCAResZOLwYAvCdaWXkqAyAnuKhNdAnmnViMNiGXGhzKcnQyeWbaFAAmmHTFyzRhRImQQqrYbipNmJgPvkHkXkmQuzGJvbJNVZIhKYVEDGOKDvvUMKTWMQqzjdOxMpDsqAksTczOcCIHlgzIocoCbXcGwTOJNJGcIibciMRpTDsIEnsxHxYjNeFZJonOUfNzdOAUIcKVcPByQAaJumvbzveoXsRjCPItmSRUznjiewXVITGkiYXegcuLHAFXkbLENlWToRZGZyPhjJHwTXGJOEcyVyXkRsbYXSBEltEpIwsQbqIXqKTYvCagROQyUNhLXUvxHPWybqPNkBwaWIKJbJktdaZMkXGHddOqsDzTpcNpJVtexFYiNUquduRwDRBNXQ", "c_map_string_2":"JNrxiSJHkNtMGKthCqMAYOixZLWcZvhynJsbisrpmMgjmeFfmxLPThUIwQiXmoYYbDUUtAQefBBqObdOVZrphKdoyLQBteelWEOYjSayQeoqQuXlTbPZZIXgrqlFNbRPAtrsUGfJKBkELAFTxTeCFdiXHvfzkHbAVROOLoNUEqLBXZBsXEyMggAebPcmeGFTNGUmTDAxtvbcVcAJVtafPEyMamHwaWTPvFXtTYIBhdafKNTRpZroxgGdgmxYdoXJdYTKArUGjUAZnBjoLEsrCcfzhLQNkjvCAfEKvCEVjSQYxIAuWgjtrRawNEETohRjWBcVehqPQfOWEnwgqqdxlIBFrZpXPkQdJSYAHeFnzEzBzbCPBmgDlJMtLVVxqozHDNSdmLzAVESSlvPJchSujfepucqSWWKIhTEIdbDzdocVBTeKimECZrPZzUqQjzoQNUUqbKAosULTuLFnRlJbCVcrcrPprYAWvqQLDSnIZYCMrhHlufojrjwSuFXuoVMw", "c_map_string_3":"aQuullJShnDgfFfGucdZuzdFIlBjqhZIjHJoBuBOOpesirHBKDvwzWqpGDkogqYqpifYoDKogJVcUbruSWixkumFCLytjDnbKJvolMLymFSWiHQrsHNawYfczpTuNIrLuMWVtZiVpKEezzaWtehujSuqwIsoSAhUriJRPxVbJKRYUNfnBZIvjJLvdGEXOxzfelZSySZNLbroaVVNCLkpcoQBelCdtURyMOOPGUzVuvmmkGQPMqJsWPqLoYpotEKZgtzBiPkZBXuCXJubTxpuwmTdqmjNyRRfpmEuPykAaSXwwFOVtiqZUzzJSabrWMWqqEBwUNfRhcKVGOUsBonhyXjBZLrsvpaXBAXVwKbmPIZsDFMoCrpHfiMWjcayslOQOugTGSZKZwPcBWHMmeVljUYynacPVTCKJtSMoyIMOmbvincqstPNOyioIYtkSSZvtPcDLaJptVMTacEytOiLbOssMPQurVQdquSKRtyarXSvqlbgyHHhWnEqzjFBOMMj", "c_map_string_4":"xpBYslzSonhelXeOsrWhWLmKmYgvTncbaOweGTBxLwhDHpzxTsMihsCIhLkxxEMhiguBIPXyboyxOtSgsKPXbCSuIXYsbMpHZVgMsMuznbsGYOBGdwAZHRbqbESCOmkvDEbaDudFFoYuXeroVoSAZfBzkkqTExOwXWpDDNVzBJkKIhEPiyYqvNqioNFeMpVfOfdsUMtZTHBbILRIBqazRoRxmEwwCUqYJGRaGeXSgRgSefGFMSFuJwYakyyEDzrdalWVqrLnQiqZGPJIBoKdVoVUcTvSWPUEiNfMRRmoWHpEXBhcDWNkMzMRDhXPPLNCZzkVRffTypKdbTolLomBzCBDamqFPulGJJlGQysHicEFKllvAKqcYVQwgaXdZvJZwFxgdYMnQhFWfgyFoIrAVksmdxnMxgTncrNwtSuqAnKRdIkdVVufpHpsCXlJQrbAqWrIpPomLnFvKucKdJxfncpbXUjSxRvqscchSnhzxsURFLYMJpoMTLTAPSszehqb", "c_map_string_5":"SJOLgAeUNuWutlTXoiBOumOYcwlDfIcUyrBXkrXusLRVHOjpClmlvHIEiMgPXUURjZDKEgoyPOiyyylKPpFWxtRSSICMTRMIHcpyUuYsXKfbgZIFQFiLCXTNWzVistDnKYvHBcLHFSHTgGVtJdpiDTUfTWQwPdqwjBPDvghEgiCGmcmSEfMUHfoeXIpbRUxBwuQysgfMIpBqHCBzRivccoIMkwwSdEhlZsRrtNhfiVeurMEfVLkfiaCunAFuOOmZnnBqqUTmjVVBXvVmUyjbxTENoTmJzJnMYifvzEDLarGdQnFzsrxSUlJYFjlMlLQEZaBlVaCWNgYxMllrUfALfYdArzeOvMfEzMOZHjdIgnrRwdSlzIighyPQbqgivNdIyxiGrzttJlpECPNyPyuVxIAaGVpQxHwWugypsBRCuyOgtMmImFtKAMWdJnCCBydGDLuiLBLmcBZcQoXTtZWlkMvcIoTOYsIXfxJMGIcKBKnJsnKDDqfkSzNElNrHMHKX", "c_map_string_6":"chLFWIWqTGdYjDKUNUOxVXoZYkygiKjJXCYDQoTtTlKhwjLLBpsaQYtxyhqmmDJtlabefCYEgsFoNVSznLMqJSCsFJQzmcufgvNZALhQSBMlLXxnVUUeWueLOlJkWdvKIKkLHdtIOEaynFTifNunhjkdXrgqbvVtBAdkycieLwVyMyLQPeVhOCbLpKPqbwprbzlKnvxaOIqgevwpRNkHaSGwZvZxeenEyWVtHluqPGrkzlMpqtiHyRPsxBFANWxQzfKEhYTvlWlMrLBDzokHPUOdFSPtekOLoeIudhtbFUnxcFjEYxtRZLpDyQcgceiEYgUxhdEbdsvpsNwMrooavWVhUfSlMqLOaRpqMhlHAkfRokqWDtPfgPcxBXCYeUMJXJSOKNnOVcHOlUycRENEFNOWmlAKBTdoaGyDXmxuFwOFQPrBlnECtmzuinSDodAFMspJWZzNdBifLOzgKJagHGZgCqMuVYsUYwBrQslxhQWylHeJltyNaxnWDcXBcJDH", "c_map_string_7":"pGiEDlfgyXZgPeqoufsjDTeoqPvALoxkcXPcGSYmGhmoevgNJZCxRGpJDSNIWFNWBFDKYiOtOQnintgFeezDTgFeYNJiBWQDWmkxicbLhYyvqRrIdQkCHXruOWGtAqbSQUJrSDHVXNqhaWDamwseujhKfOAUGiHKKzdLYmJGwFgzKVuqQLqTfXMWHpRGGLzPwmTMbIVCjHisYaeIALrXhIoWakbNQxFPkSUVxRMLbJCHTzcvXiPRvPRZHHIcmXwnSUjpqYgKhwuhqLHDTgkVrXkwHWgjyiXCsTXmXyfFAafNrrSGqOWSJiizQvhagPHBMejLEsTGKPfvDIIxhRiXrbksVOeVOzKgfAXuesCQWKKWhONALnmixJaQQTFhzMbojLKvMzZsRAxDPknoGBPRZTWCktjHIuWErFvoioAKWIYwxzKmrFveMbOyfTCRtJpZkWQEgKKDpiCSuSkuAMiAvoIbsKfedgnwrRXortEJAUwGCaFBnGxexANuiQPDnpxL", "c_map_string_8":"TqrKGWliYLgDotXvDdAmEVlTCfVyPOajfoLEFaVHPKwgSeWkCyRQRgSNVClCKdqJKxrNPatmqbFNYQXmODHcRrnuOjDmrTzzcdLcSwZQwHmaQGbyxHjdcAqhJqjYUPhhNtVLAqcmDirDpfNPTjSxlnrseYzPhfBJGlLFzMTGaHOUvUrElIuyamyyshzSfPByeQjIGnpdLbPmLaABokDkqouVHsFaESOlAAJyMfKDPHLPHPkGapwYlxISkkGtUOTTbyvYZcNupkvMTnDmKXshJCsNfxsmoTEWvDJTmjWbMiEGSrjnNRHPQGywPyEWFlfcONvQnDYkeXtXCjOmhsMhJkgQyYNggNWHZKOfQvftrWMLoHEjmCetWJqyJYHOelYULuFVsgNVAWSjmGdEzrsdBVvaRwkMDNeNTzbAsZNEcIJJvECQQuzBDYVWVSxSknBOkAwtNEfjrLLwHrBrcqLxKSqtdeCZYmvUYlebEfapFiFdQCLYVzoAYczbPugWuAhz", "c_map_string_9":"SeIiLyjfotpupsXiPKCPvMxYWUBBAGQFUdxPhxoHNLYhJOekWUQNQUeMxUzraxqzLataAKPWzaMDyesTqMOtyHeriFieJgNkdlvyBlXCqPbMqESaRcxAliUftlAocpQooxRLnyTvYSKkIFqXORamowBZyjLAKLPhepDLRdisUIoyLiwGLKLPNALlajzjXpLVfmxmuxmlvXvlRLykAqpsUurrAFUUDYOkeHnkBLSRHQdlEgzJlguSTCfTBEYamCjzmtzUTDyevGyPnJUUhrCPzoZIdztKLDuRLiEysWhThGHXFUojAyVMtnQBAAzNWpTriftJORtfYtBCVvLKayNVyBwQzeWpobBBVIchGIJivtvNjJxcjfJCIKfgggwgLKdcnnPpKmmcruNXnNxDaRWgMCLUnssuVeEKOCaVbvcyVwsslbtAUGSZHxHJRoqYupfGkIKeVRUXFKIcuTakWtdpKarSudpDSxlENqplsZTUAjypvwqadPFArYPzTJRkofWX", "c_map_string_10":"ydjAKONoQwahjTYiATrikLIlLQNKrVBlNPnzDOnKDjfRhUHdbCNibqmWGOQjqDEQwrrQzUvjdONGmiEFGmjHvKxmxCmoJYCZIDJyyXKjQrRCTdpoXPhpvqAWSVZUmoDuEahLbRJcqTrpyskwIpfdAGrKosmclDRlJCcrhMmvvsSseHwKcEfXcIkhewPFPhhidLWUFHhhPvuQWuhdhVlrPmiUiUFYJbUMvvDJOVMuJlDSmbxwKjXBGmCGeuNBtzYKCneCUZrARflygNBnCpINmfaHiCrdzyxWnrxuYBBufjwLdGzOIZPuJPSqZAJaWfikZRlsHTWpldaRvfVZdnwnCkMPTAePetZSvMLadNiHmOCQhctGERbLknkpzGqeKhCJivUmLGKuclZioiotkoBRycDWeaZgOdBwTjatoOfNvgkoXXFMGqUgeiOHJnWelKjAWBeapqczUwVblVAuIsUZhYMYWOpyRfTxEvRWGuwispTRAIRcYyYnDaoezLVKTQpe"},"c_map_date":{"c_map_date_1":"2007-06-08", "c_map_date_2":"2015-11-27", "c_map_date_3":"2018-03-21", "c_map_date_4":"2001-07-24", "c_map_date_5":"2004-06-21", "c_map_date_6":"2018-10-01", "c_map_date_7":"2001-06-28", "c_map_date_8":"2018-02-26", "c_map_date_9":"2007-03-04", "c_map_date_10":"2003-07-17"},"c_map_ipv6":{"c_map_ipv6_1":"2446:d9f2:aaa9:4441:ac45:a79c:17cd:7466", "c_map_ipv6_2":"bc3c:9e9:ea50:3499:82b5:db5a:4dff:2a4", "c_map_ipv6_3":"317a:fca4:1b20:267d:12f4:4e24:82ea:ca0b", "c_map_ipv6_4":"c141:90a7:e130:151b:f0fb:9075:1ae3:719d", "c_map_ipv6_5":"1681:fe7c:fd85:4f8a:77b2:6d34:92b:3cf5", "c_map_ipv6_6":"2a19:2eeb:1ff3:4e3f:46e7:7ea2:a8cf:7d91", "c_map_ipv6_7":"ef4c:1bea:ebff:5e66:53a0:78de:78db:a097", "c_map_ipv6_8":"c71c:fcf6:d513:a746:d796:a6a:634d:2a00", "c_map_ipv6_9":"1c1:4dc5:19a5:61cb:3b7:dcd7:948a:5ad1", "c_map_ipv6_10":"a2b5:5e0e:fd71:9b27:9381:e8b7:3340:e0f0"},"c_int":-1121687024,"c_float":50.970016,"c_decimal":57.1901,"c_varchar":"my","c_ipv4":"70.131.56.12","c_array_bigint":[-2968594108958951011, 2744889907859268220, -7888147915018356202, -1358570373829006530, -964118986395764498, 8276964157501261609, 2710128818208805250, 6303181037993385854, 3420849005508717453, 7661681720525553929, -389136131412966153, 9026798994137423539, 4686752203023996694, 2891386774310278271, -7453987943880709279, 2798681580755261699, 5889048177165631673, 7041314396624216046, 7856046605211375381, 7187588176850321960, 5293138316438910907, -1196445839362610449, 3935916431818892258, -204332112841708308, 8748518999748201601],"c_array_largeint":[5100073938826891732, -5046439299466926122, 7492578475962947256, -7478246416409047545, 5633136321212495849, -354247003619849289, -6378685183555284028, 8456906650981419016, 2162371011034148049, 9103203209786292542, -4799069866476556608, 2919075973067391974, 6246321885368310801, 7629335214545265270, -6653443655781145201, 8285931319426242806, -4447088728236368910, -2284057413006381884, -8203598362234131374, -1386574210672810110, -8385820807486978263, -4199580873530662386, -1047297293445511565, 8340641211862029305, -7459805828845080362],"c_array_smallint":[-10875, 31838, 11336, -18886, -31382, 14943, -20993, 13135, 16252, 23611, -15944, -28257, 1779, -7493, 20672, -32010, -775, 21212, 6211, 32141, 18215, -4950, 20669, 29616, 28889],"c_array_varchar":["wjvFkqzZIePnDOASYxmEWbSDGlwGZFaiABDaEBJtSNhSLmCHfauewWzIYhJEblbOcxMOXqAAbedSnnNwevjzwDvcTuUGllTsYjYygXdMPazkdMGFfCCOTgbhppJFSLihFufwOoiTNEHoXjHJBiNnesgdecMeoZxxlQpMMncPeVgYouNnJcjDYIiMOiTiamrrqsLjVoQgtqaGHChIoZduwYZrqGufEBfLQfhbYRiHlcocCbzYNmxtVnFMITYzJvXv", "QZOHlxhQUSQzMmbEdEQKlMWzHfJEyIxRtECqjGvagCdNyvLlCAjmzEvNDWGgWsmBfqYzIojcHVNfZwpMhPaxOZWGBzyeZRWsZtvngREfDszdlWyjDCiIhjgoVOPOrKyuFOzDmMWaEexOaoGhUnnHouekTiZqtmMGvpAAKucUdWgPxhJVmQOrskUFCwfubsOsMQNROGEtlZlJDZHiUuvNiIgUZCtFiwBwWOYuZjPMqbtWddlBHUdpEjFZEDiPCiKb", "lzWpnXzrBRoxSaFveKrDwkkbTTpkMxWSFQBVDkjEdKDGBTWmqfZDsyaRpVpYgvQAxLlzKXfyrKfJCTuWqKvPdARvUWuqXjKxYpYeGzaVLibhxxyoiiOfeTQSMewneobUTrVfeSxTUmeatPZBDqqvFqwebBAmUHegHsSFngbLmdfOXpAOsmmXVRafkWUVpdKsrfiYRFMmunjyuvxSwoUDCesTnZdlplQklkAvkVUWphCrivYWTpkZXsYMkOVQrWKe", "sZBusGmvYMMnddCKUkhahqkRWmFZnErfJKPKICdukSIGNenqEhoyEwTWrkGzFqneoylbYrOFgUOJdVzXYiDCNogimefaWsTykOFaFgKHzJxxYrqdFLQdpWwBLHAVadsjhCPxHcCEpxMbOWFTlHsfuDNhEgUPAmSkiHdDfgXQLIuXwImWzrHOkOirhRJQmqDgBcqVCCvxSYoaarvSJcCWhMEveSDBFBtKUqSUhrpclDYXJlywuzCLmMDSfRuyvqdo", "TvmlqxRGgloBdHNYNInsnOKrXDAXGjlNKvNmQvXivEsbKVEKOmWTLaZSZOZTmwDNEMWJqLZVOqSYbWrNhtgZzJOHRASngaFlFdWfQuVpLnWnpamQirCXeWyBJRnCssRLnbQVaFyFfQGzqoQBnAWMwRjsmhdcUPfAMnMWrZdGcbTNPUUYfJsgjIApUIURxtKUkPKlklZrZJArBCENzZwxrCEjUYwlUwtAcnNXLfSDSqsAhDneiyoUDoEqkpeOcyjB", "hhypoveKYJkPFdExBOWMchZXzRONCpcAtzBpLvppPQMxUdFDTEGKusRpOTIGmBvmwhIqfgKSMAouBgbUqKYOVSXwheCDFanDAJjOwVbhSWWVdfeSUsFweIQItcenDUjjULffXYkCmsBxwDeNUGaZqtnreiRkblHRHCediMfmewVxWRYYfrmHQIigCiiRKNUdAJQuPahnQiGoENVEgeDrIWerAXbpZPStKjZToVknJxQHYowmDmCkRFZyvLyEibLM", "XYAALOUXlwgVaMErbJayBwRfBVWSxHuNgpbGPZIEWGNPJAnYZkbZZzYIWPfuchnGcXiGZcYWooaTAueAoGKuSIMxJabYWjCLBBDewnpCUTlnoTFYOfToKlydCQQLRwIdHtKWkcfaCMUnGOMAmRNLVSbLakjUeORAfRyXDbiwPuyuaOolaIvrmwElbpEochTrBtgGJPsGqocYIeuhyEpHtedtNechEUearrPgDWywpKVdNrwEUExjtBugetzZwYKJ", "MOGIKWEMTlESCyhZTLxWrAphRDgSHRoHhcLAXphXTaFmNRpgCsOgRilmZTfQdUfvXjFhiLzeHQEijxwteoWVgamoGZVFWTJPTJTifQNSooXboHBgNGSYvxfZpTWPxVwMthyMrLMDWncPQPzLBugkMCtjrVsNAzIYTOJPMBLxrXCnjgjLABsisPYDlxUbCXypesTVMNhOMkPNtJsQWgXsTscjgrcgShXrjpdegtWUvVGcprkqssGcXPIkxTqsxgze", "NmjNmnGxieGhQAnsVLyjluIQbJjcqAgagaxsZiVffVPHRKdnxEyWTxxxtYOZSylUaRpowVftbjxTehIejuLCnXAOGTKZmsOtPZUZhCyaBOlnEoVdkoQMLOICGekdYLkBGNkBjWPDfcFumurdVYDyjFafOxBXuujdrnfJkzwQjPdJKRiqcywqdIzXuFdXRJDKkVWBOvbtYVfCauCMBXRSkzOIRGxyJORtdoMyZuMztQpXFObLKzceSXoWSqSGeYpB", "lBKtFpGXhawhILceDeEvEoMKCxugRGJiFSOAoTGHcaEWULJwcMlKvkJRjVVHMyVvBztXLGiVEuSBosRQVuXqRZayMmCcWEBHOpBJmpuhYPqrVrXChrCVseRkNtIEwLnCxLylgrZaUSFSLaVEvGCXKpGbblxKssOkpbjfYWIwOfJLeiWNuSqReNfGWOpGFQKFPIwoHFrYHqmIuaQnbDWvtGhyUyimslLIlWzwodTyOnumnbeVvoHEnNaFWSWbMMJJ", "qyiGridCTgyInDeXpKaBeBQfFoVeyVzGtQTANHHPwraQjEeLsFYvUHYwxmsxThuZHFAOTOEwYBWrALOmmyKxCLvuBtjCATWthgmSigAFTCIscdcGdekpqbaQWqqkaCYvEtgLdyJJSZFYALMsAfbQwBultpESivbfQobcbplbAhpjXRsmOKFtOBvFOaAuICSaKklwVWsWOKGrrTWYCbyagExKmRrHZOHzQhMINrwLlZkHKYEuBZdQRFmoagLDSnjM", "HOcfezMdXogIYEuGjGwinlrURwhHVxWDXyvtUqQJbxDlQRKCTvroWlkKuGeQEAZOiwKnQBNgkdeeHybcnDAtAUZJmuJajtDkFBNTVODkjKlAWkPIrfHxahBAQmBfLvvSdiMKjbtKPGnbHhTpZncOKoplEzesLJOwEqTLjyQQCEMJCLdGnklVwkuxeCZtkajYxEifqqzPTEqGDevpCePzUmUwLAYgLkBeDRPZUSxZoitJTDLSBBTsLICqDqOWOYYE", "pyPMdovrUtqFAtuXMikXSWUPwCurVoBKTLccOhEkIMlSigurqebWJYXHpRnVLmWlUjfgXoEQyDBdnanIvQlBnWcwBMCBjChfUgRjlbeHzQMckufIQMdMatxGZpyDYhwSJqifMhDhimAtlUVLcSpxuIsmoGNdOWazTGzuwfTfdlTGqlkRGJFEdqCkOyuuXzGjovGKPMKdCTovSXBPrNDYziREscAPcJTdoVePRueEwcLtmpDGqUMpuEkfpoHrBhQf", "lFpYhpfzYxkzpRmKwKkNtNTfYrtFcOZHtIFNjrHSSBqENtPtCHTpqmnEXAlptvoQIXqLPtuCEfybxjdMXrsFJoknqWWWAkZHjKCPwgzlcanuKhPTMKETCDglYHBqKXEJjvZDqfdMvuNoXEyGesAuMUKdLaIUXUvGIYciRSdHstipKJLkPTRaZJLcdIllgLEvIHCvixbjUJATszoRyCOotUCKIYQffDlpjXuDZMetoeqVpxQiCaCOgzKrLEOeLAkG", "mLQzIKZKyCFVMjlssBfWJEzRPmWDkzQnGkFelWDLKNOMmrFKkzaSYjQnzbnFOOXwDWMGwcYCaqdcStJZiZwTUulRfiFzUvxEGgUkGKYTjgEUQVjkMKDIEcSEOqtkzyCNIEGAFNBwoWXNQWVGNLxvEAdooYDZHGwJYZrJAXRGJzMihRhfNINqbapsXNpNLohiunpUFQzzDTefObmJrlaPmcJHKsgZlFquczSxQCjKzBMxMErczzOiXMVUPrKQiOAJ", "IXXwTgXewRfpujDQPerOTVGYAkgOShTRUtFKaPEFhEJdmUtCKQzaVyyPCDqluKFkPXUjZVNgVKGIwrhoaDarkgElAKBIiAltCTgcTHwLkmGKwWXsaHbSBDlMMpfUrRkwByQBSMWyvqfcmpoVylZYFpPTIbqDMqcXJNlUfJZtnodlEGDjyYbetALvKlwJohksQERMBuNVbttQpJZaOrvkUyjKfIZuRVukORKJcLzzoXXPjydPJzxhCahbONuCaZod", "ukJEtdcfddobyiLhVeGVjVKkSULATlizdkrLEecgnVTemOnDkZWgOeVovEdWpUIOJOwfqnOsLLEkScqpcrHibciWRweuXrTmLifKmjBKKhhAlGWdrfnHQVfdbOjepThUyRUkiqpjzprbiNySgdiuoXTJiAAaLbRvJyJvvQtbooqACzqHknUabRKDQIakvhCPITbBCXLydSdQikuChsVZvHIBddSxuOtRljlEydrJORfjWYBLOpGKqhzNwaONcaCv", "RhorRzqVvmbiDCZXgcrsTgkAmKQBNENkySmDrClEgrADgydhZdXsVaEBNsHHBTgNOacTKjIRBuiPCBGOVbNUJLlDzjklVqQNdhqnhcujNFIbiqzYBbZqLvmoQMtXtlQQBrVpWBPgcxxDEiYJyTNjgLSxEZVbdRHjDiHZJaYIicstiTltltfVqHglqteelsOHiswCxfvsGtqNgqOqllPTNvvxQeeteZTJqcSjEAkHXstMHcBJGnHaVktNOWvGEQZc", "TGquPGlpobnnLDZxXrtTpaCZVjgSgJFAfdjwQytprmkDixLFLKLxwPAkOnBuaXeYRUICIYMkSXUqcpWyEYohfaoxvWHheunpiSMFWSjmNNGlvgnYFsrATIkjnsdBeBfpwtTpOoRXxzZeDDrGCULeCRLCSQLOlFDZiWWtvnkpFnEdvzHkrRpaIzpBTnFaICYEJysJnLKUTJGtShFScGmzCKkYABycrlpfoDyNSGxGbZOLCrwHQpoafwZASUFxDvbm", "lLevHTikeJLrkquxolKaCRdUSorXSdZOGBgwEGqXbwrUwSHOkkGFUSuPoKxfjuLhPPVYMffLMhUeaSzYqFiDhefqgQjQnDwpTXCUzZZtkRQfPdyXgAyfSELgRYDnoUPpANGrWqAaVOKJfsotUGndAOMTUFCTpJvBunZNGfooGrTbRBJsrakTeHlqqnTIPSKSvsOQjmyQkBvWkfPGytPByuDiVIKaobfakzXOQVhoVLiDEALHGjOuNtTVBjZpaHAh", "UrkepIXpZYIdWizfmGMZGMVazCwDNpaDlvwURSZRNEMFEIdriNpPXjpCHXJdjRjNShlKkrRXBwaMHidsUHMKmBBicOUlubwXuQwLIqvhpaWEXAruvJSwwbzrerYEentVwUcEOGZkwrUpxEYMnTnsrXEhCKBeMQARdIwDekbxlikkTaztNHrrRUugvxdrzzqJjumaOTwoKGCCMFiKSEliSugvrTNNMTbkYFbIvQwvFZakwkrIHIBxpCmsNDmuaIjf", "YSozqYlmQdEMwaLARzxfKtPaujHxPotcKHLjrWxmMwDFCXVVMKXllbwLKTUYDrgUvFkgbWLMaDyYnFXzxXOTOlpJjLQuMhZkqiJFLiwnLvjjNLsANWxiGgypVngMOFsXQxBAHNGrCBwVSezOWAszxUJoPjjmBDfGtSBsjpuxzqYJtxtUzNyEWuHYkUKnZHpIOXBlbTHEjGhjTOLnPRgjklaVSFxHgYAogZKCauQTmpcCwrUjqVJFQIabHoMDQbIS", "nWfSLJUisjXtSnYUVpSMkDgfOSPfHahdlVJEyfGLxNzfqxEXgSlNpaZoYWGEftBFpvyBIhDMQxbADCdoqqnrOCFqrVcwuYwENGJoiMFMXqlzOWhqWWKXDDwgVejHAgibTzmEeGhCzHsYisAUcIRMrrgZerjibDIoBxjqCdACGrefjymPAREabMcFJMZjMnobCOIYdYAWesiHQisAluWbUDSsUOBYlEcyrWRkxCCYckvqSGSCdxYbojlHEbZecjNB", "mzmNORexkYRlbzIBjJbqDVvhnjPFwOwwowneKARfheFibwVTzNOIFMKiesKtJoZzfOmCMieSLlCGwDERQcfqIzfyhStAVXsEJNnSNeEbwUuqAkYyJQCmFurbZKDoYaEdFUovUYsWvPCSLtIveJyhmexVodAkgWbJyPyHHEhaQzLfUynPGTUzPvwlAoNBKZSbDmDnVTaJSCcytJpCituUxkkcbbNkJmlErWxPjVKBgRMQBVRJxJllNIDyQmkdZGgs", "OrHPwNMabQBwowFIcKYdTwztcplUOAuZAZewjCGCobsgHJLRovRfICUKhWaYnFMYnYMJMWtNIKrBXYdoSZYYyvJhRSEEHAvWoOCcqQrPBOXOLmfihdlskpeigXHcEdXpkwTdedjkLcoFaGYVFNozXuPrdsgGdNpsYLMAezqcmsojAyCSvnGgkwQpDnlHWaojJdBTXyGwqLGOkEifRUjjduUMTKIsghRXFqbjjDdfIOUelVJBCMAyMeSjWnWGRxQS"],"c_array_datetime":["2018-10-18 22:02:18", "2005-11-12 01:46:24", "2006-07-06 09:03:01", "2003-06-27 06:08:16", "2017-08-20 20:57:06", "2009-06-22 03:44:11", "2003-07-02 20:05:52", "2001-06-09 22:41:47", "2011-08-14 06:54:55", "2004-05-03 03:08:13", "2000-02-08 01:01:46", "2001-01-01 12:51:21", "2016-06-11 14:14:57", "2005-08-10 07:37:09", "2019-11-22 09:39:10", "2003-01-15 05:48:06", "2013-02-11 08:16:35", "2017-03-25 16:16:06", "2008-08-27 15:46:56", "2010-12-09 17:50:37", "2010-11-27 14:51:27", "2002-01-07 21:08:55", "2016-01-12 00:53:29", "2004-10-16 02:38:04", "2016-06-28 06:58:46"],"c_map_largeint":{"c_map_largeint_1":8662391583370175672, "c_map_largeint_2":6764769683932975341, "c_map_largeint_3":-8769189341349182080, "c_map_largeint_4":-2385724446690685933, "c_map_largeint_5":-8680664719429941178, "c_map_largeint_6":-4692276062814550163, "c_map_largeint_7":-6537695459607863690, "c_map_largeint_8":678002022305361345, "c_map_largeint_9":8992999590318343369, "c_map_largeint_10":-60617543747715233},"c_map_float":{"c_map_float_1":66.32313, "c_map_float_2":16.23431, "c_map_float_3":84.91436, "c_map_float_4":88.32251, "c_map_float_5":15.279062, "c_map_float_6":57.20467, "c_map_float_7":2.8550692, "c_map_float_8":79.9047, "c_map_float_9":13.008945, "c_map_float_10":32.821995},"c_map_datetime":{"c_map_datetime_1":"2013-12-23 10:43:55", "c_map_datetime_2":"2012-08-22 04:53:28", "c_map_datetime_3":"2009-08-18 17:33:59", "c_map_datetime_4":"2011-04-26 00:59:59", "c_map_datetime_5":"2018-05-27 10:36:32", "c_map_datetime_6":"2008-11-19 14:52:13", "c_map_datetime_7":"2004-11-12 13:57:40", "c_map_datetime_8":"2004-06-08 15:26:10", "c_map_datetime_9":"2013-09-15 10:32:15", "c_map_datetime_10":"2003-07-16 04:44:53"},"c_boolean":0,"c_largeint":5348325089222105207,"c_ipv6":"506e:b77e:52b0:dc8d:9b:a31b:6e49:e395","c_array_double":[46.62237455146208, 42.72447820711255, 85.59314295662148, 34.870200357034015, 27.6675842925829, 78.51272739735109, 25.745730310682486, 67.04051360373687, 12.692236887032447, 27.295721509777266, 10.79013432700381, 34.70720194779946, 7.611887346307744, 66.0831895240679, 40.910547944966964, 90.96268560681972, 61.55565471577841, 21.494747608934382, 22.15354583273787, 39.92855141610991, 33.72377724181161, 79.03025800983806, 34.11904449856368, 39.533727017110834, 42.73369777626516],"c_map_varchar":{"c_map_varchar_1":"nUxCRzYmkuPpWaXSCEWlDYQLzkfLGSJFxvWJlxzoFnisDzhLReEIScfMwLetAFvQcJmpahOwKQFcTSFIlEzPGQnFjvEVVONAOoAjvxQGVQYwtBMfUlPCGiYDvavYRCZBtuJohSLYctyzMhzDCaZaIcUXDcgfvZyDQOulnqusoOdBworpzghBoMYmsEkqFclVCPwydblUuzOJdbHxHmBmIkULwsiYVxxoDDFdPLuURaSPxbMXHRmhAhkgRGReTSWN", "c_map_varchar_2":"ZYlwbeSRslOXIBIYDXOrmjIxdFqFLMJqAGmByGizIWFkIrqnASgZBIFylEEUZOdjHXqyljRUYAjzSqWTlxLDEtixWnwkHmMGUVSDvmPEADRVLpoxaqtyFpbeevWRNmzknRRTkMPjhoTUPTNgzjLVcmFxUJetwTsuwaQBbgpoSqgnYmZwyLbdQQOZIktvyDEzktkqtsScoCHuyqzuzMbWyPMsaRQKxwpmzSKrHABdAJSjmToMbXDnuRqrFDJPYsNz", "c_map_varchar_3":"kAFaRDHtQnSmBnjOJCvQzmVwyuaIsZdGrdSyEWVqEuQCVejRKkyJEHkSGrOJEayOhOOHCRNFwBnQeDUQyKqfEiXUAhfCDKYYwdQUXgUiocgEBDwokEZrMBdmuAcdVBIijvzAFarwitQtqjXWtQrnGbFsCETXQlpLEKFTZSAjQASTPqXNJdthAeCuWiQKWVDbDJClicowTOijFnzrbivNswyDcHDxFgofcQNmFPmUbEKLgypIwjMopSCOfdtdfeyQ", "c_map_varchar_4":"hwdOrcuiGlpPfviZBfTXfJykJBhhZtFroDqpOqbyHGgLPLHNlfgjfIVLWItzOqvjkWPHegPrWatDasnTYkXJQISUDHUvCloAWdkyGgMaqzWxGgZiePuvpAZlVxOlddKHcTEwfaElVdbkXMHUVkTXDxPOwsxHLSIlqkwRIKKtDxHTGNFxPdCATCCdSaJZoWxZzEqUZUZdkxQhPQtwqvqnvPfYHKOpqqDzYSWMoVwXLIGfrcekhoLqYhfVkJDoqTIp", "c_map_varchar_5":"hoVUvbKfQePpwnomYVvNbbwwyyZcHtDrkbptiClQUxIzPVyStpXGHLaLmbpUNErSildLSLaHokOOSCtZuGTkjyGUKRhGHHJiQOvyZnjJrpqBsIipsLIZCBvwDrWlXHKqgyWdHhvFlTxDykfbzzoTcIdwrohsGeiHZfYVxvomaZRqOAnPZhWNWaJfoonJaTuhlVItqgxuggkzEdHKcZoSeYAyPtlRDHXYzHikuPiRiCitykBAnXsziclYqWlYdwLs", "c_map_varchar_6":"nOONrdaxccBNIswMUCRMEcknNPtNJNDbHbAgoqTKkzgnlDpjqoIHmiHHBWQsYGwKJWFOtnreEJDqEGeqQSmsTHUuROxxFhABjljVmKIeggPDxOqSQQUDBVZSWYjmGKSAadUDUVBPSCUjJkbRPYQmmOReTZNadTrzgwxkSuEXQZSWvLpuFdpKhAuPEWUhgXscnIRTrDgopFlLKoVRFIoLckuZqHPubeevrMXiYbTltLYIeDGVerhCegBRRWDgzCIF", "c_map_varchar_7":"GNdYLkkymEwtxYTKwZoKvSuFsWIngnRVCAmWtCtuIZDxVbdBbVsPZMTWGWocPzHWQyQqniqdVNMAusRUCGXNNJcddPpbeGtjyKBaijfwQLvcmrWDkxnXOKumguGaLxOeJxDGyEGaEomyRooPHDDmjjrPowhBmZgVVgtjlIjorawbHbdYMaldrCZiKgYLeSsMoHLQukxrbXxbjzNYokJUdNrLCdDAXFnXYqVLoPquqNMhydtrBIVhgTfevCZUnDlF", "c_map_varchar_8":"EGRmjpjhbndGYZwUrRKfclOppRnBhPstfSzmEIrjLPOjztYkGDhVThTmhgRpNWZvMuSsjOVumOFilIyfhzZLHxqKJyzrsVshlMmqlhroVUreUvkScsNIjmDmrjIJdvLwbEZWkIJKUxTADPiIwfrCDdSfnVkVojQoKOzxdGvnAZsSoEWtaJmuBbxhjjshxZUZRaxamZQGdTjOGqGgeNfZtYlADOyDmreJvFMVeLUZSHlcVZYebRYnArTGqCtIFXpw", "c_map_varchar_9":"cTeLjHsOJhpOWYCslxHfWuyRYBOQtzaLKNsHGXNnXAEDPiUAvRiiUpKlLWeIMvyTQsTvzsoceVhTCbGQMtoOIGPNcRthgCjyLKrcbfbvQLiRNMZlTVaBmFiPCVUJHnPJxOJYqQNvGXABqrbjemYhGacROxisYFFTxPUjdSmLiqebYLMLYaVTgnhgFkvrdCQEQCDokCFFvpXPfWHulVruVaUPPKFkbNOsLGPeDCKCSYVJAMIXyyCdXqXnTBaaxOmM", "c_map_varchar_10":"qYtcxIXJCHAOaLyOeMqvcHjdyoEDDzNqtiiXsQtJVZAHpPUFigGHFoVIbuvyFoMQhDfgfkeWPSweZkvlndWWPnPgCGgzBYhDaKhhDGbDPnicfLZiXnVDExbksXKcPOvqzYmrHvqlsjbNngjFaIKOTcruJZfUkoYCsvGebRrsaqhKztmIyhCBLigICRzDDZyNopMWLTWxkYoLJfZMQtlddpOqNKGrBujSWSsrxmdUeplBnuoHabWrzKwZFPCCURrQ"},"c_tinyint":125,"c_array_boolean":[1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0],"c_map_int":{"c_map_int_1":-1303599856, "c_map_int_2":193537438, "c_map_int_3":816415679, "c_map_int_4":1684467773, "c_map_int_5":-981944164, "c_map_int_6":-1155047566, "c_map_int_7":1474850689, "c_map_int_8":1688022629, "c_map_int_9":148697249, "c_map_int_10":1609304362},"c_map_decimal":{"c_map_decimal_1":71.0665, "c_map_decimal_2":18.1077, "c_map_decimal_3":73.0726, "c_map_decimal_4":89.1437, "c_map_decimal_5":47.1422, "c_map_decimal_6":47.0498, "c_map_decimal_7":25.0255, "c_map_decimal_8":14.0916, "c_map_decimal_9":11.0706, "c_map_decimal_10":19.1299},"c_string":"jywYSFpcOwCXgEcVYUgOQcAOACuWxRnQqFpOhFYfnyCnUZIpmFscYvUpbOCDFZJeFufcxFeULOJKZBTnTRwqbnKYLkylovzctoZMgciZfapmPhSQXLVvLwlTSCYywSzydochteXQNugwLtebPsrtBQxoiCEyYNWUMTeAUfyLmzBiWstnftfHTRmmUzCxMWQjYOpnVsDLsvpaDnMloTuZqdDzuNZlPhJpWjGXDVQZWdXGNOpSpOoHRTwUKgfejSSEjSlDxhZwcLBPSiYCzKxTsCXvdBBIZPPVoCVBubLHINFnvFVGPiwztyPfrQzYuEBHKnPCSArBZyYmBUauibMDckgUpBmwCmpEeVqHBieByyaeFQZvrrIspaFoDqfMgEuxNCmVtEVXZTdgaZUYnudXPRNmKOoqKwyhUZzNafUlnIweWPlTnJOqZdjhTnEENxSGxSGJXHVVclxNcOTQYAoDTqRdNjHMhuKYVfWiuMdGFunPZltUEwdCizUXOZeyVNsM","c_date":"2019-06-05","c_datetime":"2004-07-06 21:51:30","c_array_int":[-1763419674, 1537093876, -940988194, 184311833, 915592328, -867470255, -1255590717, -69675364, 1946313348, -2113746002, 819144118, 1161789408, 1014082884, -829787727, -767597267, 1613309388, 265739512, 1073723990, -1618138430, -1756900533, 1769098056, -374620464, 792392485, -441831814, 476240933],"c_array_char":["IVQCtMXmHD", "fFGgRoFQOv", "vcVHZrUXwN", "dVWhceyVaI", "ODfshguDKE", "CTbYzqdPEo", "dyxGQSnINi", "HkHmlHyjAy", "uLUYqwKhzH", "EYIqYUSRwD", "IDDnCpNjSC", "zlcFofbrti", "tqazykpaFl", "emKGlYnBJU", "UPzcBGZlac", "GZyWENOdWH", "ymCNtwiCGY", "qcWRGLDoOM", "ClXPommxlA", "lvjGrzinRL", "wYFGMRoirS", "WzLqDetHeX", "UBWqtSKiZZ", "mgjxdWOHVp", "HsJUWArMmV"],"c_map_tinyint":{"c_map_tinyint_1":-77, "c_map_tinyint_2":34, "c_map_tinyint_3":68, "c_map_tinyint_4":-97, "c_map_tinyint_5":29, "c_map_tinyint_6":101, "c_map_tinyint_7":0, "c_map_tinyint_8":-43, "c_map_tinyint_9":-31, "c_map_tinyint_10":127},"c_map_smallint":{"c_map_smallint_1":16959, "c_map_smallint_2":3247, "c_map_smallint_3":6555, "c_map_smallint_4":-7786, "c_map_smallint_5":-20600, "c_map_smallint_6":-23915, "c_map_smallint_7":-284, "c_map_smallint_8":-11853, "c_map_smallint_9":7028, "c_map_smallint_10":-26642},"c_map_double":{"c_map_double_1":66.67172737497881, "c_map_double_2":13.582759434753996, "c_map_double_3":41.12986862545789, "c_map_double_4":65.7678535416483, "c_map_double_5":25.71775165009291, "c_map_double_6":11.069791687773792, "c_map_double_7":46.84605500670931, "c_map_double_8":40.59565153058684, "c_map_double_9":79.57550966392687, "c_map_double_10":58.65187034012311},"c_map_char":{"c_map_char_1":"NBuIqpTlsP", "c_map_char_2":"vYzkWkZunT", "c_map_char_3":"ymRHXIddFB", "c_map_char_4":"XqcsIaLOkE", "c_map_char_5":"dkBWgHXgYG", "c_map_char_6":"thgocFooOS", "c_map_char_7":"TvGhnrimui", "c_map_char_8":"FpyzWoyYwO", "c_map_char_9":"pqrsbusPrU", "c_map_char_10":"sDDjfMZUeb"},"c_map_ipv4":{"c_map_ipv4_1":"9.45.33.176", "c_map_ipv4_2":"229.219.244.188", "c_map_ipv4_3":"14.68.67.42", "c_map_ipv4_4":"40.106.201.21", "c_map_ipv4_5":"212.222.60.247", "c_map_ipv4_6":"67.131.78.95", "c_map_ipv4_7":"181.82.78.85", "c_map_ipv4_8":"38.187.224.184", "c_map_ipv4_9":"230.192.254.185", "c_map_ipv4_10":"153.236.252.99"},"c_char":"NSgCOvkJZX","c_array_float":[62.20448, 93.58054, 5.1524386, 94.4757, 84.08389, 36.552532, 35.529144, 5.434042, 23.776056, 38.914764, 43.32456, 66.25972, 18.702341, 11.521867, 30.218382, 19.574339, 11.215414, 34.41979, 94.21268, 72.69412, 47.2466, 45.723488, 17.423714, 34.028503, 6.598701],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_smallint":-24958,"c_double":40.226304077010724,"c_array_decimal":[81.1752, 44.0136, 87.1681, 87.0490, 91.0001, 81.1951, 84.1454, 54.1610, 59.0011, 96.0477, 93.1820, 53.0311, 79.1884, 76.0199, 64.1575, 15.1444, 79.1960, 18.1440, 88.1753, 57.1232, 24.1007, 80.1252, 66.0168, 42.0588, 59.1694],"c_array_string":["OyPLoQnebgOHoGOIYQykRKbbRISJwrpfZZXZQjFEvGtNEsehSMltgZJnpktbqwvfOJzVMNFDVWKTsMgHFwPMOsUlMpvrVCzwZBRTEuvbBejzqNEhYTnhEdseKmcCCABouzbupaeScrkBLDKAweegauTWWCvWNHxWRxAgSMGfPFrabowndIlYlcQcPEyjZFKIMZfXmwTcBPRwIOepABDnbdPsyuwpOmlDLbzoqOuYybcotYOXxUajxNprhQQlgILHzzfwZIzLBIWOyzOlZJwcZOFsqNoMkMOoParzipvIItJHTlOEPFhaRgBJDfgJOyJjSuGgIjeTWuyRWUhimeFVTGNasFfhXMwyNcCFItNuXvJDzYlOLfjAOEmvdmTRbmkhDQfSEjCmYthxreNOXtMcjwwvEAFFNpwiEGFOqOkjNtxjTqRLEPijWhmcnsqgMTTqsgMfyoRTtnWtbOSvNivJnYOuIVyFSpWAwEdhopobqrvHXxzWtkSioSKZjUDYbBoc", "vECbAsJrwTHeswLmTAlyFeosMDysJDSWjEfNZEEOVnqvagftrXvhxJieBsAAVOmFdcTdCFzrYfeBToTHVOXmuZvOnRhTaVFlhuEUcptEAiVKLACYKxsZIQFFNsodPLtpiTfcgPIYBjFVecSNvsoLRXYzwLAGRmeDbALGxayTbUInVbTApSJByVpukaWMCRsIGHBhSwhOVUgGxTQubzXxAFIzgNbhUnpoSmftXFpaAeRsTfRrOKhXRlooYbosICfENCRdTnZplxcAeVqdRofypqRGAKqqbRBdWmoUjcyeuXsqnVlAfKdJDdsaZIYreMySyCAovRMsHnhRJYdLFtukrHgitDrTRCMZpxRcLffgktNjSBKDNMYwwYCyiBSdWmInCWrzSUNKriGnbdsssqmJpiFrcKrCGBdZUyWpubNnymJVzwXakgfeOgNyreSvLTJckAqcRmaspcCKIGJpnzIAHkefkEmBKymSuFszJdOfifGleAVQyDDsoMyLBDxyzZgu", "mOoAwGRQxvnNAKdaLdXvqEJHyIKJYgaRtexUfbaYEeQseanCijWzzSquQCIYURsvOnITpYYoskIlUtJismejqAocpuWlXaLMhvDaLAtPRylGRvbytUVgmkBQqFynFCXLjXHPckiLipgYnsHePOlIgnzWhgpBKbPfLaQOKNtqMsDGnzrPoRYbBYPwMPFjmXsBChTFXJFfVeJYwiAKwnBbrSNrooGuMkzUhbJEiDDQjmSZLrBAnksqpVnnuGtofqzzcFunrBTaWFufNkxEXvkJTTJQvFnQYovDIXTjMqAvzGMzyMwqcRPFHhhxRmwRofxsPxvalLbHvhtbHzmwEwzUyBfxxlDSTfKOooLkiRdxXywhBKuYWizzWFOdDoyllUklqgEjyLATzGSzGXgEgdHvhcaZgFvYPgWJkQbMIsqcTCqLuSsQlIQDlcKOyINeTfIMBdYdnZBtDJVwNGFhJMztFzyhCJBAPAmaJAoAJIqZBpKNnrpsgOFqPjNHlUyRYePV", "vOWyhKOdxHWxeyOilBzasYBkconXopWwUqnySROpxxudUgwafpfWTwvqXQctbLOgJNUKEyXicUJbHQnVXDJtLroZsySBfAjbQLOtnPMgODyMOHQofnqbUgkhgKyxlRHBAhXEcVmDjLrCywPLVIRYLJEZfLISesaqtyurOgFnZjPDqZQVIBUGxslOwQntqkNxbpqhNUqYclbIVSqOODHhbJEYVhrFvqMRKapdCoqbSlonSDsgHzLWDhQXKBiTOHySHZBTlggNVnaIcPuKyQjpAsgYTrBjrBMQjFVEyGNPqdpEMOSOGsZqHJAYPgHZRbxQwSCpRaLjZfSmTWvgynQRkVOFrIFOJHlHjKJBIkevSicvtehzjtOCxxXnHGlDMcoAHFebPcHDatLfhoVrwlIzVhbVxUYDhXMIHlZfiEgnOgUNIjdijiPdpazVIskKBXRkUhhJDSCScVhjyYhAhfhNleECtkXfGCvCgwcEHlVoMXzprGiiHcNpPZqFXdMadezi", "EewwovYdyHWSFyjaRfqtRZnMXmnVLxLoOoOcyoECbDOeXqPEmSLcKZijYxgQeAjaQKErEyZuBNmQGbiOSuaAjCajpxcVbXVLwxAybkwSbApiQwjBClemXYrgrJLchDjOwjKgocamochXCobtoOLqHwhhxgPZTXskmixxqYPBayWurlgPqJRDwZMYviMHWzXICvIFWwwXLXzPdWIXvJcNUiodyQzpJpaGegbxYrPzUNeYzUXyxblUbBfKtNjhEMNuBfGZiSJqAyBtxrcZCpkoygsHNevEeXgqNCCmBzSPikTdcupDMwtAAemQziuKlrfKUnbbeMwOHkGTlYGeFHRswAZMLahxjlIppXguxUByEvfxAOlnZsIRNgvEdAMbMpRKGbcylTlhDiQIKzPoPOHdOHAFmwLbyeXncuxdLpFPcdfwQfIOJyBxGTEOYubEkJKEAYmiPzzhvEyogNpbxVfAgcYZtLtcVtRsQuJyMaepRCEtHFZqERWLNPdbsmywnXPK", "rLUOEAxmaePusNWaYNynYNMiBqBBsbRzQpebmKjgnJwsNbKcsySEGjWLKAjqvQGgzBktCiQAHOZxSwVJmSoIUZNCSHQEKcHmjlCHUTdHGACuFOTtbOLFuQGXfTUjqMSoxgYfruJiuiCrPrIXgDHaBCKgvdSVGPogmdhpcIzILFPlQGKxxLwKHgVmVNwThEaBrNQofYXoXhLOwnSSOlpZLxyzmbuCaeIOmuoazWfaCbGONzmnlFWZhknaiSAwcRuKtVNzXUXDVrRzdYSEATOPrNJmItaBWLoNHyrVYInMoTHWtWXrMbVjBUKRghnAqpWedaZdhQmnrddwbVQlmBTTuzuLsaqCmKcFtgwrtYrFgqfPTNZLlZKSIrpkjdzODXvUOLYLviHaVXdjoguyYchTbhopyXoXoMjStDxWAYUzVYBPVcLSnrbgqvzaSoMlmTXCqDctsYyHQZWZXsYIdHAFXfjVEEVrpPOTQEfJmnBSIKXlGmhTlMXyMCzjvVAFeLeE", "DdGSzsKbtHsKErDDOjmKmtFQNtMPKagEmXwKTVuiXnYiazsRVyQrYTajSCAfYYTsSPEwhYRWnkfIsizjdZTpVvRqyVIHFuIaHaSBAwWVENtNunkkWeuxogXvQuouLImHepxZTXpWLRSSKCaOUrynZqxJflldtKYnfRxdaOzepYmASKGjpDzNJSFSontWAoUepTFwDDfnxeponPYPnKEwvFggjIGerlGDbeYifAfjvoeAjJjhgCoPJIFOfKqHkMgfRTyzYHCqrPGYhFQDFHMXFsADKnHxnggIIueSSFiHAdXwYmePspNksNsdWtcuKhKmyypnlsKAcahvVKFrOkgfCZUHVlKYLnXCoZtGeYxwxZDzZPMaLlfdjThNDlkWZVjoBgpZfBIQJmttRPPQayuXBArcEmiaTDvbupDVXTKEvAZorrjZLkbdJpusXaxCqcLUGdDgVWTjikOSADFFmAOjWWZsZIvavfsWmyufyrFRcMIoMuDiTUZlvUyoxRxkSusR", "zvpPHiMdegeTaNhJUSwCzJCzcOxCSMdcqnWzGGHRbAffmmXksXQRtfraGuHlVYMSjEmWUIVotTzFkQhTgyZGLCxlVKlFRwJvvaQKVFlNWVfAfKpXpZNfkSXrsOKhEdlkxcuKqgJnWaZHMQuYYKCGXrubTqpjkUgZCbtrnfxlTGBdOSTsLzAVDgalNPwNjhOdxNXtLDJwhJzIQfwjyDJHWGnZcYrGfyllDDubTQJlHNxvUaCIiHGdXAuvsteazgBigfVLuZAIwGYgKlVTPnDocCSHnvXRcHkxzToXLOOyXZmXfTjXIaUHGkhVAmbfBEQivGBgvbkeQaDdgHuHBgQpevbmxQxVIQDqvKlWAseMhOaySUVfvyYTBnEZGpWSHMqGLmWLAigHGSbjxqpyVLTFxeDCaThvQGSSEPmPrIBVZmcHwifOjcFcmrNXtvfLmCKoORLzzEJJydsDfrIBqdKxnNGEJCJuKtnRlESohumgObmeBLwNCatoGmMHGiIVnbAa", "iOprswHqbJjCeBnmclHviqwTbAeAeKslvWGbpxtMJbumZYiUwSPLRzLGKQKeUEGIGnoCdQEDAQvXVxooZrKGistSboWWSwkgLEOIHjxbEqTMVZiMFDmoqcxLOabKbzmOdVVIxhJILVsTaOjreWDbRmjMGIELSkZyUnBpHMRYXlFwsSbLtQJwCTAOBuWDsuxqmdqLUAEFXIWsYmYGUhuqWPMCXrMFKuNmHASdXLOZHqOoWotUCOfNAfLXpPSHQstlGkUnqHRWtWWYZnvGnjKKAfYlttoErzcaMyBriQhexhejvyFyHSoQSdJmmUOasRIyiYAtuKGvBduQVnnqsPkPtnUtOPAAuxbCVGhsfhtgBBPkQLtDvvHqWSIadrjHTBZFgCSPnVndJIbYGeZLptYXdocbRWlneEQXEbFgLmlntmUGQcBhOMNMvhEOxACOUBYgGDnhTfQzbBkrMnzwWngPzaYguwEffJXpAwxaiRsTBSuqYWFZYcnBlWWcSUSWklpj", "AHTShKiJrsyhMunmSMXnZsKgdHEQrQjZqQwHFgxFUUXoixbOxXgQbJCtnPlefCiJQiTbVGnmXItgjDhPNPCIKEuLasdmicDLkisgUcNdnFvNJFhSBQdrylEVHbFgCnZwpjbynNLpDQcPJWphEPqcNfrKtcTIOLHOiCNgMatGGxnjXCWCvPYYsnXIQIYutCvZjuCYIjczsaUqdZMzTRJTalKwZiPRryqeRgCvCmNWbUjLTLIIxcNxfoWFWpKAbflBEDnTsCYNvLEkKNAirWpaptkgcoUnolEZcmcIZcbfnRgspJHSYPDrTkLjGqEgglBALgqqYqkBenGgCHXLvhPNhdMXNDxPjgMtQZJjGgcQprWkMQCuHpEOSvDgMiwiFbTNDblyTftARmLPOdyILvfwmYaFnawoONKYUTayUIGNDBCfduEXOXRNdGGzXiwmLOcfauZmAVhgRiiQyhivOEquapVGScZUuWtXRQVoENiKsCmsMbKaubSaORxziKFKIVUd", "rjuklmYIYduQZkLuRTtDUCwuUprnUhDbGNGMpNkquIBBmdktinmiLKmyFKbTmFBYrAUwwjYUngbWnEDRzBmMKQaehBNpCKrPMhPceBqVVcSQgoxBmCNidHfKtbrpBbbNneKhBMNOONMgoAmTjByNgBuovWZTQavjPKwctFVipwkAlyMqbrtOagHHtHDfKJxyRaMUiQxCEOblWmdkrRjLsBTVnDUqOKBUjpmqbUnlkOGXFsYLoQyFHFsSINXzrlKjsOdjWcwtAoWJAwjprVsVQcUPqoDjKloLSCjOarNpIoDKMMLZxapmNClIpBRofMUIIlJydIlVfaUhKOFzKCFuJGKTfYeYmpOtuTiAnNjKkqmwXpIhbycTfPQcMVBDEbtHKDNUWTMWIlglvTvmLhAMQdxagmYClXOjQmOsGlKIpRzlnfvbetKePzgnxpkuYRizONFcvdvBeRuSsTDdYZYJBurhpZDgJRQiKznSwIanVtszgCwcqRpezNiZLLiulSJg", "OMdBNdEUwDuGeMMauusPlxbiucnhnjeizsLEUoIzVmBIAHzoYQQeYsEUArvwLKohdWXUisrnciYheujsYSInPMHLalAiRByMmLGGezyjXzlwKrxCXihhgiVFIebpDFCwSwyJOOVGsFvEKhnAGXiZkGUMmXGOhfmOOcseihaHSoUdPqjwIwmoyyGbrpgFrqrSAgyqXNnffJhAldSADQXQyONullGbQvHtJPJXRNrjqVvqGUXefMeZdugDpMtJDtJCISDfligYaKSNpzphscZMPVxzkrvNrseGIbVQIiLMPZwthyjviiAvKOuKkMcflhSSyyPUMfHuGYYNEOPTKgWtqsjRzstLvqnuFxucfcVbZDKgHMybqVxLjnxicgpzHPhAZtWPdCqzDpqoKraBXMefVysHdNqieDBiXMkslPuGEsmvEXFtDwJHsSXvQRVQmhTaQZeZJLqrOgbCiHvlNqxmVQQmgJLqJPIuHCxrUUbkRNhzbvablYSiUBDzhNIWyFpP", "AHEDpbiruZONlGrdkbsoNfqXeUTtqbfSGPCwJKLxbBzalUuvCRkRsDGyuBuKroMNvhVAbmLjpAlrjhfTbVtDJcmbqaEmczwknRPhNvTDAnqEJNTXwHbzOzLJKTYkMBOduupwCquxRrNQlTvVNWzpVNNRovmZNGTbOnFQORqcXsbMYkPPuClSeATHUHpjUobMcsweqyWNtkxFNAqkAKZkxPddCwsjDDBjOjJypRKFDHUhKNdbSKdScjFeQACssoDCGqZsjBfXMMDzdSGFHKKaYQxZouhrvTtqrcpAdTDinKUGcxdEVxqdakRcQAbtJHHDcNodazfWmHdxwDXPHAivnKSFtwIdNkcYWRFZLuLviJXQHXLoiGCpFsalCTsElDfAyQnhewflaWExofYnOtKqYeJDuVKwAFWUAhzlCxoTAwBhRMVYsaHYWYSmqXEeODovRSiRzUvcPWhyHHuVQXNpTBGrOVrNuVGajDqeIKcQNgxuJfFYWPlXQZegoqMjSizH", "aenYjFLtFsSyyegvMKPWwwxfJlrYGNohRmJjfMXCFzdghrhXZIxsBSSsLnvaFNAVCGCLcXCMYThnUrIRKirWIMXfbNfJBIKwjYvElKOTqTSzUystGcgwATJYZCKmRRaKLFSnTngnzQVztbvJaYSLKWYUyiHYYAJAUwOvhtRrZyZbuKswaWlTadpkhycSuFzYWJgMtscGgzIKsQenQzEktTOflFGwpwAekrayijpUVSfTCCAcOJEnXWPaYiZMcrpOpTuAzdiOnEICAOvbqiWmLNRxXisCYvdiayVrrcOMZnOxdpSLUgIORSjfKiJxznXotDtyDKqdZIafjHNMgTeHugjWCWrhGQQPhxTxylvUYWgfQGsaNOMHMRyBInzYxeAPfkgXoNiphuIuKtqCsNzWtNyfEVeTSyQFZcJyMIZXkNaEHSqaEocDVjaVkCQxHdORjhpOrkSKBOtRMoFNONvYYeNemtGceQvKtqMLuPsaJhOIOEhWMwBxjKyWSeqpGyjm", "iBAJvCXGPFqMpzbcVsexYXwPqHWaotCrjPTQgiRdISyAgiULdulfxqHbeAxfjnfiagRTlbqimilmoGnmwvSzssRGzziyaTtEtrNzQuiFgtNpjqlIcuXawZkClcNdDoEFalSUCSNQzeivucnAQCijifQsXGsJKtOBeZxhCmlTSEWZrHOlJRDSZLxxLqiYbKIzSeZLPTISjloFzBKNeXLgNNeoALKmMoQbRsBCbWCTuDdXjxhUoBlikpxKAoOQALUxlhCuVdiyNduMfprOExivQDCwIKRGsGQpUsSwELXIeLmlfbeotCMZYOtQPHRwJBKNOEdjAMlCNknyCStyAEsmibSaxgKmBXIDuEVYFVGZkQkGOIxBLDibMxnriTEMrqUBJHbuBqTgGiyVwmgbirppJSIXFTWPowBzmdTWIwQHnakjeYxxZLnqWCgjugnsVjcmKIpGaVqDwSGIjZfYtosbIUxTeySRpmniWPWoAfaWsuWVdeNsJZykcFFOVZnbWhNs", "PeODHjWPOAfnAxxQvXpKVofyUrIDlXjHsVsqpwumYuXKEtUeuWGeWPdgXCXeadjeFpwicdgQhlilCXUZwOyxSeewkUWnfHStgmJmoXeQAASwTPNceVdgNrWBXavHtflFeWrpLfTAgFThSnhaEAyCRXjxkmItzZPTUeRWiqksHUSULBPaowhlrizogVMMYdxAtGCTPbYPlPvbTEUPfuImYqBjCbsQCeBPCFsdSgfEdGQZbfgXQPoFgIWNYjsFHPUtoVhFlOhQfnRFMHmvhftTTGvzolSsJrXJviClOTzgPgJeBAyGjZwCfFtfsBZWXiRZgbCvZLkVOcRyZRrHAjkWYUvBXoNzMEtTeZaFCPkxrRiUXEunBUMnjyUisaiYRcAHFvKXlJhGnQYhXfyXSbWQxUSWiqcFkWNLJLTdOlgpyukcfrMlqvuCgRmDMFHmZfXPolpvsjHGdaaJItLDllCVfRFULNclwqiFiZwfHhbWUtUWKPxAdkrdJluGRsqWceHd", "BnZGOxREzhhmGxBEyIGkjmHfzTSnlvGSRLihrLevlnOPcjvuOwAdLSVDhhxRvASAuBJhJLJSopCNpGBOFfMZAyrhrbuQqYdMEykhfBNfWNrUFVjHehpYqgPkgqYOXVsoRusAWxGdneKIHAkCGSRXgeCVHihVBXKOhWeOqnJrpTnHSAKAaZpKURppgCdbUbGKSGtGpwvFXHIsPcbbqSlplxhNQutQvyUYnhcemQQywEtOyOzluuZdbTAGaxsGcJaZeCSlodXjrykttYQYucoxRRapzYTymtTwgmYhHlmybiBQaOlaFrNKbdLeRCOFOjbeXBvwntmrDgkvPpZXCuScJXErDVUpOnAwSjheAjGyPbffsfrHUFealkgEgfGsjLTliHFyWExlgsDYUTHSSjDDabDMAORbNMdacVPOuJWjZneIAgAhEWLFUfUJxStywfBkFJojJJUdPohcXaphOnmwSLwTCbhzCGXGqVjgnFsFQTjyNKTAtOJrObQDEJEZOVHx", "PRhNsCWZMewNuiHyCpJfXWPyjGHmrStoAtdSFYEyoCRBgXIZbfRFvZxacqwjvKhcqgMjHyjMMLGhwAWzMrRRugsWbDspxEgdjOphnFqwzLsSWPSnrrEYHREakZxlTivdVOoAymOWcFWVAPRlWJYfMwShpXSoefqZjXYZcQtnXyGuKanoFuWWqMszOiGpuwURiKJgZVrisqApyAPMKibOSxPtawyWHEGJVYAqJnICEFnrrFxmJdJhBfvkacoHPjWWdkIsGEqlxazvcfCcphPvnmMpyURZejwyzoQckViKkDGILenLvfWRrXGWMDeNqbvMtlBjLSqBDsOchCyoffaazULfXxuQIxkOWfbEMATrXuxsrFJrDcsIVcwxBXFTJyIjbmJVmDgMSxtotadboOomPNTWSJtczPiRozlTMIUBoJfbrNVEgHCIaLjdludOAjovZINoNbWsFxxRgLsQOeQTXodmvQszkRlWdJeMzKaDSTFhyuqGCKDYyKoGRtRyVmal", "pBiVNPwClFkFRFuuZrtuBtFsBhUteYaNrdidalWCzdpugengseCiXNLwrqWSTCyTRosgUFANEnfPoCSBfRdbmCGCsNeGHAKcdgsPMdINKKyZqEPCifVbxsUoQoQPgataRFcuQSgDeGuuvRNAFjSIEpyiOvRhOapUedKKktXuBNMUBYHjTQpjEDhARgvscWbvGbnYZhsVYIiXdYlQinjMKGtGKuSrgLxrcazaRJONqjaRSeXJeVxUCRjSqYkXBumCqmCxGioKCKUcrWIYrqmDmRvtqhOVhkuHvRUSHCJhWDbiSyYdZbkBXiUdVWRePQreRYCGWjUOMdHGsehUMJpVxXHsEqRoLDRuCuSAoeHLffNIQFRFMlVyATBYkNQaBjDOmuQorAgzBxLAGqZRhsGmgQVCSuCzhUymaZwngmFUPLkVGpuFTgdpOzTLrwNARqLRsqEFNvWNMdfOWqvavxqhpyOeeNpYuauiCwSsUrtQfkCHxfxnufOqAcDJyPCaIOtb", "GdPXZcFueOHNESXQWZBqFjtJxMFXxJQvXhpGLDhTepLAetNqVhmCWHobeEeAsWDnywliYaJACcjPhgpyrdRzeBvcfZupkEgNRrymKAfaOxxGJgPnfREWkVQFkKQkXcbBDTapjeLeYgRbFItIJeufnQVFOPyRyVGBsaVFfRwKrCFlzgdXgcbPFGtgRwuGGhTuwMNDNLsNxOvwvkpbReBxONWIfcVdZNqnsJQtkYGYfJPGgpKxdXIcBSDAKPxHOaPzKrCvEErcJOgkKBoswwKWTIOJBAEcXgsZoJvfUqGcWULacummLmHrbRreOCcyDZwVTnNJumXvgRsvNFeinXRnvvDbtIGAoOfQKbJpQBoLrJWYIXlagKmovBVdTQiOKnIahUtkDTeoCvWvsaoHiGcMKeYrQKKVmHVFzVpCrlAFBRIRoJBlYlQxvMBMEHqTBtToOrXFEIrFtTpfbvwvXvEAjfuUhdlELMjzMFiezPcDzBIsmsXnfrKDBLpMqtoLecJU", "dOMlwgRUMWRETyjMrWHUtzZtPmKJEBQjMvBxvObUBWWiMfxTmJMytfsQMMrhALbBGDOLvewXKpoPIuVmQnLZHPLsEApOWunRMSMhUoLpkZSQTrqloSQMQGFtujHNyxXtIdKarPuaApOqKaOcSrEZBQTyYvPWrglwIWyUIjHJqMRrOeigArggqefjvJAQudQJZdoqwIQWwiavNJnTGeVOSOeXVuzMTRhQKcgdpQFsdLBUvSgxhUTzMCmCPqqTrXsyNqhiJcuCfNMCopwKbzmYxeOQDoRjVIgPPPXaLgJxUVUGkaVceFNaKPKfQpEFVLJosLjDgjcoRLafWVxLTIRAvHcHfiPxdvUasPrEBcMpgxKMqLYQJSAVPLFNpyzFZBimhUBTdLhfLYzaZTmoLWSklZiCrttrXjBUWJLNOvXWkBcsTZmvzRQUWlyNajyKZClubHYTcMmkDvgEfbsIGRfTQfQNQShAOiDLDHAQTdEVZCSqAZwhsRahThIiUmEaHoEV", "VVClYjXbXZGATwDAsEPJEvDBPrIwfCWvrSUfvMsgeNHNYWOaaZwBatgUyeAcULmnrLpGgbyiRrLHxVQaOvIezRPVcAQtrCjhfHZHiUbzpvAJWaSSsxCwWhEyPdWLrYSwnEUtZvDGpxqYZwNaUDGZafErNlkcvFYsTWjbHsxwpTHRahMQrsoORIdFCepmlMEpJyXsvdxPToAvvUVKKugztbPWyvrGTYFrDMpdvLdiyYIYBARKWHtQlnOQrGIxfZMrCVuVPssSYNkuCOstbfmceEWENfarWMDHHzKClUMwJlRwukKyYCsdaXBecZBeFBdmXcBSAmianAIyjjfjsIrYIcZmCFLkkXGGUECiQoZrUaNfBMQaKayoYNiprUQEHgRrchTxYtOuXZmuGWlqFNDGHLvuIizReWYStTASvpGSvlYXNNJAhNegsRuvHMVZGxRUfpYIklDaPSGvQOqHGgtDMeJnabAKtBzzjZSyCkuJPrrZEEOrNPwoFosJYZaSdzRo", "oXNrjdESFxwVsXjGcdKAChkSrXxZoneYChrHKzGUAigElDwcMEyWwYqLvedjrMbhSxVlqnWdXYIfFlcMKxSZBDSXURPbPHEBQdeuEDnlwpIbgdPGUGpphtaQSYsQCFLjpLNhyJxZKgXplcnRefuNstPmPsZIKSkZmPtlqOSDIiwktUfuecvyioxiSOlXBbdMNRhMnJpCmBtPRqncKwOTmWWlrLIkCHeJdyKkmXIuRTlpZKshZfAJVccGYngwIXxCwDRvGBXeotyRnzaGrMPEWcGjmmyqfSwIUIsQWeuKVFCzLjcorTbSTnkCWbTYYjCBWKcDQOTymScFPayGlcoyudFmxReHTiOOjNFFhdhkZDwmBInxKIRiBIipPkmrGIthxFqmUAnWKgAjrdTyGgcCVBKiwchfDdhlNOSNYGLZLPeMnFygcGKljedzHRLBIgBgQgAStchMJpNaAlaJXyrworJTRzcoCdPwRAZjbBsBBsWwocebixcCfStBzDIdUhcB", "nVejNmbNFJQqJFZEVtqfgNmJQcQvtCURmGsflBJAJJXsimioHcRnkIiibfEzNVBBVjBjdwHzxiHlQvcgNdWLGnPsmWiirFmFYptaOKtkZbvYYTdnhTGgRFIpaUaqitvBSILgpMwJENFWINjAkXERNLvYbMNxJjTOgHUMkqvdGNLjFepvSPWrBpYqQTwflOoLhxffDOpmSrWqonXzhxDzNOAaOVBoXSZUdmyNSFPdjeJATaeXNQdxjnNAMwylOgXJFQmFSMQyenLFPGHBEHKqiElbBxwdrOUdOyyMAevRCNreVtrWrbKjNenPMWjroCToTNHhwsocStjjslLelUevwaeKrZLcQlOyRaQYeGcdsEZYHtnfhMVAYRokfqhIhLYKCUMUcxjVFVGtbLgXzjebtwhyOWwNLRPubTeimomSrewwSkOIxtyPFspKulyCToqyxRDKaoUekwlVynxLjnTBnbZCyudQrUwDNEtNcabVIxJBAUWIFrOdnfbMNxJbAkiX", "cgDkPnuzNQMVDlJhpmEphpMaXXGhQtrMUuRMRcdsvleHDeptBYsagJjBcQViaLdsOpEFbbtnUMTaBQlhGTNpCvddnRPJThWhmrjMguZpPdxuOdiBhgvlbMutufUhGinxtuCXyLfjSznAtZKMqfAFALKFSkHKHqcKpyhiytKJrouVaTewyHVABcHOhaNSXwGfoIQeMRJuRFHjWFMVqWijUxcJgIpyhMshaNliAwQrstUbtXkJRjQNDeIHjTYaYkDZaOOdFYvnMKzKsEpgTOlUaqnSHMFBInViLjjfFnzVibrxKILAwluFasLFVlSfUODNnQgqvFfhPGFILrcKKqqhLhjXyYiQsqHjPozCyMGRIKbJoHrPCSdfnUYBJHabOjZUUYHpNIzNhhhmeldRePReWZGsGPSeWsBlqhtUJEguzjYxNyihNnOEEoPTAlzuEoHAoHgbGizfNZOkswhStVcRPRDbbhHKAlaFiczVdFHcCoWPpskndrYzutLEccjTyUVf"],"c_array_date":["2017-11-07", "2012-02-12", "2003-11-05", "2007-09-11", "2019-01-16", "2016-09-10", "2002-05-15", "2006-06-12", "2001-05-13", "2008-11-07", "2017-10-03", "2006-02-17", "2006-11-12", "2005-09-25", "2000-10-05", "2011-11-12", "2015-01-19", "2017-02-04", "2012-06-02", "2019-09-19", "2000-03-18", "2017-02-06", "2005-07-28", "2000-07-05", "2016-03-13"],"c_array_ipv4":["TkNjachxNu", "hlmhFRwKHe", "qZgIIaBfFW", "KlOByvYRAD", "aXNVTBsjCN", "znpbMxakCk", "iwWBqxHEFM", "zBCJuOyonr", "WakodGrjYM", "QQZbvoNuNH", "zLmTFJoors", "aZHRCCetgx", "jIhMXNiIQa", "tfrarLukZI", "yKLptEFpUB", "OOUshyqYIZ", "WGFhcZUixL", "uEGZjarhkB", "oyrAUPfNRo", "gLmnQgfHGs", "vrQNkGRKzc", "KerTfGmOHS", "QCsJhxECvs", "ZigTORrvDP", "QAsSBkGzXx"],"c_array_ipv6":["lZoGKjSxZz", "hjbxOHgVTe", "BavJqeApBl", "aYgWFUEXZB", "LjLVAUklRe", "OjwTiePmvm", "TzGzcmeeSH", "nLCJFiMFhv", "aBUGXXjjYY", "jAXefncVfC", "JUDTcnuMVf", "prnwgVENLI", "HuatcRGyDU", "pedmIjznpw", "dzaCfRyetW", "YMXWhkKqpl", "SSfwvocRVa", "caVkPjVzet", "lyWtdshGLg", "sOqxpzzLRM", "jtaqmLNLNU", "eKcuucqTES", "WtDGIuLmrm", "nZCbuNSwBN", "fvCNgHIpUZ"],"c_json":{"second":42,"uint16":33323,"prepositiondouble":"because of","animaltype":"reptiles","petname":"Waldo","beerhop":"Perle","bookgenre":"Erotic","drink":"Juice","streetsuffix":"side","connectivetime":"on another occasion","moviegenre":"Crime"} }','{ "c_decimal":29.1884,"c_map_decimal":{"c_map_decimal_1":28.1458, "c_map_decimal_2":24.0403, "c_map_decimal_3":71.1013, "c_map_decimal_4":87.0239, "c_map_decimal_5":64.0324, "c_map_decimal_6":42.0014, "c_map_decimal_7":78.0282, "c_map_decimal_8":31.1399, "c_map_decimal_9":68.1472, "c_map_decimal_10":13.0296},"c_map_date":{"c_map_date_1":"2003-01-20", "c_map_date_2":"2015-02-12", "c_map_date_3":"2015-05-09", "c_map_date_4":"2015-03-04", "c_map_date_5":"2010-05-01", "c_map_date_6":"2011-05-20", "c_map_date_7":"2003-03-27", "c_map_date_8":"2014-10-26", "c_map_date_9":"2010-09-26", "c_map_date_10":"2019-10-04"},"c_map_datetime":{"c_map_datetime_1":"2016-10-24 09:53:56", "c_map_datetime_2":"2010-09-08 07:43:18", "c_map_datetime_3":"2007-01-07 12:41:39", "c_map_datetime_4":"2015-06-27 13:54:19", "c_map_datetime_5":"2016-01-07 07:20:34", "c_map_datetime_6":"2018-10-22 12:52:09", "c_map_datetime_7":"2016-05-04 12:55:31", "c_map_datetime_8":"2019-01-18 21:46:48", "c_map_datetime_9":"2001-11-03 13:53:43", "c_map_datetime_10":"2016-02-06 03:17:51"},"c_array_double":[54.190373689683646, 46.198172246355774, 72.33565581111587, 35.88367511638987, 7.376443425803707, 55.03916519347433, 0.7336603527460592, 98.2699503587676, 98.46187867598249, 65.7405263007361, 72.51782187833237, 7.522107966718617, 4.403442704015035, 25.77072735800667, 70.07709639861065, 0.23069726308778796, 9.34916817923092, 16.72472773861516, 60.1963439053508, 32.280401750726405, 76.89070723183403, 74.74944358709794, 75.84901562647798, 16.985319452528806, 92.55962679132776],"c_map_smallint":{"c_map_smallint_1":16376, "c_map_smallint_2":-3094, "c_map_smallint_3":16873, "c_map_smallint_4":-9816, "c_map_smallint_5":6924, "c_map_smallint_6":-21289, "c_map_smallint_7":-5151, "c_map_smallint_8":11879, "c_map_smallint_9":15228, "c_map_smallint_10":32398},"c_bigint":-569675711381313318,"c_largeint":4173784445384963489,"c_char":"NTPQKIGISQ","c_datetime":"2003-01-06 01:06:00","c_array_smallint":[5556, 4471, 10196, -28725, -6127, 29282, 9883, 14745, -2868, 30503, -28134, 7188, -27977, 8978, 18765, -6323, 31261, 30183, 166, -22623, 6633, 27295, 10421, -19316, -31274],"c_array_float":[89.36859, 49.400383, 80.97274, 85.37004, 97.04364, 12.279383, 70.44909, 83.00441, 68.20129, 25.316603, 15.921325, 27.480076, 25.424097, 29.118284, 99.70569, 81.67363, 0.34739164, 13.368273, 23.553917, 81.00344, 14.473294, 24.795343, 66.41401, 77.13014, 98.25515],"c_map_ipv4":{"c_map_ipv4_1":"233.14.177.214", "c_map_ipv4_2":"25.77.35.82", "c_map_ipv4_3":"243.43.247.238", "c_map_ipv4_4":"188.28.57.52", "c_map_ipv4_5":"255.194.245.251", "c_map_ipv4_6":"190.130.74.140", "c_map_ipv4_7":"116.221.52.84", "c_map_ipv4_8":"226.196.34.56", "c_map_ipv4_9":"182.241.63.227", "c_map_ipv4_10":"203.32.30.47"},"c_map_float":{"c_map_float_1":27.158323, "c_map_float_2":91.525764, "c_map_float_3":13.333829, "c_map_float_4":43.125107, "c_map_float_5":46.67939, "c_map_float_6":35.438923, "c_map_float_7":33.946304, "c_map_float_8":56.74284, "c_map_float_9":20.608387, "c_map_float_10":24.714811},"c_boolean":0,"c_smallint":-15875,"c_array_int":[1436961317, -776629565, 1091948411, -405935899, -760805761, -1197450835, -779274697, 212408170, 799520588, -807795558, 995018288, -1734324280, -1020602939, 1601456880, 1580493722, 1797362141, 1618397798, 1852672679, -1013449655, -257574489, 1923535118, -673405813, 1583748711, 1203334482, 108422309],"c_array_date":["2014-01-01", "2010-04-20", "2019-02-17", "2015-01-23", "2003-07-20", "2002-01-03", "2003-11-13", "2008-09-11", "2004-03-08", "2005-02-06", "2017-02-20", "2014-06-01", "2003-12-09", "2015-01-20", "2004-05-11", "2008-02-02", "2014-06-07", "2019-09-27", "2008-12-25", "2011-06-13", "2004-08-07", "2005-10-13", "2012-07-18", "2008-09-18", "2006-01-26"],"c_map_tinyint":{"c_map_tinyint_1":-103, "c_map_tinyint_2":-92, "c_map_tinyint_3":91, "c_map_tinyint_4":-70, "c_map_tinyint_5":14, "c_map_tinyint_6":-96, "c_map_tinyint_7":-126, "c_map_tinyint_8":22, "c_map_tinyint_9":-100, "c_map_tinyint_10":18},"c_map_int":{"c_map_int_1":1879152367, "c_map_int_2":-1320139052, "c_map_int_3":-907788601, "c_map_int_4":-203881335, "c_map_int_5":-490084749, "c_map_int_6":-1214636369, "c_map_int_7":1005735657, "c_map_int_8":-1953421671, "c_map_int_9":1558443103, "c_map_int_10":729463516},"c_float":48.500126,"c_array_largeint":[-2808529105858150347, -7189247951265007789, 7171360912190646968, -4453873298029906250, -6569966345520113001, -1861967345662645177, -1545196758456896974, 1778894287164023080, 2757390085740210814, -2654222774567996637, 1246621971256253503, 786964930133102470, -1757267790886476757, 5121867337490970456, -3940149401247697770, 4675477415616908536, -5882815300999282872, -299340005695443734, 29780696555750715, -701030713823419914, -1228752421432151645, 835789364474785343, -8798606667354843733, 2447503086186049721, 4175772746947575220],"c_array_ipv4":["mIGhgUxEhQ", "juJZrGzhyu", "MMATzFVYtj", "iyssSVrbKo", "jCaFtDWACT", "IytJfUxUXQ", "jiXQZgiTwG", "GwkeRmDRgb", "WTNVCNwdmm", "OetulsXIxw", "JqiteWoGGm", "FdntnGDDTr", "ZunVYLZHkV", "tRNmLjWuqm", "XykigTJzjW", "LWEeZWxlGl", "ApoDVUGeaD", "HdBAHwsLWl", "BBYAtkvPhc", "VXjnWfAlpC", "nTIMFoVXZD", "bsmXjOGYTC", "cthjqPCNwU", "uFWBBAYkAt", "bNoVBWpumS"],"c_map_varchar":{"c_map_varchar_1":"ghDiNALyEGqtOTkTIlAscDVOGouzSwKfeVtwyZJvafEUOPjJrbeXPkwYycJKrBlkYkVbZkJcmvrYSRFkgsiROVpdOaEMPtdEbiQVTUaUFhbzaANIVQfvXpuTxphqCFhSefngyctbLxphzFQHGUpuWeXNkYraCSUyeyXwjPEHVidkaaTipFhfVGMEupIGriSSQGosYeDatqZmUzfzHbiPyqEqKRKIWNebyBhPHBhPrzCvtLUUPJTeagcSqdIfKmmG", "c_map_varchar_2":"FYXlzzWDCaduitkWaQfzOQCbDjyjakvTOHPrrNMcftLGXMWuxFeYktybCWZDRQKCxaqZnENGtaPPPtvmwreNvKFAuNKfpYiQPYmAyzqRmDEAlhppxnOEvWCVQsCtddXLubvnQZTcRRpNkrAbUcqwatiLNsHbfewTLMojZyOhLuZgitNKIDoQTLuTIMEIBHZszDnqDBbugOTmKGwzKfUjjTVQDrbyttiEwkNPQbVuHONBpDHJNkrswOLPZBwwuJbb", "c_map_varchar_3":"MLpPlZCmLwFIFsCLjEehBZyzYtbdcMyGUJfJLVEuVmcuGlDRmfuRXrouIsOiTWJgOSRdZreYOOovDcSuaXUmGJtTqqsbJSPWRMTMjbBXYegSTXtPdkESFDGGhEDJhKcJjYvBlZyvFmMHHOudDRtEoZFwgRqmEWLvIMgeGCmWavwYKCPobRwSQtHxlLfzbCtpetflqCRXRzxoIoybZtZYfUrtMTjfXpmSrClTGgGMliLYsxQvMcMJFbqjrQwRAcyi", "c_map_varchar_4":"qVMcTQZEaMsGaocXtaDMvSZUHPNgkHKfZybBdtCwluQevctddiffbZmYmOdXKbTkGncbChPhIfFoHPRaOmDRhxMGbSJOVYeDfEqKNZkUGhiqRzTDDIYRLtiiQLIMTmwJirNQUnuPUWytKJfHCOnLutTeQomlMyFnFBxQObgbgyjVuaFvtqWJySlGpxmpOqNItKVHzJOsDvTBIVDKzyJlIJWskjpMxrllvzHxTopxnRkblMIjrOZZdBHIkFPlnyVT", "c_map_varchar_5":"cDrNDfcJnyMvQSlSqpTrEeHFRluVFtPXgguMfBITVJAhPnsigGgdbwxvFgddOioRDvufrgUVtETLxlGLeFTdTBqEPRjbFuWZqhXsFkkYCAxTyMAeXWRrMYuuFNQmlpXzqIujcFJkMHTPaLxkwOmEjHfMjMihvlTZpzKqsUJbWkgqViXGyjpfgdtGejtCPYDqYmBPMLEBmwqYoSLalXThMYLEthQAfYbjnJXvPIgPtqppKfqaSjAYnOLUbGbWADhJ", "c_map_varchar_6":"yHAempPpeiXbvlXUEotAWsKcbLxWzyKbkaEnJudkWDynlbkNWuLVfteYgKOEYxiHAtSmcQfGlqWwyaktXmdiIrtBZvZPTmfxnTSoiVlRdxbXeUyVwKQTmkQxFstoVfDtjpkoDVDljprkmwHwKMREdVEzauNmqNilinZTvsyiWMkqRpnlMRRiEDBQaVHEiSyUKEgtrAetuYpsrLQqCiqdneZdKuaduceiUYKyekHlrXeHmCRhYmRkjVthvoHiZAHg", "c_map_varchar_7":"lhIRRtYenzayPBACXZtjifkuPUzmOhrXeJeKAfHebQvuzZHGeDZdIinBUVXFHhrNymUJtmnFeyzzMhreZOuausBkFsHMJpYImBAVDAptUdbxUnToTbWaHKyKtCWFwpYaBtZUoDBvfxmtNmkAqoWgmAoPnGNrMOgnXxNeCsyPVEOdYndioaeHrsQhaFObhxoIStaSfvSsyzjAszGgVJIZgUJlLXGgcRHJCKJvZtBwZlKALonXQGjdNLWBWepsvtJZ", "c_map_varchar_8":"GKojtdVvyRgvZGztxowolwuCXcBVqgTHYVSkdVafFSyTPuWghujEliTBrZIqovVhWsEkjyjVADHqirTNcyHGGIWxvbHKGjjxbcAvJlnBMynHujtxpSVWKleaTEBQlDZimxhRdorGbnzRvjAiSOLmSjReIrKwUcgcRsmmnhKOhLppYYZIYsxIxLwkoqwJonCouBqakHBINNVAYrWcjbpamLnsGZHXewmqQMbxycWQQNTzqIBMinLasiWuqFQMDOuP", "c_map_varchar_9":"bROIJyOTeelNChtSClunGKoTYZKyXGESCMRImpGlWTmgcvhVYPoeglQLhanNufsMJzMxtfALTqGsFWgONACKGYyScMZhEqcldOVYdMvyjUWxQymwytmLlIUptrYVLnGwoPuuBAWPnWJpJOUjPGgwJVzWpndeuRwdwNCLIRjFGkWnXiXIkQevwwDIzsXkgckXaJwTSOtXIQKKyakhChXagwiVCKFdzlTNMrbVxAlONdCjWhPzYzPsDtniOqfwEbvh", "c_map_varchar_10":"ODztqGmquJbjxKqbFFcnMdZXsoubxamtRBdbodaYBeFlOhwfLUbRhbNfTxEmwsJJUKHCwsAAgucJsgupeNevZducvOccpTvfPdNxyRblYkIeQLyhbHZnnsDWjHBTqXgxMEoHtZkDEWtnyYbLHWHKVYLCiGemqvxnjcuyLweSHUGrExqSAUyzEQJPHpJXDVMwVebeaxLrciDFGCQtEkIWnPUyocINcaNUqVQotinHfAXWuyDKpjMcuJMcxrzCXSgs"},"c_string":"SJquRFAgxvELNFWCiLrjhnFExIJBxyvgVGPoZsAbxXhVsGjMfiRjyHrWpFrcbJywzRObUufdmNeEZZhSSvgcymBIXjoHfAoNBsxjkiAtkNRvLMugKMnQjwicZZwCjeMErzufXAhvuQEnCNYwbdnkatgGRuAKkKQKDavCSvhwEEeFKkSmkaYelthwxIFtZKqAMYxrWciJtWOwLfKWvdpNvluZusRijaKcVjDAcsGuRAiYZdtKjUBdGMkufAikqnNrLVcqSlrhAzoQKXYaoZOWcTmsQtYRCLAvrTUelMetHlvakrtbfTOWbJpgTPxtPWpFcSixyOOyYpHINGdWRcWvpcVstevMGLMRnxDVgKKvMHpYGwNzoxVUeVHxxPyntZJCBxXmaISFvaqsyuqnrbxSVpVYUGSkTVovQqGAIrsDkWRHspzlIngukecwRUFsjOfbWmGNOzbSySBQKuhRjRfCKydIIyfmnXpgtpcPoKXhVwVXTxxIwIsDJmywFsznjBFQ","c_array_decimal":[11.1089, 4.0862, 79.0911, 54.0568, 53.1174, 38.0708, 70.1268, 75.1424, 46.0338, 23.0866, 38.1135, 16.1631, 27.1808, 9.0158, 64.1087, 50.0996, 7.1107, 25.0408, 57.0045, 46.0718, 70.0396, 27.0819, 9.1147, 99.1254, 90.0894],"c_array_varchar":["POOpjkXfLdIwFozsgeDHWoBmwJujuQBHABejjQHyDHYfxJCKnifDazniliJTWeZkbqrEaFfHGBAJAPulxxUSIbOlrXqDJivHEUjdytHsULxtZLBmrOYpGBaXTSYjsTUTgpBapUAgcUuswtKVxcXqZvGdPaGOSYLDjVQamQRclsbbdyeybzeyzLQCVeGycMcYEGgBvuXwrBmVNJRhxywkrEpLrYLcqdOiwrLtmScrlSyueSKhBVFyRVcdIqRNAUXM", "eeyfZbclTtLLyKHOLIfhbGBtUzgJQqDtbVhBPvNmxGIOudrNMaZZOyfSYPuPCvKScUdoFZkRzKJDznZjEMEwtGksvCpHKEBZJexvoyHuHmWeTUTtmbzEFpXFpwgCMklhQlLkpWZixZAlHMbDPTpVxGfURLKdfKsWwMbqxyyssFBwwMiTPQILPQczpuzXHhutCdQyVsrvebvfyKZNvrPCdwwZxEwxibEAbwvusXkQfKcfCucnzbNsicGldeWFUNVD", "uiYKBGkICHvoBQtqQluTcbhKhuXzqEgpehHRpJzBbaFsfwuGwiWhfOeGTrvEnKUoclRlAjrMJNoATNbGcqCbuJNvnpZLSMfvzQKATMjjusWMMZDWiDnVAzqSNSTIpIWmINzuyygyRsdelTYloqndryCDgUntBnGVgsAlyxquaQqredKxTFFlIYTVIXoRWQFUFqMxrodbCOayFNMPQXhGKDDbIrysmRlWPjRjkIGZrmBCHtkzWQZCpqaTMCIPHKYp", "VNsEdovZCtwxWhzJFjdXEEzcwGBFwvpEFGxNljFKDFQDSlSjckNpIZsKxNZvRkapxDGjExQoxbcEaDMmYLvKlEkSxGuFLuZUIWSLqQoARtqjNYrppzCxiNazPCsGncuwuVPlzETHNzacSkhuMAfhGXZljbxeQndBxPnvZkMyqEGxitzTfYzbQAbxmxpFfsZKDeHTJYmkmiNfNjqKQzhCTCUsNrSQmniVVDjtOqstuqLFKntheoQDsUgGDMloMavV", "jdqnrLJytyQbyzCWuYggrjzuZUkTqDSXHLWqvletmrnSxAkBnaVNjUCLNkvlxxKSIwszzicGbCmumXspuFTIESjgrKZOYgwvpESjhOmmjWUnOpPdPKxpnRUlHOaNbxipCcJlNLHwXegHAploiMQPlJOovWQIRKOksGUwbjwrdmIylPLPMNPlJocnDJtrEUboLyypesSQSihvGuMiGWqVWGJhUAECTcBjUpmpbiJojOEKriWbeIjqnkLGmlcZdOpj", "egWGowjhqoszZXumrfMtRamKFaLZXpPvxKywsKeCByBiovVGJCwkqnHfELBSiQsPYrvtpfYgIgVsYhbVgugzbzOBbNGpiageiAFlzvTKiUdKFCqlmHEfJdYmVQniPoTXkMBCWJQndZfSkZzVpcefleyuUFpqLgfvUBnybVQXfxyPxTLgBHKMpgxugbMqWTHXrbmKnMwcrCcpAUiYFulYKQPGEOFmuJNJstboDbpMNHYyTKebLdZfvIPlQTjLAmsH", "KttKzUXgRaZGuMqmcdTsVtHUdyWlILxSZrtFiEsTcGzBkFQavDJpFTDiRRqAUpDGSiNtBGGflBQaIFHKTJPBgxlOFcDvGkPzAKipbWReZdhCWatstFGKrBjgDfEevGxfAcuDwZZAmlxRRWCQwperFZZfPAKFoxmxlbkfVDKzNHcXWPVKKMHltyWOOJFhRzkUIsoYCTuZVYqGsAjTUqtRMsqNcrbaSYtwOeNzajWarxbrDukOByGBGCmhohSOvnwY", "CujADngFiiwTZmtDuuAmOxwXlKrdRjLpUximIXGkYyipEJTafQBRmHmAhhUjxeIgsRaHGtcKdTSRHXoDmimOeOxbtQQWsMHJjCEUydNpnWsXlNRdsolzTshgpYRFperpSOHWRObgjfSAaSmxiYjHtxEbZPiMyzUAerpvJYWIrEwrctQyhQGNsnDGozxBbWuLQRNaRGpSqNhPCsGIkpqhhpGTvcdXqmJNWzygnTxxSpvvDmczoylhsEPbOasFWpib", "AKqHyXescOfojbmEGSokNgafHtkSKoITWvgaEYzFFBCnXAchpoYawToGHMiiQctkrrIkcOKfmRoxvXNEurFdPvWlLYPVQxWxpqRsIJryityBwcCqhvvVXdtKTvhqWpvDslUcahqcYIEgznMirGpXYqkEoHTXARJWrSaRRespGkbyyKvtNiwojUnnJCOLriKLjvESKRFmblKbLzufMkmbHOtIyxREQtYZhdDgwPUmfUnljjTXIzimmaHpNwILLrZt", "DORleKhhsfJVynnbBSHuqGaMQVgFmTVafIpRDaZmMNtoGkhyeAQfwgnVvzDLCigJHdLrgjOUIzIFqQqGdRtDHnORdZztuldgfyPbvPVfGRczanuvygdxefGBSKIBayqsFFltWaCKErMAIeDpyDJxJqDYRFKoDwNMSbyouMjZrVRrKbIjhAwQArenFuzPubBsASNKPZYrjUqabNwnWJhULYhVjOsHckuYCervAdqadmmFcESRxjqJnnqFuUzrJXMA", "nJKobxOeCTNBtJHMtwwoGMNUSGsNKxNAkPRUCnVwfLXuwXocknolCBvcMskUVzGFlIxlHmdAYyuUgxtspqpJbAQEutbfLOneyLpvLziSqHsNuQcvktIqWTpFZppTtlsFBzJXpJenIhXdZBSXqxxBjprUDGubJxuDYiQDTkqKgttLlzLURzBSHrxNiYZRJeZctfcAAJswSlzcuryZOruuoAbKwYdJzxiskHAdEvnyoGQsMQnCsbYgGlgohxWVYKwP", "jlDoXSrsIuWKVKvivQmKUARjVRxPbzNTfSlPLjJkOzXmmfViiMBMbZcUqIELxOUvLNblMZDhowspGCtaNACIcqdNudKgWjTTMpmhULoPrwcpiSSZugWMSSOscGvoHplixDhVZoLkvseAjseZKjIHLlCyjXYJmCklWuXMPUccKvtjXrgytFzrcMkdieghBurpqhlqmbPTiIuQDlrnrRkNuwYaIUJeWClflLGqSqDEmxiPtyltlcFbevUfzlYgljOM", "iEcMHHekcbcUogFDTWrgXJUSNDqvWPmsTryBQXrHhLNEWovXWLOsoKvlMRiphrSUvKygsJzgWlwOJncRPYCJJusurLbVMXSTctkjyCXlcLFCEMSWYKvRVQfayuWLyvSZCNEOfqUaNbDoBvMiMjmKbUCtuKRKHTavIrfBPTsoiRnnEbUPqhLbJExeycxnxekKHibCMUGFUyIAYYCZwFmwADnpLlrroHIboQpZitTuPnWlgwFPnUjNiuNMAWMYFuEM", "RhZUOFIuhTbFcdNJmwPzCZeAqInDsXhwvTnFqHZZMyVAyRwASUHUwNPXWbwAtauSmhossijorwKgYiepTSVBmiqAIYkDNVZCNNKDaUbMvtJqTcrFzgwIRZwuFLQkTOaBLrWZdUrkiZSvkbBLgcDPQqdtpWgpPfevLvkfEkyjVNOurHiQjzWyoMnnhNsDrxenqqjnOtIjeqXffZCyRhuqEXjfucuhzpkYLGHseokWekCcmXMhCuXpzsfAlayVCOsb", "CQuhawUHajfMQCQpbMjaHMPyIrKktRQgUWVqXkrtSpPKWSAFNDgHPKczOqWYCqlimuECIcxJVTteHKsgrIROempbkFHGQruBdaVGkydAFJxTJqyJCTptzRzDMrMKhikAGVskuBrDMpPimVbHAGBaXevmlIwtgAnpuIevpJpeyXwZkljoelIsVjCVoZmoaJFRjIIaNtZpXTpaqeaKWqsVKAUQJchleBmtUoCSySoUmUVxjrYqGNlRNFzhoXqaAbkZ", "MelfNCaBKwvtgdDMKhrpdiOqmZsSPCeFWFxVbxtcvYmLfjkLJHpZwQysVQJzvCIkmmSQAUKhLawMlgmvMdNuhPleJFZSCNbVKeuuDqEvHPyEWYrBbtnoiWqLSKqSsEwnvkFSthIeLNHHQrYnxZpoJaBVhyVCMBZlCZoqDrEpkwKwUPEORZaHYtoVPinGmSEWFbSRsnkmbkQFoyVneIynKMVOxbszHotDzqEsoGAdCYcHyfVmyCQnxQyiEjisukjF", "PEjdFVycUgBxBEWbQAPNodKQtnbvcbkUQXQwAYCnQZcilWktPyjyRCZwjZuXszgDHiZjWJuEJkrsViEHoUFGbLlrozctiAmlEqcbZAWKOYLMPxOmHuedAfMBfjjAIGwFvyTGwwLKVFfdtEiXzVCUFQKUUEKCaPbDSUHATIxVyghUYWFjleoHLRrgEqCUucFAWieJIeRPJiTQzeoZYXnYJmgIWmapCSTgqcrJgSnOdQsWBnVBWNyLqaqLfRxFhtQH", "ffvdoAQoilVlXNqtIIyueGHxVKkPuMYpsymeAvCBIJBcJAdDNmjtuJAbiXkYniYkOmeWKKowfzRPGMQgxZVVLOOlFPAeUkyIOIQRzZftwZXVOHqbTaxlMxNfihfVDfuMKRJtqaDoqwjkwbzcaSiNCtWhaBdBPoYEsqqTGZoKGSOFCVnRqVJtFEeqWjnaGYjZxEPJuSFRrFIkJVuOLrkrMwsWBsJKSzbpxSFwHOLjeeArvqNiYmvYDpzdPsbbhBDg", "imnxHuGSruMCjQUDfpRDAOFhfUmMQGdYnUTYhKdAaSuEHRZvLpHjqpfEiutbyJtJOmOTwYJHzzCwGFMtMMaSaTSxuzwlgdGQHzEVfaveekrpWVxsgkzHPzXUrjcSsyDDsJGfywKQHdDhXZTdUaWWbcBFyfujQkeyhgMmhwYjfcYCBthxeNvyBZgTsqqaBdkFrzWihsxIlRuyiHPiRTbOSVOFLQSAIPfWkjwhXyewVuefkXPmICqYLQMENQWmsSoF", "UIWbWJZrAKHRlhvujTZQTMxcWnyVxCnpYzOPYGZhicPMjlCyTZQZpCDTrObSKUFpsVajpwPxsgTqPMkxfizTuEQrykYCdRDNYCLaQETfWJJOWwtwPcmSlnebMHfPVpqPnDmYtinDbklbMZgbkIfjlhqvAzpblZapAqnZXfUufJiIukKOgqrQRCmDCnlGpSQWOJXJSIBqOdRzKlvhWWVafqecBbafKZsZWiXqeciNflBLwosgpTJlTHdLXLjLrVKy", "sLMglCSovvcCyXjOppxMTdpyHQoSLgmIhzLuysSVVDiYOuCLEdHgbNtEEXaZcfXjfzcAEyufeqFckViIReUxlnhbuHJgOqyyxGToGZokklTxEXLWkuUigUtzKwxVRfejdnuVltmnuUSKeGSKOnTVgsFygPMFungxDVeuoPoKGAbGMOgTbpmSelHnpnZLBOcMJkJUftbWcERjNEsKyVhcSHYtuuiQdFXHAjEhZhSUMzCByzaRYxvOogcKglPBktfL", "LTOrHGhRVsXaUejLIldtjYbONbmZFsFaBkAQksTrzUxqqkVotgKRaglKWacdtoHXHvSLhwQyXtpJyjOYSUTfrsumihkFGwUltwlQUsklkHwJkoJFyTBFgtYWKwFskNVzMzNxhuTPYqMCgLFuPacKFyIPtkMrCIFUpAFFxmlEGThLKLROKLClElxlJbxuPGkuvLAPLCSEwZoVKWnpjgwfgaguCKTWLfkEPhwgRrZnMVRWYpoECQHirKCjyKwRXUjs", "wQLNrhYtzNcIwoJVADhairMUMHsZuevCjsoFpPhFSijlMaJeQHNsvXOzVFpiRmgbaZcmOOyqYNRBeRjuWeuPGAACSBDuDAVjWcfMtcYnKSldglSeTgUkSTehAUjxdOowQHfybkNFZOHCcdaFkeIjIpNXZCZWmXqFBlEveNFIcrHzPtsUgSAPZmLFVyZiTWjTTkNvXEaeIJdAKSiuKDfPvzEcpisSklnhRiXEWTLVaMAWLTrIMZXxacjxVADwVDbz", "mJnUbIDIgACDSGixTbXUQFWSxbtSltDIarjLNRUtDJgnkDLlqPiwCgmpzZKFCwNxMITXedarjPlZudDzAqzPTnKOTnLSYuiupMiGSUKcaIJpNIhfNAilBryiXeWlZViowdylUODbdgymvLZEddBlcxBCkWpoNIICaZXobDrfZqQbBwAzveDlDAQSWFnAVLMSqXIkTXnKjXUmrxnljLyROPoatfBSZQYiiddJlXtVxBgINgRGBmEhVrWfyooZzPsy", "rWmrvasqyMUKWCqLuScPLRdBAnCXhcgvWRTeBoPCpLFCeZKUCSHgEXegeEQNXwDOQZGkNdbXuizVCvQakdMkSQstMOBkZKZbzcZaTnubsIRzbWyQoRAJZdaDivehzJwblTUBcHcOAMTPiSuhNpsPUEAWbmiLjhKmysyAKxRlErxJsOOnfLetzDUVXhOBkjqsDjiULuKnJlargvoMNvwhijlEyNNnYTwGiTdhWdhkXDSTsamUEqOGTgOFQeOsoyil"],"c_array_datetime":["2006-07-13 13:57:43", "2019-10-24 01:33:36", "2019-11-12 17:46:49", "2001-05-10 17:48:14", "2017-05-04 05:05:43", "2011-09-21 03:54:16", "2002-12-15 22:13:48", "2011-11-10 20:04:19", "2002-04-27 17:01:10", "2001-09-20 18:38:27", "2007-11-15 00:12:30", "2002-12-12 23:19:40", "2008-10-27 06:10:22", "2009-04-27 20:07:26", "2009-06-17 22:02:26", "2009-06-05 17:19:52", "2003-12-24 18:53:14", "2013-06-28 12:11:15", "2018-11-18 01:18:01", "2008-06-16 16:32:00", "2005-02-25 10:13:29", "2011-10-07 20:44:14", "2011-10-10 10:24:26", "2009-01-17 04:13:52", "2009-01-07 14:43:29"],"c_map_char":{"c_map_char_1":"UmbxRiOyfX", "c_map_char_2":"YrmtSjvaMp", "c_map_char_3":"YHpUcjEIMp", "c_map_char_4":"PGxgmkRiZF", "c_map_char_5":"lJZHTUHHov", "c_map_char_6":"FWVZZqvvhK", "c_map_char_7":"VzdrwFktPQ", "c_map_char_8":"RutyLVnjgh", "c_map_char_9":"bhOTodmBIV", "c_map_char_10":"XfPnZQkNtl"},"c_map_largeint":{"c_map_largeint_1":-8661923200884666020, "c_map_largeint_2":-3816790523546124741, "c_map_largeint_3":-2239343231214954224, "c_map_largeint_4":-3204250200652319073, "c_map_largeint_5":-1775318322194295483, "c_map_largeint_6":-7167224224493542978, "c_map_largeint_7":-5372163080187283470, "c_map_largeint_8":8543353612654352614, "c_map_largeint_9":5155469074473134916, "c_map_largeint_10":7732982076026423887},"c_tinyint":6,"c_varchar":"when","c_ipv6":"1170:31bb:cfd9:e0c7:166:c4a:68a8:acfa","c_array_boolean":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1],"c_array_ipv6":["wQXJVhWiSw", "usOwupTmcI", "emXonJUPGm", "jpLDjZkSwg", "xtBvhrBcml", "NwmlakorLr", "bLsParUKyC", "zcXWmQSoVI", "VexrKypulz", "NHFDxvLzRn", "WPLmFDVVDW", "UmQZWIIAtE", "TIpKCirdrd", "clVRGGYGwf", "EPfxgGpmXR", "mETiQcsdOd", "CEwUXnSqnG", "kZIxxyzYvH", "xNTdOLAoTT", "DOInpgMBzl", "ROAueWHXlP", "ZwABFxpscc", "FoceMFUoFI", "yxoYpCKZhE", "ZfYcdcLWJh"],"c_map_bigint":{"c_map_bigint_1":994980200561992135, "c_map_bigint_2":6854872652682453558, "c_map_bigint_3":2924794222739609140, "c_map_bigint_4":-7114248103887824616, "c_map_bigint_5":3870724059977047352, "c_map_bigint_6":8241282759551842141, "c_map_bigint_7":6041141438983441877, "c_map_bigint_8":-6503262021030019139, "c_map_bigint_9":-6481566158292180824, "c_map_bigint_10":953253549278943821},"c_map_string":{"c_map_string_1":"YxfTlFenmnJvTrKzzhwjHcrbawxSjzDYKZSKFaQCrbGNSZdXXjCZwtZQgJubfgpmHvjntnRfQspjucqtvFXWPEOPSRjcmFZzqQHOoEHFsuDvoNDLhECZqhGOkPZlxPSEithFvppPdPdTywomealOwxLDBldEpUtHfXUkJPPVElqoghAYfqdssDaWWlUmEMfIePSWgGKtBJKjmBkrJCmIJGIVBgtGEjzvxeWPmnXFMLiNETFnnuBUjHjQAWAYmzoxvHNqHdhOkIgCZvQwNkHSthShTxBqsDDynPpfKeXJFMxBFdtbGDpvbQxDRCBqPSxdnJNhbfNBUGJuuOVnEsmSPptmAOuciMPAsaWBdGjlETzCdVSWwxDguFIFZghadmBCvwtKCQcPzAzfzcszHovvdqoQqlNHdToXaFgGyDMBhBddKQEEgixKQnaqgRRPuXMhDKjcnBuFzobWJxrTOwJysVOBkkIwIpVBdvngRhowqmiwivXFBewsKrQfJVcrxTcP", "c_map_string_2":"jFXcxJzzEhzzuXOUNSZSYStSHwDAQuDvFYvTItxRTZAEBVmonukHHbXbwAGlpMyzoQgDoepIibgzJiGXKjcmscoKqLdnvYbIrmoDCdsshVuSmFJiGDUIYcnBhBMAPoiTHTCktfjoFBSclAaXnMjZvQRzyBfFfZwpknNXUMoReibzdjOpiXdBtGgJLdbRnDoshjwNyqHCQazLiBvjyaaIQbcoeQJNlNjAcLcaBwLDhZJkDtmUHgbnpCqALEPEQViYFXDodltRbMdLANyErSsPyrslVNNPNkMKgEEhaxPsxnebCXwBDJUONdKjRGwWyizedRgdtBBAbKhcyHcYEwVbYYAnuYdOWLxuvNZXUEMArLhmMnZCUUnapZZIYJPhXbXGzTDVdVffGboPWDcZZUXBXjDKbBKiIMuGkVSzSbiSGzmUzJwZMtqlqfqoZZBVyIMiCySbkOPutRHEvDXsHFmEuSYadIxCVXnxhzKvxIAeSNsIevQTlHQEWAbPtiEfiUaz", "c_map_string_3":"JANaODuUlTSYpRrINjtjgBLJGdSqmWVPwtdCqaDqsyHlltkMVmhNUkEGXkbAZxRnAuVxurSNCwQdWHxNOHtyeSpLzUfcDtsHYZfLwKQyKGTaaaOvKfbqAeSQDNhDXxBmFjjFIOQhQVrAOojOHPfTDzstBCEeNzeNSrnLwrymmwJmBlhzKGlxKpvgkcTUWPQMeBXDFcUqyKcOXJAyvCMsQPTadNbYzfkCkwdNPqFzEymLKkpIUzDAQXqFAULiFRQkkAmBSiNpBQdQiKexRWsVrpqIWLEWWkVIVDfHblSLXKYPWbBtWPNKGPHFvPcGYGvkdAmGgHlNmRZMexrhMvdWwAOWNSRPKIhZsmRcDAwpuymfROBPeJegeLEcIwPaTEKwuCSyVlpteEJYgHEELhCGeOLZmABQqPCfjEYwtwswTLQMouxXhocgdwWWcDtPZDArLwHpfyNcBlHUAflytZJHQqVhMGbKFsauKvvXrXjIfuechBSQdCcoodbUutcRpWOB", "c_map_string_4":"VoAggDfkrNnYsdqEUokzLjOvCceoCLFehlrjUorXiSallGqoTjrHClbvHuOQYnXtLYATlhdlhPqkqFIsmWoMmckMTdTCsfWXhuAxeFJobeWOcfpWvZsJCplldLpjrLtIfyjpciFvwtLngxJZHbbbMeBdevkEKrmZfrkwwrCWWHecEzMxBjyHzGusmbDBBCCcRueyvRPiTGTQXqVIpGSwIWZCqZzhqudbQHzdWVEyXmltWFrxxQJRPEALNicHdsEgejiFXDVxSSRyHrnhaxcBTCqgnMkYMYfotUeCsBPqxkkcuzhGYYkhLIJzmpdTQIOBSCSqqvuwJQxTPHjGZXiVnfJlxbVFghUQpMgBJXrsefmAJDOAAIGHqjusWExNuUuxkTtbaMefNqjxjPzNOTRJIhtbfLFYcRumhQTVYozHIxHWxzfBvLPvEoJhdyqbuQMeuPIUFXWsvMQpEJkPTugMRcgypjkfzVSdEyZWNULIiwYolgkdkjETKgPlXhiXGFDM", "c_map_string_5":"TbqkjoHVcCOwtiBXdnycURvbBryinDTQxQwzQvYHrvnvMWXDciMmerbelfbuarUozTQCbtpiALWKdVPsiQpKmNSEUVnzhtsKGYfWzHfAFzPNkPrWLPzUfNggYRlfGODnjAiyiVyBHtFcHLltRqJUrBUIsAYpaVTMtWUafzcWgKWedpDeUzAYGDQbUwGVDhrNuAsyIofSLXBDXqfHDXseqvFpNZKLnMNtfRKtmrZEAhkrhEfuKeSBCZERDUQKuqVCFhFafUicnZpFQYVRjfVnVwwFnYVQxuPirVGUxeSVbjKoWjlfNeVSxpxafSEDRrROXievToSjjnaPRSRGKmpiDteJLfuDJQUNCAjSthAqnDJihQRshSYxpuLaMOHbIiHhURMdWGmNuvnmNJEghlGFCKHMeIPpzofUzooWJMvHOgMktXRYKgTOcHcqhRswYErQwyjHHopIhdNBlEZwETdYqHvcBCZpeQpofwyLNKNlqvhOUiElprVuZrVVmMQdvJHb", "c_map_string_6":"DomHsrdKodMeYyIYMKxnUqvkseALEZudiPEbRdndXAIVEHiuAYohribMkqCOHwMkvxnAhqOTKjCCzKhYRiTIbpjKTbyQiPvcZMamchldnpaLzwYUtmDyXlFzIBkXsnVIXozFZHHejTDqJRVuCqPYYwkoIchhqltcBvVRqebmauHZVWHaQPfwNaXAECjYeGtAuWaBYNbPmfcZPrwEzpMXywjRliLOTmrKVbYsRtqsoeOZCYxMHfAImXrENERSaEEdjaSAzqrVQjZNZSHrprqobtesmzkWwuklqGtDvZsdtKZpzoOGXhNPZecGaBMGHPRFuPaYIaJMzMsXMpafsAQjTLlIFWiJsDuXeCmpKaaFjNTToXuijqGLPktXLRafNGaVaPBnNzprKLVHttUiKMktdIpzdFaPkRNJUVcVwAXJwdvAdeHwsiqJExGSXrJJzyTnFWaOaTVrWdwzVhzsqhZqcvYuDfaeeGWdfHTATdfTFgcVxuHiUciFfVxofqowmHwQ", "c_map_string_7":"vhjHCBXEpSFDkywlKbFIQfgVoQtdVhBTcRmpLAMoHQDsXqnoKDZGyyLkokXxsBFeIzoRMyKhayKkJBcqWlLBvpmAvXqFYcDTIySeRZXUffmILQZfNCSersxtjHGRGqWCXVlhgKdVGbsVOCvMUVXscAyDhmmHhnNiPsHZHDbjGbXDJAYWlUYniIPuUMPLLjrBzfuqSqPtiGEuOJvheFzLbecpwMGgdNqlBNGFemvPZWaptbwhmvQjCmgsrWoneJwpgDeoLDkduiaeiLjeqOaoRxGclabRuTwflyCHEerKDJGxcjvCfxSENeMNkDbIzvARutCWMaSnSmfgGqpRtNKxFJgDhldmFkIXAilhvfTEdPZekISeVfzUJlsFxMHHlqeZyTxDXWtSszqCDlTpYyqhNBxsMpugxeOVDwiXVjSUXyYattArIZPEpeoVnbgAsBBuboAEbVkIvOjPAarqeQCgrafsmalPFcdMzvFNiIGAtnfaHNGUsHUzXGXThWsNxPCt", "c_map_string_8":"etjUEemXKfGoAkwzEOKALdUOLcLIlyKasjTWYifOsCBRvqVlYcwnnSkkpnEgszfiqORbDpJIyDAWZXMIMLxCtOQZQKcaUCgALYNhFUpgeJzfCQkABKBjGIZLomCVTzeuUVfWupoGBaLSWzECyKuqxrniibHsgPvZqrLJWsqAGGpJeFuOqkPHPTYnFFHaUkQXgibAuBaSffahAbGUUyIvmeuAlYsvngnHtQSQkTnNUacxdIpcwALrzAhCUAuisNNMXIgZgONpIztfNcRcVFvYRviPDRlwZqgZwbLwsyOiOAqMhnYFRAMyHnHSdtXuKRxdgxtysBhKfsJNsbjgQvxLJGfqcZHlPtbhPBgdwWdEmaMwtDntFjicDxqUUabFXDhocUguXROyaTcsXqyAajTfWTjlLnZbsKRjymeNkVWIuRtOudvWkEOPTRVxTdHJxfCoZFyiTjizzrSNOeXTDBbCyyPqzgXzYyBcUoZoJIzFyeDNAfVPrBGFlEgRlvFfMPQg", "c_map_string_9":"BKLbppXBiitleDkAdHTCXPKQYpxWPpVnGhgQAkDiVHLwmEMauFcFmUCyFyrNyrfRboITNWVLZHrialKJYUVJFTKZuipfwDVYKFnCJGBOqxfdAfMBIIBCQtGIxmVFrJauAtehPMBKswgRmqqiGNdxUQcnDcttcaabDFAbKtNdoCgFpjesbHcVpFUsapcQeesFQAAfpaaVjGNOPsAaioRDTtwifuwoIkbRTAhIhKDZhOXANEcAoMXXsPknLtpZtIvZiFSBAllkVyeJaAMmEINbLcbeYxsANZoVDIFpvrCodolwqRNHOrvnXiJYcFqqPpmCOmybOEdPGQpyntqRSCkGpfKZeNPSaIxBGCPYenzrHJlbEGbjvMxSCQSFhyYXpimjwkHscPTsLjTcDEhTpWihKJbiqjbyIlDJhTrQgRLUrSreuKQHNoqUDLwZhcSPaERRpXCcUrfgRlxxPbUFMsTmDcKyfRiAzKkWaAHynqIYNvYxwKPXysrVLQSXLPiGIdzR", "c_map_string_10":"yZtqUhaOcZEYkjIsPbRGmiuZSApenBEPOJjAHtPtgRLglFAuWpdpyFmZDvPOBXoWMFjvGayiMCrAgCFtqwPpVXoTvuMyYZEAwtUpggkelrjCtAPBjnEyogXhcbBNjaXjhoOVbNkZdVAHueExPriULQNIgQeEdkQDEsWUgDJQRINwHSDzCYbRcJOkbnDcIqEfXYTSnaktlRfscqxEHARNopRshUXnROWQfYyiaNKpFgKbbNQfwNZirtDnwuFaAHhEgYDbGPSUcXiTAoOCQdLgtNhJYtLBKBZoRGyUgoYgzbpeXFaqyrKbAQtpvjgUOQlXlkBLmFhNKCJDOexgHIrZXLwgVDCOfJFZiReRTfzZNAbTySxxeYNTMVuKPyqTcSkJntokqpihUfkgWIvKxbjoOFgoKMioyRYzQTqCPLHnhQUBtYLqzpszKRIPATDasrOunvkqdvAqpIJNTKxEELIYqiubhTuVDeaLSQcEfxHlCBJKFeoUmKLZPbmDdJrXhvtW"},"c_map_ipv6":{"c_map_ipv6_1":"b347:c0a8:f759:5481:982a:f313:1ebe:b4cb", "c_map_ipv6_2":"1774:985e:1640:a508:c48b:4d78:596e:ec18", "c_map_ipv6_3":"ad47:bff6:fdb:bbad:4bfa:307c:8fdc:7f0a", "c_map_ipv6_4":"5354:5fa6:cce4:6a61:1f9d:1ca0:737c:bb2b", "c_map_ipv6_5":"8ff4:545d:7c19:d174:94da:42bf:580f:108b", "c_map_ipv6_6":"9ecf:af40:a99f:834:b417:1ea0:4820:e0bc", "c_map_ipv6_7":"a442:c233:3bdf:b678:dd9a:de13:9a88:b934", "c_map_ipv6_8":"3380:8661:3d8a:c790:3183:f597:62e5:f75e", "c_map_ipv6_9":"5d4b:914f:a47c:cb43:a5be:b88d:1c81:2744", "c_map_ipv6_10":"721b:5d0:9dd0:8463:1d41:cc8d:2624:4ad1"},"c_int":1839227610,"c_double":99.71506001300378,"c_date":"2011-12-02","c_ipv4":"161.216.250.176","c_array_bigint":[-536709952214480832, -436893329446969769, -3931144271460690190, 3484450368479235297, 3476812855077645847, 7274767780732754325, 6289758816839729396, 5253809943351456535, -8431975196433273830, 9003905034967254898, 1608820635636233451, -4785087126186333513, 1043598096490414584, 6602521615316698668, -1052422641260161441, -8277267433535558297, 721755456017659077, -3882278922585997998, 6946324106031514362, 5393506735339447976, -2920858302975925256, 1923130213380347218, 2033080472110665395, -5621894516287245180, 257924048560448794],"c_map_double":{"c_map_double_1":69.85764150056121, "c_map_double_2":84.2683848805804, "c_map_double_3":59.38676226156268, "c_map_double_4":13.86207123705339, "c_map_double_5":20.44073443592469, "c_map_double_6":1.3941772585469205, "c_map_double_7":54.321935167751356, "c_map_double_8":80.16313120064416, "c_map_double_9":89.29552471881846, "c_map_double_10":36.153518801896496},"c_array_tinyint":[-33, -126, 10, 22, 92, 44, -90, -106, 77, -52, 124, -43, 100, -43, 114, -24, 1, 52, -4, -76, 8, 39, -27, -28, -86],"c_array_char":["cRvdHsQoLv", "eajKYWhjiY", "ZUaVdqIqLk", "mWLJBoQCvg", "asNIKPHbUa", "XCGsFOZOyY", "mHqASsZQXm", "jvJfWPmajB", "eaDcnYvvwR", "kjiCRtOdbx", "OlrAXrPfXF", "WPBeQLCede", "jcoWjwitdi", "KKXxLSWjtG", "xoekHJJVLl", "ajWsrUoVwp", "qtSEsfTIFU", "gdFlxLNWAM", "knQLoLLNEI", "rYKoIXlLJU", "wSRMflLTNI", "gEYpFsTVnr", "KDvJXBcFnZ", "lCKXFYAggK", "MpMYJvlKCF"],"c_array_string":["xqRXkVtvpYyOYLMCuwYujjSADqswvaZLbaxnnvXcSiiTmUwTshdHiBfdrKNAvXMNrPPjgKjeGtCXELPoElUVsIZNcLomPHredtoZDiiOteUBOztfpEQgDxpSmMhQMcZWzcOUDqKSzHLKfZxtjGcUdcEOAyAydIdfMZEpQFCrtMijwLqPmoEqiCzPBpFbnbUipbplEFacjjXLLqkGmCBTPTDOPCzGNDRjKsenCbYoMWqiBIaveokbnixLrvzImSPQRCRbkyFVuSvBQHDtupXVurhlIOJlkhtfsXUnFXGwIYKmRvGunrqTmXWNVmXGFiKoRghoejhkAcpXShoOHZTyWRpTwkRdmNCqzAAVasKANWREzwzBhDwhJbpGZkSiHpoEmCmlNOBvHiguqUciJOWsMnFyILbNoODmEKJfKnoBsWKrZQihwndfKJgdzLethPGdfyZPdWVCizOitQQlZhLhShQMWYcuWRPYMvMUPkhOdtjgDyofvtaxxEYaCconQeKP", "edOKeqjfLXKgdTpGovNyzmUVygTBmRrrUbGGaiHzGhnTYckOVKTNWAhFNiJLYhDfaQjSibztwdXcQvshOcjWJcHbtbXWlROiclHKKEPvKNjvdWaWkqdXZOSmtAPXqnXXWnKdVBiNvyGtSwjDaRVKVgtiNjYWDXSUqsuTAlpmnzBgKYnEMnHiIQNESqfXEsxmOgNToTOZJepjWbhFsRlQlENlTYTPCPJcATaNuVhRpjHJXyLlZYdeUrqgHoIPLeXvrDNtoMuAhWLeUidlYqeVJnhayFUBHyJstkOYfcusmRKwtaVVyUQYYfErFufAVOWghwAdYTEbYbPopmqYqSgAgyJGqwojzVRbVzMwIpqMQrQKsYzCDRlrhnTVsVOASkNSSdDBwxERzsNUqJqhKncuaaXYrdfpWPeDzNdpsGPKTWzxGFUenjlKaGEVNMiBaxULmKUEqbTYMBVjOaKUIJdtbPoWwqRBFtTpIYJXWohRLJiZUNHxgKhbSQkwyUxDLKUx", "RQLQOxIysqZgYziegaOgXCKCvXpapKMoDmmRENPxrHKDUPdbzabGjBrbuTQFEqFsYQERKqLaIuKFWCmHnghedKmiQpiNflkvQVTFFPBHoqkhKazesGNgEVGcjSOfJhxDOqwPwHepOnlKLOMQCeglvMkQfTkTNtsewImyjhiNbqkSxxvNdlOKCwRrwKqSDVvaWfOQlMrhKgJKclNGVctSyrPkwgSzUYFbyDKEXUhbZIAxxWJixtFeOpuyqpycmqWTbfdMtZlczksCdeirkFjUQvNQpXYnxFLteGoXwcYIbwnZpHmjFPxlZtcPOcDHjdwdrVQUSSTSCPAGyLBQaiMjwBXsWYZhfkMKyCyHclEBeTmtUMGGTpXggVyoOvOMOoopfxpehprCQbDfITKcsrTMdBvIAdwyetdkTMiazOctRHpVwPmPpTSQlKyJaPxrPmkbAsYaQPLFShkCIdrHrOlLumSengJnUUPdpzAOAeRLqShktaozGxLREOdcadVejKOk", "kXEvOCGUWnPHrMKJbFwADpPrsOpuVaIUwtUWTUgkmmiVUnpgZBzflpnPnaEiiZbUnjAaMSlSACXLQpWNiamhvCNQjrPtmmiaytfVdBeOOZJlyROOmfILrphhoOOqWUPHbEzTeoXemQGMIOeoEklMGgvxVHrpsXvMKuQDftaLNJbogxxsVlaUcSRgCjlzKwYPcyJQQsJQLnTEfawTifJDNHyYapcaCuLVPHsMfwVnWiKiVKzDmjLFYSXhGYbQnjXdffsggMZAXzkpylBWXDUPXsjmOgIdjEABhqirNLRLwmGrgsxaceftHtiQoeUXqyIBnCcFzwSMLdVQCzPlcqgCXgPNfkQUQPiWkdnehfEERAxEZHpsZMgBnLihxIlfxiCTuKQOdyFXfwCaKHgvXfkxQvcVnNjWOBSvWEyHGnyDvWcPwlvZIdTtdMCVnCBLASasyElpwGEjqPEpEfbyQxBKWOSfsPCDWrSEnRlLsTynXMyGDKmzXLvsEamftLAsCwNI", "jSCbRVPpjuQGVrzCyYlPifWwyeIwgKrNTKmvftMmVLBSprTjJfFOogpinuYrkTcVoFWafUcWsUAaECoSbUbbTNLihZGbJuTOcOfIMjwFxkRybrNSllhkXXnnAINgQJSGAirEvKAxRYfDERrnfeFiFhQAzPbcEoetoIMIZCYnVUfrYbUckaYfFeqTlDryRJAUKApYUSpzZNTPLFvHSpvWnsFUGwnYoFiFJPbejiCHynSbzrrCjidLxMwjifJVWkCYLjiyGRlWsKMiYzvzRtzweBKBhNrZujsJrCIoaMKxutagHvbDBZLUONNdgPbZygaqrOtEsRdBumtnXBcUytoDzDoaIddFKHXkABrdCNuEGBQkDbyJWDCEgcLSHSAfpSYwYzNBTLjsRCJImhhEYEEDVmjaMuRXqrhWXUVKPejjDLopaIOIscYubOUdDEcrZJnQUTFQrfOfGOgXeNAygcbCkNJisFbOzLAYgQAakiAkRNjnGdxltTWwTzpXVsPAEjDW", "DnwZnaeWVFpxhjTkyETMmaeiESuSZEIYNOHKkanYBVmMFbnqxSnCsjkRlVsKcutNjJzxJIKEAURsGoluYdXNSmjBckYmZluOzHZZmmHUGsvZgUlOIiyWkqrbBYoUjIRtkdhVCdwUiivMjBjgZxkJFcBeEpEsikiFXupXvBfdKvGnvzAyufAGxuRVMRXcGAWwuekVgAmCcHbcDdraqLoekGSVtbOXAYpqdvSZzFOibxEIkZVnfbseaIdMdbCKovARBizTVCdeSOXJidxqIyQpfcFYoMFLkSqnmIgDdUlKrZKThcdzmlgkSGbegbhqnbIdXwthVngNZoqyPERkXTiCljubqSzcNuMaDkAinTihHHRFjoVpDUUQAWlasLnhdHBmvzoTceAlxOjJMlBtjurPoaknvdsdDTXHXfkQDbSBmKetdGfGTGdcslkuAnqyAsiXwyRyDEypZsGjxAszpVIgwRNyrCKuoMDkQyWmtaCmdhrWZnLcwAWbZxTxJviOnofj", "abxoLCcRQIXemBNrtIvHDWHoWhafWqagEmfTTtildUdrIZSzrUupdyfJbIQHvtCopmoGwIShRqehhJWFtvqnSJSWUgZuzJapHtQrhaXjPPobItDrQxRgmXQkDBkBYgzekWvVgRyPDLHHyEsJKpoiObixRKBUWAxDrviuFvWMXXEeVMogcwaHdwrvwXgDSIVkbWIfFqcDUPMlWpiLAzRrkhhFKZnfBtoFhspNEegpboHFCMfIarlfgMAHqMoRWNjQoKqTsgFQDvqeIOJQLfJVLkacAJswEdgSfPNCGjvqIAwjpwDJfbGgmfchsLnHyhYZiSuOJNpaYmXeEQGSAnqiTYIcARtCtfIUZNfevcKmfggCYgnWIJafJfjBPhqeNiRcokebsjaebGMjQMcCNIXTIocyGGPCVzeakWqxWEuafJWFJHXPOXYWfwOjQeBYluzSwvECoyivuzaUWFXxcUPOAnKPIWjBCeTmMAoEUyKQviMhcXDIwXwizIbZsRrdklDX", "LYdnIGhsFbPWJMkuhlIWxOXiQANWgoQVjmtGZIOsUEnjIzqnFYVxGyvVodnUHuJVrUXyGZwhWrOoyKJEGFJIgSVSwpmLdxZXVRYhfSgRrjtVurFjjEugmPctXdJAaFtQHIwcrofdCpvOVeHKqVKDFpcwEtSOshzEXxKBJdBeWtHpMtbCVwQYgVWTWtwvYRDUhuUIAYErZpQpEirqCLiNtVwETYHlhfYgHmiLQUwYXLkxAejViTamGbTfniJjdVmCuOzCSOcCDLOqVsOuaMxDvnsnEVBQAiIVbgcVlqFqecSecbXdqXBcoslfclkyJpYtNlldKdYqlKRXCeVDNFNWxMfRgZRPZJUZwQyoydwGjPBfyzMlPfJaRslwPGMBMKCxaVPPqIHobKyPyfGfsaFwmPQsaotJVUNpKBXHULhUAdjlXORJqYGJptBersViGBzWmlCtJmCUOTbBXYVYyGsbxxlVYnsvLBlmuFWFMQaiKXhBkHvgafvBZZguvYWkcGnF", "twQxJaLGVetBUoXzPYlyHqUZIUakUcMOiExGwPHpEjKUbaOFPzIKuxHucmfwGhdueTYPwMdmfJmjdRUtNZgkCjyUGhMNVKrVvNBGsJgHdTupEAgBARZbznjCYKDeqMgpkThXeyOFqouQawuIcRIjdRqOxtQOYyTZUsgRBmOBBmGXDnRmTWFEEPktxUnYsHIPKGgeuzPNkZVtfXgsXcXecOSTmbdTffQkUaoEiDYnAdeVwEyLSLTejngtvOprNXqSpHfOWLbfByLuNAwqMoGRkSVPKIGBSJVSFsdIHnbVbnaNcHMkOIkfKkljFLtuYRGobgQYPwPMGbtrMnAFlLCdKgwbnvEkrhDJfYYCeKrlurWbxshkPZjAzidLyOXZXLfgAEaxAkMDvYKuWCvnZZMKnfswNTimlMYmRHMThubueRczUywUUgQPBbqSCLkaBxoVOViQSkcDRcshhJjsgXdlbUvnnixshIRDLXcenyXfhUdcMBwbTfdMEFhPWLDepSVL", "RJCGWkHZycNwtsGiRQHoyNmkXxCpVMryaFiVwjcQkgRKITXzTzkfQznFlrbytPAaeykfUbHyihVNrAFArqPidJTgOIzqfxQjkClMtangjkyvDuDmNTKYixGpnEsjabdebPbfSoAEStLBTtUevBSPKRGVMjLOuickhNXgGAXjtkEPhBWxCwzVApTYqtcnHfwZtMDdMARWkhtmYaIhJbniKcXRPfYhMbUSmTtmIKgewfAjhKffdYbPXGGDvcrKncZstJBKEqclTOwDQjwfURiLamizOMgsEykTpoEnCiDOAMcuTeTGZaoxHFXpwdDCFeCtafaFjYeUfzrIUQGUqCRsKxgEgnclYCsakbVVGPmuxLIouKPJdKjUsoXGxbzsQUkQlSXwHnovwXKxkHbsONmaGSrCWYXjDNnGEGjcWOxtdosdEDWPGSkNArshOtEYfqdquhJcHEEfZJcQkMIFEyxOGMDfGYXdnEuGxzQDksHQDoYiBsGAQTKralSmkeyvWRIk", "eGyaEnXVAQScUsiOcZAAHCkUhsxpiKCUyzOWtJBSthJniHsGEnumJYilvThjkmwUKzETsmfYGsKmMjeIogTxmkXcXZYIhOISGLLLKeUxtidVBQzvfYoRfPKZoamTrlcXoFusgOIuVYiEOqvTYpJrJEYYudQKTjKZnapZyMFdgOzwvCOrjjaXGgWWbIiqpmuwcVbiMNiwGCsSEPPwTTwQlfAXFTjWAklyMIYUQnAzskEvBayHsLFhnLoWkRnMZLsfZiyxahAyLHFBEiBprgGuMiAaRmgTDtpPHPAvnFyZMWpMZGhMgBbJNgVaTReAMgGMuWmdZeXUNHcjTEzcCGnsGgefHhSQIyTRoVOWLkpIXETswkczdCcTqjdcDZrdfqmOcixVqfjxGNgAyjoqEEkJoQuWOEvEjyhSrfieIpumKiueBZkvLAXpKdrXdJPNmKEcHXYGetGkSmnpLcfCUTSfnImJNxyaDDxeplofLhiJciPacnlLMXGsgGshevGUdjYA", "iahWuGyFGhBsZzxMzsAVwrfoXJJYjGxFRChYckzOhZxJymcoGKCweFPMxHPHhYcOQrnlBnIEAhJjDcEFXBBueAhGmKnCyqEfqCgGPhAEiFrzgmnEnJmIWhClXVBSFICwCyPekcbdsnPTNFcJvuBWSIaVinbzGOFyPjyPPLVoLmEOmpffTuLcqeHEMnsDjTGamJZCyOJzcFmtRGzEmnqOrYnsikjIghXNCJtpfjeYghffgzrDNANKxyWIyoPqgXuFNmbuIPktXcrfxktUjmdxteZWsKHMBHhtDCQQFLeYhqykusYzdiZwPlCwXdYkReoDgQonkNsutuDDYEphRxyGdvhMvrZRjmJVJuppxclaVpkPkpVKoKzDcaoemNOjXcuybJoifshzoUFaLlARlggRqlyfOcCZAvUPQHKvDGvTNjSjhjNCtLnPfyguQuPfPDCzzVyTCuNdhdBauVjGiYavjSZXuYDcnwsLZhkFotOwiJGpZvJuEAIxJKxrvijLzmsG", "TRfEikbeLLwoekNQYlPpNnnRHkBgyymTyOZTDtHoyCpycejXdxuaTvijpzEnbYbGeFxhsYOlOgqKbFCKNowNXUKvODfZzqGJrEloVSYvIQyrJsRwCPfzkYlkQuzfoJqmMLehaHCiegRBDvWahtYTCiJCYWKTDUcmVouowhLcYEAnPYtRyJIuKRLzDSkRfMsSlxeOLwjFDTzEfRtsbmZLXVnwWVHWbgxKrPEvtukYFDkdxqAMUYzdEhQEjrSepulBygVIwRnoWmqbYlFzJHEqdBiHitpWdYhFkwfKZzvROSZVlAxhPXuNVviTTtdAgpvhdQKfqSQcaIeTJkoHHBKSkHNSsexUVDroBmvCOMeTxoacNecoLgPObrRzoCUsnsfmjTKnfMMFjIaNIyMauLrEvfcCgijZxqpsAbLYilYtzpMkgVddpJJbJPPGmyDvxoItSguySfqvqcZRkJkPYvCPlylyJYBpTDiWtxEbnPLNOFJdEvSdQcREkUoyiSiCvpkm", "fuOODvTRHfhuFtAyjuHOQeAJViXFnSStVoFjtXWPREaNMmSEVjVBhtVGFkjKygETWASjgJMYMPvhatuAMlUfIQiuVDMRCZzSbbbsfWDKElYKaoTSapJGPvYaRPNmtRIkLRJlhsizTDMiTwiZSwfyMhsQcuImciRijCWcVteLgLVZiojLHcvqFgdGkeaJeXlCDlZjaqIdYfxteAXLOxLAztwAQwqEotBsEwMMMvttvqdaNOoUyYHGGVPQLGLoRsIapGuQUnBWxpleYAiAvmXYQYDaHlsAwxqVbWXuqwDimeKFqkboowEBpgKHyozcRhbzcHJiyXWlrsSqiRhRonfWgTVwyHOAzePcCDpuxCPXdvrlXvvReSHyvUtsdsQWpGRyVRzyVUrAUsOLlWfJmEjxMdSvyqgisjfDJDKizfIUfzbByKSLPbTjmsFtcZWrBfcndjMgEFZqmqSFgRHFfUUxXpLURSkbQPOWAnNQGzytAsjAPDocOvFwzvwqrgBAXBzJ", "RQnHFlXfImlwychEREsjGnulBxECKsXHzXXQaIPkcflBjzeBMQRTeGchJdRMATjsACTUKMDHMbWywDpYFFKoadTgSIVIRneQcnBsWVzfSUeGktbvgLxwRsvJwKkGYLuIWeVrXVlKvHKEbkoymKaHcjLicSlPTLUuTVtQVSkpGjeYajBJbyhEnlQWQsHGLDkBujlzUGKSLcJnCpzocfjEJZbNRNKvQYxzgZcbsGEGByTsMEdVcgMXVpJaeQndwlWQAqszZkwECgJiCAdosKEflmdfPBCwCZBKOlNXXTmbnTrCrkmXEweyuzxHWeBsSbhWDmalXtecsFfngaRBddeJqmZOfktfcbUQggvykKfaFTrKFmsTyLyRhtoqOdsQewWPLSCYUPByQghgatUHAnRwRfnQAdzNMJvGwWDIkQotgMtcDFVQQQnLRAopEXNkMdpOGShVRRlJjeJUdavXbnYCBiUWFXraaMYdrZGfYnYgeXGdVUtdeafGaVAbaGwqURXX", "cnfSJJJUDbrNyVsWMSUHhkESlxzrIKSsuExjgdiQUccGVXSGFAIgNNYwnBAblcGogfmOrDiGNCsVxspXVLqWpzIdkpDUrcMSSsuRdIoBBrxjLPqgDTnTGACQmeqfbagJysevUCXvjUTxeERbswZqgZKlCGQIJcphsAJeAHeqXjABGGpSsxUgkLCODdBjTAwPciqYTmwEAHdHXAbnBdeQQDfsxTBIbEOAkPwxLSGSAGBlqVQSPcXqDKGHRIKANjAtRFDXNAANahxJCROfINLHZNGkcPOUADPjndtAuwTFWgSKVCZXGIIjerPzXEhnYBJdwQFTsSRdCEZjAkpiiUQBGBmUObHcJITuLlCPIaDSECKsazCqVBixvQBrCPaRDkuzPAMGBlHZhNVJfYVatlXJuOLbihQGZGOZlGCxyyDvwKGrxxWzZlxSRjmpOPidvJSHVNhzCJNrnXqClklMjAuarCWBBEPHFoXlVtYllSERXXONbtUSSfiMgTKzHlgKDyJu", "wrYpJAEyLwMlqrUGaKmdHPAQTyHzTERmNfwmZCMshAflhRepkzwgOhrZcrbTFRecRQRBdiPColHmcXdmhtYaQeYFAqHbMbtIyTTlrktgXeUPwPdjwpKSJTHSSKFCZkevYimIeoQOSnShdcpmGqkgNAgrTEstGrguUHKNSHyznBkjslkLtlrACsGyHxZwxEvcXjXKxqohGiNfbcEqgPsgwiydySYvcKBCMavyMhscKzWKIaMMiugiuuEUzIROlAldJIbDzNPUQQzRalIeyUWOGGIjsjJamfHJQmElPIXUHZjgIkGjoeMxyduqgkkzCjdACsNyiVYVtzGuZKGmwfFoeQZIMWXgUfIWDXYOzCfudOlsIjMzXiEAhfkRNJemxDsZjsAuRQiHDNXjDPUidmnbVgWyzAHfYiBhLkxoxPQwFDIMhIgaBvBrxdNgCpdFwtJesNnpKDAYNtKpejqqNJPVFrfvhABizqCeuYDudzjUjGNfSzdSLgKxqwEblsbasdwA", "qqihFDDxfcayYNpDxmcUdOPiFdAyRDJulAKocGxRpIEJxaVaJalzgLNtIRuRbDwZAYDyeEAKmRzJMoyOQyyEPPxpotxVZzYNGfSGOnfWJadoaZjmCsPMCMRjJZSMAdqZESbRxbsaCNcKmIwIbFbrDjpkXsBomxRbHHBdFlgzonCUacDsnuZLhvKZsnSSKyOQJlxVgbuanJxmSQmIbYYtfNNeOvKIxZUcmpmHzCoGNSjkzWAqCyzddGHAJPEKFFmNVuWuFLRMGalBBaERZcrqvmgnMSFcBijvhLoUGPuCVaILoHkwXDIeHSQBBTPViIIVaqqtTkOYtJaGBwdlDWRIyqHWTykVjrsXEUdpSjWKdVMhUsQByKGjrnaQllpBfkoATLMlhAuHzUPicVKRrmAarizuGbXLzueqyoHlBUivTuozlFypxCsrVoMPOagAiciCLJIVjHtvFpdFNBWFEjdbGgBlJnfbyZepfXdBWYjakWFWJzBQFruuKtTgHbzeMVUi", "TzLGjcOotUsvLYnLrNraHwJgjBWYvcXzTuffQyoJQabQDqnDtWtdRrSyTTbAESIDikPrQqhBcoJVhSCOiLPuPkRdwSnVSmqGiuWwdQMVMGtaWfJWCdAZpTdBFRxPYAvKcEOJbWvcOltxIsDoQPxIPUUkkVkGJiPbjMYSDsdWnejFhjVbMeTCwafJwGpyDCOOtGnZMXRcFEQjiYmwSiMzgJOWHbGsXYKkFbeWQCWgErPQgGYrObWXuridhBDVYfyYAWraHacvdRCZdYZqBLvvMrzXxjjEsDSNSFfDBWWzOPytVbZwIAQxGRpFSoTcyAwWfRCzCZEijtfqqvGKScChtlYIvmrgZqPdInsSWIwynGOQYPlKROPlEcxYACuZtjIOhtSEhZCCdCIGcDnhhoCqOOQibqoVDDALbFChZUbeukhTaaQWzdjlkpLcJMesrizYxmKezHzyunWadEjlZhLsFOLTbDgVptTTnXKtrfUMAkMUrlJMjCnqMaQebmbYonCK", "lfXYurJeXWxYRxfusyIhGRCuXdcVHyPXBJmODxtdMVrGpmUjhVihAogBcWfBBaigXXxylbIcsBTUYwxCkfYmwmnUqsiERDNJCrUAmMWiqJUIopjDrupHOjzdrnqiSHHVkDrGJsulHToOdWYZpYqWLwFYlWqirJcgwHgiPJPadVahKHLAWkVBVQdpaxvpPXmENOxDyfljUbAWRFQIQbSLBlOAQatXXeNOoMQuHgWXlsuJofuLwhjiiwRCkMPxbtISSNixQjteqodEWuAARombyqBdpXnrtVtyuUUxDiRnRGxCHKiYXgWaEWBfltfshVubqHNOHZzDNbLKkaqMxXaelYUXjTYOVEyOkhnTmFuAkXfzjGjeZXangZRfZoNcJTJSpsanljGMChWBNmQThmRhwxvtstfOWnkbWkfqhrAbojNwLBJPUmQpewLCNuDrfqYYPIvTGyplAQbsMqKNosmrTDjVibIxEXmmoKfSWICgCkDEHZdJhcexalkjAcVOKErz", "XGGiRHQYZWnmnQTWXQENrBkiJrwPtbebzgBvXnYlSntmcaJyBXwcLzhOiScejRqwlnlNYqXOhYFbUXVYHOBVPLjShxHXXMVVvrEWbTlPyGIttgdLrhbYJKNgihdZqpDBTcuVPkvIqEJzwlWTYKgbTJpkpwNUvuuhtjBlClSwVafMwGXGFYxWyDOvxNOvTmiWmMFAtYcipwJhRCDFFkrfkMoFHuCsgJXIjjMBoOZebuqroCtDTKabHlqhlyzgLchzIGAJEKJBuQFESwJjCrWIwRqgAOrFuzSsvpZvIwogfQaUEmHRiqULNglmaXeLjeqaYxWMCfaJstLuysAfnCcZERqNlhjrIBeJwVcwSKFaPkkaBAYCBBRByZKSRnpqtvrfdUbzzgMkhuzJHziFfRqaCqABnPRbFlUMixhZQgGHxISUrxDfnVUapkgzbqouXxwwrPdLPGLnPJwcVOmlkLuapgDNwJKSKLvGqveBvpasybbtQXgwkVhnphDoThXbfAyT", "vptrGbUeXICmmCdJHpGGUgbBPBZZRtWZJnaieAPWndTbUpWsmbNhoCCFftLxqAQpuVkiyLpWkxDDwTsPokaLoKWvKOCSqpDStSezZVhuZnEKPOJCgswEwNzZogYDwVJcMcsEwTpSQaDgqMCClxXIKXZcQglKQqTfxmewzAJvCPRyfLpfaetMOYcmmNOgWPXCFuxSgLbesrdwGXRazFVjxalzANcIuKtNUteUcfhibiVAKDQqdnVVUEUujzFjIAZuYqnEfnClmZBifeXICLDkGgtKtTHXlItdcMzycNIENgKMioLBKRkSQJXwyQeRozTyEtpKBOkdkonngZQXvEhzDghPYNlKnWktJqppzJWBKQyCGpUovxCvdSExGtewqIyKyszqMSsHHCJmPpCayGfVkdEeQHaiWvGVnXmkIQiahfhfMAPQZMnDdcBNAfyAyQXhEyhvyHERDjXSFjJBYWdNHPqHMSKaQzFQkmwlWWuSBmRwSfnyuGYXqfQgQolcuUIY", "dqwKLfblWxvymkUmqQznQThTdXJMrECMuJLKLcakfqiMDiNZCAFlfQXGznRColTFECeWuzAYhzRValHkLjzGESFflJsdZDbsYRtfoQYPfwzcepfYoUvNnmaMdRgPVrzzPxKcyCwBjjyYkdIIsgmJYrdVJSFCXCsCyxYOkfWKAAmxlmWjPTYZLvOdXckcnNGHKiMEqDdlEUDCSAvGBvKHTIwSrPUxfvIriJOyTxeVcMkBMrAjGPFQVVGMuHJFuNMoHVKXaXRKbDWIonlCuHYMueSxybwhuvqNGXHNCfbLZkphbhdnMvfrpuBhcaWIxuNplKDjjtSzviQXAKkXhOAYNnTOIrHHaVDfZBRYGRQkCgPhYidvoVgIkpoBoOdAgKXbbsVZtJUQhwKQykMqtBabxBIJhmOzMwLHtzrjkRCDdErsqfteSksJPAJHupvJwGSlIdAFAgWJWLSKQDdKDATwsYGYUmcHUUcpQsdLJTwEQfRBEONnBbTQIrAawQQTAWuW", "DLXDfcRKMtiWTNlSwxxaOasOeROIThTNfmdVAufbrrUIWxWkjkCJQUtYuWbGfJOGjUMYlrTQjcpiRBUBYYQnHugclqbDTsSsJyvpDXsJBINmllwrFwBTErYOeFdaUyGtmXomNSzRBCwvJXiZOAxuxpMmICEsnFhrZhyLFHxjCKnsNjjfSeZrwxyKeOfiYnczSqvTSrGdSOURTCiHRVOGYwutyJIIkmxgxeaXIAwKQssQXSZioTVhWNVqXLTUrZBlAvulMtiojuirYNZOUUJhWdfmRuRRDAdQwDrWNcJqEciJstTVEbhafZCrcWIUKTkrJpeZXuXDbDRpFMLRNhUHtUsNhWLylIbVApYyKVGXGSJofgcRullkVmYlgAQsKwGitwQNuPCKSxFvNwVeoLHECuDIZzQMQBRaEYZJnqZEkkuNzCZYHtaDtaNgQIGztunBjKxSFfWWrCfZjjedWwXnYjQgdzYqgicFFnOFxWtiIPtGksJmfyexUlOXRxEODWgl", "MaBMsVZEuUJlunxYQUKARolxLBzNsSQJTqZPHQsyMKzClYkbAQowmkYLTGHKggzTiawPUHtsGXYhNkVdqrIPzeQkkrIQQQsdfhDbJBWhwMvWiLAJThFZpTeWDkvnldMjbNdowXFIenxHOZycGaUIYKjAjxKPemykbGGMjoPIJNKSDzKuWsXjQkHfbUjRRXmXIPqElPwpCOVILCIhWCwlxQjCEnPzDPCPALWWiIbKcspDGpqomcOTFXHVNlBhyuINGoKonFyCFAoECQvChsePSRuKwAafrTnMflLZQFkXftjWcvwflIMGqLyshgvHDbcswVzFMmGCuMItYLQqUxzgauJWNTdIFqjrdwPeDTITQoJOKaRTByAvVHgoLfjueBqvyoxUUbeGOHYGgJerymSOtUIOdhwSmbkHOXHFhuaRAQgqwIHpOzxSJjTsHMxwdfegoyFElyKdJPWvnBMwVaSqXltwIWWnqIRDIWqkkTEJhzvorAZsyzhGSkBUhgZWsrJC"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_json":{"timezoneoffset":3,"moviegenre":"Drama","hackeradjective":"1080p","futuretime":"2024-08-30T16:01:40.946091+08:00","minute":3,"word":"quiver","animaltype":"fish","filemimetype":"application/vnd.ms-project","safariuseragent":"Mozilla/5.0 (Windows; U; Windows 98) AppleWebKit/536.42.2 (KHTML, like Gecko) Version/4.1 Safari/536.42.2","int16":7624,"street":"5530 Plainsberg"} }'),(7,true,true,88,1,5,-37,-32768,-24078,-19070,16696,null,-1831944092,-127750601,-1650280293,300.343,245,1,6509,147483648,-9223372036854775808,300.343,100.02,null,95.86955509920969,55.1636,71.0648,300.343,300.343,66.0109,79.1841,40.123,5.1625,1.0101,100.02,3.1561,40.123,44.1923,21.1111,40.123,37.1952,40.123,23.1726,100.02,90.1686,100.02,86.1938,51.1018,40.123,40.123,74.0223,0.0132,100.02,{null:false, false:false, true:null},{null:true, false:true, true:true},{51:-84, 127:-18, -128:1, 1:null, 56:null, 0:1},{3:68, 0:127, 1:0, 77:-67, 95:null, -128:-98, 127:127},{-14764:0, 714:32767, 12303:245, 0:23366, 29392:-2506, 28659:17212, 32767:27656, 22507:-32768, -14282:null, null:245},{0:null, -8364:5249, 32767:6905, null:245, 9209:-32768, -31405:-7347, 5299:0},{1870960439:32679, 107450110:-1297186042, null:-227253014, 32679:1252628973, -2147483648:147483648, 312760904:-2147483648, 0:788868617},{32679:193524405, 1550376764:null, 2147483647:-68825775, 1913522619:-2147483648, -1101454508:-2035797045, 0:-2147483648, null:838485390, 1652276220:0, 1355741355:-2147483648, -608010527:0},{300.343:300.343, 1:245, null:1, 20240803:null, 8151993885209666764:1288011842934051318, 3800902:-1120721029086774733, 9:20240803},{147483648:1, null:20240803, 5008846:300.343, 4:3146, 245:2596845489560239028, 28322:245, 0:300.343, -6918496896387609284:20240803, 9:0, 1:null},{170320525:577068476655505481, 2920312295271517886:null, -9223372036854775808:9223372036854775807, null:null, 32679:null, 147483648:1, 9223372036854775807:0, -6292318607903015766:-204390608824388541},{5001085818707263929:6923961002578285152, 0:334488200831303901, -229316844:1759590912031964012, 245:1, -230350053:-9223372036854775808, 32679:-6657357, 6643515350647856319:147483648, 9223372036854775807:245, -389918144:1, -9223372036854775808:32679},{73.74281:300.343, 40.123:10.7855015, 100.02:100.02, 36.6394:100.02, 300.343:null, 62.990643:80.09769},{100.02:null, 63.895573:300.343, null:40.123, 28.47154:40.123, 54.002876:90.96458, 40.123:null, 44.33531:23.194948},{null:300.343, 92.82040557335452:49.312315548814986, 40.123:69.63355359074744, 2.39607601645411:300.343, 100.02:100.02, 300.343:51.33798519619385, 80.83123875080142:100.02},{12.214489799833537:300.343, 92.39700878724557:300.343, 65.24590525133314:300.343, 6.628733225325329:null, 18.695961199293016:null, 25.922775326857778:100.02, 40.123:25.130183991952705, 55.18190242943716:null, 71.33800859066409:31.54290720601069},{300.343:"9999-12-31 23:59:59", 63.1303:"1", null:null, 40.123:'o', 23.0671:"2024-08-03 13:08:30", 99.1373:"2024-07-01", 86.0288:"2024-08-03 13:08:30", 62.1181:"9999-12-31 23:59:59"},{35.0865:'l', 100.02:"2024-08-03 13:08:30", null:'want', 300.343:'y', 87.1759:'of', 15.0530:null, 40.123:"9999-12-31 23:59:59"},{68.0414:null, null:'no', 20.1238:"0", 24.1941:'i', 40.123:"300.343", 4.0884:"2024-08-03 13:08:30", 100.02:"1"},{30.1297:'q', 100.02:"0", 88.1905:null, 40.123:"0", 54.0324:"2024-08-03 13:08:30", null:'we', 300.343:null},{40.123:'some', 100.02:"300.343", 66.0350:'his', 6.0207:'s', 0.1103:"20240803", 100.0479:"1", 86.1057:"20240803"},{100.02:'p', 64.1935:'yes', 40.123:"20240803", null:"0", 79.0659:'i'},{300.343:"2024-08-03 13:08:30", 69.0673:"9999-12-31 23:59:59", 100.02:"1", 19.1348:'g', 41.1297:"1", null:"9999-12-31 23:59:59", 40.123:'but'},{null:'you', 40.123:null, 2.1411:"300.343", 63.1673:'q', 300.343:'oh', 58.0002:"1"},{47.1176:'h', 40.123:'how', 300.343:"9999-12-31 23:59:59", 100.02:"2024-07-01", 55.1864:"300.343", null:"1", 83.0984:"0"},{300.343:"20240803", 72.0863:"2024-07-01", 42.0943:"2024-07-01", 57.0437:'she', 18.0865:"20240803", 47.1461:"2024-08-03 13:08:30", 100.02:"9999-12-31 23:59:59", 67.1979:"20240803"},{null:'my', 5.0207:'l', 300.343:null, 88.0748:'v', 60.1589:'ok', 100.02:'w'},{null:"0", 1.1424:'n', 68.0798:'g', 60.0613:'y', 100.02:'f', 38.0602:null, 40.123:"1"},{6.0708:"0", 57.0879:'o', 95.0666:"2024-07-01", 97.0922:"20240803", 100.02:null, 89.1003:"2024-07-01", 40.123:'n'},{null:"2024-08-03 13:08:30", 40.123:'with', 61.0559:'v', 58.0976:"1", 37.0314:'like'},{'i':true, "2024-07-01":null, 'all':false, 'm':false, "9999-12-31 23:59:59":null, null:null, "20240803":null, 'o':null, "1":null},{'you':false, "1":false, 'c':true, "9999-12-31 23:59:59":true, 'how':false, 'd':null, 'e':true, "2024-08-03 13:08:30":false, 'r':true},{'me':1, 'g':80, "1":-128, null:5, "2024-07-01":-65, "9999-12-31 23:59:59":104, 'q':1, 'a':-30},{"300.343":-5, "2024-08-03 13:08:30":-17, "20240803":-17, 'her':3, "9999-12-31 23:59:59":-47, 'then':-48, 'x':127},{'e':-32768, "300.343":-15468, "0":245, 'o':32767, "20240803":7714, 't':null, null:25276, 'd':15825},{'p':-23185, "20240803":0, 'out':-32768, "9999-12-31 23:59:59":-5161, "300.343":-11739, 'they':4038, 'of':32767},{'hey':2147483647, 'be':2147483647, 'o':-1864088927, null:-430486795, 'p':-11287736, 'was':147483648, 'i':0, "2024-08-03 13:08:30":1582319185, 'up':2139252840},{"0":-215952794, 'n':-848154730, 'v':-1420129659, "20240803":1429396336, "2024-08-03 13:08:30":-1332317509, null:1128143178, 'd':null, "300.343":1223108447},{"9999-12-31 23:59:59":245, "1":-28613, "2024-08-03 13:08:30":32679, 'v':null, 'in':245, null:14888, "20240803":1, "300.343":245},{'v':1, 'how':null, "1":-5177267, 'i':20240803, "20240803":null, 'r':1, "2024-08-03 13:08:30":32679, 'b':0},{"0":-9223372036854775808, "20240803":-9223372036854775808, "9999-12-31 23:59:59":-6964426827382513230, "2024-08-03 13:08:30":null, 'was':-2490699, 'were':32679},{"20240803":-2391823585272839036, null:32679, 'don''t':null, "2024-07-01":-9223372036854775808, "0":359469542, 'c':4004088206283236933, 'w':1, 'i':null},{"1":null, null:23.66376, "2024-07-01":47.636673, "0":22.552435, 'okay':40.123, "9999-12-31 23:59:59":75.356415},{"20240803":3.8478947, 300.343:300.343, "1":null, 'his':300.343, "2024-08-03 13:08:30":71.40686, 'm':40.123, 'g':3.7797327, "2024-07-01":49.658234},{'u':28.055909001831907, "0":100.02, 'r':100.02, "20240803":100.02, 'got':40.123, "2024-08-03 13:08:30":300.343, null:100.02, 'it':35.80692525697025, 'yes':66.76271584953939},{"1":50.894642102901216, "20240803":15.334742414522811, 300.343:92.97951163562607, "2024-08-03 13:08:30":21.90566054820344, 'as':47.73643231844403, "0":98.07178828178847, 'l':87.94790041103192, 'it''s':100.02, 'y':38.68222613917584},{null:21.0557, "2024-08-03 13:08:30":52.0514, 'on':null, "20240803":25.0185, "0":40.123, 'b':40.123},{'o':null, 'is':300.343, "9999-12-31 23:59:59":300.343, 'u':300.343, 'okay':22.0784, "0":49.1527, "2024-08-03 13:08:30":31.1430, 'from':300.343, 'r':44.0461, null:null},{'g':70.1658, "0":98.1912, "1":null, 'h':300.343, 'b':91.0908, "9999-12-31 23:59:59":91.1923},{'are':300.343, "2024-08-03 13:08:30":300.343, "2024-07-01":300.343, 'my':300.343, "0":31.0801, "9999-12-31 23:59:59":100.02, "300.343":null, 'no':18.0493, 'z':300.343},{'2009-03-27 02:39:58':null, "2024-06-30 12:01:02":null, "2024-08-03 13:08:30":false, '2015-02-05 11:48:45':false, "2014-08-12":true, "9999-12-31 23:59:59":null, "2024-07-01":true, "9999-12-31":false},{'2014-07-03 18:26:08':true, '2016-08-27 18:32:18':null, "9999-12-31":null, '2006-05-16':true, '2010-11-25 08:36:16':false, null:false, "2024-07-01":null, '2000-02-03':true, "2024-06-30 12:01:02":true},{"9999-12-31":null, '2011-09-08 14:35:27':55, "9999-12-31 23:59:59":-124, null:127, '2010-11-22 00:16:43':89, "2014-08-12":1, '2009-07-15':null, '2008-02-11':87, '2008-03-04':5},{'2010-09-13 09:10:08':127, "2014-08-12":null, "2024-07-01":-75, null:1, '2016-06-01':-79, "2024-08-03 13:08:30":127, '2006-08-26':-82, "2024-06-30 12:01:02":30},{"9999-12-31":-32768, "2024-07-01":-12770, '2014-05-07':null, "2024-06-30 12:01:02":-10115, '2009-10-21 15:16:38':26473, '2013-11-22':-18119, '2017-11-09':4881, "9999-12-31 23:59:59":0, '2017-07-28 15:58:57':null},{'2019-05-11':-20780, "2023-01-15 08:32:59":null, "2024-06-30 12:01:02":-13423, '2003-07-23 08:32:07':26436, '2001-10-14':11950, '2007-11-24 20:57:59':21705, '2017-12-25':7524, "2024-08-03 13:08:30":245},{"9999-12-31 23:59:59":-2147483648, '2014-08-06 07:19:50':102789038, "2024-07-01":null, '2014-12-27 11:15:01':2147483647, '2013-12-26 04:42:59':0, null:32679, '2002-12-11 21:24:35':61816375, "2014-08-12":0, "2024-08-03 13:08:30":734102599, "9999-12-31":-1465941438},{"2024-06-30 12:01:02":-1951433529, "9999-12-31 23:59:59":0, '2007-02-27 09:44:04':1156161632, "2024-08-03 13:08:30":-1115578406, '2012-01-07 13:32:58':131684769, "2023-01-15 08:32:59":-2147483648, "2014-08-12":null, '2015-11-10':2032770559, '2011-07-27':787513063},{'2015-05-01':245, "2024-08-03 13:08:30":29534, "2023-01-15 08:32:59":1, '2017-09-03 00:03:53':32679, "9999-12-31":32679, '2001-12-27':300.343, null:245},{"2014-08-12":3482848710899929764, '2010-03-27 06:24:07':5, "2024-08-03 13:08:30":null, '2010-12-25':7815, "2023-01-15 08:32:59":245, "9999-12-31":1, null:32679},{'2010-07-09':9223372036854775807, '2009-07-02':32679, "2024-06-30 12:01:02":null, "2023-01-15 08:32:59":32679, '2013-03-11 02:43:32':-193545602585274438, "9999-12-31 23:59:59":7055927445981117319, '2014-04-18':7685785434731258629, '2002-02-04':9223372036854775807, '2012-04-11':-3235031647360657876},{"2024-08-03 13:08:30":0, "9999-12-31":32679, '2012-08-15':8659976926449727231, null:489698, "2023-01-15 08:32:59":-372956431, '2001-09-04 21:48:57':0},{"2024-08-03 13:08:30":8.712675, "2023-01-15 08:32:59":300.343, '2012-07-06 12:27:24':40.916954, "9999-12-31 23:59:59":100.02, "2024-06-30 12:01:02":1.541907, null:44.58245, '2001-07-27 11:24:29':47.579453, "2014-08-12":87.34002},{'2003-04-11':92.9901, '2007-02-09 22:12:44':21.336233, '2007-06-15 15:37:10':40.123, '2013-04-22 05:13:17':60.39224, "2023-01-15 08:32:59":92.26432, '2005-02-09':300.343, '2000-08-20 17:11:34':null, "2024-07-01":2.5356143, "2024-06-30 12:01:02":100.02, "2014-08-12":300.343},{"2024-08-03 13:08:30":1.4500605576862082, '2004-10-01 23:05:12':95.62541934917728, "9999-12-31 23:59:59":93.43465746047494, "2014-08-12":85.36803942738013, '2003-02-15 22:44:39':300.343, "2024-07-01":22.9246773626538, null:300.343, '2008-01-28':64.49690347808426, "2023-01-15 08:32:59":70.25178059959778},{'2019-06-19':300.343, "2024-08-03 13:08:30":null, '2014-07-18 09:44:45':53.01902613605663, '2001-11-16 22:21:50':64.4590061065785, '2004-12-28':90.79669779867012, '2017-09-09':10.43580698118355, '2003-04-12':100.02, "2024-07-01":40.123, '2011-09-14':40.123, null:null},{"9999-12-31":0.0195, '2007-04-26 22:35:25':65.1376, "2024-08-03 13:08:30":91.0793, '2016-07-07 01:03:37':100.02, "9999-12-31 23:59:59":26.1289, "2024-07-01":300.343, "2024-06-30 12:01:02":100.02, null:90.0995},{'2009-04-04':72.1993, "9999-12-31":56.0651, null:300.343, "9999-12-31 23:59:59":null, "2024-07-01":62.1109, '2007-02-12':3.1921, "2024-06-30 12:01:02":29.1910, "2024-08-03 13:08:30":3.0615},{"2024-07-01":300.343, "9999-12-31 23:59:59":300.343, '2005-05-14 00:57:57':5.1316, '2007-02-19 23:40:08':100.02, "2014-08-12":null, '2012-06-23 15:37:03':300.343, '2003-01-06 05:23:06':20.0351, '2002-09-05':29.1513},{"2024-06-30 12:01:02":82.0667, "9999-12-31 23:59:59":100.02, "9999-12-31":80.1545, "2014-08-12":100.1369, '2008-05-06 02:11:59':40.123, "2024-07-01":100.02},{"2024-08-03 13:08:30":14.0469, '2007-02-14 23:36:55':43.1600, "2024-07-01":40.123, "2023-01-15 08:32:59":40.1910, '2001-04-26':300.343, "2024-06-30 12:01:02":69.1438, null:51.0874, '2018-08-09 10:39:25':100.02},{'2018-05-03':40.123, '2019-02-22':40.123, "9999-12-31":92.0580, "2024-06-30 12:01:02":100.02, "2023-01-15 08:32:59":null, '2002-08-10':100.02, '2014-10-13 15:36:50':300.343, '2005-10-15':null, "9999-12-31 23:59:59":40.123},{'2004-11-17 04:37:02':99.0963, "2024-06-30 12:01:02":67.1611, "2024-08-03 13:08:30":null, "9999-12-31 23:59:59":21.1130, '2004-12-12':null, "2023-01-15 08:32:59":null},{'2001-11-10 05:02:26':45.1387, "9999-12-31":40.123, "9999-12-31 23:59:59":40.123, '2017-05-18':50.0579, '2003-01-03':25.1706, "2014-08-12":43.0825, '2011-07-26':39.0618},struct( false,0,-32768,2139667977,-6065002748300083180,32679,300.343,100.02,null,300.343,86.0198,23.0993,null,17.1513,11.0521 ),struct( null,null,19650,1133275000,147483648,32679,58.226017,300.343,null,41.1987,50.1306,null,300.343,100.02,18.0415 ),struct( true,-71,-32768,-1935037795,2,null,null,77.58900012188329,100.02,20.0469,100.02,300.343,46.1972,null,18.1084 ),struct( true,null,22575,1694963349,-4426869,0,79.15666,23.525553495664383,12.0242,100.02,100.02,4.1954,66.0832,49.1193,100.02 ),struct( false,127,-16804,0,32679,-6273928490217137053,57.076645,44.213566548723534,29.0528,1.0571,17.0442,10.0081,100.02,40.123,100.02 ),struct( true,54,-20186,1175108785,147483648,-3116873,9.544838,300.343,40.123,37.1055,46.0867,21.1004,38.1679,100.02,null ),'{ "c_boolean":0,"c_int":-1558541269,"c_array_ipv4":["immRoyQreq", "wUOckuTySu", "rYfjKpVrPj", "jqVsESOAbl", "xBNbTJhbNS", "myumGVsXkL", "FQDXRzfwOm", "EqqcuYrPDA", "tFcEfeunXb", "NvbmGtBMAQ", "xaKdgQCPKQ", "gXssasZjVE", "fTPjDolJld", "yiFWnCMgyA", "fdUkwLCWdR", "BcziKZUzLj", "qHgYmIwrkK", "GSTVJBbLQS", "QPYijuzwyq", "CZWhrAswtX", "lwhpuWnOaS", "tsTathucgD", "BzVDlryjeS", "hLemGvdrcU", "IANFkEJlYo"],"c_array_ipv6":["rFuCaqwxHC", "zOXhPsshgS", "kvOGUDIyKO", "EHZKwNxiET", "hDlAvrYoUC", "ibreGbTMBv", "tsdhyMTYNO", "ORakhmyDev", "kJUyZpgjbL", "ltHZFSwZXT", "VqarwbRidT", "tZxxRkiVDX", "BkYOXAxFaH", "xKRDbMbiEg", "IMcsxUGkXc", "YhCbXNphha", "ZfkkwowuNK", "TgXyXMEywl", "YdocCAfzBJ", "yOchWSTwDN", "FBHaVLEyni", "QFhGxsxutA", "gcvaBdSvCJ", "PGYlNFMShQ", "lkAVXHsSPq"],"c_map_date":{"c_map_date_1":"2012-04-22", "c_map_date_2":"2014-08-27", "c_map_date_3":"2006-01-12", "c_map_date_4":"2004-07-05", "c_map_date_5":"2013-05-16", "c_map_date_6":"2017-10-10", "c_map_date_7":"2001-09-09", "c_map_date_8":"2003-05-05", "c_map_date_9":"2009-12-18", "c_map_date_10":"2019-01-26"},"c_bigint":8109739468916291525,"c_float":37.166397,"c_map_int":{"c_map_int_1":1043956633, "c_map_int_2":-597608266, "c_map_int_3":485041773, "c_map_int_4":-695640605, "c_map_int_5":1972578396, "c_map_int_6":288253469, "c_map_int_7":-1298553392, "c_map_int_8":-472420028, "c_map_int_9":822016060, "c_map_int_10":-1988314445},"c_map_bigint":{"c_map_bigint_1":-1186307255254709687, "c_map_bigint_2":3732568033997703099, "c_map_bigint_3":7313265853039377091, "c_map_bigint_4":1428655329481916736, "c_map_bigint_5":-7103991402591455508, "c_map_bigint_6":-8561498210405934861, "c_map_bigint_7":52087825281512548, "c_map_bigint_8":3654848544668492080, "c_map_bigint_9":8134892093059116980, "c_map_bigint_10":-5930730815635513773},"c_char":"OFScwlStWU","c_array_float":[7.0249047, 61.105766, 37.024708, 20.58708, 97.06632, 72.63465, 60.53472, 50.78279, 25.634052, 85.16595, 9.554634, 63.127274, 31.863138, 63.60639, 50.33304, 75.69964, 14.878793, 7.3633237, 44.43722, 48.39975, 39.439972, 40.20364, 6.245223, 63.23433, 54.990738],"c_map_tinyint":{"c_map_tinyint_1":-84, "c_map_tinyint_2":-101, "c_map_tinyint_3":-35, "c_map_tinyint_4":69, "c_map_tinyint_5":55, "c_map_tinyint_6":-18, "c_map_tinyint_7":-44, "c_map_tinyint_8":-66, "c_map_tinyint_9":-13, "c_map_tinyint_10":-8},"c_map_string":{"c_map_string_1":"lhRjAjPHSrFGYdWGoKGINCecTdEYsTWHgZwIbGifjRAhXopENtYCMArRTRPkJxvSAeauOgIUfIpnnrWiCFzoPswBYUvEBpgRftZZHbOMNQUJKqcUsnvtWADcjIkyYLWZePmjijOfKctQQgiefvLtkssrfzNKJMckQxEoUPHFdQbaYoSSoYqLwQWbbqubLesMExOKwORipNgoFNIfkXAZkxRqlSzZgDNHlTtmcUWcbYXbIjSFjUzzETaPuUzXGqrtZLBezgkzpQPoOCLuXOXNQakzOpsljLsdZhHMmkKGvpzFMivSuvcIPyrNGCkPtALxmuXsZBLhGApaQdhJugLQgVHynZXlKXiwJgxXVYKnpDuqXNCoyZeQHeqhZdQObihQtXOoOADIqKuzNNyazFLmXItdmUyYGLLYpJnfZwAeKVvDhtcScwdURkTeMbOOCqpJzgtuRrxQuNRTpUeSMvfOcGdEOcHcjTMKhsKCwIxvJpUifUYroqGlnHXJSvhBWSWL", "c_map_string_2":"orFgwZbtKOAexPyZdjSLHDLkGxMgxkWHgRARzHBPhcZgtIPAUUZEPoKeSMwgcZhHWaujhlIYFhqDfqotSLKeyffOcgCJbcFvFcKJWAVLLVAyoJuOJtEPNRyYzNPdWKMyhCTtJDGBwUWvyozgYQlxcvEZxRBNBabFhTjTdfbUZrHoUzEgyXfdzAUoQDQdFmpKnvWdzrrlbqAtFlvsddQLkJWtIDaRnMNEDgzFzncbDLZUXfiIiriBIxcZOUlOyfsPyXMBvCsRFmbIaNioXWKEzCBOUUVQchnKdpYOfpVIigaovKDjzwhSjvJuJIVlJTHknUVVREoRLfPrzRDrbazGLVoZJFsOghOCRqaVZiVaWMAJLyJKMmFDwXVQIRshGdhBVhFxTwFkFPsorocHqSIHpGumExSMJLiaqQzdmsOoVbbcWAwlCbgiZWjeNhJzOMgOSvUaAySEpTIVAGBQzsTnlIIhleDlCMKpeiUsVesQiWWouEUCQAEvsnbiJIINADBy", "c_map_string_3":"QtOOOFofTawXGhYFFHOKpwXrMIluoZtvNUUHWCOutiFLJynhVICNDAHgoFjdEcnFAEHlInNUoKaFcReHrcIMCnnpnuPGCYfFOLOVrLWRsIcuIJlAvubVoJVbXqZybeZqoyrZQqfcmvtVPZBgWFGQIEwImRvhJPdONcrgyZbVizhUykzIwPaqUcRhhqNJOBbToEoRfJbFasnbRtzRfZMTxRqXIBfAMiBznhWaAYAzzRbLCIdlOrYBRVoocfcBsgvlytckJEwQRHfvLmWIFCQjbGJdXzMHPBEHnhOlwwglQIEIVApHQLODgtNxAOmlqgHwFSPECKWxnRMZZDAwvDAACPnDhheiEZOnRntZeWjWfJgGiTQiZWrxFClVcaBgBHHJfzgCmAfcCIRDjicuTcbSJUqApwRdkUcwQJDGVMSSbPwsYhryVIbXHHmaGfyAEMwALfjLUHDYhwVJCUKJYRZToVEncpRDZgLObuqZYUvKZadgpdgFcFyjCxOHkHFOHvTI", "c_map_string_4":"kFXrrdFxSVsmdbiinJrRYmYmtqaImGpEIsBGGMlrLTTMIOLJjJOwuWMLgCIZzRuipwrZpEOTNftawggJGMDrjggFGdgbDWUCDxOiTYqLWAOajdMWnkqrRcExkBXntAZmVmPgOuPPwBNtIxTmNADlnBWUavzgcYBqKGVnuOUtbdQQoxMVcEtERpzAAjHtKRHefEXbiLKqzpJWgqubXixinANwVvINZLPDbzogqNvRwdmMfhBfPRYvFDPFLqCrKBkxWUbmNFGyfBNeDxFcLzUPiHqVuqfGwjOSaiVstHGqWrjNeWqmkYanjhuhHZNWvsGtTmxtPPhUafJuMqnZXPNSAMRHTeKmQeAuSEZvOmKWiszrYXRaZTeIXsYXqIuHMWdaXxggpvAZZzjhmEbgAqdBLYplAdMGfCvLbWZwhqwfsBluZyYtBUmaiXteDAcCyHwwYBJkiDZVFNNLYqJAcZcNZzAmXNiFuklCydjFmGluikfEXmlzSRXMbvYydkVvZIkK", "c_map_string_5":"uADuMCdhmdAYdqShnMSuccRcUZhzLVwHlWyPqufKreXDqEbsvJQeKORDXiRuGYGBzZkmVbMvIZZMKlhYlMsGGnAxwJWijuDeOrzhfzRygACJrhyQtHYxMNLKLNOJTTuLVyyoxcDnRbqNnkvKPpMJDceNPawumghhVPkIbQYAnYkTePVFbrZgcumrJRkcHLzFomVNwxYCZwexOMjIEBidebYvhBtfIYxmoXISlgzDRJrGwWgufhmySAEUrhRJagMWztsqYSYLYznBMcZFQBaivUNwdiWyJFuaZuhWNGvoqnUrEEhUattLeylJSPfOVaLzcaJvAPVqmnxWDbBFZThiqOAKwugevkQjQLHnkgExUUCRSenuUTCTxZcZSkEkRvboqQQqkhpdvWVJiWDrXrKiALNegnNIMtjSIJAadDEQfASXuZBptdSwEbzYkYUdpnCkmEGTagzCvOhOTURZYhOGfYYWxCZtheTEgDssSreipquPoArJaQZoZHQKYdLeqVmD", "c_map_string_6":"PqQuXTalTUtysxgrHiCvYWnRZTqvgDEHFxMeauiIWntYhbrZuIntXOxXDAYyeuSxnxAhVhGhrOPUtrHcMosOOgFHhJHfJSNUMuEsPYAzSOtkSwXeGebTePRoOngByoFtqZlopxPlQdVhoYGjVlmrQsMlNnJfVnaHvBGnFSfFOPQvHTbbXgzEZNzFekeKOzTDmpMkZWEWtJfLDNrPqcwNqXQdWhPdNwauKqJGSddVnVTHvurXXVszyNpfIuFxNqVChGCWcGFmZLfmCbcpIGijKHClXYuvKZwJUtSVRTFsORuorxklenZUoHUtSLVXSclPDdQZddrEtAFSDRYgtOwTeCHfEpVZCDPJpKoCjASyNMCVmIrnsAAhOgHjROuLcQprNzWNIAmpbXGSSYsITrJqCcAqJThyvxjOJoWNZubUNTDVHKYKLSxvvNirBHpqkiWzoXCHgPuRYgMHdUPuIMrmvmfuoXdBraORDMwYiIHCGkSGKMXreijvvrdQdzKgpcly", "c_map_string_7":"FoYNFiVNUOtLBvgtkdjVrLuxVGgiTkJllpRFOxOLgGHOYRMnlhJXDMaOyupZmQNgQegSZxpYZPjbBXIsEPZvbrOUXWlVlKpgozvpFbFjehEogcAvbNllMVamrWVgBXOYoERjKUHRddjAURGigQXxsLFZRUboCKwiGaYgYHtTwdArCKERWGregfWIsvObkSqwjyNAymOdcDbuZQcZKIezqyIkFleUlsstnwXJPEJIpZNVpyJlLLCdOPBRArbKefngLDSRlbOBWgNRGCkXaInehQVbCpDAgdMPOpUQTQCNVKWTNIqgKeAHFxmExEhyAknmqPwrNZswdjMdJrvOhaJuEwITZJDaMcbpRsCyMffJDRSAxQaPGQMYHPoigFnrZwWkTUquaEbBFNrdRWvZDpacXusEvjBPspAoAqbCbBfzYMfXuZhPAEJDEZPDCZTIxnUYVbOLzInqnhhlXpzUIKOHAMMTTyFlqNYhNVYHLosubEtpaHNTZTRMQxksrcstHUMJ", "c_map_string_8":"SmQCnNfXpRfIfmIhyMSJEbxmxWYNSpHNJYOQZSAeiinAltPuRYTeuHGcDMZurAjLrulGYyjPAxtihjYPwgbjMqehtfnmUyZAUXRVJouFDzHiYlquHvBFuSLWyDhCEVXPtRffXbAKIzUSyRHSGOCQznFlfXWUYAsBSXyLENbrpvQliKrAwyWWMPjyNPbhEHWvIXdjkdsaMCKgqphbtyIMUzlDRtspJKSsDFlBOopdejCXlDmFaHvdsMwsbetVcWThvzfCsZVsEJbAhNqIWWOYlJPVDJaWywxfcgtLGjKMRkYSTQChKMMxfhxltoyEPgUpJOzoLsuXxBgIYjqdNDdCtQEZKQJbjQQUyikPMPbltKQhvnPPoTflvElSlLjuPHiItyWnjRlmMqpmuiBaNJCijtRgXHiAlVlMxyKysNmYmamPSnpkgrQlQJwYfXdGCHFBpedcrDixyzOvMuJGgVavGTIdrvhdapDfrgdIFFfSRaWAkwcNfNihwdZmIcpIJnXC", "c_map_string_9":"DmPRLXqGUBeavvdjthRQuixCsxmntfKeBQLNAtIpwpbUdjIXZFUntGMeuRjhRipAZBGIrYpaRqaGxaOSXKSKnTJYGgZqiMvUuuHlpeYyYxNVPLsAKJGxCCRPzKXtjyKgFSXTKOdHdJfxqBUhCaLdpwBQoWAyqQEoQDVkqsFhxaVlYGRNfdprjxYkSkRZtqHGQoBjEtGpRAqxLmxYOdMujXiRLoGWAAGPNMSmNsXXkBSNvlWLlvpUqKjykwNrfMBUoVquqtJCIDzJXyVsNcWmpKNdGxlzVSfGvjAqzEXwTIDoYkCmrocYonHvnenDBjTYVDSvdoJUQecvTAZlQrmDTbajdBmxBWtvOwyUVOUfhQqXrNqcpNUJGNkrXquoDvnAKWfdOFbpmQGLEvNYGEFiSTBnLCUtoDswQUPaAncBPgVdUIeZqeWUOTLIWeEmMvHGuzdMHHkVxvRmbOwWNWqYOuQVHSixjxsQAHezzFPELwXLrBBVPQSNzRZkslbRXOOa", "c_map_string_10":"TycIMKxQZzqlwKMKznqkJKEaRlYWJJnnlMYlyrMsEDGHzHDBUdJwFbpDRbPGKdFMaVPPFRMleVXehzdLVGkOCoVZcbHbNAEnlkpECZTtxJVMsCTykcOSNogeIVSyBCgPPreVQqHCHcVvTsDLGSjPtGcvLoBpPFQAZpymqgoSMXAdXdQwAiaaKEmxPBoGfrCxjBCWNCBBFEqQuYEIIYKpgYHJHdTmmVdIAsAOBbzZMdkrUecijecpTUuNrDovaWwZpDAduZMhwpRtIHGAbysYzKFVZXLDNMzfvHIWxkPBgQXpNVsWxaniLUqsHyQZdMXkgSkoBGzjgcZsihGoUogtTjNoUCQrQQJjMxxvpfohhdbmOeBzYwpqDYInzkiyVpgIRzZiLejMMAqApnRWdhZBKzQXlWMSaYyrQpcDbxgJsJLnrXYeTQEsOnVBgGsbtrScKzYUBKhMukHiwzwtQtBCdInXLVlfDKlXriyeVPHHoxaiLiJsoxKhAlMgqlsGcQyU"},"c_map_varchar":{"c_map_varchar_1":"OxJZCidaYibfgPmoSCHQrGRyGhsGiiwyqyHlQoQEFbbVylvkHfgLMsgazooWyIRdHaXSeCgfzgoSmDzqKsuEFYmigkKSexCSeoEshSVzcSLzshYPuvdsaqRqxKidAHKPJgPmFWaSMIhAhKsdSzEqqddWsJStuGuZJUJzdhoDvEiFkWxropEbfZNugYJcYuKinsgMljoqMzJaIygdoeBBaytqGThAGgdCPsVSMmFKnXXDSlqujtoqBJbjGUJUPOuB", "c_map_varchar_2":"bWwCeCyEVmFqLEkjWvhgCzUEAPYrnSEiHVgSxeDQuuZtCdCnfbvEChvigfiRulOLbmZJgVCUAfibDXXILDmwmjIjZOQoVLbROpiIoiDlLqgjcIynzFIJwbVwcVBVwLcTaXMVLiYyPGMUUQGtLsgRDQgwGetThfKmjtTePzsDtiOUsZsqfvacJMSFYkSoyptFLCAhLzORFAiPYXWZNRcFvUxBikECpHXnbUxaQEyYvKVEvOAZRRtKtFCOUuCxeLuf", "c_map_varchar_3":"dAdfuXvvqZScxcLjxXmVationjASEgLCWWGsnlcSACKwFsYfwhDFPWYodWQqPYfVrrGqKRdCgqokEdWOyAZaJQnNCUtnhtgtaJnvoBtWMsUIYEzgJjBwSJgVyirCKjPHHNDPuuIcRosvevrlaHDxLYkZodLSMBwTVmGNFPhzNBicKWXMJVjlgXNKrOLsfsmCcMdypLplLnPFFhueTBYUNrTyCcdcHYvTKPMeKkREKxPQEVHiZkzRjhUxROdUpaYy", "c_map_varchar_4":"FCQyIIJmiDfKEAjgsgyNvPCZtGrdDTPsRZctiNNOmufxOxKYeBXkrRIVxawJOLBjYrcxRntXSAWdGKWhEIJjtOLwsTmRxCJodGZpkfWYqRCZbCLoBxqUBRhSxiSHrinZnIWvBEmfsUcmdzAVwyFPoNfFBuIXnzFIIgYXiJVUZPwkfHkCIGiqxVNFOoZtoNHMukghIjDNtwkxonZBonfxpUUyJGtCJsUaERZCqFuWlUiASJXUBAONXkaHzvExiLsu", "c_map_varchar_5":"VIqAAuSFvXlCcKzElHrKvTsndjJjZqURVztbugMvbjGqROOshSluPAaUSamrgXUxMFOBNJiuYTzYqUluginlQRuoAAgdWvQCMcTLEwsTbsLslfAuihZqDXVxnhMWYycnbPxWRyUEySDPcCYTkBjlWkSVTVkIuvsEJsUKkhUBCsXuyzImKKamjncBdaJhgYvnchnClnPLXJNmNWzSSKyydsbanpuDTWwuDSEfkinkGlBCStAwwEfFJkXsGIuDCqaH", "c_map_varchar_6":"NCLOqVhGCkatGuXNJITRfbipFdidTiAdLVUPeKOGjaaxOLRzxkdQlHKGyUnYOhRfZbKXcVphuZljkBnkoUBbrQyXqvBdUvEvZNmJfhBHhXAXZcXjbyqHKjTtthmNIWWiTBKcgMehUppDEXxwNuLfekpqHDwZeTYBpTshDVPDEPeUQXGPIZTPfDFjfCzaeNbiUevamKpsrWCDUBOnwgDNWLSJASbkOhblLKhnhrOdziQgVaynkXjXXITsHeEnqxVc", "c_map_varchar_7":"WpPYyfKXjyAhQThZdgLLJEvlYclpsFcdwiEJYAmpQHjFslyofLRlwcWUOIMMVdfBQVgoRZFGiPkRGcfuAvXPPMWUFEEwFytgARJuTpNgOgLAUkBSnlLPGSyzZJqXFDPvDLTgpRumiHdAWZdXXoPwmySIMtNucwWLtThfsvgXrCSrckOnktRiiUUlMJykcPwDOSTaXvSpzoCMhYrTHtwLlwQtYLtkpDbZvcDlaXyZAtBMDHeqdCjbRiekKoPDoMcv", "c_map_varchar_8":"WgKbYaYIoLeBTaBmKsYStQddLRYYiqKLvrWymATnvjriAzIgUcjiWeqtfDKwLNmUmpJrRtzTZDpXqzOyXZVrXxwWavTRbFfDynSWGWUQaSQZKJVmagrkryUlWLvEvnwDiOuhRMrugZVCwxWXrLiDMDCYHyoLYmFUDfercPoXxbBVSkCfzmrRqPdOupZNPssfnSHpXwxIFFSLFNPyAGTqEYzcCuEJTbzIQGpgDcmXzHQVXrwdSKWrXJzXPfkoizQU", "c_map_varchar_9":"iyvUrnwugYheiZfZtoFafIkQBxNrRUfkNDQAGlCVNbkgqYanJlXKDIbKhcYPdXSvYDiUIfnOATOOgiZpzVpJZCeJkdyVhakeyNRRRQZuofeTrhPOOMTYRAqLFhfShYjGkQDuKhOMXoTgSTXEFYYOciiScBPfKwVgUDTiSrwADjEjqFGKcUiFUnpNOpMROdaUfnZQfDBrnYQXBDUlipUxRvRCLVQcncprBaBbRpyMcpzAizPdEbNHeqqVSUgWsfyt", "c_map_varchar_10":"DbvyWtJOHdXwPoBuPhiWDsGYXszCUZgnZGIGssqXOFKkmckAmeQlEtVfaAUQAeMxoavOslTxeXTlwAHwDODNqJSyCYuePzVZIkllWoRXODeAxJNBLwKVyqlfvXEYynnDKlAuoWcbdrdSdiXoAWyfXyYPdryTZIdopEAfwtvQfMYfVFocDmqMYPXgNPsuOMpMOORJqvszwCWJKjaFPnykiCVmffOVqynWorvUzHSsLQluzJMStdVtyGRdWhmcGnSc"},"c_date":"2019-12-08","c_array_decimal":[36.0652, 63.1338, 54.1649, 85.1328, 76.0157, 20.1285, 43.1526, 62.1539, 3.0653, 83.1612, 19.1402, 53.1689, 48.1898, 80.1275, 47.0699, 27.1829, 92.1227, 62.1057, 33.0267, 83.0948, 59.0751, 26.0663, 60.1754, 98.0708, 83.1184],"c_array_double":[42.554686705351976, 34.80603429283785, 73.69868475616396, 89.979227932823, 7.238697888164552, 53.045002675962834, 43.86436758374838, 17.894212175656687, 78.68471944920029, 62.122026012902595, 67.26031836081775, 36.84780980094312, 35.52687252837409, 18.494070701807114, 37.77068675672944, 38.051752461086274, 4.468610512256719, 56.36470359875233, 69.33380719044077, 68.15063362931203, 18.338020272521963, 39.420194672589275, 4.0598047714248375, 96.91997111005173, 26.651958396858298],"c_map_smallint":{"c_map_smallint_1":-21726, "c_map_smallint_2":-11031, "c_map_smallint_3":-5569, "c_map_smallint_4":-31104, "c_map_smallint_5":25252, "c_map_smallint_6":18434, "c_map_smallint_7":4064, "c_map_smallint_8":27648, "c_map_smallint_9":10442, "c_map_smallint_10":8700},"c_map_double":{"c_map_double_1":89.97091885960796, "c_map_double_2":85.22398022044297, "c_map_double_3":71.52065492224055, "c_map_double_4":75.41836177214297, "c_map_double_5":74.69146590980706, "c_map_double_6":38.358750929458246, "c_map_double_7":27.91382236684039, "c_map_double_8":38.851133526072616, "c_map_double_9":51.442210331870065, "c_map_double_10":8.098954787403596},"c_array_bigint":[3180065607717672035, 3802275608138112202, -2653662637560810410, 3262977204358185971, 982420805177230196, -6515926233140929039, 7306776568949373878, -3635973114648383682, -6432151618369678076, 2401130799778776542, -2736173609299771514, 7717333539706139674, -3444100578335433090, 7398976528465781803, -2726720422881516821, -5524441745851668961, -1244630467175891904, -3029537207015986964, -2909114105362893290, 9212960433580074058, -5492778455512440815, 4580818254870196892, -6780509527984708188, 6504036079491566916, 2635713074040792384],"c_map_largeint":{"c_map_largeint_1":-8544360359631747152, "c_map_largeint_2":7476493897740981545, "c_map_largeint_3":357365642207160348, "c_map_largeint_4":8858377484984220756, "c_map_largeint_5":231158239772737871, "c_map_largeint_6":-1016396761658497326, "c_map_largeint_7":-9193687435644977327, "c_map_largeint_8":-3808967409889065103, "c_map_largeint_9":5402331655916305005, "c_map_largeint_10":5662088766967101482},"c_tinyint":-21,"c_varchar":"so","c_ipv4":"174.17.201.48","c_ipv6":"d65a:293a:6df0:59fa:8266:996b:b355:87b8","c_array_tinyint":[4, 81, 118, -66, -40, 20, -68, -12, -12, 69, 127, -119, -34, 23, -56, -16, -58, -67, 28, 124, 46, 112, 103, -1, -102],"c_map_ipv6":{"c_map_ipv6_1":"7fa6:ac10:e6:7080:bbba:a66:e4b6:a66d", "c_map_ipv6_2":"73a0:410e:1211:557:abd2:c5fa:bee:b84c", "c_map_ipv6_3":"e8f6:de45:40cc:fb92:12ec:cdce:e6f7:72b", "c_map_ipv6_4":"f424:cfab:64f7:867e:6ea9:7d74:ecf6:4c04", "c_map_ipv6_5":"f583:17b2:5ce6:703a:312d:cb9b:9e33:6061", "c_map_ipv6_6":"ea89:6e53:bbf9:b2e9:cd79:abea:8619:f089", "c_map_ipv6_7":"f19a:4726:c75:cb5f:a523:9383:2cde:298f", "c_map_ipv6_8":"63c6:2022:a9d3:13d2:f1a4:2df2:eb0d:22c1", "c_map_ipv6_9":"6788:9a59:84b5:e463:e5aa:aec9:fff2:af6d", "c_map_ipv6_10":"7d70:272:fbd9:f875:bb1f:130d:d88e:9183"},"c_datetime":"2010-09-10 17:54:19","c_array_boolean":[0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],"c_array_datetime":["2018-01-03 00:36:22", "2012-03-10 16:45:24", "2002-04-03 15:34:28", "2014-12-14 05:30:08", "2006-11-02 13:36:29", "2000-10-25 14:28:13", "2017-06-26 09:56:27", "2011-10-12 17:35:04", "2013-08-24 13:19:15", "2007-09-24 09:52:53", "2000-01-25 23:33:10", "2014-03-06 05:28:27", "2012-04-08 00:10:28", "2003-10-18 05:50:01", "2007-03-21 00:46:30", "2001-09-04 16:35:17", "2011-11-07 05:47:26", "2010-12-01 22:31:50", "2018-05-22 07:00:33", "2006-11-23 15:30:14", "2014-09-21 20:40:28", "2003-08-06 21:59:03", "2017-10-05 08:02:58", "2002-09-18 10:33:24", "2019-08-05 04:55:02"],"c_map_decimal":{"c_map_decimal_1":91.1415, "c_map_decimal_2":17.0153, "c_map_decimal_3":59.1539, "c_map_decimal_4":77.1228, "c_map_decimal_5":32.0014, "c_map_decimal_6":9.0837, "c_map_decimal_7":99.1746, "c_map_decimal_8":65.0649, "c_map_decimal_9":45.1329, "c_map_decimal_10":8.0186},"c_map_ipv4":{"c_map_ipv4_1":"161.96.157.235", "c_map_ipv4_2":"228.166.165.34", "c_map_ipv4_3":"118.114.193.13", "c_map_ipv4_4":"49.71.211.1", "c_map_ipv4_5":"220.215.5.90", "c_map_ipv4_6":"94.249.54.101", "c_map_ipv4_7":"68.118.185.135", "c_map_ipv4_8":"116.71.125.38", "c_map_ipv4_9":"211.193.63.163", "c_map_ipv4_10":"189.159.35.177"},"c_array_smallint":[-16890, 26714, -21881, 1422, -26213, -13050, 1827, 17860, -17373, -20325, -19923, 713, 3029, 16392, -16713, 311, -20423, -32342, 22051, -18883, 2336, 1007, 21800, 10025, 23288],"c_array_varchar":["mmpaMTDGLnyptRcGLzoXBzrHMwVHfsIyEOUhvKfESHEBEaPlVZCsdfZUzDxCslSzfipNBBFUcwdiAfGJPOZpiVbhqyycAqnejkUANyyGSWuBLzojIVnHyEwXuOmKjocCzcLNMLcHGbllDKnIEzLpVKkBJjNcCzeXTqboUzYFNsPcqiGiSGKeFTvQUqwVbTcpjwnbteKyIkUNgRnAlgvxjIZfYtwjZquCFoWFJIhHRkGnWfLUYfLcqRmSOthOvFUz", "RWrHSGYDlGzVJxNQQmyUgYiwwtASsGRmLJVOhMpNdANEIzaIiQTmANGZAeEZyIFZTTDMGeJnkroidpQxejjCspaxyKvvKihRmDnahkFKqVNUqbffWoGUiljfkztWkBjoNbRBcGhXnRVSlVvRNNIMLfNFAkiHrtGggarlxJLWmbcMveeJtLaGTgxAhLXPODCkyWitQmzkzulktBTZpgBgzRfalWuCHPtJsOPDkuNlGFUIKmEloZEagHhnxbIIHCbs", "rQYoxgLpQvUGXKhtMbJXhIMiTtepqPUvdIzeuRCNFpDinOpSDlpdLZHllvAdZhOJRaqjcLEBMvWBvocWWNGihNkNMkDolEjQySXxuobYfdVDzaLjPLdLfcvAdBByiGWQyJepJnUmskRRuaeyKVilrhkPGOeqSsqohljswLOBJfVKgzmEKZwpCsbQMaCcjszRHTMUcsnSafLJAUZrUoiWGjsXAlQMwIsPwFSRHcSRKKRThCPjQiKPuqZyNMXPnwAY", "woUjnFqXUcqRwRMDFWpmhUDeBNBcQoHcvBGzbBxvnIXSBwzRPvoLIfYcLYTWtVnrPDHynMCLtBUCHVtPXqMXntIQzQosCzCGVhZkJDhJjWnKdeHgCYSllQjwGpTfdAZLCHDAIIApwQiLyZJNFhcirCpgzgtMTeGiZfhYtRxBaJlWAfJXBCpQeddaSRYCqJBWNrgycLhKkyzzovpicDfBWgLnnuqaeInxCHDOxzaKzpRFGeUoOwliVYbwfWndhgKd", "RuUAOXQtOZvJpNQIdLaCaeSwydpiShuVCtlKnggWlDKxoyGHXjgzvQeLZHEapdxCnGtdQLCmYYcjbZkBvTMsTLfuDuilQNjAcWgBoJQXyNoAsrXlxEVoRoszfwqdCnjZfduZxwyiUfcQmNESrkpztXTVDAHnngNhziTwwmfoFbEocnTboImprvkGIcBGVHeScFnFKKVFumFLhWvTlxuSQbiXPUKsAUgeBxvLJhwjNCIYaXFRQMMsHTKPBvnNsazx", "uEBiTRvUIsNSsXSGcuRozHSvNZsUdwvqrmPXWqbfltkLjDYGWDGJvKjwtiIYXnhpXXckdprnXDlgXUCCAMUSvZYFXDcPgMBycRMmfIvJLViSbyGMeOcFqkIYnZcDLSfXERldSRowGfcfuYMjLnHPNuFsPbBwPgjXKcKqqVPvDUcMTyhmwpLfJQuNBRWIDcbFWlwXXvrwhvCJrWWJCBXnDGqKoQYrkgSRcDPnDpMZysJiglFeewGxxSuESXuaFAcL", "qvBxrfjPphNzGKdQxHzcWuKLCcBiuNCXCwoBydESNAZRGDHajuyTSQyBhtlKRhBeTfgKbAMCmhBZeOhrHOMsYohlCBzKrPpwGXrRrBUEjUiWagISxbPCyRsxTaqELFlaVodwINKvteJxVMRxEsUoiMbchVRGIAodYoDycEBHTeEpPnQMYpakjGaUKJNTsgTfLNtTCkXixRylpMEfhjmmBsRCUmBxqelKlrzYHVTrZpPxaKCiYXLDYEDsnbXjfQbO", "zTOpRAiGDPiRTjPiULyXwmkboHWchJngjOGGuhOnQjpjBSThYifoxKMaFXjVaKQnXlRNszPrxSVYQaPwoSEtmYqQialERrtsLPnCwbXmjMXDOcqDWGgzavktrKVWicVGkCGyZNmBcikHllthvTqhHPrdsiTJxBDpVVkPKFazwhPwEFjMzPAEqaVxWRTwHEBrWZBfGZGpkVlskTVjtHbaJjOkDytJTkyztnRAroeTLHkExvjlKvyjalnWhCmYrsvP", "DOBAVBFGOVkiMmdCvOmrnFByXYaemkjcZMRjDaCkJlZBAPXBeQBMMaTCRSHnhdMCnDKFFnUIJLJXRJUNKftbtWPWPOCrRoAKfdKTOOnBKLoOwcsbMzsIBerPTGIawnuOptdlEnOLXWwAqFvzfgdSfXHtVkIooPxNgbDCblLyReaUpHYVIkRBBiuGyGXapdixZqjGOTWalpRlPmuuMPzOnUUuEeFvvMdOCkfLrUorpyjmGJZEPnnmiXMrqmecolre", "PRxDQBwxnLQpxGnLXYSfoWzyOBZQQVTqBfAnzcOmOEMlphEreAZVVmUKnBLINdudsialvgTRmAPKyRoUzDkHPPbXkTujcYuwMsHMZxDKyGxyNjhPhhhwnakEeerUPuhYBnhqcqdcbxqdaeoUaOMtWFbQghIMuCDnVqtgrBCHjVVdBjMVLPBtdFOaKNbnfwdsmlVXEAkIFkNwSfpdzYfEebJxSlnZslOVaQsABXhsLMzHYQhPmlAnvWfhpAlgqoUx", "TUspqPaTocVApznhMGGOWmLyKojzyTFujyELMvUrYdBNDuTuWNsrkiAUkiJPmzslGPLQIIgZlvzByAeVUPyKaTktTFIOacZFniIvsUhufuqMgvYKXlMruKvbbpGgvvTkskWddFjXyDWHQMYFQVbGachzHNImSDDhhgiQdkWeZKbkGRkbUftBWOEjAUGfSMyyfkwaEWEpRpzNBPkrLhzuwNCuosqRdDYqjhWeJpPaERhXukvUTogZvcGwFHjAjzWW", "TJqkpweXlSXcBqBWRwyiQsrauSibpQkGJiEzQSsttrkQormYHQIlrWAvsERwcnkXAyQEoQsWRHIWRdhjwjdaCOtUkXluIfSJtarWahBbQCstpIHtbBJlehlzkMaocJebjHZkiitQWbZMsZxckwbdSptXyGZoPIIhmljpOgBmwKwyBxAYgwQHhQtpRQXyWzbGIvysxDKTcRREmPGUVbdnFtEmvLJMhuwreJuUYlTeUAYGQpMnnErCNMPRJetCRgtq", "RtoqQTlOtiPRpyXqaOPNlKliOdbIuRLtRuwWrJTlpyOOQOvBoYpovleBuBSQhhmbIUGuHWuWUTSLIUqlQpiKsgGwocEOtpsjoAtrkSwNvOYVCZVOelLDsMVJtjSCieylfnqpFLqbyiNuHbIAlSUbXQnUKMCrbgswLJTAVmifpfJDOVYFTAbeqjvsKbRYpZMTmzWPJIvjhwGPOlqHcTXphzFhMeXDJbBjsVKqbtGFYKqTbHgDQvceELxrLaUkIoGy", "iOosQcyTvLXRykoRzNIhdbbcGfdZkTHFeIpYKyFycaojjuZSyzfqVCZfUFrSEJUoxsOFHFdRjdSMPeAxMpkHiscNivtSBGglbIuNwTIjEysAbmnxJzvmoxEuDZmkRXFqIBWaLMsMjeNEyJuExpDEoIugMVQcTEcMRcZQvjwGEFpojXIVsSBRERqAjSxsIDWAISnkbvzYSGaxuttQeHIwuLfjwzAeOElrifXTXZpYtQEDgnKiuVjitqQWSEbAtruT", "baVndCZKPincoIoZmCMBYbOGFeUeMwKBmzusLghpIORzzybFQKyVUqbFLlHgjCKIkIQsjmTFiTRtrtgigqOcxriXURPhvZhHdLPLqtAJJWxcKELGyDxhbcmQjCJanahuQkCPylHkGPBTKshnYOhYjxfqxOGLutTJKbWbZpsUlpCoUyPYGGuHZskfpKJiuaMKBPsZVSDdQdBXFpsxmsAFvKouROjNdwzXRsiLDKYCthczWDTnHuHeSRektdgdaYKH", "MkgSjePwzVbnFEwnDHBAQiVfWFBxXMHqBIQSdlaqcfBsrfglXFJIlwRLBoslbnnmIqEyYuTmkhigMfCqqdvXtkSEDbzrLWyDSqjQxjOaxXRsioyhVAuhnmZfuhieJVyHbCjsPxKNBBgADAXaYaoLwdleNwfYBurAPRscaQzNPEVyhzhLilVcwovLTyXVtydSgNWIQPLUHrZEjCZcsOCMhmAguOxSableXbAPvpIqWcdKwTbowQNzCteIInJrDeAj", "TtBvebQzqXXaqjailboWfwWFnHjEJGQUCLdywNCjuYemxlXifDuRoDQcLLvWytNSJIpZutwmsNPUohdmwzLNcgtGLibXKgoIOaOWUhXLXmafYAsYoYxydXJqMGQlKmTZgEDYVuOImzCesAEgjfpmGRxzeWCfzuORooFpuzJPAQoOqiNcomrxZIwlBHmGuwoBmcFAJyMQTiTQLWjQTeFJbaYhthIunCapXVWJmOgQDeHxcPKOfsYFAkEAwbzngZNx", "SQfkaEPrJeRyjCLrYVpyDHoYiZULkvYskwRkMvNmEEVhVovkxqsetcdCSZfiImvwGZVKISZPcpnjkStMpdLoIOXgpdWenzNacfZcToftqinGdCoxvXFTvTuSSEbWxBTvQCtefjeCqdZDwiHYyUfjQOzjICMQgMvZcFkiyDczZKsPhEIFvZeugnDBGYUvVMjolWXTJHxsJKPHvsWURtdHMIFDWmrdMQLFyqBcibfgMrKyOCclfLFeqNUEdJVFEiyf", "lUsrmlnWQDgrkUgRIqShihEODMlicGRTVDBwqrGKYrMmpXFsUwgyLjOWYrYtgrmuysnmWAiNVyeDYNxTZqhZCRhfkWhwZuNNwmlKZUTYEwYsztVFGIukDEhaqcJQZxbwoYgxdOkfIeIXxblBEVHeipudxAifQxgokNedbEpOtsrgCVXgKDbuePjjgBXzMcPlBfzNnJEwoltVQDgpierggmyyVBrOubKBfulMhOQolgcwUXGNYviJytzZNBKQEWlk", "AatmEwzmYfCfhyQoslrNCKzHXCmodyaifojrgusTwMnockwsouqaJjHvbDAJErRGHoyNrZaicDDOMHhKCcWMPrXrzjAQEbYsbHXgsEwWiEYTgaUtOcLkfQfsFOAvLIWRaRLTRJKpVccUCRRWowJVWfbJgqGaATdmdDxWdfmXaLXiOpaswhMZXDwMpUbcFSiSiJGQXlIBQHbBwknYHyDbNuAMkTJFjaYQrHkqMlFbGexqSaQXcLNOBWCJMOGTYgRd", "JFayWnXoQckzDmafRCrqyggKVDsvoeNgOvRiiOLDYKRNvaTHVRpjWTsGzqXfxCTHjMUOTQkOsSZMLgmhpONjECGACogNYBrcRrXqjxSbuyZMjFSEzxiWkGiBzSerAVTBksdgWVNHPegygkLBSKEiFvUuAKmtIyAzpIMKZmcLqCYdOCEKdGSHhDVbFkYBwFpZsEhfBixGrjtpEejHqdQVpAZfiCOxHgTmFxDXPWqIbUsAfqBuJeTJQwepKpKZIiyc", "CGgWoecAHMMdglNXPNwgUWHZNyoVOeBjxNiLVokttMfRDPRpYKWNzSJktaubUJEshjEcZBKvsEAHtnoXyzEwbaZbbJoDduiPPtceXRLkYhucFCngbESydwSJnEJAOyaJYTzlfljqjnPySGwPtneRUCtzCKJfVCRdVOFqrWryllQnrpkfuWjzxVGPEsNyUAKteOEpzIPIQNVmzWTFFcLMoKcfDBrDSKFEdxqGuwXPAidBwSBBjKNRRhAWtsUOqUzW", "rQXsjXthTOiNjEKxOhlkmDyWEqsERkvltFBfGfOPfKCJnrrbSxIiojYoUgLZgiCEsKfgdLqdYwxaQJdcVrLMAusNRRPUDCWdvVPVHGRTyhULuxryucjaxXdFxIKthUVLMzpeSmAclJrKXCPgDIANrXuZgHaxwixEsmknLOOZLoMqFgxafqLIblOYXauOPXgDRpxldjyXTUWuFuryFAtsAQMNFzLFgizRMrPpdmhJQqnGggfbmjbbOHhDDeKKvISQ", "PwivIKXXwRwclMSWxseBpHHCQZUBQhcJHFnxWwmhXSzuRGFFfwmSjsNAfewNvCJfsPnOWacpKAdQVsBWiWredwUQeJiPPSCuMEqJGCwvbbSxeiGuXDKqbdzsfwVrjjGcVCWGArKzfZYnXNcGFmzIMQmxxSznSAgmWxrnrkJMlbQIreqolScFWJYrKlfxWwrxpGmGDzZsWJJZVUiIRfWLjzjGULVtMKQssKNzEbasbSNSOALNyohXywaRoELGalqP", "ABErQVHDpsXjuBngDcpcBXWmQPhMGDbQOkHciINIhgJvCSzIoAFhaOGLNbplkHIwebuENwqcoixJTeUbDPcNDGOsXGucDFdcykBAsJxkoBNxakNAmetiQzEPRkLourAvSdAvlPWWOEZWowbxHVviYGDvhFuehWozfVmsQxWSSizjrqdbijbEidsMPYboQifFZKinRuBZRrHAOtFnrxwUKbIRftMTKlhVxVZOBsboMnpIsSiMEILheGjwSbvjHOic"],"c_array_string":["VoGNPdxuvxynUWHEdFEnXYYSJhsffsoYTgIexeyOcZNdtFuPzUutFdzBuWQPghdPRkbEtYhkVlMtiYAfDUuYnWRmbSWwgdbiDPgIQRBsWMneWwIXmPcnZyUxTQAaffzFJYMChqFQBqyVFxYFTxwjKMAkXcZLQefqWRrNpvWcmZKTqKdsebkjcJeIUJVgISFrEUcYEYgMHtvptoFjEZomnmBVAavRtOEuVdIxSdpGbzgUXNnGcHMyaLWXTtEjBvohNRsWixFyhOMfsyQfVPmXRSmDAANUljIMxhRwUvfzZukqgZuplXpdOttbyxTzLHJvTGLTFEoGrfpZuseMcDdrPmJUdGCTwOFpCDbmHlVHhzauSNyiZBqTpbhgZueUaxILKLFWGldiolxVKwxCfismbnbcVbVrpQwaCayBhHiaISOXundRxdmUvbdVPByfJjenMqLiDwBGwaKuBFStSBWCvvrGrdxBFHZgorYUCwiouHIVTrBrktDwSQEUuGBvuVeS", "asoyXaDmRiNgNEZRdoQwbUGbBOZnjAdFuzXTJHKDFvoGHQUnefXsLqvXvKObvuxLBPPoogqqEfVeXRAADZQSfIblTmqVwDrwdNhRZqwBhKQMLZBecUAaWpQcSznmAsJmGAMUxfSLPfcBidPMzeQJFVwmmurBIadloGTGZwqcXefIMZENbjjLJmPAQOBuQHQYNOhKDlPCTHycEQemuixivozrfmaPfFQpRMDUAFUbEVBgJUmRgCYCsxjjZCdHMGvypqUPcIitmNXSyQaxVhumKNVclllCBtWzuncQINVAkKLtquIAJbWOphNoTnpzZZfQFEsFcERRkGTsmqtbfsXgaeaAqJbBLdLRgZakuiWHcJtrCRPLoEXRvJfQoExbSXuaJCmfKZCRTKtKQDNXgUaYoRvdxajWVWTjIFcuUbzLaVPNPGIskEIRedqgvHVVEHZliEYyleYGeEbbeJXWUFxEwkgsEgephFKwKuTDONSjJhpgRPVsPSPNFQEesrmDotPl", "avayircgDrceteFVPCwMxuzXKBlzIckkAtuJiKxLztJCWOFeDUcLWIZDKsYkcvIpdPqWudLqgUseQAgUCNqFfNenpvWKUWOMTjFgfspTjKWlTssrQXTlrjxANUvPNChUQlfhqkxRYYMsmyBbtxTAHzvcBNiGWOeZgDrEGMrQortZWPoaUhcfglxIySZZKfEFtGQVCZKGTTlBrnbJatJoWvqCbrWaULCsHVGyacYUkFcBeEDoYEqwEmmQGEUOHaydWUCuwKxaSsHnLrXDqqjZyONgdKGKgvypCEWripvUdJDIDktQusrXgZBGAzJIwqdmlONzbZvCeYzqIOemJxlKCtsVnFXDBMzWjBuYJENUQxMoGSYjhtHiMHzKnwWFzEZeHgQhzzggltvIAVUPwEwaZhJfFjIRHOhMQZlupTFftNgOFLwZwExrHmHelPXHyEVYBhkckKRVYLxfCadftKJPDTUWtamUfVVMZcRCAkkOgifYzIkAhoLbDEhWFPmNFYtQ", "skMBqAVllZFURBwjUaOUIEEwxJorJdqjaHilnjKavItDnGLsLIRzuqzOgpZEnqbqsEGlerkjFHNEmjhSiiJfgNvNBuSYGHdsTtquRHqHRvvhUmMbJrprRCEIkhsumlYyigBCANmIrpJSoXJUdJHaizdslyLbOUJITqsNJIMQCjKpmNvauRDeYprsJbWCAiirwcVudnixHWCpeqrGnAFLrAUMnfKpBdTyXgkYvdTYqTLwTZzSXoXphJaUHHVdcKcqeMwEqphlvkhQxpOaitREyhqRWlMMGCFZYlCTgDykMWIZuDKunbpvzoBtiMFcyUhfaAICokCYFJOqhIftmePzLzODhYJtxVLYbUptIZRQXHYfnrWXPJmnDRgxURQjOhcaGcKxKJkGZEMiKKJChAFWzHHnNBpPdypMfyOyfoyrgzqKaRXXDTYgPnMEUuuwQvluVpJfbBneaZDAZrzjSERBLpOSbQWNlYolkTkiYQUMAAzlhZnGrFvsFNdFNLynruzK", "hovdPLHQZDEvoJVYhrCXdIHZTrkHaYaMeELnmTqlEDLrohpRdaFCLFaHktCYQgTCviPQCNrvXeEsPIzycGWFGTwLTastiOYkyhPfzQmWsWURppjlGgcowoqLrAiAMeGxAPcSfovRErMKWPWfxTCRQKKLWSYTyFicxuYTTCwidKAMqOvIbBaiZQqJKLXUltAsWCjiQLBqapmlvYZMsSsyqcikoOyRlqafTASzZcEYCJnwKoGqbeLuATkuqJalrFVmXIuROtBWFEwQqcPyiVVAxbankWuXKELeUjPuSFlXViwTJDFTIylGMKKSyIhNNCdsPRyJMpgUpzlZjCLxvxLtUiGpWqoICEFaWLEUvHFydWebbvrBhpulYmXbrfzvjsfuOEHBQAltqOqmrCPmfoMDyIYbOsuPvpSHazDSQjYWAMTgMTlvkURHgsBDXynSBQGVOiUEJyuLnUcrqFuFXofxPPAUgmbYwGwyvmaQhTICLJtjZoDhLeMiLwvaPAoAyXMG", "kUqmHzPmGZpTSRpmUcjJJZwmAUOvjyimFSgYAPHHrtgpaSdrjATdZMYTJRGFrwTjvPkpZZjjkAJzlmVUHvizEVXqTOBeIhPWeWsXVjWzbjftgHYrbiGzJDfXJNHwWqsTAuhNBTdFYlwOBDgxEkcTDDUKcJocphfhSXeNcZHVtXcKQHgruDhExLhbHjtBvznsmzBOLAEclOGZXCnGQQxSvqcSlNcwkXbjzfuxeBfwtbOVPrYXPUjnyosQHlXHBitlkKPyhWfYZBnVXMIkuYqxIeJwgyYCUZGSUGxOZjeQlLNynqqpDtskWJIrpJfgtrVxurYTziSJIjlOztbyPcczaHKwEUkwbpeUDLReYDknnSRXWjGsYKNjIpxIADIruGOlxJIGEggAGZGtFOHMFkSFpuoQCMqpSVxVWymNQSAIXAOwNJueFAWiTpjAIJmaRHJgskNxuPzMnPFwwCHDDsinkkLdptgckCAgtrZlHMRHBnsplECFVHPAKmyUGPMYPdCJ", "ahDRfMDFRzolAFAOnpqeEYOMTLSxyQiuboOiwMaBWfACvqPUkLvlNjHkRIhZUPgnJFgDRNnBddyVMenFMUqomByVZdOCZrwwimxABgnkvzPiGhAUMOyyOjuQCCLNpFKcUegMQYtkrotWNedBUzzEpWlcnyKgiWPbWIwAzQKOyEiNbaKlTNdIiyKYOfVhFTnfMPPnFjfdymdYCGafVbiTpaoTgdHjBWVenMFotqOxHhXHyLsNOroHNPqhuOcKDaSmGetbxyVUFOPWcluBVPRHAtAcYRefDXTMqNgPstPjFcqAfQcbaMztMfkECwqJnkTvACYSWncNugAwlDGBzmPRoIwIVEjCNZKRRZyUpLpJRGwKKfyhdSIczYGKHHwHwGlxHCahJnSSYBewwlISXOXGLlFGBLAjtcRuskoffyQbQdZiiHWbrtOkeZoRcslkIhfyvOkvSzMOycEIiBbJtdAjzfwBfREjLeZGjqilNjyaCMjSnohZBkwLzJelUTAWBrMX", "JcggdxXWoHFjpElSVTqinvdSKDZhiNSvPnzfYWTyTOIGRDyIjrRfrHXwSuMyUzWcOWBWlvJNZNdlLzYWObhJpwVsCkeFkVDlTYmpDJBmIAHKYXBNsHbQZiRefcMaigflwbFdzstecAGsBMWhtpgbgdzjguvshuBIXFwiHgcCYtitLtdUquFZiDICaNZLHYSDZavJsUQCBsmHvcLdyHUyUNPCigBreWYvEFJPLyIZxJhYfOdMMAtWVWRRQnQvlfzVIfLJEsDkzrRdIoPIzyEZXODVYaIFvfcYqEbJJaarULhyQPjpmDxIiHiYhZPsWbCtahPhliHSjkRZPTRqhFTJiTgayXwqHVAoQXpveHzleejSFtwauUTsNxbHwsyEGtpQIeuESjlUkpXwbjrMIawECjxbXPQKSjWaDrAecEjAAdQmyVoUdHSYpjXuBTXiugLfhBDrjDwptZnDpxUGmnUbQeulzzAgqHWlmnpOxyxjQeyCilcjjigByPENEcfJXxdh", "zVrEiFRLSBDAtmgWADpXKtSdhvCWdUQWhEoyotbbStkCvZkfIFoLFvaNuQklIRwoYFmmVAxLZEicdvMYYpCmYOdaJOrSISAnLVdSiqjgZsaRVHCPBhoWjHTGlJFbYkwEjwESGKHuWoIuYapnQMvcjoBChCkJYzjlXyhGRJiUHFvQwvFBYDlspypdnPNjgWcPgJJqyuodMTBPSJPvyPvRHGyXndoDthZoraFNHCrlArrrYPHrJcdefCNuipNuMSbNSzqfCoKyWRxdSjmRGtgvtrLbDirKYrTinoMgcMidDeITIhtddpUkidxmcKkWpSIRQMMWhqIfPjWgfsfSiTXsVFvOMntxmGbsHTUEmdIqgMCTkjjxusDlEHUtPaSBCnoiGHYPYdFrYoPTfVSVteKgcUqYCbBeOgeWrFDOIDrAtqugAiuWmFTdiTjTGwMmdVlCLoPKUlLyPkxIQFKmAPLDBZRrItYORqPJFpYCgsSrPNnPYwdtvCVCUpHhbKpvvGcY", "AXApMPVpNAfgyxjpcfgLSwhyvdaXzlEnKZQafZvhNyXwbaoQDmfdVexvpfMndrUvPWqdmBFAGShgOqfhSseEQDCAmuGkBmqGoalVlsIBSFsBmMYEYWChoKKfdHzSAszKVXEMfSzNDgSATLBwTWUVxkevccHMUQzzIbuMBwMJgExguoTxRWLMmDAtIddaSSLRkgKsFZZcjCymeOrqGIgJJXNQuTcMhmhROQqsYgexBTjoekOMsoGtBlOkpuGVJHHrAFsKclqZBTSsDAzPEjhQIouAvJfKrchHXxNYEPBJSMbfMrbcLcrxNByQDGqezAJeUQtKytbMiGksYdtoCTzEvxcLLaPSJDuPulxXihtNCTofIBewRnlWfmTbWPdrGyIwTmesbXYaoHZxhTrDuNpotOFkmEaKCdJUxuoOhiLepodIjgeDBDPdzdKFKvMRMpBMIwrxARMRtHEUXntHhSYeeRvjsPiLcaXoUXBbzTzMgQknTwEliKtmSooxfgakZvGo", "OuPwxUKobqDWRmUBgrmRydnvVmSwIHgvxlaXfGBOKkIhYkmqZnNRsRriKstLEvIGqQhAizmvRydQdxajAwfNmzifukqeoLUnmrsZXAXGkKIIKWKULZWGrFkgiWVbQEhTwiiCUyOErsnrQWjpiGRyQAlvJeZkSLVBhkIDsowlBLZYWEbXlPkGMtoqzbLQMCWLXzpkJacfipRlbugcOSDWmbyRVnTlJRLVBQZzFPcIXclSeAykvNqzyStMVfeSejCRfQbzRPlXwiSCbiAghkguDjTxXbAyCkKSIeBQvxrCSXjkxUBmGvauQZCMyacqROZPAyDAxpjWXcWiEZWqqRpeWyfGHhOBHkwkbVjKCDHWTVDwVHsQsLePCtvHZkXBbVIBifuTSPxnUXNSuvxCrWAZkmWUbUPpXwmcbczwlkJMPBxOjOFhRFSBnIGrokTqAociGcblSarCTAkgaytlznkicNWvqYJwlpzKyExHEeHWirjocLbfHjAjRQhmUDjIrqjr", "oAdUzuZnYokzTPHiDRBAClgQCRWmtipBUKmgFpvpNfXDoGCwdnzxXsvSLNBBXKTQAVMaqcBgKsTvlNwxqeHrGvsFYyJgJaXMeJJDZgQXrSKCDanoCfrFjovmGNgbzCOneQfVfRioOmbALkdGFUcHcdMpYUDxeqEvbCLPepgwMZrPXLTEvxnmietmhxyTEAibEecBgBUaWttddqYOCQMzJLYofTkCcvAqVDXhoJTPhTGzVVeNKDTRXcYDzfOrFxXLJXzWvgLPWULClNntYTyiGUhQSDggTnOHgWEufNjqnGzidAYrogOqgwgnwZNgtPWoQDjMARQqQhDuSuGVgDXmCzhgfOtNdGKRFvxhdjpXgwNUVFhPsUpLvJDYucvlTgFMbWvxdhPRCrWbpDLGcgDqIhAyPWIAmbnspmlmKrFMHytLwKXmBfnNgezPxlHaYHNYMkLriMqnYeucQxHZFkxLTFwyMOWBeTxXrvATvgjsqAKWfUUrPMYmjThmQjHCsgho", "qZXYqATMbpRSPikfMeUbXWQLsSwQjrRYlHcZSDPBpWWyfPUSIhvpXELcFWVBEAoulfxMnytHDbiiKmVJYyzexSLYBcLenYJCNvDdwuzyhAHmKwvzcnwTUsvHlSWeNcOOVFpokDopnatCpKAbtFFDwBrdHxSQbjDaBqQAZodlNZvRKNuGANuOVSUGZTyXvbRhnzpHzNRDIvyjoSkSUwpNRVExOyaCCZFRRpOOWiihZhJHGuTHjYAudrqaElupqbtBwjcGyocFJikmcjFUixOJdOhjnfpTyRvXVlUfldfTWuMKEqtQpivXSxOgAcYZdpsWEsauPdJhxDoevNxhgUDxceTayLPhmDOHAWqTqDIAKMfSBpNnYoqQUxGvDldvVXaWwSXJWHJmMMWMQgjqJfZoxGXpiBWWwygpjHPlSyzoZSLOlEcgGhadoouVOWJxVGHkmlJdThbZEdjrZUtfTLABIeJgUdysbTDdEReJIhZCiKCqDJpkvTpAoCPuaNvmTvNZ", "IyeurxmILVwIOdDhLvYEafbFPpVGpyibhdobaTyrDwFGVlpMtlzbNxGpFyflnCJFEYKFhhZVCQLEbRGWLpzYdWEnySBNmHtelSabNctkChjwUOgCMSaPeqjnwblrTrFmALNBtnKfMuTzNZBgpwCfKEggusebRnYvurtAlKlqXSWjIyGUKGLTNMpOIKKLdIaupncEZkTxXYXmCBNPyICYvkdugxLWtKxNAUJikJhJaAOhmLuNlwqncdbLHqgNBhZLODCIJnnOHCiByQEEdJSSkWMWKaRzJEZxPAhyjPVltxNevWrlfJwKnYGpLmbNefaOPnrkdTUgQsWUlxpsNFAuhGUHvGGwTRLWfxLzySdNwixlEpXRzPzpPcxHkMCVdneuXVcaNRzJyBDhOwTxOSViofQdYvYfMwymYdfEqtLPSsDIlDAEgdgVkjTMnoTllrmrXUrhODifBSgSPZwYdPXQAfjydQbifoSJpaWPGDgnwRbbQaTcjZCajgkExUwHMRwT", "gssKPIMsJfjwAGSxrMGstwWjMTzJkPoRiIiAYYjcpyfXaXujrSrQkTLzgEyLhgZsBEasnThKwRsrctCgZRooCXognoaUyIwHOXpglOAUpDDUFQvTZaMwxzWXpBIJRIoOvUPwJjlCTjfdWVUWTjJdKUnneoozynvcWRnjCVUoyLPZVIGQPkPCyxTUqFdttGuyfbGJqdOaHFBVgRyHvRYVrlvzttZxFVKFTEstWMqhAsOyPBUYGPJddzEVrxUWMQwFnSWebPUFSiJczRUPXtjCUelgxPrZRRokQtdqNQNWMVBndFrEQewRnsKwdNlYndLvSghbeRQTfxojCwEOGaGDAbpvFQFqbSBdafDDoEFmYbaCZOWxpFvXqrMRCYuzlocgpxRisyXASTWdxyOBvOAgoIZqSthvhbCkZxyEDytxnExjrGzOcdmuxmDBbFftEdGNLZmqfzsmPeOSlxqQTBGVahzpeyxWNtuQzefvugTatyepMwqQDcTUuqlzJvwbFjdI", "UJFmYVJeEMnClYhWOHReRIlzioYHVVhVULAWngTooYIUPoDhAJPKzPTeudPyxcyIpYfPQoYhMNButAzNPNFeOXsIDGBQfQqrqmRVVeBNfYBRfJZoxvnyPRVbTdiPZwmPfwSSXuDcwwbsttassyWEUxqTqDooHIZfFhPZYBphQgCfHzwksasXMFDusOTamJMCDRdvTSiEOeRvWayrYzBzxkkCHXAuPOlStXuABUdirhbnWMlWvBGLkdtpSkXEramjRdDYJplodXaLpFKyKuKZCJkvyxEuDfHZCYOYYbIrUePhJjBcmZsqrjCDZFIDEJiSVHYNjfqgTatBYusdXiRBisUYufHvRpyxkLZAYnIWSXnuXUBtItBOOjlyJFTKgyJKCbIbMiFeQYOmjPkptqHdLGqEEnzjPLDRENxDgrTkHOKXFoxBchpaEnWzEGdhPVQHvtYbMFdcSsXFMaJaoRKYMSNPEgFVbIwXLevjmIKbxmJHtuTefAeoltATcUMGqlEu", "dlZeKihIyGhgrYvRXDULKewVkBukvZXDjHITZNckBklpPtWwZHYSzAFCXiwaMyFQBqrzOJgJknLrBDxyYjlxYjTKPSkcrGqClZynIPpdKtHCiaKvAiulIqsWkFSZLQEwTTLMjVdKpXRsaAgzAMAVCAHsgbJBhfwKIbGsYeeVmqNPMDwCWzXqTOusMIRhdFUfaSzUqqbCyRAhRISZvGTbKMDdQZhXNMviHtvgfFoBhgkiUNCJAJlFvhXBBNEGsdvCTdvoqHOQCjcXLTJCmguJOShZavFFpsyxOxXJzhLFaTrXDKZOmuaqRHCPfkvNJUyLVngxubMUsXIUvfugNZUAQhEpKkimwMxWLUnyumOzuFtnYZrNEdmBLTtiSGwPNDORMRwJtdAiBEUYqbMYnZmtcfGcFZjGzDZhzVZOdwghnyVqUOosWcGQwIHeuxjgCrJzrMnWdrRDlqpfxnHfzJbDPIskrxuzSlhOcghndzlDzUtJUdUWUzYzCgUxFHHwCaCO", "hkxnvGgQXWXPCSUohEpfVWKWgAPrFfsWEnSayPHQIOsaeaovYWYmakEUkXsFuZOrlWjyUDDPJMORTIpzAmciwspyBbzTUrItsEzBeZDZhzPOJiZmNXUiCBhHimcvcmCkvbbArjlNugGtuvKnDHAOQYXzrfGprcjivpBWgFrcSWnjkDuiyCVkkWiSTZrjPBiPjLZlkiwecWOXXZXAsOOQaOQEtfJuiWTSeZEtGUyiqckGRiwzHVqpykRizAdRLdHPtcWAVeFVHepzkXUqgYekxkRAIiiluZcLnlNOTCnlKAHJJvgvYqaaNCLsaUurfIWWHZwbWBOxFSlAFRKclGOVKkwqArjdctDxVsfIGlMgTgBQUCVoHmMdQhVsaHZGSRAlhvmrYPvpzSppvhRKckthNZzlsjJoWUaYpREiwguXxdiIclKmdnxVqtWGJSykECvedHnsqhUEWSFxnnDVRZBRsvHJSuZFOjgHVlRlFcLzsHYHaYnkTPcHoqpekpGlMoDe", "sVzUDwuZEDaSIKdKIiEDRNklXjDAoHOjCDxfzDTIyskPHIjDLdhDZFQcwHFrPFmChBfpbXqYPGQmfxnusXmoKYALaNkRSxDvuzHnAQWkdgoACTNSqHNOGyVipunOeUNCbdcBbCuAzHaekCqAkMSaWVDknbRsWwZCblOUAXbyNzHidWtnsprKyACwnofcLrslstjDPoCygpLGZQkkluPrSpftBkSnwAUkiQrqBALsOZGTmbHSrMKzcYgRJSjxQGOwphxNWosRCHNwfrWkobHjjxyAPadzOQlsCUxpRcyrdKmnEgWPwqppoUNUvfYpfYqTUISWyYuWDbgRYnhWaPPMOEQywUFvoeVNfnSEFpeRcZUwyjqCzxdNCoNIsWpziTepSfxKPnXdloWMqAJOrlGXUkudlZUzrCWqKJupGRnLvCsfrNvoObdBHjrscvDoAPUNtTUoTXcbwYETfJvpsWiaAIHDmNrAjeDdMGXsUrbaeMDgPxFIGXbdnQFWHIoMpjKo", "YMRWwrvlxwCgvGoKTQofZnnKufCMdUNvnUEKkALLVhrgpOSFQTwUXJgYTPngfxQKAOMertcIzzDztbwHSEYJEnAEtATfnDuOXENaaGFZJTEPnwlHnskkdTIqFKgdwdfzXgEynObzlGtyykEFnZXwvSzCCexokzaZPRogNuQZnbubAPhOEKEMPYjgkwSMITlzJHRQIpiilFHjVyTzvYNNMnaMWMBXceyVLeJkDzEXCVmQCNkaubjcIXYiyuOugVLNDIwhbvDVAgCgGOZgTruJoepEWknzbcvuqZhuHSayhIKyQIWTtvzPZBQjpPcZPoTTTRuckGCTkuVjifjgTdsoJWMBerRpbZGoEqGETyMCQZdZHvYktzggALpPDrZFBoHvszwEyqMlOylfniSBrMZYZpxqcFlEJssqgauavrDoxbYfLdWjwwzrjWoRnQMhwxquhoFovOGiEBEHSQkfJhKNpirScGUuQLFtWVmkzEphEEGuaKLGjlapJTnhjAOHeBrS", "BLJIJlkGQqrUzxvqjrkRUfFGWgPgVtzbQmKZNSbvjGIZgSWeQMSWRmIEiWnYzlyDKszBpBOEuQDHwwNKYWBHqIZFyxOZfATVMEtuHgyhGmhttHVAHXXWsHeEzlKgdRCduYfkaAhtCoZqfqlDCmIklgktjKRSCvaoevuaKTWGXJKyDnoBICvFrmUvMoRkpTxKGMYlpHIFMRaTGHcIbWsIKidLArBLcejuUJQzNNGHrhdmfCzfcVtgIYxVSYlzxzbrutmJofxOLioNHfcrpqeUvqVRfdnbreMxjzJbbIJKgQbVXLnihKSFDqFQBfgGGuhqQbHxriidydrqyJOVxsXImxGxhtLYPCWrQgUoFzjazBlqchlwCvFXbiMovYGCXpBaxaGjXYQUEzRLfiejnSkDVvVmyuOABVZZAYRneXCDqdRsdlSWfDwnShZQaFxKqMwGtUwjGRQotOIPHXVFodiuIUbboSIaKeyHmLZoljxQWwISPPzWbaRrCRlPngfsTGjQ", "DDmeyHLrdfFkBVsiHQVhSPppPoxUvHOGYvFTuAAugSkFvRfoZGhYHejXcEDJUesACpyIPWWHAlEdYJpVYlRglbZdUAPgnLtmVNusMagfNZzsahHwJavwWJruNonCNyCVwUbunZqRcsgpatMEIWmhrJpwUprAmOQKAwKNpXQDcvuODBlwrtevMQtmLuppOLpdriyuwnyNXEzurMoCNMxtfulugClmWoNJqxlxUWVpDYXvKKQUbsRoJwJQDRTOWlZdpuOccCszeHiEYgYKyaZSoHiiCojRZdmILxDQLGXtHdTXVRCdRkElPgaYfKQvrbUvZxqJLYblyfudRfjHZraXYHmEVyyMNTSLmINpTbZnMSjZZmAGlCjhCOQYXNFEYeQDmebSOeKnIFdESCjnEAgzTPrmHXpxXFHgfLaGvGVeDDRbgAGRpaRSuqFLlVQZvnufxnrmFFqXqUzSpbeTKjIVQIZBKeAtvLqTtpOIPoxuXxNeXnqgWNmxSKKUfUfVhkbe", "aiUaAflSnTKSWMsGwxSaGTITRVQscTJUBTGBlBnYbTeJxRahYVklqzECZszaGErHyHPNoZVGLKGKRSOOLjawfCiTLADgqbwyJiINPQBTLokcapEKVeaOSjHhnzKsgqarjOQKEfeYNhbpNcgWUMwvvgWVHbEuytqXqenXqxoeoCqZNMyUCYgLBPJlDWfbVAdrFoahRbGXynAGcrLFIZcqHpYkAkuFMulIQiVVAgmodHiOjuNTylHcgDNTHIdfCyLwAMsAeFbVkmWFpzPcJGpbaWalQmuFOHoyeYaSXXcsuMnipBiFpiEYrxjCeGgEQNjQATcXaypfniXSvTqCErStoOWyejaSrfsqPcBtojIzMlGuQiEXWZwlYcjfNJJsZXUGuGhbazgWumGYQCynUGqZcMuLvqTDOKtzlksjjANRIQeTiGoZIXkiThtRYhOKGFnevkCOulrZaCyxaSWarxbLqOkTmlCbGPuzqAcqlmhjkfrKBjxBolOqMbzPZhCJCFMG", "DXPuItiXrMIGxoaKXzjGMcgHycVszXenfOYqGIYJtIRoRkYwkCjRNMRQZSpgrwHtFGIWirfQsUbgQpeIAJBITgwkDaoDjeAvoQCIEVVhORAKTTuyOcWazivzYsfcsAIlEHdfWBPtXOXSZHgwLLdGUtSLAiOgzZEOjPZQPUlDwxsGoFljcyHJJSlyRVcrSsewcnnbgvfZefvfaBsUOmdJLuJRgAQhDHIWpQfGfBUciLoEncGCKKNwjDEjyVSoUCtyZIksIwgUoTUffAFQTOAstPRXalDXXpbrqCKURjVKqcfHDmNgfxJBplWhHOAQMaeOrOcqPQPPAQtaVqHifZnendcOfYDAzejsKePSYEYfVJrscvTCPtQXpPMVpebsPTFffnNxvBJSaDXZGTtFCgVvxrVZjcEWtGZsRudkejajKCNgTwERTjSTgdibMEVmhHYhuFwcGrkLWwJnRqvyfThHJETDThuhAKZoPvQiYmDwBMybTeWyWNIMdfbHJduHNHYp", "CfcacyIZuIMhIYwzFYlTojVshXqifGtJEAmKlwPrGZJndgKGKymiikjQmkwsmLlcMmVkzUHyNjLtzpDDKwColmDdmoYDYILLIJXoczwVSjMbkXofikyljJhGuzEQuRJgZoOlsnVyCWQElKpwBSFIDxyrfUwwwgJHFhVMmVufftBuzuJSeWHlChlfsgfqHVrNdgvVOATjyWRIqGFiOSMgdSXDBFiGOYXdhAsZOgwimTCGuCJSYURIxbxOlFaMVinGsxhyrFAjDIhFPcKeDdCjEuZVmcnzTSYlAvHxsSALOlmumEkdHwocIBDaXDYMYRcGnYHHLluhHquaPOxlfwxGyjkNijvTonXRVeJcdflrvNumqaAhmlafPIALCrDthbnuAjCxnMITnliuzVSXxKiPzMEkYYsAIDJxnotCeWdsSTvnoLCTcLfuVUHnvaTeotIWBeezYbWwWBqXQPujbbIfkGzvBbyJEgPZSCjRaVEAVCzrDqftZmihNdgfjXmeaeFT"],"c_smallint":23264,"c_largeint":4368994936583181920,"c_double":83.08683017200205,"c_decimal":96.0921,"c_string":"mKuEpchiwKyVKpfBGKLomRZIOMLDkLATnMSYUnyVaYgshoDwjZcxGnzcGNvwBGWUyfqSrIuAIRNpxKQpnSGYstpiraXYptItkGUVEHPtKUDmftOgCxHrdTFwUmdRseMfRUrGkpjnfFVMwjavoffBDPVOlgplFLfFyDhGNsFvdnalLtLanLFBfHcwSZWnllxeFONsGWKPMQFckABWZuXwvzrBEfwZVHjnqyFcWTkjvPYpkcQtguVafaPKPURDmzSMWtMBUDGheJnRbABIdKSufkRSjdYEosYzlQkoynfvguPkfJPFpHUQwowSHjWjZoGIYTSjyYsNqHADdmdUDpQIgbPQrPIJNtOLBiyFKwOQEeNJaygAJTbmrdZTYKppiWHMsqZBuuYYpFrDzkPcyXWvlVMUtefYyUFYgjOCXlgNMYyoNRoheTgaaKlrilzfyARQHIkepFErhKfffHqPSPrnjVJfqOauEsmrKYaFLVuoySTYbVZPEjQkLYpNTTpsJRnF","c_map_float":{"c_map_float_1":36.06805, "c_map_float_2":29.422026, "c_map_float_3":36.59776, "c_map_float_4":17.492266, "c_map_float_5":85.098595, "c_map_float_6":89.60186, "c_map_float_7":59.120975, "c_map_float_8":89.19006, "c_map_float_9":84.97342, "c_map_float_10":62.21715},"c_map_char":{"c_map_char_1":"ndpXZVgjsE", "c_map_char_2":"XoVoaqbTgN", "c_map_char_3":"MQoyLJPARR", "c_map_char_4":"csiaMuOjNg", "c_map_char_5":"EfOqUAajjY", "c_map_char_6":"oZuuIMgpie", "c_map_char_7":"CjJewllHRC", "c_map_char_8":"ekuQboyLza", "c_map_char_9":"PxpmHKdMRD", "c_map_char_10":"rTlwrczwWW"},"c_map_datetime":{"c_map_datetime_1":"2015-04-17 16:11:18", "c_map_datetime_2":"2011-06-20 10:50:02", "c_map_datetime_3":"2003-05-06 19:44:14", "c_map_datetime_4":"2007-04-23 09:39:15", "c_map_datetime_5":"2017-07-23 14:40:28", "c_map_datetime_6":"2016-05-04 04:34:22", "c_map_datetime_7":"2012-03-14 12:03:34", "c_map_datetime_8":"2003-04-19 11:52:31", "c_map_datetime_9":"2019-03-07 22:45:31", "c_map_datetime_10":"2005-05-11 17:54:04"},"c_array_int":[-965367099, -1449242585, 877640485, 101583119, -1390742467, -760587768, 30707830, 1691822082, 1086325739, -111236027, 2000069419, -688380151, -1209432660, -1396827739, -1612310818, -525408933, -625046493, -1655200476, 619841684, 328428858, 512076920, 270196105, 358492415, -503151869, -718998818],"c_array_largeint":[8128952078527938080, -4434814814007841126, -2279296157605058727, 452960452417520755, -6622935726353789665, 5795249345407045758, -4313447006333103675, -6137050960230663161, 6111231273654097607, 2089761080263846291, -887415046430868831, 805711434593774160, -6554513363393139332, -8438034255318012200, 3386848548547951215, 2775716325757267560, -5146229397812630498, 5501515778059568846, -741140244830554124, 5576971175373166420, -4652501057401557666, -6870596441303667764, 5032855800290686445, 9167847656021650976, -1358168001380697706],"c_array_char":["OpgwDyFcJv", "gtYdghekBY", "AYfgOQWUWr", "hTjnLYjbis", "NTIqizUHHz", "xMmkcenMEA", "xOlnQbOIxR", "ZgPOmHwoDU", "bQlTfAmHIe", "ATBbQCmyoK", "mjbIjdnMfq", "uEOQyNxiST", "tHxRBGCqiJ", "mscHRpcwad", "XNsaqpFVkO", "oSUermAQvV", "xtESZBLhRX", "tdpviASpUe", "pDiEVjlswS", "HsnWNPFlhF", "SQsTQecSVO", "zIuWyxSIdk", "aFHsLAiZWh", "AzqboJZbaX", "uvlRTAbRME"],"c_array_date":["2016-05-03", "2001-07-08", "2016-11-03", "2019-02-13", "2008-08-24", "2018-09-25", "2000-06-05", "2018-11-16", "2011-06-11", "2011-01-04", "2016-03-11", "2002-01-01", "2008-06-28", "2007-09-13", "2003-10-20", "2018-01-22", "2019-06-07", "2013-06-22", "2002-12-12", "2008-04-01", "2001-01-23", "2017-05-14", "2008-08-16", "2005-01-08", "2011-07-03"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_json":{"minecraftmobpassive":"skeleton horse","firefoxuseragent":"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_7_0 rv:5.0) Gecko/1984-01-08 Firefox/35.0","dessert":"Dirt cups for kids","minecraftwood":"birch","verbintransitive":"smell","errorhttpclient":{},"zip":"13768","domainsuffix":"org","minecraftarmorpart":"helmet","connectivetime":"here","currency":{"short":"JPY","long":"Japan Yen"}} }','{ "c_int":1261442480,"c_datetime":"2001-02-25 15:50:25","c_array_bigint":[-9069238110374585445, 6402813710715919089, 7449633530428475370, 1351316150245116255, -8839890451913880517, 1847717299834060398, -8030668280452365249, -4395132627906964245, 3944117529974864987, -6387450154583058455, -3620817145913029548, -8422720106243788579, 6320479095889139962, -8075806476739591753, 5959856336462637537, -7052031190882204232, 6143880707659241693, -672282733816608821, 8325983632254503183, 1138732636374020110, -1429305957197955918, -2272351787518077690, 1722983949709126795, -3748148655025414911, 1328942171894645526],"c_array_char":["ILbBmmYFSN", "QOrkvfKnyW", "fcAklQXoKu", "cxzmdNlyhQ", "XAvzTaopBd", "WxdzAOJSca", "weREyuxjlc", "eYZNLDNJPd", "JVuOwVfdVC", "WKiSthmjDA", "QKtNHtmvBj", "aOLzYQOSQB", "lRJehnRPpP", "lWWEIwejfO", "gXBRZGjuuC", "VGuWVlWrTj", "CrRBOypNyJ", "qnCUUbmrRy", "iEkmxtxUjD", "XJeQofQExD", "OmjsQzstVK", "xmpaTnFkFQ", "XPljpiGQaw", "SImDNLAOOv", "bQXmzdMaUM"],"c_array_varchar":["CdYaCJjkZSwLMNRpwXhxALiPLSTpqmKILVEoqJYmRNBptDACCwLChmDWqQkKjMpEarSdYxIhSMpahiRUNeBETsMdwzJwVAkaYbCqvTNhQZCbtYQQlqzVMXvpKYJaQJTRcGIJwbHcTmjFAzsXfQxHPVqiFJYtyvbULtunGfhrBxgjzHOOjsVJkVkMalJflYHewDbkaPqLUMmiqVypxlfSNReOGzdWRCWheOkssxvfswBbfrQbxtFESdFszsrsApfY", "geZLAcEpCVQTGdeWzHXvZeiMRUViQHrClFwvVImVlUAqmGMDhYmMNiIYWlFABYmpWeppfcYsujjLncwvlNludefdLvxpDzMKjmsdVZXuNptxRJWpIOfLvPruoxMiyVenUWaYfiAaiorlPOtnzFTPLUhBdmwqeuRwpLasKRKoZxSVFMaBqJkXWyKHUfIxtUpocLySAjvDfOJDyjdudZlALVOhkRMFzoOpxBHgntgnazqEBfRzqwcBFAcatmXGYsCe", "yoxApBEvNXOAkUPxQdCJsYgiCIuQJPRtJSlXRSqBqFAXxTAiKfmXPjFkGLtyXEMWahOMfJTrXLWVKorpzWQZDflnnjqVmNxbCseQJPsgiUVJKlUnMDQLBGQAjUoLwniGgyRlSPSTZluVsLjVgjYqFMPFpFSnSTjZppuFMLJNAOtnfaKjODbJDDlQBzAtstDhESXDymOrWsOapotYrMbkrSnuMYoSigEZpoCJklYBYhNHJcfhALEKenlJDHaiBrWn", "CVsAEZQllRDKZLpWBkuxcKNMxGXJhgmfkwOmcguWSzwzpDnYQqRELfxKUQuwuXrjaCgcXDdZhzxBrEloiQxvYyqOWTXdkPnMOgxPupneQVAZPTzrZiZxgZohwELRQNfGqeFsPWboYVzFlsQVdekraDFmaKmwDhHMFQeFVmNsDgaOpFjJiUJwlvhbHxKVCsAUKBpAqmoumKTTCSHOAQtgOmNrPPBdClgGvutlTvffMdfgtWEZJNzwdyPexOQrsVxX", "PAGmXJNkmfsNNBLhqzjecpFjxxVylfVPUPwCoQCqNltchuYxJZXVuRhVuCxMDOTUAHDtfCWibdScqAwQxkkOXPLoYsuJtwUIKmVvHRbWMaxCZkSlmCzUjUdtyinnUFvldPAzTrPJbsTSgoQgARRyUHQRBdNZwSRPesphQkpuwHQZyKXwduEFKoysPqDEceTQSrrElvuibuBbHnWuemzZLrgIfMHJfJuYThjGTbTpzqJxzzzsFNFPaMKNjQaGZuvY", "JhWjWgwibVximXhstbCOaLgQJYhGhjLBrbXbzIUjZJtVSFTcmtFgQSwcKLrCMvsPhmNFTOtYgtfZfaXlgXiIepDRiWNeKKWDYFzhEwRNCudVozEQSYbpovmUZLyrGWJideQNdycZkoLWdGKlMTPJspPodiCdwOYtydJwnePJrQEXbaFKlUNPyKtHnhhBsFIMPfbuNTckfbcOmvVpWFUxtCkwqcaSBvrzeiSDJpOETTKXVLShFAkdEGGFIRSbviFk", "xEZyYeAEETnTApTEQofNNhLFxZTyRpccZtqzkgZwBnvtBMSfuDKWMwyrKJIKtWZKoLpDGfXNCGufsSQPhzFbuWBPuJApzhjrkZBjVMJMkIkwFxThjrpiGTkwmvPXdfyYUbJqpRaTuDmexfYhJYjTUnyYUqgwTVfyqoYVTvTvpdVNsMsFiBDlEoIIAuqORoiNJuNBvpfNLVyhNKLDDyObjLhFSykaUjhumvpPfDmtLaTMxRtzqCrxzDTCSrBYTIYJ", "lAmuoVIupsXgsyYEPLyKAqGPFchaNgQHYxjDuaBZwjHIRYfcBIWTltVyeIrmuBNmiuUDxhwQVyBDTWEBLrrMunEGStouwXaiLwcQyDBWWBGYYyrbhCwuBSFiBcpwnvpVuwPNQijwKaSIvJspqdUVsmHKnvopgTTndrBzFrftVdIJtVCfIWRlEHRQmMMdvYEDBjqOgprBmygIVLxMEiLlfTrGMfvobXsutnStZYqFrtMHtdpbwnQHQzGTWvGsZhoz", "TmfdovVkOLqmQohtVDdGIOFpHhHSQcfoARWXPKNCPsIiLvSEmVvHEvhPGONCnwHJCmaDAyEjjDGYPHmWLfFftqsRpyWatEOoybjjbkogRJuIejlpldqkYbcaRxFOISumbTizcEHkQklygzKlwInYjciZZXnxETWKkIlInEfpTxbkfirtgyHcVNbAIHoLIUiTWHyHEFUOLNmrkFTMXqSFAoBOCTFGvvdbIqPyPqmdwZSOQyOzZGufSsJXEqXnnZWx", "sFumILmnhhQMyDAdsndxAKMQEVPWnnatbnSJAIcflkfUjjECtlokxrZatAaIqdRKRgSaKygawjVclfSlyAUiHAinXnjeanBDKcoFOWmaSKycCAxRklYzfiiSZuHAwmOFCEhBngMdnBUsCeaMUkiYwDcBrYbHtNsQPdKAMjCvTweufgoGhmHvWmgVrphbRZaxcCxkpapeElSlOjvmgUSXyNklMSmvDbuzehSwbHFhSAoPRDWVmhKcFiFOypurxySd", "YvrNxoOOgpSuhBbmnlnAmpSpDLCUDSATmjBpIrkTxbByxkxSCJSoqMNSmVMHTozvOrHXjqrdLwBvqpVYOybYnPQYhshgKYGtGiaPzqIvthJnKdepCCgcJqjUBkkjiquLGSHdhATBzBryNJJePzJLZDaxCgujwNsjjIeNBdHXYMojjHkEjBPeIBLOZSQcyRmPIONTSNwSljIFhGaGKJJlfthmzmmMRSNhhFFfifKVesZXAKsXChYiXdgqQCIzytDc", "FKiBXsTLnfJbWMwAduRHAwKRNlalvQRmHOAhqRUXuHmrDkZgZfBxbcznUSMaQMfgudickSKCJOefOejJQwKSInmGnSzCqzwgJKfrGCxHsfAOTcGvXRukjxBgSJHpLVCeQUrWWeSdMBTyUIrsOTdAstXvoDlHwgIoLsdcHXvcdihSjAAuwvUNaZiHEWnXKEeXBCfQldvTeJcWBiHXolPWnjrMwOegwQDwGFBfngpBSpckVWYSqzKXjQYKtiluWOpb", "LZgdvRwqYDDXgDZDZYxIXCfqzGPblyEfEbbWodjBBeKCYznNydbiScuauNjTLEvfiemAavHMAdIxbuRLChDEAioVCSQqfpTmHaSgoVlSZRVPKoStvMKKWnxWFmnKxDVtGvvKQKaFxOShIQCNUvtuFtariqCyApBZvOQFINFKwkQbGCthECQKnrYuBgeMdygnLqivLgQIUUkSqVDyKkvNNDbbIiAJyqIUsynnuCfzCZUEcEwfmbaszmqgUTTysDXC", "lEEOlWqGcMYTpupHDaUrsoduHcfJLMqIVkXgvxCXVVEuhAEzramVALpSvNNKQimzQUUcRvMVQAomoghSlIspPkVqOpnWHBpAOqsNgEVCdWicRHrSPFIcdxTWytfFgTaSbTsmoSRyNhPrIfIHEZChecXGDqRIEvRZndyPHHHljeIrmghldZilJfjXHICDdWvTHHLiGxUPkPNweMiFsemfyUJMchFtBgQpfEaACVJcEHucVfHGpFuSKPceoqABkLaX", "HDKzcvAfqFKlQCezrSGEJTGnOnJNEKWPtNyrmUkARpcucRvBkDPpnPhntVxOLMHGopagfDRRmmrjPomzljqEJLMahyjkIYQPDnnFjxTVlOwGPIUdYtRAhfADnvDQTGElSHCtUSIlPAcjJUwehqIDMLlTmgdAdkstSVmnxuPZVjYQcWmbuqRLBwEEcFzBZxQpBFZcwIVOtCvJrYSGmYBAklCEpFrimTrRYOpCKqIkfDxVuMjnBRHMaBQVDZesrDLX", "yRCYVEUSczrtXlwRzmmBOFqrANMtsycPihUACkiNftUDphgglscRJHJicejFhmpgtMbBSzETauyVaHtNyPPbKptyKuvHqxXrnqTHdkNDiojREVcYeGlCDgCICxUULcVdTohzkvhrQdCgauSYxJPYNdjQmdpzhJqSEuveSpThmMJlEovVEXmUavCJcbgJQWORixOcghrZDclnvYwOnSKIsQrZduOIABKaxAVRnuwxBNagapKQoFzjWpFXNzwJcdxi", "jquWCmgkQSGdzQfdgmrdiDAuqEXYGwhgoEQqguxfHkBOeKHiOMywhldJGWSPLEPhTxoLRHhFJFKhdtmJEbUrDmcTMTlyQcWUAQJmMqvekwJqzwVCMNWVOVgCZZvQrMQZItjoHpafdRtwbctHpyEDqobrNtQYrsICrKqbeFJgULiBeBPBLnUAXscEbJHvaVnKkNmQkwYPxibXVqqyBCPIzkuPwksjgclcXFijMIMvEiPhIOrakGfioSCbtRtlbkjH", "JSylhSSOPwMapKcTYGPXcuicESxqHqsbIysIcHXPEdfPVqCqHsaWzFiwQhLqqhFqeXqnKZcWKXZehXjMKMqHidlyKLaFlvrjmoRmysLkEoGopBcFhOmfGWpXVKJUbHrgnGqauFrvLCnoJtKUAROVkltngfXocYVptZPhlvwgjYUXbajvqHBnvVMjIBSsgzEpdPOEBFFiHzJtYYjNeAqxmkwJiJTccgePLHywlMMvGuCqAvgvcQSmiEtYBLcOxZwB", "AJMGObaJcOczMiYfXagyCcVHFesXPQyNYVcqXSQZpKyYdwSQTYWjbOhDvPZOcSczKsMrhnDDhESuIJQyhyPqnBDWrRxfqlDRUVUhHwHyICtfReyqKtaQSQWZaWpeeUgZglrEhbCEZJsequmbRBQOCCXZFjGGSJBiIEdskbkJWetCUCKrnkcaxRasUIxrWEriYExAqDLLubQBpsFkfjmyoocPenvVwYmPAwEfoJXJyfJWefUBbceSOqPMMruOqwqF", "zZccQbNRNxTAMfHOxxGdEvcsarLLikFVfdYgYJoAQdTTItrnUYkQdAnfTrsHQSyNFKndeGXcvSrRTGUAqPPPHpTbjrfnrihKLMUlwtzwijpnEYErtwFYdWzUoLWLCFgoLkcgndFXQjUlkzpqDFKVyAtwBnwGphBIDwgLRsiPfjxuuBsTYgZUSmbqZEwKVaRleycsOIgcIRQtTnqAYiutNWIftjpMGInCMotsCuVWDYNKitpTjaHoEFKmXQejHdMZ", "vIcALxQLVbfXQHPiIHHCodaftTmvrkwRChJeGpDgjcZxqGiSgpFehkMyLZYbfmEzEhxTRalTJYqBwABaQEHOUnyxEduHVWZymNLmnjIRFnFTZuEeAZBSBLuMixvewlFTCYzjAaMUfWlWjNkpFzLSOZeaCnMDzwBHCgiUGyedRgeaYJovKKdvVnuukPELRXjJHVZQJGSIdwmJHLQQtizOehsUDLqlStaiGXGXEHOJoiaoAhTpeEAEDqYjZAWlTBfG", "DncVsJfpzIfzpFvymXKphtqlqgUdhGIWUWNWPYPzFTGkDWAiWzVfgfkWbKsLSGAJJYFgpyNBsuUCVvBqppQGPHfqoiZZbvQYfgabvHgpyLIizhIawTJZHrbuGaqtEhauGwqdlxKDlpQOwHqDKMPFNITPfUvOuXEQLtfOIrOwkoteZNhnqDcmwYSThBMKYKqJoPBYVHAHcQZeIEErjmzqrhcRkIzKnQiBMXzYDapIEoFIugQgXBhZnPkBnmSqSAtJ", "xaGeNWxRiWxwNYXeSQhhohaUwHtbXxweWMIcnmnCvFHVKtfGbUbpebNYSbJGjzdLHStoeJlGlbkqypIelxsvsstjcTpWZKCXBgZbbuVirxhIXlfxkJakyRUMMxHvEVpzeHYQTopMBFZnrDUqKOyFxaDZShJkofxNrMVAFuVhOvRgCvOJtyLJDBPcnshLnLnMJNvAzuKtDuNZrGvRInPEEmwKYqGAvOHdwlvmJlUcUPMAVITgKyExtGZUAncQIjob", "HeLJtBATMxkDHzDgXTsLSjXmexsKFWUKjCPWMxGBEcBrTTubsCrDrfIMxTqWfLMQUYnKSxZnbojHmkyQXXdtcDXhZpovJynjACVjqQbhKxFwJLSDShkJNxNIFOTjSPDEvEJqcpFZhHtMJbVTPdCzgoqDhDumFkcwEfmXnkptJJQgaNniRbgwSFyXsBjUfBaOLfnQnoZICFqjilxfzHFbXlEcTzHKGbDNIfSyQlyjLzSeogEJkyKNJKnSrzjHPJef", "NvEovibmNzJCuJEgqYhalgenljOIqTCRgrlUrJCztAVnldxdtXfyvHKwNlYUZhknkNjHqMibpnccnXYQkZAeFYeGuroQpmfCTWlgSXEbIpWrVvesVfhvkAaNoeoZafeZtoLImNfMTFxoEwNZHsMbYwVdoGZXFEzGTWMEMEksArhNJOjgqEMpeEYbEdpVZsoQJXVecxjYEurPnYpaLeSlnkvYiOOkeiZBTwEbOvaCOAWTyvEOmjBTnsLmowsDBIhh"],"c_array_date":["2016-03-11", "2009-07-02", "2018-11-22", "2006-07-02", "2008-12-15", "2010-10-12", "2002-03-24", "2006-11-22", "2012-08-25", "2017-09-04", "2012-12-03", "2008-09-02", "2004-09-23", "2008-07-17", "2016-11-06", "2015-08-24", "2009-06-27", "2019-03-02", "2009-09-22", "2010-05-11", "2016-03-08", "2006-08-17", "2012-09-03", "2010-06-17", "2006-01-16"],"c_map_decimal":{"c_map_decimal_1":93.0671, "c_map_decimal_2":12.1806, "c_map_decimal_3":51.1331, "c_map_decimal_4":35.1268, "c_map_decimal_5":28.0338, "c_map_decimal_6":64.0275, "c_map_decimal_7":55.1918, "c_map_decimal_8":0.1450, "c_map_decimal_9":96.1165, "c_map_decimal_10":75.1133},"c_smallint":20504,"c_map_double":{"c_map_double_1":92.77754023010102, "c_map_double_2":93.87076493531234, "c_map_double_3":51.708917247207246, "c_map_double_4":59.95648404201076, "c_map_double_5":75.70289181607755, "c_map_double_6":71.68716578604648, "c_map_double_7":70.27116431143288, "c_map_double_8":15.16259473286336, "c_map_double_9":28.711371380712038, "c_map_double_10":29.277269494482994},"c_char":"aCTBISFVXV","c_array_ipv4":["JWTnJKzUPW", "jGZcwnBGHP", "HWkFunqPAC", "VUOIOOKKXy", "nEMwloUMhb", "ehFMMnggcM", "YVFXtTWgLb", "RmODhSTOqB", "rXKMUFkMSL", "WYVOifjkyG", "gIOcvEXoZT", "SUDjqSvhhG", "HdmSLZPnOr", "cUWWWkJQWm", "YXZFhSIaXF", "LClzXPWAAK", "jxbPyuaNHD", "eCvefMaeJN", "vsluJaEWjK", "FruJdqCAMn", "kDUKeliUNV", "hUSwndbUgr", "JtNVdicdBa", "arHXHuIYUI", "qiAeevCLIH"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_float":87.965034,"c_array_boolean":[1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0],"c_array_datetime":["2004-07-18 10:19:07", "2017-02-10 04:32:33", "2011-06-02 14:21:26", "2011-10-10 12:58:32", "2009-02-23 21:29:08", "2018-05-09 15:35:02", "2007-08-05 04:04:12", "2007-01-10 22:43:01", "2017-10-03 18:19:40", "2002-06-21 12:22:26", "2014-02-19 02:24:45", "2001-05-21 07:57:24", "2011-11-27 05:15:54", "2006-06-20 12:58:52", "2015-06-12 07:39:03", "2018-06-22 00:13:29", "2008-04-25 15:00:43", "2018-01-06 05:40:32", "2003-03-14 05:46:13", "2012-02-23 02:33:02", "2012-01-14 08:34:36", "2001-10-28 04:24:03", "2010-06-26 19:08:44", "2006-10-27 03:49:36", "2005-02-27 05:24:26"],"c_map_string":{"c_map_string_1":"bqErJnfHCiSioARaVpwrJUTpayPGpgYCpbHHtHwRsREIjSlSjzbaOgTZGKIslAEZcnEBfkrPERHMEdowXcYehpQyKWpWLvXXzThitguIXTQqEwOFQZEPotRctkEJJLRIlQSPCAhxDtCetvQYVrhTQoDCwaRVvsRKzrCpHQxFFvzmlFfVfwXVdOxuyNfgXZqtKNrsFHXrrNbvHbYSTVdBBjQvhsOLUJWRHGUQPrKivHOGfJWtbqztVRwJkJuityjalmgcAKJcpgUhzQQMWRcrtoVvVuGgxfzCKVluapDLimxvozrpybbMyhRNEOxjhjGGQhPsWyihncbwhYqkMmuuQYZGKPdXmfzKzgwRcaVIgkAvZeUAeFcpCCFkdCGPawzvRbDHwqkAxIKKVWxVmNDtoZwafgGiYnVfJFGrglQElmeXOIpJeuTgLAEdAdNACGxJIxehecSFnrKDaAThwGxulyaBCPbagXlzoIMLzteNiIQQGkWmYTqaxVmKXicvGzjV", "c_map_string_2":"xBIageqppdsgKlBKkrAEmXojbhjuROlYahmqbpYYSUhVvdnzvdrYfSyyrDaPLdzwAZVeGexPAVCyHSRiRjXvOScUCTvrZENyjpeZUjMhlotNUrBwtXAeJliGqBpJOaDgELFaOvYHKfhMtIYoktNDCcgQxyKNZGnUyveWGsfwyFEXmVtgaxRHIbQaNSMjOkXkLWzslzptzVtDBeZXrLFHfgxXvssixovrtgGqsOVqnyNNDXhFGIwzMdriISRcxVTYOKFlaAwcTlqlOxAZwuZenIjLQtrKtvjaRdzhnruzPLlTAZkeCAYdybcwWxVcikSmUEeDPdyjSaZncNYzkopIarvIdZLBfMhhaiFLcnYLCIVbmootWxdhHBhNpVakqkzSJxudPzsZByzcbgFySQWmKDHAzTBNTHDCeJsBvNcZAtbVbqPYqpWEOfLanpgeFtMCTdMKIEuHBgfJohAcPeHAsGzujvKBFewYTLkIThVekmVWYhFwrQWegYHgdugVwADI", "c_map_string_3":"YeaMenqooakhOvfaDvtnGDETZoADFJDlPzIVswYEUkKpjKQtSGrKuIGJjMhWvWoUDAXxgOdusfWwtbsJCbGtQugaMJRsnPjdlLiDfVWHtoCFBTKOWTEcvTnPbeFWkgtzgbIIGbAHjmzFyIffmgtTCOgGiFaDNTnFSYiUvoJjgpCIxIobkUuzmofQxrwqJjOUpgvlyJAInJHOmZFPcaapFHJhDdvDJfkJcRULRySvXaMFvQZSgedIuOLRGcRVmBATbbPaWiwGhGVkdhXtfbhqjYQSIKWPQMjbwOrTXDZpQdgvCrqnCuVQsWTzNslKLLtFSrXKefXSIyDcHIiQNFsYKiKiQPMSaPLHMfRSGjbkkyuWsRMuyKmdRhlvjiIwgcxEcGangdkPOOSILJtMACyPEtyAlyAIDEIPTwRmOkeydbCWUgnyOIWMZyivQQNiRsQFLYaNpHACzOUYXqkRSZDVhmiulJxrDZGnkivhawcIrRyXzWURHTyVQhOUXaGYAeJb", "c_map_string_4":"zYOnqEquZxwlgiInAzuseFbUUKNJHemoafaTdWOsIFFUcSibMdHytoftWbtamdLPkWoPDiXoXHvCePTbHOjUXOXKNcCZQvvVHlcUkWskoUJLgladHQfVRQCDomjhWtyamOqORmCEDpbyulBxruIHSUVoCECaITmqttFlFTMmQnbkwXpplNyspwfPzAmGVAsGsOkDhGbOJzwIeakiGtgaSYfxIckdshtBgiKUomPNGknIyKEaYFaKrruOvjOjXWZLrpjLqxBwnuOfEBKtXXtAuvGEAdfFsXxNVuuQOVNoLwpcPqLXMcmrnweUnktXdexrpMWymLhrrEADMtNhiwyHhjWryOuTsgjsypAiIgjnyFEpPsASgOuzEWSxLfdqqFulseiqHpBopKTNIsYwoXkHyKAedsugMBEhPgMGEahgIrteAqFWkjkLagmlHVOgEqRrAOZqkYBovfaMNdtucGyoKZexvSzgGRINIBWubDqECyjfVHgdzrDqozcYqCHKQSSn", "c_map_string_5":"zpmAAuyjBIGIbcniQtghuLaTyjjlHelnkfOptQJEIskvpTsauxUvOrmzjbMQprSfVSFVNpBwDHYCjvkCecdywvVnVRjusHhJOcwPSBTWxGnivCCLHqKUlwjUkvwKVjANfGmerkAdWABhgvBJMTXHaMyZITXnnYxcuSzHlXEVLfqKDoergMOCHYPrQxcZuSVFuIMANYmYyMgumcLnWXlsCpAtsSNXZzuiCtzGjMlaXUktsdnrUUxtOnVgvYZQrQvXMBWrFxaHbNhNheHMKzEvVMMyHOZfsnLzBkolbBpULepUznxmTNRaOECxbfINrtRKsXmmZqhgmLoLVEMAcpcFFQTFEpVMCurtLlodTGxUCbNwpJNkaGFrumKOvwvQXotrTqGRLAUHBOoLniHVLOPVDVKMfGxATMLuFweojtUCuCWPIzYCoWgEAbtXyILcNeSrDMLPEyTUkMIsdQAhMMuRjJcCDKsdAIHcJDMstsNehLEUxgtbyiuaKBvwXHvGyqJv", "c_map_string_6":"ALNVxsYWyWNvdHqXzssXLiYpyehsjPMDtbnFCgPLiFufyqNqOgqowqtyQkbsgYFspiMZubyaOwskgtBNuZPTSxiFcFhfdAxGTtbSqNCXtuIsJKuqswZGdXxiuxfhkkGEUjOZZkcvxusZURjEKKEqyJPkDOGwPKlGgwSYzdenwnYMpOFLrNaDRfzMwvLHTWmmFSpvLTnfhcVMljZzYFvqczMJjSPPVkvncDZyAkXzooIwqktRQIjiyANfzWvNLqaQtkuNCWnAatubvAhBhejFiDhAbPTOQIjmANZXVGybfQBVFVdjUiuIPqfodffQQyqrulfvviExAYERIkMguuecrBzAsfHErRfvqSnizpXrbpXgJCkavetLtkpELNCWzhfnIWrGPkczRcCnqFktySzBQIfahtlIpFlSvZyHoMiVgEOYRptSiQJrWXNBuwwuEtuRjYyNxHDhAeuxqEyscZSOLavkqvjUJQzRcQpoACNulhFdYpqEMYgRYMnnrHgvRsDJ", "c_map_string_7":"mepMwMCQVgfFQSBPncWIPJkpPrTglRBrxOCYoHQrqSXALCFUDcrbvuSdZKPjZeMjRTWUVKZfuTWCsHGtAnUsdfgKUKzVWZFsNyHYnYIpsMVItXBujfBOMIAiNzVMOlcasemzAMSLfKCQovhKxQCLBnjjkjuDAAScxJgQiPMYyllymucbWGgKkEXusuREJtRZSMGofZcdUoKLLnvPmGpunnGJkDSmhjrygKfRlpSccpcELPOiMuucXNzTHqWfBmaJAjfxuvqRzUMjzJnkXAtMsGMrrCTpMHNbNqUOdWZgHsBeeaEZzvrFwdXnXZATCUbMOGEaeacNRrCAvVVfQvltaiOwNyhgJWvMmzwHkFjahNbqdUAmqXmBtmgpUmlWrwcGRIwJTvHvpUgyJIpxYSWUKTWtxmGagXHbmTQSzONwoFUxlaNXNjZmihNbMCvLTuCeOEWtxDnudYvXitKJsdRxPXiWXlynfUDaWtzHkcYriWwwHbnBvGoPeiMOobgOwXmN", "c_map_string_8":"bdbWLuGDpyKIIEMooLidymXMwsKFUlmNzWBXdlqYzyXNSOFyuBypkhKrGuavcIzJWYYSHubQAvRjPTDPpzqlNmfoUnJPdNZorEmwbPMomLttvGKJwYnRwyeEEyofKSnRuKDQpZWfNvaHLqqeUzSBdszxLwcOYicIHziHHdrNKyKyDWZySwqTgTnDGyPbpSDYJEPpTecYSWLjXCoJCxJYcJsyyZHHlkWSwsRWVuDZtclltjwzFicIMGZWbieGOzevESFoQpiBFqKImceEWSwzscINLTBLEnVBgVImsnXDSmIRCwpxOOXtsHVhaTTGcGJbSHAgPjZFAjTepMCBzHfWoNeIUbYelrbnopWljZmqIkhRePuHSwdJGhdUTNLmRgGuGYpQnnsoxhacCbIsFirtWmwImvOThmVSFhHqWPqVptswJyeHczFeulGcLbCUvYVFopDwpztYRijXjJvAJQryyRvIFGcnjQCKCjoLlleNaPivhooDFpmlCnRYicFuPCwv", "c_map_string_9":"ToMqUiGDQrIZjgoJSkbefTGIhtumYvAtlKJluyNodgENFkbKsGdqQuqfhSRUxfdNshQYUXQtCPDhWQUZuDssPIoQXNlggXWxSoeIDafhglARGncWavCgbqJsdcRWyLMMjHMVUTtbSlJxBRPLqekKGAxzvOfEFkmbTbQHcRUztJwxMmnUbpKRlrLKLGUiSdHSrMDRlGCnxBYHdQefPrlXnzzbnNyECIYbYvwIUXbjAqJHQCmbbGIiePTGxCcahpoHuwJYJJZDBMZTFggcFkzCyetrpzKQHIVgmznTanlHMYBlXueaFFNKGDxcaLplBRyuwLcdMlyMTphVHLkZKodvnGUlbaMRVcTBkVGqZKZniOEKAEpussOYoOjAJJWsRGgVTEXIwzSjWGOkvWIgCswFCOlNqSKEgFHFdMUZJEyCsGvPXmLXyWSmdkruyoNTtHewRAzNrxFuICghGBWZWGGxneLWWoioPBYegUqTLqfrsbNFsoxLIPskaAtmaydFHTjp", "c_map_string_10":"gJWJOxlhqCGTxmuPiYYGylcMWytoAoyfTyUUQGIhCjqOutTaPpmbQLjESbXLZhwgbCZUvaKDGOTBWHZodpsRPCHjmPfXHZEFfmciKLTzOnUPXfqCxqTMqgGUjGVXMhjiMfKUYTYTJdqgywfiXMshmfKeGSBaAXQfMJnmefJQEAKQOmauzMjxhBRZnnQjhdHPTMZQdSkbTwOyZvAnoeddTWEloyAMRvxzLclGjkYxkNTvdJVHcwHHgVOvdsRjEapvdGNvfYCPLlDsftPxEuQuCEtwJpRIkbKmqbsIdYQwcDDGZSvjMGiMjOdPTVBSyufZNBVTJKRYHelsmgBDnkAyrtmLbnfvUktwQhJFwnMKbkoiASZoCuvbLIhQuGVqANxzJHbRIkJlClgQyZmkiqAoNMftBUugOzTQwkKpwrKLtHEwftPhWcYrDEfKlZNkjpFUEXxBRuCRlOwugDCYGxngZZRhCjMOGokVCHWNcypHyMMlATtniBQbvYeuxkashZHF"},"c_bigint":-5381345019233650293,"c_date":"2002-06-02","c_array_tinyint":[13, -99, 90, -88, -23, -86, 116, -123, 7, 5, -46, -118, 56, 119, 38, 14, 113, -49, 104, -127, -69, 106, -69, -79, -42],"c_array_largeint":[-5597928852993637395, -6812747652569423133, -3492701247811824704, -7272043851950900445, -7662698733950932745, 2807271358816246512, -7714633580330897108, 5412619801816811442, -3811996084056720741, -4146525077842682420, 5325070046230007668, 3877659157993523362, -3472391237107111085, 1062043769712033924, -918838417037062558, -685956368175530247, 8958454110311731081, -2284999344138104339, 7617705573978334974, -1063734763244540428, 851087634383884857, 6248714257943301350, 7539412532024483248, -7770857012014564780, 2780837241178872352],"c_array_float":[86.857414, 85.157616, 92.8737, 22.880764, 74.38779, 48.104916, 10.268667, 13.809985, 58.046947, 88.242836, 3.1235874, 90.89319, 41.475388, 9.145205, 13.98154, 93.398674, 84.13908, 52.340687, 33.79381, 66.16365, 6.5209208, 23.179476, 5.72241, 41.050964, 96.85682],"c_map_bigint":{"c_map_bigint_1":2929417959395266967, "c_map_bigint_2":-8101033699083896272, "c_map_bigint_3":-7612283915036479132, "c_map_bigint_4":-3003607336144937965, "c_map_bigint_5":-5492888014207749454, "c_map_bigint_6":-8950711627781835034, "c_map_bigint_7":-5697590577771531774, "c_map_bigint_8":-284478055919512064, "c_map_bigint_9":-8446219471340575626, "c_map_bigint_10":-6632969904892578771},"c_map_float":{"c_map_float_1":66.0937, "c_map_float_2":36.312767, "c_map_float_3":57.368324, "c_map_float_4":46.378716, "c_map_float_5":52.75409, "c_map_float_6":81.91532, "c_map_float_7":74.02379, "c_map_float_8":19.341425, "c_map_float_9":12.844839, "c_map_float_10":72.68216},"c_boolean":0,"c_array_double":[12.360243944624207, 34.48195962033716, 1.0068221826952812, 67.4492807044027, 21.9115721293012, 87.43048083260169, 15.031256098070623, 7.990791604149935, 10.162284560065144, 25.790144862461897, 47.94281463136022, 4.640236810063896, 90.08737712839877, 28.189718668991134, 87.2898695562747, 92.12868449309073, 25.126153956490942, 94.50013372917483, 8.183939196462672, 66.7200240496473, 29.38795672061562, 7.267991786211225, 17.34796117972938, 35.25229178620715, 21.331405083080167],"c_map_char":{"c_map_char_1":"lKOSNQkAim", "c_map_char_2":"qbZYOSoQmh", "c_map_char_3":"rxKUxahPPB", "c_map_char_4":"fsMgOjtRTo", "c_map_char_5":"vtvsReuUPs", "c_map_char_6":"PKNiWJFFji", "c_map_char_7":"hGnmOmrjRP", "c_map_char_8":"EzTshhiimr", "c_map_char_9":"XctGfRKLML", "c_map_char_10":"QAYkHsbtMg"},"c_map_date":{"c_map_date_1":"2004-01-08", "c_map_date_2":"2008-12-28", "c_map_date_3":"2015-09-08", "c_map_date_4":"2009-01-03", "c_map_date_5":"2012-01-17", "c_map_date_6":"2014-02-27", "c_map_date_7":"2005-01-02", "c_map_date_8":"2019-05-13", "c_map_date_9":"2010-05-24", "c_map_date_10":"2010-02-13"},"c_map_ipv4":{"c_map_ipv4_1":"112.66.190.125", "c_map_ipv4_2":"114.97.73.53", "c_map_ipv4_3":"228.229.165.178", "c_map_ipv4_4":"71.0.119.237", "c_map_ipv4_5":"151.15.234.77", "c_map_ipv4_6":"88.208.12.24", "c_map_ipv4_7":"79.75.170.199", "c_map_ipv4_8":"7.245.98.39", "c_map_ipv4_9":"92.198.157.161", "c_map_ipv4_10":"240.35.39.31"},"c_ipv4":"151.129.202.201","c_map_ipv6":{"c_map_ipv6_1":"14f0:7688:a370:eaee:8122:767:c2f4:509", "c_map_ipv6_2":"5b42:b208:c07d:3810:5e3e:adb1:606c:b3cb", "c_map_ipv6_3":"d161:5161:60e4:2ba4:900b:45d7:5bb0:5ba3", "c_map_ipv6_4":"e533:4a0:8aa4:2135:360:8ef:efee:9f20", "c_map_ipv6_5":"8218:5ad:c41d:89d4:8575:30ea:8256:18bb", "c_map_ipv6_6":"30ed:6cce:712:e570:3b8:350a:c780:b34", "c_map_ipv6_7":"b53c:88a9:15ca:e995:b9f:7340:a66:d42", "c_map_ipv6_8":"9ed7:8c02:7aef:aa45:347e:85a6:9d3f:b782", "c_map_ipv6_9":"4563:b223:bb86:b8fa:143a:e62:c174:bf78", "c_map_ipv6_10":"de16:e10c:daab:27c4:dbb6:2df2:73dd:50fa"},"c_double":29.68012266601758,"c_varchar":"I\'ll","c_string":"SvrFAbBaElmjIgpGJPvsZTkEMhYFdoKkUbkcPubOzQwWVPQSMmeJzmTIjynsUkZinsTyKRwdzVbseGFXKkVguhndaeuaoGiXXWWSmLScVGXevKoIQwaCgjZSHHHYXvNgRxfUKaCFmyRNZEsKiDpKeogzrpWEefnahamievrCxvWAWvCReuATolBHRQBKpwbabrZvCcaVPFsUqBElErgsrHdyTvGWHVQsAqVeHwbhPQGWYqjgdkSiRtkNZcOavwVmSELtnxUDSljnBGsHMBvoPEfvFnRIXCWlEUQqNyfHuzDgRXSzjqjgGGEWjyzhGNYvkmqpnhRdKyfaMfTJExTscOVxELTrXWBiVSYLopVRjYhuNyFjieFFCxVrNxUAAELVvVgPHzfNbHhnngTTscWzWuTReUYzefPXkvTqjLIAPoJtXbIAnAjlVsqkKlsEfLjdIxETscNMAxDUsAbozRnjzrxjspbgNOpszfLOaXdQQBfsTITwHyLFqOHKiIRCTcFK","c_ipv6":"1eeb:15f4:9f5d:285:9e5e:aa9e:2be0:8431","c_array_smallint":[16500, -18317, -26874, -27871, -30614, 31152, -11686, 24859, 12513, 30995, 8162, -29092, -2923, 15739, -19465, -15488, -13295, 4104, 27694, 2760, 24422, -3656, -28915, -23588, -13529],"c_array_decimal":[22.0765, 59.0349, 93.0160, 55.1961, 71.1666, 92.1126, 2.0670, 19.1040, 35.0537, 18.0329, 82.0131, 51.1669, 78.0580, 53.1445, 60.1826, 98.0436, 96.0651, 96.1142, 49.0698, 83.1412, 8.0709, 94.1783, 0.0620, 77.1920, 69.1828],"c_array_string":["XBlbSFXeOmawRwTrjriUjVSEUQmHnWeWUdiztNAvextHOcOkNkqcjyUOltTMfgVRLWfmeOzwLntmVUuUKbrKxjXdwTLWyuerzHZAwKutiAhejzTdevhuMLawgInTTPMQFSoKBTGQxVmobtylqpXtCqoRIpLGicDqfsPIufOcxZOLoflVzzmAcbJXjEohixmXtWUTZRqjhapCOJInjPxIPICjKxkiwhTppaEuRWFMHtKsumJXIaffGUgNtEiPALbqGTKaRJgqtmeIeIjSTgvbrnaTenSAyRNxZSxRlJUAVLLzxatySFnDtWUbsTlCWvPXzrudldYbjTPBJlggFKDHGRnyKNfVmbCHbgnrDPQITDiYKLfTCHteAQRBSVizzvxaBbowfYIpfbhlpShnEfOPXRLfHwuSkUKxeyzTDdnFZqMjufIysdTKdGfokMKYeDpUSEMvTYmePVlxPzIxDTTerIPhxQRnOZkepSpkyTcERjMhcPhvcypuXLofVsPwuBmY", "kCERgMPRokTdwyCSMuXUDATKxxPrCHYrjUcPhGzPcELxqjIYcDZKKBqhnJoSZfmxXLdrydDbHuhwpJDZAjklgPQcBMtvwlrnWIjscpfvdcmloIzDYOuefYqwQxzRbQbtLWYCusZeVyxFpkuUkfiDFRqdmZFoMdGmijxMEPlxunFTNUPZPHBLqWmyXgSmmVvRewVyuqWuSDJZsFDtiuHwtmPOZiEYKnwTnKBxaFgnVuhuHGBPAjYpKCiqGXduqyBLYISoEguwXcnBIaLrMgvYalHQAGBdZFKfWpqVKRxMGiaoCzuPiLYxRDHjikYlnIVBcSYVQWtCIkhNcArqWXIDPxnGFdocWmfITSzLOLyHyXKFegbpRwKjlozFjdmoWRBYowdwEHErvspQxSwUltIuSZSfPLiwYbxqtBQjtkqxozuDpHPDkUpBqSoqiMJSPsSixvfKOawFlCJISgAdGZxwYegLfbTdMMEnwHzFxMJdcYMzHMtSWLWXQPmdSQcGNPns", "EOwRHIRqkIbSqvZLJWLtErJajdztlnmagevoBRlzdqkBsbQOTQMwiQbJmeRJIvyCHDFDsJZTettjufgxrSeqULncOsIbVqVhOfOdehZoEQrCVkhZkpWQRwieuBPpMSgmDjuuWboQEgWUhYcQrMLTwWanzWyhgxzHMgtUCyEwZSmCSboToeJVFKnOoIQuPFBiMGPyCYHnxwWYgxaFyMyqKNEnxZfNnKtSSMeXpGlElrGWvshmeSubvcrGAFOZYekhKXSwcJkElsYYqhfKCTWIlbTneyzrKOmnFYbexMGBlDpvfpGBZfXAxCLmZGOKmujWSlkiwhMRNSeAeGpuUZOdLyfvQeECLVROVfMTpkiPdCuqdkxpcYUCjytQczFbDpxOJPtuGZtSYtseZIaOpZGSnVQlcvsghWglAfbScCEdnNQCTWCvoFNEjeQJwhpYGuHTqHKfIitmdgYOjHhSFiXWrOsthjExQDZnkKxvVdqbrjXmrwGhfufXawKIfNLIeLUE", "WXfoRxINsNrDdnpsnVawWdMjrcvtaoCPsfnegQjnGXpcPrZaChlUbPyGGPsyGZtkKYGxjBwKKIMgzLnfSScIZxzBRzDpXCFtaVJnWEHUQAPBwYyjvxwMLIhlFpavVKXVojrhLkyqPLRYPHKxljiZkNyXlDawJdEutvqHnOJGmXtlEbrkTJLJWvgcaeJejZXzqiTHzZWAkPjoFaPxkMzVWABwtLrSQYUpcjKeqXDTFoNbdFRpOUJiDSqNAuZalTvbjRnzITwqwEtpahwMGiAfgOTVuDphGbFPQBuAQGaCGXQVQEluCGsMfrfMJLifqpLkMhFfOvIQuoihTMnUTeUhTcFMRMIMaZFWvtuyBqgSpHUiFKAdKEcxmjUiiYPIOJAHByaqLOGivYXBHHaDjSKpmcwGrJZFLmYoXTKlmMVDFgWWRTApbuDmdsopXmqDSFrzhAzGuRfTQphHRGIdVHsPIkGrMsWzNqUYDgmDyzcUYgOerRnbsQgdWsHJqcjvvhRI", "wmFOhlOWINBxLsAFsxGKZrgqpRpOZuUleyGMxYVKyBvWDgaZyUzZQkfaICMIqCCIZBRvuKYZUMHFQGrmzBGjJtxbhgwerOJMVJVHElwZRFnIIhYkBqgWnDrKqSPMuHMChyMhOricgeGYWDVbKlMiCPyeemTRJmtSHHwoyebBgAeiGfrvYFPDJKwbOCuvcNCGnyTnWXvhQqLcLqLctcNyIyHZaMFdHORiTBhoPXNaYWqmGVrQfYcUDRwsblfjfPjiyiMKlXyYsCDYVoYKEkHHBUfltHpwrJYJVjiJtElMkHwGUtujxxbkWQTdoToIeSZplaswTINbYhhnPUMqTcZuAJgnaBLsFNcxkwDPgHlPeRmLdljcswLznlZcZijshwBVkZWAEVKeTRjpFwhIJQkVgSyqFONLvNGlrUVhJRZbuqPFrhaBddNvSXDUOlPNMDPLisEyUgoojOvmTanmNyNfiKhSzknPgdCaSBzvTGohPGGhmYjQfJGpABwCzhppPaSl", "zPdXpSvOzhXanSgziWoCkVTCVyjcKzkUElBYDvOFBqNUISAkXQWyfxhVDVEhccXaYDzheVZKIjmPNglcnPyONOLMluEnATLTcvVQiqOVIeKETzDqHyVVTfBeVAKNQoyTzQHUZCrwFSpRGETYUfHPmpDcbctBiDkIJcPoxHcsjvEAFPaRCvOjZnpbqmhYgXsbarRlOXpSKQHVhNUqBOyObjfMcEBHqGYqpjtVNZJiVIkTCaqjmBwrUsEuemiDgjNRriLgpRxasSOwHhAHOIyzTRkTpgAbhevJeyywruRSRRVsbiCLgJPLFlcbzrpjEpgkNWGnLNqNUgCkrycXlQhidYBdmtnbvsrkTTfZVQoMugWRuWkuNFRKsZqwfkLNKWCjeSqGpJryAhPgejegRgizvUpFJRgbuRHnLxIXTzcMCceFzFxRxRIykkatmeYmKauMVwGRPHZtNwkuMTCqAKFfywPUYsIqgeinzFbaTymcShxGVIGsRvGzqVmLWWNbfMbq", "JKJIXgLyFwTzZzJhStFHbbTsRmcgnnrZTmvnqYJkixVaTqURtVmDfdxpBsgnspvXYvBpaVUqPazrdSNNIXxzLhsptIwyPwvQevmJqCWcWWQgYUlZvlewCefYSBmNBmUvyqvcoiLCjhcJniplvfhKvEgEckoyYWNunEnJIjeTOvzQCyWBVntaLRbRTzjfjpiZyWqfWyWKUlSVKMLfCoHkkZMTHJXOGhzKPuqvivOreyNPXIzqkmvkmkZLQjJosanKnLIqPaxrxRRIRdRmwWQpXkOZQvsefHyXdOqDkLSfAmZjHHBrUHGHNtGmjeJFQvlnAjrDXBfifUGKbxMQrxvuebWpAOIRFEjMlRJAfzbEtecehNOQqtauvakPiqunmMmiLpjLsNdtmgnJrKZzfviUyWLzbwxcRJygqLkrRCqiOaUfBwNSTvBMUQGRngMYYlSrGqzYGzPcFGHYBXcDtfiwZsHsEsQsJgtCNHUhlUrGYVRrVzUVwmiOmVQVRZiJrUVD", "ogdUELZWvQTVeqtcsmNqxrQhfCoEwEAsdWRgpyhjbHHdbmQwrImDixLWVDklHqAvcPTnxDknfuPGVpCdNkKjquOrmQjcelGcOEyfdJnjBZdZnstKtRJAbGFeZxVJaYJdczrHAzFSRblsTOwNJtNbHZfzmWaZPJCcQWbkzIuvJBUkbuvxEXTCmockYtCvwkFBHAOfUJywqbFxZYfucwATNjeENvugJxCeJMnovReErKWxbmAyKjydxjoIFfzqKaeSmDMoPAUonRRAgAawrvforvflzCmsDinQPTtpGOivlFvIzizWHdNUZJoMBaifUVvWYADNqoIclnnDEyqWhJBhkvbWEfwQNrzWftfLvCzDThhbJeXOlkZeVRXVolbGDyTZuavjQahNeNtrQhlisraWodKotsRiraixXPYZmqpjbKPXgHmYnLhcSLuGAsbttqvptgqWVnHFReUgFBcqhTMPiiLKyccwFBvqpIfcDsJHFFJjrTUsXHjJfwABcmdMeumw", "izlJEbeysMeZakArZaqzJmyoDQXBegkgeWKLRiPRHSClmLHQjKidcfTqEryrrhMhPvHIazHffttXYftXuMNWUCAUisEYrBExiwRdFLlVwfCXxhKyrVbkKQsMIOTUngfBOAVBGNelEQTpDcepjtEOzphTZhpYwvrtADSIFafaPNCYCZXfGKHCUHqTpZbWRRqVvbfFDdiIkMXeRLUXoLasSZtwojcdiwPcrbuCRIEbkHFsEoQPEfFVXVqYNTcspTgQRbqgZwNzXLewjuVAViqjoRTNzJXiGiDghgjUwjakmTdleGOHuWpRkoBFKYPlutnLmovrvmXhmmVbTZqgXtUolamSYyWwzwynWabKWUxIhgcceCagnvHaVQpogEQWLKHxVSdQtGouYFMZLaHTbyJfHffJvhuTuoqPwTdSqDejUqwqRTjlxbJPBhBWAzhLInCElNgnHSKSoLupIGITDZvpSdyCcNQouAcOKiomePEIsFtWkqMNCUuLzOOawerdxnYS", "uwVIwVHdtDMWJEpqBxhvwfwhiqZqbYoeuJSZdqOmNWXDTNbqUkcTrfrNnCvKhtrxLgwVPNWxxiInTjsRwjYONfiAsouZXkBnVJQAtoiqCCrvVJRwTzXmSLfWaqLybJvKjDgiFeRHOlfoMAWUzJYgYOhhZVMLsppMsDLDiZSOSJDDnFdTtgpfgCFZxxDaKKpkbaIsDemjjzeuAllZHtELyjqhSqkCwkmzOxzrPlSzCBrchDACcCSWXclrubgIJFDmfPmhpvSZpFoejJhwTGMpqPLmLUxjzwBpngvFKRFfMXPBJOxNXEIfpsIemPZznWyHnTCPZZdCuDFTAgqdMLgFRyyTRebOPFHTKcCkLBpjLPlcyOctSoAuapclQVRXGycDvqllrUjhafWvtRBkfGJsQkKWgrIdhmNjYvaXnZuQKpJSwzIbrQSMGORrVOYlnxZaRXZJoTDGtCPDcoWRcHaSmsJGajFuqMxZakHobRdlPUzYfIwWfSRGvCWFYoezMqMd", "sKNuKEqPkLiWnPtFkTZMTdCGxeOCVyOMTQIXBjVamfubjooIdtQKChTGWHkQDXrkyeqJjxRDMpTiLFtnoyOPthYDoLrrSTcufIpYNbxoeIyFYqJXgCbOBsXQQRAZELbqwYJWqrwdyRyQnPIwbsDfyQhTFkPlfhHdZRJqhGfzupTcfmqFsuGePOMIrCjtCyUMCsWAtUiIaoGwzJtNDIkrgojlZBuoObkKEWbPULtNmNFZGQuccJxjpxILqmGNxXMQYBznQmEQJANEvWnOqOTPpIxLvaecgdlLneYeDhNvXoqehtunQMPVblBSKtysvATNBydoDWpQUqFmNGLWimwMBurNdCoUCGtsMqDeTCbGNnExExEZmBjquNOWzmgSORXgXqXXvRuWayKvHJLdIJLwzlXPIQCnZMiTPnBWavylcFySvlkUKcaDIGcCxkzJeGuOFgEqwzmnqgThSEmWtnawjGaspiGFJKjSUTOUwvcboORWJmmSsLUlAvjqRuDMYnfz", "TvtKSNOhYKcqfliEPvJyySYkpQqsoExFYGpINfUMuKukELtMWBPlFaVJabDqpbFXfUROoxJpJirIRTSheuQQDZfNOGHOsiHZRhOrZifpnAJuDYCRdjMnkOJDpwxWlgxzQEiWafGQEGTTFXKMupXcQFPXVJUzloXfpaYZooDJwoMEUvyXidNGuXBppuBUHdMBHWFJQrYyUsnkuASrBlcRAWmszBcRpXDIaZXtWinMVHgYktmhiHrmExruektaWDodEknHAJLcAWFEZEzhEYsOkKNjgpFDPmCFyahPICYHvsWVZVCoTMAXZHnUQKTvdSmeIyvhCMJnizZIUYKGCtndMEnAjPDnKihmfwMEMuETRYhTVzSLlEMoYdrEYpcMckzSARNfKxaIGMIGlKmeeCERNzMCYfNQDaEDPbjxWMfWmEaGJqBDRhoDUpDNcLuycoruQpADZkhVGqMkRKeuQuXpuhQlqyQgiUsBGBaboCvjQZPDIFLWDMrXEteRbhgxKRUh", "lLgFbCidMpXekweCoqCozBeWhInoLwEbrPMPwLJpgVmaQnwmueXHLowySCUoxaZRPeQyUgZWAiQoVVkWPaUrQJUqbQquSDwhFEeGIxGmdDEWIhNkPEeGGIdaDpzfAVXpaSaHhFaYOmlMYRzzbOZiOOhuDGwUUCnfrveVtBLwqbrwRCuSoLsEPYARvpKgIzEdPqAwpFzHKOazNjXmUGQYohLQbHdXvQDwXSXuBWYVEyjeAPzTIdJKqaXNkhODoVRrKmFYRsMMigHhAiSAfIvSLGRUefJHSxHLsYvqywFVFXaCyxfdRzFdwyofoOafnpUiPeeClSGzhXeAcsUvYYibkNltcuyfFQaBfWaxfvsWKTekhnIfVECQLAhwfMjRxzkzAeCtxKQlyhUstptbHNwLScRhhJvRdCaudexmocSlNJLdjRzElwuEHGYXzIrRhrvCaCRJePINxJlWnqRNurdUuPBmQHCbuPSlUIxSzXsMMNNMxaVPgwCNubxLMULnmRlN", "hedQmydqOdtZBqbtpYvEvmPkAoOJNawkfceuNScWffXFTMEkKVnhgoUWgNEViGVoUReKRXOTbvXRXvoQODMYbqOFSdJmWvpdyMkBXPWvSvoWhlwuQsVYbQYkENcVMMzVhLQNRCvFtRFnpUxKQfasGRQhvvJueZEmrLwVZRAGzlGGNIDdREOjslKTeECMFPkMJgFNuhfyMFRzMWyYxfOdWuZKDywaFAdikZdoSYilediHmmgzYkstVdTRYzDrVAMPiVKoQEatbgndAEgDPzhORsUDHIBshDYpphOKJGnZmrZFVZZtdiVfUVAXClfgAjkmGdfvvWoXIpexoMGqBNpirllFUUFgVuLtebLqrakqhnWBhiMMBxsIHqDcbdBralEkjBcQcmSXenUsewEyGrWPbPKcFbDaRKkldMFayNxvOyfBlRyAYgdlfFrWNKqqTPASfBEqSPVuiZGuKNzvaHBVHYeZPXScOwjpDkpBWQfjIZqYeWDNRAOwstHsBKHmYJaF", "nPOOfrejctGxYYadMPgaJYHjBMghnvHylUlMaeRCBYiogEqweYizJyPsHYMKNpmrFagHYorwMaOfgVXeRjuLkotfUEZpAPuxTjSlxGAEvHmNKSUBageUKIQKkSdSMQZwzRQXowRKNSbZXcaMixoByrbxwDwhrnMuLAsWjLrREawUjqljZpTikxItYhREBKLUBAnRenyxwOfECRPuFxeGUXWfAthXVLOXbnyUsYqJqHFEakcClXMmjfWcMjKsJqSeWuLpaCFkWUihVUtOtTEqhgmNxEshUaTsaTcKNhIZWtAcyQMrLOdElnaJvEqtyYQWmCbmnIzgKfyRaMfVEqjBMvaTlkGXPQizkWtCfyavOcSJJFklUAjbJVEWSQOXiVQLleIiJBJcPvaLktDeflFTeJHMZWhfoRJYTFIdrNnHErTAsIEeUjtwvUxRVUghiGRXadmBavJFoWDTeeCnbQjykLfKjcPYZwxxdtqlQWHyuETwlZGHgypwTMyXBtmMxXAT", "LrGHZMZPCwhlfZcDFMfpyCQGPfmeYfrXHpWFWKjzDgSZJlPcczcNMQyLBwoBaIrIgykBNCaLBTTkRZFRiIvgWSZUyMGwhtGgCSHhZhCyAPFzyyIoZORuLjJaBwgpaTXoHtFFDINnIDOJwzheusLIXZLdrxxxzfQGWoyMqlYeeyjjhIvVHvXbyQHvqzYZYmXaEwzKVzpeaOUchuPbniCgVvobxSKUngGlSslhXgyvYtsyqDUpOFzxUBdVIPOHBkgynxnUlSRabnMVvFynEhgiZoHkAIAhPbwHVRioWkwAhPdoObLVHvRHfsqtTtpBlrUuyXHxDmoGCkHpUdtdGikseZvRSlvBcWoQqAPmQAcAzPkSAUOSDpRvyyAHuiEXKQohmMnwYoJOBIJuPudXPKXOTyradylyyFVkzOXPAoaGmSIZyurXIxbvHarBwemZrHxzUmyDaXAyOaMqEfiVGisBtKYlopURMBXKtXeVDvsWcJRvTkzkCgkWLEOFxrSUMhyy", "oGeunXrQToYxZEfKCiWGBftBuoVmuFGBbvvBGOcDilOpGJqjHWsstJUPZnuilkzSwgDZnTSzIAHuysTuBCmoEbVraPmnhoFgEdJZhNXAimwGyoYvOJAsLgcUeUFhqTtysubVUGKLiQXKztsSAHKunPaaYjilkKxetjyVByIrvniSJmanIvzfumdllkwjPxmcEBQpHUfGqUtvufGrDQJjmwsHlaqwnREGrfzruGtkQUQoBYwqtiTpNzeXxAPlqQxyBneinXnAkpbRwWpZKTbGCLyYmglJTRJCFssnPkXCLMQuiaSyPEGPKlPIbJxUUuzsgFzSIhdgBVoDUtzpuCUAYyZKWXIIDaIeRLDaHcxeusRmnWwjpDAdskOhqkicatMDUizKIqWZaRhUbtlvCsdrGHBrmeEhgfabdhsqYHyWaTSQERaOzZiibyxfgrmqZSKCZvFGCjsMRojLhaVQKSegAMoLowuVUOeGINdRncEKtmJtnEIIllCIRIPOnlaJmGXK", "BkKmDbUFNnBYMNpFwUMWFQklrcwiPqTvvUXLXASsVMRQRUIQrubmddkTOSZqwsPVuYxyNHwBsjUylqpTJIBBMgrkhJmafwGgBODsnjyWHzAzjEoINpmToPliVeTLHsnGLBsRpXtwvVvSEZRRwtqljSiULUAuCUzlNJGkovDnIOZdeSAehIamtZgCAEqHxPCKkGjIqiYaIxBePcxpnPTOcrvgvXvPwfeyGHJUrOZTsbJvCsbRuIBRzKqpgGpXiPQbSSYdMrcFGbxXkyaVFsdAWqQqXjniELkUBQxWPRgzFkLKeboUFQnSNahdOfNBCRyroomAcZcTPkFQOkAPnlNAqvhUcyNXrLfQbHMJkbgDzkbRwEXhkuNytLbDAbnyNFIcVPvzvXVGqBsquJilDMYySJYgdwhTgygGPIOgRcoIHsYAkQRSHbTZorrwBgxwYuAUcbgNVonbZLNyHtegzgqfiZhkYOpPgPfVxrGktFPJrTKVMHtparsTxuRupWklBGsG", "WrqglBIoOjfZPRsimaXhbjkjymkvXkbcgvynVDMnCLKHSfgvgKpOIKERzWHrAaToNiECbCBXVBpETgiukpZyMSYbstFNDjZWihRtOPqLozsqaTtQHjWErhmMfTWsaAmJQppUryPAepziyaTtEkSPiDVOIlsQYhVqQdaifGJTUejaqvWICWntnJDYepxxmWBkbSYmOHYyzSfPZMEJRRmOuPpDtIHLSMGrtuDoOFgDzocOSxdmyueGefzdcweSSOHhXQbggYBptuTkocZUFkhZGQMBJLRptLDnwCrEbwLnqWQiMCPtnShdNcSIvNTtrBoJLslnwzqCGCWADYOIxeacZpefVfcaxVMTTUGEYsCVoKScQYTFjThDXCwIqpvJSzaQUiamEEzBabqdvPZPFNeTOnoggeDXRsJpDEgLWivuWHihYokzyUwZlwxUszJrHYWRucsJCTBVIwsPhqNuAFxHFgtDWlThEecNWaTPGJdEnTJWKesasSIwjbZGQDmwqZTC", "FccmSKwcrQCbpoMNretHwGdrrfDpfuyczaGreoguysZdefaAfrncBuruzTxdDpQyWcucSSvJbYiLUaxgMxUDUAHjGxuPCINqOJIcLaXEsYZyTdKueyazszeVhpHMyrbEkTsFwQsbRbZMbqiITcOVhVxBGMRyaLDWBwMgWCAFCYrNSVKYqVRDbXonXNMsrYrmeVDYSIxzkqUPLrkUaOiPxoWkKuCQEpuCWgJmklmtNaSoPeBMgFXfpPUhMlfkBBPJvQWCPefOPSztPJPvnbDEbkhIYiMCIolMOoIsnsLxovEgnGAEMWxdwFiVlhRxQJWZSpZayBLbvnRxHkxcgDSSwhiDFOewdXcyucZPPpcaapCKhfSHhGaQIrobirIgphpChsRmLABmMqlGGlBLtgnjlkQUkBEzgxlMrfztAJQQJwRdzRszXNbBSMFfFeRdUkvmEKlEummxwiEAqVTmwvejuOERLhCzEdAnukNwYnjUqzcvrnuKkaMcSOyQmiHVXyIL", "LJbJfeYjpLhvoyxuYXmpZdfWLKdmVjUcijfJhUIsBdcVOnelhCXeuPJgOdYBazAwAeCIMNoPAincFqBTYRADwgDuSytCbHMhrKoOnOVQPQvroGidlcByBfGfhlLnLttLjKWASDqPAbdMXeRFbGWKeucnBGprVQiMNmfpVlQwIazCOFJVblClrpPrCwPUVslNWUidGwgAixbyupWohEFsUBrKaMJMqSxiIrbiiBprghOsyUyXqVXnVbGgRohwlJdsSjMgVKnvQOxQdygYcieiJyNygfuWsgyijgFuRRwMHvAEkMMARRlLBTpfYUTkCTUGPQPshwXUKHpLKCCISQFrPRfVFDlYVAYjnZcfEgtElwGSuhgXmXjZQuUPrTlnNfkwcvRSmeDRLCUgvVKxOetuntzSnkoyYUanCqndWuutXTnvJdtTgLYgKqkPhgiNgqWsUculnVmnjswsMbViRfTcMDssoJLxWMMgUPKlHUyYggJzTynSvxmhABIPCEktprYm", "GilLmHZeGiyVnhCJahjAkxkzWnVPjilclpAZKjLFMULWmqaXycSqeEdZvlrjRpJzLSQmYjanjgnZMChiUEDguzlKjbegZUQDaYgYyQCzoMpGYeZELJrVOiaAimEMmadZSVbQKxdhEQuumWXGyTmyyOrjxBrQilWXrUsuMZxpfbDgocyjujCOQAVkxwRaxMyWEQNiNDtGfulLZLQwlCJAxxOjIhxFezAMrhSuGBZvFPKhflOGNirEpraeuXjvgJglGwfOtrtDdElvbTpbMSBUsgyJGpSRCjdruZyVDuMRSruaHHRcArcEpYKPDxFJSBfJkGJlrIoWylCsSXoaIqWYPSZVdWAmjDQIBkkFwVYfnwdGRihpwMibdLxdudOteReaQdMZjwVYCJevnHtfuGpqFSYvbyqBkfEtVBAJMpUsPwPbrwlshCstjyrwOKeplsApozqFdzlvYZpEgAcInkdBPaXMraBVcyOtkDIhXMCoXeoQNTrquPFQaJofPFFTyRiI", "gSAZCDcvUZacKzSxBcPZFmfIilIjDizleAKGtioqFKTusWDaAyaPgLPmkYLcSTRAcFJkbIeOEDIppqNPvkUBtQwxKRONMktjAgTGgkEGLCcUeYmPFycNMlMMqplyKezCxICLJQNwKKvWKmilyszSdZBrhxhvrBNGFBPLmTKXQefTEKzlaPrAsqyuytkKGsJiURBtgrkVbOBvNfkDkkabbfTmNAorCdklRgAOPayxUdfnoacApqtAVAJlHRzjcjPobhhfYtRNlqjyVeyHCnnkQCshGWPCEpoGaAIeZsnmkAPRCRNDHEwiwUNIKyqEjhgDQBTFCepHxRlDCThvSMqaGrLjXqDyMMdQowxDdjePrsqsGfMNZxHeXqQOXcVDNrcobGqoKFbXUgrjuvmlxxAMfkbbINUZANhtzEOWolIIhBRNLcUcPHorLmTEUAWAOmgiEfwkOeadiwbKnuyEwdcEyCrAmhGOnbfnWpbbNvsUUevuXTIzIaMnQjeHwsqVJoaY", "SQtsELiksKbftMRIlqvZXFbvLbZqhPdIoSlwioAzqdLZROOnejBrjAhZDTgaydNoLjSJmpfoaRQSPuExcISEEEwkmWXyvuxUILGsqyNhvboDGgqlHSzLNiwtYiymDWWPGiBquspXXygWZrwRHBJektwIGfgiyXVhqzCHhsFzcKLpIvrWMtpOjHFAQGGXGzoQUpWEAjBkllHKVYQhocwzsvYNOrbDEUdjyyVyMsAIvTYGHymDnEdqlvnlaWWoTazKMLcYNsHctecGiQtSVHXusITVjwrlMUGStvLvvJMuVMqDZOkSPOvMTTjMYlYHVWhLsBlOMGwgkXsWXPnUSccFIDXoRpPttTxMWDCojTcPRRcruoHvugPPsbfyNNkzjcsrkSXPOttCxkbOSIVZovIksdyNkgMvXRVdcwxLJGCncHvWKirSctIQUwOSMmbNNRnbxJzGohmlbtXyVpfuIifdEUDpOrcAHFWPRVKAWMXqdqPnUpCQKTquHDRXKXbFHBQD", "HLyQSYbrXOYvyvroyaxhsuzlgLgcVNvRNIYVWGgzpLCViOOqVpVZRWudIepteGGXFqsOgMXJBGLJSjMnBeOyezzRVtbhGWNQclLdbwkTsVtwouezVACtDpJkeaYhJixSKokKqjjVfydtVgRXizPojWnRhkVirsXRGnEcebQUblaUZZqBFJODivFsPAAIsJHQCobPHgftgBOaOkdcQuyISCkUeVbdSglwZVbxZylKulWIFCumukVjmAGKMTpxKZvSDaEKTuQlFEitSlNDQyuGfPUmXiZHIUVQGpBaSRLQwmaodGdCrsDusVcEDVPKKbaDHNtplHMdTlYlwJAwwpNDlOaIcNDTaLCBGkZvZmQxkArSYQCtMrghaveaiNEwkbwAvwkVHUsYCJNhAzbkCxbqSKKRVWYIguhkRGOQEJdmYLQVaUEJXVbDyhUhNwOAgPjYwQvYBhsagMSDgGXHXqBLWgkVyJZrxyGSnUBodcYVhLAMaQmxNcolBUeDsIjdTQVv"],"c_tinyint":-70,"c_map_smallint":{"c_map_smallint_1":-28588, "c_map_smallint_2":-20825, "c_map_smallint_3":27174, "c_map_smallint_4":18600, "c_map_smallint_5":29429, "c_map_smallint_6":-31244, "c_map_smallint_7":-26039, "c_map_smallint_8":23689, "c_map_smallint_9":5678, "c_map_smallint_10":-12464},"c_map_int":{"c_map_int_1":931633162, "c_map_int_2":833190489, "c_map_int_3":711122078, "c_map_int_4":-1317897281, "c_map_int_5":1617423067, "c_map_int_6":464436645, "c_map_int_7":59506374, "c_map_int_8":1186359746, "c_map_int_9":-2012023914, "c_map_int_10":-2053291425},"c_map_datetime":{"c_map_datetime_1":"2005-12-24 10:43:16", "c_map_datetime_2":"2019-10-22 07:24:32", "c_map_datetime_3":"2012-06-10 10:43:16", "c_map_datetime_4":"2018-12-25 08:15:20", "c_map_datetime_5":"2005-09-13 03:04:05", "c_map_datetime_6":"2010-09-15 22:24:58", "c_map_datetime_7":"2005-11-10 00:06:15", "c_map_datetime_8":"2001-05-25 11:00:20", "c_map_datetime_9":"2010-12-19 06:41:20", "c_map_datetime_10":"2014-09-13 21:25:27"},"c_map_tinyint":{"c_map_tinyint_1":73, "c_map_tinyint_2":2, "c_map_tinyint_3":-79, "c_map_tinyint_4":69, "c_map_tinyint_5":40, "c_map_tinyint_6":-97, "c_map_tinyint_7":5, "c_map_tinyint_8":-48, "c_map_tinyint_9":90, "c_map_tinyint_10":-96},"c_decimal":84.0117,"c_array_int":[117795382, 404260131, -148881223, -72633859, -283916811, 1814468984, -698334615, -1580105721, 166806650, -1874858934, 661227912, 1683895843, -69922223, 993600250, 34581916, -1296187437, -1104401248, -874740872, -1758287090, 1770184286, 557977470, -29231038, -1542304897, 1969523853, -747861728],"c_array_ipv6":["ygVmcJNRcD", "MotZLaaVxS", "RuBDCZFaCo", "TRGCiITFuc", "IPuzznRWPH", "zFqEogRMjA", "fZcObJSfdW", "nyLUvKlghW", "VoneYHuUkZ", "CHcpmpRvqy", "eXaNDFaVAj", "irwuMNledd", "LzhMmdSCXu", "GLCqzGIweQ", "sBPhvaYtFh", "LCenZJidMb", "gCvGLViiUs", "MZoSJBxAUh", "wIYvEcmVmj", "iHiKDJJAYL", "uAbdXvdqCO", "ZBUnNyUIAV", "UpIPbYtQGN", "xaoWpBelwK", "uAGOusNZIX"],"c_map_largeint":{"c_map_largeint_1":7748988128459691249, "c_map_largeint_2":534555279974347376, "c_map_largeint_3":-7310153938282355811, "c_map_largeint_4":-7108199864198434688, "c_map_largeint_5":8975141183462463170, "c_map_largeint_6":-7461976716466608070, "c_map_largeint_7":-7355460573990621558, "c_map_largeint_8":81311415229690919, "c_map_largeint_9":-2388381894794357347, "c_map_largeint_10":-387104047372901992},"c_map_varchar":{"c_map_varchar_1":"OLJTgWZEzCPSxdTrgfqrChweZhROOMQxYAuqRiKidKkOOtcjTAMbYNljbGsWLPFejfJgohODCjwoSANNMafKYismJRhLiqFqFQTkbskDSrdLsEGwyBorZVtjKvhOgLKKiUGgzZawtNzIkcAolMIKUMWoEINpjHEmxROIspveIJomvZIyLseWrQzJmnlxHLdnfOXARQEDAecZuVdoHJcPjfAIblIvxUCfcqfThASFTiqTFMugjFNaHLnsdlMeFePe", "c_map_varchar_2":"FlStgqebLwBsVWNDOSSMNbWhPgMrChlJZdyWJlUObOItJEOmdrJFwXUtwzABmWdSuPwMHyInqpErKvrdlySukvFnnMJQcHOZTkgMPjbYlwjNodgMCaAUGzwvvIYbYadVBhNGDqRDnNOrleoBtpQqlonIUNSJGnfgFFaokstcZHbUuswslhtEBEQkhRijmmOOFbNWAGfJBiPjRCYkhrjOiABtNgvArVBdduFtayXjbIkKICroSBilcDzDRvoLXcLJ", "c_map_varchar_3":"SIZvXBvIXUvckWynzibffTROfwbkDoryMQyPsnaqzxkXwKDOTsUOVHosVlusSyiqecsbIPWqTujyDrNARpqLVymOdaGFICJPHWHVADgOkqAynrUWUMusUzCfDdFCLZvvwvmOUmUCWMvICfhwudtfilnWVcbikTisrnnUkolQGscYYvqKxzZFlsSkHkrRpeyOkYUImqMZzWjLHRXOWmTxYMavOFfRBmUTENWNlEMJyQbSHppqUZFWBgImCxQUwwoe", "c_map_varchar_4":"CeZhoTLPVQmhVXeAlkJJOXqAmthmwTtIdCAeIuFzEUfbetGvpREMUFABdMwFGtBcRSULJEPJSbDZknvYciROfuknaFyKJWXMuoRkHdEcTgWlAqEVQYoSUVWfjiEAJCHNeVvnOSoxkThZMHWAkHxOedxxPyelQBsgKEPRuSSwHafWbtGnYibYNOREbPfJSbUwxjBlIHuSiQHWXmRivkWNYeffnjPhdPwjJTGWApXZIFjCcPtzKhwbaxKXWlzbQyPo", "c_map_varchar_5":"sSPntDJvdOksNmtJbBYLyPkzgjodfnaeYzrmKYcMLIFLbSDmdJiGqcnFgMHxBMTXjlpNfzzyCUqIrmgIrjPlBCaMXsuwOEULZBKpUHGxfVflRdaEQbjlXRdkLfTdzuMjiIyHtuMHRobRosEqOZXRQnvWPuAhfJmNmkSXQLmIiTylRlUUXQXiZUKWONwgPPXQXtiAXThbOPGczMNFDSjIfroAnSucrDdXwKYcTLdbXwHdxjiEKGfVgazVkBguBEEQ", "c_map_varchar_6":"tbTnQwzsBDBAhAIlNbxqWIpsFZuonYndnwQvyJTEhvRbMOkUqYlqzhGvZUMBFYIwgnMYRLmFYRIzrPHtwRYLuAjVOuuLiIdRsZLsGQUkpLeJNJOLUhoIlaBVQJiMmTKJrfYolKsiaKMnxcyXLeqLNQFsSzSWCUwvPMQViIWBBumamzVkxhfQEIFTNomzBsxNmzWSEZrHkeDnwcklxIKIHMgcQjqbGGpkZiViFenBrgODGyoFQaaRouTpkFhrVYIa", "c_map_varchar_7":"yutazbSXcfxzIEHSekuaVXHtRGGzlgKWpfVyuahDnLNaubQUbPqLnTGABPwiFDqQggBIkcyZpaGklUrzZiHIoIQqsrkzZzxVRZivMOMqCXUFMdOvuzbaKueNviHwPDXIgpIgJpTvXNkENAtVeZhYrVcikculglusQWAKeOhyBvzannrkmLLXeunhpABsGwRFaEcdNzHcXfEYCHmWsRDpXlbBVJncOKxoGoFwcaYeTBfrfxbVqtKXrIzusjRgiVPD", "c_map_varchar_8":"gdtOYATvAGUGcVfhKQCbTOYVJfDGiTxYPqgTtVRtJxRdgJAOlmSvcNUcvBPshBgTYsyueUAitqIHlMLmuOhMBlvDpIeQVYctksUerrcOvtZILquPULVjfwVZiNpfyhMPkgIpGARkYXUEwZKsIFTTNAkrByltEAwmCuSHTfJwkALvCMLYtkugPfqDIRsrWCXiWlYbWSdZJzoBnBTECJCOJMMKsilXUyQmssXcjNjxuvuqfcwHqSesXRRWgVchsaCf", "c_map_varchar_9":"vAMSZTQwFmopqnwyxNmXHKeQujhpYQUtDjwlDSBEnWvlzhaWoyMuHZqDzJbxRJwrvPFGFGYnpNsIJxiFKYfWtFPrtjgbaPgWjcayckTZNxiqnJPIaARlCxKxYwkAxemMQQQckqxQdKcuoibgFxoaLmsEuMLYCfKpDGqPHajMSUnYAUolhWnXrTOmgwIywEGxWblMymnvIVRZTHHaUVLGmfneyztRGzweEAweFDqCoLVDiANDUxkLgYqGMrDzntJn", "c_map_varchar_10":"rMnVINKkLCFPERdIkIZRAIJKtvpfCwLaAcbfGkfkgmnUqymMBJGUoToLBXrRjuTRPssztzctmGjXfPpnegvTvAACXAuESQIAxrmUKtigOrpeQZtFmuUuRSdxWwPpsudibgqccEzlKxJIeelTdWDjjXSIuhriwhrDtcdSEemBrpfcOwWVWbTXtFhvFaAWhzqzzrWBGCDnnsYftlVDcCNidlEWwXNqovIDUutWeYXKBlBEvlRwgKEmJJWLQEoFkCiy"},"c_largeint":8484645697744662556,"c_json":{"month":2} }','{ "c_array_boolean":[1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1],"c_array_datetime":["2015-12-17 18:47:39", "2014-08-11 04:56:05", "2003-09-27 00:51:06", "2004-03-28 18:04:55", "2016-04-24 01:21:10", "2007-06-05 13:41:22", "2010-04-14 18:16:29", "2001-10-14 04:32:51", "2010-04-03 09:25:02", "2019-10-14 04:16:43", "2016-12-10 14:56:54", "2012-11-20 23:23:50", "2002-10-02 07:54:02", "2009-08-07 06:32:47", "2011-11-02 22:28:04", "2001-03-16 10:02:11", "2011-12-17 08:48:03", "2011-11-11 15:13:26", "2014-05-04 00:19:02", "2018-08-21 16:52:32", "2000-10-12 01:27:49", "2019-03-11 19:47:59", "2018-07-13 13:28:00", "2003-09-28 19:13:56", "2002-06-25 02:32:00"],"c_array_ipv4":["GxMDQGwQBB", "YGfADKPZDj", "BYgTxZlERS", "FXWqISJwwY", "SbxdYgyuuv", "JasdwpBLjV", "yokPZWCdTV", "uAHOAwwZPL", "agRCsWGwAs", "pLjJtzoSyP", "PfXAbTymrY", "mIJAowtVUB", "xjmwuAXeRd", "TLnrtsoYdT", "kmlPvNsXLt", "sobbQABhVA", "gDaErjoIiR", "NNxIoPlnYe", "JngRQJgRAI", "jOIFeVMeIF", "gcgEZxYwSS", "QSeUvWPiNE", "fpuQbUteIa", "EylWipHdXO", "SwrbIAWual"],"c_float":38.38933,"c_char":"VAimrrjrXD","c_array_smallint":[-25714, 21381, 29342, 23345, 25859, -25379, 2201, 25519, -14511, -28744, 18253, -13191, -31044, -12234, -18014, -29486, -7192, -19195, -29153, -15196, -26994, -26239, -8689, 27122, -8377],"c_array_int":[-1134510956, 44912236, 1000553091, -866407460, 1637173005, 1404296032, -1361549528, 241872953, -714736622, -1527570628, -200451292, -772936859, -1365614685, 1818332857, -1894192381, 323883887, 780314446, 95994246, -1658763644, -228333926, -631317013, 1711889412, -1295219257, -1773996249, -1801087110],"c_array_decimal":[70.0561, 81.0534, 20.1320, 74.1848, 47.1156, 2.0611, 10.1018, 63.1288, 30.0324, 19.1904, 11.0892, 17.0921, 55.1441, 65.0375, 30.1646, 46.1611, 36.1804, 4.1569, 47.1318, 26.0227, 6.1612, 3.1169, 1.1046, 38.1999, 54.1912],"c_array_string":["QmljvXAVCmazYeNrzGKvtnwADczmYPJyeFNsVCyBfxGJnIhTmlxlFjBelenPdyYVgqXSWfyTbssnDXycwrdMdfFcYyodtShdEtqKQUPNBoDDfdXAHODaERhuTqKImCvchnGRglynhJoafdyZCsknoGHLpYuMelxeMvfjNavgNqtJvavclnxlrWgvDtPoqbOiiaDcMwNrPyYcVGwmaIMFTKfqIRFQdkBSgxlcAXYMDjIRbGZUGTIZLHZQlVwJLcgdkVTBpBekAoGtrgmizetkzHJNCOKfPTnqhYexNanCjyjRCmSUeZtiIgOJMvhHkKlCWZoIIgMbtoLkArwKRlSJuYIAXCLJtjlsktCWhlpQUnawOcZrOnRGyvxfhdkThupDbISWGHHWxeacQYNFToGLHhTAHwZPIEopYqrzAKhzWuUbRlZzpbkENJhYQRUYQCsDuiHYehkHAlWQxxgqnjOoFHlJFronAmqnnxZctnDGUnEEnOVbkqlnRIbnTijQPOrf", "oTtPVAzRzzKESnoLwgiDLwhGXqhaxgUKxtviBejXaYGjwCBBwodWuLlQrSqjIiAEOLHnlYeyczSiwFEcanJqsnQczPwvNkCQqantyxyhAQPhRkcUJLIBKRFACQaFVLcCBwaMZWjVrvrTmuSFHVHmYqSExknzlliWorcPIysuVrudaIHTXmCCOdaOmLvySkdEqDSiNhEjxGNYRBLqzOLCRzuMETDDhDGXaOnhEwBmQTvHrhxVdGkoVtQfcalLOuUdZTXywUqgqlZYdFggHkLRAlSOBOtfXkZZvsVmJxRHgTlgmoXJlUDtsRavedctdtauensQXwqdOPIUKudsIlYDwMbbQXwzMvpvDTSoqVzCOJPIbgTDcaYxbfSACxfuVeJNpXLahLiIPeUpNkZFGlNPHZcjSLPDmloCmnvVurgZLyGeFtynWadSayGWIyjyEbCSHKzhqEJnNeLViYuVvuDHRgwDooYaXcAxYievMhvBiuCuORuDmHHKVzPrCXLCFfLx", "QtXGkHrtZzcDLlYgxpSrCIVKKvWuxfMdgXqJeqLouWzKTDLagrTxIcfljUlHyLdRxtrTvDpzYvDiwozpwRPPIEDZYXycGCuDDRpFdliKZvwFOOtNoQteNgdPrluZInnQusFCOduZMvMrYEVmaCpEYoqaTisBGVOvMhSIPDDlrczKyelOAQiGArsgUnCZcbLWBpiPMfxMhPPoSDiNcXxADQzeEFlvcVfJZoWURMJKCvpnBjBUFSJqmnYOJzpCwqhhXTCflGVviARTBjDBNLsZnNhMsSRglxvQjqjuIEUuTITmeCvWHZsDwGBaiKjCcXYGlnZWiLxZJAjQDGlwhNglcCECMqAibYSdzIOQNFrIKkVCRZOjsLmFKphNPIgIXHxjWvLEffojHFEDaRaZcWspVqafSbmbOIuXBeUtuaWtoUTlPymaOSgRkcEpflNtNBpDWcRHNXJggIsETomiRGOzxNkdEehtWlZCUFhPgglnqWLrsRaHPVBnblEkEqFOIzYQ", "rkIiHMyESRGbdGLeitazthwtRnHIAslCtIGscFBMHIYJvoQEdkGWjnOFuFZlvUbgCGRcqmZbuCrHKgUIIeItgbFUXNwwMHvTZXhXNxanvxyTbRAWeTlglfUNQXPKdnkjHwGMJXfIRnIyOiKtSimSgmqNgzbCOYhSmCkjMgWzUoFRGqDNCyceDNJtrmqwlrRzggJOYdpbuhmyNVvrRcpzlRwVUIWLWpWkxnpDknGwoBNBQgiNtbzUxBAAbivPdeIMzBYkwBMbwGnFxDBnvwWwVssEGEhuADFMEUltxZomSulLxPYDtucyivasnrgjaQoWlyWvcOzcfVMWbnYJaQkBXwBGaxtQOrIRhHIpGNreIidWjOrEdEtHVwjXVctvcxtKTNMhTBLJzmNnMCdmDUgGGYFmADYjKMzEnmROHyzHzGhEkMPaBDIjhzuKMnqfaFXburktmXiLTnNTCJOAwPXbekVvzcaTCafeWHXoqBXpidPDkTeyvYeuyJBHKhwMqYIu", "VcnYudrYPdZBLOQdoLUpWciumimqgapJQmknGFrpyOcOBhIvwaDnQWllCpEpSOYGwSreUZgIjxCiMPzdnWlIRGWJojWFPrRmyZhvaGSJratIhdbxAYaeuGlKghIlfIasZrBoPFVMcdDsvHVIszVPvyMCyuoWvzZkHlBRZdDYghJYjeTtbTQjTXbWsXMpgRHWeXbpNAieifDqlwkSIEwYjcOaewNRDPMOxYuuYsHjCbWSPuVWgalhRqdfShTgMUiwZMGGysffcnxKqpOGSGsfILNkMwBhHFTxmiwmWvxUFNRXUDEdqQSHEkEXEQwDEyeOtebEODadrCALTevfQBQTTXiLhPEwShioZvNuAyYErGJjMVZZFKGIGNTcDicixJwVMTYbotOtbZQHSfkQHPluayOigmlbRQLZkKxVQTEaqIdRYvphsIpddZlNaHFEnakDpxuaSNvkUnwjsADNrtZaDBtFmpGqexjflLqqtxnfOOnwDZUOlnnCwcgguDixRsAW", "MQzIJzKBmszreDCHKYLTLcgSkSrbqFsqjVWwKUlrDmterGNLnqfkNZXalFAPYDJplFKOhOCisXZDbqrZAAQxbHUGlCIQiIOuGIGmGauWtOKnHLhdJdmbyMEuDEwpRnTRgOxFEtXpiOBDuvPeRhavPjJRkMJcxRGPAdgRFINAKnkLNJIisdnFZfctlJVJFbLsDtUBWUfIdcoKjtOhjOhjjSpuJwiLUOwvzseuxGupMbMdhogNejvVMIWKxSLQqhLRvCuQrjElviSgFljxTogtAYJMYvXFAgyGCUgjSrWcTZmMjaiuydafjeaDUGNdWgLVBKXvrnXMsFwXMoSgDqknleKreQLAAldKWgMLbqoqyhGTCFRqxKJgZRdwjcFhNPTreTKQKiCaJyduvpNTvoylTSomjpJsiSKOuwrDOtSMcbAYCBEZTDwsxYbIxAkfQpaXzjWOsjPBGEOgWpZzUEkRNcSAAkvVPqpByzReBUJETDmKQJZTloZnGlzvvVsgtiVL", "WzYuNytjNWwSWmYzNCOySbZAFsobxieyRWWqKBufvXeXCEwkfQixPGvcSanaApVhlTZyKHuctpyFtbuXhdJwpKNpnAbogSxqgUZYbCtJfsjwoazuZAqMvZmNSsfSAWYSoLgYtmWHmYXpLbQqBXlfzygJaBQdOuRnBAuHfFZrcRTSbSiyQXYdRRNcrGLUtlKsXEOkXIhkXYLQjbjoPsZdtjNsheeLyJhDbdXcgHtlSlGWGGbmcSKpbtHoLuhymNBLguqmtjCGGVNdHgLoJdFeIHgIpcSlBVADQfkaKWYiMXamEPsTZbSymXizGudlbiJRcyMiFDSqzSVVNpWCUDzBinQNJsxONfooCRsbfJCVDENWPfLGExnOfcePfhcgBLRfaxGHPOtHFbtKgnYtVeAGoGoPhwlsxUtMIFEIcRZRbFdvFvwGQxqHLpEUCLORcPxFyUxTRnMrCAEsEzXYSTYyZVeNmTUBqhbLLaxCXXDfxbhxyVTFCyYHdlCVXDakeAwv", "IXtmTxWRPCjHEkKBODzhjOwnYWKTWpgEDnbBgxyKyNYGAISRZBLcvwsFeSZbDkfZaqLpYfHLZAcGSlWZnfzljhaNKMTLGquPMOKxNNxjYBobGTBbVqXcfPVYBKbUMRrXZQSWJdYOgfJwHSVDsWkBcacOzoJhymogfXbklPjkqiUOoCNmgoQfRFzakVCEtVGICYPVskarTRYoHDKddsnHIXFsRoZkqISEdwcusMTfjoimPYGRQazvZwklqlohtAwEuLlsgNRkcGQEjinNJioSUUeSHdDuHbsomRCqHqqwZzaeWKpmJhKsYfqSaWAOSbwLpWBQNASvlvejLQKzBAEArXaIHbgRuQlrHgEMVVfvwdUfTFWuWBoWwdlWFQDaisaDRGlnKbwRKeqymAoWBKGJpXYiXRefrJLPSfKahObIWemOniapXEMPnDvkOgJkYMVvCtERtNxCpfnKakssKSRUXFuBQalAFyLiyUCzuvEmmaXQAGOFceNInmDCkiCubXFq", "NIEtYYvQfSRHFFEgRuhgGMaHDGSCNOERmIArpfGDktEPNnEUcqWdepqwMvqvXVerTfrmquACwnlXJwOFPYKXZHHfMyMZGnsVbNpPKLdVAiZcyNTQgavwHdPPrhvYjBtMNKlfbxPMbzVjCbNPFYgkJiWorBNOHwgsMXqHNdGMNsRsKyzOhFLTPFAqUcWaySQvVbRHCtWsDbRqqTaYoGGAuHVqCiJRYKDdbRVrHCmNZhKazlLqyypyxyJhQpYxFqpJeWoYWfXynosvAxrhCiwerkMBiiwZlzQXapBdpDlBxMprKLLBTyKMambAPzWxVAZPRlrTzPkPOBrkxblnGdjXpkaEnWimgJetGxuXoXoDBlVrlnxfQMHOsZBwsvwerHVQdzkJDztLtOjFRxPzkypmqTltQvSRlxZsugAXcKTvFIwsajyXBsRGWyIaYgmnvYzVgMmKFGdNSAaMWiOshEGcpWFKFcwFCNgNvDojGIlqeiUhgFwCCcyKBsYygPnhTHid", "tDwRNOEXBkYtgNssPPSKrbepsQCGqUDYMFxyNwUbKBEjTcYBAYTQvVxkQNemmbzaeTamZHyXltWpiKRmBLEniuiqJYETapREnSzIlTVQwrSRTwqNioJfnNhccTWbIQRRTKuisozjyqSNZkSfBpLtwglPIKMnssrBUfMsFNuOZfFLPEaDKKmooiDXgoxqJgbOWATaLISyNSppvSaFfzYtASeANzKPptCQSWpkPpuaBeGpkxxnPPimldCPJfRvUxgnYvKOeVsfeXJvJwVlLsJzJQTiHdVAiBUreNMCbXWvAmWxWFkACQlmQUWTtefClRgFgcOjqrodenCicKQgOmwsjUCbwZPKKNJdUgLFuiCLvhNDkvGUQhOoKFpKKYBIQhHSuMDrhJxnaNuGqzYyViPlaMahtiFfyCAJwtexNgXtmazmcbQwoVeZuuOlaKimFtYvzMFLJQTdWhJThmhgDFPZxecJBmcTJRqZzUYbpmqYFpnOggGGjPhpJXjVfLrbhkoV", "mgUYgUBwCLVSXaauBgSCylbFpbCJNbBfQdwinhmgXrtERFCFxtFGHdtBtQAFSIYVIwRDBGcGpoHMflaxFNVyevTCUdNHhePYSfrhQPFLARegcRzlIsBrrfHiQwDfgknEyvxXBufAzDxxFoqoQVHyvhuLMHBwKdGRTqGMePDXAWebLTzrAByTFxZsevBBSGwnCLJNUsjabkYWcNXhvJYWxXfOFuMWbSvuQvdRYFjawsUWuHsYYvGvukIeCpXhKQoCjIrwLnvZOPbJQfTEIjhZARAdAPrRLsDtevDiDwaZyXQdzCgFnyRqiJqQePvDyKTbjfgBOLjxETqwbKZvPltHFJydxPPXXUvmnISJJVLZxFBNytMzTaYcmCIjDhqTAaTmfPQOmlsRIoyQWLwYgHxAPGfdTsoxLKaORtHdRmeyuLoORRkxkSzvaqaALiShBuwbABFWpeaTXkREisWEncaLTtKVavbILxIWIyJaMvJHxyMWXhaZJmpuPKpQasbuyuSJ", "CruKRlNKPKVusthVlCxrzllfuAVXTnSRYkpqlnTXBOscIVjOffRSEPvgtcUmWzApEjozQiAEzAelyNskCtenXxBBWloWUCAdMQRSaolQEEhpHYCulwaGyJvoMiXOnnJqKBPtQOnUxiVCUPZKqPAJImoaIjccecYfflcwTpfymxjCtVBDyViYMdRnHrKomPIHhRQKDNJaWfhzCaiLDXaFHGXVKlAhlONNgtRsacREkdsEHgWMpdPzctJbJWDVynDJmIfrbmrEadNQNmPJrYRKAdmDCtECjQilhTGqZZFlTKJicjctuffCniVLacVQADhhgOTiWhFHMUngHdEbpghZhoTURzhzCakzvVHZsYyAHvlAPtOXVqMIhCMLbWeSEdKAoBcxfxHIzpYGDkCbpeBAqegkHHYCJxANldmWczJaLchrsDgoxPymQpHcTuWIVaWdPrXmNNxpxvzFqvKJdvfiHzUzgWWlzdgRkTeeWzPMXvDOHXSnsMuaVeZbEneoAPUt", "ufBYARCxgRCAMCQSSvoNqIPbhljMvqyxGJcrsOXzyYKHdswkBJAOoFNVPcvbOUhUJvevRQYtndrxvfJETxbdTLxpjiJycswblPOlteqdOOZARZpNrzJJdIsjocSHBCAFaQJrPFcYmTeXHykHMwRCCQWZhoxycactpIDkFAwcvJLOdrntgezUyyQboloHOCAlOuzqkxDGHHurCIuPMDafgpXYuVfVnTRWebnMHqLXZEiOLORQnVPzqgdfulSnzTtKjBNCErxFnuLtgIDNYLSTXPUEtNWBUckQEgbrFzRYsHOZlSTQodxKVrvYtVYcIkZJcszAvpglFpdOkjLxDwvcqCrwJEgHeaArSBoPHZBZYFoboWfxIQwydTZlPykdaljpQOQeQZloBLhJvnIHwDHvzkBahrkvBfAgGKmhZHHhbOMMWNhrQthkNIPsfBEvKcZllqSLMLuEUbxBAuuYHImvEqiryYTvtnBdNUVGfCsVtFKXmEFxkftWTVukZmcrROON", "DRsAOFXfIlzSuksTBQuEqORKErCFvxTqsLGLGiaOMzfIlMshqhzbXoRKiQGRqnaFSurhDeipNlzezxlRgnmLFHEuZCELlAyldQnUPFZngQrRkLvLiYYZlcHLctuDPOCtQECjFVQUMyZEnFIrKIMvtEGPRpltlEtctwzyTGeBXCQLntSUcbqtOIxdCxyBWQPztvhooyAxciktoHvZHhiQhAJeWOiXwhkEeHniCQsOFkiewCziWVOAAifEDDLjbrXSbHYXoZswfBERavBquTpCDbLlScDOOhYQWTrfnQPRnXJxmRWYDuPavSOKZnlXFNKBGUeZLYbponTOmynHZklsERidkQGitdNZGmPqelxtbgTPhJLJvqMzpDdldQwbiYLEOHmebwFvhhftXWGPocddqpQsHTNtzTEHwQkODvgkavRFHnwUKTfPvyhaYcdfJSiCgRShWXYvUfGTwltCTVgddpOruDVpLzomZgKWCMatsKPkyDESQDcIBtlkOEgeypwG", "SUWamJqAdZLtXnBjuImjqVRaymooAHpbEQcoDDspeUgQKDUIdIgnmhMjnQDWRqHRCkFYSjrufabhyTMoxfbaJxoARGEKYjlsXKSMZCQKnOOJIAQObMrdgYeFEkpOWnDgohJaIUQUVeJhIAizTenRMsCarDOhMcmTFzOvdtUbeEfGZWMbZCMbhYaSwJJankEzylhkFeXzlsRMdMTGmxsiEmqWdBpQEYSNXZmAxARrYxxLYhNvaqhfktDyoJLMFsqCQRcxcHeEqNOCjwnWMdqaCNqSvHRwXubVvlwoPtsWoeUMRmKLbjiyXgxJeTfNgbDEULjKxlSrnRDTNZezbAnTuxrKkEMuljpkphRWpkqHtZoAByZrVywzTuKsJovpCTtKFpsFBPvdRtrAkLKjtCMuyvuJofzkcOQudQOfedglwcOneQmIIOIdTyaCMKFihgldNHTDBzcjPsxSuZELVzbzZJQoQGqYvkcYyLpQEKfqkqGaWIISQELIzYjFAUwsTUdT", "rYXofQmQMUDfDqtMspjQQiAhNKKneTlnqECQFTsZiExQCFxMLMsgSPYzNcUejsbQsONnvFhotQuewDOtutejyoZsLhMbQtEhAzWNEcmMmFvvjqCxSwlXfcfvjRaLlkkNQqHrAKqqZhjdoxnfnjQSGKZOCjrifUCOScBZlsxeeshwpKeMfZxWuRaiHdyZMZHqzGPmdIVRDCqIYeQQepVGwBOoetCjowZzmZGWiXHgXhsEJqKHiFqhNWJeNimZBLpTzcXlwdUueJTgvzYvdOGcBAHGMZVmjdJDYNmBPMHynqaDWjeKoYOdgcaCXJrIBiudWdMLGFxpRVnytHpKqjRunhWOuaqJbsAZtvdJAQdUTeeRlZbZEgDvAgZjPleHrMGFoWDMWhEhZgaQSKwKHQjwnIIlxYKoOkpOuQBvmGSdFmGlkrnJrTHpSBARaQsznQmAFdIxUIscrDLEPhYPwdBcEMsDnzybhctYWDCZwzMEOHGKVadnKXqbMkEHzZsYUdTO", "ukueJIqqBsiUIgfYcYXKvtZaULRHOLqmrdJlbomMEEbRXxtTpIGSsNcZuUIvqsTHukUuJyBJvFydrNXFYgVHUmDdCqoEqVvnqoBWFToMkwqpiswTlzNdFQfsjazABeYlzfzoQIuildClmNaDzpfxZEWBBLPntMsLwgNYlULxrzUXhSKpOXcPJGrioosoXquNnJpyGDCscciyQQgTggNhRbFiYkrwrerWtAcLNxCSvVdpCEEQTAlbgSUXQlnNEDghLNowVMTQgPtohLDUCRhAEgNNAqTncWErkLRemFFMDWlILkXKtvYzXbbjUXSYKQDAgXXFzgaqGSHOCNuznVEKHNLZKauwDmdcJbJTeLMvXzhQMwUrUJdVqrGqOUotvsOeyTjHAMniPyhodlufJKiyeGGVYWjstHoxSAsrGuYyBLmgWGwsFAAZaASIBhjRDZUlIVYEQzEErJAOFGBgBZlpphzuAoVXFnAjNjDqYRTZIRmSlSMlHyluCPUJmJChmNbs", "VNmiQZwsaiEAQFUISRjnxEPypydQSCFruKKxzqjrXIMDWdjKJSLCpuZcUwHKLhFiNeHfBAFnGfuyATbqeAHgbRQCFmdByVPLtvWeIsvzhKzeHgtQOVvEXifqJnsQXsOwfJjhLQthMQiqkOeKTemGsjGJyOfdmlhaweHwtuujOFRhDmfRxXARzSHZiufcxhdYRqzAhvFlfxXHBhywSYCUOGoxdfJVZrznykZMbCwLiaTBZxdbRMsUHUHZAjwTGjiKWKItCtlaXKrjYAfloVFOQxPSAOURYkHgvVaumCUuiHNzclXZQTDZKRRaImSNZwNEbyDYXCnnrBOvSMPItjLkaLdUiYldjvgbSKSocFyhDaHNUJLLvsthmcitMuXacYThxLYXxsksETzUbPksYMDHBoHmwhUhTkLbKhUqtOXCpcSUOVPZFgvIvcyosGBJDibnPntZwDYiKNqirVZXNgKAHBtYeTOvKOIkyaVJdDHMCTjcLznpzZJPzBgfcgjBmERC", "rIgfWHTpwjJDmJfMqPYEyTvShSorrqAjMEOenTjgLlFcKKeOUxRsiOeaVTEjZFvLITdtLoAalDCTMuWirTSmXKNNpaqexLaUhlcRPVOIRIbslPBbAnvrQeoIiUeOfWvGbzpvcdojJSzUUgVCsKgknoBjDsPkTfJiaZahCbIYyzPYTAMiojPNgcjSOdFCMXsHlTpyxGlQcbIjBclMPPqtuJBqzFeytbmrxyiJLmAtqJUKGtRhccMTKUHaIoSuCjDtLCBgPMFvOhvLEcjnSkTJtCFmmWKOuQeThOOSiblkokPuDYoPcSQbxldnzxCdQfrPgBisfxMfdNHJcSLYZnnMSrrfTuSSVMtGrmGXONnwzxPhiRmWxSJWoOlLdrACRGGtLngRjeoSGuWRKSIJJsSeTPkkBLqIoaIKQJReiYDXicyNLtmyspkyZKrFoNCxphypYsqBIGmbKVKbAhPifOZkVWVHDHBISfYbKnneOOtPujpCrBnCXemnROSBJrFeaDdz", "NPTdhHuoNzMAHMnqxXeafoPdsEgSiluCxlrJVcZLhhshjjQNORdUuwqdtETVlAodZigWbdDRZcMLKUJmYhauFbTDVKeZyVBwRncWOtUrjogowvyXqpcmZhbgAJtXvVRyLXrPVPloiPhZkDAgdNxLBimUVUlflFWjkhPVNdMAuioeIxXmZssojAxMxYKUyUoLFlZfMiNhydVnjjhBeoUKcLlqFwqJCsxypaNGNGCbQUQQGYzahuUVJHhVmPKEbbaqjRopGkWxqzTSVXAkYKzDcpxXzcMnYnDHgmNwEuvygDhGmCTDjEYvYvcpvZFDMdRVgWnTMfLbeeHLMCwoKncIlXHggUpkTULuuTiXdRJpcAUBNcBpiizzkCfPVZVJszcWnvVXQfILRNRPIcnoSaULCsMRVcNKuPpNDYHywPdEcmMXjpqHywqQZZkyFbSUfXTQMknvqecYPpJjdyrgsnqUgSnmLjzMWwRBldcBzbEpESANPOAQfxHUNGZzRPJxHlAk", "cnkpEHgGzcLbsjGjAFFBadtUJwGMYZmlbQgNuIWZHNNlnUWQCcJUcvCqejLjKkQnYpkEinmblCbnwbMkeuVXeKPiRbcXHYAewzpFPKfyzcRCIuasbeXieHPceIxXNOVGjKAJpjvGDqDgEejcwnAYvkdMuKjJLKnEsWZBaVpwIzLYbdYaiVZSzIGsJjOcHogxgMjKxnTdplGNaaLIbrSGniisXpwcpftwVZcwRPKUVRHPLsZOYNSTgDRBdpIxvkqexPGdhVtxgJhOPgagdwRSNSTbGJIqWSDpTbseyyUglCaXsVdKWEVPHyvXpusfGGseNpVprgoepVudddummVgOxPwbqhfuTrhHjeBfRgBYGYvUjcqraCpCtltLdqQqpTBwFqaoyVDytkXVdzKyOpzemVkVxRuMZUAgGolKSYdIOmcieSIDtsGfjJvKbOiNuLmRJKBixqTqFzRiPVGgSzDQiIICQWwUQdPhSfyvzDlZxJSfjrcqhUAumOGFrgxGMGRe", "nXWpMLRTINPTPcLcdvhxDSAxDCuLepmriieEgiQtPmXqkPLBCnCMTTPMAhpIkvXZSbunZvMqqKJGNvVxZAcNdVchHoMDezAfCpTTjpXlcUNsquMltDoneRIqKHKiAAgyMfLzHrViBLJYacCFsntpsuoqTaBXPXbBipURYHxdYEfjQwWszuhWGXxZsslurffAsCTHUYzStiLlZaELeBxsGbZvVCpYTJRfyZslIvXsRghXENrPKkBgZsdYYaFPadOqpvkcKYillCRpXyMxjANqJvLPDynteeLcKJIXdjrCyVEHqdgGmWjRNZjtPuMLuLdyYafQWIWHtXDPvitNSVhmMnDhJhGaNnAqySpERzODTqcZpzfjMUyuLAiXjvjCdrNGyRTptYGWhDHulSSEsppqcplXvjxcPydUwlgZSptMKVCECoxhsDlPRfYjJNJOKaNpSMxKbVKfAmLEOYeMDVEeZmDqKjJuWqtSOMizPIDXvEpIrqpvXmOmILPqHDKSNBRU", "rzKeujKuXgEwEqeOKFlLqNNWKudMWhjspOgnMoybRQdwqQXfMPNmJgkesAksbcufbxZSNNHpUgCWDtHXkRUSfjCtTxfSFSNUVfxHeXsOOoEOcMLPOpVLAiJGBtiYxwiFYDxPgasoJBlQHsWPDCVyczhfAtLoahJNbYiMYipKDizOWuoXKwwFnYbuywgnxybGvdhphalRNpYiSdmlaUHfXBPyPuXrKTHJOIUKXCQxIHsBRmEZmNOvuUmViZOcYFvtRSxjNGcjGPwXtNfXuoczqylPdOFRzGYlJsdgrsPHEOAVaKeMcvdHVyYytmzFDevDpWxfZFTCUXhQSCVFOmFCqJLTELKawZzDrpgseVrRknCmzHLxFNirVNgcliYFhghNNVzDzUhVkJPMCuhsxUWvrQQMqDSYCaddkYBFsEOlCbcIvrJUfQKHZLrZShhtqxYUpSQSbREsRcWoQWwVgkiLJgaUJAcvtMyaUmMCMgqSrgEkZyllmSlHFXaWqWSMAOMY", "fHpXzVdMoATSsAKfWAkmheSZawZrYcmCaWlSZVlQjqynffJqPixNWRXAnyonhLDTurOoDdfkFMwmYvTKVFdXtQHCZPljWcLKMHLIJarpdWYzlbdyAxPDLGVRXwkyHgTrpzQDsPHGFqjLIZigJlSMrkSEXhvJntlFBCyeyGMGtZionGoGwtmmEpVLiNGcAJifFKKYAENkTWWORTGuiZQvXPdLnRKEJeNhsxHmtgPPjWrNobOxTqxyaGSqIibCzfTiFaXXmQLmoPfdOPiIItvNSSwSglsHvVNAbhbwALkJZpBbWcVybXmqWdDFAqhzePKQayhDeQshbBzdWnXgmYNVpnywsrnHCViCesnTmtpFNJCfGfpsYRNmMVRuWxmeMKeCGJXAQuRYTKAvRBZlQNFSLYujboNOUsvGUJndpvSGQSmDFQrfmrlWqVwZxArEyaSghGqCvpmryDOExlnrmiQjiPJkFKCRoehKEsdOGjJJvRNpWHAOSqBgHwIPoNVduyut", "RftgVPKrbhPmELOvHNwxcLJzVOSiWbtlImDsnHJSRpIkaPHtlhnGRyGIexEgrSlKaMCfENFycxQJpfWDniafmJTRoJJZqnwJMkIxqWSTOeAsSGtRigKfLvcMqMhgpXLijmGkjPgKnVDYMqdprNMLUqvxlSTBEChpdldDYDrFPaKWbUOXtyBXQGSldeJQVFUOyTqOmgkTABzpBxkBrVCFMiDnhKCDdsHKUvguiMyKzZAZSDXsRZGGuxmZmNIuYMfwXdciuSyfpQakuADsXRXAmBxaULAxsGrAxmpMxehIyIWtEHnCOqwGhphVvnbScaenTlgkXjNayvtlcscZVVnPrprUgfywsRSRodsFtmPwfxDHcCSsdVlzJPgpMyXJKpOfYINifkqjIISQkiqzdQOSgqOOFORiaYALQqhXtajvTUgWLeJtDfhvuuhIxDwAXlmJTHnjDmOMUZCQYEkZZnwnXTAHLetxyXFleSRrUgPrmdYevPliKpqYfoONgxHGwXuc"],"c_array_ipv6":["qlWiKImTwk", "sDdJVhjFdI", "LSrgEQNFBe", "BEvlVFQMig", "bEGZcbRWXJ", "xmDfTJQdyr", "jMJMUDBgXO", "VavDTHNlzN", "tDBuhbxbvU", "HMgBoTtIkK", "EvintPyUJU", "qZHSBCCzyP", "IJmiuOoRSn", "OfwguHgppq", "JrFlTrenls", "dQAmYOftWq", "iFRJzNwigL", "GvEwvhOpPK", "BdfIZiGwKm", "VrXcfQwKtS", "kqPVHBqjXX", "wFYwQcefus", "JgULqmUWuI", "yZuAbPWDXT", "PnZFjLSUfp"],"c_map_largeint":{"c_map_largeint_1":-5338772559365026889, "c_map_largeint_2":-70434658956763233, "c_map_largeint_3":8996195760513306036, "c_map_largeint_4":8124682510891255990, "c_map_largeint_5":5739001669275303174, "c_map_largeint_6":-5588372380847208077, "c_map_largeint_7":4527682260226129768, "c_map_largeint_8":7077850743893465423, "c_map_largeint_9":8703747141922383111, "c_map_largeint_10":9194624266892275382},"c_map_double":{"c_map_double_1":23.351901609779787, "c_map_double_2":82.35274396824923, "c_map_double_3":16.421231045751398, "c_map_double_4":55.31032558688515, "c_map_double_5":22.39123672666119, "c_map_double_6":12.182393281716891, "c_map_double_7":26.533453464733896, "c_map_double_8":9.36690699675171, "c_map_double_9":20.161081352924597, "c_map_double_10":34.02716085883581},"c_map_ipv4":{"c_map_ipv4_1":"21.17.220.191", "c_map_ipv4_2":"47.233.21.155", "c_map_ipv4_3":"6.250.91.87", "c_map_ipv4_4":"28.80.48.194", "c_map_ipv4_5":"16.169.234.189", "c_map_ipv4_6":"16.43.83.2", "c_map_ipv4_7":"112.248.136.55", "c_map_ipv4_8":"208.58.144.237", "c_map_ipv4_9":"30.183.48.113", "c_map_ipv4_10":"31.80.67.149"},"c_array_char":["fUunSxjAod", "lvgPUJcRkZ", "NDfvsdYuyC", "eIIGuZwKZZ", "UKOOtbHlwt", "uOyaZIIWAG", "FAuvtYIHhZ", "AcvfPDGdky", "jXLRuajbno", "itcbJIeEFU", "YeMmRpEHyy", "xYyozCiKDv", "vagMIAseUp", "LksixvfTvk", "TyjJOPTRwJ", "fvHhZLBSIl", "gTrBDJACQH", "UzHTabIbeJ", "uBcvXxYMjP", "HEFYFUBoQR", "ymRaRTtcxc", "qdrtvivYKo", "TPzdZeEHYC", "KezNGGhcoN", "fcHswnbIrv"],"c_boolean":1,"c_double":41.86265347582344,"c_decimal":72.1520,"c_datetime":"2019-11-24 19:17:39","c_ipv6":"bffc:98c6:88f8:b0b7:11e5:de56:76ff:83c7","c_array_varchar":["MGxdGYGeNkKWvSfqNAybmoKpkJktmABJCwjSRdGtNSjTEGkHqQIypiYdJvGvXSNZBiqwpMKVIBhnmwPcxNdFJlCtDtEYQgeTPGjDGfhaSSYBdCmysQXnpwrMYZddZYZAFvWbFhuvhWaakWynlsHbCcCwOOaalUZDDZuFbwJYKLVwZjVYMOQgHTYCYuMdoopAfzEMmFdKOvvdjsvwGFmviXOhXJTsbOeVyDXEDKNkmOhltbHeCEMRMgXbBhuPFPJz", "qgNBfskgxUjfNEnrkiQhWzQehhWpMqKgurWpjbzNjsmRMuuRLJCUmOelNPEdwNQrLOZXSefeRotZvlkMvwpXcwsJyVWzmvHfgmGPRKCYrKNrfYHQkrJYiugMLLrZmbYBfAyLdhIbRXMJyjVITKJuAuHWgFZyOzPcPzrhxDUHMpIReUbGgFWmfvfPPXkTOdDmaQyaQlyvArsiMklBDQSKbJDGheftbBdhuVvJVqPNxYevgOmjYoBFdBpODhrZQwqS", "vVEBaQRjvHzgXHdQyheOzxyHCntLlhLhFkJBuforxozGzKTEIpdbOkDhHQAvHZERkEucEneWqyagAkpbTOSMpYatcCjgxnRMhvQywkftyDbNJPdFWCuPQzHVNETuospnuUrOCjoufZagGZWctpOUuADUvHQaqpOdfEuIhkuCZKMpDfzJyqYnQSgmbvrjZWRzjWYgkGCLPWaMDAJHJxmGKhwPKQedNpMrAlHytcvBuZYgFGaobXOtGHxREttUMxdd", "louhiNiDExZFYTNddYRCkkLELvKjuUjBaiGPwyIXuhMZIAuDLjgIEHPhMLxRyktLKVtWAevToXqfePyqtVrQlRhOngjJOODeRsoPbPesVguAwAuaBdpSGlkzsIrKJNNEuKOsCspEbHOcEATTBGlQPKDdCUbDngZAWlNlaNSDzLxKxsMDfjqEyOirXrSuweJerQcZAEtoerIxmvadwSPsDTYTzMxNlQApaLJrMJvSKRnZTjbfLjtRJVPcPgTfkHBT", "XipzJbnjdjQfELaxDRZLeFlNHWiCdORiFVblqdFFrXSFUGaJJRYOcRSwKEwytuoIBWTvGcbvpBnZfzVyZjUmDZrhnaHSdkLcNAmXyqftbzZNUhkQtcgfaCounEtazHVocnyljiCdTwdBslLHwkmOraUmtXUDNchQqdqFlbKZrpSuqVvxnqCZlCRAkWzKAmmdXZdZXQgxdmpOKSIxUtliZGWKpKitKlQQnNcQEloDcKtMelsfPteqfUypUmBDWjZT", "EbsZBNcAIzEFHpptCUdSxKzytJOBVbBYRdKKMvoqfiZMFUqmnmMRUsGRhPzGrMelgLtHeiTfsNaywhSAXjQppgGjjcoFjngfcxPmROSmbxObUiPMzMYyPjGiPjPsdcsEsFlzMJRadKJGxnWCZkBlhnjEdGwDqVSjlhnqyGdGraaOouYTrLEnKgxryavMKryrapjRQMckcTvodlEMYAmfVgxaFsDczFAsRUAFlEuWgkfbIHzxcxbERfKPnkjNlnHN", "KGnsjYYmVZzPHwmyuXspnZcoeygjOnJdVEgKCwCoMJRBloLArmZTPrizMGeqVPMrGOmQIDSdtDHeoJFGIDOyzuNysVAJzIBTqrhbIsxIzMWKHAOsDyBtftXzpWFtPNnNMmYmSwGqNCnaQSrwpmmHiCFxvDrDSuIjSKIutSSKConFRLgmZmWeAFtsFqOcVEgxiBHTybcosBuqLybBceEEPEEdHDEItMYrZRNetVuPkiMjwRpeXphJQhVMmZZRQeWz", "vIUgtHOYllNNtQSGgyqBmJfaoPrVYuGZRxapNYQBglfxcGvUgSTLCQVCxrHMkScHUuUetMknEQrBfnKhirnvQhpfVVRYOmWKSWwqIsCkoMXxZKzYGXOfgAHXPxIdJUfwwjArerbXSLyeVLzVTgtWGxNvXJgxGAvosWTiTeIDyPngAcNLgrDUTVRFwRYPDKFpXUncHCYjQRjTHGWQzKUTkJGvvlMnBbMYxKTVeDWqTQlHPTqckdRfTFJrXUJlWSFa", "YExZtVdvvEAbjfgUsWxDFDfVXdAtfWmLSOeIQXxTSvTdxJpoILdZwXiFHNBaIgkudXjiXCrnPaWOVxWeMYUbiczJxelIfnRSgIDaEVjCbgIFdQFfqCNRoWpCpbzSdfTIgAqiXYLamvmSnZubMIaHAjgUITMcBMqbUCmoaoSyuYYfBSJfZjsmLmeIvirZugRpRfhmucaklTEqhrInYQXJzRvQLHQIshRAMHLcSXzqEaZufRFaYgVrVoqZQOTUpghY", "QizSeneLDbyyeQHaqDmiIWsWMyTHPtrIkEyDYCfNknYLOGuHbxUHyrqIAIILicxkuYuppubJfZNwavuLKrVdFLpxaWrUEDcaPEtjhOYLXxnioWDqgJTbSzeYYPXtftmLJLlgUTtfspbcrzjPXyuCifTtsmxYgjjHoamJtVSDFdjbVFqMXSNeJpjsoijeEWIPwyfReVYnfUNKCEqmzgQEYZpUihpeVtLfULlolFBTFZZcgfNdblatWoshrjDUEuOc", "xqPYVMJRaKglYrbLwFNybhOAweYObXPNHfZkcqQvzfSDugUGKJNxVhsqrrkFZTKHjHgZVRRWtyDXKApjTXDDjNZmriOAooZqIrvUiGcsyxBUqznPXRCMdkzhoZWPPiFezoQdkdaBUfXOBCRrStFvgVxtXhuuItWTFixUbwMaceYeGbBaqAXMaOrSiCJpBQZXwtFwgFHmcutEwGpyhbkTBbYjSwDxFYXnfhtdJSPYhIwoHxncQmVRFyDflhtzAaGa", "UckNiXbIuSafDTcLnfYALWsvZvTUUadxpHuyjwKEaxyjBknzdNIIOBOQbFXKcZrMxxAPhMywBaWJrKtKknGFdwXohDOwCfbQESvoUUCSUOJqUKPMAmhAGrwMvRdVmDaGpEKEogqWazCQwNfUftrbuMSAmOQjNEnzilVoYEDnpxQHRFPExukGMbQmejLwHJQuNYoWjTVbAUIMNaHvIRkWNCfPyCfGfmrIQtKpQwdtzmRjfrnadSvcvqbVsfvutYEe", "UZRudGreTPEFMrZpDfrmhFlRaJXuKwCORqLZrHrxTZrYgJVCjMrISRfsfICsRbwuaeaViiZnirXueNIbUZCcOgWowEsgQoVaWTjVuLvjagDsfIQWCHxjWLPlbWemCERcwxYTccNWNVKOriRpRNRTViJreGZehtoGOEMIWMRqaQGJsrEwMrtIMWkUYrWxCcoVBWNUCtcumWofjttazkvzpmKTLrRpJCLTXNGFhLKNnGJdHDaOZnySmZaXzBeWWtrI", "WzfdrUPgJJbPzOyVVXJIGpnShHXdXNUhsMJRUPFDIYHGuAoYeSwVsieetMcGZSyupsKeZltFXLeeYNMYgWmJGamtYdBizQxLRIxObOQJfecDxTXbBwUvpIyMxcLaYAhZFpvflIoJgfUjzMzcFZzzVemvkoPoTjxUEUWSrJEtdpzaLKBdBKGzZFrDetSzjCYzeZzRZxmlCeYzLPYdoVuiecDqBAegqwBdaMcsQOldAuclhSZwKzVZrneyOWAzDPvM", "IPwHvFrRMmhjHpxwVKDyVCyYkyvKMGMkRiHEyNUcBjTQyKJJVYyBDPMPsWERRRSbUzPuXEdZpPUUFHKUaQmnPqvqReenzTjCVAkphvydciWgzicOHRAyMSMvHtsKhukbqFyjpaRIKPkhVcFJHpPRAxuoykdcHqOiEfzEzpbXJKZIoppcaMhNxPhbdujLLrwrGZlyHnhooauGbHYoAFeUsWGGrFYKDHgUuZDtXMEAGLJKJQSMHSsjacdSrjqoSSLb", "xSRDEzHzzjFvCOYOeFfkVXZmfINTbsXERHclYkRXLxlXNaRsRWhiDUpXeGPixFIJMAEThbrEtCjRsYCrCniJZJSeLWlxCmhgbqZiUeysJzFalCknXvrfjDWvEXifTlpTftkdeRrScEivJEBkcwtJWmEtVlOHyARKIOtamFBxdEoRnodecOZUGiVqNpSbGkpHtWSwXNoBFzTMfHBttsdfkIHQbdXDCuWRigMeXDWEdPXnQneTWFKkJUwgBkPGKXhu", "sYWKOKNHpVLWxlcnwqbTMbAtpAlpayStWOqxJJJQLdorhJWCLGZBnpVmYAzyQqHOuXlLwQHVFdnQqEqQQBbSBVlLylQxVyxIhVtNcFQkiWrXMyhXdpFeKiCIzAckcTcBrMWqQsblPuctRxMkuNjIEPgLaleAisrHAoEBtQhEEaVOlhCoEmSvjwCgxeVUiXRMdboSUsCZTfvJRdvQgfUiChRQRZgKICfgMYtfwiOQteBEqiAuzLnfnxHIsfJuXBoe", "mxNCzwLfvwkXDDZiwCzxaWTdqubfmUKdXIUZjyJzgPFpqZofqXvcagGyasBiEcNWfNRDzmKMwDnSdVtWplcAClFwuzgLTNPdPkBhXirmcBZHVjTnCfqEvbjgdwxzlTbQxWnSCxasvpVtnGiHHhsMfHcmudOuvggkUUNeciLxFhdIuctJWNskXlPyDWyLznOBFaLlThtOoJJCHVpWDjyJCfmeZYNBYaoNLEXkxSWXlNHnsvvKQJKzNaZLTLWuPngs", "AwauDYkOKZCyHBgOHurKbbMdduCvEloBqUqotVeXIdHvfHcFQUpmdWLJyAPIZPHywSQGjEzaePkEcIZHOkvMEufSzAXNrNwFEZTEStZAXnovoQAvutQkGlWKXMiTPvBbdRdcQBuZSSRdZSqSmyADBsqRsdqMkjhZYaBAwFnAexCJQkViFqucwFLzogaSdSthkqRmQZlWsnweElelPYyBcHBOSxmvdTfLFKGZqJUdAHUMhgvxrEITPmFHqUdrZViK", "CJkbCPeqBBhzVvuabyaVdUGiwGJqRRGDSAMgOWsXsJmnyojxyMDKFkjljYSfgQsCsdUkiAcvcnYjCzyklfZUpvfwjbFhvMSGZFkKnSXUmpALhHGCFRqOaPrCLZRkjfvFwuBGCgRwTbuCilACnudgWnKMVyoKgDBXfsBSOWDrGLlobrvvXbDEDNFDKEULWygJpHBEConTmMFtLfowMywFvUOthnLupxCYkkRlNctvFHQQTINeKdxjtZDAbMioYRlK", "NNBsgwCSecnsyQMycNKIwKRFrtJyuwGVClFypgSMsiCeSsiMTZRoaKXoEbpgvvTTbhPxpIzytUiqHPVgddjDaLWnLqKmtukflFbolLQTNvnMFtmPBkUwKigJDbzcKARUiwHRHswcTWdvtlZFVmUEaCcCSuHzsdnwSrEVJOivNtDaCJNECsPxwDrpcJuMttTuzHORapGezvwrdsADtVptedrdmyDHZSYHirQlYbVxLcWktydLSRivCdOkNUUzxUAW", "RhdxKPsYtGJvWTOFuSUanMHAnPzcOlqCrVyNjRablYnthOzvRLrffzyoWirRkiLkauXngbtFupZPSXSRVGNIQGqWYXzBBavigAWNevUJjGrkCSkAkrdIlkndgBnSTqOGbFMlzWDLMipMemfdcmbphJHKkntYLyTUMSOnZFgimpkRxOiDLKryVaOswljoNtPFIrIBEDDudZJACNFhbltgruZtvTmlsOzcLXQJmZdevEuekNfwKGbzpeJaojDEJzUk", "TlLrnkKkxlWkJsmBNjxaDTsAFdfWsMghmXSpgWYWjFnajHqHvHZplRGhyYpKyjaKMXICkFvfgLtsiwwkDZcWuMALmevPuGqXyqvjWGcsfzzTNdmuEWKccqXXUfInmnejAjXLKFCaduNTXgiunESWGmApbOtpWKNJzBajcijtxZymhwUiOLuNfCxnRUTHDjOHHJXNVxnRVENFrFTmZsYerJTZJZEGUYSNBwlpHVAnQegCQtKfDfkySDBJeEZLBglH", "XItoUhKLmqvFQQjrfjSRjzEYGtgVRfEUApALmfwdrmPwwtNyIyXXSIZCgMrXmnyuSFxZrlmLngZLHUztaNGfoxHiHiBRVkQzrKvzYCCgwXKTgiVdfzlehsYKgJwiMSVzNiYIEoUNRVyKOaixkszwPcQHkfzcxEdOclbLxQZKMFpCHbvCbtLBdFCfQkSpWjpvVdAogubDcglNPYcZhOpdSqCEBWLBVWhyWZCEwivUQSSlKkLTQpmSWNOhQxegxzWl", "MPFNkrsHzvjjaSPEAUDCHtaaMdYBgXqBTFeHrxmktlVeOTssNFBJvdrkdpodDPFDwQZiLiABmBZgFpmmFRYTWzodYDfuClunUQPrXswodFthpaxyBurJksXOxodtYRMRkqPMuOcktTMQIttMCwZdONUGISCzeBiGAUSoNAXdhBhTwNHPUypQVZfvpPVLFDlhdZBHLsnAPOVZitiekrCXNjQZJTRoSBUjAXPPECkfmPKbtctXvvcxQVvtAFeFbhdv"],"c_map_decimal":{"c_map_decimal_1":31.1668, "c_map_decimal_2":51.1004, "c_map_decimal_3":3.0604, "c_map_decimal_4":29.0580, "c_map_decimal_5":93.1263, "c_map_decimal_6":14.1354, "c_map_decimal_7":51.1279, "c_map_decimal_8":17.1573, "c_map_decimal_9":12.0567, "c_map_decimal_10":57.1210},"c_map_ipv6":{"c_map_ipv6_1":"cea5:b65e:a1e7:f0ad:9ef9:f87b:ef8a:a81e", "c_map_ipv6_2":"83f:a676:9243:c035:c973:2a49:5df3:5935", "c_map_ipv6_3":"92b9:dca2:1838:a7db:2620:670a:9c02:6671", "c_map_ipv6_4":"39f8:73f7:b8ff:b38a:7349:3a6d:ae24:a98c", "c_map_ipv6_5":"de4e:5fbd:d18c:cf2c:323a:6ca5:a741:7c99", "c_map_ipv6_6":"1b4c:5931:dbdc:ea5f:a00b:2936:fb3f:5579", "c_map_ipv6_7":"ddb2:5266:34df:e838:f385:11c2:55ee:5160", "c_map_ipv6_8":"8b95:a3d3:1b53:f550:519d:50c:e00d:140f", "c_map_ipv6_9":"60f0:fd32:c75f:ebb0:43ea:fff5:c6a5:c8c5", "c_map_ipv6_10":"7b8f:bd91:5ede:e66b:5c48:88c5:2bad:39fe"},"c_varchar":"do","c_string":"KffHpxYwLxJlAAapMOaTfOMYapYJxLGkZcNhKHVciFpIXkqcypaxEIOgsjoVlClwLRXcHvsfTPdHkdkPRvFPgnsIJfIQlqIYbsXtZKdmyztLWfyjuSWJvaVJuTsuXpvJSNKKYrkYfONGFwFzuOVZRJifGQXTEEwAahyNYdhFVlwCVMcMoMBMkVIsbYhDdDZbbTHeKpEIubElMqdSJZnHUzMXwBgyqFDSxDiujvPDnleqOAJNHtiRzCYdDedLjYfrdUWIAkMaxwDbmwQOUfopHXAnmvdwnBSrTfgrCfpZUwslHOgLgMTDZkjjNUnJffDAdodRomXvRcIrFwNFBosXshbpburTMPgvYzXLvAezyIfsuBwgGRWpXWKTbPAudaBRXlOoutbaniUztCQTSnvzXKPPohQPqOzodkpsZRAsGsfXVUTWTAejyCKIIpoDFRFjHLxTGnzejdrGKwaumHojDCMANxYptqLrnwbYmFpAyfnEuTjYQkausfLVSpWfVfwG","c_date":"2018-05-24","c_array_double":[11.101270604170965, 78.90505968817509, 41.0871741302884, 19.875720203531504, 61.14006787553104, 89.653784447342, 87.98045317781501, 63.964476904367444, 65.6136900138829, 74.2240156012406, 84.82154117735729, 40.642282924348464, 52.90899696374164, 51.84259672963989, 86.99721704053304, 20.056123344757232, 89.04436550643616, 1.235236011490419, 41.75096523816604, 41.85608303650037, 85.11942954398901, 98.43471830799812, 10.366580104327168, 85.72212034503433, 77.7033811869438],"c_map_string":{"c_map_string_1":"fPoZHisSvcQgefkvgKJdwtBDSxSmrUvnKixVXgQzPgoHwxdJNnKNYCtVxApqzNGQOlxNJDxoXtjiJpSpgZUCIlSiILpCXAfMovaWGzKTjnEVoXeVHZgmHvqzmBlzPQPpBAiOmddosqzpKuprSOPtMJcbJTWReNRbYTsGNqmTGyyXbdofKazgHbCqnqJPIcfkvdhTTUbdrAwDPaFyMJyIdxoMaOtYzAFaQlFqaFVMKcxrtLoQluLMmQSGCbyObtuZtZWpTiiOkaGmmmGnXQJbiwgtMsGsadUgFOANrcoUDRlOSfCLBapUFxTZAnAiGiOlqQmgimsbZSZuoTbRsSVOXOAzdYUOxFNmITVwtckgQktpwsFppbuQeaoLTcbGxOIkXZuwNXfddUiHeaBDEZTzSggBVrWaiuXqdGxHclyErlTOHeitEJWALtkmxeqTKMEvEBSwUrzgQufjOTOSZBYBbEsbBEpRMwJRLZZAEyHgzilNqkmUsXYyTxaoaNphrMYm", "c_map_string_2":"VWznjcCbWcFHAmwQsWKeiswwPDTIsfXlSXybRRKtIItGDxzAolxhdytXJFvuBRZcANzQHuGEktsTjFRIDXhNyyphxzaPzMKykpbDxqzzcUbbavZphjWMXfQSNSnTZZpAqbgLzQTPQeIJNNugKIPrftJJdVyWcVIBvAEsnzjrBbyzuzZinDcMAdBwyQEmKFweDIWfLyLboIKFaZEiXYLIzkpoVQXWTrGYgikXSmzACnTjgBFlNtRHZHThEaOtQvMJtuVXInfoHmgnBNYOhnIOvtOTkUkGzJPPtPTgTPMCaZqwgvKXzgepMzAVGAmgTACeWtnZbBuXizgvEAafFsIjVQVLxlFdhwAbTFqfOnoxXAotUecrKFQGPPhnEPxGigPXKuNqgeQKqbkIeInpxUtNJYtgRzLyZQnVEpaAiWJKsrBWrrmsKnNVuMCajqOEqMYySZLwdaiBIrGgFvmUSClFsNcgYtFUoKdSzeCTJnSCCiRtJpEcxPeXPxJnhevNxGKg", "c_map_string_3":"NAmZCdGLASCvloIhsXxklUUYCoOYTEqSmOWfdpkVIrHVhbdPdmgnxJFuEXViZTFoMUPRvYapQPYJWJrFvvitlLlMvhHzYmicgEMKMzkREmHWAjLUjqgzHAJkSfllTDKXwtROQSRvXTcleBLQEvRmTkcYiJFAyrdQeDEgGtOphCMWmpuGauEBzbysdtamRpBvEQhUMCWyzNLhFLtxqQCWIhDTHJVIUIMfwnpARxnDuLThDQgRLDXPooUGijtPWNyHjtUDbdIJaMToNIeWdgjMKxcqfZhBJfAxSLvMnSafUKLQkrMXOzDboQgynKYfrwtmoumuJTtWDqAHvxvjVuEYEgvOkNyPAkUoDPIvCmsYVWQhzjzRdgaBMFdMikjvVOjLgkbAvQKJRjBvpUqdwNohwbRvLliXjjpZHyiOmGRaWDmXiaQZXAuVeOjhiCqTRBUQdXVginSxMYZpbsnYyMIpwFduLXsCszDrwPUJfKHqdkKrXJoBDviEywanpUJexgho", "c_map_string_4":"MRRcFRXeEXpJoxKXkfyaRPpqnkUMjCnBdrsAsXxVKJRHwmGtrgpYOObYiIpPFnqLMeZMwwurVAwbdVkHkfDuqjntQXthciZGbPDvnUrbgmlLngEnfKEYlUxMQJgiFjYpaQmIIxeyivagqSZuNoyVlPzGLIpxIbUcTVOcDUhFNqPUlgcLitKliFkLLFZHocfRhgMwPHUFsGSgZoFyNuUWvMNlsHyVycpoYFtwbrSPvGaddomLlvowDtJhetpOwyWuZlFjYqySMrxKHIjpxgZgxteJkplSAmjUStLlxfIhAArUIZvSyxyfNBrfQkkcPgCusztMGbxxZEkWPNESGSwGDKGoomeHsbNTuehoskUdqvFBXXwvacoxMTwXpyKWgRjQVTIMXSKFXmmXyertsRWCZvsGlvuEbTUhFpenrqtRzLRHckzTsuaHBvyvXLYrZesaiLDeltJTJjOFeFzbrEDNnJwlXYSJsqIxxXogwnmncrpRlAuvmQwznQlfvmfpyUIG", "c_map_string_5":"AvakaAojzPzROcPMvZptmynrUxCdXfrSUxZJNTIFyrNazeirDimgXlepXokEoQcMrAHcurGeIpBcsafdyfZnpDcHujxFLbLqtdKYCNRLCwbOapxLSoLIQUjSBLHeLTVLVblQbyKouqNQvWJcFKQXDEPzMOEDnxORrldrEegXBxLiIxOtlIsjrPSOpyiozxVUxAofsvYRQLXcBhKqwOWeyHvZaKhjfAJKSiEcKNVhKsImZIWfkbnqwJbclVBchFLMyRxdmwJEheKYEaqWJxpqeTUCoitNOIgJkriAoqWOAplzNuLpDSEcqQFcBHMwvbXCVroJQartfGjXCCGFVIxAmDoSTJMiuXzqcAxoDqrzXsmxdiHLbBcmPWgKZXMOQfrvEFGXfGuwprFCfVxyqPxOgPxcgsDjRppRoELTIVEmhrLwcaEMXGyqFiSAWZrxZzQHTtdhYXilRFsjfsZGSjUXWnwUmsQVyzdWtxjKVepVgqCfPttkJwdlgSqgEEUpwCEj", "c_map_string_6":"ywHYJOvRjmAFhScdXHmJZCeJpBnCADArUpHEpuSecbJlZrvfBUaLgvgtsYMilTtCuHIptfojiIEBvUGDowVFCoYcYPtGSGpaZxCcKZxwWNAFphPLnfTKQkquOZBmahdZINRuSUSLbWtPEAcUoCvsWBojpLlXiARAJyYnSFHHCinFGSiaPazrRUMDpkuVZiVUkGjUwrRNgihNSzQGvNorGXYIYtfUGqBKclLOnkZwFOnsniUjHNriiBnlzUxidZuQxmiDgMrKnhFkbGYZHNrugHjRogzIwLVwhWoDkaqZjadNahIVdSlOhiwoWPFXGzvwDWnMyCUzNRPmvEaOtdHQeRMMFhyjcqHbpzNJFAirIVuEvQCRZUAkFWrtXQBPOXurOmfmggGKUNLUlDYkaKXOCeOtrLxvhrEXIMkAujsibKLzpFSINQaqOLJlAjilTXwquUMpnizQpsepBQeTMyBrgNntivLXyafhrPYWeEoTbTUNjUCKdCsLgndkpACDOeFH", "c_map_string_7":"tKeqhbXJitzjtQTkvloNFMbmQCKPKLUMinmcUFMYUWjxHIsghQFlEsBZhbdoaYciEzTdmTpnJgKXHammyEefvowBByjYWwSYpfKxxnDiJqpapQSIrUgmCOyDeScWtbMBvemWHjoHgGBxKvNGInWXjkXGalhymKqCzjSjwJYfMfiWwLFoLIjAGxbwcTaGjBChILgJuewMQEoYkUXTcbWpSdhMpxIPuOJUGNNNsSvAkDvPLqeUpvzBRUbDUXLMFirptVivjWdyWZsOQjZvfxvgaXxAgZBwVZLFoGVaSEXYcvUzOEOoBzFStHrosJlLpfSSHAqgYBdIaVyxOaalrvirmnsrIgGEzANNOeqWOucveLlGMEbAintjnruJfuJCmjpfyDVHWVIIcheqDNGpNlFdalDfqofzFcpQTgarYYLYBuJXBPXxlZxpDTbFnLUkknVYDnSkiINCxsXtDAjNxvqTpLFRRlVQfzorSErnpPpRHmRcSRFqTGqHeirvHgLjePZW", "c_map_string_8":"PDtEOfVVFGjYNMNNVujjzDRDtCTGcPreGwAWavqVPMGOlxTIsaPgQjwphpXWGvmVBuRUSnbLIiFXcJyBImVYAawOaciDHaTqMngZWTtJKqLEhZtOHxypLLWzxTFvzEeThKGfZhLtHhdsAPXlufgCrPdMobLEotSioAgFWItJRrDBtxlzdvmFUCDEGAdjvyIvXvchaHtjhqievWMVNHHbPKipsXgAylJrPSGSMEsdQqcDLiRCUGEqNzNxKVJmgzoZxnkPjkNufPrSkoRUtPmhaMAwJbHtOzkJhiTjUHKthJApGqmpmjeAfAZCWNMxKrcRnXJXpoWStFKEvZomFSHXDfKXXjrNNwerbjrWjwhHKaLSssiHRbmynnHZRvyDyvtTUDOgMwflUZFpstDsyXyoRTHPKBlTSnmagqhcrGfHpiyisgemFnfWFYWGQxfiDsANTFtvQOMBpQUAUTuSlKdGOnhKowcQDpRatUpjUIeofmCdgTOzqDQqtIgqKmoCvMaK", "c_map_string_9":"kmOTgcDkUsIgtStcoeFDWkEoHtNMptuirYwHbOBKwGtGpyxlhHuXdWivgqddJkstiFiUkcJEIeKyBQXiOnZfPawyNbexTMyKBoMZnQbWLkDkPKDDxypMNVOzbnTEtmprMfhgJVEDCuwLLGvEZjzqjYEtdfSfBQyrKLtecTWJkoYObEScWjsXxuEEruHjLJKwReorGYNjXdtlpxKLCFRuDpxDqOOXzZLYEBwkmMCUdSfLSXESUWdPLmCRDpjnfgyvurvFcXwXEVqLtRnEVrPYTUvGlwUSKascAhthCquneNfFoFzCtrkpzPpIJqEStdHVgniNnLfzwEYTUCekqycGEysqUxHYvJPycltpwWxINVUAGmJYVXUYBPqAqsSiUHAoPvZpJSsnKtOEzxHUqRkSsryHOCXVuNbyrqZiGGhQHWnSzQldTJqFvehPyYgSKmyLyLOJbQRfzFjGQrryXPGTgogZTAAXwVamvrqOkbjVmHntkhmvIfVPCmkppaHifYuk", "c_map_string_10":"jhMuTURYpmdFsUMHCURgNriVYjCcowNRSDjzGfHQbfytqncxPUFKwosWLhpYEoKcdsStTXdZOWCaTREFgBDRmoDgGCdRxmKwnvBZGFqAUYLctgDByADIXmNlvtTRpvBciKyDpguqJgVeaVjiFmRBQTWfrtZjDsPtdOSpoCVZfZGWUlNzeyXXdqUzHPyZRBnPJRbiLMLbTgOjivOSfnnTqQXRyqdPBUBDtdcmhaIVelKYnPlHpbNuITjDBMWZUzPFGJVdxamLdufCKkSYBJJghDlLPntzhwFZGXmYKNJCpdZxwPrCsbjlHAfuMvNTQFTjiSqNnPJecQIdmsqSpWypSpNKQepohzaymeqhuCqFrCndYtrsNoTxGIrxMLpzdracZAFIyrfswcHGfRQJfCiaaaSXFemaXsuIwlogDuyqtQOAPzBXjOAfjSXMtmxKKisPQhwylNhMxpkSBESYIVlxyPFfEefSHsqEWxxhIfukqRKVSFpdFrykBoaiZAiPldSe"},"c_map_varchar":{"c_map_varchar_1":"SXIJNTPIXltBMWrHTAHsXDKBEokfyzTFvggGBAqyDncKVCISZAQzxSTdDEMGpDcDRlpqtguernROuREhNnnIbNHwZejrJSGIIGuOGFzGPMCcXWslYdasGBPARurDMMGssgQRvjxCBXWEUPeohnsbfIPKzdQOaobrHShPzYhSrNwxOolxuaYYEMxrNasvDOYkFSxFQXHbkuLkqpHMaoKuKbAEhcpsnPykEvEnwHTSRpBxAfRNMKtawbTwzyqKsFun", "c_map_varchar_2":"SakATlTlzAVehHNabMevycwgoBlOLXZwHElhiVzJqkZJTUMZHZpHePwPUvZzmgMqbpGpSmDgdTtRHxoHGEhbQXPKvYiuXqgNCjdAXguZrKjXiJZoTJpNFOpTGWiHMRAyRduaCxwxNYlwMkbIJvifuDxGrPzoZdFhGvJEnjGsLbQJMfBiTYfcEufFQJZsEkExHITjuEFyMQNSaKJjrXxqgWPCrpFRbsgmIfkvcjFdKOKzrRkJpofVFRTNRWGfXEof", "c_map_varchar_3":"beTxioFUJUJcheSCqwYOtbkTwUXVOXsVzQUwdqyMxlGNrepzYdKLZOOpCgJzvEbDFlIFpPDhmwNNwpoAiLMmpFIHIwSzFFblZIEBGUSTeRtkFmnLIDMOkUerpPiyibowRpSOUsFlzgmulZcgEVwsTRPXvEaZhCjUiwyntdbgHQjQVUUYoITwMexlrxTnKjgeEglldrhvyfinOgMFdOJxpHQVcrRvfxCULwCpUbMEvYuWjRuGkvBxWoTlECBxeAgL", "c_map_varchar_4":"lbIXrRyLdXtATuWfZbTohVSAlgfiCgtQZvwXDGaeoENVzqqZDdtRwNyDUfTxScBqgsaAdOEpuDZqMANxmOqnBYKJTVyNKRLAYtFMknntPbDLTtgUkgNHYGdeDWnFsomtmoXyPpTXukUPnBLJiJoQglwHUsoVEuQPDdbkdoOvYkDZuKhFDGiKhLWqDYmTvSJJeTCqEXBDRyhsNpVZhHsQMPlISdAxiQleaegtfKNMUoWprgYdUXGcHWVAMMAASuMK", "c_map_varchar_5":"UvjCnfhAfdIcbtQhZgtokDYnRoywRxeIHvPYloQeYIORFLhVNPValLjaocHnppnyncwJOkwNQydhGKMVyQHJnZpIVsCHvohgeNMOyWqmWytuHwVIgcGwIJqyRuKyBmmOMZSAlxTlZOxhrvCRuvfXVlCbuJmoIyGHmJXIMwAjXalVCIHivnGNsdaZzvsMasfuyzyNtknBGwCywVgGXwOBbQyOkfOlYVGyRCOtEUPPIBFEheNBfzXGgSSlMgyoSNcc", "c_map_varchar_6":"eGPYSWMBesHLzYzJADEPlKFZZFPXePvLveLyVGIRysCesyriDVYnIdxPyKbKSVCEgBrjLWSiKbuYNJawyQiaJBVJouWVCOufLfxVgpjOYmfdPNApgiankfjnxokFeUxgsanqqAZPrGMSiQkUYANMsRurnZrxMZkTwJWvfFhCfZSPKVUVpTNJtGPMwdTDtAzWqUiTpCOYFiNZOTlhfnOdyddfTycEnrZMCHXDgxPvuDvVlwtjYKLQGlpmPZQqphCY", "c_map_varchar_7":"GdhCwZjXorEOxuneWiezUFAOoiepLRzZzsgOBnTNIANizNhLRSZPUAHxCdKrfnOrfqmILrylSAFzyHWnAAeEEkMoSJXaNnwnpJAlEEbzElbzCtJrioNPmogJwPqMQgRKouNOTNFNJCVUuHbEQcxWzTPZdlwHBsxAQEoMlNoRIyYtDgNWtyHGmMAeeFRDzjkDOXWziKAKEqYjnsGEiiOrivlucYkMtcaciYTPWjtYMQhsAoIuUaBXOjKOxmwyCFen", "c_map_varchar_8":"UaOpNgQyjKRbslybTbjrljXDTmdBMsEoEPvqrBSuwujWJtPmfMZYwbIViprMmHTNysncTSsLaADPUNtysPpeIPtAVZEiohxGRvugchzeKHSeJWSHNAzLxNOLTSBCkQcGXnGnPOsKOrydhPPXMREpeHGZLLtFSMnPNahOKUpEtPGYnVwFrfpaUzjssgxfKCxQdQfLRiemUNDflfzTMsHGwjiEChWZqNpDqCCaaZaxZDMDriLkyHSmGmOlKjDCRrGT", "c_map_varchar_9":"CCovBszIzDUSUjkNYRbxIWPfTlGFWyDnWDyNzDuxSQwHpeJFsEoRrgNKMxNeMkaTwVimEQSIPBmPCypZlJDlLkuvuUSOXTTCHGvRgUlIsLipPaDzknqLvfwUaOAawRNIhvWLacJKpfhUObhbTkYLpliaPwvFIJmsRurDDlIdqTAvchCQPhxlLhGEeaYCxjcnFZmnQXHlCuAPdIQQSISLEhAjZTGrbFbZmyBVyOQQlfrGwyTchpZllMPfkhbEzucy", "c_map_varchar_10":"mLcKmbdHzAdqTfcLQkZiCfANfcHUaKJlZcaPEYWYjWaoUOVyOWHRCQNdUPaRBTGSkdkjmggpLtwKcCzmOgrtFomooxsCvzbXXaHjxnSLdnbBNWjADSBfvYGloyQcjSOYxiYTtJGeVqaIvBlkohCzQLGrdVhBummyWvLihsImTtHmXrRDEypuudMRvnIXSaJCaYSTPsiZddjaqiGvPNrajulBVyDZQPnQOtytPvaMVBmUFpKrJxzLwYOeqESgdeTc"},"c_map_date":{"c_map_date_1":"2000-08-24", "c_map_date_2":"2016-08-17", "c_map_date_3":"2003-06-21", "c_map_date_4":"2004-03-04", "c_map_date_5":"2013-03-08", "c_map_date_6":"2015-11-10", "c_map_date_7":"2010-02-14", "c_map_date_8":"2014-04-10", "c_map_date_9":"2016-10-04", "c_map_date_10":"2018-07-11"},"c_map_datetime":{"c_map_datetime_1":"2003-06-06 01:10:20", "c_map_datetime_2":"2000-03-27 04:37:18", "c_map_datetime_3":"2011-12-06 05:38:14", "c_map_datetime_4":"2005-09-22 17:48:57", "c_map_datetime_5":"2011-02-15 11:01:19", "c_map_datetime_6":"2008-03-17 07:11:08", "c_map_datetime_7":"2006-08-03 13:31:34", "c_map_datetime_8":"2017-11-06 14:14:55", "c_map_datetime_9":"2000-10-26 13:00:18", "c_map_datetime_10":"2015-01-07 17:07:59"},"c_smallint":-16561,"c_largeint":8491425105507850860,"c_array_tinyint":[81, -79, -86, 60, 62, -76, -22, -73, -61, 29, -66, 50, -27, 43, -118, -60, -116, -42, 70, -5, -42, 66, 27, -41, -19],"c_array_float":[38.510586, 62.859997, 59.159645, 32.87036, 82.12971, 74.91544, 16.774921, 88.83216, 87.36182, 67.69251, 95.629456, 50.760784, 55.489918, 59.010715, 12.484604, 77.6525, 31.614159, 53.07494, 95.148964, 23.221916, 21.473852, 86.17477, 9.874059, 66.17908, 37.464302],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_int":{"c_map_int_1":1935809831, "c_map_int_2":-2013258865, "c_map_int_3":-311643177, "c_map_int_4":-1279604492, "c_map_int_5":778028473, "c_map_int_6":-1412107730, "c_map_int_7":-2134026493, "c_map_int_8":2068606073, "c_map_int_9":-1918852, "c_map_int_10":-855262344},"c_map_bigint":{"c_map_bigint_1":-8369467004348284015, "c_map_bigint_2":-7004886180137079874, "c_map_bigint_3":-1894037812133275579, "c_map_bigint_4":-1068321961182368516, "c_map_bigint_5":4011863037786748643, "c_map_bigint_6":-4322172692016865156, "c_map_bigint_7":-3652628880209103073, "c_map_bigint_8":-7307717133054302027, "c_map_bigint_9":-9035958318947182614, "c_map_bigint_10":4078861957709490785},"c_map_float":{"c_map_float_1":40.22313, "c_map_float_2":64.664604, "c_map_float_3":18.20775, "c_map_float_4":50.424774, "c_map_float_5":33.108128, "c_map_float_6":34.869553, "c_map_float_7":85.09978, "c_map_float_8":59.588863, "c_map_float_9":90.1727, "c_map_float_10":81.33085},"c_int":-1207847277,"c_array_largeint":[-1036649589650272157, 6735331748131033125, 3520147664630302883, 3510649488083677780, 8285026056778801242, 8441830607804808866, 4133157399723670635, -8235374385879818588, -4534279696908070163, 5225606374537993483, 4204168317855111836, -7970336677710788129, 8335884973575936763, -3644827294010651877, 2901364349656376094, 5283124802825215199, 3224040968817429928, 7953585193908268544, -6693825430229569991, -1876867920306938555, -7390468208506062521, 2308317800149571680, 8412261775781715294, 6498934313453109624, 4750542292736946907],"c_array_date":["2011-08-16", "2016-09-22", "2004-04-03", "2008-04-18", "2006-12-14", "2019-07-08", "2016-08-27", "2003-06-20", "2019-12-20", "2019-05-13", "2005-02-28", "2015-10-08", "2012-04-16", "2012-10-20", "2012-08-10", "2011-02-03", "2012-04-03", "2003-08-27", "2011-06-10", "2004-12-17", "2002-12-03", "2007-06-01", "2015-10-17", "2011-11-02", "2015-09-22"],"c_map_tinyint":{"c_map_tinyint_1":-122, "c_map_tinyint_2":-95, "c_map_tinyint_3":-106, "c_map_tinyint_4":-125, "c_map_tinyint_5":-98, "c_map_tinyint_6":42, "c_map_tinyint_7":-93, "c_map_tinyint_8":-122, "c_map_tinyint_9":-3, "c_map_tinyint_10":8},"c_map_char":{"c_map_char_1":"PpwMpCpOAo", "c_map_char_2":"LSVPyEiKJz", "c_map_char_3":"FpAHJAFFlw", "c_map_char_4":"RKfVAkytAr", "c_map_char_5":"EtVCkPCrDN", "c_map_char_6":"rSBvltlnYb", "c_map_char_7":"dJkjMjDwAh", "c_map_char_8":"NAuirijUJV", "c_map_char_9":"YDsFAxuZFJ", "c_map_char_10":"KHxJTptvXF"},"c_tinyint":-19,"c_bigint":-2096101063175737719,"c_ipv4":"171.31.95.142","c_array_bigint":[-6667737920654376786, 1839234246469117283, 2317787945987251035, -4836813172270410553, 5865983478435249517, -2193471507938390495, -7499211581783614234, 1361692224989929655, -3589307845204279209, 6933458862195308339, -8048623182370865849, -4943057759160580359, 8550948166128383367, 3767490136063370218, -8757749574503121525, -1300436473380715418, -1430270069276699187, 717411727715326771, -7782635137222952055, 7081285218778491848, 7458226367303658758, -2189135405575836949, -1477445776314175184, 7488269512896200658, -5209329798387281038],"c_map_smallint":{"c_map_smallint_1":28370, "c_map_smallint_2":15826, "c_map_smallint_3":-22999, "c_map_smallint_4":24354, "c_map_smallint_5":-32602, "c_map_smallint_6":-21564, "c_map_smallint_7":24583, "c_map_smallint_8":4474, "c_map_smallint_9":-20661, "c_map_smallint_10":25222},"c_json":{"nounproper":"Fredrick","hexcolor":"#78eec5","minecraftvillagerlevel":"expert","nanosecond":879547724,"phraseverb":"cook boldly","macaddress":"21:ee:d9:cf:dd:5c","country":"Spain","bookgenre":"Comic","adjectivedemonstrative":"over there","httpstatuscode":100,"timezoneabv":"IST"} }','{ "c_map_bigint":{"c_map_bigint_1":1844393130271275297, "c_map_bigint_2":-19319910884993246, "c_map_bigint_3":-4761788542852621342, "c_map_bigint_4":5444943822987259074, "c_map_bigint_5":6459365802223473447, "c_map_bigint_6":1039341403150172540, "c_map_bigint_7":-4780686626095887756, "c_map_bigint_8":-7241811179701322702, "c_map_bigint_9":-1348765140020558979, "c_map_bigint_10":-2148676106544856152},"c_map_largeint":{"c_map_largeint_1":-8372698119493774770, "c_map_largeint_2":-3753420203271082593, "c_map_largeint_3":681263824755568992, "c_map_largeint_4":-8502155550499218618, "c_map_largeint_5":523030822737838009, "c_map_largeint_6":-6125550661594723978, "c_map_largeint_7":4355803818923499853, "c_map_largeint_8":-8372563474958157303, "c_map_largeint_9":8971392067850997938, "c_map_largeint_10":-35736841750887911},"c_map_char":{"c_map_char_1":"bwBtiEHdaY", "c_map_char_2":"AjNAVoolFx", "c_map_char_3":"IOkoYKXGLQ", "c_map_char_4":"XaoFaEWxPZ", "c_map_char_5":"zEqpAIMumf", "c_map_char_6":"tpDvtPWIMx", "c_map_char_7":"eAEfNGXfzt", "c_map_char_8":"AzippUnSnE", "c_map_char_9":"denQSiBrkw", "c_map_char_10":"oAsiBYknqn"},"c_datetime":"2011-02-01 06:18:36","c_array_bigint":[-8181880387368679435, -7048105251938134796, 6390972184185028181, 7846898336648270047, 3550721028290583033, -8359469925166726108, 6088391499271701355, -2207252346322007881, 92277990275986700, -4758169888489306889, -985459988977738420, 758886264643380618, -5228197910506619211, 6191106872219581740, 5856733648961637815, -3082706009331847206, -1026076124938802738, -1696513850743974029, 3730441407827222294, -7207167463842652713, 2305104353477083211, -2555066723830822929, 360469794228846206, 821561468552726272, -8365670860112976279],"c_array_char":["CxXyRlKBtr", "kIriDcZwon", "EvlttPeTvq", "DoOTofYWxs", "SSHSKHSqBX", "eAvCvEWKVx", "hlhXXmGSis", "oPRXAoaoeA", "CECahqiiES", "dLTSKengUL", "NPJRTWUNjp", "VtMoNRFcPG", "LNlwUfonho", "HMWLMhJZmP", "vrTvkVmlhZ", "QPyDitTwPJ", "ajjWZKvphX", "NlSKKOniiT", "SKUKlbNsaA", "TxsLpvqQSo", "lhNhjuFflj", "hjGEpTuKmi", "fYnEzGtMnT", "anykGsSZjy", "keSTxuAYTM"],"c_array_varchar":["OSkMicpLEFLofpNTmhoBpPyLhQqMqpUPPaKBswmaBmPHQQFHYddtsAyCgTHbKWnSVVGHnZzRNGIviUEHtgVwbzelyIlSKgCmoeAMKDPBHQUdrEAspHHJdEsOtuwaDYHxjYNHMziifotXvvsrPOemntXsSvwjaPkndGfwjGrEmqZCTdWuOypYVcBkRwozwtZBIZenVnIboPIQxYrUidbVlGkEhEyPgUpmRpazPOcIMklTnyyAsVrctcdCqfgWkqfB", "solXwhoSadzBKRMKQAnuJYdZPPrPPtzYUGRYrWYpcWXjftDNCBFNlHLvsDDvMaVPKVXFiLfiQoUepowCStCsLnWNXUxLhyjzalXQDTrOZXTsjugPvhIuLyGIvGHIEKARDIZDOKEVPToLXMMUcFfPotKwemohRHgJwUGbLfHksFiBWpLEiNDiYOQCmcOhGQUpCcTPMUxJlDpRYRjAMoXSPuDUqttKGSGSzaxQthGUnKJhojmiHvKuufWaBiWxikYs", "bEjTomeWMiDgkkxaIgFUCuJUCQnisssHOmkQYarFecGoNYqofpQxUTIfCodMOiChtmcSLHIulRjxDBsqJksvukUsHxZErUQIOkXPYvbQCANdHyFGVutZIyJkvTbaROoXfPfrtTNptVYIXbeNWZWVgpCKNcdarpiZSloiNsOsXhVYIUeJVMqPwBDJDGiTZQCyyrGstejpDYxltanBbtkKjhsPyvtMfxsdkqBkboEXMyodtgZobxOhdaedUMOuTdum", "kUBavQOslEgXVGgGhWlzQNPnRdiKPrFblrZpdOvFEDJjCprsNZOdmLzrTMzgtAJqffcwTtQfRzsxAxMXyhXocnQwuUPZctSFwhAoEpyNNikMhiDlZpOZyFXVZAIwYWLeTdbQeYttIreMYzEFifwJGMfszMTisbWoiRiczhSkWarrmvmmMRyxNTuDHggvOnTnwOqEeZZlKUdPFykRFhwPucVKAdQyXWAKjqUheQpfCvjiadeWMDrDWvKBvkrYOXMm", "wNvOLsmCXfcJfifiXxvucZYoKtECTHPfSmAOXdpYdCfZaXScBPzDyKZMVTISnEvLaiObaKaJKNeYeMeObDwzOEXlhGHUxFDpyyqburEqqnPmHCqaOukzzUebJFEFvdihszDHfRBOJZZjzMXYsekrQFbyEastFgpgWaguzeDHHtSgLKOfUPnKgmHqCrdKxRAMpdWIHllZotmmQQIGRzQIGZIFPZvLzZDYMzPaiJxYmVVTMAFTaiNxwdYTtwTULyGZ", "mdHZOXAxkPIuJAgUgVgHFgmcURLOhCEAqFXuudsLdEEzatwoXgBPfKKatqPPXcnOhCYXcWoGNxuynWxCcCqNjcfqwehysrHPOZfeQvwnSllDBXINfJEvZbYXpiuvVuuoSWexJBPxBIQnxieFhfudxfWVShxENhstFmWPTwVkDSQhQDTmqxHwHzVBMvtCLFtAAGMjcKBFwuMyvlTNGCAomJxECuPDXqudAOvtzSRHRyxlOsUmxGvOzJWMbuhrOJYJ", "xJyvqNQrXaNfrDVMxJnXwIwuHtzagYsUPsZbTkWIbHxpbZTNkrLkZSKoiiCzzTHQmwbvpjFhRJpSEZPhEnIFXahtZSVLZFpNZahYiPSsfdJxuJElWSbgLDlaSAEsDPlbCqHFxJbCzZEbfmUcMmEwOTurZMTZJSuLntOJaCGgmAWUXYZprQpLIIkLiDRMSGoDYzryRuuVZatJmWGecbXVJsAZkFdVOJlLlKAXsbBZrSPBqYUZdxNVbjTuPJQKHbsE", "ANoctcXzPDtTiUCnUUUSSMvcaeVdwcTyGOXLOxtdcPGAAvoEXkLXQPuhnXFKadqXVIZuHemDlReGkJZUGfgrJamNkVdgibiMkKYUHHDfTkzxAdwbnZwpnXGByZmsQfhzkWcfHgBTzkVFNdqpsbpuCmMeQwDoWGtwuZLqRbawgdVRtULHSsyQVZSGEEABZjvHJmeHvemFOExcgCyUUMDWvkfSGAHIZRWOWoOZvxeEklEMbqRAzyIYQRkanPLHqqlF", "MvJmGXovxzZHrJUFSpyGHChNeKomQqVhOZJwqGWSTPPAGgXAjwItzzCuDfplxusfQVPvEzOrbnPReySJdMvMBLkhUhriiuLTyandftVPiCqqqHoGSFupkAENaZvCcHoUlqxRwPhQpXCiIqBqTvJSGWkBYUbNVZpfFHiqVlfCRKZzJPeGIfyvEXYrbsacbkIPDaSLrBIuEwRfhCAZUBPzenMYOtljArYJNZtMCSPrYgLnZkWRLBSUpZMONnYlOaBC", "fplcjonwkXZjodTZQCXRABghyBUNZzemsdzZdoMPNgawCAAPFgzIWpqskvSmpCsAMxiyGYFsOBAHIDgsyRiGrJsQXklsCwxMCFqDhRdMqZHltGUdQHVfHNoXIesWUUTvOEdMOKEfbdJizRyYAcgderssYDzPxgRrvXqvnZCckCVRLyBmclsESpJqhHaVIBRMAKRoZUViXHdUBqGJWFcfHeNwLuLiReYjWTfQHqgzGcjSHwKnkdvArpLLRaDcIOoC", "zVouODCoqgEkAoyUSgdsgHHhxgXsvTrtkLnzMeyvyQHeUVEmiIQUyZNxyplLMtlVapsSZzBdVrgaQvnSZcFGBAxnjzlGRjOKdKHAuvuQioTLWBpxqLulqvRPsESObdMIWIfNEyKckGIyWAWmeDvppbXcRcCJOZLkFeDPvdYUiCcMmrguRbzsqgOCUgOFcNFLBekzIjZcRAeobqGfMpJaChypSnSTgfyKMygGxUSNYskTqlwnHCQzwlAOERyXyEzp", "sfUcySAUStkEVVpseqsYaRerNLYThFsBuqNHaOczYLNwnlvjvHAMAlevAWzvoUblfsVSdhbmSISbuEktFGpCVwnFkxpVHzfXbAUxXTQOedmHOitGvxvsgnnOgFDlcvvjIVufRsIvYNthtnFHhsWuRjvdzxGJpzWfHSXyWBnZyleYrbSFBmmiXmZzjcaqQPjGHzngsTotsTXwVwNXZiAWtxqDVVMYyQEwmwPpzGTTflPKLsYSBEXvRDgwBFMwKJIH", "DavbrMyqvUksjFtleAIvehwSNuEJqxCPjirnYPFYHltHywlyZBNqPlsswIDdiFXbUbxkPmfdQGizOvuMzUVHeOusOZIoomrRZfPjNlxsmMwqwDrPdrVyXfMjFtUpmoYoEIilCuhcobXAvjpidHmyWRPmcMYVCiVKdtrztJlfeRBzhPwuvwMWxKafaCJHtTRQLKVHUWduEpwgLJVDoXWQZhrEgnrZupaTBoxVQxHzxSevYkwSABUXYevLDMQhhukY", "ZcfClsknjrcQZSBItXeSPxuMKXOFdDGIdVMKaJdIhOhDuohItKbGKTjxWtqrrTGJfgaBNJNgpLLjQkTYavnECGggymlBmnjSFiHGXIrwgsaidowKYLdYDaYvBdYysdVszRKdlkQHrvUxKHKNevKJWJqmuSPMgZniereWoijFKXZCNuHvoojQAOAujKofapdPzAFKgaTBoOCSIFKGYdHHvRyWhufMpJnhqHvvlVGMruHCRNhkyBGJIUCreuxaPYwW", "iIPhmwlZltYyojpZbtneeNfESPtNGaaieoxAGftmZULxWKhWCGEVMlNTBoyUYCsgvuTPNssmnnmNRqkeGbiFMpEidYyyJQstcUREJbwBXtEfMYYwijnHbryqjNMVVTibgWtJjXgljNAZafLBDCmSoiQArtauJItjyQKUoAGRtepdsyWYaeonFIKupIOWprwqNTbCVseZteNMOGCuAnZQfGwCtIpibzDPFeBvVmXSqVCXiHTFjvWZBjZtAuhYWqqP", "KsZYNfRADwpTFvWkXRAHXEqltNrMOcRtfRJghPcFdZPwhiSvFSEAUHquHjmHekLkvHChOTdpOtodMoBJOxJdDgtVheWUZtUtFaXRmrqssZWgUWiFkwBbWsoCzbAZZtWgftVevODRatHdhepeLhoZxuRvjpqipdojAEBnPvMoldbCkidGwFEzWOBEinrIttVkwGOoelnXagSsoUESCgffqscahKBOoMvADEiqDUJolJOBWuDiMdJPuSUOabzwiURa", "vhVAyUqHBQWoZoauTLrMVYQFXDnXeUPbXIjRcCucAnoPzTxBiyExkFbiVpbcwBXjlbcWZlTaDTrdQPhrfGFTvdwhjUgBQZvyZWuSeJAUyJfnxTKHYiyMEnMjoWDfDFVFRNbELoXIGIhDZIAHiQiVIRSstrtACVZBTksmrxJqrdaDmILGZwIJOpwIDcTXNgEFlekrcSSkLYUJGiPJuPigfBDqtrdFNRAamuGvCAxdAWUSWlOnHWBcrOzJLbytMySI", "TwQYTvsnaHdXbzqhtItWjaLphutTmODiNBJHbrpqJLnuipfcbhOIJKAkzRqlOqYIaKfefZveaeSxQTCqBKgBDzYGhEPzevJubeSjYDEkKRdqharttVcIkVaMvtdnZiafvIWHrBfjZsVGsqxXrmVwMqhflAnBXSKhNXpzYcNdfHRifJOMMoKGhOIwwMpJkbeJqYVrWTzMjRrzBRfVwJkOfnwtmKVBBxmqZVYWNEhuwmwRCygDmkjdFLXTfnqhGPzL", "sdPLhyqYQHAdMpbftHCbrmcahmGqbyCVlEZBFfIpdTdZlrsGGlERNGLgCrfThHstMticruLpiDAmXjwKSOqOyBHLHLcOVrKqUXAZIwtXwsyrfndyrOKfbTiBLxuPFaJTLKVkiUuRUDdXWxlcQEtMwOcyEZomSdCypgKMKHIwDuJShSwZHmgiskyzLWmSOdEZRTZQdhXQCPfKpRPKwjHBXudAeHKuQHhurSONQfrbsRKkJuxbrhHKMPpVpmAjZnvJ", "ZaJlujyWthYOUDFnNmKXbsReJOHTAuniaudyjnWJKpvDFnNDMlDJWhsAOthSEyoFJsiJBDdYjjJWEEHftcwyVYNQhOBhwzKSBiMDsHJORWqTSOEsmLHXVwXwIfqOFQRZSPGqpiwHgEiLTeBzxDbOhQkElLMvdIQbICsbHPHjeIfixsfNVqXeQYKaAPAhKzWNEETbkklQUGoaiGReWjdqtIJsWjqdAFVQcOuIDpsFpyHvOqbYnatUkhQyNEKPAYxx", "RLBArUgBVdUvZISrghDXIoAaqBOjwyKwxCTGlwVQaHPnlgwxCLgAzFNnduwBzLAfcSdRMvFcTgHEwJPMVUwneKAIObQsuqXihhCXfqdICzGLAaOdXhSsapsCBHLJsAPPjWqVwvpQvapHSmYgSGcgZnsUkSanTvxwcVXnVGsftupFjixLPJgqNFFidlxsnALZfnrrTQYEuAMRjShYwbdWvGoBkeRcRTKkeDKZHoDUrWxVRiphajFGqWrGergmutJA", "IKYekKtSjoPxMKpMDgSVbGVzJTchOMJUBZXOBUJBhjqcBdFCImUlzGJOKNcXnpIvUZspfhUofdxqMPiGqFOUWybZAoXKwHpbNxHBbfXRUMGxoVZvJzaMyWDcYIQOWDmpIkzoNGKuZHirIgUVOPakCRNhTIDNmeqGFAqcMYEjALzyUYbwtvmzTNQtgltrGcQXKZPVVueUrqSgbrwhHHZbCrPjtRvTMGXFmZGCrYJTJrdmzqwbwbBVgLLnMoLoXhgc", "JUZgrnQItXidHFuZwKKGbLjQYifIDrIFMpSPJhOsGNUQNFLAUJeKHpztOUwkiLzonmEuDgYGeHQVhkxKNjIOLZcMZiaAuGyioOijTFfIYIuMHJqpLPtbpaiZvkpQylLsmuQJBaKIjiTjzHdOLfjpTUSFadIgXRIgijWUktCnjeGLWKEUtnUNDMZOWBKVmueBCslOMKXqRckAqJePJcsaXctUHUfZAKLWSfjFDozwIGfqGfExjAEhJgUacEDBswLd", "LKvQXezUqZEBHMVBoqgqltSvriwfXkCeXoBGhiSDCiGueMSyBcvpLzKixiWLfdjtFbKBDXQZAXlKxYDCLpeoFjsWqgkbwvmZIimxTBaFSKvuVFveQSToZgUjkmGUjYDTdFzpstuzGnLXyVApkCnqbIeKTAzRyGAJsrdKDaTfzZSEMbOzKhhQYpmJFtcKuhqVbEgbFnnuVrKrtRWFHuuzmMdPmnDWqxaWmglnqTZAVTENYNMITpMiEDtgdkbRJirn", "USxkLaLADQhuxzCTIvqrNSyOIiWKkqFvMvbbNMcUJobolIgyHIWcGefRSEumjVOttAJsARFjhpoLytulHqkHNbAEvmPFbuaMsJqYGLrGNimCZlQASWSzvgOtbhXLkxfrJKHoZbstDWomUNlswhLcumgEsrRLHzmwVUJjVoyHwLXfUCOBObVCpQghySUskvvYtrZVAZoebqvxxjbwEHeldEPKdoBkAMoSrGCIeoeGyXDouNSZMRTPpUGdVNwevujE"],"c_map_int":{"c_map_int_1":-1365934432, "c_map_int_2":338148469, "c_map_int_3":-1644318780, "c_map_int_4":160008727, "c_map_int_5":-1696415332, "c_map_int_6":-1881905439, "c_map_int_7":-803038844, "c_map_int_8":-199826131, "c_map_int_9":99756719, "c_map_int_10":-1208037285},"c_map_date":{"c_map_date_1":"2009-10-26", "c_map_date_2":"2000-05-19", "c_map_date_3":"2008-10-19", "c_map_date_4":"2007-07-02", "c_map_date_5":"2006-01-16", "c_map_date_6":"2016-11-04", "c_map_date_7":"2006-10-28", "c_map_date_8":"2009-06-26", "c_map_date_9":"2003-08-03", "c_map_date_10":"2008-05-15"},"c_map_ipv6":{"c_map_ipv6_1":"817a:6c96:381a:eb87:3446:fc3:922:4e76", "c_map_ipv6_2":"dd78:c409:585d:eb8d:ab56:aaaf:904d:f867", "c_map_ipv6_3":"efeb:a48a:b5a4:30aa:6cae:7c65:2580:cb97", "c_map_ipv6_4":"dcc5:ccd3:5e3d:c49d:3c1f:382:701c:9e9e", "c_map_ipv6_5":"ce75:8840:e226:e3a5:a722:d347:bb67:a959", "c_map_ipv6_6":"3bca:4e5d:cb3b:dee0:1f8e:37ab:7ec1:e22d", "c_map_ipv6_7":"950b:cb82:2879:4c6:fea4:f324:5ac6:8f77", "c_map_ipv6_8":"42db:32ef:427e:522f:1228:7bc0:e84a:4f3d", "c_map_ipv6_9":"de1a:2e9b:742d:908b:93f8:4576:4d46:1c86", "c_map_ipv6_10":"aec6:181a:30f8:8c12:917b:8e68:64f3:2745"},"c_boolean":0,"c_float":12.434719,"c_array_tinyint":[22, 58, -2, 25, 83, -108, -61, -47, 18, -52, -108, -58, -57, -98, -67, -35, -101, -80, -1, 110, -24, 79, 21, -88, 126],"c_array_ipv6":["dfBZnoJWGx", "eWkppozFya", "BIEpNaKrqv", "ojrkpEdRaR", "uPqGneDvPC", "HObuyDJXxe", "xxWQDLsiaw", "QiKLNATaRt", "QhBeGZblDo", "ylSPoCifKB", "GVjverNWWj", "ntmVSgvnMg", "QhLSGBYJCb", "WRysjKVGiu", "vOjfbIVKsD", "NckvMWOebb", "YPWofJtJsc", "oxVIvbbVoK", "LcqkLnbiIT", "EpQQLTPkgB", "boUHUrKvAV", "blwwbGufgR", "yBbwTMqJJN", "AoRqxMSMZs", "ZflRqlchVp"],"c_map_datetime":{"c_map_datetime_1":"2013-10-07 18:08:07", "c_map_datetime_2":"2019-03-08 21:55:09", "c_map_datetime_3":"2002-10-09 20:52:23", "c_map_datetime_4":"2004-04-11 10:28:26", "c_map_datetime_5":"2013-09-22 21:52:38", "c_map_datetime_6":"2001-02-24 22:39:46", "c_map_datetime_7":"2015-12-01 14:33:17", "c_map_datetime_8":"2003-07-22 09:29:13", "c_map_datetime_9":"2018-09-21 20:52:09", "c_map_datetime_10":"2004-08-08 19:20:35"},"c_ipv4":"119.43.63.197","c_array_datetime":["2010-03-08 18:28:02", "2005-05-13 06:38:52", "2003-04-19 15:07:42", "2012-10-23 08:21:02", "2006-07-04 19:27:27", "2017-01-05 06:41:17", "2017-01-08 12:33:39", "2017-09-19 19:43:21", "2001-07-01 10:23:44", "2014-03-21 07:15:05", "2000-12-02 18:36:08", "2001-08-23 10:42:00", "2016-02-08 06:32:58", "2014-12-04 19:05:11", "2008-11-26 22:55:07", "2005-08-11 10:37:17", "2003-10-09 06:28:17", "2005-07-06 02:16:47", "2018-04-08 19:40:37", "2006-04-20 00:37:21", "2008-09-13 18:15:06", "2005-09-08 06:54:33", "2002-05-18 03:46:21", "2018-10-19 03:44:46", "2013-07-13 03:31:43"],"c_map_double":{"c_map_double_1":68.96554865174402, "c_map_double_2":39.45140868638036, "c_map_double_3":53.190001327489405, "c_map_double_4":20.67963549791694, "c_map_double_5":16.92992681356916, "c_map_double_6":62.71112478094873, "c_map_double_7":9.44126949345188, "c_map_double_8":4.174692468790894, "c_map_double_9":74.9326230384185, "c_map_double_10":7.552406206248387},"c_tinyint":-118,"c_smallint":-23559,"c_bigint":6365391323469577275,"c_largeint":1559561625468313559,"c_varchar":"go","c_map_string":{"c_map_string_1":"CVPQeKxQcaGSmEXXTAJBRUJWehhYlUYEuwSHYNIEvQzhDwzStDKJVutwgMxJBfIbJXRlXrDnAnbmLSpZbocMISKLRzBhgOHvSYcgEJfsWmYoJyHdCmKYOVVOotWoTkkAaguwUBdIfolackJhpJJDZPgdRwarDhIQzTYdkRZzaHoYYPJSiAqwFolCFRUKsLOxaLkLGrlQJixyqvbgMnnfgYPTGnuqfSCwerbyLdkaJLDYmCdHOyXnUjAsPlhcslLCygeNIslaBRisyBguindCRWFPAfwboTwYvBxUwpOElwvMnZrkmlKKReuItLtEOCXpdKxMyXcadzFCwPtqEWZsRlQKQxcSiiwdCQyNQaQmyRNAsTgfkTqEgPVJmSqoNrMcXsTRNKCGtpfnqfrpsVgSiEQbSVdLFIyukPbxojzgBzdAnhTcLQTusyMZEuSIuLHrWCduvPQiWZvjTDQGuhhdiVHEsxcxydTatAItwybbCGuSaOsgHyWnJiQKhmAEMdBY", "c_map_string_2":"vtXlJQMGnZKXNqpzfTRgFFJpDlIhIyWOHswDxLPGSXmcXcfAKGevomcjTmSSWLAgBXxbdbcPHIUJFvVvGiTJecGFNmyBVhVUMEuePLMRRNiTpvFfATbujWyCRhunqTWrDbQUOxIAuNqlZYvFbSRlVAhGngPamcYlYrLMFsUDicNVzOkeYPntTPAUJUGzlNXzQzPsHpZyfWxLnHgHBgaQiMQuQoWGSnGnnnOHiVBGZoQWSEoCDBzKpROlGCvKujxZFujczpKweXoJTEDASzSheKWWtsnUXYLvtTgKrMQQrbXYAfohIXAfeeWaZETgyaDuUfNJMZADqnrASHkBmeJpQjbVrxDPhYIOOZDEEilyhhCbVtXDYPjbjxsImEkHtWdYKlaqtiLoRETCOidetfJvoiDBbwNZagoUdBWjtunHcjRXrSYqcdVcaFTcmnIbIeauAEZKbLLPfOQaAzVrCJqeDjyORrTOrzvMgWRVgMIhpBbAQBslMkEPVsLACwCATvHQ", "c_map_string_3":"mXITSKjOvdbyyjTCEYpCJJUyUWlDVlOurorjWARpENefIZjyoYlQZLRpbJVPrevnEbFxvFAURfuFarpjvtiVOqHwYIJYhdTbKoAfOqjZDGxYdVIHtdLEJHjhKiOMOxnalRjaPbykUtbptibJOfhWEJjgkDzvBTzrHJFuvbkblCBuOxWtntWsmuTKFkeNCCFpCBVYqUfZviVRmsLMgBOlVBxsulACghTtAqPdZhizbjFxWWwiRKViKYOQNhysVUORsZKDPuTnZyuosaqBsImixqaadMIfNwQwNskjmYzmbyNdppbEtlTKaLLagTMTZNxuxMYfagsWGCfowzDZIolURYUGpNamieLbWZdRvmdQbQORHwvPiNwJqmuoElgNuHkfMKiretBluQqGGhTDCVcwKIZBUidFNZLNEzCMplCizkgLbqdyRFoOXBgqndZSylZKhmXzDcsWmvykDUeiePEuTNNVloocBsWgVnIvgwFEUBnPGrPibXhsESUjEgFmtRbn", "c_map_string_4":"pyZmozIushPMlXRjAhuOASCiKFvQsqlxQRIqKZAoTRpiyJZlruvmqsbHPjaVNQZmEojBuNiIUWrlihYQRdbuErzjtQrVqDrDqHyuhxnwOsieKKEKLTQidhGLdhPJMtlCzczCUDwALEXPJPXxsXpJoDsPlxlcYJZAtcupukdThhDUNMpLvfYrfWYEkxeYpLDPdloOqvtRYsfWahIyOPhEJnMhaYJCKeAqDYELsbFYOdjHkAAJSfbdyppZowksectoNZsdkPOQegNLvkYbDbaWSRrBvSYIxzTEnrAChHPgmfzGBpEycYDpKOLVpAAMHwwLIkanxFNAtotMCBJSqGjIyBzXylQUbtWbBPrhZPupCBaqVQzpWDSAeKRavLnsUKKByqrWWhAXMEqrRtwYvwWCTIvbyTofHjmauBdWEkmGvDcxabdyHvVAWNXyQOhEHTObFOoeplHEbvGUKoeHNynAuhwXVQHPWMOHqXaZpFakVuFvISLdIImFJNIzSMkccjeR", "c_map_string_5":"jWgzVbPkSIKqyZGicuQKgmJTFDimtYgmNTUwwEPeSHXCTnVejsUZwjpnzTCiNprRhIBrtEuEDXudQZUmQUIyeUrdwhwqYzAuEPOUvABjCouCaTJEUKbFiqnhiZBrpoWyJVNJrWaYAdCKnZQEfADHBapOWfSaDARHekhlTnctywTSLiNdzEfVWEMqnpdpqQQMtxsUvUfDWZGmPWbIuTUsrcNdymtjIJvyFwyGdnYsHtLxLygzNWtLtpwFEvxRtVQhyTxoNHuMkepwtajARbmlaCeTwsZpwesNkkIgNlNLkrkXOlPQYGiAZHEOGweDgjXorxswGGtrIVkYUPbQCMlftJPeDZiJMLkstsCsIXgRvxPEkcLoqUWErRuzPTCStwpygDLuakHTElbSSqHmodnNzeaiKDToAHFpbZkrfZXybuBGjmKpNBhNjvlpboFTtFqxIEDmxlBRYYLiFIhaLDJJmYoGTuKaYCAxguKgniLyEALcmBxrESUTJVVdueXypZGf", "c_map_string_6":"HJFULmqOVyNbvWJsAgUzAYRZDEYFhNCAnERXOMBDkKdYkBgKTuTHgYFjOPXxdmuDQcMdbQqdmZgxPuNwoHjMJjkGROjUczkrUSYNetQCvblLCpklCVhzXFRtvbIXPvhAdidSnUbYwxUrMajrKRpNrfvbuglrmREwNVHeWenfZWEMocqgUifmZAcZgqLqQCqMIPCTnpWcvzAdMyrrGzSVWXJHvFMNEkZWevIbsyXTMyGtZcSrSDOhxRzeEsOtsKxopVEizItJSKzjxNOEoTJoaHiSTvgAoBqnetXeiyAjgUxsaJgapxeAfjkYzSHSWGUUkCbZwovPRiZwMVRQbNDvghtzicvvKrlAbwTNVSSetDQwiVuTdcobxiTEJfnaZEyClyFcfWXeBAsyigtPonChYxEYdNYqRmcvWuAubLfReoJYkwPWuNKFeHZTMfawtDpQRBKCTududHOTYJllrsDciOUEHUIqlNkcjNIyJlRsqxTbJHIKGDGZTxXVgVOqlrsA", "c_map_string_7":"osXYXxSEvEMqyzZRTnLtqmOLXafouSOZlaQNnqICGqPQecDQkWjHthbqVUFFIBeiiotLajTCzHFKZdraKrRBedakekLbFDnsySMNWarsKcEwnSUxhqLdVQvzuleNsnACmxYVekfgBtdTnIQHWPcYxCMvFPEljkwMsqdondUXvMHzviKXcaRVeriqBorhMMSFcIxcBWKxTuuNJfeDaSLiCIUVQliVmIXlxDLuQejcTGVAzudmljaOdVUVKPAAZxbCSXxtvIShdDaebYDnPuLruCtvHjXhBMTOgENalqWyLPIYvAJBvjRgKtESoFuIbXlektRsryUixowaTsaRKEUGmXDnHoCJlwPkCykvpubOETXiyIYMZyElZRpYDdqyzppxpDYuhvCCZMpMVHCxvwyWMUnXJhnugnCyeAKiOApEpKYWMWBgTXXJThCdeZBuPamrhNFOVMNFcCDZeVQkQMlOpgAdeynRlmQcPAlbzqLzHQmKUPRkHkVxSmDrOfJGUnxJ", "c_map_string_8":"WmFmIAKwIcMOBxiojcMKcfzFLAiyFcuvkboLchjflvOLeKxAkrVpblwRxrvsHsDTBwLERwXSXrSmuWWwMQMoHTcChZCISMbUcvuXJnedZNqGlViOdMPpLivrMOEETgkNltGslsJCHKToBsMGdWlQuxVArsDKeyXvHuhOpLpfmGbvwYWxCqgoNiQmkCTKRUCEaRZmKNHNrkIXMKWpPSGDKcxxvsuYTukQBdTjvONeilxebYHtpzCAuWmLFHCWegmmaLKhKJPXrkpFSbKemoaOCyLSQcbEIrPPbvWXJPnMDdcbZSsffRTvWFIahkTTNfXVtufsjQshRqHkMhsIGGsdjqFRrZJJJmLzHsnafLgihVeIZHVUGmfTPuFebCEhkTcjslEQzndHkElVfVkILJlpQbfMonEcUiXraMYnabgAvJsnWoyiwMdAFvokhrtBWGdXDpMUBKgrbxAvMxsmvWqEtmtuHBbsQRPffkCUdhIDGxTPADvAiVBmfnFYafyRHujI", "c_map_string_9":"QThHGsRVdpjPmmtIHLocmSAPaffuQpTkffNRbzGiZAzrRMDjpNgjbpBhDcBCFIcSohSwYJSnECLoHUhnphCoyWJyjmkrdWkrZhTPksckLZmEywWDyruZdpUJbSaryuCoEgDkhUyGEzEGAOSsPQcJQjUkDVKtsFJHRjyriedenlvUfTRJAUfNBiWlhNCxVcXcGBMYIPgZfXoLPgIqLXgaqWpXOXHxmiDpUvHroOqQJRRkgCLUXucOuYKqOIUlyHBepfGQDtdROVcTWmFFxZXIYXIbpliJwhFpEjdWLorZDjmjtqicGXQzYnvEITnwimZbuoPuuRAWeMzpcenHSBwYrOvKEZTqRBeGxAkNArjlawMaagJVuwEjjlGftTJdQGPAhlBnxsjfQIxEqjMwnSGbsRVUpOLwRMZtskMWPUUNfYOyELnFIXvDrYdEclqjafSoppIJQctTurynXqGtvHlXiQQYzFdHrMEnUNSBBPgnEaEiCoKhOtJUOztHQNnoSrzM", "c_map_string_10":"KcPzIaifgZifcpqlkMwYAtDeGhuYfYTUCyECgsFZLWQxsMoLSzxKDOlqORTIkyhXEtAUplArVAUmTVNOjpjwSgaNXNfyazMAwsZVgDiDVvRNmuoMkBAdctMWINvvNkemSPciQqFBdFkFnjfvFEBshagjtUlWZLliHDgMGZDTIsEMviZfQrSexCCEccRrQroDmQEVfjFdjHdsqcCYmLZOTRktIJbuoqKCwONhHCoszXFJJKJHEwEfXSnMKemKoCVzQfjfYfaHMBsceiqSnFDusFOudKjJDqidUSlCgEGDBoueuuBanpHdpmtwYxZbkMzrmUAKcqdmJIeQABvKokOkqvcWwZHpaVxAHKOzmYzuMXrHETdMSgnRHARNlWBEZjZmsXlQhYhiqsYSkvnFIWACMOMvCbXUpaHURzuiPXHWqxMGtQVKwlQnlgrhPgJjPQtOdfEjEEavGXQiJcVXnJWGEdrjhnLLHnDudwmoUlQBoHzbseLgiDeMazoayxadaMeD"},"c_char":"EZTnucWsdk","c_array_boolean":[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],"c_array_int":[-1716926189, 273574354, 1604774833, 2140745990, 1975879456, 1251809339, 1485309771, -379274306, -1206244980, 1270262895, -764500846, -350447202, 1373051697, -1912777983, 874262196, -842019284, 1740095794, 1958808735, -1970198949, -1457361833, -928652987, -554115382, 1786689339, 30205441, -936547095],"c_array_float":[82.91246, 77.496765, 22.803762, 47.65093, 90.588066, 63.469, 14.152679, 94.92662, 41.84045, 7.196893, 61.979008, 95.38778, 30.213923, 25.472626, 97.35717, 87.77327, 95.09678, 7.683349, 86.66536, 41.903843, 14.295489, 36.726147, 28.087942, 66.5526, 98.12942],"c_map_decimal":{"c_map_decimal_1":86.0973, "c_map_decimal_2":57.1060, "c_map_decimal_3":77.1510, "c_map_decimal_4":19.0455, "c_map_decimal_5":64.1366, "c_map_decimal_6":95.1115, "c_map_decimal_7":51.1752, "c_map_decimal_8":8.1356, "c_map_decimal_9":6.0977, "c_map_decimal_10":13.1651},"c_map_tinyint":{"c_map_tinyint_1":51, "c_map_tinyint_2":118, "c_map_tinyint_3":-91, "c_map_tinyint_4":-44, "c_map_tinyint_5":-118, "c_map_tinyint_6":-114, "c_map_tinyint_7":62, "c_map_tinyint_8":77, "c_map_tinyint_9":-72, "c_map_tinyint_10":-4},"c_int":545186478,"c_double":22.308794830587082,"c_decimal":42.1371,"c_string":"ztHXahstMjcGqUvBzNUuhBbTylnOZZsjsZoYvdoaCKuScBVqQGODIfrlAWZsGCZGBjJzwJHStLAZURNLXpwsfhFPrlaHLZZTEMGnIkYwUPgLJQJPzPfwjIzxBZwrmglJlUpePbylfmGwJbwWftQtrYomaGCxTTIfSdUCEaYjnmVgwGgSzQPhOChsDLNfmrdefTdXwjuBWHubgoSIRIvQGeYZlhXZFceaUTYfenTrSfNtDBHsHWWGPCAILkLfPsgdwiXcmSoxcAWTSIMaDpkvDGhYPPBuAYGXZNCabTPoPNBbceknpgNtMSsBqliZPsUekOlqztRCYSfzDIhhDyyvAgwwzvjRMPQLCUwswcCMBCdTwVdUIRQWujoABwHTPTGibAeaHQdlZJITnDukgdqORYEcCUqDNAckZQqhnYzUhHyhgzugcrFznOohVUmFupnYiTVHXKMVWGCOSICFqIfNqViWcAjwMsyhZJqAVYufspmhDJKZTxQDuHFABQkpyajs","c_array_largeint":[-6053258377587792840, 8518351439835291089, -202478540185612006, -6397351770590790420, 7862641612537484256, 8142791184873854152, 3442332546774931456, 3977481717793346927, -8891732678708868887, 6558059639881995735, 5328311904505327283, -245895301194360580, 708633975226259081, 4504521102514523341, 3640139042387797811, 1549073036096755550, 675789062678410048, -3851931064331231290, -1453364852580055643, 6643903210460825722, -5641178696823826307, -2135335781567737898, -3835558852961337010, 9047833791488924145, 7400748134297477861],"c_date":"2012-06-04","c_array_string":["EftNvBfogPDxbZIjlIkcqHXGMlXzKHKmCuVEXUbrNNsLCVDBmsgcMxaVNlbWYmWLOaTgCxOMVnktWkuhCWFXwvJkHhidvCEzrXwDJpRPNrAJOcpVixzSZLrHNRhOdWixWrpVGDEvAYMgyGDxXwRhptQDDMZCsPBwUNzgdOOTfmkXNlaqEogVixnBrgzXhxspBkccECgrmkrtShkaPiTpakvsxBCRmgwpYWottokdPZhPJIoMXIQbFwsuncghICbNHbCoPfEDkhHfvccSbDAlnTvPfiJkIqHyjMlnBSsfmCbQfmLgEjqCWvXLLRBLliVANzcxjlmpqteAGTxUtSzVNjUxTynkJwRsgpJhVCoprtOASYUsoHWaEcYPXhUMhcUeGQAWSKmdoospBsDJTuqCUhawBRXmbYmGjbrTopJSCcujFFcBPqNtqXmhCuZXcsFfBsLugAHdodJzJkyJaECYwgbRFiBydPOSIDmeFgMrgQrxKScLlVqCUhNjmTVqdmtJ", "zPriiJcDLcpQIKmTfrXtwHilwphBBIolnWkkeoqJDjUIdlNxNjvYNkKdNrCQJtiyfmDqqMfYWRaCILUraifNwUTonvneYADIWQkjHVAXrwRqpAgPJqdrncXwGtWTPLdydLpKoflDAqHkGbnptSqvOBmeUUPyWEqHlCtTmQXfoGwhRnwDVCWNJKeYPWNTrRWwOrpzFvLDbYatAwtIfsYfUVkbzqPpghsJXrkEizMzlbBOxBYSXnyFqlozonVlxepFyrsWGqZwMWRKHOdCWWPxSniajLBQpsGndpjTNWgmfhaDJsEjmwNUdduixrBPKdJFUbZfTCHcfclVOsHMixcIsofKjKPFVdZAOVQmdILWxjdheSPnjRGcMJJPPoNvxiSvZvqEWrXhbandttiQAzCGQcKPcCmPoucSlCbBAoXxSEFtdDwrAeDWDgxPcfDjanqrxWqEUXkzHyihbPqbdbatzNGddskMkBxHqWRWyeKXfCwcdRaBhGhLLTBNkQEXHIST", "lXJGaCejvWKKKQKHyAvdufcaDLwmkUnnEcpzoSygxHYeNNlHWZLuZnSuzHwnsxEdQliTVuGsUkycNJewhtJInOQBLcCwHrDHjGjtUzZtYtnvdvyjaRHxmIgNVvtuPdaCDHttUdSrPxYAdAciTTZuoYsoIBLvsKhCbfTuKanEuQeSMGqDmXGuhWSMHXTOfJoUGCfxUAVnGLuhZnrGoKQTxolsiVSawlgNkXUiEpsxIINAwhLnkYEIKfqREJPHHbCZxQGETYlZgOSjCnkQOyBkZNfwNZJdHMFDKSiTUFUqvQKrDmKtidzDPPbcvHtoyzIQBDHogDjfsItavRiaRDYBBHEyFpSGnpgkJKMLITSFDaptkyYwVwiyPZdMhTfEPdjQgQjYgWDPRyusUPJzclOKvlmCkWxmFKOREvgcVMHXPhVzrWyIqfLGNTeMuLulLvSjIQvwlAuLbauQKEpfGdACDbBBctPIBiuyvlzTjUvXCrlEurnBuMldeRbbJkTKnEcJ", "FlOVMezQxxEUEoWibqyYlSUPIFFsDKFPiySCbvvUjwYjDhqYtgGXwxHvOWJZELuBIDzvACukMdlHTrPViPRQcbAFAxkWNBVCVxsWYTbVnDYkRVECFYfoYfTVWbKgEXBMEApYCilVqROERQuKPgtvBxcTcDPWebxcpTNFeXSeJTrRUoOjyAuRkfJHOoiooxgahDmaVOIBcyzgHcFZUuGBBdqFPqoptmTJgcDRZUuJvKKDoDlvHcQthVcRHOnvqdUAeTYsORuvyALEHGneitDdjsPkDjnmyJtsDQpVkMWkPOHDORbXNSONvzBXTUGlCoRmdsTuXRgOXwzpPRZroxVxoCFMcirwPiQvEGdgxuASxiaZDwasFgkupkQqLDiMFfgupEFIdUskkvPVKhiKftIqJfOJjlGmUIJoliBxzgoVijjiizmKjnrLRZdapSFCxXUpwULhgKmRktLFmpKuiFcPKItxlLUkCVYDfTfTrqKrHEANIkDvXvgjaFPKaPbMoUnb", "ReBzADPAGkKvDqLhcCSRwslpoMgVEjoqOdKBbDxcjkghmRBBMCGpcnkaYlhsGDGjyuSPwOBOZwWQsobDhpOKsEwoEXhjcLvPrceWXqPeMYcxSwgJxxbsyfNyogctaZfWaLWrqCjylbImTysvVptQYiVOGWvVpAXhIJRYVhxLVIlpWJxQvywQnunDCAJwGfrbMxYBnPEzyWGTlnjrCEYTYbeKRIlpRNNoNrkXWkTViOEobKhqagRYkyItdDuMZSvGgxNsqxiiajUaRpVgTreUXWskXyiFjCrPOVfnPYtKBGrkHTYLlXsfKKbQNNrwQYUnfqfueEIkrkDmvzdgKVkxgKvoDTMkjnkyBXTClXAYxnekJSYAtcBmfWSIWpPypYIllPRLnGhVaIrSqTWTkEVKRnymrHgTpWtFouzHFxgaNORhsOHyQpSIpuUMBMhJNUJSePmifQTuuJpTrwEyWbEdqcCOPYFsDNnKqBTXnbUZEmxiijBgtdJPlCxdoZUgtLgG", "IUBIWbUmJSyACMxgWmPhidcWabiUKoXmsNyxxHidxUCxwsnGiKRROgFNnlnHHxWGXvLHeHbtIFGNPPHDIxJnYxxWALgEdQzlIfsKPCXcIYbHhvieEpxmoVElSEhdwpmGjyJeCDnzszvjrftwbeMDEwTNtGJvmiMefpmhzjWGgPvrnpaDDnqiDYYeZXgJCYsMCIEHTVeOqqwdneHXFLKFedkhJOahKGRDxlNfVCijTxliudkHjkNImhNHUUDDgVdCOKsniNWCjSBvfTajgxNqOlDHZiFivnFNHvxuHiGEDdBtTGXgbOhEgeVrBKUXunbqbKxlacovGtgNfFeifmbXgyisyPFuULHZaqkwRYjaRhwXbavuDRdmJydckJiDaEcHllFMRRjQkLEWckOWJvkShIauxWHtVrcHwzweXqGyjIOUFGwVEjTtZjnfsbgNKIdSGADmCvrnmKJkWMDSerbatrdSZojzaqBWlOqfzBacdjKIssmFWFngHncXJLbpUvnx", "ccutmjTGBadCdfDQWZRvYETXrWGRJxsuPhpsRFKfQMKwqnVZdwdqiZePxaeMQyXmdDJLmVrhRjTuKaJiXMVeoljgxvBDbXbomIJwpoHmguEkGCtOtcvSafFRhilmcipOSJMwzVFQFfHeDTpsTdYfKEIRbsdKRcCjqvOfVerCpTbQKHwNUGBAkVSkKqvDOaZEDHpSzYaTWCGkZSGDvXkyeUmKansoSpfWDlziGhuEhSyvCsmVXeHsENhGTYRMtkSTRxfILMZRlsnbREdaonLRcRqnmgMPSJrpMAXKbdUbmDmxSktOENchzIVsdzEBHGqZYODKsRvqphlUhdzalTiNMSFhIGwWJvQmjsYeXqotiRkFdOhyaKbWOrQfiHCukESeHQqwQQOjpWmFpavZgudWKQWXuShyOFIfxGXEGLfxjYGWTWuNDWlxMGehEpXLinQXXIgNjRsegZTOifadRnOccMLFbkNUznPNEuSrePAhRpEqgsUNsBkyzfBoRtSRNxjy", "OSAyBMQeOMDiGufUOfCJAvslvjJEsaYlakYJITGSYMjoshvDMnLpxFiLsiOkwYTBTDNttfqXrFzWRfknPaFWyGqCUHZZNwRNFNqTIfDOhLLNThAlTXOiqxhQBwAzJnTkBBPCLWaBKTCilnRkwUcWVYEgdglaahZOVNHfDmFffZXkirTpuOhkzqPFcokdXSKbHjoXnfXxgMnobYvxTYuJUlzwoETuKJQrQkyxxDlAvYKjphJrcXefDyZUDzqBqOZIfhwnEzsZMCZRGPBztPNowZQQZQLaGgAScrJZhFQrCeDtyzrQOqXhqhnIYHtApZwrgyNyuyNneGaalEhcrLMvSAnAQyqXDqNaMKwaSCqZXwIFCZiIwOygJjQqYbzFQXIylzDiYdvVxBtJhaIisBFBiqQGflQFzOhEVrQGsadbEORIdGyoJWZsaRqibFROteNoHxqdpBndUUDfqjpSRbKVjjaiSCFiLITXRQjrVFtooVrkCozFFkTZxkvZFMWwhrTv", "AxzVjmlrdpuXEgWqDyxYoKjFIVSWwcooNwYcYHgYAUtTODTGztgmlrrULPItRKetOJmYaWaFpwlfqIGDwycDOHSLgiFaRiatSMcKaNwhMdOddszcDtZqlkLRfJmdQHZlkuGfQOzWcPZStogymriiOMwpklcBpdtmjhxyypMTuoUJYHqqxWeTqWpJoywpDFZYOqRSFOPJaScxhluiPkiKyVHgBzdCbHkErrWoYqKWhitDABXGOpijRAqKLQCNmdjVbNOIvaVxWNrrAxuNWjBJDjBuUAiUHtLRBFqFPJiRvKAlWUwNgPvfCXAOwzLJaHNnsTkrGPulaTigFWcYXaVyXaSMOYzEtcIWSxehQemxJRCLfuJcNvIOXULlpnDrZJwQaPSjtvDPQtQAkCXBMnbPwuEAnTTdBnJWYXgvYabSjxlIOOakYhcUhYgdgStyMknqWIjSHTMMphMYwuViduWhTrhyoOXleBIdoLPtKaNXFhqANCAZeMvCBBPQiZGGaxor", "PnDFoZOSWfIzfJGLrkrNOyIZoUswMQdVDclnyXgOatAcmTaKCCXEzKTivSsJygQCXXoxuCVuNIUzpGzSigFfCdLLylTAzGWVbNybsbUYQxPIkrrjMRfkkRDCjOvLRLPEOJWVtYeXrZbypthiBjAuyEMeCcPvSOdIIHSjzJEUDkJQLssaCfWmUGpLJTWqeOUEfiIXvQwsLXTIwXuBrZoHRrxXalSbXkjZWsdjyKcHyYBSuLIerzfvdaztEZjdQkAFGpQwcQGhljIBFzjtvlkJumCpCJeMbwTrdLyeDbsUOVUGrdUHcRxpoJYDXyfAecfWBnDAAPhrBSimQAyZDMAuacDVlNmJozhgbmSDpGTIvNYiOFGxDlqOoWDNypnhTNRqSHjPQEezqXSwDvhJLNUTtdkWNcVSufQeZxrCnIwzDCXdOPohKhNZXBYQsOeMEBXvYnwBfaSMJtVFOWJXFDeFiGIGXNdvjzffbHJYazYhoDijrXZTyujBChLugxyaqRQX", "reGFOjHuyMQwvZVHIBNfBalptsgkIZBIOFRvuLbhqPpwGDFpWjMhbeJTOOExHUHZKaCPHipryzMCfxNciqMODBApLpAphJLfcNpZJAFneWUKmoKHDeYuzaHwuqvvgUIaLsYcApnOwJGyBuTEHrfwkldSSBmkmDqXtbyomBLEdHfZmoGSwWvJEWAZjmaQSCsGlJJAWaQSeOdPZVAqxvxtKqRFEjCRFTaMgxWJdzbWiqPwdtwVmbOmxIxArMZvwjhwLLNCcTEYjtBRdAPDTpZwSbwsDPCNzUdWONLSCsmVyeJapupoXkODGTLQUuTebKxVBSlseOYXHRSxXoBsFTEKVvqSUBfEKCbpJqADmoarxfnpYlNBLAOwfXuHrXsPjSiWsNHZIlxYaGFoHvOHTjQBWwkFTlOPUlJoWfJLwnLmOxIUPQiPmkmSHDlUiijMJMfAMUfjlbZZJqJMweqLIYekvLarRgfAqOxktEfbzhPnoeicyiumdUYdPpjTLnfMceQa", "rUipnTmvAoaezunHiZLyaKGmEOLuwaYUnLRtmwRymFtKhqWmUdNnTftyLdBJrVETLdBLLfpTplmcLEHGwEEhRNrMOPFpgqQRzakgBuhhyczAFUjQJVGPbJVPTIapSAqbnsPYPjHhUTbIjHCXjOiCudwEgaVntDXiLnczYzPyhFcvQomehYyAorifFeMkEqWTwNRSXZbZTKvbrlsEBPGQTlvrTUQrjAmHjQuMVXMHGlucvYEgwmNgJbuRWGbCbWZCTtFvWjQzsEDBghAvlpBrYvcEGafjwvFWixaBOJiEUDGeeGktobOBAyfVboEEuIXZqgiLFEfehthePpQzBKMHxlxxLoPhshxBJawKvvgfglNvEOZTXmSZuPBCppBuDzLJErGxVAlHodSoUPOTDcafzqAwVVfGcKHuBGTMBqCjaxlQilWBNEdeqABMyqoywBdsHIvTsQFmkpFluZltSumznxrGGypCappWminehUTSLLfQwlXNVtBosHteaXtaQNKq", "WcWgCXOqxnnHnLwdIfvHNdalJOWOHtPUwOxQYDmhMPSfJrfYNVJigirzcAbwBZPUbhizZyzsAibptfZcOJdZxtbMALIieiiJMNHXHHrJoZuCBPMtrKMOzmDxZdtUOHCmFByhEjlDJWCOLdHdxmqvhCFwxMzHyGaUuaPxxFkIGkVnMEMqNqOswrEHFOlvcmgAkDKVyxihNJeUdYyBvTIJUoFLmPoJcFexJYoIbJGjGtuaKZavZqHNzRwxYwIfyzyanMvRWHxdFBFdKaGwJwQUWMhatzVkxjaHsBWENTGWTuSzqWWUNtDaXduNWJyZZibKhXRuueUfMIHqPaahBASounNLFmrJjinaCLwsBVvnLhbKfBLIxssHafoswnjurLPcGEgNORWpNJyoBVCNUiFyiWiuxufyoSDtPgUOsmHXMrIQveAbBzDUrpYZAjrNMSDARGqQMTWnxpPPOYxEUvrIgTSinMTnFqGdpNilQPOHVqEyAoOEUsDzqyTFwRHKIYfF", "prsmxHcJyDlplYhYkaOthIEBsNWucbuLIQMnIrPoWlSephmcYXEsUDRxLuAUMyAaFhLunKTSRyLDtexntyJgJuPJBmKoJHOsDavlnykhfjFblJNITrNuDvGJYrczpHexjqiGSjdEuWaHIhsHUvQNFItlTLDSsLfYixNuZhTOgiTLRxzPHqPTfyBCeXdLFWsDYTGxjhaZOsJRQGBXvWSfGFeSCzddTYdZwjiVRWSGJmXkDpHAbrJbtISYIuuKgKusmCFWtzyYNxQsTzbGDewYkulagQdBzqUPTZJvHabOJknWGhKGNeldElpVxQqZdJTWtZLUaqvResTIBzwTnUFhwNVanAsqAYlOchHxyQYNZBEkUDumWBqEwmemiboIufkBKbXzuYSIHKtNvFGdGFRwFlTOuTaclTSLEZvBzqLZWwkwCOdYRTKJFfCcyzBiZxDccQgWGZEVUSIIXThtcEfnZXusjsCMTARBHYZSlSkKDcDQWdtXsVvUJSUgAlvFhHur", "uAaSwKEQLfaQYifHmeeuGgKInWfePdVPqNcuxysfjgdTjnnHNLStCAbJcjhCGNXMIIOvkDMrvNMNjzQxgsqhxqFMAMKFCQjbWZRJBQDRtFogPCUbUWEsbzPFUNFpnFaOnOkzufOlyepPixFBgNxZaGgrGyeeQmCJXJWOnzvlxeOMLqSgbcGwcxdMYQwJnhblyTIcTONkiavWuiXHqWIPUQrJcBKPWDOsCFvqkQjGbNlLcSuOsLFwHdOKwdKGcJUknoOcRfbMWmBlElrjVXvvhQcUwtbKZXRaZHotdhHQkDjuMABEDyrxMFcavLslnnQtJxtzICXCsVOkOByMhvVQYECqtwNpaJttUQrxbzZCkqcPogoKquBQLJYJBFFufMDjfdTnDVtGRDWEOTTSzkyHdmXFsWEOCraOvUCqKoerYRkIIVkrWylbNdJAtqJHHFQTLntJzWEqPGXEPBbCjTItelTLbvEXmVIbKuWiYnDkfafJeZJIWiQSzuOCvrKBoaxa", "iCQSbHxnIkrwyhVTVCygyaXVcTzMGGzMAJlVfOKclmWtIJYomUAogWSlYMQvRFVfjvLLLBAhrxyHpALRmEFuluCyzahSwJwpgRJjkmeeIexXjFzpzQsJqikwXYqDlzXojTMsCxOSVspyiDTQFUIWtwyyFqvajaoLoPOzIfcJRWPYBGUTyqZjTrfASIabNRwHpauZmEAxEIIXLUKagWlCujnVMpiBHJctXZBkrIgCyyuHvinUoqpHEFvqkKWStpNEAQlxktOvmgmPNSuxxUTUyOoLlcxWiHbhfhVFwqviEFpUInpSSjqMqFyhxuzZqGVPhRPPLRMjwhkdPlLMqtVIRtqnRlbuvDqtBSvuJzoaxjWNOOvVOthweWbQjVZJmcKcorRNviLfBZTkzYJyCUDgUHxhBwsqqlIsKwnyraEjrnOgPYcvOmsEtiWUsCQEsLSHfWqKULCtQgZUFjGDjEXkcQKuNtPswfhmeSgUnrOsgeoWuRWaiyscLdtBHDqyudgY", "GmNTnjDXvuqNvTyHmsleFgsjsygPwCZqVblxPBHtWKdbwdVhRufQFuednqXXwSGgLOwktHCuBuPcMVRdrCYQfvbTjOwYgQUpMnYssXGEcHEnsKirPMoMauWLtIlPiSDuyWixXCugnkuHhVDDFfDWQRhXDfVHxSMwCeEoMsGJeQBrwsmAiCAoLfeSWRsoOLPlCPysmAliluFWbfFEcSMcaLdqeCrbOMJqOpJHsscbxDyxWDpgkbYMMjIjsrjTIfBvbSkhdJZFSmVMqHMntSuVHhLcXSHRPLWNXVLFQvoySnZqcdMlYBEldCvowbqZIcqQUCaKasFsyHdISjzLYbjOFQKYPmSVelFcdTVBibHsekqKeUXkHCpwJBRufqakOTYGcpoyVDRMnhNZzFQeBErdmKbGiFQXqIVjRhkSwDrfHHQxheyZoTawWMdfAbyRuwaNyOOrdiaMfHONEcRbotnKzEIieREZIIqrYfiYHYcpweHZvioOQuqRGPaZZEDBCvMi", "XuBBVznYTxuRMJhKILtwQWEaXqPUoRKauVGlEyvnRGuNzozkouALzAnDUmiRlLqimXTnwYcLSehKWNFygVWHYUJiNVPePOUEAONrKuSIchrwOowfbEzPELSybsSiOfuIgjgaCVcEYqlQuBtTRqiIQhMfBHxVKqCyqyXGztnwHqcTHKvBsXpdFIqGbmaiirDYWLbyNQUJOQpVtmDsMsUSzjQznTxFFXstCopTsyKHGeTalSZRAPNVWOdjgRqQZwurRgKfyaVvcQdleZskDOdwGHlwICtmTSRktsvMbhslDLGACYXTaODZEkUmKnXsOJbXAxHZoWIrALQurAhyUnTACbSeOUpxDgnSWUypZxioZRUBQePJpKCjGapflOMvdvrgbdZuHWwzpVuLcFLWkPwSymIxBCKNNdmRNtHOffIseELEYEjkhDokbVdppMonbABwWjEKSnMWVNoYjhBhAJRmgbbweByynPCHjYeQGLkbdJrUErIfziYQMPoWMilULAWj", "ftAvuRTlvFGEcLapbTfjyPZVTqkhdCByOFnckUMqFSBkFBlGqXEhBwBwWdlbhsPCGpccfsTKCMrdcnuXMrasrhFPqEuMmPkgAcWMQMXndWjsTOAQkrxefrcmZIyqRZWZylvvUEHSRkCsfJRvFSucvGIYbcYQvHTkgMWzzfcQunXKkcJSqiNnvBHbZDuGrmVIARWkEvxLgxJJRxrbRGeuMiHtIBuFnISrNmPpigRrltJQiZmgQYjbUWBbwhEinXhBshIDoDkNkRyhyRvLYFzfYlcbHquZmKjibcJQeIXNTybyZWiMqphcvPTRoTGSbvKebOHvoBWnTSovDVpTyQBBHGhbUrVjrveMAZKQqvrhVYBegoxdYIqeppxoezTsnHtvqFbEUpAAyaQeXcSmFtISfvlKJEAVJBrxjLvpfVUtQnWGIWcZekAexhwWwngfTfegpbtyQkhnvNFMJOlhCiEmjDblqdFSfuLRmGPGvKxSuFKzqJSpxuYUtUrGZhomoVYY", "KMwnUNxuLJVCwtVNkFaFGzVSYFYIdFSKjDZNKoTToWuFojHZeBYoascsMqlSOpSLGdMiVNSGavSFULhVXhUnxyfmwCMmRfmzLIkPldqGXjYlSJTWeiNKiBCWvrtHBOGZqGAoCJPOMufISMeKVHcWNJQiLCxHzKnOGDTlFuIzdNRHghwEUwkkpbnHFjyOfJwdqiWasNHopJsLwxlAxuFtLYwzVQQdGrAOHFEomJqhbUYJefyvZNBlovMtTkDiGkRcIhTtrQZTQFGmnHJayjcHtNnzIFcVYhXGhBKsIxDldStVMxKUzBpBLpgRfFnnFoXxXmyEhGvkZMciXoHMdssAUiNmKkKiEZDHIYhqAERZdqVWUrdpoDqMqDeloWtbenxbuSQlzGyzEQFyPWaHldyWokQHCRaSAgoJBBmXRHvZXYjejfchLnnXASGDlvMWbPEaIsIfRrkpbcNzojDjfabRUuVDictPCecIuCSggWyqoApZEfEFrVGsUvzVQmDUhqcS", "GdPsYdpWDuDrVsMKDSDuIlclQwcMujmuCGqzHClMCEvjVpiVQVprXdmRgLIlfJvNCxGFqPNkeUXdKEgBahWgUQSUQhPToaNOpmOwEUKJhGLEBfPNmmejwMlPhbHIIwVshVIjLAsATnwKuKvMqihJIUFuoYWbBaTmGaByCxuNPowYqJGIxZUfGztghckXDVsumEXmtfmidtoDYmjqTULrsVDNMmyWlmvyiCtgzlZoUNtENgMCabBUzlEwqBZQgjlRQewDVIwARDNqJUbuhFjiUZKLUHhfFHImUikxvAyPdmqdxldzEmXPfasXpTNYvpnDtzhmOobbwoVhWTAiNcnvcnPjfyYQlYZBVJfQWUYeGyphHagxySSBHMJfsqUpKsEBQFMaTXJsagtoozZctfodahMHFHftPWFVjfNkvvTsHyZHvAVIPrMdZLJrDdooSkkQsVdgTAJzFEnhDyEXMcbqiBRSzuijMMDydXUSzqiAbaaFNLGDXAUAUjlusylxQfvK", "zxNsOKkJHSoAVUETFVTgzzCQpmOieuOIvvRqEcEGGxkSYQvPLcdOhkmdclVwVyzUpnLwfSpluvXKugesjFMqqGftJVdNxwhyIDwKKoozDhFyARcuxztSAyPEWOcECnBhzCJhWUgEoDljXVttygeynEgnsaSrLFiSXRVecMEWQmAsTNOqFNFVNLaOoSWBFmQvXlBUNsqzkniVgwCrjVgjenYgUcLLxgQaWCdkyaqRbwfGZqYYDaavJyibTUdGeyjkTBRKzydgOmLkpBuyLqwyYfehLnQzoWnnnSQkMfzKhjhstIGqYUqfyoCcvUJorqHfeGxzBnyHmNQyFxSOmQeTjDteuqLSzbahxTljhZpHeVdnUwjnJbJtPvIwXhbbpxbarLyCzQYhrVGlhQGueNEUNhJwrpclAtTOjuGihUxuQGHjqAjrYkHAxPfxCaBBDaJAMBOwnXzIzwCeRpFebYCkwyZXBpcWusCuPbaEvjaHARnjwJXPfPvfYNtiZNPhDbJs", "WIRBeqinUvgrwzYfZrZrDdkDXMjXLgyHgcdEBPBeLDjXyWygVTiRMmgIZfteCKWavOJNeyFvyrnkSkgPGSBHoWEVgKVMDQGhRpQdUhSsBspHSekuoAmYhqfPxfcvGePWCIkkXPCVdoRLsLqSHgIIrxrwODSBmSMLDICSwYlJKPZgepuiavbVyOOxSugviucHanNmCNCAsBddtFAZREzmzRtgfebBXNQSlVJtuHEfkfadXCwusCRmbAqTeZfPHpYqNWyVXwdhkfklGHWLCrckfmpxClrByjFfqvGKKEgwRwcFYkJlxHOuIVpbsrcQettUigEvmullWbGoluvbpNddxdZKTZCcfWScskXXkMVpvEgWinqWfEmEnrjGRjlqJUozCrkIyRKRZlJzccUPCObenrEafjSgCheMVJRqBifyjFpJbSzycBZwkIcMjxppazXZMTPlqFSBMFAiWZVEhxheNLxsjVprMJfOLBaurKVhZmpoyvdAUkrVAZEUupebWnlH", "NpPqsmqKRSVUIFudTATTDlduKbvXerHTNpMDdjUulVANTRPkNcTvEdRdDSYnVShLQKYhguzJEqQxBBQwwSYdqvKFKrxTFPHfzMEpOMCnRkkmkcvLBQdWTUYbtLIuuUPfNeDUwVLUWiSvYeEUKJYOOCwbqlaMdRiZSEqiRbrIPQlkTmiSNidLOjpSRvLqeuxWZPNHoLdIrkPAnQNzoHiLqKeceFUtJlTuRVBrZxBPLxczVszcIzTmCVvtFAEuDwjziatQoKpIOXtOIIhxbSKhVWSDiYUXEZztZhchFcQCRiPDfeBJhWLbiRewzSBXYYIGJzVMcBHsinquiyJaJMcdjnvjxsMTKWfpcLtgDvBuNBBpiHxPBcGXzgfKLZTuxKxvvOOXltsLLakIeuefQDtMdPKYCXdLGpWxamxvqwTdtRMdFQgqdrPViEKQsitUuNSMBiMpjJeCtLEigtYlsNpvImNYDUjDwSnqecnuhacjDRXefkXimiEQkoyWDZuhAVQF", "okFOsMNBVejRebwClwVnmywSrrDuxRNSrDQNvoNrlRcvERJdhkhadMuXPTcnxiRVDHSZUFNrGMgRxEUqpNOulRtZZbsmraxtYRpWSOsItATMCZMLamOphNqYTLHLEXdZtdjysBBhGCDjXSlLXpuZaqAlXtVAPZaBPlTejEYSSUbMoOASywwGumpcNYlULFXftaBjnmHQESESxSjDTawBJRUhxJEDpjnRumJqqbyHRGAXDygGnIqvyEFrDWbpwkddYcuYuSKkJlQZQvwMztIlLJAJxGsjnSvLNsRdhjojwlwTAJEEZIwQWDbCMGqovTiddtcsPsUgIIkwWqtQtiFqJGpkAmlQzuIzJSSHUPbLMuqOACqWzllSUWrNIioWKxRvCuEOXxfyqITFlnKGGsSZJTlfyaxSNnLJqASQejZmTvYNXrmnbAPqiAcDufhbDXjIdIMpTMQokmwsafmMQkCGSuddRCTszqfhegFtCtwwMwiqKGusrPrQHTldGOHhKEJQ"],"c_array_ipv4":["eaYwnRiuaN", "BYvIaUvNRb", "WtsMFMQENq", "JUDywEUcga", "jQHaHUUIzI", "pxCqBfeBWx", "ciPSZRhejm", "BzAzGottqM", "ujJaAKwuuG", "CnZFUpCknr", "EkvjecTYcT", "tszRyWCeJi", "VTVPIZWBff", "vpWYGWRPgw", "oIAxKoxEzC", "tLNPuSjUeH", "GeywWAYWcE", "lDMEobDSvg", "RXWNkAkkEs", "xeeufjvIiD", "FiYTuBKXXk", "FANIllnyGg", "fmnYrxSaxx", "evSuOPkXey", "verlKxGIau"],"c_map_smallint":{"c_map_smallint_1":10594, "c_map_smallint_2":-30140, "c_map_smallint_3":20216, "c_map_smallint_4":-11700, "c_map_smallint_5":32605, "c_map_smallint_6":22194, "c_map_smallint_7":-24017, "c_map_smallint_8":-25558, "c_map_smallint_9":10011, "c_map_smallint_10":-16297},"c_ipv6":"7a0d:d6:e214:ff84:93c8:98ce:80fd:d167","c_array_smallint":[-17561, 7568, -7478, -9779, 2952, -16969, -19521, -10183, -5900, 12197, 18698, -29094, 10754, -16420, 14921, -1380, -4907, 32279, -31996, -27383, -28209, 16779, -23151, 9328, 11039],"c_array_decimal":[28.1261, 42.1585, 65.1037, 46.1269, 33.0556, 47.0305, 53.0081, 43.0346, 42.1887, 58.0895, 89.1538, 19.1030, 99.1268, 61.0627, 87.1046, 31.1432, 63.0730, 80.0566, 47.0747, 86.0874, 75.0524, 92.1253, 72.1368, 21.1448, 3.0052],"c_map_float":{"c_map_float_1":19.530415, "c_map_float_2":50.640587, "c_map_float_3":95.92361, "c_map_float_4":80.46443, "c_map_float_5":75.35478, "c_map_float_6":18.174881, "c_map_float_7":86.719604, "c_map_float_8":66.988914, "c_map_float_9":93.752846, "c_map_float_10":43.656},"c_map_varchar":{"c_map_varchar_1":"SGJQvMEInQtytnlLxeAKwaIGZYSJtZTPdBXUPPAOOepJCXvpQXsbMqOHwZFFWkCTBeIXCOtUZfkfWSlkbCIcmRMPeRwMbusQOsNJBXOADjksjCYikDrNqQaZxrLmeCebdqxqpbUqXZTfeUnYslRQELOCCWucxjHOofVYFvzqeuFRuLDTRlSEAEVxmFlVLRiDYsBFWDueQdbHjHDVnjOSVTtchRlJPWYBVJaGsZlAhqBgEPDZOrbFcgVKdWHJgJon", "c_map_varchar_2":"MwCsQlWuchEaTsSehMBCTDSmutLRrdMRWhcwoelwKXxXaONpMohYtPGJfzaGrhpoSeXBjoOCGqlDyIjfHjXqtCwaSKzCKPRpFOOxEQakExxHKHkcLHTbgyKFtAbgfVWWYcsmkmCpGQSuyPlKrasBnmbIQgKEFYFOsbkOBspuFtmolnPqkXqPokYiJRNTpFfWIYOxSCwRKWrmGmCZARwydxakAFLYVdnmhNtRXyfzxeEadHUjWNTwyQmCAxpllyBM", "c_map_varchar_3":"CQomkpDKFytaYDvcnlbieTSDsPJVLJORUlIbQAkxFdpZpznbloHnnOXZwHkLAWtZeDkoygByrTYNLxZueGSenDSMIOOQavssuJOdhZLJszXRzqKRVFvqDzwgamCGeSOfvhrANgHptRNENyWDbYgcbKCSoQbnvFXuieOiiHsUmqQlvxqjJymJEebMrwZTycIwvPKmgMxzqHaVohXXvaWXuBAiVNDBVRoyjNoRdHdOOjCxWMbiBEzcGYXMycmpZYSG", "c_map_varchar_4":"hgsbtWpURyXgzvpGUzfUEJtEXbqXbMlKSvIOkCdLDapsEslDzcvZYqfwptOMXYepSpBGAPdapxsUJQKzZYNuNUNlBkJXtcCQGNFhICKjnXKiUSTyMmqmHhhZwzCJscrcXZVTqEwIIaDyXSOFjeVnDtZgVdwvNSNAzAPFPOhlXxOtRWEPjYnOOlnDstmDofSGFluhtYFnYWZuNgtLfCZZXqprILAQePJXakwhDtdFrbGMRJEhgVYsJdArTalqUFXK", "c_map_varchar_5":"tScpmjjjKglUxqpTJWPdHMFnciysclqkumJKRBCTlslVTwhQyLYCyynDXFoKeEHDVBuMKllQBzrBZFUQHevDOIOiWxEkCifSfKqSNQXmBKbXIWhWEAsqLPhPsOCXLMzrOIeoKOJXMWgACMiIShhSFFyuEPyHNdyeRLvZipEjSLOOUmlcREcQqHInNeZPFeUShySkklfaogMLGNdbFWDAqlLtlOmSrxNpokBKuXAYgwqQVzwsaQYGFRKJqknNLqsv", "c_map_varchar_6":"cmLXLVwFRCuxevwRKSZBDiwKLbhZKHrAPQZLvtwdBUPATzMXObbcJFwZpsRaFqmksHYBBeKCkUdMkaPVIbpBFhSWtJnhyKjBMQFslPjjipzoaPjvRAOTNiosoMkrTblGfOmJJLCqfeBJQFmfhqLJuIGYwuALizHXyGbWQpIIPphDyoSQRTwUMsCVQQLziLacYcsZkXDWKhbYQlWtfhEmcjmWjpPmfcmNEVTIBCnaBvluHXiMORVFsvgPRWqZYrtr", "c_map_varchar_7":"hziRQfueyvviRFfVUReCjPKAvPVClRRGHUvRTfssaMWrXXvRByRIbOpSxlYuPcJXAqtiTQxWbteGeTjNAkScUgoWQYDxDVkwRJsfVGkQtOBwnJxDFTEdHBMMJCLlHUlMgEgHkJMfnugAOjTCwLaMhwpxOizbLEqGVHpXfCaZincBHsmaBpNZQWnuuattRDlsXtwufPZNiZoDKRlUIensVddiZODLdYXODlhhfQWwLRyaLHPcWFFTIvjImIoFkfIA", "c_map_varchar_8":"VImOMpLLKAGonrdhGMLSGtCmVXzJvYucGyqEonDDJLCVAnDlvtINpRgfydPhEnjdvyblUErDoWhcmvJyZZpDQhYeyFQsZmpHwJJwFiCrxAecvarSwOuiczdXsrDelgPqXGILqprlGLydzDUmUgeqrEBPWnwwQqhgoRROHzDHULXecDNAtSqTQWLlJBDRafZVuXOpsYAoQSRNZMLJUwgqMfMIeVQhIMdAsyizbpdapHsZOcwqPawiqwCycklrUWCu", "c_map_varchar_9":"AqepEXoiViBhmiKEXYdHQMoIwyWELOkDkQUdRWVppnttLvUImiFXEtsxlkkFoNrxZpCtvuoeCEPYcIXoXyPJPuceONpHztuwvNjYqphOUQwJRgDGPUrKfiMaPJwbzszUDDMvatDftmViNtuzJNMJfKXOKEcmFuEhdfhyHGFhoYEaQxNJIYkdIsIBLZIzVlIfPLaaAupjzYEJNgIpTaPIvBFrbpfSNfxqiYXsyzntvIVZovnzLGDHDFRhINDKUPxd", "c_map_varchar_10":"zzlotXuIhRtecjfjFaBgPEYcLfwJlWthfUSgaOmaLhviGqEnNOroHHIbDnHxIvxovzqENZojCxLNOaADeRNsmZwncjiKlDCiMQoIvfhfzxKoNGOFNitNnhHWEnCNcRNDIHcAdWripuBeHyemlFOwrVTMldKAfPJQlLmuucjzZfhRJRoimJlcgfbGcVmJXzjhWMXRWJBBsZBTHouVzAfMzbfrRDTctPumjkahJSTWePbPPErQkeDQnquSnQWcBwvG"},"c_array_double":[2.3513172591194373, 47.95316388591132, 72.08136256585668, 96.77331957039604, 94.74871689260124, 41.66177169009831, 9.028387623689568, 39.67346799762338, 1.9535509482382163, 57.80002188849785, 88.11022950900954, 46.51070096046346, 94.7795136540397, 39.15880380292912, 6.695963178806704, 37.663563562671015, 8.453833787776118, 79.53260272501217, 32.964829569026335, 32.61492949515501, 71.46268566021143, 0.09349355912335586, 92.72171772472461, 30.09883675872894, 6.126479557632404],"c_array_date":["2008-08-25", "2013-10-27", "2007-02-01", "2003-03-04", "2017-08-04", "2019-07-20", "2015-09-14", "2007-03-15", "2007-05-22", "2012-02-17", "2007-03-15", "2019-05-24", "2015-10-09", "2007-01-09", "2016-01-03", "2006-05-26", "2015-08-11", "2018-08-26", "2000-11-16", "2001-12-18", "2012-01-20", "2016-02-09", "2011-10-05", "2009-12-14", "2008-02-25"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_ipv4":{"c_map_ipv4_1":"144.92.65.24", "c_map_ipv4_2":"2.178.197.145", "c_map_ipv4_3":"245.91.154.195", "c_map_ipv4_4":"116.227.127.9", "c_map_ipv4_5":"38.119.240.107", "c_map_ipv4_6":"2.56.67.149", "c_map_ipv4_7":"59.94.211.138", "c_map_ipv4_8":"121.223.84.19", "c_map_ipv4_9":"160.194.140.154", "c_map_ipv4_10":"47.36.129.16"},"c_json":{"emojicategory":"People \\u0026 Body"} }'),(8,false,false,-2,0,2,0,-4131,-20323,-32768,19858,null,null,147483648,0,147483648,300.343,1,6420729,-4273705301564626967,72848477,25.107912,300.343,35.28668818144203,7.727254902625603,100.02,300.343,40.123,68.0442,49.0148,40.123,46.1610,100.02,null,100.02,87.0378,30.1143,null,null,40.123,3.1915,40.123,300.343,29.0416,40.123,300.343,40.123,87.0062,300.343,40.123,100.02,40.123,300.343,{true:null, null:false, false:true},{false:null, true:null, null:false},{108:-23, 127:null, -128:-112, null:-128, 1:127, 10:127},{46:-72, null:111, 127:null, 1:6, -1:null, -107:36},{245:28384, -21179:-26314, -30425:null, -11288:null, -16183:0, -6290:245, 0:null, -32106:-32768, -32768:0, 9434:null},{7761:-20546, -32768:10204, 245:-21465, 32767:0, 0:0, null:-32149, 17928:17813, 9662:0},{2147483647:0, 1135988119:-552759513, 147483648:-1851244433, 1768703612:-1484163978, 32679:0, -2147483648:1403769771, -1488231398:0, -1494453457:-1004097157},{-1586602378:147483648, 951937395:null, 147483648:-2147483648, 32679:-581665211, 2003543973:-158409522, -2147483648:-1531481304, -2035697420:null, -1113904497:-2147483648, 870122995:-95249818, -1468022130:-2064908960},{20240803:147483648, 32679:245, 147483648:null, 245:245, -22777:245, 8245840:245},{6:19016, 147483648:-24608, 300.343:2344227, 7:147483648, 245:7, 25039:null, null:27394, 32679:1, 9017936579795471149:300.343},{-9223372036854775808:9223372036854775807, 245:245, 0:423618639, 9223372036854775807:245, 147483648:9223372036854775807, 32679:null, -7322866165069530791:245, 4614681854784739135:1973358191495944931},{2782877997069072842:147483648, 4470526131238424571:9223372036854775807, 1:-6566082, 0:-9223372036854775808, -9223372036854775808:245, 123285200:9223372036854775807, 38774496102855604:0, 3709473:2037180, -2347719515872850302:1},{300.343:100.02, 40.123:null, 70.28122:15.079072, 85.90901:5.01953, 100.14433:40.123, 23.900793:94.18441, 5.8803916:39.95774, 48.65032:67.47119, null:99.53186},{15.10538:60.07007, 40.123:54.502285, 54.93554:40.123, 100.02:40.123, 300.343:100.02, 21.687399:69.909035, 34.355007:null, 90.22134:300.343, 4.671992:65.47968},{78.05946840655812:60.205963191825056, 300.343:100.02, 22.124813136020137:40.123, 40.123:300.343, 16.865326941162678:null, 66.93557785768982:93.14301767653346, 7.164446942310832:73.86627111778759, null:60.11325137219831},{300.343:null, 66.41156742894762:300.343, 94.41771423268203:64.98349412960081, 34.25402784308583:57.498643134847384, 76.58385657938283:89.04391624986557, null:100.02, 40.123:19.42628153516695, 87.62555491689979:null},{100.02:null, 300.343:'z', 40.123:'with', 94.0814:'q', 20.1003:null, null:'got'},{null:"2024-07-01", 300.343:"9999-12-31 23:59:59", 34.1496:"2024-08-03 13:08:30", 54.1907:'d', 83.1778:"9999-12-31 23:59:59", 100.02:"1"},{40.123:"2024-07-01", 100.02:"2024-07-01", null:"0", 64.1743:'v', 66.0960:'c', 94.0906:'a'},{39.0652:'will', 40.1099:"0", 52.1181:'we', 40.123:"1", 93.1998:"0", 24.0364:null, 77.1429:'would', null:'x', 17.1486:'j'},{100.02:'e', 40.123:'i', 47.0015:'at', 35.0621:"9999-12-31 23:59:59", 79.0569:'i', 39.1602:"2024-08-03 13:08:30", null:"0", 300.343:"2024-07-01", 70.0853:"9999-12-31 23:59:59"},{300.343:"20240803", null:'r', 21.0040:'that', 40.123:'r', 35.0125:'all', 92.0014:"2024-08-03 13:08:30", 32.0619:'see'},{null:"0", 78.1227:"9999-12-31 23:59:59", 31.0790:null, 100.02:"300.343", 300.343:'was', 92.1942:"300.343"},{50.1703:"2024-08-03 13:08:30", 26.1801:'but', 35.1343:'have', 40.123:'j', 100.02:null, 300.343:"300.343", 81.0825:'there', 80.1051:"300.343", 50.0887:"2024-08-03 13:08:30"},{100.02:"2024-08-03 13:08:30", 300.343:"9999-12-31 23:59:59", null:'f', 66.0526:"1", 85.1393:'k', 40.123:'v', 43.0680:"0", 49.0066:'well'},{40.123:"2024-08-03 13:08:30", 21.0875:"2024-07-01", 300.343:'there', 70.0284:'we', null:"20240803", 43.0772:'p', 34.0395:'me', 16.1176:"1", 75.1301:"300.343", 100.02:"300.343"},{29.1740:null, 70.1683:'well', null:"2024-07-01", 300.343:'because', 100.02:"2024-08-03 13:08:30", 40.123:"2024-08-03 13:08:30", 42.0422:"9999-12-31 23:59:59"},{100.02:"2024-07-01", null:"2024-08-03 13:08:30", 53.1186:'they', 40.123:"2024-07-01", 93.0082:'m', 11.1308:null, 48.1793:"2024-07-01"},{72.1082:"1", 300.343:'g', 37.0029:'been', 16.0991:'n', 40.123:"9999-12-31 23:59:59", 66.1213:"2024-07-01", null:'n', 100.02:'didn''t', 33.0224:"300.343"},{300.343:'s', 2.0339:'going', 91.1675:"20240803", null:'w', 57.1276:'u', 54.0957:"1", 100.02:"2024-07-01"},{'l':true, null:true, "300.343":true, "9999-12-31 23:59:59":true, 'can':true, "0":null, 'p':false},{"2024-07-01":false, "1":null, 'u':null, "9999-12-31 23:59:59":null, "300.343":false, 'l':false, 'one':null, 'the':true, 'for':null},{"2024-07-01":66, "0":127, "300.343":-122, "1":-14, 'w':1, 'l':1},{'g':42, "2024-07-01":89, null:-43, "9999-12-31 23:59:59":127, "300.343":7, "20240803":1, 'x':1, 'o':-61},{'about':22432, "0":-18352, "1":245, 'b':245, 'q':-22493, 'time':32767, "2024-08-03 13:08:30":245},{'q':14121, "20240803":null, 'have':-18044, "9999-12-31 23:59:59":0, "2024-08-03 13:08:30":-32768, "300.343":null, 'are':-13107, 'go':245},{'s':1659574633, "20240803":1539510333, "1":0, "2024-08-03 13:08:30":-2047733361, 'up':0, 'it':-1038856605, "0":890018127, "300.343":32679},{'the':-297791708, "1":-2147483648, "2024-08-03 13:08:30":1022543467, "0":147483648, 's':2147483647, "20240803":-314069269, 'b':0},{'s':2, "2024-07-01":8101653, "9999-12-31 23:59:59":-5808128109582031169, 'do':147483648, "2024-08-03 13:08:30":-3222808, "300.343":4967655, "0":300.343, 'yeah':null, null:147483648},{"1":147483648, 'in':null, "2024-08-03 13:08:30":13272, 'we':32679, 'it''s':1, 'a':300.343, "20240803":null, null:300.343, "0":5743638},{'s':-859567987, 'i':-9223372036854775808, "0":-5770864496365952072, 'r':-9223372036854775808, 'u':147483648, "1":9223372036854775807, 'a':32679, null:245},{"20240803":3085700718305998527, "9999-12-31 23:59:59":0, null:32679, "1":147483648, "0":1, 'y':3220992},{"9999-12-31 23:59:59":100.02, 'him':91.21207, 300.343:null, null:67.132515, 'e':99.083, 'a':100.02, 'n':77.45201, "1":35.20596, "2024-08-03 13:08:30":10.301079},{null:55.84726, "9999-12-31 23:59:59":40.123, 'come':47.425163, "0":58.368984, 'q':16.540596, 't':3.7415195, 'something':52.874847, 'b':66.9665, "1":100.02},{"1":12.946766364958362, 300.343:89.44839758121026, 'm':100.02, null:67.12443096246828, 'she':300.343, 'have':72.76918032693102, 'e':41.841657425211196, "20240803":100.02, "2024-07-01":36.83698043303854},{'j':100.02, "1":42.02966064292361, 'him':98.11597126129287, "0":40.123, 'so':100.02, 'k':100.02, 'her':25.059008484711494, null:100.02},{'z':10.0215, 'q':32.0009, 300.343:null, 'n':100.02, 'm':300.343, 'going':0.0797, 'will':300.343, "2024-08-03 13:08:30":61.0642, 'j':100.02, "0":27.0184},{'or':96.1201, 'got':40.123, "9999-12-31 23:59:59":96.1861, "20240803":300.343, 'all':71.1319, "1":25.1603, 'your':100.02, 'v':57.1804},{"2024-08-03 13:08:30":100.0068, "300.343":40.123, "9999-12-31 23:59:59":33.0095, "1":300.343, 'd':300.343, 'a':21.1620, "2024-07-01":78.0940, "20240803":32.0527, 'x':300.343},{'z':83.1683, 'had':100.02, "0":97.1601, 'come':0.0261, 'to':null, 'don''t':42.1162, 'the':null, 'w':40.123, 'ok':300.343},{'2004-10-27':null, "9999-12-31":true, '2012-04-13':false, '2006-07-04':null, "2024-08-03 13:08:30":false, "9999-12-31 23:59:59":false, '2004-08-08':true, null:true},{"9999-12-31 23:59:59":null, '2004-01-22 21:29:03':true, "2024-08-03 13:08:30":null, '2016-01-25':true, '2001-10-23':false, '2002-09-21 14:17:37':true, "2014-08-12":true, "2024-07-01":false},{"2024-08-03 13:08:30":127, "9999-12-31":-102, '2019-05-04 22:52:14':-74, "2024-07-01":5, '2006-05-06':0, "2023-01-15 08:32:59":12, "2014-08-12":117, '2013-10-23':-121},{'2007-02-06':1, '2006-08-05 02:05:02':6, '2008-07-24 19:09:05':33, "2023-01-15 08:32:59":4, '2019-07-23 09:52:04':0, "2024-07-01":1, '2012-06-05':99, "2024-06-30 12:01:02":0, "9999-12-31 23:59:59":null, '2015-04-21':121},{"9999-12-31 23:59:59":17238, '2019-04-09 22:15:14':null, '2010-04-25':26159, "2024-08-03 13:08:30":0, "2024-07-01":0, "2024-06-30 12:01:02":-22735, '2002-12-10':245, '2005-03-27':-1338},{"9999-12-31 23:59:59":1854, '2008-08-13':245, '2004-01-06':28310, "2024-08-03 13:08:30":25240, "2024-07-01":-18207, '2011-11-25':14775, "2024-06-30 12:01:02":-28810, '2002-03-18 17:25:23':null, '2010-04-22 05:49:09':-7757},{"9999-12-31 23:59:59":64894076, "2014-08-12":-1020418608, null:2147483647, "9999-12-31":-2147483648, "2024-06-30 12:01:02":0, "2024-07-01":796370450, "2024-08-03 13:08:30":-2147483648},{"9999-12-31 23:59:59":0, '2014-03-02':2147483647, "2024-08-03 13:08:30":457727100, "2014-08-12":2147483647, "2023-01-15 08:32:59":-1758181657, '2006-09-04':147483648, '2015-06-14 02:30:12':-377025179, '2012-04-16':1290813721},{"2023-01-15 08:32:59":32679, '2015-10-05 18:29:35':32679, "2024-06-30 12:01:02":29724, "9999-12-31":32679, "9999-12-31 23:59:59":32679, '2015-06-20 14:29:31':245, '2010-12-24 23:09:49':300.343, "2014-08-12":5556222555372335292},{"2023-01-15 08:32:59":4, '2009-02-17 17:09:21':32679, "9999-12-31 23:59:59":147483648, '2008-02-15 05:26:39':300.343, "9999-12-31":245, '2006-11-10':300.343, '2017-09-18':147483648, '2012-05-21 03:06:10':300.343, '2001-09-16':8077621977260868397},{"2014-08-12":245, "2024-07-01":147483648, null:32679, '2018-01-22':0, "2023-01-15 08:32:59":9223372036854775807, "9999-12-31 23:59:59":null},{'2018-10-11':-5055530352582938783, "9999-12-31":1709803097, "2014-08-12":1, "9999-12-31 23:59:59":0, '2011-10-27 04:10:54':147483648, "2024-08-03 13:08:30":147483648, '2013-09-24':245, "2024-06-30 12:01:02":9121970031143923759},{"9999-12-31 23:59:59":55.924004, "2014-08-12":300.343, null:40.123, "9999-12-31":40.123, "2024-06-30 12:01:02":300.343, '2004-06-17 06:57:14':22.534082, "2024-08-03 13:08:30":100.02, "2023-01-15 08:32:59":300.343},{"2024-08-03 13:08:30":100.02, '2007-06-09 08:41:43':300.343, null:null, "2023-01-15 08:32:59":100.02, '2006-02-20':1.8694434, "2024-06-30 12:01:02":40.123, "2014-08-12":100.02},{"2024-06-30 12:01:02":72.82544771127624, "9999-12-31":null, '2012-05-12 14:46:45':40.123, "9999-12-31 23:59:59":86.22283362030335, "2014-08-12":56.24050665489359, "2024-08-03 13:08:30":100.02, "2024-07-01":40.123},{"9999-12-31 23:59:59":46.2244025928482, '2016-10-12 16:36:47':null, "2014-08-12":23.557724410980434, "2024-07-01":300.343, '2011-10-08':74.74221753818594, "9999-12-31":100.02, '2007-03-01 11:19:21':22.586399219052897, '2006-05-19 14:50:36':100.02, '2008-10-13 19:34:05':44.77574961018681},{'2012-11-19':43.0728, "2024-06-30 12:01:02":null, "2024-07-01":47.0306, "9999-12-31":100.02, '2018-04-22 22:56:47':100.02, "2014-08-12":100.02},{'2009-07-17 06:05:01':null, "2023-01-15 08:32:59":55.1759, "9999-12-31":40.123, null:40.123, '2014-03-19 19:49:09':null, "2024-08-03 13:08:30":26.1019},{"2024-06-30 12:01:02":null, '2015-02-08':null, '2007-06-08':57.0613, "2023-01-15 08:32:59":40.123, "9999-12-31":40.123, null:null, "2024-08-03 13:08:30":300.343},{'2004-01-23 06:25:31':300.343, '2006-05-15 21:23:34':21.0291, '2000-08-10':65.1059, "2024-08-03 13:08:30":300.343, "9999-12-31 23:59:59":24.0427, "2014-08-12":29.0918, '2008-08-12 09:37:48':61.1681, "9999-12-31":300.343, '2017-02-20 12:29:22':54.1737},{"2024-06-30 12:01:02":16.1628, "2024-07-01":40.1078, '2004-02-07':40.123, "9999-12-31 23:59:59":null, "2014-08-12":null, "2024-08-03 13:08:30":37.1230},{"2024-07-01":100.02, "9999-12-31 23:59:59":300.343, '2018-11-12 09:50:14':null, "2023-01-15 08:32:59":100.02, "2014-08-12":34.0614, "2024-06-30 12:01:02":11.1132, '2006-11-26':28.0674, null:0.0456},{'2016-12-07 04:25:36':58.0020, '2011-01-21':55.0118, "2014-08-12":40.123, "2024-08-03 13:08:30":300.343, '2015-11-25':59.0421, "2024-06-30 12:01:02":null, '2009-08-25':null, null:51.0148},{'2004-08-25 04:45:46':300.343, '2017-04-18':null, "9999-12-31":null, '2010-03-10':100.02, "2014-08-12":100.02, '2018-10-06':40.123, '2000-03-02 11:23:58':40.123, '2012-02-10 07:41:21':null, "2024-06-30 12:01:02":300.343},struct( true,1,32767,-1436251261,2,366865163,91.555885,300.343,45.1967,100.02,39.0515,59.0273,23.1442,100.02,100.1954 ),struct( null,1,-2121,0,147483648,-704319725,40.123,24.8924160459718,100.02,100.02,100.02,40.123,300.343,8.0046,300.343 ),struct( null,1,32767,1151129809,4488297229919308427,-4713490,100.02,4.180939491135434,300.343,null,40.123,40.123,5.1279,56.1658,33.0796 ),struct( null,-49,-1825,2141341869,300.343,2419813049493858824,null,null,64.1966,null,54.1152,89.0573,40.123,26.1174,100.02 ),struct( true,-63,0,0,-3191542108214246028,5444543859940413986,100.02,null,100.02,67.1157,21.0133,81.1411,100.02,100.02,100.02 ),struct( false,-52,245,32679,32679,6716973083771526224,100.02,null,100.1786,300.343,31.1400,35.0240,53.0860,82.0934,22.1760 ),'{ "c_map_int":{"c_map_int_1":1673371990, "c_map_int_2":-1937256649, "c_map_int_3":623707663, "c_map_int_4":-1941397865, "c_map_int_5":-180934635, "c_map_int_6":-1535521477, "c_map_int_7":1124702594, "c_map_int_8":1558628965, "c_map_int_9":-1534183603, "c_map_int_10":-2119080541},"c_map_datetime":{"c_map_datetime_1":"2006-05-13 15:21:21", "c_map_datetime_2":"2004-02-19 05:48:42", "c_map_datetime_3":"2001-04-05 08:09:02", "c_map_datetime_4":"2012-02-17 13:27:14", "c_map_datetime_5":"2017-10-06 01:12:05", "c_map_datetime_6":"2004-08-17 06:49:30", "c_map_datetime_7":"2012-12-02 06:52:08", "c_map_datetime_8":"2007-04-03 20:54:51", "c_map_datetime_9":"2007-05-07 06:22:10", "c_map_datetime_10":"2003-11-12 03:38:49"},"c_string":"LPtCGDlQdbSiwjsXhKjhZgnteXcIQPjBiaEuczQLbIMcOQrqSCzTLFJJQzDCyplrMKRglGxRKFmOETpAOromCQInJrJKgVWIdZcAwbIgPinlvdSaLUyIGwmqHXeAuMwixLAgQFVwkdwdrItEYREhZTroNoggPVyZgciWutXGkvxjEwZlHIUJgdhzrzDiMZoNpEfIzmzTBHMCbatUZoJPEnmMKzAyCoVhLqpldxeWoNkdIPeuUCTongJHyKlmpJxqCeLnBPpMIwbynVXKquCsDfStzlGnePRJaIOJWOyuHlSyBccnmRLkKkqAngkkXfnIRlZurxDfYlJPfUWMhfKgDhbYaPXkrebQhBmnZzamoouxgeoZjavBHRRMzQnARzeIahSCNHeBgZqJQOBghtHoRegLPcdGWIgXSmNnOsXkxUavtbsTgONwUHLolFoegsHGvKyVonsWLoSMvoxLJlCovNuIPVosHtYamnCImcPPDMUeySxFDvByADvMbPciCSWk","c_int":1279837062,"c_float":51.774487,"c_varchar":"good","c_array_tinyint":[-31, 100, -4, 103, 112, -9, 42, -32, 6, 26, -27, -97, 8, 43, 11, 23, -51, 110, 50, 53, 91, 111, 94, -35, -60],"c_array_int":[-776210780, -293821427, -1986907415, -240885755, -690033450, -429116285, 1172037936, 1767847321, -228392512, 1609857573, -2063139786, 66620128, -1933990, 1510393432, 820886111, 60530843, 293664415, -1659301706, 1984942542, 377300987, 59170423, -746171469, 998394287, 1782890065, 1450491652],"c_array_largeint":[-6409414552989414690, -5745040217256948967, 3428130928826525998, -5473902309409118143, 7383520060140469915, -1631678679850211375, 2324897799153081572, -9165131619416364943, -3935224431283163255, -86233345781958079, -8005580227199927240, -4750524784236655663, -846517387425088283, 745797255661948692, 656389407530660925, 9053952685005337348, -2131152353827145371, -6352223387584356900, -2409793197602893501, -9206201471665671056, -7812022933586903971, 2557794836886654968, 7147488626227437617, -6575345704843543769, 3428941183151519008],"c_array_date":["2011-10-13", "2007-09-11", "2001-06-23", "2019-10-06", "2019-04-24", "2011-07-15", "2006-11-01", "2008-08-26", "2009-02-23", "2010-05-02", "2014-10-04", "2017-06-19", "2002-04-15", "2014-11-15", "2019-02-09", "2019-05-14", "2014-01-25", "2001-02-15", "2005-10-13", "2004-02-01", "2011-06-26", "2001-08-03", "2014-06-24", "2007-10-27", "2008-04-14"],"c_boolean":1,"c_map_ipv6":{"c_map_ipv6_1":"2b4:b317:6629:5b33:d6bb:dd7e:2874:9c26", "c_map_ipv6_2":"e119:6470:8b60:ce60:4052:e1d4:d9d1:d820", "c_map_ipv6_3":"bedb:2824:b403:5477:cea3:297d:d105:c997", "c_map_ipv6_4":"4563:6df7:49f7:a637:7ff2:ca50:11ab:5181", "c_map_ipv6_5":"907f:1c96:fa09:b906:3349:260b:2f94:3a2e", "c_map_ipv6_6":"59af:472f:ea84:6955:1c7a:e56c:f656:8c35", "c_map_ipv6_7":"3148:e948:d1ee:17d0:2c74:1dc1:46d9:8819", "c_map_ipv6_8":"95da:d18:37a1:663e:5d3a:1f24:5c4c:4ff5", "c_map_ipv6_9":"7b1c:578b:cd6a:c88a:8f2e:412c:f615:f3d0", "c_map_ipv6_10":"db80:c6bb:3883:dc1d:d0bf:7e8c:b90e:6bb5"},"c_map_largeint":{"c_map_largeint_1":2081622986494825896, "c_map_largeint_2":-5594205382118047584, "c_map_largeint_3":3951555115117724207, "c_map_largeint_4":1059888817669246176, "c_map_largeint_5":5789040149069027331, "c_map_largeint_6":-7114979323219330956, "c_map_largeint_7":3974853030745663497, "c_map_largeint_8":481323630659670074, "c_map_largeint_9":6020484472022101795, "c_map_largeint_10":4989766500659062179},"c_array_boolean":[1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0],"c_array_char":["RfZvtPcYoI", "DBSQeOEzWm", "IQzhpMemRi", "lTSiYQQnmD", "fSnGMuNatF", "aAWBphldyw", "RVhzlPAyiZ", "etNwbXLkhO", "ZuLfwKCZCu", "prSfjhEMcz", "ijiSgrVkAi", "thgUBuJknc", "qdAEJTykfv", "nLYctgIfGo", "SIoVGrOvIr", "SmioMarPpy", "ArSVHKpFcm", "mRqGPHLuWo", "ttOgyyCrad", "IEXMgiIICu", "QZqYQgsctc", "TMKTtogvrD", "wCTRyiNkEu", "KhfEAxtqUh", "xCCpXOKvCO"],"c_map_decimal":{"c_map_decimal_1":76.0158, "c_map_decimal_2":75.1457, "c_map_decimal_3":33.0547, "c_map_decimal_4":21.1666, "c_map_decimal_5":51.0418, "c_map_decimal_6":49.1254, "c_map_decimal_7":10.1422, "c_map_decimal_8":4.0925, "c_map_decimal_9":30.1384, "c_map_decimal_10":26.0605},"c_map_varchar":{"c_map_varchar_1":"vxWucERKhEDCueqJDdFIrlMTXNnrKMkdGkWAyLIfwjRjsGYKIBwLaEouvLlYFzrKQsywiIzDwQUUWXwCcmIkbHacPKECnYXgNYrscDzxcqDqIARtScZucRpJddkIxQgZVBwZUIHuUWZGpBLpxVLiHKCWLYyxlcqjUgpRephfQpVhMfxloVvVzBmAuVHeADLOSfKyCAkyGPJVfRWyIJIaDXElnMmGLkhyeDjxNAWkZSvNIzgGkVYFNxybdGxUexdn", "c_map_varchar_2":"qvYbwVSOaqFvqBbyDzLvqARAeBxzoqoLmiODmfOhGdIbpOHMeRANzpTNdIYxQHVlsHDJQwOhuAJkySsaqivbqKJvZHJoYkQOoKLyaNkBzjIXmiyXJkuZFCSDOEDNcOZbgTvszIKYEpxkCjFgQFKVrwVUgWqlfMpicqWBujFoHhCQfJpZkRGaEUVbVuewvPtutSIFmLlpqcripQinXBceYsGyqgwoLNHHfTtDbxQAvHmVLKsyScVyyQqdtxPPNQzw", "c_map_varchar_3":"moslpEBMzCnjQzWdTlLBPjRhYhhkgOIiaRSVIyZrQdWikUHpGzPexsUvpsPWsqeWTICaTdoXlZGCcQzhJEfOnUHLLIJvIQmvYlewWeOUuNOPAwyMpPbSBrhRzaTGDshufGNcmsvaJqKaWURFVnBesjNXSgHnHYLOldDcuFDYEvZoQJDBxKWzYSEafNOSdPpuFGSFdShyFhJFfCpnDQKemRZnFEMNlDeGxnbMSWGCRsqNjGsCdVhvuFNVWasZSuNN", "c_map_varchar_4":"XaopKCoPcpoxItZJPyGhAwnaKfmhuQFlTBIiVCkjTFEtGJJMiJqjsubMfkXNtGEcJixfDvFzZFOguesRPSUSlMjIWYojBmGqoAxMdCyhPVVXSSKLnGLbgHJsPuqrigrZsKNUwkSCcVinWqtZLCpxEIgOzfedgVtROVOqaBliBoRXUiqJMmpLvHaciedjnMYNIcEGBamqsSAGtyjexPdboBDsSdkRCRRdQAVgDmeDAWVqgvolZwrWqmfbzMdwkjwQ", "c_map_varchar_5":"zJKcmHnYzYbYlESWiKsEUsPNlwHJdhiWyIfKhicGAyPtUFoxBXagtBXyOgQhViaFsxEzyedQbjxMyPyICZPhbCyQzASGjVFgljjGCENxKdjTRxIwpspyrItqxojEfPNAPMvjgnvDJLoDrXAaTouxVHpGDWbiwQXxGQrWTYnRkwORDfFhEUqQpveFVgGfsspYnSWXXFwkMhaChMhgXtODcqLyMYfdFBuwQHqEIBSIyycVuoXZJEVApJZqeJXKsRuk", "c_map_varchar_6":"vPhcxOGZNXnFqAqEPYhLQsXTiychAALxClejvleHtUNcAhykSOzqXmcUVnGldNrxoaJIIkHayWripPHRbFibURYBDFpEFMdosGepcnWNUKOBpMNhJxvceZdKdahDorQrtIQTAMadYWnVTpjdzEwjfzDntqQfDhklPAsYhpbDiuoHLmtxKlwpwaKmoramsLFAcNaHAjTOwOEsQpLmROTzPJIpyoLJKVShCfkkqKonhjygcoAsanFSxdpCjsYyHWSx", "c_map_varchar_7":"ZlZZxTbiYowQJHCgePETjLAjXggrJJmXMvKoNhPhgwZlVqkxTwVdKYpBbwyRJJsXmweLlXmwjSZvUdIHYyxGIIbitiYAyMhjiPLAQiTuIUFSimUxDWlqTRxqhRUzSQpVfcygYTmfDGILReZDnLGqWHanDYYerywAkEqiymVdIopeTuwIDVmVtqgSLQJYUcUNccGEbswZlkISdjZsYkQmAcjBurhaCwLAthEKauRzoTXmlJEnjiJOxIUisaCwpFqe", "c_map_varchar_8":"QQQiKQAVvafUaARJGlZymSrEDUEmdirYHKCtkVNWIrAFGgYLdtlFIeISrOobeiGPMhfxgfuSMigRmCIJwMuDpSwkQAuocJTvyUKguWJRftadKWwetWwQGDSNewSBxRlSrURVFHzjuwXCQkuCLJLEneRotVLNMOVWJsBkIuRSxELnGlIlpxtKoKnaObXNVfOWUNgiGaaFfniLAAOvbutnHmzPImFQzTnYJnTFuMaogYnXgIeQMwUBMsFuNsrIJlPO", "c_map_varchar_9":"ePGhHDTsDzzpVdhGtYDTXfLwWTfYKfhOTbucuDUCjavIRFhyqPhdOjWPezlKNfCcGAPVMuRhwpKvVfVCDgYyumMyQMevqLQjZrotQhIpWSUohUnDsQNkladpKyhvUfVhApeBlZZTcwHurFhBhCRGJJsbrwwYJsrSruJgYmHEyqeBuFLfmmNTFIQisVdPcOOiHvOVzsYYbtpBlKtbzfdupURckumFCRGtgoyfnIUDoZvcsBtMcTQiQUmweBzClqZN", "c_map_varchar_10":"nDmWgGxgFfwMGeVNdowWRcEvLzHffHvnzMxBXTIrSULeFodcrQuNUJoKYbbUQHfSKmNhqRroRPexHJDaBYBSOBxEAkjKCoRlBeUpnXVOLhayPnnlPjJwAiHpDPUxlrTHiFLIkPsISOWfOxyQeYfXAQPKATftHxxgegOXuxKXjTtwJOldJEYNVqCbOLzFadZrnzcqKcVJiLhLEInUMAfdIOLBEmECEprpYvPhqwxpEVxblrDMfDgTGsapccbBUixn"},"c_datetime":"2017-03-06 09:32:09","c_double":80.87182136633889,"c_date":"2013-10-21","c_ipv4":"21.18.110.186","c_array_bigint":[-8268560765787686798, 77564462504643902, -7813515430935291511, 2913684270391593564, -5161918775621407870, -6112375764039855703, 2256596509024685885, -1858201359553713722, 6706040915426799499, -4121082068588362262, 3253966683858497019, -7909899336674370401, -7659159072095352285, -3991459669336953123, 8811252920748764051, -4876681399919880655, 8382181502608940237, -4344308960512434541, -1883463901411448831, 4862657980129892338, 3085059805231231720, -625640334659220763, 449242283978855575, -452857858373783400, -2561654117180639933],"c_array_decimal":[79.0094, 14.0752, 14.1984, 99.0539, 29.1493, 39.1520, 9.1127, 12.1315, 82.0889, 95.1849, 58.1790, 84.1782, 88.1327, 98.0983, 68.0447, 73.0241, 42.1454, 0.0451, 88.1450, 39.1613, 12.0204, 32.1552, 34.1159, 11.0004, 36.0062],"c_array_float":[26.253933, 82.83564, 18.257212, 15.48086, 89.91989, 83.235565, 83.326775, 9.264603, 28.50888, 81.79379, 66.16315, 57.830418, 45.3898, 84.01364, 1.4618305, 12.83651, 73.88531, 78.1657, 74.97835, 35.243935, 65.945915, 58.207306, 93.52364, 71.42738, 67.63011],"c_array_string":["ZJuRjyheTbThBOToZldOgrBmvjCZzhTxCKOISKWyaGAJgXIggLdzWVxFZCERnKCypkNEeDZTrpPbNkMjGAQXHjxljufwybuHrOnquzMNVHHOIlutNYhTHJTsgTZGiYODYzPVnQopSCcnLDJVhtQlczEdRzJvZOVuVrfdPXyfZVmTLFYfYztwaOpBzvpcANnMLvsWtPuFztIQACOXTwJWJIsqlgNeRXyQAztNnbVvidszhfznSHBYBxAZJjxmjlboMXMDUPCkhaOWccqLnLoSKpSDhTcHsbUGKTztKhqLGahbWYywvTavexbAamlyuvCemvZyuBehvtLnAQHvmCNiaDzAccrDdeRpiJAnawhWpTBRmqNlwuXWcrAgiySWDXgrAaxZTtkSEFlVWfFuXifcSatpvLaWHEoMatIbkucnrwCbjRrOYQYqlvpEyjsgVhuymlknthvZnEWnGQCjHQtQqflEMgLunqkcnsAOiPVNHCgLcWRraOXAhIcmKDJGuqqT", "CRXAMyDKCXDBPqtHyavrBenFSkzNHweoiYLfQeAaDLCfjVqJssRNumptXtnzTbMukGxsaKvUhrHpdUJgRrJurbPvlCNQrDPpnnsyrMHrSAsZVQyiFVWlrusmvgApIMrMruzBPWhboVjMVpUuoPivXctsvrbZSDQMDafSuljKtIgeoFAVEHmXczmsEKnuLkpeentJrdifEiYfrkRfkxJobjmlYEsQaMoSIhSmpcpjbRCcGBYfmMFRRFxmkInWHMMbqoDluLXAanFgUyChBCsNJgVbHhSbyOBkqNnoeoGsxRALAFOggNwNCkzoDreCdRHpbsfYTqeivqBoQAoouMdKUXrumorLegLPHXdJbimwdpcHqIgzdQKuJOZllFMaRBArteyNgTKVmGYdnKfdhFjQmYdEdgaEcZUEKMyneyqNrZugCSjwrksmZUmXFYmeBKVpTwhXjQlAzzElGTDdDKiAEnfnWHROTCgeWSNfwWXJHbYzDwgxkclcykYVJZcqZwqS", "QOapHMOYaDTseHInrFDdkdkPjrnxfcqESZhmYlYdurFptccBofOahFzgMsiNPbNoQvTNYYpaejOZWETMTnrhhgHqocaYBEWKaQulIOXVWnRAWXUFjNyBwtEsfRhLPiyGIiqMTGsrbKSNeiXZxnLBdEUwYIfKGiddzEIEnaxmcsHTCYohtvdhYeRogsLHTcyCTaOcgpEVDvPYCxnKYJPiezjQbbfMFCnbcabCGbEGCiIAFqTvyMIkObQJdztephcRYmViPjjFtAwOwzSrJRwYhCMaTiZIulicWVhtUcNBHoiABFKVAHWFeohvDcjkEOawSHCMcvcMGniAQXnyqojSpuoCSvTWntobbgLIEcEKkaGyOMsNpgRRYbRaiuYWdFiErVuZVXtnfraffhdghBSBOGNOMMxwaOvlRtYaSjbPUgVmVLbSZqyMlKhaeyrPlGoCeQTBfYKqzlETjpQtoOadyswQfEDiGafQmapEynBzWYBGWYILfjFBwCtMqWCsIIZR", "KuBKHJKqoDhUPSpPNXSvZdbTFhbGHoCHLFkBDcjOwAVgsQWJLyBuMyLUOHpPsGndwHBiJUeptrBGfOkVIfiKdFFrAKSnDaBYaayROgWmCCSibmZNzVwzsCfNZyFiDLfFAKSnOvlOgtoudMufNKnKhvaoTJkelWQnKzEUnUQUIqiPFyMzUzIUbhWpOqxnuKLugaHGQEBKFEkYeXZANcqcZazWVlSfEzMOhfimborBELmozwjkaVizWdCSBkqsRETpbYOHGBAgqfpAhQPvFJEPWJvhzMzPFhbChoPcHtpaQAUedWmIjXnHwEUMtBYKBShXgIYAMuDRSVFeDoLxtoupainQLsAOsiwuRWiKkcFPwERtDskdbUbRgdVUiCelNoycSvTMFEQWHYinVbOZDVWJxVeElXiAeOzQAftLEFQIfGMHPZzMVxotMaQoYUDeeRoqNLNbGETbwBGZqamkuKJmYdbLcviHiPWeKkhHsHwRmTvzpleAtFMdGFGTtuPlJQxV", "CgJKvRzEFzYetCYBYwYEiVokneYSKibMNBsJopUQuktwfGAgHnJNaruITmLFvpKVDNiGedWbspXbJUmAgpsbqZQSYWpIDdtlwPLkDAGFStUVgAZhINdxZEFVAaHahvewzLvYDphAhITSbnheQmsJXBOOruNkTWyTlDOzhKNIhNywTslDdozuNYTfVVfmYTYHVLwDtECpRACxYGiBhmBYvCbzlfcYyjSxyrEcuCiSpewJoddxWawFTBxjqHYaHuzWQommWGzvaiUHpacqgBDenAtuTQCoGEITEcQspqtwinHhUSJsWYYlbBSJDkEOIdKZGUpaVVZeuoKsSsZXOYsROSHINnuklGzRdSBxSgXkCpcwTMiTLtAJRaNGSkmeiEQCbzyuaEvgnFMXwJZepWKwFSJlrTdVGCXrkYYdWpexppXoeueQceCETMGsgLDiPRYaujQhNeMUUJmbxEhhyiKsuBKaQaCWGEborSxlbAitfchyOoCCJyYMGEOfwxsyzKWs", "ZPEtoGWwpwcgexkWKBmhyxEEYqiXkSFcQRXciDikjoLZkTrhHhchWKCqNxZekixYHJSvZOYgXFnzyugYBlyWMUPQUWNffGDqCOItsEmLsUovFnkXvJyPKgnxRLkYawMRFGGDJkgtlGfJnZPzSyQtOEUjAwMjiNepJvMsguRhqfNNsKuJTXoIVnDdYPiApXmleVeKcrPsXqNGgmEcQZCPuWWboUCEfIhHoNLpDvmYNAgVTUCyhIUCfNtIewkrZekOPkoJdkeoKVUbQcSsijHlPJjMaywaAmBHEsELghXXbCetBYyRHZgDqQZFqntGzUTmdHDqkBxRvvdtYbjhQDwRvuoaDMBMTCBfvcKGZjiTUFAgBkwyjQvlXPDEAukuRKdNryZYWPIjXQneRnBqQXneBQvIOUXsugKbOBSIQXAjYUAHSiPuMEJisrMkNQmfViTlfqHiDXAIRxRtWseLmPITvVLqBXEnyMilsvljAfSPbDOuunsuNeAEMofLVEAvTZoC", "yKGDvGBxDKjgjctBjbGnUmCFOuJZQBrwbnFCHigGqyEIoQMhZIcsmLwoIycWMskwvUAqbnGoPNtvQiEQFUqEYrUTguQkQJkIZgJXfaGVblzctfJciIHhOQOXGqZwfQghZCHmyxPgolPMBNJImUkfcSmzjbCdXfgYyoOwWMUDxETzmtzVqlVRoCQSEeeUNtrjxBacoNBJETPtPJabtZeZuxIKUgpEktXniHoNtnvdUcYkrzAtzHKNNUTQjsoYPYUTNqzmzzvKXCnvmTsbIiYdqKBxssJbecYVHmAIxiZsXvwMeagGzKxIgGBoypFMTRGcAXivRTKLZJfRRoGXerCTPczkyRnlYePGNvIKUoySRloNpwZAgETfOSaqWaFpodOWZYQaLsWvyuUfxuCMODLgpeTKONJdPAizqABNfKfdQVdKtLKSIDLWrFFilqYVqolsXHaujdbcOwuYodJwVjJehewGXjXvcqxQSXctFIcGhTZLMUOeZmYEyWKHHbKZfFEL", "VvKZKpHrBCKpeOpiQBjLtKbffewEwMHYVkKLiPjaHBSkgfCOHOJGOGJuEiYYdBYmJXMqghKfpdncdIpKzcnduOkryGKyeDEzYLGsPCzdwsEIhFoHFhDHLBbdsnwyiSqHgiektUnFctKPoAOoPsHCfihXmoPUJXBcWVePnfkiOxHHoezRiqbRGbZEQwizzoXuWpiFrzMTiUnFffLKgbspUkWSwXFkhbgYBhxMjEvvErLQHGlhpCPrvFoSinMNZilQBGwozzEMkyGUnzoTbcLAGcmLnswqcAUUomVcUPiHSuCrmSvYNFUIxIoGnbwyrRbyPETtVOxwsLPuxnirQXPXaIiMYCyPXIykJJBfToYjjBBhfozfbvFbvbIpFjyFczfveTRDGyQyjnzawuHdfcANNxXiCHGDDUqZSfEMhHgSreErEFSgDucCujSsOichEyHhGlvXXwSsPWJgnkewHSRyQjsFSvwghBlJvGZRUCIsVBCGotbjEYQnDrzcIurHVBmq", "iaZaeowAKEguRjOyJPxgtPbcNnPJTfKJbgdYXuaYAsWfBAtAYrDTySIIAUojROhRGIkZFhwrOApCmTXxilSXlYUtxrQLcEkjfStaJzhoPpDnrndXueQDZfjSdQiBfcTSWaMzAjOJSbTjXhElcREeHEnUmbEMiLjBIMNbOSBzTOhcfesCukOPCvlToCaAMVbICASUWWPIiPyzymMPIYMbTVlwfcfwoWenZSdKeOHOXtnlvILQqqyItGHAxkICGkOfteAfXyWfHuZdYWSOEXpSwVHfAgxwsjqGkixxOHeLewQdcfAmjdyIDJqbbmFvmgKzGdNIvdmBEdOxixiTkVAJyBIrszovUlxAoZpvWHASZZEkeKAfcsLXUbLrgVRvDiYYTbvRlRBVblQARUBpUiLyjHnYgaqgBpfEGRAhgmDiSGBWcwlYPiSXidlRhcZAzGyOzDhLSYcNaZmiMEmqejYRksYGDyfCDzZNrrpiQlBiNxRjSnLrToszJMRasEhtukkn", "RGjbvJdSFpYoLjbBKsBPGrKAMHJHAdRChxIAMpRyrXTAsdeZPYVPHOieadunXcXbBUPvAmPGlpkrXjasGJVPOiIkMjmzvReHayUGbliSgQLMdQEqoSTcAeevFalRlrkwiuTTfQSsKHMuRdbGODCkkllAqFoSjcVQuLOnqoLVVLBoPIKpIhAlWGIwhlOHAwkFKYEIYVuwJAuWSpZEPQgMvrCpYNLNFxuclsgcztbCNdaqaSJOGIkYhAZZvYdoCQcAbxAfwhZPlFgjAFunMupjZZvBwPOaNrrZKQcisPXxqXtZsuQpmiJIPVuTGtMeYHILhVkBQztZnXTkLduNKljPeDJAwqWezYVMoMULUQtmqzXVmabQjgTxxIqGylmKTwAKJwnPMrpSpeOMLmjgQogopFHtVrRaRFaBsGBijSJSHjOBfkWecSYKrlWBQNdBPfzolwKdBjwpghihalgocikJEnFJuhiXqxjmJQrhqrIwFHyokuLvKuMgjxjlbMDUIBhD", "IqulLTKSjDxZSclXlPtyTynNmzPzDrfidUeWJQsulkTGYEnuUkxAKfnAqUuEJoZBXtpiUOzLOgKNCTdZXOUArRAAztZXkdutXlamCOtkXApXhJskfIsVskbRbbRcPtlMwkWIFnLanSwVjDXTzJYKkGowULJvBLWjZGDOCyOdktOBlPgLNjQZJZPEQehLzzVOteUhNanJvOGWpCkZlMfXMbjTYjTrMSMvQbEtclEfySjQTEcplqJaljDmyZHiyqPfNummGpJvVkKJbwzCaOIwMCMtLantUguuwOwxWrlbSpdYYoCMLdBSpdrXTNjJJxsnhcRWPnlgTqqIUnRfHRavhHsOOamCIYjvLGklhVycGpmIxlDZNpqGfbnZUOcQcybnqGWqPKAIbiqrnauivjfInzaDKKnOGOHMUeSlpDLcGlfKXpaUPYqPVytAynggFtuZOKtHnnoefogHEkCuwLylozKexhwnUCNhbPhPUHTGlerxOaUnniIlQDABuxgyfSBZ", "CwrRCtqxOaXZjLOFEskgPogsJvqHGcHIhHmxAxIpfVFQnMUUYsOVhAoIZyrHbsbPQLCLRwstbyyYGHDpikXNckyzOVNCFzgjRYKXLWxfDYVFPWIlHhEKHxvXHDjMhvLyuhMuEXYFmGrlnzRKJDNFUrmipfSdueBZheUchqPrCVXVJQsjkzlyclaBFPzYXkWMrIDKaEeYzmUzIBWIXpuLjSErKAYXFXhCkAeCTbbNmMekVASHDRQNacPpECuGBvMTqtmewdGflgZoqmVnxXtvwwfPPrFLfOeuvCFCVuWGfoCBmMvrhvXdzAwGgVpIxbJVpAujZGiATiDdnGfHgnNjlpZAMOrrtoBZFBxbhAfpnOFtvFOjOsYoZdUOmRvrLIjFZNCBTJXRolUIOWhkpBiWNiWBKyWXQPdlQQgtYuqNiPkThiHrwlLmOphlztsAVbnkWqtblYHMbNjlUPRQAvNiJUBomdzsNXbllPXDnkxcFPXhYDiSAebZamnqeVepcwuu", "AqYpuoldKnwOoLXtvVRbOjQRdImraaeepYBrzItLPpYYmZsAkUqUliagpOphkqcnfbAqNiMIDPIxYBupTKEqBKUtFcGHntLPAraOTFcwIOeysuuhJnLuFzLuFZarPGrBUoehfZAqPKSbzWorCKQKgznbCkCTGmAiRccsOALXXKfbxBhjMvyKpjVajbnzaKrAVyxFyxHJQwOIQbtdyLlSdGNfBKdktcHUzEpTwDgLCkeZhxBjLEaTxRnpiTgBteehjrWHqfZHgTawxpDneLMXxcsZZsShHvYFqHymWFpSmGEbBeBMrmehxWwhBrGjAueoCeIYQfQdDBjmfWEcJCwWDaRHXHazPuDtiHxPjDtsZRmEugyveJaxAlwFnwRKRizaKxntpZcxhTqaHyLQVigzWtofTwKtPMXUUGCAXOCuTnWsbrEyMgzkfYutVwqJVPvKjmuTJjkNioMYqKFRSLIAmFrJAyKEtUPSQNxMrWrcwJXfXYXeUZGDRcBPARnRlUIC", "KiXcnqDBcitmdFwnaGmcQmNJtvlzFYFlSrsPiLOdIasHGRBANRYoDKiYhVeiKbeCMxTAVvhCxLbSpKpJnTXpjWolTVkeZodeUoWHMkYFcHRYTZZIjcHUSKAeVzxAeXqhPHqCHlYfKcbRJlXpWivvHXBozFyFeRiabgTeVAdoULpLUCBkidCORxdCHApZMneBIrHAMHVnhRIvTYmfcwwkqVRVVZCWLMOchRrtvzbQFoiKXsrLBceJOfVUoIOUNAOJwEoIlqEdGaWoltZBozVwJwPKTmhmdBiFRyBKmoOAMkjRaXAwMRabyOkjkCYMTXAmgaKESMRCaNsDUBINpRsuEnCcbbtGlzgOqbdkWbnbcfquNpPBFMVACDOMPymGVbokomUgLhFqpVLMCVlCzpsEJSRdRHmRYEtXwFJgnvhTIJBYGfygYmFJZJYTUZYvkMNOMwzPTRyzADPEuFntwsCgeeusoXtlnZTHEgDYOjWoyOstcvtWebqGbIZkhznVSXaD", "oJmUhbzeCUqqfRocPXbaeXIHEItAdbtmsyKmZchQhXAmYgAoAOLyEjodEgvgeEftOWhnZhEuqNiwJrKMDIdLgcDwUZCLnzgePionycyadeseceMRnEdNqbCguvPzeTtmokLJHHJwQtXnZzEaKQPqCLSHagtobtLIPBysvSdMbADrWOGbAvpBYsEcxmXaBmfPoMieRtGqvythRPrjTuEibBIXMVjnCCLubHVRcGlrHwUrwsWrZHLdYRxDLNHMhaVDUbdIDasSQFakkSnibUygoeUyyJKrxpREbmIofOCXEgQPOSPEzWdqULevgkImJKUDYcGHrUBbWwjFUUsUZWohGHLcZmaEQEzNbvWHKeHdnYQuXCMzqLGffGdTGMfcWEQSYiFsnhVCCGuxcMHXUaBSThbcWOLdOAMhkLeVJHOSSCLNFyjqXgjuoIHnAxQmpOnMODiuuQaerhQxnfKDeoPgLrvZpuMZSQbaUMPoGwYXSvkDyguVRXNHLlLpOxJMvbCj", "PsXmabqRlGuBCfnHcIMCzVmCUtYNdxzfOquwkDUkBZmDzEwJhMgfngFdnSJrsgGaZkmScLnBTpDzKTLbrHjtSYnHEGjdxlAzAMnvmGMEjcFGCfwheOypMNxyzsQYiqFMBKyksLJhEqxzEOmSuBUETTBpOtRYSWehBqpvRloZGmJvYzhvhHfEIvgnnnMRxGmFJXBXpDFHmgXzNMxaTWuFgiCLHfZgxBBOSWfuElDyRFipiAfhAoaLHpbwtAVcinwWcXJpcotThtSGLDOLeaGabglrlFibIEZhtfYsmqNAlTemqWoShaAMdBzVitltesegOUTNXYXIxLjssObdkWllHGizZhrmUQEIKArFNGAoGkrKAGQZnhlomsgQCuPkidJqzoFmWzySxlKWBNNLVGLypWTVtopAmbflqpNjzvTVhnQwTPSdBQtpemIXkRXJLEibUlvHrvaCAyZXbDZOXAacwxNNviCrSQqTxayVWSnGDuyUoOgyFDhTrQeWuUgYmTGF", "YsFRwwnieefpmKcXYVHRQzwIpCvhXKIsNpoDFLGWEGAkSsClmUJtoCHKEiuNQRDKaAcLRFORjiZrZxllobqPgVgrJXfUoInOjEkQFpWHwNgpPEglLzCLNxRzJEvoZstmnBRqRrguNgQsBSVsmmczRSUEOXAlydWljJPEYngKmETwovXbViACFUtWXlZwoPXyZlWnjjnJRzDBAdpBiHiQETquRlywEPEPrAHCmBLyKtFxmWyGeSETiMmLxczeqknyLhnYDZkgiGzxHrcKajFjNZSSmgwfvRNidOxWZycERnlydISZVhraTarzNFYmxtNiuCRrAgjDVnjTQrWuiiSLAmjfFfhblJZgiVvYCfSvdPPkEQNMQGkdZYLESLeQXtuimBnFNQHTLuDHBzELRKZiUjnSjpGFTsCjXGgjzSvNlYApnIwHzJMQXnWOEtRKWHKdMuUPhEvqIJxihINmlqdCrItoghnxNsqcYLyTBjwaNXTDRArTYBluaaVmUUJyPkTz", "jvxLcNtXHiOkGJOvxbOmtWKsAfIhgtoatwwxnHyQqbmHeKvhTiDqmUYridNhxqikIMQKYHdjRxwQwdsWrcrtBluMEgKZNoYxsKHqoWaiAYAymmjyzFPBKSOoIiAXjzCgrKubapoXEEnJtYcWFgXUImaQCekrbkEvITdSUhNtgYHNNdjVZDtPHvCNBPnTwYPpdbRNrOoQUAxcpIKbfPnNAPLrCEsUAdnFOmNIzAyhLzjmqUXkFHKHCxpzwgcTzCGzKaxrsmBmMciiiJuakEYPWLnynsimEwPGfaUtDHvuwfxuYrxOyJUJDCyskFQqMWpVIsElITIBWblhQKbzAbjToQrzntuETghfGqTHnhytUwULcYCfFjlyOXOVPMmTZeNWttfyWuksMoTWBjefVytFRAIVHkXShJoOEnYsrbjyLxvcssRkMgTLfjJwaTKdwiUcCseIbCNtrYCKxKRHKAUJOLEgowTBmUbxIHkmFulvUxRmXFMLyIUYzZHlYijPgrYl", "VnBBCphkJDWkEIqoIwhqWEdapbhIQTFwkYUsasLVxJQLpApLoebSQTuoWNgyrWzAiXtRZldDWepTYQHnlEtlSOriEuJGwVYnvwuaJtNQYqRkrMvhpKxYrXDSPKbpBjpEikSAqZQeduFZHcVzysccAOMzkYFcAZNxNnSpRXqAWTLpBLyzRuRZYpPQTMzTlJVjppoiqDpHjMiROjtCQGNGvzfLhVLohicrHTAYfuCTuJfFwhqsQOfozqVVAqzNvrIpQkLXqiRsAzzfrWpMWSWWSwaCokjFcabRuHyGUodZYKVtLJTbbVgUQZLBCnuEWWlFULFPKfXxwGRSIsVbKURUNqhtaHwYfNXcObffowoXerILcZiOGoqveXbdMoRJsSnQVZXNzezCkcTmXXCSkdKCAvcFnZAfkRktrIFEloAXOUnGtMHwQXGYsRxKVtBmsronGpMyTdGFrrXxUjTDRdmEismsPtnbShfRpVNceUFKfZRcftmHRKjdedsrDnxGbezU", "pfwjWUNPpnEqPtKUadVTvHIUyxWvWyIrgLLhHqyiWUEbsthdLSzkUMtIrHeZhWxXgsGXHNIxlriwCaPvYpGyQjNeiAzskbgLjMXYHfkLKfoeFyvHXJHhnktarWvwgoceUPKstojcABftPXEDIFQlslItcbNtZLnKmrVwbhsNiCFXdDEzdhxjdmjMhSypizIwpgvTodXvKYeaxFezGZITfNxrMfSXmUoacofqdQBnTryqNNOeliOxLiMViJGXrvBAkyXeTXZcSqePkdqfwoFpTAzjgdzdbLixDoMAyQRUysDggayAJegceQbgtUBiawmCXMusbtKYEHUJfmteQzIoQTCsmCHGhTCuzGgZZgmlPTKICFlLjitbcjHbxnHDrZkFMyLvxFHRZNTKNuetWkhraXwQticJTicfPEHQBHXcDUmfNjqMYCrMMiAlNWNoOtqgHypongeLTVhCCvyTlSLbKHexrcxesVrhzdrxfbtLyjZHeLSwriGhdfJnMbXtamZf", "UbDceLwARqYuSBradRdleFlUYCoHIbvicGyGxQdNPnWzVnpithTCYCaGjRMckNmcKBmXJHlNgvAxUvOrhHkDiSvljLofVaZhVkIcKhjwNhWrfYuaTMDnYgxrgcjnCZcxPmPtRmcGQUjFBlZsJWECVYvuAexqwmHEOkeJNzMxBcxMlFQHUchyZNFnYfUmTHMusFkThKyJoxkxktNZlDrvWhdWTzFfiLpkPmWXigqUxDUmruUTahxmNwsnlvEOkMqkuDDsadtREGQDhTAVeLbecqSyXFWfUjuVOPQxeVrcLmsLUrTIWtnvVweluzUJFvEfBgqpjhWKozWAMrYgRpgmMDDavngOJJXUJMimbTTsYbkToFZNpPQRWkyMbJdnKCarmxGUdzWAZqXRnDPYcmDDxFxBeFhDnLwhEIFMtmlZRGdLXAJQSZFgNlUncUcQZwWrKvUTqbeQjsRQcLpozAtFEeLSZEjLJLdSyxcoqmJrFYPgkXlGBiDmMTFvaoVGOfIW", "hzibVheACrvHjmUIfFZUXNYSyvcANHUmwKEsJcxnuoQArhbSkDnlQRXUlvvCDBZzJKrWFxwntSRRBvVItAwYNMfskimmyrtNAgwoKqfTNREmiDjWyEYxKxfTvIWYSwOSVAyqcAciNhAxorSoKXIBOOaZslfAOgGDIZKyqbOjitckJFUwLenxVnQjAUVGewVhEELNqjJeYpYMkKqCqiBSDvnovsYDddzTSJOIGQsetHBdiEFbMvuCMdGanwWohwJLjEsqWvgQNqNifgDQyiDGtwxhiCrYvXdVxTeNguVTbRqvxeTABYuSHtFVURFHZOoCGPzThmnmRtsPsSXOtMwWqxsqiqmwoDWKffhWNemQwMzZXKARXSMhWTwCLkCtwUHKNdomjfHJCnFhgAQHWXlkvQjToAnRHbxzgLZBConNEPrEjZCcQePLtqupzHyTvRAEskrnJVxIElDJHIjCLQJsPaeJnsNEIZAhJEotQlXSviFRVOnTcONFlKLnffUzGgqy", "EAWDMMQbZZgjynTinmQpWNsHoKjWwXkMIWcCsCBvuEArSQWZGDtMExsGDyVMhrownQXVGGgnlqGbMOoxQTtYfcwFqiDWKOnBhmFlFfFdyOktaGMvzVmIEHSjOIefDmvkumieNxIiDSisQbZtAxlWrXazhWFbDDUCdmfPmHMMjojUyowyzCtCbmBjrvQUVXSntboHdkaRFJNDxaqBhhvJUWQpOLExTlZzZerasoGczzPMSaHyIjNaaUsTpMyjTOxVaQZfznZFtKFGfBMpukgtzdZQHVhaKwkVkyQfFStoiCfWAvNifhlGsQbQTqfxMSgjmFxTvVcLjGMycNqSyPHOauFiUWiiuRLPePbRHfQezHMfUKofSqYvjbokxiWsLmyYncrWLChkLQsRmeAspxYjPafXocCyoiUWXycOatPKHfrRnLOJZjCiqTCrjRBfMwbaLXnqdBZoFHakVDFcyQKasnrVzhdXteLdkxZTuWKdatqmbigsKlfYMOcVwLNzuYBw", "YtyYMEcmmqxxnxJeEakyLYKdlVUvvsWXZZVPCAyYuPiGkfOsIxuOEYlFiYWEIaUrpBUVWEEbKmflcFkTsLEvDgvZodpLAVpxDlMnROkgPFfRJQkGFvFvPKiDtyFyuTIiTTYlJeNXMQwcJzHULMvhLCDtimoTAVFlyfoYjTPcRVVIokdYiOhgbGQjIUVHQUKPYmNazqdPQxnXhhUMqijROqhXnmUzhPLBifNsaDGOUFePjFTWejfPCwycoZHAgevsRlZYCiJMHXxhwBdhGsPaGskpUJarVeeBpTQxUzaHsQBUHUMihzLFdwqivuWyisGQPSEGXfyVANLGJOXWTlpbAgWgdyYGHcEghyoEEbapBeamwAQjvmmmwaXNgSHlcnCCQOYIoxaBwVgZvthApddnDSPGorpYitIJjMUZnJfwrHprfHaNsQDKGebYiYaQUlVUSlnsaxCXaNCrcEhvrjPSoMghqYKKtvNpRuBTnPNhKqaejpYrfbBvntmrDFMZGsNh", "BfHwfgMqtYjleXBJTsuxopryYfQvhGofWLkOuFLJDqBcBhBwsJfHzytmgcsGahoABBcWWCNKmOUnRZuTXmMMgvGZGlzPLcHQBbwhfKEISRwvRQQrmKJrXrsEegVquUDlosQhLJezENqXpimiWkrbVfYnSRvXxjrWRmrYRjrJNzFdXcLMvDVSmkGrAuxVJCcmRAxCArbDvsjQqqcIdqdnGqKzhqDxRzNdoewBTQmWhLEmcZSCiGuMGZQmztSsUPqHVfmPppqcUQVHVSCVKhGjWebldvMlxYeSHwkfUVgOGrcyFqomkOtXsrqptADXikGWGKoKEfOyvDtXvbLazvRFmvWXHWpOXJxLxQfXiHKaWLCtkKpWHYCtLkHMksdNVGKOmpXGxuuaTrTpAurfRMuGciaJduTlDzjEwjPzMeRsRwjwwSaOhzyXmUOwxKiRkrTEazNsATnVvwgGozGYktWEuOmtMENfhkyiQcNXvtqvZckoWaqbwscxsbVkvmIKsizH"],"c_bigint":-1703653662980212800,"c_map_ipv4":{"c_map_ipv4_1":"163.75.222.221", "c_map_ipv4_2":"50.112.42.92", "c_map_ipv4_3":"0.188.168.178", "c_map_ipv4_4":"47.56.205.133", "c_map_ipv4_5":"127.164.29.170", "c_map_ipv4_6":"178.7.205.215", "c_map_ipv4_7":"210.110.86.24", "c_map_ipv4_8":"218.122.49.179", "c_map_ipv4_9":"114.209.34.215", "c_map_ipv4_10":"190.174.144.203"},"c_map_float":{"c_map_float_1":41.094727, "c_map_float_2":56.92826, "c_map_float_3":16.976555, "c_map_float_4":93.36388, "c_map_float_5":43.517307, "c_map_float_6":23.027681, "c_map_float_7":0.53415555, "c_map_float_8":46.697666, "c_map_float_9":39.327576, "c_map_float_10":47.105118},"c_map_tinyint":{"c_map_tinyint_1":-20, "c_map_tinyint_2":78, "c_map_tinyint_3":-99, "c_map_tinyint_4":-109, "c_map_tinyint_5":24, "c_map_tinyint_6":-4, "c_map_tinyint_7":-125, "c_map_tinyint_8":34, "c_map_tinyint_9":38, "c_map_tinyint_10":-5},"c_map_bigint":{"c_map_bigint_1":-4843166352906085848, "c_map_bigint_2":4012504185870806226, "c_map_bigint_3":-7137411628689745286, "c_map_bigint_4":-1173385561415544926, "c_map_bigint_5":9155789228111537906, "c_map_bigint_6":-6865080293014529021, "c_map_bigint_7":3517359627463740580, "c_map_bigint_8":8123023231273774610, "c_map_bigint_9":4332297928122897089, "c_map_bigint_10":4290544646269596082},"c_array_ipv6":["AZmuXQVRCZ", "VOrTZqGsJZ", "ohWgQarxrV", "ZRrSOLLAXF", "txbntLxTcP", "cibCWDQaFq", "CHgFpyNigz", "fqSkZhBZcZ", "GWaRSlOwKL", "nAbEgpkXTW", "aPXccTMmMD", "SyRUPiQnGT", "YZIicAkmTE", "xbGGIbGmkX", "JXjpqFKQSz", "ycNculnZkV", "xYNEcHNPHW", "TPPuaIfMFI", "FKkkZzrFxz", "OYtpyEFwSu", "hxkiTqVIPG", "EFUVgkkbZk", "WXlOJehWWU", "jNSKjxBlZT", "ROIExhDRTs"],"c_decimal":22.1925,"c_char":"HzqIkaIyfX","c_array_double":[67.31201034132815, 62.41463976450427, 5.679193884097518, 2.772009703050296, 67.13192367124479, 47.050097490406905, 29.74029307444199, 31.400263508731726, 82.10170023218897, 12.114390885380335, 6.0180551299377045, 30.904845761267183, 19.950639759097207, 89.36614507785077, 82.38787271729494, 0.5996620708358451, 31.309684432143907, 11.86356364839613, 30.10489069916675, 52.6536341571001, 69.16234277094067, 52.08237209309276, 80.89902125110109, 71.819039429385, 79.3776991104053],"c_array_datetime":["2010-01-02 15:23:05", "2014-10-25 21:09:57", "2014-02-17 09:28:30", "2003-12-20 09:27:15", "2017-04-15 06:33:49", "2006-02-05 14:32:51", "2012-02-02 09:39:29", "2011-01-04 13:59:22", "2014-08-17 20:28:25", "2014-08-10 13:21:08", "2001-12-16 13:29:17", "2012-04-18 20:48:14", "2004-06-04 22:44:53", "2004-03-16 09:13:38", "2003-06-20 03:05:18", "2010-11-17 13:33:47", "2019-01-03 06:48:47", "2004-01-20 20:11:27", "2010-06-20 03:56:01", "2013-05-18 10:28:51", "2000-08-18 15:11:44", "2004-02-03 19:41:39", "2016-01-11 16:03:56", "2011-06-26 11:57:44", "2012-03-25 08:49:34"],"c_map_smallint":{"c_map_smallint_1":-6140, "c_map_smallint_2":3125, "c_map_smallint_3":-30345, "c_map_smallint_4":-21251, "c_map_smallint_5":22037, "c_map_smallint_6":-6935, "c_map_smallint_7":-4117, "c_map_smallint_8":19622, "c_map_smallint_9":-351, "c_map_smallint_10":17808},"c_map_char":{"c_map_char_1":"KhntqXVpgS", "c_map_char_2":"MUUUXgLPQC", "c_map_char_3":"UyKCbWZTeV", "c_map_char_4":"cEAvQTDjqi", "c_map_char_5":"feuFVYZYXI", "c_map_char_6":"zUPPtsgnsn", "c_map_char_7":"eohhBDsGZw", "c_map_char_8":"kFVmBOhIet", "c_map_char_9":"tTuYRQsBiJ", "c_map_char_10":"hwezmZgSbA"},"c_tinyint":10,"c_largeint":-1439798901905179094,"c_array_varchar":["mbeDubViHnPcoVHjVXUqGNjXcKVJAjexANMbhhdLpZdyzdAaUHNHsqsHGiqtrEMAyDxJQXnDwfxBNbFlvjDqorvmXppOjqLTbhPcBufDMJXcgooQdxYeQNEAUUfbrkgUnHozCBNVndUYwkJuQtxaZuJylcxuyoopQpVYqCFtZhzfpSFXDwzUqRjSiHXSVSCBbLjxfEfJWkcrJQjJYYjRQAqkaGpRlygylbptPBMGAKdMGQpBFkNxYrSbGofzQprS", "bcbxqSQKjFHInbouQpjqTPJFchesCvdbZMOmDiRZMojYGTTemFSCAUbMRwsJBjlkdxvbvHFClYezAbJzXJLDGfDHArNgNDHhSAehjIHpLXwKSEbixRfyCnYxidfmMjROfrfiMCbubvaxNPKxGmSebJBYYasRtXmgKvJAvXaXhTfxPjOOnMjobOrpxzpuAGUWRDbbwHzNmoslVjVBgPfLpDArDsfdEGrypbANFgsrwXjJtPEvVNUWvriaTOhpgcaG", "hUaZSNNtfHmeyYhcBkkTtyEsEJPBCqPKqkfynSvVPvloAaFBintbcEBZKfgNBgSOeHgkcFLHCWJifNDIcwHcJQzHWnVhgrlOCtArrDCCSNKvjardFmdJijcMflrHsLaBjNmnKLaBaHyZomguPtJByFEvakrigoEMvlIUrhugifSYhMLWWvFYgEmuojELcOzTFXPkTUJSYLyFOghDgdGpBlKkXMdTgYovIIubOxdLfGSeQYnIYMljWskWslcFdwFI", "PHZXNFUppXvncFcScXueWqvaqtEVMvMRYZkAnxCfZPRpElbTgEHYnMeyONkYymLKvZOcmPMzWovdBKNBYzNBwsLbNUBQzZutoeIghdSSSUbpsqVFdSRBqiUnNtUfkSSvTIIdNuYuVBemDURwgMOGgSxNYXICRxJrXVwDHbysmQRHHJPSPwBdqZArYmKBURsQiqgwXQTiNSNZBtmKTctpIevOVKIqNWDmQUGjWIcoBPEfMklqUtMoEGSflUADEqGp", "wSFZmUyzkKeScHsitPrCGpXWfhMVmtKZIJAelvKflTqeyFtpmdatLkrYdFiuwBBXKoEnRPNSqsxEZaLRtPMAhgrDjdqXVuTyMvyhYlVtZYpBiTHCBJGGotleTIUNbhmLsVCzlTrzFaJtJYwaPoQsXQclZkHCeXvELwyqfGntdtVsqMpOHyrzDFQtJmhjccgXbpxcVYjdIjkzncCHPlfXaCmMoIFIAVgoUQOvDQhnegwNImfOFkZUCRzzcfRtKcUe", "bhyrpnWniBSkWshsimqpcwLEpMoTIXRbwOxSMFGzGknHGygrnflHJIFLtrMYdHFLxTLGmsvTNNeybKmdIVGaUmEPJJJMNCPTsNJAzVNkxrIoZrUvNJsoXRpXDkQcSGjGujRjvNsKYXekpGKSNeatGfMaZkRabZmsLcafJBaLCyhahFiCKBbTGahWwxAmfqtgMDyZxTHgWdXGpAxamCgPYizYIviqRlGBFKWsWbTJCQoAxuUfhjuCKVdciypTvFBf", "RhvMvWmJpXmCohphIBmSWUMAPWjshsQYMjAIrmrmfZbHqgVIDTcSVWzctfmeVZZhahOTVDjzgBPlaHdkgDcObWgYtXoKpYEDNwlvqAohUAUonDPIXUYcwsxGZHGQDZqZAdcgSesYoJjjOrOxpvnlRguaEbqMkZijVAHOdWZXjfltWXeFDHzgMOUjtObxgOObzVoHSjISxGeiFtofnFmHXlkoDAeBDIcaaQXlRAoIMIQNIDXSoxRjIWfJuCKnLVac", "ZedVDaKXpoHRyqKztzGPOMelmGKkgiGnQRAyTfyPlRKbxyStAzAWdCHPHqXNVkzHhomokxekvSkBslvuwonARdqEcdIizkjlQyhjOuRLTeeJIzRVuuZvnRnrcEilJXuOTTwqIYQejeYjTlnegAAuWnbkbIeUYgHwGhIcMpBjAGCptQutMkyXKeAZdZtbTEAwKJUcLKinkfFFGjeerKRQjRqySGEXikZpmoTBJjUJJJSgpZgxIRVjAbWCtYxNnUWC", "CbswzuylcMvMcbOZLMOlrusEWZKBCewlLvsqpxposXNIvEImdujmJtOegVyXBvmKREulHLtkQYmkIjClVBjpgxXolQUkVCqdHfKpzIduKqvBgzLQMQuaLhYyxeLobzIhGfjKCCEwZVZUgYZWdteuivEJFkNipWhKymtypiomCNxidqRQQRllAXTkmDubwnttjZSbnfOYaqIFjsLOFqpHvjogTpFEoVOBXVEIBbHfQHpaRyIBNqLxNCnGIhJjOPZF", "XIUtTggMXUHqTCVPfXivGSXoLnLCfjyjRIOSSPiNBkjTMuKhiEphqpbEOKMSmxtjAdsRsPAmGiVQsiTONyjrWUVbyWhQeYWVNosZizhtgedLwtEAXPHQTCHHYvOKwAOsIlQBWkAOqETQMKJctMGYUzQzPXjAAbppecgsUPgUDYuEZAJCGFeRDVejWTFslSrwVjQwPTBepSfMMGviWNFguEvMOtIMMObNRuPimrhXCsOYoGHIRIqyQTomtEdNWZFh", "vQnYEuzmUFlbBtHoqghokKnkJrOCTaErMurlZTZVWGJWuKdBvizVCjcRFZCmGkfGbcidqwNBlDWrtZwPvyMGqgHaqaCfJUNNTgWwdycCKGuFngehYWXHbDYVyhgzZOwSttDRzmOePWPwcwSPqeSLhondoBnYslkWzVFFWZNBHHvMvQfesicEVrseEWofImdhfeEzTFgvBiNgRAYPEDngvjERjtiUhexUaNabxKOKiwPZKOafSVwyCLaOGVrQhITD", "wqdfOdDCYhhzHKOWpImVNYgrukIhVpFAucRqTdDxmCoAOArYkSbtFlsJbQEMgcccQQHQnKPAKDElPeiUoZMZcNmYhfAZesFquwaCJKnAEmsRCScTUnGeOUtpJIYbOSfaWWacwZWkrFLrLfHHPIZeNICnPfYCjfUsYTPYOHGqzkhyClTkIzSAnTicwpnoaZpVMWcgfIeFnSUjpiFRxakcUXXyISKnfWanghReDaYczOJodVVpyDCLcXRhJmOebEMP", "bwvjeJXDQoAegrVPsKQYqAGfvBXyhVCaUZJlDYagXStFvWXGNfMxkQHNWUwiflBPOSBnjVexepGKkBDVEnZffXqIArWwpXXVEdMLROiJzUkPcYTXPrrzhLlEjpgFuEGSFEkSiNAwIOlmLrrqhtQlIfjbkBliFyKqqSVkVYTslRFDWkdFeKkLqjYUSmWmeuUvQURQUfhEEEHFGhDcQhwnPbUXjvfTdzyuisfbcmNCiFRpODfHXBqwUmMXhMGLRFAr", "HGMkINTGOxSFDJCJQzWBANGPaeOsmnryyqgZHUgFLwqpyLlgUvZfUpTwVrKTXBWFcOjfASecdUIhvwrOsrAbOcOdFLVVLORNimvGRigWsYDMguRKTCeSCwnusRatXUACcIsBTdYuZlhGTSwaaqRAlazdxAahrUBBBMIkqjMMILZhVemPCDBNbuaTxmkxvHQwNpuYFSAWvCtSMOueoGnSGXviDGSDrhyNxkhtpOHGFpJCFMODspxWwdlkIAVlBKHD", "LhptkUFWzcYTWhrUqrtNiOyeRADgekikfSYcHPjesFttKnJvzywdXCBgqUvuRbrmQUEzzxWOKVnCRpFAkkFHnorpikBGcmtfQAhaMQoqSuIGlEqsjzxcRsmpTODvuyTdnisvRccQZFfySGOIVKFCqgtKAXwcKSJxnfYNVhLNpnoDvXeVHkQyNolrSRFHtgqkyjXMIDsYZVDlpLzVgJeWYUCfgZvzjGkiobwXgywgrXVBWmlSftdFwrVSVTaoYWiL", "TKAudFQsogLkOVYdlXJPgsYphhFmECFDkOlPMpXpxpWLJtbRYkZghNXZvwcTZbDxOxJYjBFvKbBQKAkwlaCNOWDijsnuWAAKNnKdsiAEbKPiyOIgGzPbLEsfgctZyahiLDtjkauQWCEZjQBBIRhFeyPHplDzhYmTmnFnlAqdouvecHCLoZpvgOPupsqICgAcePtRJtGeTaoAiMwQFnxhOJhQyYMGtmYLFIKGEvCZDgMNObsCGPcoJcdtwWpTfDjB", "srspdazuTzRNKditQbsAMvsfWAKSCXjSoKDvKuXRhWkmCKeJwMQqiQCaiwPPsxdGOzIZXadUBdcMuDbWdbiDkzrosixQNGaQSEuGioafLLIsZrGgwNzsnnIEEyORSvboQLtOtgytGNveNphIxIlZRjGBetBmHFRrOwHXbbVVIGiNdwrhtHGiRdREKlzXerSweGJNRvZacMbCLxwMMMuhDKRKWtXobbShoFeZfyNNkuoyrVybUdljuqWkarwrVbOd", "mAkNOJqbrGNfWclwWYxNSYvnRNnNWOFljpwMTHMMliMVXXlPCkLPbHxXrtDZLwKvhGvMzbzcEdLzADvamfhRsQaxtATojtQReZGllTMxZLAMcayMSbZCgaIFSGyvutUPMKXOfErLcOCzLvrqsbdYecExNqbnZJRvfaqtTzXLivuOjewOhCCHzilLruszXyFbQOKDKFThyfgzfMlTvlaajXHsPhkRBvbnlgJcqyVyJRumraBBEhzvRVBzKUtYnOyu", "UjeAdwirHftaxNQvNDiBuVCwxuTMZoiPQQFkTWEnCEWZlZErjAUIoqVfIMMAKuAzJXOkxEHmIlZEWDQdVsWhbRWINTgHunYrSxxjwTYmxoNlmSHGySwhIMKFvbrtbOXzXTBEriGBQNpMmEIYkWQKcDhhhDqYNBUETMJykkpFBFRKkyPDOWOpzHOfmAGasJYOipeitICAgCEnRZnFOgGIBiqmLrdXiPnXdPrpTCCyvxMBxuSLQjJNwCVpbIcjgvAE", "THBNWllQTrzjfoqugzlHbUgKnsKpplRfPzbhuyJEKeObnBTJGeylvfuCnFzAaBWeijBoPoYLlxTmPyuNNNCrfTmftVBHCXarnPOLaniRhIRMoEEaZfjDCFiYfTOyipbRKZevDnCOREghvrvhtJAxVGkbrYTAsrvymqLsamdEZcfPkcQPYtLaJWBAipmXfPFwOvamxRRDOMVdqAcEHfooWcfsuShdiKVXhnnTwmBlCfqYTHUBqLbDcLpvHlkGuuzK", "kCcdTKEckCUaQBxtLIoHJPfSRDqEAqZzsEdmjenOApDLzTMbxZvdORoLdEffabdNxlfVzPlFfSIVmzBhBawxLLXUkXFXzyBcgUuKFiZJvoMglEDHENvsWRLzISfOUyhHSJKqsAmoRfyvHnbAvmcsUDjszIKvRiLlAxKocLZliVnZvtpFfAuPVkmfViONJdSaDlnuLOEECnQpDhTwYcLgfrwSaMJviIHslPVYIlNMscpRBMQzAmwkTfLacbKmBWyt", "cSvXjeQWTnJsWQTLqBRqsCtEOxLoQNKXXQnbJaRFjVUJnWeOwMuUMfmjzRShSRNRKnzbnlvIzGrXMbYpkrShdCTRSpbjrxIQlFkvMXCDHQFlaoaPJRWxlFGFfiRJmjRrRnDqraFnIbqbAnsQcnALzUVwkRtclDpklbnsKmVJcYlEtjYIlMCMDtyezVqrJDPHvTzXwhQlFYXjAACkUhcTAoewQntPvoEdCSVWWNEJQlSbYhZtIPkJMSmLFwtNzYNx", "uDGMIwyCOCPQZfngpjfxmwhgbkCfMDuKYcdhCLYswokvShgGBKYEtuQzaSxROGjrjeUqjEqRWswAAeSSnAujXVLSLrbugKjXjCSzUsqibGZKljqalGpIbRDDheiSVXylzMcIAaAqJNhlPnJqUYYgEITdFlXYQhhYDzYhVXbdWcWHPfUBQmtlsdInojSqKRUDEsHNXSAKoXVHuCJduaZbtaTnnjGcKtCsZaRmEqTqHYtnibBQPFIEXgfcuCOOPeUf", "YWmAtxnYUGJSVIACeiCUsTBqewNRjbYgIDMliPVIkewgUjIUuxCLRPSgGtRlqjnXhEmwfruFcVfppWoTnGiCHqAyDNPUNVpiVRXRMnbIqScUBMbQqjTsmDyjyiNVavosyLyVMmlZbkFnbvBZiToQJxsHMEwXNFDlgJFDhUCvgbIfaTMxcosmQvzEhQNaGvRBlyCUonZJJlFynNDpwQclmyelWaiUttOHxXXPTQOzQMXhZefMPTzFcEjLwHrJYIwH", "aHaBVbSWmpfPIllrRMMoYeuNCKaEFWBhzJxwzTBiWsyBFZPzJZQJDeAZcTZsLsYBCbQLjxCEISWdqjvBrgYFlHNfoVfWORtrOKIvJeFlMLgZxxxnjqDjPnipitPVBVnicogxAfdcLCzZTEKYxCLvXSmYBPErNmKKJZcoThjuGrxTTFLZKnoriKhkRbQcjbVjYNJuhaYHvQkdPYptpUQHKIiTDAfZnFHskClprpMzPPMYWOhVFtQxzJJcGWehwAUi"],"c_array_ipv4":["dogoTdXuES", "dRbmOBgwZx", "JYrtaBvvrT", "zhacpbtIXO", "VQcuaQLLjY", "fMUOQESfgC", "OVOwTuKNgu", "VadEqeSOTx", "pvJMhcNqJl", "URYCewnWbU", "gRrzWIvxYC", "wfBBAzUeuI", "EtNgLqUymX", "cSANoHqySA", "zyhdpzBeHa", "aXjJXhJCaK", "PeohEOeOFy", "aqmMIFZMzl", "RHobgjKQdl", "UkyWVUDxui", "wLuANIVKOi", "CnNlxOFqwX", "IDQqBDnwoL", "dcNOCEeVGD", "eTUffLHDHB"],"c_map_double":{"c_map_double_1":2.713182276181456, "c_map_double_2":20.196994112421056, "c_map_double_3":71.47028821644372, "c_map_double_4":78.90483037245369, "c_map_double_5":38.08157145907391, "c_map_double_6":10.564027144396313, "c_map_double_7":1.3323489150241676, "c_map_double_8":20.510310211371127, "c_map_double_9":10.644930009423865, "c_map_double_10":6.734059349790659},"c_map_string":{"c_map_string_1":"aKuLHcsZVlPQymsdeQwAgiiBsaswOxxMZMkvMkpMuRBjpDGjRnyFXxNSnFpGwgSkOOfhyqKeviNijjCDKUZSYedqAWgBQpfhhlpmVRhlTQmFHJVMANRGTMDoEUSOueaZahShcsuCOiREmUVVWMsHtSulmsQkXYUJsErGFFLKPttbkQDOWEELzqdcdcQDUSMNazQaAISFRdzwfryBfrRmNLIkkHYIjtuLpdlNRkboOzVhGZVDDLVPfDKdlhwTZVklahZcYJuoazrvLzGwRrUjEsbmUPuKAovkicnVgiOpAuqgXgRwfeexCbvEfZHTTGvcoZLfrsYUkLfqCnzYHyvIjMomPgaBNQwyFZelikKynQYmsMiaWTjrfWnADwlSesndtiktlQJuogjXVOGXiehFiYAxyJkMVXINdbdZymVWDLEPqhikqwNhRoQeeAVFKkjgBfJUOUKyhXGSlimjleROLemYHoDNselysHIpSbNCeXemkcQCBHLbzZickXgYplVW", "c_map_string_2":"fffaBmMJODcPXQdizaTbqbXeUlQBZiuSyxZcCVhanEAjGsmRclkfmBUaWsdNSwLyZIPPSPNZgATcKkAGoysxGCjlrevSXGDuGHAqSDNSconBERYgROQREgjIXfKBLMJKVBmVPDQCwLrYRcEjVyQhBjhOHqvllZGqezMKfWJnCOaBTzTxgcYYUdRDfqnfTIRQbbZonqXcwEuqnGGKifhjCbajdZvfrVOLewxEDrxkLHnTydEEKAuJUIeQFzHCaSBjssXOyqFbbagvJHSgylnHMlfJZRXwCDMMaTCkbseRXteGDRxgjrlxtsdBjjTfiNXJWnhLDJnvkumRtasEmUQlaLJsEpnxKEwXRjxfSuYBYncFCohoutuJbgrUWRdDVYqToJAkYSmbzjKuhYkiQxnJSvJwJTEHImoqiybMHddnxKJICEcAXyNSJgSJjTkODgpbfeNOzwozZjDMBvaxXdRZMqnvisDUyNfBsMEWtwJVFBrNGEwdXsMsyYefYgDUREKX", "c_map_string_3":"NcqxkIyPorBooDnfOjAklagHClawiGCMqyLfVXmoZqWNYMxQxUKLRNadfbtDHLTeVcXrlrHtFyOePparIZVKiUyDGTQWLXqqyVWXXZFoFbfzPAhQPkSNMrPcIXZWgycSmmYZQHkPvodJpouqJUUoQjcjwePOUsZEgFpChundITIsfTRhHkzlqtqcjNmsvxNXsnjHpBCWOTSgYwiVGgHdqpLzLwsdYSgWrRNKdMWMBjQnROleBeMALhJcViGbbefEGXdgLqFukKLcAuhsrSzbqOBySHlufZJJItHJqWjjbGTXlTRqfFLDmeacyWyAEAOXqWydLvzqsRNiseWJebmoYoqRJCwVthOJMzCtkQPBUcyiFNWMebhdmEMLWRsrFBnlVwBXMDiMrXGahyGYhhtemyFMlViTtNtgVfQzTwrxiDqrLODHDRIzFmTUQjkUiaDuEyAGazFYqDqIMEEbMRnePyIGbNEZaeJpKlcBOZXtPVnlnXqSkQfTNXWLsAmEYtcu", "c_map_string_4":"cakKTIYDzQKbHUctoMXhJRhvBPSJREredZePYaruIdggzYZkJhAqZIhgumEBkqiIoUjGwcCpUNqNxjtzcSjyRCIZhfMeFiMcomtuAxhiRawXBPcVJgclpCtxzfWUnxPTXATXkXnkzJxbvgvZnpouoOijYDxVIqYxZMqkHNweUifAONKvkyCOzBkKjfYAtLWgPjYwGGLfSmeFMDFrALCFJqpTMpnphaIqbpFlbgJQEYQTrlASwbwnsBpNVTixwBIcYPEjVwmxGuTgAMDtIbqNeFlQzTkbDGRnQkYBFEIVsFgQgmGqyWHwSZQDfFKJAAccgqjaCgQuDacfDrfeamHDGbYwEltGnsbVGpbVqjplRVeXJhJsYwzurYYhMYoZSTuQmPJFqoTJyVlkUIGujNnLzIzdGobReBAavzLjDHPcJwmLUrMFFcIiGWKsTIYFINJMZZJACPttqCgrwGuzaWMDlyLWZAPTQMBEVJpUyDxSLvtoaJJiQmmEsQTkPJrhveCu", "c_map_string_5":"URLokWGkIdidnxZNXfvUaWNSNyYRqIoDyYrHISBWzQuLnwbRvUDOpmpMmjgzayjUqlTVPIUlLkdXXBuaZaKTdZUVHTRcETwHjUsuVcODeZJtzetRrsFdwevRgYndfZlOpSYtogDuxGWahqBKcEIDxGEsAJukaAOrffZTfSPQVMnJuEbGJeHbFzKoyFTAuFcOQRYtlXVMOXSoCSYSvojmNNYKqVCEhELkTiMeNjABypJPqBEOKnQriYggsyuqepygqmamzXFxINYrfRVqKCNGCArKzHEYrbaqZRpviVwamWKUFdFAKLxdddroYMenFRkKtLKqldPcKHeJXvrVuNRTGIYrevVJeCfWCSUQsZqlLRDmClCgQMeNikFgXcBVJOzywPJlaEKoKPzxlxcvpYFPufNDUUeKoYdeCTiIcyaFuHjjZHXXYURIzGAXchEBpONiHKLhwaOHbqTsTyskaNzgYutqmEWdPIfOYqdfWlUulRISYHcwNOQoBqbQGKEIfCUJ", "c_map_string_6":"muWaXeeSffVNMZgWWoIrrzdmVetroYgkifxftyGyqnuMOriwnPPvjCOOTfOAHqvNBwrrPEatgyUyupoBJADhRfIZnRYmULCqLnOCUXKkxSGebCjqKNmDCYRElyiMkWQUfVzkmVMOLZzYTUGfhQmmWuaMHCfdSprUhQfkKLZQvGtqDzhcKUdkfLLGPcnzNRIRnKuoKDYHDCEWKOWdLlCUSGTapAqaMHkKQiPUYkzVAcEkILJpGAfORXPzkNZaWvJMFZjsjrAyBoSfAbuwmykUaSpRExbOIznndupDvppiYhCyUHftqbxsRcmyqvPAvBigOEIcPVvbOWZEaYCuWFvociChAiJYrzKDwdXKzwhqbXEhNBFNFFIXXNopFEHJnpdeDmJtEPwAMPLpjrkqqHewEftQoZhLmXhMTTuRMNDtVJguMIzRCvGfTuVefSjuDBZcNwVdgzOrFILIYtebCmqbhgJTzsnDKqixGuczqnPZwgfFhMoUOFHWTCNsGqsBtdUE", "c_map_string_7":"ojNxWmHVJDJxNcMVMpEjcTpRFFOxqWDtFKUeroiYZFIOeABbXvGljnqFOpgEISKtzcEjMiNSrhhnEXJSXjbrJVJvxuCrMhzYeWmcfvaeGDWFbriKdxISjiIKBpSvJHPnFwIEHzlkwYiNVYWzyKItvgibSWHKJRGvizbZhsASScoatLGFWFZwtPqLEQZKRgCMmwaFpjWRVQENbsByoQoawYeqOHzYXkClWdnJVyENlZpXUfyGkJbOONjBkJwZjouROlSshLSpaEpVQjJwDyDsUmqRmERfAIVciVFlpWqzwmXRiZInLFEgkPWJBYOkCjITKbLFCAbzXCMwqOIPmZQkZHkhGVNxZLJUDdbTocfUjKrNQiTlRqXtlJyhQBjgBuPxepcbQbVpSkzvZQNiFuWDRuOIzSktWKBkrBMBZLwmhibDIBkIvZKrLJMfEqrUPGxOdadIDvUfpEzNaCXuKqKjKdbSmXuJkHiVUhkazLsomowIfacsFRjwsQbqHaEnQcSs", "c_map_string_8":"VrAcrSYkPUQUVPZyXDXlAXElvuUffFhUDRgynAqFZqpHfKiOvOYcBpaqRKjkQrwUoTYrItkrsMHBotQfgaynAyKBBfAkpnkAwkDIZKfRHhnHmFFNGxXuaCvUondrONWqOCOdNmzUbNNXEAZazZNGkNamhNLEPoDHQJEaJscsBZduIhCMfpttaKQaYKEUPxLpuypoRoNQkfVtDbFTWETuuMaDDrpvHataZbavyURjUAhLajyENkgChAgqqInmrWBzNfemkQdvSDnEsofQgHgJakRNYQBUopLqkpYpZvDHAcTfinfKwyldZzhusrGdKrelHLBmtdaekLvAgcbcHBVJfuNIQErmxeCOzmuCduzilTVmhStSYTQiUpvfRMghvHUQlerMQkQYpdaBiiZQGjbZwSTvEqEFoXNkikkptNGMJTLOzvUACiHHWRHHxcNLDVDHuQEFMObvuNtUtsmlFsXUyRfxxeUTQwFhnhMVvCFAANUjCnTygUJVZASsRFnMngGR", "c_map_string_9":"JnyWsLefZNkdmOMCbpBhanpyfIbAbJtwXFLzaKZVfFkqSxtJSzhFcYUSPYkdHfxwyVGLfXbcxfFlxTWBFbiaqbfVwgSSAIwzoibRvkJKOYbDKCjLZQCygcktYhyONhMoYZGHzTbxlgVNpUPGGMxvxGnxSEPFHqwCadJwEELqHZzOSXCEcFvldKkCqAKPkFgKCARKBOrBPitXoPEBIXHGSsJxGreSEICDYluyHTIcyPSxxLQQSbbsVfcMiCLdsILhoPecyPMqxqelTvIVShBovynxdqXmXZFcYsAqmXHtRECGDTvUCAFOdNUYDLUpmfQMCwRHlPCKnrDnLxrOQzlBEzchUbFkzKvOxqthdgBtzCFIlNHciBcSMkFpAkAsxvcRcfouoEAyTFTTMPTvXBQLVtNJWmlxXDZfLRYWsPLeaxZzDELKPqHgtchWVRKLBGqzmdjmqsfjKsmDcsqxHJiRkyOgoDnuXKApiggWExdyoqIIltGJfwBPoAkxoWBRFAhQ", "c_map_string_10":"ORyxjcaIFTvcXpfodfWKWMqdcSxcyowQENnuDKfEMhBkoKfvGqSYMsyuejlvRVDIxiBePvPJkkcRAbjAjzVHAJpNUzbkhRCHhaFOZzUzbYlyOOTntJpzazpZzoDulwSXOHDCHXKHQWdZmwaagHHVROIZMBjRQDWrruYZPJJWdhixidRSdwKPerrTwnyDVqkvNUuPrnolpFOjYNNXfDvvEpWqngKLMeLIajnaBtLomNQnbiPvkYvyzMLrnAlReRpZSafJtKlqbfYPCqjSMzMnCrmsCucHSRhcYXHKlOgFqIeTqQMZlTyLkbSXWhvxRlGRoAMIVSwkAmysKQmPxaOheqawftvvhWRehjBNzGHFFqaIyTYtYqxrvtKPEDSVlLhDPNnnQPfgtRUFDymkuQNMADnevvPyRfyPwYPANphjyfCUwldBKkEgVjHjgLaebFbUSEtkpxOHIfUUQsqTWeAorqagYwVxefASUOPjunPGAyTgPKiBfOFdvBcMuypsudhI"},"c_smallint":-25904,"c_array_smallint":[9215, -57, 19438, -23193, 23125, -24047, -32083, 13663, 8125, 29539, 28363, 21562, -151, -19654, 21781, -28542, 22567, 17647, 21845, 6013, -26556, 29189, -22582, -16915, 25071],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":1},"c_map_date":{"c_map_date_1":"2000-12-10", "c_map_date_2":"2000-01-08", "c_map_date_3":"2014-11-16", "c_map_date_4":"2009-06-23", "c_map_date_5":"2012-10-23", "c_map_date_6":"2004-01-24", "c_map_date_7":"2017-08-07", "c_map_date_8":"2019-08-04", "c_map_date_9":"2010-12-10", "c_map_date_10":"2009-02-13"},"c_ipv6":"d44e:acf9:4eaa:36ac:49f9:d206:71b4:960c","c_json":{"celebrityactor":"James McAvoy"} }','{ "c_array_decimal":[56.0109, 76.1639, 66.1544, 77.0590, 57.1642, 96.1914, 43.1406, 35.0987, 60.0429, 73.0416, 0.1511, 99.1102, 16.0109, 31.0398, 83.0488, 25.0699, 29.0048, 50.0564, 5.0447, 99.1389, 96.0656, 13.0773, 52.0903, 84.0785, 11.1861],"c_map_int":{"c_map_int_1":1845692312, "c_map_int_2":1329394856, "c_map_int_3":1440643292, "c_map_int_4":796067002, "c_map_int_5":736721591, "c_map_int_6":931262296, "c_map_int_7":1412203951, "c_map_int_8":-1784168894, "c_map_int_9":-989264285, "c_map_int_10":1174111848},"c_map_char":{"c_map_char_1":"CipAIUcgnH", "c_map_char_2":"bJBsjrKkUV", "c_map_char_3":"FJVdlyMvMf", "c_map_char_4":"QDICVpPpvQ", "c_map_char_5":"QygstDtnqS", "c_map_char_6":"vjGSqQkTXh", "c_map_char_7":"OJeewrMheY", "c_map_char_8":"fXnCxkOQrr", "c_map_char_9":"QpcVvbbnOU", "c_map_char_10":"xwgqLQCjcx"},"c_array_boolean":[1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0],"c_array_tinyint":[-123, -18, -102, 114, 104, -118, -20, -7, -42, 42, 21, 4, 60, -57, -125, 113, 83, -16, 107, -73, 49, 37, 53, -21, -37],"c_map_tinyint":{"c_map_tinyint_1":39, "c_map_tinyint_2":20, "c_map_tinyint_3":11, "c_map_tinyint_4":32, "c_map_tinyint_5":-61, "c_map_tinyint_6":85, "c_map_tinyint_7":74, "c_map_tinyint_8":-88, "c_map_tinyint_9":94, "c_map_tinyint_10":57},"c_map_largeint":{"c_map_largeint_1":-2499525677417004433, "c_map_largeint_2":-7252244907051954867, "c_map_largeint_3":-7894594367815741219, "c_map_largeint_4":1323205794177411158, "c_map_largeint_5":1637499449062599741, "c_map_largeint_6":-3838273076005156044, "c_map_largeint_7":5301856316465836606, "c_map_largeint_8":-6221951747320588785, "c_map_largeint_9":-1377498681120853420, "c_map_largeint_10":6815160833996447628},"c_map_date":{"c_map_date_1":"2004-12-16", "c_map_date_2":"2014-06-15", "c_map_date_3":"2005-01-02", "c_map_date_4":"2001-10-16", "c_map_date_5":"2008-01-28", "c_map_date_6":"2002-06-15", "c_map_date_7":"2000-07-10", "c_map_date_8":"2003-04-07", "c_map_date_9":"2017-07-08", "c_map_date_10":"2018-01-18"},"c_double":55.33687994623159,"c_string":"jbemrzYpKEdJVhqKAWcGWOfiIJxJAlAlAuVBcLTUoRJWKEcwonIYEwrwBLAVzksAMIDRiWMlQePoQlQdWbODOoNkorXTfAnNmoWllKKlCrdnvBRCJTnELFvQEavtIHRlKatVIPMkbmATWtYyOKViAoxsidajbOWNUxhylCcojuGCVQgWYYZNWkWPhxXkDDHYmAQPFYGxhPNEgUJWBjkqEanOMSBFFDVKvvJQMEHusPXGgabkQUcjsNlmIdDZsHowqWcKJbYThhJylYXQZsnIhosiHwiRKOGjEVBCKOTXjGojBOXPdxLdSnQQXxlVSJlKbgAsywtRrwcpwULLwJhGVwZGpZmpsTkcQgetiQGjOYXpxawUwbgeDRVBNugUALFuTNmGihbnEqwmyvWDCfOXAKtzdsPOkGjJlCIgRVRwpBhNRauCnqZLicMpIwLEijAiZaLbNdrxfThsgPomvmUJJdfYaZXkegzbhJczcNnaATAaIZlLemeafTQNBOeYpgfk","c_ipv6":"59c:9f0:7f0e:bedb:2e9f:560a:b446:fd42","c_array_double":[58.790201374416036, 72.48341170080748, 11.779421566070026, 33.18459834800176, 31.4646392932789, 27.59790547081054, 90.12426142655582, 22.668680722555134, 93.67083913071619, 39.30045498926069, 48.89447517322138, 36.72541918816981, 10.922432065891709, 17.841208566849936, 71.17958220014076, 58.79897988039447, 37.00702806354317, 60.2750529506538, 33.12696020528923, 35.66326035450687, 88.00393409140806, 26.40523028493411, 31.336617294653504, 71.15080112842142, 68.10267875264967],"c_array_string":["sMXXEXolYiQCnfmduoGQifQCDkpHxsDYSkxMSfCoJxLffuXgZOdGSVijHDtWXWmmnbrvPfshdRZjgoMDYQZEPEHwhBxTgQctQWTeVPWOqWwsFKMbbJGzIHjgoszFnApTJBYLWYoWEBxJzTEnSaKaSadyWiAUJpjmLaokQsLvYFpyuWoLygHqTZVoHBqwUpTtdkZHZcsdOYVukPAoHvggvxQpaouSbjsvlltvSdmaJcYSycCudZrOYYjCpaPuEAmIYgbOfOIPlmvJnxqBJeAwjVyqIQxbYqCpOtPoUDmarqSdaFkgUMnwfFovgLTujQVXVYToaZuZAeeKffOWafhIEdHDRMrCpPWlilbDaTbPyFguwsXuluKHnQDXPRQlknrmmFiMnPsNguMWMdpyrIbkZOKCkosxcvRzzFqnqxxfGqqfAfqmliHixTCyNRxxVxwWMKoYCyHFTClwZaJiBDDxymthrteNxgvHWcjalhArNTnBhePWLMwSqritAcGawdsO", "dAEykqYZCrySnQfwBtHntQcloVvNjNIRBvdGhDjmWxOCylMnPRxkPIuzeWWzRyOCTOFkdGkXJEQNyzppcVWYdVbJPnKNqqKknOLsUMsHwiChijVVWSdvRvJejQpsiFinYLlaoKWXGdTlAzHPLYDUZIyJSwhZgyRikvTyYuzlsEEflpCBOefcyTtEODIAgbcgCQrLWUmcGAOwVTKnXOtbEFwBOJkCFhKdaaJwRgcCfPggIVGiIBZGSIunyCrLyzCPMMIjFhzvkZFfkYvVHmKgothDHSaJPAWCTBOCZyofkoqmMepNffuOEXOcOktMHPHozOCTECFBjbOKQAcGIkmTpZOqLFCONKRmGrcdBYmeqlAJHSfDZmSiFsaRzIxiOTOkJUSoEDTTZKNJnkVWjAqcmsXPmkPshxuUnBjpfgOFFjXfrPokTXdbAYUpFjFYqxjFpZUtbOreRRsZmrKSKMjeTaCLDoMffxJjDAMyLwatcpqBtlbVHfqaeikRATCpMhPb", "fdhBqJVpDNrXJZORBgNgEyYqYTxWSJJSeKnRRTLFDeqdBTKfnjChoDtCGyIYNMKRAIfMetJjrMajlXqlqcZiaoTeJydVdZnTLFUVdYLznENKzQRwFvUcBNtwqOcnLkBHMmxsddzCfzgVHbdOchHOMICNtkYJrDJYeQTzdcyAqWNYSVpHbwKRVOOMlPHveWdOpqSXiSsyDFijSemAVIoNzKJGOwYVErphkakeiiucnuAwICngOZOCYFTujiDlhsXaDodFXqvLNYbfyLqFqWOGaAhjYVnVRWiyyePgpSnuRCYbhoHjzLvKLyGcmIOxEknPQYEUUNeWoUSLFRHTwelMSqoeDpztMRXFQYBZEiCwlXUIzJdkVMCMPXZOaqpqAFcAkllCRXXtUbbhmVKaTdaDyhKhouHKCOQvgJPtUIYiuLPLoFCfauaKDAsbCwuciauGqMDhPMERlZpeTpqKvButixEUSyfjksmObHYHHDadefbaTWsMOdHdaicGHDpjceIx", "pOluzNkpoNLuvUcyPdgEGyeugdcnBRdthngdpkhLqjRNlukTnJEDDpBgvaEcyUASRPSiMGZxpTwXtILeoGDDILsNOUUozkbbkOWWujlULcrdONjCRdyoIhUipWFbULWoMzDAKITuOZyTyvUuvvACmPlBagGVtviVZcCTSgYLPuOEdKDCKwmmQVNwulhgZbGfKROJheYJqMLQtjpnnZbPVFnAuNitXhKnwQwezkRQgKsHGfQNgscGFEcUKmXTQPVVPDjzpUqEoNeOgvDUKysGtSFlCqzWcliRIQqfQuLuxCOgsCeMxoixsYekEGGwzurNVmmZSOeuVdJaFzMwDttIHsHwbACoJbYwSjAHhRgBgNDHablyBEmNESHmdpKWAMohBFWOrHTrLIyoxYmtuNJWLVRILwntRGYvcLebHZSFVuKqznROasZOsRjfutzQCfimtpywSmIDYnLlQSmNQYFRRFABkFxqLmRYlpkTyzGBGCjSaczANvewFKIngwoomMJA", "PhpgFJtWufohqYoJKbILbUIbmRMrngxzXOrmQBWBgtRfjqdYFeqePIMGHrKLNXtqDwAOAEuQpWUNTHHokzBxPGpEfWkZbAGHmiQBYFLLPQERqlnJiIkfrSKwQsJZHsGygVmJkKecVBaUxUUmufZEmsdphjysRjLRPEpEUfxNsZrSAoQkDNXIOVbVGncwZBDHEodfdcBkBwGtCbysJHQQSHFneVKDmDMgwcHTfWAfrGOsrxzZrtvWdvUgxnstvLLqnYadLJgLUPLsNdHmofDjAQuKMOSeQFbwWOAUNpNGDedRTZqHxoTzkVGsSIRiXyoJqoNnmvAThDyPhMtfLmkIPYcxnfkrMRfKsuNgCLxvPCxVEnNAEBtQnsdLfZDCwLJiUMeIUzzUtItjdarUtCVzLuZJsakeqmmhGGSqeguWAJqRzrpPpCKKGdBkdkjwQswuGnwBkvpQlVLZSLgxLLZkSzIjrigxFgquBrwKHILCiUJEoIqzdYlUCgmWGYNTkBmL", "QEnbldkiVUZKNkTYIaCKNYQAEEmyrBKaSETNxQaYuIiApylWbfPHbwwRxSAInJlyqxEZRxYgItxwPprdfTzQgrDfrvKaCaRaUEbqYfnijXWfJCQbjrXfaRNVsCsosBEsAKcAGvklKcGPrLWFYsoFfhnqPJpZJhICdJKAXkqAsLiknmUXJXxqUpJSMpsDSayocSzWGgYhGmRARIzlepDimsuYTeTixeThopmfPDAdRejNNtnaDsGOZtglnKKASbkYPEqpSMJdaRizPoopkRevIejbiyENOxmpkjKYWsMIPUnvWTIKryGoQOShpPKUeezKTTrkpijzKXECeHHPOPwajjOAmWpxmiJoyXFpBZAwDKAsZrsICUughFWNDgdXrwMEsxfawUqwqrFVDIEFwROfWiHAcnytlOFOvDhaYBpgvEPnlxuaFrbnBqLTAnQjFoHrQCjjzjgpsJzcLzHdAUhWGglbWqERZGawWZsopZhEHNBjMDgPiUFbNvAnNeubZBzH", "jnsICkFSPcwSLQlucgfxdNmmCHlmcozOSDGoWFRbtauMMbEqWbjYIZHeBuiFfdrPEnVzyuYnljGVZyaTsfITiEWsDsklXMQaRYJDBhJpPAkZsUyHnpSdgfzsrGxgCjLhlCiJQSqcgMhOHQcuSlrPBqSdGNkaiRVUewrokLUItPaZXCxqRAHItIHUrVhuCDKnSijGjTKOwtXkGtRUIPPmwLifoPztNApeyNSEcvVUptVUvfAlXOwlDsGqMAOTNIMxPFTWSfDtimxwfDvMMjKrtGJceXOUtOSBYvVJoQnQDpijztHaFiYdQJSQMtpDrYXqQfimUFdgjqipLYYtLSZPztQCZXCLsyAUehQbipMexlhoLuuVvCbAQFafOzenupdrAtlmsZJizVgjQWsECQbkNPXRxouhpuwmrogGcReIJuuQUiyDFfUZWjRgrPodVyQMTwKlFWYgRPJLDDibArotPejSfCqrfsWjovgmrLgvXkVMakXaTFqHImDlDvJHAvHl", "lCiPYjjTgvveVJpGyvPKUicxruXjpzufIYoQfuuEGBJRVIVbJRVcvKlodLOexJWaXUUDkbyxTikRoCWPuAlpVWfQXwPDgQEMxFfuCOgEQoKfQseJYXmRzxbNvNlqsupqySBdrPMFhIEiLpifWvgZIeVGGGcvaEpQtBKPFecsmoURdgFtEQQDpgKjcrSbgDCEAiEwjuyYKdvZLcAgBeDOOVAxMPUxlVItzibaZRpFcTPCcSPmBSJNjAcAMWyMeCKkzqQzgEldrDrltKwDXBvXgUgocnuECDMxpjItyNqmlOBySMTucpPFzyLSLjmnqpeRIUuwbdQhmxPJTDYmBAZrjccAZXJxVXRKTOzusQNlyJrolWVRzcJuMcVqUwzAaJdpVSaFrwblbytVVVQWCVlrmlMLJYlJYiGOvMCpCnTsPOudCjdfRcsmrxMePxFyhCNsdKEGRbuFbwObLCxONcqPtttbpgZbRxbMzEfFVLXBZLUkrnkXQzgABzmPkrpzyQuv", "GqoPgbOxfowDtaIzkTQRGxtPSrvxWkWDviruVodDivOwAPrYmPUrQNOnmqDbbHLxFRiCrroFZhogFkqETkbjEOEkUzWPUFnHjReULSmLWgNmbSIHiAtvBiczXjOZtPYYlEsLIJFkGaKScvvohUjraPrzDwiRBmhzzXBFqxvDTvdkfBHpNafYUJtTWykUzXYvTeHvEFIgVOQqJGhWuKlwsatkybGLlShMoxyiICBgFTiTMFGrMNnGqUvYwKsGzxXnRZHXrNILlvfjYlVAiyWQHhbDXmFJdGWOScqSFbTxhQhAilsFMoYTbZRkEKzbJNFQGgUYjPEyCdMRYnGRokoemClIBBSHxQJqPUFhavYABchXPvnobXSzpgmRfCskdDzWCnaIZuAMbkBiSBqOzsYfdMqVBdOQahSHGkIeOJixehtqmHOVXuWclFTRJiWlXMXYYlapLUjTuOQLyahTriXRVRinvmLMcdCwiSQWTMyqVSIkiVfWNOJXXfDfrWmtGlwV", "SmbkYHmZCseDWxICOwjFRfKQRMqYRHReOUNLZigCVYDKHKWXPjdXqofKYXFPxvpPQFjLFmblLnPSQUEuufDsLebIRiTzBPNbKTOdxSOJkdDWJvCVazJvDFoUyoeyNWgyYdXehsSYsIBjDTKANaBQVpwyJcPVqxeWKyYrffnzuoxGVwkbhPfrKNTWNDrJsAbGhTsodMwKcnjagydNtrCOYruYPZdUfsjDuNIJyNotRkOpjILzfGAeYCcQlubaAnmQCQIEzCcZItBXeBIuPuPGRDNbJILPrtXGaDOlEgiCEoxPlZzmUTqnafMpHYyGDhPIfitVvbNHBBWnoVqnUlrmPGhQNTtZewmTJJwtANWSWQUhvfwyxgSwdOKzifNVtmWuVsHUVBNZzbcKbCgRcufftaAEKqreorlWHDEaUpesCvJXBQLJAzXvXDTtBvVdMImJuXLLYziRZZbJOUdQSVZREOsjJoFItFuvoQVoFnMtvphmPdVlcarwqmNpMcdeUYvm", "zyxuwgouOkChQUApXuVYeOCrBZcsjDlaqPCTBmVBPzlNCOUJsfLzqKpSWokitGSiWMLeKvoUPAjTxNSVXgSAeqpudpqvMtwdNkCNofCNkmtoNbChzZsuZgYjeLDKnYFyfeBeAaORIftPyUKQZCgVqmlOfytOoNPgpNZUcQTLcjeZfYayvxigLQsAOjNPXQKuJzwkATYxWnMGfsYqWYwNVnskAMMiUgSIxjjvWLgvnfmoQgEcyeWTruiIOWirgNkmlrqMSagjFLMvkITHbtkxFFpQmtDYNgGGymmiceSBfQHSyUgJvBNSoNEgUDSLhhnvcJNjizJjfocxowiYAUSeVoaDULiMhcSbGjeVgnbkutJxoQIHCawYygkebYdopnraPTNFUYOeIWUAvYkOIoWUAOQxUeOYzkkSMRPyFIrBxDRMcfhpTBrUXZZdwlCiZWaEENTdfMJNmGAerDWqRCeYcsWcyFQbqgYlTXBosAJhSgcFHyFjIWlAJhEFEQRadAeN", "NhnpbPlgBkEWxQLijRbYFpocsAVkuoIEsAfbkzjdFdwDvVthPgfoslQyqGseobbvogeWruCSQSdUHUnDXiPErGHFOKoEerjEJzqGrSNXmAIalqhyjcnGaTGqPSkhZWBaYVmOYCOgNroLMuECMiSVxQbWFroORAHXVsitqbzPPsCXcWyyShCJGlexaDBGwnHfUEuGeArhgRYWzcISvNIQmTmKJXTIDtKsyACkyoPPXKHNbyJhDUNbuztsSLSLIqVGzXdXDYQGcutXmNMEBhrynBRRRvPoCKeOinALVLOeLKnipOemTGXeubivbeCzuUPJTKHXeCLUjGmCpCWylpENYLjSvTfESYQjcYqfQNrKAuJaNeYRezeRUdpsprdGpQznOUHwtFeMrILfurIVYKUdRqTqObCdvTPSFaMVAmYYXDoKfVGtzzkuAEuDTMSPeGiJRYkfYqhxBRHSCHCEFxDVhqYPuPuJhtNzXLCxXrXLNKVBKcrGRPRrTCWSqLXykJLd", "OjIFBWMvywgxpjAQfZgWZDqfZGRckMJKQFCjWEJIBbGKaqIFDflsrVWlFYowZRHzoRvzddmtQArYKDluwbdnfljdUKxkzvMmVNBvTSEhjCmmBGXBRyYZjSgciHZRyvUcyOSDBFNDHNcDYTNuqdlEpMhUkTuPQFpDZjTJXqjJQksIDIvqHNrOfYuiSdbXbsjQMvNjQwrzMSQrkHneyMFGxXEYLXOIdSxWltwfRIPNhKRXDNlOvXinMwklkPJmyHZQzaPNvLtzpDddhaqtBTvwPwkUIpSeqjDraFnTGaWhpkUQXuUxBIxnBULmyFvAlchEyXhCGsqMXhauaFRavWVGDiyBqtDkKBkcIChuTMWxKbwyJZtSfeffvihupQQaFGJYynWUusGTFVRckXMkAHXzHkvUUXNXIAmSgZhSTaJivHfgTwrRpiyqrpqgPHLhfdoftzQIYICVVQmQnWhalqKHBnlWUhUiHNoCZePevTJCwBQVEWUQTUYcjvkCWZcULLXT", "pFkWeReEWKBUIepXNjPnyYclnpenziYmnjjNtUbNOUOjoSwremNksXxdARufqfqiojzhFLwBbVaUQXANuGgoZHCnWZosOirYtHUJxMUUFPPBXSzwzIXhEfrCWKdPeqJCUsZMSLSeCCLdRhoOuBqRrwJHvDIgxeTBKpuStSuvHrPkjfQRHtZLVTzxNvHaWQvdHffvFUlIvqjoUMoianjVTBsQAVkqsGljPOBjlUNvtpLRuFKQXvISuGOXerOSZbnaXGUoEnfwAenJatetUrcjiMyEfXXuzaVsxVNGgbuigLmfNMiMyNqPTbzKNTAAdYyLQYcZgQfZeuxgxTMdxdhLCRUmamHOjDYXfZTQUrxUPJCiYARvbDikwhnBWvzXpzsrLxyYyEHvtDTasWYHqaoiJTIAVfjmGEHTJtwYxmAIdMeHnFIcLvAByGrHHRysSgqhAjsRalUQUgNcXQXJwYcSeeGOgULbdVJDPprrFlIgLjMWUisvrdIdVLvPekLhKSTS", "YGhkFBXblaeziduZkwDwbEyYgIlbMYcSpRWnsxSFsARQFulrncGqwONElivINwzWNClJpinbvZJlDssdpmZyYruxHayGrtaOZQXpUwKyUZYWDqYiEgwNSYBozapRKXNvLxCmpavfltUXAXqVfBYXTLiTtJgUoalSlYiJrquSEyXeCfZerjEcmYEuLOvcAitsliexwOEBATZIvNxuJmAESdLQBzhEJmUBOkelRxaMLebHHxvfoqxAPaOaTdJKqBpmcMtChaLMWXfbGBfXaajwtpwxCfEZBoTJfFpRFoSZlcEHunhKpNaLndHlmAcQACiTKYVqFiRWIQtiEurMmVzgFyjJOUrlzjKyecXRqlNMKXoVwYvlHXVgTPQRBljSkPGzJhJbZhZqtynZwsQUVIrPSQrUfkrbleueSpWgezEjduVVhrYYrSPROXcCkuyMePBvhlCYComXUrSGbHWHzNSuFlRfbiyIvZMuWDUJKCEFzXvyFMafkNtYeoOCWFtBNvtH", "PxUkfpbdeOQkegxwChWKeLHgqdqpZSPABqPPEClIPffiJTnhHrpEubyEyvQwakLFMdFZhFUdQTiEDpqgbwzkfpezvzqQlgEQwpKKJFlvWaagRbilHCdHDDgeYaddRKPKClecrzWJbiWXEewXtTNZAfGTqFLCQUzaTzIdVwiCGkaaXTDtxdmcenDFkUtbvoivZUZvAIUUpFvgYTWihXOesbZDFPRXOWMzPJXhaqZRmJJjDaCWazOwXxhYyYsGudzVMRLtnjklwEfGNEcwrwYXCXHMbvuESPprLNyNImwiHWwUJvDRYWrQOTAodzCTQfbIgOOnfYOWTNHObQexBatOFGvyPyoPGSiLDXElrpvTsDDrLMuDHDLYbOVXGTJeNZyNfORlJxIsryaQbPaZpzaFemTDFRSCMOaJTvuztfPxAnVToSgVffuoauvyEehZlVrOUdngpeLmSxceiQtpYSjDYBjVDYfTZeQOkMqhFqIpvbsYxEvSoaRYJxFfbITxSWfv", "pqzkxpKmamGqWoOPkgpQvJVAeSZomojloArtZaXzHaLBHRvjynQQyhceOqxqMhBRUgWRkDikLpFVvulwKPMCxkjBiSQVRudprbOKewcwGUthmyTBRwUAGiXDWJBdHijQtumQuIkmHFXDxBZLKGszfkOolQrgDCrRRnKpKkpjmyMshWOOBCMNrHNCDehbHsXKSfThJztEAapKfKqxHDveQJQewVuuNmCrjJLnpntuNgPnnevYSCNUMegCRrTiWfXWBLqHjKklDyTIGpINUaqOsoiZiPJOKRMFRSflpqCiEaUwCmxQlxKWshZdHXvcpgPNqUlyzFTWhfZsyKZvvLBMyXeoLzCmxcDLcnTYcsFBbZAqVpJJNCnrsiDCqYfVgWUuNlOKptkpPLutcWhkjltsmJWZlJwooxxwmegvzkylZhqoGxbblAMETmSQlwCSUdPbJumNIOeiGCdWnifpePVHoyxKvSEipbRFnVPsXaNYPOcooJqQVvUxVnnjCWhPWoeb", "wPNnEMFBOJXZLFsvBtVFIRTTlAkKMYElaWShhBANfzGIePnVEIDWvibAQbnyYutZpOtBuWJmCbNMEbYokELoHwaXkkcGOtZdIDRTOyUFgWmssVmIecmKlWZjpCdUtdEdJVFruwSdHJGArxHyLCSmbNQrGKLgdQApQdlFIPqzOMelJjaCaGpAsMCzSeGQQuzGQmTEGxLDIquhvzrBjpaCnQmCuEuWvUoSSyFNsiEaKbnFZYVDGjlwepzaybGQHAcDLbVDuPfgwinKieKEQcKFVMghlhNOnEgNauQYDgWwOoAAuZtAeyTnXbpPCXYhjxGSeCCcXTwOncZIhuDsUdSISVysgnfggmJIKbnCwwAmMucRpDXdoJxLvyFhvekpErxJBHTXTTSPPgwiYHBadYDAjesbBpwrjVkGgBrRxbJqxfLFgvqdotmjnYHCGJDnEVzuroEmwMtKhpLJDZEGQuzRISOHOFvhmojgRVZQqsnTlEQdWsxfOfALjFCheiGzxELh", "dLIESjRHeFmjilEFPDwMLLUKUxGlkIegeShJahrZauByfhUKyXOKTRSKIXqfacnyDWfnBIFbbwqiRgBMSKLsDZEZswdFzOzlRpsKBbdHIxZZZvbAvpkGjNqlvFmgtZONwHUfaBNUBwcAcSXBxOXwStwWnjhvCdFJMKSaqTvauJVLlqcezBxPjtRoCOxBsvFOSAoaRhAClzXQkoMLzLweoaAAingENYoxQLNtGFLXZrjXIqdgtZVCiEwsuFVzRUniDFvBvunfmdWKqkhMlhhVyeVOIXoehwcSroANngsaJRFLEArlZJNEZyTaizubSbGYMVkXVSdWuuMkgJqoPJzUtugQUspGbgibOrOZOmBFmMxQuAtlymdBccWzLzqTOHXOEiRvLgTCGSELhnCblxDWTsStsdzaCAdudjUGTvIgIVfcGqfAixabwQPKdtCvtlaBBuZfFqHyAWNZKrpDkuPpMGJcxoMggaAFdXIojpLEByqbJBSEwmIVDWvAokWbFKpd", "kChwGnWbPtVidYsudNyFtGjeYGUeRHKdasRyvmWshoYQQXDgnycXMjGlIuaoenEmaCPjgzSkdVakZQlQlcXMUAcNAXtdvavddmLofNkckVubcIIAXNGHdEOqBZqZftHZHkOAIQuLbNoLCMfmPTQonKcywzgTGCCYkLRizTkanJGQMHXoGfUCZtuNmjArpeOexYFBaAKzIJjYJOwbZYblXOIJRKVWscclHZvIYGmNGDibaGHiZdjsmnnYOKjOwDgbCsDkwUMQYWMhOIIdsUcrucLFzUSFyxusQWlAIYwhkIqwRcXLvuxJaLtjktikkrwybGBueXhcwXjZFblnKEtqPxbdUTUlqndAEsFTFcTtUjPIbQdeRJHMGOoAsFtCKXLiSxpEveONjOOtIEIlFIAyWcfncXkjZzkNKkXRjVgPBbAryBPwKrgefffMrOiTlexaFCrpdxmLTDhsOEyhmLgseAAyCqKCBtxYRvbYXQRCnDksWwCcMIxIFVeKHvGfFHiG", "aZKUQRiabjkiCXCnnlGxyVQxqmPaSfZxZTVRrGUQlcLoKVBFHMOuWIAaWReuFXkpaToidesmLrtfEvlAOlFoaHzgMWmJMOcLbznCAIzydThYXjuqtuMPHQUNnPPrUXNEdqpbeZBQvkEsBZRmfNKdnZVGrUfBNGYzmowWmcxMPNGgRuRAnNSfMxHqsAVrhvXANsggTdHkDBHqshvzSVoNeOjHhuvoqEMZrXibLEuSbqxGFlXPzoxiswbKOaDnyQRQSMpIBCnlGtGALaKRZdFGNcKkCZULryeuNiimNvMwFFIIYYxhHkGEojIuArdjJisREFsbevnlLSHaAKvIiVHHqFSLNcoEouEFDyvAfLgleLZpuItCFbJDSqUNTBzEnEmdNwvxIKZnlVkGGTCkFPeENiqqHLDjAOsrizUvBtMxrDjCUlqdNALrOAKjqsNAJSIffgTevWmHBCgoHNSiwJhQldanGaUjfEBsXqbfYjkSVtYJtJeECQpiZSIEHbbqoPcK", "dewNmnmgMEIgrUmXTyMGmYsgSUWFjztxyOSNxYekNNuygvvZpUyWbJGWIPBLunxvhGhPhmjygLYhieinNfkuGZXNLMhrulUPxSfAljvdMsfOYEMegEgpJYFBYzvMzLvdzoJnWUKalajsAhsMTHJDudNuYpTKDmcxyeBTvUlIWlRxeLaysxSezAoFyQxbTFvKMgrAkHuEkxkKdIHnrJnDCfOxeQrYCcYeXmZVcTsrpYlMHYJfrzKBhHtpjSTIrIIoCPbPElZhvsecEfjwpabfMBdvQhAzRSXGzTguyVAQrXIJvBRFsWEZMfCLnsrDbeEtkAHbwhzkcBIbCBtFPBOwHXHNViAekhuujBdJXcFoVOOGsSPopDgCeZvntfIJiBuSoBJMiUVdIweAOlkZPzkiONxnlMlZOHSgAuDDAWIJWqtnCzTYcRhLNTnvIPSHKvvgVpWfljuQjEpCpztkaeKspYrPPmigULifZSVhTRAkcEpUtPOchZkMrWbNLPCETqkF", "LQvGZORnEYOifQeRyQEzyMfVEUuLggOvFFPilNqWgNFgIaitBwqHIZPqWydCQsgyNzxRbiOuUSrLmeNqocIojzdTUvYZYqlpLOpqmeaBtCrVYMfOIDpUbKCfwqGaIOsMccxQyHLBImwQiIFYnHpxQzyYjUIvRfvRTCxDbOfoCEMTGeBbFZXIXOGzDZWOWQodbqjDUGBhfpAJlpBYVzlrZkixBbqibhUjrnNHxbZghTjipJpVhUVyKKPLXEYBkDnGyhOOAYKwvPpGhXAtQVJcPCRqZBnCTYhBziSjRecoVLZMVKQZyQKmEwvqAxcWWxPpbSMdZrrtHjbmYgGyLZETomijylnLdZWTEjQLRBOxPxbXlAMdvYywsEOJWtBLjbLoprdOaDBPwWGIGGvyupgNzqXpcosGEHEvqAdgXWHNVNYGanClEicuCkLRyHvsYlVPBQbcgLXMHgXKGgYODdThsKColhlmWrKnncYjYgxraBsSEoRFYMbzfVrFAwxyCEHt", "wlsRVAxVupzdENIvFZuTBZlSkpgHSeTjZNpMCbKqJZEXdMYtlDabvcmCLLXtGGWUvvGOTgTisThmxjqMZAnEYJNMcHiYGWAHbeNiUbjxoBjKqlDrgkLUpUcMyVXimyUUXBzWYDnTAmFoVvyqUwiFeQRkANXoHZRMVOZkFRaBbVfMGsRUspkvsOSOaqJgHdTJhvnWjOtZxzgjVKnVHPBUSDIWWXbqoSyDbecweIneHLdRkvxFmJfUoodxeqAzAOCxfQeeCKLPOdCeCrlcNSYEdOSRCEheNLeWszroeJyXchHoeXnqTosYrTzffxnSseGejFwbkZDKANmKdCXLZydPtwLXvkbZTMDlsNIbiiAKRdSkbhUFBxpfJxINzDidjrTQgiMIQexHdxpOWYnEcOtOIGbrwwwqtqWbxuxJplcnJgVEYjjmjuaoPguELHApTWJBDMzAVsyDylbOEtoAqBMuTezygyNnqyiRIMKeVABJgckZVrWXXGnKfhPxXrjldqbq", "pUHGKSWTAKVTyPfLQFsUqIYzZGdRXqPnqUvxHCZyZdUahvPkYHAgEKFvBbBLWimIQShMsmLlPLrXREXvxQTmKybSFNATOgXnFbftqhKbUfEGzDObNpDFSFPDmSqNgKpFDmwRfTbXUFodNPCmuegJYqAoqYGZyCWssjHACOVXDZndMtHFwRkSOCadYnIyIOmxSnkbcBrtLQTsSXCNPmONMizdoiwvPXFzPWTzhxBRITAfuwWIxXTbfPSpTIPdjgzZbjBMKsYdFPvwuNoqqFiQBcdkTsqGZwBgTzuftnecrzEPtsQiAsDbtxnKUXXElWFlFhHfkhDAOUgouhPDJBZbGtfhxsCYCyXgcnnyNOjaVzljbcFImgTgpKrTBDlDbfYhJoeXJwxNHcRHrnzHhltXuRBBxYwKzzNNdpBFGRwaOjnEyDaMSibOMDRFBAzpteRdzdeIkZFvVsDdFKYPQZWXPubHGFpzQmMqaeyUFgNHazTShawXgdmjxZImPLkidooT"],"c_array_datetime":["2009-02-03 20:45:07", "2019-02-14 22:08:26", "2018-12-24 23:58:36", "2000-08-07 18:16:26", "2003-09-01 23:02:44", "2017-03-24 04:40:40", "2006-07-11 14:26:29", "2018-07-18 08:28:55", "2006-09-20 11:08:40", "2006-04-18 13:46:23", "2014-08-28 23:09:43", "2002-08-17 11:35:31", "2015-12-13 01:58:58", "2015-12-19 06:37:46", "2006-02-14 14:09:22", "2000-04-23 22:30:26", "2006-02-14 23:43:45", "2017-06-14 10:32:52", "2008-12-04 07:09:22", "2002-03-05 07:04:34", "2010-09-17 13:39:10", "2018-05-11 06:43:04", "2000-04-01 05:51:31", "2013-12-22 23:07:47", "2013-05-23 01:49:13"],"c_map_datetime":{"c_map_datetime_1":"2010-07-07 03:18:50", "c_map_datetime_2":"2014-07-11 12:40:38", "c_map_datetime_3":"2005-02-22 11:35:45", "c_map_datetime_4":"2019-04-21 03:49:11", "c_map_datetime_5":"2013-06-26 02:49:27", "c_map_datetime_6":"2010-11-04 13:33:37", "c_map_datetime_7":"2003-09-07 20:32:05", "c_map_datetime_8":"2014-04-28 22:59:56", "c_map_datetime_9":"2000-11-24 03:25:56", "c_map_datetime_10":"2005-09-13 23:53:39"},"c_largeint":-5234659429717827446,"c_varchar":"how","c_array_smallint":[-1483, -26842, 581, 12274, -29010, -20046, -2326, -28817, 7587, 13382, 5566, -17806, -4925, -15725, -418, 14658, -26416, 31130, 29762, -26763, 29769, -3720, -27432, -21935, -28110],"c_array_char":["TTAyUhiwYz", "KXZjpeAgdY", "IjTghOpeIO", "GfhvRicrwP", "CxVfvKvlrz", "xwmXcOgxij", "TeqiCQLXao", "NKpQzSnwUZ", "RxVtkAOFhz", "RksREwvIqd", "sysMTkAvAZ", "KvBQSmnIBT", "hCnCjgzAZH", "QptQkuVuko", "cPhVgGUvgE", "hExwISnrAg", "YaetgGsqUX", "mJuojFdJYg", "RfahGtikpX", "UyyARRuvVN", "xwJVphqkvx", "HGUWlfUDYj", "KbGnVnzjez", "qnjkbSCOmv", "ncIYTJeoJr"],"c_array_varchar":["yaJlUiDiBCaMoQPdDCjYZQRGpTcWWcjQKtWXApfDKEfsKYpObLOSUSisDKoaPWfjPoWoQEDGnyUTHTnVyTuynxBKLhZESzYfErnNVkXdoPnAMyvnWqFyuZtJifCUNohrBeuYvlSCSgsKPLuRnBbhBSHkDrRQXeRRJDHTLISOCQuMjGPJQHDJsfcqtcbuvJwzRJcEiNPGUYRbUscpkcKXXHWLHqkbAIENvnPmclIZBrUmWTLwElnaPeszMHdkVRTG", "bbHnYDfJawBvDdYJTpcfTeChlVtiEVgsHcRZSFpbcjsOygMduOhnjusqpyLqCJNjIkDFCRROlbychMuAUNyDvuxpdhZldIGZJlxrOHsAtlRmUCuXWKpnzjrtoXbUwIFXpFkqYnRNHnzGMeqjhQsVhcHXWDSWPtGzTDPsNIzcjwNwsLkzKAQPiSXUKLvUNFXTltlbkYckvGRlapBOyAUuNopDwSmuBIpcaypBfIdNlynFhvkdrhrFNrTeTRCACwwt", "FkgukpXASjPMLTlCuqZofzPmvXUqQOIJhWrhiPosRxkgiOLFqxyBCjbtRQpMrqiPuxgkdcWcNnbGXdWxKsFFxSByoPVDtvuSTeMTKnhscXftgIbyPRsLDeFVieUEmKabypDoujtVrpAlUsAwlUyfuVgBHvcbhCmaoQQqPVASNvIpjFbfyxLJBNFpzcvAffSkilkqkotbClqExwEwLbbFUIqgeXPJFwQtyWRVrzoHbFMzJWNURKHiEygbWiWCcvGP", "VCBPpVtZDCLrYVlbXIKxrradLylSikLHfittozyvQRoPGgVdCLMqVSMaRynsQeYUYBGXSOqnQUqhzVPJWlHyROcPaXKullRTameSdAZJxHLujfyZfKAghczggxQuvtNoywPJxkBWPYhidUWQyhdnqHdcLmdtzPtSYrgSaZdgZfhqOnemBgeAySftrLvaLjqPBrkPHVvIomIBnSWgwcpiAkDqWHoHknQifmwjWhvnKzsoMsqkzylGZkxxKcEyjLtZ", "JYwhvclzJrGceuBVAdJptOgMsMmKSXwyDwfBuQZOLmnANPiwdDJjxVenYpHaAIpZIcGFPHeUagjTQmtSkakAHgIfngdSmbrYlkKxseDfiruCYKHVDtKFtGRSIofhQBrIsYjDlnmlGrHEqZPUDZVuYqhZHxpRegDILRhvmzHeKDFRvzlVokAfLQzYOIMosBePYBXbSFwdWPRDKcKYBBKYYsgefXDfReQpBDXZbTMYgwAEvWRfxSEFsNdPpxxDPQCi", "WoyFajKACtQDFFmoxuklsSfOqsXIeJGqPpUBbTZMlxZdkLsNhwgVHlnjhmokBDfgOscfsveUHHNhUxCBHBvmZHpArxGGKcAtcRUBmQhsEBnvotUlEUVAKCZbBzHcUiOKQFvSpvLXDApWMSlpaQikxzHtUZkvOOfEAgBiufFSSicktayhGkcpdubbvZfceyaPWpQwyXYQpadIzooJBqPmOwHChzUxKizPsvtKSDROnGKLUldqTMoXfOMrStLxsFhi", "akLFBtHEmIQHBNsIvRdwhsTCFceYpawpTBODsZTgfFVKjlbIakfPkmRsBMyCsZJRCAOlLojHoqzOthoyoTSaUJQVggzVjsZJmgOnKGkqabXYDECEXBBbSYwqnjDRfFErSsBwtezoqBiMlGZqZsmlvyDLgTjJryLgJQnANtFhmLzNthKAJnKphkIeYzHlIqczltJGjDtjfsssHJvjzWdycaEDTXDeEODckVuJqsBcXbkkPCxntrcfvnCqRncKHOfo", "mooMCImjTIDihXedKFLhVJBNaaZPxwUjiJjSvQhxKPfRFUGpISGAsTKpNxoRKjPLTRgSVrrghtelFIwjIchQMaKyudLCPCuoaTGYjiFySPNvUiExjGjosEyNSvrOjvrwTPruZRjtDAIDRgNHOtcddkXWrOaXpqoUNugOukBdRsGqmEdxVParghDiZzJJSxROpAkinFPkqkbTxsYuPOCEBIzaknkepPynzumnQAOZzCMAraIhXDisFxZLytMXfcQr", "wmLSbkHKRcWLsZFeFbHzdzIigMmkhgEHulgVnSoraRqyKXykDNYNkXPTspKnHhWjkqeTVOLiHPqXrjfNCJsbjGATvsLXOcLlPLuauiuxQpqQqXIkiKwOqONaShdEEYvCcslGNuyKYeLUMsdHuWYZRQSUZTirElolFwVfMDdzVBRYKNLokOtfaRDPgoTSSFSmXvorYGvziUZZVepIruPNOreuwHvLIJwfxsPhnmUXJfWKBTxfqfLqDMarVoLpnmCQ", "oNMauUyuixNHMUdvdUKVSuIvLmAeRWhLCtkWmoJYnFMdPuWJTJxyvheuVbozXWherIOdthbILBJLagQfNBNcKeerPdhXMpqXUjJTGraSgFLnjWKzVgAZXLtVRiNvOFHpQlmfMtvgYkubYiOfWcGlBQcNsoFcDZlixvJHYSPszkWtgLBWDNggDYsMdaSAyLndsRdssCuGSNMifGdplGOkVTFdKGpEeDwEGOUyjTlsyrmxqDMADDIIdLllccnqimHk", "RZgxbUpxCFCfxXGaxAWPQAhVKyILcSXwWAIYoWipaYlbandjRtuvDIHQcoyJCQwBQdQjanslxeRCuVHXuoECwYbISfKaXcoWxWatLtBRENhuUUvkjCHpWFMRulhWtIdBtKFyqRSqyZVWRiAjPmPLKcSGygojMwGxkAEEZYhTcXRoOhJnqeLDHtmWwDdOTvUeMdgPzdRoSLXiVCEOWZGtLZuVjLueUGOYnqaAXPCSqoBNFwshyJmxqWoKRIRfpkzO", "FijagGgEdurPlVjebIxTzwcvYghliUzRIBMRFoFhopRLJxPijaKTUeUhKMroRlgPWgCoxfaPUupfSGdIALLclbrmiNDjImakPCbkgIMdTOEzpBBHgthpKVGUKBUWHbXCXtjkvQfZYdvageAOrCSYEbeuoMkhQElSDFlScJgfbrjnRLoJCVDEobTeUlTzSRyFedzJhAYnceXWcpCTlwgyjGdcMQeMeoFVxvwgKXRiWBcarZkGxQPHkgakyTwIEamI", "sjbbTnBduVhcfzwTCeQESqEqdxpaZYQjqewcZesxBQTXHzQpzMXTHRQhCLrYMbAyNwRhdmAsSOTHusrmgfdcqcLVUeBBkFqBoJykZYMSJIOYNdfcjzpqbnAtkaMmorIqzgUUOBjyLrHLskQcNoQlTXFcqnFLgLZxbzDsKxWZGGXSsorasgmAZzbKRKKKACokjaQXwbJbWRrnRnPDWwvLIxDYjNawYwfuBuAgjQigNFLbnHaIWXxUgKcUptowlKgz", "FmDVxbBNqtaWiGKQgDPGKRcLQlHaAspQTfvfRqdefmNSLmVdoGgLseWMKsLvnXlspACoYtgbSWZrLKbZAGsuPxVuYQnOAUVDxEmLqMSLRJcIaKzqolwwUOhXDnOcHXXCUDdLfpwVOMpjZBWaovNxKFFqEKyMKPUuOMXurhssUGgLIftnpxznjJyqWCCBCGAEhJInDAVPhZmiyLQPouSaBdCFkZMfWmwmmZykayUvaOILLRboOElKMbIYgiJKVFyD", "YLwULcwrqfmflesPBTQcZfWzYLpabIMSrqKoVXjyTDYqWxGfVClcwETWoPRQOsQNwZpgdQvFdTEuEEDuSXzgehOjCMGAdNKWKcHzetKelMWDUsqQdrhGDdOQNavmOmQeWajtirLrpvzbZsWkggkBJwlTMhVqfOsKZdhCIBUusrVNIAoeORDpioknJvgYmdGnYGSjkLfQMzstwFgZnkBImSYIrJVJBbhXwjBfWZrkojYfMVxWzhplnmvnBgYjiQhw", "YbLCotWIbHdcrIxDYTNeLlNMIvTYODPwdtfrpizEfktsLWfoJvRnjrcOXdmSdQiBmKEOgZALVJuiZyVGCDAZEqIwKwmusFpRPSnVLrSyLvRTMsWYgGVXRmOzWaZoBiwLGvwntkqaVRfLDqgikOoiMzRFpTQHculqHQuyyxTbVSjeBWVbIxeERiTfitHmGyRlPXbZbCwlHLCaCLnvHTLKTfWnGjIetnFmeURbUMbAEPlHazJTlIMKylKngspFtIgn", "zgtNJffCitpIugEiJKfJBSbVItzuUYTOyPSEyRPoDHVfdeSgyuTPxcwNyYwcyJHOjIDcXSDsVDkjgwqjCVFVJDHouXxdMQpBJxwHPOPctxrkBaJxMQtvQfpSiIRbbRkcBCGbnoILKZAnvFaAISVytrFCsBPiwspomFcypcmKjZjptMNKwBIwupkZejLvXhdoaVYApuGFLYovReXgtEhRHcVMMAYYcGyEcOTMMzrFFDpExXVCxqoshDBMPMhdnReO", "fefZamnfybghtPeaAgPIwhtGNAIrOhsLlQpxWBhUDznZJuzEjJirXgGnaTFIAUohXBvuZplOEjrCHuwZjLwQjYdWFEEPsZaNYKrLNzgtZZQQZDjjobwubenAeEpVPytkCrJySnDZbLzAPKuKvoekmEknwhVVEphgjxfJqwZDYPvLTWwFbBAPZzSUHoojuiGBRltIMEXCfauSzDvTLcwHjVFEhoNcgWYiJXUXIXAZEoxxAmwMzqAcsKjSIPltMmND", "nwBBNOYhQxYiMQiovaxuepfSXqqbgIehDZmNfkexiITCmqxLinizndcmKqueQRYKgrCYifPYAghutBfALufFsSMLpVQjzDYRUdUOoBZGGxMLOKXdlWMtNAPEyYytcbyDoWulvtwgaYTHQTJxKonhHEqJznAeGQCUjHboHdXXMEIBrhLNZcflnJduxMEqFbjVQccBuzNphWHuTqAoRAwgXmkitDslqpyGbsbqCzVTNtFgCxtUWmyDpJiGxbCSbLIK", "skwnotOVHiKjAjCsfHSRfLwKyezHxDQiJzXIujHEygRbJTuJKxxcIMAtSaxxPoUubNNMPlmbJmxjyRZGMGVTGDyHtppMlDjYhRkWUDjGnlwpoHothEcnJVkZpdyfUdCkItZwUCWRQFWUiAmXDCwIfbjYzGmdUSfYWPXJkeRiAUaxhEfoyLFKHshJFEhDzqOSdjlCCQRGeIiErgKAyfiESGMFkKBjHesuLKqyfmefGxPJZFDAbAJNcPPtJZujUHux", "RixLneCpnnyXloUsKkQCHuQnKBPIHMcYtqORcrdQbWiaZhoMMlWbMOgDecRScgVWwfaCXNpkDOevYaSWSSJEbiZbqFyEUAzBaUEhKBNSxUvxVqUyvrOcWkatueteKLzllnWcIKrWiFdaGzPicJVPtnHIDUAbcKsnMvRWuClKlJfFuVXlZjUTmmYsZcnsvEdZiuOUDZaoRcOFCQizMinWrgGiRRRQDwAtVEsXCDrOnRNbgtYbOwRdxNFThGANuTHN", "PBaOgabhnKfihCIueTyUYEjrjwNkIrCbRhwvmdmUwZFnWkftCosMREWeYvFiOxNIiplIONuJcBUIyiEukxpkeqvQAgOzvAjYwpsPubrygYHxKkRjSNYAyZoJGSztuclCgTyXBDePDUkcJdFyydzQQwBzBPFnvKrgPoRrAFLNnabhNlctXwTFUVqhoJDJvFeQFSfeWztkplyLcgmiwihoNUdZJCSOQlEMGrtxUutILBVMADVURFuyngvkEXBcIJjg", "CCWGtIqdgCxyuMfpjyBdRAnpuuhIsuxnpbethHZXlkPtHixQnDsAiXqhffJxhsSJguIRMriOfTZeNUTtXMKQQLpimRrYgRWSXaJOgWzMWYlROsICAnBKUxLOvxmQjawJfYKuZcjNXvRXYqyiifjetUSeFdVzMplBDFlfHBjvRYtezbbaRyEIjLRdnnQuFpYyqVrZoecZPSezKoVpODiDhYtgpoUEWrwLhyCQTETSPMGNIEVsCfrHrBxJfUIXwxkK", "ferTFUbBfruMEWtfJSGuibQAQBjynvQifSlvayuuOrPJuYUNtFztVajlJzwHWbwyEIbHGlsAYJxLsgSSxfrjKFgXzXyHMTblOTDMumgFPqQDnJLavjRTFrRwPLdpPBeHgUsMRQZeocUAqKOmaPgWZaBAqKDIouWFhNSWwqDKNSqsVTvZhXyHRtTqtmhhEnvUYvFyKZhhhKmosxfJAIMfmzWlwKKOQBVdzHMCjcoBlPAmNaXvajWcUFiYgwmansJa", "EgghCywJeMjeuOIUqDbKVJeyVbFxmaUJlGhYaZnChMlkoVHuZWIZaLLImZgqsFjriEzzVngQHZnJwNxtifUssCOfJpLRnvFgecsmDncbtGgUzIaGtRMwtyqKMswLwQnQTKRMuCEBpxdcGfZTxREIfJRIcPXExtJOrMzfQWCQwljtOsNUJyesihIDFbcMYNzIrZnMxQxEJzdLxFEUsFmzhAQHQtokRgVnUIjgewgubatBzvqABjImyTniDDbMXifR"],"c_map_smallint":{"c_map_smallint_1":-21469, "c_map_smallint_2":-17592, "c_map_smallint_3":8002, "c_map_smallint_4":15475, "c_map_smallint_5":-32634, "c_map_smallint_6":-17364, "c_map_smallint_7":22022, "c_map_smallint_8":18426, "c_map_smallint_9":5017, "c_map_smallint_10":14112},"c_map_double":{"c_map_double_1":9.011725105906294, "c_map_double_2":99.01319149051, "c_map_double_3":93.78568111796321, "c_map_double_4":8.036749511860538, "c_map_double_5":5.938801596355559, "c_map_double_6":27.014816712793106, "c_map_double_7":17.124831078529557, "c_map_double_8":52.72496011261317, "c_map_double_9":40.984504699312566, "c_map_double_10":6.689482349207458},"c_tinyint":-103,"c_array_bigint":[2068665905288019041, 7904919300530359572, -1559144717689498920, -8133370410693281464, -1944796450511974473, -1420477610105084310, 4183944514121959575, 7423557024416141736, 4673778985023217251, 1314578083247979273, -696863272386379911, 8993320493936063912, 5053012596278725795, -3379783324425074811, 6170862450855263979, -1642997167342217939, -755412720984642699, -2293400380470062991, -1691207791932891978, 7840747073293977988, -250386275228774278, 1925987199865685129, 8025029209534352216, -883439367290208203, 5272166593816938437],"c_array_largeint":[-8325870711777453654, 7187085823652743437, -2123807690089155743, -8545069070798867127, 305804412312226065, 3593585190029836432, 5038772206319415009, -2203000376665890692, -4491044370497497746, -1567435786370845618, 6641253129107409850, -8660969257756136949, -8184216196551909322, -3450473806067437854, -4464151632307996439, 7173486355290239722, -8109225620004480377, 36870887568920525, -7420878555098777743, -2085338737015392623, 2157036113484809030, 3459293150970363328, 3109240154820614793, 4878401077293374327, 9485876984012543],"c_array_int":[-1415303598, 1912238448, 362127889, -22841789, -1970302251, 1799010971, 1313890658, 711874369, -467177896, 1347068655, -354318061, -497906896, -1430624126, 1286439183, 1542577647, 221038144, 817593532, 161762963, -1837998635, 115427257, -890608561, 854195149, 1223323193, -422088466, -1830938855],"c_map_ipv4":{"c_map_ipv4_1":"61.20.217.21", "c_map_ipv4_2":"56.199.187.253", "c_map_ipv4_3":"189.77.133.243", "c_map_ipv4_4":"224.204.59.17", "c_map_ipv4_5":"201.48.58.184", "c_map_ipv4_6":"245.142.55.143", "c_map_ipv4_7":"131.110.193.217", "c_map_ipv4_8":"67.250.134.162", "c_map_ipv4_9":"142.214.70.54", "c_map_ipv4_10":"210.75.159.122"},"c_decimal":95.1251,"c_char":"YpRXnXZmZr","c_datetime":"2007-07-05 15:09:10","c_ipv4":"61.28.248.1","c_map_float":{"c_map_float_1":53.47668, "c_map_float_2":74.82307, "c_map_float_3":18.673498, "c_map_float_4":21.129942, "c_map_float_5":7.239325, "c_map_float_6":45.026463, "c_map_float_7":14.194115, "c_map_float_8":38.442123, "c_map_float_9":43.039062, "c_map_float_10":68.54598},"c_map_string":{"c_map_string_1":"mUvsYBZNoMVTkuWyEHwrINMCiAkRzoINZPAjyOLEhWQYrupinxjFBqYwDhjIVazxeUtupScjdiwolLGVcgzRsIWNDRoKLXToswCjcEHPBXmoydFknUHgGTyxaONYdOAStdExXcRVFGRZByqLZaUnpFKSQzBcpNWMHzuZBXvTRXKtmpQFrVFHDFBHnMRcnhPOIuaWzfqvXfFSdWTulVNQZhJdecsXIZxjEmKrErPeQyODoddHHQaBwABCzisgHAVoAGrUckqEFqiRBtkHFbmERcDXTcAFWXavEoBTjBNBrQXVpTJIglMtfSKEJNLZHUBITqMOfpTWBEsPscTLYqYccGmtFKFtbppYzdFaArzuCONctffWXEnxqslIykMYzPLgtDlJSKgmuwmLvwxiHtBbdvXoiNMfnWOfYwzwSefiPFQhLSEtZascPKYHJxOdmkRMyqJrmkRJgcURaMIRquuaohZNqsTSvLQpvHwFnhTLeODBtvTtbVOCUOaUUShSotyS", "c_map_string_2":"DSYHAvvdDtdSNCPpkibXghXAnmyZPFxxsJBJghHHzUukPXQPnGxJnYhyQWSaaJYfGdeiOZOQbNzetajeonZLOXspRGOEUjwoiqbquleCDaTQdENccobrXiElZDgwfZcTYWaybVgENXPdtxveOqcmgPlBYFnXvHftRmqnOblOzlxDKUBvlxgDXefqxUiinWBSpCHTiLfQgaLGvPRXirsVobIPspzJivGrwlXRsvMdaOuixwcunFDXypciGBWHJOIdTmOwBvzJKdwdWDSfkiUhEtubzjixLuyNZToSNokimYgNPMWuZluvhrVrXlfzIyxDOpSxDZupkLHQKefOuAFBoavMDHmGLxEUosKFxdZFKFxmqAjlJNkDYrdSsxkuGfLBnxQBmBOkSkKLooWlgZwFTpaJVaAfypOEBSWJXYOjjmYdOgvrlBDtumgJPfRgZASPYjjxNqWIWQAPNnQaKSMARRytQKwavlndZjhSmFtMkMGHpgxHPgBUruMCWHRbubWk", "c_map_string_3":"ZoPXmvSKUStbWZASeULSuDaVVuYSyoumVNxYcFyeQHuQRbfmuBmbUdAWvPNFhpzaIrQnXdpDCkYSRYwqjGuZaTRXlJXSQfAAsODGCttZoIInhshwEFEibzFtOCCAIXtiyWcYYMCMDpvjZfoAFINRBsOgxecJuNwRpqwFuQdtNkcEtGXhtwUCaDeNiwvyrmdgSDSKdMdmTyvBsgqmixQxlKIjvUrVPhNWAmITPgtUYYeIYSUQZTkmoJnvELxxkUsiuKctjMlwQknTAenrKogqMUhpsQwuUmejxBpfgpOcSBBbdQcfFfoUlHqOcIekGZRCUzbWzSYyvGGGzWJOnsazGvBdUSFSiwzOSyjKfsxUOszCwChmDRnlYXiUfgLJdKfYbbtEhaUMdljNEXrBYPHVCuBMGxsBZxeAEWktHBWQOGrGEtggYtzHoPxoudWKQjLMHUMUrmZSITWhdsnfXAJNleufUhPUEpcCzEqtEwRnVIuUJvqRXucrXqCjniOMzyLH", "c_map_string_4":"PFYsPxYWFhUwGXPEnFEvSQnTjVrZRQBFHUpkmwnMFEuwbiHYunjGjIlXaJulWxlkfmsVtbDJEmXZCpIJgtioYhsbLPoHbOfxvNVGdsZSaEKpUURePLZWFJLvoJvKtFsRdYyRfdWTbUHOlbbkpnHajVOQgUKHTPmzrfaliHXdGaYBrlEemwhQvsUKmnowaPicOSNzrRueOxOyDIPEJibJmdYQORfLSfpjwifOWDyjNqbeUQhbwDyiqIydFrUhOXIColNiGSNilbXWJENNvpYBZuYvDROpJjIIcCZXOXLfWfHFuAnpkgKIErbUAyxCgvNDiLdnRzBUiTbLwkLDwbHeehIKFDEZRojpLLUXBmYrZLkPQiIktCRZeEkqpVVCzHpQXSzZjdtFwZDmIWrpiewswtBeRLGxyOLTmiYhSSJSqnILPHTtcvaYBYPAunpPbWBNGSjHGYEbPtXTkSrlPmSwcBZPPLXbEnWMWJoxKcDHACYvkREVuWLtFEJlELJSPqkJ", "c_map_string_5":"RePfDmIuUaLqoxJlFcCMiKGZYNxlhKbJUqQXjAImQWyhLydvsPqpQkCzDfkHaFUwULhWXTFvBIKAkpNyDAwYKTANnsZqQdCXVOMXtffcnklKmkEFSFtVOrWwMjcJKHyGuloXmtuePKazbxhbDIcvnKcTWBoUPkRrzFvmXvtdrygoywinqxzQYbCoATJFRdDoOgvlfuZwkhRyNoPTeMnJqEpDIelbrSyzwNSMobRFhqSzDsKMdjybBXBdvuVDRbzTusGyzwPFWPOftdgHqGUaueyEfkrwhrefpFtpTdjbFzwKSlvKsVYGHkYejtBmDWhzIwSwRcOAHerCVCjRzCUbGhTcchGFXDpMaguLqPfLPGJHBrAsAiLfpDtfnicqPlVHaBIANNJjTVNeasFgAyiLjiYGLYhtypzMDNAlxzQIzQGWuVumhSBFuReYRzDZFmTeztPkABFKZxfTzmTWsXlZsyoeHPMmuOVtOvwxapqVBrrejOAwELJrWsMfBvdGjfsY", "c_map_string_6":"OhXOcJHvtaMXOVhoxIzryADIttTXObCTwuAYUZNMltSyLDrrtuORopyuWvXyufusBNsaRtZlNUrCRZuBBGflUcBfmtvQgnfgXuYOEhwlRDvLjeriORCOARMvsbuOLCpXrglrikEHRlHphxPgZVvrglrTcjLYMuiLzdgTzdgjEDMHubwpoHavdOJettgZeXaoEXTxXdQoytmmOCzUufAsvAPEmzlOuOlzMdhCMvdobSrqxZviRtVuoowFJJFpetDrVfiaaHIvSVkOvLSUptVgMlNSukZQMOnqTRdcufUfykdimSPveBxWaGGnmKLCErzmhzbUYKrFMmlILXQkhPXfzdlhRKHjSLAmFetWaTOAVlcEqtofYICxGgMWDynyphALVVWFnBtnvdUfPxmdGNMbOJkfaMCiqaLCyMBBvBFrbIMUSFToqFnJqxHoXGdVioBLyvALsehamXjQrhWUcOLwTbZVMEZZuegptHhXgyyDgtvnmiEUJWPdRWyLzvqjwWbt", "c_map_string_7":"sZwUQysbWcByAdXMuyPrpRTfpmnDQVNuhbNpexvtFRyJFwypBXGoRVOnxkxAOwaFEVfSpHWahjdUPJVeJQyVlWbscPmdASeWvwwFlCJkKpfRitWFUOxtbcdjpVbrLWAlEpcEcLAMGpUjTHHlhSfNdwIlEseixlQTyrfsDmYBIePPdgiAUPuRTifIJSYoEXIvbRlRHNpvMWLrJZgBdAukklsrWHpCjQcNQAdWAriaYlkhQvKdyllVCYVLvDjHGudxMxAwXANvvNhtLZFFeaJRTbhRlPyCklNkyYhaZHcISxlggqSMkRCXVIXHRudTurJxEjfNAvgagGutAFPMfRaDdTpMRtoQAaCvPWiAQMpHkGEdpToMuJyefvWBuJkpJwjUmhcfkycaGIJbfqKSNEfphGRXzrlxpnLGSuvWQqSxeQGuqUJAXEYCyURCTpOgnDdILWKoCIKubnzRzZXfjVwERbPbIWVwxQtGPPGVOgrStQIqsnaSBSduzMHAFtkBwtAN", "c_map_string_8":"zLwMGnKxrdHHJtOZpRcPHsWPajwyhMBWTglnjvboshLrGIzFRmxBpGpHHVktoqoAlWhDsMNdYAVyOkydBIxabVydAcKyrYcCvyHvBEyZtEBEmJMuInBTRxyBqhSriyIRNjqcLTfTtLwabGwaDcoZWyqkYfOiCieYqFeIGymHDkuzRjlgEPNQhcmWTGeNmaYtZOlQYAeuBmodYSJvxVPJhtlGZwmMafEbdZsTdJAqTtxTfWMUhplWRntnajDTVbHiwrkATWrRtFjtmnzldfXCgHJWVLVCcSvvbiQtpXrYxTySFrQCFLiROqyaMcjsPzoGfinwRnMsiLibdQsryaXdEYhJacUHGNULTAeAgPVEtvpiFyGnnCbLQUGuUWGatuYzfazaIciqzoekpbQmZwNHkmLSBeMqAAbYOULNBmhLyrYuapVKMKgdnNvfjGYRNJBOVqJOlaNMUMCIKBDpiWXIPoCtXRQyexoMxNqhDKwEKxoBcgkHdRrKzqkjrTIxQlMD", "c_map_string_9":"ikYvMhqiVjxgEKMMClfORIoHsjiyKkdyQlhmpyLTQMvrpIfxRafgXuIvNrTfWeTcSqCziCAFtYJGMnypFwlmZacfmXKXxDOFjxfSDGbmSEGrcXyMxPTMjRTBVaDgrMGEehBrLiptEkbzRwowDDDQwPtCInGTYXeVhMJDAckOslZFmwSaUkbkCwNqNvUPqnHhFTQqIAbFeKvdcVIYGhIGqOjXkUoYDsyezaJaPLMxWMVojiRqsngNTwJHqGaexzrqWHrYVpzSWaotMWuQBWBZSisVLYupPhJHePtqQaSBsUgGKqKrPwOUtlmkHRwwlTQuYFaRboTBgxxpcDYSDFgvpBwhkAUOAyieinuBZcdhGfUmujYfsbKkxZARsSaLJjKCWNMjRYmwHCCjIDDtoXfEVyaKtmujwlUhFyGNMAjIHaVFlwJGFQOLTrYPFNlieNJHjukHqKXQMvguNNYXOavmBEVFuMFnRLwVBfsiriFNIKaOeIrcarjGdOvETJYsfYsm", "c_map_string_10":"hZpZIbuAvtyKrcXoPRnBvGcXqrPqmxkQusbnWdSnSzxdzhQxIOkzLKFhjAJBGBfLMRhiexsvSPfjdhBwORMcGeHUKLuasIRCHUEjXQlHCtOEMdkpGjunGHlzVeUEfDkCiEIjwnCNXnlxeZSKOfUZxrMOheoMDWuPiWxkifoAUqprVyorvbEFdzHQrtYoFZXbtbAiDXhOkiCfpnoYIxVPBHlyNgiWNxEHBaHjQBqVBAGxDWLKGkPDPnPrCfjnGBKEDMEEwZTyYwVGgabgbyYTgcgqpLyGWdEcAldDVRmheOQTWMrFqmyZhyXWsDyTlfHlfUksQcakwcyXZEovKRGfWDKAVtpqUmLQKWHrMeRPTxAhLWWRdeskmLNLTRRNUsAiHVWNTpTAEpTbBnzHOAGfhOonuuFGjsDHZjkKhqnKkDWJabWESAnsMrHwQpmBwbjPNlQcuLbalWkgoqFoLNbdvkuqfGHuCglLacXevKziIbSbmtscrGJrFxvoKBAUOptg"},"c_map_ipv6":{"c_map_ipv6_1":"26c5:f805:532f:8:4298:ec83:c10f:7cd1", "c_map_ipv6_2":"eb88:5c52:e8f1:c34e:6468:b5ad:a670:6023", "c_map_ipv6_3":"1812:710a:5d14:4c47:67ed:dbba:d743:eb2b", "c_map_ipv6_4":"1b54:d2af:3318:e0b6:2be1:977e:29f8:4bb9", "c_map_ipv6_5":"b83f:a059:e140:fe26:8e16:5c0e:1b6b:8902", "c_map_ipv6_6":"6f84:d538:e2f4:fe95:c49c:edc3:2c4:127", "c_map_ipv6_7":"676a:39d9:39e7:61df:8cd6:ea96:bbba:9caa", "c_map_ipv6_8":"bcdd:6e62:e7f9:2ff9:29b8:26c3:509a:22de", "c_map_ipv6_9":"c02e:b66e:ba72:118d:5b55:5cde:e18a:270f", "c_map_ipv6_10":"393:71cc:82e9:5ec1:637e:3966:e712:d1d2"},"c_boolean":0,"c_smallint":30771,"c_bigint":-1442492140745339395,"c_int":1193054740,"c_float":2.401011,"c_array_ipv4":["oDCjcsoTuq", "KSObhNDcDR", "wOVOwniItl", "XmxjaFoRNs", "hHxKGYNPJR", "NQdloySHMD", "dMNIBbMKbq", "bfslxHHujK", "eolUwbbhSi", "IhPyRBhAOR", "WpbILeNMTx", "keTUvVEHEb", "OkrOwYXjvE", "DxUMltWPwJ", "hQLvyRPnXa", "xXuKIUdUxC", "MHPjkMACbQ", "erNFPQyEOu", "lZaNRqdszC", "vDykRRxSAz", "pQskfMMrhq", "eWJCYLFqAk", "vFLYasnadK", "RBPxcKCILO", "KvzJqJFHZl"],"c_array_ipv6":["kbBSNiAIod", "DhtVUClmhi", "zCLImDSsrC", "qKrxDCJjtU", "VammXIGRvr", "fQWTmiFCEq", "gaPclZXaMz", "PszYWyAPCo", "xPXMMTssaT", "jBrKxuOoIC", "ZAeLjadAwR", "aVHGYjCZzS", "TgySUIYRFr", "rDefSpeCTT", "tHouEHtjDC", "gGwTPTeqUn", "NZQiSRKJvA", "ueLaUzamdh", "drcQhyexOb", "uWwqYlqKel", "PCQgsmFVEN", "aGXRtzjzts", "OdhhxDZnVg", "aVjDegAbdk", "yAEckspTdA"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":1, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_bigint":{"c_map_bigint_1":-8104647566038222469, "c_map_bigint_2":-7745978044087495480, "c_map_bigint_3":6259488888789096635, "c_map_bigint_4":-5969961573380806099, "c_map_bigint_5":-9052102449649426420, "c_map_bigint_6":-8016340750070776989, "c_map_bigint_7":3711216109169163230, "c_map_bigint_8":-6424361656509338271, "c_map_bigint_9":3108342568201935512, "c_map_bigint_10":374874589393619447},"c_map_decimal":{"c_map_decimal_1":43.0268, "c_map_decimal_2":50.1393, "c_map_decimal_3":10.0347, "c_map_decimal_4":34.1210, "c_map_decimal_5":6.0621, "c_map_decimal_6":29.0922, "c_map_decimal_7":5.1152, "c_map_decimal_8":23.0447, "c_map_decimal_9":10.0022, "c_map_decimal_10":35.1790},"c_date":"2008-07-26","c_array_float":[87.71918, 66.38644, 43.687973, 95.568405, 23.548887, 55.466434, 10.367994, 10.54332, 79.30589, 74.315, 87.89598, 66.269646, 99.27111, 66.40375, 47.129066, 27.984669, 6.933475, 83.72695, 59.100445, 86.57891, 99.06439, 60.129852, 79.73064, 53.2758, 97.012474],"c_array_date":["2002-01-07", "2006-10-08", "2000-11-19", "2000-04-13", "2002-08-10", "2019-11-09", "2006-02-27", "2011-07-05", "2003-01-27", "2016-05-06", "2018-03-10", "2003-09-07", "2009-08-16", "2019-06-08", "2016-09-02", "2004-07-16", "2017-01-11", "2009-05-08", "2009-03-03", "2002-04-12", "2012-06-17", "2010-11-27", "2000-01-13", "2002-02-22", "2009-01-28"],"c_map_varchar":{"c_map_varchar_1":"UjMjOvJEiAtfDWQdGAizcrWHcIbLGjWQrUfSGuBnJAunjIRxJOYppKVyAKhoZRpPIbanvQMmmuEKqKFEbuQDfeqbGAxbVAAjhnhWDoJZDcxiFucMTZlReiVNygQrrucNNmKcXtUCjmeEbnqFTfyVpvyfwxHVGrrqPHgOQIZWCsPsogOEqSyrnPqCkPlyEkAZWGNDXsoYKnSSRogRyOCBNwfQBJlXgqdrVKSHDMleYvBeTPFSoTRHFizPCtAEDYMs", "c_map_varchar_2":"sSVvMmdxqCmRODglKvcrKLINJjAxzTPUVRNBqxrMOMtZuuUEinCdWvBaAvfcWRvUEogEKRvmFLORWaIDBMTSnOZQdQWYoibkJPBAPxqtwMmJIcUAlqZjUgvzwcLMdpXrMflOYWKRHwIGhCHstputzzESLAWtbltWPoGnvhzMQlADJcvaWfihayRdCeepybReNTocRpIKyjZFubJsFLtOkwKJrOkqIwolRzWuKYmxIZTZCFZHfuNUcSQsxaazTqWe", "c_map_varchar_3":"VJmEPiAuPMvpVfrQlSOVbnSxBGuWxTbiblXRNvzNwHPidCqkWujOgtBpdnEgkdOEoYfkeIEUlLeBrwPwnayYXsnkbUloDYRsJHjGxYrUAPnLLUldPYAdzVcsWUSgHGANcGQPCfCbtzdBqOEAZOWkcEpNShoaFXuasETJzUGYMqFgueMDGgwxwgAYFWqrWIbfPCoATYRMlPeYAGnafMjeuSWqTVdehZePXyYzcXoCVCZPeSDDkhKmNhriCnBaaiXC", "c_map_varchar_4":"DuMRWXaocwIineqROESFnhzaqYzMcbttJarFJuwNLPnlUyEfYgdxhKGFPvGKGnxBMTqtsXYvWdKXHagiuuWqxLTgpmLklWbPOgBPdLeXESoVfHXBPZGMAcJdywIfbJufOPrihyAxruccwKiEKxgzLoNWXFPEwKcbuTiLyNMZHuywRZFWZTXpAUqsOwJEnFqzGEIPZEJINbOWwxAmHZHyBRelddaUBJxQjezsmNIamsBTbceLrulAsiPbYiEiLRBc", "c_map_varchar_5":"ALxiXjMcBVUTlmaekoyGhadTWUFaraapFSceESVxqIVwdojXNMasoNxfwLFuajeFohkuTevikMzMkQDHXDPhrYTbqtcMXeNjCWXEfylsGRkQZGMZceTljVWlhuAWakbyOtgajSoXyiRGxuQpYPKPqGjXoRcSqBjKYPRjQecEXvnDCfOriqTOPptmlMlxqUtWRBpphPvtxFuEoXrbczJydhMmpmcMXMQushLhvnGtBFxQgSHjHpnqKyhMlDYhuYck", "c_map_varchar_6":"bOsAlUSbRDmxLPmAUwWRuThnFajPhLhanxZdrfAtgOCvNmrkoUjmNLSWhgjquTluZWPdTvcXookrGGpViKtoImpVStwpycYfgHEArGrgxKxmzBHuupWzjZyTHjTAtPxNwzXYRsbepPWneRZOVtZpoXqQFKFcwzhslQjVYPySMuCETLyVyphkAfUxoUiDhPJgXPQbLstkKXJoekSClRmyQzIgEeGRMuDyRLEHTNBHofRXKIWzTkHJQSQJjpyjyhcx", "c_map_varchar_7":"nXPkVDUIqlFjwyDernRnpzQLqbgApAlAxsDdZjqAFZbXfUSMJwEoIFkddiUqdZpgmCeLvDDOUXvNjPOnNwIdQHeprLaumeBtWIOdsKtDheXZcCbOENBWRngGohjpkZBHDcLQTmrQWsDieqCQPTgwbRgLTCHusMkOpuuJpVbLkkFNywZTSiCTUApagOtqgzaBsrkLPAmtsJdlKOZcgmgdppZPjcLntDjKqTeufOIxKuBpGlHcDlJCnqdmIiXdmfFY", "c_map_varchar_8":"jHtsUtAEzGmguYhvDVDlssMgLStqopjjfgPhvrDYrlVVUngMrImSyxWPyuaBqCCtySreXTZGYcmbDPNHXInwYWkopJMuQZtWMxynOIraNPXKWnGoKlGCrhYrcPCOhxcZjfWkzXwXckNeKZtnhZTAmVutBUpNsjkIPTvXXgxjHFwrAJFRCkHflOubzbTwRaUJneyBZtGzoQjefSstQVfWhTMWMIpIwxpIxbPoMnnmWYWpgAYthbGJwZVnNpORKWbh", "c_map_varchar_9":"bMjQXlGvandZtDcPRIxQmFZBSsskXEPInCFKwGdtPVQjnzIpgENQKvfEQhAbPRBphnQzBXdIOaQKPENXVIulUEgyYNKlYuftXoHhcjDvIVzlAmloPzkPKqiqMAUIBhhOUyNmmjMyQaPRseSqJahelPrsZieHugeyKwuRjFFrbLcDExCVIkSUVVHUERsEOzDGnqLFIcksjaKsteMLapXgGGmJoNyjrabIlsAvcUfuSzpjOIWIdhqisgYrYUjywMvo", "c_map_varchar_10":"rzYmXANtKtyhYdEPCnessSWYPonzMVjZDMmSCaHxSIHdjSRuzMOgMUMMnujswsgrdAejbSYakzOXmmTbXYiDwwGKsqDcfwWUfjROjXURoSUmKCWOxMxnjhElQflZqYCGIWMMmRnbGbhuPAYXRmIIotDAMnjXUrNhRaTRqtRqTujqwFYpKtgiqlRwjHUGXXnHklnsVskEmLfxWtxSefvjOnJOzgaAreNhbQzuHXdAvbDlCBHqeejYwZZcgchKOTGQ"},"c_json":{"productcategory":"tools and hardware"} }','{ "c_map_tinyint":{"c_map_tinyint_1":-97, "c_map_tinyint_2":-54, "c_map_tinyint_3":-115, "c_map_tinyint_4":-9, "c_map_tinyint_5":-3, "c_map_tinyint_6":-79, "c_map_tinyint_7":-105, "c_map_tinyint_8":46, "c_map_tinyint_9":50, "c_map_tinyint_10":61},"c_map_smallint":{"c_map_smallint_1":14809, "c_map_smallint_2":18336, "c_map_smallint_3":-15018, "c_map_smallint_4":-31463, "c_map_smallint_5":-21552, "c_map_smallint_6":-17115, "c_map_smallint_7":-31151, "c_map_smallint_8":-8128, "c_map_smallint_9":4093, "c_map_smallint_10":2389},"c_tinyint":-5,"c_largeint":120817640760156390,"c_ipv4":"63.248.193.215","c_ipv6":"2c95:397d:da9f:ecbc:f404:d194:ae8b:78ba","c_array_varchar":["jeAhHYrrLJoWrJAMaafSpiKsdNhfPWTyFbooIOQFiqWgRQkoQPaXzskwhoFxWGbaJgggFSFbowoHYPBrMLMSOHvfNJVfxLnFmjmcHSTzZVKSBOPQoJkUcPhxWYKwTOGimIBcqvKRiSNwNUEuaqERqHbhQwBTIvpCsmiquKpURfYXqfsLLJpHtImAjaocpsfPICPBiybjekSfYluMYYzuWtjVJYJPxugPUHyREdWscABQKNsxszocQhNhYHmJQddz", "rVHoLutPlsENdeNbfKcoIeuBSDLlZGQlUrzTaABeDgIdbgmHsXnVBPjXLTazXoqGZWcAWBodBgfUCnXfyEgaBvRAZcrANUCSaKJOFmGuBtOPZelvzugWBMMAPMgWINLdRIkmdwnLATncscrTKCAXquAGygyxHicQGnYCAEGZkkQzkNmDCqTfZsaKtliHgQKSLlTqiySXKoKXHnsNcMWbcaUADqdaFqQZKlTKLothRPXjLnwGGZViZQRGuyAtbXNI", "UylkzgQmxEBfAYBxAKWJOFSjdugZmVWapiJeHfjOjbDjroTwCUBiQQYCzfyVHzNtadvkoqNeBqnQUZuZRNCXyOdtYWLbTaUikcyawzAzjPkGpZePGiRQLcteFrjzBsenJoPMEYaruMPTsMDswltprxSAJBCxjVgNJJSfmAkmYnTYmvtZPIQwsxaEclRHrrrqRbLqDbOCtNAYGBmXFZyDVfIlZYlODKmEebYFjTOxhPlAjWILaGYuoTpXPUeiZYxN", "dTyLTUoBKgniElfOlNCIRRiCxLZgYuhEiDHYPUgVNukFUvcavjmehIMBTQJpTSKcBflZrPsZUMJEBpRCgSxSUKWPXivZpdIXdyuMYQhMBKSJHBmnisNtCTNPzmsTdIvsPOasTavzAQhRaXZdUEqWagjkViNxjJMByMpqQoWXyRUvqHCsiPrrWInZvNkCvdEmphqIBhMhlEykvTfrnQsgLirQyzYmbAfNKAOFufCzoxmFWEcYRUsVySxIKHuXYjom", "vGAIAwNbJkkOzJmBRQwKiGEhMqrQNGkbRSXuPUtXBZQfrbUctubfCrWuvjlszNJcdolaVxDIWQkYDimBnmKxwgrgnCQfrkSmbzWYtNGyHQTEFtkPUNHUeJAohLhDjSaJvLmpHvboTjppuLsHXgvBxWsaZICznEUBIzscKsFbhnsnnAojhQQBPfyRaQofwTEtSvtiuRFFsuDJcGptgYFeNMGlUeShaiawqDxAzOEFEKgvjILurLmjyspxAEugAPJo", "EULZGfQzwYFTWeZTEikBldwuYWwkVjZhbTIGnXCxQyyvPUCaxYjHtRnjDPEWDlSwszcfkIkzQzxfJArJKlgfXtlwANbiooYZvbHVKiVSTQcqfhxwsVXXZmaiOLgSyoNmOVxyfYvCjzyfcoXFjGhMMgiBOEIbzfUXLtLXdTYGOWymjIaINJgusrKwJdTQiSDZCyMMgkHtjPmGTftGxQvehSvKhbMalEiIZbqcAcFnYgNvPPlFfnGBklsdvRJHDldT", "PPzFuFlgqvBwjGDYRXDPrgVqSBFaHwqAjiNZONyBvVlIzGfNddtAyjEcFPlNuviBnZEcKtrzfbdljARzVavjQLaNzSdhWYyENjwIwnsPuNAIxBYdkuVbuSTjkaEpluTdGhVYhWIIMWvGDnBvGhpxVEyylvUdqbHwXGzlHxtvUbOnZtMHBiJKmVmxHMgFAStdYLQqswQAwJVxAtiWFWkIyFIGYppQJSHNIsRxkcQEQTKaLmSfZWbBAjMSDjZxmKaH", "OdHRNYdjduXJsWbiNOEjlYEbhHTqtSAAxfdFLvlRsByyJgelOmCIkVzTMeAJxSTEaiKizvOAkslmxQvplRYpmbxWDaSbZOhXBTQQlvfxnqKffbfmmcJDRBAlKGpgWYnguhNXabFegpKtTrUwKejPIzEShJwgToLLYtDntHldELTlbjtnlQnlDCpNhMeJLQiBRYeMuwZLhODjVYJehlSsKXcfUGpWNRjaeefOjPzozMMJReJMjJCtsxaFqcEktBuP", "fDWICnwCbEqNCcAyYteeENUEigrAJgkSKrzbpSpkRmrlvISPtoFUaXehWvaTBqRrtwPinqnaRlweCkkIftpDzYnKilLUyjdZpXGAQESgIriJeuUroFFTFDhodxLVJIbEIDyiwKamFPXtbIhDgqfVeKcFQsIoaRnYDGyrykQjByyssKEhdAPyZRwVsuJQLoJXAgXrHjBlgCHrWtpwhpPtocqEbvHLVjEXAPwBDAvkKQUPRskiRrbGZUIxhUrZKnTS", "sOotLtUiDVtbdFtBvNFbJojgbyFPYtZwEUOVDZUijSTXeqitUCKgOkGScMuqNccZJFgNDogLGMBVyXEOULyKpepqzfhBVfqLDTiAGoEtGNVyTgBGFdNfECZzVCIBfroxcryBqTBhKaVHxedhgzmyPQgexRzLorSjKFRcqTbFUNSUuQeIOMpnjKOhWZsgqiYZsWuYCrJdcnxfPXQKZLFDjlugmUAvgcdAnrHIJPSsPTAAKXQdULgGIXKFWsAWalho", "ytAKEXQTFncDZmbCMnWBRTWqFUHpphcOtfjQhYRXahYgAvMoRTRIjlZqBLxSWnxFPQxxcKLarADigjjHnKZuGMWFIcmuuxLSaacxuzECNtpfjnKpxgCtuxSEoitofGWMoxTbhazwpeNDZBjqHfnplvvgEHDRmuibmYHkyWXoxYguUlcpZKAsNddGuPWdPKTXSPUPWVoiwfqayRgwtphCKgGRuWVUYlUOcoZTfRJoIrWinKoJcJBaxRqfjrfErowo", "WewOSHQRIqVDZXknNTknWNfAQjuFmdmuhXJpcUqfmlINCGwtEEuIWLZNQkYYdipwTBYrXADcmEJUGeeAlkObFekOlMntHrPiNebxmIkyakMJqZWALMvVvFkZUfTKVbZcGnhSPpJmlufPjLuCiwNAbhCUtbAWfcUGDYWrSlSVtiwIXUVOETnrJOoamcZavklXTjfzbslxKmHhBgIpqfGfrKJTtxlNahVVchjrxtOiJgzcUPRGfYUITDuqFpdrykiN", "KVsWzAquRuOEYpivVnWQRzYyzCvfIXmDQVYmnUTpYIQsfBQzriliBXwkqwEjQxNuftshSCUxnvKqZAkVQqCSKUeJdFoLPvpaKaNJGMOOZwMJDXbssrESJmzIBIfNEAxghaRMFqiWbApNglxDtFaPUrBMCWkgonJnGsOygJDTZAoQVbhvNMdUUbwVSXlLNLmLwRakMNBckrmAeQELXYvFVBVfDudxYJIiwWRISnZvUAcYikdFhCNWsPXJdcHfpSIZ", "NQRrjDPprHhgoNzvuWgTIVylSUVaoHVEAEknJNDJESTJTWbzDFwFFULGITGzErUOAuQOIUOMftzCBJYhYAOvtpvGBXniHLGPvuBeAdpBXmFjCkchJfBGAiRabNyvZQbLaMXvxcIYKNgoFsvOMBQUFHmHiMUGfHAnRjMooskzpZddDDKooSCRFCkbNznrPUkWBTqGRiFKEmYlbeemJaDXAAKNqBgGIxGuDeNeFFUxMcFspjjGEvKMZMMKdFNOSTAw", "fkAFYtLnIhIwArYCxrjQApOpmPfAqJxSKaPrprvtrcqlLXSZsKKEOqFiEYNdpqHBENhxJkudvwPuSuOVxXBrHylflmqttauPuvnJCuTvHWpqsIUVRhrwwJlgoNvUfqPlZEIxwbKHZdZNNuMnvzmVVQNrqCLaUEcmdVTdwMBLjAFWVdpkRELjdOWqPmOaeDQgOvsCxLRGsLcfJWQrFpQhAKhULozlMuRmeYcZYHdoFjkjbSpmaVddEhWSYqvUrdVC", "vfCmhmRCNXIzeyzQPZBekNmqnzhouBEflmrvGtflHOCsgZKJukHlCvFLIbjwPYdHMkfBWMnRpoyWoKLqhRNiBztseXvEYUEWpBUyvreMUpudfzvxecfNvrSuoVRKuSBeiSaXOozCQQvtzUrLMkuLhgKbXPMjPFnsUWSKfrgAhUoaUCxJzvaNDGGklUnrJuBxsHMCIqSNVHMejdFjxKAnoVwldDuscZHkjSkyZjydzjmDTbxNibJMQRvKcuyVGmcE", "jORjNvBOwNMdgVywInzNaGfavqTrmVpJHUWMpYprZoLffqcMgXatMFkxzkxdNfNZqZgrSWhrtXMlBRqZVqtMFVoVaUJPJHfaDaqbjXSPkJqNUbIsFFdEWcPIXACehyUTmBQPdpsGFuFBQcBFEQEmAtlgigFtqwyKsQzZktqABtMepRYEasVmbQzzcPYaRvygoEfFEwvCSatCruWYWaDNPLovtxiAAgsQaRjYqoNBmmyIrfzxWUCgOKKowaWwIApd", "BQhdQPzbjlcGCFFMaGiYAbXODlNCoFteaIGRguiROGQVqXHOQUqDeyjUhipDFiFCNljTqtWVdZfkwnqPGVCfoIXcbnkbryMOYIyZKZsYDpbvHewXVuREgGwKxBzjGohqxZlLzmTlCJaiNMPMJJlxtLsixhNQuAsNdEGeNwezBqISWTBgnadDcBUbOfbntQiZqTFPsRpPpYVMHaxslYPXATzuQsbWcNRPhIfwFQZfXAzveFiYivYKBvrqVgeNmwtV", "dsCtZYfxObRsjlqsNxCkLiANmGucYeDwooVbhWkDmVtaHVrSpSOGrerTxcfGQFrSBywZKPNRkpepsFkXUvJqxaKbtbnddjXpmwUoUeReRlHsJIZbEGnPFbFWlFiwKwwYrZdzpIrgLWtRNgCANbxvCGXswfWGAaNZzOKYrhqRpmNMMiJLvmeqkedBMkyAlTSkvnWQWhOkIBvfccJQPcKjwjHmbGkrBItLGpkvIPzWtzLxnIZQUXbZpNwMcOEtbGvk", "fUHOYDshUaIHukALrJBUCMcnVFVUgwBfghsMKVUsQATPGnGMmcbQEFnJORRpYJoOKfHpTVUoFgozQgPSvgkQirbvmLOfzkDJrptoOdKgcSJSjRfBCpmqsOsjuRGdLbgwSnYHOvXbTebSIKyyNkmZznpDGkyJXUOqjlOlKbtXabbaRSQtlDWcxKSHJafFpoakGijXQpFirXKiHvIJiIPySujFURjMRVASJlwbDoqUbZJiGDWHIHJzmfhrsFGGxwtS", "qlCUdOaRoEWQJucNpdcBrMCEmdaNuBrjWOTKEHHrcVDRODPCuukPzsnuYLLGQwoXPCNTUzEncqcotDFAEvtloZXQMjBzeSuAzUquMbgBwGcPSqfTYoVRsJBWfENXwLpDcJbUndHZhQeffGxTjIDkEZRRfykmOxwFCLizcmSwMKNPKjcyHuiUUfQHFCiGTDlygMvNnEzXxcbIMLeYvibMsTryBMmTRlRLSANTsVtEdPuCbGGYgjYzTvMvXLbFOcJs", "sTVZcJscPoMajDPHyEpFLhhDkhSThOhQezTDLkcBiATfynoUGyhXBFpHgmXqOjoIwowKtcXgYHBThXsyoETVothhpboKxweiSLwygLqULSIIQjpHcJUXYPWnbMHeaihOmgDsnEqZwFVdfYuQyvKdRIjlYorOSxAzhYdiKLXNDwKdlTtmlGwoZzrOHgsaqtNnIKpPtemEAZxriijDEbcMsxKIowhSMkbadnuPnoRpnBmcEGdHbOSMabNzyVUMwCRl", "TflWUkexIlPEpVTZwlDxDlsxWTUjtRAQrYgKcqkFFnfOVynQxOcXasJCeAGIGIysRhtQRanzpAcyxWGGnenUUldlRYWeRWMrKprxRALZJOrjilQMzNpbddfvdKhWftQbNcgktrKctSKJRWsCFzRakVrrDSooXmjhjEQSoTRAqVGnpXsYQiJCrHspjxvDjVrXVxnBJAsGzkDFVWMsoMcgxlqNsgidsXJLUAeiohpvNXCiinbYBOdebAnkcljMKiWU", "jAgjkmuRDCgxsQmaabFcmizqVrVqWVzSAuKvwNXuxyYWerXxhRgcnnfvALsTdUqGQDoZoYYBorJNCkpFCJptCAmNyFDzmHRReHOoieTZtlJnEvbVYFSFitSrIQrsQOhiVLGkprHRSoebWvKdXYNSFmcrstLmCkgKEYxEtggMnutFhsAzKImbVlOeXgCaISOowhFJQbkeULzePkhmxGtKJndZeVdwtZNMyLXWWsZcYWZHlvFNhbzDDUxEzGLykzHP", "ebjgvFKjgFcmAAiXDFZQzapaNoVVOvZCBBJJHyoUQJzjMWfNIusUzbzagFBTYVZUdjSRMYhKZvJRjLmADojwSwxqBnEWJlqLqIVcANKRSfdNtFhiOuGeoMVulHeTtsIMtGiCPdkYAcLuxjIiLkbENIwaDhtDbKsiMYdLsyZjYeJekULFyhQqyuvVTcvhZZUjQHJjwXWmvDZCWYwAQkZgLoLXRpsNPLfDkaHszDddZmGNyRdVzspGjLTefRWDOAsQ"],"c_array_ipv6":["ZRziJbidTs", "FbRBSsBvzD", "NxWwmcySbW", "AJbrDTYGeS", "hmsaYsQyvh", "SGWutbXaZm", "bQchYZflvK", "IJqvaphwKV", "fXSYtgBPVM", "MXXfnfQhmz", "uhWnjAOMIj", "ACmDTMhYYw", "bArXHrrDSO", "btdZXDwIiw", "RarQqTTcDm", "mDHTnJUKai", "ldprLYEElg", "KrKjfhkqhu", "wcrBOCWWBw", "PsGXImsYdF", "eeBoVsNsdc", "TXkGsstWyv", "tdVbdqUdMK", "iLkngKrYDc", "QfOzFWSKAv"],"c_map_largeint":{"c_map_largeint_1":-5640457024182535842, "c_map_largeint_2":3657557138510163644, "c_map_largeint_3":5859732828445800006, "c_map_largeint_4":-8176376056823607097, "c_map_largeint_5":7223236920398027267, "c_map_largeint_6":-8805713534742315646, "c_map_largeint_7":1519328029948445677, "c_map_largeint_8":-7752957057761389659, "c_map_largeint_9":8121731422250553508, "c_map_largeint_10":-7162423099159356000},"c_map_char":{"c_map_char_1":"lQNpeuFqcq", "c_map_char_2":"LdtdKUOPQx", "c_map_char_3":"PBfKkQocyq", "c_map_char_4":"dCtLvCPsVb", "c_map_char_5":"CBqixDQEcg", "c_map_char_6":"OCScEMeEvA", "c_map_char_7":"TkdxiGtCwb", "c_map_char_8":"EUAFuXzqok", "c_map_char_9":"ZwIQflZKRo", "c_map_char_10":"mJgUyamJAl"},"c_map_string":{"c_map_string_1":"AeDlkvwHVhMfLwTljOAtplnedVxGxjXGiqMxVEFyoiVQSUFFpXOcyAeDjsZEPOAEkpPPzXjClduccOrebZMZVzqlmbhFJpdhLWmkwPXRpRcaaSKaAIQEexCAArgbjzDxWEWSwcaKhhKVTIXKRgiWGgqumeHPHIrUQmPxPuCemNcLlMlGuJrJeSAIiaXjXgcLneTTqvzNYbUEpUOUJsyawKDmXkJrSxynWjqEfQEALiezWWkeaqvcyCoiiiosHJRRFlIRcHxVrgSrPjBuHKstpzVxYEHqAHFAivWrepzLjdLmhPVwEncJqNZdaUXKsGpfXwTNEuVMXBaoyiJazzUnhZCycTEMOZJxFROeiVTTpYUCohqsiKbfNrwDvzlBUDsirfTTocGibybqPCMEtALEyGdUxmSUYfnuIOVUXFVWreGbwyzuTTdZdeWHbkGtlMtUWdSFcejERhLgwsNUShtLHTUPIVMPDogCgFoYPEhVbkNAyAChSWkweUGbrHGDRVFQ", "c_map_string_2":"onKzaiCAGumlTPiGlSVZFxjaHFSXGHMSBryxeaVGiYDXfVwHCqqjKasoWsdgytVUWujzZRGdwbMeWFCUQPrjSqnVItWbjeIYaqlAHQrlNmyoXPKKtpvFlKkDfmwnzmtlOZdrojLQhkEpzwGRsFDCKekkKrzWUlEXzqLylnTQjGFrQFMfQWUhgfqcYEqBxhGqewEuUcgevNYWmWATVvpdhZwyqxxBujiVgXGdlVrlMRTvriqWSkNIAzBhlTxksTKXVPexZCSZnqJcLdGdYLaajbwSmUasobllEaWuvZjKqvNjQKVFMTZSHlJBlncTDQvkPyzfvljvozLzpOCYBQjnsqyiDNwrMjVbzfxMKyUTVUbBASonDwqiqArgWnGKgPFhFgJmiSFYarxwVFsqCMrqAQWurcspiYeZLfQEXKGfaHDlIDIORzMraSKFkktXCITcmrbKnYwCRjBiXRHvftVLdWgIwjbWcJCkIkKukUiqkAJMOZAeQpByCCEYEmxQbpKu", "c_map_string_3":"PvkytkOYSlrzrxNWhOHzpQIEHlXgJlEcuZIoUvIZzmljYrObTtvcvucvZDobZFQEIeBQHiYbuBmLcBEtrQivkGPLikAcqsMDATLQqEdhVpuObBXRXwoltuIZcrdlUEbIHOERxGvbNLOmWKIBBmkiEdgWcxARPiygeizCFBAvgwCzogInoJqtNCwgrGBREIJpviYcuwbRJbEIYXwoFLTmRpxFGoPQvzyVOBgEcwxQePqpREbAILUahIoVIdMkTZSUghULkDmYQUMaaHPDTRCYSOEgSFNaYEnALREWsQdJKAkiGMAmMpZowRCnWNRpiZdipxXtElhtCwOKRqdnMnwdWwpGypyOjTWVLGRYSjZRTXUinOtmvTTMoTCFxtxhVgSGqpJJUCFChSEDQvTCgQRNhdzgYiigkjhjhtTLzEXkZtTAbCpwvDlErLUDpaVovHcPnkDcGPZfgMLjGkNlhukwELfpGsCKVqIfRDeTGlgoFIrekvydnwisxOevxchGUraC", "c_map_string_4":"XkRWIstOPQDaPwfaytgwLrkrgKIVAGIcKJfEpSPxNkLiKQWhHePaauWpjkevKrPEzCrDQONJPUUUjUkTjTYjtlMHheoQscscKIjKdhquDfpMsUvupQDaNqyQViUtVtRxbjkweQzVXbdVgpRNXeJZKEYGUpwqBrkpxqQwNypNgXYPkQuBUZtGMfYZTsEOzrgtvgtEVMDdZajujpuoknuLwbGFoAgycLNJxpurQxEjyODGkEOAnwuuDnUOVVIQAGZDOFFjtVQNefQXqfPrDURyOTpGSAaSjpAqUPUWUUXycCRAJVqkbVmtwDkgDmflCXddlNurKsjwoQBmFkuNPsHbpfizRwUrYuGPkeqUTWeYjJwBlNayUGwdkpXWhrEWhdjVwLXembBWQyfFEKUuFrmcNXCHRFHYxqnZAxDWaRbfafpreQsrERKNRbfToNVxXRuWfuuLNTVoiesTTZxqhFsphKFfobcvbmGqXkqVKbKzlBXwesVmBxWUQcvpeDAyZnZW", "c_map_string_5":"SUoOPzLYFLCeYkRIsEsGrgcMlACcORsxSULPeXWMhgQCcRnFcQEftdplQcbPKsvZCfCleVMwOlnhqZdkLrwgYxzAiTlHwIoeCEmWoIbvMNImUoattcpbSsmsWdftWbVhXTMpGRWwjRsKttnSOcFBsZwYnfniJVQmOltoimcJbQzBnKpabolTCAajvmlfcOBYbtKOJUIKHKiKXRqnUHtAVYOymEyvlTJgxBGhHfrrDZMVXSQeujnrZQSPNOEZKjACupKxofqzQrKAtBMYKJYcKijPSEviLyrZzEqsXeWDgDdsoXZFqQIHSdEMeLJkLGUayeoePRdgPEhFGgoVXrqKKtaSqGAbetkIMWzLLuVoimNxYmsbhwzSTJTphuwaktbdMciXcFYbLVSljWNcisYWTbSeHmVLxrOAiKHlxNPXXbtXkgjDaweryCniXBjWKAHTYWhpRpeYUNjIGXcfvNTUUXQEOdqWvTbHBpobBwbkXQgZwDkgjeNQXHbFxCrmEwam", "c_map_string_6":"JCNAXWkJNsUeTbMwrQUuODGGBReRSyXGrmvhnWjEPWhmaPhZMNdDHmNAmEybfdmAwlaNAHBIQsTHUfMTThGxexyTkivBrruFdoiHujihQCgjcIrCMVoZpwBwaxvghXxJNfTVABOHXiImjOcRJsYMIcXCdKwySSRPzVXBKeWAkyBBzQnpBANxOQQhnrbuOncPcoAVjSCkvdrLhmrZVvoWQWZnqorhxMwnTeNFiudVcrzesCkDLRzIbYbHvhhzXGamUPBXgzeEUieDgFchuSifsSposQOVZUEGagIYeRNzYZDkIzGLeXURnTRuuBbkGmBQoJhexEYdFZlQLZPJSWsjPXpNnlntRPcErPbYoMgPrBibmgWlujmuJdMoDyiDGWCVmtISXpAsyuSTNViKvmTraMEtoecpZFbQrCkFVLBwQNBTUcvCtcXyDjJCOPuWRfHkhvfVGpjHXmygfkhEBiGjKERgqQFdaBMMdAKanSteaOPhbnqDstfKJdDHDCaAVGWe", "c_map_string_7":"lLafjdWliuunnOCFOCabIreuUKQojHUbWqKVCEQdvTGudbbpwrkKrGdlfOzNUVorAbdSZNxipleebTmWoAhdHkWjJNIPOJaXbMswyqzsKMalCVbqGATtTterxTdeRMxjTSJbnEPufipfKtZjASWaAdMyDZSQQOEeodluOSECkqtdNUHUzobgVzkePUiqekGJBvWqvLiQwYUWYopJsjTyHFUgtKAsHkPkupEvwNMiVDKrBAgNXceExHdmDNGaICcRyPQNpiUZFIIkdyGfmCJOrULjYFPBIETFsMIfvcogxvVvfornejtcmuRKMFlCYXhktfFHEQCWMxNTKBxhccqTNLohWdpZpUYsVJTjWVIeFNrCmDibyIktleAdfszJdtygZyaOFjhnHBwBmHiYLWaTTAwUVjHxtTvIvxHUHUqQAatzUsCPNdpFXtaXquafepsTZBaTNlgUiJEYobpCVrLNtDxGrBXyjogPhKVOhihIHatKwvvJBKsPanGIhogExaLS", "c_map_string_8":"avoDdxndwarZbaJokwYsqmTIABiCLWMHsfeCpuHetgsijWSvRSMoSJmPwWnhjFhVPNSkhHyhdkUUiwMzgexttzHewHBublKfOCTBxtKnnbCmKHlnPsqBFxOUXWENVTDOIKbBSOgyyiNAPbhuEpFdTRCJXcaDMRKRJQnxxnltfRGJHNALKSbsclUqAYbTMROwdVCfBxtMlMMHHlTrffJUuLEJJIoKYvEZbWdIOndvzwXVBOEZuXCcPBMFKVSZuPviwWIyClecikxZzzPjHwioqGIGQAuWWvEySKSiKpAENGbOVWDDSBXrfSradGkRdbeFxCfrbGbgKoAvwsySLKpbdmZHQbijLZchSLafUuipsMMYcjqYkMSFMYGpatuGZNbztlkSOTdgHUdlNyIxPHVStVIusYTeICKtjxKEZvxMvWRdyxYSORyytdYCzvicgMTZCkyiHRmSOAtmOlXDgqNgZuPSrNRezPlgRmgEZoSDGCluxCinINUzxeSeONHXOPvs", "c_map_string_9":"hiHQZxaoATotVEYMhzpACFgPdkRnMIqKzcRdVqfBDJlHqhlMWBTkIDOtRrSXJZChYAlYrxnwIrHKRKQyiqtrXTNlEcitXEhveFOgcMWoysNiUVWeaYqcFwYULENdNfpLvdmRHozgqvMLYnmgXoNbUOHHNBmljMKlMHAqrXAsIhjMgjaDgQOdhNzXvvJEXHPFtjuQABOzKQNOQxtYtXFsNHcrzzlVyLGpDxIlAMzYXzXplWcKSTSDxRoxXSuVbUTlhKBFkSOWwbgGroMmcaXWEKFNWXXTBCHCsEnPZodgnNkZGsuSLWlzJtMqblRTwjHdglkTlJpHnpaXHHDiqfTIfaZzAcJUYlnDiyKWkCaTBPcXgbDkhxoXxnMyEjeWRVjRcrnAyaDnLtxbSbkvkLBgjMudXaHsRomvAnZHfylBwkmpdHGHbyvtncyrOqOvjsDazSyYHBRpLamoCShyMjGqDeBANBEUyYAGlvrYrzbtTGvGqIcUokpiKWcqkphicAKU", "c_map_string_10":"VDYGIkOsFAfKqVbMvgYLwOinrAygONrbsAlevnKsVpuYYDIDKhcbighCynbXGGDRoTjnKZgMWLvNuBVJwhVzVSKUXMBNYfKQLeLQYHdZRWVJvPfnzmfqhoaVxAMlazwSEjgCXwbAKdXdkSvfxpHaJgKhPJdZIqWUdyDNuzugiSrdiNCtEbVbifaVtGrychfwdfTNbtfujUIXBIkUUFUYwPYMFvKhJTJYxxciVqxCejRYymUVelOtncBWilkYAOxnIqOYraDaayktGYOwgcAYZTRtLMmHZZKEXxEYQjAaiJHmHwItkpzEMpJaBTVrXXJPpzLWZskcFwnTBsVsCHxBFGZnQeRrKqFHuowXKjSSDvmDcfJvmoszmxVicoOAjGaLuooLCrzjxSBcPyofLVKvUiOGBGPJRRMgbcXYTpinvgUVhrHBdZiyUyZtPimWRnFqTUJRZTSYRNVvHCuLGmHboWjlcKURJFUFBlxYCaxoctbISCFMuZnUrvWqFAgaxOrF"},"c_bigint":-7774666292441132380,"c_date":"2007-07-05","c_array_bigint":[-3829011619464129291, -4092838360994799612, -1269310420354337771, 6298450988956356122, -1632271815226758941, 282956729809254907, -5493763734747697675, 3686572346917099707, 9025287549774178325, -231844721757668984, 8164812845072153977, 5248388960057858974, -9151755732247152914, -7698606226489940339, -5849052130174561599, 3736461226545708513, -727710943934391719, 5948113983605239122, 8865241585853446714, -1234348336732462676, -5699578320718518204, -372107830428376770, 6784586749924562215, -5801875348219186484, 5610119840381069558],"c_array_datetime":["2018-12-26 07:07:11", "2016-12-18 18:22:32", "2000-11-07 18:35:57", "2013-12-01 09:19:22", "2009-06-07 10:24:42", "2003-09-12 23:29:13", "2007-02-18 02:59:08", "2002-05-26 08:34:19", "2006-11-20 20:55:01", "2009-01-14 03:38:12", "2013-10-27 04:04:55", "2017-02-24 18:10:57", "2005-08-02 06:20:03", "2017-05-23 10:51:53", "2011-03-16 06:06:20", "2001-11-24 21:42:53", "2013-10-26 21:20:09", "2009-10-02 00:58:15", "2005-09-08 08:08:04", "2015-03-07 19:11:03", "2015-05-17 17:00:29", "2012-07-20 14:20:25", "2003-12-27 11:45:02", "2015-04-05 10:14:42", "2010-10-01 00:29:39"],"c_map_ipv6":{"c_map_ipv6_1":"75b0:3fdd:1e78:e43b:7b6f:a7e5:a058:71d4", "c_map_ipv6_2":"f87a:be16:9823:b776:95d4:e44e:b037:a5f9", "c_map_ipv6_3":"5982:f96d:6329:9fcd:2ed:58cf:756a:e779", "c_map_ipv6_4":"b409:bc04:cae4:7a9e:b001:4df9:4611:1926", "c_map_ipv6_5":"28dc:5e49:aaa7:4188:3960:7a31:8239:63eb", "c_map_ipv6_6":"62e5:c1cd:390c:ae5:a916:b3b3:3544:4f04", "c_map_ipv6_7":"7e28:ad6d:a3ba:4c9e:ffd2:29bb:9d64:b820", "c_map_ipv6_8":"d985:de39:3263:dbc1:fc7d:a7cd:3edb:c05", "c_map_ipv6_9":"9658:68a7:3b33:770b:1166:9685:2b98:6f1f", "c_map_ipv6_10":"61f:1b4f:3852:9924:746c:d22b:b067:c503"},"c_float":99.68503,"c_double":3.9859292849876637,"c_datetime":"2016-09-21 02:38:56","c_array_double":[78.75651117622249, 55.3946246856258, 54.27036859442999, 28.52546493242509, 48.804345676730456, 84.33712875155392, 37.2457839705111, 11.984905843139721, 9.216529716822308, 78.94617484372905, 56.79371535109911, 27.043855372548915, 21.069887864951514, 69.10868926659873, 92.07481670282633, 64.18973484642447, 61.74399535417496, 49.10772173481865, 59.7177547542547, 96.99364797900171, 31.609668575551684, 6.519132756941249, 83.05276734488821, 11.66653557647621, 97.24142151691574],"c_map_int":{"c_map_int_1":330849162, "c_map_int_2":422583788, "c_map_int_3":-1068480096, "c_map_int_4":336152575, "c_map_int_5":-1756326667, "c_map_int_6":1170955917, "c_map_int_7":-411098522, "c_map_int_8":-1281968907, "c_map_int_9":295493823, "c_map_int_10":-1293041694},"c_map_double":{"c_map_double_1":24.03255641242903, "c_map_double_2":3.385550565911752, "c_map_double_3":67.78870330082579, "c_map_double_4":92.88877203057089, "c_map_double_5":6.216992194645118, "c_map_double_6":85.56565269063601, "c_map_double_7":88.56668442735324, "c_map_double_8":7.276607208145609, "c_map_double_9":25.108998497714097, "c_map_double_10":90.29260156994239},"c_map_datetime":{"c_map_datetime_1":"2006-09-06 13:12:01", "c_map_datetime_2":"2002-09-26 11:47:58", "c_map_datetime_3":"2000-09-05 16:33:32", "c_map_datetime_4":"2012-05-04 19:28:44", "c_map_datetime_5":"2012-11-22 15:48:44", "c_map_datetime_6":"2013-09-07 10:37:53", "c_map_datetime_7":"2013-03-10 01:37:15", "c_map_datetime_8":"2012-05-01 11:58:29", "c_map_datetime_9":"2018-09-28 14:21:00", "c_map_datetime_10":"2005-09-01 17:04:19"},"c_int":1192688875,"c_varchar":"oh","c_array_boolean":[1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1],"c_array_largeint":[-6461340993282451238, 7756063900555201680, -7417807239865509217, 1676968166799690731, -3874675603828310386, 986461024175419724, 9189902205621200971, -7149473822993449672, -1556928466316371559, 2392121197151726761, -5046268251145854663, 4860014725768278571, -7160923829951109412, 6015802532404658195, 135130018595420603, -8873603298466933741, -6722176423564462693, -8070581317311849939, 2759992673306252118, 8743904675809439449, 8865052108088476740, 7697580373670926434, 4399048234321233428, 8229898138156437535, -4445532662550422830],"c_array_char":["migXXxxWxd", "eYZUotoRKc", "qLJJfmgVqS", "pIxngEaYMn", "ECCYdJSVce", "BhsYwZrwcV", "eHbNYAAnXi", "uRGcbRHMAD", "sGriGuhYrr", "haBpcmQYiK", "BnNBrQxNeI", "untYHFFblD", "HpIPXVAAev", "ORwqsPNnBD", "FvEdwZMpuJ", "QWJsPgYtBI", "kfjyQgtxFQ", "bZKiJJGyfi", "urcayCWfwE", "ksHPWCfPDt", "aDxgBVATBK", "lwtJvVOhdQ", "jDdQnbAznr", "gfSrIzHzCF", "LJtQLlQGNI"],"c_map_float":{"c_map_float_1":51.21782, "c_map_float_2":35.443874, "c_map_float_3":47.515816, "c_map_float_4":45.99331, "c_map_float_5":54.344322, "c_map_float_6":3.8396544, "c_map_float_7":94.641266, "c_map_float_8":39.62572, "c_map_float_9":51.419647, "c_map_float_10":10.08408},"c_decimal":71.1035,"c_array_date":["2006-07-26", "2004-11-05", "2014-02-11", "2014-02-14", "2000-06-03", "2012-04-08", "2013-05-01", "2001-01-14", "2009-04-28", "2000-07-10", "2015-08-12", "2015-02-26", "2018-11-26", "2010-08-26", "2001-12-20", "2011-08-04", "2003-11-25", "2007-02-08", "2013-07-09", "2001-07-09", "2013-04-10", "2016-03-16", "2011-08-23", "2009-03-19", "2012-12-17"],"c_string":"HWZRucxLMkVzSlNvSnhapEpWvMOgbgKiKiCsiBvwYxeiSDpuIhoGGJUYSFvkKURyZpQTkaQNSIjHPdFBtkVlkWvWgYmkpHeUXiDhUEIsvfjnSWJUYPUileHUvbSAXrBPefYYYFifKZJEoLWiQPxzxeZUgtmhNFkYhqhdScChyAFnaRfNLJTObJICNVRzscLvMkvOdentNyzHUPCpADzBCMZqLoeTjgDHgMaVZhXrqgZNPwNClMMKHbgAeArbeoDyYvUoIpvpPLbXIgcMJgFFJLCMNBJhCKetHlttORMnkElkkZjnLHNMYXIpGXTJdfhsKvEvmAVKkbqnRoLiEMQTMEaVNpZYGqzEnqmuEoUTEDkkjsqdhhEMWimWIojKURAanXokTzVthZhTeKxXKSXssgCNiwtaLjHaukSkAIYcwrkRkIoUuTzXPzwTrZCzAMvJPLSliSEPvUAkjWttUlWABcedQhGRcXFLwRpzWFrNrixzKYrCYKeOHKbYFoNzdeBR","c_array_decimal":[82.1476, 74.0711, 78.1552, 8.1798, 55.0411, 82.0305, 66.0543, 3.0966, 31.0365, 65.1180, 14.1919, 50.0708, 40.1265, 76.1309, 82.1479, 90.0222, 75.0839, 53.1080, 52.1245, 3.1756, 37.1763, 30.0518, 7.1954, 68.1437, 37.1014],"c_map_date":{"c_map_date_1":"2006-04-08", "c_map_date_2":"2005-04-27", "c_map_date_3":"2018-09-09", "c_map_date_4":"2004-11-02", "c_map_date_5":"2003-07-11", "c_map_date_6":"2015-12-07", "c_map_date_7":"2015-04-28", "c_map_date_8":"2006-07-14", "c_map_date_9":"2015-02-11", "c_map_date_10":"2011-06-27"},"c_map_ipv4":{"c_map_ipv4_1":"232.81.213.72", "c_map_ipv4_2":"63.130.99.176", "c_map_ipv4_3":"130.122.251.212", "c_map_ipv4_4":"88.91.64.140", "c_map_ipv4_5":"190.123.54.38", "c_map_ipv4_6":"151.134.65.0", "c_map_ipv4_7":"169.33.199.162", "c_map_ipv4_8":"51.13.48.6", "c_map_ipv4_9":"228.18.152.87", "c_map_ipv4_10":"249.78.155.47"},"c_boolean":1,"c_char":"sykaNSgCDW","c_array_float":[26.663025, 1.8314193, 47.0113, 14.110276, 32.829777, 82.4028, 86.92191, 79.426506, 41.269726, 10.497365, 8.245337, 71.791, 51.854416, 4.8946548, 77.378006, 62.796326, 85.68507, 3.315267, 15.520523, 87.58238, 72.24756, 69.27277, 61.02758, 14.091731, 69.95635],"c_array_string":["yWIZaAcjJqFTFzRrBTTcrcttMkupWKhlOCRIPQpJVtlqjRzjsufpBJdcWXGXfcIBdELgiQcSOIpdSHBQwxDpUijNnWaYmTxCtbUoLxMTlobHUMlHZJMDVTJMcvoTVCObEwTmPxUYxHwQRzFjBrLnzJNCRqWVyBkudOiHXrZcfiPiluYbXboPHBUaiqMRsHjChYzylENokIoQRbZoIzHAbPXPyltJHTYilQByBDQTIJRfhrkpaQrEWaMuBefQWHbwKqiJgKVPRoCzHlhEcglHKpbNEobQPYhBqVWiFpWGrrsYLfSsalFODKEZcddNBKinCIQPUaypyrNVAmprULkrjOreUEPfMhEMnoHztDsCfXllgYFGzYFnzKtExbvHIWIplGzRHnLdnmJDZfdRWeVzjhOSVdjNxRGNiNrzPyStHsbJyXmesTLDjmXtuKctNwNeRMeLcGGiiOPlzqMfsMwHzlacRZaMLeouDEaKnkaBWbRzKZcqeAjbTEQhWoKXrZRz", "VmZbcpYsoicSYNCKnpbNGLPYNyAdAZiPvIFBpHYAvgFsiVWKjBOEkOqlJMcCfEmyCFkuIgnqZccTelnRiGIELgJDqblTtFBnioHDiOZbLFuvwSvTobeRLudMRYBcDfuFtHkclvDADzAkNDPaqicxlDyrgAVAisUPGRHdwrcRCXGSTFNQZhrhFxYfnSQFUrpgZyepQOYCVlKpuyhyZUOHsUkQMJXoyyWPaJhGOSulHqwOyVCrmtgIAIcxVClHINFmBmdPMiLPKYIeUWXoIzkzwaQybjdvGAEcSOkBgTgzgctSYAlBBAHeKzkmqSBgtuDMGuZpUxgKoPeJFvurWeoOirPuYZJucBpgRNytVXuFeuVUSRgMxPynzogwcVRfhukhJUTGlNQkINnemifXMhQQENudbJuYFtSOiVfsslHNqsHEnLXnTBPYwxchnWLzYDAXbpXTLcjrgzcIzWYvcThDUtYmADwpZLSwTiCKSWWHmYQhxYOWkPWQIVdobXaGIPau", "jciJIAdqlwGQLlkMBcbIfisvUYUlCqGoKATLfbOzQghfslrmBHQOdYBHRisSQMynYMeyfyYwjNaZMuAmcMoulqwgAqqwnHvIZsdQfeSrLVcVkuEvjcBYTltAdYHwEGjKyvCCdzOTpIAfSSKGweBujbEuOWfjVdmEGPCRppPNnoGeityaFVIcexIbBbyZIZnzidJqaVjlDLtppuBEwFbtqvUwUlXDahgpzBdvUjiEgiOjODGVnEenxeVcpkOAnHBIpMQnUTxlPPpsbmHrOybdeXiGxUOVURWmSzohRoQDItQZdqrsdvOexLwLznUJQWUglyZfnwiIZIGzBPXfufWgaYNwKoDZGBjizkNvevwUOaNuwZUsmDuYZYLeTXAKbXsGoLEEZcsOxFQHPqnGXYNuSSiHkPYqjvDJBvDygjFGHglScqzopuTxpEdKSZtSTCQQrXdzGZzlXOjwDypCfPTxYhFlxaEOXJzCZJamKCsASmUFCbQdCIZFePcLVOWbEeSh", "CYRjtiGBHAAOhyezoqbIlYiAKivSbvuGNudgKZvqWazLQKEcWTvBmJfdmjSsfoeituhTkVFVLSjkoCmsdhzeCpQSciKJkvJIKPzFMoMNLGoNIjnzuWUUbKJSnjEJeTiriBnzBUWgRTAAaMheHHDwiToFVVkKdBkIFQFDvXRxyDIxcukAzpOqkrBTkoTjVTebkkalaIfLpYgPERbDzBYScBDBGJIaPxQKmIMmZUBsAgxyQkbWzzWhzFUDLIgHybtrummsbQTvZAhxwoCPtEQVXAmMTVcrOzFbaKiaaullXDvswWJrdDBirkMLjcghbSJvBmoSgewsdfrjCsvgdZmgmoEmpocIoqergeVkNLxESbGNTnDYtUdebwwOzMJHUWVHCicSninKmtZOOSbIjlMjBBGDBxRSEGdTTepGOhxbXjIgbbbDoyeqAZvzfEhZCvQIaUidXXgSVOPuOojTtEkIKwrLScInpZMmuFUyhAyDHQLnsHWCPNcNmmAymEZxuyAV", "yKbKpOeUSikvgTvAAGYazVSVmUKVDCARBEEBucxQfaeVApENUWRzRZgMkrqMgxcOUYGMUfZRjSVfmfwluPbSDHFonATzEKImmdStfYzXGquVNerHQOFbWmDkkHRTQlUKBRenxwAQTRUQBiLPxDJEtaGxJWqgspkkWBVybWohdexwCtatZkVoKRMYQiQSEfHEcozzMYwEJMpILKvlPsxsQJQlGuaWSMaJJdioKEEKyNkveULefgwIGJTDUnxLUjVISuEMmRrbiEAAQHrDIIIgdRXgSJAjDhBJMRmrqnuPhbmGdHQOHYnNVVhErhDVUgWTbJNqTLbBciHNJZshwAZtNHbGDXlIuByRCvDYeUnFzypcCCXZjPHUlmqylgEFrEoFnsLplZEHvMHayJQKqNmxgqZfYqgEausZFpmxXeaAqsIYNrVfVyanrPGSKkXKubMSNdKwHVpzCIeMhEewDvSdBWtacgfvZptwPeQQKbSLaAeVcHLbFGpixPqctiorFXvN", "TYxhoPHIsYLxuIFvDnOoGuUVYKUxLCyUCMNmlWMkAxvobbReNIWRtIjZDkULvbFjsacIDQgVODORnMFhuOtyLIcHIpLZYCiBthwxVCuLFFaFsrsiyHyEsXrmPGpOTZkMXVhpNWbgxDWBZinuVXaZsxhgTrfdAQPErMYEkhxiOvQmxgNQqAndWrAUKKGYLdAAVFaIdodUxxoHyHtDoIlMxtBjJlCWMXvrKiHcpjnjWOWfveBiUXpSFKlarnlhaHWnZwnvdLepLGxiRtVjJZWEFWYuChYVmaLvrTXGQslSfoplvRyUIGkxBeRCXJqqlWITrSSDiuaUbToUrYDtkQSBdyIzwEuWossPCsQBGunSTYjqZYuuGKWQtiYBucMBBoSATERGutEXuSeFZcPfpHnJOKeyFprcDoZKqVCKQghyQoOyfHoMuEPzCaAWZSbMsSTLKLncIywadMEqHwcIygznKWxMmwUJFzSYEfcdsbFQPoUoWPxxCUhcDKmIwleCfNzM", "YYMMGLjWLZnHRXCDxabPvkrdmfjImvQjGtBWeNwUDBzCgAImQijboeMhWYkqbfXYeuoXbfXpYGSeSqUWFiPZMsZcseExeRoBqJHfkHFgdmZYfAtgiNdDaIohhVahTkmBIJMtOIyusrVXODKfmiPHhQBTzjYrJqAsjrGbKkoBZhkpELvuDfuXyKHhkcqghsZpvnCUlkrPFApChNiyXucaUsBwowRtqkxtGLAvWxGkDEcpPCgzhDazjcoqxDVzLGpGcGHkfKFoyvLYzSvkXwUyqvXWNnONSMsxprlBrJzGRBjRwmdKlQoRrEhTDDbcgMSbJtmJPaeWKjXbjQnzpQuhQIPlkQNQnqVgwBkwsSIUrTUDjqZTjkASpMQFFGRXuLArCTZnvQnfXMnDkCGYaVERinCSuvlgVFANJVdRmPjbqFSJiQixOVAKWUPUUYwBRVBCSIpbaLpZDuEdcLQIYohwOTyNccPHGDbpcmcEBbdinzInQlgoPKCNGIWVpyMjnjpk", "rBSsacqLxqhCMpJApDGsqLbpZfElbLNsZpSGaIpqfzRffmAcYPeuTxPIyUwXQlNYdMhwvWtanLIObtbEFArHsFdkPDeeiBeTtJPRWqPHLVzMACZrReCatDfREkqnwFxJReMgdcLyAMiaLcthacdRuhRAyZrcNqJEwxamGSzqSgSAblynovQMOHzBYxbixIBoWvzLWvvnnkMKcwyPhdPqQQrPnDreqAsVZsFQwUWYDVFnWjSbLDhjnogtgKekIijsDgPOuyJzxLIXtrTOvypNbcXhwiYtCpQPGCsGSPKsZTGURIRrxqjUuujBSMbEXrieYRZiEJPZCHgAWNvpOHOFPhWKRwcxJuoOijOmDnYINybxfONzeleWJloPdOAnltNUNrKFvoaOJaNPUbWAmOcLGYbcDBenfYyxDHXuKkjVSihhaAOFoIDuFRSvVopinWTeIEcyWsuWtHoZDkGpuFemwxDZliEQrSfDyMgJApzKQTIReKyScKzfBfvZqxQBeyve", "CqmqnMEMyeeYqplWaYLKYmYxiMnCXpCISPQlLyOjvhqGbEytCumnDfbKxgRUJHEsazBByNQKedhoimIRXVurLIwidAwwBABVQCXRJkCOYLBEsnWTNgAZdyRbiRbCmUimSKWZNHQKDIjQXhAEfDGdFGwRqeRgYfTjQDzOMapduyWANTlPBkKAcchZjfJZdkVNzerDGvwOxgrJUAXpaszmrTtiuIBjPKXwzuZjLJMeeTpgSglGDOaabBTMAaKZqLgmAaMAEVLNNpTPBhhVgieZKyyUYrggipVzrngwYyamoaytOOPdZEUJrpCKYcTGMYGVpfsbDAENuDeWxBbPAulJjUfHkCWDMCFztheXdLVlvqBNWIDWwsrXdHGDOstvRqvHlvFYbNEqXPMnOncmVztRWIAEihhxcYEAEWaWRbXfiLbUoMvoFLdPMhBnpMYwOECUmlYPyaZnFtSJtFnuIfrkEqjnqrkpghpmUBaAPJUXaQgnMfuNTFVLVqqmYXIlYFIk", "NCZwqQtEYhQJfujLkswcfWgZOspXqpeqHtczEqPNIjzSZhHvfBKRyIOgSuIRdLkAbTpWKUEvWZgPQbZrMaZnLrySZjZydlmyvnkbVjPCmEMIxVpFqcUvMrTVuGirTvVrUGmEmfyzAJtvrLaiJfPxtiibfTpidBCjVuAmBzBOTVZVFvYGNQZDDvWMizeNCqbXXmhgKaxRSTDjuqUOXQhxGezQrAojKGXrMOuzehVEGLFcBiaafUnwsSCAPAbbvkHesVOfifXxoALaHbyNRifzCniEnDGfbNSHgHJCfevlbXyWELVRkraSkXcGSSJnwJtXHkAVjDSBgnPWgXrcqByVGFwBzfEfZQtcTfhQFFNyVzkgSmbyaDRdPMcDAovOlOnLLhZoSAdxMUqyhIOShMfiMeZNMNTPQOySyqBrVFQaNDDYAtZKGOqaaxeMKlVPgaHpjUyrwHRYTHIvFFwhFOlwlkpGAkmZiPlplVsjxzzjQyKyJBfhAHloGDYzSrmAOVzz", "YPzUvMbPcorrEKuUeEpDuAVLiXiwuwUyCwHjFAmqDGTqIFIusIuMDUbOHVOHTWhaXZVbHpyElJBTpuSupiEOczeEwUwThkvywQXybUGboCbgSGxPkpwmPYGJGueVHrJNeVwIHuEyhPXJXhGOOywRawESNGeTMPkDonRYdJjzjMmlAcsVKRztmglFHFqbHgmrcnVXHDhfkyxpwukdkWrvYBUCIYsxjMyatycBJmLMSKPlnoamkfwNJPygSPoQRRxPIyUzjetETwbMPnWLAHjTHBWBJIzfztaPpIgiUJNrWNfQNqXfYCYIiAciQnunVpAdOlresDrNMEhUQghecYTMRRlIQjpAQXpwkwBOilfdtShsqXmhOCxziPaNJrMrnsbZqYCKvBLvWNZaZdLxexHBYhsbULnzhIdIyPGXxjeCwxsdlSliYqHZRhclgyrtZmuUDRmQLJiXuHVTZKKeZiVygdDYLenOUuDNCQZGSzTwFSndQBGoAcdtbZGrVQVGIAfq", "UkzNTkFlYWBqJzsZdjcdYFpiJBJrKzlNzNUaPpzelBZzFEHHHElxgnjgovUMWPHMVOoRfQQXYqCRnFYowSciKDwmhNjPYFQQSpUURDxnIrmIDyZQKNyfDbiVLUphvbzklGZupVfedDSNYLwegyaKEhpPHsJFVQmFRaqyZECCVFljWSlPtsHjIpcWnbEzMeyJPvqcpDYaVXsNlXmSpjipwDpKXOfJdENxNQKhJRNOOnaqhFrfcvruwHAQshtuUWqnbiOxRfZIHqazAyYPxQZmeWGmevgifkWAFuaFawEKShBNHUYDlEQLpmaDDdjVLQmheqXUiDRyHMWoEuZpcgGCLLwoyJppQfbNalusTgpmZxgbOWHIcUJScdBwMAZvWlFjXpMLwRtaPIVLtTgTDFAvDoAXoAzdhFomKQKUBzhzjMExmjLBoNeJelwvAhSTPMedCvOpjbxxveHfgmLKliCGpDLWVrbxqwoQXUMMLzdwBqgATszVdSfFqAlAaFGZjfiw", "zAhAyjlswAHhzUcOMEKbdBkjstUDYusmCpZgorpvOmUFQvUDJWLQmkfxlcDIeHeFVoxAnQQTzwdNvnnSOKYArXGHXyLSCJpgJjJynvLMqGrCYReXsgaxzqDtQaBzjVuVNgkecoMdRqbmnobBNXiVsHJfiKuIcITwZoWZooXqpouyrggwFmFoGilfnvOIUCnlBBJyCAiPrRWtcjmIxwPMsPzOzmPScDxTUylmvRZlotctUOlkQSCdfqZNSCgUdLARrZJRUGxHxqtEagdiWRiyBfvOIwBpdRxSdXrbsLnpxAiLhMnirEmeJEHWzbNThruoTqJpYWvwLnruSixXJNAVmZEHkCKpGFFcglEDeUZaIvIKRTbcxDMjpvrnsHNTuTkXRWtWJrvFDsKGYTvGJWdcrGkNeCcoKooJLGfcWjunSFpYCjfttwXrLeJKOdBgRweasYZDcVDkzHEImEswYWIwNNQsiTnsKypRPPtjTsoCisLJgMVdQUQFuwQGsuRNoLpm", "ZVivxwVfcSOJWssuPdvxrKaimRshYGwdjawmwKwifuDGptVhSbVQqkNpCKhqBCKcuatOTDcHHOWgPuRxouMZMuEWwoDqVMaNKMaftYJhcphieSimSyUXgSCrxnMMqdomnNdIuiFsgbbtNoRFKoMlWUnMETTwRpLsSpzvqtbbTgOwkPKdsuXibSnUsoQgsOUIYNsSEcgcmJtuqtBvjyPebBNLNAGcctZxQfKsZyYMAysxBbDngFPeWBMQFwybtzqcxxMKaZWeqUWPEhzahyeDVFniYPgYZlCnhpcHDwKKSblGbXrvpRgDXmBAyxVEvvrEGCysXoSlGlsKKNzMLmpqcXRBHzjbkjfWQfsYsDEoPyzDXcrCtXlsQIWlbURFgiwBUoKQHvPPazHycfSLuaMiMHcPdVkAeMMeIKqrGvOsldHCAkCAohQNDJEEIEMTgIaglexNCYEcKBGQGFymncvpjVaCJyKYkKCPSbaPVVFasZHowBTwLwmJAdXRAwbZykyQ", "UJYToApvtnjwonwidCZZtNMhwnLETDEBKlAZFzwKVIJEMYWktbedfqpESsScEZvwJXGDXvRhugVWBTipCcxPlHcoqDfblIPYtCHbazTNcXwOxvZTTLGfMdkUaFrAlYYgFgtMhCsbLWwKYJZftOVHAYsjNjDCBaRxNCJYzLTkJAPVmZGaqQREVSYOfWEBAtOGiCOxcRCzoqepxENPiwJkXbKtffPZEOMkoAoyImnbzYhMivZEZfHYPLvbCEMStjwasuhETcjOayxVajwkcPNyvkOXGQIiSrtKjxTNHdAdvCXPmKKFAipobuYSCglaKMJcfaxJJOnZYgxPTWuvOsbRLgwcjvGizlgOZESIvykSlYNzJkpCWoNSZqZdibfitixlnQsDeqNfvLePZEPjXSyLDOurMhiLUhrgdfqmmbDEmXqWrHkyKdqlKwOcgXNFJzrhTOsmhqBsBBVtRGpTDGaYSLNLmJDenTtaiycpXZrIvUumTGJtbSZByddxmCQQmtVz", "PkItWWyMbJtLnoDRVtQUHlVldUwZmLhTvRRwrMCbZPWHeEVONzChTGfEuXchgSYRBdqHLPVBOrpYHQphrNxFySlxaeQnsLgVMSXwpLKFbFSBWuiULMHbetglSVsAJWuTMRSQCdXkGpxCoDpiipDyLoTzWJJjHkolSiJPnFEDmYrLTPYWHCKumzORxvvSQBwDvuTgcJRZIEJtEhurRSkmVGGLuwpSZsbtymVbrRlNyFgUstrsEiNZetgOpGJXhBLgKXBJPIcaCbwirVVeGvonZTBZDxcNKvMykpIGJtYsmWGXbNqEByGdnXyVHTVGnIIMCBhfKbzLlrDKSxIofpzVxYsWfExcbRbiuQosTeVUhHNSttarqnZNGSTlhcisnCUKclkfSAAfXMCzkNRzAwArINsySvMsSepHLoeFTRXtzeJpEUaYKIewejiXxPlIjYacGpBQWjbVXtmpjsWnsjzUssRkNaEnLJkDivLeEgFeClCQBpfyROTpmVKOkfINOttr", "mOBhHSbFlDCOwETctpVXhpvfukqrHTMQVbUdyqGsulZksmAtBqgGyJblXtFhTkLEGIMmoQnrbgkdXUwFKkLdrUqqpTkbqyxyBVYRDVLAeNiBGKKtzSVXnZttyDKPFmqiCkAoepGkinGqBJiosAGBqBqUUlmUAqaRcgVWpfRjMjhVyOiJFkJGlCNqOGCBNyVhwDjCcYwkZnhiztQKrXUDwIQZqwAzMouZkgQYKjpqdbIROIjYgcbgDYnyqKYDdeUqevCUrtumQbOLfzMmMHQVHdZhfYCdmQLheQeagMYbYpttpcGQwjDTGdnBTQltWUTqKaVnNzNermeFGXcGVanpeolaLIoETkGDqDsPXRhtzdIKbUNgKOQhDMMIWDoNxudUfsNoqipjGvKvSNkwILZxjGdiMmPmjNdkeBoAIXzLLCQvmsrMKTmXTcVjzPqqueJstURkqFDpWAOUltBqqIBhMdmwqgYOnMcBMNSxiCJXOVnhYlQuOEqNAFgYgHedZFaY", "jQKcZMuTXbFopOxDywpfRuZiSqyisngtARyAWTlTwQrBeOnYCpZxEaDJKyzsQszUepLJxFGfrqODOxvYpTuefnQehddOecYfbdrMfkMtPGoETHjPBJZnpJTiLVZryouNFKKyRNePcleanMqNWzVZpIWdTlXqRkoDqdgsSqHAIVKrQDMgoJSVmSngPXKBHeTxSpvGxAcmBMYaPQrQgTDOaiPpBBTcwRawbmCUreGWNkWTYWeEIMNtEdvxwfGAuBWhWfHTGyzDBCCXlsdmPOAtYzmSUkgldnWnVXZPWErXxlAbMTgKYIXdFtTmupKtPHnIHyMoOlHjUTEadisMYZLCRayIRbIIzNCOQCecbElDACBSLVfNXoJPbRgMfTjQZnxOxZJOWSXDkkpIpDWDyHqQgzsELyDZeBhzywAQpJEmMHRHWhiwKfLjHIkbWgrqDxFqggNPMsVTuvoLicWUFSsKqsGOLJcTAbyfBAjNmATSmYCVuohBsAdAwxSGnrQCcfPY", "hCTZvwKcpANOUAOrSxibsQLbXVnnBWNKfbeUXRHqHjeEfnpddqYtlODebSbzJzAWlYULCDqFUxSUvYiwhaXWPFHLAZcelhDltCferoXUmnsdbApBAhlKXInvEuirsjeykprVUwngcJAfeKeJJxleMrViBaVhtRyTzQHnLfRFczYGhvmXyAXUkRBxtLnpfYKRPRpPnKFfoeVvKQaAvCutRlcPolSvjKdgBTLcLgCzEGAELREHfmVzEZUsPDyYflMfZidPMrIsWvTRQIRUMISwmbIOuSbPZdRfeaoLNGjSjVIYAXdghFThYSbvGASjfczyvnANeAQCAMdzUrmAvggSUIKdrIcOmCwYcMLJiEjNgFryotWgmALZeQKCrgmwyXrpwBIBnYeyDoyKraKvfImHkQuVBooCMBXDWBtvlztxxzMgHeUtsaEpNQyUUfWYPqwPtndwiuqmXHcIQKggxghGYUyJbrrytvudzqdVLRnmCQTpEZNUuQGWYUBiYGDaYvam", "LPZxnXPavnFeWlAYMBLWWgrnzwQiJTHpkOGuglyQTmzTgOZTurBssBUUJFhwFMgCKbBoynCWCWvYVFpwMJrfMLPgTTDxszHumwOSRzYKMhTseyhBfxYHkSjIMPRBNRRcSJcrydTbQfFqdfuHhxgCNgbGZCYYocEPEpihSiQqfGKodUbikBIkKxQxQAxbESLZPUoFqYzzSAyLyxbmGBmjJGlkIwbtRGhgiESQOSPHWtAHFojPStezSKPxsDtZecgdmTLCdvoDTOwIqbSFLVFPXFoUHHsnAtmyzwFijpQjCwrsrrxbzqhyerapBSvrBuTHKsmPQvMYpjEiWUSUTxlJMnHFSmCHLcYcLOGQcbbKYZLHMkUFLYwGGJgmmeZgGlwZGNbiIMZzjlNdkrnQXLDmqUfbnblOPnCStkBHHhujTupTiypmYtpHDnrwrFcEtuPWEUEdPsXjfjIKDpAkoVuTxlndiAJismhndtfMOjSoseZAWZMwtkZWTgFAzQaxmWOX", "KLGLLSomhQUxeGZUWbrNCrdsPsxGustkvKqMQiiaiiKbGDOfgLgzuWFiCsWRVxNKMcrFNdxpgDygHOAdGZhFLlJJtgMrezUXfZsEKXMkPJgEkFTLxVmOSFZksrnsrhoCsJFjeWNMYpBvWNXVXZprXvHxkyOsrhidZILlaHWgyUjRLYaznjQAMzBImTSCxPgnIxwPmjdNFAlZnfRdZJWUkpQdnVDjhqryjaTopnHCLcObfUArIaPGemtaPeLmDzkAEfCHVMIoCayYRGJJVxXazlNxDcYHYbupSgvhYJxDzweZXVpBTsLlUZzxqFXGPHpWXQBBvdAFldIMSzNFGDvhxicIlfMspwauvUmHzSoJeagqqQOTvtjjzOiIScSgMdekxROgUhnbfWWTjgbWTKQBXhgBPwtrkhzzmhvIDJgoPYfkxoVkmgkVPfengevVQsjiVuedRJfoIesxDkOnnlfYYzwZbXuUbnyaYmgElQFCqbcSHpJgXKKQbvNWyRhrHHej", "EGrOoatichsMAXWnppzmWSvdoUPHfuNbLdwIBSUGOuubieARFTpHSbBftrrOVKzMOXcvSOGxIkEStbGpINMoSXHmRHsFlsCtYboQebkqOvPzXMCPaalYSRvITThtjfWYOrkvXKQGlckcXkWxygwMhJSYfQedZvkJUeCyCJRrdcWreHORwiVKjfagAvbpKclMBkXYLcdAEhCeroQyyGPbFBYJmEQzLGCNzfDgRLnczqzYLTRlRBAbVfMQRkeNaEJXAKhiHhUfmhUmuxbGzmNXygIYsKepzpSDqaehxoWnZHUpJvMvRZQnjKJdGXmMpACmMpwlyKDgvRlgluFglSDUclxWwtvCseeBJHSAozmFltEzdVBaTUHJqLhDFdKvAcIYiSCSOCwkLHczMTLFFpUApnhIBfHAKMDuslcYWpBNeoTQJsfEheGDPtrfSsAAcBiKTRUdDvAHgbBdfKwjouZvjsIulgdIfMoodFszNnHbwZVhpNgFnTXrDzBHhafdGcgs", "UUkzaHRmBtAILXlKZcdsPrbynEAusWGyntnRhJkXXEHXXhtQZbfJHLAHnWgAVvEcIKqQQDvinHBNxWmLcDkejsLYqClnUuwdbhBhjmaCZqBISQzgdLRElpsesJdlzyTqfCycIdusydNISNXqqYWVONkiQohsPROZzgBsnbNlKJoVNloOBYSrOTjUUxORwhHnUdoDHQGnPQtqFwdXcrPtljGtelOJcwjUCoMiOtOvVGIFDjthCjqBYMKtVitOQoVmMfMiNMguFRPJYwxaqpaqZbuItXjaZJWZqXWDHbSnwjgRfkOhsraxrrxHSXJvVJjdxqcmZhMXMretjzdpwWccfTUIsrTrUMXRloLcfojvkjWbLrYINpSHPtnXYCKvlFpzItlhhCRRBdONScTNKpkhceCPTIsPeonIsAbzbEqWRtSTiIvLWKXhDezRinMCsflOQFgNtLmzxnAZVzKHMWCQoITPopnbgCirgZjbBQSqzHASiGJVVxJRopXBgRrIJpqb", "yprLdRuhNNFiNHMuzgPKBlZYPamCmbjkvcSpSvgwXvcIHXqkLLRmdLPJEfOQeHfrBkkKcIArqrxrFoqIqVqhTdSwvyNLneqIosCUuBgrIbpgrEwgHmLckCAxKFOoidXBTLyJXSEtAyFfcTUulRniwJQxXepMvtSqaxFtndsXqkJVreEmeyDrhhdSuXDAQVDfowttLHQWGWDEeeOFbaygVNtydATCKTHTAaiHkPzyPPqmHpBpfwkaTmgDGPiByKbaIZgcGAHUuehWEuzOpZtHYdxuZympUGDtMaYEgNSVJKTvQtIOwuIqjyKmVGhCWdCmYLmeCbjAQhbFQJRENyynVGHPOBeygCXUqxkYIodcmPYqfgtfYIeNpEXtvHFgXUoWCcloJqzNtvNnvAYcrqVHJNlJetkMPrJbdlZzUdOBLKQDPNtAjQgyWKuZNfUzkqWldZdIpicLxECNVINLSzzhkesBEVipzGiDSHIqOtXbFXrUchFdOazMGwiXdkPWJQxW", "QIEiDxUSOUHlFSbIKhvuGYIkYprtWAibTwrZKDsrouQegIAQocqQfGiAANbzGqGjHLsJUODKbRoQEXuxARHNumweeDslFlYdsrDqZwATHzCcobUjzhRHDmrequKzflLTTEIVjVRhwTCLiIuZhxxLjyXPvzKxADoHmFhKSKeSlStqQvUiasxvDaamLEERQITmqyheSmXkYcAEVelRDgpTlqjSaDEwkinbFgWgFrdAPoHiPBdLBlSWagHBCjhPpDbYgcbzDiHHwWCpNjJKebrFCSUmnDRsPAETnlpuNvwuftMRXcLBcWLjwGzkouJJIKitJujAKYdPASjwKwxPzSBTbuYfBatagnHYnBjXwPgiDRtISCXVuumOTgurPMyPBeVTKGCQjOZkWCfjrLNMpMlKHOalAgvFGxzYWPaelbOHeKbTTjTmAAmWghKWwgZvZfLKVyfJGrOEboILDDxdyqmKzXhCAJstIIoejZZfsdAnXeshMbNxCAwroUjFHJGiwgki"],"c_array_ipv4":["HPweFDGiqr", "eFhmlrxteB", "dqZEfEjnvF", "ceyZarkJBK", "uXoXyKdZpj", "EmFUsLivAW", "IDKUxwhHwa", "XqGFfoRSib", "BxqUlLfGjK", "zxjNtBPjAI", "qsoUTrqCRA", "hHyblYxpMF", "KbEOFznWDI", "bRbIKDykMO", "kqAJwHxKcy", "IIkbtezbae", "CJMqBKoBeQ", "zLjKzuvrGM", "gKnhejUMjA", "uxSLhclmcY", "aQYZrrPtMJ", "ndhzRTVZRO", "HWLxxHRxlR", "vwjuEcnDnx", "UOrkyZNFqG"],"c_map_decimal":{"c_map_decimal_1":96.0753, "c_map_decimal_2":61.0210, "c_map_decimal_3":90.0634, "c_map_decimal_4":22.0935, "c_map_decimal_5":27.1349, "c_map_decimal_6":67.1725, "c_map_decimal_7":79.0034, "c_map_decimal_8":25.0105, "c_map_decimal_9":63.0287, "c_map_decimal_10":13.1730},"c_map_varchar":{"c_map_varchar_1":"yVBCdMPhhkUIIbTeNYFqeWalohVvGGxXkKoBARoSbSpNNRFGgeemuBnqsZLuXNUQewqhcUulhZHoeJsefTePHESJxKUsodJKfNyDCssejOphqvPbtukCkTwrvNLyeXHEmTngQngTUythhRUfVQoUDHJxwFMJWRhWrTeZljACuIwUQTsBnHMMJLXfVWaHXxbicUzGldBcJiPtfnwdzLpaNJhFWxcDMLUkBlgUwvmPzxJVDrYrGIUihapufFMYUQRB", "c_map_varchar_2":"XTzByuVyUXGZzsOafbrIOmtDtVMgqpBSZEvaXqdMCYASckchOtSKZcFoAMXHhnRnWuqehJAUXEdDqVUPJYLfRAgwBjJaczvsqRgsXxmbnYmYkLIQPRHmVRMRQRJeWmSnnGQrQainmupAfHMooadWaPAPbIvyEuWtSLYyHcrqyCQAObJprfBfrcGCNjkOocyMrHmjMcYhDJePmVzUOSEnhoBhbPnylHbRyiBILbtskmJLrNxLpXoHEEdQjmaHOlQH", "c_map_varchar_3":"GHAURmlmjXjAaltRHwkoXkbFjAovIbZNvhDrhAOYmsCekgokcctiTginwZVZdbeLlbVRBKRFtoEFfngUNdVNduFYoaRDbsXQoaPMIbMZpKWDwMLPwBwoVMjtKphZesDGUwmFWFPmNczAElrtjnrAcgBQUwTZtlCXeQZFopUKiQADxsdvSMSVFDtcueaXurQTAWJRuBsAMsBRGFCguCZDjxfZmNVqciXyJpJBBbhiHeyueRooxIxIOaoaGAPCthMS", "c_map_varchar_4":"ogThSpOGsFsKiqaDwbDwGakMWCaCBfsfcEqrhDCnsWflOShAdfzNKhHhxJGOieIQDHMAujRFjepDqsmelrMfeZzLNVGrgneukfUPXGwMAiZhWbToIqrerFRUESOQtRJnvXXDwIjdraxJLMgbzYMVXmBcqiudOPeqTJsmGohfHfYKliTgEzzXfhekvpDpOzLhhBQxDveEWhlALZCOFytMWDBXcwTFrAWpOVAJKQOJGjYgzMmRbGfCUKytJmUCXBFs", "c_map_varchar_5":"njroEmLAKfnmigHnPGMdZvAyJzWgnYQfQSNtnXjQTXSKruvzoHgUdnWkgOIqaFcqNWzXpIUDpzlTmeFMvxVuDdqGBLQbaQKkLLdgkFGlHrbKHJYKxRGIGvBjTWsmAjBZulBBYUHsSTlRrOhiqdQBwWCZwrTcLAWbkWVgMHDZhnEdPhysvZfXLCpPUyWCQdqUoaPnHLikdWcGhBdVXBvhewGCixlWuwnFRBrfQTByPHUIjCLHjdJkpGoArwfzRMhP", "c_map_varchar_6":"QYNNBdmSPcSbmHYxNmcgioLvErJdqTDBZQmKbpVlTcymfiqtbhpQrmnRNtqIyoGZVDSmisPALjulyrhZHrhpInwVqACBMsWMuZTRNgvQLxjMCCpzhUyUpIwaVlohshXgjyEAiZVzrFgZcTpEjmDugbVUZTQvhIBrTGusJTgTJJrwrPaQkjXhaDhQszpIvqbzmBEfQTkISasUNuUHWMFHgBjSFQVjnlHYtkuvasHiwxEkzVoDDDyoUTRuZYDhaMWB", "c_map_varchar_7":"bwrjEeopsolfqJgSWYulADiwbsQZQGrZpYgEmoPINMnnIEzSZoVVGrJLCGfSiMiivfMhNMhEZTocplwlrdirpindfRaJLouoKkDZYZcCZsljPmEHykwhfjZwKeWUflYlWCTaqPtWZYEvlemjsWSOTNILEGxzngWfsUJphguXLJaWSRbgHJHaVDXClwhLBXpykgQBMcWoecqkDIBVRbRdtJljZvncpFWTQPbKYuXbPNiihijhyqSMijHgBVmeTexu", "c_map_varchar_8":"MRdLvxCAESWCzKfhZjxUUXyzYDqlmzzGzRHgxYdOCuMKZwrkRIWzqhzzHUnTsShQVCHmiJDombTBGBkrdeBfbTXdahAsncPHVwCdddqpKxPDMGhlPxbEUgAWapaGNGnZKtCBvuHaCEkoQDuocQsukqbNoLdxCSDJboBforwdJcUAqtsDeRbZiTnJzHQicEEiNSKGnhZdXtfgFDaCxtMgzASjijhNTjkCpBxihIvOiQwWTOmZHIKUNlnLSBZHquUR", "c_map_varchar_9":"znKYBvtkKYVdbtnwprDhvEMMBHKJaIhjybNmfObGgzAzAmuudZAyacHbzHRcajvIQvupUROOBDfMurlKtLOYdtBtPGpXVdngcaLVpvGnWuVrIzuYjaIannMiRYBHToaQrmNSTOifQwwXlHUjkXboiWhKpUchpqtVeyRACfohsrtLmFpukkHvlIkZpGwhBzkBYCGupApmeXTctXjCnpfbXLZERNXcOEOTggOEvKzacYYAJKATUDKnitKNJapvWmFv", "c_map_varchar_10":"qrCcmoHQyTPMgMnMFalipUJPmljJdwginoWqHDcOXIsgdjHvoTXhqRRGDEWURPyZZGXHNXukinzpgaTHfLzLgxlqynPBpYmJVRBbFjNvVTKJFredQIzDAkURqDxgQIzYbMZBPmqpdmtUjLLRKgGlYbeoajTwVtzmxbvQAAVwamlscmKTOnLmwNjFLkzkNzkcvoEvbKlcSamrGHLGJSwOXFuOCOzUMtMxGpdgUkzepngvcpLwexHISDPoOPHUVnsA"},"c_smallint":-12566,"c_array_tinyint":[109, 91, -37, 44, 54, -110, -6, -7, -88, 45, 118, 13, -119, -75, -29, 111, -46, 28, 82, 85, 19, -88, 91, -54, -3],"c_array_smallint":[14679, -3731, 1000, 9725, 20829, 27702, -32571, 28384, 24605, 31405, -5582, 18828, -3506, 1144, 26184, 10837, 2436, -12616, -3382, -29505, 16136, 17162, -24063, 5100, -27902],"c_array_int":[-838481075, -543570535, 1825266651, -294845346, 1481425527, 83129485, 1656183336, -1592295006, 1043770856, -1411064386, -643575849, -1460742253, -1235058823, 1891042694, 1273561226, -1112970778, 723406362, 2080091398, 1375273250, 2092157053, 1880828896, 2135510592, -1250095942, -244568708, 1744494812],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":0, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_bigint":{"c_map_bigint_1":-7505324181186642296, "c_map_bigint_2":3147432123395170149, "c_map_bigint_3":-2308083811162321854, "c_map_bigint_4":-1409667696716410428, "c_map_bigint_5":5975802669311648009, "c_map_bigint_6":5363455210994347985, "c_map_bigint_7":1986479383878607248, "c_map_bigint_8":1162829472825002390, "c_map_bigint_9":-8564070461302565596, "c_map_bigint_10":6786030286186337950},"c_json":{"appname":"Pugis","cartransmissiontype":"Manual","domainname":"directreinvent.name","celebritybusiness":"Warren Buffett","emojidescription":"rock","uint8":198,"map":{"I":5460423,"company":70286.73,"dynasty":{"shall":"Sven Frami"},"will":{"sadly":["from","than","perfect","then","finally"]}},"adverbplace":"inside","dessert":"Died and went to heaven chocolate cake diabetic version","chromeuseragent":"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_7_10) AppleWebKit/5331 (KHTML, like Gecko) Chrome/39.0.808.0 Mobile Safari/5331"} }','{ "c_boolean":1,"c_tinyint":28,"c_ipv4":"141.182.121.70","c_array_float":[66.31119, 35.45285, 21.848219, 37.559044, 43.512367, 37.92009, 78.12672, 13.621529, 13.79502, 68.991646, 14.4373865, 46.937553, 40.87431, 72.62973, 6.6343975, 65.16634, 84.17718, 96.96617, 69.543, 89.01693, 79.82004, 100.231125, 52.92115, 20.725037, 59.632935],"c_array_datetime":["2015-01-12 07:00:53", "2008-05-24 22:25:34", "2001-01-03 02:22:18", "2008-12-25 13:00:32", "2016-08-16 12:33:30", "2002-06-13 06:50:32", "2002-06-07 11:23:28", "2001-08-17 06:39:03", "2015-09-18 05:26:54", "2005-07-26 02:05:09", "2003-04-23 09:41:13", "2006-01-27 02:50:11", "2004-11-28 17:07:27", "2014-11-24 02:28:03", "2014-04-10 06:01:41", "2009-05-06 01:17:57", "2001-11-17 08:27:44", "2007-09-03 09:46:05", "2012-10-01 05:15:09", "2010-09-06 03:44:06", "2011-04-02 20:49:35", "2001-12-16 07:30:33", "2003-09-16 15:17:52", "2015-10-14 04:36:33", "2015-08-10 07:39:37"],"c_map_largeint":{"c_map_largeint_1":-364118475911852710, "c_map_largeint_2":-5256416001229018680, "c_map_largeint_3":-4081662501447246908, "c_map_largeint_4":-3768917914830916317, "c_map_largeint_5":-5153262776595405526, "c_map_largeint_6":-4010480458499312306, "c_map_largeint_7":-4749226842657219610, "c_map_largeint_8":-2905777033589961723, "c_map_largeint_9":2272848170201068686, "c_map_largeint_10":-6223560825486848358},"c_map_decimal":{"c_map_decimal_1":22.0726, "c_map_decimal_2":3.1772, "c_map_decimal_3":85.0932, "c_map_decimal_4":39.1087, "c_map_decimal_5":43.1847, "c_map_decimal_6":42.0426, "c_map_decimal_7":8.1086, "c_map_decimal_8":24.1457, "c_map_decimal_9":80.0828, "c_map_decimal_10":72.0705},"c_string":"zXeyHLnQfrFfqcgVufuQensbnOSgxtzAaSqfgkjrMDLYMdIEydqOVUcaoBIqkBMoQEXltaUuTUjgYBcjTHzcOuxrGFIArRtLsSNJgadsSAtRGtOXJCUxkjOMIxwQTdjrVgsMBQSZrXgBjdIulfSgQkQiLvkqVocXPYSuFXuGoCloYHMkJoXwjkIbSpxooHUEOoqSwVPaHegNEBGJXMnPSmlrKIrxtbVUTfkkKbUUrRVFgPfvJfxJBYTERnHLrQKvQbtHViFbmHagOuTOlfEuqvPvQMLzjkMDhGAEKtjDjrMKMWHpymXxWLXszYcAvRrtlVKXgiIGbVOksbbKNfOKbkVwFwYUslChtZycfKMfLukZGRjUsTvpRlcoclKibMXEEtTSyeDxoqAYjduHJcKaJayxszBvtuayiaEBOuusiGwAiMjVKdCQPxpZYzkYtNEHOAumKyAsvvlOqOTbtOvQWVfeUmnEQHCGJSzXsCibUGIzBWtVazhOkSYxWsFyIyVg","c_ipv6":"b097:ce87:d3c:bf7d:53a:3aba:c33d:427c","c_array_smallint":[-8695, -14054, -2987, -2720, -25024, 10807, 30334, 15568, -1325, -2478, 32644, -8028, -31107, -30291, -15838, 22990, 17872, -9313, -10835, -18420, 24286, 4771, 20671, 31940, 12481],"c_array_int":[-1756648565, -852052111, 29444507, 894334523, 1490605539, -1991163620, -559914120, -865514968, 2113165211, -893432141, -829446748, 2125829561, 1748534637, 743477655, 588460037, 1834512852, 951514714, -1603380689, 2007280848, -1503316370, -1833901683, -886268497, -2037284273, -1096018530, -817753327],"c_array_largeint":[-5034229429225050968, -6222200112508905198, 317424326749337679, 5985915599474343405, 214177991913444412, 5151598419245500030, 6663305007058645066, 7140080216667110694, 2854738374035690882, 5165506739292268346, -2169860999199620180, -2704627255777364213, 6585451814114438795, 6177227844990392847, 1084894588140683658, 8489636436789700475, -1537963426436987238, 5341823395949360501, -8113181737216011733, 2484653333741361906, -3617072681631277854, -1709897224040268803, -3869023622088457085, -6708150259521686000, 5832046074734042591],"c_array_double":[59.512336960528074, 71.41900024737426, 42.20132026119105, 1.7304497296590453, 43.986919724100815, 22.16615789409643, 88.23931798550146, 0.7722856909218876, 78.55038870424049, 83.38974580341332, 77.30628642645887, 99.23937892965864, 5.177356266299545, 81.75934028138514, 46.94667668146502, 56.20633554381442, 12.086985641382917, 32.050277787129176, 100.46254068789963, 88.35430497594719, 4.85379706291678, 19.88052714616545, 25.942061927526012, 57.15535244921627, 38.58242185688537],"c_map_int":{"c_map_int_1":287714187, "c_map_int_2":-1487224226, "c_map_int_3":482298245, "c_map_int_4":-417735451, "c_map_int_5":-1520833019, "c_map_int_6":200788081, "c_map_int_7":1564283392, "c_map_int_8":-1357370729, "c_map_int_9":-1607152573, "c_map_int_10":-1817153667},"c_map_bigint":{"c_map_bigint_1":7205093698819658978, "c_map_bigint_2":3809197385819472401, "c_map_bigint_3":-1860847931018617807, "c_map_bigint_4":7803816047369405158, "c_map_bigint_5":8298716040357974530, "c_map_bigint_6":-8168170100730234600, "c_map_bigint_7":3839307715271557964, "c_map_bigint_8":3536244641656684518, "c_map_bigint_9":-4207842689098955539, "c_map_bigint_10":-8385249901463163579},"c_smallint":-26639,"c_largeint":-5804370805809374428,"c_array_boolean":[1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0],"c_array_tinyint":[94, 95, -52, 116, -117, -110, -40, -116, 18, -27, -86, 4, -30, -49, 14, 69, -110, 96, 86, 36, -100, -102, -87, 25, -71],"c_array_bigint":[4859885951376415317, -4111860219430240253, -2233631968378667706, 3664181469169448176, 1148965783436616653, 8560573436648079007, -8583512375319604270, -3008636933836893412, -7731348839528590788, -2868710289256436306, 3012752449144700544, 5103171983232939833, -7312070070533324815, -1602091645311313609, 5222767089428714258, 1248288425054612414, 5680693387652336534, 4597579199872136433, -1771536781435910672, -1622209696107686909, -3802462693744356129, 8131503417489744930, -5827598380931900264, -4565897367361398258, -8499337159083315245],"c_array_date":["2003-12-04", "2015-12-20", "2001-11-22", "2006-06-25", "2015-05-07", "2012-10-03", "2015-04-27", "2002-11-11", "2009-02-06", "2005-07-21", "2006-05-03", "2015-08-21", "2016-02-12", "2003-04-23", "2011-03-26", "2005-12-23", "2003-04-20", "2015-06-13", "2005-07-10", "2005-02-07", "2004-12-21", "2015-12-12", "2017-03-11", "2013-01-23", "2000-12-27"],"c_map_smallint":{"c_map_smallint_1":4082, "c_map_smallint_2":29712, "c_map_smallint_3":-20349, "c_map_smallint_4":-31404, "c_map_smallint_5":13726, "c_map_smallint_6":-9337, "c_map_smallint_7":-12342, "c_map_smallint_8":-26729, "c_map_smallint_9":16286, "c_map_smallint_10":15733},"c_map_date":{"c_map_date_1":"2003-10-28", "c_map_date_2":"2019-02-27", "c_map_date_3":"2001-02-08", "c_map_date_4":"2017-06-14", "c_map_date_5":"2017-12-18", "c_map_date_6":"2017-11-07", "c_map_date_7":"2017-10-17", "c_map_date_8":"2013-01-06", "c_map_date_9":"2013-10-03", "c_map_date_10":"2012-08-08"},"c_decimal":90.1320,"c_array_string":["ztAktMAHIIrFDjFlINDeafIMwqrOaBMRtPumKLcTpzCGbmNfjdPRwSCYmFFnYEIWopfsUBbLFflYvdDcXYbqToHFhjKVEDmztDjybhweCrItqzUasLuZkEcazkYRNTKsqxZNyTgLrBwbaVlWMPPCVCuuuneiJOVdjDBLQHmrOxYRVkDjViPGdHKQQswzTyUTqqzhsSwyivfSimEVpotNMrByjRNpsHYTjUTNZtSrielhRfEMhZDTEZxQOJJbxTVjzNeDhaERBvyMMSRxWKPqXsEAsjELWOPnMWAiBRrIgiMKEIauZOyyQnzouZpeBHXZEfBKJhDuKdxBJYnWoPoWSIkWYabkrLWRIIbmqpljVGRwEGGNKAHnlcamSvpdNWsozzByWODDZhPHXMJApgbVBpkYXGiNDDNapRtRCDyfxvAJMONEdTMFvyttuwWclKQZuohZxBnWsUsgmgmySGnBQXnlqXXiyelybEPEfWdssVgXzDMaybjlxquhxSRzxgfZ", "kdArSAchpOOEqWQxgWsIaYayNYCRgrSAKcyzqdVxmjBxTpIRcmgeFjBDccZHyqQeYyLOIuSnsJPoChaLoYAsfPHlEMdhsnmKHWcrMVsxwAwZWdvlmkoqsfwuTOdFuYaRfjQfGjSCCWKfoMBSHrMnVaFOEYnOWcMoCKUNRKmjqYMciFFfrjFmlvbnIBUCXTKnutiqNTbtvLscCpAzGqknuYXWUmTSviQwYWcCQSNmewZiJgyWVAivxdrEFBJXNRUrQxAPiuvNpZiwZUtTSDCQpCAseIrxUuwVVAOdiJBJYYNaFoQYrJAubMYILMdCtzVpJRKKcMOZKOZespOoJqCWLULABEmzyeLrzNMThFIJAUzTVmbFSjRGVNJRLgbELqTWDdJnEaDTaDdOMCukbHgbqIINTYAKIXZTVDRfYBJhBMgMQHSnIQhfdpVEMGlVfgagcGxQpwgdUfvTmdDYYflVudMXuEuSPEAATlHsIfBIKmmCytZuEXxFhVwpsZVOySIV", "ULbnZBZRFsQkILERvbqscfKRolEqjYpDlhDGiaBydPDGAUtWnSCyEHJTCRwnzWuGiroytFTgnksibtshystzGtzUWMhSCtYqaVxCwadvUydfjVoLklvDFraywyKsUmeDNGEQmepdsbQxpUDSBMcPEeLORcAcVLiQwbjEOkHGfLmebgGbAIDAPiYjVLFnUQfFrDznlXWXTeyyvREMqcwZKTeLKHheSSSCUussoAvQPPDxMKvUKoLbBGgRRNmHbCQUybdzVYztWmijzMdfVfxxniJljWrFSpjbEufxfNDvddHWGXuGslTMpOmzPJAaAksJwmLecfuIKbDgiUPDpWRApHkjPrreXwDxPabAHMYEFvObubRMBaYCdfFttnHEZPbTNUHsZGznPYXvTqdtkLxLddYSxlUHvBDIUDSjJocnpZhekMIPhMsYtSDCEqcQIJlrDvVAURzyzJtIEnzkXnYBTQwgwHzRtOCaUqYIaUYtLqTxTvviYBmSaqXuuolIvZOA", "DuPXZzXFIIoqPurRbITsIfsSTikadhziyyJOZQWoyDmOkEWjAnLPxrwVfbgQvMFlSKvinlnulstKnSMnqEgOXxxuMkEtvVcrakvXQETwzYUcXTbLDqqAjKnZpIwrLgfLiMGTHhUpwUNRMbvLfeKZgXxgPJXWotafVExEbxuQFgxXTrehTGIzVxSnmfOpcNxDTgHpfmPETecYONxcsOHrqdUniauwnXdczeRmEevkNdCcRdYfPzThHWJunIjbeFVPJnrWtyvwplLUodwmtwRHHiArVzPfPupjfYsqryCfDFWvnahOGYARzBxDgjtdpMglxpeziZDhKzcMlegxTReLbzoQDomLTWucciHFcAmAfOdBTubDItETPkUTZiNkXoGRPpneBFNeIEppjbxTNuauMTalrUgCVPejZgThLBehBdWkKEvdydHWYUtxEIxwxVQOaSDuGkLwdOUDWLZhNTMOHreWOaACuTnVpfdhpIZascVNvhChOCndLGKcGfQYGnVN", "mEhkSyEOkZKsNTEerYuBzuCWpzgkBvPcDsOAXjxBIowEiHAJcSUKEMUzMvtvhVzSvcICoWuxathAaHGcAaBKPYRDfUFRAKGKBPfbcbAclFYadocnPQQnbSxlHPMkFLkpjVPTrxLtFAtiLajThnPinFyIUIzVzoYuOGVaDRJpWcumwyLQXSTnVFjVfUwuJUjrhVwHCQjMYgCskHwKEkXVxzduKKpzkMUCuIuEbxphCRfLpLahIVfUNfsnPtRcDvZUnBFOVAkqZRDUciEYlGncKipbODVdMdNgOmoKGIGeCKhKZGvZXhjbhShcBDltxXgWAdwtbSSkYQoPXhQzjstNgqIvepvNAUMxSsWlQEoswIuHtvGASLVAwHQMFyFfnCtfSozOkAdSNNRZrLNJarzNBcSPHHiHspjmKBgERwNfHrnbYaqTxdjXDpccvimTGNPiVIsBGEMNqdhOhbNXFrgXUOWxIbfjRWMCylNvQoJkFFPtDUvjKiwNggjULEtAKanT", "gsLbCHwpgcgJEOrACXmNxKhglGSKBRFrRtJxJdUhjofmOAzbQgptPIlZXvvqQCMfEKPznsXmoKVqNixnvlAVZeKNubIpOJdvvvkEqodHehfDbHpCwhGWShMdtalngpWRTCNKLSfpfvmoipPiRDaVhXrlhHHFibvfBoKefIqMRLodvpyGjMxtfAcOokDCWwaGzpjPPIbBLecWOrMWKVowqUvVqVaPTDvNnuLPhZhIAtGDfYFrNnnuJwUwjWMBFlangubkLBLoyXvFXPPUrOjqjEaUjVPgZZHnjaoaQDDURjJxmdNwxjoQKeOVWMEjPXmdhCocqMHTOfQMLQEzJHwouxMvQaULVjWjwKtyxcrvyqLVINImGPjxbkqTszfjmnJYcCwEIQIBatesuXBctloGvDpzmGIPAOUoKWfkEWrPtFxRbznYZJSvTnRyPZURocfzmPeRVEdBJmVSpzaXfDQVBmMNqsIswsQoJsoXIJdUaDAHAQcHiZSSvLapGkLivdsZ", "NGgRYnqiXVAcZVXaycdokriRuSXQqvhqPMtzqTRawByiQIqLsRrtQOqmhCIxrAlPqoRNvxyMUymeNjNiqkYDeqWgjnJKPhOQRnQmhiWvknDiwBhXrhNzLOSDgEWLuHsVKAPTwCnaSortlzflkGdvPWypGLqqgjuBTVdkKSixXznMczWLoIMYTvfnQrDerZCtLjWsTnWNRShvHfhaChRVNCtKIXhPJohwYcavRzlqVThdJgRiOQwIvVicCbfvjCzQGCrwpmHZmcaweUlOPDUctKtfEzCGTsHWUQsKxdnYqNFCYGgaAhJaZSCRpFuobpFLTqetuhbHvbJRdGVOBjVWAGnQFGFCntRhWhkyUSrIbKuFCDzaRovhmgutggIPeZDXkeAyHguhjzOulaWExNvBBGoEUNBATqDTZAtRBVYUqLIUNPPAOIYBECKrkFBUvZadjcEqJgEapYHuCoANsPtlEXPbzmLgwQrpDSSalrVYurrzKLJaArCIdXrZLkKEmVIq", "IZghabfBfUZCozLUcdvkhWixoFejuZCbQzJHAWNssZgMuUyiKiMvAIfdpKrVIYpVACbpVvqTMmzOIauAvvomemauzOozwkULevfXvARSAqjTiSuBITwMzmKPjWEPcTRvxPzrlZyCLEObRxGyQcAexPCkzxXLDygMzNsAEfTJNAaMIzyfpaqKZCrEqthoQxHURerLAkMmDKoZnHcziqLgcuZwTWngJayydbxzbJsOuxEBRBKiJIvFzgQhATXQjJWeuKogiavJYuhRpsXGWLAAjpkWggXePIQXchGUKQpmUssPZxvDDFZPTaHZmjuzafegHVFtTamKFxeynoMjGGzYyAiiJgaKXlnoZWtDLZNdflYvXBgcHAeiLsbzzeHYwHhbDTxeVFPPVPInZUWPDDToMnlYNQMsdpEUFoMVJJZooFgUfhUpLotHJbhELddFhDsuGwtabZjdDWMfPAZVeaVjdHGScfwMDDPjHmmUEypMmgSmgemSoyBPnXipetcRsXwc", "OvutplISRHnaQnWnPIWMHpghfaHzSNdTJNQMdelPKJZtqWvguCxEivQNqPzscupwNoQTEFDEjUDWGdIlLekwGwZVWhCobGRUhtpedNVkXzSQHKbPlSDzKNnrKbjIfuDfrHyqmYjpUldXljYLZuoHSjpxdtzpdqjgGAjnCfvOkKXHZDEOJJiMePbPQvULnqKvddkbtcwmRKxlijoCyCJrcXeoLZMnFZLBuwEuZrDlQAyOGhhyPRUOArsgYzThJLzLoOhcyvZVBWgotxgyegbTxJIJgdOcjuFRteCikMkgVvQAUhqlmaxojLqXutGfEuiaZfeQHqaJbvzrTMKqgWBlwuRyGpNzgAleLhBiuJIklxvCQJVuYlycJvUHAsPvfQHoIFwDGYrDGGBmUniItUFQVLYarbzemidsYZDcMvSaGSOPZnUpsUWFwlsmoRxXQDmNUCCizpozCYKFTyfSUdMWLswJXaUBWDpgBgnotpRLCOJCnItzhAmFkrFPXCdJKzYW", "yfBPgMcQspqaQZenkIiRHdxQQvNzFIYLdqNEfEUYIiZqJAotGcNCytDrtnNPrdHeyTAiFLNSSyWzXSpVshMdoKEWHxzCutadqjnDGZCgrrUwMGeqanpLtAYYaPJAJfkTkBeLbDQysKtkdfKnyGGeQfRThDusSKdIlnPqNuRkkoAgKwatkzSbpAtxBxMrNhvuZYKDZOhIAFleMZvlqpdaKhAYKekolnNPhKegMdRvBlmnTfjwPvwIGiIjMCLIbAgOyYwOqHWrJGTBEsxMAxqPmZTzPFKARUFbeVMqTkbSNraJjqLrLvHNmybSwAifiFtwWmmFqYRuCPdcVoNjTVFkyEdWAXDUMmAXtlMufYVSYubVUyfZrBTAemfJLVgtgVVuknmzIhmMbKOdGqSxtTnnMkhKjtNmFGCURSBYTeCWLIgjytKLUiSBmHLfSaucpPmkgCHcSZrSDdInwDcNLmleSHXxWKMwMmCyXuOCzbTqpCCPWkcQiqIPfINMPwhZDDif", "GlQoxjhYDImUpcuRuYSZwEXCljzsHAGgDWLDMLNaORezLNbzBrQysvUpNSlWwVQjWByngRfwKWnMShDRgUWxZSGeoCwzkpAYOaVqAQYYTcVRQpVXSGlDFlljFxuUhIstuKxDqOSpsckyITsRZIgJAXsURpcUmtYIHBorskYfIFttEWUIAulDQsclHfYLMKzIIlASOfIgphfFeqBSSZsOuuIwAEDNVjTXhWVExFcFzoiMopbRsUzHRSbzhwUXpSyDYBXHSyHFdAGIbGiqTveWkdQDIHevdPGobhCFGnVSEFOsQholGGXrOWYDZizcmjaVndfizIpCAPVKxVEMDxXqpfqehfPPYeOnvzzSkpwmXwPsrdowweUMjLWvrKgUuxWXkJWKuSuwewllefiNfYEabyliGoNpOJSdUeZZMAozICyOWLgwhumOJzHOLBaAaadnOWcFWLRXQQuZxLlYfKiDfPqKJGxFARPZDmYLLHkngHPDsGftKwCkXDxAZzKwhsnZ", "QIdALbplwfiVicwxmVgAUNCsaraAApwHivWzZFxnCmOvrexaaIEBgZreqKTmOBdKCfkJGeSSGUWvtGkDHzbmGqbeJRbbQZmeIiABbSZkYlAxANbsaOXldYLQoZYgeLcwJpWiMqhouYEqygkiGTIvswEXjQHQkhwMXFfKFBZEXMcyHzqQnjKCnxOlgaohprigLZcLYTsGwNKsibCfWtnwKYOTqWNtJyQwHTSfbCqiVHeXMZKCXUrOgYWFgKeOMvFjJyqWOSUTpwhnemMCqmoodmtnhnenKehjzkoRoJBLmArxaFKftGdaPtGKPimHQbOABHoLzWLmBTlYvcyyhwitdxfcdbxVuhRsakgPXVKEJPfYFffQBUiUtHfWklkjADirPddujqebNYuEiwpnRxSSBufgTIRqHdlqwTaGzqDqrAqZKibcgqaVXjlzrndQkuABYDaajKVrtywQjTfOzpthMtahWHglHmqtHbpapUwVhPEdhpqKPtuWDugGIWMSVQSW", "WJBdPxWKDpLpWVYqWdhNhjzwwHXOySOSxmTNsrDErKKVBiZCwDXqobyybqIjfZsOMgwswcFuDHtnTMQGQuBNZcQWbRLGvpRlXhadWlFUecTYXixZHFYfmJnoJZTbzAvlHvenOMVCjejIruIfBLfyNwMVaggSYviIuIOSWBzWDsKHhyjkRsUMUcwekhPUcmWZwEKGozHBRuHLSPdbNWizNeaLTRXYbrTkJgzFYmBtymtQUUVeOnViSpGvBJwjXVGOqzhlohwdPBzpryGoWDtAWBAffxNdEGPgFvcOkPGJKPsNCBQNplYBWZkTzlYVZDtfIqOaPzVQJFlWSSlSukrhNoOeDKyGfbxXlurIqzVMjwzKkbDLtIYXsNXmukCzBBGDwPXrxFQQCZZuYQSxkiSxmauGyMgNzIsQFBYkxoVScDrHorJqUEOuchcwGNqhXcEGCUbaJbRjeTwfKQtCUSzXdFAHhOsHzReDXpIKEiscfaKgdxctjtZVqdLGDpQPozCE", "GBfxoZTrnijCmfRyRswlJgIajUtQVPKUvHfiEHMMDXTgOwsQPlugUectKrgECwURPicOhTaNgtTCHxENxVZAJNCACQwKWXZJBtAfbuLTaDKoJKeSvfbNsmvPInFFVpbPXvHJXAvFjODWealFERqHqhpgJPDnocekjzfKjNqhYuXuhQxRtvBCjSLYFumaaJFFkWdUDoLaNyxnPcdjclpQGYZVtwWQDrmsuFQQjEUbaVbTQxljzDAXeOsZlZWdgyIxZkGYyFnoLAmVKxuIIkWucruqOMgnzfKLIWrfQmKEUvWOXqYCegIiJsvMCEtknUSdrMzRGLgaoxUaLruMCLkBFANODFxQQNYDeyySopxnLVBHlILqQaIlYylolFEpARCRoscQVsIFrOvPrpWDFAivKytlOiRcofKuxbkYZmxcrtfdJJuJnArnDJkfBrvQhRrRCzPbndfBbmmxXGnzywrDHKLxjzATJaUYjqpBOgIbOAHtZTXsMBfnWhgKnCUnTBZB", "XptIUdZueQWzuAmwqKsQJbKjCBCsnTTecPjnVoaSMCbawHxeHyYvbDfOgwgSnEYyEakkcTRyZedJldwpjsCkZBdgIEoMLKenFUfhpqhdCkQjaFaqKDAYmRrbXSRJvPzWJdLRVPQyVabQoxPnbmPjBgBSdcWrITdwgtilPVQdzyeawSQUqCxVYlhEhNSrmxcZluRSfJluEIqrZtaIHFcCbxUtgXyWAVsWqAQtqTmiEKSWPHFfDHHSNpmiDnlsTQcLOvBLvxAgWiFnXEQFxKplenqxooRmzOIrCkJtTefhSwDbDjbBBoxnbcmYhpGjMjezYLjxeNBuxkzFNGksHaTQVowisSXcnPNSIZODjjbtLyCJSBsuTtARYkWqeKUZITMsiDtRWEMQcnhkFHvuEtQqTNjHfbALTqpwfVBkNZvkEPAJNCjdDNLTUbTBOnnnWjwflZAwClphENBybsIomSxtsdEAGdnrupBZTWvhjWjFNVlEXNFxihznTiaEjoqclhTd", "jQhKGnqKJCvEdXiVYevysYytgJwOcnNQosGmxyPWEGwVKSyltaElaxHqLWaIxuxxMnXnDObqdUYNXHLhSbwnIFcuYmVojzSsvQiJiTlvIYKFLjxRgnGKZdsSyxkLCKQQeyhGjuHugcvkAuVfaWWQITsHYrpTMAZXbqQfrISFZBYUtabLJOekVzGsMalQKjWTVabVChEUVEXRoqEdhJRThJcWCMvnsuzGuDSKfBNtjGetUxmDQhCQIqyYRvHJEeDccYuiDabLemkIueAPMRwKDNWlRrwAFzZfPOpTMBgrulfbohPSjLSJJQYpNdwDfPiXhihHXnaJJQOycboILqHSkSYzYJYwhRpSjtVfdHcbOtovjwZxuDyHGVteOOngllfMINoKiBPbjIiYkCSaItqVxMkOSwSoMbTxzZNWnFmqJafoOdvQfuDwXpXovuRRokNNKZdMnRmHtKyjUKKRLOYWTpLaznpQfmIJWdhhvOsslvELaAzVLURYynBRVThLnkOg", "SIHBIuFGZVDWGZBXvzeZniopTCHNxPHgQVwvsAwBtVtaQmAUvjhmEsbdksrGRpOAxSoRXxxyvNtHwPHjzocYwxiIXQoeFApMyxkikWrBumifiKvHvOPaLyoagJAMepcQTUMPFVXNvXOIPFAQsXGEyHSdDthSksFasqPNumJPIQAgtqzTOlvuPuDgvcujnCdrfbUpPEpryHSJpufDiYJPcxVKbMauALUQCGAuMDIwNwXHDIJbiXJxsUVPviQRHSfDgMuzdVkFfATcKaLYZgCqTmQXjKvaooUjXFcnNDhoySpyOMIiIbflKgSaEsPJnKALtwYYxmRgUvyYzWUewtndNXwvjbDgfYgqSnLQmdToXkUzwdBNxGQZOLovXijCSEzDrqGGfdNsWmoAJTegrAUUiCzqLWwseKosKoGkbKrKpVofffPWADqvohhQlVoFWvXPwESWjjHQAHfEnUevtAZOlLbbFtEyucUSaaYZAIKhIrhDLPQeCJeXUnldjfkqxQwv", "WISfqFzoNQiLOOVeeUblGzCysGDzwtxYSTpmNRhyHxGGKPQlfNJKtZgMNgYVcbPebJKgvhnDlYMcwAMPBvfXqjAzEcHnWLJbYFtPkyaKxYJHXDBmdaRirnYoiALPKFXloDFMQDkvFKlyTqOmdOSXpbUIMoeWOfMfdHoXsGmSAWobdprqtHhOxJichDXYtSdVQzToYQaewaLWLjnZiIPILEyOwnicgIFVIFTFxWWmZOdyAGXJNjsQOcEYjYQDNLHXROIOjelwPBUzmTbTtvPhCMyFdlwqWTTzwKgANSmLTXlcuXCqqRBHFZuIgnKFuqYnQWkdDuorEFztjLpPLjLfsmUntczirvqBPHfCEVejHAwHDIBCUVqgKtvERnRKdFDLOywHekbSpnMuXQZRoCwkSUGpYKFtHpJiypevEmDIuRpJZKnAlgXMwgPKIAhmQUgFJMmpQCkYXtPvytbmRlbNHUtsOVczOCFpgcOwipXnCqfRsrDxeFgfgseucKlFWriu", "dsYpUoDTcKJWAcyMVnoDRERfiJWWBieHsFoYjLqLfdAJmqgagjNSUjzhbYEUPofPDyoGosRtitkXMiNOAgwFWOgJtQKhMJLDVUTXJZNWWGpVdMUKeZbxXlWcRYAEQCflIfhsWrfEUyBQEDVJxRXjDjPhguTKmklqaYqEukQbofauDYZfUwHaMREtlelpvJmCqGOYnbWWWHYGtFcWXxIGnsOIYRhXvdMXPRjUyXOxmxKqmYjKtpXCmINatjDUDbyJWhapLBJKXBphwEZEiWndkoLHOjpgACdKiQRKLCTnNzHTXBksVWUMNKhzGpqKbjnKJdzTzQNItHOuDoHhsHOpNJCGZpPENoPUwZcgHUcFtSXrPFfIaHQhujuFVzWQaRGRTUwwcAIQIadshTLdqBfnimBFSzSAwawhymUntCBzmYgjjvdHeWJVofQcVapKyFSWhUIpFuIJYVveTmSjYqFudVpICXNjhRbHSNcYCjcVIsUcovlTaSBYpiGEABOlzQIr", "aVkDmSjIDjcfefKdUBbQSlmhbgYoxpxOrKTWHTIKbSqHDHLeuJUJiFxcNvVVnUvEtqqKJwBnWoKDvdjWVubVFXzfGePGzcuMXZBhNMHyGmejkrVuGitCNYoLfiVLTfsxPsIKRetTHLOCyuOeVJMpxVUzKibCiPeJmGsmFnTzuKqWGZgVahLbPcNVhmkgWhYBbVTBNjCCHjFMvpewHdgeIKPkXPdEawWbDjCEAEOyfTaQAJGUElbBOmaChJCdiPFjqhNQObiINaDdFSRTWdmcyBuMnDeFRpmEZUwrclzqxhXZKSCBPnzXGPfehPaWdZbgkMOKLoAzkColhulWCRnZCHFiBZibDxrzHgRxlWCbyOwahfUlnpTnaLxGyuaqFPvDSblTgExDTsbvFxehLnKsyoJfEPaLpKhtcNXKnjFSgadEngbByuHQEmZfHfTyxFKhLyYmVRRDwQKuaAdnZQHYSVDtESROWNvowpKeQmnHicplkBCFGlLELlVNdHsOreJp", "fybKvEKkUJstfhACErrdJwOWhbAYYrIsyQovovbIfmztceFFxtpbVUYXGJmZtQlhyTsnimdsIAzBKbpcYlQuYjAgkKIySxGzUfhYMKMsnAGBIYCYSCQAjsBBZudIDFfuKdlnuwfuaUYGoyIRJEJiJOQOdMXmZZFYGtzvHGBOPuSKKDYxwUnbFxMiHyMDtShlLlqhXwbNQzQNDCcsKRderiSRiXLwngqBeeEbSqXKfxfAuJhyTTQktDaAwHHJQgiAiAoDkvGWgOGyzGlirQcZWsKmMZxrSWvtHaAxwzbYQPHEDkAXgAHzjGGgeUFAfVyvXOQSIakeaUMWJpSsFqZphdBSmYBIGBrBmpusNvJFqGCoWOUGegWULNdCMoedoUHciNuoJbZqnNoMexSCODVgiRZaAgNsgCzMDNBjmkxRRPIzIRSmdqEaSsYCREjFSqwwOXttkaDQsAtAgMukggxvVXvMRgxMdOPMhtDUGfZfqTPRLDWvckfTAqnxlxopLrWU", "LqqXHvxXgkSMvJxeEpozYnWyobfetVrKsTAkqkoBRDuGXlCnrIMKgFBZGvjLurtBbMzlrvmVzudRUeXPGvvStDkhlQnnZgwkLIUUbutwTQOXQsSkouTzHQDsKUZHMouNoFCqXNwBsMAgGIldcszQXYuCZmrxBvBbcRzGEotydUXaCNqOcTQEprEOBrhQLAoWqzIyqkHdxGTwodVkkLFNAsDxHPOcPUDXUMCLvlzbJRCacckVCDdcjapVVkhJQlfboEgwxpEfuhajTGlaTsaqvDzLpqbxuqbFUcDlHqxcelApuNtWNmJpOZcdwdyVoubqgeiAwgzKYtXEzjnlSJAOZeGSmdHisAQHHTcYogHCOmzvBiKeuLydbGkkPhWRoBrbiGPsTfhGmdqSlBwjQFQGRKNQWsUvLGwQvoDGRLhGfsEdyyblAGMWTvLrcAAoviKvBgikDYtVYfjKmrfRaCBNqUOulgiNEldONKkYsBXwTPfIBKSbsoWuZZBWkEljmVnV", "dYuTioyBzdqoRXuNYYmgygrotSIisQuFpuzJIHmkqtvDfhSWYECowQhxgsmhfPmpviygQuVtXrnEZmJqDgHdoEiykfiLEYkhiKuzOVNNmjyeWOnAaicFvYFMFgGcfYUsPQdyNLiKHyNSWcVirxfNQcncToatwhLvAAYzUtboFDhUoxtzSlqdshbPJPXgXlJvVFkeMkASjTQbZBRgEeMyHprWTmJNcHxwvZMHjcpELlCtkvEDlyDyzGZnWBbPKzkZWPkrgTSsGiCvoFKhtuDTiYOdQiApFQKdGaYlnkHUIBdmNagoSVyfHjfILYkzlazYpSxIwbcCNfODCHMKvEYCkLNqItPCGPWfNndugKbrCsQAsrqKwqWwqpYCMgqUGuQpjgWgNxVEFKbWiSGTTcPoOaKHTzPQIAAiMEtGreMyAGNjvPAzHZzdxqNzYlGNitQIMKQljAttvJhxBWkobxDytWaBJhuaVwlkgRrVxSFmYCCnPshCWQbAAAvfLstBrBuk", "wFonBNNRqBvTHydbjVzrRmpugLpMDtXpjdamYAHKriKErGTMKnhnmVtqYnYgLNiqwnaySCzojDlLnNUIxFPCRrrWRYYtLlcrNxbIoqtjdVAEDmJOFBJbUqeJsBEkKWmnjceNjqsoWtSIqpzMKyBEzvNHKgUyMUAesnOFnevjhhFmXCApuZLaTZwmpnRnZIvWpznTOCLbnPtYcXqAhemqTSwWsJXNPPWyJYvnxGkOqDuLtkGQtUSBoklpWOmLOktmpAschVkMSxDsHEryIubPaUuDUieFUfNDgbxybbAkhNMYkRWkaVpoxLbyXqVEylrvdQYWQkTTzEbCTgPDTEJtMOJKyBdyWdoTvTrObcnUNCJdAjVJCmttLHEZarzYhMPEazyDgPqEWALDSQVgxVDmufcXuocNCfFOcquwqnQPHaEeQXgjgznYNRGLeqzYRrlFBIAaVgntNlpWGDDjJRrhGLheGqAYlWtjhalUFkZGhhkejoOBZBNpaWUMJlWmRvBV", "ToGTXePpdftrjxEyrqLZTZLHVlOPNuLwgcAYkhWpyBJeiksCicHNeTYDcKwNGKWZOYucChOTbfWhSJExqjohfQXaROPOMjYdEWhsNkjuWpNZKTDJrLJQltJTOEVZzHcdUkhWYyKBJcCOAfqJoUspLIXiVWigTKeEkJvtFgsgvIpQewWasWEApCLioTnGhIlIoKvZTGsUpPAzlheahBIRuHGrOKPTwHjpfMowHhAettGnIXKFrcmqBSuJFvhGahIjzVwGkVvRbOLWzWkwsLbPGmzlyvtWSWOeFraIjjUkWroCKOSwXcfcPBOtannhClUCDGSyCpkpePVGhzRGqFamMmfUcRXiLpJWpyVTXLFiuqlaIwqsWcEDRxHhoycVKyGQHNWSkDYoHooNVdrBjwFtQwvlWSBrYqHPLqaFqiAeYgMZQysAJioaCYFuunkWTHUEJlaGdinEvsgWgLetSjnzRtVXVTqvfVClEVRwHgVSsnSlIQxRxXaaNaacJkEkBryP"],"c_map_ipv4":{"c_map_ipv4_1":"216.78.46.237", "c_map_ipv4_2":"31.109.15.135", "c_map_ipv4_3":"237.44.33.88", "c_map_ipv4_4":"10.19.153.115", "c_map_ipv4_5":"9.3.184.214", "c_map_ipv4_6":"205.116.128.217", "c_map_ipv4_7":"129.190.170.93", "c_map_ipv4_8":"160.199.109.23", "c_map_ipv4_9":"216.47.8.182", "c_map_ipv4_10":"24.145.120.222"},"c_double":29.93522164551787,"c_varchar":"see","c_array_char":["wVLnbhSRPl", "CugGCsonQb", "zoFpAVXRPk", "EMLKWKBXDx", "lTtntRKTeQ", "ScJawZHGmL", "QbDoxEBqCQ", "HXyYRWlBGC", "SzuKrHNMSw", "ESgRHyYyfV", "BtOrZTWTcq", "tWQAuYUnLu", "hUFfpYpbXe", "JzDPFcxLbZ", "RZJIXxmSjx", "aDxrPBGOJj", "pztcdNeWAz", "bSvMwtzXXE", "DBUKbULZZz", "tLngptIhkt", "qmyygiEMMI", "fWsOZyHFOb", "xLczffpiak", "pbUOCGZcXa", "xMLhdisRwH"],"c_array_ipv6":["MiMHwBbSOP", "wAGRLrFDNr", "fZEmMGiCIX", "EAguRzxrFi", "yyZmUiUoAB", "doGNOGWYfw", "VbAQfFuAPv", "azGoJVyDbi", "tTfoEfIZGr", "wuxZmFdrOj", "gbMLBgtfYm", "KcRuwVsmcA", "eUdQFnROpO", "ZkWQQXSVce", "iQaYXpzCrp", "RolQzUkvbf", "UideIVTkme", "pMNwjqNclr", "IrXqEMuzAh", "yVIxgUGEaH", "iNwAFNEvDJ", "TNkUmKjKZg", "VpjEnJOEHl", "ALqEXhpizt", "HBbVYrZMNt"],"c_date":"2004-09-14","c_datetime":"2001-01-28 07:32:53","c_array_ipv4":["iEvsVyqyWQ", "KXODiwRbBw", "rPmUXKvYBh", "MXtlvOjYTd", "kXTiHNKzKh", "QtFTCvdNTR", "hkEjpBQQTp", "cWphNRngBG", "NapDdHBaLK", "EpwvmRZKyq", "rQkEHrfdWE", "bzPjgUmYIn", "jrwdvWeSwu", "LbAWkxACGG", "otXSdGyRQA", "BwYtmBbNPT", "RofAAfCeRG", "CEzfXlXPAh", "TEfWIeWbkG", "jZoYMVUUEJ", "sGZNgCygmE", "ZXOuzVEiuS", "WGwzzIMMUB", "OsZSHEyXYN", "waJYweuxNL"],"c_map_float":{"c_map_float_1":89.56935, "c_map_float_2":65.46076, "c_map_float_3":78.134605, "c_map_float_4":68.98393, "c_map_float_5":36.451622, "c_map_float_6":34.62674, "c_map_float_7":53.86688, "c_map_float_8":68.62804, "c_map_float_9":37.496128, "c_map_float_10":22.358406},"c_map_double":{"c_map_double_1":38.753141554351636, "c_map_double_2":56.39395562748634, "c_map_double_3":60.68017421677114, "c_map_double_4":41.30848523802906, "c_map_double_5":43.502325787717375, "c_map_double_6":58.22040197957237, "c_map_double_7":15.192415989400379, "c_map_double_8":44.645882151462295, "c_map_double_9":67.85256774032615, "c_map_double_10":72.39255482569304},"c_map_varchar":{"c_map_varchar_1":"MhguizKIVQPwXIuTZaSIbwgrSXJQqqfdlfPbsOhNPRIrIOBdbNMPgKBgHlfxqlIKmzSksdVqnuiDKOpYyIPyWKVcxozbIkGjZvYocaLhJEIqyDNTMggXrncwJGsxDgQpPEqxBKUpqjINElsHFxLHWKmoCbwHxTWZdKpSlDtFmrZHPtYPAHtfrPaoOHMaJHqGlBHVCSoNfHOtsYLxnzsvtaEhAosiNEmNDkXPFzQnsmzZubBQhmEPcmWuRaQYdeIF", "c_map_varchar_2":"UICBVUicDTnJJkSCoiSPaKePJlEZeQghPBbVEHoplspsEOGVmnVNRVwKAwZJZzloKJCsHeTNhcjKnwDNucyfWPPindcULcXsYQVFHnPDVbkktqPsjkmXJFLAagvHJEsgNqhydWYGWlNwwvabJcyEvrWuUqZMZxjFHkGeGJlsrGiJGPSBfZgAPstVcnYEKGZfuwhHVfKTxDCTkvciOpszpfjiMvJdIwAFgTDutVJEfTBpkQqyLlZjYytGXuYewXmm", "c_map_varchar_3":"JLWNbGwkpAWvFoyqKRFNHrGnYLKbykRgzziDCwfTCBfDOQukYSORYRvRltKZlRPDACEDCYctWZXRQwzdzbFkkiCGcDBFjSkIKgJuZeqZNapmAWAegGHKxicarKAayZATraJBZdOEmJoIsYvAfhKQnxMpZYEWynTfBkfVJvrJivwwLPBrytcKsfdJPRodrYAPJQMTwDpKzyGnktsEhRTHfllAjlvMqIVaiTgGvehnVcqkccORPohGyVxHWsVQucPh", "c_map_varchar_4":"HZtMsYhZRtqhtgbhLCiwBdllSNGOVeVUeZtKGXNeazydUYfqPGazKExJgadSFItVKHncsVTWrzSZoDveeVJQnEAAtmZZXbhpkfbChpclABPdgsexTDMiBnDoJSThfUtGZnfnEysyZERJnGjaYYsfBaQFobQDDwJZnbaNtFVqHXJoQToGyDAHoDPkUnhtNzsGCjdehMFrpPFdEFMnhrQJBZPZWhVQanSrIxWwZZkTBTMLbJTmWvfkmqoltoTOGGnR", "c_map_varchar_5":"IkqVnSNileRejHLTJOjxWfCgQoWdozCaMOjazFUuHMGdTBhcrfqaFKqHOwltPVYQFTYdYlLuQjuOqijRtTkDApgmfdmIrGAyUiBcBabiJkdBNDiWHhUzRTOiRLGVnyDOsbCJOvUNCeCtUSDJXijpJvhIjRdebCTfjgcZgFRRkfnjaKaYWyFqlLJYwcHVdSDLjwNJoKrUNEkDsgKouXQkDeRxwdEjJWLUfzEbXCqoYQcMWrdmzGcQLwDeRVehexbM", "c_map_varchar_6":"NHJZJybDvmosagFGkNSTdkRDLMfYnQSQvoyEafmAetdoZCQlcxOGuloSVLpRSUunCUphQkWyLusrSTzmoVMPotcTYOTZDVBBdlZHrCqHJgrsznANmSfjysDIoKFDMIOYZEMLYtowOuVWkzmVrvfGIlzdgScCftlifbXNhkcyTfsKvJiLXiVYgaXGGWkVRBDECkqJtUHNigqdVmUEpMdNVdTGxymqlquYAXNSooTQAyFYyJJUFiAZYzEvJDXMbRen", "c_map_varchar_7":"XSmPHEJUzXRdRLeAxQyVFalAFCeXXLeNYNCVFAyrenxrRjSbjLUlkoMQGqEqheqcGXZMOctyRQUHOzpdbSYAtFYMEzkFzIVMrFYetDYKiUoOFzGvWPTkKGYpnRAvIHvCfibtKaBpthEKMeGVFDiOfIlBWGJcGDMZHhseNfSyvkVBNAidkqzgtdLkufmgvOMAWZMjBYbBeaeKguyQNOyxDXrumBIHjYqChYnzNiLwkHWuIMKNwyuKbUmECXNvpXJh", "c_map_varchar_8":"fuojUpVWIqjrkqWUqwmcAYnFDELwRFwgvSoyiQGEusJVfvFpALKGGyNvdbvHVIQqMJjorYaokSbcQEFdjzBXvwJeqmnLksvsbMwHXdzFhqUxYsdwbsfzEAxlBBgyepBoRSUZriiwpesEcMGlamKDhGqDOAbcVlAONBQymNNvVceMeKLXNZgWaXumKmcZDvcsijeHvWtaMGKIGAzBbmiWSSkyaynBVSVBgOfvmIEAKpMbQmWFPjncaeSJMuuiboCW", "c_map_varchar_9":"rmEDjUsAvrKtWlsPNlvhOjhDUjzVnKHqILDUNpcTazDEQFlDzobxSEKmYuusWyNLtbyDsMEfKOVjwySZbnvlmwxyYySlchDwQLCezRceFMRrgRljTuJxteGYQOfLxzRPFDilWSBaBBAWIlbmRapeoFUjBvHPxpknURhCOlPhDgaNJxLfDutUxsepaZllxEDVbitPvLTAewdhTZoAviNThEbxFTVRfQREziYXHhXsHpIOAjQyMMimVyNavxhCMSwZ", "c_map_varchar_10":"YmVbNfwjLlgAXPztozEOymDRdihzwbfFUdljjSVClhRdAWbzkPGJQgdypTkcjXmntAPyLnXXRskMRUSQojWgKXvnQDJUtiePHqhUEgDWCjkDcPipizaVxCOvPkjlcQFUWGaQdfQSWrsCitUjBSTubYWerNTIerCOHsgAdLwVgJuOhzfdcVKDgmNxFINAhDolAzVfxDopPpyIPJJlqaLrkTOQRHsYUvWEjUggXbkdpkRCvwhTxofYeMuNTRuJIoAq"},"c_int":-543369948,"c_bigint":1894686388790794491,"c_char":"qXtAVigySK","c_array_varchar":["OpquxWrMBUdRbXNxEtYXjfpWpAbmlMhvitUwXXAZiGIUkiXRsHvkORNRKnjhVCDBQCkyjITJYOUfwfCvZyAuJiEzPJwVmDHlfGmBqDSWtdcQKhCMrLJBzjNJkLgNVuUVSUmBotLDpzNWqjaZUXEtWIOeXnKBtzbcHzcXElhRJxtQKNpAVpBYvjXJFSdDVuUOFlIIYcogfbaObcnFQFJynUjCNBkYhaHPzqblZHYVweoMfGmjbNRnrjiONMoMwlHg", "QlSnSbyQQpUxMRoPFflydrNepBZZwYNdrgLOojbqhZjyttmcOWThfkTxAjFbNvNrOotjHCqvVniIgENMkpwIZbXfcTYakCbwkWXfHURaqdJogvgPMHrWOVZbvSohHXCQTpSxNSiEQEdklfomefbHbiQQLKbphfBoguBkBgsQvzVORelTKfdHMvdndxPbpFwQgBORGaiJDbSRuDwqxdjODNtzikIqcsCYJwuGGSNAZTKnBiDbSuNiEypWukYSJIBt", "UhsKyWWQJRyrqUNGfDqXXXxQDMfxHixQGBgWhPEDKIvPthSZuJPbBiJiTiRgRMWNOoNMllevSlDRoHvQDXvPwafcvluFjXTeECmkmvjIbzkzagEDSeiEizaSBbwSJWHKKvKetQLNXgiwhhMjjAPljWLGuJySPazJyrbnclVMfrzzAuZdqDbDbaytDdnJFEJTIiZDifOnIxkruJvWRuRyJBfmdaHWDIoexsJJAwGzaaDzYZfikGaLcMSpnhXYPthb", "dtpmKROjNmfehRauUrRpBYPXZiDvmoTplayefuczxYLaFUpMwMNgKcDSYsALOpHyUvBCNHWXKCgCLsktpJVQqBuNfsnbDsOmqsWDSAonPwVmJETZEjSgxlnAZDegqmTImHSAktsSEFpUIwMsTXvtbnoNdSlgfmWCbtOjEYaszzWmdZkBPdxiyZnLYxoMiDjOOkgcFpEGUMoWpmnianAbVUTuDwVLwbDOVBCSAtgdPjUCGeIkGGHbunBMwGJhfyEu", "NHQbuchxOrFWFiUItrLyQYDLkyVWQaKelovkKrKuOExPvFFJtFrvlGuuyMhXeKlSHtbtpcFoYDpuzxpnkoRAjurfapCOCfREoCDxeEOKXyEjQOmAVlEGSokgmiaRzwvlEBeHDKTbEGWdpOcZeQmBOBpZUvrmYXCjDxITuLCauxNvslhRcxBKoVFrjOcMGGwOdimzOpLCTAHPEIsfcrmNcCzSncblMspYhOVhdWbRkMwKtCDeGUIfdwZcejHQrcaO", "peZLjomIGwEGQUVhKhKRFifMQEKTpkzLdvNzpYcFNgtuOKbthkXtSUYVgvBwOtrNRmFByHenKIgVMgbIIOJDjaTyTNfBTJVWqLtucDQdFmblLRKjTBFNpbLygjEEwxiGDbgbbtGVpjwOQERebKKaXdXduxLBOgODMThnkHpnUdAketaAaHsPlwwpTuSVcVggXkjgKWkVCcmcyuCTITdwdFBMqCoxRJeruVAEhzQeTAUbJTNuOYGxqFPVfyZQOwVX", "WBuakSkKlYemMdEwRyfcTulorfLIyWkyMnRDCcLzOvnGlWAOJJnWdxHgEmtEWHvscswfcDjYZoZgqkKGhLgORMSvcDdKYbRQyCokfMMuoZNgEYuTOrYZfwafwXuAoJzEQNTFGyArPVEfgkvziWXRuuUehYQFJdnWZsDSsvsPGYieUeZUPKQyxezEpiokoJWnMubRMEaUoHfGGCQwYoHkroHkLPNDFQrOdjeIfHeBAUpUMmmnjUoggpefJcQWckNl", "OHMeVaGvXpnHkKWBybTkcFTnGyoBwEcUDfZhnpWOgrYXQuWsIgGLVURLEnDtSCPozFVifBDGNHFjmTWyGVhDJWPfonIFIKVbJmMTLkgvGycYjVvmPpvDKabRbsbzcZiYllvYhvidQuMxIOtjUasasTDKljPMHfQfeFksMEeTzWFvaUiwQYATbMZqRqxUbGnOEQImZXuQmtVPwFCvblfSDIPBgUYHojXsBAelADBnrMsuHCimvaVAMuNRvyKZgdxg", "IWuxufnHcGfuOAYKOyOZAeNuxVjeQNNVVvsgaNyBQuYabPOHYjRulLVxCRhbjraWGXEYuyXUjEWGzVxWIGdZHplkXihexrzpKNIpNcARlEnRBhteLhCuayvEgDrFVvOfjNvGKJGbJSqluUFbdviqAMkYrLPZUkNCDtfEnrxTrTFsElDDPSaFtYNPFrAnciYrDmthScYZOqaKWIovAbcBIGojlrGAEWFrozQCUtGtZLeqAWveDwLgYZLiHuEzleIP", "bdRkaIHOPmlYFOkAJThmpiaxIRKoBsyffblNtwrxeIFtUkvkTIabbEvZoUgOBKaQyxbzBuzecswIShYqeTcbPfevDeZQQuKzDZNplijLvVAzsIYayvFrhpZtLHEStExKoSuInwCpWZBlQTJAgeYTuxVEmTZnGwssJeBuWxDEVcFLxsOyKSGrMopOidnGYURrzgLVsLpfUcromRweiwIbdPjfQPCiAbHbszRKbgIQpUGlheFMQvpPgSdFejDFBzoe", "PqebuSrKlOZtWZEJIqErQPcouETCIJLsXmHamGRnpATxslUzAfhCzfPFjicdsPKvhUSLnqDFckDaJvSwLuuHvytPKyFJbyWsubLywwzAjNUyPnaapbgndvGFmCltVAwXsXwEZavtrVcWQzXSZmAuVdiYpcSevRZcFlTYDJzoDhxzBQckFuvLlXVjmiuYFYvtUIUCFDjdaGvKkIvACGHvrLsYsNOlgQsanrkZZDUitRpXeoYELznIhaemVmPbJXEe", "aCtEoKEbTkWGIGCWogOlMYLGzNRJWbMIFUkvRRVhyBBMEpgfQIHLIeUIqzvDAnKXLuMsKWvnOdrhFdrUzhnUcnpRMxtUYQcGXPIYYHXyBvwIDyuJJhAEUJyaeMAlMmpcJIFsStEmYnaCUOUHeVPJkcuXnCWUKkuyQzESxCiXqJJHWimaXBAkLdbfaGRkCxjTVJrSgcXAfbTpeLxEQOQwzMITBnkInkIWSBIrkMiczxQsgsJRBktJkUUPYnhgejPr", "tHqSEFhPdDRrBMFbczZukDxQEYrTSwtdtZZEZvjgaYkCqsTQkMMkGMXLLjEzCqszRmWKvNObCjwsReElfRufYqLKAdgPOdxMtFuFtSMxMdqmDyqCWvSwiDJJHJKyDHxNMybiSJgwIenuRdqgUZbReHukeSSSouQmAmUsikqysRgrYqlTPdkwKHNijXPDKrwKLCotuVhEMYrBrMtXhuolBvznfoUyQGuHwTwhqIsULiYMZGCYpcZbLYGAXmVgwhXD", "chOPkSdtBrXuGajpwrKBFUHPmckHkcKIQdPoPpYCnSRFDBwuUqiRNcbYSdMELGFJQcHSBelFRmHvcaGsOlfyxJSesHRvgWWGzPgrOEUZTBFKbIiYSLQlycEIEMCyGdDOawJbWahXFOQKjWXeOEkOathxRiVYcIBtyLLKUzDweKMSOzjPVFaaBQdAMrCjmOGSbIHJuUzxFhmChGZgnMPuYoQpUjWAhechZVxdiVBITWcFzHZbWosbNpxcfjkRtBow", "peGpxRspUxFnumlhZqPrHiYMdznoabpDKtkJjrinxekbUlhjPPaSUuGbKTFnCxtWaAPNLTuSvvPugCwzYFwFOdykQXMTLHsgAqLLqoULdNRSbnFQkqvFPPyKcJpmQHyJwfzJSXSUprtWEcNqdjPPcBssBcGNGbCoPZwxIkXDeiCwkdbqVNsHqJGhPCwxmgJONMKhJsAQSdlWmPnIuIruOaxaRLFAabToHuIlwcCcHSttVzHsYyRwCvOHbrabLGPt", "dkZtpgTjZnPYZxibtOWYcGbWTuqAykRaJiLWtvuuqngatMcfyekLrgDaljhrrnyQcNHifWyaaOVOIYjrWTrpQkroHOGonfTJbPmHSMqtUEEeVBvpMURRXkxkYfqiOGcDHFDhAELHLRGXEYHLxAIRntIKhVNKXkYDDULfRpZxrkuTuyfmdslbeOOzQPDxyUVctoJHeBevZffpJszpfckzzJhwVdsmbQouevjdIbtGexfywugWcgXMEazeCJtuiKyh", "DztkbtcjgmQBZQhEwyQBwhObAfyoIgHxzHOJmKaKSaecnrcANBpyrrEnHCUHirrvKRVqeYvFQaQtgabMZNgBKgvasKuxHzLJQqMPHsUczwjSywQHmkBixCPeZWUTgeMdpbDBdWaafVeSLLQlrLEWXvKqsGERMWfiWhkweKMYjlhGBtyaAmbqmfuGqtbYBUGTtJWFknCWmBGlbLwsiruyhuOHlssUnJIeyizAkXuTYAQcKICXNxoMtZZOyFltznDv", "qlJQfBOgITzbDKqxlLMEmRsqeYBWteLUNnAiZtoLVLdqnThXQTqJzVkLeEfNlFAQnPnaxSyUwPjIWTpsQqLQbdZMsQpkPmbKdPIjLRdpALXtbaDnpIbmhFoVrhOafmsbGxbnMvkVFXscjWOYBSnYcbxeFPbDfBpbpgbzuPheJqQOSVZJNVfJmXnUfIOCFSrkkzjjoqcXKiRMJTLBaFvZylqsjvaJZccjjtVPOPYfYKsJVWJEZwcjWjHDUuZCvnEX", "zdSKtEyqUzDMQZPBLYkAeFLZDnLPSSGmCEvwXwgvdIFmkfsrgELZMavghtHAdwgCqQNWsRLmFPQDmCpRpJBWGZYyQqeTUfkTFIsQlJBGVsaxHBYpfVQXKVWRuMDqyYyBbVDCtqOoYftQNqIoVCcTbyIWyOQQLSAvzWCOLMOnVhTMfPrYjqZNySXSsBUWssiVJKweXuEiFyDnTDmZvtyACrgCclhXaSAzCRhQgEVZaOJxYFwqBJSKRIsrfrsMeVJc", "tkKNkzKeSlpbLPGGOOqrVigTcaFAsjDOSHmHnwThCkQLGyKMdJsCTKrQtdtTbRksJGgyEeDQsVdMVSaQYYckpxsiiElIRmWkxacYfHdxiJbYTrVjkslKziYvMWdFwHmgjmCyDIREDUnuxSygsOTNfpHGuediUDJweXiDrzfQrVmdhvIeDiCgbuYNbtWHCMJhUspqIdEKsEzfNvirnzrRJhhzmgGkGAozgQNzaYVYHmoAHTldHMIMQlbDIneOEcHE", "iRsLWSsRZfvqvFpXyhMGFjZdVIAtnNGLDJIRFNcGYrIYpJDDUdixQcrSBIpBsVonREyYqbGvdgApxumvRdhHVIkfKaesujmXVWDJhybfTyLhCHUVwPmzLyOOfGTtrMKAZrCtujBxisoTLucVXaBXrAGnbwyGYbfgKlnFMrjHNBLIcJgDpSRXUrVEJTaphnQYyttOqbGKQnqalfowXvhqFOdrcRvKaRuSZhpkJheRBTUxMBiurBNOGLQAdLleQxOs", "EtbiPElknxpRQuzFEAKSdkqTDAkVupZUnISDISJnSGOtVbiVTPXwSNAHcrmltrcBVquFOFgKgltMClRiAZCiOmugVQlZOKZuieFIeilkiCsIQhWYytUpNLmZsTUZOvCbAbNbkmRzlsvwhcisJtNKASlLjVLqqhQZUWpGxQGLUHuFNFQELkoNTtnUChJITUWzuCwaEFkGhysItsCwkjksIlyeXXXKZwTsnVfFXKNNtXBpGTpXePQOlljzqIeyjCJT", "cHKXukkkgNjGdNzoIEbQbzxHxPUsxZFjeYBcLLWssMMfbZAihHMzfqSWKKBgfkFhNjFPBPfVVXbniQlsgtCRsKLqJFsvoMtDjOLRwEgODlJdBLeIQqYbdzrdFPEWRwBjomiRYMemQCzzIPbyOwevqsfMaBuOptRTTTRHyhZYrTMrlzUbxBmXAMKXzKAGFvsnxZRmhcVhuvFXxWOOaFVmPRfrbIhxyZwtQkBuWyXAqrzttMOcFtpdpobvACVYHuvp", "BBrWfCQpzKVlNqVTnJpJRnHdyqiJwieTkBhxKKXYUkvKKDqcSurEzuFubGyIvJcAFxCWvZJFaVZRuFDsVTgdJYMpjSDMisHsQumyqEWPZJPqpFmCVBUGMgXKLAWFHgdJRxXGaQoZPQPxaHzXiCMcDaCQIVhvLqdBgfwIsbTTnVLmOHGlJufkFSuTQGgmLfKuxQvHVcYmbpwOclbMYjAJkKQzUNlrMVwAOMzjiOPXhAgMjkKcOLEhldMKegskVVzw", "locqpUFqMjkuqGJKuEUNDCSSeZpKdjweqTbrcrpYwtallOLqlphTMTZIWqEIackyTPnoMLOgIlvgISFzJosqlAbYTWHMNjKZiSZHgVCAIFYicnvLgTjOUKmGyUsgVAhKNVaIvjdDhBRGlARauTsvNeQLQkCUAXMnnSFGgGDomQcGqgOoeqyeSDcjQCXKecBNCAVzLqhYucMTxRhGbADHEuioOCfCCTcOaLAKBEFOqMBGKpqLnjkgzcBQPiuuGHSP"],"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":0},"c_map_datetime":{"c_map_datetime_1":"2018-07-27 12:25:12", "c_map_datetime_2":"2017-05-09 04:01:04", "c_map_datetime_3":"2003-10-25 22:21:39", "c_map_datetime_4":"2003-11-03 10:18:14", "c_map_datetime_5":"2009-05-14 14:54:49", "c_map_datetime_6":"2003-06-20 13:37:20", "c_map_datetime_7":"2008-06-05 04:01:52", "c_map_datetime_8":"2003-12-05 22:24:11", "c_map_datetime_9":"2003-08-16 21:49:47", "c_map_datetime_10":"2019-11-28 12:04:31"},"c_float":21.08473,"c_array_decimal":[59.1046, 34.0207, 27.1299, 39.0618, 68.1586, 45.1062, 30.0464, 19.0873, 51.0044, 2.0882, 53.1746, 43.1487, 12.0408, 16.1389, 92.0559, 46.1047, 100.1881, 68.0460, 86.0584, 28.0182, 26.1228, 84.0333, 73.1111, 29.0458, 65.0012],"c_map_tinyint":{"c_map_tinyint_1":82, "c_map_tinyint_2":91, "c_map_tinyint_3":-86, "c_map_tinyint_4":-11, "c_map_tinyint_5":-120, "c_map_tinyint_6":-59, "c_map_tinyint_7":-38, "c_map_tinyint_8":77, "c_map_tinyint_9":85, "c_map_tinyint_10":-112},"c_map_char":{"c_map_char_1":"YxITRAMdhG", "c_map_char_2":"hkMENTvZUk", "c_map_char_3":"ohZPkHPiDj", "c_map_char_4":"qnggrTRZOS", "c_map_char_5":"uxOYFwZpsm", "c_map_char_6":"GtCAGumjwt", "c_map_char_7":"CvcIUWJGUJ", "c_map_char_8":"kysvIPeoaG", "c_map_char_9":"ZTpKPVGNMl", "c_map_char_10":"rKHaTbGPIe"},"c_map_string":{"c_map_string_1":"gQfDbJdNJYMlsMkkZWzFQjQRNTcMSgEgFmdVMHKtgCusevfUWFdbdYGCbNucOlvWBGWjhhNjGNciOTzhmbuMRGsTEVxCAHHxiwdnEscARCZGbqbohAWYUbyQkNPuqnmrMWUeJZnDJsgMBVcdveeipSVLxJsmLxWBIovUWEvsnqJuyYuASEvoqvUXytgVGuHsULbGRwNLsIXomthNtkEYxGQLrdXdnFxYntFjGOgdPUICsHYTfcFZbZPlsmYIFWLWpPkwhAjGTNGkRjLQTQFaNgXhZslVJBDwcSxeeNrPjEcinisdsqovfbuxhMqnFRLkZfQObxEwMycKJsesJGRKqZMDGXVPKkbWXzRLzAzsWwFTGdkttPGDMfcJxXsSxKrunoPeKQfTEttSLrPvHWwxTigdcMyNSfotfzaXfyqzAOxNZrySYEGGdzOZWOcRorepHmRRGxZNDWsMKRnHFDiUXCvKYmXxfFPbsVFdhaAlPOsLrNsCQSxHGXjGeccOPQFq", "c_map_string_2":"qHqNiVdepYZYcdqwmwpsnsZOkVKQCxprCGdYlDzxoypbDdJpExOqiAOhWRAQFRTAfKhoLrkhDPRlGCqGolpInRrNIxhhPuDCufCHkzuCfVCUDuCmVIKfGFUVEQZWHhWAMyTvjyTKJNvxirsSzyhaWppyecLVldSVSWRKCKlEdXNmuxWvASufKdlbuRLSDxsXefqWMuJytMgQxvtwuwqzUlZRwOacbCsJanfsVnzjXCmHADCIVCWQOMZTxVQQdIigSrCxGUFdCfnaaREfOaWVSPPcKWagzqdTxgLdmlwoClQgdQxQQQHSjHZOBzfMrokStmKuOvhOPlHnJJGpETpzupzAVJajwhmmVEVMZuiMnuWxAjOKmAEPHmbpewVAxYIGuZHkJSfqhNRlIiEFxKbtvzldBPrBHEgWyygeeYOeouazOivgZpRkHRgRJWpGNDrklbkznCcSDzGRFKUzlhoREtZMozfnzcyANkPxMMbbfXHWytZxEjtTIstIFDPIghdA", "c_map_string_3":"uyYcaQCUiEjwxSMzaSZxEVJVjtPAjuuBaoaHzCwtEtBtbPKMJnMcnUQRpMjnqiKsdIUEWJRWrSbMvNuiXyZQEBHSntfGjAWqgeveswkmlENgAkbsziXfDPDjPggrGjPbaGjqIFvHuoTogmpXBrxTAECDfqhEgjaDLhAKNuLixnbpIHydNMDNAsCuGVAxREtsogCLqyGwiyzZccPJUMpgfnanYFgHDosdKuSfoLWFQFsTkKVwkSfnXrlpmBWQrnMoPNTMIGtTFoWNmVrbmNjoHNEZUOUfdRvGZEotcwBqumlZmMaCuXQgNEXTiLoubBKirZUftKVKDxBYugaZtaMQbuUALJpJRcgKkldBrcwhtiMmUyTisXwBhPLDpYOLYKqkHDjpamDhzCycwraRFgUofLtlvIPJnFPtTHxrjLubrmRgCseKPFhaFEemYhxEmtiWXcvNIMjckbjglVXrwNBOyLhxfFsrKkIeIoCRzFJxrzUWBKGuZIzmPtLfInWDzwKl", "c_map_string_4":"IntUYujbURWYZhmyRTTZAoyGFXNTvvoYiFBOYmNtXKyHOsNBvbmkuKpcHXrzsPwlVMlkMstkVIxYiykvatcXFmqiJjhTwfJJCGgutENWkJjzWsPeHgMflytospgsxqsavmGHdsKRbIadsNEmyTBCDVrFbpsZEQGoLzldPcltYYKRyPoWhArhNlUivarGarhjGUJmLXXoVYnlFQrCcoekBPDeFygTXKJOntALGDIHorNLefyOniOiWRryuvCxOHFiwiytNseeJKbTnxzqkqpAEoeSnDEJclxWDktYWvqzqaGvxNFDjVtGstfbHubCPnbnoGMsTQIdOoCEQaEMcMJijGvlfSMjjrKTvINybTjDeyMHYDhMLdTKGEzRhjNJtNoYxcTTtuDMlIeUzOOvmsKzPOVdLTgfNbwqKpSMZgpYHwYSDbDEGTdGaagljqJClgRSLzdBACfXFqlWnHJbNCfXJBLbyLfNahRIhCnqTDVinNSRZkzZNjiyywgogrOfORth", "c_map_string_5":"nAYeGFhqtHCcbrQpUnXRkudTJwrvABYxzKKsZmwkcbazNhZGjuRWlFDRpkLrwGqxOsBPWGkOXquaRspVeaTJMuqfjPyuMeciiWNfQGfLFekjuRYikZzoyawcDzlXhmmEqgJlnvJThlYJuNseUWsrLVkCWKVGNMTedlMuwsEeBkjvbWRydWRKOaeCAxZPIGRKoLXkKsDWMtVcsnluqlBbWnomlBskvjqfIoxjhpVgesBowiKTNGEnHzRdlWmCKcmcpEUtqcqdHTmanhYEINbUlTndFLuBtFCjODMkgwxAhCRHIQPpSIsKUhYXRLUFCPIjAyaJCJmiYuXLOtcndgeHMDzTAeHdJvJjGFiNhszMuZSEQNdaqZXqRpmuEAFIgcmAWkMzpHFRtBGggaFbNYXYHKwwQpfjtOmGPqXpHxToCdLOiqAuLnUCjDJWGQnANiEEFTlNSaltnulPWZYCcGSrLcdMvckqYGyiejFZUmvsxXuztxWrFfZZcnPXNWUROxEG", "c_map_string_6":"OmvswWMVQfsQeCFxwiHsdjnSyTbsuGdfoLHbVLWxlsVYkxZzqZszoiJZfsaeFGwABCIhuOMQPHvdjUKIsecceQizcSSiFvSQKIUUomIdkYOvwRjyPNFZJyFoShSwnMlmiCNXdnUQcEewFoMZOvznlpedAqzGNPIcckkoGJWYrdmBcDppavKtIqdAalwqxMuonXiZMVcYsMeYmpimILmqKhocECqmselXlVzAgIhrsPWeFsJcWezmymmsNQnkywpliCIuYnuKwbXobLPPuitgOkezrWftpnNsdfZTUvCyUjMNMxECozzTeHxWoYhRPcUsqbMyGLhytSYNnVCJhoqCpEmJmevNjEzZVURCuVSzkRQnUcdQtBcVXzEPxsIsOoJqYjJYYwYGjUmLjNKVpdNCrrDTYLQWWjJZlUDPndFYYgsPEzTjqloZPHcPvTGvwukUPYHWVtztBbpIsaIzHFnkUSpBkzYuTLawDatIceEapnGYMUzrYixCTsgWkIPgMQLL", "c_map_string_7":"GwBZkcDmxoJqRjfzqKHZXDqgUTTDrfdRyMHqExTCyPhdqoxiMxQUJryqCNXhadtfActpNzsPPTpujVguUmsWpQChPOWezYmKKqtqfVukVwfSsCVVXHVmacjGmtNGzevmKOYvRDWkUdrXQFCleKsEClvBxeOJhEVDTTuSuomWwJIVuFWMIoUNMsqBFqSeoQVSfmWaMRemipkoQcHljiNILPgqBxkRVVORWiMoTVEIcxVzNDCnLuLwexHxhXNKpIfXltoKBTODPLUilJQQPstdCgfhjqwFHFCEyOiiqxeQhwKmveyPMJRFxPjSPltfMkXIXsxkrdFZekfGxIIvfAPDbaUmOLJoaJwDuRZSltYsYxCgcXQBojXgDGFvyYkNzLuywZiwSPQsZIItyuQvGSHVNXaIPNDXKSpaHEzLlPyvuageFlobTpJEJxPuIwfnKBPCpoONqWdFrElCFweSvuCUWiIQcllRNzkXXpwjFIyXbbNqpTLQzhPfYtkmMudkkvLw", "c_map_string_8":"LbDSSkwNzjYRhUTBeNJsbQzmlmiTheTeqinGyBpzfzGuDhGaefeATewFvOTixMSxsPUcTBSaBliOSJVllCUdYDtbhOHQFOTLSOdbJZNhdMWrQRdiVQfmMetQWNqCXrczHMJOPyLZwbNFvFBINqVctVGbFhKvoiIivyBaaXELvDBpaDDNlbhgeMLUHmJyFaEcFwXoOKJvUXVPIzqWLeSuNmeGknVjonFRqPFEGlVmyjVVquHMOGnybXCvjxapHhAeiDScidgpehFYRtScPkzERnUZEyLoRQOVMnclYwPEOktcwAUIDHHjrnVlKVAUiFxAeFCEAYKXLPKHwsuPwVsfDhAfhaEAlOTtEOfvpQKcORTxNdSbEusNscNtdaCnDnmAgdWYfDTeHUMzWKoyULXcGhjiQhdTJwHNCUooFttLjZGORAmxRDrSmLYWNdNVuvXYjtDnefxnbkAhuMIuYedFPGlnXhiYKuTKxuQpUpFHXovqLfZvcFCbBKKHQZrANwiY", "c_map_string_9":"VuHhMIQWjdvPpsRnErPhysENhbXoXLJMttzRQNleGLNyqwwwpkCdoQuBHuQmAFoHrrTWeEFnyLQIpqBNXYSyOKSeKiKSSnBqZAYmtfnTyzWjsJMYBtKbWsloxwwtjFzeyAMBAyGPvOzMLMwZVjatzgepxeoNXBUtzDqvxDhNFRDdRPZwxeAtCFTgxFIknOiJLVluqMcLXvldGdmioWLDPNtQxYWSDPildwYKMdWEbimrerMSLRSsiXYzWQruCogZqNQNSYacovwkBCDyLChLHwGLsckxDgLZObMXOFVsvRkWOhTztYRWmUfBLNgpRRpkwEykWosalaKEgoUVHjIPAyIEbhqQqqnSymlsYeBfLxCdtaybUUHGkwansYwTYfJKrYnLgAOcDHcfnSDBJOWJpNBzIijhEQdzUtzVPDGOZxLWEkWRopZWMVxZIKwPidNbJvAjEiPtPFGXltxzKfbGdECNaFWUyQSLoFZuXKPJLkElCEIJifdXLEGeeMiOjfQz", "c_map_string_10":"OZHhzNhYGBGtXfWwqvnlntjDLvbguJdccfYRebQSVTMUdcubciVGABhTriobFxMvwZVnxQynePEwzEaxjdNSJCskPAETZIZiOGAcKEvENRwvikanhdTzvZxKqVWrKjfsajaeqTLvuCMGoSfqiHMXIvJgiERTNOSZVzRpGxbFRefEUrxCXFScDQagNLMTNKQhbVBajuBuiFfTwyGHdBBtzDjqrKXiHOqKtxjQnrTgyqjFkQVnjOLAvcBpifxwmDuiBQLgPifRFgkpgsSzGwnRskwrwLRYLCMmUjrDeuklAsQtDwaIDSsAcxizrZABVNACyloSZQnrNBbWKLIELGfwAcqjJKfnLWcyATUMrlLFbWnKSiEabtOQPdrtxXqqtEzheFtkiSokONxrpOyBHLzMCUqyrEnANOgYcUSJLxsMhJjKhjuTfjBVxqBaOvMQcKKfqejlVfGKFmfmjmVWzJRoKAMRaUReZjnbxEmRsZlgyKUIppjXBTiWKIhhhTfapKUa"},"c_map_ipv6":{"c_map_ipv6_1":"dbfa:8b64:b261:923a:bfae:303d:a57:b24c", "c_map_ipv6_2":"1442:13b8:984d:dd7e:9058:ec14:e4a4:b5d4", "c_map_ipv6_3":"4c1e:f0b:7a8b:9c6d:191:e2e6:dbfe:10a2", "c_map_ipv6_4":"cc84:bc1c:7731:9fdd:c344:83d8:cba9:bcd2", "c_map_ipv6_5":"9711:4e7e:6d99:6c1a:a170:4968:65ef:7712", "c_map_ipv6_6":"523d:e74c:f0c6:1eee:159a:e036:d504:79a", "c_map_ipv6_7":"eca5:d3ff:46c:a326:91f0:6eb5:b159:1fb5", "c_map_ipv6_8":"70c:9eb9:a535:2714:7ab3:d01c:b520:93c1", "c_map_ipv6_9":"af60:a6c8:2fd3:38a7:2472:5912:c443:669c", "c_map_ipv6_10":"2ee7:e8a6:70dd:c253:2bc0:bb4:8d7:d541"},"c_json":{"firstname":"Trevion","lunch":"Italian meatball hoagies","streetsuffix":"chester","adjectivedescriptive":"careful","connectivetime":"when","noundeterminer":"some","connectivecasual":"despite this","adverbdegree":"totally","macaddress":"23:61:e1:f1:30:2d","adverbfrequencyindefinite":"sometimes","timezoneabv":"WPST"} }'),(9,null,true,null,null,127,84,null,245,32767,2415,746594021,-2147483648,-2110806323,1297154563,-6117246,-1526083682274744669,-7749164970683629712,20240803,1654191,1,null,300.343,null,100.02,55.1067,100.02,87.0202,47.0435,300.343,13.1516,300.343,10.1568,null,100.02,39.1050,300.343,100.02,18.0154,100.02,57.0419,40.123,47.0559,30.1999,74.1085,300.343,100.02,100.02,18.0984,36.0886,100.02,40.123,36.0709,{false:false, true:false, null:false},{false:null, null:null, true:true},{1:27, 38:70, 0:1, -106:null, 9:0, 4:127},{4:9, 18:-73, 0:54, 127:-46, 123:1, -118:0, 97:9, 1:0, -71:-27},{32680:-5062, 32767:-821, 22388:0, -31687:245, 10529:-3903, 28228:-32768, -6122:0, -10006:-32768, 245:null, -3469:-13601},{245:96, 0:-18419, 15601:-1003, 31089:292, null:12136, 32767:2514, -32768:245, 15107:17831, -15433:-32768},{2147483647:0, 2010115079:1053755898, -2147483648:2147483647, 0:285200232, -376019022:98989664, null:-1320631493, 774186791:600072892},{-2147483648:2078128311, 2147483647:null, 0:250571636, 1965515024:1127425519, 32679:0, null:-1775897570, -65324462:-1970307417},{null:245, 29712:null, 245:245, 32679:300.343, 6:20240803, 1:245},{null:7, -8883646079247777080:300.343, 1:4093609, -550741:1, 32679:4, 5:245, 641:20240803, -27835:-1676643, 300.343:1},{-9223372036854775808:147483648, null:-4853522956602125789, 1:0, -8873896860574191242:-4242798336673763971, 32679:245, 8177703:null, 804216818337686210:1017853735638025141, -5878457690648879477:1639145029, 1835983792901309302:0},{-149180050:0, 147483648:null, null:358376489, 245:-4516759, 2523781:-4281949, 32679:5401305251435306655, 9223372036854775807:0, -1922101372241276447:5244982, -608114020:1},{null:81.65805, 300.343:88.44874, 22.22428:88.2658, 35.98713:40.123, 87.83479:93.97893, 99.95089:91.69191, 75.60437:81.82269, 100.02:100.02, 15.804078:88.53226},{89.08755:72.78628, 57.268303:81.75542, 100.02:88.14023, 86.25701:41.294235, null:300.343, 67.56449:100.02, 77.35926:74.4138, 55.79134:null, 18.046806:300.343},{93.66562040639133:44.2637743729407, 54.44434489340447:40.123, 31.773263879658508:null, 40.123:300.343, null:null, 300.343:40.123, 93.72827121401792:27.818803197846183, 71.77020446818464:61.239216704705385},{87.21627188232532:null, null:300.343, 17.275386136112246:300.343, 98.97695239595458:40.123, 70.2485965000362:60.135216575794026, 18.731047595057227:40.123, 41.33848301132551:96.71695779688203, 45.558947632823916:60.87857593644718, 94.57310513886024:16.09467941702214, 56.50151130541021:65.69233943256158},{91.1853:"300.343", 300.343:'want', 40.123:"20240803", 100.02:"1", 58.1560:"20240803", 47.0111:"9999-12-31 23:59:59"},{32.1664:"300.343", 95.0906:'look', 100.02:'don''t', 49.0577:null, 41.1716:"300.343", 300.343:"20240803", 31.0788:"2024-07-01", 48.0756:"9999-12-31 23:59:59", 40.123:"2024-07-01"},{68.1787:"20240803", 83.0508:'then', 300.343:'tell', 88.0056:"2024-07-01", 40.1408:'a', 66.1376:'x', 40.123:"2024-08-03 13:08:30", 70.0510:"9999-12-31 23:59:59", 1.0460:"2024-07-01"},{100.02:'good', 86.1490:"300.343", 26.1652:"20240803", 69.1017:"9999-12-31 23:59:59", 300.343:'b', 40.123:'y'},{99.0877:'y', 5.1018:'at', 40.123:"20240803", 61.1582:null, 100.02:"20240803", null:"0", 74.1053:"2024-07-01"},{null:"9999-12-31 23:59:59", 58.1199:'y', 40.123:'be', 20.0160:"2024-07-01", 58.1984:'you', 100.02:"2024-08-03 13:08:30", 300.343:'v'},{40.123:'are', 100.02:"9999-12-31 23:59:59", 52.1116:"2024-07-01", 300.343:"9999-12-31 23:59:59", null:"9999-12-31 23:59:59", 64.1811:'a', 48.0180:"20240803", 82.1619:"0", 29.1935:"1"},{40.123:'up', 96.0104:"300.343", 100.02:"20240803", 96.1182:"0", null:'p', 300.343:'c', 54.1080:"9999-12-31 23:59:59", 50.1773:"0", 60.0715:"20240803", 29.0301:"300.343"},{87.0084:"0", 40.123:'is', 91.1843:"2024-07-01", 44.1171:null, 300.343:"300.343", 73.0089:"2024-08-03 13:08:30", null:"20240803"},{93.1473:"300.343", 89.1607:"2024-07-01", 40.123:'back', 7.1907:null, 51.1621:'some', null:"20240803", 300.343:"2024-08-03 13:08:30", 100.02:"0", 97.1739:'x'},{10.0615:'okay', 24.0855:'I''m', 8.0934:'h', 100.02:'l', null:'like', 300.343:'k', 40.123:"9999-12-31 23:59:59", 14.0795:"2024-08-03 13:08:30"},{300.343:"2024-07-01", 100.02:"20240803", 40.123:"300.343", null:'come', 53.1956:"2024-07-01", 34.0352:"2024-08-03 13:08:30", 99.0605:'z'},{78.0514:'i', 89.1696:'j', 100.02:"9999-12-31 23:59:59", 42.0892:"2024-07-01", null:'x', 1.0177:"1", 62.1133:"2024-07-01", 300.343:'k', 20.1252:"300.343"},{300.343:'f', null:"2024-08-03 13:08:30", 40.123:"2024-07-01", 63.0216:'u', 100.02:'d', 48.0726:'there', 66.0461:'y', 94.0805:'can''t'},{'t':true, "1":true, 'r':true, "9999-12-31 23:59:59":true, 'the':false, "2024-08-03 13:08:30":true, "0":true},{'v':false, "2024-08-03 13:08:30":true, 'really':true, 'h':null, 'u':true, "9999-12-31 23:59:59":true, 'q':true, 'g':true},{'that''s':127, 'y':-128, "1":-128, "9999-12-31 23:59:59":null, "0":67, "20240803":38, 'got':127},{'t':127, "300.343":1, "0":-128, "20240803":null, "9999-12-31 23:59:59":47, 's':113, 'x':101, 'well':123, "2024-08-03 13:08:30":null},{'a':-32768, "20240803":-3331, "1":-4113, 'that':32767, "0":null, 'x':-12874, "2024-08-03 13:08:30":245, 'g':-31208, 'e':32517},{'the':0, "20240803":-32768, 'here':null, "2024-08-03 13:08:30":null, "1":-24182, 'n':null, "300.343":245, "9999-12-31 23:59:59":null, 'go':0},{'been':0, 'i':-375735045, "2024-07-01":2147483647, 'y':-144411979, 'really':916937798, 'be':147483648, "9999-12-31 23:59:59":-1546578027, 'did':1406599726, "0":-2147483648},{'u':null, 'b':2147483647, "2024-08-03 13:08:30":-89256242, 'z':2147483647, 'd':147483648, 'o':32679, "20240803":2147483647, 'c':1945630375},{'up':20240803, "2024-08-03 13:08:30":245, 'w':32679, "2024-07-01":1, 'been':6313, "300.343":518972, 'e':25381, null:147483648, 'b':8669893279702197372},{null:null, "0":300.343, 'for':8, "9999-12-31 23:59:59":20240803, 'f':1, "300.343":-6328117, "1":11608, 'v':32679, 't':1},{'w':8354525669337764988, 'that':null, 'j':-6226293826890965746, 'q':-6490224888809997687, 'b':5935939596864020414, 'a':null, "1":-5447812677503227267, "2024-08-03 13:08:30":-666520, "0":147483648, 'on':-7334445627627584662},{'tell':1400319334, 'v':-9223372036854775808, "0":-1261654991998723624, "2024-08-03 13:08:30":-4125711, "2024-07-01":245, "20240803":245},{"20240803":13.342469, 'what':300.343, null:40.123, 'e':300.343, 'this':null, 'like':91.81466, "1":37.330364, "9999-12-31 23:59:59":100.02, "2024-07-01":100.02},{'out':64.39764, "2024-07-01":null, null:47.462276, "9999-12-31 23:59:59":40.123, "1":null, 300.343:41.710583, "20240803":52.63824, "2024-08-03 13:08:30":40.123},{"2024-07-01":35.33996801057704, 'out':23.261859869288926, "2024-08-03 13:08:30":100.02, "1":66.72434921287321, 300.343:91.96822411438707, "9999-12-31 23:59:59":40.123, "0":300.343, "20240803":79.12624066120128, 'q':300.343},{"2024-08-03 13:08:30":87.77939533859838, 's':300.343, 'u':null, "0":300.343, "1":300.343, 'k':40.123, 300.343:2.3175430586050174, 'of':37.84207134951447},{"2024-07-01":null, 'x':40.123, "2024-08-03 13:08:30":40.123, 'v':45.1530, 'm':300.343, "20240803":26.1134, null:300.343, "9999-12-31 23:59:59":300.343},{"9999-12-31 23:59:59":100.02, "2024-08-03 13:08:30":63.0467, 'v':300.343, "1":null, 'n':19.0738, "20240803":300.343, 's':null, 'x':40.123},{'go':40.123, "20240803":40.123, 'really':40.123, 'b':null, "2024-07-01":20.0463, 'e':97.1000, 'your':40.123, 'j':86.0236, 'g':100.02},{"0":40.123, null:null, 'okay':16.0371, 'get':37.1227, "300.343":null, "9999-12-31 23:59:59":29.0417, "2024-07-01":49.0383, 'b':24.1033, 'r':100.02},{"9999-12-31":null, "2024-06-30 12:01:02":true, null:null, "2023-01-15 08:32:59":null, '2002-11-25 03:31:03':true},{'2000-11-07':null, "2014-08-12":null, "2024-08-03 13:08:30":null, "2023-01-15 08:32:59":true, "9999-12-31 23:59:59":true, '2010-01-03':null, '2015-04-15 08:05:09':true, "9999-12-31":true, '2003-08-13 18:04:50':true},{"2014-08-12":-128, '2011-02-01':-128, "2023-01-15 08:32:59":-128, '2013-06-25 21:53:08':null, '2001-06-25':-107, null:-128, "2024-06-30 12:01:02":-128, '2012-06-01 17:01:20':0, '2016-10-02':56},{"9999-12-31 23:59:59":-128, '2011-10-19':0, '2000-10-12':5, "2014-08-12":-128, "2024-07-01":1, "2024-08-03 13:08:30":0, '2007-12-01 23:48:49':0, '2002-09-06 04:48:22':29},{'2019-08-17 08:08:58':-5045, "9999-12-31":2111, "2024-06-30 12:01:02":32767, "9999-12-31 23:59:59":32767, '2010-10-09':1237, '2009-05-20':-20007, '2019-08-04':6049, "2014-08-12":0, "2024-08-03 13:08:30":-17119, "2024-07-01":-19033},{null:-32768, "2024-08-03 13:08:30":4740, "2024-07-01":-21858, "9999-12-31 23:59:59":0, "9999-12-31":-8339, '2013-09-20':13158, '2001-10-28':-32768, '2009-06-05':-32768},{"2014-08-12":1336666477, '2002-09-17':-2147483648, "2024-07-01":147483648, '2001-11-07 07:26:20':2147483647, "9999-12-31 23:59:59":1286834833, '2019-10-22 11:59:16':1735314356, "2024-08-03 13:08:30":199629484, "2023-01-15 08:32:59":1048788439},{'2002-08-09 08:43:41':-1216969291, "2024-07-01":-1682212098, "2023-01-15 08:32:59":1332834678, "2024-06-30 12:01:02":0, '2008-01-26 11:57:16':1019691063, null:null},{"2024-08-03 13:08:30":1, null:364373758765881266, '2015-08-22':245, '2018-05-18 16:00:39':32679, "2014-08-12":-2690952409580156071, '2016-06-09':3, "9999-12-31 23:59:59":300.343, '2016-08-12':32679},{"2024-08-03 13:08:30":-7890, "2024-06-30 12:01:02":-2682608589974368464, "2023-01-15 08:32:59":-13574, "9999-12-31 23:59:59":2, "2024-07-01":20240803, '2004-06-09':32679, '2015-10-05':300.343},{'2007-04-24 15:07:11':245, '2016-02-23':null, "2024-06-30 12:01:02":null, "9999-12-31 23:59:59":-9223372036854775808, "2014-08-12":245, "2023-01-15 08:32:59":-2260176740202932299, '2016-12-05':8050160721194520052},{"2024-07-01":1943928657, "2023-01-15 08:32:59":5626268240321381855, "9999-12-31 23:59:59":245, '2000-09-21':-7345971566274768704, "2014-08-12":245, "2024-08-03 13:08:30":32679, '2006-08-19 08:31:47':-9223372036854775808, '2015-06-06 11:11:18':1},{'2006-09-18 07:43:50':40.123, "2023-01-15 08:32:59":48.24316, '2004-04-16 04:10:47':52.192272, "2014-08-12":32.377853, "2024-08-03 13:08:30":40.123, null:null, "2024-07-01":26.402576, '2016-12-11 19:47:10':null, '2007-06-20':50.270645},{'2002-12-16':40.123, "9999-12-31 23:59:59":300.343, "9999-12-31":300.343, null:50.685013, "2024-07-01":40.123, "2024-08-03 13:08:30":18.40558, "2024-06-30 12:01:02":92.43863, '2011-09-11 20:28:54':100.02},{'2011-10-26 04:25:45':100.02, null:92.80049243705353, "2023-01-15 08:32:59":null, '2019-02-09 20:34:22':16.854904483900384, "9999-12-31":100.02, '2015-08-05 08:10:50':33.532837944131, "9999-12-31 23:59:59":40.123, "2014-08-12":300.343, "2024-07-01":5.663268329602027},{"2024-08-03 13:08:30":40.123, "9999-12-31 23:59:59":null, '2001-02-19':100.02, '2018-02-21 18:40:37':300.343, "2023-01-15 08:32:59":31.01903624842983, '2010-07-23':null, "2024-07-01":300.343, '2018-01-26':100.02, '2010-07-07':65.5296587604605},{'2001-03-27 17:50:05':54.0292, '2018-11-06 03:12:37':19.0107, '2000-07-06':90.0893, "2023-01-15 08:32:59":51.1019, '2005-05-27':66.1008, '2005-09-06':13.0983, "2024-08-03 13:08:30":40.123, '2008-06-07':null, null:300.343},{"2023-01-15 08:32:59":300.343, "2014-08-12":40.123, "2024-08-03 13:08:30":40.123, "9999-12-31":0.1958, '2014-09-19 12:13:02':74.1113, "2024-06-30 12:01:02":100.02},{"2024-07-01":15.1531, "2024-06-30 12:01:02":86.0833, '2013-02-05':94.0368, null:40.123, "2014-08-12":300.343, "9999-12-31 23:59:59":70.0741, "2023-01-15 08:32:59":40.123, '2007-07-09 15:54:32':48.1192},{"2023-01-15 08:32:59":300.343, null:16.0802, '2010-12-25 02:33:14':null, "2014-08-12":91.0488, '2003-10-04 20:48:28':3.0071, '2004-11-14 01:14:44':null, "9999-12-31":300.343, '2011-02-22 12:07:28':100.02, "9999-12-31 23:59:59":null, '2015-09-27 21:06:32':300.343},{"2024-06-30 12:01:02":null, null:24.0468, '2008-06-16':100.02, "2024-08-03 13:08:30":null, "2024-07-01":null, "2014-08-12":82.1398, '2008-09-19':300.343, '2019-05-24 13:58:22':null},{"2014-08-12":62.1961, '2013-03-04 16:57:49':40.123, '2013-01-14':300.343, '2006-04-02':85.1860, '2016-07-09':null, '2011-06-01 08:51:10':100.02, '2007-08-17 08:06:22':null, '2011-07-05 13:54:56':53.0944, null:null, '2002-05-10':null},{'2006-03-16 21:46:22':40.123, "2014-08-12":40.123, '2017-04-25':100.02, '2005-12-15':40.123, "2024-07-01":98.1982, '2008-01-05':71.0690, "9999-12-31 23:59:59":29.1555, '2016-04-05 11:13:50':94.0679, "2023-01-15 08:32:59":38.1027, "2024-06-30 12:01:02":40.123},{"2024-08-03 13:08:30":8.0475, "9999-12-31 23:59:59":14.1416, '2003-03-06':16.1185, null:100.02, "2024-07-01":null, '2019-02-02 20:28:36':7.0742, '2019-03-21 19:53:50':100.02, '2005-09-08':24.1831, '2006-08-18 14:29:35':null},struct( null,0,-20710,729730185,-8079789757518948567,null,null,7.395611916246502,53.0713,34.1168,300.343,null,40.123,98.0801,84.1376 ),struct( null,1,-15877,2142273407,null,1002887594257970771,42.149757,40.123,33.0782,100.02,32.1998,40.123,100.02,40.123,300.343 ),struct( true,null,23727,-814235431,7924,245,64.87573,100.02,73.0494,7.0372,56.0026,51.0797,null,100.02,300.343 ),struct( null,0,18288,-2147483648,null,8914806061074682245,100.02,40.123,95.0804,67.1953,40.123,42.0165,100.02,300.343,11.0141 ),struct( false,null,-32768,-2147483648,20240803,null,40.123,300.343,300.343,300.343,300.343,40.123,300.343,26.1344,100.02 ),struct( true,null,0,398286854,-1915950,-4432620,300.343,57.5115196927336,100.02,300.343,null,61.0519,null,null,58.0610 ),'{ "c_array_char":["GGCzxGwrwh", "pywrJpHcea", "JAqdDrlRGu", "XBKyxWBZkB", "lQBQgOvQap", "ULEUkomJSq", "wlGSSmuHME", "xViQMDsZNg", "susNYtZqOd", "XbaxXxcfiG", "gLgERVTJno", "shJCHCvnZC", "jvlvJEfBfU", "tYOVoQutEk", "bujrNBvNbq", "lqwpRMfpwQ", "cqTaNByBuu", "drwULrYIxn", "GWRKSIZHJB", "IrKQjQVeym", "HzrrRgdkGV", "BfOfzbUbip", "WONARHAqcI", "bujOWTNGVk", "yKgrIhIuYV"],"c_map_decimal":{"c_map_decimal_1":99.1455, "c_map_decimal_2":42.0956, "c_map_decimal_3":4.1218, "c_map_decimal_4":96.1152, "c_map_decimal_5":48.1021, "c_map_decimal_6":66.0613, "c_map_decimal_7":17.1605, "c_map_decimal_8":51.1117, "c_map_decimal_9":19.0033, "c_map_decimal_10":31.1853},"c_double":23.017482059677132,"c_string":"gtEfQEjSTIyDjsuYWRortrnolztpJVBfDvVjCwVUKFmtHplvAgPQBNATBWCysWrLYOoyFxLuWAmkxkKVbpWSBDgqFhGlZPLgKofiwhrMgEmkAurbDxQHbAOiRbHkChrROayDGQhSkpxxYxWNsDwzrWLcgRhnOdZgbGKaukvAGuzwFiuWjDohgoWHIUBFJLtTzPHACRZlEhhdpzUsHSZLiNthnqtCtzapmzEjUMFVODJzYmaLPJJaDMyGFbNoZSHEZrEpFsdnQbMGjMrWCBeWQffpPTMyhHknPdYVaiTpOwWzehzoOLHwSLpmboapNeSANAgspjdkBjvXoVAljEReUbyAKJyVibcWwHXZHywZyqyvrjPGCDNBVebedeRmRrXtouwljxlylwblVOqssGheluiANFYKlLlVXilfaIHwGLEMeFMObUqgtwFyBFDrWtTTvMGuetAvupmfWcFsjVfXWkxlehegCsxcBSrqkoylpAujijfaaXDgllNRKryenAXP","c_varchar":"back","c_datetime":"2010-04-16 21:31:49","c_array_datetime":["2012-10-11 00:09:50", "2003-03-11 02:35:07", "2017-03-12 11:23:25", "2004-04-14 00:29:01", "2003-12-16 21:01:10", "2008-06-17 20:27:48", "2019-09-19 13:37:03", "2000-11-25 11:52:17", "2004-08-17 05:28:47", "2005-03-10 09:04:23", "2004-03-24 02:30:53", "2001-09-20 23:13:24", "2012-08-23 12:48:12", "2014-11-10 10:34:28", "2018-05-20 15:46:24", "2010-11-15 23:15:44", "2015-04-12 08:29:19", "2016-12-18 11:45:21", "2008-11-12 20:53:26", "2019-07-20 06:18:56", "2005-02-15 02:42:19", "2017-06-25 00:22:01", "2004-10-19 06:45:13", "2005-03-26 12:57:29", "2000-03-22 09:28:24"],"c_array_ipv6":["smTUbldoyf", "GjkEkDaVYW", "pdDbppBxac", "fchUvKIHag", "YlTomAEIjM", "iRSQyUtXdl", "MrwgoWwJdF", "IPMvbGlKov", "toGtrXZxfm", "CzbSVmszPW", "QOXwPSKqSX", "lGutREUgwD", "FdtKAbjHpP", "FMOdOWYszi", "PaqEqDfZeR", "moljwgHYqu", "kZwtWXygqZ", "KLiwgOsgvR", "keyRSuSMPa", "jQuIZKCfWS", "vmSvzHmIvT", "UQJYPYOoFl", "eHMGfQVcKv", "reGOshCYga", "geRPhiRGnz"],"c_map_tinyint":{"c_map_tinyint_1":70, "c_map_tinyint_2":-42, "c_map_tinyint_3":24, "c_map_tinyint_4":57, "c_map_tinyint_5":-70, "c_map_tinyint_6":13, "c_map_tinyint_7":-114, "c_map_tinyint_8":18, "c_map_tinyint_9":107, "c_map_tinyint_10":67},"c_map_int":{"c_map_int_1":-374807032, "c_map_int_2":1602200553, "c_map_int_3":-895505922, "c_map_int_4":-1081354045, "c_map_int_5":-927871998, "c_map_int_6":-1913207599, "c_map_int_7":-770304391, "c_map_int_8":-82828164, "c_map_int_9":-495932736, "c_map_int_10":-2030162784},"c_smallint":-8154,"c_int":1153057970,"c_map_largeint":{"c_map_largeint_1":-8814254708359208092, "c_map_largeint_2":7203574676615353932, "c_map_largeint_3":720113485370008284, "c_map_largeint_4":-4461462419806060268, "c_map_largeint_5":4457313865550443727, "c_map_largeint_6":-4871389318185711097, "c_map_largeint_7":-5396632269953395642, "c_map_largeint_8":433155174042735003, "c_map_largeint_9":-5342972819428956156, "c_map_largeint_10":-646509127686745549},"c_map_float":{"c_map_float_1":84.99256, "c_map_float_2":53.3457, "c_map_float_3":45.777275, "c_map_float_4":5.670141, "c_map_float_5":7.87523, "c_map_float_6":75.0776, "c_map_float_7":7.566387, "c_map_float_8":50.123634, "c_map_float_9":83.007355, "c_map_float_10":12.110251},"c_array_decimal":[16.1523, 25.1743, 90.0611, 37.0596, 29.0878, 47.1589, 53.1171, 18.0681, 35.1690, 32.0233, 57.0526, 55.1140, 8.1206, 78.0656, 89.0438, 70.0446, 69.1175, 25.1460, 52.0805, 81.0467, 58.0333, 7.1713, 44.0918, 4.0595, 94.0966],"c_map_double":{"c_map_double_1":82.53289736656693, "c_map_double_2":80.97837469964558, "c_map_double_3":5.536656779229997, "c_map_double_4":67.10600683033675, "c_map_double_5":86.76357730188401, "c_map_double_6":70.9663565479978, "c_map_double_7":66.37956391012112, "c_map_double_8":75.2713371193624, "c_map_double_9":27.31922478335273, "c_map_double_10":3.0182435195434785},"c_map_date":{"c_map_date_1":"2005-09-02", "c_map_date_2":"2006-10-23", "c_map_date_3":"2007-07-13", "c_map_date_4":"2017-08-13", "c_map_date_5":"2014-06-24", "c_map_date_6":"2019-07-24", "c_map_date_7":"2016-07-03", "c_map_date_8":"2019-02-27", "c_map_date_9":"2012-06-04", "c_map_date_10":"2010-05-09"},"c_array_tinyint":[-15, 47, 100, -4, -39, -6, 94, -108, 91, 84, 102, 14, 91, 116, 16, 67, -2, -119, -75, 104, -13, 79, -27, -71, 23],"c_array_largeint":[-158016934299626816, 868599848256323707, 7386620141939160870, -7223920375146521291, -6598587296698044377, -8348630518438096093, 310376985786123887, -5607324727831154312, 2037214509877883715, 1903696549989469280, 138043764112613844, 3137923569003840418, 1703805200319080177, -277243725713682703, -2173891156956671528, 2106792892740798226, -2002395500005940623, -4707163756926162345, 8606793872619411245, 4061603909517621996, 1913097430547727308, -5244188449478168246, -2736544277575808728, -273985484861092059, -8040175111791431650],"c_ipv4":"62.88.9.69","c_ipv6":"55fc:855f:5ebe:4820:21bc:c1ef:6e:b589","c_array_int":[-1989186783, 1105281894, 585346724, -786383447, 1418672500, -473971362, -1884616591, 328298356, -852993924, 2092565107, 1253943267, -1140771058, -2088522737, -89483180, 409330730, 870147939, 1372303879, -725232730, 1058628109, -941869662, -436353084, -711820386, -142700847, 1913609997, 1857410187],"c_array_ipv4":["vPiUtwBXwu", "NMhKlIWdwg", "TDaTzgZNPp", "XJnRWXKmPi", "miaQDmQuyE", "MKzwtBZKsB", "ecqQwFxtSX", "JlBgcxySRR", "WzpGSSoRYp", "yyHXSQwjmw", "XmzxQhDxEE", "sFITxOiccS", "miiGYyUMAa", "NsWaTnfLET", "jzNMxaXiuk", "BbsDrpfWvz", "YjUwDHYNox", "zeISLYYyzl", "ioZXUPpNae", "NpvFnfhvPr", "gqNvlSfLEa", "mrJuGOEvjh", "AwRcItHLde", "FdboAiAtAt", "JudjfEeTiv"],"c_map_varchar":{"c_map_varchar_1":"zYQnEXjutWxRMxbgkUEizrJwvhflZYTyNTwmiHOVZaEOQYXiQZrkavJRASwQfxgFlSmSTlvnvaWfUhANBbGDpVvVhmNdYUKLAVxmvhwWSTwZlWreGglUGFsZVkcoPbWTEVDvpyMKLyoswpSKiMwXUQNprmxSNnCBAHnSasjvcjrnrNPANvOjCvNCETXlsgVaiuKvniHVEdMXbuwGqUlwzlmpMWVdEqDQhfXwcXsByXjQnfPlJvfdoRtTABMqqEpG", "c_map_varchar_2":"DAiImpaEShVGLfoAejztjNEQPBaihLGlPuyOlmERzHJwmMvDZLLyYejJIySLDelojJCBGBSNbtyaRftWiIsxPeIkeJtFfkAQivcGGoIOubcZXUDQHExdhmMykwnjFwLzGiFRYnbWMsLPiugThFoEnjYmCuxcpxCFXuKevnLEubrHzbMqGxiNCVbCpAVLhachNtGExfyWSOZiEndDtdDGIfZYKaemWJnsfmByuIQQdPkcjwQdelrRcRFsOhBPKquQ", "c_map_varchar_3":"VzXuUTVrsLwtDaUnGRXyewWcscEFBZwXUFAciRzgPZtwJtJZRqZYnMqVdamULiHPmZbgtLDvxJMaMoerTKLdjVCxQpMAWnnHgWvanWZCdYDhilbhDcxGMsfaXlEvXGeWsrYwPLGnlSPskykGuyHoYogcfPymBSxzLsnobmFgyHfVndadaapidyoVPgaNffrEShqFwARdDzduRBbXbayPeAqPXCMkwumWdrxKRmiuwvHrYtdZMjdjsHYALgQfUepi", "c_map_varchar_4":"sKnMSmoIhHwbIIGDMJNMfdxQLcgDnzCWkxQUjZSFqGCmWozrzfTFamJrfCIxHjjUIbilijpgnHDRZEhMPIPixDaQouiifQfadBUhUUQsygbsODdlsYpRsOQBGhZdRtlYOBqclNklhUrSkPgeCSzOVcSUqEEhxLEwDhnIRCoOFPMCevLdfSgdptxsRPJDSJuOmnBatExdGZkzLGBHzoqobUIcRauorNJwfthMStOGeAmRguJqTyhQnQRzpMDwFYTM", "c_map_varchar_5":"efhKGrvFmlAtVFaieBgDCHDizNuyAbJCBVtdBVwcWJFCrxiEkxTqLmIHTpcZEdpsRYuDqNFwaKicSMlCceKbZEoMDBUgNenKOzDHUSRDwNlvVlCpFFjgzYYZlSwlsOnkwHiXWZUBfHMASKkmjdbSIiOsKjyVeGlEwRVdXzjobjkZmVIXHHrAjeYrKJGkvutaotzYcIZVwEzXfFEfXaosYFXItSIOnOHwYharGzubOvfUoFxNGrErppdlYlnuCRUC", "c_map_varchar_6":"qNQJveDyugzgjQdoWAwzorupHlwQCoYXAYaCNftSkFmVaprmHbAlaBZLyqOuZBrHOkFgUtvuSNyzvlVmeaewjMHhTsHxORfqrWuMzSvhYLDmUUDhEoqCElJHRZnVEXnyVWrSCNlvLQyRbAhbPFtUbfsFYepPSrYjPksJGyzzzLXEQtpgtdgPuYdNsmPktvZkbbTbGTYVngYhlEykluYECVwMzQOtoDuraxWoIjFlVXroPmDYstenuhArDqzWRKrM", "c_map_varchar_7":"mwvKHVxGuDMjXHzrrwptHdEzdgXprSBfHtpNgGBrHZYOHLrFbdAwQdDzslMcFYGTVUoQkQfBBnVUDgqYOcNULpVvYMVcgcLbqaExNDdRKNDOZvzExPJzwQEYuBfOlOlxDxjvknXitnsvWZWaPLKwzyMUINgyCwhxzoQnRXXycvyBKPumbwhlvmNMwCaTVLloOoEtRLGcqcCqOkVYAhertgEruUgkTJjtRsEkqiprBtplGLjwpijcnYKNkjbBftaZ", "c_map_varchar_8":"NZZcWWzioRqLTjlFEddumsNtXutOyoEixBnckmyVnogXdCSgscwtrGdXQZDLxCXloZnEVHPkZQXXNnYWCUHVnFbsmftjTZNUQMWIExHISNOMVvzsBCKjwSJrjyvYYAxMdukgAwhfwjHfEOGdfIdtIEhrEydTjOtXyoYAeQCHEtzDLoeDqdTSHQtWAoefJNrzonYWojLbVojOwXLmnHKzATxOFVrStFWUaveueIfDxVTOultJLnbRyKPvWZEjnavy", "c_map_varchar_9":"nUYshZjdzBBSwRUOPuOGkRmEIpnrXUMVvNJpATJFiWJCOtLBYnLDhdeyxRzNQfEfpGwNZqVazbEXEmsMzlBElvqbLUwlgQeydTlqYFXrsupoDMdTqLBclMPKncMuTRkRsJiJPxgitXZucHahnxdLvQpTStHEjypwGZklFpGkTibtIIZixwEUeVAkxApfSqTeBNqOMjmfZPdFCZSBQeeyUtBKZImubUveAdOJviXfdyxoufskdEstQQNunvqGgCWT", "c_map_varchar_10":"AzOIjLHkKykWvdFZOXHSNCcgdSZQIOGNxGXjOpVqpJffVLmptLycMVJoJIersSyIWVbFtCVPeDUwciMUEWiVnGwcGxeWBGFZbPmasnKyrVwCDbHQtkkswfZscGtvibpXQtGJOEFWtUsIxTBZxJWWxnkkRTwEtLWYDPfnxntapFRURIuCdYUWbxEMltejUkFejnaAFdJjqmRvIkBVAGlGRdyJDnMZyfgvRNDFAZoDTNQAHoEpKQqHfNphdYPRkofV"},"c_map_datetime":{"c_map_datetime_1":"2007-02-10 05:39:49", "c_map_datetime_2":"2012-09-22 22:14:55", "c_map_datetime_3":"2011-10-08 15:16:47", "c_map_datetime_4":"2014-07-10 23:56:56", "c_map_datetime_5":"2018-01-09 02:57:11", "c_map_datetime_6":"2011-04-01 16:57:54", "c_map_datetime_7":"2011-02-20 19:31:45", "c_map_datetime_8":"2006-08-16 09:11:03", "c_map_datetime_9":"2015-11-17 14:36:04", "c_map_datetime_10":"2018-08-11 07:47:01"},"c_largeint":1484651635327291994,"c_date":"2008-11-04","c_array_bigint":[-6147191480196861179, 4819190512423535594, -1805704052380715142, -6996881693141496051, 7941485073251656710, -1430137703098993372, 2904680584868898937, 6877064487129238467, -6211161516132382326, -3830268520294186134, 1058491748507327655, 5798408580710462070, -3113985515389010258, 5370396003737232888, 6515473989321466192, 3819380355583778566, 1132960315276065884, 5076322349461681835, -1981745574616572809, 319219226735861594, 1769151945758343425, -4625361348536566143, 2519619575047109928, -5861710602544459832, 5411584154262437182],"c_map_string":{"c_map_string_1":"WqXDVBBAbWUuXPAhpTNjpTNIBgwioNgKPJFOcgoxoDWyZbAfCDwbhwWYwjYsPuHuZoAvUPhZsRYslokLZVrfcGIQnkUdIwnqbMqMrMWdIflFPggMXXSvnUBjbiJFOvLYpETTQqHgzpgeGXmFgxHTYHVTOQvIwTDUziRmLYOUSTbvanyNTJrUZQwuuQuLFzKHcPxMFNLqpsqrBnOPaazBLThFcoDfGyCXFevAETiEdYBBfJDcQmMetRZCIXAZwdokWoECPWDpceSwOHVSoAoZGIjzYZlYclUcQBgEoAIQJNsanjObuRfyzWjPhTGmTvtLROIVsIcGKGNmLAkqqTOKOqJBdOyuabypQLDbEkcmHIaWHwtHJnqJDrZnqUdveZKmJQmuPeJJwHHttLiSfwVEXeDjZvKCyFeagTgdjXffImjPQXZqzAWnXcmBjAaVdwZcxGQSTWCSjKOLSBJyOlUgxhrtIjaYWqDJGvVuucnvPSDMOnIxDAKYxCepnQrFdlzr", "c_map_string_2":"IBiCGlVHEeoDzicduqXzIQKrcFdKexQEsbyoYyQjzYsZhJdfHmKxZVvpAkNklkVosIGvKXRpEbdWlINaHbDXZoNfHYBYwRsksDSBwuydRgbuHZVIGRiugocLVBuqQUOyBxDeifCykjWaKGDMJaDvXIjHHjxaPSmEdZbVsQwOMorihcXSdJJsvodXBtVCoelpSqnvCsRRuXYNpcAyNaViiObbOcqUDNiOKEPTJZAwFtiUONSonrwtSiyinGEkABVmkoHKwEOXvCZlabrGdPSIHgUWMBmvWfmyXTIemcXXueeIkbpBAkuNPGgZTEtFmCtWmcChYogJPtTqlPfwMSOdEsoTwJXNvedJBhrBnMuFTdUgMKtzCBbYuOKWElySmmqcvdDhMcgPDaBlUhsIEwEXCYdCHJNOniNSNnGZADqzXVdYPMnaRvwoNaRNQSgqJwtvCNbISrOylzZdoykFecfLguWWuqbukYbcoQlGVZkPhmTRawtAEaTNtFCPpLhOdRAo", "c_map_string_3":"JsHIpQzzsqwOVwNLANripEEKfJmdaLtcMJZYtsKuZnRfKkaanrIfBCEOeNcvxabYZZqquZdjGjQTdWnBNVUiJFDFhnydIFMxbBTJowmJVnNyTTrGfivDTGeMuCDKSqrTNoKGidgkhjmpqCAIvajVqIJnhJHWDpUuTFIuIyVQNBNImQnADZAicuOKCnsKsnWFmXsWNMcAecxgrLNymCMohfZPzFXChTSYpxLFEWUjLrGuYwDTCTGYqRafTeeIbXlHSaGKlwCzNyCcpVesngGzfxEZxhVhFUCMJvGjXhBLAvwTWvfCYrqkknNHtJjUMLFLygSQsNGYlBKAKfhJqgFDLPxmhzeoAPmeAohsrjNSBCfiMcklgwLcrAmJXdeEQMTknlqaccPbxZunZcxQLPtxStbVGRaIOqrpwNfJCXDtDbfrFLQksnHnmbcBnnVGwyVJDwVMCEBlqhPHyljlHiYnNMAdQzIayzNrADgIokRsUeyMTBFRgVMnwwfMwmoGSdXX", "c_map_string_4":"shWVjbzwTLjZuDJdGNmrAMalkwvPWhRpbuRqEDXyEyyrYTUfleKjlhLMYMRnTOILuXMAytLOFPVNESQhXZzJvoogBgWALwaahNKoxQUfIVPluxJOzVeOtJDFbRQwyXfCgeahkqTCyVRslwofSqihgSWbrzTJyXxwFQPDLADNDiMuqUfjrevEWXddzDkisSUorDVnNsnENxjnCiCCVFspmJtpBubnJVuRmFhDMliTbylBKWAndozzdwcMeNlGeSwkzwbNiuZgaFejIKTuDjlCpyMkfKICTtEufDKNYyyWRepmVMFgvodazrZEXXNzxOFtQxJYaRUuTKLYYbPOpkAXmptYKUrvYhlQVKbChRQYPkDdkIlthfxEUzvVqEOVXEzqAimtOBivrlQZAqjUSXOtnAAqbPuvZVdEdVWCPCVxfKkHuSiGyhXyRscoWrmcvfzojPBnLoSUjGWIYxPhQXGclDHqnDlqKiuyZmZUdvUojfDWPaadfTkGUOWueivIhdmu", "c_map_string_5":"MDAkoqXTwtYSvvgKVKGAiKmHIFIMbEygaWpndTnxdVvhNvtGlEgmBIinRPsXTZqxURkwdgpBdZIMsxOTWatMJsUujRiyRVdHjaBWuzcHaHbMQJNZUUEbcWTYkPuxvYYGMuHdnbcDjbgGSvQsTlszvCVysJJiqnUBQsWQvwCiIGgbqffOMKoXwEDqaDmZApvxqCSVJMusVEYbmxenqSnHcmhQoUvTUePXlvZUkVOAzqJSzyNguGfAjnkwKPIXKKYXbNVTaBaripDRisjIaJNmlQuwSXboVNJZxvBiGAgUPhmIXDIuJEYHHqUmLqSKgxhOCpkSSEdcCWPSNdHNHrUSSqLVGhPgNOHjlbLfByHGrmcgpwCXtswGYVCkIbyyHhtwCEHlneWYDtIefeFbVyObHepeEMiyMZVlrqcPQSzfTfHDtSrZswXrRZfpBoPdirBzPscVVAzjaSzQzoxOOKNekQVXsmStYtEWptSecUOPtFwCOVOKyVYdmPBXgThBTHot", "c_map_string_6":"OYDmhzcunEvhpDnrESYoQwtechPRiTZylzWBcKuCTMFzBbwNyHGxiXLqjTwhtKZmwOnKOQKyGPeuUYRmUSwPuukSpWSldZxMcNyCzZQLTpljmmYcEYZOhnGxOsXxvgaCmatRmrNgvUXVBHkIegjvwOXHeaLnlGSyiDmQaGbeGlTDbNqSIujhcNYrZJMislBiEHNHyUPTQosnwGISKQSfRUILqSAgEszLuGxmgZWpRgZAcarfCagXurMbXyQYUboXZQxNvnhFnQBrVKHGSVwnoHNpyGlgSfElFxRRptCHMrTjuwcmcwRyLaTtMvACPAeabocEXnFSSttRkyYffaoLxMpVkDJmZDnKLhyHFEwqenpLeLyywYzbiJtuUerBfeqCRSwgJGXysYBsondkmMeUvTqOiliORizztKvZqHZqJAkwyYmkrKogaduYikRFEagOQdgPIxBMtLHqSJrXVjwNxOUYCpezoRjxgpUbmGhINiMJWgOBAFhkiLzttOqrBHcf", "c_map_string_7":"iryfDDVkQBIBkjosdatAVXLqReYgENtVTKHqupoIqAIwQiuCnCsCPHCvEdvFIwUbUywnKptHafcncJWzdZLGeOrmsuSfVBWwVoweiIYAxRlrlfnBALZvjxpjQBbTpQivBSsLMmnzgkSEWYfnhRPjxKaFpzyLpPejNVtrWWTdyshrZnVfkuGrxYVbqZzMNZqKxDADtspEYezUgUJgKEzPBMDOCDbxoObgBJgAYSYMvAkCzCHSVHLXlaQOPNKvCwfuHikUOGBcRYSnPphruIsgyOmsghJruLPmPMPFdaJrOyTCtvOAylTaFQYmsKtQrXhhIvPAKAQRfewJKCJjzWOfRdAtkVBxIhOpzrMsojFYaVjFmHSUSXExXpgOuRQDkCQLoIQEByOsurTDpDlqRVKksECSxiIdDfPpVrEpIhqXzUXxiaYUXQFheieztRTJrstqejhOIhlfogfxuSKrmbbckvVRcnrAjLiXDCkgfqJzLtWWKnsKXdjrsKvFBCafEdIQ", "c_map_string_8":"fcLkwHXFRpNVOWaoDZrQHQcaGpXmbTKflkazcvHDbZCqWrpAQBKEnHYdZobGJxFVxyKWQpafeSHyjCpShZmLWyOfvofpPadlcUmWrrNcYCQZRbIGsbHRESMxuWxScYCGBCjZzBrRgcqczraGOZZiTYGMCseoDIyhsRVUFXYqpPSbSfZFjtcuPyTAzEwPffSMzPTdRZjBnsQkwpXKxpjXjlRbNQCkghzXusYzFebSpuqxynzTRJrCfufiZYAHJfWFRPFqYvfHPphjqJUiKvqhxEiQtmxHPunxILqWdpftkbcKYDGHIGcwNcKPEDSshvItMocIjfUjtwQYSFrKOMmrypkUyUGrYeXWUbyAApaMfbsPNXUuimxUvWNKjisVsFOSuyAguJnNefAaXTfmBASkxBUrQAzDajGrOBoMtAPddbIQBHhpARfULWQjhEVqaGMGJYtIsTYhmRjGHvzWdYpwWQGypQufbUprsbqjuTzGJlsaHRzJNENlnyDXCIcxPsQu", "c_map_string_9":"jtBKoFRaUPLMjUCcUHerFiJleUxTdpdLnbJVwBSiqEStoVnlUPkrSQkxrOILeEgREOtRBSsgpwkgLSmMfmVGnCHgqwJqpFWUxVhfTLlpEEPqQuWrYtnbThzUjMDxaCUnVgRLBbFJgohEGWagcuHIORcQQimYKwjNlxCjwEricqMJMfRkLzYjIIRRdhAJWqJFsCuKiqwSboRnjIcfooOmaKfQLvqjOeuejxyWRnCyJSFWKoivmbBeHjnrIwwQRcHNLikaAwqBqaefGPNTSpPqxCiYwIiirGGGjggCSPyGMcOlAltijumvidbojSRBlZNiPKLaXdbklPiBrClfXxfUvupuwQAFWZydkEGgwTNYnTHAYkUcxJXMLDefbUWHfllceRZCIPOiOROgAXZlqrBYMDLRahmnJeXELeRVCVIxAoqufJKKgKHioMzzefaUEQykAabbMonSNhgVZIaXYqvarUmeoaCuqsjIAivlKnBHzkoHlLOxxZCPNJmPIOOFfiTi", "c_map_string_10":"UwWSgqIWxHYsPXyuImYPMhrVtpCsdIXYasQiaFjlLhrrBufkcmpLtyuoldkmhCfqBADpEkqNPlfBkmkGHertrEVJqhoVYFCLjvhoxAyhpTDhbIOQgQSdsdgxrhuWeztmiZerChfzYQfeBYgGkWpPbDBJjxopVOZRthpJdLxemkKZziLoULOGJujaTkDzpUxYowyQAheQFtppekfxmLspmwwXTWCxTcaMvxzMVyeTKXcpEVWDXFDKzmKAqhQTtfMHspXbjgNmruaXBzTXsHYaqNuFdfBtgvyWHeilmLYwZTAkElrgKWyjFWsLqeaWGoNMhJVpDuROkGUSjTXKCOFRSnBmvWFhNeSDOHvOKmPinvuDRwjSvFmYWbyOkDqLHytkyVbKVFjRSruzRJeNGYiwzJtuzoFhTdIqZhNCAwZezzKzXsgKudBtwTzLAKfZMHlzlYCKXPTKKPiVnSgiaYSSHPbGDxUYxHmOAJSrOFZuYtyyoApcAiqLqmIneofLluHZ"},"c_char":"SfjzIarZYL","c_array_boolean":[1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0],"c_array_double":[2.619395648371715, 100.88908027492167, 34.91890449119855, 85.95139160805853, 8.887901405313116, 4.425159209964089, 38.391375280766994, 79.12317295351313, 23.97930455101286, 83.91972961828931, 100.76492761614018, 21.35165028826192, 11.020328952941766, 6.656039661872319, 52.685224185194485, 55.104272799103526, 90.23162409717281, 72.62571507589765, 41.052263210014964, 48.33939255872494, 61.95693229603851, 85.75484034113606, 77.54735632157357, 60.529213060871825, 91.95850747521175],"c_map_bigint":{"c_map_bigint_1":6577385881153454595, "c_map_bigint_2":-805487135550708326, "c_map_bigint_3":-2839137558266315944, "c_map_bigint_4":3493128474378112650, "c_map_bigint_5":265503207434667531, "c_map_bigint_6":6283496678227838794, "c_map_bigint_7":-8108559470666864132, "c_map_bigint_8":1163180170344015411, "c_map_bigint_9":-4120946177760223473, "c_map_bigint_10":-3879265164034246495},"c_map_ipv4":{"c_map_ipv4_1":"229.79.29.80", "c_map_ipv4_2":"53.153.46.48", "c_map_ipv4_3":"177.36.161.112", "c_map_ipv4_4":"58.113.224.253", "c_map_ipv4_5":"42.108.122.196", "c_map_ipv4_6":"33.31.246.245", "c_map_ipv4_7":"136.33.141.124", "c_map_ipv4_8":"125.29.14.211", "c_map_ipv4_9":"222.82.85.213", "c_map_ipv4_10":"192.128.240.94"},"c_map_ipv6":{"c_map_ipv6_1":"bbd5:2391:ce19:ebd4:c088:6747:e394:9352", "c_map_ipv6_2":"942b:400a:dcd6:e2f8:3bd8:12d:88cf:5e4e", "c_map_ipv6_3":"4f2c:53c:64ba:ca93:87cb:6b8f:aa6a:58a", "c_map_ipv6_4":"615e:bc37:24ab:1027:f83:444a:6b2:88a7", "c_map_ipv6_5":"78a6:c861:60a9:cc72:2265:dc1d:be7a:3f8d", "c_map_ipv6_6":"930c:d437:9423:dd4f:fbf9:e65d:2d9c:bb", "c_map_ipv6_7":"8935:e3c1:616f:9612:bf5b:dcdf:81ab:bbd1", "c_map_ipv6_8":"e214:be02:695d:4199:3a6c:239c:27ef:956b", "c_map_ipv6_9":"f623:f78e:d99:78d0:45b6:b064:4044:8603", "c_map_ipv6_10":"48fa:d28d:4d74:42c0:1c31:cd5b:6f2c:bf06"},"c_bigint":-6838169324701871695,"c_array_smallint":[30408, 11820, 11961, -23828, 7635, -28890, 27062, 4099, -13343, 17278, 31697, -5629, -15562, 10041, 1296, -15281, -5709, -25950, 32617, 2512, 30941, 9063, -29192, 12238, 5458],"c_array_float":[1.7801538, 23.123302, 40.807735, 80.20416, 38.262474, 16.155226, 19.583548, 50.47818, 72.43423, 93.33025, 77.48001, 67.802216, 85.44286, 36.075783, 87.35176, 91.598885, 15.245525, 59.432316, 24.035841, 69.78545, 32.697987, 54.16436, 37.93968, 76.907265, 66.01471],"c_array_date":["2013-08-16", "2004-04-08", "2009-03-26", "2000-02-15", "2008-09-11", "2016-08-08", "2018-02-28", "2010-07-24", "2005-08-19", "2008-01-06", "2013-09-26", "2002-05-13", "2011-07-07", "2007-04-12", "2009-12-12", "2011-01-19", "2015-01-04", "2001-05-15", "2005-05-10", "2017-05-08", "2017-12-03", "2008-10-19", "2013-08-28", "2012-06-27", "2012-10-23"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":0, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_char":{"c_map_char_1":"UxGQhMnQkF", "c_map_char_2":"djVhUaMPoC", "c_map_char_3":"nmwaunBjaz", "c_map_char_4":"jRYHpmuacc", "c_map_char_5":"yJfOMicUMQ", "c_map_char_6":"TDltaTAxEd", "c_map_char_7":"HbTXtYNswd", "c_map_char_8":"DfGSYjSRVg", "c_map_char_9":"WZhEJBnQrN", "c_map_char_10":"cbCdZyDDqL"},"c_boolean":0,"c_decimal":40.1386,"c_array_varchar":["DhTuKGgnpvlLQapUdZNjpMwUfLpgFYCPASZSRZuqfUPizpeOiDYXyoePBFlEQoopNZKHiUzXchUrsCLiZuWHGeFqWVdkGZwtlueJbeqsoWRuWpbYKDIKyODvctRpygzfIYFhCQJsuqRXUppqDNlaDsdDnVkTteVJDYUkEUmJfYtdDcUpnCtOfuWmyeMooHUwgkfthMlowAEPTJVQIlBLOnNRWhTOqaOWbBuFMdjtzYnRWJukgNxzTGNNqCfZRMjI", "OvNaTZlmVsDsPVzYInzIOTegBBTJWBQYPqvHDKHtWJPDbuOCEugZFPusoxZKgnUDqyGkrvXUbtRXJOblNNKwsbXEcaVPariWnZkRMdpjuvdicksYHKqDaVhpTfQEhsvcFePIvvLOgKJlGigOYRTZZDsSayATQDjeeBGOnTZpyqhhGKWTbMVKLvUMPwzEqkWVEodCUsaGtwrtKippuwIrMdHZBvbwDeSjPkqcwayzIZkgTHnIvZOFHOPNCYaLmNoM", "NrqPBTxVRGrKzSRJmBOSQscObpoOhKDMAHPppqZEjIYeYswzzEeMuIjVqhvldFoBdpYdMnVgYZYZQAZKDKdMrxySTslPfFzwUaSvIJCtptqLvmthRVUdgUmxZoXgPtGBJRMxuUWXkcYgixjGPovBLWwesxcGVSUSGpFkhikPoBqUrvamVpNhgwBqyZZehbfXWWtousBvabWuOSyYKTbCUNAKNVMyvDsPFZGqiujouufiKljrYeYxwmjBZWaHyMGh", "wpZZkOfhTAZKYarSXKBexmzqzpBTRjHAeaOLDCxvSAjwIEAKyiROFxqnjrWGJTqOOOWKWyUtqUjFbNHotCaxnsDnTSSVksIvIoqieelbsOXWOiJufeZXRaKOrpsudxDYjZrhafgqYEUxUyjOGikruvklWcdxaFiROlRjwVbLfzxkThesPNCYtyshedxxukxUUfLnRGbwxwcgcWmffGhBdLvcFpYcUvIbNnxEzqIdofqLGNzAIohGaJslXZzTwBoP", "AkXBIJdHGoZVSTrhoCHRECWnCohECwIUzNebhsVEiqAQDynDEInkZNKjTBDoWpQmSgpzTtAsLFJfLIgpduEchJQGiTsBeVOXymudtojkCkIWEolpdymVTCrRXBLkwwQxDsWZsUdvowkMDDjYGRgnDoNxOirBjyrctMpRLLttamvdAsqCVNWTsVCgHUBuHEhZyTLKPwgqzLsrqyelDOcTQyUgcqrXrEawVsqsnZHypPsZTgmsUKxcYTDtbbgWPUua", "uFscfYIuQBJjNFicINiNWjOJQDLeZMXuYIgPeracKgpCOSWEAoXsXMJPrvSAhuelbcXkmGfVJzcbbVygXjwOEBhoVWfZMpnVYVAEFgzuujANXRyurtlojQwikKeNHdoqJxLyyGlKNthoEvVFWSfkhoCRYeYtBJsRuYapFAmRgBapVSyNonHEdRkYfyxQomakuqyVPMHUjpniXoFZkzsIGSjwoOrpQGkiwaMILRMfmnGCkiUfEwRexEQYNFZmBHGi", "nTEhTGQDchhJtEZwBmysLbTmhKyOpmxjQAFCVHlwZulCfJfrKLJWZwXiBQRrAAITMECiavMjpyGtVUufBXiCZGjPwzcjEQzhkMAaLZuIpcqmFaVyEosnODtojFyTLChYErOuzciXcfenYKlMGxClulPwtenTcYABvZyojLVFRvyVhakkYVZUiAaxClbiuBviEueCIwZKkYoHclcCpkaWUWMsHjECqlXyaagBOkXxcsWRRnRtWpVWEAvMcyMQaPZj", "coDSnmEEGJYcfPqQaPZxLGQisJmTeyxSbYkIjNUgqIWwXHBwNTjSLyMZkxmAmRdrEvhMcJxhJwaizXMkVQbpJmFWpGXPdhNzRAPJtdTxUSgswaKwyWTDXLgfZaXwzoHDpYpQcJmlsETDkQYCkggLLcIQCwhVrURaApbNQHAIXYepQFCuigObNVUgPztQUSDGxAkzmdIZvXZpnhCRyYxfymebPXTISJgFTvVeudPKrSmvwNJsfpBrzpaTwtMTdgty", "nEyQXUhDNBPfcYpsstfpmIjunAkVROqqgFjYssZpvnaTdsnzsAeXqxDdJrkdNEvbbuDsVqWscITMucQNyYSgulwOFBmOHqJqMzxLQZJZGgHfPZzkIsiUqawPbXgLdduDKMYoAVpHLcfmldTOtVftPjjhhYChKAvaoEjlZtnvIKxXdkkXqnHFJiZrsbpmHPypzxUZLgUgKQwUazaYeSKMDLDmRhIWhsSFDoSxPiQMcTNFiBgvIVzJeKvoHDGTlCIs", "UuxWgqeyehTNrYgrgXJVlEVDDsejZCCPCIIKNaaaZOhBVOGiWrkagMDPAkZGZHgMdkSoNIJzvTXVeVNOpUeofwOTFmVBBVrGzCmwIjaOkimxwbePYmfRJymiIkRpNZRnykqsWOLULkfeCBxNtKBEjirWanrRvkkYtADfZsiorRXFugaNlEjOWxLmefULUzncjMWvIowmECjSURjtLfHuickrKlNMPWnJNBPJrKaPOqlMnePsFJJMuDHaijgFgnNL", "QWNJRjfFmuDqvAyMrQumgRVvMPiJGCRMhCRzfkXjboaIAOVIJwrErrSxMbrCMBffCMcyxccieqvxmlXkLquOzFNaTdcLuBRSdLUQOOHvdYLwBEbbmpzBtSWyaOwsdjNbRFRkwxVeQDLCEqchIiwSHbUUHLwsWmUrhCUKBFJGhGyLBEdzvhCfRrHZbjYRmcQJrozFuVhKdkUbdcczMIcZjtZGOmnEEkxjPRzWbATrrWyQLAdUNoVTbkSCgBUxPNKa", "ARclLjaqTrCIwUhstpzpMSRuZvfgHepSqRmHKkKYNGJrrsxpYIWsyBJjJlQWPLeDHemJCcRSzAXfXJMYJUDNveCdWuEZGEIkZNRzQtjWBkSvuruvyMoHvOgEtNGiqhlLvLKmiZZrVzfbQAJArQRcRLvZIQEmERsTwSAoWFwBoVzueqBjCjfLXmgqDwhiZNUDYpWCrNeYUlHpDSzNnlGptRqsqsUdXhaJRJNpEFIpttFULgcYKFZMuFDXGpUfZaTK", "OdAVjFvGjOSglPbsAoTqpiCtlhZKrhdisSeQcoJGVChwhzfPevmZyvjAjnOtdGCJvxmdBmlVPYuBKdlrjhKxiUcDWfxpfOaFpayiPNCMrCcLYtBODztDwNRBgggsJoKWmcGEoYCpcNEYhbSDuFEGZLNxkQCuFfAXGyYZmQgDiCTjFRWjtDktyMankOMUqjAjnvTOuwHTtMQonWAeOjHrYlEiTAUKTuxKxCFJUDXXJusfYpNateKNkJuatGKPoXyi", "ckcyeASsjlIRVVplolKXZquvEWdawALPQuDzYoSuqYBMXDVhJXTqsifDJXiGnLxbUIGOBFvDDfPMoRHfdDHbBsbruqYjCaUZjlsLgroWXCtjyocmaLxIobYkWVVDXAPSOovTRCdoCgVxydGpEuBFeKQZUCmohgKmjdmIqyHyPFFCjRaxvTDvOBUfShwOtqiOiVeOVStLfgxHdGSBoeBjDyksGeZMhnNwnuYlHjYnHMGXOlZbmLdSkoUadjMnSiUY", "FaAlKQmHJrFKfMSRHmsyqrkhxauQvrPkyAtoojRPkZEhEtIpcRvuvfbEJvrpcpdktIVCaoBQpotAEAPARfkXQiepirdPWfNgySRCkBLrtYYaJSFezwTXNXJgEvAuhHppbNfGVOulfVyPkpabFZtfTgkcGVhVIXBsHzRkyWXdwJfRvafpuWvdcnthQpDIsoHzMDdWlEijYezOWeFpHdsFofClIXndmYEWYDFyMOVGAwugszsyZvLmpcqhXmcvdOiE", "cehVNQRXvzSdgUtQirBlwnnWNgletIEUQtorMVjFSVEDqLsUqunhRHNsqxjkxpTRgPiFZVReuiZcjIFpxwMUdAWGVYpHWOodXijKuxdrPdbQIJLnTKzNeOrePnnIJbaJJlSccnPLDvqVNkEuOzqHZrpTKIKXRrlWPrucfRyeZhqlCdbylCtQGzJUWrcAnfBxTKWMAvGYUffmytvGvhfzWvLFanPyFPwtWtQobggAwHYruzoLtJmkaPLFJXQroFna", "mwEXIWhzaVkzfcbGaoAnCfdGqhdqITNaCpizPbOzzUaPQAiEiHmrrkCGhbpoEVaWPbLJoTxWUzzASYXLWrzRwBMduUSCbFMqfEAYGIEcbXdFLPMSkgYyWKZGlocrRVxpMMbOdxBIpSzHElvZHpaklfppKbEjgvideOplrsBTOTWFsikDZvXwFUAikVqlWtrDGRtIOaRAQbuQXCNErpGyPBjqiDFofTPElWdbWYIBVUGldHduiQrUiCLhoXJdCdZy", "GlEqSNFTUCWIbXeJmskLZQNxGwWATlThYPrmSDFcCVpYbjxkvNrnrifATTcuFYgTeZyEPIlTxlFGnRbaLvbFJWXCVmVTGGkujQhNcafvzhKEQqeRmgMPZdFNCVBQNqyQgawPOGfBSflafwZivuItEEFyhQJJosYeSTFpKCokdVKVHgxviiZewNfxXKgQVgBKThTzRveecgbqExfNAxwYAPaTIqmPzDqGyTLtbcSupULZhYMzBkZkYjkudibkYPkQ", "mLSbOfVIXjHyteSMQNtLKcUBaXpBHIXnSkypxhMcOiuhBVASoSAYbqQkJxlfTDdFoNKWrcJmCvSbixlGiAZGKdBuUzNNrxcVRjbubgiYjjmENspiOcZzAfCoQtiTDwsiSJOYtPqerrDdUXIhVpzbCnBbZSjxqVEDZaDmBcGDHxnUicDwsUSliycuObizouzqGnqxKcDIbhNYutWjphzZhZIIruAwoBNBoighedFsxnfngLmnSBctlZUlrInDfkba", "bdFUjXkCAdHlrIioUXgoGROAFPpPiZkTWsoNzfxNbAwhwIHNuvGcEgVQWXovKbVXYzelpwjsGpEpXxjNqtrQBePvxMNdKinUfmKJQjquHNKoNuoOBiAAJeEgzhbwPfGcSpwHrmpgYETXoTRgOoXAMTEJYSNBDYPONFeYzQstOmbDxPCcgYMnyfpYUTvyGzZqAWPORdWRClGAdcafzRzbkQYcncIHLxDUEqOHntRRPZNhAmFfqhLAxSoRpTJbjXKv", "bpJTusITmCvbRlUGVVSKPgmrUFEzUujJfXfEaYUXumTBRukqPrlGmpQCVBJqFyhonifVcTOJWNuYPePWPUeLKseWOgWbWvvezSTHGNRGRxpWqWGGWnTmquHmolQCbyHAKnMrSqKhsQKOLQIVhNAvDMQJQqJkZQkGDleMMNflnvmRMudcQhOgNWPClaVnHcVZGHkvNodDncaHQYDFJefVbHzVvIXBDidsAdGHzCfQsmAMNMTSuinjvpaYzsomgYfA", "PlsRhhOPRKMycdSPPivQcfSkIDkONaNwwqWjTEGpitlAHfRQCVxjjYSLZDmAqbxCAYUYKgPmgqKvjpMfGzIMeJJLLQRUVPnPwZXftDzximINJuevZEBZllhktWxHAjWyfzQKYeCHqtRepbVlNKLXOhtTbMzSXqrQCVvIZeskbepqkAUzLgviuOIkjyQiVojhHmXaaQnGKaEWHDrWiySouUUvKtXEVgxCdmJIXODzrMHXxVLjhBcBvvgFvdEnEnpV", "jtMiwPXxkutyZtFXgRpQpWznZOgiwpIHzIfLyYdVoCYAXHYGJBdsaslAoALsaOTLkxAtiwHzCvlWnCoVqVuhrkPEtprScolDgCHdzppWEREUEvPmtOpyoOrimqIpncEKmOJcEXnzsQYvrIAmXvFQvvOQUJIqZAlqCMYxEHyvVxJtmhoSNqYXkyIzjKWhHyWWbYJTJxkEJYRygEsCkLAwslrGgBfocMbUiHJPamKgSoqOAeDGzgJvOIHXpeQquwQd", "OmmaschpDcJTlUeFYOrIBZEPivxxEVquehGLEnLxeaWvSmXZUHscllmcPsrpmxPJpJzoSQUqwkEQICREABJZZWBPMaShGBsVkzkZPJpRApNyraCryCszaHtBmyLvhgtLHsSAiqekyRsBqBmvUrrgXwnSpfDHaXHqvOlZNQLuWPgGAogFWsnGUoFUkKAlneBbMwcdnQXStTyboyhGnUlHwKlciyFVxLmGRQoVpviHNXKlgDZMMShbRsmSgojjbkiL", "HhFIxGrkGIzZtqdwPmuhQCPSKtPdrUKfeQwesDliSlBqMKAnjwtKeqsQWVSlmjoFEOyPcpHgmKTjkZYiRgPyrCOeoisgeLDytVgzfMxkAKPjGYhMFMvnzOamXHqOAqSGaNIqBSnjAcyBfOumGCJhHKKXQmLFHFluZyMLqkKXBUzphmZfnbTpecJLUyPxZhxrPeLEXKQdKGJohdRNYPaCvEYKtCfkTCFnSfsKqauclpuIYxpgAlrlHgFtzovPFOup"],"c_array_string":["bVEDIctVuxJQfEfnCksYbsXvJWuLzHfLypeSOxryEgxAeWmsWlMzZtsaippQUejUAjhrENxiehcKuEAgEDAuhmYGWbVWCnpnTbWmNDctOToVqDBusdwTHYFQSGNMoyttiwSknzUeEdTEnreAfRTKzrcLKfovRdegdyzgqyUzBdUwFCUpdxkiSWybIgeWuEukjyLmgcjnoyxAtuGdUaZtDYvNAFbiYQgqtQVtJJSBJcRZVKLRzlurjgYdiTFtrFuDpItfKpgSIGWTCcXqFnKLnPiuYOAuxdseqqooCoxthYQVOUbfKTNLvQRmoGAFQVdROYHDoersNREjyFwhmYYatWFPbdaDzJWqYffFXIxZymqxfegdnfzoZOdzdeSSDOvbpRURrXRobCajKfKpJWVKSOXOHZgxQKmoKIgnZHdiPFNiIybEcKQsCejDyBTclVFPnxDmTELPOxUQCxszUPngzofbdQcnFQMMSrKOaTHsMTqcxbNTtNBnypAAjjtQGVxc", "KfRGdAUncqPbTVSyFgZbdEXylTYjTtVquDfkXJzcQWiXWijtzVHyPGgcpfPLjLKLJkqrMTLURZvczZtIkQIVInbyajewAWiOnpQWUHbEjyXcsazUDfsuwymquynaFCuFbTElyAdEFbQnEnZPrzCvzGWewsoAMZQJKvOyFGkJhAAXwgYJoUAxYTXTJPNRbzYlZwOikSBuohqOHMIGeWPqHjlWdfyvJpEyiQNfXBpRLPeiYGLRsPPIuhBfpePWRpyWJjviprFRzLbCKfHZcnFNPmuYZIkovNqYOgXjKfiuLHmxkNMdFQkgVhexPkGALTpHkeRSaFuDTLSKQawiKAAruyVrdIPZQssSfDKFxAaxFLReNmwVnYbvgvwydQTBQLXXhzDazsjBNiyKfhWggcEiOMPOTUmsvNGAbdCxqBWmcsJImOmaJoKvnFteQbDpfycDMUbCFKEUCVuXTkqxUcEromSzktTgkkBVNdbyBPsFHmGuDWrffuuhiolPdvcWkDqG", "BpUNvxUHuHTcoBOscrTCtpGFWxWKQjcLYUvnXjaRwBVvZeBZdzeUngbBbSbRyeZAHedQiJyuRUTgYHDkODlOlKNnsdGRyTbaTzMsoeiMPYOvSjzIqPsMRLTUZfvhLrGnAfwgBURXGeZRZtmNSLlvrYnDbkaGpgQUKvbzaOgxRoIprVPSbyedJRIgKuAxcjWhSAECBbgAujXRXrKRrnWhaMplppKpQSxVSFSebVGnOWuYDMbpdfXhQgkXoTADYCFUcUEuLiLdhRvEdltiDDULcgHNfXJQLbmZgZSPqqInvSixaDTJsYqPCMhUckBGXCzNwSmErvakRhjICuuRCOqTFqtsQmOiWTgGaMQXElaqKVxxVkRGimQHqgYXdtmQYIryKmKtKHtaZahSydqPxXkWIUOzpcFBGwPkuJBoMNmpfhaSGazZwCGSLSbLwqKwYvXwuiTszqvRHtXMuMysMNphrkHUjBcGbCQeqjUCcueTIwbXsvTaVcUuXEGoCPGaDQLk", "vWWspIqNqyhQqXStxoReLjLbPjFvyYftbCulylAydZbpSaPJlkEQtARNfFotRilvCqNENJlefppCNhPSNNAdKJSaQVVVwnRpYkVLNDOyVZAfixIeJeSqkYJwwNrslbLDuvpiSJgbymnfAynieDbsXlZVAtpTfzymsFCqzSZFXTecsJBezaAuWgndiFcEVIjSnsdgVUPBTwTHhVtzFbxvehfRSDcIgYVQPycRYhUzbcyTwxXFUQWnaxyRGaxtHjqsiEixDCeUQJiOmnxlyOvUpbuawLlquTPpYmTbDiuMWQdQUpyHeNpSMNtDhCZMcEsaVhIsdFLzLUnRAMLCXOzFcSZAiTYNJPsRKaxhDoPWChXtfnlPdBHupWqcVuPDaIETGIMAjsHYAYATWiSAssfQIBGCDvBrJWOwwDmNTyDvccilJHGsYuQsxUvVevccbAGVnPxCwgghDkaMnmZgWJZiKgaQHrCBzkGonrSBtFkxddHnavcqYwgycPEKRydBgDWQ", "AfqnWvhyAxxvRVhVfEvOMMxwRzjhUMXXOmDYlWUIdDUxcXjFtTDiKYKcFynqDIlHXGbbTNCrGxpFPCfslNdjslwjwEbyNAcSvualSrsZkOzwPEQxjXNZYEJdnsPSmehHWxEZiZSPWfOZAyCQryzauPxZxltrvflSVuABzGyllGFaIhBzrJoKjeUmdKUHwCVZNvYWajQDIoGkiUUkammYUCnqeGKmdknzRpFAxJmOKOdeoxEPrZgkLjuniatMwGWsZDlYyWNGOpEVsVbgVGJAAjuspjjDiyuuPuDEIpdJeBxkUDgImDPHYnmTNsFREjEpGGbjicpymudjcdsmsoDLeetokZPaajwuSndwEyTaLgqTIUnyyXVTFOmqwwohoAXkCLktmJhjoUGdlBfECmZUNwWYedFqOetsTKwEUVqksngHOElSygdrqOIMCRPgSJrSZMfrJqawFexbZontOYRzXMFQXltuTFAyFoFXonmalCxeBWwGsZZMDjzdiwnXWvWM", "RulyDHDwhOdMoEFRkgeWvgEjhRJSolQJEbYqMDwYzpWiThiWPEtdthwsGzORMkGIaTuVihsaiFoBfarjZvevaeBAWIMJdnsxTWmIdiNCdXkeHrrjkTQtvHmJToTETEAJfxvKzexIQNupaUHEcOioKuvJxLAwUZndvykmsbVDQHArJpyKqCvQjClEnfsmZKQrsjtZuWMAtsTfROcokoQTeiznurzNNGahHYBBqTBkNQhznVIHSanwQjUzsdJBTvrpBYEinoOvdlSrAqHhkzqbuLqEwNdRkkTxPnygrEvTUDTiQRXxCqYcBhKMpsiYIEjuyiyGrTBaVbzrchrhkQdHJNjqelGOSWaDbfoqObtogVZheFvzGAxuGjDUzYQrLxzVeebGAawXGIvmEuFNhEzzntAgtBlvnVPRZBsBxMlRgristTgXLiVJMUOfAIQnccmRlgqrrZzsciKOWmEPCFsrfBauZMwuYUePieqFhxeIbpuoLBYZdAVtMTsjaOwuMcqW", "mIvIeSYYrIXEunvFaxDZbZPGlybOWdZOEFakiwynXYdPTBLkRupCSilKNvMeAGSagpobzKmGoAYAXSpoZeCBQlVEVoQsbMZElbMratyenAQvRzMBmfZpgrFOmdltlLbGepMGqarQBfmmzdCHdqhrZobswWEneAvDaPxKjOtNsjTbrRwpWEMLOHRUmrCwJylqnPdBbSkMHKfSIAXVgRWyEnUiCnPNmIeTztnjViPwfRbAQpQBxvgXIQThXNtECjebMFtmKODbVfGAHpukCdkTDPdNAhioagrPiQAkoQAXttvDIzLiKABxPUSWQPylcQbqmszcRtZooSrXsqEPBgcTgFFupEmBkVddvIdtXAiCundzylkpxMsNGSJvjiOnfILvzTQrwbqhWtvlUEpujEuzxAfXeRFsZhNvrsAzluDyVfUVtszchPrqJVJzeLjZrwZIrpciLiuyKYRsBAxSzBiAUEopQvoNZpBgZsoErojHniXBhPQIdkETiXzmfQxSlWlv", "nPhZHHckmkbyLwValVixAZMDhBavRMGcHoYXiSfQOhfWpvgdbidAQeLIbIHDiYCYRYHkQbbVPqXMVxplSPJnZpahnJLhrauuuPAjdIHJkcNeFWFpTyKJONCSeLRhIuYhMBsfrbQLMgPNRjglPZoQaOigLsPIwtASqzjyLGNNMwXXEfIaMzbPqrqpxMOfLWIXUMDFkPQNCCiQQBGWcyLLqfBtIbaHpkIgnKQGrgxOdYolkORpsuNnKXvTjFsMJoBsKHxFmOsUXuJBXtLdcOxWeMNjtNgLoKSXJEyEwMRzzagatuKZKOJQOrGHTwuiOmmVWCxPYYXRnhooQThDCPLrDEevXzzdKsBdxQlPMVIzgjtWWlNbzjyJuhNUltTLounwhndmyHehYHjoeCpXICGYXjkyMtWqtCpScmOQGkRKnDMkggKqYzptFdwnSNMmuXCePeCWTIzANTYyzxOXvHEbLrBtDhueVoHSRgBWAqLDSpRlqfOifAKmhwRMCJAtOxVs", "EJsbuRtWdcNJCUZbsGkQDlHgzqtqYADxOEysXjppwfYhnKspStsBUUzUHCBZCHMsHarPSjHKKZJBlonbNNhKjkEZneKPkulyKYLhJCbwyxFjIGTSJOPoRILjhkLKucbaLAWDIoowZmveFHMMmJbYQgSaByTfZJmhFHCBCiSCGZueYqrhcghSEAIyTSfruSlFekraGDMaffQwOoqClkFlegLWAjyejTKlqANstPBwpeWVAxXVZlcwAHaywISkKEFVhVPZMIXKBMXvMUPOUNrYyywzNySZlKhLdRacTNTeybuljIhKcQTrYtMjIzYtpoBpSYzBjuKiwUMXZIaQBAeLGYPEUpysIGQHJdhfplddmRCSWFEOEvekLohYPalclwlUaVNULXUkqOtAnQEZYYlhupitjUtBIBQwovWlyqpEwTcGjisuaKyOyYHcvBZyYnQYFZHsmJxqmGbFUuwjxzexbUtxKWFfRjaaSWedCvXfXcgFyKoGwYziUhPGNYzwpJpj", "BbiHbcxGhYRFAmaUMQLpFGwUYivdejkfOzEdZABoezRMuuPLZCnyNLteTgfFmbvvEeVbYgCkIGvRglsCQomXWDEgeXXGXYVpxWZTmYxFpJaKgvAPlCPIOVhGxllnlNJBZQXfdDzMMRhbzjfkCbsuMGOWAsuyWljiQzFSSPzcKTUpKCELYonWmnRZObBjGxbGwIcrQJVwQlNfVTbUvSZTqvSpvcFlVGlqdHgxuEzWUbVVwdCWlDoGNCnTcGrwnIWkuFpgHVhOBdQEbxhiqBauOjOwICMzbwlNfiINBiAiEYHdZwILfrQmSFLbSMERBioRZFCZzEWNhGNIOeCYHcfLncfaHXvtvhGOmQxkcNuOeJJKcUTfgYAyIjvSsOwytIgibzyxcwfJfmybaPcqzHTJGadPIzTelTQHIMYzOmRSVnuYqXnYNzkSZzMxDwsZDoKecdlapAARvRaTlEElvyiQLIkuvwXOqrQUITlQtyhQVzlIEFdfzycwrWelBPbZqkpM", "EJeQdyEUEYgUNmtRCSmKoYlpwzLUbcSihCoghbIjIYaDXQAtxDSaCcnaqfIsspsAoiFSTpHifljxThAVVYwAqrIUIgpBuSQIVbfMRPzogTsReFDPOYvMibVvCkCtAVvyIWswryYYDHVfNSxLmrUAADcvPxopAALIGvokrrvcICDadjZKKlBNkPVCmOpiwWwetbXDqFTbvCtnIQJFDsOoXbRCUywuSDDBqRLQVfvVoNAIQyWfIjwkSPhidSenVmODUpcKtrCSWPOVzHEoSJLgahBrvAkZLMehowOjExGMfpoCcWMVnyjwZuuIyxOUYjQZfTRbdOwiwAayTxZouriqxCLxAegWUUHDUYfeVOTiZOtMHFSOAgtzCsHmmWhSjbCjrOaYhdZKPcQpxQWDltBfbfsblDRKSKUTzoNVkvgxNAGzQVLkbddvEvukcFohkYuGRWeRPrTSVtwKACAAQPELTiTUCsssMZWdazqtpwPpQikKkVMEZWkxrRTvDzCyrMTo", "iQVPEhpYIeHvDLOGqYRZiBRjAXknbxoIaqpctjMJlXNsrsKakbQfSFAhiiDndQzocPWAsCUBJcDtLYtwiRIQgpWsoqISQFSsdtQTJaDFkQNBsiNVjPphnpyAAiarxNDOMZdcrZgkYlWjsAgcszPKiOtiVSOMVjpDiUUYJZNtPRQRaIScXOFlwHOBNdyjipTzMAUxIPzyJQgPtQssDFRjLDqHqDaveMJaJxTfnRaaDHYjsRjCnsRXscGfkNeRGjOwTHjtzIUHizyVztfrcCgQHjaxZoNuCwZRfPpQcUFrWsjaGVWKhYKpFUvOBkdNBVXmkxDrmByZxdqYNUlKGXVeBByZORGikbhULfGdnMiyYYFBBpHqsLafcnXwytrSLhnMitpjzJmPWOgDLektvWRJkJXDTOBXTSBwbsVmdIadJWcPYwWeSganhKWqUNAzWwMCohCpTAKwDgmrdzUnxNnZZYplGbYYRuDFIVNzldTHzeQiOzNtZijsYcMoqQaojYAE", "aeGYkQLFntLwkFeUlnJfCepwcOjjArNtXfxBAYnIYCrcnBQCndMBAfSkWGiMVLIniAdPqCWNzkyCvtWVxECJeMvFVvVcGwNhQEFeAiqmIxLGHRkeQcQjknaGvpeYysoNgOWnOxfVKaQzujjxMSvFKywhJYHXRudwsUsJmkZyGHdqEqyHLxKqjxBOAPHKqsydUheYHPXWEgwHYjWinYWMktyhIVdytPMdUYGyuQucJXwtwjqXDMhIhecPmCRGsVeeyrLDAIRxVduHYZQLKvteykzlZYTHTpYRYTMeddHwerOvTcpeOycxbgkwaaiCnSgtPAgKCsSpICyFausuMWuhPZGoAGiawpoieQvGVOlSFdqhBPFPaFSRsssQKnGjWvrIFvRrmbcCPqUVjrngKkWpUhyZXOQqbRSobNYanlZMwNfEUxwCYjWjrMTtIoiIGRiUOtrnXXaNpJMpxpBuzFGJpfZetuggulePQZxIOsNcnkhvAGKDCFrevkJMphcnrbcR", "ZSbhOaBhpDwaWGtmDnQbSwKUVNzMkGdFLRwogouEFKCBecdmOtgozNYGGxBaIAfoQPVuxglhJrHyNyTOkGCCablycafWZDManHHdFSNQsnAPEnsILvmzWgSvNMaAyRYvIdynOvhxFyKgZXERoEKHdPVGsWeIfFuqqYSUqlnDcJqUpbZvAEaTglIsacXhDbhoUnqKsQKPcKUcQqJsMgUnbDyiLKNCmlsgpSnawJMsOxiGONIbXvdbHkpHYkSdtIbwoUWfJgfsSKXxDfpVvmUfEOxtRFJJtCsJYeuJhYJXpLZNjCKsgufOgCuDVqLZjiZDfcHfxblWZQlEJlNhQSpjKuSUCmnkekkZmnqDMeRkiTJJUanjwWSbPFIMfnbalCksiwLawUogMMyxIlhuzlvGUSLTWrkBRvdxaLVQHBMiGtmILYxsfCAkVQKXuKgEngLwAGEYehSHleYJaBIGKFxIzTnomuTuQBSwNFwqIsfBNfBzCRAiknIlFHapuWXhqCxY", "PaYEhmYNQUgMKEZPhMYdszKOhtqINVmuDBgREynhwmEcfdDByeLVhclNcvHBgoheskSYfCPSRVOBFnmHSfWuySwjGeKWUvGmJvrRJhjEbynwHgZltwcloLEihgmkLbrBwiXBDVDpGDhAZKbWALNTIXKJmjdTaaLRWZgvZgsVhIKGqBlGaoZeabGkCxCSfxxZmVrzOSGzWJxkyxbYmHaEUypuKUTYPrBsBWpoKBySiNRnxSuYuHqfzenfMnIJwUQcbZlzXPsXpXAxODKgtJnwjUNKhNWrNksKJdusrSKlBAkyFQhZpMJdrfOSurLKaMTIkilZtKvDhhFmhcZeMcmqORgECSnaqMppQWJmctFkzoUgXStkJIHSyscdJRnVOkLnCAOJEtWWkZQwgXdGVCjhQAZILVwNnIBpgtxOmaOiXkCKFZNwAuUqaPaJYGIasJfeTNgQVxtUKTSHdZMvbqhwNXYzDWPnSvbVizoYiPkAqJDCrYiawePNXpBzxRUxKpjx", "LkRtoJPiWPIqKAJktoPscszZzUhdDGAhEmOwKIHCKAfrIZxxoaHMmMepjODmqTAuslOjGmymwSVPWIGZwnRQfzUIDulapPjrOwyUOujyVaCltptcfNQSKPPoeeAfznPtTcNvtXDWZQUfwNdjRQrBsnQlkTLFePARPeoXPNKKjKpzeYKCTSiRllQgwFBqpPjaSVyDfFBBhlAhJipDhlpqjGOrdOqxbfGEHtsMQEOFCNUCTTuuvqaVudtrHdZRenhHMXtNILAhermdFsexDTlbMFuLiqoJJpsgBDluitSJGFhJNsANhIYiAWyLTkYYRpipPWOlKyHeaVfKpPsYQorfhilxlAnUlZmBCwLoitcJiHMWwnkzgjLIJKtSpfBIncZmffRGFYmZoxETxqklBjcoEDsURdCyJmYDeqRZlRRVTCSPhrovQfolRXmCsxARiuOequmzOBAjajKiZUhsOrlJcJNmzlnzjlUgcDidaoZYLlXrAWYwDwMGVmQYlTNbdWVm", "cBYNkhXhQneHuTMwQImyykfxlMSXFaMVTgtaqMZiYKIMHgOSIdKXrhwBDiLqmRQxwZtlxQyQjSutnJbmqeUEHEsHVXFiCjemYKLAwLOSkqxPjmfXDVERirzxdCRJxgxrImtmzXdrzNjGOcZrijIEKqeSprnrhNBsVIqkrZCMQKOWkCSfCBvOKiIrKpjEnjDypVHXegAUKVfRQvqNteunbsVTqxwYdDMuWwhSxtOtmYbelflwBYyZYjQJzBmuNSRuTMoefEGsEOUiqnkdaLKlxcPsDxcnWbZpipxMgWdomfmxTtssSWCazyLByYWPelxEAoBhzeTDlGaFcdFuoadMoZNijiCpIYjsNPRLPrrwoKuvLzotGOdTEKptohpBksHYEcCirgnKbVRQgDjXJJzRmsEUyQVUjEInKZnrNQOHbkDKyvuqSYwlDxREaIWadhYggjneOIgWlSmMyTFtRZGwKDLIlnkEBbpxAGsfWinDBMBoBgpVyjtRDHPxJBxqawJe", "bmSJVtXGgUhkVrDPcqAUqoFKVsCrEvLbaFDhtLXHTCKAxxmWNjszPbGuTsjOplUYYTYkIIqWLTxwqZiovhsbsMmmGRHmXEDNaWACrzeNEtDxSEguAnyRoMMgxBKXuiGOibfHETMQvXqxVINkdkXHqPXBBvSKLXzWkuRRPMpLSzGKNzjCNiJWwfXEgdtbndSMVNuOfdkwFdRyMuwsDPQaiILpjkpYCunwcQDDVTbYlWOZYMHQCxCrUWsbvnniMrSwGcjuytsYRXcTUfvPBfuEelWAjuXyJBOGPwDaOtoPBaFzwOoidrZGDgBVsKBbxslrxJPTaKwwRFxgbuebXfuTMKiIYKLJdpNWPiisVeRpxWtgRKiaNNkTjLkMufRNRjaOTNHAjIpyAkWUtcukvVPlkhfjZkWMipcniRUZDlNaLeYGpvJAnxbqgFFmIYBVeIFWYIWTPlCSiwWaceqLjtSvYcZNleKxzYMGKjvUWbIsFOKudicraKsDvqaNJQEgQXZz", "GnrQKYyAoSmbRVDLnNPyUBjnDTLvffuqVdBrwgUkOehtyKFugwCpUIuOhmcrMjQBpiJSwlHptVrokdCxKmakSsEBKfBZJcblSfjLwvMXVdDzbJXGtSesOqbNzEpXgUkkoDfjMQfxhAMsCkdmxUQftoCzwMnsqJhgTFBvmZmOnApzqRQCKzuLTvjtxpNobCsVJnZAwXhJwvtMJTJgiSrRlLLnZpQbRGaoGybjFXkxdSrDtxNvaTPMoztKoVsGWXJxtiRkjDcFKdsKIamxfDQNPgDcEAJQrUxEgXeFVjWbBuHkILHAKLyvJIwfkyoLNTzpFVfyqEhbDPLkSEVjakfqSNzTjuTjegkhANyvHfEoWdUiySeJwyiLedCtHIXtFWPAvpkNNOgirWMhobHnjMEjclCHWKNJXzZTOXRLnjJUOMyrcCfhTotmmTAicwPvphJFnCKigZpKKeShRgXnPgLxfLFUJYmTNXDvTwNTfsSQqaGUxWUEtUPNqWEIGfEIAVMY", "IjftLELkIrTVEPspKbpXfLAIeVUgOPXxJXVDOIbDIqwmEvhJYlUdqISGQRSzrQqvSjHFYiFhcnTfhCJVqJzBGQqieMwVNPHMJblXmVhSJRsPNTHTzdRRgMqlqSibQoRGuQyFGuWqsJitGmnIacWjGkBPXcpmYWKcbKLKfcWvPHqJqBPsgZQdrrBsmxqUkEedRqWiZBPtYdnRrYGkoZQSoXDzNECqlGWyMbSBjEdfqJonMyytYeniTvQsqvcaOoEXeTIViPhUxkykWdpnOuhmVjIzALvNQLBKAXkXjBxUFeYPCzBhIMpRRUgGkLDNVIajqbecRJWBEOimGoaXUVqBfVdWgcMvCUviCzqoBNHAfteEesCzXdpIMOLbpBxcoWnYjPzJpqsRolxzCrHUFcdIaRbzSHwfcpMkpdCSZGFZYsmEWpjCxSMQvrVKYEVpCiYkbpAEDZIgboUZHwluopsbsFzmImYJkDMvrGOqRpyWXjbgwEdNHSyCvejxbRDZksxh", "NXUCHMtHfPUIYMLKrXXbRsvfCUaYZOnfuAWBvYeXcDNlZrFEmeeWwOKMNexIgixDPZseMLODRkDZtVwASVNzHqfvfGzgETxOUtqgkWahnBdcXJCYaViGlpgXsMYVEHslHzKfcVjCmEMdUpXpYASscQXvVpxMKzSucHUdEIFjsRULSOBHuwUpKoDHpmDbDCdxAvfNEknCZNFaQoCwFAxMphLFsEpvrxpSvYgMiJfOajmNndQIgXdqQZiIfcmveEUaWIVMBiDeKpDesnvRrNmLPHYhGsOPgEtnuJXHLCdUcfXCjXPxkowmcBfpIweVwOyyinCbdNdMcLOrnZuRahsPAukxeqXwJohEYKLXmpxodJdrWvZEgVoJwzTLctRbdbWvApvBMsVVGLwQfHAKsWWGTrfilREWjLtbmKSSHxOzPupRWWSRltAPjzmFLunfIMvonMfSVBXTIQRDTRCLbwdHBftcnCsVkVgSeXKkSYMFtsrvjOXxWDOqszzUEieeHCos", "zhLzeaJqOWHIPIrBCDocJGCISNsqukJShgZsefqSewPImGdskCSxlfQNYwMwdKslhcLQSxxHYtJdcHHtuTGSpsSfYcfrDfdcSTdNvNfIjThZYBLoCYjPepXRajYrvmqhGVTwpyVMCQUCxgeRvGnAwoXDxUIEdQvkENqnJHcJGsdTQHwBsliHXyCLkJHLkPQKCHuFTyVgzoUqJNTBRtoAyQhszJnQfGFwMvnUcmPPxWdbVvgFxATBCGMPotQQxNUeKTpleQAtDLZTfCIJzJJZckAcPkBpJBUIIvauyDWslGzFVmAaoZnKzwxQjoUZyuPscJiVMKNjituTgxOcLXMdrrSwZUWqvtVTexpAjgCWIXKmfOSeZveCYVcWAzifsGsEuBiKusgIKqwxBpydkDXfrRZDwPTKdZhuguArkinHWfdpjixJlXpnbdpDsXLIMujnYobxREZCAfhJDeQuibXhCeiUyMjsVhhXleFVswekPIoKiYQgkYpwryiuBOkqDyAV", "zMHfgKOejGTWcbAYHZwPdaXYOuwbCCmNazOjpYGThcZUlhfJrvqlyOTvRjporNrZEbnYFPSetymdozGniuCqEdLveWPpVNDQuGFzNNJHeawEVAvtzPxNChlRgzEbltuOiduTAUdFVlFBFfKPEmGcFESRSiOTTXJvOtmbQXFBPbQxtcmZFMcsSoiivYVfulZRlSvwbgOdAsLsLVIKmQvmyWRGGauoSlEjXUqjdrXaeEoAbWzwoKZJrDvigcpmVPHRUyzsWcsnIfxGgeAcIQANbeuMkRsGWDRqaldHrRQliXfBMkAtgSvvDiDmxkFrGPObkWRqLKaSYNSrhIIBsZzvIlLYqmiumzPVmemKMPWgBvBBYYGgcAYInUvNEOvbWniYppBIbHXsygZdZMqaluAYRzNnLJZRhwWFZORspulXdjUCnobKrotiaeKycHonguxNUZAudkaPhQQOYuUmFyWUicFHgXYhHsQJIAPWCrdsVNHLHfVRnztXYBGJhGzOXAFZ", "vAXkpNopFNgmpMLjjgxqYIUDcjIrsBQjLeiVBbzXBIidEgmSWmhzzVyzebhZOXxDSNsxYghejbGvPWgmJryLPJjmbImnjvKgZBTGgcqXrxXdMdpUKLGZsqFCRNJWKSbEPpmDRvdZFBkUbuSjGkBZZKasEYwgqiUSzdGfRzTVvIESXCVuWsTDMkwbvMiAsOVXyjioSrVNMRiKItOpQBkPiLTPIizmdPRrhJjXQynChvJMVYxkOFsCjEwuxaqUnmAmaGDScrIzoDeUdpgmpzdORFCLogqRoRPJZqPpUBCBPeyvxzzVEKRyuftiiSBkNalILGGVzMCgTLmfsHVunSFMhrJSMNmDPtwrRDitnRsFJgfPwFtlWnrviwojDfVyBVengfrrcWnDNoLQBjkGltzAwzmaJLCcfGwSnkwIGMHdIhoKuoQalTEpcsvqxoxHJvKKdJIKqceplXAzmBJRAjZnksLcXeRFGISstYHUTRSqlkNJVTmrNXWKRqfmZzEeuNLs", "wMQrAtUDujaMKgjDavJdqJvRlweiZcAZrxSGYGgYsghcLDazlJbWRByFwMHqhtCvLoVpOkLxUgxQDCOEdoNFCAMLiTmmTyxiTggmEdsHbPbkHlwlotsuFTPDCsiNgczeYZasxxvoFCkuCxFddIhaOhBkroLnufyXgAQkxnuHjvJpqJwHGPkZBFPnDZGFMYQTjkmLnBvIhOnQaICTvTGOSXnMeQoBFftHrDuzzECJxqwRKsuHlrQntWLkxRLhFclOGhSiPHzkXWRaoOfJpkSBcxkfmTdsaDHkiyymxnAmDNYwZhsAlMZLxGtbLFVKHHHScstZSSTUOgESEaotBUSDPfENbnuozOCdMzBJjpshLZToKbuYXAiupKBgwIyDKUUvlzTsDMfupDNhpBoDBKoDVYSCHWgMTXINfjHDbpGAQQDTwKtOYTraLDVfmZeRtlXzBeJoODTnrKspwdMNrOlsLNzEkMSckvzrgBGgvFwUzUqzSzSKCRDopHsaxflnAZmr"],"c_map_smallint":{"c_map_smallint_1":1474, "c_map_smallint_2":15258, "c_map_smallint_3":121, "c_map_smallint_4":-6430, "c_map_smallint_5":24029, "c_map_smallint_6":10675, "c_map_smallint_7":-26941, "c_map_smallint_8":-1600, "c_map_smallint_9":-29463, "c_map_smallint_10":17027},"c_tinyint":-73,"c_float":85.15152,"c_json":{"beeribu":"75 IBU","minecraftwood":"dark oak","company":"Brightscope","int32":1235787335,"lunch":"Mediterranean tuna stuffed tomato","beeryeast":"1098 - British Ale","streetnumber":"749","domainname":"dynamicefficient.name","adjectivepossessive":"its","email":"constantinkihn@stark.com","minecraftfood":"potato"} }','{ "c_map_date":{"c_map_date_1":"2016-04-11", "c_map_date_2":"2002-01-04", "c_map_date_3":"2003-08-28", "c_map_date_4":"2014-01-16", "c_map_date_5":"2010-08-11", "c_map_date_6":"2001-05-12", "c_map_date_7":"2019-07-15", "c_map_date_8":"2016-08-27", "c_map_date_9":"2004-03-24", "c_map_date_10":"2009-01-28"},"c_map_ipv4":{"c_map_ipv4_1":"109.72.253.56", "c_map_ipv4_2":"209.219.108.197", "c_map_ipv4_3":"33.109.239.157", "c_map_ipv4_4":"152.197.24.223", "c_map_ipv4_5":"148.34.64.228", "c_map_ipv4_6":"167.20.250.176", "c_map_ipv4_7":"45.92.2.2", "c_map_ipv4_8":"46.91.250.95", "c_map_ipv4_9":"74.19.204.209", "c_map_ipv4_10":"36.8.105.98"},"c_map_ipv6":{"c_map_ipv6_1":"4d37:d1ee:c60c:6e63:5c60:8c1b:f7db:9beb", "c_map_ipv6_2":"a81c:9c2c:bcb2:693a:fe34:1eb6:de38:7957", "c_map_ipv6_3":"e877:da29:8b89:c395:744c:1309:c123:860d", "c_map_ipv6_4":"1f80:2e21:1d90:4076:45ba:2aaa:8201:1615", "c_map_ipv6_5":"b55d:8f02:da65:3236:9651:1d0:8fb8:c5a6", "c_map_ipv6_6":"62d1:a2d5:90d9:a29f:57a7:57c4:163c:cf85", "c_map_ipv6_7":"4774:58a0:2218:71b3:4094:9894:1d94:56b9", "c_map_ipv6_8":"5b3a:d7c8:d736:1d0d:c23b:a1b7:ccb2:5c33", "c_map_ipv6_9":"eb3c:342e:72b4:e18a:e9d0:5910:f2b2:8eec", "c_map_ipv6_10":"93ce:4ed9:5561:3295:a9ab:3c44:a78c:e241"},"c_array_float":[5.48742, 29.331821, 20.110704, 44.264915, 76.547585, 7.720396, 59.444164, 51.92951, 54.678177, 35.665524, 36.97616, 14.198607, 23.852373, 13.190419, 65.18609, 92.78904, 87.5879, 90.87105, 13.267975, 33.187286, 46.53224, 11.523277, 80.585236, 42.35467, 90.59086],"c_array_char":["bnndCkEMkI", "ZVVOrHJKSY", "ddcxaRLAXg", "WNZUqnyMML", "OHizblRMoC", "UBqZcosCHz", "unrgBZvNCS", "VUNVZxjpPt", "IsxDdIqNVL", "ejnnsAlAJZ", "bGVjCkPVrd", "JZAYNPHSXu", "wMvBqQwOGv", "hFNQVEESah", "UtERuKnRtO", "neBlZieDiy", "NklvENDxOG", "XqRRytUUTk", "pcBtSCOWav", "vxAfmUmPOH", "VVDUvQuGKL", "QgVflySvTE", "JkDAuulkpj", "LMdquCcufA", "XrucDbtvGd"],"c_map_decimal":{"c_map_decimal_1":96.1747, "c_map_decimal_2":95.0209, "c_map_decimal_3":95.0764, "c_map_decimal_4":68.0873, "c_map_decimal_5":71.0610, "c_map_decimal_6":40.0208, "c_map_decimal_7":75.0547, "c_map_decimal_8":61.1746, "c_map_decimal_9":44.1333, "c_map_decimal_10":11.1632},"c_map_char":{"c_map_char_1":"uEaNbDpICe", "c_map_char_2":"dhDipmtXsx", "c_map_char_3":"zxsmkxKIHF", "c_map_char_4":"GchVLoYaQp", "c_map_char_5":"wnSQigWRuE", "c_map_char_6":"uJUkBuPDAv", "c_map_char_7":"NUrtyZESvJ", "c_map_char_8":"crLItvaiQo", "c_map_char_9":"VFXaZKOCIR", "c_map_char_10":"AgIFsyqpUM"},"c_largeint":1649753074141443241,"c_double":51.65478727700192,"c_decimal":72.0617,"c_map_int":{"c_map_int_1":1233267175, "c_map_int_2":-1291447021, "c_map_int_3":1841445560, "c_map_int_4":-1928582249, "c_map_int_5":-2002776773, "c_map_int_6":-1040921319, "c_map_int_7":-73505150, "c_map_int_8":-1085849444, "c_map_int_9":657468314, "c_map_int_10":2009154254},"c_varchar":"why","c_ipv6":"82ef:4bfb:e1fd:832a:894d:b3a3:be0:2591","c_array_int":[-616557559, -201472982, -1400254502, 1095915414, 688835705, -969814843, 1738305074, 1508892309, -1524022397, 589691276, -687939101, 856399688, 1182825039, -429334701, -197555337, -1983897859, 1646718554, -1148096680, 1443526847, 1888560352, -409251086, 422404664, 1155415013, 1708861674, -454012972],"c_map_bigint":{"c_map_bigint_1":-551316565613090606, "c_map_bigint_2":8715273260150023748, "c_map_bigint_3":2270833901871275907, "c_map_bigint_4":-6512971971256294054, "c_map_bigint_5":5472881312267607724, "c_map_bigint_6":8125140023013477200, "c_map_bigint_7":4114651915221711208, "c_map_bigint_8":6530853563443266910, "c_map_bigint_9":893679347047373027, "c_map_bigint_10":-4289753279557685018},"c_boolean":1,"c_smallint":15766,"c_int":-1926455298,"c_char":"xTyOhckwDK","c_array_decimal":[91.1709, 6.1899, 86.1931, 71.0351, 94.1655, 31.1745, 66.0026, 81.0512, 30.0663, 100.1699, 49.0314, 40.1006, 95.1586, 69.0881, 81.0905, 33.0654, 42.1053, 43.1928, 16.0867, 42.0573, 51.0156, 97.1511, 12.1354, 71.0315, 77.0155],"c_array_date":["2002-10-12", "2013-06-17", "2007-08-22", "2007-02-12", "2015-01-22", "2011-12-12", "2006-06-10", "2001-01-15", "2000-01-15", "2005-09-03", "2006-11-17", "2014-11-25", "2006-08-05", "2001-11-10", "2002-10-07", "2000-10-12", "2007-09-21", "2011-05-19", "2012-12-12", "2004-08-06", "2014-09-27", "2018-04-08", "2006-11-23", "2014-07-09", "2005-05-09"],"c_map_tinyint":{"c_map_tinyint_1":76, "c_map_tinyint_2":-63, "c_map_tinyint_3":73, "c_map_tinyint_4":44, "c_map_tinyint_5":30, "c_map_tinyint_6":112, "c_map_tinyint_7":-104, "c_map_tinyint_8":106, "c_map_tinyint_9":-72, "c_map_tinyint_10":-106},"c_map_largeint":{"c_map_largeint_1":228923716915557747, "c_map_largeint_2":-8216072826315749477, "c_map_largeint_3":4826192339136592258, "c_map_largeint_4":3946107214990919557, "c_map_largeint_5":-636635571562067217, "c_map_largeint_6":-3054907796735443174, "c_map_largeint_7":-1617138102369495841, "c_map_largeint_8":-7776543007899794230, "c_map_largeint_9":-5131535911518759263, "c_map_largeint_10":-6400695821127122830},"c_bigint":-6696091789310517502,"c_array_tinyint":[127, 48, 72, 67, 3, 23, -92, -45, 68, -73, -89, -62, 120, -1, 86, -10, 127, 38, 113, 55, -93, -111, 0, -25, 0],"c_array_bigint":[-8524733285341808016, -5566125057231347001, -7339625365884596884, 4409935170001053949, -4266563242168163820, 6374261639613742744, -3086426173476507078, 4181973278278976776, 4584020372912483319, -6161932119592030560, 1520832563087490721, 1480402042199057216, 8208021098550264147, 3225706417033235433, 4306516702986549834, 3291027611070627222, 816657139614833088, 151302006323170054, 6986857812804552960, -6458341702734166772, 8002404661443028653, 9046882975156560085, -7221698511573341939, -7575489865619005125, -9024510677160812852],"c_array_largeint":[-7629034981708333208, 2405023682030078825, -4987447531633521355, -1411874060046168726, -6054439711011705627, -4286780070252531719, 7589046893573641612, 544848818461683073, 6997137198356562189, 6879666942850901720, -1301629397389337831, 2485238910433009495, 8993107377172538705, 5963410709158613586, -2817870832814746369, -3774405197182139457, -4277130470345238283, 1163574042603211896, 4568142694173928353, 4779527155223953493, 5962994918900045347, -7397910738619155860, 7415998355600846599, 4712391823512858831, -8687632918551172097],"c_map_double":{"c_map_double_1":1.902181657439114, "c_map_double_2":15.60141157861609, "c_map_double_3":14.591200884028012, "c_map_double_4":1.9279621021044027, "c_map_double_5":79.99613145852855, "c_map_double_6":87.74311953274541, "c_map_double_7":23.2633598671758, "c_map_double_8":17.9821908494244, "c_map_double_9":61.28880268337388, "c_map_double_10":45.989115182805726},"c_map_string":{"c_map_string_1":"eiGqbJAkkCKBYfhczpkbwthnTYkIgiQtQzzWtIxgPxTdlqIJYJmVCApITbDJFbwafICuFVoaaGUqedfczcgExnrfgGwSEfooIDBduccIJEffZocopvlFsWCvTWYEFcwIaQBZYkGYtMhzZBYqktqgWigWgBTJAQrHZFtNCSioBKOMWAyPAbYFhBvspHbTErhznkOQymFXdSLTpPBNkeeqslTikJFvLkpAnSfmRpKNqyAFKDhIjxyeakmgQettuUSGGkVuOzfsunziEPEbvdGpecwFWRCLjtBVLTxYcdWKNZXnauXEtVJXRqMuhPpLIjmpUgAnSHLQTMMAtEMXbeNKxEFZspQzJcNppdYwAFVswZXZtmkLDytJuvjHYEcWyfBbNKugpizJfXJdFqsFjMRLcXxmkryTmpEZhUeTOISHdFfZQmbglMmzQSiYmaTqTnYWkdrqHfRlTSZOXRwUAymNawJfpqomEEHtJXrVuzafHdGNPCEcAEIKKULoPbSdwlLA", "c_map_string_2":"iKWXNuTDojurTMOBSDgnSYYoKQJOKeTWAmVcaZFDbdPCrrDnXvdfgBYFfZiInkLWXDhuYSFaTYsYOnURJNhWoVMwecgSUqSuPoMSDgwzwYuSBHeqFiatQXUFxrvcRtryIeuDASHsxplJZsexbEecsUUFKONcAjBbSlGbLrJdMJHnphzyjnVKMawbfjHOkaQdxUjtbQfOUUYOnoRXKNlbXvdXlEngmUypNjXkwEgiXbImnFrKgMSKAwlWVxlvoTGIwAtnKGXGkruIgFoXaoBQuESlLEhPpmLODEEQgrAqkGAhqusUEUqwjXGNCNZobUwsdAJbsgaKHbTjmsLBRLbkRwommvfrRPRBieDWQOMottmFbzamNqjUaQcUrBKQnuMXanyIzGAcmdGWgBrRKhDRJyqlntngSgXFDHbURBlFpSDWHhdEycFqcnjqGKPlBKjmZUDEPIDBydxLeoyViVNEElqxEKayguIypHKAAhLqXzigLcNFuweGqanImXaRPQkB", "c_map_string_3":"ViHGrlMaGcRMdGebMXHKZkUTxvOepBymfWAKRHFfLJboQqdBjEBLRsttAjlkuBjnqUORxlTAkievJbepvIbDaPJrWiIVEFnqzsYLIYEFntclIDzbHOLhEwjLFZQobvQlAgXmhXNxeLgghwZahoixkuoYmtStxCZfdFdWydNTxnOWAwNlZOwnaZHrYiSxEwkkgeBAtpqlPFRkyWNMxqUUJzFqaGGYFWabrWGYyglRqJUBDDxQIWuFTgsQExExLFttkQIrfUnakOiROweSLfmTGkzPXQsUohHekZOBOfwOyNtZsqGoSsdxMkWApMqTnUbhNwCaamjJDVekqQSxkqjSwaMWPEbkqoVOdkGQyELOqWkoyAiCadXItGzaWsVnyAcmChBQoTlForsynSVxXqVMrywvagtxykQSKHcgloRvtrRmgCtdKrvchcwBvHIkCetYpSrueONGpJRZFTUAavyEQuXnZAFUixCuehuZsbrptWqSYmENLTaebekgtuZHuShS", "c_map_string_4":"TSOkqTCEdWKiLUuquVMMTFvPEUyLmnVzkiVJCLyuVNWQaLnUPrOejjOvsscLtkjcJXlxdAjzIIrMrVmVJTbVkWwcHzMAeGiCCioumEUlKJnoRwKsRrVdYoXxiXPsqfZAGaiPpulsoiZEGIydgKqtJvCZHOdeAmWvCCoNcuYRfVDQPZYQgmuBPLKNpfUdQpMXvAfxrWBwzROEFECdrYuwLjTEIIDEsRfUOffXVxiexQwikVDUToMOwmRsalLZZBgzFrRPqoSAbsQNGCIBRvoqHikkWTMmMFaSoixSEWePuxgWdLrmoxyNTdktNNHagDSuISlzYoLubOiYFqQDZnEMjKHyMWqzmCDyozkprRyinSotwEqGEvLAhrgNgxLXfLyOITUUvtUFxytBhWVlUiBGkxduumOqVFjqHoamFdMcUaHmDKiwDVeXqhyGpqwVDmfMQUDJOCplhFjLqOlMqjDWWHwGlTglwJZVuKUUmyxTFWKbwHhZbJsdDxvgxGZxfWBl", "c_map_string_5":"OGWEUpBkdNpiVVdZualRuwhAsSThiBDBHndGajYTdVATQJuWdGdCusHTIkpyAqwAglEjMzqxRAGPmZkQBHGbzwzKJuwkPRaZbdYlZNLSlgcvByetnZsbWVAZIjemGnfZNTlAdKHXWCcXOrVHYBjKFYnJaVbtIXQKGGNoVBcYGYgmIUDPfCuYrzfDBnBwcNFrMDFvKYQkWYXrcxNwaiApJwFeCSnsfHhsvUGRFWSLuzKvCDghcQTDHwkrrNAcQFxPGMPeiybJGmxttJECVZHARUWdlxROsqmGfkMhdzvxMVEVmDciAEchpehuJmfvmoOaIVdkRWzCGumDphtIYkDvDTcBWVbKarcOeDJhKbVtRcxqrSTIRKRVZLqjbsgzHBUcAvYolLFfpJEStJShefhiqSfJfgZHUcJWjsxEzHZKxocoZotAiGYZJDcBXGsLJBonUOhBLbRXxsjuOURspXEtaItbLLkhkogxWWVcLZJHWohLKfvioKkqepvwWmsWyZvr", "c_map_string_6":"vEGhZEVQykFdmuGicKaOWUuyIZnoctdyYVQcpSuIWZjLPcaRiGsytqWHQNVrcGajWHvBDdRqKdqvELeSLqpKwVUEOQGCbonmXPxsVxAVIkiqDHlZuTUoEohzWlEZICXCZvVpxKiEagyQUkjUTmFbmVsprDNQhyHSyaPXxtGpEkRHwPAEQdvgycDHirKTnSIYpCOekwJdBpmMlMnRLGPdGUuFrTjQrzIfjiYVauZeeYeRyuOiENFDHOQwhVVPZVWYRHYyxGXkALXaHrjUoVlOSOWITMbZsJdUQDVJzeYQXMZmdpRBjKsQqHjKYcKtRILRexgBgnUGtuExwpLFokLtYPauPjtAaFusKWsauRlPiWNkPrPoFwKFfuFSrUVOUuVZAsazADjVoslwFXlgamEGHdYWYgtZdTqaVOGkLLcWAVGfDhTtgIOLeujlkdBOwuBynKhBDVAvNBdvZYSYiDlTsgEMmNbOiqBphYhjyQmCJpUbrPcmpRcqewDqXvQXmhjr", "c_map_string_7":"mIvdRhqwlJMmkwdsNDhdDhwlNHwOvhzFqxbUqizbXQtqBhnFpFKuSpXZcbUxIvcaVfzgyHBbMWYzfpGTFnDisJhcRDmNuaPmFwLEUwPHBOySWwuLksszClDwFfcHrVwkMXBuFWmzcyrkZFIANttrPJDlEFnaAOdDVBSFfbhbSwXyBNMwQQzDxnIPAjDHAtsFbgzspKSDXJzCxyamVmyzskIxPAgRebtmPRQLoPkWOobhqvcWmzlXGyGqvJRywahylcCBnmxZakMODmBsCmiEPtOlxgdzgXlSAEojypDNzaAEXuMcyBSVDMrMkIbDHcbpzzIXGZBkCqOqNlVlRMFsZqIhDkKZJkoCPQPGmcsUvsoRVPBvynzADPOsTFIecLLkSaAGcKyTXijrAuxDQgVyYzipCsSOGEMcIJmsXpUnvNuPkwVfdRNiBtBRMdopCvXeLtzvvaQhpiBNRiroSYNDZqYMoWEjRCZQPfNcOnItrKaNKqwZHPcYdayhbUTozFLz", "c_map_string_8":"nIaiGMazRCOUAFakDoBjzNFQXLukOyfjkpFWoGwhOWhcBQUGlnLDyKZFjLyMddXdbOwMwfaLwNBuacTrcFckcMMSWJvNJeRfSxqukZRNFVTHsMEaSMRVgyapXjSxYMMIVaEYRKZvCATQFFfrqFXEVIwfGLkJsnGiHbRakjJGnRKzIZfVdBmaMZriFKRpwTGIRixSpeegIVwtIyGOzNmgXaMTacKmplFOZuWaXoBimnhBJMpFkNxzigdBrxrlbPbWHIsEBHsilZXWZlwnGZrJmxYuuVOLfIPSCLNfoYambjKWUAFrZogKstFJddwXZagpnFoRKvkpjLzeXsnVOzKTzJRGKUDHjqZwqvJuYBBYqobxlRaNQtDjTcFquoSDPeWTcPkvUMEDVnQwpyruOmjHiRvmluSctVtxEFxHDadptwNXFtfwSVMHYhgHMTtrsuukugKvDTPYlZDlNVTesdrUggidvTnVrqYGQrsDRgXfJHDkuPBBgvonqzsfdYqcwEjo", "c_map_string_9":"xwKFgwJpgtfOATpXasXXhvDRaQQszxGbDypQcQNPIxemJjYARCAKOtuWnkXbBPTVzLdaBOTYIymhmsOToGSrGXLSpTjtpkJchACLQMPxVaHRqKYmyVgmDiSQhzqleYoluqSbMPKPPbtMeqooVuJgHJpOTTLHOYHdZblMZRxjcavwvSTFjtDYnVAGfaTkEqDfvOGOFtUvCDOseVKCSEUQXmlcstiCxHhNxyEdQJSpnPxfGpOTkyEJqstygiffUeJuIJBOVKRfFVrhufDLJOswwLRCmNeydlOMpgUowIQywrMvUJNwtxcmMdYhLqIlZlQBqdSNkbptnirnxgPTEiKSgjHxFaCliqgPouXmIlCPjfOqWvmbliwfGogElAGICSwzzahyqyRFmHVFWMXghIFQKdFsuRPCEArGbGWrtjdSyQJZWEZWugFQzcaCMEaEPjyoBCoUiKlwWutYAlxQfKvgferaWQVwDHpmFTTBeLTmXfSdihBnkwOhDVpSuJYWYXsw", "c_map_string_10":"nhzPxRERrrTzYAQlPrFCGVbyTVsLmGcuKYGoePJHebVyltMBiGNcIgHTYnVOGjPDGLuoiGFArjDsUoVhqdEUvultJeIldlXBnVHpWkwfeEBSeIsOHUHQgIeWetgPGnRCHtrLKxPWunjHzKtbbSPmAFfZlGjJnvgBPGikaOIZoafLwITWEwQzpRhLFsFCIUaBpcvnUnNzTEEVxGYXQPHMumhoEiFSuwdjCemVFhpSobNOlabjxtAYBvbTQRYpdIVZNxqpFcMNEnnzABZSRIidMGocTRVZQgELmlPneKEQvmLHdKcxLBZSLqZEMgUyktZEcgDFJzqKltqTYbhWOnNeCOOwGIAcYMmJWnnpSiMylMKQrNdiVpTPAwWmsoPoNVAfNgMxrQQVQrfgUScWnnMfoOspiBAFHxWnZypvPfcohOfiywhqSHtDXoXBAMNnrSIEclYcobahVSOgsPlAIJyvsjVVuPAvIDLjxdIpkdhZqeVSlOQwlEFpkDSIGQRTgjDa"},"c_map_float":{"c_map_float_1":18.367086, "c_map_float_2":77.66807, "c_map_float_3":63.390194, "c_map_float_4":63.834618, "c_map_float_5":93.660545, "c_map_float_6":12.962681, "c_map_float_7":23.814392, "c_map_float_8":51.448498, "c_map_float_9":51.454937, "c_map_float_10":81.01689},"c_tinyint":117,"c_float":32.35967,"c_datetime":"2006-09-08 18:36:14","c_array_datetime":["2003-05-10 01:16:07", "2000-06-19 02:59:47", "2019-05-03 21:38:09", "2019-04-14 20:32:58", "2012-09-17 18:58:19", "2016-05-25 00:16:45", "2014-05-12 13:10:46", "2012-07-20 19:17:16", "2014-12-14 02:19:23", "2017-12-08 07:23:12", "2017-02-14 14:45:26", "2009-09-02 06:55:43", "2014-10-28 00:13:46", "2004-10-12 21:04:06", "2014-03-18 05:09:40", "2003-11-17 22:11:15", "2002-10-09 11:29:09", "2002-07-02 01:12:06", "2003-07-16 22:10:03", "2006-07-06 12:55:55", "2007-12-09 20:02:49", "2000-09-25 18:13:14", "2005-08-28 09:40:17", "2011-06-07 10:16:13", "2012-06-06 00:42:36"],"c_string":"ysryaopBXznoqbNKztPsPBEWywviJUKAkqUhKmANxmbtSVniuzkGvbTPqmVXKBvrrLKLmCfqEVxfKXCWcOlXFbZJcWXzIsrsHfchspdoAPiZOrlVMvEAPqACdPRkYMKJihaeCtKflFiwSMWvfCJAxzEnhQBdRDhlNYJWaqWrwmkKcbNhFOGFomPAfHJOQxzzpxShMYXhngPRZKEnUGwyuLpMStfcqdPodBHOBZkMqSdAsZEMMHyCOOcqVhFoESJLOJsCKPBsRBYLqhMmwJnHiJgkxLYGbenTMuVmGqemxMEHpjFpNESbMCmBOgdAdxnZJTQOkwAjzqTjnUmGxvbOGKKhbXXFYSroxLNNtfkHSRTYPAcKuNGwjWQObOelYuKqAbWKzdPbtXcMazSKeZtTFCLdgvNKvdKwpspOEZDQFLLFNWuXKpqCQUmgoJpummhhSlqCShNNpNcVVzyWYMVVmldubPshGfGocbZvcOnmaDjjfXaONhTFesRvuCLGPaxR","c_array_boolean":[1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1],"c_array_double":[70.8373725827302, 18.722763427047646, 58.59024996594752, 67.68205690619936, 74.15021226728983, 22.08649942542086, 4.369482305251617, 100.51606415575621, 56.50117660377828, 91.96802193841755, 88.1302981479758, 45.801763567598904, 10.601252521189652, 23.882085290841033, 52.40692999655456, 99.26855195951592, 21.042481129271426, 98.75477775783746, 26.750934091998563, 49.88921599096438, 52.623056824692824, 31.35595194603227, 19.976254954139346, 39.92798144360554, 23.876031698908058],"c_array_ipv6":["oQzNwzpRFR", "CZiDhRlgHK", "mAWgbAFYSO", "FPOCDydPrf", "AeOYfENmlH", "IYryhWUorq", "JinHucbGAl", "vjHxxACJHS", "oRVqyoaqGp", "TiYeBCWdqP", "VNwdmNDbuR", "cTRrejHchY", "gPzXzfNicH", "xCQWNFnbNN", "GaNiIKflqL", "EjRqIBLGnN", "fEOMhdifTC", "urjvviWtkC", "bPGxfLHXGZ", "ShmPorMHRv", "ePczfiMwAM", "GwRaXnLGGJ", "DOcnEMgSAD", "OqmSWUvzQp", "uswbkdFJVj"],"c_date":"2017-02-03","c_array_smallint":[-14984, -21783, 26110, 21612, -13791, 4077, 23543, -19328, -9168, -25301, 3244, -21278, 3638, -26306, -1240, 12052, 8071, 3010, 28981, 7048, 9503, -19138, 28438, 17533, -7622],"c_map_varchar":{"c_map_varchar_1":"PGrQKOyVJNPmqyJcZAcRFfVjIYccnaGQGNbxdEBzTalmZIqrWkzFfZroTUbuNsDjgcGFZYtlGUPNQfHNUYlrYPbsnUlGhesWCfKSftKVZeOxqAryUDLDQmIpkOfmUpjMbacJYVzrkReoEcTtkJirEsSyjYtubXrYgDTecFceFBsqvHiHlWkEwBjMcaQzgUATAdAxalMDydDHPhVoCrFBJxrfanmMFSDqnNpgPvoXKPuAZsDdDdZjGLBmzDiwmzil", "c_map_varchar_2":"mkcJDiJvJjHgmHubYnhywwxWjlcELWUkTFIQmTyYTgeojPUVfKkebmLTBctzUdQCCyBjRBaZUqqXkIEDFHykqQpfqEnuRlIQFhLZJxCxWvoJQnjEFWbNiNoqwHxpSQqTNJMNflNIEZHbjzbxnIViRkPfIrvDqyIiggjFFRzaPPmKLRNluDJpXlrPVmnEvsAdzqORKnzXVPRQthkwyibUFRwSsoCfEZYExLJHKIzJYaCziKgSfDjjSivVIIXLrNCg", "c_map_varchar_3":"JcOTmKURxHEVKtRYiqNQkAVkeTmkXyzWQCXXPYMieGHvxuZYrLNMmDBIpFTBNrzhqWhAHyHgiDgxckTWbwVXejuKtCddyhCppJeRbYEzqidfodnVaAvSEHBruHASqnKYOFHwDjbaGvfVKSZixuGIcsUYBCYVqCSDwrHYiIHfNLHjvKSsleVRNOvUGGMxiiCRlDfnsWZIjJNbVZSsKtCigVFSuNSCSjQwrRJRDDccyUIvJzWHzGQfbDItsJnNNsmH", "c_map_varchar_4":"wjdEpnRklQJdwefguRCRqIePOfVbgqtqjHUcFixWqheILyutOIoaNaPNZGSqONzPEvKTBooTqkQTTkrYoFQwKorWWkLPGMnwcoeLBbXAmNJsuLyYieALBQlTAncUkJxECUrvicFwfMxOwXwaAOdRkhkJeTyKSIBKsxUFeXjuRDAIYYAOnGHJSDKWYgsmQcuPNMtovqJeHOBQPJHkreSepoFXqruEapGxDgrTAWzrjnqyEbLonEbWyTnMGtMufdcu", "c_map_varchar_5":"rRZHUqbCyaXHWdywkQJrDRHQkhkasQywyCvLYPDsDgjyDBORFmrHpkbZIIcplANEQNUXlIjATwSownganJuPXetaexWTLXGLyQCgmdegrhlZzouSiGUpxrbDUKJmhqkvxVzkdiLNvLVvJYePxOGprgqyvkuoHDZJmcPTmhLQfWoJBKOmFDjgmKGpGrfEGPXamxmsQhrFlbxivustWKRSlKlygIpejFKDVopGgGwMWETNmQFaFkvdxfYiZSbZEmDU", "c_map_varchar_6":"GWdHehsyCZaTmYpAeucDCAjCJZEnWnwkAwYpfxCamKtWURlYYLaaJbTTtBTrnrFnrGTfDaWYnTBdwrIxgsYYBEczWZaLGUDovMOsDlBtLTgXzrxIPtfOWnhtTQMDbbODbppiOTWaiwCrEXxxmmuveeZkNVoJiNupWyGDoEhoHysuwmgPnafhhphEEqtuFpMOetcbuHxnPyqASpKDTGuqpcjHeSjZgivWZXByTptEFBGYWpFWZVqsRsngGqgPqMec", "c_map_varchar_7":"BMuPpLSXkoxYEZuSfylAeXCVDUslIfAJWsXRSuwIbYrPYdaHqCaKujCfaCzmMyOExGlUdanFxtZwwpPcoZqkdfVibfhIrJkxmZFtuNdlrhSCCyINpTUHQTrMmJkXnonuVAPwZYAQabWSuNmjsBYEMCpGhlkDhgwLFjKrMFLWPteDYjdIVXBWijibjLVRDIakFckeDKKKeVsKZJTQpqfZGNxmANEvgqKKfOXVlZYNxKchuZXwOBnqaAEuDNHmJJIZ", "c_map_varchar_8":"LXvzMyLpDvCaEJYEMfSTNJrbgiWuIQdQCjrkgAcKwlYqxPzcIrGrMQqESrXSUOHtygyizXTJOPYvFrwvdLiQthjonnvbsberwMlOgXXNgCNskAgolTycIvBWmnLfbasTDhFveDjMntwOXffgqbMJdDJuVJRtbTYSriXYLBLFHSqQxBmBXhyFKEQCqypbDhepnLRSteDDXNQovJLUWnTRRyYLugWRxtjdKrwojCudSxveyfVqvarIDHPLbhKpvCZz", "c_map_varchar_9":"sEcrlkEAVDTmMnRAGxFgLlWqqEYDKQJzjRaAgyZKodCkSAZpIqMUSIZcfbOZPQTKrsNXVEFyEagFZPetZrgfDVxJwqPKcAySdwTrEGquJYOCQbNkfavUgKvmtUCRtAodoxYnjamkFBKyuqsAisSQSSCMMrGdGvJdOpezTpBGBnTfYqQXJjBSqcrnnhOBXLdbXuZZqNkHbXgTCAXLJuSgzOOVTxjIbmceJdrgNtQufYdefNggiNammtibBIRDTCxl", "c_map_varchar_10":"KazPxMwoTWYlEfccyGbhaWPOBRjMtnXdkCnfMcTglmIPPTZhDHVJCJmVZeaqZvYDNlmCAhFNvUapirGMOvuCKKtAkRoAAIdXQcnvLXaJayexGNQXCKvxuQEeturlwNpIxzkvrUpyVPZVMLBoHBYkrWdLmhrKhnwzvbKcsOdZrpLsliLQuyfFbhpcBpqrFQXapZOQMfbQhAgbjJBmdrPtiOmtLFXMQyjjrtdxJQWjChVWpUtrZHcmFcEQBBVfjhMX"},"c_map_datetime":{"c_map_datetime_1":"2005-11-01 20:16:31", "c_map_datetime_2":"2005-04-18 05:44:01", "c_map_datetime_3":"2017-02-21 20:53:43", "c_map_datetime_4":"2011-02-24 21:48:40", "c_map_datetime_5":"2015-01-16 06:43:31", "c_map_datetime_6":"2006-01-01 09:13:11", "c_map_datetime_7":"2010-10-24 04:45:40", "c_map_datetime_8":"2003-08-06 22:56:28", "c_map_datetime_9":"2019-09-24 05:57:38", "c_map_datetime_10":"2018-06-01 00:48:24"},"c_map_boolean":{"c_map_boolean_1":0, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":0, "c_map_boolean_7":0, "c_map_boolean_8":1, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-14837, "c_map_smallint_2":-29132, "c_map_smallint_3":-21919, "c_map_smallint_4":-29456, "c_map_smallint_5":-25027, "c_map_smallint_6":11991, "c_map_smallint_7":20524, "c_map_smallint_8":-14809, "c_map_smallint_9":-928, "c_map_smallint_10":-28603},"c_ipv4":"74.195.114.175","c_array_varchar":["tgAavxeQHmdtNABqfVAwBovqqVGtXgiMqTqnLClPvuXwxVQUnIjMGyFCZwiysslDmiPXimXXMEFAQPrTlKhOLEETXHLiPNLjbQSODYcquMyIijUnwkEZMzdIfCxrGaqBXjiiUsZpAPFckHfezawxyZUJAcnjPyFagwelgSABGtQDhGYIIkxqezXfeLKFHTrDmxLAPQEldCWwtPjyczOEicqEJyMaOwcIxNnYAYOLJSCYMTUXJZVNwVqeIbITlkkO", "dMEFPjmIgTwiGONQilinYWrtnrcHxigbiIsVFuylfwXswkFvapWGucYFupGLWFLXCuzxIhVvnKmzLtXwLWrvNsrmQNZswDkfcvFmOkfNxaYTkaxhcSEpnpmGWGmCtfuoStsKzEEzJOQTepVVmoILsqtMYjYTYYLdXGOdkfptMOYVLGSUgTakspuJzUiddjcycQyQuVpWPBhmXYUpOIDgFCUlPnwZsJmEaBuxxisOTMmkflpDwiIsHmvckbdzbSir", "TnGyGYkYCRegWOgzGqyOzrNNKmohdZiGvZTjKaqQeFTSCHpqMXUdIjKOIkMXGvYpMDvjIBwvEoQWleENdDihtSEeKKNMFNDwaVTClECwkAHeWHmLAePprDqCiFvtchRSGwiLuJoOFOefrVcLcrNnATVAPrAwtLQVUXhHdWqrFgSIPggueOzUglwPxqQPLCLKoolklLfjxoehnMqrzWhQBxqXzHgTNrQhPItGMhMSuHAidUwGEZYoRgxeQVqrpGdq", "kxfZOCuqnoAXPqmEuriCNorJkNKJUVrkrUgTasfuzfqPeyKoFDTByMTqgNFrSTcfFthTNKkCaMoUTAWpghnsgsCGtYOwZnglOiuSyYbDXVIqKkdOWRiuTZMkaxJwnsMKCKfYkWXLUOwJriPFGvdgIsKtvxAIXZIoiytWhDPgynLjtpJAzUfIxrrNFujibLRYWbUolSjuxNnNyWlDejTtcukeMtbKhtGgbalXNvGxbvNbFBanvNEGYhbmxHahjVev", "ORcnDyrHlwUQqXkfXjozAHRCnWjsOOeEomlOVadMZrvdXrwalYOkSpLuYVYIFzedtdruLCjwsvjiZRcRSQaMafPtgNhstIHidNgObdxWwNbcXMBYrkIsaMGnqBmmNHxcObtdGNtjNhMgVZVIQOwdewVuzKXsNyMVpIhYYqqzXEZELSnCRVgoOjsXZhUsPcxVvQUdvukOqDsAiZhwUWQJgekmeQqZSGblAbcOPBZpKkoxlqrrwOYBBlxBWwqlHjdW", "PGfHvrzfGrBaQwuyLJGSBboeSrPAxFGVIyhoYbXpHBWbxvpxIvuBUEBldZTsNUfDqqUKZMqqEOWXzJXpCURIwGXvKVnSdkclzvIHIoCTraKzMWGQkHmtHnUePUsoblYYWvoAHYgixszeKvfMgsQjyVNJTKEPqWqcRnyPSbHEUFBcBhSagVCSYHyYcaGqFYBxnUQtSFtmozSXAOzTKLHRgAglTyXKLwYmbtWPufGHUYCMHZACdWqpqwcUsDSUytmJ", "VaKekTgmNrtcDEuYGlGQEljIYwsCFJMSPkPtUhEjzsEmfFGwgrxorJHcBOUPJEGRkrRNRCvswWHEshnkpQLoLdTRktCfxbWmLcRwFZNCrluDmcXtQBKQSqlpXnArmdTWdGApAcWsKRlayNVYwvuqaAmoNifewboXyxRhDBgcBMmkivLKAiVymtZAJIGSOjjijogXDHxxkYLyjBiJpNYCPWOtZChpVOdOHRXZWWKKqHYzLwDoDSbwrnpKGxADErdd", "TeYYcFGaanrpEGVOapqblgADiJUvskxnpOwespCbhXjjWCQYolLbWgzLdJluDiaYWxjbtUnXcxeqigebUtvVeeOjZxDHpFSKngVWFglcxMpFqTGCBooAMDgueUxweJIAvqGweinBIcHSohOOnrLOnocdPyCDTELyWiTcVnzkpUVcCHBAFKxYFSeWXPrmgEphqTXmaMfubstjWpIIbAgPwREhREnZgTsXqktLNIeNnnYzaGtxTcigOgWEGzLzRkCh", "CpyhzypszaWZKDtBylQSfxAtqACLhmGvDXZEhEtGyulbQVBddgGaWBIJQbGKqaCxcOyhKduLqIPnHZlJvGBlkhvuPryVPucKzkQJzYIqDyewMRhNlxYaKMXeDzUvGwwsGVmojLvrDFajHDBKEudKcgOllGWLiRpCAeTuHCFZGHZPsGTthGAfyiWbxgHBEjiWQVEWtGzWMwnazHdlIanCUhtNyzcSGPdNNeXxehiHDeMQyFcTbQqplHVElprevhOS", "AokYbgPfbXrRKNgmNMxZGxNufIkgBqxjaUsCcYMCjjdtTfLRtcZKgbhoidcdvMKaolfJMPoMHtqJpFnbPcMhNGbqVRofYZohaRKslHbxfJfirpSOtoMVdukRuBusVshmSbgAnAXtvZQiVCEvhkQaYCfJOApwdPAKLEFSYhzLrZoZogbXaCtaWmuRRdZsjdbXfKpKOCRuTMPrVOkeIXHxrCMkQHEkBtvuZmdszEKszXSYmRwhcMjDcUzGjSiommfO", "tDDrBWHUGfPoYKonzKezExpgFTyePwnMIzrwuqohbvaanGIyLjiBDrNwitaDXvvonDViPkBowewxEwmyvrmQUEPNIwNAKrPzZZDJZuTLsITHhSappXDGzBKAqimHphHmBMPRbLNQTACCecLbKpDhcCeRflzaehgtvFADIXsJxQwFbnbwCKTZzqITquNYhxKjzMVLAvLaJvrZIxCEMRBuQuQfiOryhNvRyDQEKWAzRuLNLbYkSFmGqKfgZuBzEEoM", "KQxKyMQsriaLUzopQnuPyjxOtnToSWChyNGVZuhFqxaIIldvmCOorpFaIfcenUzKvLGEMRPMErePlbfQjFIGQxvQSevAXBLDmcPlPDgfWqlsNDgcSCMmRWpQZfBcDuDvDLwlcGlBjjJxJXcPSfvycQVbyEvSzrCxSNDypWjWAzVdFtXNsAhquHGWobqFoChbIFIXiZnOpcNCdtlfjBrsEmANnzOvPTVgbDwpspAWpqJupKUtLVmwMCObuNWgmmha", "CwkokZwCwgOyskxwtKmXWvQXyViBDDekSOodqjgydSdMvgWxQHaxydRUDpNTKLBiQADeYubeeqFuyIohTSNcbfJXAeGIOQeeYomovpNwluasOeBqBPPmySdVIsLMeCKZJuyBFPBGtxpmNouwlexyjCHDROVNGeEiJeWHyiQDctRJimoKKQwxxBUfDsuNBbFITmoQAGSYQwbpZTJRvOvjECOXVrxvJemryjzvLBygUBXNHebjldxyJEVzzwsXUDcz", "GgxIZXmLwppmdkzWSEhQBqiAMyavKPQIlVqsOgAhwhlZyshlUQBLecqeFXAodavhpoHtVpAjqUMJIANQZurukiSNWxlDADhnAhIpgNOOXfcbjxjAeXdLpnUKTuGwsfhhKajFlmuNctpsyTVkQUriOswQltswdLtbACuoNkGWyLKCszJjrlXwURnCyqkeHHXbPJrmwchAcPPKuYpqUEeCjdlkVRXqhzNxLIpoAJiGlXYBrTFigNFzKqYBUolIeKUn", "XeydIpdXFcUwZVeAiYPZSpYfhEktiDhKCBjZSWvYqitRJiVpDPozULOthVTKOrGWcEkrNYxaYdumfMqNCzGMtjusryeZEXZjobajKgHRoOdrcCkYQfXiNNQiLxnSyxXvokCORgsGNXcJOfChxUqOyBRMEOJssWlpUnCvXcTSEstKayqohtFoOvZRjBEDSOZNzJDiBLYjSMZZwzBYxxmgaSCxZDQATPyuhCXDQaLQuKhsCKoAJvcWBAfEScCFnYeh", "QNeWgquynWrcrAYYWawMxqqOBFjjgIJhDQNdVomoLMHtTKROOqUnorKQuBkQIAcRDBUwJQCjoXUmPUXQixXMRgemgqakduZoMStqIVyhfsulrhSmKwXTnqgXxHOxAdMURCgcwJIrEvOaXkYaEBljFuNxEjNqGEYDAwwCrGzEYrOLcEzPTsmofIGkSPhYIfFYgJMyUORFOwZLrwNQbutXgMwIBiidUYLUoejEkxFwQxcQnvcCXPJpetJRnhZtDmYR", "sRlTahQYHqPLrRjShDJlJsmREfkwdaKxKqUJQaKRaZCPEawmerPvQhgXXsWsEbpWdCtdZHgNFaosKeCrBAigRehFaTHYJtvBIBSHXycoFzEJfkFssITdPGjOPGSUkdLJdCOWUTsuMBPyRJBIxJdqMCKxqLqykHVKvsXmIEBTjJvaFzVWfUMGGSJHJlaqzvUrPRoKSenONMfLKyeozylxlvUJsEqWcLYUezNKQufxKxxWWzaOznmGuUvoXXgZBuUz", "sChJHsLmzFLFgTJBiVhXTHqVtYMBbwBIdSmxahaPzzKdPHGLMfbJKAhYziKXaRLOnvmikVGPTyvQDDIKuCuwiWTIZzMpJwKLNAfGNCziTidsExuifisdCAwYHjAfThCBZngFslnfZInASfINrbCAIEKsyDcggnwpBGVahWedcMibCUnZKCGWeQXbhkYPodGFSjUHzGuBjiQpXmAaIsAGGuMiqbLJRJBXRDDDSSvAnRBbiDogfcOEXkQgZUFXtAHq", "EoahqFxNiTGGkNpjlyufNNjeybjUWWZlfkyWFGlfdyaIAnWMkhHKMesbrsxIvwjJIILRTCkafnkUuRxzfQaSmUkFKJoSShRSahHPutadSsBjutXGScaloqTMaRSkAKUMkIaKRFyRVUireMPlNTVjkzhTaUoSeHMZwvoXBBKWlEFeBvQJuzRgKLEJfDMaDaeHULjWEyuFdsALwMpyMIgAgGElFUilQYYNREDAKGeZamhyCbyCAUxUEEoNIpbWEABq", "jBDTYlmsBdTwjJesoFoonYXDmWOcrXMPrcBsQTarKTraVOcYwmATuuwxrurkVaqQHGQzUrNxQxgMtkFDattzGIScrYbZvxlAvDNnIZLcbelaHijIhudjCAFWbAeGmJZKUGUTSFhEBddfFdCkksXRvPmmBQeUXahgXZWOWHCePDGEdYtdNaULLZFFGDTAbcqHnePnnLzueGbfLsZJBGYTspRvKxKTmUcNsWnvnhpcMYhBvghDLiTzXhPFVGeknRdO", "QqEUFZNxGRYIxbkGeePBFuKPKunMvfngmJNdsbmEFQIuLnVOiHMTddevQeCJGfuSGVTiAAKsbUtKjAIPiKdNgZqUAGNHIVLhjEMZhEfgRwpequvCxDfHmnXLhFvwwgsItqtFIBuawWynmcWcfErYkmezgcugjLUafBzwUhOWkQkigSxBMQcQWLYEwtgVBZCwlCRsYUWLnouCCxTVxpqWooXKaIMBhnfUCUbILhsykxaSWTmGrKlOvQswGBwgIuWp", "mdgpGzcsdWgxpYyLsgZHdRHEopXiXuNyedqypumROXRXOAJLHTcGcpaLzemlKAOLJMvXhfqClQkxmrqCaPIGknYmZczDeHYGTMULcciMEMVHwVNCfsHYbEPKEeCBsAOgPmyFSfFwhXFwBkLUKaUfAdAVkkaRUzqIONJIIUZdWINuJqlVSLVgxvwgoEHieOkvnRdxwbFuSFEVklTIktGCMYpVFEjjGEAecnfrClnzgKihNaibiSZrDJxjipTVAdDn", "DxHvoKBIdXRIhxXBGVquEUPfiEyiavXaxyZVUKquihceSUnqhNRouxwyCmeoKdYOrgkMjozqnFyowEBUVgXLAPcAJVXpbBKINovRnFBivbswHFNTplxCAdMRDiMoerSapiSBtxUCrqeUtsleqCiwaSAUqklstCrepyhBjulTehuMKjIMYcbbpIeqYjZOhjpIeXbDXzYzlpKwmkyQhHZdxubpPXKMBPBqYLzTfUeQIMRTfPxIYZeStAdZCSvPHiuO", "DyKDBxUsdwFKERKGwVjkUaLoAxdxKapkmupOfoLGYqzMQrJbdNpEKkPNHvYmcWpbXrkRxluAEXELicwJhHVBkprzcrNqlitcbxmdqHtIkWcmeSLPzphyzMYhKmVGMmUyJJZDcqstDhLzyzdXCoJhoymbjyvErqMMwJIfDsGZybwHvLsqaiOqgVLVoZnwTuIeuJdgQNMnANcHapqjBCOWkDZZvEFbdzOSwRAiFVncFfvTxBpqsXDUlbRHkmUUbNyo", "ISiTQrlcDENLspxRlxTHuMymKdhEdCctpDtQHYuwrvxAJiOHUtdUooJDHlHjDiJQxUOCSSgzwKdgUysNGrUViwugphYglPRfjceGjAMVKBEqOiYVoAHTorJPqbcqtlRCXHIGVIYoxjLnUmjzqloIOeuAtMxbNYTYAIZbnYEiQZNTDmDrCmwvUyrZpcygkMvTlLtEtDxuibyKrONobkhhVpsXDApwUqGcHnYMeqNhdolKgjQOWNEpNNOWwhzIkSsT"],"c_array_string":["XyArUXioiYOdgKPBYcnZJhoFKPjZRuQeBFCiCqVxwjikoygxADEtTwBXaLycUiLdaXXLgQmejDkNYLqtZZLQCgFzjHeXOODXfaDyxfSPiFQBmwbNovxVaHcdXjANeKDxUKorIXqBJPTjtUJbJQBxfUpKykpXlWWQcbhYxasVZaUAEYZWBPFkuHozyRtzZdRAUlTGnwclSVzAbrAYHOSbhLTkcxYDAAYcIBuozBzxEbNoERMqTnWOdkFMCAdYMctOEMBCksFLQFSHhFeNKNivdPGMUfrwDMqdWYkKdqptBmTgZKbwNMARqYlpDOvGyjyNLIgCsnSviQHjAxeLfAKHlhUnKsVtoyzaDkwoUCwIvEIWJSvrIDCzEBxIAPGehTmaDgTpWOdwPLTvVyUQUGwuupapTanigeMrSgJTJkKRbtDyEEhwYhUfdaBONzCHeUjizZVrGixlSyHGnbVqOEwruMfFVvnNQyNcXPScFOLXamerxyDjIAiXzEIVMsLWuFAv", "rkpGiYJrxNibGerxjWWvZMDkLraoSbjuVkPJeQmuLOrdGqiJOlLuhXmdDthmpLqBGmgsrAKuPwyNOwurWWREWCKrxsTvaZMDFBMidoluNvWvKegZmplVgyhHYrTVuGKxLdjcanIfMzeiraltsMgncixaCGHrgCvEQlpKSXSLejsERNPYDErUgSgrPYNzsDRymDDknYahOUuPXytmccZCnagSqyTpHRIoxUTkBQIGUsDHtwCxzYGSjiqmtyzEFWtWEhiDfLTOHKNyIzoRapWApHGeQkUWcBHUIhyembFDmsuvchpRQMeMIJAHrEaPOdMuYErHbGiHYWQKOHaAHiqIwlUfUUdcozTVNKrMrCSRIEAlXXzolxtkbfMvVDhnyakBpGARWwpPIrZmEjWUZEFGyBBUZIFIVdFLpfEbBZzKtaHtTtimyCHrKpHchlxRXlxfRvZpJImLDjpKONDqHhzPlOpnGYdCAzDbNqecMkigAWsJNEmRtHTbpAGsYYSYMbKz", "oyWLjZLimgBdmkeuLXxOKzTcAwTDGOYFvSFprtXNPRjzEddbTTSDZXuyMeMwCEIbDmEzMDEkKnOqbCwVBwTKCmzmswjxUdinpAZPZJOhxXwBEhWKwPClsJXpzqVbQhxBuRXzxMXNkywCwjwbEbdXPcMqZEjbykWQMtnjTDYFWbItqCqOmimDEUxtmdcbQQHGDsuALKEtEwSMbBdTHwtzOWFPasFHlKZBWedfklMITouhLQldVmaZsIjwtLCuczWqSmakMSLIbMzdcmqrcnbUfyqGCRLKszgyzUJVFAFiTLsHNfONbYNlKzYvVyhQYSUgUASRYNNlbdNgFEEbecGBFloISiLjHPAsSrBZAFFgkgijKXsgcBHNpoWMRarvDpVEOTJqgbGrBHqAAhUAzRRcOIdVKBetrSbuaDYYqIusQvFcfcYzGePpqEcrozmGLMYJxKLwJmgHrpXVruqnsnLvLCZyFghjNqkZHyHaTDMGBLPvjYDzIfZDxCctTKstQJBh", "ktiFunWyLEamdRNHuKFjCGoRsOCtMUDEgqOvFZswPepZfFwjJvvDLmnNojSCStFrufdvnvzmTJoOWykpaWnEVLVbVNYjVvwYjnywZoVhkCHCVCjWLONKsxqJMcFrTZmfbmivxNVIPuzFUuUYEupSrJufWDClHBSwvZujbehowfRGqETTUSowOGsXSfxUvWJfyNDBqVOWnVBfVefpGGuQQKXTREVqvKnldVDnZISwmNBahRqvlmSAgAGnmiCoXbWMpKXOERuyNbaobOXZDOVUGxSYThegmYKVqBBpNzKwsjZgBLiDBxSszLlZAYaNjMvkgOLmUEDjHCsrewRhmnYSTUFuQHZDUztiOSquesyLcEfPjCPcMvhkTVTLoHcjOZVylAimPDBIFkWTfDQNwdxCbuUslTvyaRzcBgmqXnAGrnkISWIWphnFpjwRHnyFFDphWjhSsSuZflBuvjUCWhIPBbcqEEqdMVwUpDRmYZCPVpKHBskKQBfxlFFrzClAfwQr", "rUIsyMzgkfnkKGgfAEPKbNCdzYoJjGVVHpSndpPRtLAXXBaHwzytRYqKACMmwpeZOogrtfYhdLDoxDfAtyJJgqwSKiNakOmVhnETHRpLBoJnSuAZxnaTapQFaXSpwbXesejsKebuATRbmPuLdtLOfCnUoFeTFwyQoBwApwaRXvEggdPydkmQaxLCCPDcrSDKvJhpoypjXfGQboTQuJlLXNbLlztnxjpJiqAyrnxtnoPUvjlqiqQVMqibjObHiGqrJJphghbANXxYCMGsBlSGlvTpywCcSENvvPVfwzDKprouZpqufQHTStgZMCBaFksAylGzvePCfKQMhoLpdRyUCFvnnsEDBLMnjILymBNiXuRqlNZWplVwEMaNjQsogQuKRkYXRIheHXcAbGjSnbshRoEJSZixIegCzimAvxtWXQFjUffWwTCAiqvSROzDFKhimATnUCJrGGmpANhQpHdkWdvQPqdohZSxyGYYXWZWmgIIlMEfZjubktQjNyynEdID", "gnBNshFkxJnCSYsxshimfpAEeMAOAdjmPyhHPHekafiNTliBBynOxYQaKWzwGIlBSrLTboCGZWNJwYAYKzDKfIskPvhEKvMjpKCJFqpHzwteDKvfZJMtLIlUSGHmosSRlZgdxJjQXxmBzkRSqXtHJoIzzDYskfMuHGxZOCYmzEEHouhewIoQVxpxdcjEPzlbxthLyfxcqJmLzEBNkqJVmKsogJDjEAiKhimvaAqZiUBmQofIhXFTGrxKORXOWWGortovvcsZoQiohkJubrwPPCpbHjLqjvLoZuczNVFYTsYCdSLPMbwRqQNBGSWMFcMOAwrPbTAnXjWWqUjrjhqHzsffkgviGHXMcaQgleeDhDpIiRObRBdhwnevvMhpvMKPgUjkJvNKSEtyiJHJlbIGSxRFgdnifzaZCPsRiPoDSSjvLqoJUHPxNuXkCBkFVGuKoDUwaBJaTbqpumOnPuIMiqnqnpYjsgbJFbQqoxVutZlBEfMViyzcFbkLNlvfeSIF", "XRNPgSZywhlIeLzoaTzDQJnILGeXTwqEzTOYuRcVkVMQoCcJEajnwxdbKyBbcmAHBBJutXbOoNEQogemnDQMPcEhBmckNvbzzhJkHBYoLrNHNWfhIxKOPdSqTiFbCfrAjKCmDquJIIblJVdqUiVNlezhvCMRpuCjeZyzSCfyTCFxufBYfdXJNseAGkBfAitKrnUIeUZUEtFJjWBCAtDGvxHnrzptbAmEXyJysDtyjnuctohiLrwnrTytfeTqWZiuZzjdpYKckAKLNtYVozsEggSXwJqMHmViIrQJAwVLIfUFqZfqUFDtftebURdzzAXXIuvyyzZBnFAUKIbJXjeWiQsCtGFxVmgjDHZgRBRcDZtSSFbVDcqgwBtaUlmKxDdgtiqNIGACYImTiOABzVtIKvmnHHShGCnkBCWeYWNwGerqJTZKADOkseYXFVgJFzbWqsaTGuOuPEDfRMOyjzbpxpajdEDzyLghmScXeSBzcUvfisEoGmtRkaaLNuDpMJRR", "RsFKKgIkywwwRdABjfXfkiNKutVtFtygmUOwDlLEyuvRAqhzLfAfpVCnSLpCTBgOflAPMLEIhpcyZUpzBClbsSbLLnWCnJGdYeEjXQnBvFZscwXSGASlYbAjFpjmFdPePkZvLmzZBHIyLYDZUTiRqAJVQvEdSRlDFgnJLrvouWJDtgxsjdYKcvSbQjejiSSjXwFOQburYsiRzOlKjGHfBeODitoCuGzsjXdOzFmCjUBrzsmXcGEKfAYnqHihvKcqJBWoCBLUCDIPQbYwlqVvqKyiojefpSHcBZvwbFxxyizNxUeyezqdaJtHgZOYONSjRtKksmWlurAhPYAoJsUcKLSERlGSBasozlVsnKxfjYuxrvnhFohjheXyDFvbOgdIMZiKTsxPQtTeNERualJrWrlFGCVAbgHoACKPHmVWCdkSoXFeBQafsvFssCiVfQQdMBkimPkOgtufBAnhCCuLhBWCkscFyBdXUrnSgDeWBTLXlzWXWwCUAEmyDnEmAPvf", "kMUigQUWyFMpsLVNmrkVuIfTBESRAgbmCyMibKFIMXBhAlREbBSYTwFOEFhIDAzJQSmfrJWXTRpARAzwCJIgNZuIZTJsWEWsSjQwqQJhQtgOuGPXqHKVAbjmVTzsaOFeKDRwfIetLeQIJzEefutKFWtyswBoZcgQCxoSrHXAilXzZwuJmkBFGxeJkRJVEuLsrSyEBnbxrukRuksIekAWeaBpahZWPwKjkWuuKKlEQKZRvPCysCiFGmQDNdTKcGVqByLSXDWPwSIMszgBuHrhQxkxLGYxklNYxHBVTjOVStUOySZxJJaiPvcHatJkUrRTsaWcBNWPXGJtSvsizhLTjNitbKhkjrsHJKsdiWMyFdaiYNmWQsoXYTCeEbwfxLnPISutFfpLCSZmKTumEMcylCGVTPAFIawnCSaGbyXuNfpotPthajQwaeaSXaVNsxQiTZSLsNpMaKkKwhcezjMWunglChEALoEanwfEfhZvnrgIenSfwygEyTKIjqBReWON", "TDfgTwehooATYIAgugUsKKiyfbvVsQIEUmDNpgRCFCpWdAxzzjGYCqAGVycoIpxbgbvwZYywQFRYnghyfCbLYAeIskCiErGmZHklVdWIBMRgbIEYVLEJDBWwSzZdmpnPBwTNmzlUWJjMCbfIMnVIqlUDvKyKaWoQjtYZpadWrGcUMyigOJhyzsRJaZpGPnTOqVUkEvXNjcmJeVOkZRsuPaDHQrUbImVDnzrzVUtVXkBpQVXKTeZfukFYlPrWbAJojMJWsAlBsdzfUnbuwYuxbFAZNNgMvqtDgpYDSfcQwXjtBcSMjZbiIKnJgWFLCQcabWwWRYJYDmISWjAUjjTlWzjKcURccDniRUyApAxueMSpYmdnrZqIUadnnoLEMKXPJPzebrBYQrHxUfruGunzWDiSMnepjcMLyyWhlYLyQfFFutmufhLlMXqmsFQfMenEQtnPTrwQnGCARZmTvLOBPdhKOAygjdElltQnxmbdcplDwJHOusUaORagsuITSbwH", "uLDasugUtKlWBRpZUaLdzDybpiLGnDYycSRaoiYcbkXoPmeAxRtahcTmRnUNYiJGbfVFGpoScvqNcWkZaXMQcijbqAQcmuqENbhqdZuHaEPAkMjGIBqUoIcdxHindIoyaWvDooxzTSjBPBufkSjjMrAhwtsPazwncFOfgCeXtBhHNaKCtCwrifNIwLgIOGOEsHKiXwfONJyIyPmCzNvFFRBbPqHxyVXANpIKRgHmTuSgQxzyPOuQWYMEKSMJVcTdVbZxPfxJJhSzFDcJPngbOMSIFAhImhAYGYBypuvZkMgARoJgDLFjYMVUmyHOhsCapIskMpAmJrOGyqSGJEXWtQeAFgNumeSqeTgcXKjldCVvSLjXIIyhdsqBonEVSowNhmmyKHCTAsUKUXAfhfwfUdhrBVEHDsKcAwCjNKMgioThrPqgKsQdSvZcrGnnxUtsTIKslmxTGScxhtYoKeVLktDAsYjhIMCBjqAddxfYdOTqMyXBsTMBuyCUbVPOvJYE", "ooJPMYKXZAoYSYKUCwMpisLmsmosnIgwPvIbHyTFCocHkVxVnOwlHQJraqtVPJzmBmCefFldgMSKsGIsiSXkqCoPoGWQjnlnkVoYhaYBDKCEHEOJERBrMbMcukQqHvScQXrlDfqkYNMOGTccLsjGhjdaRmsNRIwfPAMLOwqFrTrzNmyEYLKDtPNwsRqQDfhEImhHLNwiKPUNXwlprCNQBExhFFoYQoMFCAgaglmHdnneHqUdpJTvrKAAijQgUXxFZXGqcwjndVcFnwcwKDojyPWtlWzwFRHmVigejnraLAbGKHhWtRSBQFuAJxhxQwSrQoMZGjFzmADSmHLyajageAvjOPFOdHJSQMIFZCrttYaoCasbFNplutqcQsqcOrbHiPdopyRNlLBafHuWtmBYrZBrRgIMJKwOzEsLBlyTexxwxeyIGcVnIrhbZkNccorjVpMnLndcjlfOLUPIgMJSYZlIinrEPlDdSODYNmxdqERoaFLXABewOUvKaEZGasIC", "KlUdglzFhFUdSBLbHosTRJuKVxFxtqvssbXmDZxxVonqIqMhuWxMrEELFjmzDzcrbPLVysOvoFvwhbpJHmQpkWkZeMaNACxuaUvaFMupCLpjWptPsOetGNCKBZbfYPThcRcLgzxJGsBZqSapeUEKFZxJXQUJgEJjoMPeaHBMOgctTFfMtprqplRbHBsEiUdChNaDSHgRVyabydxjUHGlCwoYOfAaGkjzYzGfnHBymFvZApnrZBHgAeukpAsXNQLWZJavEKQgbeKxfWuRxxFFhWbVOnzgzPRosfiwONvWpdfzpjvygioyAeYBpSYSsFiIlAUoUTDfanaklHwtTanXMAtSOAGXkYfDzjdgUniFItollKhrVpByWGbrheBrNbTxBrJVQGtRqhTixKrBvfElwYSPPOfkEYqPkBdZTWeUonWVZwGKlVDYDnfBSIHFQeuPJTzsbEmjCgGQtEbLWeoChFElMvzcNmhMVLVFHVaAnWuQvBsgstVNbzBzzkFMxaea", "XPRFzYqSrrRTIVYNgAJyPIQbiHMAwQhIFMzvoYVBpevXMRKnrZsaiJFMjuKDwUNHmbBkfHwLIJbWqtDwzKqqvKNQukawjDzBzzHdyPPBasPKuSkBHoRzVOcnSGdzdpXcrQSScWHPxWvaVMAXsqQXyyvNtaTSmjEppNdgyIdtplFiRBTIJmMzvfihncexemMrBDMmiVsRzXHeugMiSDwPNHNNmoQAzmqOdjXXDLtXOpibPULDTFHFVQHMRBDfjDaNjljYqqXEnjhJRVcFyZPKKPHvzvynWukGJqCWqzHwOeXVaVeFTSyNtImdxqqCCvfZhzECGznPUcLIoSTPwqMbWijOVPnFczAVZmLogqmLOkVkSJnUDrUbeFJJCbETxzgYiqGROKlOcQxJXssUvSReIPmmGCuhddNZHRCppdNwNPFqBjxzKauOMloFZelMiCinxtHCAAVIqHUNiQWEsoRzEurxOgTERNUtsDItgzYpwxkKwGqVwJPgnVXRFZuDoADn", "wxGxMUKdEtLTiUcefECFvVesmJcjBdeDRYBgRWJAoedycSOagUZXXtPKQAYMGijpPWdEIzdIbTyOatRzykVggOzeRYlBFrnMbJxtiqdYmrwCkWuBkBayGFGFRDprufzOrvfWtPZrTiGbVqdfDiYueXQRaAxSaajhGbhhVMhELlWKBUIZFtmnZwDOBxIUxqHADobEKvPPlETtaYtcfMXwEQLMjtmNAEuVRnSwsTcscisvKKaDmpsLkJduGQHjqDuLcOEVPpBswYuWFWPPyYzDQdWJcuzqGCNkdmeBWouSGFAwfGxCuFbYUFHmwglBlQUjiFDuejTnTwocrWMximDjXWaZtMnuTLoaXVOGzPEgfLERctTCmaXmGGjJKITswdPSKjqZcunSHyarMnbcCcSgSlsRwypjciucixAnGpBcTXevfDyPToxdUWVtVyXvbHsehjNvJURBiknuxSLlioIvPWAuWeIoVsaJEKyXnsUvzPIwCDrKSKTPCQHiiwRKVolX", "KuXnwTmfDfRPkGbEnAZtUQzDDDmuuVFaanyeahkrRKoCCEyUsaBhQeTjxvITOolFQCBhWCFILUUTroJhQBgxzxwYcDmidZTYCtWEHxdWUIhwNMRzyZFShDRhhBysxskGkbgmUeEFAUtLPIUbqbgWRAqMBTGFMVUczwVPBDqRsgxFOAxccbCMbWXwvoprDPPdQbdOQeIlZdkYjlTaUaulzHHmMqfVvsYCWCtXdZGKzMxNjasNuJsiTSFvMqYbIsvrjDUVTHDcLFTVLOQowubdmZnVzzDRBcIGHwzEEPPLYVbCdMilklYTwyjBRrrljrtzTrDKTgKEDhaFKYPfizsTnZuCQNCHBgllyLroStACruOMTyvJXHBbgUmmDzkfiDjrHYVtmiAnCkAhuNrnPshvhYfYjXqDCHEhZuHxKchgJAaNpWKNICaCYSuXhehdRCBaMhUWpSCWqfTHCzBZuNhFAAiqCHYjVMSzFROkqMgVjbFoASEgfNsCqFlEXQGQTLYk", "VdCaovOyIfBUpyHyemhKfCiyfUDjllINVWbYehdBfVkTdoRdVkSqQiKhycwgChWaATxvShuLaJUwVHGuSmLnYNwWEYZDuZuNRynOmDLmmwfSlaPQkcVNrdsXqwRLCTDYcHelpCZdCMHaUiqGrcoQuCJxzwXJpWTtNlJhAeHzwnkKYIdXdsnYhcyGQSgefOzPFLvYUlxuYzvcfbCCzzqFcbwrNtQBGlOmBfTCJNfZJXJVIvcficFEvSgQdHsrcKClgivHCMPxbmbnZmqsIxGIOfODilaWTxHPUrDptbqcVcXYsIAzgKlDOpCmrTWaaISDZVrFlGwSNjtjoohlYkMCHBVhVEXbbYVeaLXDKcMlMHzoQZYTWiqBQiwliWAmzxGUFGzLLkbydoCpyTBmaOqaBXFLlvoeGzYkVhpPjmhdItpjEALWSIDVFoGlZcUAEjsetZyZRweYVMYBBAdkfparbyrtPsmFVwkLGaWdpPHfcOwCKdAdTUFxBhwDJUQPyHJT", "uMGMggZbJgIWgZYywvEBQYEbvIBPFRDEvTajkMCDnnfRyuWdjwRmYNRTdkWCNyHHwwgIVbOOonZaKAVIOnfCTXoqGhvQbKUTJXmADtwCuYEmtjfPHDQCuyeyXLDtRaSNuqcvVJJRSxYyvSPMxpHHBbmbUYyBlicNXvGxQNDDDjiLeSAElRnnMVugaydBrUVAGRkYCYlEoPXwvdTJdTVbdJzlapfNGVPsCzWuzxhCsYyeLnQnCmoHvsnbeuBrtzKPIwVgkYjeoqeyesCVKZVDVFVDyYAGbSwVNhhVuMNFGxlECBnRkLNyKLZitKUaowbfiLihNAHLjDePuKzviJihsKfFfQxmdNheTDyTaKjiGOToeeBRmGMqGiTuhSPKWcptDRepUfPmhACnWOmQvynuLzICJfsOXPlXtazYvZeuMRmUaYHlmmztjpQCRQrZpuXHGsOKrcPpFrxPWubMNqSOtsQNjfLEmuHGVkYlDqCwkmubveGgBAzcWlevxfCZnQaa", "JWNUTBUNSlxvKfzKLVXyiaHWiuNJsqdpTOoYpUtjHFqxMwlsLvwShvFLYIkKEriabnvuVCdtgWAsTHAofWKxOwewwuHxRQUWZaplDjmKenJXbxZpjtNXeSMYtBBLqPxtAIlrpieHTYeSAeRQPbcoNNlYGBqzEonzXIKLhaTyyMdKlresiKxWRSFdJutyDdSNhKHIBVDhTOnVhNTptsXRgoGaSrEBwzdUgyuJolMvcYyQohWbcMnwllCqeqBkCedLWMYriJnhSxwqZElZgPmmEXbWoHmGqnTFSrGHuzsnLlroOaNUBwmspxYyIAdaDNDiGMYAYsmwevlqwqdSZuaOmhVjNAnJLwPuJsWoIobkhLqADthuuOANloTlNfypPEkDLuvFscxjljJcncnJoeLIUdrvFQetSiYbWHNQrYjhGrfmsnfltzDxLuvRadQOkEwrbOCFdADeTKJXTbjZlIuxNkiuwHbRUshKtdieQIEdDHCBgSlMydONhKFthLCcBCZX", "GyWrzvkiXsFPvcXalWfXfKmquoPeZkdabAyjBRTchbWDiMRNfFVNtzdYvOxVwNeDQlZZhYInTIYqqnKNgxXwDrjmOJWdmcJNsiDMAdkUTKfPnfJnAROZmyqzWFsfpwjdYIuIwOCnFyRAoSlxEVHKttxbcUUWGpnsEhPqdMQgwAXMvlwvmzhqWmiJANnMtwQKdXHqvihrIEJuvGkglmFRwckJJFQdYCgBPXqnwUHUNuoQPDbvhMdNErDDoegjFPAOqdxaGDfomzAIEKCrtsYErVSQTvsNzhHFWFckRypScgdDwSzGhGJghhcPXnNAMPmgMdrzxabIbihnclBeAdoksOsoHiXNKYTLOEjYeYmCKZlKozIdcdPZiaMzEUpVYoEWWgUXxoemnzZdfbTMJOoEAMIQNnfzTTErvnnsAjKAakgpfjIkAbxJkQAZdYVPrTSkUrbEZGUxPaFfDfjLcxFUVqfbXxaUFZCsRlhIOPOUVtpNtPQuOTPEIYtZWJqdXuBj", "AImDBYmaPSbgkAZZMrWuJyUCVJRRPiRgWiiaLOWmhaAgaIjaGlefprFKbzygynnLXgxjvTXXKEhqbHgyxrzhPrchouqhfdbFFWildVSpOeltMyjbLCXphlPozWSzLpXSnfnBbCFAPrTpYVOpHLzbzBFzXyAJAhufrGXHxBtMgrzkppsSQPaCLjJPbmXcbiOwJfQhsZakAlyYvwgiXJBOLBpevnQTRmUwOqWefchTcYTqjuAYiSBZbglJdHCpslKqqAWwNRIhCkyRtpKqMEZnVuUYBjiIIuIkvQHfonnGjdbuCxueiVHlDnIxCpxxKoRHWuOTREnfeIEsGRhcztiRfUnFYaJYbyatpyZtEaTXuKFQWWxntwcaHvpTxbrJFALVTOsDbVJjBDqAsRVtWYqYYwDqnIsNVYPzOfaSWzqlabImnCGNNVAgSMPEKxeDxACBzRotuQzmWdtIHquJvjmWGQeGRrKaqpgLPBTxrlgoNMOptGCyelksowrkXEmgkRLy", "TsRNZvZoeYVVwUjIBNUxGmIQLgIyQnutuvBDbxPYOsBFBSdqlZJRmTLXItYzSIuisyiekQCKzYeHLjgoizAATwOoYFkjXCiEdJJtTSTgqfUXBufNxhFGVNxhGmaalPSuCYshBhxQETLbNGQIJnRenTHTBWDLLVDSDqojttCnrWRUyWFZpnCawCNlhNhwCRFmDKpTrmZBHiAQCGPKbrHBANOOmsjdwOMmryVAoQGZMYwCUPLpdwTVcjKcgKdGWhHXzKCMlyYzzrgsBWCVfGbYNUoMqjtFddxdGjjFwUjRGFUfiiyEbxUBTMtDCGaYlHuoLFyQfdVPdMjikMktHCaiybIITVKvdybOnuPYdVpsZwcditzefujRtSWgoQgZkWsfXcCpjcAMypTUfsSStcmqTVzovUwACyPhRqqXDmUqgHvQgzhDVFXvSxwkgqNAtdDWBjfAOscYAqmYtpCpOBoNgqRkPTmzczbbeXMslIdUukEKjuTEtwVDJcyuGSttIpjG", "yRkOuJtiENfVYebnalojYDBiRtVSYRrqlHiBYadzbZZFREgaXEvPMxuBczDOHYYbcYPfSYLHvqcMRFHcjaXwsqupkgnrxenVuTVOwNCMkwdnsVbMUKasddpKLKIzdZzyBPzNSEpjHdCiHaJaBAbwpdqhkVuTcaobuhjrTwkDVeIUExzkaHqsgwibWgYkbotMljWGINdxNDautNoFHOQRJRjnmsOpHgvgdxkwMHeJeihVGxBdLxTuKUwWNXFYtbvVtqooPPwdSCebzTKDFIIyQDSCJWTdAoqpFZdyrZJNYYQmLpmXlbSPievKpCPwediVXrlTkghbOIGSshdyuTpnihUDEAonKHmUoldsFRzFResKOcQggKvCcBZCSQshquaFkDygnCkWOSAoweAkjwUquCESVdyObNohcrRiHkCuOQsKsOYNtosUdCCDVZsklLfeBHLkZaAWyCByqjMJXjFUgdAIDuZkxiMUzDhQvyrecplSePVBCNAFXCcLHjRAwtYk", "myCxSgElGbvCZFwLWKhvqASijOoCYXFtrjtdznQtFKeocywCEUFQUFmADSXfFJouGciEGCalccUulKoNQGWMphsxMQsvduqNVGxfSYABESVCcnwbIlkzLHMbFBOubpmcgDGvylhQfjRvcXspoRGNpwOrFYsSFBayqBMJNxFeIRgDbfAQipgvACkVJmZUCbKkULQZvPclutPUrZeTXNsPTcyaYoDioWGhHWVrMCofKmoubVvBrMCBgNZNuXrMPVcCmwVZEVhTiTkNrBfRMOruybVrJjwtxLLlkCRFOLPjoNdfltejwONBSmxQTTAXzOWWidBwAKKgKCtlLjPYZtFdxBmZJzEGEbpTMJcJBMOhXlISIkoMqaIJLmbMqaOMDRDGOwqAxVdYKQjZcHbKabebHGLvQDUxgkaNsGsmugUpviEzxBxCalKWgTgZtASBcYafFOgujTcWlnwSILJYgqKqKxdWXWKrtdJIarCdIUUgbvaoVUNSKJIHDNVHELaPTVam", "TwXQzzAhKOaMFxiKclgPputpcEllItNBzuUQGmJuzufbuWfYcFlAWTXpKNgdlYQKZJUMwkrODabUabXMbsVZsvmnzcBVErBiVqIwaIYKQdzbYAbRqytalfiNGviunUZDBCQaUKzYIplayLDTkKxixAUUktFgpPDvJDEAKXAOnpuXCMsgLdTtYoXqgJuHvBmFRBhsUBispYbgKaVMkBjTZGqLvHVWRuKdSUZlNEJmQsRBrieThAjYzqwiwEbCdpbvKZRuFAjhgYEIlVLnioPPgrByHvkOpxTWizeCtKgTOdCQRbnELYzgwBWsWUimJbfhvqkmNqBBXMPdLbuptJzBgLewIKqfxboGgXwetLCDsZQWBKsXiTqpyOTDTvyGDQBxDlnLhtGvqvJbvkqULZRXTqOuXbcFQISqkWFbdLMcxoByZocAaPCMcYRZApvjVoyLolPMaTkbZTGWGTQnOWjLOemlQtIloMRAoSNikiIbbvdEQIbMcOLJZoJISmovSjrr"],"c_array_ipv4":["RFEGYGhHYp", "XtuTlQXLTg", "GYFZMzkIPG", "uDkkIyMbUE", "ESJtvOMXaN", "mEOiFZXZVf", "fFhPyvdzuJ", "CLLkCCQCtz", "vBeBtMpnio", "gRdaAYucQc", "RybIfgAMHY", "kwWFqFsrQX", "nNXvGogFAK", "IxNpMeZPOV", "mCPahyiZJc", "PrteLGSqpZ", "KmsPLlGtQf", "WSjkFRKGYY", "tEeIyZBnJy", "djCExmLsaC", "BJBewhbnRg", "LNxKRuTHbi", "aacxoMGEhR", "EmGKAatfTl", "CtPDQZtTZs"],"c_json":{"httpstatuscodesimple":404,"beername":"HopSlam Ale","pronounpossessive":"his","errorgrpc":{},"int32":1814184017,"useragent":"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6 rv:6.0) Gecko/1951-11-18 Firefox/37.0","error":{},"nouncollectivepeople":"troupe","minecraftanimal":"cow","bookgenre":"Philosophical","street":"3422 Lake Shoreside"} }','{ "c_map_ipv4":{"c_map_ipv4_1":"248.152.189.166", "c_map_ipv4_2":"22.41.89.221", "c_map_ipv4_3":"85.18.157.94", "c_map_ipv4_4":"3.25.163.22", "c_map_ipv4_5":"116.30.68.11", "c_map_ipv4_6":"229.107.198.61", "c_map_ipv4_7":"38.172.75.29", "c_map_ipv4_8":"228.5.66.98", "c_map_ipv4_9":"130.216.254.161", "c_map_ipv4_10":"239.156.21.194"},"c_int":-413192730,"c_bigint":-1862910780395811987,"c_varchar":"in","c_string":"yeKWyaCSRRxLoafTJRKNlyrDlZlWvMSxVWXaYtxwrhgvdoHbyEbDWqcNKWWgPgiiMMvWJbbZXqzTwVuNOoyhsavpdLDkuSoPyrTaGNYZoxRGunZlbkDkjgAyRdfiJztUyVrfpzUFXMhpbYqjpqGRRwVPXfDFaMFJtaTxJPPWHZAzOqZrvVULcQvPFcSmIrsnTgqDNOaJIPHRlnjUnysfDFQHdLAqfnmarNWCjtIjgekYCryDCysXSBhuKWtrlHfrHvvkGhZMFVreCLcLZFskHAUJsbhbPzgwrHvyNJFSBXoEAJFHqDPIBOaxIziZlBDGDzGbumuhlCarnmAjBHjMkitRrwGOgzJZGpLpFNHwxbwyfAFChENRBQVOcGUXTrhyaaZWbwvTfpAmgClEfMIxxPOMhgRcfAhztFAGKfdZzzJUtfWngySWPdyxPdYgUqxPTnQoLqFVdOQxggxCZfwIJGlOhDSFQlKMuvkQZXBBPGbIccouWAvYvXKYWZQBXBGH","c_array_tinyint":[-19, 56, -46, -99, 2, 17, -28, 109, 68, 38, -20, -1, -63, 94, 62, -65, 75, -114, 88, 9, -87, -16, 104, -26, 45],"c_array_datetime":["2001-09-06 11:23:36", "2019-11-19 05:23:40", "2000-10-21 05:44:09", "2010-09-22 07:37:58", "2000-03-22 15:45:18", "2017-03-26 13:49:34", "2018-10-07 05:54:45", "2006-11-09 22:36:02", "2012-04-23 16:19:11", "2004-09-26 07:18:21", "2001-08-01 19:02:29", "2003-06-10 09:04:23", "2008-06-21 12:28:04", "2012-07-28 23:27:45", "2017-11-23 04:31:54", "2004-02-20 06:04:41", "2010-06-17 10:08:23", "2014-07-01 22:50:03", "2016-02-28 23:03:46", "2018-06-15 07:39:44", "2002-11-16 00:14:03", "2005-09-19 10:18:39", "2012-12-24 02:33:53", "2003-04-03 00:04:36", "2005-10-19 16:47:07"],"c_map_tinyint":{"c_map_tinyint_1":-34, "c_map_tinyint_2":77, "c_map_tinyint_3":31, "c_map_tinyint_4":-128, "c_map_tinyint_5":26, "c_map_tinyint_6":46, "c_map_tinyint_7":25, "c_map_tinyint_8":-41, "c_map_tinyint_9":4, "c_map_tinyint_10":50},"c_boolean":1,"c_ipv6":"a024:5f7a:974e:d120:aa9:2bd1:f66c:d2c5","c_map_decimal":{"c_map_decimal_1":43.1728, "c_map_decimal_2":69.1312, "c_map_decimal_3":37.1379, "c_map_decimal_4":48.0160, "c_map_decimal_5":91.1143, "c_map_decimal_6":6.0771, "c_map_decimal_7":12.1638, "c_map_decimal_8":12.0275, "c_map_decimal_9":48.1075, "c_map_decimal_10":73.1748},"c_map_double":{"c_map_double_1":57.182016242534836, "c_map_double_2":82.53850415835393, "c_map_double_3":48.46723006136276, "c_map_double_4":10.309187694292032, "c_map_double_5":8.343544588342107, "c_map_double_6":12.192455215923493, "c_map_double_7":79.94179414684233, "c_map_double_8":94.0490554438471, "c_map_double_9":27.63189889752651, "c_map_double_10":78.39803500747986},"c_map_string":{"c_map_string_1":"qoOrTPqvdJUNtxbyCISFdZHQplmGHSmPETZtgCXWohoqPwUcvAqHOBRwKYBOJcFOkKlDkkTOtVlELcGCTvKRLEMfGNwFaKohNampmvUHFKabaXabXJjukXsDOAhHmDnJwMFRrikPOhokydJYwvduCefLWVhXRNFOaLpoWzxAAMKrhxOfvEFxBmXHeOLGpwUMZDxJEPCKqIFvrmkdLtofFkuYDODlzwKLvFnCfygAZJUfNyZmjPooVZZQODnbRcKBsikQfhpgnVNXOluamUzGZkAEodQcQBAmBnkvuwmHKCojWAMhQiAotLvQhNFITTDspARyawGiVKiYsSfqcnRaUmckukgbyVbbyhqxCvRoEdZsbGjlsZZYJzRFisCXaSztMHpTPeIXpTQNoDjstzvaUbndaWQTnfXdrMaCdmrKOmnYfYhOTHbLXqKZCRdBBlhJHNiCJWHswGrvnXwjcFrrOhKuCuZEiWpuJUkAUvsfNUrzdfsiukJLPljvXFRwSprn", "c_map_string_2":"aAXUwbJrBPCWDvGPfFtIFqmBcQxDQAGguvIGpkQNCKLvkuzLDGptdoLcRRnKAlmtmtKiTeMWEWhljNzIvaMQkFjeFozpeErytOYWsMYmfEstMYmqOqUdqEaIqTIRjwyFQqZMmcDXzNltIfvwgNtwucUJlhrfehyolIeZZPhEQLZXXhCsnmgndtSdKeYzabNDXkmbzoROvefyeHgojuZcQeicGoGUnEjhOQkOeXEaxaOdlfJzXCIaJeXwIiDsRcYpXoeoFgywdrryPKTYrktBlglJSkrivqpscpAdAdxpFkpClNeDBWiWbQTULusiwKdbowpfGcagrlghyZARmiqhJbUOtqWPkNyDcCJZjjufeKFhXUtZrPHDQyqgQtkLdHkIDHQsbeRusglaRQGkPoKOCmGjYfXwEqNDDUKtNRdXkQTqSyhyEoYCFpvRmcgVTuPbOZKmBrUHzBmbwgSCYMNvZoJDrqvLNvaFqJPpyeAVGWinHXtXkgcfrcVmDrJKivJJ", "c_map_string_3":"TemaefqWfooJPizeRKYNFevIiBPdIzpXmYOTWiGHmFbdcwFMSevIxIxwqCFCEAaRSGIVIhtEOinJRbCxHYxKjkpigJKZcDDpVVcnrHULteGsevCpNVqCuVYTDOQfNSaCrLuoHblYgvpJNpAYDmiOnGRBzrXWmqXItTsiQjBogFxEEYbhVdaOvDoMZkbjPyJYXfryThhgSAlJlMowSPOTqzQFNUEjThXVFenmvSzqoHvlUFXlPlHNzNdLIdoLGOvkZkmmbmYZeVksGLQzriDyYKeuSVXBkxzKiQpzyZaGgsNFNqTIRedJPJPZbqEvOhtlIYjpqEnQIgsTrzAIiUEGZqcNZpyuwsPTURIBQmkBmPaHMkoIbcBbFXZpbLkHHLCvhcwMIkJVPaGVPfBfIbwXokOxJbrpsebvhVAiojnXOztmQVQofmmSRmLdVSIgPBuqcSWtYelHRcRasdadxyfXQKRWvPVhDpKaRxdkbjpwgttDhRBEyWybBAtgHeWlmcWH", "c_map_string_4":"SSQjPneUTHuNLuxehJZITeIhSBVZAusLeqAMAjruoTuOmduUkOIPtBzQaCKQNiwOVHLidKgOHGBTfGdjiKEUBtDLJbQgzptuYDhPJpPsKlXvbbBrHQKrKORCNkjvxGGnrLWosbbFsFSnWmVVvQtayoHwLSTQKySrTTFRSZbkegKQusxJBFUExEZFhvSGrnGrkTFiljkQVwVDtMGRQWSjyQqMwGGMLwMQbLXEpTEWLpdyvOUHMdIYPVgOIYIRxMraHXVxgjfMGdFuCwhFUyNGjsqjymtNgGYRXaqMAOnLrtsDlDitsUmnlvfJmfgHUGJUdtInZAosRgXXLxKMhqdTNPffqLRHicFrlKJqYsBlCznsWfCviaWizzlXtyfCRwEPlvbtzQTgHRauSOWRGOtzRPtxlswOAMlQyOdafGMciRAVYWsRqjqIXJCfzGhDxNuXYjxAeYEUmFGutvLfERDimSmYxmCTByaTxMhUmcCGLyaTNginEvNDvEnwiZzKIMmQ", "c_map_string_5":"CRuNqbBOkYCLyaJXlINBfkjuBvvAecoqJNHGcjUTQDskOPLyWbJqLQnzECUFLtnApoIDAyYPPrnCmDHyvVTLURbUdxYWrIwVRqZBcZxjKgVVqhLzXpedWqGoZUSzzpopUPRMoveFfeMzISCDnvNZLPQxjYAEWliDxVjZQwRMivXryVzflMSFBYcXHDGmyOAuPDSUEFyZUssjztQdIUPfJzKXYpULYqDXCJCNoJjzRMSPdawbMrvFHHbGUeglcpkPVPaJxPBJIrNyqIofEEOUAVDunPdvQxaGTIUSzReaLbDQBHdCDdSyChupaZNxANEMvaezkcsuLAtxPqkrqzWYWlywaICWyjqWjGRuxiNkqAkQyNGSvkjLfpqXvHqdiOTaXUDbERZxoYDfCqzWzqWfIQnxoyLSQnjfvwWpxnQWglKLsKSbcgQzIItMSPjGZQnodoEniMuuSoSteVTmzPmvSFhkgFclEImUolCBiLFXlvNHhFljhVaXobUJgmRDSALc", "c_map_string_6":"IwWLxoYHVTpElQrpxmfFdbCtGjoPdsWLuGeqoUxfmftplyTXAlmoKLBnngnvCyYRiHVqHGVjGmsEEkkRrJcXsoEfsOuDnHYVHZRbTNUvVGNpbvHdTptuXnrofZRtkLAIleYHffaZSkTFMhMbMdhCDLiRBtHSPkxdSQZuOlglLBAHAsenCOxyCzSXdQgtMMyznLOPdqxfwgzjVUlRnuVbGuCDzwKVvWUfsJTupsYIDMCTSVydDGLDrnlFoFyKpPLkmmjlKiyoScFmoYPrklodkzHuJOkPXYkJTjyIjaLKIkktYUminddGgqqxcmgEOXroUZPJTYKEcSCiBPsuNGkhJeSLdBRvWpRofGkUuiRQFGaklKPJIQBJTmPkKFIgWYGJKPLFgSGQXcttGziOxVyczEBnBEPoetcyIiMdOjdLKgqsknlJdIbIxdeezNsSTtkMjfmTWFNvOnKPTKcmwnYrAZPQRrLQgAdSDbaHilTiAVKhNjVCPIQPcFtmBgcwSsgF", "c_map_string_7":"JkWtRblqWyFWoBpFZrrdDHwoBuFeNIFPxFGMstnolDjoylFOGOIGaxmPxKoBqqUfuudrbhIuuXgOxrKrihywanDfeTchvmcOjdTwxISKvGeOvgimTVGFRvqsuTlfyZekUWlyThvTEhUAzJjJIFypMbEPjClWoJaOFpLcvbHnyAflgXmEfOygaacJDVcGOriuhRGjsEPkNRRVILuiZIdJqfsaSYOGGtOThwjIYlrHVHLQiyqtTJKTZbUjzppidCJuYYKLdEiqjuBYZNJlICBxKmTwXlXBlLtJPHLMePwptdFjweIdYKaYdIrZsSoZclMYiZXlXlXRmVKmMyfSGVQnRLnPTloqtnMVpZESGmNKqYGLOcQYDIgJfObniAdjihKPScfeJbZebfsdkJZgBgNKRVteacUPgBhJmDIpVwuHHWqqhqFEfBPLmbWWpwluBQJQponMDrtWELRfbQHXagnloqHQHVtsDvPRYkwjuRpQdFOvWGrcnqmvRgbEPBouEmbJ", "c_map_string_8":"PdUaEXIPrmNAmvzJzLKiajtUlpgxKLFzSmPAnFNoZHnoiCsCVpRoBTBINzNjNgAIWPIVNJcAzHfEqCgSfaVNVpKiZYXCFUuUbClodverleXSlvmXKFiZAVmQDTpQZerHzdNUETCarghJcokLBbXgtyrpMYBNVfKBnTBVilqwXWqlyjeYZpkkntDMPHyrSrblPEQzZMYvRhWWbcuoTvNEDFTIoQUsxcCEnNvUGgPaZYXwvdeJFSDHXOrQuIhtWNnFPByBCzIXyyFURXVAutghnQEtXjgzLvgFwNqgDvoolEdbmEVsKiwyTazYJfsCCKaMXnLknExjJTFGcAHgwWNJrsbzSDtOzSllhjLkflYsFtaeFcGYptaYxoocmVEoNfLpPdgSaBHhmdSyNzlyiOnxLPzwWfcsHUyVKTspFJQRhXeVxYPrlaqJcOzmEIgyHICSqPKmTllXqQLHbGfQhkRiWSynqIFhEGQjTjiRZgPGzcgvsuUedjPnIMNAhXrXAQhQ", "c_map_string_9":"cyynyPieJcyXCdsNcsWaJBOrkBkEoJtgVsEnqDJXezbaLZanUyCYaDuvzUZOQHwUyDKJnSsgMdZxkZAwLeqnpOhUFzrVGiLrKyqtGRsWFQZEVuPAuHYppvsuvXaXsWBmKKQWraMBnvttXSvGTOSRydDOfSAfAVodbCpDKaXQALpJFYrFzSkdbTCNwHLwoNbFGUdXGPpuTEiHIPWcvByHriKfMyibNUVKCvlFlbmEdpwcjzTKXmcLQUtNdCfuSJbieeZbFmfONPWNxjAttSjvSamFbICcjQiKDjYYoBHxZIpWsiLCdSZmdnnEuHUjiHmcxiMIGjctlawVgEbIXacIXlrczFfauoXubvBTaSEpkINACQJgTjllgZtuDnJODcMPXEgQbovQJEwUxnhntkTqPDDTMOdioifjnFifUYnYMbJfPAsOzIAKQbInVNmkQsFWiutIzByKkWTVLEDDqEereOHHMyhRzucXzTxDdEQJwTGESkHEWjdDqDPsDSuANICC", "c_map_string_10":"SmxAtHRQafKYZDmHVgNJiUccfLuoSmroloLhLkhMkmLJjrjbGXZltWClvvBwQbsqioIKBIIRmFeXkZhHeqARGKuHWjWvCtKPxGFlhWgmRRcOnHCdQQHVAMumCksIBGTvxoqTDngCDSpkLmuNxciVWDPsozaJzxRQlmyfHbKgHkAYhpYAKoacAIWKTLyocAshPQxBUSkmmbOZRsDZjsTwBYTIidwLPWHufujEXKSPLoxQcQXcdnhvmhILiPOfxfmEmodywPcXgbVzQwMQouVPTbfREXAHzUBaDESjdcpIibjvEtodnGyYuNoxaZzekqVWfeNRVfysdMqJZUBdCYqpdpuKBjoYkpCGuHxtVJOIpXPXWoYTykqGJDqJkCfoRhGYxrhvSVhqxrnrKElSPPciBGxPzOoyiqszweqNGuEjgFnrcUwtLbZafaryUkoMFfbCXSrofPkRRFvjQoBtdSpPluGNHeaKoKZzKXDzzWMeIGyojbXUivdVFVqMOaJqLXVX"},"c_map_varchar":{"c_map_varchar_1":"pGvkAhmRzGZgohaZcwnjqKEuPwQbaIdUbvDikpXTKJgKjyXDIGySjQIuOTWetACPnvNyQUMGWyAnXrfOLPUXaAnKdXLkTiZfBjZTSXsRxpHuACPxilnPJUCRqxxZNOyyXAYBGFSZaCYdwVawjcVJlIJepFGmbDDQYgZuMrIcArYIvfetNRCnMqUVmDdOwSoyfnDXMVqbmJaCCgApxWrMAlEGbBWequgggXhISkYvhMkNtNZmEvXzotAjYbICdUTG", "c_map_varchar_2":"tGzczXvrHVtxqPefYzCZgntKJNKqfDPgpQxxlJZgkWJhtKJnMIKBgBshRRNhpebxMcVtCIGVRYUNcKKEvffznnlJjFOBWVnopuymFqpFWTCyogvVwtFdLQCTDYWUKxMmzYlRyleQZynoUSzNDjTbnzEIDQjiZGPdzLYiSRfcyUBVqryDzVIzIIfCPooqVsKaURrqFlJoiTcHKiZqqQjWWkDpNZxiuvALUMgvvGZQmonKMbDNHufCBfSVoCKmLBem", "c_map_varchar_3":"eEiEZsamqnjkFrFgqQgbldJjmDlWciIRTshwSmkTgaKRbuohqiToknyFYQtOVHTcuCJUnxKTzehYfzRFSFsVkZGAtrKXasrTeOgvqoJucFuQmRQijZWNiiuzlaESWrPHlVkaXDYHcWBrkIcDCSytrPIFodwHLuiQDgwHQnnlyvuznMTbZufrYaIsKjdvawmgPZgVaQzitKoxdKonLdElzRlODNLMlHHFFyAMyjNgbbwJYZhwllCVcNApNLFgoHKd", "c_map_varchar_4":"ANXmpkyufqyLrFRPYnZuaMBCclyKUMnkDzhvoCIKPfpIUXLxosnpDxlfggijvPmMRHrMYtxSiNHDKBVSARtPXLNphEmDBuFHcVpGQwFWkNuNYuWHEuhZRkTaiTjrThGGEcCZDYlzotvOcZZpMqSuiMiuaFyAneHsHfgUeUlEEKOBtIPZTFEdatkMoFdGozogxUCouLDtkyHNzFLPyXyudzOGbimqZINdZiEQYmIPvIIXGLBLOeCSRcWOcEDdxYsS", "c_map_varchar_5":"CLGcKZKciLPLTMjvqcUTLXgqCLtHbsSokyaRgKWIrdvdjaxJBuBWUqCJftqbxmkVypEWbnrGYeFwPClgSkgpcdeSHCtrPvyUqLPGqzstniJsYjIeOctCFbNhNWFjJeXYoVwyLLZJBmPluUeCvidToIWYzTVUGykditOnGPROnkGROrtwBTetOPPumgmqHlEFRWZkbAcmmJOxAFWbaDhzHczAscMlQIvhnyQchaLCJZELCxBwuNyqPkbrHDArMCPm", "c_map_varchar_6":"uKMbVPEanubfpdGzfJEyvrxpQuNQNdPhkAdElXoJXTxCWshvmHxUufKkwjSAlMfJxHHtGOIxFXWMLLhNycopJYtNfaJgmIdAUtChWiSASHogvbuzwWWWeZQRgQfmUjmkjdyfweKWSRpjhkJknSzSnFFfdZsDMAzznkQaUZCKPibyAKWCpjkGkTYxYDrbhQRdAgYHxXBfkyPUYvTbsPJROOycrarCAikhKqjHlLTUOUBTRcfVEjIKKbUrHpsQdSZH", "c_map_varchar_7":"FFNqQPwBbEUguPLetLeDeAWKhMseRRxGnuyNrIUNzCIPKriZKxNbLnWGARqppHYnhLjnbbifLLsijnSmDzAprPEumXuXJiJfYsbfornCGxCRCtApmlvoinqVPMYbzXIiCCIIQgMWzdzJNgwOaMHxtPEPEdWZddYiNNlHBRHSRiBFbNGOlgZEdMxJQVgDsQNYHfTVhbhkMOIjugjvCDiOvvkUglmZnUZOzkLIZKCbHQGxCXrkYhpyDGxshRGqbREt", "c_map_varchar_8":"YXhziOTyVZyihbOjeMMPoyxkvZkAUJbdQZPqXmilevmsIARUYLHuMOplLtygGplkEorrRKjYengWhSFxkLtkbHJtVjXKuiOxPGDJcoAmXqACnCgKiDQqmUPtGfmhXsOwyWpAquPAonjNZKTfTdHMnZehNecHaSfCMncTVfMDowANCyQPlZsmmkjpJKGRpoMuxQxFjKunsXSKVfLlYaeUyiTxQrjyqXHKjeNqqIeFpFLrXAqJxPFGeTPDsQHejHkR", "c_map_varchar_9":"NSnnESiVCfMRZvJxSXPZczXrMTBrLTgRaOfCICzSgjlZuMIjUAMGvGlKXfFobXKfLKZpvqJERsgITMWWjOyMfkonOICblewbgetNntXhmqMynfAReLsEwURenWRpzbmfIPLPnIPUaOtrfbuDwsWWhFCDVmkVtIrvWHnmUWQirCnyuKoWbbHFhBCHgQnsOgatzKRUnUrBDgVMPYYvxJoKKKCTTOaPlsFUemKUJTCSalHWcxZFUcCYuiDcxVVjuIqz", "c_map_varchar_10":"kdBCsfuCIYjHFAhWHFBMkSTXJUDAeLEMnkpdBICqoSqNkajweSKpMSrpbMrwBevJZsNjOguwrppNnnJitGTlzHNGIDVuHqbJMjTAnWfeLOCYJWIuDnachUgGwiLidOsxbJmracmBcSpUDeUTawTtqXopXpeFUBaOmBDlvPXzUAgBIFgqkUIYVeqjqWrGBlSSBsMRUrZGPcPnwnxIVBASKBHLajgDvGDHcsXOXXcvdAoajnfNNdKROvgqMRsRZYzo"},"c_map_ipv6":{"c_map_ipv6_1":"607e:1d10:cc9a:2f0:1b9d:3fad:4843:ee28", "c_map_ipv6_2":"262b:8f74:5e4a:a36:4656:bf5e:3cce:e718", "c_map_ipv6_3":"ce4f:a4e9:774f:b2ee:8fce:996:5663:5018", "c_map_ipv6_4":"697c:c90d:575a:7bba:8410:8fe8:d0ce:8f64", "c_map_ipv6_5":"160e:f5c7:4044:4677:bbe9:99fc:7d14:1b52", "c_map_ipv6_6":"4de8:13a5:906d:b4a:9fd2:be10:fc65:4fcf", "c_map_ipv6_7":"7db9:bef3:f383:2e2:ce5c:250:b0cb:5198", "c_map_ipv6_8":"f703:3c20:7117:c6c7:f1d8:aa28:dd0a:73cb", "c_map_ipv6_9":"d8d8:6695:e333:cfdc:7f45:7a57:894e:ae76", "c_map_ipv6_10":"362:bc4e:2afb:c130:9fd3:5fe2:b75a:fb76"},"c_largeint":7215599723391339883,"c_float":25.74163,"c_array_bigint":[6579129219123730503, 899661211646428183, -5035003254182511235, -3007010591001873165, 4679291730125374570, -9064313373456944950, -2682535381211603249, -1923227509871813537, 3514941107609355600, -622672848557528952, 2810321468881424465, 1165999280903322114, -4955486835021277352, -1255905679372685971, 5491720587108618083, 1884174609732436009, 6299566419111954089, -9177444776603905910, -8369349856454397346, -4655199506061487371, -6938120899026089760, -1972188521537057675, 8483384447306754316, -8938745053739285807, -6707865960775911921],"c_array_float":[95.482086, 40.761147, 2.0791256, 62.32943, 60.638733, 10.334754, 25.380562, 46.05156, 15.658555, 67.32441, 89.71023, 97.65801, 43.879173, 26.928411, 24.349575, 64.17153, 50.06172, 87.21041, 50.10671, 24.253294, 14.218346, 49.43709, 29.153902, 30.09016, 68.011086],"c_array_char":["jIBNUyElNW", "ITnwTzCIrT", "ABGlbUYqnJ", "WMgLBRRtPf", "fqVuQpXWYm", "leJPZPDqTh", "ZRLUydAveV", "LTYnjosNYN", "TOHIIVIrLF", "InWrhJjMcZ", "AHKOtfbVRM", "ZsYrwkkvlK", "hJPJyrzgSQ", "xcbAobGZbJ", "UmODeDmTWw", "VTJXaptMip", "tjkRRbzibl", "FtzhYmlZXQ", "keYqCgyGIw", "cwVOdtTQJk", "QEzltbupkm", "bRaFdCWzKZ", "PAsuuJMSRu", "fiybjJSgKS", "BQocTOFvPV"],"c_map_int":{"c_map_int_1":1805177686, "c_map_int_2":666558881, "c_map_int_3":-765707719, "c_map_int_4":1857266716, "c_map_int_5":1342452914, "c_map_int_6":1265207312, "c_map_int_7":-2110824446, "c_map_int_8":-1730543616, "c_map_int_9":1461072073, "c_map_int_10":-1899403138},"c_map_float":{"c_map_float_1":3.445309, "c_map_float_2":72.00653, "c_map_float_3":98.073616, "c_map_float_4":77.11378, "c_map_float_5":4.430253, "c_map_float_6":91.061066, "c_map_float_7":9.25005, "c_map_float_8":21.236073, "c_map_float_9":94.42456, "c_map_float_10":27.442781},"c_double":34.44984007809559,"c_array_string":["MOQooVCEtIeZSWgicKRwUpFeGvCiXeHkDodrzGrNDfVvQbGChHfOsGiwEGjeDMsuAYUkjgROXLOzUGnSlWwOKBpaNalHIGcqgYWaxlinErdZtWltaChfVyUDvwONLnEDHzahjCZtEDgNhiyplSPirIkYHZdKuLrnhSUIXowUpbLNPrmbVcxDQFqeOpdntnSilgroReXnxGtRXHMDgzfOwLbihWnuJPNSyYhLpHTkzgLgfEHPYNlxtkDUOVYnKhfKdgAGwiobOMjOaEMITLqUfWkwrdobsswsstYiujqFUAcMvKjZxhKiqCHpCCiFdPcUueoiRTxMhzCicbWPcHLChuDRqAclYHGSYFVNHwVNGIbKazafHzGsKyOcZQNgzXDnVqUbCYqtOvZqiOWvzZkLUCzieGjAmcbzqpknzfMhIPqyLVlRHjFCRJapJtBXFNoGfCpuVaRNnXIfjthTcBIiCLysYkbIhLqRQdkkoZAVzkTCHtzWndevPhTvTzMkPgjx", "qzSOrZlWsSMYcaMgMVfwHBOTUrTkMMBzBpafhapaPpnKSjxMFhKzhXuWLqtVuNWJYcJMFNjpOhArmwpMvubJwUTquOONrwdMiAJzSbRiIKquJscmocKUzOJcdPLjeuDGSzGFDBMjsjWbKeQBePaPrnkFRHMsyGcWTWtuJkvEdpfsvktIeZdoCYAPgYBDikAUZOfOzhZEuNBANxdIMAzbWCFswQdBlianBYcqLRwrWULgNXNxWviFPbxfGUIkYCSTyIFCnJJNMVyzLxeFrCsehKwvnRLfWapRZvjKTLTBoiDADbhnEdzisKcLaVafdfbRmtYxxfXSlXorcOwNGxbSsifkMkHaGuyPpytNUSCREpREKTwGhKIizzmzvwntIBbIHoJWMtZbGIxYOZUntCeEbwJTrFtgWFFwaWARfgutRowguxNbYuGnIBhHdDWJfsbSAfeRMFeUoHBSjNTyvwpdlXDREQUuDmgsoHsmRXdoCoMdjXGHndEHtAkcwiDIXOmN", "yEtHsLYtnoZxbruqfWdPcQcEjboJoJtekmAZRaPGImXVxxgtOsQjCXpRenhRymOYCstdltSQCIFGdMOKZQLClxonIWgbunHTwjeXUOiNEDJnUeTutfqxfZHDFBRVtHDLGsHxPIzsdsHvvTPreERlJQTrnSjpGqfFdBFuVaiDoWTtsIUIriprgLGdnswOEAjpuQxtrCbcptbxKDHKyjDxoVTAnDYbvzMOCZJVOJMHEPcNbxTdKCiJnxVGggdZIukqYUYEqbjXQqspIPqnBtXNIqhoCHssNMlzwWrgNmdyISjYOfTkMfLWoejsfTZguqctBWaaoToSnDeJtxGIfTSoKUdRawTrSWICtZswwieWpIeaaKNztZabunRVujjAwzvRZZcstfdNhDDwAwSvkxqCnphtiMmthLBjzbtKYacBCXqBetPAhbvIQobvfYzfsqGXRscToWaMXZNndOVufdzKPHXVCUfBgLMtRuLtTIZvbhzvvItlXVBMNIluSgCnXnRh", "ZNQgOvvIRInpSbmlOBSRQPWQpHjIiEujOsFYrbPyEhhnyNvbnEcPiSoMoaCqDZALPnzHZVjcoJHkbrMBBezNxwHwByYJOzIRVuFbIFAJbslMxZEUljwThXeVXIEVvhMbFHFKdzZUPkhBfUfaxzfuScQCPYjiXHAqaPfWWXYKDketinvXfqfARFiExEJXTnhtdyVpfharhzSuddJcIvFabvOICRXWLioBFGORmTOxtQGzRNdCggvfahLmqNNXnXZpPgtaGrfmBaxxkLMzuuANVwSedyCCFGSIsNKqCwpGSuQaichNgWxZCQJshgvuKGZlNcwKYQVWRncdpUBUQKFndJyyeGMmcLeKcJmdPKoxfruYGpyKTrfRXKkhLokdjAWHajQVwRSDROtpMnbAQGpznYpflEDPXelcXMkIjlGjuyWaVbtoZAgKdBeXUXwgRwaKOdzuaDyFgmwHafUKJQtePtEFAoReSiXrPtXukdRuiuSntidPRxIfgCAaLXGjMWOO", "eXrMWuKFiXyhagmgkdPQmirhxylzsPuMkJHSNOfikDYIyctODDGlGyaqlhhmRegsSYRzuDJjCQlihKSeBHvjVLSbmfTNlxcFXWWDWYljVDGKrtCaHebVBWCyDPCkAAuVPzBJmbatIIajrGGTkneOQmjjqeeTEcYMMlRYoUAyNgsJZMEkIISOYlnmijnZhHGcKBJnklOzTLHyQNeFugQMEcxfFciyTTWgMRAyjbDbYEklNTiyEEgJUUYXNUJLAZHzbepSGNLqtSzsRahFmrxROOORxAGjuPaVPoCRNvPVWFHqGZEbMAnsYuwuhTnMZcLKwkvldEJnDANdkcdLbYOuCuitjbaMoHcbpqgJsjkAqQXHmAuZeALQZINQwjBOyiDHWIDyghDnpOuiVcMpRZwolhfbCUtNQLRdJxYcApDLqRcjUycXLuwtjlyrjZMYJgyoJgCwgYwXGqlTvfbbcpBSZUZvUnMnMecaiHjWuvlVsHUNBUzYvALtIBlduWMrZJET", "RnkPFkAPxaQkILITDeWDffxwIXElwyNZswkDqzhuvITCFzdKGMVCCcemHpYGfnaIFAGfrzhJBgINNLGxTfOmXCcrpjJJCcFwMcLkNdWbgrROWEvowPsHvevATWhIxlhVkpZNWuNEHIahiYXPpByKTPViGwWtaahGesZoNbFDPsYRaOXuHPGLoJBKCuAtMMDRjegMbSHRVEOthfGhLEJmuCeXoAoUZAtnoAqDEXsibOmRUivdSiojpkVxHjmuopYoWwgMxiTJUAyQKIKgCXkFwqzMUErAObgYUFDtVlDLNxlVvwjEyiyzgBPBysIVnMeOzJfkUjDaldVezsbXloImEmAQNdKJvRKBLJPqKXSdZIKlBDyrswrUohmShttanvMOGRpIeRCmWgKiStjxhvNOFSiFeJvfMbEzBfXnLbsAyejoWQZKBZfiIUmBtzIlVGltfdAYpTTRTFAWNbxAgOeNkiBKKMKevRHmpxjWQQSSHpvtiPMvgIUwnYZUFeBiMhNu", "MFprfWxaPDoGcDyfRtsJQLrsbnREXXElmhgkjUtvWDoitZqWjwaJRePmrwyjLWOPotYRKOLCCOVOYxAvgFuzaoguTPtNaizTuolKzIKbrfSRywmtCfBhaIJHpIqzhDBfjZvqFocDLNmIAixETEIPFoGNjhnCzpruHsLOgNWIMVmqqGDDidfaSZgaBGziCDwdfeBmnsZrbEvEVvSpcrpsnfImGtAczQGYpuvkLAJzlRYYbUPaLVEnattqVztnYwZBJFNFMndRgxMHkJsMNYfxmPTJrEOjlWtomawDEnQYxCCxirIIpSJiFrcAVPjxDcADqUstjXkLgmmHlDuqdWerPsQnouoyTtDQyaLjHDXJnqDoRMcfWamLfCFiaiYoGSqQEujddlLdGlBKcmCsuQjUCFtIINMjfiCIIocsPpaUETbFhYPDORYvtusHgezTZSIcvaEByxTBwmXcpuiITuGunJSvqDeiuAoHhRccDsFijdnbQhPkStmuaKftFTCmZXfM", "zDqGXDpJZMjWSYpxSlwrUsBxcWguuDBAOpyezurpoVMCXDqsUNhilEJfokAzviElJEphToonHtjJQGnTyqvgBOuUvKdtVTlFTMvRojyVloBUJcnPrkjtgJeuTkRpdWUvhBbPxEyEMQnoLlpHhlpTsucpkeFIZHxUxpWZEEbIcMWADcXpmkrptRAxpOAwJjOIoVZPMiDLHEmHQXrmAJdrjVPGObJGZNNuWzgXnfpipuRgOckOHzgtbuEmNneeWSEQlNTeeJxgGMtlUGkbNxSjsKSTNzPdliWULZAmqAZujZZsWCtkmGgQCyPJpcFNaKCYZdMecKIVzSWUoGohEqQmbvwLdbuxMbriGkyLnpIxujdvFWpufiXHcBnDSIyLhPmUrPypttJxXKEMitmGVLmTnsncgijLNKuViXyZBExpIOtFlbUETrFXbxjEZrhIVolUbTaDPARefHOZWjTwYAjIhkmwYteBwnwkFZKdhoOWcyJhJKNiAGTFZmrNeRobGMZf", "rJAeiTkvaKsIbHialefqjLAHMtaYrwYoNWogwbNwnifqJiVFGcdxRsGeupxJydmVThfTfLOdxuAtEreXQrpKpUdnMaxpVzQgtUeEKPPcCLEtmcIcIOfmJApgBdWSeGMtUHPUXFTVMJjtByMApfQVJZaTnXSSfrPyGXPthHVanZRgWBACdfxjwLZRADAJQGXCGotTaheRzmjOopjDdqSUcRbFEZfgqzMHhUpNnsXdWSGkAcIHJaSuDqodgnagFbuuVjNVDQwYOrUPIpmcvlnfQDnZBCcLrSGbezSUNvJbeXcFFVnuavLnZbDKUqmjCawegRPibYNJmPVQhYLHRFRTdPvyhAMOVrhABDxTtJyrpOfygvvWcSoCGxZSsqMmtfOGBphXbPHPUBMWJJzMpZJhBfcQAAXSAyvnHsgyVIXWQKACtuTRonWtgpirXJfxhCaQkDNzWvkQXOwNpKkDnnGcbxcuXCQStTZvvLoEPLiEIIguLQhzEecNFZQpLjyeilgN", "dxFdByLxPSSDFMcjWeLWqShGKPUjDIOBHJFkMkeyBBrUSBFtwHPsgzebRfvDHXdrytCXLeBfOGMNVIQRaoOLpNeOKivZdInnWmeziXTiCvPknuyiRZTpsfzAMowshSgHDBtOQkPwfcNXbpRWaDWaDJNZRXGqIJklnbpelQkPAfcejbylSLtOxGSKgTsuDGmIeNCfSuXhROWunXhztfXxsLbllTEMeCuwuxPUMExdtjEtdAGmaGGIDvRtXUqVaTKDruTydmdfzwTNWCEnMhxOoDPhnQgIsTFWWqIWWGoVxPFrjZqwSCmYOqIxBsQtwRIVklYGJENNegaWNYjPtbKUkeOhCDHqftBBLkjwLNVdpnaeFDavQExpfSqzNEQDdGqRFNOOjPRVOzxoBeqOzDKTMojKpWahForsXeOYMTGMRgQeuWMeTAweFWyRlQwZIidgcmcCGTcJynMAfxzcRGcgyoFHvYikjCPhgnbBVTwGzGHJXmRFpGHhDYIFFTZJBjST", "acSoWMmcNKHEVwiGWfwjDvHBiLwEDvVnIMZUnGGJgqSMDLEQwbmILkVuEKsFoccRWgnPbBJdkHauBfwYOXCgJinuzCWeGPwlrFhfuIzbQdAJvlJjHyAHPtkvrrzNiCrvTTvjtnKEnAoRfCLqRBLFLvcTWdGnqLNVWXMinOwNDzGozdzOQMdWzXpscnahgDUCDUnazMkgiSfyMfKAxUHElHOEhMIaMWWdUXKBLerCTEnfFpoIOommNcIYZYULytprxlLtplDNhJZWzkczwgPaZXLJFBwIEsIPJVMAGwrBLzXRDgmMfPKkwvvSBrXVtligQqScBmYVhtuSgORbkYTmCDbnrQsEyCpjDFGqDcVgsmjHcuJkYpKZZlMiNXBfSqvBcCALkYywfKrJqCwhIBhZxMNmaaPxgPWMWKloWPNJLhHqGksxGKjBSdWJKyRztWhQoBiHAMvXHQrpccEVVWrgWodMTldXyxvgviHmxCfAFffwZzTELgOHKlxtbxYOnNql", "YoliBBRPBbhrvkqocSmQlhBDvMhhCeHDqQmlnwDaLbfvINyOGtpwOkLoJEcGKurzeTRrGvVmZWUzpLxYOckMZSSoWoGIXfgFSbjhJqUxvlAIWKAXSicULFbtvQMrYYTjsoHTxLNGGPgoAHCzcSMQUMYqtDqlKBXCQJKmyazJkICeKIbqUZCFkrrFdwCDOHkiMftlaiphcrrOeETqrUhgNAICXOmlVNoZHOSrNLhxVywOgQxxHKIdYxzOqLFELKBJmZnOxvtovarRQAogDtpPKbhfJucNSfQoGIYKNLOchOJAyDSUicDssFSauCwKEhSSJoPbBOaYVGcQSOJYSsbIXZQQNdbzAwFLTrqZPQjdHZXSSNYKbDRJfRHovDptBniMgtDBszBOmBOqcXNWITeNNblCfMQBaYzmDpyMFHXAwgSlQOTINBFkRCPOYwOUgWBTXMlHGCmYkjZFTtJSTDowujSiLWMKYQwCClzqPEvAUgNPxARjfDmsdAfCIwmotAMo", "DgETixfaDHVEiqcBdfTbqFdmqipnFWMZeOwLDnuEZOkEmIkQAAwnEcfJNZbNSFzyeRRONLRuaxGGzxFuviNsTDwIUGBiWApUBsAlcHQmjvPvUzeSBTShEfvQOzCvTbvQWFRLNFNPvlcPdOAiEVPFEXcOwleonpOhjXJmbICezuWhDhljsTzyotwiFnFSKKujccvInxJJUfixgBnpgmDKjulhdlGyDXRetwaMCHoEwCEqqwnUyZaAGeIhEgbZhOWsaHFriWTUMRzlKNUjFGcWYofjeeCgstOlDfaqmvKCmcPWklftyeTtSfSiQKelTuHVukUKXkGLULteKNEbEauLsqEfoseTHtJYMLQhLLxhjrhhdFjUOAikUjcnjzsriacJhyNTqDSjWqXnmCIkfiWhDucnkPWWLOjNdChxYGFvIMtaLzwswvsNWENnGQezpRtAqyKWnZhFHrDxLoRwWGkvQpjykCLZvJeMtHaduYfAicrTnhatetZIycXYoUyPodkt", "xqQuqgnwUYYCaTgKChIPwjewnIelkNhZAPhiDMWVRAOaglHrUbrWKKZyNWGTFeghbxYXSgHwUbMbzNuhGEdKuOGflifzZkDzDqZKQeeYsoKhQzyWxCezsgPniIxklZdFgjHSpPsHNAXXwsNYChHzcBIzVaCEPgUADliustuRQkVFVYKpEpWrpzfGSkuIMEwSiqAUnaDZwlujjyslrDVgwgdRBpesxbvxtBBZYPbgTMELrNIeNjDoKxCxAqigJMlwkugOfdUNbCWVHYvKvXjiABYNuCGKtZPFwWDgSfGdMkFGugeIfvtrFIQKUMRabbMzRroVjVpslokCUnhFYfhWESUnHCpUDjmlNYAhfQljGZDURWjcInpmFwySjBnOvAGhnsSykTHiVTaqBOruNfyTBbGtOYRVhAmvxbwMzeiqQfndDQBJkTgzLopCpIDkIHpoouqWOWXSndezFPWpRaNLjxqwiRUEbRSwbZNHwWKTCCBuIpndarKxfRpYZvJacYRD", "gtWpwOdbxuMSBqTCYbYeAuVgwhnYjPWFLszhWBZNKdXBbILWfiQtWoEjcdfgkFoOOLlyhgGLgpGqhNzCwTZxzPphQDVymbqkHEIZzrmDSGsNeDTptJOJstzyByXnsPhSmhFvAEWOiALKWebmasfAvXFORyzmAVqsDEaXqWAbtfyRGvqlrHNMAhglMJXPNDsDJDKAZirmcmDeJPavdvFOrrgfuaufLJAUHdZsvYNuwVeKUdINrVfWbGrBoPDsbhjtmXSrYfcggLBwdIfEpaJsTqgnQXJBoEZKSHWGSyCaXDwcylZHltgBXVHxcWxbiDbuhKlgTbSsTNqyGzcEbQELiqkaTxmGpNQfHFcaEoxOLryKmlCaBQFcikyXXNlLZEEhXCtbFwVuKWMbWVhfgFmPSfFRlELUfLbUwNEyyJTALgAnYKIkAKqulxEEyXYolvMvOHEKNeFNwWLnzKqsAPtFhmJTOqbOQtljRMvbNpBZWmfWLqiynyUvPwLlvdsvCChQ", "clOXETrXLSmuPxsBpbTPvueVzSnnZFyTqxjPlNbytyvTlmHDXBkRKhkAoEJbdUmhPLyBfzWxsQKxYBmZOeRDuxWnzVacmcVKqWiROWZEEKnURnkDBgXepkfOvHPTFNXBmqKSCBRLbTjdkKtzYJWpyipmEjTgJkLHnTDbdnNXYNPDAMwFJNvFCoKfRQbvpliXxPOOyQGUzbnPjySlVDaEVTKEzfmtbbLOzAzngrxsjwNgmHztcYGghPLMEEjtjxRDfGSlSYTGgoFvEkiZkxnqhZmzNYHNeRDxInBodAVMdiXBUCxvJiqZKLlTZHvUPWrkYjGsvfnNwnyBYrTTIiARWYbgHutvGyPnzWHSfLZyBgYPNCrfhWERFTTkJxtKvPbKCuiCBqswqnvwJYAYOUKQXGMoNUzhxryDWeYcBZPtgfczpHJVKIAyWFeHAygvcUHNsKSaJPRjirjWHsiYPUDQYopURmDDcugNqFTklKljBaryflqmMIwpCjucsFrxWISZ", "wlSGrDvzifwjxbXxRikYmUFpRdIHyjIaydIAgPVnhqpeIYuzDcfGnWtqZdvfZIiGtoSAgyfJsosdjqwNTzqKitUGJkwUItqoggkFmRdfrFeePxamtSUzFFnybVuBfSDjZjOkXjumlhfFCHBHaqZfHrFEEisqWcSdmZkxmtBzxYzNyVStZaqVapDmugfndigyeawNllAwPkAfWfVMBbTUMnmtlbYoHBhUFBVvjdpVaOwSxehzdYkyyqtqMahEbUVDelrsIpFrUoIXrUhMGpndgcEKXkXmiTvBHhRcLiQKHExZNNdiGWLObXHhdkLJjyQrcaCLQHSLolXGnDoONMqDFsidsGeMsrbVYhetcOwlVKwJRlmEIcEsEuFjAlJXamVDzPPErrFMNtzptOzXivwbFeRIOOFUGmUrLWDtynPPpmlUToDPYNDFmQeCHNTfFyydorUntWkaBtdoesJdEjnqgpYbNnKzjMGFglyCjxobodryqhgbUmYriJXqggUpLuVt", "TfMklUQBSDcXnjnfZRGtuKsMaMNBXjIvzCawiTQKhIBOTIbsAqyBujEUXrLJyjaqgswKHhNMhMXjcMFdqrghVTvEezEXcFPKpVkhdTdJjxRpyzzyIZbQiYibFffnyYTDMvLcGtAExcrgcqRJWqIqyzOfWmmpTsYsFvczMJjEgPzirInesuVFGxUhCAkMzZhpPlkOGZMBXKyuEANCPtuVmvxXJdsSfcBSBdYfDuIWqetdHNYFxtacQEYoNspuVWbZGcXBnZDuTAwAJGomjDxmORqtFwPTPLMJZSjRnfhDEsQaQsYrhzFBPDnmRKJcCYDDRpMWcXksUgVDcQwuoNuBhmLmSNkBzivBIWhQjPNBNLRERvktfEkHHtXeEZBcQqrhneFpsLanXqdFamyVLsrwaJJenieUakKXHZoKrBSanLicjHAUpkUqcpYzSlgygKPHItxQkovYuGybBBqWWzlXcvtZWkQsTJLUpKegCbzILVSuDrlebkvgMHYpbLpDqliV", "ziaLDUITEUYeotyYzaXZjpJvdXstXHdbgtVdTVNydtMEfNPgNRfSZDKvajjeQXjkMMvnrIyCFmbMANSRVdvpXQtgsSSLnvZKHnqLVNSJMQLphmUHJHJbLNqoGKEvYUZSnFtfagJYLUCGpYVSbICSZcpNKMAPYeaEkHtcmTeMYOXwqOZQSoTSSOMUyYwgOrNBNTAulBKVaMNCwzkqAFnIGDtgxhQGpHFIVYBWhkQjaOJlDIkwtOqfmqrShOehUUIerGxdGFQftgprLtDMemYvNeOyeqRmSaniJPxvCbhtQQgslPZmCXJjjuaXyUphOLeBzfSEHEqSnCcddrsZMVesHlluRkOZRJsuzCuBHwijpwPPehHnVRhZSlyKapgDsLTtDwUvLHOsZfVwpmCnEsfyhEkZBrmUwKmtrtIbaMiMNqPvuGPXdoSVBuOdpffAtCEXZqTxYdAXREZDdhIZqMxMAaiuXxuEYPkvMyElXnpAalRaOsaaWLmxGRkFWwMnugAT", "EcsoXDxSWtgOXzEubSaDDSsSkahNefWlZClmemQAcecnEtTlPLInHDXqyijiqLziBTzhvAmUMZUiuvgXRhULArtLelwkZXCRsTjdDswbrVPqgGOrDGvJKClQFLlRJCCtCRUhUsxwlPMSQMhjOFAgtbeMmayFsLsGqJTWpZGprULEiuSprsYMwsmQGlhbFtQCilIOGkpdXuJthMquZAJdfgXXEktrIKbQrJzgLExMnnFczqarbQHdpLfJsVZFgSSEmPKjvYByMWCJVuXaYHsbvGjjEIaLDYLbIhghztSsfzzcLixgiobxJRtlrxQYPzNaXrePLiSOAzTCiXvDzhwKnhTaFrjKGtHnuhhkUzMBhxZgzYZQmsaJlSPeQTLMNOTblIZknhRNjJQzbIzKMyxDzcrYzdUfjeEmsLkKnOTfRjTDmSKZZqqvJBIRiUjQAwbwSDsDeCpmdUxUuRDyNIsaUdYKoMHzoNbkfiMbRkJQasfMmNQiDWtnTEcYJlQxVBaZ", "dVUHMHHGNNjoQAYcVJmruCFDCeFZjiaixxLxSnnAAHfMdoEeAldvvGlbdbqrhERQjAeZJTzfHfGJNPQcdMYrjUTERMviBPRzrGwlLsmUJHHSYrtwHNYhnaWQhFubderzVboYbRzfhaRwYUMpZRLNvlVAdmhfnWJZFBJCUhYaVqDdnaLuNSnSXsaOkrOVnxvdmFMbUDVXWaawUMHtAvmhZmEPeFbrJOYFuOZAarvKPNnjWHbApOdfuVSlMfYBLwjEKxTVUSQFUKWBkVCCWcJoaFERjfXnuwrDpaGHSAfpueRKmmHItxnCAMGTRFnEJDvSVkrDswfjLgnhVuiiXOeeXrIsKDuIEudaswxytBIJLGocDZdsAFWMGWNkfdjbtmtoCTWVDgZCtxmtpkgxrInkZqondnJTcyxrnoYfFjdrBsyiIkZTsogTWJlMOvbysIAhoMjawYFrvUajFkGzzzTrMDRFdUMpXXRUJdbHaaEOyXXPVXPBwcZOVqIpWAfcgbca", "tsOymxOpMbUlAJULtjgWHCNNHSeTRnKhebBqgxOwDPlzYIaUOOePxmFtahRIFYzFwBhIQPnFZBAFDFHnugEUkFZKTBLbOCSVpjZvkXRMWJDCSqVxHqHvHwSJhLtTiLQnDPvKRSzcfsYDBxCfcfqtzmShBQQploIoFFvEMJxfBEXYiRLLlIZNDfhvehKtzaRZjNkdMgNguoWKcWpFJiasuLaccCSmgREXAjHApThtzykmobftCMIZmAzSVuLQKlnOZaHJFKqwDZEMBWxwuJCTsvzaUqpDSWqnVgOXiVzEqhpVBsglHGDxefeqzTenRFxKGmiSuWFrEZcZHNABVuyauxeNeclJOqJKBxTJZukjkGdizyLlWDBAkYidSfnzlcfsMgQbssqjBJGsBkLdgsPgpiUgSQiGerEhYiFMEmhQnVGaJkBfKvGWbMQRmRXVpYibEqhcvvrGnbWTLYsNeHKkjvpfluRBjdoQJXRPufZPzALSBYUsSYChznSAXlDIPBWz", "EoqCCceouzCvniwRtvWlUbDeAOHjmXGmoJjvYzeTQxVSqwMHpMYYsZKQPEQaRAXJBknkiZHthdPtdnNUFstjDhHfrPvnmUXIxduBbINHKZaZxfHkSugshOUqDdjzXvUAdAzQYteXlsaJgxnKzNlTBTBgXyENROjIPgzqthfdTKSdbnJMtwBmsfmdTKKnfQylxAgcwYdLyYyfvbZsBOvRLLFXsZIBMxqrEWYEAtnVKXzviURDfplYSZIKnqhAfxNBaIGVNtMNoVGHEhVkcXccppGJfyFHjmyPCqbLzqqzkVvqZxxvjWprBpUUkTkKkTaCIketiDGGpjPBJAxnpeTkDUIoHwEcWwMMxtkOVjkSKPBtxndsBLHSNvbVhlxlPtTlDpGBLRncgiIApnkwheXCFmJCmgNzntKIIhbyJvCEtskzlZZPgOpxITYtGqFThfbcGHSAvCFGrQWwwHQnvsiqDyWihfdLUYKWQpNKbjePKpYuyFYrMSapWKDKEitBxacA", "hAMpXBDYLYwCNOgruInqjxUdagFzPdMlsSvtCvAdJaXfAzdlSbnZrZXwDYqhJpBUyIIqCXsrDlyJGwhRlTdHjoaUnSRqOnggXIUzejvTniAqDkCZVUzVMfblvOxnaPfHpgVaVSApNIXjBTUetfkJsMUPmxHEwtmDJzPnXnxktOlMWXJrCNyucPcTQjvXJDMuGROUawwekotAbCZamnCjEyRVKVocFGYTPNueLTGPhmBDjkkArUsligVjdlHkRfqhIcUqQTgieIUjLhPMrLGRJcusnMhwqrjvRDkRKeEieKlRuNhHIQEUFQCuBwqwtTMIgNxHceJEJGEVXESxoURvtRNFxUgJuIVFHETyuEtqioKEARqfwIZclZdjalirALfxljYLTulYqFoVrhTadqSzXKUfdTvxNZGJbIIsGLuagbZmSnnvnOOzuhCHNnraWdXlebVWDPmVeaErrByaYlnjcAmRjYzbAsrXqRJzkyFdCoTIfNucijHUpIvGonQvdgUr", "aHBDogQFopcgJRWUadskoILPDuaHcDxLTvBmWJDFBOUvizDOZSAYsvTrQMsxVvAeQVyfwLxrOLHxboMgBQqOEpwVZZhBFfohSyZlnPUhwluZMkOgjxLkHUZNRGWilZbJAQHdZSEGpdBjlQsokCWtdGzwehhBjPdULBwyybwvZNGvYMrnhmmhfgFHDXIuEONTEzUuVclYvbSCegUTdEsudVwSHRcoIrITmuiiJhAvArNyPdxfhxsCNTyQgzpJqtlSldqzmSYjTjZESsWDZxHWBdwHjSAvGWHHgzsPiqYVdHhTptdxWaHGAvTLuJqPjyeDvlMdFCtdlZodtdkwnoXVootjkAAfpQRSCnerVdkWRuwpKypWgkGxYnLZNhjcsHIKVwVwelKPLpwJKswLEjnWmhsatzqhjQgGVzuEzQcnOtLinxymQBBYittLlHSIbCbzhAydetNbwggkLnFwTIAUXMQCxWPwvzZCVrKLkWsUZaReGfgxPCMAVtwGrXQwZNGJ"],"c_array_ipv6":["qvzlRfrIxw", "VmdHisKWfK", "fliJVphzOZ", "HZEyqtilTl", "fufBylFgFG", "ljeeXqiYne", "YuuFjjTDwE", "fHIuWiSByG", "NyQtvjjLsC", "ZUHevoMaxf", "gDkEYUGVkk", "LJAOGFWRdy", "EQVijlaazp", "vnmbKHWWvV", "PcQQybjgIm", "tWnEAObxXz", "IyLaNRTZNK", "lMMyPPJGmT", "ZaELmuWEdb", "HdvwhhwriC", "SjRJqwNzqs", "FPxFPdDxGQ", "NccZCZdvVV", "WfUMAWLKCk", "BPmydYfvdf"],"c_map_largeint":{"c_map_largeint_1":8215815687701927309, "c_map_largeint_2":-634548902704564115, "c_map_largeint_3":-1531425985601270897, "c_map_largeint_4":2453374928889419796, "c_map_largeint_5":-3003574530213330674, "c_map_largeint_6":-7768250084506280245, "c_map_largeint_7":-4799838246815148434, "c_map_largeint_8":-3598177331229345612, "c_map_largeint_9":4234295414972683327, "c_map_largeint_10":-248747402713474113},"c_datetime":"2005-11-04 07:47:51","c_tinyint":-54,"c_smallint":-31639,"c_char":"pXORNMCJou","c_array_boolean":[0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1],"c_array_smallint":[27767, 28655, 5887, 24716, -25439, -11905, 29663, 18204, 21506, -8244, -7350, -30276, -13853, -23980, -13906, 21468, -17777, -5096, -13448, 4989, -13883, -7180, -29024, 22047, -23411],"c_array_largeint":[-8661615626306370424, 6070448255885518717, 129864931047880397, 1836255791430320654, 8668321674794600107, 269459857016890587, -7661610672130444015, 6797931127070887316, -867106090785528875, -5898450030915098863, 8228229706441835107, 3412247205152432791, -5575483202516823412, 7401845028664821089, -4734077431354428693, -5655154276487382284, -3941144829429576707, 8366158830586571350, 8955917988944384838, -2454195758012811142, 6887350090474859144, 1371939573700975671, 8146521418775271110, 2123619455521152149, 6449664813003387347],"c_map_datetime":{"c_map_datetime_1":"2019-05-01 19:50:40", "c_map_datetime_2":"2014-06-23 20:20:54", "c_map_datetime_3":"2013-05-12 12:02:42", "c_map_datetime_4":"2008-06-13 12:10:30", "c_map_datetime_5":"2009-03-23 20:33:57", "c_map_datetime_6":"2016-12-20 09:09:19", "c_map_datetime_7":"2013-01-17 11:57:20", "c_map_datetime_8":"2012-12-15 23:00:25", "c_map_datetime_9":"2014-03-10 11:59:32", "c_map_datetime_10":"2000-12-23 07:47:39"},"c_decimal":75.0332,"c_date":"2012-10-17","c_array_int":[728156042, 633530543, -269925206, -2094334570, -595066703, -402426755, -1656572328, 1578685791, -637064737, -147174049, -1390037924, 984270413, -1377478254, -5468354, -613551630, -1248044134, -1576812722, -1774511510, -1409521677, 1544183404, 1827432690, -1882281463, 2107621359, 345913066, 295095628],"c_array_double":[1.4607627298327654, 65.82478074605602, 33.01478046567806, 26.189975091967607, 93.3454856634854, 9.984117879070538, 86.73942940472371, 39.222914514221415, 23.790243598432717, 10.626703787155806, 73.60640210797499, 61.28823261842865, 62.880553441250925, 90.25420314762059, 44.177956523610405, 5.7992910117612375, 100.59342858526334, 94.46248665069393, 68.10417463777921, 85.20663803124172, 7.552474222498499, 69.77018828223127, 0.5156178972925679, 22.940615835737546, 58.4933480106502],"c_array_varchar":["GgWHeJIyKMXJshGVTdnIenEnIKjsTvBfRUoKqYiGQEorLwkFTbGGRUwUkLwHgSddYnrGWxdrXmStzqbQLEsxkHQalTyoAaXzWCqQwtNwgTJcOHzQftEXjDsQqRnRfADwDOHTtdUIZjEctxIKbZxeCPXCuPUveoMtAzOmcsXXJDtYLaTioJLgoIUtPRydCGUerZEECHBSoONSDxaRjxAnIfdGZLNdehvNZfklJVHJeOtLOVnattiWVGPpFelGwPBM", "BvvZOmAzuJYgwEBpcLfXWpSYelADrUnLHDyQVhouRwuZzlweLetMzSRycfDvlcfnoKDHbISsNxetUNRTZLMXlRvhzGvknmaDOQeTEKfixMPTgqmTXpGFeOXftwAJZKwdELzbFshGMBQTxTCdPiBfVaOtothyuIWvkOfxTwnwCPBonlvzdYnSglcqcpROAipXoApnIZXmJLnlmgPPyxMkkgXZiOrwhbPCsbBfwwWkXbtwrGxHpktJXSpgjzALURnC", "OGiiKDrtYIuVRIjTKnzpCGkIQpXCKHNJZZXXyEjavPTLkXsMzrxfHzWrCIWbVqbDOFbGWxUlLCbqLIvhnYrjAvUUVMrgJgBNsSPWPeiJNblsPWwTJRroqBdGYYVfOdHreoYtHmpJCHCaWzLKYHcyncIZdOgTuMATdSJHpRwSPeMNRuXbwkpWBeRfAkaLXteufzIbaNwWzaIofLYZSJnbJyyHFzUFjbidDvoKiGrsYLlNdRDEySGvSNeeRdWwpTbi", "KuMkMFIxPkFGmWDPYACuvICGuBYscUIzHBcfCxwqedyzpzwsvJydrunjsCoFTtmPYYQmshqrfhyphRNhRCpvUotXzxaMJUVkeicqQmqFnAIxeaYHkWAAtTLXSXxYzfetavHWcfgscpaDZBcEqjDOFAOxOOHkvrbwWWyoXUnnnGAiKSGBMqBqTPkMSMchSVfIkudoMRbOhrnaffXDJXUZNMdhrPUaylQgGFNdsfFtUnKRGbbkESNMawxRMUqZYWRI", "fXpNazytGXkMhXoBxVvPGmdkVzMwZExrwRWEYaGJxCEppBKDjePkFgcaDNqQtIqvkZgokNEDZEXXdTdBnRysCBcwgOntxajewNPXontpxUPdLpzoBZGTkhXJJOuJfpIprcakyjtqnBVtalWnDGEwWZxyEEFxZcZvFciUiuWGipdUaLnMRUyPpUrQxUXVRGTAWaFFVcHECTKLtqhACLXwPTIWLcBIcHShNcKziWLWfDMBCAVDJpvNxxWmPWqSUuPE", "lyqUljvuGvmyJgOsEpEOFxiocxbQdZKGPBkePKSGRCyFoQFhFvTgiXUFtVCqJNYAUfRGoUtcxvxRLYjoOWXSBDInysEqzDwFKYOPhxoAgXrdBXEPPNcpNKiljoTzaQJyJszrrcTeuYLaSNSOUwhUhmLMDDlocWpVeOqThMEiaIiNXyXZUaebESZAToOYSUShvDcDaFvAJfhSBKoyGHPxJzDtMyJLZFzqFiVUJoAsiDysWVspcfIRgWLwxuaSYbyD", "KuBJVwojzEjHhNeZpJDlkOkyyhYAocAeeOxKOnPgXdhCXfqoMIkZIbptzDwYjcGGXALpukthNgGyRQihHXGbFhNmiiIGsICLUkBLAPRjyMQWNjjUHWJfMSXechwcXqLaKnZvLZSpkcvyopTDKUzxbEQLpBiIPPTuHZTQCnvvWTyIhWHUoUhqDRuudYsPzSCzOWoaFLVhqzQiPAYUzGdicRbTmbHisKrzliunRJXWykCpQEgVpYrbNmtsXntFCeKu", "EgaMnWxSyDAcPSAkpKZuZDZLgRIsOKgqHtvODdcaqbTmbxUvncWZYVuJWyBwIJagePRvzmZmvWyOGuXLdewCcjwGFKSYFyOfshZBJKhrjDhVftrKrDIMSjyPlMDdscQvgBuZMSrcGSmXHLtGhzxDbOaxpqsGBufKRRzgSCngsDGpVpcfHgxUAYkAmXtsTaAJHmUqyIMmkeENNJVbqnLNYcUhpEzGucatKJhlMKWzbgWQuZqgNGFJwrzfGAAGjnFw", "DfeGZBMVFrdxeLaJUMpqrbmOnKvjPHewCPwPWGTplXeWgSvJQZIWDodDWEGGOzDpFsWwPoJfXxpBiIVaWWerMammJOpNrNpmcqbKodJFMfDokUDUNZVCCfPYZfJIPdUHfVPpyHIplJAEdpwrCVqOcLfeKfToZCdWhvJtXprCaUlEymJCRmYhXdnUDoalarznMTbycdXzMdrBqGnULrxtLbcRNZekXETqDNCOxSwkonnyeVRqnVOpGCWWCJwrRLnM", "eERFuExFXkaAimlUOcxOLwccWpHuemtshnIJcgdMtXpgoXoDLFhjxCddeHNuGcfBsCSTqzorGfbHZVRdISOcNuYddoCoIvBmzgVfnDibtVBPBCIzqooKXWoIaAoOHgCJhJIZFUIyCcFAEYrNhssdMYcKVnvhMmpCTHIWxPyOMCOThSDLDQuQMScjZDDvVlEMyMHgDZEnGANXSIQkNqCprxWzkKOvlKflIrbuTaOYXfHARPtPhPyzfzCUWivtrtiI", "IWAoafsjAfXBAUWlqsUbtWfPZJqSfyuRilUiePgfInsZNAAQjQgzIiiZHijfieagInMxSZWgmmvmfHGNvnqsVBcMpNfOlYctGOyZbDirxrnFFAgUyVXvgdQKHtHfeNaqXHZVPCqkHFtBErUvRqoTqsTrzDIhirOxjPPoDjhRphgMRnDZeTBMOMDTvHLmuqRcadFqRxLvUGeGqijRaQoBLyypHybSLVxBSfhxgplfWrmNvmCanwAFyZWFBvBMTlho", "unXSghnoUrnDwyerYLxraQVtvHKJFQWTtQsjbisdLtgYChDNnKnLsQyRPmmMgAIyaOTMFKLQqmCgLwEYIwVawjGqfbzdicDUitoNpFfwkSBiqnjmnoLZhoDEVJSyLTbwyqWzPLvFYarkTlzQvbOhoCHTHFcVDWmFeLWoyedStRajeIcywmeGJwkushUqChtYcYczGzZgPoXfpFusVomOarTvEuHlWyDPVwWMjAPvxDtadoSPWieTJXgiffAnfCRI", "gZHiYlSjJaWIDHmVgmsjDiFtaUjNSPpOGBunGVPYOkFQXHsesHTeyULeYkncRbxgtRSRPCjXWBRcPIRtbozzQFSvqwESReGgpoqWlmNYceVEXxxmKiccbYqfEbLkOthaVnkaRYntkELMuzHgQwaiurCQavyadBBMTcwyUolLATBcfOBylHzIBTXhhewbixKgnOyBmjZjZcqalVmMvjyTzoNyBBNymFnWXhWTzduuWkgarORuWqjEKpZQWPsjOdDy", "FpamkCeDhYYgspEVSZYYdRtzfNVutmWxEcxcGOHwqbNGpzLxsxAiGAQehAfOepwCXxdQjzYCvvVqPAwZkcZhKlFuqWBAbKmcbhVOmLRkfbEvQRjScifeDqcUosCTyzAwGEtUWSyLxChJXFHblTwzMnMDafVZZFxdfqPQFCVIusnOmiWJTdqtHTPdDDxZGotqDEMcwYZjLvcDOneGSRMToqrkSAkoftVgqFGNypBHIfkdyffnRqhoJieLxbqiEOtF", "kDzLPOUAQAoTgUkEvkzrJVkldzaSDsHdlStsxpNiHElAAotUHGRjDVagwNGkSdVYvGRcEJCLyTkyMEhfORMIzKzjTwDDRhfQXAWEkwyuwnxpJwaGqXweLoIoWZAjSdtYnUySaQKoUDpBcxSfBDkKkRrgkcjCNxqDDEaycfLmVHKZwSehEiFDtcyCObYdVQXanfbPQAFecKZnGGAjSQznghyGKyHGKlUcAeJggqeWKMHTozfnQeFkgzlclIGvsSTa", "qWGswFShauhwOCwwUhgSWFnidHJUWtOqQAOwjUEEASGIMwEcCkfDeBrVCjwVkIBQyEjTgJQofNmtmRHKPskpDNgJZCcepxgBoZevQGZCzOSiBQnJdFBtHAvKeaMqSPvYpAoncKNOQVtriLOHvRNQbLnaaOzlRPZFSLWppspAvusljngPZNkwcBeNoMTndFAxGXRcnkOAbkvLhPeWlSPOiJaKtknZhypoSzYCfkThURdCaWEFMAZvDOGIWJuKYtID", "zhgIqjRteWbyYnJNMwpKOIwYLcwekPwqjSEnnCSfIgKnWMktnxTfsytjYQkhYCHPnaJOBvvgjsuwFUdnIKHcCsUFBuLiABXhFfZjpRCSkNTpFxmKKKDKgrHKhDceJxDHwEPXlzonxAbgYsryTXLYlirfAlLMFZBQhOVyHeJcLcphwNcwkguXeJtgmSUKfmocJUCLSrvmDxpqWpLsyOvFiayIFKSnZUJdMJReyYsxmdRaXwMHvDmfdJWWxQLfBCEi", "tHQFgnePAXpVmWWjoILQbmYjIsixiJKyjOOFoNJdyGZbUYezdfTHUyEoXzVCFwfsoETBfOhSdBWFcTZjUfvmKKRSuqcweTLvKeemTmqXPhgzJVSHgnGqOFCErMtkDApJgHFAaCQdbMzXyjtQsydqsNCXvzsPInlSheqSbypYNGgxGxHhQaOlDUTPDRiTeEmFwsUcMqCCPCfwRwYFoJyiIPVFFYELMqYzvxqaNMlcroDdvbYVEauziMlrgfPuUTWx", "XPMRxEvDTeepOdHGfcWNGowTjDcHToNHLUuDIuBkvKufFYnbaZntIBjxjniMBqMMZttXMnKNPfFOCPMpMdkKgpmvBRxgneUBpfPDXYepYyvAaPYqagwSQZJDyFZNUCqFAMLiYyLEKkmOnhsCYBFqQFJQLXqRhGRyTvJqhJEFfvDMHkQSPLPmtEBucNAHbPbykZPgIyEPuZxjTGnFZMcfKEOKjrseHqnpBwpSWRVABceCPSKygvvTQbNGjdYjkAAu", "bsFyNEdwSXXuFiWTItWRGxrtWVxzhgqJsjsBshwrLRQUBDTGloeRSpsMkoogGWMkYsuxQiAiIcqNKeGhxCEaAREQazPIrmgpAKbBMBQxXibjMVdqbTTSlVdFwbnetmuaBZMRFklkjIguDjaLEKqvCIREFDkDFPAZoqhxkBhLCJwKnVdHloBszWrFGpnbvzdDfoYqEqYbKprcmhrnqLyRMKZjHYfbajLYYygWNrQGkjpqwDPrWYekdOTXzFKgfDqh", "CAufTBcrXwpTELFtAcqBZPpJwTRVfRQwYuxdWBmegYPSbKZUcQdGZIQZQDebofAhPEtTzXWMrQYNXUrZdUAyCrarshsKimEaTafrComoYPPAXeeaLpyXrIGIeUwRgRJlFBZnmJSGTqBToJTPfOMlhEZpiKMadbWlTifwQRgSqRRrFWVfnjWlGNFnrGBPAVTQBHQrRzZjZneaQmCYzETzyhFPfamIWiaAYMRzfAYwjIAMBOvvOdXADWfZfcXSPqOA", "uBJizyYoWdKevZruNrpqPcpjUiEjnUDBrqWsGDkqGKSkxTAFIOCXTfaJRXkysLNHCjodKARAFDAFLkvcfGdWoslmMmjsTTjjWHKukSinjaOcMflzehhdPtQLKNBnUBpQdalZOZFAaxYVIxnjfhalLFncPVpEVUBswCWHKULVYAuOnoyBlnIvXgzzllnYqSYZpBRgyHxwfVXVhzNBYEszROrJqLTlChBxYarHWQjedVnQnwIBEhrOcIeTycVVUvPo", "xBeyJvyyfiXHVHFqvDReTooszqizrRFLYFNrIYULFvJgwUkcOWsHcIEdWROhEaAtAyEuJjUiDWOaugsAAkQCbReGnOvzZKUoENriZgCpJgkUSflEJNEoGOWcbCVTeMByZwkFXJjfAFmOLrcyHvPziWxHyGvJQDbvVNOOHVXUhXlIUNJqezySdiCcZVLmUvcDXIjidNEOtvRrQFheXvZNYDtzkjfyUIcMySUfgPQwcKnHPTScrTdkMLPrbLHKWvxA", "RqbMBQREnCaHJjutaXhpqpCGbkRYJqsggwNhjsKHUWBSWbymoeeeKYEonMyVzwkODKJlnNJfUJjEkaDAwiwtuSqDoGUFMFjTQNcbPZfJDNjxYwCnRnzoWRNOicGHpUfBYLbnuwORTuDMOesqVNbpswPzFJITVPXNJeIwcxZhtXXBesHjsUqeclLXjFMyZedlYewzVnbfrKAtcNRFOStbIZXnvHVrygPXiphwzDPOKHzYeixOMVOXChJvObikSwXU", "BNRvTGtWepwRKWLIDuwnKQUpiYXMiMbyEMOVrLhRPZtZywummpUmRruEzcSaayAIUGROBoKMiWbfHYEDNXMuJLbaCKoZvCOEhcFfwEZNhLIyyiJlhjlXoYWaYXOqXarTBICXdstjqMrHEjoCSJGOOzwcUeQPZkqdKEMwQXKeUqYpiTYUdWYcDHZhbuoBitUEclpCgQnLoJyPmHQQPMrrKIpDjFiTPyPSfgoiJcJgtQiLPufrcrvYshySwHUTKnuM"],"c_array_date":["2019-02-12", "2018-04-10", "2014-04-12", "2006-01-11", "2009-09-25", "2011-10-28", "2018-03-11", "2009-04-11", "2006-11-17", "2014-09-16", "2002-07-04", "2018-06-25", "2015-05-13", "2012-12-27", "2014-06-19", "2015-04-25", "2009-01-03", "2006-05-19", "2005-01-24", "2000-04-23", "2015-04-24", "2011-06-25", "2017-06-26", "2011-08-24", "2006-03-02"],"c_map_date":{"c_map_date_1":"2013-02-27", "c_map_date_2":"2011-02-24", "c_map_date_3":"2016-08-17", "c_map_date_4":"2006-10-12", "c_map_date_5":"2013-12-10", "c_map_date_6":"2003-07-18", "c_map_date_7":"2003-05-11", "c_map_date_8":"2013-09-17", "c_map_date_9":"2004-08-08", "c_map_date_10":"2014-12-19"},"c_ipv4":"2.91.118.1","c_array_decimal":[2.1932, 52.0667, 66.0660, 0.1601, 26.1278, 68.0566, 45.1393, 63.0687, 57.1502, 81.1604, 99.1127, 16.0597, 80.0143, 28.0942, 71.1138, 27.1514, 47.1134, 86.1319, 1.1936, 91.0422, 17.1857, 68.1562, 65.0147, 7.1549, 32.1157],"c_array_ipv4":["FYXtcYawkJ", "YkxZYcdkwJ", "AvQLpzMhiO", "fWRGxTcBmM", "PYvthpleZY", "OvMsOuhowz", "cPMoZPTBmR", "odfIdSiBYf", "hmqDxIaKya", "GikecMWnKL", "bwMBwBFNyq", "GnCxCXFRzl", "QtkZebOaEf", "oyyMiDOGYf", "ENJtJmRIQh", "DGyGbgUstV", "UrkEAGmdFP", "DlvKaKIMyN", "zvZVwJjvJz", "irecuKWWrr", "qyBmOxidcl", "zyRBSfYuwI", "gDdPJREdej", "ZWwGmRkUYQ", "YahuhjeJTg"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":1, "c_map_boolean_3":1, "c_map_boolean_4":1, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":0, "c_map_boolean_10":1},"c_map_smallint":{"c_map_smallint_1":-9935, "c_map_smallint_2":-22826, "c_map_smallint_3":26522, "c_map_smallint_4":25273, "c_map_smallint_5":-25138, "c_map_smallint_6":-28479, "c_map_smallint_7":-31355, "c_map_smallint_8":2602, "c_map_smallint_9":6858, "c_map_smallint_10":-15136},"c_map_bigint":{"c_map_bigint_1":5072282965168915031, "c_map_bigint_2":-4326808885248442776, "c_map_bigint_3":-3967339351781060636, "c_map_bigint_4":4550984301561203633, "c_map_bigint_5":-6255275314520087066, "c_map_bigint_6":-1782502299274122749, "c_map_bigint_7":-7099284118170567368, "c_map_bigint_8":8417748938412594856, "c_map_bigint_9":806244373853886944, "c_map_bigint_10":-2325407865555314408},"c_map_char":{"c_map_char_1":"oogXTIrdat", "c_map_char_2":"EGDKKyEOMu", "c_map_char_3":"kGTKcfkFyB", "c_map_char_4":"GEVJhIlcwC", "c_map_char_5":"lBLjDKamfp", "c_map_char_6":"MAKpRPSDDw", "c_map_char_7":"DiiphDNRxG", "c_map_char_8":"BHESDVZKWm", "c_map_char_9":"mdDRHNwmnf", "c_map_char_10":"nRNnjSGuHq"},"c_json":{"uint32":3843879373,"letter":"a","vowel":"i","loremipsumword":"perferendis","nouncollectivepeople":"regiment","street":"346 Parkwaymouth","productdescription":"Her relaxation seldom to army man a bread consequently these. Love out how eventually sugar splendid these can daily yourself ouch monthly enough. E.g. afterwards Christian yours be why next what year for shall wisely everybody.","celebritybusiness":"Bobby Flay","error":{},"pronounpossessive":"his","errorvalidation":{}} }','{ "c_map_float":{"c_map_float_1":10.325434, "c_map_float_2":80.36448, "c_map_float_3":59.566326, "c_map_float_4":71.11849, "c_map_float_5":56.003815, "c_map_float_6":60.383007, "c_map_float_7":11.855731, "c_map_float_8":58.85075, "c_map_float_9":88.07247, "c_map_float_10":87.876686},"c_datetime":"2011-12-03 08:55:11","c_array_smallint":[23760, 31557, 27523, -19306, 22354, 21037, 29534, 17614, -13831, 31133, 21890, 19936, 6347, 20267, -27340, 7412, 19912, 13873, 3602, -13745, 32477, 16706, 24216, -19667, 23034],"c_array_varchar":["KmEzOREyQZAzDoofNSfYuXGmtKPtBJUzQcVLOaIeFdSOcVTbjfCMSHOIaAQtpfTVeGMeDzFEifkZwFvsEqDpViaBHOKsBoXyApvdDYITxVKEAMVBuINxsvttWHtkOrBAXcIPTVYQvXUGHTbiRkgFphuYQjkfjqITfCHvLvAymbjNjosMKDTdWxIBhobuwQScwytVWmYfSNQlkJngPSxnCtayisVGkxPimEuQRCtvRlUyQHTkNuyRJMauMaiXjyXs", "kaHRKxzLalyynwXyIRFFkOiPHlfEOncoEDMGAbNaKLXQKfQksFPwrFShDyJCRJXSDfsUHCovRjCrjmQnaSdibvsgqYQRMINLLthIXsfjdZaTTjKZRKZqvGfJEircuiHoTxWRProCJmfUvMUfkVeWfgGvJvyFtDRpSructOHABaOyCGAvwgWMezQvIDIyhszaDASFwsHbEaWMIMeiqVaxlQNKxLvUnTmGhalxDRodWxHLapmLIwVBSlNslNMhOIMx", "RTlFsCuoljlTIVrmMYPxZQReCPuVUDVZxumsfjKNmBqHaBXQKuhhKNQbKNOAHhGmfLHkSeAkwAAgcIGzfINTnBochKDsZTawjEKRPHMHOpXjSPqHCYbejUskuXjKxbzPkOvkLuBbJbcFdCQWbjHvunxWDJWgFCTQRIflBjksFrsDrhlIIAWplNppdaeGyqmuwchZKxgbNVswEequvTKqpbkjfkdsYdzZRCBVSScQTGctoWtlJQVWHSNGVJvUTVML", "rlScfBaYckOLzBwkpZdkfqrpImNhcCHpePcwFRTLWfKIWsGKPyJgLPfathXdTHZicYovScUoFxvQQxaUozmaSTxTWaYybtEeMVGeOJSjDABKgEdhWqJWSUqYCprwEPjqJOQUPxRjPlATDSUQezfpUgPtqBhZIpsLEYncaehGExnIPoWMLqktYbLGqZVYAMuLelNAsQBKSRmshgDPkkSKlwZLhMttOnZAHDeKYAaWdicWAXoYUThXCyMYUcTFrHbh", "gudOZItGymNyJrWLVOOQSYhyHzndtHnFvVuxhKwXamhwkrVAvCfAVczliirWXTQKtisLFJSyCrqWRZcTZDjpDKQHrPIemGzfpHkXqnrVTkshbhDZWugKIctJYVmXpkxBBqalYJWrJchJiPBhrWZrZpPFZTJBLVOhlsgHhEmKIIIbOPOgXDNEjbmZdyTNzCVjOcOKHOumWTaBYLKnjoawaQqPAsKbvJtyFSnBSMKNPCOrSkMxjwVyAqobZxGosTuS", "nFSfyHEOnpGLBCDyFfuQHhYsiuAerZBaeRbfxKHtqXvngubdUUjNYkjqtcuGIlEqeLBnNLowzphRMgiiSFywsyAimGXFqrXcXIdqkXAakMDAEHoglwzZlXjLtDtQMkyyTBbeheAdxTYjuYzibUQQoEJNvnxPkTfKNYOGWAqylrgxuErxNxQgVsKCIbYhybFeopEqqZbzkQkNsfNxVcBJCjIlUmnWhXTwFoSLXdoQrSGvhdMKZKJEOMyceBuZZGhR", "ciEoJSRxOEuKXalmcZocyAwXoikZCNIWUONDceNHvtrAsQCFTvWYyTOVDiDWkqPaJNjwTKbWPuyeraXHTXyCAyDUoKWKBvowMWKrYieiWbVnhvCSSUFlkputCwkOqtvaMqtFKEvXkxUbwOMhDvLihLxmXTnFrrdMTzPnXnBwMzvLJQKBdRdgwAydhEsmdbGTosCGlTDuXoHbiIKIbrOKGgdclxTQqPXOWIIedXAUunFxVFGwJniVHjpmRFkUUXuL", "yHuWBglnKDcwZseBRPZABqShLGRLREzJWtLTkNAbesczZxJwIfaMygHNImBsbFtfVXizfJKmWPnHnvYhIbyWYbMqDMRaIjbioBcnjxiwrXWbseyXtTGoeZsfJUKGlncVOlxtUqYUWseoNQHZVKpbGtbWQJmiUEBLZJWbmoEJCQABwvoVsVfAeiVZFDmbpFBqpyeaMZZelqlWGFvoeGvRoWpfeGydndYUUdpnQalUWnxHYYzJPONTQwFvYCyKaeJx", "DOKjUlICsOjbunrebakDyXMHHhzxatjiWpLePWJINCihFOMcMydGiLciVpyfJzapchITxAkjwlIaAGKKTDswiSSPHTwcvEQjVKMpDjPMESsFsHBMcgarYPFhTpfwpDHRRZAHMCuaGgYFeSjtmUpqOPDpItizTyHWiJNalBsFEemayncEJxOOyaMjXzymdQyRRjReJZWxGpDtxcHoKSvfhZMRZuFvlWmMLwJQRkPjMUQvCtjYgkanoWTqtElFaQwf", "NfZBzoesgaJfVdILczYarawtmiKjuyVivRowBwKDZsUsSSfWrvXkgQiwQMabbWFrwckrQcbAzIsCJSSYBHpMZvWElwoynwctvCOZLAxMoqbzyOjohGJsrYiPWjqsrHGAFPWoEoqxtjNJwObVfIXdQlxMpLwrwRVSblUizvPZRPvOyNDmtleVdpmozTlOdTfSWADwygUVDRexsHrgLVMpnHgcyYyPHKViTzlDXyFpHmgMfJGJxIEEWJNlMGCVKvCt", "PBtzaSFvrTWSXyiEFVhiaoduaGmUMGbrOxOruzvRDZZqVRJOVVepkUGvICXCWYuxZinXclobVInmuFZshdGzxAnJzDZslRmlxBOnXrfoDKqSXfuqytwvVeeQrXJIiMOAwrVuLFNZefHdUGwZloZtOswlWmbKLCPDCXhMZuhiwRQSeBMhXyLzhvXcUZitAYROnUyVBnuCSQKOUILwswWmOtksCdlIsBCtATdYNtqFaroKIsVzxIiPjuKcBeQpnrGG", "ydkIllFMLspXZCxCYDyelUkohfsMaBUBQcmYbksIiPisMBiPllPoEkwNkGQyDtFcChhWSyEYHHdEHCOmtPkiARcTevDPbKAXatCepseiuqKIuIJnArLDzCTMYBYYsoPIbWunbjNrqKvmxchnPbNCdpzSSKgHRGIJRNptzuLRbdbeSGNfEbhrtqEsuMGLhnpaQPoSayCvAzXTvtDUBsegoCEpnDNoyiNTyigbrMZEopjXxxMIdFJEckxlkjSejUVE", "wUsitVnSpTBWfpyVIjTRSutKVXqPjVGuVBBuHyNgdQgEeyErRyFSXTChDnsqilpaEpRcPbHJAnawUUDNXTdjcVGlhLCSWzUrJseIoaXzxOPjWjIojKTWkMZtVRywrqHSAZDghPTGUsWQupHxoOmFzKAjZHmlGFrcJlsTgbntYBwrVtMRsbyLfbFPBJhzOxMjVHkxvqYdpfLtavnbAajGTtschykxxhrbTIToyoggjpGRagwZincyfUyYEDLpTPxj", "hIdIkqsHuMByPmRYzYolXPHrKRsVpqGReasJyFfpwKpjbpFsJQMFmsISRrrqHLnGpoWVzWYtbaAgwKtcLrpQPHUcRwwqHgdyAzAntmweKvRtVHLYgyfIPZbBKWIDlEclQJCuuCNnutZOBTGpkAQBzwfVHFqbPubVubLLkLbwlKYjsAPigpEZjkwjkANZmeMNhDlfgpRtZWOQpDeXeNMEtqSlbmpgSHQfzQteEhQBgFXLEWfSEpjTSpLnKSKcpTkp", "chXpXGPAAsAxozvUWwgjUdbDCwuQiYkefVHfAhTcwPHtJNgsthAgRrxFkZyqMYCgsZWVUjRTPYLWmVbKbawyaWTggPPKgXuqaUbHZMQCtuprymZFlzuSFUKRRxkXzWXqMkSfonjrLWNDZimRkEpJQDELSAEPXimLXTYUhTWpeFycERDRKsZMoVdsQyIKtnMOaGvwQYUukPHpUkQviaDOjhxybatndprgkRBQRwGBeGqGiClPQJamVbofsRHAFwhd", "BZiNQzKAtWDOUaJmfqMQMhHjnrjuZRmiECgRrcSfpYpwncTqQXuOCCNoIzUWDpuqvxeBJQpsmfoDWUGBQgOsvgcNsRhMepRKknsNxGoZVwgvOgvXpvughPryhgQUkITVwiKKpFsoBSUtjuwOJTohIUJNMScCiaVipgeqfVwUPBalBenoaLfWxCasRBYefEjArsvEhSItgdQyKiFlNBtOVkEYKImXzcyKeMAFIwbuFYFtzfZGOzPTSeUDFtYRwZsH", "KZpSipxSkNKkUdhyjhZEXjgsduvmqQspHpxmACjsDPzeBjGCKOqHnjEqzFuXgLyLaTNTndcnyUQTQTtNXSjaclAFQqtWzZwYhvFMQtTfBCJVumfWbQOBePEUPvNThqqXHWvjywZYcbuNNTAMbwwsRTeWlCBabsaZQkSZmoObpwOhykPkRnTDuHwTvxMwgXkLlICDBPJrDTffJaOQfGyjYXQKjrAReDGiHEBdmuScmekNvMIttkMlSBTqPIwzPjqs", "ZkLnRRCSDpujextLzaXTrGYfydWPVQjiAcbsYulwogbVkvssdOeFINNhPsUxpmSczGfgYpOfYkXQrPFpYsaTcdMMCFiTJCfdFDQRtiIFaNCFlxoeGpGzTbHpJTtSQHyNMXiPEjwEOklEuXouCfsdLSDDygtkodeTlmRLWtBrLoTnvixrtlpPhGgKQmrPxMRivJschAJnzSwPggDtdimsEmCTheIxPYGIsPICpiYVMOoNsRwslKiWXsWvYYtmZqCC", "iskIqJxJOioQwLXgHIovyspNdZrcZfbagxzPKtJdbLzgxrgbxTXUHFkoYNHrYWQZasNxhSTKBFcKHzxzVfnBfYORAmUGaGjJDeLbBrYVREYPZrwZxJZSIgWXFxawFVlsjlrdxwtsPudnIYEQOIjvcQOAlewxzWQgtFNshzcwyHWJPxmPHXBcaJohkiFdyDefqrvENEwKfuMrqPZmcdJsmvnIAYrdXLTMJkxVYkbmjYYWJEmPcHEsjibmPDSmfEaW", "YPJgdWiroOZtcSQjliLTFLOembOqLcRZCkOjiuqJvmWotpDNuKUeuIuqEKCtqOqBmIlqFtVOBeMhpWMBqVNBMoXlttJvQSjJeMWkWSdKxZaSlUnVEaNFVqAFRlBCKZaqJQePOYLuIMWmyLJBBUHKyVTxPtGTeNTkIVcoVlEeTrUZsCfssQzSBKlPYBCSziQYBPkxGELpvWsEfSfzjHtDOxeIpkzmYkupsLXKvBMqAkIFillKKWnCgxiZKgyjBePS", "GcocpkVbSyEwjAkMptlyRyyUUypKUCdISXDqEnBFcRblcqVdSUcmFBTnmVfIAActyJqAhwnVZvGlqACKZBSFFYohPlJJKxXOhqBURzLPdrRwmxNDlLUtCDSfqkUDwjpswsAOHggmEOpyTXqppZyuwExSKOIfEGXzPoKNhWKkiEKAkdwFAufscASkIdtDkMaaQotsUMvYMPzZEGIAImhMPyMiBklHHMjpOlzIGiPoYXzyHMGwABicETKmZqoVBbgM", "KFitKeGCRAyRrhrxxVOOcfhChpyhnISDgRYRNQwucOMzQxbAIUQDyjlaGPvGfSubiDAgpxxtlVeuyuuUNpCVRavQTLovbVjqIXILSxCYpAhwRotaNwRzmxPQIoqzjWhTzeraspSVRmNuaSWpEkHeXiUThuCLYskatktkaQMBtMcQfXdllOmSeYVMXJmqQEqbGEzjFMUfnuHFpzuwszxjUJkxptobAaLjgeonvzixTsSQyFsJkdAySyagYNljnRNv", "IucPNfPHuQuiGgLCTSXUKqSciSCEiEdAqgFAYPDTYaiDOxLtyTMgbiBhAzkADpHqZemSDPUyIFlnOnsKRfgULIHtElBEvCTtNSCLCkTqTgvembOKpStlMHnVjdFjxDBMjvcnnLKaAoFWKOYRDpTNVUNchFUWSTfiVxfCXGuLSujsPuBEWrBiuZAqOwIYZKDNsMvrxBlHwDaFEYMwANETLNaNcVfGdFiDtnWpGqqOsgMiQyiqQbTJrOpwNLtPcXGh", "bEgugEfrGoJpSWhcBfYrPTUomwsBodYIGVZCXyXaxtYIrayjUmgbJknibprmIYbXAmPrgJiSrHdIbHTrQJfmpsgFmqphljxrYdfUvfPFYaHaualTIIwCLwTjbVPUfotQXywOzRVPrlVEqxqTDkoIvrjjTxPlekcLdLBmFMWmuPvxctNkJMyXurtlkrMWhleEpyyWBiCmmKBzzntfyeoLVVETaReXplDgxDKjTbfjeNzQLMyMDjNgXvreCHbxKXnP", "nmaVgsPPZcxqKGazTygWPMMYNQntCCbPIMgkrSRkmHfIRiNSfEzsLSizGUXfzFLISOoJUELzdeDQyNWQMmrEpqicrjmQMBFZbYfHrCgmzCfDdtJYCfdNOTDiORKzQaCEdSTtsFPeZdtuKbomeBIRObZsYJVlcnucbbBMXDZUWlmtwtzcjpCVMwoRTuYElcYSDuJsYWGshCfGfrHHSJlANXSetFnpABHJczyanyKYjtskRJIwVJbWrYvdSIgjfWrW"],"c_array_datetime":["2006-10-20 23:43:06", "2019-12-01 21:00:25", "2011-05-28 07:52:20", "2019-05-14 14:55:59", "2005-06-12 20:57:47", "2006-05-25 23:23:30", "2016-02-09 14:38:22", "2010-04-28 09:19:36", "2012-12-14 22:52:43", "2000-10-20 14:21:31", "2010-03-13 14:11:56", "2001-09-27 03:35:53", "2004-02-06 18:25:45", "2006-10-21 11:30:44", "2019-07-23 18:48:34", "2008-11-13 13:22:15", "2008-08-27 10:55:44", "2006-08-05 16:20:31", "2006-01-04 05:45:37", "2019-03-02 09:21:26", "2012-06-25 11:51:55", "2003-10-28 11:11:51", "2003-02-25 09:42:45", "2006-05-19 00:11:51", "2017-04-07 15:48:35"],"c_array_ipv6":["SnHcrjCnSp", "FsvuljnSKl", "afhaTMPKHZ", "PCfpsSwzYv", "MGdHidkXbT", "tLApIptyuQ", "FWbasdTWFA", "vugqMZutMA", "fPFXVSuOSu", "QBjxhDQAhT", "HyPUtTwcKe", "jqSjknMLex", "VYFlsOUrHa", "fxptGVeciX", "wrMSarNklU", "KSEtEHREjM", "CQDFnFOjPK", "mpnnZrCOAC", "RzgkAKKvZX", "celYyVnKYZ", "sxEwIeJuNe", "PHqqTsgFWV", "ZlqXnzgHvx", "vlFgELdWwU", "gWtqirvRKI"],"c_map_tinyint":{"c_map_tinyint_1":-57, "c_map_tinyint_2":-28, "c_map_tinyint_3":-55, "c_map_tinyint_4":43, "c_map_tinyint_5":-9, "c_map_tinyint_6":103, "c_map_tinyint_7":2, "c_map_tinyint_8":104, "c_map_tinyint_9":-59, "c_map_tinyint_10":-16},"c_map_smallint":{"c_map_smallint_1":1715, "c_map_smallint_2":-22609, "c_map_smallint_3":23116, "c_map_smallint_4":-12338, "c_map_smallint_5":8009, "c_map_smallint_6":19573, "c_map_smallint_7":6053, "c_map_smallint_8":8333, "c_map_smallint_9":21805, "c_map_smallint_10":13541},"c_map_char":{"c_map_char_1":"MfCGTdlOVa", "c_map_char_2":"ccxWgiHrPh", "c_map_char_3":"njBeLdNUal", "c_map_char_4":"zzIUQETmJx", "c_map_char_5":"MxbfSGILfH", "c_map_char_6":"iCIMPPoSjb", "c_map_char_7":"eZjtniHrtt", "c_map_char_8":"aCeyrbFTXV", "c_map_char_9":"fkPaoztgal", "c_map_char_10":"OJjvmGAPYB"},"c_map_string":{"c_map_string_1":"BqBiGitEXPIggiHSrbfpAaabnBHxWqsKkqlhkZvBWcnBZRZXnKuwnkAOurgbSJYtxlVXaFlRCpIXcMjIIwgZyhQuMLxSUmkvHzScHMCtyevsVuKSlUWYDOKyqEuisyGChxiSkBdPZcjHJlvtuFNMCkAdOWcARkaUzKkrvOtWurcvkIJwxWoiiCRXpJhFaIPgiTeIKvrZTOVTnLUWZNBOyOfBEAdvNWxVRfkpAfphheMwGaDRSNRxNnENAgztptJhCfPfTPcXBScFkeIbqUNwYHMQvoxQGezeQUTJOnqokTEIAdFDLQKFoVqmMVMhMlCQxjrBZdhuERhOvtproSOlAuOfMqUbyInNnowllIHfxTsQttCluwKhWZaGXhgLKVfsvndTYrEaSHYyAOcvzyedmldNUBnjkGaZDcJlwdHzRAbMCywsrFPqbPnfBhnxsRrDPQlpRslXVUYXFIyVuFBOtZJcVVaoTLKvGNYHHUsKtKSMArXXLeiLHiffgHSIurBH", "c_map_string_2":"fMGADjWeaajVRAPFyQVaWumuMjBsUXNITOssoVNIbXGgEUqhTNYrHTHLbCnRcfJspsGKFwKIifoSxOTcIPhOSUbuWBvSZTwfFqynMtSJiufmbOCXQtRLzKziUtyGyDDYqNwsByGKcapQhqfvcopoRhmcCZRdwUAlkPjeQuVJVGwERffGBzFCAkPGvpiOgSFyZUsZFRWeFlrECsoxMifodQqbkMiZUqhuJKSPcrSxmbVJwRDSlPSkNlzSfrAEMqoeVqgwjJdYqwJJdXLkmeWvYwRQUXuOQkMLUnAaPFQzXdpTsuSUggCmWefdlZqZMRuyMgBKPWYFFokKIDiVRHlocFKvLHnxhTkuXDAEXrnlqjDudcmlvSuNDUCBPbayKvVuzDyBSvAKjLuMsIESczLzPbbGUhDfSWIoGPkzJvwlvkDYNCClbDvXvGROsCtpluexZAvBXPEqAJEjpUDChUyVbKSCvUryEXypGLuEEtuuqDBAdbrxQnVGwqQLDWoquUgs", "c_map_string_3":"rzdTVJdwcVQoRoFObgLMLhTWkZmbhzepqJQiQVjhPpJXVsEoDoMhcAtAGxvTcsEWbCfuAdbIXvIBAIpaUMpQjPUSyDLqPkuRhufLlVqvwlnGLDVZECuqthuMLpLNPRLMqGdDvzDMJYqTLHNOUuNHGUbVOVQOqBZRGqoAuGBhvSFREIiNVnEkMLDOOJhswsNritrVeeBZucrmngirZLTYfwaCrjtbzkvsXZYYvgxBGFggAttvuXBHAMwVfkESxawEpUSAPkAthXoTwjaWCIdcNdwxBnLdMxzIcCHnWMBbDFTWREQnLqSaEBLvWamOPvDwvbZqbPcQXltEJggSfCZCYMfKyvXAucYGHQjzcLYzggmJdXslmdDPhjslyBdUvPYqHYZqVCnEGHtCkWohvuwTKjXAWClIXGAWcUKSjDzKtABitnByXyQZAkOZgqTrgAXBrZFkbsTtekzRiLCHjgielvciKUJFeejPeNBKkPrmyJDrZXFcuCZIpqiqftpkxSkY", "c_map_string_4":"hsjtdrHMyIkYFDFqTFzrkIGsOMKXfhCmWhFDaRNApaBcuFmxlmGIlmytZqQbIUZVRVtVHHXRwuwcTDipsYGgleKBdDQosGkVOxvJtPNvODvwgLsbgpaQSklsoplososUIWXlhsiMGGKnRPWgjOxhNZhbypnasWRdPgVNcCHBTKMhmSAxpJrKjKJbXniLwWjmQwLtKrqCidNUgWRqxGdAmOgdEEkborhCwVBhpvXrJaojHfmpcUeippVftNBQzqJfUGCoHcsEMnsZVCPZIEiMJASkbafRJdNXPVmifzbbknBCVqKJOZpwgzUgyiKlSehWbVuzyVunUYIFqmHXsyKMQcMqTpWLZFSsaYiTOtjXOnOKPAqofUujOWyWUzyRscpYOuKHzAhEyLlCUHetJyBtqtrEDGWTmvVaopaiOkaKZXQWFFkdNQbCYNAVaNmgXsfuXzNMlgSVPZGvNYxYPfjYAdxfnLfGTGQhQYvuDfqKstkkpheCpPHRsJBBooCCvdSo", "c_map_string_5":"njwhVFpeyHUgdlseQAQbirpmFJmnwyYkVhplhcXjOybVqfemmBjgoRymDOyzfaNFNWffLDixHvUzMVsiiUaiZhjEHrzOJhEiulNmeRQWdJPnAUDQFTrQfpVNdHkMmfbFwclayjDiFdGAWbUKNCmWfwmYbaDjUJzDNUgdiswHrmqdunoLsklwTTVssohcLNFSIFFoNNrReXZDxkmGtLShngJesYChjvUJTEtmvOjzkEChoOVeZZcxTdlKVKbhvQiaUOnnZoLDkjAAZvYpMFublxuFGObxRIJAQmjOjgdhWPkcpuOtAEAfnulWaqEyoYNkRrDXWAFwnorIfDamHaHHrdrLMqfHSbIhCpRaEcDalLtUxPbtMfaKDoyPRhsJeHMTXchqbHrrIKmQFqgZwTcixOLUiMpFqoHYIrzmzFcnnBMvOosKdZmUPDjklRzrpdqemeeCETbsBqRBvQUTXxAaXDaLjddXqMzjgOtHUBQRKlxQWqlYGNwVgcOqejSZRvWw", "c_map_string_6":"exdtnfgBJtAuXaOLfgrrnCyoHdUwOrmvCGzSdQGHIdLPFmojouKoVOcYIXqkDJAnhrmjIEOaYHzvXytCQYqdcByrCmfGCVLdTFcjKkxMTSyRKUdiCUeGYkpbuKZvWSQwbCFtgwhZfyjtaLXCSrlbnTxMLGAEIiqMPlolPiBRdWCqHAudCwvhudrMEfPBUTMrMQXUFYckfLSAXflmdkApJyBhdZLvennEKaVsQBycsFGAgzrXRHaKaTBBmFAEeMIdlQbkqtKetAZfsrbPfUeTeolaeHeyYgTNuNopydRDUixMtnJKRKbRMkDnvyXrGxgSXOsZOPCGWItnsrjnRTzytjbcSzSUwrDqpwjfMJFlVgmYqcHpzDhqzvkApnKEGIwyPeQNxHRPxDGYYTpOhKWqKVtqiifjFzpinGRyVbfMleRPduiFFKlEYVlSqsOGIGbNXZQzbatomWstUvSAiVbMjWAGfaOmIzYRSUHtxpoUvkpkdpoeqYeSFydMYWvFNZgj", "c_map_string_7":"zgWddiVWrCaGhdplXCCcpEZCejXjxLpTqKrymkcLwAXnEmeMnaSlfyXtlVSwqgHjVmLgwTCXSFNUWLqggmYLSVNRVEhFTPBjHnoEYGUSSkjMItdCEhfopbOccJHEhAthokITQYFfFpDkrtUpdRpQiNdnDAobRSUqGoVsoeEiGFgweyPQnYOxOziZSfHgqsKiamPpTtBGbYuwOeRAknMPdMqApoLMFfNIkQgyAwbVTGSYGzTsUbUAgFJASCVlBXhEEEPAjDIiOxrqJpGNlyGbQwvLidnnNDanAeInOwhKBCqKlRsZqJuguJMwZyfbncuvuiaanGFsGJYlnSirrhNcRiPINNxXrEdIhKEBLlUleBCmshOkKXVoGJfXcYdbtbAqLLNILHhzeVCGymSHgGmoHmPsXNyUlaKlFzztflHJBpCUiRfScLefqIbKbJXoQsXZHViRtYovLyeNjpqSmmbAtjGfwYUsxvzZehSlZnARPhhzxySbVkNsBpQyxpSlMerr", "c_map_string_8":"BLjLNnfjSqyTvMTWtlsltzuLFyqpvfLhoWkUoSxpScWStbFncEWkCVyFCgYCzZKQhghQJRtfzjykuSocWZOHlkLvBawUhekQdjupIsxBFnNydraxYvEqNLJssDaZeAQMoDGeIvUeicpkLdCTzobqClRCOFKOwVQMxRunIbcLFuHgmuABSBebpxvgqaQLpQCnBZfjpdzuItKddtYqKrdNOXjYliQTwrutizjMhEgBqCaRmQfxKPskFGUqOnYQXvBOVNwgbYjtvmIqjYEKBOacFUqIdFxqDVOiCPmTvPbmzmdDdizIKgouoRPGFQmaSedTXcVIkmuLNWWXIEwdXCWHXjApGhMHzTMtjDClMOMtNIyYPeeyZKBsyoUlrypdCWonwBaOLWsoPEMjpcbpAbLuYQQIqItAmKqlOeQPyUGLGXNDxZuifXkGvXjvQDbPojQDIciLQhBcscfszCLkshumCITDspQxpUboHmwBWMNWfTlrpEFyXOGEuaTCEqrMvtfR", "c_map_string_9":"PipiByKxuAetzatvBFsCcJhlpzhHFtOyvLUNBFfWFERQgCGwioyqdRSghNCGSQEitECXYTPmzvLaMpqfwXMVoqbyhIjbSZXLexkgxBfboTqmaZnCGfdLHvNlSLnPRPSZApHPBEwbvmvLjPMkEWyovRyGervxnCIirPEInVCovqZSZKfBUTHcPNwKhJgSXoegxQXgMruECwEyqRtzfutZmrhXfYqQCcypAmITSJQjqRBWXkvRiiQVIPAHtBoqRxeQvzSLjXSDYFMncmnpDRjgKJdesHtqZjSIMosaytQmkSNEqJcXNBCTHIKYQDNcqddzzITHLoNMozBnNOcRIDBBtbPxgwprafKmYOsnFsiCTXCZFHLaxospKPYbvVuFlOVMHTMZsPqHCKTbKmtwyCWiwYMgoXFbLHhnROMQSApzSxoLPArTWuHIEsLqQEiRfHrOLYErsSIIKohTIfUHoBAlEwretOAPkiCSFUqVrsulCzRULNoILENhyvbgYZQuvGJN", "c_map_string_10":"ClkdMdsmIcDTaRhXSykelubTbGACNGMNLQJVXjEfcTqqWEUNinlPRaGUZgLfzvuBmvjyrduaUPGflkOqFgktjgnTCFLTASHXgaJFAljrPgccuNUqTpvdUTcGQrPHLNKIziPqONpmzHDQIJkYOKfqUkEcWTtSeIvMSERnaHeBmMBPKZDNNfIdZNrixBzpXxAZtkQYRRaUUsmRAaVrrViNFKdHEaSJIzykibaqCCObnpadaOCsyfLfjEdhtKENGXJnjmTwwOFOGHtDGrRgqwIKkVwTCfVzVhJObDxCkpepxPRNilcegpXIUVvJjDtJwPWWDkKheGGnLCIgsKcbJvTBqprHoUWzwfxOMGHmSrONmyhULFxZIEJiaIIDrAbbhXacXOUArhUtPPKHPAwjTKjqYqfdRoprftzRrTVHJeaaedfEVbGPkjZjZCrsujVuJyDdUduOEJRrEkOQVDEzKbZdJFKwWLropqdSZycyNMTVcJaAIIrBCBnqvrbmfIRyhVbE"},"c_tinyint":-65,"c_bigint":-1186927339892664363,"c_float":79.94958,"c_ipv4":"2.151.194.136","c_ipv6":"2384:361c:bd10:144c:a0c1:1e97:1493:3adf","c_array_bigint":[3472911945568223760, 8524817245834539344, -1998760445425965006, -1220799489518515841, 2352673618645689713, -4756521831953498620, 8777543859322773562, 6232422578571775568, -3600102208284492743, -6108455538122238720, 6021525309982296668, -5804083363009420811, 7668690948598207447, -507459312822900043, -3509919743837640627, 4528788977583941662, -8223427567966632039, 4374016725225648080, 4205634104967745402, -5478632539347098932, -2066676421060428450, 5614133737634962700, -8297293385602089953, -5457436056630329643, 188927966184541663],"c_map_decimal":{"c_map_decimal_1":21.0137, "c_map_decimal_2":51.0841, "c_map_decimal_3":50.0855, "c_map_decimal_4":13.0059, "c_map_decimal_5":55.1035, "c_map_decimal_6":98.1997, "c_map_decimal_7":84.1943, "c_map_decimal_8":45.1929, "c_map_decimal_9":5.0136, "c_map_decimal_10":94.1362},"c_double":47.26728009311164,"c_char":"uBSgsohSrS","c_date":"2005-06-02","c_array_decimal":[24.0977, 68.1257, 16.0378, 90.0394, 4.1938, 66.1764, 22.0630, 85.1600, 69.0221, 95.0602, 82.0029, 53.1568, 46.1716, 22.1411, 84.0361, 39.1114, 97.0739, 11.1566, 96.0604, 40.1618, 36.1656, 38.0026, 67.0839, 3.1662, 10.0550],"c_int":-1965552295,"c_largeint":-6512671908634177773,"c_string":"VCsEUVUNvXRqIAVZynWlRwfFHQakeVGszFbFtPeuuBaiIpZTmmvVPWxMeUrBcOqnbEaEvifYowonVQGVCnQwVNUFYitrxhJaZqKcTFPfSeknrOVpfXIatKFmvdvMGQsbEVaJrUuakOAIXaFOXPhTyaGtbtkOsidmRLmLpyWLohVxhFVpZiRxMUFJSboQLyiEENjtJDhfwKoEDiHBgcxXkvMsweBzpfYcQtXzrPSbjVbiaQsSvtovnZggvMRRgvrdLmOfvoVfaOVBJFnbrHZoRyCEYwAioosZwDMcMEzNZpGSfBJcSvgZyaeVHRddMGFLHsLFYHIfuNFQwynPHssrKGDtLirojkJWtAedZbevKAMLmBnYcdRrNDiBERynXlNnaeWQrMIgxVOelLxPKmvMPrjavnTldXpjvkgaoqTIitsZBZDPTxIYnhXmnOgsDRBTDlKGPXGiKYsRMkkZvBjhmIbcTSCWbgAPXgQgcAiqTHXFQxTKHBPBgyCDMVpKZPOz","c_map_date":{"c_map_date_1":"2003-03-24", "c_map_date_2":"2012-10-04", "c_map_date_3":"2017-07-07", "c_map_date_4":"2017-07-14", "c_map_date_5":"2010-09-15", "c_map_date_6":"2019-03-01", "c_map_date_7":"2014-05-08", "c_map_date_8":"2012-01-19", "c_map_date_9":"2002-04-15", "c_map_date_10":"2001-03-05"},"c_map_varchar":{"c_map_varchar_1":"arcOMhcqlFfjHpqkiPWJhZbUaWhmYsfyWtruhXRKwrQVSDqgZxxsZCOrEAHLiPiwvXmUpksOqrvVkFeRYhdRxUtWCzUFmKAeZwDwIRzNzzkZMCPJnzrTJBQOWeoUVBDRgbdRqMWKhcTqAKmqZmqiuWMjxvbuFVbnYvZaFmOHsaEkIyyMiYgDKkDchJbTNpyKLPoqrFsUEOEuKtWzGctzBgNDVVghiMDchGwbmDzhMMEMAeTOsUzZPFgQdCqBbaby", "c_map_varchar_2":"SLWgbLpaWhNHMXaspVLyOIsjMhdAuoHqbkdWeyhTaHWYEeQjZfsFfapQMAiZVGPYtFDbNtfZhXvAtBmAYybUjplxxwMYniRDyGFUKsUAdCOUuzgXaVugoNKegcVUCWIBqzAKpSWPJlCURLcgFULazJImFOJgkJVasMMndRtUMASHsxZeZjYgQZahceebalTyUQLqjkfSYrHGhdEyLQEjACPpBCcZLWKszgJQJnRMBczZmXKTtdFtgJIKDPLqBmwZ", "c_map_varchar_3":"hHgBwkEIFYZLRfFdtNDDwgoIhAZoLneaFmjPMruHEklpxatLFvVCDvCJEmiSFfUicUsrASZMJYpMxqaHMiPQVqjuoYRHNBLXlOjMaUFDcYVGZxndAIdthCnlTCaKVDxcaIFzoRqpQmaEuTjFeRKIoEZkYBPtnDaVxGYNHpdSSuPkVvFXlNzVNzqzHECsrNxGODnUxFvPVEEjcWvzMvHvjqjLrPUmqGGxfnpMnsNdVVNNMEyFcuezYoLsLsGWuzJC", "c_map_varchar_4":"KmdlQVXPwenRywLjJVKvtmTgpYzyGLfcTjbtubyVYBqmxYCqEXfhaejLwZGuGFCsHSzSNaDSUdaBbzQPelHUqDcmACiWBNtkeqmdsiJKILlellqlhESmGZHNefYQgzAyfylSzvdNjOFxPTseLkcyzhgZVDuAMATCuXESuafOztIIGCJjpGBLAwoielIMGJkBytdRrCuOyUEGsDRMIwxNzkDvKmQGsoLOJGQdLhUZTcjCkRpxDcJkXMIVNMcgRKbd", "c_map_varchar_5":"DBGwqAOJvnXqzYkGgbYfHJOWQZjUcRFgJrRhBWVMsgCvJTWJVetuAvphzEMiLRpphDpyAMdqYDFOigSBvuBiAjdUoYctOglxdoaYfcFUWuxBzWKNrTGFyVoJFeccnSWnhSWVpsJoTXRcwyhekNemvMlUDcLvDetGAXYxSPDobkDbZLxCibmFzGsWTEtiMADASQezwfGGUzLXQCYjOKlakzzWlytMAlOdclvRGXDLVmFrCFqJFGMroMRKvYhHEQyI", "c_map_varchar_6":"DkJJORBqHbAdZqRbqYUxfIFGcgtXHNQwRHeGjcQbmFUjcFGruiMvmPLQPiBLqTmUmopWXveywlvvNXkfwHfIAuJxugfyiCrQYYokEYLGdxZRTNPGoyjvNJDlAmlRIRvsFlubifKjerdjVtiZAbckUQilfgaygxrKMNCDzWOIGNTwnAzCNXBXkzyTixubRyaEfeZvDJraLhtJbjnDNDijTPORbMbiEURcZPJLNPUyjFGmAjvLrBSvRDHqXOUqNDqv", "c_map_varchar_7":"ffFFsgpXGmXfkXvMAUchdGpOaiZHWyeZgIojzTswmPTzUqduBPpZpWUEUzPZSADzPhwvyrbefeEqiAccOITmgJErtwqIteMiGgxeOlgZmMGVcZmQbrTSXSJyxRsgIFnfdptTuzqHknRMOINXHTaLGXMMWnDumJEpopSatqfjxKcdRxPGmlgAnhYaDSRQhLoPKGaTYJfnocOkXGGcuVckgxUrAPWBtTzuNNaZDQDsdXLjXNWGLhEkbmfnFZDoTRiR", "c_map_varchar_8":"MjKlsBiuVpgTVlQfqLdMdElFnJINeZufRmILkLdcDmEBwNuRKTlxJJhHKNjikxlrFZBHwbLpFphsmFSLZDTlbByLOyPpWswpNJJOCkAgbhSpnWEyzrBVyyzkCdLkYfDbETVKTWieGJIcXXBlEOXzolzehiQRVOHGFwfBnyfCOchoBFzrunBehDEOeIryoWxoksIwuNJsuBSEctKewFVJnANXOtiodSHGdLSusMGSYBZnKLReoPplJmkQclJlvvEL", "c_map_varchar_9":"bevnKAkRJTyFLvIsYsTUCWDePakCxWsyPEBZMcuXGpUTOungqqRISnbixuXOpZomuPZVWHjcmXLlIpFWVyxSUFZrUxZqoIOWCksQxiMbZlZvpwBIeXUfoNrqStWqozulSDBlWsVhYVNavGlRPhRZAGzWjvbShoHcNCSqyVrWMKzjsSJDpDEHRNunIKgMuUpUfkVXNdYAvlJIIXDRagbTZMjgbMgwIEeFOauuTBueKxgwngixzRAvzwvsFKgvfmQW", "c_map_varchar_10":"XBGzLxgdVWkHsFUxxvFCxAezqsGZcphsXoGVJAspuDkIEMUGbXyXWniTkZomHTVzISZWEwUcfvEKlaHpxaYYnTDhTCsrnYSzccDTcEZBovgayPHeDeAPFHHCYUcVnZMakDPhOqEJbNJPVZdWxmYvntFvLDMhVwoBHiVQAoRwpXSemdYEMSXdYKdzpvECwcHoZgemPHzbcYVuvyeiIXsjymyDsyMBChfECqGRWAApfqsmacxopPtqyXWltszKihVu"},"c_smallint":647,"c_array_tinyint":[73, -37, 77, 74, 119, -67, -107, 99, -66, 80, -70, 97, -82, -91, -103, 7, -122, 90, 73, 69, 67, 21, 40, -85, 113],"c_array_int":[776734831, 1313693437, 1664849035, 1965511551, -1919216043, -1182337662, 1473149813, -1861480097, 1619847047, -1002723653, 1143015918, -868786572, 1927629602, -1227100618, -427114929, -1373949894, 1927369996, 362677465, -1428756667, -101310798, 89567058, -479159149, -1613506528, -436715439, -1194969218],"c_array_char":["JcRpAoNHOL", "hQxRLlYOLK", "bgkyXRvqCa", "dPMaqmghAi", "dmUIvcffPA", "nmcORqEXGp", "YwikejOECn", "QlJnahlDTx", "PlgaMmrWqq", "PgylOUOvZm", "gymYyBsCmM", "eylJPXDcPC", "soFRrtADBl", "pByNWjPViC", "qjQknemnqo", "zUmUsrhzyL", "KMlqXMsPFI", "aAPJJJjPDW", "iIMoqzzvjQ", "jpoGGSIono", "swBVxRvpox", "PFCatkHLQj", "QYSZUQGbZd", "SIYTCpWKoT", "YCTpxNNbpd"],"c_array_string":["eKHpqzauaLjaGhOBMHpCRIjfsOiDXVBMwfgKWewpYLbUoeelXCUAJybxBLHeqcRadgAqGeUnXOxlLrhbvPqJlvKEEUmNEgecHVVHGHlkquRzPgCBUassejKdtZBmUEIoVVyAQsOoEfZRXipsKsCmHrBJhRbjwjixKgDMmAixqmdszElgjZxvCKCBrKVWOWIqHIQeuYREGlwZAPoCisHmXepFizciXJzakWbOFZsSavsvEsOvguJHUJiuOHNEOaCHtmlpczrCCTXRpEVvWvNiTkNUnbbPpirnSzLiiyHzTNySwKURdObqNalEPURLQlaBCwmaZVNzblLPiCkUqIjSSdUhNSQbFbhnRhMcbOLJDeTGEBvKcvozSrNVbfdykCIXkJlLbFRQsoDfTRDCBfhsazTBvueokbZQwwGidSpIDmsFvREsytnnRNKKwuHCdrOiUZQkaGmwzUcYtHlQWhuAgMuZhQMcmCLssUiPESjKTZdpSVHvXbKGrPyOycrNvYbc", "reqxccsvPmSYCKQwKiyQimTkxjsYCRrUMjHrIfbSzSzZrbqOgxvHZgPilQrbhonJLlRvsdmAqifSFzjwanIzQcuVssymvUNCNnaRTECkLzaMAyCZCjePEBkDVboilnqBTLvqZFwPQJTiAPmIJilbaxGsxHnLDmpvNPZJtMjGdOOdyPbQgOweXqGGslmnopkjTLyjuYfxGgtaNYWKaQvThQhXTgoONziruDJKYyfkdOjVOkVwFNDjNTDeMlJqpqPrJJaXFCajiJYclZiwRkGkOVwUEpFWHzqMFfySOEoYUlWvZabxxuokeQFFqcmnwAKCrSVWODGuCDzOOrystgEOyECBhpLiGqYrZRHAEqYOxndwJMpdNSPevhLuXZCMfFwpkYWwENklUBKPRfooVeNciwqyigXdTsxPvKMixceblREbieedjIPIlOXHNyjZzCylMPsylzTwWbXMLgtVRcGrgMtymFpJaCrnrpziyDiMAxhknNlTGYSNDbKSVkOPDXyf", "yPNnoCFXxhuihkhYWgbYkjhTAzNslEqlQOoFcalVkAriumFZhIBsoeJOdPRFmNqfYSBBvUzINcszkJjBHnlSaXEhkjYlbRnNhZWKWBhvGdyVDPewMNsjjPHmiAqsJoeojsFBEOnrtdEIbJKOSVzsjveqigUcYTRnePBENySYzNvieBhhtolXTyMBVVoVZCFsNzaQKNAQCpJCQGHbmVeYZXXpWLYqQzxtEQUPEfkyXOYBhwEiSiUlktCSBjEWgMEAJPfteUNxnonUXiDLANWnGAgrLSbbgBtgSkVEEHMcbxOijgihQLDOeCIkdvePaPDsbSPWHUJQmqjLUaFsbyUTQoaklVWevMcmDkRhPQbTApNwhSzYFXndmjWinqTjYtVJwaxLJOwdoBwBqqWOLjnTsMVpyPIJEUuRZULVKkeojlTwqnnQSmnhdOFTpqNTYyGpklpIvgKzNmfpMHFUCFcUpldgGQmcIWDqglGkAMarigxpDKwwBLVrtALlAhSVxPIW", "FJJzqcYgwCDPOUIDsyNbcpkrbmPcNpfKXqNmniyGDpIsbZQEJTknJRzenCxIWlOwpRblFYyqcVnHQFWhsBSSZUTSWDbgnzoAWxNvAcxWILqQdcBhUtFymitQptAfJzdfIcZRaCrcMfxIvscsSyDOVVLlfRrRuiuaTGuLafawVbHoJyHqYEHbmGmaBZcHYhfXTUjGmiWmuvLksIwyyrbRfmJTTfvHrCNsXDZlLSkzFgDZlxVLVrTLezBkKOMzgMhSxARlFrJhLgPoyoXCcOcESErdodXZCnSoaiBKFuBbUPnbqKZoDTKekGZkSzbSsYxocHdFxJhJkSoSOKhKLrpTpnANKcaffAYQXiCwRVqkbYzQMLQURUFteZAZLwHQYYxCSPbsHgjZnXZBelVZyXkeKdGqaBIzyeTVIfEwdcdukfonDvYIJuJTdXKwPGaIDSJjpefZyrTjuussnsiMbmMJisHDFMOTqpeKGylSLSlsLtwSNhkmbaCZIpuDYvNNVLgf", "dcgaEucrpReZrOwOWvVhjOVBTJXsvRfLTQQKCZxRWYZidGSUbxcOdUVUrxxWoXdhjJhQZQUZFFEadRaMfoqniBnUIitDbyzNoYMIiulGXuUSKQvPpHUvYOYhoGbBffxTOMfVEtIkKwihjEjtgFrwmMaIbKrCfCqZOjbDnjFcRwbTsnPSRRoDFqCgrNmtpkKbyaLkSPEGejKjAbpGFGsnbCJvFYQsYGaoygutlUQQnYalKkmeyPqadoAIFCPfYaYFNOccCFSNNJWPgYXpBECbCtwpLMFlTzPasmkibrMctCQCuZOWOrHsVfQEWaDLLQCyRMonglonuwZZjmsUPafebgZSJyXsNvdxoJmkEKeldVsvhxNIKJCSWCidYQUfzLDnbIsmbNgtStfpeeAgviaamgezMeqUBZDioxWgCcfvLTFifYeGggUqgniZvvSbesliQbPDaSRyBjKxDZPFaCJLZcpJmreXUuBSmArxKdiagRgBHRECKJJwemElVxbSRjDH", "IIHBVthtytGFbkZOhqXVnqitruBsPlwVxqrYBOXPvbZXEumICUBxLGTmHRuVrlGkrGpFCLHqmdsnhUqNWNMuAfjKfFoRKHOVuRiAnFeiAJZIFxNGCqIBPfZSMvOFWKcgJIoTxArPqzlBvkfKyBMHZeSKuInsKPWzUFmoqfEJOWKPIxwWhHfMcnstEVwWwCYbaAxaZFLmxxEoVKSDaRNYcSNTPnXeLHGRSOtLcOPzaZCRuahGWlWMdgzfXmWUnifrRgXaNRHzznyZOCiVldwAajHCvSgTLFCTICthCnXJzZvhdRbacZeaUMXAVojQTYMNLUVzMmJnjcqtqDsLaclGnvyVURItoBAYpegFKBlMoDyzHycqQdTOZAsHgZfSiEgQmSTxrPNFcWojMSMjUdDSYmhhfxpEqZtaRtazIjUluogwkeWhQHtSGQGNvIFYIQzwbJoTHUnmQWIiCJUxgcHDIBDxrGzWuEkzpJjXcVPfZmuYZYIzVGxdcDRZcGflvuLK", "OGliDFyRcAcWtmoRgnipmtlzWZrrNgwYjfyoSAezXsbPmLJltvbQcqZkSIDcgwPunDPXhMSsedwamdlcvhGRYUaiAvmRlNARDWKRGuPPCVtgEIIMTgYvtlqXCCyGwjEAAFWXiOtwkzTxAsdHBDQBPcFFTRvZrShqbNfWsAcriBRKpmQYGceCMqVZJaHAuRpgxSzJXMKyxyRfytBDnVcYDuPMaGoibeBPIJthBdngpZsjZuUThyPbQYIuxIAanHpLYLUUaTeEywpnjBplgSshwhDtcJBLWlaPgfcfYZTinoofZZyUdlPiXqfLDnNdaEvgbIxlUdgEecPXOFSWJMlUjOAighXWBYpiiarfenpczAvPTPHZFKXalFhVrzvlljDBIGZrvbVOnWwxrDZbGWmxLdpHGBJHWBfFdbGziWnvkdtJqlkjGMGLOmGnIplpWzfwJkUAkYFdFSogIojvcGYygckqiqLcoXvXdVchLURBATFlAQQkzefDzICDgdSVPdQl", "eQroUOMXakrJGEbFoYIpGPyzwvTfnSMjvOAzUNwljpRrSGSblHbeEBXTszyuIbKDWiCVyYmMmmGZogTQugtPLlVoQyGYTFKIeOnLDsJXhiWpRCudqBWfLmniLhRVOjdxeruviUDWGRCCVbOUZfUVtoVrlZSVqugjOLPHmRFzfgaOPGaRQBwYGWqmGZFOQStJrFtqKRvKrmYtcjmTObJhDIJCMjEgZcqgmTabkhepWBryrswNwjPgYSZMYUeuonoYZldKGpsknemgYhvpraAksfihKWtudaprtaJStakwYFrSVExNyOYyhSmmvWZfHzYMQcxjtNsDsjxdwGdppPuZrhYLnwuRaqBGjNJkPeokZoIECcLgFwiuwEOtEtcvRhUrLnOmNDracqbcDwaavEMznrdclugvOJyhScbCwqtEcfAJMmaKsETfuMShmfyXtvRuqqfZvTmrQpSYoVhLjWOUzLqxOAmfuUHwwbGkoKoMVVDplugzpiFBoLZHxntiWvOp", "XnTVCuNGpKRzYpLjNQzLLaEWHLhDPRluPdiTPMlBJYfvXuDcwrCESWPfhnimNbkGZZzrgizbVZkzXwceFMIhmufiGqqSQarIzDCGAEwAqjPDXxQYtYcdcQIZXZmNJekGRhdfTqJVylzwJIoDNfqYwhzHhsQQUtRjSlNkgdRKLlRezGlUCDoaKcurfhfNUEYLFpiPjqRCymzcSvNorhBmGHBMNWRSFIYXctpEBAIhXdKxOaZIZqebkIKCOEvpzImcVHKERbdCuwsVndBjKCidcTaqPzkPTCrDaIoNMhdTDkdLPgbVzFVchukRyNpiZDSCEbjsvnfjmYDRxfXrfnIyIjKstgfFtEkGXQYFzLaHoIYYazrSmkZdUSeIQWKmoQFXVvXuKhslNaeZALmvFmzLgsIYuHYrDCpHSCdjmDjGNjHmjDJIxseGKcXeuczEahcCGwlpTAkQhjcuxIlMnzjsNIqpsEzevsMiZcSZnRUpkOJIIsAWltgBHMpNOmXBwZRI", "vCBausqYUIdeONOGegLEIkVCfhUVUZntiIRdbUOWmNlmqSeAbDjMtvZoYtNbOropmkYRScvQEYWpYVOlTPjDIJeeKkJFEjqjnHXkQwkeBLkODYUdWNFhysfCGiRVkkgNBWvheqSekxVXkNfRHdtEwNPbwxBlNUiEsKebGgflIXPNgHAoMzrerRMvngiGALcTqbQWoHOxkJudEHJpvXIPFLhTcIlhxjPmDvbhWwirlZdjlVGVKiKyEqbOZSvoXzzoyIGmqQfXnGwUQfiDPzqkZNBheGrvzQByMzxwWJOCOceBUEkWnRGTJNglrBVqfbhUyDbITnkLbxpstgwVuiQQKhGWVXyMkDBxpHTMqHzNJpdhDaLdnZrjlmBbIhpATVagjCafAczVzeQaoNlmIobefiMYwbALrLzECorXlOfwvuUSoVonPZBeclgmdehQnhzvXzdUAGtSzqZckpydXgWIGVwfXrMLbAeQJpTelmNjZdNPucZdLqRgVXGwWeKBoErQ", "yDLYMvHVLjfqAhwxigpmPSMBbDErOCljWTxjsvuISOoOtHlbjSRoZXAeLehYoErchyAJQSNqerItkPXCMrUKzQoNSTeaFCzOBviaiiRjexPaMsLcGsFdBoloMJPSihuPauHZfBqhxrHwQXvFyCEUTSJbWDtWHRuPOYiLglUsOSVOjliloNOkAHgpsCrcePmFaLzmVbFUDPlOdtebWIjJuzVQtSHwSGDczqcUzfhMuWvzCRyynwfCCtGxjPWekDnMKfAshGjqolJndnOWAwGNOTJZfgzbItCJSJgTvFsjVQfEAREsmPUCkTPbJMULxhbLiFdNwhlFzCXsLbyWmDeqJmzbShnVZuzEuQXdMCOSxldLqKOjzICxTXArIazeJutQrjNAkejbQbSmvxzfclihjUyeqwdTTtYAZARPACnOhTSyRjOkGuUzJWwfXErCKdYbARQpiGTXmPaJHfgRrusTWWXdsrfCYctKmKlnxiBDhPiQUQJMtUihHpvCHWqhAUTF", "RwvBkmEBVYMAFxIkESEzJRxPQSTdrijwyrZhhKMkbiytUdhZLNycLcEzLtPilgocWwCsJgNXJlGtIcfizhobzsGZMXoHYjyfQdTJJpQLBXqEwaPkFIRDmulYfptDRktcTgnYuqWbLtEYxmLuHOmQwCgmQZCHapPLptMqNlvdXwALYppJrKVIksYenWzEnyyjfRTvGghXhvSCgjhBpnNLTorPRjJiGVDNyKVRyiiJuEFBidPuLQnokYwkXMSYMCRaFmYpVlBJvoddzmUYcLidAYsZMxoeSehBNJaKdXwmRCZXELNbyeRDBvfifevCHixPuosVFQEWAjRvnuMwCwtvxbnzwQCcFMNmBJVzKWelxGDkwqfFpwnkPjifuQgieEGTZbcimiuCukEHjLhXLEbVXQnIXnJYJXkVbtfXTKHtGbseTckDyoVMJYemIAEeuPlkVFMgkJWFNdcMUaenxbXwmGmvpemhMoTZEdEjeWGRCmnceTnDSoqaRjisXwiHKqqt", "SmdMCQbmXOReFrIpOUkICiWQnUkFwdcbKNBtvHQeYZNfzpzIWlPakjmCOMnkXvgAGLeykCrEVLEhHRBoVDnNMLOcPBLaBafbTYNKiupOVQpTWtlqLAyUzDMKCfatExdvCgtiboTJoVSJmXASSpShCDCVAXZByhkRqPvmKYiYwwMaysJllISdBgNCZXIxtXUuXZyFSCVioFtuvMztAlGleysGOQGjzgsRvdSvJhWlpYhdBzSbRMisYZpwkheHOgecDxhdGMUhMpmZFJXuAeNBZMCMlVziOMPCQYaZWlBttPOGhqLjWAsLBFcCnoMzjyosOOKsjnKPPXGbWvcAeDfwDvQFWCqLFjYwQMUWZjsPSSPJKuYkdouVaXIEGJEUMSOzJQkwQNSBpPyQlUfMSzpJesSKWpFUWiOclhkgkrGdsXwRXslSSmGausdWnhqWYWzIlcpAzVzWheglFlLKYUXiiHYqDpcTXkRKsnqnrJHtJnLobMmUKndGRGXmFXrpUWRx", "DumDTEWdqVBNkccbjXeuZrISbTaEHXuExPDQckrwcwIEWuAmxlWaEhCxjJqlrtifmvDTJDZHdCVPyXGaiAhZpgkSIzHyqzhwIrNSVMzCAnCvSCeqPqSgeghYyVEiWYHoWWRWoSvTgxZCOvPZTmzjPXlxOBFKLzfCKyqQFYZKljObKMNZtYzffleTIswKKEBjvtNUQIKyKPaxrfqwxPIHKGFoLQUWWPHDtFfAhnKqlxQhZPNCbjZdBQDzJRQhGsWmPEVkeDLuROSsxUkMsAccwoUhPyFtWRQNuxOxSMptlBwhUddagYTpFEsTvvVRsZJZzoWtCcyftiCDBgiOGtSUPTBlDpQSyCSjFWCpKvQEKSLQHVvaKvoCNsedBkMZdkXNZJlVmKSpWwbZNCkSgjdrPHeYcbjveIRYqyAibtrnDuJcazKdlgPsqXXXhSFpznlYXGGsvctxLSQQyQicMusAzbmLQZPPtmUwwOofWjEZKbMAnNeguQhEwuSjdSSLkdHp", "IiCqgjCKhRnfeYTairXNEOvYQWudaHSnUIurjOPMEOpINtYnESOvAaBnMjUQwfmvIKKCifQCJwXuPGqmrVEjoFNIhuzlpNoBgOTHtXMyeVjCbGrmwRIjKfOmuLdCTOnlHatXkMgLZLnSHdybbJeTQvquFeHzbMqhMPiaIlVOTYomhFIDcMIMaTQYzZEIIKmAUfyedwcUbkCIeQjdOMadsOcoWhShiHrzJwVzxdsEAwkSYdYmnssTlNAhwqVsUZuLIjWuvevEsQxVXrnhdnYhnsWSvAohyGBjcfCavkCqSfWaBOTxKltnEpBbZvYINQywLfayAdInnMKMtHkndrlenfQNPbpYPrMYPaTgjmKVlRsiRJDBMltITgaWVetzywqVUXQGupoktwodeaFdwjMcIhiQKROarUKpJtjuyECyvbcMxOEqdKTmaGQKRKUmrtEEbWCubmdabSAglJseoZkTSmdqdBEDBMSNqUcctWoxlxlZkUkcXvLRbSiAmrRyOoKK", "ddNdsRrkcIRKPSWJhjxrvsYxwULDPZBqjuwCeWmPiCGFYvTDoSKNpfqmPMdTPEAVtYLyyfpspVoGdHXIwZLhbaEyTMNculyhmwXfgWHHBddKNxtbHgXcjCsXpGQKCrrXEZdcoAIbMzbFuuLwTfQWVvNbmJDkaUbEtrrHpubrYRQDDTEaPqLRbkdCyEYGJGpJsswDPYcsuXQXwPyFEOoLptAFRoHOjXRvNxajFGLILGVJuKuZJZHVGXqEfDUciVOsvslCjwXvdqwNAsWGzEGDQdDJxuEyRkyOkIzhwsNVLttSowUJuSRxmkEozUejMKyMavdQimEnCVkfnkNtPQoZcYZMfaZmbBBrDSCuoIQKeOWCcFJgUAjNJGDIoRtEYGyiZOGBdxXMNpHKDFoGIWrIZgNDWgIeWCoaRmMHKZagmZgLGAopKzRGxnFpdSploSDnnsrkEJPElsTbPiVVRtnXAdtqbbMBzBrPTTzShnOjAElkHNIZOhuAPTRXFUPIsCEo", "GAHTPNzBDtxQJEowlJNnlpflWqALIwvYiwjOJneVFhSdCUNeLIWpjxyXPPNGFWCgAXcanRhOlxnNMfrAxyuMhfdvQPqDlQDdtFmHxIEEcoKvzQmKgeiufecGVkmkATzkAZrCYilMzmvjyiSHtSyaMcVNkCkvsTShPvuydJFVGIWpjUqcuLoChbuYxYscajNIRmpmyNFdYpidcQQedhakFxUUkbJAayTKiBVryKRHacRgUVhFMipevqfDgwKzoDNzcMdWoetVvLuTLbjZOUvlsqyVgxkHXzjwguSOqJyrEGPaSnMMnUhiaQAAenxDOLooYcvNWgZOuxUsshPfRKHIwduTcwbTWemnMpxPgJUxshcRyomvCEHzGqvKOmcRupVNGrvEbegTihqJutWcULHSdtzFzoNRJqJiCwWaUdDxnDMEQwGPMpdcbSAuEPSTPHaIbrCCDjksunKwmINTagVVHAwRGwrUWiFrRiVXnpqZEnVCzymkMoCtBWOTZuKgwhdy", "HGDFrjmRNhKqWffvDxhaBrmmHdehMnMNiWAHaWuMNtBtWPwjkhmlchUsEjDBVBHYZVxTLZpsqBJUzRoYvHGOGleahRMWArlCbpAnBExxynOFqMINOFlvbIIMxfeLMHuWNoUfrXeHLNDlvhcICmeTgKfneBTeTSEbojTUgDwnqXDWTQTOoUVjaFkbGsWDbSHAECpnbFHdXwOidsDZBoUSXlTWdzattFcBWMEEMpBkGAJFsTbgZvgVFOefORuboRKaZvIzxSnuSdsADBDpegXyRPHdPhqTSxIjOweQlBTecqORLDeJenuYtPCGhITfYxQJoQWqBJunkIavIlSkeepBMKQuPKpoQgDwthnWIAIzXwjsYdsiTeWuGmqfihWORcOmAczMoUisCfpOsnFcAGARUOstIaUhtkNReCgrefRTUtuMzWRyAsSopIxBdWStIiFmBSPlZSokROPXFGSjAGnwlfWFzFwYBsUpBinfKIHngJSiADwWLtiMvHaQCWesrUYT", "VnwhxXrxWRdjFuAKDyMmlmBYeUhTkVzKAwcrfUdxgpbaasciKecIrvUQRLAzqiHuugggESGsVCwmEVPnNYKDyQKPddTaFnqVocWWRROmxaSgiqvtttbqfhZSIDmrDCAATTVVPjJDaYYXrWlDetYtigLzfItFjgpubVeCnsrsqdfjKqyzLekBTvcRMDRLUUVjZyaerQRGuKoUAkHIWzvbTisiJUaJLzRwZnjXZsxSAzeJbXCUkIzqPwVnGbgWFkPnwyXdUsFcUXjDJRXHknaIciPevnWrELnRmhpArJJJefgBSqoQnWIEAWPIUTJLlSJUqHYTQdOZqTjlJDxpZnWkoxJakaSMuVNbVkbZBFuIvLRmVJojitUhjxPRoohochlglqgoLRDgUMWqxCkGhqSQtjYtsbmjmGVFacZbBaBtBbsqqYedVBCtnRZSGISkStUOeVRnWcIzFikqVKkcozpQtWlJoVqtxgdzfQvOBBkAuZUzIhRbqFiqpjwPtECYYDdV", "wNwVITWwEgYtQSwEaSAdXfLFjVAfPlrlcfwYdGauwIjfEgyqmovJLrfjbpdDxhuTnDNOEfjjtJPawLRCbDsbxZUmeELuwJYrhSZhZLstlZqPGQeEWUREfyawMtMlpKTHvAVwhSWZDSzrMKMqfonSeMbsROoMSXwnrsvBIGHvVZnMfpyUVMnUPCrAFVFOmacwuzGNleopqGnfVATpcIELkhTkkXttOyzGTbiOpQLpYNBWtSEkTHDArxZOKeIOHSKyoQWKXQpswyjQibzvElgIQAZbrFMyWFhpERTjXFnBdFodYeotfSYvOmJvlSEGWujKgMNbPAonTVcbVQbsvaJToEifcDtWEUargtLkRSbjjQmbIOhJPPtwLiAOgrwnSzSsOsRVWVazfFEwcUFBFWOESIPShNkmZdGggjJdWxWcHwpJtLAJkCmjMFMqWWldvmpmJIoYKWxTCmkaLSoceQdVftWuOfardbISGoefvpVNJNeSCtOpvibthHkzwyTuvlla", "wGyPVIPpzUBvIawxdHqMMSrZoxDndjfNDdqMdDnkGwJlfRUwcnjfPKUnfOvaCGlilCWetGMCITuqPiWPuYxDcdrKegQZhVmWzOQDidynocWjFmKrkQjbVmMpRHrFRAtXcegkBslBlAlxQkUNTULRdbnYjlcXJioLTFsxrVuSITRvPLssbytkfvKYkavUaYKauScPLcVCTcbDzyPWxthYsqZEufWmjiKacyfAxRAljxdgVmRDoGaCdOWduVaBVxmqrErSITCeTreqyLelnAhOFcMBBzCKObCmSxUapaMNDYDoXtpXAzifXjhOfxWUyWedkDMkcbksMrYpWzNxqUoNpDHRbvgNvSpbrWLExUyVwEpZaMrpPUmITqxeZDziMQgcskFcqNICFaFLoRLhVdfZFglnfwNSSzqeMZuQqXAHPVJMAIAcNBjJMJsIgLRiDtKxFRHGfVxwbhrGisPNVGXvBURPKYpMrzczmVawIDRjNgNxopelySYBDmFsoYLmotAb", "FPskiacLDszBcifRIHEKFpwSytDuoLHoGKLyqMygRgpGhohvxvrZTHKjUcizSvCzUSRZRRsXPSvErwjyZCMIAOWQOTLEqnEZJEJvgsllNlhIjbJldmmjBoBUocwOTqhdIYsDZAPvHnabKRHxgldRmBrGVpVhdBTkGNfTmzfIeyQBIorvFTcCYJbjmTlJoQrqgcKGSiLjiGwlDeUOUKkjhfDSDLWGNavYFHNkrECipZOjyjAUHkvcmdpmDwLqXMIoQYhLNeUZYGWfryTQbafNwTnjuIBQgxfkGMtCXPRyXXlDTCbELXqzFwsnMPTJYQdgSbJwxYFNwvYGpPYGipEeMaPZCZGteuOXJQxxyVUSfTJfUXPjxkZlaEPZjScQRCXVtOJirWcMSzOSfBVyRgoxHthUybrzZmapwnjXiTWwipreHDCrrBpvWjUvCRtsWqaYCuRjnpqnasWKRsUCCLglELBQbCLGwiXXyQksCWBTDmXIRtKtbXuXWkdqmwUEcvmH", "oNqVwDFZfXYJLmzAFwYfBPYTEsWpKIHaVSSmnUvAQgXeFoMaTIxhhVjFDMvUALidRtFjhlNQTBSWLCpRKKvSQOaJrGziGfJYXgutDbPeppbToyKKPOMvZqapegRiYolFGbcFiLIRnTNHNGcMtywVUFzGSOFAEnmaCPrfqyPWDOfWdXybNxtUXHlkWGnvPHtiMJdlCvpOdigNdQmolkWWHtqDWBlxZaXHDKajopvVuGDINiurKUGGzglaLWVoxXSHJLkdrotCnnTzPllUcXoEDSVZnHTQPpGPcXEWwpAWzvtDfwTXUSccbhXRcJOTGWiyGSyMFXHmygErbwnGCCbHpZFJnOQVUAmYKCyAKkYOXgTPfhSckuYZoxBVVhEafEHSBopbjCZtkNNdzJUakTkVlchIdktErnDOQtQsDYlWCnVeqljBmBZRwiHjDVTqfLnLTqlxMkgrCVUeFbZEcYZpOtACPvrUflihhhwqVtyQheFfiUhSBMXfVmpkNcxxKwBp", "cLlLORQMhrvPLyKcYyhoqsvJTBLJmjltPvCyUcSXQiwaqQyGioPFwtFrWQEnsYbadgMDrOrxsTQHrqthsxWdBytolsOUhJbNTfvFxkqdghxiseZeoFhdRzISQyyPDKXXNKnGuzWBrjrYQqORZrCCswHofodBIbIEAuoHiQgdHmuGaueUwhVfSzTEaWDZlHDBGqLToVHLnTOwmygHBGfhnoAbBcCPfWHLZtXEpiVIhPhVEglnpdWHwXRRuKigiOADApccPQHHtDCOaxkkOhkPvwRAhuTTcmISiVcehxALkNPCxQGrDYsYxTFLfSLMKXjRziNUxirYChChSEcELVaZKMOcaNflGAQnYTaWGHDQVFWAqCcvcTWLKdjCVpjJHoylFQTONoTCLbkxfywqWMDIgYTbktRFIEHkcfIPhpZDPwFBCPHJzUFnECzXVyoEfFOSqLpdqDklIxwuzLDobDSXQCyDBsyjuLqcOtQhrHrwAXIFKcTwPUvQCDlxIpdMndrn", "UVYQwYZAQDsiXiEKRYbsKHvkHYAYuuRjBLVdQFHQlILakaVKSAudUDBuTGkQiHZkTobZguNlyZUGuZUwzEGRfNCrRHdfivnAEGFFjOtDiaYJFcgDzfyFNQeOHnThdUACItwPeiVPCMnPYsCbzteDKpMeGYaqqJnoLRStypxjsDIxgYEtEHiKEiWbRAVXCntTVvROpmYVrqRBIkncuiCkfxhMkztOvdzVQaVhVkZaCYeTTEbSItNnIzfrIKwwgTHPheQGFcXsSXFRVngtgxoVEAOlAxcQMziiIIcpKSkCBTIYkTHPaoqGzazEvBBqZvLDeABdwawwWJpbpIASOndxxBPWKlmYxSKillFvtXrdNWSIqhDozpYHTlAogrDiIQncxUHtXLGAcUFLrKSQtEwpviFeiZHzLDCyHcMtomgcXyEXhTcFnEZSoCvAwANujYZDHYVMzfrtoJcdciIxWCoUWypMWBQdmSWfplidBOVewoiaDhxZwERnAvWDkMxoMIeS"],"c_map_boolean":{"c_map_boolean_1":1, "c_map_boolean_2":0, "c_map_boolean_3":0, "c_map_boolean_4":0, "c_map_boolean_5":1, "c_map_boolean_6":1, "c_map_boolean_7":1, "c_map_boolean_8":0, "c_map_boolean_9":1, "c_map_boolean_10":0},"c_map_bigint":{"c_map_bigint_1":9209929677533917125, "c_map_bigint_2":7082874931064115709, "c_map_bigint_3":7403817132402176165, "c_map_bigint_4":2588633128387116753, "c_map_bigint_5":5022059954585564230, "c_map_bigint_6":-7450199026548690121, "c_map_bigint_7":4950886631748816607, "c_map_bigint_8":-9188370149343242492, "c_map_bigint_9":-2722439021462022808, "c_map_bigint_10":3708171119728878344},"c_boolean":0,"c_decimal":78.1640,"c_array_boolean":[0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],"c_array_float":[7.2585974, 37.80697, 52.94508, 6.7386026, 68.00439, 91.41442, 77.67803, 71.8439, 80.39874, 23.539988, 96.72125, 51.034542, 12.362005, 88.23775, 74.32896, 40.393345, 16.347477, 41.268127, 63.291176, 70.87366, 99.32853, 61.52069, 10.409637, 68.32361, 25.631529],"c_array_date":["2001-09-03", "2019-05-03", "2015-11-03", "2010-05-19", "2005-11-28", "2016-08-01", "2010-10-05", "2016-06-17", "2002-12-03", "2010-08-20", "2005-01-16", "2011-01-08", "2000-10-05", "2017-11-09", "2003-11-22", "2013-08-26", "2007-03-26", "2004-10-19", "2003-11-04", "2000-09-27", "2016-07-16", "2007-07-01", "2008-03-27", "2012-05-24", "2018-04-09"],"c_map_ipv4":{"c_map_ipv4_1":"187.13.206.139", "c_map_ipv4_2":"119.115.72.163", "c_map_ipv4_3":"213.56.49.121", "c_map_ipv4_4":"207.3.45.94", "c_map_ipv4_5":"101.141.116.0", "c_map_ipv4_6":"51.241.242.161", "c_map_ipv4_7":"22.131.197.40", "c_map_ipv4_8":"148.52.93.181", "c_map_ipv4_9":"36.86.29.92", "c_map_ipv4_10":"156.82.136.121"},"c_array_largeint":[-445638530545830740, -3334216553730636532, -4137212819008902469, 9020126106497294197, 4286235132921729460, 3548705007778568960, -6364541184345681844, 6512758478846958595, -1980827708764140660, -3400358657438757899, -6515467367992919825, 6981974973095823128, 1665561451836295041, 4662301963493813797, 6745533145116615574, 2827673774196394326, 2727460287310764408, -4793965741920165531, -5158016160055192467, 8810015516954480260, -1471181567256677996, -8553041989461048188, -1087721997646839417, 1449327718122262782, 483597891134488359],"c_array_ipv4":["RJwPTLoRmn", "TDKJLsTtKf", "jQCTNnZodn", "HvUhQstlvU", "MkWhlkAUxM", "EVnViUhlZa", "kNtVDIndTO", "RtjcMTllyN", "yOeojYMMMq", "VlbZKGBCiQ", "hDIwYDxHJU", "QarbYmJMBy", "nGJhDiIwpW", "cxBsJlCcLv", "BXiLusSJoz", "zYhQkdiNYm", "zeKSfUHTRq", "tuTeKEfIZM", "htAYQHTdMC", "tWyCdEuzyb", "vvmnsGrrlu", "Maiudrtkhw", "FIjHUXbHCR", "DquCBoHsUe", "ldzRdpQqnl"],"c_map_int":{"c_map_int_1":906280419, "c_map_int_2":-269496353, "c_map_int_3":1898089759, "c_map_int_4":-530603651, "c_map_int_5":794473089, "c_map_int_6":-1211945057, "c_map_int_7":-809697500, "c_map_int_8":594966863, "c_map_int_9":-234541118, "c_map_int_10":1663567893},"c_map_largeint":{"c_map_largeint_1":-5800184669723082263, "c_map_largeint_2":-5787998948320912957, "c_map_largeint_3":6721136900875942842, "c_map_largeint_4":1183492209232642017, "c_map_largeint_5":-6212741095728554173, "c_map_largeint_6":-4379900862726653379, "c_map_largeint_7":-2777933452305674104, "c_map_largeint_8":-6868634585894390335, "c_map_largeint_9":-3727521163132880038, "c_map_largeint_10":2690295239350985675},"c_varchar":"tell","c_array_double":[6.9860095215626705, 0.3373111106397809, 85.08993598513841, 15.822227170945135, 82.22864091375854, 59.84064802245906, 52.47289319655103, 11.89854119215468, 79.83569501593922, 6.720682445614521, 34.11049273090335, 73.55693836786146, 5.8700562178639775, 90.77451499105213, 61.49777422936581, 29.24849476738231, 97.06442060510979, 52.67539147249064, 92.71676524323821, 23.675794589897542, 65.54144718634724, 74.02700147869167, 93.6637830026662, 3.618358766113688, 47.63055379495116],"c_map_double":{"c_map_double_1":52.31407206223102, "c_map_double_2":27.662142747438082, "c_map_double_3":75.51412769896832, "c_map_double_4":80.61814127331613, "c_map_double_5":2.345318099491801, "c_map_double_6":70.67825213961672, "c_map_double_7":81.82928112236138, "c_map_double_8":43.10397717375266, "c_map_double_9":81.59777011961428, "c_map_double_10":0.711422086531212},"c_map_datetime":{"c_map_datetime_1":"2016-08-27 17:16:02", "c_map_datetime_2":"2004-05-26 09:29:21", "c_map_datetime_3":"2000-05-02 10:08:03", "c_map_datetime_4":"2012-05-10 20:32:46", "c_map_datetime_5":"2003-09-03 19:27:28", "c_map_datetime_6":"2017-09-01 19:12:01", "c_map_datetime_7":"2017-12-05 03:00:14", "c_map_datetime_8":"2007-03-19 05:49:51", "c_map_datetime_9":"2001-05-02 08:27:40", "c_map_datetime_10":"2019-12-15 12:47:50"},"c_map_ipv6":{"c_map_ipv6_1":"5f18:5908:44c7:9f11:e12:1229:cf5d:3faf", "c_map_ipv6_2":"97cd:5e43:7f34:4c29:ee4e:a672:ab47:c860", "c_map_ipv6_3":"d8a5:ce1c:a482:1528:f374:a71e:dc0f:c27", "c_map_ipv6_4":"9555:b529:efdd:d19e:ffe7:4c03:9797:f8d0", "c_map_ipv6_5":"1482:d558:e04a:58bb:b789:e27b:dccd:f902", "c_map_ipv6_6":"152f:d4c3:bd2e:8fb6:7d49:60c5:828e:3b17", "c_map_ipv6_7":"b426:12db:11dc:e166:1365:67bc:c943:28da", "c_map_ipv6_8":"79fd:2c78:801a:656e:d92f:edbf:4d61:ffcd", "c_map_ipv6_9":"7506:52b8:1ebe:76e1:43ca:6674:90f9:20b3", "c_map_ipv6_10":"819f:2ca2:82e1:a5d1:7796:9600:5f5:f6a2"},"c_json":{"appname":"Thingcould"} }'); + +sync; +select count() from table_20_undef_partitions2_keys3_properties4_distributed_by517; + +-- now select +with cte1 as ( + select + sqrt( + abs( + col_map_string__double__undef_signed_not_null [ 'RVXWpwRgfy' ] + ) + ) AS col_alias447, + percentile_approx_weighted( + col_smallint_undef_signed_not_null_index_inverted, + 8, 0.8011899967206287, 4467 + ) col_alias452 + from + table_20_undef_partitions2_keys3_properties4_distributed_by515 + where + ( + ( + ( + ( + ( + col_float_undef_signed_not_null - col_largeint_undef_signed + ) >= ( + select + count ( + map_contains_key( + col_map_datetime_3___largeint__undef_signed_not_null, + '2014-04-24' + ) + ) + from + table_20_undef_partitions2_keys3_properties4_distributed_by54 + ) + ) + AND ( + ( + ( + cast( + col_variant_undef_signed_not_null2 [ "c_int" ] as decimal + ) - cardinality( + col_map_string__double__undef_signed_not_null + ) + ) <=> positive( + struct_element(col_struct4, 11) + ) + ) + AND ( + tanh( + map_contains_key( + col_map_string__double__undef_signed_not_null, + 'pMRaUXSomb' + ) + ) NOT in ( + 18377, 86.1323, 6, 5, 1188058822, 1, + 3 + ) + ) + ) + ) + OR ( + floor(col_int_undef_signed) NOT between 71.24729798860186 + and 4428082630541069311 + ) + ) + AND ( + col_double_undef_signed_not_null = -1125983298 + OR ( + struct_element(col_struct5, "c_boolean") = ( + select + max ( + cast( + col_variant_undef_signed2 [ "c_map_bigint" ][ "c_map_bigint_5" ] as decimal + ) + ) + from + table_20_undef_partitions2_keys3_properties4_distributed_by517 + ) + ) + ) + ) + OR ( + greatest( + struct_element(col_struct, 12), + cast( + col_variant_undef_signed2 [ "c_double" ] as double + ), + struct_element(col_struct6, "c_double"), + col_tinyint_undef_signed, + col_map_bigint__bigint__undef_signed_not_null [ 18.37077 ] + ) <=> 1675317512 + ) + GROUP BY + col_alias447 +), +cte2 as ( + select + col_alias452 + from + cte1 + where + col_alias452 NOT in (-27180, 83.0801, 68) +) +select + * +from + cte2; \ No newline at end of file From 68574b23ce69fe8fce3e9e65610e84fbd1d148b6 Mon Sep 17 00:00:00 2001 From: zhiqiang Date: Thu, 5 Sep 2024 14:42:12 +0800 Subject: [PATCH 060/199] [chore](thrift compatibility) Fix thrift id on master is not compatible with branch-2.1 (#40384) Ref https://github.com/apache/doris/pull/39852 --- gensrc/thrift/PaloInternalService.thrift | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gensrc/thrift/PaloInternalService.thrift b/gensrc/thrift/PaloInternalService.thrift index 9da87117154dcc..7875aa2bec0526 100644 --- a/gensrc/thrift/PaloInternalService.thrift +++ b/gensrc/thrift/PaloInternalService.thrift @@ -335,8 +335,12 @@ struct TQueryOptions { 127: optional i32 in_list_value_count_threshold = 10; - 128: optional bool enable_adaptive_pipeline_task_serial_read_on_limit = true; - 129: optional i32 adaptive_pipeline_task_serial_read_on_limit = 10000; + // We need this two fields to make sure thrift id on master is compatible with other branch. + 128: optional bool enable_verbose_profile = false; + 129: optional i32 rpc_verbose_profile_max_instance_count = 0; + + 130: optional bool enable_adaptive_pipeline_task_serial_read_on_limit = true; + 131: optional i32 adaptive_pipeline_task_serial_read_on_limit = 10000; // For cloud, to control if the content would be written into file cache // In write path, to control if the content would be written into file cache. From 8e367a99c23ed152da060b20f391eb7e7fc72ea2 Mon Sep 17 00:00:00 2001 From: walter Date: Thu, 5 Sep 2024 14:49:53 +0800 Subject: [PATCH 061/199] [chore](analysis) Simplify the condition of whether any partition is restoring (#40255) --- .../src/main/java/org/apache/doris/analysis/Analyzer.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java index a13a6731b288e4..b1b0d66b585c25 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java @@ -832,11 +832,9 @@ public TableRef resolveTableRef(TableRef tableRef) throws AnalysisException { if (table.isManagedTable() && (((OlapTable) table).getState() == OlapTableState.RESTORE || ((OlapTable) table).getState() == OlapTableState.RESTORE_WITH_LOAD)) { - Boolean isNotRestoring = ((OlapTable) table).getPartitions().stream() - .filter(partition -> partition.getState() == PartitionState.RESTORE).collect(Collectors.toList()) - .isEmpty(); - - if (!isNotRestoring) { + Boolean isAnyPartitionRestoring = ((OlapTable) table).getPartitions().stream() + .anyMatch(partition -> partition.getState() == PartitionState.RESTORE); + if (isAnyPartitionRestoring) { // if doing restore with partitions, the status check push down to OlapScanNode::computePartitionInfo to // support query that partitions is not restoring. } else { From 89b010d1c7a5d7184876ee9c0aeda7069225cbef Mon Sep 17 00:00:00 2001 From: walter Date: Thu, 5 Sep 2024 14:55:27 +0800 Subject: [PATCH 062/199] [feature](cloud) export fdb client busyness (#40369) a new bvar `fdb_client_thread_busyness_percent` (integer between 0 and 100) will be present when ``` curl ms_ip:ms_port/vars ``` --------- Co-authored-by: Gavin Chou --- cloud/src/common/bvars.cpp | 2 ++ cloud/src/common/bvars.h | 1 + cloud/src/common/metric.cpp | 8 +++++++- cloud/src/meta-service/txn_kv.cpp | 4 ++++ cloud/src/meta-service/txn_kv.h | 4 ++++ 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/cloud/src/common/bvars.cpp b/cloud/src/common/bvars.cpp index ad7d81c021fe2d..21b91416a65b72 100644 --- a/cloud/src/common/bvars.cpp +++ b/cloud/src/common/bvars.cpp @@ -177,6 +177,8 @@ bvar::Status g_bvar_fdb_workload_transactions_committed_hz( "fdb_workload_transactions_committed_hz", BVAR_FDB_INVALID_VALUE); bvar::Status g_bvar_fdb_workload_transactions_rejected_hz( "fdb_workload_transactions_rejected_hz", BVAR_FDB_INVALID_VALUE); +bvar::Status g_bvar_fdb_client_thread_busyness_percent( + "fdb_client_thread_busyness_percent", BVAR_FDB_INVALID_VALUE); // checker's bvars BvarStatusWithTag g_bvar_checker_num_scanned("checker", "num_scanned"); diff --git a/cloud/src/common/bvars.h b/cloud/src/common/bvars.h index 44a2632c6af500..c5067b053b362e 100644 --- a/cloud/src/common/bvars.h +++ b/cloud/src/common/bvars.h @@ -234,6 +234,7 @@ extern bvar::Status g_bvar_fdb_workload_written_bytes_hz; extern bvar::Status g_bvar_fdb_workload_transactions_started_hz; extern bvar::Status g_bvar_fdb_workload_transactions_committed_hz; extern bvar::Status g_bvar_fdb_workload_transactions_rejected_hz; +extern bvar::Status g_bvar_fdb_client_thread_busyness_percent; // checker extern BvarStatusWithTag g_bvar_checker_num_scanned; diff --git a/cloud/src/common/metric.cpp b/cloud/src/common/metric.cpp index ee3013b1a237db..9f796cd3f49d38 100644 --- a/cloud/src/common/metric.cpp +++ b/cloud/src/common/metric.cpp @@ -28,6 +28,7 @@ #include #include "common/bvars.h" +#include "meta-service/txn_kv.h" #include "meta-service/txn_kv_error.h" namespace doris::cloud { @@ -228,8 +229,14 @@ static void export_fdb_status_details(const std::string& status_str) { } void FdbMetricExporter::export_fdb_metrics(TxnKv* txn_kv) { + int64_t busyness = 0; std::string fdb_status = get_fdb_status(txn_kv); export_fdb_status_details(fdb_status); + if (auto* kv = dynamic_cast(txn_kv); kv != nullptr) { + busyness = static_cast(kv->get_client_thread_busyness() * 100); + g_bvar_fdb_client_thread_busyness_percent.set_value(busyness); + } + LOG(INFO) << "finish to collect fdb metric, client busyness: " << busyness << "%"; } FdbMetricExporter::~FdbMetricExporter() { @@ -250,7 +257,6 @@ int FdbMetricExporter::start() { std::unique_lock l(running_mtx_); running_cond_.wait_for(l, std::chrono::milliseconds(sleep_interval_ms_), [this]() { return !running_.load(std::memory_order_acquire); }); - LOG(INFO) << "finish to collect fdb metric"; } }); return 0; diff --git a/cloud/src/meta-service/txn_kv.cpp b/cloud/src/meta-service/txn_kv.cpp index 8cb2e906ba0b52..f40bee76f7a441 100644 --- a/cloud/src/meta-service/txn_kv.cpp +++ b/cloud/src/meta-service/txn_kv.cpp @@ -140,6 +140,10 @@ TxnErrorCode FdbTxnKv::get_partition_boundaries(std::vector* bounda return TxnErrorCode::TXN_OK; } +double FdbTxnKv::get_client_thread_busyness() const { + return fdb_database_get_main_thread_busyness(database_->db()); +} + } // namespace doris::cloud namespace doris::cloud::fdb { diff --git a/cloud/src/meta-service/txn_kv.h b/cloud/src/meta-service/txn_kv.h index 5da5d4e1d63d69..645982f76164ef 100644 --- a/cloud/src/meta-service/txn_kv.h +++ b/cloud/src/meta-service/txn_kv.h @@ -333,6 +333,10 @@ class FdbTxnKv : public TxnKv { // Return the partition boundaries of the database. TxnErrorCode get_partition_boundaries(std::vector* boundaries); + // Returns a value where 0 indicates that the client is idle and 1 (or larger) indicates that + // the client is saturated. This value is updated every second. + double get_client_thread_busyness() const; + static std::string_view fdb_partition_key_prefix() { return "\xff/keyServers/"; } static std::string_view fdb_partition_key_end() { // '0' is the next byte after '/' in the ASCII table From 06cb9580f32ba79e18b0b419f718b139b13fbb84 Mon Sep 17 00:00:00 2001 From: abmdocrt Date: Thu, 5 Sep 2024 14:57:02 +0800 Subject: [PATCH 063/199] [Enhancement](delete) Modify some delete cases to ajust `enable_mow_light_delete` config (#40387) ## Proposed changes Issue Number: close #xxx --- .../suites/compaction/test_full_compaction.groovy | 1 + .../compaction/test_full_compaction_by_table_id.groovy | 1 + .../nereids_p0/delete/delete_mow_partial_update.groovy | 3 +++ .../suites/nereids_p0/explain/test_pushdown_explain.groovy | 3 +++ .../partial_update/test_new_partial_update_delete.groovy | 3 +++ .../partial_update/test_partial_update_after_delete.groovy | 2 ++ .../partial_update/test_partial_update_delete.groovy | 5 +++++ 7 files changed, 18 insertions(+) diff --git a/regression-test/suites/compaction/test_full_compaction.groovy b/regression-test/suites/compaction/test_full_compaction.groovy index 281b69ca6a7820..217a4da707cefb 100644 --- a/regression-test/suites/compaction/test_full_compaction.groovy +++ b/regression-test/suites/compaction/test_full_compaction.groovy @@ -55,6 +55,7 @@ suite("test_full_compaction") { BUCKETS 1 PROPERTIES ("replication_allocation" = "tag.location.default: 1", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "enable_unique_key_merge_on_write" = "true");""" // version1 (1,1)(2,2) diff --git a/regression-test/suites/compaction/test_full_compaction_by_table_id.groovy b/regression-test/suites/compaction/test_full_compaction_by_table_id.groovy index ad67cde31a70f5..222c7e7138865b 100644 --- a/regression-test/suites/compaction/test_full_compaction_by_table_id.groovy +++ b/regression-test/suites/compaction/test_full_compaction_by_table_id.groovy @@ -58,6 +58,7 @@ suite("test_full_compaction_by_table_id") { BUCKETS 8 PROPERTIES ("replication_allocation" = "tag.location.default: 1", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "enable_unique_key_merge_on_write" = "true");""" // version1 (1,1)(2,2) diff --git a/regression-test/suites/nereids_p0/delete/delete_mow_partial_update.groovy b/regression-test/suites/nereids_p0/delete/delete_mow_partial_update.groovy index 87a93ae73a6e21..ec78ec35f43719 100644 --- a/regression-test/suites/nereids_p0/delete/delete_mow_partial_update.groovy +++ b/regression-test/suites/nereids_p0/delete/delete_mow_partial_update.groovy @@ -43,6 +43,7 @@ suite('nereids_delete_mow_partial_update') { PROPERTIES ( "enable_unique_key_merge_on_write" = "true", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ @@ -55,6 +56,7 @@ suite('nereids_delete_mow_partial_update') { PROPERTIES ( "enable_unique_key_merge_on_write" = "true", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ @@ -116,6 +118,7 @@ suite('nereids_delete_mow_partial_update') { PROPERTIES ( "enable_unique_key_merge_on_write" = "true", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ diff --git a/regression-test/suites/nereids_p0/explain/test_pushdown_explain.groovy b/regression-test/suites/nereids_p0/explain/test_pushdown_explain.groovy index 1e691f2be9ff52..b53dd40a964f0f 100644 --- a/regression-test/suites/nereids_p0/explain/test_pushdown_explain.groovy +++ b/regression-test/suites/nereids_p0/explain/test_pushdown_explain.groovy @@ -84,6 +84,7 @@ suite("test_pushdown_explain") { COMMENT 'OLAP' DISTRIBUTED BY HASH(`user_id`) BUCKETS 1 PROPERTIES ( + "enable_mow_light_delete" = "false", "replication_allocation" = "tag.location.default: 1", "disable_auto_compaction" = "true" ); @@ -125,6 +126,7 @@ suite("test_pushdown_explain") { COMMENT 'OLAP' DISTRIBUTED BY HASH(`user_id`) BUCKETS 1 PROPERTIES ( + "enable_mow_light_delete" = "false", "replication_allocation" = "tag.location.default: 1", "disable_auto_compaction" = "true" ); @@ -212,6 +214,7 @@ suite("test_pushdown_explain") { PROPERTIES ( "replication_allocation" = "tag.location.default: 1", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "enable_unique_key_merge_on_write" = "false" ); """ diff --git a/regression-test/suites/unique_with_mow_p0/partial_update/test_new_partial_update_delete.groovy b/regression-test/suites/unique_with_mow_p0/partial_update/test_new_partial_update_delete.groovy index f82510914b5865..2157388c0f7ddc 100644 --- a/regression-test/suites/unique_with_mow_p0/partial_update/test_new_partial_update_delete.groovy +++ b/regression-test/suites/unique_with_mow_p0/partial_update/test_new_partial_update_delete.groovy @@ -65,6 +65,7 @@ suite('test_new_partial_update_delete') { PROPERTIES ( "disable_auto_compaction" = "true", "enable_unique_key_merge_on_write" = "false", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ sql """alter table ${tableMorName2} set ("enable_mow_light_delete"="true")""" @@ -85,6 +86,7 @@ suite('test_new_partial_update_delete') { DISTRIBUTED BY HASH(k1) BUCKETS 1 PROPERTIES ( "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ @@ -198,6 +200,7 @@ suite('test_new_partial_update_delete') { DISTRIBUTED BY HASH(k1) BUCKETS 1 PROPERTIES ( "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ diff --git a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_after_delete.groovy b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_after_delete.groovy index 41cebac66bd12c..97a76567688b1e 100644 --- a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_after_delete.groovy +++ b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_after_delete.groovy @@ -40,6 +40,7 @@ suite("test_partial_update_after_delete", "p0") { PROPERTIES ( "enable_unique_key_merge_on_write" = "true", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ @@ -65,6 +66,7 @@ suite("test_partial_update_after_delete", "p0") { PROPERTIES ( "enable_unique_key_merge_on_write" = "true", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ diff --git a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete.groovy b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete.groovy index fc59038122a1d2..01b888a7e550bf 100644 --- a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete.groovy +++ b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_delete.groovy @@ -46,6 +46,7 @@ suite('test_partial_update_delete') { PROPERTIES ( "enable_unique_key_merge_on_write" = "true", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ @@ -59,6 +60,7 @@ suite('test_partial_update_delete') { PROPERTIES ( "enable_unique_key_merge_on_write" = "true", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ @@ -95,6 +97,7 @@ suite('test_partial_update_delete') { PROPERTIES ( "enable_unique_key_merge_on_write" = "true", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}"); """ @@ -145,6 +148,7 @@ suite('test_partial_update_delete') { PROPERTIES ( "enable_unique_key_merge_on_write" = "true", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}", "function_column.sequence_col" = "c3"); """ @@ -197,6 +201,7 @@ suite('test_partial_update_delete') { PROPERTIES ( "enable_unique_key_merge_on_write" = "true", "disable_auto_compaction" = "true", + "enable_mow_light_delete" = "false", "replication_num" = "1", "store_row_column" = "${use_row_store}", "function_column.sequence_type" = "int"); """ From 5c253afc020215b187204b06e918c6bcd951bc86 Mon Sep 17 00:00:00 2001 From: Sun Chenyang Date: Thu, 5 Sep 2024 15:23:16 +0800 Subject: [PATCH 064/199] [fix] (regression test) reduce testing time (#40286) ## Proposed changes Issue Number: close #xxx --- ...test_move_memtable_multi_segment_index.out | 2 +- ...t_move_memtable_multi_segment_index.groovy | 23 +------------------ 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/regression-test/data/load/insert/test_move_memtable_multi_segment_index.out b/regression-test/data/load/insert/test_move_memtable_multi_segment_index.out index c569d3acd09100..7e7b8e478422aa 100644 --- a/regression-test/data/load/insert/test_move_memtable_multi_segment_index.out +++ b/regression-test/data/load/insert/test_move_memtable_multi_segment_index.out @@ -1,4 +1,4 @@ -- This file is automatically generated. You should know what you did if you want to edit this -- !sql_select_count -- -67843 +10000 diff --git a/regression-test/suites/load/insert/test_move_memtable_multi_segment_index.groovy b/regression-test/suites/load/insert/test_move_memtable_multi_segment_index.groovy index ac225812484b6c..e652f74a4a8656 100644 --- a/regression-test/suites/load/insert/test_move_memtable_multi_segment_index.groovy +++ b/regression-test/suites/load/insert/test_move_memtable_multi_segment_index.groovy @@ -69,30 +69,9 @@ suite("test_move_memtable_multi_segment_index", "nonConcurrent"){ properties("replication_num" = "1", "disable_auto_compaction" = "true"); """ - load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2015-01-01-0.json'}""") - load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2015-01-01-1.json'}""") - load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2015-01-01-2.json'}""") - load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2015-01-01-3.json'}""") - load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2022-11-07-16.json'}""") - load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2022-11-07-10.json'}""") - load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2022-11-07-22.json'}""") load_json_data.call(table_name, """${getS3Url() + '/regression/gharchive.m/2022-11-07-23.json'}""") - sql """DROP TABLE IF EXISTS github_events_2""" - sql """ - CREATE TABLE IF NOT EXISTS `github_events_2` ( - `k` BIGINT NULL, - `v` text NULL, - INDEX idx_var (`v`) USING INVERTED PROPERTIES("parser" = "english") COMMENT '' - ) ENGINE = OLAP DUPLICATE KEY(`k`) COMMENT 'OLAP' DISTRIBUTED BY HASH(`k`) BUCKETS 1 PROPERTIES ( - "replication_allocation" = "tag.location.default: 1" - ); - """ - - sql """ - insert into github_events_2 select 1, cast(v["repo"]["name"] as string) FROM github_events; - """ - qt_sql_select_count """ select count(*) from github_events_2; """ + qt_sql_select_count """ select count(*) from github_events; """ } finally { set_be_config("write_buffer_size", "209715200") } From d03f017efca29be573defdb492c91dd1d2ab7312 Mon Sep 17 00:00:00 2001 From: 924060929 <924060929@qq.com> Date: Thu, 5 Sep 2024 15:47:15 +0800 Subject: [PATCH 065/199] [feature-WIP](query cache) cache tablets aggregate result, FE part (#39670) # Proposed changes support cache tablets aggregate result for example SQL 1: ```sql select key, sum(value) from tbl where dt between '2024-08-01' and '2024-08-10' group by key ``` SQL 2: ```sql select key, sum(value) from tbl where dt between '2024-08-5' and '2024-08-15' group by key ``` SQL 1 will update the tablets aggregate result which partition between '2024-08-01' and '2024-08-10'. Then SQL 2 will reuse the tablets aggregate which partition between '2024-08-05' and '2024-08-10', and compute aggregate which partition between '2024-08-11' and '2024-08-15' We only support simple aggregate which not contains join with runtime filter, at present. # How to use ```sql set enable_query_cache=true; ``` --- .../java/org/apache/doris/analysis/Expr.java | 25 +- .../doris/analysis/FunctionCallExpr.java | 12 + .../org/apache/doris/analysis/SlotRef.java | 12 + .../org/apache/doris/catalog/FunctionSet.java | 26 + .../apache/doris/catalog/PartitionKey.java | 60 ++ .../doris/catalog/RangePartitionInfo.java | 16 + .../apache/doris/nereids/NereidsPlanner.java | 35 +- .../org/apache/doris/nereids/util/Utils.java | 65 +++ .../apache/doris/planner/AggregationNode.java | 73 +++ .../apache/doris/planner/OlapScanNode.java | 122 ++++- .../apache/doris/planner/PlanFragment.java | 11 + .../org/apache/doris/planner/PlanNode.java | 93 ++++ .../NormalizedPartitionPredicates.java | 56 ++ .../doris/planner/normalize/Normalizer.java | 40 ++ .../PartitionRangePredicateNormalizer.java | 220 ++++++++ .../planner/normalize/PredicateToRange.java | 178 ++++++ .../normalize/QueryCacheNormalizer.java | 230 ++++++++ .../java/org/apache/doris/qe/Coordinator.java | 12 +- .../org/apache/doris/qe/SessionVariable.java | 48 ++ .../planner/QueryCacheNormalizerTest.java | 515 ++++++++++++++++++ .../doris/utframe/TestWithFeService.java | 1 + gensrc/thrift/Normalization.thrift | 61 +++ gensrc/thrift/Planner.thrift | 5 +- gensrc/thrift/QueryCache.thrift | 53 ++ 24 files changed, 1950 insertions(+), 19 deletions(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/normalize/NormalizedPartitionPredicates.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/normalize/Normalizer.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/normalize/PartitionRangePredicateNormalizer.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/normalize/PredicateToRange.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/normalize/QueryCacheNormalizer.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/planner/QueryCacheNormalizerTest.java create mode 100644 gensrc/thrift/Normalization.thrift create mode 100644 gensrc/thrift/QueryCache.thrift diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/Expr.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/Expr.java index 6e9e713df9df9b..0b5e68e1f30346 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/Expr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/Expr.java @@ -44,6 +44,7 @@ import org.apache.doris.common.io.Text; import org.apache.doris.nereids.util.Utils; import org.apache.doris.persist.gson.GsonUtils; +import org.apache.doris.planner.normalize.Normalizer; import org.apache.doris.qe.SessionVariable; import org.apache.doris.rewrite.mvrewrite.MVExprEquivalent; import org.apache.doris.statistics.ExprStats; @@ -996,8 +997,12 @@ public void setFn(Function fn) { this.fn = fn; } - // Append a flattened version of this expr, including all children, to 'container'. protected void treeToThriftHelper(TExpr container) { + treeToThriftHelper(container, ((expr, exprNode) -> expr.toThrift(exprNode))); + } + + // Append a flattened version of this expr, including all children, to 'container'. + protected void treeToThriftHelper(TExpr container, ExprVisitor visitor) { TExprNode msg = new TExprNode(); msg.type = type.toThrift(); msg.num_children = children.size(); @@ -1009,13 +1014,17 @@ protected void treeToThriftHelper(TExpr container) { } msg.output_scale = getOutputScale(); msg.setIsNullable(nullableFromNereids.isPresent() ? nullableFromNereids.get() : isNullable()); - toThrift(msg); + visitor.visit(this, msg); container.addToNodes(msg); for (Expr child : children) { - child.treeToThriftHelper(container); + child.treeToThriftHelper(container, visitor); } } + public interface ExprVisitor { + void visit(Expr expr, TExprNode exprNode); + } + public static Type getAssignmentCompatibleType(List children) { Type assignmentCompatibleType = Type.INVALID; for (int i = 0; i < children.size() @@ -2193,6 +2202,16 @@ public String getStringValueForArray(FormatOptions options) { return null; } + public final TExpr normalize(Normalizer normalizer) { + TExpr result = new TExpr(); + treeToThriftHelper(result, (expr, texprNode) -> expr.normalize(texprNode, normalizer)); + return result; + } + + protected void normalize(TExprNode msg, Normalizer normalizer) { + this.toThrift(msg); + } + public static Expr getFirstBoundChild(Expr expr, List tids) { for (Expr child : expr.getChildren()) { if (child.isBoundByTupleIds(tids)) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java index a1d89e12ec43b0..d06c661f9da9fc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java @@ -42,6 +42,7 @@ import org.apache.doris.datasource.InternalCatalog; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.nereids.util.Utils; +import org.apache.doris.planner.normalize.Normalizer; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.SessionVariable; import org.apache.doris.thrift.TExprNode; @@ -2341,6 +2342,17 @@ public void readFields(DataInput in) throws IOException { isMergeAggFn = in.readBoolean(); } + @Override + protected void normalize(TExprNode msg, Normalizer normalizer) { + String functionName = fnName.getFunction().toUpperCase(); + if (FunctionSet.nonDeterministicFunctions.contains(functionName) + || "NOW".equals(functionName) + || (FunctionSet.nonDeterministicTimeFunctions.contains(functionName) && children.isEmpty())) { + throw new IllegalStateException("Can not normalize non deterministic functions"); + } + super.normalize(msg, normalizer); + } + public static FunctionCallExpr read(DataInput in) throws IOException { FunctionCallExpr func = new FunctionCallExpr(); func.readFields(in); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SlotRef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SlotRef.java index 2fe2b7b411500a..8db81c9ac10f34 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SlotRef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SlotRef.java @@ -30,6 +30,7 @@ import org.apache.doris.common.AnalysisException; import org.apache.doris.common.io.Text; import org.apache.doris.common.util.ToSqlContext; +import org.apache.doris.planner.normalize.Normalizer; import org.apache.doris.qe.ConnectContext; import org.apache.doris.thrift.TExprNode; import org.apache.doris.thrift.TExprNodeType; @@ -353,6 +354,17 @@ protected void toThrift(TExprNode msg) { msg.setLabel(label); } + @Override + protected void normalize(TExprNode msg, Normalizer normalizer) { + msg.node_type = TExprNodeType.SLOT_REF; + // we should eliminate the different tuple id to reuse query cache + msg.slot_ref = new TSlotRef( + normalizer.normalizeSlotId(desc.getId().asInt()), + 0 + ); + msg.slot_ref.setColUniqueId(desc.getUniqueId()); + } + @Override public void markAgg() { desc.setIsAgg(true); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java index 74b2778373eacd..4165f9362214ed 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java @@ -155,6 +155,32 @@ public boolean isNullResultWithOneNullParamFunctions(String funcName) { .put(Type.DECIMAL128, Type.DECIMAL128) .build(); + public static final Set nonDeterministicFunctions = + ImmutableSet.builder() + .add("RAND") + .add("RANDOM") + .add("RANDOM_BYTES") + .add("CONNECTION_ID") + .add("DATABASE") + .add("USER") + .add("UUID") + .add("CURRENT_USER") + .add("UUID_NUMERIC") + .build(); + + public static final Set nonDeterministicTimeFunctions = + ImmutableSet.builder() + .add("NOW") + .add("CURDATE") + .add("CURRENT_DATE") + .add("UTC_TIMESTAMP") + .add("CURTIME") + .add("CURRENT_TIMESTAMP") + .add("CURRENT_TIME") + .add("UNIX_TIMESTAMP") + .add() + .build(); + private static final Map STDDEV_UPDATE_SYMBOL = ImmutableMap.builder() .put(Type.TINYINT, diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionKey.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionKey.java index d76293d6a75d25..f9640ccae14023 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionKey.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionKey.java @@ -55,7 +55,9 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; +import java.math.BigInteger; import java.nio.ByteBuffer; +import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; import java.util.zip.CRC32; @@ -304,6 +306,64 @@ public int compareTo(PartitionKey other) { return Integer.compare(thisKeyLen, otherKeyLen); } + public PartitionKey successor() throws AnalysisException { + Preconditions.checkState( + keys.size() == 1, + "Only support compute successor for one partition column" + ); + LiteralExpr literal = keys.get(0); + PrimitiveType type = types.get(0); + + PartitionKey successor = new PartitionKey(); + + switch (type) { + case TINYINT: + case SMALLINT: + case INT: + case BIGINT: + long maxValueOfType = (1L << ((type.getSlotSize() << 3 /* multiply 8 bit */) - 1)) - 1L; + long successorInt = ((IntLiteral) literal).getValue(); + successorInt += successorInt < maxValueOfType ? 1 : 0; + successor.pushColumn(new IntLiteral(successorInt, Type.fromPrimitiveType(type)), type); + return successor; + case LARGEINT: + BigInteger maxValue = BigInteger.ONE.shiftLeft(127).subtract(BigInteger.ONE); + BigInteger successorLargeInt = (BigInteger) literal.getRealValue(); + successorLargeInt = successorLargeInt.add( + successorLargeInt.compareTo(maxValue) < 0 ? BigInteger.ONE : BigInteger.ZERO + ); + successor.pushColumn(new LargeIntLiteral(successorLargeInt), type); + return successor; + case DATE: + case DATEV2: + case DATETIME: + case DATETIMEV2: + DateLiteral dateLiteral = (DateLiteral) literal; + LocalDateTime successorDateTime = LocalDateTime.of( + (int) dateLiteral.getYear(), + (int) dateLiteral.getMonth(), + (int) dateLiteral.getDay(), + (int) dateLiteral.getHour(), + (int) dateLiteral.getMinute(), + (int) dateLiteral.getSecond(), + (int) dateLiteral.getMicrosecond() * 1000 + ); + if (type == PrimitiveType.DATE || type == PrimitiveType.DATEV2) { + successorDateTime = successorDateTime.plusDays(1); + } else if (type == PrimitiveType.DATETIME) { + successorDateTime = successorDateTime.plusSeconds(1); + } else { + int scale = Math.min(6, Math.max(0, ((ScalarType) literal.getType()).getScalarScale())); + long nanoSeconds = BigInteger.TEN.pow(9 - scale).longValue(); + successorDateTime = successorDateTime.plusNanos(nanoSeconds); + } + successor.pushColumn(new DateLiteral(successorDateTime, literal.getType()), type); + return successor; + default: + throw new AnalysisException("Unsupported type: " + type); + } + } + // return: ("100", "200", "300") public String toSql() { StringBuilder sb = new StringBuilder("("); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java index 6cf5545aacfc87..d0e738553adda3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java @@ -38,6 +38,7 @@ import java.io.DataInput; import java.io.IOException; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; @@ -65,6 +66,21 @@ public RangePartitionInfo(boolean isAutoCreatePartitions, ArrayList exprs, } } + public Map getPartitionItems(Collection partitionIds) { + Map columnRanges = Maps.newLinkedHashMapWithExpectedSize(partitionIds.size()); + for (Long partitionId : partitionIds) { + PartitionItem partitionItem = idToItem.get(partitionId); + if (partitionItem == null) { + partitionItem = idToTempItem.get(partitionId); + } + if (partitionItem == null) { + throw new IllegalStateException("Can not found partition item: " + partitionId); + } + columnRanges.put(partitionId, partitionItem); + } + return columnRanges; + } + @Override public PartitionItem createAndCheckPartitionItem(SinglePartitionDesc desc, boolean isTemp) throws DdlException { Range newRange = null; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java index 9d32af433b5849..a304fe36062c80 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java @@ -27,6 +27,7 @@ import org.apache.doris.common.Pair; import org.apache.doris.common.UserException; import org.apache.doris.common.profile.SummaryProfile; +import org.apache.doris.common.util.DebugUtil; import org.apache.doris.mysql.FieldInfo; import org.apache.doris.nereids.CascadesContext.Lock; import org.apache.doris.nereids.exceptions.AnalysisException; @@ -65,16 +66,20 @@ import org.apache.doris.planner.Planner; import org.apache.doris.planner.RuntimeFilter; import org.apache.doris.planner.ScanNode; +import org.apache.doris.planner.normalize.QueryCacheNormalizer; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ResultSet; import org.apache.doris.qe.SessionVariable; +import org.apache.doris.thrift.TQueryCacheParam; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.Lists; +import org.apache.commons.codec.binary.Hex; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.io.IOException; +import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -343,10 +348,11 @@ private void splitFragments(PhysicalPlan resultPlan) { if (statementContext.getConnectContext().getExecutor() != null) { statementContext.getConnectContext().getExecutor().getSummaryProfile().setNereidsTranslateTime(); } - if (cascadesContext.getConnectContext().getSessionVariable().isEnableNereidsTrace()) { + SessionVariable sessionVariable = cascadesContext.getConnectContext().getSessionVariable(); + if (sessionVariable.isEnableNereidsTrace()) { CounterEvent.clearCounter(); } - if (cascadesContext.getConnectContext().getSessionVariable().isPlayNereidsDump()) { + if (sessionVariable.isPlayNereidsDump()) { return; } PlanFragment root = physicalPlanTranslator.translatePlan(physicalPlan); @@ -355,8 +361,31 @@ private void splitFragments(PhysicalPlan resultPlan) { physicalRelations.addAll(planTranslatorContext.getPhysicalRelations()); descTable = planTranslatorContext.getDescTable(); fragments = new ArrayList<>(planTranslatorContext.getPlanFragments()); + + boolean enableQueryCache = sessionVariable.getEnableQueryCache(); + String queryId = DebugUtil.printId(cascadesContext.getConnectContext().queryId()); for (int seq = 0; seq < fragments.size(); seq++) { - fragments.get(seq).setFragmentSequenceNum(seq); + PlanFragment fragment = fragments.get(seq); + fragment.setFragmentSequenceNum(seq); + if (enableQueryCache) { + try { + QueryCacheNormalizer normalizer = new QueryCacheNormalizer(fragment, descTable); + Optional queryCacheParam = + normalizer.normalize(cascadesContext.getConnectContext()); + if (queryCacheParam.isPresent()) { + fragment.queryCacheParam = queryCacheParam.get(); + // after commons-codec 1.14 (include), Hex.encodeHexString will change ByteBuffer.pos, + // so we should copy a new byte buffer to print it + ByteBuffer digestCopy = fragment.queryCacheParam.digest.duplicate(); + LOG.info("Use query cache for fragment {}, node id: {}, digest: {}, queryId: {}", + seq, + fragment.queryCacheParam.node_id, + Hex.encodeHexString(digestCopy), queryId); + } + } catch (Throwable t) { + // do nothing + } + } } // set output exprs logicalPlanAdapter.setResultExprs(root.getOutputExprs()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/Utils.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/Utils.java index ac098014cb65d1..42b99f6effdb84 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/Utils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/Utils.java @@ -327,6 +327,71 @@ private static List> doAllCombinations(List> lists) { ).collect(ImmutableList.toImmutableList()); } + /** getAllCombinations */ + public static List> getAllCombinations(List list, int itemNum) { + List> result = Lists.newArrayList(); + generateCombinations(list, itemNum, 0, Lists.newArrayList(), result); + return result; + } + + private static void generateCombinations( + List list, int n, int start, List current, List> result) { + if (current.size() == n) { + result.add(new ArrayList<>(current)); + return; + } + + for (int i = start; i < list.size(); i++) { + current.add(list.get(i)); + generateCombinations(list, n, i + 1, current, result); + current.remove(current.size() - 1); + } + } + + public static List> allPermutations(List list) { + List> result = new ArrayList<>(); + generatePermutations(new ArrayList<>(list), new ArrayList<>(), result); + return result; + } + + private static void generatePermutations(List list, List current, List> result) { + if (!current.isEmpty()) { + result.add(new ArrayList<>(current)); + } + + for (int i = 0; i < list.size(); i++) { + T element = list.remove(i); + current.add(element); + generatePermutations(list, current, result); + current.remove(current.size() - 1); + list.add(i, element); + } + } + + /** permutations */ + public static List> permutations(List list) { + list = new ArrayList<>(list); + List> result = new ArrayList<>(); + if (list.isEmpty()) { + result.add(new ArrayList<>()); + return result; + } + + T firstElement = list.get(0); + List rest = list.subList(1, list.size()); + List> recursivePermutations = permutations(rest); + + for (List smallerPermutated : recursivePermutations) { + for (int index = 0; index <= smallerPermutated.size(); index++) { + List temp = new ArrayList<>(smallerPermutated); + temp.add(index, firstElement); + result.add(temp); + } + } + + return result; + } + public static List copyRequiredList(List list) { return ImmutableList.copyOf(Objects.requireNonNull(list, "non-null list is required")); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/AggregationNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/AggregationNode.java index e6ea3e9f263175..4dca9384d65794 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/AggregationNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/AggregationNode.java @@ -26,21 +26,26 @@ import org.apache.doris.analysis.FunctionCallExpr; import org.apache.doris.analysis.SlotDescriptor; import org.apache.doris.analysis.SlotId; +import org.apache.doris.analysis.SlotRef; import org.apache.doris.analysis.SortInfo; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.common.NotImplementedException; import org.apache.doris.common.UserException; +import org.apache.doris.planner.normalize.Normalizer; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.statistics.StatsRecursiveDerive; import org.apache.doris.thrift.TAggregationNode; import org.apache.doris.thrift.TExplainLevel; import org.apache.doris.thrift.TExpr; +import org.apache.doris.thrift.TNormalizedAggregateNode; +import org.apache.doris.thrift.TNormalizedPlanNode; import org.apache.doris.thrift.TPlanNode; import org.apache.doris.thrift.TPlanNodeType; import org.apache.doris.thrift.TSortInfo; import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import org.apache.commons.lang3.StringUtils; @@ -50,6 +55,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; /** * Aggregation computation. @@ -300,6 +306,73 @@ protected void toThrift(TPlanNode msg) { } } + @Override + public void normalize(TNormalizedPlanNode normalizedPlan, Normalizer normalizer) { + TNormalizedAggregateNode normalizedAggregateNode = new TNormalizedAggregateNode(); + + // if (aggInfo.getGroupingExprs().size() > 3) { + // throw new IllegalStateException("Too many grouping expressions, not use query cache"); + // } + + normalizedAggregateNode.setIntermediateTupleId( + normalizer.normalizeTupleId(aggInfo.getIntermediateTupleId().asInt())); + normalizedAggregateNode.setOutputTupleId( + normalizer.normalizeTupleId(aggInfo.getOutputTupleId().asInt())); + normalizedAggregateNode.setGroupingExprs(normalizeExprs(aggInfo.getGroupingExprs(), normalizer)); + normalizedAggregateNode.setAggregateFunctions(normalizeExprs(aggInfo.getAggregateExprs(), normalizer)); + normalizedAggregateNode.setIsFinalize(needsFinalize); + normalizedAggregateNode.setUseStreamingPreaggregation(useStreamingPreagg); + + normalizeAggIntermediateProjects(normalizedAggregateNode, normalizer); + normalizeAggOutputProjects(normalizedAggregateNode, normalizer); + + normalizedPlan.setNodeType(TPlanNodeType.AGGREGATION_NODE); + normalizedPlan.setAggregationNode(normalizedAggregateNode); + } + + @Override + protected void normalizeProjects(TNormalizedPlanNode normalizedPlanNode, Normalizer normalizer) { + List outputSlots = + getOutputTupleIds() + .stream() + .flatMap(tupleId -> normalizer.getDescriptorTable().getTupleDesc(tupleId).getSlots().stream()) + .collect(Collectors.toList()); + + List projectList = this.projectList; + if (projectList == null) { + projectList = this.aggInfo.getOutputTupleDesc() + .getSlots() + .stream() + .map(SlotRef::new) + .collect(Collectors.toList()); + } + + List projectThrift = normalizeProjects(outputSlots, projectList, normalizer); + normalizedPlanNode.setProjects(projectThrift); + } + + private void normalizeAggIntermediateProjects(TNormalizedAggregateNode aggregateNode, Normalizer normalizer) { + List projectToIntermediateTuple = ImmutableList.builder() + .addAll(aggInfo.getGroupingExprs()) + .addAll(aggInfo.getAggregateExprs()) + .build(); + + List intermediateSlots = aggInfo.getIntermediateTupleDesc().getSlots(); + List projects = normalizeProjects(intermediateSlots, projectToIntermediateTuple, normalizer); + aggregateNode.setProjectToAggIntermediateTuple(projects); + } + + private void normalizeAggOutputProjects(TNormalizedAggregateNode aggregateNode, Normalizer normalizer) { + List projectToIntermediateTuple = ImmutableList.builder() + .addAll(aggInfo.getGroupingExprs()) + .addAll(aggInfo.getAggregateExprs()) + .build(); + + List intermediateSlots = aggInfo.getOutputTupleDesc().getSlots(); + List projects = normalizeProjects(intermediateSlots, projectToIntermediateTuple, normalizer); + aggregateNode.setProjectToAggOutputTuple(projects); + } + protected String getDisplayLabelDetail() { if (useStreamingPreagg) { return "STREAMING"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java index 1763c99efcf145..1fc7155d64b9bc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java @@ -61,10 +61,13 @@ import org.apache.doris.common.ErrorCode; import org.apache.doris.common.ErrorReport; import org.apache.doris.common.FeConstants; +import org.apache.doris.common.Pair; import org.apache.doris.common.UserException; import org.apache.doris.common.util.DebugUtil; import org.apache.doris.common.util.Util; import org.apache.doris.nereids.glue.translator.PlanTranslatorContext; +import org.apache.doris.planner.normalize.Normalizer; +import org.apache.doris.planner.normalize.PartitionRangePredicateNormalizer; import org.apache.doris.qe.ConnectContext; import org.apache.doris.resource.Tag; import org.apache.doris.statistics.StatisticalType; @@ -74,7 +77,10 @@ import org.apache.doris.system.Backend; import org.apache.doris.thrift.TColumn; import org.apache.doris.thrift.TExplainLevel; +import org.apache.doris.thrift.TExpr; import org.apache.doris.thrift.TNetworkAddress; +import org.apache.doris.thrift.TNormalizedOlapScanNode; +import org.apache.doris.thrift.TNormalizedPlanNode; import org.apache.doris.thrift.TOlapScanNode; import org.apache.doris.thrift.TOlapTableIndex; import org.apache.doris.thrift.TPaloScanRange; @@ -756,15 +762,20 @@ private void addScanRangeLocations(Partition partition, int useFixReplica = -1; boolean needCheckTags = false; boolean skipMissingVersion = false; - if (ConnectContext.get() != null) { - allowedTags = ConnectContext.get().getResourceTags(); - needCheckTags = ConnectContext.get().isResourceTagsSet(); - useFixReplica = ConnectContext.get().getSessionVariable().useFixReplica; + ConnectContext context = ConnectContext.get(); + if (context != null) { + allowedTags = context.getResourceTags(); + needCheckTags = context.isResourceTagsSet(); + useFixReplica = context.getSessionVariable().useFixReplica; + if (useFixReplica == -1 + && context.getState().isNereids() && context.getSessionVariable().getEnableQueryCache()) { + useFixReplica = 0; + } // if use_fix_replica is set to true, set skip_missing_version to false - skipMissingVersion = useFixReplica == -1 && ConnectContext.get().getSessionVariable().skipMissingVersion; + skipMissingVersion = useFixReplica == -1 && context.getSessionVariable().skipMissingVersion; if (LOG.isDebugEnabled()) { LOG.debug("query id: {}, partition id:{} visibleVersion: {}", - DebugUtil.printId(ConnectContext.get().queryId()), partition.getId(), visibleVersion); + DebugUtil.printId(context.queryId()), partition.getId(), visibleVersion); } } for (Tablet tablet : tablets) { @@ -798,7 +809,7 @@ private void addScanRangeLocations(Partition partition, List replicas = tablet.getQueryableReplicas(visibleVersion, backendAlivePathHashs, skipMissingVersion); if (replicas.isEmpty()) { - if (ConnectContext.get().getSessionVariable().skipBadTablet) { + if (context.getSessionVariable().skipBadTablet) { continue; } LOG.warn("no queryable replica found in tablet {}. visible version {}", tabletId, visibleVersion); @@ -827,7 +838,7 @@ private void addScanRangeLocations(Partition partition, // sort by replica id replicas.sort(Replica.ID_COMPARATOR); Replica replica = replicas.get(useFixReplica >= replicas.size() ? replicas.size() - 1 : useFixReplica); - if (ConnectContext.get().getSessionVariable().fallbackOtherReplicaWhenFixedCorrupt) { + if (context.getSessionVariable().fallbackOtherReplicaWhenFixedCorrupt) { Backend backend = Env.getCurrentSystemInfo().getBackend(replica.getBackendId()); // If the fixed replica is bad, then not clear the replicas using random replica if (backend == null || !backend.isAlive()) { @@ -1541,6 +1552,101 @@ protected void toThrift(TPlanNode msg) { super.toThrift(msg); } + @Override + public void normalize(TNormalizedPlanNode normalizedPlan, Normalizer normalizer) { + TNormalizedOlapScanNode normalizedOlapScanNode = new TNormalizedOlapScanNode(); + normalizedOlapScanNode.setTableId(olapTable.getId()); + + long selectIndexId = selectedIndexId == -1 ? olapTable.getBaseIndexId() : selectedIndexId; + normalizedOlapScanNode.setIndexId(selectIndexId); + normalizedOlapScanNode.setIsPreaggregation(isPreAggregation); + normalizedOlapScanNode.setSortColumn(sortColumn); + normalizedOlapScanNode.setRollupName(olapTable.getIndexNameById(selectIndexId)); + + normalizeSchema(normalizedOlapScanNode); + normalizeSelectColumns(normalizedOlapScanNode, normalizer); + + normalizedPlan.setNodeType(TPlanNodeType.OLAP_SCAN_NODE); + normalizedPlan.setOlapScanNode(normalizedOlapScanNode); + } + + private void normalizeSelectColumns(TNormalizedOlapScanNode normalizedOlapScanNode, Normalizer normalizer) { + List slots = tupleIds + .stream() + .flatMap(tupleId -> normalizer.getDescriptorTable().getTupleDesc(tupleId).getSlots().stream()) + .collect(Collectors.toList()); + List> selectColumns = slots.stream() + .map(slot -> Pair.of(slot.getId(), slot.getColumn().getName())) + .collect(Collectors.toList()); + for (Column partitionColumn : olapTable.getPartitionInfo().getPartitionColumns()) { + boolean selectPartitionColumn = false; + String partitionColumnName = partitionColumn.getName(); + for (Pair selectColumn : selectColumns) { + if (selectColumn.second.equalsIgnoreCase(partitionColumnName)) { + selectPartitionColumn = true; + break; + } + } + if (!selectPartitionColumn) { + selectColumns.add(Pair.of(new SlotId(-1), partitionColumnName)); + } + } + + selectColumns.sort(Comparator.comparing(Pair::value)); + + for (Pair selectColumn : selectColumns) { + normalizer.normalizeSlotId(selectColumn.first.asInt()); + } + + normalizedOlapScanNode.setSelectColumns( + selectColumns.stream().map(Pair::value).collect(Collectors.toList()) + ); + } + + private void normalizeSchema(TNormalizedOlapScanNode normalizedOlapScanNode) { + List columns = selectedIndexId == -1 + ? olapTable.getBaseSchema() : olapTable.getSchemaByIndexId(selectedIndexId); + List keyColumns = columns.stream().filter(Column::isKey).collect(Collectors.toList()); + + normalizedOlapScanNode.setKeyColumnNames( + keyColumns.stream() + .map(Column::getName) + .collect(Collectors.toList()) + ); + + normalizedOlapScanNode.setKeyColumnTypes( + keyColumns.stream() + .map(column -> column.getDataType().toThrift()) + .collect(Collectors.toList()) + ); + } + + @Override + protected void normalizeConjuncts(TNormalizedPlanNode normalizedPlan, Normalizer normalizer) { + List normalizedPredicates = new PartitionRangePredicateNormalizer(normalizer, this) + .normalize(); + + List normalizedConjuncts = normalizeExprs(normalizedPredicates, normalizer); + normalizedPlan.setConjuncts(normalizedConjuncts); + } + + @Override + protected void normalizeProjects(TNormalizedPlanNode normalizedPlanNode, Normalizer normalizer) { + List outputSlots = + getOutputTupleIds() + .stream() + .flatMap(tupleId -> normalizer.getDescriptorTable().getTupleDesc(tupleId).getSlots().stream()) + .collect(Collectors.toList()); + + List projectList = this.projectList; + if (projectList == null) { + projectList = outputSlots.stream().map(SlotRef::new).collect(Collectors.toList()); + } + + List projectThrift = normalizeProjects(outputSlots, projectList, normalizer); + normalizedPlanNode.setProjects(projectThrift); + } + public void collectColumns(Analyzer analyzer, Set equivalenceColumns, Set unequivalenceColumns) { // 1. Get columns which has predicate on it. for (Expr expr : conjuncts) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/PlanFragment.java b/fe/fe-core/src/main/java/org/apache/doris/planner/PlanFragment.java index 8a26ec4af66ac1..bb41761cfd550e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/PlanFragment.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/PlanFragment.java @@ -33,11 +33,13 @@ import org.apache.doris.thrift.TExplainLevel; import org.apache.doris.thrift.TPartitionType; import org.apache.doris.thrift.TPlanFragment; +import org.apache.doris.thrift.TQueryCacheParam; import org.apache.doris.thrift.TResultSinkType; import com.google.common.base.Preconditions; import com.google.common.base.Suppliers; import com.google.common.collect.Lists; +import org.apache.commons.codec.binary.Hex; import org.apache.commons.collections.CollectionUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -159,6 +161,8 @@ public class PlanFragment extends TreeNode { public Optional> specifyInstances = Optional.empty(); + public TQueryCacheParam queryCacheParam; + /** * C'tor for fragment with specific partition; the output is by default broadcast. */ @@ -350,6 +354,13 @@ public String getExplainString(TExplainLevel explainLevel) { str.append("\n"); str.append(" PARTITION: " + dataPartition.getExplainString(explainLevel) + "\n"); str.append(" HAS_COLO_PLAN_NODE: " + hasColocatePlanNode + "\n"); + if (queryCacheParam != null) { + str.append("\n"); + str.append(" QUERY_CACHE:\n"); + str.append(" CACHE_NODE_ID: " + queryCacheParam.getNodeId() + "\n"); + str.append(" DIGEST: " + Hex.encodeHexString(queryCacheParam.getDigest()) + "\n"); + } + str.append("\n"); if (sink != null) { str.append(sink.getExplainString(" ", explainLevel) + "\n"); diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java index 37f121a5c23d98..1e9d5646939896 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java @@ -27,6 +27,7 @@ import org.apache.doris.analysis.ExprId; import org.apache.doris.analysis.ExprSubstitutionMap; import org.apache.doris.analysis.FunctionCallExpr; +import org.apache.doris.analysis.SlotDescriptor; import org.apache.doris.analysis.SlotId; import org.apache.doris.analysis.SlotRef; import org.apache.doris.analysis.TupleDescriptor; @@ -34,13 +35,18 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.OlapTable; import org.apache.doris.common.AnalysisException; +import org.apache.doris.common.Id; import org.apache.doris.common.NotImplementedException; +import org.apache.doris.common.Pair; import org.apache.doris.common.TreeNode; import org.apache.doris.common.UserException; +import org.apache.doris.planner.normalize.Normalizer; import org.apache.doris.statistics.PlanStats; import org.apache.doris.statistics.StatisticalType; import org.apache.doris.statistics.StatsDeriveResult; import org.apache.doris.thrift.TExplainLevel; +import org.apache.doris.thrift.TExpr; +import org.apache.doris.thrift.TNormalizedPlanNode; import org.apache.doris.thrift.TPlan; import org.apache.doris.thrift.TPlanNode; import org.apache.doris.thrift.TPushAggOp; @@ -49,15 +55,18 @@ import com.google.common.base.Preconditions; import com.google.common.base.Predicates; import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import com.google.common.collect.Sets; import org.apache.commons.collections.CollectionUtils; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import java.util.function.Consumer; import java.util.function.Predicate; @@ -884,6 +893,90 @@ public void getMaterializedIds(Analyzer analyzer, List ids) { // the node type and the node-specific field. protected abstract void toThrift(TPlanNode msg); + public TNormalizedPlanNode normalize(Normalizer normalizer) { + TNormalizedPlanNode normalizedPlan = new TNormalizedPlanNode(); + normalizedPlan.setNodeId(normalizer.normalizePlanId(id.asInt())); + normalizedPlan.setNumChildren(children.size()); + Set tupleIds = this.tupleIds + .stream() + .map(Id::asInt) + .collect(Collectors.toSet()); + normalizedPlan.setTupleIds( + tupleIds.stream() + .map(normalizer::normalizeTupleId) + .collect(Collectors.toSet()) + ); + normalizedPlan.setNullableTuples( + nullableTupleIds + .stream() + .map(Id::asInt) + .filter(tupleIds::contains) + .map(normalizer::normalizeTupleId) + .collect(Collectors.toSet()) + ); + normalize(normalizedPlan, normalizer); + normalizeConjuncts(normalizedPlan, normalizer); + normalizeProjects(normalizedPlan, normalizer); + normalizedPlan.setLimit(limit); + return normalizedPlan; + } + + public void normalize(TNormalizedPlanNode normalizedPlan, Normalizer normalizer) { + throw new IllegalStateException("Unsupported normalization"); + } + + protected void normalizeProjects(TNormalizedPlanNode normalizedPlanNode, Normalizer normalizer) { + throw new IllegalStateException("Unsupported normalize project for " + getClass().getSimpleName()); + } + + public List normalizeProjects( + List outputSlotDescs, List projects, Normalizer normalizer) { + Map outputSlotToProject = Maps.newLinkedHashMap(); + for (int i = 0; i < outputSlotDescs.size(); i++) { + SlotId slotId = outputSlotDescs.get(i).getId(); + Expr projectExpr = projects.get(i); + if (projectExpr instanceof SlotRef) { + int outputSlotId = slotId.asInt(); + int refId = ((SlotRef) projectExpr).getSlotId().asInt(); + normalizer.setSlotIdToNormalizeId(outputSlotId, normalizer.normalizeSlotId(refId)); + } + outputSlotToProject.put(slotId, projectExpr); + } + return normalizeProjects(outputSlotToProject, normalizer); + } + + protected void normalizeConjuncts(TNormalizedPlanNode normalizedPlan, Normalizer normalizer) { + normalizedPlan.setConjuncts(normalizeExprs(getConjuncts(), normalizer)); + } + + protected List normalizeProjects(Map project, Normalizer normalizer) { + List> sortByTExpr = Lists.newArrayListWithCapacity(project.size()); + for (Entry kv : project.entrySet()) { + SlotId slotId = kv.getKey(); + Expr expr = kv.getValue(); + TExpr thriftExpr = expr.normalize(normalizer); + sortByTExpr.add(Pair.of(slotId, thriftExpr)); + } + sortByTExpr.sort(Comparator.comparing(Pair::value)); + + // we should normalize slot id by fix order, then the upper nodes can reference the same normalized slot id + for (Pair pair : sortByTExpr) { + int originOutputSlotId = pair.first.asInt(); + normalizer.normalizeSlotId(originOutputSlotId); + } + + return sortByTExpr.stream().map(Pair::value).collect(Collectors.toList()); + } + + public static List normalizeExprs(Collection exprs, Normalizer normalizer) { + List normalizedWithoutSort = Lists.newArrayListWithCapacity(exprs.size()); + for (Expr expr : exprs) { + normalizedWithoutSort.add(expr.normalize(normalizer)); + } + normalizedWithoutSort.sort(Comparator.naturalOrder()); + return normalizedWithoutSort; + } + protected String debugString() { // not using Objects.toStrHelper because StringBuilder output = new StringBuilder(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/NormalizedPartitionPredicates.java b/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/NormalizedPartitionPredicates.java new file mode 100644 index 00000000000000..c6741fb5d55d54 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/NormalizedPartitionPredicates.java @@ -0,0 +1,56 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.planner.normalize; + +import org.apache.doris.analysis.Expr; + +import java.util.List; +import java.util.Map; + +/** NormalizedPartitionPredicates */ +public class NormalizedPartitionPredicates { + // the predicates which can not compute intersect range with the partitions + // case 1: no partition columns, say `non_partition_column = 1` + // case 2: partition column compute with non partition column, say `non_partition_column + partition_column = 1` + // case 3: the partition predicate contains some function which currently not supported convert to range, + // say `date(partition_column) = '2024-08-14'` + public final List remainedPredicates; + + // the partitionId to partition range string, + // for example: + // partitions is: + // P1 values [('2024-08-01'), ('2024-08-10')), the partition id is 10001 + // P2 values [('2024-08-10'), ('2024-08-20')), the partition id is 10002 + // + // predicate is: part_column between '2024-08-08' and '2024-08-12' + // + // the intersectPartitionRanges like is: + // { + // 10001: "[('2024-08-08'), ('2024-08-10'))", + // 10002: "[('2024-08-10'), ('2024-08-13'))" + // } + // + // we should normalize the intersect range to closeOpened range to maintain the same format + public final Map intersectPartitionRanges; + + public NormalizedPartitionPredicates( + List remainedPredicates, Map intersectPartitionRanges) { + this.remainedPredicates = remainedPredicates; + this.intersectPartitionRanges = intersectPartitionRanges; + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/Normalizer.java b/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/Normalizer.java new file mode 100644 index 00000000000000..2d76182a451a94 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/Normalizer.java @@ -0,0 +1,40 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// This file is copied from +// https://github.com/apache/impala/blob/branch-2.9.0/fe/src/main/java/org/apache/impala/PlanFragment.java +// and modified by Doris + + +package org.apache.doris.planner.normalize; + +import org.apache.doris.analysis.DescriptorTable; +import org.apache.doris.planner.OlapScanNode; + +/** Normalizer */ +public interface Normalizer { + int normalizeSlotId(int slotId); + + void setSlotIdToNormalizeId(int slotId, int normalizedId); + + int normalizeTupleId(int tupleId); + + int normalizePlanId(int planId); + + DescriptorTable getDescriptorTable(); + + void setNormalizedPartitionPredicates(OlapScanNode olapScanNode, NormalizedPartitionPredicates predicates); +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/PartitionRangePredicateNormalizer.java b/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/PartitionRangePredicateNormalizer.java new file mode 100644 index 00000000000000..eceaf9eddd72ec --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/PartitionRangePredicateNormalizer.java @@ -0,0 +1,220 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// This file is copied from +// https://github.com/apache/impala/blob/branch-2.9.0/fe/src/main/java/org/apache/impala/PlanFragment.java +// and modified by Doris + +package org.apache.doris.planner.normalize; + +import org.apache.doris.analysis.CompoundPredicate; +import org.apache.doris.analysis.CompoundPredicate.Operator; +import org.apache.doris.analysis.Expr; +import org.apache.doris.analysis.SlotDescriptor; +import org.apache.doris.analysis.SlotId; +import org.apache.doris.catalog.Column; +import org.apache.doris.catalog.OlapTable; +import org.apache.doris.catalog.PartitionInfo; +import org.apache.doris.catalog.PartitionKey; +import org.apache.doris.catalog.PartitionType; +import org.apache.doris.catalog.RangePartitionInfo; +import org.apache.doris.common.Pair; +import org.apache.doris.planner.OlapScanNode; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Lists; +import com.google.common.collect.Range; +import com.google.common.collect.RangeSet; +import com.google.common.collect.TreeRangeSet; + +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.stream.Collectors; + +/** PartitionRangePredicateNormalizer */ +public class PartitionRangePredicateNormalizer { + private final Normalizer normalizer; + private final OlapScanNode olapScanNode; + + public PartitionRangePredicateNormalizer(Normalizer normalizer, OlapScanNode olapScanNode) { + this.normalizer = Objects.requireNonNull(normalizer, "normalizer can not be null"); + this.olapScanNode = Objects.requireNonNull(olapScanNode, "olapScanNode can not be null"); + } + + public List normalize() { + NormalizedPartitionPredicates predicates = normalizePredicates(); + normalizer.setNormalizedPartitionPredicates(olapScanNode, predicates); + return predicates.remainedPredicates; + } + + private NormalizedPartitionPredicates normalizePredicates() { + OlapTable olapTable = olapScanNode.getOlapTable(); + List partitionColumns = olapTable.getPartitionColumns(); + + if (partitionColumns.isEmpty()) { + return cannotIntersectPartitionRange(); + } + + if (partitionColumns.size() > 1) { + return cannotIntersectPartitionRange(); + } + + PartitionInfo partitionInfo = olapTable.getPartitionInfo(); + if (partitionInfo.getType() != PartitionType.RANGE) { + return cannotIntersectPartitionRange(); + } + + return normalizeSingleRangePartitionColumnPredicates( + partitionColumns.get(0), (RangePartitionInfo) partitionInfo); + } + + private NormalizedPartitionPredicates normalizeSingleRangePartitionColumnPredicates( + Column partitionColumn, RangePartitionInfo rangePartitionInfo) { + + List>> partitionItemRanges + = rangePartitionInfo.getPartitionItems(olapScanNode.getSelectedPartitionIds()) + .entrySet() + .stream() + .map(entry -> { + RangeSet rangeSet = TreeRangeSet.create(); + rangeSet.add(entry.getValue().getItems()); + return Pair.of(entry.getKey(), rangeSet); + }) + .collect(Collectors.toList()); + + List conjuncts = extractConjuncts(olapScanNode.getConjuncts()); + + ToRangePredicatesExtractor extractor = ToRangePredicatesExtractor.extract( + conjuncts, olapScanNode, partitionColumn); + + PredicateToRange predicateToRange = new PredicateToRange(partitionColumn); + + for (Expr partitionPredicate : extractor.supportedToRangePredicates) { + RangeSet predicateRanges = predicateToRange.exprToRange(partitionPredicate); + partitionItemRanges = partitionItemRanges.stream() + .map(kv -> { + RangeSet partitionRangeSet = kv.second; + RangeSet intersect = TreeRangeSet.create(); + for (Range predicateRange : predicateRanges.asRanges()) { + intersect.addAll(partitionRangeSet.subRangeSet(predicateRange)); + } + return Pair.of(kv.first, intersect); + }).filter(kv -> !kv.second.isEmpty()) + .collect(Collectors.toList()); + } + + Map partitionToIntersectRange = partitionItemRanges.stream() + .map(pair -> Pair.of(pair.first, normalizeRangeSet(pair.second).toString())) + .collect(Collectors.toMap(Pair::key, Pair::value)); + + return new NormalizedPartitionPredicates(extractor.notSupportedToRangePredicates, partitionToIntersectRange); + } + + private RangeSet normalizeRangeSet(RangeSet rangeSet) { + // normalize range to closeOpened range, the between predicate and less than predicate + // maybe reuse the same cache to save memory + RangeSet normalized = TreeRangeSet.create(); + for (Range range : rangeSet.asRanges()) { + PartitionKey lowerEndpoint = range.lowerEndpoint(); + PartitionKey upperEndpoint = range.upperEndpoint(); + + try { + if (!lowerEndpoint.isMinValue() && !range.contains(lowerEndpoint)) { + lowerEndpoint = lowerEndpoint.successor(); + } + if (!upperEndpoint.isMaxValue() && range.contains(upperEndpoint)) { + upperEndpoint = upperEndpoint.successor(); + } + normalized.add(Range.closedOpen(lowerEndpoint, upperEndpoint)); + } catch (Throwable t) { + throw new IllegalStateException("Can not normalize range: " + t.getMessage(), t); + } + } + return normalized; + } + + private NormalizedPartitionPredicates cannotIntersectPartitionRange() { + return new NormalizedPartitionPredicates( + // conjuncts will be used as the part of the digest + olapScanNode.getConjuncts(), + // can not compute intersect range + ImmutableMap.of(olapScanNode.getSelectedPartitionIds().iterator().next(), "") + ); + } + + private List extractConjuncts(List conjuncts) { + List flattenedConjuncts = Lists.newArrayListWithCapacity(conjuncts.size()); + for (Expr conjunct : conjuncts) { + boolean findChildren = true; + conjunct.foreachDown(expr -> { + if (expr instanceof CompoundPredicate && ((CompoundPredicate) expr).getOp() == Operator.AND) { + return findChildren; + } else { + flattenedConjuncts.add((Expr) expr); + return !findChildren; + } + }); + } + return flattenedConjuncts; + } + + private static class ToRangePredicatesExtractor { + public final List supportedToRangePredicates; + public final List notSupportedToRangePredicates; + + private ToRangePredicatesExtractor( + List simplePartitionPredicates, List notSupportedToRangePredicates) { + this.supportedToRangePredicates = simplePartitionPredicates; + this.notSupportedToRangePredicates = notSupportedToRangePredicates; + } + + public static ToRangePredicatesExtractor extract( + List conjuncts, OlapScanNode olapScanNode, Column partitionColumn) { + List supportedPartitionPredicates = Lists.newArrayList(); + List otherPredicates = Lists.newArrayList(); + + Optional optPartitionId = findPartitionColumnSlotId(olapScanNode, partitionColumn); + + for (Expr conjunct : conjuncts) { + if (optPartitionId.isPresent() + && conjunct.isBound(optPartitionId.get()) + && PredicateToRange.supportedToRange(conjunct)) { + supportedPartitionPredicates.add(conjunct); + } else { + otherPredicates.add(conjunct); + } + } + + return new ToRangePredicatesExtractor(supportedPartitionPredicates, otherPredicates); + } + + private static Optional findPartitionColumnSlotId(OlapScanNode olapScanNode, Column partitionColumn) { + if (partitionColumn == null) { + return Optional.empty(); + } + + for (SlotDescriptor slot : olapScanNode.getTupleDesc().getSlots()) { + Column column = slot.getColumn(); + if (column.getName().equalsIgnoreCase(partitionColumn.getName())) { + return Optional.of(slot.getId()); + } + } + return Optional.empty(); + } + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/PredicateToRange.java b/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/PredicateToRange.java new file mode 100644 index 00000000000000..44fee8efb39d5b --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/PredicateToRange.java @@ -0,0 +1,178 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.planner.normalize; + +import org.apache.doris.analysis.BetweenPredicate; +import org.apache.doris.analysis.BinaryPredicate; +import org.apache.doris.analysis.BinaryPredicate.Operator; +import org.apache.doris.analysis.Expr; +import org.apache.doris.analysis.InPredicate; +import org.apache.doris.analysis.LiteralExpr; +import org.apache.doris.analysis.SlotRef; +import org.apache.doris.catalog.Column; +import org.apache.doris.catalog.PartitionKey; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Range; +import com.google.common.collect.RangeSet; +import com.google.common.collect.TreeRangeSet; + +/** PredicateToRange */ +public class PredicateToRange { + private final Column partitionColumn; + private final PartitionKey minKey; + private final PartitionKey maxKey; + + public PredicateToRange(Column partitionColumn) { + this.partitionColumn = partitionColumn; + + try { + minKey = PartitionKey.createInfinityPartitionKey(ImmutableList.of(partitionColumn), false); + maxKey = PartitionKey.createInfinityPartitionKey(ImmutableList.of(partitionColumn), true); + } catch (Throwable t) { + throw new IllegalStateException( + "Can not create min/max partition key by the column: " + partitionColumn, t); + } + } + + /** supportedPartitionPredicate */ + public static boolean supportedToRange(Expr conjunct) { + if (conjunct instanceof BinaryPredicate) { + BinaryPredicate binaryPredicate = (BinaryPredicate) conjunct; + switch (binaryPredicate.getOp()) { + case EQ: + case LT: + case LE: + case GT: + case GE: + case NE: + break; + default: + return false; + } + return conjunct.getChild(0) instanceof SlotRef && conjunct.getChild(1) instanceof LiteralExpr; + } else if (conjunct instanceof BetweenPredicate) { + return conjunct.getChild(0) instanceof SlotRef + && conjunct.getChild(1) instanceof LiteralExpr + && conjunct.getChild(2) instanceof LiteralExpr; + } else if (conjunct instanceof InPredicate) { + if (!(conjunct.getChild(0) instanceof SlotRef)) { + return false; + } + for (int i = 1; i < conjunct.getChildren().size(); i++) { + if (!(conjunct.getChild(i) instanceof LiteralExpr)) { + return false; + } + } + return true; + } else { + return false; + } + } + + /** exprToRange */ + public RangeSet exprToRange(Expr predicate) { + if (predicate instanceof BinaryPredicate) { + return compareToRangeSet((BinaryPredicate) predicate); + } else if (predicate instanceof BetweenPredicate) { + return betweenToRange((BetweenPredicate) predicate); + } else if (predicate instanceof InPredicate) { + return inToRange((InPredicate) predicate); + } else { + throw new IllegalStateException("Unsupported to Range: " + predicate); + } + } + + private RangeSet compareToRangeSet(BinaryPredicate predicate) { + Operator op = predicate.getOp(); + Expr rightChild = predicate.getChild(1); + PartitionKey rightPartitionKey = toPartitionKey(rightChild); + + TreeRangeSet rangeSet = TreeRangeSet.create(); + switch (op) { + case EQ: + rangeSet.add(Range.closed(rightPartitionKey, rightPartitionKey)); + break; + case NE: + rangeSet.add(Range.open(minKey, rightPartitionKey)); + rangeSet.add(Range.open(rightPartitionKey, maxKey)); + break; + case LT: + rangeSet.add(Range.open(minKey, rightPartitionKey)); + break; + case LE: + rangeSet.add(Range.openClosed(minKey, rightPartitionKey)); + break; + case GT: + rangeSet.add(Range.open(rightPartitionKey, maxKey)); + break; + case GE: + rangeSet.add(Range.closedOpen(rightPartitionKey, maxKey)); + break; + default: + } + return rangeSet; + } + + private RangeSet betweenToRange(BetweenPredicate predicate) { + PartitionKey lowerBound = toPartitionKey(predicate.getChild(0)); + PartitionKey upperBound = toPartitionKey(predicate.getChild(1)); + TreeRangeSet rangeSet = TreeRangeSet.create(); + if (predicate.isNotBetween()) { + rangeSet.add(Range.open(minKey, lowerBound)); + rangeSet.add(Range.open(upperBound, maxKey)); + } else { + rangeSet.add(Range.closed(lowerBound, upperBound)); + } + return rangeSet; + } + + private RangeSet inToRange(InPredicate predicate) { + boolean isNotIn = predicate.isNotIn(); + RangeSet rangeSet = TreeRangeSet.create(); + for (Expr item : predicate.getListChildren()) { + PartitionKey itemKey = toPartitionKey(item); + if (isNotIn) { + RangeSet completeRangeSet = TreeRangeSet.create(); + completeRangeSet.add(Range.open(minKey, itemKey)); + completeRangeSet.add(Range.open(itemKey, maxKey)); + + RangeSet intersect = TreeRangeSet.create(); + for (Range completeRange : completeRangeSet.asRanges()) { + intersect.addAll(rangeSet.subRangeSet(completeRange)); + } + rangeSet = intersect; + } else { + rangeSet.add(Range.closed(itemKey, itemKey)); + } + } + + if (isNotIn) { + rangeSet = rangeSet.complement(); + } + return rangeSet; + } + + private PartitionKey toPartitionKey(Expr expr) { + // try to cast to literal, if wrong, query cache will be skipped + LiteralExpr literalExpr = (LiteralExpr) expr; + PartitionKey partitionKey = new PartitionKey(); + partitionKey.pushColumn(literalExpr, partitionColumn.getDataType()); + return partitionKey; + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/QueryCacheNormalizer.java b/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/QueryCacheNormalizer.java new file mode 100644 index 00000000000000..14fa5746fc56fe --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/normalize/QueryCacheNormalizer.java @@ -0,0 +1,230 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// This file is copied from +// https://github.com/apache/impala/blob/branch-2.9.0/fe/src/main/java/org/apache/impala/PlanFragment.java +// and modified by Doris + +package org.apache.doris.planner.normalize; + +import org.apache.doris.analysis.DescriptorTable; +import org.apache.doris.catalog.OlapTable; +import org.apache.doris.catalog.Tablet; +import org.apache.doris.common.Pair; +import org.apache.doris.planner.AggregationNode; +import org.apache.doris.planner.OlapScanNode; +import org.apache.doris.planner.PlanFragment; +import org.apache.doris.planner.PlanNode; +import org.apache.doris.qe.ConnectContext; +import org.apache.doris.thrift.TNormalizedPlanNode; +import org.apache.doris.thrift.TQueryCacheParam; + +import com.google.common.annotations.VisibleForTesting; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Maps; +import org.apache.thrift.TSerializer; +import org.apache.thrift.protocol.TCompactProtocol; + +import java.security.MessageDigest; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +/** QueryCacheNormalizer */ +public class QueryCacheNormalizer implements Normalizer { + private final PlanFragment fragment; + private final DescriptorTable descriptorTable; + private final NormalizedIdGenerator normalizedPlanIds = new NormalizedIdGenerator(); + private final NormalizedIdGenerator normalizedTupleIds = new NormalizedIdGenerator(); + private final NormalizedIdGenerator normalizedSlotIds = new NormalizedIdGenerator(); + + // result + private final TQueryCacheParam queryCacheParam = new TQueryCacheParam(); + + public QueryCacheNormalizer(PlanFragment fragment, DescriptorTable descriptorTable) { + this.fragment = Objects.requireNonNull(fragment, "fragment can not be null"); + this.descriptorTable = Objects.requireNonNull(descriptorTable, "descriptorTable can not be null"); + } + + public Optional normalize(ConnectContext context) { + try { + Optional cachePoint = computeCachePoint(); + if (!cachePoint.isPresent()) { + return Optional.empty(); + } + List normalizedDigestPlans = normalizePlanTree(context, cachePoint.get()); + byte[] digest = computeDigest(normalizedDigestPlans); + return setQueryCacheParam(cachePoint.get(), digest, context); + } catch (Throwable t) { + return Optional.empty(); + } + } + + @VisibleForTesting + public List normalizePlans(ConnectContext context) { + Optional cachePoint = computeCachePoint(); + if (!cachePoint.isPresent()) { + return ImmutableList.of(); + } + return normalizePlanTree(context, cachePoint.get()); + } + + private Optional setQueryCacheParam( + CachePoint cachePoint, byte[] digest, ConnectContext context) { + queryCacheParam.setNodeId(cachePoint.cacheRoot.getId().asInt()); + queryCacheParam.setDigest(digest); + queryCacheParam.setForceRefreshQueryCache(context.getSessionVariable().isQueryCacheForceRefresh()); + queryCacheParam.setEntryMaxBytes(context.getSessionVariable().getQueryCacheEntryMaxBytes()); + queryCacheParam.setEntryMaxRows(context.getSessionVariable().getQueryCacheEntryMaxRows()); + + queryCacheParam.setOutputSlotMapping( + cachePoint.cacheRoot.getOutputTupleIds() + .stream() + .flatMap(tupleId -> descriptorTable.getTupleDesc(tupleId).getSlots().stream()) + .map(slot -> { + int slotId = slot.getId().asInt(); + return Pair.of(slotId, normalizeSlotId(slotId)); + }) + .collect(Collectors.toMap(Pair::key, Pair::value)) + ); + + return Optional.of(queryCacheParam); + } + + private Optional computeCachePoint() { + if (!fragment.getTargetRuntimeFilterIds().isEmpty()) { + return Optional.empty(); + } + PlanNode planRoot = fragment.getPlanRoot(); + return doComputeCachePoint(planRoot); + } + + private Optional doComputeCachePoint(PlanNode planRoot) { + if (planRoot instanceof AggregationNode) { + PlanNode child = planRoot.getChild(0); + if (child instanceof OlapScanNode) { + return Optional.of(new CachePoint(planRoot, planRoot)); + } else if (child instanceof AggregationNode) { + Optional childCachePoint = doComputeCachePoint(child); + if (childCachePoint.isPresent()) { + return Optional.of(new CachePoint(planRoot, planRoot)); + } + } + } + return Optional.empty(); + } + + private List normalizePlanTree(ConnectContext context, CachePoint cachePoint) { + List normalizedPlans = new ArrayList<>(); + doNormalizePlanTree(context, cachePoint.digestRoot, normalizedPlans); + return normalizedPlans; + } + + private void doNormalizePlanTree( + ConnectContext context, PlanNode plan, List normalizedPlans) { + for (PlanNode child : plan.getChildren()) { + doNormalizePlanTree(context, child, normalizedPlans); + } + normalizedPlans.add(plan.normalize(this)); + } + + public static byte[] computeDigest(List normalizedDigestPlans) throws Exception { + TSerializer serializer = new TSerializer(new TCompactProtocol.Factory()); + MessageDigest digest = MessageDigest.getInstance("SHA-256"); + + for (TNormalizedPlanNode node : normalizedDigestPlans) { + digest.update(serializer.serialize(node)); + } + return digest.digest(); + } + + @Override + public int normalizeSlotId(int slotId) { + return normalizedSlotIds.normalize(slotId); + } + + @Override + public void setSlotIdToNormalizeId(int slotId, int normalizedId) { + normalizedSlotIds.set(slotId, normalizedId); + } + + @Override + public int normalizeTupleId(int tupleId) { + return normalizedTupleIds.normalize(tupleId); + } + + @Override + public int normalizePlanId(int planId) { + return normalizedPlanIds.normalize(planId); + } + + @Override + public DescriptorTable getDescriptorTable() { + return descriptorTable; + } + + @Override + public void setNormalizedPartitionPredicates(OlapScanNode olapScanNode, NormalizedPartitionPredicates predicates) { + OlapTable olapTable = olapScanNode.getOlapTable(); + long selectIndexId = olapScanNode.getSelectedIndexId() == -1 + ? olapTable.getBaseIndexId() + : olapScanNode.getSelectedIndexId(); + + Map tabletToRange = Maps.newLinkedHashMap(); + for (Long partitionId : olapScanNode.getSelectedPartitionIds()) { + Set tabletIds = olapTable.getPartition(partitionId) + .getIndex(selectIndexId) + .getTablets() + .stream() + .map(Tablet::getId) + .collect(Collectors.toSet()); + + String filterRange = predicates.intersectPartitionRanges.get(partitionId); + for (Long tabletId : tabletIds) { + tabletToRange.put(tabletId, filterRange); + } + } + queryCacheParam.setTabletToRange(tabletToRange); + } + + private static class CachePoint { + PlanNode digestRoot; + PlanNode cacheRoot; + + public CachePoint(PlanNode digestRoot, PlanNode cacheRoot) { + this.digestRoot = digestRoot; + this.cacheRoot = cacheRoot; + } + } + + private static class NormalizedIdGenerator { + private final AtomicInteger idGenerator = new AtomicInteger(0); + private final Map originIdToNormalizedId = Maps.newLinkedHashMap(); + + public Integer normalize(Integer originId) { + return originIdToNormalizedId.computeIfAbsent(originId, id -> idGenerator.getAndIncrement()); + } + + public void set(int originId, Integer normalizedId) { + originIdToNormalizedId.put(originId, normalizedId); + } + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java index 6be430373687cb..cd597128168299 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java @@ -1891,9 +1891,9 @@ protected void computeFragmentHosts() throws Exception { boolean forceToLocalShuffle = context != null && context.getSessionVariable().isForceToLocalShuffle() && !fragment.hasNullAwareLeftAntiJoin() && useNereids; - boolean ignoreStorageDataDistribution = forceToLocalShuffle || (node.isPresent() + boolean ignoreStorageDataDistribution = (forceToLocalShuffle || (node.isPresent() && node.get().ignoreStorageDataDistribution(context, addressToBackendID.size()) - && useNereids); + && useNereids)) && fragment.queryCacheParam == null; if (node.isPresent() && ignoreStorageDataDistribution) { expectedInstanceNum = Math.max(expectedInstanceNum, 1); // if have limit and no conjuncts, only need 1 instance to save cpu and @@ -1914,6 +1914,9 @@ protected void computeFragmentHosts() throws Exception { if (node.get().shouldUseOneInstance(context)) { expectedInstanceNum = 1; } + if (fragment.queryCacheParam != null) { + expectedInstanceNum = perNodeScanRanges.size(); + } perInstanceScanRanges = ListUtil.splitBySize(perNodeScanRanges, expectedInstanceNum); @@ -2740,12 +2743,12 @@ private void assignScanRanges(PlanFragmentId fragmentId, int parallelExecInstanc */ boolean forceToLocalShuffle = context != null && context.getSessionVariable().isForceToLocalShuffle() && !hasNullAwareLeftAntiJoin && useNereids; - boolean ignoreStorageDataDistribution = forceToLocalShuffle || (scanNodes.stream() + boolean ignoreStorageDataDistribution = (forceToLocalShuffle || (scanNodes.stream() .allMatch(node -> node.ignoreStorageDataDistribution(context, addressToBackendID.size())) && addressToScanRanges.entrySet().stream().allMatch(addressScanRange -> { return addressScanRange.getValue().size() < parallelExecInstanceNum; - }) && useNereids); + }) && useNereids)) && params.fragment.queryCacheParam == null; FragmentScanRangeAssignment assignment = params.scanRangeAssignment; for (Map.Entry>>>> addressScanRange @@ -3109,6 +3112,7 @@ Map toThrift(int backendNum) { Map res = new HashMap(); Map instanceIdx = new HashMap(); TPlanFragment fragmentThrift = fragment.toThrift(); + fragmentThrift.query_cache_param = fragment.queryCacheParam; for (int i = 0; i < instanceExecParams.size(); ++i) { final FInstanceExecParam instanceExecParam = instanceExecParams.get(i); Map> scanRanges = instanceExecParam.perNodeScanRanges; diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java index c1d3c7a3efb0ee..8db24006293249 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java @@ -150,6 +150,10 @@ public class SessionVariable implements Serializable, Writable { public static final String ENABLE_REWRITE_ELEMENT_AT_TO_SLOT = "enable_rewrite_element_at_to_slot"; public static final String ENABLE_ODBC_TRANSCATION = "enable_odbc_transcation"; public static final String ENABLE_SQL_CACHE = "enable_sql_cache"; + public static final String ENABLE_QUERY_CACHE = "enable_query_cache"; + public static final String QUERY_CACHE_FORCE_REFRESH = "query_cache_force_refresh"; + public static final String QUERY_CACHE_ENTRY_MAX_BYTES = "query_cache_entry_max_bytes"; + public static final String QUERY_CACHE_ENTRY_MAX_ROWS = "query_cache_entry_max_rows"; public static final String ENABLE_COST_BASED_JOIN_REORDER = "enable_cost_based_join_reorder"; @@ -944,6 +948,18 @@ public class SessionVariable implements Serializable, Writable { @VariableMgr.VarAttr(name = ENABLE_SQL_CACHE) public boolean enableSqlCache = false; + @VariableMgr.VarAttr(name = ENABLE_QUERY_CACHE) + public boolean enableQueryCache = false; + + @VarAttr(name = QUERY_CACHE_FORCE_REFRESH) + private boolean queryCacheForceRefresh = false; + + @VarAttr(name = QUERY_CACHE_ENTRY_MAX_BYTES) + private long queryCacheEntryMaxBytes = 5242880; + + @VarAttr(name = QUERY_CACHE_ENTRY_MAX_ROWS) + private long queryCacheEntryMaxRows = 500000; + @VariableMgr.VarAttr(name = FORWARD_TO_MASTER) public boolean forwardToMaster = true; @@ -2820,6 +2836,38 @@ public void setEnableSqlCache(boolean enableSqlCache) { this.enableSqlCache = enableSqlCache; } + public boolean getEnableQueryCache() { + return enableQueryCache; + } + + public void setEnableQueryCache(boolean enableQueryCache) { + this.enableQueryCache = enableQueryCache; + } + + public boolean isQueryCacheForceRefresh() { + return queryCacheForceRefresh; + } + + public void setQueryCacheForceRefresh(boolean queryCacheForceRefresh) { + this.queryCacheForceRefresh = queryCacheForceRefresh; + } + + public long getQueryCacheEntryMaxBytes() { + return queryCacheEntryMaxBytes; + } + + public void setQueryCacheEntryMaxBytes(long queryCacheEntryMaxBytes) { + this.queryCacheEntryMaxBytes = queryCacheEntryMaxBytes; + } + + public long getQueryCacheEntryMaxRows() { + return queryCacheEntryMaxRows; + } + + public void setQueryCacheEntryMaxRows(long queryCacheEntryMaxRows) { + this.queryCacheEntryMaxRows = queryCacheEntryMaxRows; + } + public int getPartitionedHashJoinRowsThreshold() { return partitionedHashJoinRowsThreshold; } diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/QueryCacheNormalizerTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/QueryCacheNormalizerTest.java new file mode 100644 index 00000000000000..829d1b0d1e507c --- /dev/null +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/QueryCacheNormalizerTest.java @@ -0,0 +1,515 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.planner; + +import org.apache.doris.analysis.DescriptorTable; +import org.apache.doris.planner.normalize.QueryCacheNormalizer; +import org.apache.doris.thrift.TNormalizedPlanNode; +import org.apache.doris.thrift.TQueryCacheParam; +import org.apache.doris.thrift.TRuntimeFilterMode; +import org.apache.doris.thrift.TRuntimeFilterType; +import org.apache.doris.utframe.TestWithFeService; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +public class QueryCacheNormalizerTest extends TestWithFeService { + private static final Logger LOG = LogManager.getLogger(QueryCacheNormalizerTest.class); + + @Override + protected void runBeforeAll() throws Exception { + connectContext.getSessionVariable().setEnableNereidsPlanner(true); + + // Create database `db1`. + createDatabase("db1"); + + useDatabase("db1"); + + // Create tables. + String nonPart = "create table db1.non_part(" + + " k1 varchar(32),\n" + + " k2 varchar(32),\n" + + " k3 varchar(32),\n" + + " v1 int,\n" + + " v2 int)\n" + + "DUPLICATE KEY(k1, k2, k3)\n" + + "distributed by hash(k1) buckets 3\n" + + "properties('replication_num' = '1')"; + + String part1 = "create table db1.part1(" + + " dt date,\n" + + " k1 varchar(32),\n" + + " k2 varchar(32),\n" + + " k3 varchar(32),\n" + + " v1 int,\n" + + " v2 int)\n" + + "DUPLICATE KEY(dt, k1, k2, k3)\n" + + "PARTITION BY RANGE(dt)\n" + + "(\n" + + " PARTITION p202403 VALUES [('2024-03-01'), ('2024-04-01')),\n" + + " PARTITION p202404 VALUES [('2024-04-01'), ('2024-05-01')),\n" + + " PARTITION p202405 VALUES [('2024-05-01'), ('2024-06-01'))\n" + + ")\n" + + "distributed by hash(k1) buckets 3\n" + + "properties('replication_num' = '1')"; + + String part2 = "create table db1.part2(" + + " dt date,\n" + + " k1 varchar(32),\n" + + " k2 varchar(32),\n" + + " k3 varchar(32),\n" + + " v1 int,\n" + + " v2 int)\n" + + "DUPLICATE KEY(dt, k1, k2, k3)\n" + + "PARTITION BY RANGE(dt)\n" + + "(\n" + + " PARTITION p202403 VALUES [('2024-03-01'), ('2024-04-01')),\n" + + " PARTITION p202404 VALUES [('2024-04-01'), ('2024-05-01')),\n" + + " PARTITION p202405 VALUES [('2024-05-01'), ('2024-06-01'))\n" + + ")\n" + + "distributed by hash(k1) buckets 3\n" + + "properties('replication_num' = '1')"; + + String multiLeveParts = "create table db1.multi_level_parts(" + + " k1 int,\n" + + " dt date,\n" + + " hour int,\n" + + " v1 int,\n" + + " v2 int)\n" + + "DUPLICATE KEY(k1)\n" + + "PARTITION BY RANGE(dt, hour)\n" + + "(\n" + + " PARTITION p202403 VALUES [('2024-03-01', '0'), ('2024-03-01', '1')),\n" + + " PARTITION p202404 VALUES [('2024-03-01', '1'), ('2024-03-01', '2')),\n" + + " PARTITION p202405 VALUES [('2024-03-01', '2'), ('2024-03-01', '3'))\n" + + ")\n" + + "distributed by hash(k1) buckets 3\n" + + "properties('replication_num' = '1')"; + + createTables(nonPart, part1, part2, multiLeveParts); + + connectContext.getSessionVariable().setEnableNereidsPlanner(true); + connectContext.getSessionVariable().setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); + } + + @Test + public void testNormalize() throws Exception { + String digest1 = getDigest("select k1 as k, sum(v1) as v from db1.non_part group by 1"); + String digest2 = getDigest("select sum(v1) as v1, k1 as k from db1.non_part group by 2"); + Assertions.assertEquals(64, digest1.length()); + Assertions.assertEquals(digest1, digest2); + + String digest3 = getDigest("select k1 as k, sum(v1) as v from db1.non_part where v1 between 1 and 10 group by 1"); + Assertions.assertNotEquals(digest1, digest3); + + String digest4 = getDigest("select k1 as k, sum(v1) as v from db1.non_part where v1 >= 1 and v1 <= 10 group by 1"); + Assertions.assertEquals(digest3, digest4); + Assertions.assertEquals(64, digest3.length()); + + String digest5 = getDigest("select k1 as k, sum(v1) as v from db1.non_part where v1 >= 1 and v1 < 11 group by 1"); + Assertions.assertNotEquals(digest3, digest5); + Assertions.assertEquals(64, digest5.length()); + } + + @Test + public void testProjectOnOlapScan() throws Exception { + String digest1 = getDigest("select k1 + 1, k2, sum(v1), sum(v2) as v from db1.non_part group by 1, 2"); + String digest2 = getDigest("select sum(v2), k2, sum(v1), k1 + 1 from db1.non_part group by 2, 4"); + Assertions.assertEquals(digest1, digest2); + Assertions.assertEquals(64, digest1.length()); + + String digest3 = getDigest("select k1 + 1, k2, sum(v1 + 1), sum(v2) as v from db1.non_part group by 1, 2"); + Assertions.assertNotEquals(digest1, digest3); + Assertions.assertEquals(64, digest3.length()); + } + + @Test + public void testProjectOnAggregate() throws Exception { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION,TWO_PHASE_AGGREGATE_WITHOUT_DISTINCT"); + try { + String digest1 = getDigest( + "select k1 + 1, k2 + 2, sum(v1) + 3, sum(v2) + 4 as v from db1.non_part group by k1, k2" + ); + String digest2 = getDigest( + "select sum(v2) + 4, k2 + 2, sum(v1) + 3, k1 + 1 as v from db1.non_part group by k2, k1" + ); + Assertions.assertEquals(digest1, digest2); + Assertions.assertEquals(64, digest1.length()); + } finally { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); + } + } + + @Test + public void testPartitionTable() throws Throwable { + TQueryCacheParam queryCacheParam1 = getQueryCacheParam( + "select k1 as k, sum(v1) as v from db1.part1 group by 1"); + TQueryCacheParam queryCacheParam2 = getQueryCacheParam( + "select k1 as k, sum(v1) as v from db1.part1 where dt < '2025-01-01' group by 1"); + Assertions.assertEquals(queryCacheParam1.digest, queryCacheParam2.digest); + Assertions.assertEquals(32, queryCacheParam1.digest.remaining()); + Assertions.assertEquals(queryCacheParam1.tablet_to_range, queryCacheParam2.tablet_to_range); + + TQueryCacheParam queryCacheParam3 = getQueryCacheParam( + "select k1 as k, sum(v1) as v from db1.part1 where dt < '2024-05-20' group by 1"); + Assertions.assertEquals(queryCacheParam1.digest, queryCacheParam3.digest); + Assertions.assertNotEquals( + Lists.newArrayList(queryCacheParam1.tablet_to_range.values()), + Lists.newArrayList(queryCacheParam3.tablet_to_range.values()) + ); + Assertions.assertEquals(32, queryCacheParam3.digest.remaining()); + + TQueryCacheParam queryCacheParam4 = getQueryCacheParam( + "select k1 as k, sum(v1) as v from db1.part1 where dt < '2024-04-20' group by 1"); + Assertions.assertEquals(queryCacheParam1.digest, queryCacheParam4.digest); + Assertions.assertNotEquals( + Lists.newArrayList(queryCacheParam1.tablet_to_range.values()), + Lists.newArrayList(queryCacheParam4.tablet_to_range.values()) + ); + Assertions.assertEquals(32, queryCacheParam4.digest.remaining()); + } + + @Test + public void testMultiLevelPartitionTable() throws Throwable { + List queryCacheParams = normalize( + "select k1, sum(v1) as v from db1.multi_level_parts group by 1"); + Assertions.assertEquals(1, queryCacheParams.size()); + } + + @Test + public void testHaving() throws Throwable { + List normalizedPlanNodes = onePhaseAggWithoutDistinct(() -> normalizePlans( + "select k1, sum(v1) as v from db1.part1 where dt='2024-05-01' group by 1 having v > 10")); + Assertions.assertEquals(2, normalizedPlanNodes.size()); + Assertions.assertTrue( + normalizedPlanNodes.get(0).getOlapScanNode() != null + && CollectionUtils.isEmpty(normalizedPlanNodes.get(0).getConjuncts()) + ); + Assertions.assertTrue( + normalizedPlanNodes.get(1).getAggregationNode() != null + && !CollectionUtils.isEmpty(normalizedPlanNodes.get(1).getConjuncts()) + ); + } + + @Test + public void testRuntimeFilter() throws Throwable { + connectContext.getSessionVariable().setRuntimeFilterMode(TRuntimeFilterMode.GLOBAL.toString()); + connectContext.getSessionVariable().setRuntimeFilterType(TRuntimeFilterType.IN_OR_BLOOM.getValue()); + List queryCacheParams = normalize( + "select * from (select k1, count(*) from db1.part1 where k1 < 15 group by k1)a\n" + + "join (select k1, count(*) from db1.part1 where k1 < 10 group by k1)b\n" + + "on a.k1 = b.k1"); + + // only non target side can use query cache + Assertions.assertEquals(1, queryCacheParams.size()); + } + + @Test + public void testSelectFromWhereNoGroupBy() throws Throwable { + List plans1 = normalizePlans("select sum(v1) from db1.part1"); + List plans2 = normalizePlans("select sum(v1) as v from db1.part1"); + Assertions.assertEquals(plans1, plans2); + + List plans3 = normalizePlans("select sum(v1) from db1.part1 where dt < '2025-01-01'"); + Assertions.assertEquals(plans1, plans3); + + List plans4 = normalizePlans("select sum(v1) from db1.part1 where dt < '2024-05-01'"); + Assertions.assertEquals(plans1, plans4); + + TQueryCacheParam queryCacheParam1 = getQueryCacheParam("select sum(v1) from db1.part1"); + TQueryCacheParam queryCacheParam2 = getQueryCacheParam("select sum(v1) from db1.part1 where dt <= '2024-04-20'"); + Assertions.assertEquals(queryCacheParam1.digest, queryCacheParam2.digest); + Assertions.assertEquals(32, queryCacheParam1.digest.remaining()); + Assertions.assertNotEquals( + Lists.newArrayList(queryCacheParam1.tablet_to_range.values()), + Lists.newArrayList(queryCacheParam2.tablet_to_range.values()) + ); + + Assertions.assertEquals( + queryCacheParam1.tablet_to_range.values().stream().sorted().collect(Collectors.toList()), + ImmutableList.of( + "[[types: [DATEV2]; keys: [2024-03-01]; ..types: [DATEV2]; keys: [2024-04-01]; )]", + "[[types: [DATEV2]; keys: [2024-03-01]; ..types: [DATEV2]; keys: [2024-04-01]; )]", + "[[types: [DATEV2]; keys: [2024-03-01]; ..types: [DATEV2]; keys: [2024-04-01]; )]", + "[[types: [DATEV2]; keys: [2024-04-01]; ..types: [DATEV2]; keys: [2024-05-01]; )]", + "[[types: [DATEV2]; keys: [2024-04-01]; ..types: [DATEV2]; keys: [2024-05-01]; )]", + "[[types: [DATEV2]; keys: [2024-04-01]; ..types: [DATEV2]; keys: [2024-05-01]; )]", + "[[types: [DATEV2]; keys: [2024-05-01]; ..types: [DATEV2]; keys: [2024-06-01]; )]", + "[[types: [DATEV2]; keys: [2024-05-01]; ..types: [DATEV2]; keys: [2024-06-01]; )]", + "[[types: [DATEV2]; keys: [2024-05-01]; ..types: [DATEV2]; keys: [2024-06-01]; )]" + ) + ); + + Assertions.assertEquals( + queryCacheParam2.tablet_to_range.values().stream().sorted().collect(Collectors.toList()), + ImmutableList.of( + "[[types: [DATEV2]; keys: [2024-03-01]; ..types: [DATEV2]; keys: [2024-04-01]; )]", + "[[types: [DATEV2]; keys: [2024-03-01]; ..types: [DATEV2]; keys: [2024-04-01]; )]", + "[[types: [DATEV2]; keys: [2024-03-01]; ..types: [DATEV2]; keys: [2024-04-01]; )]", + "[[types: [DATEV2]; keys: [2024-04-01]; ..types: [DATEV2]; keys: [2024-04-21]; )]", + "[[types: [DATEV2]; keys: [2024-04-01]; ..types: [DATEV2]; keys: [2024-04-21]; )]", + "[[types: [DATEV2]; keys: [2024-04-01]; ..types: [DATEV2]; keys: [2024-04-21]; )]" + ) + ); + + TQueryCacheParam queryCacheParam3 = getQueryCacheParam( + "select sum(v1), sum(v1 + 1), sum(v2), sum(v2 + 2) + 2 from db1.part1" + ); + TQueryCacheParam queryCacheParam4 = getQueryCacheParam( + "select sum(v2 + 2) + 2, sum(v2), sum(v1 + 1), sum(v1) from db1.part1" + ); + Assertions.assertEquals(queryCacheParam3.digest, queryCacheParam4.digest); + Assertions.assertEquals(32, queryCacheParam3.digest.remaining()); + Assertions.assertEquals(queryCacheParam3.tablet_to_range, queryCacheParam4.tablet_to_range); + + TQueryCacheParam queryCacheParam5 = getQueryCacheParam( + "select sum(v1) from db1.part1 where dt between '2024-04-15' and '2024-04-20' and k1 = 1" + ); + TQueryCacheParam queryCacheParam6 = getQueryCacheParam( + "select sum(v1) from db1.part1 where dt between '2024-04-15' and '2024-04-20' and k1 = 2" + ); + Assertions.assertNotEquals(queryCacheParam5.digest, queryCacheParam6.digest); + Assertions.assertEquals(32, queryCacheParam5.digest.remaining()); + Assertions.assertEquals(32, queryCacheParam6.digest.remaining()); + Assertions.assertEquals(queryCacheParam5.tablet_to_range, queryCacheParam6.tablet_to_range); + } + + @Test + public void testSelectFromGroupBy() { + twoPhaseAggWithoutDistinct(() -> { + TQueryCacheParam queryCacheParam1 = getQueryCacheParam("select k1, sum(v1) from db1.part1 group by k1"); + TQueryCacheParam queryCacheParam2 = getQueryCacheParam("select k1, sum(v1) from db1.part1 group by k1 limit 10"); + Assertions.assertNotEquals(queryCacheParam1.digest, queryCacheParam2.digest); + Assertions.assertEquals(32, queryCacheParam1.digest.remaining()); + Assertions.assertEquals(32, queryCacheParam2.digest.remaining()); + + TQueryCacheParam queryCacheParam3 = getQueryCacheParam("select sum(v1), k1 from db1.part1 group by k1"); + Assertions.assertEquals(queryCacheParam1.digest, queryCacheParam3.digest); + Assertions.assertEquals( + Lists.newArrayList(queryCacheParam1.tablet_to_range.values()), + Lists.newArrayList(queryCacheParam3.tablet_to_range.values()) + ); + + List plans1 = normalizePlans("select k1, sum(v1) from db1.part1 group by k1"); + List plans2 = normalizePlans( + "select sum(v1), k1 from db1.part1 where dt between '2024-04-10' and '2024-05-06' group by k1"); + Assertions.assertEquals(plans1, plans2); + }); + } + + @Test + public void phasesAgg() { + List onePhaseAggPlans = onePhaseAggWithoutDistinct(() -> normalizePlans( + "select sum(v1), k1 from db1.part1 where dt = '2024-04-10' group by k1")); + List onePhaseAggPlans2 = onePhaseAggWithoutDistinct(() -> normalizePlans( + "select k1, sum(v1) from db1.part1 where dt = '2024-04-10' group by k1")); + Assertions.assertEquals(onePhaseAggPlans, onePhaseAggPlans2); + + List twoPhaseAggPlans = twoPhaseAggWithoutDistinct(() -> normalizePlans( + "select sum(v1), k1 from db1.part1 where dt = '2024-04-10' group by k1")); + Assertions.assertNotEquals(onePhaseAggPlans, twoPhaseAggPlans); + } + + @Test + public void phasesDistinctAgg() { + List noDistinctPlans = onePhaseAggWithoutDistinct(() -> normalizePlans( + "select k1 from db1.part1 where dt = '2024-04-10' group by k1")); + List onePhaseAggPlans = onePhaseAggWithDistinct(() -> normalizePlans( + "select distinct k1 from db1.part1 where dt = '2024-04-10'")); + Assertions.assertEquals(noDistinctPlans, onePhaseAggPlans); + List twoPhaseAggPlans = twoPhaseAggWithDistinct(() -> normalizePlans( + "select distinct k1 from db1.part1 where dt = '2024-04-10'")); + Assertions.assertEquals(onePhaseAggPlans, twoPhaseAggPlans); + + List threePhaseAggPlans = threePhaseAggWithDistinct(() -> normalizePlans( + "select sum(distinct v1), k1 from db1.part1 where dt = '2024-04-10' group by k1")); + List fourPhaseAggPlans = fourPhaseAggWithDistinct(() -> normalizePlans( + "select sum(distinct v1), k1 from db1.part1 where dt = '2024-04-10' group by k1")); + Assertions.assertNotEquals(fourPhaseAggPlans, threePhaseAggPlans); + } + + private String getDigest(String sql) throws Exception { + return Hex.encodeHexString(getQueryCacheParam(sql).digest); + } + + private TQueryCacheParam getQueryCacheParam(String sql) throws Exception { + List queryCaches = normalize(sql); + Assertions.assertEquals(1, queryCaches.size()); + return queryCaches.get(0); + } + + private List normalize(String sql) throws Exception { + Planner planner = getSqlStmtExecutor(sql).planner(); + DescriptorTable descTable = planner.getDescTable(); + List fragments = planner.getFragments(); + List queryCacheParams = new ArrayList<>(); + for (PlanFragment fragment : fragments) { + QueryCacheNormalizer normalizer = new QueryCacheNormalizer(fragment, descTable); + Optional queryCacheParam = normalizer.normalize(connectContext); + if (queryCacheParam.isPresent()) { + queryCacheParams.add(queryCacheParam.get()); + } + } + return queryCacheParams; + } + + private List normalizePlans(String sql) throws Exception { + Planner planner = getSqlStmtExecutor(sql).planner(); + DescriptorTable descTable = planner.getDescTable(); + List fragments = planner.getFragments(); + List normalizedPlans = new ArrayList<>(); + for (PlanFragment fragment : fragments) { + QueryCacheNormalizer normalizer = new QueryCacheNormalizer(fragment, descTable); + normalizedPlans.addAll(normalizer.normalizePlans(connectContext)); + } + return normalizedPlans; + } + + private void onePhaseAggWithoutDistinct(Callback callback) { + onePhaseAggWithoutDistinct(() -> { + callback.run(); + return null; + }); + } + + private T onePhaseAggWithDistinct(ResultCallback callback) { + try { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION," + + "TWO_PHASE_AGGREGATE_WITH_DISTINCT," + + "THREE_PHASE_AGGREGATE_WITH_DISTINCT," + + "FOUR_PHASE_AGGREGATE_WITH_DISTINCT," + + "FOUR_PHASE_AGGREGATE_WITH_DISTINCT_WITH_FULL_DISTRIBUTE," + + "TWO_PHASE_AGGREGATE_SINGLE_DISTINCT_TO_MULTI"); + return callback.run(); + } catch (Throwable e) { + throw new RuntimeException(e); + } finally { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); + } + } + + private T twoPhaseAggWithDistinct(ResultCallback callback) { + try { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION," + + "ONE_PHASE_AGGREGATE_SINGLE_DISTINCT_TO_MULTI," + + "THREE_PHASE_AGGREGATE_WITH_DISTINCT," + + "FOUR_PHASE_AGGREGATE_WITH_DISTINCT," + + "FOUR_PHASE_AGGREGATE_WITH_DISTINCT_WITH_FULL_DISTRIBUTE," + + "ONE_PHASE_AGGREGATE_SINGLE_DISTINCT_TO_MULTI"); + return callback.run(); + } catch (Throwable e) { + throw new RuntimeException(e); + } finally { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); + } + } + + private T threePhaseAggWithDistinct(ResultCallback callback) { + try { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION," + + "ONE_PHASE_AGGREGATE_SINGLE_DISTINCT_TO_MULTI," + + "FOUR_PHASE_AGGREGATE_WITH_DISTINCT," + + "FOUR_PHASE_AGGREGATE_WITH_DISTINCT_WITH_FULL_DISTRIBUTE," + + "ONE_PHASE_AGGREGATE_SINGLE_DISTINCT_TO_MULTI," + + "TWO_PHASE_AGGREGATE_SINGLE_DISTINCT_TO_MULTI"); + return callback.run(); + } catch (Throwable e) { + throw new RuntimeException(e); + } finally { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); + } + } + + private T fourPhaseAggWithDistinct(ResultCallback callback) { + try { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION," + + "ONE_PHASE_AGGREGATE_SINGLE_DISTINCT_TO_MULTI," + + "THREE_PHASE_AGGREGATE_WITH_DISTINCT," + + "ONE_PHASE_AGGREGATE_SINGLE_DISTINCT_TO_MULTI," + + "TWO_PHASE_AGGREGATE_SINGLE_DISTINCT_TO_MULTI"); + return callback.run(); + } catch (Throwable e) { + throw new RuntimeException(e); + } finally { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); + } + } + + + private T onePhaseAggWithoutDistinct(ResultCallback callback) { + try { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION,TWO_PHASE_AGGREGATE_WITHOUT_DISTINCT"); + return callback.run(); + } catch (Throwable e) { + throw new RuntimeException(e); + } finally { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); + } + } + + private void twoPhaseAggWithoutDistinct(Callback callback) { + twoPhaseAggWithoutDistinct(() -> { + callback.run(); + return null; + }); + } + + private T twoPhaseAggWithoutDistinct(ResultCallback callback) { + try { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION,ONE_PHASE_AGGREGATE_WITHOUT_DISTINCT"); + return callback.run(); + } catch (Throwable e) { + throw new RuntimeException(e); + } finally { + connectContext.getSessionVariable() + .setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); + } + } + + private interface Callback { + void run() throws Throwable; + } + + private interface ResultCallback { + T run() throws Throwable; + } +} diff --git a/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java b/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java index 510b2ba00eb159..407c1544a4b00b 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java +++ b/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java @@ -605,6 +605,7 @@ public StmtExecutor getSqlStmtExecutor(String queryStr) throws Exception { && connectContext.getState().getErrorCode() == null) { return stmtExecutor; } else { + // throw new IllegalStateException(connectContext.getState().getErrorMessage()); return null; } } diff --git a/gensrc/thrift/Normalization.thrift b/gensrc/thrift/Normalization.thrift new file mode 100644 index 00000000000000..1eedfef6fbee97 --- /dev/null +++ b/gensrc/thrift/Normalization.thrift @@ -0,0 +1,61 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +namespace java org.apache.doris.thrift + +include "Exprs.thrift" +include "Types.thrift" +include "Opcodes.thrift" +include "Descriptors.thrift" +include "Partitions.thrift" +include "PlanNodes.thrift" + +struct TNormalizedOlapScanNode { + 1: optional i64 table_id + 2: optional i64 index_id + 3: optional bool is_preaggregation + 4: optional list key_column_names + 5: optional list key_column_types + 6: optional string rollup_name + 7: optional string sort_column + 8: optional list select_columns +} + +struct TNormalizedAggregateNode { + 1: optional list grouping_exprs + 2: optional list aggregate_functions + 3: optional Types.TTupleId intermediate_tuple_id + 4: optional Types.TTupleId output_tuple_id + 5: optional bool is_finalize + 6: optional bool use_streaming_preaggregation + 7: optional list projectToAggIntermediateTuple + 8: optional list projectToAggOutputTuple +} + +struct TNormalizedPlanNode { + 1: optional Types.TPlanNodeId node_id + 2: optional PlanNodes.TPlanNodeType node_type + 3: optional i32 num_children + 5: optional set tuple_ids + 6: optional set nullable_tuples + 7: optional list conjuncts + 8: optional list projects + 9: optional i64 limit + + 10: optional TNormalizedOlapScanNode olap_scan_node + 11: optional TNormalizedAggregateNode aggregation_node +} \ No newline at end of file diff --git a/gensrc/thrift/Planner.thrift b/gensrc/thrift/Planner.thrift index 08205b9399e5af..866d8d45320243 100644 --- a/gensrc/thrift/Planner.thrift +++ b/gensrc/thrift/Planner.thrift @@ -23,6 +23,7 @@ include "Exprs.thrift" include "DataSinks.thrift" include "PlanNodes.thrift" include "Partitions.thrift" +include "QueryCache.thrift" // TPlanFragment encapsulates info needed to execute a particular // plan fragment, including how to produce and how to partition its output. @@ -61,6 +62,8 @@ struct TPlanFragment { // sink) in a single instance of this fragment. This is used for an optimization in // InitialReservation. Measured in bytes. required in V1 8: optional i64 initial_reservation_total_claims + + 9: optional QueryCache.TQueryCacheParam query_cache_param } // location information for a single scan range @@ -79,4 +82,4 @@ struct TScanRangeLocations { 1: required PlanNodes.TScanRange scan_range // non-empty list 2: list locations -} +} \ No newline at end of file diff --git a/gensrc/thrift/QueryCache.thrift b/gensrc/thrift/QueryCache.thrift new file mode 100644 index 00000000000000..048b27f4572dd1 --- /dev/null +++ b/gensrc/thrift/QueryCache.thrift @@ -0,0 +1,53 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +namespace cpp doris +namespace java org.apache.doris.thrift + +struct TQueryCacheParam { + 1: optional i32 node_id + + 2: optional binary digest + + // the query slots order can different to the query cache slots order, + // so we should mapping current slot id in planNode to normalized slot id + // say: + // SQL1: select id, count(*) cnt, sum(value) s from tbl group by id + // SQL2: select sum(value) s, count(*) cnt, id from tbl group by id + // the id always has normalized slot id 0, + // the cnt always has normalized slot id 1 + // the s always has normalized slot id 2 + // but in SQL1, id, cnt, s can has slot id 5, 6, 7 + // in SQL2, s, cnt, id can has slot id 10, 11, 12 + // if generate plan cache in SQL1, we will make output_slot_mapping: {5: 0, 6: 1, 7: 2}, + // the SQL2 read plan cache and make output_slot_mapping: {10: 2, 11: 1, 12: 0}, + // even the select order is different, the normalized slot id is always equals: + // the id always is 0, the cnt always is 1, the s always is 2. + // then backend can mapping the current slots in the tuple to the query cached slots + 3: optional map output_slot_mapping + + // mapping tablet to filter range, + // BE will use as the key to search query cache. + // note that, BE not care what the filter range content is, just use as the part of the key. + 4: optional map tablet_to_range + + 5: optional bool force_refresh_query_cache + + 6: optional i64 entry_max_bytes + + 7: optional i64 entry_max_rows +} \ No newline at end of file From 2baed5ca315c8c90db6313f969b1e641a896198c Mon Sep 17 00:00:00 2001 From: camby Date: Thu, 5 Sep 2024 18:35:43 +0800 Subject: [PATCH 066/199] [feature](aes_encrypt) support GCM mode for aes_encrypt and aes_decrypt (#40004) --- be/src/util/encryption_util.cpp | 180 ++++++++++++++---- be/src/util/encryption_util.h | 17 +- be/src/vec/functions/function_encryption.cpp | 106 +++++++---- .../functions/scalar/AesCryptoFunction.java | 25 ++- .../functions/scalar/AesDecrypt.java | 22 ++- .../functions/scalar/AesEncrypt.java | 22 ++- gensrc/script/doris_builtins_functions.py | 4 + .../test_encryption_function.out | 26 +++ .../test_encryption_function.groovy | 32 ++++ 9 files changed, 357 insertions(+), 77 deletions(-) diff --git a/be/src/util/encryption_util.cpp b/be/src/util/encryption_util.cpp index ab1ff3e857cab5..bf6777a5c8819c 100644 --- a/be/src/util/encryption_util.cpp +++ b/be/src/util/encryption_util.cpp @@ -25,6 +25,7 @@ #include #include #include +#include namespace doris { @@ -80,6 +81,12 @@ const EVP_CIPHER* get_evp_type(const EncryptionMode mode) { return EVP_aes_256_ctr(); case EncryptionMode::AES_256_OFB: return EVP_aes_256_ofb(); + case EncryptionMode::AES_128_GCM: + return EVP_aes_128_gcm(); + case EncryptionMode::AES_192_GCM: + return EVP_aes_192_gcm(); + case EncryptionMode::AES_256_GCM: + return EVP_aes_256_gcm(); case EncryptionMode::SM4_128_CBC: return EVP_sm4_cbc(); case EncryptionMode::SM4_128_ECB: @@ -95,41 +102,29 @@ const EVP_CIPHER* get_evp_type(const EncryptionMode mode) { } } -static uint mode_key_sizes[] = { - 128 /* AES_128_ECB */, - 192 /* AES_192_ECB */, - 256 /* AES_256_ECB */, - 128 /* AES_128_CBC */, - 192 /* AES_192_CBC */, - 256 /* AES_256_CBC */, - 128 /* AES_128_CFB */, - 192 /* AES_192_CFB */, - 256 /* AES_256_CFB */, - 128 /* AES_128_CFB1 */, - 192 /* AES_192_CFB1 */, - 256 /* AES_256_CFB1 */, - 128 /* AES_128_CFB8 */, - 192 /* AES_192_CFB8 */, - 256 /* AES_256_CFB8 */, - 128 /* AES_128_CFB128 */, - 192 /* AES_192_CFB128 */, - 256 /* AES_256_CFB128 */, - 128 /* AES_128_CTR */, - 192 /* AES_192_CTR */, - 256 /* AES_256_CTR */, - 128 /* AES_128_OFB */, - 192 /* AES_192_OFB */, - 256 /* AES_256_OFB */, - 128 /* SM4_128_ECB */, - 128 /* SM4_128_CBC */, - 128 /* SM4_128_CFB128 */, - 128 /* SM4_128_OFB */, - 128 /* SM4_128_CTR */ -}; +static std::unordered_map mode_key_sizes = { + {EncryptionMode::AES_128_ECB, 128}, {EncryptionMode::AES_192_ECB, 192}, + {EncryptionMode::AES_256_ECB, 256}, {EncryptionMode::AES_128_CBC, 128}, + {EncryptionMode::AES_192_CBC, 192}, {EncryptionMode::AES_256_CBC, 256}, + {EncryptionMode::AES_128_CFB, 128}, {EncryptionMode::AES_192_CFB, 192}, + {EncryptionMode::AES_256_CFB, 256}, {EncryptionMode::AES_128_CFB1, 128}, + {EncryptionMode::AES_192_CFB1, 192}, {EncryptionMode::AES_256_CFB1, 256}, + {EncryptionMode::AES_128_CFB8, 128}, {EncryptionMode::AES_192_CFB8, 192}, + {EncryptionMode::AES_256_CFB8, 256}, {EncryptionMode::AES_128_CFB128, 128}, + {EncryptionMode::AES_192_CFB128, 192}, {EncryptionMode::AES_256_CFB128, 256}, + {EncryptionMode::AES_128_CTR, 128}, {EncryptionMode::AES_192_CTR, 192}, + {EncryptionMode::AES_256_CTR, 256}, {EncryptionMode::AES_128_OFB, 128}, + {EncryptionMode::AES_192_OFB, 192}, {EncryptionMode::AES_256_OFB, 256}, + {EncryptionMode::AES_128_GCM, 128}, {EncryptionMode::AES_192_GCM, 192}, + {EncryptionMode::AES_256_GCM, 256}, + + {EncryptionMode::SM4_128_ECB, 128}, {EncryptionMode::SM4_128_CBC, 128}, + {EncryptionMode::SM4_128_CFB128, 128}, {EncryptionMode::SM4_128_OFB, 128}, + {EncryptionMode::SM4_128_CTR, 128}}; static void create_key(const unsigned char* origin_key, uint32_t key_length, uint8_t* encrypt_key, EncryptionMode mode) { - const uint key_size = mode_key_sizes[int(mode)] / 8; + const uint key_size = mode_key_sizes[mode] / 8; uint8_t* origin_key_end = ((uint8_t*)origin_key) + key_length; /* origin key boundary*/ uint8_t* encrypt_key_end; /* encrypt key boundary */ @@ -172,10 +167,58 @@ static int do_encrypt(EVP_CIPHER_CTX* cipher_ctx, const EVP_CIPHER* cipher, return ret; } +static int do_gcm_encrypt(EVP_CIPHER_CTX* cipher_ctx, const EVP_CIPHER* cipher, + const unsigned char* source, uint32_t source_length, + const unsigned char* encrypt_key, const unsigned char* iv, int iv_length, + unsigned char* encrypt, int* length_ptr, const unsigned char* aad, + uint32_t aad_length) { + int ret = EVP_EncryptInit_ex(cipher_ctx, cipher, nullptr, nullptr, nullptr); + if (ret != 1) { + return ret; + } + ret = EVP_CIPHER_CTX_ctrl(cipher_ctx, EVP_CTRL_GCM_SET_IVLEN, iv_length, nullptr); + if (ret != 1) { + return ret; + } + ret = EVP_EncryptInit_ex(cipher_ctx, nullptr, nullptr, encrypt_key, iv); + if (ret != 1) { + return ret; + } + if (aad) { + int tmp_len = 0; + ret = EVP_EncryptUpdate(cipher_ctx, nullptr, &tmp_len, aad, aad_length); + if (ret != 1) { + return ret; + } + } + + std::memcpy(encrypt, iv, iv_length); + encrypt += iv_length; + + int u_len = 0; + ret = EVP_EncryptUpdate(cipher_ctx, encrypt, &u_len, source, source_length); + if (ret != 1) { + return ret; + } + encrypt += u_len; + + int f_len = 0; + ret = EVP_EncryptFinal_ex(cipher_ctx, encrypt, &f_len); + if (ret != 1) { + return ret; + } + encrypt += f_len; + + ret = EVP_CIPHER_CTX_ctrl(cipher_ctx, EVP_CTRL_GCM_GET_TAG, EncryptionUtil::GCM_TAG_SIZE, + encrypt); + *length_ptr = iv_length + u_len + f_len + EncryptionUtil::GCM_TAG_SIZE; + return ret; +} + int EncryptionUtil::encrypt(EncryptionMode mode, const unsigned char* source, uint32_t source_length, const unsigned char* key, uint32_t key_length, const char* iv_str, int iv_input_length, bool padding, - unsigned char* encrypt) { + unsigned char* encrypt, const unsigned char* aad, uint32_t aad_length) { const EVP_CIPHER* cipher = get_evp_type(mode); /* The encrypt key to be used for encryption */ unsigned char encrypt_key[ENCRYPTION_MAX_KEY_LENGTH / 8]; @@ -196,8 +239,16 @@ int EncryptionUtil::encrypt(EncryptionMode mode, const unsigned char* source, EVP_CIPHER_CTX* cipher_ctx = EVP_CIPHER_CTX_new(); EVP_CIPHER_CTX_reset(cipher_ctx); int length = 0; - int ret = do_encrypt(cipher_ctx, cipher, source, source_length, encrypt_key, + int ret = 0; + if (is_gcm_mode(mode)) { + ret = do_gcm_encrypt(cipher_ctx, cipher, source, source_length, encrypt_key, + reinterpret_cast(init_vec), iv_length, encrypt, + &length, aad, aad_length); + } else { + ret = do_encrypt(cipher_ctx, cipher, source, source_length, encrypt_key, reinterpret_cast(init_vec), padding, encrypt, &length); + } + EVP_CIPHER_CTX_free(cipher_ctx); if (ret == 0) { ERR_clear_error(); @@ -230,10 +281,61 @@ static int do_decrypt(EVP_CIPHER_CTX* cipher_ctx, const EVP_CIPHER* cipher, return ret; } +static int do_gcm_decrypt(EVP_CIPHER_CTX* cipher_ctx, const EVP_CIPHER* cipher, + const unsigned char* encrypt, uint32_t encrypt_length, + const unsigned char* encrypt_key, int iv_length, + unsigned char* decrypt_content, int* length_ptr, const unsigned char* aad, + uint32_t aad_length) { + if (encrypt_length < iv_length + EncryptionUtil::GCM_TAG_SIZE) { + return -1; + } + int ret = EVP_DecryptInit_ex(cipher_ctx, cipher, nullptr, nullptr, nullptr); + if (ret != 1) { + return ret; + } + ret = EVP_CIPHER_CTX_ctrl(cipher_ctx, EVP_CTRL_GCM_SET_IVLEN, iv_length, nullptr); + if (ret != 1) { + return ret; + } + ret = EVP_DecryptInit_ex(cipher_ctx, nullptr, nullptr, encrypt_key, encrypt); + if (ret != 1) { + return ret; + } + encrypt += iv_length; + if (aad) { + int tmp_len = 0; + ret = EVP_DecryptUpdate(cipher_ctx, nullptr, &tmp_len, aad, aad_length); + if (ret != 1) { + return ret; + } + } + + uint32_t real_encrypt_length = encrypt_length - iv_length - EncryptionUtil::GCM_TAG_SIZE; + int u_len = 0; + ret = EVP_DecryptUpdate(cipher_ctx, decrypt_content, &u_len, encrypt, real_encrypt_length); + if (ret != 1) { + return ret; + } + encrypt += real_encrypt_length; + decrypt_content += u_len; + + void* tag = const_cast(reinterpret_cast(encrypt)); + ret = EVP_CIPHER_CTX_ctrl(cipher_ctx, EVP_CTRL_GCM_SET_TAG, EncryptionUtil::GCM_TAG_SIZE, tag); + if (ret != 1) { + return ret; + } + + int f_len = 0; + ret = EVP_DecryptFinal_ex(cipher_ctx, decrypt_content, &f_len); + *length_ptr = u_len + f_len; + return ret; +} + int EncryptionUtil::decrypt(EncryptionMode mode, const unsigned char* encrypt, uint32_t encrypt_length, const unsigned char* key, uint32_t key_length, const char* iv_str, int iv_input_length, bool padding, - unsigned char* decrypt_content) { + unsigned char* decrypt_content, const unsigned char* aad, + uint32_t aad_length) { const EVP_CIPHER* cipher = get_evp_type(mode); /* The encrypt key to be used for decryption */ @@ -255,9 +357,15 @@ int EncryptionUtil::decrypt(EncryptionMode mode, const unsigned char* encrypt, EVP_CIPHER_CTX* cipher_ctx = EVP_CIPHER_CTX_new(); EVP_CIPHER_CTX_reset(cipher_ctx); int length = 0; - int ret = do_decrypt(cipher_ctx, cipher, encrypt, encrypt_length, encrypt_key, + int ret = 0; + if (is_gcm_mode(mode)) { + ret = do_gcm_decrypt(cipher_ctx, cipher, encrypt, encrypt_length, encrypt_key, iv_length, + decrypt_content, &length, aad, aad_length); + } else { + ret = do_decrypt(cipher_ctx, cipher, encrypt, encrypt_length, encrypt_key, reinterpret_cast(init_vec), padding, decrypt_content, &length); + } EVP_CIPHER_CTX_free(cipher_ctx); if (ret > 0) { return length; diff --git a/be/src/util/encryption_util.h b/be/src/util/encryption_util.h index 8e61a11995301c..dfd288c3147d31 100644 --- a/be/src/util/encryption_util.h +++ b/be/src/util/encryption_util.h @@ -46,6 +46,9 @@ enum class EncryptionMode { AES_128_OFB, AES_192_OFB, AES_256_OFB, + AES_128_GCM, + AES_192_GCM, + AES_256_GCM, SM4_128_ECB, SM4_128_CBC, SM4_128_CFB128, @@ -57,13 +60,23 @@ enum EncryptionState { AES_SUCCESS = 0, AES_BAD_DATA = -1 }; class EncryptionUtil { public: + static bool is_gcm_mode(EncryptionMode mode) { + return mode == EncryptionMode::AES_128_GCM || mode == EncryptionMode::AES_192_GCM || + mode == EncryptionMode::AES_256_GCM; + } + + // https://tools.ietf.org/html/rfc5116#section-5.1 + static const int GCM_TAG_SIZE = 16; + static int encrypt(EncryptionMode mode, const unsigned char* source, uint32_t source_length, const unsigned char* key, uint32_t key_length, const char* iv_str, - int iv_input_length, bool padding, unsigned char* encrypt); + int iv_input_length, bool padding, unsigned char* encrypt, + const unsigned char* aad = nullptr, uint32_t aad_length = 0); static int decrypt(EncryptionMode mode, const unsigned char* encrypt, uint32_t encrypt_length, const unsigned char* key, uint32_t key_length, const char* iv_str, - int iv_input_length, bool padding, unsigned char* decrypt_content); + int iv_input_length, bool padding, unsigned char* decrypt_content, + const unsigned char* aad = nullptr, uint32_t aad_length = 0); }; } // namespace doris diff --git a/be/src/vec/functions/function_encryption.cpp b/be/src/vec/functions/function_encryption.cpp index f63e9bca1b0937..c90b6a1ff60717 100644 --- a/be/src/vec/functions/function_encryption.cpp +++ b/be/src/vec/functions/function_encryption.cpp @@ -79,7 +79,10 @@ inline StringCaseUnorderedMap aes_mode_map { {"AES_256_CTR", EncryptionMode::AES_256_CTR}, {"AES_128_OFB", EncryptionMode::AES_128_OFB}, {"AES_192_OFB", EncryptionMode::AES_192_OFB}, - {"AES_256_OFB", EncryptionMode::AES_256_OFB}}; + {"AES_256_OFB", EncryptionMode::AES_256_OFB}, + {"AES_128_GCM", EncryptionMode::AES_128_GCM}, + {"AES_192_GCM", EncryptionMode::AES_192_GCM}, + {"AES_256_GCM", EncryptionMode::AES_256_GCM}}; inline StringCaseUnorderedMap sm4_mode_map { {"SM4_128_ECB", EncryptionMode::SM4_128_ECB}, {"SM4_128_CBC", EncryptionMode::SM4_128_CBC}, @@ -120,7 +123,7 @@ void execute_result_vector(std::vector& offsets_li std::vector& chars_list, size_t i, EncryptionMode& encryption_mode, const char* iv_raw, int iv_length, ColumnString::Chars& result_data, ColumnString::Offsets& result_offset, - NullMap& null_map) { + NullMap& null_map, const char* aad, int aad_length) { int src_size = (*offsets_list[0])[i] - (*offsets_list[0])[i - 1]; const auto* src_raw = reinterpret_cast(&(*chars_list[0])[(*offsets_list[0])[i - 1]]); @@ -128,7 +131,8 @@ void execute_result_vector(std::vector& offsets_li const auto* key_raw = reinterpret_cast(&(*chars_list[1])[(*offsets_list[1])[i - 1]]); execute_result(src_raw, src_size, key_raw, key_size, i, encryption_mode, - iv_raw, iv_length, result_data, result_offset, null_map); + iv_raw, iv_length, result_data, result_offset, null_map, aad, + aad_length); } template @@ -136,19 +140,19 @@ void execute_result_const(const ColumnString::Offsets* offsets_column, const ColumnString::Chars* chars_column, StringRef key_arg, size_t i, EncryptionMode& encryption_mode, const char* iv_raw, int iv_length, ColumnString::Chars& result_data, ColumnString::Offsets& result_offset, - NullMap& null_map) { + NullMap& null_map, const char* aad, int aad_length) { int src_size = (*offsets_column)[i] - (*offsets_column)[i - 1]; const auto* src_raw = reinterpret_cast(&(*chars_column)[(*offsets_column)[i - 1]]); execute_result(src_raw, src_size, key_arg.data, key_arg.size, i, encryption_mode, iv_raw, iv_length, result_data, result_offset, - null_map); + null_map, aad, aad_length); } template void execute_result(const char* src_raw, int src_size, const char* key_raw, int key_size, size_t i, EncryptionMode& encryption_mode, const char* iv_raw, int iv_length, ColumnString::Chars& result_data, ColumnString::Offsets& result_offset, - NullMap& null_map) { + NullMap& null_map, const char* aad, int aad_length) { if (src_size == 0) { StringOP::push_null_string(i, result_data, result_offset, null_map); return; @@ -156,6 +160,10 @@ void execute_result(const char* src_raw, int src_size, const char* key_raw, int int cipher_len = src_size; if constexpr (is_encrypt) { cipher_len += 16; + // for output AEAD tag + if (EncryptionUtil::is_gcm_mode(encryption_mode)) { + cipher_len += EncryptionUtil::GCM_TAG_SIZE; + } } std::unique_ptr p; p.reset(new char[cipher_len]); @@ -163,7 +171,7 @@ void execute_result(const char* src_raw, int src_size, const char* key_raw, int ret_code = Impl::execute_impl(encryption_mode, (unsigned char*)src_raw, src_size, (unsigned char*)key_raw, key_size, iv_raw, iv_length, true, - (unsigned char*)p.get()); + (unsigned char*)p.get(), (unsigned char*)aad, aad_length); if (ret_code < 0) { StringOP::push_null_string(i, result_data, result_offset, null_map); @@ -248,7 +256,7 @@ struct EncryptionAndDecryptTwoImpl { } execute_result_const(offsets_column, chars_column, key_arg, i, encryption_mode, nullptr, 0, result_data, - result_offset, null_map); + result_offset, null_map, nullptr, 0); } } @@ -275,16 +283,22 @@ struct EncryptionAndDecryptTwoImpl { } execute_result_vector(offsets_list, chars_list, i, encryption_mode, nullptr, 0, result_data, result_offset, - null_map); + null_map, nullptr, 0); } } }; -template -struct EncryptionAndDecryptFourImpl { +template +struct EncryptionAndDecryptMultiImpl { static DataTypes get_variadic_argument_types_impl() { - return {std::make_shared(), std::make_shared(), - std::make_shared(), std::make_shared()}; + if constexpr (arg_num == 5) { + return {std::make_shared(), std::make_shared(), + std::make_shared(), std::make_shared(), + std::make_shared()}; + } else { + return {std::make_shared(), std::make_shared(), + std::make_shared(), std::make_shared()}; + } } static Status execute_impl_inner(FunctionContext* context, Block& block, @@ -292,8 +306,8 @@ struct EncryptionAndDecryptFourImpl { size_t input_rows_count) { auto result_column = ColumnString::create(); auto result_null_map_column = ColumnUInt8::create(input_rows_count, 0); - DCHECK_EQ(4, arguments.size()); - const size_t argument_size = 4; + DCHECK_EQ(arguments.size(), arg_num); + const size_t argument_size = arg_num; bool col_const[argument_size]; ColumnPtr argument_columns[argument_size]; for (int i = 0; i < argument_size; ++i) { @@ -304,8 +318,13 @@ struct EncryptionAndDecryptFourImpl { .convert_to_full_column() : block.get_by_position(arguments[0]).column; - default_preprocess_parameter_columns(argument_columns, col_const, {1, 2, 3}, block, - arguments); + if constexpr (arg_num == 5) { + default_preprocess_parameter_columns(argument_columns, col_const, {1, 2, 3, 4}, block, + arguments); + } else { + default_preprocess_parameter_columns(argument_columns, col_const, {1, 2, 3}, block, + arguments); + } for (int i = 0; i < argument_size; i++) { check_set_nullable(argument_columns[i], result_null_map_column, col_const[i]); @@ -314,11 +333,17 @@ struct EncryptionAndDecryptFourImpl { auto& result_offset = result_column->get_offsets(); result_offset.resize(input_rows_count); - if (col_const[1] && col_const[2] && col_const[3]) { + if ((arg_num == 5) && col_const[1] && col_const[2] && col_const[3] && col_const[4]) { + vector_const(assert_cast(argument_columns[0].get()), + argument_columns[1]->get_data_at(0), argument_columns[2]->get_data_at(0), + argument_columns[3]->get_data_at(0), input_rows_count, result_data, + result_offset, result_null_map_column->get_data(), + argument_columns[4]->get_data_at(0)); + } else if ((arg_num == 4) && col_const[1] && col_const[2] && col_const[3]) { vector_const(assert_cast(argument_columns[0].get()), argument_columns[1]->get_data_at(0), argument_columns[2]->get_data_at(0), argument_columns[3]->get_data_at(0), input_rows_count, result_data, - result_offset, result_null_map_column->get_data()); + result_offset, result_null_map_column->get_data(), StringRef()); } else { std::vector offsets_list(argument_size); std::vector chars_list(argument_size); @@ -338,7 +363,7 @@ struct EncryptionAndDecryptFourImpl { static void vector_const(const ColumnString* column, StringRef key_arg, StringRef iv_arg, StringRef mode_arg, size_t input_rows_count, ColumnString::Chars& result_data, ColumnString::Offsets& result_offset, - NullMap& null_map) { + NullMap& null_map, StringRef aad_arg) { EncryptionMode encryption_mode = mode; bool all_insert_null = false; if (mode_arg.size != 0) { @@ -363,9 +388,9 @@ struct EncryptionAndDecryptFourImpl { StringOP::push_null_string(i, result_data, result_offset, null_map); continue; } - execute_result_const(offsets_column, chars_column, key_arg, i, - encryption_mode, iv_arg.data, iv_arg.size, - result_data, result_offset, null_map); + execute_result_const( + offsets_column, chars_column, key_arg, i, encryption_mode, iv_arg.data, + iv_arg.size, result_data, result_offset, null_map, aad_arg.data, aad_arg.size); } } @@ -403,9 +428,16 @@ struct EncryptionAndDecryptFourImpl { } } + int aad_size = 0; + const char* aad = nullptr; + if constexpr (arg_num == 5) { + aad_size = (*offsets_list[4])[i] - (*offsets_list[4])[i - 1]; + aad = reinterpret_cast(&(*chars_list[4])[(*offsets_list[4])[i - 1]]); + } + execute_result_vector(offsets_list, chars_list, i, encryption_mode, iv_raw, iv_size, result_data, result_offset, - null_map); + null_map, aad, aad_size); } } }; @@ -413,18 +445,20 @@ struct EncryptionAndDecryptFourImpl { struct EncryptImpl { static int execute_impl(EncryptionMode mode, const unsigned char* source, uint32_t source_length, const unsigned char* key, uint32_t key_length, - const char* iv, int iv_length, bool padding, unsigned char* encrypt) { + const char* iv, int iv_length, bool padding, unsigned char* encrypt, + const unsigned char* aad, int aad_length) { return EncryptionUtil::encrypt(mode, source, source_length, key, key_length, iv, iv_length, - true, encrypt); + true, encrypt, aad, aad_length); } }; struct DecryptImpl { static int execute_impl(EncryptionMode mode, const unsigned char* source, uint32_t source_length, const unsigned char* key, uint32_t key_length, - const char* iv, int iv_length, bool padding, unsigned char* encrypt) { + const char* iv, int iv_length, bool padding, unsigned char* encrypt, + const unsigned char* aad, int aad_length) { return EncryptionUtil::decrypt(mode, source, source_length, key, key_length, iv, iv_length, - true, encrypt); + true, encrypt, aad, aad_length); } }; @@ -459,16 +493,24 @@ void register_function_encryption(SimpleFunctionFactory& factory) { AESDecryptName>>(); factory.register_function, + EncryptionAndDecryptMultiImpl, SM4EncryptName>>(); factory.register_function, + EncryptionAndDecryptMultiImpl, SM4DecryptName>>(); factory.register_function, + EncryptionAndDecryptMultiImpl, + AESEncryptName>>(); + factory.register_function, + AESDecryptName>>(); + + factory.register_function, AESEncryptName>>(); factory.register_function, + EncryptionAndDecryptMultiImpl, AESDecryptName>>(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesCryptoFunction.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesCryptoFunction.java index a72b84dab1cf94..3a98fb64ccf21c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesCryptoFunction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesCryptoFunction.java @@ -19,6 +19,7 @@ import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.literal.StringLikeLiteral; import org.apache.doris.nereids.trees.expressions.literal.StringLiteral; import com.google.common.collect.ImmutableSet; @@ -52,7 +53,16 @@ public abstract class AesCryptoFunction extends CryptoFunction { "AES_256_CTR", "AES_128_OFB", "AES_192_OFB", - "AES_256_OFB" + "AES_256_OFB", + "AES_128_GCM", + "AES_192_GCM", + "AES_256_GCM" + ); + + public static final Set AES_GCM_MODES = ImmutableSet.of( + "AES_128_GCM", + "AES_192_GCM", + "AES_256_GCM" ); public AesCryptoFunction(String name, Expression... arguments) { @@ -72,4 +82,17 @@ public static StringLiteral getDefaultBlockEncryptionMode() { } return encryptionMode; } + + @Override + public void checkLegalityAfterRewrite() { + if (arity() >= 4 && child(3) instanceof StringLikeLiteral) { + String mode = ((StringLikeLiteral) child(3)).getValue().toUpperCase(); + if (!AES_MODES.contains(mode)) { + throw new AnalysisException("mode " + mode + " is not supported"); + } + if (arity() == 5 && !AES_GCM_MODES.contains(mode)) { + throw new AnalysisException("only GCM mode support AAD(the 5th arg)"); + } + } + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecrypt.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecrypt.java index 7608cf4e40ea35..8967b0e5138812 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecrypt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecrypt.java @@ -50,7 +50,16 @@ public class AesDecrypt extends AesCryptoFunction { VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT), FunctionSignature.ret(StringType.INSTANCE) - .args(StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE) + .args(StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE), + FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT) + .args(VarcharType.SYSTEM_DEFAULT, + VarcharType.SYSTEM_DEFAULT, + VarcharType.SYSTEM_DEFAULT, + VarcharType.SYSTEM_DEFAULT, + VarcharType.SYSTEM_DEFAULT), + FunctionSignature.ret(StringType.INSTANCE) + .args(StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE, + StringType.INSTANCE) ); /** @@ -68,18 +77,25 @@ public AesDecrypt(Expression arg0, Expression arg1, Expression arg2, Expression super("aes_decrypt", arg0, arg1, arg2, arg3); } + public AesDecrypt(Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4) { + super("aes_decrypt", arg0, arg1, arg2, arg3, arg4); + } + /** * withChildren. */ @Override public AesDecrypt withChildren(List children) { - Preconditions.checkArgument(children.size() >= 2 && children.size() <= 4); + Preconditions.checkArgument(children.size() >= 2 && children.size() <= 5); if (children.size() == 2) { return new AesDecrypt(children.get(0), children.get(1)); } else if (children().size() == 3) { return new AesDecrypt(children.get(0), children.get(1), children.get(2)); - } else { + } else if (children().size() == 4) { return new AesDecrypt(children.get(0), children.get(1), children.get(2), children.get(3)); + } else { + return new AesDecrypt(children.get(0), children.get(1), children.get(2), children.get(3), + children.get(4)); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncrypt.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncrypt.java index 455d6b0dbd5645..a70a639785f82e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncrypt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncrypt.java @@ -50,7 +50,16 @@ public class AesEncrypt extends AesCryptoFunction { VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT), FunctionSignature.ret(StringType.INSTANCE) - .args(StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE) + .args(StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE), + FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT) + .args(VarcharType.SYSTEM_DEFAULT, + VarcharType.SYSTEM_DEFAULT, + VarcharType.SYSTEM_DEFAULT, + VarcharType.SYSTEM_DEFAULT, + VarcharType.SYSTEM_DEFAULT), + FunctionSignature.ret(StringType.INSTANCE) + .args(StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE, StringType.INSTANCE, + StringType.INSTANCE) ); /** @@ -68,18 +77,25 @@ public AesEncrypt(Expression arg0, Expression arg1, Expression arg2, Expression super("aes_encrypt", arg0, arg1, arg2, arg3); } + public AesEncrypt(Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4) { + super("aes_encrypt", arg0, arg1, arg2, arg3, arg4); + } + /** * withChildren. */ @Override public AesEncrypt withChildren(List children) { - Preconditions.checkArgument(children.size() >= 2 && children.size() <= 4); + Preconditions.checkArgument(children.size() >= 2 && children.size() <= 5); if (children.size() == 2) { return new AesEncrypt(children.get(0), children.get(1)); } else if (children().size() == 3) { return new AesEncrypt(children.get(0), children.get(1), children.get(2)); - } else { + } else if (children().size() == 4) { return new AesEncrypt(children.get(0), children.get(1), children.get(2), children.get(3)); + } else { + return new AesEncrypt(children.get(0), children.get(1), children.get(2), children.get(3), + children.get(4)); } } diff --git a/gensrc/script/doris_builtins_functions.py b/gensrc/script/doris_builtins_functions.py index 86574ff4437c75..976990d4ef85d4 100644 --- a/gensrc/script/doris_builtins_functions.py +++ b/gensrc/script/doris_builtins_functions.py @@ -1973,6 +1973,8 @@ [['aes_decrypt'], 'VARCHAR', ['VARCHAR', 'VARCHAR', 'VARCHAR'], 'ALWAYS_NULLABLE'], [['aes_encrypt'], 'VARCHAR', ['VARCHAR', 'VARCHAR', 'VARCHAR', 'VARCHAR'], 'ALWAYS_NULLABLE'], [['aes_decrypt'], 'VARCHAR', ['VARCHAR', 'VARCHAR', 'VARCHAR', 'VARCHAR'], 'ALWAYS_NULLABLE'], + [['aes_encrypt'], 'VARCHAR', ['VARCHAR', 'VARCHAR', 'VARCHAR', 'VARCHAR', 'VARCHAR'], 'ALWAYS_NULLABLE'], + [['aes_decrypt'], 'VARCHAR', ['VARCHAR', 'VARCHAR', 'VARCHAR', 'VARCHAR', 'VARCHAR'], 'ALWAYS_NULLABLE'], [['sm4_encrypt'], 'VARCHAR', ['VARCHAR', 'VARCHAR', 'VARCHAR'], 'ALWAYS_NULLABLE'], [['sm4_decrypt'], 'VARCHAR', ['VARCHAR', 'VARCHAR', 'VARCHAR'], 'ALWAYS_NULLABLE'], [['sm4_encrypt'], 'VARCHAR', ['VARCHAR', 'VARCHAR', 'VARCHAR', 'VARCHAR'], 'ALWAYS_NULLABLE'], @@ -1982,6 +1984,8 @@ [['aes_decrypt'], 'STRING', ['STRING', 'STRING', 'STRING'], 'ALWAYS_NULLABLE'], [['aes_encrypt'], 'STRING', ['STRING', 'STRING', 'STRING', 'STRING'], 'ALWAYS_NULLABLE'], [['aes_decrypt'], 'STRING', ['STRING', 'STRING', 'STRING', 'STRING'], 'ALWAYS_NULLABLE'], + [['aes_encrypt'], 'STRING', ['STRING', 'STRING', 'STRING', 'STRING', 'STRING'], 'ALWAYS_NULLABLE'], + [['aes_decrypt'], 'STRING', ['STRING', 'STRING', 'STRING', 'STRING', 'STRING'], 'ALWAYS_NULLABLE'], [['sm4_encrypt'], 'STRING', ['STRING', 'STRING', 'STRING'], 'ALWAYS_NULLABLE'], [['sm4_decrypt'], 'STRING', ['STRING', 'STRING', 'STRING'], 'ALWAYS_NULLABLE'], [['sm4_encrypt'], 'STRING', ['STRING', 'STRING', 'STRING', 'STRING'], 'ALWAYS_NULLABLE'], diff --git a/regression-test/data/nereids_p0/sql_functions/encryption_digest/test_encryption_function.out b/regression-test/data/nereids_p0/sql_functions/encryption_digest/test_encryption_function.out index 7a91c1dbf720ed..ec96e6df2b05ea 100644 --- a/regression-test/data/nereids_p0/sql_functions/encryption_digest/test_encryption_function.out +++ b/regression-test/data/nereids_p0/sql_functions/encryption_digest/test_encryption_function.out @@ -56,3 +56,29 @@ text -- !sql -- 82ec580fe6d36ae4f81cae3c73f4a5b3b5a09c943172dc9053c69fd8e18dca1e +-- !sql_gcm_1 -- +MTIzNDU2Nzg5MDEyMdXvR41sJqwZ6hnTU8FRTTtXbL8yeChIZA== + +-- !sql_gcm_2 -- +Spark SQL + +-- !sql_gcm_3 -- +AAAAAAAAAAAAAAAAQiYi+sTLm7KD9UcZ2nlRdYDe/PX4 + +-- !sql_gcm_4 -- +Spark + +-- !sql_gcm_5 -- +1 MTIzNDU2Nzg5MDEyMdXvR41sJqwZ6hnTU8FRTTtXbL8yeChIZA== +2 AAAAAAAAAAAAAAAAQiYi+sTLm7KD9UcZ2nlRdYDe/PX4 + +-- !sql_gcm_6 -- +1 Spark SQL +2 Spark + +-- !sql_gcm_7 -- +1 MTIzNDU2Nzg5MDEyMdXvR41sJqwZ6hnTU8FRTTtXbL8yeChIZA== + +-- !sql_gcm_8 -- +Spark SQL + diff --git a/regression-test/suites/nereids_p0/sql_functions/encryption_digest/test_encryption_function.groovy b/regression-test/suites/nereids_p0/sql_functions/encryption_digest/test_encryption_function.groovy index 0a2d42610012dc..f96290faffb96d 100644 --- a/regression-test/suites/nereids_p0/sql_functions/encryption_digest/test_encryption_function.groovy +++ b/regression-test/suites/nereids_p0/sql_functions/encryption_digest/test_encryption_function.groovy @@ -57,4 +57,36 @@ suite("test_encryption_function") { qt_sql "SELECT SM3(\"abc\");" qt_sql "select sm3(\"abcd\");" qt_sql "select sm3sum(\"ab\",\"cd\");" + + qt_sql_gcm_1 "SELECT TO_BASE64(AES_ENCRYPT('Spark SQL', '1234567890abcdef', '123456789012', 'aes_128_gcm', 'Some AAD'))" + qt_sql_gcm_2 "SELECT AES_DECRYPT(FROM_BASE64('MTIzNDU2Nzg5MDEyMdXvR41sJqwZ6hnTU8FRTTtXbL8yeChIZA=='), '1234567890abcdef', '', 'aes_128_gcm', 'Some AAD')" + + qt_sql_gcm_3 "select to_base64(aes_encrypt('Spark','abcdefghijklmnop12345678ABCDEFGH',unhex('000000000000000000000000'),'aes_256_gcm', 'This is an AAD mixed into the input'));" + qt_sql_gcm_4 "SELECT AES_DECRYPT(FROM_BASE64('AAAAAAAAAAAAAAAAQiYi+sTLm7KD9UcZ2nlRdYDe/PX4'), 'abcdefghijklmnop12345678ABCDEFGH', '', 'aes_256_gcm', 'This is an AAD mixed into the input');" + + sql "DROP TABLE IF EXISTS aes_encrypt_decrypt_tbl" + sql """ + CREATE TABLE IF NOT EXISTS aes_encrypt_decrypt_tbl ( + id int, + plain_txt varchar(255), + enc_txt varchar(255), + k varchar(255), + iv varchar(255), + mode varchar(255), + aad varchar(255) + ) DISTRIBUTED BY HASH(id) BUCKETS 1 + PROPERTIES ( + "replication_num" = "1" + ) + """ + sql """ insert into aes_encrypt_decrypt_tbl values(1,'Spark SQL','MTIzNDU2Nzg5MDEyMdXvR41sJqwZ6hnTU8FRTTtXbL8yeChIZA==','1234567890abcdef','123456789012','aes_128_gcm','Some AAD');""" + sql """ insert into aes_encrypt_decrypt_tbl values(2,'Spark','AAAAAAAAAAAAAAAAQiYi+sTLm7KD9UcZ2nlRdYDe/PX4','abcdefghijklmnop12345678ABCDEFGH',unhex('000000000000000000000000'),'aes_256_gcm','This is an AAD mixed into the input');""" + sql """ sync """ + + qt_sql_gcm_5 "SELECT id,TO_BASE64(AES_ENCRYPT(plain_txt,k,iv,mode,aad)) from aes_encrypt_decrypt_tbl order by id;" + qt_sql_gcm_6 "SELECT id,AES_DECRYPT(FROM_BASE64(enc_txt),k,'',mode,aad) from aes_encrypt_decrypt_tbl order by id;" + + // test for const opt branch, only first column is not const + qt_sql_gcm_7 "SELECT id,TO_BASE64(AES_ENCRYPT(plain_txt, '1234567890abcdef', '123456789012', 'aes_128_gcm', 'Some AAD')) from aes_encrypt_decrypt_tbl where id=1" + qt_sql_gcm_8 "SELECT AES_DECRYPT(FROM_BASE64(enc_txt), '1234567890abcdef', '', 'aes_128_gcm', 'Some AAD') from aes_encrypt_decrypt_tbl where id=1" } From ddaec4733e0f40fe84a1965cd800015c1a221723 Mon Sep 17 00:00:00 2001 From: hui lai <1353307710@qq.com> Date: Thu, 5 Sep 2024 18:51:39 +0800 Subject: [PATCH 067/199] [fix](test) fix move memtable injection test may cause other case stuck (#40356) Fix move memtable injection test may cause other case stuck. --- be/src/olap/delta_writer_v2.cpp | 2 +- .../pipeline/cloud_p0/conf/regression-conf-custom.groovy | 1 - regression-test/pipeline/p0/conf/regression-conf.groovy | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/be/src/olap/delta_writer_v2.cpp b/be/src/olap/delta_writer_v2.cpp index 4b9f4231bf1745..2bd1fa6a111913 100644 --- a/be/src/olap/delta_writer_v2.cpp +++ b/be/src/olap/delta_writer_v2.cpp @@ -154,7 +154,7 @@ Status DeltaWriterV2::write(const vectorized::Block* block, const std::vectorflush_running_count() >= memtable_flush_running_count_limit) { if (_state->is_cancelled()) { return _state->cancel_reason(); diff --git a/regression-test/pipeline/cloud_p0/conf/regression-conf-custom.groovy b/regression-test/pipeline/cloud_p0/conf/regression-conf-custom.groovy index 10b97133a31cbe..8d6b265a54bf02 100644 --- a/regression-test/pipeline/cloud_p0/conf/regression-conf-custom.groovy +++ b/regression-test/pipeline/cloud_p0/conf/regression-conf-custom.groovy @@ -45,7 +45,6 @@ excludeSuites = "000_the_start_sentinel_do_not_touch," + // keep this line as th "test_query_sys_rowsets," + // rowsets sys table "test_unique_table_debug_data," + // disable auto compaction "test_insert," + // txn insert - "test_delta_writer_v2_back_pressure_fault_injection," + "test_full_compaction_run_status," + "test_topn_fault_injection," + "zzz_the_end_sentinel_do_not_touch" // keep this line as the last line diff --git a/regression-test/pipeline/p0/conf/regression-conf.groovy b/regression-test/pipeline/p0/conf/regression-conf.groovy index f90c3fb1df3bed..0b8c3a2508934e 100644 --- a/regression-test/pipeline/p0/conf/regression-conf.groovy +++ b/regression-test/pipeline/p0/conf/regression-conf.groovy @@ -71,7 +71,6 @@ excludeSuites = "000_the_start_sentinel_do_not_touch," + // keep this line as th "test_broker_load_func," + "test_stream_stub_fault_injection," + "test_index_compaction_failure_injection," + - "test_delta_writer_v2_back_pressure_fault_injection," + "test_full_compaction_run_status," + "test_topn_fault_injection," + "zzz_the_end_sentinel_do_not_touch" // keep this line as the last line From 1666c8334b2346cfadb45a037352838f700d1f38 Mon Sep 17 00:00:00 2001 From: zhiqiang Date: Thu, 5 Sep 2024 19:51:55 +0800 Subject: [PATCH 068/199] [chore](error msg) More convenient error msg when function not found. (#40296) previous ``` ERROR 1105 (HY000): errCode = 2, detailMessage = ([]())[INTERNAL_ERROR]Function dsqrt get failed, expr is VectorizedFnCall[dsqrt](arguments=Float64,return=Float64) and return type is Float64. ``` now ``` ERROR 1105 (HY000): errCode = 2, detailMessage = ([]())[INTERNAL_ERROR]Could not find function dsqrt, arg Float64 return Float64 ``` --- be/src/vec/exprs/vectorized_fn_call.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/be/src/vec/exprs/vectorized_fn_call.cpp b/be/src/vec/exprs/vectorized_fn_call.cpp index 3e58d8d7be0165..65d4230488aaef 100644 --- a/be/src/vec/exprs/vectorized_fn_call.cpp +++ b/be/src/vec/exprs/vectorized_fn_call.cpp @@ -108,10 +108,9 @@ Status VectorizedFnCall::prepare(RuntimeState* state, const RowDescriptor& desc, _fn.name.function_name, argument_template, _data_type, state->be_exec_version()); } if (_function == nullptr) { - return Status::InternalError( - "Function {} get failed, expr is {} " - "and return type is {}.", - _fn.name.function_name, _expr_name, _data_type->get_name()); + return Status::InternalError("Could not find function {}, arg {} return {} ", + _fn.name.function_name, get_child_names(), + _data_type->get_name()); } VExpr::register_function_context(state, context); _function_name = _fn.name.function_name; From 82c2650322d57ed0028655d39f551649d59faaa1 Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Thu, 5 Sep 2024 20:21:19 +0800 Subject: [PATCH 069/199] [opt](Nereids) support search from override udfs with same arity (#40432) create alias function f1(int) with parameter(id) as abs(id); create alias function f1(string) with parameter(id) as substr(id, 2); select f1('1'); -- bind on f1(string) select f1(1); -- bind on f1(int) test case already existed in P0 --- .../doris/catalog/FunctionRegistry.java | 92 +++++++++++++++++-- .../doris/catalog/FunctionSignature.java | 34 +++---- .../expressions/functions/udf/AliasUdf.java | 4 +- .../functions/udf/AliasUdfBuilder.java | 20 ++-- .../functions/udf/JavaUdafBuilder.java | 6 ++ .../functions/udf/JavaUdfBuilder.java | 6 ++ .../functions/udf/JavaUdtfBuilder.java | 6 ++ .../expressions/functions/udf/UdfBuilder.java | 3 + 8 files changed, 130 insertions(+), 41 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionRegistry.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionRegistry.java index 0e049b4b9028dd..7280463b0f2bba 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionRegistry.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionRegistry.java @@ -21,7 +21,9 @@ import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.nereids.annotation.Developing; import org.apache.doris.nereids.exceptions.AnalysisException; +import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.functions.AggCombinerFunctionBuilder; +import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; import org.apache.doris.nereids.trees.expressions.functions.FunctionBuilder; import org.apache.doris.nereids.trees.expressions.functions.udf.UdfBuilder; import org.apache.doris.nereids.types.DataType; @@ -156,18 +158,33 @@ public FunctionBuilder findFunctionBuilder(String dbName, String name, List a + "' which has " + arity + " arity. Candidate functions are: " + candidateHints); } if (candidateBuilders.size() > 1) { - String candidateHints = getCandidateHint(name, candidateBuilders); - // TODO: NereidsPlanner not supported override function by the same arity, we will support it later - if (ConnectContext.get() != null) { - try { - ConnectContext.get().getSessionVariable().enableFallbackToOriginalPlannerOnce(); - } catch (Throwable t) { - // ignore error + boolean needChooseOne = true; + List signatures = Lists.newArrayListWithCapacity(candidateBuilders.size()); + for (FunctionBuilder functionBuilder : candidateBuilders) { + if (functionBuilder instanceof UdfBuilder) { + signatures.addAll(((UdfBuilder) functionBuilder).getSignatures()); + } else { + needChooseOne = false; + break; + } + } + for (Object argument : arguments) { + if (!(argument instanceof Expression)) { + needChooseOne = false; + break; } } + if (needChooseOne) { + FunctionSignature signature = new UdfSignatureSearcher(signatures, (List) arguments).getSignature(); + for (int i = 0; i < signatures.size(); i++) { + if (signatures.get(i).equals(signature)) { + return candidateBuilders.get(i); + } + } + } + String candidateHints = getCandidateHint(name, candidateBuilders); throw new AnalysisException("Function '" + qualifiedName + "' is ambiguous: " + candidateHints); } - return candidateBuilders.get(0); } @@ -235,4 +252,63 @@ public void dropUdf(String dbName, String name, List argTypes) { .removeIf(builder -> ((UdfBuilder) builder).getArgTypes().equals(argTypes)); } } + + /** + * use for search appropriate signature for UDFs if candidate more than one. + */ + static class UdfSignatureSearcher implements ExplicitlyCastableSignature { + + private final List signatures; + private final List arguments; + + public UdfSignatureSearcher(List signatures, List arguments) { + this.signatures = signatures; + this.arguments = arguments; + } + + @Override + public List getSignatures() { + return signatures; + } + + @Override + public FunctionSignature getSignature() { + return searchSignature(signatures); + } + + @Override + public boolean nullable() { + throw new AnalysisException("could not call nullable on UdfSignatureSearcher"); + } + + @Override + public List children() { + return arguments; + } + + @Override + public Expression child(int index) { + return arguments.get(index); + } + + @Override + public int arity() { + return arguments.size(); + } + + @Override + public Optional getMutableState(String key) { + return Optional.empty(); + } + + @Override + public void setMutableState(String key, Object value) { + } + + @Override + public Expression withChildren(List children) { + throw new AnalysisException("could not call withChildren on UdfSignatureSearcher"); + + } + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSignature.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSignature.java index 4ff9448a33b987..4915073141b4b7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSignature.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSignature.java @@ -30,7 +30,6 @@ import java.util.List; import java.util.Objects; import java.util.Optional; -import java.util.function.BiFunction; public class FunctionSignature { public final DataType returnType; @@ -78,21 +77,6 @@ public FunctionSignature withArgumentTypes(boolean hasVarArgs, List arguments, - BiFunction transform) { - List newTypes = Lists.newArrayList(); - for (int i = 0; i < arguments.size(); i++) { - newTypes.add(transform.apply(getArgType(i), arguments.get(i))); - } - return withArgumentTypes(hasVarArgs, newTypes); - } - /** * change argument type by the signature's type and the corresponding argument's type * @param arguments arguments @@ -145,6 +129,24 @@ public String toString() { .toString(); } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FunctionSignature signature = (FunctionSignature) o; + return hasVarArgs == signature.hasVarArgs && arity == signature.arity && Objects.equals(returnType, + signature.returnType) && Objects.equals(argumentsTypes, signature.argumentsTypes); + } + + @Override + public int hashCode() { + return Objects.hash(returnType, hasVarArgs, argumentsTypes, arity); + } + public static class FuncSigBuilder { public final DataType returnType; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/AliasUdf.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/AliasUdf.java index 0aa0bfdf852ba3..7b97335e77c107 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/AliasUdf.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/AliasUdf.java @@ -32,7 +32,6 @@ import org.apache.doris.nereids.types.DataType; import org.apache.doris.nereids.types.NullType; -import com.google.common.base.Suppliers; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; @@ -62,8 +61,7 @@ public AliasUdf(String name, List argTypes, UnboundFunction unboundFun @Override public List getSignatures() { - return ImmutableList.of(Suppliers.memoize(() -> FunctionSignature - .of(NullType.INSTANCE, argTypes)).get()); + return ImmutableList.of(FunctionSignature.of(NullType.INSTANCE, argTypes)); } public List getParameters() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/AliasUdfBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/AliasUdfBuilder.java index 2886b5cf4ae7e8..2bb832524e9b4a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/AliasUdfBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/AliasUdfBuilder.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.expressions.functions.udf; +import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.common.Pair; import org.apache.doris.common.util.ReflectionUtils; import org.apache.doris.nereids.analyzer.Scope; @@ -25,7 +26,6 @@ import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.SlotReference; import org.apache.doris.nereids.trees.expressions.functions.BoundFunction; -import org.apache.doris.nereids.trees.expressions.visitor.DefaultExpressionRewriter; import org.apache.doris.nereids.types.DataType; import org.apache.doris.nereids.util.TypeCoercionUtils; @@ -53,6 +53,11 @@ public List getArgTypes() { return aliasUdf.getArgTypes(); } + @Override + public List getSignatures() { + return aliasUdf.getSignatures(); + } + @Override public Class functionClass() { return AliasUdf.class; @@ -109,17 +114,4 @@ public Expression visitSlotReference(SlotReference slotReference, ExpressionRewr return Pair.of(udfAnalyzer.analyze(aliasUdf.getUnboundFunction()), boundAliasFunction); } - - private static class SlotReplacer extends DefaultExpressionRewriter> { - public static final SlotReplacer INSTANCE = new SlotReplacer(); - - public Expression replace(Expression expression, Map context) { - return expression.accept(this, context); - } - - @Override - public Expression visitSlotReference(SlotReference slot, Map context) { - return context.get(slot); - } - } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdafBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdafBuilder.java index 0d8ad443f533e5..802df2442fca3e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdafBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdafBuilder.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.expressions.functions.udf; +import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.common.Pair; import org.apache.doris.common.util.ReflectionUtils; import org.apache.doris.nereids.trees.expressions.Expression; @@ -50,6 +51,11 @@ public List getArgTypes() { .collect(Collectors.toList())).get(); } + @Override + public List getSignatures() { + return udaf.getSignatures(); + } + @Override public Class functionClass() { return JavaUdaf.class; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdfBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdfBuilder.java index 04d4741286a4ad..fb1184a9c1b0eb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdfBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdfBuilder.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.expressions.functions.udf; +import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.common.Pair; import org.apache.doris.common.util.ReflectionUtils; import org.apache.doris.nereids.trees.expressions.Expression; @@ -52,6 +53,11 @@ public List getArgTypes() { .collect(Collectors.toList())).get(); } + @Override + public List getSignatures() { + return udf.getSignatures(); + } + @Override public Class functionClass() { return JavaUdf.class; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdtfBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdtfBuilder.java index 85114f08e3f189..6e6a6192190c00 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdtfBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/JavaUdtfBuilder.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.expressions.functions.udf; +import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.common.Pair; import org.apache.doris.common.util.ReflectionUtils; import org.apache.doris.nereids.trees.expressions.Expression; @@ -52,6 +53,11 @@ public List getArgTypes() { .collect(Collectors.toList())).get(); } + @Override + public List getSignatures() { + return udf.getSignatures(); + } + @Override public Class functionClass() { return JavaUdtf.class; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/UdfBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/UdfBuilder.java index 892d9a4312ffcc..2c57cfad1beba9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/UdfBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/udf/UdfBuilder.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.expressions.functions.udf; +import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.nereids.trees.expressions.functions.FunctionBuilder; import org.apache.doris.nereids.types.DataType; @@ -27,4 +28,6 @@ */ public abstract class UdfBuilder extends FunctionBuilder { public abstract List getArgTypes(); + + public abstract List getSignatures(); } From 009c61c5b82f641f86ae9b70128e9a504d2cb839 Mon Sep 17 00:00:00 2001 From: Dongyang Li Date: Thu, 5 Sep 2024 20:50:22 +0800 Subject: [PATCH 070/199] [fix](tools) adjust download url (#40429) ## Proposed changes Issue Number: close #xxx Co-authored-by: stephen --- tools/tpcds-tools/bin/build-tpcds-tools.sh | 2 +- tools/tpch-tools/bin/build-tpch-dbgen.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/tpcds-tools/bin/build-tpcds-tools.sh b/tools/tpcds-tools/bin/build-tpcds-tools.sh index f765b0a4aa02d6..c6e9751bfaee5e 100755 --- a/tools/tpcds-tools/bin/build-tpcds-tools.sh +++ b/tools/tpcds-tools/bin/build-tpcds-tools.sh @@ -51,7 +51,7 @@ if [[ -d "${CURDIR}/DSGen-software-code-3.2.0rc1" ]]; then elif [[ -f "${CURDIR}/TPC-DS_Tools_v3.2.0new.zip" ]]; then unzip TPC-DS_Tools_v3.2.0new.zip -d "${CURDIR}/" else - wget "https://doris-build-1308700295.cos.ap-beijing.myqcloud.com/tools/TPC-DS_Tools_v3.2.0new.zip" + wget "https://qa-build.oss-cn-beijing.aliyuncs.com/tools/TPC-DS_Tools_v3.2.0new.zip" unzip TPC-DS_Tools_v3.2.0new.zip -d "${CURDIR}/" fi diff --git a/tools/tpch-tools/bin/build-tpch-dbgen.sh b/tools/tpch-tools/bin/build-tpch-dbgen.sh index 9499ae5d74eacc..08d427a128cc36 100755 --- a/tools/tpch-tools/bin/build-tpch-dbgen.sh +++ b/tools/tpch-tools/bin/build-tpch-dbgen.sh @@ -50,7 +50,7 @@ if [[ -d ${TPCH_DBGEN_DIR} ]]; then echo "Dir ${TPCH_DBGEN_DIR} already exists. No need to download." echo "If you want to download TPC-H_Tools_v3.0.0new again, please delete this dir first." else - wget "https://doris-build-1308700295.cos.ap-beijing.myqcloud.com/tools/TPC-H_Tools_v3.0.0new.zip" + wget "https://qa-build.oss-cn-beijing.aliyuncs.com/tools/TPC-H_Tools_v3.0.0new.zip" unzip TPC-H_Tools_v3.0.0new.zip -d "${CURDIR}/" fi From a7b67ac7eeb3aa1dac68b04c2ab7687ba847c96f Mon Sep 17 00:00:00 2001 From: lihangyu <15605149486@163.com> Date: Thu, 5 Sep 2024 21:26:17 +0800 Subject: [PATCH 071/199] [enhance](variant) throw exception when field type is not supported in cast elimation (#40388) --- be/src/olap/tablet_reader.cpp | 5 +++++ regression-test/suites/variant_p0/load.groovy | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/be/src/olap/tablet_reader.cpp b/be/src/olap/tablet_reader.cpp index 5966feeaaf2d2c..dcdd8819e3d05d 100644 --- a/be/src/olap/tablet_reader.cpp +++ b/be/src/olap/tablet_reader.cpp @@ -31,6 +31,7 @@ #include "common/compiler_util.h" // IWYU pragma: keep #include "common/config.h" +#include "common/exception.h" #include "common/logging.h" #include "common/status.h" #include "exprs/bitmapfilter_predicate.h" @@ -270,6 +271,10 @@ TabletColumn TabletReader::materialize_column(const TabletColumn& orig) { TabletColumn column_with_cast_type = orig; auto cast_type = _reader_context.target_cast_type_for_variants.at(orig.name()); FieldType filed_type = TabletColumn::get_field_type_by_type(cast_type.type); + if (filed_type == FieldType::OLAP_FIELD_TYPE_UNKNOWN) { + throw doris::Exception(ErrorCode::INTERNAL_ERROR, "Invalid type for variant column: {}", + cast_type.type); + } column_with_cast_type.set_type(filed_type); return column_with_cast_type; } diff --git a/regression-test/suites/variant_p0/load.groovy b/regression-test/suites/variant_p0/load.groovy index 967ff63f0baa94..65a5a838c5038e 100644 --- a/regression-test/suites/variant_p0/load.groovy +++ b/regression-test/suites/variant_p0/load.groovy @@ -441,6 +441,11 @@ suite("regression_test_variant", "p0"){ sql """insert into var_as_key values(2, '{"b" : 11}')""" qt_sql "select * from var_as_key order by k" + test { + sql """select * from ghdata where cast(v['actor']['url'] as ipv4) = '127.0.0.1'""" + exception("Invalid type for variant column: 36") + } + } finally { // reset flags } From 271e1c4ec7d984dd9460d8a85e7546e063233a95 Mon Sep 17 00:00:00 2001 From: Vallish Pai Date: Thu, 5 Sep 2024 19:13:42 +0530 Subject: [PATCH 072/199] [Enhancement] support information_schema.partitions (#40153) select * from information_schema.partitions ; return empty. this PR will fill the information based on partitions information available. first only supported for olaptables. --- .../schema_partitions_scanner.cpp | 134 ++++++++++-- .../schema_partitions_scanner.h | 15 +- .../schema_scanner/schema_scanner_helper.cpp | 62 ++++++ .../schema_scanner/schema_scanner_helper.h | 42 ++++ .../doris/catalog/ListPartitionItem.java | 4 + .../org/apache/doris/catalog/Partition.java | 19 ++ .../apache/doris/catalog/PartitionInfo.java | 13 ++ .../apache/doris/catalog/PartitionItem.java | 4 + .../doris/catalog/RangePartitionItem.java | 4 + .../tablefunction/MetadataGenerator.java | 148 ++++++++++++- gensrc/thrift/FrontendService.thrift | 1 + .../system/test_partitions_schema.out | 48 +++++ .../query_p0/system/test_query_sys_tables.out | 2 - .../system/test_partitions_schema.groovy | 195 ++++++++++++++++++ .../system/test_query_sys_tables.groovy | 6 +- 15 files changed, 670 insertions(+), 27 deletions(-) create mode 100644 be/src/exec/schema_scanner/schema_scanner_helper.cpp create mode 100644 be/src/exec/schema_scanner/schema_scanner_helper.h create mode 100644 regression-test/data/query_p0/system/test_partitions_schema.out create mode 100644 regression-test/suites/query_p0/system/test_partitions_schema.groovy diff --git a/be/src/exec/schema_scanner/schema_partitions_scanner.cpp b/be/src/exec/schema_scanner/schema_partitions_scanner.cpp index ea7394e15e12d2..9f86fe6feb49d9 100644 --- a/be/src/exec/schema_scanner/schema_partitions_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_partitions_scanner.cpp @@ -22,10 +22,14 @@ #include #include "exec/schema_scanner/schema_helper.h" -#include "runtime/decimalv2_value.h" -#include "runtime/define_primitive_type.h" -#include "util/runtime_profile.h" +#include "exec/schema_scanner/schema_scanner_helper.h" +#include "runtime/client_cache.h" +#include "runtime/exec_env.h" +#include "runtime/runtime_state.h" +#include "util/thrift_rpc_helper.h" #include "vec/common/string_ref.h" +#include "vec/core/block.h" +#include "vec/data_types/data_type_factory.hpp" namespace doris { class RuntimeState; @@ -63,9 +67,7 @@ std::vector SchemaPartitionsScanner::_s_tbls_columns }; SchemaPartitionsScanner::SchemaPartitionsScanner() - : SchemaScanner(_s_tbls_columns, TSchemaTableType::SCH_PARTITIONS), - _db_index(0), - _table_index(0) {} + : SchemaScanner(_s_tbls_columns, TSchemaTableType::SCH_PARTITIONS) {} SchemaPartitionsScanner::~SchemaPartitionsScanner() {} @@ -75,21 +77,14 @@ Status SchemaPartitionsScanner::start(RuntimeState* state) { } SCOPED_TIMER(_get_db_timer); TGetDbsParams db_params; - if (nullptr != _param->common_param->db) { + if (_param->common_param->db) { db_params.__set_pattern(*(_param->common_param->db)); } - if (nullptr != _param->common_param->catalog) { + if (_param->common_param->catalog) { db_params.__set_catalog(*(_param->common_param->catalog)); } - if (nullptr != _param->common_param->current_user_ident) { + if (_param->common_param->current_user_ident) { db_params.__set_current_user_ident(*(_param->common_param->current_user_ident)); - } else { - if (nullptr != _param->common_param->user) { - db_params.__set_user(*(_param->common_param->user)); - } - if (nullptr != _param->common_param->user_ip) { - db_params.__set_user_ip(*(_param->common_param->user_ip)); - } } if (nullptr != _param->common_param->ip && 0 != _param->common_param->port) { @@ -98,17 +93,122 @@ Status SchemaPartitionsScanner::start(RuntimeState* state) { } else { return Status::InternalError("IP or port doesn't exists"); } + _block_rows_limit = state->batch_size(); + _rpc_timeout_ms = state->execution_timeout() * 1000; + return Status::OK(); +} + +Status SchemaPartitionsScanner::get_onedb_info_from_fe(int64_t dbId) { + TNetworkAddress master_addr = ExecEnv::GetInstance()->master_info()->network_address; + + TSchemaTableRequestParams schema_table_request_params; + for (int i = 0; i < _s_tbls_columns.size(); i++) { + schema_table_request_params.__isset.columns_name = true; + schema_table_request_params.columns_name.emplace_back(_s_tbls_columns[i].name); + } + schema_table_request_params.__set_current_user_ident(*_param->common_param->current_user_ident); + schema_table_request_params.__set_catalog(*_param->common_param->catalog); + schema_table_request_params.__set_dbId(dbId); + + TFetchSchemaTableDataRequest request; + request.__set_schema_table_name(TSchemaTableName::PARTITIONS); + request.__set_schema_table_params(schema_table_request_params); + + TFetchSchemaTableDataResult result; + + RETURN_IF_ERROR(ThriftRpcHelper::rpc( + master_addr.hostname, master_addr.port, + [&request, &result](FrontendServiceConnection& client) { + client->fetchSchemaTableData(result, request); + }, + _rpc_timeout_ms)); + + Status status(Status::create(result.status)); + if (!status.ok()) { + LOG(WARNING) << "fetch table options from FE failed, errmsg=" << status; + return status; + } + std::vector result_data = result.data_batch; + + _partitions_block = vectorized::Block::create_unique(); + for (int i = 0; i < _s_tbls_columns.size(); ++i) { + TypeDescriptor descriptor(_s_tbls_columns[i].type); + auto data_type = vectorized::DataTypeFactory::instance().create_data_type(descriptor, true); + _partitions_block->insert(vectorized::ColumnWithTypeAndName( + data_type->create_column(), data_type, _s_tbls_columns[i].name)); + } + _partitions_block->reserve(_block_rows_limit); + if (result_data.size() > 0) { + int col_size = result_data[0].column_value.size(); + if (col_size != _s_tbls_columns.size()) { + return Status::InternalError("table options schema is not match for FE and BE"); + } + } + + for (int i = 0; i < result_data.size(); i++) { + TRow row = result_data[i]; + + for (int j = 0; j < _s_tbls_columns.size(); j++) { + if ((_s_tbls_columns[j].type == TYPE_BIGINT) || _s_tbls_columns[j].type == TYPE_INT) { + SchemaScannerHelper::insert_int_value(j, row.column_value[j].longVal, + _partitions_block.get()); + } else if (_s_tbls_columns[j].type == TYPE_DATETIME) { + std::vector datas(1); + VecDateTimeValue src[1]; + src[0].from_date_str(row.column_value[j].stringVal.data(), + row.column_value[j].stringVal.size()); + datas[0] = src; + SchemaScannerHelper::insert_datetime_value(j, datas, _partitions_block.get()); + } else { + SchemaScannerHelper::insert_string_value(j, row.column_value[j].stringVal, + _partitions_block.get()); + } + } + } return Status::OK(); } +bool SchemaPartitionsScanner::check_and_mark_eos(bool* eos) const { + if (_row_idx == _total_rows) { + *eos = true; + if (_db_index < _db_result.db_ids.size()) { + *eos = false; + } + return true; + } + return false; +} + Status SchemaPartitionsScanner::get_next_block_internal(vectorized::Block* block, bool* eos) { if (!_is_init) { return Status::InternalError("Used before initialized."); } + if (nullptr == block || nullptr == eos) { return Status::InternalError("input pointer is nullptr."); } - *eos = true; + + if ((_partitions_block == nullptr) || (_row_idx == _total_rows)) { + if (_db_index < _db_result.db_ids.size()) { + RETURN_IF_ERROR(get_onedb_info_from_fe(_db_result.db_ids[_db_index])); + _row_idx = 0; // reset row index so that it start filling for next block. + _total_rows = _partitions_block->rows(); + _db_index++; + } + } + + if (check_and_mark_eos(eos)) { + return Status::OK(); + } + + int current_batch_rows = std::min(_block_rows_limit, _total_rows - _row_idx); + vectorized::MutableBlock mblock = vectorized::MutableBlock::build_mutable_block(block); + RETURN_IF_ERROR(mblock.add_rows(_partitions_block.get(), _row_idx, current_batch_rows)); + _row_idx += current_batch_rows; + + if (!check_and_mark_eos(eos)) { + *eos = false; + } return Status::OK(); } diff --git a/be/src/exec/schema_scanner/schema_partitions_scanner.h b/be/src/exec/schema_scanner/schema_partitions_scanner.h index 87e55db984a3de..3c246f36eecb93 100644 --- a/be/src/exec/schema_scanner/schema_partitions_scanner.h +++ b/be/src/exec/schema_scanner/schema_partitions_scanner.h @@ -40,11 +40,18 @@ class SchemaPartitionsScanner : public SchemaScanner { Status start(RuntimeState* state) override; Status get_next_block_internal(vectorized::Block* block, bool* eos) override; - int _db_index; - int _table_index; - TGetDbsResult _db_result; - TListTableStatusResult _table_result; static std::vector _s_tbls_columns; + +private: + Status get_onedb_info_from_fe(int64_t dbId); + bool check_and_mark_eos(bool* eos) const; + int _block_rows_limit = 4096; + int _db_index = 0; + TGetDbsResult _db_result; + int _row_idx = 0; + int _total_rows = 0; + std::unique_ptr _partitions_block = nullptr; + int _rpc_timeout_ms = 3000; }; } // namespace doris diff --git a/be/src/exec/schema_scanner/schema_scanner_helper.cpp b/be/src/exec/schema_scanner/schema_scanner_helper.cpp new file mode 100644 index 00000000000000..b7d7b085f78cdc --- /dev/null +++ b/be/src/exec/schema_scanner/schema_scanner_helper.cpp @@ -0,0 +1,62 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "schema_scanner_helper.h" + +#include "runtime/client_cache.h" +#include "runtime/exec_env.h" +#include "runtime/runtime_state.h" +#include "util/thrift_rpc_helper.h" +#include "vec/common/string_ref.h" +#include "vec/core/block.h" +#include "vec/data_types/data_type_factory.hpp" + +namespace doris { + +void SchemaScannerHelper::insert_string_value(int col_index, std::string str_val, + vectorized::Block* block) { + vectorized::MutableColumnPtr mutable_col_ptr; + mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); + auto* nullable_column = reinterpret_cast(mutable_col_ptr.get()); + vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); + reinterpret_cast(col_ptr)->insert_data(str_val.data(), + str_val.size()); + nullable_column->get_null_map_data().emplace_back(0); +} + +void SchemaScannerHelper::insert_datetime_value(int col_index, const std::vector& datas, + vectorized::Block* block) { + vectorized::MutableColumnPtr mutable_col_ptr; + mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); + auto* nullable_column = reinterpret_cast(mutable_col_ptr.get()); + vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); + auto data = datas[0]; + reinterpret_cast*>(col_ptr)->insert_data( + reinterpret_cast(data), 0); + nullable_column->get_null_map_data().emplace_back(0); +} + +void SchemaScannerHelper::insert_int_value(int col_index, int64_t int_val, + vectorized::Block* block) { + vectorized::MutableColumnPtr mutable_col_ptr; + mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); + auto* nullable_column = reinterpret_cast(mutable_col_ptr.get()); + vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); + reinterpret_cast*>(col_ptr)->insert_value(int_val); + nullable_column->get_null_map_data().emplace_back(0); +} +} // namespace doris diff --git a/be/src/exec/schema_scanner/schema_scanner_helper.h b/be/src/exec/schema_scanner/schema_scanner_helper.h new file mode 100644 index 00000000000000..126ad33e5f28a3 --- /dev/null +++ b/be/src/exec/schema_scanner/schema_scanner_helper.h @@ -0,0 +1,42 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#ifndef _SCHEMA_SCANNER_HELPER_H_ + +#include + +#include +#include + +// this is a util class which can be used by all shema scanner +// all common functions are added in this class. +namespace doris { + +namespace vectorized { +class Block; +} // namespace vectorized +class SchemaScannerHelper { +public: + static void insert_string_value(int col_index, std::string str_val, vectorized::Block* block); + static void insert_datetime_value(int col_index, const std::vector& datas, + vectorized::Block* block); + + static void insert_int_value(int col_index, int64_t int_val, vectorized::Block* block); +}; + +} // namespace doris +#endif diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/ListPartitionItem.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/ListPartitionItem.java index 491bcc74c6d7c9..dba109a9539876 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/ListPartitionItem.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/ListPartitionItem.java @@ -64,6 +64,10 @@ public String getItemsString() { return toString(); } + public String getItemsSql() { + return toSql(); + } + @Override public boolean isDefaultPartition() { return isDefaultPartition; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Partition.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Partition.java index ab2b646ce39ee6..83bb8a18cbd827 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Partition.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Partition.java @@ -450,4 +450,23 @@ public void convertHashDistributionToRandomDistribution() { public boolean isRollupIndex(long id) { return idToVisibleRollupIndex.containsKey(id); } + + + public long getRowCount() { + return getBaseIndex().getRowCount(); + } + + public long getAvgRowLength() { + long rowCount = getBaseIndex().getRowCount(); + long dataSize = getBaseIndex().getDataSize(false); + if (rowCount > 0) { + return dataSize / rowCount; + } else { + return 0; + } + } + + public long getDataLength() { + return getBaseIndex().getDataSize(false); + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionInfo.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionInfo.java index 448c03f1b3a46e..304a105b8cf92d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionInfo.java @@ -128,6 +128,19 @@ public List getPartitionColumns() { return partitionColumns; } + public String getDisplayPartitionColumns() { + StringBuilder sb = new StringBuilder(); + int index = 0; + for (Column c : partitionColumns) { + if (index != 0) { + sb.append(", "); + } + sb.append(c.getDisplayName()); + index++; + } + return sb.toString(); + } + public Map getIdToItem(boolean isTemp) { if (isTemp) { return idToTempItem; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionItem.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionItem.java index 5b24b1651c3ae1..d75769382180ad 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionItem.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/PartitionItem.java @@ -62,4 +62,8 @@ public boolean isDefaultPartition() { public abstract boolean isGreaterThanSpecifiedTime(int pos, Optional dateFormatOptional, long nowTruncSubSec) throws AnalysisException; + + + //get the unique string of the partition item in sql format + public abstract String getItemsSql(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionItem.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionItem.java index 760e3111b6dbf1..b5e90634b8bbb1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionItem.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionItem.java @@ -49,6 +49,10 @@ public String getItemsString() { return toString(); } + public String getItemsSql() { + return toPartitionKeyDesc().toSql(); + } + @Override public boolean isDefaultPartition() { return false; diff --git a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java index 66794331377558..4d07d219dc4882 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java @@ -27,6 +27,9 @@ import org.apache.doris.catalog.HashDistributionInfo; import org.apache.doris.catalog.MTMV; import org.apache.doris.catalog.OlapTable; +import org.apache.doris.catalog.Partition; +import org.apache.doris.catalog.PartitionItem; +import org.apache.doris.catalog.PartitionType; import org.apache.doris.catalog.SchemaTable; import org.apache.doris.catalog.Table; import org.apache.doris.catalog.TableIf; @@ -99,6 +102,7 @@ import java.time.Instant; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Map; @@ -123,6 +127,8 @@ public class MetadataGenerator { private static final ImmutableMap META_CACHE_STATS_COLUMN_TO_INDEX; + private static final ImmutableMap PARTITIONS_COLUMN_TO_INDEX; + static { ImmutableMap.Builder activeQueriesbuilder = new ImmutableMap.Builder(); List activeQueriesColList = SchemaTable.TABLE_MAP.get("active_queries").getFullSchema(); @@ -177,6 +183,13 @@ public class MetadataGenerator { metaCacheBuilder.put(metaCacheColList.get(i).getName().toLowerCase(), i); } META_CACHE_STATS_COLUMN_TO_INDEX = metaCacheBuilder.build(); + + ImmutableMap.Builder partitionsBuilder = new ImmutableMap.Builder(); + List partitionsColList = SchemaTable.TABLE_MAP.get("partitions").getFullSchema(); + for (int i = 0; i < partitionsColList.size(); i++) { + partitionsBuilder.put(partitionsColList.get(i).getName().toLowerCase(), i); + } + PARTITIONS_COLUMN_TO_INDEX = partitionsBuilder.build(); } public static TFetchSchemaTableDataResult getMetadataTable(TFetchSchemaTableDataRequest request) throws TException { @@ -272,6 +285,10 @@ public static TFetchSchemaTableDataResult getSchemaTableData(TFetchSchemaTableDa result = metaCacheStatsMetadataResult(schemaTableParams); columnIndex = META_CACHE_STATS_COLUMN_TO_INDEX; break; + case PARTITIONS: + result = partitionsMetadataResult(schemaTableParams); + columnIndex = PARTITIONS_COLUMN_TO_INDEX; + break; default: return errorResult("invalid schema table name."); } @@ -1151,6 +1168,12 @@ private static TFetchSchemaTableDataResult tableOptionsMetadataResult(TSchemaTab Long dbId = params.getDbId(); String clg = params.getCatalog(); CatalogIf catalog = Env.getCurrentEnv().getCatalogMgr().getCatalog(clg); + if (catalog == null) { + // catalog is NULL let return empty to BE + result.setDataBatch(dataBatch); + result.setStatus(new TStatus(TStatusCode.OK)); + return result; + } DatabaseIf database = catalog.getDbNullable(dbId); if (database == null) { // BE gets the database id list from FE and then invokes this interface @@ -1245,8 +1268,14 @@ private static TFetchSchemaTableDataResult tablePropertiesMetadataResult(TSchema TFetchSchemaTableDataResult result = new TFetchSchemaTableDataResult(); Long dbId = params.getDbId(); String clg = params.getCatalog(); - CatalogIf catalog = Env.getCurrentEnv().getCatalogMgr().getCatalog(clg); List dataBatch = Lists.newArrayList(); + CatalogIf catalog = Env.getCurrentEnv().getCatalogMgr().getCatalog(clg); + if (catalog == null) { + // catalog is NULL let return empty to BE + result.setDataBatch(dataBatch); + result.setStatus(new TStatus(TStatusCode.OK)); + return result; + } DatabaseIf database = catalog.getDbNullable(dbId); if (database == null) { // BE gets the database id list from FE and then invokes this interface @@ -1290,7 +1319,124 @@ private static TFetchSchemaTableDataResult metaCacheStatsMetadataResult(TSchemaT fillBatch(dataBatch, icebergCache.getCacheStats(), catalogIf.getName()); } } + result.setDataBatch(dataBatch); + result.setStatus(new TStatus(TStatusCode.OK)); + return result; + } + + private static void partitionsForInternalCatalog(UserIdentity currentUserIdentity, + CatalogIf catalog, DatabaseIf database, List tables, List dataBatch) { + for (TableIf table : tables) { + if (!(table instanceof OlapTable)) { + continue; + } + if (!Env.getCurrentEnv().getAccessManager().checkTblPriv(currentUserIdentity, catalog.getName(), + database.getFullName(), table.getName(), PrivPredicate.SHOW)) { + continue; + } + + OlapTable olapTable = (OlapTable) table; + Collection allPartitions = olapTable.getAllPartitions(); + + for (Partition partition : allPartitions) { + TRow trow = new TRow(); + trow.addToColumnValue(new TCell().setStringVal(catalog.getName())); // TABLE_CATALOG + trow.addToColumnValue(new TCell().setStringVal(database.getFullName())); // TABLE_SCHEMA + trow.addToColumnValue(new TCell().setStringVal(table.getName())); // TABLE_NAME + trow.addToColumnValue(new TCell().setStringVal(partition.getName())); // PARTITION_NAME + trow.addToColumnValue(new TCell().setStringVal("NULL")); // SUBPARTITION_NAME (always null) + + trow.addToColumnValue(new TCell().setIntVal(0)); //PARTITION_ORDINAL_POSITION (not available) + trow.addToColumnValue(new TCell().setIntVal(0)); //SUBPARTITION_ORDINAL_POSITION (not available) + trow.addToColumnValue(new TCell().setStringVal( + olapTable.getPartitionInfo().getType().toString())); // PARTITION_METHOD + trow.addToColumnValue(new TCell().setStringVal("NULL")); // SUBPARTITION_METHOD(always null) + PartitionItem item = olapTable.getPartitionInfo().getItem(partition.getId()); + if ((olapTable.getPartitionInfo().getType() == PartitionType.UNPARTITIONED) || (item == null)) { + trow.addToColumnValue(new TCell().setStringVal("NULL")); // if unpartitioned, its null + trow.addToColumnValue(new TCell().setStringVal("NULL")); // SUBPARTITION_EXPRESSION (always null) + trow.addToColumnValue(new TCell().setStringVal("NULL")); // PARITION DESC, its null + } else { + trow.addToColumnValue(new TCell().setStringVal( + olapTable.getPartitionInfo() + .getDisplayPartitionColumns().toString())); // PARTITION_EXPRESSION + trow.addToColumnValue(new TCell().setStringVal("NULL")); // SUBPARTITION_EXPRESSION (always null) + trow.addToColumnValue(new TCell().setStringVal( + item.getItemsSql())); // PARITION DESC + } + trow.addToColumnValue(new TCell().setLongVal(partition.getRowCount())); //TABLE_ROWS (PARTITION row) + trow.addToColumnValue(new TCell().setLongVal(partition.getAvgRowLength())); //AVG_ROW_LENGTH + trow.addToColumnValue(new TCell().setLongVal(partition.getDataLength())); //DATA_LENGTH + trow.addToColumnValue(new TCell().setIntVal(0)); //MAX_DATA_LENGTH (not available) + trow.addToColumnValue(new TCell().setIntVal(0)); //INDEX_LENGTH (not available) + trow.addToColumnValue(new TCell().setIntVal(0)); //DATA_FREE (not available) + trow.addToColumnValue(new TCell().setStringVal("NULL")); //CREATE_TIME (not available) + trow.addToColumnValue(new TCell().setStringVal( + TimeUtils.longToTimeString(partition.getVisibleVersionTime()))); //UPDATE_TIME + trow.addToColumnValue(new TCell().setStringVal("NULL")); // CHECK_TIME (not available) + trow.addToColumnValue(new TCell().setIntVal(0)); //CHECKSUM (not available) + trow.addToColumnValue(new TCell().setStringVal("")); // PARTITION_COMMENT (not available) + trow.addToColumnValue(new TCell().setStringVal("")); // NODEGROUP (not available) + trow.addToColumnValue(new TCell().setStringVal("")); // TABLESPACE_NAME (not available) + dataBatch.add(trow); + } + } // for table + } + + private static void partitionsForExternalCatalog(UserIdentity currentUserIdentity, + CatalogIf catalog, DatabaseIf database, List tables, List dataBatch) { + for (TableIf table : tables) { + if (!Env.getCurrentEnv().getAccessManager().checkTblPriv(currentUserIdentity, catalog.getName(), + database.getFullName(), table.getName(), PrivPredicate.SHOW)) { + continue; + } + // TODO + } // for table + } + + private static TFetchSchemaTableDataResult partitionsMetadataResult(TSchemaTableRequestParams params) { + if (!params.isSetCurrentUserIdent()) { + return errorResult("current user ident is not set."); + } + if (!params.isSetDbId()) { + return errorResult("current db id is not set."); + } + + if (!params.isSetCatalog()) { + return errorResult("current catalog is not set."); + } + + TUserIdentity tcurrentUserIdentity = params.getCurrentUserIdent(); + UserIdentity currentUserIdentity = UserIdentity.fromThrift(tcurrentUserIdentity); + TFetchSchemaTableDataResult result = new TFetchSchemaTableDataResult(); + Long dbId = params.getDbId(); + String clg = params.getCatalog(); + List dataBatch = Lists.newArrayList(); + CatalogIf catalog = Env.getCurrentEnv().getCatalogMgr().getCatalog(clg); + if (catalog == null) { + // catalog is NULL let return empty to BE + result.setDataBatch(dataBatch); + result.setStatus(new TStatus(TStatusCode.OK)); + return result; + } + DatabaseIf database = catalog.getDbNullable(dbId); + if (database == null) { + // BE gets the database id list from FE and then invokes this interface + // per database. there is a chance that in between database can be dropped. + // so need to handle database not exist case and return ok so that BE continue the + // loop with next database. + result.setDataBatch(dataBatch); + result.setStatus(new TStatus(TStatusCode.OK)); + return result; + } + List tables = database.getTables(); + if (catalog instanceof InternalCatalog) { + // only olap tables + partitionsForInternalCatalog(currentUserIdentity, catalog, database, tables, dataBatch); + } else if (catalog instanceof ExternalCatalog) { + partitionsForExternalCatalog(currentUserIdentity, catalog, database, tables, dataBatch); + } result.setDataBatch(dataBatch); result.setStatus(new TStatus(TStatusCode.OK)); return result; diff --git a/gensrc/thrift/FrontendService.thrift b/gensrc/thrift/FrontendService.thrift index 765e7790e90781..c618ae1ae4a39f 100644 --- a/gensrc/thrift/FrontendService.thrift +++ b/gensrc/thrift/FrontendService.thrift @@ -1005,6 +1005,7 @@ enum TSchemaTableName { WORKLOAD_GROUP_PRIVILEGES = 7, TABLE_PROPERTIES = 8, CATALOG_META_CACHE_STATS = 9, + PARTITIONS = 10, } struct TMetadataTableRequestParams { diff --git a/regression-test/data/query_p0/system/test_partitions_schema.out b/regression-test/data/query_p0/system/test_partitions_schema.out new file mode 100644 index 00000000000000..ea82818d2ab2b0 --- /dev/null +++ b/regression-test/data/query_p0/system/test_partitions_schema.out @@ -0,0 +1,48 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !select_check_0 -- +test_range_table p0 9 +test_range_table p1 2 +test_range_table p100 4 +test_range_table p2 1 +test_range_table p3 1 +test_range_table p4 3 +test_range_table p5 0 + +-- !select_check_1 -- +internal test_partitions_schema_db duplicate_table duplicate_table NULL 0 0 UNPARTITIONED NULL NULL NULL NULL -1 0 0 0 0 0 0 +internal test_partitions_schema_db listtable p1_city NULL 0 0 LIST NULL user_id, city NULL (("1", "Beijing"),("1", "Shanghai")) -1 0 0 0 0 0 0 +internal test_partitions_schema_db listtable p2_city NULL 0 0 LIST NULL user_id, city NULL (("2", "Beijing"),("2", "Shanghai")) -1 0 0 0 0 0 0 +internal test_partitions_schema_db listtable p3_city NULL 0 0 LIST NULL user_id, city NULL (("3", "Beijing"),("3", "Shanghai")) -1 0 0 0 0 0 0 +internal test_partitions_schema_db randomtable randomtable NULL 0 0 UNPARTITIONED NULL NULL NULL NULL -1 0 0 0 0 0 0 +internal test_partitions_schema_db test_range_table p0 NULL 0 0 RANGE NULL col_1 NULL [('-2147483648'), ('4')) 9 636 5728 0 0 0 0 +internal test_partitions_schema_db test_range_table p1 NULL 0 0 RANGE NULL col_1 NULL [('4'), ('6')) 2 959 1919 0 0 0 0 +internal test_partitions_schema_db test_range_table p100 NULL 0 0 RANGE NULL col_1 NULL [('83647'), ('2147483647')) 4 735 2941 0 0 0 0 +internal test_partitions_schema_db test_range_table p2 NULL 0 0 RANGE NULL col_1 NULL [('6'), ('7')) 1 975 975 0 0 0 0 +internal test_partitions_schema_db test_range_table p3 NULL 0 0 RANGE NULL col_1 NULL [('7'), ('8')) 1 959 959 0 0 0 0 +internal test_partitions_schema_db test_range_table p4 NULL 0 0 RANGE NULL col_1 NULL [('8'), ('10')) 3 948 2846 0 0 0 0 +internal test_partitions_schema_db test_range_table p5 NULL 0 0 RANGE NULL col_1 NULL [('10'), ('83647')) 0 0 0 0 0 0 0 +internal test_partitions_schema_db test_row_column_page_size1 test_row_column_page_size1 NULL 0 0 UNPARTITIONED NULL NULL NULL NULL -1 0 0 0 0 0 0 +internal test_partitions_schema_db test_row_column_page_size2 test_row_column_page_size2 NULL 0 0 UNPARTITIONED NULL NULL NULL NULL -1 0 0 0 0 0 0 + +-- !select_check_2 -- +internal test_partitions_schema_db duplicate_table duplicate_table NULL 0 0 UNPARTITIONED NULL NULL NULL NULL -1 0 0 0 0 0 0 +internal test_partitions_schema_db listtable p1_city NULL 0 0 LIST NULL user_id, city NULL (("1", "Beijing"),("1", "Shanghai")) -1 0 0 0 0 0 0 +internal test_partitions_schema_db listtable p2_city NULL 0 0 LIST NULL user_id, city NULL (("2", "Beijing"),("2", "Shanghai")) -1 0 0 0 0 0 0 +internal test_partitions_schema_db listtable p3_city NULL 0 0 LIST NULL user_id, city NULL (("3", "Beijing"),("3", "Shanghai")) -1 0 0 0 0 0 0 +internal test_partitions_schema_db randomtable randomtable NULL 0 0 UNPARTITIONED NULL NULL NULL NULL -1 0 0 0 0 0 0 +internal test_partitions_schema_db test_range_table p0 NULL 0 0 RANGE NULL col_1 NULL [('-2147483648'), ('4')) 9 636 5728 0 0 0 0 +internal test_partitions_schema_db test_range_table p1 NULL 0 0 RANGE NULL col_1 NULL [('4'), ('6')) 2 959 1919 0 0 0 0 +internal test_partitions_schema_db test_range_table p100 NULL 0 0 RANGE NULL col_1 NULL [('83647'), ('2147483647')) 4 735 2941 0 0 0 0 +internal test_partitions_schema_db test_range_table p2 NULL 0 0 RANGE NULL col_1 NULL [('6'), ('7')) 1 975 975 0 0 0 0 +internal test_partitions_schema_db test_range_table p3 NULL 0 0 RANGE NULL col_1 NULL [('7'), ('8')) 1 959 959 0 0 0 0 +internal test_partitions_schema_db test_range_table p4 NULL 0 0 RANGE NULL col_1 NULL [('8'), ('10')) 3 948 2846 0 0 0 0 +internal test_partitions_schema_db test_range_table p5 NULL 0 0 RANGE NULL col_1 NULL [('10'), ('83647')) 0 0 0 0 0 0 0 +internal test_partitions_schema_db test_row_column_page_size1 test_row_column_page_size1 NULL 0 0 UNPARTITIONED NULL NULL NULL NULL -1 0 0 0 0 0 0 + +-- !select_check_3 -- + +-- !select_check_4 -- +internal test_partitions_schema_db duplicate_table duplicate_table NULL 0 0 UNPARTITIONED NULL NULL NULL NULL -1 0 0 0 0 0 0 + +-- !select_check_5 -- + diff --git a/regression-test/data/query_p0/system/test_query_sys_tables.out b/regression-test/data/query_p0/system/test_query_sys_tables.out index 3073ae0bf53e74..cdd89914994c63 100644 --- a/regression-test/data/query_p0/system/test_query_sys_tables.out +++ b/regression-test/data/query_p0/system/test_query_sys_tables.out @@ -152,8 +152,6 @@ PARTITION_COMMENT text Yes false \N NODEGROUP varchar(256) Yes false \N TABLESPACE_NAME varchar(268) Yes false \N --- !select_partitions -- - -- !schemata -- internal test_query_sys_db_1 \N internal test_query_sys_db_2 \N diff --git a/regression-test/suites/query_p0/system/test_partitions_schema.groovy b/regression-test/suites/query_p0/system/test_partitions_schema.groovy new file mode 100644 index 00000000000000..ac73d3315d0dfb --- /dev/null +++ b/regression-test/suites/query_p0/system/test_partitions_schema.groovy @@ -0,0 +1,195 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import org.awaitility.Awaitility +import static java.util.concurrent.TimeUnit.SECONDS + +suite("test_partitions_schema") { + def dbName = "test_partitions_schema_db" + def listOfColum = "TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME,PARTITION_NAME,SUBPARTITION_NAME,PARTITION_ORDINAL_POSITION,SUBPARTITION_ORDINAL_POSITION,PARTITION_METHOD,SUBPARTITION_METHOD,PARTITION_EXPRESSION,SUBPARTITION_EXPRESSION,PARTITION_DESCRIPTION,TABLE_ROWS,AVG_ROW_LENGTH,DATA_LENGTH,MAX_DATA_LENGTH,INDEX_LENGTH,DATA_FREE,CHECKSUM,PARTITION_COMMENT,NODEGROUP,TABLESPACE_NAME"; + sql "drop database if exists ${dbName}" + sql "CREATE DATABASE IF NOT EXISTS ${dbName}" + sql "use ${dbName}" + + def checkRowCount = { expectedRowCount -> + Awaitility.await().atMost(180, SECONDS).pollInterval(1, SECONDS).until( + { + def result = sql "select table_rows from information_schema.partitions where table_name='test_range_table' and partition_name='p0'" + logger.info("table: table_name, rowCount: ${result}") + return result[0][0] == expectedRowCount + } + ) + } + + sql """ + create table test_range_table ( + col_1 int, + col_2 int, + col_3 int, + col_4 int, + pk int + ) engine=olap + DUPLICATE KEY(col_1, col_2) + PARTITION BY RANGE(col_1) ( + PARTITION p0 VALUES LESS THAN ('4'), + PARTITION p1 VALUES LESS THAN ('6'), + PARTITION p2 VALUES LESS THAN ('7'), + PARTITION p3 VALUES LESS THAN ('8'), + PARTITION p4 VALUES LESS THAN ('10'), + PARTITION p5 VALUES LESS THAN ('83647'), + PARTITION p100 VALUES LESS THAN ('2147483647') + ) + + distributed by hash(pk) buckets 10 + properties("replication_num" = "1"); + """ + sql """ + insert into test_range_table(pk,col_1,col_2,col_3,col_4) values (0,6,-179064,5213411,5),(1,3,5,2,6),(2,4226261,7,null,3),(3,9,null,4,4),(4,-1003770,2,1,1),(5,8,7,null,8176864),(6,3388266,5,8,8),(7,5,1,2,null),(8,9,2064412,0,null),(9,1489553,8,-446412,6),(10,1,3,0,1),(11,null,3,4621304,null),(12,null,-3058026,-262645,9),(13,null,null,9,3),(14,null,null,5037128,7),(15,299896,-1444893,8,1480339),(16,7,7,0,1470826),(17,-7378014,5,null,5),(18,0,3,6,5),(19,5,3,-4403612,-3103249); + """ + sql """ + sync + """ + checkRowCount(9); + + qt_select_check_0 """select table_name,partition_name,table_rows from information_schema.partitions where table_schema=\"${dbName}\" order by $listOfColum""" + sql """ + CREATE TABLE IF NOT EXISTS listtable + ( + `user_id` LARGEINT NOT NULL COMMENT "User id", + `date` DATE NOT NULL COMMENT "Data fill in date time", + `timestamp` DATETIME NOT NULL COMMENT "Timestamp of data being poured", + `city` VARCHAR(20) COMMENT "The city where the user is located", + `age` SMALLINT COMMENT "User Age", + `sex` TINYINT COMMENT "User gender", + `last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "User last visit time", + `cost` BIGINT SUM DEFAULT "0" COMMENT "Total user consumption", + `max_dwell_time` INT MAX DEFAULT "0" COMMENT "User maximum dwell time", + `min_dwell_time` INT MIN DEFAULT "99999" COMMENT "User minimum dwell time" + ) + ENGINE=olap + AGGREGATE KEY(`user_id`, `date`, `timestamp`, `city`, `age`, `sex`) + PARTITION BY LIST(user_id, city) + ( + PARTITION p1_city VALUES IN (("1", "Beijing"), ("1", "Shanghai")), + PARTITION p2_city VALUES IN (("2", "Beijing"), ("2", "Shanghai")), + PARTITION p3_city VALUES IN (("3", "Beijing"), ("3", "Shanghai")) + ) + DISTRIBUTED BY HASH(`user_id`) BUCKETS 16 + PROPERTIES + ( + "replication_num" = "1" + ); + """ + sql """ + CREATE TABLE IF NOT EXISTS randomtable + ( + `user_id` LARGEINT NOT NULL COMMENT "User id", + `date` DATE NOT NULL COMMENT "Data fill in date time", + `timestamp` DATETIME NOT NULL COMMENT "Timestamp of data being poured", + `city` VARCHAR(20) COMMENT "The city where the user is located", + `age` SMALLINT COMMENT "User Age", + `sex` TINYINT COMMENT "User gender" + ) + ENGINE=olap + DISTRIBUTED BY RANDOM BUCKETS 16 + PROPERTIES + ( + "replication_num" = "1" + ); + """ + sql """ + CREATE TABLE IF NOT EXISTS duplicate_table + ( + `timestamp` DATETIME NOT NULL COMMENT "Log time", + `type` INT NOT NULL COMMENT "Log type", + `error_code` INT COMMENT "Error code", + `error_msg` VARCHAR(1024) COMMENT "Error detail message", + `op_id` BIGINT COMMENT "Operator ID", + `op_time` DATETIME COMMENT "Operation time" + ) + DISTRIBUTED BY HASH(`type`) BUCKETS 1 + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + + // test row column page size + sql """ + CREATE TABLE IF NOT EXISTS test_row_column_page_size1 ( + `aaa` varchar(170) NOT NULL COMMENT "", + `bbb` varchar(20) NOT NULL COMMENT "", + `ccc` INT NULL COMMENT "", + `ddd` SMALLINT NULL COMMENT "" + ) + DISTRIBUTED BY HASH(`aaa`) BUCKETS 1 + PROPERTIES ( + "replication_num" = "1", + "store_row_column" = "true" + ); + """ + + sql """ + CREATE TABLE IF NOT EXISTS test_row_column_page_size2 ( + `aaa` varchar(170) NOT NULL COMMENT "", + `bbb` varchar(20) NOT NULL COMMENT "", + `ccc` INT NULL COMMENT "", + `ddd` SMALLINT NULL COMMENT "" + ) + DISTRIBUTED BY HASH(`aaa`) BUCKETS 1 + PROPERTIES ( + "replication_num" = "1", + "store_row_column" = "true", + "row_store_page_size" = "8190" + ); + """ + qt_select_check_1 """select $listOfColum from information_schema.partitions where table_schema=\"${dbName}\" order by $listOfColum""" + sql """ + drop table test_row_column_page_size2; + """ + qt_select_check_2 """select $listOfColum from information_schema.partitions where table_schema=\"${dbName}\" order by $listOfColum""" + + def user = "partitions_user" + sql "DROP USER IF EXISTS ${user}" + sql "CREATE USER ${user} IDENTIFIED BY '123abc!@#'" + //cloud-mode + if (isCloudMode()) { + def clusters = sql " SHOW CLUSTERS; " + assertTrue(!clusters.isEmpty()) + def validCluster = clusters[0][0] + sql """GRANT USAGE_PRIV ON CLUSTER ${validCluster} TO ${user}"""; + } + + sql "GRANT SELECT_PRIV ON information_schema.partitions TO ${user}" + + def tokens = context.config.jdbcUrl.split('/') + def url=tokens[0] + "//" + tokens[2] + "/" + "information_schema" + "?" + + connect(user=user, password='123abc!@#', url=url) { + qt_select_check_3 """select $listOfColum from information_schema.partitions where table_schema=\"${dbName}\" order by $listOfColum""" + } + + sql "GRANT SELECT_PRIV ON ${dbName}.duplicate_table TO ${user}" + connect(user=user, password='123abc!@#', url=url) { + qt_select_check_4 """select $listOfColum from information_schema.partitions where table_schema=\"${dbName}\" order by $listOfColum""" + } + + sql "REVOKE SELECT_PRIV ON ${dbName}.duplicate_table FROM ${user}" + connect(user=user, password='123abc!@#', url=url) { + qt_select_check_5 """select $listOfColum from information_schema.partitions where table_schema=\"${dbName}\" order by $listOfColum""" + } + +} diff --git a/regression-test/suites/query_p0/system/test_query_sys_tables.groovy b/regression-test/suites/query_p0/system/test_query_sys_tables.groovy index 72198b32eadfd2..a0f246f03f66ee 100644 --- a/regression-test/suites/query_p0/system/test_query_sys_tables.groovy +++ b/regression-test/suites/query_p0/system/test_query_sys_tables.groovy @@ -135,9 +135,9 @@ suite("test_query_sys_tables", "query,p0") { // test partitions - // have no impl + // have impl now, partition based on time and date so not doing data validation. + // data validation taken care in another regression test. qt_desc_partitions """ desc `information_schema`.`partitions` """ - order_qt_select_partitions """ select * from `information_schema`.`partitions`; """ // test schemata // create test dbs @@ -253,4 +253,4 @@ suite("test_query_sys_tables", "query,p0") { qt_sql "select * from triggers" qt_sql "select * from parameters" qt_sql "select * from profiling" -} \ No newline at end of file +} From 4b6881f94734f76e7a8f0d2e9b2c402f2a000bd8 Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Thu, 5 Sep 2024 21:46:10 +0800 Subject: [PATCH 073/199] [fix](memory) Fix ThreadMemTrackerMgr consumer tracker remove reserve memory (#40380) `count_scope_mem` and `consumer_tracker` not support reserve memory and not require use `_untracked_mem` to batch consume, because `count_scope_mem` is thread local, `consumer_tracker` will not be bound by many threads, so there is no performance problem. --- be/src/runtime/exec_env.h | 2 - be/src/runtime/exec_env_init.cpp | 1 - be/src/runtime/memory/mem_tracker_limiter.cpp | 2 +- .../runtime/memory/thread_mem_tracker_mgr.cpp | 2 - .../runtime/memory/thread_mem_tracker_mgr.h | 70 ++++----------- be/src/runtime/thread_context.h | 86 ++++++++++--------- be/src/vec/common/allocator.cpp | 2 +- .../memory/thread_mem_tracker_mgr_test.cpp | 66 +++++--------- 8 files changed, 83 insertions(+), 148 deletions(-) diff --git a/be/src/runtime/exec_env.h b/be/src/runtime/exec_env.h index f751aeb5d82274..98d82f274e746d 100644 --- a/be/src/runtime/exec_env.h +++ b/be/src/runtime/exec_env.h @@ -173,7 +173,6 @@ class ExecEnv { std::vector mem_tracker_limiter_pool; void init_mem_tracker(); std::shared_ptr orphan_mem_tracker() { return _orphan_mem_tracker; } - MemTrackerLimiter* orphan_mem_tracker_raw() { return _orphan_mem_tracker_raw; } MemTrackerLimiter* details_mem_tracker_set() { return _details_mem_tracker_set.get(); } std::shared_ptr page_no_cache_mem_tracker() { return _page_no_cache_mem_tracker; } MemTracker* brpc_iobuf_block_memory_tracker() { return _brpc_iobuf_block_memory_tracker.get(); } @@ -355,7 +354,6 @@ class ExecEnv { // Ideally, all threads are expected to attach to the specified tracker, so that "all memory has its own ownership", // and the consumption of the orphan mem tracker is close to 0, but greater than 0. std::shared_ptr _orphan_mem_tracker; - MemTrackerLimiter* _orphan_mem_tracker_raw = nullptr; std::shared_ptr _details_mem_tracker_set; // page size not in cache, data page/index page/etc. std::shared_ptr _page_no_cache_mem_tracker; diff --git a/be/src/runtime/exec_env_init.cpp b/be/src/runtime/exec_env_init.cpp index 674d5ee5115d76..834e402ca1ebb4 100644 --- a/be/src/runtime/exec_env_init.cpp +++ b/be/src/runtime/exec_env_init.cpp @@ -587,7 +587,6 @@ void ExecEnv::init_mem_tracker() { _s_tracking_memory = true; _orphan_mem_tracker = MemTrackerLimiter::create_shared(MemTrackerLimiter::Type::GLOBAL, "Orphan"); - _orphan_mem_tracker_raw = _orphan_mem_tracker.get(); _details_mem_tracker_set = MemTrackerLimiter::create_shared(MemTrackerLimiter::Type::GLOBAL, "DetailsTrackerSet"); _page_no_cache_mem_tracker = diff --git a/be/src/runtime/memory/mem_tracker_limiter.cpp b/be/src/runtime/memory/mem_tracker_limiter.cpp index 774e06eb7f5ac4..a8aa44414ebf87 100644 --- a/be/src/runtime/memory/mem_tracker_limiter.cpp +++ b/be/src/runtime/memory/mem_tracker_limiter.cpp @@ -525,7 +525,7 @@ std::string MemTrackerLimiter::tracker_limit_exceeded_str() { err_msg += fmt::format( " exec node:<{}>, can `set exec_mem_limit=8G` to change limit, details see " "be.INFO.", - doris::thread_context()->thread_mem_tracker_mgr->last_consumer_tracker()); + doris::thread_context()->thread_mem_tracker_mgr->last_consumer_tracker_label()); } else if (_type == Type::SCHEMA_CHANGE) { err_msg += fmt::format( " can modify `memory_limitation_per_thread_for_schema_change_bytes` in be.conf to " diff --git a/be/src/runtime/memory/thread_mem_tracker_mgr.cpp b/be/src/runtime/memory/thread_mem_tracker_mgr.cpp index daa4954881974f..33dd0d41822ae1 100644 --- a/be/src/runtime/memory/thread_mem_tracker_mgr.cpp +++ b/be/src/runtime/memory/thread_mem_tracker_mgr.cpp @@ -55,7 +55,6 @@ void ThreadMemTrackerMgr::attach_limiter_tracker( _untracked_mem = 0; } _limiter_tracker = mem_tracker; - _limiter_tracker_raw = mem_tracker.get(); } void ThreadMemTrackerMgr::detach_limiter_tracker( @@ -67,7 +66,6 @@ void ThreadMemTrackerMgr::detach_limiter_tracker( _reserved_mem = _reserved_mem_stack.back(); _reserved_mem_stack.pop_back(); _limiter_tracker = old_mem_tracker; - _limiter_tracker_raw = old_mem_tracker.get(); } void ThreadMemTrackerMgr::cancel_query(const std::string& exceed_msg) { diff --git a/be/src/runtime/memory/thread_mem_tracker_mgr.h b/be/src/runtime/memory/thread_mem_tracker_mgr.h index 50a8a5e0f7ed15..bb0091f2e6d6fb 100644 --- a/be/src/runtime/memory/thread_mem_tracker_mgr.h +++ b/be/src/runtime/memory/thread_mem_tracker_mgr.h @@ -64,7 +64,7 @@ class ThreadMemTrackerMgr { // Must be fast enough! Thread update_tracker may be called very frequently. bool push_consumer_tracker(MemTracker* mem_tracker); void pop_consumer_tracker(); - std::string last_consumer_tracker() { + std::string last_consumer_tracker_label() { return _consumer_tracker_stack.empty() ? "" : _consumer_tracker_stack.back()->label(); } @@ -76,18 +76,6 @@ class ThreadMemTrackerMgr { void reset_wg_wptr() { _wg_wptr.reset(); } - void start_count_scope_mem() { - CHECK(init()); - _scope_mem = _reserved_mem; // consume in advance - _count_scope_mem = true; - } - - int64_t stop_count_scope_mem() { - flush_untracked_mem(); - _count_scope_mem = false; - return _scope_mem - _reserved_mem; - } - // Note that, If call the memory allocation operation in Memory Hook, // such as calling LOG/iostream/sstream/stringstream/etc. related methods, // must increase the control to avoid entering infinite recursion, otherwise it may cause crash or stuck, @@ -109,10 +97,6 @@ class ThreadMemTrackerMgr { CHECK(init()); return _limiter_tracker; } - MemTrackerLimiter* limiter_mem_tracker_raw() { - CHECK(init()); - return _limiter_tracker_raw; - } void enable_wait_gc() { _wait_gc = true; } void disable_wait_gc() { _wait_gc = false; } @@ -127,7 +111,7 @@ class ThreadMemTrackerMgr { return fmt::format( "ThreadMemTrackerMgr debug, _untracked_mem:{}, " "_limiter_tracker:<{}>, _consumer_tracker_stack:<{}>", - std::to_string(_untracked_mem), _limiter_tracker_raw->log_usage(), + std::to_string(_untracked_mem), _limiter_tracker->log_usage(), fmt::to_string(consumer_tracker_buf)); } @@ -146,16 +130,12 @@ class ThreadMemTrackerMgr { // so `attach_limiter_tracker` may be nested. std::vector _reserved_mem_stack; - bool _count_scope_mem = false; - int64_t _scope_mem = 0; - std::string _failed_consume_msg = std::string(); // If true, the Allocator will wait for the GC to free memory if it finds that the memory exceed limit. // A thread of query/load will only wait once during execution. bool _wait_gc = false; std::shared_ptr _limiter_tracker; - MemTrackerLimiter* _limiter_tracker_raw = nullptr; std::vector _consumer_tracker_stack; std::weak_ptr _wg_wptr; @@ -171,7 +151,6 @@ inline bool ThreadMemTrackerMgr::init() { if (_init) return true; if (ExecEnv::GetInstance()->orphan_mem_tracker() != nullptr) { _limiter_tracker = ExecEnv::GetInstance()->orphan_mem_tracker(); - _limiter_tracker_raw = ExecEnv::GetInstance()->orphan_mem_tracker_raw(); _wait_gc = true; _init = true; return true; @@ -185,20 +164,21 @@ inline bool ThreadMemTrackerMgr::push_consumer_tracker(MemTracker* tracker) { return false; } _consumer_tracker_stack.push_back(tracker); - tracker->release(_untracked_mem); - tracker->consume(_reserved_mem); // consume in advance return true; } inline void ThreadMemTrackerMgr::pop_consumer_tracker() { DCHECK(!_consumer_tracker_stack.empty()); - flush_untracked_mem(); - _consumer_tracker_stack.back()->consume(_untracked_mem); - _consumer_tracker_stack.back()->release(_reserved_mem); _consumer_tracker_stack.pop_back(); } inline void ThreadMemTrackerMgr::consume(int64_t size, int skip_large_memory_check) { + // `consumer_tracker` not support reserve memory and not require use `_untracked_mem` to batch consume, + // because `consumer_tracker` will not be bound by many threads, so there is no performance problem. + for (auto* tracker : _consumer_tracker_stack) { + tracker->consume(size); + } + if (_reserved_mem != 0) { if (_reserved_mem > size) { // only need to subtract _reserved_mem, no need to consume MemTracker, @@ -282,32 +262,26 @@ inline void ThreadMemTrackerMgr::flush_untracked_mem() { return; } _stop_consume = true; - DCHECK(_limiter_tracker_raw); + DCHECK(_limiter_tracker); _old_untracked_mem = _untracked_mem; - if (_count_scope_mem) { - _scope_mem += _untracked_mem; - } - _limiter_tracker_raw->consume(_old_untracked_mem); - for (auto* tracker : _consumer_tracker_stack) { - tracker->consume(_old_untracked_mem); - } + _limiter_tracker->consume(_old_untracked_mem); _untracked_mem -= _old_untracked_mem; _stop_consume = false; } inline doris::Status ThreadMemTrackerMgr::try_reserve(int64_t size) { - DCHECK(_limiter_tracker_raw); + DCHECK(_limiter_tracker); DCHECK(size >= 0); CHECK(init()); // if _reserved_mem not equal to 0, repeat reserve, // _untracked_mem store bytes that not synchronized to process reserved memory. flush_untracked_mem(); - if (!_limiter_tracker_raw->try_consume(size)) { + if (!_limiter_tracker->try_consume(size)) { auto err_msg = fmt::format( "reserve memory failed, size: {}, because memory tracker consumption: {}, limit: " "{}", - size, _limiter_tracker_raw->consumption(), _limiter_tracker_raw->limit()); + size, _limiter_tracker->consumption(), _limiter_tracker->limit()); return doris::Status::MemoryLimitExceeded(err_msg); } auto wg_ptr = _wg_wptr.lock(); @@ -315,25 +289,19 @@ inline doris::Status ThreadMemTrackerMgr::try_reserve(int64_t size) { if (!wg_ptr->add_wg_refresh_interval_memory_growth(size)) { auto err_msg = fmt::format("reserve memory failed, size: {}, because {}", size, wg_ptr->memory_debug_string()); - _limiter_tracker_raw->release(size); // rollback + _limiter_tracker->release(size); // rollback return doris::Status::MemoryLimitExceeded(err_msg); } } if (!doris::GlobalMemoryArbitrator::try_reserve_process_memory(size)) { auto err_msg = fmt::format("reserve memory failed, size: {}, because {}", size, GlobalMemoryArbitrator::process_mem_log_str()); - _limiter_tracker_raw->release(size); // rollback + _limiter_tracker->release(size); // rollback if (wg_ptr) { wg_ptr->sub_wg_refresh_interval_memory_growth(size); // rollback } return doris::Status::MemoryLimitExceeded(err_msg); } - if (_count_scope_mem) { - _scope_mem += size; - } - for (auto* tracker : _consumer_tracker_stack) { - tracker->consume(size); - } _reserved_mem += size; return doris::Status::OK(); } @@ -342,17 +310,11 @@ inline void ThreadMemTrackerMgr::release_reserved() { if (_reserved_mem != 0) { doris::GlobalMemoryArbitrator::release_process_reserved_memory(_reserved_mem + _untracked_mem); - _limiter_tracker_raw->release(_reserved_mem); + _limiter_tracker->release(_reserved_mem); auto wg_ptr = _wg_wptr.lock(); if (wg_ptr) { wg_ptr->sub_wg_refresh_interval_memory_growth(_reserved_mem); } - if (_count_scope_mem) { - _scope_mem -= _reserved_mem; - } - for (auto* tracker : _consumer_tracker_stack) { - tracker->release(_reserved_mem); - } _untracked_mem = 0; _reserved_mem = 0; } diff --git a/be/src/runtime/thread_context.h b/be/src/runtime/thread_context.h index 6158f0535bed01..0ee47a979628d8 100644 --- a/be/src/runtime/thread_context.h +++ b/be/src/runtime/thread_context.h @@ -82,10 +82,16 @@ #endif #if defined(USE_MEM_TRACKER) && !defined(BE_TEST) -// Count a code segment memory (memory malloc - memory free) to int64_t -// Usage example: int64_t scope_mem = 0; { SCOPED_MEM_COUNT_BY_HOOK(&scope_mem); xxx; xxx; } -#define SCOPED_MEM_COUNT_BY_HOOK(scope_mem) \ - auto VARNAME_LINENUM(scope_mem_count) = doris::ScopeMemCountByHook(scope_mem) +// Count a code segment memory +// Usage example: +// int64_t peak_mem = 0; +// { +// SCOPED_PEAK_MEM(&peak_mem); +// xxxx +// } +// LOG(INFO) << *peak_mem; +#define SCOPED_PEAK_MEM(peak_mem) \ + auto VARNAME_LINENUM(scope_peak_mem) = doris::ScopedPeakMem(peak_mem) // Count a code segment memory (memory malloc - memory free) to MemTracker. // Compared to count `scope_mem`, MemTracker is easier to observe from the outside and is thread-safe. @@ -94,8 +100,7 @@ #define SCOPED_CONSUME_MEM_TRACKER_BY_HOOK(mem_tracker) \ auto VARNAME_LINENUM(add_mem_consumer) = doris::AddThreadMemTrackerConsumerByHook(mem_tracker) #else -#define SCOPED_MEM_COUNT_BY_HOOK(scope_mem) \ - auto VARNAME_LINENUM(scoped_tls_mcbh) = doris::ScopedInitThreadContext() +#define SCOPED_PEAK_MEM() auto VARNAME_LINENUM(scoped_tls_pm) = doris::ScopedInitThreadContext() #define SCOPED_CONSUME_MEM_TRACKER_BY_HOOK(mem_tracker) \ auto VARNAME_LINENUM(scoped_tls_cmtbh) = doris::ScopedInitThreadContext() #endif @@ -229,7 +234,7 @@ class ThreadContext { // is released somewhere, the hook is triggered to cause the crash. std::unique_ptr thread_mem_tracker_mgr; [[nodiscard]] MemTrackerLimiter* thread_mem_tracker() const { - return thread_mem_tracker_mgr->limiter_mem_tracker_raw(); + return thread_mem_tracker_mgr->limiter_mem_tracker().get(); } QueryThreadContext query_thread_context(); @@ -402,23 +407,22 @@ class QueryThreadContext { std::weak_ptr wg_wptr; }; -class ScopeMemCountByHook { +class ScopedPeakMem { public: - explicit ScopeMemCountByHook(int64_t* scope_mem) { + explicit ScopedPeakMem(int64* peak_mem) : _peak_mem(peak_mem), _mem_tracker("ScopedPeakMem") { ThreadLocalHandle::create_thread_local_if_not_exits(); - _scope_mem = scope_mem; - thread_context()->thread_mem_tracker_mgr->start_count_scope_mem(); - use_mem_hook = true; + thread_context()->thread_mem_tracker_mgr->push_consumer_tracker(&_mem_tracker); } - ~ScopeMemCountByHook() { - use_mem_hook = false; - *_scope_mem += thread_context()->thread_mem_tracker_mgr->stop_count_scope_mem(); + ~ScopedPeakMem() { + thread_context()->thread_mem_tracker_mgr->pop_consumer_tracker(); + *_peak_mem += _mem_tracker.peak_consumption(); ThreadLocalHandle::del_thread_local_if_count_is_zero(); } private: - int64_t* _scope_mem = nullptr; + int64* _peak_mem; + MemTracker _mem_tracker; }; // only hold thread context in scope. @@ -516,18 +520,18 @@ class ScopeSkipMemoryCheck { // Basic macros for mem tracker, usually do not need to be modified and used. #if defined(USE_MEM_TRACKER) && !defined(BE_TEST) // used to fix the tracking accuracy of caches. -#define THREAD_MEM_TRACKER_TRANSFER_TO(size, tracker) \ - do { \ - ORPHAN_TRACKER_CHECK(); \ - doris::thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker_raw()->transfer_to( \ - size, tracker); \ +#define THREAD_MEM_TRACKER_TRANSFER_TO(size, tracker) \ + do { \ + ORPHAN_TRACKER_CHECK(); \ + doris::thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker()->transfer_to( \ + size, tracker); \ } while (0) -#define THREAD_MEM_TRACKER_TRANSFER_FROM(size, tracker) \ - do { \ - ORPHAN_TRACKER_CHECK(); \ - tracker->transfer_to( \ - size, doris::thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker_raw()); \ +#define THREAD_MEM_TRACKER_TRANSFER_FROM(size, tracker) \ + do { \ + ORPHAN_TRACKER_CHECK(); \ + tracker->transfer_to( \ + size, doris::thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker()); \ } while (0) // Mem Hook to consume thread mem tracker @@ -553,21 +557,21 @@ class ScopeSkipMemoryCheck { // if use mem hook, avoid repeated consume. // must call create_thread_local_if_not_exits() before use thread_context(). -#define CONSUME_THREAD_MEM_TRACKER(size) \ - do { \ - if (size == 0 || doris::use_mem_hook) { \ - break; \ - } \ - if (doris::pthread_context_ptr_init) { \ - DCHECK(bthread_self() == 0); \ - doris::thread_context_ptr->consume_memory(size); \ - } else if (bthread_self() != 0) { \ - static_cast(bthread_getspecific(doris::btls_key)) \ - ->consume_memory(size); \ - } else if (doris::ExecEnv::ready()) { \ - MEMORY_ORPHAN_CHECK(); \ - doris::ExecEnv::GetInstance()->orphan_mem_tracker_raw()->consume_no_update_peak(size); \ - } \ +#define CONSUME_THREAD_MEM_TRACKER(size) \ + do { \ + if (size == 0 || doris::use_mem_hook) { \ + break; \ + } \ + if (doris::pthread_context_ptr_init) { \ + DCHECK(bthread_self() == 0); \ + doris::thread_context_ptr->consume_memory(size); \ + } else if (bthread_self() != 0) { \ + static_cast(bthread_getspecific(doris::btls_key)) \ + ->consume_memory(size); \ + } else if (doris::ExecEnv::ready()) { \ + MEMORY_ORPHAN_CHECK(); \ + doris::ExecEnv::GetInstance()->orphan_mem_tracker()->consume_no_update_peak(size); \ + } \ } while (0) #define RELEASE_THREAD_MEM_TRACKER(size) CONSUME_THREAD_MEM_TRACKER(-size) diff --git a/be/src/vec/common/allocator.cpp b/be/src/vec/common/allocator.cpp index ae5f27989b2922..c7dda2b4c19a06 100644 --- a/be/src/vec/common/allocator.cpp +++ b/be/src/vec/common/allocator.cpp @@ -90,7 +90,7 @@ void Allocator::sys_mem size, doris::thread_context()->thread_mem_tracker()->label(), doris::thread_context()->thread_mem_tracker()->peak_consumption(), doris::thread_context()->thread_mem_tracker()->consumption(), - doris::thread_context()->thread_mem_tracker_mgr->last_consumer_tracker(), + doris::thread_context()->thread_mem_tracker_mgr->last_consumer_tracker_label(), doris::GlobalMemoryArbitrator::process_limit_exceeded_errmsg_str()); if (doris::config::stacktrace_in_alloc_large_memory_bytes > 0 && diff --git a/be/test/runtime/memory/thread_mem_tracker_mgr_test.cpp b/be/test/runtime/memory/thread_mem_tracker_mgr_test.cpp index c1feb43fe91955..d4624273b0b854 100644 --- a/be/test/runtime/memory/thread_mem_tracker_mgr_test.cpp +++ b/be/test/runtime/memory/thread_mem_tracker_mgr_test.cpp @@ -181,8 +181,8 @@ TEST_F(ThreadMemTrackerMgrTest, MultiMemTracker) { bool rt = thread_context->thread_mem_tracker_mgr->push_consumer_tracker(t2.get()); EXPECT_EQ(rt, true); - EXPECT_EQ(t1->consumption(), size1 + size2); - EXPECT_EQ(t2->consumption(), -size1); // _untracked_mem = size1 + EXPECT_EQ(t1->consumption(), size1 + size2); // _untracked_mem = size1 + EXPECT_EQ(t2->consumption(), 0); thread_context->consume_memory(size2); EXPECT_EQ(t1->consumption(), size1 + size2 + size1 + size2); @@ -200,13 +200,13 @@ TEST_F(ThreadMemTrackerMgrTest, MultiMemTracker) { thread_context->consume_memory(size2); thread_context->consume_memory(-size1); // _untracked_mem = -size1 EXPECT_EQ(t1->consumption(), size1 + size2 + size1 + size2 + size2 + size1 + size2); - EXPECT_EQ(t2->consumption(), size2 + size2 + size1 + size2); - EXPECT_EQ(t3->consumption(), size1 + size2); + EXPECT_EQ(t2->consumption(), size2 + size2 + size2); + EXPECT_EQ(t3->consumption(), size2); thread_context->thread_mem_tracker_mgr->pop_consumer_tracker(); - EXPECT_EQ(t1->consumption(), size1 + size2 + size1 + size2 + size2 + size1 + size2 - size1); - EXPECT_EQ(t2->consumption(), size2 + size2 + size1 + size2 - size1); - EXPECT_EQ(t3->consumption(), size1 + size2 - size1); + EXPECT_EQ(t1->consumption(), size1 + size2 + size1 + size2 + size2 + size1 + size2); + EXPECT_EQ(t2->consumption(), size2 + size2 + size2); + EXPECT_EQ(t3->consumption(), size2); thread_context->consume_memory(-size2); thread_context->consume_memory(size2); @@ -214,40 +214,14 @@ TEST_F(ThreadMemTrackerMgrTest, MultiMemTracker) { thread_context->thread_mem_tracker_mgr->pop_consumer_tracker(); EXPECT_EQ(t1->consumption(), size1 + size2 + size1 + size2 + size2 + size1 + size2 - size1 - size2); - EXPECT_EQ(t2->consumption(), size2 + size2 + size1 + size2 - size1 - size2); - EXPECT_EQ(t3->consumption(), size1 + size2 - size1); + EXPECT_EQ(t2->consumption(), size2 + size2); + EXPECT_EQ(t3->consumption(), size2); thread_context->consume_memory(-t1->consumption()); thread_context->detach_task(); // detach t1 EXPECT_EQ(t1->consumption(), 0); - EXPECT_EQ(t2->consumption(), size2 + size2 + size1 + size2 - size1 - size2); - EXPECT_EQ(t3->consumption(), size1 + size2 - size1); -} - -TEST_F(ThreadMemTrackerMgrTest, ScopedCount) { - std::unique_ptr thread_context = std::make_unique(); - std::shared_ptr t1 = - MemTrackerLimiter::create_shared(MemTrackerLimiter::Type::OTHER, "UT-ScopedCount"); - - int64_t size1 = 4 * 1024; - int64_t size2 = 4 * 1024 * 1024; - - thread_context->attach_task(TUniqueId(), t1, workload_group); - thread_context->thread_mem_tracker_mgr->start_count_scope_mem(); - thread_context->consume_memory(size1); - thread_context->consume_memory(size2); - thread_context->consume_memory(size1); - thread_context->consume_memory(size2); - thread_context->consume_memory(size1); - int64_t scope_mem = thread_context->thread_mem_tracker_mgr->stop_count_scope_mem(); - EXPECT_EQ(t1->consumption(), size1 + size2 + size1 + size2 + size1); - EXPECT_EQ(t1->consumption(), scope_mem); - - thread_context->consume_memory(-size2); - thread_context->consume_memory(-size1); - thread_context->consume_memory(-size2); - EXPECT_EQ(t1->consumption(), size1 + size1); - EXPECT_EQ(scope_mem, size1 + size2 + size1 + size2 + size1); + EXPECT_EQ(t2->consumption(), size2 + size2); + EXPECT_EQ(t3->consumption(), size2); } TEST_F(ThreadMemTrackerMgrTest, ReserveMemory) { @@ -265,7 +239,7 @@ TEST_F(ThreadMemTrackerMgrTest, ReserveMemory) { EXPECT_EQ(t->consumption(), size1 + size2); auto st = thread_context->try_reserve_memory(size3); - EXPECT_TRUE(st.ok()); + EXPECT_TRUE(st.ok()) << st.to_string(); EXPECT_EQ(t->consumption(), size1 + size2 + size3); EXPECT_EQ(doris::GlobalMemoryArbitrator::process_reserved_memory(), size3); @@ -304,7 +278,7 @@ TEST_F(ThreadMemTrackerMgrTest, ReserveMemory) { EXPECT_EQ(doris::GlobalMemoryArbitrator::process_reserved_memory(), 0); st = thread_context->try_reserve_memory(size3); - EXPECT_TRUE(st.ok()); + EXPECT_TRUE(st.ok()) << st.to_string(); EXPECT_EQ(t->consumption(), size1 + size2 + size3); EXPECT_EQ(doris::GlobalMemoryArbitrator::process_reserved_memory(), size3); @@ -355,7 +329,7 @@ TEST_F(ThreadMemTrackerMgrTest, NestedReserveMemory) { thread_context->attach_task(TUniqueId(), t, workload_group); auto st = thread_context->try_reserve_memory(size3); - EXPECT_TRUE(st.ok()); + EXPECT_TRUE(st.ok()) << st.to_string(); EXPECT_EQ(t->consumption(), size3); EXPECT_EQ(doris::GlobalMemoryArbitrator::process_reserved_memory(), size3); @@ -367,7 +341,7 @@ TEST_F(ThreadMemTrackerMgrTest, NestedReserveMemory) { EXPECT_EQ(doris::GlobalMemoryArbitrator::process_reserved_memory(), size3 - size2); st = thread_context->try_reserve_memory(size2); - EXPECT_TRUE(st.ok()); + EXPECT_TRUE(st.ok()) << st.to_string(); // ThreadMemTrackerMgr _reserved_mem = size3 - size2 + size2 // ThreadMemTrackerMgr _untracked_mem = 0 EXPECT_EQ(t->consumption(), size3 + size2); @@ -375,9 +349,9 @@ TEST_F(ThreadMemTrackerMgrTest, NestedReserveMemory) { size3); // size3 - size2 + size2 st = thread_context->try_reserve_memory(size3); - EXPECT_TRUE(st.ok()); + EXPECT_TRUE(st.ok()) << st.to_string(); st = thread_context->try_reserve_memory(size3); - EXPECT_TRUE(st.ok()); + EXPECT_TRUE(st.ok()) << st.to_string(); thread_context->consume_memory(size3); thread_context->consume_memory(size2); thread_context->consume_memory(size3); @@ -412,14 +386,14 @@ TEST_F(ThreadMemTrackerMgrTest, NestedSwitchMemTrackerReserveMemory) { thread_context->attach_task(TUniqueId(), t1, workload_group); auto st = thread_context->try_reserve_memory(size3); - EXPECT_TRUE(st.ok()); + EXPECT_TRUE(st.ok()) << st.to_string(); thread_context->consume_memory(size2); EXPECT_EQ(t1->consumption(), size3); EXPECT_EQ(doris::GlobalMemoryArbitrator::process_reserved_memory(), size3 - size2); thread_context->thread_mem_tracker_mgr->attach_limiter_tracker(t2); st = thread_context->try_reserve_memory(size3); - EXPECT_TRUE(st.ok()); + EXPECT_TRUE(st.ok()) << st.to_string(); EXPECT_EQ(t1->consumption(), size3); EXPECT_EQ(t2->consumption(), size3); EXPECT_EQ(doris::GlobalMemoryArbitrator::process_reserved_memory(), size3 - size2 + size3); @@ -431,7 +405,7 @@ TEST_F(ThreadMemTrackerMgrTest, NestedSwitchMemTrackerReserveMemory) { thread_context->thread_mem_tracker_mgr->attach_limiter_tracker(t3); st = thread_context->try_reserve_memory(size3); - EXPECT_TRUE(st.ok()); + EXPECT_TRUE(st.ok()) << st.to_string(); EXPECT_EQ(t1->consumption(), size3); EXPECT_EQ(t2->consumption(), size3 + size2); EXPECT_EQ(t3->consumption(), size3); From 16e3c78dbd2e38fa2bf4e7449b56090b9e215ab6 Mon Sep 17 00:00:00 2001 From: Mingyu Chen Date: Thu, 5 Sep 2024 22:02:58 +0800 Subject: [PATCH 074/199] [opt](cpu-profile) enable cpu profile in BE webui (#40330) Visit `be_ip:webserver_port/cpu` You can get cpu profile like this: image or ![img_v3_02ec_e8d45934-ddaf-45de-818e-a7e4899ec7cg](https://github.com/user-attachments/assets/6b1a4e15-a219-456b-9d1f-e3be88177db5) --- .licenserc.yaml | 1 + LICENSE.txt | 10 +- be/src/http/action/pprof_actions.cpp | 11 +- be/src/http/default_path_handlers.cpp | 21 +- be/src/util/pprof_utils.cpp | 4 + be/src/vec/exec/scan/vfile_scanner.cpp | 2 +- be/src/vec/exec/scan/vfile_scanner.h | 2 +- build.sh | 4 +- dist/LICENSE-dist.txt | 65 +- tools/FlameGraph/README | 13 + tools/FlameGraph/flamegraph.pl | 1302 ++++++++++++++++++++++++ tools/FlameGraph/stackcollapse-perf.pl | 435 ++++++++ 12 files changed, 1818 insertions(+), 52 deletions(-) create mode 100644 tools/FlameGraph/README create mode 100755 tools/FlameGraph/flamegraph.pl create mode 100755 tools/FlameGraph/stackcollapse-perf.pl diff --git a/.licenserc.yaml b/.licenserc.yaml index 28821fbb82c604..a20184eaf2f733 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -93,4 +93,5 @@ header: - "pytest/sys/data" - "pytest/deploy/*.conf" - "tools/jeprof" + - "tools/FlameGraph/*" comment: on-failure diff --git a/LICENSE.txt b/LICENSE.txt index e28911d07a4092..6f9b2963bbae09 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -725,4 +725,12 @@ Apache 2.0, Copyright 2023 SAP SE or an SAP affiliate company, Johannes Bechberg This project is maintained by the SapMachine team at SAP SE ----------------------------------------------------------------------------------- \ No newline at end of file +---------------------------------------------------------------------------------- + +be/tools/FlameGraph/*.pl: COMMON DEVELOPMENT AND DISTRIBUTION LICENSE Version 1.0 + +Unless otherwise noted, all files in this distribution are released +under the Common Development and Distribution License (CDDL). +Exceptions are noted within the associated source files. + +---------------------------------------------------------------------------------- diff --git a/be/src/http/action/pprof_actions.cpp b/be/src/http/action/pprof_actions.cpp index 1cc5f9cbef261d..453616669b66cb 100644 --- a/be/src/http/action/pprof_actions.cpp +++ b/be/src/http/action/pprof_actions.cpp @@ -23,7 +23,10 @@ !defined(THREAD_SANITIZER) && !defined(USE_JEMALLOC) #include // IWYU pragma: keep #include // IWYU pragma: keep -#include // IWYU pragma: keep +#endif +#if !defined(__SANITIZE_ADDRESS__) && !defined(ADDRESS_SANITIZER) && !defined(LEAK_SANITIZER) && \ + !defined(THREAD_SANITIZER) +#include // IWYU pragma: keep #endif #include @@ -141,8 +144,7 @@ class ProfileAction : public HttpHandlerWithAuth { }; void ProfileAction::handle(HttpRequest* req) { -#if defined(ADDRESS_SANITIZER) || defined(LEAK_SANITIZER) || defined(THREAD_SANITIZER) || \ - defined(USE_JEMALLOC) +#if defined(ADDRESS_SANITIZER) || defined(LEAK_SANITIZER) || defined(THREAD_SANITIZER) std::string str = "CPU profiling is not available with address sanitizer or jemalloc builds."; HttpChannel::send_reply(req, str); #else @@ -178,6 +180,7 @@ void ProfileAction::handle(HttpRequest* req) { prof_file.close(); std::string str = ss.str(); HttpChannel::send_reply(req, str); + return; } // text type. we will return readable content via http response @@ -193,7 +196,7 @@ void ProfileAction::handle(HttpRequest* req) { std::string svg_file_content; std::string flamegraph_install_dir = std::string(std::getenv("DORIS_HOME")) + "/tools/FlameGraph/"; - Status st = PprofUtils::generate_flamegraph(30, flamegraph_install_dir, false, + Status st = PprofUtils::generate_flamegraph(seconds, flamegraph_install_dir, false, &svg_file_content); if (!st.ok()) { HttpChannel::send_reply(req, st.to_string()); diff --git a/be/src/http/default_path_handlers.cpp b/be/src/http/default_path_handlers.cpp index abc34a2d874bef..ded72d9f28f7df 100644 --- a/be/src/http/default_path_handlers.cpp +++ b/be/src/http/default_path_handlers.cpp @@ -283,8 +283,7 @@ void heap_handler(const WebPageHandler::ArgumentMap& args, std::stringstream* ou void cpu_handler(const WebPageHandler::ArgumentMap& args, std::stringstream* output) { (*output) << "

CPU Profile

" << std::endl; -#if defined(ADDRESS_SANITIZER) || defined(LEAK_SANITIZER) || defined(THREAD_SANITIZER) || \ - defined(USE_JEMALLOC) +#if defined(ADDRESS_SANITIZER) || defined(LEAK_SANITIZER) || defined(THREAD_SANITIZER) (*output) << "
" << std::endl;
     (*output) << "CPU profiling is not available with address sanitizer builds." << std::endl;
     (*output) << "
" << std::endl; @@ -315,7 +314,8 @@ void cpu_handler(const WebPageHandler::ArgumentMap& args, std::stringstream* out << std::endl; (*output) << "And you need to download the FlameGraph and place it under 'be/tools/FlameGraph'." << std::endl; - (*output) << "Finally, check if the following files exist" << std::endl; + (*output) << "Finally, check if the following files exist. And should be executable." + << std::endl; (*output) << std::endl; (*output) << " be/tools/FlameGraph/stackcollapse-perf.pl" << std::endl; (*output) << " be/tools/FlameGraph/flamegraph.pl" << std::endl; @@ -335,9 +335,6 @@ void cpu_handler(const WebPageHandler::ArgumentMap& args, std::stringstream* out << std::endl; (*output) << "
" << std::endl; (*output) << "
" << std::endl; - (*output) << "
" << std::endl; - (*output) << "
" - << std::endl; (*output) << "" << std::endl; // for text profile @@ -350,14 +347,14 @@ void cpu_handler(const WebPageHandler::ArgumentMap& args, std::stringstream* out (*output) << " type: \"GET\"," << std::endl; (*output) << " dataType: \"text\"," << std::endl; (*output) << " url: \"pprof/profile?type=text\"," << std::endl; - (*output) << " timeout: 60000," << std::endl; + (*output) << " timeout: 120000," << std::endl; (*output) << " success: function (result) {" << std::endl; (*output) << " document.getElementById(\"cpuContent\").innerText = result;" << std::endl; (*output) << " }" << std::endl; (*output) << " ," << std::endl; (*output) << " error: function (result) {" << std::endl; - (*output) << " alert(result);" << std::endl; + (*output) << " alert(JSON.stringify(result));" << std::endl; (*output) << " }" << std::endl; (*output) << " ," << std::endl; (*output) << " });" << std::endl; @@ -365,21 +362,21 @@ void cpu_handler(const WebPageHandler::ArgumentMap& args, std::stringstream* out // for graph profile (*output) << "$('#getCpuGraph').click(function () {" << std::endl; - (*output) << " document.getElementById(\"cpuContentGraph\").innerText = \"Sampling... (30 " + (*output) << " document.getElementById(\"cpuContent\").innerText = \"Sampling... (30 " "seconds)\";" << std::endl; (*output) << " $.ajax({" << std::endl; (*output) << " type: \"GET\"," << std::endl; (*output) << " dataType: \"text\"," << std::endl; (*output) << " url: \"pprof/profile?type=flamegraph\"," << std::endl; - (*output) << " timeout: 60000," << std::endl; + (*output) << " timeout: 120000," << std::endl; (*output) << " success: function (result) {" << std::endl; - (*output) << " document.getElementById(\"cpuResultGraph\").innerHTML = result;" + (*output) << " document.getElementById(\"cpuContent\").innerHTML = result;" << std::endl; (*output) << " }" << std::endl; (*output) << " ," << std::endl; (*output) << " error: function (result) {" << std::endl; - (*output) << " alert(result);" << std::endl; + (*output) << " alert(JSON.stringify(result));" << std::endl; (*output) << " }" << std::endl; (*output) << " ," << std::endl; (*output) << " });" << std::endl; diff --git a/be/src/util/pprof_utils.cpp b/be/src/util/pprof_utils.cpp index c7f35ea299d3d5..7ac50ee33976cd 100644 --- a/be/src/util/pprof_utils.cpp +++ b/be/src/util/pprof_utils.cpp @@ -114,6 +114,7 @@ Status PprofUtils::get_readable_profile(const std::string& file_or_content, bool std::string final_cmd = pprof_cmd + strings::Substitute(" --text $0 $1", self_cmdline, final_file); AgentUtils util; + LOG(INFO) << "begin to run command: " << final_cmd; bool rc = util.exec_cmd(final_cmd, &cmd_output, false); // delete raw file @@ -158,6 +159,7 @@ Status PprofUtils::generate_flamegraph(int32_t sample_seconds, AgentUtils util; std::string cmd_output; + LOG(INFO) << "begin to run command: " << cmd.str(); bool rc = util.exec_cmd(cmd.str(), &cmd_output); if (!rc) { static_cast(io::global_local_filesystem()->delete_file(tmp_file.str())); @@ -174,6 +176,7 @@ Status PprofUtils::generate_flamegraph(int32_t sample_seconds, std::stringstream gen_cmd; gen_cmd << perf_cmd << " script -i " << tmp_file.str() << " | " << stackcollapse_perf_pl << " | " << flamegraph_pl << " > " << graph_file.str(); + LOG(INFO) << "begin to run command: " << gen_cmd.str(); rc = util.exec_cmd(gen_cmd.str(), &res_content); if (!rc) { static_cast(io::global_local_filesystem()->delete_file(tmp_file.str())); @@ -185,6 +188,7 @@ Status PprofUtils::generate_flamegraph(int32_t sample_seconds, std::stringstream gen_cmd; gen_cmd << perf_cmd << " script -i " << tmp_file.str() << " | " << stackcollapse_perf_pl << " | " << flamegraph_pl; + LOG(INFO) << "begin to run command: " << gen_cmd.str(); rc = util.exec_cmd(gen_cmd.str(), &res_content, false); if (!rc) { static_cast(io::global_local_filesystem()->delete_file(tmp_file.str())); diff --git a/be/src/vec/exec/scan/vfile_scanner.cpp b/be/src/vec/exec/scan/vfile_scanner.cpp index e2809433b3f097..75ecc744ac18fb 100644 --- a/be/src/vec/exec/scan/vfile_scanner.cpp +++ b/be/src/vec/exec/scan/vfile_scanner.cpp @@ -790,7 +790,7 @@ Status VFileScanner::_get_next_reader() { std::unique_ptr parquet_reader = ParquetReader::create_unique( _profile, *_params, range, _state->query_options().batch_size, const_cast(&_state->timezone_obj()), _io_ctx.get(), _state, - _shoudl_enable_file_meta_cache() ? ExecEnv::GetInstance()->file_meta_cache() + _should_enable_file_meta_cache() ? ExecEnv::GetInstance()->file_meta_cache() : nullptr, _state->query_options().enable_parquet_lazy_mat); { diff --git a/be/src/vec/exec/scan/vfile_scanner.h b/be/src/vec/exec/scan/vfile_scanner.h index 82fecd9e67524e..662e797e4aaf86 100644 --- a/be/src/vec/exec/scan/vfile_scanner.h +++ b/be/src/vec/exec/scan/vfile_scanner.h @@ -225,7 +225,7 @@ class VFileScanner : public VScanner { // 1. max_external_file_meta_cache_num is > 0 // 2. the file number is less than 1/3 of cache's capacibility // Otherwise, the cache miss rate will be high - bool _shoudl_enable_file_meta_cache() { + bool _should_enable_file_meta_cache() { return config::max_external_file_meta_cache_num > 0 && _split_source->num_scan_ranges() < config::max_external_file_meta_cache_num / 3; } diff --git a/build.sh b/build.sh index 2eca69a17a6175..c8aa2bf2c43626 100755 --- a/build.sh +++ b/build.sh @@ -755,7 +755,8 @@ if [[ "${OUTPUT_BE_BINARY}" -eq 1 ]]; then install -d "${DORIS_OUTPUT}/be/bin" \ "${DORIS_OUTPUT}/be/conf" \ "${DORIS_OUTPUT}/be/lib" \ - "${DORIS_OUTPUT}/be/www" + "${DORIS_OUTPUT}/be/www" \ + "${DORIS_OUTPUT}/be/tools/FlameGraph" cp -r -p "${DORIS_HOME}/be/output/bin"/* "${DORIS_OUTPUT}/be/bin"/ cp -r -p "${DORIS_HOME}/be/output/conf"/* "${DORIS_OUTPUT}/be/conf"/ @@ -801,6 +802,7 @@ EOF fi cp -r -p "${DORIS_HOME}/webroot/be"/* "${DORIS_OUTPUT}/be/www"/ + cp -r -p "${DORIS_HOME}/tools/FlameGraph"/* "${DORIS_OUTPUT}/be/tools/FlameGraph"/ if [[ "${STRIP_DEBUG_INFO}" = "ON" ]]; then cp -r -p "${DORIS_HOME}/be/output/lib/debug_info" "${DORIS_OUTPUT}/be/lib"/ fi diff --git a/dist/LICENSE-dist.txt b/dist/LICENSE-dist.txt index d44f6bf4964de3..25cfe636d88d49 100644 --- a/dist/LICENSE-dist.txt +++ b/dist/LICENSE-dist.txt @@ -1503,35 +1503,36 @@ LGPL -- licenes/LICENSE-LGPL.txt * gsasl: 1.10.0/1.8.0 Other dependencies: - * libevent: 2.1.12 -- license/LICENSE-libevent.txt - * openssl: 1.1.1s -- license/LICENSE-openssl.txt - * gflag: 2.2.2 -- license/LICENSE-gflag.txt - * glog: 0.4.0 -- license/LICENSE-glog.txt - * gtest: 1.11.0 -- license/LICENSE-gtest.txt - * snappy: 1.1.8 -- license/LICENSE-snappy.txt - * gperftools: 2.9.1 -- license/LICENSE-gperftools.txt - * zlib: 1.2.11 -- license/LICENSE-zlib.txt - * lz4: 1.9.3 -- license/LICENSE-lz4.txt - * bzip2: 1.0.8 -- license/LICENSE-bzip2.txt - * rapidjson@1a803826 -- license/LICENSE-rapidjson.txt - * curl: 7.79.0 -- license/LICENSE-curl.txt - * re2: 2021-02-02 -- license/LICENSE-re2.txt - * hyperscan: 5.4.0 -- license/LICENSE-hyperscan.txt - * vectorscan: 5.4.7 -- license/LICENSE-vectorscan.txt - * boost: 1.73.0 -- license/LICENSE-boost.txt - * unixodbc: 2.3.7 -- license/LICENSE-unixodbc.txt - * leveldb: 1.23 -- license/LICENSE-leveldb.txt - * cyrus-sasl: 2.1.27 -- license/LICENSE-cyrus-sasl.txt - * librdkafka: 1.8.2 -- license/LICENSE-librdkafka.txt - * zstd: 1.5.2 -- license/LICENSE-zstd.txt - * brotli: 1.0.9 -- license/LICENSE-brotli.txt - * bitshuffle: 0.5.1 -- license/LICENSE-bigshuffle.txt - * fmt: 7.1.3 -- license/LICENSE-fmt.txt - * jemalloc: 5.3.0 -- license/LICENSE-jemolloc.txt - * lzma@master -- license/LICENSE-lzma.txt - * libdivide: 5.0 -- license/LICENSE-libdivide.txt - * pdqsort: 0.0.0+git20180419 -- license/LICENSE-pdqsort.txt - * breakpad@38ee0be -- license/LICENSE-breakpod.txt - * xsimd: xmid@e9234cd6 -- license/LICENSE-xsimd.txt - * xxhash: 0.8.1 -- license/LICENSE-xxhash.txt - * concurrentqueue: 1.0.3 -- license/LICENSE-concurrentqueue.txt + * libevent: 2.1.12 -- licenses/LICENSE-libevent.txt + * openssl: 1.1.1s -- licenses/LICENSE-openssl.txt + * gflag: 2.2.2 -- licenses/LICENSE-gflag.txt + * glog: 0.4.0 -- licenses/LICENSE-glog.txt + * gtest: 1.11.0 -- licenses/LICENSE-gtest.txt + * snappy: 1.1.8 -- licenses/LICENSE-snappy.txt + * gperftools: 2.9.1 -- licenses/LICENSE-gperftools.txt + * zlib: 1.2.11 -- licenses/LICENSE-zlib.txt + * lz4: 1.9.3 -- licenses/LICENSE-lz4.txt + * bzip2: 1.0.8 -- licenses/LICENSE-bzip2.txt + * rapidjson@1a803826 -- licenses/LICENSE-rapidjson.txt + * curl: 7.79.0 -- licenses/LICENSE-curl.txt + * re2: 2021-02-02 -- licenses/LICENSE-re2.txt + * hyperscan: 5.4.0 -- licenses/LICENSE-hyperscan.txt + * vectorscan: 5.4.7 -- licenses/LICENSE-vectorscan.txt + * boost: 1.73.0 -- licenses/LICENSE-boost.txt + * unixodbc: 2.3.7 -- licenses/LICENSE-unixodbc.txt + * leveldb: 1.23 -- licenses/LICENSE-leveldb.txt + * cyrus-sasl: 2.1.27 -- licenses/LICENSE-cyrus-sasl.txt + * librdkafka: 1.8.2 -- licenses/LICENSE-librdkafka.txt + * zstd: 1.5.2 -- licenses/LICENSE-zstd.txt + * brotli: 1.0.9 -- licenses/LICENSE-brotli.txt + * bitshuffle: 0.5.1 -- licenses/LICENSE-bigshuffle.txt + * fmt: 7.1.3 -- licenses/LICENSE-fmt.txt + * jemalloc: 5.3.0 -- licenses/LICENSE-jemolloc.txt + * lzma@master -- licenses/LICENSE-lzma.txt + * libdivide: 5.0 -- licenses/LICENSE-libdivide.txt + * pdqsort: 0.0.0+git20180419 -- licenses/LICENSE-pdqsort.txt + * breakpad@38ee0be -- licenses/LICENSE-breakpod.txt + * xsimd: xmid@e9234cd6 -- licenses/LICENSE-xsimd.txt + * xxhash: 0.8.1 -- licenses/LICENSE-xxhash.txt + * concurrentqueue: 1.0.3 -- licenses/LICENSE-concurrentqueue.txt + * FlameGraph -- licenses/LICENSE-CDDL-1.0.txt diff --git a/tools/FlameGraph/README b/tools/FlameGraph/README new file mode 100644 index 00000000000000..64d54ca645a9ca --- /dev/null +++ b/tools/FlameGraph/README @@ -0,0 +1,13 @@ +These 2 files: + +- flamegraph.pl +- stackcollapse-perf.pl + +are copied from: + +https://github.com/brendangregg/FlameGraph/blob/master/flamegraph.pl +https://github.com/brendangregg/FlameGraph/blob/master/stackcollapse-perf.pl + +which are under license: + +https://github.com/brendangregg/FlameGraph/blob/master/docs/cddl1.txt diff --git a/tools/FlameGraph/flamegraph.pl b/tools/FlameGraph/flamegraph.pl new file mode 100755 index 00000000000000..8c917ecf323e13 --- /dev/null +++ b/tools/FlameGraph/flamegraph.pl @@ -0,0 +1,1302 @@ +#!/usr/bin/perl -w +# +# flamegraph.pl flame stack grapher. +# +# This takes stack samples and renders a call graph, allowing hot functions +# and codepaths to be quickly identified. Stack samples can be generated using +# tools such as DTrace, perf, SystemTap, and Instruments. +# +# USAGE: ./flamegraph.pl [options] input.txt > graph.svg +# +# grep funcA input.txt | ./flamegraph.pl [options] > graph.svg +# +# Then open the resulting .svg in a web browser, for interactivity: mouse-over +# frames for info, click to zoom, and ctrl-F to search. +# +# Options are listed in the usage message (--help). +# +# The input is stack frames and sample counts formatted as single lines. Each +# frame in the stack is semicolon separated, with a space and count at the end +# of the line. These can be generated for Linux perf script output using +# stackcollapse-perf.pl, for DTrace using stackcollapse.pl, and for other tools +# using the other stackcollapse programs. Example input: +# +# swapper;start_kernel;rest_init;cpu_idle;default_idle;native_safe_halt 1 +# +# An optional extra column of counts can be provided to generate a differential +# flame graph of the counts, colored red for more, and blue for less. This +# can be useful when using flame graphs for non-regression testing. +# See the header comment in the difffolded.pl program for instructions. +# +# The input functions can optionally have annotations at the end of each +# function name, following a precedent by some tools (Linux perf's _[k]): +# _[k] for kernel +# _[i] for inlined +# _[j] for jit +# _[w] for waker +# Some of the stackcollapse programs support adding these annotations, eg, +# stackcollapse-perf.pl --kernel --jit. They are used merely for colors by +# some palettes, eg, flamegraph.pl --color=java. +# +# The output flame graph shows relative presence of functions in stack samples. +# The ordering on the x-axis has no meaning; since the data is samples, time +# order of events is not known. The order used sorts function names +# alphabetically. +# +# While intended to process stack samples, this can also process stack traces. +# For example, tracing stacks for memory allocation, or resource usage. You +# can use --title to set the title to reflect the content, and --countname +# to change "samples" to "bytes" etc. +# +# There are a few different palettes, selectable using --color. By default, +# the colors are selected at random (except for differentials). Functions +# called "-" will be printed gray, which can be used for stack separators (eg, +# between user and kernel stacks). +# +# HISTORY +# +# This was inspired by Neelakanth Nadgir's excellent function_call_graph.rb +# program, which visualized function entry and return trace events. As Neel +# wrote: "The output displayed is inspired by Roch's CallStackAnalyzer which +# was in turn inspired by the work on vftrace by Jan Boerhout". See: +# https://blogs.oracle.com/realneel/entry/visualizing_callstacks_via_dtrace_and +# +# Copyright 2016 Netflix, Inc. +# Copyright 2011 Joyent, Inc. All rights reserved. +# Copyright 2011 Brendan Gregg. All rights reserved. +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at docs/cddl1.txt or +# http://opensource.org/licenses/CDDL-1.0. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at docs/cddl1.txt. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# 11-Oct-2014 Adrien Mahieux Added zoom. +# 21-Nov-2013 Shawn Sterling Added consistent palette file option +# 17-Mar-2013 Tim Bunce Added options and more tunables. +# 15-Dec-2011 Dave Pacheco Support for frames with whitespace. +# 10-Sep-2011 Brendan Gregg Created this. + +use strict; + +use Getopt::Long; + +use open qw(:std :utf8); + +# tunables +my $encoding; +my $fonttype = "Verdana"; +my $imagewidth = 1200; # max width, pixels +my $frameheight = 16; # max height is dynamic +my $fontsize = 12; # base text size +my $fontwidth = 0.59; # avg width relative to fontsize +my $minwidth = 0.1; # min function width, pixels or percentage of time +my $nametype = "Function:"; # what are the names in the data? +my $countname = "samples"; # what are the counts in the data? +my $colors = "hot"; # color theme +my $bgcolors = ""; # background color theme +my $nameattrfile; # file holding function attributes +my $timemax; # (override the) sum of the counts +my $factor = 1; # factor to scale counts by +my $hash = 0; # color by function name +my $rand = 0; # color randomly +my $palette = 0; # if we use consistent palettes (default off) +my %palette_map; # palette map hash +my $pal_file = "palette.map"; # palette map file name +my $stackreverse = 0; # reverse stack order, switching merge end +my $inverted = 0; # icicle graph +my $flamechart = 0; # produce a flame chart (sort by time, do not merge stacks) +my $negate = 0; # switch differential hues +my $titletext = ""; # centered heading +my $titledefault = "Flame Graph"; # overwritten by --title +my $titleinverted = "Icicle Graph"; # " " +my $searchcolor = "rgb(230,0,230)"; # color for search highlighting +my $notestext = ""; # embedded notes in SVG +my $subtitletext = ""; # second level title (optional) +my $help = 0; + +sub usage { + die < outfile.svg\n + --title TEXT # change title text + --subtitle TEXT # second level title (optional) + --width NUM # width of image (default 1200) + --height NUM # height of each frame (default 16) + --minwidth NUM # omit smaller functions. In pixels or use "%" for + # percentage of time (default 0.1 pixels) + --fonttype FONT # font type (default "Verdana") + --fontsize NUM # font size (default 12) + --countname TEXT # count type label (default "samples") + --nametype TEXT # name type label (default "Function:") + --colors PALETTE # set color palette. choices are: hot (default), mem, + # io, wakeup, chain, java, js, perl, red, green, blue, + # aqua, yellow, purple, orange + --bgcolors COLOR # set background colors. gradient choices are yellow + # (default), blue, green, grey; flat colors use "#rrggbb" + --hash # colors are keyed by function name hash + --random # colors are randomly generated + --cp # use consistent palette (palette.map) + --reverse # generate stack-reversed flame graph + --inverted # icicle graph + --flamechart # produce a flame chart (sort by time, do not merge stacks) + --negate # switch differential hues (blue<->red) + --notes TEXT # add notes comment in SVG (for debugging) + --help # this message + + eg, + $0 --title="Flame Graph: malloc()" trace.txt > graph.svg +USAGE_END +} + +GetOptions( + 'fonttype=s' => \$fonttype, + 'width=i' => \$imagewidth, + 'height=i' => \$frameheight, + 'encoding=s' => \$encoding, + 'fontsize=f' => \$fontsize, + 'fontwidth=f' => \$fontwidth, + 'minwidth=s' => \$minwidth, + 'title=s' => \$titletext, + 'subtitle=s' => \$subtitletext, + 'nametype=s' => \$nametype, + 'countname=s' => \$countname, + 'nameattr=s' => \$nameattrfile, + 'total=s' => \$timemax, + 'factor=f' => \$factor, + 'colors=s' => \$colors, + 'bgcolors=s' => \$bgcolors, + 'hash' => \$hash, + 'random' => \$rand, + 'cp' => \$palette, + 'reverse' => \$stackreverse, + 'inverted' => \$inverted, + 'flamechart' => \$flamechart, + 'negate' => \$negate, + 'notes=s' => \$notestext, + 'help' => \$help, +) or usage(); +$help && usage(); + +# internals +my $ypad1 = $fontsize * 3; # pad top, include title +my $ypad2 = $fontsize * 2 + 10; # pad bottom, include labels +my $ypad3 = $fontsize * 2; # pad top, include subtitle (optional) +my $xpad = 10; # pad lefm and right +my $framepad = 1; # vertical padding for frames +my $depthmax = 0; +my %Events; +my %nameattr; + +if ($flamechart && $titletext eq "") { + $titletext = "Flame Chart"; +} + +if ($titletext eq "") { + unless ($inverted) { + $titletext = $titledefault; + } else { + $titletext = $titleinverted; + } +} + +if ($nameattrfile) { + # The name-attribute file format is a function name followed by a tab then + # a sequence of tab separated name=value pairs. + open my $attrfh, $nameattrfile or die "Can't read $nameattrfile: $!\n"; + while (<$attrfh>) { + chomp; + my ($funcname, $attrstr) = split /\t/, $_, 2; + die "Invalid format in $nameattrfile" unless defined $attrstr; + $nameattr{$funcname} = { map { split /=/, $_, 2 } split /\t/, $attrstr }; + } +} + +if ($notestext =~ /[<>]/) { + die "Notes string can't contain < or >" +} + +# Ensure minwidth is a valid floating-point number, +# print usage string if not +my $minwidth_f; +if ($minwidth =~ /^([0-9.]+)%?$/) { + $minwidth_f = $1; +} else { + warn "Value '$minwidth' is invalid for minwidth, expected a float.\n"; + usage(); +} + +# background colors: +# - yellow gradient: default (hot, java, js, perl) +# - green gradient: mem +# - blue gradient: io, wakeup, chain +# - gray gradient: flat colors (red, green, blue, ...) +if ($bgcolors eq "") { + # choose a default + if ($colors eq "mem") { + $bgcolors = "green"; + } elsif ($colors =~ /^(io|wakeup|chain)$/) { + $bgcolors = "blue"; + } elsif ($colors =~ /^(red|green|blue|aqua|yellow|purple|orange)$/) { + $bgcolors = "grey"; + } else { + $bgcolors = "yellow"; + } +} +my ($bgcolor1, $bgcolor2); +if ($bgcolors eq "yellow") { + $bgcolor1 = "#eeeeee"; # background color gradient start + $bgcolor2 = "#eeeeb0"; # background color gradient stop +} elsif ($bgcolors eq "blue") { + $bgcolor1 = "#eeeeee"; $bgcolor2 = "#e0e0ff"; +} elsif ($bgcolors eq "green") { + $bgcolor1 = "#eef2ee"; $bgcolor2 = "#e0ffe0"; +} elsif ($bgcolors eq "grey") { + $bgcolor1 = "#f8f8f8"; $bgcolor2 = "#e8e8e8"; +} elsif ($bgcolors =~ /^#......$/) { + $bgcolor1 = $bgcolor2 = $bgcolors; +} else { + die "Unrecognized bgcolor option \"$bgcolors\"" +} + +# SVG functions +{ package SVG; + sub new { + my $class = shift; + my $self = {}; + bless ($self, $class); + return $self; + } + + sub header { + my ($self, $w, $h) = @_; + my $enc_attr = ''; + if (defined $encoding) { + $enc_attr = qq{ encoding="$encoding"}; + } + $self->{svg} .= < + + + + +SVG + } + + sub include { + my ($self, $content) = @_; + $self->{svg} .= $content; + } + + sub colorAllocate { + my ($self, $r, $g, $b) = @_; + return "rgb($r,$g,$b)"; + } + + sub group_start { + my ($self, $attr) = @_; + + my @g_attr = map { + exists $attr->{$_} ? sprintf(qq/$_="%s"/, $attr->{$_}) : () + } qw(id class); + push @g_attr, $attr->{g_extra} if $attr->{g_extra}; + if ($attr->{href}) { + my @a_attr; + push @a_attr, sprintf qq/xlink:href="%s"/, $attr->{href} if $attr->{href}; + # default target=_top else links will open within SVG + push @a_attr, sprintf qq/target="%s"/, $attr->{target} || "_top"; + push @a_attr, $attr->{a_extra} if $attr->{a_extra}; + $self->{svg} .= sprintf qq/\n/, join(' ', (@a_attr, @g_attr)); + } else { + $self->{svg} .= sprintf qq/\n/, join(' ', @g_attr); + } + + $self->{svg} .= sprintf qq/%s<\/title>/, $attr->{title} + if $attr->{title}; # should be first element within g container + } + + sub group_end { + my ($self, $attr) = @_; + $self->{svg} .= $attr->{href} ? qq/<\/a>\n/ : qq/<\/g>\n/; + } + + sub filledRectangle { + my ($self, $x1, $y1, $x2, $y2, $fill, $extra) = @_; + $x1 = sprintf "%0.1f", $x1; + $x2 = sprintf "%0.1f", $x2; + my $w = sprintf "%0.1f", $x2 - $x1; + my $h = sprintf "%0.1f", $y2 - $y1; + $extra = defined $extra ? $extra : ""; + $self->{svg} .= qq/\n/; + } + + sub stringTTF { + my ($self, $id, $x, $y, $str, $extra) = @_; + $x = sprintf "%0.2f", $x; + $id = defined $id ? qq/id="$id"/ : ""; + $extra ||= ""; + $self->{svg} .= qq/$str<\/text>\n/; + } + + sub svg { + my $self = shift; + return "$self->{svg}\n"; + } + 1; +} + +sub namehash { + # Generate a vector hash for the name string, weighting early over + # later characters. We want to pick the same colors for function + # names across different flame graphs. + my $name = shift; + my $vector = 0; + my $weight = 1; + my $max = 1; + my $mod = 10; + # if module name present, trunc to 1st char + $name =~ s/.(.*?)`//; + foreach my $c (split //, $name) { + my $i = (ord $c) % $mod; + $vector += ($i / ($mod++ - 1)) * $weight; + $max += 1 * $weight; + $weight *= 0.70; + last if $mod > 12; + } + return (1 - $vector / $max) +} + +sub sum_namehash { + my $name = shift; + return unpack("%32W*", $name); +} + +sub random_namehash { + # Generate a random hash for the name string. + # This ensures that functions with the same name have the same color, + # both within a flamegraph and across multiple flamegraphs without + # needing to set a palette and while preserving the original flamegraph + # optic, unlike what happens with --hash. + my $name = shift; + my $hash = sum_namehash($name); + srand($hash); + return rand(1) +} + +sub color { + my ($type, $hash, $name) = @_; + my ($v1, $v2, $v3); + + if ($hash) { + $v1 = namehash($name); + $v2 = $v3 = namehash(scalar reverse $name); + } elsif ($rand) { + $v1 = rand(1); + $v2 = rand(1); + $v3 = rand(1); + } else { + $v1 = random_namehash($name); + $v2 = random_namehash($name); + $v3 = random_namehash($name); + } + + # theme palettes + if (defined $type and $type eq "hot") { + my $r = 205 + int(50 * $v3); + my $g = 0 + int(230 * $v1); + my $b = 0 + int(55 * $v2); + return "rgb($r,$g,$b)"; + } + if (defined $type and $type eq "mem") { + my $r = 0; + my $g = 190 + int(50 * $v2); + my $b = 0 + int(210 * $v1); + return "rgb($r,$g,$b)"; + } + if (defined $type and $type eq "io") { + my $r = 80 + int(60 * $v1); + my $g = $r; + my $b = 190 + int(55 * $v2); + return "rgb($r,$g,$b)"; + } + + # multi palettes + if (defined $type and $type eq "java") { + # Handle both annotations (_[j], _[i], ...; which are + # accurate), as well as input that lacks any annotations, as + # best as possible. Without annotations, we get a little hacky + # and match on java|org|com, etc. + if ($name =~ m:_\[j\]$:) { # jit annotation + $type = "green"; + } elsif ($name =~ m:_\[i\]$:) { # inline annotation + $type = "aqua"; + } elsif ($name =~ m:^L?(java|javax|jdk|net|org|com|io|sun)/:) { # Java + $type = "green"; + } elsif ($name =~ /:::/) { # Java, typical perf-map-agent method separator + $type = "green"; + } elsif ($name =~ /::/) { # C++ + $type = "yellow"; + } elsif ($name =~ m:_\[k\]$:) { # kernel annotation + $type = "orange"; + } elsif ($name =~ /::/) { # C++ + $type = "yellow"; + } else { # system + $type = "red"; + } + # fall-through to color palettes + } + if (defined $type and $type eq "perl") { + if ($name =~ /::/) { # C++ + $type = "yellow"; + } elsif ($name =~ m:Perl: or $name =~ m:\.pl:) { # Perl + $type = "green"; + } elsif ($name =~ m:_\[k\]$:) { # kernel + $type = "orange"; + } else { # system + $type = "red"; + } + # fall-through to color palettes + } + if (defined $type and $type eq "js") { + # Handle both annotations (_[j], _[i], ...; which are + # accurate), as well as input that lacks any annotations, as + # best as possible. Without annotations, we get a little hacky, + # and match on a "/" with a ".js", etc. + if ($name =~ m:_\[j\]$:) { # jit annotation + if ($name =~ m:/:) { + $type = "green"; # source + } else { + $type = "aqua"; # builtin + } + } elsif ($name =~ /::/) { # C++ + $type = "yellow"; + } elsif ($name =~ m:/.*\.js:) { # JavaScript (match "/" in path) + $type = "green"; + } elsif ($name =~ m/:/) { # JavaScript (match ":" in builtin) + $type = "aqua"; + } elsif ($name =~ m/^ $/) { # Missing symbol + $type = "green"; + } elsif ($name =~ m:_\[k\]:) { # kernel + $type = "orange"; + } else { # system + $type = "red"; + } + # fall-through to color palettes + } + if (defined $type and $type eq "wakeup") { + $type = "aqua"; + # fall-through to color palettes + } + if (defined $type and $type eq "chain") { + if ($name =~ m:_\[w\]:) { # waker + $type = "aqua" + } else { # off-CPU + $type = "blue"; + } + # fall-through to color palettes + } + + # color palettes + if (defined $type and $type eq "red") { + my $r = 200 + int(55 * $v1); + my $x = 50 + int(80 * $v1); + return "rgb($r,$x,$x)"; + } + if (defined $type and $type eq "green") { + my $g = 200 + int(55 * $v1); + my $x = 50 + int(60 * $v1); + return "rgb($x,$g,$x)"; + } + if (defined $type and $type eq "blue") { + my $b = 205 + int(50 * $v1); + my $x = 80 + int(60 * $v1); + return "rgb($x,$x,$b)"; + } + if (defined $type and $type eq "yellow") { + my $x = 175 + int(55 * $v1); + my $b = 50 + int(20 * $v1); + return "rgb($x,$x,$b)"; + } + if (defined $type and $type eq "purple") { + my $x = 190 + int(65 * $v1); + my $g = 80 + int(60 * $v1); + return "rgb($x,$g,$x)"; + } + if (defined $type and $type eq "aqua") { + my $r = 50 + int(60 * $v1); + my $g = 165 + int(55 * $v1); + my $b = 165 + int(55 * $v1); + return "rgb($r,$g,$b)"; + } + if (defined $type and $type eq "orange") { + my $r = 190 + int(65 * $v1); + my $g = 90 + int(65 * $v1); + return "rgb($r,$g,0)"; + } + + return "rgb(0,0,0)"; +} + +sub color_scale { + my ($value, $max) = @_; + my ($r, $g, $b) = (255, 255, 255); + $value = -$value if $negate; + if ($value > 0) { + $g = $b = int(210 * ($max - $value) / $max); + } elsif ($value < 0) { + $r = $g = int(210 * ($max + $value) / $max); + } + return "rgb($r,$g,$b)"; +} + +sub color_map { + my ($colors, $func) = @_; + if (exists $palette_map{$func}) { + return $palette_map{$func}; + } else { + $palette_map{$func} = color($colors, $hash, $func); + return $palette_map{$func}; + } +} + +sub write_palette { + open(FILE, ">$pal_file"); + foreach my $key (sort keys %palette_map) { + print FILE $key."->".$palette_map{$key}."\n"; + } + close(FILE); +} + +sub read_palette { + if (-e $pal_file) { + open(FILE, $pal_file) or die "can't open file $pal_file: $!"; + while ( my $line = ) { + chomp($line); + (my $key, my $value) = split("->",$line); + $palette_map{$key}=$value; + } + close(FILE) + } +} + +my %Node; # Hash of merged frame data +my %Tmp; + +# flow() merges two stacks, storing the merged frames and value data in %Node. +sub flow { + my ($last, $this, $v, $d) = @_; + + my $len_a = @$last - 1; + my $len_b = @$this - 1; + + my $i = 0; + my $len_same; + for (; $i <= $len_a; $i++) { + last if $i > $len_b; + last if $last->[$i] ne $this->[$i]; + } + $len_same = $i; + + for ($i = $len_a; $i >= $len_same; $i--) { + my $k = "$last->[$i];$i"; + # a unique ID is constructed from "func;depth;etime"; + # func-depth isn't unique, it may be repeated later. + $Node{"$k;$v"}->{stime} = delete $Tmp{$k}->{stime}; + if (defined $Tmp{$k}->{delta}) { + $Node{"$k;$v"}->{delta} = delete $Tmp{$k}->{delta}; + } + delete $Tmp{$k}; + } + + for ($i = $len_same; $i <= $len_b; $i++) { + my $k = "$this->[$i];$i"; + $Tmp{$k}->{stime} = $v; + if (defined $d) { + $Tmp{$k}->{delta} += $i == $len_b ? $d : 0; + } + } + + return $this; +} + +# parse input +my @Data; +my @SortedData; +my $last = []; +my $time = 0; +my $delta = undef; +my $ignored = 0; +my $line; +my $maxdelta = 1; + +# reverse if needed +foreach (<>) { + chomp; + $line = $_; + if ($stackreverse) { + # there may be an extra samples column for differentials + # XXX todo: redo these REs as one. It's repeated below. + my($stack, $samples) = (/^(.*)\s+?(\d+(?:\.\d*)?)$/); + my $samples2 = undef; + if ($stack =~ /^(.*)\s+?(\d+(?:\.\d*)?)$/) { + $samples2 = $samples; + ($stack, $samples) = $stack =~ (/^(.*)\s+?(\d+(?:\.\d*)?)$/); + unshift @Data, join(";", reverse split(";", $stack)) . " $samples $samples2"; + } else { + unshift @Data, join(";", reverse split(";", $stack)) . " $samples"; + } + } else { + unshift @Data, $line; + } +} + +if ($flamechart) { + # In flame chart mode, just reverse the data so time moves from left to right. + @SortedData = reverse @Data; +} else { + @SortedData = sort @Data; +} + +# process and merge frames +foreach (@SortedData) { + chomp; + # process: folded_stack count + # eg: func_a;func_b;func_c 31 + my ($stack, $samples) = (/^(.*)\s+?(\d+(?:\.\d*)?)$/); + unless (defined $samples and defined $stack) { + ++$ignored; + next; + } + + # there may be an extra samples column for differentials: + my $samples2 = undef; + if ($stack =~ /^(.*)\s+?(\d+(?:\.\d*)?)$/) { + $samples2 = $samples; + ($stack, $samples) = $stack =~ (/^(.*)\s+?(\d+(?:\.\d*)?)$/); + } + $delta = undef; + if (defined $samples2) { + $delta = $samples2 - $samples; + $maxdelta = abs($delta) if abs($delta) > $maxdelta; + } + + # for chain graphs, annotate waker frames with "_[w]", for later + # coloring. This is a hack, but has a precedent ("_[k]" from perf). + if ($colors eq "chain") { + my @parts = split ";--;", $stack; + my @newparts = (); + $stack = shift @parts; + $stack .= ";--;"; + foreach my $part (@parts) { + $part =~ s/;/_[w];/g; + $part .= "_[w]"; + push @newparts, $part; + } + $stack .= join ";--;", @parts; + } + + # merge frames and populate %Node: + $last = flow($last, [ '', split ";", $stack ], $time, $delta); + + if (defined $samples2) { + $time += $samples2; + } else { + $time += $samples; + } +} +flow($last, [], $time, $delta); + +if ($countname eq "samples") { + # If $countname is used, it's likely that we're not measuring in stack samples + # (e.g. time could be the unit), so don't warn. + warn "Stack count is low ($time). Did something go wrong?\n" if $time < 100; +} + +warn "Ignored $ignored lines with invalid format\n" if $ignored; +unless ($time) { + warn "ERROR: No stack counts found\n"; + my $im = SVG->new(); + # emit an error message SVG, for tools automating flamegraph use + my $imageheight = $fontsize * 5; + $im->header($imagewidth, $imageheight); + $im->stringTTF(undef, int($imagewidth / 2), $fontsize * 2, + "ERROR: No valid input provided to flamegraph.pl."); + print $im->svg; + exit 2; +} +if ($timemax and $timemax < $time) { + warn "Specified --total $timemax is less than actual total $time, so ignored\n" + if $timemax/$time > 0.02; # only warn is significant (e.g., not rounding etc) + undef $timemax; +} +$timemax ||= $time; + +my $widthpertime = ($imagewidth - 2 * $xpad) / $timemax; + +# Treat as a percentage of time if the string ends in a "%". +my $minwidth_time; +if ($minwidth =~ /%$/) { + $minwidth_time = $timemax * $minwidth_f / 100; +} else { + $minwidth_time = $minwidth_f / $widthpertime; +} + +# prune blocks that are too narrow and determine max depth +while (my ($id, $node) = each %Node) { + my ($func, $depth, $etime) = split ";", $id; + my $stime = $node->{stime}; + die "missing start for $id" if not defined $stime; + + if (($etime-$stime) < $minwidth_time) { + delete $Node{$id}; + next; + } + $depthmax = $depth if $depth > $depthmax; +} + +# draw canvas, and embed interactive JavaScript program +my $imageheight = (($depthmax + 1) * $frameheight) + $ypad1 + $ypad2; +$imageheight += $ypad3 if $subtitletext ne ""; +my $titlesize = $fontsize + 5; +my $im = SVG->new(); +my ($black, $vdgrey, $dgrey) = ( + $im->colorAllocate(0, 0, 0), + $im->colorAllocate(160, 160, 160), + $im->colorAllocate(200, 200, 200), + ); +$im->header($imagewidth, $imageheight); +my $inc = < + + + + + + + +INC +$im->include($inc); +$im->filledRectangle(0, 0, $imagewidth, $imageheight, 'url(#background)'); +$im->stringTTF("title", int($imagewidth / 2), $fontsize * 2, $titletext); +$im->stringTTF("subtitle", int($imagewidth / 2), $fontsize * 4, $subtitletext) if $subtitletext ne ""; +$im->stringTTF("details", $xpad, $imageheight - ($ypad2 / 2), " "); +$im->stringTTF("unzoom", $xpad, $fontsize * 2, "Reset Zoom", 'class="hide"'); +$im->stringTTF("search", $imagewidth - $xpad - 100, $fontsize * 2, "Search"); +$im->stringTTF("ignorecase", $imagewidth - $xpad - 16, $fontsize * 2, "ic"); +$im->stringTTF("matched", $imagewidth - $xpad - 100, $imageheight - ($ypad2 / 2), " "); + +if ($palette) { + read_palette(); +} + +# draw frames +$im->group_start({id => "frames"}); +while (my ($id, $node) = each %Node) { + my ($func, $depth, $etime) = split ";", $id; + my $stime = $node->{stime}; + my $delta = $node->{delta}; + + $etime = $timemax if $func eq "" and $depth == 0; + + my $x1 = $xpad + $stime * $widthpertime; + my $x2 = $xpad + $etime * $widthpertime; + my ($y1, $y2); + unless ($inverted) { + $y1 = $imageheight - $ypad2 - ($depth + 1) * $frameheight + $framepad; + $y2 = $imageheight - $ypad2 - $depth * $frameheight; + } else { + $y1 = $ypad1 + $depth * $frameheight; + $y2 = $ypad1 + ($depth + 1) * $frameheight - $framepad; + } + + # Add commas per perlfaq5: + # https://perldoc.perl.org/perlfaq5#How-can-I-output-my-numbers-with-commas-added? + my $samples = sprintf "%.0f", ($etime - $stime) * $factor; + (my $samples_txt = $samples) + =~ s/(^[-+]?\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))/$1,/g; + + my $info; + if ($func eq "" and $depth == 0) { + $info = "all ($samples_txt $countname, 100%)"; + } else { + my $pct = sprintf "%.2f", ((100 * $samples) / ($timemax * $factor)); + my $escaped_func = $func; + # clean up SVG breaking characters: + $escaped_func =~ s/&/&/g; + $escaped_func =~ s//>/g; + $escaped_func =~ s/"/"/g; + $escaped_func =~ s/_\[[kwij]\]$//; # strip any annotation + unless (defined $delta) { + $info = "$escaped_func ($samples_txt $countname, $pct%)"; + } else { + my $d = $negate ? -$delta : $delta; + my $deltapct = sprintf "%.2f", ((100 * $d) / ($timemax * $factor)); + $deltapct = $d > 0 ? "+$deltapct" : $deltapct; + $info = "$escaped_func ($samples_txt $countname, $pct%; $deltapct%)"; + } + } + + my $nameattr = { %{ $nameattr{$func}||{} } }; # shallow clone + $nameattr->{title} ||= $info; + $im->group_start($nameattr); + + my $color; + if ($func eq "--") { + $color = $vdgrey; + } elsif ($func eq "-") { + $color = $dgrey; + } elsif (defined $delta) { + $color = color_scale($delta, $maxdelta); + } elsif ($palette) { + $color = color_map($colors, $func); + } else { + $color = color($colors, $hash, $func); + } + $im->filledRectangle($x1, $y1, $x2, $y2, $color, 'rx="2" ry="2"'); + + my $chars = int( ($x2 - $x1) / ($fontsize * $fontwidth)); + my $text = ""; + if ($chars >= 3) { # room for one char plus two dots + $func =~ s/_\[[kwij]\]$//; # strip any annotation + $text = substr $func, 0, $chars; + substr($text, -2, 2) = ".." if $chars < length $func; + $text =~ s/&/&/g; + $text =~ s//>/g; + } + $im->stringTTF(undef, $x1 + 3, 3 + ($y1 + $y2) / 2, $text); + + $im->group_end($nameattr); +} +$im->group_end(); + +print $im->svg; + +if ($palette) { + write_palette(); +} + +# vim: ts=8 sts=8 sw=8 noexpandtab diff --git a/tools/FlameGraph/stackcollapse-perf.pl b/tools/FlameGraph/stackcollapse-perf.pl new file mode 100755 index 00000000000000..3ff39bfb87f8f6 --- /dev/null +++ b/tools/FlameGraph/stackcollapse-perf.pl @@ -0,0 +1,435 @@ +#!/usr/bin/perl -w +# +# stackcollapse-perf.pl collapse perf samples into single lines. +# +# Parses a list of multiline stacks generated by "perf script", and +# outputs a semicolon separated stack followed by a space and a count. +# If memory addresses (+0xd) are present, they are stripped, and resulting +# identical stacks are colased with their counts summed. +# +# USAGE: ./stackcollapse-perf.pl [options] infile > outfile +# +# Run "./stackcollapse-perf.pl -h" to list options. +# +# Example input: +# +# swapper 0 [000] 158665.570607: cpu-clock: +# ffffffff8103ce3b native_safe_halt ([kernel.kallsyms]) +# ffffffff8101c6a3 default_idle ([kernel.kallsyms]) +# ffffffff81013236 cpu_idle ([kernel.kallsyms]) +# ffffffff815bf03e rest_init ([kernel.kallsyms]) +# ffffffff81aebbfe start_kernel ([kernel.kallsyms].init.text) +# [...] +# +# Example output: +# +# swapper;start_kernel;rest_init;cpu_idle;default_idle;native_safe_halt 1 +# +# Input may be created and processed using: +# +# perf record -a -g -F 997 sleep 60 +# perf script | ./stackcollapse-perf.pl > out.stacks-folded +# +# The output of "perf script" should include stack traces. If these are missing +# for you, try manually selecting the perf script output; eg: +# +# perf script -f comm,pid,tid,cpu,time,event,ip,sym,dso,trace | ... +# +# This is also required for the --pid or --tid options, so that the output has +# both the PID and TID. +# +# Copyright 2012 Joyent, Inc. All rights reserved. +# Copyright 2012 Brendan Gregg. All rights reserved. +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at docs/cddl1.txt or +# http://opensource.org/licenses/CDDL-1.0. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at docs/cddl1.txt. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# 02-Mar-2012 Brendan Gregg Created this. +# 02-Jul-2014 " " Added process name to stacks. + +use strict; +use Getopt::Long; + +my %collapsed; + +sub remember_stack { + my ($stack, $count) = @_; + $collapsed{$stack} += $count; +} +my $annotate_kernel = 0; # put an annotation on kernel function +my $annotate_jit = 0; # put an annotation on jit symbols +my $annotate_all = 0; # enale all annotations +my $include_pname = 1; # include process names in stacks +my $include_pid = 0; # include process ID with process name +my $include_tid = 0; # include process & thread ID with process name +my $include_addrs = 0; # include raw address where a symbol can't be found +my $tidy_java = 1; # condense Java signatures +my $tidy_generic = 1; # clean up function names a little +my $target_pname; # target process name from perf invocation +my $event_filter = ""; # event type filter, defaults to first encountered event +my $event_defaulted = 0; # whether we defaulted to an event (none provided) +my $event_warning = 0; # if we printed a warning for the event + +my $show_inline = 0; +my $show_context = 0; + +my $srcline_in_input = 0; # if there are extra lines with source location (perf script -F+srcline) +GetOptions('inline' => \$show_inline, + 'context' => \$show_context, + 'srcline' => \$srcline_in_input, + 'pid' => \$include_pid, + 'kernel' => \$annotate_kernel, + 'jit' => \$annotate_jit, + 'all' => \$annotate_all, + 'tid' => \$include_tid, + 'addrs' => \$include_addrs, + 'event-filter=s' => \$event_filter) +or die < outfile\n + --pid # include PID with process names [1] + --tid # include TID and PID with process names [1] + --inline # un-inline using addr2line + --all # all annotations (--kernel --jit) + --kernel # annotate kernel functions with a _[k] + --jit # annotate jit functions with a _[j] + --context # adds source context to --inline + --srcline # parses output of 'perf script -F+srcline' and adds source context + --addrs # include raw addresses where symbols can't be found + --event-filter=EVENT # event name filter\n +[1] perf script must emit both PID and TIDs for these to work; eg, Linux < 4.1: + perf script -f comm,pid,tid,cpu,time,event,ip,sym,dso,trace + for Linux >= 4.1: + perf script -F comm,pid,tid,cpu,time,event,ip,sym,dso,trace + If you save this output add --header on Linux >= 3.14 to include perf info. +USAGE_END + +if ($annotate_all) { + $annotate_kernel = $annotate_jit = 1; +} + +my %inlineCache; + +my %nmCache; + +sub inlineCacheAdd { + my ($pc, $mod, $result) = @_; + if (defined($inlineCache{$pc})) { + $inlineCache{$pc}{$mod} = $result; + } else { + $inlineCache{$pc} = {$mod => $result}; + } +} + +# for the --inline option +sub inline { + my ($pc, $rawfunc, $mod) = @_; + + return $inlineCache{$pc}{$mod} if defined($inlineCache{$pc}{$mod}); + + # capture addr2line output + my $a2l_output = `addr2line -a $pc -e $mod -i -f -s -C`; + + # remove first line + $a2l_output =~ s/^(.*\n){1}//; + + if ($a2l_output =~ /\?\?\n\?\?:0/) { + # if addr2line fails and rawfunc is func+offset, then fall back to it + if ($rawfunc =~ /^(.+)\+0x([0-9a-f]+)$/) { + my $func = $1; + my $addr = hex $2; + + $nmCache{$mod}=`nm $mod` unless defined $nmCache{$mod}; + + if ($nmCache{$mod} =~ /^([0-9a-f]+) . \Q$func\E$/m) { + my $base = hex $1; + my $newPc = sprintf "0x%x", $base+$addr; + my $result = inline($newPc, '', $mod); + inlineCacheAdd($pc, $mod, $result); + return $result; + } + } + } + + my @fullfunc; + my $one_item = ""; + for (split /^/, $a2l_output) { + chomp $_; + + # remove discriminator info if exists + $_ =~ s/ \(discriminator \S+\)//; + + if ($one_item eq "") { + $one_item = $_; + } else { + if ($show_context == 1) { + unshift @fullfunc, $one_item . ":$_"; + } else { + unshift @fullfunc, $one_item; + } + $one_item = ""; + } + } + + my $result = join ";" , @fullfunc; + + inlineCacheAdd($pc, $mod, $result); + + return $result; +} + +my @stack; +my $pname; +my $m_pid; +my $m_tid; +my $m_period; + +# +# Main loop +# +while (defined($_ = <>)) { + + # find the name of the process launched by perf, by stepping backwards + # over the args to find the first non-option (no dash): + if (/^# cmdline/) { + my @args = split ' ', $_; + foreach my $arg (reverse @args) { + if ($arg !~ /^-/) { + $target_pname = $arg; + $target_pname =~ s:.*/::; # strip pathname + last; + } + } + } + + # skip remaining comments + next if m/^#/; + chomp; + + # end of stack. save cached data. + if (m/^$/) { + # ignore filtered samples + next if not $pname; + + if ($include_pname) { + if (defined $pname) { + unshift @stack, $pname; + } else { + unshift @stack, ""; + } + } + remember_stack(join(";", @stack), $m_period) if @stack; + undef @stack; + undef $pname; + next; + } + + # + # event record start + # + if (/^(\S.+?)\s+(\d+)\/*(\d+)*\s+/) { + # default "perf script" output has TID but not PID + # eg, "java 25607 4794564.109216: 1 cycles:" + # eg, "java 12688 [002] 6544038.708352: 235 cpu-clock:" + # eg, "V8 WorkerThread 25607 4794564.109216: 104345 cycles:" + # eg, "java 24636/25607 [000] 4794564.109216: 1 cycles:" + # eg, "java 12688/12764 6544038.708352: 10309278 cpu-clock:" + # eg, "V8 WorkerThread 24636/25607 [000] 94564.109216: 100 cycles:" + # other combinations possible + my ($comm, $pid, $tid, $period) = ($1, $2, $3, ""); + if (not $tid) { + $tid = $pid; + $pid = "?"; + } + + if (/:\s*(\d+)*\s+(\S+):\s*$/) { + $period = $1; + my $event = $2; + + if ($event_filter eq "") { + # By default only show events of the first encountered + # event type. Merging together different types, such as + # instructions and cycles, produces misleading results. + $event_filter = $event; + $event_defaulted = 1; + } elsif ($event ne $event_filter) { + if ($event_defaulted and $event_warning == 0) { + # only print this warning if necessary: + # when we defaulted and there was + # multiple event types. + print STDERR "Filtering for events of type: $event\n"; + $event_warning = 1; + } + next; + } + } + + if (not $period) { + $period = 1 + } + ($m_pid, $m_tid, $m_period) = ($pid, $tid, $period); + + if ($include_tid) { + $pname = "$comm-$m_pid/$m_tid"; + } elsif ($include_pid) { + $pname = "$comm-$m_pid"; + } else { + $pname = "$comm"; + } + $pname =~ tr/ /_/; + + # + # stack line + # + } elsif (/^\s*(\w+)\s*(.+) \((.*)\)/) { + # ignore filtered samples + next if not $pname; + + my ($pc, $rawfunc, $mod) = ($1, $2, $3); + + if ($show_inline == 1 && $mod !~ m/(perf-\d+.map|kernel\.|\[[^\]]+\])/) { + my $inlineRes = inline($pc, $rawfunc, $mod); + # - empty result this happens e.g., when $mod does not exist or is a path to a compressed kernel module + # if this happens, the user will see error message from addr2line written to stderr + # - if addr2line results in "??" , then it's much more sane to fall back than produce a '??' in graph + if($inlineRes ne "" and $inlineRes ne "??" and $inlineRes ne "??:??:0" ) { + unshift @stack, $inlineRes; + next; + } + } + + # Linux 4.8 included symbol offsets in perf script output by default, eg: + # 7fffb84c9afc cpu_startup_entry+0x800047c022ec ([kernel.kallsyms]) + # strip these off: + $rawfunc =~ s/\+0x[\da-f]+$//; + + next if $rawfunc =~ /^\(/; # skip process names + + my $is_unknown=0; + my @inline; + for (split /\->/, $rawfunc) { + my $func = $_; + + if ($func eq "[unknown]") { + if ($mod ne "[unknown]") { # use module name instead, if known + $func = $mod; + $func =~ s/.*\///; + } else { + $func = "unknown"; + $is_unknown=1; + } + + if ($include_addrs) { + $func = "\[$func \<$pc\>\]"; + } else { + $func = "\[$func\]"; + } + } + + if ($tidy_generic) { + $func =~ s/;/:/g; + if ($func !~ m/\.\(.*\)\./) { + # This doesn't look like a Go method name (such as + # "net/http.(*Client).Do"), so everything after the first open + # paren (that is not part of an "(anonymous namespace)") is + # just noise. + $func =~ s/\((?!anonymous namespace\)).*//; + } + # now tidy this horrible thing: + # 13a80b608e0a RegExp:[&<>\"\'] (/tmp/perf-7539.map) + $func =~ tr/"\'//d; + # fall through to $tidy_java + } + + if ($tidy_java and $pname =~ m/^java/) { + # along with $tidy_generic, converts the following: + # Lorg/mozilla/javascript/ContextFactory;.call(Lorg/mozilla/javascript/ContextAction;)Ljava/lang/Object; + # Lorg/mozilla/javascript/ContextFactory;.call(Lorg/mozilla/javascript/C + # Lorg/mozilla/javascript/MemberBox;.(Ljava/lang/reflect/Method;)V + # into: + # org/mozilla/javascript/ContextFactory:.call + # org/mozilla/javascript/ContextFactory:.call + # org/mozilla/javascript/MemberBox:.init + $func =~ s/^L// if $func =~ m:/:; + } + + # + # Annotations + # + # detect inlined from the @inline array + # detect kernel from the module name; eg, frames to parse include: + # ffffffff8103ce3b native_safe_halt ([kernel.kallsyms]) + # 8c3453 tcp_sendmsg (/lib/modules/4.3.0-rc1-virtual/build/vmlinux) + # 7d8 ipv4_conntrack_local+0x7f8f80b8 ([nf_conntrack_ipv4]) + # detect jit from the module name; eg: + # 7f722d142778 Ljava/io/PrintStream;::print (/tmp/perf-19982.map) + if (scalar(@inline) > 0) { + $func .= "_[i]" unless $func =~ m/\_\[i\]/; # inlined + } elsif ($annotate_kernel == 1 && $mod =~ m/(^\[|vmlinux$)/ && $mod !~ /unknown/) { + $func .= "_[k]"; # kernel + } elsif ($annotate_jit == 1 && $mod =~ m:/tmp/perf-\d+\.map:) { + $func .= "_[j]" unless $func =~ m/\_\[j\]/; # jitted + } + + # + # Source lines + # + # + # Sample outputs: + # | a.out 35081 252436.005167: 667783 cycles: + # | 408ebb some_method_name+0x8b (/full/path/to/a.out) + # | uniform_int_dist.h:300 + # | 4069f5 main+0x935 (/full/path/to/a.out) + # | file.cpp:137 + # | 7f6d2148eb25 __libc_start_main+0xd5 (/lib64/libc-2.33.so) + # | libc-2.33.so[27b25] + # + # | a.out 35081 252435.738165: 306459 cycles: + # | 7f6d213c2750 [unknown] (/usr/lib64/libkmod.so.2.3.6) + # | libkmod.so.2.3.6[6750] + # + # | a.out 35081 252435.738373: 315813 cycles: + # | 7f6d215ca51b __strlen_avx2+0x4b (/lib64/libc-2.33.so) + # | libc-2.33.so[16351b] + # | 7ffc71ee9580 [unknown] ([unknown]) + # | + # + # | a.out 35081 252435.718940: 247984 cycles: + # | ffffffff814f9302 up_write+0x32 ([kernel.kallsyms]) + # | [kernel.kallsyms][ffffffff814f9302] + if($srcline_in_input and not $is_unknown){ + $_ = <>; + chomp; + s/\[.*?\]//g; + s/^\s*//g; + s/\s*$//g; + $func.=':'.$_ unless $_ eq ""; + } + + push @inline, $func; + } + + unshift @stack, @inline; + } else { + warn "Unrecognized line: $_"; + } +} + +foreach my $k (sort { $a cmp $b } keys %collapsed) { + print "$k $collapsed{$k}\n"; +} From 57978149db437c6f7e8d48fe334ddfe1e294915d Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Thu, 5 Sep 2024 22:15:51 +0800 Subject: [PATCH 075/199] [fix](memory) Reflect Allocator memory tracker (#40439) fix: ![img_v3_02e7_e9847bd3-89ad-4e9e-8fa1-76109a5386fg](https://github.com/user-attachments/assets/0a7d627e-23d0-40f1-bec9-b9d9f64fed02) --- be/src/olap/page_cache.cpp | 10 ++++++---- be/src/olap/page_cache.h | 1 + be/src/runtime/thread_context.h | 21 ++++++++++++++------- be/src/util/byte_buffer.h | 8 +++++++- be/src/vec/common/allocator.cpp | 33 ++------------------------------- be/src/vec/common/allocator.h | 11 ++++++++--- 6 files changed, 38 insertions(+), 46 deletions(-) diff --git a/be/src/olap/page_cache.cpp b/be/src/olap/page_cache.cpp index b70dadc5b431ea..1f0556f4642110 100644 --- a/be/src/olap/page_cache.cpp +++ b/be/src/olap/page_cache.cpp @@ -28,10 +28,12 @@ template PageBase::PageBase(size_t b, bool use_cache, segment_v2::PageTypePB page_type) : LRUCacheValueBase(), _size(b), _capacity(b) { if (use_cache) { - SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER( - StoragePageCache::instance()->mem_tracker(page_type)); - _data = reinterpret_cast(TAllocator::alloc(_capacity, ALLOCATOR_ALIGNMENT_16)); + _mem_tracker_by_allocator = StoragePageCache::instance()->mem_tracker(page_type); } else { + _mem_tracker_by_allocator = thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker(); + } + { + SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(_mem_tracker_by_allocator); _data = reinterpret_cast(TAllocator::alloc(_capacity, ALLOCATOR_ALIGNMENT_16)); } } @@ -40,7 +42,7 @@ template PageBase::~PageBase() { if (_data != nullptr) { DCHECK(_capacity != 0 && _size != 0); - SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(TAllocator::mem_tracker_); + SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(_mem_tracker_by_allocator); TAllocator::free(_data, _capacity); } } diff --git a/be/src/olap/page_cache.h b/be/src/olap/page_cache.h index ef25de7bc30c63..09fc689959ce4c 100644 --- a/be/src/olap/page_cache.h +++ b/be/src/olap/page_cache.h @@ -60,6 +60,7 @@ class PageBase : private TAllocator, public LRUCacheValueBase { // Effective size, smaller than capacity, such as data page remove checksum suffix. size_t _size = 0; size_t _capacity = 0; + std::shared_ptr _mem_tracker_by_allocator; }; using DataPage = PageBase>; diff --git a/be/src/runtime/thread_context.h b/be/src/runtime/thread_context.h index 0ee47a979628d8..ea842c12028665 100644 --- a/be/src/runtime/thread_context.h +++ b/be/src/runtime/thread_context.h @@ -456,8 +456,10 @@ class SwitchThreadMemTrackerLimiter { const std::shared_ptr& mem_tracker) { DCHECK(mem_tracker); doris::ThreadLocalHandle::create_thread_local_if_not_exits(); - _old_mem_tracker = thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker(); - thread_context()->thread_mem_tracker_mgr->attach_limiter_tracker(mem_tracker); + if (mem_tracker != thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker()) { + _old_mem_tracker = thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker(); + thread_context()->thread_mem_tracker_mgr->attach_limiter_tracker(mem_tracker); + } } explicit SwitchThreadMemTrackerLimiter(const doris::QueryThreadContext& query_thread_context) { @@ -465,18 +467,23 @@ class SwitchThreadMemTrackerLimiter { DCHECK(thread_context()->task_id() == query_thread_context.query_id); // workload group alse not change DCHECK(query_thread_context.query_mem_tracker); - _old_mem_tracker = thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker(); - thread_context()->thread_mem_tracker_mgr->attach_limiter_tracker( - query_thread_context.query_mem_tracker); + if (query_thread_context.query_mem_tracker != + thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker()) { + _old_mem_tracker = thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker(); + thread_context()->thread_mem_tracker_mgr->attach_limiter_tracker( + query_thread_context.query_mem_tracker); + } } ~SwitchThreadMemTrackerLimiter() { - thread_context()->thread_mem_tracker_mgr->detach_limiter_tracker(_old_mem_tracker); + if (_old_mem_tracker != nullptr) { + thread_context()->thread_mem_tracker_mgr->detach_limiter_tracker(_old_mem_tracker); + } doris::ThreadLocalHandle::del_thread_local_if_count_is_zero(); } private: - std::shared_ptr _old_mem_tracker; + std::shared_ptr _old_mem_tracker {nullptr}; }; class AddThreadMemTrackerConsumer { diff --git a/be/src/util/byte_buffer.h b/be/src/util/byte_buffer.h index aafd4506087d76..17764b9e4f6ec1 100644 --- a/be/src/util/byte_buffer.h +++ b/be/src/util/byte_buffer.h @@ -69,9 +69,15 @@ struct ByteBuffer : private Allocator { size_t capacity; private: - ByteBuffer(size_t capacity_) : pos(0), limit(capacity_), capacity(capacity_) { + ByteBuffer(size_t capacity_) + : pos(0), + limit(capacity_), + capacity(capacity_), + mem_tracker_(doris::thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker()) { ptr = reinterpret_cast(Allocator::alloc(capacity_)); } + + std::shared_ptr mem_tracker_; }; } // namespace doris diff --git a/be/src/vec/common/allocator.cpp b/be/src/vec/common/allocator.cpp index c7dda2b4c19a06..dff1330888f82d 100644 --- a/be/src/vec/common/allocator.cpp +++ b/be/src/vec/common/allocator.cpp @@ -211,43 +211,14 @@ void Allocator::memory_ template void Allocator::consume_memory( - size_t size) { - // Usually, an object that inherits Allocator has the same TLS tracker for each alloc. - // If an object that inherits Allocator needs to be reused by multiple queries, - // it is necessary to switch the same tracker to TLS when calling alloc. - // However, in ORC Reader, ORC DataBuffer will be reused, but we cannot switch TLS tracker, - // so we update the Allocator tracker when the TLS tracker changes. - // note that the tracker in thread context when object that inherit Allocator is constructed may be - // no attach memory tracker in tls. usually the memory tracker is attached in tls only during the first alloc. - if (mem_tracker_ == nullptr || - mem_tracker_->label() != doris::thread_context()->thread_mem_tracker()->label()) { - mem_tracker_ = doris::thread_context()->thread_mem_tracker_mgr->limiter_mem_tracker(); - } + size_t size) const { CONSUME_THREAD_MEM_TRACKER(size); } template void Allocator::release_memory( size_t size) const { - doris::ThreadContext* thread_context = doris::thread_context(true); - if ((thread_context && thread_context->thread_mem_tracker()->label() != "Orphan") || - mem_tracker_ == nullptr) { - // If thread_context exist and the label of thread_mem_tracker not equal to `Orphan`, - // this means that in the scope of SCOPED_ATTACH_TASK, - // so thread_mem_tracker should be used to release memory. - // If mem_tracker_ is nullptr there is a scenario where an object that inherits Allocator - // has never called alloc, but free memory. - // in phmap, the memory alloced by an object may be transferred to another object and then free. - // in this case, thread context must attach a memory tracker other than Orphan, - // otherwise memory tracking will be wrong. - RELEASE_THREAD_MEM_TRACKER(size); - } else { - // if thread_context does not exist or the label of thread_mem_tracker is equal to - // `Orphan`, it usually happens during object destruction. This means that - // the scope of SCOPED_ATTACH_TASK has been left, so release memory using Allocator tracker. - SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(mem_tracker_); - RELEASE_THREAD_MEM_TRACKER(size); - } + RELEASE_THREAD_MEM_TRACKER(size); } template diff --git a/be/src/vec/common/allocator.h b/be/src/vec/common/allocator.h index f393886cf0b333..0427d0c968df7e 100644 --- a/be/src/vec/common/allocator.h +++ b/be/src/vec/common/allocator.h @@ -232,7 +232,14 @@ class Allocator { // alloc will continue to execute, so the consume memtracker is forced. void memory_check(size_t size) const; // Increases consumption of this tracker by 'bytes'. - void consume_memory(size_t size); + // some special cases: + // 1. objects that inherit Allocator will not be shared by multiple queries. + // non-compliant: page cache, ORC ByteBuffer. + // 2. objects that inherit Allocator will only free memory allocated by themselves. + // non-compliant: phmap, the memory alloced by an object may be transferred to another object and then free. + // 3. the memory tracker in TLS is the same during the construction of objects that inherit Allocator + // and during subsequent memory allocation. + void consume_memory(size_t size) const; void release_memory(size_t size) const; void throw_bad_alloc(const std::string& err) const; #ifndef NDEBUG @@ -404,8 +411,6 @@ class Allocator { static constexpr bool clear_memory = clear_memory_; - std::shared_ptr mem_tracker_ {nullptr}; - // Freshly mmapped pages are copy-on-write references to a global zero page. // On the first write, a page fault occurs, and an actual writable page is // allocated. If we are going to use this memory soon, such as when resizing From c051e647a4f1f58deb5b4427655cb05eaa597546 Mon Sep 17 00:00:00 2001 From: Pxl Date: Thu, 5 Sep 2024 22:21:00 +0800 Subject: [PATCH 076/199] =?UTF-8?q?[Compatibility](agg-state)=20add=20be?= =?UTF-8?q?=5Fexec=5Fversion=20check=20to=20avoid=20aggregation=20data=20f?= =?UTF-8?q?ormat=20changed=20le=E2=80=A6=20(#40193)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …ad core dump ## Proposed changes add be_exec_version check to avoid aggregation data format changed lead core dump ``` mysql [test]>select percentile(k3, 0.1) from d_table group by grouping sets((k1),()) order by 1; ERROR 1105 (HY000): errCode = 2, detailMessage = (hk2.dev.selectdb-in.cc)[INTERNAL_ERROR]agg state data with percentile is not supported,current_be_exec_version=7, data_be_exec_version=4, need to rebuild the data or set the be_exec_version=4 in fe.conf ``` --- be/src/agent/be_exec_version_manager.cpp | 92 +++++++++++++++++++ be/src/agent/be_exec_version_manager.h | 70 +++----------- be/src/olap/memtable.cpp | 7 +- .../olap/rowset/segment_v2/column_reader.cpp | 31 +++---- be/src/olap/rowset/segment_v2/column_reader.h | 7 +- be/src/olap/rowset/segment_v2/segment.cpp | 16 +++- be/src/olap/rowset/segment_v2/segment.h | 3 + be/src/olap/schema_change.cpp | 4 +- be/src/olap/tablet_reader.h | 8 ++ be/src/olap/tablet_schema.cpp | 14 ++- be/src/olap/tablet_schema.h | 5 +- .../aggregate_function_distinct.cpp | 3 +- .../aggregate_function_foreach.cpp | 3 +- .../aggregate_function_simple_factory.h | 3 +- be/src/vec/data_types/data_type_agg_state.h | 15 +-- be/src/vec/olap/block_reader.cpp | 4 +- be/src/vec/olap/vertical_block_reader.cpp | 3 +- .../aggregate_functions/agg_bitmap_test.cpp | 2 +- .../aggregate_functions/agg_collect_test.cpp | 2 +- .../agg_histogram_test.cpp | 2 +- .../agg_min_max_by_test.cpp | 2 +- .../aggregate_functions/agg_min_max_test.cpp | 6 +- .../aggregate_functions/agg_replace_test.cpp | 4 +- be/test/vec/aggregate_functions/agg_test.cpp | 4 +- .../vec_count_by_enum_test.cpp | 2 +- .../vec_retention_test.cpp | 2 +- .../vec_sequence_match_test.cpp | 10 +- .../vec_window_funnel_test.cpp | 2 +- 28 files changed, 202 insertions(+), 124 deletions(-) create mode 100644 be/src/agent/be_exec_version_manager.cpp diff --git a/be/src/agent/be_exec_version_manager.cpp b/be/src/agent/be_exec_version_manager.cpp new file mode 100644 index 00000000000000..13edb1e5bc291c --- /dev/null +++ b/be/src/agent/be_exec_version_manager.cpp @@ -0,0 +1,92 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "agent/be_exec_version_manager.h" + +namespace doris { + +const std::map> AGGREGATION_CHANGE_MAP = { + {AGGREGATION_2_1_VERSION, + {"window_funnel", "stddev_samp", "variance_samp", "percentile_approx_weighted", + "percentile_approx", "covar_samp", "percentile", "percentile_array"}}}; + +Status BeExecVersionManager::check_be_exec_version(int be_exec_version) { + if (be_exec_version > max_be_exec_version || be_exec_version < min_be_exec_version) { + return Status::InternalError( + "Received be_exec_version is not supported, be_exec_version={}, " + "min_be_exec_version={}, max_be_exec_version={}, maybe due to FE version not " + "match with BE.", + be_exec_version, min_be_exec_version, max_be_exec_version); + } + return Status::OK(); +} + +void BeExecVersionManager::check_agg_state_compatibility(int current_be_exec_version, + int data_be_exec_version, + std::string function_name) { + if (current_be_exec_version > AGGREGATION_2_1_VERSION && + data_be_exec_version <= AGGREGATION_2_1_VERSION && + AGGREGATION_CHANGE_MAP.find(AGGREGATION_2_1_VERSION)->second.contains(function_name)) { + throw Exception(Status::InternalError( + "agg state data with {} is not supported, " + "current_be_exec_version={}, data_be_exec_version={}, need to rebuild the data " + "or set the be_exec_version={} in fe.conf", + function_name, current_be_exec_version, data_be_exec_version, + AGGREGATION_2_1_VERSION)); + } +} + +/** + * When we have some breaking change for execute engine, we should update be_exec_version. + * NOTICE: The change could only be dont in X.Y.0 version. and if you introduced new version number N, + * remember remove version N-1's all REUSEABLE changes in master branch only. REUSEABLE means scalar or agg functions' replacement. + * If not, the old replacement will happens in the new version which is wrong. + * + * 0: not contain be_exec_version. + * 1: start from doris 1.2.0 + * a. remove ColumnString terminating zero. + * b. runtime filter use new hash method. + * 2: start from doris 2.0.0 + * a. function month/day/hour/minute/second's return type is changed to smaller type. + * b. in order to solve agg of sum/count is not compatibility during the upgrade process + * c. change the string hash method in runtime filter + * d. elt function return type change to nullable(string) + * e. add repeat_max_num in repeat function + * 3: start from doris 2.0.0 (by some mistakes) + * a. aggregation function do not serialize bitmap to string. + * b. support window funnel mode. + * 4: start from doris 2.1.0 + * a. ignore this line, window funnel mode should be enabled from 2.0. + * b. array contains/position/countequal function return nullable in less situations. + * c. cleared old version of Version 2. + * d. unix_timestamp function support timestamp with float for datetimev2, and change nullable mode. + * e. change shuffle serialize/deserialize way + * f. shrink some function's nullable mode. + * g. do local merge of remote runtime filter + * h. "now": ALWAYS_NOT_NULLABLE -> DEPEND_ON_ARGUMENTS + * + * 5: start from doris 3.0.0 + * a. change the impl of percentile (need fix) + * b. clear old version of version 3->4 + * c. change FunctionIsIPAddressInRange from AlwaysNotNullable to DependOnArguments + * d. change some agg function nullable property: PR #37215 + * e. change variant serde to fix PR #38413 + */ +const int BeExecVersionManager::max_be_exec_version = 7; +const int BeExecVersionManager::min_be_exec_version = 0; + +} // namespace doris diff --git a/be/src/agent/be_exec_version_manager.h b/be/src/agent/be_exec_version_manager.h index a7b4e2dee20e57..34cdbbb4b744f5 100644 --- a/be/src/agent/be_exec_version_manager.h +++ b/be/src/agent/be_exec_version_manager.h @@ -20,24 +20,28 @@ #include #include +#include "common/exception.h" #include "common/status.h" namespace doris { +/// functional +constexpr inline int BITMAP_SERDE = 3; +constexpr inline int USE_NEW_SERDE = 4; // release on DORIS version 2.1 +constexpr inline int OLD_WAL_SERDE = 3; // use to solve compatibility issues, see pr #32299 +constexpr inline int AGG_FUNCTION_NULLABLE = 5; // change some agg nullable property: PR #37215 +constexpr inline int VARIANT_SERDE = 6; // change variant serde to fix PR #38413 +constexpr inline int AGGREGATION_2_1_VERSION = + 4; // some aggregation changed the data format after this version + class BeExecVersionManager { public: BeExecVersionManager() = delete; - static Status check_be_exec_version(int be_exec_version) { - if (be_exec_version > max_be_exec_version || be_exec_version < min_be_exec_version) { - return Status::InternalError( - "Received be_exec_version is not supported, be_exec_version={}, " - "min_be_exec_version={}, max_be_exec_version={}, maybe due to FE version not " - "match with BE.", - be_exec_version, min_be_exec_version, max_be_exec_version); - } - return Status::OK(); - } + static Status check_be_exec_version(int be_exec_version); + + static void check_agg_state_compatibility(int current_be_exec_version, int data_be_exec_version, + std::string function_name); static int get_newest_version() { return max_be_exec_version; } @@ -46,50 +50,4 @@ class BeExecVersionManager { static const int min_be_exec_version; }; -/** - * When we have some breaking change for execute engine, we should update be_exec_version. - * NOTICE: The change could only be dont in X.Y.0 version. and if you introduced new version number N, - * remember remove version N-1's all REUSEABLE changes in master branch only. REUSEABLE means scalar or agg functions' replacement. - * If not, the old replacement will happens in the new version which is wrong. - * - * 0: not contain be_exec_version. - * 1: start from doris 1.2.0 - * a. remove ColumnString terminating zero. - * b. runtime filter use new hash method. - * 2: start from doris 2.0.0 - * a. function month/day/hour/minute/second's return type is changed to smaller type. - * b. in order to solve agg of sum/count is not compatibility during the upgrade process - * c. change the string hash method in runtime filter - * d. elt function return type change to nullable(string) - * e. add repeat_max_num in repeat function - * 3: start from doris 2.0.0 (by some mistakes) - * a. aggregation function do not serialize bitmap to string. - * b. support window funnel mode. - * 4: start from doris 2.1.0 - * a. ignore this line, window funnel mode should be enabled from 2.0. - * b. array contains/position/countequal function return nullable in less situations. - * c. cleared old version of Version 2. - * d. unix_timestamp function support timestamp with float for datetimev2, and change nullable mode. - * e. change shuffle serialize/deserialize way - * f. shrink some function's nullable mode. - * g. do local merge of remote runtime filter - * h. "now": ALWAYS_NOT_NULLABLE -> DEPEND_ON_ARGUMENTS - * - * 5: start from doris 3.0.0 - * a. change the impl of percentile (need fix) - * b. clear old version of version 3->4 - * c. change FunctionIsIPAddressInRange from AlwaysNotNullable to DependOnArguments - * d. change some agg function nullable property: PR #37215 - * e. change variant serde to fix PR #38413 - */ -constexpr inline int BeExecVersionManager::max_be_exec_version = 7; -constexpr inline int BeExecVersionManager::min_be_exec_version = 0; - -/// functional -constexpr inline int BITMAP_SERDE = 3; -constexpr inline int USE_NEW_SERDE = 4; // release on DORIS version 2.1 -constexpr inline int OLD_WAL_SERDE = 3; // use to solve compatibility issues, see pr #32299 -constexpr inline int AGG_FUNCTION_NULLABLE = 5; // change some agg nullable property: PR #37215 -constexpr inline int VARIANT_SERDE = 6; // change variant serde to fix PR #38413 - } // namespace doris diff --git a/be/src/olap/memtable.cpp b/be/src/olap/memtable.cpp index 6476012fde601d..138b907684c039 100644 --- a/be/src/olap/memtable.cpp +++ b/be/src/olap/memtable.cpp @@ -108,10 +108,11 @@ void MemTable::_init_agg_functions(const vectorized::Block* block) { // the aggregate function manually. function = vectorized::AggregateFunctionSimpleFactory::instance().get( "replace_load", {block->get_data_type(cid)}, - block->get_data_type(cid)->is_nullable()); + block->get_data_type(cid)->is_nullable(), + BeExecVersionManager::get_newest_version()); } else { - function = - _tablet_schema->column(cid).get_aggregate_function(vectorized::AGG_LOAD_SUFFIX); + function = _tablet_schema->column(cid).get_aggregate_function( + vectorized::AGG_LOAD_SUFFIX, _tablet_schema->column(cid).get_be_exec_version()); if (function == nullptr) { LOG(WARNING) << "column get aggregate function failed, column=" << _tablet_schema->column(cid).name(); diff --git a/be/src/olap/rowset/segment_v2/column_reader.cpp b/be/src/olap/rowset/segment_v2/column_reader.cpp index cf156ca0496a86..6faefc34142e5f 100644 --- a/be/src/olap/rowset/segment_v2/column_reader.cpp +++ b/be/src/olap/rowset/segment_v2/column_reader.cpp @@ -197,6 +197,7 @@ Status ColumnReader::create_agg_state(const ColumnReaderOptions& opts, const Col auto data_type = vectorized::DataTypeFactory::instance().create_data_type(meta); const auto* agg_state_type = assert_cast(data_type.get()); + agg_state_type->check_agg_state_compatibility(opts.be_exec_version); auto type = agg_state_type->get_serialized_type()->get_type_as_type_descriptor().type; if (read_as_string(type)) { @@ -250,14 +251,12 @@ Status ColumnReader::create(const ColumnReaderOptions& opts, const ColumnMetaPB& } ColumnReader::ColumnReader(const ColumnReaderOptions& opts, const ColumnMetaPB& meta, - uint64_t num_rows, io::FileReaderSPtr file_reader, - vectorized::DataTypePtr agg_state_ptr) + uint64_t num_rows, io::FileReaderSPtr file_reader) : _use_index_page_cache(!config::disable_storage_page_cache), _opts(opts), _num_rows(num_rows), _file_reader(std::move(file_reader)), - _dict_encoding_type(UNKNOWN_DICT_ENCODING), - _agg_state_ptr(std::move(agg_state_ptr)) { + _dict_encoding_type(UNKNOWN_DICT_ENCODING) { _meta_length = meta.length(); _meta_type = (FieldType)meta.type(); if (_meta_type == FieldType::OLAP_FIELD_TYPE_ARRAY) { @@ -278,13 +277,18 @@ ColumnReader::~ColumnReader() { Status ColumnReader::init(const ColumnMetaPB* meta) { _type_info = get_type_info(meta); + + if (meta->has_be_exec_version()) { + _be_exec_version = meta->be_exec_version(); + } + if (_type_info == nullptr) { return Status::NotSupported("unsupported typeinfo, type={}", meta->type()); } RETURN_IF_ERROR(EncodingInfo::get(_type_info.get(), meta->encoding(), &_encoding_info)); for (int i = 0; i < meta->indexes_size(); i++) { - auto& index_meta = meta->indexes(i); + const auto& index_meta = meta->indexes(i); switch (index_meta.type()) { case ORDINAL_INDEX: _ordinal_index.reset( @@ -726,21 +730,8 @@ Status ColumnReader::new_iterator(ColumnIterator** iterator) { } Status ColumnReader::new_agg_state_iterator(ColumnIterator** iterator) { - if (!_agg_state_ptr) { // meet old version ColumnMetaPB - *iterator = new FileColumnIterator(this); - return Status::OK(); - } - - const auto* agg_state_type = - assert_cast(_agg_state_ptr.get()); - auto type = agg_state_type->get_serialized_type()->get_type_as_type_descriptor().type; - - if (read_as_string(type)) { - *iterator = new FileColumnIterator(this); - return Status::OK(); - } - - return Status::InternalError("Not supported"); + *iterator = new FileColumnIterator(this); + return Status::OK(); } Status ColumnReader::new_array_iterator(ColumnIterator** iterator) { diff --git a/be/src/olap/rowset/segment_v2/column_reader.h b/be/src/olap/rowset/segment_v2/column_reader.h index 2cbb08ecd47cae..6727ea7dc8182c 100644 --- a/be/src/olap/rowset/segment_v2/column_reader.h +++ b/be/src/olap/rowset/segment_v2/column_reader.h @@ -85,6 +85,8 @@ struct ColumnReaderOptions { bool verify_checksum = true; // for in memory olap table, use DURABLE CachePriority in page cache bool kept_in_memory = false; + + int be_exec_version = -1; }; struct ColumnIteratorOptions { @@ -206,7 +208,7 @@ class ColumnReader { private: ColumnReader(const ColumnReaderOptions& opts, const ColumnMetaPB& meta, uint64_t num_rows, - io::FileReaderSPtr file_reader, vectorized::DataTypePtr agg_state_ptr = nullptr); + io::FileReaderSPtr file_reader); Status init(const ColumnMetaPB* meta); // Read column inverted indexes into memory @@ -248,6 +250,7 @@ class ColumnReader { FieldType _meta_children_column_type; bool _meta_is_nullable; bool _use_index_page_cache; + int _be_exec_version = -1; PagePointer _meta_dict_page; CompressionTypePB _meta_compression; @@ -276,8 +279,6 @@ class ColumnReader { std::vector> _sub_readers; - vectorized::DataTypePtr _agg_state_ptr; - DorisCallOnce _set_dict_encoding_type_once; }; diff --git a/be/src/olap/rowset/segment_v2/segment.cpp b/be/src/olap/rowset/segment_v2/segment.cpp index 2556597419ef87..0354cd4e3e7b5a 100644 --- a/be/src/olap/rowset/segment_v2/segment.cpp +++ b/be/src/olap/rowset/segment_v2/segment.cpp @@ -189,6 +189,9 @@ Status Segment::_open_inverted_index() { Status Segment::new_iterator(SchemaSPtr schema, const StorageReadOptions& read_options, std::unique_ptr* iter) { + if (read_options.runtime_state != nullptr) { + _be_exec_version = read_options.runtime_state->be_exec_version(); + } RETURN_IF_ERROR(_create_column_readers_once()); read_options.stats->total_segment_number++; @@ -502,6 +505,7 @@ Status Segment::_create_column_readers(const SegmentFooterPB& footer) { ColumnReaderOptions opts { .kept_in_memory = _tablet_schema->is_in_memory(), + .be_exec_version = _be_exec_version, }; std::unique_ptr reader; RETURN_IF_ERROR(ColumnReader::create(opts, footer.columns(iter->second), footer.num_rows(), @@ -522,8 +526,10 @@ Status Segment::_create_column_readers(const SegmentFooterPB& footer) { continue; } const ColumnMetaPB& column_pb = footer.columns(iter->second); - ColumnReaderOptions opts; - opts.kept_in_memory = _tablet_schema->is_in_memory(); + ColumnReaderOptions opts { + .kept_in_memory = _tablet_schema->is_in_memory(), + .be_exec_version = _be_exec_version, + }; std::unique_ptr reader; RETURN_IF_ERROR( ColumnReader::create(opts, column_pb, footer.num_rows(), _file_reader, &reader)); @@ -737,6 +743,9 @@ Status Segment::new_column_iterator_with_path(const TabletColumn& tablet_column, Status Segment::new_column_iterator(const TabletColumn& tablet_column, std::unique_ptr* iter, const StorageReadOptions* opt) { + if (opt != nullptr && opt->runtime_state != nullptr) { + _be_exec_version = opt->runtime_state->be_exec_version(); + } RETURN_IF_ERROR(_create_column_readers_once()); // init column iterator by path info @@ -810,6 +819,9 @@ Status Segment::new_inverted_index_iterator(const TabletColumn& tablet_column, const TabletIndex* index_meta, const StorageReadOptions& read_options, std::unique_ptr* iter) { + if (read_options.runtime_state != nullptr) { + _be_exec_version = read_options.runtime_state->be_exec_version(); + } RETURN_IF_ERROR(_create_column_readers_once()); ColumnReader* reader = _get_column_reader(tablet_column); if (reader != nullptr && index_meta) { diff --git a/be/src/olap/rowset/segment_v2/segment.h b/be/src/olap/rowset/segment_v2/segment.h index ec438f73151474..59dbe8be5ba51c 100644 --- a/be/src/olap/rowset/segment_v2/segment.h +++ b/be/src/olap/rowset/segment_v2/segment.h @@ -29,6 +29,7 @@ #include #include +#include "agent/be_exec_version_manager.h" #include "common/status.h" // Status #include "io/fs/file_reader_writer_fwd.h" #include "io/fs/file_system.h" @@ -285,6 +286,8 @@ class Segment : public std::enable_shared_from_this { DorisCallOnce _inverted_index_file_reader_open; InvertedIndexFileInfo _idx_file_info; + + int _be_exec_version = BeExecVersionManager::get_newest_version(); }; } // namespace segment_v2 diff --git a/be/src/olap/schema_change.cpp b/be/src/olap/schema_change.cpp index 3278b8888239e4..1d7f18bee8b87d 100644 --- a/be/src/olap/schema_change.cpp +++ b/be/src/olap/schema_change.cpp @@ -30,6 +30,7 @@ #include #include +#include "agent/be_exec_version_manager.h" #include "cloud/cloud_schema_change_job.h" #include "cloud/config.h" #include "common/consts.h" @@ -133,7 +134,8 @@ class MultiBlockMerger { try { vectorized::AggregateFunctionPtr function = tablet_schema->column(i).get_aggregate_function( - vectorized::AGG_LOAD_SUFFIX); + vectorized::AGG_LOAD_SUFFIX, + tablet_schema->column(i).get_be_exec_version()); agg_functions.push_back(function); // create aggregate data auto* place = new char[function->size_of_data()]; diff --git a/be/src/olap/tablet_reader.h b/be/src/olap/tablet_reader.h index f4c8438fca8766..50517e047ba556 100644 --- a/be/src/olap/tablet_reader.h +++ b/be/src/olap/tablet_reader.h @@ -29,6 +29,7 @@ #include #include +#include "agent/be_exec_version_manager.h" #include "common/status.h" #include "exprs/function_filter.h" #include "gutil/strings/substitute.h" @@ -108,6 +109,13 @@ class TabletReader { !rs_splits[1].rs_reader->rowset()->rowset_meta()->is_segments_overlapping()); } + int get_be_exec_version() const { + if (runtime_state) { + return runtime_state->be_exec_version(); + } + return BeExecVersionManager::get_newest_version(); + } + void set_read_source(ReadSource read_source) { rs_splits = std::move(read_source.rs_splits); delete_predicates = std::move(read_source.delete_predicates); diff --git a/be/src/olap/tablet_schema.cpp b/be/src/olap/tablet_schema.cpp index a3ca60d79fbe77..813a5e5519f35a 100644 --- a/be/src/olap/tablet_schema.cpp +++ b/be/src/olap/tablet_schema.cpp @@ -673,24 +673,28 @@ bool TabletColumn::is_row_store_column() const { } vectorized::AggregateFunctionPtr TabletColumn::get_aggregate_function_union( - vectorized::DataTypePtr type) const { + vectorized::DataTypePtr type, int current_be_exec_version) const { const auto* state_type = assert_cast(type.get()); + BeExecVersionManager::check_agg_state_compatibility( + current_be_exec_version, _be_exec_version, + state_type->get_nested_function()->get_name()); return vectorized::AggregateStateUnion::create(state_type->get_nested_function(), {type}, type); } -vectorized::AggregateFunctionPtr TabletColumn::get_aggregate_function(std::string suffix) const { +vectorized::AggregateFunctionPtr TabletColumn::get_aggregate_function( + std::string suffix, int current_be_exec_version) const { vectorized::AggregateFunctionPtr function = nullptr; auto type = vectorized::DataTypeFactory::instance().create_data_type(*this); if (type && type->get_type_as_type_descriptor().type == PrimitiveType::TYPE_AGG_STATE) { - function = get_aggregate_function_union(type); + function = get_aggregate_function_union(type, current_be_exec_version); } else { std::string origin_name = TabletColumn::get_string_by_aggregation_type(_aggregation); std::string agg_name = origin_name + suffix; std::transform(agg_name.begin(), agg_name.end(), agg_name.begin(), [](unsigned char c) { return std::tolower(c); }); - function = vectorized::AggregateFunctionSimpleFactory::instance().get(agg_name, {type}, - type->is_nullable()); + function = vectorized::AggregateFunctionSimpleFactory::instance().get( + agg_name, {type}, type->is_nullable(), BeExecVersionManager::get_newest_version()); if (!function) { LOG(WARNING) << "get column aggregate function failed, aggregation_name=" << origin_name << ", column_type=" << type->get_name(); diff --git a/be/src/olap/tablet_schema.h b/be/src/olap/tablet_schema.h index 7bf40c65f7a91a..1d1d6c9de79d24 100644 --- a/be/src/olap/tablet_schema.h +++ b/be/src/olap/tablet_schema.h @@ -122,8 +122,9 @@ class TabletColumn { void set_path_info(const vectorized::PathInData& path); FieldAggregationMethod aggregation() const { return _aggregation; } vectorized::AggregateFunctionPtr get_aggregate_function_union( - vectorized::DataTypePtr type) const; - vectorized::AggregateFunctionPtr get_aggregate_function(std::string suffix) const; + vectorized::DataTypePtr type, int current_be_exec_version) const; + vectorized::AggregateFunctionPtr get_aggregate_function(std::string suffix, + int current_be_exec_version) const; int precision() const { return _precision; } int frac() const { return _frac; } inline bool visible() const { return _visible; } diff --git a/be/src/vec/aggregate_functions/aggregate_function_distinct.cpp b/be/src/vec/aggregate_functions/aggregate_function_distinct.cpp index f86d44b7d6828b..9bb2954207babb 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_distinct.cpp +++ b/be/src/vec/aggregate_functions/aggregate_function_distinct.cpp @@ -91,7 +91,8 @@ void register_aggregate_function_combinator_distinct(AggregateFunctionSimpleFact auto function_combinator = std::make_shared(); auto transform_arguments = function_combinator->transform_arguments(nested_types); auto nested_function_name = name.substr(DISTINCT_FUNCTION_PREFIX.size()); - auto nested_function = factory.get(nested_function_name, transform_arguments); + auto nested_function = factory.get(nested_function_name, transform_arguments, false, + BeExecVersionManager::get_newest_version()); return function_combinator->transform_aggregate_function(nested_function, types, result_is_nullable); }; diff --git a/be/src/vec/aggregate_functions/aggregate_function_foreach.cpp b/be/src/vec/aggregate_functions/aggregate_function_foreach.cpp index a0fb5c94f43655..ab6d0142f6a8c0 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_foreach.cpp +++ b/be/src/vec/aggregate_functions/aggregate_function_foreach.cpp @@ -45,7 +45,8 @@ void register_aggregate_function_combinator_foreach(AggregateFunctionSimpleFacto } auto nested_function_name = name.substr(0, name.size() - suffix.size()); auto nested_function = - factory.get(nested_function_name, transform_arguments, result_is_nullable); + factory.get(nested_function_name, transform_arguments, result_is_nullable, + BeExecVersionManager::get_newest_version(), false); if (!nested_function) { throw Exception( ErrorCode::INTERNAL_ERROR, diff --git a/be/src/vec/aggregate_functions/aggregate_function_simple_factory.h b/be/src/vec/aggregate_functions/aggregate_function_simple_factory.h index ae9bd070a47a64..cc504b9f99609d 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_simple_factory.h +++ b/be/src/vec/aggregate_functions/aggregate_function_simple_factory.h @@ -123,8 +123,7 @@ class AggregateFunctionSimpleFactory { } AggregateFunctionPtr get(const std::string& name, const DataTypes& argument_types, - const bool result_is_nullable = false, - int be_version = BeExecVersionManager::get_newest_version(), + const bool result_is_nullable, int be_version, bool enable_decima256 = false) { bool nullable = false; for (const auto& type : argument_types) { diff --git a/be/src/vec/data_types/data_type_agg_state.h b/be/src/vec/data_types/data_type_agg_state.h index 96b147c8e96f33..d7089503b0164c 100644 --- a/be/src/vec/data_types/data_type_agg_state.h +++ b/be/src/vec/data_types/data_type_agg_state.h @@ -41,15 +41,13 @@ class DataTypeAggState : public DataTypeString { _sub_types(std::move(sub_types)), _function_name(std::move(function_name)), _be_exec_version(be_exec_version) { - _agg_function = AggregateFunctionSimpleFactory::instance().get(_function_name, _sub_types, - _result_is_nullable); - if (_agg_function == nullptr) { + _agg_function = AggregateFunctionSimpleFactory::instance().get( + _function_name, _sub_types, _result_is_nullable, _be_exec_version); + if (_agg_function == nullptr || + !BeExecVersionManager::check_be_exec_version(be_exec_version)) { throw Exception(ErrorCode::INVALID_ARGUMENT, "DataTypeAggState function get failed, type={}", do_get_name()); } - if (!BeExecVersionManager::check_be_exec_version(be_exec_version)) { - LOG(WARNING) << "meet old agg-state, be_exec_version=" << be_exec_version; - } _agg_function->set_version(be_exec_version); _agg_serialized_type = _agg_function->get_serialized_type(); } @@ -124,6 +122,11 @@ class DataTypeAggState : public DataTypeString { DataTypePtr get_serialized_type() const { return _agg_serialized_type; } + void check_agg_state_compatibility(int read_be_exec_version) const { + BeExecVersionManager::check_agg_state_compatibility(read_be_exec_version, _be_exec_version, + get_nested_function()->get_name()); + } + private: std::string get_types_string() const { std::string types; diff --git a/be/src/vec/olap/block_reader.cpp b/be/src/vec/olap/block_reader.cpp index a606b83345dd58..e2b4ba39e12401 100644 --- a/be/src/vec/olap/block_reader.cpp +++ b/be/src/vec/olap/block_reader.cpp @@ -179,8 +179,8 @@ Status BlockReader::_init_agg_state(const ReaderParams& read_params) { for (auto idx : _agg_columns_idx) { auto column = tablet_schema.column( read_params.origin_return_columns->at(_return_columns_loc[idx])); - AggregateFunctionPtr function = - column.get_aggregate_function(vectorized::AGG_READER_SUFFIX); + AggregateFunctionPtr function = column.get_aggregate_function( + vectorized::AGG_READER_SUFFIX, read_params.get_be_exec_version()); // to avoid coredump when something goes wrong(i.e. column missmatch) if (!function) { diff --git a/be/src/vec/olap/vertical_block_reader.cpp b/be/src/vec/olap/vertical_block_reader.cpp index 56cb3f9c1c96ed..5367729f637e15 100644 --- a/be/src/vec/olap/vertical_block_reader.cpp +++ b/be/src/vec/olap/vertical_block_reader.cpp @@ -194,7 +194,8 @@ void VerticalBlockReader::_init_agg_state(const ReaderParams& read_params) { for (size_t idx = 0; idx < _return_columns.size(); ++idx) { AggregateFunctionPtr function = tablet_schema.column(_return_columns.at(idx)) - .get_aggregate_function(vectorized::AGG_READER_SUFFIX); + .get_aggregate_function(vectorized::AGG_READER_SUFFIX, + read_params.get_be_exec_version()); DCHECK(function != nullptr); _agg_functions.push_back(function); // create aggregate data diff --git a/be/test/vec/aggregate_functions/agg_bitmap_test.cpp b/be/test/vec/aggregate_functions/agg_bitmap_test.cpp index 6ca85efe3210cb..429b1e0640cf15 100644 --- a/be/test/vec/aggregate_functions/agg_bitmap_test.cpp +++ b/be/test/vec/aggregate_functions/agg_bitmap_test.cpp @@ -62,7 +62,7 @@ TEST(AggBitmapTest, bitmap_union_test) { AggregateFunctionSimpleFactory factory; register_aggregate_function_bitmap(factory); DataTypes data_types = {data_type}; - auto agg_function = factory.get(function_name, data_types); + auto agg_function = factory.get(function_name, data_types, false, -1); agg_function->set_version(3); std::unique_ptr memory(new char[agg_function->size_of_data()]); AggregateDataPtr place = memory.get(); diff --git a/be/test/vec/aggregate_functions/agg_collect_test.cpp b/be/test/vec/aggregate_functions/agg_collect_test.cpp index d592967cbe6d42..eb9cb647ed4135 100644 --- a/be/test/vec/aggregate_functions/agg_collect_test.cpp +++ b/be/test/vec/aggregate_functions/agg_collect_test.cpp @@ -91,7 +91,7 @@ class VAggCollectTest : public testing::Test { DataTypes data_types = {(DataTypePtr)std::make_shared()}; LOG(INFO) << "test_agg_collect for " << fn_name << "(" << data_types[0]->get_name() << ")"; AggregateFunctionSimpleFactory factory = AggregateFunctionSimpleFactory::instance(); - auto agg_function = factory.get(fn_name, data_types); + auto agg_function = factory.get(fn_name, data_types, false, -1); EXPECT_NE(agg_function, nullptr); std::unique_ptr memory(new char[agg_function->size_of_data()]); diff --git a/be/test/vec/aggregate_functions/agg_histogram_test.cpp b/be/test/vec/aggregate_functions/agg_histogram_test.cpp index 069b8762952149..8c9384fcea1d7e 100644 --- a/be/test/vec/aggregate_functions/agg_histogram_test.cpp +++ b/be/test/vec/aggregate_functions/agg_histogram_test.cpp @@ -120,7 +120,7 @@ class VAggHistogramTest : public testing::Test { << "(" << data_types[0]->get_name() << ")"; AggregateFunctionSimpleFactory factory = AggregateFunctionSimpleFactory::instance(); - auto agg_function = factory.get("histogram", data_types); + auto agg_function = factory.get("histogram", data_types, false, -1); EXPECT_NE(agg_function, nullptr); std::unique_ptr memory(new char[agg_function->size_of_data()]); diff --git a/be/test/vec/aggregate_functions/agg_min_max_by_test.cpp b/be/test/vec/aggregate_functions/agg_min_max_by_test.cpp index e1113fddf12ade..137f4fc70b169b 100644 --- a/be/test/vec/aggregate_functions/agg_min_max_by_test.cpp +++ b/be/test/vec/aggregate_functions/agg_min_max_by_test.cpp @@ -84,7 +84,7 @@ TEST_P(AggMinMaxByTest, min_max_by_test) { DataTypes data_types = {std::make_shared(), i == 0 ? (DataTypePtr)std::make_shared() : (DataTypePtr)std::make_shared()}; - auto agg_function = factory.get(min_max_by_type, data_types); + auto agg_function = factory.get(min_max_by_type, data_types, false, -1); std::unique_ptr memory(new char[agg_function->size_of_data()]); AggregateDataPtr place = memory.get(); agg_function->create(place); diff --git a/be/test/vec/aggregate_functions/agg_min_max_test.cpp b/be/test/vec/aggregate_functions/agg_min_max_test.cpp index fef91af4d1f63b..a688703efb21d0 100644 --- a/be/test/vec/aggregate_functions/agg_min_max_test.cpp +++ b/be/test/vec/aggregate_functions/agg_min_max_test.cpp @@ -58,7 +58,7 @@ TEST_P(AggMinMaxTest, min_max_test) { AggregateFunctionSimpleFactory factory; register_aggregate_function_minmax(factory); DataTypes data_types = {std::make_shared()}; - auto agg_function = factory.get(min_max_type, data_types); + auto agg_function = factory.get(min_max_type, data_types, false, -1); std::unique_ptr memory(new char[agg_function->size_of_data()]); AggregateDataPtr place = memory.get(); agg_function->create(place); @@ -90,7 +90,7 @@ TEST_P(AggMinMaxTest, min_max_decimal_test) { AggregateFunctionSimpleFactory factory; register_aggregate_function_minmax(factory); DataTypes data_types = {data_type}; - auto agg_function = factory.get(min_max_type, data_types); + auto agg_function = factory.get(min_max_type, data_types, false, -1); std::unique_ptr memory(new char[agg_function->size_of_data()]); AggregateDataPtr place = memory.get(); agg_function->create(place); @@ -137,7 +137,7 @@ TEST_P(AggMinMaxTest, min_max_string_test) { AggregateFunctionSimpleFactory factory; register_aggregate_function_minmax(factory); DataTypes data_types = {std::make_shared()}; - auto agg_function = factory.get(min_max_type, data_types); + auto agg_function = factory.get(min_max_type, data_types, false, -1); std::unique_ptr memory(new char[agg_function->size_of_data()]); AggregateDataPtr place = memory.get(); agg_function->create(place); diff --git a/be/test/vec/aggregate_functions/agg_replace_test.cpp b/be/test/vec/aggregate_functions/agg_replace_test.cpp index 092b7e4fe6a2b8..f74d63df6359c9 100644 --- a/be/test/vec/aggregate_functions/agg_replace_test.cpp +++ b/be/test/vec/aggregate_functions/agg_replace_test.cpp @@ -219,7 +219,7 @@ class VAggReplaceTest : public testing::Test { DataTypes data_types = {data_type}; LOG(INFO) << "test_agg_replace for " << fn_name << "(" << data_types[0]->get_name() << ")"; AggregateFunctionSimpleFactory factory = AggregateFunctionSimpleFactory::instance(); - auto agg_function = factory.get(fn_name, data_types, nullable); + auto agg_function = factory.get(fn_name, data_types, nullable, -1); EXPECT_NE(agg_function, nullptr); std::unique_ptr memory(new char[agg_function->size_of_data()]); @@ -243,7 +243,7 @@ class VAggReplaceTest : public testing::Test { DataTypes data_types = {data_type}; LOG(INFO) << "test_agg_replace for " << fn_name << "(" << data_types[0]->get_name() << ")"; AggregateFunctionSimpleFactory factory = AggregateFunctionSimpleFactory::instance(); - auto agg_function = factory.get(fn_name, data_types, nullable); + auto agg_function = factory.get(fn_name, data_types, nullable, -1); EXPECT_NE(agg_function, nullptr); std::unique_ptr memory(new char[agg_function->size_of_data()]); diff --git a/be/test/vec/aggregate_functions/agg_test.cpp b/be/test/vec/aggregate_functions/agg_test.cpp index 53d8cd69291853..21ca1aa3bd66bc 100644 --- a/be/test/vec/aggregate_functions/agg_test.cpp +++ b/be/test/vec/aggregate_functions/agg_test.cpp @@ -52,7 +52,7 @@ TEST(AggTest, basic_test) { register_aggregate_function_sum(factory); DataTypePtr data_type(std::make_shared()); DataTypes data_types = {data_type}; - auto agg_function = factory.get("sum", data_types); + auto agg_function = factory.get("sum", data_types, false, -1); std::unique_ptr memory(new char[agg_function->size_of_data()]); AggregateDataPtr place = memory.get(); agg_function->create(place); @@ -84,7 +84,7 @@ TEST(AggTest, topn_test) { register_aggregate_function_topn(factory); DataTypes data_types = {std::make_shared(), std::make_shared()}; - auto agg_function = factory.get("topn", data_types); + auto agg_function = factory.get("topn", data_types, false, -1); std::unique_ptr memory(new char[agg_function->size_of_data()]); AggregateDataPtr place = memory.get(); agg_function->create(place); diff --git a/be/test/vec/aggregate_functions/vec_count_by_enum_test.cpp b/be/test/vec/aggregate_functions/vec_count_by_enum_test.cpp index fa953b5101c6ea..aa9c33a3eeb587 100644 --- a/be/test/vec/aggregate_functions/vec_count_by_enum_test.cpp +++ b/be/test/vec/aggregate_functions/vec_count_by_enum_test.cpp @@ -43,7 +43,7 @@ class VCountByEnumTest : public testing::Test { DataTypes data_types = { std::make_shared(std::make_shared()), }; - agg_function = factory.get("count_by_enum", data_types, true); + agg_function = factory.get("count_by_enum", data_types, true, -1); EXPECT_NE(agg_function, nullptr); } diff --git a/be/test/vec/aggregate_functions/vec_retention_test.cpp b/be/test/vec/aggregate_functions/vec_retention_test.cpp index e96abb84b7e669..537026e3937552 100644 --- a/be/test/vec/aggregate_functions/vec_retention_test.cpp +++ b/be/test/vec/aggregate_functions/vec_retention_test.cpp @@ -59,7 +59,7 @@ class VRetentionTest : public testing::Test { std::make_shared(), std::make_shared(), }; - agg_function = factory.get("retention", data_types, false); + agg_function = factory.get("retention", data_types, false, -1); EXPECT_NE(agg_function, nullptr); } diff --git a/be/test/vec/aggregate_functions/vec_sequence_match_test.cpp b/be/test/vec/aggregate_functions/vec_sequence_match_test.cpp index a034304dd6bd23..bee948fa774e8c 100644 --- a/be/test/vec/aggregate_functions/vec_sequence_match_test.cpp +++ b/be/test/vec/aggregate_functions/vec_sequence_match_test.cpp @@ -55,9 +55,9 @@ class VSequenceMatchTest : public testing::Test { std::make_shared(), std::make_shared(), std::make_shared(), std::make_shared(), std::make_shared()}; - agg_function_sequence_match = factory.get("sequence_match", data_types, false); + agg_function_sequence_match = factory.get("sequence_match", data_types, false, -1); EXPECT_NE(agg_function_sequence_match, nullptr); - agg_function_sequence_count = factory.get("sequence_count", data_types, false); + agg_function_sequence_count = factory.get("sequence_count", data_types, false, -1); EXPECT_NE(agg_function_sequence_count, nullptr); } @@ -191,7 +191,7 @@ TEST_F(VSequenceMatchTest, testCountSerialize) { DataTypes data_types = {std::make_shared(), std::make_shared(), std::make_shared(), std::make_shared()}; - agg_function_sequence_count = factory.get("sequence_count", data_types, false); + agg_function_sequence_count = factory.get("sequence_count", data_types, false, -1); EXPECT_NE(agg_function_sequence_count, nullptr); const int NUM_CONDS = 4; @@ -256,7 +256,7 @@ TEST_F(VSequenceMatchTest, testMatchReverseSortedSerializeMerge) { DataTypes data_types = {std::make_shared(), std::make_shared(), std::make_shared(), std::make_shared()}; - agg_function_sequence_match = factory.get("sequence_match", data_types, false); + agg_function_sequence_match = factory.get("sequence_match", data_types, false, -1); EXPECT_NE(agg_function_sequence_match, nullptr); const int NUM_CONDS = 2; @@ -345,7 +345,7 @@ TEST_F(VSequenceMatchTest, testCountReverseSortedSerializeMerge) { DataTypes data_types = {std::make_shared(), std::make_shared(), std::make_shared(), std::make_shared()}; - agg_function_sequence_count = factory.get("sequence_count", data_types, false); + agg_function_sequence_count = factory.get("sequence_count", data_types, false, -1); EXPECT_NE(agg_function_sequence_count, nullptr); const int NUM_CONDS = 2; diff --git a/be/test/vec/aggregate_functions/vec_window_funnel_test.cpp b/be/test/vec/aggregate_functions/vec_window_funnel_test.cpp index 2877217c8f1142..af63b720e6a570 100644 --- a/be/test/vec/aggregate_functions/vec_window_funnel_test.cpp +++ b/be/test/vec/aggregate_functions/vec_window_funnel_test.cpp @@ -58,7 +58,7 @@ class VWindowFunnelTest : public testing::Test { std::make_shared(), std::make_shared(), std::make_shared(), std::make_shared(), std::make_shared()}; - agg_function = factory.get("window_funnel", data_types, false); + agg_function = factory.get("window_funnel", data_types, false, -1); EXPECT_NE(agg_function, nullptr); } From 67531f6f91a1177c5e4ced2197a65566f0b20c9e Mon Sep 17 00:00:00 2001 From: wuwenchi Date: Thu, 5 Sep 2024 22:35:09 +0800 Subject: [PATCH 077/199] [bugfix](hive/iceberg)align with Hive insert overwrite table functionality (#39840) ## Proposed changes When execute: `insert overwrite table tb1 select * from tb2` and `tb2` is an empty table: 1. if `tb1` is a partition table, there will be nothing to do. 2. if `tb1` is a unpartition table, the data in the table will be cleared. --- .../doris/datasource/hive/HMSTransaction.java | 44 ++++++++- .../iceberg/IcebergTransaction.java | 34 ++++++- .../insert/HiveInsertCommandContext.java | 11 +++ .../apache/doris/planner/HiveTableSink.java | 2 + .../iceberg/IcebergTransactionTest.java | 95 +++++++++++++++++-- ...hive_insert_overwrite_with_empty_table.out | 18 ++++ ...berg_insert_overwrite_with_empty_table.out | 18 ++++ ...e_insert_overwrite_with_empty_table.groovy | 80 ++++++++++++++++ ...g_insert_overwrite_with_empty_table.groovy | 77 +++++++++++++++ 9 files changed, 366 insertions(+), 13 deletions(-) create mode 100644 regression-test/data/external_table_p0/hive/write/test_hive_insert_overwrite_with_empty_table.out create mode 100644 regression-test/data/external_table_p0/iceberg/write/test_iceberg_insert_overwrite_with_empty_table.out create mode 100644 regression-test/suites/external_table_p0/hive/write/test_hive_insert_overwrite_with_empty_table.groovy create mode 100644 regression-test/suites/external_table_p0/iceberg/write/test_iceberg_insert_overwrite_with_empty_table.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSTransaction.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSTransaction.java index 82a9100be2fbfe..ac610237cddfcc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSTransaction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSTransaction.java @@ -35,6 +35,8 @@ import org.apache.doris.fs.remote.SwitchingFileSystem; import org.apache.doris.nereids.trees.plans.commands.insert.HiveInsertCommandContext; import org.apache.doris.qe.ConnectContext; +import org.apache.doris.thrift.TFileType; +import org.apache.doris.thrift.THiveLocationParams; import org.apache.doris.thrift.THivePartitionUpdate; import org.apache.doris.thrift.TS3MPUPendingUpload; import org.apache.doris.thrift.TUpdateMode; @@ -63,6 +65,7 @@ import software.amazon.awssdk.services.s3.model.CompletedPart; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -87,6 +90,8 @@ public class HMSTransaction implements Transaction { private final FileSystem fs; private Optional summaryProfile = Optional.empty(); private String queryId; + private boolean isOverwrite = false; + TFileType fileType; private final Map> tableActions = new HashMap<>(); private final Map, Action>> @@ -97,6 +102,7 @@ public class HMSTransaction implements Transaction { private HmsCommitter hmsCommitter; private List hivePartitionUpdates = Lists.newArrayList(); private String declaredIntentionsToWrite; + private boolean isMockedPartitionUpdate = false; private static class UncompletedMpuPendingUpload { @@ -180,9 +186,38 @@ public void rollback() { public void beginInsertTable(HiveInsertCommandContext ctx) { declaredIntentionsToWrite = ctx.getWritePath(); queryId = ctx.getQueryId(); + isOverwrite = ctx.isOverwrite(); + fileType = ctx.getFileType(); } public void finishInsertTable(SimpleTableInfo tableInfo) { + Table table = getTable(tableInfo); + if (hivePartitionUpdates.isEmpty() && isOverwrite && table.getPartitionKeysSize() == 0) { + // use an empty hivePartitionUpdate to clean source table + isMockedPartitionUpdate = true; + THivePartitionUpdate emptyUpdate = new THivePartitionUpdate() {{ + setUpdateMode(TUpdateMode.OVERWRITE); + setFileSize(0); + setRowCount(0); + setFileNames(Collections.emptyList()); + if (fileType == TFileType.FILE_S3) { + setS3MpuPendingUploads(Lists.newArrayList(new TS3MPUPendingUpload())); + setLocation(new THiveLocationParams() {{ + setWritePath(table.getSd().getLocation()); + } + }); + } else { + fs.makeDir(declaredIntentionsToWrite); + setLocation(new THiveLocationParams() {{ + setWritePath(declaredIntentionsToWrite); + } + }); + } + } + }; + hivePartitionUpdates = Lists.newArrayList(emptyUpdate); + } + List mergedPUs = mergePartitions(hivePartitionUpdates); for (THivePartitionUpdate pu : mergedPUs) { if (pu.getS3MpuPendingUploads() != null) { @@ -192,7 +227,6 @@ public void finishInsertTable(SimpleTableInfo tableInfo) { } } } - Table table = getTable(tableInfo); List> insertExistsPartitions = new ArrayList<>(); for (THivePartitionUpdate pu : mergedPUs) { TUpdateMode updateMode = pu.getUpdateMode(); @@ -1556,6 +1590,12 @@ public void wrapperAsyncRenameDirWithProfileSummary(Executor executor, private void s3Commit(Executor fileSystemExecutor, List> asyncFileSystemTaskFutures, AtomicBoolean fileSystemTaskCancelled, THivePartitionUpdate hivePartitionUpdate, String path) { + + List s3MpuPendingUploads = hivePartitionUpdate.getS3MpuPendingUploads(); + if (isMockedPartitionUpdate) { + return; + } + S3FileSystem s3FileSystem = (S3FileSystem) ((SwitchingFileSystem) fs).fileSystem(path); S3Client s3Client; try { @@ -1564,7 +1604,7 @@ private void s3Commit(Executor fileSystemExecutor, List> as throw new RuntimeException(e); } - for (TS3MPUPendingUpload s3MPUPendingUpload : hivePartitionUpdate.getS3MpuPendingUploads()) { + for (TS3MPUPendingUpload s3MPUPendingUpload : s3MpuPendingUploads) { asyncFileSystemTaskFutures.add(CompletableFuture.runAsync(() -> { if (fileSystemTaskCancelled.get()) { return; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergTransaction.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergTransaction.java index edc613ad05b549..c198b58b2a96bd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergTransaction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergTransaction.java @@ -33,14 +33,19 @@ import com.google.common.collect.Lists; import org.apache.iceberg.AppendFiles; import org.apache.iceberg.FileFormat; +import org.apache.iceberg.FileScanTask; +import org.apache.iceberg.OverwriteFiles; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.ReplacePartitions; import org.apache.iceberg.Table; +import org.apache.iceberg.io.CloseableIterable; import org.apache.iceberg.io.WriteResult; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.io.IOException; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -91,10 +96,15 @@ private void updateManifestAfterInsert(TUpdateMode updateMode) { PartitionSpec spec = table.spec(); FileFormat fileFormat = IcebergUtils.getFileFormat(table); - //convert commitDataList to writeResult - WriteResult writeResult = IcebergWriterHelper - .convertToWriterResult(fileFormat, spec, commitDataList); - List pendingResults = Lists.newArrayList(writeResult); + List pendingResults; + if (commitDataList.isEmpty()) { + pendingResults = Collections.emptyList(); + } else { + //convert commitDataList to writeResult + WriteResult writeResult = IcebergWriterHelper + .convertToWriterResult(fileFormat, spec, commitDataList); + pendingResults = Lists.newArrayList(writeResult); + } if (updateMode == TUpdateMode.APPEND) { commitAppendTxn(table, pendingResults); @@ -138,6 +148,22 @@ private void commitAppendTxn(Table table, List pendingResults) { private void commitReplaceTxn(Table table, List pendingResults) { + if (pendingResults.isEmpty()) { + // such as : insert overwrite table `dst_tb` select * from `empty_tb` + // 1. if dst_tb is a partitioned table, it will return directly. + // 2. if dst_tb is an unpartitioned table, the `dst_tb` table will be emptied. + if (!table.spec().isPartitioned()) { + OverwriteFiles overwriteFiles = table.newOverwrite(); + try (CloseableIterable fileScanTasks = table.newScan().planFiles()) { + fileScanTasks.forEach(f -> overwriteFiles.deleteFile(f.file())); + } catch (IOException e) { + throw new RuntimeException(e); + } + overwriteFiles.commit(); + } + return; + } + // commit replace partitions ReplacePartitions appendPartitionOp = table.newReplacePartitions(); for (WriteResult result : pendingResults) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/HiveInsertCommandContext.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/HiveInsertCommandContext.java index 1e68a5cd220733..ce7f1c91287be0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/HiveInsertCommandContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/HiveInsertCommandContext.java @@ -17,12 +17,15 @@ package org.apache.doris.nereids.trees.plans.commands.insert; +import org.apache.doris.thrift.TFileType; + /** * For Hive Table */ public class HiveInsertCommandContext extends BaseExternalTableInsertCommandContext { private String writePath; private String queryId; + private TFileType fileType; public String getWritePath() { return writePath; @@ -39,4 +42,12 @@ public String getQueryId() { public void setQueryId(String queryId) { this.queryId = queryId; } + + public TFileType getFileType() { + return fileType; + } + + public void setFileType(TFileType fileType) { + this.fileType = fileType; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/HiveTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/planner/HiveTableSink.java index 174825aabc980e..0d952330d7c125 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/HiveTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/HiveTableSink.java @@ -146,6 +146,7 @@ public void bindDataSink(Optional insertCtx) HiveInsertCommandContext context = (HiveInsertCommandContext) insertCtx.get(); tSink.setOverwrite(context.isOverwrite()); context.setWritePath(storageLocation); + context.setFileType(fileType); } } else { String writeTempPath = createTempPath(location); @@ -156,6 +157,7 @@ public void bindDataSink(Optional insertCtx) HiveInsertCommandContext context = (HiveInsertCommandContext) insertCtx.get(); tSink.setOverwrite(context.isOverwrite()); context.setWritePath(writeTempPath); + context.setFileType(fileType); } } locationParams.setFileType(fileType); diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/iceberg/IcebergTransactionTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/iceberg/IcebergTransactionTest.java index 4375dc5c025cc5..432cc47f307821 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/iceberg/IcebergTransactionTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/iceberg/IcebergTransactionTest.java @@ -20,6 +20,7 @@ import org.apache.doris.common.UserException; import org.apache.doris.common.info.SimpleTableInfo; import org.apache.doris.datasource.ExternalCatalog; +import org.apache.doris.nereids.trees.plans.commands.insert.IcebergInsertCommandContext; import org.apache.doris.thrift.TFileContent; import org.apache.doris.thrift.TIcebergCommitData; @@ -199,7 +200,7 @@ public Table getRemoteTable(ExternalCatalog catalog, SimpleTableInfo tableInfo) txn.finishInsert(tableInfo, Optional.empty()); txn.commit(); - checkSnapshotProperties(table.currentSnapshot().summary(), "6", "2", "6"); + checkSnapshotAddProperties(table.currentSnapshot().summary(), "6", "2", "6"); checkPushDownByPartitionForTs(table, "ts1"); checkPushDownByPartitionForTs(table, "ts2"); checkPushDownByPartitionForTs(table, "ts3"); @@ -287,7 +288,7 @@ public void testUnPartitionedTable() throws UserException { ctd1.setFileSize(2); TIcebergCommitData ctd2 = new TIcebergCommitData(); - ctd2.setFilePath("f1.parquet"); + ctd2.setFilePath("f2.parquet"); ctd2.setFileContent(TFileContent.DATA); ctd2.setRowCount(4); ctd2.setFileSize(4); @@ -310,22 +311,31 @@ public Table getRemoteTable(ExternalCatalog catalog, SimpleTableInfo tableInfo) txn.finishInsert(tableInfo, Optional.empty()); txn.commit(); - checkSnapshotProperties(table.currentSnapshot().summary(), "6", "2", "6"); + checkSnapshotAddProperties(table.currentSnapshot().summary(), "6", "2", "6"); } private IcebergTransaction getTxn() { return new IcebergTransaction(ops); } - private void checkSnapshotProperties(Map props, - String addRecords, - String addFileCnt, - String addFileSize) { + private void checkSnapshotAddProperties(Map props, + String addRecords, + String addFileCnt, + String addFileSize) { Assert.assertEquals(addRecords, props.get("added-records")); Assert.assertEquals(addFileCnt, props.get("added-data-files")); Assert.assertEquals(addFileSize, props.get("added-files-size")); } + private void checkSnapshotTotalProperties(Map props, + String totalRecords, + String totalFileCnt, + String totalFileSize) { + Assert.assertEquals(totalRecords, props.get("total-records")); + Assert.assertEquals(totalFileCnt, props.get("total-data-files")); + Assert.assertEquals(totalFileSize, props.get("total-files-size")); + } + private String numToYear(Integer num) { Transform year = Transforms.year(); return year.toHumanString(Types.IntegerType.get(), num); @@ -368,4 +378,75 @@ public void testTransform() { Assert.assertEquals("2024-12-11", numToDay(dt)); } + @Test + public void testUnPartitionedTableOverwriteWithData() throws UserException { + + testUnPartitionedTable(); + + ArrayList ctdList = new ArrayList<>(); + TIcebergCommitData ctd1 = new TIcebergCommitData(); + ctd1.setFilePath("f3.parquet"); + ctd1.setFileContent(TFileContent.DATA); + ctd1.setRowCount(6); + ctd1.setFileSize(6); + + TIcebergCommitData ctd2 = new TIcebergCommitData(); + ctd2.setFilePath("f4.parquet"); + ctd2.setFileContent(TFileContent.DATA); + ctd2.setRowCount(8); + ctd2.setFileSize(8); + + TIcebergCommitData ctd3 = new TIcebergCommitData(); + ctd3.setFilePath("f5.parquet"); + ctd3.setFileContent(TFileContent.DATA); + ctd3.setRowCount(10); + ctd3.setFileSize(10); + + ctdList.add(ctd1); + ctdList.add(ctd2); + ctdList.add(ctd3); + + Table table = ops.getCatalog().loadTable(TableIdentifier.of(dbName, tbWithoutPartition)); + new MockUp() { + @Mock + public Table getRemoteTable(ExternalCatalog catalog, SimpleTableInfo tableInfo) { + return table; + } + }; + + IcebergTransaction txn = getTxn(); + txn.updateIcebergCommitData(ctdList); + SimpleTableInfo tableInfo = new SimpleTableInfo(dbName, tbWithPartition); + txn.beginInsert(tableInfo); + IcebergInsertCommandContext ctx = new IcebergInsertCommandContext(); + ctx.setOverwrite(true); + txn.finishInsert(tableInfo, Optional.of(ctx)); + txn.commit(); + + checkSnapshotTotalProperties(table.currentSnapshot().summary(), "24", "3", "24"); + } + + @Test + public void testUnpartitionedTableOverwriteWithoutData() throws UserException { + + testUnPartitionedTableOverwriteWithData(); + + Table table = ops.getCatalog().loadTable(TableIdentifier.of(dbName, tbWithoutPartition)); + new MockUp() { + @Mock + public Table getRemoteTable(ExternalCatalog catalog, SimpleTableInfo tableInfo) { + return table; + } + }; + + IcebergTransaction txn = getTxn(); + SimpleTableInfo tableInfo = new SimpleTableInfo(dbName, tbWithPartition); + txn.beginInsert(tableInfo); + IcebergInsertCommandContext ctx = new IcebergInsertCommandContext(); + ctx.setOverwrite(true); + txn.finishInsert(tableInfo, Optional.of(ctx)); + txn.commit(); + + checkSnapshotTotalProperties(table.currentSnapshot().summary(), "0", "0", "0"); + } } diff --git a/regression-test/data/external_table_p0/hive/write/test_hive_insert_overwrite_with_empty_table.out b/regression-test/data/external_table_p0/hive/write/test_hive_insert_overwrite_with_empty_table.out new file mode 100644 index 00000000000000..042af1d473a26e --- /dev/null +++ b/regression-test/data/external_table_p0/hive/write/test_hive_insert_overwrite_with_empty_table.out @@ -0,0 +1,18 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q0 -- +1 1 +1 2 +1 3 + +-- !q1 -- +1 1 +1 2 +1 3 + +-- !q2 -- +1 1 +1 2 +1 3 + +-- !q3 -- + diff --git a/regression-test/data/external_table_p0/iceberg/write/test_iceberg_insert_overwrite_with_empty_table.out b/regression-test/data/external_table_p0/iceberg/write/test_iceberg_insert_overwrite_with_empty_table.out new file mode 100644 index 00000000000000..042af1d473a26e --- /dev/null +++ b/regression-test/data/external_table_p0/iceberg/write/test_iceberg_insert_overwrite_with_empty_table.out @@ -0,0 +1,18 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !q0 -- +1 1 +1 2 +1 3 + +-- !q1 -- +1 1 +1 2 +1 3 + +-- !q2 -- +1 1 +1 2 +1 3 + +-- !q3 -- + diff --git a/regression-test/suites/external_table_p0/hive/write/test_hive_insert_overwrite_with_empty_table.groovy b/regression-test/suites/external_table_p0/hive/write/test_hive_insert_overwrite_with_empty_table.groovy new file mode 100644 index 00000000000000..eea2e7a4864664 --- /dev/null +++ b/regression-test/suites/external_table_p0/hive/write/test_hive_insert_overwrite_with_empty_table.groovy @@ -0,0 +1,80 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_hive_insert_overwrite_with_empty_table", "p0,external,hive,external_docker,external_docker_hive") { + + for (String hivePrefix : ["hive2"]) { + + String enabled = context.config.otherConfigs.get("enableHiveTest") + if (enabled == null || !enabled.equalsIgnoreCase("true")) { + logger.info("disable Hive test.") + return; + } + + setHivePrefix(hivePrefix) + try { + + String hms_port = context.config.otherConfigs.get(hivePrefix + "HmsPort") + String hdfs_port = context.config.otherConfigs.get(hivePrefix + "HdfsPort") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + String catalog = "test_hive_insert_overwrite_with_empty_table" + String db1 = catalog + "_db" + String tb1 = db1 + "_tb1" + String tb2 = db1 + "_tb2" + String tb3 = db1 + "_tb3" + + sql """drop catalog if exists ${catalog}""" + sql """create catalog if not exists ${catalog} properties ( + 'type'='hms', + 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hms_port}' + );""" + + sql """ use ${catalog}.${db1} """ + + sql """ drop table if exists ${db1}.${tb1} """ + sql """ drop table if exists ${db1}.${tb2} """ + sql """ drop database if exists ${db1} """ + + sql """ create database ${db1} """ + sql """ create table ${db1}.${tb1} (id int, val int) partition by list (val)() """ + sql """ create table ${db1}.${tb2} (id int, val int) """ + sql """ create table ${db1}.${tb3} (id int, val int) """ + + sql """ use ${db1} """ + sql """ insert into ${tb1} values (1,1), (1,2), (1,3) """ + sql """ insert into ${tb2} values (1,1), (1,2), (1,3) """ + + order_qt_q0 """ select * from ${tb1} """ + order_qt_q1 """ select * from ${tb2} """ + + sql """ insert overwrite table ${tb1} select * from ${tb3} """ + sql """ insert overwrite table ${tb2} select * from ${tb3} """ + + order_qt_q2 """ select * from ${tb1} """ // should have 3 records + order_qt_q3 """ select * from ${tb2} """ // should have no records + + sql """ drop table ${db1}.${tb1} """ + sql """ drop table ${db1}.${tb2} """ + sql """ drop table ${db1}.${tb3} """ + sql """ drop database ${db1} """ + sql """ drop catalog ${catalog} """ + + } finally { + } + } +} + diff --git a/regression-test/suites/external_table_p0/iceberg/write/test_iceberg_insert_overwrite_with_empty_table.groovy b/regression-test/suites/external_table_p0/iceberg/write/test_iceberg_insert_overwrite_with_empty_table.groovy new file mode 100644 index 00000000000000..84c0f287abffb2 --- /dev/null +++ b/regression-test/suites/external_table_p0/iceberg/write/test_iceberg_insert_overwrite_with_empty_table.groovy @@ -0,0 +1,77 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_iceberg_insert_overwrite_with_empty_table", "p0,external,doris,external_docker,external_docker_doris") { + String enabled = context.config.otherConfigs.get("enableIcebergTest") + if (enabled == null || !enabled.equalsIgnoreCase("true")) { + logger.info("disable iceberg test.") + return + } + + String rest_port = context.config.otherConfigs.get("iceberg_rest_uri_port") + String minio_port = context.config.otherConfigs.get("iceberg_minio_port") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + String catalog_name = "test_iceberg_insert_overwrite_with_empty_table" + + sql """drop catalog if exists ${catalog_name}""" + sql """ + CREATE CATALOG ${catalog_name} PROPERTIES ( + 'type'='iceberg', + 'iceberg.catalog.type'='rest', + 'uri' = 'http://${externalEnvIp}:${rest_port}', + "s3.access_key" = "admin", + "s3.secret_key" = "password", + "s3.endpoint" = "http://${externalEnvIp}:${minio_port}", + "s3.region" = "us-east-1" + );""" + + sql """ switch ${catalog_name} """ + + String db1 = catalog_name + "_db1" + String tb1 = db1 + "_tb1" + String tb2 = db1 + "_tb2" + String tb3 = db1 + "_tb3" + + sql """ drop table if exists ${db1}.${tb1} """ + sql """ drop table if exists ${db1}.${tb2} """ + sql """ drop database if exists ${db1} """ + + sql """ create database ${db1} """ + sql """ create table ${db1}.${tb1} (id int, val int) partition by list (val)() """ + sql """ create table ${db1}.${tb2} (id int, val int) """ + sql """ create table ${db1}.${tb3} (id int, val int) """ + + sql """ use ${db1} """ + sql """ insert into ${tb1} values (1,1), (1,2), (1,3) """ + sql """ insert into ${tb2} values (1,1), (1,2), (1,3) """ + + order_qt_q0 """ select * from ${tb1} """ + order_qt_q1 """ select * from ${tb2} """ + + sql """ insert overwrite table ${tb1} select * from ${tb3} """ + sql """ insert overwrite table ${tb2} select * from ${tb3} """ + + order_qt_q2 """ select * from ${tb1} """ // should have 3 records + order_qt_q3 """ select * from ${tb2} """ // should have no records + + sql """ drop table ${db1}.${tb1} """ + sql """ drop table ${db1}.${tb2} """ + sql """ drop table ${db1}.${tb3} """ + sql """ drop database ${db1} """ + sql """ drop catalog ${catalog_name} """ + +} From 5d41b05a084d93a4f5282eafdffe71494a5adb94 Mon Sep 17 00:00:00 2001 From: walter Date: Thu, 5 Sep 2024 22:58:49 +0800 Subject: [PATCH 078/199] [chore](persist) reduce truncate table operation log size (#40422) --- .../org/apache/doris/persist/TruncateTableInfo.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/TruncateTableInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/TruncateTableInfo.java index 50840cf56a6eb5..a9a91f28839c1a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/persist/TruncateTableInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/persist/TruncateTableInfo.java @@ -51,7 +51,7 @@ public TruncateTableInfo() { } public TruncateTableInfo(long dbId, String db, long tblId, String table, List partitions, - boolean isEntireTable, String rawSql) { + boolean isEntireTable, String rawSql) { this.dbId = dbId; this.db = db; this.tblId = tblId; @@ -106,6 +106,14 @@ public String toJson() { @Override public String toString() { - return toJson(); + return "TruncateTableInfo{" + + "dbId=" + dbId + + ", db='" + db + '\'' + + ", tblId=" + tblId + + ", table='" + table + '\'' + + ", isEntireTable=" + isEntireTable + + ", rawSql='" + rawSql + '\'' + + ", partitions_size=" + partitions.size() + + '}'; } } From 12b691ca821debd6692c19bb629377b4c645fe88 Mon Sep 17 00:00:00 2001 From: Siyang Tang <82279870+TangSiyang2001@users.noreply.github.com> Date: Fri, 6 Sep 2024 00:02:10 +0800 Subject: [PATCH 079/199] [fix](regression-test) Sync after insert to get stable results (#40308) --- .../suites/alter_p0/test_alter_muti_modify_column.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/regression-test/suites/alter_p0/test_alter_muti_modify_column.groovy b/regression-test/suites/alter_p0/test_alter_muti_modify_column.groovy index c987ae8b53d02a..caa6dc2c4cbedb 100644 --- a/regression-test/suites/alter_p0/test_alter_muti_modify_column.groovy +++ b/regression-test/suites/alter_p0/test_alter_muti_modify_column.groovy @@ -39,6 +39,8 @@ suite('test_alter_muti_modify_column') { (3, 30, 'pqr', 'lmn'); """ + sql """ SYNC """ + def expectedResults = [ [1, 10, 'abc', 'def'], [2, 20, 'xyz', 'uvw'], From 72a20b2d1f26ed38493ae22d153246f11dad4f2f Mon Sep 17 00:00:00 2001 From: Siyang Tang <82279870+TangSiyang2001@users.noreply.github.com> Date: Fri, 6 Sep 2024 00:07:04 +0800 Subject: [PATCH 080/199] [enhancement](compaction) Abort compaction tasks when correspoding tablet states have been changed (#40271) ## Proposed changes 1. Change the standard for cumu compaction capability. Tablets under state `running` or `not ready` are capable to do cumulative compaction. 2. Abort a compaction task at the beginning when the tablet is no more capable to do compaction. --- be/src/olap/olap_server.cpp | 6 ++++++ be/src/olap/tablet.cpp | 11 ++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/be/src/olap/olap_server.cpp b/be/src/olap/olap_server.cpp index 7c88156f74cef5..020d151d16b849 100644 --- a/be/src/olap/olap_server.cpp +++ b/be/src/olap/olap_server.cpp @@ -1036,6 +1036,12 @@ Status StorageEngine::_submit_compaction_task(TabletSharedPtr tablet, : _base_compaction_thread_pool; auto st = thread_pool->submit_func([tablet, compaction = std::move(compaction), compaction_type, permits, force, this]() { + if (!tablet->can_do_compaction(tablet->data_dir()->path_hash(), compaction_type)) { + LOG(INFO) << "Tablet state has been changed, no need to begin this compaction " + "task, tablet_id=" + << tablet->tablet_id() << "tablet_state=" << tablet->tablet_state(); + return; + } tablet->compaction_stage = CompactionStage::EXECUTING; TEST_SYNC_POINT_RETURN_WITH_VOID("olap_server::execute_compaction"); tablet->execute_compaction(*compaction); diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp index 48e1efb4e6b2b6..da7a4ec8a6e260 100644 --- a/be/src/olap/tablet.cpp +++ b/be/src/olap/tablet.cpp @@ -60,6 +60,7 @@ #include "common/logging.h" #include "common/signal_handler.h" #include "common/status.h" +#include "exprs/runtime_filter.h" #include "gutil/ref_counted.h" #include "gutil/strings/substitute.h" #include "io/fs/file_reader.h" @@ -976,13 +977,9 @@ bool Tablet::can_do_compaction(size_t path_hash, CompactionType compaction_type) return false; } - if (tablet_state() == TABLET_NOTREADY) { - // In TABLET_NOTREADY, we keep last 10 versions in new tablet so base tablet max_version - // not merged in new tablet and then we can do compaction - return true; - } - - return true; + // In TABLET_NOTREADY, we keep last 10 versions in new tablet so base tablet max_version + // not merged in new tablet and then we can do compaction + return tablet_state() == TABLET_RUNNING || tablet_state() == TABLET_NOTREADY; } uint32_t Tablet::calc_compaction_score( From 1cde2d2a5985a10a3eb0c613f1dc729596d35171 Mon Sep 17 00:00:00 2001 From: Siyang Tang <82279870+TangSiyang2001@users.noreply.github.com> Date: Fri, 6 Sep 2024 00:09:23 +0800 Subject: [PATCH 081/199] [fix](cloud-schema-change) Exclude merged dropped columns from projection columns (#40187) ## Proposed changes schema change in cloud mode used to merge dropped columns from delete predicates to projection columns when reading data from base tablet, resulted in failure when reading rowsets after columns dropped. --- be/src/cloud/cloud_schema_change_job.cpp | 8 ++-- .../test_merge_dropped_column.groovy | 47 +++++++++++++++++++ 2 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 regression-test/suites/schema_change_p0/test_merge_dropped_column.groovy diff --git a/be/src/cloud/cloud_schema_change_job.cpp b/be/src/cloud/cloud_schema_change_job.cpp index d4c9e43f771472..614202b02583f2 100644 --- a/be/src/cloud/cloud_schema_change_job.cpp +++ b/be/src/cloud/cloud_schema_change_job.cpp @@ -140,6 +140,10 @@ Status CloudSchemaChangeJob::process_alter_tablet(const TAlterTabletReqV2& reque _base_tablet_schema->update_tablet_columns(*_base_tablet->tablet_schema(), request.columns); _new_tablet_schema = _new_tablet->tablet_schema(); + std::vector return_columns; + return_columns.resize(_base_tablet_schema->num_columns()); + std::iota(return_columns.begin(), return_columns.end(), 0); + // delete handlers to filter out deleted rows DeleteHandler delete_handler; std::vector delete_predicates; @@ -153,10 +157,6 @@ Status CloudSchemaChangeJob::process_alter_tablet(const TAlterTabletReqV2& reque RETURN_IF_ERROR(delete_handler.init(_base_tablet_schema, delete_predicates, start_resp.alter_version())); - std::vector return_columns; - return_columns.resize(_base_tablet_schema->num_columns()); - std::iota(return_columns.begin(), return_columns.end(), 0); - // reader_context is stack variables, it's lifetime MUST keep the same with rs_readers RowsetReaderContext reader_context; reader_context.reader_type = ReaderType::READER_ALTER_TABLE; diff --git a/regression-test/suites/schema_change_p0/test_merge_dropped_column.groovy b/regression-test/suites/schema_change_p0/test_merge_dropped_column.groovy new file mode 100644 index 00000000000000..40aed871e76323 --- /dev/null +++ b/regression-test/suites/schema_change_p0/test_merge_dropped_column.groovy @@ -0,0 +1,47 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_merge_dropped_column") { + def tableName = "test_merge_dropped_column" + sql """ drop table if exists ${tableName} """ + sql """ create table ${tableName} + ( + col1 SMALLINT NOT NULL, + col2 BIGINT NOT NULL, + col3 TEXT NOT NULL, + col4 FLOAT NOT NULL, + col5 TINYINT NOT NULL + ) DUPLICATE KEY(`col1`) DISTRIBUTED BY HASH (`col1`) BUCKETS 1 + PROPERTIES ( + "disable_auto_compaction"="true", + "replication_num" = "1" + ); + """ + sql """ INSERT INTO ${tableName} VALUES(5, 6, "wwwe", 1.2, 3) """ + sql """ DELETE FROM ${tableName} WHERE col1 = 0 """ + + sql """ ALTER TABLE ${tableName} DROP COLUMN col3 """ + sql """ INSERT INTO ${tableName} VALUES(7, 1212, 2.22, 2) """ + // sql """ ALTER TABLE ${tableName} ADD COLUMN col3 TEXT NOT DEFAULT NULL """ + + sql """ ALTER TABLE ${tableName} MODIFY COLUMN col2 TEXT NOT NULL""" + + waitForSchemaChangeDone { + sql """SHOW ALTER TABLE COLUMN WHERE IndexName='${tableName}' ORDER BY createtime DESC LIMIT 1""" + time 600 + } +} \ No newline at end of file From 0013c317d049cae7d56e6c1aec226fade6a011b6 Mon Sep 17 00:00:00 2001 From: deardeng <565620795@qq.com> Date: Fri, 6 Sep 2024 00:29:37 +0800 Subject: [PATCH 082/199] [feature](cloud) Support multi follower fe in cloud (#38388) --- .../src/resource-manager/resource_manager.cpp | 65 ++++++- docker/runtime/doris-compose/cluster.py | 29 ++- docker/runtime/doris-compose/command.py | 21 ++- .../runtime/doris-compose/resource/init_fe.sh | 17 +- .../cloud/catalog/CloudClusterChecker.java | 34 +++- .../apache/doris/cloud/catalog/CloudEnv.java | 26 ++- .../cloud/catalog/CloudTabletRebalancer.java | 2 +- .../cloud/system/CloudSystemInfoService.java | 23 ++- gensrc/proto/cloud.proto | 2 + .../doris/regression/suite/Suite.groovy | 80 ++++++++ .../regression/suite/SuiteCluster.groovy | 23 ++- .../multi_cluster/test_multi_follower.groovy | 176 ++++++++++++++++++ 12 files changed, 446 insertions(+), 52 deletions(-) create mode 100644 regression-test/suites/cloud_p0/multi_cluster/test_multi_follower.groovy diff --git a/cloud/src/resource-manager/resource_manager.cpp b/cloud/src/resource-manager/resource_manager.cpp index 25848294aa7873..58122ac3f7cb3c 100644 --- a/cloud/src/resource-manager/resource_manager.cpp +++ b/cloud/src/resource-manager/resource_manager.cpp @@ -157,15 +157,18 @@ bool ResourceManager::check_cluster_params_valid(const ClusterPB& cluster, std:: std::stringstream ss; bool no_err = true; int master_num = 0; + int follower_num = 0; for (auto& n : cluster.nodes()) { if (ClusterPB::SQL == cluster.type() && n.has_edit_log_port() && n.edit_log_port() && n.has_node_type() && (n.node_type() == NodeInfoPB_NodeType_FE_MASTER || - n.node_type() == NodeInfoPB_NodeType_FE_OBSERVER)) { + n.node_type() == NodeInfoPB_NodeType_FE_OBSERVER || + n.node_type() == NodeInfoPB_NodeType_FE_FOLLOWER)) { master_num += n.node_type() == NodeInfoPB_NodeType_FE_MASTER ? 1 : 0; + follower_num += n.node_type() == NodeInfoPB_NodeType_FE_FOLLOWER ? 1 : 0; continue; - } - if (ClusterPB::COMPUTE == cluster.type() && n.has_heartbeat_port() && n.heartbeat_port()) { + } else if (ClusterPB::COMPUTE == cluster.type() && n.has_heartbeat_port() && + n.heartbeat_port()) { continue; } ss << "check cluster params failed, node : " << proto_to_json(n); @@ -173,12 +176,22 @@ bool ResourceManager::check_cluster_params_valid(const ClusterPB& cluster, std:: no_err = false; break; } - // ATTN: add_cluster check must have only a master node - // add_node doesn't check it - if (check_master_num && ClusterPB::SQL == cluster.type() && master_num != 1) { + + if (check_master_num && ClusterPB::SQL == cluster.type()) { no_err = false; - ss << "cluster is SQL type, must have only one master node, now master count: " - << master_num; + if (master_num > 0 && follower_num > 0) { + ss << "cluster is SQL type, and use multi follower mode, cant set master node, master " + "count: " + << master_num << " follower count: " << follower_num; + } else if (!follower_num && master_num != 1) { + ss << "cluster is SQL type, must have only one master node, now master count: " + << master_num; + } else { + // followers mode + // 1. followers 2. observers + followers + no_err = true; + ss << ""; + } *err = ss.str(); } return no_err; @@ -618,6 +631,37 @@ std::pair ResourceManager::get_instance(std::shared_p return ec; } +// check instance pb is valid +bool is_instance_valid(const InstanceInfoPB& instance) { + // check has fe node + for (auto& c : instance.clusters()) { + if (c.has_type() && c.type() == ClusterPB::SQL) { + int master = 0; + int follower = 0; + std::string mode = "multi-followers"; + for (auto& n : c.nodes()) { + if (n.node_type() == NodeInfoPB::FE_MASTER) { + mode = "master-observers"; + master++; + } else if (n.node_type() == NodeInfoPB::FE_FOLLOWER) { + follower++; + } + } + // if master/observers mode , not have master or have multi master, return false + if (mode == "master-observers" && master != 1) { + return false; + } + // if multi followers mode, not have follower, return false + if (mode == "multi-followers" && !follower) { + return false; + } + return true; + } + } + // check others ... + return true; +} + std::string ResourceManager::modify_nodes(const std::string& instance_id, const std::vector& to_add, const std::vector& to_del) { @@ -910,6 +954,11 @@ std::string ResourceManager::modify_nodes(const std::string& instance_id, } LOG(INFO) << "instance " << instance_id << " info: " << instance.DebugString(); + if (!to_del.empty() && !is_instance_valid(instance)) { + msg = "instance invalid, cant modify, plz check"; + LOG(WARNING) << msg; + return msg; + } InstanceKeyInfo key_info {instance_id}; std::string key; diff --git a/docker/runtime/doris-compose/cluster.py b/docker/runtime/doris-compose/cluster.py index f2e46b798cb484..fcddd7f4c938b8 100644 --- a/docker/runtime/doris-compose/cluster.py +++ b/docker/runtime/doris-compose/cluster.py @@ -380,6 +380,10 @@ def compose(self): class FE(Node): + def init(self): + super().init() + self.init_is_follower() + def get_add_init_config(self): cfg = [] if self.cluster.fe_config: @@ -397,10 +401,20 @@ def get_add_init_config(self): return cfg + def init_is_follower(self): + if self.cluster.is_cloud and self.cluster.fe_follower: + with open(self._is_follower_path(), "w") as f: + f.write("true") + + def _is_follower_path(self): + return "{}/conf/is_follower".format(self.get_path()) + def docker_env(self): envs = super().docker_env() if self.cluster.is_cloud: envs["CLOUD_UNIQUE_ID"] = self.cloud_unique_id() + if os.path.exists(self._is_follower_path()): + envs["IS_FE_FOLLOWER"] = 1 return envs def cloud_unique_id(self): @@ -613,8 +627,8 @@ def expose_sub_dirs(self): class Cluster(object): def __init__(self, name, subnet, image, is_cloud, fe_config, be_config, - ms_config, recycle_config, be_disks, be_cluster, reg_be, - coverage_dir, cloud_store_config): + ms_config, recycle_config, fe_follower, be_disks, be_cluster, + reg_be, coverage_dir, cloud_store_config): self.name = name self.subnet = subnet self.image = image @@ -623,6 +637,7 @@ def __init__(self, name, subnet, image, is_cloud, fe_config, be_config, self.be_config = be_config self.ms_config = ms_config self.recycle_config = recycle_config + self.fe_follower = fe_follower self.be_disks = be_disks self.be_cluster = be_cluster self.reg_be = reg_be @@ -635,8 +650,8 @@ def __init__(self, name, subnet, image, is_cloud, fe_config, be_config, @staticmethod def new(name, image, is_cloud, fe_config, be_config, ms_config, - recycle_config, be_disks, be_cluster, reg_be, coverage_dir, - cloud_store_config): + recycle_config, fe_follower, be_disks, be_cluster, reg_be, + coverage_dir, cloud_store_config): if not os.path.exists(LOCAL_DORIS_PATH): os.makedirs(LOCAL_DORIS_PATH, exist_ok=True) os.chmod(LOCAL_DORIS_PATH, 0o777) @@ -646,9 +661,9 @@ def new(name, image, is_cloud, fe_config, be_config, ms_config, os.chmod(lock_file, 0o666) subnet = gen_subnet_prefix16() cluster = Cluster(name, subnet, image, is_cloud, fe_config, - be_config, ms_config, recycle_config, be_disks, - be_cluster, reg_be, coverage_dir, - cloud_store_config) + be_config, ms_config, recycle_config, + fe_follower, be_disks, be_cluster, reg_be, + coverage_dir, cloud_store_config) os.makedirs(cluster.get_path(), exist_ok=True) os.makedirs(get_status_path(name), exist_ok=True) cluster._save_meta() diff --git a/docker/runtime/doris-compose/command.py b/docker/runtime/doris-compose/command.py index 8611689c9a5bef..ed88dd03f4daf8 100644 --- a/docker/runtime/doris-compose/command.py +++ b/docker/runtime/doris-compose/command.py @@ -245,6 +245,13 @@ def add_parser(self, args_parsers): type=str, help="Specify recycle configs for doris_cloud.conf. "\ "Example: --recycle-config \"log_level = warn\".") + group1.add_argument( + "--fe-follower", + default=False, + action=self._get_parser_bool_action(True), + help= + "The new added fe is follower but not observer. Only support in cloud mode." + ) group1.add_argument("--be-disks", nargs="*", default=["HDD=1"], @@ -383,18 +390,20 @@ def run(self, args): args.add_ms_num = 0 args.add_recycle_num = 0 - cluster = CLUSTER.Cluster.new(args.NAME, args.IMAGE, args.cloud, - args.fe_config, args.be_config, - args.ms_config, args.recycle_config, - args.be_disks, args.be_cluster, - args.reg_be, args.coverage_dir, - cloud_store_config) + cluster = CLUSTER.Cluster.new( + args.NAME, args.IMAGE, args.cloud, args.fe_config, + args.be_config, args.ms_config, args.recycle_config, + args.fe_follower, args.be_disks, args.be_cluster, args.reg_be, + args.coverage_dir, cloud_store_config) LOG.info("Create new cluster {} succ, cluster path is {}".format( args.NAME, cluster.get_path())) if args.be_cluster and cluster.is_cloud: cluster.be_cluster = args.be_cluster + if cluster.is_cloud: + cluster.fe_follower = args.fe_follower + _, related_nodes, _ = get_ids_related_nodes(cluster, args.fe_id, args.be_id, args.ms_id, args.recycle_id, diff --git a/docker/runtime/doris-compose/resource/init_fe.sh b/docker/runtime/doris-compose/resource/init_fe.sh index e532d0d56e1885..e46a6cac9b2e89 100755 --- a/docker/runtime/doris-compose/resource/init_fe.sh +++ b/docker/runtime/doris-compose/resource/init_fe.sh @@ -81,8 +81,10 @@ fe_daemon() { done } -add_cloud_fe() { +start_cloud_fe() { if [ -f "$REGISTER_FILE" ]; then + fe_daemon & + bash $DORIS_HOME/bin/start_fe.sh --daemon return fi @@ -96,6 +98,10 @@ add_cloud_fe() { node_type=FE_OBSERVER fi + if [ "a$IS_FE_FOLLOWER" == "a1" ]; then + node_type=FE_FOLLOWER + fi + nodes='{ "cloud_unique_id": "'"${CLOUD_UNIQUE_ID}"'", "ip": "'"${MY_IP}"'", @@ -139,6 +145,10 @@ add_cloud_fe() { fi touch $REGISTER_FILE + + fe_daemon & + bash $DORIS_HOME/bin/start_fe.sh --daemon + if [ "$MY_ID" == "1" ]; then echo $MY_IP >$MASTER_FE_IP_FILE fi @@ -182,11 +192,6 @@ start_local_fe() { fi } -start_cloud_fe() { - add_cloud_fe - bash $DORIS_HOME/bin/start_fe.sh --daemon -} - main() { trap stop_frontend SIGTERM diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudClusterChecker.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudClusterChecker.java index 72fd2ba353a33b..567dc4b31242d4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudClusterChecker.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudClusterChecker.java @@ -303,9 +303,9 @@ private void checkDiffNode(Map remoteClusterIdToPB, @Override protected void runAfterCatalogReady() { - getCloudBackends(); + checkCloudBackends(); updateCloudMetrics(); - getCloudObserverFes(); + checkCloudFes(); } private void checkFeNodesMapValid() { @@ -348,7 +348,7 @@ private void checkFeNodesMapValid() { } } - private void getCloudObserverFes() { + private void checkCloudFes() { Cloud.GetClusterResponse response = cloudSystemInfoService.getCloudCluster( Config.cloud_sql_server_cluster_name, Config.cloud_sql_server_cluster_id, ""); if (!response.hasStatus() || !response.getStatus().hasCode() @@ -371,11 +371,19 @@ private void getCloudObserverFes() { LOG.debug("get cloud cluster, clusterId={} nodes={}", Config.cloud_sql_server_cluster_id, cpb.getNodesList()); } - List currentFes = Env.getCurrentEnv().getFrontends(FrontendNodeType.OBSERVER); + List currentFollowers = Env.getCurrentEnv().getFrontends(FrontendNodeType.FOLLOWER); + List currentObservers = Env.getCurrentEnv().getFrontends(FrontendNodeType.OBSERVER); + currentFollowers.addAll(currentObservers); + List currentFes = new ArrayList<>(currentFollowers.stream().collect(Collectors.toMap( + fe -> fe.getHost() + ":" + fe.getEditLogPort(), + fe -> fe, + (existing, replacement) -> existing + )).values()); List toAdd = new ArrayList<>(); List toDel = new ArrayList<>(); List expectedFes = cpb.getNodesList(); diffNodes(toAdd, toDel, () -> { + // memory Map currentMap = new HashMap<>(); String selfNode = Env.getCurrentEnv().getSelfNode().getIdent(); for (Frontend fe : currentFes) { @@ -383,10 +391,13 @@ private void getCloudObserverFes() { if (selfNode.equals(endpoint)) { continue; } + // add type to map key, for diff + endpoint = endpoint + "_" + fe.getRole(); currentMap.put(endpoint, fe); } return currentMap; }, () -> { + // meta service Map nodeMap = new HashMap<>(); String selfNode = Env.getCurrentEnv().getSelfNode().getIdent(); for (Cloud.NodeInfoPB node : expectedFes) { @@ -399,9 +410,18 @@ private void getCloudObserverFes() { if (selfNode.equals(endpoint)) { continue; } - Frontend fe = new Frontend(FrontendNodeType.OBSERVER, + Cloud.NodeInfoPB.NodeType type = node.getNodeType(); + // ATTN: just allow to add follower or observer + if (Cloud.NodeInfoPB.NodeType.FE_MASTER.equals(type)) { + LOG.warn("impossible !!!, get fe node {} type equel master from ms", node); + } + FrontendNodeType role = type == Cloud.NodeInfoPB.NodeType.FE_FOLLOWER + ? FrontendNodeType.FOLLOWER : FrontendNodeType.OBSERVER; + Frontend fe = new Frontend(role, CloudEnv.genFeNodeNameFromMeta(host, node.getEditLogPort(), node.getCtime() * 1000), host, node.getEditLogPort()); + // add type to map key, for diff + endpoint = endpoint + "_" + fe.getRole(); nodeMap.put(endpoint, fe); } return nodeMap; @@ -421,7 +441,7 @@ private void getCloudObserverFes() { } } - private void getCloudBackends() { + private void checkCloudBackends() { Map> clusterIdToBackend = cloudSystemInfoService.getCloudClusterIdToBackend(); //rpc to ms, to get mysql user can use cluster_id // NOTE: rpc args all empty, use cluster_unique_id to get a instance's all cluster info. @@ -474,7 +494,7 @@ private void updateCloudMetrics() { for (Map.Entry entry : clusterNameToId.entrySet()) { int aliveNum = 0; List bes = clusterIdToBackend.get(entry.getValue()); - if (bes == null || bes.size() == 0) { + if (bes == null || bes.isEmpty()) { LOG.info("cant get be nodes by cluster {}, bes {}", entry, bes); continue; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudEnv.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudEnv.java index 535b8ea582f845..1ebda4dc8aa037 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudEnv.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudEnv.java @@ -48,6 +48,7 @@ import java.io.DataInputStream; import java.io.IOException; +import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.Optional; @@ -140,12 +141,24 @@ private Cloud.NodeInfoPB getLocalTypeFromMetaService() { .stream().filter(NodeInfoPB::hasNodeType).collect(Collectors.toList()); helperNodes.clear(); - helperNodes.addAll(allNodes.stream() - .filter(nodeInfoPB -> nodeInfoPB.getNodeType() == NodeInfoPB.NodeType.FE_MASTER) - .map(nodeInfoPB -> new HostInfo( - Config.enable_fqdn_mode ? nodeInfoPB.getHost() : nodeInfoPB.getIp(), nodeInfoPB.getEditLogPort())) - .collect(Collectors.toList())); - // check only have one master node. + if (allNodes.stream().anyMatch(n -> n.getNodeType() == NodeInfoPB.NodeType.FE_FOLLOWER)) { + // multi followers mode, select first + Optional helperNode = allNodes.stream() + .filter(nodeInfoPB -> nodeInfoPB.getNodeType() == NodeInfoPB.NodeType.FE_FOLLOWER) + .map(nodeInfoPB -> new HostInfo( + Config.enable_fqdn_mode ? nodeInfoPB.getHost() : nodeInfoPB.getIp(), nodeInfoPB.getEditLogPort())) + .min(Comparator.comparing(HostInfo::getHost)); + helperNode.ifPresent(hostInfo -> helperNodes.add(hostInfo)); + } else { + // master observers mode + // helper node select follower's first, just one + helperNodes.addAll(allNodes.stream() + .filter(nodeInfoPB -> nodeInfoPB.getNodeType() == NodeInfoPB.NodeType.FE_MASTER) + .map(nodeInfoPB -> new HostInfo( + Config.enable_fqdn_mode ? nodeInfoPB.getHost() : nodeInfoPB.getIp(), nodeInfoPB.getEditLogPort())) + .collect(Collectors.toList())); + // check only have one master node. + } Preconditions.checkState(helperNodes.size() == 1); Optional local = allNodes.stream().filter(n -> ((Config.enable_fqdn_mode ? n.getHost() : n.getIp()) @@ -178,6 +191,7 @@ protected void getClusterIdAndRole() throws IOException { } LOG.info("current fe's role is {}", type == NodeInfoPB.NodeType.FE_MASTER ? "MASTER" : + type == NodeInfoPB.NodeType.FE_FOLLOWER ? "FOLLOWER" : type == NodeInfoPB.NodeType.FE_OBSERVER ? "OBSERVER" : "UNKNOWN"); if (type == NodeInfoPB.NodeType.UNKNOWN) { LOG.warn("type current not support, please check it"); diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java index fc580c4fc7eca5..6f4534c4b0876a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java @@ -1068,7 +1068,7 @@ private List batchUpdateCloudReplicaInfoEditlogs(List toAdd, List to LOG.debug("updateCloudFrontends toAdd={} toDel={}", toAdd, toDel); } String masterIp = Env.getCurrentEnv().getMasterHost(); - for (Frontend fe : toAdd) { + for (Frontend fe : toDel) { if (masterIp.equals(fe.getHost())) { continue; } - Env.getCurrentEnv().addFrontend(FrontendNodeType.OBSERVER, - fe.getHost(), fe.getEditLogPort(), fe.getNodeName()); - LOG.info("added cloud frontend={} ", fe); + try { + Env.getCurrentEnv().dropFrontend(fe.getRole(), fe.getHost(), fe.getEditLogPort()); + LOG.info("dropped cloud frontend={} ", fe); + } catch (DdlException e) { + LOG.warn("failed to drop cloud frontend={} ", fe); + } } - for (Frontend fe : toDel) { + + for (Frontend fe : toAdd) { if (masterIp.equals(fe.getHost())) { continue; } - Env.getCurrentEnv().dropFrontend(FrontendNodeType.OBSERVER, fe.getHost(), fe.getEditLogPort()); - LOG.info("dropped cloud frontend={} ", fe); + try { + Env.getCurrentEnv().addFrontend(fe.getRole(), + fe.getHost(), fe.getEditLogPort(), fe.getNodeName()); + LOG.info("added cloud frontend={} ", fe); + } catch (DdlException e) { + LOG.warn("failed to add cloud frontend={} ", fe); + } } } diff --git a/gensrc/proto/cloud.proto b/gensrc/proto/cloud.proto index 4fee41650b7fbb..b4c2d0d0968ae9 100644 --- a/gensrc/proto/cloud.proto +++ b/gensrc/proto/cloud.proto @@ -140,8 +140,10 @@ message ClusterPB { message NodeInfoPB { enum NodeType { UNKNOWN = 0; + // lagacy logic for one-master-multi-observer mode FE_MASTER = 1; FE_OBSERVER = 2; + FE_FOLLOWER = 3; } optional string cloud_unique_id = 1; optional string name = 2; diff --git a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy index 1587363dc0cb9d..579afda48d9172 100644 --- a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy +++ b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy @@ -1789,6 +1789,86 @@ class Suite implements GroovyInterceptable { } } + def get_instance = { MetaService ms=null -> + def jsonOutput = new JsonOutput() + + def get_instance_api = { check_func -> + httpTest { + op "get" + if (ms) { + endpoint ms.host+':'+ms.httpPort + } else { + endpoint context.config.metaServiceHttpAddress + } + uri "/MetaService/http/get_instance?token=${token}&instance_id=${instance_id}" + check check_func + } + } + + def json + get_instance_api.call() { + respCode, body -> + log.info("get instance resp: ${body} ${respCode}".toString()) + json = parseJson(body) + assertTrue(json.code.equalsIgnoreCase("OK")) + } + json.result + } + + + def drop_node = { unique_id, ip, bePort=0, fePort=0, nodeType, + cluster_name, cluster_id, MetaService ms=null -> + def jsonOutput = new JsonOutput() + def type + if (fePort != 0) { + type = "SQL" + } else if (bePort != 0) { + type = "COMPUTE" + } + def clusterInfo = [ + type: type, + cluster_name : cluster_name, + cluster_id : cluster_id, + nodes: [ + [ + cloud_unique_id: unique_id, + ip: ip, + node_type: nodeType + ], + ] + ] + if (bePort != 0) { + // drop be + clusterInfo['nodes'][0]['heartbeat_port'] = bePort + } else if (fePort != 0) { + // drop fe + clusterInfo['nodes'][0]['edit_log_port'] = fePort + } + def map = [instance_id: "${instance_id}", cluster: clusterInfo] + def js = jsonOutput.toJson(map) + log.info("drop node req: ${js} ".toString()) + + def drop_node_api = { request_body, check_func -> + httpTest { + if (ms) { + endpoint ms.host+':'+ms.httpPort + } else { + endpoint context.config.metaServiceHttpAddress + } + uri "/MetaService/http/drop_node?token=${token}" + body request_body + check check_func + } + } + + drop_node_api.call(js) { + respCode, body -> + log.info("drop node resp: ${body} ${respCode}".toString()) + def json = parseJson(body) + assertTrue(json.code.equalsIgnoreCase("OK")) + } + } + def d_node = { be_unique_id, ip, port, cluster_name, cluster_id -> def jsonOutput = new JsonOutput() def clusterInfo = [ diff --git a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteCluster.groovy b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteCluster.groovy index 6a322039985cb6..44220500d1b5bd 100644 --- a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteCluster.groovy +++ b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteCluster.groovy @@ -51,6 +51,12 @@ class ClusterOptions { // 3. cloudMode = null, create both cloud and none-cloud cluster, depend on the running pipeline mode. Boolean cloudMode = false + // in cloud mode, deployment methods are divided into + // 1. master - multi observers + // 2. mutli followers - multi observers + // default use 1 + Boolean useFollowersMode = false + // when cloudMode = true/false, but the running pipeline is diff with cloudMode, // skip run this docker test or not. boolean skipRunWhenPipelineDiff = true @@ -290,6 +296,11 @@ class SuiteCluster { if (isCloud) { cmd += ['--cloud'] } + + if (isCloud && options.useFollowersMode) { + cmd += ['--fe-follower'] + } + cmd += ['--wait-timeout', String.valueOf(180)] runCmd(cmd.join(' '), -1) @@ -419,8 +430,8 @@ class SuiteCluster { return new Tuple4(frontends, backends, metaservices, recyclers) } - List addFrontend(int num) throws Exception { - def result = add(num, 0, null) + List addFrontend(int num, boolean followerMode=false) throws Exception { + def result = add(num, 0, null, followerMode) return result.first } @@ -429,14 +440,18 @@ class SuiteCluster { return result.second } - // APPR: clusterName just used for cloud mode, 1 cluster has n bes - Tuple2, List> add(int feNum, int beNum, String clusterName) throws Exception { + // ATTN: clusterName just used for cloud mode, 1 cluster has n bes + // ATTN: followerMode just used for cloud mode + Tuple2, List> add(int feNum, int beNum, String clusterName, boolean followerMode=false) throws Exception { assert feNum > 0 || beNum > 0 def sb = new StringBuilder() sb.append('up ' + name + ' ') if (feNum > 0) { sb.append('--add-fe-num ' + feNum + ' ') + if (followerMode) { + sb.append('--fe-follower' + ' ') + } } if (beNum > 0) { sb.append('--add-be-num ' + beNum + ' ') diff --git a/regression-test/suites/cloud_p0/multi_cluster/test_multi_follower.groovy b/regression-test/suites/cloud_p0/multi_cluster/test_multi_follower.groovy new file mode 100644 index 00000000000000..864655a53441d9 --- /dev/null +++ b/regression-test/suites/cloud_p0/multi_cluster/test_multi_follower.groovy @@ -0,0 +1,176 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import org.apache.doris.regression.suite.ClusterOptions +import groovy.json.JsonSlurper +import org.awaitility.Awaitility +import static java.util.concurrent.TimeUnit.SECONDS + +suite('test_multi_followr_in_cloud', 'multi_cluster, docker') { + if (!isCloudMode()) { + return + } + def options = new ClusterOptions() + options.feConfigs += [ + 'cloud_cluster_check_interval_second=1', + 'sys_log_verbose_modules=org', + 'heartbeat_interval_second=1' + ] + options.setFeNum(3) + options.setBeNum(1) + options.cloudMode = true + options.connectToFollower = true + options.useFollowersMode = true + + docker(options) { + def f = "FOLLOWER" + def o = "OBSERVER" + def check = { int feNum, Closure checkFunc -> + def ret = sql_return_maparray """SHOW FRONTENDS""" + assertEquals(feNum, ret.size()) + Boolean hasMaster = false + checkFunc.call(ret) + ret.each { row -> + if (Boolean.parseBoolean(row.IsMaster)) { + hasMaster = true + } + } + assertTrue(hasMaster) + } + + def transferType = { String old -> + if (old.contains(f)) { + return "FE_FOLLOWER" + } else if (old.contains(o)) { + return "FE_OBSERVER" + } + } + + check(3) { ret -> + ret.each { + assertTrue(it.Role.contains(f)) + } + } + // get fe clusterName + def result = sql_return_maparray """ADMIN SHOW FRONTEND CONFIG LIKE '%cloud_sql_server_cluster_name%'""" + def feClusterName = result.Value[0] + result = sql_return_maparray """ADMIN SHOW FRONTEND CONFIG LIKE '%cloud_sql_server_cluster_id%'""" + def feClusterId = result.Value[0] + log.info("fe clusterName: {}, clusterId: {} ", feClusterName, feClusterId) + def toDropIP + def toDropPort + def toDropType + def toDropUniqueId + // add new follower + cluster.addFrontend(1, true) + dockerAwaitUntil(5) { + def ret = sql """SHOW FRONTENDS""" + log.info("show frontends: {}", ret) + ret.size() == 4 + } + check(4) { def ret -> + ret.each { + assertTrue(it.Role.contains(f)) + if (!Boolean.parseBoolean(it.IsMaster)) { + toDropIP = it.Host + toDropPort = it.EditLogPort + toDropType = transferType(it.Role) + } + } + } + log.info("ip: {}, port: {}, type: {}, uniqueId: {}", toDropIP, toDropPort, toDropType, toDropUniqueId) + def ms = cluster.getAllMetaservices().get(0) + logger.info("ms addr={}, port={}", ms.host, ms.httpPort) + // drop a follwer + def findToDropUniqueId = { clusterId, hostIP, metaServices -> + ret = get_instance(metaServices) + def toDropCluster = ret.clusters.find { + it.cluster_id.contains(clusterId) + } + log.info("toDropCluster: {}", toDropCluster) + def toDropNode = toDropCluster.nodes.find { + it.ip.contains(hostIP) + } + log.info("toDropNode: {}", toDropNode) + assertNotNull(toDropCluster) + assertNotNull(toDropNode) + toDropNode.cloud_unique_id + } + + toDropUniqueId = findToDropUniqueId.call(feClusterId, toDropIP, ms) + log.info("to Drop1 ip: {}, port: {}, type: {}, uniqueId: {}", toDropIP, toDropPort, toDropType, toDropUniqueId) + + drop_node(toDropUniqueId, toDropIP, 0, + toDropPort, toDropType, feClusterName, feClusterId, ms) + + dockerAwaitUntil(5) { + def ret = sql """SHOW FRONTENDS""" + log.info("show frontends: {}", ret) + ret.size() == 3 + } + + check(3) { def ret -> + ret.each { + assertTrue(it.Role.contains(f)) + } + } + + // add a observer + cluster.addFrontend(1) + check(4) { def ret -> + int observerNum = 0 + int followerNum = 0 + ret.each { + if (it.Role.contains(o)) { + observerNum++; + toDropIP = it.Host + toDropPort = it.EditLogPort + toDropType = transferType(it.Role) + } else if (it.Role.contains(f)) { + followerNum++; + } + } + assertEquals(1, observerNum) + assertEquals(3, followerNum) + } + + toDropUniqueId = findToDropUniqueId.call(feClusterId, toDropIP, ms) + // drop observer + drop_node(toDropUniqueId, toDropIP, 0, + toDropPort, toDropType, feClusterName, feClusterId, ms) + + dockerAwaitUntil(5) { + def ret = sql """SHOW FRONTENDS""" + log.info("show frontends: {}", ret) + ret.size() == 3 + } + + check(3) { def ret -> + int observerNum = 0 + int followerNum = 0 + ret.each { + if (it.Role.contains(o)) { + observerNum++; + } else if (it.Role.contains(f)){ + followerNum++; + } + } + assertEquals(0, observerNum) + assertEquals(3, followerNum) + } + } +} From 34f04eefa85acf86dbf7534e9adbfd9dfb237a80 Mon Sep 17 00:00:00 2001 From: Kaijie Chen Date: Fri, 6 Sep 2024 00:34:33 +0800 Subject: [PATCH 083/199] [fix](pipelinex) fix fragment instance progress reports (#40325) ## Proposed changes Fix progress in `show load` not 100% when load finished. PipelineX has deprecated `fragmentInstanceId` in `TReportExecStatusParams`. The `finishedScanNums` should be reported with distinct `fragmentInstanceId` to prevent being overwritten. Before ``` | 38024 | lineitem_dup_1_replication_s3_2 | FINISHED | 30.00% (3/10) | BROKER | ... ``` After ``` | 39025 | lineitem_dup_1_replication_s3_3 | FINISHED | 100.00% (10/10) | BROKER | ... ``` --- be/src/runtime/fragment_mgr.cpp | 14 +++++++++---- .../java/org/apache/doris/qe/Coordinator.java | 21 ++++++++++++++----- gensrc/thrift/FrontendService.thrift | 8 +++++++ 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/be/src/runtime/fragment_mgr.cpp b/be/src/runtime/fragment_mgr.cpp index e93f8beec07c39..4af6b72a220c78 100644 --- a/be/src/runtime/fragment_mgr.cpp +++ b/be/src/runtime/fragment_mgr.cpp @@ -393,7 +393,6 @@ void FragmentMgr::coordinator_callback(const ReportStatusRequest& req) { int64_t num_rows_load_success = 0; int64_t num_rows_load_filtered = 0; int64_t num_rows_load_unselected = 0; - int64_t num_finished_ranges = 0; if (req.runtime_state->num_rows_load_total() > 0 || req.runtime_state->num_rows_load_filtered() > 0 || req.runtime_state->num_finished_range() > 0) { @@ -402,7 +401,11 @@ void FragmentMgr::coordinator_callback(const ReportStatusRequest& req) { num_rows_load_success = req.runtime_state->num_rows_load_success(); num_rows_load_filtered = req.runtime_state->num_rows_load_filtered(); num_rows_load_unselected = req.runtime_state->num_rows_load_unselected(); - num_finished_ranges = req.runtime_state->num_finished_range(); + params.__isset.fragment_instance_reports = true; + TFragmentInstanceReport t; + t.__set_fragment_instance_id(req.runtime_state->fragment_instance_id()); + t.__set_num_finished_range(req.runtime_state->num_finished_range()); + params.fragment_instance_reports.push_back(t); } else if (!req.runtime_states.empty()) { for (auto* rs : req.runtime_states) { if (rs->num_rows_load_total() > 0 || rs->num_rows_load_filtered() > 0 || @@ -411,11 +414,14 @@ void FragmentMgr::coordinator_callback(const ReportStatusRequest& req) { num_rows_load_success += rs->num_rows_load_success(); num_rows_load_filtered += rs->num_rows_load_filtered(); num_rows_load_unselected += rs->num_rows_load_unselected(); - num_finished_ranges += rs->num_finished_range(); + params.__isset.fragment_instance_reports = true; + TFragmentInstanceReport t; + t.__set_fragment_instance_id(rs->fragment_instance_id()); + t.__set_num_finished_range(rs->num_finished_range()); + params.fragment_instance_reports.push_back(t); } } } - params.__set_finished_scan_ranges(num_finished_ranges); params.load_counters.emplace(s_dpp_normal_all, std::to_string(num_rows_load_success)); params.load_counters.emplace(s_dpp_abnormal_all, std::to_string(num_rows_load_filtered)); params.load_counters.emplace(s_unselected_rows, std::to_string(num_rows_load_unselected)); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java index cd597128168299..0fff8e9f23c09f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java @@ -93,6 +93,7 @@ import org.apache.doris.thrift.TExternalScanRange; import org.apache.doris.thrift.TFileScanRange; import org.apache.doris.thrift.TFileScanRangeParams; +import org.apache.doris.thrift.TFragmentInstanceReport; import org.apache.doris.thrift.THivePartitionUpdate; import org.apache.doris.thrift.TIcebergCommitData; import org.apache.doris.thrift.TNetworkAddress; @@ -2458,11 +2459,21 @@ public void updateFragmentExecStatus(TReportExecStatusParams params) { } if (params.isSetLoadedRows() && jobId != -1) { - Env.getCurrentEnv().getLoadManager().updateJobProgress( - jobId, params.getBackendId(), params.getQueryId(), params.getFragmentInstanceId(), - params.getLoadedRows(), params.getLoadedBytes(), params.isDone()); - Env.getCurrentEnv().getProgressManager().updateProgress(String.valueOf(jobId), - params.getQueryId(), params.getFragmentInstanceId(), params.getFinishedScanRanges()); + if (params.isSetFragmentInstanceReports()) { + for (TFragmentInstanceReport report : params.getFragmentInstanceReports()) { + Env.getCurrentEnv().getLoadManager().updateJobProgress( + jobId, params.getBackendId(), params.getQueryId(), report.getFragmentInstanceId(), + params.getLoadedRows(), params.getLoadedBytes(), params.isDone()); + Env.getCurrentEnv().getProgressManager().updateProgress(String.valueOf(jobId), + params.getQueryId(), report.getFragmentInstanceId(), report.getNumFinishedRange()); + } + } else { + Env.getCurrentEnv().getLoadManager().updateJobProgress( + jobId, params.getBackendId(), params.getQueryId(), params.getFragmentInstanceId(), + params.getLoadedRows(), params.getLoadedBytes(), params.isDone()); + Env.getCurrentEnv().getProgressManager().updateProgress(String.valueOf(jobId), + params.getQueryId(), params.getFragmentInstanceId(), params.getFinishedScanRanges()); + } } } diff --git a/gensrc/thrift/FrontendService.thrift b/gensrc/thrift/FrontendService.thrift index c618ae1ae4a39f..4b3d90ca76299a 100644 --- a/gensrc/thrift/FrontendService.thrift +++ b/gensrc/thrift/FrontendService.thrift @@ -434,6 +434,12 @@ struct TQueryProfile { 5: optional list load_channel_profiles } +struct TFragmentInstanceReport { + 1: optional Types.TUniqueId fragment_instance_id; + 2: optional i32 num_finished_range; +} + + // The results of an INSERT query, sent to the coordinator as part of // TReportExecStatusParams struct TReportExecStatusParams { @@ -509,6 +515,8 @@ struct TReportExecStatusParams { 29: optional i64 txn_id 30: optional string label + + 31: optional list fragment_instance_reports; } struct TFeResult { From ed37c8175abdfd98ce2b3c4e6e2e74615c341c82 Mon Sep 17 00:00:00 2001 From: hui lai <1353307710@qq.com> Date: Fri, 6 Sep 2024 00:37:59 +0800 Subject: [PATCH 084/199] [fix](multi table) do not use strlen to calculate the length of msg (#40367) Meet code dump when using single stream multi table load: ``` SUMMARY: AddressSanitizer: heap-buffer-overflow /root/doris/be/src/io/fs/multi_table_pipe.cpp:99:22 in doris::io::MultiTablePipe::dispatch(std::__cxx11::basic_string, std::allocator> const&, char const*, unsigned long, doris::Status (doris::io::KafkaConsumerPipe::*)(char const*, unsigned long)) ``` 1. It is hard to guaranteed that msg is a C-style string ending in '\0' character. If not, it may cause the core dump to access memory out of bounds. 2. It is not need to calculate the length of msg twice. Therefore, deleting the logic that using strlen to calculate the length of msg. --- be/src/io/fs/multi_table_pipe.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/be/src/io/fs/multi_table_pipe.cpp b/be/src/io/fs/multi_table_pipe.cpp index 357abee9d0fdb1..70ad64a81ce7cb 100644 --- a/be/src/io/fs/multi_table_pipe.cpp +++ b/be/src/io/fs/multi_table_pipe.cpp @@ -96,7 +96,7 @@ std::string MultiTablePipe::parse_dst_table(const char* data, size_t size) { Status MultiTablePipe::dispatch(const std::string& table, const char* data, size_t size, AppendFunc cb) { - if (size == 0 || strlen(data) == 0) { + if (size == 0) { LOG(WARNING) << "empty data for table: " << table << ", ctx: " << _ctx->brief(); return Status::InternalError("empty data"); } From 83e31d90b9ed8f7adbf20456f81f20a04c19b233 Mon Sep 17 00:00:00 2001 From: Kaijie Chen Date: Fri, 6 Sep 2024 00:44:35 +0800 Subject: [PATCH 085/199] [improve](s3) s3 load provider should be case insensitive (#39957) ## Proposed changes Some S3 vendors strictly require upper case provider info. Provider properties in broker load `WITH S3` statement should be case insensitive. --- be/src/util/s3_util.cpp | 3 ++- .../src/main/java/org/apache/doris/analysis/CopyStmt.java | 3 ++- .../src/main/java/org/apache/doris/analysis/LoadStmt.java | 3 ++- .../java/org/apache/doris/analysis/StageProperties.java | 3 ++- .../doris/datasource/property/constants/S3Properties.java | 6 ++++-- .../src/test/java/org/apache/doris/analysis/StageTest.java | 3 ++- .../main/groovy/org/apache/doris/regression/Config.groovy | 2 +- .../groovy/org/apache/doris/regression/suite/Suite.groovy | 2 +- 8 files changed, 16 insertions(+), 9 deletions(-) diff --git a/be/src/util/s3_util.cpp b/be/src/util/s3_util.cpp index ab291c7340c39d..b2f4cdc3ce7885 100644 --- a/be/src/util/s3_util.cpp +++ b/be/src/util/s3_util.cpp @@ -370,7 +370,8 @@ Status S3ClientFactory::convert_properties_to_s3_conf( } } if (auto it = properties.find(S3_PROVIDER); it != properties.end()) { - if (0 == strcmp(it->second.c_str(), AZURE_PROVIDER_STRING)) { + // S3 Provider properties should be case insensitive. + if (0 == strcasecmp(it->second.c_str(), AZURE_PROVIDER_STRING)) { s3_conf->client_conf.provider = io::ObjStorageType::AZURE; } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CopyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CopyStmt.java index db94c106072f50..6bd4d3506d1a2b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CopyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CopyStmt.java @@ -205,7 +205,8 @@ private void analyzeStagePB(StagePB stagePB) throws AnalysisException { } brokerProperties.put(S3_BUCKET, objInfo.getBucket()); brokerProperties.put(S3_PREFIX, objInfo.getPrefix()); - brokerProperties.put(S3Properties.PROVIDER, objInfo.getProvider().toString()); + // S3 Provider properties should be case insensitive. + brokerProperties.put(S3Properties.PROVIDER, objInfo.getProvider().toString().toUpperCase()); StageProperties stageProperties = new StageProperties(stagePB.getPropertiesMap()); this.copyIntoProperties.mergeProperties(stageProperties); this.copyIntoProperties.analyze(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java index b447bf92690f7e..790bedda198c10 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java @@ -527,7 +527,8 @@ private String getProviderFromEndpoint() { Map properties = brokerDesc.getProperties(); for (Map.Entry entry : properties.entrySet()) { if (entry.getKey().equalsIgnoreCase(S3Properties.PROVIDER)) { - return entry.getValue(); + // S3 Provider properties should be case insensitive. + return entry.getValue().toUpperCase(); } } return S3Properties.S3_PROVIDER; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/StageProperties.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/StageProperties.java index 2ee8628fd48561..063588c5c021a4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/StageProperties.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/StageProperties.java @@ -135,7 +135,8 @@ private void analyzeStorageProperties() throws AnalysisException { } properties.put(PREFIX, prefix); // analyze provider - String provider = properties.get(PROVIDER); + // S3 Provider properties should be case insensitive. + String provider = properties.get(PROVIDER).toUpperCase(); if (!EnumUtils.isValidEnumIgnoreCase(ObjectStoreInfoPB.Provider.class, provider)) { throw new AnalysisException("Property " + PROVIDER + " with invalid value " + provider); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/property/constants/S3Properties.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/property/constants/S3Properties.java index fa7604dc56bf4c..1f7342e80b8074 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/property/constants/S3Properties.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/property/constants/S3Properties.java @@ -197,7 +197,8 @@ public static Map requiredS3TVFProperties(Map pr private static void checkProvider(Map properties) throws DdlException { if (properties.containsKey(PROVIDER)) { properties.put(PROVIDER, properties.get(PROVIDER).toUpperCase()); - if (!PROVIDERS.stream().anyMatch(s -> s.equals(properties.get(PROVIDER)))) { + // S3 Provider properties should be case insensitive. + if (!PROVIDERS.stream().anyMatch(s -> s.equals(properties.get(PROVIDER).toUpperCase()))) { throw new DdlException("Provider must be one of OSS, OBS, AZURE, BOS, COS, S3, GCP"); } } @@ -330,7 +331,8 @@ public static Cloud.ObjectStoreInfoPB.Builder getObjStoreInfoPB(Map Date: Fri, 6 Sep 2024 07:23:18 +0530 Subject: [PATCH 086/199] [chore] remove duplicate code in schema scanner (#40456) ## Proposed changes Issue Number: close #xxx remove duplicate code in schema scanner --- .../schema_active_queries_scanner.cpp | 53 ++++++++----------- .../schema_scanner/schema_routine_scanner.cpp | 28 ++-------- .../schema_scanner/schema_scanner_helper.cpp | 13 ++++- .../schema_scanner/schema_scanner_helper.h | 1 + .../runtime/runtime_query_statistics_mgr.cpp | 47 +++++----------- .../runtime/workload_group/workload_group.cpp | 1 + .../workload_group/workload_group_manager.cpp | 35 +++--------- 7 files changed, 59 insertions(+), 119 deletions(-) diff --git a/be/src/exec/schema_scanner/schema_active_queries_scanner.cpp b/be/src/exec/schema_scanner/schema_active_queries_scanner.cpp index 46522a36242fc1..2b516fc6fdac2b 100644 --- a/be/src/exec/schema_scanner/schema_active_queries_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_active_queries_scanner.cpp @@ -17,6 +17,7 @@ #include "exec/schema_scanner/schema_active_queries_scanner.h" +#include "exec/schema_scanner/schema_scanner_helper.h" #include "runtime/client_cache.h" #include "runtime/exec_env.h" #include "runtime/runtime_state.h" @@ -98,41 +99,29 @@ Status SchemaActiveQueriesScanner::_get_active_queries_block_from_fe() { } } - // todo(wb) reuse this callback function - auto insert_string_value = [&](int col_index, std::string str_val, vectorized::Block* block) { - vectorized::MutableColumnPtr mutable_col_ptr; - mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); - auto* nullable_column = - reinterpret_cast(mutable_col_ptr.get()); - vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); - reinterpret_cast(col_ptr)->insert_data(str_val.data(), - str_val.size()); - nullable_column->get_null_map_data().emplace_back(0); - }; - auto insert_int_value = [&](int col_index, int64_t int_val, vectorized::Block* block) { - vectorized::MutableColumnPtr mutable_col_ptr; - mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); - auto* nullable_column = - reinterpret_cast(mutable_col_ptr.get()); - vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); - reinterpret_cast*>(col_ptr)->insert_value( - int_val); - nullable_column->get_null_map_data().emplace_back(0); - }; - for (int i = 0; i < result_data.size(); i++) { TRow row = result_data[i]; - insert_string_value(0, row.column_value[0].stringVal, _active_query_block.get()); - insert_string_value(1, row.column_value[1].stringVal, _active_query_block.get()); - insert_int_value(2, row.column_value[2].longVal, _active_query_block.get()); - insert_int_value(3, row.column_value[3].longVal, _active_query_block.get()); - insert_string_value(4, row.column_value[4].stringVal, _active_query_block.get()); - insert_string_value(5, row.column_value[5].stringVal, _active_query_block.get()); - insert_string_value(6, row.column_value[6].stringVal, _active_query_block.get()); - insert_string_value(7, row.column_value[7].stringVal, _active_query_block.get()); - insert_string_value(8, row.column_value[8].stringVal, _active_query_block.get()); - insert_string_value(9, row.column_value[9].stringVal, _active_query_block.get()); + SchemaScannerHelper::insert_string_value(0, row.column_value[0].stringVal, + _active_query_block.get()); + SchemaScannerHelper::insert_string_value(1, row.column_value[1].stringVal, + _active_query_block.get()); + SchemaScannerHelper::insert_int_value(2, row.column_value[2].longVal, + _active_query_block.get()); + SchemaScannerHelper::insert_int_value(3, row.column_value[3].longVal, + _active_query_block.get()); + SchemaScannerHelper::insert_string_value(4, row.column_value[4].stringVal, + _active_query_block.get()); + SchemaScannerHelper::insert_string_value(5, row.column_value[5].stringVal, + _active_query_block.get()); + SchemaScannerHelper::insert_string_value(6, row.column_value[6].stringVal, + _active_query_block.get()); + SchemaScannerHelper::insert_string_value(7, row.column_value[7].stringVal, + _active_query_block.get()); + SchemaScannerHelper::insert_string_value(8, row.column_value[8].stringVal, + _active_query_block.get()); + SchemaScannerHelper::insert_string_value(9, row.column_value[9].stringVal, + _active_query_block.get()); } return Status::OK(); } diff --git a/be/src/exec/schema_scanner/schema_routine_scanner.cpp b/be/src/exec/schema_scanner/schema_routine_scanner.cpp index 8c263c99d2d6c8..adb18450f26490 100644 --- a/be/src/exec/schema_scanner/schema_routine_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_routine_scanner.cpp @@ -17,6 +17,7 @@ #include "exec/schema_scanner/schema_routine_scanner.h" +#include "exec/schema_scanner/schema_scanner_helper.h" #include "runtime/client_cache.h" #include "runtime/exec_env.h" #include "runtime/runtime_state.h" @@ -99,28 +100,6 @@ Status SchemaRoutinesScanner::get_block_from_fe() { return Status::InternalError("routine table schema is not match for FE and BE"); } } - auto insert_string_value = [&](int col_index, std::string str_val, vectorized::Block* block) { - vectorized::MutableColumnPtr mutable_col_ptr; - mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); - auto* nullable_column = - reinterpret_cast(mutable_col_ptr.get()); - vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); - reinterpret_cast(col_ptr)->insert_data(str_val.data(), - str_val.size()); - nullable_column->get_null_map_data().emplace_back(0); - }; - auto insert_datetime_value = [&](int col_index, const std::vector& datas, - vectorized::Block* block) { - vectorized::MutableColumnPtr mutable_col_ptr; - mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); - auto* nullable_column = - reinterpret_cast(mutable_col_ptr.get()); - vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); - auto data = datas[0]; - reinterpret_cast*>(col_ptr)->insert_data( - reinterpret_cast(data), 0); - nullable_column->get_null_map_data().emplace_back(0); - }; for (int i = 0; i < result_data.size(); i++) { TRow row = result_data[i]; @@ -132,9 +111,10 @@ Status SchemaRoutinesScanner::get_block_from_fe() { src[0].from_date_str(row.column_value[j].stringVal.data(), row.column_value[j].stringVal.size()); datas[0] = src; - insert_datetime_value(j, datas, _routines_block.get()); + SchemaScannerHelper::insert_datetime_value(j, datas, _routines_block.get()); } else { - insert_string_value(j, row.column_value[j].stringVal, _routines_block.get()); + SchemaScannerHelper::insert_string_value(j, row.column_value[j].stringVal, + _routines_block.get()); } } } diff --git a/be/src/exec/schema_scanner/schema_scanner_helper.cpp b/be/src/exec/schema_scanner/schema_scanner_helper.cpp index b7d7b085f78cdc..fc42044a29c63f 100644 --- a/be/src/exec/schema_scanner/schema_scanner_helper.cpp +++ b/be/src/exec/schema_scanner/schema_scanner_helper.cpp @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -#include "schema_scanner_helper.h" +#include "exec/schema_scanner/schema_scanner_helper.h" #include "runtime/client_cache.h" #include "runtime/exec_env.h" @@ -59,4 +59,15 @@ void SchemaScannerHelper::insert_int_value(int col_index, int64_t int_val, reinterpret_cast*>(col_ptr)->insert_value(int_val); nullable_column->get_null_map_data().emplace_back(0); } + +void SchemaScannerHelper::insert_double_value(int col_index, double double_val, + vectorized::Block* block) { + vectorized::MutableColumnPtr mutable_col_ptr; + mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); + auto* nullable_column = reinterpret_cast(mutable_col_ptr.get()); + vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); + reinterpret_cast*>(col_ptr)->insert_value( + double_val); + nullable_column->get_null_map_data().emplace_back(0); +} } // namespace doris diff --git a/be/src/exec/schema_scanner/schema_scanner_helper.h b/be/src/exec/schema_scanner/schema_scanner_helper.h index 126ad33e5f28a3..c9fe8881ddb06e 100644 --- a/be/src/exec/schema_scanner/schema_scanner_helper.h +++ b/be/src/exec/schema_scanner/schema_scanner_helper.h @@ -36,6 +36,7 @@ class SchemaScannerHelper { vectorized::Block* block); static void insert_int_value(int col_index, int64_t int_val, vectorized::Block* block); + static void insert_double_value(int col_index, double double_val, vectorized::Block* block); }; } // namespace doris diff --git a/be/src/runtime/runtime_query_statistics_mgr.cpp b/be/src/runtime/runtime_query_statistics_mgr.cpp index 5c83a6d8041a74..84a552e45173c4 100644 --- a/be/src/runtime/runtime_query_statistics_mgr.cpp +++ b/be/src/runtime/runtime_query_statistics_mgr.cpp @@ -35,6 +35,7 @@ #include #include "common/logging.h" +#include "exec/schema_scanner/schema_scanner_helper.h" #include "runtime/client_cache.h" #include "runtime/exec_env.h" #include "runtime/query_context.h" @@ -516,51 +517,29 @@ void RuntimeQueryStatisticsMgr::get_active_be_tasks_block(vectorized::Block* blo std::shared_lock read_lock(_qs_ctx_map_lock); int64_t be_id = ExecEnv::GetInstance()->master_info()->backend_id; - auto insert_int_value = [&](int col_index, int64_t int_val, vectorized::Block* block) { - vectorized::MutableColumnPtr mutable_col_ptr; - mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); - auto* nullable_column = - reinterpret_cast(mutable_col_ptr.get()); - vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); - reinterpret_cast*>(col_ptr)->insert_value( - int_val); - nullable_column->get_null_map_data().emplace_back(0); - }; - - auto insert_string_value = [&](int col_index, std::string str_val, vectorized::Block* block) { - vectorized::MutableColumnPtr mutable_col_ptr; - mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); - auto* nullable_column = - reinterpret_cast(mutable_col_ptr.get()); - vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); - reinterpret_cast(col_ptr)->insert_data(str_val.data(), - str_val.size()); - nullable_column->get_null_map_data().emplace_back(0); - }; - // block's schema come from SchemaBackendActiveTasksScanner::_s_tbls_columns for (auto& [query_id, qs_ctx_ptr] : _query_statistics_ctx_map) { TQueryStatistics tqs; qs_ctx_ptr->collect_query_statistics(&tqs); - insert_int_value(0, be_id, block); - insert_string_value(1, qs_ctx_ptr->_fe_addr.hostname, block); - insert_string_value(2, query_id, block); + SchemaScannerHelper::insert_int_value(0, be_id, block); + SchemaScannerHelper::insert_string_value(1, qs_ctx_ptr->_fe_addr.hostname, block); + SchemaScannerHelper::insert_string_value(2, query_id, block); int64_t task_time = qs_ctx_ptr->_is_query_finished ? qs_ctx_ptr->_query_finish_time - qs_ctx_ptr->_query_start_time : MonotonicMillis() - qs_ctx_ptr->_query_start_time; - insert_int_value(3, task_time, block); - insert_int_value(4, tqs.cpu_ms, block); - insert_int_value(5, tqs.scan_rows, block); - insert_int_value(6, tqs.scan_bytes, block); - insert_int_value(7, tqs.max_peak_memory_bytes, block); - insert_int_value(8, tqs.current_used_memory_bytes, block); - insert_int_value(9, tqs.shuffle_send_bytes, block); - insert_int_value(10, tqs.shuffle_send_rows, block); + SchemaScannerHelper::insert_int_value(3, task_time, block); + SchemaScannerHelper::insert_int_value(4, tqs.cpu_ms, block); + SchemaScannerHelper::insert_int_value(5, tqs.scan_rows, block); + SchemaScannerHelper::insert_int_value(6, tqs.scan_bytes, block); + SchemaScannerHelper::insert_int_value(7, tqs.max_peak_memory_bytes, block); + SchemaScannerHelper::insert_int_value(8, tqs.current_used_memory_bytes, block); + SchemaScannerHelper::insert_int_value(9, tqs.shuffle_send_bytes, block); + SchemaScannerHelper::insert_int_value(10, tqs.shuffle_send_rows, block); std::stringstream ss; ss << qs_ctx_ptr->_query_type; - insert_string_value(11, ss.str(), block); + SchemaScannerHelper::insert_string_value(11, ss.str(), block); } } diff --git a/be/src/runtime/workload_group/workload_group.cpp b/be/src/runtime/workload_group/workload_group.cpp index e263685d07f47e..60a17cc1f439ba 100644 --- a/be/src/runtime/workload_group/workload_group.cpp +++ b/be/src/runtime/workload_group/workload_group.cpp @@ -27,6 +27,7 @@ #include #include "common/logging.h" +#include "exec/schema_scanner/schema_scanner_helper.h" #include "io/fs/local_file_reader.h" #include "olap/storage_engine.h" #include "pipeline/task_queue.h" diff --git a/be/src/runtime/workload_group/workload_group_manager.cpp b/be/src/runtime/workload_group/workload_group_manager.cpp index 314a2b87841e1d..393d327e7c42ca 100644 --- a/be/src/runtime/workload_group/workload_group_manager.cpp +++ b/be/src/runtime/workload_group/workload_group_manager.cpp @@ -22,6 +22,7 @@ #include #include +#include "exec/schema_scanner/schema_scanner_helper.h" #include "pipeline/task_scheduler.h" #include "runtime/memory/mem_tracker_limiter.h" #include "runtime/workload_group/workload_group.h" @@ -246,28 +247,6 @@ void WorkloadGroupMgr::refresh_wg_weighted_memory_limit() { } void WorkloadGroupMgr::get_wg_resource_usage(vectorized::Block* block) { - auto insert_int_value = [&](int col_index, int64_t int_val, vectorized::Block* block) { - vectorized::MutableColumnPtr mutable_col_ptr; - mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); - auto* nullable_column = - reinterpret_cast(mutable_col_ptr.get()); - vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); - reinterpret_cast*>(col_ptr)->insert_value( - int_val); - nullable_column->get_null_map_data().emplace_back(0); - }; - - auto insert_double_value = [&](int col_index, double double_val, vectorized::Block* block) { - vectorized::MutableColumnPtr mutable_col_ptr; - mutable_col_ptr = std::move(*block->get_by_position(col_index).column).assume_mutable(); - auto* nullable_column = - reinterpret_cast(mutable_col_ptr.get()); - vectorized::IColumn* col_ptr = &nullable_column->get_nested_column(); - reinterpret_cast*>(col_ptr)->insert_value( - double_val); - nullable_column->get_null_map_data().emplace_back(0); - }; - int64_t be_id = ExecEnv::GetInstance()->master_info()->backend_id; int cpu_num = CpuInfo::num_cores(); cpu_num = cpu_num <= 0 ? 1 : cpu_num; @@ -276,18 +255,18 @@ void WorkloadGroupMgr::get_wg_resource_usage(vectorized::Block* block) { std::shared_lock r_lock(_group_mutex); block->reserve(_workload_groups.size()); for (const auto& [id, wg] : _workload_groups) { - insert_int_value(0, be_id, block); - insert_int_value(1, wg->id(), block); - insert_int_value(2, wg->get_mem_used(), block); + SchemaScannerHelper::insert_int_value(0, be_id, block); + SchemaScannerHelper::insert_int_value(1, wg->id(), block); + SchemaScannerHelper::insert_int_value(2, wg->get_mem_used(), block); double cpu_usage_p = (double)wg->get_cpu_usage() / (double)total_cpu_time_ns_per_second * 100; cpu_usage_p = std::round(cpu_usage_p * 100.0) / 100.0; - insert_double_value(3, cpu_usage_p, block); + SchemaScannerHelper::insert_double_value(3, cpu_usage_p, block); - insert_int_value(4, wg->get_local_scan_bytes_per_second(), block); - insert_int_value(5, wg->get_remote_scan_bytes_per_second(), block); + SchemaScannerHelper::insert_int_value(4, wg->get_local_scan_bytes_per_second(), block); + SchemaScannerHelper::insert_int_value(5, wg->get_remote_scan_bytes_per_second(), block); } } From 119ea59c523a5cd5200d0f1aca0e502de36dc1d0 Mon Sep 17 00:00:00 2001 From: Calvin Kirs Date: Fri, 6 Sep 2024 10:10:59 +0800 Subject: [PATCH 087/199] [feat](Authenticator) Pluginization of Authenticator (#40113) ## abstract introduces the pluginization of the Authenticator component, enabling greater flexibility and modularity within the authentication system. By refactoring the Authenticator into a pluggable SPI (Service Provider Interface), we allow for custom authentication mechanisms to be seamlessly integrated and managed. ## Key Changes AuthenticatorFactory Interface: This interface defines the create method, which is used to create an Authenticator instance based on initialization properties, enabling support for various authentication mechanisms. The factoryIdentifier method provides an identifier for the factory, allowing differentiation between various AuthenticatorFactory implementations (e.g., LDAP, default). Implemented Specific Authentication Factories: We have implemented factories for different authentication mechanisms (such as LDAP), providing the necessary configuration support for each. ## eg In your Maven pom.xml, add the fe-core dependency: ``` org.apache.doris fe-core 1.2-SNAPSHOT provided ``` ``` import org.apache.doris.common.ConfigBase; public class LocalAuthenticatorFactory implements AuthenticatorFactory { @Override public LocalAuthenticator create(Properties initProps) { return new LocalAuthenticator(); } @Override public String factoryIdentifier() { return "local"; } } import java.util.HashMap; import java.util.Map; public class LocalAuthenticator implements Authenticator { private Map userStore = new HashMap<>(); public LocalAuthenticator() { // Hardcoded usernames and passwords userStore.put("user1", "password1"); userStore.put("user2", "password2"); userStore.put("admin", "adminpass"); } @Override public boolean authenticate(String username, String password) { // Authenticate by checking the hardcoded user store String storedPassword = userStore.get(username); return storedPassword != null && storedPassword.equals(password); } } ``` To integrate with the SPI (Service Provider Interface) mechanism, we created a file at **src/main/resources/META-INF/services/org.apache.doris.mysql.authenticate.AuthenticatorFactory** containing **org.example.LocalAuthenticatorFactory,** which allows the system to dynamically load and utilize the LocalAuthenticatorFactory implementation. Your plugin needs to include all necessary dependencies, and it is generally recommended to package them into an Uber JAR (also known as a Fat JAR) to ensure that the plugin can run independently without additional dependency management. Once packaged, this JAR can be placed directly in the **fe/custom_lib** directory. --- .../java/org/apache/doris/catalog/Env.java | 2 +- .../mysql/authenticate/AuthenticateType.java | 18 +++++ .../authenticate/AuthenticatorFactory.java | 37 ++++++++++ .../authenticate/AuthenticatorManager.java | 69 ++++++++++++++----- .../DefaultAuthenticatorFactory.java | 32 +++++++++ .../authenticate/ldap/LdapAuthenticator.java | 9 +-- .../ldap/LdapAuthenticatorFactory.java | 37 ++++++++++ ...is.mysql.authenticate.AuthenticatorFactory | 19 +++++ 8 files changed, 199 insertions(+), 24 deletions(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticatorFactory.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/DefaultAuthenticatorFactory.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticatorFactory.java create mode 100644 fe/fe-core/src/main/resources/META-INF/services/org.apache.doris.mysql.authenticate.AuthenticatorFactory diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java index 23ba86e53cd8fb..35bf31ad3fcdb3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java @@ -743,7 +743,7 @@ public Env(boolean isCheckpointCatalog) { this.auth = new Auth(); this.accessManager = new AccessControllerManager(auth); - this.authenticatorManager = new AuthenticatorManager(AuthenticateType.getAuthTypeConfig()); + this.authenticatorManager = new AuthenticatorManager(AuthenticateType.getAuthTypeConfigString()); this.domainResolver = new DomainResolver(auth); this.metaContext = new MetaContext(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticateType.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticateType.java index 4281c19bba6412..1f16c1f541b391 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticateType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticateType.java @@ -40,4 +40,22 @@ public static AuthenticateType getAuthTypeConfig() { return DEFAULT; } } + + public static String getAuthTypeConfigString() { + String authType = Config.authentication_type.toLowerCase(); + + if (LdapConfig.ldap_authentication_enabled) { + return LDAP.name(); + } + + switch (authType) { + case "default": + return DEFAULT.toString(); + case "ldap": + return LDAP.toString(); + default: + return authType; + } + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticatorFactory.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticatorFactory.java new file mode 100644 index 00000000000000..25ac87de4e7848 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticatorFactory.java @@ -0,0 +1,37 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.mysql.authenticate; + +import java.util.Properties; + +public interface AuthenticatorFactory { + /** + * Creates a new instance of Authenticator. + * + * @return an instance of Authenticator + */ + Authenticator create(Properties initProps); + + /** + * Returns the identifier for the factory, such as "ldap" or "default". + * + * @return the factory identifier + */ + String factoryIdentifier(); +} + diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticatorManager.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticatorManager.java index c00828f82fad92..68b6724b6d808b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticatorManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/AuthenticatorManager.java @@ -17,47 +17,67 @@ package org.apache.doris.mysql.authenticate; +import org.apache.doris.common.EnvUtils; import org.apache.doris.mysql.MysqlAuthPacket; import org.apache.doris.mysql.MysqlChannel; import org.apache.doris.mysql.MysqlHandshakePacket; import org.apache.doris.mysql.MysqlProto; import org.apache.doris.mysql.MysqlSerializer; -import org.apache.doris.mysql.authenticate.ldap.LdapAuthenticator; import org.apache.doris.mysql.authenticate.password.Password; import org.apache.doris.qe.ConnectContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.io.File; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.Optional; +import java.util.Properties; +import java.util.ServiceLoader; public class AuthenticatorManager { private static final Logger LOG = LogManager.getLogger(AuthenticatorManager.class); - private Authenticator defaultAuthenticator; - private Authenticator authTypeAuthenticator; + private static volatile Authenticator defaultAuthenticator = null; + private static volatile Authenticator authTypeAuthenticator = null; - public AuthenticatorManager(AuthenticateType type) { - LOG.info("authenticate type: {}", type); - this.defaultAuthenticator = new DefaultAuthenticator(); - switch (type) { - case LDAP: - this.authTypeAuthenticator = new LdapAuthenticator(); - break; - case DEFAULT: - default: - this.authTypeAuthenticator = defaultAuthenticator; - break; + public AuthenticatorManager(String type) { + LOG.info("Authenticate type: {}", type); + + if (authTypeAuthenticator == null) { + synchronized (AuthenticatorManager.class) { + if (authTypeAuthenticator == null) { + try { + authTypeAuthenticator = loadFactoriesByName(type); + } catch (Exception e) { + LOG.warn("Failed to load authenticator by name: {}, using default authenticator", type, e); + authTypeAuthenticator = defaultAuthenticator; + } + } + } + } + } + + + private Authenticator loadFactoriesByName(String identifier) throws Exception { + ServiceLoader loader = ServiceLoader.load(AuthenticatorFactory.class); + for (AuthenticatorFactory factory : loader) { + LOG.info("Found Authenticator Plugin Factory: {}", factory.factoryIdentifier()); + if (factory.factoryIdentifier().equalsIgnoreCase(identifier)) { + return factory.create(loadConfigFile()); + } } + throw new RuntimeException("No AuthenticatorFactory found for identifier: " + identifier); } public boolean authenticate(ConnectContext context, - String userName, - MysqlChannel channel, - MysqlSerializer serializer, - MysqlAuthPacket authPacket, - MysqlHandshakePacket handshakePacket) throws IOException { + String userName, + MysqlChannel channel, + MysqlSerializer serializer, + MysqlAuthPacket authPacket, + MysqlHandshakePacket handshakePacket) throws IOException { Authenticator authenticator = chooseAuthenticator(userName); Optional password = authenticator.getPasswordResolver() .resolvePassword(context, channel, serializer, authPacket, handshakePacket); @@ -80,4 +100,15 @@ public boolean authenticate(ConnectContext context, private Authenticator chooseAuthenticator(String userName) { return authTypeAuthenticator.canDeal(userName) ? authTypeAuthenticator : defaultAuthenticator; } + + private static Properties loadConfigFile() throws Exception { + String configFilePath = EnvUtils.getDorisHome() + "/conf/authenticate.conf"; + if (new File(configFilePath).exists()) { + LOG.info("Loading authenticate configuration file: {}", configFilePath); + Properties properties = new Properties(); + properties.load(Files.newInputStream(Paths.get(configFilePath))); + return properties; + } + return new Properties(); + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/DefaultAuthenticatorFactory.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/DefaultAuthenticatorFactory.java new file mode 100644 index 00000000000000..5d073a8296a3e4 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/DefaultAuthenticatorFactory.java @@ -0,0 +1,32 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.mysql.authenticate; + +import java.util.Properties; + +public class DefaultAuthenticatorFactory implements AuthenticatorFactory { + @Override + public DefaultAuthenticator create(Properties initProps) { + return new DefaultAuthenticator(); + } + + @Override + public String factoryIdentifier() { + return "default"; + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticator.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticator.java index e37112372ceb88..cd9cef469d2520 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticator.java @@ -75,10 +75,11 @@ public boolean canDeal(String qualifiedUser) { if (qualifiedUser.equals(Auth.ROOT_USER) || qualifiedUser.equals(Auth.ADMIN_USER)) { return false; } - if (!Env.getCurrentEnv().getAuth().getLdapManager().doesUserExist(qualifiedUser)) { - return false; - } - return true; + // Fixme Note: LdapManager should be managed internally within the Ldap plugin + // and not be placed inside the Env class. This ensures that Ldap-related + // logic and dependencies are encapsulated within the plugin, promoting + // better modularity and maintainability. + return Env.getCurrentEnv().getAuth().getLdapManager().doesUserExist(qualifiedUser); } /** diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticatorFactory.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticatorFactory.java new file mode 100644 index 00000000000000..fba5c350d391de --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticatorFactory.java @@ -0,0 +1,37 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.mysql.authenticate.ldap; + +import org.apache.doris.mysql.authenticate.AuthenticatorFactory; + +import java.util.Properties; + +public class LdapAuthenticatorFactory implements AuthenticatorFactory { + + + @Override + public LdapAuthenticator create(Properties initProps) { + return new LdapAuthenticator(); + } + + @Override + public String factoryIdentifier() { + return "ldap"; + } + +} diff --git a/fe/fe-core/src/main/resources/META-INF/services/org.apache.doris.mysql.authenticate.AuthenticatorFactory b/fe/fe-core/src/main/resources/META-INF/services/org.apache.doris.mysql.authenticate.AuthenticatorFactory new file mode 100644 index 00000000000000..3a013ff7f32d53 --- /dev/null +++ b/fe/fe-core/src/main/resources/META-INF/services/org.apache.doris.mysql.authenticate.AuthenticatorFactory @@ -0,0 +1,19 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +org.apache.doris.mysql.authenticate.DefaultAuthenticatorFactory +org.apache.doris.mysql.authenticate.ldap.LdapAuthenticatorFactory \ No newline at end of file From 27ee0b5170403f211bc2685d2bb4b6f17c86d16f Mon Sep 17 00:00:00 2001 From: Gabriel Date: Fri, 6 Sep 2024 10:12:32 +0800 Subject: [PATCH 088/199] [metrics](rpc) Add rpc latency metrics (#39593) --- be/src/service/internal_service.cpp | 22 ++++++++++------- be/src/service/internal_service.h | 2 +- be/src/vec/runtime/vdata_stream_mgr.cpp | 5 ++-- be/src/vec/runtime/vdata_stream_mgr.h | 3 ++- be/src/vec/runtime/vdata_stream_recvr.cpp | 30 ++++++++++++++++++++--- be/src/vec/runtime/vdata_stream_recvr.h | 6 +++-- 6 files changed, 50 insertions(+), 18 deletions(-) diff --git a/be/src/service/internal_service.cpp b/be/src/service/internal_service.cpp index 744024c940c83b..683cbbea756be0 100644 --- a/be/src/service/internal_service.cpp +++ b/be/src/service/internal_service.cpp @@ -1510,23 +1510,24 @@ void PInternalService::transmit_block(google::protobuf::RpcController* controlle const PTransmitDataParams* request, PTransmitDataResult* response, google::protobuf::Closure* done) { + int64_t receive_time = GetCurrentTimeNanos(); if (config::enable_bthread_transmit_block) { - int64_t receive_time = GetCurrentTimeNanos(); response->set_receive_time(receive_time); // under high concurrency, thread pool will have a lot of lock contention. // May offer failed to the thread pool, so that we should avoid using thread // pool here. - _transmit_block(controller, request, response, done, Status::OK()); + _transmit_block(controller, request, response, done, Status::OK(), 0); } else { - bool ret = _light_work_pool.try_offer([this, controller, request, response, done]() { - int64_t receive_time = GetCurrentTimeNanos(); + bool ret = _light_work_pool.try_offer([this, controller, request, response, done, + receive_time]() { response->set_receive_time(receive_time); // Sometimes transmit block function is the last owner of PlanFragmentExecutor // It will release the object. And the object maybe a JNIContext. // JNIContext will hold some TLS object. It could not work correctly under bthread // Context. So that put the logic into pthread. // But this is rarely happens, so this config is disabled by default. - _transmit_block(controller, request, response, done, Status::OK()); + _transmit_block(controller, request, response, done, Status::OK(), + GetCurrentTimeNanos() - receive_time); }); if (!ret) { offer_failed(response, done, _light_work_pool); @@ -1539,14 +1540,16 @@ void PInternalService::transmit_block_by_http(google::protobuf::RpcController* c const PEmptyRequest* request, PTransmitDataResult* response, google::protobuf::Closure* done) { - bool ret = _heavy_work_pool.try_offer([this, controller, response, done]() { + int64_t receive_time = GetCurrentTimeNanos(); + bool ret = _heavy_work_pool.try_offer([this, controller, response, done, receive_time]() { PTransmitDataParams* new_request = new PTransmitDataParams(); google::protobuf::Closure* new_done = new NewHttpClosure(new_request, done); brpc::Controller* cntl = static_cast(controller); Status st = attachment_extract_request_contain_block(new_request, cntl); - _transmit_block(controller, new_request, response, new_done, st); + _transmit_block(controller, new_request, response, new_done, st, + GetCurrentTimeNanos() - receive_time); }); if (!ret) { offer_failed(response, done, _heavy_work_pool); @@ -1557,7 +1560,8 @@ void PInternalService::transmit_block_by_http(google::protobuf::RpcController* c void PInternalService::_transmit_block(google::protobuf::RpcController* controller, const PTransmitDataParams* request, PTransmitDataResult* response, - google::protobuf::Closure* done, const Status& extract_st) { + google::protobuf::Closure* done, const Status& extract_st, + const int64_t wait_for_worker) { if (request->has_query_id()) { VLOG_ROW << "transmit block: fragment_instance_id=" << print_id(request->finst_id()) << " query_id=" << print_id(request->query_id()) << " node=" << request->node_id(); @@ -1567,7 +1571,7 @@ void PInternalService::_transmit_block(google::protobuf::RpcController* controll // give response a default value to avoid null pointers in high concurrency. Status st; if (extract_st.ok()) { - st = _exec_env->vstream_mgr()->transmit_block(request, &done); + st = _exec_env->vstream_mgr()->transmit_block(request, &done, wait_for_worker); if (!st.ok() && !st.is()) { LOG(WARNING) << "transmit_block failed, message=" << st << ", fragment_instance_id=" << print_id(request->finst_id()) diff --git a/be/src/service/internal_service.h b/be/src/service/internal_service.h index 85a31136f22e8f..04c0a86ef046eb 100644 --- a/be/src/service/internal_service.h +++ b/be/src/service/internal_service.h @@ -255,7 +255,7 @@ class PInternalService : public PBackendService { void _transmit_block(::google::protobuf::RpcController* controller, const ::doris::PTransmitDataParams* request, ::doris::PTransmitDataResult* response, ::google::protobuf::Closure* done, - const Status& extract_st); + const Status& extract_st, const int64_t wait_for_worker); Status _tablet_fetch_data(const PTabletKeyLookupRequest* request, PTabletKeyLookupResponse* response); diff --git a/be/src/vec/runtime/vdata_stream_mgr.cpp b/be/src/vec/runtime/vdata_stream_mgr.cpp index 4e48effb566a52..80cc2d93f8e103 100644 --- a/be/src/vec/runtime/vdata_stream_mgr.cpp +++ b/be/src/vec/runtime/vdata_stream_mgr.cpp @@ -102,7 +102,8 @@ Status VDataStreamMgr::find_recvr(const TUniqueId& fragment_instance_id, PlanNod } Status VDataStreamMgr::transmit_block(const PTransmitDataParams* request, - ::google::protobuf::Closure** done) { + ::google::protobuf::Closure** done, + const int64_t wait_for_worker) { const PUniqueId& finst_id = request->finst_id(); TUniqueId t_finst_id; t_finst_id.hi = finst_id.hi(); @@ -138,7 +139,7 @@ Status VDataStreamMgr::transmit_block(const PTransmitDataParams* request, if (request->has_block()) { RETURN_IF_ERROR(recvr->add_block(request->block(), request->sender_id(), request->be_number(), request->packet_seq(), - eos ? nullptr : done)); + eos ? nullptr : done, wait_for_worker)); } if (eos) { diff --git a/be/src/vec/runtime/vdata_stream_mgr.h b/be/src/vec/runtime/vdata_stream_mgr.h index 43605bb6abd31a..09e347fcfb2a7a 100644 --- a/be/src/vec/runtime/vdata_stream_mgr.h +++ b/be/src/vec/runtime/vdata_stream_mgr.h @@ -60,7 +60,8 @@ class VDataStreamMgr { Status deregister_recvr(const TUniqueId& fragment_instance_id, PlanNodeId node_id); - Status transmit_block(const PTransmitDataParams* request, ::google::protobuf::Closure** done); + Status transmit_block(const PTransmitDataParams* request, ::google::protobuf::Closure** done, + const int64_t wait_for_worker); void cancel(const TUniqueId& fragment_instance_id, Status exec_status); diff --git a/be/src/vec/runtime/vdata_stream_recvr.cpp b/be/src/vec/runtime/vdata_stream_recvr.cpp index 5cbf42ea4e2bbc..5326f2b7d0ab0a 100644 --- a/be/src/vec/runtime/vdata_stream_recvr.cpp +++ b/be/src/vec/runtime/vdata_stream_recvr.cpp @@ -59,6 +59,10 @@ VDataStreamRecvr::SenderQueue::~SenderQueue() { DCHECK(_pending_closures.empty()); for (auto closure_pair : _pending_closures) { closure_pair.first->Run(); + int64_t elapse_time = closure_pair.second.elapsed_time(); + if (_recvr->_max_wait_to_process_time->value() < elapse_time) { + _recvr->_max_wait_to_process_time->set(elapse_time); + } } _pending_closures.clear(); } @@ -103,6 +107,10 @@ Status VDataStreamRecvr::SenderQueue::_inner_get_batch_without_lock(Block* block if (!_pending_closures.empty()) { auto closure_pair = _pending_closures.front(); closure_pair.first->Run(); + int64_t elapse_time = closure_pair.second.elapsed_time(); + if (_recvr->_max_wait_to_process_time->value() < elapse_time) { + _recvr->_max_wait_to_process_time->set(elapse_time); + } _pending_closures.pop_front(); closure_pair.second.stop(); @@ -125,7 +133,8 @@ void VDataStreamRecvr::SenderQueue::try_set_dep_ready_without_lock() { Status VDataStreamRecvr::SenderQueue::add_block(const PBlock& pblock, int be_number, int64_t packet_seq, - ::google::protobuf::Closure** done) { + ::google::protobuf::Closure** done, + const int64_t wait_for_worker) { { std::lock_guard l(_lock); if (_is_cancelled) { @@ -176,6 +185,9 @@ Status VDataStreamRecvr::SenderQueue::add_block(const PBlock& pblock, int be_num COUNTER_UPDATE(_recvr->_decompress_bytes, block->get_decompressed_bytes()); COUNTER_UPDATE(_recvr->_rows_produced_counter, rows); COUNTER_UPDATE(_recvr->_blocks_produced_counter, 1); + if (_recvr->_max_wait_worker_time->value() < wait_for_worker) { + _recvr->_max_wait_worker_time->set(wait_for_worker); + } _block_queue.emplace_back(std::move(block), block_byte_size); COUNTER_UPDATE(_recvr->_remote_bytes_received_counter, block_byte_size); @@ -266,6 +278,10 @@ void VDataStreamRecvr::SenderQueue::cancel(Status cancel_status) { std::lock_guard l(_lock); for (auto closure_pair : _pending_closures) { closure_pair.first->Run(); + int64_t elapse_time = closure_pair.second.elapsed_time(); + if (_recvr->_max_wait_to_process_time->value() < elapse_time) { + _recvr->_max_wait_to_process_time->set(elapse_time); + } } _pending_closures.clear(); } @@ -282,6 +298,10 @@ void VDataStreamRecvr::SenderQueue::close() { for (auto closure_pair : _pending_closures) { closure_pair.first->Run(); + int64_t elapse_time = closure_pair.second.elapsed_time(); + if (_recvr->_max_wait_to_process_time->value() < elapse_time) { + _recvr->_max_wait_to_process_time->set(elapse_time); + } } _pending_closures.clear(); } @@ -341,6 +361,8 @@ VDataStreamRecvr::VDataStreamRecvr(VDataStreamMgr* stream_mgr, RuntimeState* sta _decompress_bytes = ADD_COUNTER(_profile, "DecompressBytes", TUnit::BYTES); _rows_produced_counter = ADD_COUNTER(_profile, "RowsProduced", TUnit::UNIT); _blocks_produced_counter = ADD_COUNTER(_profile, "BlocksProduced", TUnit::UNIT); + _max_wait_worker_time = ADD_COUNTER(_profile, "MaxWaitForWorkerTime", TUnit::UNIT); + _max_wait_to_process_time = ADD_COUNTER(_profile, "MaxWaitToProcessTime", TUnit::UNIT); } VDataStreamRecvr::~VDataStreamRecvr() { @@ -368,10 +390,12 @@ Status VDataStreamRecvr::create_merger(const VExprContextSPtrs& ordering_expr, } Status VDataStreamRecvr::add_block(const PBlock& pblock, int sender_id, int be_number, - int64_t packet_seq, ::google::protobuf::Closure** done) { + int64_t packet_seq, ::google::protobuf::Closure** done, + const int64_t wait_for_worker) { SCOPED_ATTACH_TASK(_query_thread_context); int use_sender_id = _is_merging ? sender_id : 0; - return _sender_queues[use_sender_id]->add_block(pblock, be_number, packet_seq, done); + return _sender_queues[use_sender_id]->add_block(pblock, be_number, packet_seq, done, + wait_for_worker); } void VDataStreamRecvr::add_block(Block* block, int sender_id, bool use_move) { diff --git a/be/src/vec/runtime/vdata_stream_recvr.h b/be/src/vec/runtime/vdata_stream_recvr.h index d6f2b949a848bc..7eebdf0249b958 100644 --- a/be/src/vec/runtime/vdata_stream_recvr.h +++ b/be/src/vec/runtime/vdata_stream_recvr.h @@ -83,7 +83,7 @@ class VDataStreamRecvr : public HasTaskExecutionCtx { std::vector sender_queues() const { return _sender_queues; } Status add_block(const PBlock& pblock, int sender_id, int be_number, int64_t packet_seq, - ::google::protobuf::Closure** done); + ::google::protobuf::Closure** done, const int64_t wait_for_worker); void add_block(Block* block, int sender_id, bool use_move); @@ -158,6 +158,8 @@ class VDataStreamRecvr : public HasTaskExecutionCtx { RuntimeProfile::Counter* _rows_produced_counter = nullptr; // Number of blocks received RuntimeProfile::Counter* _blocks_produced_counter = nullptr; + RuntimeProfile::Counter* _max_wait_worker_time = nullptr; + RuntimeProfile::Counter* _max_wait_to_process_time = nullptr; std::vector> _sender_to_local_channel_dependency; }; @@ -176,7 +178,7 @@ class VDataStreamRecvr::SenderQueue { Status get_batch(Block* next_block, bool* eos); Status add_block(const PBlock& pblock, int be_number, int64_t packet_seq, - ::google::protobuf::Closure** done); + ::google::protobuf::Closure** done, const int64_t wait_for_worker); void add_block(Block* block, bool use_move); From ca52591e52813cb26d923d319e6ce93618518eae Mon Sep 17 00:00:00 2001 From: zhangstar333 <87313068+zhangstar333@users.noreply.github.com> Date: Fri, 6 Sep 2024 10:59:23 +0800 Subject: [PATCH 089/199] [Bug](compatibility) fix stddev_samp function coredump when upgrade (#40438) ## Proposed changes ``` if (IAggregateFunction::version < AGG_FUNCTION_NULLABLE) { return make_nullable(Data::get_return_type()); } else { return Data::get_return_type(); } ``` before check two version , and then get return type, but now in branch-21, the IAggregateFunction::version have update to 5, and also AGG_FUNCTION_NEW=5 so the check will not get right return type. --- .../aggregate_function_stddev.h | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/be/src/vec/aggregate_functions/aggregate_function_stddev.h b/be/src/vec/aggregate_functions/aggregate_function_stddev.h index 6af310b0ae8fad..5a8c896e1c3247 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_stddev.h +++ b/be/src/vec/aggregate_functions/aggregate_function_stddev.h @@ -126,8 +126,6 @@ struct BaseData { count += 1; } - static DataTypePtr get_return_type() { return std::make_shared>(); } - double mean; double m2; int64_t count; @@ -145,6 +143,8 @@ struct PopData : Data { col.get_data().push_back(this->get_pop_result()); } } + + static DataTypePtr get_return_type() { return std::make_shared>(); } }; // For this series of functions, the Decimal type is not supported @@ -189,6 +189,10 @@ struct SampData_OLDER : Data { nullable_column.get_null_map_data().push_back(0); } } + + static DataTypePtr get_return_type() { + return make_nullable(std::make_shared>()); + } }; template @@ -207,6 +211,8 @@ struct SampData : Data { } } } + + static DataTypePtr get_return_type() { return std::make_shared>(); } }; template @@ -221,17 +227,7 @@ class AggregateFunctionSampVariance String get_name() const override { return Data::name(); } - DataTypePtr get_return_type() const override { - if constexpr (is_pop) { - return Data::get_return_type(); - } else { - if (IAggregateFunction::version < AGG_FUNCTION_NULLABLE) { - return make_nullable(Data::get_return_type()); - } else { - return Data::get_return_type(); - } - } - } + DataTypePtr get_return_type() const override { return Data::get_return_type(); } void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num, Arena*) const override { From 1216425ceb03dffd64ad414269c05cdc82338aba Mon Sep 17 00:00:00 2001 From: zhiqiang Date: Fri, 6 Sep 2024 11:07:52 +0800 Subject: [PATCH 090/199] [chore](log) Do not print profile in be log if query comes from FE (#40399) For stream load and queries from external connector, we will print profile in be.log. For others, should not do it because insert into select and broker load already saved profile in FE. --- be/src/pipeline/pipeline_fragment_context.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/be/src/pipeline/pipeline_fragment_context.cpp b/be/src/pipeline/pipeline_fragment_context.cpp index 3bf54ed7ece00b..ddde18fe8b6071 100644 --- a/be/src/pipeline/pipeline_fragment_context.cpp +++ b/be/src/pipeline/pipeline_fragment_context.cpp @@ -1626,14 +1626,14 @@ void PipelineFragmentContext::_close_fragment_instance() { Defer defer_op {[&]() { _is_fragment_instance_closed = true; }}; _runtime_profile->total_time_counter()->update(_fragment_watcher.elapsed_time()); static_cast(send_report(true)); - // Print profile content in info log is a tempoeray solution for stream load. + // Print profile content in info log is a tempoeray solution for stream load and external_connector. // Since stream load does not have someting like coordinator on FE, so // backend can not report profile to FE, ant its profile can not be shown // in the same way with other query. So we print the profile content to info log. - // Print profile content in log is harmful for log readability, info log will be - // full of profile content, and not just profile of stream load. - // We know it, but currently we do not have a cheap and good solution for this. - if (_runtime_state->enable_profile()) { + + if (_runtime_state->enable_profile() && + (_query_ctx->get_query_source() == QuerySource::STREAM_LOAD || + _query_ctx->get_query_source() == QuerySource::EXTERNAL_CONNECTOR)) { std::stringstream ss; // Compute the _local_time_percent before pretty_print the runtime_profile // Before add this operation, the print out like that: From ec6b744c1567983a5e7d1227f06e7c1ca166822d Mon Sep 17 00:00:00 2001 From: Qi Chen Date: Fri, 6 Sep 2024 11:08:26 +0800 Subject: [PATCH 091/199] [Enhancement](be-logger) Support custom date time format functionality in be log. (#40347) ## Proposed changes Add these configurations to control it. ``` // log enable custom date time format DEFINE_Bool(sys_log_enable_custom_date_time_format, "false"); // log custom date time format (https://en.cppreference.com/w/cpp/io/manip/put_time) DEFINE_String(sys_log_custom_date_time_format, "%Y-%m-%d %H:%M:%S"); // log custom date time milliseconds format (fmt::format) DEFINE_String(sys_log_custom_date_time_ms_format, ",{:03d}"); ``` --- be/src/common/config.cpp | 6 ++++ be/src/common/config.h | 6 ++++ be/src/common/logconfig.cpp | 61 ++++++++++++++++++++++++++----------- 3 files changed, 56 insertions(+), 17 deletions(-) diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp index 5b3880320eeb30..00f8a042cbcbb7 100644 --- a/be/src/common/config.cpp +++ b/be/src/common/config.cpp @@ -236,6 +236,12 @@ DEFINE_Int32(sys_log_verbose_level, "10"); DEFINE_Int32(sys_log_verbose_flags_v, "-1"); // log buffer level DEFINE_String(log_buffer_level, ""); +// log enable custom date time format +DEFINE_Bool(sys_log_enable_custom_date_time_format, "false"); +// log custom date time format (https://en.cppreference.com/w/cpp/io/manip/put_time) +DEFINE_String(sys_log_custom_date_time_format, "%Y-%m-%d %H:%M:%S"); +// log custom date time milliseconds format (fmt::format) +DEFINE_String(sys_log_custom_date_time_ms_format, ",{:03d}"); // number of threads available to serve backend execution requests DEFINE_Int32(be_service_threads, "64"); diff --git a/be/src/common/config.h b/be/src/common/config.h index 258c3b385b915b..bd2aa4f51be1a9 100644 --- a/be/src/common/config.h +++ b/be/src/common/config.h @@ -288,6 +288,12 @@ DECLARE_Int32(sys_log_verbose_level); DECLARE_Int32(sys_log_verbose_flags_v); // log buffer level DECLARE_String(log_buffer_level); +// log enable custom date time format +DECLARE_Bool(sys_log_enable_custom_date_time_format); +// log custom date time format (https://en.cppreference.com/w/cpp/io/manip/put_time) +DECLARE_String(sys_log_custom_date_time_format); +// log custom date time milliseconds format (fmt::format) +DECLARE_String(sys_log_custom_date_time_ms_format); // number of threads available to serve backend execution requests DECLARE_Int32(be_service_threads); diff --git a/be/src/common/logconfig.cpp b/be/src/common/logconfig.cpp index 0865e8ce471d49..88c7d4bc75530c 100644 --- a/be/src/common/logconfig.cpp +++ b/be/src/common/logconfig.cpp @@ -49,21 +49,40 @@ static bool iequals(const std::string& a, const std::string& b) { return true; } -void custom_prefix(std::ostream& s, const google::LogMessageInfo& l, void*) { - // Add prefix "RuntimeLogger ". - s << "RuntimeLogger "; - // Same as in fe.log - // The following is same as default log format. eg: - // I20240605 15:25:15.677153 1763151 wal_manager.cpp:481] msg... +// if custom_date_time_format = false, same format as in be.log +// The following is same as default log format. eg: +// I20240605 15:25:15.677153 1763151 wal_manager.cpp:481] msg... +template +void custom_prefix(std::ostream& s, const google::LogMessageInfo& l, void* arg) { + if constexpr (add_runtime_logger_prefix) { + // Add prefix "RuntimeLogger ". + s << "RuntimeLogger "; + } s << l.severity[0]; - s << std::setw(4) << 1900 + l.time.year(); - s << std::setw(2) << 1 + l.time.month(); - s << std::setw(2) << l.time.day(); - s << ' '; - s << std::setw(2) << l.time.hour() << ':'; - s << std::setw(2) << l.time.min() << ':'; - s << std::setw(2) << l.time.sec() << "."; - s << std::setw(6) << l.time.usec(); + + // Add a space if custom_date_time_format. + if constexpr (custom_date_time_format) { + s << ' '; + } + + std::tm tm_time = {}; + tm_time.tm_year = l.time.year(); + tm_time.tm_mon = l.time.month(); + tm_time.tm_mday = l.time.day(); + tm_time.tm_hour = l.time.hour(); + tm_time.tm_min = l.time.min(); + tm_time.tm_sec = l.time.sec(); + + if constexpr (custom_date_time_format) { + s << std::put_time(&tm_time, config::sys_log_custom_date_time_format.c_str()); + if (!config::sys_log_custom_date_time_ms_format.empty()) { + s << fmt::format(config::sys_log_custom_date_time_ms_format, l.time.usec() / 1000); + } + } else { + s << std::put_time(&tm_time, "%Y%m%d %H:%M:%S"); + s << "." << std::setw(6) << l.time.usec(); + } + s << ' '; s << std::setfill(' ') << std::setw(5); s << l.thread_id << std::setfill('0'); @@ -173,10 +192,18 @@ bool init_glog(const char* basename) { } if (log_to_console) { - // Only add prefix if log output to stderr - google::InitGoogleLogging(basename, &custom_prefix); + // Add prefix if log output to stderr + if (config::sys_log_enable_custom_date_time_format) { + google::InitGoogleLogging(basename, &custom_prefix); + } else { + google::InitGoogleLogging(basename, &custom_prefix); + } } else { - google::InitGoogleLogging(basename); + if (config::sys_log_enable_custom_date_time_format) { + google::InitGoogleLogging(basename, &custom_prefix); + } else { + google::InitGoogleLogging(basename); + } } logging_initialized = true; From af410303a367ff5ce6d19958e188adea0dda002d Mon Sep 17 00:00:00 2001 From: Pxl Date: Fri, 6 Sep 2024 11:14:50 +0800 Subject: [PATCH 092/199] [Chore](utils) remove some unused code (#40423) ## Proposed changes remove some unused code --- be/src/olap/utils.cpp | 42 ------------------------------- be/src/olap/utils.h | 57 ------------------------------------------- 2 files changed, 99 deletions(-) diff --git a/be/src/olap/utils.cpp b/be/src/olap/utils.cpp index aa641207b2329a..5ae8b7ab9df244 100644 --- a/be/src/olap/utils.cpp +++ b/be/src/olap/utils.cpp @@ -369,35 +369,6 @@ static const unsigned int T8_7[256] = { 0xCF56CE31, 0x14124958, 0x5D2E347F, 0xE54C35A1, 0xAC704886, 0x7734CFEF, 0x3E08B2C8, 0xC451B7CC, 0x8D6DCAEB, 0x56294D82, 0x1F1530A5}; -unsigned int crc32c_lut(char const* b, unsigned int off, unsigned int len, unsigned int crc) { - unsigned int localCrc = crc; - while (len > 7) { - unsigned int c0 = b[off++] ^ localCrc; - unsigned int c1 = b[off++] ^ (localCrc >>= 8); - unsigned int c2 = b[off++] ^ (localCrc >>= 8); - unsigned int c3 = b[off++] ^ (localCrc >>= 8); - - localCrc = (T8_7[c0 & 0xff] ^ T8_6[c1 & 0xff]) ^ (T8_5[c2 & 0xff] ^ T8_4[c3 & 0xff]); - - c0 = b[off++] & 0xff; - c1 = b[off++] & 0xff; - c2 = b[off++] & 0xff; - c3 = b[off++] & 0xff; - - localCrc ^= (T8_3[c0] ^ T8_2[c1]) ^ (T8_1[c2] ^ T8_0[c3]); - - len -= 8; - } - - while (len > 0) { - localCrc = (localCrc >> 8) ^ T8_0[(localCrc ^ b[off++]) & 0xffL]; - len--; - } - - // Publish crc out to object - return localCrc; -} - Status gen_timestamp_string(std::string* out_string) { time_t now = time(nullptr); tm local_tm; @@ -414,10 +385,6 @@ Status gen_timestamp_string(std::string* out_string) { return Status::OK(); } -int operator-(const BinarySearchIterator& left, const BinarySearchIterator& right) { - return *left - *right; -} - Status read_write_test_file(const std::string& test_file_path) { if (access(test_file_path.c_str(), F_OK) == 0) { if (remove(test_file_path.c_str()) != 0) { @@ -656,13 +623,4 @@ bool valid_ipv6(const std::string& value_str) { return IPv6Value::is_valid_string(value_str.c_str(), value_str.size()); } -void write_log_info(char* buf, size_t buf_len, const char* fmt, ...) { - va_list args; - va_start(args, fmt); - - vsnprintf(buf, buf_len, fmt, args); - - va_end(args); -} - } // namespace doris diff --git a/be/src/olap/utils.h b/be/src/olap/utils.h index 6528d2a86a4e3a..8c848639147bd7 100644 --- a/be/src/olap/utils.h +++ b/be/src/olap/utils.h @@ -34,7 +34,6 @@ #include "olap/olap_common.h" namespace doris { -void write_log_info(char* buf, size_t buf_len, const char* fmt, ...); static const std::string DELETE_SIGN = "__DORIS_DELETE_SIGN__"; static const std::string WHERE_SIGN = "__DORIS_WHERE_SIGN__"; static const std::string VERSION_COL = "__DORIS_VERSION_COL__"; @@ -101,64 +100,10 @@ uint32_t olap_adler32(uint32_t adler, const char* buf, size_t len); // 获取系统当前时间,并将时间转换为字符串 Status gen_timestamp_string(std::string* out_string); -// iterator offset,用于二分查找 -using iterator_offset_t = size_t; - -class BinarySearchIterator : public std::iterator_traits { -public: - BinarySearchIterator() : _offset(0u) {} - explicit BinarySearchIterator(iterator_offset_t offset) : _offset(offset) {} - - iterator_offset_t operator*() const { return _offset; } - - BinarySearchIterator& operator++() { - ++_offset; - return *this; - } - - BinarySearchIterator& operator--() { - --_offset; - return *this; - } - - BinarySearchIterator& operator-=(size_t step) { - _offset = _offset - step; - return *this; - } - - BinarySearchIterator& operator+=(size_t step) { - _offset = _offset + step; - return *this; - } - - bool operator!=(const BinarySearchIterator& iterator) { - return this->_offset != iterator._offset; - } - -private: - iterator_offset_t _offset; -}; - -int operator-(const BinarySearchIterator& left, const BinarySearchIterator& right); - -// 不用sse4指令的crc32c的计算函数 -unsigned int crc32c_lut(char const* b, unsigned int off, unsigned int len, unsigned int crc); - Status check_datapath_rw(const std::string& path); Status read_write_test_file(const std::string& test_file_path); -//转换两个list -template -void static_cast_assign_vector(std::vector* v1, const std::vector& v2) { - if (nullptr != v1) { - //GCC3.4的模板展开貌似有问题, 这里如果使用迭代器会编译失败 - for (size_t i = 0; i < v2.size(); i++) { - v1->push_back(static_cast(v2[i])); - } - } -} - // 打印Errno class Errno { public: @@ -172,8 +117,6 @@ class Errno { static __thread char _buf[BUF_SIZE]; }; -#define ENDSWITH(str, suffix) ((str).rfind(suffix) == (str).size() - strlen(suffix)) - // 检查int8_t, int16_t, int32_t, int64_t的值是否溢出 template bool valid_signed_number(const std::string& value_str) { From 44b42b9c4b86d41d7efafa9f2195bfa95846c60a Mon Sep 17 00:00:00 2001 From: Pxl Date: Fri, 6 Sep 2024 11:22:22 +0800 Subject: [PATCH 093/199] [Bug](map) fix wrong result on map_agg with streaming agg (#40454) ## Proposed changes fix wrong result on map_agg with streaming agg --- .../aggregate_function_map.h | 1 + .../data/nereids_syntax_p0/mv/agg_mv_test.dat | 1 + .../mv/aggregate/agg_sync_mv.out | 179 ++++++++++-------- .../mv/aggregate/agg_sync_mv.groovy | 18 ++ 4 files changed, 117 insertions(+), 82 deletions(-) diff --git a/be/src/vec/aggregate_functions/aggregate_function_map.h b/be/src/vec/aggregate_functions/aggregate_function_map.h index 83e96a8d236839..d56cbf21f31136 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_map.h +++ b/be/src/vec/aggregate_functions/aggregate_function_map.h @@ -254,6 +254,7 @@ class AggregateFunctionMapAgg final Field key, value; columns[0]->get(i, key); if (key.is_null()) { + col.insert(Map {Array {}, Array {}}); continue; } diff --git a/regression-test/data/nereids_syntax_p0/mv/agg_mv_test.dat b/regression-test/data/nereids_syntax_p0/mv/agg_mv_test.dat index 1856abe0cb272e..1d1d05317a208e 100644 --- a/regression-test/data/nereids_syntax_p0/mv/agg_mv_test.dat +++ b/regression-test/data/nereids_syntax_p0/mv/agg_mv_test.dat @@ -24,3 +24,4 @@ null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null; 10;1;11;11;11;11;11;1.1;1.1;1.1;1.1;1.1;1.1;1.1;1.1;char12;char22;char32;varchar12;varchar22;varchar32;string2;2012-03-11;2012-03-11;2012-03-11 11:10:11;2012-03-11 11:10:11;2012-03-11 11:10:11;2012-03-11 11:10:11;[1];[1];[11];[11];[11];[11];[11];[1.1];[2012-03-11,2012-03-11];[2012-03-11 11:10:11];[2012-03-11,2012-03-11];[2012-03-11 11:10:11,2012-03-11 11:10:11,2012-03-11 11:10:11,2012-03-11 11:10:11];[char12,char22,char32];[char12,char22,char32,varchar12,varchar22,varchar32];[char22,char32,varchar12,varchar22,varchar32,string2];[1.1,1.1];ST_Point(17.1, 37.1);ST_Point(17.1, 37.1);90.35620117;59.939093;89.4274406433;58.9020987219;0;11;75.321;LINESTRING (1 1, 2 2);POLYGON ((1 1, 8 0, 48 34, 4 10, 1 1));{null:1,1:2,1:3};{null:1,1:2,2:3};{null:1,1:2};{null:1,1:2};{null:1,1:2};{null:1,1:2};{null:1,1.1:2};{null:1,1.1:2};{null:1,1.100:2};{null:1,"char1":2};{null:1,"vchar1":2};{null:1,"str1":2};{null:1,2012-03-11:2};{null:1,2012-03-11:2};{1:null,2:1,3:1};{1:null,2:1,3:2};{1:null,2:1};{1:null,2:1};{1:null,2:1};{1:null,2:1};{1:null,2:1.1};{1:null,2:1.1};{1:null,2:1.100};{1:null,2:"char1"};{1:null,2:"vchar1"};{1:null,2:"str1"};{1:null,2:2012-03-11};{1:null,2:2012-03-11};[];{"id":1} 11;1;12;12;12;12;12;1.2;1.2;1.2;1.2;1.2;1.2;1.2;1.2;char13;char23;char33;varchar13;varchar23;varchar33;string3;2012-03-12;2012-03-12;2012-03-12 12:11:12;2012-03-12 12:11:12;2012-03-12 12:11:12;2012-03-12 12:11:12;[1];[1];[12];[12];[12];[12];[12];[1.2];[2012-03-12,2012-03-12];[2012-03-12 12:11:12];[2012-03-12,2012-03-12];[2012-03-12 12:11:12,2012-03-12 12:11:12,2012-03-12 12:11:12,2012-03-12 12:11:12];[char13,char23,char33];[char13,char23,char33,varchar13,varchar23,varchar33];[char23,char33,varchar13,varchar23,varchar33,string3];[1.2,1.2];ST_Point(22.1, 22.1);ST_Point(22.1, 22.1);90.35620117;39.939093;89.4274406433;58.9020987219;0;12;100.321;LINESTRING (1 1, 2 2);POLYGON ((1 1, 9 4, 10 4, 4 1, 1 1));{null:1,1:2,1:3};{null:1,2:2,1:3};{null:1,2:2};{null:1,2:2};{null:1,2:2};{null:1,2:2};{null:1,2.2:2};{null:1,2.2:2};{null:1,2.200:2};{null:1,"char2":2};{null:1,"vchar2":2};{null:1,"str2":2};{null:1,2012-03-12:2};{null:1,2012-03-12:2};{1:null,2:1,3:1};{1:null,2:2,3:1};{1:null,2:2};{1:null,2:2};{1:null,2:2};{1:null,2:2};{1:null,2:2.2};{1:null,2:2.2};{1:null,2:2.200};{1:null,2:"char2"};{1:null,2:"vchar2"};{1:null,2:"str2"};{1:null,2:2012-03-12};{1:null,2:2012-03-12};[];{"id":1} null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null;null +null;0;1;1;1;1;1;0.1;0.1;0.1;0.1;0.1;0.1;0.1;0.1;char11;char21;char31;varchar11;varchar21;varchar31;string1;2012-03-01;2012-03-01;2012-03-01 01:00:01;2012-03-01 01:00:01;2012-03-01 01:00:01;2012-03-01 01:00:01;[0];[0];[1];[1];[1];[1];[1];[0.1];[2012-03-01,2012-03-01];[2012-03-01 01:00:01];[2012-03-01,2012-03-01];[2012-03-01 01:00:01,2012-03-01 01:00:01,2012-03-01 01:00:01,2012-03-01 01:00:01];[char11,char21,char31];[char11,char21,char31,varchar11,varchar21,varchar31];[char21,char31,varchar11,varchar21,varchar31,string1];[0.1,0.1];ST_Point(12.1, 32.1);ST_Point(12.1, 32.1);5;5;116.4274406433;39.9020987219;0;1;4.321;LINESTRING (1 1, 2 2);POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0));{null:1,0:2,0:3};{null:1,1:2,2:3};{null:1,1:2};{null:1,1:2};{null:1,1:2};{null:1,1:2};{null:1,1.1:2};{null:1,1.1:2};{null:1,1.100:2};{null:1,"char1":2};{null:1,"vchar1":2};{null:1,"str1":2};{null:1,2012-03-01:2};{null:1,2012-03-01:2};{1:null,2:0,3:0};{1:null,2:1,3:2};{1:null,2:1};{1:null,2:1};{1:null,2:1};{1:null,2:1};{1:null,2:1.1};{1:null,2:1.1};{1:null,2:1.100};{1:null,2:"char1"};{1:null,2:"vchar1"};{1:null,2:"str1"};{1:null,2:2012-03-01};{1:null,2:2012-03-01};[];{"id":1} diff --git a/regression-test/data/nereids_syntax_p0/mv/aggregate/agg_sync_mv.out b/regression-test/data/nereids_syntax_p0/mv/aggregate/agg_sync_mv.out index 0cdfbc4a991d1f..848d637c916a93 100644 --- a/regression-test/data/nereids_syntax_p0/mv/aggregate/agg_sync_mv.out +++ b/regression-test/data/nereids_syntax_p0/mv/aggregate/agg_sync_mv.out @@ -1,6 +1,6 @@ -- This file is automatically generated. You should know what you did if you want to edit this -- !select_any_value -- -\N \N +\N 1 0 1 1 2 2 3 @@ -15,7 +15,7 @@ 11 12 -- !select_any_value_mv -- -\N \N +\N 1 0 1 1 2 2 3 @@ -30,7 +30,7 @@ 11 12 -- !select_approx_count_distinct -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -45,7 +45,7 @@ 11 1 -- !select_approx_count_distinct_mv -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -60,7 +60,7 @@ 11 1 -- !select_collect_set -- -\N [] +\N [1] 0 [1] 1 [2] 2 [3] @@ -75,7 +75,7 @@ 11 [12] -- !select_collect_set_mv -- -\N [] +\N [1] 0 [1] 1 [2] 2 [3] @@ -90,7 +90,7 @@ 11 [12] -- !select_collect_list -- -\N [] +\N [1] 0 [1, 1] 1 [2, 2] 2 [3, 3] @@ -105,7 +105,7 @@ 11 [12, 12] -- !select_collect_list_mv -- -\N [] +\N [1] 0 [1, 1] 1 [2, 2] 2 [3, 3] @@ -120,7 +120,7 @@ 11 [12, 12] -- !select_corr -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -135,7 +135,7 @@ 11 0.0 -- !select_corr_mv -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -150,7 +150,7 @@ 11 0.0 -- !select_percentile_array -- -\N [] +\N [1, 1, 1] 0 [1, 1, 1] 1 [2, 2, 2] 2 [3, 3, 3] @@ -165,7 +165,7 @@ 11 [12, 12, 12] -- !select_percentile_array_mv -- -\N [] +\N [1, 1, 1] 0 [1, 1, 1] 1 [2, 2, 2] 2 [3, 3, 3] @@ -210,7 +210,7 @@ 11 \N -- !select_count_by_enum -- -\N [{"cbe":{"null":2},"notnull":2,"null":0,"all":2}] +\N [{"cbe":{"string1":1,"null":2},"notnull":3,"null":0,"all":3}] 0 [{"cbe":{"string1":2},"notnull":2,"null":0,"all":2}] 1 [{"cbe":{"string2":2},"notnull":2,"null":0,"all":2}] 2 [{"cbe":{"string3":2},"notnull":2,"null":0,"all":2}] @@ -225,7 +225,7 @@ 11 [{"cbe":{"string3":2},"notnull":2,"null":0,"all":2}] -- !select_count_by_enum_mv -- -\N [{"cbe":{"null":2},"notnull":2,"null":0,"all":2}] +\N [{"cbe":{"string1":1,"null":2},"notnull":3,"null":0,"all":3}] 0 [{"cbe":{"string1":2},"notnull":2,"null":0,"all":2}] 1 [{"cbe":{"string2":2},"notnull":2,"null":0,"all":2}] 2 [{"cbe":{"string3":2},"notnull":2,"null":0,"all":2}] @@ -240,7 +240,7 @@ 11 [{"cbe":{"string3":2},"notnull":2,"null":0,"all":2}] -- !select_avg_weighted -- -\N \N +\N 1.0 0 1.0 1 2.0 2 3.0 @@ -255,7 +255,7 @@ 11 12.0 -- !select_avg_weighted_mv -- -\N \N +\N 1.0 0 1.0 1 2.0 2 3.0 @@ -360,7 +360,7 @@ 11 \N -- !select_bitmap_union_count -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -375,7 +375,7 @@ 11 1 -- !select_bitmap_union_count_mv -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -390,7 +390,7 @@ 11 1 -- !select_bitmap_union_int -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -405,7 +405,7 @@ 11 1 -- !select_bitmap_union_int_mv -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -450,7 +450,7 @@ 11 [12] -- !select_group_bit_and -- -\N \N +\N 1 0 1 1 2 2 3 @@ -465,7 +465,7 @@ 11 12 -- !select_group_bit_and_mv -- -\N \N +\N 1 0 1 1 2 2 3 @@ -480,7 +480,7 @@ 11 12 -- !select_group_bit_or -- -\N \N +\N 1 0 1 1 2 2 3 @@ -495,7 +495,7 @@ 11 12 -- !select_group_bit_or_mv -- -\N \N +\N 1 0 1 1 2 2 3 @@ -510,7 +510,7 @@ 11 12 -- !select_group_bit_xor -- -\N \N +\N 1 0 0 1 0 2 0 @@ -525,7 +525,7 @@ 11 0 -- !select_group_bit_xor_mv -- -\N \N +\N 1 0 0 1 0 2 0 @@ -570,7 +570,7 @@ 11 \N -- !select_hll_union_agg -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -585,7 +585,7 @@ 11 1 -- !select_hll_union_agg_mv -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -660,7 +660,7 @@ 11 0 -- !select_group_concat -- -\N \N +\N 1 0 1,1 1 2,2 2 3,3 @@ -675,7 +675,7 @@ 11 12,12 -- !select_group_concat_mv -- -\N \N +\N 1 0 1,1 1 2,2 2 3,3 @@ -690,7 +690,7 @@ 11 12,12 -- !select_multi_distinct_group_concat -- -\N \N +\N 1 0 1 1 2 2 3 @@ -705,7 +705,7 @@ 11 12 -- !select_multi_distinct_group_concat_mv -- -\N \N +\N 1 0 1 1 2 2 3 @@ -720,7 +720,7 @@ 11 12 -- !select_multi_distinct_sum0 -- -\N 0 +\N 1 0 1 1 2 2 3 @@ -735,7 +735,7 @@ 11 12 -- !select_multi_distinct_sum0_mv -- -\N 0 +\N 1 0 1 1 2 2 3 @@ -750,7 +750,7 @@ 11 12 -- !select_multi_distinct_sum -- -\N \N +\N 1 0 1 1 2 2 3 @@ -765,7 +765,7 @@ 11 12 -- !select_multi_distinct_sum_mv -- -\N \N +\N 1 0 1 1 2 2 3 @@ -780,7 +780,7 @@ 11 12 -- !select_histogram -- -\N {"num_buckets":0,"buckets":[]} +\N {"num_buckets":1,"buckets":[{"lower":"1","upper":"1","ndv":1,"count":1,"pre_sum":0}]} 0 {"num_buckets":1,"buckets":[{"lower":"1","upper":"1","ndv":1,"count":2,"pre_sum":0}]} 1 {"num_buckets":1,"buckets":[{"lower":"2","upper":"2","ndv":1,"count":2,"pre_sum":0}]} 2 {"num_buckets":1,"buckets":[{"lower":"3","upper":"3","ndv":1,"count":2,"pre_sum":0}]} @@ -795,7 +795,7 @@ 11 {"num_buckets":1,"buckets":[{"lower":"12","upper":"12","ndv":1,"count":2,"pre_sum":0}]} -- !select_histogram_mv -- -\N {"num_buckets":0,"buckets":[]} +\N {"num_buckets":1,"buckets":[{"lower":"1","upper":"1","ndv":1,"count":1,"pre_sum":0}]} 0 {"num_buckets":1,"buckets":[{"lower":"1","upper":"1","ndv":1,"count":2,"pre_sum":0}]} 1 {"num_buckets":1,"buckets":[{"lower":"2","upper":"2","ndv":1,"count":2,"pre_sum":0}]} 2 {"num_buckets":1,"buckets":[{"lower":"3","upper":"3","ndv":1,"count":2,"pre_sum":0}]} @@ -810,7 +810,7 @@ 11 {"num_buckets":1,"buckets":[{"lower":"12","upper":"12","ndv":1,"count":2,"pre_sum":0}]} -- !select_max_by -- -\N \N +\N 1 0 1 1 2 2 3 @@ -825,7 +825,7 @@ 11 12 -- !select_max_by_mv -- -\N \N +\N 1 0 1 1 2 2 3 @@ -840,7 +840,7 @@ 11 12 -- !select_min_by -- -\N \N +\N 1 0 1 1 2 2 3 @@ -855,7 +855,7 @@ 11 12 -- !select_min_by_mv -- -\N \N +\N 1 0 1 1 2 2 3 @@ -870,7 +870,7 @@ 11 12 -- !select_multi_distinct_count -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -885,7 +885,7 @@ 11 1 -- !select_multi_distinct_count_mv -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -900,7 +900,7 @@ 11 1 -- !select_ndv -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -915,7 +915,7 @@ 11 1 -- !select_ndv_mv -- -\N 0 +\N 1 0 1 1 1 2 1 @@ -930,7 +930,7 @@ 11 1 -- !select_covar -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -945,7 +945,7 @@ 11 0.0 -- !select_covar_mv -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -960,7 +960,7 @@ 11 0.0 -- !select_covar_samp -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -975,7 +975,7 @@ 11 0.0 -- !select_covar_samp_mv -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -990,7 +990,7 @@ 11 0.0 -- !select_percentile -- -\N \N +\N 1.0 0 1.0 1 2.0 2 3.0 @@ -1005,7 +1005,7 @@ 11 12.0 -- !select_percentile_mv -- -\N \N +\N 1.0 0 1.0 1 2.0 2 3.0 @@ -1020,7 +1020,7 @@ 11 12.0 -- !select_percentile_approx -- -\N \N +\N 1.0 0 1.0 1 2.0 2 3.0 @@ -1035,7 +1035,7 @@ 11 12.0 -- !select_percentile_approx_mv -- -\N \N +\N 1.0 0 1.0 1 2.0 2 3.0 @@ -1080,7 +1080,7 @@ 11 0 -- !select_sequence_match -- -\N \N +\N false 0 false 1 false 2 false @@ -1095,7 +1095,7 @@ 11 false -- !select_sequence_match_mv -- -\N \N +\N false 0 false 1 false 2 false @@ -1110,7 +1110,7 @@ 11 false -- !select_stddev -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1125,7 +1125,7 @@ 11 0.0 -- !select_stddev_mv -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1140,7 +1140,7 @@ 11 0.0 -- !select_stddev_pop -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1155,7 +1155,7 @@ 11 0.0 -- !select_stddev_pop_mv -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1170,7 +1170,7 @@ 11 0.0 -- !select_stddev_samp -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1185,7 +1185,7 @@ 11 0.0 -- !select_stddev_samp_mv -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1200,7 +1200,7 @@ 11 0.0 -- !select_sum0 -- -\N 0 +\N 1 0 2 1 4 2 6 @@ -1215,7 +1215,7 @@ 11 24 -- !select_sum0_mv -- -\N 0 +\N 1 0 2 1 4 2 6 @@ -1230,7 +1230,7 @@ 11 24 -- !select_topn -- -\N {"null":2} +\N {"null":2,"varchar11":1} 0 {"varchar11":2} 1 {"varchar12":2} 2 {"varchar13":2} @@ -1245,7 +1245,7 @@ 11 {"varchar13":2} -- !select_topn_mv -- -\N {"null":2} +\N {"null":2,"varchar11":1} 0 {"varchar11":2} 1 {"varchar12":2} 2 {"varchar13":2} @@ -1260,7 +1260,7 @@ 11 {"varchar13":2} -- !select_topn_array -- -\N ["null"] +\N ["null", "varchar11"] 0 ["varchar11"] 1 ["varchar12"] 2 ["varchar13"] @@ -1275,7 +1275,7 @@ 11 ["varchar13"] -- !select_topn_array_mv -- -\N ["null"] +\N ["null", "varchar11"] 0 ["varchar11"] 1 ["varchar12"] 2 ["varchar13"] @@ -1290,7 +1290,7 @@ 11 ["varchar13"] -- !select_topn_weighted -- -\N \N +\N ["varchar11"] 0 ["varchar11"] 1 ["varchar12"] 2 ["varchar13"] @@ -1305,7 +1305,7 @@ 11 ["varchar13"] -- !select_topn_weighted_mv -- -\N \N +\N ["varchar11"] 0 ["varchar11"] 1 ["varchar12"] 2 ["varchar13"] @@ -1320,7 +1320,7 @@ 11 ["varchar13"] -- !select_variance -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1335,7 +1335,7 @@ 11 0.0 -- !select_variance_mv -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1350,7 +1350,7 @@ 11 0.0 -- !select_var_pop -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1365,7 +1365,7 @@ 11 0.0 -- !select_var_pop_mv -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1380,7 +1380,7 @@ 11 0.0 -- !select_variance_samp -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1395,7 +1395,7 @@ 11 0.0 -- !select_variance_samp_mv -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1410,7 +1410,7 @@ 11 0.0 -- !select_var_samp -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1425,7 +1425,7 @@ 11 0.0 -- !select_var_samp_mv -- -\N \N +\N 0.0 0 0.0 1 0.0 2 0.0 @@ -1440,7 +1440,7 @@ 11 0.0 -- !select_window_funnel -- -\N \N +\N 1 0 1 1 0 2 0 @@ -1455,7 +1455,7 @@ 11 0 -- !select_window_funnel_mv -- -\N \N +\N 1 0 1 1 0 2 0 @@ -1470,7 +1470,7 @@ 11 0 -- !select_retention -- -\N \N +\N [0, 0] 0 [0, 0] 1 [0, 0] 2 [0, 0] @@ -1485,7 +1485,7 @@ 11 [0, 0] -- !select_retention_mv -- -\N \N +\N [0, 0] 0 [0, 0] 1 [0, 0] 2 [0, 0] @@ -1499,3 +1499,18 @@ 10 [0, 0] 11 [0, 0] +-- !test -- +\N {} +1 {0:"string1"} +2 {1:"string2"} +3 {2:"string3"} +4 {3:"string1"} +5 {4:"string2"} +6 {5:"string3"} +7 {6:"string1"} +8 {7:"string2"} +9 {8:"string3"} +10 {9:"string1"} +11 {10:"string2"} +12 {11:"string3"} + diff --git a/regression-test/suites/nereids_syntax_p0/mv/aggregate/agg_sync_mv.groovy b/regression-test/suites/nereids_syntax_p0/mv/aggregate/agg_sync_mv.groovy index ee5135aeabadb2..b0f384c472c848 100644 --- a/regression-test/suites/nereids_syntax_p0/mv/aggregate/agg_sync_mv.groovy +++ b/regression-test/suites/nereids_syntax_p0/mv/aggregate/agg_sync_mv.groovy @@ -531,4 +531,22 @@ suite("agg_sync_mv") { ''' file "../agg_mv_test.dat" } + + + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + sql "insert into agg_mv_test select * from agg_mv_test;" + + sql "set parallel_pipeline_task_num=1" + qt_test "select kbint, map_agg(id, kstr) from agg_mv_test group by kbint order by kbint;" } From 5571a04a7b293a445b8bca2857ed76543af9fae9 Mon Sep 17 00:00:00 2001 From: Gabriel Date: Fri, 6 Sep 2024 11:24:20 +0800 Subject: [PATCH 094/199] [refactor](pipeline) Refactor pipeline execution (#39982) Unify `prepare` and `open` in `Operator`. --- .../exec/aggregation_sink_operator.cpp | 7 +- .../pipeline/exec/aggregation_sink_operator.h | 1 - .../pipeline/exec/analytic_sink_operator.cpp | 7 +- be/src/pipeline/exec/analytic_sink_operator.h | 1 - .../exec/analytic_source_operator.cpp | 9 +- .../pipeline/exec/analytic_source_operator.h | 1 - be/src/pipeline/exec/datagen_operator.cpp | 4 +- be/src/pipeline/exec/datagen_operator.h | 2 +- ...istinct_streaming_aggregation_operator.cpp | 10 +- .../distinct_streaming_aggregation_operator.h | 1 - be/src/pipeline/exec/es_scan_operator.cpp | 4 +- be/src/pipeline/exec/es_scan_operator.h | 2 +- .../pipeline/exec/exchange_sink_operator.cpp | 8 +- be/src/pipeline/exec/exchange_sink_operator.h | 1 - .../exec/exchange_source_operator.cpp | 10 +- .../pipeline/exec/exchange_source_operator.h | 1 - be/src/pipeline/exec/file_scan_operator.cpp | 4 +- be/src/pipeline/exec/file_scan_operator.h | 2 +- .../exec/group_commit_block_sink_operator.cpp | 10 +- .../exec/group_commit_block_sink_operator.h | 2 - be/src/pipeline/exec/hashjoin_build_sink.cpp | 21 ++- be/src/pipeline/exec/hashjoin_build_sink.h | 1 - .../pipeline/exec/hashjoin_probe_operator.cpp | 10 +- .../pipeline/exec/hashjoin_probe_operator.h | 1 - .../pipeline/exec/hive_table_sink_operator.h | 6 +- .../exec/iceberg_table_sink_operator.h | 6 +- .../exec/jdbc_table_sink_operator.cpp | 9 +- .../pipeline/exec/jdbc_table_sink_operator.h | 1 - be/src/pipeline/exec/join_probe_operator.cpp | 1 + be/src/pipeline/exec/join_probe_operator.h | 6 +- .../exec/memory_scratch_sink_operator.cpp | 11 +- .../exec/memory_scratch_sink_operator.h | 1 - .../exec/multi_cast_data_stream_source.h | 9 +- .../exec/nested_loop_join_build_operator.cpp | 8 +- .../exec/nested_loop_join_build_operator.h | 1 - .../exec/nested_loop_join_probe_operator.cpp | 10 +- .../exec/nested_loop_join_probe_operator.h | 1 - .../pipeline/exec/olap_table_sink_operator.h | 7 +- .../exec/olap_table_sink_v2_operator.h | 6 +- be/src/pipeline/exec/operator.cpp | 10 +- be/src/pipeline/exec/operator.h | 20 +-- .../exec/partition_sort_sink_operator.cpp | 7 +- .../exec/partition_sort_sink_operator.h | 1 - .../partitioned_aggregation_sink_operator.cpp | 4 - .../partitioned_aggregation_sink_operator.h | 4 +- ...artitioned_aggregation_source_operator.cpp | 5 - .../partitioned_aggregation_source_operator.h | 1 - .../partitioned_hash_join_probe_operator.cpp | 17 +-- .../partitioned_hash_join_probe_operator.h | 1 - .../partitioned_hash_join_sink_operator.cpp | 7 +- .../partitioned_hash_join_sink_operator.h | 1 - be/src/pipeline/exec/repeat_operator.cpp | 13 +- be/src/pipeline/exec/repeat_operator.h | 1 - .../exec/result_file_sink_operator.cpp | 6 +- .../pipeline/exec/result_file_sink_operator.h | 1 - be/src/pipeline/exec/result_sink_operator.cpp | 7 +- be/src/pipeline/exec/result_sink_operator.h | 1 - be/src/pipeline/exec/scan_operator.h | 1 - be/src/pipeline/exec/schema_scan_operator.cpp | 22 ++- be/src/pipeline/exec/schema_scan_operator.h | 1 - .../pipeline/exec/set_probe_sink_operator.cpp | 7 +- .../pipeline/exec/set_probe_sink_operator.h | 2 - be/src/pipeline/exec/set_sink_operator.cpp | 7 +- be/src/pipeline/exec/set_sink_operator.h | 2 - be/src/pipeline/exec/sort_sink_operator.cpp | 6 +- be/src/pipeline/exec/sort_sink_operator.h | 1 - be/src/pipeline/exec/sort_source_operator.cpp | 10 +- be/src/pipeline/exec/sort_source_operator.h | 1 - .../exec/spill_sort_sink_operator.cpp | 11 +- .../pipeline/exec/spill_sort_sink_operator.h | 3 +- .../exec/spill_sort_source_operator.cpp | 5 - .../exec/spill_sort_source_operator.h | 2 - .../exec/streaming_aggregation_operator.cpp | 9 +- .../exec/streaming_aggregation_operator.h | 1 - .../pipeline/exec/table_function_operator.cpp | 10 +- .../pipeline/exec/table_function_operator.h | 1 - be/src/pipeline/exec/union_sink_operator.cpp | 7 +- be/src/pipeline/exec/union_sink_operator.h | 1 - be/src/pipeline/exec/union_source_operator.h | 8 +- .../local_exchange_sink_operator.cpp | 10 +- .../local_exchange_sink_operator.h | 2 - .../local_exchange_source_operator.h | 1 - be/src/pipeline/pipeline.cpp | 24 ++-- be/src/pipeline/pipeline.h | 30 ++--- be/src/pipeline/pipeline_fragment_context.cpp | 127 +++++++++--------- be/src/pipeline/pipeline_fragment_context.h | 14 +- be/src/pipeline/pipeline_task.cpp | 2 +- be/src/pipeline/pipeline_task.h | 6 +- be/test/vec/exec/vwal_scanner_test.cpp | 2 +- 89 files changed, 205 insertions(+), 441 deletions(-) diff --git a/be/src/pipeline/exec/aggregation_sink_operator.cpp b/be/src/pipeline/exec/aggregation_sink_operator.cpp index a287d7fb2786b2..8c96b4d744c83d 100644 --- a/be/src/pipeline/exec/aggregation_sink_operator.cpp +++ b/be/src/pipeline/exec/aggregation_sink_operator.cpp @@ -769,7 +769,8 @@ Status AggSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* state) { return Status::OK(); } -Status AggSinkOperatorX::prepare(RuntimeState* state) { +Status AggSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(DataSinkOperatorX::open(state)); _intermediate_tuple_desc = state->desc_tbl().get_tuple_descriptor(_intermediate_tuple_id); _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); DCHECK_EQ(_intermediate_tuple_desc->slots().size(), _output_tuple_desc->slots().size()); @@ -824,10 +825,6 @@ Status AggSinkOperatorX::prepare(RuntimeState* state) { RETURN_IF_ERROR(vectorized::AggFnEvaluator::check_agg_fn_output( _probe_expr_ctxs.size(), _aggregate_evaluators, _agg_fn_output_row_descriptor)); } - return Status::OK(); -} - -Status AggSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(vectorized::VExpr::open(_probe_expr_ctxs, state)); for (auto& _aggregate_evaluator : _aggregate_evaluators) { diff --git a/be/src/pipeline/exec/aggregation_sink_operator.h b/be/src/pipeline/exec/aggregation_sink_operator.h index f7b225311a3c06..d55b382931d74b 100644 --- a/be/src/pipeline/exec/aggregation_sink_operator.h +++ b/be/src/pipeline/exec/aggregation_sink_operator.h @@ -137,7 +137,6 @@ class AggSinkOperatorX final : public DataSinkOperatorX { Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; diff --git a/be/src/pipeline/exec/analytic_sink_operator.cpp b/be/src/pipeline/exec/analytic_sink_operator.cpp index 43859c7cebd120..cc219ecbe642f0 100644 --- a/be/src/pipeline/exec/analytic_sink_operator.cpp +++ b/be/src/pipeline/exec/analytic_sink_operator.cpp @@ -231,7 +231,8 @@ Status AnalyticSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* state) return Status::OK(); } -Status AnalyticSinkOperatorX::prepare(RuntimeState* state) { +Status AnalyticSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(DataSinkOperatorX::open(state)); for (const auto& ctx : _agg_expr_ctxs) { RETURN_IF_ERROR(vectorized::VExpr::prepare(ctx, state, _child_x->row_desc())); } @@ -249,10 +250,6 @@ Status AnalyticSinkOperatorX::prepare(RuntimeState* state) { vectorized::VExpr::prepare(_order_by_eq_expr_ctxs, state, cmp_row_desc)); } } - return Status::OK(); -} - -Status AnalyticSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(vectorized::VExpr::open(_partition_by_eq_expr_ctxs, state)); RETURN_IF_ERROR(vectorized::VExpr::open(_order_by_eq_expr_ctxs, state)); for (size_t i = 0; i < _agg_functions_size; ++i) { diff --git a/be/src/pipeline/exec/analytic_sink_operator.h b/be/src/pipeline/exec/analytic_sink_operator.h index 6d713996b9cd72..b8615717198dd3 100644 --- a/be/src/pipeline/exec/analytic_sink_operator.h +++ b/be/src/pipeline/exec/analytic_sink_operator.h @@ -74,7 +74,6 @@ class AnalyticSinkOperatorX final : public DataSinkOperatorX::close(state); } -Status AnalyticSourceOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(OperatorX::prepare(state)); +Status AnalyticSourceOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(OperatorX::open(state)); DCHECK(_child_x->row_desc().is_prefix_of(_row_descriptor)); _intermediate_tuple_desc = state->desc_tbl().get_tuple_descriptor(_intermediate_tuple_id); _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); @@ -595,11 +595,6 @@ Status AnalyticSourceOperatorX::prepare(RuntimeState* state) { alignment_of_next_state * alignment_of_next_state; } } - return Status::OK(); -} - -Status AnalyticSourceOperatorX::open(RuntimeState* state) { - RETURN_IF_ERROR(OperatorX::open(state)); for (auto* agg_function : _agg_functions) { RETURN_IF_ERROR(agg_function->open(state)); } diff --git a/be/src/pipeline/exec/analytic_source_operator.h b/be/src/pipeline/exec/analytic_source_operator.h index b939e0e9efaddb..38323f1b86bce2 100644 --- a/be/src/pipeline/exec/analytic_source_operator.h +++ b/be/src/pipeline/exec/analytic_source_operator.h @@ -122,7 +122,6 @@ class AnalyticSourceOperatorX final : public OperatorX { bool is_source() const override { return true; } Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; private: diff --git a/be/src/pipeline/exec/datagen_operator.cpp b/be/src/pipeline/exec/datagen_operator.cpp index dae39f179a68f2..93b3d058154e62 100644 --- a/be/src/pipeline/exec/datagen_operator.cpp +++ b/be/src/pipeline/exec/datagen_operator.cpp @@ -50,8 +50,8 @@ Status DataGenSourceOperatorX::init(const TPlanNode& tnode, RuntimeState* state) return Status::OK(); } -Status DataGenSourceOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(OperatorX::prepare(state)); +Status DataGenSourceOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(OperatorX::open(state)); // get tuple desc _tuple_desc = state->desc_tbl().get_tuple_descriptor(_tuple_id); diff --git a/be/src/pipeline/exec/datagen_operator.h b/be/src/pipeline/exec/datagen_operator.h index 8aeeea2a699824..c63ef97bb7a40f 100644 --- a/be/src/pipeline/exec/datagen_operator.h +++ b/be/src/pipeline/exec/datagen_operator.h @@ -52,7 +52,7 @@ class DataGenSourceOperatorX final : public OperatorX { const DescriptorTbl& descs); Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; + Status open(RuntimeState* state) override; Status get_block(RuntimeState* state, vectorized::Block* block, bool* eos) override; [[nodiscard]] bool is_source() const override { return true; } diff --git a/be/src/pipeline/exec/distinct_streaming_aggregation_operator.cpp b/be/src/pipeline/exec/distinct_streaming_aggregation_operator.cpp index ab71b52ae015f0..96212f7fd2ff00 100644 --- a/be/src/pipeline/exec/distinct_streaming_aggregation_operator.cpp +++ b/be/src/pipeline/exec/distinct_streaming_aggregation_operator.cpp @@ -369,8 +369,8 @@ Status DistinctStreamingAggOperatorX::init(const TPlanNode& tnode, RuntimeState* return Status::OK(); } -Status DistinctStreamingAggOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(StatefulOperatorX::prepare(state)); +Status DistinctStreamingAggOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(StatefulOperatorX::open(state)); _intermediate_tuple_desc = state->desc_tbl().get_tuple_descriptor(_intermediate_tuple_id); _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); DCHECK_EQ(_intermediate_tuple_desc->slots().size(), _output_tuple_desc->slots().size()); @@ -412,12 +412,6 @@ Status DistinctStreamingAggOperatorX::prepare(RuntimeState* state) { alignment_of_next_state * alignment_of_next_state; } } - - return Status::OK(); -} - -Status DistinctStreamingAggOperatorX::open(RuntimeState* state) { - RETURN_IF_ERROR(StatefulOperatorX::open(state)); RETURN_IF_ERROR(vectorized::VExpr::open(_probe_expr_ctxs, state)); for (int i = 0; i < _aggregate_evaluators.size(); ++i) { diff --git a/be/src/pipeline/exec/distinct_streaming_aggregation_operator.h b/be/src/pipeline/exec/distinct_streaming_aggregation_operator.h index 8ec1d18fd9e60f..e5476e89421a0f 100644 --- a/be/src/pipeline/exec/distinct_streaming_aggregation_operator.h +++ b/be/src/pipeline/exec/distinct_streaming_aggregation_operator.h @@ -98,7 +98,6 @@ class DistinctStreamingAggOperatorX final DistinctStreamingAggOperatorX(ObjectPool* pool, int operator_id, const TPlanNode& tnode, const DescriptorTbl& descs, bool require_bucket_distribution); Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status pull(RuntimeState* state, vectorized::Block* block, bool* eos) const override; Status push(RuntimeState* state, vectorized::Block* input_block, bool eos) const override; diff --git a/be/src/pipeline/exec/es_scan_operator.cpp b/be/src/pipeline/exec/es_scan_operator.cpp index 5c5f1b3eb8021e..c7e953a7fa3201 100644 --- a/be/src/pipeline/exec/es_scan_operator.cpp +++ b/be/src/pipeline/exec/es_scan_operator.cpp @@ -138,8 +138,8 @@ Status EsScanOperatorX::init(const TPlanNode& tnode, RuntimeState* state) { return Status::OK(); } -Status EsScanOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(ScanOperatorX::prepare(state)); +Status EsScanOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(ScanOperatorX::open(state)); _tuple_desc = state->desc_tbl().get_tuple_descriptor(_tuple_id); if (_tuple_desc == nullptr) { diff --git a/be/src/pipeline/exec/es_scan_operator.h b/be/src/pipeline/exec/es_scan_operator.h index 5f66c0a100fa8f..4e80150d0ba8c6 100644 --- a/be/src/pipeline/exec/es_scan_operator.h +++ b/be/src/pipeline/exec/es_scan_operator.h @@ -72,7 +72,7 @@ class EsScanOperatorX final : public ScanOperatorX { const DescriptorTbl& descs, int parallel_tasks); Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; + Status open(RuntimeState* state) override; private: friend class EsScanLocalState; diff --git a/be/src/pipeline/exec/exchange_sink_operator.cpp b/be/src/pipeline/exec/exchange_sink_operator.cpp index f1f6c2d0c5d1cc..71649aa21ec3d4 100644 --- a/be/src/pipeline/exec/exchange_sink_operator.cpp +++ b/be/src/pipeline/exec/exchange_sink_operator.cpp @@ -319,14 +319,10 @@ Status ExchangeSinkOperatorX::init(const TDataSink& tsink) { return Status::OK(); } -Status ExchangeSinkOperatorX::prepare(RuntimeState* state) { +Status ExchangeSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(DataSinkOperatorX::open(state)); _state = state; _mem_tracker = std::make_unique("ExchangeSinkOperatorX:"); - return Status::OK(); -} - -Status ExchangeSinkOperatorX::open(RuntimeState* state) { - DCHECK(state != nullptr); _compression_type = state->fragement_transmission_compression_type(); return Status::OK(); } diff --git a/be/src/pipeline/exec/exchange_sink_operator.h b/be/src/pipeline/exec/exchange_sink_operator.h index 1c14f04679e3fa..dc07773d5ccecb 100644 --- a/be/src/pipeline/exec/exchange_sink_operator.h +++ b/be/src/pipeline/exec/exchange_sink_operator.h @@ -211,7 +211,6 @@ class ExchangeSinkOperatorX final : public DataSinkOperatorX::prepare(state)); +Status ExchangeSourceOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(OperatorX::open(state)); DCHECK_GT(_num_senders, 0); if (_is_merging) { RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _row_descriptor, _row_descriptor)); } - - return Status::OK(); -} - -Status ExchangeSourceOperatorX::open(RuntimeState* state) { - RETURN_IF_ERROR(OperatorX::open(state)); if (_is_merging) { RETURN_IF_ERROR(_vsort_exec_exprs.open(state)); } diff --git a/be/src/pipeline/exec/exchange_source_operator.h b/be/src/pipeline/exec/exchange_source_operator.h index 4dc7d1e55a2adc..0fe3dcbb590b7d 100644 --- a/be/src/pipeline/exec/exchange_source_operator.h +++ b/be/src/pipeline/exec/exchange_source_operator.h @@ -66,7 +66,6 @@ class ExchangeSourceOperatorX final : public OperatorX { ExchangeSourceOperatorX(ObjectPool* pool, const TPlanNode& tnode, int operator_id, const DescriptorTbl& descs, int num_senders); Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status get_block(RuntimeState* state, vectorized::Block* block, bool* eos) override; diff --git a/be/src/pipeline/exec/file_scan_operator.cpp b/be/src/pipeline/exec/file_scan_operator.cpp index 8c1e4d19407ff6..6fa7401e278451 100644 --- a/be/src/pipeline/exec/file_scan_operator.cpp +++ b/be/src/pipeline/exec/file_scan_operator.cpp @@ -108,8 +108,8 @@ Status FileScanLocalState::_process_conjuncts(RuntimeState* state) { return Status::OK(); } -Status FileScanOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(ScanOperatorX::prepare(state)); +Status FileScanOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(ScanOperatorX::open(state)); if (state->get_query_ctx() != nullptr && state->get_query_ctx()->file_scan_range_params_map.contains(node_id())) { TFileScanRangeParams& params = diff --git a/be/src/pipeline/exec/file_scan_operator.h b/be/src/pipeline/exec/file_scan_operator.h index a9a25cf6c31c23..2777a013d62f61 100644 --- a/be/src/pipeline/exec/file_scan_operator.h +++ b/be/src/pipeline/exec/file_scan_operator.h @@ -76,7 +76,7 @@ class FileScanOperatorX final : public ScanOperatorX { _output_tuple_id = tnode.file_scan_node.tuple_id; } - Status prepare(RuntimeState* state) override; + Status open(RuntimeState* state) override; bool is_file_scan_operator() const override { return true; } diff --git a/be/src/pipeline/exec/group_commit_block_sink_operator.cpp b/be/src/pipeline/exec/group_commit_block_sink_operator.cpp index 9bac6d4ed29780..6db49bb7ab1089 100644 --- a/be/src/pipeline/exec/group_commit_block_sink_operator.cpp +++ b/be/src/pipeline/exec/group_commit_block_sink_operator.cpp @@ -259,19 +259,15 @@ Status GroupCommitBlockSinkOperatorX::init(const TDataSink& t_sink) { return Status::OK(); } -Status GroupCommitBlockSinkOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(Base::prepare(state)); +Status GroupCommitBlockSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(Base::open(state)); // get table's tuple descriptor _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_tuple_desc_id); if (_output_tuple_desc == nullptr) { LOG(WARNING) << "unknown destination tuple descriptor, id=" << _tuple_desc_id; return Status::InternalError("unknown destination tuple descriptor"); } - return vectorized::VExpr::prepare(_output_vexpr_ctxs, state, _row_desc); -} - -Status GroupCommitBlockSinkOperatorX::open(RuntimeState* state) { - // Prepare the exprs to run. + RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_vexpr_ctxs, state, _row_desc)); return vectorized::VExpr::open(_output_vexpr_ctxs, state); } diff --git a/be/src/pipeline/exec/group_commit_block_sink_operator.h b/be/src/pipeline/exec/group_commit_block_sink_operator.h index caf7017d050a6c..32ca0613652ae4 100644 --- a/be/src/pipeline/exec/group_commit_block_sink_operator.h +++ b/be/src/pipeline/exec/group_commit_block_sink_operator.h @@ -94,8 +94,6 @@ class GroupCommitBlockSinkOperatorX final Status init(const TDataSink& sink) override; - Status prepare(RuntimeState* state) override; - Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* block, bool eos) override; diff --git a/be/src/pipeline/exec/hashjoin_build_sink.cpp b/be/src/pipeline/exec/hashjoin_build_sink.cpp index cde42eae1e14df..d4ca54da637673 100644 --- a/be/src/pipeline/exec/hashjoin_build_sink.cpp +++ b/be/src/pipeline/exec/hashjoin_build_sink.cpp @@ -423,18 +423,6 @@ HashJoinBuildSinkOperatorX::HashJoinBuildSinkOperatorX(ObjectPool* pool, int ope : std::vector {}), _need_local_merge(need_local_merge) {} -Status HashJoinBuildSinkOperatorX::prepare(RuntimeState* state) { - if (_is_broadcast_join) { - if (state->enable_share_hash_table_for_broadcast_join()) { - _shared_hashtable_controller = - state->get_query_ctx()->get_shared_hash_table_controller(); - _shared_hash_table_context = _shared_hashtable_controller->get_context(node_id()); - } - } - RETURN_IF_ERROR(vectorized::VExpr::prepare(_build_expr_ctxs, state, _child_x->row_desc())); - return Status::OK(); -} - Status HashJoinBuildSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* state) { RETURN_IF_ERROR(JoinBuildSinkOperatorX::init(tnode, state)); DCHECK(tnode.__isset.hash_join_node); @@ -492,6 +480,15 @@ Status HashJoinBuildSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* st } Status HashJoinBuildSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(JoinBuildSinkOperatorX::open(state)); + if (_is_broadcast_join) { + if (state->enable_share_hash_table_for_broadcast_join()) { + _shared_hashtable_controller = + state->get_query_ctx()->get_shared_hash_table_controller(); + _shared_hash_table_context = _shared_hashtable_controller->get_context(node_id()); + } + } + RETURN_IF_ERROR(vectorized::VExpr::prepare(_build_expr_ctxs, state, _child_x->row_desc())); return vectorized::VExpr::open(_build_expr_ctxs, state); } diff --git a/be/src/pipeline/exec/hashjoin_build_sink.h b/be/src/pipeline/exec/hashjoin_build_sink.h index 4dba04559b4533..c373af5d6622ff 100644 --- a/be/src/pipeline/exec/hashjoin_build_sink.h +++ b/be/src/pipeline/exec/hashjoin_build_sink.h @@ -118,7 +118,6 @@ class HashJoinBuildSinkOperatorX final Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; diff --git a/be/src/pipeline/exec/hashjoin_probe_operator.cpp b/be/src/pipeline/exec/hashjoin_probe_operator.cpp index d953e80b70150f..7008397db770ae 100644 --- a/be/src/pipeline/exec/hashjoin_probe_operator.cpp +++ b/be/src/pipeline/exec/hashjoin_probe_operator.cpp @@ -580,8 +580,8 @@ Status HashJoinProbeOperatorX::init(const TPlanNode& tnode, RuntimeState* state) return Status::OK(); } -Status HashJoinProbeOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(JoinProbeOperatorX::prepare(state)); +Status HashJoinProbeOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(JoinProbeOperatorX::open(state)); // init left/right output slots flags, only column of slot_id in _hash_output_slot_ids need // insert to output block of hash join. // _left_output_slots_flags : column of left table need to output set flag = true @@ -600,7 +600,6 @@ Status HashJoinProbeOperatorX::prepare(RuntimeState* state) { init_output_slots_flags(_child_x->row_desc().tuple_descriptors(), _left_output_slot_flags); init_output_slots_flags(_build_side_child->row_desc().tuple_descriptors(), _right_output_slot_flags); - RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_expr_ctxs, state, *_intermediate_row_desc)); // _other_join_conjuncts are evaluated in the context of the rows produced by this node for (auto& conjunct : _other_join_conjuncts) { RETURN_IF_ERROR(conjunct->prepare(state, *_intermediate_row_desc)); @@ -667,11 +666,6 @@ Status HashJoinProbeOperatorX::prepare(RuntimeState* state) { } _build_side_child.reset(); - return Status::OK(); -} - -Status HashJoinProbeOperatorX::open(RuntimeState* state) { - RETURN_IF_ERROR(JoinProbeOperatorX::open(state)); RETURN_IF_ERROR(vectorized::VExpr::open(_probe_expr_ctxs, state)); for (auto& conjunct : _other_join_conjuncts) { RETURN_IF_ERROR(conjunct->open(state)); diff --git a/be/src/pipeline/exec/hashjoin_probe_operator.h b/be/src/pipeline/exec/hashjoin_probe_operator.h index 69ab0808be4b37..d3bca8fa7cd712 100644 --- a/be/src/pipeline/exec/hashjoin_probe_operator.h +++ b/be/src/pipeline/exec/hashjoin_probe_operator.h @@ -132,7 +132,6 @@ class HashJoinProbeOperatorX final : public JoinProbeOperatorX::prepare(state)); - // Prepare the exprs to run. - RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_vexpr_ctxs, state, _row_desc)); - return Status::OK(); -} - Status JdbcTableSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX::open(state)); - // Prepare the exprs to run. + RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_vexpr_ctxs, state, _row_desc)); RETURN_IF_ERROR(vectorized::VExpr::open(_output_vexpr_ctxs, state)); return Status::OK(); } diff --git a/be/src/pipeline/exec/jdbc_table_sink_operator.h b/be/src/pipeline/exec/jdbc_table_sink_operator.h index 0565dfe4d9821e..3ea702fd0baf0a 100644 --- a/be/src/pipeline/exec/jdbc_table_sink_operator.h +++ b/be/src/pipeline/exec/jdbc_table_sink_operator.h @@ -44,7 +44,6 @@ class JdbcTableSinkOperatorX final : public DataSinkOperatorX& select_exprs); Status init(const TDataSink& thrift_sink) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; diff --git a/be/src/pipeline/exec/join_probe_operator.cpp b/be/src/pipeline/exec/join_probe_operator.cpp index 31331568aacd6f..05c62544d2b7ce 100644 --- a/be/src/pipeline/exec/join_probe_operator.cpp +++ b/be/src/pipeline/exec/join_probe_operator.cpp @@ -262,6 +262,7 @@ Status JoinProbeOperatorX::init(const TPlanNode& tnode, RuntimeS template Status JoinProbeOperatorX::open(doris::RuntimeState* state) { RETURN_IF_ERROR(Base::open(state)); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_expr_ctxs, state, *_intermediate_row_desc)); return vectorized::VExpr::open(_output_expr_ctxs, state); } diff --git a/be/src/pipeline/exec/join_probe_operator.h b/be/src/pipeline/exec/join_probe_operator.h index 60600f1ba86d63..65b7a2694e4b47 100644 --- a/be/src/pipeline/exec/join_probe_operator.h +++ b/be/src/pipeline/exec/join_probe_operator.h @@ -80,11 +80,11 @@ class JoinProbeOperatorX : public StatefulOperatorX { [[nodiscard]] bool is_source() const override { return false; } - void set_build_side_child(OperatorXPtr& build_side_child) { + void set_build_side_child(OperatorPtr& build_side_child) { _build_side_child = build_side_child; } - Status set_child(OperatorXPtr child) override { + Status set_child(OperatorPtr child) override { if (OperatorX::_child_x && _build_side_child == nullptr) { // when there already (probe) child, others is build child. set_build_side_child(child); @@ -114,7 +114,7 @@ class JoinProbeOperatorX : public StatefulOperatorX { std::unique_ptr _intermediate_row_desc; // output expr vectorized::VExprContextSPtrs _output_expr_ctxs; - OperatorXPtr _build_side_child = nullptr; + OperatorPtr _build_side_child = nullptr; const bool _short_circuit_for_null_in_build_side; // In the Old planner, there is a plan for two columns of tuple is null, // but in the Nereids planner, this logic does not exist. diff --git a/be/src/pipeline/exec/memory_scratch_sink_operator.cpp b/be/src/pipeline/exec/memory_scratch_sink_operator.cpp index e59ccf0333eed8..69e30791c139af 100644 --- a/be/src/pipeline/exec/memory_scratch_sink_operator.cpp +++ b/be/src/pipeline/exec/memory_scratch_sink_operator.cpp @@ -72,17 +72,10 @@ Status MemoryScratchSinkOperatorX::init(const TDataSink& thrift_sink) { return Status::OK(); } -Status MemoryScratchSinkOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(DataSinkOperatorX::prepare(state)); - // Prepare the exprs to run. - RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_vexpr_ctxs, state, _row_desc)); - _timezone_obj = state->timezone_obj(); - return Status::OK(); -} - Status MemoryScratchSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX::open(state)); - // Prepare the exprs to run. + RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_vexpr_ctxs, state, _row_desc)); + _timezone_obj = state->timezone_obj(); RETURN_IF_ERROR(vectorized::VExpr::open(_output_vexpr_ctxs, state)); return Status::OK(); } diff --git a/be/src/pipeline/exec/memory_scratch_sink_operator.h b/be/src/pipeline/exec/memory_scratch_sink_operator.h index 114e1e40fb17d6..c2cd78c7cd5aee 100644 --- a/be/src/pipeline/exec/memory_scratch_sink_operator.h +++ b/be/src/pipeline/exec/memory_scratch_sink_operator.h @@ -52,7 +52,6 @@ class MemoryScratchSinkOperatorX final : public DataSinkOperatorX& t_output_expr); Status init(const TDataSink& thrift_sink) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; diff --git a/be/src/pipeline/exec/multi_cast_data_stream_source.h b/be/src/pipeline/exec/multi_cast_data_stream_source.h index c71310e3ee3327..76472f3ce85e83 100644 --- a/be/src/pipeline/exec/multi_cast_data_stream_source.h +++ b/be/src/pipeline/exec/multi_cast_data_stream_source.h @@ -84,8 +84,8 @@ class MultiCastDataStreamerSourceOperatorX final }; ~MultiCastDataStreamerSourceOperatorX() override = default; - Status prepare(RuntimeState* state) override { - RETURN_IF_ERROR(Base::prepare(state)); + Status open(RuntimeState* state) override { + RETURN_IF_ERROR(Base::open(state)); // init profile for runtime filter // RuntimeFilterConsumer::_init_profile(local_state._shared_state->_multi_cast_data_streamer->profile()); if (_t_data_stream_sink.__isset.output_exprs) { @@ -99,11 +99,6 @@ class MultiCastDataStreamerSourceOperatorX final conjuncts())); RETURN_IF_ERROR(vectorized::VExpr::prepare(conjuncts(), state, _row_desc())); } - return Status::OK(); - } - - Status open(RuntimeState* state) override { - RETURN_IF_ERROR(Base::open(state)); if (_t_data_stream_sink.__isset.output_exprs) { RETURN_IF_ERROR(vectorized::VExpr::open(_output_expr_contexts, state)); } diff --git a/be/src/pipeline/exec/nested_loop_join_build_operator.cpp b/be/src/pipeline/exec/nested_loop_join_build_operator.cpp index 9e44a399bd8ad0..515c151c3c1fa8 100644 --- a/be/src/pipeline/exec/nested_loop_join_build_operator.cpp +++ b/be/src/pipeline/exec/nested_loop_join_build_operator.cpp @@ -107,8 +107,8 @@ Status NestedLoopJoinBuildSinkOperatorX::init(const TPlanNode& tnode, RuntimeSta return Status::OK(); } -Status NestedLoopJoinBuildSinkOperatorX::prepare(RuntimeState* state) { - // pre-compute the tuple index of build tuples in the output row +Status NestedLoopJoinBuildSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(JoinBuildSinkOperatorX::open(state)); int num_build_tuples = _child_x->row_desc().tuple_descriptors().size(); for (int i = 0; i < num_build_tuples; ++i) { @@ -117,10 +117,6 @@ Status NestedLoopJoinBuildSinkOperatorX::prepare(RuntimeState* state) { RETURN_IF_INVALID_TUPLE_IDX(build_tuple_desc->id(), tuple_idx); } RETURN_IF_ERROR(vectorized::VExpr::prepare(_filter_src_expr_ctxs, state, _child_x->row_desc())); - return Status::OK(); -} - -Status NestedLoopJoinBuildSinkOperatorX::open(RuntimeState* state) { return vectorized::VExpr::open(_filter_src_expr_ctxs, state); } diff --git a/be/src/pipeline/exec/nested_loop_join_build_operator.h b/be/src/pipeline/exec/nested_loop_join_build_operator.h index 4c2b3d442e920d..da7712e3e17685 100644 --- a/be/src/pipeline/exec/nested_loop_join_build_operator.h +++ b/be/src/pipeline/exec/nested_loop_join_build_operator.h @@ -68,7 +68,6 @@ class NestedLoopJoinBuildSinkOperatorX final Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; diff --git a/be/src/pipeline/exec/nested_loop_join_probe_operator.cpp b/be/src/pipeline/exec/nested_loop_join_probe_operator.cpp index 84112151e63432..5a0b6680eee765 100644 --- a/be/src/pipeline/exec/nested_loop_join_probe_operator.cpp +++ b/be/src/pipeline/exec/nested_loop_join_probe_operator.cpp @@ -445,19 +445,13 @@ Status NestedLoopJoinProbeOperatorX::init(const TPlanNode& tnode, RuntimeState* return Status::OK(); } -Status NestedLoopJoinProbeOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(JoinProbeOperatorX::prepare(state)); +Status NestedLoopJoinProbeOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(JoinProbeOperatorX::open(state)); for (auto& conjunct : _join_conjuncts) { RETURN_IF_ERROR(conjunct->prepare(state, *_intermediate_row_desc)); } - RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_expr_ctxs, state, *_intermediate_row_desc)); _num_probe_side_columns = _child_x->row_desc().num_materialized_slots(); _num_build_side_columns = _build_side_child->row_desc().num_materialized_slots(); - return Status::OK(); -} - -Status NestedLoopJoinProbeOperatorX::open(RuntimeState* state) { - RETURN_IF_ERROR(JoinProbeOperatorX::open(state)); return vectorized::VExpr::open(_join_conjuncts, state); } diff --git a/be/src/pipeline/exec/nested_loop_join_probe_operator.h b/be/src/pipeline/exec/nested_loop_join_probe_operator.h index 0ef4abcbc1b746..f46a99306a5713 100644 --- a/be/src/pipeline/exec/nested_loop_join_probe_operator.h +++ b/be/src/pipeline/exec/nested_loop_join_probe_operator.h @@ -187,7 +187,6 @@ class NestedLoopJoinProbeOperatorX final NestedLoopJoinProbeOperatorX(ObjectPool* pool, const TPlanNode& tnode, int operator_id, const DescriptorTbl& descs); Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status push(RuntimeState* state, vectorized::Block* input_block, bool eos) const override; diff --git a/be/src/pipeline/exec/olap_table_sink_operator.h b/be/src/pipeline/exec/olap_table_sink_operator.h index 5eafc2ea25fe2f..8a9ffaaf769c31 100644 --- a/be/src/pipeline/exec/olap_table_sink_operator.h +++ b/be/src/pipeline/exec/olap_table_sink_operator.h @@ -51,15 +51,12 @@ class OlapTableSinkOperatorX final : public DataSinkOperatorXprepare(state, intermediate_row_desc())); } @@ -213,14 +213,6 @@ Status OperatorXBase::prepare(RuntimeState* state) { vectorized::VExpr::check_expr_output_type(_projections, *_output_row_descriptor)); } - if (_child_x && !is_source()) { - RETURN_IF_ERROR(_child_x->prepare(state)); - } - - return Status::OK(); -} - -Status OperatorXBase::open(RuntimeState* state) { for (auto& conjunct : _conjuncts) { RETURN_IF_ERROR(conjunct->open(state)); } diff --git a/be/src/pipeline/exec/operator.h b/be/src/pipeline/exec/operator.h index bde2291ec3a372..0863550dc192e4 100644 --- a/be/src/pipeline/exec/operator.h +++ b/be/src/pipeline/exec/operator.h @@ -54,13 +54,10 @@ class OperatorBase; class OperatorXBase; class DataSinkOperatorXBase; -using OperatorPtr = std::shared_ptr; +using OperatorPtr = std::shared_ptr; using Operators = std::vector; -using OperatorXPtr = std::shared_ptr; -using OperatorXs = std::vector; - -using DataSinkOperatorXPtr = std::shared_ptr; +using DataSinkOperatorPtr = std::shared_ptr; // This struct is used only for initializing local state. struct LocalStateInfo { @@ -96,13 +93,11 @@ class OperatorBase { [[nodiscard]] virtual Status init(const TDataSink& tsink) { return Status::OK(); } - // Prepare for running. (e.g. resource allocation, etc.) - [[nodiscard]] virtual Status prepare(RuntimeState* state) = 0; [[nodiscard]] virtual std::string get_name() const = 0; [[nodiscard]] virtual Status open(RuntimeState* state) = 0; [[nodiscard]] virtual Status close(RuntimeState* state); - [[nodiscard]] virtual Status set_child(OperatorXPtr child) { + [[nodiscard]] virtual Status set_child(OperatorPtr child) { _child_x = std::move(child); return Status::OK(); } @@ -113,7 +108,7 @@ class OperatorBase { virtual Status revoke_memory(RuntimeState* state) { return Status::OK(); } [[nodiscard]] virtual bool require_data_distribution() const { return false; } - OperatorXPtr child_x() { return _child_x; } + OperatorPtr child_x() { return _child_x; } [[nodiscard]] bool followed_by_shuffled_join() const { return _followed_by_shuffled_join; } void set_followed_by_shuffled_join(bool followed_by_shuffled_join) { _followed_by_shuffled_join = followed_by_shuffled_join; @@ -121,7 +116,7 @@ class OperatorBase { [[nodiscard]] virtual bool require_shuffled_data_distribution() const { return false; } protected: - OperatorXPtr _child_x = nullptr; + OperatorPtr _child_x = nullptr; bool _is_closed; bool _followed_by_shuffled_join = false; @@ -450,7 +445,6 @@ class DataSinkOperatorXBase : public OperatorBase { return Status::InternalError("init() is only implemented in local exchange!"); } - Status prepare(RuntimeState* state) override { return Status::OK(); } Status open(RuntimeState* state) override { return Status::OK(); } [[nodiscard]] bool is_finished(RuntimeState* state) const { auto result = state->get_sink_local_state_result(); @@ -664,8 +658,6 @@ class OperatorXBase : public OperatorBase { [[nodiscard]] virtual bool need_more_input_data(RuntimeState* state) const { return true; } void set_ignore_data_distribution() { _ignore_data_distribution = true; } - Status prepare(RuntimeState* state) override; - Status open(RuntimeState* state) override; [[nodiscard]] virtual Status get_block(RuntimeState* state, vectorized::Block* block, @@ -716,7 +708,7 @@ class OperatorXBase : public OperatorBase { return reinterpret_cast(*this); } - [[nodiscard]] OperatorXPtr get_child() { return _child_x; } + [[nodiscard]] OperatorPtr get_child() { return _child_x; } [[nodiscard]] vectorized::VExprContextSPtrs& conjuncts() { return _conjuncts; } [[nodiscard]] virtual RowDescriptor& row_descriptor() { return _row_descriptor; } diff --git a/be/src/pipeline/exec/partition_sort_sink_operator.cpp b/be/src/pipeline/exec/partition_sort_sink_operator.cpp index 0c165350613ac2..80808185fa8980 100644 --- a/be/src/pipeline/exec/partition_sort_sink_operator.cpp +++ b/be/src/pipeline/exec/partition_sort_sink_operator.cpp @@ -154,13 +154,10 @@ Status PartitionSortSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* st return Status::OK(); } -Status PartitionSortSinkOperatorX::prepare(RuntimeState* state) { +Status PartitionSortSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(DataSinkOperatorX::open(state)); RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child_x->row_desc(), _row_descriptor)); RETURN_IF_ERROR(vectorized::VExpr::prepare(_partition_expr_ctxs, state, _child_x->row_desc())); - return Status::OK(); -} - -Status PartitionSortSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(_vsort_exec_exprs.open(state)); RETURN_IF_ERROR(vectorized::VExpr::open(_partition_expr_ctxs, state)); return Status::OK(); diff --git a/be/src/pipeline/exec/partition_sort_sink_operator.h b/be/src/pipeline/exec/partition_sort_sink_operator.h index 5c1484ed3bc732..107017e66188b5 100644 --- a/be/src/pipeline/exec/partition_sort_sink_operator.h +++ b/be/src/pipeline/exec/partition_sort_sink_operator.h @@ -255,7 +255,6 @@ class PartitionSortSinkOperatorX final : public DataSinkOperatorXinit(tnode, state); } -Status PartitionedAggSinkOperatorX::prepare(RuntimeState* state) { - return _agg_sink_operator->prepare(state); -} - Status PartitionedAggSinkOperatorX::open(RuntimeState* state) { return _agg_sink_operator->open(state); } diff --git a/be/src/pipeline/exec/partitioned_aggregation_sink_operator.h b/be/src/pipeline/exec/partitioned_aggregation_sink_operator.h index 9282df073cbd58..259d7580877493 100644 --- a/be/src/pipeline/exec/partitioned_aggregation_sink_operator.h +++ b/be/src/pipeline/exec/partitioned_aggregation_sink_operator.h @@ -299,8 +299,6 @@ class PartitionedAggSinkOperatorX : public DataSinkOperatorXrequire_shuffled_data_distribution(); } - Status set_child(OperatorXPtr child) override { + Status set_child(OperatorPtr child) override { RETURN_IF_ERROR(DataSinkOperatorX::set_child(child)); return _agg_sink_operator->set_child(child); } diff --git a/be/src/pipeline/exec/partitioned_aggregation_source_operator.cpp b/be/src/pipeline/exec/partitioned_aggregation_source_operator.cpp index 5e030e7ab49d10..48df5587198b08 100644 --- a/be/src/pipeline/exec/partitioned_aggregation_source_operator.cpp +++ b/be/src/pipeline/exec/partitioned_aggregation_source_operator.cpp @@ -108,11 +108,6 @@ Status PartitionedAggSourceOperatorX::init(const TPlanNode& tnode, RuntimeState* return _agg_source_operator->init(tnode, state); } -Status PartitionedAggSourceOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(OperatorXBase::prepare(state)); - return _agg_source_operator->prepare(state); -} - Status PartitionedAggSourceOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(OperatorXBase::open(state)); return _agg_source_operator->open(state); diff --git a/be/src/pipeline/exec/partitioned_aggregation_source_operator.h b/be/src/pipeline/exec/partitioned_aggregation_source_operator.h index 994290a15bb840..edae99c716a925 100644 --- a/be/src/pipeline/exec/partitioned_aggregation_source_operator.h +++ b/be/src/pipeline/exec/partitioned_aggregation_source_operator.h @@ -82,7 +82,6 @@ class PartitionedAggSourceOperatorX : public OperatorX ~PartitionedAggSourceOperatorX() override = default; Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; diff --git a/be/src/pipeline/exec/partitioned_hash_join_probe_operator.cpp b/be/src/pipeline/exec/partitioned_hash_join_probe_operator.cpp index 6dc1616e0eb689..6529d1eb6540c5 100644 --- a/be/src/pipeline/exec/partitioned_hash_join_probe_operator.cpp +++ b/be/src/pipeline/exec/partitioned_hash_join_probe_operator.cpp @@ -523,26 +523,17 @@ Status PartitionedHashJoinProbeOperatorX::init(const TPlanNode& tnode, RuntimeSt return Status::OK(); } -Status PartitionedHashJoinProbeOperatorX::prepare(RuntimeState* state) { - // to avoid prepare _child_x twice - auto child_x = std::move(_child_x); - RETURN_IF_ERROR(JoinProbeOperatorX::prepare(state)); - RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_expr_ctxs, state, *_intermediate_row_desc)); - RETURN_IF_ERROR(_inner_probe_operator->set_child(child_x)); - DCHECK(_build_side_child != nullptr); - _inner_probe_operator->set_build_side_child(_build_side_child); - RETURN_IF_ERROR(_inner_probe_operator->prepare(state)); - _child_x = std::move(child_x); - RETURN_IF_ERROR(_partitioner->prepare(state, _child_x->row_desc())); - return Status::OK(); -} Status PartitionedHashJoinProbeOperatorX::open(RuntimeState* state) { // to avoid open _child_x twice auto child_x = std::move(_child_x); RETURN_IF_ERROR(JoinProbeOperatorX::open(state)); + RETURN_IF_ERROR(_inner_probe_operator->set_child(child_x)); + DCHECK(_build_side_child != nullptr); + _inner_probe_operator->set_build_side_child(_build_side_child); RETURN_IF_ERROR(_inner_probe_operator->open(state)); _child_x = std::move(child_x); + RETURN_IF_ERROR(_partitioner->prepare(state, _child_x->row_desc())); RETURN_IF_ERROR(_partitioner->open(state)); return Status::OK(); } diff --git a/be/src/pipeline/exec/partitioned_hash_join_probe_operator.h b/be/src/pipeline/exec/partitioned_hash_join_probe_operator.h index a63ddb3e69d784..8cccc9f8faeba6 100644 --- a/be/src/pipeline/exec/partitioned_hash_join_probe_operator.h +++ b/be/src/pipeline/exec/partitioned_hash_join_probe_operator.h @@ -143,7 +143,6 @@ class PartitionedHashJoinProbeOperatorX final PartitionedHashJoinProbeOperatorX(ObjectPool* pool, const TPlanNode& tnode, int operator_id, const DescriptorTbl& descs, uint32_t partition_count); Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; [[nodiscard]] Status get_block(RuntimeState* state, vectorized::Block* block, diff --git a/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp b/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp index fc17ef41be62c8..7c29fdc6ed08dd 100644 --- a/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp +++ b/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp @@ -424,13 +424,10 @@ Status PartitionedHashJoinSinkOperatorX::init(const TPlanNode& tnode, RuntimeSta return Status::OK(); } -Status PartitionedHashJoinSinkOperatorX::prepare(RuntimeState* state) { +Status PartitionedHashJoinSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(JoinBuildSinkOperatorX::open(state)); RETURN_IF_ERROR(_inner_sink_operator->set_child(_child_x)); RETURN_IF_ERROR(_partitioner->prepare(state, _child_x->row_desc())); - return _inner_sink_operator->prepare(state); -} - -Status PartitionedHashJoinSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(_partitioner->open(state)); return _inner_sink_operator->open(state); } diff --git a/be/src/pipeline/exec/partitioned_hash_join_sink_operator.h b/be/src/pipeline/exec/partitioned_hash_join_sink_operator.h index 252c53be12d057..1376964663f7f3 100644 --- a/be/src/pipeline/exec/partitioned_hash_join_sink_operator.h +++ b/be/src/pipeline/exec/partitioned_hash_join_sink_operator.h @@ -92,7 +92,6 @@ class PartitionedHashJoinSinkOperatorX Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; diff --git a/be/src/pipeline/exec/repeat_operator.cpp b/be/src/pipeline/exec/repeat_operator.cpp index fe45e85c52d485..b6761186c82fb4 100644 --- a/be/src/pipeline/exec/repeat_operator.cpp +++ b/be/src/pipeline/exec/repeat_operator.cpp @@ -52,9 +52,9 @@ Status RepeatOperatorX::init(const TPlanNode& tnode, RuntimeState* state) { return Status::OK(); } -Status RepeatOperatorX::prepare(RuntimeState* state) { - VLOG_CRITICAL << "VRepeatNode::prepare"; - RETURN_IF_ERROR(OperatorXBase::prepare(state)); +Status RepeatOperatorX::open(RuntimeState* state) { + VLOG_CRITICAL << "VRepeatNode::open"; + RETURN_IF_ERROR(OperatorXBase::open(state)); _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); if (_output_tuple_desc == nullptr) { return Status::InternalError("Failed to get tuple descriptor."); @@ -63,13 +63,6 @@ Status RepeatOperatorX::prepare(RuntimeState* state) { for (const auto& slot_desc : _output_tuple_desc->slots()) { _output_slots.push_back(slot_desc); } - - return Status::OK(); -} - -Status RepeatOperatorX::open(RuntimeState* state) { - VLOG_CRITICAL << "VRepeatNode::open"; - RETURN_IF_ERROR(OperatorXBase::open(state)); RETURN_IF_ERROR(vectorized::VExpr::open(_expr_ctxs, state)); return Status::OK(); } diff --git a/be/src/pipeline/exec/repeat_operator.h b/be/src/pipeline/exec/repeat_operator.h index a96f8074a06a9f..22398df372ae65 100644 --- a/be/src/pipeline/exec/repeat_operator.h +++ b/be/src/pipeline/exec/repeat_operator.h @@ -62,7 +62,6 @@ class RepeatOperatorX final : public StatefulOperatorX { const DescriptorTbl& descs); Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; bool need_more_input_data(RuntimeState* state) const override; diff --git a/be/src/pipeline/exec/result_file_sink_operator.cpp b/be/src/pipeline/exec/result_file_sink_operator.cpp index 8871a299cbb16e..20918ab81ce818 100644 --- a/be/src/pipeline/exec/result_file_sink_operator.cpp +++ b/be/src/pipeline/exec/result_file_sink_operator.cpp @@ -72,13 +72,9 @@ Status ResultFileSinkOperatorX::init(const TDataSink& tsink) { return Status::OK(); } -Status ResultFileSinkOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(DataSinkOperatorX::prepare(state)); - return vectorized::VExpr::prepare(_output_vexpr_ctxs, state, _row_desc); -} - Status ResultFileSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX::open(state)); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_output_vexpr_ctxs, state, _row_desc)); return vectorized::VExpr::open(_output_vexpr_ctxs, state); } diff --git a/be/src/pipeline/exec/result_file_sink_operator.h b/be/src/pipeline/exec/result_file_sink_operator.h index 7623dae7fea09a..86b6035c134ba9 100644 --- a/be/src/pipeline/exec/result_file_sink_operator.h +++ b/be/src/pipeline/exec/result_file_sink_operator.h @@ -85,7 +85,6 @@ class ResultFileSinkOperatorX final : public DataSinkOperatorX& t_output_expr, DescriptorTbl& descs); Status init(const TDataSink& thrift_sink) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; diff --git a/be/src/pipeline/exec/result_sink_operator.cpp b/be/src/pipeline/exec/result_sink_operator.cpp index 2a32e24bf6865d..0608beaf522290 100644 --- a/be/src/pipeline/exec/result_sink_operator.cpp +++ b/be/src/pipeline/exec/result_sink_operator.cpp @@ -118,7 +118,8 @@ ResultSinkOperatorX::ResultSinkOperatorX(int operator_id, const RowDescriptor& r _name = "ResultSink"; } -Status ResultSinkOperatorX::prepare(RuntimeState* state) { +Status ResultSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(DataSinkOperatorX::open(state)); // prepare output_expr // From the thrift expressions create the real exprs. RETURN_IF_ERROR(vectorized::VExpr::create_expr_trees(_t_output_expr, _output_vexpr_ctxs)); @@ -136,10 +137,6 @@ Status ResultSinkOperatorX::prepare(RuntimeState* state) { state->query_id(), _result_sink_buffer_size_rows, &_sender, state->execution_timeout(), state->batch_size())); } - return Status::OK(); -} - -Status ResultSinkOperatorX::open(RuntimeState* state) { return vectorized::VExpr::open(_output_vexpr_ctxs, state); } diff --git a/be/src/pipeline/exec/result_sink_operator.h b/be/src/pipeline/exec/result_sink_operator.h index 33e32e93633453..3c503096ecb51e 100644 --- a/be/src/pipeline/exec/result_sink_operator.h +++ b/be/src/pipeline/exec/result_sink_operator.h @@ -146,7 +146,6 @@ class ResultSinkOperatorX final : public DataSinkOperatorX public: ResultSinkOperatorX(int operator_id, const RowDescriptor& row_desc, const std::vector& select_exprs, const TResultSink& sink); - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; diff --git a/be/src/pipeline/exec/scan_operator.h b/be/src/pipeline/exec/scan_operator.h index e106c5a2b51383..defd5606f7490f 100644 --- a/be/src/pipeline/exec/scan_operator.h +++ b/be/src/pipeline/exec/scan_operator.h @@ -354,7 +354,6 @@ template class ScanOperatorX : public OperatorX { public: Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override { return OperatorXBase::prepare(state); } Status open(RuntimeState* state) override; Status get_block(RuntimeState* state, vectorized::Block* block, bool* eos) override; Status get_block_after_projects(RuntimeState* state, vectorized::Block* block, diff --git a/be/src/pipeline/exec/schema_scan_operator.cpp b/be/src/pipeline/exec/schema_scan_operator.cpp index 8ff0a570e3393e..fcc1ed2bbb184a 100644 --- a/be/src/pipeline/exec/schema_scan_operator.cpp +++ b/be/src/pipeline/exec/schema_scan_operator.cpp @@ -137,20 +137,6 @@ Status SchemaScanOperatorX::init(const TPlanNode& tnode, RuntimeState* state) { Status SchemaScanOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(Base::open(state)); - if (_common_scanner_param->user) { - TSetSessionParams param; - param.__set_user(*_common_scanner_param->user); - //TStatus t_status; - //RETURN_IF_ERROR(SchemaJniHelper::set_session(param, &t_status)); - //RETURN_IF_ERROR(Status(t_status)); - } - - return Status::OK(); -} - -Status SchemaScanOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(Base::prepare(state)); - // get dest tuple desc _dest_tuple_desc = state->desc_tbl().get_tuple_descriptor(_tuple_id); @@ -205,6 +191,14 @@ Status SchemaScanOperatorX::prepare(RuntimeState* state) { _tuple_idx = 0; + if (_common_scanner_param->user) { + TSetSessionParams param; + param.__set_user(*_common_scanner_param->user); + //TStatus t_status; + //RETURN_IF_ERROR(SchemaJniHelper::set_session(param, &t_status)); + //RETURN_IF_ERROR(Status(t_status)); + } + return Status::OK(); } diff --git a/be/src/pipeline/exec/schema_scan_operator.h b/be/src/pipeline/exec/schema_scan_operator.h index aa2bff7e6440a2..03cf422fbc52e6 100644 --- a/be/src/pipeline/exec/schema_scan_operator.h +++ b/be/src/pipeline/exec/schema_scan_operator.h @@ -69,7 +69,6 @@ class SchemaScanOperatorX final : public OperatorX { ~SchemaScanOperatorX() override = default; Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status get_block(RuntimeState* state, vectorized::Block* block, bool* eos) override; diff --git a/be/src/pipeline/exec/set_probe_sink_operator.cpp b/be/src/pipeline/exec/set_probe_sink_operator.cpp index 0d2b8ba0438da5..bd4b7481aac240 100644 --- a/be/src/pipeline/exec/set_probe_sink_operator.cpp +++ b/be/src/pipeline/exec/set_probe_sink_operator.cpp @@ -54,15 +54,10 @@ Status SetProbeSinkOperatorX::init(const TPlanNode& tnode, Runtime return Status::OK(); } -template -Status SetProbeSinkOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(DataSinkOperatorX>::prepare(state)); - return vectorized::VExpr::prepare(_child_exprs, state, _child_x->row_desc()); -} - template Status SetProbeSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX>::open(state)); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_child_exprs, state, _child_x->row_desc())); return vectorized::VExpr::open(_child_exprs, state); } diff --git a/be/src/pipeline/exec/set_probe_sink_operator.h b/be/src/pipeline/exec/set_probe_sink_operator.h index f21d58425814c8..3b3ed2f6a2cabd 100644 --- a/be/src/pipeline/exec/set_probe_sink_operator.h +++ b/be/src/pipeline/exec/set_probe_sink_operator.h @@ -88,8 +88,6 @@ class SetProbeSinkOperatorX final : public DataSinkOperatorX::init(const TPlanNode& tnode, RuntimeState return Status::OK(); } -template -Status SetSinkOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(Base::prepare(state)); - return vectorized::VExpr::prepare(_child_exprs, state, _child_x->row_desc()); -} - template Status SetSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(Base::open(state)); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_child_exprs, state, _child_x->row_desc())); return vectorized::VExpr::open(_child_exprs, state); } diff --git a/be/src/pipeline/exec/set_sink_operator.h b/be/src/pipeline/exec/set_sink_operator.h index ac0757e4467ac0..48fd7f400dd5b7 100644 --- a/be/src/pipeline/exec/set_sink_operator.h +++ b/be/src/pipeline/exec/set_sink_operator.h @@ -86,8 +86,6 @@ class SetSinkOperatorX final : public DataSinkOperatorXrow_desc(), _row_descriptor); -} - Status SortSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(DataSinkOperatorX::open(state)); + RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child_x->row_desc(), _row_descriptor)); return _vsort_exec_exprs.open(state); } diff --git a/be/src/pipeline/exec/sort_sink_operator.h b/be/src/pipeline/exec/sort_sink_operator.h index 3188bfe3990084..0bd6dd9096482c 100644 --- a/be/src/pipeline/exec/sort_sink_operator.h +++ b/be/src/pipeline/exec/sort_sink_operator.h @@ -59,7 +59,6 @@ class SortSinkOperatorX final : public DataSinkOperatorX { Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; DataDistribution required_data_distribution() const override { diff --git a/be/src/pipeline/exec/sort_source_operator.cpp b/be/src/pipeline/exec/sort_source_operator.cpp index fa891196151345..17c936846e5c56 100644 --- a/be/src/pipeline/exec/sort_source_operator.cpp +++ b/be/src/pipeline/exec/sort_source_operator.cpp @@ -40,19 +40,11 @@ Status SortSourceOperatorX::init(const TPlanNode& tnode, RuntimeState* state) { return Status::OK(); } -Status SortSourceOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(Base::prepare(state)); - // spill sort _child_x may be nullptr. - if (_child_x) { - RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child_x->row_desc(), _row_descriptor)); - } - return Status::OK(); -} - Status SortSourceOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(Base::open(state)); // spill sort _child_x may be nullptr. if (_child_x) { + RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child_x->row_desc(), _row_descriptor)); RETURN_IF_ERROR(_vsort_exec_exprs.open(state)); } return Status::OK(); diff --git a/be/src/pipeline/exec/sort_source_operator.h b/be/src/pipeline/exec/sort_source_operator.h index 86832e04ae0a7c..20714eb44e5e60 100644 --- a/be/src/pipeline/exec/sort_source_operator.h +++ b/be/src/pipeline/exec/sort_source_operator.h @@ -48,7 +48,6 @@ class SortSourceOperatorX final : public OperatorX { Status get_block(RuntimeState* state, vectorized::Block* block, bool* eos) override; Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; bool is_source() const override { return true; } diff --git a/be/src/pipeline/exec/spill_sort_sink_operator.cpp b/be/src/pipeline/exec/spill_sort_sink_operator.cpp index 94196a0354e5cf..5f767f2b6e3ab8 100644 --- a/be/src/pipeline/exec/spill_sort_sink_operator.cpp +++ b/be/src/pipeline/exec/spill_sort_sink_operator.cpp @@ -23,6 +23,7 @@ #include "vec/spill/spill_stream_manager.h" namespace doris::pipeline { + SpillSortSinkLocalState::SpillSortSinkLocalState(DataSinkOperatorXBase* parent, RuntimeState* state) : Base(parent, state) { _finish_dependency = std::make_shared(parent->operator_id(), parent->node_id(), @@ -76,6 +77,7 @@ Status SpillSortSinkLocalState::close(RuntimeState* state, Status execsink_statu dec_running_big_mem_op_num(state); return Status::OK(); } + Status SpillSortSinkLocalState::setup_in_memory_sort_op(RuntimeState* state) { _runtime_state = RuntimeState::create_unique( nullptr, state->fragment_instance_id(), state->query_id(), state->fragment_id(), @@ -122,19 +124,16 @@ Status SpillSortSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* state) return _sort_sink_operator->init(tnode, state); } -Status SpillSortSinkOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(DataSinkOperatorX::prepare(state)); - RETURN_IF_ERROR(_sort_sink_operator->prepare(state)); - return Status::OK(); -} Status SpillSortSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX::open(state)); return _sort_sink_operator->open(state); } + Status SpillSortSinkOperatorX::revoke_memory(RuntimeState* state) { auto& local_state = get_local_state(state); return local_state.revoke_memory(state); } + size_t SpillSortSinkOperatorX::revocable_mem_size(RuntimeState* state) const { auto& local_state = get_local_state(state); if (!local_state.Base::_shared_state->sink_status.ok()) { @@ -142,6 +141,7 @@ size_t SpillSortSinkOperatorX::revocable_mem_size(RuntimeState* state) const { } return _sort_sink_operator->get_revocable_mem_size(local_state._runtime_state.get()); } + Status SpillSortSinkOperatorX::sink(doris::RuntimeState* state, vectorized::Block* in_block, bool eos) { auto& local_state = get_local_state(state); @@ -175,6 +175,7 @@ Status SpillSortSinkOperatorX::sink(doris::RuntimeState* state, vectorized::Bloc } return Status::OK(); } + Status SpillSortSinkLocalState::revoke_memory(RuntimeState* state) { if (!_shared_state->is_spilled) { _shared_state->is_spilled = true; diff --git a/be/src/pipeline/exec/spill_sort_sink_operator.h b/be/src/pipeline/exec/spill_sort_sink_operator.h index c5b70d6fcea7f5..e74b5d2a41401a 100644 --- a/be/src/pipeline/exec/spill_sort_sink_operator.h +++ b/be/src/pipeline/exec/spill_sort_sink_operator.h @@ -71,7 +71,6 @@ class SpillSortSinkOperatorX final : public DataSinkOperatorXrequire_data_distribution(); } - Status set_child(OperatorXPtr child) override { + Status set_child(OperatorPtr child) override { RETURN_IF_ERROR(DataSinkOperatorX::set_child(child)); return _sort_sink_operator->set_child(child); } diff --git a/be/src/pipeline/exec/spill_sort_source_operator.cpp b/be/src/pipeline/exec/spill_sort_source_operator.cpp index 967e13d1fa527b..e766cb27168de1 100644 --- a/be/src/pipeline/exec/spill_sort_source_operator.cpp +++ b/be/src/pipeline/exec/spill_sort_source_operator.cpp @@ -245,11 +245,6 @@ Status SpillSortSourceOperatorX::init(const TPlanNode& tnode, RuntimeState* stat return _sort_source_operator->init(tnode, state); } -Status SpillSortSourceOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(OperatorXBase::prepare(state)); - return _sort_source_operator->prepare(state); -} - Status SpillSortSourceOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(OperatorXBase::open(state)); return _sort_source_operator->open(state); diff --git a/be/src/pipeline/exec/spill_sort_source_operator.h b/be/src/pipeline/exec/spill_sort_source_operator.h index 09367415d91724..66d05e739d8c02 100644 --- a/be/src/pipeline/exec/spill_sort_source_operator.h +++ b/be/src/pipeline/exec/spill_sort_source_operator.h @@ -78,8 +78,6 @@ class SpillSortSourceOperatorX : public OperatorX { ~SpillSortSourceOperatorX() override = default; Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; - Status open(RuntimeState* state) override; Status close(RuntimeState* state) override; diff --git a/be/src/pipeline/exec/streaming_aggregation_operator.cpp b/be/src/pipeline/exec/streaming_aggregation_operator.cpp index 8aa1eb8df97b22..59e11583f003c2 100644 --- a/be/src/pipeline/exec/streaming_aggregation_operator.cpp +++ b/be/src/pipeline/exec/streaming_aggregation_operator.cpp @@ -1177,8 +1177,8 @@ Status StreamingAggOperatorX::init(const TPlanNode& tnode, RuntimeState* state) return Status::OK(); } -Status StreamingAggOperatorX::prepare(RuntimeState* state) { - RETURN_IF_ERROR(StatefulOperatorX::prepare(state)); +Status StreamingAggOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(StatefulOperatorX::open(state)); _intermediate_tuple_desc = state->desc_tbl().get_tuple_descriptor(_intermediate_tuple_id); _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); DCHECK_EQ(_intermediate_tuple_desc->slots().size(), _output_tuple_desc->slots().size()); @@ -1231,11 +1231,6 @@ Status StreamingAggOperatorX::prepare(RuntimeState* state) { RETURN_IF_ERROR(vectorized::AggFnEvaluator::check_agg_fn_output( _probe_expr_ctxs.size(), _aggregate_evaluators, _agg_fn_output_row_descriptor)); } - return Status::OK(); -} - -Status StreamingAggOperatorX::open(RuntimeState* state) { - RETURN_IF_ERROR(StatefulOperatorX::open(state)); RETURN_IF_ERROR(vectorized::VExpr::open(_probe_expr_ctxs, state)); for (int i = 0; i < _aggregate_evaluators.size(); ++i) { diff --git a/be/src/pipeline/exec/streaming_aggregation_operator.h b/be/src/pipeline/exec/streaming_aggregation_operator.h index bf8564359827d4..c37fa5cbd881ca 100644 --- a/be/src/pipeline/exec/streaming_aggregation_operator.h +++ b/be/src/pipeline/exec/streaming_aggregation_operator.h @@ -215,7 +215,6 @@ class StreamingAggOperatorX final : public StatefulOperatorXprepare()); } @@ -300,11 +299,6 @@ Status TableFunctionOperatorX::prepare(RuntimeState* state) { } } - return Status::OK(); -} - -Status TableFunctionOperatorX::open(doris::RuntimeState* state) { - RETURN_IF_ERROR(Base::open(state)); return vectorized::VExpr::open(_vfn_ctxs, state); } diff --git a/be/src/pipeline/exec/table_function_operator.h b/be/src/pipeline/exec/table_function_operator.h index 59222de8da9062..75b1608fad7112 100644 --- a/be/src/pipeline/exec/table_function_operator.h +++ b/be/src/pipeline/exec/table_function_operator.h @@ -75,7 +75,6 @@ class TableFunctionOperatorX final : public StatefulOperatorX::open(state)); RETURN_IF_ERROR(vectorized::VExpr::prepare(_child_expr, state, _child_x->row_desc())); RETURN_IF_ERROR(vectorized::VExpr::check_expr_output_type(_child_expr, _row_descriptor)); - return Status::OK(); -} - -Status UnionSinkOperatorX::open(RuntimeState* state) { // open const expr lists. RETURN_IF_ERROR(vectorized::VExpr::open(_const_expr, state)); diff --git a/be/src/pipeline/exec/union_sink_operator.h b/be/src/pipeline/exec/union_sink_operator.h index d9fa5a321e1a18..13dfb0ba6379cb 100644 --- a/be/src/pipeline/exec/union_sink_operator.h +++ b/be/src/pipeline/exec/union_sink_operator.h @@ -72,7 +72,6 @@ class UnionSinkOperatorX final : public DataSinkOperatorX { Status init(const TPlanNode& tnode, RuntimeState* state) override; - Status prepare(RuntimeState* state) override; Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; diff --git a/be/src/pipeline/exec/union_source_operator.h b/be/src/pipeline/exec/union_source_operator.h index 88ea2e5bee59ba..bf32e9a25c2454 100644 --- a/be/src/pipeline/exec/union_source_operator.h +++ b/be/src/pipeline/exec/union_source_operator.h @@ -82,16 +82,12 @@ class UnionSourceOperatorX final : public OperatorX { return Status::OK(); } - Status prepare(RuntimeState* state) override { - RETURN_IF_ERROR(Base::prepare(state)); + Status open(RuntimeState* state) override { + static_cast(Base::open(state)); // Prepare const expr lists. for (const vectorized::VExprContextSPtrs& exprs : _const_expr_lists) { RETURN_IF_ERROR(vectorized::VExpr::prepare(exprs, state, _row_descriptor)); } - return Status::OK(); - } - Status open(RuntimeState* state) override { - static_cast(Base::open(state)); // open const expr lists. for (const auto& exprs : _const_expr_lists) { RETURN_IF_ERROR(vectorized::VExpr::open(exprs, state)); diff --git a/be/src/pipeline/local_exchange/local_exchange_sink_operator.cpp b/be/src/pipeline/local_exchange/local_exchange_sink_operator.cpp index 98b1a719a49da7..f5f3155b2d3d4d 100644 --- a/be/src/pipeline/local_exchange/local_exchange_sink_operator.cpp +++ b/be/src/pipeline/local_exchange/local_exchange_sink_operator.cpp @@ -68,16 +68,10 @@ Status LocalExchangeSinkOperatorX::init(ExchangeType type, const int num_buckets return Status::OK(); } -Status LocalExchangeSinkOperatorX::prepare(RuntimeState* state) { - if (_type == ExchangeType::HASH_SHUFFLE || _type == ExchangeType::BUCKET_HASH_SHUFFLE) { - RETURN_IF_ERROR(_partitioner->prepare(state, _child_x->row_desc())); - } - - return Status::OK(); -} - Status LocalExchangeSinkOperatorX::open(RuntimeState* state) { + RETURN_IF_ERROR(DataSinkOperatorX::open(state)); if (_type == ExchangeType::HASH_SHUFFLE || _type == ExchangeType::BUCKET_HASH_SHUFFLE) { + RETURN_IF_ERROR(_partitioner->prepare(state, _child_x->row_desc())); RETURN_IF_ERROR(_partitioner->open(state)); } diff --git a/be/src/pipeline/local_exchange/local_exchange_sink_operator.h b/be/src/pipeline/local_exchange/local_exchange_sink_operator.h index e0e7688307c386..7a98840b4b323e 100644 --- a/be/src/pipeline/local_exchange/local_exchange_sink_operator.h +++ b/be/src/pipeline/local_exchange/local_exchange_sink_operator.h @@ -105,8 +105,6 @@ class LocalExchangeSinkOperatorX final : public DataSinkOperatorX& shuffle_idx_to_instance_idx) override; - Status prepare(RuntimeState* state) override; - Status open(RuntimeState* state) override; Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; diff --git a/be/src/pipeline/local_exchange/local_exchange_source_operator.h b/be/src/pipeline/local_exchange/local_exchange_source_operator.h index 7bf92add63d702..ad23cb96aef6fe 100644 --- a/be/src/pipeline/local_exchange/local_exchange_source_operator.h +++ b/be/src/pipeline/local_exchange/local_exchange_source_operator.h @@ -70,7 +70,6 @@ class LocalExchangeSourceOperatorX final : public OperatorXintermediate_row_desc(); diff --git a/be/src/pipeline/pipeline.cpp b/be/src/pipeline/pipeline.cpp index 4b16552531c443..74e15d7cc93ea1 100644 --- a/be/src/pipeline/pipeline.cpp +++ b/be/src/pipeline/pipeline.cpp @@ -30,40 +30,38 @@ void Pipeline::_init_profile() { _pipeline_profile = std::make_unique(std::move(s)); } -Status Pipeline::add_operator(OperatorXPtr& op) { +Status Pipeline::add_operator(OperatorPtr& op) { op->set_parallel_tasks(num_tasks()); - operatorXs.emplace_back(op); + _operators.emplace_back(op); if (op->is_source()) { - std::reverse(operatorXs.begin(), operatorXs.end()); + std::reverse(_operators.begin(), _operators.end()); } return Status::OK(); } Status Pipeline::prepare(RuntimeState* state) { - RETURN_IF_ERROR(operatorXs.back()->prepare(state)); - RETURN_IF_ERROR(operatorXs.back()->open(state)); - RETURN_IF_ERROR(_sink_x->prepare(state)); - RETURN_IF_ERROR(_sink_x->open(state)); + RETURN_IF_ERROR(_operators.back()->open(state)); + RETURN_IF_ERROR(_sink->open(state)); _name.append(std::to_string(id())); _name.push_back('-'); - for (auto& op : operatorXs) { + for (auto& op : _operators) { _name.append(std::to_string(op->node_id())); _name.append(op->get_name()); } _name.push_back('-'); - _name.append(std::to_string(_sink_x->node_id())); - _name.append(_sink_x->get_name()); + _name.append(std::to_string(_sink->node_id())); + _name.append(_sink->get_name()); return Status::OK(); } -Status Pipeline::set_sink(DataSinkOperatorXPtr& sink) { - if (_sink_x) { +Status Pipeline::set_sink(DataSinkOperatorPtr& sink) { + if (_sink) { return Status::InternalError("set sink twice"); } if (!sink->is_sink()) { return Status::InternalError("should set a sink operator but {}", typeid(sink).name()); } - _sink_x = sink; + _sink = sink; return Status::OK(); } diff --git a/be/src/pipeline/pipeline.h b/be/src/pipeline/pipeline.h index e7584dccd4a1f6..c014a090170f48 100644 --- a/be/src/pipeline/pipeline.h +++ b/be/src/pipeline/pipeline.h @@ -50,18 +50,18 @@ class Pipeline : public std::enable_shared_from_this { } // Add operators for pipelineX - Status add_operator(OperatorXPtr& op); + Status add_operator(OperatorPtr& op); // prepare operators for pipelineX Status prepare(RuntimeState* state); - Status set_sink(DataSinkOperatorXPtr& sink_operator); + Status set_sink(DataSinkOperatorPtr& sink_operator); - DataSinkOperatorXBase* sink_x() { return _sink_x.get(); } - OperatorXs& operator_xs() { return operatorXs; } - DataSinkOperatorXPtr sink_shared_pointer() { return _sink_x; } + DataSinkOperatorXBase* sink() { return _sink.get(); } + Operators& operators() { return _operators; } + DataSinkOperatorPtr sink_shared_pointer() { return _sink; } [[nodiscard]] const RowDescriptor& output_row_desc() const { - return operatorXs.back()->row_desc(); + return _operators.back()->row_desc(); } [[nodiscard]] PipelineId id() const { return _pipeline_id; } @@ -74,7 +74,7 @@ class Pipeline : public std::enable_shared_from_this { if (target_data_distribution.distribution_type != ExchangeType::BUCKET_HASH_SHUFFLE && target_data_distribution.distribution_type != ExchangeType::HASH_SHUFFLE) { return true; - } else if (operatorXs.front()->ignore_data_hash_distribution()) { + } else if (_operators.front()->ignore_data_hash_distribution()) { if (_data_distribution.distribution_type == target_data_distribution.distribution_type && (_data_distribution.partition_exprs.empty() || @@ -93,7 +93,7 @@ class Pipeline : public std::enable_shared_from_this { } } void init_data_distribution() { - set_data_distribution(operatorXs.front()->required_data_distribution()); + set_data_distribution(_operators.front()->required_data_distribution()); } void set_data_distribution(const DataDistribution& data_distribution) { _data_distribution = data_distribution; @@ -108,7 +108,7 @@ class Pipeline : public std::enable_shared_from_this { bool need_to_create_task() const { return _num_tasks > _num_tasks_created; } void set_num_tasks(int num_tasks) { _num_tasks = num_tasks; - for (auto& op : operatorXs) { + for (auto& op : _operators) { op->set_parallel_tasks(_num_tasks); } } @@ -119,10 +119,10 @@ class Pipeline : public std::enable_shared_from_this { fmt::format_to(debug_string_buffer, "Pipeline [id: {}, _num_tasks: {}, _num_tasks_created: {}]", _pipeline_id, _num_tasks, _num_tasks_created); - for (size_t i = 0; i < operatorXs.size(); i++) { - fmt::format_to(debug_string_buffer, "\n{}", operatorXs[i]->debug_string(i)); + for (size_t i = 0; i < _operators.size(); i++) { + fmt::format_to(debug_string_buffer, "\n{}", _operators[i]->debug_string(i)); } - fmt::format_to(debug_string_buffer, "\n{}", _sink_x->debug_string(operatorXs.size())); + fmt::format_to(debug_string_buffer, "\n{}", _sink->debug_string(_operators.size())); return fmt::to_string(debug_string_buffer); } @@ -146,13 +146,11 @@ class Pipeline : public std::enable_shared_from_this { // Operators for pipelineX. All pipeline tasks share operators from this. // [SourceOperator -> ... -> SinkOperator] - OperatorXs operatorXs; - DataSinkOperatorXPtr _sink_x = nullptr; + Operators _operators; + DataSinkOperatorPtr _sink = nullptr; std::shared_ptr _obj_pool; - Operators _operators; - // Input data distribution of this pipeline. We do local exchange when input data distribution // does not match the target data distribution. DataDistribution _data_distribution {ExchangeType::NOOP}; diff --git a/be/src/pipeline/pipeline_fragment_context.cpp b/be/src/pipeline/pipeline_fragment_context.cpp index ddde18fe8b6071..38a99dd66d421f 100644 --- a/be/src/pipeline/pipeline_fragment_context.cpp +++ b/be/src/pipeline/pipeline_fragment_context.cpp @@ -325,8 +325,8 @@ Status PipelineFragmentContext::prepare(const doris::TPipelineFragmentParams& re RETURN_IF_ERROR(root_pipeline->set_sink(_sink)); for (PipelinePtr& pipeline : _pipelines) { - DCHECK(pipeline->sink_x() != nullptr) << pipeline->operator_xs().size(); - RETURN_IF_ERROR(pipeline->sink_x()->set_child(pipeline->operator_xs().back())); + DCHECK(pipeline->sink() != nullptr) << pipeline->operators().size(); + RETURN_IF_ERROR(pipeline->sink()->set_child(pipeline->operators().back())); } } if (_enable_local_shuffle()) { @@ -432,11 +432,11 @@ Status PipelineFragmentContext::_build_pipeline_tasks( std::map, std::shared_ptr>> le_state_map; - auto source_id = pipeline->operator_xs().front()->operator_id(); + auto source_id = pipeline->operators().front()->operator_id(); if (auto iter = _op_id_to_le_state.find(source_id); iter != _op_id_to_le_state.end()) { le_state_map.insert({source_id, iter->second}); } - for (auto sink_to_source_id : pipeline->sink_x()->dests_id()) { + for (auto sink_to_source_id : pipeline->sink()->dests_id()) { if (auto iter = _op_id_to_le_state.find(sink_to_source_id); iter != _op_id_to_le_state.end()) { le_state_map.insert({sink_to_source_id, iter->second}); @@ -607,7 +607,7 @@ void PipelineFragmentContext::trigger_report_if_necessary() { Status PipelineFragmentContext::_build_pipelines(ObjectPool* pool, const doris::TPipelineFragmentParams& request, - const DescriptorTbl& descs, OperatorXPtr* root, + const DescriptorTbl& descs, OperatorPtr* root, PipelinePtr cur_pipe) { if (request.fragment.plan.nodes.empty()) { throw Exception(ErrorCode::INTERNAL_ERROR, "Invalid plan which has no plan node!"); @@ -628,8 +628,8 @@ Status PipelineFragmentContext::_build_pipelines(ObjectPool* pool, Status PipelineFragmentContext::_create_tree_helper(ObjectPool* pool, const std::vector& tnodes, const doris::TPipelineFragmentParams& request, - const DescriptorTbl& descs, OperatorXPtr parent, - int* node_idx, OperatorXPtr* root, + const DescriptorTbl& descs, OperatorPtr parent, + int* node_idx, OperatorPtr* root, PipelinePtr& cur_pipe, int child_idx, const bool followed_by_shuffled_join) { // propagate error case @@ -642,7 +642,7 @@ Status PipelineFragmentContext::_create_tree_helper(ObjectPool* pool, int num_children = tnodes[*node_idx].num_children; bool current_followed_by_shuffled_join = followed_by_shuffled_join; - OperatorXPtr op = nullptr; + OperatorPtr op = nullptr; RETURN_IF_ERROR(_create_operator(pool, tnodes[*node_idx], request, descs, op, cur_pipe, parent == nullptr ? -1 : parent->node_id(), child_idx, followed_by_shuffled_join)); @@ -666,9 +666,8 @@ Status PipelineFragmentContext::_create_tree_helper(ObjectPool* pool, * shuffled local exchanger will be used before join so it is not followed by shuffle join. */ auto require_shuffled_data_distribution = - cur_pipe->operator_xs().empty() - ? cur_pipe->sink_x()->require_shuffled_data_distribution() - : op->require_shuffled_data_distribution(); + cur_pipe->operators().empty() ? cur_pipe->sink()->require_shuffled_data_distribution() + : op->require_shuffled_data_distribution(); current_followed_by_shuffled_join = (followed_by_shuffled_join || op->is_shuffled_hash_join()) && require_shuffled_data_distribution; @@ -707,20 +706,20 @@ Status PipelineFragmentContext::_add_local_exchange_impl( const std::map& bucket_seq_to_instance_idx, const std::map& shuffle_idx_to_instance_idx, const bool ignore_data_hash_distribution) { - auto& operator_xs = cur_pipe->operator_xs(); + auto& operator_xs = cur_pipe->operators(); const auto downstream_pipeline_id = cur_pipe->id(); auto local_exchange_id = next_operator_id(); // 1. Create a new pipeline with local exchange sink. - DataSinkOperatorXPtr sink; + DataSinkOperatorPtr sink; auto sink_id = next_sink_operator_id(); /** * `bucket_seq_to_instance_idx` is empty if no scan operator is contained in this fragment. * So co-located operators(e.g. Agg, Analytic) should use `HASH_SHUFFLE` instead of `BUCKET_HASH_SHUFFLE`. */ - const bool followed_by_shuffled_join = - operator_xs.size() > idx ? operator_xs[idx]->followed_by_shuffled_join() - : cur_pipe->sink_x()->followed_by_shuffled_join(); + const bool followed_by_shuffled_join = operator_xs.size() > idx + ? operator_xs[idx]->followed_by_shuffled_join() + : cur_pipe->sink()->followed_by_shuffled_join(); const bool should_disable_bucket_shuffle = bucket_seq_to_instance_idx.empty() && shuffle_idx_to_instance_idx.find(-1) == shuffle_idx_to_instance_idx.end() && @@ -734,9 +733,9 @@ Status PipelineFragmentContext::_add_local_exchange_impl( data_distribution.distribution_type = ExchangeType::HASH_SHUFFLE; } RETURN_IF_ERROR(new_pip->set_sink(sink)); - RETURN_IF_ERROR(new_pip->sink_x()->init(data_distribution.distribution_type, num_buckets, - should_disable_bucket_shuffle, - shuffle_idx_to_instance_idx)); + RETURN_IF_ERROR(new_pip->sink()->init(data_distribution.distribution_type, num_buckets, + should_disable_bucket_shuffle, + shuffle_idx_to_instance_idx)); // 2. Create and initialize LocalExchangeSharedState. std::shared_ptr shared_state = @@ -791,7 +790,7 @@ Status PipelineFragmentContext::_add_local_exchange_impl( } break; case ExchangeType::LOCAL_MERGE_SORT: { - auto child_op = cur_pipe->sink_x()->child_x(); + auto child_op = cur_pipe->sink()->child_x(); auto sort_source = std::dynamic_pointer_cast(child_op); if (!sort_source) { return Status::InternalError( @@ -827,15 +826,15 @@ Status PipelineFragmentContext::_add_local_exchange_impl( // 3.1 Initialize new pipeline's operator list. std::copy(operator_xs.begin(), operator_xs.begin() + idx, - std::inserter(new_pip->operator_xs(), new_pip->operator_xs().end())); + std::inserter(new_pip->operators(), new_pip->operators().end())); // 3.2 Erase unused operators in previous pipeline. operator_xs.erase(operator_xs.begin(), operator_xs.begin() + idx); // 4. Initialize LocalExchangeSource and insert it into this pipeline. - OperatorXPtr source_op; + OperatorPtr source_op; source_op.reset(new LocalExchangeSourceOperatorX(pool, local_exchange_id)); - RETURN_IF_ERROR(source_op->set_child(new_pip->operator_xs().back())); + RETURN_IF_ERROR(source_op->set_child(new_pip->operators().back())); RETURN_IF_ERROR(source_op->init(data_distribution.distribution_type)); if (!operator_xs.empty()) { RETURN_IF_ERROR(operator_xs.front()->set_child(source_op)); @@ -849,8 +848,8 @@ Status PipelineFragmentContext::_add_local_exchange_impl( std::vector edges_with_source; for (auto child : cur_pipe->children()) { bool found = false; - for (auto op : new_pip->operator_xs()) { - if (child->sink_x()->node_id() == op->node_id()) { + for (auto op : new_pip->operators()) { + if (child->sink()->node_id() == op->node_id()) { new_pip->set_children(child); found = true; }; @@ -873,8 +872,8 @@ Status PipelineFragmentContext::_add_local_exchange_impl( } cur_pipe->set_children(new_children); _dag[downstream_pipeline_id] = edges_with_source; - RETURN_IF_ERROR(new_pip->sink_x()->set_child(new_pip->operator_xs().back())); - RETURN_IF_ERROR(cur_pipe->sink_x()->set_child(cur_pipe->operator_xs().back())); + RETURN_IF_ERROR(new_pip->sink()->set_child(new_pip->operators().back())); + RETURN_IF_ERROR(cur_pipe->sink()->set_child(cur_pipe->operators().back())); // 7. Inherit properties from current pipeline. _inherit_pipeline_properties(data_distribution, cur_pipe, new_pip); @@ -897,23 +896,23 @@ Status PipelineFragmentContext::_add_local_exchange( } *do_local_exchange = true; - auto& operator_xs = cur_pipe->operator_xs(); + auto& operator_xs = cur_pipe->operators(); auto total_op_num = operator_xs.size(); auto new_pip = add_pipeline(cur_pipe, pip_idx + 1); RETURN_IF_ERROR(_add_local_exchange_impl( idx, pool, cur_pipe, new_pip, data_distribution, do_local_exchange, num_buckets, bucket_seq_to_instance_idx, shuffle_idx_to_instance_idx, ignore_data_distribution)); - CHECK(total_op_num + 1 == cur_pipe->operator_xs().size() + new_pip->operator_xs().size()) + CHECK(total_op_num + 1 == cur_pipe->operators().size() + new_pip->operators().size()) << "total_op_num: " << total_op_num - << " cur_pipe->operator_xs().size(): " << cur_pipe->operator_xs().size() - << " new_pip->operator_xs().size(): " << new_pip->operator_xs().size(); + << " cur_pipe->operators().size(): " << cur_pipe->operators().size() + << " new_pip->operators().size(): " << new_pip->operators().size(); // Add passthrough local exchanger if necessary if (cur_pipe->num_tasks() > 1 && new_pip->num_tasks() == 1 && Pipeline::is_hash_exchange(data_distribution.distribution_type)) { RETURN_IF_ERROR(_add_local_exchange_impl( - new_pip->operator_xs().size(), pool, new_pip, add_pipeline(new_pip, pip_idx + 2), + new_pip->operators().size(), pool, new_pip, add_pipeline(new_pip, pip_idx + 2), DataDistribution(ExchangeType::PASSTHROUGH), do_local_exchange, num_buckets, bucket_seq_to_instance_idx, shuffle_idx_to_instance_idx, ignore_data_distribution)); } @@ -928,10 +927,10 @@ Status PipelineFragmentContext::_plan_local_exchange( // Set property if child pipeline is not join operator's child. if (!_pipelines[pip_idx]->children().empty()) { for (auto& child : _pipelines[pip_idx]->children()) { - if (child->sink_x()->node_id() == - _pipelines[pip_idx]->operator_xs().front()->node_id()) { - RETURN_IF_ERROR(_pipelines[pip_idx]->operator_xs().front()->set_child( - child->operator_xs().back())); + if (child->sink()->node_id() == + _pipelines[pip_idx]->operators().front()->node_id()) { + RETURN_IF_ERROR(_pipelines[pip_idx]->operators().front()->set_child( + child->operators().back())); _pipelines[pip_idx]->set_data_distribution(child->data_distribution()); } } @@ -941,13 +940,13 @@ Status PipelineFragmentContext::_plan_local_exchange( // scan node. so here use `_num_instance` to replace the `num_buckets` to prevent dividing 0 // still keep colocate plan after local shuffle RETURN_IF_ERROR(_plan_local_exchange( - _pipelines[pip_idx]->operator_xs().front()->ignore_data_hash_distribution() || + _pipelines[pip_idx]->operators().front()->ignore_data_hash_distribution() || num_buckets == 0 ? _num_instances : num_buckets, pip_idx, _pipelines[pip_idx], bucket_seq_to_instance_idx, shuffle_idx_to_instance_idx, - _pipelines[pip_idx]->operator_xs().front()->ignore_data_hash_distribution())); + _pipelines[pip_idx]->operators().front()->ignore_data_hash_distribution())); } return Status::OK(); } @@ -960,7 +959,7 @@ Status PipelineFragmentContext::_plan_local_exchange( int idx = 1; bool do_local_exchange = false; do { - auto& ops = pip->operator_xs(); + auto& ops = pip->operators(); do_local_exchange = false; // Plan local exchange for each operator. for (; idx < ops.size();) { @@ -982,10 +981,10 @@ Status PipelineFragmentContext::_plan_local_exchange( idx++; } } while (do_local_exchange); - if (pip->sink_x()->required_data_distribution().need_local_exchange()) { + if (pip->sink()->required_data_distribution().need_local_exchange()) { RETURN_IF_ERROR(_add_local_exchange( - pip_idx, idx, pip->sink_x()->node_id(), _runtime_state->obj_pool(), pip, - pip->sink_x()->required_data_distribution(), &do_local_exchange, num_buckets, + pip_idx, idx, pip->sink()->node_id(), _runtime_state->obj_pool(), pip, + pip->sink()->required_data_distribution(), &do_local_exchange, num_buckets, bucket_seq_to_instance_idx, shuffle_idx_to_instance_idx, ignore_data_hash_distribution)); } @@ -1123,14 +1122,14 @@ Status PipelineFragmentContext::_create_data_sink(ObjectPool* pool, const TDataS _row_desc = pool->add(new RowDescriptor(tmp_row_desc)); } auto source_id = sources[i]; - OperatorXPtr source_op; + OperatorPtr source_op; // 1. create and set the source operator of multi_cast_data_stream_source for new pipeline source_op.reset(new MultiCastDataStreamerSourceOperatorX( i, pool, thrift_sink.multi_cast_stream_sink.sinks[i], row_desc, source_id)); RETURN_IF_ERROR(new_pipeline->add_operator(source_op)); // 2. create and set sink operator of data stream sender for new pipeline - DataSinkOperatorXPtr sink_op; + DataSinkOperatorPtr sink_op; sink_op.reset( new ExchangeSinkOperatorX(state, *_row_desc, next_sink_operator_id(), thrift_sink.multi_cast_stream_sink.sinks[i], @@ -1161,7 +1160,7 @@ Status PipelineFragmentContext::_create_data_sink(ObjectPool* pool, const TDataS // NOLINTBEGIN(readability-function-cognitive-complexity) Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNode& tnode, const doris::TPipelineFragmentParams& request, - const DescriptorTbl& descs, OperatorXPtr& op, + const DescriptorTbl& descs, OperatorPtr& op, PipelinePtr& cur_pipe, int parent_idx, int child_idx, const bool followed_by_shuffled_join) { @@ -1283,7 +1282,7 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo cur_pipe = add_pipeline(cur_pipe); _dag[downstream_pipeline_id].push_back(cur_pipe->id()); - DataSinkOperatorXPtr sink; + DataSinkOperatorPtr sink; if (enable_spill) { sink.reset(new PartitionedAggSinkOperatorX(pool, next_sink_operator_id(), tnode, descs, _require_bucket_distribution)); @@ -1296,7 +1295,7 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo _require_bucket_distribution || sink->require_data_distribution(); sink->set_dests_id({op->operator_id()}); RETURN_IF_ERROR(cur_pipe->set_sink(sink)); - RETURN_IF_ERROR(cur_pipe->sink_x()->init(tnode, _runtime_state.get())); + RETURN_IF_ERROR(cur_pipe->sink()->init(tnode, _runtime_state.get())); } break; } @@ -1334,10 +1333,10 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo pool, next_sink_operator_id(), tnode_, descs, _need_local_merge, partition_count); sink_operator->set_inner_operators(inner_sink_operator, inner_probe_operator); - DataSinkOperatorXPtr sink = std::move(sink_operator); + DataSinkOperatorPtr sink = std::move(sink_operator); sink->set_dests_id({op->operator_id()}); RETURN_IF_ERROR(build_side_pipe->set_sink(sink)); - RETURN_IF_ERROR(build_side_pipe->sink_x()->init(tnode_, _runtime_state.get())); + RETURN_IF_ERROR(build_side_pipe->sink()->init(tnode_, _runtime_state.get())); _pipeline_parent_map.push(op->node_id(), cur_pipe); _pipeline_parent_map.push(op->node_id(), build_side_pipe); @@ -1354,12 +1353,12 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo PipelinePtr build_side_pipe = add_pipeline(cur_pipe); _dag[downstream_pipeline_id].push_back(build_side_pipe->id()); - DataSinkOperatorXPtr sink; + DataSinkOperatorPtr sink; sink.reset(new HashJoinBuildSinkOperatorX(pool, next_sink_operator_id(), tnode, descs, _need_local_merge)); sink->set_dests_id({op->operator_id()}); RETURN_IF_ERROR(build_side_pipe->set_sink(sink)); - RETURN_IF_ERROR(build_side_pipe->sink_x()->init(tnode, _runtime_state.get())); + RETURN_IF_ERROR(build_side_pipe->sink()->init(tnode, _runtime_state.get())); _pipeline_parent_map.push(op->node_id(), cur_pipe); _pipeline_parent_map.push(op->node_id(), build_side_pipe); @@ -1381,12 +1380,12 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo PipelinePtr build_side_pipe = add_pipeline(cur_pipe); _dag[downstream_pipeline_id].push_back(build_side_pipe->id()); - DataSinkOperatorXPtr sink; + DataSinkOperatorPtr sink; sink.reset(new NestedLoopJoinBuildSinkOperatorX(pool, next_sink_operator_id(), tnode, descs, _need_local_merge)); sink->set_dests_id({op->operator_id()}); RETURN_IF_ERROR(build_side_pipe->set_sink(sink)); - RETURN_IF_ERROR(build_side_pipe->sink_x()->init(tnode, _runtime_state.get())); + RETURN_IF_ERROR(build_side_pipe->sink()->init(tnode, _runtime_state.get())); _pipeline_parent_map.push(op->node_id(), cur_pipe); _pipeline_parent_map.push(op->node_id(), build_side_pipe); break; @@ -1403,11 +1402,11 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo for (int i = 0; i < child_count; i++) { PipelinePtr build_side_pipe = add_pipeline(cur_pipe); _dag[downstream_pipeline_id].push_back(build_side_pipe->id()); - DataSinkOperatorXPtr sink; + DataSinkOperatorPtr sink; sink.reset(new UnionSinkOperatorX(i, next_sink_operator_id(), pool, tnode, descs)); sink->set_dests_id({op->operator_id()}); RETURN_IF_ERROR(build_side_pipe->set_sink(sink)); - RETURN_IF_ERROR(build_side_pipe->sink_x()->init(tnode, _runtime_state.get())); + RETURN_IF_ERROR(build_side_pipe->sink()->init(tnode, _runtime_state.get())); // preset children pipelines. if any pipeline found this as its father, will use the prepared pipeline to build. _pipeline_parent_map.push(op->node_id(), build_side_pipe); } @@ -1430,7 +1429,7 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo cur_pipe = add_pipeline(cur_pipe); _dag[downstream_pipeline_id].push_back(cur_pipe->id()); - DataSinkOperatorXPtr sink; + DataSinkOperatorPtr sink; if (should_spill) { sink.reset(new SpillSortSinkOperatorX(pool, next_sink_operator_id(), tnode, descs, _require_bucket_distribution)); @@ -1443,7 +1442,7 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo _require_bucket_distribution || sink->require_data_distribution(); sink->set_dests_id({op->operator_id()}); RETURN_IF_ERROR(cur_pipe->set_sink(sink)); - RETURN_IF_ERROR(cur_pipe->sink_x()->init(tnode, _runtime_state.get())); + RETURN_IF_ERROR(cur_pipe->sink()->init(tnode, _runtime_state.get())); break; } case doris::TPlanNodeType::PARTITION_SORT_NODE: { @@ -1457,11 +1456,11 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo cur_pipe = add_pipeline(cur_pipe); _dag[downstream_pipeline_id].push_back(cur_pipe->id()); - DataSinkOperatorXPtr sink; + DataSinkOperatorPtr sink; sink.reset(new PartitionSortSinkOperatorX(pool, next_sink_operator_id(), tnode, descs)); sink->set_dests_id({op->operator_id()}); RETURN_IF_ERROR(cur_pipe->set_sink(sink)); - RETURN_IF_ERROR(cur_pipe->sink_x()->init(tnode, _runtime_state.get())); + RETURN_IF_ERROR(cur_pipe->sink()->init(tnode, _runtime_state.get())); break; } case TPlanNodeType::ANALYTIC_EVAL_NODE: { @@ -1475,7 +1474,7 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo cur_pipe = add_pipeline(cur_pipe); _dag[downstream_pipeline_id].push_back(cur_pipe->id()); - DataSinkOperatorXPtr sink; + DataSinkOperatorPtr sink; sink.reset(new AnalyticSinkOperatorX(pool, next_sink_operator_id(), tnode, descs, _require_bucket_distribution)); sink->set_followed_by_shuffled_join(followed_by_shuffled_join); @@ -1483,7 +1482,7 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo _require_bucket_distribution || sink->require_data_distribution(); sink->set_dests_id({op->operator_id()}); RETURN_IF_ERROR(cur_pipe->set_sink(sink)); - RETURN_IF_ERROR(cur_pipe->sink_x()->init(tnode, _runtime_state.get())); + RETURN_IF_ERROR(cur_pipe->sink()->init(tnode, _runtime_state.get())); break; } case TPlanNodeType::INTERSECT_NODE: { @@ -1552,7 +1551,7 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo template Status PipelineFragmentContext::_build_operators_for_set_operation_node( - ObjectPool* pool, const TPlanNode& tnode, const DescriptorTbl& descs, OperatorXPtr& op, + ObjectPool* pool, const TPlanNode& tnode, const DescriptorTbl& descs, OperatorPtr& op, PipelinePtr& cur_pipe, int parent_idx, int child_idx) { op.reset(new SetSourceOperatorX(pool, tnode, next_operator_id(), descs)); RETURN_IF_ERROR(cur_pipe->add_operator(op)); @@ -1566,7 +1565,7 @@ Status PipelineFragmentContext::_build_operators_for_set_operation_node( PipelinePtr probe_side_pipe = add_pipeline(cur_pipe); _dag[downstream_pipeline_id].push_back(probe_side_pipe->id()); - DataSinkOperatorXPtr sink; + DataSinkOperatorPtr sink; if (child_id == 0) { sink.reset(new SetSinkOperatorX(child_id, next_sink_operator_id(), pool, tnode, descs)); @@ -1576,7 +1575,7 @@ Status PipelineFragmentContext::_build_operators_for_set_operation_node( } sink->set_dests_id({op->operator_id()}); RETURN_IF_ERROR(probe_side_pipe->set_sink(sink)); - RETURN_IF_ERROR(probe_side_pipe->sink_x()->init(tnode, _runtime_state.get())); + RETURN_IF_ERROR(probe_side_pipe->sink()->init(tnode, _runtime_state.get())); // prepare children pipelines. if any pipeline found this as its father, will use the prepared pipeline to build. _pipeline_parent_map.push(op->node_id(), probe_side_pipe); } diff --git a/be/src/pipeline/pipeline_fragment_context.h b/be/src/pipeline/pipeline_fragment_context.h index 06c882674412ee..75f3f22c68131c 100644 --- a/be/src/pipeline/pipeline_fragment_context.h +++ b/be/src/pipeline/pipeline_fragment_context.h @@ -141,20 +141,20 @@ class PipelineFragmentContext : public TaskExecutionContext { private: Status _build_pipelines(ObjectPool* pool, const doris::TPipelineFragmentParams& request, - const DescriptorTbl& descs, OperatorXPtr* root, PipelinePtr cur_pipe); + const DescriptorTbl& descs, OperatorPtr* root, PipelinePtr cur_pipe); Status _create_tree_helper(ObjectPool* pool, const std::vector& tnodes, const doris::TPipelineFragmentParams& request, - const DescriptorTbl& descs, OperatorXPtr parent, int* node_idx, - OperatorXPtr* root, PipelinePtr& cur_pipe, int child_idx, + const DescriptorTbl& descs, OperatorPtr parent, int* node_idx, + OperatorPtr* root, PipelinePtr& cur_pipe, int child_idx, const bool followed_by_shuffled_join); Status _create_operator(ObjectPool* pool, const TPlanNode& tnode, const doris::TPipelineFragmentParams& request, - const DescriptorTbl& descs, OperatorXPtr& op, PipelinePtr& cur_pipe, + const DescriptorTbl& descs, OperatorPtr& op, PipelinePtr& cur_pipe, int parent_idx, int child_idx, const bool followed_by_shuffled_join); template Status _build_operators_for_set_operation_node(ObjectPool* pool, const TPlanNode& tnode, - const DescriptorTbl& descs, OperatorXPtr& op, + const DescriptorTbl& descs, OperatorPtr& op, PipelinePtr& cur_pipe, int parent_idx, int child_idx); @@ -242,7 +242,7 @@ class PipelineFragmentContext : public TaskExecutionContext { int _timeout = -1; - OperatorXPtr _root_op = nullptr; + OperatorPtr _root_op = nullptr; // this is a [n * m] matrix. n is parallelism of pipeline engine and m is the number of pipelines. std::vector>> _tasks; @@ -254,7 +254,7 @@ class PipelineFragmentContext : public TaskExecutionContext { #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wshadow-field" #endif - DataSinkOperatorXPtr _sink = nullptr; + DataSinkOperatorPtr _sink = nullptr; #ifdef __clang__ #pragma clang diagnostic pop #endif diff --git a/be/src/pipeline/pipeline_task.cpp b/be/src/pipeline/pipeline_task.cpp index 8692075622a906..4f362ac5042e8f 100644 --- a/be/src/pipeline/pipeline_task.cpp +++ b/be/src/pipeline/pipeline_task.cpp @@ -58,7 +58,7 @@ PipelineTask::PipelineTask( _state(state), _fragment_context(fragment_context), _parent_profile(parent_profile), - _operators(pipeline->operator_xs()), + _operators(pipeline->operators()), _source(_operators.front().get()), _root(_operators.back().get()), _sink(pipeline->sink_shared_pointer()), diff --git a/be/src/pipeline/pipeline_task.h b/be/src/pipeline/pipeline_task.h index 8fb4b4eb7992f5..dd2ead4b5dcc91 100644 --- a/be/src/pipeline/pipeline_task.h +++ b/be/src/pipeline/pipeline_task.h @@ -130,7 +130,7 @@ class PipelineTask { void wake_up(); - DataSinkOperatorXPtr sink() const { return _sink; } + DataSinkOperatorPtr sink() const { return _sink; } int task_id() const { return _index; }; bool is_finalized() const { return _finalized; } @@ -282,10 +282,10 @@ class PipelineTask { MonotonicStopWatch _pipeline_task_watcher; - OperatorXs _operators; // left is _source, right is _root + Operators _operators; // left is _source, right is _root OperatorXBase* _source; OperatorXBase* _root; - DataSinkOperatorXPtr _sink; + DataSinkOperatorPtr _sink; // `_read_dependencies` is stored as same order as `_operators` std::vector> _read_dependencies; diff --git a/be/test/vec/exec/vwal_scanner_test.cpp b/be/test/vec/exec/vwal_scanner_test.cpp index f6a9d33885cfb3..0944193e6d09b8 100644 --- a/be/test/vec/exec/vwal_scanner_test.cpp +++ b/be/test/vec/exec/vwal_scanner_test.cpp @@ -259,7 +259,7 @@ void VWalScannerTest::init() { std::make_shared(&_obj_pool, _tnode, 0, *_desc_tbl, 1); _scan_node->_output_tuple_desc = _runtime_state.desc_tbl().get_tuple_descriptor(_dst_tuple_id); WARN_IF_ERROR(_scan_node->init(_tnode, &_runtime_state), "fail to init scan_node"); - WARN_IF_ERROR(_scan_node->prepare(&_runtime_state), "fail to prepare scan_node"); + WARN_IF_ERROR(_scan_node->open(&_runtime_state), "fail to prepare scan_node"); auto local_state = pipeline::FileScanLocalState::create_unique(&_runtime_state, _scan_node.get()); From e23696cd000b4e8834ee805d3520fe6af5db96b6 Mon Sep 17 00:00:00 2001 From: zhangdong <493738387@qq.com> Date: Fri, 6 Sep 2024 11:34:23 +0800 Subject: [PATCH 095/199] [enhance](mtmv) During cache generation, no longer hold the write lock for mtmv (#40402) During cache generation, no longer hold the write Lock for mv to avoid changes in the logic of cache generation in the future, internal calls to other locks, and deadlocks --- .../java/org/apache/doris/catalog/MTMV.java | 47 ++++++++++++------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java index c3d36ea39714c0..3e60a489c932da 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java @@ -176,6 +176,19 @@ public MTMVStatus alterStatus(MTMVStatus newStatus) { public void addTaskResult(MTMVTask task, MTMVRelation relation, Map partitionSnapshots) { + MTMVCache mtmvCache = null; + boolean needUpdateCache = false; + if (task.getStatus() == TaskStatus.SUCCESS && !Env.isCheckpointThread() + && !Config.enable_check_compatibility_mode) { + needUpdateCache = true; + try { + // shouldn't do this while holding mvWriteLock + mtmvCache = MTMVCache.from(this, MTMVPlanUtil.createMTMVContext(this), true); + } catch (Throwable e) { + mtmvCache = null; + LOG.warn("generate cache failed", e); + } + } writeMvLock(); try { if (task.getStatus() == TaskStatus.SUCCESS) { @@ -183,13 +196,8 @@ public void addTaskResult(MTMVTask task, MTMVRelation relation, this.status.setSchemaChangeDetail(null); this.status.setRefreshState(MTMVRefreshState.SUCCESS); this.relation = relation; - if (!Env.isCheckpointThread() && !Config.enable_check_compatibility_mode) { - try { - this.cache = MTMVCache.from(this, MTMVPlanUtil.createMTMVContext(this), true); - } catch (Throwable e) { - this.cache = null; - LOG.warn("generate cache failed", e); - } + if (needUpdateCache) { + this.cache = mtmvCache; } } else { this.status.setRefreshState(MTMVRefreshState.FAIL); @@ -268,17 +276,24 @@ public Set getExcludedTriggerTables() { * Called when in query, Should use one connection context in query */ public MTMVCache getOrGenerateCache(ConnectContext connectionContext) throws AnalysisException { - if (cache == null) { - writeMvLock(); - try { - if (cache == null) { - this.cache = MTMVCache.from(this, connectionContext, true); - } - } finally { - writeMvUnlock(); + readMvLock(); + try { + if (cache != null) { + return cache; } + } finally { + readMvUnlock(); + } + // Concurrent situations may result in duplicate cache generation, + // but we tolerate this in order to prevent nested use of readLock and write MvLock for the table + MTMVCache mtmvCache = MTMVCache.from(this, connectionContext, true); + writeMvLock(); + try { + this.cache = mtmvCache; + return cache; + } finally { + writeMvUnlock(); } - return cache; } public MTMVCache getCache() { From 7f744ec8e56108798fdba56532f28532d68b14eb Mon Sep 17 00:00:00 2001 From: wangbo Date: Fri, 6 Sep 2024 11:42:10 +0800 Subject: [PATCH 096/199] [Fix]Fix cgroup v2 init (#39991) ## Proposed changes 1 Add a step to write pid to query path's cgroup.procs, otherwrise write thread id may failed. 2 Move some cgroup v2's public file to parent class to init init them once. --- be/src/agent/cgroup_cpu_ctl.cpp | 67 +++++++++++++------ be/src/agent/cgroup_cpu_ctl.h | 30 +++++---- .../runtime/workload_group/workload_group.cpp | 2 +- 3 files changed, 64 insertions(+), 35 deletions(-) diff --git a/be/src/agent/cgroup_cpu_ctl.cpp b/be/src/agent/cgroup_cpu_ctl.cpp index c98a28746f238d..e68535a708c49b 100644 --- a/be/src/agent/cgroup_cpu_ctl.cpp +++ b/be/src/agent/cgroup_cpu_ctl.cpp @@ -65,7 +65,8 @@ bool CgroupCpuCtl::is_a_valid_cgroup_path(std::string cg_path) { void CgroupCpuCtl::init_doris_cgroup_path() { std::string conf_path = config::doris_cgroup_cpu_path; if (conf_path.empty()) { - LOG(INFO) << "[cgroup_init_path]doris cgroup home path is not specify"; + LOG(INFO) << "[cgroup_init_path]doris cgroup home path is not specify, if you not use " + "workload group, you can ignore this log."; return; } @@ -107,9 +108,50 @@ void CgroupCpuCtl::init_doris_cgroup_path() { : "cgroup query path is not valid"; _cpu_core_num = CpuInfo::num_cores(); + std::string init_cg_v2_msg = ""; + if (_is_enable_cgroup_v2_in_env && _is_cgroup_query_path_valid) { + Status ret = init_cgroup_v2_query_path_public_file(_doris_cgroup_cpu_path, + _doris_cgroup_cpu_query_path); + if (!ret.ok()) { + init_cg_v2_msg = " write cgroup v2 file failed, err=" + ret.to_string_no_stack() + ". "; + } else { + init_cg_v2_msg = "write cgroup v2 public file succ."; + } + } + LOG(INFO) << "[cgroup_init_path]init cgroup home path finish, home path=" << _doris_cgroup_cpu_path << ", query path=" << _doris_cgroup_cpu_query_path << ", " - << cg_msg << ", " << query_path_msg << ", core_num=" << _cpu_core_num; + << cg_msg << ", " << query_path_msg << ", core_num=" << _cpu_core_num << ". " + << init_cg_v2_msg; +} + +Status CgroupCpuCtl::init_cgroup_v2_query_path_public_file(std::string home_path, + std::string query_path) { + // 1 enable cpu controller for home path's child + _doris_cgroup_cpu_path_subtree_ctl_file = home_path + "cgroup.subtree_control"; + if (access(_doris_cgroup_cpu_path_subtree_ctl_file.c_str(), F_OK) != 0) { + return Status::InternalError("not find cgroup v2 doris home's subtree control file"); + } + RETURN_IF_ERROR(CgroupCpuCtl::write_cg_sys_file(_doris_cgroup_cpu_path_subtree_ctl_file, "+cpu", + "set cpu controller", false)); + + // 2 enable cpu controller for query path's child + _cgroup_v2_query_path_subtree_ctl_file = query_path + "/cgroup.subtree_control"; + if (access(_cgroup_v2_query_path_subtree_ctl_file.c_str(), F_OK) != 0) { + return Status::InternalError("not find cgroup v2 query path's subtree control file"); + } + RETURN_IF_ERROR(CgroupCpuCtl::write_cg_sys_file(_cgroup_v2_query_path_subtree_ctl_file, "+cpu", + "set cpu controller", false)); + + // 3 write cgroup.procs + _doris_cg_v2_procs_file = query_path + "/cgroup.procs"; + if (access(_doris_cg_v2_procs_file.c_str(), F_OK) != 0) { + return Status::InternalError("not find cgroup v2 cgroup.procs file"); + } + RETURN_IF_ERROR(CgroupCpuCtl::write_cg_sys_file(_doris_cg_v2_procs_file, + std::to_string(getpid()), + "set pid to cg v2 procs file", false)); + return Status::OK(); } uint64_t CgroupCpuCtl::cpu_soft_limit_default_value() { @@ -258,7 +300,7 @@ Status CgroupV1CpuCtl::init() { int ret = mkdir(_cgroup_v1_cpu_tg_path.c_str(), S_IRWXU); if (ret != 0) { LOG(ERROR) << "cgroup v1 mkdir workload group failed, path=" << _cgroup_v1_cpu_tg_path; - return Status::InternalError("cgroup v1 mkdir workload group failed, path=", + return Status::InternalError("cgroup v1 mkdir workload group failed, path={}", _cgroup_v1_cpu_tg_path); } } @@ -313,21 +355,6 @@ Status CgroupV2CpuCtl::init() { return Status::InternalError("find an invalid wg_id {}", _wg_id); } - // enable cpu controller for home path's child - _doris_cgroup_cpu_path_subtree_ctl_file = _doris_cgroup_cpu_path + "cgroup.subtree_control"; - if (access(_doris_cgroup_cpu_path_subtree_ctl_file.c_str(), F_OK) != 0) { - return Status::InternalError("not find cgroup v2 doris home's subtree control file"); - } - RETURN_IF_ERROR(enable_cpu_controller(_doris_cgroup_cpu_path_subtree_ctl_file)); - - // enable cpu controller for query path's child - _cgroup_v2_query_path_subtree_ctl_file = - _doris_cgroup_cpu_query_path + "/cgroup.subtree_control"; - if (access(_cgroup_v2_query_path_subtree_ctl_file.c_str(), F_OK) != 0) { - return Status::InternalError("not find cgroup v2 query path's subtree control file"); - } - RETURN_IF_ERROR(enable_cpu_controller(_cgroup_v2_query_path_subtree_ctl_file)); - // wg path _cgroup_v2_query_wg_path = _doris_cgroup_cpu_query_path + "/" + std::to_string(_wg_id); if (access(_cgroup_v2_query_wg_path.c_str(), F_OK) != 0) { @@ -392,8 +419,4 @@ Status CgroupV2CpuCtl::add_thread_to_cgroup() { return CgroupCpuCtl::add_thread_to_cgroup(_cgroup_v2_query_wg_thread_file); } -Status CgroupV2CpuCtl::enable_cpu_controller(std::string file) { - return CgroupCpuCtl::write_cg_sys_file(file, "+cpu", "set cpu controller", false); -} - } // namespace doris diff --git a/be/src/agent/cgroup_cpu_ctl.h b/be/src/agent/cgroup_cpu_ctl.h index 5cc31ab40ed6fc..84e191159f15f1 100644 --- a/be/src/agent/cgroup_cpu_ctl.h +++ b/be/src/agent/cgroup_cpu_ctl.h @@ -59,15 +59,18 @@ class CgroupCpuCtl { static uint64_t cpu_soft_limit_default_value(); protected: - Status write_cg_sys_file(std::string file_path, std::string value, std::string msg, - bool is_append); - virtual Status modify_cg_cpu_hard_limit_no_lock(int cpu_hard_limit) = 0; virtual Status modify_cg_cpu_soft_limit_no_lock(int cpu_shares) = 0; Status add_thread_to_cgroup(std::string task_file); + static Status write_cg_sys_file(std::string file_path, std::string value, std::string msg, + bool is_append); + + static Status init_cgroup_v2_query_path_public_file(std::string home_path, + std::string query_path); + protected: inline static uint64_t _cpu_core_num; const static uint64_t _cpu_cfs_period_us = 100000; @@ -77,6 +80,11 @@ class CgroupCpuCtl { inline static bool _is_enable_cgroup_v2_in_env = false; inline static bool _is_cgroup_query_path_valid = false; + // cgroup v2 public file + inline static std::string _doris_cgroup_cpu_path_subtree_ctl_file = ""; + inline static std::string _cgroup_v2_query_path_subtree_ctl_file = ""; + inline static std::string _doris_cg_v2_procs_file = ""; + protected: int _cpu_hard_limit = 0; std::shared_mutex _lock_mutex; @@ -143,16 +151,19 @@ class CgroupV1CpuCtl : public CgroupCpuCtl { 5 query path subtree_control file: /sys/fs/cgroup/{doris_home}/query/cgroup.subtree_control - 6 workload group path: + 6 query path procs file: + /sys/fs/cgroup/{doris_home}/query/cgroup.procs + + 7 workload group path: /sys/fs/cgroup/{doris_home}/query/{workload_group_id} - 7 workload grou cpu.max file: + 8 workload grou cpu.max file: /sys/fs/cgroup/{doris_home}/query/{workload_group_id}/cpu.max - 8 workload grou cpu.weight file: + 9 workload grou cpu.weight file: /sys/fs/cgroup/{doris_home}/query/{workload_group_id}/cpu.weight - 9 workload group cgroup type file: + 10 workload group cgroup type file: /sys/fs/cgroup/{doris_home}/query/{workload_group_id}/cgroup.type */ @@ -165,11 +176,6 @@ class CgroupV2CpuCtl : public CgroupCpuCtl { Status add_thread_to_cgroup() override; private: - Status enable_cpu_controller(std::string file); - -private: - std::string _doris_cgroup_cpu_path_subtree_ctl_file; - std::string _cgroup_v2_query_path_subtree_ctl_file; std::string _cgroup_v2_query_wg_path; std::string _cgroup_v2_query_wg_cpu_max_file; std::string _cgroup_v2_query_wg_cpu_weight_file; diff --git a/be/src/runtime/workload_group/workload_group.cpp b/be/src/runtime/workload_group/workload_group.cpp index 60a17cc1f439ba..85f79536b74ec3 100644 --- a/be/src/runtime/workload_group/workload_group.cpp +++ b/be/src/runtime/workload_group/workload_group.cpp @@ -436,7 +436,7 @@ void WorkloadGroup::upsert_task_scheduler(WorkloadGroupInfo* tg_info, ExecEnv* e _cgroup_cpu_ctl = std::move(cgroup_cpu_ctl); LOG(INFO) << "[upsert wg thread pool] cgroup init success, wg_id=" << tg_id; } else { - LOG(INFO) << "[upsert wg thread pool] cgroup init failed, wg_id= " << tg_id + LOG(INFO) << "[upsert wg thread pool] cgroup init failed, wg_id=" << tg_id << ", reason=" << ret.to_string(); } } else { From 744a1ec15f0846faf3b040a1cf08be5370adb7dd Mon Sep 17 00:00:00 2001 From: minghong Date: Fri, 6 Sep 2024 12:03:51 +0800 Subject: [PATCH 097/199] [opt](nereids)stats derive for min()/max() agg function (#40126) ## Proposed changes the column stats for min(A) agg function is estimated as column stats of A. in current version, min(A).ndv is 1, this is error-prone. Issue Number: close #xxx --- .../nereids/stats/ExpressionEstimation.java | 21 +++++-------------- .../stats/ExpressionEstimationTest.java | 4 ++-- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/ExpressionEstimation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/ExpressionEstimation.java index 1b98b09fb9391c..4068fc6b064660 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/ExpressionEstimation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/ExpressionEstimation.java @@ -342,14 +342,9 @@ public ColumnStatistic visitMin(Min min, Statistics context) { if (columnStat.isUnKnown) { return ColumnStatistic.UNKNOWN; } - /* - we keep columnStat.min and columnStat.max, but set ndv=1. - if there is group-by keys, we will update count when visiting group clause - */ - double width = min.child().getDataType().width(); - return new ColumnStatisticBuilder().setCount(1).setNdv(1).setAvgSizeByte(width) - .setMinValue(columnStat.minValue).setMinExpr(columnStat.minExpr) - .setMaxValue(columnStat.maxValue).setMaxExpr(columnStat.maxExpr).build(); + // if this is scalar agg, we will update count and ndv to 1 when visiting group clause + return new ColumnStatisticBuilder(columnStat) + .build(); } @Override @@ -359,14 +354,8 @@ public ColumnStatistic visitMax(Max max, Statistics context) { if (columnStat.isUnKnown) { return ColumnStatistic.UNKNOWN; } - /* - we keep columnStat.min and columnStat.max, but set ndv=1. - if there is group-by keys, we will update count when visiting group clause - */ - int width = max.child().getDataType().width(); - return new ColumnStatisticBuilder().setCount(1D).setNdv(1D).setAvgSizeByte(width) - .setMinValue(columnStat.minValue).setMinExpr(columnStat.minExpr) - .setMaxValue(columnStat.maxValue).setMaxExpr(columnStat.maxExpr) + // if this is scalar agg, we will update count and ndv to 1 when visiting group clause + return new ColumnStatisticBuilder(columnStat) .build(); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/ExpressionEstimationTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/ExpressionEstimationTest.java index 1748802e4dd6fa..5f91e2b70d8ab0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/ExpressionEstimationTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/stats/ExpressionEstimationTest.java @@ -72,7 +72,7 @@ public void test1() { ColumnStatistic estimated = ExpressionEstimation.estimate(max, stat); Assertions.assertEquals(0, estimated.minValue); Assertions.assertEquals(500, estimated.maxValue); - Assertions.assertEquals(1, estimated.ndv); + Assertions.assertEquals(500, estimated.ndv); } // MIN(a) @@ -95,7 +95,7 @@ public void test2() { ColumnStatistic estimated = ExpressionEstimation.estimate(max, stat); Assertions.assertEquals(0, estimated.minValue); Assertions.assertEquals(1000, estimated.maxValue); - Assertions.assertEquals(1, estimated.ndv); + Assertions.assertEquals(500, estimated.ndv); } // a + b From 5f7a6c10953e79eb91ae8d333b97f123161f45f9 Mon Sep 17 00:00:00 2001 From: Vallish Pai Date: Fri, 6 Sep 2024 09:37:39 +0530 Subject: [PATCH 098/199] [Enhancement] add row count in show partition (#40455) ## Proposed changes Issue Number: close #xxx add row count in show partitions. mysql> show partitions from test_range_table; +-------------+---------------+----------------+---------------------+--------+--------------+---------------------------------------------------------------------+-----------------+---------+----------------+---------------+---------------------+---------------------+--------------------------+-----------+------------+-------------------------+-----------+--------------------+--------------+------------------+----------+ | PartitionId | PartitionName | VisibleVersion | VisibleVersionTime | State | PartitionKey | Range | DistributionKey | Buckets | ReplicationNum | StorageMedium | CooldownTime | RemoteStoragePolicy | LastConsistencyCheckTime | DataSize | IsInMemory | ReplicaAllocation | IsMutable | SyncWithBaseTables | UnsyncTables | CommittedVersion | **RowCount** | +-------------+---------------+----------------+---------------------+--------+--------------+---------------------------------------------------------------------+-----------------+---------+----------------+---------------+---------------------+---------------------+--------------------------+-----------+------------+-------------------------+-----------+--------------------+--------------+------------------+----------+ | 27012 | p0 | 2 | 2024-09-03 11:56:13 | NORMAL | col_1 | [types: [INT]; keys: [-2147483648]; ..types: [INT]; keys: [4]; ) | pk | 10 | 1 | HDD | 9999-12-31 15:59:59 | | NULL | 5.594 KB | false | tag.location.default: 1 | true | true | NULL | 2 | 9 | | 27013 | p1 | 2 | 2024-09-03 11:56:13 | NORMAL | col_1 | [types: [INT]; keys: [4]; ..types: [INT]; keys: [6]; ) | pk | 10 | 1 | HDD | 9999-12-31 15:59:59 | | NULL | 1.874 KB | false | tag.location.default: 1 | true | true | NULL | 2 | 2 | | 27014 | p2 | 2 | 2024-09-03 11:56:13 | NORMAL | col_1 | [types: [INT]; keys: [6]; ..types: [INT]; keys: [7]; ) | pk | 10 | 1 | HDD | 9999-12-31 15:59:59 | | NULL | 975.000 B | false | tag.location.default: 1 | true | true | NULL | 2 | 1 | | 27015 | p3 | 2 | 2024-09-03 11:56:13 | NORMAL | col_1 | [types: [INT]; keys: [7]; ..types: [INT]; keys: [8]; ) | pk | 10 | 1 | HDD | 9999-12-31 15:59:59 | | NULL | 959.000 B | false | tag.location.default: 1 | true | true | NULL | 2 | 1 | | 27016 | p4 | 2 | 2024-09-03 11:56:13 | NORMAL | col_1 | [types: [INT]; keys: [8]; ..types: [INT]; keys: [10]; ) | pk | 10 | 1 | HDD | 9999-12-31 15:59:59 | | NULL | 2.779 KB | false | tag.location.default: 1 | true | true | NULL | 2 | 3 | | 27017 | p5 | 1 | 2024-09-03 11:56:13 | NORMAL | col_1 | [types: [INT]; keys: [10]; ..types: [INT]; keys: [83647]; ) | pk | 10 | 1 | HDD | 9999-12-31 15:59:59 | | NULL | 0.000 | false | tag.location.default: 1 | true | true | NULL | 1 | 0 | | 27018 | p100 | 2 | 2024-09-03 11:56:13 | NORMAL | col_1 | [types: [INT]; keys: [83647]; ..types: [INT]; keys: [2147483647]; ) | pk | 10 | 1 | HDD | 9999-12-31 15:59:59 | | NULL | 2.872 KB | false | tag.location.default: 1 | true | true | NULL | 2 | 4 | +-------------+---------------+----------------+---------------------+--------+--------------+---------------------------------------------------------------------+-----------------+---------+----------------+---------------+---------------------+---------------------+--------------------------+-----------+------------+-------------------------+-----------+--------------------+--------------+------------------+----------+ --- .../java/org/apache/doris/common/proc/PartitionsProcDir.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/proc/PartitionsProcDir.java b/fe/fe-core/src/main/java/org/apache/doris/common/proc/PartitionsProcDir.java index 3e7c6bdebc762b..f1aed5b6278960 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/proc/PartitionsProcDir.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/proc/PartitionsProcDir.java @@ -76,6 +76,7 @@ public class PartitionsProcDir implements ProcDirInterface { .add("Buckets").add("ReplicationNum").add("StorageMedium").add("CooldownTime").add("RemoteStoragePolicy") .add("LastConsistencyCheckTime").add("DataSize").add("IsInMemory").add("ReplicaAllocation") .add("IsMutable").add("SyncWithBaseTables").add("UnsyncTables").add("CommittedVersion") + .add("RowCount") .build(); private Database db; @@ -383,6 +384,9 @@ private List, TRow>> getPartitionInfosInrernal() throws An partitionInfo.add(partition.getCommittedVersion()); trow.addToColumnValue(new TCell().setLongVal(partition.getCommittedVersion())); + partitionInfo.add(partition.getRowCount()); + trow.addToColumnValue(new TCell().setLongVal(partition.getRowCount())); + partitionInfos.add(Pair.of(partitionInfo, trow)); } } finally { From 775632cf39e58cf277ef70de6c07fa614ff3c482 Mon Sep 17 00:00:00 2001 From: zzzxl <33418555+zzzxl1993@users.noreply.github.com> Date: Fri, 6 Sep 2024 12:09:19 +0800 Subject: [PATCH 099/199] [fix](inverted index) Handle an empty segment index file (#40337) --- be/src/clucene | 2 +- be/src/common/status.h | 1 + be/src/olap/olap_common.h | 1 + .../segment_v2/inverted_index_searcher.cpp | 7 ++- .../segment_v2/inverted_index_writer.cpp | 2 + .../rowset/segment_v2/segment_iterator.cpp | 6 +- be/src/pipeline/exec/olap_scan_operator.cpp | 2 + be/src/pipeline/exec/olap_scan_operator.h | 1 + be/src/vec/exec/scan/new_olap_scanner.cpp | 2 + ...index_empty_segment_fault_injection.groovy | 62 +++++++++++++++++++ 10 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 regression-test/suites/fault_injection_p0/test_index_empty_segment_fault_injection.groovy diff --git a/be/src/clucene b/be/src/clucene index fdbf2204031128..c5d02a7e41194b 160000 --- a/be/src/clucene +++ b/be/src/clucene @@ -1 +1 @@ -Subproject commit fdbf2204031128b2bd8505fc73c06403b7c1a815 +Subproject commit c5d02a7e41194b02444be6d684e3aeb4ff1b5595 diff --git a/be/src/common/status.h b/be/src/common/status.h index 4e3aaf74d7bee0..e95b93431679a2 100644 --- a/be/src/common/status.h +++ b/be/src/common/status.h @@ -286,6 +286,7 @@ namespace ErrorCode { E(INVERTED_INDEX_NOT_IMPLEMENTED, -6009, false); \ E(INVERTED_INDEX_COMPACTION_ERROR, -6010, false); \ E(INVERTED_INDEX_ANALYZER_ERROR, -6011, false); \ + E(INVERTED_INDEX_FILE_CORRUPTED, -6012, false); \ E(KEY_NOT_FOUND, -7000, false); \ E(KEY_ALREADY_EXISTS, -7001, false); \ E(ENTRY_NOT_FOUND, -7002, false); \ diff --git a/be/src/olap/olap_common.h b/be/src/olap/olap_common.h index dac1750c24b54f..c1d3038050fbd4 100644 --- a/be/src/olap/olap_common.h +++ b/be/src/olap/olap_common.h @@ -377,6 +377,7 @@ struct OlapReaderStatistics { int64_t inverted_index_searcher_search_timer = 0; int64_t inverted_index_searcher_cache_hit = 0; int64_t inverted_index_searcher_cache_miss = 0; + int64_t inverted_index_downgrade_count = 0; int64_t output_index_result_column_timer = 0; // number of segment filtered by column stat when creating seg iterator diff --git a/be/src/olap/rowset/segment_v2/inverted_index_searcher.cpp b/be/src/olap/rowset/segment_v2/inverted_index_searcher.cpp index 90d455e5754bfd..de8b494cd8be6d 100644 --- a/be/src/olap/rowset/segment_v2/inverted_index_searcher.cpp +++ b/be/src/olap/rowset/segment_v2/inverted_index_searcher.cpp @@ -34,8 +34,11 @@ Status FulltextIndexSearcherBuilder::build(lucene::store::Directory* directory, reader = lucene::index::IndexReader::open( directory, config::inverted_index_read_buffer_size, close_directory); } catch (const CLuceneError& e) { - return Status::Error( - "FulltextIndexSearcherBuilder build error: {}", e.what()); + std::string msg = "FulltextIndexSearcherBuilder build error: " + std::string(e.what()); + if (e.number() == CL_ERR_EmptyIndexSegment) { + return Status::Error(msg); + } + return Status::Error(msg); } bool close_reader = true; auto index_searcher = std::make_shared(reader, close_reader); diff --git a/be/src/olap/rowset/segment_v2/inverted_index_writer.cpp b/be/src/olap/rowset/segment_v2/inverted_index_writer.cpp index b491c97e63c799..396c2bc11b6652 100644 --- a/be/src/olap/rowset/segment_v2/inverted_index_writer.cpp +++ b/be/src/olap/rowset/segment_v2/inverted_index_writer.cpp @@ -271,6 +271,8 @@ class InvertedIndexColumnWriterImpl : public InvertedIndexColumnWriter { } Status add_document() { + DBUG_EXECUTE_IF("inverted_index_writer.add_document", { return Status::OK(); }); + try { _index_writer->addDocument(_doc.get()); } catch (const CLuceneError& e) { diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index f0d9cc6605d767..ff8a36d8788561 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -811,7 +811,8 @@ bool SegmentIterator::_downgrade_without_index(Status res, bool need_remaining) if ((res.code() == ErrorCode::INVERTED_INDEX_FILE_NOT_FOUND && is_fallback) || res.code() == ErrorCode::INVERTED_INDEX_BYPASS || res.code() == ErrorCode::INVERTED_INDEX_EVALUATE_SKIPPED || - (res.code() == ErrorCode::INVERTED_INDEX_NO_TERMS && need_remaining)) { + (res.code() == ErrorCode::INVERTED_INDEX_NO_TERMS && need_remaining) || + res.code() == ErrorCode::INVERTED_INDEX_FILE_CORRUPTED) { // 1. INVERTED_INDEX_FILE_NOT_FOUND means index file has not been built, // usually occurs when creating a new index, queries can be downgraded // without index. @@ -825,7 +826,10 @@ bool SegmentIterator::_downgrade_without_index(Status res, bool need_remaining) // but the column condition value no terms in specified parser, // such as: where A = '' and B = ',' // the predicate of A and B need downgrade without index query. + // 5. INVERTED_INDEX_FILE_CORRUPTED means the index file is corrupted, + // such as when index segment files are not generated // above case can downgrade without index query + _opts.stats->inverted_index_downgrade_count++; LOG(INFO) << "will downgrade without index to evaluate predicate, because of res: " << res; return true; } diff --git a/be/src/pipeline/exec/olap_scan_operator.cpp b/be/src/pipeline/exec/olap_scan_operator.cpp index 002e085ac0a9c7..adba2b201850c1 100644 --- a/be/src/pipeline/exec/olap_scan_operator.cpp +++ b/be/src/pipeline/exec/olap_scan_operator.cpp @@ -143,6 +143,8 @@ Status OlapScanLocalState::_init_profile() { ADD_COUNTER(_segment_profile, "InvertedIndexSearcherCacheHit", TUnit::UNIT); _inverted_index_searcher_cache_miss_counter = ADD_COUNTER(_segment_profile, "InvertedIndexSearcherCacheMiss", TUnit::UNIT); + _inverted_index_downgrade_count_counter = + ADD_COUNTER(_segment_profile, "InvertedIndexDowngradeCount", TUnit::UNIT); _output_index_result_column_timer = ADD_TIMER(_segment_profile, "OutputIndexResultColumnTimer"); diff --git a/be/src/pipeline/exec/olap_scan_operator.h b/be/src/pipeline/exec/olap_scan_operator.h index 0dffa1b7efea3a..6a03a46e65ef67 100644 --- a/be/src/pipeline/exec/olap_scan_operator.h +++ b/be/src/pipeline/exec/olap_scan_operator.h @@ -181,6 +181,7 @@ class OlapScanLocalState final : public ScanLocalState { RuntimeProfile::Counter* _inverted_index_searcher_search_timer = nullptr; RuntimeProfile::Counter* _inverted_index_searcher_cache_hit_counter = nullptr; RuntimeProfile::Counter* _inverted_index_searcher_cache_miss_counter = nullptr; + RuntimeProfile::Counter* _inverted_index_downgrade_count_counter = nullptr; RuntimeProfile::Counter* _output_index_result_column_timer = nullptr; diff --git a/be/src/vec/exec/scan/new_olap_scanner.cpp b/be/src/vec/exec/scan/new_olap_scanner.cpp index a01bfaa92d0fd3..a1d3c71f5736ba 100644 --- a/be/src/vec/exec/scan/new_olap_scanner.cpp +++ b/be/src/vec/exec/scan/new_olap_scanner.cpp @@ -642,6 +642,8 @@ void NewOlapScanner::_collect_profile_before_close() { stats.inverted_index_searcher_cache_hit); \ COUNTER_UPDATE(Parent->_inverted_index_searcher_cache_miss_counter, \ stats.inverted_index_searcher_cache_miss); \ + COUNTER_UPDATE(Parent->_inverted_index_downgrade_count_counter, \ + stats.inverted_index_downgrade_count); \ if (config::enable_file_cache) { \ io::FileCacheProfileReporter cache_profile(Parent->_segment_profile.get()); \ cache_profile.update(&stats.file_cache_stats); \ diff --git a/regression-test/suites/fault_injection_p0/test_index_empty_segment_fault_injection.groovy b/regression-test/suites/fault_injection_p0/test_index_empty_segment_fault_injection.groovy new file mode 100644 index 00000000000000..ad50e17f7f7716 --- /dev/null +++ b/regression-test/suites/fault_injection_p0/test_index_empty_segment_fault_injection.groovy @@ -0,0 +1,62 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_index_empty_segment_fault_injection", "nonConcurrent") { + // define a sql table + def indexTbName = "test_index_empty_segment_fault_injection" + + sql "DROP TABLE IF EXISTS ${indexTbName}" + sql """ + CREATE TABLE ${indexTbName} ( + `@timestamp` int(11) NULL COMMENT "", + `clientip` varchar(20) NULL COMMENT "", + `request` text NULL COMMENT "", + `status` int(11) NULL COMMENT "", + `size` int(11) NULL COMMENT "", + INDEX clientip_idx (`clientip`) USING INVERTED COMMENT '', + INDEX request_idx (`request`) USING INVERTED PROPERTIES("parser" = "english", "support_phrase" = "true") COMMENT '', + INDEX status_idx (`status`) USING INVERTED COMMENT '' + ) ENGINE=OLAP + DUPLICATE KEY(`@timestamp`) + COMMENT "OLAP" + DISTRIBUTED BY RANDOM BUCKETS 1 + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1", + "disable_auto_compaction" = "true" + ); + """ + + try { + GetDebugPoint().enableDebugPointForAllBEs("inverted_index_writer.add_document") + + sql """ INSERT INTO ${indexTbName} VALUES (893964617, '40.135.0.0', 'GET /images/hm_bg.jpg HTTP/1.0', 200, 24736); """ + + sql "sync" + + sql """ set enable_common_expr_pushdown = true; """ + sql """ set enable_match_without_inverted_index = false; """ + + try { + sql """ select * from ${indexTbName} where request match 'hm'; """ + } catch (Exception e) { + logger.error("SQL execution failed: " + e.getMessage()) + assertTrue(e.getMessage().contains("execute_match")) + } + } finally { + GetDebugPoint().disableDebugPointForAllBEs("inverted_index_writer.add_document") + } +} \ No newline at end of file From 922ec3a4302cb856ff9a45932309ef2432d9ffb8 Mon Sep 17 00:00:00 2001 From: Calvin Kirs Date: Fri, 6 Sep 2024 12:31:00 +0800 Subject: [PATCH 100/199] [Fix](hdfs-fs)The cache expiration should explicitly release the held fs (#38610) ## Proposed changes The RemoteFSPhantomManager class is responsible for managing phantom references of RemoteFileSystem objects, ensuring that the associated FileSystem resources are automatically cleaned up when RemoteFileSystem objects are garbage collected. Key features: - Phantom Reference Monitoring: The class uses a ReferenceQueue and PhantomReference to track RemoteFileSystem objects. When these objects are no longer in use and garbage collected, the class ensures the corresponding FileSystem resources are properly closed to prevent resource leaks. - Thread-safe Cleanup: It provides a thread-safe mechanism to start a cleanup thread only once. This thread runs periodically, checking the ReferenceQueue and closing any unused FileSystem resources. Resource Management: The class maintains a map between phantom references and their corresponding FileSystem objects, ensuring that these resources are cleaned up appropriately. - The cleanup thread runs at regular intervals, ensuring that any RemoteFileSystem object that is no longer in use is safely removed along with its associated FileSystem resources. --- .../fs/remote/RemoteFSPhantomManager.java | 117 ++++++++++++++++++ .../doris/fs/remote/RemoteFileSystem.java | 21 +++- .../RemoteFileSystemPhantomReference.java | 44 +++++++ .../apache/doris/fs/remote/S3FileSystem.java | 8 ++ .../doris/fs/remote/dfs/DFSFileSystem.java | 8 ++ 5 files changed, 197 insertions(+), 1 deletion(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFSPhantomManager.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFileSystemPhantomReference.java diff --git a/fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFSPhantomManager.java b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFSPhantomManager.java new file mode 100644 index 00000000000000..282361c4cb63b0 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFSPhantomManager.java @@ -0,0 +1,117 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.fs.remote; + +import org.apache.doris.common.CustomThreadFactory; + +import org.apache.hadoop.fs.FileSystem; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.IOException; +import java.lang.ref.PhantomReference; +import java.lang.ref.Reference; +import java.lang.ref.ReferenceQueue; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; + +/** + * The RemoteFSPhantomManager class is responsible for managing the phantom references + * of RemoteFileSystem objects. It ensures that the associated FileSystem resources are + * automatically cleaned up when the RemoteFileSystem objects are garbage collected. + *

+ * By utilizing a ReferenceQueue and PhantomReference, this class can monitor the lifecycle + * of RemoteFileSystem objects. When a RemoteFileSystem object is no longer in use and is + * garbage collected, its corresponding FileSystem resource is properly closed to prevent + * resource leaks. + *

+ * The class provides a thread-safe mechanism to ensure that the cleanup thread is started only once. + *

+ * Main functionalities include: + * - Registering phantom references of RemoteFileSystem objects. + * - Starting a periodic cleanup thread that automatically closes unused FileSystem resources. + */ +public class RemoteFSPhantomManager { + + private static final Logger LOG = LogManager.getLogger(RemoteFSPhantomManager.class); + + // Scheduled executor for periodic resource cleanup + private static ScheduledExecutorService cleanupExecutor; + + // Reference queue for monitoring RemoteFileSystem objects' phantom references + private static final ReferenceQueue referenceQueue = new ReferenceQueue<>(); + + // Map storing the phantom references and their corresponding FileSystem objects + private static final ConcurrentHashMap, FileSystem> referenceMap + = new ConcurrentHashMap<>(); + + // Flag indicating whether the cleanup thread has been started + private static final AtomicBoolean isStarted = new AtomicBoolean(false); + + /** + * Registers a phantom reference for a RemoteFileSystem object in the manager. + * If the cleanup thread has not been started, it will be started. + * + * @param remoteFileSystem the RemoteFileSystem object to be registered + */ + public static void registerPhantomReference(RemoteFileSystem remoteFileSystem) { + if (!isStarted.get()) { + start(); + isStarted.set(true); + } + RemoteFileSystemPhantomReference phantomReference = new RemoteFileSystemPhantomReference(remoteFileSystem, + referenceQueue); + referenceMap.put(phantomReference, remoteFileSystem.dfsFileSystem); + } + + /** + * Starts the cleanup thread, which periodically checks and cleans up unused FileSystem resources. + * The method uses double-checked locking to ensure thread-safe startup of the cleanup thread. + */ + public static void start() { + if (isStarted.compareAndSet(false, true)) { + synchronized (RemoteFSPhantomManager.class) { + LOG.info("Starting cleanup thread for RemoteFileSystem objects"); + if (cleanupExecutor == null) { + CustomThreadFactory threadFactory = new CustomThreadFactory("remote-fs-phantom-cleanup"); + cleanupExecutor = Executors.newScheduledThreadPool(1, threadFactory); + cleanupExecutor.scheduleAtFixedRate(() -> { + Reference ref; + while ((ref = referenceQueue.poll()) != null) { + RemoteFileSystemPhantomReference phantomRef = (RemoteFileSystemPhantomReference) ref; + + FileSystem fs = referenceMap.remove(phantomRef); + if (fs != null) { + try { + fs.close(); + LOG.info("Closed file system: {}", fs.getUri()); + } catch (IOException e) { + LOG.warn("Failed to close file system", e); + } + } + } + }, 0, 1, TimeUnit.MINUTES); + } + } + } + } + +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFileSystem.java b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFileSystem.java index 3cb8a036c2d5f1..08b7e1cde78bef 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFileSystem.java +++ b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFileSystem.java @@ -30,15 +30,20 @@ import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.RemoteIterator; +import java.io.Closeable; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; import java.util.List; import java.util.Set; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.locks.ReentrantLock; -public abstract class RemoteFileSystem extends PersistentFileSystem { +public abstract class RemoteFileSystem extends PersistentFileSystem implements Closeable { // this field will be visited by multi-threads, better use volatile qualifier protected volatile org.apache.hadoop.fs.FileSystem dfsFileSystem = null; + private final ReentrantLock fsLock = new ReentrantLock(); + protected static final AtomicBoolean closed = new AtomicBoolean(false); public RemoteFileSystem(String name, StorageBackend.StorageType type) { super(name, type); @@ -120,4 +125,18 @@ public Status renameDir(String origFilePath, return rename(origFilePath, destFilePath); } + + @Override + public void close() throws IOException { + fsLock.lock(); + try { + if (!closed.getAndSet(true)) { + if (dfsFileSystem != null) { + dfsFileSystem.close(); + } + } + } finally { + fsLock.unlock(); + } + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFileSystemPhantomReference.java b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFileSystemPhantomReference.java new file mode 100644 index 00000000000000..89506c7b212242 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/RemoteFileSystemPhantomReference.java @@ -0,0 +1,44 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.fs.remote; + +import org.apache.hadoop.fs.FileSystem; + +import java.lang.ref.PhantomReference; +import java.lang.ref.ReferenceQueue; + +public class RemoteFileSystemPhantomReference extends PhantomReference { + + private FileSystem fs; + + /** + * Creates a new phantom reference that refers to the given object and + * is registered with the given queue. + * + *

It is possible to create a phantom reference with a {@code null} + * queue. Such a reference will never be enqueued. + * + * @param referent the object the new phantom reference will refer to + * @param q the queue with which the reference is to be registered, + * or {@code null} if registration is not required + */ + public RemoteFileSystemPhantomReference(RemoteFileSystem referent, ReferenceQueue q) { + super(referent, q); + this.fs = referent.dfsFileSystem; + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/fs/remote/S3FileSystem.java b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/S3FileSystem.java index 525d80d6797b35..87ba086baecbf1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/fs/remote/S3FileSystem.java +++ b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/S3FileSystem.java @@ -58,8 +58,15 @@ private void initFsProperties() { @Override protected FileSystem nativeFileSystem(String remotePath) throws UserException { + //todo Extracting a common method to achieve logic reuse + if (closed.get()) { + throw new UserException("FileSystem is closed."); + } if (dfsFileSystem == null) { synchronized (this) { + if (closed.get()) { + throw new UserException("FileSystem is closed."); + } if (dfsFileSystem == null) { Configuration conf = DFSFileSystem.getHdfsConf(ifNotSetFallbackToSimpleAuth()); System.setProperty("com.amazonaws.services.s3.enableV4", "true"); @@ -72,6 +79,7 @@ protected FileSystem nativeFileSystem(String remotePath) throws UserException { } catch (Exception e) { throw new UserException("Failed to get S3 FileSystem for " + e.getMessage(), e); } + RemoteFSPhantomManager.registerPhantomReference(this); } } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/fs/remote/dfs/DFSFileSystem.java b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/dfs/DFSFileSystem.java index 59fbd73bda78cf..7034641a9fc128 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/fs/remote/dfs/DFSFileSystem.java +++ b/fe/fe-core/src/main/java/org/apache/doris/fs/remote/dfs/DFSFileSystem.java @@ -26,6 +26,7 @@ import org.apache.doris.fs.operations.HDFSFileOperations; import org.apache.doris.fs.operations.HDFSOpParams; import org.apache.doris.fs.operations.OpParams; +import org.apache.doris.fs.remote.RemoteFSPhantomManager; import org.apache.doris.fs.remote.RemoteFile; import org.apache.doris.fs.remote.RemoteFileSystem; @@ -75,8 +76,14 @@ public DFSFileSystem(StorageBackend.StorageType type, Map proper @VisibleForTesting @Override public FileSystem nativeFileSystem(String remotePath) throws UserException { + if (closed.get()) { + throw new UserException("FileSystem is closed."); + } if (dfsFileSystem == null) { synchronized (this) { + if (closed.get()) { + throw new UserException("FileSystem is closed."); + } if (dfsFileSystem == null) { Configuration conf = getHdfsConf(ifNotSetFallbackToSimpleAuth()); for (Map.Entry propEntry : properties.entrySet()) { @@ -96,6 +103,7 @@ public FileSystem nativeFileSystem(String remotePath) throws UserException { throw new UserException(e); } operations = new HDFSFileOperations(dfsFileSystem); + RemoteFSPhantomManager.registerPhantomReference(this); } } } From 25f85ce1b0920cb94338d6d0d4675ba8816fcf57 Mon Sep 17 00:00:00 2001 From: Pxl Date: Fri, 6 Sep 2024 16:22:34 +0800 Subject: [PATCH 101/199] [Chore](agg-state) modify be exec version comments and catch exception on memtable insert (#40465) ## Proposed changes modify be exec version comments and catch exception on memtable insert --- be/src/agent/be_exec_version_manager.cpp | 4 ++-- be/src/agent/be_exec_version_manager.h | 3 +-- be/src/olap/memtable.cpp | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/be/src/agent/be_exec_version_manager.cpp b/be/src/agent/be_exec_version_manager.cpp index 13edb1e5bc291c..32cbe569892e6a 100644 --- a/be/src/agent/be_exec_version_manager.cpp +++ b/be/src/agent/be_exec_version_manager.cpp @@ -69,7 +69,7 @@ void BeExecVersionManager::check_agg_state_compatibility(int current_be_exec_ver * 3: start from doris 2.0.0 (by some mistakes) * a. aggregation function do not serialize bitmap to string. * b. support window funnel mode. - * 4: start from doris 2.1.0 + * 4/5: start from doris 2.1.0 * a. ignore this line, window funnel mode should be enabled from 2.0. * b. array contains/position/countequal function return nullable in less situations. * c. cleared old version of Version 2. @@ -79,7 +79,7 @@ void BeExecVersionManager::check_agg_state_compatibility(int current_be_exec_ver * g. do local merge of remote runtime filter * h. "now": ALWAYS_NOT_NULLABLE -> DEPEND_ON_ARGUMENTS * - * 5: start from doris 3.0.0 + * 7: start from doris 3.0.0 * a. change the impl of percentile (need fix) * b. clear old version of version 3->4 * c. change FunctionIsIPAddressInRange from AlwaysNotNullable to DependOnArguments diff --git a/be/src/agent/be_exec_version_manager.h b/be/src/agent/be_exec_version_manager.h index 34cdbbb4b744f5..16092197a3aa10 100644 --- a/be/src/agent/be_exec_version_manager.h +++ b/be/src/agent/be_exec_version_manager.h @@ -25,14 +25,13 @@ namespace doris { -/// functional constexpr inline int BITMAP_SERDE = 3; constexpr inline int USE_NEW_SERDE = 4; // release on DORIS version 2.1 constexpr inline int OLD_WAL_SERDE = 3; // use to solve compatibility issues, see pr #32299 constexpr inline int AGG_FUNCTION_NULLABLE = 5; // change some agg nullable property: PR #37215 constexpr inline int VARIANT_SERDE = 6; // change variant serde to fix PR #38413 constexpr inline int AGGREGATION_2_1_VERSION = - 4; // some aggregation changed the data format after this version + 5; // some aggregation changed the data format after this version class BeExecVersionManager { public: diff --git a/be/src/olap/memtable.cpp b/be/src/olap/memtable.cpp index 138b907684c039..4f66a361650875 100644 --- a/be/src/olap/memtable.cpp +++ b/be/src/olap/memtable.cpp @@ -190,7 +190,7 @@ Status MemTable::insert(const vectorized::Block* input_block, if (_keys_type != KeysType::DUP_KEYS) { // there may be additional intermediate columns in input_block // we only need columns indicated by column offset in the output - _init_agg_functions(&clone_block); + RETURN_IF_CATCH_EXCEPTION(_init_agg_functions(&clone_block)); } if (_tablet_schema->has_sequence_col()) { if (_is_partial_update) { From 9908a1828411e330a33640d75639d7ac2e6039a4 Mon Sep 17 00:00:00 2001 From: Socrates Date: Fri, 6 Sep 2024 16:26:28 +0800 Subject: [PATCH 102/199] [fix](decompressor) impl ZstdDecompressor (#40315) Impl ZstdDecompressor and support read hive text table which is compressed by zstd. --- be/src/exec/decompressor.cpp | 50 ++++++ be/src/exec/decompressor.h | 32 +++- .../write/test_hive_text_write_insert.out | 164 ++++++++++++++++++ .../write/test_hive_text_write_insert.groovy | 3 +- 4 files changed, 246 insertions(+), 3 deletions(-) diff --git a/be/src/exec/decompressor.cpp b/be/src/exec/decompressor.cpp index a830eb3cbe70b5..9365bb00288db1 100644 --- a/be/src/exec/decompressor.cpp +++ b/be/src/exec/decompressor.cpp @@ -44,6 +44,9 @@ Status Decompressor::create_decompressor(CompressType type, case CompressType::BZIP2: decompressor->reset(new Bzip2Decompressor()); break; + case CompressType::ZSTD: + decompressor->reset(new ZstdDecompressor()); + break; case CompressType::LZ4FRAME: decompressor->reset(new Lz4FrameDecompressor()); break; @@ -86,6 +89,9 @@ Status Decompressor::create_decompressor(TFileCompressType::type type, case TFileCompressType::BZ2: compress_type = CompressType::BZIP2; break; + case TFileCompressType::ZSTD: + compress_type = CompressType::ZSTD; + break; case TFileCompressType::LZ4FRAME: compress_type = CompressType::LZ4FRAME; break; @@ -300,6 +306,50 @@ std::string Bzip2Decompressor::debug_info() { return ss.str(); } +ZstdDecompressor::~ZstdDecompressor() { + ZSTD_freeDStream(_zstd_strm); +} + +Status ZstdDecompressor::init() { + _zstd_strm = ZSTD_createDStream(); + if (!_zstd_strm) { + std::stringstream ss; + return Status::InternalError("ZSTD_dctx creation error"); + } + auto ret = ZSTD_initDStream(_zstd_strm); + if (ZSTD_isError(ret)) { + return Status::InternalError("ZSTD_initDStream error: {}", ZSTD_getErrorName(ret)); + } + return Status::OK(); +} + +Status ZstdDecompressor::decompress(uint8_t* input, size_t input_len, size_t* input_bytes_read, + uint8_t* output, size_t output_max_len, + size_t* decompressed_len, bool* stream_end, + size_t* more_input_bytes, size_t* more_output_bytes) { + // 1. set input and output + ZSTD_inBuffer inputBuffer = {input, input_len, 0}; + ZSTD_outBuffer outputBuffer = {output, output_max_len, 0}; + + // decompress + int ret = ZSTD_decompressStream(_zstd_strm, &outputBuffer, &inputBuffer); + *input_bytes_read = inputBuffer.pos; + *decompressed_len = outputBuffer.pos; + + if (ZSTD_isError(ret)) { + return Status::InternalError("Failed to zstd decompress: {}", ZSTD_getErrorName(ret)); + } + + *stream_end = ret == 0; + return Status::OK(); +} + +std::string ZstdDecompressor::debug_info() { + std::stringstream ss; + ss << "ZstdDecompressor."; + return ss.str(); +} + // Lz4Frame // Lz4 version: 1.7.5 // define LZ4F_VERSION = 100 diff --git a/be/src/exec/decompressor.h b/be/src/exec/decompressor.h index 4ca7fbdf6d794b..bb7cd7c9fbfe85 100644 --- a/be/src/exec/decompressor.h +++ b/be/src/exec/decompressor.h @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -34,7 +35,17 @@ namespace doris { -enum CompressType { UNCOMPRESSED, GZIP, DEFLATE, BZIP2, LZ4FRAME, LZOP, LZ4BLOCK, SNAPPYBLOCK }; +enum CompressType { + UNCOMPRESSED, + GZIP, + DEFLATE, + BZIP2, + ZSTD, + LZ4FRAME, + LZOP, + LZ4BLOCK, + SNAPPYBLOCK +}; class Decompressor { public: @@ -126,6 +137,25 @@ class Bzip2Decompressor : public Decompressor { bz_stream _bz_strm; }; +class ZstdDecompressor : public Decompressor { +public: + ~ZstdDecompressor() override; + + Status decompress(uint8_t* input, size_t input_len, size_t* input_bytes_read, uint8_t* output, + size_t output_max_len, size_t* decompressed_len, bool* stream_end, + size_t* more_input_bytes, size_t* more_output_bytes) override; + + std::string debug_info() override; + +private: + friend class Decompressor; + ZstdDecompressor() : Decompressor(CompressType::ZSTD) {} + Status init() override; + +private: + ZSTD_DStream* _zstd_strm {nullptr}; +}; + class Lz4FrameDecompressor : public Decompressor { public: ~Lz4FrameDecompressor() override; diff --git a/regression-test/data/external_table_p0/hive/write/test_hive_text_write_insert.out b/regression-test/data/external_table_p0/hive/write/test_hive_text_write_insert.out index dd961cf3dd7718..dbbbdd9974a4a3 100644 --- a/regression-test/data/external_table_p0/hive/write/test_hive_text_write_insert.out +++ b/regression-test/data/external_table_p0/hive/write/test_hive_text_write_insert.out @@ -655,3 +655,167 @@ false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -12345678 true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +-- !q01 -- +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q02 -- +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123457 2024-03-21T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q03 -- +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123457 2024-03-21T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q04 -- +false -7 -15 16 -9223372036854775808 -123.45 -123456.789 123456789 -1234.5678 -123456.789012 -123456789.012345678901 str binary_value 2024-03-25 2024-03-25T12:00 2024-03-25T12:00:00.123457 2024-03-25T12:00:00.123457 char_value11111 char_value22222 char_value33333 varchar_value11111 varchar_value22222 varchar_value33333 {"key7":"value1"} {"key7":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {5.3456:2.3456} {5.34567890:2.34567890} {2.34567890:2.34567890} {7.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [9.4567, 4.5678] [6.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240325 + +-- !q05 -- +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N 20240321 + +-- !q01 -- +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123456 2024-03-22T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q02 -- +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123456 2024-03-22T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123456 2024-03-22T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q03 -- +\N \N \N \N \N -123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {2:20} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [3.4567, 4.5678] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +\N \N \N \N \N -123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {3:20} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [8.4567, 4.5678] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123456 2024-03-22T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123456 2024-03-22T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q04 -- +\N \N \N \N \N -123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {2:20} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [3.4567, 4.5678] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +\N \N \N \N \N -123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {3:20} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [8.4567, 4.5678] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N + +-- !q01 -- +12288 + +-- !q01 -- +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q02 -- +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123457 2024-03-21T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q03 -- +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123457 2024-03-21T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q04 -- +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +false -7 -15 16 -9223372036854775808 -123.45 -123456.789 123456789 -1234.5678 -123456.789012 -123456789.012345678901 str binary_value 2024-03-25 2024-03-25T12:00 2024-03-25T12:00:00.123457 2024-03-25T12:00:00.123457 char_value11111 char_value22222 char_value33333 varchar_value11111 varchar_value22222 varchar_value33333 {"key7":"value1"} {"key7":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {5.3456:2.3456} {5.34567890:2.34567890} {2.34567890:2.34567890} {7.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [9.4567, 4.5678] [6.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240321 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q05 -- +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q01 -- +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q02 -- +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123457 2024-03-21T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q03 -- +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123457 2024-03-21T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q04 -- +false -7 -15 16 -9223372036854775808 -123.45 -123456.789 123456789 -1234.5678 -123456.789012 -123456789.012345678901 str binary_value 2024-03-25 2024-03-25T12:00 2024-03-25T12:00:00.123457 2024-03-25T12:00:00.123457 char_value11111 char_value22222 char_value33333 varchar_value11111 varchar_value22222 varchar_value33333 {"key7":"value1"} {"key7":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {5.3456:2.3456} {5.34567890:2.34567890} {2.34567890:2.34567890} {7.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [9.4567, 4.5678] [6.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240325 + +-- !q05 -- +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N 20240321 + +-- !q01 -- +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123456 2024-03-22T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q02 -- +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123456 2024-03-22T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123456 2024-03-22T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q03 -- +\N \N \N \N \N -123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {2:20} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [3.4567, 4.5678] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +\N \N \N \N \N -123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {3:20} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [8.4567, 4.5678] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123456 2024-03-22T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123456 2024-03-22T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q04 -- +\N \N \N \N \N -123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {2:20} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [3.4567, 4.5678] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +\N \N \N \N \N -123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {3:20} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [8.4567, 4.5678] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N \N + +-- !q01 -- +12288 + +-- !q01 -- +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q02 -- +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123457 2024-03-21T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q03 -- +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123457 2024-03-21T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} {2.2:2.2} {2.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {2.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q04 -- +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +false -7 -15 16 -9223372036854775808 -123.45 -123456.789 123456789 -1234.5678 -123456.789012 -123456789.012345678901 str binary_value 2024-03-25 2024-03-25T12:00 2024-03-25T12:00:00.123457 2024-03-25T12:00:00.123457 char_value11111 char_value22222 char_value33333 varchar_value11111 varchar_value22222 varchar_value33333 {"key7":"value1"} {"key7":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {5.3456:2.3456} {5.34567890:2.34567890} {2.34567890:2.34567890} {7.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [9.4567, 4.5678] [6.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240321 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + +-- !q05 -- +\N \N \N \N \N 123.45 \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N {1:10} \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N \N [1.2345, 2.3456] \N \N \N \N \N \N \N \N \N \N [null, "value1", "value2"] \N \N \N 20240321 +false -128 -32768 -2147483648 -9223372036854775808 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345678901 string_value binary_value 2024-03-22 2024-03-22T12:00 2024-03-22T12:00:00.123457 2024-03-22T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} {3.2:2.2} {3.34:2.34} {2.3456:2.3456} {2.34567890:2.34567890} {2.34567890:2.34567890} {3.3456789012345679:2.3456789012345679} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [8.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456789, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] [null, null, null] 20240322 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 +true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345678901 string_value binary_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123457 2024-03-20T12:00:00.123457 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} {1.1:1.1} {1.23:1.23} {1.2345:1.2345} {1.23456789:1.23456789} {1.23456789:1.23456789} {1.2345678901234568:1.2345678901234568} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234568, 2.3456789012345679] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_field_null":null, "struct_field_null2":null} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} {"null_key":null} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] [null, null, null] 20240320 + diff --git a/regression-test/suites/external_table_p0/hive/write/test_hive_text_write_insert.groovy b/regression-test/suites/external_table_p0/hive/write/test_hive_text_write_insert.groovy index 8eeecad69c0988..10f63f0036dd1a 100644 --- a/regression-test/suites/external_table_p0/hive/write/test_hive_text_write_insert.groovy +++ b/regression-test/suites/external_table_p0/hive/write/test_hive_text_write_insert.groovy @@ -901,8 +901,7 @@ suite("test_hive_text_write_insert", "p0,external,hive,external_docker,external_ sql """set enable_fallback_to_original_planner=false;""" - // TODO: not support read zstd now - def format_compressions = ["gzip", "bzip2", "snappy", "lz4"] + def format_compressions = ["gzip", "bzip2", "zstd", "snappy", "lz4"] for (String format_compression in format_compressions) { logger.info("set hive_text_compression = " + format_compression) From e630cc923d563ea2daff5194e04474121cd4fcd7 Mon Sep 17 00:00:00 2001 From: wuwenchi Date: Fri, 6 Sep 2024 16:27:13 +0800 Subject: [PATCH 103/199] [bugfix](hms)add default value check for hms catalog with dlf (#40336) ## Proposed changes 1. `dlf` is not supported default values, so throw an exception. 2. The database name needs to be case-insensitive and consistent with hive 3. Improve error message prompt information --- .../org/apache/doris/common/util/Util.java | 7 ++- .../datasource/hive/HiveMetadataOps.java | 13 ++++- .../hive/ddl/test_hive_database.groovy | 54 +++++++++++++++++++ 3 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 regression-test/suites/external_table_p0/hive/ddl/test_hive_database.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/util/Util.java b/fe/fe-core/src/main/java/org/apache/doris/common/util/Util.java index 043e91ef9f2ed6..326f77f178cc2f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/util/Util.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/Util.java @@ -647,7 +647,12 @@ public static String getRootCauseMessage(Throwable t) { String rootCause = "unknown"; Throwable p = t; while (p != null) { - rootCause = p.getClass().getName() + ": " + p.getMessage(); + String message = p.getMessage(); + if (message == null) { + rootCause = p.getClass().getName(); + } else { + rootCause = p.getClass().getName() + ": " + p.getMessage(); + } p = p.getCause(); } return rootCause; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetadataOps.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetadataOps.java index e855affc31a9de..5ec49c380b7a38 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetadataOps.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetadataOps.java @@ -24,6 +24,7 @@ import org.apache.doris.analysis.DropTableStmt; import org.apache.doris.analysis.HashDistributionDesc; import org.apache.doris.analysis.PartitionDesc; +import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.JdbcResource; import org.apache.doris.catalog.PartitionType; @@ -38,6 +39,7 @@ import org.apache.doris.datasource.jdbc.client.JdbcClient; import org.apache.doris.datasource.jdbc.client.JdbcClientConfig; import org.apache.doris.datasource.operations.ExternalMetadataOps; +import org.apache.doris.datasource.property.constants.HMSProperties; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; @@ -192,6 +194,15 @@ public boolean createTable(CreateTableStmt stmt) throws UserException { } } + Map properties = catalog.getProperties(); + if (properties.containsKey(HMSProperties.HIVE_METASTORE_TYPE) + && properties.get(HMSProperties.HIVE_METASTORE_TYPE).equals(HMSProperties.DLF_TYPE)) { + for (Column column : stmt.getColumns()) { + if (column.hasDefaultValue()) { + throw new UserException("Default values are not supported with `DLF` catalog."); + } + } + } String comment = stmt.getComment(); Optional location = Optional.ofNullable(props.getOrDefault(LOCATION_URI_KEY, null)); HiveTableMetadata hiveTableMeta; @@ -285,7 +296,7 @@ public boolean tableExist(String dbName, String tblName) { @Override public boolean databaseExist(String dbName) { - return listDatabaseNames().contains(dbName); + return listDatabaseNames().contains(dbName.toLowerCase()); } @Override diff --git a/regression-test/suites/external_table_p0/hive/ddl/test_hive_database.groovy b/regression-test/suites/external_table_p0/hive/ddl/test_hive_database.groovy new file mode 100644 index 00000000000000..efa92dac8da229 --- /dev/null +++ b/regression-test/suites/external_table_p0/hive/ddl/test_hive_database.groovy @@ -0,0 +1,54 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_hive_database", "p0,external,hive,external_docker,external_docker_hive") { + String enabled = context.config.otherConfigs.get("enableHiveTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + String hms_port = context.config.otherConfigs.get("hive2HmsPort") + String hdfs_port = context.config.otherConfigs.get("hive2HdfsPort") + String catalog_name = "test_hive_database" + String prefix = catalog_name + + sql """drop catalog if exists ${catalog_name};""" + + sql """ + create catalog if not exists ${catalog_name} properties ( + 'type'='hms', + 'hive.metastore.uris' = 'thrift://${externalEnvIp}:${hms_port}', + 'fs.defaultFS' = 'hdfs://${externalEnvIp}:${hdfs_port}', + 'use_meta_cache' = 'true' + ); + """ + + // Database names are case insensitive + logger.info("catalog " + catalog_name + " created") + sql """switch ${catalog_name};""" + logger.info("switched to catalog " + catalog_name) + + sql """ drop database if exists ${prefix}_db1 """ + sql """ create database ${prefix}_Db1 """ + def ret1 = sql """ show databases """ + assertTrue(ret1.toString().contains("${prefix}_db1")) + + test { + sql """ create database ${prefix}_dB1 """ + exception "database exists" + } + sql """ drop database if exists ${prefix}_db1 """ + } +} From 81fe386df7ebf19145c5178f744238660b5159a1 Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Fri, 6 Sep 2024 16:30:53 +0800 Subject: [PATCH 104/199] [feature](Nereids) support query on ES table in internal catalog (#40449) --- .../translator/PhysicalPlanTranslator.java | 6 +- .../nereids/rules/analysis/BindRelation.java | 11 +-- .../trees/plans/logical/LogicalEsScan.java | 21 ++---- .../trees/plans/physical/PhysicalEsScan.java | 11 +-- .../doris/planner/StatisticDeriveTest.java | 27 -------- .../test_push_conjunct_external_table.groovy | 67 ------------------- 6 files changed, 16 insertions(+), 127 deletions(-) delete mode 100644 regression-test/suites/correctness_p0/test_push_conjunct_external_table.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java index 1201bc6e32cc72..2a34bc3ca91dd2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java @@ -48,6 +48,7 @@ import org.apache.doris.catalog.Type; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.FileQueryScanNode; +import org.apache.doris.datasource.es.EsExternalTable; import org.apache.doris.datasource.es.source.EsScanNode; import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.hive.HMSExternalTable.DLAType; @@ -637,9 +638,10 @@ public PlanFragment visitPhysicalEmptyRelation(PhysicalEmptyRelation emptyRelati @Override public PlanFragment visitPhysicalEsScan(PhysicalEsScan esScan, PlanTranslatorContext context) { List slots = esScan.getOutput(); - ExternalTable table = esScan.getTable(); + TableIf table = esScan.getTable(); TupleDescriptor tupleDescriptor = generateTupleDesc(slots, table, context); - EsScanNode esScanNode = new EsScanNode(context.nextPlanNodeId(), tupleDescriptor, true); + EsScanNode esScanNode = new EsScanNode(context.nextPlanNodeId(), tupleDescriptor, + table instanceof EsExternalTable); esScanNode.setNereidsId(esScan.getId()); esScanNode.addConjuncts(translateToLegacyConjuncts(esScan.getConjuncts())); Utils.execWithUncheckedException(esScanNode::init); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java index 78836af3620893..cedc4e92ff1cb3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java @@ -26,7 +26,6 @@ import org.apache.doris.common.Pair; import org.apache.doris.common.util.Util; import org.apache.doris.datasource.ExternalTable; -import org.apache.doris.datasource.es.EsExternalTable; import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.hive.HMSExternalTable.DLAType; import org.apache.doris.nereids.CTEContext; @@ -303,17 +302,11 @@ private LogicalPlan getLogicalPlan(TableIf table, UnboundRelation unboundRelatio case ODBC: return new LogicalOdbcScan(unboundRelation.getRelationId(), table, qualifierWithoutTableName); case ES_EXTERNAL_TABLE: - return new LogicalEsScan(unboundRelation.getRelationId(), (EsExternalTable) table, - qualifierWithoutTableName); + case ELASTICSEARCH: + return new LogicalEsScan(unboundRelation.getRelationId(), table, qualifierWithoutTableName); case TEST_EXTERNAL_TABLE: return new LogicalTestScan(unboundRelation.getRelationId(), table, qualifierWithoutTableName); default: - try { - // TODO: support other type table, such as ELASTICSEARCH - cascadesContext.getConnectContext().getSessionVariable().enableFallbackToOriginalPlannerOnce(); - } catch (Exception e) { - // ignore - } throw new AnalysisException("Unsupported tableType " + table.getType()); } } finally { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java index ea278aa203c438..589546944224ec 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalEsScan.java @@ -17,7 +17,7 @@ package org.apache.doris.nereids.trees.plans.logical; -import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.catalog.TableIf; import org.apache.doris.nereids.memo.GroupExpression; import org.apache.doris.nereids.properties.LogicalProperties; import org.apache.doris.nereids.trees.expressions.Expression; @@ -27,7 +27,6 @@ import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor; import org.apache.doris.nereids.util.Utils; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import java.util.List; @@ -42,22 +41,16 @@ public class LogicalEsScan extends LogicalExternalRelation { /** * Constructor for LogicalEsScan. */ - public LogicalEsScan(RelationId id, ExternalTable table, List qualifier, + public LogicalEsScan(RelationId id, TableIf table, List qualifier, Optional groupExpression, Optional logicalProperties, Set conjuncts) { super(id, PlanType.LOGICAL_ES_SCAN, table, qualifier, conjuncts, groupExpression, logicalProperties); } - public LogicalEsScan(RelationId id, ExternalTable table, List qualifier) { + public LogicalEsScan(RelationId id, TableIf table, List qualifier) { this(id, table, qualifier, Optional.empty(), Optional.empty(), ImmutableSet.of()); } - @Override - public ExternalTable getTable() { - Preconditions.checkArgument(table instanceof ExternalTable); - return (ExternalTable) table; - } - @Override public String toString() { return Utils.toSqlString("LogicalEsScan", @@ -68,26 +61,26 @@ public String toString() { @Override public LogicalEsScan withGroupExpression(Optional groupExpression) { - return new LogicalEsScan(relationId, (ExternalTable) table, qualifier, groupExpression, + return new LogicalEsScan(relationId, table, qualifier, groupExpression, Optional.of(getLogicalProperties()), conjuncts); } @Override public Plan withGroupExprLogicalPropChildren(Optional groupExpression, Optional logicalProperties, List children) { - return new LogicalEsScan(relationId, (ExternalTable) table, qualifier, groupExpression, logicalProperties, + return new LogicalEsScan(relationId, table, qualifier, groupExpression, logicalProperties, conjuncts); } @Override public LogicalEsScan withConjuncts(Set conjuncts) { - return new LogicalEsScan(relationId, (ExternalTable) table, qualifier, Optional.empty(), + return new LogicalEsScan(relationId, table, qualifier, Optional.empty(), Optional.of(getLogicalProperties()), conjuncts); } @Override public LogicalEsScan withRelationId(RelationId relationId) { - return new LogicalEsScan(relationId, (ExternalTable) table, qualifier, Optional.empty(), + return new LogicalEsScan(relationId, table, qualifier, Optional.empty(), Optional.empty(), conjuncts); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java index 2f3a399ee23624..474436f1dbb5ff 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalEsScan.java @@ -17,7 +17,7 @@ package org.apache.doris.nereids.trees.plans.physical; -import org.apache.doris.datasource.ExternalTable; +import org.apache.doris.catalog.TableIf; import org.apache.doris.nereids.memo.GroupExpression; import org.apache.doris.nereids.properties.DistributionSpec; import org.apache.doris.nereids.properties.LogicalProperties; @@ -48,7 +48,7 @@ public class PhysicalEsScan extends PhysicalCatalogRelation { /** * Constructor for PhysicalEsScan. */ - public PhysicalEsScan(RelationId id, ExternalTable table, List qualifier, + public PhysicalEsScan(RelationId id, TableIf table, List qualifier, DistributionSpec distributionSpec, Optional groupExpression, LogicalProperties logicalProperties, Set conjuncts) { super(id, PlanType.PHYSICAL_ES_SCAN, table, qualifier, groupExpression, logicalProperties); @@ -59,7 +59,7 @@ public PhysicalEsScan(RelationId id, ExternalTable table, List qualifier /** * Constructor for PhysicalEsScan. */ - public PhysicalEsScan(RelationId id, ExternalTable table, List qualifier, + public PhysicalEsScan(RelationId id, TableIf table, List qualifier, DistributionSpec distributionSpec, Optional groupExpression, LogicalProperties logicalProperties, PhysicalProperties physicalProperties, Statistics statistics, Set conjuncts) { @@ -96,11 +96,6 @@ public Plan withGroupExprLogicalPropChildren(Optional groupExpr groupExpression, logicalProperties.get(), conjuncts); } - @Override - public ExternalTable getTable() { - return (ExternalTable) table; - } - @Override public PhysicalEsScan withPhysicalPropertiesAndStats(PhysicalProperties physicalProperties, Statistics statsDeriveResult) { diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/StatisticDeriveTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/StatisticDeriveTest.java index 0771508d49a067..f66f9cb0777465 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/StatisticDeriveTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/StatisticDeriveTest.java @@ -61,18 +61,6 @@ protected void runBeforeAll() throws Exception { + " \"replication_num\" = \"1\"\n" + ");"); - createTable("create external table test.mysql_table\n" - + "(k1 int, k2 int)\n" - + "ENGINE=MYSQL\n" - + "PROPERTIES (\n" - + "\"host\" = \"127.0.0.1\",\n" - + "\"port\" = \"3306\",\n" - + "\"user\" = \"root\",\n" - + "\"password\" = \"123\",\n" - + "\"database\" = \"db1\",\n" - + "\"table\" = \"tbl1\"\n" - + ");"); - createTable("create external table test.odbc_oracle\n" + "(k1 float, k2 int)\n" + "ENGINE=ODBC\n" @@ -216,21 +204,6 @@ public void testHashJoinStatsDerive() throws Exception { assertSQLPlanOrErrorMsgContains(sql, "HASH JOIN"); } - @Test - public void testMysqlScanStatsDerive() throws Exception { - String sql = "select * from test.mysql_table"; - SessionVariable sessionVariable = connectContext.getSessionVariable(); - sessionVariable.setEnableJoinReorderBasedCost(true); - sessionVariable.setDisableJoinReorder(false); - StmtExecutor stmtExecutor = new StmtExecutor(connectContext, sql); - stmtExecutor.execute(); - Assert.assertNotNull(stmtExecutor.planner()); - Assert.assertNotNull(stmtExecutor.planner().getFragments()); - Assert.assertNotEquals(0, stmtExecutor.planner().getFragments().size()); - System.out.println(getSQLPlanOrErrorMsg("explain " + sql)); - assertSQLPlanOrErrorMsgContains(sql, "SCAN MYSQL"); - } - @Test public void testOdbcScanStatsDerive() throws Exception { String sql = "select * from test.odbc_mysql"; diff --git a/regression-test/suites/correctness_p0/test_push_conjunct_external_table.groovy b/regression-test/suites/correctness_p0/test_push_conjunct_external_table.groovy deleted file mode 100644 index 008be4f11b960d..00000000000000 --- a/regression-test/suites/correctness_p0/test_push_conjunct_external_table.groovy +++ /dev/null @@ -1,67 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one - // or more contributor license agreements. See the NOTICE file - // distributed with this work for additional information - // regarding copyright ownership. The ASF licenses this file - // to you under the Apache License, Version 2.0 (the - // "License"); you may not use this file except in compliance - // with the License. You may obtain a copy of the License at - // - // http://www.apache.org/licenses/LICENSE-2.0 - // - // Unless required by applicable law or agreed to in writing, - // software distributed under the License is distributed on an - // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - // KIND, either express or implied. See the License for the - // specific language governing permissions and limitations - // under the License. - -suite("test_push_conjunct_external_table") { - sql """ DROP TABLE IF EXISTS dim_server; """ - sql """ admin set frontend config("enable_odbc_mysql_broker_table" = "true")""" - - sql """ - CREATE EXTERNAL TABLE `dim_server` ( - `col1` varchar(50) NOT NULL, - `col2` varchar(50) NOT NULL - ) ENGINE=mysql - PROPERTIES - ( - "host" = "127.0.0.1", - "port" = "8239", - "user" = "mysql_user", - "password" = "mysql_passwd", - "database" = "mysql_db_test", - "table" = "mysql_table_test", - "charset" = "utf8mb4" - ); - """ - - sql """ - DROP view if exists ads_oreo_sid_report; - """ - - sql """ - create view ads_oreo_sid_report - ( - `col1` , - `col2` - ) - AS - select - tmp.col1,tmp.col2 - from ( - select 'abc' as col1,'def' as col2 - ) tmp - inner join dim_server ds on tmp.col1 = ds.col1 and tmp.col2 = ds.col2; - """ - - explain { - sql """select * from ads_oreo_sid_report where col1='abc' and col2='def';""" - contains "`ds`.`col1` = 'abc'" - contains "`ds`.`col2` = 'def'" - } - - sql """ DROP TABLE IF EXISTS dim_server; """ - sql """ DROP view if exists ads_oreo_sid_report; """ -} - From b15fd756771bed5bb8dfcb9e0ebabf472d1f364c Mon Sep 17 00:00:00 2001 From: zy-kkk Date: Fri, 6 Sep 2024 16:42:50 +0800 Subject: [PATCH 105/199] [fix](jdbc catalog) Fix type recognition error when using `query` tvf to query doris (#40122) Using string to match Doris type will not work with query tvf, so use field matching instead --- .../jdbc/client/JdbcMySQLClient.java | 25 +++++++++++-------- .../datasource/jdbc/util/JdbcFieldSchema.java | 13 ++++++++++ .../jdbc/test_doris_jdbc_catalog.out | 17 +++++++++++++ .../jdbc/test_doris_jdbc_catalog.groovy | 3 +++ 4 files changed, 47 insertions(+), 11 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcMySQLClient.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcMySQLClient.java index f58753bccee03d..5624392de14c39 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcMySQLClient.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcMySQLClient.java @@ -35,6 +35,7 @@ import java.sql.Statement; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.function.Consumer; @@ -174,7 +175,7 @@ protected Set getFilterInternalDatabases() { protected Type jdbcTypeToDoris(JdbcFieldSchema fieldSchema) { // For Doris type if (isDoris) { - return dorisTypeToDoris(fieldSchema.getDataTypeName().orElse("unknown").toUpperCase()); + return dorisTypeToDoris(fieldSchema); } // For mysql type: "INT UNSIGNED": // fieldSchema.getDataTypeName().orElse("unknown").split(" ")[0] == "INT" @@ -319,7 +320,8 @@ private Map getColumnsDataTypeUseQuery(String remoteDbName, Stri return fieldtoType; } - private Type dorisTypeToDoris(String type) { + private Type dorisTypeToDoris(JdbcFieldSchema fieldSchema) { + String type = fieldSchema.getDataTypeName().orElse("unknown").toUpperCase(); if (type == null || type.isEmpty()) { return Type.UNSUPPORTED; } @@ -329,7 +331,9 @@ private Type dorisTypeToDoris(String type) { // For ARRAY type if (upperType.startsWith("ARRAY")) { String innerType = upperType.substring(6, upperType.length() - 1).trim(); - Type arrayInnerType = dorisTypeToDoris(innerType); + JdbcFieldSchema innerFieldSchema = new JdbcFieldSchema(fieldSchema); + innerFieldSchema.setDataTypeName(Optional.of(innerType)); + Type arrayInnerType = dorisTypeToDoris(innerFieldSchema); return ArrayType.create(arrayInnerType, true); } @@ -356,9 +360,8 @@ private Type dorisTypeToDoris(String type) { return Type.DOUBLE; case "DECIMAL": case "DECIMALV3": { - String[] params = upperType.substring(openParen + 1, upperType.length() - 1).split(","); - int precision = Integer.parseInt(params[0].trim()); - int scale = Integer.parseInt(params[1].trim()); + int precision = fieldSchema.getColumnSize().orElse(0); + int scale = fieldSchema.getDecimalDigits().orElse(0); return createDecimalOrStringType(precision, scale); } case "DATE": @@ -374,11 +377,11 @@ private Type dorisTypeToDoris(String type) { return ScalarType.createDatetimeV2Type(scale); } case "CHAR": - case "VARCHAR": { - int length = Integer.parseInt(upperType.substring(openParen + 1, upperType.length() - 1)); - return baseType.equals("CHAR") - ? ScalarType.createCharType(length) : ScalarType.createVarcharType(length); - } + ScalarType charType = ScalarType.createType(PrimitiveType.CHAR); + charType.setLength(fieldSchema.getColumnSize().orElse(0)); + return charType; + case "VARCHAR": + return ScalarType.createVarcharType(fieldSchema.getColumnSize().orElse(0)); case "STRING": case "TEXT": case "JSON": diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/util/JdbcFieldSchema.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/util/JdbcFieldSchema.java index 735de93e9eb2ca..90850ffca21607 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/util/JdbcFieldSchema.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/util/JdbcFieldSchema.java @@ -47,6 +47,19 @@ public class JdbcFieldSchema { protected int charOctetLength; protected boolean isAllowNull; + + public JdbcFieldSchema(JdbcFieldSchema other) { + this.columnName = other.columnName; + this.dataType = other.dataType; + this.dataTypeName = other.dataTypeName; + this.columnSize = other.columnSize; + this.decimalDigits = other.decimalDigits; + this.numPrecRadix = other.numPrecRadix; + this.remarks = other.remarks; + this.charOctetLength = other.charOctetLength; + this.isAllowNull = other.isAllowNull; + } + public JdbcFieldSchema(ResultSet rs) throws SQLException { this.columnName = rs.getString("COLUMN_NAME"); this.dataType = getInteger(rs, "DATA_TYPE").orElseThrow(() -> new IllegalStateException("DATA_TYPE is null")); diff --git a/regression-test/data/external_table_p0/jdbc/test_doris_jdbc_catalog.out b/regression-test/data/external_table_p0/jdbc/test_doris_jdbc_catalog.out index aabc7c64d178a9..3fec3f8a5748f2 100644 --- a/regression-test/data/external_table_p0/jdbc/test_doris_jdbc_catalog.out +++ b/regression-test/data/external_table_p0/jdbc/test_doris_jdbc_catalog.out @@ -124,6 +124,23 @@ true 1 1 1 1 1 1.0 1.0 1.00000 1.0000000000 2021-01-01 2021-01-01T00:00 a a {"a" g1 1 2 3 4 p1 g2 1 2 3 4 p2 +-- !sql -- +bool_col tinyint Yes true \N NONE +tinyint_col tinyint Yes true \N NONE +smallint_col smallint Yes true \N NONE +int_col int Yes true \N NONE +bigint_col bigint Yes true \N NONE +largeint_col char(85) Yes true \N NONE +float_col float Yes true \N NONE +double_col double Yes true \N NONE +decimal_col decimal(10,5) Yes true \N NONE +decimal_col2 decimal(30,10) Yes true \N NONE +date_col date Yes true \N NONE +datetime_col datetime(6) Yes true \N NONE +char_col char(85) Yes true \N NONE +varchar_col char(85) Yes true \N NONE +json_col text Yes true \N NONE + -- !sql -- doris_jdbc_catalog diff --git a/regression-test/suites/external_table_p0/jdbc/test_doris_jdbc_catalog.groovy b/regression-test/suites/external_table_p0/jdbc/test_doris_jdbc_catalog.groovy index 03939c9b613a52..efdec871481f5d 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_doris_jdbc_catalog.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_doris_jdbc_catalog.groovy @@ -228,6 +228,9 @@ suite("test_doris_jdbc_catalog", "p0,external,doris,external_docker,external_doc sql """insert into test_insert_order(gameid,did,cid,bid,aid,pname) select 'g2',4,3,2,1,'p2'"""; qt_sql """select * from test_insert_order order by gameid, aid, bid, cid, did;""" + // test query tvf + qt_sql """desc function query("catalog" = "doris_jdbc_catalog", "query" = "select * from regression_test_jdbc_catalog_p0.base");""" + //clean qt_sql """select current_catalog()""" sql "switch internal" From 648c622b95c2538fc74b8ded99bad4291314859b Mon Sep 17 00:00:00 2001 From: zhiqiang Date: Fri, 6 Sep 2024 17:49:24 +0800 Subject: [PATCH 106/199] [opt](scanner profile) More counter for scanner (#40144) New profile metrics to monitor the schedule process of scanner. ``` VScanner: ... - PeakMemoryUsage: 16.31 MB - PeakRunningScanner: 1 ... ``` In general, the value of `PeakMemoryUsage` is increased when any of the scan tasks gets a block, decreased when ScanOperator consumes block from block_queue. --- be/src/pipeline/exec/scan_operator.cpp | 8 ++ be/src/pipeline/exec/scan_operator.h | 2 + be/src/vec/exec/scan/scanner_context.cpp | 49 ++++++--- be/src/vec/exec/scan/scanner_context.h | 13 ++- be/src/vec/exec/scan/scanner_scheduler.cpp | 24 +++- be/src/vec/exec/scan/vscanner.cpp | 1 + .../query_profile/scanner_profile.groovy | 104 ++++++++++++++++++ 7 files changed, 177 insertions(+), 24 deletions(-) create mode 100644 regression-test/suites/query_profile/scanner_profile.groovy diff --git a/be/src/pipeline/exec/scan_operator.cpp b/be/src/pipeline/exec/scan_operator.cpp index 73cd02b5a5dd18..0c0cfb18c77e2c 100644 --- a/be/src/pipeline/exec/scan_operator.cpp +++ b/be/src/pipeline/exec/scan_operator.cpp @@ -997,6 +997,9 @@ Status ScanLocalState::_start_scanners( _scanner_ctx = vectorized::ScannerContext::create_shared( state(), this, p._output_tuple_desc, p.output_row_descriptor(), scanners, p.limit(), state()->scan_queue_mem_limit(), _scan_dependency, + // NOTE: This will logic makes _max_thread_num of ScannerContext to be C(num of cores) * 2 + // For a query with C/2 instance and M scan node, scan task of this query will be C/2 * M * C*2 + // and will be C*C*N at most. // 1. If data distribution is ignored , we use 1 instance to scan. // 2. Else if this operator is not file scan operator, we use config::doris_scanner_thread_pool_thread_num scanners to scan. // 3. Else, file scanner will consume much memory so we use config::doris_scanner_thread_pool_thread_num / query_parallel_instance_num scanners to scan. @@ -1057,6 +1060,9 @@ Status ScanLocalState::_init_profile() { _memory_usage_counter = ADD_LABEL_COUNTER_WITH_LEVEL(_scanner_profile, "MemoryUsage", 1); _free_blocks_memory_usage = _scanner_profile->AddHighWaterMarkCounter("FreeBlocks", TUnit::BYTES, "MemoryUsage", 1); + _scanner_peak_memory_usage = + _scanner_profile->AddHighWaterMarkCounter("PeakMemoryUsage", TUnit::BYTES); + _newly_create_free_blocks_num = ADD_COUNTER(_scanner_profile, "NewlyCreateFreeBlocksNum", TUnit::UNIT); _scale_up_scanners_counter = ADD_COUNTER(_scanner_profile, "NumScaleUpScanners", TUnit::UNIT); @@ -1075,6 +1081,8 @@ Status ScanLocalState::_init_profile() { _max_scanner_thread_num = ADD_COUNTER(_runtime_profile, "MaxScannerThreadNum", TUnit::UNIT); + _peak_running_scanner = + _scanner_profile->AddHighWaterMarkCounter("PeakRunningScanner", TUnit::UNIT); return Status::OK(); } diff --git a/be/src/pipeline/exec/scan_operator.h b/be/src/pipeline/exec/scan_operator.h index defd5606f7490f..fed1e4015d82e2 100644 --- a/be/src/pipeline/exec/scan_operator.h +++ b/be/src/pipeline/exec/scan_operator.h @@ -109,6 +109,8 @@ class ScanLocalStateBase : public PipelineXLocalState<>, public RuntimeFilterCon RuntimeProfile::Counter* _newly_create_free_blocks_num = nullptr; // Max num of scanner thread RuntimeProfile::Counter* _max_scanner_thread_num = nullptr; + RuntimeProfile::HighWaterMarkCounter* _peak_running_scanner = nullptr; + RuntimeProfile::HighWaterMarkCounter* _scanner_peak_memory_usage = nullptr; // time of get block from scanner RuntimeProfile::Counter* _scan_timer = nullptr; RuntimeProfile::Counter* _scan_cpu_timer = nullptr; diff --git a/be/src/vec/exec/scan/scanner_context.cpp b/be/src/vec/exec/scan/scanner_context.cpp index bab11616c77c06..5cc20c214c103b 100644 --- a/be/src/vec/exec/scan/scanner_context.cpp +++ b/be/src/vec/exec/scan/scanner_context.cpp @@ -73,11 +73,23 @@ ScannerContext::ScannerContext( limit = -1; } MAX_SCALE_UP_RATIO = _state->scanner_scale_up_ratio(); + // _max_thread_num controls how many scanners of this ScanOperator can be submitted to scheduler at a time. + // The overall target of our system is to make full utilization of the resources. + // At the same time, we dont want too many tasks are queued by scheduler, that makes the query + // waiting too long, and existing task can not be scheduled in time. + // First of all, we try to make sure _max_thread_num of a ScanNode of a query on a single backend is less than + // config::doris_scanner_thread_pool_thread_num. + // For example, on a 64-core machine, the default value of config::doris_scanner_thread_pool_thread_num will be 64*2 =128. + // and the num_parallel_instances of this scan operator will be 64/2=32. + // For a query who has two scan nodes, the _max_thread_num of each scan node instance will be 128 / 32 = 4. + // We have 32 instances of this scan operator, so for the ScanNode, we have 4 * 32 = 128 scanner tasks can be submitted at a time. + // Remember that we have to ScanNode in this query, so the total number of scanner tasks can be submitted at a time is 128 * 2 = 256. _max_thread_num = _state->num_scanner_threads() > 0 ? _state->num_scanner_threads() : config::doris_scanner_thread_pool_thread_num / num_parallel_instances; _max_thread_num = _max_thread_num == 0 ? 1 : _max_thread_num; + // In some situation, there are not too many big tablets involed, so we can reduce the thread number. _max_thread_num = std::min(_max_thread_num, (int32_t)scanners.size()); // 1. Calculate max concurrency // For select * from table limit 10; should just use one thread. @@ -116,7 +128,6 @@ Status ScannerContext::init() { _scanner_sched_counter = _local_state->_scanner_sched_counter; _newly_create_free_blocks_num = _local_state->_newly_create_free_blocks_num; _scanner_wait_batch_timer = _local_state->_scanner_wait_batch_timer; - _free_blocks_memory_usage_mark = _local_state->_free_blocks_memory_usage; _scanner_ctx_sched_time = _local_state->_scanner_ctx_sched_time; _scale_up_scanners_counter = _local_state->_scale_up_scanners_counter; @@ -157,9 +168,11 @@ vectorized::BlockUPtr ScannerContext::get_free_block(bool force) { vectorized::BlockUPtr block = nullptr; if (_free_blocks.try_dequeue(block)) { DCHECK(block->mem_reuse()); - _free_blocks_memory_usage -= block->allocated_bytes(); - _free_blocks_memory_usage_mark->set(_free_blocks_memory_usage); - } else if (_free_blocks_memory_usage < _max_bytes_in_queue || force) { + _block_memory_usage -= block->allocated_bytes(); + // A free block is reused, so the memory usage should be decreased + // The caller of get_free_block will increase the memory usage + update_peak_memory_usage(-block->allocated_bytes()); + } else if (_block_memory_usage < _max_bytes_in_queue || force) { _newly_create_free_blocks_num->update(1); block = vectorized::Block::create_unique(_output_tuple_desc->slots(), 0, true /*ignore invalid slots*/); @@ -168,11 +181,13 @@ vectorized::BlockUPtr ScannerContext::get_free_block(bool force) { } void ScannerContext::return_free_block(vectorized::BlockUPtr block) { - if (block->mem_reuse() && _free_blocks_memory_usage < _max_bytes_in_queue) { - _free_blocks_memory_usage += block->allocated_bytes(); - _free_blocks_memory_usage_mark->set(_free_blocks_memory_usage); + if (block->mem_reuse() && _block_memory_usage < _max_bytes_in_queue) { + size_t block_size_to_reuse = block->allocated_bytes(); + _block_memory_usage += block_size_to_reuse; block->clear_column_data(); - _free_blocks.enqueue(std::move(block)); + if (_free_blocks.enqueue(std::move(block))) { + update_peak_memory_usage(block_size_to_reuse); + } } } @@ -242,8 +257,8 @@ Status ScannerContext::get_block_from_queue(RuntimeState* state, vectorized::Blo if (_estimated_block_size > block_size) { _estimated_block_size = block_size; } - _free_blocks_memory_usage -= block_size; - _free_blocks_memory_usage_mark->set(_free_blocks_memory_usage); + _block_memory_usage -= block_size; + update_peak_memory_usage(-current_block->allocated_bytes()); // consume current block block->swap(*current_block); return_free_block(std::move(current_block)); @@ -263,8 +278,7 @@ Status ScannerContext::get_block_from_queue(RuntimeState* state, vectorized::Blo for (int i = 0; i < free_blocks_for_each; ++i) { vectorized::BlockUPtr removed_block; if (_free_blocks.try_dequeue(removed_block)) { - _free_blocks_memory_usage -= block->allocated_bytes(); - _free_blocks_memory_usage_mark->set(_free_blocks_memory_usage); + _block_memory_usage -= block->allocated_bytes(); } } } @@ -314,8 +328,7 @@ void ScannerContext::_try_to_scale_up() { int num_add = int(std::min(_num_running_scanners * SCALE_UP_RATIO, _max_thread_num * MAX_SCALE_UP_RATIO - _num_running_scanners)); if (_estimated_block_size > 0) { - int most_add = - (_max_bytes_in_queue - _free_blocks_memory_usage) / _estimated_block_size; + int most_add = (_max_bytes_in_queue - _block_memory_usage) / _estimated_block_size; num_add = std::min(num_add, most_add); } for (int i = 0; i < num_add; ++i) { @@ -445,4 +458,12 @@ void ScannerContext::_set_scanner_done() { _dependency->set_always_ready(); } +void ScannerContext::update_peak_running_scanner(int num) { + _local_state->_peak_running_scanner->add(num); +} + +void ScannerContext::update_peak_memory_usage(int64_t usage) { + _local_state->_scanner_peak_memory_usage->add(usage); +} + } // namespace doris::vectorized diff --git a/be/src/vec/exec/scan/scanner_context.h b/be/src/vec/exec/scan/scanner_context.h index d97fc731fe5067..f93d01eef88427 100644 --- a/be/src/vec/exec/scan/scanner_context.h +++ b/be/src/vec/exec/scan/scanner_context.h @@ -122,10 +122,12 @@ class ScannerContext : public std::enable_shared_from_this, vectorized::BlockUPtr get_free_block(bool force); void return_free_block(vectorized::BlockUPtr block); - inline void inc_free_block_usage(size_t usage) { - _free_blocks_memory_usage += usage; - _free_blocks_memory_usage_mark->set(_free_blocks_memory_usage); - } + inline void inc_block_usage(size_t usage) { _block_memory_usage += usage; } + + // Caller should make sure the pipeline task is still running when calling this function + void update_peak_running_scanner(int num); + // Caller should make sure the pipeline task is still running when calling this function + void update_peak_memory_usage(int64_t usage); // Get next block from blocks queue. Called by ScanNode/ScanOperator // Set eos to true if there is no more data to read. @@ -223,7 +225,6 @@ class ScannerContext : public std::enable_shared_from_this, RuntimeProfile::Counter* _scanner_sched_counter = nullptr; RuntimeProfile::Counter* _newly_create_free_blocks_num = nullptr; RuntimeProfile::Counter* _scanner_wait_batch_timer = nullptr; - RuntimeProfile::HighWaterMarkCounter* _free_blocks_memory_usage_mark = nullptr; RuntimeProfile::Counter* _scanner_ctx_sched_time = nullptr; RuntimeProfile::Counter* _scale_up_scanners_counter = nullptr; QueryThreadContext _query_thread_context; @@ -231,7 +232,7 @@ class ScannerContext : public std::enable_shared_from_this, // for scaling up the running scanners size_t _estimated_block_size = 0; - std::atomic_long _free_blocks_memory_usage = 0; + std::atomic_long _block_memory_usage = 0; int64_t _last_scale_up_time = 0; int64_t _last_fetch_time = 0; int64_t _total_wait_block_time = 0; diff --git a/be/src/vec/exec/scan/scanner_scheduler.cpp b/be/src/vec/exec/scan/scanner_scheduler.cpp index 351f5d4e275074..e30983932ee244 100644 --- a/be/src/vec/exec/scan/scanner_scheduler.cpp +++ b/be/src/vec/exec/scan/scanner_scheduler.cpp @@ -34,6 +34,7 @@ #include "common/status.h" #include "olap/tablet.h" #include "runtime/exec_env.h" +#include "runtime/memory/mem_tracker.h" #include "runtime/runtime_state.h" #include "runtime/thread_context.h" #include "util/async_io.h" // IWYU pragma: keep @@ -210,6 +211,9 @@ void ScannerScheduler::_scanner_scan(std::shared_ptr ctx, return; } + ctx->update_peak_running_scanner(1); + Defer defer([&] { ctx->update_peak_running_scanner(-1); }); + std::shared_ptr scanner_delegate = scan_task->scanner.lock(); if (scanner_delegate == nullptr) { return; @@ -267,13 +271,18 @@ void ScannerScheduler::_scanner_scan(std::shared_ptr ctx, if (free_block == nullptr) { break; } + // We got a new created block or a reused block. + ctx->update_peak_memory_usage(free_block->allocated_bytes()); + ctx->update_peak_memory_usage(-free_block->allocated_bytes()); status = scanner->get_block_after_projects(state, free_block.get(), &eos); + // Projection will truncate useless columns, makes block size change. + auto free_block_bytes = free_block->allocated_bytes(); + ctx->update_peak_memory_usage(free_block_bytes); first_read = false; if (!status.ok()) { LOG(WARNING) << "Scan thread read VScanner failed: " << status.to_string(); break; } - auto free_block_bytes = free_block->allocated_bytes(); raw_bytes_read += free_block_bytes; if (!scan_task->cached_blocks.empty() && scan_task->cached_blocks.back().first->rows() + free_block->rows() <= @@ -281,18 +290,25 @@ void ScannerScheduler::_scanner_scan(std::shared_ptr ctx, size_t block_size = scan_task->cached_blocks.back().first->allocated_bytes(); vectorized::MutableBlock mutable_block( scan_task->cached_blocks.back().first.get()); + ctx->update_peak_memory_usage(-mutable_block.allocated_bytes()); status = mutable_block.merge(*free_block); + ctx->update_peak_memory_usage(mutable_block.allocated_bytes()); if (!status.ok()) { LOG(WARNING) << "Block merge failed: " << status.to_string(); break; } + scan_task->cached_blocks.back().second = mutable_block.allocated_bytes(); scan_task->cached_blocks.back().first.get()->set_columns( std::move(mutable_block.mutable_columns())); + + // Return block succeed or not, this free_block is not used by this scan task any more. + ctx->update_peak_memory_usage(-free_block_bytes); + // If block can be reused, its memory usage will be added back. ctx->return_free_block(std::move(free_block)); - ctx->inc_free_block_usage( - scan_task->cached_blocks.back().first->allocated_bytes() - block_size); + ctx->inc_block_usage(scan_task->cached_blocks.back().first->allocated_bytes() - + block_size); } else { - ctx->inc_free_block_usage(free_block->allocated_bytes()); + ctx->inc_block_usage(free_block->allocated_bytes()); scan_task->cached_blocks.emplace_back(std::move(free_block), free_block_bytes); } } // end for while diff --git a/be/src/vec/exec/scan/vscanner.cpp b/be/src/vec/exec/scan/vscanner.cpp index 43d791caffae02..a78f8956025cb9 100644 --- a/be/src/vec/exec/scan/vscanner.cpp +++ b/be/src/vec/exec/scan/vscanner.cpp @@ -143,6 +143,7 @@ Status VScanner::get_block(RuntimeState* state, Block* block, bool* eof) { } if (state->is_cancelled()) { + // TODO: Should return the specific ErrorStatus instead of just Cancelled. return Status::Cancelled("cancelled"); } *eof = *eof || _should_stop; diff --git a/regression-test/suites/query_profile/scanner_profile.groovy b/regression-test/suites/query_profile/scanner_profile.groovy new file mode 100644 index 00000000000000..38216d211e65ea --- /dev/null +++ b/regression-test/suites/query_profile/scanner_profile.groovy @@ -0,0 +1,104 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import groovy.json.JsonOutput +import groovy.json.JsonSlurper +import groovy.json.StringEscapeUtils + + +def getProfileList = { + def dst = 'http://' + context.config.feHttpAddress + def conn = new URL(dst + "/rest/v1/query_profile").openConnection() + conn.setRequestMethod("GET") + def encoding = Base64.getEncoder().encodeToString((context.config.feHttpUser + ":" + + (context.config.feHttpPassword == null ? "" : context.config.feHttpPassword)).getBytes("UTF-8")) + conn.setRequestProperty("Authorization", "Basic ${encoding}") + return conn.getInputStream().getText() +} + + +def getProfile = { id -> + def dst = 'http://' + context.config.feHttpAddress + def conn = new URL(dst + "/api/profile/text/?query_id=$id").openConnection() + conn.setRequestMethod("GET") + def encoding = Base64.getEncoder().encodeToString((context.config.feHttpUser + ":" + + (context.config.feHttpPassword == null ? "" : context.config.feHttpPassword)).getBytes("UTF-8")) + conn.setRequestProperty("Authorization", "Basic ${encoding}") + return conn.getInputStream().getText() +} + +suite('scanner_profile') { + sql """ + DROP TABLE IF EXISTS scanner_profile; + """ + sql """ + CREATE TABLE if not exists `scanner_profile` ( + `id` INT, + `name` varchar(32) + ) ENGINE=OLAP + DISTRIBUTED BY HASH(`id`) BUCKETS 10 + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); + """ + + // Insert data to table + sql """ + insert into scanner_profile values + (1, "A"),(2, "B"),(3, "C"),(4, "D"),(5,"E"),(6,"F"),(7,"G"),(8,"H"),(9,"K"); + """ + sql """ + insert into scanner_profile values + (10, "A"),(20, "B"),(30, "C"),(40, "D"),(50,"E"),(60,"F"),(70,"G"),(80,"H"),(90,"K"); + """ + sql """ + insert into scanner_profile values + (101, "A"),(201, "B"),(301, "C"),(401, "D"),(501,"E"),(601,"F"),(701,"G"),(801,"H"),(901,"K"); + """ + sql """ + insert into scanner_profile values + (1010, "A"),(2010, "B"),(3010, "C"),(4010, "D"),(5010,"E"),(6010,"F"),(7010,"G"),(8010,"H"),(9010,"K"); + """ + + def uuidString = UUID.randomUUID().toString() + sql "set enable_profile=true" + // With Limit, MaxScannerThreadNum = 1 + sql """ + select "with_limit_1_${uuidString}", * from scanner_profile limit 10; + """ + + def wholeString = getProfileList() + List profileData = new JsonSlurper().parseText(wholeString).data.rows + String queryIdWithLimit1 = ""; + + + logger.info("{}", uuidString) + + for (def profileItem in profileData) { + if (profileItem["Sql Statement"].toString().contains("with_limit_1_${uuidString}")) { + queryIdWithLimit1 = profileItem["Profile ID"].toString() + logger.info("profileItem: {}", profileItem) + } + } + + logger.info("queryIdWithLimit1_${uuidString}: {}", queryIdWithLimit1) + + assertTrue(queryIdWithLimit1 != "") + def String profileWithLimit1 = getProfile(queryIdWithLimit1).toString() + logger.info("query profile {}", profileWithLimit1) + assertTrue(profileWithLimit1.contains("- PeakRunningScanner: 1")) +} \ No newline at end of file From f09f4a4564a07405a6fbd37196107135a35b1e2f Mon Sep 17 00:00:00 2001 From: Kang Date: Fri, 6 Sep 2024 18:37:11 +0800 Subject: [PATCH 107/199] [fix](logstash) fix group_commit error in logstash (#40450) Do not set label when group_commit is set in headers. --- extension/logstash/lib/logstash/outputs/doris.rb | 12 ++++++++++-- extension/logstash/logstash-output-doris.gemspec | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/extension/logstash/lib/logstash/outputs/doris.rb b/extension/logstash/lib/logstash/outputs/doris.rb index 34124f446bbb87..ce0fe1df7606e2 100644 --- a/extension/logstash/lib/logstash/outputs/doris.rb +++ b/extension/logstash/lib/logstash/outputs/doris.rb @@ -99,6 +99,12 @@ def register @request_headers = make_request_headers @logger.info("request headers: ", @request_headers) + @group_commit = false + if http_headers.has_key?("group_commit") && http_headers["group_commit"] != "off_mode" + @group_commit = true + end + @logger.info("group_commit: ", @group_commit) + @init_time = Time.now.to_i # seconds @total_bytes = java.util.concurrent.atomic.AtomicLong.new(0) @total_rows = java.util.concurrent.atomic.AtomicLong.new(0) @@ -188,9 +194,11 @@ def send_events(events) hosts = get_host_addresses() http_headers = @request_headers.dup - http_headers["label"] = label_prefix + "_" + @db + "_" + @table + "_" + Time.now.strftime('%Y%m%d_%H%M%S_%L_' + SecureRandom.uuid) + if !@group_commit + # only set label if group_commit is off_mode or not set, since lable can not be used with group_commit + http_headers["label"] = label_prefix + "_" + @db + "_" + @table + "_" + Time.now.strftime('%Y%m%d_%H%M%S_%L_' + SecureRandom.uuid) + end - # @request_headers["label"] = label_prefix + "_" + @db + "_" + @table + "_" + Time.now.strftime('%Y%m%d%H%M%S_%L') req_count = 0 sleep_for = 1 while true diff --git a/extension/logstash/logstash-output-doris.gemspec b/extension/logstash/logstash-output-doris.gemspec index 163ba260f07afa..6536d89ccc3f84 100644 --- a/extension/logstash/logstash-output-doris.gemspec +++ b/extension/logstash/logstash-output-doris.gemspec @@ -18,7 +18,7 @@ under the License. =end Gem::Specification.new do |s| s.name = 'logstash-output-doris' - s.version = '1.0.0' + s.version = '1.0.1' s.author = 'Apache Doris' s.email = 'dev@doris.apache.org' s.homepage = 'http://doris.apache.org' From c84426f3db24e7e3975222e253cb091d1e853ffd Mon Sep 17 00:00:00 2001 From: Kang Date: Fri, 6 Sep 2024 18:38:19 +0800 Subject: [PATCH 108/199] [opt](plugin) improve filebeat doris output plugin (#36355) 1. read doris stream load response and retry 2. add a config to log doris stream load request header and response 3. add a config to log progress for better observability --- extension/beats/doris/client.go | 391 +++++++++++------- extension/beats/doris/config.go | 134 +++--- extension/beats/doris/doris.go | 175 ++++---- extension/beats/go.mod | 1 + extension/beats/go.sum | 2 + .../logstash/lib/logstash/outputs/doris.rb | 14 +- 6 files changed, 417 insertions(+), 300 deletions(-) diff --git a/extension/beats/doris/client.go b/extension/beats/doris/client.go index c6775dc321be80..d9a88f0a4f830e 100644 --- a/extension/beats/doris/client.go +++ b/extension/beats/doris/client.go @@ -20,181 +20,280 @@ package doris import ( - "context" - "fmt" - "net/http" - "net/http/httputil" - "strings" - "time" - - "github.com/elastic/beats/v7/libbeat/beat" - "github.com/elastic/beats/v7/libbeat/logp" - "github.com/elastic/beats/v7/libbeat/outputs" - "github.com/elastic/beats/v7/libbeat/outputs/codec" - "github.com/elastic/beats/v7/libbeat/publisher" + "context" + "encoding/json" + "fmt" + "io/ioutil" + "net/http" + "net/http/httputil" + "strings" + "sync/atomic" + "time" + + "github.com/elastic/beats/v7/libbeat/beat" + "github.com/elastic/beats/v7/libbeat/logp" + "github.com/elastic/beats/v7/libbeat/outputs" + "github.com/elastic/beats/v7/libbeat/outputs/codec" + "github.com/elastic/beats/v7/libbeat/publisher" + "github.com/google/uuid" ) type client struct { - url string - httpClient *http.Client - headers map[string]string - beat beat.Info - codec codec.Codec + url string + httpClient *http.Client + headers map[string]string + beat beat.Info + codec codec.Codec + + database string + table string + labelPrefix string + lineDelimiter string + logRequest bool + + observer outputs.Observer + reporter *ProgressReporter + logger *logp.Logger +} - database string - table string - labelPrefix string - lineDelimiter string +type clientSettings struct { + URL string + Timeout time.Duration + Headers map[string]string + + Database string + Table string + LabelPrefix string + LineDelimiter string + LogRequest bool + + Beat beat.Info + Codec codec.Codec + Observer outputs.Observer + Reporter *ProgressReporter + Logger *logp.Logger +} - observer outputs.Observer - logger *logp.Logger +func (s clientSettings) String() string { + return fmt.Sprintf("clientSettings{%s, %s, %s, %s}", s.URL, s.Timeout, s.LabelPrefix, s.Headers) } -type clientSettings struct { - URL string - Timeout time.Duration - Headers map[string]string +type ResponseStatus struct { + Status string `json:"Status"` +} - Database string - Table string - LabelPrefix string - LineDelimiter string +func (e *ResponseStatus) Error() string { return e.Status } - Beat beat.Info - Codec codec.Codec - Observer outputs.Observer - Logger *logp.Logger +type ProgressReporter struct { + totalBytes int64 + totalRows int64 + failedRows int64 + interval time.Duration + logger *logp.Logger } -func (s clientSettings) String() string { - return fmt.Sprintf("clientSettings{%s, %s, %s, %s}", s.URL, s.Timeout, s.LabelPrefix, s.Headers) +func NewProgressReporter(interval int, logger *logp.Logger) *ProgressReporter { + return &ProgressReporter{ + totalBytes: 0, + totalRows: 0, + failedRows: 0, + interval: time.Duration(interval) * time.Second, + logger: logger, + } } -func NewDorisClient(s clientSettings) (*client, error) { - s.Logger.Infof("Received settings: %s", s) +func (reporter *ProgressReporter) IncrTotalBytes(bytes int64) { + atomic.AddInt64(&reporter.totalBytes, bytes) +} + +func (reporter *ProgressReporter) IncrTotalRows(rows int64) { + atomic.AddInt64(&reporter.totalRows, rows) +} - client := &client{ - url: s.URL, - httpClient: &http.Client{ - Timeout: s.Timeout, - }, - headers: s.Headers, +func (reporter *ProgressReporter) IncrFailedRows(rows int64) { + atomic.AddInt64(&reporter.totalRows, rows) +} - database: s.Database, - table: s.Table, - labelPrefix: s.LabelPrefix, - lineDelimiter: s.LineDelimiter, +func (reporter *ProgressReporter) Report() { + init_time := time.Now().Unix() + last_time := init_time + last_bytes := atomic.LoadInt64(&reporter.totalBytes) + last_rows := atomic.LoadInt64(&reporter.totalRows) + + reporter.logger.Infof("start progress reporter with interval %v", reporter.interval) + for reporter.interval > 0 { + time.Sleep(reporter.interval) + + cur_time := time.Now().Unix() + cur_bytes := atomic.LoadInt64(&reporter.totalBytes) + cur_rows := atomic.LoadInt64(&reporter.totalRows) + total_time := cur_time - init_time + total_speed_mbps := cur_bytes / 1024 / 1024 / total_time + total_speed_rps := cur_rows / total_time + + inc_bytes := cur_bytes - last_bytes + inc_rows := cur_rows - last_rows + inc_time := cur_time - last_time + inc_speed_mbps := inc_bytes / 1024 / 1024 / inc_time + inc_speed_rps := inc_rows / inc_time + + reporter.logger.Infof("total %v MB %v ROWS, total speed %v MB/s %v R/s, last %v seconds speed %v MB/s %v R/s", + cur_bytes/1024/1024, cur_rows, total_speed_mbps, total_speed_rps, + inc_time, inc_speed_mbps, inc_speed_rps) + + last_time = cur_time + last_bytes = cur_bytes + last_rows = cur_rows + } +} - codec: s.Codec, - observer: s.Observer, - logger: s.Logger, - } - return client, nil +func NewDorisClient(s clientSettings) (*client, error) { + s.Logger.Infof("Received settings: %s", s) + + client := &client{ + url: s.URL, + httpClient: &http.Client{ + Timeout: s.Timeout, + }, + headers: s.Headers, + + database: s.Database, + table: s.Table, + labelPrefix: s.LabelPrefix, + lineDelimiter: s.LineDelimiter, + logRequest: s.LogRequest, + + codec: s.Codec, + observer: s.Observer, + reporter: s.Reporter, + logger: s.Logger, + } + return client, nil } func (client *client) Connect() error { - return nil + return nil } func (client *client) Close() error { - return nil + return nil } func (client *client) String() string { - return fmt.Sprintf("doris{%s, %s, %s}", client.url, client.labelPrefix, client.headers) + return fmt.Sprintf("doris{%s, %s, %s}", client.url, client.labelPrefix, client.headers) } func (client *client) Publish(_ context.Context, batch publisher.Batch) error { - events := batch.Events() - length := len(events) - client.logger.Debugf("Received events: %d", length) - - label := fmt.Sprintf("%s_%s_%s_%d", client.labelPrefix, client.database, client.table, time.Now().UnixMilli()) - rest, err := client.publishEvents(label, events) - - if len(rest) == 0 { - batch.ACK() - client.logger.Debugf("Success send events: %d", length) - } else { - client.observer.Failed(length) - batch.RetryEvents(rest) - client.logger.Warnf("Retry send events: %d", length) - } - return err + events := batch.Events() + length := len(events) + client.logger.Debugf("Received events: %d", length) + + label := fmt.Sprintf("%s_%s_%s_%d_%s", client.labelPrefix, client.database, client.table, time.Now().UnixMilli(), uuid.New()) + rest, err := client.publishEvents(label, events) + + if len(rest) == 0 { + batch.ACK() + client.logger.Debugf("Success send %d events", length) + } else { + client.observer.Failed(length) + batch.RetryEvents(rest) + client.logger.Warnf("Retry send %d events", length) + } + return err } func (client *client) publishEvents(lable string, events []publisher.Event) ([]publisher.Event, error) { - begin := time.Now() - - var logFirstEvent []byte - var stringBuilder strings.Builder - - dropped := 0 - for i := range events { - event := &events[i] - serializedEvent, err := client.codec.Encode(client.beat.Beat, &event.Content) - - if err != nil { - if event.Guaranteed() { - client.logger.Errorf("Failed to serialize the event: %+v", err) - } else { - client.logger.Warnf("Failed to serialize the event: %+v", err) - } - client.logger.Debugf("Failed event: %v", event) - - dropped++ - continue - } - - if logFirstEvent == nil { - logFirstEvent = serializedEvent - } - stringBuilder.Write(serializedEvent) - stringBuilder.WriteString(client.lineDelimiter) - } - request, requestErr := http.NewRequest(http.MethodPut, client.url, strings.NewReader(stringBuilder.String())) - if requestErr != nil { - client.logger.Errorf("Failed to create request: %s", requestErr) - return events, requestErr - } - - request.Header.Set("label", lable) - for k, v := range client.headers { - request.Header.Set(k, v) - } - response, responseErr := client.httpClient.Do(request) - if responseErr != nil { - client.logger.Errorf("Failed to stream-load request: %v", responseErr) - return events, responseErr - } - - defer response.Body.Close() - if response.StatusCode < 200 || response.StatusCode >= 300 { - client.logger.Errorf("Failed to stream-load request with status code %d", - response.StatusCode) - - reqBytes, reqErr := httputil.DumpRequestOut(request, false) - if reqErr != nil { - client.logger.Errorf("Failed to dump stream-load request: %v", reqErr) - } else { - client.logger.Errorf("Stream-Load request dump:\n%s\n first event: %s", - string(reqBytes), string(logFirstEvent)) - } - - respBytes, respErr := httputil.DumpResponse(response, true) - if respErr != nil { - client.logger.Errorf("Failed to dump stream-load response: %v", respErr) - } else { - client.logger.Errorf("Stream-Load response dump:\n%s", string(respBytes)) - } - return events, nil - } - - client.logger.Debugf("Stream-Load publish events: %d events have been published to doris in %v.", - len(events)-dropped, - time.Now().Sub(begin)) - - client.observer.Dropped(dropped) - client.observer.Acked(len(events) - dropped) - return nil, nil + begin := time.Now() + + var logFirstEvent []byte + var stringBuilder strings.Builder + + dropped := 0 + for i := range events { + event := &events[i] + serializedEvent, err := client.codec.Encode(client.beat.Beat, &event.Content) + + if err != nil { + if event.Guaranteed() { + client.logger.Errorf("Failed to serialize the event: %+v", err) + } else { + client.logger.Warnf("Failed to serialize the event: %+v", err) + } + client.logger.Debugf("Failed event: %v", event) + + dropped++ + client.reporter.IncrFailedRows(1) + continue + } + + if logFirstEvent == nil { + logFirstEvent = serializedEvent + } + stringBuilder.Write(serializedEvent) + stringBuilder.WriteString(client.lineDelimiter) + } + request, requestErr := http.NewRequest(http.MethodPut, client.url, strings.NewReader(stringBuilder.String())) + if requestErr != nil { + client.logger.Errorf("Failed to create request: %s", requestErr) + return events, requestErr + } + + var groupCommit bool = false + for k, v := range client.headers { + request.Header.Set(k, v) + if k == "group_commit" && v != "off_mode" { + groupCommit = true + } + } + if !groupCommit { + request.Header.Set("label", lable) + } + + response, responseErr := client.httpClient.Do(request) + if responseErr != nil { + client.logger.Errorf("Failed to stream-load request: %v", responseErr) + return events, responseErr + } + + defer response.Body.Close() + + responseBytes, responseErr := httputil.DumpResponse(response, true) + if responseErr != nil { + client.logger.Errorf("Failed to dump doris stream load response: %v, error: %v", response, responseErr) + return events, responseErr + } + + if client.logRequest { + client.logger.Infof("doris stream load response response:\n%s", string(responseBytes)) + } + + body, bodyErr := ioutil.ReadAll(response.Body) + if bodyErr != nil { + client.logger.Errorf("Failed to read doris stream load response body, error: %v, response:\n%v", bodyErr, string(responseBytes)) + return events, bodyErr + } + + var status ResponseStatus + parseErr := json.Unmarshal(body, &status) + if parseErr != nil { + client.logger.Errorf("Failed to parse doris stream load response to JSON, error: %v, response:\n%v", parseErr, string(responseBytes)) + return events, parseErr + } + + if status.Status != "Success" { + client.logger.Errorf("doris stream load status: '%v' is not 'Success', full response: %v", status.Status, string(responseBytes)) + return events, &status + } + + client.logger.Debugf("Stream-Load publish events: %d events have been published to doris in %v.", + len(events)-dropped, + time.Now().Sub(begin)) + + client.observer.Dropped(dropped) + client.observer.Acked(len(events) - dropped) + + client.reporter.IncrTotalBytes(int64(stringBuilder.Len())) + client.reporter.IncrTotalRows(int64(len(events) - dropped)) + + return nil, nil } diff --git a/extension/beats/doris/config.go b/extension/beats/doris/config.go index 6c374716466cd7..7dd9a921174c9e 100644 --- a/extension/beats/doris/config.go +++ b/extension/beats/doris/config.go @@ -20,87 +20,95 @@ package doris import ( - "encoding/base64" - "errors" - "strings" - "time" + "encoding/base64" + "errors" + "strings" + "time" - "github.com/elastic/beats/v7/libbeat/outputs/codec" + "github.com/elastic/beats/v7/libbeat/outputs/codec" ) type config struct { - Hosts []string `config:"fenodes" validate:"required"` - User string `config:"user"` - Password string `config:"password"` - Database string `config:"database" validate:"required"` - Table string `config:"table" validate:"required"` - LabelPrefix string `config:"label_prefix"` - LineDelimiter string `config:"line_delimiter"` + Hosts []string `config:"fenodes"` + HttpHosts []string `config:"http_hosts"` + User string `config:"user" validate:"required"` + Password string `config:"password"` + Database string `config:"database" validate:"required"` + Table string `config:"table" validate:"required"` + LabelPrefix string `config:"label_prefix"` + LineDelimiter string `config:"line_delimiter"` + LogRequest bool `config:"log_request"` + LogProgressInterval int `config:"log_progress_interval"` - Headers map[string]string `config:"headers"` + Headers map[string]string `config:"headers"` - CodecFormatString string `config:"codec_format_string"` - Codec codec.Config `config:"codec"` - Timeout time.Duration `config:"timeout"` - BulkMaxSize int `config:"bulk_max_size" validate:"min=1,nonzero"` - MaxRetries int `config:"max_retries" validate:"min=-1,nonzero"` - Backoff backoff `config:"backoff"` + CodecFormatString string `config:"codec_format_string"` + Codec codec.Config `config:"codec"` + Timeout time.Duration `config:"timeout"` + BulkMaxSize int `config:"bulk_max_size" validate:"min=1,nonzero"` + MaxRetries int `config:"max_retries" validate:"min=-1,nonzero"` + Backoff backoff `config:"backoff"` } type backoff struct { - Init time.Duration `config:"init"` - Max time.Duration `config:"max"` + Init time.Duration `config:"init"` + Max time.Duration `config:"max"` } func defaultConfig() config { - return config{ - Password: "", - LabelPrefix: "doris_beats", - LineDelimiter: "\n", + return config{ + Password: "", + LabelPrefix: "beats", + LineDelimiter: "\n", + LogRequest: true, + LogProgressInterval: 10, - BulkMaxSize: 100000, - MaxRetries: 3, - Backoff: backoff{ - Init: 1 * time.Second, - Max: 60 * time.Second, - }, - } + BulkMaxSize: 100000, + MaxRetries: -1, + Backoff: backoff{ + Init: 1 * time.Second, + Max: 60 * time.Second, + }, + } } func (c *config) Validate() error { - if len(c.Hosts) == 0 { - return errors.New("no http_hosts configured") - } - if len(c.Database) == 0 { - return errors.New("no database configured") - } - if len(c.Table) == 0 { - return errors.New("no table configured") - } - if len(c.CodecFormatString) == 0 && &c.Codec == nil { - return errors.New("no codec_format_expression|codec configured") - } - return nil + if len(c.HttpHosts) != 0 { + c.Hosts = c.HttpHosts + } + if len(c.Hosts) == 0 { + return errors.New("no http_hosts configured") + } + if len(c.Database) == 0 { + return errors.New("no database configured") + } + if len(c.Table) == 0 { + return errors.New("no table configured") + } + if len(c.CodecFormatString) == 0 && &c.Codec == nil { + return errors.New("no codec_format_expression|codec configured") + } + return nil } func (c *config) createHeaders() map[string]string { - headers := make(map[string]string) - headers["Expect"] = "100-continue" - headers["Content-Type"] = "text/plain;charset=utf-8" - if len(c.User) != 0 { - headers["Authorization"] = "Basic " + base64.StdEncoding.EncodeToString([]byte(c.User+":"+c.Password)) - } - if len(c.LineDelimiter) != 0 && !strings.EqualFold(c.LineDelimiter, "\n") { - headers["line_delimiter"] = c.LineDelimiter - } + headers := make(map[string]string) + headers["Expect"] = "100-continue" + headers["Content-Type"] = "text/plain;charset=utf-8" + if len(c.User) != 0 { + headers["Authorization"] = "Basic " + base64.StdEncoding.EncodeToString([]byte(c.User+":"+c.Password)) + } + if len(c.LineDelimiter) != 0 && !strings.EqualFold(c.LineDelimiter, "\n") { + headers["line_delimiter"] = c.LineDelimiter + } - if c.Headers != nil && len(c.Headers) != 0 { - for k, v := range c.Headers { - if strings.EqualFold("line_delimiter", k) { - c.LineDelimiter = v - } - headers[k] = v - } - } - return headers + if c.Headers != nil && len(c.Headers) != 0 { + for k, v := range c.Headers { + if strings.EqualFold("line_delimiter", k) { + c.LineDelimiter = v + } + headers[k] = v + } + } + return headers } diff --git a/extension/beats/doris/doris.go b/extension/beats/doris/doris.go index a8d15915c48d09..ef34d40fdead10 100644 --- a/extension/beats/doris/doris.go +++ b/extension/beats/doris/doris.go @@ -20,101 +20,108 @@ package doris import ( - "fmt" + "fmt" - "github.com/elastic/beats/v7/libbeat/beat" - "github.com/elastic/beats/v7/libbeat/common" - "github.com/elastic/beats/v7/libbeat/logp" - "github.com/elastic/beats/v7/libbeat/outputs" - "github.com/elastic/beats/v7/libbeat/outputs/codec" + "github.com/elastic/beats/v7/libbeat/beat" + "github.com/elastic/beats/v7/libbeat/common" + "github.com/elastic/beats/v7/libbeat/logp" + "github.com/elastic/beats/v7/libbeat/outputs" + "github.com/elastic/beats/v7/libbeat/outputs/codec" ) const logSelector = "doris" func init() { - outputs.RegisterType("doris", makeDoris) + outputs.RegisterType("doris", makeDoris) } func makeDoris( - _ outputs.IndexManager, - beat beat.Info, - observer outputs.Observer, - cfg *common.Config, + _ outputs.IndexManager, + beat beat.Info, + observer outputs.Observer, + cfg *common.Config, ) (outputs.Group, error) { - logger := logp.NewLogger(logSelector) - - config := defaultConfig() - if err := cfg.Unpack(&config); err != nil { - return outputs.Fail(err) - } - if err := config.Validate(); err != nil { - return outputs.Fail(err) - } - - codecConfig := loadCodecConfig(config) - codec, err := codec.CreateEncoder(beat, codecConfig) - if err != nil { - return outputs.Fail(err) - } - - clients := make([]outputs.NetworkClient, len(config.Hosts)) - for i, host := range config.Hosts { - logger.Info("Making client for host: " + host) - url, err := parseURL(host) - if err != nil { - return outputs.Fail(err) - } - - streamLoadPath := fmt.Sprintf("/api/%s/%s/_stream_load", config.Database, config.Table) - hostURL, err := common.MakeURL(url.Scheme, streamLoadPath, host, 80) - if err != nil { - logger.Errorf("Invalid host param set: %s, Error: %+v", host, err) - return outputs.Fail(err) - } - logger.Infof("Final http connection endpoint: %s", hostURL) - - var client outputs.NetworkClient - client, err = NewDorisClient(clientSettings{ - URL: hostURL, - Timeout: config.Timeout, - Observer: observer, - Headers: config.createHeaders(), - Codec: codec, - LineDelimiter: config.LineDelimiter, - - LabelPrefix: config.LabelPrefix, - Database: config.Database, - Table: config.Table, - - Logger: logger, - }) - if err != nil { - return outputs.Fail(err) - } - - client = outputs.WithBackoff(client, config.Backoff.Init, config.Backoff.Max) - clients[i] = client - } - retry := 0 - if config.MaxRetries < 0 { - retry = -1 - } else { - retry = config.MaxRetries - } - return outputs.SuccessNet(true, config.BulkMaxSize, retry, clients) + logger := logp.NewLogger(logSelector) + + config := defaultConfig() + if err := cfg.Unpack(&config); err != nil { + return outputs.Fail(err) + } + if err := config.Validate(); err != nil { + return outputs.Fail(err) + } + + codecConfig := loadCodecConfig(config) + codec, err := codec.CreateEncoder(beat, codecConfig) + if err != nil { + return outputs.Fail(err) + } + + reporter := NewProgressReporter(config.LogProgressInterval, logger) + + clients := make([]outputs.NetworkClient, len(config.Hosts)) + for i, host := range config.Hosts { + logger.Info("Making client for host: " + host) + url, err := parseURL(host) + if err != nil { + return outputs.Fail(err) + } + + streamLoadPath := fmt.Sprintf("/api/%s/%s/_stream_load", config.Database, config.Table) + hostURL, err := common.MakeURL(url.Scheme, streamLoadPath, host, 8030) + if err != nil { + logger.Errorf("Invalid host param set: %s, Error: %+v", host, err) + return outputs.Fail(err) + } + logger.Infof("Final http connection endpoint: %s", hostURL) + + var client outputs.NetworkClient + client, err = NewDorisClient(clientSettings{ + URL: hostURL, + Timeout: config.Timeout, + Observer: observer, + Headers: config.createHeaders(), + Codec: codec, + LineDelimiter: config.LineDelimiter, + LogRequest: config.LogRequest, + + LabelPrefix: config.LabelPrefix, + Database: config.Database, + Table: config.Table, + + Reporter: reporter, + Logger: logger, + }) + if err != nil { + return outputs.Fail(err) + } + + client = outputs.WithBackoff(client, config.Backoff.Init, config.Backoff.Max) + clients[i] = client + } + retry := 0 + if config.MaxRetries < 0 { + retry = -1 + } else { + retry = config.MaxRetries + } + + go reporter.Report() + + return outputs.SuccessNet(true, config.BulkMaxSize, retry, clients) } func loadCodecConfig(config config) codec.Config { - if len(config.CodecFormatString) == 0 { - return config.Codec - } - - beatConfig := common.MustNewConfigFrom(map[string]interface{}{ - "format.string": config.CodecFormatString, - }) - codecConfig := codec.Config{} - if err := beatConfig.Unpack(&codecConfig); err != nil { - panic(err) - } - return codecConfig + if len(config.CodecFormatString) == 0 { + return config.Codec + } + + beatConfig := common.MustNewConfigFrom(map[string]interface{}{ + "format.string": config.CodecFormatString, + }) + codecConfig := codec.Config{} + if err := beatConfig.Unpack(&codecConfig); err != nil { + panic(err) + } + return codecConfig } diff --git a/extension/beats/go.mod b/extension/beats/go.mod index 2935cb33cf3f37..99f7365f592333 100644 --- a/extension/beats/go.mod +++ b/extension/beats/go.mod @@ -65,6 +65,7 @@ require ( github.com/google/flatbuffers v1.12.1 // indirect github.com/google/go-cmp v0.5.6 // indirect github.com/google/gofuzz v1.1.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/googleapis/gnostic v0.4.1 // indirect github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75 // indirect github.com/gorilla/websocket v1.4.2 // indirect diff --git a/extension/beats/go.sum b/extension/beats/go.sum index 0c17d71a6c6ec4..29277236cae7e4 100644 --- a/extension/beats/go.sum +++ b/extension/beats/go.sum @@ -467,6 +467,8 @@ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gnostic v0.4.1 h1:DLJCy1n/vrD4HPjOvYcT8aYQXpPIzoRZONaYwyycI+I= diff --git a/extension/logstash/lib/logstash/outputs/doris.rb b/extension/logstash/lib/logstash/outputs/doris.rb index ce0fe1df7606e2..c57b7cb47b2b29 100644 --- a/extension/logstash/lib/logstash/outputs/doris.rb +++ b/extension/logstash/lib/logstash/outputs/doris.rb @@ -69,11 +69,11 @@ class LogStash::Outputs::Doris < LogStash::Outputs::Base config :host_resolve_ttl_sec, :validate => :number, :default => 120 - config :retry_count, :validate => :number, :default => -1 + config :max_retries, :validate => :number, :default => -1 - config :log_request, :validate => :boolean, :default => false + config :log_request, :validate => :boolean, :default => true - config :log_speed_interval, :validate => :number, :default => 10 + config :log_progress_interval, :validate => :number, :default => 10 def print_plugin_info() @@ -113,9 +113,9 @@ def register last_time = @init_time last_bytes = @total_bytes.get last_rows = @total_rows.get - @logger.info("will report speed every #{@log_speed_interval} seconds") - while @log_speed_interval > 0 - sleep(@log_speed_interval) + @logger.info("will report speed every #{@log_progress_interval} seconds") + while @log_progress_interval > 0 + sleep(@log_progress_interval) cur_time = Time.now.to_i # seconds cur_bytes = @total_bytes.get @@ -218,7 +218,7 @@ def send_events(events) else @logger.warn("FAILED doris stream load response:\n#{response}") - if @retry_count >= 0 && req_count > @retry_count + if @max_retries >= 0 && req_count > @max_retries @logger.warn("DROP this batch after failed #{req_count} times.") if @save_on_failure @logger.warn("Try save to disk.Disk file path : #{save_dir}/#{table}_#{save_file}") From cd7718dba907479f242b3af7affded115219db5b Mon Sep 17 00:00:00 2001 From: deardeng <565620795@qq.com> Date: Fri, 6 Sep 2024 19:10:17 +0800 Subject: [PATCH 109/199] [enhance](cloud) Add a policy when be abnormal, tablet delay switch be (#40371) --- .../java/org/apache/doris/common/Config.java | 3 + .../doris/cloud/catalog/CloudReplica.java | 79 +++++++++++++------ .../cloud/catalog/CloudTabletRebalancer.java | 21 ++--- .../datasource/CloudInternalCatalog.java | 4 +- .../multi_cluster/test_rebalance.groovy | 2 +- 5 files changed, 71 insertions(+), 38 deletions(-) diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java index 9b61a734246828..360ec7ae6035c7 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java @@ -3030,6 +3030,9 @@ public static int metaServiceRpcRetryTimes() { @ConfField(mutable = true, description = {"存算分离模式下是否开启大事务提交,默认false"}) public static boolean enable_cloud_txn_lazy_commit = false; + @ConfField(mutable = true, description = {"存算分离模式下,当tablet分布的be异常,是否立即映射tablet到新的be上,默认true"}) + public static boolean enable_immediate_be_assign = true; + // ATTN: DONOT add any config not related to cloud mode here // ATTN: DONOT add any config not related to cloud mode here // ATTN: DONOT add any config not related to cloud mode here diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudReplica.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudReplica.java index be0c510559eda2..43f7dcbc6879f3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudReplica.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudReplica.java @@ -20,7 +20,6 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.Partition; import org.apache.doris.catalog.Replica; -import org.apache.doris.catalog.Replica.ReplicaContext; import org.apache.doris.cloud.system.CloudSystemInfoService; import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; @@ -49,7 +48,7 @@ public class CloudReplica extends Replica { // In the future, a replica may be mapped to multiple BEs in a cluster, // so this value is be list - private Map> clusterToBackends = new ConcurrentHashMap>(); + private Map> primaryClusterToBackends = new ConcurrentHashMap>(); @SerializedName(value = "dbId") private long dbId = -1; @SerializedName(value = "tableId") @@ -65,6 +64,9 @@ public class CloudReplica extends Replica { private Map> memClusterToBackends = new ConcurrentHashMap>(); + // clusterId, secondaryBe, changeTimestamp + private Map> secondaryClusterToBackends = new ConcurrentHashMap>(); + public CloudReplica() { } @@ -186,8 +188,8 @@ private long getBackendIdImpl(String cluster) { backendId = memClusterToBackends.get(clusterId).get(indexRand); } - if (!replicaEnough && !allowColdRead && clusterToBackends.containsKey(clusterId)) { - backendId = clusterToBackends.get(clusterId).get(0); + if (!replicaEnough && !allowColdRead && primaryClusterToBackends.containsKey(clusterId)) { + backendId = primaryClusterToBackends.get(clusterId).get(0); } if (backendId > 0) { @@ -212,21 +214,47 @@ private long getBackendIdImpl(String cluster) { } } - if (clusterToBackends.containsKey(clusterId)) { - long backendId = clusterToBackends.get(clusterId).get(0); - Backend be = Env.getCurrentSystemInfo().getBackend(backendId); - if (be != null && be.isQueryAvailable()) { - if (LOG.isDebugEnabled()) { - LOG.debug("backendId={} ", backendId); - } - return backendId; + // use primaryClusterToBackends, if find be normal + long pickBeId = getAvaliableBeId(clusterId, primaryClusterToBackends); + if (pickBeId != -1) { + return pickBeId; + } + + if (!Config.enable_immediate_be_assign) { + // use secondaryClusterToBackends, if find be normal + pickBeId = getAvaliableBeId(clusterId, secondaryClusterToBackends); + if (pickBeId != -1) { + return pickBeId; } } - if (DebugPointUtil.isEnable("CloudReplica.getBackendIdImpl.clusterToBackends")) { - LOG.info("Debug Point enable CloudReplica.getBackendIdImpl.clusterToBackends"); + + if (DebugPointUtil.isEnable("CloudReplica.getBackendIdImpl.primaryClusterToBackends")) { + LOG.info("Debug Point enable CloudReplica.getBackendIdImpl.primaryClusterToBackends"); + return -1; + } + + // be abnormal, rehash it. configure settings to different maps + pickBeId = hashReplicaToBe(clusterId, false); + updateClusterToBe(clusterId, pickBeId, Config.enable_immediate_be_assign); + return pickBeId; + } + + private long getAvaliableBeId(String clusterId, Map> clusterToBackends) { + List backendIds = clusterToBackends.get(clusterId); + if (backendIds == null || backendIds.isEmpty()) { return -1; } - return hashReplicaToBe(clusterId, false); + + long backendId = backendIds.get(0); + Backend be = Env.getCurrentSystemInfo().getBackend(backendId); + if (be != null && be.isQueryAvailable()) { + // be normal + if (LOG.isDebugEnabled()) { + LOG.debug("backendId={} ", backendId); + } + return backendId; + } + return -1; } public long hashReplicaToBe(String clusterId, boolean isBackGround) { @@ -270,14 +298,10 @@ public long hashReplicaToBe(String clusterId, boolean isBackGround) { pickedBeId, getId(), partitionId, availableBes.size(), idx, index, hashCode == null ? -1 : hashCode.asLong()); - // save to clusterToBackends map - List bes = new ArrayList(); - bes.add(pickedBeId); - clusterToBackends.put(clusterId, bes); - return pickedBeId; } + public List hashReplicaToBes(String clusterId, boolean isBackGround, int replicaNum) { // TODO(luwei) list should be sorted List clusterBes = ((CloudSystemInfoService) Env.getCurrentSystemInfo()) @@ -375,7 +399,7 @@ public void readFields(DataInput in) throws IOException { long beId = in.readLong(); List bes = new ArrayList(); bes.add(beId); - clusterToBackends.put(clusterId, bes); + primaryClusterToBackends.put(clusterId, bes); } } @@ -399,14 +423,19 @@ public long getIdx() { return idx; } - public Map> getClusterToBackends() { - return clusterToBackends; + public Map> getprimaryClusterToBackends() { + return primaryClusterToBackends; } - public void updateClusterToBe(String cluster, long beId) { + // save to primaryClusterToBackends or secondaryClusterToBackends map + public void updateClusterToBe(String cluster, long beId, boolean isUpdatePrimary) { // write lock List bes = new ArrayList(); bes.add(beId); - clusterToBackends.put(cluster, bes); + if (isUpdatePrimary) { + primaryClusterToBackends.put(cluster, bes); + } else { + secondaryClusterToBackends.put(cluster, bes); + } } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java index 6f4534c4b0876a..ae34c6b722f7b0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java @@ -499,23 +499,24 @@ private void completeRouteInfo() { List tabletIds = new ArrayList(); for (Tablet tablet : index.getTablets()) { for (Replica replica : tablet.getReplicas()) { - Map> clusterToBackends = - ((CloudReplica) replica).getClusterToBackends(); - if (!clusterToBackends.containsKey(cluster)) { + Map> primaryClusterToBackends = + ((CloudReplica) replica).getprimaryClusterToBackends(); + if (!primaryClusterToBackends.containsKey(cluster)) { long beId = ((CloudReplica) replica).hashReplicaToBe(cluster, true); + ((CloudReplica) replica).updateClusterToBe(cluster, beId, true); if (beId <= 0) { assignedErrNum++; continue; } List bes = new ArrayList(); bes.add(beId); - clusterToBackends.put(cluster, bes); + primaryClusterToBackends.put(cluster, bes); assigned = true; beIds.add(beId); tabletIds.add(tablet.getId()); } else { - beIds.add(clusterToBackends.get(cluster).get(0)); + beIds.add(primaryClusterToBackends.get(cluster).get(0)); tabletIds.add(tablet.getId()); } } @@ -569,9 +570,9 @@ public void statRouteInfo() { loopCloudReplica((Database db, Table table, Partition partition, MaterializedIndex index, String cluster) -> { for (Tablet tablet : index.getTablets()) { for (Replica replica : tablet.getReplicas()) { - Map> clusterToBackends = - ((CloudReplica) replica).getClusterToBackends(); - for (Map.Entry> entry : clusterToBackends.entrySet()) { + Map> primaryClusterToBackends = + ((CloudReplica) replica).getprimaryClusterToBackends(); + for (Map.Entry> entry : primaryClusterToBackends.entrySet()) { if (!cluster.equals(entry.getKey())) { continue; } @@ -729,7 +730,7 @@ private void updateBeToTablets(Tablet pickedTablet, long srcBe, long destBe, Bal private void updateClusterToBeMap(Tablet pickedTablet, long destBe, String clusterId, List infos) { CloudReplica cloudReplica = (CloudReplica) pickedTablet.getReplicas().get(0); - cloudReplica.updateClusterToBe(clusterId, destBe); + cloudReplica.updateClusterToBe(clusterId, destBe, true); Database db = Env.getCurrentInternalCatalog().getDbNullable(cloudReplica.getDbId()); if (db == null) { return; @@ -973,7 +974,7 @@ private void migrateTablets(Long srcBe, Long dstBe) { String clusterId = be.getCloudClusterId(); String clusterName = be.getCloudClusterName(); // update replica location info - cloudReplica.updateClusterToBe(clusterId, dstBe); + cloudReplica.updateClusterToBe(clusterId, dstBe, true); LOG.info("cloud be migrate tablet {} from srcBe={} to dstBe={}, clusterId={}, clusterName={}", tablet.getId(), srcBe, dstBe, clusterId, clusterName); diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java index a809e9187d2ce7..c1c58f7b898ca8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java @@ -1036,7 +1036,7 @@ private void unprotectUpdateCloudReplica(OlapTable olapTable, UpdateCloudReplica clusterId = realClusterId; } - ((CloudReplica) replica).updateClusterToBe(clusterId, info.getBeId()); + ((CloudReplica) replica).updateClusterToBe(clusterId, info.getBeId(), true); LOG.debug("update single cloud replica cluster {} replica {} be {}", info.getClusterId(), replica.getId(), info.getBeId()); @@ -1062,7 +1062,7 @@ private void unprotectUpdateCloudReplica(OlapTable olapTable, UpdateCloudReplica LOG.debug("update cloud replica cluster {} replica {} be {}", info.getClusterId(), replica.getId(), info.getBeIds().get(i)); - ((CloudReplica) replica).updateClusterToBe(clusterId, info.getBeIds().get(i)); + ((CloudReplica) replica).updateClusterToBe(clusterId, info.getBeIds().get(i), true); } } } catch (Exception e) { diff --git a/regression-test/suites/cloud_p0/multi_cluster/test_rebalance.groovy b/regression-test/suites/cloud_p0/multi_cluster/test_rebalance.groovy index e1735a4acd486d..0aa2e83ccc2bfd 100644 --- a/regression-test/suites/cloud_p0/multi_cluster/test_rebalance.groovy +++ b/regression-test/suites/cloud_p0/multi_cluster/test_rebalance.groovy @@ -63,7 +63,7 @@ suite('test_rebalance_in_cloud', 'multi_cluster') { PARTITION p1998 VALUES [("19980101"), ("19990101"))) DISTRIBUTED BY HASH(k1) BUCKETS 3 """ - GetDebugPoint().enableDebugPointForAllFEs("CloudReplica.getBackendIdImpl.clusterToBackends"); + GetDebugPoint().enableDebugPointForAllFEs("CloudReplica.getBackendIdImpl.primaryClusterToBackends"); sql """set global forward_to_master=false""" // add a be From 5db2af10b764719bc3738cec60fc2a492ab8e017 Mon Sep 17 00:00:00 2001 From: Dongyang Li Date: Fri, 6 Sep 2024 19:38:42 +0800 Subject: [PATCH 110/199] [ci](trigger) user 9208457 can skip buildall on branch-2.1 (#40419) ## Proposed changes Issue Number: close #xxx Co-authored-by: stephen --- .github/workflows/comment-to-trigger-teamcity.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/comment-to-trigger-teamcity.yml b/.github/workflows/comment-to-trigger-teamcity.yml index f56077424b6d92..e99dd1b4d29463 100644 --- a/.github/workflows/comment-to-trigger-teamcity.yml +++ b/.github/workflows/comment-to-trigger-teamcity.yml @@ -43,6 +43,9 @@ jobs: id: parse run: | COMMENT_BODY=$(echo "${COMMENT_BODY}" | xargs) + PULL_REQUEST_NUM="$(echo "${{ github.event.issue.pull_request.url }}" | awk -F/ '{print $NF}')" + COMMIT_ID_FROM_TRIGGER="$(curl -s -H "Authorization:Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/${{ github.repository }}/pulls/${PULL_REQUEST_NUM}" | jq -r '.head.sha')" + TARGET_BRANCH="$(curl -s -H "Authorization:Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/${{ github.repository }}/pulls/${PULL_REQUEST_NUM}" | jq -r '.base.ref')" if [[ "${COMMENT_BODY}" == *'run buildall'* || "${COMMENT_BODY}" == *'run compile'* || "${COMMENT_BODY}" == *'run beut'* || @@ -63,6 +66,10 @@ jobs: echo "comment_trigger=false" | tee -a "$GITHUB_OUTPUT" echo "comment_skip=true" | tee -a "$GITHUB_OUTPUT" echo "COMMENT_USER_ID ${COMMENT_USER_ID} is allowed to skip buildall." + elif [[ "${COMMENT_USER_ID}" == '9208457' && "${TARGET_BRANCH}" == *'branch-2.1'* ]]; then + echo "COMMENT_USER_ID ${COMMENT_USER_ID} is allowed to skip buildall for branch-2.1" + echo "comment_trigger=false" | tee -a "$GITHUB_OUTPUT" + echo "comment_skip=true" | tee -a "$GITHUB_OUTPUT" else echo "COMMENT_USER_ID ${COMMENT_USER_ID} is not allowed to skip buildall." exit @@ -74,9 +81,6 @@ jobs: exit fi - PULL_REQUEST_NUM="$(echo "${{ github.event.issue.pull_request.url }}" | awk -F/ '{print $NF}')" - COMMIT_ID_FROM_TRIGGER="$(curl -s -H "Authorization:Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/${{ github.repository }}/pulls/${PULL_REQUEST_NUM}" | jq -r '.head.sha')" - TARGET_BRANCH="$(curl -s -H "Authorization:Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/${{ github.repository }}/pulls/${PULL_REQUEST_NUM}" | jq -r '.base.ref')" echo "PULL_REQUEST_NUM=${PULL_REQUEST_NUM}" | tee -a "$GITHUB_OUTPUT" echo "COMMIT_ID_FROM_TRIGGER=${COMMIT_ID_FROM_TRIGGER}" | tee -a "$GITHUB_OUTPUT" echo "TARGET_BRANCH='${TARGET_BRANCH}'" | tee -a "$GITHUB_OUTPUT" From 35eb912d82d80c3d523910d501c69481d514eca4 Mon Sep 17 00:00:00 2001 From: airborne12 Date: Fri, 6 Sep 2024 20:41:54 +0800 Subject: [PATCH 111/199] [Chore](status) Disable stack trace printing for NotFound error status (#40470) ## Proposed changes Fix annoying error log message like this ``` meet error status: [NOT_FOUND] 0# doris::io::S3ObjStorageClient::head_object(doris::io::ObjectStoragePathOptions const&) at /root/doris/be/src/common/status.h:0 1# doris::io::S3FileSystem::exists_impl(std::filesystem::__cxx11::path const&, bool*) const at /root/doris/be/src/io/fs/s3_file_system.cpp:264 2# doris::io::FileSystem::exists(std::filesystem::__cxx11::path const&, bool*) const at /root/doris/be/src/common/status.h:387 3# doris::segment_v2::DorisFSDirectory::createOutput(char const*) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/fs_path.h:310 4# doris::segment_v2::InvertedIndexFileWriter::write_v2() at /root/doris/be/src/olap/rowset/segment_v2/inverted_index_file_writer.cpp:0 5# doris::segment_v2::InvertedIndexFileWriter::close() at /root/doris/be/src/olap/rowset/segment_v2/inverted_index_file_writer.cpp:140 6# doris::segment_v2::VerticalSegmentWriter::_write_inverted_index() at /root/doris/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:0 7# doris::segment_v2::VerticalSegmentWriter::finalize_columns_index(unsigned long*) at /root/doris/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:0 8# doris::segment_v2::VerticalSegmentWriter::finalize(unsigned long*, unsigned long*) at /root/doris/be/src/olap/rowset/segment_v2/vertical_segment_writer.cpp:1047 ``` --- be/src/io/fs/s3_obj_storage_client.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/be/src/io/fs/s3_obj_storage_client.cpp b/be/src/io/fs/s3_obj_storage_client.cpp index 2c66e819833b94..e9d8d5be1577d5 100644 --- a/be/src/io/fs/s3_obj_storage_client.cpp +++ b/be/src/io/fs/s3_obj_storage_client.cpp @@ -255,7 +255,7 @@ ObjectStorageHeadResponse S3ObjStorageClient::head_object(const ObjectStoragePat return {.resp = {convert_to_obj_response(Status::OK())}, .file_size = outcome.GetResult().GetContentLength()}; } else if (outcome.GetError().GetResponseCode() == Aws::Http::HttpResponseCode::NOT_FOUND) { - return {.resp = {convert_to_obj_response(Status::NotFound(""))}}; + return {.resp = {convert_to_obj_response(Status::Error(""))}}; } else { return {.resp = {convert_to_obj_response( s3fs_error(outcome.GetError(), From 855140f8a3563f88e01a253c9a319075768cdff0 Mon Sep 17 00:00:00 2001 From: Jibing-Li <64681310+Jibing-Li@users.noreply.github.com> Date: Sat, 7 Sep 2024 22:06:22 +0800 Subject: [PATCH 112/199] [improvement](statistics)Return -1 to neredis if report olap table row count for new table is not done for all tablets. (#40457) Return -1 to neredis if report olap table row count for new table is not done for all tablets. After this change, nereids could know new table is empty or not. When it's not empty but not reported yet, return -1 as row count to nereids. --- be/src/olap/tablet_manager.cpp | 1 + .../doris/analysis/ShowTableStatsStmt.java | 66 ++++++-------- .../doris/catalog/CloudTabletStatMgr.java | 1 + .../doris/catalog/MaterializedIndex.java | 10 +++ .../org/apache/doris/catalog/OlapTable.java | 7 +- .../org/apache/doris/catalog/Replica.java | 10 +++ .../apache/doris/catalog/TabletStatMgr.java | 29 ++++++- .../doris/nereids/stats/StatsCalculator.java | 2 +- .../org/apache/doris/qe/ShowExecutor.java | 9 +- .../doris/service/FrontendServiceImpl.java | 3 + .../apache/doris/statistics/AnalysisInfo.java | 5 -- .../doris/statistics/AnalysisManager.java | 5 ++ .../doris/statistics/BaseAnalysisTask.java | 2 - .../doris/statistics/OlapAnalysisTask.java | 2 +- .../statistics/StatisticsRepository.java | 1 - .../doris/statistics/TableStatsMeta.java | 28 ++---- .../transaction/DatabaseTransactionMgr.java | 3 + gensrc/thrift/BackendService.thrift | 1 + .../suites/statistics/analyze_stats.groovy | 2 +- .../suites/statistics/test_analyze_mv.groovy | 85 ++++++++++++++++--- 20 files changed, 179 insertions(+), 93 deletions(-) diff --git a/be/src/olap/tablet_manager.cpp b/be/src/olap/tablet_manager.cpp index 3bac96370333d3..6525e9185dac35 100644 --- a/be/src/olap/tablet_manager.cpp +++ b/be/src/olap/tablet_manager.cpp @@ -1065,6 +1065,7 @@ void TabletManager::build_all_report_tablets_info(std::map* t_tablet_stat.__set_row_count(tablet_info.row_count); t_tablet_stat.__set_total_version_count(tablet_info.total_version_count); t_tablet_stat.__set_visible_version_count(tablet_info.visible_version_count); + t_tablet_stat.__set_visible_version(tablet_info.version); }; for_each_tablet(handler, filter_all_tablets); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatsStmt.java index 54c8f652e125fa..ccffee3086dbea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatsStmt.java @@ -75,8 +75,9 @@ public class ShowTableStatsStmt extends ShowStmt implements NotFallbackInParser new ImmutableList.Builder() .add("table_name") .add("index_name") - .add("row_count") - .add("update_time") + .add("analyze_row_count") + .add("report_row_count") + .add("report_row_count_for_nereids") .build(); private static final ImmutableList COLUMN_PARTITION_TITLE_NAMES = @@ -200,15 +201,15 @@ public long getTableId() { public ShowResultSet constructResultSet(TableStatsMeta tableStatistic, TableIf table) { if (indexName != null) { - return constructIndexResultSet(tableStatistic); + return constructIndexResultSet(tableStatistic, table); } if (partitionNames == null) { return constructTableResultSet(tableStatistic, table); } if (columnNames == null) { - return constructPartitionResultSet(tableStatistic); + return constructPartitionResultSet(tableStatistic, table); } else { - return constructColumnPartitionResultSet(tableStatistic); + return constructColumnPartitionResultSet(tableStatistic, table); } } @@ -216,31 +217,23 @@ public ShowResultSet constructEmptyResultSet() { return new ShowResultSet(getMetaData(), new ArrayList<>()); } - public ShowResultSet constructResultSet(TableIf table) { - List> result = Lists.newArrayList(); - if (partitionNames != null) { - // For partition, return empty result if table stats not exist. - return new ShowResultSet(getMetaData(), result); - } - List row = Lists.newArrayList(); - row.add(""); - row.add(""); - row.add(String.valueOf(table.getCachedRowCount())); - row.add(""); - row.add(""); - row.add(""); - row.add(""); - row.add(""); - row.add(String.valueOf(table.autoAnalyzeEnabled())); - result.add(row); - return new ShowResultSet(getMetaData(), result); - } - public ShowResultSet constructTableResultSet(TableStatsMeta tableStatistic, TableIf table) { - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); if (tableStatistic == null) { - return new ShowResultSet(getMetaData(), new ArrayList<>()); + List> result = Lists.newArrayList(); + List row = Lists.newArrayList(); + row.add(""); + row.add(""); + row.add(String.valueOf(table.getCachedRowCount())); + row.add(""); + row.add(""); + row.add(""); + row.add(""); + row.add(""); + row.add(String.valueOf(table.autoAnalyzeEnabled())); + result.add(row); + return new ShowResultSet(getMetaData(), result); } + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); List> result = Lists.newArrayList(); List row = Lists.newArrayList(); row.add(String.valueOf(tableStatistic.updatedRows)); @@ -260,9 +253,9 @@ public ShowResultSet constructTableResultSet(TableStatsMeta tableStatistic, Tabl return new ShowResultSet(getMetaData(), result); } - public ShowResultSet constructPartitionResultSet(TableStatsMeta tableStatistic) { + public ShowResultSet constructPartitionResultSet(TableStatsMeta tableStatistic, TableIf table) { List> result = Lists.newArrayList(); - if (!(table instanceof OlapTable)) { + if (!(table instanceof OlapTable) || tableStatistic == null) { return new ShowResultSet(getMetaData(), result); } Collection partitions = partitionNames.isStar() @@ -286,7 +279,7 @@ public ShowResultSet constructPartitionResultSet(TableStatsMeta tableStatistic) return new ShowResultSet(getMetaData(), result); } - public ShowResultSet constructIndexResultSet(TableStatsMeta tableStatistic) { + public ShowResultSet constructIndexResultSet(TableStatsMeta tableStatistic, TableIf table) { List> result = Lists.newArrayList(); if (!(table instanceof OlapTable)) { return new ShowResultSet(getMetaData(), result); @@ -296,23 +289,20 @@ public ShowResultSet constructIndexResultSet(TableStatsMeta tableStatistic) { if (indexId == null) { throw new RuntimeException(String.format("Index %s not exist.", indexName)); } - long rowCount = tableStatistic.getRowCount(olapTable.getIndexIdByName(indexName)); - if (rowCount == -1) { - return new ShowResultSet(getMetaData(), result); - } - long updateTime = tableStatistic.getRowCountUpdateTime(olapTable.getIndexIdByName(indexName)); + long rowCount = tableStatistic == null ? -1 : tableStatistic.getRowCount(olapTable.getIndexIdByName(indexName)); List row = Lists.newArrayList(); row.add(table.getName()); row.add(indexName); row.add(String.valueOf(rowCount)); - row.add(String.valueOf(updateTime)); + row.add(String.valueOf(olapTable.getRowCountForIndex(indexId, false))); + row.add(String.valueOf(olapTable.getRowCountForIndex(indexId, true))); result.add(row); return new ShowResultSet(getMetaData(), result); } - public ShowResultSet constructColumnPartitionResultSet(TableStatsMeta tableStatistic) { + public ShowResultSet constructColumnPartitionResultSet(TableStatsMeta tableStatistic, TableIf table) { List> result = Lists.newArrayList(); - if (!(table instanceof OlapTable)) { + if (!(table instanceof OlapTable) || tableStatistic == null) { return new ShowResultSet(getMetaData(), result); } OlapTable olapTable = (OlapTable) table; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/CloudTabletStatMgr.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/CloudTabletStatMgr.java index ff01f736081a70..0ba2686060e1f5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/CloudTabletStatMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/CloudTabletStatMgr.java @@ -199,6 +199,7 @@ protected void runAfterCatalogReady() { tableRowsetCount += tabletRowsetCount; tableSegmentCount += tabletSegmentCount; } // end for tablets + index.setRowCountReported(true); index.setRowCount(indexRowCount); } // end for indices } // end for partitions diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/MaterializedIndex.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/MaterializedIndex.java index d4da21753233c5..6e4f6a2248e719 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/MaterializedIndex.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/MaterializedIndex.java @@ -73,6 +73,8 @@ public enum IndexExtState { @SerializedName(value = "rollupFinishedVersion") private long rollupFinishedVersion; + private boolean rowCountReported = false; + public MaterializedIndex() { this.state = IndexState.NORMAL; this.idToTablets = new HashMap<>(); @@ -206,6 +208,14 @@ public int getTabletOrderIdx(long tabletId) { return -1; } + public void setRowCountReported(boolean reported) { + this.rowCountReported = reported; + } + + public boolean getRowCountReported() { + return this.rowCountReported; + } + @Deprecated public void readFields(DataInput in) throws IOException { super.readFields(in); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java index 4bc05aff20612e..a60da71b299328 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java @@ -1564,13 +1564,16 @@ public Set> getColumnIndexPairs(Set columns) { @Override public long fetchRowCount() { - return getRowCountForIndex(baseIndexId); + return getRowCountForIndex(baseIndexId, false); } - public long getRowCountForIndex(long indexId) { + public long getRowCountForIndex(long indexId, boolean strict) { long rowCount = 0; for (Map.Entry entry : idToPartition.entrySet()) { MaterializedIndex index = entry.getValue().getIndex(indexId); + if (strict && !index.getRowCountReported()) { + return -1; + } rowCount += (index == null || index.getRowCount() == -1) ? 0 : index.getRowCount(); } return rowCount; diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Replica.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Replica.java index 0fcbef007437aa..f7985e57d00b51 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Replica.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Replica.java @@ -177,6 +177,8 @@ public static class ReplicaContext { private long userDropTime = -1; + private long lastReportVersion = 0; + public Replica() { } @@ -839,4 +841,12 @@ public boolean isScheduleAvailable() { return Env.getCurrentSystemInfo().checkBackendScheduleAvailable(backendId) && !isUserDrop(); } + + public void setLastReportVersion(long version) { + this.lastReportVersion = version; + } + + public long getLastReportVersion() { + return lastReportVersion; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/TabletStatMgr.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/TabletStatMgr.java index 1206c6b2f82ee7..faf1fcab94f2df 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/TabletStatMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/TabletStatMgr.java @@ -128,6 +128,7 @@ protected void runAfterCatalogReady() { long version = partition.getVisibleVersion(); for (MaterializedIndex index : partition.getMaterializedIndices(IndexExtState.VISIBLE)) { long indexRowCount = 0L; + boolean indexReported = true; for (Tablet tablet : index.getTablets()) { Long tabletDataSize = 0L; @@ -135,9 +136,26 @@ protected void runAfterCatalogReady() { Long tabletRowCount = 0L; + boolean tabletReported = false; for (Replica replica : tablet.getReplicas()) { + LOG.debug("Table {} replica {} current version {}, report version {}", + olapTable.getName(), replica.getId(), + replica.getVersion(), replica.getLastReportVersion()); if (replica.checkVersionCatchUp(version, false) - && replica.getRowCount() > tabletRowCount) { + && replica.getRowCount() >= tabletRowCount) { + // 1. If replica version and reported replica version are all equal to + // PARTITION_INIT_VERSION, set tabletReported to true, which indicates this + // tablet is empty for sure when previous report. + // 2. If last report version is larger than PARTITION_INIT_VERSION, set + // tabletReported to true as well. That is, we only guarantee all replicas of + // the tablet are reported for the init version. + // e.g. When replica version is 2, but last reported version is 1, + // tabletReported would be false. + if (replica.getVersion() == Partition.PARTITION_INIT_VERSION + && replica.getLastReportVersion() == Partition.PARTITION_INIT_VERSION + || replica.getLastReportVersion() > Partition.PARTITION_INIT_VERSION) { + tabletReported = true; + } tabletRowCount = replica.getRowCount(); } @@ -157,8 +175,14 @@ protected void runAfterCatalogReady() { tableRowCount += tabletRowCount; indexRowCount += tabletRowCount; + // Only when all tablets of this index are reported, we set indexReported to true. + indexReported = indexReported && tabletReported; } // end for tablets + index.setRowCountReported(indexReported); index.setRowCount(indexRowCount); + LOG.debug("Table {} index {} all tablets reported[{}], row count {}", + olapTable.getName(), olapTable.getIndexNameById(index.getId()), + indexReported, tableRowCount); } // end for indices } // end for partitions @@ -193,6 +217,9 @@ private void updateTabletStat(Long beId, TTabletStatResult result) { replica.setTotalVersionCount(stat.getTotalVersionCount()); replica.setVisibleVersionCount(stat.isSetVisibleVersionCount() ? stat.getVisibleVersionCount() : stat.getTotalVersionCount()); + // Older version BE doesn't set visible version. Set it to max for compatibility. + replica.setLastReportVersion(stat.isSetVisibleVersion() ? stat.getVisibleVersion() + : Long.MAX_VALUE); } } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java index fec744b86b10f2..9ea5811502293a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java @@ -366,7 +366,7 @@ private void checkIfUnknownStatsUsedAsKey(StatisticsBuilder builder) { private Statistics computeOlapScan(OlapScan olapScan) { OlapTable olapTable = olapScan.getTable(); - double tableRowCount = olapTable.getRowCountForIndex(olapScan.getSelectedIndexId()); + double tableRowCount = olapTable.getRowCountForIndex(olapScan.getSelectedIndexId(), true); if (tableRowCount <= 0) { AnalysisManager analysisManager = Env.getCurrentEnv().getAnalysisManager(); TableStatsMeta tableMeta = analysisManager.findTableStatsStatus(olapScan.getTable().getId()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java index 819c98759917cf..c2170f90d5716e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java @@ -2725,14 +2725,7 @@ private void handleShowTableStats() { return; } TableStatsMeta tableStats = Env.getCurrentEnv().getAnalysisManager().findTableStatsStatus(tableIf.getId()); - /* - tableStats == null means it's not analyzed, in this case show the estimated row count. - */ - if (tableStats == null) { - resultSet = showTableStatsStmt.constructResultSet(tableIf); - } else { - resultSet = showTableStatsStmt.constructResultSet(tableStats, tableIf); - } + resultSet = showTableStatsStmt.constructResultSet(tableStats, tableIf); } private void handleShowColumnStats() throws AnalysisException { diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java index cc613cb5d8cf76..77f79bc5768478 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java @@ -3319,6 +3319,9 @@ public TStatus invalidateStatsCache(TInvalidateFollowerStatsCacheRequest request partitionNames = new PartitionNames(false, new ArrayList<>(target.partitions)); } if (target.isTruncate) { + if (partitionNames == null || partitionNames.isStar() || partitionNames.getPartitionNames() == null) { + tableStats.clearIndexesRowCount(); + } analysisManager.submitAsyncDropStatsTask(target.catalogId, target.dbId, target.tableId, tableStats, partitionNames); } else { diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisInfo.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisInfo.java index 0e89b5225aba03..6ec413821ea37b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisInfo.java @@ -198,7 +198,6 @@ public enum ScheduleType { public final boolean enablePartition; public final ConcurrentMap indexesRowCount = new ConcurrentHashMap<>(); - public final ConcurrentMap indexesRowCountUpdateTime = new ConcurrentHashMap<>(); public AnalysisInfo(long jobId, long taskId, List taskIds, long catalogId, long dbId, long tblId, Set> jobColumns, Set partitionNames, String colName, Long indexId, @@ -358,8 +357,4 @@ public TableIf getTable() { public void addIndexRowCount(long indexId, long rowCount) { indexesRowCount.put(indexId, rowCount); } - - public void addIndexUpdateRowCountTime(long indexId, long time) { - indexesRowCountUpdateTime.put(indexId, time); - } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java index 55b0bdc4efd3c7..634f1074cd5658 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java @@ -682,6 +682,9 @@ public void dropStats(TableIf table, PartitionNames partitionNames) throws DdlEx long catalogId = table.getDatabase().getCatalog().getId(); long dbId = table.getDatabase().getId(); long tableId = table.getId(); + if (partitionNames == null || partitionNames.isStar() || partitionNames.getPartitionNames() == null) { + tableStats.clearIndexesRowCount(); + } submitAsyncDropStatsTask(catalogId, dbId, tableId, tableStats, partitionNames); // Drop stats ddl is master only operation. Set partitions = null; @@ -810,6 +813,8 @@ public void invalidateLocalStats(long catalogId, long dbId, long tableId, Set tabletIds = pair.first; long totalRowCount = info.indexId == -1 ? tbl.getRowCount() - : ((OlapTable) tbl).getRowCountForIndex(info.indexId); + : ((OlapTable) tbl).getRowCountForIndex(info.indexId, false); double scaleFactor = (double) totalRowCount / (double) pair.second; // might happen if row count in fe metadata hasn't been updated yet if (Double.isInfinite(scaleFactor) || Double.isNaN(scaleFactor)) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsRepository.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsRepository.java index 83350d16e0423a..0d9fa3674628c7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsRepository.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsRepository.java @@ -392,7 +392,6 @@ public static void alterColumnStatistics(AlterColumnStatsStmt alterColumnStatsSt if (objects.table instanceof OlapTable) { indexId = indexId == -1 ? ((OlapTable) objects.table).getBaseIndexId() : indexId; mockedJobInfo.addIndexRowCount(indexId, (long) Double.parseDouble(rowCount)); - mockedJobInfo.addIndexUpdateRowCountTime(indexId, timestamp); } Env.getCurrentEnv().getAnalysisManager().updateTableStatsForAlterStats(mockedJobInfo, objects.table); } else { diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/TableStatsMeta.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/TableStatsMeta.java index 2d566d71cfcbc1..de0f0eed18dae7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/TableStatsMeta.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/TableStatsMeta.java @@ -101,10 +101,7 @@ public class TableStatsMeta implements Writable, GsonPostProcessable { public ConcurrentMap partitionUpdateRows = new ConcurrentHashMap<>(); @SerializedName("irc") - public ConcurrentMap indexesRowCount = new ConcurrentHashMap<>(); - - @SerializedName("ircut") - public ConcurrentMap indexesRowCountUpdateTime = new ConcurrentHashMap<>(); + private ConcurrentMap indexesRowCount = new ConcurrentHashMap<>(); @VisibleForTesting public TableStatsMeta() { @@ -194,8 +191,7 @@ public void update(AnalysisInfo analyzedJob, TableIf tableIf) { if (tableIf != null) { if (tableIf instanceof OlapTable) { indexesRowCount.putAll(analyzedJob.indexesRowCount); - indexesRowCountUpdateTime.putAll(analyzedJob.indexesRowCountUpdateTime); - clearStaleIndexRowCountAndTime((OlapTable) tableIf); + clearStaleIndexRowCount((OlapTable) tableIf); } rowCount = analyzedJob.rowCount; if (rowCount == 0 && AnalysisMethod.SAMPLE.equals(analyzedJob.analysisMethod)) { @@ -227,20 +223,17 @@ public void gsonPostProcess() throws IOException { if (colToColStatsMeta == null) { colToColStatsMeta = new ConcurrentHashMap<>(); } - if (indexesRowCountUpdateTime == null) { - indexesRowCountUpdateTime = new ConcurrentHashMap<>(); - } } public long getRowCount(long indexId) { return indexesRowCount.getOrDefault(indexId, -1L); } - public long getRowCountUpdateTime(long indexId) { - return indexesRowCountUpdateTime.getOrDefault(indexId, 0L); + public void clearIndexesRowCount() { + indexesRowCount.clear(); } - private void clearStaleIndexRowCountAndTime(OlapTable table) { + private void clearStaleIndexRowCount(OlapTable table) { Iterator iterator = indexesRowCount.keySet().iterator(); List indexIds = table.getIndexIds(); while (iterator.hasNext()) { @@ -249,18 +242,11 @@ private void clearStaleIndexRowCountAndTime(OlapTable table) { iterator.remove(); } } - iterator = indexesRowCountUpdateTime.keySet().iterator(); - while (iterator.hasNext()) { - long key = iterator.next(); - if (indexIds.contains(key)) { - iterator.remove(); - } - } } public long getBaseIndexDeltaRowCount(OlapTable table) { - if (colToColStatsMeta == null) { - return -1; + if (colToColStatsMeta == null || colToColStatsMeta.isEmpty() || userInjected) { + return 0; } long maxUpdateRows = 0; String baseIndexName = table.getIndexNameById(table.getBaseIndexId()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java b/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java index 5e9c22bede7e82..73c930fb4c6367 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java @@ -2294,6 +2294,9 @@ private boolean updateCatalogAfterVisible(TransactionState transactionState, Dat replica.getId(), newVersion, lastFailedVersion, lastSuccessVersion); } replica.updateVersionWithFailed(newVersion, lastFailedVersion, lastSuccessVersion); + if (newVersion == Partition.PARTITION_INIT_VERSION + 1) { + index.setRowCountReported(false); + } Set partitionIds = backendPartitions.get(replica.getBackendId()); if (partitionIds == null) { partitionIds = Sets.newHashSet(); diff --git a/gensrc/thrift/BackendService.thrift b/gensrc/thrift/BackendService.thrift index 058f84aadc9171..ed0ae243a1ded0 100644 --- a/gensrc/thrift/BackendService.thrift +++ b/gensrc/thrift/BackendService.thrift @@ -38,6 +38,7 @@ struct TTabletStat { 4: optional i64 total_version_count 5: optional i64 remote_data_size 6: optional i64 visible_version_count + 7: optional i64 visible_version } struct TTabletStatResult { diff --git a/regression-test/suites/statistics/analyze_stats.groovy b/regression-test/suites/statistics/analyze_stats.groovy index 37f59406d25b87..fcdb66fcbab911 100644 --- a/regression-test/suites/statistics/analyze_stats.groovy +++ b/regression-test/suites/statistics/analyze_stats.groovy @@ -2743,7 +2743,7 @@ PARTITION `p599` VALUES IN (599) assertEquals("true", alter_result[0][7]) sql """drop stats alter_test""" alter_result = sql """show table stats alter_test""" - assertEquals("false", alter_result[0][7]) + assertEquals("", alter_result[0][7]) sql """alter table alter_test modify column id set stats ('row_count'='100', 'ndv'='0', 'num_nulls'='0.0', 'data_size'='2.69975443E8', 'min_value'='1', 'max_value'='2');""" alter_result = sql """show column stats alter_test(id)""" logger.info("show column alter_test(id) stats: " + alter_result) diff --git a/regression-test/suites/statistics/test_analyze_mv.groovy b/regression-test/suites/statistics/test_analyze_mv.groovy index 4b9644c4821d96..d6ee9b4cfc7c14 100644 --- a/regression-test/suites/statistics/test_analyze_mv.groovy +++ b/regression-test/suites/statistics/test_analyze_mv.groovy @@ -127,39 +127,45 @@ suite("test_analyze_mv") { "replication_num" = "1" ) """ + def result_row + if (!isCloudMode()) { + // Test row count report and report for nereids + result_row = sql """show index stats mvTestDup mvTestDup""" + assertEquals(1, result_row.size()) + assertEquals("mvTestDup", result_row[0][0]) + assertEquals("mvTestDup", result_row[0][1]) + assertEquals("0", result_row[0][3]) + assertEquals("-1", result_row[0][4]) + } + createMV("create materialized view mv1 as select key1 from mvTestDup;") createMV("create materialized view mv2 as select key2 from mvTestDup;") createMV("create materialized view mv3 as select key1, key2, sum(value1), max(value2), min(value3) from mvTestDup group by key1, key2;") sql """insert into mvTestDup values (1, 2, 3, 4, 5), (1, 2, 3, 4, 5), (10, 20, 30, 40, 50), (10, 20, 30, 40, 50), (100, 200, 300, 400, 500), (1001, 2001, 3001, 4001, 5001);""" - def timestamp = System.currentTimeMillis(); sql """analyze table mvTestDup with sync;""" // Test show index row count - def result_row = sql """show index stats mvTestDup mvTestDup""" + result_row = sql """show index stats mvTestDup mvTestDup""" assertEquals(1, result_row.size()) assertEquals("mvTestDup", result_row[0][0]) assertEquals("mvTestDup", result_row[0][1]) assertEquals("6", result_row[0][2]) - assertTrue(Long.parseLong(result_row[0][3]) >= timestamp) result_row = sql """show index stats mvTestDup mv1""" assertEquals(1, result_row.size()) assertEquals("mvTestDup", result_row[0][0]) assertEquals("mv1", result_row[0][1]) assertEquals("6", result_row[0][2]) - assertTrue(Long.parseLong(result_row[0][3]) >= timestamp) result_row = sql """show index stats mvTestDup mv2""" assertEquals(1, result_row.size()) assertEquals("mvTestDup", result_row[0][0]) assertEquals("mv2", result_row[0][1]) assertEquals("6", result_row[0][2]) - assertTrue(Long.parseLong(result_row[0][3]) >= timestamp) result_row = sql """show index stats mvTestDup mv3""" assertEquals(1, result_row.size()) assertEquals("mvTestDup", result_row[0][0]) assertEquals("mv3", result_row[0][1]) assertEquals("4", result_row[0][2]) - assertTrue(Long.parseLong(result_row[0][3]) >= timestamp) // Compare show whole table column stats result with show single column. def result_all = sql """show column stats mvTestDup""" @@ -438,27 +444,21 @@ suite("test_analyze_mv") { assertEquals("FULL", result_sample[0][9]) // Test alter table index row count. - timestamp = System.currentTimeMillis(); sql """alter table mvTestDup modify column `value2` set stats ('row_count'='1.5E8', 'ndv'='3.0', 'num_nulls'='0.0', 'data_size'='1.5E8', 'min_value'='1', 'max_value'='10');""" result_row = sql """show index stats mvTestDup mvTestDup;""" assertEquals("mvTestDup", result_row[0][0]) assertEquals("mvTestDup", result_row[0][1]) assertEquals("150000000", result_row[0][2]) - assertTrue(Long.parseLong(result_row[0][3]) >= timestamp) - timestamp = System.currentTimeMillis(); sql """alter table mvTestDup index mv1 modify column `mv_key1` set stats ('row_count'='3443', 'ndv'='3.0', 'num_nulls'='0.0', 'data_size'='1.5E8', 'min_value'='1', 'max_value'='10');""" result_row = sql """show index stats mvTestDup mv1;""" assertEquals("mvTestDup", result_row[0][0]) assertEquals("mv1", result_row[0][1]) assertEquals("3443", result_row[0][2]) - assertTrue(Long.parseLong(result_row[0][3]) >= timestamp) - timestamp = System.currentTimeMillis(); sql """alter table mvTestDup index mv3 modify column `mva_MAX__``value2``` set stats ('row_count'='234234', 'ndv'='3.0', 'num_nulls'='0.0', 'data_size'='1.5E8', 'min_value'='1', 'max_value'='10');""" result_row = sql """show index stats mvTestDup mv3;""" assertEquals("mvTestDup", result_row[0][0]) assertEquals("mv3", result_row[0][1]) assertEquals("234234", result_row[0][2]) - assertTrue(Long.parseLong(result_row[0][3]) >= timestamp) sql """drop stats mvTestDup""" result_sample = sql """show column stats mvTestDup""" @@ -474,6 +474,35 @@ suite("test_analyze_mv") { logger.info(e.getMessage()); return; } + + if (!isCloudMode()) { + // Test row count report and report for nereids + result_row = sql """show index stats mvTestDup mvTestDup""" + assertEquals(1, result_row.size()) + assertEquals("mvTestDup", result_row[0][0]) + assertEquals("mvTestDup", result_row[0][1]) + assertEquals("6", result_row[0][3]) + assertEquals("6", result_row[0][4]) + result_row = sql """show index stats mvTestDup mv1""" + assertEquals(1, result_row.size()) + assertEquals("mvTestDup", result_row[0][0]) + assertEquals("mv1", result_row[0][1]) + assertEquals("6", result_row[0][3]) + assertEquals("6", result_row[0][4]) + result_row = sql """show index stats mvTestDup mv2""" + assertEquals(1, result_row.size()) + assertEquals("mvTestDup", result_row[0][0]) + assertEquals("mv2", result_row[0][1]) + assertEquals("6", result_row[0][3]) + assertEquals("6", result_row[0][4]) + result_row = sql """show index stats mvTestDup mv3""" + assertEquals(1, result_row.size()) + assertEquals("mvTestDup", result_row[0][0]) + assertEquals("mv3", result_row[0][1]) + assertEquals("4", result_row[0][3]) + assertEquals("4", result_row[0][4]) + } + sql """analyze table mvTestDup with sample rows 4000000""" wait_analyze_finish("mvTestDup") result_sample = sql """SHOW ANALYZE mvTestDup;""" @@ -621,6 +650,38 @@ suite("test_analyze_mv") { verifyTaskStatus(result_sample, "mva_MIN__`value3`", "mv3") verifyTaskStatus(result_sample, "mva_SUM__CAST(`value1` AS bigint)", "mv3") + if (!isCloudMode()) { + // Test row count report and report for nereids + sql """truncate table mvTestDup""" + result_row = sql """show index stats mvTestDup mv3""" + assertEquals(1, result_row.size()) + assertEquals("mvTestDup", result_row[0][0]) + assertEquals("mv3", result_row[0][1]) + assertEquals("0", result_row[0][3]) + assertEquals("-1", result_row[0][4]) + + for (int i = 0; i < 120; i++) { + result_row = sql """show index stats mvTestDup mv3""" + logger.info("mv3 stats: " + result_row) + if (result_row[0][4] == "0") { + break; + } + Thread.sleep(5000) + } + result_row = sql """show index stats mvTestDup mv3""" + assertEquals(1, result_row.size()) + assertEquals("mvTestDup", result_row[0][0]) + assertEquals("mv3", result_row[0][1]) + assertEquals("0", result_row[0][3]) + assertEquals("0", result_row[0][4]) + sql """insert into mvTestDup values (1, 2, 3, 4, 5), (1, 2, 3, 4, 5), (10, 20, 30, 40, 50), (10, 20, 30, 40, 50), (100, 200, 300, 400, 500), (1001, 2001, 3001, 4001, 5001);""" + result_row = sql """show index stats mvTestDup mv3""" + assertEquals(1, result_row.size()) + assertEquals("mvTestDup", result_row[0][0]) + assertEquals("mv3", result_row[0][1]) + assertEquals("-1", result_row[0][4]) + } + // Test alter column stats sql """drop stats mvTestDup""" sql """alter table mvTestDup modify column key1 set stats ('ndv'='1', 'num_nulls'='1', 'min_value'='10', 'max_value'='40', 'row_count'='50');""" From c45ac4fbcdf9cac839b3a9fc99d038ef52167d47 Mon Sep 17 00:00:00 2001 From: walter Date: Sun, 8 Sep 2024 01:21:20 +0800 Subject: [PATCH 113/199] [feature](restore) support atomic restore (#40353) Previously, during a restore job, if the OLAP table already existed, it would be marked with a RESTORE status, preventing any read or write operations. This PR introduces an atomic restore feature. If enabled, data will first be loaded into a temporary table during the restore, and then atomically replace the original table, ensuring that the target table's read and write operations remain unaffected during the restore process. --- be/src/olap/snapshot_manager.cpp | 36 +- be/src/olap/snapshot_manager.h | 1 + be/src/olap/tablet_manager.cpp | 16 +- .../apache/doris/analysis/RestoreStmt.java | 9 + .../apache/doris/backup/BackupHandler.java | 6 +- .../doris/backup/RestoreFileMapping.java | 18 +- .../org/apache/doris/backup/RestoreJob.java | 313 +++++++++++++++--- .../doris/service/FrontendServiceImpl.java | 3 + .../org/apache/doris/task/SnapshotTask.java | 13 +- .../doris/backup/RestoreFileMappingTest.java | 6 +- .../apache/doris/backup/RestoreJobTest.java | 3 +- gensrc/thrift/AgentService.thrift | 1 + gensrc/thrift/FrontendService.thrift | 1 + .../test_backup_restore_atomic.out | 78 +++++ .../test_backup_restore_atomic.groovy | 209 ++++++++++++ 15 files changed, 646 insertions(+), 67 deletions(-) create mode 100644 regression-test/data/backup_restore/test_backup_restore_atomic.out create mode 100644 regression-test/suites/backup_restore/test_backup_restore_atomic.groovy diff --git a/be/src/olap/snapshot_manager.cpp b/be/src/olap/snapshot_manager.cpp index 1aa0229ee6523c..c7790f6f354ec2 100644 --- a/be/src/olap/snapshot_manager.cpp +++ b/be/src/olap/snapshot_manager.cpp @@ -82,15 +82,26 @@ Status SnapshotManager::make_snapshot(const TSnapshotRequest& request, string* s return Status::Error("output parameter cannot be null"); } - TabletSharedPtr ref_tablet = _engine.tablet_manager()->get_tablet(request.tablet_id); + TabletSharedPtr target_tablet = _engine.tablet_manager()->get_tablet(request.tablet_id); - DBUG_EXECUTE_IF("SnapshotManager::make_snapshot.inject_failure", { ref_tablet = nullptr; }) + DBUG_EXECUTE_IF("SnapshotManager::make_snapshot.inject_failure", { target_tablet = nullptr; }) - if (ref_tablet == nullptr) { + if (target_tablet == nullptr) { return Status::Error("failed to get tablet. tablet={}", request.tablet_id); } - res = _create_snapshot_files(ref_tablet, request, snapshot_path, allow_incremental_clone); + TabletSharedPtr ref_tablet = target_tablet; + if (request.__isset.ref_tablet_id) { + int64_t ref_tablet_id = request.ref_tablet_id; + ref_tablet = _engine.tablet_manager()->get_tablet(ref_tablet_id); + if (ref_tablet == nullptr) { + return Status::Error("failed to get ref tablet. tablet={}", + ref_tablet_id); + } + } + + res = _create_snapshot_files(ref_tablet, target_tablet, request, snapshot_path, + allow_incremental_clone); if (!res.ok()) { LOG(WARNING) << "failed to make snapshot. res=" << res << " tablet=" << request.tablet_id; @@ -347,6 +358,7 @@ Status SnapshotManager::_link_index_and_data_files( } Status SnapshotManager::_create_snapshot_files(const TabletSharedPtr& ref_tablet, + const TabletSharedPtr& target_tablet, const TSnapshotRequest& request, string* snapshot_path, bool* allow_incremental_clone) { @@ -366,10 +378,10 @@ Status SnapshotManager::_create_snapshot_files(const TabletSharedPtr& ref_tablet timeout_s = request.timeout; } std::string snapshot_id_path; - res = _calc_snapshot_id_path(ref_tablet, timeout_s, &snapshot_id_path); + res = _calc_snapshot_id_path(target_tablet, timeout_s, &snapshot_id_path); if (!res.ok()) { - LOG(WARNING) << "failed to calc snapshot_id_path, ref tablet=" - << ref_tablet->data_dir()->path(); + LOG(WARNING) << "failed to calc snapshot_id_path, tablet=" + << target_tablet->data_dir()->path(); return res; } @@ -377,12 +389,12 @@ Status SnapshotManager::_create_snapshot_files(const TabletSharedPtr& ref_tablet // schema_full_path_desc.filepath: // /snapshot_id_path/tablet_id/schema_hash/ - auto schema_full_path = get_schema_hash_full_path(ref_tablet, snapshot_id_path); + auto schema_full_path = get_schema_hash_full_path(target_tablet, snapshot_id_path); // header_path: // /schema_full_path/tablet_id.hdr - auto header_path = _get_header_full_path(ref_tablet, schema_full_path); + auto header_path = _get_header_full_path(target_tablet, schema_full_path); // /schema_full_path/tablet_id.hdr.json - auto json_header_path = _get_json_header_full_path(ref_tablet, schema_full_path); + auto json_header_path = _get_json_header_full_path(target_tablet, schema_full_path); bool exists = true; RETURN_IF_ERROR(io::global_local_filesystem()->exists(schema_full_path, &exists)); if (exists) { @@ -564,7 +576,9 @@ Status SnapshotManager::_create_snapshot_files(const TabletSharedPtr& ref_tablet << rs->rowset_meta()->empty(); } if (!res.ok()) { - LOG(WARNING) << "fail to create hard link. [path=" << snapshot_id_path << "]"; + LOG(WARNING) << "fail to create hard link. path=" << snapshot_id_path + << " tablet=" << target_tablet->tablet_id() + << " ref tablet=" << ref_tablet->tablet_id(); break; } diff --git a/be/src/olap/snapshot_manager.h b/be/src/olap/snapshot_manager.h index df2b1b33b271eb..dd10f7f355058b 100644 --- a/be/src/olap/snapshot_manager.h +++ b/be/src/olap/snapshot_manager.h @@ -72,6 +72,7 @@ class SnapshotManager { const std::vector& consistent_rowsets); Status _create_snapshot_files(const TabletSharedPtr& ref_tablet, + const TabletSharedPtr& target_tablet, const TSnapshotRequest& request, std::string* snapshot_path, bool* allow_incremental_clone); diff --git a/be/src/olap/tablet_manager.cpp b/be/src/olap/tablet_manager.cpp index 6525e9185dac35..bc883185465629 100644 --- a/be/src/olap/tablet_manager.cpp +++ b/be/src/olap/tablet_manager.cpp @@ -279,9 +279,11 @@ Status TabletManager::create_tablet(const TCreateTabletReq& request, std::vector // we need use write lock on shard-1 and then use read lock on shard-2 // if there have create rollup tablet C(assume on shard-2) from tablet D(assume on shard-1) at the same time, we will meet deadlock std::unique_lock two_tablet_lock(_two_tablet_mtx, std::defer_lock); - bool is_schema_change = request.__isset.base_tablet_id && request.base_tablet_id > 0; - bool need_two_lock = is_schema_change && ((_tablets_shards_mask & request.base_tablet_id) != - (_tablets_shards_mask & tablet_id)); + bool is_schema_change_or_atomic_restore = + request.__isset.base_tablet_id && request.base_tablet_id > 0; + bool need_two_lock = + is_schema_change_or_atomic_restore && + ((_tablets_shards_mask & request.base_tablet_id) != (_tablets_shards_mask & tablet_id)); if (need_two_lock) { SCOPED_TIMER(ADD_TIMER(profile, "GetTwoTableLock")); two_tablet_lock.lock(); @@ -310,7 +312,7 @@ Status TabletManager::create_tablet(const TCreateTabletReq& request, std::vector TabletSharedPtr base_tablet = nullptr; // If the CreateTabletReq has base_tablet_id then it is a alter-tablet request - if (is_schema_change) { + if (is_schema_change_or_atomic_restore) { // if base_tablet_id's lock diffrent with new_tablet_id, we need lock it. if (need_two_lock) { SCOPED_TIMER(ADD_TIMER(profile, "GetBaseTablet")); @@ -327,7 +329,7 @@ Status TabletManager::create_tablet(const TCreateTabletReq& request, std::vector "new_tablet_id={}, base_tablet_id={}", tablet_id, request.base_tablet_id); } - // If we are doing schema-change, we should use the same data dir + // If we are doing schema-change or atomic-restore, we should use the same data dir // TODO(lingbin): A litter trick here, the directory should be determined before // entering this method if (request.storage_medium == base_tablet->data_dir()->storage_medium()) { @@ -337,8 +339,8 @@ Status TabletManager::create_tablet(const TCreateTabletReq& request, std::vector } // set alter type to schema-change. it is useless - TabletSharedPtr tablet = _internal_create_tablet_unlocked(request, is_schema_change, - base_tablet.get(), stores, profile); + TabletSharedPtr tablet = _internal_create_tablet_unlocked( + request, is_schema_change_or_atomic_restore, base_tablet.get(), stores, profile); if (tablet == nullptr) { DorisMetrics::instance()->create_tablet_requests_failed->increment(1); return Status::Error("fail to create tablet. tablet_id={}", diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/RestoreStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/RestoreStmt.java index 35120b5fa11bcc..bc38cfe09e5606 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/RestoreStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/RestoreStmt.java @@ -43,6 +43,7 @@ public class RestoreStmt extends AbstractBackupStmt implements NotFallbackInPars public static final String PROP_RESERVE_DYNAMIC_PARTITION_ENABLE = "reserve_dynamic_partition_enable"; public static final String PROP_CLEAN_TABLES = "clean_tables"; public static final String PROP_CLEAN_PARTITIONS = "clean_partitions"; + public static final String PROP_ATOMIC_RESTORE = "atomic_restore"; private boolean allowLoad = false; private ReplicaAllocation replicaAlloc = ReplicaAllocation.DEFAULT_ALLOCATION; @@ -54,6 +55,7 @@ public class RestoreStmt extends AbstractBackupStmt implements NotFallbackInPars private boolean isBeingSynced = false; private boolean isCleanTables = false; private boolean isCleanPartitions = false; + private boolean isAtomicRestore = false; private byte[] meta = null; private byte[] jobInfo = null; @@ -121,6 +123,10 @@ public boolean isCleanPartitions() { return isCleanPartitions; } + public boolean isAtomicRestore() { + return isAtomicRestore; + } + @Override public void analyze(Analyzer analyzer) throws UserException { if (repoName.equals(Repository.KEEP_ON_LOCAL_REPO_NAME)) { @@ -203,6 +209,9 @@ public void analyzeProperties() throws AnalysisException { // is clean partitions isCleanPartitions = eatBooleanProperty(copiedProperties, PROP_CLEAN_PARTITIONS, isCleanPartitions); + // is atomic restore + isAtomicRestore = eatBooleanProperty(copiedProperties, PROP_ATOMIC_RESTORE, isAtomicRestore); + if (!copiedProperties.isEmpty()) { ErrorReport.reportAnalysisException(ErrorCode.ERR_COMMON_ERROR, "Unknown restore job properties: " + copiedProperties.keySet()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java b/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java index a2cb84e7b8a7db..25cc08f93f7210 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java +++ b/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java @@ -531,12 +531,14 @@ private void restore(Repository repository, Database db, RestoreStmt stmt) throw db.getId(), db.getFullName(), jobInfo, stmt.allowLoad(), stmt.getReplicaAlloc(), stmt.getTimeoutMs(), metaVersion, stmt.reserveReplica(), stmt.reserveDynamicPartitionEnable(), stmt.isBeingSynced(), - stmt.isCleanTables(), stmt.isCleanPartitions(), env, Repository.KEEP_ON_LOCAL_REPO_ID, backupMeta); + stmt.isCleanTables(), stmt.isCleanPartitions(), stmt.isAtomicRestore(), + env, Repository.KEEP_ON_LOCAL_REPO_ID, backupMeta); } else { restoreJob = new RestoreJob(stmt.getLabel(), stmt.getBackupTimestamp(), db.getId(), db.getFullName(), jobInfo, stmt.allowLoad(), stmt.getReplicaAlloc(), stmt.getTimeoutMs(), stmt.getMetaVersion(), stmt.reserveReplica(), stmt.reserveDynamicPartitionEnable(), - stmt.isBeingSynced(), stmt.isCleanTables(), stmt.isCleanPartitions(), env, repository.getId()); + stmt.isBeingSynced(), stmt.isCleanTables(), stmt.isCleanPartitions(), stmt.isAtomicRestore(), + env, repository.getId()); } env.getEditLog().logRestoreJob(restoreJob); diff --git a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreFileMapping.java b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreFileMapping.java index 4bb791d84d75de..78314602d5cab6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreFileMapping.java +++ b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreFileMapping.java @@ -45,7 +45,7 @@ private IdChain() { } public IdChain(Long... ids) { - Preconditions.checkState(ids.length == 5); + Preconditions.checkState(ids.length == 6); chain = ids; } @@ -69,6 +69,14 @@ public long getReplicaId() { return chain[4]; } + public boolean hasRefTabletId() { + return chain.length >= 6 && chain[5] != -1L; + } + + public long getRefTabletId() { + return chain[5]; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -84,8 +92,12 @@ public boolean equals(Object obj) { return false; } + if (((IdChain) obj).chain.length != chain.length) { + return false; + } + IdChain other = (IdChain) obj; - for (int i = 0; i < 5; i++) { + for (int i = 0; i < chain.length; i++) { // DO NOT use ==, Long_1 != Long_2 if (!chain[i].equals(other.chain[i])) { return false; @@ -98,7 +110,7 @@ public boolean equals(Object obj) { @Override public int hashCode() { int code = chain[0].hashCode(); - for (int i = 1; i < 5; i++) { + for (int i = 1; i < chain.length; i++) { code ^= chain[i].hashCode(); } return code; diff --git a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java index 44ccdd44f74c4b..b499a9b525ea88 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java @@ -118,6 +118,8 @@ public class RestoreJob extends AbstractJob implements GsonPostProcessable { private static final String PROP_IS_BEING_SYNCED = PropertyAnalyzer.PROPERTIES_IS_BEING_SYNCED; private static final String PROP_CLEAN_TABLES = RestoreStmt.PROP_CLEAN_TABLES; private static final String PROP_CLEAN_PARTITIONS = RestoreStmt.PROP_CLEAN_PARTITIONS; + private static final String PROP_ATOMIC_RESTORE = RestoreStmt.PROP_ATOMIC_RESTORE; + private static final String ATOMIC_RESTORE_TABLE_PREFIX = "__doris_atomic_restore_prefix__"; private static final Logger LOG = LogManager.getLogger(RestoreJob.class); @@ -201,6 +203,8 @@ public enum RestoreJobState { private boolean isCleanTables = false; // Whether to delete existing partitions that are not involved in the restore. private boolean isCleanPartitions = false; + // Whether to restore the data into a temp table, and then replace the origin one. + private boolean isAtomicRestore = false; // restore properties @SerializedName("prop") @@ -213,7 +217,7 @@ public RestoreJob() { public RestoreJob(String label, String backupTs, long dbId, String dbName, BackupJobInfo jobInfo, boolean allowLoad, ReplicaAllocation replicaAlloc, long timeoutMs, int metaVersion, boolean reserveReplica, boolean reserveDynamicPartitionEnable, boolean isBeingSynced, boolean isCleanTables, - boolean isCleanPartitions, Env env, long repoId) { + boolean isCleanPartitions, boolean isAtomicRestore, Env env, long repoId) { super(JobType.RESTORE, label, dbId, dbName, timeoutMs, env, repoId); this.backupTimestamp = backupTs; this.jobInfo = jobInfo; @@ -230,19 +234,22 @@ public RestoreJob(String label, String backupTs, long dbId, String dbName, Backu this.isBeingSynced = isBeingSynced; this.isCleanTables = isCleanTables; this.isCleanPartitions = isCleanPartitions; + this.isAtomicRestore = isAtomicRestore; properties.put(PROP_RESERVE_REPLICA, String.valueOf(reserveReplica)); properties.put(PROP_RESERVE_DYNAMIC_PARTITION_ENABLE, String.valueOf(reserveDynamicPartitionEnable)); properties.put(PROP_IS_BEING_SYNCED, String.valueOf(isBeingSynced)); properties.put(PROP_CLEAN_TABLES, String.valueOf(isCleanTables)); properties.put(PROP_CLEAN_PARTITIONS, String.valueOf(isCleanPartitions)); + properties.put(PROP_ATOMIC_RESTORE, String.valueOf(isAtomicRestore)); } public RestoreJob(String label, String backupTs, long dbId, String dbName, BackupJobInfo jobInfo, boolean allowLoad, ReplicaAllocation replicaAlloc, long timeoutMs, int metaVersion, boolean reserveReplica, boolean reserveDynamicPartitionEnable, boolean isBeingSynced, boolean isCleanTables, - boolean isCleanPartitions, Env env, long repoId, BackupMeta backupMeta) { + boolean isCleanPartitions, boolean isAtomicRestore, Env env, long repoId, BackupMeta backupMeta) { this(label, backupTs, dbId, dbName, jobInfo, allowLoad, replicaAlloc, timeoutMs, metaVersion, reserveReplica, - reserveDynamicPartitionEnable, isBeingSynced, isCleanTables, isCleanPartitions, env, repoId); + reserveDynamicPartitionEnable, isBeingSynced, isCleanTables, isCleanPartitions, isAtomicRestore, env, + repoId); this.backupMeta = backupMeta; } @@ -538,8 +545,10 @@ private void checkAndPrepareMeta() { } Preconditions.checkNotNull(backupMeta); - // Set all restored tbls' state to RESTORE - // Table's origin state must be NORMAL and does not have unfinished load job. + // Check the olap table state. + // + // If isAtomicRestore is not set, set all restored tbls' state to RESTORE, + // the table's origin state must be NORMAL and does not have unfinished load job. for (String tableName : jobInfo.backupOlapTableObjects.keySet()) { Table tbl = db.getTableNullable(jobInfo.getAliasByOriginNameIfSet(tableName)); if (tbl == null) { @@ -567,6 +576,11 @@ private void checkAndPrepareMeta() { return; } + if (isAtomicRestore) { + // We will create new OlapTable in atomic restore, so does not set the RESTORE state. + continue; + } + for (Partition partition : olapTbl.getPartitions()) { if (!env.getLoadInstance().checkPartitionLoadFinished(partition.getId(), null)) { status = new Status(ErrCode.COMMON_ERROR, @@ -628,6 +642,9 @@ private void checkAndPrepareMeta() { } } + // the new tablets -> { local tablet, schema hash }, used in atomic restore. + Map> tabletBases = null; + // Check and prepare meta objects. AgentBatchTask batchTask = new AgentBatchTask(); db.readLock(); @@ -638,14 +655,15 @@ private void checkAndPrepareMeta() { Table remoteTbl = backupMeta.getTable(tableName); Preconditions.checkNotNull(remoteTbl); Table localTbl = db.getTableNullable(jobInfo.getAliasByOriginNameIfSet(tableName)); + if (localTbl != null && localTbl.getType() != TableType.OLAP) { + // table already exist, but is not OLAP + status = new Status(ErrCode.COMMON_ERROR, + "The type of local table should be same as type of remote table: " + + remoteTbl.getName()); + return; + } + if (localTbl != null) { - // table already exist, check schema - if (localTbl.getType() != TableType.OLAP) { - status = new Status(ErrCode.COMMON_ERROR, - "The type of local table should be same as type of remote table: " - + remoteTbl.getName()); - return; - } OlapTable localOlapTbl = (OlapTable) localTbl; OlapTable remoteOlapTbl = (OlapTable) remoteTbl; @@ -691,28 +709,26 @@ private void checkAndPrepareMeta() { PartitionItem localItem = localPartInfo.getItem(localPartition.getId()); PartitionItem remoteItem = remoteOlapTbl .getPartitionInfo().getItem(backupPartInfo.id); - if (localItem.equals(remoteItem)) { - // Same partition, same range - if (genFileMappingWhenBackupReplicasEqual(localPartInfo, localPartition, - localTbl, backupPartInfo, partitionName, tblInfo, remoteReplicaAlloc)) { - return; - } - } else { + if (!localItem.equals(remoteItem)) { // Same partition name, different range status = new Status(ErrCode.COMMON_ERROR, "Partition " + partitionName + " in table " + localTbl.getName() + " has different partition item with partition in repository"); return; } - } else { - // If this is a single partitioned table. - if (genFileMappingWhenBackupReplicasEqual(localPartInfo, localPartition, localTbl, - backupPartInfo, partitionName, tblInfo, remoteReplicaAlloc)) { - return; - } } - } else { + if (isAtomicRestore) { + // skip gen file mapping for atomic restore. + continue; + } + + // Same partition, same range or a single partitioned table. + if (genFileMappingWhenBackupReplicasEqual(localPartInfo, localPartition, + localTbl, backupPartInfo, partitionName, tblInfo, remoteReplicaAlloc)) { + return; + } + } else if (!isAtomicRestore) { // partitions does not exist PartitionInfo localPartitionInfo = localOlapTbl.getPartitionInfo(); if (localPartitionInfo.getType() == PartitionType.RANGE @@ -752,8 +768,10 @@ private void checkAndPrepareMeta() { } finally { localOlapTbl.readUnlock(); } - } else { - // Table does not exist + } + + // Table does not exist or atomic restore + if (localTbl == null || isAtomicRestore) { OlapTable remoteOlapTbl = (OlapTable) remoteTbl; // Retain only expected restore partitions in this table; Set allPartNames = remoteOlapTbl.getPartitionNames(); @@ -781,6 +799,15 @@ private void checkAndPrepareMeta() { // DO NOT set remote table's new name here, cause we will still need the origin name later // remoteOlapTbl.setName(jobInfo.getAliasByOriginNameIfSet(tblInfo.name)); remoteOlapTbl.setState(allowLoad ? OlapTableState.RESTORE_WITH_LOAD : OlapTableState.RESTORE); + + if (isAtomicRestore && localTbl != null) { + // bind the backends and base tablets from local tbl. + tabletBases = bindLocalAndRemoteOlapTableReplicas((OlapTable) localTbl, remoteOlapTbl); + if (!status.ok()) { + return; + } + } + if (LOG.isDebugEnabled()) { LOG.debug("put remote table {} to restoredTbls", remoteOlapTbl.getName()); } @@ -837,6 +864,9 @@ private void checkAndPrepareMeta() { // for now, nothing is modified in catalog // generate create replica tasks for all restored partitions + if (isAtomicRestore && !restoredPartitions.isEmpty()) { + throw new RuntimeException("atomic restore is set, but the restored partitions is not empty"); + } for (Pair entry : restoredPartitions) { OlapTable localTbl = (OlapTable) db.getTableNullable(entry.first); Preconditions.checkNotNull(localTbl, localTbl.getName()); @@ -860,7 +890,8 @@ private void checkAndPrepareMeta() { BackupOlapTableInfo backupOlapTableInfo = jobInfo.getOlapTableInfo(restoreOlapTable.getName()); genFileMapping(restoreOlapTable, restorePart, backupOlapTableInfo.id, backupOlapTableInfo.getPartInfo(restorePart.getName()), - !allowLoad /* if allow load, do not overwrite when commit */); + !allowLoad /* if allow load, do not overwrite when commit */, + tabletBases); } } // set restored table's new name after all 'genFileMapping' @@ -868,6 +899,9 @@ private void checkAndPrepareMeta() { if (Env.isStoredTableNamesLowerCase()) { tableName = tableName.toLowerCase(); } + if (isAtomicRestore) { + tableName = tableAliasWithAtomicRestore(tableName); + } restoreTbl.setName(tableName); } @@ -991,6 +1025,77 @@ private void checkAndPrepareMeta() { // No log here, PENDING state restore job will redo this method } + private Map> bindLocalAndRemoteOlapTableReplicas( + OlapTable localOlapTbl, OlapTable remoteOlapTbl) { + Map> tabletBases = new HashMap<>(); + + localOlapTbl.readLock(); + try { + for (Partition partition : remoteOlapTbl.getPartitions()) { + Partition localPartition = localOlapTbl.getPartition(partition.getName()); + if (localPartition == null) { + continue; + } + for (MaterializedIndex index : partition.getMaterializedIndices(IndexExtState.VISIBLE)) { + String indexName = remoteOlapTbl.getIndexNameById(index.getId()); + Long localIndexId = localOlapTbl.getIndexIdByName(indexName); + MaterializedIndex localIndex = localIndexId == null ? null : localPartition.getIndex(localIndexId); + if (localIndex == null) { + continue; + } + int schemaHash = localOlapTbl.getSchemaHashByIndexId(localIndexId); + if (schemaHash == -1) { + status = new Status(ErrCode.COMMON_ERROR, String.format( + "schema hash of local index %d is not found, remote table=%d, remote index=%d, " + + "local table=%d, local index=%d", localIndexId, remoteOlapTbl.getId(), index.getId(), + localOlapTbl.getId(), localIndexId)); + return null; + } + + List localTablets = localIndex.getTablets(); + List remoteTablets = index.getTablets(); + if (localTablets.size() != remoteTablets.size()) { + status = new Status(ErrCode.COMMON_ERROR, String.format( + "the size of local tablet %s is not equals to the remote %s, " + + "is_atomic_restore=true, remote table=%d, remote index=%d, " + + "local table=%d, local index=%d", localTablets.size(), remoteTablets.size(), + remoteOlapTbl.getId(), index.getId(), localOlapTbl.getId(), localIndexId)); + return null; + } + for (int i = 0; i < remoteTablets.size(); i++) { + Tablet localTablet = localTablets.get(i); + Tablet remoteTablet = remoteTablets.get(i); + List localReplicas = localTablet.getReplicas(); + List remoteReplicas = remoteTablet.getReplicas(); + if (localReplicas.size() != remoteReplicas.size()) { + status = new Status(ErrCode.COMMON_ERROR, String.format( + "the size of local replicas %s is not equals to the remote %s, " + + "is_atomic_restore=true, remote table=%d, remote index=%d, " + + "local table=%d, local index=%d, local replicas=%d, remote replicas=%d", + localTablets.size(), remoteTablets.size(), remoteOlapTbl.getId(), + index.getId(), localOlapTbl.getId(), localIndexId, localReplicas.size(), + remoteReplicas.size())); + return null; + } + for (int j = 0; j < remoteReplicas.size(); j++) { + long backendId = localReplicas.get(j).getBackendId(); + remoteReplicas.get(j).setBackendId(backendId); + if (LOG.isDebugEnabled()) { + LOG.debug("bind local replica {} and remote replica {} with same backend {}, table={}", + localReplicas.get(j).getId(), remoteReplicas.get(j).getId(), backendId, + localOlapTbl.getName()); + } + } + tabletBases.put(remoteTablet.getId(), Pair.of(localTablet.getId(), schemaHash)); + } + } + } + } finally { + localOlapTbl.readUnlock(); + } + return tabletBases; + } + private void prepareAndSendSnapshotTaskForOlapTable(Database db) { LOG.info("begin to make snapshot. {} when restore content is ALL", this); // begin to make snapshots for all replicas @@ -1002,7 +1107,8 @@ private void prepareAndSendSnapshotTaskForOlapTable(Database db) { AgentBatchTask batchTask = new AgentBatchTask(); db.readLock(); try { - for (IdChain idChain : fileMapping.getMapping().keySet()) { + for (Map.Entry entry : fileMapping.getMapping().entrySet()) { + IdChain idChain = entry.getKey(); OlapTable tbl = (OlapTable) db.getTableNullable(idChain.getTblId()); tbl.readLock(); try { @@ -1011,9 +1117,15 @@ private void prepareAndSendSnapshotTaskForOlapTable(Database db) { Tablet tablet = index.getTablet(idChain.getTabletId()); Replica replica = tablet.getReplicaById(idChain.getReplicaId()); long signature = env.getNextId(); + boolean isRestoreTask = true; + // We don't care the visible version in restore job, the end version is used. + long visibleVersion = -1L; SnapshotTask task = new SnapshotTask(null, replica.getBackendId(), signature, jobId, db.getId(), - tbl.getId(), part.getId(), index.getId(), tablet.getId(), part.getVisibleVersion(), - tbl.getSchemaHashByIndexId(index.getId()), timeoutMs, true /* is restore task*/); + tbl.getId(), part.getId(), index.getId(), tablet.getId(), visibleVersion, + tbl.getSchemaHashByIndexId(index.getId()), timeoutMs, isRestoreTask); + if (entry.getValue().hasRefTabletId()) { + task.setRefTabletId(entry.getValue().getRefTabletId()); + } batchTask.addTask(task); unfinishedSignatureToId.put(signature, tablet.getId()); bePathsMap.put(replica.getBackendId(), replica.getPathHash()); @@ -1101,6 +1213,11 @@ private boolean genFileMappingWhenBackupReplicasEqual(PartitionInfo localPartInf } private void createReplicas(Database db, AgentBatchTask batchTask, OlapTable localTbl, Partition restorePart) { + createReplicas(db, batchTask, localTbl, restorePart, null); + } + + private void createReplicas(Database db, AgentBatchTask batchTask, OlapTable localTbl, Partition restorePart, + Map> tabletBases) { Set bfColumns = localTbl.getCopiedBfColumns(); double bfFpp = localTbl.getBfFpp(); @@ -1153,6 +1270,11 @@ private void createReplicas(Database db, AgentBatchTask batchTask, OlapTable loc localTbl.variantEnableFlattenNested()); task.setInvertedIndexFileStorageFormat(localTbl.getInvertedIndexFileStorageFormat()); task.setInRestoreMode(true); + if (tabletBases != null && tabletBases.containsKey(restoreTablet.getId())) { + // ensure this replica is bound to the same backend disk as the origin table's replica. + Pair baseTablet = tabletBases.get(restoreTablet.getId()); + task.setBaseTablet(baseTablet.first, baseTablet.second); + } batchTask.addTask(task); } } @@ -1235,6 +1357,11 @@ protected Partition resetPartitionForRestore(OlapTable localTbl, OlapTable remot // files in repo to files in local private void genFileMapping(OlapTable localTbl, Partition localPartition, Long remoteTblId, BackupPartitionInfo backupPartInfo, boolean overwrite) { + genFileMapping(localTbl, localPartition, remoteTblId, backupPartInfo, overwrite, null); + } + + private void genFileMapping(OlapTable localTbl, Partition localPartition, Long remoteTblId, + BackupPartitionInfo backupPartInfo, boolean overwrite, Map> tabletBases) { for (MaterializedIndex localIdx : localPartition.getMaterializedIndices(IndexExtState.VISIBLE)) { if (LOG.isDebugEnabled()) { LOG.debug("get index id: {}, index name: {}", localIdx.getId(), @@ -1249,10 +1376,17 @@ private void genFileMapping(OlapTable localTbl, Partition localPartition, Long r LOG.debug("get tablet mapping: {} to {}, index {}", backupTabletInfo.id, localTablet.getId(), i); } for (Replica localReplica : localTablet.getReplicas()) { - IdChain src = new IdChain(remoteTblId, backupPartInfo.id, backupIdxInfo.id, backupTabletInfo.id, - -1L /* no replica id */); - IdChain dest = new IdChain(localTbl.getId(), localPartition.getId(), - localIdx.getId(), localTablet.getId(), localReplica.getId()); + long refTabletId = -1L; + if (tabletBases != null && tabletBases.containsKey(localTablet.getId())) { + refTabletId = tabletBases.get(localTablet.getId()).first; + } + + long noReplicaId = -1L; + long noRefTabletId = -1L; + IdChain src = new IdChain(remoteTblId, backupPartInfo.id, backupIdxInfo.id, + backupTabletInfo.id, noReplicaId, refTabletId); + IdChain dest = new IdChain(localTbl.getId(), localPartition.getId(), localIdx.getId(), + localTablet.getId(), localReplica.getId(), noRefTabletId); fileMapping.putMapping(dest, src, overwrite); } } @@ -1292,6 +1426,11 @@ private void replayCheckAndPrepareMeta() { // replay set all existing tables's state to RESTORE for (String tableName : jobInfo.backupOlapTableObjects.keySet()) { + if (isAtomicRestore) { + // Atomic restore will creates new replica of the OlapTable. + continue; + } + Table tbl = db.getTableNullable(jobInfo.getAliasByOriginNameIfSet(tableName)); if (tbl == null) { continue; @@ -1419,7 +1558,7 @@ private void downloadSnapshots() { } private void downloadRemoteSnapshots() { - // Categorize snapshot onfos by db id. + // Categorize snapshot infos by db id. ArrayListMultimap dbToSnapshotInfos = ArrayListMultimap.create(); for (SnapshotInfo info : snapshotInfos.values()) { dbToSnapshotInfos.put(info.getDbId(), info); @@ -1519,8 +1658,9 @@ private void downloadRemoteSnapshots() { return; } + long refTabletId = -1L; // no ref tablet id IdChain catalogIds = new IdChain(tbl.getId(), part.getId(), idx.getId(), - info.getTabletId(), replica.getId()); + info.getTabletId(), replica.getId(), refTabletId); IdChain repoIds = fileMapping.get(catalogIds); if (repoIds == null) { status = new Status(ErrCode.NOT_FOUND, @@ -1667,8 +1807,9 @@ private void downloadLocalSnapshots() { return; } + long refTabletId = -1L; // no ref tablet id IdChain catalogIds = new IdChain(tbl.getId(), part.getId(), idx.getId(), - info.getTabletId(), replica.getId()); + info.getTabletId(), replica.getId(), refTabletId); IdChain repoIds = fileMapping.get(catalogIds); if (repoIds == null) { status = new Status(ErrCode.NOT_FOUND, @@ -1810,6 +1951,14 @@ private Status allTabletCommitted(boolean isReplay) { return new Status(ErrCode.NOT_FOUND, "database " + dbId + " does not exist"); } + // replace the origin tables in atomic. + if (isAtomicRestore) { + Status st = atomicReplaceOlapTables(db, isReplay); + if (!st.ok()) { + return st; + } + } + // set all restored partition version and version hash // set all tables' state to NORMAL setTableStateToNormalAndUpdateProperties(db, true, isReplay); @@ -2135,6 +2284,86 @@ public void cancelInternal(boolean isReplay) { LOG.info("finished to cancel restore job. is replay: {}. {}", isReplay, this); } + private Status atomicReplaceOlapTables(Database db, boolean isReplay) { + assert isAtomicRestore; + for (String tableName : jobInfo.backupOlapTableObjects.keySet()) { + String originName = jobInfo.getAliasByOriginNameIfSet(tableName); + if (Env.isStoredTableNamesLowerCase()) { + originName = originName.toLowerCase(); + } + String aliasName = tableAliasWithAtomicRestore(originName); + + if (!db.writeLockIfExist()) { + return Status.OK; + } + try { + Table newTbl = db.getTableNullable(aliasName); + if (newTbl == null) { + LOG.warn("replace table from {} to {}, but the temp table is not found", aliasName, originName); + return new Status(ErrCode.COMMON_ERROR, "replace table failed, the temp table " + + aliasName + " is not found"); + } + if (newTbl.getType() != TableType.OLAP) { + LOG.warn("replace table from {} to {}, but the temp table is not OLAP, it type is {}", + aliasName, originName, newTbl.getType()); + return new Status(ErrCode.COMMON_ERROR, "replace table failed, the temp table " + aliasName + + " is not OLAP table, it is " + newTbl.getType()); + } + + OlapTable originOlapTbl = null; + Table originTbl = db.getTableNullable(originName); + if (originTbl != null) { + if (originTbl.getType() != TableType.OLAP) { + LOG.warn("replace table from {} to {}, but the origin table is not OLAP, it type is {}", + aliasName, originName, originTbl.getType()); + return new Status(ErrCode.COMMON_ERROR, "replace table failed, the origin table " + + originName + " is not OLAP table, it is " + originTbl.getType()); + } + originOlapTbl = (OlapTable) originTbl; // save the origin olap table, then drop it. + } + + // replace the table. + OlapTable newOlapTbl = (OlapTable) newTbl; + newOlapTbl.writeLock(); + try { + // rename new table name to origin table name and add the new table to database. + db.unregisterTable(aliasName); + newOlapTbl.checkAndSetName(originName, false); + db.unregisterTable(originName); + db.registerTable(newOlapTbl); + + // set the olap table state to normal immediately for querying + newOlapTbl.setState(OlapTableState.NORMAL); + LOG.info("atomic restore replace table {} name to {}, and set state to normal, origin table={}", + newOlapTbl.getId(), originName, originOlapTbl == null ? -1L : originOlapTbl.getId()); + } catch (DdlException e) { + LOG.warn("atomic restore replace table {} name from {} to {}", + newOlapTbl.getId(), aliasName, originName, e); + return new Status(ErrCode.COMMON_ERROR, "replace table from " + aliasName + " to " + originName + + " failed, reason=" + e.getMessage()); + } finally { + newOlapTbl.writeUnlock(); + } + + if (originOlapTbl != null) { + // The origin table is not used anymore, need to drop all its tablets. + originOlapTbl.writeLock(); + try { + LOG.info("drop the origin olap table {} by atomic restore. table={}", + originOlapTbl.getName(), originOlapTbl.getId()); + Env.getCurrentEnv().onEraseOlapTable(originOlapTbl, isReplay); + } finally { + originOlapTbl.writeUnlock(); + } + } + } finally { + db.writeUnlock(); + } + } + + return Status.OK; + } + private void setTableStateToNormalAndUpdateProperties(Database db, boolean committed, boolean isReplay) { for (String tableName : jobInfo.backupOlapTableObjects.keySet()) { Table tbl = db.getTableNullable(jobInfo.getAliasByOriginNameIfSet(tableName)); @@ -2279,6 +2508,7 @@ public void readFields(DataInput in) throws IOException { isBeingSynced = Boolean.parseBoolean(properties.get(PROP_IS_BEING_SYNCED)); isCleanTables = Boolean.parseBoolean(properties.get(PROP_CLEAN_TABLES)); isCleanPartitions = Boolean.parseBoolean(properties.get(PROP_CLEAN_PARTITIONS)); + isAtomicRestore = Boolean.parseBoolean(properties.get(PROP_ATOMIC_RESTORE)); } @Override @@ -2288,6 +2518,7 @@ public void gsonPostProcess() throws IOException { isBeingSynced = Boolean.parseBoolean(properties.get(PROP_IS_BEING_SYNCED)); isCleanTables = Boolean.parseBoolean(properties.get(PROP_CLEAN_TABLES)); isCleanPartitions = Boolean.parseBoolean(properties.get(PROP_CLEAN_PARTITIONS)); + isAtomicRestore = Boolean.parseBoolean(properties.get(PROP_ATOMIC_RESTORE)); } @Override @@ -2297,4 +2528,8 @@ public String toString() { sb.append(", state: ").append(state.name()); return sb.toString(); } + + private String tableAliasWithAtomicRestore(String tableName) { + return ATOMIC_RESTORE_TABLE_PREFIX + tableName; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java index 77f79bc5768478..6c0077ee311faf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java @@ -3007,6 +3007,9 @@ private TRestoreSnapshotResult restoreSnapshotImpl(TRestoreSnapshotRequest reque if (request.isCleanTables()) { properties.put(RestoreStmt.PROP_CLEAN_TABLES, "true"); } + if (request.isAtomicRestore()) { + properties.put(RestoreStmt.PROP_ATOMIC_RESTORE, "true"); + } AbstractBackupTableRefClause restoreTableRefClause = null; if (request.isSetTableRefs()) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/task/SnapshotTask.java b/fe/fe-core/src/main/java/org/apache/doris/task/SnapshotTask.java index 71b3570f2882f8..81177305683dee 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/task/SnapshotTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/task/SnapshotTask.java @@ -29,6 +29,7 @@ public class SnapshotTask extends AgentTask { private int schemaHash; private long timeoutMs; private boolean isRestoreTask; + private Long refTabletId; // Set to true if this task for AdminCopyTablet. // Otherwise, it is for Backup/Restore operation. @@ -98,13 +99,23 @@ public String getResultSnapshotPath() { return resultSnapshotPath; } + public void setRefTabletId(long refTabletId) { + assert refTabletId > 0; + this.refTabletId = refTabletId; + } + public TSnapshotRequest toThrift() { TSnapshotRequest request = new TSnapshotRequest(tabletId, schemaHash); - request.setVersion(version); request.setListFiles(true); request.setPreferredSnapshotVersion(TypesConstants.TPREFER_SNAPSHOT_REQ_VERSION); request.setTimeout(timeoutMs / 1000); request.setIsCopyTabletTask(isCopyTabletTask); + if (refTabletId != null) { + request.setRefTabletId(refTabletId); + } + if (version > 0L) { + request.setVersion(version); + } return request; } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/backup/RestoreFileMappingTest.java b/fe/fe-core/src/test/java/org/apache/doris/backup/RestoreFileMappingTest.java index d37a63f6d14bf2..85de627fa447b4 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/backup/RestoreFileMappingTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/backup/RestoreFileMappingTest.java @@ -31,14 +31,14 @@ public class RestoreFileMappingTest { @Before public void setUp() { - src = new IdChain(10005L, 10006L, 10005L, 10007L, 10008L); - dest = new IdChain(10004L, 10003L, 10004L, 10007L, -1L); + src = new IdChain(10005L, 10006L, 10005L, 10007L, 10008L, -1L); + dest = new IdChain(10004L, 10003L, 10004L, 10007L, -1L, -1L); fileMapping.putMapping(src, dest, true); } @Test public void test() { - IdChain key = new IdChain(10005L, 10006L, 10005L, 10007L, 10008L); + IdChain key = new IdChain(10005L, 10006L, 10005L, 10007L, 10008L, -1L); Assert.assertEquals(key, src); Assert.assertEquals(src, key); IdChain val = fileMapping.get(key); diff --git a/fe/fe-core/src/test/java/org/apache/doris/backup/RestoreJobTest.java b/fe/fe-core/src/test/java/org/apache/doris/backup/RestoreJobTest.java index 43eb00e38073d5..dadfdb632e394d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/backup/RestoreJobTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/backup/RestoreJobTest.java @@ -256,7 +256,8 @@ boolean await(long timeout, TimeUnit unit) { db.unregisterTable(expectedRestoreTbl.getName()); job = new RestoreJob(label, "2018-01-01 01:01:01", db.getId(), db.getFullName(), jobInfo, false, - new ReplicaAllocation((short) 3), 100000, -1, false, false, false, false, false, env, repo.getId()); + new ReplicaAllocation((short) 3), 100000, -1, false, false, false, false, false, false, + env, repo.getId()); List tbls = Lists.newArrayList(); List resources = Lists.newArrayList(); diff --git a/gensrc/thrift/AgentService.thrift b/gensrc/thrift/AgentService.thrift index 4e9ecdcce60b4d..f02b8c0f88605a 100644 --- a/gensrc/thrift/AgentService.thrift +++ b/gensrc/thrift/AgentService.thrift @@ -389,6 +389,7 @@ struct TSnapshotRequest { 11: optional Types.TVersion start_version 12: optional Types.TVersion end_version 13: optional bool is_copy_binlog + 14: optional Types.TTabletId ref_tablet_id } struct TReleaseSnapshotRequest { diff --git a/gensrc/thrift/FrontendService.thrift b/gensrc/thrift/FrontendService.thrift index 4b3d90ca76299a..9077dbd3cec2c8 100644 --- a/gensrc/thrift/FrontendService.thrift +++ b/gensrc/thrift/FrontendService.thrift @@ -1260,6 +1260,7 @@ struct TRestoreSnapshotRequest { 12: optional binary job_info 13: optional bool clean_tables 14: optional bool clean_partitions + 15: optional bool atomic_restore } struct TRestoreSnapshotResult { diff --git a/regression-test/data/backup_restore/test_backup_restore_atomic.out b/regression-test/data/backup_restore/test_backup_restore_atomic.out new file mode 100644 index 00000000000000..bee7a4da44f1fc --- /dev/null +++ b/regression-test/data/backup_restore/test_backup_restore_atomic.out @@ -0,0 +1,78 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !sql -- +10 10 +20 20 +30 30 +40 40 +50 50 +60 60 +70 70 +80 80 +90 90 +100 100 + +-- !sql -- +10 10 +20 20 + +-- !sql -- +10 10 +20 20 +30 30 +40 40 +50 50 +60 60 +70 70 +80 80 +90 90 +100 100 + +-- !sql -- +10 10 +20 20 +30 30 +40 40 +50 50 +60 60 +70 70 +80 80 +90 90 +100 100 + +-- !sql -- +10 10 +20 20 +30 30 +40 40 +50 50 +60 60 +70 70 +80 80 +90 90 +100 100 + +-- !sql -- +10 10 +20 20 +30 30 +40 40 +50 50 +60 60 +70 70 +80 80 +90 90 +100 100 + +-- !sql -- +10 20 +20 40 +30 60 +40 80 +50 100 +60 120 +70 140 +80 160 +90 180 +100 200 +200 200 + diff --git a/regression-test/suites/backup_restore/test_backup_restore_atomic.groovy b/regression-test/suites/backup_restore/test_backup_restore_atomic.groovy new file mode 100644 index 00000000000000..4b87340fb35aa1 --- /dev/null +++ b/regression-test/suites/backup_restore/test_backup_restore_atomic.groovy @@ -0,0 +1,209 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_backup_restore_atomic", "backup_restore") { + String suiteName = "test_backup_restore_atomic" + String dbName = "${suiteName}_db_1" + String dbName1 = "${suiteName}_db_2" + String repoName = "repo_" + UUID.randomUUID().toString().replace("-", "") + String snapshotName = "${suiteName}_snapshot" + String tableNamePrefix = "${suiteName}_tables" + + def syncer = getSyncer() + syncer.createS3Repository(repoName) + sql "CREATE DATABASE IF NOT EXISTS ${dbName}" + sql "CREATE DATABASE IF NOT EXISTS ${dbName1}" + + // 1. restore to not exists table_0 + // 2. restore partial data to table_1 + // 3. restore less data to table_2 + // 4. restore incremental data to table_3 + int numTables = 4; + List tables = [] + for (int i = 0; i < numTables; ++i) { + String tableName = "${tableNamePrefix}_${i}" + tables.add(tableName) + sql "DROP TABLE IF EXISTS ${dbName}.${tableName}" + sql """ + CREATE TABLE ${dbName}.${tableName} ( + `id` LARGEINT NOT NULL, + `count` LARGEINT SUM DEFAULT "0" + ) + AGGREGATE KEY(`id`) + PARTITION BY RANGE(`id`) + ( + PARTITION p1 VALUES LESS THAN ("10"), + PARTITION p2 VALUES LESS THAN ("20"), + PARTITION p3 VALUES LESS THAN ("30"), + PARTITION p4 VALUES LESS THAN ("40"), + PARTITION p5 VALUES LESS THAN ("50"), + PARTITION p6 VALUES LESS THAN ("60"), + PARTITION p7 VALUES LESS THAN ("120") + ) + DISTRIBUTED BY HASH(`id`) BUCKETS 2 + PROPERTIES + ( + "replication_num" = "1" + ) + """ + } + + // 5. the len of table name equals to the config table_name_length_limit + def maxLabelLen = getFeConfig("table_name_length_limit").toInteger() + def maxTableName = "".padRight(maxLabelLen, "x") + logger.info("config table_name_length_limit = ${maxLabelLen}, table name = ${maxTableName}") + sql "DROP TABLE IF EXISTS ${dbName}.${maxTableName}" + sql """ + CREATE TABLE ${dbName}.${maxTableName} ( + `id` LARGEINT NOT NULL, + `count` LARGEINT SUM DEFAULT "0" + ) + AGGREGATE KEY(`id`) + PARTITION BY RANGE(`id`) + ( + PARTITION p1 VALUES LESS THAN ("10"), + PARTITION p2 VALUES LESS THAN ("20"), + PARTITION p3 VALUES LESS THAN ("30"), + PARTITION p4 VALUES LESS THAN ("40"), + PARTITION p5 VALUES LESS THAN ("50"), + PARTITION p6 VALUES LESS THAN ("60"), + PARTITION p7 VALUES LESS THAN ("120") + ) + DISTRIBUTED BY HASH(`id`) BUCKETS 2 + PROPERTIES + ( + "replication_num" = "1" + ) + """ + tables.add(maxTableName) + + int numRows = 10; + List values = [] + for (int j = 1; j <= numRows; ++j) { + values.add("(${j}0, ${j}0)") + } + + sql "INSERT INTO ${dbName}.${tableNamePrefix}_0 VALUES ${values.join(",")}" + sql "INSERT INTO ${dbName}.${tableNamePrefix}_1 VALUES ${values.join(",")}" + sql "INSERT INTO ${dbName}.${tableNamePrefix}_2 VALUES ${values.join(",")}" + sql "INSERT INTO ${dbName}.${tableNamePrefix}_3 VALUES ${values.join(",")}" + sql "INSERT INTO ${dbName}.${maxTableName} VALUES ${values.join(",")}" + + // the other partitions of table_1 will be drop + sql """ + BACKUP SNAPSHOT ${dbName}.${snapshotName} + TO `${repoName}` + ON ( + ${tableNamePrefix}_0, + ${tableNamePrefix}_1 PARTITION (p1, p2, p3), + ${tableNamePrefix}_2, + ${tableNamePrefix}_3, + ${maxTableName} + ) + """ + + syncer.waitSnapshotFinish(dbName) + + def snapshot = syncer.getSnapshotTimestamp(repoName, snapshotName) + assertTrue(snapshot != null) + + // drop table_0 + sql "DROP TABLE ${dbName}.${tableNamePrefix}_0 FORCE" + + // insert external data to table_2 + sql "INSERT INTO ${dbName}.${tableNamePrefix}_2 VALUES ${values.join(",")}" + + sql "TRUNCATE TABLE ${dbName}.${tableNamePrefix}_3" + + sql """ + RESTORE SNAPSHOT ${dbName}.${snapshotName} + FROM `${repoName}` + PROPERTIES + ( + "backup_timestamp" = "${snapshot}", + "reserve_replica" = "true", + "atomic_restore" = "true" + ) + """ + + syncer.waitAllRestoreFinish(dbName) + + for (def tableName in tables) { + qt_sql "SELECT * FROM ${dbName}.${tableName} ORDER BY id" + } + + // restore table_3 to new db + sql """ + RESTORE SNAPSHOT ${dbName1}.${snapshotName} + FROM `${repoName}` + ON (${tableNamePrefix}_3) + PROPERTIES + ( + "backup_timestamp" = "${snapshot}", + "reserve_replica" = "true", + "atomic_restore" = "true" + ) + """ + + syncer.waitAllRestoreFinish(dbName1) + + qt_sql "SELECT * FROM ${dbName1}.${tableNamePrefix}_3 ORDER BY id" + + // add partition and insert some data. + sql "ALTER TABLE ${dbName}.${tableNamePrefix}_3 ADD PARTITION p8 VALUES LESS THAN MAXVALUE" + sql "INSERT INTO ${dbName}.${tableNamePrefix}_3 VALUES ${values.join(",")}" + sql "INSERT INTO ${dbName}.${tableNamePrefix}_3 VALUES (200, 200)" + + // backup again + snapshotName = "${snapshotName}_1" + sql """ + BACKUP SNAPSHOT ${dbName}.${snapshotName} + TO `${repoName}` + ON (${tableNamePrefix}_3) + """ + + syncer.waitSnapshotFinish(dbName) + + snapshot = syncer.getSnapshotTimestamp(repoName, snapshotName) + assertTrue(snapshot != null) + + // restore with incremental data + sql """ + RESTORE SNAPSHOT ${dbName1}.${snapshotName} + FROM `${repoName}` + ON (${tableNamePrefix}_3) + PROPERTIES + ( + "backup_timestamp" = "${snapshot}", + "reserve_replica" = "true", + "atomic_restore" = "true" + ) + """ + + syncer.waitAllRestoreFinish(dbName1) + + qt_sql "SELECT * FROM ${dbName1}.${tableNamePrefix}_3 ORDER BY id" + + for (def tableName in tables) { + sql "DROP TABLE ${dbName}.${tableName} FORCE" + } + sql "DROP DATABASE ${dbName} FORCE" + sql "DROP DATABASE ${dbName1} FORCE" + sql "DROP REPOSITORY `${repoName}`" +} + + From 390ef1d926218886d94ea874d6a78595c9407f09 Mon Sep 17 00:00:00 2001 From: Lei Zhang <27994433+SWJTU-ZhangLei@users.noreply.github.com> Date: Sun, 8 Sep 2024 01:37:27 +0800 Subject: [PATCH 114/199] [fix](cloud) MS limit max aborted txn num for the same txn label (#40414) --- cloud/src/common/config.h | 3 + cloud/src/meta-service/meta_service_txn.cpp | 16 +- cloud/test/meta_service_test.cpp | 67 +++++++ .../apache/doris/load/loadv2/LoadManager.java | 33 ++-- .../test_stream_load_with_data_quality.csv | 2 + .../test_stream_load_with_data_quality2.csv | 2 + .../test_steam_load_with_data_quality.groovy | 187 ++++++++++++++++++ 7 files changed, 291 insertions(+), 19 deletions(-) create mode 100644 regression-test/data/load_p0/stream_load/test_stream_load_with_data_quality.csv create mode 100644 regression-test/data/load_p0/stream_load/test_stream_load_with_data_quality2.csv create mode 100644 regression-test/suites/load_p0/stream_load/test_steam_load_with_data_quality.groovy diff --git a/cloud/src/common/config.h b/cloud/src/common/config.h index b1db41a6eb734e..2c0eb16268a688 100644 --- a/cloud/src/common/config.h +++ b/cloud/src/common/config.h @@ -215,4 +215,7 @@ CONF_Int32(txn_lazy_max_rowsets_per_batch, "1000"); // max TabletIndexPB num for batch get CONF_Int32(max_tablet_index_num_per_batch, "1000"); + +// Max aborted txn num for the same label name +CONF_mInt64(max_num_aborted_txn, "100"); } // namespace doris::cloud::config diff --git a/cloud/src/meta-service/meta_service_txn.cpp b/cloud/src/meta-service/meta_service_txn.cpp index 5f2638c8d1fa28..2c5b4d6ec9a9de 100644 --- a/cloud/src/meta-service/meta_service_txn.cpp +++ b/cloud/src/meta-service/meta_service_txn.cpp @@ -204,7 +204,8 @@ void MetaServiceImpl::begin_txn(::google::protobuf::RpcController* controller, // 2. if there is a PREPARE transaction, check if this is a retry request. // 3. if there is a non-aborted transaction, throw label already used exception. - for (auto& cur_txn_id : label_pb.txn_ids()) { + for (auto it = label_pb.txn_ids().rbegin(); it != label_pb.txn_ids().rend(); ++it) { + int64_t cur_txn_id = *it; const std::string cur_info_key = txn_info_key({instance_id, db_id, cur_txn_id}); std::string cur_info_val; err = txn->get(cur_info_key, &cur_info_val); @@ -235,8 +236,19 @@ void MetaServiceImpl::begin_txn(::google::protobuf::RpcController* controller, } VLOG_DEBUG << "cur_txn_info=" << cur_txn_info.ShortDebugString(); + LOG(INFO) << " size=" << label_pb.txn_ids().size() + << " status=" << cur_txn_info.status() << " txn_id=" << txn_id + << " label=" << label; if (cur_txn_info.status() == TxnStatusPB::TXN_STATUS_ABORTED) { - continue; + if (label_pb.txn_ids().size() >= config::max_num_aborted_txn) { + code = MetaServiceCode::INVALID_ARGUMENT; + ss << "too many aborted txn for label=" << label << " txn_id=" << txn_id + << ", please check your data quality"; + msg = ss.str(); + LOG(WARNING) << msg << " label_pb=" << label_pb.ShortDebugString(); + return; + } + break; } if (cur_txn_info.status() == TxnStatusPB::TXN_STATUS_PREPARED || diff --git a/cloud/test/meta_service_test.cpp b/cloud/test/meta_service_test.cpp index 7920ce296c5c8d..3baec482710bc4 100644 --- a/cloud/test/meta_service_test.cpp +++ b/cloud/test/meta_service_test.cpp @@ -1326,6 +1326,73 @@ TEST(MetaServiceTest, BeginTxnTest) { ASSERT_GT(res.txn_id(), txn_id); } } + + { + // test reuse label exceed max_num_aborted_txn + + std::string cloud_unique_id = "test_cloud_unique_id"; + int64_t db_id = 124343989; + int64_t table_id = 12897811; + int64_t txn_id = -1; + std::string label = "test_max_num_aborted_txn_label"; + for (int i = 0; i < config::max_num_aborted_txn; i++) { + { + brpc::Controller cntl; + BeginTxnRequest req; + req.set_cloud_unique_id(cloud_unique_id); + TxnInfoPB txn_info; + txn_info.set_db_id(db_id); + txn_info.set_label(label); + txn_info.add_table_ids(table_id); + txn_info.set_timeout_ms(36000); + UniqueIdPB unique_id_pb; + unique_id_pb.set_hi(100); + unique_id_pb.set_lo(10); + txn_info.mutable_request_id()->CopyFrom(unique_id_pb); + req.mutable_txn_info()->CopyFrom(txn_info); + BeginTxnResponse res; + meta_service->begin_txn(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), + &req, &res, nullptr); + ASSERT_EQ(res.status().code(), MetaServiceCode::OK); + txn_id = res.txn_id(); + } + // abort txn + { + brpc::Controller cntl; + AbortTxnRequest req; + req.set_cloud_unique_id(cloud_unique_id); + ASSERT_GT(txn_id, 0); + req.set_txn_id(txn_id); + req.set_reason("test"); + AbortTxnResponse res; + meta_service->abort_txn(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), + &req, &res, nullptr); + ASSERT_EQ(res.status().code(), MetaServiceCode::OK); + ASSERT_EQ(res.txn_info().status(), TxnStatusPB::TXN_STATUS_ABORTED); + } + } + { + brpc::Controller cntl; + BeginTxnRequest req; + req.set_cloud_unique_id(cloud_unique_id); + TxnInfoPB txn_info; + txn_info.set_db_id(db_id); + txn_info.set_label(label); + txn_info.add_table_ids(table_id); + UniqueIdPB unique_id_pb; + unique_id_pb.set_hi(100); + unique_id_pb.set_lo(10); + txn_info.mutable_request_id()->CopyFrom(unique_id_pb); + txn_info.set_timeout_ms(36000); + req.mutable_txn_info()->CopyFrom(txn_info); + BeginTxnResponse res; + meta_service->begin_txn(reinterpret_cast<::google::protobuf::RpcController*>(&cntl), + &req, &res, nullptr); + ASSERT_EQ(res.status().code(), MetaServiceCode::INVALID_ARGUMENT); + ASSERT_TRUE(res.status().msg().find("too many aborted txn for label") != + std::string::npos); + } + } } TEST(MetaServiceTest, PrecommitTest1) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java index 1026689d8f1448..fa446db2144452 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java @@ -851,25 +851,24 @@ private void cleanLabelInternal(long dbId, String label, boolean isReplay) { } } else { List jobs = labelToJob.get(label); - if (jobs == null) { - // no job for this label, just return - return; - } - Iterator iter = jobs.iterator(); - while (iter.hasNext()) { - LoadJob job = iter.next(); - if (!job.isCompleted()) { - continue; + if (jobs != null) { + // stream load labelToJob is null + Iterator iter = jobs.iterator(); + while (iter.hasNext()) { + LoadJob job = iter.next(); + if (!job.isCompleted()) { + continue; + } + if (job instanceof BulkLoadJob) { + ((BulkLoadJob) job).recycleProgress(); + } + iter.remove(); + idToLoadJob.remove(job.getId()); + ++counter; } - if (job instanceof BulkLoadJob) { - ((BulkLoadJob) job).recycleProgress(); + if (jobs.isEmpty()) { + labelToJob.remove(label); } - iter.remove(); - idToLoadJob.remove(job.getId()); - ++counter; - } - if (jobs.isEmpty()) { - labelToJob.remove(label); } } } diff --git a/regression-test/data/load_p0/stream_load/test_stream_load_with_data_quality.csv b/regression-test/data/load_p0/stream_load/test_stream_load_with_data_quality.csv new file mode 100644 index 00000000000000..87940f6901e5f3 --- /dev/null +++ b/regression-test/data/load_p0/stream_load/test_stream_load_with_data_quality.csv @@ -0,0 +1,2 @@ +1, NULL, "xxx", 1 +2, NULL, "yyy", 2 diff --git a/regression-test/data/load_p0/stream_load/test_stream_load_with_data_quality2.csv b/regression-test/data/load_p0/stream_load/test_stream_load_with_data_quality2.csv new file mode 100644 index 00000000000000..b790a8a3e91e2b --- /dev/null +++ b/regression-test/data/load_p0/stream_load/test_stream_load_with_data_quality2.csv @@ -0,0 +1,2 @@ +1, 1, "xxx", 1 +2, 1, "yyy", 2 diff --git a/regression-test/suites/load_p0/stream_load/test_steam_load_with_data_quality.groovy b/regression-test/suites/load_p0/stream_load/test_steam_load_with_data_quality.groovy new file mode 100644 index 00000000000000..923285bf6cea45 --- /dev/null +++ b/regression-test/suites/load_p0/stream_load/test_steam_load_with_data_quality.groovy @@ -0,0 +1,187 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import java.util.Random; + +suite("test_stream_load_with_data_quality", "p0") { + if (!isCloudMode()) { + return; + } + + def tableName = "test_stream_load_with_data_quality" + sql "DROP TABLE IF EXISTS ${tableName}" + + sql """ + CREATE TABLE ${tableName} + ( + siteid INT DEFAULT '10', + citycode SMALLINT NOT NULL, + username VARCHAR(32) DEFAULT '', + pv BIGINT SUM DEFAULT '0' + ) + AGGREGATE KEY(siteid, citycode, username) + DISTRIBUTED BY HASH(siteid) BUCKETS 1; + """ + + String label = UUID.randomUUID().toString().replaceAll("-", "") + + // meta-service max_num_aborted_txn is 100 + for (int i = 0; i < 100; i++) { + streamLoad { + set 'label', "${label}" + set 'column_separator', ',' + table "${tableName}" + time 10000 + file 'test_stream_load_with_data_quality.csv' + check { result, exception, startTime, endTime -> + if (exception != null) { + throw exception + } + log.info("Stream load result: ${result}".toString()) + def json = parseJson(result) + assertEquals("fail", json.Status.toLowerCase()) + assertTrue(json.Message.contains("too many filtered rows")) + assertEquals(2, json.NumberTotalRows) + assertEquals(2, json.NumberFilteredRows) + } + } + } + + streamLoad { + set 'label', "${label}" + set 'column_separator', ',' + table "${tableName}" + time 10000 + file 'test_stream_load_with_data_quality.csv' + check { result, exception, startTime, endTime -> + if (exception != null) { + throw exception + } + log.info("Stream load result: ${result}".toString()) + def json = parseJson(result) + assertEquals("fail", json.Status.toLowerCase()) + assertTrue(json.Message.contains("too many aborted txn")) + } + } + + String dbName = "regression_test_load_p0_stream_load" + test { + sql "clean label ${label} from ${dbName};" + } + + streamLoad { + set 'label', "${label}" + set 'column_separator', ',' + table "${tableName}" + time 10000 + file 'test_stream_load_with_data_quality2.csv' + check { result, exception, startTime, endTime -> + if (exception != null) { + throw exception + } + log.info("Stream load result: ${result}".toString()) + def json = parseJson(result) + assertEquals("success", json.Status.toLowerCase()) + } + } + + test { + sql "clean label ${label} from ${dbName};" + } + + // meta-service max_num_aborted_txn is 100 + for (int i = 0; i < 99; i++) { + streamLoad { + set 'label', "${label}" + set 'column_separator', ',' + table "${tableName}" + time 10000 + file 'test_stream_load_with_data_quality.csv' + check { result, exception, startTime, endTime -> + if (exception != null) { + throw exception + } + log.info("Stream load result: ${result}".toString()) + def json = parseJson(result) + assertEquals("fail", json.Status.toLowerCase()) + assertTrue(json.Message.contains("too many filtered rows")) + assertEquals(2, json.NumberTotalRows) + assertEquals(2, json.NumberFilteredRows) + } + } + } + + streamLoad { + set 'label', "${label}" + set 'column_separator', ',' + table "${tableName}" + time 10000 + file 'test_stream_load_with_data_quality2.csv' + check { result, exception, startTime, endTime -> + if (exception != null) { + throw exception + } + log.info("Stream load result: ${result}".toString()) + def json = parseJson(result) + assertEquals("success", json.Status.toLowerCase()) + } + } + + streamLoad { + set 'label', "${label}" + set 'column_separator', ',' + table "${tableName}" + time 10000 + file 'test_stream_load_with_data_quality2.csv' + check { result, exception, startTime, endTime -> + if (exception != null) { + throw exception + } + log.info("Stream load result: ${result}".toString()) + def json = parseJson(result) + assertEquals("label already exists", json.Status.toLowerCase()) + assertTrue(json.Message.contains("has already been used")) + } + } + + test { + sql "clean label ${label} from ${dbName};" + } + + streamLoad { + set 'label', "${label}" + set 'column_separator', ',' + table "${tableName}" + time 10000 + file 'test_stream_load_with_data_quality2.csv' + check { result, exception, startTime, endTime -> + if (exception != null) { + throw exception + } + log.info("Stream load result: ${result}".toString()) + def json = parseJson(result) + assertEquals("success", json.Status.toLowerCase()) + } + } + + test { + sql "clean label ${label} from ${dbName};" + } + + sql "DROP TABLE IF EXISTS ${tableName}" +} + From 93e19b065664d97ed0d2dc581a463371335def06 Mon Sep 17 00:00:00 2001 From: zhengyu Date: Sun, 8 Sep 2024 17:54:27 +0800 Subject: [PATCH 115/199] [fix](regression) mem gc when load regression failure due to error msg update (#40483) The error msg for memory shortage is changed from "Process has no memory available" to "less than low water mark". Signed-off-by: freemandealer --- .../test_mem_gc_when_load_fault_injection.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/regression-test/suites/fault_injection_p0/test_mem_gc_when_load_fault_injection.groovy b/regression-test/suites/fault_injection_p0/test_mem_gc_when_load_fault_injection.groovy index 852566c0e05fb3..2f72c635df3a51 100644 --- a/regression-test/suites/fault_injection_p0/test_mem_gc_when_load_fault_injection.groovy +++ b/regression-test/suites/fault_injection_p0/test_mem_gc_when_load_fault_injection.groovy @@ -72,7 +72,7 @@ suite("mem_gc_when_load", "nonConcurrent") { GetDebugPoint().enableDebugPointForAllBEs("VNodeChannel.try_send_and_fetch_status_full_gc") sql "insert into test select * from baseall where k1 <= 3" } catch(Exception e) { - assertTrue(e.getMessage().contains("Process has no memory available")) // the msg should contain the root cause + assertTrue(e.getMessage().contains("less than low water mark")) // the msg should contain the root cause } finally { GetDebugPoint().disableDebugPointForAllBEs("VNodeChannel.try_send_and_fetch_status_full_gc") } @@ -82,7 +82,7 @@ suite("mem_gc_when_load", "nonConcurrent") { GetDebugPoint().enableDebugPointForAllBEs("VNodeChannel.close_wait_full_gc") sql "insert into test select * from baseall where k1 <= 3" } catch(Exception e) { - assertTrue(e.getMessage().contains("Process has no memory available")) // the msg should contain the root cause + assertTrue(e.getMessage().contains("less than low water mark")) // the msg should contain the root cause } finally { GetDebugPoint().disableDebugPointForAllBEs("VNodeChannel.close_wait_full_gc") } From ca38271482c045bf56757c32b507e3b0d1e325be Mon Sep 17 00:00:00 2001 From: zhangstar333 <87313068+zhangstar333@users.noreply.github.com> Date: Sun, 8 Sep 2024 18:18:14 +0800 Subject: [PATCH 116/199] [Bug](compatibility) fix agg functions coredump when upgrade (#40472) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Proposed changes before use check (IAggregateFunction::version < AGG_FUNCTION_NULLABLE) and then choose the return type and insert method. but the version maybe update in the same branch-version,and get wrong type so put those function to all of object class alone. --- .../aggregate_function_covar.h | 19 +-- .../aggregate_function_percentile.h | 151 ++++++++++++++---- 2 files changed, 126 insertions(+), 44 deletions(-) diff --git a/be/src/vec/aggregate_functions/aggregate_function_covar.h b/be/src/vec/aggregate_functions/aggregate_function_covar.h index 179e723285e900..9b4b1b70c1fa7f 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_covar.h +++ b/be/src/vec/aggregate_functions/aggregate_function_covar.h @@ -120,8 +120,6 @@ struct BaseData { count += 1; } - static DataTypePtr get_return_type() { return std::make_shared>(); } - double sum_x; double sum_y; double sum_xy; @@ -134,6 +132,7 @@ struct PopData : Data { auto& col = assert_cast(to); col.get_data().push_back(this->get_pop_result()); } + static DataTypePtr get_return_type() { return std::make_shared>(); } }; template @@ -148,6 +147,9 @@ struct SampData_OLDER : Data { nullable_column.get_null_map_data().push_back(0); } } + static DataTypePtr get_return_type() { + return make_nullable(std::make_shared>()); + } }; template @@ -160,6 +162,7 @@ struct SampData : Data { col.get_data().push_back(this->get_samp_result()); } } + static DataTypePtr get_return_type() { return std::make_shared>(); } }; template @@ -184,17 +187,7 @@ class AggregateFunctionSampCovariance String get_name() const override { return Data::name(); } - DataTypePtr get_return_type() const override { - if constexpr (is_pop) { - return Data::get_return_type(); - } else { - if (IAggregateFunction::version < AGG_FUNCTION_NULLABLE) { - return make_nullable(Data::get_return_type()); - } else { - return Data::get_return_type(); - } - } - } + DataTypePtr get_return_type() const override { return Data::get_return_type(); } void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num, Arena*) const override { diff --git a/be/src/vec/aggregate_functions/aggregate_function_percentile.h b/be/src/vec/aggregate_functions/aggregate_function_percentile.h index aae66eb4f78672..cd328a85f3485a 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_percentile.h +++ b/be/src/vec/aggregate_functions/aggregate_function_percentile.h @@ -162,13 +162,6 @@ class AggregateFunctionPercentileApprox String get_name() const override { return "percentile_approx"; } - DataTypePtr get_return_type() const override { - if (IAggregateFunction::version < AGG_FUNCTION_NULLABLE) { - return make_nullable(std::make_shared()); - } - return std::make_shared(); - } - void reset(AggregateDataPtr __restrict place) const override { AggregateFunctionPercentileApprox::data(place).reset(); } @@ -187,30 +180,6 @@ class AggregateFunctionPercentileApprox Arena*) const override { AggregateFunctionPercentileApprox::data(place).read(buf); } - - void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override { - if (IAggregateFunction::version < AGG_FUNCTION_NULLABLE) { - ColumnNullable& nullable_column = assert_cast(to); - double result = AggregateFunctionPercentileApprox::data(place).get(); - - if (std::isnan(result)) { - nullable_column.insert_default(); - } else { - auto& col = assert_cast(nullable_column.get_nested_column()); - col.get_data().push_back(result); - nullable_column.get_null_map_data().push_back(0); - } - } else { - auto& col = assert_cast(to); - double result = AggregateFunctionPercentileApprox::data(place).get(); - - if (std::isnan(result)) { - col.insert_default(); - } else { - col.get_data().push_back(result); - } - } - } }; template @@ -256,6 +225,23 @@ class AggregateFunctionPercentileApproxTwoParams_OLDER : public AggregateFunctio this->data(place).add(sources.get_element(row_num), quantile.get_element(row_num)); } } + + DataTypePtr get_return_type() const override { + return make_nullable(std::make_shared()); + } + + void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override { + auto& nullable_column = assert_cast(to); + double result = AggregateFunctionPercentileApprox::data(place).get(); + + if (std::isnan(result)) { + nullable_column.insert_default(); + } else { + auto& col = assert_cast(nullable_column.get_nested_column()); + col.get_data().push_back(result); + nullable_column.get_null_map_data().push_back(0); + } + } }; class AggregateFunctionPercentileApproxTwoParams : public AggregateFunctionPercentileApprox { @@ -271,6 +257,19 @@ class AggregateFunctionPercentileApproxTwoParams : public AggregateFunctionPerce this->data(place).init(); this->data(place).add(sources.get_element(row_num), quantile.get_element(row_num)); } + + DataTypePtr get_return_type() const override { return std::make_shared(); } + + void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override { + auto& col = assert_cast(to); + double result = AggregateFunctionPercentileApprox::data(place).get(); + + if (std::isnan(result)) { + col.insert_default(); + } else { + col.get_data().push_back(result); + } + } }; template @@ -319,6 +318,23 @@ class AggregateFunctionPercentileApproxThreeParams_OLDER this->data(place).add(sources.get_element(row_num), quantile.get_element(row_num)); } } + + DataTypePtr get_return_type() const override { + return make_nullable(std::make_shared()); + } + + void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override { + auto& nullable_column = assert_cast(to); + double result = AggregateFunctionPercentileApprox::data(place).get(); + + if (std::isnan(result)) { + nullable_column.insert_default(); + } else { + auto& col = assert_cast(nullable_column.get_nested_column()); + col.get_data().push_back(result); + nullable_column.get_null_map_data().push_back(0); + } + } }; class AggregateFunctionPercentileApproxThreeParams : public AggregateFunctionPercentileApprox { @@ -337,6 +353,19 @@ class AggregateFunctionPercentileApproxThreeParams : public AggregateFunctionPer this->data(place).init(compression.get_element(row_num)); this->data(place).add(sources.get_element(row_num), quantile.get_element(row_num)); } + + DataTypePtr get_return_type() const override { return std::make_shared(); } + + void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override { + auto& col = assert_cast(to); + double result = AggregateFunctionPercentileApprox::data(place).get(); + + if (std::isnan(result)) { + col.insert_default(); + } else { + col.get_data().push_back(result); + } + } }; template @@ -390,6 +419,23 @@ class AggregateFunctionPercentileApproxWeightedThreeParams_OLDER quantile.get_element(row_num)); } } + + DataTypePtr get_return_type() const override { + return make_nullable(std::make_shared()); + } + + void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override { + auto& nullable_column = assert_cast(to); + double result = AggregateFunctionPercentileApprox::data(place).get(); + + if (std::isnan(result)) { + nullable_column.insert_default(); + } else { + auto& col = assert_cast(nullable_column.get_nested_column()); + col.get_data().push_back(result); + nullable_column.get_null_map_data().push_back(0); + } + } }; class AggregateFunctionPercentileApproxWeightedThreeParams @@ -411,6 +457,19 @@ class AggregateFunctionPercentileApproxWeightedThreeParams this->data(place).add_with_weight(sources.get_element(row_num), weight.get_element(row_num), quantile.get_element(row_num)); } + + DataTypePtr get_return_type() const override { return std::make_shared(); } + + void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override { + auto& col = assert_cast(to); + double result = AggregateFunctionPercentileApprox::data(place).get(); + + if (std::isnan(result)) { + col.insert_default(); + } else { + col.get_data().push_back(result); + } + } }; template @@ -467,6 +526,23 @@ class AggregateFunctionPercentileApproxWeightedFourParams_OLDER quantile.get_element(row_num)); } } + + DataTypePtr get_return_type() const override { + return make_nullable(std::make_shared()); + } + + void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override { + auto& nullable_column = assert_cast(to); + double result = AggregateFunctionPercentileApprox::data(place).get(); + + if (std::isnan(result)) { + nullable_column.insert_default(); + } else { + auto& col = assert_cast(nullable_column.get_nested_column()); + col.get_data().push_back(result); + nullable_column.get_null_map_data().push_back(0); + } + } }; class AggregateFunctionPercentileApproxWeightedFourParams @@ -489,6 +565,19 @@ class AggregateFunctionPercentileApproxWeightedFourParams this->data(place).add_with_weight(sources.get_element(row_num), weight.get_element(row_num), quantile.get_element(row_num)); } + + DataTypePtr get_return_type() const override { return std::make_shared(); } + + void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override { + auto& col = assert_cast(to); + double result = AggregateFunctionPercentileApprox::data(place).get(); + + if (std::isnan(result)) { + col.insert_default(); + } else { + col.get_data().push_back(result); + } + } }; template From dc706ed49b5d1b45d45ea58e78d39de011c18bc5 Mon Sep 17 00:00:00 2001 From: camby Date: Mon, 9 Sep 2024 10:20:55 +0900 Subject: [PATCH 117/199] [fix](delete_predicate) fix wrong data after upgrade from v2.0 version (#40401) issue: https://github.com/apache/doris/issues/40390 related pr: https://github.com/apache/doris/pull/22442 --- be/src/olap/delete_handler.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/be/src/olap/delete_handler.cpp b/be/src/olap/delete_handler.cpp index 10c6f50b30098d..2f4e77d036b29c 100644 --- a/be/src/olap/delete_handler.cpp +++ b/be/src/olap/delete_handler.cpp @@ -411,7 +411,20 @@ Status DeleteHandler::init(TabletSchemaSPtr tablet_schema, for (const auto& in_predicate : delete_condition.in_predicates()) { TCondition condition; condition.__set_column_name(in_predicate.column_name()); - auto col_unique_id = in_predicate.column_unique_id(); + + int32_t col_unique_id = -1; + if (in_predicate.has_column_unique_id()) { + col_unique_id = in_predicate.column_unique_id(); + } else { + // if upgrade from version 2.0.x, column_unique_id maybe not set + const auto& pre_column = + *DORIS_TRY(delete_pred_related_schema->column(condition.column_name)); + col_unique_id = pre_column.unique_id(); + } + if (col_unique_id == -1) { + return Status::Error( + "cannot get column_unique_id for column {}", condition.column_name); + } condition.__set_column_unique_id(col_unique_id); if (in_predicate.is_not_in()) { From 39c5fb48630eeb5a65dcaafcb6a372799e621407 Mon Sep 17 00:00:00 2001 From: qiye Date: Mon, 9 Sep 2024 10:20:00 +0800 Subject: [PATCH 118/199] [fix](ES Catalog)Fix int parse error when querying by doc_values (#40385) When querying by doc_values, the result may be embrace by quotes, which will lead the int parsing error. --- be/src/exec/es/es_scroll_parser.cpp | 48 +++--- .../external_table_p0/es/test_es_query.out | 152 ++++++++++++++++++ .../external_table_p0/es/test_es_query.groovy | 10 ++ 3 files changed, 190 insertions(+), 20 deletions(-) diff --git a/be/src/exec/es/es_scroll_parser.cpp b/be/src/exec/es/es_scroll_parser.cpp index 3d02e335787d8c..21583c2a9fdecd 100644 --- a/be/src/exec/es/es_scroll_parser.cpp +++ b/be/src/exec/es/es_scroll_parser.cpp @@ -383,31 +383,39 @@ Status insert_int_value(const rapidjson::Value& col, PrimitiveType type, return Status::OK(); } - if (pure_doc_value && col.IsArray() && !col.Empty()) { - RETURN_ERROR_IF_COL_IS_NOT_NUMBER(col[0], type); - T value = (T)(sizeof(T) < 8 ? col[0].GetInt() : col[0].GetInt64()); - col_ptr->insert_data(const_cast(reinterpret_cast(&value)), 0); + auto parse_and_insert_data = [&](const rapidjson::Value& col_value) -> Status { + StringParser::ParseResult result; + std::string val = col_value.GetString(); + // ES allows inserting numbers and characters containing decimals in numeric types. + // To parse these numbers in Doris, we remove the decimals here. + size_t pos = val.find('.'); + if (pos != std::string::npos) { + val = val.substr(0, pos); + } + size_t len = val.length(); + T v = StringParser::string_to_int(val.c_str(), len, &result); + RETURN_ERROR_IF_PARSING_FAILED(result, col_value, type); + + col_ptr->insert_data(const_cast(reinterpret_cast(&v)), 0); return Status::OK(); + }; + + if (pure_doc_value && col.IsArray() && !col.Empty()) { + if (col.IsNumber()) { + RETURN_ERROR_IF_COL_IS_NOT_NUMBER(col[0], type); + T value = (T)(sizeof(T) < 8 ? col[0].GetInt() : col[0].GetInt64()); + col_ptr->insert_data(const_cast(reinterpret_cast(&value)), 0); + return Status::OK(); + } else { + RETURN_ERROR_IF_COL_IS_ARRAY(col[0], type, true); + RETURN_ERROR_IF_COL_IS_NOT_STRING(col[0], type); + return parse_and_insert_data(col[0]); + } } RETURN_ERROR_IF_COL_IS_ARRAY(col, type, true); RETURN_ERROR_IF_COL_IS_NOT_STRING(col, type); - - StringParser::ParseResult result; - std::string val = col.GetString(); - // ES allows inserting numbers and characters containing decimals in numeric types. - // To parse these numbers in Doris, we remove the decimals here. - size_t pos = val.find("."); - if (pos != std::string::npos) { - val = val.substr(0, pos); - } - size_t len = val.length(); - T v = StringParser::string_to_int(val.c_str(), len, &result); - RETURN_ERROR_IF_PARSING_FAILED(result, col, type); - - col_ptr->insert_data(const_cast(reinterpret_cast(&v)), 0); - - return Status::OK(); + return parse_and_insert_data(col); } ScrollParser::ScrollParser(bool doc_value_mode) : _size(0), _line_index(0) {} diff --git a/regression-test/data/external_table_p0/es/test_es_query.out b/regression-test/data/external_table_p0/es/test_es_query.out index ba0c87245a10da..e820e16553c8e1 100644 --- a/regression-test/data/external_table_p0/es/test_es_query.out +++ b/regression-test/data/external_table_p0/es/test_es_query.out @@ -54,6 +54,13 @@ text3_4*5 text3_4*5 text_ignore_above_10 +-- !sql11 -- +2022-08-08T12:10:10 +2022-08-09T12:10:10 +2022-08-10T12:10:10 +2022-08-11T12:10:10 +2022-08-11T12:10:10 + -- !sql20 -- ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] @@ -81,6 +88,13 @@ text_ignore_above_10 [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +-- !sql25 -- +2022-08-08T12:10:10 +2022-08-09T12:10:10 +2022-08-10T12:10:10 +2022-08-11T12:10:10 +2022-08-11T12:10:10 + -- !sql_5_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 @@ -182,6 +196,20 @@ text2 text3_4*5 text_ignore_above_10 +-- !sql_5_25 -- +2022-08-08T12:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 + +-- !sql_5_26 -- +2022-08-08T12:10:10 +2022-08-08T12:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 + -- !sql_6_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 @@ -283,6 +311,20 @@ text2 text3_4*5 text_ignore_above_10 +-- !sql_6_25 -- +2022-08-08T12:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 + +-- !sql_6_26 -- +2022-08-08T12:10:10 +2022-08-08T12:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 + -- !sql_7_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 @@ -423,6 +465,23 @@ text3_4*5 text3_4*5 text_ignore_above_10 +-- !sql_7_32 -- +1659931810000 +1660018210000 +1660104610000 +1660191010000 +1660191010000 + +-- !sql_7_33 -- +1659931810000 +1659931810000 +1660018210000 +1660018210000 +1660104610000 +1660104610000 +1660191010000 +1660191010000 + -- !sql_7_50 -- value1 value2 @@ -563,6 +622,23 @@ text3_4*5 text3_4*5 text_ignore_above_10 +-- !sql_8_30 -- +1659931810000 +1660018210000 +1660104610000 +1660191010000 +1660191010000 + +-- !sql_8_31 -- +1659931810000 +1659931810000 +1660018210000 +1660018210000 +1660104610000 +1660104610000 +1660191010000 +1660191010000 + -- !sql01 -- ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] @@ -618,6 +694,13 @@ text3_4*5 text3_4*5 text_ignore_above_10 +-- !sql11 -- +2022-08-08T12:10:10 +2022-08-09T12:10:10 +2022-08-10T12:10:10 +2022-08-11T12:10:10 +2022-08-11T12:10:10 + -- !sql20 -- ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] @@ -645,6 +728,13 @@ text_ignore_above_10 [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" [{"name":"Andy","age":18},{"name":"Tim","age":28}] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] "Andy" "White" +-- !sql25 -- +2022-08-08T12:10:10 +2022-08-09T12:10:10 +2022-08-10T12:10:10 +2022-08-11T12:10:10 +2022-08-11T12:10:10 + -- !sql_5_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 @@ -746,6 +836,20 @@ text2 text3_4*5 text_ignore_above_10 +-- !sql_5_25 -- +2022-08-08T12:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 + +-- !sql_5_26 -- +2022-08-08T12:10:10 +2022-08-08T12:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 + -- !sql_6_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 @@ -847,6 +951,20 @@ text2 text3_4*5 text_ignore_above_10 +-- !sql_6_25 -- +2022-08-08T12:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 + +-- !sql_6_26 -- +2022-08-08T12:10:10 +2022-08-08T12:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 +2022-08-08T20:10:10 + -- !sql_7_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 @@ -987,6 +1105,23 @@ text3_4*5 text3_4*5 text_ignore_above_10 +-- !sql_7_32 -- +1659931810000 +1660018210000 +1660104610000 +1660191010000 +1660191010000 + +-- !sql_7_33 -- +1659931810000 +1659931810000 +1660018210000 +1660018210000 +1660104610000 +1660104610000 +1660191010000 +1660191010000 + -- !sql_7_50 -- value1 value2 @@ -1127,3 +1262,20 @@ text3_4*5 text3_4*5 text_ignore_above_10 +-- !sql_8_30 -- +1659931810000 +1660018210000 +1660104610000 +1660191010000 +1660191010000 + +-- !sql_8_31 -- +1659931810000 +1659931810000 +1660018210000 +1660018210000 +1660104610000 +1660104610000 +1660191010000 +1660191010000 + diff --git a/regression-test/suites/external_table_p0/es/test_es_query.groovy b/regression-test/suites/external_table_p0/es/test_es_query.groovy index 55547e4eb25778..af1f270fd52c8a 100644 --- a/regression-test/suites/external_table_p0/es/test_es_query.groovy +++ b/regression-test/suites/external_table_p0/es/test_es_query.groovy @@ -177,12 +177,14 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql08 """select c_person, c_user, json_extract(c_person, '\$.[0].name'), json_extract(c_user, '\$.[1].last') from test_v1;""" order_qt_sql09 """select test1 from test_v1;""" order_qt_sql10 """select test2 from test_v1;""" + order_qt_sql11 """select test6 from test_v1;""" order_qt_sql20 """select * from test_v2 where test2='text#1'""" order_qt_sql21 """select * from test_v2 where esquery(test2, '{"match":{"test2":"text#1"}}')""" order_qt_sql22 """select test4,test5,test6,test7,test8 from test_v2 order by test8""" order_qt_sql23 """select * from test_v2 where esquery(c_long, '{"term":{"c_long":"-1"}}');""" order_qt_sql24 """select c_person, c_user, json_extract(c_person, '\$.[0].name'), json_extract(c_user, '\$.[1].last') from test_v2;""" + order_qt_sql25 """select test6 from test_v2;""" sql """switch test_es_query_es5""" order_qt_sql_5_02 """select * from test1 where test2='text#1'""" @@ -208,6 +210,8 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_5_22 """select test6, substring(test6, 1, 13) from test2 where substring(test6, 1, 13) = '2022-08-08 12' limit 4;""" order_qt_sql_5_23 """select test1 from test1;""" order_qt_sql_5_24 """select test2 from test1;""" + order_qt_sql_5_25 """select test6 from test1;""" + order_qt_sql_5_26 """select test6 from test2;""" try { sql """select * from composite_type_array;""" fail("Should not reach here") @@ -241,6 +245,8 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_6_22 """select test6, substring(test6, 1, 13) from test2 where substring(test6, 1, 13) = '2022-08-08 12' limit 4;""" order_qt_sql_6_23 """select test1 from test1;""" order_qt_sql_6_24 """select test2 from test1;""" + order_qt_sql_6_25 """select test6 from test1;""" + order_qt_sql_6_26 """select test6 from test2;""" try { sql """select * from composite_type_array;""" fail("Should not reach here") @@ -299,6 +305,8 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_7_29 """select test7,substring(test7, 1, 10) from test2 where substring(test7, 1, 10)='2022-08-11' limit 2;""" order_qt_sql_7_30 """select test1 from test1;""" order_qt_sql_7_31 """select test2 from test1;""" + order_qt_sql_7_32 """select test6 from test1;""" + order_qt_sql_7_33 """select test6 from test2;""" try { sql """select * from composite_type_array;""" fail("Should not reach here") @@ -357,6 +365,8 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_8_27 """select test7,substring(test7, 1, 10) from test2 where substring(test7, 1, 10)='2022-08-11' limit 2;""" order_qt_sql_8_28 """select test1 from test1;""" order_qt_sql_8_29 """select test2 from test1;""" + order_qt_sql_8_30 """select test6 from test1;""" + order_qt_sql_8_31 """select test6 from test2;""" try { sql """select * from composite_type_array;""" fail("Should not reach here") From a06625ee6b626ce95d9e665f8cdd279ea153096b Mon Sep 17 00:00:00 2001 From: qiye Date: Mon, 9 Sep 2024 10:20:38 +0800 Subject: [PATCH 119/199] [feature](ES Catalog)Add FE open API for ES Catalog (#40444) Add api to get info from Elasticsearch, it's very useful for debugging. 1. get index mapping api ``` GET /rest/v2/api/es_catalog/get_mapping?catalog=xxx&table=xxx ``` 2. search index api ``` POST /rest/v2/api/es_catalog/search?catalog=xxx&table=xxx { request_body ... } ``` --- .../doris/datasource/es/EsRestClient.java | 36 +++++- .../doris/httpv2/restv2/ESCatalogAction.java | 108 ++++++++++++++++++ .../plugins/plugin_curl_requester.groovy | 16 ++- .../es/test_es_catalog_http_open_api.groovy | 84 ++++++++++++++ 4 files changed, 233 insertions(+), 11 deletions(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/ESCatalogAction.java create mode 100644 regression-test/suites/external_table_p0/es/test_es_catalog_http_open_api.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsRestClient.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsRestClient.java index 21a85126c9ea61..e2c7fa0b688913 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsRestClient.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/es/EsRestClient.java @@ -24,8 +24,10 @@ import com.fasterxml.jackson.databind.node.ArrayNode; import com.google.common.collect.ImmutableList; import okhttp3.Credentials; +import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; +import okhttp3.RequestBody; import okhttp3.Response; import org.apache.http.HttpHeaders; import org.apache.logging.log4j.LogManager; @@ -126,12 +128,27 @@ public String getMapping(String indexName) throws DorisEsException { return indexMapping; } + /** + * Search specific index + */ + public String searchIndex(String indexName, String body) throws DorisEsException { + String path = indexName + "/_search"; + RequestBody requestBody = null; + if (Strings.isNotEmpty(body)) { + requestBody = RequestBody.create( + body, + MediaType.get("application/json") + ); + } + return executeWithRequestBody(path, requestBody); + } + /** * Check whether index exist. **/ public boolean existIndex(OkHttpClient httpClient, String indexName) { String path = indexName + "/_mapping"; - try (Response response = executeResponse(httpClient, path)) { + try (Response response = executeResponse(httpClient, path, null)) { if (response.isSuccessful()) { return true; } @@ -228,7 +245,7 @@ private synchronized OkHttpClient getOrCreateSslNetworkClient() { return sslNetworkClient; } - private Response executeResponse(OkHttpClient httpClient, String path) throws IOException { + private Response executeResponse(OkHttpClient httpClient, String path, RequestBody requestBody) throws IOException { currentNode = currentNode.trim(); if (!(currentNode.startsWith("http://") || currentNode.startsWith("https://"))) { currentNode = "http://" + currentNode; @@ -239,7 +256,12 @@ private Response executeResponse(OkHttpClient httpClient, String path) throws IO String url = currentNode + path; try { SecurityChecker.getInstance().startSSRFChecking(url); - Request request = builder.get().url(currentNode + path).build(); + Request request; + if (requestBody != null) { + request = builder.post(requestBody).url(currentNode + path).build(); + } else { + request = builder.get().url(currentNode + path).build(); + } if (LOG.isInfoEnabled()) { LOG.info("es rest client request URL: {}", request.url().toString()); } @@ -251,13 +273,17 @@ private Response executeResponse(OkHttpClient httpClient, String path) throws IO } } + private String execute(String path) throws DorisEsException { + return executeWithRequestBody(path, null); + } + /** * execute request for specific path,it will try again nodes.length times if it fails * * @param path the path must not leading with '/' * @return response */ - private String execute(String path) throws DorisEsException { + private String executeWithRequestBody(String path, RequestBody requestBody) throws DorisEsException { // try 3 times for every node int retrySize = nodes.length * 3; DorisEsException scratchExceptionForThrow = null; @@ -277,7 +303,7 @@ private String execute(String path) throws DorisEsException { if (LOG.isTraceEnabled()) { LOG.trace("es rest client request URL: {}", currentNode + "/" + path); } - try (Response response = executeResponse(httpClient, path)) { + try (Response response = executeResponse(httpClient, path, requestBody)) { if (response.isSuccessful()) { return response.body().string(); } else { diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/ESCatalogAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/ESCatalogAction.java new file mode 100644 index 00000000000000..1a075c79782747 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/ESCatalogAction.java @@ -0,0 +1,108 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.httpv2.restv2; + +import org.apache.doris.catalog.Env; +import org.apache.doris.common.Config; +import org.apache.doris.common.util.JsonUtil; +import org.apache.doris.datasource.CatalogIf; +import org.apache.doris.datasource.es.EsExternalCatalog; +import org.apache.doris.httpv2.entity.ResponseEntityBuilder; +import org.apache.doris.httpv2.rest.RestBaseController; + +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.google.common.collect.Maps; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.io.BufferedReader; +import java.io.IOException; +import java.util.Map; +import java.util.function.BiFunction; +import java.util.stream.Collectors; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@RestController +@RequestMapping("/rest/v2/api/es_catalog") +public class ESCatalogAction extends RestBaseController { + + private static final Logger LOG = LogManager.getLogger(ESCatalogAction.class); + private static final String CATALOG = "catalog"; + private static final String TABLE = "table"; + + private Object handleRequest(HttpServletRequest request, HttpServletResponse response, + BiFunction action) { + if (Config.enable_all_http_auth) { + executeCheckPassword(request, response); + } + + try { + if (!Env.getCurrentEnv().isMaster()) { + return redirectToMasterOrException(request, response); + } + } catch (Exception e) { + return ResponseEntityBuilder.okWithCommonError(e.getMessage()); + } + + Map resultMap = Maps.newHashMap(); + Env env = Env.getCurrentEnv(); + String catalogName = request.getParameter(CATALOG); + String tableName = request.getParameter(TABLE); + CatalogIf catalog = env.getCatalogMgr().getCatalog(catalogName); + if (!(catalog instanceof EsExternalCatalog)) { + return ResponseEntityBuilder.badRequest("unknown ES Catalog: " + catalogName); + } + EsExternalCatalog esExternalCatalog = (EsExternalCatalog) catalog; + esExternalCatalog.makeSureInitialized(); + String result = action.apply(esExternalCatalog, tableName); + ObjectNode jsonResult = JsonUtil.parseObject(result); + + resultMap.put("catalog", catalogName); + resultMap.put("table", tableName); + resultMap.put("result", jsonResult); + + return ResponseEntityBuilder.ok(resultMap); + } + + @RequestMapping(path = "/get_mapping", method = RequestMethod.GET) + public Object getMapping(HttpServletRequest request, HttpServletResponse response) { + return handleRequest(request, response, (esExternalCatalog, tableName) -> + esExternalCatalog.getEsRestClient().getMapping(tableName)); + } + + @RequestMapping(path = "/search", method = RequestMethod.POST) + public Object search(HttpServletRequest request, HttpServletResponse response) { + String body; + try { + body = getRequestBody(request); + } catch (IOException e) { + return ResponseEntityBuilder.okWithCommonError(e.getMessage()); + } + return handleRequest(request, response, (esExternalCatalog, tableName) -> + esExternalCatalog.getEsRestClient().searchIndex(tableName, body)); + } + + private String getRequestBody(HttpServletRequest request) throws IOException { + BufferedReader reader = request.getReader(); + return reader.lines().collect(Collectors.joining(System.lineSeparator())); + } +} diff --git a/regression-test/plugins/plugin_curl_requester.groovy b/regression-test/plugins/plugin_curl_requester.groovy index 15affb45364ff2..62b7433f37b6cf 100644 --- a/regression-test/plugins/plugin_curl_requester.groovy +++ b/regression-test/plugins/plugin_curl_requester.groovy @@ -111,14 +111,12 @@ Suite.metaClass.http_client = { String method, String url /* param */ -> logger.info("Added 'http_client' function to Suite") -Suite.metaClass.curl = { String method, String url /* param */-> +Suite.metaClass.curl = { String method, String url, String body = null /* param */-> Suite suite = delegate as Suite - if (method != "GET" && method != "POST") - { + if (method != "GET" && method != "POST") { throw new Exception(String.format("invalid curl method: %s", method)) } - if (url.isBlank()) - { + if (url.isBlank()) { throw new Exception("invalid curl url, blank") } @@ -127,7 +125,13 @@ Suite.metaClass.curl = { String method, String url /* param */-> Integer retryCount = 0; // Current retry count Integer sleepTime = 5000; // Sleep time in milliseconds - String cmd = String.format("curl --max-time %d -X %s %s", timeout, method, url).toString() + String cmd + if (method == "POST" && body != null) { + cmd = String.format("curl --max-time %d -X %s -H Content-Type:application/json -d %s %s", timeout, method, body, url).toString() + } else { + cmd = String.format("curl --max-time %d -X %s %s", timeout, method, url).toString() + } + logger.info("curl cmd: " + cmd) def process int code diff --git a/regression-test/suites/external_table_p0/es/test_es_catalog_http_open_api.groovy b/regression-test/suites/external_table_p0/es/test_es_catalog_http_open_api.groovy new file mode 100644 index 00000000000000..485cdd061869d7 --- /dev/null +++ b/regression-test/suites/external_table_p0/es/test_es_catalog_http_open_api.groovy @@ -0,0 +1,84 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_es_catalog_http_open_api", "p0,external,es,external_docker,external_docker_es") { + String enabled = context.config.otherConfigs.get("enableEsTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + String es_5_port = context.config.otherConfigs.get("es_5_port") + String es_6_port = context.config.otherConfigs.get("es_6_port") + String es_7_port = context.config.otherConfigs.get("es_7_port") + String es_8_port = context.config.otherConfigs.get("es_8_port") + + // test old create-catalog syntax for compatibility + sql """ + create catalog if not exists test_es_query_es5 + properties ( + "type"="es", + "elasticsearch.hosts"="http://${externalEnvIp}:$es_5_port", + "elasticsearch.nodes_discovery"="false", + "elasticsearch.keyword_sniff"="true" + ); + """ + sql """ + create catalog if not exists test_es_query_es6 + properties ( + "type"="es", + "elasticsearch.hosts"="http://${externalEnvIp}:$es_6_port", + "elasticsearch.nodes_discovery"="false", + "elasticsearch.keyword_sniff"="true" + ); + """ + + // test new create catalog syntax + sql """create catalog if not exists test_es_query_es7 properties( + "type"="es", + "hosts"="http://${externalEnvIp}:$es_7_port", + "nodes_discovery"="false", + "enable_keyword_sniff"="true" + ); + """ + + sql """create catalog if not exists test_es_query_es8 properties( + "type"="es", + "hosts"="http://${externalEnvIp}:$es_8_port", + "nodes_discovery"="false", + "enable_keyword_sniff"="true" + ); + """ + + List feHosts = getFrontendIpHttpPort() + // for each catalog 5..8, send a request + for (int i = 5; i <= 8; i++) { + String catalog = String.format("test_es_query_es%s", i) + def (code, out, err) = curl("GET", String.format("http://%s/rest/v2/api/es_catalog/get_mapping?catalog=%s&table=test1", feHosts[0], catalog)) + logger.info("Get mapping response: code=" + code + ", out=" + out + ", err=" + err) + assertTrue(code == 0) + assertTrue(out.toLowerCase().contains("success")) + assertTrue(out.toLowerCase().contains("mappings")) + assertTrue(out.toLowerCase().contains(catalog)) + + String body = '{"query":{"match_all":{}},"stored_fields":"_none_","docvalue_fields":["test6"],"sort":["_doc"],"size":4064}'; + def (code1, out1, err1) = curl("POST", String.format("http://%s/rest/v2/api/es_catalog/search?catalog=%s&table=test1", feHosts[0], catalog), body) + logger.info("Search index response: code=" + code1 + ", out=" + out1 + ", err=" + err1) + assertTrue(code1 == 0) + assertTrue(out1.toLowerCase().contains("success")) + assertTrue(out1.toLowerCase().contains("hits")) + assertTrue(out1.toLowerCase().contains(catalog)) + } + } +} From 903c05b3af3b99a125ba44693ff453d8a995e7ed Mon Sep 17 00:00:00 2001 From: wangbo Date: Mon, 9 Sep 2024 10:55:02 +0800 Subject: [PATCH 120/199] [Improvement]Add more tip when drop workload group failed (#40468) ## Proposed changes Add more tip to tell user what to do when drop wg failed. --- .../doris/resource/workloadgroup/WorkloadGroupMgr.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/resource/workloadgroup/WorkloadGroupMgr.java b/fe/fe-core/src/main/java/org/apache/doris/resource/workloadgroup/WorkloadGroupMgr.java index 5ddc5fb68f8599..8ba9b1a7609e71 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/resource/workloadgroup/WorkloadGroupMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/resource/workloadgroup/WorkloadGroupMgr.java @@ -429,7 +429,10 @@ public void dropWorkloadGroup(DropWorkloadGroupStmt stmt) throws DdlException { // user need to reset user property first Pair ret = Env.getCurrentEnv().getAuth().isWorkloadGroupInUse(workloadGroupName); if (ret.first) { - throw new DdlException("workload group " + workloadGroupName + " is set for user " + ret.second); + throw new DdlException("workload group " + workloadGroupName + " is set for user " + ret.second + + ", you can reset the user's property(eg, " + + "set property for " + ret.second + " 'default_workload_group'='xxx'; ), " + + "then you can drop the group."); } // A group with related policies should not be deleted. From c38fa0272a7e8440145fcdd13b622e198ee0aaf0 Mon Sep 17 00:00:00 2001 From: Mryange <59914473+Mryange@users.noreply.github.com> Date: Mon, 9 Sep 2024 11:45:18 +0800 Subject: [PATCH 121/199] [opt](function)Optimize the performance of the pad function under UTF-8. (#40162) ## Proposed changes 1. Removed the calculation of str_index. 2. If pad is constant, calculate pad_index only once. 3. Do not insert res_chars inside the loop; instead, insert them all together after the loop completes. ``` mysql [test]>select count(lpad(Title, 100, "abc")) from hits_10m; +--------------------------------+ | count(lpad(Title, 100, 'abc')) | +--------------------------------+ | 10000000 | +--------------------------------+ 1 row in set (3.97 sec) mysql [test]>select count(lpad(Title, 100, "abc")) from hits_10m; +--------------------------------+ | count(lpad(Title, 100, 'abc')) | +--------------------------------+ | 10000000 | +--------------------------------+ 1 row in set (2.87 sec) ``` --- be/src/util/simd/vstring_function.h | 17 ++++ be/src/vec/functions/function_string.h | 110 +++++++++++++++---------- 2 files changed, 84 insertions(+), 43 deletions(-) diff --git a/be/src/util/simd/vstring_function.h b/be/src/util/simd/vstring_function.h index 579da50d2df230..99313132382e5c 100644 --- a/be/src/util/simd/vstring_function.h +++ b/be/src/util/simd/vstring_function.h @@ -187,6 +187,23 @@ class VStringFunctions { return p; } + // Iterate a UTF-8 string without exceeding a given length n. + // The function returns two values: + // the first represents the byte length traversed, and the second represents the char length traversed. + static inline std::pair iterate_utf8_with_limit_length(const char* begin, + const char* end, + size_t n) { + const char* p = begin; + int char_size = 0; + + size_t i = 0; + for (; i < n && p < end; ++i, p += char_size) { + char_size = UTF8_BYTE_LENGTH[static_cast(*p)]; + } + + return {p - begin, i}; + } + // Gcc will do auto simd in this function static bool is_ascii(const StringRef& str) { #ifdef __AVX2__ diff --git a/be/src/vec/functions/function_string.h b/be/src/vec/functions/function_string.h index 618641dcfb227e..2e33dba3f332fe 100644 --- a/be/src/vec/functions/function_string.h +++ b/be/src/vec/functions/function_string.h @@ -1556,64 +1556,92 @@ class FunctionStringPad : public IFunction { const auto* padcol = assert_cast(col[2].get()); const auto& padcol_offsets = padcol->get_offsets(); const auto& padcol_chars = padcol->get_chars(); + std::visit( + [&](auto str_const, auto len_const, auto pad_const) { + execute_utf8( + strcol_offsets, strcol_chars, col_len_data, padcol_offsets, + padcol_chars, res_offsets, res_chars, null_map_data, input_rows_count); + }, + vectorized::make_bool_variant(col_const[0]), + vectorized::make_bool_variant(col_const[1]), + vectorized::make_bool_variant(col_const[2])); - std::vector str_index; + block.get_by_position(result).column = + ColumnNullable::create(std::move(res), std::move(null_map)); + return Status::OK(); + } + + template + void execute_utf8(const ColumnString::Offsets& strcol_offsets, + const ColumnString::Chars& strcol_chars, + const ColumnInt32::Container& col_len_data, + const ColumnString::Offsets& padcol_offsets, + const ColumnString::Chars& padcol_chars, ColumnString::Offsets& res_offsets, + ColumnString::Chars& res_chars, ColumnUInt8::Container& null_map_data, + size_t input_rows_count) const { std::vector pad_index; + size_t const_pad_char_size = 0; + // If pad_const = true, initialize pad_index only once. + // The same logic applies to the if constexpr (!pad_const) condition below. + if constexpr (pad_const) { + const_pad_char_size = simd::VStringFunctions::get_char_len( + (const char*)padcol_chars.data(), padcol_offsets[0], pad_index); + } fmt::memory_buffer buffer; - const bool str_const = col_const[0]; - const bool len_const = col_const[1]; - const bool pad_const = col_const[2]; + buffer.reserve(strcol_chars.size()); + size_t buffer_len = 0; + for (size_t i = 0; i < input_rows_count; ++i) { - str_index.clear(); - pad_index.clear(); + if constexpr (!pad_const) { + pad_index.clear(); + } buffer.clear(); - const auto len = col_len_data[index_check_const(i, len_const)]; + const auto len = col_len_data[index_check_const(i)]; if (len < 0) { // return NULL when input length is invalid number null_map_data[i] = true; - StringOP::push_empty_string(i, res_chars, res_offsets); + res_offsets[i] = buffer_len; } else { - const auto str_idx = index_check_const(i, str_const); + const auto str_idx = index_check_const(i); const int str_len = strcol_offsets[str_idx] - strcol_offsets[str_idx - 1]; const auto* str_data = &strcol_chars[strcol_offsets[str_idx - 1]]; - const auto pad_idx = index_check_const(i, pad_const); + const auto pad_idx = index_check_const(i); const int pad_len = padcol_offsets[pad_idx] - padcol_offsets[pad_idx - 1]; const auto* pad_data = &padcol_chars[padcol_offsets[pad_idx - 1]]; - // get utf8 len - size_t str_char_size = simd::VStringFunctions::get_char_len((const char*)str_data, - str_len, str_index); - size_t pad_char_size = simd::VStringFunctions::get_char_len((const char*)pad_data, - pad_len, pad_index); - - if (len <= str_char_size) { - // truncate the input string - if (len < str_char_size) { - buffer.append(str_data, str_data + str_index[len]); - } else { - buffer.append(str_data, str_data + str_len); - } - StringOP::push_value_string(std::string_view(buffer.data(), buffer.size()), i, - res_chars, res_offsets); + auto [iterate_byte_len, iterate_char_len] = + simd::VStringFunctions::iterate_utf8_with_limit_length( + (const char*)str_data, (const char*)str_data + str_len, len); + // If iterate_char_len equals len, it indicates that the str length is greater than or equal to len + if (iterate_char_len == len) { + buffer.reserve(buffer_len + iterate_byte_len); + memcpy(buffer.data() + buffer_len, str_data, iterate_byte_len); + buffer_len += iterate_byte_len; + res_offsets[i] = buffer_len; continue; } + size_t pad_char_size; + if constexpr (!pad_const) { + pad_char_size = simd::VStringFunctions::get_char_len((const char*)pad_data, + pad_len, pad_index); + } else { + pad_char_size = const_pad_char_size; + } // make compatible with mysql. return empty string if pad is empty if (pad_char_size == 0) { - StringOP::push_empty_string(i, res_chars, res_offsets); + res_offsets[i] = buffer_len; continue; } - - const int32_t pad_times = (len - str_char_size) / pad_char_size; - const int32_t pad_remainder = (len - str_char_size) % pad_char_size; - size_t new_capacity = str_len + size_t(pad_times + 1) * pad_len; + const size_t str_char_size = iterate_char_len; + const size_t pad_times = (len - str_char_size) / pad_char_size; + const size_t pad_remainder_len = pad_index[(len - str_char_size) % pad_char_size]; + const size_t new_capacity = str_len + size_t(pad_times + 1) * pad_len; ColumnString::check_chars_length(new_capacity, 0); - buffer.reserve(new_capacity); - auto* buffer_data = buffer.data(); - int32_t buffer_len = 0; + buffer.reserve(buffer_len + new_capacity); if constexpr (!Impl::is_lpad) { - memcpy(buffer_data, str_data, str_len); + memcpy(buffer.data() + buffer_len, str_data, str_len); buffer_len += str_len; } // Prepend chars of pad. @@ -1621,21 +1649,17 @@ class FunctionStringPad : public IFunction { pad_times); buffer_len += pad_times * pad_len; - memcpy(buffer_data + buffer_len, pad_data, pad_index[pad_remainder]); - buffer_len += pad_index[pad_remainder]; + memcpy(buffer.data() + buffer_len, pad_data, pad_remainder_len); + buffer_len += pad_remainder_len; if constexpr (Impl::is_lpad) { - memcpy(buffer_data + buffer_len, str_data, str_len); + memcpy(buffer.data() + buffer_len, str_data, str_len); buffer_len += str_len; } - StringOP::push_value_string(std::string_view(buffer_data, buffer_len), i, res_chars, - res_offsets); + res_offsets[i] = buffer_len; } } - - block.get_by_position(result).column = - ColumnNullable::create(std::move(res), std::move(null_map)); - return Status::OK(); + res_chars.insert(buffer.data(), buffer.data() + buffer_len); } }; From 84ce9451c6ebdf290d5c1b401e0a282f5acb6577 Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Mon, 9 Sep 2024 12:15:37 +0800 Subject: [PATCH 122/199] [opt](memory) Refactor memory maintenance thread (#40344) step 1. Refresh process memory metrics. step 2. Refresh allocator memory metrics. step 3. Update and print memory stat when the memory changes by 256M. step 4. Asyn Refresh cache capacity step 5. Cancel top memory task when process memory exceed hard limit. step 6. Refresh weighted memory ratio of workload groups. step 7. Analyze blocking queries. step 8. Flush memtable. step 9. Jemalloc purge all arena dirty pages. `memory_maintenance_thread` execute once cost: - 3ms (cluster idle) - 20ms (cluster high concurrency, CPU full) `memory_maintenance_thread` CPU usage: - 10%-20% (default memory_maintenance_sleep_time_ms=20ms) - 20%-30% (memory_maintenance_sleep_time_ms=10ms) - 30%+ (memory_maintenance_sleep_time_ms=5ms) --- be/src/common/config.cpp | 14 +- be/src/common/config.h | 9 +- be/src/common/daemon.cpp | 195 +++++++++++++----- be/src/common/daemon.h | 2 +- be/src/olap/lru_cache.cpp | 81 +++++++- be/src/olap/lru_cache.h | 28 +-- be/src/runtime/memory/cache_manager.cpp | 21 +- be/src/runtime/memory/cache_manager.h | 3 + be/src/runtime/memory/cache_policy.cpp | 8 +- be/src/runtime/memory/cache_policy.h | 28 ++- .../memory/global_memory_arbitrator.cpp | 7 + .../runtime/memory/global_memory_arbitrator.h | 17 ++ be/src/runtime/memory/lru_cache_policy.h | 95 ++++++--- be/src/runtime/memory/mem_tracker_limiter.cpp | 6 +- be/src/runtime/memory/memory_reclamation.cpp | 12 -- be/src/service/point_query_executor.h | 4 +- be/src/vec/common/allocator.cpp | 3 - be/test/olap/lru_cache_test.cpp | 144 +++++++++++-- 18 files changed, 514 insertions(+), 163 deletions(-) diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp index 00f8a042cbcbb7..0c00bd1a38f0da 100644 --- a/be/src/common/config.cpp +++ b/be/src/common/config.cpp @@ -95,6 +95,9 @@ DEFINE_String(mem_limit, "90%"); // Soft memory limit as a fraction of hard memory limit. DEFINE_Double(soft_mem_limit_frac, "0.9"); +// Cache capacity reduce mem limit as a fraction of soft mem limit. +DEFINE_mDouble(cache_capacity_reduce_mem_limit_frac, "0.6"); + // Schema change memory limit as a fraction of soft memory limit. DEFINE_Double(schema_change_mem_limit_frac, "0.6"); @@ -286,7 +289,7 @@ DEFINE_mInt32(exchg_buffer_queue_capacity_factor, "64"); DEFINE_mInt64(memory_limitation_per_thread_for_schema_change_bytes, "2147483648"); DEFINE_mInt32(cache_prune_interval_sec, "10"); -DEFINE_mInt32(cache_periodic_prune_stale_sweep_sec, "300"); +DEFINE_mInt32(cache_periodic_prune_stale_sweep_sec, "60"); // the clean interval of tablet lookup cache DEFINE_mInt32(tablet_lookup_cache_stale_sweep_time_sec, "30"); DEFINE_mInt32(point_query_row_cache_stale_sweep_time_sec, "300"); @@ -565,7 +568,7 @@ DEFINE_String(pprof_profile_dir, "${DORIS_HOME}/log"); // for jeprofile in jemalloc DEFINE_mString(jeprofile_dir, "${DORIS_HOME}/log"); DEFINE_mBool(enable_je_purge_dirty_pages, "true"); -DEFINE_mString(je_dirty_pages_mem_limit_percent, "5%"); +DEFINE_mString(je_dirty_pages_mem_limit_percent, "2%"); // to forward compatibility, will be removed later DEFINE_mBool(enable_token_check, "true"); @@ -582,17 +585,12 @@ DEFINE_Int32(num_cores, "0"); DEFINE_Bool(ignore_broken_disk, "false"); // Sleep time in milliseconds between memory maintenance iterations -DEFINE_mInt32(memory_maintenance_sleep_time_ms, "100"); +DEFINE_mInt32(memory_maintenance_sleep_time_ms, "20"); // After full gc, no longer full gc and minor gc during sleep. // After minor gc, no minor gc during sleep, but full gc is possible. DEFINE_mInt32(memory_gc_sleep_time_ms, "500"); -// Sleep time in milliseconds between memtbale flush mgr refresh iterations -DEFINE_mInt64(memtable_mem_tracker_refresh_interval_ms, "5"); - -DEFINE_mInt64(wg_weighted_memory_ratio_refresh_interval_ms, "50"); - // percent of (active memtables size / all memtables size) when reach hard limit DEFINE_mInt32(memtable_hard_limit_active_percent, "50"); diff --git a/be/src/common/config.h b/be/src/common/config.h index bd2aa4f51be1a9..720f4f72cb4bf7 100644 --- a/be/src/common/config.h +++ b/be/src/common/config.h @@ -133,6 +133,9 @@ DECLARE_String(mem_limit); // Soft memory limit as a fraction of hard memory limit. DECLARE_Double(soft_mem_limit_frac); +// Cache capacity reduce mem limit as a fraction of soft mem limit. +DECLARE_mDouble(cache_capacity_reduce_mem_limit_frac); + // Schema change memory limit as a fraction of soft memory limit. DECLARE_Double(schema_change_mem_limit_frac); @@ -641,12 +644,6 @@ DECLARE_mInt32(memory_maintenance_sleep_time_ms); // After minor gc, no minor gc during sleep, but full gc is possible. DECLARE_mInt32(memory_gc_sleep_time_ms); -// Sleep time in milliseconds between memtbale flush mgr memory refresh iterations -DECLARE_mInt64(memtable_mem_tracker_refresh_interval_ms); - -// Sleep time in milliseconds between refresh iterations of workload group weighted memory ratio -DECLARE_mInt64(wg_weighted_memory_ratio_refresh_interval_ms); - // percent of (active memtables size / all memtables size) when reach hard limit DECLARE_mInt32(memtable_hard_limit_active_percent); diff --git a/be/src/common/daemon.cpp b/be/src/common/daemon.cpp index d8245f4045ce81..713813b4a334f9 100644 --- a/be/src/common/daemon.cpp +++ b/be/src/common/daemon.cpp @@ -73,6 +73,12 @@ namespace doris { namespace { +int64_t last_print_proc_mem = 0; +int32_t refresh_cache_capacity_sleep_time_ms = 0; +#ifdef USE_JEMALLOC +int32_t je_purge_dirty_pages_sleep_time_ms = 0; +#endif + void update_rowsets_and_segments_num_metrics() { if (config::is_cloud_mode()) { // TODO(plat1ko): CloudStorageEngine @@ -204,42 +210,104 @@ void Daemon::tcmalloc_gc_thread() { #endif } -void Daemon::memory_maintenance_thread() { - int32_t interval_milliseconds = config::memory_maintenance_sleep_time_ms; - int64_t last_print_proc_mem = PerfCounters::get_vm_rss(); - while (!_stop_background_threads_latch.wait_for( - std::chrono::milliseconds(interval_milliseconds))) { - // Refresh process memory metrics. - doris::PerfCounters::refresh_proc_status(); - doris::MemInfo::refresh_proc_meminfo(); - doris::GlobalMemoryArbitrator::reset_refresh_interval_memory_growth(); - ExecEnv::GetInstance()->brpc_iobuf_block_memory_tracker()->set_consumption( - butil::IOBuf::block_memory()); - // Refresh allocator memory metrics. +void refresh_process_memory_metrics() { + doris::PerfCounters::refresh_proc_status(); + doris::MemInfo::refresh_proc_meminfo(); + doris::GlobalMemoryArbitrator::reset_refresh_interval_memory_growth(); + ExecEnv::GetInstance()->brpc_iobuf_block_memory_tracker()->set_consumption( + butil::IOBuf::block_memory()); +} + +void refresh_common_allocator_metrics() { #if !defined(ADDRESS_SANITIZER) && !defined(LEAK_SANITIZER) && !defined(THREAD_SANITIZER) - doris::MemInfo::refresh_allocator_mem(); -#ifdef USE_JEMALLOC - if (doris::MemInfo::je_dirty_pages_mem() > doris::MemInfo::je_dirty_pages_mem_limit() && - GlobalMemoryArbitrator::is_exceed_soft_mem_limit()) { - doris::MemInfo::notify_je_purge_dirty_pages(); - } + doris::MemInfo::refresh_allocator_mem(); + if (config::enable_system_metrics) { + DorisMetrics::instance()->system_metrics()->update_allocator_metrics(); + } #endif - if (config::enable_system_metrics) { - DorisMetrics::instance()->system_metrics()->update_allocator_metrics(); + MemInfo::refresh_memory_bvar(); +} + +void refresh_memory_state_after_memory_change() { + if (abs(last_print_proc_mem - PerfCounters::get_vm_rss()) > 268435456) { + last_print_proc_mem = PerfCounters::get_vm_rss(); + doris::MemTrackerLimiter::clean_tracker_limiter_group(); + doris::MemTrackerLimiter::enable_print_log_process_usage(); + // Refresh mem tracker each type counter. + doris::MemTrackerLimiter::refresh_global_counter(); + LOG(INFO) << doris::GlobalMemoryArbitrator:: + process_mem_log_str(); // print mem log when memory state by 256M + } +} + +void refresh_cache_capacity() { + if (refresh_cache_capacity_sleep_time_ms <= 0) { + auto cache_capacity_reduce_mem_limit = uint64_t( + doris::MemInfo::soft_mem_limit() * config::cache_capacity_reduce_mem_limit_frac); + int64_t process_memory_usage = doris::GlobalMemoryArbitrator::process_memory_usage(); + double new_cache_capacity_adjust_weighted = + process_memory_usage <= cache_capacity_reduce_mem_limit + ? 1 + : std::min( + 1 - (process_memory_usage - cache_capacity_reduce_mem_limit) / + (doris::MemInfo::soft_mem_limit() - + cache_capacity_reduce_mem_limit), + 0); + if (new_cache_capacity_adjust_weighted != + doris::GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted) { + doris::GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted = + new_cache_capacity_adjust_weighted; + doris::GlobalMemoryArbitrator::notify_cache_adjust_capacity(); + refresh_cache_capacity_sleep_time_ms = config::memory_gc_sleep_time_ms; } + } + refresh_cache_capacity_sleep_time_ms -= config::memory_maintenance_sleep_time_ms; +} + +void je_purge_dirty_pages() { +#ifdef USE_JEMALLOC + if (je_purge_dirty_pages_sleep_time_ms <= 0 && + doris::MemInfo::je_dirty_pages_mem() > doris::MemInfo::je_dirty_pages_mem_limit() && + GlobalMemoryArbitrator::is_exceed_soft_mem_limit()) { + doris::MemInfo::notify_je_purge_dirty_pages(); + je_purge_dirty_pages_sleep_time_ms = config::memory_gc_sleep_time_ms; + } + je_purge_dirty_pages_sleep_time_ms -= config::memory_maintenance_sleep_time_ms; #endif - MemInfo::refresh_memory_bvar(); - - // Update and print memory stat when the memory changes by 256M. - if (abs(last_print_proc_mem - PerfCounters::get_vm_rss()) > 268435456) { - last_print_proc_mem = PerfCounters::get_vm_rss(); - doris::MemTrackerLimiter::clean_tracker_limiter_group(); - doris::MemTrackerLimiter::enable_print_log_process_usage(); - // Refresh mem tracker each type counter. - doris::MemTrackerLimiter::refresh_global_counter(); - LOG(INFO) << doris::GlobalMemoryArbitrator:: - process_mem_log_str(); // print mem log when memory state by 256M - } +} + +void Daemon::memory_maintenance_thread() { + while (!_stop_background_threads_latch.wait_for( + std::chrono::milliseconds(config::memory_maintenance_sleep_time_ms))) { + // step 1. Refresh process memory metrics. + refresh_process_memory_metrics(); + + // step 2. Refresh jemalloc/tcmalloc metrics. + refresh_common_allocator_metrics(); + + // step 3. Update and print memory stat when the memory changes by 256M. + refresh_memory_state_after_memory_change(); + + // step 4. Asyn Refresh cache capacity + // TODO adjust cache capacity based on smoothstep (smooth gradient). + refresh_cache_capacity(); + + // step 5. Cancel top memory task when process memory exceed hard limit. + // TODO replace memory_gc_thread. + + // step 6. Refresh weighted memory ratio of workload groups. + doris::ExecEnv::GetInstance()->workload_group_mgr()->refresh_wg_weighted_memory_limit(); + + // step 7. Analyze blocking queries. + // TODO sort the operators that can spill, wake up the pipeline task spill + // or continue execution according to certain rules or cancel query. + + // step 8. Flush memtable + doris::GlobalMemoryArbitrator::notify_memtable_memory_refresh(); + // TODO notify flush memtable + + // step 9. Jemalloc purge all arena dirty pages + je_purge_dirty_pages(); } } @@ -301,10 +369,21 @@ void Daemon::memory_gc_thread() { void Daemon::memtable_memory_refresh_thread() { // Refresh the memory statistics of the load channel tracker more frequently, // which helps to accurately control the memory of LoadChannelMgr. - while (!_stop_background_threads_latch.wait_for( - std::chrono::milliseconds(config::memtable_mem_tracker_refresh_interval_ms))) { + do { + std::unique_lock l(doris::GlobalMemoryArbitrator::memtable_memory_refresh_lock); + while (_stop_background_threads_latch.count() != 0 && + !doris::GlobalMemoryArbitrator::memtable_memory_refresh_notify.load( + std::memory_order_relaxed)) { + doris::GlobalMemoryArbitrator::memtable_memory_refresh_cv.wait_for( + l, std::chrono::seconds(1)); + } + if (_stop_background_threads_latch.count() == 0) { + break; + } doris::ExecEnv::GetInstance()->memtable_memory_limiter()->refresh_mem_tracker(); - } + doris::GlobalMemoryArbitrator::memtable_memory_refresh_notify.store( + false, std::memory_order_relaxed); + } while (true); } /* @@ -396,6 +475,35 @@ void Daemon::je_purge_dirty_pages_thread() const { } while (true); } +void Daemon::cache_adjust_capacity_thread() { + do { + std::unique_lock l(doris::GlobalMemoryArbitrator::cache_adjust_capacity_lock); + while (_stop_background_threads_latch.count() != 0 && + !doris::GlobalMemoryArbitrator::cache_adjust_capacity_notify.load( + std::memory_order_relaxed)) { + doris::GlobalMemoryArbitrator::cache_adjust_capacity_cv.wait_for( + l, std::chrono::seconds(1)); + } + double adjust_weighted = GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted; + if (_stop_background_threads_latch.count() == 0) { + break; + } + if (config::disable_memory_gc) { + continue; + } + std::unique_ptr profile = std::make_unique(""); + auto freed_mem = CacheManager::instance()->for_each_cache_refresh_capacity(adjust_weighted, + profile.get()); + std::stringstream ss; + profile->pretty_print(&ss); + LOG(INFO) << fmt::format( + "[MemoryGC] refresh cache capacity end, free memory {}, details: {}", + PrettyPrinter::print(freed_mem, TUnit::BYTES), ss.str()); + doris::GlobalMemoryArbitrator::cache_adjust_capacity_notify.store( + false, std::memory_order_relaxed); + } while (true); +} + void Daemon::cache_prune_stale_thread() { int32_t interval = config::cache_periodic_prune_stale_sweep_sec; while (!_stop_background_threads_latch.wait_for(std::chrono::seconds(interval))) { @@ -411,14 +519,6 @@ void Daemon::cache_prune_stale_thread() { } } -void Daemon::wg_weighted_memory_ratio_refresh_thread() { - // Refresh weighted memory ratio of workload groups - while (!_stop_background_threads_latch.wait_for( - std::chrono::milliseconds(config::wg_weighted_memory_ratio_refresh_interval_ms))) { - doris::ExecEnv::GetInstance()->workload_group_mgr()->refresh_wg_weighted_memory_limit(); - } -} - void Daemon::be_proc_monitor_thread() { while (!_stop_background_threads_latch.wait_for( std::chrono::milliseconds(config::be_proc_monitor_interval_ms))) { @@ -455,6 +555,10 @@ void Daemon::start() { "Daemon", "je_purge_dirty_pages_thread", [this]() { this->je_purge_dirty_pages_thread(); }, &_threads.emplace_back()); CHECK(st.ok()) << st; + st = Thread::create( + "Daemon", "cache_adjust_capacity_thread", + [this]() { this->cache_adjust_capacity_thread(); }, &_threads.emplace_back()); + CHECK(st.ok()) << st; st = Thread::create( "Daemon", "cache_prune_stale_thread", [this]() { this->cache_prune_stale_thread(); }, &_threads.emplace_back()); @@ -464,11 +568,6 @@ void Daemon::start() { [this]() { this->report_runtime_query_statistics_thread(); }, &_threads.emplace_back()); CHECK(st.ok()) << st; - st = Thread::create( - "Daemon", "wg_weighted_memory_ratio_refresh_thread", - [this]() { this->wg_weighted_memory_ratio_refresh_thread(); }, - &_threads.emplace_back()); - if (config::enable_be_proc_monitor) { st = Thread::create( "Daemon", "be_proc_monitor_thread", [this]() { this->be_proc_monitor_thread(); }, diff --git a/be/src/common/daemon.h b/be/src/common/daemon.h index 64c9f0c8993ae3..fe723877dcd027 100644 --- a/be/src/common/daemon.h +++ b/be/src/common/daemon.h @@ -43,9 +43,9 @@ class Daemon { void memtable_memory_refresh_thread(); void calculate_metrics_thread(); void je_purge_dirty_pages_thread() const; + void cache_adjust_capacity_thread(); void cache_prune_stale_thread(); void report_runtime_query_statistics_thread(); - void wg_weighted_memory_ratio_refresh_thread(); void be_proc_monitor_thread(); CountDownLatch _stop_background_threads_latch; diff --git a/be/src/olap/lru_cache.cpp b/be/src/olap/lru_cache.cpp index 741c2423915ede..6e5bb2fa31578f 100644 --- a/be/src/olap/lru_cache.cpp +++ b/be/src/olap/lru_cache.cpp @@ -177,6 +177,51 @@ LRUCache::~LRUCache() { prune(); } +PrunedInfo LRUCache::set_capacity(size_t capacity) { + LRUHandle* last_ref_list = nullptr; + { + std::lock_guard l(_mutex); + _capacity = capacity; + _evict_from_lru(0, &last_ref_list); + } + + int64_t pruned_count = 0; + int64_t pruned_size = 0; + while (last_ref_list != nullptr) { + ++pruned_count; + pruned_size += last_ref_list->total_size; + LRUHandle* next = last_ref_list->next; + last_ref_list->free(); + last_ref_list = next; + } + return {pruned_count, pruned_size}; +} + +uint64_t LRUCache::get_lookup_count() { + std::lock_guard l(_mutex); + return _lookup_count; +} + +uint64_t LRUCache::get_hit_count() { + std::lock_guard l(_mutex); + return _hit_count; +} + +size_t LRUCache::get_usage() { + std::lock_guard l(_mutex); + return _usage; +} + +size_t LRUCache::get_capacity() { + std::lock_guard l(_mutex); + return _capacity; +} + +size_t LRUCache::get_element_count() { + std::lock_guard l(_mutex); + return _table.element_count(); +} + bool LRUCache::_unref(LRUHandle* e) { DCHECK(e->refs > 0); e->refs--; @@ -515,19 +560,19 @@ inline uint32_t ShardedLRUCache::_hash_slice(const CacheKey& s) { return s.hash(s.data(), s.size(), 0); } -ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, +ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, uint32_t num_shards, uint32_t total_element_count_capacity) : _name(name), _num_shard_bits(Bits::FindLSBSetNonZero(num_shards)), _num_shards(num_shards), _shards(nullptr), _last_id(1), - _total_capacity(total_capacity) { + _capacity(capacity) { CHECK(num_shards > 0) << "num_shards cannot be 0"; CHECK_EQ((num_shards & (num_shards - 1)), 0) << "num_shards should be power of two, but got " << num_shards; - const size_t per_shard = (total_capacity + (_num_shards - 1)) / _num_shards; + const size_t per_shard = (capacity + (_num_shards - 1)) / _num_shards; const size_t per_shard_element_count_capacity = (total_element_count_capacity + (_num_shards - 1)) / _num_shards; LRUCache** shards = new (std::nothrow) LRUCache*[_num_shards]; @@ -557,12 +602,12 @@ ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t total_capacity, "doris_cache", _name + "_persecond", _lookup_count_bvar.get(), 60)); } -ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, +ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, uint32_t num_shards, CacheValueTimeExtractor cache_value_time_extractor, bool cache_value_check_timestamp, uint32_t total_element_count_capacity) - : ShardedLRUCache(name, total_capacity, type, num_shards, total_element_count_capacity) { + : ShardedLRUCache(name, capacity, type, num_shards, total_element_count_capacity) { for (int s = 0; s < _num_shards; s++) { _shards[s]->set_cache_value_time_extractor(cache_value_time_extractor); _shards[s]->set_cache_value_check_timestamp(cache_value_check_timestamp); @@ -580,6 +625,24 @@ ShardedLRUCache::~ShardedLRUCache() { } } +PrunedInfo ShardedLRUCache::set_capacity(size_t capacity) { + std::lock_guard l(_mutex); + PrunedInfo pruned_info; + const size_t per_shard = (capacity + (_num_shards - 1)) / _num_shards; + for (int s = 0; s < _num_shards; s++) { + PrunedInfo info = _shards[s]->set_capacity(per_shard); + pruned_info.pruned_count += info.pruned_count; + pruned_info.pruned_size += info.pruned_size; + } + _capacity = capacity; + return pruned_info; +} + +size_t ShardedLRUCache::get_capacity() { + std::lock_guard l(_mutex); + return _capacity; +} + Cache::Handle* ShardedLRUCache::insert(const CacheKey& key, void* value, size_t charge, CachePriority priority) { const uint32_t hash = _hash_slice(key); @@ -638,25 +701,25 @@ int64_t ShardedLRUCache::get_usage() { } void ShardedLRUCache::update_cache_metrics() const { - size_t total_capacity = 0; + size_t capacity = 0; size_t total_usage = 0; size_t total_lookup_count = 0; size_t total_hit_count = 0; size_t total_element_count = 0; for (int i = 0; i < _num_shards; i++) { - total_capacity += _shards[i]->get_capacity(); + capacity += _shards[i]->get_capacity(); total_usage += _shards[i]->get_usage(); total_lookup_count += _shards[i]->get_lookup_count(); total_hit_count += _shards[i]->get_hit_count(); total_element_count += _shards[i]->get_element_count(); } - cache_capacity->set_value(total_capacity); + cache_capacity->set_value(capacity); cache_usage->set_value(total_usage); cache_element_count->set_value(total_element_count); cache_lookup_count->set_value(total_lookup_count); cache_hit_count->set_value(total_hit_count); - cache_usage_ratio->set_value(total_capacity == 0 ? 0 : ((double)total_usage / total_capacity)); + cache_usage_ratio->set_value(capacity == 0 ? 0 : ((double)total_usage / capacity)); cache_hit_ratio->set_value( total_lookup_count == 0 ? 0 : ((double)total_hit_count / total_lookup_count)); } diff --git a/be/src/olap/lru_cache.h b/be/src/olap/lru_cache.h index 059020deab58f5..de7084382d7398 100644 --- a/be/src/olap/lru_cache.h +++ b/be/src/olap/lru_cache.h @@ -227,7 +227,8 @@ class Cache { virtual int64_t get_usage() = 0; - virtual size_t get_total_capacity() = 0; + virtual PrunedInfo set_capacity(size_t capacity) = 0; + virtual size_t get_capacity() = 0; private: DISALLOW_COPY_AND_ASSIGN(Cache); @@ -327,7 +328,7 @@ class LRUCache { ~LRUCache(); // Separate from constructor so caller can easily make an array of LRUCache - void set_capacity(size_t capacity) { _capacity = capacity; } + PrunedInfo set_capacity(size_t capacity); void set_element_count_capacity(uint32_t element_count_capacity) { _element_count_capacity = element_count_capacity; } @@ -345,11 +346,11 @@ class LRUCache { void set_cache_value_time_extractor(CacheValueTimeExtractor cache_value_time_extractor); void set_cache_value_check_timestamp(bool cache_value_check_timestamp); - uint64_t get_lookup_count() const { return _lookup_count; } - uint64_t get_hit_count() const { return _hit_count; } - size_t get_usage() const { return _usage; } - size_t get_capacity() const { return _capacity; } - size_t get_element_count() const { return _table.element_count(); } + uint64_t get_lookup_count(); + uint64_t get_hit_count(); + size_t get_usage(); + size_t get_capacity(); + size_t get_element_count(); private: void _lru_remove(LRUHandle* e); @@ -403,15 +404,16 @@ class ShardedLRUCache : public Cache { PrunedInfo prune() override; PrunedInfo prune_if(CachePrunePredicate pred, bool lazy_mode = false) override; int64_t get_usage() override; - size_t get_total_capacity() override { return _total_capacity; }; + PrunedInfo set_capacity(size_t capacity) override; + size_t get_capacity() override; private: // LRUCache can only be created and managed with LRUCachePolicy. friend class LRUCachePolicy; - explicit ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, + explicit ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, uint32_t num_shards, uint32_t element_count_capacity); - explicit ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, + explicit ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, uint32_t num_shards, CacheValueTimeExtractor cache_value_time_extractor, bool cache_value_check_timestamp, uint32_t element_count_capacity); @@ -429,7 +431,8 @@ class ShardedLRUCache : public Cache { const uint32_t _num_shards; LRUCache** _shards = nullptr; std::atomic _last_id; - size_t _total_capacity; + std::mutex _mutex; + size_t _capacity {0}; std::shared_ptr _entity; IntGauge* cache_capacity = nullptr; @@ -462,7 +465,8 @@ class DummyLRUCache : public Cache { return {0, 0}; }; int64_t get_usage() override { return 0; }; - size_t get_total_capacity() override { return 0; }; + PrunedInfo set_capacity(size_t capacity) override { return {0, 0}; }; + size_t get_capacity() override { return 0; }; }; } // namespace doris diff --git a/be/src/runtime/memory/cache_manager.cpp b/be/src/runtime/memory/cache_manager.cpp index a6516c40a35770..ec57ffba50d318 100644 --- a/be/src/runtime/memory/cache_manager.cpp +++ b/be/src/runtime/memory/cache_manager.cpp @@ -59,11 +59,26 @@ int64_t CacheManager::for_each_cache_prune_all(RuntimeProfile* profile, bool for int64_t CacheManager::cache_prune_all(CachePolicy::CacheType type, bool force) { std::lock_guard l(_caches_lock); auto* cache_policy = _caches[type]; - if (!cache_policy->enable_prune()) { - return -1; - } cache_policy->prune_all(force); return cache_policy->profile()->get_counter("FreedMemory")->value(); } +int64_t CacheManager::for_each_cache_refresh_capacity(double adjust_weighted, + RuntimeProfile* profile) { + int64_t freed_size = 0; + std::lock_guard l(_caches_lock); + for (const auto& pair : _caches) { + auto* cache_policy = pair.second; + if (!cache_policy->enable_prune()) { + continue; + } + cache_policy->adjust_capacity_weighted(adjust_weighted); + freed_size += cache_policy->profile()->get_counter("FreedMemory")->value(); + if (cache_policy->profile()->get_counter("FreedMemory")->value() != 0 && profile) { + profile->add_child(cache_policy->profile(), true, nullptr); + } + } + return freed_size; +} + } // namespace doris diff --git a/be/src/runtime/memory/cache_manager.h b/be/src/runtime/memory/cache_manager.h index d94dca501670bf..a2a089b929dbdf 100644 --- a/be/src/runtime/memory/cache_manager.h +++ b/be/src/runtime/memory/cache_manager.h @@ -81,6 +81,9 @@ class CacheManager { return false; } + int64_t for_each_cache_refresh_capacity(double adjust_weighted, + RuntimeProfile* profile = nullptr); + private: std::mutex _caches_lock; std::unordered_map _caches; diff --git a/be/src/runtime/memory/cache_policy.cpp b/be/src/runtime/memory/cache_policy.cpp index 4e50d64d88eed1..46b9db1b35ad5f 100644 --- a/be/src/runtime/memory/cache_policy.cpp +++ b/be/src/runtime/memory/cache_policy.cpp @@ -21,8 +21,12 @@ namespace doris { -CachePolicy::CachePolicy(CacheType type, uint32_t stale_sweep_time_s, bool enable_prune) - : _type(type), _stale_sweep_time_s(stale_sweep_time_s), _enable_prune(enable_prune) { +CachePolicy::CachePolicy(CacheType type, size_t capacity, uint32_t stale_sweep_time_s, + bool enable_prune) + : _type(type), + _initial_capacity(capacity), + _stale_sweep_time_s(stale_sweep_time_s), + _enable_prune(enable_prune) { CacheManager::instance()->register_cache(this); init_profile(); } diff --git a/be/src/runtime/memory/cache_policy.h b/be/src/runtime/memory/cache_policy.h index c457afd86898f2..c43ca0b2fb7e0a 100644 --- a/be/src/runtime/memory/cache_policy.h +++ b/be/src/runtime/memory/cache_policy.h @@ -17,13 +17,12 @@ #pragma once -#include "runtime/exec_env.h" #include "util/runtime_profile.h" namespace doris { -static constexpr int32_t CACHE_MIN_FREE_SIZE = 67108864; // 64M -static constexpr int32_t CACHE_MIN_FREE_NUMBER = 1024; +static constexpr int32_t CACHE_MIN_PRUNE_SIZE = 67108864; // 64M +static constexpr int32_t CACHE_MIN_PRUNE_NUMBER = 1024; // Base of all caches. register to CacheManager when cache is constructed. class CachePolicy { @@ -42,12 +41,13 @@ class CachePolicy { TABLET_VERSION_CACHE = 10, LAST_SUCCESS_CHANNEL_CACHE = 11, COMMON_OBJ_LRU_CACHE = 12, - FOR_UT = 13, + FOR_UT_CACHE_SIZE = 13, TABLET_SCHEMA_CACHE = 14, CREATE_TABLET_RR_IDX_CACHE = 15, CLOUD_TABLET_CACHE = 16, CLOUD_TXN_DELETE_BITMAP_CACHE = 17, NONE = 18, // not be used + FOR_UT_CACHE_NUMBER = 19, }; static std::string type_string(CacheType type) { @@ -78,8 +78,8 @@ class CachePolicy { return "LastSuccessChannelCache"; case CacheType::COMMON_OBJ_LRU_CACHE: return "CommonObjLRUCache"; - case CacheType::FOR_UT: - return "ForUT"; + case CacheType::FOR_UT_CACHE_SIZE: + return "ForUTCacheSize"; case CacheType::TABLET_SCHEMA_CACHE: return "TabletSchemaCache"; case CacheType::CREATE_TABLET_RR_IDX_CACHE: @@ -88,6 +88,8 @@ class CachePolicy { return "CloudTabletCache"; case CacheType::CLOUD_TXN_DELETE_BITMAP_CACHE: return "CloudTxnDeleteBitmapCache"; + case CacheType::FOR_UT_CACHE_NUMBER: + return "ForUTCacheNumber"; default: LOG(FATAL) << "not match type of cache policy :" << static_cast(type); } @@ -109,11 +111,12 @@ class CachePolicy { {"MowTabletVersionCache", CacheType::TABLET_VERSION_CACHE}, {"LastSuccessChannelCache", CacheType::LAST_SUCCESS_CHANNEL_CACHE}, {"CommonObjLRUCache", CacheType::COMMON_OBJ_LRU_CACHE}, - {"ForUT", CacheType::FOR_UT}, + {"ForUTCacheSize", CacheType::FOR_UT_CACHE_SIZE}, {"TabletSchemaCache", CacheType::TABLET_SCHEMA_CACHE}, {"CreateTabletRRIdxCache", CacheType::CREATE_TABLET_RR_IDX_CACHE}, {"CloudTabletCache", CacheType::CLOUD_TABLET_CACHE}, - {"CloudTxnDeleteBitmapCache", CacheType::CLOUD_TXN_DELETE_BITMAP_CACHE}}; + {"CloudTxnDeleteBitmapCache", CacheType::CLOUD_TXN_DELETE_BITMAP_CACHE}, + {"ForUTCacheNumber", CacheType::FOR_UT_CACHE_NUMBER}}; static CacheType string_to_type(std::string type) { if (StringToType.contains(type)) { @@ -123,13 +126,16 @@ class CachePolicy { } } - CachePolicy(CacheType type, uint32_t stale_sweep_time_s, bool enable_prune); + CachePolicy(CacheType type, size_t capacity, uint32_t stale_sweep_time_s, bool enable_prune); virtual ~CachePolicy(); virtual void prune_stale() = 0; virtual void prune_all(bool force) = 0; + virtual int64_t adjust_capacity_weighted(double adjust_weighted) = 0; + virtual size_t get_capacity() = 0; CacheType type() { return _type; } + size_t initial_capacity() const { return _initial_capacity; } bool enable_prune() const { return _enable_prune; } RuntimeProfile* profile() { return _profile.get(); } @@ -139,16 +145,20 @@ class CachePolicy { std::make_unique(fmt::format("Cache type={}", type_string(_type))); _prune_stale_number_counter = ADD_COUNTER(_profile, "PruneStaleNumber", TUnit::UNIT); _prune_all_number_counter = ADD_COUNTER(_profile, "PruneAllNumber", TUnit::UNIT); + _adjust_capacity_weighted_number_counter = + ADD_COUNTER(_profile, "SetCapacityNumber", TUnit::UNIT); _freed_memory_counter = ADD_COUNTER(_profile, "FreedMemory", TUnit::BYTES); _freed_entrys_counter = ADD_COUNTER(_profile, "FreedEntrys", TUnit::UNIT); _cost_timer = ADD_TIMER(_profile, "CostTime"); } CacheType _type; + size_t _initial_capacity {0}; std::unique_ptr _profile; RuntimeProfile::Counter* _prune_stale_number_counter = nullptr; RuntimeProfile::Counter* _prune_all_number_counter = nullptr; + RuntimeProfile::Counter* _adjust_capacity_weighted_number_counter = nullptr; // Reset before each gc RuntimeProfile::Counter* _freed_memory_counter = nullptr; RuntimeProfile::Counter* _freed_entrys_counter = nullptr; diff --git a/be/src/runtime/memory/global_memory_arbitrator.cpp b/be/src/runtime/memory/global_memory_arbitrator.cpp index 344bcbc59846d9..76a414a6ebdc74 100644 --- a/be/src/runtime/memory/global_memory_arbitrator.cpp +++ b/be/src/runtime/memory/global_memory_arbitrator.cpp @@ -38,6 +38,13 @@ bvar::PassiveStatus g_sys_mem_avail( std::atomic GlobalMemoryArbitrator::_s_process_reserved_memory = 0; std::atomic GlobalMemoryArbitrator::refresh_interval_memory_growth = 0; +std::mutex GlobalMemoryArbitrator::cache_adjust_capacity_lock; +std::condition_variable GlobalMemoryArbitrator::cache_adjust_capacity_cv; +std::atomic GlobalMemoryArbitrator::cache_adjust_capacity_notify {false}; +std::atomic GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted {1}; +std::mutex GlobalMemoryArbitrator::memtable_memory_refresh_lock; +std::condition_variable GlobalMemoryArbitrator::memtable_memory_refresh_cv; +std::atomic GlobalMemoryArbitrator::memtable_memory_refresh_notify {false}; bool GlobalMemoryArbitrator::try_reserve_process_memory(int64_t bytes) { if (sys_mem_available() - bytes < MemInfo::sys_mem_available_warning_water_mark()) { diff --git a/be/src/runtime/memory/global_memory_arbitrator.h b/be/src/runtime/memory/global_memory_arbitrator.h index f8fda18d0e9a0c..5fbcf232ce4d24 100644 --- a/be/src/runtime/memory/global_memory_arbitrator.h +++ b/be/src/runtime/memory/global_memory_arbitrator.h @@ -173,6 +173,23 @@ class GlobalMemoryArbitrator { // avoid multiple threads starting at the same time and causing OOM. static std::atomic refresh_interval_memory_growth; + static std::mutex cache_adjust_capacity_lock; + static std::condition_variable cache_adjust_capacity_cv; + static std::atomic cache_adjust_capacity_notify; + static std::atomic last_cache_capacity_adjust_weighted; + static void notify_cache_adjust_capacity() { + cache_adjust_capacity_notify.store(true, std::memory_order_relaxed); + cache_adjust_capacity_cv.notify_all(); + } + + static std::mutex memtable_memory_refresh_lock; + static std::condition_variable memtable_memory_refresh_cv; + static std::atomic memtable_memory_refresh_notify; + static void notify_memtable_memory_refresh() { + memtable_memory_refresh_notify.store(true, std::memory_order_relaxed); + memtable_memory_refresh_cv.notify_all(); + } + private: static std::atomic _s_process_reserved_memory; diff --git a/be/src/runtime/memory/lru_cache_policy.h b/be/src/runtime/memory/lru_cache_policy.h index 1b6c9ead6d0086..419825c85c4538 100644 --- a/be/src/runtime/memory/lru_cache_policy.h +++ b/be/src/runtime/memory/lru_cache_policy.h @@ -37,7 +37,8 @@ class LRUCachePolicy : public CachePolicy { uint32_t stale_sweep_time_s, uint32_t num_shards = DEFAULT_LRU_CACHE_NUM_SHARDS, uint32_t element_count_capacity = DEFAULT_LRU_CACHE_ELEMENT_COUNT_CAPACITY, bool enable_prune = true) - : CachePolicy(type, stale_sweep_time_s, enable_prune), _lru_cache_type(lru_cache_type) { + : CachePolicy(type, capacity, stale_sweep_time_s, enable_prune), + _lru_cache_type(lru_cache_type) { if (check_capacity(capacity, num_shards)) { _cache = std::shared_ptr( new ShardedLRUCache(type_string(type), capacity, lru_cache_type, num_shards, @@ -53,7 +54,8 @@ class LRUCachePolicy : public CachePolicy { uint32_t element_count_capacity, CacheValueTimeExtractor cache_value_time_extractor, bool cache_value_check_timestamp, bool enable_prune = true) - : CachePolicy(type, stale_sweep_time_s, enable_prune), _lru_cache_type(lru_cache_type) { + : CachePolicy(type, capacity, stale_sweep_time_s, enable_prune), + _lru_cache_type(lru_cache_type) { if (check_capacity(capacity, num_shards)) { _cache = std::shared_ptr( new ShardedLRUCache(type_string(type), capacity, lru_cache_type, num_shards, @@ -106,18 +108,19 @@ class LRUCachePolicy : public CachePolicy { int64_t get_usage() { return _cache->get_usage(); } - size_t get_total_capacity() { return _cache->get_total_capacity(); } + size_t get_capacity() override { return _cache->get_capacity(); } uint64_t new_id() { return _cache->new_id(); }; // Subclass can override this method to determine whether to do the minor or full gc virtual bool exceed_prune_limit() { - return _lru_cache_type == LRUCacheType::SIZE ? mem_consumption() > CACHE_MIN_FREE_SIZE - : get_usage() > CACHE_MIN_FREE_NUMBER; + return _lru_cache_type == LRUCacheType::SIZE ? mem_consumption() > CACHE_MIN_PRUNE_SIZE + : get_usage() > CACHE_MIN_PRUNE_NUMBER; } // Try to prune the cache if expired. void prune_stale() override { + std::lock_guard l(_lock); COUNTER_SET(_freed_entrys_counter, (int64_t)0); COUNTER_SET(_freed_memory_counter, (int64_t)0); if (_stale_sweep_time_s <= 0 && _cache == ExecEnv::GetInstance()->get_dummy_lru_cache()) { @@ -125,7 +128,6 @@ class LRUCachePolicy : public CachePolicy { } if (exceed_prune_limit()) { COUNTER_SET(_cost_timer, (int64_t)0); - SCOPED_TIMER(_cost_timer); const int64_t curtime = UnixMillis(); auto pred = [this, curtime](const LRUHandle* handle) -> bool { return static_cast((handle->last_visit_time + _stale_sweep_time_s * 1000) < @@ -134,33 +136,38 @@ class LRUCachePolicy : public CachePolicy { LOG(INFO) << fmt::format("[MemoryGC] {} prune stale start, consumption {}, usage {}", type_string(_type), mem_consumption(), get_usage()); - // Prune cache in lazy mode to save cpu and minimize the time holding write lock - PrunedInfo pruned_info = _cache->prune_if(pred, true); - COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); - COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); + { + SCOPED_TIMER(_cost_timer); + // Prune cache in lazy mode to save cpu and minimize the time holding write lock + PrunedInfo pruned_info = _cache->prune_if(pred, true); + COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); + COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); + } COUNTER_UPDATE(_prune_stale_number_counter, 1); LOG(INFO) << fmt::format( - "[MemoryGC] {} prune stale {} entries, {} bytes, {} times prune", + "[MemoryGC] {} prune stale {} entries, {} bytes, cost {}, {} times prune", type_string(_type), _freed_entrys_counter->value(), - _freed_memory_counter->value(), _prune_stale_number_counter->value()); + _freed_memory_counter->value(), _cost_timer->value(), + _prune_stale_number_counter->value()); } else { if (_lru_cache_type == LRUCacheType::SIZE) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune stale, LRUCacheType::SIZE consumption {} " "less " - "than CACHE_MIN_FREE_SIZE {}", - type_string(_type), mem_consumption(), CACHE_MIN_FREE_SIZE); + "than CACHE_MIN_PRUNE_SIZE {}", + type_string(_type), mem_consumption(), CACHE_MIN_PRUNE_SIZE); } else if (_lru_cache_type == LRUCacheType::NUMBER) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune stale, LRUCacheType::NUMBER usage {} less " "than " - "CACHE_MIN_FREE_NUMBER {}", - type_string(_type), get_usage(), CACHE_MIN_FREE_NUMBER); + "CACHE_MIN_PRUNE_NUMBER {}", + type_string(_type), get_usage(), CACHE_MIN_PRUNE_NUMBER); } } } void prune_all(bool force) override { + std::lock_guard l(_lock); COUNTER_SET(_freed_entrys_counter, (int64_t)0); COUNTER_SET(_freed_memory_counter, (int64_t)0); if (_cache == ExecEnv::GetInstance()->get_dummy_lru_cache()) { @@ -168,37 +175,73 @@ class LRUCachePolicy : public CachePolicy { } if ((force && mem_consumption() != 0) || exceed_prune_limit()) { COUNTER_SET(_cost_timer, (int64_t)0); - SCOPED_TIMER(_cost_timer); LOG(INFO) << fmt::format("[MemoryGC] {} prune all start, consumption {}, usage {}", type_string(_type), mem_consumption(), get_usage()); - PrunedInfo pruned_info = _cache->prune(); - COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); - COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); + { + SCOPED_TIMER(_cost_timer); + PrunedInfo pruned_info = _cache->prune(); + COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); + COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); + } COUNTER_UPDATE(_prune_all_number_counter, 1); LOG(INFO) << fmt::format( - "[MemoryGC] {} prune all {} entries, {} bytes, {} times prune, is force: {}", + "[MemoryGC] {} prune all {} entries, {} bytes, cost {}, {} times prune, is " + "force: {}", type_string(_type), _freed_entrys_counter->value(), - _freed_memory_counter->value(), _prune_all_number_counter->value(), force); + _freed_memory_counter->value(), _cost_timer->value(), + _prune_all_number_counter->value(), force); } else { if (_lru_cache_type == LRUCacheType::SIZE) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune all, force is {}, LRUCacheType::SIZE " "consumption {}, " - "CACHE_MIN_FREE_SIZE {}", - type_string(_type), force, mem_consumption(), CACHE_MIN_FREE_SIZE); + "CACHE_MIN_PRUNE_SIZE {}", + type_string(_type), force, mem_consumption(), CACHE_MIN_PRUNE_SIZE); } else if (_lru_cache_type == LRUCacheType::NUMBER) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune all, force is {}, LRUCacheType::NUMBER " - "usage {}, CACHE_MIN_FREE_NUMBER {}", - type_string(_type), force, get_usage(), CACHE_MIN_FREE_NUMBER); + "usage {}, CACHE_MIN_PRUNE_NUMBER {}", + type_string(_type), force, get_usage(), CACHE_MIN_PRUNE_NUMBER); } } } + int64_t adjust_capacity_weighted(double adjust_weighted) override { + std::lock_guard l(_lock); + auto capacity = static_cast(_initial_capacity * adjust_weighted); + COUNTER_SET(_freed_entrys_counter, (int64_t)0); + COUNTER_SET(_freed_memory_counter, (int64_t)0); + COUNTER_SET(_cost_timer, (int64_t)0); + if (_cache == ExecEnv::GetInstance()->get_dummy_lru_cache()) { + return 0; + } + + size_t old_capacity = get_capacity(); + int64_t old_mem_consumption = mem_consumption(); + int64_t old_usage = get_usage(); + { + SCOPED_TIMER(_cost_timer); + PrunedInfo pruned_info = _cache->set_capacity(capacity); + COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); + COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); + } + COUNTER_UPDATE(_adjust_capacity_weighted_number_counter, 1); + LOG(INFO) << fmt::format( + "[MemoryGC] {} update capacity, old , " + "adjust_weighted {}, new , prune {} " + "entries, {} bytes, cost {}, {} times prune", + type_string(_type), old_capacity, old_mem_consumption, old_usage, adjust_weighted, + get_capacity(), mem_consumption(), get_usage(), _freed_entrys_counter->value(), + _freed_memory_counter->value(), _cost_timer->value(), + _adjust_capacity_weighted_number_counter->value()); + return _freed_entrys_counter->value(); + } + protected: // if check_capacity failed, will return dummy lru cache, // compatible with ShardedLRUCache usage, but will not actually cache. std::shared_ptr _cache; + std::mutex _lock; LRUCacheType _lru_cache_type; }; diff --git a/be/src/runtime/memory/mem_tracker_limiter.cpp b/be/src/runtime/memory/mem_tracker_limiter.cpp index a8aa44414ebf87..59546b11d51a8a 100644 --- a/be/src/runtime/memory/mem_tracker_limiter.cpp +++ b/be/src/runtime/memory/mem_tracker_limiter.cpp @@ -739,10 +739,10 @@ int64_t MemTrackerLimiter::free_top_overcommit_query( LOG(INFO) << log_prefix << "finished, no task need be canceled."; return 0; } - if (query_consumption.size() == 1) { + if (small_num == 0 && canceling_task.empty() && query_consumption.size() == 1) { auto iter = query_consumption.begin(); - LOG(INFO) << log_prefix << "finished, only one task: " << iter->first - << ", memory consumption: " << iter->second << ", no cancel."; + LOG(INFO) << log_prefix << "finished, only one overcommit task: " << iter->first + << ", memory consumption: " << iter->second << ", no other tasks, so no cancel."; return 0; } diff --git a/be/src/runtime/memory/memory_reclamation.cpp b/be/src/runtime/memory/memory_reclamation.cpp index 3adf1d1ac75718..17f5a41f462b50 100644 --- a/be/src/runtime/memory/memory_reclamation.cpp +++ b/be/src/runtime/memory/memory_reclamation.cpp @@ -37,7 +37,6 @@ bool MemoryReclamation::process_minor_gc(std::string mem_info) { std::unique_ptr profile = std::make_unique(""); Defer defer {[&]() { - MemInfo::notify_je_purge_dirty_pages(); std::stringstream ss; profile->pretty_print(&ss); LOG(INFO) << fmt::format( @@ -46,11 +45,6 @@ bool MemoryReclamation::process_minor_gc(std::string mem_info) { ss.str()); }}; - freed_mem += CacheManager::instance()->for_each_cache_prune_stale(profile.get()); - if (freed_mem > MemInfo::process_minor_gc_size()) { - return true; - } - if (config::enable_workload_group_memory_gc) { RuntimeProfile* tg_profile = profile->create_child("WorkloadGroup", true, true); freed_mem += tg_enable_overcommit_group_gc(MemInfo::process_minor_gc_size() - freed_mem, @@ -87,7 +81,6 @@ bool MemoryReclamation::process_full_gc(std::string mem_info) { std::unique_ptr profile = std::make_unique(""); Defer defer {[&]() { - MemInfo::notify_je_purge_dirty_pages(); std::stringstream ss; profile->pretty_print(&ss); LOG(INFO) << fmt::format( @@ -96,11 +89,6 @@ bool MemoryReclamation::process_full_gc(std::string mem_info) { ss.str()); }}; - freed_mem += CacheManager::instance()->for_each_cache_prune_all(profile.get()); - if (freed_mem > MemInfo::process_full_gc_size()) { - return true; - } - if (config::enable_workload_group_memory_gc) { RuntimeProfile* tg_profile = profile->create_child("WorkloadGroup", true, true); freed_mem += tg_enable_overcommit_group_gc(MemInfo::process_full_gc_size() - freed_mem, diff --git a/be/src/service/point_query_executor.h b/be/src/service/point_query_executor.h index 19954479c97ec7..7503fd2c102a68 100644 --- a/be/src/service/point_query_executor.h +++ b/be/src/service/point_query_executor.h @@ -246,8 +246,8 @@ class LookupConnectionCache : public LRUCachePolicyTrackingManual { auto* value = new CacheValue; value->item = item; LOG(INFO) << "Add item mem" - << ", cache_capacity: " << get_total_capacity() - << ", cache_usage: " << get_usage() << ", mem_consum: " << mem_consumption(); + << ", cache_capacity: " << get_capacity() << ", cache_usage: " << get_usage() + << ", mem_consum: " << mem_consumption(); auto* lru_handle = insert(key, value, 1, sizeof(Reusable), CachePriority::NORMAL); release(lru_handle); } diff --git a/be/src/vec/common/allocator.cpp b/be/src/vec/common/allocator.cpp index dff1330888f82d..2619c0bafffb16 100644 --- a/be/src/vec/common/allocator.cpp +++ b/be/src/vec/common/allocator.cpp @@ -106,9 +106,6 @@ void Allocator::sys_mem return; } - // no significant impact on performance is expected. - doris::MemInfo::notify_je_purge_dirty_pages(); - if (doris::thread_context()->thread_mem_tracker_mgr->is_attach_query() && doris::thread_context()->thread_mem_tracker_mgr->wait_gc()) { int64_t wait_milliseconds = 0; diff --git a/be/test/olap/lru_cache_test.cpp b/be/test/olap/lru_cache_test.cpp index 4fc096380c754b..9adb30b93054f4 100644 --- a/be/test/olap/lru_cache_test.cpp +++ b/be/test/olap/lru_cache_test.cpp @@ -88,25 +88,46 @@ class CacheTest : public testing::Test { void* value; }; - class CacheTestPolicy : public LRUCachePolicyTrackingManual { + class CacheTestSizePolicy : public LRUCachePolicyTrackingManual { public: - CacheTestPolicy(size_t capacity) - : LRUCachePolicyTrackingManual(CachePolicy::CacheType::FOR_UT, capacity, + CacheTestSizePolicy(size_t capacity) + : LRUCachePolicyTrackingManual(CachePolicy::CacheType::FOR_UT_CACHE_SIZE, capacity, LRUCacheType::SIZE, -1) {} }; + class CacheTestNumberPolicy : public LRUCachePolicyTrackingManual { + public: + CacheTestNumberPolicy(size_t capacity, uint32_t num_shards) + : LRUCachePolicyTrackingManual(CachePolicy::CacheType::FOR_UT_CACHE_NUMBER, + capacity, LRUCacheType::NUMBER, -1, num_shards) {} + }; + // there is 16 shards in ShardedLRUCache // And the LRUHandle size is about 100B. So the cache size should big enough // to run the UT. static const int kCacheSize = 1000 * 16; std::vector _deleted_keys; std::vector _deleted_values; - CacheTestPolicy* _cache; + LRUCachePolicy* _cache = nullptr; - CacheTest() : _cache(new CacheTestPolicy(kCacheSize)) { _s_current = this; } + CacheTest() { _s_current = this; } ~CacheTest() override { delete _cache; } + void init_size_cache(size_t capacity = kCacheSize) { + if (_cache != nullptr) { + delete _cache; + } + _cache = new CacheTestSizePolicy(capacity); + } + + void init_number_cache(size_t capacity = kCacheSize, uint32_t num_shards = 1) { + if (_cache != nullptr) { + delete _cache; + } + _cache = new CacheTestNumberPolicy(capacity, num_shards); + } + LRUCachePolicy* cache() const { return _cache; } int Lookup(int key) const { @@ -149,7 +170,25 @@ class CacheTest : public testing::Test { }; CacheTest* CacheTest::_s_current; +static void insert_LRUCache(LRUCache& cache, const CacheKey& key, int value, + CachePriority priority) { + uint32_t hash = key.hash(key.data(), key.size(), 0); + auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); + cache.release(cache.insert(key, hash, cache_value, value, priority)); +} + +static void insert_number_LRUCache(LRUCache& cache, const CacheKey& key, int value, int charge, + CachePriority priority) { + uint32_t hash = key.hash(key.data(), key.size(), 0); + auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); + cache.release(cache.insert(key, hash, cache_value, charge, priority)); +} + +// https://stackoverflow.com/questions/42756443/undefined-reference-with-gtest +const int CacheTest::kCacheSize; + TEST_F(CacheTest, HitAndMiss) { + init_size_cache(); EXPECT_EQ(-1, Lookup(100)); Insert(100, 101, 1); @@ -173,6 +212,7 @@ TEST_F(CacheTest, HitAndMiss) { } TEST_F(CacheTest, Erase) { + init_size_cache(); Erase(200); EXPECT_EQ(0, _deleted_keys.size()); @@ -192,6 +232,7 @@ TEST_F(CacheTest, Erase) { } TEST_F(CacheTest, EntriesArePinned) { + init_size_cache(); Insert(100, 101, 1); std::string result1; Cache::Handle* h1 = cache()->lookup(EncodeKey(&result1, 100)); @@ -219,6 +260,7 @@ TEST_F(CacheTest, EntriesArePinned) { } TEST_F(CacheTest, EvictionPolicy) { + init_size_cache(); Insert(100, 101, 1); Insert(200, 201, 1); @@ -234,6 +276,7 @@ TEST_F(CacheTest, EvictionPolicy) { } TEST_F(CacheTest, EvictionPolicyWithDurable) { + init_size_cache(); Insert(100, 101, 1); InsertDurable(200, 201, 1); Insert(300, 101, 1); @@ -250,20 +293,6 @@ TEST_F(CacheTest, EvictionPolicyWithDurable) { EXPECT_EQ(201, Lookup(200)); } -static void insert_LRUCache(LRUCache& cache, const CacheKey& key, int value, - CachePriority priority) { - uint32_t hash = key.hash(key.data(), key.size(), 0); - auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); - cache.release(cache.insert(key, hash, cache_value, value, priority)); -} - -static void insert_number_LRUCache(LRUCache& cache, const CacheKey& key, int value, int charge, - CachePriority priority) { - uint32_t hash = key.hash(key.data(), key.size(), 0); - auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); - cache.release(cache.insert(key, hash, cache_value, charge, priority)); -} - TEST_F(CacheTest, Usage) { LRUCache cache(LRUCacheType::SIZE); cache.set_capacity(1040); @@ -463,6 +492,7 @@ TEST_F(CacheTest, Number) { } TEST_F(CacheTest, HeavyEntries) { + init_size_cache(); // Add a bunch of light and heavy entries and then count the combined // size of items still in the cache, which must be approximately the // same as the total capacity. @@ -494,12 +524,14 @@ TEST_F(CacheTest, HeavyEntries) { } TEST_F(CacheTest, NewId) { + init_size_cache(); uint64_t a = cache()->new_id(); uint64_t b = cache()->new_id(); EXPECT_NE(a, b); } TEST_F(CacheTest, SimpleBenchmark) { + init_size_cache(); for (int i = 0; i < kCacheSize * LOOP_LESS_OR_MORE(10, 10000); i++) { Insert(1000 + i, 2000 + i, 1); EXPECT_EQ(2000 + i, Lookup(1000 + i)); @@ -598,4 +630,78 @@ TEST(CacheHandleTest, HandleTableTest) { } } +TEST_F(CacheTest, SetCapacity) { + init_number_cache(); + for (int i = 0; i < kCacheSize; i++) { + Insert(i, 1000 + i, 1); + EXPECT_EQ(1000 + i, Lookup(i)); + } + ASSERT_EQ(kCacheSize, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, cache()->get_usage()); + + int64_t prune_num = cache()->adjust_capacity_weighted(2); + ASSERT_EQ(prune_num, 0); + ASSERT_EQ(kCacheSize * 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, cache()->get_usage()); + + prune_num = cache()->adjust_capacity_weighted(0.5); + ASSERT_EQ(prune_num, kCacheSize / 2); + ASSERT_EQ(kCacheSize / 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize / 2, cache()->get_usage()); + + std::vector handles(kCacheSize, nullptr); + for (int i = 0; i < kCacheSize; i++) { + std::string result; + CacheKey cache_key = EncodeKey(&result, kCacheSize + i); + auto* cache_value = new CacheValueWithKey(DecodeKey(cache_key), EncodeValue(i)); + handles[i] = cache()->insert(cache_key, cache_value, 1, 1); + } + ASSERT_EQ(kCacheSize / 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, + cache()->get_usage()); // Handle not be released, so key cannot be evicted. + + for (int i = 0; i < kCacheSize; i++) { + Insert(i + kCacheSize, 2000 + i, 1); + EXPECT_EQ(-1, Lookup(i + kCacheSize)); // Cache is full, insert failed. + } + ASSERT_EQ(kCacheSize / 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, cache()->get_usage()); + + cache()->adjust_capacity_weighted(2); + ASSERT_EQ(kCacheSize * 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, cache()->get_usage()); + + for (int i = 0; i < kCacheSize; i++) { + Insert(i, 3000 + i, 1); + EXPECT_EQ(3000 + i, Lookup(i)); + } + ASSERT_EQ(kCacheSize * 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize * 2, cache()->get_usage()); + + cache()->adjust_capacity_weighted(0); + ASSERT_EQ(0, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, cache()->get_usage()); + + for (auto it : handles) { + cache()->release(it); + } + ASSERT_EQ(0, cache()->get_capacity()); + ASSERT_EQ(0, cache()->get_usage()); + + cache()->adjust_capacity_weighted(1); + ASSERT_EQ(kCacheSize, cache()->get_capacity()); + ASSERT_EQ(0, cache()->get_usage()); + + cache()->adjust_capacity_weighted(0); + ASSERT_EQ(0, cache()->get_capacity()); + ASSERT_EQ(0, cache()->get_usage()); + + for (int i = 0; i < kCacheSize; i++) { + Insert(i, 4000 + i, 1); + EXPECT_EQ(-1, Lookup(i)); + } + ASSERT_EQ(0, cache()->get_capacity()); + ASSERT_EQ(0, cache()->get_usage()); +} + } // namespace doris From 5dd08b6b4603ff8ef3c8a76d6a160fbce79fc953 Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:19:56 +0800 Subject: [PATCH 123/199] [opt](Nereids) fix several insert into related issues (#40467) - http_stream TVF should always generate one fragment plan - http_stream TVF plan should not check root as scan node - distinguish group_commit TVF with normal insert statement - index and generate slot should based on type cast base slot - agg_state could cast from nullable to non-nullable - colocated and bucket scan range compute should only on scan node --- .../java/org/apache/doris/catalog/Type.java | 4 - .../nereids/parser/LogicalPlanBuilder.java | 2 +- .../nereids/rules/analysis/BindSink.java | 81 ++++++++----- .../functions/table/HttpStream.java | 11 ++ .../plans/commands/info/DMLCommandType.java | 2 + .../java/org/apache/doris/qe/Coordinator.java | 5 +- .../org/apache/doris/qe/StmtExecutor.java | 17 ++- .../insert_into_table/insert_use_table_id.out | 48 -------- .../agg_state/max/test_agg_state_max.groovy | 2 +- .../insert_group_commit_into_unique.groovy | 9 +- .../insert_use_table_id.groovy | 107 ------------------ 11 files changed, 90 insertions(+), 198 deletions(-) delete mode 100644 regression-test/data/nereids_p0/insert_into_table/insert_use_table_id.out delete mode 100644 regression-test/suites/nereids_p0/insert_into_table/insert_use_table_id.groovy diff --git a/fe/fe-common/src/main/java/org/apache/doris/catalog/Type.java b/fe/fe-common/src/main/java/org/apache/doris/catalog/Type.java index 1dcd062261b2b8..7a8dda5aabedef 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/catalog/Type.java +++ b/fe/fe-common/src/main/java/org/apache/doris/catalog/Type.java @@ -866,10 +866,6 @@ public static boolean canCastTo(Type sourceType, Type targetType) { return false; } for (int i = 0; i < sourceAggState.getSubTypes().size(); i++) { - // target subtype is not null but source subtype is nullable - if (!targetAggState.getSubTypeNullables().get(i) && sourceAggState.getSubTypeNullables().get(i)) { - return false; - } if (!canCastTo(sourceAggState.getSubTypes().get(i), targetAggState.getSubTypes().get(i))) { return false; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java index 324ab808226930..67ef1ca48c2f02 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java @@ -593,7 +593,7 @@ public LogicalPlan visitInsertTable(InsertTableContext ctx) { isAutoDetect, isOverwrite, ConnectContext.get().getSessionVariable().isEnableUniqueKeyPartialUpdate(), - DMLCommandType.INSERT, + ctx.tableId == null ? DMLCommandType.INSERT : DMLCommandType.GROUP_COMMIT, plan); Optional cte = Optional.empty(); if (ctx.cte() != null) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java index c9e7f07f5d08e3..6d8ad94242b53c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java @@ -68,6 +68,7 @@ import org.apache.doris.nereids.types.DataType; import org.apache.doris.nereids.types.StringType; import org.apache.doris.nereids.types.coercion.CharacterType; +import org.apache.doris.nereids.util.ExpressionUtils; import org.apache.doris.nereids.util.RelationUtil; import org.apache.doris.nereids.util.TypeCoercionUtils; @@ -126,7 +127,8 @@ private Plan bindOlapTableSink(MatchingContext> ctx) { && table.getSequenceMapCol() != null && sink.getColNames().contains(table.getSequenceMapCol()); Pair, Integer> bindColumnsResult = - bindTargetColumns(table, sink.getColNames(), childHasSeqCol, needExtraSeqCol); + bindTargetColumns(table, sink.getColNames(), childHasSeqCol, needExtraSeqCol, + sink.getDMLCommandType() == DMLCommandType.GROUP_COMMIT); List bindColumns = bindColumnsResult.first; int extraColumnsNum = bindColumnsResult.second; @@ -176,8 +178,12 @@ private Plan bindOlapTableSink(MatchingContext> ctx) { .filter(col -> col.getName().equalsIgnoreCase(table.getSequenceMapCol())) .findFirst(); } else { - if (!sink.getColNames().isEmpty()) { - if (sink.getColNames().stream() + // ATTN: must use bindColumns here. Because of insert into from group_commit tvf submitted by BE + // do not follow any column list with target table, but it contains all inviable data in sink's + // child. THis is different with other insert action that contain non-inviable data by default. + if (!bindColumns.isEmpty()) { + if (bindColumns.stream() + .map(Column::getName) .anyMatch(c -> c.equalsIgnoreCase(Column.SEQUENCE_COL))) { haveInputSeqCol = true; // case2.a } // else case2.b @@ -205,7 +211,8 @@ private Plan bindOlapTableSink(MatchingContext> ctx) { Map columnToOutput = getColumnToOutput( ctx, table, isPartialUpdate, boundSink, child); - LogicalProject fullOutputProject = getOutputProjectByCoercion(table.getFullSchema(), child, columnToOutput); + LogicalProject fullOutputProject = getOutputProjectByCoercion( + table.getFullSchema(), child, columnToOutput); return boundSink.withChildAndUpdateOutput(fullOutputProject); } @@ -267,15 +274,14 @@ private static Map getColumnToOutput( // we need to insert all the columns of the target table // although some columns are not mentions. // so we add a projects to supply the default value. - Map columnToChildOutput = Maps.newHashMap(); for (int i = 0; i < child.getOutput().size(); ++i) { columnToChildOutput.put(boundSink.getCols().get(i), child.getOutput().get(i)); } - Map columnToOutput = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER); + Map columnToReplaced = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER); + Map replaceMap = Maps.newHashMap(); NereidsParser expressionParser = new NereidsParser(); - List generatedColumns = Lists.newArrayList(); List materializedViewColumn = Lists.newArrayList(); // generate slots not mentioned in sql, mv slots and shaded slots. @@ -291,7 +297,12 @@ private static Map getColumnToOutput( // do not process explicitly use DEFAULT value here: // insert into table t values(DEFAULT) && !(columnToChildOutput.get(column) instanceof DefaultValueSlot)) { - columnToOutput.put(column.getName(), columnToChildOutput.get(column)); + Alias output = new Alias(TypeCoercionUtils.castIfNotSameType( + columnToChildOutput.get(column), DataType.fromCatalogType(column.getType())), + column.getName()); + columnToOutput.put(column.getName(), output); + columnToReplaced.put(column.getName(), output.toSlot()); + replaceMap.put(output.toSlot(), output.child()); } else { if (table instanceof OlapTable && ((OlapTable) table).hasSequenceCol() && column.getName().equals(Column.SEQUENCE_COL) @@ -312,6 +323,8 @@ private static Map getColumnToOutput( seqColumn = new Alias(seqColumn, column.getName()); } columnToOutput.put(column.getName(), seqColumn); + columnToReplaced.put(column.getName(), seqColumn.toSlot()); + replaceMap.put(seqColumn.toSlot(), seqColumn.child(0)); } } else if (isPartialUpdate) { // If the current load is a partial update, the values of unmentioned @@ -328,9 +341,12 @@ private static Map getColumnToOutput( Expression defualtValueExpression = ExpressionAnalyzer.analyzeFunction( boundSink, ctx.cascadesContext, unboundFunctionDefaultValue ); - columnToOutput.put(column.getName(), - new Alias(defualtValueExpression, column.getName()) - ); + Alias output = new Alias(TypeCoercionUtils.castIfNotSameType( + defualtValueExpression, DataType.fromCatalogType(column.getType())), + column.getName()); + columnToOutput.put(column.getName(), output); + columnToReplaced.put(column.getName(), output.toSlot()); + replaceMap.put(output.toSlot(), output.child()); } else { continue; } @@ -343,10 +359,11 @@ private static Map getColumnToOutput( } // Otherwise, the unmentioned columns should be filled with default values // or null values - columnToOutput.put(column.getName(), new Alias( - new NullLiteral(DataType.fromCatalogType(column.getType())), - column.getName() - )); + Alias output = new Alias(new NullLiteral(DataType.fromCatalogType(column.getType())), + column.getName()); + columnToOutput.put(column.getName(), output); + columnToReplaced.put(column.getName(), output.toSlot()); + replaceMap.put(output.toSlot(), output.child()); } else { try { // it comes from the original planner, if default value expression is @@ -365,8 +382,12 @@ private static Map getColumnToOutput( if (defualtValueExpression instanceof Alias) { defualtValueExpression = ((Alias) defualtValueExpression).child(); } - columnToOutput.put(column.getName(), - new Alias(defualtValueExpression, column.getName())); + Alias output = new Alias((TypeCoercionUtils.castIfNotSameType( + defualtValueExpression, DataType.fromCatalogType(column.getType()))), + column.getName()); + columnToOutput.put(column.getName(), output); + columnToReplaced.put(column.getName(), output.toSlot()); + replaceMap.put(output.toSlot(), output.child()); } } catch (Exception e) { throw new AnalysisException(e.getMessage(), e.getCause()); @@ -380,13 +401,16 @@ private static Map getColumnToOutput( for (Column column : generatedColumns) { GeneratedColumnInfo info = column.getGeneratedColumnInfo(); Expression parsedExpression = new NereidsParser().parseExpression(info.getExpr().toSqlWithoutTbl()); - Expression boundExpression = new CustomExpressionAnalyzer(boundSink, ctx.cascadesContext, columnToOutput) + Expression boundExpression = new CustomExpressionAnalyzer(boundSink, ctx.cascadesContext, columnToReplaced) .analyze(parsedExpression); if (boundExpression instanceof Alias) { boundExpression = ((Alias) boundExpression).child(); } - NamedExpression slot = new Alias(boundExpression, info.getExprSql()); - columnToOutput.put(column.getName(), slot); + boundExpression = ExpressionUtils.replace(boundExpression, replaceMap); + Alias output = new Alias(boundExpression, info.getExprSql()); + columnToOutput.put(column.getName(), output); + columnToReplaced.put(column.getName(), output.toSlot()); + replaceMap.put(output.toSlot(), output.child()); } for (Column column : materializedViewColumn) { if (column.isMaterializedViewColumn()) { @@ -400,12 +424,15 @@ private static Map getColumnToOutput( // may not be bound, we have to bind it again. // for example: to_bitmap. Expression boundExpression = new CustomExpressionAnalyzer( - boundSink, ctx.cascadesContext, columnToOutput).analyze(parsedExpression); + boundSink, ctx.cascadesContext, columnToReplaced).analyze(parsedExpression); if (boundExpression instanceof Alias) { boundExpression = ((Alias) boundExpression).child(); } - NamedExpression slot = new Alias(boundExpression, column.getDefineExpr().toSqlWithoutTbl()); - columnToOutput.put(column.getName(), slot); + boundExpression = ExpressionUtils.replace(boundExpression, replaceMap); + boundExpression = TypeCoercionUtils.castIfNotSameType(boundExpression, + DataType.fromCatalogType(column.getType())); + Alias output = new Alias(boundExpression, column.getDefineExpr().toSqlWithoutTbl()); + columnToOutput.put(column.getName(), output); } } return columnToOutput; @@ -554,12 +581,14 @@ private List bindPartitionIds(OlapTable table, List partitions, bo } private Pair, Integer> bindTargetColumns(OlapTable table, List colsName, - boolean childHasSeqCol, boolean needExtraSeqCol) { + boolean childHasSeqCol, boolean needExtraSeqCol, boolean isGroupCommit) { // if the table set sequence column in stream load phase, the sequence map column is null, we query it. if (colsName.isEmpty()) { + // ATTN: group commit without column list should return all base index column + // because it already prepares data for these columns. return Pair.of(table.getBaseSchema(true).stream() - .filter(c -> validColumn(c, childHasSeqCol)) - .collect(ImmutableList.toImmutableList()), 0); + .filter(c -> isGroupCommit || validColumn(c, childHasSeqCol)) + .collect(ImmutableList.toImmutableList()), 0); } else { int extraColumnsNum = (needExtraSeqCol ? 1 : 0); List processedColsName = Lists.newArrayList(colsName); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/table/HttpStream.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/table/HttpStream.java index de052b078db43e..8e35e25240e6ca 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/table/HttpStream.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/table/HttpStream.java @@ -19,12 +19,17 @@ import org.apache.doris.catalog.FunctionSignature; import org.apache.doris.nereids.exceptions.AnalysisException; +import org.apache.doris.nereids.properties.DistributionSpecHash; +import org.apache.doris.nereids.properties.DistributionSpecHash.ShuffleType; +import org.apache.doris.nereids.properties.PhysicalProperties; import org.apache.doris.nereids.trees.expressions.Properties; import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; import org.apache.doris.nereids.types.coercion.AnyDataType; import org.apache.doris.tablefunction.HttpStreamTableValuedFunction; import org.apache.doris.tablefunction.TableValuedFunctionIf; +import com.google.common.collect.ImmutableList; + import java.util.Map; /** http_stream */ @@ -49,6 +54,12 @@ protected TableValuedFunctionIf toCatalogFunction() { } } + @Override + public PhysicalProperties getPhysicalProperties() { + return PhysicalProperties.createHash(new DistributionSpecHash(ImmutableList.of(), + ShuffleType.EXECUTION_BUCKETED)); + } + @Override public R accept(ExpressionVisitor visitor, C context) { return visitor.visitHttpStream(this, context); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/DMLCommandType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/DMLCommandType.java index 18d8179abe4d0e..aa97f26df18c58 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/DMLCommandType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/DMLCommandType.java @@ -27,6 +27,8 @@ public enum DMLCommandType { NONE, // for INSERT INTO or INSERT INTO SELECT INSERT, + // for group_commit tvf + GROUP_COMMIT, // for UPDATE UPDATE, // for DELETE diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java index 0fff8e9f23c09f..5e3a59d9a54d96 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java @@ -2166,9 +2166,10 @@ protected void computeScanRangeAssignment() throws Exception { FragmentScanRangeAssignment assignment = fragmentExecParamsMap.get(scanNode.getFragmentId()).scanRangeAssignment; boolean fragmentContainsColocateJoin = isColocateFragment(scanNode.getFragment(), - scanNode.getFragment().getPlanRoot()); + scanNode.getFragment().getPlanRoot()) && (scanNode instanceof OlapScanNode); boolean fragmentContainsBucketShuffleJoin = bucketShuffleJoinController - .isBucketShuffleJoin(scanNode.getFragmentId().asInt(), scanNode.getFragment().getPlanRoot()); + .isBucketShuffleJoin(scanNode.getFragmentId().asInt(), scanNode.getFragment().getPlanRoot()) + && (scanNode instanceof OlapScanNode); // A fragment may contain both colocate join and bucket shuffle join // on need both compute scanRange to init basic data for query coordinator diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java index 71614770afb70f..6aa2d6d1e0bf7b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java @@ -3440,8 +3440,16 @@ private HttpStreamParams generateHttpStreamNereidsPlan(TUniqueId queryId) { httpStreamParams.setLabel(insertExecutor.getLabelName()); PlanNode planRoot = planner.getFragments().get(0).getPlanRoot(); - Preconditions.checkState(planRoot instanceof TVFScanNode || planRoot instanceof GroupCommitScanNode, - "Nereids' planNode cannot be converted to " + planRoot.getClass().getName()); + boolean isValidPlan = !planner.getScanNodes().isEmpty(); + for (ScanNode scanNode : planner.getScanNodes()) { + if (!(scanNode instanceof TVFScanNode || planRoot instanceof GroupCommitScanNode)) { + isValidPlan = false; + break; + } + } + if (!isValidPlan) { + throw new AnalysisException("plan is invalid: " + planRoot.getExplainString()); + } } catch (QueryStateException e) { LOG.debug("Command(" + originStmt.originStmt + ") process failed.", e); context.setState(e.getQueryState()); @@ -3512,11 +3520,8 @@ public HttpStreamParams generateHttpStreamPlan(TUniqueId queryId) throws Excepti LOG.warn("Analyze failed. {}", context.getQueryIdentifier(), e); throw ((NereidsException) e).getException(); } - boolean isInsertIntoCommand = parsedStmt != null && parsedStmt instanceof LogicalPlanAdapter - && ((LogicalPlanAdapter) parsedStmt).getLogicalPlan() instanceof InsertIntoTableCommand; if (e instanceof NereidsException - && !context.getSessionVariable().enableFallbackToOriginalPlanner - && !isInsertIntoCommand) { + && !context.getSessionVariable().enableFallbackToOriginalPlanner) { LOG.warn("Analyze failed. {}", context.getQueryIdentifier(), e); throw ((NereidsException) e).getException(); } diff --git a/regression-test/data/nereids_p0/insert_into_table/insert_use_table_id.out b/regression-test/data/nereids_p0/insert_into_table/insert_use_table_id.out deleted file mode 100644 index d0020443bf67df..00000000000000 --- a/regression-test/data/nereids_p0/insert_into_table/insert_use_table_id.out +++ /dev/null @@ -1,48 +0,0 @@ --- This file is automatically generated. You should know what you did if you want to edit this --- !sql_cross_join -- -1 10 1 1 1.0 2000-01-01 1 10 10 10.0 2000-01-10 1 -1 10 1 1 1.0 2000-01-01 1 10 10 10.0 2000-01-10 4 -1 10 1 1 1.0 2000-01-01 1 10 10 10.0 2000-01-10 5 -1 10 1 1 1.0 2000-01-01 2 20 20 20.0 2000-01-20 1 -1 10 1 1 1.0 2000-01-01 2 20 20 20.0 2000-01-20 4 -1 10 1 1 1.0 2000-01-01 2 20 20 20.0 2000-01-20 5 -1 10 1 1 1.0 2000-01-01 3 30 30 30.0 2000-01-30 1 -1 10 1 1 1.0 2000-01-01 3 30 30 30.0 2000-01-30 4 -1 10 1 1 1.0 2000-01-01 3 30 30 30.0 2000-01-30 5 -1 10 1 1 1.0 2000-01-01 4 4 4 4.0 2000-01-04 1 -1 10 1 1 1.0 2000-01-01 4 4 4 4.0 2000-01-04 4 -1 10 1 1 1.0 2000-01-01 4 4 4 4.0 2000-01-04 5 -1 10 1 1 1.0 2000-01-01 5 5 5 5.0 2000-01-05 1 -1 10 1 1 1.0 2000-01-01 5 5 5 5.0 2000-01-05 4 -1 10 1 1 1.0 2000-01-01 5 5 5 5.0 2000-01-05 5 -2 20 2 2 2.0 2000-01-02 1 10 10 10.0 2000-01-10 1 -2 20 2 2 2.0 2000-01-02 1 10 10 10.0 2000-01-10 4 -2 20 2 2 2.0 2000-01-02 1 10 10 10.0 2000-01-10 5 -2 20 2 2 2.0 2000-01-02 2 20 20 20.0 2000-01-20 1 -2 20 2 2 2.0 2000-01-02 2 20 20 20.0 2000-01-20 4 -2 20 2 2 2.0 2000-01-02 2 20 20 20.0 2000-01-20 5 -2 20 2 2 2.0 2000-01-02 3 30 30 30.0 2000-01-30 1 -2 20 2 2 2.0 2000-01-02 3 30 30 30.0 2000-01-30 4 -2 20 2 2 2.0 2000-01-02 3 30 30 30.0 2000-01-30 5 -2 20 2 2 2.0 2000-01-02 4 4 4 4.0 2000-01-04 1 -2 20 2 2 2.0 2000-01-02 4 4 4 4.0 2000-01-04 4 -2 20 2 2 2.0 2000-01-02 4 4 4 4.0 2000-01-04 5 -2 20 2 2 2.0 2000-01-02 5 5 5 5.0 2000-01-05 1 -2 20 2 2 2.0 2000-01-02 5 5 5 5.0 2000-01-05 4 -2 20 2 2 2.0 2000-01-02 5 5 5 5.0 2000-01-05 5 -3 30 3 3 3.0 2000-01-03 1 10 10 10.0 2000-01-10 1 -3 30 3 3 3.0 2000-01-03 1 10 10 10.0 2000-01-10 4 -3 30 3 3 3.0 2000-01-03 1 10 10 10.0 2000-01-10 5 -3 30 3 3 3.0 2000-01-03 2 20 20 20.0 2000-01-20 1 -3 30 3 3 3.0 2000-01-03 2 20 20 20.0 2000-01-20 4 -3 30 3 3 3.0 2000-01-03 2 20 20 20.0 2000-01-20 5 -3 30 3 3 3.0 2000-01-03 3 30 30 30.0 2000-01-30 1 -3 30 3 3 3.0 2000-01-03 3 30 30 30.0 2000-01-30 4 -3 30 3 3 3.0 2000-01-03 3 30 30 30.0 2000-01-30 5 -3 30 3 3 3.0 2000-01-03 4 4 4 4.0 2000-01-04 1 -3 30 3 3 3.0 2000-01-03 4 4 4 4.0 2000-01-04 4 -3 30 3 3 3.0 2000-01-03 4 4 4 4.0 2000-01-04 5 -3 30 3 3 3.0 2000-01-03 5 5 5 5.0 2000-01-05 1 -3 30 3 3 3.0 2000-01-03 5 5 5 5.0 2000-01-05 4 -3 30 3 3 3.0 2000-01-03 5 5 5 5.0 2000-01-05 5 - diff --git a/regression-test/suites/datatype_p0/agg_state/max/test_agg_state_max.groovy b/regression-test/suites/datatype_p0/agg_state/max/test_agg_state_max.groovy index 983f51beed1f3c..a71da554afb5df 100644 --- a/regression-test/suites/datatype_p0/agg_state/max/test_agg_state_max.groovy +++ b/regression-test/suites/datatype_p0/agg_state/max/test_agg_state_max.groovy @@ -30,7 +30,7 @@ suite("test_agg_state_max") { test { sql "insert into a_table values(100,max_state(null));" - exception "can not cast from origin type agg_state" + exception "illegal for non_nullable" } sql """insert into a_table diff --git a/regression-test/suites/insert_p0/insert_group_commit_into_unique.groovy b/regression-test/suites/insert_p0/insert_group_commit_into_unique.groovy index ca280cd17d83eb..8ae0d41565d488 100644 --- a/regression-test/suites/insert_p0/insert_group_commit_into_unique.groovy +++ b/regression-test/suites/insert_p0/insert_group_commit_into_unique.groovy @@ -86,7 +86,8 @@ suite("insert_group_commit_into_unique") { UNIQUE KEY(`id`, `name`) DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( - "replication_num" = "1" + "replication_num" = "1", + "group_commit_interval_ms" = "100" ); """ @@ -171,7 +172,8 @@ suite("insert_group_commit_into_unique") { DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( "replication_num" = "1", - "function_column.sequence_col" = "score" + "function_column.sequence_col" = "score", + "group_commit_interval_ms" = "100" ); """ @@ -257,7 +259,8 @@ suite("insert_group_commit_into_unique") { DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( "replication_num" = "1", - "function_column.sequence_type" = "int" + "function_column.sequence_type" = "int", + "group_commit_interval_ms" = "100" ); """ diff --git a/regression-test/suites/nereids_p0/insert_into_table/insert_use_table_id.groovy b/regression-test/suites/nereids_p0/insert_into_table/insert_use_table_id.groovy deleted file mode 100644 index 930fe35b60ed65..00000000000000 --- a/regression-test/suites/nereids_p0/insert_into_table/insert_use_table_id.groovy +++ /dev/null @@ -1,107 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - - - - -suite('nereids_insert_use_table_id') { - sql 'set enable_nereids_planner=true' - sql 'set enable_fallback_to_original_planner=false' - sql 'set enable_nereids_dml=true' - sql 'set enable_strict_consistency_dml=true' - - // sql 'CREATE DATABASE IF NOT EXISTS dnereids_insert_use_table_id_test' - // sql 'use nereids_insert_use_table_id_test' - - def t1 = 'table_id_value_t1' - def t2 = 'table_id_value_t2' - def t3 = 'table_id_value_t3' - - sql "drop table if exists ${t1}" - sql "drop table if exists ${t2}" - sql "drop table if exists ${t3}" - - sql """ - create table ${t1} ( - id int, - id1 int, - c1 bigint, - c2 string, - c3 double, - c4 date - ) unique key (id, id1) - distributed by hash(id, id1) buckets 13 - properties( - 'replication_num'='1', - "function_column.sequence_col" = "c4" - ); - """ - - sql """ - create table ${t2} ( - id int, - c1 bigint, - c2 string, - c3 double, - c4 date - ) unique key (id) - distributed by hash(id) buckets 13 - properties( - 'replication_num'='1' - ); - """ - - sql """ - create table ${t3} ( - id int - ) distributed by hash(id) buckets 13 - properties( - 'replication_num'='1' - ); - """ - - - sql """ - INSERT INTO DORIS_INTERNAL_TABLE_ID(${getTableId(t1)}) VALUES - (1, (1 + 9) * (10 - 9), 1, '1', 1.0, '2000-01-01'), - (2, 20, 2, '2', 2.0, days_add('2000-01-01', 1)), - (3, 30, 3, '3', 3.0, makedate(2000, 3)); - """ - - sql """ - INSERT INTO DORIS_INTERNAL_TABLE_ID(${getTableId(t2)}) VALUES - (1, 10, '10', 10.0, '2000-01-10'), - (2, 20, '20', 20.0, '2000-01-20'), - (3, 30, '30', 30.0, '2000-01-30'), - (4, 4, '4', 4.0, '2000-01-04'), - (5, 5, '5', 5.0, '2000-01-05'); - """ - - sql """ - INSERT INTO DORIS_INTERNAL_TABLE_ID(${getTableId(t3)}) VALUES - (1), - (4), - (5); - """ - - sql "sync" - qt_sql_cross_join "select * from ${t1}, ${t2}, ${t3} order by ${t1}.id, ${t1}.id1, ${t2}.id, ${t3}.id" - - -} - - From cd35604271968612798b483a92a44ebc2ec0c717 Mon Sep 17 00:00:00 2001 From: minghong Date: Mon, 9 Sep 2024 15:18:09 +0800 Subject: [PATCH 124/199] [feat](nereids)set actual row count in physical plan according to merged profile (#40361) ## Proposed changes physical plan is already printed in profile. however, it is hard to compare the estimated rows of sql operator and the actual rows. In this pr, we get actual rows from merged profile, and set it to corresponding physical node in physical plan. here is an example: "PhysicalHashJoin[13890]@115 ( stats=17,964.27 actualRows=20499, type=INNER_JOIN, hashCondition=[(l_suppkey#19 = s_suppkey#33)]" the estmated rows is 17,964, the actual rows is 20499 Issue Number: close #xxx --- .../common/profile/ExecutionProfile.java | 1 + .../apache/doris/common/profile/Profile.java | 78 +++++++++++++++---- .../doris/common/profile/SummaryProfile.java | 2 - .../doris/common/util/RuntimeProfile.java | 15 ++++ .../nereids/trees/plans/AbstractPlan.java | 4 + .../plans/physical/AbstractPhysicalJoin.java | 3 +- .../plans/physical/PhysicalCTEProducer.java | 1 + .../plans/physical/PhysicalHashAggregate.java | 2 +- .../plans/physical/PhysicalQuickSort.java | 4 +- .../trees/plans/physical/PhysicalTopN.java | 1 + .../trees/plans/physical/PhysicalUnion.java | 4 +- .../trees/plans/physical/PhysicalWindow.java | 3 +- .../org/apache/doris/qe/StmtExecutor.java | 4 + .../apache/doris/statistics/Statistics.java | 35 ++++++--- 14 files changed, 121 insertions(+), 36 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/profile/ExecutionProfile.java b/fe/fe-core/src/main/java/org/apache/doris/common/profile/ExecutionProfile.java index d3d6826174f91d..7828a38e6eb242 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/profile/ExecutionProfile.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/profile/ExecutionProfile.java @@ -182,6 +182,7 @@ private RuntimeProfile getPipelineAggregatedProfile(Map planNod } newFragmentProfile.addChild(mergedpipelineProfile); pipelineIdx++; + fragmentsProfile.rowsProducedMap.putAll(mergedpipelineProfile.rowsProducedMap); } } return fragmentsProfile; diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/profile/Profile.java b/fe/fe-core/src/main/java/org/apache/doris/common/profile/Profile.java index 76414677d0a05b..88fd317879451e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/profile/Profile.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/profile/Profile.java @@ -22,8 +22,11 @@ import org.apache.doris.common.util.ProfileManager; import org.apache.doris.common.util.RuntimeProfile; import org.apache.doris.nereids.NereidsPlanner; +import org.apache.doris.nereids.trees.plans.AbstractPlan; +import org.apache.doris.nereids.trees.plans.Plan; import org.apache.doris.nereids.trees.plans.distribute.DistributedPlan; import org.apache.doris.nereids.trees.plans.distribute.FragmentIdMapping; +import org.apache.doris.nereids.trees.plans.physical.PhysicalPlan; import org.apache.doris.nereids.trees.plans.physical.PhysicalRelation; import org.apache.doris.planner.Planner; @@ -45,6 +48,8 @@ import java.io.FileOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.zip.Deflater; @@ -107,6 +112,10 @@ public class Profile { // Profile size is the size of profile file private long profileSize = 0; + private PhysicalPlan physicalPlan; + public Map rowsProducedMap = new HashMap<>(); + private List physicalRelations = new ArrayList<>(); + // Need default constructor for read from storage public Profile() {} @@ -273,20 +282,8 @@ public synchronized void updateSummary(Map summaryInfo, boolean if (planner instanceof NereidsPlanner) { NereidsPlanner nereidsPlanner = ((NereidsPlanner) planner); - StringBuilder builder = new StringBuilder(); - builder.append("\n"); - builder.append(nereidsPlanner.getPhysicalPlan() - .treeString()); - builder.append("\n"); - for (PhysicalRelation relation : nereidsPlanner.getPhysicalRelations()) { - if (relation.getStats() != null) { - builder.append(relation).append("\n") - .append(relation.getStats().printColumnStats()); - } - } - summaryInfo.put(SummaryProfile.PHYSICAL_PLAN, - builder.toString().replace("\n", "\n ")); - + physicalPlan = nereidsPlanner.getPhysicalPlan(); + physicalRelations.addAll(nereidsPlanner.getPhysicalRelations()); FragmentIdMapping distributedPlans = nereidsPlanner.getDistributedPlans(); if (distributedPlans != null) { summaryInfo.put(SummaryProfile.DISTRIBUTED_PLAN, @@ -414,15 +411,43 @@ public void getExecutionProfileContent(StringBuilder builder) { // Only generate merged profile for select, insert into select. // Not support broker load now. + RuntimeProfile mergedProfile = null; if (this.profileLevel == MergedProfileLevel && this.executionProfiles.size() == 1) { try { - builder.append("\n MergedProfile \n"); - this.executionProfiles.get(0).getAggregatedFragmentsProfile(planNodeMap).prettyPrint(builder, " "); + mergedProfile = this.executionProfiles.get(0).getAggregatedFragmentsProfile(planNodeMap); + this.rowsProducedMap.putAll(mergedProfile.rowsProducedMap); + if (physicalPlan != null) { + updateActualRowCountOnPhysicalPlan(physicalPlan); + } } catch (Throwable aggProfileException) { LOG.warn("build merged simple profile {} failed", this.id, aggProfileException); + } + } + + if (physicalPlan != null) { + builder.append("\nPhysical Plan \n"); + StringBuilder physcialPlanBuilder = new StringBuilder(); + physcialPlanBuilder.append(physicalPlan.treeString()); + physcialPlanBuilder.append("\n"); + for (PhysicalRelation relation : physicalRelations) { + if (relation.getStats() != null) { + physcialPlanBuilder.append(relation).append("\n") + .append(relation.getStats().printColumnStats()); + } + } + builder.append( + physcialPlanBuilder.toString().replace("\n", "\n ")); + } + + if (this.profileLevel == MergedProfileLevel && this.executionProfiles.size() == 1) { + builder.append("\nMergedProfile \n"); + if (mergedProfile != null) { + mergedProfile.prettyPrint(builder, " "); + } else { builder.append("build merged simple profile failed"); } } + try { // For load task, they will have multiple execution_profiles. for (ExecutionProfile executionProfile : executionProfiles) { @@ -646,4 +671,25 @@ public boolean shouldBeRemoveFromMemory() { return true; } + + public PhysicalPlan getPhysicalPlan() { + return physicalPlan; + } + + public void setPhysicalPlan(PhysicalPlan physicalPlan) { + this.physicalPlan = physicalPlan; + } + + private void updateActualRowCountOnPhysicalPlan(Plan plan) { + if (plan == null || rowsProducedMap.isEmpty()) { + return; + } + Long actualRowCount = rowsProducedMap.get(String.valueOf(((AbstractPlan) plan).getId())); + if (actualRowCount != null) { + ((AbstractPlan) plan).updateActualRowCount(actualRowCount); + } + for (Plan child : plan.children()) { + updateActualRowCountOnPhysicalPlan(child); + } + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/profile/SummaryProfile.java b/fe/fe-core/src/main/java/org/apache/doris/common/profile/SummaryProfile.java index df4e73be0483ed..20e41b18d6955f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/profile/SummaryProfile.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/profile/SummaryProfile.java @@ -66,7 +66,6 @@ public class SummaryProfile { public static final String PARALLEL_FRAGMENT_EXEC_INSTANCE = "Parallel Fragment Exec Instance Num"; public static final String TRACE_ID = "Trace ID"; public static final String WORKLOAD_GROUP = "Workload Group"; - public static final String PHYSICAL_PLAN = "Physical Plan"; public static final String DISTRIBUTED_PLAN = "Distributed Plan"; public static final String SYSTEM_MESSAGE = "System Message"; public static final String EXECUTED_BY_FRONTEND = "Executed By Frontend"; @@ -129,7 +128,6 @@ public class SummaryProfile { START_TIME, END_TIME, TOTAL_TIME, TASK_STATE, USER, DEFAULT_CATALOG, DEFAULT_DB, SQL_STATEMENT); public static final ImmutableList SUMMARY_KEYS = new ImmutableList.Builder() .addAll(SUMMARY_CAPTIONS) - .add(PHYSICAL_PLAN) .add(DISTRIBUTED_PLAN) .build(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/util/RuntimeProfile.java b/fe/fe-core/src/main/java/org/apache/doris/common/util/RuntimeProfile.java index 60207b49172ba0..3ffc303a6db89d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/util/RuntimeProfile.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/RuntimeProfile.java @@ -40,12 +40,15 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Formatter; +import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeSet; import java.util.concurrent.locks.ReentrantReadWriteLock; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * It is accessed by two kinds of thread, one is to create this RuntimeProfile @@ -100,6 +103,8 @@ public class RuntimeProfile { @SerializedName(value = "nodeid") private int nodeid = -1; + public Map rowsProducedMap = new HashMap<>(); + public RuntimeProfile() { init(); } @@ -494,6 +499,7 @@ public static void mergeProfiles(List profiles, // RuntimeProfile has at least one counter named TotalTime, should exclude it. if (newCreatedMergedChildProfile.counterMap.size() > 1) { simpleProfile.addChildWithCheck(newCreatedMergedChildProfile, planNodeMap); + simpleProfile.rowsProducedMap.putAll(newCreatedMergedChildProfile.rowsProducedMap); } } } @@ -504,6 +510,12 @@ private static void mergeCounters(String parentCounterName, List return; } RuntimeProfile templateProfile = profiles.get(0); + Pattern pattern = Pattern.compile("nereids_id=(\\d+)"); + Matcher matcher = pattern.matcher(templateProfile.getName()); + String nereidsId = null; + if (matcher.find()) { + nereidsId = matcher.group(1); + } Set childCounterSet = templateProfile.childCounterMap.get(parentCounterName); if (childCounterSet == null) { return; @@ -517,6 +529,9 @@ private static void mergeCounters(String parentCounterName, List Counter orgCounter = profile.counterMap.get(childCounterName); aggCounter.addCounter(orgCounter); } + if (nereidsId != null && childCounterName.equals("RowsProduced")) { + simpleProfile.rowsProducedMap.put(nereidsId, aggCounter.sum.getValue()); + } if (simpleProfile.counterMap.containsKey(parentCounterName)) { simpleProfile.addCounter(childCounterName, aggCounter, parentCounterName); } else { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/AbstractPlan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/AbstractPlan.java index 9dfca3195d691e..eb65048050fda1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/AbstractPlan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/AbstractPlan.java @@ -226,4 +226,8 @@ public List getAncestors() { } return ancestors; } + + public void updateActualRowCount(long actualRowCount) { + statistics.setActualRowCount(actualRowCount); + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/AbstractPhysicalJoin.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/AbstractPhysicalJoin.java index 56c18908ad69da..a68da1a5b3d12d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/AbstractPhysicalJoin.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/AbstractPhysicalJoin.java @@ -267,8 +267,9 @@ public Set getConditionSlot() { @Override public String toString() { - List args = Lists.newArrayList("type", joinType, + List args = Lists.newArrayList( "stats", statistics, + "type", joinType, "hashCondition", hashJoinConjuncts, "otherCondition", otherJoinConjuncts, "markCondition", markJoinConjuncts); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEProducer.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEProducer.java index 53ff3e3025742d..568b8e6660ab39 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEProducer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEProducer.java @@ -89,6 +89,7 @@ public int hashCode() { @Override public String toString() { return Utils.toSqlString("PhysicalCTEProducer[" + id.asInt() + "]", + "stats", statistics, "cteId", cteId); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashAggregate.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashAggregate.java index fb3087e260869c..c8187727da47f2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashAggregate.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalHashAggregate.java @@ -193,9 +193,9 @@ public String toString() { TopnPushInfo topnPushInfo = (TopnPushInfo) getMutableState( MutableState.KEY_PUSH_TOPN_TO_AGG).orElseGet(() -> null); return Utils.toSqlString("PhysicalHashAggregate[" + id.asInt() + "]" + getGroupIdWithPrefix(), + "stats", statistics, "aggPhase", aggregateParam.aggPhase, "aggMode", aggregateParam.aggMode, - "stats", statistics, "maybeUseStreaming", maybeUsingStream, "groupByExpr", groupByExpressions, "outputExpr", outputExpressions, diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalQuickSort.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalQuickSort.java index c1973668c7d919..0e377b46d238ea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalQuickSort.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalQuickSort.java @@ -107,8 +107,8 @@ public String shapeInfo() { @Override public String toString() { return Utils.toSqlString("PhysicalQuickSort[" + id.asInt() + "]" + getGroupIdWithPrefix(), - "orderKeys", orderKeys, - "phase", phase.toString(), "stats", statistics + "stats", statistics, "orderKeys", orderKeys, + "phase", phase.toString() ); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTopN.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTopN.java index 96dc709bbde8b6..c387a58dd0c993 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTopN.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTopN.java @@ -143,6 +143,7 @@ public String shapeInfo() { @Override public String toString() { return Utils.toSqlString("PhysicalTopN[" + id.asInt() + "]" + getGroupIdWithPrefix(), + "stats", statistics, "limit", limit, "offset", offset, "orderKeys", orderKeys, diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalUnion.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalUnion.java index ba20c9267059f1..2a81698812a3c7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalUnion.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalUnion.java @@ -89,11 +89,11 @@ public R accept(PlanVisitor visitor, C context) { @Override public String toString() { return Utils.toSqlString("PhysicalUnion" + "[" + id.asInt() + "]" + getGroupIdWithPrefix(), + "stats", statistics, "qualifier", qualifier, "outputs", outputs, "regularChildrenOutputs", regularChildrenOutputs, - "constantExprsList", constantExprsList, - "stats", statistics); + "constantExprsList", constantExprsList); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalWindow.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalWindow.java index b1703f47496706..7e6fd48f02da6d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalWindow.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalWindow.java @@ -105,8 +105,9 @@ public List getExpressions() { @Override public String toString() { return Utils.toSqlString("PhysicalWindow[" + id.asInt() + "]" + getGroupIdWithPrefix(), + "stats", statistics, "windowFrameGroup", windowFrameGroup, - "requiredProperties", requireProperties, "stats", statistics + "requiredProperties", requireProperties ); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java index 6aa2d6d1e0bf7b..6bf09f2229bd8d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java @@ -1211,6 +1211,10 @@ public void updateProfile(boolean isFinished) { // failed, the insert stmt should be success try { profile.updateSummary(getSummaryInfo(isFinished), isFinished, this.planner); + if (planner instanceof NereidsPlanner) { + NereidsPlanner nereidsPlanner = ((NereidsPlanner) planner); + profile.setPhysicalPlan(nereidsPlanner.getPhysicalPlan()); + } } catch (Throwable t) { LOG.warn("failed to update profile, ignore this error", t); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/Statistics.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/Statistics.java index 162dab5d13601c..6883eb0b54208a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/Statistics.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/Statistics.java @@ -46,6 +46,8 @@ public class Statistics { private double deltaRowCount = 0.0; + private long actualRowCount = -1L; + public Statistics(Statistics another) { this.rowCount = another.rowCount; this.widthInJoinCluster = another.widthInJoinCluster; @@ -193,21 +195,24 @@ public double dataSizeFactor(List slots) { @Override public String toString() { + StringBuilder builder = new StringBuilder(); if (Double.isNaN(rowCount)) { - return "NaN"; - } - if (Double.POSITIVE_INFINITY == rowCount) { - return "Infinite"; - } - if (Double.NEGATIVE_INFINITY == rowCount) { - return "-Infinite"; + builder.append("NaN"); + } else if (Double.POSITIVE_INFINITY == rowCount) { + builder.append("Infinite"); + } else if (Double.NEGATIVE_INFINITY == rowCount) { + builder.append("-Infinite"); + } else { + DecimalFormat format = new DecimalFormat("#,###.##"); + builder.append(format.format(rowCount)); } - DecimalFormat format = new DecimalFormat("#,###.##"); - String rows = format.format(rowCount); if (deltaRowCount > 0) { - rows = rows + "(" + format.format(deltaRowCount) + ")"; + builder.append("(").append((long) deltaRowCount).append(")"); + } + if (actualRowCount != -1) { + builder.append(" actualRows=").append(actualRowCount); } - return rows; + return builder.toString(); } public String printColumnStats() { @@ -292,4 +297,12 @@ public double getDeltaRowCount() { public void setDeltaRowCount(double deltaRowCount) { this.deltaRowCount = deltaRowCount; } + + public long getActualRowCount() { + return actualRowCount; + } + + public void setActualRowCount(long actualRowCount) { + this.actualRowCount = actualRowCount; + } } From 9d5da50b7a43f8e4c26a3e0cb3e039d86c6f093d Mon Sep 17 00:00:00 2001 From: Gabriel Date: Mon, 9 Sep 2024 15:34:43 +0800 Subject: [PATCH 125/199] [metrics](shuffle) Add necessary metrics (#40476) --- be/src/vec/runtime/vdata_stream_mgr.cpp | 8 +++++--- be/src/vec/runtime/vdata_stream_recvr.cpp | 13 ++++++++++--- be/src/vec/runtime/vdata_stream_recvr.h | 7 +++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/be/src/vec/runtime/vdata_stream_mgr.cpp b/be/src/vec/runtime/vdata_stream_mgr.cpp index 80cc2d93f8e103..a5db9a6150dcfa 100644 --- a/be/src/vec/runtime/vdata_stream_mgr.cpp +++ b/be/src/vec/runtime/vdata_stream_mgr.cpp @@ -109,6 +109,8 @@ Status VDataStreamMgr::transmit_block(const PTransmitDataParams* request, t_finst_id.hi = finst_id.hi(); t_finst_id.lo = finst_id.lo(); std::shared_ptr recvr = nullptr; + ThreadCpuStopWatch cpu_time_stop_watch; + cpu_time_stop_watch.start(); static_cast(find_recvr(t_finst_id, request->node_id(), &recvr)); if (recvr == nullptr) { // The receiver may remove itself from the receiver map via deregister_recvr() @@ -137,9 +139,9 @@ Status VDataStreamMgr::transmit_block(const PTransmitDataParams* request, bool eos = request->eos(); if (request->has_block()) { - RETURN_IF_ERROR(recvr->add_block(request->block(), request->sender_id(), - request->be_number(), request->packet_seq(), - eos ? nullptr : done, wait_for_worker)); + RETURN_IF_ERROR(recvr->add_block( + request->block(), request->sender_id(), request->be_number(), request->packet_seq(), + eos ? nullptr : done, wait_for_worker, cpu_time_stop_watch.elapsed_time())); } if (eos) { diff --git a/be/src/vec/runtime/vdata_stream_recvr.cpp b/be/src/vec/runtime/vdata_stream_recvr.cpp index 5326f2b7d0ab0a..1ca6bb7f2c5931 100644 --- a/be/src/vec/runtime/vdata_stream_recvr.cpp +++ b/be/src/vec/runtime/vdata_stream_recvr.cpp @@ -134,7 +134,8 @@ void VDataStreamRecvr::SenderQueue::try_set_dep_ready_without_lock() { Status VDataStreamRecvr::SenderQueue::add_block(const PBlock& pblock, int be_number, int64_t packet_seq, ::google::protobuf::Closure** done, - const int64_t wait_for_worker) { + const int64_t wait_for_worker, + const uint64_t time_to_find_recvr) { { std::lock_guard l(_lock); if (_is_cancelled) { @@ -189,6 +190,10 @@ Status VDataStreamRecvr::SenderQueue::add_block(const PBlock& pblock, int be_num _recvr->_max_wait_worker_time->set(wait_for_worker); } + if (_recvr->_max_find_recvr_time->value() < time_to_find_recvr) { + _recvr->_max_find_recvr_time->set((int64_t)time_to_find_recvr); + } + _block_queue.emplace_back(std::move(block), block_byte_size); COUNTER_UPDATE(_recvr->_remote_bytes_received_counter, block_byte_size); _record_debug_info(); @@ -363,6 +368,7 @@ VDataStreamRecvr::VDataStreamRecvr(VDataStreamMgr* stream_mgr, RuntimeState* sta _blocks_produced_counter = ADD_COUNTER(_profile, "BlocksProduced", TUnit::UNIT); _max_wait_worker_time = ADD_COUNTER(_profile, "MaxWaitForWorkerTime", TUnit::UNIT); _max_wait_to_process_time = ADD_COUNTER(_profile, "MaxWaitToProcessTime", TUnit::UNIT); + _max_find_recvr_time = ADD_COUNTER(_profile, "MaxFindRecvrTime(NS)", TUnit::UNIT); } VDataStreamRecvr::~VDataStreamRecvr() { @@ -391,11 +397,12 @@ Status VDataStreamRecvr::create_merger(const VExprContextSPtrs& ordering_expr, Status VDataStreamRecvr::add_block(const PBlock& pblock, int sender_id, int be_number, int64_t packet_seq, ::google::protobuf::Closure** done, - const int64_t wait_for_worker) { + const int64_t wait_for_worker, + const uint64_t time_to_find_recvr) { SCOPED_ATTACH_TASK(_query_thread_context); int use_sender_id = _is_merging ? sender_id : 0; return _sender_queues[use_sender_id]->add_block(pblock, be_number, packet_seq, done, - wait_for_worker); + wait_for_worker, time_to_find_recvr); } void VDataStreamRecvr::add_block(Block* block, int sender_id, bool use_move) { diff --git a/be/src/vec/runtime/vdata_stream_recvr.h b/be/src/vec/runtime/vdata_stream_recvr.h index 7eebdf0249b958..e8dcfdedba5fb9 100644 --- a/be/src/vec/runtime/vdata_stream_recvr.h +++ b/be/src/vec/runtime/vdata_stream_recvr.h @@ -83,7 +83,8 @@ class VDataStreamRecvr : public HasTaskExecutionCtx { std::vector sender_queues() const { return _sender_queues; } Status add_block(const PBlock& pblock, int sender_id, int be_number, int64_t packet_seq, - ::google::protobuf::Closure** done, const int64_t wait_for_worker); + ::google::protobuf::Closure** done, const int64_t wait_for_worker, + const uint64_t time_to_find_recvr); void add_block(Block* block, int sender_id, bool use_move); @@ -160,6 +161,7 @@ class VDataStreamRecvr : public HasTaskExecutionCtx { RuntimeProfile::Counter* _blocks_produced_counter = nullptr; RuntimeProfile::Counter* _max_wait_worker_time = nullptr; RuntimeProfile::Counter* _max_wait_to_process_time = nullptr; + RuntimeProfile::Counter* _max_find_recvr_time = nullptr; std::vector> _sender_to_local_channel_dependency; }; @@ -178,7 +180,8 @@ class VDataStreamRecvr::SenderQueue { Status get_batch(Block* next_block, bool* eos); Status add_block(const PBlock& pblock, int be_number, int64_t packet_seq, - ::google::protobuf::Closure** done, const int64_t wait_for_worker); + ::google::protobuf::Closure** done, const int64_t wait_for_worker, + const uint64_t time_to_find_recvr); void add_block(Block* block, bool use_move); From e25560e056bcd1d882039fe8ed38c85021dd78be Mon Sep 17 00:00:00 2001 From: Pxl Date: Mon, 9 Sep 2024 16:03:42 +0800 Subject: [PATCH 126/199] [Improvement](sort) do not sort partitial when spill disabled (#40528) ## Proposed changes do not sort partitial when spill disabled SELECT count() from (select BrowserLanguage from hits_10m order by BrowserLanguage limit 10000000)t; 2s -> 0.3s --- be/src/vec/common/sort/sorter.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/be/src/vec/common/sort/sorter.h b/be/src/vec/common/sort/sorter.h index aa7d88dfbc2a3a..a290de65bb6534 100644 --- a/be/src/vec/common/sort/sorter.h +++ b/be/src/vec/common/sort/sorter.h @@ -177,8 +177,8 @@ class FullSorter final : public Sorter { private: bool _reach_limit() { - return _state->unsorted_block_->rows() > buffered_block_size_ || - _state->unsorted_block_->bytes() > buffered_block_bytes_; + return _enable_spill && (_state->unsorted_block_->rows() > buffered_block_size_ || + _state->unsorted_block_->bytes() > buffered_block_bytes_); } Status _do_sort(); From 6a19a37d36f772972b3d729faebf8d4c8f380d59 Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Mon, 9 Sep 2024 17:01:44 +0800 Subject: [PATCH 127/199] [fix](memory) Revert "[opt](memory) Refactor memory maintenance thread (#40344)" (#40545) This reverts commit 84ce9451c6ebdf290d5c1b401e0a282f5acb6577. ``` SIGABRT unknown detail explain (@0x4220) received by PID 16928 (TID 18624 OR 0x7fa0a663e700) from PID 16928; stack trace: *** 15:21:03 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /root/doris/be/src/common/signal_handler.h:421 15:21:03 1# 0x00007FA7C6131090 in /lib/x86_64-linux-gnu/libc.so.6 15:21:03 2# raise at ../sysdeps/unix/sysv/linux/raise.c:51 15:21:03 3# abort at /build/glibc-SzIz7B/glibc-2.31/stdlib/abort.c:81 15:21:03 4# 0x0000558ACC0918AD in /mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be 15:21:03 5# google::LogMessage::SendToLog() in /mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be 15:21:03 6# google::LogMessage::Flush() in /mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be 15:21:03 7# google::LogMessageFatal::~LogMessageFatal() in /mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be 15:21:03 8# doris::ThreadContext::consume_memory(long) const at /root/doris/be/src/runtime/thread_context.h:244 15:21:03 9# Allocator::release_memory(unsigned long) const in /mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be 15:21:03 10# doris::vectorized::ColumnVector::~ColumnVector() at /root/doris/be/src/vec/columns/column_vector.h:131 15:21:03 11# doris::vectorized::ColumnNullable::~ColumnNullable() at /root/doris/be/src/vec/columns/column_nullable.h:62 15:21:03 12# doris::vectorized::Block::~Block() at /root/doris/be/src/vec/core/block.h:92 15:21:03 13# std::vector >, std::allocator > > >::~vector() at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:680 15:21:03 14# doris::Reusable::~Reusable() at /root/doris/be/src/service/point_query_executor.cpp:65 15:21:03 15# std::Sp_counted_base<(_gnu_cxx::_Lock_policy)2>::_M_release() at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:180 15:21:03 16# doris::LookupConnectionCache::CacheValue::~CacheValue() at /root/doris/be/src/service/point_query_executor.h:266 15:21:03 17# doris::LRUCache::set_capacity(unsigned long) at /root/doris/be/src/olap/lru_cache.cpp:194 15:21:03 18# doris::ShardedLRUCache::set_capacity(unsigned long) in /mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be 15:21:03 19# doris::LRUCachePolicy::adjust_capacity_weighted(double) in /mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be 15:21:03 20# doris::CacheManager::for_each_cache_refresh_capacity(double, doris::RuntimeProfile*) at /root/doris/be/src/runtime/memory/cache_manager.cpp:76 15:21:03 21# doris::Daemon::cache_adjust_capacity_thread() in /mnt/ssd01/pipline/OpenSourceDoris/clusterEnv/P0/Cluster0/be/lib/doris_be 15:21:03 22# doris::Thread::supervise_thread(void*) at /root/doris/be/src/util/thread.cpp:499 15:21:03 23# start_thread at /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:478 15:21:03 24# __clone at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 ``` --- be/src/common/config.cpp | 14 +- be/src/common/config.h | 9 +- be/src/common/daemon.cpp | 195 +++++------------- be/src/common/daemon.h | 2 +- be/src/olap/lru_cache.cpp | 81 +------- be/src/olap/lru_cache.h | 28 ++- be/src/runtime/memory/cache_manager.cpp | 21 +- be/src/runtime/memory/cache_manager.h | 3 - be/src/runtime/memory/cache_policy.cpp | 8 +- be/src/runtime/memory/cache_policy.h | 28 +-- .../memory/global_memory_arbitrator.cpp | 7 - .../runtime/memory/global_memory_arbitrator.h | 17 -- be/src/runtime/memory/lru_cache_policy.h | 95 +++------ be/src/runtime/memory/mem_tracker_limiter.cpp | 6 +- be/src/runtime/memory/memory_reclamation.cpp | 12 ++ be/src/service/point_query_executor.h | 4 +- be/src/vec/common/allocator.cpp | 3 + be/test/olap/lru_cache_test.cpp | 144 ++----------- 18 files changed, 163 insertions(+), 514 deletions(-) diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp index 0c00bd1a38f0da..00f8a042cbcbb7 100644 --- a/be/src/common/config.cpp +++ b/be/src/common/config.cpp @@ -95,9 +95,6 @@ DEFINE_String(mem_limit, "90%"); // Soft memory limit as a fraction of hard memory limit. DEFINE_Double(soft_mem_limit_frac, "0.9"); -// Cache capacity reduce mem limit as a fraction of soft mem limit. -DEFINE_mDouble(cache_capacity_reduce_mem_limit_frac, "0.6"); - // Schema change memory limit as a fraction of soft memory limit. DEFINE_Double(schema_change_mem_limit_frac, "0.6"); @@ -289,7 +286,7 @@ DEFINE_mInt32(exchg_buffer_queue_capacity_factor, "64"); DEFINE_mInt64(memory_limitation_per_thread_for_schema_change_bytes, "2147483648"); DEFINE_mInt32(cache_prune_interval_sec, "10"); -DEFINE_mInt32(cache_periodic_prune_stale_sweep_sec, "60"); +DEFINE_mInt32(cache_periodic_prune_stale_sweep_sec, "300"); // the clean interval of tablet lookup cache DEFINE_mInt32(tablet_lookup_cache_stale_sweep_time_sec, "30"); DEFINE_mInt32(point_query_row_cache_stale_sweep_time_sec, "300"); @@ -568,7 +565,7 @@ DEFINE_String(pprof_profile_dir, "${DORIS_HOME}/log"); // for jeprofile in jemalloc DEFINE_mString(jeprofile_dir, "${DORIS_HOME}/log"); DEFINE_mBool(enable_je_purge_dirty_pages, "true"); -DEFINE_mString(je_dirty_pages_mem_limit_percent, "2%"); +DEFINE_mString(je_dirty_pages_mem_limit_percent, "5%"); // to forward compatibility, will be removed later DEFINE_mBool(enable_token_check, "true"); @@ -585,12 +582,17 @@ DEFINE_Int32(num_cores, "0"); DEFINE_Bool(ignore_broken_disk, "false"); // Sleep time in milliseconds between memory maintenance iterations -DEFINE_mInt32(memory_maintenance_sleep_time_ms, "20"); +DEFINE_mInt32(memory_maintenance_sleep_time_ms, "100"); // After full gc, no longer full gc and minor gc during sleep. // After minor gc, no minor gc during sleep, but full gc is possible. DEFINE_mInt32(memory_gc_sleep_time_ms, "500"); +// Sleep time in milliseconds between memtbale flush mgr refresh iterations +DEFINE_mInt64(memtable_mem_tracker_refresh_interval_ms, "5"); + +DEFINE_mInt64(wg_weighted_memory_ratio_refresh_interval_ms, "50"); + // percent of (active memtables size / all memtables size) when reach hard limit DEFINE_mInt32(memtable_hard_limit_active_percent, "50"); diff --git a/be/src/common/config.h b/be/src/common/config.h index 720f4f72cb4bf7..bd2aa4f51be1a9 100644 --- a/be/src/common/config.h +++ b/be/src/common/config.h @@ -133,9 +133,6 @@ DECLARE_String(mem_limit); // Soft memory limit as a fraction of hard memory limit. DECLARE_Double(soft_mem_limit_frac); -// Cache capacity reduce mem limit as a fraction of soft mem limit. -DECLARE_mDouble(cache_capacity_reduce_mem_limit_frac); - // Schema change memory limit as a fraction of soft memory limit. DECLARE_Double(schema_change_mem_limit_frac); @@ -644,6 +641,12 @@ DECLARE_mInt32(memory_maintenance_sleep_time_ms); // After minor gc, no minor gc during sleep, but full gc is possible. DECLARE_mInt32(memory_gc_sleep_time_ms); +// Sleep time in milliseconds between memtbale flush mgr memory refresh iterations +DECLARE_mInt64(memtable_mem_tracker_refresh_interval_ms); + +// Sleep time in milliseconds between refresh iterations of workload group weighted memory ratio +DECLARE_mInt64(wg_weighted_memory_ratio_refresh_interval_ms); + // percent of (active memtables size / all memtables size) when reach hard limit DECLARE_mInt32(memtable_hard_limit_active_percent); diff --git a/be/src/common/daemon.cpp b/be/src/common/daemon.cpp index 713813b4a334f9..d8245f4045ce81 100644 --- a/be/src/common/daemon.cpp +++ b/be/src/common/daemon.cpp @@ -73,12 +73,6 @@ namespace doris { namespace { -int64_t last_print_proc_mem = 0; -int32_t refresh_cache_capacity_sleep_time_ms = 0; -#ifdef USE_JEMALLOC -int32_t je_purge_dirty_pages_sleep_time_ms = 0; -#endif - void update_rowsets_and_segments_num_metrics() { if (config::is_cloud_mode()) { // TODO(plat1ko): CloudStorageEngine @@ -210,104 +204,42 @@ void Daemon::tcmalloc_gc_thread() { #endif } -void refresh_process_memory_metrics() { - doris::PerfCounters::refresh_proc_status(); - doris::MemInfo::refresh_proc_meminfo(); - doris::GlobalMemoryArbitrator::reset_refresh_interval_memory_growth(); - ExecEnv::GetInstance()->brpc_iobuf_block_memory_tracker()->set_consumption( - butil::IOBuf::block_memory()); -} - -void refresh_common_allocator_metrics() { +void Daemon::memory_maintenance_thread() { + int32_t interval_milliseconds = config::memory_maintenance_sleep_time_ms; + int64_t last_print_proc_mem = PerfCounters::get_vm_rss(); + while (!_stop_background_threads_latch.wait_for( + std::chrono::milliseconds(interval_milliseconds))) { + // Refresh process memory metrics. + doris::PerfCounters::refresh_proc_status(); + doris::MemInfo::refresh_proc_meminfo(); + doris::GlobalMemoryArbitrator::reset_refresh_interval_memory_growth(); + ExecEnv::GetInstance()->brpc_iobuf_block_memory_tracker()->set_consumption( + butil::IOBuf::block_memory()); + // Refresh allocator memory metrics. #if !defined(ADDRESS_SANITIZER) && !defined(LEAK_SANITIZER) && !defined(THREAD_SANITIZER) - doris::MemInfo::refresh_allocator_mem(); - if (config::enable_system_metrics) { - DorisMetrics::instance()->system_metrics()->update_allocator_metrics(); - } + doris::MemInfo::refresh_allocator_mem(); +#ifdef USE_JEMALLOC + if (doris::MemInfo::je_dirty_pages_mem() > doris::MemInfo::je_dirty_pages_mem_limit() && + GlobalMemoryArbitrator::is_exceed_soft_mem_limit()) { + doris::MemInfo::notify_je_purge_dirty_pages(); + } #endif - MemInfo::refresh_memory_bvar(); -} - -void refresh_memory_state_after_memory_change() { - if (abs(last_print_proc_mem - PerfCounters::get_vm_rss()) > 268435456) { - last_print_proc_mem = PerfCounters::get_vm_rss(); - doris::MemTrackerLimiter::clean_tracker_limiter_group(); - doris::MemTrackerLimiter::enable_print_log_process_usage(); - // Refresh mem tracker each type counter. - doris::MemTrackerLimiter::refresh_global_counter(); - LOG(INFO) << doris::GlobalMemoryArbitrator:: - process_mem_log_str(); // print mem log when memory state by 256M - } -} - -void refresh_cache_capacity() { - if (refresh_cache_capacity_sleep_time_ms <= 0) { - auto cache_capacity_reduce_mem_limit = uint64_t( - doris::MemInfo::soft_mem_limit() * config::cache_capacity_reduce_mem_limit_frac); - int64_t process_memory_usage = doris::GlobalMemoryArbitrator::process_memory_usage(); - double new_cache_capacity_adjust_weighted = - process_memory_usage <= cache_capacity_reduce_mem_limit - ? 1 - : std::min( - 1 - (process_memory_usage - cache_capacity_reduce_mem_limit) / - (doris::MemInfo::soft_mem_limit() - - cache_capacity_reduce_mem_limit), - 0); - if (new_cache_capacity_adjust_weighted != - doris::GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted) { - doris::GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted = - new_cache_capacity_adjust_weighted; - doris::GlobalMemoryArbitrator::notify_cache_adjust_capacity(); - refresh_cache_capacity_sleep_time_ms = config::memory_gc_sleep_time_ms; + if (config::enable_system_metrics) { + DorisMetrics::instance()->system_metrics()->update_allocator_metrics(); } - } - refresh_cache_capacity_sleep_time_ms -= config::memory_maintenance_sleep_time_ms; -} - -void je_purge_dirty_pages() { -#ifdef USE_JEMALLOC - if (je_purge_dirty_pages_sleep_time_ms <= 0 && - doris::MemInfo::je_dirty_pages_mem() > doris::MemInfo::je_dirty_pages_mem_limit() && - GlobalMemoryArbitrator::is_exceed_soft_mem_limit()) { - doris::MemInfo::notify_je_purge_dirty_pages(); - je_purge_dirty_pages_sleep_time_ms = config::memory_gc_sleep_time_ms; - } - je_purge_dirty_pages_sleep_time_ms -= config::memory_maintenance_sleep_time_ms; #endif -} - -void Daemon::memory_maintenance_thread() { - while (!_stop_background_threads_latch.wait_for( - std::chrono::milliseconds(config::memory_maintenance_sleep_time_ms))) { - // step 1. Refresh process memory metrics. - refresh_process_memory_metrics(); - - // step 2. Refresh jemalloc/tcmalloc metrics. - refresh_common_allocator_metrics(); - - // step 3. Update and print memory stat when the memory changes by 256M. - refresh_memory_state_after_memory_change(); - - // step 4. Asyn Refresh cache capacity - // TODO adjust cache capacity based on smoothstep (smooth gradient). - refresh_cache_capacity(); - - // step 5. Cancel top memory task when process memory exceed hard limit. - // TODO replace memory_gc_thread. - - // step 6. Refresh weighted memory ratio of workload groups. - doris::ExecEnv::GetInstance()->workload_group_mgr()->refresh_wg_weighted_memory_limit(); - - // step 7. Analyze blocking queries. - // TODO sort the operators that can spill, wake up the pipeline task spill - // or continue execution according to certain rules or cancel query. - - // step 8. Flush memtable - doris::GlobalMemoryArbitrator::notify_memtable_memory_refresh(); - // TODO notify flush memtable - - // step 9. Jemalloc purge all arena dirty pages - je_purge_dirty_pages(); + MemInfo::refresh_memory_bvar(); + + // Update and print memory stat when the memory changes by 256M. + if (abs(last_print_proc_mem - PerfCounters::get_vm_rss()) > 268435456) { + last_print_proc_mem = PerfCounters::get_vm_rss(); + doris::MemTrackerLimiter::clean_tracker_limiter_group(); + doris::MemTrackerLimiter::enable_print_log_process_usage(); + // Refresh mem tracker each type counter. + doris::MemTrackerLimiter::refresh_global_counter(); + LOG(INFO) << doris::GlobalMemoryArbitrator:: + process_mem_log_str(); // print mem log when memory state by 256M + } } } @@ -369,21 +301,10 @@ void Daemon::memory_gc_thread() { void Daemon::memtable_memory_refresh_thread() { // Refresh the memory statistics of the load channel tracker more frequently, // which helps to accurately control the memory of LoadChannelMgr. - do { - std::unique_lock l(doris::GlobalMemoryArbitrator::memtable_memory_refresh_lock); - while (_stop_background_threads_latch.count() != 0 && - !doris::GlobalMemoryArbitrator::memtable_memory_refresh_notify.load( - std::memory_order_relaxed)) { - doris::GlobalMemoryArbitrator::memtable_memory_refresh_cv.wait_for( - l, std::chrono::seconds(1)); - } - if (_stop_background_threads_latch.count() == 0) { - break; - } + while (!_stop_background_threads_latch.wait_for( + std::chrono::milliseconds(config::memtable_mem_tracker_refresh_interval_ms))) { doris::ExecEnv::GetInstance()->memtable_memory_limiter()->refresh_mem_tracker(); - doris::GlobalMemoryArbitrator::memtable_memory_refresh_notify.store( - false, std::memory_order_relaxed); - } while (true); + } } /* @@ -475,35 +396,6 @@ void Daemon::je_purge_dirty_pages_thread() const { } while (true); } -void Daemon::cache_adjust_capacity_thread() { - do { - std::unique_lock l(doris::GlobalMemoryArbitrator::cache_adjust_capacity_lock); - while (_stop_background_threads_latch.count() != 0 && - !doris::GlobalMemoryArbitrator::cache_adjust_capacity_notify.load( - std::memory_order_relaxed)) { - doris::GlobalMemoryArbitrator::cache_adjust_capacity_cv.wait_for( - l, std::chrono::seconds(1)); - } - double adjust_weighted = GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted; - if (_stop_background_threads_latch.count() == 0) { - break; - } - if (config::disable_memory_gc) { - continue; - } - std::unique_ptr profile = std::make_unique(""); - auto freed_mem = CacheManager::instance()->for_each_cache_refresh_capacity(adjust_weighted, - profile.get()); - std::stringstream ss; - profile->pretty_print(&ss); - LOG(INFO) << fmt::format( - "[MemoryGC] refresh cache capacity end, free memory {}, details: {}", - PrettyPrinter::print(freed_mem, TUnit::BYTES), ss.str()); - doris::GlobalMemoryArbitrator::cache_adjust_capacity_notify.store( - false, std::memory_order_relaxed); - } while (true); -} - void Daemon::cache_prune_stale_thread() { int32_t interval = config::cache_periodic_prune_stale_sweep_sec; while (!_stop_background_threads_latch.wait_for(std::chrono::seconds(interval))) { @@ -519,6 +411,14 @@ void Daemon::cache_prune_stale_thread() { } } +void Daemon::wg_weighted_memory_ratio_refresh_thread() { + // Refresh weighted memory ratio of workload groups + while (!_stop_background_threads_latch.wait_for( + std::chrono::milliseconds(config::wg_weighted_memory_ratio_refresh_interval_ms))) { + doris::ExecEnv::GetInstance()->workload_group_mgr()->refresh_wg_weighted_memory_limit(); + } +} + void Daemon::be_proc_monitor_thread() { while (!_stop_background_threads_latch.wait_for( std::chrono::milliseconds(config::be_proc_monitor_interval_ms))) { @@ -555,10 +455,6 @@ void Daemon::start() { "Daemon", "je_purge_dirty_pages_thread", [this]() { this->je_purge_dirty_pages_thread(); }, &_threads.emplace_back()); CHECK(st.ok()) << st; - st = Thread::create( - "Daemon", "cache_adjust_capacity_thread", - [this]() { this->cache_adjust_capacity_thread(); }, &_threads.emplace_back()); - CHECK(st.ok()) << st; st = Thread::create( "Daemon", "cache_prune_stale_thread", [this]() { this->cache_prune_stale_thread(); }, &_threads.emplace_back()); @@ -568,6 +464,11 @@ void Daemon::start() { [this]() { this->report_runtime_query_statistics_thread(); }, &_threads.emplace_back()); CHECK(st.ok()) << st; + st = Thread::create( + "Daemon", "wg_weighted_memory_ratio_refresh_thread", + [this]() { this->wg_weighted_memory_ratio_refresh_thread(); }, + &_threads.emplace_back()); + if (config::enable_be_proc_monitor) { st = Thread::create( "Daemon", "be_proc_monitor_thread", [this]() { this->be_proc_monitor_thread(); }, diff --git a/be/src/common/daemon.h b/be/src/common/daemon.h index fe723877dcd027..64c9f0c8993ae3 100644 --- a/be/src/common/daemon.h +++ b/be/src/common/daemon.h @@ -43,9 +43,9 @@ class Daemon { void memtable_memory_refresh_thread(); void calculate_metrics_thread(); void je_purge_dirty_pages_thread() const; - void cache_adjust_capacity_thread(); void cache_prune_stale_thread(); void report_runtime_query_statistics_thread(); + void wg_weighted_memory_ratio_refresh_thread(); void be_proc_monitor_thread(); CountDownLatch _stop_background_threads_latch; diff --git a/be/src/olap/lru_cache.cpp b/be/src/olap/lru_cache.cpp index 6e5bb2fa31578f..741c2423915ede 100644 --- a/be/src/olap/lru_cache.cpp +++ b/be/src/olap/lru_cache.cpp @@ -177,51 +177,6 @@ LRUCache::~LRUCache() { prune(); } -PrunedInfo LRUCache::set_capacity(size_t capacity) { - LRUHandle* last_ref_list = nullptr; - { - std::lock_guard l(_mutex); - _capacity = capacity; - _evict_from_lru(0, &last_ref_list); - } - - int64_t pruned_count = 0; - int64_t pruned_size = 0; - while (last_ref_list != nullptr) { - ++pruned_count; - pruned_size += last_ref_list->total_size; - LRUHandle* next = last_ref_list->next; - last_ref_list->free(); - last_ref_list = next; - } - return {pruned_count, pruned_size}; -} - -uint64_t LRUCache::get_lookup_count() { - std::lock_guard l(_mutex); - return _lookup_count; -} - -uint64_t LRUCache::get_hit_count() { - std::lock_guard l(_mutex); - return _hit_count; -} - -size_t LRUCache::get_usage() { - std::lock_guard l(_mutex); - return _usage; -} - -size_t LRUCache::get_capacity() { - std::lock_guard l(_mutex); - return _capacity; -} - -size_t LRUCache::get_element_count() { - std::lock_guard l(_mutex); - return _table.element_count(); -} - bool LRUCache::_unref(LRUHandle* e) { DCHECK(e->refs > 0); e->refs--; @@ -560,19 +515,19 @@ inline uint32_t ShardedLRUCache::_hash_slice(const CacheKey& s) { return s.hash(s.data(), s.size(), 0); } -ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, +ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, uint32_t num_shards, uint32_t total_element_count_capacity) : _name(name), _num_shard_bits(Bits::FindLSBSetNonZero(num_shards)), _num_shards(num_shards), _shards(nullptr), _last_id(1), - _capacity(capacity) { + _total_capacity(total_capacity) { CHECK(num_shards > 0) << "num_shards cannot be 0"; CHECK_EQ((num_shards & (num_shards - 1)), 0) << "num_shards should be power of two, but got " << num_shards; - const size_t per_shard = (capacity + (_num_shards - 1)) / _num_shards; + const size_t per_shard = (total_capacity + (_num_shards - 1)) / _num_shards; const size_t per_shard_element_count_capacity = (total_element_count_capacity + (_num_shards - 1)) / _num_shards; LRUCache** shards = new (std::nothrow) LRUCache*[_num_shards]; @@ -602,12 +557,12 @@ ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t capacity, LRUCa "doris_cache", _name + "_persecond", _lookup_count_bvar.get(), 60)); } -ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, +ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, uint32_t num_shards, CacheValueTimeExtractor cache_value_time_extractor, bool cache_value_check_timestamp, uint32_t total_element_count_capacity) - : ShardedLRUCache(name, capacity, type, num_shards, total_element_count_capacity) { + : ShardedLRUCache(name, total_capacity, type, num_shards, total_element_count_capacity) { for (int s = 0; s < _num_shards; s++) { _shards[s]->set_cache_value_time_extractor(cache_value_time_extractor); _shards[s]->set_cache_value_check_timestamp(cache_value_check_timestamp); @@ -625,24 +580,6 @@ ShardedLRUCache::~ShardedLRUCache() { } } -PrunedInfo ShardedLRUCache::set_capacity(size_t capacity) { - std::lock_guard l(_mutex); - PrunedInfo pruned_info; - const size_t per_shard = (capacity + (_num_shards - 1)) / _num_shards; - for (int s = 0; s < _num_shards; s++) { - PrunedInfo info = _shards[s]->set_capacity(per_shard); - pruned_info.pruned_count += info.pruned_count; - pruned_info.pruned_size += info.pruned_size; - } - _capacity = capacity; - return pruned_info; -} - -size_t ShardedLRUCache::get_capacity() { - std::lock_guard l(_mutex); - return _capacity; -} - Cache::Handle* ShardedLRUCache::insert(const CacheKey& key, void* value, size_t charge, CachePriority priority) { const uint32_t hash = _hash_slice(key); @@ -701,25 +638,25 @@ int64_t ShardedLRUCache::get_usage() { } void ShardedLRUCache::update_cache_metrics() const { - size_t capacity = 0; + size_t total_capacity = 0; size_t total_usage = 0; size_t total_lookup_count = 0; size_t total_hit_count = 0; size_t total_element_count = 0; for (int i = 0; i < _num_shards; i++) { - capacity += _shards[i]->get_capacity(); + total_capacity += _shards[i]->get_capacity(); total_usage += _shards[i]->get_usage(); total_lookup_count += _shards[i]->get_lookup_count(); total_hit_count += _shards[i]->get_hit_count(); total_element_count += _shards[i]->get_element_count(); } - cache_capacity->set_value(capacity); + cache_capacity->set_value(total_capacity); cache_usage->set_value(total_usage); cache_element_count->set_value(total_element_count); cache_lookup_count->set_value(total_lookup_count); cache_hit_count->set_value(total_hit_count); - cache_usage_ratio->set_value(capacity == 0 ? 0 : ((double)total_usage / capacity)); + cache_usage_ratio->set_value(total_capacity == 0 ? 0 : ((double)total_usage / total_capacity)); cache_hit_ratio->set_value( total_lookup_count == 0 ? 0 : ((double)total_hit_count / total_lookup_count)); } diff --git a/be/src/olap/lru_cache.h b/be/src/olap/lru_cache.h index de7084382d7398..059020deab58f5 100644 --- a/be/src/olap/lru_cache.h +++ b/be/src/olap/lru_cache.h @@ -227,8 +227,7 @@ class Cache { virtual int64_t get_usage() = 0; - virtual PrunedInfo set_capacity(size_t capacity) = 0; - virtual size_t get_capacity() = 0; + virtual size_t get_total_capacity() = 0; private: DISALLOW_COPY_AND_ASSIGN(Cache); @@ -328,7 +327,7 @@ class LRUCache { ~LRUCache(); // Separate from constructor so caller can easily make an array of LRUCache - PrunedInfo set_capacity(size_t capacity); + void set_capacity(size_t capacity) { _capacity = capacity; } void set_element_count_capacity(uint32_t element_count_capacity) { _element_count_capacity = element_count_capacity; } @@ -346,11 +345,11 @@ class LRUCache { void set_cache_value_time_extractor(CacheValueTimeExtractor cache_value_time_extractor); void set_cache_value_check_timestamp(bool cache_value_check_timestamp); - uint64_t get_lookup_count(); - uint64_t get_hit_count(); - size_t get_usage(); - size_t get_capacity(); - size_t get_element_count(); + uint64_t get_lookup_count() const { return _lookup_count; } + uint64_t get_hit_count() const { return _hit_count; } + size_t get_usage() const { return _usage; } + size_t get_capacity() const { return _capacity; } + size_t get_element_count() const { return _table.element_count(); } private: void _lru_remove(LRUHandle* e); @@ -404,16 +403,15 @@ class ShardedLRUCache : public Cache { PrunedInfo prune() override; PrunedInfo prune_if(CachePrunePredicate pred, bool lazy_mode = false) override; int64_t get_usage() override; - PrunedInfo set_capacity(size_t capacity) override; - size_t get_capacity() override; + size_t get_total_capacity() override { return _total_capacity; }; private: // LRUCache can only be created and managed with LRUCachePolicy. friend class LRUCachePolicy; - explicit ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, + explicit ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, uint32_t num_shards, uint32_t element_count_capacity); - explicit ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, + explicit ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, uint32_t num_shards, CacheValueTimeExtractor cache_value_time_extractor, bool cache_value_check_timestamp, uint32_t element_count_capacity); @@ -431,8 +429,7 @@ class ShardedLRUCache : public Cache { const uint32_t _num_shards; LRUCache** _shards = nullptr; std::atomic _last_id; - std::mutex _mutex; - size_t _capacity {0}; + size_t _total_capacity; std::shared_ptr _entity; IntGauge* cache_capacity = nullptr; @@ -465,8 +462,7 @@ class DummyLRUCache : public Cache { return {0, 0}; }; int64_t get_usage() override { return 0; }; - PrunedInfo set_capacity(size_t capacity) override { return {0, 0}; }; - size_t get_capacity() override { return 0; }; + size_t get_total_capacity() override { return 0; }; }; } // namespace doris diff --git a/be/src/runtime/memory/cache_manager.cpp b/be/src/runtime/memory/cache_manager.cpp index ec57ffba50d318..a6516c40a35770 100644 --- a/be/src/runtime/memory/cache_manager.cpp +++ b/be/src/runtime/memory/cache_manager.cpp @@ -59,26 +59,11 @@ int64_t CacheManager::for_each_cache_prune_all(RuntimeProfile* profile, bool for int64_t CacheManager::cache_prune_all(CachePolicy::CacheType type, bool force) { std::lock_guard l(_caches_lock); auto* cache_policy = _caches[type]; + if (!cache_policy->enable_prune()) { + return -1; + } cache_policy->prune_all(force); return cache_policy->profile()->get_counter("FreedMemory")->value(); } -int64_t CacheManager::for_each_cache_refresh_capacity(double adjust_weighted, - RuntimeProfile* profile) { - int64_t freed_size = 0; - std::lock_guard l(_caches_lock); - for (const auto& pair : _caches) { - auto* cache_policy = pair.second; - if (!cache_policy->enable_prune()) { - continue; - } - cache_policy->adjust_capacity_weighted(adjust_weighted); - freed_size += cache_policy->profile()->get_counter("FreedMemory")->value(); - if (cache_policy->profile()->get_counter("FreedMemory")->value() != 0 && profile) { - profile->add_child(cache_policy->profile(), true, nullptr); - } - } - return freed_size; -} - } // namespace doris diff --git a/be/src/runtime/memory/cache_manager.h b/be/src/runtime/memory/cache_manager.h index a2a089b929dbdf..d94dca501670bf 100644 --- a/be/src/runtime/memory/cache_manager.h +++ b/be/src/runtime/memory/cache_manager.h @@ -81,9 +81,6 @@ class CacheManager { return false; } - int64_t for_each_cache_refresh_capacity(double adjust_weighted, - RuntimeProfile* profile = nullptr); - private: std::mutex _caches_lock; std::unordered_map _caches; diff --git a/be/src/runtime/memory/cache_policy.cpp b/be/src/runtime/memory/cache_policy.cpp index 46b9db1b35ad5f..4e50d64d88eed1 100644 --- a/be/src/runtime/memory/cache_policy.cpp +++ b/be/src/runtime/memory/cache_policy.cpp @@ -21,12 +21,8 @@ namespace doris { -CachePolicy::CachePolicy(CacheType type, size_t capacity, uint32_t stale_sweep_time_s, - bool enable_prune) - : _type(type), - _initial_capacity(capacity), - _stale_sweep_time_s(stale_sweep_time_s), - _enable_prune(enable_prune) { +CachePolicy::CachePolicy(CacheType type, uint32_t stale_sweep_time_s, bool enable_prune) + : _type(type), _stale_sweep_time_s(stale_sweep_time_s), _enable_prune(enable_prune) { CacheManager::instance()->register_cache(this); init_profile(); } diff --git a/be/src/runtime/memory/cache_policy.h b/be/src/runtime/memory/cache_policy.h index c43ca0b2fb7e0a..c457afd86898f2 100644 --- a/be/src/runtime/memory/cache_policy.h +++ b/be/src/runtime/memory/cache_policy.h @@ -17,12 +17,13 @@ #pragma once +#include "runtime/exec_env.h" #include "util/runtime_profile.h" namespace doris { -static constexpr int32_t CACHE_MIN_PRUNE_SIZE = 67108864; // 64M -static constexpr int32_t CACHE_MIN_PRUNE_NUMBER = 1024; +static constexpr int32_t CACHE_MIN_FREE_SIZE = 67108864; // 64M +static constexpr int32_t CACHE_MIN_FREE_NUMBER = 1024; // Base of all caches. register to CacheManager when cache is constructed. class CachePolicy { @@ -41,13 +42,12 @@ class CachePolicy { TABLET_VERSION_CACHE = 10, LAST_SUCCESS_CHANNEL_CACHE = 11, COMMON_OBJ_LRU_CACHE = 12, - FOR_UT_CACHE_SIZE = 13, + FOR_UT = 13, TABLET_SCHEMA_CACHE = 14, CREATE_TABLET_RR_IDX_CACHE = 15, CLOUD_TABLET_CACHE = 16, CLOUD_TXN_DELETE_BITMAP_CACHE = 17, NONE = 18, // not be used - FOR_UT_CACHE_NUMBER = 19, }; static std::string type_string(CacheType type) { @@ -78,8 +78,8 @@ class CachePolicy { return "LastSuccessChannelCache"; case CacheType::COMMON_OBJ_LRU_CACHE: return "CommonObjLRUCache"; - case CacheType::FOR_UT_CACHE_SIZE: - return "ForUTCacheSize"; + case CacheType::FOR_UT: + return "ForUT"; case CacheType::TABLET_SCHEMA_CACHE: return "TabletSchemaCache"; case CacheType::CREATE_TABLET_RR_IDX_CACHE: @@ -88,8 +88,6 @@ class CachePolicy { return "CloudTabletCache"; case CacheType::CLOUD_TXN_DELETE_BITMAP_CACHE: return "CloudTxnDeleteBitmapCache"; - case CacheType::FOR_UT_CACHE_NUMBER: - return "ForUTCacheNumber"; default: LOG(FATAL) << "not match type of cache policy :" << static_cast(type); } @@ -111,12 +109,11 @@ class CachePolicy { {"MowTabletVersionCache", CacheType::TABLET_VERSION_CACHE}, {"LastSuccessChannelCache", CacheType::LAST_SUCCESS_CHANNEL_CACHE}, {"CommonObjLRUCache", CacheType::COMMON_OBJ_LRU_CACHE}, - {"ForUTCacheSize", CacheType::FOR_UT_CACHE_SIZE}, + {"ForUT", CacheType::FOR_UT}, {"TabletSchemaCache", CacheType::TABLET_SCHEMA_CACHE}, {"CreateTabletRRIdxCache", CacheType::CREATE_TABLET_RR_IDX_CACHE}, {"CloudTabletCache", CacheType::CLOUD_TABLET_CACHE}, - {"CloudTxnDeleteBitmapCache", CacheType::CLOUD_TXN_DELETE_BITMAP_CACHE}, - {"ForUTCacheNumber", CacheType::FOR_UT_CACHE_NUMBER}}; + {"CloudTxnDeleteBitmapCache", CacheType::CLOUD_TXN_DELETE_BITMAP_CACHE}}; static CacheType string_to_type(std::string type) { if (StringToType.contains(type)) { @@ -126,16 +123,13 @@ class CachePolicy { } } - CachePolicy(CacheType type, size_t capacity, uint32_t stale_sweep_time_s, bool enable_prune); + CachePolicy(CacheType type, uint32_t stale_sweep_time_s, bool enable_prune); virtual ~CachePolicy(); virtual void prune_stale() = 0; virtual void prune_all(bool force) = 0; - virtual int64_t adjust_capacity_weighted(double adjust_weighted) = 0; - virtual size_t get_capacity() = 0; CacheType type() { return _type; } - size_t initial_capacity() const { return _initial_capacity; } bool enable_prune() const { return _enable_prune; } RuntimeProfile* profile() { return _profile.get(); } @@ -145,20 +139,16 @@ class CachePolicy { std::make_unique(fmt::format("Cache type={}", type_string(_type))); _prune_stale_number_counter = ADD_COUNTER(_profile, "PruneStaleNumber", TUnit::UNIT); _prune_all_number_counter = ADD_COUNTER(_profile, "PruneAllNumber", TUnit::UNIT); - _adjust_capacity_weighted_number_counter = - ADD_COUNTER(_profile, "SetCapacityNumber", TUnit::UNIT); _freed_memory_counter = ADD_COUNTER(_profile, "FreedMemory", TUnit::BYTES); _freed_entrys_counter = ADD_COUNTER(_profile, "FreedEntrys", TUnit::UNIT); _cost_timer = ADD_TIMER(_profile, "CostTime"); } CacheType _type; - size_t _initial_capacity {0}; std::unique_ptr _profile; RuntimeProfile::Counter* _prune_stale_number_counter = nullptr; RuntimeProfile::Counter* _prune_all_number_counter = nullptr; - RuntimeProfile::Counter* _adjust_capacity_weighted_number_counter = nullptr; // Reset before each gc RuntimeProfile::Counter* _freed_memory_counter = nullptr; RuntimeProfile::Counter* _freed_entrys_counter = nullptr; diff --git a/be/src/runtime/memory/global_memory_arbitrator.cpp b/be/src/runtime/memory/global_memory_arbitrator.cpp index 76a414a6ebdc74..344bcbc59846d9 100644 --- a/be/src/runtime/memory/global_memory_arbitrator.cpp +++ b/be/src/runtime/memory/global_memory_arbitrator.cpp @@ -38,13 +38,6 @@ bvar::PassiveStatus g_sys_mem_avail( std::atomic GlobalMemoryArbitrator::_s_process_reserved_memory = 0; std::atomic GlobalMemoryArbitrator::refresh_interval_memory_growth = 0; -std::mutex GlobalMemoryArbitrator::cache_adjust_capacity_lock; -std::condition_variable GlobalMemoryArbitrator::cache_adjust_capacity_cv; -std::atomic GlobalMemoryArbitrator::cache_adjust_capacity_notify {false}; -std::atomic GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted {1}; -std::mutex GlobalMemoryArbitrator::memtable_memory_refresh_lock; -std::condition_variable GlobalMemoryArbitrator::memtable_memory_refresh_cv; -std::atomic GlobalMemoryArbitrator::memtable_memory_refresh_notify {false}; bool GlobalMemoryArbitrator::try_reserve_process_memory(int64_t bytes) { if (sys_mem_available() - bytes < MemInfo::sys_mem_available_warning_water_mark()) { diff --git a/be/src/runtime/memory/global_memory_arbitrator.h b/be/src/runtime/memory/global_memory_arbitrator.h index 5fbcf232ce4d24..f8fda18d0e9a0c 100644 --- a/be/src/runtime/memory/global_memory_arbitrator.h +++ b/be/src/runtime/memory/global_memory_arbitrator.h @@ -173,23 +173,6 @@ class GlobalMemoryArbitrator { // avoid multiple threads starting at the same time and causing OOM. static std::atomic refresh_interval_memory_growth; - static std::mutex cache_adjust_capacity_lock; - static std::condition_variable cache_adjust_capacity_cv; - static std::atomic cache_adjust_capacity_notify; - static std::atomic last_cache_capacity_adjust_weighted; - static void notify_cache_adjust_capacity() { - cache_adjust_capacity_notify.store(true, std::memory_order_relaxed); - cache_adjust_capacity_cv.notify_all(); - } - - static std::mutex memtable_memory_refresh_lock; - static std::condition_variable memtable_memory_refresh_cv; - static std::atomic memtable_memory_refresh_notify; - static void notify_memtable_memory_refresh() { - memtable_memory_refresh_notify.store(true, std::memory_order_relaxed); - memtable_memory_refresh_cv.notify_all(); - } - private: static std::atomic _s_process_reserved_memory; diff --git a/be/src/runtime/memory/lru_cache_policy.h b/be/src/runtime/memory/lru_cache_policy.h index 419825c85c4538..1b6c9ead6d0086 100644 --- a/be/src/runtime/memory/lru_cache_policy.h +++ b/be/src/runtime/memory/lru_cache_policy.h @@ -37,8 +37,7 @@ class LRUCachePolicy : public CachePolicy { uint32_t stale_sweep_time_s, uint32_t num_shards = DEFAULT_LRU_CACHE_NUM_SHARDS, uint32_t element_count_capacity = DEFAULT_LRU_CACHE_ELEMENT_COUNT_CAPACITY, bool enable_prune = true) - : CachePolicy(type, capacity, stale_sweep_time_s, enable_prune), - _lru_cache_type(lru_cache_type) { + : CachePolicy(type, stale_sweep_time_s, enable_prune), _lru_cache_type(lru_cache_type) { if (check_capacity(capacity, num_shards)) { _cache = std::shared_ptr( new ShardedLRUCache(type_string(type), capacity, lru_cache_type, num_shards, @@ -54,8 +53,7 @@ class LRUCachePolicy : public CachePolicy { uint32_t element_count_capacity, CacheValueTimeExtractor cache_value_time_extractor, bool cache_value_check_timestamp, bool enable_prune = true) - : CachePolicy(type, capacity, stale_sweep_time_s, enable_prune), - _lru_cache_type(lru_cache_type) { + : CachePolicy(type, stale_sweep_time_s, enable_prune), _lru_cache_type(lru_cache_type) { if (check_capacity(capacity, num_shards)) { _cache = std::shared_ptr( new ShardedLRUCache(type_string(type), capacity, lru_cache_type, num_shards, @@ -108,19 +106,18 @@ class LRUCachePolicy : public CachePolicy { int64_t get_usage() { return _cache->get_usage(); } - size_t get_capacity() override { return _cache->get_capacity(); } + size_t get_total_capacity() { return _cache->get_total_capacity(); } uint64_t new_id() { return _cache->new_id(); }; // Subclass can override this method to determine whether to do the minor or full gc virtual bool exceed_prune_limit() { - return _lru_cache_type == LRUCacheType::SIZE ? mem_consumption() > CACHE_MIN_PRUNE_SIZE - : get_usage() > CACHE_MIN_PRUNE_NUMBER; + return _lru_cache_type == LRUCacheType::SIZE ? mem_consumption() > CACHE_MIN_FREE_SIZE + : get_usage() > CACHE_MIN_FREE_NUMBER; } // Try to prune the cache if expired. void prune_stale() override { - std::lock_guard l(_lock); COUNTER_SET(_freed_entrys_counter, (int64_t)0); COUNTER_SET(_freed_memory_counter, (int64_t)0); if (_stale_sweep_time_s <= 0 && _cache == ExecEnv::GetInstance()->get_dummy_lru_cache()) { @@ -128,6 +125,7 @@ class LRUCachePolicy : public CachePolicy { } if (exceed_prune_limit()) { COUNTER_SET(_cost_timer, (int64_t)0); + SCOPED_TIMER(_cost_timer); const int64_t curtime = UnixMillis(); auto pred = [this, curtime](const LRUHandle* handle) -> bool { return static_cast((handle->last_visit_time + _stale_sweep_time_s * 1000) < @@ -136,38 +134,33 @@ class LRUCachePolicy : public CachePolicy { LOG(INFO) << fmt::format("[MemoryGC] {} prune stale start, consumption {}, usage {}", type_string(_type), mem_consumption(), get_usage()); - { - SCOPED_TIMER(_cost_timer); - // Prune cache in lazy mode to save cpu and minimize the time holding write lock - PrunedInfo pruned_info = _cache->prune_if(pred, true); - COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); - COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); - } + // Prune cache in lazy mode to save cpu and minimize the time holding write lock + PrunedInfo pruned_info = _cache->prune_if(pred, true); + COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); + COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); COUNTER_UPDATE(_prune_stale_number_counter, 1); LOG(INFO) << fmt::format( - "[MemoryGC] {} prune stale {} entries, {} bytes, cost {}, {} times prune", + "[MemoryGC] {} prune stale {} entries, {} bytes, {} times prune", type_string(_type), _freed_entrys_counter->value(), - _freed_memory_counter->value(), _cost_timer->value(), - _prune_stale_number_counter->value()); + _freed_memory_counter->value(), _prune_stale_number_counter->value()); } else { if (_lru_cache_type == LRUCacheType::SIZE) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune stale, LRUCacheType::SIZE consumption {} " "less " - "than CACHE_MIN_PRUNE_SIZE {}", - type_string(_type), mem_consumption(), CACHE_MIN_PRUNE_SIZE); + "than CACHE_MIN_FREE_SIZE {}", + type_string(_type), mem_consumption(), CACHE_MIN_FREE_SIZE); } else if (_lru_cache_type == LRUCacheType::NUMBER) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune stale, LRUCacheType::NUMBER usage {} less " "than " - "CACHE_MIN_PRUNE_NUMBER {}", - type_string(_type), get_usage(), CACHE_MIN_PRUNE_NUMBER); + "CACHE_MIN_FREE_NUMBER {}", + type_string(_type), get_usage(), CACHE_MIN_FREE_NUMBER); } } } void prune_all(bool force) override { - std::lock_guard l(_lock); COUNTER_SET(_freed_entrys_counter, (int64_t)0); COUNTER_SET(_freed_memory_counter, (int64_t)0); if (_cache == ExecEnv::GetInstance()->get_dummy_lru_cache()) { @@ -175,73 +168,37 @@ class LRUCachePolicy : public CachePolicy { } if ((force && mem_consumption() != 0) || exceed_prune_limit()) { COUNTER_SET(_cost_timer, (int64_t)0); + SCOPED_TIMER(_cost_timer); LOG(INFO) << fmt::format("[MemoryGC] {} prune all start, consumption {}, usage {}", type_string(_type), mem_consumption(), get_usage()); - { - SCOPED_TIMER(_cost_timer); - PrunedInfo pruned_info = _cache->prune(); - COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); - COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); - } + PrunedInfo pruned_info = _cache->prune(); + COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); + COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); COUNTER_UPDATE(_prune_all_number_counter, 1); LOG(INFO) << fmt::format( - "[MemoryGC] {} prune all {} entries, {} bytes, cost {}, {} times prune, is " - "force: {}", + "[MemoryGC] {} prune all {} entries, {} bytes, {} times prune, is force: {}", type_string(_type), _freed_entrys_counter->value(), - _freed_memory_counter->value(), _cost_timer->value(), - _prune_all_number_counter->value(), force); + _freed_memory_counter->value(), _prune_all_number_counter->value(), force); } else { if (_lru_cache_type == LRUCacheType::SIZE) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune all, force is {}, LRUCacheType::SIZE " "consumption {}, " - "CACHE_MIN_PRUNE_SIZE {}", - type_string(_type), force, mem_consumption(), CACHE_MIN_PRUNE_SIZE); + "CACHE_MIN_FREE_SIZE {}", + type_string(_type), force, mem_consumption(), CACHE_MIN_FREE_SIZE); } else if (_lru_cache_type == LRUCacheType::NUMBER) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune all, force is {}, LRUCacheType::NUMBER " - "usage {}, CACHE_MIN_PRUNE_NUMBER {}", - type_string(_type), force, get_usage(), CACHE_MIN_PRUNE_NUMBER); + "usage {}, CACHE_MIN_FREE_NUMBER {}", + type_string(_type), force, get_usage(), CACHE_MIN_FREE_NUMBER); } } } - int64_t adjust_capacity_weighted(double adjust_weighted) override { - std::lock_guard l(_lock); - auto capacity = static_cast(_initial_capacity * adjust_weighted); - COUNTER_SET(_freed_entrys_counter, (int64_t)0); - COUNTER_SET(_freed_memory_counter, (int64_t)0); - COUNTER_SET(_cost_timer, (int64_t)0); - if (_cache == ExecEnv::GetInstance()->get_dummy_lru_cache()) { - return 0; - } - - size_t old_capacity = get_capacity(); - int64_t old_mem_consumption = mem_consumption(); - int64_t old_usage = get_usage(); - { - SCOPED_TIMER(_cost_timer); - PrunedInfo pruned_info = _cache->set_capacity(capacity); - COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); - COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); - } - COUNTER_UPDATE(_adjust_capacity_weighted_number_counter, 1); - LOG(INFO) << fmt::format( - "[MemoryGC] {} update capacity, old , " - "adjust_weighted {}, new , prune {} " - "entries, {} bytes, cost {}, {} times prune", - type_string(_type), old_capacity, old_mem_consumption, old_usage, adjust_weighted, - get_capacity(), mem_consumption(), get_usage(), _freed_entrys_counter->value(), - _freed_memory_counter->value(), _cost_timer->value(), - _adjust_capacity_weighted_number_counter->value()); - return _freed_entrys_counter->value(); - } - protected: // if check_capacity failed, will return dummy lru cache, // compatible with ShardedLRUCache usage, but will not actually cache. std::shared_ptr _cache; - std::mutex _lock; LRUCacheType _lru_cache_type; }; diff --git a/be/src/runtime/memory/mem_tracker_limiter.cpp b/be/src/runtime/memory/mem_tracker_limiter.cpp index 59546b11d51a8a..a8aa44414ebf87 100644 --- a/be/src/runtime/memory/mem_tracker_limiter.cpp +++ b/be/src/runtime/memory/mem_tracker_limiter.cpp @@ -739,10 +739,10 @@ int64_t MemTrackerLimiter::free_top_overcommit_query( LOG(INFO) << log_prefix << "finished, no task need be canceled."; return 0; } - if (small_num == 0 && canceling_task.empty() && query_consumption.size() == 1) { + if (query_consumption.size() == 1) { auto iter = query_consumption.begin(); - LOG(INFO) << log_prefix << "finished, only one overcommit task: " << iter->first - << ", memory consumption: " << iter->second << ", no other tasks, so no cancel."; + LOG(INFO) << log_prefix << "finished, only one task: " << iter->first + << ", memory consumption: " << iter->second << ", no cancel."; return 0; } diff --git a/be/src/runtime/memory/memory_reclamation.cpp b/be/src/runtime/memory/memory_reclamation.cpp index 17f5a41f462b50..3adf1d1ac75718 100644 --- a/be/src/runtime/memory/memory_reclamation.cpp +++ b/be/src/runtime/memory/memory_reclamation.cpp @@ -37,6 +37,7 @@ bool MemoryReclamation::process_minor_gc(std::string mem_info) { std::unique_ptr profile = std::make_unique(""); Defer defer {[&]() { + MemInfo::notify_je_purge_dirty_pages(); std::stringstream ss; profile->pretty_print(&ss); LOG(INFO) << fmt::format( @@ -45,6 +46,11 @@ bool MemoryReclamation::process_minor_gc(std::string mem_info) { ss.str()); }}; + freed_mem += CacheManager::instance()->for_each_cache_prune_stale(profile.get()); + if (freed_mem > MemInfo::process_minor_gc_size()) { + return true; + } + if (config::enable_workload_group_memory_gc) { RuntimeProfile* tg_profile = profile->create_child("WorkloadGroup", true, true); freed_mem += tg_enable_overcommit_group_gc(MemInfo::process_minor_gc_size() - freed_mem, @@ -81,6 +87,7 @@ bool MemoryReclamation::process_full_gc(std::string mem_info) { std::unique_ptr profile = std::make_unique(""); Defer defer {[&]() { + MemInfo::notify_je_purge_dirty_pages(); std::stringstream ss; profile->pretty_print(&ss); LOG(INFO) << fmt::format( @@ -89,6 +96,11 @@ bool MemoryReclamation::process_full_gc(std::string mem_info) { ss.str()); }}; + freed_mem += CacheManager::instance()->for_each_cache_prune_all(profile.get()); + if (freed_mem > MemInfo::process_full_gc_size()) { + return true; + } + if (config::enable_workload_group_memory_gc) { RuntimeProfile* tg_profile = profile->create_child("WorkloadGroup", true, true); freed_mem += tg_enable_overcommit_group_gc(MemInfo::process_full_gc_size() - freed_mem, diff --git a/be/src/service/point_query_executor.h b/be/src/service/point_query_executor.h index 7503fd2c102a68..19954479c97ec7 100644 --- a/be/src/service/point_query_executor.h +++ b/be/src/service/point_query_executor.h @@ -246,8 +246,8 @@ class LookupConnectionCache : public LRUCachePolicyTrackingManual { auto* value = new CacheValue; value->item = item; LOG(INFO) << "Add item mem" - << ", cache_capacity: " << get_capacity() << ", cache_usage: " << get_usage() - << ", mem_consum: " << mem_consumption(); + << ", cache_capacity: " << get_total_capacity() + << ", cache_usage: " << get_usage() << ", mem_consum: " << mem_consumption(); auto* lru_handle = insert(key, value, 1, sizeof(Reusable), CachePriority::NORMAL); release(lru_handle); } diff --git a/be/src/vec/common/allocator.cpp b/be/src/vec/common/allocator.cpp index 2619c0bafffb16..dff1330888f82d 100644 --- a/be/src/vec/common/allocator.cpp +++ b/be/src/vec/common/allocator.cpp @@ -106,6 +106,9 @@ void Allocator::sys_mem return; } + // no significant impact on performance is expected. + doris::MemInfo::notify_je_purge_dirty_pages(); + if (doris::thread_context()->thread_mem_tracker_mgr->is_attach_query() && doris::thread_context()->thread_mem_tracker_mgr->wait_gc()) { int64_t wait_milliseconds = 0; diff --git a/be/test/olap/lru_cache_test.cpp b/be/test/olap/lru_cache_test.cpp index 9adb30b93054f4..4fc096380c754b 100644 --- a/be/test/olap/lru_cache_test.cpp +++ b/be/test/olap/lru_cache_test.cpp @@ -88,46 +88,25 @@ class CacheTest : public testing::Test { void* value; }; - class CacheTestSizePolicy : public LRUCachePolicyTrackingManual { + class CacheTestPolicy : public LRUCachePolicyTrackingManual { public: - CacheTestSizePolicy(size_t capacity) - : LRUCachePolicyTrackingManual(CachePolicy::CacheType::FOR_UT_CACHE_SIZE, capacity, + CacheTestPolicy(size_t capacity) + : LRUCachePolicyTrackingManual(CachePolicy::CacheType::FOR_UT, capacity, LRUCacheType::SIZE, -1) {} }; - class CacheTestNumberPolicy : public LRUCachePolicyTrackingManual { - public: - CacheTestNumberPolicy(size_t capacity, uint32_t num_shards) - : LRUCachePolicyTrackingManual(CachePolicy::CacheType::FOR_UT_CACHE_NUMBER, - capacity, LRUCacheType::NUMBER, -1, num_shards) {} - }; - // there is 16 shards in ShardedLRUCache // And the LRUHandle size is about 100B. So the cache size should big enough // to run the UT. static const int kCacheSize = 1000 * 16; std::vector _deleted_keys; std::vector _deleted_values; - LRUCachePolicy* _cache = nullptr; + CacheTestPolicy* _cache; - CacheTest() { _s_current = this; } + CacheTest() : _cache(new CacheTestPolicy(kCacheSize)) { _s_current = this; } ~CacheTest() override { delete _cache; } - void init_size_cache(size_t capacity = kCacheSize) { - if (_cache != nullptr) { - delete _cache; - } - _cache = new CacheTestSizePolicy(capacity); - } - - void init_number_cache(size_t capacity = kCacheSize, uint32_t num_shards = 1) { - if (_cache != nullptr) { - delete _cache; - } - _cache = new CacheTestNumberPolicy(capacity, num_shards); - } - LRUCachePolicy* cache() const { return _cache; } int Lookup(int key) const { @@ -170,25 +149,7 @@ class CacheTest : public testing::Test { }; CacheTest* CacheTest::_s_current; -static void insert_LRUCache(LRUCache& cache, const CacheKey& key, int value, - CachePriority priority) { - uint32_t hash = key.hash(key.data(), key.size(), 0); - auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); - cache.release(cache.insert(key, hash, cache_value, value, priority)); -} - -static void insert_number_LRUCache(LRUCache& cache, const CacheKey& key, int value, int charge, - CachePriority priority) { - uint32_t hash = key.hash(key.data(), key.size(), 0); - auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); - cache.release(cache.insert(key, hash, cache_value, charge, priority)); -} - -// https://stackoverflow.com/questions/42756443/undefined-reference-with-gtest -const int CacheTest::kCacheSize; - TEST_F(CacheTest, HitAndMiss) { - init_size_cache(); EXPECT_EQ(-1, Lookup(100)); Insert(100, 101, 1); @@ -212,7 +173,6 @@ TEST_F(CacheTest, HitAndMiss) { } TEST_F(CacheTest, Erase) { - init_size_cache(); Erase(200); EXPECT_EQ(0, _deleted_keys.size()); @@ -232,7 +192,6 @@ TEST_F(CacheTest, Erase) { } TEST_F(CacheTest, EntriesArePinned) { - init_size_cache(); Insert(100, 101, 1); std::string result1; Cache::Handle* h1 = cache()->lookup(EncodeKey(&result1, 100)); @@ -260,7 +219,6 @@ TEST_F(CacheTest, EntriesArePinned) { } TEST_F(CacheTest, EvictionPolicy) { - init_size_cache(); Insert(100, 101, 1); Insert(200, 201, 1); @@ -276,7 +234,6 @@ TEST_F(CacheTest, EvictionPolicy) { } TEST_F(CacheTest, EvictionPolicyWithDurable) { - init_size_cache(); Insert(100, 101, 1); InsertDurable(200, 201, 1); Insert(300, 101, 1); @@ -293,6 +250,20 @@ TEST_F(CacheTest, EvictionPolicyWithDurable) { EXPECT_EQ(201, Lookup(200)); } +static void insert_LRUCache(LRUCache& cache, const CacheKey& key, int value, + CachePriority priority) { + uint32_t hash = key.hash(key.data(), key.size(), 0); + auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); + cache.release(cache.insert(key, hash, cache_value, value, priority)); +} + +static void insert_number_LRUCache(LRUCache& cache, const CacheKey& key, int value, int charge, + CachePriority priority) { + uint32_t hash = key.hash(key.data(), key.size(), 0); + auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); + cache.release(cache.insert(key, hash, cache_value, charge, priority)); +} + TEST_F(CacheTest, Usage) { LRUCache cache(LRUCacheType::SIZE); cache.set_capacity(1040); @@ -492,7 +463,6 @@ TEST_F(CacheTest, Number) { } TEST_F(CacheTest, HeavyEntries) { - init_size_cache(); // Add a bunch of light and heavy entries and then count the combined // size of items still in the cache, which must be approximately the // same as the total capacity. @@ -524,14 +494,12 @@ TEST_F(CacheTest, HeavyEntries) { } TEST_F(CacheTest, NewId) { - init_size_cache(); uint64_t a = cache()->new_id(); uint64_t b = cache()->new_id(); EXPECT_NE(a, b); } TEST_F(CacheTest, SimpleBenchmark) { - init_size_cache(); for (int i = 0; i < kCacheSize * LOOP_LESS_OR_MORE(10, 10000); i++) { Insert(1000 + i, 2000 + i, 1); EXPECT_EQ(2000 + i, Lookup(1000 + i)); @@ -630,78 +598,4 @@ TEST(CacheHandleTest, HandleTableTest) { } } -TEST_F(CacheTest, SetCapacity) { - init_number_cache(); - for (int i = 0; i < kCacheSize; i++) { - Insert(i, 1000 + i, 1); - EXPECT_EQ(1000 + i, Lookup(i)); - } - ASSERT_EQ(kCacheSize, cache()->get_capacity()); - ASSERT_EQ(kCacheSize, cache()->get_usage()); - - int64_t prune_num = cache()->adjust_capacity_weighted(2); - ASSERT_EQ(prune_num, 0); - ASSERT_EQ(kCacheSize * 2, cache()->get_capacity()); - ASSERT_EQ(kCacheSize, cache()->get_usage()); - - prune_num = cache()->adjust_capacity_weighted(0.5); - ASSERT_EQ(prune_num, kCacheSize / 2); - ASSERT_EQ(kCacheSize / 2, cache()->get_capacity()); - ASSERT_EQ(kCacheSize / 2, cache()->get_usage()); - - std::vector handles(kCacheSize, nullptr); - for (int i = 0; i < kCacheSize; i++) { - std::string result; - CacheKey cache_key = EncodeKey(&result, kCacheSize + i); - auto* cache_value = new CacheValueWithKey(DecodeKey(cache_key), EncodeValue(i)); - handles[i] = cache()->insert(cache_key, cache_value, 1, 1); - } - ASSERT_EQ(kCacheSize / 2, cache()->get_capacity()); - ASSERT_EQ(kCacheSize, - cache()->get_usage()); // Handle not be released, so key cannot be evicted. - - for (int i = 0; i < kCacheSize; i++) { - Insert(i + kCacheSize, 2000 + i, 1); - EXPECT_EQ(-1, Lookup(i + kCacheSize)); // Cache is full, insert failed. - } - ASSERT_EQ(kCacheSize / 2, cache()->get_capacity()); - ASSERT_EQ(kCacheSize, cache()->get_usage()); - - cache()->adjust_capacity_weighted(2); - ASSERT_EQ(kCacheSize * 2, cache()->get_capacity()); - ASSERT_EQ(kCacheSize, cache()->get_usage()); - - for (int i = 0; i < kCacheSize; i++) { - Insert(i, 3000 + i, 1); - EXPECT_EQ(3000 + i, Lookup(i)); - } - ASSERT_EQ(kCacheSize * 2, cache()->get_capacity()); - ASSERT_EQ(kCacheSize * 2, cache()->get_usage()); - - cache()->adjust_capacity_weighted(0); - ASSERT_EQ(0, cache()->get_capacity()); - ASSERT_EQ(kCacheSize, cache()->get_usage()); - - for (auto it : handles) { - cache()->release(it); - } - ASSERT_EQ(0, cache()->get_capacity()); - ASSERT_EQ(0, cache()->get_usage()); - - cache()->adjust_capacity_weighted(1); - ASSERT_EQ(kCacheSize, cache()->get_capacity()); - ASSERT_EQ(0, cache()->get_usage()); - - cache()->adjust_capacity_weighted(0); - ASSERT_EQ(0, cache()->get_capacity()); - ASSERT_EQ(0, cache()->get_usage()); - - for (int i = 0; i < kCacheSize; i++) { - Insert(i, 4000 + i, 1); - EXPECT_EQ(-1, Lookup(i)); - } - ASSERT_EQ(0, cache()->get_capacity()); - ASSERT_EQ(0, cache()->get_usage()); -} - } // namespace doris From 5392cb13dfbb582cd726c8a6aeb3e33a01f0d1eb Mon Sep 17 00:00:00 2001 From: zhangdong <493738387@qq.com> Date: Mon, 9 Sep 2024 19:06:18 +0800 Subject: [PATCH 128/199] [fix](mtmv)fix nested mtmv not refresh (#40433) fix nested mtmv not refresh because the partition version remains unchanged after inserting overwrite for the underlying materialized view we add partitionId in snapshot --- .../org/apache/doris/catalog/OlapTable.java | 3 +- .../mtmv/MTMVRefreshPartitionSnapshot.java | 45 +++++++++++- .../doris/mtmv/MTMVVersionSnapshot.java | 25 ++++++- .../data/mtmv_p0/test_multi_level_mtmv.out | 11 +++ .../test_upgrade_downgrade_olap_mtmv.out | 9 +++ .../mtmv_p0/test_multi_level_mtmv.groovy | 16 +++++ .../suites/mtmv_up_down_olap_p0/load.groovy | 71 +++++++++++++++++++ .../test_upgrade_downgrade_olap_mtmv.groovy | 32 +++++++++ 8 files changed, 208 insertions(+), 4 deletions(-) create mode 100644 regression-test/data/mtmv_up_down_olap_p0/test_upgrade_downgrade_olap_mtmv.out create mode 100644 regression-test/suites/mtmv_up_down_olap_p0/load.groovy create mode 100644 regression-test/suites/mtmv_up_down_olap_p0/test_upgrade_downgrade_olap_mtmv.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java index a60da71b299328..2f5eb35ad757fb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java @@ -3147,9 +3147,10 @@ public List getPartitionColumns() { public MTMVSnapshotIf getPartitionSnapshot(String partitionName, MTMVRefreshContext context) throws AnalysisException { Map partitionVersions = context.getBaseVersions().getPartitionVersions(); + long partitionId = getPartitionOrAnalysisException(partitionName).getId(); long visibleVersion = partitionVersions.containsKey(partitionName) ? partitionVersions.get(partitionName) : getPartitionOrAnalysisException(partitionName).getVisibleVersion(); - return new MTMVVersionSnapshot(visibleVersion); + return new MTMVVersionSnapshot(visibleVersion, partitionId); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRefreshPartitionSnapshot.java b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRefreshPartitionSnapshot.java index 63bbfc2e037084..fa17ed766661d0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRefreshPartitionSnapshot.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRefreshPartitionSnapshot.java @@ -18,6 +18,9 @@ package org.apache.doris.mtmv; import org.apache.doris.catalog.MTMV; +import org.apache.doris.catalog.OlapTable; +import org.apache.doris.catalog.Partition; +import org.apache.doris.common.AnalysisException; import com.google.common.collect.Maps; import com.google.gson.annotations.SerializedName; @@ -74,6 +77,46 @@ public String toString() { } public void compatible(MTMV mtmv) { + try { + // snapshot add partitionId resolve problem of insert overwrite + compatiblePartitions(mtmv); + } catch (Throwable e) { + LOG.warn("MTMV compatiblePartitions failed, mtmv: {}", mtmv.getName(), e); + } + try { + // change table id to BaseTableInfo + compatibleTables(mtmv); + } catch (Throwable e) { + LOG.warn("MTMV compatibleTables failed, mtmv: {}", mtmv.getName(), e); + } + } + + private void compatiblePartitions(MTMV mtmv) throws AnalysisException { + if (!checkHasDataWithoutPartitionId()) { + return; + } + OlapTable relatedTable = (OlapTable) mtmv.getMvPartitionInfo().getRelatedTable(); + for (Entry entry : partitions.entrySet()) { + MTMVVersionSnapshot versionSnapshot = (MTMVVersionSnapshot) entry.getValue(); + if (versionSnapshot.getId() == 0) { + Partition partition = relatedTable.getPartition(entry.getKey()); + if (partition != null) { + (versionSnapshot).setId(partition.getId()); + } + } + } + } + + private boolean checkHasDataWithoutPartitionId() { + for (MTMVSnapshotIf snapshot : partitions.values()) { + if (snapshot instanceof MTMVVersionSnapshot && ((MTMVVersionSnapshot) snapshot).getId() == 0) { + return true; + } + } + return false; + } + + private void compatibleTables(MTMV mtmv) { if (tables.size() == tablesInfo.size()) { return; } @@ -87,7 +130,7 @@ public void compatible(MTMV mtmv) { if (tableInfo.isPresent()) { tablesInfo.put(tableInfo.get(), entry.getValue()); } else { - LOG.warn("MTMV compatible failed, tableId: {}, relationTables: {}", entry.getKey(), + LOG.warn("MTMV compatibleTables failed, tableId: {}, relationTables: {}", entry.getKey(), relation.getBaseTablesOneLevel()); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVVersionSnapshot.java b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVVersionSnapshot.java index 0eb7860bc54ee0..2440649462ebf3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVVersionSnapshot.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVVersionSnapshot.java @@ -24,10 +24,30 @@ public class MTMVVersionSnapshot implements MTMVSnapshotIf { @SerializedName("v") private long version; + // The partition version after insert overwrite is 1, + // which may cause the upper level materialized view to be unaware of changes in the data at the bottom level. + // However, the partition ID after overwrite will change, so the partition ID should be added. + // only for partition, table will always 0 + @SerializedName("id") + private long id; + public MTMVVersionSnapshot(long version) { this.version = version; } + public MTMVVersionSnapshot(long version, long id) { + this.version = version; + this.id = id; + } + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -37,18 +57,19 @@ public boolean equals(Object o) { return false; } MTMVVersionSnapshot that = (MTMVVersionSnapshot) o; - return version == that.version; + return version == that.version && id == that.id; } @Override public int hashCode() { - return Objects.hashCode(version); + return Objects.hashCode(version, id); } @Override public String toString() { return "MTMVVersionSnapshot{" + "version=" + version + + ", id=" + id + '}'; } } diff --git a/regression-test/data/mtmv_p0/test_multi_level_mtmv.out b/regression-test/data/mtmv_p0/test_multi_level_mtmv.out index 7543b21ffa7bbc..7d44e381cc8fc2 100644 --- a/regression-test/data/mtmv_p0/test_multi_level_mtmv.out +++ b/regression-test/data/mtmv_p0/test_multi_level_mtmv.out @@ -11,6 +11,17 @@ -- !mv2_should_one_partition -- ["p_2"] +-- !mv1_should_one_partition_again -- +["p_2"] + +-- !mv2_should_one_partition_again -- +["p_2"] + +-- !mv2_again -- +1 1 +2 2 +2 3 + -- !status1 -- multi_level_mtmv1 SCHEMA_CHANGE SUCCESS diff --git a/regression-test/data/mtmv_up_down_olap_p0/test_upgrade_downgrade_olap_mtmv.out b/regression-test/data/mtmv_up_down_olap_p0/test_upgrade_downgrade_olap_mtmv.out new file mode 100644 index 00000000000000..760e94479a82b0 --- /dev/null +++ b/regression-test/data/mtmv_up_down_olap_p0/test_upgrade_downgrade_olap_mtmv.out @@ -0,0 +1,9 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !refresh_init -- +1 2017-01-15 1 +2 2017-02-15 2 +3 2017-03-15 3 + +-- !mtmv_sync -- +true + diff --git a/regression-test/suites/mtmv_p0/test_multi_level_mtmv.groovy b/regression-test/suites/mtmv_p0/test_multi_level_mtmv.groovy index 55689b741489eb..33a876c46d4ef2 100644 --- a/regression-test/suites/mtmv_p0/test_multi_level_mtmv.groovy +++ b/regression-test/suites/mtmv_p0/test_multi_level_mtmv.groovy @@ -87,6 +87,22 @@ suite("test_multi_level_mtmv") { waitingMTMVTaskFinishedByMvName(mv2) order_qt_mv2_should_one_partition "select NeedRefreshPartitions from tasks('type'='mv') where MvName = '${mv2}' order by CreateTime desc limit 1" + // insert into p2 again, check partition version if change + sql """ + INSERT INTO ${tableName} VALUES(2,3); + """ + sql """ + REFRESH MATERIALIZED VIEW ${mv1} AUTO + """ + waitingMTMVTaskFinishedByMvName(mv1) + order_qt_mv1_should_one_partition_again "select NeedRefreshPartitions from tasks('type'='mv') where MvName = '${mv1}' order by CreateTime desc limit 1" + sql """ + REFRESH MATERIALIZED VIEW ${mv2} AUTO + """ + waitingMTMVTaskFinishedByMvName(mv2) + order_qt_mv2_should_one_partition_again "select NeedRefreshPartitions from tasks('type'='mv') where MvName = '${mv2}' order by CreateTime desc limit 1" + order_qt_mv2_again "select * from ${mv2}" + // drop table sql """ drop table ${tableName} diff --git a/regression-test/suites/mtmv_up_down_olap_p0/load.groovy b/regression-test/suites/mtmv_up_down_olap_p0/load.groovy new file mode 100644 index 00000000000000..f909b33064d457 --- /dev/null +++ b/regression-test/suites/mtmv_up_down_olap_p0/load.groovy @@ -0,0 +1,71 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_upgrade_downgrade_prepare_olap_mtmv","p0,mtmv,restart_fe") { + String suiteName = "mtmv_up_down_olap" + String mvName = "${suiteName}_mtmv" + String tableName = "${suiteName}_table" + String tableName2 = "${suiteName}_table2" + + sql """drop materialized view if exists ${mvName};""" + sql """drop table if exists `${tableName}`""" + sql """drop table if exists `${tableName2}`""" + + sql """ + CREATE TABLE `${tableName}` ( + `user_id` LARGEINT NOT NULL COMMENT '\"用户id\"', + `date` DATE NOT NULL COMMENT '\"数据灌入日期时间\"', + `num` SMALLINT NOT NULL COMMENT '\"数量\"' + ) ENGINE=OLAP + DUPLICATE KEY(`user_id`, `date`, `num`) + COMMENT 'OLAP' + PARTITION BY RANGE(`date`) + (PARTITION p201701_1000 VALUES [('0000-01-01'), ('2017-02-01')), + PARTITION p201702_2000 VALUES [('2017-02-01'), ('2017-03-01')), + PARTITION p201703_all VALUES [('2017-03-01'), ('2017-04-01'))) + DISTRIBUTED BY HASH(`user_id`) BUCKETS 2 + PROPERTIES ('replication_num' = '1') ; + """ + sql """ + insert into ${tableName} values(1,"2017-01-15",1),(2,"2017-02-15",2),(3,"2017-03-15",3); + """ + + sql """ + CREATE TABLE `${tableName2}` ( + `user_id` LARGEINT NOT NULL COMMENT '\"用户id\"', + `age` SMALLINT NOT NULL COMMENT '\"年龄\"' + ) ENGINE=OLAP + DUPLICATE KEY(`user_id`, `age`) + COMMENT 'OLAP' + DISTRIBUTED BY HASH(`user_id`) BUCKETS 2 + PROPERTIES ('replication_num' = '1') ; + """ + sql """ + insert into ${tableName2} values(1,1),(2,2),(3,3); + """ + + sql """ + CREATE MATERIALIZED VIEW ${mvName} + REFRESH AUTO ON MANUAL + partition by(`date`) + DISTRIBUTED BY RANDOM BUCKETS 2 + PROPERTIES ('replication_num' = '1') + AS + SELECT a.* FROM ${tableName} a inner join ${tableName2} b on a.user_id=b.user_id; + """ + waitingMTMVTaskFinishedByMvName(mvName) +} diff --git a/regression-test/suites/mtmv_up_down_olap_p0/test_upgrade_downgrade_olap_mtmv.groovy b/regression-test/suites/mtmv_up_down_olap_p0/test_upgrade_downgrade_olap_mtmv.groovy new file mode 100644 index 00000000000000..253908ff4ae8ce --- /dev/null +++ b/regression-test/suites/mtmv_up_down_olap_p0/test_upgrade_downgrade_olap_mtmv.groovy @@ -0,0 +1,32 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_upgrade_downgrade_olap_mtmv","p0,mtmv,restart_fe") { + String suiteName = "mtmv_up_down_olap" + String dbName = context.config.getDbNameByFile(context.file) + String mvName = "${suiteName}_mtmv" + String tableName = "${suiteName}_table" + // test data is normal + order_qt_refresh_init "SELECT * FROM ${mvName}" + // test is sync + order_qt_mtmv_sync "select SyncWithBaseTables from mv_infos('database'='${dbName}') where Name='${mvName}'" + sql """ + REFRESH MATERIALIZED VIEW ${mvName} complete + """ + // test can refresh success + waitingMTMVTaskFinishedByMvName(mvName) +} From 0d3374bea554c7b4140f56666fb11dad7424b609 Mon Sep 17 00:00:00 2001 From: minghong Date: Mon, 9 Sep 2024 20:17:56 +0800 Subject: [PATCH 129/199] [opt](nereids) tabe row count priority: user injected > BE report > analyzed (#40529) ## Proposed changes there are 2 sources for table row count, one is analyzed result, another is from BE report. But neither of them is accurate. the priorities of them from high to low: user injected > BE report > analyzed Issue Number: close #xxx --- .../doris/nereids/stats/StatsCalculator.java | 50 ++++++++++--------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java index 9ea5811502293a..5946192a27eff9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java @@ -364,19 +364,28 @@ private void checkIfUnknownStatsUsedAsKey(StatisticsBuilder builder) { } } - private Statistics computeOlapScan(OlapScan olapScan) { + private double getOlapTableRowCount(OlapScan olapScan) { OlapTable olapTable = olapScan.getTable(); - double tableRowCount = olapTable.getRowCountForIndex(olapScan.getSelectedIndexId(), true); - if (tableRowCount <= 0) { - AnalysisManager analysisManager = Env.getCurrentEnv().getAnalysisManager(); - TableStatsMeta tableMeta = analysisManager.findTableStatsStatus(olapScan.getTable().getId()); - if (tableMeta != null) { - // create-view after analyzing, we may get -1 for this view row count - tableRowCount = Math.max(1, tableMeta.getRowCount(olapScan.getSelectedIndexId())); - } else { - tableRowCount = 1; + AnalysisManager analysisManager = Env.getCurrentEnv().getAnalysisManager(); + TableStatsMeta tableMeta = analysisManager.findTableStatsStatus(olapScan.getTable().getId()); + double rowCount = -1; + if (tableMeta != null && tableMeta.userInjected) { + rowCount = tableMeta.getRowCount(olapScan.getSelectedIndexId()); + } else { + rowCount = olapTable.getRowCountForIndex(olapScan.getSelectedIndexId(), true); + if (rowCount == -1) { + if (tableMeta != null) { + rowCount = tableMeta.getRowCount(olapScan.getSelectedIndexId()); + } } } + return rowCount; + } + + private Statistics computeOlapScan(OlapScan olapScan) { + OlapTable olapTable = olapScan.getTable(); + double tableRowCount = getOlapTableRowCount(olapScan); + tableRowCount = Math.max(1, tableRowCount); if (olapScan.getSelectedIndexId() != olapScan.getTable().getBaseIndexId() || olapTable instanceof MTMV) { // mv is selected, return its estimated stats @@ -441,10 +450,13 @@ private Statistics computeOlapScan(OlapScan olapScan) { } } + boolean useTableLevelStats = true; if (olapScan.getSelectedPartitionIds().size() < olapScan.getTable().getPartitionNum()) { // partition pruned + // try to use selected partition stats, if failed, fall back to table stats double selectedPartitionsRowCount = getSelectedPartitionRowCount(olapScan); - if (selectedPartitionsRowCount > 0) { + if (selectedPartitionsRowCount >= 0) { + useTableLevelStats = false; List selectedPartitionNames = new ArrayList<>(olapScan.getSelectedPartitionIds().size()); olapScan.getSelectedPartitionIds().forEach(id -> { selectedPartitionNames.add(olapScan.getTable().getPartition(id).getName()); @@ -458,19 +470,11 @@ private Statistics computeOlapScan(OlapScan olapScan) { } checkIfUnknownStatsUsedAsKey(builder); builder.setRowCount(selectedPartitionsRowCount + deltaRowCount); - } else { - // if partition row count is invalid (-1), fallback to table stats - for (SlotReference slot : visibleOutputSlots) { - ColumnStatistic cache = getColumnStatsFromTableCache((CatalogRelation) olapScan, slot); - ColumnStatisticBuilder colStatsBuilder = new ColumnStatisticBuilder(cache); - colStatsBuilder.setCount(tableRowCount); - colStatsBuilder.normalizeAvgSizeByte(slot); - builder.putColumnStatistics(slot, colStatsBuilder.build()); - } - checkIfUnknownStatsUsedAsKey(builder); - builder.setRowCount(tableRowCount + deltaRowCount); } - } else { + } + // 1. no partition is pruned, or + // 2. fall back to table stats + if (useTableLevelStats) { // get table level stats for (SlotReference slot : visibleOutputSlots) { ColumnStatistic cache = getColumnStatsFromTableCache((CatalogRelation) olapScan, slot); From 258ec3db385ae82c5b37e27f7c19e993092fb242 Mon Sep 17 00:00:00 2001 From: hui lai <1353307710@qq.com> Date: Mon, 9 Sep 2024 23:47:39 +0800 Subject: [PATCH 130/199] [fix](cloud) should do check before abort transaction (#40463) When routine load task transaction is abort, it should do check before abort transaction, otherwise, it may cause concurrent modifications to the `routineLoadTaskInfoList`, which in the Java language may result in elements in the list being null, leading to a loop throwing NullPointerException during scheduling and making it impossible to schedule routine load task to consume Kafka stream. --- .../transaction/CloudGlobalTransactionMgr.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java index f51454ad269c51..f224d2929a65c1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java @@ -990,6 +990,20 @@ public void abortTransaction(Long dbId, Long transactionId, String reason, TxnCommitAttachment txnCommitAttachment, List
tableList) throws UserException { LOG.info("try to abort transaction, dbId:{}, transactionId:{}", dbId, transactionId); + if (txnCommitAttachment != null) { + if (txnCommitAttachment instanceof RLTaskTxnCommitAttachment) { + RLTaskTxnCommitAttachment rlTaskTxnCommitAttachment = (RLTaskTxnCommitAttachment) txnCommitAttachment; + TxnStateChangeCallback cb = callbackFactory.getCallback(rlTaskTxnCommitAttachment.getJobId()); + if (cb != null) { + // use a temporary transaction state to do before commit check, + // what actually works is the transactionId + TransactionState tmpTxnState = new TransactionState(); + tmpTxnState.setTransactionId(transactionId); + cb.beforeAborted(tmpTxnState); + } + } + } + AbortTxnRequest.Builder builder = AbortTxnRequest.newBuilder(); builder.setDbId(dbId); builder.setTxnId(transactionId); From f91463c2d308688743fd314892b326244e1e1e4e Mon Sep 17 00:00:00 2001 From: Xin Liao Date: Tue, 10 Sep 2024 10:44:17 +0800 Subject: [PATCH 131/199] [Fix](regression-test) fix error url check in test_etl_failed case for cloud p0 (#40298) --- .../suites/load_p0/broker_load/test_etl_failed.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regression-test/suites/load_p0/broker_load/test_etl_failed.groovy b/regression-test/suites/load_p0/broker_load/test_etl_failed.groovy index 4049fdadb1f1f8..70d2a42166dac0 100644 --- a/regression-test/suites/load_p0/broker_load/test_etl_failed.groovy +++ b/regression-test/suites/load_p0/broker_load/test_etl_failed.groovy @@ -67,7 +67,7 @@ suite("test_etl_failed", "load_p0") { assertTrue(1 == 2, "etl should be failed") break; } - if (result[0][2].equals("CANCELLED") && result[0][13].contains("_load_error_log")) { + if (result[0][2].equals("CANCELLED") && result[0][13].contains("error_log")) { break; } Thread.sleep(1000) From 5f1fe8143d18a8dc676aa58c9cc739c2c5a0e291 Mon Sep 17 00:00:00 2001 From: zhiqiang Date: Tue, 10 Sep 2024 11:00:56 +0800 Subject: [PATCH 132/199] [fix](scanner) Fix deadlock when scanner submit failed (#40495) We have dead lock when submit scanner to scheduler failed. pstack looks like ```txt Thread 2012 (Thread 0x7f87363fb700 (LWP 4179707) "Pipe_normal [wo"): #0 0x00007f8b8f3dc82d in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007f8b8f3d5ad9 in pthread_mutex_lock () from /lib64/libpthread.so.0 #2 0x000055b20f333e7a in __gthread_mutex_lock (__mutex=0x7f8733d960a8) at /mnt/disk1/hezhiqiang/toolchains/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11/bits/gthr-default .h:749 #3 std::mutex::lock (this=0x7f8733d960a8) at /mnt/disk1/hezhiqiang/toolchains/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_mutex.h:100 #4 std::lock_guard::lock_guard (__m=..., this=) at /mnt/disk1/hezhiqiang/toolchains/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/std_mutex.h:229 #5 doris::vectorized::ScannerContext::append_block_to_queue (this=, scan_task=...) at /mnt/disk1/hezhiqiang/doris/be/src/vec/exec/scan/scanner_context.cpp:234 #6 0x000055b20f32c0f9 in doris::vectorized::ScannerScheduler::submit (this=, ctx=..., scan_task=...) at /mnt/disk1/hezhiqiang/doris/be/src/vec/exec/scan/scanner_scheduler.cpp:209 #7 0x000055b20f3338fc in doris::vectorized::ScannerContext::submit_scan_task (this=this@entry=0x7f8733d96010, scan_task=...) at /mnt/disk1/hezhiqiang/doris/be/src/vec/exec/scan/scanner_context.cpp:217 #8 0x000055b20f3346cd in doris::vectorized::ScannerContext::get_block_from_queue (this=0x7f8733d96010, state=, block=0x7f871f728de0, eos=0x7f871abce470, id=) at /mnt/disk1/hezhiqiang/doris/be/src/vec/exec/scan/scanner_context.cpp:290 #9 0x000055b214cb4f13 in doris::pipeline::ScanOperatorX::get_block (this=, state=0x7f872f0eb400, block=0x7f8b8f3dc82d <__lll_lock_wait+29>, eos=0x7f871abce470) at /mnt/disk1/hezhiqiang/doris/be/src/pipeline/exec/scan_operator.cpp:1292 #10 0x000055b2142b5772 in doris::pipeline::ScanOperatorX::get_block_after_projects (this=0x80, state=0x0, block=0x7f8b8f3dc82d <__lll_lock_wait+29>, eos=0x7f8733d960a8) at /mnt/disk1/hezhiqiang/doris/be/src/pipeline/exec/scan_operator.h:363 #11 0x000055b2142e7880 in doris::pipeline::StatefulOperatorX::get_block (this=0x7f871f9bee00, state=0x7f872f0eb400, block=0x7f8716d49060, eos=0x7f87363f4937) at /mnt/disk1/hezhiqiang/doris/be/src/pipeline/exec/operator.cpp:587 ``` Deallock happens with following ```cpp Status ScannerContext::get_block_from_queue { std::unique_lock l(_transfer_lock); ... if (scan_task->is_eos()) { ... } else { // resubmit current running scanner to read the next block submit_scan_task(scan_task); } } ScannerContext::submit_scan_task(std::shared_ptr scan_task) { _scanner_scheduler->submit(shared_from_this(), scan_task); } void ScannerScheduler::submit(std::shared_ptr ctx, std::shared_ptr scan_task) { ... if (auto ret = sumbit_task(); !ret) { scan_task->set_status(Status::InternalError( "Failed to submit scanner to scanner pool reason:" + std::string(ret.msg()) + "|type:" + std::to_string(type))); ctx->append_block_to_queue(scan_task); return; } } void ScannerContext::append_block_to_queue(std::shared_ptr scan_task) { ... std::lock_guard l(_transfer_lock); ... } ``` Since mutex in cpp is not re-enterable, so the scanner thread will deadlock with itself. This pr fix the problem by making `ScannerScheduler::submit` return a Status instead of doing append failed task to the ScannerContext. The caller itself will decide where resubmit the scanner or just abort the execution of the query. --- be/src/vec/exec/scan/scanner_context.cpp | 44 ++++++++++++++++------ be/src/vec/exec/scan/scanner_context.h | 4 +- be/src/vec/exec/scan/scanner_scheduler.cpp | 31 ++++++++------- be/src/vec/exec/scan/scanner_scheduler.h | 2 +- 4 files changed, 53 insertions(+), 28 deletions(-) diff --git a/be/src/vec/exec/scan/scanner_context.cpp b/be/src/vec/exec/scan/scanner_context.cpp index 5cc20c214c103b..cbb3d0f572365b 100644 --- a/be/src/vec/exec/scan/scanner_context.cpp +++ b/be/src/vec/exec/scan/scanner_context.cpp @@ -152,7 +152,7 @@ Status ScannerContext::init() { for (int i = 0; i < _max_thread_num; ++i) { std::weak_ptr next_scanner; if (_scanners.try_dequeue(next_scanner)) { - submit_scan_task(std::make_shared(next_scanner)); + RETURN_IF_ERROR(submit_scan_task(std::make_shared(next_scanner))); _num_running_scanners++; } } @@ -196,10 +196,10 @@ bool ScannerContext::empty_in_queue(int id) { return _blocks_queue.empty(); } -void ScannerContext::submit_scan_task(std::shared_ptr scan_task) { +Status ScannerContext::submit_scan_task(std::shared_ptr scan_task) { _scanner_sched_counter->update(1); _num_scheduled_scanners++; - _scanner_scheduler->submit(shared_from_this(), scan_task); + return _scanner_scheduler->submit(shared_from_this(), scan_task); } void ScannerContext::append_block_to_queue(std::shared_ptr scan_task) { @@ -247,10 +247,15 @@ Status ScannerContext::get_block_from_queue(RuntimeState* state, vectorized::Blo auto scan_task = _blocks_queue.front(); DCHECK(scan_task); + // The abnormal status of scanner may come from the execution of the scanner itself, + // or come from the scanner scheduler, such as TooManyTasks. if (!scan_task->status_ok()) { + // TODO: If the scanner status is TooManyTasks, maybe we can retry the scanner after a while. + _process_status = scan_task->get_status(); _set_scanner_done(); - return scan_task->get_status(); + return _process_status; } + if (!scan_task->cached_blocks.empty()) { auto [current_block, block_size] = std::move(scan_task->cached_blocks.front()); scan_task->cached_blocks.pop_front(); @@ -263,13 +268,20 @@ Status ScannerContext::get_block_from_queue(RuntimeState* state, vectorized::Blo block->swap(*current_block); return_free_block(std::move(current_block)); } else { + // This scan task do not have any cached blocks. _blocks_queue.pop_front(); - if (scan_task->is_eos()) { // current scanner is finished, and no more data to read + // current scanner is finished, and no more data to read + if (scan_task->is_eos()) { _num_finished_scanners++; std::weak_ptr next_scanner; // submit one of the remaining scanners if (_scanners.try_dequeue(next_scanner)) { - submit_scan_task(std::make_shared(next_scanner)); + auto submit_status = submit_scan_task(std::make_shared(next_scanner)); + if (!submit_status.ok()) { + _process_status = submit_status; + _set_scanner_done(); + return _process_status; + } } else { // no more scanner to be scheduled // `_free_blocks` serve all running scanners, maybe it's too large for the remaining scanners @@ -284,11 +296,16 @@ Status ScannerContext::get_block_from_queue(RuntimeState* state, vectorized::Blo } } else { // resubmit current running scanner to read the next block - submit_scan_task(scan_task); + Status submit_status = submit_scan_task(scan_task); + if (!submit_status.ok()) { + _process_status = submit_status; + _set_scanner_done(); + return _process_status; + } } } // scale up - _try_to_scale_up(); + RETURN_IF_ERROR(_try_to_scale_up()); } if (_num_finished_scanners == _all_scanners.size() && _blocks_queue.empty()) { @@ -303,7 +320,7 @@ Status ScannerContext::get_block_from_queue(RuntimeState* state, vectorized::Blo return Status::OK(); } -void ScannerContext::_try_to_scale_up() { +Status ScannerContext::_try_to_scale_up() { // Four criteria to determine whether to increase the parallelism of the scanners // 1. It ran for at least `SCALE_UP_DURATION` ms after last scale up // 2. Half(`WAIT_BLOCK_DURATION_RATIO`) of the duration is waiting to get blocks @@ -320,7 +337,7 @@ void ScannerContext::_try_to_scale_up() { // when _last_wait_duration_ratio > 0, it has scaled up before. // we need to determine if the scale-up is effective: // the wait duration ratio after last scaling up should less than 80% of `_last_wait_duration_ratio` - return; + return Status::OK(); } bool is_scale_up = false; @@ -335,7 +352,10 @@ void ScannerContext::_try_to_scale_up() { // get enough memory to launch one more scanner. std::weak_ptr scale_up_scanner; if (_scanners.try_dequeue(scale_up_scanner)) { - submit_scan_task(std::make_shared(scale_up_scanner)); + // Just return error to caller. + // Because _try_to_scale_up is called under _transfer_lock locked, if we add the scanner + // to the block queue, we will get a deadlock. + RETURN_IF_ERROR(submit_scan_task(std::make_shared(scale_up_scanner))); _num_running_scanners++; _scale_up_scanners_counter->update(1); is_scale_up = true; @@ -350,6 +370,8 @@ void ScannerContext::_try_to_scale_up() { _total_wait_block_time = 0; } } + + return Status::OK(); } Status ScannerContext::validate_block_schema(Block* block) { diff --git a/be/src/vec/exec/scan/scanner_context.h b/be/src/vec/exec/scan/scanner_context.h index f93d01eef88427..03c4e5a4f1bba7 100644 --- a/be/src/vec/exec/scan/scanner_context.h +++ b/be/src/vec/exec/scan/scanner_context.h @@ -139,7 +139,7 @@ class ScannerContext : public std::enable_shared_from_this, // set the next scanned block to `ScanTask::current_block` // set the error state to `ScanTask::status` // set the `eos` to `ScanTask::eos` if there is no more data in current scanner - void submit_scan_task(std::shared_ptr scan_task); + Status submit_scan_task(std::shared_ptr scan_task); // append the running scanner and its cached block to `_blocks_queue` void append_block_to_queue(std::shared_ptr scan_task); @@ -186,7 +186,7 @@ class ScannerContext : public std::enable_shared_from_this, /// 3. `_free_blocks_memory_usage` < `_max_bytes_in_queue`, remains enough memory to scale up /// 4. At most scale up `MAX_SCALE_UP_RATIO` times to `_max_thread_num` void _set_scanner_done(); - void _try_to_scale_up(); + Status _try_to_scale_up(); RuntimeState* _state = nullptr; pipeline::ScanLocalStateBase* _local_state = nullptr; diff --git a/be/src/vec/exec/scan/scanner_scheduler.cpp b/be/src/vec/exec/scan/scanner_scheduler.cpp index e30983932ee244..444ff4dbb0cd9f 100644 --- a/be/src/vec/exec/scan/scanner_scheduler.cpp +++ b/be/src/vec/exec/scan/scanner_scheduler.cpp @@ -120,23 +120,23 @@ Status ScannerScheduler::init(ExecEnv* env) { return Status::OK(); } -void ScannerScheduler::submit(std::shared_ptr ctx, - std::shared_ptr scan_task) { +Status ScannerScheduler::submit(std::shared_ptr ctx, + std::shared_ptr scan_task) { scan_task->last_submit_time = GetCurrentTimeNanos(); if (ctx->done()) { - return; + return Status::OK(); } auto task_lock = ctx->task_exec_ctx(); if (task_lock == nullptr) { LOG(INFO) << "could not lock task execution context, query " << ctx->debug_string() << " maybe finished"; - return; + return Status::OK(); } if (ctx->thread_token != nullptr) { std::shared_ptr scanner_delegate = scan_task->scanner.lock(); if (scanner_delegate == nullptr) { - return; + return Status::OK(); } scanner_delegate->_scanner->start_wait_worker_timer(); @@ -153,13 +153,12 @@ void ScannerScheduler::submit(std::shared_ptr ctx, }); if (!s.ok()) { scan_task->set_status(s); - ctx->append_block_to_queue(scan_task); - return; + return s; } } else { std::shared_ptr scanner_delegate = scan_task->scanner.lock(); if (scanner_delegate == nullptr) { - return; + return Status::OK(); } scanner_delegate->_scanner->start_wait_worker_timer(); @@ -187,14 +186,18 @@ void ScannerScheduler::submit(std::shared_ptr ctx, return scan_sched->submit_scan_task(simple_scan_task); }; - if (auto ret = sumbit_task(); !ret) { - scan_task->set_status(Status::InternalError( - "Failed to submit scanner to scanner pool reason:" + std::string(ret.msg()) + - "|type:" + std::to_string(type))); - ctx->append_block_to_queue(scan_task); - return; + Status submit_status = sumbit_task(); + if (!submit_status.ok()) { + // User will see TooManyTasks error. It looks like a more reasonable error. + Status scan_task_status = Status::TooManyTasks( + "Failed to submit scanner to scanner pool reason:" + + std::string(submit_status.msg()) + "|type:" + std::to_string(type)); + scan_task->set_status(scan_task_status); + return scan_task_status; } } + + return Status::OK(); } std::unique_ptr ScannerScheduler::new_limited_scan_pool_token( diff --git a/be/src/vec/exec/scan/scanner_scheduler.h b/be/src/vec/exec/scan/scanner_scheduler.h index ddc61396e23f15..439291f2107185 100644 --- a/be/src/vec/exec/scan/scanner_scheduler.h +++ b/be/src/vec/exec/scan/scanner_scheduler.h @@ -57,7 +57,7 @@ class ScannerScheduler { [[nodiscard]] Status init(ExecEnv* env); - void submit(std::shared_ptr ctx, std::shared_ptr scan_task); + Status submit(std::shared_ptr ctx, std::shared_ptr scan_task); void stop(); From 140008fd0e6ff47e2613d5d0bc69fb33d1ce856f Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Tue, 10 Sep 2024 11:03:25 +0800 Subject: [PATCH 133/199] [opt](memory) Refactor memory maintenance thread (retry) (#40551) step 1. Refresh process memory metrics. step 2. Refresh allocator memory metrics. step 3. Update and print memory stat when the memory changes by 256M. step 4. Asyn Refresh cache capacity step 5. Cancel top memory task when process memory exceed hard limit. step 6. Refresh weighted memory ratio of workload groups. step 7. Analyze blocking queries. step 8. Flush memtable. step 9. Jemalloc purge all arena dirty pages. `memory_maintenance_thread` execute once cost: - 3ms (cluster idle) - 20ms (cluster high concurrency, CPU full) `memory_maintenance_thread` CPU usage: - 10%-20% (default memory_maintenance_sleep_time_ms=20ms) - 20%-30% (memory_maintenance_sleep_time_ms=10ms) - 30%+ (memory_maintenance_sleep_time_ms=5ms) --- be/src/common/config.cpp | 14 +- be/src/common/config.h | 9 +- be/src/common/daemon.cpp | 195 +++++++++++++----- be/src/common/daemon.h | 2 +- be/src/olap/lru_cache.cpp | 81 +++++++- be/src/olap/lru_cache.h | 28 +-- be/src/runtime/memory/cache_manager.cpp | 21 +- be/src/runtime/memory/cache_manager.h | 3 + be/src/runtime/memory/cache_policy.cpp | 8 +- be/src/runtime/memory/cache_policy.h | 28 ++- .../memory/global_memory_arbitrator.cpp | 7 + .../runtime/memory/global_memory_arbitrator.h | 17 ++ be/src/runtime/memory/lru_cache_policy.h | 95 ++++++--- be/src/runtime/memory/mem_tracker_limiter.cpp | 6 +- be/src/runtime/memory/memory_reclamation.cpp | 12 -- be/src/service/point_query_executor.cpp | 6 + be/src/service/point_query_executor.h | 5 +- be/src/vec/common/allocator.cpp | 3 - be/test/olap/lru_cache_test.cpp | 144 +++++++++++-- 19 files changed, 521 insertions(+), 163 deletions(-) diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp index 00f8a042cbcbb7..0c00bd1a38f0da 100644 --- a/be/src/common/config.cpp +++ b/be/src/common/config.cpp @@ -95,6 +95,9 @@ DEFINE_String(mem_limit, "90%"); // Soft memory limit as a fraction of hard memory limit. DEFINE_Double(soft_mem_limit_frac, "0.9"); +// Cache capacity reduce mem limit as a fraction of soft mem limit. +DEFINE_mDouble(cache_capacity_reduce_mem_limit_frac, "0.6"); + // Schema change memory limit as a fraction of soft memory limit. DEFINE_Double(schema_change_mem_limit_frac, "0.6"); @@ -286,7 +289,7 @@ DEFINE_mInt32(exchg_buffer_queue_capacity_factor, "64"); DEFINE_mInt64(memory_limitation_per_thread_for_schema_change_bytes, "2147483648"); DEFINE_mInt32(cache_prune_interval_sec, "10"); -DEFINE_mInt32(cache_periodic_prune_stale_sweep_sec, "300"); +DEFINE_mInt32(cache_periodic_prune_stale_sweep_sec, "60"); // the clean interval of tablet lookup cache DEFINE_mInt32(tablet_lookup_cache_stale_sweep_time_sec, "30"); DEFINE_mInt32(point_query_row_cache_stale_sweep_time_sec, "300"); @@ -565,7 +568,7 @@ DEFINE_String(pprof_profile_dir, "${DORIS_HOME}/log"); // for jeprofile in jemalloc DEFINE_mString(jeprofile_dir, "${DORIS_HOME}/log"); DEFINE_mBool(enable_je_purge_dirty_pages, "true"); -DEFINE_mString(je_dirty_pages_mem_limit_percent, "5%"); +DEFINE_mString(je_dirty_pages_mem_limit_percent, "2%"); // to forward compatibility, will be removed later DEFINE_mBool(enable_token_check, "true"); @@ -582,17 +585,12 @@ DEFINE_Int32(num_cores, "0"); DEFINE_Bool(ignore_broken_disk, "false"); // Sleep time in milliseconds between memory maintenance iterations -DEFINE_mInt32(memory_maintenance_sleep_time_ms, "100"); +DEFINE_mInt32(memory_maintenance_sleep_time_ms, "20"); // After full gc, no longer full gc and minor gc during sleep. // After minor gc, no minor gc during sleep, but full gc is possible. DEFINE_mInt32(memory_gc_sleep_time_ms, "500"); -// Sleep time in milliseconds between memtbale flush mgr refresh iterations -DEFINE_mInt64(memtable_mem_tracker_refresh_interval_ms, "5"); - -DEFINE_mInt64(wg_weighted_memory_ratio_refresh_interval_ms, "50"); - // percent of (active memtables size / all memtables size) when reach hard limit DEFINE_mInt32(memtable_hard_limit_active_percent, "50"); diff --git a/be/src/common/config.h b/be/src/common/config.h index bd2aa4f51be1a9..720f4f72cb4bf7 100644 --- a/be/src/common/config.h +++ b/be/src/common/config.h @@ -133,6 +133,9 @@ DECLARE_String(mem_limit); // Soft memory limit as a fraction of hard memory limit. DECLARE_Double(soft_mem_limit_frac); +// Cache capacity reduce mem limit as a fraction of soft mem limit. +DECLARE_mDouble(cache_capacity_reduce_mem_limit_frac); + // Schema change memory limit as a fraction of soft memory limit. DECLARE_Double(schema_change_mem_limit_frac); @@ -641,12 +644,6 @@ DECLARE_mInt32(memory_maintenance_sleep_time_ms); // After minor gc, no minor gc during sleep, but full gc is possible. DECLARE_mInt32(memory_gc_sleep_time_ms); -// Sleep time in milliseconds between memtbale flush mgr memory refresh iterations -DECLARE_mInt64(memtable_mem_tracker_refresh_interval_ms); - -// Sleep time in milliseconds between refresh iterations of workload group weighted memory ratio -DECLARE_mInt64(wg_weighted_memory_ratio_refresh_interval_ms); - // percent of (active memtables size / all memtables size) when reach hard limit DECLARE_mInt32(memtable_hard_limit_active_percent); diff --git a/be/src/common/daemon.cpp b/be/src/common/daemon.cpp index d8245f4045ce81..713813b4a334f9 100644 --- a/be/src/common/daemon.cpp +++ b/be/src/common/daemon.cpp @@ -73,6 +73,12 @@ namespace doris { namespace { +int64_t last_print_proc_mem = 0; +int32_t refresh_cache_capacity_sleep_time_ms = 0; +#ifdef USE_JEMALLOC +int32_t je_purge_dirty_pages_sleep_time_ms = 0; +#endif + void update_rowsets_and_segments_num_metrics() { if (config::is_cloud_mode()) { // TODO(plat1ko): CloudStorageEngine @@ -204,42 +210,104 @@ void Daemon::tcmalloc_gc_thread() { #endif } -void Daemon::memory_maintenance_thread() { - int32_t interval_milliseconds = config::memory_maintenance_sleep_time_ms; - int64_t last_print_proc_mem = PerfCounters::get_vm_rss(); - while (!_stop_background_threads_latch.wait_for( - std::chrono::milliseconds(interval_milliseconds))) { - // Refresh process memory metrics. - doris::PerfCounters::refresh_proc_status(); - doris::MemInfo::refresh_proc_meminfo(); - doris::GlobalMemoryArbitrator::reset_refresh_interval_memory_growth(); - ExecEnv::GetInstance()->brpc_iobuf_block_memory_tracker()->set_consumption( - butil::IOBuf::block_memory()); - // Refresh allocator memory metrics. +void refresh_process_memory_metrics() { + doris::PerfCounters::refresh_proc_status(); + doris::MemInfo::refresh_proc_meminfo(); + doris::GlobalMemoryArbitrator::reset_refresh_interval_memory_growth(); + ExecEnv::GetInstance()->brpc_iobuf_block_memory_tracker()->set_consumption( + butil::IOBuf::block_memory()); +} + +void refresh_common_allocator_metrics() { #if !defined(ADDRESS_SANITIZER) && !defined(LEAK_SANITIZER) && !defined(THREAD_SANITIZER) - doris::MemInfo::refresh_allocator_mem(); -#ifdef USE_JEMALLOC - if (doris::MemInfo::je_dirty_pages_mem() > doris::MemInfo::je_dirty_pages_mem_limit() && - GlobalMemoryArbitrator::is_exceed_soft_mem_limit()) { - doris::MemInfo::notify_je_purge_dirty_pages(); - } + doris::MemInfo::refresh_allocator_mem(); + if (config::enable_system_metrics) { + DorisMetrics::instance()->system_metrics()->update_allocator_metrics(); + } #endif - if (config::enable_system_metrics) { - DorisMetrics::instance()->system_metrics()->update_allocator_metrics(); + MemInfo::refresh_memory_bvar(); +} + +void refresh_memory_state_after_memory_change() { + if (abs(last_print_proc_mem - PerfCounters::get_vm_rss()) > 268435456) { + last_print_proc_mem = PerfCounters::get_vm_rss(); + doris::MemTrackerLimiter::clean_tracker_limiter_group(); + doris::MemTrackerLimiter::enable_print_log_process_usage(); + // Refresh mem tracker each type counter. + doris::MemTrackerLimiter::refresh_global_counter(); + LOG(INFO) << doris::GlobalMemoryArbitrator:: + process_mem_log_str(); // print mem log when memory state by 256M + } +} + +void refresh_cache_capacity() { + if (refresh_cache_capacity_sleep_time_ms <= 0) { + auto cache_capacity_reduce_mem_limit = uint64_t( + doris::MemInfo::soft_mem_limit() * config::cache_capacity_reduce_mem_limit_frac); + int64_t process_memory_usage = doris::GlobalMemoryArbitrator::process_memory_usage(); + double new_cache_capacity_adjust_weighted = + process_memory_usage <= cache_capacity_reduce_mem_limit + ? 1 + : std::min( + 1 - (process_memory_usage - cache_capacity_reduce_mem_limit) / + (doris::MemInfo::soft_mem_limit() - + cache_capacity_reduce_mem_limit), + 0); + if (new_cache_capacity_adjust_weighted != + doris::GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted) { + doris::GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted = + new_cache_capacity_adjust_weighted; + doris::GlobalMemoryArbitrator::notify_cache_adjust_capacity(); + refresh_cache_capacity_sleep_time_ms = config::memory_gc_sleep_time_ms; } + } + refresh_cache_capacity_sleep_time_ms -= config::memory_maintenance_sleep_time_ms; +} + +void je_purge_dirty_pages() { +#ifdef USE_JEMALLOC + if (je_purge_dirty_pages_sleep_time_ms <= 0 && + doris::MemInfo::je_dirty_pages_mem() > doris::MemInfo::je_dirty_pages_mem_limit() && + GlobalMemoryArbitrator::is_exceed_soft_mem_limit()) { + doris::MemInfo::notify_je_purge_dirty_pages(); + je_purge_dirty_pages_sleep_time_ms = config::memory_gc_sleep_time_ms; + } + je_purge_dirty_pages_sleep_time_ms -= config::memory_maintenance_sleep_time_ms; #endif - MemInfo::refresh_memory_bvar(); - - // Update and print memory stat when the memory changes by 256M. - if (abs(last_print_proc_mem - PerfCounters::get_vm_rss()) > 268435456) { - last_print_proc_mem = PerfCounters::get_vm_rss(); - doris::MemTrackerLimiter::clean_tracker_limiter_group(); - doris::MemTrackerLimiter::enable_print_log_process_usage(); - // Refresh mem tracker each type counter. - doris::MemTrackerLimiter::refresh_global_counter(); - LOG(INFO) << doris::GlobalMemoryArbitrator:: - process_mem_log_str(); // print mem log when memory state by 256M - } +} + +void Daemon::memory_maintenance_thread() { + while (!_stop_background_threads_latch.wait_for( + std::chrono::milliseconds(config::memory_maintenance_sleep_time_ms))) { + // step 1. Refresh process memory metrics. + refresh_process_memory_metrics(); + + // step 2. Refresh jemalloc/tcmalloc metrics. + refresh_common_allocator_metrics(); + + // step 3. Update and print memory stat when the memory changes by 256M. + refresh_memory_state_after_memory_change(); + + // step 4. Asyn Refresh cache capacity + // TODO adjust cache capacity based on smoothstep (smooth gradient). + refresh_cache_capacity(); + + // step 5. Cancel top memory task when process memory exceed hard limit. + // TODO replace memory_gc_thread. + + // step 6. Refresh weighted memory ratio of workload groups. + doris::ExecEnv::GetInstance()->workload_group_mgr()->refresh_wg_weighted_memory_limit(); + + // step 7. Analyze blocking queries. + // TODO sort the operators that can spill, wake up the pipeline task spill + // or continue execution according to certain rules or cancel query. + + // step 8. Flush memtable + doris::GlobalMemoryArbitrator::notify_memtable_memory_refresh(); + // TODO notify flush memtable + + // step 9. Jemalloc purge all arena dirty pages + je_purge_dirty_pages(); } } @@ -301,10 +369,21 @@ void Daemon::memory_gc_thread() { void Daemon::memtable_memory_refresh_thread() { // Refresh the memory statistics of the load channel tracker more frequently, // which helps to accurately control the memory of LoadChannelMgr. - while (!_stop_background_threads_latch.wait_for( - std::chrono::milliseconds(config::memtable_mem_tracker_refresh_interval_ms))) { + do { + std::unique_lock l(doris::GlobalMemoryArbitrator::memtable_memory_refresh_lock); + while (_stop_background_threads_latch.count() != 0 && + !doris::GlobalMemoryArbitrator::memtable_memory_refresh_notify.load( + std::memory_order_relaxed)) { + doris::GlobalMemoryArbitrator::memtable_memory_refresh_cv.wait_for( + l, std::chrono::seconds(1)); + } + if (_stop_background_threads_latch.count() == 0) { + break; + } doris::ExecEnv::GetInstance()->memtable_memory_limiter()->refresh_mem_tracker(); - } + doris::GlobalMemoryArbitrator::memtable_memory_refresh_notify.store( + false, std::memory_order_relaxed); + } while (true); } /* @@ -396,6 +475,35 @@ void Daemon::je_purge_dirty_pages_thread() const { } while (true); } +void Daemon::cache_adjust_capacity_thread() { + do { + std::unique_lock l(doris::GlobalMemoryArbitrator::cache_adjust_capacity_lock); + while (_stop_background_threads_latch.count() != 0 && + !doris::GlobalMemoryArbitrator::cache_adjust_capacity_notify.load( + std::memory_order_relaxed)) { + doris::GlobalMemoryArbitrator::cache_adjust_capacity_cv.wait_for( + l, std::chrono::seconds(1)); + } + double adjust_weighted = GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted; + if (_stop_background_threads_latch.count() == 0) { + break; + } + if (config::disable_memory_gc) { + continue; + } + std::unique_ptr profile = std::make_unique(""); + auto freed_mem = CacheManager::instance()->for_each_cache_refresh_capacity(adjust_weighted, + profile.get()); + std::stringstream ss; + profile->pretty_print(&ss); + LOG(INFO) << fmt::format( + "[MemoryGC] refresh cache capacity end, free memory {}, details: {}", + PrettyPrinter::print(freed_mem, TUnit::BYTES), ss.str()); + doris::GlobalMemoryArbitrator::cache_adjust_capacity_notify.store( + false, std::memory_order_relaxed); + } while (true); +} + void Daemon::cache_prune_stale_thread() { int32_t interval = config::cache_periodic_prune_stale_sweep_sec; while (!_stop_background_threads_latch.wait_for(std::chrono::seconds(interval))) { @@ -411,14 +519,6 @@ void Daemon::cache_prune_stale_thread() { } } -void Daemon::wg_weighted_memory_ratio_refresh_thread() { - // Refresh weighted memory ratio of workload groups - while (!_stop_background_threads_latch.wait_for( - std::chrono::milliseconds(config::wg_weighted_memory_ratio_refresh_interval_ms))) { - doris::ExecEnv::GetInstance()->workload_group_mgr()->refresh_wg_weighted_memory_limit(); - } -} - void Daemon::be_proc_monitor_thread() { while (!_stop_background_threads_latch.wait_for( std::chrono::milliseconds(config::be_proc_monitor_interval_ms))) { @@ -455,6 +555,10 @@ void Daemon::start() { "Daemon", "je_purge_dirty_pages_thread", [this]() { this->je_purge_dirty_pages_thread(); }, &_threads.emplace_back()); CHECK(st.ok()) << st; + st = Thread::create( + "Daemon", "cache_adjust_capacity_thread", + [this]() { this->cache_adjust_capacity_thread(); }, &_threads.emplace_back()); + CHECK(st.ok()) << st; st = Thread::create( "Daemon", "cache_prune_stale_thread", [this]() { this->cache_prune_stale_thread(); }, &_threads.emplace_back()); @@ -464,11 +568,6 @@ void Daemon::start() { [this]() { this->report_runtime_query_statistics_thread(); }, &_threads.emplace_back()); CHECK(st.ok()) << st; - st = Thread::create( - "Daemon", "wg_weighted_memory_ratio_refresh_thread", - [this]() { this->wg_weighted_memory_ratio_refresh_thread(); }, - &_threads.emplace_back()); - if (config::enable_be_proc_monitor) { st = Thread::create( "Daemon", "be_proc_monitor_thread", [this]() { this->be_proc_monitor_thread(); }, diff --git a/be/src/common/daemon.h b/be/src/common/daemon.h index 64c9f0c8993ae3..fe723877dcd027 100644 --- a/be/src/common/daemon.h +++ b/be/src/common/daemon.h @@ -43,9 +43,9 @@ class Daemon { void memtable_memory_refresh_thread(); void calculate_metrics_thread(); void je_purge_dirty_pages_thread() const; + void cache_adjust_capacity_thread(); void cache_prune_stale_thread(); void report_runtime_query_statistics_thread(); - void wg_weighted_memory_ratio_refresh_thread(); void be_proc_monitor_thread(); CountDownLatch _stop_background_threads_latch; diff --git a/be/src/olap/lru_cache.cpp b/be/src/olap/lru_cache.cpp index 741c2423915ede..6e5bb2fa31578f 100644 --- a/be/src/olap/lru_cache.cpp +++ b/be/src/olap/lru_cache.cpp @@ -177,6 +177,51 @@ LRUCache::~LRUCache() { prune(); } +PrunedInfo LRUCache::set_capacity(size_t capacity) { + LRUHandle* last_ref_list = nullptr; + { + std::lock_guard l(_mutex); + _capacity = capacity; + _evict_from_lru(0, &last_ref_list); + } + + int64_t pruned_count = 0; + int64_t pruned_size = 0; + while (last_ref_list != nullptr) { + ++pruned_count; + pruned_size += last_ref_list->total_size; + LRUHandle* next = last_ref_list->next; + last_ref_list->free(); + last_ref_list = next; + } + return {pruned_count, pruned_size}; +} + +uint64_t LRUCache::get_lookup_count() { + std::lock_guard l(_mutex); + return _lookup_count; +} + +uint64_t LRUCache::get_hit_count() { + std::lock_guard l(_mutex); + return _hit_count; +} + +size_t LRUCache::get_usage() { + std::lock_guard l(_mutex); + return _usage; +} + +size_t LRUCache::get_capacity() { + std::lock_guard l(_mutex); + return _capacity; +} + +size_t LRUCache::get_element_count() { + std::lock_guard l(_mutex); + return _table.element_count(); +} + bool LRUCache::_unref(LRUHandle* e) { DCHECK(e->refs > 0); e->refs--; @@ -515,19 +560,19 @@ inline uint32_t ShardedLRUCache::_hash_slice(const CacheKey& s) { return s.hash(s.data(), s.size(), 0); } -ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, +ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, uint32_t num_shards, uint32_t total_element_count_capacity) : _name(name), _num_shard_bits(Bits::FindLSBSetNonZero(num_shards)), _num_shards(num_shards), _shards(nullptr), _last_id(1), - _total_capacity(total_capacity) { + _capacity(capacity) { CHECK(num_shards > 0) << "num_shards cannot be 0"; CHECK_EQ((num_shards & (num_shards - 1)), 0) << "num_shards should be power of two, but got " << num_shards; - const size_t per_shard = (total_capacity + (_num_shards - 1)) / _num_shards; + const size_t per_shard = (capacity + (_num_shards - 1)) / _num_shards; const size_t per_shard_element_count_capacity = (total_element_count_capacity + (_num_shards - 1)) / _num_shards; LRUCache** shards = new (std::nothrow) LRUCache*[_num_shards]; @@ -557,12 +602,12 @@ ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t total_capacity, "doris_cache", _name + "_persecond", _lookup_count_bvar.get(), 60)); } -ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, +ShardedLRUCache::ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, uint32_t num_shards, CacheValueTimeExtractor cache_value_time_extractor, bool cache_value_check_timestamp, uint32_t total_element_count_capacity) - : ShardedLRUCache(name, total_capacity, type, num_shards, total_element_count_capacity) { + : ShardedLRUCache(name, capacity, type, num_shards, total_element_count_capacity) { for (int s = 0; s < _num_shards; s++) { _shards[s]->set_cache_value_time_extractor(cache_value_time_extractor); _shards[s]->set_cache_value_check_timestamp(cache_value_check_timestamp); @@ -580,6 +625,24 @@ ShardedLRUCache::~ShardedLRUCache() { } } +PrunedInfo ShardedLRUCache::set_capacity(size_t capacity) { + std::lock_guard l(_mutex); + PrunedInfo pruned_info; + const size_t per_shard = (capacity + (_num_shards - 1)) / _num_shards; + for (int s = 0; s < _num_shards; s++) { + PrunedInfo info = _shards[s]->set_capacity(per_shard); + pruned_info.pruned_count += info.pruned_count; + pruned_info.pruned_size += info.pruned_size; + } + _capacity = capacity; + return pruned_info; +} + +size_t ShardedLRUCache::get_capacity() { + std::lock_guard l(_mutex); + return _capacity; +} + Cache::Handle* ShardedLRUCache::insert(const CacheKey& key, void* value, size_t charge, CachePriority priority) { const uint32_t hash = _hash_slice(key); @@ -638,25 +701,25 @@ int64_t ShardedLRUCache::get_usage() { } void ShardedLRUCache::update_cache_metrics() const { - size_t total_capacity = 0; + size_t capacity = 0; size_t total_usage = 0; size_t total_lookup_count = 0; size_t total_hit_count = 0; size_t total_element_count = 0; for (int i = 0; i < _num_shards; i++) { - total_capacity += _shards[i]->get_capacity(); + capacity += _shards[i]->get_capacity(); total_usage += _shards[i]->get_usage(); total_lookup_count += _shards[i]->get_lookup_count(); total_hit_count += _shards[i]->get_hit_count(); total_element_count += _shards[i]->get_element_count(); } - cache_capacity->set_value(total_capacity); + cache_capacity->set_value(capacity); cache_usage->set_value(total_usage); cache_element_count->set_value(total_element_count); cache_lookup_count->set_value(total_lookup_count); cache_hit_count->set_value(total_hit_count); - cache_usage_ratio->set_value(total_capacity == 0 ? 0 : ((double)total_usage / total_capacity)); + cache_usage_ratio->set_value(capacity == 0 ? 0 : ((double)total_usage / capacity)); cache_hit_ratio->set_value( total_lookup_count == 0 ? 0 : ((double)total_hit_count / total_lookup_count)); } diff --git a/be/src/olap/lru_cache.h b/be/src/olap/lru_cache.h index 059020deab58f5..de7084382d7398 100644 --- a/be/src/olap/lru_cache.h +++ b/be/src/olap/lru_cache.h @@ -227,7 +227,8 @@ class Cache { virtual int64_t get_usage() = 0; - virtual size_t get_total_capacity() = 0; + virtual PrunedInfo set_capacity(size_t capacity) = 0; + virtual size_t get_capacity() = 0; private: DISALLOW_COPY_AND_ASSIGN(Cache); @@ -327,7 +328,7 @@ class LRUCache { ~LRUCache(); // Separate from constructor so caller can easily make an array of LRUCache - void set_capacity(size_t capacity) { _capacity = capacity; } + PrunedInfo set_capacity(size_t capacity); void set_element_count_capacity(uint32_t element_count_capacity) { _element_count_capacity = element_count_capacity; } @@ -345,11 +346,11 @@ class LRUCache { void set_cache_value_time_extractor(CacheValueTimeExtractor cache_value_time_extractor); void set_cache_value_check_timestamp(bool cache_value_check_timestamp); - uint64_t get_lookup_count() const { return _lookup_count; } - uint64_t get_hit_count() const { return _hit_count; } - size_t get_usage() const { return _usage; } - size_t get_capacity() const { return _capacity; } - size_t get_element_count() const { return _table.element_count(); } + uint64_t get_lookup_count(); + uint64_t get_hit_count(); + size_t get_usage(); + size_t get_capacity(); + size_t get_element_count(); private: void _lru_remove(LRUHandle* e); @@ -403,15 +404,16 @@ class ShardedLRUCache : public Cache { PrunedInfo prune() override; PrunedInfo prune_if(CachePrunePredicate pred, bool lazy_mode = false) override; int64_t get_usage() override; - size_t get_total_capacity() override { return _total_capacity; }; + PrunedInfo set_capacity(size_t capacity) override; + size_t get_capacity() override; private: // LRUCache can only be created and managed with LRUCachePolicy. friend class LRUCachePolicy; - explicit ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, + explicit ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, uint32_t num_shards, uint32_t element_count_capacity); - explicit ShardedLRUCache(const std::string& name, size_t total_capacity, LRUCacheType type, + explicit ShardedLRUCache(const std::string& name, size_t capacity, LRUCacheType type, uint32_t num_shards, CacheValueTimeExtractor cache_value_time_extractor, bool cache_value_check_timestamp, uint32_t element_count_capacity); @@ -429,7 +431,8 @@ class ShardedLRUCache : public Cache { const uint32_t _num_shards; LRUCache** _shards = nullptr; std::atomic _last_id; - size_t _total_capacity; + std::mutex _mutex; + size_t _capacity {0}; std::shared_ptr _entity; IntGauge* cache_capacity = nullptr; @@ -462,7 +465,8 @@ class DummyLRUCache : public Cache { return {0, 0}; }; int64_t get_usage() override { return 0; }; - size_t get_total_capacity() override { return 0; }; + PrunedInfo set_capacity(size_t capacity) override { return {0, 0}; }; + size_t get_capacity() override { return 0; }; }; } // namespace doris diff --git a/be/src/runtime/memory/cache_manager.cpp b/be/src/runtime/memory/cache_manager.cpp index a6516c40a35770..ec57ffba50d318 100644 --- a/be/src/runtime/memory/cache_manager.cpp +++ b/be/src/runtime/memory/cache_manager.cpp @@ -59,11 +59,26 @@ int64_t CacheManager::for_each_cache_prune_all(RuntimeProfile* profile, bool for int64_t CacheManager::cache_prune_all(CachePolicy::CacheType type, bool force) { std::lock_guard l(_caches_lock); auto* cache_policy = _caches[type]; - if (!cache_policy->enable_prune()) { - return -1; - } cache_policy->prune_all(force); return cache_policy->profile()->get_counter("FreedMemory")->value(); } +int64_t CacheManager::for_each_cache_refresh_capacity(double adjust_weighted, + RuntimeProfile* profile) { + int64_t freed_size = 0; + std::lock_guard l(_caches_lock); + for (const auto& pair : _caches) { + auto* cache_policy = pair.second; + if (!cache_policy->enable_prune()) { + continue; + } + cache_policy->adjust_capacity_weighted(adjust_weighted); + freed_size += cache_policy->profile()->get_counter("FreedMemory")->value(); + if (cache_policy->profile()->get_counter("FreedMemory")->value() != 0 && profile) { + profile->add_child(cache_policy->profile(), true, nullptr); + } + } + return freed_size; +} + } // namespace doris diff --git a/be/src/runtime/memory/cache_manager.h b/be/src/runtime/memory/cache_manager.h index d94dca501670bf..a2a089b929dbdf 100644 --- a/be/src/runtime/memory/cache_manager.h +++ b/be/src/runtime/memory/cache_manager.h @@ -81,6 +81,9 @@ class CacheManager { return false; } + int64_t for_each_cache_refresh_capacity(double adjust_weighted, + RuntimeProfile* profile = nullptr); + private: std::mutex _caches_lock; std::unordered_map _caches; diff --git a/be/src/runtime/memory/cache_policy.cpp b/be/src/runtime/memory/cache_policy.cpp index 4e50d64d88eed1..46b9db1b35ad5f 100644 --- a/be/src/runtime/memory/cache_policy.cpp +++ b/be/src/runtime/memory/cache_policy.cpp @@ -21,8 +21,12 @@ namespace doris { -CachePolicy::CachePolicy(CacheType type, uint32_t stale_sweep_time_s, bool enable_prune) - : _type(type), _stale_sweep_time_s(stale_sweep_time_s), _enable_prune(enable_prune) { +CachePolicy::CachePolicy(CacheType type, size_t capacity, uint32_t stale_sweep_time_s, + bool enable_prune) + : _type(type), + _initial_capacity(capacity), + _stale_sweep_time_s(stale_sweep_time_s), + _enable_prune(enable_prune) { CacheManager::instance()->register_cache(this); init_profile(); } diff --git a/be/src/runtime/memory/cache_policy.h b/be/src/runtime/memory/cache_policy.h index c457afd86898f2..c43ca0b2fb7e0a 100644 --- a/be/src/runtime/memory/cache_policy.h +++ b/be/src/runtime/memory/cache_policy.h @@ -17,13 +17,12 @@ #pragma once -#include "runtime/exec_env.h" #include "util/runtime_profile.h" namespace doris { -static constexpr int32_t CACHE_MIN_FREE_SIZE = 67108864; // 64M -static constexpr int32_t CACHE_MIN_FREE_NUMBER = 1024; +static constexpr int32_t CACHE_MIN_PRUNE_SIZE = 67108864; // 64M +static constexpr int32_t CACHE_MIN_PRUNE_NUMBER = 1024; // Base of all caches. register to CacheManager when cache is constructed. class CachePolicy { @@ -42,12 +41,13 @@ class CachePolicy { TABLET_VERSION_CACHE = 10, LAST_SUCCESS_CHANNEL_CACHE = 11, COMMON_OBJ_LRU_CACHE = 12, - FOR_UT = 13, + FOR_UT_CACHE_SIZE = 13, TABLET_SCHEMA_CACHE = 14, CREATE_TABLET_RR_IDX_CACHE = 15, CLOUD_TABLET_CACHE = 16, CLOUD_TXN_DELETE_BITMAP_CACHE = 17, NONE = 18, // not be used + FOR_UT_CACHE_NUMBER = 19, }; static std::string type_string(CacheType type) { @@ -78,8 +78,8 @@ class CachePolicy { return "LastSuccessChannelCache"; case CacheType::COMMON_OBJ_LRU_CACHE: return "CommonObjLRUCache"; - case CacheType::FOR_UT: - return "ForUT"; + case CacheType::FOR_UT_CACHE_SIZE: + return "ForUTCacheSize"; case CacheType::TABLET_SCHEMA_CACHE: return "TabletSchemaCache"; case CacheType::CREATE_TABLET_RR_IDX_CACHE: @@ -88,6 +88,8 @@ class CachePolicy { return "CloudTabletCache"; case CacheType::CLOUD_TXN_DELETE_BITMAP_CACHE: return "CloudTxnDeleteBitmapCache"; + case CacheType::FOR_UT_CACHE_NUMBER: + return "ForUTCacheNumber"; default: LOG(FATAL) << "not match type of cache policy :" << static_cast(type); } @@ -109,11 +111,12 @@ class CachePolicy { {"MowTabletVersionCache", CacheType::TABLET_VERSION_CACHE}, {"LastSuccessChannelCache", CacheType::LAST_SUCCESS_CHANNEL_CACHE}, {"CommonObjLRUCache", CacheType::COMMON_OBJ_LRU_CACHE}, - {"ForUT", CacheType::FOR_UT}, + {"ForUTCacheSize", CacheType::FOR_UT_CACHE_SIZE}, {"TabletSchemaCache", CacheType::TABLET_SCHEMA_CACHE}, {"CreateTabletRRIdxCache", CacheType::CREATE_TABLET_RR_IDX_CACHE}, {"CloudTabletCache", CacheType::CLOUD_TABLET_CACHE}, - {"CloudTxnDeleteBitmapCache", CacheType::CLOUD_TXN_DELETE_BITMAP_CACHE}}; + {"CloudTxnDeleteBitmapCache", CacheType::CLOUD_TXN_DELETE_BITMAP_CACHE}, + {"ForUTCacheNumber", CacheType::FOR_UT_CACHE_NUMBER}}; static CacheType string_to_type(std::string type) { if (StringToType.contains(type)) { @@ -123,13 +126,16 @@ class CachePolicy { } } - CachePolicy(CacheType type, uint32_t stale_sweep_time_s, bool enable_prune); + CachePolicy(CacheType type, size_t capacity, uint32_t stale_sweep_time_s, bool enable_prune); virtual ~CachePolicy(); virtual void prune_stale() = 0; virtual void prune_all(bool force) = 0; + virtual int64_t adjust_capacity_weighted(double adjust_weighted) = 0; + virtual size_t get_capacity() = 0; CacheType type() { return _type; } + size_t initial_capacity() const { return _initial_capacity; } bool enable_prune() const { return _enable_prune; } RuntimeProfile* profile() { return _profile.get(); } @@ -139,16 +145,20 @@ class CachePolicy { std::make_unique(fmt::format("Cache type={}", type_string(_type))); _prune_stale_number_counter = ADD_COUNTER(_profile, "PruneStaleNumber", TUnit::UNIT); _prune_all_number_counter = ADD_COUNTER(_profile, "PruneAllNumber", TUnit::UNIT); + _adjust_capacity_weighted_number_counter = + ADD_COUNTER(_profile, "SetCapacityNumber", TUnit::UNIT); _freed_memory_counter = ADD_COUNTER(_profile, "FreedMemory", TUnit::BYTES); _freed_entrys_counter = ADD_COUNTER(_profile, "FreedEntrys", TUnit::UNIT); _cost_timer = ADD_TIMER(_profile, "CostTime"); } CacheType _type; + size_t _initial_capacity {0}; std::unique_ptr _profile; RuntimeProfile::Counter* _prune_stale_number_counter = nullptr; RuntimeProfile::Counter* _prune_all_number_counter = nullptr; + RuntimeProfile::Counter* _adjust_capacity_weighted_number_counter = nullptr; // Reset before each gc RuntimeProfile::Counter* _freed_memory_counter = nullptr; RuntimeProfile::Counter* _freed_entrys_counter = nullptr; diff --git a/be/src/runtime/memory/global_memory_arbitrator.cpp b/be/src/runtime/memory/global_memory_arbitrator.cpp index 344bcbc59846d9..76a414a6ebdc74 100644 --- a/be/src/runtime/memory/global_memory_arbitrator.cpp +++ b/be/src/runtime/memory/global_memory_arbitrator.cpp @@ -38,6 +38,13 @@ bvar::PassiveStatus g_sys_mem_avail( std::atomic GlobalMemoryArbitrator::_s_process_reserved_memory = 0; std::atomic GlobalMemoryArbitrator::refresh_interval_memory_growth = 0; +std::mutex GlobalMemoryArbitrator::cache_adjust_capacity_lock; +std::condition_variable GlobalMemoryArbitrator::cache_adjust_capacity_cv; +std::atomic GlobalMemoryArbitrator::cache_adjust_capacity_notify {false}; +std::atomic GlobalMemoryArbitrator::last_cache_capacity_adjust_weighted {1}; +std::mutex GlobalMemoryArbitrator::memtable_memory_refresh_lock; +std::condition_variable GlobalMemoryArbitrator::memtable_memory_refresh_cv; +std::atomic GlobalMemoryArbitrator::memtable_memory_refresh_notify {false}; bool GlobalMemoryArbitrator::try_reserve_process_memory(int64_t bytes) { if (sys_mem_available() - bytes < MemInfo::sys_mem_available_warning_water_mark()) { diff --git a/be/src/runtime/memory/global_memory_arbitrator.h b/be/src/runtime/memory/global_memory_arbitrator.h index f8fda18d0e9a0c..5fbcf232ce4d24 100644 --- a/be/src/runtime/memory/global_memory_arbitrator.h +++ b/be/src/runtime/memory/global_memory_arbitrator.h @@ -173,6 +173,23 @@ class GlobalMemoryArbitrator { // avoid multiple threads starting at the same time and causing OOM. static std::atomic refresh_interval_memory_growth; + static std::mutex cache_adjust_capacity_lock; + static std::condition_variable cache_adjust_capacity_cv; + static std::atomic cache_adjust_capacity_notify; + static std::atomic last_cache_capacity_adjust_weighted; + static void notify_cache_adjust_capacity() { + cache_adjust_capacity_notify.store(true, std::memory_order_relaxed); + cache_adjust_capacity_cv.notify_all(); + } + + static std::mutex memtable_memory_refresh_lock; + static std::condition_variable memtable_memory_refresh_cv; + static std::atomic memtable_memory_refresh_notify; + static void notify_memtable_memory_refresh() { + memtable_memory_refresh_notify.store(true, std::memory_order_relaxed); + memtable_memory_refresh_cv.notify_all(); + } + private: static std::atomic _s_process_reserved_memory; diff --git a/be/src/runtime/memory/lru_cache_policy.h b/be/src/runtime/memory/lru_cache_policy.h index 1b6c9ead6d0086..419825c85c4538 100644 --- a/be/src/runtime/memory/lru_cache_policy.h +++ b/be/src/runtime/memory/lru_cache_policy.h @@ -37,7 +37,8 @@ class LRUCachePolicy : public CachePolicy { uint32_t stale_sweep_time_s, uint32_t num_shards = DEFAULT_LRU_CACHE_NUM_SHARDS, uint32_t element_count_capacity = DEFAULT_LRU_CACHE_ELEMENT_COUNT_CAPACITY, bool enable_prune = true) - : CachePolicy(type, stale_sweep_time_s, enable_prune), _lru_cache_type(lru_cache_type) { + : CachePolicy(type, capacity, stale_sweep_time_s, enable_prune), + _lru_cache_type(lru_cache_type) { if (check_capacity(capacity, num_shards)) { _cache = std::shared_ptr( new ShardedLRUCache(type_string(type), capacity, lru_cache_type, num_shards, @@ -53,7 +54,8 @@ class LRUCachePolicy : public CachePolicy { uint32_t element_count_capacity, CacheValueTimeExtractor cache_value_time_extractor, bool cache_value_check_timestamp, bool enable_prune = true) - : CachePolicy(type, stale_sweep_time_s, enable_prune), _lru_cache_type(lru_cache_type) { + : CachePolicy(type, capacity, stale_sweep_time_s, enable_prune), + _lru_cache_type(lru_cache_type) { if (check_capacity(capacity, num_shards)) { _cache = std::shared_ptr( new ShardedLRUCache(type_string(type), capacity, lru_cache_type, num_shards, @@ -106,18 +108,19 @@ class LRUCachePolicy : public CachePolicy { int64_t get_usage() { return _cache->get_usage(); } - size_t get_total_capacity() { return _cache->get_total_capacity(); } + size_t get_capacity() override { return _cache->get_capacity(); } uint64_t new_id() { return _cache->new_id(); }; // Subclass can override this method to determine whether to do the minor or full gc virtual bool exceed_prune_limit() { - return _lru_cache_type == LRUCacheType::SIZE ? mem_consumption() > CACHE_MIN_FREE_SIZE - : get_usage() > CACHE_MIN_FREE_NUMBER; + return _lru_cache_type == LRUCacheType::SIZE ? mem_consumption() > CACHE_MIN_PRUNE_SIZE + : get_usage() > CACHE_MIN_PRUNE_NUMBER; } // Try to prune the cache if expired. void prune_stale() override { + std::lock_guard l(_lock); COUNTER_SET(_freed_entrys_counter, (int64_t)0); COUNTER_SET(_freed_memory_counter, (int64_t)0); if (_stale_sweep_time_s <= 0 && _cache == ExecEnv::GetInstance()->get_dummy_lru_cache()) { @@ -125,7 +128,6 @@ class LRUCachePolicy : public CachePolicy { } if (exceed_prune_limit()) { COUNTER_SET(_cost_timer, (int64_t)0); - SCOPED_TIMER(_cost_timer); const int64_t curtime = UnixMillis(); auto pred = [this, curtime](const LRUHandle* handle) -> bool { return static_cast((handle->last_visit_time + _stale_sweep_time_s * 1000) < @@ -134,33 +136,38 @@ class LRUCachePolicy : public CachePolicy { LOG(INFO) << fmt::format("[MemoryGC] {} prune stale start, consumption {}, usage {}", type_string(_type), mem_consumption(), get_usage()); - // Prune cache in lazy mode to save cpu and minimize the time holding write lock - PrunedInfo pruned_info = _cache->prune_if(pred, true); - COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); - COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); + { + SCOPED_TIMER(_cost_timer); + // Prune cache in lazy mode to save cpu and minimize the time holding write lock + PrunedInfo pruned_info = _cache->prune_if(pred, true); + COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); + COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); + } COUNTER_UPDATE(_prune_stale_number_counter, 1); LOG(INFO) << fmt::format( - "[MemoryGC] {} prune stale {} entries, {} bytes, {} times prune", + "[MemoryGC] {} prune stale {} entries, {} bytes, cost {}, {} times prune", type_string(_type), _freed_entrys_counter->value(), - _freed_memory_counter->value(), _prune_stale_number_counter->value()); + _freed_memory_counter->value(), _cost_timer->value(), + _prune_stale_number_counter->value()); } else { if (_lru_cache_type == LRUCacheType::SIZE) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune stale, LRUCacheType::SIZE consumption {} " "less " - "than CACHE_MIN_FREE_SIZE {}", - type_string(_type), mem_consumption(), CACHE_MIN_FREE_SIZE); + "than CACHE_MIN_PRUNE_SIZE {}", + type_string(_type), mem_consumption(), CACHE_MIN_PRUNE_SIZE); } else if (_lru_cache_type == LRUCacheType::NUMBER) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune stale, LRUCacheType::NUMBER usage {} less " "than " - "CACHE_MIN_FREE_NUMBER {}", - type_string(_type), get_usage(), CACHE_MIN_FREE_NUMBER); + "CACHE_MIN_PRUNE_NUMBER {}", + type_string(_type), get_usage(), CACHE_MIN_PRUNE_NUMBER); } } } void prune_all(bool force) override { + std::lock_guard l(_lock); COUNTER_SET(_freed_entrys_counter, (int64_t)0); COUNTER_SET(_freed_memory_counter, (int64_t)0); if (_cache == ExecEnv::GetInstance()->get_dummy_lru_cache()) { @@ -168,37 +175,73 @@ class LRUCachePolicy : public CachePolicy { } if ((force && mem_consumption() != 0) || exceed_prune_limit()) { COUNTER_SET(_cost_timer, (int64_t)0); - SCOPED_TIMER(_cost_timer); LOG(INFO) << fmt::format("[MemoryGC] {} prune all start, consumption {}, usage {}", type_string(_type), mem_consumption(), get_usage()); - PrunedInfo pruned_info = _cache->prune(); - COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); - COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); + { + SCOPED_TIMER(_cost_timer); + PrunedInfo pruned_info = _cache->prune(); + COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); + COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); + } COUNTER_UPDATE(_prune_all_number_counter, 1); LOG(INFO) << fmt::format( - "[MemoryGC] {} prune all {} entries, {} bytes, {} times prune, is force: {}", + "[MemoryGC] {} prune all {} entries, {} bytes, cost {}, {} times prune, is " + "force: {}", type_string(_type), _freed_entrys_counter->value(), - _freed_memory_counter->value(), _prune_all_number_counter->value(), force); + _freed_memory_counter->value(), _cost_timer->value(), + _prune_all_number_counter->value(), force); } else { if (_lru_cache_type == LRUCacheType::SIZE) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune all, force is {}, LRUCacheType::SIZE " "consumption {}, " - "CACHE_MIN_FREE_SIZE {}", - type_string(_type), force, mem_consumption(), CACHE_MIN_FREE_SIZE); + "CACHE_MIN_PRUNE_SIZE {}", + type_string(_type), force, mem_consumption(), CACHE_MIN_PRUNE_SIZE); } else if (_lru_cache_type == LRUCacheType::NUMBER) { LOG(INFO) << fmt::format( "[MemoryGC] {} not need prune all, force is {}, LRUCacheType::NUMBER " - "usage {}, CACHE_MIN_FREE_NUMBER {}", - type_string(_type), force, get_usage(), CACHE_MIN_FREE_NUMBER); + "usage {}, CACHE_MIN_PRUNE_NUMBER {}", + type_string(_type), force, get_usage(), CACHE_MIN_PRUNE_NUMBER); } } } + int64_t adjust_capacity_weighted(double adjust_weighted) override { + std::lock_guard l(_lock); + auto capacity = static_cast(_initial_capacity * adjust_weighted); + COUNTER_SET(_freed_entrys_counter, (int64_t)0); + COUNTER_SET(_freed_memory_counter, (int64_t)0); + COUNTER_SET(_cost_timer, (int64_t)0); + if (_cache == ExecEnv::GetInstance()->get_dummy_lru_cache()) { + return 0; + } + + size_t old_capacity = get_capacity(); + int64_t old_mem_consumption = mem_consumption(); + int64_t old_usage = get_usage(); + { + SCOPED_TIMER(_cost_timer); + PrunedInfo pruned_info = _cache->set_capacity(capacity); + COUNTER_SET(_freed_entrys_counter, pruned_info.pruned_count); + COUNTER_SET(_freed_memory_counter, pruned_info.pruned_size); + } + COUNTER_UPDATE(_adjust_capacity_weighted_number_counter, 1); + LOG(INFO) << fmt::format( + "[MemoryGC] {} update capacity, old , " + "adjust_weighted {}, new , prune {} " + "entries, {} bytes, cost {}, {} times prune", + type_string(_type), old_capacity, old_mem_consumption, old_usage, adjust_weighted, + get_capacity(), mem_consumption(), get_usage(), _freed_entrys_counter->value(), + _freed_memory_counter->value(), _cost_timer->value(), + _adjust_capacity_weighted_number_counter->value()); + return _freed_entrys_counter->value(); + } + protected: // if check_capacity failed, will return dummy lru cache, // compatible with ShardedLRUCache usage, but will not actually cache. std::shared_ptr _cache; + std::mutex _lock; LRUCacheType _lru_cache_type; }; diff --git a/be/src/runtime/memory/mem_tracker_limiter.cpp b/be/src/runtime/memory/mem_tracker_limiter.cpp index a8aa44414ebf87..59546b11d51a8a 100644 --- a/be/src/runtime/memory/mem_tracker_limiter.cpp +++ b/be/src/runtime/memory/mem_tracker_limiter.cpp @@ -739,10 +739,10 @@ int64_t MemTrackerLimiter::free_top_overcommit_query( LOG(INFO) << log_prefix << "finished, no task need be canceled."; return 0; } - if (query_consumption.size() == 1) { + if (small_num == 0 && canceling_task.empty() && query_consumption.size() == 1) { auto iter = query_consumption.begin(); - LOG(INFO) << log_prefix << "finished, only one task: " << iter->first - << ", memory consumption: " << iter->second << ", no cancel."; + LOG(INFO) << log_prefix << "finished, only one overcommit task: " << iter->first + << ", memory consumption: " << iter->second << ", no other tasks, so no cancel."; return 0; } diff --git a/be/src/runtime/memory/memory_reclamation.cpp b/be/src/runtime/memory/memory_reclamation.cpp index 3adf1d1ac75718..17f5a41f462b50 100644 --- a/be/src/runtime/memory/memory_reclamation.cpp +++ b/be/src/runtime/memory/memory_reclamation.cpp @@ -37,7 +37,6 @@ bool MemoryReclamation::process_minor_gc(std::string mem_info) { std::unique_ptr profile = std::make_unique(""); Defer defer {[&]() { - MemInfo::notify_je_purge_dirty_pages(); std::stringstream ss; profile->pretty_print(&ss); LOG(INFO) << fmt::format( @@ -46,11 +45,6 @@ bool MemoryReclamation::process_minor_gc(std::string mem_info) { ss.str()); }}; - freed_mem += CacheManager::instance()->for_each_cache_prune_stale(profile.get()); - if (freed_mem > MemInfo::process_minor_gc_size()) { - return true; - } - if (config::enable_workload_group_memory_gc) { RuntimeProfile* tg_profile = profile->create_child("WorkloadGroup", true, true); freed_mem += tg_enable_overcommit_group_gc(MemInfo::process_minor_gc_size() - freed_mem, @@ -87,7 +81,6 @@ bool MemoryReclamation::process_full_gc(std::string mem_info) { std::unique_ptr profile = std::make_unique(""); Defer defer {[&]() { - MemInfo::notify_je_purge_dirty_pages(); std::stringstream ss; profile->pretty_print(&ss); LOG(INFO) << fmt::format( @@ -96,11 +89,6 @@ bool MemoryReclamation::process_full_gc(std::string mem_info) { ss.str()); }}; - freed_mem += CacheManager::instance()->for_each_cache_prune_all(profile.get()); - if (freed_mem > MemInfo::process_full_gc_size()) { - return true; - } - if (config::enable_workload_group_memory_gc) { RuntimeProfile* tg_profile = profile->create_child("WorkloadGroup", true, true); freed_mem += tg_enable_overcommit_group_gc(MemInfo::process_full_gc_size() - freed_mem, diff --git a/be/src/service/point_query_executor.cpp b/be/src/service/point_query_executor.cpp index 8058e1f1be6302..0a27c415a48c0a 100644 --- a/be/src/service/point_query_executor.cpp +++ b/be/src/service/point_query_executor.cpp @@ -234,6 +234,12 @@ void RowCache::erase(const RowCacheKey& key) { LRUCachePolicy::erase(encoded_key); } +LookupConnectionCache::CacheValue::~CacheValue() { + SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER( + ExecEnv::GetInstance()->point_query_executor_mem_tracker()); + item.reset(); +} + PointQueryExecutor::~PointQueryExecutor() { SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER( ExecEnv::GetInstance()->point_query_executor_mem_tracker()); diff --git a/be/src/service/point_query_executor.h b/be/src/service/point_query_executor.h index 19954479c97ec7..6c6fb28f95a378 100644 --- a/be/src/service/point_query_executor.h +++ b/be/src/service/point_query_executor.h @@ -246,8 +246,8 @@ class LookupConnectionCache : public LRUCachePolicyTrackingManual { auto* value = new CacheValue; value->item = item; LOG(INFO) << "Add item mem" - << ", cache_capacity: " << get_total_capacity() - << ", cache_usage: " << get_usage() << ", mem_consum: " << mem_consumption(); + << ", cache_capacity: " << get_capacity() << ", cache_usage: " << get_usage() + << ", mem_consum: " << mem_consumption(); auto* lru_handle = insert(key, value, 1, sizeof(Reusable), CachePriority::NORMAL); release(lru_handle); } @@ -265,6 +265,7 @@ class LookupConnectionCache : public LRUCachePolicyTrackingManual { class CacheValue : public LRUCacheValueBase { public: + ~CacheValue() override; std::shared_ptr item; }; }; diff --git a/be/src/vec/common/allocator.cpp b/be/src/vec/common/allocator.cpp index dff1330888f82d..2619c0bafffb16 100644 --- a/be/src/vec/common/allocator.cpp +++ b/be/src/vec/common/allocator.cpp @@ -106,9 +106,6 @@ void Allocator::sys_mem return; } - // no significant impact on performance is expected. - doris::MemInfo::notify_je_purge_dirty_pages(); - if (doris::thread_context()->thread_mem_tracker_mgr->is_attach_query() && doris::thread_context()->thread_mem_tracker_mgr->wait_gc()) { int64_t wait_milliseconds = 0; diff --git a/be/test/olap/lru_cache_test.cpp b/be/test/olap/lru_cache_test.cpp index 4fc096380c754b..9adb30b93054f4 100644 --- a/be/test/olap/lru_cache_test.cpp +++ b/be/test/olap/lru_cache_test.cpp @@ -88,25 +88,46 @@ class CacheTest : public testing::Test { void* value; }; - class CacheTestPolicy : public LRUCachePolicyTrackingManual { + class CacheTestSizePolicy : public LRUCachePolicyTrackingManual { public: - CacheTestPolicy(size_t capacity) - : LRUCachePolicyTrackingManual(CachePolicy::CacheType::FOR_UT, capacity, + CacheTestSizePolicy(size_t capacity) + : LRUCachePolicyTrackingManual(CachePolicy::CacheType::FOR_UT_CACHE_SIZE, capacity, LRUCacheType::SIZE, -1) {} }; + class CacheTestNumberPolicy : public LRUCachePolicyTrackingManual { + public: + CacheTestNumberPolicy(size_t capacity, uint32_t num_shards) + : LRUCachePolicyTrackingManual(CachePolicy::CacheType::FOR_UT_CACHE_NUMBER, + capacity, LRUCacheType::NUMBER, -1, num_shards) {} + }; + // there is 16 shards in ShardedLRUCache // And the LRUHandle size is about 100B. So the cache size should big enough // to run the UT. static const int kCacheSize = 1000 * 16; std::vector _deleted_keys; std::vector _deleted_values; - CacheTestPolicy* _cache; + LRUCachePolicy* _cache = nullptr; - CacheTest() : _cache(new CacheTestPolicy(kCacheSize)) { _s_current = this; } + CacheTest() { _s_current = this; } ~CacheTest() override { delete _cache; } + void init_size_cache(size_t capacity = kCacheSize) { + if (_cache != nullptr) { + delete _cache; + } + _cache = new CacheTestSizePolicy(capacity); + } + + void init_number_cache(size_t capacity = kCacheSize, uint32_t num_shards = 1) { + if (_cache != nullptr) { + delete _cache; + } + _cache = new CacheTestNumberPolicy(capacity, num_shards); + } + LRUCachePolicy* cache() const { return _cache; } int Lookup(int key) const { @@ -149,7 +170,25 @@ class CacheTest : public testing::Test { }; CacheTest* CacheTest::_s_current; +static void insert_LRUCache(LRUCache& cache, const CacheKey& key, int value, + CachePriority priority) { + uint32_t hash = key.hash(key.data(), key.size(), 0); + auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); + cache.release(cache.insert(key, hash, cache_value, value, priority)); +} + +static void insert_number_LRUCache(LRUCache& cache, const CacheKey& key, int value, int charge, + CachePriority priority) { + uint32_t hash = key.hash(key.data(), key.size(), 0); + auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); + cache.release(cache.insert(key, hash, cache_value, charge, priority)); +} + +// https://stackoverflow.com/questions/42756443/undefined-reference-with-gtest +const int CacheTest::kCacheSize; + TEST_F(CacheTest, HitAndMiss) { + init_size_cache(); EXPECT_EQ(-1, Lookup(100)); Insert(100, 101, 1); @@ -173,6 +212,7 @@ TEST_F(CacheTest, HitAndMiss) { } TEST_F(CacheTest, Erase) { + init_size_cache(); Erase(200); EXPECT_EQ(0, _deleted_keys.size()); @@ -192,6 +232,7 @@ TEST_F(CacheTest, Erase) { } TEST_F(CacheTest, EntriesArePinned) { + init_size_cache(); Insert(100, 101, 1); std::string result1; Cache::Handle* h1 = cache()->lookup(EncodeKey(&result1, 100)); @@ -219,6 +260,7 @@ TEST_F(CacheTest, EntriesArePinned) { } TEST_F(CacheTest, EvictionPolicy) { + init_size_cache(); Insert(100, 101, 1); Insert(200, 201, 1); @@ -234,6 +276,7 @@ TEST_F(CacheTest, EvictionPolicy) { } TEST_F(CacheTest, EvictionPolicyWithDurable) { + init_size_cache(); Insert(100, 101, 1); InsertDurable(200, 201, 1); Insert(300, 101, 1); @@ -250,20 +293,6 @@ TEST_F(CacheTest, EvictionPolicyWithDurable) { EXPECT_EQ(201, Lookup(200)); } -static void insert_LRUCache(LRUCache& cache, const CacheKey& key, int value, - CachePriority priority) { - uint32_t hash = key.hash(key.data(), key.size(), 0); - auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); - cache.release(cache.insert(key, hash, cache_value, value, priority)); -} - -static void insert_number_LRUCache(LRUCache& cache, const CacheKey& key, int value, int charge, - CachePriority priority) { - uint32_t hash = key.hash(key.data(), key.size(), 0); - auto* cache_value = new CacheTest::CacheValue(EncodeValue(value)); - cache.release(cache.insert(key, hash, cache_value, charge, priority)); -} - TEST_F(CacheTest, Usage) { LRUCache cache(LRUCacheType::SIZE); cache.set_capacity(1040); @@ -463,6 +492,7 @@ TEST_F(CacheTest, Number) { } TEST_F(CacheTest, HeavyEntries) { + init_size_cache(); // Add a bunch of light and heavy entries and then count the combined // size of items still in the cache, which must be approximately the // same as the total capacity. @@ -494,12 +524,14 @@ TEST_F(CacheTest, HeavyEntries) { } TEST_F(CacheTest, NewId) { + init_size_cache(); uint64_t a = cache()->new_id(); uint64_t b = cache()->new_id(); EXPECT_NE(a, b); } TEST_F(CacheTest, SimpleBenchmark) { + init_size_cache(); for (int i = 0; i < kCacheSize * LOOP_LESS_OR_MORE(10, 10000); i++) { Insert(1000 + i, 2000 + i, 1); EXPECT_EQ(2000 + i, Lookup(1000 + i)); @@ -598,4 +630,78 @@ TEST(CacheHandleTest, HandleTableTest) { } } +TEST_F(CacheTest, SetCapacity) { + init_number_cache(); + for (int i = 0; i < kCacheSize; i++) { + Insert(i, 1000 + i, 1); + EXPECT_EQ(1000 + i, Lookup(i)); + } + ASSERT_EQ(kCacheSize, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, cache()->get_usage()); + + int64_t prune_num = cache()->adjust_capacity_weighted(2); + ASSERT_EQ(prune_num, 0); + ASSERT_EQ(kCacheSize * 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, cache()->get_usage()); + + prune_num = cache()->adjust_capacity_weighted(0.5); + ASSERT_EQ(prune_num, kCacheSize / 2); + ASSERT_EQ(kCacheSize / 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize / 2, cache()->get_usage()); + + std::vector handles(kCacheSize, nullptr); + for (int i = 0; i < kCacheSize; i++) { + std::string result; + CacheKey cache_key = EncodeKey(&result, kCacheSize + i); + auto* cache_value = new CacheValueWithKey(DecodeKey(cache_key), EncodeValue(i)); + handles[i] = cache()->insert(cache_key, cache_value, 1, 1); + } + ASSERT_EQ(kCacheSize / 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, + cache()->get_usage()); // Handle not be released, so key cannot be evicted. + + for (int i = 0; i < kCacheSize; i++) { + Insert(i + kCacheSize, 2000 + i, 1); + EXPECT_EQ(-1, Lookup(i + kCacheSize)); // Cache is full, insert failed. + } + ASSERT_EQ(kCacheSize / 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, cache()->get_usage()); + + cache()->adjust_capacity_weighted(2); + ASSERT_EQ(kCacheSize * 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, cache()->get_usage()); + + for (int i = 0; i < kCacheSize; i++) { + Insert(i, 3000 + i, 1); + EXPECT_EQ(3000 + i, Lookup(i)); + } + ASSERT_EQ(kCacheSize * 2, cache()->get_capacity()); + ASSERT_EQ(kCacheSize * 2, cache()->get_usage()); + + cache()->adjust_capacity_weighted(0); + ASSERT_EQ(0, cache()->get_capacity()); + ASSERT_EQ(kCacheSize, cache()->get_usage()); + + for (auto it : handles) { + cache()->release(it); + } + ASSERT_EQ(0, cache()->get_capacity()); + ASSERT_EQ(0, cache()->get_usage()); + + cache()->adjust_capacity_weighted(1); + ASSERT_EQ(kCacheSize, cache()->get_capacity()); + ASSERT_EQ(0, cache()->get_usage()); + + cache()->adjust_capacity_weighted(0); + ASSERT_EQ(0, cache()->get_capacity()); + ASSERT_EQ(0, cache()->get_usage()); + + for (int i = 0; i < kCacheSize; i++) { + Insert(i, 4000 + i, 1); + EXPECT_EQ(-1, Lookup(i)); + } + ASSERT_EQ(0, cache()->get_capacity()); + ASSERT_EQ(0, cache()->get_usage()); +} + } // namespace doris From ccd654a572f9a8b563500917b87a8879726bf2e8 Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Tue, 10 Sep 2024 11:03:40 +0800 Subject: [PATCH 134/199] [fix](arrow-flight-sql) Fix regression-test cloud p0 conf (#40490) --- regression-test/conf/regression-conf.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regression-test/conf/regression-conf.groovy b/regression-test/conf/regression-conf.groovy index ac66e01f90626c..d3d3ee264cfad7 100644 --- a/regression-test/conf/regression-conf.groovy +++ b/regression-test/conf/regression-conf.groovy @@ -207,7 +207,7 @@ txYunSk="***********" //arrow flight sql test config extArrowFlightSqlHost = "127.0.0.1" -extArrowFlightSqlPort = 8080 +extArrowFlightSqlPort = 8081 extArrowFlightSqlUser = "root" extArrowFlightSqlPassword= "" From 194b85255fd0fcf1a5069e70ccf40728f8db1277 Mon Sep 17 00:00:00 2001 From: wangbo Date: Tue, 10 Sep 2024 11:06:11 +0800 Subject: [PATCH 135/199] [Fix]only publish topic to alive be (#40535) ## Proposed changes Fix strange core stack when BE not start correctly, and FE send publish topic request. --- .../apache/doris/common/publish/TopicPublisherThread.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/publish/TopicPublisherThread.java b/fe/fe-core/src/main/java/org/apache/doris/common/publish/TopicPublisherThread.java index 74cefeca4d907e..797b0893936513 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/publish/TopicPublisherThread.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/publish/TopicPublisherThread.java @@ -85,10 +85,13 @@ protected void runAfterCatalogReady() { } AckResponseHandler handler = new AckResponseHandler(nodesToPublish); for (Backend be : nodesToPublish) { - executor.submit(new TopicPublishWorker(request, be, handler)); + if (be.isAlive()) { + executor.submit(new TopicPublishWorker(request, be, handler)); + } } try { int timeoutMs = Config.publish_topic_info_interval_ms / 3 * 2; + timeoutMs = timeoutMs <= 0 ? 3000 : timeoutMs; if (!handler.awaitAllInMs(timeoutMs)) { Backend[] backends = handler.pendingNodes(); if (backends.length > 0) { From abf6897a660234fe24e4e2989ec4d4dd74aeab14 Mon Sep 17 00:00:00 2001 From: Sun Chenyang Date: Tue, 10 Sep 2024 11:13:11 +0800 Subject: [PATCH 136/199] [fix] (Nereids) restrict the execution of match on the scan (#40532) revert parts of #38537 ,restrict the execution of match on the scan --- .../rules/analysis/CheckAfterRewrite.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckAfterRewrite.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckAfterRewrite.java index e193c5fc4938de..df8ec64fc2e1ff 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckAfterRewrite.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckAfterRewrite.java @@ -24,6 +24,7 @@ import org.apache.doris.nereids.trees.expressions.Alias; import org.apache.doris.nereids.trees.expressions.ExprId; import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.Match; import org.apache.doris.nereids.trees.expressions.NamedExpression; import org.apache.doris.nereids.trees.expressions.Slot; import org.apache.doris.nereids.trees.expressions.SlotNotFromChildren; @@ -38,6 +39,9 @@ import org.apache.doris.nereids.trees.plans.Plan; import org.apache.doris.nereids.trees.plans.algebra.Generate; import org.apache.doris.nereids.trees.plans.logical.LogicalAggregate; +import org.apache.doris.nereids.trees.plans.logical.LogicalDeferMaterializeOlapScan; +import org.apache.doris.nereids.trees.plans.logical.LogicalFilter; +import org.apache.doris.nereids.trees.plans.logical.LogicalOlapScan; import org.apache.doris.nereids.trees.plans.logical.LogicalSort; import org.apache.doris.nereids.trees.plans.logical.LogicalTopN; import org.apache.doris.nereids.trees.plans.logical.LogicalWindow; @@ -60,6 +64,7 @@ public Rule build() { checkAllSlotReferenceFromChildren(plan); checkUnexpectedExpression(plan); checkMetricTypeIsUsedCorrectly(plan); + checkMatchIsUsedCorrectly(plan); return null; }).toRule(RuleType.CHECK_ANALYSIS); } @@ -176,4 +181,19 @@ private void checkMetricTypeIsUsedCorrectly(Plan plan) { }); } } + + private void checkMatchIsUsedCorrectly(Plan plan) { + for (Expression expression : plan.getExpressions()) { + if (expression instanceof Match) { + if (plan instanceof LogicalFilter && (plan.child(0) instanceof LogicalOlapScan + || plan.child(0) instanceof LogicalDeferMaterializeOlapScan)) { + return; + } else { + throw new AnalysisException(String.format( + "Not support match in %s in plan: %s, only support in olapScan filter", + plan.child(0), plan)); + } + } + } + } } From b674bd12714048266b8dba9b949c3385f2823628 Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Tue, 10 Sep 2024 11:24:04 +0800 Subject: [PATCH 137/199] [fix](memory) Not check process memory limit when thread reserve memory is sufficient (#40548) --- .../runtime/memory/global_memory_arbitrator.cpp | 8 ++++++++ be/src/runtime/memory/global_memory_arbitrator.h | 15 +++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/be/src/runtime/memory/global_memory_arbitrator.cpp b/be/src/runtime/memory/global_memory_arbitrator.cpp index 76a414a6ebdc74..82b69ca02ef9f3 100644 --- a/be/src/runtime/memory/global_memory_arbitrator.cpp +++ b/be/src/runtime/memory/global_memory_arbitrator.cpp @@ -86,4 +86,12 @@ void GlobalMemoryArbitrator::release_process_reserved_memory(int64_t bytes) { } } +int64_t GlobalMemoryArbitrator::sub_thread_reserve_memory(int64_t bytes) { + doris::ThreadContext* thread_context = doris::thread_context(true); + if (thread_context) { + return bytes - doris::thread_context()->thread_mem_tracker_mgr->reserved_mem(); + } + return bytes; +} + } // namespace doris diff --git a/be/src/runtime/memory/global_memory_arbitrator.h b/be/src/runtime/memory/global_memory_arbitrator.h index 5fbcf232ce4d24..f804452956786d 100644 --- a/be/src/runtime/memory/global_memory_arbitrator.h +++ b/be/src/runtime/memory/global_memory_arbitrator.h @@ -124,12 +124,27 @@ class GlobalMemoryArbitrator { return _s_process_reserved_memory.load(std::memory_order_relaxed); } + // `process_memory_usage` includes all reserved memory. if a thread has `reserved_memory`, + // and the memory allocated by thread is less than the thread `reserved_memory`, + // even if `process_memory_usage` is greater than `process_mem_limit`, memory can still be allocated. + // At this time, `process_memory_usage` will not increase, process physical memory will increase, + // and `reserved_memory` will be reduced. + static int64_t sub_thread_reserve_memory(int64_t bytes); + static bool is_exceed_soft_mem_limit(int64_t bytes = 0) { + bytes = sub_thread_reserve_memory(bytes); + if (bytes <= 0) { + return false; + } return process_memory_usage() + bytes >= MemInfo::soft_mem_limit() || sys_mem_available() - bytes < MemInfo::sys_mem_available_warning_water_mark(); } static bool is_exceed_hard_mem_limit(int64_t bytes = 0) { + bytes = sub_thread_reserve_memory(bytes); + if (bytes <= 0) { + return false; + } // Limit process memory usage using the actual physical memory of the process in `/proc/self/status`. // This is independent of the consumption value of the mem tracker, which counts the virtual memory // of the process malloc. From e444100523d0cbbed2b03aecc857430837427daf Mon Sep 17 00:00:00 2001 From: Mryange <59914473+Mryange@users.noreply.github.com> Date: Tue, 10 Sep 2024 11:32:11 +0800 Subject: [PATCH 138/199] [opt](function) Optimize ConvertTz function when using constant parameters. (#40366) mysql [test]>select count(convert_tz(d, 'Asia/Shanghai', 'America/Los_Angeles')), count(convert_tz(dt, 'America/Los_Angeles', '+00:00')) from dates; +-------------------------------------------------------------------------------------+--------------------------------------------------------+ | count(convert_tz(cast(d as DATETIMEV2(6)), 'Asia/Shanghai', 'America/Los_Angeles')) | count(convert_tz(dt, 'America/Los_Angeles', '+00:00')) | +-------------------------------------------------------------------------------------+--------------------------------------------------------+ | 16000000 | 16000000 | +-------------------------------------------------------------------------------------+--------------------------------------------------------+ 1 row in set (13.91 sec) mysql [test]>select count(convert_tz(d, 'Asia/Shanghai', 'America/Los_Angeles')), count(convert_tz(dt, 'America/Los_Angeles', '+00:00')) from dates; +-------------------------------------------------------------------------------------+--------------------------------------------------------+ | count(convert_tz(cast(d as DATETIMEV2(6)), 'Asia/Shanghai', 'America/Los_Angeles')) | count(convert_tz(dt, 'America/Los_Angeles', '+00:00')) | +-------------------------------------------------------------------------------------+--------------------------------------------------------+ | 16000000 | 16000000 | +-------------------------------------------------------------------------------------+--------------------------------------------------------+ 1 row in set (4.59 sec) --- be/src/vec/functions/function_convert_tz.h | 128 ++++++++++++++++++--- 1 file changed, 115 insertions(+), 13 deletions(-) diff --git a/be/src/vec/functions/function_convert_tz.h b/be/src/vec/functions/function_convert_tz.h index af118c80583769..d0a600a9e41a86 100644 --- a/be/src/vec/functions/function_convert_tz.h +++ b/be/src/vec/functions/function_convert_tz.h @@ -53,6 +53,13 @@ #include "vec/runtime/vdatetime_value.h" namespace doris::vectorized { +struct ConvertTzState { + bool use_state = false; + bool is_valid = false; + cctz::time_zone from_tz; + cctz::time_zone to_tz; +}; + template class FunctionConvertTZ : public IFunction { using DateValueType = date_cast::TypeToValueTypeV; @@ -88,8 +95,62 @@ class FunctionConvertTZ : public IFunction { std::make_shared()}; } + Status open(FunctionContext* context, FunctionContext::FunctionStateScope scope) override { + if (scope == FunctionContext::THREAD_LOCAL) { + return Status::OK(); + } + std::shared_ptr state = std::make_shared(); + + context->set_function_state(scope, state); + DCHECK_EQ(context->get_num_args(), 3); + const auto* const_from_tz = context->get_constant_col(1); + const auto* const_to_tz = context->get_constant_col(2); + + // ConvertTzState is used only when both the second and third parameters are constants + if (const_from_tz != nullptr && const_to_tz != nullptr) { + state->use_state = true; + init_convert_tz_state(state, const_from_tz, const_to_tz); + } else { + state->use_state = false; + } + + return IFunction::open(context, scope); + } + + void init_convert_tz_state(std::shared_ptr state, + const ColumnPtrWrapper* const_from_tz, + const ColumnPtrWrapper* const_to_tz) { + auto const_data_from_tz = const_from_tz->column_ptr->get_data_at(0); + auto const_data_to_tz = const_to_tz->column_ptr->get_data_at(0); + + // from_tz and to_tz must both be non-null. + if (const_data_from_tz.data == nullptr || const_data_to_tz.data == nullptr) { + state->is_valid = false; + return; + } + + auto from_tz_name = const_data_from_tz.to_string(); + auto to_tz_name = const_data_to_tz.to_string(); + + if (!TimezoneUtils::find_cctz_time_zone(from_tz_name, state->from_tz)) { + state->is_valid = false; + return; + } + if (!TimezoneUtils::find_cctz_time_zone(to_tz_name, state->to_tz)) { + state->is_valid = false; + return; + } + state->is_valid = true; + } + Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments, size_t result, size_t input_rows_count) const override { + auto* convert_tz_state = reinterpret_cast( + context->get_function_state(FunctionContext::FRAGMENT_LOCAL)); + if (!convert_tz_state) { + return Status::RuntimeError( + "funciton context for function '{}' must have ConvertTzState;", get_name()); + } auto result_null_map_column = ColumnUInt8::create(input_rows_count, 0); bool col_const[3]; @@ -106,12 +167,16 @@ class FunctionConvertTZ : public IFunction { if (col_const[1] && col_const[2]) { auto result_column = ColumnType::create(); - execute_tz_const(context, assert_cast(argument_columns[0].get()), - assert_cast(argument_columns[1].get()), - assert_cast(argument_columns[2].get()), - assert_cast(result_column.get()), - assert_cast(result_null_map_column.get())->get_data(), - input_rows_count); + if (convert_tz_state->use_state) { + execute_tz_const_with_state( + convert_tz_state, assert_cast(argument_columns[0].get()), + assert_cast(result_column.get()), + assert_cast(result_null_map_column.get())->get_data(), + input_rows_count); + } else { + return Status::RuntimeError("ConvertTzState is not initialized in function {}", + get_name()); + } block.get_by_position(result).column = ColumnNullable::create( std::move(result_column), std::move(result_null_map_column)); } else { @@ -144,18 +209,55 @@ class FunctionConvertTZ : public IFunction { } } - static void execute_tz_const(FunctionContext* context, const ColumnType* date_column, - const ColumnString* from_tz_column, - const ColumnString* to_tz_column, ReturnColumnType* result_column, - NullMap& result_null_map, size_t input_rows_count) { - auto from_tz = from_tz_column->get_data_at(0).to_string(); - auto to_tz = to_tz_column->get_data_at(0).to_string(); + static void execute_tz_const_with_state(ConvertTzState* convert_tz_state, + const ColumnType* date_column, + ReturnColumnType* result_column, + NullMap& result_null_map, size_t input_rows_count) { + cctz::time_zone& from_tz = convert_tz_state->from_tz; + cctz::time_zone& to_tz = convert_tz_state->to_tz; + auto push_null = [&](int row) { + result_null_map[row] = true; + result_column->insert_default(); + }; + if (!convert_tz_state->is_valid) { + // If an invalid timezone is present, return null + for (size_t i = 0; i < input_rows_count; i++) { + push_null(i); + } + return; + } for (size_t i = 0; i < input_rows_count; i++) { if (result_null_map[i]) { result_column->insert_default(); continue; } - execute_inner_loop(date_column, from_tz, to_tz, result_column, result_null_map, i); + + DateValueType ts_value = + binary_cast(date_column->get_element(i)); + ReturnDateValueType ts_value2; + + if constexpr (std::is_same_v) { + std::pair timestamp; + if (!ts_value.unix_timestamp(×tamp, from_tz)) { + push_null(i); + continue; + } + ts_value2.from_unixtime(timestamp, to_tz); + } else { + int64_t timestamp; + if (!ts_value.unix_timestamp(×tamp, from_tz)) { + push_null(i); + continue; + } + ts_value2.from_unixtime(timestamp, to_tz); + } + + if (!ts_value2.is_valid_date()) [[unlikely]] { + push_null(i); + continue; + } + + result_column->insert(binary_cast(ts_value2)); } } From ab2c1cca92b8cf68cb76a4c1db3da17ef4d6d325 Mon Sep 17 00:00:00 2001 From: zclllhhjj Date: Tue, 10 Sep 2024 11:41:16 +0800 Subject: [PATCH 139/199] [Chore](GHA) Add code owner for be exec version change (#40577) Add code owner for be exec version change --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2757578827c2bb..bac487c65627a9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -15,5 +15,6 @@ # limitations under the License. # be/src/io/* @platoneko @gavinchou @dataroaring +be/src/agent/be_exec_version_manager.cpp @BiteTheDDDDt fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java @dataroaring @CalvinKirs @morningman **/pom.xml @CalvinKirs @morningman From e9eed642814c635314bbcdd3ad768712539bf88b Mon Sep 17 00:00:00 2001 From: zhangstar333 <87313068+zhangstar333@users.noreply.github.com> Date: Tue, 10 Sep 2024 12:05:55 +0800 Subject: [PATCH 140/199] [test](case) add some test case for encrypt/decrypt functions (#40427) ## Proposed changes add some test case for encrypt/decrypt functions --- .../test_encryption_function.out | 192 ++++++++++++++++++ .../test_encryption_function.groovy | 135 ++++++++++++ 2 files changed, 327 insertions(+) diff --git a/regression-test/data/query_p0/sql_functions/encryption_digest/test_encryption_function.out b/regression-test/data/query_p0/sql_functions/encryption_digest/test_encryption_function.out index 721412dc0364c1..c652b3074558cc 100644 --- a/regression-test/data/query_p0/sql_functions/encryption_digest/test_encryption_function.out +++ b/regression-test/data/query_p0/sql_functions/encryption_digest/test_encryption_function.out @@ -80,3 +80,195 @@ text -- !sql -- aaaaaa +-- !sql1 -- +aaaaaa + +-- !sql2 -- +aaaaaa + +-- !sql3 -- +zhang + +-- !sql4 -- +zhang + +-- !sql5 -- +aaaaaa + +-- !sql6 -- +aaaaaa + +-- !sql7 -- +zhang + +-- !sql8 -- +zhang + +-- !sql9 -- +aaaaaa + +-- !sql10 -- +aaaaaa + +-- !sql11 -- +zhang + +-- !sql12 -- +zhang + +-- !sql9 -- +aaaaaa + +-- !sql10 -- +aaaaaa + +-- !sql11 -- +zhang + +-- !sql12 -- +zhang + +-- !sql13 -- +aaaaaa + +-- !sql14 -- +aaaaaa + +-- !sql15 -- +zhang + +-- !sql16 -- +zhang + +-- !sql17 -- +aaaaaa + +-- !sql18 -- +aaaaaa + +-- !sql19 -- +zhang + +-- !sql20 -- +zhang + +-- !sql21 -- +aaaaaa + +-- !sql22 -- +aaaaaa + +-- !sql23 -- +zhang + +-- !sql24 -- +zhang + +-- !sql25 -- +aaaaaa + +-- !sql26 -- +aaaaaa + +-- !sql27 -- +zhang + +-- !sql28 -- +zhang + +-- !sql29 -- +aaaaaa + +-- !sql30 -- +aaaaaa + +-- !sql31 -- +zhang + +-- !sql32 -- +zhang + +-- !sql29 -- +aaaaaa + +-- !sql30 -- +aaaaaa + +-- !sql31 -- +zhang + +-- !sql32 -- +zhang + +-- !sql33 -- +aaaaaa + +-- !sql34 -- +aaaaaa + +-- !sql35 -- +zhang + +-- !sql36 -- +zhang + +-- !sql37 -- +aaaaaa + +-- !sql38 -- +aaaaaa + +-- !sql39 -- +zhang + +-- !sql40 -- +zhang + +-- !sql41 -- +aaaaaa + +-- !sql42 -- +aaaaaa + +-- !sql43 -- +zhang + +-- !sql44 -- +zhang + +-- !sql45 -- +aaaaaa + +-- !sql46 -- +aaaaaa + +-- !sql47 -- +zhang + +-- !sql48 -- +zhang + +-- !sql49 -- +aaaaaa + +-- !sql50 -- +aaaaaa + +-- !sql51 -- +zhang + +-- !sql52 -- +zhang + +-- !sql53 -- +aaaaaa + +-- !sql54 -- +aaaaaa + +-- !sql55 -- +zhang + +-- !sql56 -- +zhang + diff --git a/regression-test/suites/query_p0/sql_functions/encryption_digest/test_encryption_function.groovy b/regression-test/suites/query_p0/sql_functions/encryption_digest/test_encryption_function.groovy index f4a67b052c3750..25095f46917c96 100644 --- a/regression-test/suites/query_p0/sql_functions/encryption_digest/test_encryption_function.groovy +++ b/regression-test/suites/query_p0/sql_functions/encryption_digest/test_encryption_function.groovy @@ -91,4 +91,139 @@ suite("test_encryption_function") { """ sql""" insert into quantile_table values(1,"aaaaaa");""" qt_sql """ select sm4_decrypt(sm4_encrypt(k,"doris","0123456789abcdef"),"doris","0123456789abcdef") from quantile_table; """ + + // sm4_encrypt sm4_decrypt + // aes_encrypt aes_decrypt + //two arg (column/const) + sql "set enable_fold_constant_by_be = false;" + sql """ set block_encryption_mode=""; """ // SM4_128_ECB + qt_sql1 """ select sm4_decrypt(sm4_encrypt(k,"doris"),"doris") from quantile_table; """ + qt_sql2 """ select sm4_decrypt(sm4_encrypt(k,k),k) from quantile_table; """ + qt_sql3 """ select sm4_decrypt(sm4_encrypt("zhang","doris"),"doris") from quantile_table; """ + qt_sql4 """ select sm4_decrypt(sm4_encrypt("zhang",k),k) from quantile_table; """ + + sql """ set block_encryption_mode="SM4_128_CBC"; """ + qt_sql5 """ select sm4_decrypt(sm4_encrypt(k,"doris"),"doris") from quantile_table; """ + qt_sql6 """ select sm4_decrypt(sm4_encrypt(k,k),k) from quantile_table; """ + qt_sql7 """ select sm4_decrypt(sm4_encrypt("zhang","doris"),"doris") from quantile_table; """ + qt_sql8 """ select sm4_decrypt(sm4_encrypt("zhang",k),k) from quantile_table; """ + + sql """ set block_encryption_mode="SM4_128_OFB"; """ + qt_sql9 """ select sm4_decrypt(sm4_encrypt(k,"doris"),"doris") from quantile_table; """ + qt_sql10 """ select sm4_decrypt(sm4_encrypt(k,k),k) from quantile_table; """ + qt_sql11 """ select sm4_decrypt(sm4_encrypt("zhang","doris"),"doris") from quantile_table; """ + qt_sql12 """ select sm4_decrypt(sm4_encrypt("zhang",k),k) from quantile_table; """ + + sql """ set block_encryption_mode="SM4_128_CTR"; """ + qt_sql9 """ select sm4_decrypt(sm4_encrypt(k,"doris"),"doris") from quantile_table; """ + qt_sql10 """ select sm4_decrypt(sm4_encrypt(k,k),k) from quantile_table; """ + qt_sql11 """ select sm4_decrypt(sm4_encrypt("zhang","doris"),"doris") from quantile_table; """ + qt_sql12 """ select sm4_decrypt(sm4_encrypt("zhang",k),k) from quantile_table; """ + + sql """ set block_encryption_mode=""; """ // AES_128_ECB + qt_sql13 """ select aes_decrypt(aes_encrypt(k,"doris"),"doris") from quantile_table; """ + qt_sql14 """ select aes_decrypt(aes_encrypt(k,k),k) from quantile_table; """ + qt_sql15 """ select aes_decrypt(aes_encrypt("zhang","doris"),"doris") from quantile_table; """ + qt_sql16 """ select aes_decrypt(aes_encrypt("zhang",k),k) from quantile_table; """ + + sql """ set block_encryption_mode="AES_256_CBC"; """ + qt_sql17 """ select aes_decrypt(aes_encrypt(k,"doris"),"doris") from quantile_table; """ + qt_sql18 """ select aes_decrypt(aes_encrypt(k,k),k) from quantile_table; """ + qt_sql19 """ select aes_decrypt(aes_encrypt("zhang","doris"),"doris") from quantile_table; """ + qt_sql20 """ select aes_decrypt(aes_encrypt("zhang",k),k) from quantile_table; """ + + + sql """ set block_encryption_mode="AES_128_CTR"; """ + qt_sql21 """ select aes_decrypt(aes_encrypt(k,"doris"),"doris") from quantile_table; """ + qt_sql22 """ select aes_decrypt(aes_encrypt(k,k),k) from quantile_table; """ + qt_sql23 """ select aes_decrypt(aes_encrypt("zhang","doris"),"doris") from quantile_table; """ + qt_sql24 """ select aes_decrypt(aes_encrypt("zhang",k),k) from quantile_table; """ + + + sql """ set block_encryption_mode="AES_256_OFB"; """ + qt_sql25 """ select aes_decrypt(aes_encrypt(k,"doris"),"doris") from quantile_table; """ + qt_sql26 """ select aes_decrypt(aes_encrypt(k,k),k) from quantile_table; """ + qt_sql27 """ select aes_decrypt(aes_encrypt("zhang","doris"),"doris") from quantile_table; """ + qt_sql28 """ select aes_decrypt(aes_encrypt("zhang",k),k) from quantile_table; """ + + sql """ set block_encryption_mode=""; """ + + sql """ select to_base64(aes_encrypt(k,"doris")) from quantile_table;""" // 3A7GoWeuMNEBWzJx+YefZw== + qt_sql29 """ select aes_decrypt(FROM_BASE64("3A7GoWeuMNEBWzJx+YefZw=="),"doris") from quantile_table; """ + + sql """ select to_base64(aes_encrypt(k,k)) from quantile_table;""" //ADnRqPtFBjreZu06UTD64g== + qt_sql30 """ select aes_decrypt(FROM_BASE64("ADnRqPtFBjreZu06UTD64g=="),k) from quantile_table; """ + + sql """ select to_base64(aes_encrypt("zhang","doris")) from quantile_table;""" //fLhlYvn/yZhqd2LTRHImrw== + qt_sql31 """ select aes_decrypt(FROM_BASE64("fLhlYvn/yZhqd2LTRHImrw=="),"doris") from quantile_table; """ + + sql """ select to_base64(aes_encrypt("zhang",k)) from quantile_table;""" //2C8acACKfoRwHZS5B4juNw== + qt_sql32 """ select aes_decrypt(FROM_BASE64("2C8acACKfoRwHZS5B4juNw=="),k) from quantile_table; """ + + + + sql """ select to_base64(sm4_encrypt(k,"doris")) from quantile_table;""" // 7vSaqYqMl9no8trrzbdAEw== + qt_sql29 """ select sm4_decrypt(FROM_BASE64("7vSaqYqMl9no8trrzbdAEw=="),"doris") from quantile_table; """ + + sql """ select to_base64(sm4_encrypt(k,k)) from quantile_table;""" // PcPR18T6lhMuFTqQtymb8w== + qt_sql30 """ select sm4_decrypt(FROM_BASE64("PcPR18T6lhMuFTqQtymb8w=="),k) from quantile_table; """ + + sql """ select to_base64(sm4_encrypt("zhang","doris")) from quantile_table;""" // WY+4o1/cZwAFQ0F6dlyEqQ== + qt_sql31 """ select sm4_decrypt(FROM_BASE64("WY+4o1/cZwAFQ0F6dlyEqQ=="),"doris") from quantile_table; """ + + sql """ select to_base64(sm4_encrypt("zhang",k)) from quantile_table;""" // lhDiiEnRn3PvY6v4sHES0A== + qt_sql32 """ select sm4_decrypt(FROM_BASE64("lhDiiEnRn3PvY6v4sHES0A=="),k) from quantile_table; """ + + + sql "DROP TABLE IF EXISTS quantile_table2" + sql""" + CREATE TABLE quantile_table2 + ( + id int, + k string, + k1 string, + k2 string + ) + ENGINE=OLAP + UNIQUE KEY(id) + DISTRIBUTED BY HASH(id) BUCKETS 4 + PROPERTIES ( + "enable_unique_key_merge_on_write" = "true", + "replication_num" = "1" + ); + """ + sql""" insert into quantile_table2 values(1,"aaaaaa", "key_word", "init_word");""" + + //four arg (column/const) + sql """ set block_encryption_mode=""; """ // SM4_128_ECB + qt_sql33 """ select sm4_decrypt(sm4_encrypt(k,"doris","abcdefghij", "SM4_128_CBC"),"doris","abcdefghij","SM4_128_CBC") from quantile_table2; """ + qt_sql34 """ select sm4_decrypt(sm4_encrypt(k,k,"abcdefghij", "SM4_128_CBC"),k,"abcdefghij", "SM4_128_CBC") from quantile_table2; """ + qt_sql35 """ select sm4_decrypt(sm4_encrypt("zhang","doris","abcdefghij", "SM4_128_CBC"),"doris","abcdefghij", "SM4_128_CBC") from quantile_table2; """ + qt_sql36 """ select sm4_decrypt(sm4_encrypt("zhang",k,"abcdefghij", "SM4_128_CBC"),k,"abcdefghij", "SM4_128_CBC") from quantile_table2; """ + + qt_sql37 """ select sm4_decrypt(sm4_encrypt(k,"doris",k2, "SM4_128_CBC"),"doris",k2,"SM4_128_CBC") from quantile_table2; """ + qt_sql38 """ select sm4_decrypt(sm4_encrypt(k,k,k2, "SM4_128_CBC"),k,k2, "SM4_128_CBC") from quantile_table2; """ + qt_sql39 """ select sm4_decrypt(sm4_encrypt("zhang","doris",k2, "SM4_128_CBC"),"doris",k2, "SM4_128_CBC") from quantile_table2; """ + qt_sql40 """ select sm4_decrypt(sm4_encrypt("zhang",k,k2, "SM4_128_CBC"),k,k2, "SM4_128_CBC") from quantile_table2; """ + + qt_sql41 """ select sm4_decrypt(sm4_encrypt(k,k1,k2, "SM4_128_CBC"),k1,k2,"SM4_128_CBC") from quantile_table2; """ + qt_sql42 """ select sm4_decrypt(sm4_encrypt(k,k1,k2, "SM4_128_CBC"),k1,k2, "SM4_128_CBC") from quantile_table2; """ + qt_sql43 """ select sm4_decrypt(sm4_encrypt("zhang",k1,k2, "SM4_128_CBC"),k1,k2, "SM4_128_CBC") from quantile_table2; """ + qt_sql44 """ select sm4_decrypt(sm4_encrypt("zhang",k1,k2, "SM4_128_CBC"),k1,k2, "SM4_128_CBC") from quantile_table2; """ + + + qt_sql45 """ select aes_decrypt(aes_encrypt(k,"doris","abcdefghij", "AES_256_CFB"),"doris","abcdefghij","AES_256_CFB") from quantile_table2; """ + qt_sql46 """ select aes_decrypt(aes_encrypt(k,k,"abcdefghij", "AES_256_CFB"),k,"abcdefghij", "AES_256_CFB") from quantile_table2; """ + qt_sql47 """ select aes_decrypt(aes_encrypt("zhang","doris","abcdefghij", "AES_256_CFB"),"doris","abcdefghij", "AES_256_CFB") from quantile_table2; """ + qt_sql48 """ select aes_decrypt(aes_encrypt("zhang",k,"abcdefghij", "AES_256_CFB"),k,"abcdefghij", "AES_256_CFB") from quantile_table2; """ + + qt_sql49 """ select aes_decrypt(aes_encrypt(k,"doris",k2, "AES_256_CFB"),"doris",k2,"AES_256_CFB") from quantile_table2; """ + qt_sql50 """ select aes_decrypt(aes_encrypt(k,k,k2, "AES_256_CFB"),k,k2, "AES_256_CFB") from quantile_table2; """ + qt_sql51 """ select aes_decrypt(aes_encrypt("zhang","doris",k2, "AES_256_CFB"),"doris",k2, "AES_256_CFB") from quantile_table2; """ + qt_sql52 """ select aes_decrypt(aes_encrypt("zhang",k,k2, "AES_256_CFB"),k,k2, "AES_256_CFB") from quantile_table2; """ + + qt_sql53 """ select aes_decrypt(aes_encrypt(k,k1,k2, "AES_256_CFB"),k1,k2,"AES_256_CFB") from quantile_table2; """ + qt_sql54 """ select aes_decrypt(aes_encrypt(k,k1,k2, "AES_256_CFB"),k1,k2, "AES_256_CFB") from quantile_table2; """ + qt_sql55 """ select aes_decrypt(aes_encrypt("zhang",k1,k2, "AES_256_CFB"),k1,k2, "AES_256_CFB") from quantile_table2; """ + qt_sql56 """ select aes_decrypt(aes_encrypt("zhang",k1,k2, "AES_256_CFB"),k1,k2, "AES_256_CFB") from quantile_table2; """ } From dd8b0ee480bad63de11159575beae8a32f03e387 Mon Sep 17 00:00:00 2001 From: Vallish Pai Date: Tue, 10 Sep 2024 09:55:25 +0530 Subject: [PATCH 141/199] [Enhancement] doris to support function SESSION_USER() (#39575) ## Proposed changes Issue Number: close #39574 Added support for new scalar function session_user() when run sqlmap tool on Doris master it gave error like session_user() function not found. mysql support this function. https://www.w3schools.com/sql/func_mysql_session_user.asp Its similar to Doris user() function. mysql> select SESSION_USER(); +--------------------+ | session_user() | +--------------------+ | 'root'@'127.0.0.1' | +--------------------+ 1 row in set (0.01 sec) mysql> select session_user(); +--------------------+ | session_user() | +--------------------+ | 'root'@'127.0.0.1' | +--------------------+ 1 row in set (0.00 sec) mysql> --- .../org/apache/doris/nereids/DorisLexer.g4 | 1 + .../org/apache/doris/nereids/DorisParser.g4 | 3 + .../doris/catalog/BuiltinScalarFunctions.java | 4 +- .../nereids/parser/LogicalPlanBuilder.java | 6 ++ .../rules/FoldConstantRuleOnFE.java | 10 +++- .../functions/scalar/SessionUser.java | 59 +++++++++++++++++++ .../visitor/ScalarFunctionVisitor.java | 5 ++ .../query_p0/system/test_query_sys.groovy | 1 + 8 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/SessionUser.java diff --git a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 index 2343f208642d6e..e3ae9788e6af14 100644 --- a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 +++ b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 @@ -472,6 +472,7 @@ SEMI: 'SEMI'; SEQUENCE: 'SEQUENCE'; SERIALIZABLE: 'SERIALIZABLE'; SESSION: 'SESSION'; +SESSION_USER: 'SESSION_USER'; SET: 'SET'; SETS: 'SETS'; SET_SESSION_VARIABLE: 'SET_SESSION_VARIABLE'; diff --git a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 index 087af9d717de13..008425fb5a197e 100644 --- a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 +++ b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 @@ -1510,6 +1510,7 @@ primaryExpression | name=LOCALTIME #localTime | name=LOCALTIMESTAMP #localTimestamp | name=CURRENT_USER #currentUser + | name=SESSION_USER #sessionUser | CASE whenClause+ (ELSE elseExpression=expression)? END #searchedCase | CASE value=expression whenClause+ (ELSE elseExpression=expression)? END #simpleCase | name=CAST LEFT_PAREN expression AS castDataType RIGHT_PAREN #cast @@ -1577,6 +1578,7 @@ functionNameIdentifier | REGEXP | RIGHT | SCHEMA + | SESSION_USER | TRIM | USER ; @@ -2031,6 +2033,7 @@ nonReserved | SET_SESSION_VARIABLE | SEQUENCE | SESSION + | SESSION_USER | SHAPE | SKEW | SNAPSHOT diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java index bcb0864b64f2e2..86ed6e55ab5c6b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java @@ -360,6 +360,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.SecondsAdd; import org.apache.doris.nereids.trees.expressions.functions.scalar.SecondsDiff; import org.apache.doris.nereids.trees.expressions.functions.scalar.SecondsSub; +import org.apache.doris.nereids.trees.expressions.functions.scalar.SessionUser; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sha1; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sha2; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sign; @@ -934,7 +935,8 @@ public class BuiltinScalarFunctions implements FunctionHelper { scalar(YearsAdd.class, "years_add"), scalar(YearsDiff.class, "years_diff"), scalar(YearsSub.class, "years_sub"), - scalar(MultiMatch.class, "multi_match")); + scalar(MultiMatch.class, "multi_match"), + scalar(SessionUser.class, "session_user")); public static final BuiltinScalarFunctions INSTANCE = new BuiltinScalarFunctions(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java index 67ef1ca48c2f02..732b41acc91f1e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java @@ -327,6 +327,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.SecondsAdd; import org.apache.doris.nereids.trees.expressions.functions.scalar.SecondsDiff; import org.apache.doris.nereids.trees.expressions.functions.scalar.SecondsSub; +import org.apache.doris.nereids.trees.expressions.functions.scalar.SessionUser; import org.apache.doris.nereids.trees.expressions.functions.scalar.WeekCeil; import org.apache.doris.nereids.trees.expressions.functions.scalar.WeekFloor; import org.apache.doris.nereids.trees.expressions.functions.scalar.WeeksAdd; @@ -2049,6 +2050,11 @@ public Expression visitCurrentUser(DorisParser.CurrentUserContext ctx) { return new CurrentUser().alias("CURRENT_USER"); } + @Override + public Expression visitSessionUser(DorisParser.SessionUserContext ctx) { + return new SessionUser().alias("SESSION_USER"); + } + @Override public Expression visitDoublePipes(DorisParser.DoublePipesContext ctx) { return ParserUtils.withOrigin(ctx, () -> { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java index fdd3b02e6fd483..1b830c7d11de41 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java @@ -63,6 +63,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.EncryptKeyRef; import org.apache.doris.nereids.trees.expressions.functions.scalar.If; import org.apache.doris.nereids.trees.expressions.functions.scalar.Password; +import org.apache.doris.nereids.trees.expressions.functions.scalar.SessionUser; import org.apache.doris.nereids.trees.expressions.functions.scalar.User; import org.apache.doris.nereids.trees.expressions.functions.scalar.Version; import org.apache.doris.nereids.trees.expressions.literal.ArrayLiteral; @@ -164,7 +165,8 @@ public List> buildRules() { matches(Password.class, this::visitPassword), matches(Array.class, this::visitArray), matches(Date.class, this::visitDate), - matches(Version.class, this::visitVersion) + matches(Version.class, this::visitVersion), + matches(SessionUser.class, this::visitSessionUser) ); } @@ -326,6 +328,12 @@ public Expression visitUser(User user, ExpressionRewriteContext context) { return new VarcharLiteral(res); } + @Override + public Expression visitSessionUser(SessionUser user, ExpressionRewriteContext context) { + String res = context.cascadesContext.getConnectContext().getUserIdentity().toString(); + return new VarcharLiteral(res); + } + @Override public Expression visitConnectionId(ConnectionId connectionId, ExpressionRewriteContext context) { return new BigIntLiteral(context.cascadesContext.getConnectContext().getConnectionId()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/SessionUser.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/SessionUser.java new file mode 100644 index 00000000000000..b91e2c30942a43 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/SessionUser.java @@ -0,0 +1,59 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.expressions.functions.scalar; + +import org.apache.doris.catalog.FunctionSignature; +import org.apache.doris.nereids.trees.expressions.functions.AlwaysNotNullable; +import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; +import org.apache.doris.nereids.trees.expressions.shape.LeafExpression; +import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; +import org.apache.doris.nereids.types.VarcharType; + +import com.google.common.collect.ImmutableList; + +import java.util.List; + +/** + * ScalarFunction 'SessionUser'. + */ +public class SessionUser extends ScalarFunction + implements LeafExpression, ExplicitlyCastableSignature, AlwaysNotNullable { + + public static final List SIGNATURES = ImmutableList.of( + FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args() + ); + + public SessionUser() { + super("session_user", ImmutableList.of()); + } + + @Override + public List getSignatures() { + return SIGNATURES; + } + + @Override + public R accept(ExpressionVisitor visitor, C context) { + return visitor.visitSessionUser(this, context); + } + + @Override + public boolean isDeterministic() { + return false; + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java index 20772ae716be2f..8741da5c7d63ec 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java @@ -358,6 +358,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.SecondsAdd; import org.apache.doris.nereids.trees.expressions.functions.scalar.SecondsDiff; import org.apache.doris.nereids.trees.expressions.functions.scalar.SecondsSub; +import org.apache.doris.nereids.trees.expressions.functions.scalar.SessionUser; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sha1; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sha2; import org.apache.doris.nereids.trees.expressions.functions.scalar.Sign; @@ -2084,6 +2085,10 @@ default R visitUser(User user, C context) { return visitScalarFunction(user, context); } + default R visitSessionUser(SessionUser user, C context) { + return visitScalarFunction(user, context); + } + default R visitUtcTimestamp(UtcTimestamp utcTimestamp, C context) { return visitScalarFunction(utcTimestamp, context); } diff --git a/regression-test/suites/query_p0/system/test_query_sys.groovy b/regression-test/suites/query_p0/system/test_query_sys.groovy index b17500a0ccba0d..dd7998b010f9c8 100644 --- a/regression-test/suites/query_p0/system/test_query_sys.groovy +++ b/regression-test/suites/query_p0/system/test_query_sys.groovy @@ -35,6 +35,7 @@ suite("test_query_sys", "query,p0") { } sql "SELECT CONNECTION_ID();" sql "SELECT CURRENT_USER();" + sql "SELECT SESSION_USER();" sql "SELECT CURRENT_CATALOG();" // sql "select now();" sql "select localtime();" From 943ac0425a018628dd8a79123a93262965cab339 Mon Sep 17 00:00:00 2001 From: Vallish Pai Date: Tue, 10 Sep 2024 11:08:57 +0530 Subject: [PATCH 142/199] [fix](systable) refactor code to avoid wrong usage (#40568) ## Proposed changes Issue Number: close #xxx refactor code to avoid wrong usage Followup #40153 #40553 Test result: mysql> select * from routines; +---------------------+-----------------+----------------+---------------------+--------------+----------------+-----------------------------------------------------------------------------------------+--------------------+---------------+-------------------+-----------------+------------------+-----------------+----------+---------------+---------------------+---------------------+----------+-----------------+---------+----------------------+----------------------+--------------------+ | SPECIFIC_NAME | ROUTINE_CATALOG | ROUTINE_SCHEMA | ROUTINE_NAME | ROUTINE_TYPE | DTD_IDENTIFIER | ROUTINE_BODY | ROUTINE_DEFINITION | EXTERNAL_NAME | EXTERNAL_LANGUAGE | PARAMETER_STYLE | IS_DETERMINISTIC | SQL_DATA_ACCESS | SQL_PATH | SECURITY_TYPE | CREATED | LAST_ALTERED | SQL_MODE | ROUTINE_COMMENT | DEFINER | CHARACTER_SET_CLIENT | COLLATION_CONNECTION | DATABASE_COLLATION | +---------------------+-----------------+----------------+---------------------+--------------+----------------+-----------------------------------------------------------------------------------------+--------------------+---------------+-------------------+-----------------+------------------+-----------------+----------+---------------+---------------------+---------------------+----------+-----------------+---------+----------------------+----------------------+--------------------+ | TEST_PLSQL_ROUTINE2 | 0 | plsql_routine | TEST_PLSQL_ROUTINE2 | PROCEDURE | | CREATE OR REPLACE PROCEDURE test_plsql_routine2() BEGIN DECLARE a int = 1; print a; END | | NULL | | SQL | | | NULL | DEFINER | 2024-09-09 13:54:47 | 2024-09-09 13:54:47 | | | root | | | | | TEST_PLSQL_ROUTINE3 | 0 | plsql_routine | TEST_PLSQL_ROUTINE3 | PROCEDURE | | CREATE OR REPLACE PROCEDURE test_plsql_routine3() BEGIN DECLARE a int = 1; print a; END | | NULL | | SQL | | | NULL | DEFINER | 2024-09-09 13:54:47 | 2024-09-09 13:54:47 | | | root | | | | | TEST_PLSQL_ROUTINE4 | 0 | plsql_routine | TEST_PLSQL_ROUTINE4 | PROCEDURE | | CREATE OR REPLACE PROCEDURE test_plsql_routine4() BEGIN DECLARE a int = 1; print a; END | | NULL | | SQL | | | NULL | DEFINER | 2024-09-09 13:54:47 | 2024-09-09 13:54:47 | | | root | | | | | TEST_PLSQL_ROUTINE5 | 0 | plsql_routine | TEST_PLSQL_ROUTINE5 | PROCEDURE | | CREATE OR REPLACE PROCEDURE test_plsql_routine5() BEGIN DECLARE a int = 1; print a; END | | NULL | | SQL | | | NULL | DEFINER | 2024-09-09 13:54:47 | 2024-09-09 13:54:47 | | | root | | | | | TEST_PLSQL_ROUTINE1 | 0 | plsql_routine | TEST_PLSQL_ROUTINE1 | PROCEDURE | | CREATE OR REPLACE PROCEDURE test_plsql_routine1() BEGIN DECLARE a int = 1; print a; END | | NULL | | SQL | | | NULL | DEFINER | 2024-09-09 13:54:48 | 2024-09-09 13:54:48 | | | root | | | | +---------------------+-----------------+----------------+---------------------+--------------+----------------+-----------------------------------------------------------------------------------------+--------------------+---------------+-------------------+-----------------+------------------+------- mysql> select UPDATE_TIME from partitions; +---------------------+ | UPDATE_TIME | +---------------------+ | 2024-09-05 05:54:25 | | 2024-09-05 05:54:25 | | 2024-09-05 05:54:25 | | 2024-09-09 13:27:46 | | 2024-09-09 13:26:20 | | 2024-09-09 13:26:20 | | 2024-09-09 13:26:20 | | 2024-09-09 13:26:20 | | 2024-09-09 13:26:20 | | 2024-09-09 13:26:20 | | 2024-09-09 13:26:20 | | 2024-09-09 13:27:46 | | 2024-09-09 13:27:46 | mysql> select * from active_queries; +-----------------------------------+---------------------+---------------+-------------------+--------------------+-------------------+------------------+----------------+--------------+------------------------------+ | QUERY_ID | QUERY_START_TIME | QUERY_TIME_MS | WORKLOAD_GROUP_ID | DATABASE | FRONTEND_INSTANCE | QUEUE_START_TIME | QUEUE_END_TIME | QUERY_STATUS | SQL | +-----------------------------------+---------------------+---------------+-------------------+--------------------+-------------------+------------------+----------------+--------------+------------------------------+ | 8c51705601bf4403-929f1b15051af48e | 2024-09-09 14:06:15 | 19 | 1 | information_schema | 172.20.80.1 | | | | select * from active_queries | +-----------------------------------+---------------------+---------------+-------------------+--------------------+-------------------+------------------+----------------+--------------+------------------------------+ --- be/src/exec/schema_scanner.cpp | 11 ++++++++ .../schema_active_queries_scanner.cpp | 26 +++---------------- .../schema_partitions_scanner.cpp | 18 ++----------- .../schema_scanner/schema_routine_scanner.cpp | 15 ++--------- 4 files changed, 19 insertions(+), 51 deletions(-) diff --git a/be/src/exec/schema_scanner.cpp b/be/src/exec/schema_scanner.cpp index cce150670353d9..90140e748f5d6b 100644 --- a/be/src/exec/schema_scanner.cpp +++ b/be/src/exec/schema_scanner.cpp @@ -453,6 +453,17 @@ Status SchemaScanner::insert_block_column(TCell cell, int col_index, vectorized: break; } + case TYPE_DATETIME: { + std::vector datas(1); + VecDateTimeValue src[1]; + src[0].from_date_str(cell.stringVal.data(), cell.stringVal.size()); + datas[0] = src; + auto data = datas[0]; + reinterpret_cast*>(col_ptr)->insert_data( + reinterpret_cast(data), 0); + nullable_column->get_null_map_data().emplace_back(0); + break; + } default: { std::stringstream ss; ss << "unsupported column type:" << type; diff --git a/be/src/exec/schema_scanner/schema_active_queries_scanner.cpp b/be/src/exec/schema_scanner/schema_active_queries_scanner.cpp index 2b516fc6fdac2b..6aa6e758999fb0 100644 --- a/be/src/exec/schema_scanner/schema_active_queries_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_active_queries_scanner.cpp @@ -17,7 +17,6 @@ #include "exec/schema_scanner/schema_active_queries_scanner.h" -#include "exec/schema_scanner/schema_scanner_helper.h" #include "runtime/client_cache.h" #include "runtime/exec_env.h" #include "runtime/runtime_state.h" @@ -101,27 +100,10 @@ Status SchemaActiveQueriesScanner::_get_active_queries_block_from_fe() { for (int i = 0; i < result_data.size(); i++) { TRow row = result_data[i]; - - SchemaScannerHelper::insert_string_value(0, row.column_value[0].stringVal, - _active_query_block.get()); - SchemaScannerHelper::insert_string_value(1, row.column_value[1].stringVal, - _active_query_block.get()); - SchemaScannerHelper::insert_int_value(2, row.column_value[2].longVal, - _active_query_block.get()); - SchemaScannerHelper::insert_int_value(3, row.column_value[3].longVal, - _active_query_block.get()); - SchemaScannerHelper::insert_string_value(4, row.column_value[4].stringVal, - _active_query_block.get()); - SchemaScannerHelper::insert_string_value(5, row.column_value[5].stringVal, - _active_query_block.get()); - SchemaScannerHelper::insert_string_value(6, row.column_value[6].stringVal, - _active_query_block.get()); - SchemaScannerHelper::insert_string_value(7, row.column_value[7].stringVal, - _active_query_block.get()); - SchemaScannerHelper::insert_string_value(8, row.column_value[8].stringVal, - _active_query_block.get()); - SchemaScannerHelper::insert_string_value(9, row.column_value[9].stringVal, - _active_query_block.get()); + for (int j = 0; j < _s_tbls_columns.size(); j++) { + RETURN_IF_ERROR(insert_block_column(row.column_value[j], j, _active_query_block.get(), + _s_tbls_columns[j].type)); + } } return Status::OK(); } diff --git a/be/src/exec/schema_scanner/schema_partitions_scanner.cpp b/be/src/exec/schema_scanner/schema_partitions_scanner.cpp index 9f86fe6feb49d9..ebe2bd3b70ec0e 100644 --- a/be/src/exec/schema_scanner/schema_partitions_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_partitions_scanner.cpp @@ -22,7 +22,6 @@ #include #include "exec/schema_scanner/schema_helper.h" -#include "exec/schema_scanner/schema_scanner_helper.h" #include "runtime/client_cache.h" #include "runtime/exec_env.h" #include "runtime/runtime_state.h" @@ -147,22 +146,9 @@ Status SchemaPartitionsScanner::get_onedb_info_from_fe(int64_t dbId) { for (int i = 0; i < result_data.size(); i++) { TRow row = result_data[i]; - for (int j = 0; j < _s_tbls_columns.size(); j++) { - if ((_s_tbls_columns[j].type == TYPE_BIGINT) || _s_tbls_columns[j].type == TYPE_INT) { - SchemaScannerHelper::insert_int_value(j, row.column_value[j].longVal, - _partitions_block.get()); - } else if (_s_tbls_columns[j].type == TYPE_DATETIME) { - std::vector datas(1); - VecDateTimeValue src[1]; - src[0].from_date_str(row.column_value[j].stringVal.data(), - row.column_value[j].stringVal.size()); - datas[0] = src; - SchemaScannerHelper::insert_datetime_value(j, datas, _partitions_block.get()); - } else { - SchemaScannerHelper::insert_string_value(j, row.column_value[j].stringVal, - _partitions_block.get()); - } + RETURN_IF_ERROR(insert_block_column(row.column_value[j], j, _partitions_block.get(), + _s_tbls_columns[j].type)); } } return Status::OK(); diff --git a/be/src/exec/schema_scanner/schema_routine_scanner.cpp b/be/src/exec/schema_scanner/schema_routine_scanner.cpp index adb18450f26490..e8d95f0abd6d36 100644 --- a/be/src/exec/schema_scanner/schema_routine_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_routine_scanner.cpp @@ -17,7 +17,6 @@ #include "exec/schema_scanner/schema_routine_scanner.h" -#include "exec/schema_scanner/schema_scanner_helper.h" #include "runtime/client_cache.h" #include "runtime/exec_env.h" #include "runtime/runtime_state.h" @@ -103,19 +102,9 @@ Status SchemaRoutinesScanner::get_block_from_fe() { for (int i = 0; i < result_data.size(); i++) { TRow row = result_data[i]; - for (int j = 0; j < _s_tbls_columns.size(); j++) { - if (_s_tbls_columns[j].type == TYPE_DATETIME) { - std::vector datas(1); - VecDateTimeValue src[1]; - src[0].from_date_str(row.column_value[j].stringVal.data(), - row.column_value[j].stringVal.size()); - datas[0] = src; - SchemaScannerHelper::insert_datetime_value(j, datas, _routines_block.get()); - } else { - SchemaScannerHelper::insert_string_value(j, row.column_value[j].stringVal, - _routines_block.get()); - } + RETURN_IF_ERROR(insert_block_column(row.column_value[j], j, _routines_block.get(), + _s_tbls_columns[j].type)); } } return Status::OK(); From 140857fa7f4ec93065a9db7fc053769069972a19 Mon Sep 17 00:00:00 2001 From: Siyang Tang <82279870+TangSiyang2001@users.noreply.github.com> Date: Tue, 10 Sep 2024 14:22:35 +0800 Subject: [PATCH 143/199] [feature](compaction) Add an http action for visibility of compaction score on each tablet (#38489) ## Proposed changes As title. Usage: 1. `curl http://be_ip:be_host/api/compaction_score?top_n=10` Returns a json object contains compaction score for top n, n=top_n. ``` [ { "compaction_score": "5", "tablet_id": "42595" }, { "compaction_score": "5", "tablet_id": "42587" }, { "compaction_score": "5", "tablet_id": "42593" }, { "compaction_score": "5", "tablet_id": "42597" }, { "compaction_score": "5", "tablet_id": "42589" }, { "compaction_score": "5", "tablet_id": "42599" }, { "compaction_score": "5", "tablet_id": "42601" }, { "compaction_score": "5", "tablet_id": "42591" }, { "compaction_score": "5", "tablet_id": "42585" }, { "compaction_score": "4", "tablet_id": "10034" } ] ``` If top_n is not specified, return all compaction score for all tablets. If top_n is illegal, raise an error. ``` invalid argument: top_n=wrong ``` 2. `curl http://be_ip:be_host/api/compaction_score?sync_meta=true` `sync_meta` is only available on cloud mode, will sync meta from meta service. It can cooperate with top_n. If add param `sync_meta` on non-cloud mode, will raise an error. ``` sync meta is only available for cloud mode ``` 3. In the future, this endpoint may extend other utility, like fetching tablet compaction score by table id, etc. --- .../http/action/compaction_score_action.cpp | 236 ++++++++++++++++++ be/src/http/action/compaction_score_action.h | 66 +++++ be/src/olap/base_tablet.cpp | 9 + be/src/olap/base_tablet.h | 4 + be/src/olap/tablet.cpp | 3 + be/src/service/http_service.cpp | 11 + .../test_compaction_score_action.groovy | 53 ++++ 7 files changed, 382 insertions(+) create mode 100644 be/src/http/action/compaction_score_action.cpp create mode 100644 be/src/http/action/compaction_score_action.h create mode 100644 regression-test/suites/compaction/test_compaction_score_action.groovy diff --git a/be/src/http/action/compaction_score_action.cpp b/be/src/http/action/compaction_score_action.cpp new file mode 100644 index 00000000000000..10b8cc6bdbab04 --- /dev/null +++ b/be/src/http/action/compaction_score_action.cpp @@ -0,0 +1,236 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +#include "http/action/compaction_score_action.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "cloud/cloud_storage_engine.h" +#include "cloud/cloud_tablet.h" +#include "cloud/cloud_tablet_mgr.h" +#include "cloud/config.h" +#include "common/status.h" +#include "http/http_channel.h" +#include "http/http_handler_with_auth.h" +#include "http/http_headers.h" +#include "http/http_request.h" +#include "http/http_status.h" +#include "olap/tablet_fwd.h" +#include "olap/tablet_manager.h" +#include "util/stopwatch.hpp" + +namespace doris { + +const std::string TOP_N = "top_n"; +const std::string SYNC_META = "sync_meta"; +const std::string COMPACTION_SCORE = "compaction_score"; +constexpr size_t DEFAULT_TOP_N = std::numeric_limits::max(); +constexpr bool DEFAULT_SYNC_META = false; +constexpr std::string_view TABLET_ID = "tablet_id"; + +template +concept CompactionScoreAccessble = requires(T t) { + { t.get_real_compaction_score() } -> std::same_as; +}; + +template +std::vector calculate_compaction_scores( + std::span> tablets) { + std::vector result; + result.reserve(tablets.size()); + std::ranges::transform(tablets, std::back_inserter(result), + [](const std::shared_ptr& tablet) -> CompactionScoreResult { + return {.tablet_id = tablet->tablet_id(), + .compaction_score = tablet->get_real_compaction_score()}; + }); + return result; +} + +struct LocalCompactionScoreAccessor final : CompactionScoresAccessor { + LocalCompactionScoreAccessor(TabletManager* tablet_mgr) : tablet_mgr(tablet_mgr) {} + + std::vector get_all_tablet_compaction_scores() override { + auto tablets = tablet_mgr->get_all_tablet(); + std::span s = {tablets.begin(), tablets.end()}; + return calculate_compaction_scores(s); + } + + TabletManager* tablet_mgr; +}; + +struct CloudCompactionScoresAccessor final : CompactionScoresAccessor { + CloudCompactionScoresAccessor(CloudTabletMgr& tablet_mgr) : tablet_mgr(tablet_mgr) {} + + std::vector get_all_tablet_compaction_scores() override { + auto tablets = get_all_tablets(); + std::span s = {tablets.begin(), tablets.end()}; + return calculate_compaction_scores(s); + } + + Status sync_meta() { + auto tablets = get_all_tablets(); + LOG(INFO) << "start to sync meta from ms"; + + MonotonicStopWatch stopwatch; + stopwatch.start(); + + for (const auto& tablet : tablets) { + RETURN_IF_ERROR(tablet->sync_meta()); + RETURN_IF_ERROR(tablet->sync_rowsets()); + } + + stopwatch.stop(); + LOG(INFO) << "sync meta finish, time=" << stopwatch.elapsed_time() << "ns"; + + return Status::OK(); + } + + std::vector get_all_tablets() { + auto weak_tablets = tablet_mgr.get_weak_tablets(); + std::vector tablets; + tablets.reserve(weak_tablets.size()); + for (auto& weak_tablet : weak_tablets) { + if (auto tablet = weak_tablet.lock(); + tablet != nullptr and tablet->tablet_state() == TABLET_RUNNING) { + tablets.push_back(std::move(tablet)); + } + } + return tablets; + } + + CloudTabletMgr& tablet_mgr; +}; + +static rapidjson::Value jsonfy_tablet_compaction_score( + const CompactionScoreResult& result, rapidjson::MemoryPoolAllocator<>& allocator) { + rapidjson::Value node; + node.SetObject(); + + rapidjson::Value tablet_id_key; + tablet_id_key.SetString(TABLET_ID.data(), TABLET_ID.length(), allocator); + rapidjson::Value tablet_id_val; + auto tablet_id_str = std::to_string(result.tablet_id); + tablet_id_val.SetString(tablet_id_str.c_str(), tablet_id_str.length(), allocator); + + rapidjson::Value score_key; + score_key.SetString(COMPACTION_SCORE.data(), COMPACTION_SCORE.size()); + rapidjson::Value score_val; + auto score_str = std::to_string(result.compaction_score); + score_val.SetString(score_str.c_str(), score_str.length(), allocator); + node.AddMember(score_key, score_val, allocator); + + node.AddMember(tablet_id_key, tablet_id_val, allocator); + return node; +} + +CompactionScoreAction::CompactionScoreAction(ExecEnv* exec_env, TPrivilegeHier::type hier, + TPrivilegeType::type type, TabletManager* tablet_mgr) + : HttpHandlerWithAuth(exec_env, hier, type), + _accessor(std::make_unique(tablet_mgr)) {} + +CompactionScoreAction::CompactionScoreAction(ExecEnv* exec_env, TPrivilegeHier::type hier, + TPrivilegeType::type type, CloudTabletMgr& tablet_mgr) + : HttpHandlerWithAuth(exec_env, hier, type), + _accessor(std::make_unique(tablet_mgr)) {} + +void CompactionScoreAction::handle(HttpRequest* req) { + req->add_output_header(HttpHeaders::CONTENT_TYPE, HttpHeaders::JsonType.data()); + auto top_n_param = req->param(TOP_N); + + size_t top_n = DEFAULT_TOP_N; + if (!top_n_param.empty()) { + try { + auto tmp_top_n = std::stoll(top_n_param); + if (tmp_top_n < 0) { + throw std::invalid_argument("`top_n` cannot less than 0"); + } + top_n = tmp_top_n; + } catch (const std::exception& e) { + LOG(WARNING) << "convert failed:" << e.what(); + auto msg = fmt::format("invalid argument: top_n={}", top_n_param); + HttpChannel::send_reply(req, HttpStatus::BAD_REQUEST, msg); + return; + } + } + + auto sync_meta_param = req->param(SYNC_META); + bool sync_meta = DEFAULT_SYNC_META; + if (!sync_meta_param.empty() and !config::is_cloud_mode()) { + HttpChannel::send_reply(req, HttpStatus::BAD_REQUEST, + "param `sync_meta` is only available for cloud mode"); + return; + } + if (sync_meta_param == "true") { + sync_meta = true; + } else if (sync_meta_param == "false") { + sync_meta = false; + } else if (!sync_meta_param.empty()) { + auto msg = fmt::format("invalid argument: sync_meta={}", sync_meta_param); + HttpChannel::send_reply(req, HttpStatus::BAD_REQUEST, msg); + return; + } + + std::string result; + if (auto st = _handle(top_n, sync_meta, &result); !st) { + HttpChannel::send_reply(req, HttpStatus::INTERNAL_SERVER_ERROR, st.to_json()); + return; + } + HttpChannel::send_reply(req, HttpStatus::OK, result); +} + +Status CompactionScoreAction::_handle(size_t top_n, bool sync_meta, std::string* result) { + if (sync_meta) { + DCHECK(config::is_cloud_mode()); + RETURN_IF_ERROR(static_cast(_accessor.get())->sync_meta()); + } + + auto scores = _accessor->get_all_tablet_compaction_scores(); + top_n = std::min(top_n, scores.size()); + std::partial_sort(scores.begin(), scores.begin() + top_n, scores.end(), std::greater<>()); + + rapidjson::Document root; + root.SetArray(); + auto& allocator = root.GetAllocator(); + std::for_each(scores.begin(), scores.begin() + top_n, [&](const auto& score) { + root.PushBack(jsonfy_tablet_compaction_score(score, allocator), allocator); + }); + rapidjson::StringBuffer str_buf; + rapidjson::PrettyWriter writer(str_buf); + root.Accept(writer); + *result = str_buf.GetString(); + return Status::OK(); +} + +} // namespace doris diff --git a/be/src/http/action/compaction_score_action.h b/be/src/http/action/compaction_score_action.h new file mode 100644 index 00000000000000..1c345a4ae24c65 --- /dev/null +++ b/be/src/http/action/compaction_score_action.h @@ -0,0 +1,66 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include + +#include +#include +#include + +#include "cloud/cloud_tablet_mgr.h" +#include "common/status.h" +#include "http/http_handler_with_auth.h" +#include "http/http_request.h" +#include "olap/storage_engine.h" +#include "runtime/exec_env.h" +namespace doris { + +struct CompactionScoreResult { + int64_t tablet_id; + size_t compaction_score; +}; + +inline bool operator>(const CompactionScoreResult& lhs, const CompactionScoreResult& rhs) { + return lhs.compaction_score > rhs.compaction_score; +} + +struct CompactionScoresAccessor { + virtual ~CompactionScoresAccessor() = default; + + virtual std::vector get_all_tablet_compaction_scores() = 0; +}; + +// topn, sync +class CompactionScoreAction : public HttpHandlerWithAuth { +public: + explicit CompactionScoreAction(ExecEnv* exec_env, TPrivilegeHier::type hier, + TPrivilegeType::type type, TabletManager* tablet_mgr); + + explicit CompactionScoreAction(ExecEnv* exec_env, TPrivilegeHier::type hier, + TPrivilegeType::type type, CloudTabletMgr& tablet_mgr); + + void handle(HttpRequest* req) override; + +private: + Status _handle(size_t top_n, bool sync_meta, std::string* result); + + std::unique_ptr _accessor; +}; + +} // namespace doris diff --git a/be/src/olap/base_tablet.cpp b/be/src/olap/base_tablet.cpp index 143c1ad706bbe7..1fd3b785b9072f 100644 --- a/be/src/olap/base_tablet.cpp +++ b/be/src/olap/base_tablet.cpp @@ -29,6 +29,7 @@ #include "olap/rowid_conversion.h" #include "olap/rowset/beta_rowset.h" #include "olap/rowset/rowset.h" +#include "olap/rowset/rowset_fwd.h" #include "olap/rowset/rowset_reader.h" #include "olap/tablet_fwd.h" #include "olap/txn_manager.h" @@ -182,6 +183,14 @@ Status BaseTablet::update_by_least_common_schema(const TabletSchemaSPtr& update_ return Status::OK(); } +uint32_t BaseTablet::get_real_compaction_score() const { + const auto& rs_metas = _tablet_meta->all_rs_metas(); + return std::accumulate(rs_metas.begin(), rs_metas.end(), 0, + [](uint32_t score, const RowsetMetaSharedPtr& rs_meta) { + return score + rs_meta->get_compaction_score(); + }); +} + Status BaseTablet::capture_rs_readers_unlocked(const Versions& version_path, std::vector* rs_splits) const { DCHECK(rs_splits != nullptr && rs_splits->empty()); diff --git a/be/src/olap/base_tablet.h b/be/src/olap/base_tablet.h index cfaf536902e03e..943f815581809a 100644 --- a/be/src/olap/base_tablet.h +++ b/be/src/olap/base_tablet.h @@ -105,6 +105,10 @@ class BaseTablet { virtual size_t tablet_footprint() = 0; + // this method just return the compaction sum on each rowset + // note(tsy): we should unify the compaction score calculation finally + uint32_t get_real_compaction_score() const; + // MUST hold shared meta lock Status capture_rs_readers_unlocked(const Versions& version_path, std::vector* rs_splits) const; diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp index da7a4ec8a6e260..66278afdb666ee 100644 --- a/be/src/olap/tablet.cpp +++ b/be/src/olap/tablet.cpp @@ -1023,6 +1023,9 @@ uint32_t Tablet::calc_cold_data_compaction_score() const { uint32_t Tablet::_calc_cumulative_compaction_score( std::shared_ptr cumulative_compaction_policy) { + if (cumulative_compaction_policy == nullptr) [[unlikely]] { + return 0; + } #ifndef BE_TEST if (_cumulative_compaction_policy == nullptr || _cumulative_compaction_policy->name() != cumulative_compaction_policy->name()) { diff --git a/be/src/service/http_service.cpp b/be/src/service/http_service.cpp index 9f98a86bda4c98..f2c325bebc7806 100644 --- a/be/src/service/http_service.cpp +++ b/be/src/service/http_service.cpp @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -37,6 +38,7 @@ #include "http/action/checksum_action.h" #include "http/action/clear_cache_action.h" #include "http/action/compaction_action.h" +#include "http/action/compaction_score_action.h" #include "http/action/config_action.h" #include "http/action/debug_point_action.h" #include "http/action/download_action.h" @@ -381,6 +383,11 @@ void HttpService::register_local_handler(StorageEngine& engine) { new ShowNestedIndexFileAction(_env, TPrivilegeHier::GLOBAL, TPrivilegeType::ADMIN)); _ev_http_server->register_handler(HttpMethod::GET, "/api/show_nested_index_file", show_nested_index_file_action); + + CompactionScoreAction* compaction_score_action = _pool.add(new CompactionScoreAction( + _env, TPrivilegeHier::GLOBAL, TPrivilegeType::ADMIN, engine.tablet_manager())); + _ev_http_server->register_handler(HttpMethod::GET, "/api/compaction_score", + compaction_score_action); } void HttpService::register_cloud_handler(CloudStorageEngine& engine) { @@ -417,6 +424,10 @@ void HttpService::register_cloud_handler(CloudStorageEngine& engine) { new ShowNestedIndexFileAction(_env, TPrivilegeHier::GLOBAL, TPrivilegeType::ADMIN)); _ev_http_server->register_handler(HttpMethod::GET, "/api/show_nested_index_file", show_nested_index_file_action); + CompactionScoreAction* compaction_score_action = _pool.add(new CompactionScoreAction( + _env, TPrivilegeHier::GLOBAL, TPrivilegeType::ADMIN, engine.tablet_mgr())); + _ev_http_server->register_handler(HttpMethod::GET, "/api/compaction_score", + compaction_score_action); } // NOLINTEND(readability-function-size) diff --git a/regression-test/suites/compaction/test_compaction_score_action.groovy b/regression-test/suites/compaction/test_compaction_score_action.groovy new file mode 100644 index 00000000000000..9ab8743778fb10 --- /dev/null +++ b/regression-test/suites/compaction/test_compaction_score_action.groovy @@ -0,0 +1,53 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_compaction_score_action") { + def tableName = "test_compaction_score_action"; + + sql """ DROP TABLE IF EXISTS ${tableName} """ + sql """ + CREATE TABLE IF NOT EXISTS ${tableName} ( + id INT NOT NULL, + name STRING NOT NULL + ) DUPLICATE KEY (`id`) + PROPERTIES ("replication_num" = "1", "disable_auto_compaction" = "true"); + """ + for (i in 0..<30) { + sql """ INSERT INTO ${tableName} VALUES(1, "Vedal") """ + sql """ INSERT INTO ${tableName} VALUES(2, "Neuro") """ + sql """ INSERT INTO ${tableName} VALUES(3, "Evil") """ + } + + def backendId_to_backendIP = [:] + def backendId_to_backendHttpPort = [:] + getBackendIpHttpPort(backendId_to_backendIP, backendId_to_backendHttpPort); + + for (int i=0;i= 90) + } else { + def (code, text, err) = curl("GET",beHttpAddress+"/api/compaction_score?top_n=1") + def score_str = parseJson(text).get(0).get("compaction_score") + def score = Integer.parseInt(score_str) + assertTrue(score >= 90) + } + } +} From a98a137c8aa0d2f2854be3ac53c839c813df2a82 Mon Sep 17 00:00:00 2001 From: bobhan1 Date: Tue, 10 Sep 2024 14:38:38 +0800 Subject: [PATCH 144/199] [Fix](merge-on-write) AbstractInsertExecutor should throw exception after running out of retry times (#40436) ## Proposed changes For cloud mow table, `AbstractInsertExecutor` will retry for insert stmt. But it forget to throw exception after running out of retry times, resulting in returnning OK status to user with the possibility that the insert stmt is in fact not executed successfully. --- .../insert/AbstractInsertExecutor.java | 11 ++- .../BaseExternalTableInsertExecutor.java | 1 + .../commands/insert/OlapInsertExecutor.java | 1 + .../cloud/test_cloud_mow_insert_timeout.out | 11 +++ .../test_cloud_mow_insert_timeout.groovy | 88 +++++++++++++++++++ 5 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 regression-test/data/fault_injection_p0/cloud/test_cloud_mow_insert_timeout.out create mode 100644 regression-test/suites/fault_injection_p0/cloud/test_cloud_mow_insert_timeout.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/AbstractInsertExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/AbstractInsertExecutor.java index defcd6c6e997fa..cdf74f5e9aca3a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/AbstractInsertExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/AbstractInsertExecutor.java @@ -94,6 +94,8 @@ public String getLabelName() { return labelName; } + public abstract long getTxnId(); + /** * begin transaction if necessary */ @@ -192,14 +194,19 @@ public void executeSingleInsert(StmtExecutor executor, long jobId) throws Except execImpl(executor, jobId); checkStrictModeAndFilterRatio(); int retryTimes = 0; - while (retryTimes < Config.mow_insert_into_commit_retry_times) { + while (true) { try { onComplete(); break; } catch (UserException e) { - LOG.warn("failed to commit txn", e); + LOG.warn("failed to commit txn, txnId={}, jobId={}, retryTimes={}", + getTxnId(), jobId, retryTimes, e); if (e.getErrorCode() == InternalErrorCode.DELETE_BITMAP_LOCK_ERR) { retryTimes++; + if (retryTimes >= Config.mow_insert_into_commit_retry_times) { + // should throw exception after running out of retry times + throw e; + } } else { throw e; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java index 1c22b9bf56a846..a3aa33f96ab02c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java @@ -70,6 +70,7 @@ public BaseExternalTableInsertExecutor(ConnectContext ctx, ExternalTable table, } } + @Override public long getTxnId() { return txnId; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/OlapInsertExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/OlapInsertExecutor.java index 1262829aa481da..b57ac3834958d6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/OlapInsertExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/OlapInsertExecutor.java @@ -85,6 +85,7 @@ public OlapInsertExecutor(ConnectContext ctx, Table table, super(ctx, table, labelName, planner, insertCtx, emptyInsert); } + @Override public long getTxnId() { return txnId; } diff --git a/regression-test/data/fault_injection_p0/cloud/test_cloud_mow_insert_timeout.out b/regression-test/data/fault_injection_p0/cloud/test_cloud_mow_insert_timeout.out new file mode 100644 index 00000000000000..ee71e1e449d57d --- /dev/null +++ b/regression-test/data/fault_injection_p0/cloud/test_cloud_mow_insert_timeout.out @@ -0,0 +1,11 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !sql -- +1 1 1 +2 2 2 +3 3 3 + +-- !sql -- +1 1 1 +2 2 2 +3 3 3 + diff --git a/regression-test/suites/fault_injection_p0/cloud/test_cloud_mow_insert_timeout.groovy b/regression-test/suites/fault_injection_p0/cloud/test_cloud_mow_insert_timeout.groovy new file mode 100644 index 00000000000000..23d92f31e5ad8e --- /dev/null +++ b/regression-test/suites/fault_injection_p0/cloud/test_cloud_mow_insert_timeout.groovy @@ -0,0 +1,88 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import org.junit.Assert +import java.util.concurrent.TimeUnit +import org.awaitility.Awaitility + +suite("test_cloud_mow_insert_timeout", "nonConcurrent") { + if (!isCloudMode()) { + return + } + + GetDebugPoint().clearDebugPointsForAllFEs() + GetDebugPoint().clearDebugPointsForAllBEs() + + def table1 = "test_cloud_mow_insert_timeout" + sql "DROP TABLE IF EXISTS ${table1} FORCE;" + sql """ CREATE TABLE IF NOT EXISTS ${table1} ( + `k1` int NOT NULL, + `c1` int, + `c2` int + )UNIQUE KEY(k1) + DISTRIBUTED BY HASH(k1) BUCKETS 1 + PROPERTIES ( + "enable_mow_light_delete" = "false", + "enable_unique_key_merge_on_write" = "true", + "disable_auto_compaction" = "true", + "replication_num" = "1"); """ + + sql "insert into ${table1} values(1,1,1);" + sql "insert into ${table1} values(2,2,2);" + sql "insert into ${table1} values(3,3,3);" + sql "sync;" + order_qt_sql "select * from ${table1};" + + def customFeConfig = [ + delete_bitmap_lock_expiration_seconds : 5, + calculate_delete_bitmap_task_timeout_seconds : 2, + mow_insert_into_commit_retry_times : 2 + ] + + setFeConfigTemporary(customFeConfig) { + try { + explain { + sql "delete from ${table1} where k1=2;" + contains "IS_PARTIAL_UPDATE: true" + } + + // block the calculation of delete bitmap on BE + GetDebugPoint().enableDebugPointForAllBEs("BaseTablet::update_delete_bitmap.enable_spin_wait", [token: "token1"]) + GetDebugPoint().enableDebugPointForAllBEs("BaseTablet::update_delete_bitmap.block", [wait_token: "token1"]) + + // should return error after running out of try times + test { + sql "delete from ${table1} where k1=2;" + exception "Failed to calculate delete bitmap. Timeout." + } + + test { + sql "insert into ${table1} values(4,4,4)" + exception "Failed to calculate delete bitmap. Timeout." + } + + order_qt_sql "select * from ${table1};" + + } catch(Exception e) { + logger.info(e.getMessage()) + throw e + } finally { + GetDebugPoint().clearDebugPointsForAllBEs() + } + sql "DROP TABLE IF EXISTS ${table1};" + } +} From 4949a9e7d005944a3e765e23281fc4f45b427fb9 Mon Sep 17 00:00:00 2001 From: Gavin Chou Date: Tue, 10 Sep 2024 14:44:18 +0800 Subject: [PATCH 145/199] [opt](vault) Do not use latest_fs() in vault mode (#40516) To prevent incorrect storage backends selected by loading data, e.g. empty vault id passed from FE, we should not use latest_fs() in vault mode. --- be/src/cloud/cloud_meta_mgr.cpp | 8 ++++++-- be/src/cloud/cloud_meta_mgr.h | 9 ++++++++- be/src/cloud/cloud_storage_engine.cpp | 14 ++++++++++---- cloud/src/meta-service/meta_service_resource.cpp | 2 ++ gensrc/proto/cloud.proto | 1 + 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/be/src/cloud/cloud_meta_mgr.cpp b/be/src/cloud/cloud_meta_mgr.cpp index 8138ea52421102..816f1108299cb8 100644 --- a/be/src/cloud/cloud_meta_mgr.cpp +++ b/be/src/cloud/cloud_meta_mgr.cpp @@ -906,7 +906,7 @@ Status CloudMetaMgr::precommit_txn(const StreamLoadContext& ctx) { return retry_rpc("precommit txn", req, &res, &MetaService_Stub::precommit_txn); } -Status CloudMetaMgr::get_storage_vault_info(StorageVaultInfos* vault_infos) { +Status CloudMetaMgr::get_storage_vault_info(StorageVaultInfos* vault_infos, bool* is_vault_mode) { GetObjStoreInfoRequest req; GetObjStoreInfoResponse resp; req.set_cloud_unique_id(config::cloud_unique_id); @@ -916,6 +916,8 @@ Status CloudMetaMgr::get_storage_vault_info(StorageVaultInfos* vault_infos) { return s; } + *is_vault_mode = resp.enable_storage_vault(); + auto add_obj_store = [&vault_infos](const auto& obj_store) { vault_infos->emplace_back(obj_store.id(), S3Conf::get_s3_conf(obj_store), StorageVaultPB_PathFormat {}); @@ -931,6 +933,7 @@ Status CloudMetaMgr::get_storage_vault_info(StorageVaultInfos* vault_infos) { } }); + // desensitization, hide secret for (int i = 0; i < resp.obj_info_size(); ++i) { resp.mutable_obj_info(i)->set_sk(resp.obj_info(i).sk().substr(0, 2) + "xxx"); } @@ -940,7 +943,8 @@ Status CloudMetaMgr::get_storage_vault_info(StorageVaultInfos* vault_infos) { j->mutable_obj_info()->set_sk(j->obj_info().sk().substr(0, 2) + "xxx"); } - LOG(INFO) << "get storage vault response: " << resp.ShortDebugString(); + LOG(INFO) << "get storage vault, enable_storage_vault=" << is_vault_mode + << " response=" << resp.ShortDebugString(); return Status::OK(); } diff --git a/be/src/cloud/cloud_meta_mgr.h b/be/src/cloud/cloud_meta_mgr.h index 6f6cc9c26b47b4..2f776b056866aa 100644 --- a/be/src/cloud/cloud_meta_mgr.h +++ b/be/src/cloud/cloud_meta_mgr.h @@ -73,7 +73,14 @@ class CloudMetaMgr { Status precommit_txn(const StreamLoadContext& ctx); - Status get_storage_vault_info(StorageVaultInfos* vault_infos); + /** + * Gets storage vault (storage backends) from meta-service + * + * @param vault_info output param, all storage backends + * @param is_vault_mode output param, true for pure vault mode, false for legacy mode + * @return status + */ + Status get_storage_vault_info(StorageVaultInfos* vault_infos, bool* is_vault_mode); Status prepare_tablet_job(const TabletJobInfoPB& job, StartTabletJobResponse* res); diff --git a/be/src/cloud/cloud_storage_engine.cpp b/be/src/cloud/cloud_storage_engine.cpp index 3e56c23d1d3e79..b98b2e3d0efc45 100644 --- a/be/src/cloud/cloud_storage_engine.cpp +++ b/be/src/cloud/cloud_storage_engine.cpp @@ -161,8 +161,9 @@ struct RefreshFSVaultVisitor { Status CloudStorageEngine::open() { cloud::StorageVaultInfos vault_infos; + bool enable_storage_vault = false; do { - auto st = _meta_mgr->get_storage_vault_info(&vault_infos); + auto st = _meta_mgr->get_storage_vault_info(&vault_infos, &enable_storage_vault); if (st.ok()) { break; } @@ -177,7 +178,11 @@ Status CloudStorageEngine::open() { return vault_process_error(id, vault_info, std::move(st)); } } - set_latest_fs(get_filesystem(std::get<0>(vault_infos.back()))); + + // vault mode should not support latest_fs to get rid of unexpected storage backends choosen + if (!enable_storage_vault) { + set_latest_fs(get_filesystem(std::get<0>(vault_infos.back()))); + } // TODO(plat1ko): DeleteBitmapTxnManager @@ -340,7 +345,8 @@ void CloudStorageEngine::_check_file_cache_ttl_block_valid() { void CloudStorageEngine::sync_storage_vault() { cloud::StorageVaultInfos vault_infos; - auto st = _meta_mgr->get_storage_vault_info(&vault_infos); + bool enable_storage_vault = false; + auto st = _meta_mgr->get_storage_vault_info(&vault_infos, &enable_storage_vault); if (!st.ok()) { LOG(WARNING) << "failed to get storage vault info. err=" << st; return; @@ -363,7 +369,7 @@ void CloudStorageEngine::sync_storage_vault() { } if (auto& id = std::get<0>(vault_infos.back()); - latest_fs() == nullptr || latest_fs()->id() != id) { + (latest_fs() == nullptr || latest_fs()->id() != id) && !enable_storage_vault) { set_latest_fs(get_filesystem(id)); } } diff --git a/cloud/src/meta-service/meta_service_resource.cpp b/cloud/src/meta-service/meta_service_resource.cpp index 90a88f86006643..8a25a73771ccbd 100644 --- a/cloud/src/meta-service/meta_service_resource.cpp +++ b/cloud/src/meta-service/meta_service_resource.cpp @@ -254,6 +254,8 @@ void MetaServiceImpl::get_obj_store_info(google::protobuf::RpcController* contro } } + response->set_enable_storage_vault(instance.enable_storage_vault()); + // Iterate all the resources to return to the rpc caller if (!instance.resource_ids().empty()) { std::string storage_vault_start = storage_vault_key({instance.instance_id(), ""}); diff --git a/gensrc/proto/cloud.proto b/gensrc/proto/cloud.proto index b4c2d0d0968ae9..268744a0088f61 100644 --- a/gensrc/proto/cloud.proto +++ b/gensrc/proto/cloud.proto @@ -895,6 +895,7 @@ message GetObjStoreInfoResponse { repeated StorageVaultPB storage_vault = 3; optional string default_storage_vault_id = 4; optional string default_storage_vault_name = 5; + optional bool enable_storage_vault = 6; }; message CreateTabletsRequest { From 1d0690bf0f3ce9bf0211c9cee97391de8577a3da Mon Sep 17 00:00:00 2001 From: Pxl Date: Tue, 10 Sep 2024 15:20:20 +0800 Subject: [PATCH 146/199] [Enchancement](column) make create_always_true_column return column const (#39086) ## Proposed changes make create_always_true_column return column const --- be/src/vec/utils/util.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/be/src/vec/utils/util.hpp b/be/src/vec/utils/util.hpp index 3c5f4f194aac9b..8d17b2787a53da 100644 --- a/be/src/vec/utils/util.hpp +++ b/be/src/vec/utils/util.hpp @@ -173,12 +173,12 @@ inline std::string remove_suffix(const std::string& name, const std::string& suf }; inline ColumnPtr create_always_true_column(size_t size, bool is_nullable) { - auto res_data_column = ColumnUInt8::create(size, 1); + ColumnPtr res_data_column = ColumnUInt8::create(1, 1); if (is_nullable) { - auto null_map = ColumnVector::create(size, 0); - return ColumnNullable::create(std::move(res_data_column), std::move(null_map)); + auto null_map = ColumnVector::create(1, 0); + res_data_column = ColumnNullable::create(res_data_column, std::move(null_map)); } - return res_data_column; + return ColumnConst::create(std::move(res_data_column), size); } // change null element to true element From 7fc42a5fa4fd9bcc2259fde6e0d1ba9c49efec6f Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:46:59 +0800 Subject: [PATCH 147/199] [fix](Nereids) handle continuous filter or project in plan (#40176) if we meet continuous project or filter in translator, we try to generate SelectNode as far as possible to avoid generate invalid plan for example ``` Filter(conjuncts 1) +-- Limit (limit 10) +-- Filter(conjuncts 2) +-- Aggregate ``` will be translated to ``` SELECT_NODE (conjuncts 1) +-- AGGREGATE_NODE (conjuncts 2) (limit 10) ``` --- .../translator/PhysicalPlanTranslator.java | 44 ++++++++++++++----- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java index 2a34bc3ca91dd2..28456041f7d3bb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java @@ -720,7 +720,6 @@ public PlanFragment visitPhysicalJdbcScan(PhysicalJdbcScan jdbcScan, PlanTransla JdbcScanNode jdbcScanNode = new JdbcScanNode(context.nextPlanNodeId(), tupleDescriptor, table instanceof JdbcExternalTable); jdbcScanNode.setNereidsId(jdbcScan.getId()); - jdbcScanNode.addConjuncts(translateToLegacyConjuncts(jdbcScan.getConjuncts())); Utils.execWithUncheckedException(jdbcScanNode::init); context.addScanNode(jdbcScanNode, jdbcScan); context.getRuntimeTranslator().ifPresent( @@ -744,7 +743,6 @@ public PlanFragment visitPhysicalOdbcScan(PhysicalOdbcScan odbcScan, PlanTransla OdbcScanNode odbcScanNode = new OdbcScanNode(context.nextPlanNodeId(), tupleDescriptor, (OdbcTable) table); odbcScanNode.setNereidsId(odbcScan.getId()); - odbcScanNode.addConjuncts(translateToLegacyConjuncts(odbcScan.getConjuncts())); Utils.execWithUncheckedException(odbcScanNode::init); context.addScanNode(odbcScanNode, odbcScan); context.getRuntimeTranslator().ifPresent( @@ -1258,6 +1256,12 @@ public PlanFragment visitPhysicalFilter(PhysicalFilter filter, P MultiCastDataSink multiCastDataSink = (MultiCastDataSink) inputFragment.getSink(); DataStreamSink dataStreamSink = multiCastDataSink.getDataStreamSinks().get( multiCastDataSink.getDataStreamSinks().size() - 1); + if (CollectionUtils.isNotEmpty(dataStreamSink.getConjuncts()) + || CollectionUtils.isNotEmpty(dataStreamSink.getProjections())) { + String errMsg = "generate invalid plan \n" + filter.treeString(); + LOG.warn(errMsg); + throw new AnalysisException(errMsg); + } filter.getConjuncts().stream() .map(e -> ExpressionTranslator.translate(e, context)) .forEach(dataStreamSink::addConjunct); @@ -1265,24 +1269,28 @@ public PlanFragment visitPhysicalFilter(PhysicalFilter filter, P } PlanNode planNode = inputFragment.getPlanRoot(); - Plan child = filter.child(); - while (child instanceof PhysicalLimit) { - child = ((PhysicalLimit) child).child(); - } - if (planNode instanceof ExchangeNode || planNode instanceof SortNode || planNode instanceof UnionNode - // this means we have filter->limit->project, need a SelectNode - || child instanceof PhysicalProject) { - // the three nodes don't support conjuncts, need create a SelectNode to filter data + // the three nodes don't support conjuncts, need create a SelectNode to filter data + if (planNode instanceof ExchangeNode || planNode instanceof SortNode || planNode instanceof UnionNode) { SelectNode selectNode = new SelectNode(context.nextPlanNodeId(), planNode); selectNode.setNereidsId(filter.getId()); addConjunctsToPlanNode(filter, selectNode, context); addPlanRoot(inputFragment, selectNode, filter); } else { if (!(filter.child(0) instanceof AbstractPhysicalJoin)) { + // already have filter on this node, we should not override it, so need a new node + if (!planNode.getConjuncts().isEmpty() + // already have project on this node, filter need execute after project, so need a new node + || CollectionUtils.isNotEmpty(planNode.getProjectList()) + // already have limit on this node, filter need execute after limit, so need a new node + || planNode.hasLimit()) { + planNode = new SelectNode(context.nextPlanNodeId(), planNode); + planNode.setNereidsId(filter.getId()); + addPlanRoot(inputFragment, planNode, filter); + } addConjunctsToPlanNode(filter, planNode, context); - updateLegacyPlanIdToPhysicalPlan(inputFragment.getPlanRoot(), filter); } } + updateLegacyPlanIdToPhysicalPlan(inputFragment.getPlanRoot(), filter); // in ut, filter.stats may be null if (filter.getStats() != null) { inputFragment.getPlanRoot().setCardinalityAfterFilter((long) filter.getStats().getRowCount()); @@ -1866,8 +1874,15 @@ public PlanFragment visitPhysicalProject(PhysicalProject project } PlanFragment inputFragment = project.child(0).accept(this, context); - PlanNode inputPlanNode = inputFragment.getPlanRoot(); + // this means already have project on this node, filter need execute after project, so need a new node + if (CollectionUtils.isNotEmpty(inputPlanNode.getProjectList())) { + SelectNode selectNode = new SelectNode(context.nextPlanNodeId(), inputPlanNode); + selectNode.setNereidsId(project.getId()); + addPlanRoot(inputFragment, selectNode, project); + inputPlanNode = selectNode; + } + List projectionExprs = null; List allProjectionExprs = Lists.newArrayList(); List slots = null; @@ -1905,6 +1920,11 @@ public PlanFragment visitPhysicalProject(PhysicalProject project MultiCastDataSink multiCastDataSink = (MultiCastDataSink) inputFragment.getSink(); DataStreamSink dataStreamSink = multiCastDataSink.getDataStreamSinks().get( multiCastDataSink.getDataStreamSinks().size() - 1); + if (CollectionUtils.isNotEmpty(dataStreamSink.getProjections())) { + String errMsg = "generate invalid plan \n" + project.treeString(); + LOG.warn(errMsg); + throw new AnalysisException(errMsg); + } TupleDescriptor projectionTuple = generateTupleDesc(slots, null, context); dataStreamSink.setProjections(projectionExprs); dataStreamSink.setOutputTupleDesc(projectionTuple); From 24af729933af8afb9a51884bbcc65324700bd3a9 Mon Sep 17 00:00:00 2001 From: caiconghui <55968745+caiconghui@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:59:53 +0800 Subject: [PATCH 148/199] [fix](log) fix fe doesn't print location in log when log mode is async (#40513) Co-authored-by: caiconghui1 --- .../org/apache/doris/common/Log4jConfig.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/Log4jConfig.java b/fe/fe-core/src/main/java/org/apache/doris/common/Log4jConfig.java index 206d1cb208959b..39d13b0e989727 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/Log4jConfig.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/Log4jConfig.java @@ -252,13 +252,18 @@ private static void reconfig() throws IOException { } newXmlConfTemplate = newXmlConfTemplate.replaceAll(VERBOSE_MODULE_PLACEHOLDER, sb.toString()); - if (sysLogMode.equalsIgnoreCase("NORMAL")) { + // BRIEF: async, no location + // ASYNC: async, with location + // NORMAL: sync, with location + boolean includeLocation = !sysLogMode.equalsIgnoreCase("BRIEF"); + boolean immediateFlush = sysLogMode.equalsIgnoreCase("NORMAL"); + if (includeLocation) { newXmlConfTemplate = newXmlConfTemplate.replaceAll(RUNTIME_LOG_FORMAT_PLACEHOLDER, " [%C{1}.%M():%L] "); } else { newXmlConfTemplate = newXmlConfTemplate.replaceAll(RUNTIME_LOG_FORMAT_PLACEHOLDER, " "); - if (sysLogMode.equalsIgnoreCase("ASYNC")) { - newXmlConfTemplate = newXmlConfTemplate.replaceAll("Root", "AsyncRoot"); - } + } + if (!immediateFlush) { + newXmlConfTemplate = newXmlConfTemplate.replaceAll("Root", "AsyncRoot"); } if (Config.enable_file_logger) { @@ -298,11 +303,6 @@ private static void reconfig() throws IOException { properties.put("warn_sys_accumulated_file_size", String.valueOf(Config.warn_sys_accumulated_file_size)); properties.put("audit_sys_accumulated_file_size", String.valueOf(Config.audit_sys_accumulated_file_size)); - // BRIEF: async, no location - // ASYNC: async, with location - // NORMAL: sync, with location - boolean includeLocation = !sysLogMode.equalsIgnoreCase("BRIEF"); - boolean immediateFlush = sysLogMode.equalsIgnoreCase("NORMAL"); properties.put("include_location_flag", Boolean.toString(includeLocation)); properties.put("immediate_flush_flag", Boolean.toString(immediateFlush)); properties.put("audit_file_postfix", compressAuditLog ? ".gz" : ""); From baefde940f13f63c141bf58d414f0a0ab8717621 Mon Sep 17 00:00:00 2001 From: caiconghui <55968745+caiconghui@users.noreply.github.com> Date: Tue, 10 Sep 2024 16:00:34 +0800 Subject: [PATCH 149/199] [fix](audit_loader) fix that old external audit loader plugin not work because of incompatibility with new audit plugin (#40565) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、rename org.apache.doris.plugin.audit.AuditLoaderPlugin to org.apache.doris.plugin.audit.AuditLoader to avoid potential conflict with old external audit plugin 2、rename org.apache.doris.plugin.audit.AuditEvent to org.apache.doris.plugin.AuditEvent to keep eventFilter in AuditPlugin be compatible with old external audit plugin Co-authored-by: caiconghui1 --- .../java/org/apache/doris/catalog/InternalSchema.java | 4 ++-- .../doris/catalog/InternalSchemaInitializer.java | 10 +++++----- .../org/apache/doris/load/StreamLoadRecordMgr.java | 4 ++-- .../java/org/apache/doris/load/loadv2/BulkLoadJob.java | 2 +- .../apache/doris/plugin/{audit => }/AuditEvent.java | 2 +- .../main/java/org/apache/doris/plugin/AuditPlugin.java | 2 -- .../main/java/org/apache/doris/plugin/PluginMgr.java | 4 ++-- .../audit/{AuditLoaderPlugin.java => AuditLoader.java} | 9 +++++---- .../org/apache/doris/plugin/audit/AuditLogBuilder.java | 5 +++-- .../apache/doris/plugin/audit/AuditStreamLoader.java | 2 +- .../org/apache/doris/plugin/audit/LoadAuditEvent.java | 2 ++ .../doris/plugin/audit/StreamLoadAuditEvent.java | 2 ++ .../java/org/apache/doris/qe/AuditEventProcessor.java | 2 +- .../main/java/org/apache/doris/qe/AuditLogHelper.java | 4 ++-- .../main/java/org/apache/doris/qe/ConnectContext.java | 2 +- .../workloadschedpolicy/WorkloadRuntimeStatusMgr.java | 2 +- .../apache/doris/alter/InternalSchemaAlterTest.java | 9 +++++---- .../org/apache/doris/qe/AuditEventProcessorTest.java | 4 ++-- 18 files changed, 38 insertions(+), 33 deletions(-) rename fe/fe-core/src/main/java/org/apache/doris/plugin/{audit => }/AuditEvent.java (99%) rename fe/fe-core/src/main/java/org/apache/doris/plugin/audit/{AuditLoaderPlugin.java => AuditLoader.java} (98%) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchema.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchema.java index 15bf65c3c73728..768ae22d202dc4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchema.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchema.java @@ -21,7 +21,7 @@ import org.apache.doris.analysis.ColumnNullableType; import org.apache.doris.analysis.TypeDef; import org.apache.doris.common.UserException; -import org.apache.doris.plugin.audit.AuditLoaderPlugin; +import org.apache.doris.plugin.audit.AuditLoader; import org.apache.doris.statistics.StatisticConstants; import com.google.common.collect.Lists; @@ -168,7 +168,7 @@ public static List getCopiedSchema(String tblName) throws UserExcepti case StatisticConstants.HISTOGRAM_TBL_NAME: schema = HISTO_STATS_SCHEMA; break; - case AuditLoaderPlugin.AUDIT_LOG_TABLE: + case AuditLoader.AUDIT_LOG_TABLE: schema = AUDIT_SCHEMA; break; default: diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchemaInitializer.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchemaInitializer.java index 87e8a0fc3b0ce8..c038414fc65bc6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchemaInitializer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchemaInitializer.java @@ -38,7 +38,7 @@ import org.apache.doris.common.util.PropertyAnalyzer; import org.apache.doris.datasource.InternalCatalog; import org.apache.doris.ha.FrontendNodeType; -import org.apache.doris.plugin.audit.AuditLoaderPlugin; +import org.apache.doris.plugin.audit.AuditLoader; import org.apache.doris.statistics.StatisticConstants; import org.apache.doris.statistics.util.StatisticsUtil; @@ -98,7 +98,7 @@ public void run() { Database database = op.get(); modifyTblReplicaCount(database, StatisticConstants.TABLE_STATISTIC_TBL_NAME); modifyTblReplicaCount(database, StatisticConstants.PARTITION_STATISTIC_TBL_NAME); - modifyTblReplicaCount(database, AuditLoaderPlugin.AUDIT_LOG_TABLE); + modifyTblReplicaCount(database, AuditLoader.AUDIT_LOG_TABLE); } @VisibleForTesting @@ -215,7 +215,7 @@ private static CreateTableStmt buildStatisticsTblStmt(String statsTableName, Lis private static CreateTableStmt buildAuditTblStmt() throws UserException { TableName tableName = new TableName("", - FeConstants.INTERNAL_DB_NAME, AuditLoaderPlugin.AUDIT_LOG_TABLE); + FeConstants.INTERNAL_DB_NAME, AuditLoader.AUDIT_LOG_TABLE); String engineName = "olap"; ArrayList dupKeys = Lists.newArrayList("query_id", "time", "client_ip"); @@ -244,7 +244,7 @@ private static CreateTableStmt buildAuditTblStmt() throws UserException { PropertyAnalyzer.getInstance().rewriteForceProperties(properties); CreateTableStmt createTableStmt = new CreateTableStmt(true, false, - tableName, InternalSchema.getCopiedSchema(AuditLoaderPlugin.AUDIT_LOG_TABLE), + tableName, InternalSchema.getCopiedSchema(AuditLoader.AUDIT_LOG_TABLE), engineName, keysDesc, partitionDesc, distributionDesc, properties, null, "Doris internal audit table, DO NOT MODIFY IT", null); StatisticsUtil.analyze(createTableStmt); @@ -286,7 +286,7 @@ private boolean created() { } // 3. check audit table - optionalStatsTbl = db.getTable(AuditLoaderPlugin.AUDIT_LOG_TABLE); + optionalStatsTbl = db.getTable(AuditLoader.AUDIT_LOG_TABLE); return optionalStatsTbl.isPresent(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java b/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java index 7f1d33bd649736..3a38641036fb5f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java @@ -30,8 +30,8 @@ import org.apache.doris.datasource.InternalCatalog; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.persist.gson.GsonUtils; -import org.apache.doris.plugin.audit.AuditEvent; -import org.apache.doris.plugin.audit.AuditEvent.EventType; +import org.apache.doris.plugin.AuditEvent; +import org.apache.doris.plugin.AuditEvent.EventType; import org.apache.doris.plugin.audit.StreamLoadAuditEvent; import org.apache.doris.qe.ConnectContext; import org.apache.doris.system.Backend; diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java index 7b78efc7a50cd5..12aa673eabf16f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java @@ -46,7 +46,7 @@ import org.apache.doris.load.EtlJobType; import org.apache.doris.load.FailMsg; import org.apache.doris.persist.gson.GsonPostProcessable; -import org.apache.doris.plugin.audit.AuditEvent; +import org.apache.doris.plugin.AuditEvent; import org.apache.doris.plugin.audit.LoadAuditEvent; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.OriginStatement; diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditEvent.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/AuditEvent.java similarity index 99% rename from fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditEvent.java rename to fe/fe-core/src/main/java/org/apache/doris/plugin/AuditEvent.java index 0b64a748a10471..55a8b00d2e8d13 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditEvent.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/AuditEvent.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.plugin.audit; +package org.apache.doris.plugin; import java.lang.annotation.Retention; diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/AuditPlugin.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/AuditPlugin.java index 55962a3dd10c85..d9c9ec84697ca4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/AuditPlugin.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/AuditPlugin.java @@ -17,8 +17,6 @@ package org.apache.doris.plugin; -import org.apache.doris.plugin.audit.AuditEvent; - /** * Audit plugin interface describe. */ diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/PluginMgr.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/PluginMgr.java index 7fddf54e1ee7d2..ea69b247e66427 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/PluginMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/PluginMgr.java @@ -27,7 +27,7 @@ import org.apache.doris.nereids.parser.Dialect; import org.apache.doris.plugin.PluginInfo.PluginType; import org.apache.doris.plugin.PluginLoader.PluginStatus; -import org.apache.doris.plugin.audit.AuditLoaderPlugin; +import org.apache.doris.plugin.audit.AuditLoader; import org.apache.doris.plugin.audit.AuditLogBuilder; import org.apache.doris.plugin.dialect.HttpDialectConverterPlugin; @@ -113,7 +113,7 @@ private void initBuiltinPlugins() { } // AuditLoader: log audit log to internal table - AuditLoaderPlugin auditLoaderPlugin = new AuditLoaderPlugin(); + AuditLoader auditLoaderPlugin = new AuditLoader(); if (!registerBuiltinPlugin(auditLoaderPlugin.getPluginInfo(), auditLoaderPlugin)) { LOG.warn("failed to register audit log builder"); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLoader.java similarity index 98% rename from fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java rename to fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLoader.java index 4503b5b8802790..27193856937d87 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLoader.java @@ -20,6 +20,7 @@ import org.apache.doris.catalog.Env; import org.apache.doris.common.util.DigitalVersion; import org.apache.doris.common.util.TimeUtils; +import org.apache.doris.plugin.AuditEvent; import org.apache.doris.plugin.AuditPlugin; import org.apache.doris.plugin.Plugin; import org.apache.doris.plugin.PluginContext; @@ -42,8 +43,8 @@ /* * This plugin will load audit log to specified doris table at specified interval */ -public class AuditLoaderPlugin extends Plugin implements AuditPlugin { - private static final Logger LOG = LogManager.getLogger(AuditLoaderPlugin.class); +public class AuditLoader extends Plugin implements AuditPlugin { + private static final Logger LOG = LogManager.getLogger(AuditLoader.class); public static final String AUDIT_LOG_TABLE = "audit_log"; @@ -65,10 +66,10 @@ public class AuditLoaderPlugin extends Plugin implements AuditPlugin { private final PluginInfo pluginInfo; - public AuditLoaderPlugin() { + public AuditLoader() { pluginInfo = new PluginInfo(PluginMgr.BUILTIN_PLUGIN_PREFIX + "AuditLoader", PluginType.AUDIT, "builtin audit loader, to load audit log to internal table", DigitalVersion.fromString("2.1.0"), - DigitalVersion.fromString("1.8.31"), AuditLoaderPlugin.class.getName(), null, null); + DigitalVersion.fromString("1.8.31"), AuditLoader.class.getName(), null, null); } public PluginInfo getPluginInfo() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLogBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLogBuilder.java index 210081b101cd93..8d9e2c9d96efbc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLogBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLogBuilder.java @@ -20,13 +20,14 @@ import org.apache.doris.common.AuditLog; import org.apache.doris.common.Config; import org.apache.doris.common.util.DigitalVersion; +import org.apache.doris.plugin.AuditEvent; +import org.apache.doris.plugin.AuditEvent.AuditField; +import org.apache.doris.plugin.AuditEvent.EventType; import org.apache.doris.plugin.AuditPlugin; import org.apache.doris.plugin.Plugin; import org.apache.doris.plugin.PluginInfo; import org.apache.doris.plugin.PluginInfo.PluginType; import org.apache.doris.plugin.PluginMgr; -import org.apache.doris.plugin.audit.AuditEvent.AuditField; -import org.apache.doris.plugin.audit.AuditEvent.EventType; import com.google.common.collect.Maps; import com.google.common.collect.Sets; diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditStreamLoader.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditStreamLoader.java index 3765872810d413..0b70e9591d509d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditStreamLoader.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditStreamLoader.java @@ -46,7 +46,7 @@ public class AuditStreamLoader { public AuditStreamLoader() { this.hostPort = "127.0.0.1:" + Config.http_port; this.db = FeConstants.INTERNAL_DB_NAME; - this.auditLogTbl = AuditLoaderPlugin.AUDIT_LOG_TABLE; + this.auditLogTbl = AuditLoader.AUDIT_LOG_TABLE; this.auditLogLoadUrlStr = String.format(loadUrlPattern, hostPort, db, auditLogTbl); // currently, FE identity is FE's IP, so we replace the "." in IP to make it suitable for label this.feIdentity = hostPort.replaceAll("\\.", "_").replaceAll(":", "_"); diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/LoadAuditEvent.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/LoadAuditEvent.java index eb3e098bf416d8..e9e948df43fdcd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/LoadAuditEvent.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/LoadAuditEvent.java @@ -17,6 +17,8 @@ package org.apache.doris.plugin.audit; +import org.apache.doris.plugin.AuditEvent; + public class LoadAuditEvent extends AuditEvent { @AuditField(value = "JobId") diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/StreamLoadAuditEvent.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/StreamLoadAuditEvent.java index 8733a59656c228..4a20901673a452 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/StreamLoadAuditEvent.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/StreamLoadAuditEvent.java @@ -17,6 +17,8 @@ package org.apache.doris.plugin.audit; +import org.apache.doris.plugin.AuditEvent; + public class StreamLoadAuditEvent extends AuditEvent { @AuditField(value = "Label") diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/AuditEventProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/AuditEventProcessor.java index 12e174ab5d0f18..5cb826dc86c990 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/AuditEventProcessor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/AuditEventProcessor.java @@ -18,11 +18,11 @@ package org.apache.doris.qe; import org.apache.doris.common.Config; +import org.apache.doris.plugin.AuditEvent; import org.apache.doris.plugin.AuditPlugin; import org.apache.doris.plugin.Plugin; import org.apache.doris.plugin.PluginInfo.PluginType; import org.apache.doris.plugin.PluginMgr; -import org.apache.doris.plugin.audit.AuditEvent; import com.google.common.base.Strings; import com.google.common.collect.Queues; diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java b/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java index 7d14586bbeaf3a..904910822b8a9f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java @@ -39,8 +39,8 @@ import org.apache.doris.nereids.trees.plans.logical.LogicalInlineTable; import org.apache.doris.nereids.trees.plans.logical.LogicalPlan; import org.apache.doris.nereids.trees.plans.logical.LogicalUnion; -import org.apache.doris.plugin.audit.AuditEvent.AuditEventBuilder; -import org.apache.doris.plugin.audit.AuditEvent.EventType; +import org.apache.doris.plugin.AuditEvent.AuditEventBuilder; +import org.apache.doris.plugin.AuditEvent.EventType; import org.apache.doris.qe.QueryState.MysqlStateType; import org.apache.doris.service.FrontendOptions; diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java index 1b70c5b318bd10..ff960439f7668f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java @@ -58,7 +58,7 @@ import org.apache.doris.nereids.trees.expressions.literal.Literal; import org.apache.doris.plsql.Exec; import org.apache.doris.plsql.executor.PlSqlOperation; -import org.apache.doris.plugin.audit.AuditEvent.AuditEventBuilder; +import org.apache.doris.plugin.AuditEvent.AuditEventBuilder; import org.apache.doris.resource.Tag; import org.apache.doris.service.arrowflight.results.FlightSqlChannel; import org.apache.doris.statistics.ColumnStatistic; diff --git a/fe/fe-core/src/main/java/org/apache/doris/resource/workloadschedpolicy/WorkloadRuntimeStatusMgr.java b/fe/fe-core/src/main/java/org/apache/doris/resource/workloadschedpolicy/WorkloadRuntimeStatusMgr.java index b2de010b9e418f..695bf983dc6b2f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/resource/workloadschedpolicy/WorkloadRuntimeStatusMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/resource/workloadschedpolicy/WorkloadRuntimeStatusMgr.java @@ -21,7 +21,7 @@ import org.apache.doris.common.Config; import org.apache.doris.common.Pair; import org.apache.doris.common.util.MasterDaemon; -import org.apache.doris.plugin.audit.AuditEvent; +import org.apache.doris.plugin.AuditEvent; import org.apache.doris.thrift.TQueryStatistics; import org.apache.doris.thrift.TReportWorkloadRuntimeStatusParams; diff --git a/fe/fe-core/src/test/java/org/apache/doris/alter/InternalSchemaAlterTest.java b/fe/fe-core/src/test/java/org/apache/doris/alter/InternalSchemaAlterTest.java index cf9d31b1ccaf3c..122014f0e8b2c2 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/alter/InternalSchemaAlterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/alter/InternalSchemaAlterTest.java @@ -28,7 +28,7 @@ import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.FeConstants; -import org.apache.doris.plugin.audit.AuditLoaderPlugin; +import org.apache.doris.plugin.audit.AuditLoader; import org.apache.doris.statistics.StatisticConstants; import org.apache.doris.utframe.TestWithFeService; @@ -54,11 +54,12 @@ protected void runBeforeAll() throws Exception { public void testModifyTblReplicaCount() throws AnalysisException { Database db = Env.getCurrentEnv().getCatalogMgr() .getInternalCatalog().getDbNullable(FeConstants.INTERNAL_DB_NAME); + InternalSchemaInitializer.modifyTblReplicaCount(db, StatisticConstants.TABLE_STATISTIC_TBL_NAME); - InternalSchemaInitializer.modifyTblReplicaCount(db, AuditLoaderPlugin.AUDIT_LOG_TABLE); + InternalSchemaInitializer.modifyTblReplicaCount(db, AuditLoader.AUDIT_LOG_TABLE); checkReplicationNum(db, StatisticConstants.TABLE_STATISTIC_TBL_NAME); - checkReplicationNum(db, AuditLoaderPlugin.AUDIT_LOG_TABLE); + checkReplicationNum(db, AuditLoader.AUDIT_LOG_TABLE); } private void checkReplicationNum(Database db, String tblName) throws AnalysisException { @@ -77,7 +78,7 @@ public void testCheckAuditLogTable() throws AnalysisException { Database db = Env.getCurrentEnv().getCatalogMgr() .getInternalCatalog().getDbNullable(FeConstants.INTERNAL_DB_NAME); Assertions.assertNotNull(db); - OlapTable table = db.getOlapTableOrAnalysisException(AuditLoaderPlugin.AUDIT_LOG_TABLE); + OlapTable table = db.getOlapTableOrAnalysisException(AuditLoader.AUDIT_LOG_TABLE); Assertions.assertNotNull(table); for (ColumnDef def : InternalSchema.AUDIT_SCHEMA) { Assertions.assertNotNull(table.getColumn(def.getName())); diff --git a/fe/fe-core/src/test/java/org/apache/doris/qe/AuditEventProcessorTest.java b/fe/fe-core/src/test/java/org/apache/doris/qe/AuditEventProcessorTest.java index 6c9f54080a049e..f80b485609c5b9 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/qe/AuditEventProcessorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/qe/AuditEventProcessorTest.java @@ -19,9 +19,9 @@ import org.apache.doris.catalog.Env; import org.apache.doris.common.util.DigitalVersion; +import org.apache.doris.plugin.AuditEvent; +import org.apache.doris.plugin.AuditEvent.EventType; import org.apache.doris.plugin.PluginInfo; -import org.apache.doris.plugin.audit.AuditEvent; -import org.apache.doris.plugin.audit.AuditEvent.EventType; import org.apache.doris.plugin.audit.AuditLogBuilder; import org.apache.doris.utframe.UtFrameUtils; From ebc460068ae4e2c0fb5c3c4e42ec3575564860d6 Mon Sep 17 00:00:00 2001 From: Vallish Pai Date: Tue, 10 Sep 2024 13:40:13 +0530 Subject: [PATCH 150/199] [fix] try fix code format (#40581) ## Proposed changes Issue Number: close #xxx --- .github/workflows/clang-format.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/clang-format.yml b/.github/workflows/clang-format.yml index f49f1987b9ed41..adc77450d78c01 100644 --- a/.github/workflows/clang-format.yml +++ b/.github/workflows/clang-format.yml @@ -64,7 +64,7 @@ jobs: git clone https://github.com/DoozyX/clang-format-lint-action .github/actions/clang-format-lint-action pushd .github/actions/clang-format-lint-action &>/dev/null - git checkout 6adbe14579e5b8e19eb3e31e5ff2479f3bd302c7 + git checkout c71d0bf4e21876ebec3e5647491186f8797fde31 # v0.18.2 popd &>/dev/null - name: Install Python dependencies From cd902b61194aa8a5f7d1a704921f753b5f83d79d Mon Sep 17 00:00:00 2001 From: Gabriel Date: Tue, 10 Sep 2024 16:29:03 +0800 Subject: [PATCH 151/199] [refactor](pipeline) Refactor logics (#40576) --- .../exec/aggregation_sink_operator.cpp | 4 +- .../pipeline/exec/aggregation_sink_operator.h | 2 +- .../pipeline/exec/analytic_sink_operator.cpp | 4 +- .../exec/analytic_source_operator.cpp | 4 +- ...istinct_streaming_aggregation_operator.cpp | 4 +- .../pipeline/exec/exchange_sink_operator.cpp | 4 +- be/src/pipeline/exec/hashjoin_build_sink.cpp | 4 +- be/src/pipeline/exec/hashjoin_build_sink.h | 2 +- .../pipeline/exec/hashjoin_probe_operator.cpp | 8 +- be/src/pipeline/exec/join_probe_operator.h | 4 +- .../exec/nested_loop_join_build_operator.cpp | 6 +- .../exec/nested_loop_join_build_operator.h | 4 +- .../exec/nested_loop_join_probe_operator.cpp | 2 +- be/src/pipeline/exec/operator.cpp | 139 +++++++++--------- be/src/pipeline/exec/operator.h | 17 +-- .../exec/partition_sort_sink_operator.cpp | 8 +- .../partitioned_aggregation_sink_operator.cpp | 4 +- .../partitioned_hash_join_probe_operator.cpp | 14 +- .../partitioned_hash_join_sink_operator.cpp | 6 +- be/src/pipeline/exec/repeat_operator.cpp | 6 +- .../pipeline/exec/set_probe_sink_operator.cpp | 2 +- .../pipeline/exec/set_probe_sink_operator.h | 2 +- be/src/pipeline/exec/set_sink_operator.cpp | 2 +- be/src/pipeline/exec/set_sink_operator.h | 2 +- be/src/pipeline/exec/sort_sink_operator.cpp | 8 +- be/src/pipeline/exec/sort_source_operator.cpp | 6 +- .../exec/spill_sort_sink_operator.cpp | 2 +- .../exec/streaming_aggregation_operator.cpp | 6 +- .../pipeline/exec/table_function_operator.cpp | 4 +- be/src/pipeline/exec/union_sink_operator.cpp | 2 +- .../local_exchange_sink_operator.cpp | 2 +- .../local_exchange_source_operator.h | 6 +- be/src/pipeline/pipeline_fragment_context.cpp | 30 ++-- be/src/pipeline/pipeline_fragment_context.h | 4 +- be/src/runtime/query_context.cpp | 2 +- 35 files changed, 162 insertions(+), 164 deletions(-) diff --git a/be/src/pipeline/exec/aggregation_sink_operator.cpp b/be/src/pipeline/exec/aggregation_sink_operator.cpp index 8c96b4d744c83d..260a599a947a0d 100644 --- a/be/src/pipeline/exec/aggregation_sink_operator.cpp +++ b/be/src/pipeline/exec/aggregation_sink_operator.cpp @@ -775,7 +775,7 @@ Status AggSinkOperatorX::open(RuntimeState* state) { _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); DCHECK_EQ(_intermediate_tuple_desc->slots().size(), _output_tuple_desc->slots().size()); RETURN_IF_ERROR(vectorized::VExpr::prepare( - _probe_expr_ctxs, state, DataSinkOperatorX::_child_x->row_desc())); + _probe_expr_ctxs, state, DataSinkOperatorX::_child->row_desc())); int j = _probe_expr_ctxs.size(); for (int i = 0; i < j; ++i) { @@ -790,7 +790,7 @@ Status AggSinkOperatorX::open(RuntimeState* state) { SlotDescriptor* intermediate_slot_desc = _intermediate_tuple_desc->slots()[j]; SlotDescriptor* output_slot_desc = _output_tuple_desc->slots()[j]; RETURN_IF_ERROR(_aggregate_evaluators[i]->prepare( - state, DataSinkOperatorX::_child_x->row_desc(), + state, DataSinkOperatorX::_child->row_desc(), intermediate_slot_desc, output_slot_desc)); _aggregate_evaluators[i]->set_version(state->be_exec_version()); } diff --git a/be/src/pipeline/exec/aggregation_sink_operator.h b/be/src/pipeline/exec/aggregation_sink_operator.h index d55b382931d74b..97440de3f09e4c 100644 --- a/be/src/pipeline/exec/aggregation_sink_operator.h +++ b/be/src/pipeline/exec/aggregation_sink_operator.h @@ -143,7 +143,7 @@ class AggSinkOperatorX final : public DataSinkOperatorX { DataDistribution required_data_distribution() const override { if (_probe_expr_ctxs.empty()) { - return _needs_finalize || DataSinkOperatorX::_child_x + return _needs_finalize || DataSinkOperatorX::_child ->ignore_data_distribution() ? DataDistribution(ExchangeType::PASSTHROUGH) : DataSinkOperatorX::required_data_distribution(); diff --git a/be/src/pipeline/exec/analytic_sink_operator.cpp b/be/src/pipeline/exec/analytic_sink_operator.cpp index cc219ecbe642f0..85d7773bdbd025 100644 --- a/be/src/pipeline/exec/analytic_sink_operator.cpp +++ b/be/src/pipeline/exec/analytic_sink_operator.cpp @@ -234,11 +234,11 @@ Status AnalyticSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* state) Status AnalyticSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX::open(state)); for (const auto& ctx : _agg_expr_ctxs) { - RETURN_IF_ERROR(vectorized::VExpr::prepare(ctx, state, _child_x->row_desc())); + RETURN_IF_ERROR(vectorized::VExpr::prepare(ctx, state, _child->row_desc())); } if (!_partition_by_eq_expr_ctxs.empty() || !_order_by_eq_expr_ctxs.empty()) { vector tuple_ids; - tuple_ids.push_back(_child_x->row_desc().tuple_descriptors()[0]->id()); + tuple_ids.push_back(_child->row_desc().tuple_descriptors()[0]->id()); tuple_ids.push_back(_buffered_tuple_id); RowDescriptor cmp_row_desc(state->desc_tbl(), tuple_ids, vector(2, false)); if (!_partition_by_eq_expr_ctxs.empty()) { diff --git a/be/src/pipeline/exec/analytic_source_operator.cpp b/be/src/pipeline/exec/analytic_source_operator.cpp index 1996b9af58d2c4..b521a9b583fa94 100644 --- a/be/src/pipeline/exec/analytic_source_operator.cpp +++ b/be/src/pipeline/exec/analytic_source_operator.cpp @@ -562,13 +562,13 @@ Status AnalyticLocalState::close(RuntimeState* state) { Status AnalyticSourceOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(OperatorX::open(state)); - DCHECK(_child_x->row_desc().is_prefix_of(_row_descriptor)); + DCHECK(_child->row_desc().is_prefix_of(_row_descriptor)); _intermediate_tuple_desc = state->desc_tbl().get_tuple_descriptor(_intermediate_tuple_id); _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); for (size_t i = 0; i < _agg_functions.size(); ++i) { SlotDescriptor* intermediate_slot_desc = _intermediate_tuple_desc->slots()[i]; SlotDescriptor* output_slot_desc = _output_tuple_desc->slots()[i]; - RETURN_IF_ERROR(_agg_functions[i]->prepare(state, _child_x->row_desc(), + RETURN_IF_ERROR(_agg_functions[i]->prepare(state, _child->row_desc(), intermediate_slot_desc, output_slot_desc)); _agg_functions[i]->set_version(state->be_exec_version()); _change_to_nullable_flags.push_back(output_slot_desc->is_nullable() && diff --git a/be/src/pipeline/exec/distinct_streaming_aggregation_operator.cpp b/be/src/pipeline/exec/distinct_streaming_aggregation_operator.cpp index 96212f7fd2ff00..5127605097f4c5 100644 --- a/be/src/pipeline/exec/distinct_streaming_aggregation_operator.cpp +++ b/be/src/pipeline/exec/distinct_streaming_aggregation_operator.cpp @@ -374,7 +374,7 @@ Status DistinctStreamingAggOperatorX::open(RuntimeState* state) { _intermediate_tuple_desc = state->desc_tbl().get_tuple_descriptor(_intermediate_tuple_id); _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); DCHECK_EQ(_intermediate_tuple_desc->slots().size(), _output_tuple_desc->slots().size()); - RETURN_IF_ERROR(vectorized::VExpr::prepare(_probe_expr_ctxs, state, _child_x->row_desc())); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_probe_expr_ctxs, state, _child->row_desc())); int j = _probe_expr_ctxs.size(); for (int i = 0; i < j; ++i) { @@ -389,7 +389,7 @@ Status DistinctStreamingAggOperatorX::open(RuntimeState* state) { SlotDescriptor* intermediate_slot_desc = _intermediate_tuple_desc->slots()[j]; SlotDescriptor* output_slot_desc = _output_tuple_desc->slots()[j]; RETURN_IF_ERROR(_aggregate_evaluators[i]->prepare( - state, _child_x->row_desc(), intermediate_slot_desc, output_slot_desc)); + state, _child->row_desc(), intermediate_slot_desc, output_slot_desc)); _aggregate_evaluators[i]->set_version(state->be_exec_version()); } diff --git a/be/src/pipeline/exec/exchange_sink_operator.cpp b/be/src/pipeline/exec/exchange_sink_operator.cpp index 71649aa21ec3d4..366b3c682f7dd5 100644 --- a/be/src/pipeline/exec/exchange_sink_operator.cpp +++ b/be/src/pipeline/exec/exchange_sink_operator.cpp @@ -648,10 +648,10 @@ Status ExchangeSinkLocalState::close(RuntimeState* state, Status exec_status) { } DataDistribution ExchangeSinkOperatorX::required_data_distribution() const { - if (_child_x && _enable_local_merge_sort) { + if (_child && _enable_local_merge_sort) { // SORT_OPERATOR -> DATA_STREAM_SINK_OPERATOR // SORT_OPERATOR -> LOCAL_MERGE_SORT -> DATA_STREAM_SINK_OPERATOR - if (auto sort_source = std::dynamic_pointer_cast(_child_x); + if (auto sort_source = std::dynamic_pointer_cast(_child); sort_source && sort_source->use_local_merge()) { // Sort the data local return ExchangeType::LOCAL_MERGE_SORT; diff --git a/be/src/pipeline/exec/hashjoin_build_sink.cpp b/be/src/pipeline/exec/hashjoin_build_sink.cpp index d4ca54da637673..0bee88ed537ea6 100644 --- a/be/src/pipeline/exec/hashjoin_build_sink.cpp +++ b/be/src/pipeline/exec/hashjoin_build_sink.cpp @@ -488,7 +488,7 @@ Status HashJoinBuildSinkOperatorX::open(RuntimeState* state) { _shared_hash_table_context = _shared_hashtable_controller->get_context(node_id()); } } - RETURN_IF_ERROR(vectorized::VExpr::prepare(_build_expr_ctxs, state, _child_x->row_desc())); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_build_expr_ctxs, state, _child->row_desc())); return vectorized::VExpr::open(_build_expr_ctxs, state); } @@ -505,7 +505,7 @@ Status HashJoinBuildSinkOperatorX::sink(RuntimeState* state, vectorized::Block* if (local_state._build_side_mutable_block.empty()) { auto tmp_build_block = vectorized::VectorizedUtils::create_empty_columnswithtypename( - _child_x->row_desc()); + _child->row_desc()); tmp_build_block = *(tmp_build_block.create_same_struct_block(1, false)); local_state._build_col_ids.resize(_build_expr_ctxs.size()); RETURN_IF_ERROR(local_state._do_evaluate(tmp_build_block, local_state._build_expr_ctxs, diff --git a/be/src/pipeline/exec/hashjoin_build_sink.h b/be/src/pipeline/exec/hashjoin_build_sink.h index c373af5d6622ff..b7ae612510fcb4 100644 --- a/be/src/pipeline/exec/hashjoin_build_sink.h +++ b/be/src/pipeline/exec/hashjoin_build_sink.h @@ -132,7 +132,7 @@ class HashJoinBuildSinkOperatorX final if (_join_op == TJoinOp::NULL_AWARE_LEFT_ANTI_JOIN) { return {ExchangeType::NOOP}; } else if (_is_broadcast_join) { - return _child_x->ignore_data_distribution() + return _child->ignore_data_distribution() ? DataDistribution(ExchangeType::PASS_TO_ONE) : DataDistribution(ExchangeType::NOOP); } diff --git a/be/src/pipeline/exec/hashjoin_probe_operator.cpp b/be/src/pipeline/exec/hashjoin_probe_operator.cpp index 7008397db770ae..f91e1eaa2a1b17 100644 --- a/be/src/pipeline/exec/hashjoin_probe_operator.cpp +++ b/be/src/pipeline/exec/hashjoin_probe_operator.cpp @@ -276,7 +276,7 @@ Status HashJoinProbeOperatorX::pull(doris::RuntimeState* state, vectorized::Bloc /// increase the output rows count(just same as `_probe_block`'s rows count). RETURN_IF_ERROR(local_state.filter_data_and_build_output(state, output_block, eos, &local_state._probe_block, false)); - local_state._probe_block.clear_column_data(_child_x->row_desc().num_materialized_slots()); + local_state._probe_block.clear_column_data(_child->row_desc().num_materialized_slots()); return Status::OK(); } @@ -597,7 +597,7 @@ Status HashJoinProbeOperatorX::open(RuntimeState* state) { } } }; - init_output_slots_flags(_child_x->row_desc().tuple_descriptors(), _left_output_slot_flags); + init_output_slots_flags(_child->row_desc().tuple_descriptors(), _left_output_slot_flags); init_output_slots_flags(_build_side_child->row_desc().tuple_descriptors(), _right_output_slot_flags); // _other_join_conjuncts are evaluated in the context of the rows produced by this node @@ -609,12 +609,12 @@ Status HashJoinProbeOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(conjunct->prepare(state, *_intermediate_row_desc)); } - RETURN_IF_ERROR(vectorized::VExpr::prepare(_probe_expr_ctxs, state, _child_x->row_desc())); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_probe_expr_ctxs, state, _child->row_desc())); DCHECK(_build_side_child != nullptr); // right table data types _right_table_data_types = vectorized::VectorizedUtils::get_data_types(_build_side_child->row_desc()); - _left_table_data_types = vectorized::VectorizedUtils::get_data_types(_child_x->row_desc()); + _left_table_data_types = vectorized::VectorizedUtils::get_data_types(_child->row_desc()); _right_table_column_names = vectorized::VectorizedUtils::get_column_names(_build_side_child->row_desc()); diff --git a/be/src/pipeline/exec/join_probe_operator.h b/be/src/pipeline/exec/join_probe_operator.h index 65b7a2694e4b47..3f68c73d04b161 100644 --- a/be/src/pipeline/exec/join_probe_operator.h +++ b/be/src/pipeline/exec/join_probe_operator.h @@ -85,12 +85,12 @@ class JoinProbeOperatorX : public StatefulOperatorX { } Status set_child(OperatorPtr child) override { - if (OperatorX::_child_x && _build_side_child == nullptr) { + if (OperatorX::_child && _build_side_child == nullptr) { // when there already (probe) child, others is build child. set_build_side_child(child); } else { // first child which is probe side is in this pipeline - OperatorX::_child_x = std::move(child); + OperatorX::_child = std::move(child); } return Status::OK(); } diff --git a/be/src/pipeline/exec/nested_loop_join_build_operator.cpp b/be/src/pipeline/exec/nested_loop_join_build_operator.cpp index 515c151c3c1fa8..793a37c7396a61 100644 --- a/be/src/pipeline/exec/nested_loop_join_build_operator.cpp +++ b/be/src/pipeline/exec/nested_loop_join_build_operator.cpp @@ -109,14 +109,14 @@ Status NestedLoopJoinBuildSinkOperatorX::init(const TPlanNode& tnode, RuntimeSta Status NestedLoopJoinBuildSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(JoinBuildSinkOperatorX::open(state)); - int num_build_tuples = _child_x->row_desc().tuple_descriptors().size(); + int num_build_tuples = _child->row_desc().tuple_descriptors().size(); for (int i = 0; i < num_build_tuples; ++i) { - TupleDescriptor* build_tuple_desc = _child_x->row_desc().tuple_descriptors()[i]; + TupleDescriptor* build_tuple_desc = _child->row_desc().tuple_descriptors()[i]; auto tuple_idx = _row_descriptor.get_tuple_idx(build_tuple_desc->id()); RETURN_IF_INVALID_TUPLE_IDX(build_tuple_desc->id(), tuple_idx); } - RETURN_IF_ERROR(vectorized::VExpr::prepare(_filter_src_expr_ctxs, state, _child_x->row_desc())); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_filter_src_expr_ctxs, state, _child->row_desc())); return vectorized::VExpr::open(_filter_src_expr_ctxs, state); } diff --git a/be/src/pipeline/exec/nested_loop_join_build_operator.h b/be/src/pipeline/exec/nested_loop_join_build_operator.h index da7712e3e17685..f2ca259754b661 100644 --- a/be/src/pipeline/exec/nested_loop_join_build_operator.h +++ b/be/src/pipeline/exec/nested_loop_join_build_operator.h @@ -76,8 +76,8 @@ class NestedLoopJoinBuildSinkOperatorX final if (_join_op == TJoinOp::NULL_AWARE_LEFT_ANTI_JOIN) { return {ExchangeType::NOOP}; } - return _child_x->ignore_data_distribution() ? DataDistribution(ExchangeType::BROADCAST) - : DataDistribution(ExchangeType::NOOP); + return _child->ignore_data_distribution() ? DataDistribution(ExchangeType::BROADCAST) + : DataDistribution(ExchangeType::NOOP); } private: diff --git a/be/src/pipeline/exec/nested_loop_join_probe_operator.cpp b/be/src/pipeline/exec/nested_loop_join_probe_operator.cpp index 5a0b6680eee765..9546ed8df56671 100644 --- a/be/src/pipeline/exec/nested_loop_join_probe_operator.cpp +++ b/be/src/pipeline/exec/nested_loop_join_probe_operator.cpp @@ -450,7 +450,7 @@ Status NestedLoopJoinProbeOperatorX::open(RuntimeState* state) { for (auto& conjunct : _join_conjuncts) { RETURN_IF_ERROR(conjunct->prepare(state, *_intermediate_row_desc)); } - _num_probe_side_columns = _child_x->row_desc().num_materialized_slots(); + _num_probe_side_columns = _child->row_desc().num_materialized_slots(); _num_build_side_columns = _build_side_child->row_desc().num_materialized_slots(); return vectorized::VExpr::open(_join_conjuncts, state); } diff --git a/be/src/pipeline/exec/operator.cpp b/be/src/pipeline/exec/operator.cpp index 217c3219d5c36d..d65769254b9dfc 100644 --- a/be/src/pipeline/exec/operator.cpp +++ b/be/src/pipeline/exec/operator.cpp @@ -116,12 +116,12 @@ std::string PipelineXSinkLocalState::name_suffix() { } DataDistribution DataSinkOperatorXBase::required_data_distribution() const { - return _child_x && _child_x->ignore_data_distribution() + return _child && _child->ignore_data_distribution() ? DataDistribution(ExchangeType::PASSTHROUGH) : DataDistribution(ExchangeType::NOOP); } const RowDescriptor& OperatorBase::row_desc() const { - return _child_x->row_desc(); + return _child->row_desc(); } template @@ -220,15 +220,15 @@ Status OperatorXBase::open(RuntimeState* state) { for (auto& projections : _intermediate_projections) { RETURN_IF_ERROR(vectorized::VExpr::open(projections, state)); } - if (_child_x && !is_source()) { - RETURN_IF_ERROR(_child_x->open(state)); + if (_child && !is_source()) { + RETURN_IF_ERROR(_child->open(state)); } return Status::OK(); } Status OperatorXBase::close(RuntimeState* state) { - if (_child_x && !is_source()) { - RETURN_IF_ERROR(_child_x->close(state)); + if (_child && !is_source()) { + RETURN_IF_ERROR(_child->close(state)); } auto result = state->get_local_state_result(operator_id()); if (!result) { @@ -572,8 +572,7 @@ Status PipelineXSinkLocalState::close(RuntimeState* state, Status e template Status StreamingOperatorX::get_block(RuntimeState* state, vectorized::Block* block, bool* eos) { - RETURN_IF_ERROR( - OperatorX::_child_x->get_block_after_projects(state, block, eos)); + RETURN_IF_ERROR(OperatorX::_child->get_block_after_projects(state, block, eos)); return pull(state, block, eos); } @@ -583,8 +582,8 @@ Status StatefulOperatorX::get_block(RuntimeState* state, vectori auto& local_state = get_local_state(state); if (need_more_input_data(state)) { local_state._child_block->clear_column_data( - OperatorX::_child_x->row_desc().num_materialized_slots()); - RETURN_IF_ERROR(OperatorX::_child_x->get_block_after_projects( + OperatorX::_child->row_desc().num_materialized_slots()); + RETURN_IF_ERROR(OperatorX::_child->get_block_after_projects( state, local_state._child_block.get(), &local_state._child_eos)); *eos = local_state._child_eos; if (local_state._child_block->rows() == 0 && !local_state._child_eos) { @@ -668,66 +667,66 @@ Status AsyncWriterSink::close(RuntimeState* state, Status exec_s return Base::close(state, exec_status); } -#define DECLARE_OPERATOR_X(LOCAL_STATE) template class DataSinkOperatorX; -DECLARE_OPERATOR_X(HashJoinBuildSinkLocalState) -DECLARE_OPERATOR_X(ResultSinkLocalState) -DECLARE_OPERATOR_X(JdbcTableSinkLocalState) -DECLARE_OPERATOR_X(MemoryScratchSinkLocalState) -DECLARE_OPERATOR_X(ResultFileSinkLocalState) -DECLARE_OPERATOR_X(OlapTableSinkLocalState) -DECLARE_OPERATOR_X(OlapTableSinkV2LocalState) -DECLARE_OPERATOR_X(HiveTableSinkLocalState) -DECLARE_OPERATOR_X(IcebergTableSinkLocalState) -DECLARE_OPERATOR_X(AnalyticSinkLocalState) -DECLARE_OPERATOR_X(SortSinkLocalState) -DECLARE_OPERATOR_X(SpillSortSinkLocalState) -DECLARE_OPERATOR_X(LocalExchangeSinkLocalState) -DECLARE_OPERATOR_X(AggSinkLocalState) -DECLARE_OPERATOR_X(PartitionedAggSinkLocalState) -DECLARE_OPERATOR_X(ExchangeSinkLocalState) -DECLARE_OPERATOR_X(NestedLoopJoinBuildSinkLocalState) -DECLARE_OPERATOR_X(UnionSinkLocalState) -DECLARE_OPERATOR_X(MultiCastDataStreamSinkLocalState) -DECLARE_OPERATOR_X(PartitionSortSinkLocalState) -DECLARE_OPERATOR_X(SetProbeSinkLocalState) -DECLARE_OPERATOR_X(SetProbeSinkLocalState) -DECLARE_OPERATOR_X(SetSinkLocalState) -DECLARE_OPERATOR_X(SetSinkLocalState) -DECLARE_OPERATOR_X(PartitionedHashJoinSinkLocalState) -DECLARE_OPERATOR_X(GroupCommitBlockSinkLocalState) - -#undef DECLARE_OPERATOR_X - -#define DECLARE_OPERATOR_X(LOCAL_STATE) template class OperatorX; -DECLARE_OPERATOR_X(HashJoinProbeLocalState) -DECLARE_OPERATOR_X(OlapScanLocalState) -DECLARE_OPERATOR_X(GroupCommitLocalState) -DECLARE_OPERATOR_X(JDBCScanLocalState) -DECLARE_OPERATOR_X(FileScanLocalState) -DECLARE_OPERATOR_X(EsScanLocalState) -DECLARE_OPERATOR_X(AnalyticLocalState) -DECLARE_OPERATOR_X(SortLocalState) -DECLARE_OPERATOR_X(SpillSortLocalState) -DECLARE_OPERATOR_X(AggLocalState) -DECLARE_OPERATOR_X(PartitionedAggLocalState) -DECLARE_OPERATOR_X(TableFunctionLocalState) -DECLARE_OPERATOR_X(ExchangeLocalState) -DECLARE_OPERATOR_X(RepeatLocalState) -DECLARE_OPERATOR_X(NestedLoopJoinProbeLocalState) -DECLARE_OPERATOR_X(AssertNumRowsLocalState) -DECLARE_OPERATOR_X(EmptySetLocalState) -DECLARE_OPERATOR_X(UnionSourceLocalState) -DECLARE_OPERATOR_X(MultiCastDataStreamSourceLocalState) -DECLARE_OPERATOR_X(PartitionSortSourceLocalState) -DECLARE_OPERATOR_X(SetSourceLocalState) -DECLARE_OPERATOR_X(SetSourceLocalState) -DECLARE_OPERATOR_X(DataGenLocalState) -DECLARE_OPERATOR_X(SchemaScanLocalState) -DECLARE_OPERATOR_X(MetaScanLocalState) -DECLARE_OPERATOR_X(LocalExchangeSourceLocalState) -DECLARE_OPERATOR_X(PartitionedHashJoinProbeLocalState) - -#undef DECLARE_OPERATOR_X +#define DECLARE_OPERATOR(LOCAL_STATE) template class DataSinkOperatorX; +DECLARE_OPERATOR(HashJoinBuildSinkLocalState) +DECLARE_OPERATOR(ResultSinkLocalState) +DECLARE_OPERATOR(JdbcTableSinkLocalState) +DECLARE_OPERATOR(MemoryScratchSinkLocalState) +DECLARE_OPERATOR(ResultFileSinkLocalState) +DECLARE_OPERATOR(OlapTableSinkLocalState) +DECLARE_OPERATOR(OlapTableSinkV2LocalState) +DECLARE_OPERATOR(HiveTableSinkLocalState) +DECLARE_OPERATOR(IcebergTableSinkLocalState) +DECLARE_OPERATOR(AnalyticSinkLocalState) +DECLARE_OPERATOR(SortSinkLocalState) +DECLARE_OPERATOR(SpillSortSinkLocalState) +DECLARE_OPERATOR(LocalExchangeSinkLocalState) +DECLARE_OPERATOR(AggSinkLocalState) +DECLARE_OPERATOR(PartitionedAggSinkLocalState) +DECLARE_OPERATOR(ExchangeSinkLocalState) +DECLARE_OPERATOR(NestedLoopJoinBuildSinkLocalState) +DECLARE_OPERATOR(UnionSinkLocalState) +DECLARE_OPERATOR(MultiCastDataStreamSinkLocalState) +DECLARE_OPERATOR(PartitionSortSinkLocalState) +DECLARE_OPERATOR(SetProbeSinkLocalState) +DECLARE_OPERATOR(SetProbeSinkLocalState) +DECLARE_OPERATOR(SetSinkLocalState) +DECLARE_OPERATOR(SetSinkLocalState) +DECLARE_OPERATOR(PartitionedHashJoinSinkLocalState) +DECLARE_OPERATOR(GroupCommitBlockSinkLocalState) + +#undef DECLARE_OPERATOR + +#define DECLARE_OPERATOR(LOCAL_STATE) template class OperatorX; +DECLARE_OPERATOR(HashJoinProbeLocalState) +DECLARE_OPERATOR(OlapScanLocalState) +DECLARE_OPERATOR(GroupCommitLocalState) +DECLARE_OPERATOR(JDBCScanLocalState) +DECLARE_OPERATOR(FileScanLocalState) +DECLARE_OPERATOR(EsScanLocalState) +DECLARE_OPERATOR(AnalyticLocalState) +DECLARE_OPERATOR(SortLocalState) +DECLARE_OPERATOR(SpillSortLocalState) +DECLARE_OPERATOR(AggLocalState) +DECLARE_OPERATOR(PartitionedAggLocalState) +DECLARE_OPERATOR(TableFunctionLocalState) +DECLARE_OPERATOR(ExchangeLocalState) +DECLARE_OPERATOR(RepeatLocalState) +DECLARE_OPERATOR(NestedLoopJoinProbeLocalState) +DECLARE_OPERATOR(AssertNumRowsLocalState) +DECLARE_OPERATOR(EmptySetLocalState) +DECLARE_OPERATOR(UnionSourceLocalState) +DECLARE_OPERATOR(MultiCastDataStreamSourceLocalState) +DECLARE_OPERATOR(PartitionSortSourceLocalState) +DECLARE_OPERATOR(SetSourceLocalState) +DECLARE_OPERATOR(SetSourceLocalState) +DECLARE_OPERATOR(DataGenLocalState) +DECLARE_OPERATOR(SchemaScanLocalState) +DECLARE_OPERATOR(MetaScanLocalState) +DECLARE_OPERATOR(LocalExchangeSourceLocalState) +DECLARE_OPERATOR(PartitionedHashJoinProbeLocalState) + +#undef DECLARE_OPERATOR template class StreamingOperatorX; template class StreamingOperatorX; diff --git a/be/src/pipeline/exec/operator.h b/be/src/pipeline/exec/operator.h index 0863550dc192e4..48f8a2d1836574 100644 --- a/be/src/pipeline/exec/operator.h +++ b/be/src/pipeline/exec/operator.h @@ -39,7 +39,6 @@ #include "vec/runtime/vdata_stream_recvr.h" namespace doris { -class DataSink; class RowDescriptor; class RuntimeState; class TDataSink; @@ -82,7 +81,7 @@ struct LocalSinkStateInfo { class OperatorBase { public: - explicit OperatorBase() : _child_x(nullptr), _is_closed(false) {} + explicit OperatorBase() : _child(nullptr), _is_closed(false) {} virtual ~OperatorBase() = default; virtual bool is_sink() const { return false; } @@ -98,7 +97,7 @@ class OperatorBase { [[nodiscard]] virtual Status close(RuntimeState* state); [[nodiscard]] virtual Status set_child(OperatorPtr child) { - _child_x = std::move(child); + _child = std::move(child); return Status::OK(); } @@ -108,7 +107,7 @@ class OperatorBase { virtual Status revoke_memory(RuntimeState* state) { return Status::OK(); } [[nodiscard]] virtual bool require_data_distribution() const { return false; } - OperatorPtr child_x() { return _child_x; } + OperatorPtr child() { return _child; } [[nodiscard]] bool followed_by_shuffled_join() const { return _followed_by_shuffled_join; } void set_followed_by_shuffled_join(bool followed_by_shuffled_join) { _followed_by_shuffled_join = followed_by_shuffled_join; @@ -116,7 +115,7 @@ class OperatorBase { [[nodiscard]] virtual bool require_shuffled_data_distribution() const { return false; } protected: - OperatorPtr _child_x = nullptr; + OperatorPtr _child = nullptr; bool _is_closed; bool _followed_by_shuffled_join = false; @@ -645,15 +644,15 @@ class OperatorXBase : public OperatorBase { } [[nodiscard]] std::string get_name() const override { return _op_name; } [[nodiscard]] virtual DataDistribution required_data_distribution() const { - return _child_x && _child_x->ignore_data_distribution() && !is_source() + return _child && _child->ignore_data_distribution() && !is_source() ? DataDistribution(ExchangeType::PASSTHROUGH) : DataDistribution(ExchangeType::NOOP); } [[nodiscard]] virtual bool ignore_data_distribution() const { - return _child_x ? _child_x->ignore_data_distribution() : _ignore_data_distribution; + return _child ? _child->ignore_data_distribution() : _ignore_data_distribution; } [[nodiscard]] bool ignore_data_hash_distribution() const { - return _child_x ? _child_x->ignore_data_hash_distribution() : _ignore_data_distribution; + return _child ? _child->ignore_data_hash_distribution() : _ignore_data_distribution; } [[nodiscard]] virtual bool need_more_input_data(RuntimeState* state) const { return true; } void set_ignore_data_distribution() { _ignore_data_distribution = true; } @@ -708,7 +707,7 @@ class OperatorXBase : public OperatorBase { return reinterpret_cast(*this); } - [[nodiscard]] OperatorPtr get_child() { return _child_x; } + [[nodiscard]] OperatorPtr get_child() { return _child; } [[nodiscard]] vectorized::VExprContextSPtrs& conjuncts() { return _conjuncts; } [[nodiscard]] virtual RowDescriptor& row_descriptor() { return _row_descriptor; } diff --git a/be/src/pipeline/exec/partition_sort_sink_operator.cpp b/be/src/pipeline/exec/partition_sort_sink_operator.cpp index 80808185fa8980..94c51e160da2a2 100644 --- a/be/src/pipeline/exec/partition_sort_sink_operator.cpp +++ b/be/src/pipeline/exec/partition_sort_sink_operator.cpp @@ -117,7 +117,7 @@ Status PartitionSortSinkLocalState::init(RuntimeState* state, LocalSinkStateInfo ADD_COUNTER(_profile, "SortedPartitionInputRows", TUnit::UNIT); _partition_sort_info = std::make_shared( &_vsort_exec_exprs, p._limit, 0, p._pool, p._is_asc_order, p._nulls_first, - p._child_x->row_desc(), state, _profile, p._has_global_limit, p._partition_inner_limit, + p._child->row_desc(), state, _profile, p._has_global_limit, p._partition_inner_limit, p._top_n_algorithm, p._topn_phase); RETURN_IF_ERROR(_init_hash_method()); return Status::OK(); @@ -156,8 +156,8 @@ Status PartitionSortSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* st Status PartitionSortSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX::open(state)); - RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child_x->row_desc(), _row_descriptor)); - RETURN_IF_ERROR(vectorized::VExpr::prepare(_partition_expr_ctxs, state, _child_x->row_desc())); + RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child->row_desc(), _row_descriptor)); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_partition_expr_ctxs, state, _child->row_desc())); RETURN_IF_ERROR(_vsort_exec_exprs.open(state)); RETURN_IF_ERROR(vectorized::VExpr::open(_partition_expr_ctxs, state)); return Status::OK(); @@ -175,7 +175,7 @@ Status PartitionSortSinkOperatorX::sink(RuntimeState* state, vectorized::Block* local_state._value_places.push_back(_pool->add(new PartitionBlocks( local_state._partition_sort_info, local_state._value_places.empty()))); } - local_state._value_places[0]->append_whole_block(input_block, _child_x->row_desc()); + local_state._value_places[0]->append_whole_block(input_block, _child->row_desc()); } else { //just simply use partition num to check //if is TWO_PHASE_GLOBAL, must be sort all data thought partition num threshold have been exceeded. diff --git a/be/src/pipeline/exec/partitioned_aggregation_sink_operator.cpp b/be/src/pipeline/exec/partitioned_aggregation_sink_operator.cpp index 448d3239949a8a..469716b7a22182 100644 --- a/be/src/pipeline/exec/partitioned_aggregation_sink_operator.cpp +++ b/be/src/pipeline/exec/partitioned_aggregation_sink_operator.cpp @@ -141,8 +141,8 @@ Status PartitionedAggSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* s } _agg_sink_operator->set_dests_id(DataSinkOperatorX::dests_id()); - RETURN_IF_ERROR(_agg_sink_operator->set_child( - DataSinkOperatorX::_child_x)); + RETURN_IF_ERROR( + _agg_sink_operator->set_child(DataSinkOperatorX::_child)); return _agg_sink_operator->init(tnode, state); } diff --git a/be/src/pipeline/exec/partitioned_hash_join_probe_operator.cpp b/be/src/pipeline/exec/partitioned_hash_join_probe_operator.cpp index 6529d1eb6540c5..018d63a6deebb1 100644 --- a/be/src/pipeline/exec/partitioned_hash_join_probe_operator.cpp +++ b/be/src/pipeline/exec/partitioned_hash_join_probe_operator.cpp @@ -525,15 +525,15 @@ Status PartitionedHashJoinProbeOperatorX::init(const TPlanNode& tnode, RuntimeSt } Status PartitionedHashJoinProbeOperatorX::open(RuntimeState* state) { - // to avoid open _child_x twice - auto child_x = std::move(_child_x); + // to avoid open _child twice + auto child = std::move(_child); RETURN_IF_ERROR(JoinProbeOperatorX::open(state)); - RETURN_IF_ERROR(_inner_probe_operator->set_child(child_x)); + RETURN_IF_ERROR(_inner_probe_operator->set_child(child)); DCHECK(_build_side_child != nullptr); _inner_probe_operator->set_build_side_child(_build_side_child); RETURN_IF_ERROR(_inner_probe_operator->open(state)); - _child_x = std::move(child_x); - RETURN_IF_ERROR(_partitioner->prepare(state, _child_x->row_desc())); + _child = std::move(child); + RETURN_IF_ERROR(_partitioner->prepare(state, _child->row_desc())); RETURN_IF_ERROR(_partitioner->open(state)); return Status::OK(); } @@ -820,8 +820,8 @@ Status PartitionedHashJoinProbeOperatorX::get_block(RuntimeState* state, vectori return _revoke_memory(state); } - RETURN_IF_ERROR(_child_x->get_block_after_projects(state, local_state._child_block.get(), - &local_state._child_eos)); + RETURN_IF_ERROR(_child->get_block_after_projects(state, local_state._child_block.get(), + &local_state._child_eos)); if (need_to_spill && local_state._child_eos) { RETURN_IF_ERROR(local_state.finish_spilling(0)); diff --git a/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp b/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp index 7c29fdc6ed08dd..a7297be493f804 100644 --- a/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp +++ b/be/src/pipeline/exec/partitioned_hash_join_sink_operator.cpp @@ -102,7 +102,7 @@ size_t PartitionedHashJoinSinkLocalState::revocable_mem_size(RuntimeState* state Status PartitionedHashJoinSinkLocalState::_revoke_unpartitioned_block(RuntimeState* state) { auto& p = _parent->cast(); _shared_state->inner_shared_state->hash_table_variants.reset(); - auto row_desc = p._child_x->row_desc(); + auto row_desc = p._child->row_desc(); const auto num_slots = row_desc.num_slots(); vectorized::Block build_block; auto inner_sink_state_ = _shared_state->inner_runtime_state->get_sink_local_state(); @@ -426,8 +426,8 @@ Status PartitionedHashJoinSinkOperatorX::init(const TPlanNode& tnode, RuntimeSta Status PartitionedHashJoinSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(JoinBuildSinkOperatorX::open(state)); - RETURN_IF_ERROR(_inner_sink_operator->set_child(_child_x)); - RETURN_IF_ERROR(_partitioner->prepare(state, _child_x->row_desc())); + RETURN_IF_ERROR(_inner_sink_operator->set_child(_child)); + RETURN_IF_ERROR(_partitioner->prepare(state, _child->row_desc())); RETURN_IF_ERROR(_partitioner->open(state)); return _inner_sink_operator->open(state); } diff --git a/be/src/pipeline/exec/repeat_operator.cpp b/be/src/pipeline/exec/repeat_operator.cpp index b6761186c82fb4..d355d99c2e352f 100644 --- a/be/src/pipeline/exec/repeat_operator.cpp +++ b/be/src/pipeline/exec/repeat_operator.cpp @@ -59,7 +59,7 @@ Status RepeatOperatorX::open(RuntimeState* state) { if (_output_tuple_desc == nullptr) { return Status::InternalError("Failed to get tuple descriptor."); } - RETURN_IF_ERROR(vectorized::VExpr::prepare(_expr_ctxs, state, _child_x->row_desc())); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_expr_ctxs, state, _child->row_desc())); for (const auto& slot_desc : _output_tuple_desc->slots()) { _output_slots.push_back(slot_desc); } @@ -211,7 +211,7 @@ Status RepeatOperatorX::pull(doris::RuntimeState* state, vectorized::Block* outp int size = _repeat_id_list.size(); if (_repeat_id_idx >= size) { _intermediate_block->clear(); - _child_block.clear_column_data(_child_x->row_desc().num_materialized_slots()); + _child_block.clear_column_data(_child->row_desc().num_materialized_slots()); _repeat_id_idx = 0; } } else if (local_state._expr_ctxs.empty()) { @@ -225,7 +225,7 @@ Status RepeatOperatorX::pull(doris::RuntimeState* state, vectorized::Block* outp RETURN_IF_ERROR( local_state.add_grouping_id_column(rows, cur_col, columns, repeat_id_idx)); } - _child_block.clear_column_data(_child_x->row_desc().num_materialized_slots()); + _child_block.clear_column_data(_child->row_desc().num_materialized_slots()); } RETURN_IF_ERROR(vectorized::VExprContext::filter_block(local_state._conjuncts, output_block, output_block->columns())); diff --git a/be/src/pipeline/exec/set_probe_sink_operator.cpp b/be/src/pipeline/exec/set_probe_sink_operator.cpp index bd4b7481aac240..955f956f60d6fe 100644 --- a/be/src/pipeline/exec/set_probe_sink_operator.cpp +++ b/be/src/pipeline/exec/set_probe_sink_operator.cpp @@ -57,7 +57,7 @@ Status SetProbeSinkOperatorX::init(const TPlanNode& tnode, Runtime template Status SetProbeSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX>::open(state)); - RETURN_IF_ERROR(vectorized::VExpr::prepare(_child_exprs, state, _child_x->row_desc())); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_child_exprs, state, _child->row_desc())); return vectorized::VExpr::open(_child_exprs, state); } diff --git a/be/src/pipeline/exec/set_probe_sink_operator.h b/be/src/pipeline/exec/set_probe_sink_operator.h index 3b3ed2f6a2cabd..ab53f5358c2a91 100644 --- a/be/src/pipeline/exec/set_probe_sink_operator.h +++ b/be/src/pipeline/exec/set_probe_sink_operator.h @@ -111,7 +111,7 @@ class SetProbeSinkOperatorX final : public DataSinkOperatorX _partition_exprs; - using OperatorBase::_child_x; + using OperatorBase::_child; }; } // namespace pipeline diff --git a/be/src/pipeline/exec/set_sink_operator.cpp b/be/src/pipeline/exec/set_sink_operator.cpp index 9cebcf8611edc0..38667293d4854b 100644 --- a/be/src/pipeline/exec/set_sink_operator.cpp +++ b/be/src/pipeline/exec/set_sink_operator.cpp @@ -209,7 +209,7 @@ Status SetSinkOperatorX::init(const TPlanNode& tnode, RuntimeState template Status SetSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(Base::open(state)); - RETURN_IF_ERROR(vectorized::VExpr::prepare(_child_exprs, state, _child_x->row_desc())); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_child_exprs, state, _child->row_desc())); return vectorized::VExpr::open(_child_exprs, state); } diff --git a/be/src/pipeline/exec/set_sink_operator.h b/be/src/pipeline/exec/set_sink_operator.h index 48fd7f400dd5b7..1c08eddc141f2e 100644 --- a/be/src/pipeline/exec/set_sink_operator.h +++ b/be/src/pipeline/exec/set_sink_operator.h @@ -111,7 +111,7 @@ class SetSinkOperatorX final : public DataSinkOperatorX _partition_exprs; - using OperatorBase::_child_x; + using OperatorBase::_child; }; } // namespace pipeline diff --git a/be/src/pipeline/exec/sort_sink_operator.cpp b/be/src/pipeline/exec/sort_sink_operator.cpp index bb7c38d2b709bb..b07942b9ab1c05 100644 --- a/be/src/pipeline/exec/sort_sink_operator.cpp +++ b/be/src/pipeline/exec/sort_sink_operator.cpp @@ -46,19 +46,19 @@ Status SortSinkLocalState::open(RuntimeState* state) { case TSortAlgorithm::HEAP_SORT: { _shared_state->sorter = vectorized::HeapSorter::create_unique( _vsort_exec_exprs, p._limit, p._offset, p._pool, p._is_asc_order, p._nulls_first, - p._child_x->row_desc()); + p._child->row_desc()); break; } case TSortAlgorithm::TOPN_SORT: { _shared_state->sorter = vectorized::TopNSorter::create_unique( _vsort_exec_exprs, p._limit, p._offset, p._pool, p._is_asc_order, p._nulls_first, - p._child_x->row_desc(), state, _profile); + p._child->row_desc(), state, _profile); break; } case TSortAlgorithm::FULL_SORT: { _shared_state->sorter = vectorized::FullSorter::create_unique( _vsort_exec_exprs, p._limit, p._offset, p._pool, p._is_asc_order, p._nulls_first, - p._child_x->row_desc(), state, _profile); + p._child->row_desc(), state, _profile); break; } default: { @@ -108,7 +108,7 @@ Status SortSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* state) { Status SortSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX::open(state)); - RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child_x->row_desc(), _row_descriptor)); + RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child->row_desc(), _row_descriptor)); return _vsort_exec_exprs.open(state); } diff --git a/be/src/pipeline/exec/sort_source_operator.cpp b/be/src/pipeline/exec/sort_source_operator.cpp index 17c936846e5c56..02a99e183c852e 100644 --- a/be/src/pipeline/exec/sort_source_operator.cpp +++ b/be/src/pipeline/exec/sort_source_operator.cpp @@ -42,9 +42,9 @@ Status SortSourceOperatorX::init(const TPlanNode& tnode, RuntimeState* state) { Status SortSourceOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(Base::open(state)); - // spill sort _child_x may be nullptr. - if (_child_x) { - RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child_x->row_desc(), _row_descriptor)); + // spill sort _child may be nullptr. + if (_child) { + RETURN_IF_ERROR(_vsort_exec_exprs.prepare(state, _child->row_desc(), _row_descriptor)); RETURN_IF_ERROR(_vsort_exec_exprs.open(state)); } return Status::OK(); diff --git a/be/src/pipeline/exec/spill_sort_sink_operator.cpp b/be/src/pipeline/exec/spill_sort_sink_operator.cpp index 5f767f2b6e3ab8..4bf1ab04efb628 100644 --- a/be/src/pipeline/exec/spill_sort_sink_operator.cpp +++ b/be/src/pipeline/exec/spill_sort_sink_operator.cpp @@ -120,7 +120,7 @@ Status SpillSortSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* state) _name = "SPILL_SORT_SINK_OPERATOR"; _sort_sink_operator->set_dests_id(DataSinkOperatorX::dests_id()); - RETURN_IF_ERROR(_sort_sink_operator->set_child(DataSinkOperatorX::_child_x)); + RETURN_IF_ERROR(_sort_sink_operator->set_child(DataSinkOperatorX::_child)); return _sort_sink_operator->init(tnode, state); } diff --git a/be/src/pipeline/exec/streaming_aggregation_operator.cpp b/be/src/pipeline/exec/streaming_aggregation_operator.cpp index 59e11583f003c2..dfbe42c637ea56 100644 --- a/be/src/pipeline/exec/streaming_aggregation_operator.cpp +++ b/be/src/pipeline/exec/streaming_aggregation_operator.cpp @@ -1182,7 +1182,7 @@ Status StreamingAggOperatorX::open(RuntimeState* state) { _intermediate_tuple_desc = state->desc_tbl().get_tuple_descriptor(_intermediate_tuple_id); _output_tuple_desc = state->desc_tbl().get_tuple_descriptor(_output_tuple_id); DCHECK_EQ(_intermediate_tuple_desc->slots().size(), _output_tuple_desc->slots().size()); - RETURN_IF_ERROR(vectorized::VExpr::prepare(_probe_expr_ctxs, state, _child_x->row_desc())); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_probe_expr_ctxs, state, _child->row_desc())); int j = _probe_expr_ctxs.size(); for (int i = 0; i < j; ++i) { @@ -1197,7 +1197,7 @@ Status StreamingAggOperatorX::open(RuntimeState* state) { SlotDescriptor* intermediate_slot_desc = _intermediate_tuple_desc->slots()[j]; SlotDescriptor* output_slot_desc = _output_tuple_desc->slots()[j]; RETURN_IF_ERROR(_aggregate_evaluators[i]->prepare( - state, _child_x->row_desc(), intermediate_slot_desc, output_slot_desc)); + state, _child->row_desc(), intermediate_slot_desc, output_slot_desc)); _aggregate_evaluators[i]->set_version(state->be_exec_version()); } @@ -1295,7 +1295,7 @@ Status StreamingAggOperatorX::push(RuntimeState* state, vectorized::Block* in_bl if (in_block->rows() > 0) { RETURN_IF_ERROR(local_state.do_pre_agg(in_block, local_state._pre_aggregated_block.get())); } - in_block->clear_column_data(_child_x->row_desc().num_materialized_slots()); + in_block->clear_column_data(_child->row_desc().num_materialized_slots()); return Status::OK(); } diff --git a/be/src/pipeline/exec/table_function_operator.cpp b/be/src/pipeline/exec/table_function_operator.cpp index 02f61aa8fa94ea..ff9dfe632faec6 100644 --- a/be/src/pipeline/exec/table_function_operator.cpp +++ b/be/src/pipeline/exec/table_function_operator.cpp @@ -215,7 +215,7 @@ void TableFunctionLocalState::process_next_child_row() { } _child_block->clear_column_data(_parent->cast() - ._child_x->row_desc() + ._child->row_desc() .num_materialized_slots()); _cur_child_offset = -1; return; @@ -285,7 +285,7 @@ Status TableFunctionOperatorX::open(doris::RuntimeState* state) { } // get all input slots - for (const auto& child_tuple_desc : _child_x->row_desc().tuple_descriptors()) { + for (const auto& child_tuple_desc : _child->row_desc().tuple_descriptors()) { for (const auto& child_slot_desc : child_tuple_desc->slots()) { _child_slots.push_back(child_slot_desc); } diff --git a/be/src/pipeline/exec/union_sink_operator.cpp b/be/src/pipeline/exec/union_sink_operator.cpp index 06f301bc75ba40..288fc131037fab 100644 --- a/be/src/pipeline/exec/union_sink_operator.cpp +++ b/be/src/pipeline/exec/union_sink_operator.cpp @@ -74,7 +74,7 @@ Status UnionSinkOperatorX::init(const TPlanNode& tnode, RuntimeState* state) { Status UnionSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX::open(state)); - RETURN_IF_ERROR(vectorized::VExpr::prepare(_child_expr, state, _child_x->row_desc())); + RETURN_IF_ERROR(vectorized::VExpr::prepare(_child_expr, state, _child->row_desc())); RETURN_IF_ERROR(vectorized::VExpr::check_expr_output_type(_child_expr, _row_descriptor)); // open const expr lists. RETURN_IF_ERROR(vectorized::VExpr::open(_const_expr, state)); diff --git a/be/src/pipeline/local_exchange/local_exchange_sink_operator.cpp b/be/src/pipeline/local_exchange/local_exchange_sink_operator.cpp index f5f3155b2d3d4d..19c37f3649bcc7 100644 --- a/be/src/pipeline/local_exchange/local_exchange_sink_operator.cpp +++ b/be/src/pipeline/local_exchange/local_exchange_sink_operator.cpp @@ -71,7 +71,7 @@ Status LocalExchangeSinkOperatorX::init(ExchangeType type, const int num_buckets Status LocalExchangeSinkOperatorX::open(RuntimeState* state) { RETURN_IF_ERROR(DataSinkOperatorX::open(state)); if (_type == ExchangeType::HASH_SHUFFLE || _type == ExchangeType::BUCKET_HASH_SHUFFLE) { - RETURN_IF_ERROR(_partitioner->prepare(state, _child_x->row_desc())); + RETURN_IF_ERROR(_partitioner->prepare(state, _child->row_desc())); RETURN_IF_ERROR(_partitioner->open(state)); } diff --git a/be/src/pipeline/local_exchange/local_exchange_source_operator.h b/be/src/pipeline/local_exchange/local_exchange_source_operator.h index ad23cb96aef6fe..c0da5c8120c1e9 100644 --- a/be/src/pipeline/local_exchange/local_exchange_source_operator.h +++ b/be/src/pipeline/local_exchange/local_exchange_source_operator.h @@ -72,10 +72,10 @@ class LocalExchangeSourceOperatorX final : public OperatorXintermediate_row_desc(); + return _child->intermediate_row_desc(); } - RowDescriptor& row_descriptor() override { return _child_x->row_descriptor(); } - const RowDescriptor& row_desc() const override { return _child_x->row_desc(); } + RowDescriptor& row_descriptor() override { return _child->row_descriptor(); } + const RowDescriptor& row_desc() const override { return _child->row_desc(); } Status get_block(RuntimeState* state, vectorized::Block* block, bool* eos) override; diff --git a/be/src/pipeline/pipeline_fragment_context.cpp b/be/src/pipeline/pipeline_fragment_context.cpp index 38a99dd66d421f..a489273b68d129 100644 --- a/be/src/pipeline/pipeline_fragment_context.cpp +++ b/be/src/pipeline/pipeline_fragment_context.cpp @@ -706,7 +706,7 @@ Status PipelineFragmentContext::_add_local_exchange_impl( const std::map& bucket_seq_to_instance_idx, const std::map& shuffle_idx_to_instance_idx, const bool ignore_data_hash_distribution) { - auto& operator_xs = cur_pipe->operators(); + auto& operators = cur_pipe->operators(); const auto downstream_pipeline_id = cur_pipe->id(); auto local_exchange_id = next_operator_id(); // 1. Create a new pipeline with local exchange sink. @@ -717,8 +717,8 @@ Status PipelineFragmentContext::_add_local_exchange_impl( * `bucket_seq_to_instance_idx` is empty if no scan operator is contained in this fragment. * So co-located operators(e.g. Agg, Analytic) should use `HASH_SHUFFLE` instead of `BUCKET_HASH_SHUFFLE`. */ - const bool followed_by_shuffled_join = operator_xs.size() > idx - ? operator_xs[idx]->followed_by_shuffled_join() + const bool followed_by_shuffled_join = operators.size() > idx + ? operators[idx]->followed_by_shuffled_join() : cur_pipe->sink()->followed_by_shuffled_join(); const bool should_disable_bucket_shuffle = bucket_seq_to_instance_idx.empty() && @@ -790,7 +790,7 @@ Status PipelineFragmentContext::_add_local_exchange_impl( } break; case ExchangeType::LOCAL_MERGE_SORT: { - auto child_op = cur_pipe->sink()->child_x(); + auto child_op = cur_pipe->sink()->child(); auto sort_source = std::dynamic_pointer_cast(child_op); if (!sort_source) { return Status::InternalError( @@ -825,21 +825,21 @@ Status PipelineFragmentContext::_add_local_exchange_impl( // pipeline1 [Scan - LocalExchangeSink] and pipeline2 [LocalExchangeSource - AggSink]. // 3.1 Initialize new pipeline's operator list. - std::copy(operator_xs.begin(), operator_xs.begin() + idx, + std::copy(operators.begin(), operators.begin() + idx, std::inserter(new_pip->operators(), new_pip->operators().end())); // 3.2 Erase unused operators in previous pipeline. - operator_xs.erase(operator_xs.begin(), operator_xs.begin() + idx); + operators.erase(operators.begin(), operators.begin() + idx); // 4. Initialize LocalExchangeSource and insert it into this pipeline. OperatorPtr source_op; source_op.reset(new LocalExchangeSourceOperatorX(pool, local_exchange_id)); RETURN_IF_ERROR(source_op->set_child(new_pip->operators().back())); RETURN_IF_ERROR(source_op->init(data_distribution.distribution_type)); - if (!operator_xs.empty()) { - RETURN_IF_ERROR(operator_xs.front()->set_child(source_op)); + if (!operators.empty()) { + RETURN_IF_ERROR(operators.front()->set_child(source_op)); } - operator_xs.insert(operator_xs.begin(), source_op); + operators.insert(operators.begin(), source_op); shared_state->create_dependencies(local_exchange_id); @@ -896,8 +896,8 @@ Status PipelineFragmentContext::_add_local_exchange( } *do_local_exchange = true; - auto& operator_xs = cur_pipe->operators(); - auto total_op_num = operator_xs.size(); + auto& operators = cur_pipe->operators(); + auto total_op_num = operators.size(); auto new_pip = add_pipeline(cur_pipe, pip_idx + 1); RETURN_IF_ERROR(_add_local_exchange_impl( idx, pool, cur_pipe, new_pip, data_distribution, do_local_exchange, num_buckets, @@ -1653,8 +1653,8 @@ void PipelineFragmentContext::_close_fragment_instance() { } if (_query_ctx->enable_profile()) { - _query_ctx->add_fragment_profile(_fragment_id, collect_realtime_profile_x(), - collect_realtime_load_channel_profile_x()); + _query_ctx->add_fragment_profile(_fragment_id, collect_realtime_profile(), + collect_realtime_load_channel_profile()); } // all submitted tasks done @@ -1724,7 +1724,7 @@ std::string PipelineFragmentContext::debug_string() { } std::vector> -PipelineFragmentContext::collect_realtime_profile_x() const { +PipelineFragmentContext::collect_realtime_profile() const { std::vector> res; // we do not have mutex to protect pipeline_id_to_profile @@ -1749,7 +1749,7 @@ PipelineFragmentContext::collect_realtime_profile_x() const { } std::shared_ptr -PipelineFragmentContext::collect_realtime_load_channel_profile_x() const { +PipelineFragmentContext::collect_realtime_load_channel_profile() const { // we do not have mutex to protect pipeline_id_to_profile // so we need to make sure this funciton is invoked after fragment context // has already been prepared. diff --git a/be/src/pipeline/pipeline_fragment_context.h b/be/src/pipeline/pipeline_fragment_context.h index 75f3f22c68131c..f46835e95e0647 100644 --- a/be/src/pipeline/pipeline_fragment_context.h +++ b/be/src/pipeline/pipeline_fragment_context.h @@ -69,8 +69,8 @@ class PipelineFragmentContext : public TaskExecutionContext { ~PipelineFragmentContext(); - std::vector> collect_realtime_profile_x() const; - std::shared_ptr collect_realtime_load_channel_profile_x() const; + std::vector> collect_realtime_profile() const; + std::shared_ptr collect_realtime_load_channel_profile() const; bool is_timeout(timespec now) const; diff --git a/be/src/runtime/query_context.cpp b/be/src/runtime/query_context.cpp index 97aba2cae286c8..b9430d3899b8d3 100644 --- a/be/src/runtime/query_context.cpp +++ b/be/src/runtime/query_context.cpp @@ -401,7 +401,7 @@ QueryContext::_collect_realtime_query_profile() const { continue; } - auto profile = fragment_ctx->collect_realtime_profile_x(); + auto profile = fragment_ctx->collect_realtime_profile(); if (profile.empty()) { std::string err_msg = fmt::format( From 948fb2ab57a8f7f9fcc26b6c45f1e13ecde87a51 Mon Sep 17 00:00:00 2001 From: seawinde <149132972+seawinde@users.noreply.github.com> Date: Tue, 10 Sep 2024 17:06:45 +0800 Subject: [PATCH 152/199] [improvement](mtmv) Optimize the materialized view hint info when explain (#39998) Optimize the explain materialized view info, add double horizontal dividing line between `MATERIALIZATIONS` and`STATISTICS`. Maybe think rewrite fail because` planed with unknown column statistics `, actually is rewrite successfully. Before: | ========== MATERIALIZATIONS ========== | | | | MaterializedView | | MaterializedViewRewriteSuccessAndChose: | | internal#regression_test_nereids_rules_p0_mv_agg_with_roll_up#mv13_1 chose, | | | | MaterializedViewRewriteSuccessButNotChose: | | not chose: none, | | | | MaterializedViewRewriteFail: | | | | Statistics | | planed with unknown column statistics After: | ========== MATERIALIZATIONS ========== | | | | MaterializedView | | MaterializedViewRewriteSuccessAndChose: | | internal.regression_test_nereids_rules_p0_mv_agg_with_roll_up.mv13_1 chose, | | | | MaterializedViewRewriteSuccessButNotChose: | | not chose: none, | | | | MaterializedViewRewriteFail: | | | | | | ========== STATISTICS ========== | | planed with unknown column statistics --- .../java/org/apache/doris/nereids/NereidsPlanner.java | 10 ++++++---- .../rules/exploration/mv/MaterializationContext.java | 2 +- .../mv/same_name/sync_async_same_name.groovy | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java index a304fe36062c80..bd74c5835e287f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java @@ -564,9 +564,10 @@ public String getExplainString(ExplainOptions explainOptions) { String plan = ""; String mvSummary = ""; if (this.getPhysicalPlan() != null && cascadesContext != null) { - mvSummary = "\n\n========== MATERIALIZATIONS ==========\n" - + MaterializationContext.toSummaryString(cascadesContext.getMaterializationContexts(), - this.getPhysicalPlan()); + mvSummary = cascadesContext.getMaterializationContexts().isEmpty() ? "" : + "\n\n========== MATERIALIZATIONS ==========\n" + + MaterializationContext.toSummaryString(cascadesContext.getMaterializationContexts(), + this.getPhysicalPlan()); } switch (explainLevel) { case PARSED_PLAN: @@ -625,9 +626,10 @@ public String getExplainString(ExplainOptions explainOptions) { default: plan = super.getExplainString(explainOptions); plan += mvSummary; + plan += "\n\n\n========== STATISTICS ==========\n"; if (statementContext != null) { if (statementContext.isHasUnknownColStats()) { - plan += "\n\nStatistics\n planed with unknown column statistics\n"; + plan += "planed with unknown column statistics\n"; } } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializationContext.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializationContext.java index 7913c47b36a8dd..609125280ded4b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializationContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializationContext.java @@ -408,7 +408,7 @@ public Void visitPhysicalRelation(PhysicalRelation physicalRelation, Void contex } private static String generateIdentifierName(List qualifiers) { - return String.join("#", qualifiers); + return String.join(".", qualifiers); } @Override diff --git a/regression-test/suites/nereids_rules_p0/mv/same_name/sync_async_same_name.groovy b/regression-test/suites/nereids_rules_p0/mv/same_name/sync_async_same_name.groovy index e8350d487a88ef..20dbc0a083158f 100644 --- a/regression-test/suites/nereids_rules_p0/mv/same_name/sync_async_same_name.groovy +++ b/regression-test/suites/nereids_rules_p0/mv/same_name/sync_async_same_name.groovy @@ -165,7 +165,7 @@ suite("sync_async_same_name") { check {result -> def splitResult = result.split("MaterializedViewRewriteFail") splitResult.length == 2 ? splitResult[0].contains(common_mv_name) - && splitResult[0].contains("orders#${common_mv_name}") : false + && splitResult[0].contains("orders.${common_mv_name}") : false } } From c7f57ae1eabee22f192af4bba4f796b241a24660 Mon Sep 17 00:00:00 2001 From: wuwenchi Date: Tue, 10 Sep 2024 17:44:31 +0800 Subject: [PATCH 153/199] [bugfix](hive)Delete the temporarily created folder (#40424) ## Proposed changes Delete the temporarily created folder, otherwise it will cause too many folders on hdfs: > The directory item limit of xxx is exceeded: limit=xxx items=xxx --- .../doris/datasource/hive/HMSTransaction.java | 2 ++ .../doris/datasource/hive/HmsCommitTest.java | 22 +++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSTransaction.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSTransaction.java index ac610237cddfcc..6183c277c1bdf5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSTransaction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSTransaction.java @@ -1484,6 +1484,8 @@ public void doCommit() { runS3cleanWhenSuccess(); doAddPartitionsTask(); doUpdateStatisticsTasks(); + //delete write path + pruneAndDeleteStagingDirectories(); doNothing(); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/hive/HmsCommitTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/hive/HmsCommitTest.java index 7e99667b73124b..395a063fbc8a24 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/hive/HmsCommitTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/hive/HmsCommitTest.java @@ -17,6 +17,7 @@ package org.apache.doris.datasource.hive; +import org.apache.doris.backup.Status; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.common.info.SimpleTableInfo; @@ -169,15 +170,21 @@ public void testNewPartitionForUnPartitionedTable() throws IOException { @Test public void testAppendPartitionForUnPartitionedTable() throws IOException { genQueryID(); - System.out.println(DebugUtil.printId(connectContext.queryId())); List pus = new ArrayList<>(); pus.add(createRandomAppend(null)); pus.add(createRandomAppend(null)); pus.add(createRandomAppend(null)); + new MockUp(HMSTransaction.HmsCommitter.class) { + @Mock + private void doNothing() { + Assert.assertEquals(Status.ErrCode.NOT_FOUND, fs.exists(getWritePath()).getErrCode()); + } + }; commit(dbName, tbWithoutPartition, pus); Table table = hmsClient.getTable(dbName, tbWithoutPartition); assertNumRows(3, table); + genQueryID(); List pus2 = new ArrayList<>(); pus2.add(createRandomAppend(null)); @@ -204,6 +211,12 @@ public void testOverwritePartitionForUnPartitionedTable() throws IOException { @Test public void testNewPartitionForPartitionedTable() throws IOException { + new MockUp(HMSTransaction.HmsCommitter.class) { + @Mock + private void doNothing() { + Assert.assertEquals(Status.ErrCode.NOT_FOUND, fs.exists(getWritePath()).getErrCode()); + } + }; genQueryID(); List pus = new ArrayList<>(); pus.add(createRandomNew("a")); @@ -377,6 +390,11 @@ public THivePartitionUpdate createRandomOverwrite(String partition) throws IOExc genOnePartitionUpdate("c3=" + partition, TUpdateMode.OVERWRITE); } + private String getWritePath() { + String queryId = DebugUtil.printId(ConnectContext.get().queryId()); + return writeLocation + queryId + "/"; + } + public void commit(String dbName, String tableName, List hivePUs) { @@ -385,7 +403,7 @@ public void commit(String dbName, HiveInsertCommandContext ctx = new HiveInsertCommandContext(); String queryId = DebugUtil.printId(ConnectContext.get().queryId()); ctx.setQueryId(queryId); - ctx.setWritePath(writeLocation + queryId + "/"); + ctx.setWritePath(getWritePath()); hmsTransaction.beginInsertTable(ctx); hmsTransaction.finishInsertTable(new SimpleTableInfo(dbName, tableName)); hmsTransaction.commit(); From 9af79c54b26a2e16b6cae26cf134b63d7be824de Mon Sep 17 00:00:00 2001 From: Mingyu Chen Date: Tue, 10 Sep 2024 18:14:18 +0800 Subject: [PATCH 154/199] [ci](ga) make clang format required (#40626) --- .asf.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.asf.yaml b/.asf.yaml index 6ff16967c2e415..e71e55de23fc83 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -49,6 +49,7 @@ github: strict: false contexts: - License Check + - Clang Formatter - CheckStyle - P0 Regression (Doris Regression) - External Regression (Doris External Regression) @@ -86,6 +87,7 @@ github: strict: false contexts: - License Check + - Clang Formatter - CheckStyle - Build Broker - ShellCheck @@ -107,6 +109,7 @@ github: strict: false contexts: - License Check + - Clang Formatter - CheckStyle - P0 Regression (Doris Regression) - External Regression (Doris External Regression) From c48c1ebc5a2aecdcec87394df0c5d5dac95a0009 Mon Sep 17 00:00:00 2001 From: zclllhhjj Date: Tue, 10 Sep 2024 19:18:29 +0800 Subject: [PATCH 155/199] [Enhancement](auto-partition) Re-add deduplication to auto partition rpc (#40580) ## Proposed changes Issue Number: close #xxx removed in https://github.com/apache/doris/pull/27817. we need it so re add it. --- be/src/pipeline/exec/hashjoin_build_sink.h | 5 ++-- be/src/vec/sink/vrow_distribution.cpp | 6 +++-- be/src/vec/sink/vrow_distribution.h | 28 ++++++++++++++++++---- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/be/src/pipeline/exec/hashjoin_build_sink.h b/be/src/pipeline/exec/hashjoin_build_sink.h index b7ae612510fcb4..cf677833fb5b64 100644 --- a/be/src/pipeline/exec/hashjoin_build_sink.h +++ b/be/src/pipeline/exec/hashjoin_build_sink.h @@ -132,9 +132,8 @@ class HashJoinBuildSinkOperatorX final if (_join_op == TJoinOp::NULL_AWARE_LEFT_ANTI_JOIN) { return {ExchangeType::NOOP}; } else if (_is_broadcast_join) { - return _child->ignore_data_distribution() - ? DataDistribution(ExchangeType::PASS_TO_ONE) - : DataDistribution(ExchangeType::NOOP); + return _child->ignore_data_distribution() ? DataDistribution(ExchangeType::PASS_TO_ONE) + : DataDistribution(ExchangeType::NOOP); } return _join_distribution == TJoinDistributionType::BUCKET_SHUFFLE || _join_distribution == TJoinDistributionType::COLOCATE diff --git a/be/src/vec/sink/vrow_distribution.cpp b/be/src/vec/sink/vrow_distribution.cpp index d45aa2ea911f2e..3a4c7e911f4c14 100644 --- a/be/src/vec/sink/vrow_distribution.cpp +++ b/be/src/vec/sink/vrow_distribution.cpp @@ -68,8 +68,10 @@ Status VRowDistribution::_save_missing_values( } cur_row_values.push_back(node); } - //For duplicate cur_values, they will be filtered in FE - _partitions_need_create.emplace_back(cur_row_values); + if (!_deduper.contains(cur_row_values)) { + _deduper.insert(cur_row_values); + _partitions_need_create.emplace_back(cur_row_values); + } } // to avoid too large mem use diff --git a/be/src/vec/sink/vrow_distribution.h b/be/src/vec/sink/vrow_distribution.h index 5267b488400b8f..fffe0e3f7f1887 100644 --- a/be/src/vec/sink/vrow_distribution.h +++ b/be/src/vec/sink/vrow_distribution.h @@ -24,7 +24,9 @@ #include #include +#include #include +#include #include #include "common/status.h" @@ -133,6 +135,10 @@ class VRowDistribution { Status automatic_create_partition(); void clear_batching_stats(); + // for auto partition + std::unique_ptr _batching_block; + bool _deal_batched = false; // If true, send batched block before any block's append. + private: std::pair _get_partition_function(); @@ -170,17 +176,29 @@ class VRowDistribution { int64_t rows); void _reset_find_tablets(int64_t rows); + struct NullableStringListHash { + std::size_t _hash(const TNullableStringLiteral& arg) const { + if (arg.is_null) { + return 0; + } + return std::hash()(arg.value); + } + std::size_t operator()(const std::vector& arg) const { + std::size_t result = 0; + for (const auto& v : arg) { + result = (result << 1) ^ _hash(v); + } + return result; + } + }; + RuntimeState* _state = nullptr; int _batch_size = 0; // for auto partitions std::vector> _partitions_need_create; - -public: - std::unique_ptr _batching_block; - bool _deal_batched = false; // If true, send batched block before any block's append. -private: size_t _batching_rows = 0, _batching_bytes = 0; + std::unordered_set, NullableStringListHash> _deduper; OlapTableBlockConvertor* _block_convertor = nullptr; OlapTabletFinder* _tablet_finder = nullptr; From b2eef7652fa4dbeee019798fb0499381932ec8ba Mon Sep 17 00:00:00 2001 From: zhiqiang Date: Tue, 10 Sep 2024 20:20:05 +0800 Subject: [PATCH 156/199] [fix](regression-test) Fix scanner profile test failed occasionally (#40566) Collection of profile is async. So wait 5 seconds before get profile. adaptive_pipeline_task_serial_read_on_limit will fail on multi backends env, since tablets num on each be will not be 10. --- ..._pipeline_task_serial_read_on_limit.groovy | 21 ++++++++----------- .../query_profile/scanner_profile.groovy | 4 ++++ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/regression-test/suites/query_profile/adaptive_pipeline_task_serial_read_on_limit.groovy b/regression-test/suites/query_profile/adaptive_pipeline_task_serial_read_on_limit.groovy index 15481fe7c9a8dc..46ff11b7845c91 100644 --- a/regression-test/suites/query_profile/adaptive_pipeline_task_serial_read_on_limit.groovy +++ b/regression-test/suites/query_profile/adaptive_pipeline_task_serial_read_on_limit.groovy @@ -116,6 +116,8 @@ suite('adaptive_pipeline_task_serial_read_on_limit') { sql "set enable_profile=false" + Thread.sleep(5) + def wholeString = getProfileList() List profileData = new JsonSlurper().parseText(wholeString).data.rows String queryIdNoLimit1 = ""; @@ -149,27 +151,22 @@ suite('adaptive_pipeline_task_serial_read_on_limit') { } } - logger.info("queryIdNoLimit1_${uuidString}: {}", queryIdNoLimit1) logger.info("queryIdWithLimit1_${uuidString}: {}", queryIdWithLimit1) - logger.info("queryIdWithLimit2_${uuidString}: {}", queryIdWithLimit2) - logger.info("queryIDNotEnableLimit_${uuidString}: {}", queryIDNotEnableLimit) logger.info("queryIdModifyTo20_${uuidString}: {}", queryIdModifyTo20) - assertTrue(queryIdNoLimit1 != "") assertTrue(queryIdWithLimit1 != "") - assertTrue(queryIdWithLimit2 != "") - assertTrue(queryIDNotEnableLimit != "") assertTrue(queryIdModifyTo20 != "") - def String profileNoLimit1 = getProfile(queryIdNoLimit1).toString() def String profileWithLimit1 = getProfile(queryIdWithLimit1).toString() - def String profileWithLimit2 = getProfile(queryIdWithLimit2).toString() - def String profileNotEnableLimit = getProfile(queryIDNotEnableLimit).toString() def String profileModifyTo20 = getProfile(queryIdModifyTo20).toString() - assertTrue(profileNoLimit1.contains("- MaxScannerThreadNum: 10")) + if (!profileWithLimit1.contains("- MaxScannerThreadNum: 1")) { + logger.info("profileWithLimit1:\n{}", profileWithLimit1) + } assertTrue(profileWithLimit1.contains("- MaxScannerThreadNum: 1")) - assertTrue(profileWithLimit2.contains("- MaxScannerThreadNum: 10")) - assertTrue(profileNotEnableLimit.contains("- MaxScannerThreadNum: 10")) + + if (!profileModifyTo20.contains("- MaxScannerThreadNum: 1")) { + logger.info("profileModifyTo20:\n{}", profileModifyTo20) + } assertTrue(profileModifyTo20.contains("- MaxScannerThreadNum: 1")) } \ No newline at end of file diff --git a/regression-test/suites/query_profile/scanner_profile.groovy b/regression-test/suites/query_profile/scanner_profile.groovy index 38216d211e65ea..75ae6a5ab65a9b 100644 --- a/regression-test/suites/query_profile/scanner_profile.groovy +++ b/regression-test/suites/query_profile/scanner_profile.groovy @@ -98,6 +98,10 @@ suite('scanner_profile') { logger.info("queryIdWithLimit1_${uuidString}: {}", queryIdWithLimit1) assertTrue(queryIdWithLimit1 != "") + + // Sleep 5 seconds to make sure profile collection is done + Thread.sleep(5000) + def String profileWithLimit1 = getProfile(queryIdWithLimit1).toString() logger.info("query profile {}", profileWithLimit1) assertTrue(profileWithLimit1.contains("- PeakRunningScanner: 1")) From b7e8d8238492f7e42ee2a682350d5c3b44ad58e5 Mon Sep 17 00:00:00 2001 From: Calvin Kirs Date: Tue, 10 Sep 2024 21:33:06 +0800 Subject: [PATCH 157/199] [fix](metadata)Add FE metadata-related file checks (#40546) ## Proposed changes Issue Number: close #xxx --- .../java/org/apache/doris/common/Config.java | 4 + .../org/apache/doris/master/MetaHelper.java | 93 +++++++++++++++++-- .../apache/doris/master/MetaHelperTest.java | 47 ++++++++++ 3 files changed, 134 insertions(+), 10 deletions(-) diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java index 360ec7ae6035c7..f12fff59c0355f 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java @@ -3052,4 +3052,8 @@ public static int metaServiceRpcRetryTimes() { @ConfField(mutable = true, description = {"表示最大锁持有时间,超过该时间会打印告警日志,单位秒", "Maximum lock hold time; logs a warning if exceeded"}) public static long max_lock_hold_threshold_seconds = 10; + + @ConfField(mutable = true, description = {"元数据同步是否开启安全模式", + "Is metadata synchronization enabled in safe mode"}) + public static boolean meta_helper_security_mode = false; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/master/MetaHelper.java b/fe/fe-core/src/main/java/org/apache/doris/master/MetaHelper.java index e4fd5cacf71262..cf63a82cd870d8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/master/MetaHelper.java +++ b/fe/fe-core/src/main/java/org/apache/doris/master/MetaHelper.java @@ -18,6 +18,7 @@ package org.apache.doris.master; import org.apache.doris.catalog.Env; +import org.apache.doris.common.Config; import org.apache.doris.common.io.IOUtils; import org.apache.doris.common.util.HttpURLUtil; import org.apache.doris.httpv2.entity.ResponseBody; @@ -32,7 +33,6 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; @@ -47,6 +47,8 @@ public class MetaHelper { public static final String X_IMAGE_MD5 = "X-Image-Md5"; private static final int BUFFER_BYTES = 8 * 1024; private static final int CHECKPOINT_LIMIT_BYTES = 30 * 1024 * 1024; + private static final String VALID_FILENAME_REGEX = "^image\\.\\d+(\\.part)?$"; + public static File getMasterImageDir() { String metaDir = Env.getCurrentEnv().getImageDir(); @@ -57,24 +59,89 @@ public static int getLimit() { return CHECKPOINT_LIMIT_BYTES; } + private static void completeCheck(File dir, File file, File newFile) throws IOException { + if (!Config.meta_helper_security_mode) { + return; + } + String dirPath = dir.getCanonicalPath(); // Get the canonical path of the directory + String filePath = file.getCanonicalPath(); // Get the canonical path of the original file + String newFilePath = newFile.getCanonicalPath(); // Get the canonical path of the new file + + // Ensure both file paths are within the specified directory to prevent path traversal attacks + if (!filePath.startsWith(dirPath) || !newFilePath.startsWith(dirPath)) { + throw new SecurityException("File path traversal attempt detected."); + } + + // Ensure the original file exists and is a valid file to avoid renaming a non-existing file + if (!file.exists() || !file.isFile()) { + throw new IOException("Source file does not exist or is not a valid file."); + } + + } + // rename the .PART_SUFFIX file to filename public static File complete(String filename, File dir) throws IOException { - File file = new File(dir, filename + MetaHelper.PART_SUFFIX); - File newFile = new File(dir, filename); + // Validate that the filename does not contain illegal path elements + checkIsValidFileName(filename); + + File file = new File(dir, filename + MetaHelper.PART_SUFFIX); // Original file with a specific suffix + File newFile = new File(dir, filename); // Target file without the suffix + + completeCheck(dir, file, newFile); + // Attempt to rename the file. If it fails, throw an exception if (!file.renameTo(newFile)) { - throw new IOException("Complete file" + filename + " failed"); + throw new IOException("Complete file " + filename + " failed"); } - return newFile; + + return newFile; // Return the newly renamed file } - public static OutputStream getOutputStream(String filename, File dir) - throws FileNotFoundException { + public static File getFile(String filename, File dir) throws IOException { + checkIsValidFileName(filename); File file = new File(dir, filename + MetaHelper.PART_SUFFIX); - return new FileOutputStream(file); + checkFile(dir, file); + return file; + } + + private static void checkFile(File dir, File file) throws IOException { + if (!Config.meta_helper_security_mode) { + return; + } + String dirPath = dir.getCanonicalPath(); + String filePath = file.getCanonicalPath(); + + if (!filePath.startsWith(dirPath)) { + throw new SecurityException("File path traversal attempt detected."); + } } - public static File getFile(String filename, File dir) { - return new File(dir, filename + MetaHelper.PART_SUFFIX); + + private static void checkIsValidFileName(String filename) { + if (!Config.meta_helper_security_mode) { + return; + } + if (!filename.matches(VALID_FILENAME_REGEX)) { + throw new IllegalArgumentException("Invalid filename"); + } + } + + private static void checkFile(File file) throws IOException { + if (!Config.meta_helper_security_mode) { + return; + } + if (!file.getAbsolutePath().startsWith(file.getCanonicalFile().getParent())) { + throw new IllegalArgumentException("Invalid file path"); + } + + File parentDir = file.getParentFile(); + if (!parentDir.canWrite()) { + throw new IOException("No write permission in directory: " + parentDir); + } + + if (file.exists() && !file.delete()) { + throw new IOException("Failed to delete existing file: " + file); + } + checkIsValidFileName(file.getName()); } public static ResponseBody doGet(String url, int timeout, Class clazz) throws IOException { @@ -88,6 +155,8 @@ public static ResponseBody doGet(String url, int timeout, Class clazz) th public static void getRemoteFile(String urlStr, int timeout, File file) throws IOException { HttpURLConnection conn = null; + checkFile(file); + boolean md5Matched = true; OutputStream out = new FileOutputStream(file); try { conn = HttpURLUtil.getConnectionWithNodeIdent(urlStr); @@ -117,6 +186,7 @@ public static void getRemoteFile(String urlStr, int timeout, File file) if (remoteMd5 != null) { String localMd5 = DigestUtils.md5Hex(new FileInputStream(file)); if (!remoteMd5.equals(localMd5)) { + md5Matched = false; throw new IOException("Unexpected image md5, expected: " + remoteMd5 + ", actual: " + localMd5); } } @@ -127,6 +197,9 @@ public static void getRemoteFile(String urlStr, int timeout, File file) if (out != null) { out.close(); } + if (!md5Matched && file.exists() & Config.meta_helper_security_mode) { + file.delete(); + } } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/master/MetaHelperTest.java b/fe/fe-core/src/test/java/org/apache/doris/master/MetaHelperTest.java index 070979494bfd6c..40083abf956aa4 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/master/MetaHelperTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/master/MetaHelperTest.java @@ -17,6 +17,7 @@ package org.apache.doris.master; +import org.apache.doris.common.Config; import org.apache.doris.httpv2.entity.ResponseBody; import org.apache.doris.httpv2.rest.RestApiStatusCode; import org.apache.doris.persist.StorageInfo; @@ -25,6 +26,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.Assert; import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; + +import java.io.File; +import java.io.IOException; public class MetaHelperTest { @@ -49,4 +55,45 @@ private ResponseBody buildResponseBody() { bodyBefore.setMsg("msg"); return bodyBefore; } + + File tempDir = new File(System.getProperty("java.io.tmpdir"), "tempDir"); + + @BeforeEach + void setUp() { + + if (tempDir.exists()) { + tempDir.delete(); + } + tempDir.mkdir(); + } + + @Test + public void testFile() throws IOException { + + String errorFilename = "testfile."; + File errorFileWithSuffix = new File(tempDir, errorFilename); + String rightFilename = "image.1"; + File rightFileWithSuffix = new File(tempDir, rightFilename); + + Config.meta_helper_security_mode = true; + + if (errorFileWithSuffix.exists()) { + errorFileWithSuffix.delete(); + } + Assert.assertThrows(IllegalArgumentException.class, () -> MetaHelper.complete(errorFilename, tempDir)); + Assert.assertThrows(IllegalArgumentException.class, () -> MetaHelper.getFile(errorFilename, tempDir)); + if (rightFileWithSuffix.exists()) { + rightFileWithSuffix.delete(); + } + Assert.assertEquals(rightFileWithSuffix.getName() + ".part", MetaHelper.getFile(rightFilename, tempDir).getName()); + + } + + @AfterEach + public void tearDown() { + if (tempDir.exists()) { + tempDir.delete(); + } + } + } From 3f2e98a0b1b50c16d78d573886f3debd6b4ff284 Mon Sep 17 00:00:00 2001 From: Yongqiang YANG <98214048+dataroaring@users.noreply.github.com> Date: Tue, 10 Sep 2024 23:45:34 +0800 Subject: [PATCH 158/199] [improvement](fdb) add a tool which deploys and starts fdb (#39803) --- tools/fdb/fdb_ctl.sh | 418 ++++++++++++++++++++++++++++++++++++++++++ tools/fdb/fdb_vars.sh | 72 ++++++++ 2 files changed, 490 insertions(+) create mode 100755 tools/fdb/fdb_ctl.sh create mode 100644 tools/fdb/fdb_vars.sh diff --git a/tools/fdb/fdb_ctl.sh b/tools/fdb/fdb_ctl.sh new file mode 100755 index 00000000000000..9c809abd5d4a50 --- /dev/null +++ b/tools/fdb/fdb_ctl.sh @@ -0,0 +1,418 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# +# 1. Run fdb_ctrl.sh deploy on each machine to deploy FoundationDB. +# This will create the necessary directories, configuration files. +# +# 2. Run fdb_ctrl.sh start on each machine to start the fdb cluster +# and get the cluster connection string. +# + +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" &>/dev/null && pwd)" + +if [[ -f "${ROOT_DIR}/fdb_vars.sh" ]]; then + source "${ROOT_DIR}/fdb_vars.sh" +else + echo "Please create fdb_vars.sh first" + exit 1 +fi + +if [[ ! -d "${FDB_HOME}" ]]; then + echo "Please set and create FDB_HOME first" + exit 1 +fi + +if [[ ! "${FDB_HOME}" = /* ]]; then + echo "${FDB_HOME} is not an absolute path." + exit 1 +fi + +if [[ -z ${FDB_CLUSTER_ID} ]]; then + echo "Please set FDB_CLUSTER_ID first" + exit 1 +fi + +# TODO verify config + +FDB_CLUSTER_DESC=${FDB_CLUSTER_DESC:-"doris-fdb"} + +# A dir to provide FDB binary pkgs +FDB_PKG_DIR=${ROOT_DIR}/pkgs/${FDB_VERSION} + +FDB_PORT=${FDB_PORT:-4500} + +LOG_DIR=${LOG_DIR:-${FDB_HOME}/log} + +mkdir -p "${LOG_DIR}" +mkdir -p "${FDB_HOME}"/conf +mkdir -p "${FDB_HOME}"/log + +function ensure_port_is_listenable() { + local component="$1" + local port="$2" + + if lsof -nP -iTCP:"${port}" -sTCP:LISTEN >/dev/null; then + echo "The port ${port} of ${component} is occupied" + exit 1 + fi +} + +function download_fdb() { + if [[ -d "${FDB_PKG_DIR}" ]]; then + echo "FDB ${FDB_VERSION} already exists" + return + fi + + local URL="https://github.com/apple/foundationdb/releases/download/${FDB_VERSION}/" + local TMP="${FDB_PKG_DIR}-tmp" + + rm -rf "${TMP}" + mkdir -p "${TMP}" + + wget "${URL}/fdbbackup.x86_64" -O "${TMP}/fdbbackup" + wget "${URL}/fdbserver.x86_64" -O "${TMP}/fdbserver" + wget "${URL}/fdbcli.x86_64" -O "${TMP}/fdbcli" + wget "${URL}/fdbmonitor.x86_64" -O "${TMP}/fdbmonitor" + wget "${URL}/libfdb_c.x86_64.so" -O "${TMP}/libfdb_c.x86_64.so" + chmod +x "${TMP}"/fdb* + + mv "${TMP}" "${FDB_PKG_DIR}" + echo "Download fdb binary pkgs success" +} + +# Function to configure coordinators +get_coordinators() { + local num_nodes + local num_coordinators + + num_nodes=$(echo "${FDB_CLUSTER_IPS}" | tr ',' '\n' | wc -l) + + if [[ ${num_nodes} -le 2 ]]; then + num_coordinators=1 + elif [[ ${num_nodes} -le 4 ]]; then + num_coordinators=3 + else + num_coordinators=5 + fi + + echo "${FDB_CLUSTER_IPS}" | cut -d',' -f1-"${num_coordinators}" | tr ',' '\n' | sed "s/$/:${FDB_PORT}/" | paste -sd ',' +} + +get_fdb_mode() { + # Initialize a new database + local num_nodes + local fdb_mode + + num_nodes=$(echo "${FDB_CLUSTER_IPS}" | tr ',' '\n' | wc -l) + if [[ ${num_nodes} -eq 1 ]]; then + fdb_mode="single" + elif [[ ${num_nodes} -le 4 ]]; then + fdb_mode="double" + else + fdb_mode="triple" + fi + + echo "${fdb_mode}" +} + +# Function to calculate number of processes +calculate_process_numbers() { + # local memory_gb=$1 + local cpu_cores=$2 + + local min_processes=1 + local data_dir_count + + # Convert comma-separated DATA_DIRS into an array + IFS=',' read -r -a DATA_DIR_ARRAY <<<"${DATA_DIRS}" + data_dir_count=${#DATA_DIR_ARRAY[@]} + + # Stateless processes (at least 1, up to 1/4 of CPU cores) + local stateless_processes=$((cpu_cores / 4)) + [[ ${stateless_processes} -lt ${min_processes} ]] && stateless_processes=${min_processes} + + # Storage processes (must be a multiple of the number of data directories) + local storage_processes=$((cpu_cores / 4)) + [[ ${storage_processes} -lt ${data_dir_count} ]] && storage_processes=${data_dir_count} + storage_processes=$(((storage_processes / data_dir_count) * data_dir_count)) + + # Transaction processes (must be a multiple of the number of data directories) + local transaction_processes=$((cpu_cores / 8)) + [[ ${transaction_processes} -lt ${min_processes} ]] && transaction_processes=${min_processes} + [[ ${transaction_processes} -lt ${data_dir_count} ]] && transaction_processes=${data_dir_count} + transaction_processes=$(((transaction_processes / data_dir_count) * data_dir_count)) + + # Return the values + echo "${stateless_processes} ${storage_processes} ${transaction_processes}" +} + +function deploy_fdb() { + download_fdb + + ln -sf "${FDB_PKG_DIR}/fdbserver" "${FDB_HOME}/fdbserver" + ln -sf "${FDB_PKG_DIR}/fdbmonitor" "${FDB_HOME}/fdbmonitor" + ln -sf "${FDB_PKG_DIR}/fdbbackup" "${FDB_HOME}/backup_agent" + ln -sf "${FDB_PKG_DIR}/fdbcli" "${FDB_HOME}/fdbcli" + + CLUSTER_DESC="${FDB_CLUSTER_DESC:-${FDB_CLUSTER_ID}}" + + # Convert comma-separated DATA_DIRS into an array + IFS=',' read -r -a DATA_DIR_ARRAY <<<"${DATA_DIRS}" + for DIR in "${DATA_DIR_ARRAY[@]}"; do + mkdir -p "${DIR}" || handle_error "Failed to create data directory ${DIR}" + done + + echo -e "\tCreate fdb.cluster, coordinator: $(get_coordinators)" + echo -e "\tfdb.cluster content is: ${CLUSTER_DESC}:${FDB_CLUSTER_ID}@$(get_coordinators)" + cat >"${FDB_HOME}/conf/fdb.cluster" <"${FDB_HOME}/conf/fdb.conf" <>"${FDB_HOME}/conf/fdb.conf" + done + + FDB_PORT=$((FDB_PORT + stateless_processes)) + + # Add storage processes + STORAGE_DIR_COUNT=${#DATA_DIR_ARRAY[@]} + for ((i = 0; i < storage_processes; i++)); do + PORT=$((FDB_PORT + i)) + DIR_INDEX=$((i % STORAGE_DIR_COUNT)) + echo "[fdbserver.${PORT}] +class = storage +datadir = ${DATA_DIR_ARRAY[${DIR_INDEX}]}/${PORT}" | tee -a "${FDB_HOME}/conf/fdb.conf" >/dev/null + done + + FDB_PORT=$((FDB_PORT + storage_processes)) + + # Add transaction processes + for ((i = 0; i < transaction_processes; i++)); do + PORT=$((FDB_PORT + i)) + DIR_INDEX=$((i % STORAGE_DIR_COUNT)) + echo "[fdbserver.${PORT}] +class = transaction +datadir = ${DATA_DIR_ARRAY[${DIR_INDEX}]}/${PORT}" | tee -a "${FDB_HOME}/conf/fdb.conf" >/dev/null + done + + echo "[backup_agent] +command = ${FDB_HOME}/backup_agent +logdir = ${LOG_DIR}" >>"${FDB_HOME}/conf/fdb.conf" + + echo "Deploy FDB to: ${FDB_HOME}" +} + +function start_fdb() { + if [[ ! -f "${FDB_HOME}/fdbmonitor" ]]; then + echo 'Please run setup before start fdb server' + exit 1 + fi + + ensure_port_is_listenable "fdbserver" "${FDB_PORT}" + + echo "Run FDB monitor ..." + "${FDB_HOME}/fdbmonitor" \ + --conffile "${FDB_HOME}/conf/fdb.conf" \ + --lockfile "${FDB_HOME}/fdbmonitor.pid" \ + --daemonize +} + +function stop_fdb() { + if [[ -f "${FDB_HOME}/fdbmonitor.pid" ]]; then + local fdb_pid + fdb_pid=$(cat "${FDB_HOME}/fdbmonitor.pid") + if ps -p "${fdb_pid}" >/dev/null; then + echo "Stop fdbmonitor with pid ${fdb_pid}" + kill -9 "${fdb_pid}" + fi + fi +} + +function clean_fdb() { + if [[ -f "${FDB_HOME}/fdbmonitor.pid" ]]; then + local fdb_pid + + fdb_pid=$(cat "${FDB_HOME}/fdbmonitor.pid") + if ps -p "${fdb_pid}" >/dev/null; then + echo "fdbmonitor with pid ${fdb_pid} is running, stop it first." + exit 1 + fi + fi + + sleep 1 + + # Check if FDB_HOME is set and not root + if [[ -z "${FDB_HOME}" || "${FDB_HOME}" == "/" ]]; then + echo "Error: FDB_HOME is not set or is set to root directory. Aborting cleanup." + exit 1 + fi + + # Check if FDB_HOME is empty + if [[ -z "$(ls -A "${FDB_HOME}")" ]]; then + echo "Error: FDB_HOME is empty. Nothing to clean." + exit 1 + fi + + # Remove all directories and files under ${FDB_HOME} + echo "Removing all directories and files under ${FDB_HOME}" + rm -rf "${FDB_HOME:?}"/* +} + +function deploy() { + local job="$1" + local skip_pkg="$2" + local skip_config="$3" + + if [[ ${job} =~ ^(all|fdb)$ ]]; then + deploy_fdb + fi +} + +function start() { + local job="$1" + local init="$2" + + if [[ ${job} =~ ^(all|fdb)$ ]]; then + start_fdb + fi + + if [[ ${init} =~ ^(all|fdb)$ ]]; then + echo "Try create database ..." + local fdb_mode + + fdb_mode=$(get_fdb_mode) + "${FDB_HOME}/fdbcli" -C "${FDB_HOME}/conf/fdb.cluster" \ + --exec "configure new ${fdb_mode} ssd" || true + fi + + echo "Start fdb success, and the cluster is:" + cat "${FDB_HOME}/conf/fdb.cluster" +} + +function stop() { + local job="$1" + + if [[ ${job} =~ ^(all|fdb)$ ]]; then + stop_fdb & + fi + wait +} + +function clean() { + local job="$1" + + if [[ ${job} =~ ^(all|fdb)$ ]]; then + clean_fdb & + fi + wait +} + +function status() { + pgrep -f "${FDB_CLUSTER_DESC}" +} + +function usage() { + echo "Usage: $0 [--skip-pkg] [--skip-config]" + echo -e "\t deploy \t setup fdb env (dir, binary, conf ...)" + echo -e "\t clean \t clean fdb data" + echo -e "\t start \t start fdb" + echo -e "\t stop \t stop fdb" + echo -e "" + echo -e "" + echo -e "Args:" + echo -e "\t --skip-pkg \t skip to update binary pkgs during deploy" + echo -e "\t --skip-config \t skip to update config during deploy" + echo -e "" + exit 1 +} + +function unknown_cmd() { + local cmd="$1" + + printf "Unknown cmd: %s \n" "${cmd}" + usage +} + +if [[ $# -lt 1 ]]; then + usage +fi + +cmd="$1" +shift + +job="fdb" + +init="fdb" +skip_pkg="false" +skip_config="false" + +case ${cmd} in +deploy) + deploy "${job}" "${skip_pkg}" "${skip_config}" + ;; +start) + start "${job}" "${init}" + ;; +stop) + stop "${job}" + ;; +clean) + clean "${job}" + ;; +fdbcli) + "${FDB_HOME}/fdbcli" -C "${FDB_HOME}/conf/fdb.cluster" "$@" + ;; +config) + generate_regression_config true + ;; +*) + unknown_cmd "${cmd}" + ;; +esac diff --git a/tools/fdb/fdb_vars.sh b/tools/fdb/fdb_vars.sh new file mode 100644 index 00000000000000..c0bbadabdd6cd1 --- /dev/null +++ b/tools/fdb/fdb_vars.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Description: Variables for FoundationDB + +#======================= MUST CUSTOMIZATION ==================================== +# Data directories for FoundationDB storage +# Make sure to create these directories before running the script, and have to be absolute path. +# For simplicity, you can use one direcotry. For production, you should use SSDs. +# shellcheck disable=2034 +DATA_DIRS="/mnt/foundationdb/data1,/mnt/foundationdb/data2,/mnt/foundationdb/data3" + +# Define the cluster IPs (comma-separated list of IP addresses) +# You should have at least 3 IP addresses for a production cluster +# The first IP addresses will be used as the coordinator, +# num of coordinators depends on the number of nodes, see the function get_coordinators. +# For high availability, machines should be in diffrent rack. +# shellcheck disable=2034 +FDB_CLUSTER_IPS="172.200.0.2,172.200.0.3,172.200.0.4" + +# Define the FoundationDB home directory, which contains the fdb binaries and logs. +# default is /fdbhome and have to be absolute path. +# shellcheck disable=2034 +FDB_HOME="/fdbhome" + +# Define the cluster id, shoule be generated random like mktemp -u XXXXXXXX, +# have to be different for each cluster. +# shellcheck disable=2034 +FDB_CLUSTER_ID=$(mktemp -u XXXXXXXX) + +# Define the cluster description, you 'd better to change it. +# shellcheck disable=2034 +FDB_CLUSTER_DESC="mycluster" + +#======================= OPTIONAL CUSTOMIZATION ============================ +# Define resource limits +# Memory limit in gigabytes +# shellcheck disable=2034 +MEMORY_LIMIT_GB=16 + +# CPU cores limit +# shellcheck disable=2034 +CPU_CORES_LIMIT=8 + +#=========================================================================== +# Define starting port for the servers +# This is the base port number for the fdbserver processes, usually does not need to be changed +# shellcheck disable=2034 +FDB_PORT=4500 + +# Define the FoundationDB version +# shellcheck disable=2034 +FDB_VERSION="7.1.38" + +# Users who run the fdb processes, default is the current user +# shellcheck disable=2034 +USER=$(whoami) From a8d8798e960b25e49b67c115a864c02164884e98 Mon Sep 17 00:00:00 2001 From: meiyi Date: Tue, 10 Sep 2024 23:59:13 +0800 Subject: [PATCH 159/199] [fix](regression) speed up some group commit case (#40624) group commit interval is default 10s, cause the case cost too much time --- .../http_stream/test_group_commit_http_stream.out | 2 +- .../stream_load/test_group_commit_stream_load.out | 2 +- ...up_commit_async_wal_msg_fault_injection.groovy | 6 +++--- .../insert_p0/insert_group_commit_into.groovy | 14 +++++++++----- ...sert_group_commit_into_max_filter_ratio.groovy | 15 +-------------- ...sert_group_commit_into_unique_sync_mode.groovy | 6 +++--- .../insert_group_commit_with_exception.groovy | 12 ++++++------ .../insert_group_commit_with_large_data.groovy | 1 + .../insert_group_commit_with_prepare_stmt.groovy | 2 ++ .../test_group_commit_http_stream.groovy | 6 ++++-- ...test_group_commit_and_wal_back_pressure.groovy | 1 + .../test_group_commit_stream_load.groovy | 10 ++++++---- 12 files changed, 38 insertions(+), 39 deletions(-) diff --git a/regression-test/data/load_p0/http_stream/test_group_commit_http_stream.out b/regression-test/data/load_p0/http_stream/test_group_commit_http_stream.out index 57c2525815ad78..e4f297347cc196 100644 --- a/regression-test/data/load_p0/http_stream/test_group_commit_http_stream.out +++ b/regression-test/data/load_p0/http_stream/test_group_commit_http_stream.out @@ -21,5 +21,5 @@ 8 f 80 -- !sql -- -2402288 +1201144 diff --git a/regression-test/data/load_p0/stream_load/test_group_commit_stream_load.out b/regression-test/data/load_p0/stream_load/test_group_commit_stream_load.out index 246be06453bd16..1f1afae813f336 100644 --- a/regression-test/data/load_p0/stream_load/test_group_commit_stream_load.out +++ b/regression-test/data/load_p0/stream_load/test_group_commit_stream_load.out @@ -23,5 +23,5 @@ 11 a 11 -- !sql -- -2402288 +1201144 diff --git a/regression-test/suites/fault_injection_p0/test_group_commit_async_wal_msg_fault_injection.groovy b/regression-test/suites/fault_injection_p0/test_group_commit_async_wal_msg_fault_injection.groovy index c9e22504b1b132..2d0b91a01ed5fc 100644 --- a/regression-test/suites/fault_injection_p0/test_group_commit_async_wal_msg_fault_injection.groovy +++ b/regression-test/suites/fault_injection_p0/test_group_commit_async_wal_msg_fault_injection.groovy @@ -42,7 +42,7 @@ suite("test_group_commit_async_wal_msg_fault_injection","nonConcurrent") { ) engine=olap DISTRIBUTED BY HASH(`k`) BUCKETS 5 - properties("replication_num" = "1") + properties("replication_num" = "1", "group_commit_interval_ms" = "10") """ GetDebugPoint().clearDebugPointsForAllBEs() @@ -79,7 +79,7 @@ suite("test_group_commit_async_wal_msg_fault_injection","nonConcurrent") { ) engine=olap DISTRIBUTED BY HASH(`k`) BUCKETS 5 - properties("replication_num" = "1") + properties("replication_num" = "1", "group_commit_interval_ms" = "10") """ GetDebugPoint().clearDebugPointsForAllBEs() @@ -118,7 +118,7 @@ suite("test_group_commit_async_wal_msg_fault_injection","nonConcurrent") { ) engine=olap DISTRIBUTED BY HASH(`k`) BUCKETS 5 - properties("replication_num" = "1") + properties("replication_num" = "1", "group_commit_interval_ms" = "10") """ GetDebugPoint().clearDebugPointsForAllBEs() diff --git a/regression-test/suites/insert_p0/insert_group_commit_into.groovy b/regression-test/suites/insert_p0/insert_group_commit_into.groovy index dbf2bd2e18ef12..7af61dfc25fa6d 100644 --- a/regression-test/suites/insert_p0/insert_group_commit_into.groovy +++ b/regression-test/suites/insert_p0/insert_group_commit_into.groovy @@ -116,7 +116,8 @@ suite("insert_group_commit_into") { ) DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( - "replication_num" = "1" + "replication_num" = "1", + "group_commit_interval_ms" = "200" ); """ @@ -333,7 +334,7 @@ suite("insert_group_commit_into") { ) UNIQUE key (`teamID`,`service_id`, `start_time`) DISTRIBUTED BY hash(`start_time`) BUCKETS 1 - PROPERTIES ("replication_allocation" = "tag.location.default: 1") + PROPERTIES ("replication_allocation" = "tag.location.default: 1", "group_commit_interval_ms" = "200") """ connect(user = context.config.jdbcUser, password = context.config.jdbcPassword, url = context.config.jdbcUrl) { @@ -384,7 +385,8 @@ suite("insert_group_commit_into") { COMMENT 'OLAP' DISTRIBUTED BY HASH(`ordernum`) BUCKETS 3 PROPERTIES ( - "replication_allocation" = "tag.location.default: 1" + "replication_allocation" = "tag.location.default: 1", + "group_commit_interval_ms" = "200" );""" sql """drop table if exists ${table_tmp};""" sql """CREATE TABLE ${table_tmp} ( @@ -403,7 +405,8 @@ suite("insert_group_commit_into") { COMMENT 'OLAP' DISTRIBUTED BY HASH(`ordernum`) BUCKETS 1 PROPERTIES ( - "replication_allocation" = "tag.location.default: 1" + "replication_allocation" = "tag.location.default: 1", + "group_commit_interval_ms" = "200" ); """ sql """DROP MATERIALIZED VIEW IF EXISTS ods_zn_dnt_max1 ON ${table};""" createMV("""create materialized view ods_zn_dnt_max1 as @@ -508,7 +511,8 @@ suite("insert_group_commit_into") { DUPLICATE KEY(`k1`) DISTRIBUTED BY HASH(`k1`) BUCKETS 1 PROPERTIES ( - "replication_allocation" = "tag.location.default: 1" + "replication_allocation" = "tag.location.default: 1", + "group_commit_interval_ms" = "200" ); """ diff --git a/regression-test/suites/insert_p0/insert_group_commit_into_max_filter_ratio.groovy b/regression-test/suites/insert_p0/insert_group_commit_into_max_filter_ratio.groovy index 0624f1bcf37e7d..64ae30f8f8a63f 100644 --- a/regression-test/suites/insert_p0/insert_group_commit_into_max_filter_ratio.groovy +++ b/regression-test/suites/insert_p0/insert_group_commit_into_max_filter_ratio.groovy @@ -41,19 +41,6 @@ suite("insert_group_commit_into_max_filter_ratio") { } } - def normal_insert = { sql, expected_row_count -> - def stmt = prepareStatement """ ${sql} """ - def result = stmt.executeUpdate() - logger.info("insert result: " + result) - def serverInfo = (((StatementImpl) stmt).results).getServerInfo() - logger.info("result server info: " + serverInfo) - if (result != expected_row_count) { - logger.warn("insert result: " + result + ", expected_row_count: " + expected_row_count + ", sql: " + sql) - } - assertTrue(serverInfo.contains("'status':'VISIBLE'")) - assertTrue(serverInfo.contains("'label':'label")) - } - def group_commit_insert = { sql, expected_row_count -> def stmt = prepareStatement """ ${sql} """ def result = stmt.executeUpdate() @@ -172,7 +159,7 @@ suite("insert_group_commit_into_max_filter_ratio") { DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( "replication_num" = "1", - "group_commit_interval_ms" = "1000" + "group_commit_interval_ms" = "200" ); """ diff --git a/regression-test/suites/insert_p0/insert_group_commit_into_unique_sync_mode.groovy b/regression-test/suites/insert_p0/insert_group_commit_into_unique_sync_mode.groovy index c3a1e79cba517c..f58b306ab4ef66 100644 --- a/regression-test/suites/insert_p0/insert_group_commit_into_unique_sync_mode.groovy +++ b/regression-test/suites/insert_p0/insert_group_commit_into_unique_sync_mode.groovy @@ -124,7 +124,7 @@ suite("insert_group_commit_into_unique_sync_mode") { DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( "replication_num" = "1", - "group_commit_interval_ms" = "1000" + "group_commit_interval_ms" = "10" ); """ @@ -211,7 +211,7 @@ suite("insert_group_commit_into_unique_sync_mode") { PROPERTIES ( "replication_num" = "1", "function_column.sequence_col" = "score", - "group_commit_interval_ms" = "1000" + "group_commit_interval_ms" = "10" ); """ @@ -301,7 +301,7 @@ suite("insert_group_commit_into_unique_sync_mode") { PROPERTIES ( "replication_num" = "1", "function_column.sequence_type" = "int", - "group_commit_interval_ms" = "1000" + "group_commit_interval_ms" = "10" ); """ diff --git a/regression-test/suites/insert_p0/insert_group_commit_with_exception.groovy b/regression-test/suites/insert_p0/insert_group_commit_with_exception.groovy index 1081064d9fe3a3..f59c9bb8b00c69 100644 --- a/regression-test/suites/insert_p0/insert_group_commit_with_exception.groovy +++ b/regression-test/suites/insert_p0/insert_group_commit_with_exception.groovy @@ -20,7 +20,7 @@ import java.sql.DriverManager import java.sql.Statement import java.sql.PreparedStatement -suite("insert_group_commit_with_exception", "nonConcurrent") { +suite("insert_group_commit_with_exception") { def table = "insert_group_commit_with_exception" def getRowCount = { expectedRowCount -> def retry = 0 @@ -57,6 +57,7 @@ suite("insert_group_commit_with_exception", "nonConcurrent") { DUPLICATE KEY(`id`, `name`) DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( + "group_commit_interval_ms" = "200", "replication_num" = "1" ); """ @@ -65,10 +66,10 @@ suite("insert_group_commit_with_exception", "nonConcurrent") { if (item == "nereids") { sql """ set enable_nereids_planner=true; """ sql """ set enable_fallback_to_original_planner=false; """ - sql "set global enable_server_side_prepared_statement = true" + sql "set enable_server_side_prepared_statement = true" } else { sql """ set enable_nereids_planner = false; """ - sql "set global enable_server_side_prepared_statement = false" + sql "set enable_server_side_prepared_statement = false" } // insert into without column @@ -128,10 +129,10 @@ suite("insert_group_commit_with_exception", "nonConcurrent") { if (item == "nereids") { statement.execute("set enable_nereids_planner=true;"); statement.execute("set enable_fallback_to_original_planner=false;"); - sql "set global enable_server_side_prepared_statement = true" + sql "set enable_server_side_prepared_statement = true" } else { statement.execute("set enable_nereids_planner = false;") - sql "set global enable_server_side_prepared_statement = false" + sql "set enable_server_side_prepared_statement = false" } // without column try (PreparedStatement ps = connection.prepareStatement("insert into ${table} values(?, ?, ?, ?)")) { @@ -291,5 +292,4 @@ suite("insert_group_commit_with_exception", "nonConcurrent") { // try_sql("DROP TABLE ${table}") } } - sql "set global enable_server_side_prepared_statement = true" } diff --git a/regression-test/suites/insert_p0/insert_group_commit_with_large_data.groovy b/regression-test/suites/insert_p0/insert_group_commit_with_large_data.groovy index 2af290ffc188e1..b66130c9e29627 100644 --- a/regression-test/suites/insert_p0/insert_group_commit_with_large_data.groovy +++ b/regression-test/suites/insert_p0/insert_group_commit_with_large_data.groovy @@ -62,6 +62,7 @@ suite("insert_group_commit_with_large_data") { DUPLICATE KEY(`id`, `name`) DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( + "group_commit_interval_ms" = "40", "replication_num" = "1" ); """ diff --git a/regression-test/suites/insert_p0/insert_group_commit_with_prepare_stmt.groovy b/regression-test/suites/insert_p0/insert_group_commit_with_prepare_stmt.groovy index 6e05513a8d648b..7f2919f8118d10 100644 --- a/regression-test/suites/insert_p0/insert_group_commit_with_prepare_stmt.groovy +++ b/regression-test/suites/insert_p0/insert_group_commit_with_prepare_stmt.groovy @@ -144,6 +144,7 @@ suite("insert_group_commit_with_prepare_stmt") { UNIQUE KEY(`id`, `name`) DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( + "group_commit_interval_ms" = "40", "replication_num" = "1" ); """ @@ -206,6 +207,7 @@ suite("insert_group_commit_with_prepare_stmt") { DUPLICATE KEY(`id`, `name`) DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( + "group_commit_interval_ms" = "40", "replication_num" = "1" ); """ diff --git a/regression-test/suites/load_p0/http_stream/test_group_commit_http_stream.groovy b/regression-test/suites/load_p0/http_stream/test_group_commit_http_stream.groovy index 5f4906662d3453..cb17cc82655fa7 100644 --- a/regression-test/suites/load_p0/http_stream/test_group_commit_http_stream.groovy +++ b/regression-test/suites/load_p0/http_stream/test_group_commit_http_stream.groovy @@ -88,6 +88,7 @@ suite("test_group_commit_http_stream") { ) DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( + "group_commit_interval_ms" = "200", "replication_num" = "1" ); """ @@ -285,6 +286,7 @@ suite("test_group_commit_http_stream") { PARTITION p1998 VALUES [("19980101"), ("19990101"))) DISTRIBUTED BY HASH(`lo_orderkey`) BUCKETS 4 PROPERTIES ( + "group_commit_interval_ms" = "200", "replication_num" = "1" ); """ @@ -307,7 +309,7 @@ suite("test_group_commit_http_stream") { sql """ alter table ${tableName} order by (${new_columns}); """ }).start();*/ - for (int i = 0; i < 4; i++) { + for (int i = 0; i < 2; i++) { streamLoad { set 'version', '1' @@ -334,7 +336,7 @@ suite("test_group_commit_http_stream") { } } - getRowCount(2402288) + getRowCount(600572 * 2) qt_sql """ select count(*) from ${tableName} """ // assertTrue(getAlterTableState()) diff --git a/regression-test/suites/load_p0/stream_load/test_group_commit_and_wal_back_pressure.groovy b/regression-test/suites/load_p0/stream_load/test_group_commit_and_wal_back_pressure.groovy index bd443b6eab7509..622ade420a2c91 100644 --- a/regression-test/suites/load_p0/stream_load/test_group_commit_and_wal_back_pressure.groovy +++ b/regression-test/suites/load_p0/stream_load/test_group_commit_and_wal_back_pressure.groovy @@ -41,6 +41,7 @@ suite("test_group_commit_and_wal_back_pressure") { UNIQUE KEY(k) DISTRIBUTED BY HASH (k) BUCKETS 32 PROPERTIES( + "group_commit_interval_ms" = "100", "replication_num" = "1" ); """ diff --git a/regression-test/suites/load_p0/stream_load/test_group_commit_stream_load.groovy b/regression-test/suites/load_p0/stream_load/test_group_commit_stream_load.groovy index fea930f59125ef..be483c4dd484fc 100644 --- a/regression-test/suites/load_p0/stream_load/test_group_commit_stream_load.groovy +++ b/regression-test/suites/load_p0/stream_load/test_group_commit_stream_load.groovy @@ -76,7 +76,8 @@ suite("test_group_commit_stream_load") { ) DISTRIBUTED BY HASH(`id`) BUCKETS 1 PROPERTIES ( - "replication_num" = "1" + "replication_num" = "1", + "group_commit_interval_ms" = "200" ); """ @@ -250,7 +251,8 @@ suite("test_group_commit_stream_load") { PARTITION p1998 VALUES [("19980101"), ("19990101"))) DISTRIBUTED BY HASH(`lo_orderkey`) BUCKETS 4 PROPERTIES ( - "replication_num" = "1" + "replication_num" = "1", + "group_commit_interval_ms" = "200" ); """ // load data @@ -272,7 +274,7 @@ suite("test_group_commit_stream_load") { sql """ alter table ${tableName} order by (${new_columns}); """ }).start();*/ - for (int i = 0; i < 4; i++) { + for (int i = 0; i < 2; i++) { streamLoad { table tableName @@ -297,7 +299,7 @@ suite("test_group_commit_stream_load") { } } - getRowCount(2402288) + getRowCount(600572 * 2) qt_sql """ select count(*) from ${tableName} """ // assertTrue(getAlterTableState()) From 42381995925748e107b895b758fc8fb34b840c71 Mon Sep 17 00:00:00 2001 From: yujun Date: Wed, 11 Sep 2024 00:07:43 +0800 Subject: [PATCH 160/199] [feature](docker suite) Docker suite use independent executor (#40259) If many docker suites run parallel, the docker containers take a lot memory, so use independent executor for them to control the memory usage. Use options or config dockerSuiteParallel to set the docker suite parallel, default is 1. --- docker/runtime/doris-compose/Readme.md | 39 +++++++-- docker/runtime/doris-compose/command.py | 26 ++++++ .../runtime/doris-compose/resource/common.sh | 2 +- .../org/apache/doris/regression/Config.groovy | 7 ++ .../doris/regression/ConfigOptions.groovy | 10 +++ .../doris/regression/RegressionTest.groovy | 82 ++++++++++++------- .../doris/regression/suite/Suite.groovy | 6 ++ .../regression/suite/SuiteCluster.groovy | 1 + .../test_clone_missing_version.groovy | 2 +- .../test_clone_no_missing_version.groovy | 2 +- .../clone_p0/test_decommission_mtmv.groovy | 2 +- .../test_drop_clone_tablet_path_race.groovy | 2 +- .../multi_cluster/test_rebalance.groovy | 2 +- .../cloud_p0/multi_cluster/test_tvf.groovy | 4 +- .../query_retry/test_retry_e-230.groovy | 2 +- ...est_schema_change_with_compaction10.groovy | 4 +- ...est_schema_change_with_compaction11.groovy | 2 +- ...test_schema_change_with_compaction5.groovy | 4 +- ...test_schema_change_with_compaction6.groovy | 4 +- ...test_schema_change_with_compaction9.groovy | 4 +- ...est_compaction_with_visible_version.groovy | 2 +- .../suites/demo_p0/docker_action.groovy | 10 ++- .../group_commit/replay_wal_restart_fe.groovy | 2 +- .../transaction/txn_insert_restart_fe.groovy | 2 +- ...nsert_restart_fe_with_schema_change.groovy | 2 +- ...st_build_index_with_clone_by_docker.groovy | 2 +- ...est_min_load_replica_num_complicate.groovy | 2 +- .../load/insert/test_publish_one_succ.groovy | 2 +- .../insert/test_publish_slow_not_wait.groovy | 2 +- .../test_min_load_replica_num_simple.groovy | 2 +- .../test_routine_load_restart_fe.groovy | 2 +- .../test_coordidator_be_restart.groovy | 2 +- ...t_migrate_disk_with_publish_version.groovy | 2 +- ...amic_partition_mod_distribution_key.groovy | 4 +- .../test_create_table_exception.groovy | 2 +- .../test_partition_create_tablet_rr.groovy | 2 +- .../suites/query_p0/test_forward_qeury.groovy | 4 +- ...t_schema_change_concurrent_with_txn.groovy | 2 +- .../test_abort_txn_by_be_cloud1.groovy | 2 +- .../test_abort_txn_by_be_cloud2.groovy | 2 +- .../test_abort_txn_by_be_local5.groovy | 2 +- .../test_abort_txn_by_be_local6.groovy | 2 +- .../test_abort_txn_by_fe_cloud4.groovy | 2 +- .../test_abort_txn_by_fe_local3.groovy | 2 +- .../test_partition_default_medium.groovy | 2 +- .../test_storage_medium_has_disk.groovy | 2 +- .../suites/trash_p0/clean_trash.groovy | 4 +- .../test_mow_full_clone_exception.groovy | 2 +- ..._partial_update_conflict_be_restart.groovy | 2 +- .../test_mow_full_clone_exception.groovy | 2 +- run-regression-test.sh | 1 + 51 files changed, 195 insertions(+), 87 deletions(-) diff --git a/docker/runtime/doris-compose/Readme.md b/docker/runtime/doris-compose/Readme.md index a83fa81e7615fa..770414f7a2bdf8 100644 --- a/docker/runtime/doris-compose/Readme.md +++ b/docker/runtime/doris-compose/Readme.md @@ -23,7 +23,16 @@ Use doris compose to create doris docker compose clusters. ## Requirements -1. The doris image should contains: +##### 1. Make sure you have docker permissions + + run: +``` +docker run hello-world +``` + +if have problem with permission denied, then [add-docker-permission](https://docs.docker.com/engine/install/linux-postinstall/). + +##### 2. The doris image should contains ``` /opt/apache-doris/{fe, be, cloud} @@ -32,16 +41,14 @@ Use doris compose to create doris docker compose clusters. if don't create cloud cluster, the image no need to contains the cloud pkg. -if build doris use `sh build.sh --fe --be --cloud`, then its output satisfy with all above, then run command in doris root +if build doris use `sh build.sh --fe --be --cloud`, then its output satisfy with all above, then run command in doris root directory + will generate such a image. ``` docker build -f docker/runtime/doris-compose/Dockerfile -t . ``` -will generate a image. - -2. Install the dependent python library in 'docker/runtime/doris-compose/requirements.txt' - +##### 3. Install the dependent python library in 'docker/runtime/doris-compose/requirements.txt' ``` python -m pip install --user -r docker/runtime/doris-compose/requirements.txt @@ -49,6 +56,20 @@ python -m pip install --user -r docker/runtime/doris-compose/requirements.txt ## Usage +### Notice + +Each cluster will have a directory in '/tmp/doris/{cluster-name}', user can set env LOCAL_DORIS_PATH to change its directory. + +For example, if user export LOCAL_DORIS_PATH=/mydoris, then the cluster's directory is '/mydoris/{cluster-name}'. + +And cluster's directory will contains all its containers's logs and data, like fe-1, fe-2, be-1, ..., etc. + +If there are multiple users run doris-compose on the same machine, suggest don't change LOCAL_DORIS_PATH or they should export the same LOCAL_DORIS_PATH. + +Because when create a new cluster, doris-compose will search the local doris path, and choose a docker network which is different with this path's clusters. + +So if multiple users use different LOCAL_DORIS_PATH, their clusters may have docker network conflict!!! + ### Create a cluster or recreate its containers ``` @@ -65,9 +86,11 @@ add fe/be nodes with the specific image, or update existing nodes with `--fe-id` For create a cloud cluster, steps are as below: + 1. Write cloud s3 store config file, its default path is '/tmp/doris/cloud.ini'. It's defined in environment variable DORIS_CLOUD_CFG_FILE, user can change this env var to change its path. A Example file is locate in 'docker/runtime/doris-compose/resource/cloud.ini.example'. + 2. Use doris compose up command with option '--cloud' to create a new cloud cluster. The simplest way to create a cloud cluster: @@ -127,7 +150,7 @@ Generate regression-conf-custom.groovy to connect to the specific docker cluster steps: -1. Create a new cluster: `python doris-compose.py up my-cluster my-image --add-fe-num 2 --add-be-num 4 --cloud` -2. Generate regression-conf-custom.groovy: `python doris-compose.py config my-cluster --connect-follow-fe` +1. Create a new cluster: `python docker/runtime/doris-compose/doris-compose.py up my-cluster my-image --add-fe-num 2 --add-be-num 4 --cloud` +2. Generate regression-conf-custom.groovy: `python docker/runtime/doris-compose/doris-compose.py config my-cluster --connect-follow-fe` 3. Run regression test: `bash run-regression-test.sh --run -times 1 -parallel 1 -suiteParallel 1 -d cloud/multi_cluster` diff --git a/docker/runtime/doris-compose/command.py b/docker/runtime/doris-compose/command.py index ed88dd03f4daf8..b6862bdcb000b1 100644 --- a/docker/runtime/doris-compose/command.py +++ b/docker/runtime/doris-compose/command.py @@ -826,7 +826,16 @@ def run(self, args): print("\nNo write regression custom file.") return + annotation_start = "//---------- Start auto generate by doris-compose.py---------" + annotation_end = "//---------- End auto generate by doris-compose.py---------" + + old_contents = [] + if os.path.exists(regression_conf_custom): + with open(regression_conf_custom, "r") as f: + old_contents = f.readlines() with open(regression_conf_custom, "w") as f: + # write auto gen config + f.write(annotation_start) f.write(base_conf.format(fe_ip=fe_ip)) if cluster.is_cloud: multi_cluster_bes = ",".join([ @@ -845,6 +854,23 @@ def run(self, args): multi_cluster_bes=multi_cluster_bes, fe_cloud_unique_id=cluster.get_node( CLUSTER.Node.TYPE_FE, 1).cloud_unique_id())) + f.write(annotation_end + "\n\n") + annotation_end_line_count = -1 + + # write not-auto gen config + in_annotation = False + annotation_end_line_idx = -100 + for line_idx, line in enumerate(old_contents): + line = line.rstrip() + if line == annotation_start: + in_annotation = True + elif line == annotation_end: + in_annotation = False + annotation_end_line_idx = line_idx + elif not in_annotation: + if line or line_idx != annotation_end_line_idx + 1: + f.write(line + "\n") + print("\nWrite succ: " + regression_conf_custom) diff --git a/docker/runtime/doris-compose/resource/common.sh b/docker/runtime/doris-compose/resource/common.sh index de6ba29865a948..a1c1b3ff2a5bdf 100644 --- a/docker/runtime/doris-compose/resource/common.sh +++ b/docker/runtime/doris-compose/resource/common.sh @@ -23,7 +23,7 @@ export LOG_FILE=$DORIS_HOME/log/health.out export LOCK_FILE=$DORIS_HOME/status/token health_log() { - echo "$(date +'%Y-%m-%d %H:%M:%S') $@" >>$LOG_FILE + echo "$(date +'%Y-%m-%d %H:%M:%S') $@" | tee -a $LOG_FILE } # concurrent write meta service server will failed due to fdb txn conflict. diff --git a/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy b/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy index 53fd6b0415faef..0042aa69a0aded 100644 --- a/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy +++ b/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy @@ -117,6 +117,7 @@ class Config { public InetSocketAddress recycleServiceHttpInetSocketAddress public Integer parallel public Integer suiteParallel + public Integer dockerSuiteParallel public Integer actionParallel public Integer times public boolean withOutLoadData @@ -467,6 +468,7 @@ class Config { config.forceGenerateOutputFile = cmd.hasOption(forceGenOutOpt) config.parallel = Integer.parseInt(cmd.getOptionValue(parallelOpt, "10")) config.suiteParallel = Integer.parseInt(cmd.getOptionValue(suiteParallelOpt, "10")) + config.dockerSuiteParallel = Integer.parseInt(cmd.getOptionValue(dockerSuiteParallelOpt, "1")) config.actionParallel = Integer.parseInt(cmd.getOptionValue(actionParallelOpt, "10")) config.times = Integer.parseInt(cmd.getOptionValue(timesOpt, "1")) config.randomOrder = cmd.hasOption(randomOrderOpt) @@ -888,6 +890,11 @@ class Config { log.info("Set suiteParallel to 1 because not specify.".toString()) } + if (config.dockerSuiteParallel == null) { + config.dockerSuiteParallel = 1 + log.info("Set dockerSuiteParallel to 1 because not specify.".toString()) + } + if (config.actionParallel == null) { config.actionParallel = 10 log.info("Set actionParallel to 10 because not specify.".toString()) diff --git a/regression-test/framework/src/main/groovy/org/apache/doris/regression/ConfigOptions.groovy b/regression-test/framework/src/main/groovy/org/apache/doris/regression/ConfigOptions.groovy index b1a782da94b656..67322287d07aa5 100644 --- a/regression-test/framework/src/main/groovy/org/apache/doris/regression/ConfigOptions.groovy +++ b/regression-test/framework/src/main/groovy/org/apache/doris/regression/ConfigOptions.groovy @@ -67,6 +67,7 @@ class ConfigOptions { static Option forceGenOutOpt static Option parallelOpt static Option suiteParallelOpt + static Option dockerSuiteParallelOpt static Option actionParallelOpt static Option randomOrderOpt static Option stopWhenFailOpt @@ -425,6 +426,14 @@ class ConfigOptions { .longOpt("suiteParallel") .desc("the num of threads running for suites") .build() + dockerSuiteParallelOpt = Option.builder("dockerSuiteParallel") + .argName("dockerSuiteParallel") + .required(false) + .hasArg(true) + .type(String.class) + .longOpt("dockerSuiteParallel") + .desc("the num of threads running for docker suites") + .build() actionParallelOpt = Option.builder("actionParallel") .argName("parallel") .required(false) @@ -607,6 +616,7 @@ class ConfigOptions { .addOption(forceGenOutOpt) .addOption(parallelOpt) .addOption(suiteParallelOpt) + .addOption(dockerSuiteParallelOpt) .addOption(actionParallelOpt) .addOption(randomOrderOpt) .addOption(stopWhenFailOpt) diff --git a/regression-test/framework/src/main/groovy/org/apache/doris/regression/RegressionTest.groovy b/regression-test/framework/src/main/groovy/org/apache/doris/regression/RegressionTest.groovy index 92e92a9b736c32..a0cc8ba2ea12c4 100644 --- a/regression-test/framework/src/main/groovy/org/apache/doris/regression/RegressionTest.groovy +++ b/regression-test/framework/src/main/groovy/org/apache/doris/regression/RegressionTest.groovy @@ -52,16 +52,22 @@ import java.util.function.Predicate @CompileStatic class RegressionTest { + static enum GroupExecType { + NORMAL, + SINGLE, // group contains nonConcurrent + DOCKER, // group contains docker + } + static ClassLoader classloader static CompilerConfiguration compileConfig static GroovyShell shell static ExecutorService scriptExecutors - static ExecutorService suiteExecutors - static ExecutorService singleSuiteExecutors static ExecutorService actionExecutors + static Map suiteExecutors static ThreadLocal threadLoadedClassNum = new ThreadLocal<>() static final int cleanLoadedClassesThreshold = 20 static String nonConcurrentTestGroup = "nonConcurrent" + static String dockerTestGroup = "docker" static { ch.qos.logback.classic.Logger loggerOfSuite = @@ -113,8 +119,9 @@ class RegressionTest { } } actionExecutors.shutdown() - suiteExecutors.shutdown() - singleSuiteExecutors.shutdown() + for (ExecutorService suiteExecutor : suiteExecutors.values()) { + suiteExecutor.shutdown() + } scriptExecutors.shutdown() log.info("Test finished") if (!success) { @@ -135,17 +142,24 @@ class RegressionTest { .build(); scriptExecutors = Executors.newFixedThreadPool(config.parallel, scriptFactory) + suiteExecutors = [:] BasicThreadFactory suiteFactory = new BasicThreadFactory.Builder() .namingPattern("suite-thread-%d") .priority(Thread.MAX_PRIORITY) .build(); - suiteExecutors = Executors.newFixedThreadPool(config.suiteParallel, suiteFactory) + suiteExecutors[GroupExecType.NORMAL] = Executors.newFixedThreadPool(config.suiteParallel, suiteFactory) BasicThreadFactory singleSuiteFactory = new BasicThreadFactory.Builder() .namingPattern("non-concurrent-thread-%d") .priority(Thread.MAX_PRIORITY) .build(); - singleSuiteExecutors = Executors.newFixedThreadPool(1, singleSuiteFactory) + suiteExecutors[GroupExecType.SINGLE] = Executors.newFixedThreadPool(1, singleSuiteFactory) + + BasicThreadFactory dockerSuiteFactory = new BasicThreadFactory.Builder() + .namingPattern("docker-suite-thread-%d") + .priority(Thread.MAX_PRIORITY) + .build(); + suiteExecutors[GroupExecType.DOCKER] = Executors.newFixedThreadPool(config.dockerSuiteParallel, dockerSuiteFactory) BasicThreadFactory actionFactory = new BasicThreadFactory.Builder() .namingPattern("action-thread-%d") @@ -198,9 +212,9 @@ class RegressionTest { return sources } - static void runScript(Config config, ScriptSource source, Recorder recorder, boolean isSingleThreadScript) { + static void runScript(Config config, ScriptSource source, Recorder recorder, GroupExecType grpExecType) { def suiteFilter = { String suiteName, String groupName -> - canRun(config, suiteName, groupName, isSingleThreadScript) + canRun(config, suiteName, groupName, grpExecType) } def file = source.getFile() int failureLimit = Integer.valueOf(config.otherConfigs.getOrDefault("max_failure_num", "-1").toString()); @@ -211,12 +225,7 @@ class RegressionTest { return; } def eventListeners = getEventListeners(config, recorder) - ExecutorService executors = null - if (isSingleThreadScript) { - executors = singleSuiteExecutors - } else { - executors = suiteExecutors - } + ExecutorService executors = suiteExecutors[grpExecType] new ScriptContext(file, executors, actionExecutors, config, eventListeners, suiteFilter).start { scriptContext -> @@ -242,11 +251,20 @@ class RegressionTest { scriptSources.eachWithIndex { source, i -> // log.info("Prepare scripts [${i + 1}/${totalFile}]".toString()) def future = scriptExecutors.submit { - runScript(config, source, recorder, false) + runScript(config, source, recorder, GroupExecType.NORMAL) } futures.add(future) } + List dockerFutures = Lists.newArrayList() + scriptSources.eachWithIndex { source, i -> +// log.info("Prepare scripts [${i + 1}/${totalFile}]".toString()) + def future = scriptExecutors.submit { + runScript(config, source, recorder, GroupExecType.DOCKER) + } + dockerFutures.add(future) + } + // wait all scripts for (Future future : futures) { try { @@ -261,12 +279,20 @@ class RegressionTest { scriptSources.eachWithIndex { source, i -> // log.info("Prepare scripts [${i + 1}/${totalFile}]".toString()) def future = scriptExecutors.submit { - runScript(config, source, recorder, true) + runScript(config, source, recorder, GroupExecType.SINGLE) } futures.add(future) } // wait all scripts + for (Future future : dockerFutures) { + try { + future.get() + } catch (Throwable t) { + // do nothing, because already save to Recorder + } + } + for (Future future : futures) { try { future.get() @@ -323,19 +349,19 @@ class RegressionTest { return true } - static boolean canRun(Config config, String suiteName, String group, boolean isSingleThreadScript) { + static boolean canRun(Config config, String suiteName, String group, GroupExecType grpExecType) { + return getGroupExecType(group) == grpExecType && filterGroups(config, group) && filterSuites(config, suiteName) + } + + static GroupExecType getGroupExecType(String group) { Set suiteGroups = group.split(',').collect { g -> g.trim() }.toSet(); - if (isSingleThreadScript) { - if (!suiteGroups.contains(nonConcurrentTestGroup)) { - return false - } + if (suiteGroups.contains(nonConcurrentTestGroup)) { + return GroupExecType.SINGLE + } else if (suiteGroups.contains(dockerTestGroup)) { + return GroupExecType.DOCKER } else { - if (suiteGroups.contains(nonConcurrentTestGroup)) { - return false - } + return GroupExecType.NORMAL } - - return filterGroups(config, group) && filterSuites(config, suiteName) } static List getEventListeners(Config config, Recorder recorder) { @@ -421,7 +447,7 @@ class RegressionTest { } pluginPath.eachFileRecurse({ it -> if (it.name.endsWith(".groovy")) { - ScriptContext context = new ScriptContext(it, suiteExecutors, actionExecutors, + ScriptContext context = new ScriptContext(it, suiteExecutors[GroupExecType.NORMAL], actionExecutors, config, [], { name -> true }) File pluginFile = it context.start({ @@ -454,7 +480,7 @@ class RegressionTest { + "output: ${sout.toString()}, error: ${serr.toString()}") } - def pipList = 'pip list'.execute().text + def pipList = 'python -m pip list'.execute().text log.info("python library: ${pipList}") } diff --git a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy index 713a30e98ca076..eb816ecb73f997 100644 --- a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy +++ b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy @@ -29,6 +29,7 @@ import groovy.json.JsonSlurper import com.google.common.collect.ImmutableList import org.apache.commons.lang3.ObjectUtils import org.apache.doris.regression.Config +import org.apache.doris.regression.RegressionTest import org.apache.doris.regression.action.BenchmarkAction import org.apache.doris.regression.action.ProfileAction import org.apache.doris.regression.action.WaitForAction @@ -276,6 +277,11 @@ class Suite implements GroovyInterceptable { return } + if (RegressionTest.getGroupExecType(group) != RegressionTest.GroupExecType.DOCKER) { + throw new Exception("Need to add 'docker' to docker suite's belong groups, " + + "see example demo_p0/docker_action.groovy") + } + boolean pipelineIsCloud = isCloudMode() boolean dockerIsCloud = false if (options.cloudMode == null) { diff --git a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteCluster.groovy b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteCluster.groovy index 44220500d1b5bd..a2f99868bd739b 100644 --- a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteCluster.groovy +++ b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteCluster.groovy @@ -40,6 +40,7 @@ class ClusterOptions { ] List beConfigs = [ + 'max_sys_mem_available_low_water_mark_bytes=0', //no check mem available memory 'report_disk_state_interval_seconds=2', 'report_random_wait=false', ] diff --git a/regression-test/suites/clone_p0/test_clone_missing_version.groovy b/regression-test/suites/clone_p0/test_clone_missing_version.groovy index 2981cf3c5e3638..aa119158dfa8ac 100644 --- a/regression-test/suites/clone_p0/test_clone_missing_version.groovy +++ b/regression-test/suites/clone_p0/test_clone_missing_version.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType -suite('test_clone_missing_version') { +suite('test_clone_missing_version', 'docker') { def options = new ClusterOptions() options.feConfigs += [ 'disable_tablet_scheduler=true', diff --git a/regression-test/suites/clone_p0/test_clone_no_missing_version.groovy b/regression-test/suites/clone_p0/test_clone_no_missing_version.groovy index 75eb3866ec8302..b19521441dd20e 100644 --- a/regression-test/suites/clone_p0/test_clone_no_missing_version.groovy +++ b/regression-test/suites/clone_p0/test_clone_no_missing_version.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType -suite('test_clone_no_missing_version') { +suite('test_clone_no_missing_version', 'docker') { def tbl = 'tbl_test_clone_no_missing_version' def options = new ClusterOptions() options.feConfigs += [ diff --git a/regression-test/suites/clone_p0/test_decommission_mtmv.groovy b/regression-test/suites/clone_p0/test_decommission_mtmv.groovy index 24853aa718c574..b29d5c13c94447 100644 --- a/regression-test/suites/clone_p0/test_decommission_mtmv.groovy +++ b/regression-test/suites/clone_p0/test_decommission_mtmv.groovy @@ -17,7 +17,7 @@ import org.apache.doris.regression.suite.ClusterOptions -suite('test_decommission_mtmv') { +suite('test_decommission_mtmv', 'docker') { def options = new ClusterOptions() options.feConfigs += [ 'disable_balance=true', diff --git a/regression-test/suites/clone_p0/test_drop_clone_tablet_path_race.groovy b/regression-test/suites/clone_p0/test_drop_clone_tablet_path_race.groovy index ebf1259a72f2c8..f9c72f3b71c23b 100644 --- a/regression-test/suites/clone_p0/test_drop_clone_tablet_path_race.groovy +++ b/regression-test/suites/clone_p0/test_drop_clone_tablet_path_race.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.junit.Assert -suite('test_drop_clone_tablet_path_race') { +suite('test_drop_clone_tablet_path_race', 'docker') { if (isCloudMode()) { return } diff --git a/regression-test/suites/cloud_p0/multi_cluster/test_rebalance.groovy b/regression-test/suites/cloud_p0/multi_cluster/test_rebalance.groovy index 0aa2e83ccc2bfd..542f9a969f5d6a 100644 --- a/regression-test/suites/cloud_p0/multi_cluster/test_rebalance.groovy +++ b/regression-test/suites/cloud_p0/multi_cluster/test_rebalance.groovy @@ -20,7 +20,7 @@ import groovy.json.JsonSlurper import org.awaitility.Awaitility; import static java.util.concurrent.TimeUnit.SECONDS; -suite('test_rebalance_in_cloud', 'multi_cluster') { +suite('test_rebalance_in_cloud', 'multi_cluster,docker') { if (!isCloudMode()) { return; } diff --git a/regression-test/suites/cloud_p0/multi_cluster/test_tvf.groovy b/regression-test/suites/cloud_p0/multi_cluster/test_tvf.groovy index 13af1209e99db4..90fd6656b8ffbb 100644 --- a/regression-test/suites/cloud_p0/multi_cluster/test_tvf.groovy +++ b/regression-test/suites/cloud_p0/multi_cluster/test_tvf.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import groovy.json.JsonSlurper -suite('test_tvf_in_cloud', 'multi_cluster') { +suite('test_tvf_in_cloud', 'multi_cluster,docker') { if (!isCloudMode()) { return; } @@ -83,4 +83,4 @@ suite('test_tvf_in_cloud', 'multi_cluster') { sql """use @${currentCluster.cluster}""" testCase.call() } -} \ No newline at end of file +} diff --git a/regression-test/suites/cloud_p0/query_retry/test_retry_e-230.groovy b/regression-test/suites/cloud_p0/query_retry/test_retry_e-230.groovy index 2d8ca3f529674d..88ec8e8861d6f4 100644 --- a/regression-test/suites/cloud_p0/query_retry/test_retry_e-230.groovy +++ b/regression-test/suites/cloud_p0/query_retry/test_retry_e-230.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType import org.apache.doris.regression.suite.SuiteCluster -suite("test_retry_e-230") { +suite("test_retry_e-230", 'docker') { if (!isCloudMode()) { return } diff --git a/regression-test/suites/cloud_p0/schema_change/compaction10/test_schema_change_with_compaction10.groovy b/regression-test/suites/cloud_p0/schema_change/compaction10/test_schema_change_with_compaction10.groovy index b393979d44218a..ea5e818c2ee06b 100644 --- a/regression-test/suites/cloud_p0/schema_change/compaction10/test_schema_change_with_compaction10.groovy +++ b/regression-test/suites/cloud_p0/schema_change/compaction10/test_schema_change_with_compaction10.groovy @@ -20,7 +20,7 @@ import org.apache.http.NoHttpResponseException import org.apache.doris.regression.util.DebugPoint import org.apache.doris.regression.util.NodeType -suite('test_schema_change_with_compaction10') { +suite('test_schema_change_with_compaction10', 'docker') { def options = new ClusterOptions() options.cloudMode = true options.enableDebugPoints() @@ -260,4 +260,4 @@ suite('test_schema_change_with_compaction10') { assertTrue(out.contains("[8-16]")) } } -} \ No newline at end of file +} diff --git a/regression-test/suites/cloud_p0/schema_change/compaction11/test_schema_change_with_compaction11.groovy b/regression-test/suites/cloud_p0/schema_change/compaction11/test_schema_change_with_compaction11.groovy index fd257fcb7ea950..d49d8646d3fd51 100644 --- a/regression-test/suites/cloud_p0/schema_change/compaction11/test_schema_change_with_compaction11.groovy +++ b/regression-test/suites/cloud_p0/schema_change/compaction11/test_schema_change_with_compaction11.groovy @@ -20,7 +20,7 @@ import org.apache.http.NoHttpResponseException import org.apache.doris.regression.util.DebugPoint import org.apache.doris.regression.util.NodeType -suite('test_schema_change_with_compaction11') { +suite('test_schema_change_with_compaction11', 'docker') { def options = new ClusterOptions() options.cloudMode = true options.enableDebugPoints() diff --git a/regression-test/suites/cloud_p0/schema_change/compaction5/test_schema_change_with_compaction5.groovy b/regression-test/suites/cloud_p0/schema_change/compaction5/test_schema_change_with_compaction5.groovy index f5028ff9e818c3..fd6267b85bcbc9 100644 --- a/regression-test/suites/cloud_p0/schema_change/compaction5/test_schema_change_with_compaction5.groovy +++ b/regression-test/suites/cloud_p0/schema_change/compaction5/test_schema_change_with_compaction5.groovy @@ -20,7 +20,7 @@ import org.apache.http.NoHttpResponseException import org.apache.doris.regression.util.DebugPoint import org.apache.doris.regression.util.NodeType -suite('test_schema_change_with_compaction5', 'nonConcurrent') { +suite('test_schema_change_with_compaction5', 'docker') { def options = new ClusterOptions() options.cloudMode = true options.enableDebugPoints() @@ -257,4 +257,4 @@ suite('test_schema_change_with_compaction5', 'nonConcurrent') { assertTrue(out.contains("[8-16]")) } } -} \ No newline at end of file +} diff --git a/regression-test/suites/cloud_p0/schema_change/compaction6/test_schema_change_with_compaction6.groovy b/regression-test/suites/cloud_p0/schema_change/compaction6/test_schema_change_with_compaction6.groovy index 951535433d1362..d77db4eb2df541 100644 --- a/regression-test/suites/cloud_p0/schema_change/compaction6/test_schema_change_with_compaction6.groovy +++ b/regression-test/suites/cloud_p0/schema_change/compaction6/test_schema_change_with_compaction6.groovy @@ -20,7 +20,7 @@ import org.apache.http.NoHttpResponseException import org.apache.doris.regression.util.DebugPoint import org.apache.doris.regression.util.NodeType -suite('test_schema_change_with_compaction6', 'nonConcurrent') { +suite('test_schema_change_with_compaction6', 'docker') { def options = new ClusterOptions() options.cloudMode = true options.enableDebugPoints() @@ -260,4 +260,4 @@ suite('test_schema_change_with_compaction6', 'nonConcurrent') { assertTrue(out.contains("[8-16]")) } } -} \ No newline at end of file +} diff --git a/regression-test/suites/cloud_p0/schema_change/compaction9/test_schema_change_with_compaction9.groovy b/regression-test/suites/cloud_p0/schema_change/compaction9/test_schema_change_with_compaction9.groovy index 83c549eefc5abd..3797a89f565997 100644 --- a/regression-test/suites/cloud_p0/schema_change/compaction9/test_schema_change_with_compaction9.groovy +++ b/regression-test/suites/cloud_p0/schema_change/compaction9/test_schema_change_with_compaction9.groovy @@ -20,7 +20,7 @@ import org.apache.http.NoHttpResponseException import org.apache.doris.regression.util.DebugPoint import org.apache.doris.regression.util.NodeType -suite('test_schema_change_with_compaction9') { +suite('test_schema_change_with_compaction9', 'docker') { def options = new ClusterOptions() options.cloudMode = true options.enableDebugPoints() @@ -257,4 +257,4 @@ suite('test_schema_change_with_compaction9') { assertTrue(out.contains("[8-16]")) } } -} \ No newline at end of file +} diff --git a/regression-test/suites/compaction/test_compaction_with_visible_version.groovy b/regression-test/suites/compaction/test_compaction_with_visible_version.groovy index 4a6ee4c847a5db..e9b60774efa22b 100644 --- a/regression-test/suites/compaction/test_compaction_with_visible_version.groovy +++ b/regression-test/suites/compaction/test_compaction_with_visible_version.groovy @@ -19,7 +19,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.Http import org.apache.doris.regression.util.NodeType -suite('test_compaction_with_visible_version') { +suite('test_compaction_with_visible_version', 'docker') { def options = new ClusterOptions() def compaction_keep_invisible_version_min_count = 50L options.feConfigs += [ diff --git a/regression-test/suites/demo_p0/docker_action.groovy b/regression-test/suites/demo_p0/docker_action.groovy index 6d62d6ea7bea8d..bfe9c0039e2761 100644 --- a/regression-test/suites/demo_p0/docker_action.groovy +++ b/regression-test/suites/demo_p0/docker_action.groovy @@ -17,7 +17,15 @@ import org.apache.doris.regression.suite.ClusterOptions -suite('docker_action') { +// run docker suite steps: +// 1. Read 'docker/runtime/doris-compose/Readme.md', make sure you can setup a doris docker cluster; +// 2. update regression-conf-custom.groovy with config: +// image = "xxxx" // your doris docker image +// excludeDockerTest = false // do run docker suite, default is false +// dockerEndDeleteFiles = false // after run docker suite, whether delete contains's log and data in directory '/tmp/doris/' + +// need add 'docker' to suite's group, and don't add 'nonConcurrent' to it +suite('docker_action', 'docker') { // run a new docker docker { sql '''create table tb1 (k int) DISTRIBUTED BY HASH(k) BUCKETS 10''' diff --git a/regression-test/suites/insert_p0/group_commit/replay_wal_restart_fe.groovy b/regression-test/suites/insert_p0/group_commit/replay_wal_restart_fe.groovy index d39bdd9d4a954d..8347950ca6bbe4 100644 --- a/regression-test/suites/insert_p0/group_commit/replay_wal_restart_fe.groovy +++ b/regression-test/suites/insert_p0/group_commit/replay_wal_restart_fe.groovy @@ -21,7 +21,7 @@ import org.apache.doris.regression.suite.ClusterOptions -suite("replay_wal_restart_fe") { +suite("replay_wal_restart_fe", 'docker') { def check_schema_change = { state -> for (int i = 0; i < 30; i++) { def jobs = sql_return_maparray "SHOW ALTER TABLE COLUMN WHERE TableName = 'tbl_2' order by CreateTime desc;" diff --git a/regression-test/suites/insert_p0/transaction/txn_insert_restart_fe.groovy b/regression-test/suites/insert_p0/transaction/txn_insert_restart_fe.groovy index 9d1e372224e80e..bd478bc2359959 100644 --- a/regression-test/suites/insert_p0/transaction/txn_insert_restart_fe.groovy +++ b/regression-test/suites/insert_p0/transaction/txn_insert_restart_fe.groovy @@ -22,7 +22,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType -suite("txn_insert_restart_fe") { +suite("txn_insert_restart_fe", 'docker') { def get_observer_fe_url = { def fes = sql_return_maparray "show frontends" logger.info("frontends: ${fes}") diff --git a/regression-test/suites/insert_p0/transaction/txn_insert_restart_fe_with_schema_change.groovy b/regression-test/suites/insert_p0/transaction/txn_insert_restart_fe_with_schema_change.groovy index fec2fc4378dff2..d2537bfe8c6a55 100644 --- a/regression-test/suites/insert_p0/transaction/txn_insert_restart_fe_with_schema_change.groovy +++ b/regression-test/suites/insert_p0/transaction/txn_insert_restart_fe_with_schema_change.groovy @@ -22,7 +22,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType -suite("txn_insert_restart_fe_with_schema_change") { +suite("txn_insert_restart_fe_with_schema_change", 'docker') { def getAlterTableState = { dbName, show_sql -> def retry = 0 sql "use ${dbName};" diff --git a/regression-test/suites/inverted_index_p0/index_change/test_build_index_with_clone_by_docker.groovy b/regression-test/suites/inverted_index_p0/index_change/test_build_index_with_clone_by_docker.groovy index f8478c3ea61ea0..999b58350ff1ab 100644 --- a/regression-test/suites/inverted_index_p0/index_change/test_build_index_with_clone_by_docker.groovy +++ b/regression-test/suites/inverted_index_p0/index_change/test_build_index_with_clone_by_docker.groovy @@ -19,7 +19,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType import org.apache.doris.regression.suite.SuiteCluster -suite("test_build_index_with_clone_by_docker"){ +suite("test_build_index_with_clone_by_docker", 'docker'){ if (isCloudMode()) { return } diff --git a/regression-test/suites/load/insert/test_min_load_replica_num_complicate.groovy b/regression-test/suites/load/insert/test_min_load_replica_num_complicate.groovy index 10869ed9bf2d3b..d6c9c71539b406 100644 --- a/regression-test/suites/load/insert/test_min_load_replica_num_complicate.groovy +++ b/regression-test/suites/load/insert/test_min_load_replica_num_complicate.groovy @@ -34,7 +34,7 @@ class InjectCase { } -suite('test_min_load_replica_num_complicate') { +suite('test_min_load_replica_num_complicate', 'docker') { def beCloneCostMs = 3000 def random = new Random() diff --git a/regression-test/suites/load/insert/test_publish_one_succ.groovy b/regression-test/suites/load/insert/test_publish_one_succ.groovy index 22f78c64300222..f58bca5c4581c9 100644 --- a/regression-test/suites/load/insert/test_publish_one_succ.groovy +++ b/regression-test/suites/load/insert/test_publish_one_succ.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType -suite('test_publish_one_succ') { +suite('test_publish_one_succ', 'docker') { def options = new ClusterOptions() options.enableDebugPoints() docker(options) { diff --git a/regression-test/suites/load/insert/test_publish_slow_not_wait.groovy b/regression-test/suites/load/insert/test_publish_slow_not_wait.groovy index 8d3cddc42187b8..d9cd077eab01c6 100644 --- a/regression-test/suites/load/insert/test_publish_slow_not_wait.groovy +++ b/regression-test/suites/load/insert/test_publish_slow_not_wait.groovy @@ -17,7 +17,7 @@ import org.apache.doris.regression.suite.ClusterOptions -suite('test_publish_slow_not_wait') { +suite('test_publish_slow_not_wait', 'docker') { def options = new ClusterOptions() options.beNum = 3 options.feConfigs.add('disable_tablet_scheduler=true') diff --git a/regression-test/suites/load_p0/insert/test_min_load_replica_num_simple.groovy b/regression-test/suites/load_p0/insert/test_min_load_replica_num_simple.groovy index 75d7155c3d44a6..88bcbfd248e2b7 100644 --- a/regression-test/suites/load_p0/insert/test_min_load_replica_num_simple.groovy +++ b/regression-test/suites/load_p0/insert/test_min_load_replica_num_simple.groovy @@ -17,7 +17,7 @@ import org.apache.doris.regression.suite.ClusterOptions -suite('test_min_load_replica_num_simple') { +suite('test_min_load_replica_num_simple', 'docker') { def options = new ClusterOptions() options.feConfigs.add('tablet_checker_interval_ms=1000') docker(options) { diff --git a/regression-test/suites/load_p0/routine_load/test_routine_load_restart_fe.groovy b/regression-test/suites/load_p0/routine_load/test_routine_load_restart_fe.groovy index d60fbf265fd9e5..d8ea6f911799a2 100644 --- a/regression-test/suites/load_p0/routine_load/test_routine_load_restart_fe.groovy +++ b/regression-test/suites/load_p0/routine_load/test_routine_load_restart_fe.groovy @@ -22,7 +22,7 @@ import org.apache.kafka.clients.producer.KafkaProducer import org.apache.kafka.clients.producer.ProducerRecord import org.apache.kafka.clients.producer.ProducerConfig -suite("test_routine_load_restart_fe", "p0, nonConcurrent") { +suite("test_routine_load_restart_fe", "docker") { def kafkaCsvTpoics = [ "test_out_of_range", ] diff --git a/regression-test/suites/load_p0/stream_load/test_coordidator_be_restart.groovy b/regression-test/suites/load_p0/stream_load/test_coordidator_be_restart.groovy index bb6b0c18a0daf7..e728335003a4f7 100644 --- a/regression-test/suites/load_p0/stream_load/test_coordidator_be_restart.groovy +++ b/regression-test/suites/load_p0/stream_load/test_coordidator_be_restart.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.http.NoHttpResponseException -suite('test_coordidator_be_restart') { +suite('test_coordidator_be_restart', 'docker') { def options = new ClusterOptions() options.cloudMode = false options.enableDebugPoints() diff --git a/regression-test/suites/migrate_p0/test_migrate_disk_with_publish_version.groovy b/regression-test/suites/migrate_p0/test_migrate_disk_with_publish_version.groovy index fb80d4272ddbaa..61dac3e4141822 100644 --- a/regression-test/suites/migrate_p0/test_migrate_disk_with_publish_version.groovy +++ b/regression-test/suites/migrate_p0/test_migrate_disk_with_publish_version.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType -suite('test_migrate_disk_with_publish_version') { +suite('test_migrate_disk_with_publish_version', 'docker') { if (isCloudMode()) { return } diff --git a/regression-test/suites/partition_p0/dynamic_partition/test_dynamic_partition_mod_distribution_key.groovy b/regression-test/suites/partition_p0/dynamic_partition/test_dynamic_partition_mod_distribution_key.groovy index db44f59216bbdd..c52e5897aa0880 100644 --- a/regression-test/suites/partition_p0/dynamic_partition/test_dynamic_partition_mod_distribution_key.groovy +++ b/regression-test/suites/partition_p0/dynamic_partition/test_dynamic_partition_mod_distribution_key.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions -suite("test_dynamic_partition_mod_distribution_key") { +suite("test_dynamic_partition_mod_distribution_key", "docker") { def options = new ClusterOptions() options.setFeNum(2) docker(options) { @@ -72,4 +72,4 @@ suite("test_dynamic_partition_mod_distribution_key") { assertEquals(9, result.size()) } } -} \ No newline at end of file +} diff --git a/regression-test/suites/partition_p0/test_create_table_exception.groovy b/regression-test/suites/partition_p0/test_create_table_exception.groovy index 96f097c76705f2..7c96e4b59da16e 100644 --- a/regression-test/suites/partition_p0/test_create_table_exception.groovy +++ b/regression-test/suites/partition_p0/test_create_table_exception.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType import org.apache.doris.regression.suite.SuiteCluster -suite("test_create_table_exception") { +suite("test_create_table_exception", "docker") { def options = new ClusterOptions() options.enableDebugPoints() options.setFeNum(3) diff --git a/regression-test/suites/partition_p0/test_partition_create_tablet_rr.groovy b/regression-test/suites/partition_p0/test_partition_create_tablet_rr.groovy index f7e77f06f38c23..836dff938f8c96 100644 --- a/regression-test/suites/partition_p0/test_partition_create_tablet_rr.groovy +++ b/regression-test/suites/partition_p0/test_partition_create_tablet_rr.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType import org.apache.doris.regression.suite.SuiteCluster -suite("test_partition_create_tablet_rr") { +suite("test_partition_create_tablet_rr", "docker") { def options = new ClusterOptions() options.beNum = 1 options.feConfigs.add('disable_balance=true') diff --git a/regression-test/suites/query_p0/test_forward_qeury.groovy b/regression-test/suites/query_p0/test_forward_qeury.groovy index 8dbef459d2dd75..28295e4ec895bb 100644 --- a/regression-test/suites/query_p0/test_forward_qeury.groovy +++ b/regression-test/suites/query_p0/test_forward_qeury.groovy @@ -19,7 +19,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType -suite("test_forward_query") { +suite("test_forward_query", 'docker') { def options = new ClusterOptions() options.enableDebugPoints() options.setFeNum(2) @@ -49,4 +49,4 @@ suite("test_forward_query") { assertTrue(false) } } -} \ No newline at end of file +} diff --git a/regression-test/suites/schema_change/test_schema_change_concurrent_with_txn.groovy b/regression-test/suites/schema_change/test_schema_change_concurrent_with_txn.groovy index d250a000c0123f..3a63e306ae15de 100644 --- a/regression-test/suites/schema_change/test_schema_change_concurrent_with_txn.groovy +++ b/regression-test/suites/schema_change/test_schema_change_concurrent_with_txn.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType -suite('test_schema_change_concurrent_with_txn') { +suite('test_schema_change_concurrent_with_txn', 'docker') { def options = new ClusterOptions() options.enableDebugPoints() options.feConfigs.add('publish_wait_time_second=-1') diff --git a/regression-test/suites/schema_change_p0/test_abort_txn_by_be_cloud1.groovy b/regression-test/suites/schema_change_p0/test_abort_txn_by_be_cloud1.groovy index 03f77917731c64..f2d0b767eb89fe 100644 --- a/regression-test/suites/schema_change_p0/test_abort_txn_by_be_cloud1.groovy +++ b/regression-test/suites/schema_change_p0/test_abort_txn_by_be_cloud1.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.http.NoHttpResponseException -suite('test_abort_txn_by_be_cloud1') { +suite('test_abort_txn_by_be_cloud1', 'docker') { def options = new ClusterOptions() options.cloudMode = true options.enableDebugPoints() diff --git a/regression-test/suites/schema_change_p0/test_abort_txn_by_be_cloud2.groovy b/regression-test/suites/schema_change_p0/test_abort_txn_by_be_cloud2.groovy index 7a2d382f3abfda..7264ac7f90a9f4 100644 --- a/regression-test/suites/schema_change_p0/test_abort_txn_by_be_cloud2.groovy +++ b/regression-test/suites/schema_change_p0/test_abort_txn_by_be_cloud2.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.http.NoHttpResponseException -suite('test_abort_txn_by_be_cloud2') { +suite('test_abort_txn_by_be_cloud2', 'docker') { def options = new ClusterOptions() options.cloudMode = true options.enableDebugPoints() diff --git a/regression-test/suites/schema_change_p0/test_abort_txn_by_be_local5.groovy b/regression-test/suites/schema_change_p0/test_abort_txn_by_be_local5.groovy index df4fb5d637e566..0df8254ff25844 100644 --- a/regression-test/suites/schema_change_p0/test_abort_txn_by_be_local5.groovy +++ b/regression-test/suites/schema_change_p0/test_abort_txn_by_be_local5.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.http.NoHttpResponseException -suite('test_abort_txn_by_be_local5') { +suite('test_abort_txn_by_be_local5', 'docker') { def options = new ClusterOptions() options.cloudMode = false options.skipRunWhenPipelineDiff = false diff --git a/regression-test/suites/schema_change_p0/test_abort_txn_by_be_local6.groovy b/regression-test/suites/schema_change_p0/test_abort_txn_by_be_local6.groovy index 1f6e6df4417212..a95d335579b046 100644 --- a/regression-test/suites/schema_change_p0/test_abort_txn_by_be_local6.groovy +++ b/regression-test/suites/schema_change_p0/test_abort_txn_by_be_local6.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.http.NoHttpResponseException -suite('test_abort_txn_by_be_local6') { +suite('test_abort_txn_by_be_local6', 'docker') { def options = new ClusterOptions() options.cloudMode = false options.skipRunWhenPipelineDiff = true diff --git a/regression-test/suites/schema_change_p0/test_abort_txn_by_fe_cloud4.groovy b/regression-test/suites/schema_change_p0/test_abort_txn_by_fe_cloud4.groovy index bd12d57fd34ed1..80b61e16efd3b0 100644 --- a/regression-test/suites/schema_change_p0/test_abort_txn_by_fe_cloud4.groovy +++ b/regression-test/suites/schema_change_p0/test_abort_txn_by_fe_cloud4.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.http.NoHttpResponseException -suite('test_abort_txn_by_fe_cloud4') { +suite('test_abort_txn_by_fe_cloud4', 'docker') { def options = new ClusterOptions() options.cloudMode = true options.enableDebugPoints() diff --git a/regression-test/suites/schema_change_p0/test_abort_txn_by_fe_local3.groovy b/regression-test/suites/schema_change_p0/test_abort_txn_by_fe_local3.groovy index 37667abe9506d7..355dab0587917c 100644 --- a/regression-test/suites/schema_change_p0/test_abort_txn_by_fe_local3.groovy +++ b/regression-test/suites/schema_change_p0/test_abort_txn_by_fe_local3.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.http.NoHttpResponseException -suite('test_abort_txn_by_fe_local3') { +suite('test_abort_txn_by_fe_local3', 'docker') { def options = new ClusterOptions() options.cloudMode = false options.skipRunWhenPipelineDiff = false diff --git a/regression-test/suites/storage_medium_p0/test_partition_default_medium.groovy b/regression-test/suites/storage_medium_p0/test_partition_default_medium.groovy index 3543ce64ab1ae7..163761833c21b7 100644 --- a/regression-test/suites/storage_medium_p0/test_partition_default_medium.groovy +++ b/regression-test/suites/storage_medium_p0/test_partition_default_medium.groovy @@ -18,7 +18,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.apache.doris.regression.util.NodeType import org.apache.doris.regression.suite.SuiteCluster -suite("test_partition_default_medium") { +suite("test_partition_default_medium", 'docker') { def options = new ClusterOptions() options.feConfigs += [ 'default_storage_medium=HDD', diff --git a/regression-test/suites/storage_medium_p0/test_storage_medium_has_disk.groovy b/regression-test/suites/storage_medium_p0/test_storage_medium_has_disk.groovy index bd06680d2b2aeb..c252e10b130333 100644 --- a/regression-test/suites/storage_medium_p0/test_storage_medium_has_disk.groovy +++ b/regression-test/suites/storage_medium_p0/test_storage_medium_has_disk.groovy @@ -17,7 +17,7 @@ import org.apache.doris.regression.suite.ClusterOptions -suite('test_storage_medium_has_disk') { +suite('test_storage_medium_has_disk', 'docker') { if (isCloudMode()) { return } diff --git a/regression-test/suites/trash_p0/clean_trash.groovy b/regression-test/suites/trash_p0/clean_trash.groovy index 71438b5b1b5af7..fdfafc4887fdcd 100644 --- a/regression-test/suites/trash_p0/clean_trash.groovy +++ b/regression-test/suites/trash_p0/clean_trash.groovy @@ -17,7 +17,7 @@ import org.apache.doris.regression.suite.ClusterOptions import org.junit.Assert -suite("test_clean_trash", "p0") { +suite("test_clean_trash", "docker") { if (isCloudMode()) { return } @@ -77,4 +77,4 @@ suite("test_clean_trash", "p0") { sql """admin clean trash""" checkFunc(true) } -} \ No newline at end of file +} diff --git a/regression-test/suites/unique_with_mow_c_p0/test_mow_full_clone_exception.groovy b/regression-test/suites/unique_with_mow_c_p0/test_mow_full_clone_exception.groovy index 516cff9d4f58e3..6ab872239cd945 100644 --- a/regression-test/suites/unique_with_mow_c_p0/test_mow_full_clone_exception.groovy +++ b/regression-test/suites/unique_with_mow_c_p0/test_mow_full_clone_exception.groovy @@ -29,7 +29,7 @@ import org.apache.doris.regression.util.NodeType // // the bug is fixed in #37001 -suite('test_full_clone_exception') { +suite('test_full_clone_exception', 'docker') { def options = new ClusterOptions() options.feConfigs += [ 'disable_tablet_scheduler=true', diff --git a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_conflict_be_restart.groovy b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_conflict_be_restart.groovy index bc2a44425b30c8..642363f909866d 100644 --- a/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_conflict_be_restart.groovy +++ b/regression-test/suites/unique_with_mow_p0/partial_update/test_partial_update_conflict_be_restart.groovy @@ -35,7 +35,7 @@ import org.apache.http.client.methods.CloseableHttpResponse import org.apache.http.util.EntityUtils import org.apache.doris.regression.suite.ClusterOptions -suite("test_partial_update_conflict_be_restart") { +suite("test_partial_update_conflict_be_restart", 'docker') { def dbName = context.config.getDbNameByFile(context.file) def options = new ClusterOptions() diff --git a/regression-test/suites/unique_with_mow_p0/test_mow_full_clone_exception.groovy b/regression-test/suites/unique_with_mow_p0/test_mow_full_clone_exception.groovy index c3fb567f258f8d..42befff4e54cce 100644 --- a/regression-test/suites/unique_with_mow_p0/test_mow_full_clone_exception.groovy +++ b/regression-test/suites/unique_with_mow_p0/test_mow_full_clone_exception.groovy @@ -29,7 +29,7 @@ import org.apache.doris.regression.util.NodeType // // the bug is fixed in #37001 -suite('test_full_clone_exception') { +suite('test_full_clone_exception', 'docker') { def options = new ClusterOptions() options.feConfigs += [ 'disable_tablet_scheduler=true', diff --git a/run-regression-test.sh b/run-regression-test.sh index ea7ced8be9498b..6357f4111a7f5d 100755 --- a/run-regression-test.sh +++ b/run-regression-test.sh @@ -43,6 +43,7 @@ Usage: $0 -genOut generate .out file if not exist -forceGenOut delete and generate .out file -parallel run tests using specified threads + -dockerSuiteParallel run docker tests using specified threads -randomOrder run tests in a random order -noKillDocker don't kill container when finish docker suites -times rum tests {times} times From fcceceab89fc5c63190d5ab03de78c3f7fdd8ca1 Mon Sep 17 00:00:00 2001 From: yujun Date: Wed, 11 Sep 2024 00:08:45 +0800 Subject: [PATCH 161/199] [improvement](tablet report) tablet report increase report version (#40172) when be report tablet, update its report version, then if fe is handling a stale report, it can quickly discard it. --- be/src/agent/task_worker_pool.cpp | 3 +- .../org/apache/doris/master/MasterImpl.java | 10 +++--- .../apache/doris/master/ReportHandler.java | 2 ++ .../doris/system/SystemInfoService.java | 36 ++++++++++++------- .../doris/cluster/SystemInfoServiceTest.java | 2 +- 5 files changed, 34 insertions(+), 19 deletions(-) diff --git a/be/src/agent/task_worker_pool.cpp b/be/src/agent/task_worker_pool.cpp index 27921888774f9b..d4944711720a59 100644 --- a/be/src/agent/task_worker_pool.cpp +++ b/be/src/agent/task_worker_pool.cpp @@ -102,7 +102,7 @@ namespace { std::mutex s_task_signatures_mtx; std::unordered_map> s_task_signatures; -std::atomic_ulong s_report_version(time(nullptr) * 10000); +std::atomic_ulong s_report_version(time(nullptr) * 100000); void increase_report_version() { s_report_version.fetch_add(1, std::memory_order_relaxed); @@ -1074,6 +1074,7 @@ void report_tablet_callback(StorageEngine& engine, const TMasterInfo& master_inf request.__set_backend(BackendOptions::get_local_backend()); request.__isset.tablets = true; + increase_report_version(); uint64_t report_version; for (int i = 0; i < 5; i++) { request.tablets.clear(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/master/MasterImpl.java b/fe/fe-core/src/main/java/org/apache/doris/master/MasterImpl.java index 4e01f3a5058774..fbb3aab4ebdcd2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/master/MasterImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/master/MasterImpl.java @@ -267,7 +267,7 @@ private void finishCreateReplica(AgentTask task, TFinishTaskRequest request) { // this should be called before 'countDownLatch()' Env.getCurrentSystemInfo().updateBackendReportVersion(task.getBackendId(), - request.getReportVersion(), task.getDbId(), task.getTableId()); + request.getReportVersion(), task.getDbId(), task.getTableId(), true); createReplicaTask.countDownLatch(task.getBackendId(), task.getSignature()); if (LOG.isDebugEnabled()) { @@ -383,7 +383,7 @@ private void finishRealtimePush(AgentTask task, TFinishTaskRequest request) thro // should be done before addReplicaPersistInfos and countDownLatch long reportVersion = request.getReportVersion(); Env.getCurrentSystemInfo().updateBackendReportVersion(task.getBackendId(), reportVersion, - task.getDbId(), task.getTableId()); + task.getDbId(), task.getTableId(), true); List tabletIds = finishTabletInfos.stream().map( tTabletInfo -> tTabletInfo.getTabletId()).collect(Collectors.toList()); @@ -515,7 +515,7 @@ private void finishPublishVersion(AgentTask task, TFinishTaskRequest request) { // report version is required. here we check if set, for compatibility. long reportVersion = request.getReportVersion(); Env.getCurrentSystemInfo().updateBackendReportVersion( - task.getBackendId(), reportVersion, task.getDbId(), task.getTableId()); + task.getBackendId(), reportVersion, task.getDbId(), task.getTableId(), true); } PublishVersionTask publishVersionTask = (PublishVersionTask) task; @@ -545,7 +545,7 @@ private void finishClone(AgentTask task, TFinishTaskRequest request) { if (request.isSetReportVersion()) { long reportVersion = request.getReportVersion(); Env.getCurrentSystemInfo().updateBackendReportVersion( - task.getBackendId(), reportVersion, task.getDbId(), task.getTableId()); + task.getBackendId(), reportVersion, task.getDbId(), task.getTableId(), true); } Env.getCurrentEnv().getTabletScheduler().finishCloneTask(cloneTask, request); } else { @@ -628,7 +628,7 @@ private void finishAlterTask(AgentTask task, TFinishTaskRequest request) { if (request.isSetReportVersion()) { long reportVersion = request.getReportVersion(); Env.getCurrentSystemInfo().updateBackendReportVersion( - task.getBackendId(), reportVersion, task.getDbId(), task.getTableId()); + task.getBackendId(), reportVersion, task.getDbId(), task.getTableId(), true); } } catch (MetaNotFoundException e) { LOG.warn("failed to handle finish alter task: {}, {}", task.getSignature(), e.getMessage()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java b/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java index bce5825c5cace6..f7702a495544d2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java +++ b/fe/fe-core/src/main/java/org/apache/doris/master/ReportHandler.java @@ -178,11 +178,13 @@ public TMasterResult handleReport(TReportRequest request) throws TException { tablets = request.getTablets(); reportVersion = request.getReportVersion(); reportType = ReportType.TABLET; + Env.getCurrentSystemInfo().updateBackendReportVersion(beId, reportVersion, -1L, -1L, false); } else if (request.isSetTabletList()) { // the 'tablets' member will be deprecated in future. tablets = buildTabletMap(request.getTabletList()); reportVersion = request.getReportVersion(); reportType = ReportType.TABLET; + Env.getCurrentSystemInfo().updateBackendReportVersion(beId, reportVersion, -1L, -1L, false); } if (request.isSetPartitionsVersion()) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/system/SystemInfoService.java b/fe/fe-core/src/main/java/org/apache/doris/system/SystemInfoService.java index f81d8b4d7b02b6..76140d2ef26d9e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/system/SystemInfoService.java +++ b/fe/fe-core/src/main/java/org/apache/doris/system/SystemInfoService.java @@ -19,7 +19,6 @@ import org.apache.doris.analysis.ModifyBackendClause; import org.apache.doris.analysis.ModifyBackendHostNameClause; -import org.apache.doris.catalog.Database; import org.apache.doris.catalog.DiskInfo; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.ReplicaAllocation; @@ -642,18 +641,31 @@ public long getBackendReportVersion(long backendId) { } } - public void updateBackendReportVersion(long backendId, long newReportVersion, long dbId, long tableId) { - AtomicLong atomicLong; - if ((atomicLong = idToReportVersionRef.get(backendId)) != null) { - Database db = (Database) Env.getCurrentInternalCatalog().getDbNullable(dbId); - if (db == null) { - LOG.warn("failed to update backend report version, db {} does not exist", dbId); - return; + public void updateBackendReportVersion(long backendId, long newReportVersion, long dbId, long tableId, + boolean checkDbExist) { + AtomicLong atomicLong = idToReportVersionRef.get(backendId); + if (atomicLong == null) { + return; + } + if (checkDbExist && Env.getCurrentInternalCatalog().getDbNullable(dbId) == null) { + LOG.warn("failed to update backend report version, db {} does not exist", dbId); + return; + } + while (true) { + long curReportVersion = atomicLong.get(); + if (curReportVersion >= newReportVersion) { + if (LOG.isDebugEnabled()) { + LOG.debug("skip update backend {} report version: {}, current version: {}, db: {}, table: {}", + backendId, newReportVersion, curReportVersion, dbId, tableId); + } + break; } - atomicLong.set(newReportVersion); - if (LOG.isDebugEnabled()) { - LOG.debug("update backend {} report version: {}, db: {}, table: {}", - backendId, newReportVersion, dbId, tableId); + if (atomicLong.compareAndSet(curReportVersion, newReportVersion)) { + if (LOG.isDebugEnabled()) { + LOG.debug("update backend {} report version: {}, db: {}, table: {}", + backendId, newReportVersion, dbId, tableId); + } + break; } } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/cluster/SystemInfoServiceTest.java b/fe/fe-core/src/test/java/org/apache/doris/cluster/SystemInfoServiceTest.java index c48ba030e77234..8a9216aecc0f6e 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/cluster/SystemInfoServiceTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/cluster/SystemInfoServiceTest.java @@ -233,7 +233,7 @@ public void addBackendTest() throws UserException { Assert.assertTrue(Env.getCurrentSystemInfo().getBackendReportVersion(backendId) == 0L); - Env.getCurrentSystemInfo().updateBackendReportVersion(backendId, 2L, 20000L, 30000L); + Env.getCurrentSystemInfo().updateBackendReportVersion(backendId, 2L, 20000L, 30000L, true); Assert.assertTrue(Env.getCurrentSystemInfo().getBackendReportVersion(backendId) == 2L); } From eb4673fbd52b9d60074648309d986237a4e6eae4 Mon Sep 17 00:00:00 2001 From: deardeng <565620795@qq.com> Date: Wed, 11 Sep 2024 00:52:39 +0800 Subject: [PATCH 162/199] [fix](cloud) Fix cloud auto start and add a regression case (#40027) 1. Fix the cluster being suspended and select not waking up the cluster. The reason is that all be nodes in the cluster are inactive, the cluster is skipped, and the cluster that needs to be woken up cannot be found, and the wake-up logic will not be reached. And delete the redundant function getAuthorizedCloudCluster 2. Add check after resume cluster, there must be at least one alive be in the cluster. 3. add auto start regression case --- .../doris/cloud/catalog/CloudReplica.java | 14 +- .../cloud/system/CloudSystemInfoService.java | 16 +- .../org/apache/doris/qe/ConnectContext.java | 37 +--- .../multi_cluster/test_auto_start.groovy | 172 ++++++++++++++++++ 4 files changed, 193 insertions(+), 46 deletions(-) create mode 100644 regression-test/suites/cloud_p0/multi_cluster/test_auto_start.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudReplica.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudReplica.java index 43f7dcbc6879f3..75ded96f4b6757 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudReplica.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudReplica.java @@ -150,6 +150,13 @@ public long getBackendId() { } private long getBackendIdImpl(String cluster) { + // if cluster is SUSPENDED, wait + try { + cluster = ((CloudSystemInfoService) Env.getCurrentSystemInfo()).waitForAutoStart(cluster); + } catch (DdlException e) { + // this function cant throw exception. so just log it + LOG.warn("cant resume cluster {}, exception", cluster, e); + } // check default cluster valid. if (Strings.isNullOrEmpty(cluster)) { LOG.warn("failed to get available be, clusterName: {}", cluster); @@ -163,13 +170,6 @@ private long getBackendIdImpl(String cluster) { return -1; } - // if cluster is SUSPENDED, wait - try { - ((CloudSystemInfoService) Env.getCurrentSystemInfo()).waitForAutoStart(cluster); - } catch (DdlException e) { - // this function cant throw exception. so just log it - LOG.warn("cant resume cluster {}, exception", cluster, e); - } String clusterId = ((CloudSystemInfoService) Env.getCurrentSystemInfo()).getCloudClusterIdByName(cluster); if (isColocated()) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java index 202d576e3bf0d5..03cbbfe814a8b6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java @@ -737,20 +737,20 @@ public String getClusterNameAutoStart(final String clusterName) { return cloudClusterTypeAndName.clusterName; } - public void waitForAutoStart(String clusterName) throws DdlException { + public String waitForAutoStart(String clusterName) throws DdlException { if (Config.isNotCloudMode()) { - return; + return null; } clusterName = getClusterNameAutoStart(clusterName); if (Strings.isNullOrEmpty(clusterName)) { LOG.warn("auto start in cloud mode, but clusterName empty {}", clusterName); - return; + return null; } String clusterStatus = getCloudStatusByName(clusterName); if (Strings.isNullOrEmpty(clusterStatus)) { // for cluster rename or cluster dropped LOG.warn("cant find clusterStatus in fe, clusterName {}", clusterName); - return; + return null; } if (Cloud.ClusterStatus.valueOf(clusterStatus) == Cloud.ClusterStatus.MANUAL_SHUTDOWN) { @@ -765,7 +765,7 @@ public void waitForAutoStart(String clusterName) throws DdlException { // root ? see StatisticsUtil.buildConnectContext if (ConnectContext.get() != null && ConnectContext.get().getUserIdentity().isRootUser()) { LOG.warn("auto start daemon thread run in root, not resume cluster {}-{}", clusterName, clusterStatus); - return; + return null; } Cloud.AlterClusterRequest.Builder builder = Cloud.AlterClusterRequest.newBuilder(); builder.setCloudUniqueId(Config.cloud_unique_id); @@ -794,7 +794,8 @@ public void waitForAutoStart(String clusterName) throws DdlException { StopWatch stopWatch = new StopWatch(); stopWatch.start(); boolean hasAutoStart = false; - while (!String.valueOf(Cloud.ClusterStatus.NORMAL).equals(clusterStatus) + boolean existAliveBe = true; + while ((!String.valueOf(Cloud.ClusterStatus.NORMAL).equals(clusterStatus) || !existAliveBe) && retryTime < retryTimes) { hasAutoStart = true; ++retryTime; @@ -812,6 +813,8 @@ public void waitForAutoStart(String clusterName) throws DdlException { LOG.info("change cluster sleep wait InterruptedException: ", e); } clusterStatus = getCloudStatusByName(clusterName); + // Check that the bes node in the cluster have at least one alive + existAliveBe = getBackendsByClusterName(clusterName).stream().anyMatch(Backend::isAlive); } if (retryTime >= retryTimes) { // auto start timeout @@ -824,5 +827,6 @@ public void waitForAutoStart(String clusterName) throws DdlException { if (hasAutoStart) { LOG.info("auto start cluster {}, start cost {} ms", clusterName, stopWatch.getTime()); } + return clusterName; } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java index ff960439f7668f..fa81825d370bc0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java @@ -1249,7 +1249,7 @@ public String getCloudCluster(boolean updateErr) { String choseWay = null; if (!Strings.isNullOrEmpty(this.cloudCluster)) { cluster = this.cloudCluster; - choseWay = "use @cluster"; + choseWay = "use context cluster"; LOG.debug("finally set context cluster name {} for user {} with chose way '{}'", cloudCluster, getCurrentUserIdentity(), choseWay); return cluster; @@ -1260,9 +1260,9 @@ public String getCloudCluster(boolean updateErr) { cluster = defaultCluster; choseWay = "default cluster"; } else { - String authorizedCluster = getAuthorizedCloudCluster(); - if (!Strings.isNullOrEmpty(authorizedCluster)) { - cluster = authorizedCluster; + CloudClusterResult cloudClusterTypeAndName = getCloudClusterByPolicy(); + if (cloudClusterTypeAndName != null && !Strings.isNullOrEmpty(cloudClusterTypeAndName.clusterName)) { + cluster = cloudClusterTypeAndName.clusterName; choseWay = "authorized cluster"; } } @@ -1293,35 +1293,6 @@ public String getDefaultCloudCluster() { return null; } - public String getAuthorizedCloudCluster() { - List cloudClusterNames = ((CloudSystemInfoService) Env.getCurrentSystemInfo()).getCloudClusterNames(); - // get all available cluster of the user - for (String cloudClusterName : cloudClusterNames) { - if (!Env.getCurrentEnv().getAuth().checkCloudPriv(getCurrentUserIdentity(), - cloudClusterName, PrivPredicate.USAGE, ResourceTypeEnum.CLUSTER)) { - continue; - } - // find a cluster has more than one alive be - List bes = ((CloudSystemInfoService) Env.getCurrentSystemInfo()) - .getBackendsByClusterName(cloudClusterName); - AtomicBoolean hasAliveBe = new AtomicBoolean(false); - bes.stream().filter(Backend::isAlive).findAny().ifPresent(backend -> { - if (LOG.isDebugEnabled()) { - LOG.debug("get a clusterName {}, it's has more than one alive be {}", cloudClusterName, backend); - } - hasAliveBe.set(true); - }); - if (hasAliveBe.get()) { - if (LOG.isDebugEnabled()) { - LOG.debug("set context cluster name {}", cloudClusterName); - } - return cloudClusterName; - } - } - - return null; - } - public StatsErrorEstimator getStatsErrorEstimator() { return statsErrorEstimator; } diff --git a/regression-test/suites/cloud_p0/multi_cluster/test_auto_start.groovy b/regression-test/suites/cloud_p0/multi_cluster/test_auto_start.groovy new file mode 100644 index 00000000000000..2ce9a9d8f4b531 --- /dev/null +++ b/regression-test/suites/cloud_p0/multi_cluster/test_auto_start.groovy @@ -0,0 +1,172 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import org.apache.doris.regression.suite.ClusterOptions +import groovy.json.JsonSlurper +import groovy.json.JsonOutput +import org.awaitility.Awaitility; +import org.apache.doris.regression.util.Http +import static java.util.concurrent.TimeUnit.SECONDS; + +suite('test_auto_start_in_cloud', 'multi_cluster') { + if (!isCloudMode()) { + return; + } + def options = new ClusterOptions() + options.feConfigs += [ + 'cloud_cluster_check_interval_second=1', + 'cloud_pre_heating_time_limit_sec=1', + 'sys_log_verbose_modules=org', + 'heartbeat_interval_second=1' + ] + options.setFeNum(3) + options.setBeNum(3) + options.cloudMode = true + options.connectToFollower = true + + def getClusterFragementStatus = { def fe -> + def (feHost, feHttpPort) = fe.getHttpAddress() + // curl -X GET -u root: '128.1.1.1:8030/rest/v2/manager/cluster/cluster_info/cloud_cluster_status' + def url = 'http://' + feHost + ':' + feHttpPort + '/rest/v2/manager/cluster/cluster_info/cloud_cluster_status' + def result = Http.GET(url, true) + result + } + + + def set_cluster_status = { String unique_id , String cluster_id, String status, def ms -> + def jsonOutput = new JsonOutput() + def reqBody = [ + cloud_unique_id: unique_id, + cluster : [ + cluster_id : cluster_id, + cluster_status : status + ] + ] + def js = jsonOutput.toJson(reqBody) + log.info("drop cluster req: ${js} ".toString()) + + def set_cluster_status_api = { request_body, check_func -> + httpTest { + endpoint ms.host+':'+ms.httpPort + uri "/MetaService/http/set_cluster_status?token=greedisgood9999" + body request_body + check check_func + } + } + + set_cluster_status_api.call(js) { + respCode, body -> + log.info("set cluster status resp: ${body} ${respCode}".toString()) + def json = parseJson(body) + assertTrue(json.code.equalsIgnoreCase("OK")) + } + } + + docker(options) { + sql """ + CREATE TABLE table1 ( + class INT, + id INT, + score INT SUM + ) + AGGREGATE KEY(class, id) + DISTRIBUTED BY HASH(class) BUCKETS 48 + """ + + sql """INSERT INTO table1 VALUES (1, 1, 100)""" + // master + def fe1 = cluster.getFeByIndex(1) + // ms + def ms = cluster.getAllMetaservices().get(0) + + def result = sql_return_maparray """SHOW CLUSTERS""" + String clusterName = result[0].cluster + def tag = getCloudBeTagByName(clusterName) + logger.info("tag = {}", tag) + + def jsonSlurper = new JsonSlurper() + def jsonObject = jsonSlurper.parseText(tag) + String cloudClusterId = jsonObject.cloud_cluster_id + String uniqueId = jsonObject.cloud_unique_id + + sleep(5 * 1000) + + Map fragmentUpdateTimeMap = [:] + + // no read,write,sc, 20s suspend cluster + boolean clusterCanSuspend = true + for (int i = 0; i < 20; i++) { + result = getClusterFragementStatus(fe1) + result.data.compute_cluster_id.each { + if (fragmentUpdateTimeMap[it.host] == null) { + fragmentUpdateTimeMap[it.host] = it.lastFragmentUpdateTime + } else if (fragmentUpdateTimeMap[it.host] != it.lastFragmentUpdateTime) { + log.info("fragment update time changed be: {} old time: {} new time: {}", it.host, fragmentUpdateTimeMap[it.host], it.lastFragmentUpdateTime) + clusterCanSuspend = false + } + } + sleep(1 * 1000) + } + assertTrue(clusterCanSuspend) + + // cloud control set cluster status SUSPENDED + set_cluster_status(uniqueId, cloudClusterId, "SUSPENDED", ms) + + dockerAwaitUntil(5) { + tag = getCloudBeTagByName(clusterName) + logger.info("tag = {}", tag) + jsonObject = jsonSlurper.parseText(tag) + String cluster_status = jsonObject.cloud_cluster_status + cluster_status == "SUSPENDED" + } + + cluster.stopBackends(1,2,3) + + // select + future1 = thread { + def begin = System.currentTimeMillis(); + // root cant resume, due to deamon thread use root + def connInfo = context.threadLocalConn.get() + result = connect(user = 'admin', password = '', url = connInfo.conn.getMetaData().getURL()) { + sql 'SELECT * FROM table1' + } + def cost = System.currentTimeMillis() - begin; + log.info("result {} time cost: {}", result, cost) + assertTrue(cost > 5000) + assertEquals(1, result.size()) + } + // insert + + // cloud control + future2 = thread { + // check cluster "TO_RESUME" + dockerAwaitUntil(5) { + tag = getCloudBeTagByName(clusterName) + logger.info("tag = {}", tag) + jsonObject = jsonSlurper.parseText(tag) + String cluster_status = jsonObject.cloud_cluster_status + cluster_status == "TO_RESUME" + } + sleep(5 * 1000) + cluster.startBackends(1,2,3) + set_cluster_status(uniqueId, cloudClusterId, "NORMAL", ms) + } + + future1.get() + future2.get() + } +} From a01c85edb97be973ec5752d791fe4e655781e7cf Mon Sep 17 00:00:00 2001 From: yujun Date: Wed, 11 Sep 2024 10:20:58 +0800 Subject: [PATCH 163/199] [chore](regression test) mv test_report_version_missing to p1 (#40184) --- .../test_report_version_missing.groovy | 82 ------------------ .../test_report_version_missing.groovy | 85 +++++++++++++++++++ 2 files changed, 85 insertions(+), 82 deletions(-) delete mode 100644 regression-test/suites/control_p0/test_report_version_missing.groovy create mode 100644 regression-test/suites/control_p1/test_report_version_missing.groovy diff --git a/regression-test/suites/control_p0/test_report_version_missing.groovy b/regression-test/suites/control_p0/test_report_version_missing.groovy deleted file mode 100644 index 675ac52362e6fb..00000000000000 --- a/regression-test/suites/control_p0/test_report_version_missing.groovy +++ /dev/null @@ -1,82 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -import org.apache.doris.regression.suite.ClusterOptions -import org.apache.doris.regression.util.NodeType - -suite('test_report_version_missing', "nonConcurrent") { - if (isCloudMode()) { - return - } - def tableName = "test_set_replica_status_table_in_docker" - try { - setFeConfig('disable_tablet_scheduler', true) - Thread.sleep(2000) - - sql "DROP TABLE IF EXISTS ${tableName}" - sql """ - CREATE TABLE ${tableName} ( - `id` LARGEINT NOT NULL, - `count` LARGEINT SUM DEFAULT "0") - AGGREGATE KEY(`id`) - DISTRIBUTED BY HASH(`id`) BUCKETS 1 - PROPERTIES - ( - "replication_num" = "1" - ) - """ - List values = [] - for (int i = 1; i <= 10; ++i) { - values.add("(${i}, ${i})") - } - sql """INSERT INTO ${tableName} VALUES ${values.join(",")}""" - - def result = sql_return_maparray """show tablets from ${tableName}""" - assertNotNull(result) - def tabletId = null - for (def res : result) { - tabletId = res.TabletId - break - } - - GetDebugPoint().enableDebugPointForAllBEs("Tablet.build_tablet_report_info.version_miss", [tablet_id:"${tabletId}",version_miss:true]) - boolean succ = false - - for (int i = 0; i < 3; ++i) { - result = sql_return_maparray """show tablets from ${tableName}""" - logger.info("show tablets from ${result}, has after ${i} * 60 s") - assertNotNull(result) - // LstFailedVersion > 0, version missing - for (def res : result) { - if (res.TabletId.toLong() == tabletId.toLong() && res.LstFailedVersion.toLong() > 0) { - succ = true - break - } - } - if (succ) { - break - } - Thread.sleep(60000) - } - assertTrue(succ) - - } finally { - setFeConfig('disable_tablet_scheduler', false) - GetDebugPoint().disableDebugPointForAllBEs("Tablet.build_tablet_report_info.version_miss") - sql "DROP TABLE IF EXISTS ${tableName}" - } -} diff --git a/regression-test/suites/control_p1/test_report_version_missing.groovy b/regression-test/suites/control_p1/test_report_version_missing.groovy new file mode 100644 index 00000000000000..63ccd4ed6dd6ea --- /dev/null +++ b/regression-test/suites/control_p1/test_report_version_missing.groovy @@ -0,0 +1,85 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import org.apache.doris.regression.suite.ClusterOptions +import org.apache.doris.regression.util.NodeType + +import org.awaitility.Awaitility +import static java.util.concurrent.TimeUnit.SECONDS + +suite('test_report_version_missing', 'nonConcurrent,p1') { + if (isCloudMode()) { + return + } + def tableName = 'test_set_replica_status_table_in_docker' + try { + setFeConfig('disable_tablet_scheduler', true) + Thread.sleep(2000) + + sql "DROP TABLE IF EXISTS ${tableName}" + sql """ + CREATE TABLE ${tableName} ( + `id` LARGEINT NOT NULL, + `count` LARGEINT SUM DEFAULT "0") + AGGREGATE KEY(`id`) + DISTRIBUTED BY HASH(`id`) BUCKETS 1 + PROPERTIES + ( + "replication_num" = "1" + ) + """ + List values = [] + for (int i = 1; i <= 10; ++i) { + values.add("(${i}, ${i})") + } + sql """INSERT INTO ${tableName} VALUES ${values.join(',')}""" + + def result = sql_return_maparray """show tablets from ${tableName}""" + assertNotNull(result) + def tabletId = null + for (def res : result) { + tabletId = res.TabletId + break + } + + GetDebugPoint().enableDebugPointForAllBEs('Tablet.build_tablet_report_info.version_miss', [tablet_id:"${tabletId}", version_miss:true]) + boolean succ = false + + def backendId_to_backendIP = [:] + def backendId_to_backendHttpPort = [:] + getBackendIpHttpPort(backendId_to_backendIP, backendId_to_backendHttpPort) + + backendId_to_backendIP.each { beId, beIp -> + def port = backendId_to_backendHttpPort.get(beId) as int + be_report_tablet(beIp, port) + } + + Awaitility.await().atMost(180, SECONDS).pollInterval(1, SECONDS).await().until({ + def tablets = sql_return_maparray """show tablets from ${tableName}""" + logger.info("show tablets from ${tablets}") + assertNotNull(tablets) + succ = tablets.any { it.TabletId.toLong() == tabletId.toLong() && it.LstFailedVersion.toLong() > 0 } + return succ + }) + + assertTrue(succ) + } finally { + setFeConfig('disable_tablet_scheduler', false) + GetDebugPoint().disableDebugPointForAllBEs('Tablet.build_tablet_report_info.version_miss') + sql "DROP TABLE IF EXISTS ${tableName}" + } +} From ee1e939e25092fbba0f3cf52d7a12eeddefbab66 Mon Sep 17 00:00:00 2001 From: walter Date: Wed, 11 Sep 2024 11:04:27 +0800 Subject: [PATCH 164/199] [fix](restore) Persist the sqlMode field of the View (#40612) During initialization, the View will parse inlineViewRef again according to the sqlMode value. Therefore, sqlMode must be persisted. --- .../main/java/org/apache/doris/catalog/View.java | 1 + .../test_backup_restore_with_view.groovy | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/View.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/View.java index 8285dedc0941b8..62402c7d474f3b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/View.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/View.java @@ -76,6 +76,7 @@ public class View extends Table implements GsonPostProcessable { private String inlineViewDef; // for persist + @SerializedName("sm") private long sqlMode = 0L; // View definition created by parsing inlineViewDef_ into a QueryStmt. diff --git a/regression-test/suites/backup_restore/test_backup_restore_with_view.groovy b/regression-test/suites/backup_restore/test_backup_restore_with_view.groovy index eee4a70c745ed5..be7769953230db 100644 --- a/regression-test/suites/backup_restore/test_backup_restore_with_view.groovy +++ b/regression-test/suites/backup_restore/test_backup_restore_with_view.groovy @@ -92,6 +92,22 @@ suite("test_backup_restore_with_view", "backup_restore") { assertTrue(show_view.contains("${dbName1}")) assertTrue(show_view.contains("${tableName}")) + // restore to db, test the view signature. + sql """ + RESTORE SNAPSHOT ${dbName}.${snapshotName} + FROM `${repoName}` + PROPERTIES + ( + "backup_timestamp" = "${snapshot}", + "reserve_replica" = "true" + ) + """ + + syncer.waitAllRestoreFinish(dbName) + def restore_result = sql_return_maparray """ SHOW RESTORE FROM ${dbName} WHERE Label ="${snapshotName}" """ + restore_result.last() + logger.info("show restore result: ${restore_result}") + assertTrue(restore_result.last().State == "FINISHED") sql "DROP TABLE ${dbName}.${tableName} FORCE" sql "DROP VIEW ${dbName}.${viewName}" From d8c34beffa5b40f8f56c05cf9186e549d46a41c5 Mon Sep 17 00:00:00 2001 From: qiye Date: Wed, 11 Sep 2024 12:02:05 +0800 Subject: [PATCH 165/199] [fix](ES Catalog)Support parse single value for array column (#40614) Follow up #39104, when the field has one value and we map it as array type in Doris, we parse the single value to a single element array to make them queryable. close #40406 --- be/src/exec/es/es_scroll_parser.cpp | 273 ++++++++++-------- be/src/exec/es/es_scroll_parser.h | 2 + .../data/composite_type_array_bulk.json | 20 +- .../array_meta_composite_type_array.json | 3 +- .../index/es6_composite_type_array.json | 3 +- .../index/es7_composite_type_array.json | 3 +- .../external_table_p0/es/test_es_query.out | 96 +++++- .../external_table_p0/es/test_es_query.groovy | 29 +- 8 files changed, 264 insertions(+), 165 deletions(-) diff --git a/be/src/exec/es/es_scroll_parser.cpp b/be/src/exec/es/es_scroll_parser.cpp index 21583c2a9fdecd..f8dfbd0d85e4f3 100644 --- a/be/src/exec/es/es_scroll_parser.cpp +++ b/be/src/exec/es/es_scroll_parser.cpp @@ -418,6 +418,159 @@ Status insert_int_value(const rapidjson::Value& col, PrimitiveType type, return parse_and_insert_data(col); } +template +Status handle_value(const rapidjson::Value& col, PrimitiveType sub_type, bool pure_doc_value, + T& val) { + RETURN_IF_ERROR(get_int_value(col, sub_type, &val, pure_doc_value)); + return Status::OK(); +} + +template <> +Status handle_value(const rapidjson::Value& col, PrimitiveType sub_type, bool pure_doc_value, + float& val) { + RETURN_IF_ERROR(get_float_value(col, sub_type, &val, pure_doc_value)); + return Status::OK(); +} + +template <> +Status handle_value(const rapidjson::Value& col, PrimitiveType sub_type, + bool pure_doc_value, double& val) { + RETURN_IF_ERROR(get_float_value(col, sub_type, &val, pure_doc_value)); + return Status::OK(); +} + +template <> +Status handle_value(const rapidjson::Value& col, PrimitiveType sub_type, + bool pure_doc_value, std::string& val) { + RETURN_ERROR_IF_COL_IS_ARRAY(col, sub_type, true); + if (!col.IsString()) { + val = json_value_to_string(col); + } else { + val = col.GetString(); + } + return Status::OK(); +} + +template <> +Status handle_value(const rapidjson::Value& col, PrimitiveType sub_type, bool pure_doc_value, + bool& val) { + if (col.IsBool()) { + val = col.GetBool(); + return Status::OK(); + } + + if (col.IsNumber()) { + val = col.GetInt(); + return Status::OK(); + } + + bool is_nested_str = false; + if (pure_doc_value && col.IsArray() && !col.Empty() && col[0].IsBool()) { + val = col[0].GetBool(); + return Status::OK(); + } else if (pure_doc_value && col.IsArray() && !col.Empty() && col[0].IsString()) { + is_nested_str = true; + } else if (pure_doc_value && col.IsArray()) { + return Status::InternalError(ERROR_INVALID_COL_DATA, "BOOLEAN"); + } + + const rapidjson::Value& str_col = is_nested_str ? col[0] : col; + const std::string& str_val = str_col.GetString(); + size_t val_size = str_col.GetStringLength(); + StringParser::ParseResult result; + val = StringParser::string_to_bool(str_val.c_str(), val_size, &result); + RETURN_ERROR_IF_PARSING_FAILED(result, str_col, sub_type); + return Status::OK(); +} + +template +Status process_single_column(const rapidjson::Value& col, PrimitiveType sub_type, + bool pure_doc_value, vectorized::Array& array) { + T val; + RETURN_IF_ERROR(handle_value(col, sub_type, pure_doc_value, val)); + array.push_back(val); + return Status::OK(); +} + +template +Status process_column_array(const rapidjson::Value& col, PrimitiveType sub_type, + bool pure_doc_value, vectorized::Array& array) { + for (const auto& sub_col : col.GetArray()) { + RETURN_IF_ERROR(process_single_column(sub_col, sub_type, pure_doc_value, array)); + } + return Status::OK(); +} + +template +Status process_column(const rapidjson::Value& col, PrimitiveType sub_type, bool pure_doc_value, + vectorized::Array& array) { + if (!col.IsArray()) { + return process_single_column(col, sub_type, pure_doc_value, array); + } else { + return process_column_array(col, sub_type, pure_doc_value, array); + } +} + +template +Status process_date_column(const rapidjson::Value& col, PrimitiveType sub_type, bool pure_doc_value, + vectorized::Array& array, const cctz::time_zone& time_zone) { + if (!col.IsArray()) { + RT data; + RETURN_IF_ERROR( + (get_date_int(col, sub_type, pure_doc_value, &data, time_zone))); + array.push_back(data); + } else { + for (const auto& sub_col : col.GetArray()) { + RT data; + RETURN_IF_ERROR((get_date_int(sub_col, sub_type, pure_doc_value, &data, + time_zone))); + array.push_back(data); + } + } + return Status::OK(); +} + +Status ScrollParser::parse_column(const rapidjson::Value& col, PrimitiveType sub_type, + bool pure_doc_value, vectorized::Array& array, + const cctz::time_zone& time_zone) { + switch (sub_type) { + case TYPE_CHAR: + case TYPE_VARCHAR: + case TYPE_STRING: + return process_column(col, sub_type, pure_doc_value, array); + case TYPE_TINYINT: + return process_column(col, sub_type, pure_doc_value, array); + case TYPE_SMALLINT: + return process_column(col, sub_type, pure_doc_value, array); + case TYPE_INT: + return process_column(col, sub_type, pure_doc_value, array); + case TYPE_BIGINT: + return process_column(col, sub_type, pure_doc_value, array); + case TYPE_LARGEINT: + return process_column<__int128>(col, sub_type, pure_doc_value, array); + case TYPE_FLOAT: + return process_column(col, sub_type, pure_doc_value, array); + case TYPE_DOUBLE: + return process_column(col, sub_type, pure_doc_value, array); + case TYPE_BOOLEAN: + return process_column(col, sub_type, pure_doc_value, array); + // date/datetime v2 is the default type for catalog table, + // see https://github.com/apache/doris/pull/16304 + // No need to support date and datetime types. + case TYPE_DATEV2: { + return process_date_column, uint32_t>( + col, sub_type, pure_doc_value, array, time_zone); + } + case TYPE_DATETIMEV2: { + return process_date_column, uint64_t>( + col, sub_type, pure_doc_value, array, time_zone); + } + default: + LOG(ERROR) << "Do not support Array type: " << sub_type; + return Status::InternalError("Unsupported type"); + } +} + ScrollParser::ScrollParser(bool doc_value_mode) : _size(0), _line_index(0) {} ScrollParser::~ScrollParser() = default; @@ -687,125 +840,7 @@ Status ScrollParser::fill_columns(const TupleDescriptor* tuple_desc, case TYPE_ARRAY: { vectorized::Array array; const auto& sub_type = tuple_desc->slots()[i]->type().children[0].type; - RETURN_ERROR_IF_COL_IS_ARRAY(col, type, false); - for (const auto& sub_col : col.GetArray()) { - switch (sub_type) { - case TYPE_CHAR: - case TYPE_VARCHAR: - case TYPE_STRING: { - std::string val; - RETURN_ERROR_IF_COL_IS_ARRAY(sub_col, sub_type, true); - if (!sub_col.IsString()) { - val = json_value_to_string(sub_col); - } else { - val = sub_col.GetString(); - } - array.push_back(val); - break; - } - case TYPE_TINYINT: { - int8_t val; - RETURN_IF_ERROR(get_int_value(sub_col, sub_type, &val, pure_doc_value)); - array.push_back(val); - break; - } - case TYPE_SMALLINT: { - int16_t val; - RETURN_IF_ERROR( - get_int_value(sub_col, sub_type, &val, pure_doc_value)); - array.push_back(val); - break; - } - case TYPE_INT: { - int32 val; - RETURN_IF_ERROR(get_int_value(sub_col, sub_type, &val, pure_doc_value)); - array.push_back(val); - break; - } - case TYPE_BIGINT: { - int64_t val; - RETURN_IF_ERROR( - get_int_value(sub_col, sub_type, &val, pure_doc_value)); - array.push_back(val); - break; - } - case TYPE_LARGEINT: { - __int128 val; - RETURN_IF_ERROR( - get_int_value<__int128>(sub_col, sub_type, &val, pure_doc_value)); - array.push_back(val); - break; - } - case TYPE_FLOAT: { - float val {}; - RETURN_IF_ERROR( - get_float_value(sub_col, sub_type, &val, pure_doc_value)); - array.push_back(val); - break; - } - case TYPE_DOUBLE: { - double val {}; - RETURN_IF_ERROR( - get_float_value(sub_col, sub_type, &val, pure_doc_value)); - array.push_back(val); - break; - } - case TYPE_BOOLEAN: { - if (sub_col.IsBool()) { - array.push_back(sub_col.GetBool()); - break; - } - - if (sub_col.IsNumber()) { - array.push_back(sub_col.GetInt()); - break; - } - - bool is_nested_str = false; - if (pure_doc_value && sub_col.IsArray() && !sub_col.Empty() && - sub_col[0].IsBool()) { - array.push_back(sub_col[0].GetBool()); - break; - } else if (pure_doc_value && sub_col.IsArray() && !sub_col.Empty() && - sub_col[0].IsString()) { - is_nested_str = true; - } else if (pure_doc_value && sub_col.IsArray()) { - return Status::InternalError(ERROR_INVALID_COL_DATA, "BOOLEAN"); - } - - const rapidjson::Value& str_col = is_nested_str ? sub_col[0] : sub_col; - - const std::string& val = str_col.GetString(); - size_t val_size = str_col.GetStringLength(); - StringParser::ParseResult result; - bool b = StringParser::string_to_bool(val.c_str(), val_size, &result); - RETURN_ERROR_IF_PARSING_FAILED(result, str_col, type); - array.push_back(b); - break; - } - // date/datetime v2 is the default type for catalog table, - // see https://github.com/apache/doris/pull/16304 - // No need to support date and datetime types. - case TYPE_DATEV2: { - uint32_t data; - RETURN_IF_ERROR((get_date_int, uint32_t>( - sub_col, sub_type, pure_doc_value, &data, time_zone))); - array.push_back(data); - break; - } - case TYPE_DATETIMEV2: { - uint64_t data; - RETURN_IF_ERROR((get_date_int, uint64_t>( - sub_col, sub_type, pure_doc_value, &data, time_zone))); - array.push_back(data); - break; - } - default: { - LOG(ERROR) << "Do not support Array type: " << sub_type; - break; - } - } - } + RETURN_IF_ERROR(parse_column(col, sub_type, pure_doc_value, array, time_zone)); col_ptr->insert(array); break; } diff --git a/be/src/exec/es/es_scroll_parser.h b/be/src/exec/es/es_scroll_parser.h index 91aeb4992a8835..06188833824881 100644 --- a/be/src/exec/es/es_scroll_parser.h +++ b/be/src/exec/es/es_scroll_parser.h @@ -47,6 +47,8 @@ class ScrollParser { int get_size() const; private: + Status parse_column(const rapidjson::Value& col, PrimitiveType sub_type, bool pure_doc_value, + vectorized::Array& array, const cctz::time_zone& time_zone); std::string _scroll_id; int _size; rapidjson::SizeType _line_index; diff --git a/docker/thirdparties/docker-compose/elasticsearch/scripts/data/composite_type_array_bulk.json b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/composite_type_array_bulk.json index 8654ab25e6f076..6d84244316ad14 100755 --- a/docker/thirdparties/docker-compose/elasticsearch/scripts/data/composite_type_array_bulk.json +++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/composite_type_array_bulk.json @@ -1,10 +1,10 @@ -{"name": "Andy", "sports": "soccer"} -{"name": "Betty", "sports": "pingpong ball"} -{"name": "Cindy", "sports": "武术"} -{"name": "David", "sports": ["volleyball"]} -{"name": "Emily", "sports": ["baseball", "golf", "hockey"]} -{"name": "Frank", "sports": ["rugby", "cricket", "boxing"]} -{"name": "Grace", "sports": ["table tennis", "badminton", "athletics"]} -{"name": "Henry", "sports": ["archery", "fencing", "weightlifting"]} -{"name": "Ivy", "sports": ["judo", "karate", "taekwondo"]} -{"name": "Jack", "sports": ["wrestling", "gymnastics", "surfing"]} \ No newline at end of file +{"name": "Andy", "sports": "soccer", "scores": 100} +{"name": "Betty", "sports": "pingpong ball", "scores": 90} +{"name": "Cindy", "sports": "武术", "scores": 89} +{"name": "David", "sports": ["volleyball"], "scores": [77]} +{"name": "Emily", "sports": ["baseball", "golf", "hockey"], "scores": [56, 78, 99]} +{"name": "Frank", "sports": ["rugby", "cricket", "boxing"], "scores": [45, 67, 88]} +{"name": "Grace", "sports": ["table tennis", "badminton", "athletics"], "scores": [34, 56, 78]} +{"name": "Henry", "sports": ["archery", "fencing", "weightlifting"], "scores": [23, 45, 67]} +{"name": "Ivy", "sports": ["judo", "karate", "taekwondo"], "scores": [12, 34, 56]} +{"name": "Jack", "sports": ["wrestling", "gymnastics", "surfing"], "scores": [1, 23, 45]} \ No newline at end of file diff --git a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/array_meta_composite_type_array.json b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/array_meta_composite_type_array.json index 9c55390149d67d..a9ccc1ab8504a4 100644 --- a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/array_meta_composite_type_array.json +++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/array_meta_composite_type_array.json @@ -2,7 +2,8 @@ "_meta": { "doris":{ "array_fields":[ - "sports" + "sports", + "scores" ] } } diff --git a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_composite_type_array.json b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_composite_type_array.json index 2921628cf380ae..3a38a8f22d37cd 100755 --- a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_composite_type_array.json +++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_composite_type_array.json @@ -7,7 +7,8 @@ "doc": { "properties": { "name": { "type": "keyword" }, - "sports": { "type": "keyword", "doc_values": false} + "sports": { "type": "keyword", "doc_values": false}, + "scores": { "type": "integer", "doc_values": false} } } } diff --git a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_composite_type_array.json b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_composite_type_array.json index 8fdd6c88ce765b..3529cc61eb758f 100644 --- a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_composite_type_array.json +++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_composite_type_array.json @@ -6,7 +6,8 @@ "mappings": { "properties": { "name": { "type": "keyword" }, - "sports": { "type": "keyword", "doc_values": false} + "sports": { "type": "keyword", "doc_values": false}, + "scores": { "type": "integer", "doc_values": false} } } } diff --git a/regression-test/data/external_table_p0/es/test_es_query.out b/regression-test/data/external_table_p0/es/test_es_query.out index e820e16553c8e1..9b9cabd4ceac6a 100644 --- a/regression-test/data/external_table_p0/es/test_es_query.out +++ b/regression-test/data/external_table_p0/es/test_es_query.out @@ -20,10 +20,6 @@ I'm not null or empty I'm not null or empty -- !sql06 -- -\N -\N -\N - I'm not null or empty -- !sql07 -- @@ -210,6 +206,17 @@ text_ignore_above_10 2022-08-08T20:10:10 2022-08-08T20:10:10 +-- !sql_5_27 -- +Andy [100] ["soccer"] +Betty [90] ["pingpong ball"] +Cindy [89] ["武术"] +David [77] ["volleyball"] +Emily [56, 78, 99] ["baseball", "golf", "hockey"] +Frank [45, 67, 88] ["rugby", "cricket", "boxing"] +Grace [34, 56, 78] ["table tennis", "badminton", "athletics"] +Henry [23, 45, 67] ["archery", "fencing", "weightlifting"] +Ivy [12, 34, 56] ["judo", "karate", "taekwondo"] + -- !sql_6_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 @@ -325,6 +332,17 @@ text_ignore_above_10 2022-08-08T20:10:10 2022-08-08T20:10:10 +-- !sql_6_27 -- +Andy [100] ["soccer"] +Betty [90] ["pingpong ball"] +Cindy [89] ["武术"] +David [77] ["volleyball"] +Emily [56, 78, 99] ["baseball", "golf", "hockey"] +Frank [45, 67, 88] ["rugby", "cricket", "boxing"] +Grace [34, 56, 78] ["table tennis", "badminton", "athletics"] +Henry [23, 45, 67] ["archery", "fencing", "weightlifting"] +Ivy [12, 34, 56] ["judo", "karate", "taekwondo"] + -- !sql_7_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 @@ -482,6 +500,17 @@ text_ignore_above_10 1660191010000 1660191010000 +-- !sql_7_34 -- +Andy [100] ["soccer"] +Betty [90] ["pingpong ball"] +Cindy [89] ["武术"] +David [77] ["volleyball"] +Emily [56, 78, 99] ["baseball", "golf", "hockey"] +Frank [45, 67, 88] ["rugby", "cricket", "boxing"] +Grace [34, 56, 78] ["table tennis", "badminton", "athletics"] +Henry [23, 45, 67] ["archery", "fencing", "weightlifting"] +Ivy [12, 34, 56] ["judo", "karate", "taekwondo"] + -- !sql_7_50 -- value1 value2 @@ -639,6 +668,17 @@ text_ignore_above_10 1660191010000 1660191010000 +-- !sql_8_32 -- +Andy [100] ["soccer"] +Betty [90] ["pingpong ball"] +Cindy [89] ["武术"] +David [77] ["volleyball"] +Emily [56, 78, 99] ["baseball", "golf", "hockey"] +Frank [45, 67, 88] ["rugby", "cricket", "boxing"] +Grace [34, 56, 78] ["table tennis", "badminton", "athletics"] +Henry [23, 45, 67] ["archery", "fencing", "weightlifting"] +Ivy [12, 34, 56] ["judo", "karate", "taekwondo"] + -- !sql01 -- ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2] [0, 1, 2, 3] ["d", "e", "f"] [128, 129, -129, -130] ["192.168.0.1", "127.0.0.1"] string1 [1, 2, 3, 4] 2022-08-08 2022-08-08T12:10:10 text#1 ["2020-01-01", "2020-01-02"] 3.14 [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}] 2022-08-08T12:10:10 2022-08-08T12:10:10 2022-08-08T20:10:10 [1, -2, -3, 4] [1, 0, 1, 1] [32768, 32769, -32769, -32770] \N [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] @@ -660,10 +700,6 @@ I'm not null or empty I'm not null or empty -- !sql06 -- -\N -\N -\N - I'm not null or empty -- !sql07 -- @@ -850,6 +886,17 @@ text_ignore_above_10 2022-08-08T20:10:10 2022-08-08T20:10:10 +-- !sql_5_27 -- +Andy [100] ["soccer"] +Betty [90] ["pingpong ball"] +Cindy [89] ["武术"] +David [77] ["volleyball"] +Emily [56, 78, 99] ["baseball", "golf", "hockey"] +Frank [45, 67, 88] ["rugby", "cricket", "boxing"] +Grace [34, 56, 78] ["table tennis", "badminton", "athletics"] +Henry [23, 45, 67] ["archery", "fencing", "weightlifting"] +Ivy [12, 34, 56] ["judo", "karate", "taekwondo"] + -- !sql_6_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] \N string1 text#1 3.14 2022-08-08T00:00 12345 2022-08-08T20:10:10 @@ -965,6 +1012,17 @@ text_ignore_above_10 2022-08-08T20:10:10 2022-08-08T20:10:10 +-- !sql_6_27 -- +Andy [100] ["soccer"] +Betty [90] ["pingpong ball"] +Cindy [89] ["武术"] +David [77] ["volleyball"] +Emily [56, 78, 99] ["baseball", "golf", "hockey"] +Frank [45, 67, 88] ["rugby", "cricket", "boxing"] +Grace [34, 56, 78] ["table tennis", "badminton", "athletics"] +Henry [23, 45, 67] ["archery", "fencing", "weightlifting"] +Ivy [12, 34, 56] ["judo", "karate", "taekwondo"] + -- !sql_7_02 -- [1, 0, 1, 1] [1, -2, -3, 4] ["2020-01-01", "2020-01-02"] ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [1, 2, 3, 4] [1, 1.1, 1.2, 1.3] [1, 2, 3, 4] [32768, 32769, -32769, -32770] ["192.168.0.1", "127.0.0.1"] ["a", "b", "c"] [-1, 0, 1, 2] [{"name":"Andy","age":18},{"name":"Tim","age":28}] [1, 2, 3, 4] [128, 129, -129, -130] ["d", "e", "f"] [0, 1, 2, 3] [{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}] debug \N This string can be quite lengthy string1 2022-08-08T20:10:10 text#1 3.14 2022-08-08T00:00 2022-08-08T12:10:10 1659931810000 2022-08-08T12:10:10 2022-08-08T20:10:10 12345 @@ -1122,6 +1180,17 @@ text_ignore_above_10 1660191010000 1660191010000 +-- !sql_7_34 -- +Andy [100] ["soccer"] +Betty [90] ["pingpong ball"] +Cindy [89] ["武术"] +David [77] ["volleyball"] +Emily [56, 78, 99] ["baseball", "golf", "hockey"] +Frank [45, 67, 88] ["rugby", "cricket", "boxing"] +Grace [34, 56, 78] ["table tennis", "badminton", "athletics"] +Henry [23, 45, 67] ["archery", "fencing", "weightlifting"] +Ivy [12, 34, 56] ["judo", "karate", "taekwondo"] + -- !sql_7_50 -- value1 value2 @@ -1279,3 +1348,14 @@ text_ignore_above_10 1660191010000 1660191010000 +-- !sql_8_32 -- +Andy [100] ["soccer"] +Betty [90] ["pingpong ball"] +Cindy [89] ["武术"] +David [77] ["volleyball"] +Emily [56, 78, 99] ["baseball", "golf", "hockey"] +Frank [45, 67, 88] ["rugby", "cricket", "boxing"] +Grace [34, 56, 78] ["table tennis", "badminton", "athletics"] +Henry [23, 45, 67] ["archery", "fencing", "weightlifting"] +Ivy [12, 34, 56] ["judo", "karate", "taekwondo"] + diff --git a/regression-test/suites/external_table_p0/es/test_es_query.groovy b/regression-test/suites/external_table_p0/es/test_es_query.groovy index af1f270fd52c8a..872c465e96badf 100644 --- a/regression-test/suites/external_table_p0/es/test_es_query.groovy +++ b/regression-test/suites/external_table_p0/es/test_es_query.groovy @@ -212,13 +212,7 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_5_24 """select test2 from test1;""" order_qt_sql_5_25 """select test6 from test1;""" order_qt_sql_5_26 """select test6 from test2;""" - try { - sql """select * from composite_type_array;""" - fail("Should not reach here") - } catch (Exception e) { - logger.error(e.getMessage()) - assertTrue(e.getMessage().contains("Expected value of type: ARRAY; but found type: Varchar/Char; Document slice is : \"soccer\"")) - } + order_qt_sql_5_27 """select * from composite_type_array order by name;""" sql """switch test_es_query_es6""" // order_qt_sql_6_01 """show tables""" @@ -247,12 +241,7 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_6_24 """select test2 from test1;""" order_qt_sql_6_25 """select test6 from test1;""" order_qt_sql_6_26 """select test6 from test2;""" - try { - sql """select * from composite_type_array;""" - fail("Should not reach here") - } catch (Exception e) { - assertTrue(e.getMessage().contains("Expected value of type: ARRAY; but found type: Varchar/Char; Document slice is : \"soccer\"")) - } + order_qt_sql_6_27 """select * from composite_type_array order by name;""" List> tables6N = sql """show tables""" boolean notContainHide = true @@ -307,12 +296,7 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_7_31 """select test2 from test1;""" order_qt_sql_7_32 """select test6 from test1;""" order_qt_sql_7_33 """select test6 from test2;""" - try { - sql """select * from composite_type_array;""" - fail("Should not reach here") - } catch (Exception e) { - assertTrue(e.getMessage().contains("Expected value of type: ARRAY; but found type: Varchar/Char; Document slice is : \"soccer\"")) - } + order_qt_sql_7_34 """select * from composite_type_array order by name;""" List> tables7N = sql """show tables""" boolean notContainHide7 = true @@ -367,12 +351,7 @@ suite("test_es_query", "p0,external,es,external_docker,external_docker_es") { order_qt_sql_8_29 """select test2 from test1;""" order_qt_sql_8_30 """select test6 from test1;""" order_qt_sql_8_31 """select test6 from test2;""" - try { - sql """select * from composite_type_array;""" - fail("Should not reach here") - } catch (Exception e) { - assertTrue(e.getMessage().contains("Expected value of type: ARRAY; but found type: Varchar/Char; Document slice is : \"soccer\"")) - } + order_qt_sql_8_32 """select * from composite_type_array order by name;""" } From 3be6ed40eae80befc73c39e49ec4697e6f8f5c2b Mon Sep 17 00:00:00 2001 From: zy-kkk Date: Wed, 11 Sep 2024 12:21:41 +0800 Subject: [PATCH 166/199] [improvement](jdbc catalog) support jdbc external catalog insert stmt in nereids (#39813) --- .../analyzer/UnboundJdbcTableSink.java | 84 ++++++++++ .../analyzer/UnboundTableSinkCreator.java | 20 +-- .../translator/PhysicalPlanTranslator.java | 20 +++ .../TurnOffPageCacheForInsertIntoSelect.java | 8 + .../properties/RequestPropertyDeriver.java | 9 ++ .../apache/doris/nereids/rules/RuleSet.java | 2 + .../apache/doris/nereids/rules/RuleType.java | 2 + .../nereids/rules/analysis/BindSink.java | 77 ++++++++- ...lJdbcTableSinkToPhysicalJdbcTableSink.java | 48 ++++++ .../doris/nereids/trees/plans/PlanType.java | 3 + .../BaseExternalTableInsertExecutor.java | 2 +- .../insert/InsertIntoTableCommand.java | 27 +++- .../plans/commands/insert/InsertUtils.java | 9 ++ .../insert/JdbcInsertCommandContext.java | 24 +++ .../commands/insert/JdbcInsertExecutor.java | 113 +++++++++++++ .../plans/logical/LogicalJdbcTableSink.java | 151 ++++++++++++++++++ .../PhysicalBaseExternalTableSink.java | 4 + .../plans/physical/PhysicalJdbcTableSink.java | 109 +++++++++++++ .../trees/plans/visitor/SinkVisitor.java | 15 ++ .../transaction/JdbcTransactionManager.java | 42 +++++ .../doris/transaction/TransactionType.java | 3 +- 21 files changed, 758 insertions(+), 14 deletions(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundJdbcTableSink.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalJdbcTableSinkToPhysicalJdbcTableSink.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/JdbcInsertCommandContext.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/JdbcInsertExecutor.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcTableSink.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcTableSink.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/transaction/JdbcTransactionManager.java diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundJdbcTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundJdbcTableSink.java new file mode 100644 index 00000000000000..53367cf9c21ae6 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundJdbcTableSink.java @@ -0,0 +1,84 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.analyzer; + +import org.apache.doris.nereids.memo.GroupExpression; +import org.apache.doris.nereids.properties.LogicalProperties; +import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.PlanType; +import org.apache.doris.nereids.trees.plans.commands.info.DMLCommandType; +import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor; + +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; + +import java.util.List; +import java.util.Optional; + +/** + * Represent an jdbc table sink plan node that has not been bound. + */ +public class UnboundJdbcTableSink extends UnboundBaseExternalTableSink { + + public UnboundJdbcTableSink(List nameParts, List colNames, List hints, + List partitions, CHILD_TYPE child) { + this(nameParts, colNames, hints, partitions, DMLCommandType.NONE, + Optional.empty(), Optional.empty(), child); + } + + /** + * constructor + */ + public UnboundJdbcTableSink(List nameParts, + List colNames, + List hints, + List partitions, + DMLCommandType dmlCommandType, + Optional groupExpression, + Optional logicalProperties, + CHILD_TYPE child) { + super(nameParts, PlanType.LOGICAL_UNBOUND_JDBC_TABLE_SINK, ImmutableList.of(), groupExpression, + logicalProperties, colNames, dmlCommandType, child, hints, partitions); + } + + @Override + public Plan withChildren(List children) { + Preconditions.checkArgument(children.size() == 1, + "UnboundJdbcTableSink should have exactly one child"); + return new UnboundJdbcTableSink<>(nameParts, colNames, hints, partitions, + dmlCommandType, Optional.empty(), Optional.empty(), children.get(0)); + } + + @Override + public R accept(PlanVisitor visitor, C context) { + return visitor.visitUnboundJdbcTableSink(this, context); + } + + @Override + public Plan withGroupExpression(Optional groupExpression) { + return new UnboundJdbcTableSink<>(nameParts, colNames, hints, partitions, + dmlCommandType, groupExpression, Optional.of(getLogicalProperties()), child()); + } + + @Override + public Plan withGroupExprLogicalPropChildren(Optional groupExpression, + Optional logicalProperties, List children) { + return new UnboundJdbcTableSink<>(nameParts, colNames, hints, partitions, + dmlCommandType, groupExpression, logicalProperties, children.get(0)); + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java index 6c361c36f055a3..8ca58f977578a6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java @@ -23,6 +23,7 @@ import org.apache.doris.datasource.InternalCatalog; import org.apache.doris.datasource.hive.HMSExternalCatalog; import org.apache.doris.datasource.iceberg.IcebergExternalCatalog; +import org.apache.doris.datasource.jdbc.JdbcExternalCatalog; import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.exceptions.ParseException; import org.apache.doris.nereids.trees.plans.Plan; @@ -78,6 +79,9 @@ public static LogicalSink createUnboundTableSink(List na } else if (curCatalog instanceof IcebergExternalCatalog) { return new UnboundIcebergTableSink<>(nameParts, colNames, hints, partitions, dmlCommandType, Optional.empty(), Optional.empty(), plan); + } else if (curCatalog instanceof JdbcExternalCatalog) { + return new UnboundJdbcTableSink<>(nameParts, colNames, hints, partitions, + dmlCommandType, Optional.empty(), Optional.empty(), plan); } throw new RuntimeException("Load data to " + curCatalog.getClass().getSimpleName() + " is not supported."); } @@ -109,20 +113,16 @@ public static LogicalSink createUnboundTableSinkMaybeOverwrite(L dmlCommandType, Optional.empty(), Optional.empty(), plan); } else if (curCatalog instanceof IcebergExternalCatalog && !isAutoDetectPartition) { return new UnboundIcebergTableSink<>(nameParts, colNames, hints, partitions, - dmlCommandType, Optional.empty(), Optional.empty(), plan); - } - // TODO: we need to support insert into other catalog - try { - if (ConnectContext.get() != null) { - ConnectContext.get().getSessionVariable().enableFallbackToOriginalPlannerOnce(); - } - } catch (Exception e) { - // ignore this. + dmlCommandType, Optional.empty(), Optional.empty(), plan); + } else if (curCatalog instanceof JdbcExternalCatalog) { + return new UnboundJdbcTableSink<>(nameParts, colNames, hints, partitions, + dmlCommandType, Optional.empty(), Optional.empty(), plan); } + throw new AnalysisException( (isOverwrite ? "insert overwrite" : "insert") + " data to " + curCatalog.getClass().getSimpleName() + " is not supported." + (isAutoDetectPartition - ? " PARTITION(*) is only supported in overwrite partition for OLAP table" : "")); + ? " PARTITION(*) is only supported in overwrite partition for OLAP table" : "")); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java index 28456041f7d3bb..1a56c0fa16076c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java @@ -57,6 +57,7 @@ import org.apache.doris.datasource.iceberg.IcebergExternalTable; import org.apache.doris.datasource.iceberg.source.IcebergScanNode; import org.apache.doris.datasource.jdbc.JdbcExternalTable; +import org.apache.doris.datasource.jdbc.sink.JdbcTableSink; import org.apache.doris.datasource.jdbc.source.JdbcScanNode; import org.apache.doris.datasource.lakesoul.LakeSoulExternalTable; import org.apache.doris.datasource.lakesoul.source.LakeSoulScanNode; @@ -129,6 +130,7 @@ import org.apache.doris.nereids.trees.plans.physical.PhysicalIcebergTableSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalIntersect; import org.apache.doris.nereids.trees.plans.physical.PhysicalJdbcScan; +import org.apache.doris.nereids.trees.plans.physical.PhysicalJdbcTableSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalLimit; import org.apache.doris.nereids.trees.plans.physical.PhysicalNestedLoopJoin; import org.apache.doris.nereids.trees.plans.physical.PhysicalOdbcScan; @@ -498,6 +500,24 @@ public PlanFragment visitPhysicalIcebergTableSink(PhysicalIcebergTableSink jdbcTableSink, + PlanTranslatorContext context) { + PlanFragment rootFragment = jdbcTableSink.child().accept(this, context); + rootFragment.setOutputPartition(DataPartition.UNPARTITIONED); + List targetTableColumns = jdbcTableSink.getCols(); + List insertCols = targetTableColumns.stream() + .map(Column::getName) + .collect(Collectors.toList()); + + JdbcTableSink sink = new JdbcTableSink( + ((JdbcExternalTable) jdbcTableSink.getTargetTable()).getJdbcTable(), + insertCols + ); + rootFragment.setSink(sink); + return rootFragment; + } + @Override public PlanFragment visitPhysicalFileSink(PhysicalFileSink fileSink, PlanTranslatorContext context) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/pre/TurnOffPageCacheForInsertIntoSelect.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/pre/TurnOffPageCacheForInsertIntoSelect.java index ab817c2f1d7c56..2479af68fbece9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/pre/TurnOffPageCacheForInsertIntoSelect.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/pre/TurnOffPageCacheForInsertIntoSelect.java @@ -26,6 +26,7 @@ import org.apache.doris.nereids.trees.plans.logical.LogicalFileSink; import org.apache.doris.nereids.trees.plans.logical.LogicalHiveTableSink; import org.apache.doris.nereids.trees.plans.logical.LogicalIcebergTableSink; +import org.apache.doris.nereids.trees.plans.logical.LogicalJdbcTableSink; import org.apache.doris.nereids.trees.plans.logical.LogicalOlapTableSink; import org.apache.doris.qe.SessionVariable; import org.apache.doris.qe.VariableMgr; @@ -67,6 +68,13 @@ public Plan visitLogicalIcebergTableSink( return tableSink; } + @Override + public Plan visitLogicalJdbcTableSink( + LogicalJdbcTableSink tableSink, StatementContext context) { + turnOffPageCache(context); + return tableSink; + } + private void turnOffPageCache(StatementContext context) { SessionVariable sessionVariable = context.getConnectContext().getSessionVariable(); // set temporary session value, and then revert value in the 'finally block' of StmtExecutor#execute diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/RequestPropertyDeriver.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/RequestPropertyDeriver.java index 0b4929e0a87566..e184ce2777d7e5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/RequestPropertyDeriver.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/RequestPropertyDeriver.java @@ -40,6 +40,7 @@ import org.apache.doris.nereids.trees.plans.physical.PhysicalHashJoin; import org.apache.doris.nereids.trees.plans.physical.PhysicalHiveTableSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalIcebergTableSink; +import org.apache.doris.nereids.trees.plans.physical.PhysicalJdbcTableSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalLimit; import org.apache.doris.nereids.trees.plans.physical.PhysicalNestedLoopJoin; import org.apache.doris.nereids.trees.plans.physical.PhysicalOlapTableSink; @@ -152,6 +153,14 @@ public Void visitPhysicalIcebergTableSink( return null; } + @Override + public Void visitPhysicalJdbcTableSink( + PhysicalJdbcTableSink jdbcTableSink, PlanContext context) { + // Always use gather properties for jdbcTableSink + addRequestPropertyToChildren(PhysicalProperties.GATHER); + return null; + } + @Override public Void visitPhysicalResultSink(PhysicalResultSink physicalResultSink, PlanContext context) { if (context.getSessionVariable().enableParallelResultSink() diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java index 6ef319b871b59f..496137118440cf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java @@ -69,6 +69,7 @@ import org.apache.doris.nereids.rules.implementation.LogicalIcebergTableSinkToPhysicalIcebergTableSink; import org.apache.doris.nereids.rules.implementation.LogicalIntersectToPhysicalIntersect; import org.apache.doris.nereids.rules.implementation.LogicalJdbcScanToPhysicalJdbcScan; +import org.apache.doris.nereids.rules.implementation.LogicalJdbcTableSinkToPhysicalJdbcTableSink; import org.apache.doris.nereids.rules.implementation.LogicalJoinToHashJoin; import org.apache.doris.nereids.rules.implementation.LogicalJoinToNestedLoopJoin; import org.apache.doris.nereids.rules.implementation.LogicalLimitToPhysicalLimit; @@ -199,6 +200,7 @@ public class RuleSet { .add(new LogicalOlapTableSinkToPhysicalOlapTableSink()) .add(new LogicalHiveTableSinkToPhysicalHiveTableSink()) .add(new LogicalIcebergTableSinkToPhysicalIcebergTableSink()) + .add(new LogicalJdbcTableSinkToPhysicalJdbcTableSink()) .add(new LogicalFileSinkToPhysicalFileSink()) .add(new LogicalResultSinkToPhysicalResultSink()) .add(new LogicalDeferMaterializeResultSinkToPhysicalDeferMaterializeResultSink()) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java index ca26ab1d9f843c..b6ab6e2dac2c6d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java @@ -32,6 +32,7 @@ public enum RuleType { BINDING_RESULT_SINK(RuleTypeClass.REWRITE), BINDING_INSERT_HIVE_TABLE(RuleTypeClass.REWRITE), BINDING_INSERT_ICEBERG_TABLE(RuleTypeClass.REWRITE), + BINDING_INSERT_JDBC_TABLE(RuleTypeClass.REWRITE), BINDING_INSERT_TARGET_TABLE(RuleTypeClass.REWRITE), INIT_MATERIALIZATION_HOOK_FOR_FILE_SINK(RuleTypeClass.REWRITE), INIT_MATERIALIZATION_HOOK_FOR_TABLE_SINK(RuleTypeClass.REWRITE), @@ -438,6 +439,7 @@ public enum RuleType { LOGICAL_OLAP_TABLE_SINK_TO_PHYSICAL_OLAP_TABLE_SINK_RULE(RuleTypeClass.IMPLEMENTATION), LOGICAL_HIVE_TABLE_SINK_TO_PHYSICAL_HIVE_TABLE_SINK_RULE(RuleTypeClass.IMPLEMENTATION), LOGICAL_ICEBERG_TABLE_SINK_TO_PHYSICAL_ICEBERG_TABLE_SINK_RULE(RuleTypeClass.IMPLEMENTATION), + LOGICAL_JDBC_TABLE_SINK_TO_PHYSICAL_JDBC_TABLE_SINK_RULE(RuleTypeClass.IMPLEMENTATION), LOGICAL_RESULT_SINK_TO_PHYSICAL_RESULT_SINK_RULE(RuleTypeClass.IMPLEMENTATION), LOGICAL_DEFER_MATERIALIZE_RESULT_SINK_TO_PHYSICAL_DEFER_MATERIALIZE_RESULT_SINK_RULE(RuleTypeClass.IMPLEMENTATION), LOGICAL_FILE_SINK_TO_PHYSICAL_FILE_SINK_RULE(RuleTypeClass.IMPLEMENTATION), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java index 6d8ad94242b53c..05027b856740c7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java @@ -32,10 +32,13 @@ import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.iceberg.IcebergExternalDatabase; import org.apache.doris.datasource.iceberg.IcebergExternalTable; +import org.apache.doris.datasource.jdbc.JdbcExternalDatabase; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; import org.apache.doris.nereids.CascadesContext; import org.apache.doris.nereids.analyzer.Scope; import org.apache.doris.nereids.analyzer.UnboundHiveTableSink; import org.apache.doris.nereids.analyzer.UnboundIcebergTableSink; +import org.apache.doris.nereids.analyzer.UnboundJdbcTableSink; import org.apache.doris.nereids.analyzer.UnboundSlot; import org.apache.doris.nereids.analyzer.UnboundTableSink; import org.apache.doris.nereids.exceptions.AnalysisException; @@ -58,6 +61,7 @@ import org.apache.doris.nereids.trees.plans.commands.info.DMLCommandType; import org.apache.doris.nereids.trees.plans.logical.LogicalHiveTableSink; import org.apache.doris.nereids.trees.plans.logical.LogicalIcebergTableSink; +import org.apache.doris.nereids.trees.plans.logical.LogicalJdbcTableSink; import org.apache.doris.nereids.trees.plans.logical.LogicalOlapTableSink; import org.apache.doris.nereids.trees.plans.logical.LogicalOneRowRelation; import org.apache.doris.nereids.trees.plans.logical.LogicalPlan; @@ -109,7 +113,8 @@ public List buildRules() { // TODO: bind hive taget table RuleType.BINDING_INSERT_HIVE_TABLE.build(unboundHiveTableSink().thenApply(this::bindHiveTableSink)), RuleType.BINDING_INSERT_ICEBERG_TABLE.build( - unboundIcebergTableSink().thenApply(this::bindIcebergTableSink)) + unboundIcebergTableSink().thenApply(this::bindIcebergTableSink)), + RuleType.BINDING_INSERT_JDBC_TABLE.build(unboundJdbcTableSink().thenApply(this::bindJdbcTableSink)) ); } @@ -524,6 +529,64 @@ private Plan bindIcebergTableSink(MatchingContext> return boundSink.withChildAndUpdateOutput(fullOutputProject); } + private Plan bindJdbcTableSink(MatchingContext> ctx) { + UnboundJdbcTableSink sink = ctx.root; + Pair pair = bind(ctx.cascadesContext, sink); + JdbcExternalDatabase database = pair.first; + JdbcExternalTable table = pair.second; + LogicalPlan child = ((LogicalPlan) sink.child()); + + List bindColumns; + if (sink.getColNames().isEmpty()) { + bindColumns = table.getBaseSchema(true).stream().collect(ImmutableList.toImmutableList()); + } else { + bindColumns = sink.getColNames().stream().map(cn -> { + Column column = table.getColumn(cn); + if (column == null) { + throw new AnalysisException(String.format("column %s is not found in table %s", + cn, table.getName())); + } + return column; + }).collect(ImmutableList.toImmutableList()); + } + LogicalJdbcTableSink boundSink = new LogicalJdbcTableSink<>( + database, + table, + bindColumns, + child.getOutput().stream() + .map(NamedExpression.class::cast) + .collect(ImmutableList.toImmutableList()), + sink.getDMLCommandType(), + Optional.empty(), + Optional.empty(), + child); + // we need to insert all the columns of the target table + if (boundSink.getCols().size() != child.getOutput().size()) { + throw new AnalysisException("insert into cols should be corresponding to the query output"); + } + Map columnToOutput = getJdbcColumnToOutput(bindColumns, child); + // We don't need to insert unmentioned columns, only user specified columns + LogicalProject outputProject = getOutputProjectByCoercion(bindColumns, child, columnToOutput); + return boundSink.withChildAndUpdateOutput(outputProject); + } + + private static Map getJdbcColumnToOutput( + List bindColumns, LogicalPlan child) { + Map columnToOutput = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER); + + for (int i = 0; i < bindColumns.size(); i++) { + Column column = bindColumns.get(i); + NamedExpression outputExpr = child.getOutput().get(i); + Alias output = new Alias( + TypeCoercionUtils.castIfNotSameType(outputExpr, DataType.fromCatalogType(column.getType())), + column.getName() + ); + columnToOutput.put(column.getName(), output); + } + + return columnToOutput; + } + private Pair bind(CascadesContext cascadesContext, UnboundTableSink sink) { List tableQualifier = RelationUtil.getQualifierName(cascadesContext.getConnectContext(), sink.getNameParts()); @@ -567,6 +630,18 @@ private Pair bind(CascadesContext throw new AnalysisException("the target table of insert into is not an iceberg table"); } + private Pair bind(CascadesContext cascadesContext, + UnboundJdbcTableSink sink) { + List tableQualifier = RelationUtil.getQualifierName(cascadesContext.getConnectContext(), + sink.getNameParts()); + Pair, TableIf> pair = RelationUtil.getDbAndTable(tableQualifier, + cascadesContext.getConnectContext().getEnv()); + if (pair.second instanceof JdbcExternalTable) { + return Pair.of(((JdbcExternalDatabase) pair.first), (JdbcExternalTable) pair.second); + } + throw new AnalysisException("the target table of insert into is not an jdbc table"); + } + private List bindPartitionIds(OlapTable table, List partitions, boolean temp) { return partitions.isEmpty() ? ImmutableList.of() diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalJdbcTableSinkToPhysicalJdbcTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalJdbcTableSinkToPhysicalJdbcTableSink.java new file mode 100644 index 00000000000000..960350c6117586 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalJdbcTableSinkToPhysicalJdbcTableSink.java @@ -0,0 +1,48 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.rules.implementation; + +import org.apache.doris.nereids.rules.Rule; +import org.apache.doris.nereids.rules.RuleType; +import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.logical.LogicalJdbcTableSink; +import org.apache.doris.nereids.trees.plans.physical.PhysicalJdbcTableSink; + +import java.util.Optional; + +/** + * Implementation rule that convert logical JdbcTableSink to physical JdbcTableSink. + */ +public class LogicalJdbcTableSinkToPhysicalJdbcTableSink extends OneImplementationRuleFactory { + @Override + public Rule build() { + return logicalJdbcTableSink().thenApply(ctx -> { + LogicalJdbcTableSink sink = ctx.root; + return new PhysicalJdbcTableSink<>( + sink.getDatabase(), + sink.getTargetTable(), + sink.getCols(), + sink.getOutputExprs(), + Optional.empty(), + sink.getLogicalProperties(), + null, + null, + sink.child()); + }).toRule(RuleType.LOGICAL_JDBC_TABLE_SINK_TO_PHYSICAL_JDBC_TABLE_SINK_RULE); + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/PlanType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/PlanType.java index 9f451732bdc886..f3587b379210de 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/PlanType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/PlanType.java @@ -49,9 +49,11 @@ public enum PlanType { LOGICAL_OLAP_TABLE_SINK, LOGICAL_HIVE_TABLE_SINK, LOGICAL_ICEBERG_TABLE_SINK, + LOGICAL_JDBC_TABLE_SINK, LOGICAL_RESULT_SINK, LOGICAL_UNBOUND_OLAP_TABLE_SINK, LOGICAL_UNBOUND_HIVE_TABLE_SINK, + LOGICAL_UNBOUND_JDBC_TABLE_SINK, LOGICAL_UNBOUND_RESULT_SINK, // logical others @@ -103,6 +105,7 @@ public enum PlanType { PHYSICAL_OLAP_TABLE_SINK, PHYSICAL_HIVE_TABLE_SINK, PHYSICAL_ICEBERG_TABLE_SINK, + PHYSICAL_JDBC_TABLE_SINK, PHYSICAL_RESULT_SINK, // physical others diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java index a3aa33f96ab02c..e456d171df5986 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java @@ -46,8 +46,8 @@ * Insert executor for base external table */ public abstract class BaseExternalTableInsertExecutor extends AbstractInsertExecutor { + protected static final long INVALID_TXN_ID = -1L; private static final Logger LOG = LogManager.getLogger(BaseExternalTableInsertExecutor.class); - private static final long INVALID_TXN_ID = -1L; protected long txnId = INVALID_TXN_ID; protected TransactionStatus txnStatus = TransactionStatus.ABORTED; protected final TransactionManager transactionManager; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java index 55f16c20e09ede..38d0d8386307cf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java @@ -18,6 +18,7 @@ package org.apache.doris.nereids.trees.plans.commands.insert; import org.apache.doris.analysis.StmtType; +import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.TableIf; @@ -26,12 +27,14 @@ import org.apache.doris.common.util.ProfileManager.ProfileType; import org.apache.doris.datasource.hive.HMSExternalTable; import org.apache.doris.datasource.iceberg.IcebergExternalTable; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; import org.apache.doris.load.loadv2.LoadStatistic; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.nereids.NereidsPlanner; import org.apache.doris.nereids.analyzer.UnboundTableSink; import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.glue.LogicalPlanAdapter; +import org.apache.doris.nereids.trees.expressions.Slot; import org.apache.doris.nereids.trees.plans.Explainable; import org.apache.doris.nereids.trees.plans.Plan; import org.apache.doris.nereids.trees.plans.PlanType; @@ -41,8 +44,11 @@ import org.apache.doris.nereids.trees.plans.physical.PhysicalEmptyRelation; import org.apache.doris.nereids.trees.plans.physical.PhysicalHiveTableSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalIcebergTableSink; +import org.apache.doris.nereids.trees.plans.physical.PhysicalJdbcTableSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalOlapTableSink; +import org.apache.doris.nereids.trees.plans.physical.PhysicalOneRowRelation; import org.apache.doris.nereids.trees.plans.physical.PhysicalSink; +import org.apache.doris.nereids.trees.plans.physical.PhysicalUnion; import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor; import org.apache.doris.planner.DataSink; import org.apache.doris.qe.ConnectContext; @@ -53,6 +59,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.util.List; import java.util.Objects; import java.util.Optional; @@ -191,9 +198,27 @@ public AbstractInsertExecutor initPlan(ConnectContext ctx, StmtExecutor executor IcebergExternalTable icebergExternalTable = (IcebergExternalTable) targetTableIf; insertExecutor = new IcebergInsertExecutor(ctx, icebergExternalTable, label, planner, Optional.of(insertCtx.orElse((new BaseExternalTableInsertCommandContext()))), emptyInsert); + } else if (physicalSink instanceof PhysicalJdbcTableSink) { + boolean emptyInsert = childIsEmptyRelation(physicalSink); + List cols = ((PhysicalJdbcTableSink) physicalSink).getCols(); + List slots = ((PhysicalJdbcTableSink) physicalSink).getOutput(); + if (physicalSink.children().size() == 1) { + if (physicalSink.child(0) instanceof PhysicalOneRowRelation + || physicalSink.child(0) instanceof PhysicalUnion) { + for (int i = 0; i < cols.size(); i++) { + if (!(cols.get(i).isAllowNull()) && slots.get(i).nullable()) { + throw new AnalysisException("Column `" + cols.get(i).getName() + + "` is not nullable, but the inserted value is nullable."); + } + } + } + } + JdbcExternalTable jdbcExternalTable = (JdbcExternalTable) targetTableIf; + insertExecutor = new JdbcInsertExecutor(ctx, jdbcExternalTable, label, planner, + Optional.of(insertCtx.orElse((new JdbcInsertCommandContext()))), emptyInsert); } else { // TODO: support other table types - throw new AnalysisException("insert into command only support [olap, hive, iceberg] table"); + throw new AnalysisException("insert into command only support [olap, hive, iceberg, jdbc] table"); } if (!insertExecutor.isEmptyInsert()) { insertExecutor.beginTransaction(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertUtils.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertUtils.java index c5c2197faf0444..49e7858f6faf65 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertUtils.java @@ -28,9 +28,11 @@ import org.apache.doris.common.Config; import org.apache.doris.common.FormatOptions; import org.apache.doris.datasource.hive.HMSExternalTable; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; import org.apache.doris.nereids.analyzer.UnboundAlias; import org.apache.doris.nereids.analyzer.UnboundHiveTableSink; import org.apache.doris.nereids.analyzer.UnboundIcebergTableSink; +import org.apache.doris.nereids.analyzer.UnboundJdbcTableSink; import org.apache.doris.nereids.analyzer.UnboundOneRowRelation; import org.apache.doris.nereids.analyzer.UnboundTableSink; import org.apache.doris.nereids.exceptions.AnalysisException; @@ -266,6 +268,11 @@ public static Plan normalizePlan(Plan plan, TableIf table, Optional) unboundLogicalSink).isPartialUpdate()) { @@ -408,6 +415,8 @@ public static TableIf getTargetTable(Plan plan, ConnectContext ctx) { unboundTableSink = (UnboundHiveTableSink) plan; } else if (plan instanceof UnboundIcebergTableSink) { unboundTableSink = (UnboundIcebergTableSink) plan; + } else if (plan instanceof UnboundJdbcTableSink) { + unboundTableSink = (UnboundJdbcTableSink) plan; } else { throw new AnalysisException("the root of plan should be" + " [UnboundTableSink, UnboundHiveTableSink, UnboundIcebergTableSink]," diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/JdbcInsertCommandContext.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/JdbcInsertCommandContext.java new file mode 100644 index 00000000000000..71df7e417e6a8f --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/JdbcInsertCommandContext.java @@ -0,0 +1,24 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans.commands.insert; + +/** + * For iceberg External Table + */ +public class JdbcInsertCommandContext extends BaseExternalTableInsertCommandContext { +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/JdbcInsertExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/JdbcInsertExecutor.java new file mode 100644 index 00000000000000..928b17edf38933 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/JdbcInsertExecutor.java @@ -0,0 +1,113 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans.commands.insert; + +import org.apache.doris.common.ErrorCode; +import org.apache.doris.common.UserException; +import org.apache.doris.common.profile.SummaryProfile; +import org.apache.doris.common.util.DebugUtil; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; +import org.apache.doris.nereids.NereidsPlanner; +import org.apache.doris.nereids.trees.plans.physical.PhysicalSink; +import org.apache.doris.planner.DataSink; +import org.apache.doris.planner.PlanFragment; +import org.apache.doris.qe.ConnectContext; +import org.apache.doris.qe.QueryState; +import org.apache.doris.transaction.TransactionStatus; +import org.apache.doris.transaction.TransactionType; + +import com.google.common.base.Strings; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.Optional; + +/** + * Insert executor for jdbc table + */ +public class JdbcInsertExecutor extends BaseExternalTableInsertExecutor { + private static final Logger LOG = LogManager.getLogger(JdbcInsertExecutor.class); + + /** + * constructor + */ + public JdbcInsertExecutor(ConnectContext ctx, JdbcExternalTable table, + String labelName, NereidsPlanner planner, + Optional insertCtx, + boolean emptyInsert) { + super(ctx, table, labelName, planner, insertCtx, emptyInsert); + } + + @Override + public void beginTransaction() { + // do nothing + } + + @Override + protected void onComplete() throws UserException { + if (ctx.getState().getStateType() == QueryState.MysqlStateType.ERR) { + LOG.warn("errors when abort txn. {}", ctx.getQueryIdentifier()); + } else { + summaryProfile.ifPresent(profile -> profile.setTransactionBeginTime(transactionType())); + summaryProfile.ifPresent(SummaryProfile::setTransactionEndTime); + txnStatus = TransactionStatus.COMMITTED; + } + } + + @Override + protected void onFail(Throwable t) { + errMsg = t.getMessage() == null ? "unknown reason" : t.getMessage(); + String queryId = DebugUtil.printId(ctx.queryId()); + // if any throwable being thrown during insert operation, first we should abort this txn + LOG.warn("insert [{}] with query id {} failed", labelName, queryId, t); + StringBuilder sb = new StringBuilder(t.getMessage()); + if (txnId != INVALID_TXN_ID) { + LOG.warn("insert [{}] with query id {} abort txn {} failed", labelName, queryId, txnId); + if (!Strings.isNullOrEmpty(coordinator.getTrackingUrl())) { + sb.append(". url: ").append(coordinator.getTrackingUrl()); + } + } + ctx.getState().setError(ErrorCode.ERR_UNKNOWN_ERROR, t.getMessage()); + } + + @Override + protected void finalizeSink(PlanFragment fragment, DataSink sink, PhysicalSink physicalSink) { + // do nothing + } + + @Override + protected void setCollectCommitInfoFunc() { + // do nothing + } + + @Override + protected void doBeforeCommit() throws UserException { + // do nothing + } + + @Override + protected TransactionType transactionType() { + return TransactionType.JDBC; + } + + @Override + protected void beforeExec() { + String queryId = DebugUtil.printId(ctx.queryId()); + LOG.info("start insert [{}] with query id {} and txn id {}", labelName, queryId, txnId); + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcTableSink.java new file mode 100644 index 00000000000000..b4027383916599 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalJdbcTableSink.java @@ -0,0 +1,151 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans.logical; + +import org.apache.doris.catalog.Column; +import org.apache.doris.datasource.jdbc.JdbcExternalDatabase; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; +import org.apache.doris.nereids.memo.GroupExpression; +import org.apache.doris.nereids.properties.LogicalProperties; +import org.apache.doris.nereids.trees.expressions.NamedExpression; +import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.PlanType; +import org.apache.doris.nereids.trees.plans.PropagateFuncDeps; +import org.apache.doris.nereids.trees.plans.algebra.Sink; +import org.apache.doris.nereids.trees.plans.commands.info.DMLCommandType; +import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor; +import org.apache.doris.nereids.util.Utils; + +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; + +import java.util.List; +import java.util.Objects; +import java.util.Optional; + +/** + * logical jdbc table sink for insert command + */ +public class LogicalJdbcTableSink extends LogicalTableSink + implements Sink, PropagateFuncDeps { + // bound data sink + private final JdbcExternalDatabase database; + private final JdbcExternalTable targetTable; + private final DMLCommandType dmlCommandType; + + /** + * constructor + */ + public LogicalJdbcTableSink(JdbcExternalDatabase database, + JdbcExternalTable targetTable, + List cols, + List outputExprs, + DMLCommandType dmlCommandType, + Optional groupExpression, + Optional logicalProperties, + CHILD_TYPE child) { + super(PlanType.LOGICAL_JDBC_TABLE_SINK, outputExprs, groupExpression, logicalProperties, cols, child); + this.database = Objects.requireNonNull(database, "database != null in LogicalJdbcTableSink"); + this.targetTable = Objects.requireNonNull(targetTable, "targetTable != null in LogicalJdbcTableSink"); + this.dmlCommandType = dmlCommandType; + } + + public Plan withChildAndUpdateOutput(Plan child) { + List output = child.getOutput().stream() + .map(NamedExpression.class::cast) + .collect(ImmutableList.toImmutableList()); + return new LogicalJdbcTableSink<>(database, targetTable, cols, output, + dmlCommandType, Optional.empty(), Optional.empty(), child); + } + + @Override + public Plan withChildren(List children) { + Preconditions.checkArgument(children.size() == 1, "LogicalJdbcTableSink only accepts one child"); + return new LogicalJdbcTableSink<>(database, targetTable, cols, outputExprs, + dmlCommandType, Optional.empty(), Optional.empty(), children.get(0)); + } + + @Override + public LogicalSink withOutputExprs(List outputExprs) { + return new LogicalJdbcTableSink<>(database, targetTable, cols, outputExprs, + dmlCommandType, Optional.empty(), Optional.empty(), child()); + } + + public JdbcExternalDatabase getDatabase() { + return database; + } + + public JdbcExternalTable getTargetTable() { + return targetTable; + } + + public DMLCommandType getDmlCommandType() { + return dmlCommandType; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof LogicalJdbcTableSink)) { + return false; + } + if (!super.equals(o)) { + return false; + } + LogicalJdbcTableSink that = (LogicalJdbcTableSink) o; + return dmlCommandType == that.dmlCommandType + && Objects.equals(database, that.database) + && Objects.equals(targetTable, that.targetTable) && Objects.equals(cols, that.cols); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode(), database, targetTable, dmlCommandType); + } + + @Override + public String toString() { + return Utils.toSqlString("LogicalJdbcTableSink[" + id.asInt() + "]", + "outputExprs", outputExprs, + "database", database.getFullName(), + "targetTable", targetTable.getName(), + "cols", cols, + "dmlCommandType", dmlCommandType + ); + } + + @Override + public R accept(PlanVisitor visitor, C context) { + return visitor.visitLogicalJdbcTableSink(this, context); + } + + @Override + public Plan withGroupExpression(Optional groupExpression) { + return new LogicalJdbcTableSink<>(database, targetTable, cols, outputExprs, + dmlCommandType, groupExpression, Optional.of(getLogicalProperties()), child()); + } + + @Override + public Plan withGroupExprLogicalPropChildren(Optional groupExpression, + Optional logicalProperties, List children) { + return new LogicalJdbcTableSink<>(database, targetTable, cols, outputExprs, + dmlCommandType, groupExpression, logicalProperties, children.get(0)); + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalBaseExternalTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalBaseExternalTableSink.java index 82483c63a40412..7c99886f06dffe 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalBaseExternalTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalBaseExternalTableSink.java @@ -71,6 +71,10 @@ public ExternalTable getTargetTable() { return targetTable; } + public List getCols() { + return cols; + } + @Override public List getExpressions() { return ImmutableList.of(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcTableSink.java new file mode 100644 index 00000000000000..2b0f12c1dea62a --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalJdbcTableSink.java @@ -0,0 +1,109 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.plans.physical; + +import org.apache.doris.catalog.Column; +import org.apache.doris.datasource.jdbc.JdbcExternalDatabase; +import org.apache.doris.datasource.jdbc.JdbcExternalTable; +import org.apache.doris.nereids.memo.GroupExpression; +import org.apache.doris.nereids.properties.LogicalProperties; +import org.apache.doris.nereids.properties.PhysicalProperties; +import org.apache.doris.nereids.trees.expressions.NamedExpression; +import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.PlanType; +import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor; +import org.apache.doris.statistics.Statistics; + +import java.util.List; +import java.util.Optional; + +/** physical jdbc sink */ +public class PhysicalJdbcTableSink extends PhysicalBaseExternalTableSink { + + /** + * constructor + */ + public PhysicalJdbcTableSink(JdbcExternalDatabase database, + JdbcExternalTable targetTable, + List cols, + List outputExprs, + Optional groupExpression, + LogicalProperties logicalProperties, + CHILD_TYPE child) { + this(database, targetTable, cols, outputExprs, groupExpression, logicalProperties, + PhysicalProperties.GATHER, null, child); + } + + /** + * constructor + */ + public PhysicalJdbcTableSink(JdbcExternalDatabase database, + JdbcExternalTable targetTable, + List cols, + List outputExprs, + Optional groupExpression, + LogicalProperties logicalProperties, + PhysicalProperties physicalProperties, + Statistics statistics, + CHILD_TYPE child) { + super(PlanType.PHYSICAL_JDBC_TABLE_SINK, database, targetTable, cols, outputExprs, groupExpression, + logicalProperties, physicalProperties, statistics, child); + } + + @Override + public Plan withChildren(List children) { + return new PhysicalJdbcTableSink<>( + (JdbcExternalDatabase) database, (JdbcExternalTable) targetTable, + cols, outputExprs, groupExpression, + getLogicalProperties(), physicalProperties, statistics, children.get(0)); + } + + @Override + public R accept(PlanVisitor visitor, C context) { + return visitor.visitPhysicalJdbcTableSink(this, context); + } + + @Override + public Plan withGroupExpression(Optional groupExpression) { + return new PhysicalJdbcTableSink<>( + (JdbcExternalDatabase) database, (JdbcExternalTable) targetTable, cols, outputExprs, + groupExpression, getLogicalProperties(), child()); + } + + @Override + public Plan withGroupExprLogicalPropChildren(Optional groupExpression, + Optional logicalProperties, List children) { + return new PhysicalJdbcTableSink<>( + (JdbcExternalDatabase) database, (JdbcExternalTable) targetTable, cols, outputExprs, + groupExpression, logicalProperties.get(), children.get(0)); + } + + @Override + public PhysicalPlan withPhysicalPropertiesAndStats(PhysicalProperties physicalProperties, Statistics statistics) { + return new PhysicalJdbcTableSink<>( + (JdbcExternalDatabase) database, (JdbcExternalTable) targetTable, cols, outputExprs, + groupExpression, getLogicalProperties(), physicalProperties, statistics, child()); + } + + @Override + public PhysicalProperties getRequirePhysicalProperties() { + // Since JDBC tables do not have partitioning, return a default physical property. + // GATHER implies that all data is gathered to a single location, which is a common requirement for JDBC sinks. + return PhysicalProperties.GATHER; + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/visitor/SinkVisitor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/visitor/SinkVisitor.java index e0b8a1dddc1706..289687476b2cf3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/visitor/SinkVisitor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/visitor/SinkVisitor.java @@ -19,6 +19,7 @@ import org.apache.doris.nereids.analyzer.UnboundHiveTableSink; import org.apache.doris.nereids.analyzer.UnboundIcebergTableSink; +import org.apache.doris.nereids.analyzer.UnboundJdbcTableSink; import org.apache.doris.nereids.analyzer.UnboundResultSink; import org.apache.doris.nereids.analyzer.UnboundTableSink; import org.apache.doris.nereids.trees.plans.Plan; @@ -26,6 +27,7 @@ import org.apache.doris.nereids.trees.plans.logical.LogicalFileSink; import org.apache.doris.nereids.trees.plans.logical.LogicalHiveTableSink; import org.apache.doris.nereids.trees.plans.logical.LogicalIcebergTableSink; +import org.apache.doris.nereids.trees.plans.logical.LogicalJdbcTableSink; import org.apache.doris.nereids.trees.plans.logical.LogicalOlapTableSink; import org.apache.doris.nereids.trees.plans.logical.LogicalResultSink; import org.apache.doris.nereids.trees.plans.logical.LogicalSink; @@ -34,6 +36,7 @@ import org.apache.doris.nereids.trees.plans.physical.PhysicalFileSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalHiveTableSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalIcebergTableSink; +import org.apache.doris.nereids.trees.plans.physical.PhysicalJdbcTableSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalOlapTableSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalResultSink; import org.apache.doris.nereids.trees.plans.physical.PhysicalSink; @@ -68,6 +71,10 @@ default R visitUnboundIcebergTableSink(UnboundIcebergTableSink u return visitLogicalSink(unboundTableSink, context); } + default R visitUnboundJdbcTableSink(UnboundJdbcTableSink unboundTableSink, C context) { + return visitLogicalSink(unboundTableSink, context); + } + default R visitUnboundResultSink(UnboundResultSink unboundResultSink, C context) { return visitLogicalSink(unboundResultSink, context); } @@ -96,6 +103,10 @@ default R visitLogicalIcebergTableSink(LogicalIcebergTableSink i return visitLogicalTableSink(icebergTableSink, context); } + default R visitLogicalJdbcTableSink(LogicalJdbcTableSink jdbcTableSink, C context) { + return visitLogicalTableSink(jdbcTableSink, context); + } + default R visitLogicalResultSink(LogicalResultSink logicalResultSink, C context) { return visitLogicalSink(logicalResultSink, context); } @@ -129,6 +140,10 @@ default R visitPhysicalIcebergTableSink(PhysicalIcebergTableSink return visitPhysicalTableSink(icebergTableSink, context); } + default R visitPhysicalJdbcTableSink(PhysicalJdbcTableSink jdbcTableSink, C context) { + return visitPhysicalTableSink(jdbcTableSink, context); + } + default R visitPhysicalResultSink(PhysicalResultSink physicalResultSink, C context) { return visitPhysicalSink(physicalResultSink, context); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/transaction/JdbcTransactionManager.java b/fe/fe-core/src/main/java/org/apache/doris/transaction/JdbcTransactionManager.java new file mode 100644 index 00000000000000..a0a1cc28803d4e --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/transaction/JdbcTransactionManager.java @@ -0,0 +1,42 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.transaction; + +import org.apache.doris.common.UserException; + +public class JdbcTransactionManager implements TransactionManager { + @Override + public long begin() { + return 0; + } + + @Override + public void commit(long id) throws UserException { + + } + + @Override + public void rollback(long id) { + + } + + @Override + public Transaction getTransaction(long id) { + return null; + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionType.java b/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionType.java index 2372c199738116..c83f61888901c4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionType.java @@ -20,5 +20,6 @@ public enum TransactionType { UNKNOWN, HMS, - ICEBERG + ICEBERG, + JDBC } From f9a5c92db53e60bce01d3d1449e412890defee00 Mon Sep 17 00:00:00 2001 From: lihangyu <15605149486@163.com> Date: Wed, 11 Sep 2024 12:31:52 +0800 Subject: [PATCH 167/199] [regression-test](point query) add `enable_mow_light_delete=false` to related cases (#40520) --- regression-test/suites/point_query_p0/test_point_query.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regression-test/suites/point_query_p0/test_point_query.groovy b/regression-test/suites/point_query_p0/test_point_query.groovy index f05d0af1305a68..4bbc0e859166bc 100644 --- a/regression-test/suites/point_query_p0/test_point_query.groovy +++ b/regression-test/suites/point_query_p0/test_point_query.groovy @@ -317,7 +317,7 @@ suite("test_point_query", "nonConcurrent") { INDEX col2 (`col2`) USING INVERTED ) ENGINE=OLAP UNIQUE KEY(`col1`, `col2`, `loc3`) DISTRIBUTED BY HASH(`col1`, `col2`, `loc3`) BUCKETS 1 - PROPERTIES ( "replication_allocation" = "tag.location.default: 1", "bloom_filter_columns" = "col1", "store_row_column" = "true" ); + PROPERTIES ( "replication_allocation" = "tag.location.default: 1", "bloom_filter_columns" = "col1", "store_row_column" = "true", "enable_mow_light_delete" = "false" ); """ sql "insert into table_3821461 values (-10, 20, 'aabc', 'value')" sql "insert into table_3821461 values (10, 20, 'aabc', 'value');" From fe4efdda46346869283e57f9eafbfcec18ab145c Mon Sep 17 00:00:00 2001 From: Gavin Chou Date: Wed, 11 Sep 2024 12:32:08 +0800 Subject: [PATCH 168/199] [fix](cloud) Fix possible incorrect merged tablet stats while iterating detached tablet stats (#40494) Previous impl. of `get_detached_tablet_stats()` may miss some detached KVs or tablet stats due to KV iterating paging (`RangeGetIterator.more() == true`), which leads to zero detached stats and produce buggy data size report to FE. --- cloud/src/meta-service/http_encode_key.cpp | 52 +- cloud/src/meta-service/meta_service_job.cpp | 25 +- .../meta_service_tablet_stats.cpp | 75 +- .../meta-service/meta_service_tablet_stats.h | 21 +- cloud/test/http_encode_key_test.cpp | 844 +++++++++--------- 5 files changed, 565 insertions(+), 452 deletions(-) diff --git a/cloud/src/meta-service/http_encode_key.cpp b/cloud/src/meta-service/http_encode_key.cpp index 165fff7ca441d6..4d05f0121b0ef6 100644 --- a/cloud/src/meta-service/http_encode_key.cpp +++ b/cloud/src/meta-service/http_encode_key.cpp @@ -135,32 +135,50 @@ static std::string parse_tablet_schema(const ValueBuf& buf) { static std::string parse_tablet_stats(const ValueBuf& buf) { if (buf.iters.empty()) { - return ""; + return "stats_kvs not found\n"; } - TabletStatsPB stats; - auto&& it = buf.iters[0]; - if (!it->has_next()) { - return ""; + std::vector> stats_kvs; + stats_kvs.reserve(5); + for (auto& i : buf.iters) { + while (i->has_next()) { + auto [k, v] = i->next(); + stats_kvs.emplace_back(std::string {k.data(), k.size()}, + std::string {v.data(), v.size()}); + } + } + + if (stats_kvs.empty()) { + return "stats_kvs not found\n"; } - auto [k, v] = it->next(); + TabletStatsPB stats; + auto [k, v] = stats_kvs[0]; stats.ParseFromArray(v.data(), v.size()); + std::string json; + json += "aggregated_stats: " + proto_to_json(stats) + "\n"; + // Parse split tablet stats TabletStats detached_stats; - int ret = get_detached_tablet_stats(*it, detached_stats); + int ret = get_detached_tablet_stats(stats_kvs, detached_stats); if (ret != 0) { - return ""; + json += "failed to get detached_stats, ret=" + std::to_string(ret) + "\n"; + return json; } + TabletStatsPB detached_stats_pb; + merge_tablet_stats(detached_stats_pb, detached_stats); // convert to pb + json += "detached_stats: " + proto_to_json(detached_stats_pb) + "\n"; merge_tablet_stats(stats, detached_stats); - return proto_to_json(stats); + json += "merged_stats: " + proto_to_json(stats) + "\n"; + return json; } // See keys.h to get all types of key, e.g: MetaRowsetKeyInfo -// key_type -> {{param1, param2 ...}, encoding_func, value_parsing_func} +// key_type -> {{param1, param2 ...}, key_encoding_func, value_parsing_func} +// where params are the input for key_encoding_func // clang-format off static std::unordered_map, std::function, std::function>> param_set { @@ -250,11 +268,17 @@ HttpResponse process_http_get_value(TxnKv* txn_kv, const brpc::URI& uri) { ValueBuf value; if (key_type == "StatsTabletKey") { // FIXME(plat1ko): hard code - std::string end_key {key}; - encode_bytes("\xff", &end_key); + std::string begin_key {key}; + std::string end_key = key + "\xff"; std::unique_ptr it; - err = txn->get(key, end_key, &it, true); - value.iters.push_back(std::move(it)); + bool more = false; + do { + err = txn->get(begin_key, end_key, &it, true); + if (err != TxnErrorCode::TXN_OK) break; + begin_key = it->next_begin_key(); + more = it->more(); + value.iters.push_back(std::move(it)); + } while (more); } else { err = cloud::get(txn.get(), key, &value, true); } diff --git a/cloud/src/meta-service/meta_service_job.cpp b/cloud/src/meta-service/meta_service_job.cpp index 15b4e4c368f6cd..d1c8df15870de7 100644 --- a/cloud/src/meta-service/meta_service_job.cpp +++ b/cloud/src/meta-service/meta_service_job.cpp @@ -733,16 +733,33 @@ void process_compaction_job(MetaServiceCode& code, std::string& msg, std::string } auto stats_key = stats_tablet_key({instance_id, table_id, index_id, partition_id, tablet_id}); auto stats_val = stats->SerializeAsString(); + + VLOG_DEBUG << "data size, tablet_id=" << tablet_id << " stats.num_rows=" << stats->num_rows() + << " stats.data_size=" << stats->data_size() + << " stats.num_rowsets=" << stats->num_rowsets() + << " stats.num_segments=" << stats->num_segments() + << " detached_stats.num_rows=" << detached_stats.num_rows + << " detached_stats.data_size=" << detached_stats.data_size + << " detached_stats.num_rowset=" << detached_stats.num_rowsets + << " detached_stats.num_segments=" << detached_stats.num_segs + << " compaction.size_output_rowsets=" << compaction.size_output_rowsets() + << " compaction.size_input_rowsets=" << compaction.size_input_rowsets(); txn->put(stats_key, stats_val); - merge_tablet_stats(*stats, detached_stats); + merge_tablet_stats(*stats, detached_stats); // this is to check if (stats->data_size() < 0 || stats->num_rowsets() < 1) [[unlikely]] { INSTANCE_LOG(ERROR) << "buggy data size, tablet_id=" << tablet_id + << " stats.num_rows=" << stats->num_rows() << " stats.data_size=" << stats->data_size() + << " stats.num_rowsets=" << stats->num_rowsets() + << " stats.num_segments=" << stats->num_segments() + << " detached_stats.num_rows=" << detached_stats.num_rows + << " detached_stats.data_size=" << detached_stats.data_size + << " detached_stats.num_rowset=" << detached_stats.num_rowsets + << " detached_stats.num_segments=" << detached_stats.num_segs << " compaction.size_output_rowsets=" << compaction.size_output_rowsets() - << " compaction.size_input_rowsets= " - << compaction.size_input_rowsets(); - DCHECK(false) << "buggy data size"; + << " compaction.size_input_rowsets=" << compaction.size_input_rowsets(); + DCHECK(false) << "buggy data size, tablet_id=" << tablet_id; } VLOG_DEBUG << "update tablet stats tablet_id=" << tablet_id << " key=" << hex(stats_key) diff --git a/cloud/src/meta-service/meta_service_tablet_stats.cpp b/cloud/src/meta-service/meta_service_tablet_stats.cpp index 868f89e35592fd..572ee6ebb68cda 100644 --- a/cloud/src/meta-service/meta_service_tablet_stats.cpp +++ b/cloud/src/meta-service/meta_service_tablet_stats.cpp @@ -30,49 +30,63 @@ namespace doris::cloud { void internal_get_tablet_stats(MetaServiceCode& code, std::string& msg, Transaction* txn, const std::string& instance_id, const TabletIndexPB& idx, TabletStatsPB& stats, TabletStats& detached_stats, bool snapshot) { - auto begin_key = stats_tablet_key( - {instance_id, idx.table_id(), idx.index_id(), idx.partition_id(), idx.tablet_id()}); - auto end_key = stats_tablet_key( - {instance_id, idx.table_id(), idx.index_id(), idx.partition_id(), idx.tablet_id() + 1}); + // clang-format off + auto begin_key = stats_tablet_key({instance_id, idx.table_id(), idx.index_id(), idx.partition_id(), idx.tablet_id()}); + auto begin_key_check = begin_key; + auto end_key = stats_tablet_key({instance_id, idx.table_id(), idx.index_id(), idx.partition_id(), idx.tablet_id() + 1}); + // clang-format on + std::vector> stats_kvs; + stats_kvs.reserve(5); // aggregate + data_size + num_rows + num_rowsets + num_segments + std::unique_ptr it; - TxnErrorCode err = txn->get(begin_key, end_key, &it, snapshot); - if (err != TxnErrorCode::TXN_OK) { - code = cast_as(err); - msg = fmt::format("failed to get tablet stats, err={} tablet_id={}", err, idx.tablet_id()); - return; - } - if (!it->has_next()) { + do { + TxnErrorCode err = txn->get(begin_key, end_key, &it, snapshot); + if (err != TxnErrorCode::TXN_OK) { + code = cast_as(err); + msg = fmt::format("failed to get tablet stats, err={} tablet_id={}", err, + idx.tablet_id()); + return; + } + while (it->has_next()) { + auto [k, v] = it->next(); + stats_kvs.emplace_back(std::string {k.data(), k.size()}, + std::string {v.data(), v.size()}); + } + begin_key = it->next_begin_key(); + } while (it->more()); + + if (stats_kvs.empty()) { code = MetaServiceCode::TABLET_NOT_FOUND; msg = fmt::format("tablet stats not found, tablet_id={}", idx.tablet_id()); return; } - auto [k, v] = it->next(); - // First key MUST be tablet stats key - DCHECK(k == begin_key) << hex(k) << " vs " << hex(begin_key); + + auto& [first_stats_key, v] = stats_kvs[0]; + // First key MUST be tablet stats key, the original non-detached one + DCHECK(first_stats_key == begin_key_check) + << hex(first_stats_key) << " vs " << hex(begin_key_check); if (!stats.ParseFromArray(v.data(), v.size())) { code = MetaServiceCode::PROTOBUF_PARSE_ERR; - msg = fmt::format("marformed tablet stats value, key={}", hex(k)); + msg = fmt::format("marformed tablet stats value, key={}", hex(first_stats_key)); return; } // Parse split tablet stats - int ret = get_detached_tablet_stats(*it, detached_stats); + int ret = get_detached_tablet_stats(stats_kvs, detached_stats); + if (ret != 0) { code = MetaServiceCode::PROTOBUF_PARSE_ERR; - msg = fmt::format("marformed splitted tablet stats kv, key={}", hex(k)); + msg = fmt::format("marformed splitted tablet stats kv, key={}", hex(first_stats_key)); return; } } -int get_detached_tablet_stats(RangeGetIterator& iter, TabletStats& detached_stats) { - while (iter.has_next()) { - auto [k, v] = iter.next(); - int64_t val; - if (v.size() != sizeof(val)) [[unlikely]] { - LOG(WARNING) << "malformed tablet stats value. key=" << hex(k); - return -1; - } - - // 0x01 "stats" ${instance_id} "tablet" ${table_id} ${index_id} ${partition_id} ${tablet_id} "data_size" +int get_detached_tablet_stats(const std::vector>& stats_kvs, + TabletStats& detached_stats) { + if (stats_kvs.size() != 5 && stats_kvs.size() != 1) { + LOG(WARNING) << "incorrect tablet stats_kvs, it should be 1 or 5 size=" << stats_kvs.size(); + } + for (size_t i = 1; i < stats_kvs.size(); ++i) { + std::string_view k(stats_kvs[i].first), v(stats_kvs[i].second); k.remove_prefix(1); constexpr size_t key_parts = 8; std::vector, int, int>> out; @@ -84,9 +98,14 @@ int get_detached_tablet_stats(RangeGetIterator& iter, TabletStats& detached_stat auto* suffix = std::get_if(&std::get<0>(out.back())); if (!suffix) [[unlikely]] { LOG(WARNING) << "malformed tablet stats key. key=" << hex(k); - return -1; + return -2; } + int64_t val = 0; + if (v.size() != sizeof(val)) [[unlikely]] { + LOG(WARNING) << "malformed tablet stats value v.size=" << v.size() << " key=" << hex(k); + return -3; + } std::memcpy(&val, v.data(), sizeof(val)); if constexpr (std::endian::native == std::endian::big) { val = bswap_64(val); diff --git a/cloud/src/meta-service/meta_service_tablet_stats.h b/cloud/src/meta-service/meta_service_tablet_stats.h index 3e8b4f82a0b74f..5726cf50b76652 100644 --- a/cloud/src/meta-service/meta_service_tablet_stats.h +++ b/cloud/src/meta-service/meta_service_tablet_stats.h @@ -47,8 +47,23 @@ void internal_get_tablet_stats(MetaServiceCode& code, std::string& msg, Transact const std::string& instance_id, const TabletIndexPB& idx, TabletStatsPB& stats, bool snapshot = false); -// Get detached tablet stats via `iter`, `iter.next` SHOULD be the first splitted tablet stats KV. -// Return 0 if success, otherwise error. -[[nodiscard]] int get_detached_tablet_stats(RangeGetIterator& iter, TabletStats& detached_stats); +// clang-format off +/** + * Get detached tablet stats via with given stats_kvs + * + * stats_kvs stores the following KVs, see keys.h for more details + * 0x01 "stats" ${instance_id} "tablet" ${table_id} ${index_id} ${partition_id} ${tablet_id} -> TabletStatsPB + * 0x01 "stats" ${instance_id} "tablet" ${table_id} ${index_id} ${partition_id} ${tablet_id} "data_size" -> int64 + * 0x01 "stats" ${instance_id} "tablet" ${table_id} ${index_id} ${partition_id} ${tablet_id} "num_rows" -> int64 + * 0x01 "stats" ${instance_id} "tablet" ${table_id} ${index_id} ${partition_id} ${tablet_id} "num_rowsets" -> int64 + * 0x01 "stats" ${instance_id} "tablet" ${table_id} ${index_id} ${partition_id} ${tablet_id} "num_segments" -> int64 + * + * @param stats_kvs the tablet stats kvs to process, it is in size of 5 or 1 + * @param detached_stats output param for the detached stats + * @return 0 for success otherwise error + */ +[[nodiscard]] int get_detached_tablet_stats(const std::vector>& stats_kvs, + TabletStats& detached_stats); +// clang-format on } // namespace doris::cloud diff --git a/cloud/test/http_encode_key_test.cpp b/cloud/test/http_encode_key_test.cpp index fdb8d76ee1b668..77f800846076a9 100644 --- a/cloud/test/http_encode_key_test.cpp +++ b/cloud/test/http_encode_key_test.cpp @@ -111,383 +111,445 @@ v v v v v struct Input { std::string_view key_type; std::string_view param; - std::string_view key; - std::function gen_value; + std::vector key; + std::function()> gen_value; std::string_view value; }; + // clang-format off static auto test_inputs = std::array { - Input { - "InstanceKey", - "instance_id=gavin-instance", - "0110696e7374616e6365000110676176696e2d696e7374616e63650001", - []() -> std::string { - InstanceInfoPB pb; - pb.set_instance_id("gavin-instance"); - return pb.SerializeAsString(); - }, - R"({"instance_id":"gavin-instance"})", - }, - Input { - "TxnLabelKey", - "instance_id=gavin-instance&db_id=10086&label=test-label", - "011074786e000110676176696e2d696e7374616e636500011074786e5f6c6162656c000112000000000000276610746573742d6c6162656c0001", - []() -> std::string { - TxnLabelPB pb; - pb.add_txn_ids(123456789); - auto val = pb.SerializeAsString(); - MemTxnKv::gen_version_timestamp(123456790, 0, &val); - return val; - }, - R"({"txn_ids":["123456789"]} + Input { + "InstanceKey", + "instance_id=gavin-instance", + {"0110696e7374616e6365000110676176696e2d696e7374616e63650001"}, + []() -> std::vector { + InstanceInfoPB pb; + pb.set_instance_id("gavin-instance"); + return {pb.SerializeAsString()}; + }, + R"({"instance_id":"gavin-instance"})", + }, + Input { + "TxnLabelKey", + "instance_id=gavin-instance&db_id=10086&label=test-label", + {"011074786e000110676176696e2d696e7374616e636500011074786e5f6c6162656c000112000000000000276610746573742d6c6162656c0001"}, + []() -> std::vector { + TxnLabelPB pb; + pb.add_txn_ids(123456789); + auto val = pb.SerializeAsString(); + MemTxnKv::gen_version_timestamp(123456790, 0, &val); + return {val}; + }, + R"({"txn_ids":["123456789"]} txn_id=126419752960)", + }, + Input { + "TxnInfoKey", + "instance_id=gavin-instance&db_id=10086&txn_id=10010", + {"011074786e000110676176696e2d696e7374616e636500011074786e5f696e666f000112000000000000276612000000000000271a"}, + []() -> std::vector { + TxnInfoPB pb; + pb.set_db_id(10086); + pb.set_txn_id(10010); + return {pb.SerializeAsString()}; + }, + R"({"db_id":"10086","txn_id":"10010"})", + }, + Input { + "TxnIndexKey", + "instance_id=gavin-instance&txn_id=10086", + {"011074786e000110676176696e2d696e7374616e636500011074786e5f696e6465780001120000000000002766"}, + []() -> std::vector { + TxnIndexPB pb; + pb.mutable_tablet_index()->set_db_id(10086); + return {pb.SerializeAsString()}; + }, + R"({"tablet_index":{"db_id":"10086"}})", + }, + Input { + "TxnRunningKey", + "instance_id=gavin-instance&db_id=10086&txn_id=10010", + {"011074786e000110676176696e2d696e7374616e636500011074786e5f72756e6e696e67000112000000000000276612000000000000271a"}, + []() -> std::vector { + TxnRunningPB pb; + pb.add_table_ids(10001); + return {pb.SerializeAsString()}; + }, + R"({"table_ids":["10001"]})", + }, + Input { + "PartitionVersionKey", + "instance_id=gavin-instance&db_id=10086&tbl_id=10010&partition_id=10000", + {"011076657273696f6e000110676176696e2d696e7374616e6365000110706172746974696f6e000112000000000000276612000000000000271a120000000000002710"}, + []() -> std::vector { + VersionPB pb; + pb.set_version(10); + return {pb.SerializeAsString()}; + }, + R"({"version":"10"})", + }, + Input { + "TableVersionKey", + "instance_id=gavin-instance&db_id=10086&tbl_id=10010", + {"011076657273696f6e000110676176696e2d696e7374616e63650001107461626c65000112000000000000276612000000000000271a"}, + []() -> std::vector { + VersionPB pb; + pb.set_version(10); + return {pb.SerializeAsString()}; + }, + R"({"version":"10"})", + }, + Input { + "MetaRowsetKey", + "instance_id=gavin-instance&tablet_id=10086&version=10010", + {"01106d657461000110676176696e2d696e7374616e6365000110726f77736574000112000000000000276612000000000000271a"}, + []() -> std::vector { + doris::RowsetMetaCloudPB pb; + pb.set_rowset_id(0); + pb.set_rowset_id_v2("rowset_id_1"); + pb.set_tablet_id(10086); + pb.set_start_version(10010); + pb.set_end_version(10010); + return {pb.SerializeAsString()}; + }, + R"({"rowset_id":"0","tablet_id":"10086","start_version":"10010","end_version":"10010","rowset_id_v2":"rowset_id_1"})", + }, + Input { + "MetaRowsetTmpKey", + "instance_id=gavin-instance&txn_id=10086&tablet_id=10010", + {"01106d657461000110676176696e2d696e7374616e6365000110726f777365745f746d70000112000000000000276612000000000000271a"}, + []() -> std::vector { + doris::RowsetMetaCloudPB pb; + pb.set_rowset_id(0); + pb.set_rowset_id_v2("rowset_id_1"); + pb.set_tablet_id(10010); + pb.set_txn_id(10086); + pb.set_start_version(2); + pb.set_end_version(2); + return {pb.SerializeAsString()}; + }, + R"({"rowset_id":"0","tablet_id":"10010","txn_id":"10086","start_version":"2","end_version":"2","rowset_id_v2":"rowset_id_1"})", + }, + Input { + "MetaTabletKey", + "instance_id=gavin-instance&table_id=10086&index_id=100010&part_id=10000&tablet_id=1008601", + {"01106d657461000110676176696e2d696e7374616e63650001107461626c657400011200000000000027661200000000000186aa1200000000000027101200000000000f63d9"}, + []() -> std::vector { + doris::TabletMetaCloudPB pb; + pb.set_table_id(10086); + pb.set_index_id(100010); + pb.set_partition_id(10000); + pb.set_tablet_id(1008601); + return {pb.SerializeAsString()}; + }, + R"({"table_id":"10086","partition_id":"10000","tablet_id":"1008601","index_id":"100010"})", + }, + Input { + "MetaTabletIdxKey", + "instance_id=gavin-instance&tablet_id=10086", + {"01106d657461000110676176696e2d696e7374616e63650001107461626c65745f696e6465780001120000000000002766"}, + []() -> std::vector { + TabletIndexPB pb; + pb.set_table_id(10006); + pb.set_index_id(100010); + pb.set_partition_id(10000); + pb.set_tablet_id(10086); + return {pb.SerializeAsString()}; + }, + R"({"table_id":"10006","index_id":"100010","partition_id":"10000","tablet_id":"10086"})", + }, + Input { + "RecycleIndexKey", + "instance_id=gavin-instance&index_id=10086", + {"011072656379636c65000110676176696e2d696e7374616e6365000110696e6465780001120000000000002766"}, + []() -> std::vector { + RecycleIndexPB pb; + pb.set_creation_time(12345); + pb.set_table_id(10000); + return {pb.SerializeAsString()}; + }, + R"({"table_id":"10000","creation_time":"12345"})", + }, + Input { + "RecyclePartKey", + "instance_id=gavin-instance&part_id=10086", + {"011072656379636c65000110676176696e2d696e7374616e6365000110706172746974696f6e0001120000000000002766"}, + []() -> std::vector { + RecyclePartitionPB pb; + pb.set_creation_time(12345); + pb.set_table_id(10000); + pb.add_index_id(10001); + return {pb.SerializeAsString()}; + }, + R"({"table_id":"10000","index_id":["10001"],"creation_time":"12345"})", + }, + Input { + "RecycleRowsetKey", + "instance_id=gavin-instance&tablet_id=10086&rowset_id=10010", + {"011072656379636c65000110676176696e2d696e7374616e6365000110726f7773657400011200000000000027661031303031300001"}, + []() -> std::vector { + RecycleRowsetPB pb; + pb.set_creation_time(12345); + auto rs = pb.mutable_rowset_meta(); + rs->set_rowset_id(0); + rs->set_rowset_id_v2("10010"); + rs->set_tablet_id(10086); + return {pb.SerializeAsString()}; + }, + R"({"creation_time":"12345","rowset_meta":{"rowset_id":"0","tablet_id":"10086","rowset_id_v2":"10010"}})", + }, + Input { + "RecycleTxnKey", + "instance_id=gavin-instance&db_id=10086&txn_id=10010", + {"011072656379636c65000110676176696e2d696e7374616e636500011074786e000112000000000000276612000000000000271a"}, + []() -> std::vector { + RecycleTxnPB pb; + pb.set_label("label_1"); + pb.set_creation_time(12345); + return {pb.SerializeAsString()}; + }, + R"({"creation_time":"12345","label":"label_1"})", + }, + Input { // aggregated_stats + full detached_stats, there are 5 KVs in total + "StatsTabletKey", + "instance_id=gavin-instance&table_id=10086&index_id=10010&part_id=10000&tablet_id=1008601", + { + "01107374617473000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63d9", + "01107374617473000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63d910646174615f73697a650001", + "01107374617473000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63d9106e756d5f726f77730001", + "01107374617473000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63d9106e756d5f726f77736574730001", + "01107374617473000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63d9106e756d5f736567730001", + }, + []() -> std::vector { + TabletStatsPB pb; + auto idx = pb.mutable_idx(); + idx->set_table_id(10086); + idx->set_index_id(100010); + idx->set_partition_id(10000); + idx->set_tablet_id(1008601); + pb.set_data_size(1); + pb.set_num_rows(10); + pb.set_num_rowsets(11); + pb.set_num_segments(12); + return {pb.SerializeAsString(), {"\x01\x00\x00\x00\x00\x00\x00\x00",8}, {"\x02\x00\x00\x00\x00\x00\x00\x00",8}, {"\x03\x00\x00\x00\x00\x00\x00\x00",8}, {"\x04\x00\x00\x00\x00\x00\x00\x00",8}}; + }, + R"(aggregated_stats: {"idx":{"table_id":"10086","index_id":"100010","partition_id":"10000","tablet_id":"1008601"},"data_size":"1","num_rows":"10","num_rowsets":"11","num_segments":"12"} +detached_stats: {"data_size":"1","num_rows":"2","num_rowsets":"3","num_segments":"4"} +merged_stats: {"idx":{"table_id":"10086","index_id":"100010","partition_id":"10000","tablet_id":"1008601"},"data_size":"2","num_rows":"12","num_rowsets":"14","num_segments":"16"} +)", + }, + Input { // aggregated_stats + half detached_stats (num_segs == 0, there is num_rowsets detached stats) + "StatsTabletKey", + "instance_id=gavin-instance&table_id=10086&index_id=10010&part_id=10000&tablet_id=1008602", + { + "01107374617473000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63da", + "01107374617473000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63da106e756d5f726f77736574730001", + }, + []() -> std::vector { + TabletStatsPB pb; + auto idx = pb.mutable_idx(); + idx->set_table_id(10086); + idx->set_index_id(100010); + idx->set_partition_id(10000); + idx->set_tablet_id(1008602); + pb.set_data_size(1); + pb.set_num_rows(10); + pb.set_num_rowsets(11); + pb.set_num_segments(12); + return {pb.SerializeAsString(), {"\x03\x00\x00\x00\x00\x00\x00\x00",8}}; + }, + R"(aggregated_stats: {"idx":{"table_id":"10086","index_id":"100010","partition_id":"10000","tablet_id":"1008602"},"data_size":"1","num_rows":"10","num_rowsets":"11","num_segments":"12"} +detached_stats: {"data_size":"0","num_rows":"0","num_rowsets":"3","num_segments":"0"} +merged_stats: {"idx":{"table_id":"10086","index_id":"100010","partition_id":"10000","tablet_id":"1008602"},"data_size":"1","num_rows":"10","num_rowsets":"14","num_segments":"12"} +)", + }, + Input { // aggregated_stats only, the legacy + "StatsTabletKey", + "instance_id=gavin-instance&table_id=10086&index_id=10010&part_id=10000&tablet_id=1008603", + { + "01107374617473000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63db", + }, + []() -> std::vector { + TabletStatsPB pb; + auto idx = pb.mutable_idx(); + idx->set_table_id(10086); + idx->set_index_id(100010); + idx->set_partition_id(10000); + idx->set_tablet_id(1008602); + pb.set_data_size(1); + pb.set_num_rows(10); + pb.set_num_rowsets(11); + pb.set_num_segments(12); + return {pb.SerializeAsString()}; }, - Input { - "TxnInfoKey", - "instance_id=gavin-instance&db_id=10086&txn_id=10010", - "011074786e000110676176696e2d696e7374616e636500011074786e5f696e666f000112000000000000276612000000000000271a", - []() -> std::string { - TxnInfoPB pb; - pb.set_db_id(10086); - pb.set_txn_id(10010); - return pb.SerializeAsString(); - }, - R"({"db_id":"10086","txn_id":"10010"})", - }, - Input { - "TxnIndexKey", - "instance_id=gavin-instance&txn_id=10086", - "011074786e000110676176696e2d696e7374616e636500011074786e5f696e6465780001120000000000002766", - []() -> std::string { - TxnIndexPB pb; - pb.mutable_tablet_index()->set_db_id(10086); - return pb.SerializeAsString(); - }, - R"({"tablet_index":{"db_id":"10086"}})", - }, - Input { - "TxnRunningKey", - "instance_id=gavin-instance&db_id=10086&txn_id=10010", - "011074786e000110676176696e2d696e7374616e636500011074786e5f72756e6e696e67000112000000000000276612000000000000271a", - []() -> std::string { - TxnRunningPB pb; - pb.add_table_ids(10001); - return pb.SerializeAsString(); - }, - R"({"table_ids":["10001"]})", - }, - Input { - "PartitionVersionKey", - "instance_id=gavin-instance&db_id=10086&tbl_id=10010&partition_id=10000", - "011076657273696f6e000110676176696e2d696e7374616e6365000110706172746974696f6e000112000000000000276612000000000000271a120000000000002710", - []() -> std::string { - VersionPB pb; - pb.set_version(10); - return pb.SerializeAsString(); - }, - R"({"version":"10"})", - }, - Input { - "TableVersionKey", - "instance_id=gavin-instance&db_id=10086&tbl_id=10010", - "011076657273696f6e000110676176696e2d696e7374616e63650001107461626c65000112000000000000276612000000000000271a", - []() -> std::string { - VersionPB pb; - pb.set_version(10); - return pb.SerializeAsString(); - }, - R"({"version":"10"})", - }, - Input { - "MetaRowsetKey", - "instance_id=gavin-instance&tablet_id=10086&version=10010", - "01106d657461000110676176696e2d696e7374616e6365000110726f77736574000112000000000000276612000000000000271a", - []() -> std::string { - doris::RowsetMetaCloudPB pb; - pb.set_rowset_id(0); - pb.set_rowset_id_v2("rowset_id_1"); - pb.set_tablet_id(10086); - pb.set_start_version(10010); - pb.set_end_version(10010); - return pb.SerializeAsString(); - }, - R"({"rowset_id":"0","tablet_id":"10086","start_version":"10010","end_version":"10010","rowset_id_v2":"rowset_id_1"})", - }, - Input { - "MetaRowsetTmpKey", - "instance_id=gavin-instance&txn_id=10086&tablet_id=10010", - "01106d657461000110676176696e2d696e7374616e6365000110726f777365745f746d70000112000000000000276612000000000000271a", - []() -> std::string { - doris::RowsetMetaCloudPB pb; - pb.set_rowset_id(0); - pb.set_rowset_id_v2("rowset_id_1"); - pb.set_tablet_id(10010); - pb.set_txn_id(10086); - pb.set_start_version(2); - pb.set_end_version(2); - return pb.SerializeAsString(); - }, - R"({"rowset_id":"0","tablet_id":"10010","txn_id":"10086","start_version":"2","end_version":"2","rowset_id_v2":"rowset_id_1"})", - }, - Input { - "MetaTabletKey", - "instance_id=gavin-instance&table_id=10086&index_id=100010&part_id=10000&tablet_id=1008601", - "01106d657461000110676176696e2d696e7374616e63650001107461626c657400011200000000000027661200000000000186aa1200000000000027101200000000000f63d9", - []() -> std::string { - doris::TabletMetaCloudPB pb; - pb.set_table_id(10086); - pb.set_index_id(100010); - pb.set_partition_id(10000); - pb.set_tablet_id(1008601); - return pb.SerializeAsString(); - }, - R"({"table_id":"10086","partition_id":"10000","tablet_id":"1008601","index_id":"100010"})", - }, - Input { - "MetaTabletIdxKey", - "instance_id=gavin-instance&tablet_id=10086", - "01106d657461000110676176696e2d696e7374616e63650001107461626c65745f696e6465780001120000000000002766", - []() -> std::string { - TabletIndexPB pb; - pb.set_table_id(10006); - pb.set_index_id(100010); - pb.set_partition_id(10000); - pb.set_tablet_id(10086); - return pb.SerializeAsString(); - }, - R"({"table_id":"10006","index_id":"100010","partition_id":"10000","tablet_id":"10086"})", - }, - Input { - "RecycleIndexKey", - "instance_id=gavin-instance&index_id=10086", - "011072656379636c65000110676176696e2d696e7374616e6365000110696e6465780001120000000000002766", - []() -> std::string { - RecycleIndexPB pb; - pb.set_creation_time(12345); - pb.set_table_id(10000); - return pb.SerializeAsString(); - }, - R"({"table_id":"10000","creation_time":"12345"})", - }, - Input { - "RecyclePartKey", - "instance_id=gavin-instance&part_id=10086", - "011072656379636c65000110676176696e2d696e7374616e6365000110706172746974696f6e0001120000000000002766", - []() -> std::string { - RecyclePartitionPB pb; - pb.set_creation_time(12345); - pb.set_table_id(10000); - pb.add_index_id(10001); - return pb.SerializeAsString(); - }, - R"({"table_id":"10000","index_id":["10001"],"creation_time":"12345"})", - }, - Input { - "RecycleRowsetKey", - "instance_id=gavin-instance&tablet_id=10086&rowset_id=10010", - "011072656379636c65000110676176696e2d696e7374616e6365000110726f7773657400011200000000000027661031303031300001", - []() -> std::string { - RecycleRowsetPB pb; - pb.set_creation_time(12345); - auto rs = pb.mutable_rowset_meta(); - rs->set_rowset_id(0); - rs->set_rowset_id_v2("10010"); - rs->set_tablet_id(10086); - return pb.SerializeAsString(); - }, - R"({"creation_time":"12345","rowset_meta":{"rowset_id":"0","tablet_id":"10086","rowset_id_v2":"10010"}})", - }, - Input { - "RecycleTxnKey", - "instance_id=gavin-instance&db_id=10086&txn_id=10010", - "011072656379636c65000110676176696e2d696e7374616e636500011074786e000112000000000000276612000000000000271a", - []() -> std::string { - RecycleTxnPB pb; - pb.set_label("label_1"); - pb.set_creation_time(12345); - return pb.SerializeAsString(); - }, - R"({"creation_time":"12345","label":"label_1"})", - }, - Input { - "StatsTabletKey", - "instance_id=gavin-instance&table_id=10086&index_id=10010&part_id=10000&tablet_id=1008601", - "01107374617473000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63d9", - []() -> std::string { - TabletStatsPB pb; - auto idx = pb.mutable_idx(); - idx->set_table_id(10086); - idx->set_index_id(100010); - idx->set_partition_id(10000); - idx->set_tablet_id(1008601); - pb.set_num_rowsets(10); - return pb.SerializeAsString(); - }, - R"({"idx":{"table_id":"10086","index_id":"100010","partition_id":"10000","tablet_id":"1008601"},"data_size":"0","num_rows":"0","num_rowsets":"10","num_segments":"0"})", - }, - Input { - "JobTabletKey", - "instance_id=gavin-instance&table_id=10086&index_id=10010&part_id=10000&tablet_id=1008601", - "01106a6f62000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63d9", - []() -> std::string { - TabletJobInfoPB pb; - auto idx = pb.mutable_idx(); - idx->set_table_id(10086); - idx->set_index_id(100010); - idx->set_partition_id(10000); - idx->set_tablet_id(1008601); - auto c = pb.add_compaction(); - c->set_id("compaction_1"); - return pb.SerializeAsString(); - }, - R"({"idx":{"table_id":"10086","index_id":"100010","partition_id":"10000","tablet_id":"1008601"},"compaction":[{"id":"compaction_1"}]})", - }, - Input { - "CopyJobKey", - "instance_id=gavin-instance&stage_id=10086&table_id=10010©_id=10000&group_id=1008601", - "0110636f7079000110676176696e2d696e7374616e63650001106a6f620001103130303836000112000000000000271a10313030303000011200000000000f63d9", - []() -> std::string { - CopyJobPB pb; - pb.set_stage_type(StagePB::EXTERNAL); - pb.set_start_time_ms(12345); - return pb.SerializeAsString(); - }, - R"({"stage_type":"EXTERNAL","start_time_ms":"12345"})", - }, - Input { - "CopyFileKey", - "instance_id=gavin-instance&stage_id=10086&table_id=10010&obj_key=10000&obj_etag=1008601", - "0110636f7079000110676176696e2d696e7374616e63650001106c6f6164696e675f66696c650001103130303836000112000000000000271a103130303030000110313030383630310001", - []() -> std::string { - CopyFilePB pb; - pb.set_copy_id("copy_id_1"); - pb.set_group_id(10000); - return pb.SerializeAsString(); - }, - R"({"copy_id":"copy_id_1","group_id":10000})", - }, - Input { - "RecycleStageKey", - "instance_id=gavin-instance&stage_id=10086", - "011072656379636c65000110676176696e2d696e7374616e6365000110737461676500011031303038360001", - []() -> std::string { - RecycleStagePB pb; - pb.set_instance_id("gavin-instance"); - pb.set_reason("reason"); - return pb.SerializeAsString(); - }, - R"({"instance_id":"gavin-instance","reason":"reason"})", - }, - Input { - "JobRecycleKey", - "instance_id=gavin-instance", - "01106a6f62000110676176696e2d696e7374616e6365000110636865636b0001", - []() -> std::string { - JobRecyclePB pb; - pb.set_instance_id("gavin-instance"); - pb.set_ip_port("host_1"); - return pb.SerializeAsString(); - }, - R"({"instance_id":"gavin-instance","ip_port":"host_1"})", - }, - Input { - "MetaSchemaKey", - "instance_id=gavin-instance&index_id=10086&schema_version=10010", - "01106d657461000110676176696e2d696e7374616e6365000110736368656d61000112000000000000276612000000000000271a", - []() -> std::string { - doris::TabletSchemaCloudPB pb; - pb.set_schema_version(10010); - auto col = pb.add_column(); - col->set_unique_id(6789); - col->set_name("col_1"); - col->set_type("INT"); - return pb.SerializeAsString(); - }, - R"({"column":[{"unique_id":6789,"name":"col_1","type":"INT"}],"schema_version":10010})", - }, - Input { - "MetaDeleteBitmap", - "instance_id=gavin-instance&tablet_id=10086&rowest_id=10010&version=10000&seg_id=1008601", - "01106d657461000110676176696e2d696e7374616e636500011064656c6574655f6269746d6170000112000000000000276610313030313000011200000000000027101200000000000f63d9", - []() -> std::string { - return "abcdefg"; - }, - "61626364656667", - }, - Input { - "MetaDeleteBitmapUpdateLock", - "instance_id=gavin-instance&table_id=10086&partition_id=10010", - "01106d657461000110676176696e2d696e7374616e636500011064656c6574655f6269746d61705f6c6f636b000112000000000000276612000000000000271a", - []() -> std::string { - DeleteBitmapUpdateLockPB pb; - pb.set_lock_id(12345); - pb.add_initiators(114115); - return pb.SerializeAsString(); - }, - R"({"lock_id":"12345","initiators":["114115"]})", - }, - Input { - "MetaPendingDeleteBitmap", - "instance_id=gavin-instance&tablet_id=10086", - "01106d657461000110676176696e2d696e7374616e636500011064656c6574655f6269746d61705f70656e64696e670001120000000000002766", - []() -> std::string { - PendingDeleteBitmapPB pb; - pb.add_delete_bitmap_keys("key_1"); - return pb.SerializeAsString(); - }, - R"({"delete_bitmap_keys":["a2V5XzE="]})", - }, - Input { - "RLJobProgressKey", - "instance_id=gavin-instance&db_id=10086&job_id=10010", - "01106a6f62000110676176696e2d696e7374616e6365000110726f7574696e655f6c6f61645f70726f6772657373000112000000000000276612000000000000271a", - []() -> std::string { - RoutineLoadProgressPB pb; - auto map = pb.mutable_partition_to_offset(); - map->insert({1000, 1234}); - return pb.SerializeAsString(); - }, - R"({"partition_to_offset":{"1000":"1234"}})", - }, - Input { - "MetaServiceRegistryKey", - "", - "021073797374656d0001106d6574612d7365727669636500011072656769737472790001", - []() -> std::string { - ServiceRegistryPB pb; - auto i = pb.add_items(); - i->set_host("host_1"); - i->set_ctime_ms(123456); - return pb.SerializeAsString(); - }, - R"({"items":[{"ctime_ms":"123456","host":"host_1"}]})", - }, - Input { - "MetaServiceArnInfoKey", - "", - "021073797374656d0001106d6574612d7365727669636500011061726e5f696e666f0001", - []() -> std::string { - RamUserPB pb; - pb.set_user_id("user_1"); - pb.set_ak("ak"); - pb.set_sk("sk"); - return pb.SerializeAsString(); - }, - R"({"user_id":"user_1","ak":"ak","sk":"sk"})", - }, - Input { - "MetaServiceEncryptionKey", - "", - "021073797374656d0001106d6574612d73657276696365000110656e6372797074696f6e5f6b65795f696e666f0001", - []() -> std::string { - EncryptionKeyInfoPB pb; - auto i = pb.add_items(); - i->set_key_id(23456); - i->set_key("key_1"); - return pb.SerializeAsString(); - }, - R"({"items":[{"key_id":"23456","key":"key_1"}]})", + R"(aggregated_stats: {"idx":{"table_id":"10086","index_id":"100010","partition_id":"10000","tablet_id":"1008602"},"data_size":"1","num_rows":"10","num_rowsets":"11","num_segments":"12"} +detached_stats: {"data_size":"0","num_rows":"0","num_rowsets":"0","num_segments":"0"} +merged_stats: {"idx":{"table_id":"10086","index_id":"100010","partition_id":"10000","tablet_id":"1008602"},"data_size":"1","num_rows":"10","num_rowsets":"11","num_segments":"12"} +)", + }, + Input { + "JobTabletKey", + "instance_id=gavin-instance&table_id=10086&index_id=10010&part_id=10000&tablet_id=1008601", + {"01106a6f62000110676176696e2d696e7374616e63650001107461626c6574000112000000000000276612000000000000271a1200000000000027101200000000000f63d9"}, + []() -> std::vector { + TabletJobInfoPB pb; + auto idx = pb.mutable_idx(); + idx->set_table_id(10086); + idx->set_index_id(100010); + idx->set_partition_id(10000); + idx->set_tablet_id(1008601); + auto c = pb.add_compaction(); + c->set_id("compaction_1"); + return {pb.SerializeAsString()}; }, + R"({"idx":{"table_id":"10086","index_id":"100010","partition_id":"10000","tablet_id":"1008601"},"compaction":[{"id":"compaction_1"}]})", + }, + Input { + "CopyJobKey", + "instance_id=gavin-instance&stage_id=10086&table_id=10010©_id=10000&group_id=1008601", + {"0110636f7079000110676176696e2d696e7374616e63650001106a6f620001103130303836000112000000000000271a10313030303000011200000000000f63d9"}, + []() -> std::vector { + CopyJobPB pb; + pb.set_stage_type(StagePB::EXTERNAL); + pb.set_start_time_ms(12345); + return {pb.SerializeAsString()}; + }, + R"({"stage_type":"EXTERNAL","start_time_ms":"12345"})", + }, + Input { + "CopyFileKey", + "instance_id=gavin-instance&stage_id=10086&table_id=10010&obj_key=10000&obj_etag=1008601", + {"0110636f7079000110676176696e2d696e7374616e63650001106c6f6164696e675f66696c650001103130303836000112000000000000271a103130303030000110313030383630310001"}, + []() -> std::vector { + CopyFilePB pb; + pb.set_copy_id("copy_id_1"); + pb.set_group_id(10000); + return {pb.SerializeAsString()}; + }, + R"({"copy_id":"copy_id_1","group_id":10000})", + }, + Input { + "RecycleStageKey", + "instance_id=gavin-instance&stage_id=10086", + {"011072656379636c65000110676176696e2d696e7374616e6365000110737461676500011031303038360001"}, + []() -> std::vector { + RecycleStagePB pb; + pb.set_instance_id("gavin-instance"); + pb.set_reason("reason"); + return {pb.SerializeAsString()}; + }, + R"({"instance_id":"gavin-instance","reason":"reason"})", + }, + Input { + "JobRecycleKey", + "instance_id=gavin-instance", + {"01106a6f62000110676176696e2d696e7374616e6365000110636865636b0001"}, + []() -> std::vector { + JobRecyclePB pb; + pb.set_instance_id("gavin-instance"); + pb.set_ip_port("host_1"); + return {pb.SerializeAsString()}; + }, + R"({"instance_id":"gavin-instance","ip_port":"host_1"})", + }, + Input { + "MetaSchemaKey", + "instance_id=gavin-instance&index_id=10086&schema_version=10010", + {"01106d657461000110676176696e2d696e7374616e6365000110736368656d61000112000000000000276612000000000000271a"}, + []() -> std::vector { + doris::TabletSchemaCloudPB pb; + pb.set_schema_version(10010); + auto col = pb.add_column(); + col->set_unique_id(6789); + col->set_name("col_1"); + col->set_type("INT"); + return {pb.SerializeAsString()}; + }, + R"({"column":[{"unique_id":6789,"name":"col_1","type":"INT"}],"schema_version":10010})", + }, + Input { + "MetaDeleteBitmap", + "instance_id=gavin-instance&tablet_id=10086&rowest_id=10010&version=10000&seg_id=1008601", + {"01106d657461000110676176696e2d696e7374616e636500011064656c6574655f6269746d6170000112000000000000276610313030313000011200000000000027101200000000000f63d9"}, + []() -> std::vector { + return {"abcdefg"}; + }, + "61626364656667", + }, + Input { + "MetaDeleteBitmapUpdateLock", + "instance_id=gavin-instance&table_id=10086&partition_id=10010", + {"01106d657461000110676176696e2d696e7374616e636500011064656c6574655f6269746d61705f6c6f636b000112000000000000276612000000000000271a"}, + []() -> std::vector { + DeleteBitmapUpdateLockPB pb; + pb.set_lock_id(12345); + pb.add_initiators(114115); + return {pb.SerializeAsString()}; + }, + R"({"lock_id":"12345","initiators":["114115"]})", + }, + Input { + "MetaPendingDeleteBitmap", + "instance_id=gavin-instance&tablet_id=10086", + {"01106d657461000110676176696e2d696e7374616e636500011064656c6574655f6269746d61705f70656e64696e670001120000000000002766"}, + []() -> std::vector { + PendingDeleteBitmapPB pb; + pb.add_delete_bitmap_keys("key_1"); + return {pb.SerializeAsString()}; + }, + R"({"delete_bitmap_keys":["a2V5XzE="]})", + }, + Input { + "RLJobProgressKey", + "instance_id=gavin-instance&db_id=10086&job_id=10010", + {"01106a6f62000110676176696e2d696e7374616e6365000110726f7574696e655f6c6f61645f70726f6772657373000112000000000000276612000000000000271a"}, + []() -> std::vector { + RoutineLoadProgressPB pb; + auto map = pb.mutable_partition_to_offset(); + map->insert({1000, 1234}); + return {pb.SerializeAsString()}; + }, + R"({"partition_to_offset":{"1000":"1234"}})", + }, + Input { + "MetaServiceRegistryKey", + "", + {"021073797374656d0001106d6574612d7365727669636500011072656769737472790001"}, + []() -> std::vector { + ServiceRegistryPB pb; + auto i = pb.add_items(); + i->set_host("host_1"); + i->set_ctime_ms(123456); + return {pb.SerializeAsString()}; + }, + R"({"items":[{"ctime_ms":"123456","host":"host_1"}]})", + }, + Input { + "MetaServiceArnInfoKey", + "", + {"021073797374656d0001106d6574612d7365727669636500011061726e5f696e666f0001"}, + []() -> std::vector { + RamUserPB pb; + pb.set_user_id("user_1"); + pb.set_ak("ak"); + pb.set_sk("sk"); + return {pb.SerializeAsString()}; + }, + R"({"user_id":"user_1","ak":"ak","sk":"sk"})", + }, + Input { + "MetaServiceEncryptionKey", + "", + {"021073797374656d0001106d6574612d73657276696365000110656e6372797074696f6e5f6b65795f696e666f0001"}, + []() -> std::vector { + EncryptionKeyInfoPB pb; + auto i = pb.add_items(); + i->set_key_id(23456); + i->set_key("key_1"); + return {pb.SerializeAsString()}; + }, + R"({"items":[{"key_id":"23456","key":"key_1"}]})", + }, }; // clang-format on @@ -504,8 +566,8 @@ TEST(HttpEncodeKeyTest, process_http_encode_key_test_cover_all_template) { EXPECT_EQ(uri.SetHttpURL(url.str()), 0); // clear and set query string auto http_res = process_http_encode_key(uri); EXPECT_EQ(http_res.status_code, 200); - EXPECT_NE(http_res.body.find(input.key), std::string::npos) - << "real full text: " << http_res.body << "\nexpect contains: " << input.key; + EXPECT_NE(http_res.body.find(input.key[0]), std::string::npos) + << "real full text: " << http_res.body << "\nexpect contains: " << input.key[0]; } } @@ -516,9 +578,12 @@ TEST(HttpGetValueTest, process_http_get_value_test_cover_all_template) { std::unique_ptr txn; ASSERT_EQ(txn_kv->create_txn(&txn), TxnErrorCode::TXN_OK); for (auto&& input : test_inputs) { - auto key = unhex(input.key); - auto val = input.gen_value(); - txn->put(key, val); + auto keys = input.key; + auto vals = input.gen_value(); + EXPECT_EQ(keys.size(), vals.size()) << input.key_type; + for (int i = 0; i < keys.size(); ++i) { + txn->put(unhex(keys[i]), vals[i]); + } } ASSERT_EQ(txn->commit(), TxnErrorCode::TXN_OK); @@ -530,7 +595,7 @@ TEST(HttpGetValueTest, process_http_get_value_test_cover_all_template) { url << "localhost:5000/MetaService/http?key_type=" << input.key_type; // Key mode if (!use_param) { - url << "&key=" << input.key; + url << "&key=" << input.key[0]; } else if (!input.param.empty()) { url << "&" << input.param; } @@ -554,31 +619,4 @@ TEST(HttpGetValueTest, process_http_get_value_test_cover_all_template) { // std::cout << http_res.body << std::endl; EXPECT_EQ(http_res.body, input.value); } - - // Test splitted tablet stats KV - ASSERT_EQ(txn_kv->create_txn(&txn), TxnErrorCode::TXN_OK); - - TabletStatsPB stats; - stats.set_cumulative_compaction_cnt(10); - stats.set_num_rowsets(100); - auto key = stats_tablet_key({"gavin-instance", 10001, 10002, 10003, 10004}); - txn->put(key, stats.SerializeAsString()); - std::string num_rowsets_key; - stats_tablet_num_rowsets_key({"gavin-instance", 10001, 10002, 10003, 10004}, &num_rowsets_key); - txn->atomic_add(num_rowsets_key, 300); - ASSERT_EQ(txn->commit(), TxnErrorCode::TXN_OK); - - Input input { - .key_type = "StatsTabletKey", - .param = "instance_id=gavin-instance&table_id=10001&index_id=10002&part_id=10003&" - "tablet_id=" - "10004", - .value = - R"({"data_size":"0","num_rows":"0","num_rowsets":"400","num_segments":"0","cumulative_compaction_cnt":"10"})", - }; - auto url = gen_url(input, true); - ASSERT_EQ(uri.SetHttpURL(url), 0); // clear and set query string - auto http_res = process_http_get_value(txn_kv.get(), uri); - EXPECT_EQ(http_res.status_code, 200); - EXPECT_EQ(http_res.body, input.value); } From 5e9d9430e1847dfb5d94a1d544622099a86bc0bc Mon Sep 17 00:00:00 2001 From: zzzxl <33418555+zzzxl1993@users.noreply.github.com> Date: Wed, 11 Sep 2024 14:12:42 +0800 Subject: [PATCH 169/199] [Feature-WIP](inverted index) Add boolean query functionality (#40230) ## Proposed changes 1. BooleanQuery usage: BooleanQuery::Builder builder; builder.set_op(OperatorType::OP_AND); builder.add(term_query); builder.add(term_query); builder.add(term_query); auto boolean_query = builder.build(); --- .../inverted_index/query_v2/boolean_query.cpp | 91 +++++++++ .../inverted_index/query_v2/boolean_query.h | 56 ++++++ .../query_v2/conjunction_op.cpp | 94 +++++++++ .../inverted_index/query_v2/conjunction_op.h | 46 +++++ .../query_v2/disjunction_op.cpp | 86 ++++++++ .../inverted_index/query_v2/disjunction_op.h | 59 ++++++ .../inverted_index/query_v2/factory.cpp | 36 ++++ .../inverted_index/query_v2/factory.h | 41 ++++ .../inverted_index/query_v2/factory.inline.h | 47 +++++ .../segment_v2/inverted_index/query_v2/node.h | 128 ++++++++++++ .../inverted_index/query_v2/operator.h | 45 +++++ .../inverted_index/query_v2/phrase_query.h | 38 ++++ .../inverted_index/query_v2/query.h | 52 +++++ .../inverted_index/query_v2/roaring_query.cpp | 25 +++ .../inverted_index/query_v2/roaring_query.h | 63 ++++++ .../inverted_index/query_v2/term_query.cpp | 39 ++++ .../inverted_index/query_v2/term_query.h | 44 +++++ .../inverted_index/query_v2/query_test.cpp | 183 ++++++++++++++++++ 18 files changed, 1173 insertions(+) create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.cpp create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.h create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.cpp create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.h create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.cpp create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.h create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.cpp create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.h create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.inline.h create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/node.h create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/operator.h create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/phrase_query.h create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/query.h create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.cpp create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.h create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/term_query.cpp create mode 100644 be/src/olap/rowset/segment_v2/inverted_index/query_v2/term_query.h create mode 100644 be/test/olap/rowset/segment_v2/inverted_index/query_v2/query_test.cpp diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.cpp b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.cpp new file mode 100644 index 00000000000000..d503a118834dfd --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.cpp @@ -0,0 +1,91 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.h" + +#include "olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/factory.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/node.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/operator.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/term_query.h" + +namespace doris::segment_v2::idx_query_v2 { + +Status BooleanQuery::Builder::set_op(OperatorType type) { + _op = DORIS_TRY(OperatorFactory::create(type)); + return Status::OK(); +} + +Status BooleanQuery::Builder::add(const Node& clause) { + return visit_node(_op, OpAddChild {}, clause); +} + +Result BooleanQuery::Builder::build() { + auto query_ptr = std::make_shared(std::move(_op)); + auto status = visit_node(query_ptr->_op, OpInit {}); + if (!status.ok()) { + return ResultError(std::move(status)); + } + return query_ptr; +} + +BooleanQuery::BooleanQuery(Node op) : _op(std::move(op)) {} + +void BooleanQuery::execute(const std::shared_ptr& result) { + bool use_skip = should_use_skip(); + + if (use_skip) { + search_by_skiplist(result); + } else { + search_by_bitmap(result); + } +} + +int32_t BooleanQuery::doc_id() const { + return visit_node(_op, DocId {}); +} + +int32_t BooleanQuery::next_doc() const { + return visit_node(_op, NextDoc {}); +} + +int32_t BooleanQuery::advance(int32_t target) const { + return visit_node(_op, Advance {}, target); +} + +int64_t BooleanQuery::cost() const { + return visit_node(_op, Cost {}); +} + +bool BooleanQuery::should_use_skip() { + return visit_node(_op, Cost {}); +} + +void BooleanQuery::search_by_skiplist(const std::shared_ptr& result) { + auto _next_doc = [](const auto& node) { return node->next_doc(); }; + + int32_t doc = 0; + while ((doc = visit_node(_op, _next_doc)) != INT32_MAX) { + result->add(doc); + } +} + +void BooleanQuery::search_by_bitmap(const std::shared_ptr& result) {} + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.h new file mode 100644 index 00000000000000..c66bf1d3536cfb --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.h @@ -0,0 +1,56 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include "olap/rowset/segment_v2/inverted_index/query_v2/node.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/query.h" + +namespace doris::segment_v2::idx_query_v2 { + +enum class OperatorType; +class BooleanQuery : public Query { +public: + BooleanQuery(Node op); + ~BooleanQuery() override = default; + + void execute(const std::shared_ptr& result); + + int32_t doc_id() const; + int32_t next_doc() const; + int32_t advance(int32_t target) const; + int64_t cost() const; + + class Builder { + public: + Status set_op(OperatorType type); + Status add(const Node& clause); + Result build(); + + private: + Node _op; + }; + +private: + bool should_use_skip(); + void search_by_skiplist(const std::shared_ptr& result); + void search_by_bitmap(const std::shared_ptr& result); + + Node _op; +}; + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.cpp b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.cpp new file mode 100644 index 00000000000000..4f32e1d84457ac --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.cpp @@ -0,0 +1,94 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.h" + +#include "olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/term_query.h" + +namespace doris::segment_v2::idx_query_v2 { + +Status ConjunctionOp::init() { + if (_childrens.size() < 2) { + return Status::InternalError("_childrens must contain more than 2 elements."); + } + + std::sort(_childrens.begin(), _childrens.end(), [](const Node& a, const Node& b) { + return visit_node(a, Cost {}) < visit_node(b, Cost {}); + }); + + _lead1 = _childrens.data(); + _lead2 = _childrens.data() + 1; + + for (int32_t i = 2; i < _childrens.size(); i++) { + _others.push_back(_childrens.data() + i); + } + + return Status::OK(); +} + +int32_t ConjunctionOp::doc_id() const { + return visit_node(*_lead1, DocId {}); +} + +int32_t ConjunctionOp::next_doc() const { + return do_next(visit_node(*_lead1, NextDoc {})); +} + +int32_t ConjunctionOp::advance(int32_t target) const { + return do_next(visit_node(*_lead1, Advance {}, target)); +} + +int32_t ConjunctionOp::do_next(int32_t doc) const { + while (true) { + assert(doc == visit_node(*_lead1, DocId {})); + + int32_t next2 = visit_node(*_lead2, Advance {}, doc); + if (next2 != doc) { + doc = visit_node(*_lead1, Advance {}, next2); + if (next2 != doc) { + continue; + } + } + + bool advance_head = false; + for (const auto& other : _others) { + int32_t other_doc_id = visit_node(*other, DocId {}); + if (other_doc_id < doc) { + int32_t next = visit_node(*other, Advance {}, doc); + if (next > doc) { + doc = visit_node(*_lead1, Advance {}, next); + advance_head = true; + break; + } + } + } + if (advance_head) { + continue; + } + + return doc; + } +} + +int64_t ConjunctionOp::cost() const { + return visit_node(*_lead1, Cost {}); +} + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.h new file mode 100644 index 00000000000000..37f0eea0a63cae --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.h @@ -0,0 +1,46 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include "olap/rowset/segment_v2/inverted_index/query_v2/operator.h" + +namespace doris::segment_v2::idx_query_v2 { + +class ConjunctionOp : public Operator { +public: + ConjunctionOp() = default; + ~ConjunctionOp() override = default; + + Status init(); + + int32_t doc_id() const; + int32_t next_doc() const; + int32_t advance(int32_t target) const; + int64_t cost() const; + +private: + int32_t do_next(int32_t doc) const; + + const Node* _lead1 = nullptr; + const Node* _lead2 = nullptr; + std::vector _others; +}; + +using ConjunctionOpPtr = std::shared_ptr; + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.cpp b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.cpp new file mode 100644 index 00000000000000..e4f196146f9af8 --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.cpp @@ -0,0 +1,86 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.h" + +#include "olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/node.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/term_query.h" + +namespace doris::segment_v2::idx_query_v2 { + +DisjunctionOp::~DisjunctionOp() { + while (!_pq.empty()) { + auto* w = _pq.top(); + if (w != nullptr) { + delete w; + w = nullptr; + } + _pq.pop(); + } +} + +Status DisjunctionOp::init() { + if (_childrens.size() < 2) { + return Status::InternalError("_childrens must contain more than 2 elements."); + } + + for (const auto& child : _childrens) { + auto* w = new DisiWrapper(); + w->_iter = &child; + w->_cost = visit_node(*w->_iter, Cost {}); + this->_cost += w->_cost; + _pq.push(w); + } + + return Status::OK(); +} + +int32_t DisjunctionOp::doc_id() const { + return visit_node(*_pq.top()->_iter, DocId {}); +} + +int32_t DisjunctionOp::next_doc() const { + auto* top = _pq.top(); + int32_t doc = top->_doc; + do { + _pq.pop(); + top->_doc = visit_node(*top->_iter, NextDoc {}); + _pq.push(top); + top = _pq.top(); + } while (top->_doc == doc); + return top->_doc; +} + +int32_t DisjunctionOp::advance(int32_t target) const { + auto* top = _pq.top(); + do { + _pq.pop(); + top->_doc = visit_node(*top->_iter, Advance {}, target); + _pq.push(top); + top = _pq.top(); + } while (top->_doc < target); + return top->_doc; +} + +int64_t DisjunctionOp::cost() const { + return _cost; +} + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.h new file mode 100644 index 00000000000000..7abbef45efa1b0 --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.h @@ -0,0 +1,59 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include + +#include "olap/rowset/segment_v2/inverted_index/query_v2/operator.h" + +namespace doris::segment_v2::idx_query_v2 { + +class DisjunctionOp : public Operator { +public: + DisjunctionOp() = default; + ~DisjunctionOp() override; + + Status init(); + + int32_t doc_id() const; + int32_t next_doc() const; + int32_t advance(int32_t target) const; + int64_t cost() const; + +private: + class DisiWrapper { + public: + DisiWrapper() = default; + ~DisiWrapper() = default; + + int32_t _doc = -1; + int64_t _cost = 0; + const Node* _iter = nullptr; + }; + + struct CompareDisiWrapper { + bool operator()(DisiWrapper* lhs, DisiWrapper* rhs) const { return lhs->_doc > rhs->_doc; } + }; + + int64_t _cost = 0; + mutable std::priority_queue, CompareDisiWrapper> _pq; +}; + +using DisjunctionOpPtr = std::shared_ptr; + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.cpp b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.cpp new file mode 100644 index 00000000000000..710b4b7ed54f85 --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.cpp @@ -0,0 +1,36 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "olap/rowset/segment_v2/inverted_index/query_v2/factory.h" + +#include "olap/rowset/segment_v2/inverted_index/query_v2/conjunction_op.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/disjunction_op.h" + +namespace doris::segment_v2::idx_query_v2 { + +Result OperatorFactory::create(OperatorType query_type) { + switch (query_type) { + case OperatorType::OP_AND: + return std::make_shared(); + case OperatorType::OP_OR: + return std::make_shared(); + default: + return ResultError(Status::InternalError("failed create operator: {}", query_type)); + } +} + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.h new file mode 100644 index 00000000000000..5432a10bbb6e88 --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.h @@ -0,0 +1,41 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include "olap/rowset/segment_v2/inverted_index/query_v2/node.h" + +namespace doris::segment_v2::idx_query_v2 { + +enum class QueryType; +enum class OperatorType; + +class Operator; +using OperatorPtr = std::shared_ptr; + +class QueryFactory { +public: + template + static Result create(QueryType query_type, Args&&... args); +}; + +class OperatorFactory { +public: + static Result create(OperatorType query_type); +}; + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.inline.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.inline.h new file mode 100644 index 00000000000000..fff60cc0626e3a --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/factory.inline.h @@ -0,0 +1,47 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "factory.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/term_query.h" + +namespace doris::segment_v2::idx_query_v2 { + +template +Result QueryFactory::create(QueryType query_type, Args&&... args) { + if constexpr (sizeof...(args) == 1) { + switch (query_type) { + case QueryType::ROARING_QUERY: + return std::make_shared(std::forward(args)...); + default: + return ResultError(Status::InternalError("failed create query: {}", query_type)); + } + } else if (sizeof...(args) == 3) { + switch (query_type) { + case QueryType::TERM_QUERY: + return std::make_shared(std::forward(args)...); + case QueryType::PHRASE_QUERY: + // return std::make_shared(std::forward(args)...); + default: + return ResultError(Status::InternalError("failed create query: {}", query_type)); + } + } else { + return ResultError(Status::InternalError("Invalid arguments")); + } +} + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/node.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/node.h new file mode 100644 index 00000000000000..2e70f50548ab72 --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/node.h @@ -0,0 +1,128 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include +#include +#include +#include + +#include "common/status.h" + +namespace doris::segment_v2::idx_query_v2 { + +class ConjunctionOp; +class DisjunctionOp; +class BooleanQuery; +class TermQuery; +class RoaringQuery; + +using ConjunctionOpPtr = std::shared_ptr; +using DisjunctionOpPtr = std::shared_ptr; +using TermQueryPtr = std::shared_ptr; +using RoaringQueryPtr = std::shared_ptr; +using BooleanQueryPtr = std::shared_ptr; + +using Node = std::variant; + +template +constexpr bool always_false = false; + +template +auto visit_node(NodeType&& node, Func&& func, Args&&... args) { + using DecayedNodeType = std::remove_const_t>; + using NodeBaseType = std::remove_pointer_t; + + static_assert(!std::is_pointer_v, "NodeType must not be a pointer"); + static_assert(std::is_same_v, Node>, "NodeType must be Node"); + + return std::visit( + [&](const auto& opOrClause) { + return std::forward(func)(opOrClause, std::forward(args)...); + }, + node); +} + +template +concept IsOpPtr = std::is_same_v || std::is_same_v; + +template +concept IsQueryPtr = std::is_same_v || std::is_same_v || + std::is_same_v; + +struct OpAddChild { + template + Status operator()(const T& op, const Node& clause) const { + if constexpr (IsOpPtr) { + return op->add_child(clause); + } else { + return Status::OK(); + } + } +}; + +struct OpInit { + template + Status operator()(const T& op) const { + if constexpr (IsOpPtr) { + return op->init(); + } else { + return Status::OK(); + } + } +}; + +struct QueryExecute { + template + void operator()(const T& query, const std::shared_ptr& result) const { + if constexpr (IsQueryPtr) { + return query->execute(result); + } + } +}; + +struct DocId { + template + int32_t operator()(const T& node) const { + return node->doc_id(); + } +}; + +struct NextDoc { + template + int32_t operator()(const T& node) const { + return node->next_doc(); + } +}; + +struct Advance { + template + int32_t operator()(const T& node, int32_t target) const { + return node->advance(target); + } +}; + +struct Cost { + template + int64_t operator()(const T& node) const { + return node->cost(); + } +}; + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/operator.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/operator.h new file mode 100644 index 00000000000000..47eeaf3e1d76eb --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/operator.h @@ -0,0 +1,45 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include + +#include "olap/rowset/segment_v2/inverted_index/query_v2/node.h" + +namespace doris::segment_v2::idx_query_v2 { + +enum class OperatorType { OP_AND = 0, OP_OR }; + +class Operator; +using OperatorPtr = std::shared_ptr; + +class Operator { +public: + Operator() = default; + virtual ~Operator() = default; + + Status add_child(const Node& clause) { + _childrens.emplace_back(clause); + return Status::OK(); + } + +protected: + std::vector _childrens; +}; + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/phrase_query.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/phrase_query.h new file mode 100644 index 00000000000000..fc9e54e498bc7e --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/phrase_query.h @@ -0,0 +1,38 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include "olap/rowset/segment_v2/inverted_index/query_v2/query.h" + +namespace doris::segment_v2::idx_query_v2 { + +class PhraseQuery : public Query { +public: + PhraseQuery(const std::shared_ptr& searcher, + const TQueryOptions& query_options, QueryInfo query_info) {} + ~PhraseQuery() override = default; + + void execute(const std::shared_ptr& result) {} + + int32_t doc_id() const { return -1; } + int32_t next_doc() const { return -1; } + int32_t advance(int32_t target) const { return -1; } + int64_t cost() const { return -1; } +}; + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/query.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/query.h new file mode 100644 index 00000000000000..8bf6cf39c9dde6 --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/query.h @@ -0,0 +1,52 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include // IWYU pragma: keep +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "common/status.h" + +namespace doris::segment_v2::idx_query_v2 { + +enum class QueryType { TERM_QUERY, PHRASE_QUERY, ROARING_QUERY }; + +struct QueryInfo { + std::wstring field_name; + std::vector terms; + int32_t slop = 0; +}; + +class Query; +using QueryPtr = std::shared_ptr; + +class Query { +public: + Query() = default; + virtual ~Query() = default; +}; + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.cpp b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.cpp new file mode 100644 index 00000000000000..48f53901559fbe --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.cpp @@ -0,0 +1,25 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.h" + +namespace doris::segment_v2::idx_query_v2 { + +RoaringQuery::RoaringQuery(const std::shared_ptr& roaring) + : _roaring(roaring), _iter(_roaring->end()), _end(_roaring->end()) {} + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.h new file mode 100644 index 00000000000000..c092fdcd4c57e0 --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/roaring_query.h @@ -0,0 +1,63 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include + +#include "gutil/integral_types.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/query.h" + +namespace doris::segment_v2::idx_query_v2 { + +class RoaringQuery : public Query { +public: + RoaringQuery(const std::shared_ptr& roaring); + ~RoaringQuery() override = default; + + void execute(const std::shared_ptr& result) {} + + int32_t doc_id() const { return _doc; } + + int32_t next_doc() const { + if (_iter == _end) { + _iter = _roaring->begin(); + } else { + ++_iter; + } + _doc = (_iter != _end) ? *_iter : INT_MAX; + return _doc; + } + + int32_t advance(int32_t target) const { + while (_iter != _end && *_iter < target) { + ++_iter; + } + _doc = (_iter != _end) ? *_iter : INT_MAX; + return _doc; + } + + int64_t cost() const { return _roaring->cardinality(); } + +private: + mutable int32_t _doc = -1; + std::shared_ptr _roaring; + mutable roaring::Roaring::const_iterator _iter; + roaring::Roaring::const_iterator _end; +}; + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/term_query.cpp b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/term_query.cpp new file mode 100644 index 00000000000000..ab2d32fca763c8 --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/term_query.cpp @@ -0,0 +1,39 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "olap/rowset/segment_v2/inverted_index/query_v2/term_query.h" + +#include + +namespace doris::segment_v2::idx_query_v2 { + +TermQuery::~TermQuery() { + if (_term_docs) { + _CLDELETE(_term_docs); + } +} + +TermQuery::TermQuery(const std::shared_ptr& searcher, + const TQueryOptions& query_options, QueryInfo query_info) { + std::wstring ws_term = StringUtil::string_to_wstring(query_info.terms[0]); + auto* t = _CLNEW Term(query_info.field_name.c_str(), ws_term.c_str()); + _term_docs = searcher->getReader()->termDocs(t); + _iter = TermIterator(_term_docs); + _CLDECDELETE(t); +} + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/src/olap/rowset/segment_v2/inverted_index/query_v2/term_query.h b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/term_query.h new file mode 100644 index 00000000000000..419be194e42f44 --- /dev/null +++ b/be/src/olap/rowset/segment_v2/inverted_index/query_v2/term_query.h @@ -0,0 +1,44 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include + +#include "olap/rowset/segment_v2/inverted_index/query_v2/query.h" + +namespace doris::segment_v2::idx_query_v2 { + +class TermQuery : public Query { +public: + TermQuery(const std::shared_ptr& searcher, + const TQueryOptions& query_options, QueryInfo query_info); + ~TermQuery() override; + + void execute(const std::shared_ptr& result) {} + + int32_t doc_id() const { return _iter.nextDoc(); } + int32_t next_doc() const { return _iter.nextDoc(); } + int32_t advance(int32_t target) const { return _iter.advance(target); } + int64_t cost() const { return _iter.docFreq(); } + +private: + TermDocs* _term_docs = nullptr; + TermIterator _iter; +}; + +} // namespace doris::segment_v2::idx_query_v2 \ No newline at end of file diff --git a/be/test/olap/rowset/segment_v2/inverted_index/query_v2/query_test.cpp b/be/test/olap/rowset/segment_v2/inverted_index/query_v2/query_test.cpp new file mode 100644 index 00000000000000..688f72c74f3321 --- /dev/null +++ b/be/test/olap/rowset/segment_v2/inverted_index/query_v2/query_test.cpp @@ -0,0 +1,183 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "olap/rowset/segment_v2/inverted_index/query_v2/query.h" + +#include + +#include +#include + +#include "common/status.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/boolean_query.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/factory.inline.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/node.h" +#include "olap/rowset/segment_v2/inverted_index/query_v2/operator.h" + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow-field" +#include + +#include "CLucene/analysis/standard95/StandardAnalyzer.h" +#include "CLucene/store/FSDirectory.h" +#pragma GCC diagnostic pop + +#include "common/logging.h" +#include "io/fs/local_file_system.h" + +CL_NS_USE(search) +CL_NS_USE(store) + +namespace doris::segment_v2 { + +class QueryTest : public testing::Test { +public: + const std::string kTestDir = "./ut_dir/query_test"; + + void SetUp() override { + auto st = io::global_local_filesystem()->delete_directory(kTestDir); + ASSERT_TRUE(st.ok()) << st; + st = io::global_local_filesystem()->create_directory(kTestDir); + ASSERT_TRUE(st.ok()) << st; + } + void TearDown() override { + EXPECT_TRUE(io::global_local_filesystem()->delete_directory(kTestDir).ok()); + } + + QueryTest() = default; + ~QueryTest() override = default; +}; + +using namespace idx_query_v2; + +static Status boolean_query_search(const std::string& name, + const std::shared_ptr& search) { + BooleanQuery::Builder builder; + RETURN_IF_ERROR(builder.set_op(OperatorType::OP_AND)); + { + TQueryOptions options; + auto roaring = std::make_shared(); + roaring->add(1); + roaring->add(3); + roaring->add(5); + roaring->add(7); + roaring->add(9); + auto clause = DORIS_TRY(QueryFactory::create(QueryType::ROARING_QUERY, roaring)); + RETURN_IF_ERROR(builder.add(clause)); + } + { + BooleanQuery::Builder builder1; + RETURN_IF_ERROR(builder1.set_op(OperatorType::OP_OR)); + { + TQueryOptions options; + QueryInfo query_info; + query_info.field_name = StringUtil::string_to_wstring(name); + query_info.terms.emplace_back("hm"); + auto clause = DORIS_TRY( + QueryFactory::create(QueryType::TERM_QUERY, search, options, query_info)); + RETURN_IF_ERROR(builder1.add(clause)); + } + { + TQueryOptions options; + QueryInfo query_info; + query_info.field_name = StringUtil::string_to_wstring(name); + query_info.terms.emplace_back("ac"); + auto clause = DORIS_TRY( + QueryFactory::create(QueryType::TERM_QUERY, search, options, query_info)); + RETURN_IF_ERROR(builder1.add(clause)); + } + auto boolean_query = DORIS_TRY(builder1.build()); + RETURN_IF_ERROR(builder.add(boolean_query)); + } + auto boolean_query = DORIS_TRY(builder.build()); + + auto result = std::make_shared(); + visit_node(boolean_query, QueryExecute {}, result); + EXPECT_EQ(result->cardinality(), 3); + EXPECT_EQ(result->toString(), "{1,7,9}"); + + return Status::OK(); +} + +TEST_F(QueryTest, test_boolean_query) { + std::string name = "name"; + + // write + { + std::vector datas; + datas.emplace_back("0 hm"); + datas.emplace_back("1 hm"); + datas.emplace_back("2 hm"); + datas.emplace_back("3 bg"); + datas.emplace_back("4 bg"); + datas.emplace_back("5 bg"); + datas.emplace_back("6 ac"); + datas.emplace_back("7 ac"); + datas.emplace_back("8 ac"); + datas.emplace_back("9 ac"); + + auto* analyzer = _CLNEW lucene::analysis::standard95::StandardAnalyzer(); + analyzer->set_stopwords(nullptr); + auto* indexwriter = _CLNEW lucene::index::IndexWriter(kTestDir.c_str(), analyzer, true); + indexwriter->setMaxBufferedDocs(100); + indexwriter->setRAMBufferSizeMB(-1); + indexwriter->setMaxFieldLength(0x7FFFFFFFL); + indexwriter->setMergeFactor(1000000000); + indexwriter->setUseCompoundFile(false); + + auto* char_string_reader = _CLNEW lucene::util::SStringReader; + + auto* doc = _CLNEW lucene::document::Document(); + int32_t field_config = lucene::document::Field::STORE_NO; + field_config |= lucene::document::Field::INDEX_NONORMS; + field_config |= lucene::document::Field::INDEX_TOKENIZED; + auto field_name = std::wstring(name.begin(), name.end()); + auto* field = _CLNEW lucene::document::Field(field_name.c_str(), field_config); + field->setOmitTermFreqAndPositions(false); + doc->add(*field); + + for (const auto& data : datas) { + char_string_reader->init(data.data(), data.size(), false); + auto* stream = analyzer->reusableTokenStream(field->name(), char_string_reader); + field->setValue(stream); + indexwriter->addDocument(doc); + } + + indexwriter->close(); + + _CLLDELETE(indexwriter); + _CLLDELETE(doc); + _CLLDELETE(analyzer); + _CLLDELETE(char_string_reader); + } + + // query + { + auto* dir = FSDirectory::getDirectory(kTestDir.c_str()); + auto* reader = IndexReader::open(dir, 1024 * 1024, true); + auto search = std::make_shared(reader); + + Status res = boolean_query_search(name, search); + EXPECT_TRUE(res.ok()); + + reader->close(); + _CLLDELETE(reader); + _CLDECDELETE(dir); + } +} + +} // namespace doris::segment_v2 From faee56f01a33aad792ba3ccdb745bffd026b8f3f Mon Sep 17 00:00:00 2001 From: airborne12 Date: Wed, 11 Sep 2024 14:13:14 +0800 Subject: [PATCH 170/199] [Enhancement](inverted index) improve expr evaluate_inverted_index performace and remove useless code (#40600) ## Proposed changes Pre-allocate vectors based on an estimated or known size in vexpr evaluated_inverted_index --- .../rowset/segment_v2/segment_iterator.cpp | 30 ------------- .../olap/rowset/segment_v2/segment_iterator.h | 16 ------- be/src/vec/exprs/vexpr.cpp | 45 ++++++++++++------- 3 files changed, 28 insertions(+), 63 deletions(-) diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.cpp b/be/src/olap/rowset/segment_v2/segment_iterator.cpp index ff8a36d8788561..1014f65b7aeded 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.cpp +++ b/be/src/olap/rowset/segment_v2/segment_iterator.cpp @@ -927,36 +927,6 @@ bool SegmentIterator::_need_read_data(ColumnId cid) { return true; } -bool SegmentIterator::_is_target_expr_match_predicate(const vectorized::VExprSPtr& expr, - const MatchPredicate* match_pred, - const Schema* schema) { - if (!expr || expr->node_type() != TExprNodeType::MATCH_PRED) { - return false; - } - - const auto& children = expr->children(); - if (children.size() != 2 || !children[0]->is_slot_ref() || !children[1]->is_constant()) { - return false; - } - - auto slot_ref = dynamic_cast(children[0].get()); - if (!slot_ref) { - LOG(WARNING) << children[0]->debug_string() << " should be SlotRef"; - return false; - } - std::shared_ptr const_col_wrapper; - // children 1 is VLiteral, we do not need expr context. - auto res = children[1]->get_const_col(nullptr /* context */, &const_col_wrapper); - if (!res.ok() || !const_col_wrapper) { - return false; - } - - const auto const_column = - check_and_get_column(const_col_wrapper->column_ptr); - return const_column && match_pred->column_id() == schema->column_id(slot_ref->column_id()) && - StringRef(match_pred->get_value()) == const_column->get_data_at(0); -} - Status SegmentIterator::_apply_inverted_index() { std::vector remaining_predicates; std::set no_need_to_pass_column_predicate_set; diff --git a/be/src/olap/rowset/segment_v2/segment_iterator.h b/be/src/olap/rowset/segment_v2/segment_iterator.h index f5c133485aa012..50876cd7c55fe8 100644 --- a/be/src/olap/rowset/segment_v2/segment_iterator.h +++ b/be/src/olap/rowset/segment_v2/segment_iterator.h @@ -362,22 +362,6 @@ class SegmentIterator : public RowwiseIterator { return 0; } - bool _is_match_predicate_and_not_remaining( - ColumnPredicate* pred, const std::vector& remaining_predicates) { - return pred->type() == PredicateType::MATCH && - std::find(remaining_predicates.begin(), remaining_predicates.end(), pred) == - remaining_predicates.end(); - } - - void _delete_expr_from_conjunct_roots(const vectorized::VExprSPtr& expr, - vectorized::VExprSPtrs& conjunct_roots) { - conjunct_roots.erase(std::remove(conjunct_roots.begin(), conjunct_roots.end(), expr), - conjunct_roots.end()); - } - - bool _is_target_expr_match_predicate(const vectorized::VExprSPtr& expr, - const MatchPredicate* match_pred, const Schema* schema); - Status _convert_to_expected_type(const std::vector& col_ids); bool _no_need_read_key_data(ColumnId cid, vectorized::MutableColumnPtr& column, diff --git a/be/src/vec/exprs/vexpr.cpp b/be/src/vec/exprs/vexpr.cpp index 482a1a2e498039..da496cdd9f0992 100644 --- a/be/src/vec/exprs/vexpr.cpp +++ b/be/src/vec/exprs/vexpr.cpp @@ -613,15 +613,26 @@ Status VExpr::get_result_from_const(vectorized::Block* block, const std::string& Status VExpr::_evaluate_inverted_index(VExprContext* context, const FunctionBasePtr& function, uint32_t segment_num_rows) { + // Pre-allocate vectors based on an estimated or known size std::vector iterators; std::vector data_type_with_names; std::vector column_ids; vectorized::ColumnsWithTypeAndName arguments; VExprSPtrs children_exprs; - for (auto child : children()) { - // if child is cast expr, we need to ensure target data type is the same with storage data type. - // or they are all string type - // and if data type is array, we need to get the nested data type to ensure that. + + // Reserve space to avoid multiple reallocations + const size_t estimated_size = children().size(); + iterators.reserve(estimated_size); + data_type_with_names.reserve(estimated_size); + column_ids.reserve(estimated_size); + children_exprs.reserve(estimated_size); + + auto index_context = context->get_inverted_index_context(); + + // if child is cast expr, we need to ensure target data type is the same with storage data type. + // or they are all string type + // and if data type is array, we need to get the nested data type to ensure that. + for (const auto& child : children()) { if (child->node_type() == TExprNodeType::CAST_EXPR) { auto* cast_expr = assert_cast(child.get()); DCHECK_EQ(cast_expr->children().size(), 1); @@ -663,7 +674,11 @@ Status VExpr::_evaluate_inverted_index(VExprContext* context, const FunctionBase } } - for (auto child : children_exprs) { + if (children_exprs.empty()) { + return Status::OK(); // Early exit if no children to process + } + + for (const auto& child : children_exprs) { if (child->is_slot_ref()) { auto* column_slot_ref = assert_cast(child.get()); auto column_id = column_slot_ref->column_id(); @@ -694,25 +709,21 @@ Status VExpr::_evaluate_inverted_index(VExprContext* context, const FunctionBase column_literal->get_data_type(), column_literal->expr_name()); } } - auto result_bitmap = segment_v2::InvertedIndexResultBitmap(); - if (iterators.empty()) { - return Status::OK(); - } - // If arguments are empty, it means the left value in the expression is not a literal. - if (arguments.empty()) { - return Status::OK(); + + if (iterators.empty() || arguments.empty()) { + return Status::OK(); // Nothing to evaluate or no literals to compare against } + + auto result_bitmap = segment_v2::InvertedIndexResultBitmap(); auto res = function->evaluate_inverted_index(arguments, data_type_with_names, iterators, segment_num_rows, result_bitmap); if (!res.ok()) { return res; } if (!result_bitmap.is_empty()) { - context->get_inverted_index_context()->set_inverted_index_result_for_expr(this, - result_bitmap); - for (auto column_id : column_ids) { - context->get_inverted_index_context()->set_true_for_inverted_index_status(this, - column_id); + index_context->set_inverted_index_result_for_expr(this, result_bitmap); + for (int column_id : column_ids) { + index_context->set_true_for_inverted_index_status(this, column_id); } // set fast_execute when expr evaluated by inverted index correctly _can_fast_execute = true; From e3b81e7e3fb20fb0be857650bfda45e67678b3af Mon Sep 17 00:00:00 2001 From: HappenLee Date: Wed, 11 Sep 2024 14:28:06 +0800 Subject: [PATCH 171/199] [feature-WIP](query cache) cache tablets aggregate result, BE part (#40171) support cache tablets aggregate result for example SQL 1: ```sql select key, sum(value) from tbl where dt between '2024-08-01' and '2024-08-10' group by key ``` SQL 2: ```sql select key, sum(value) from tbl where dt between '2024-08-5' and '2024-08-15' group by key ``` SQL 1 will update the tablets aggregate result which partition between '2024-08-01' and '2024-08-10'. Then SQL 2 will reuse the tablets aggregate which partition between '2024-08-05' and '2024-08-10', and compute aggregate which partition between '2024-08-11' and '2024-08-15' We only support simple aggregate which not contains join with runtime filter, at present. # How to use ```sql set enable_query_cache=true; ``` --- be/src/common/config.cpp | 2 + be/src/common/config.h | 3 + be/src/pipeline/dependency.h | 7 + be/src/pipeline/exec/cache_sink_operator.cpp | 73 +++++++ be/src/pipeline/exec/cache_sink_operator.h | 73 +++++++ .../pipeline/exec/cache_source_operator.cpp | 199 ++++++++++++++++++ be/src/pipeline/exec/cache_source_operator.h | 104 +++++++++ be/src/pipeline/exec/olap_scan_operator.cpp | 34 ++- be/src/pipeline/exec/olap_scan_operator.h | 4 +- be/src/pipeline/exec/operator.cpp | 7 +- be/src/pipeline/pipeline_fragment_context.cpp | 80 ++++++- be/src/pipeline/query_cache/query_cache.cpp | 70 ++++++ be/src/pipeline/query_cache/query_cache.h | 151 +++++++++++++ be/src/runtime/exec_env.h | 7 + be/src/runtime/exec_env_init.cpp | 9 +- be/src/runtime/memory/cache_policy.h | 3 + be/src/runtime/memory/mem_tracker_limiter.cpp | 2 +- be/src/vec/core/block.cpp | 2 - 18 files changed, 804 insertions(+), 26 deletions(-) create mode 100644 be/src/pipeline/exec/cache_sink_operator.cpp create mode 100644 be/src/pipeline/exec/cache_sink_operator.h create mode 100644 be/src/pipeline/exec/cache_source_operator.cpp create mode 100644 be/src/pipeline/exec/cache_source_operator.h create mode 100644 be/src/pipeline/query_cache/query_cache.cpp create mode 100644 be/src/pipeline/query_cache/query_cache.h diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp index 0c00bd1a38f0da..df8240cb234b83 100644 --- a/be/src/common/config.cpp +++ b/be/src/common/config.cpp @@ -1327,6 +1327,8 @@ DEFINE_mInt32(lz4_compression_block_size, "262144"); DEFINE_mBool(enable_pipeline_task_leakage_detect, "false"); +DEFINE_Int32(query_cache_size, "512"); + // clang-format off #ifdef BE_TEST // test s3 diff --git a/be/src/common/config.h b/be/src/common/config.h index 720f4f72cb4bf7..5bca9ac280a348 100644 --- a/be/src/common/config.h +++ b/be/src/common/config.h @@ -1415,6 +1415,9 @@ DECLARE_mInt32(lz4_compression_block_size); DECLARE_mBool(enable_pipeline_task_leakage_detect); +// MB +DECLARE_Int32(query_cache_size); + #ifdef BE_TEST // test s3 DECLARE_String(test_s3_resource); diff --git a/be/src/pipeline/dependency.h b/be/src/pipeline/dependency.h index f7990c097ef2f4..e5738e48f93cca 100644 --- a/be/src/pipeline/dependency.h +++ b/be/src/pipeline/dependency.h @@ -35,6 +35,7 @@ #include "pipeline/exec/join/process_hash_table_probe.h" #include "vec/common/sort/partition_sorter.h" #include "vec/common/sort/sorter.h" +#include "vec/core/block.h" #include "vec/core/types.h" #include "vec/spill/spill_stream.h" @@ -541,6 +542,12 @@ struct UnionSharedState : public BasicSharedState { const int _child_count; }; +struct CacheSharedState : public BasicSharedState { + ENABLE_FACTORY_CREATOR(CacheSharedState) +public: + DataQueue data_queue; +}; + class MultiCastDataStreamer; struct MultiCastSharedState : public BasicSharedState { diff --git a/be/src/pipeline/exec/cache_sink_operator.cpp b/be/src/pipeline/exec/cache_sink_operator.cpp new file mode 100644 index 00000000000000..b8b5b5346591c8 --- /dev/null +++ b/be/src/pipeline/exec/cache_sink_operator.cpp @@ -0,0 +1,73 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "cache_sink_operator.h" + +#include + +#include "common/compiler_util.h" // IWYU pragma: keep +#include "common/status.h" +#include "pipeline/exec/data_queue.h" +#include "pipeline/exec/operator.h" +#include "runtime/runtime_state.h" +#include "util/runtime_profile.h" + +namespace doris::pipeline { + +Status CacheSinkLocalState::init(RuntimeState* state, LocalSinkStateInfo& info) { + RETURN_IF_ERROR(Base::init(state, info)); + SCOPED_TIMER(exec_time_counter()); + SCOPED_TIMER(_init_timer); + _shared_state->data_queue.set_sink_dependency(_dependency, 0); + return Status::OK(); +} + +Status CacheSinkLocalState::open(RuntimeState* state) { + SCOPED_TIMER(exec_time_counter()); + SCOPED_TIMER(_open_timer); + RETURN_IF_ERROR(Base::open(state)); + // auto& p = _parent->cast(); + + _shared_state->data_queue.set_max_blocks_in_sub_queue(state->data_queue_max_blocks()); + return Status::OK(); +} + +CacheSinkOperatorX::CacheSinkOperatorX(int sink_id, int child_id) + : Base(sink_id, child_id, child_id) { + _name = "CACHE_SINK_OPERATOR"; +} + +Status CacheSinkOperatorX::open(RuntimeState* state) { + return Status::OK(); +} + +Status CacheSinkOperatorX::sink(RuntimeState* state, vectorized::Block* in_block, bool eos) { + auto& local_state = get_local_state(state); + SCOPED_TIMER(local_state.exec_time_counter()); + COUNTER_UPDATE(local_state.rows_input_counter(), (int64_t)in_block->rows()); + + if (in_block->rows() > 0) { + local_state._shared_state->data_queue.push_block( + vectorized::Block::create_unique(std::move(*in_block)), 0); + } + if (UNLIKELY(eos)) { + local_state._shared_state->data_queue.set_finish(0); + } + return Status::OK(); +} + +} // namespace doris::pipeline diff --git a/be/src/pipeline/exec/cache_sink_operator.h b/be/src/pipeline/exec/cache_sink_operator.h new file mode 100644 index 00000000000000..9c4beb48df2e4c --- /dev/null +++ b/be/src/pipeline/exec/cache_sink_operator.h @@ -0,0 +1,73 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include + +#include + +#include "common/status.h" +#include "operator.h" +#include "vec/core/block.h" + +namespace doris { +class RuntimeState; + +namespace pipeline { +class DataQueue; + +class CacheSinkOperatorX; +class CacheSinkLocalState final : public PipelineXSinkLocalState { +public: + ENABLE_FACTORY_CREATOR(CacheSinkLocalState); + CacheSinkLocalState(DataSinkOperatorXBase* parent, RuntimeState* state) : Base(parent, state) {} + Status init(RuntimeState* state, LocalSinkStateInfo& info) override; + Status open(RuntimeState* state) override; + friend class CacheSinkOperatorX; + using Base = PipelineXSinkLocalState; + using Parent = CacheSinkOperatorX; +}; + +class CacheSinkOperatorX final : public DataSinkOperatorX { +public: + using Base = DataSinkOperatorX; + + friend class CacheSinkLocalState; + CacheSinkOperatorX(int sink_id, int child_id); + ~CacheSinkOperatorX() override = default; + Status init(const TDataSink& tsink) override { + return Status::InternalError("{} should not init with TDataSink", + DataSinkOperatorX::_name); + } + + Status open(RuntimeState* state) override; + + Status sink(RuntimeState* state, vectorized::Block* in_block, bool eos) override; + + std::shared_ptr create_shared_state() const override { + std::shared_ptr ss = std::make_shared(); + ss->id = operator_id(); + for (auto& dest : dests_id()) { + ss->related_op_ids.insert(dest); + } + return ss; + } +}; + +} // namespace pipeline +} // namespace doris \ No newline at end of file diff --git a/be/src/pipeline/exec/cache_source_operator.cpp b/be/src/pipeline/exec/cache_source_operator.cpp new file mode 100644 index 00000000000000..5f8c5befc6a2b9 --- /dev/null +++ b/be/src/pipeline/exec/cache_source_operator.cpp @@ -0,0 +1,199 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "pipeline/exec/cache_source_operator.h" + +#include +#include + +#include "common/status.h" +#include "pipeline/dependency.h" +#include "pipeline/exec/operator.h" +#include "vec/core/block.h" + +namespace doris { +class RuntimeState; + +namespace pipeline { + +Status CacheSourceLocalState::init(RuntimeState* state, LocalStateInfo& info) { + RETURN_IF_ERROR(Base::init(state, info)); + SCOPED_TIMER(exec_time_counter()); + SCOPED_TIMER(_init_timer); + ((CacheSharedState*)_dependency->shared_state()) + ->data_queue.set_source_dependency(_shared_state->source_deps.front()); + const auto& scan_ranges = info.scan_ranges; + bool hit_cache = false; + if (scan_ranges.size() > 1) { + return Status::InternalError("CacheSourceOperator only support one scan range, plan error"); + } + + const auto& cache_param = _parent->cast()._cache_param; + // 1. init the slot orders + const auto& tuple_descs = _parent->cast().row_desc().tuple_descriptors(); + for (auto tuple_desc : tuple_descs) { + for (auto slot_desc : tuple_desc->slots()) { + if (cache_param.output_slot_mapping.find(slot_desc->id()) != + cache_param.output_slot_mapping.end()) { + _slot_orders.emplace_back(cache_param.output_slot_mapping.at(slot_desc->id())); + } else { + return Status::InternalError( + fmt::format("Cache can find the mapping slot id {}, node id {}", + slot_desc->id(), cache_param.node_id)); + } + } + } + + // 2. build cache key by digest_tablet_id + RETURN_IF_ERROR(QueryCache::build_cache_key(scan_ranges, cache_param, &_cache_key, &_version)); + _runtime_profile->add_info_string( + "CacheTabletId", std::to_string(scan_ranges[0].scan_range.palo_scan_range.tablet_id)); + + // 3. lookup the cache and find proper slot order + hit_cache = QueryCache::instance()->lookup(_cache_key, _version, &_query_cache_handle); + _runtime_profile->add_info_string("HitCache", hit_cache ? "1" : "0"); + if (hit_cache && !cache_param.force_refresh_query_cache) { + _hit_cache_results = _query_cache_handle.get_cache_result(); + auto hit_cache_slot_orders = _query_cache_handle.get_cache_slot_orders(); + + bool need_reorder = _slot_orders.size() != hit_cache_slot_orders->size(); + if (!need_reorder) { + for (int i = 0; i < _slot_orders.size(); ++i) { + need_reorder = _slot_orders[i] != (*hit_cache_slot_orders)[i]; + } + } + + if (need_reorder) { + for (auto slot_id : _slot_orders) { + auto find_res = std::find(hit_cache_slot_orders->begin(), + hit_cache_slot_orders->end(), slot_id); + if (find_res != hit_cache_slot_orders->end()) { + _hit_cache_column_orders.emplace_back(find_res - + hit_cache_slot_orders->begin()); + } else { + return Status::InternalError(fmt::format( + "Cache can find the mapping slot id {}, node id {}, " + "hit_cache_column_orders [{}]", + slot_id, cache_param.node_id, fmt::join(*hit_cache_slot_orders, ","))); + } + } + } + } + + return Status::OK(); +} + +Status CacheSourceLocalState::open(RuntimeState* state) { + SCOPED_TIMER(exec_time_counter()); + SCOPED_TIMER(_open_timer); + RETURN_IF_ERROR(Base::open(state)); + + return Status::OK(); +} + +std::string CacheSourceLocalState::debug_string(int indentation_level) const { + fmt::memory_buffer debug_string_buffer; + fmt::format_to(debug_string_buffer, "{}", Base::debug_string(indentation_level)); + if (_shared_state) { + fmt::format_to(debug_string_buffer, ", data_queue: (is_all_finish = {}, has_data = {})", + _shared_state->data_queue.is_all_finish(), + _shared_state->data_queue.remaining_has_data()); + } + return fmt::to_string(debug_string_buffer); +} + +Status CacheSourceOperatorX::get_block(RuntimeState* state, vectorized::Block* block, bool* eos) { + auto& local_state = get_local_state(state); + SCOPED_TIMER(local_state.exec_time_counter()); + + block->clear_column_data(_row_descriptor.num_materialized_slots()); + bool need_clone_empty = block->columns() == 0; + + if (local_state._hit_cache_results == nullptr) { + Defer insert_cache([&] { + if (*eos && local_state._need_insert_cache) { + local_state._runtime_profile->add_info_string("InsertCache", "1"); + local_state._global_cache->insert(local_state._cache_key, local_state._version, + local_state._local_cache_blocks, + local_state._slot_orders, + local_state._current_query_cache_bytes); + local_state._local_cache_blocks.clear(); + } + }); + + std::unique_ptr output_block; + int child_idx = 0; + RETURN_IF_ERROR(local_state._shared_state->data_queue.get_block_from_queue(&output_block, + &child_idx)); + // Here, check the value of `_has_data(state)` again after `data_queue.is_all_finish()` is TRUE + // as there may be one or more blocks when `data_queue.is_all_finish()` is TRUE. + *eos = !_has_data(state) && local_state._shared_state->data_queue.is_all_finish(); + + if (!output_block) { + return Status::OK(); + } + + if (local_state._need_insert_cache) { + if (need_clone_empty) { + *block = output_block->clone_empty(); + } + RETURN_IF_ERROR( + vectorized::MutableBlock::build_mutable_block(block).merge(*output_block)); + local_state._current_query_cache_rows += output_block->rows(); + auto mem_consume = output_block->allocated_bytes(); + local_state._current_query_cache_bytes += mem_consume; + local_state._mem_tracker->consume(mem_consume); + + if (_cache_param.entry_max_bytes < local_state._current_query_cache_bytes || + _cache_param.entry_max_rows < local_state._current_query_cache_rows) { + // over the max bytes, pass through the data, no need to do cache + local_state._local_cache_blocks.clear(); + local_state._need_insert_cache = false; + local_state._runtime_profile->add_info_string("InsertCache", "0"); + } else { + local_state._local_cache_blocks.emplace_back(std::move(output_block)); + } + } else { + *block = std::move(*output_block); + } + } else { + if (local_state._hit_cache_pos < local_state._hit_cache_results->size()) { + const auto& hit_cache_block = + local_state._hit_cache_results->at(local_state._hit_cache_pos++); + if (need_clone_empty) { + *block = hit_cache_block->clone_empty(); + } + RETURN_IF_ERROR( + vectorized::MutableBlock::build_mutable_block(block).merge(*hit_cache_block)); + if (!local_state._hit_cache_column_orders.empty()) { + auto datas = block->get_columns_with_type_and_name(); + block->clear(); + for (auto loc : local_state._hit_cache_column_orders) { + block->insert(datas[loc]); + } + } + } else { + *eos = true; + } + } + + local_state.reached_limit(block, eos); + return Status::OK(); +} + +} // namespace pipeline +} // namespace doris diff --git a/be/src/pipeline/exec/cache_source_operator.h b/be/src/pipeline/exec/cache_source_operator.h new file mode 100644 index 00000000000000..e764323846b153 --- /dev/null +++ b/be/src/pipeline/exec/cache_source_operator.h @@ -0,0 +1,104 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +#pragma once + +#include + +#include + +#include "common/status.h" +#include "operator.h" +#include "pipeline/query_cache/query_cache.h" + +namespace doris { +class RuntimeState; + +namespace vectorized { +class Block; +} // namespace vectorized + +namespace pipeline { +class DataQueue; + +class CacheSourceOperatorX; +class CacheSourceLocalState final : public PipelineXLocalState { +public: + ENABLE_FACTORY_CREATOR(CacheSourceLocalState); + using Base = PipelineXLocalState; + using Parent = CacheSourceOperatorX; + CacheSourceLocalState(RuntimeState* state, OperatorXBase* parent) : Base(state, parent) {}; + + Status init(RuntimeState* state, LocalStateInfo& info) override; + Status open(RuntimeState* state) override; + + [[nodiscard]] std::string debug_string(int indentation_level = 0) const override; + +private: + friend class CacheSourceOperatorX; + friend class OperatorX; + + QueryCache* _global_cache = QueryCache::instance(); + + std::string _cache_key {}; + int64_t _version = 0; + std::vector _local_cache_blocks; + std::vector _slot_orders; + size_t _current_query_cache_bytes = 0; + size_t _current_query_cache_rows = 0; + bool _need_insert_cache = true; + + QueryCacheHandle _query_cache_handle; + std::vector* _hit_cache_results = nullptr; + std::vector _hit_cache_column_orders; + int _hit_cache_pos = 0; +}; + +class CacheSourceOperatorX final : public OperatorX { +public: + using Base = OperatorX; + CacheSourceOperatorX(ObjectPool* pool, int plan_node_id, int operator_id, + const TQueryCacheParam& cache_param) + : Base(pool, plan_node_id, operator_id), _cache_param(cache_param) { + _op_name = "CACHE_SOURCE_OPERATOR"; + }; + ~CacheSourceOperatorX() override = default; + Status get_block(RuntimeState* state, vectorized::Block* block, bool* eos) override; + + bool is_source() const override { return true; } + + Status open(RuntimeState* state) override { + static_cast(Base::open(state)); + return Status::OK(); + } + + const RowDescriptor& intermediate_row_desc() const override { + return _child->intermediate_row_desc(); + } + RowDescriptor& row_descriptor() override { return _child->row_descriptor(); } + const RowDescriptor& row_desc() const override { return _child->row_desc(); } + +private: + TQueryCacheParam _cache_param; + bool _has_data(RuntimeState* state) const { + auto& local_state = get_local_state(state); + return local_state._shared_state->data_queue.remaining_has_data(); + } + friend class CacheSourceLocalState; +}; + +} // namespace pipeline +} // namespace doris diff --git a/be/src/pipeline/exec/olap_scan_operator.cpp b/be/src/pipeline/exec/olap_scan_operator.cpp index adba2b201850c1..172aa7a9c870c4 100644 --- a/be/src/pipeline/exec/olap_scan_operator.cpp +++ b/be/src/pipeline/exec/olap_scan_operator.cpp @@ -29,15 +29,13 @@ #include "olap/tablet_manager.h" #include "pipeline/common/runtime_filter_consumer.h" #include "pipeline/exec/scan_operator.h" +#include "pipeline/query_cache/query_cache.h" #include "service/backend_options.h" #include "util/to_string.h" #include "vec/exec/scan/new_olap_scanner.h" -#include "vec/exec/scan/vscan_node.h" -#include "vec/exprs/vcompound_pred.h" #include "vec/exprs/vectorized_fn_call.h" #include "vec/exprs/vexpr.h" #include "vec/exprs/vexpr_context.h" -#include "vec/exprs/vin_predicate.h" #include "vec/exprs/vslot_ref.h" #include "vec/functions/in.h" @@ -147,7 +145,6 @@ Status OlapScanLocalState::_init_profile() { ADD_COUNTER(_segment_profile, "InvertedIndexDowngradeCount", TUnit::UNIT); _output_index_result_column_timer = ADD_TIMER(_segment_profile, "OutputIndexResultColumnTimer"); - _filtered_segment_counter = ADD_COUNTER(_segment_profile, "NumSegmentFiltered", TUnit::UNIT); _total_segment_counter = ADD_COUNTER(_segment_profile, "NumSegmentTotal", TUnit::UNIT); _tablet_counter = ADD_COUNTER(_runtime_profile, "TabletNum", TUnit::UNIT); @@ -397,10 +394,25 @@ TOlapScanNode& OlapScanLocalState::olap_scan_node() const { void OlapScanLocalState::set_scan_ranges(RuntimeState* state, const std::vector& scan_ranges) { - for (auto& scan_range : scan_ranges) { - DCHECK(scan_range.scan_range.__isset.palo_scan_range); - _scan_ranges.emplace_back(new TPaloScanRange(scan_range.scan_range.palo_scan_range)); - COUNTER_UPDATE(_tablet_counter, 1); + const auto& cache_param = _parent->cast()._cache_param; + bool hit_cache = false; + if (!cache_param.digest.empty() && !cache_param.force_refresh_query_cache) { + std::string cache_key; + int64_t version = 0; + auto status = QueryCache::build_cache_key(scan_ranges, cache_param, &cache_key, &version); + if (!status.ok()) { + throw doris::Exception(doris::ErrorCode::INTERNAL_ERROR, status.msg()); + } + doris::QueryCacheHandle handle; + hit_cache = QueryCache::instance()->lookup(cache_key, version, &handle); + } + + if (!hit_cache) { + for (auto& scan_range : scan_ranges) { + DCHECK(scan_range.scan_range.__isset.palo_scan_range); + _scan_ranges.emplace_back(new TPaloScanRange(scan_range.scan_range.palo_scan_range)); + COUNTER_UPDATE(_tablet_counter, 1); + } } } @@ -568,9 +580,11 @@ void OlapScanLocalState::add_filter_info(int id, const PredicateFilterInfo& upda } OlapScanOperatorX::OlapScanOperatorX(ObjectPool* pool, const TPlanNode& tnode, int operator_id, - const DescriptorTbl& descs, int parallel_tasks) + const DescriptorTbl& descs, int parallel_tasks, + const TQueryCacheParam& param) : ScanOperatorX(pool, tnode, operator_id, descs, parallel_tasks), - _olap_scan_node(tnode.olap_scan_node) { + _olap_scan_node(tnode.olap_scan_node), + _cache_param(param) { _output_tuple_id = tnode.olap_scan_node.tuple_id; if (_olap_scan_node.__isset.sort_info && _olap_scan_node.__isset.sort_limit) { _limit_per_scanner = _olap_scan_node.sort_limit; diff --git a/be/src/pipeline/exec/olap_scan_operator.h b/be/src/pipeline/exec/olap_scan_operator.h index 6a03a46e65ef67..4465ce5690e703 100644 --- a/be/src/pipeline/exec/olap_scan_operator.h +++ b/be/src/pipeline/exec/olap_scan_operator.h @@ -198,11 +198,13 @@ class OlapScanLocalState final : public ScanLocalState { class OlapScanOperatorX final : public ScanOperatorX { public: OlapScanOperatorX(ObjectPool* pool, const TPlanNode& tnode, int operator_id, - const DescriptorTbl& descs, int parallel_tasks); + const DescriptorTbl& descs, int parallel_tasks, + const TQueryCacheParam& cache_param); private: friend class OlapScanLocalState; TOlapScanNode _olap_scan_node; + TQueryCacheParam _cache_param; }; } // namespace doris::pipeline diff --git a/be/src/pipeline/exec/operator.cpp b/be/src/pipeline/exec/operator.cpp index d65769254b9dfc..4a93bac67fe477 100644 --- a/be/src/pipeline/exec/operator.cpp +++ b/be/src/pipeline/exec/operator.cpp @@ -17,7 +17,6 @@ #include "operator.h" -#include "common/logging.h" #include "common/status.h" #include "pipeline/dependency.h" #include "pipeline/exec/aggregation_sink_operator.h" @@ -25,6 +24,8 @@ #include "pipeline/exec/analytic_sink_operator.h" #include "pipeline/exec/analytic_source_operator.h" #include "pipeline/exec/assert_num_rows_operator.h" +#include "pipeline/exec/cache_sink_operator.h" +#include "pipeline/exec/cache_source_operator.h" #include "pipeline/exec/datagen_operator.h" #include "pipeline/exec/distinct_streaming_aggregation_operator.h" #include "pipeline/exec/empty_set_operator.h" @@ -694,6 +695,7 @@ DECLARE_OPERATOR(SetSinkLocalState) DECLARE_OPERATOR(SetSinkLocalState) DECLARE_OPERATOR(PartitionedHashJoinSinkLocalState) DECLARE_OPERATOR(GroupCommitBlockSinkLocalState) +DECLARE_OPERATOR(CacheSinkLocalState) #undef DECLARE_OPERATOR @@ -725,6 +727,7 @@ DECLARE_OPERATOR(SchemaScanLocalState) DECLARE_OPERATOR(MetaScanLocalState) DECLARE_OPERATOR(LocalExchangeSourceLocalState) DECLARE_OPERATOR(PartitionedHashJoinProbeLocalState) +DECLARE_OPERATOR(CacheSourceLocalState) #undef DECLARE_OPERATOR @@ -754,6 +757,7 @@ template class PipelineXSinkLocalState; template class PipelineXSinkLocalState; template class PipelineXSinkLocalState; template class PipelineXSinkLocalState; +template class PipelineXSinkLocalState; template class PipelineXLocalState; template class PipelineXLocalState; @@ -765,6 +769,7 @@ template class PipelineXLocalState; template class PipelineXLocalState; template class PipelineXLocalState; template class PipelineXLocalState; +template class PipelineXLocalState; template class PipelineXLocalState; template class PipelineXLocalState; template class PipelineXLocalState; diff --git a/be/src/pipeline/pipeline_fragment_context.cpp b/be/src/pipeline/pipeline_fragment_context.cpp index a489273b68d129..3513c2ba176278 100644 --- a/be/src/pipeline/pipeline_fragment_context.cpp +++ b/be/src/pipeline/pipeline_fragment_context.cpp @@ -43,6 +43,8 @@ #include "pipeline/exec/analytic_sink_operator.h" #include "pipeline/exec/analytic_source_operator.h" #include "pipeline/exec/assert_num_rows_operator.h" +#include "pipeline/exec/cache_sink_operator.h" +#include "pipeline/exec/cache_source_operator.h" #include "pipeline/exec/datagen_operator.h" #include "pipeline/exec/distinct_streaming_aggregation_operator.h" #include "pipeline/exec/empty_set_operator.h" @@ -1168,10 +1170,13 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo // Therefore, here we need to use a stack-like structure. _pipeline_parent_map.pop(cur_pipe, parent_idx, child_idx); std::stringstream error_msg; + bool enable_query_cache = request.fragment.__isset.query_cache_param; switch (tnode.node_type) { case TPlanNodeType::OLAP_SCAN_NODE: { - op.reset(new OlapScanOperatorX(pool, tnode, next_operator_id(), descs, _num_instances)); + op.reset(new OlapScanOperatorX( + pool, tnode, next_operator_id(), descs, _num_instances, + enable_query_cache ? request.fragment.query_cache_param : TQueryCacheParam {})); RETURN_IF_ERROR(cur_pipe->add_operator(op)); if (request.__isset.parallel_instances) { cur_pipe->set_num_tasks(request.parallel_instances); @@ -1244,6 +1249,26 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo ": group by and output is empty"); } + auto create_query_cache_operator = [&](PipelinePtr& new_pipe) { + auto cache_node_id = request.local_params[0].per_node_scan_ranges.begin()->first; + auto cache_source_id = next_operator_id(); + op.reset(new CacheSourceOperatorX(pool, cache_node_id, cache_source_id, + request.fragment.query_cache_param)); + RETURN_IF_ERROR(cur_pipe->add_operator(op)); + + const auto downstream_pipeline_id = cur_pipe->id(); + if (_dag.find(downstream_pipeline_id) == _dag.end()) { + _dag.insert({downstream_pipeline_id, {}}); + } + new_pipe = add_pipeline(cur_pipe); + _dag[downstream_pipeline_id].push_back(new_pipe->id()); + + DataSinkOperatorPtr cache_sink( + new CacheSinkOperatorX(next_sink_operator_id(), cache_source_id)); + cache_sink->set_dests_id({op->operator_id()}); + RETURN_IF_ERROR(new_pipe->set_sink(cache_sink)); + return Status::OK(); + }; const bool group_by_limit_opt = tnode.agg_node.__isset.agg_sort_info_by_group_key && tnode.limit > 0; @@ -1256,24 +1281,59 @@ Status PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo request.query_options.__isset.enable_distinct_streaming_aggregation && request.query_options.enable_distinct_streaming_aggregation && !tnode.agg_node.grouping_exprs.empty() && !group_by_limit_opt) { - op.reset(new DistinctStreamingAggOperatorX(pool, next_operator_id(), tnode, descs, - _require_bucket_distribution)); - op->set_followed_by_shuffled_join(followed_by_shuffled_join); - _require_bucket_distribution = - _require_bucket_distribution || op->require_data_distribution(); - RETURN_IF_ERROR(cur_pipe->add_operator(op)); + if (enable_query_cache) { + PipelinePtr new_pipe; + RETURN_IF_ERROR(create_query_cache_operator(new_pipe)); + + op.reset(new DistinctStreamingAggOperatorX(pool, next_operator_id(), tnode, descs, + _require_bucket_distribution)); + op->set_followed_by_shuffled_join(false); + _require_bucket_distribution = true; + RETURN_IF_ERROR(new_pipe->add_operator(op)); + RETURN_IF_ERROR(cur_pipe->operators().front()->set_child(op)); + cur_pipe = new_pipe; + } else { + op.reset(new DistinctStreamingAggOperatorX(pool, next_operator_id(), tnode, descs, + _require_bucket_distribution)); + op->set_followed_by_shuffled_join(followed_by_shuffled_join); + _require_bucket_distribution = + _require_bucket_distribution || op->require_data_distribution(); + RETURN_IF_ERROR(cur_pipe->add_operator(op)); + } } else if (tnode.agg_node.__isset.use_streaming_preaggregation && tnode.agg_node.use_streaming_preaggregation && !tnode.agg_node.grouping_exprs.empty()) { - op.reset(new StreamingAggOperatorX(pool, next_operator_id(), tnode, descs)); - RETURN_IF_ERROR(cur_pipe->add_operator(op)); + if (enable_query_cache) { + PipelinePtr new_pipe; + RETURN_IF_ERROR(create_query_cache_operator(new_pipe)); + + op.reset(new StreamingAggOperatorX(pool, next_operator_id(), tnode, descs)); + RETURN_IF_ERROR(cur_pipe->operators().front()->set_child(op)); + RETURN_IF_ERROR(new_pipe->add_operator(op)); + cur_pipe = new_pipe; + } else { + op.reset(new StreamingAggOperatorX(pool, next_operator_id(), tnode, descs)); + RETURN_IF_ERROR(cur_pipe->add_operator(op)); + } } else { + // create new pipeline to add query cache operator + PipelinePtr new_pipe; + if (enable_query_cache) { + RETURN_IF_ERROR(create_query_cache_operator(new_pipe)); + } + if (enable_spill) { op.reset(new PartitionedAggSourceOperatorX(pool, tnode, next_operator_id(), descs)); } else { op.reset(new AggSourceOperatorX(pool, tnode, next_operator_id(), descs)); } - RETURN_IF_ERROR(cur_pipe->add_operator(op)); + if (enable_query_cache) { + RETURN_IF_ERROR(cur_pipe->operators().front()->set_child(op)); + RETURN_IF_ERROR(new_pipe->add_operator(op)); + cur_pipe = new_pipe; + } else { + RETURN_IF_ERROR(cur_pipe->add_operator(op)); + } const auto downstream_pipeline_id = cur_pipe->id(); if (_dag.find(downstream_pipeline_id) == _dag.end()) { diff --git a/be/src/pipeline/query_cache/query_cache.cpp b/be/src/pipeline/query_cache/query_cache.cpp new file mode 100644 index 00000000000000..e6d41ecaba5893 --- /dev/null +++ b/be/src/pipeline/query_cache/query_cache.cpp @@ -0,0 +1,70 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "query_cache.h" + +namespace doris { + +std::vector* QueryCacheHandle::get_cache_slot_orders() { + DCHECK(_handle); + auto result_ptr = reinterpret_cast(_handle)->value; + return &((QueryCache::CacheValue*)(result_ptr))->slot_orders; +} + +CacheResult* QueryCacheHandle::get_cache_result() { + DCHECK(_handle); + auto result_ptr = reinterpret_cast(_handle)->value; + return &((QueryCache::CacheValue*)(result_ptr))->result; +} + +int64_t QueryCacheHandle::get_cache_version() { + DCHECK(_handle); + auto result_ptr = reinterpret_cast(_handle)->value; + return ((QueryCache::CacheValue*)(result_ptr))->version; +} + +void QueryCache::insert(const CacheKey& key, int64_t version, CacheResult& res, + const std::vector& slot_orders, int64_t cache_size) { + SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(ExecEnv::GetInstance()->query_cache_mem_tracker()); + CacheResult cache_result; + for (auto& block_data : res) { + cache_result.emplace_back(vectorized::Block::create_unique()) + ->swap(block_data->clone_empty()); + (void)vectorized::MutableBlock(cache_result.back().get()).merge(*block_data); + } + auto cache_value_ptr = + std::make_unique(version, std::move(cache_result), slot_orders); + + QueryCacheHandle(this, LRUCachePolicyTrackingManual::insert( + key, (void*)cache_value_ptr.release(), cache_size, cache_size, + CachePriority::NORMAL)); +} + +bool QueryCache::lookup(const CacheKey& key, int64_t version, doris::QueryCacheHandle* handle) { + SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(ExecEnv::GetInstance()->query_cache_mem_tracker()); + auto* lru_handle = LRUCachePolicy::lookup(key); + if (lru_handle) { + QueryCacheHandle tmp_handle(this, lru_handle); + if (tmp_handle.get_cache_version() == version) { + *handle = std::move(tmp_handle); + return true; + } + } + return false; +} + +} // namespace doris \ No newline at end of file diff --git a/be/src/pipeline/query_cache/query_cache.h b/be/src/pipeline/query_cache/query_cache.h new file mode 100644 index 00000000000000..6ec00b91f7816c --- /dev/null +++ b/be/src/pipeline/query_cache/query_cache.h @@ -0,0 +1,151 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "common/config.h" +#include "common/status.h" +#include "io/fs/file_system.h" +#include "io/fs/path.h" +#include "olap/lru_cache.h" +#include "runtime/exec_env.h" +#include "runtime/memory/lru_cache_policy.h" +#include "runtime/memory/mem_tracker.h" +#include "util/slice.h" +#include "util/time.h" + +namespace doris { + +using CacheResult = std::vector; +// A handle for mid-result from query lru cache. +// The handle will automatically release the cache entry when it is destroyed. +// So the caller need to make sure the handle is valid in lifecycle. +class QueryCacheHandle { +public: + QueryCacheHandle() = default; + QueryCacheHandle(LRUCachePolicy* cache, Cache::Handle* handle) + : _cache(cache), _handle(handle) {} + + ~QueryCacheHandle() { + if (_handle != nullptr) { + CHECK(_cache != nullptr); + { + SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER( + ExecEnv::GetInstance()->query_cache_mem_tracker()); + _cache->release(_handle); + } + } + } + + QueryCacheHandle(QueryCacheHandle&& other) noexcept { + std::swap(_cache, other._cache); + std::swap(_handle, other._handle); + } + + QueryCacheHandle& operator=(QueryCacheHandle&& other) noexcept { + std::swap(_cache, other._cache); + std::swap(_handle, other._handle); + return *this; + } + + std::vector* get_cache_slot_orders(); + + CacheResult* get_cache_result(); + + int64_t get_cache_version(); + +private: + LRUCachePolicy* _cache = nullptr; + Cache::Handle* _handle = nullptr; + + // Don't allow copy and assign + DISALLOW_COPY_AND_ASSIGN(QueryCacheHandle); +}; + +class QueryCache : public LRUCachePolicyTrackingManual { +public: + using LRUCachePolicyTrackingManual::insert; + + struct CacheValue : public LRUCacheValueBase { + int64_t version; + CacheResult result; + std::vector slot_orders; + + CacheValue(int64_t v, CacheResult&& r, const std::vector& so) + : LRUCacheValueBase(), version(v), result(std::move(r)), slot_orders(so) {} + }; + + // Create global instance of this class + static QueryCache* create_global_cache(size_t capacity, uint32_t num_shards = 16) { + auto* res = new QueryCache(capacity, num_shards); + return res; + } + + static Status build_cache_key(const std::vector& scan_ranges, + const TQueryCacheParam& cache_param, std::string* cache_key, + int64_t* version) { + if (scan_ranges.size() > 1) { + return Status::InternalError( + "CacheSourceOperator only support one scan range, plan error"); + } + auto& scan_range = scan_ranges[0]; + DCHECK(scan_range.scan_range.__isset.palo_scan_range); + auto tablet_id = scan_range.scan_range.palo_scan_range.tablet_id; + + std::from_chars(scan_range.scan_range.palo_scan_range.version.data(), + scan_range.scan_range.palo_scan_range.version.data() + + scan_range.scan_range.palo_scan_range.version.size(), + *version); + + auto find_tablet = cache_param.tablet_to_range.find(tablet_id); + if (find_tablet == cache_param.tablet_to_range.end()) { + return Status::InternalError("Not find tablet in partition_to_tablets, plan error"); + } + + *cache_key = cache_param.digest + + std::string(reinterpret_cast(&tablet_id), sizeof(tablet_id)) + + find_tablet->second; + + return Status::OK(); + } + + // Return global instance. + // Client should call create_global_cache before. + static QueryCache* instance() { return ExecEnv::GetInstance()->get_query_cache(); } + + QueryCache() = delete; + + QueryCache(size_t capacity, uint32_t num_shards) + : LRUCachePolicyTrackingManual(CachePolicy::CacheType::QUERY_CACHE, capacity, + LRUCacheType::SIZE, 3600 * 24, num_shards) {} + + bool lookup(const CacheKey& key, int64_t version, QueryCacheHandle* handle); + + void insert(const CacheKey& key, int64_t version, CacheResult& result, + const std::vector& solt_orders, int64_t cache_size); +}; +} // namespace doris diff --git a/be/src/runtime/exec_env.h b/be/src/runtime/exec_env.h index 98d82f274e746d..38fcaceb47953a 100644 --- a/be/src/runtime/exec_env.h +++ b/be/src/runtime/exec_env.h @@ -65,6 +65,7 @@ class InvertedIndexQueryCache; class TmpFileDirs; } // namespace segment_v2 +class QueryCache; class WorkloadSchedPolicyMgr; class BfdParser; class BrokerMgr; @@ -185,6 +186,9 @@ class ExecEnv { std::shared_ptr point_query_executor_mem_tracker() { return _point_query_executor_mem_tracker; } + std::shared_ptr query_cache_mem_tracker() { + return _query_cache_mem_tracker; + } std::shared_ptr block_compression_mem_tracker() { return _block_compression_mem_tracker; } @@ -303,6 +307,7 @@ class ExecEnv { segment_v2::InvertedIndexQueryCache* get_inverted_index_query_cache() { return _inverted_index_query_cache; } + QueryCache* get_query_cache() { return _query_cache; } std::shared_ptr get_dummy_lru_cache() { return _dummy_lru_cache; } pipeline::RuntimeFilterTimerQueue* runtime_filter_timer_queue() { @@ -365,6 +370,7 @@ class ExecEnv { // Tracking memory may be shared between multiple queries. std::shared_ptr _point_query_executor_mem_tracker; std::shared_ptr _block_compression_mem_tracker; + std::shared_ptr _query_cache_mem_tracker; // TODO, looking forward to more accurate tracking. std::shared_ptr _rowid_storage_reader_tracker; @@ -436,6 +442,7 @@ class ExecEnv { CacheManager* _cache_manager = nullptr; segment_v2::InvertedIndexSearcherCache* _inverted_index_searcher_cache = nullptr; segment_v2::InvertedIndexQueryCache* _inverted_index_query_cache = nullptr; + QueryCache* _query_cache = nullptr; std::shared_ptr _dummy_lru_cache = nullptr; std::unique_ptr _file_cache_open_fd_cache; diff --git a/be/src/runtime/exec_env_init.cpp b/be/src/runtime/exec_env_init.cpp index 834e402ca1ebb4..a69709d24d2466 100644 --- a/be/src/runtime/exec_env_init.cpp +++ b/be/src/runtime/exec_env_init.cpp @@ -56,6 +56,7 @@ #include "olap/tablet_schema_cache.h" #include "olap/wal/wal_manager.h" #include "pipeline/pipeline_tracing.h" +#include "pipeline/query_cache/query_cache.h" #include "pipeline/task_queue.h" #include "pipeline/task_scheduler.h" #include "runtime/broker_mgr.h" @@ -578,6 +579,9 @@ Status ExecEnv::_init_mem_env() { _orc_memory_pool = new doris::vectorized::ORCMemoryPool(); _arrow_memory_pool = new doris::vectorized::ArrowMemoryPool(); + _query_cache = QueryCache::create_global_cache(config::query_cache_size * 1024L * 1024L); + LOG(INFO) << "query cache memory limit: " << config::query_cache_size << "MB"; + return Status::OK(); } @@ -597,7 +601,9 @@ void ExecEnv::init_mem_tracker() { MemTrackerLimiter::create_shared(MemTrackerLimiter::Type::GLOBAL, "SegCompaction"); _point_query_executor_mem_tracker = MemTrackerLimiter::create_shared(MemTrackerLimiter::Type::GLOBAL, "PointQueryExecutor"); - _block_compression_mem_tracker = + _query_cache_mem_tracker = + MemTrackerLimiter::create_shared(MemTrackerLimiter::Type::GLOBAL, "QueryCache"); + _block_compression_mem_tracker = _block_compression_mem_tracker = MemTrackerLimiter::create_shared(MemTrackerLimiter::Type::GLOBAL, "BlockCompression"); _rowid_storage_reader_tracker = MemTrackerLimiter::create_shared(MemTrackerLimiter::Type::GLOBAL, "RowIdStorageReader"); @@ -687,6 +693,7 @@ void ExecEnv::destroy() { SAFE_DELETE(_schema_cache); SAFE_DELETE(_segment_loader); SAFE_DELETE(_row_cache); + SAFE_DELETE(_query_cache); // Free resource after threads are stopped. // Some threads are still running, like threads created by _new_load_stream_mgr ... diff --git a/be/src/runtime/memory/cache_policy.h b/be/src/runtime/memory/cache_policy.h index c43ca0b2fb7e0a..5241efb9c2924a 100644 --- a/be/src/runtime/memory/cache_policy.h +++ b/be/src/runtime/memory/cache_policy.h @@ -48,6 +48,7 @@ class CachePolicy { CLOUD_TXN_DELETE_BITMAP_CACHE = 17, NONE = 18, // not be used FOR_UT_CACHE_NUMBER = 19, + QUERY_CACHE = 20 }; static std::string type_string(CacheType type) { @@ -90,6 +91,8 @@ class CachePolicy { return "CloudTxnDeleteBitmapCache"; case CacheType::FOR_UT_CACHE_NUMBER: return "ForUTCacheNumber"; + case CacheType::QUERY_CACHE: + return "QUERY_CACHE"; default: LOG(FATAL) << "not match type of cache policy :" << static_cast(type); } diff --git a/be/src/runtime/memory/mem_tracker_limiter.cpp b/be/src/runtime/memory/mem_tracker_limiter.cpp index 59546b11d51a8a..5b3867b5347d61 100644 --- a/be/src/runtime/memory/mem_tracker_limiter.cpp +++ b/be/src/runtime/memory/mem_tracker_limiter.cpp @@ -127,7 +127,7 @@ MemTrackerLimiter::~MemTrackerLimiter() { "4. If you need to " "transfer memory tracking value between two trackers, can use transfer_to."; if (_consumption->current_value() != 0) { - // TODO, expect mem tracker equal to 0 at the load/compaction/etc. task end. +// TODO, expect mem tracker equal to 0 at the load/compaction/etc. task end. #ifndef NDEBUG if (_type == Type::QUERY || (_type == Type::LOAD && !is_group_commit_load)) { std::string err_msg = diff --git a/be/src/vec/core/block.cpp b/be/src/vec/core/block.cpp index 8bcce65f229ed7..d4644fca4898d8 100644 --- a/be/src/vec/core/block.cpp +++ b/be/src/vec/core/block.cpp @@ -45,12 +45,10 @@ #include "util/runtime_profile.h" #include "util/simd/bits.h" #include "util/slice.h" -#include "vec/aggregate_functions/aggregate_function.h" #include "vec/columns/column.h" #include "vec/columns/column_const.h" #include "vec/columns/column_nullable.h" #include "vec/columns/column_vector.h" -#include "vec/columns/columns_number.h" #include "vec/common/assert_cast.h" #include "vec/data_types/data_type_factory.hpp" #include "vec/data_types/data_type_nullable.h" From f21eb484448f48da41fb6bdecf92c2e525812905 Mon Sep 17 00:00:00 2001 From: Xin Liao Date: Wed, 11 Sep 2024 14:29:09 +0800 Subject: [PATCH 172/199] [chore](cloud) return detail message when commit txn failed (#40584) --- .../doris/cloud/transaction/CloudGlobalTransactionMgr.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java index f224d2929a65c1..6e61e48c22600b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java @@ -554,8 +554,10 @@ private void commitTxn(CommitTxnRequest commitTxnRequest, long transactionId, bo StringBuilder internalMsgBuilder = new StringBuilder("commitTxn failed, transactionId:"); internalMsgBuilder.append(transactionId); - internalMsgBuilder.append(" code:"); + internalMsgBuilder.append(", code:"); internalMsgBuilder.append(commitTxnResponse.getStatus().getCode()); + internalMsgBuilder.append(", msg:"); + internalMsgBuilder.append(commitTxnResponse.getStatus().getMsg()); throw new UserException("internal error, " + internalMsgBuilder.toString()); } From 8e37fb46185c01d77a4cca175662afa7f2a89d1b Mon Sep 17 00:00:00 2001 From: hui lai <1353307710@qq.com> Date: Wed, 11 Sep 2024 14:43:48 +0800 Subject: [PATCH 173/199] [fix](cloud) fix routine load job stuck if commit transaction failed (#40539) At the before commit stage, a write lock will be added. If the commit transaction fails, the thread will return directly and the write lock will no longer be released which cause job stuck. --- .../transaction/CloudGlobalTransactionMgr.java | 18 +++++++++++++++++- .../doris/load/routineload/RoutineLoadJob.java | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java index 6e61e48c22600b..7349efb3fca56d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java @@ -505,7 +505,17 @@ private void commitTransaction(long dbId, List
tableList, long transactio } final CommitTxnRequest commitTxnRequest = builder.build(); - commitTxn(commitTxnRequest, transactionId, is2PC, dbId, tableList); + try { + commitTxn(commitTxnRequest, transactionId, is2PC, dbId, tableList); + } catch (UserException e) { + // For routine load, it is necessary to release the write lock when commit transaction fails, + // otherwise it will cause the lock added in beforeCommitted to not be released. + if (txnCommitAttachment != null && txnCommitAttachment instanceof RLTaskTxnCommitAttachment) { + RLTaskTxnCommitAttachment rlTaskTxnCommitAttachment = (RLTaskTxnCommitAttachment) txnCommitAttachment; + Env.getCurrentEnv().getRoutineLoadManager().getJob(rlTaskTxnCommitAttachment.getJobId()).writeUnlock(); + } + throw e; + } } private void commitTxn(CommitTxnRequest commitTxnRequest, long transactionId, boolean is2PC, long dbId, @@ -1037,6 +1047,12 @@ public void abortTransaction(Long dbId, Long transactionId, String reason, Preconditions.checkNotNull(abortTxnResponse.getStatus()); } catch (RpcException e) { LOG.warn("abortTxn failed, transactionId:{}, Exception", transactionId, e); + // For routine load, it is necessary to release the write lock when abort transaction fails, + // otherwise it will cause the lock added in beforeAborted to not be released. + if (txnCommitAttachment != null && txnCommitAttachment instanceof RLTaskTxnCommitAttachment) { + RLTaskTxnCommitAttachment rlTaskTxnCommitAttachment = (RLTaskTxnCommitAttachment) txnCommitAttachment; + Env.getCurrentEnv().getRoutineLoadManager().getJob(rlTaskTxnCommitAttachment.getJobId()).writeUnlock(); + } throw new UserException("abortTxn failed, errMsg:" + e.getMessage()); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java index 8e3ed8c4682d44..ac4a548c62f897 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/RoutineLoadJob.java @@ -485,7 +485,7 @@ protected void writeLock() { lock.writeLock().lock(); } - protected void writeUnlock() { + public void writeUnlock() { lock.writeLock().unlock(); } From 36828f2994e1c0439b98f7c28e5842edbf1629ac Mon Sep 17 00:00:00 2001 From: zclllhhjj Date: Wed, 11 Sep 2024 15:10:36 +0800 Subject: [PATCH 174/199] [Fix](load) fix wrong replica number when loading to table with no partition (#40635) now in auto-partition situation it will occur. may effect the txn commit check. --- .../main/java/org/apache/doris/planner/OlapTableSink.java | 6 +----- .../java/org/apache/doris/planner/OlapTableSinkTest.java | 6 ------ 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java index 6c2cb8bd130a0f..c07f16b82b94e9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java @@ -215,11 +215,7 @@ public void complete(Analyzer analyzer) throws UserException { tSink.setTableId(dstTable.getId()); tSink.setTupleId(tupleDescriptor.getId().asInt()); - int numReplicas = 1; - for (Partition partition : dstTable.getPartitions()) { - numReplicas = dstTable.getPartitionInfo().getReplicaAllocation(partition.getId()).getTotalReplicaNum(); - break; - } + int numReplicas = dstTable.getTableProperty().getReplicaAllocation().getTotalReplicaNum(); tSink.setNumReplicas(numReplicas); tSink.setNeedGenRollup(dstTable.shouldLoadToNewRollup()); tSink.setSchema(createSchema(tSink.getDbId(), dstTable, analyzer)); diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/OlapTableSinkTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/OlapTableSinkTest.java index 7baf4a3509758a..4b43738b22e9a1 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/OlapTableSinkTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/OlapTableSinkTest.java @@ -126,7 +126,6 @@ public void testRangePartition( Column partKey = new Column("k2", PrimitiveType.VARCHAR); Partition p1 = new Partition(1, "p1", index, distInfo); - Partition p2 = new Partition(2, "p2", index, distInfo); new Expectations() { { @@ -140,8 +139,6 @@ public void testRangePartition( result = PartitionType.RANGE; partInfo.getPartitionColumns(); result = Lists.newArrayList(partKey); - dstTable.getPartitions(); - result = Lists.newArrayList(p1, p2); dstTable.getPartition(p1.getId()); result = p1; } @@ -190,7 +187,6 @@ public void testListPartition( Column partKey = new Column("k2", PrimitiveType.VARCHAR); Partition p1 = new Partition(1, "p1", index, distInfo); - Partition p2 = new Partition(2, "p2", index, distInfo); new Expectations() { { @@ -204,8 +200,6 @@ public void testListPartition( result = PartitionType.LIST; partInfo.getPartitionColumns(); result = Lists.newArrayList(partKey); - dstTable.getPartitions(); - result = Lists.newArrayList(p1, p2); dstTable.getPartition(p1.getId()); result = p1; } From 898d5254ccb47ff9461ee9dfd63a5abe6c8aab7d Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Wed, 11 Sep 2024 15:23:11 +0800 Subject: [PATCH 175/199] [fix](Nereids) sink distribute is wrong when table is unpartitioned (#40541) --- .../nereids/trees/plans/physical/PhysicalOlapTableSink.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapTableSink.java index dbe02884db2e4e..a04912f5119879 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalOlapTableSink.java @@ -203,7 +203,7 @@ public PhysicalProperties getRequirePhysicalProperties() { if (distributionInfo instanceof HashDistributionInfo) { // Do not enable shuffle for duplicate key tables when its tablet num is less than threshold. if (targetTable.getKeysType() == KeysType.DUP_KEYS) { - final long partitionNums = targetTable.getPartitionInfo().getAllPartitions().size(); + final long partitionNums = Math.max(targetTable.getPartitionInfo().getAllPartitions().size(), 1); final long tabletNums = partitionNums * distributionInfo.getBucketNum(); if (tabletNums < Config.min_tablets_for_dup_table_shuffle) { return PhysicalProperties.ANY; From c6c112344fccb4e8c68591f1fbfae1ba1d8c4997 Mon Sep 17 00:00:00 2001 From: Pxl Date: Wed, 11 Sep 2024 15:29:01 +0800 Subject: [PATCH 176/199] [Chore](cast) remove some typeid_cast usage (#40601) ## Proposed changes remove some typeid_cast usage --- be/src/vec/columns/column_array.cpp | 34 ++++++++------ be/src/vec/columns/column_map.cpp | 7 +-- be/src/vec/common/typeid_cast.h | 23 --------- be/src/vec/functions/function_ip.h | 60 +++++++++++------------- be/src/vec/functions/function_map.cpp | 6 +-- be/src/vec/functions/function_struct.cpp | 6 +-- be/src/vec/functions/function_totype.h | 1 - be/src/vec/functions/if.cpp | 11 +---- 8 files changed, 53 insertions(+), 95 deletions(-) diff --git a/be/src/vec/columns/column_array.cpp b/be/src/vec/columns/column_array.cpp index 2889e7ff381709..fb76a93e95c12c 100644 --- a/be/src/vec/columns/column_array.cpp +++ b/be/src/vec/columns/column_array.cpp @@ -600,17 +600,19 @@ ColumnPtr ColumnArray::filter_string(const Filter& filt, ssize_t result_size_hin size_t col_size = get_offsets().size(); column_match_filter_size(col_size, filt.size()); - if (0 == col_size) return ColumnArray::create(data); + if (!col_size) { + return ColumnArray::create(data); + } auto res = ColumnArray::create(data->clone_empty()); - const ColumnString& src_string = typeid_cast(*data); + const auto& src_string = assert_cast(*data); const ColumnString::Chars& src_chars = src_string.get_chars(); const auto& src_string_offsets = src_string.get_offsets(); const auto& src_offsets = get_offsets(); - ColumnString::Chars& res_chars = typeid_cast(res->get_data()).get_chars(); - auto& res_string_offsets = typeid_cast(res->get_data()).get_offsets(); + ColumnString::Chars& res_chars = assert_cast(res->get_data()).get_chars(); + auto& res_string_offsets = assert_cast(res->get_data()).get_offsets(); auto& res_offsets = res->get_offsets(); if (result_size_hint < 0) { @@ -667,7 +669,7 @@ size_t ColumnArray::filter_string(const Filter& filter) { return ColumnArray::create(data); } - ColumnString& src_string = typeid_cast(*data); + auto& src_string = assert_cast(*data); auto* src_chars = src_string.get_chars().data(); auto* src_string_offsets = src_string.get_offsets().data(); auto* src_offsets = get_offsets().data(); @@ -871,16 +873,18 @@ ColumnPtr ColumnArray::replicate_number(const IColumn::Offsets& replicate_offset MutableColumnPtr res = clone_empty(); - if (0 == col_size) return res; + if (!col_size) { + return res; + } - ColumnArray& res_arr = typeid_cast(*res); + auto& res_arr = assert_cast(*res); const typename ColumnVector::Container& src_data = - typeid_cast&>(*data).get_data(); + assert_cast&>(*data).get_data(); const auto& src_offsets = get_offsets(); typename ColumnVector::Container& res_data = - typeid_cast&>(res_arr.get_data()).get_data(); + assert_cast&>(res_arr.get_data()).get_data(); auto& res_offsets = res_arr.get_offsets(); res_data.reserve(data->size() / col_size * replicate_offsets.back()); @@ -918,17 +922,19 @@ ColumnPtr ColumnArray::replicate_string(const IColumn::Offsets& replicate_offset MutableColumnPtr res = clone_empty(); - if (0 == col_size) return res; + if (!col_size) { + return res; + } - ColumnArray& res_arr = assert_cast(*res); + auto& res_arr = assert_cast(*res); - const ColumnString& src_string = typeid_cast(*data); + const auto& src_string = assert_cast(*data); const ColumnString::Chars& src_chars = src_string.get_chars(); const auto& src_string_offsets = src_string.get_offsets(); const auto& src_offsets = get_offsets(); - ColumnString::Chars& res_chars = typeid_cast(res_arr.get_data()).get_chars(); - auto& res_string_offsets = typeid_cast(res_arr.get_data()).get_offsets(); + ColumnString::Chars& res_chars = assert_cast(res_arr.get_data()).get_chars(); + auto& res_string_offsets = assert_cast(res_arr.get_data()).get_offsets(); auto& res_offsets = res_arr.get_offsets(); res_chars.reserve(src_chars.size() / col_size * replicate_offsets.back()); diff --git a/be/src/vec/columns/column_map.cpp b/be/src/vec/columns/column_map.cpp index b83ff6709dd16d..c7e3fcd9ed6007 100644 --- a/be/src/vec/columns/column_map.cpp +++ b/be/src/vec/columns/column_map.cpp @@ -47,12 +47,7 @@ ColumnMap::ColumnMap(MutableColumnPtr&& keys, MutableColumnPtr&& values, Mutable : keys_column(std::move(keys)), values_column(std::move(values)), offsets_column(std::move(offsets)) { - const COffsets* offsets_concrete = typeid_cast(offsets_column.get()); - - if (!offsets_concrete) { - throw doris::Exception(doris::ErrorCode::INTERNAL_ERROR, - "offsets_column must be a ColumnUInt64."); - } + const auto* offsets_concrete = assert_cast(offsets_column.get()); if (!offsets_concrete->empty() && keys_column && values_column) { auto last_offset = offsets_concrete->get_data().back(); diff --git a/be/src/vec/common/typeid_cast.h b/be/src/vec/common/typeid_cast.h index 85f99b492cdeb9..e135ef3309d2ec 100644 --- a/be/src/vec/common/typeid_cast.h +++ b/be/src/vec/common/typeid_cast.h @@ -29,33 +29,10 @@ #include "common/status.h" #include "vec/common/demangle.h" -#define TYPEID_MAP(_A) \ - template <> \ - inline constexpr TypeIndex TypeToTypeIndex<_A> = TypeIndex::_A; \ - template <> \ - struct TypeIndexToTypeHelper : std::true_type { \ - using T = _A; \ - }; - /** Checks type by comparing typeid. * The exact match of the type is checked. That is, cast to the ancestor will be unsuccessful. * In the rest, behaves like a dynamic_cast. */ -template - requires std::is_reference_v -To typeid_cast(From& from) { - try { - if (typeid(from) == typeid(To)) { - return static_cast(from); - } - } catch (const std::exception& e) { - throw doris::Exception(doris::ErrorCode::BAD_CAST, e.what()); - } - - throw doris::Exception(doris::ErrorCode::BAD_CAST, - "Bad cast from type " + demangle(typeid(from).name()) + " to " + - demangle(typeid(To).name())); -} template To typeid_cast(From* from) { diff --git a/be/src/vec/functions/function_ip.h b/be/src/vec/functions/function_ip.h index 72d38f51e17ac0..30b901b4459dc0 100644 --- a/be/src/vec/functions/function_ip.h +++ b/be/src/vec/functions/function_ip.h @@ -57,40 +57,36 @@ class FunctionIPv4NumToString : public IFunction { using ColumnType = ColumnVector; const ColumnPtr& column = argument.column; - if (const auto* col = typeid_cast(column.get())) { - const typename ColumnType::Container& vec_in = col->get_data(); - auto col_res = ColumnString::create(); - - ColumnString::Chars& vec_res = col_res->get_chars(); - ColumnString::Offsets& offsets_res = col_res->get_offsets(); - - vec_res.resize(vec_in.size() * - (IPV4_MAX_TEXT_LENGTH + 1)); /// the longest value is: 255.255.255.255\0 - offsets_res.resize(vec_in.size()); - char* begin = reinterpret_cast(vec_res.data()); - char* pos = begin; - - auto null_map = ColumnUInt8::create(vec_in.size(), 0); - size_t src_size = std::min(sizeof(ArgType), (unsigned long)4); - for (size_t i = 0; i < vec_in.size(); ++i) { - auto value = vec_in[i]; - if (value < IPV4_MIN_NUM_VALUE || value > IPV4_MAX_NUM_VALUE) { - offsets_res[i] = pos - begin; - null_map->get_data()[i] = 1; - } else { - format_ipv4(reinterpret_cast(&vec_in[i]), src_size, pos); - offsets_res[i] = pos - begin; - } - } + const auto* col = assert_cast(column.get()); + const typename ColumnType::Container& vec_in = col->get_data(); + auto col_res = ColumnString::create(); - vec_res.resize(pos - begin); - block.replace_by_position( - result, ColumnNullable::create(std::move(col_res), std::move(null_map))); - return Status::OK(); - } else { - return Status::RuntimeError("Illegal column {} of argument of function {}", - argument.column->get_name(), get_name()); + ColumnString::Chars& vec_res = col_res->get_chars(); + ColumnString::Offsets& offsets_res = col_res->get_offsets(); + + vec_res.resize(vec_in.size() * + (IPV4_MAX_TEXT_LENGTH + 1)); /// the longest value is: 255.255.255.255\0 + offsets_res.resize(vec_in.size()); + char* begin = reinterpret_cast(vec_res.data()); + char* pos = begin; + + auto null_map = ColumnUInt8::create(vec_in.size(), 0); + size_t src_size = std::min(sizeof(ArgType), (unsigned long)4); + for (size_t i = 0; i < vec_in.size(); ++i) { + auto value = vec_in[i]; + if (value < IPV4_MIN_NUM_VALUE || value > IPV4_MAX_NUM_VALUE) { + offsets_res[i] = pos - begin; + null_map->get_data()[i] = 1; + } else { + format_ipv4(reinterpret_cast(&vec_in[i]), src_size, pos); + offsets_res[i] = pos - begin; + } } + + vec_res.resize(pos - begin); + block.replace_by_position(result, + ColumnNullable::create(std::move(col_res), std::move(null_map))); + return Status::OK(); } public: diff --git a/be/src/vec/functions/function_map.cpp b/be/src/vec/functions/function_map.cpp index 3269dde41cbada..d781fc6cac402b 100644 --- a/be/src/vec/functions/function_map.cpp +++ b/be/src/vec/functions/function_map.cpp @@ -87,11 +87,7 @@ class FunctionMap : public IFunction { size_t num_element = arguments.size(); auto result_col = block.get_by_position(result).type->create_column(); - auto* map_column = typeid_cast(result_col.get()); - if (!map_column) { - return Status::RuntimeError("unsupported types for function {} return {}", get_name(), - block.get_by_position(result).type->get_name()); - } + auto* map_column = assert_cast(result_col.get()); // map keys column auto& result_col_map_keys_data = map_column->get_keys(); diff --git a/be/src/vec/functions/function_struct.cpp b/be/src/vec/functions/function_struct.cpp index a106c14b835b68..a709589a285bc5 100644 --- a/be/src/vec/functions/function_struct.cpp +++ b/be/src/vec/functions/function_struct.cpp @@ -76,11 +76,7 @@ class FunctionStruct : public IFunction { Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments, size_t result, size_t input_rows_count) const override { auto result_col = block.get_by_position(result).type->create_column(); - auto struct_column = typeid_cast(result_col.get()); - if (!struct_column) { - return Status::RuntimeError("unsupported types for function {} return {}", get_name(), - block.get_by_position(result).type->get_name()); - } + auto struct_column = assert_cast(result_col.get()); ColumnNumbers args_num; for (size_t i = 0; i < arguments.size(); i++) { if (Impl::pred(i)) { diff --git a/be/src/vec/functions/function_totype.h b/be/src/vec/functions/function_totype.h index e6722a69411963..e86f5444299938 100644 --- a/be/src/vec/functions/function_totype.h +++ b/be/src/vec/functions/function_totype.h @@ -29,7 +29,6 @@ #include "vec/data_types/data_type_nullable.h" #include "vec/data_types/data_type_number.h" #include "vec/data_types/data_type_string.h" -#include "vec/functions/cast_type_to_either.h" #include "vec/functions/function.h" #include "vec/utils/util.hpp" diff --git a/be/src/vec/functions/if.cpp b/be/src/vec/functions/if.cpp index 102d1b63f1006c..ce44358830e561 100644 --- a/be/src/vec/functions/if.cpp +++ b/be/src/vec/functions/if.cpp @@ -171,7 +171,7 @@ size_t count_true_with_notnull(const ColumnPtr& col) { return null_count; } } else { - const auto* bool_col = typeid_cast(col.get()); + const auto* bool_col = assert_cast(col.get()); const auto* __restrict bool_data = bool_col->get_data().data(); return count - simd::count_zero_num((const int8_t*)bool_data, count); } @@ -612,7 +612,7 @@ class FunctionIf : public IFunction { return Status::OK(); } - const auto* cond_col = typeid_cast(arg_cond.column.get()); + const auto* cond_col = assert_cast(arg_cond.column.get()); const ColumnConst* cond_const_col = check_and_get_column_const>(arg_cond.column.get()); @@ -622,13 +622,6 @@ class FunctionIf : public IFunction { return Status::OK(); } - if (!cond_col) { - return Status::InvalidArgument( - "Illegal column {} of first argument of function {},Must be ColumnUInt8 or " - "ColumnConstUInt8.", - arg_cond.column->get_name(), get_name()); - } - WhichDataType which_type(arg_then.type); if (which_type.is_int() || which_type.is_float()) { Status status; From 73bf91a24808c93787eef9c8fd440e2d6ca8930a Mon Sep 17 00:00:00 2001 From: Dongyang Li Date: Wed, 11 Sep 2024 15:34:09 +0800 Subject: [PATCH 177/199] [chore](ci) tmp remove required of Clang Formatter on branch-2.0 (#40664) --- .asf.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.asf.yaml b/.asf.yaml index e71e55de23fc83..1ef19652d399a5 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -109,7 +109,6 @@ github: strict: false contexts: - License Check - - Clang Formatter - CheckStyle - P0 Regression (Doris Regression) - External Regression (Doris External Regression) From 042bfcef7b739b3c15b0931f21329c53f38c581f Mon Sep 17 00:00:00 2001 From: minghong Date: Wed, 11 Sep 2024 16:13:24 +0800 Subject: [PATCH 178/199] [opt](nereids) when table.rows > topn.limit+topn.offset, do not generate topn-filter (#40480) ## Proposed changes Issue Number: close #xxx --- .../post/TopnFilterPushDownVisitor.java | 8 +++- .../nereids_tpch_p0/tpch/topn_filter.groovy | 40 +++++++++++++++++++ .../point_query_p0/test_rowstore.groovy | 26 ++++++------ .../limit/test_map_select_with_limit.groovy | 16 ++++---- .../query_p0/test_array_orderby_limit.groovy | 9 +++-- 5 files changed, 73 insertions(+), 26 deletions(-) create mode 100644 regression-test/suites/nereids_tpch_p0/tpch/topn_filter.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/TopnFilterPushDownVisitor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/TopnFilterPushDownVisitor.java index a6ec5a70353c96..2d8989d9147c9d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/TopnFilterPushDownVisitor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/TopnFilterPushDownVisitor.java @@ -218,8 +218,12 @@ public Boolean visitPhysicalNestedLoopJoin(PhysicalNestedLoopJoin ctx.topn.getLimit() + ctx.topn.getOffset()) { + topnFilterContext.addTopnFilter(ctx.topn, relation, ctx.probeExpr); + return true; + } } return false; } diff --git a/regression-test/suites/nereids_tpch_p0/tpch/topn_filter.groovy b/regression-test/suites/nereids_tpch_p0/tpch/topn_filter.groovy new file mode 100644 index 00000000000000..cb752332cd51fc --- /dev/null +++ b/regression-test/suites/nereids_tpch_p0/tpch/topn_filter.groovy @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +suite("topn_filter") { + String db = context.config.getDbNameByFile(new File(context.file.parent)) + sql "use ${db}" + sql "set topn_opt_limit_threshold=1024" + sql "analyze table nation with sync" + // limit + offset > table.rows, do not generate topn filter + explain{ + sql "select * from nation order by n_nationkey limit 40;" + notContains ("TOPN OPT:") + } + explain{ + sql "select * from nation order by n_nationkey limit 4 offset 21;" + notContains ("TOPN OPT:") + } + + explain{ + sql "select * from nation order by n_nationkey limit 4 offset 20;" + contains ("TOPN OPT:1") + } + +} \ No newline at end of file diff --git a/regression-test/suites/point_query_p0/test_rowstore.groovy b/regression-test/suites/point_query_p0/test_rowstore.groovy index 5ab2f3e47e270e..8d7a28415c237c 100644 --- a/regression-test/suites/point_query_p0/test_rowstore.groovy +++ b/regression-test/suites/point_query_p0/test_rowstore.groovy @@ -283,11 +283,10 @@ suite("test_rowstore", "p0,nonConcurrent") { """ sql "select /*+ SET_VAR(enable_nereids_planner=true)*/ * from table_with_column_group where k1 = 1" - def tableName = "rs_query" - sql """DROP TABLE IF EXISTS ${tableName}""" + sql """DROP TABLE IF EXISTS rs_query""" sql "set enable_decimal256 = true" sql """ - CREATE TABLE IF NOT EXISTS ${tableName} ( + CREATE TABLE IF NOT EXISTS rs_query ( `k1` int(11) NULL COMMENT "", `v1` text NULL COMMENT "", `v2` DECIMAL(50, 18) NULL COMMENT "" @@ -303,26 +302,29 @@ suite("test_rowstore", "p0,nonConcurrent") { ) """ - sql """insert into ${tableName} values (1, 'abc', 1111919.12345678919)""" + sql """ + insert into rs_query values (1, 'abc', 1111919.12345678919), (2, 'abc', 1111919.12345678919); + analyze table rs_query with sync; + """ explain { - sql("select * from ${tableName} order by k1 limit 1") + sql("select * from rs_query order by k1 limit 1") contains "TOPN OPT" } - qt_sql """select * from ${tableName} order by k1 limit 1""" + qt_sql """select * from rs_query order by k1 limit 1""" sql """ - ALTER table ${tableName} ADD COLUMN new_column1 INT default "123"; + ALTER table rs_query ADD COLUMN new_column1 INT default "123"; """ - qt_sql """select * from ${tableName} where k1 = 1""" + qt_sql """select * from rs_query where k1 = 1""" sql """ - ALTER table ${tableName} ADD COLUMN new_column2 DATETIMEV2(3) DEFAULT "1970-01-01 00:00:00.111"; + ALTER table rs_query ADD COLUMN new_column2 DATETIMEV2(3) DEFAULT "1970-01-01 00:00:00.111"; """ sleep(1000) - qt_sql """select * from ${tableName} where k1 = 1""" + qt_sql """select * from rs_query where k1 = 1""" - sql """insert into ${tableName} values (2, 'def', 1111919.12345678919, 456, NULL)""" - qt_sql """select * from ${tableName} where k1 = 2""" + sql """insert into rs_query values (2, 'def', 1111919.12345678919, 456, NULL)""" + qt_sql """select * from rs_query where k1 = 2""" sql "set global enable_short_circuit_query_access_column_store = false" test { diff --git a/regression-test/suites/query_p0/limit/test_map_select_with_limit.groovy b/regression-test/suites/query_p0/limit/test_map_select_with_limit.groovy index 5a37b7b9bc1888..090706960556b9 100644 --- a/regression-test/suites/query_p0/limit/test_map_select_with_limit.groovy +++ b/regression-test/suites/query_p0/limit/test_map_select_with_limit.groovy @@ -16,11 +16,8 @@ // under the License. suite("test_map_select_with_limit", "query") { - // define a sql table - def testTable = "test_map_select_with_limit" - sql """ - CREATE TABLE IF NOT EXISTS ${testTable} ( + CREATE TABLE IF NOT EXISTS test_map_select_with_limit ( `k1` INT(11) NULL, `k2` MAP NULL ) ENGINE=OLAP @@ -35,15 +32,18 @@ suite("test_map_select_with_limit", "query") { ) """ // prepare data - sql """ INSERT INTO ${testTable} VALUES (100, {1: "amory", 2: "is", 3: "better"}) """ + sql """ + INSERT INTO test_map_select_with_limit VALUES (100, {1: "amory", 2: "is", 3: "better"}), (101, {1: "amory", 2: "is", 3: "better"}); + analyze table test_map_select_with_limit with sync; + """ // set topn_opt_limit_threshold = 1024 to make sure _internal_service to be request with proto request sql """ set topn_opt_limit_threshold = 1024 """ explain{ - sql("select * from ${testTable} order by k1 limit 1") + sql("select * from test_map_select_with_limit order by k1 limit 1") contains "TOPN" } - qt_select """ select * from ${testTable} order by k1 limit 1 """ -} + qt_select """ select * from test_map_select_with_limit order by k1 limit 1 """ +} \ No newline at end of file diff --git a/regression-test/suites/query_p0/test_array_orderby_limit.groovy b/regression-test/suites/query_p0/test_array_orderby_limit.groovy index 2fa3bb9c5ed838..a1de7219f9a16b 100644 --- a/regression-test/suites/query_p0/test_array_orderby_limit.groovy +++ b/regression-test/suites/query_p0/test_array_orderby_limit.groovy @@ -20,7 +20,7 @@ suite("test_array_char_orderby", "query") { def testTable = "test_array_char_orderby" sql """ - CREATE TABLE IF NOT EXISTS ${testTable} ( + CREATE TABLE IF NOT EXISTS test_array_char_orderby ( `k1` INT(11) NULL, `k2` array> NULL ) ENGINE=OLAP @@ -35,16 +35,17 @@ suite("test_array_char_orderby", "query") { ) """ // prepare data - sql """ INSERT INTO ${testTable} VALUES (100, [['abc']]) """ + sql """ INSERT INTO test_array_char_orderby VALUES (100, [['abc']]), (200, [['xyz']]) """ + sql "analyze table test_array_char_orderby with sync" // set topn_opt_limit_threshold = 1024 to make sure _internal_service to be request with proto request sql """ set topn_opt_limit_threshold = 1024 """ explain{ - sql("select * from ${testTable} order by k1 limit 1") + sql("select * from test_array_char_orderby order by k1 limit 1") contains "TOPN" } - qt_select """ select * from ${testTable} order by k1 limit 1 """ + qt_select """ select * from test_array_char_orderby order by k1 limit 1 """ sql "DROP TABLE IF EXISTS unpart_tbl_parquet_struct_3;" sql """ From 81bbd658c92657aa410f03960242b0dce5eca1c4 Mon Sep 17 00:00:00 2001 From: LiBinfeng <46676950+LiBinfeng-01@users.noreply.github.com> Date: Wed, 11 Sep 2024 16:42:37 +0800 Subject: [PATCH 179/199] [Feat](Nereids) support string functions fold constant by fe (#40441) support string functions fold constant by fe: Concat, Substring, Length, Lower, Upper, Trim, Ltrim, Rtrim, Replace, Left, Right, Locate, Instr, Ascii, Bin, ConcatWs, CharacterLength, Initcap, Md5, Md5Sum, Field, FindInSet, Repeat, Reverse, Space, SplitByChar, SplitByString, SplitPart, SubstringIndex, Strcmp, StrLeft, StrRight, Overlay, ParseUrl, UrlDecode, AppendTrailingCharIfAbsent, EndsWith, ExtractUrlParameter, Quote, ReplaceEmpty, Password --- .../rules/FoldConstantRuleOnFE.java | 3 + .../trees/expressions/ExecFunction.java | 5 + .../expressions/ExpressionEvaluator.java | 69 +- .../executable/StringArithmetic.java | 856 ++++++++++++++++++ .../expressions/functions/scalar/Field.java | 28 +- .../expressions/functions/scalar/Repeat.java | 2 + .../ArrayContainsToArrayOverlapTest.java | 5 +- .../doris/regression/suite/Suite.groovy | 14 + .../fold_constant/fold_constant_by_be.groovy | 2 +- .../fold_constant_string_arithmatic.groovy | 687 ++++++++++++++ 10 files changed, 1650 insertions(+), 21 deletions(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/executable/StringArithmetic.java create mode 100644 regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_string_arithmatic.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java index 1b830c7d11de41..400577f5a6a943 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java @@ -92,6 +92,7 @@ import com.google.common.collect.Lists; import org.apache.commons.codec.digest.DigestUtils; +import java.time.DateTimeException; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -443,6 +444,8 @@ public Expression visitCast(Cast cast, ExpressionRewriteContext context) { // If cast is from type coercion, we don't use NULL literal and will throw exception. throw t; } + } catch (DateTimeException e) { + return new NullLiteral(dataType); } } try { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/ExecFunction.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/ExecFunction.java index 6778c0971edcbd..126449f4b04e34 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/ExecFunction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/ExecFunction.java @@ -43,4 +43,9 @@ * return type */ String returnType(); + + /** + * hasVarArgsc + */ + boolean varArgs() default false; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/ExpressionEvaluator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/ExpressionEvaluator.java index 566798ec2d4e46..f3d471b2abedc4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/ExpressionEvaluator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/ExpressionEvaluator.java @@ -18,6 +18,7 @@ package org.apache.doris.nereids.trees.expressions; import org.apache.doris.catalog.Env; +import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; import org.apache.doris.nereids.trees.expressions.functions.BoundFunction; import org.apache.doris.nereids.trees.expressions.functions.agg.AggregateFunction; @@ -26,6 +27,7 @@ import org.apache.doris.nereids.trees.expressions.functions.executable.DateTimeExtractAndTransform; import org.apache.doris.nereids.trees.expressions.functions.executable.ExecutableFunctions; import org.apache.doris.nereids.trees.expressions.functions.executable.NumericArithmetic; +import org.apache.doris.nereids.trees.expressions.functions.executable.StringArithmetic; import org.apache.doris.nereids.trees.expressions.functions.executable.TimeRoundSeries; import org.apache.doris.nereids.trees.expressions.literal.DateLiteral; import org.apache.doris.nereids.trees.expressions.literal.Literal; @@ -36,6 +38,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMultimap; +import java.lang.reflect.Array; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; @@ -96,10 +99,30 @@ public Expression eval(Expression expression) { } private Expression invoke(Expression expression, String fnName, DataType[] args) { - FunctionSignature signature = new FunctionSignature(fnName, args, null); + FunctionSignature signature = new FunctionSignature(fnName, args, null, false); FunctionInvoker invoker = getFunction(signature); if (invoker != null) { try { + if (invoker.getSignature().hasVarArgs()) { + int fixedArgsSize = invoker.getSignature().getArgTypes().length - 1; + int totalSize = expression.children().size(); + Class[] parameterTypes = invoker.getMethod().getParameterTypes(); + Class parameterType = parameterTypes[parameterTypes.length - 1]; + Class componentType = parameterType.getComponentType(); + Object varArgs = Array.newInstance(componentType, totalSize - fixedArgsSize); + for (int i = fixedArgsSize; i < totalSize; i++) { + if (!(expression.children().get(i) instanceof NullLiteral)) { + Array.set(varArgs, i - fixedArgsSize, expression.children().get(i)); + } + } + Object[] objects = new Object[fixedArgsSize + 1]; + for (int i = 0; i < fixedArgsSize; i++) { + objects[i] = expression.children().get(i); + } + objects[fixedArgsSize] = varArgs; + + return invoker.invokeVars(objects); + } return invoker.invoke(expression.children()); } catch (AnalysisException e) { return expression; @@ -114,9 +137,34 @@ private FunctionInvoker getFunction(FunctionSignature signature) { DataType[] candidateTypes = candidate.getSignature().getArgTypes(); DataType[] expectedTypes = signature.getArgTypes(); + if (candidate.getSignature().hasVarArgs()) { + if (candidateTypes.length > expectedTypes.length) { + continue; + } + boolean match = true; + for (int i = 0; i < candidateTypes.length - 1; i++) { + if (!(expectedTypes[i].toCatalogDataType().matchesType(candidateTypes[i].toCatalogDataType()))) { + match = false; + break; + } + } + Type varType = candidateTypes[candidateTypes.length - 1].toCatalogDataType(); + for (int i = candidateTypes.length - 1; i < expectedTypes.length; i++) { + if (!(expectedTypes[i].toCatalogDataType().matchesType(varType))) { + match = false; + break; + } + } + if (match) { + return candidate; + } else { + continue; + } + } if (candidateTypes.length != expectedTypes.length) { continue; } + boolean match = true; for (int i = 0; i < candidateTypes.length; i++) { if (!(expectedTypes[i].toCatalogDataType().matchesType(candidateTypes[i].toCatalogDataType()))) { @@ -143,6 +191,7 @@ private void registerFunctions() { DateLiteral.class, DateTimeArithmetic.class, NumericArithmetic.class, + StringArithmetic.class, TimeRoundSeries.class ); for (Class cls : classes) { @@ -172,7 +221,7 @@ private void registerFEFunction(ImmutableMultimap.Builder args) throws AnalysisException { throw new AnalysisException(e.getLocalizedMessage()); } } + + public Literal invokeVars(Object[] args) throws AnalysisException { + try { + return (Literal) method.invoke(null, args); + } catch (InvocationTargetException | IllegalAccessException | IllegalArgumentException e) { + throw new AnalysisException(e.getLocalizedMessage()); + } + } } /** @@ -213,11 +270,13 @@ public static class FunctionSignature { private final String name; private final DataType[] argTypes; private final DataType returnType; + private final boolean hasVarArgs; - public FunctionSignature(String name, DataType[] argTypes, DataType returnType) { + public FunctionSignature(String name, DataType[] argTypes, DataType returnType, boolean hasVarArgs) { this.name = name; this.argTypes = argTypes; this.returnType = returnType; + this.hasVarArgs = hasVarArgs; } public DataType[] getArgTypes() { @@ -231,6 +290,10 @@ public DataType getReturnType() { public String getName() { return name; } + + public boolean hasVarArgs() { + return hasVarArgs; + } } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/executable/StringArithmetic.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/executable/StringArithmetic.java new file mode 100644 index 00000000000000..6f2ff11ad9a139 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/executable/StringArithmetic.java @@ -0,0 +1,856 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.expressions.functions.executable; + +import org.apache.doris.nereids.exceptions.AnalysisException; +import org.apache.doris.nereids.trees.expressions.ExecFunction; +import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.literal.ArrayLiteral; +import org.apache.doris.nereids.trees.expressions.literal.BigIntLiteral; +import org.apache.doris.nereids.trees.expressions.literal.BooleanLiteral; +import org.apache.doris.nereids.trees.expressions.literal.DateTimeLiteral; +import org.apache.doris.nereids.trees.expressions.literal.DateTimeV2Literal; +import org.apache.doris.nereids.trees.expressions.literal.DecimalLiteral; +import org.apache.doris.nereids.trees.expressions.literal.DecimalV3Literal; +import org.apache.doris.nereids.trees.expressions.literal.DoubleLiteral; +import org.apache.doris.nereids.trees.expressions.literal.FloatLiteral; +import org.apache.doris.nereids.trees.expressions.literal.IntegerLiteral; +import org.apache.doris.nereids.trees.expressions.literal.LargeIntLiteral; +import org.apache.doris.nereids.trees.expressions.literal.Literal; +import org.apache.doris.nereids.trees.expressions.literal.NullLiteral; +import org.apache.doris.nereids.trees.expressions.literal.SmallIntLiteral; +import org.apache.doris.nereids.trees.expressions.literal.StringLikeLiteral; +import org.apache.doris.nereids.trees.expressions.literal.StringLiteral; +import org.apache.doris.nereids.trees.expressions.literal.TinyIntLiteral; +import org.apache.doris.nereids.trees.expressions.literal.VarcharLiteral; + +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.List; + +/** + * executable functions: + * concat + */ +public class StringArithmetic { + private static Expression castStringLikeLiteral(StringLikeLiteral first, String value) { + if (first instanceof StringLiteral) { + return new StringLiteral(value); + } else if (first instanceof VarcharLiteral) { + return new VarcharLiteral(value); + } + throw new AnalysisException("Unsupported string literal type: " + first.getClass().getSimpleName()); + } + + /** + * Executable arithmetic functions concat + */ + @ExecFunction(name = "concat", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "VARCHAR") + public static Expression concatVarcharVarchar(StringLikeLiteral first, StringLikeLiteral second) { + String result = first.getValue() + second.getValue(); + return castStringLikeLiteral(first, result); + } + + private static String substringImpl(String first, int second, int third) { + int stringLength = first.length(); + if (stringLength == 0) { + return ""; + } + int leftIndex = 0; + if (second < (- stringLength)) { + return ""; + } else if (second < 0) { + leftIndex = stringLength + second; + } else if (second <= stringLength) { + leftIndex = second - 1; + } else { + return ""; + } + int rightIndex = 0; + if (third <= 0) { + return ""; + } else if ((third + leftIndex) > stringLength) { + rightIndex = stringLength; + } else { + rightIndex = third + leftIndex; + } + return first.substring(leftIndex, rightIndex); + } + + /** + * Executable arithmetic functions substring + */ + @ExecFunction(name = "substring", argTypes = {"VARCHAR", "INT", "INT"}, returnType = "VARCHAR") + public static Expression substringVarcharIntInt(StringLikeLiteral first, + IntegerLiteral second, IntegerLiteral third) { + return castStringLikeLiteral(first, substringImpl(first.getValue(), second.getValue(), third.getValue())); + } + + /** + * Executable arithmetic functions length + */ + @ExecFunction(name = "length", argTypes = {"VARCHAR"}, returnType = "INT") + public static Expression lengthVarchar(StringLikeLiteral first) { + return new IntegerLiteral(first.getValue().length()); + } + + /** + * Executable arithmetic functions Lower + */ + @ExecFunction(name = "lower", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression lowerVarchar(StringLikeLiteral first) { + return castStringLikeLiteral(first, first.getValue().toLowerCase()); + } + + /** + * Executable arithmetic functions Upper + */ + @ExecFunction(name = "upper", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression upperVarchar(StringLikeLiteral first) { + return castStringLikeLiteral(first, first.getValue().toUpperCase()); + } + + private static String trimImpl(String first, String second, boolean left, boolean right) { + String result = first; + String afterReplace = first; + if (left) { + do { + result = afterReplace; + afterReplace = result.replaceFirst("^" + second, ""); + } while (!afterReplace.equals(result)); + } + if (right) { + do { + result = afterReplace; + afterReplace = result.replaceFirst(second + "$", ""); + } while (!afterReplace.equals(result)); + } + return result; + } + + /** + * Executable arithmetic functions Trim + */ + @ExecFunction(name = "trim", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression trimVarchar(StringLikeLiteral first) { + return castStringLikeLiteral(first, trimImpl(first.getValue(), " ", true, true)); + } + + /** + * Executable arithmetic functions Trim + */ + @ExecFunction(name = "trim", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "VARCHAR") + public static Expression trimVarcharVarchar(StringLikeLiteral first, StringLikeLiteral second) { + return castStringLikeLiteral(first, trimImpl(first.getValue(), second.getValue(), true, true)); + } + + /** + * Executable arithmetic functions ltrim + */ + @ExecFunction(name = "ltrim", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression ltrimVarchar(StringLikeLiteral first) { + return castStringLikeLiteral(first, trimImpl(first.getValue(), " ", true, false)); + } + + /** + * Executable arithmetic functions ltrim + */ + @ExecFunction(name = "ltrim", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "VARCHAR") + public static Expression ltrimVarcharVarchar(StringLikeLiteral first, StringLikeLiteral second) { + return castStringLikeLiteral(first, trimImpl(first.getValue(), second.getValue(), true, false)); + } + + /** + * Executable arithmetic functions rtrim + */ + @ExecFunction(name = "rtrim", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression rtrimVarchar(StringLikeLiteral first) { + return castStringLikeLiteral(first, trimImpl(first.getValue(), " ", false, true)); + } + + /** + * Executable arithmetic functions rtrim + */ + @ExecFunction(name = "rtrim", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "VARCHAR") + public static Expression rtrimVarcharVarchar(StringLikeLiteral first, StringLikeLiteral second) { + return castStringLikeLiteral(first, trimImpl(first.getValue(), second.getValue(), false, true)); + } + + /** + * Executable arithmetic functions Replace + */ + @ExecFunction(name = "replace", argTypes = {"VARCHAR", "VARCHAR", "VARCHAR"}, returnType = "VARCHAR") + public static Expression replace(StringLikeLiteral first, StringLikeLiteral second, StringLikeLiteral third) { + if (second.getValue().length() == 0) { + return castStringLikeLiteral(first, first.getValue()); + } + return castStringLikeLiteral(first, first.getValue().replace(second.getValue(), third.getValue())); + } + + /** + * Executable arithmetic functions Left + */ + @ExecFunction(name = "left", argTypes = {"VARCHAR", "INT"}, returnType = "VARCHAR") + public static Expression left(StringLikeLiteral first, IntegerLiteral second) { + if (second.getValue() <= 0) { + return castStringLikeLiteral(first, ""); + } else if (second.getValue() < first.getValue().length()) { + return castStringLikeLiteral(first, first.getValue().substring(0, second.getValue())); + } else { + return first; + } + } + + /** + * Executable arithmetic functions Right + */ + @ExecFunction(name = "right", argTypes = {"VARCHAR", "INT"}, returnType = "VARCHAR") + public static Expression right(StringLikeLiteral first, IntegerLiteral second) { + if (second.getValue() < (- first.getValue().length()) || Math.abs(second.getValue()) == 0) { + return castStringLikeLiteral(first, ""); + } else if (second.getValue() > first.getValue().length()) { + return first; + } else { + if (second.getValue() > 0) { + return castStringLikeLiteral(first, first.getValue().substring( + first.getValue().length() - second.getValue(), first.getValue().length())); + } else { + return castStringLikeLiteral(first, first.getValue().substring( + Math.abs(second.getValue()) - 1, first.getValue().length())); + } + } + } + + /** + * Executable arithmetic functions Locate + */ + @ExecFunction(name = "locate", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "INT") + public static Expression locate(StringLikeLiteral first, StringLikeLiteral second) { + return new IntegerLiteral(second.getValue().trim().indexOf(first.getValue()) + 1); + } + + /** + * Executable arithmetic functions Instr + */ + @ExecFunction(name = "instr", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "INT") + public static Expression instr(StringLikeLiteral first, StringLikeLiteral second) { + return new IntegerLiteral(first.getValue().indexOf(second.getValue()) + 1); + } + + /** + * Executable arithmetic functions Ascii + */ + @ExecFunction(name = "ascii", argTypes = {"VARCHAR"}, returnType = "INT") + public static Expression ascii(StringLikeLiteral first) { + if (first.getValue().length() == 0) { + return new IntegerLiteral(0); + } + char firstChar = first.getValue().charAt(0); + return new IntegerLiteral(firstChar); + } + + /** + * Executable arithmetic functions Bin + */ + @ExecFunction(name = "bin", argTypes = {"BIGINT"}, returnType = "VARCHAR") + public static Expression bin(BigIntLiteral first) { + return new VarcharLiteral(Long.toBinaryString(first.getValue())); + } + + /** + * Executable arithmetic functions ConcatWs + */ + @ExecFunction(name = "concat_ws", argTypes = {"VARCHAR", "ARRAY"}, returnType = "VARCHAR") + public static Expression concatWsVarcharArray(StringLikeLiteral first, ArrayLiteral second) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < second.getValue().size() - 1; i++) { + if (!(second.getValue().get(i) instanceof NullLiteral)) { + sb.append(second.getValue().get(i).getValue()); + sb.append(first.getValue()); + } + } + sb.append(second.getValue().get(second.getValue().size() - 1).getValue()); + return castStringLikeLiteral(first, sb.toString()); + } + + /** + * Executable arithmetic functions ConcatWs + */ + @ExecFunction(varArgs = true, name = "concat_ws", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "VARCHAR") + public static Expression concatWsVarcharVarchar(StringLikeLiteral first, VarcharLiteral... second) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < second.length - 1; i++) { + sb.append(second[i].getValue()); + sb.append(first.getValue()); + } + sb.append(second[second.length - 1].getValue()); + return castStringLikeLiteral(first, sb.toString()); + } + + /** + * Executable arithmetic functions CharacterLength + */ + @ExecFunction(name = "character_length", argTypes = {"VARCHAR"}, returnType = "INT") + public static Expression characterLength(StringLikeLiteral first) { + return new IntegerLiteral(first.getValue().length()); + } + + private static boolean isSeparator(char c) { + if (".$|()[{^?*+\\".indexOf(c) == -1) { + return false; + } else { + return true; + } + } + + /** + * Executable arithmetic functions initCap + */ + @ExecFunction(name = "initcap", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression initCap(StringLikeLiteral first) { + StringBuilder result = new StringBuilder(first.getValue().length()); + boolean capitalizeNext = true; + + for (char c : first.getValue().toCharArray()) { + if (Character.isWhitespace(c) || isSeparator(c)) { + result.append(c); + capitalizeNext = true; // Next character should be capitalized + } else if (capitalizeNext) { + result.append(Character.toUpperCase(c)); + capitalizeNext = false; + } else { + result.append(Character.toLowerCase(c)); + } + } + return castStringLikeLiteral(first, result.toString()); + } + + /** + * Executable arithmetic functions md5 + */ + @ExecFunction(name = "md5", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression md5(StringLikeLiteral first) { + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + // Update the digest with the input bytes + md.update(first.getValue().getBytes()); + return castStringLikeLiteral(first, bytesToHex(md.digest())); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } + } + + /** + * Executable arithmetic functions md5 + */ + @ExecFunction(varArgs = true, name = "md5sum", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression md5Sum(VarcharLiteral... first) { + try { + // Step 1: Create a MessageDigest instance for MD5 + MessageDigest md = MessageDigest.getInstance("MD5"); + + // Step 2: Concatenate all strings in the list into one string + StringBuilder combinedInput = new StringBuilder(); + for (StringLikeLiteral input : first) { + combinedInput.append(input.getValue()); + } + + // Step 3: Convert the combined string to a byte array and pass it to the digest() method + byte[] messageDigest = md.digest(combinedInput.toString().getBytes()); + + // Step 4: Convert the byte array into a hexadecimal string + StringBuilder hexString = new StringBuilder(); + for (byte b : messageDigest) { + String hex = Integer.toHexString(0xff & b); + if (hex.length() == 1) { + hexString.append('0'); // Add leading zero if needed + } + hexString.append(hex); + } + + // Step 5: Return the hexadecimal string + return castStringLikeLiteral(first[0], hexString.toString()); + + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } + } + + // Helper method to convert a byte array to a hexadecimal string + private static String bytesToHex(byte[] bytes) { + StringBuilder sb = new StringBuilder(); + for (byte b : bytes) { + sb.append(String.format("%02x", b)); + } + return sb.toString(); + } + + private static int compareLiteral(Literal first, Literal... second) { + for (int i = 0; i < second.length; i++) { + if (second[i].getValue().equals(first.getValue())) { + return i + 1; + } + } + return 0; + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"INT", "INT"}, returnType = "INT") + public static Expression fieldInt(IntegerLiteral first, IntegerLiteral... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"TINYINT", "TINYINT"}, returnType = "INT") + public static Expression fieldTinyInt(TinyIntLiteral first, TinyIntLiteral... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"SMALLINT", "SMALLINT"}, returnType = "INT") + public static Expression fieldSmallInt(SmallIntLiteral first, SmallIntLiteral... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"BIGINT", "BIGINT"}, returnType = "INT") + public static Expression fieldBigInt(BigIntLiteral first, BigIntLiteral... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"LARGEINT", "LARGEINT"}, returnType = "INT") + public static Expression fieldLargeInt(LargeIntLiteral first, LargeIntLiteral... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"FLOAT", "FLOAT"}, returnType = "INT") + public static Expression fieldFloat(FloatLiteral first, FloatLiteral... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"DOUBLE", "DOUBLE"}, returnType = "INT") + public static Expression fieldDouble(DoubleLiteral first, DoubleLiteral... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"DECIMAL", "DECIMAL"}, returnType = "INT") + public static Expression fieldDecimalV2(DecimalLiteral first, DecimalLiteral... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"DECIMALV3", "DECIMALV3"}, returnType = "INT") + public static Expression fieldDecimalV3(DecimalV3Literal first, DecimalV3Literal... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"DATETIME", "DATETIME"}, returnType = "INT") + public static Expression fieldDateTime(DateTimeLiteral first, DateTimeLiteral... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"DATETIMEV2", "DATETIMEV2"}, returnType = "INT") + public static Expression fieldDateTimeV2(DateTimeV2Literal first, DateTimeV2Literal... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + /** + * Executable arithmetic functions field + */ + @ExecFunction(varArgs = true, name = "field", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "INT") + public static Expression fieldVarchar(StringLikeLiteral first, VarcharLiteral... second) { + return new IntegerLiteral(compareLiteral(first, second)); + } + + private static int findStringInSet(String target, String input) { + String[] split = input.split(","); + for (int i = 0; i < split.length; i++) { + if (split[i].equals(target)) { + return i + 1; + } + } + return 0; + } + + /** + * Executable arithmetic functions find_in_set + */ + @ExecFunction(name = "find_in_set", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "INT") + public static Expression findInSetVarchar(StringLikeLiteral first, StringLikeLiteral second) { + return new IntegerLiteral(findStringInSet(first.getValue(), second.getValue())); + } + + /** + * Executable arithmetic functions repeat + */ + @ExecFunction(name = "repeat", argTypes = {"VARCHAR", "INT"}, returnType = "VARCHAR") + public static Expression repeat(StringLikeLiteral first, IntegerLiteral second) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < second.getValue(); i++) { + sb.append(first.getValue()); + } + return castStringLikeLiteral(first, sb.toString()); + } + + /** + * Executable arithmetic functions reverse + */ + @ExecFunction(name = "reverse", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression reverseVarchar(StringLikeLiteral first) { + StringBuilder sb = new StringBuilder(); + sb.append(first.getValue()); + return castStringLikeLiteral(first, sb.reverse().toString()); + } + + /** + * Executable arithmetic functions space + */ + @ExecFunction(name = "space", argTypes = {"INT"}, returnType = "VARCHAR") + public static Expression space(IntegerLiteral first) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < first.getValue(); i++) { + sb.append(' '); + } + return new VarcharLiteral(sb.toString()); + } + + /** + * Executable arithmetic functions split_by_char + */ + @ExecFunction(name = "split_by_char", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "ARRAY") + public static Expression splitByChar(StringLikeLiteral first, StringLikeLiteral second) { + String[] result = first.getValue().split(second.getValue()); + List items = new ArrayList<>(); + for (int i = 1; i < result.length; i++) { + items.add((Literal) castStringLikeLiteral(first, result[i])); + } + return new ArrayLiteral(items); + } + + /** + * Executable arithmetic functions split_part + */ + @ExecFunction(name = "split_part", argTypes = {"VARCHAR", "VARCHAR", "INT"}, returnType = "VARCHAR") + public static Expression splitPart(StringLikeLiteral first, StringLikeLiteral chr, IntegerLiteral number) { + if (first.getValue().equals(chr.getValue())) { + if (Math.abs(number.getValue()) == 1 || Math.abs(number.getValue()) == 2) { + return castStringLikeLiteral(first, ""); + } + } + String separator = chr.getValue(); + String[] parts = null; + if (number.getValue() < 0) { + StringBuilder sb = new StringBuilder(first.getValue()); + StringBuilder seperatorBuilder = new StringBuilder(separator); + separator = seperatorBuilder.reverse().toString(); + if (".$|()[{^?*+\\".contains(separator) || separator.startsWith("\\")) { + separator = "\\" + separator; + } + parts = sb.reverse().toString().split(separator); + } else { + if (".$|()[{^?*+\\".contains(separator) || separator.startsWith("\\")) { + separator = "\\" + separator; + } + parts = first.getValue().split(separator); + } + + if (parts.length < Math.abs(number.getValue()) || number.getValue() == 0) { + if (parts.length == Math.abs(number.getValue()) - 1) { + if (number.getValue() < 0 && first.getValue().startsWith(chr.getValue()) + || number.getValue() > 0 && first.getValue().endsWith(chr.getValue())) { + return castStringLikeLiteral(first, ""); + } + } + return new NullLiteral(); + } else if (number.getValue() < 0) { + StringBuilder result = new StringBuilder(parts[Math.abs(number.getValue()) - 1]); + return castStringLikeLiteral(first, result.reverse().toString()); + } else { + return castStringLikeLiteral(first, parts[number.getValue() - 1]); + } + } + + /** + * Executable arithmetic functions substring_index + */ + @ExecFunction(name = "substring_index", argTypes = {"VARCHAR", "VARCHAR", "INT"}, returnType = "VARCHAR") + public static Expression substringIndex(StringLikeLiteral first, StringLikeLiteral chr, IntegerLiteral number) { + String[] parts = first.getValue().split(chr.getValue()); + if (Math.abs(number.getValue()) >= parts.length) { + return first; + } + int leftIndex; + int rightIndex; + if (parts.length < number.getValue() || number.getValue() < (- parts.length) || number.getValue() == 0) { + return castStringLikeLiteral(first, ""); + } else if (number.getValue() < 0) { + leftIndex = parts.length + number.getValue(); + rightIndex = parts.length; + } else { + leftIndex = 0; + rightIndex = number.getValue(); + } + StringBuilder sb = new StringBuilder(); + for (int i = leftIndex; i < rightIndex - 1; i++) { + sb.append(parts[i]); + sb.append(chr.getValue()); + } + sb.append(parts[rightIndex - 1]); + return castStringLikeLiteral(first, sb.toString()); + } + + /** + * Executable arithmetic functions strcmp + */ + @ExecFunction(name = "strcmp", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "TINYINT") + public static Expression strcmp(StringLikeLiteral first, StringLikeLiteral second) { + int result = first.getValue().compareTo(second.getValue()); + if (result == 0) { + return new TinyIntLiteral((byte) 0); + } else if (result < 0) { + return new TinyIntLiteral((byte) -1); + } else { + return new TinyIntLiteral((byte) 1); + } + } + + /** + * Executable arithmetic functions strLeft + */ + @ExecFunction(name = "strleft", argTypes = {"VARCHAR", "INT"}, returnType = "VARCHAR") + public static Expression strLeft(StringLikeLiteral first, IntegerLiteral second) { + if (second.getValue() <= 0) { + return castStringLikeLiteral(first, ""); + } else if (second.getValue() > first.getValue().length()) { + return first; + } else { + return castStringLikeLiteral(first, first.getValue().substring(0, second.getValue())); + } + } + + /** + * Executable arithmetic functions strRight + */ + @ExecFunction(name = "strright", argTypes = {"VARCHAR", "INT"}, returnType = "VARCHAR") + public static Expression strRight(StringLikeLiteral first, IntegerLiteral second) { + if (second.getValue() < (- first.getValue().length()) || Math.abs(second.getValue()) == 0) { + return castStringLikeLiteral(first, ""); + } else if (second.getValue() > first.getValue().length()) { + return first; + } else { + if (second.getValue() > 0) { + return castStringLikeLiteral(first, first.getValue().substring( + first.getValue().length() - second.getValue(), first.getValue().length())); + } else { + return castStringLikeLiteral(first, first.getValue().substring( + Math.abs(second.getValue()) - 1, first.getValue().length())); + } + } + } + + /** + * Executable arithmetic functions overlay + */ + @ExecFunction(name = "overlay", argTypes = {"VARCHAR", "INT", "INT", "VARCHAR"}, returnType = "VARCHAR") + public static Expression overlay(StringLikeLiteral first, + IntegerLiteral second, IntegerLiteral third, StringLikeLiteral four) { + StringBuilder sb = new StringBuilder(); + if (second.getValue() <= 0 || second.getValue() > first.getValue().length()) { + return first; + } else { + if (third.getValue() < 0 || third.getValue() > (first.getValue().length() - third.getValue())) { + sb.append(first.getValue().substring(0, second.getValue() - 1)); + sb.append(four.getValue()); + return castStringLikeLiteral(first, sb.toString()); + } else { + sb.append(first.getValue().substring(0, second.getValue() - 1)); + sb.append(four.getValue()); + sb.append(first.getValue().substring(second.getValue() + + third.getValue() - 1, first.getValue().length())); + return castStringLikeLiteral(first, sb.toString()); + } + } + } + + /** + * Executable arithmetic functions parseurl + */ + @ExecFunction(name = "parse_url", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "VARCHAR") + public static Expression parseurl(StringLikeLiteral first, StringLikeLiteral second) { + URI uri = null; + try { + uri = new URI(first.getValue()); + } catch (URISyntaxException e) { + throw new RuntimeException(e); + } + StringBuilder sb = new StringBuilder(); + switch (second.getValue().toUpperCase()) { + case "PROTOCOL": + sb.append(uri.getScheme()); // e.g., http, https + break; + case "HOST": + sb.append(uri.getHost()); // e.g., www.example.com + break; + case "PATH": + sb.append(uri.getPath()); // e.g., /page + break; + case "REF": + try { + sb.append(uri.toURL().getRef()); // e.g., /page + } catch (MalformedURLException e) { + throw new RuntimeException(e); + } + break; + case "AUTHORITY": + sb.append(uri.getAuthority()); // e.g., param1=value1¶m2=value2 + break; + case "FILE": + try { + sb.append(uri.toURL().getFile()); // e.g., param1=value1¶m2=value2 + } catch (MalformedURLException e) { + throw new RuntimeException(e); + } + break; + case "QUERY": + sb.append(uri.getQuery()); // e.g., param1=value1¶m2=value2 + break; + case "PORT": + sb.append(uri.getPort()); + break; + case "USERINFO": + sb.append(uri.getUserInfo()); // e.g., user:pass + break; + default: + throw new RuntimeException("Valid URL parts are 'PROTOCOL', 'HOST', " + + "'PATH', 'REF', 'AUTHORITY', 'FILE', 'USERINFO', 'PORT' and 'QUERY'"); + } + return castStringLikeLiteral(first, sb.toString()); + } + + /** + * Executable arithmetic functions urldecode + */ + @ExecFunction(name = "url_decode", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression urlDecode(StringLikeLiteral first) { + try { + return castStringLikeLiteral(first, URLDecoder.decode(first.getValue(), StandardCharsets.UTF_8.name())); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } + + /** + * Executable arithmetic functions append_trailing_char_if_absent + */ + @ExecFunction(name = "append_trailing_char_if_absent", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "VARCHAR") + public static Expression appendTrailingCharIfAbsent(StringLikeLiteral first, StringLikeLiteral second) { + if (first.getValue().endsWith(second.getValue())) { + return first; + } else { + return castStringLikeLiteral(first, first.getValue() + second.getValue()); + } + } + + /** + * Executable arithmetic functions endsWith + */ + @ExecFunction(name = "ends_with", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "BOOLEAN") + public static Expression endsWith(StringLikeLiteral first, StringLikeLiteral second) { + if (first.getValue().endsWith(second.getValue())) { + return BooleanLiteral.TRUE; + } else { + return BooleanLiteral.FALSE; + } + } + + /** + * Executable arithmetic functions extractUrlParameter + */ + @ExecFunction(name = "extract_url_parameter", argTypes = {"VARCHAR", "VARCHAR"}, returnType = "VARCHAR") + public static Expression extractUrlParameter(StringLikeLiteral first, StringLikeLiteral second) { + if (first.getValue() == null || first.getValue().indexOf('?') == -1) { + return castStringLikeLiteral(first, ""); + } + + String[] urlParts = first.getValue().split("\\?"); + if (urlParts.length > 1) { + String query = urlParts[1]; + String[] pairs = query.split("&"); + + for (String pair : pairs) { + String[] keyValue = pair.split("="); + if (second.getValue().equals(keyValue[0])) { + return castStringLikeLiteral(first, keyValue[1]); + } + } + } + return castStringLikeLiteral(first, ""); + } + + /** + * Executable arithmetic functions quote + */ + @ExecFunction(name = "quote", argTypes = {"VARCHAR"}, returnType = "VARCHAR") + public static Expression quote(StringLikeLiteral first) { + return castStringLikeLiteral(first, "\'" + first.getValue() + "\'"); + } + + /** + * Executable arithmetic functions replaceEmpty + */ + @ExecFunction(name = "replace_empty", argTypes = {"VARCHAR", "VARCHAR", "VARCHAR"}, returnType = "VARCHAR") + public static Expression replaceEmpty(StringLikeLiteral first, StringLikeLiteral second, StringLikeLiteral third) { + return castStringLikeLiteral(first, first.getValue().replace(second.getValue(), third.getValue())); + } + +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Field.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Field.java index ea454178c7cc56..25bee5e40a4dc1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Field.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Field.java @@ -50,19 +50,21 @@ public class Field extends ScalarFunction implements ExplicitlyCastableSignature, PropagateNullable { public static final List SIGNATURES = ImmutableList.of( - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(TinyIntType.INSTANCE), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(SmallIntType.INSTANCE), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(IntegerType.INSTANCE), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(BigIntType.INSTANCE), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(LargeIntType.INSTANCE), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(FloatType.INSTANCE), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(DoubleType.INSTANCE), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(DecimalV2Type.SYSTEM_DEFAULT), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(DecimalV3Type.WILDCARD), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(DateV2Type.INSTANCE), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(DateTimeV2Type.SYSTEM_DEFAULT), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(VarcharType.SYSTEM_DEFAULT), - FunctionSignature.ret(IntegerType.INSTANCE).varArgs(StringType.INSTANCE) + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(TinyIntType.INSTANCE, TinyIntType.INSTANCE), + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(SmallIntType.INSTANCE, SmallIntType.INSTANCE), + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(IntegerType.INSTANCE, IntegerType.INSTANCE), + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(BigIntType.INSTANCE, BigIntType.INSTANCE), + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(LargeIntType.INSTANCE, LargeIntType.INSTANCE), + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(FloatType.INSTANCE, FloatType.INSTANCE), + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(DoubleType.INSTANCE, DoubleType.INSTANCE), + FunctionSignature.ret(IntegerType.INSTANCE) + .varArgs(DecimalV2Type.SYSTEM_DEFAULT, DecimalV2Type.SYSTEM_DEFAULT), + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(DecimalV3Type.WILDCARD, DecimalV3Type.WILDCARD), + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(DateV2Type.INSTANCE, DateV2Type.INSTANCE), + FunctionSignature.ret(IntegerType.INSTANCE) + .varArgs(DateTimeV2Type.SYSTEM_DEFAULT, DateTimeV2Type.SYSTEM_DEFAULT), + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT), + FunctionSignature.ret(IntegerType.INSTANCE).varArgs(StringType.INSTANCE, StringType.INSTANCE) ); /** diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Repeat.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Repeat.java index b85a812197f55b..5ed3b20ddb465b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Repeat.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Repeat.java @@ -25,6 +25,7 @@ import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; import org.apache.doris.nereids.types.IntegerType; import org.apache.doris.nereids.types.StringType; +import org.apache.doris.nereids.types.VarcharType; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; @@ -38,6 +39,7 @@ public class Repeat extends ScalarFunction implements BinaryExpression, ExplicitlyCastableSignature, AlwaysNullable { public static final List SIGNATURES = ImmutableList.of( + FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args(VarcharType.SYSTEM_DEFAULT, IntegerType.INSTANCE), FunctionSignature.ret(StringType.INSTANCE).args(StringType.INSTANCE, IntegerType.INSTANCE) ); diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/ArrayContainsToArrayOverlapTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/ArrayContainsToArrayOverlapTest.java index 1ef76c14347148..028d85ce097fe6 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/ArrayContainsToArrayOverlapTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/ArrayContainsToArrayOverlapTest.java @@ -19,7 +19,6 @@ import org.apache.doris.nereids.rules.expression.ExpressionRewriteTestHelper; import org.apache.doris.nereids.trees.expressions.And; -import org.apache.doris.nereids.trees.expressions.EqualTo; import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.Or; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraysOverlap; @@ -74,9 +73,7 @@ void testAndOther() { .getPlan(); Expression expression = plan.child(0).getExpressions().get(0).child(0); Assertions.assertTrue(expression instanceof Or); - Assertions.assertTrue(expression.child(0) instanceof Or); - Assertions.assertTrue(expression.child(0).child(0) instanceof ArraysOverlap); - Assertions.assertTrue(expression.child(0).child(1) instanceof EqualTo); + Assertions.assertTrue(expression.child(0) instanceof ArraysOverlap); Assertions.assertTrue(expression.child(1) instanceof And); } diff --git a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy index eb816ecb73f997..49e53cd94e3f99 100644 --- a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy +++ b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy @@ -1384,6 +1384,20 @@ class Suite implements GroovyInterceptable { Assert.assertEquals("FINISHED", result) } + void testFoldConst(String foldSql) { + String openFoldConstant = "set debug_skip_fold_constant=false"; + sql(openFoldConstant) + logger.info(foldSql) + List> resultByFoldConstant = sql(foldSql) + logger.info("result by fold constant: " + resultByFoldConstant.toString()) + String closeFoldConstant = "set debug_skip_fold_constant=true"; + sql(closeFoldConstant) + logger.info(foldSql) + List> resultExpected = sql(foldSql) + logger.info("result expected: " + resultExpected.toString()) + Assert.assertEquals(resultExpected, resultByFoldConstant) + } + String getJobName(String dbName, String mtmvName) { String showMTMV = "select JobName from mv_infos('database'='${dbName}') where Name = '${mtmvName}'"; logger.info(showMTMV) diff --git a/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_be.groovy b/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_be.groovy index a8ec9f45def68a..809b8e8b291d23 100644 --- a/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_be.groovy +++ b/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_be.groovy @@ -53,4 +53,4 @@ suite("fold_constant_by_be") { sql 'set query_timeout=12;' qt_sql "select sleep(sign(1)*5);" -} \ No newline at end of file +} diff --git a/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_string_arithmatic.groovy b/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_string_arithmatic.groovy new file mode 100644 index 00000000000000..2bcdfc2fd24068 --- /dev/null +++ b/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_string_arithmatic.groovy @@ -0,0 +1,687 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("fold_constant_string_arithmatic") { + def db = "fold_constant_string_arithmatic" + sql "create database if not exists ${db}" + + sql "set enable_nereids_planner=true" + sql "set enable_fallback_to_original_planner=false" + sql "set enable_fold_constant_by_be=false" + + testFoldConst("SELECT Concat('Hello', ' ', 'World')") + testFoldConst("SELECT Substring('Hello World', 1, 5)") + testFoldConst("SELECT Substring('1', 1, 1)") + testFoldConst("select 100, 'abc', substring('abc', 1, 2), substring(substring('abcdefg', 4, 3), 1, 2), null") + testFoldConst("SELECT Length('Hello World')") + testFoldConst("SELECT Lower('Hello World')") + testFoldConst("SELECT Upper('Hello World')") + testFoldConst("SELECT Trim(' Hello World ')") + testFoldConst("SELECT Trim('11111', 11)") + testFoldConst("SELECT Ltrim(' Hello World ')") + testFoldConst("SELECT LTrim(' 11111', 11)") + testFoldConst("SELECT LTrim('11111 ', 11)") + testFoldConst("SELECT Rtrim(' Hello World ')") + testFoldConst("SELECT RTrim('11111 ', 11)") + testFoldConst("SELECT RTrim(' 11111', 11)") + testFoldConst("SELECT Replace('Hello World', 'World', 'Everyone')") + testFoldConst("SELECT Left('Hello World', 5)") + testFoldConst("SELECT Right('Hello World', 5)") + testFoldConst("SELECT Locate('World', 'Hello World')") + testFoldConst("SELECT Instr('Hello World', 'World')") + testFoldConst("SELECT Ascii('A')") + testFoldConst("SELECT Bin(5)") + testFoldConst("SELECT Hex(255)") + testFoldConst("SELECT Unhex('FF')") + testFoldConst("SELECT Concat_Ws('-', '2024', '09', '02')") + testFoldConst("SELECT Char(65)") + testFoldConst("SELECT Character_Length('Hello World')") + testFoldConst("SELECT Initcap('hello world')") + testFoldConst("SELECT Md5('Hello World')") + testFoldConst("SELECT Md5Sum('Hello World')") +// testFoldConst("SELECT JsonExtract('{"key": "value"}', '$.key')") +// testFoldConst("SELECT JsonbExtractString('{"key": "value"}', '$.key')") +// testFoldConst("SELECT JsonContains('{"key": "value"}', '"key"')") +// testFoldConst("SELECT JsonLength('{"key1": "value1", "key2": "value2"}')") +// testFoldConst("SELECT JsonObject('key', 'value')") +// testFoldConst("SELECT JsonArray('value1', 'value2')") +// testFoldConst("SELECT JsonKeys('{"key1": "value1", "key2": "value2"}')") +// testFoldConst("SELECT JsonInsert('{"key1": "value1"}', '$.key2', 'value2')") +// testFoldConst("SELECT JsonReplace('{"key1": "value1"}', '$.key1', 'new_value')") +// testFoldConst("SELECT JsonSet('{"key1": "value1"}', '$.key2', 'value2')") +// testFoldConst("SELECT Json_Quote('Hello World')") +// testFoldConst("SELECT Json_UnQuote('"Hello World"')") + testFoldConst("SELECT Field('b', 'a', 'b', 'c')") + testFoldConst("SELECT Find_In_Set('b', 'a,b,c')") + testFoldConst("SELECT Repeat('Hello', 3)") + testFoldConst("SELECT Reverse('Hello')") + testFoldConst("SELECT length(Space(10))") +// testFoldConst("SELECT Split_By_Char('a,b,c',',')") has bug in be execution + testFoldConst("SELECT Split_By_String('a::b::c', '::')") + testFoldConst("SELECT Split_Part('a,b,c', ',', 2)") + testFoldConst("SELECT Substring_Index('a,b,c', ',', 2)") + testFoldConst("SELECT Strcmp('abc', 'abd')") + testFoldConst("SELECT StrLeft('Hello World', 5)") + testFoldConst("SELECT StrRight('Hello World', 5)") + testFoldConst("SELECT Overlay('abcdef', '123', 3, 2)") + testFoldConst("SELECT Parse_Url('http://www.example.com/path?query=abc', 'HOST')") + testFoldConst("SELECT Url_Decode('%20Hello%20World%20')") + + // Substring with negative start index + // Expected behavior: Depending on the SQL engine, might return an empty string or error. + testFoldConst("SELECT Substring('Hello World', -1, 5)") + + // Substring with length exceeding the string length + // Expected behavior: Return 'Hello' as the length exceeds the string length. + testFoldConst("SELECT Substring('Hello', 1, 10)") + + // Left with length greater than string length + // Expected behavior: Return 'Hello'. + testFoldConst("SELECT Left('Hello', 10)") + + // Right with length greater than string length + // Expected behavior: Return 'Hello'. + testFoldConst("SELECT Right('Hello', 10)") + + // SplitPart with part number greater than the number of parts + // Expected behavior: Return an empty string or error. + testFoldConst("SELECT Split_Part('a,b,c', ',', 5)") + + // SplitPart with negative part number + // Expected behavior: Return an empty string or error. + testFoldConst("SELECT Split_Part('a,b,c', ',', -1)") + + // Locate with the substring not present + // Expected behavior: Return 0 as 'World' is not found. + testFoldConst("SELECT Locate('World', 'Hello')") + + // Instr with the substring not present + // Expected behavior: Return 0 as 'World' is not found. + testFoldConst("SELECT Instr('Hello', 'World')") + + // Replace with an empty search string + // Expected behavior: Some SQL engines may treat this as a no-op, others might throw an error. + testFoldConst("SELECT Replace('Hello World', '', 'Everyone')") + + // Replace with an empty replacement string + // Expected behavior: Return 'Hello '. + testFoldConst("SELECT Replace('Hello World', 'World', '')") + + // Concat with NULL values + // Expected behavior: Depending on the SQL engine, may return 'HelloWorld' or NULL. + testFoldConst("SELECT Concat('Hello', NULL, 'World')") + + // Ltrim with a string that has no leading spaces + // Expected behavior: Return 'Hello'. + testFoldConst("SELECT Ltrim('Hello')") + + // Rtrim with a string that has no trailing spaces + // Expected behavior: Return 'Hello'. + testFoldConst("SELECT Rtrim('Hello')") + + // JsonExtract with an invalid JSON path + // Expected behavior: Return NULL or an empty string. +// testFoldConst("SELECT Json_Extract('{"key": "value"}', '$.invalid')") + + // JsonLength with a non-JSON string + // Expected behavior: Return NULL or error. + testFoldConst("SELECT Json_Length('Hello World')") + + // Field with a value not present in the list + // Expected behavior: Return 0 as 'd' is not found. + testFoldConst("SELECT Field('d', 'a', 'b', 'c')") + + // FindInSet with a value not present in the set + // Expected behavior: Return 0 as 'd' is not found. + testFoldConst("SELECT Find_In_Set('d', 'a,b,c')") + + // Repeat with a negative repeat count + // Expected behavior: Return an empty string or error. + testFoldConst("SELECT Repeat('Hello', -3)") + + // Space with a negative number of spaces + // Expected behavior: Return an empty string or error. + testFoldConst("SELECT Space(-5)") + + // SplitByChar with a delimiter not present in the string + // Expected behavior: Return the original string in a single element array. +// testFoldConst("SELECT Split_By_Char('abc', ',')") + + // SplitByString with a delimiter not present in the string + // Expected behavior: Return the original string in a single element array. + testFoldConst("SELECT Split_By_String('::', 'abc')") + + // Strcmp with two identical strings + // Expected behavior: Return 0 as the strings are equal. + testFoldConst("SELECT Strcmp('abc', 'abc')") + + // Strcmp with a null string + // Expected behavior: Return NULL or -1 depending on the SQL engine. + testFoldConst("SELECT Strcmp('abc', NULL)") + + // Hex with a negative number + // Expected behavior: Return the hexadecimal representation of the two's complement, or an error depending on the SQL engine. + testFoldConst("SELECT Hex(-255)") + + // Unhex with an invalid hexadecimal string + // Expected behavior: Return NULL or error as 'GHIJ' is not a valid hex string. + testFoldConst("SELECT Unhex('GHIJ')") + + // JsonReplace with a path that does not exist + // Expected behavior: Depending on the engine, might return the original JSON or an error. +// testFoldConst("SELECT Json_Replace('{"key": "value"}', '$.nonexistent', 'new_value')") + + // UrlDecode with an invalid percent-encoded string + // Expected behavior: Return NULL or error due to invalid encoding. + testFoldConst("SELECT Url_Decode('%ZZHello%20World')") + + testFoldConst("select elt(0, \"hello\", \"doris\")") + testFoldConst("select elt(1, \"hello\", \"doris\")") + testFoldConst("select elt(2, \"hello\", \"doris\")") + testFoldConst("select elt(3, \"hello\", \"doris\")") + testFoldConst("select c1, c2, elt(c1, c2) from (select number as c1, 'varchar' as c2 from numbers('number'='5') where number > 0) a") + + testFoldConst("select append_trailing_char_if_absent('a','c')") + testFoldConst("select append_trailing_char_if_absent('ac','c')") + + testFoldConst("select ascii('1')") + testFoldConst("select ascii('a')") + testFoldConst("select ascii('A')") + testFoldConst("select ascii('!')") + + testFoldConst("select bit_length(\"abc\")") + + testFoldConst("select char_length(\"abc\")") + + testFoldConst("select concat(\"a\", \"b\")") + testFoldConst("select concat(\"a\", \"b\", \"c\")") + testFoldConst("select concat(\"a\", null, \"c\")") + + testFoldConst("select concat_ws(\"or\", \"d\", \"is\")") + testFoldConst("select concat_ws(NULL, \"d\", \"is\")") + testFoldConst("select concat_ws(\"or\", \"d\", NULL,\"is\")") + testFoldConst("select concat_ws(\"or\", [\"d\", \"is\"])") + testFoldConst("select concat_ws(NULL, [\"d\", \"is\"])") + testFoldConst("select concat_ws(\"or\", [\"d\", NULL,\"is\"])") + testFoldConst("select concat_ws(\"or\", [\"d\", \"\",\"is\"])") + + testFoldConst("select ends_with(\"Hello doris\", \"doris\")") + testFoldConst("select ends_with(\"Hello doris\", \"Hello\")") + + testFoldConst("select find_in_set(\"b\", \"a,b,c\")") + testFoldConst("select find_in_set(\"d\", \"a,b,c\")") + testFoldConst("select find_in_set(null, \"a,b,c\")") + testFoldConst("select find_in_set(\"a\", null)") + + testFoldConst("select hex('1')") + testFoldConst("select hex('12')") + testFoldConst("select hex('@')") + testFoldConst("select hex('A')") + testFoldConst("select hex(12)") + testFoldConst("select hex(-1)") + testFoldConst("select hex('hello,doris')") + + testFoldConst("select unhex('@')") + testFoldConst("select unhex('68656C6C6F2C646F726973')") + testFoldConst("select unhex('41')") + testFoldConst("select unhex('4142')") + testFoldConst("select unhex('')") + testFoldConst("select unhex(NULL)") + + testFoldConst("select instr(\"abc\", \"b\")") + testFoldConst("select instr(\"abc\", \"d\")") + testFoldConst("select instr(\"abc\", null)") + testFoldConst("select instr(null, \"a\")") + testFoldConst("SELECT instr('foobar', '')") + testFoldConst("SELECT instr('上海天津北京杭州', '北京')") + + testFoldConst("SELECT lcase(\"AbC123\")") + testFoldConst("SELECT lower(\"AbC123\")") + + testFoldConst("SELECT initcap(\"AbC123abc abc.abc,?|abc\")") + + testFoldConst("select left(\"Hello doris\",5)") + testFoldConst("select right(\"Hello doris\",5)") + + testFoldConst("select length(\"abc\")") + + testFoldConst("SELECT LOCATE('bar', 'foobarbar')") + testFoldConst("SELECT LOCATE('xbar', 'foobar')") + testFoldConst("SELECT LOCATE('', 'foobar')") + testFoldConst("SELECT LOCATE('北京', '上海天津北京杭州')") + + testFoldConst("SELECT lpad(\"hi\", 5, \"xy\")") + testFoldConst("SELECT lpad(\"hi\", 1, \"xy\")") + testFoldConst("SELECT rpad(\"hi\", 5, \"xy\")") + testFoldConst("SELECT rpad(\"hi\", 1, \"xy\")") + + testFoldConst("SELECT ltrim(' ab d')") + + testFoldConst("select money_format(17014116)") + testFoldConst("select money_format(1123.456)") + testFoldConst("select money_format(1123.4)") + testFoldConst("select money_format(truncate(1000,10))") + + testFoldConst("select null_or_empty(null)") + testFoldConst("select null_or_empty(\"\")") + testFoldConst("select null_or_empty(\"a\")") + + testFoldConst("select not_null_or_empty(null)") + testFoldConst("select not_null_or_empty(\"\")") + testFoldConst("select not_null_or_empty(\"a\")") + + testFoldConst("SELECT repeat(\"a\", 3)") + testFoldConst("SELECT repeat(\"a\", -1)") + testFoldConst("SELECT repeat(\"a\", 0)") + testFoldConst("SELECT repeat(\"a\",null)") + testFoldConst("SELECT repeat(null,1)") + + testFoldConst("select replace(\"https://doris.apache.org:9090\", \":9090\", \"\")") + testFoldConst("select replace(\"https://doris.apache.org:9090\", \"\", \"new_str\")") + + testFoldConst("SELECT REVERSE('hello')") + + testFoldConst("select split_part('hello world', ' ', 1)") + testFoldConst("select split_part('hello world', ' ', 2)") + testFoldConst("select split_part('hello world', ' ', 0)") + testFoldConst("select split_part('hello world', ' ', -1)") + testFoldConst("select split_part('hello world', ' ', -2)") + testFoldConst("select split_part('hello world', ' ', -3)") + testFoldConst("select split_part('abc##123###xyz', '##', 0)") + testFoldConst("select split_part('abc##123###xyz', '##', 1)") + testFoldConst("select split_part('abc##123###xyz', '##', 3)") + testFoldConst("select split_part('abc##123###xyz', '##', 5)") + testFoldConst("select split_part('abc##123###xyz', '##', -1)") + testFoldConst("select split_part('abc##123###xyz', '##', -2)") + testFoldConst("select split_part('abc##123###xyz', '##', -4)") + + testFoldConst("select starts_with(\"hello world\",\"hello\")") + testFoldConst("select starts_with(\"hello world\",\"world\")") + testFoldConst("select starts_with(\"hello world\",null)") + + testFoldConst("select strleft(NULL, 1)") + testFoldConst("select strleft(\"good morning\", NULL)") + testFoldConst("select left(NULL, 1)") + testFoldConst("select left(\"good morning\", NULL)") + testFoldConst("select strleft(\"Hello doris\", 5)") + testFoldConst("select left(\"Hello doris\", 5)") + testFoldConst("select strright(NULL, 1)") + testFoldConst("select strright(\"good morning\", NULL)") + testFoldConst("select right(NULL, 1)") + testFoldConst("select right(\"good morning\", NULL)") + testFoldConst("select strright(\"Hello doris\", 5)") + testFoldConst("select right(\"Hello doris\", 5)") + testFoldConst("select strleft(\"good morning\", 120)") + testFoldConst("select strleft(\"good morning\", -5)") + testFoldConst("select strright(\"Hello doris\", 120)") + testFoldConst("select strright(\"Hello doris\", -5)") + testFoldConst("select left(\"good morning\", 120)") + testFoldConst("select left(\"good morning\", -5)") + testFoldConst("select right(\"Hello doris\", 120)") + testFoldConst("select right(\"Hello doris\", -6)") + + testFoldConst("select substring('abc1', 2)") + testFoldConst("select substring('abc1', -2)") + testFoldConst("select substring('abc1', 5)") + testFoldConst("select substring('abc1def', 2, 2)") + testFoldConst("select substring('abcdef',3,-1)") + testFoldConst("select substring('abcdef',-3,-1)") + testFoldConst("select substring('abcdef',10,1)") + + testFoldConst("select substr('a',3,1)") + testFoldConst("select substr('a',2,1)") + testFoldConst("select substr('a',1,1)") + testFoldConst("select substr('a',0,1)") + testFoldConst("select substr('a',-1,1)") + testFoldConst("select substr('a',-2,1)") + testFoldConst("select substr('a',-3,1)") + testFoldConst("select substr('abcdef',3,-1)") + testFoldConst("select substr('abcdef',-3,-1)") + + testFoldConst("select sub_replace(\"this is origin str\",\"NEW-STR\",1)") + testFoldConst("select sub_replace(\"doris\",\"***\",1,2)") + + testFoldConst("select substring_index(\"hello world\", \" \", 1)") + testFoldConst("select substring_index(\"hello world\", \" \", 2)") + testFoldConst("select substring_index(\"hello world\", \" \", 3)") + testFoldConst("select substring_index(\"hello world\", \" \", -1)") + testFoldConst("select substring_index(\"hello world\", \" \", -2)") + testFoldConst("select substring_index(\"hello world\", \" \", -3)") + testFoldConst("select substring_index(\"prefix__string2\", \"__\", 2)") + testFoldConst("select substring_index(\"prefix__string2\", \"_\", 2)") + testFoldConst("select substring_index(\"prefix_string2\", \"__\", 1)") + testFoldConst("select substring_index(null, \"__\", 1)") + testFoldConst("select substring_index(\"prefix_string\", null, 1)") + testFoldConst("select substring_index(\"prefix_string\", \"_\", null)") + testFoldConst("select substring_index(\"prefix_string\", \"__\", -1)") + + testFoldConst("select elt(0, \"hello\", \"doris\")") + testFoldConst("select elt(1, \"hello\", \"doris\")") + testFoldConst("select elt(2, \"hello\", \"doris\")") + testFoldConst("select elt(3, \"hello\", \"doris\")") + + testFoldConst("select sub_replace(\"this is origin str\",\"NEW-STR\",1)") + testFoldConst("select sub_replace(\"doris\",\"***\",1,2)") + + testFoldConst("select strcmp('a', 'abc')") + testFoldConst("select strcmp('abc', 'abc')") + testFoldConst("select strcmp('abcd', 'abc')") + + testFoldConst("SELECT Concat(cast('Hello' as string), cast(' ' as string), cast('World' as string))") + testFoldConst("SELECT Substring(cast('Hello World' as string), 1, 5)") + testFoldConst("SELECT Substring(cast('1' as string), 1, 1)") + testFoldConst("SELECT 100, cast('abc' as string), Substring(cast('abc' as string), 1, 2), Substring(Substring(cast('abcdefg' as string), 4, 3), 1, 2), null") + testFoldConst("SELECT Length(cast('Hello World' as string))") + testFoldConst("SELECT Lower(cast('Hello World' as string))") + testFoldConst("SELECT Upper(cast('Hello World' as string))") + testFoldConst("SELECT Trim(cast(' Hello World ' as string))") + testFoldConst("SELECT Trim(cast('11111' as string), cast(11 as string))") + testFoldConst("SELECT Ltrim(cast(' Hello World ' as string))") + testFoldConst("SELECT LTrim(cast(' 11111' as string), cast(11 as string))") + testFoldConst("SELECT LTrim(cast('11111 ' as string), cast(11 as string))") + testFoldConst("SELECT Rtrim(cast(' Hello World ' as string))") + testFoldConst("SELECT RTrim(cast('11111 ' as string), cast(11 as string))") + testFoldConst("SELECT RTrim(cast(' 11111' as string), cast(11 as string))") + testFoldConst("SELECT Replace(cast('Hello World' as string), cast('World' as string), cast('Everyone' as string))") + testFoldConst("SELECT Left(cast('Hello World' as string), 5)") + testFoldConst("SELECT Right(cast('Hello World' as string), 5)") + testFoldConst("SELECT Locate(cast('World' as string), cast('Hello World' as string))") + testFoldConst("SELECT Instr(cast('Hello World' as string), cast('World' as string))") + testFoldConst("SELECT Ascii(cast('A' as string))") + testFoldConst("SELECT Bin(5)") + testFoldConst("SELECT Hex(255)") + testFoldConst("SELECT Unhex(cast('FF' as string))") +// testFoldConst("SELECT Concat_Ws(cast('-' as string), cast('2024' as string), cast('09' as string), cast('02' as string))") + testFoldConst("SELECT Char(65)") + testFoldConst("SELECT Character_Length(cast('Hello World' as string))") + testFoldConst("SELECT Initcap(cast('hello world' as string))") + testFoldConst("SELECT Md5(cast('Hello World' as string))") +// testFoldConst("SELECT Md5Sum(cast('Hello World' as string))") +// testFoldConst("SELECT JsonExtract(cast('{\"key\": \"value\"}' as string), cast('$.key' as string))") +// testFoldConst("SELECT JsonbExtractString(cast('{\"key\": \"value\"}' as string), cast('$.key' as string))") +// testFoldConst("SELECT JsonContains(cast('{\"key\": \"value\"}' as string), cast('\"key\"' as string))") +// testFoldConst("SELECT JsonLength(cast('{\"key1\": \"value1\", \"key2\": \"value2\"}' as string))") +// testFoldConst("SELECT JsonObject(cast('key' as string), cast('value' as string))") +// testFoldConst("SELECT JsonArray(cast('value1' as string), cast('value2' as string))") +// testFoldConst("SELECT JsonKeys(cast('{\"key1\": \"value1\", \"key2\": \"value2\"}' as string))") +// testFoldConst("SELECT JsonInsert(cast('{\"key1\": \"value1\"}' as string), cast('$.key2' as string), cast('value2' as string))") +// testFoldConst("SELECT JsonReplace(cast('{\"key1\": \"value1\"}' as string), cast('$.key1' as string), cast('new_value' as string))") +// testFoldConst("SELECT JsonSet(cast('{\"key1\": \"value1\"}' as string), cast('$.key2' as string), cast('value2' as string))") +// testFoldConst("SELECT Json_Quote(cast('Hello World' as string))") +// testFoldConst("SELECT Json_UnQuote(cast('\"Hello World\"' as string))") +// testFoldConst("SELECT Field(cast('b' as string), cast('a' as string), cast('b' as string), cast('c' as string))") + testFoldConst("SELECT Find_In_Set(cast('b' as string), cast('a,b,c' as string))") + testFoldConst("SELECT Repeat(cast('Hello' as string), 3)") + testFoldConst("SELECT Reverse(cast('Hello' as string))") + testFoldConst("SELECT length(Space(10))") +// testFoldConst("SELECT Split_By_Char(cast('a,b,c' as string), cast(',' as string))") has bug in be execution + testFoldConst("SELECT Split_By_String(cast('a::b::c' as string), cast('::' as string))") + testFoldConst("SELECT Split_Part(cast('a,b,c' as string), cast(',' as string), 2)") + testFoldConst("SELECT Substring_Index(cast('a,b,c' as string), cast(',' as string), 2)") + testFoldConst("SELECT Strcmp(cast('abc' as string), cast('abd' as string))") + testFoldConst("SELECT StrLeft(cast('Hello World' as string), 5)") + testFoldConst("SELECT StrRight(cast('Hello World' as string), 5)") + testFoldConst("SELECT Overlay(cast('abcdef' as string), cast('123' as string), 3, 2)") + testFoldConst("SELECT Parse_Url(cast('http://www.example.com/path?query=abc' as string), cast('HOST' as string))") + testFoldConst("SELECT Url_Decode(cast('%20Hello%20World%20' as string))") + +// Substring with negative start index +// Expected behavior: Depending on the SQL engine, might return an empty string or error. + testFoldConst("SELECT Substring(cast('Hello World' as string), -1, 5)") + +// Substring with length exceeding the string length +// Expected behavior: Return 'Hello' as the length exceeds the string length. + testFoldConst("SELECT Substring(cast('Hello' as string), 1, 10)") + +// Left with length greater than string length +// Expected behavior: Return 'Hello'. + testFoldConst("SELECT Left(cast('Hello' as string), 10)") + +// Right with length greater than string length +// Expected behavior: Return 'Hello'. + testFoldConst("SELECT Right(cast('Hello' as string), 10)") + +// SplitPart with part number greater than the number of parts +// Expected behavior: Return an empty string or error. + testFoldConst("SELECT Split_Part(cast('a,b,c' as string), cast(',' as string), 5)") + +// SplitPart with negative part number +// Expected behavior: Return an empty string or error. + testFoldConst("SELECT Split_Part(cast('a,b,c' as string), cast(',' as string), -1)") + +// Locate with the substring not present +// Expected behavior: Return 0 as 'World' is not found. + testFoldConst("SELECT Locate(cast('World' as string), cast('Hello' as string))") + +// Instr with the substring not present +// Expected behavior: Return 0 as 'World' is not found. + testFoldConst("SELECT Instr(cast('Hello' as string), cast('World' as string))") + +// Replace with an empty search string +// Expected behavior: Some SQL engines may treat this as a no-op, others might throw an error. + testFoldConst("SELECT Replace(cast('Hello World' as string), '', cast('Everyone' as string))") + +// Replace with an empty replacement string +// Expected behavior: Return 'Hello '. + testFoldConst("SELECT Replace(cast('Hello World' as string), cast('World' as string), '')") + +// Concat with NULL values +// Expected behavior: Depending on the SQL engine, may return 'HelloWorld' or NULL. + testFoldConst("SELECT Concat(cast('Hello' as string), NULL, cast('World' as string))") + +// Ltrim with a string that has no leading spaces +// Expected behavior: Return 'Hello'. + testFoldConst("SELECT Ltrim(cast('Hello' as string))") + +// Rtrim with a string that has no trailing spaces +// Expected behavior: Return 'Hello'. + testFoldConst("SELECT Rtrim(cast('Hello' as string))") + +// Testing JSON Length function with a non-JSON string + testFoldConst("SELECT Json_Length(cast('Hello World' as string))") + +// Field with a value not present in the list +// testFoldConst("SELECT Field(cast('d' as string), cast('a' as string), cast('b' as string), cast('c' as string))") + +// FindInSet with a value not present in the set + testFoldConst("SELECT Find_In_Set(cast('d' as string), cast('a,b,c' as string))") + +// Repeat with a negative repeat count + testFoldConst("SELECT Repeat(cast('Hello' as string), -3)") + +// Space with a negative number of spaces + testFoldConst("SELECT Space(-5)") + +// SplitByChar with a delimiter not present in the string +// testFoldConst("SELECT Split_By_Char(cast('abc' as string), cast(',' as string))") + +// SplitByString with a delimiter not present in the string + testFoldConst("SELECT Split_By_String(cast('abc' as string), cast('::' as string))") + +// Strcmp with two identical strings + testFoldConst("SELECT Strcmp(cast('abc' as string), cast('abc' as string))") + +// Strcmp with a null string + testFoldConst("SELECT Strcmp(cast('abc' as string), NULL)") + +// Hex with a negative number + testFoldConst("SELECT Hex(-255)") + +// Unhex with an invalid hexadecimal string + testFoldConst("SELECT Unhex(cast('GHIJ' as string))") + +// UrlDecode with an invalid percent-encoded string + testFoldConst("SELECT Url_Decode(cast('%ZZHello%20World' as string))") + +// Additional function tests + testFoldConst("SELECT Elt(0, cast('hello' as string), cast('doris' as string))") + testFoldConst("SELECT Elt(1, cast('hello' as string), cast('doris' as string))") + testFoldConst("SELECT Elt(2, cast('hello' as string), cast('doris' as string))") + testFoldConst("SELECT Elt(3, cast('hello' as string), cast('doris' as string))") + testFoldConst("SELECT Append_Trailing_Char_If_Absent(cast('a' as string), cast('c' as string))") + testFoldConst("SELECT Append_Trailing_Char_If_Absent(cast('ac' as string), cast('c' as string))") + testFoldConst("SELECT Ascii(cast('1' as string))") + testFoldConst("SELECT Ascii(cast('a' as string))") + testFoldConst("SELECT Ascii(cast('A' as string))") + testFoldConst("SELECT Ascii(cast('!' as string))") + testFoldConst("SELECT Bit_Length(cast('abc' as string))") + testFoldConst("SELECT Char_Length(cast('abc' as string))") + testFoldConst("SELECT Concat(cast('a' as string), cast('b' as string))") + testFoldConst("SELECT Concat(cast('a' as string), cast('b' as string), cast('c' as string))") + testFoldConst("SELECT Concat(cast('a' as string), NULL, cast('c' as string))") +// testFoldConst("SELECT Concat_Ws(cast('or' as string), cast('d' as string), cast('is' as string))") +// testFoldConst("SELECT Concat_Ws(NULL, cast('d' as string), cast('is' as string))") +// testFoldConst("SELECT Concat_Ws(cast('or' as string), cast('d' as string), NULL, cast('is' as string))") +// testFoldConst("SELECT Concat_Ws(cast('or' as string), cast('d' as string), cast('' as string), cast('is' as string))") + testFoldConst("SELECT Ends_With(cast('Hello doris' as string), cast('doris' as string))") + testFoldConst("SELECT Ends_With(cast('Hello doris' as string), cast('Hello' as string))") + testFoldConst("SELECT Find_In_Set(cast('b' as string), cast('a,b,c' as string))") + testFoldConst("SELECT Find_In_Set(cast('d' as string), cast('a,b,c' as string))") + testFoldConst("SELECT Find_In_Set(NULL, cast('a,b,c' as string))") + testFoldConst("SELECT Find_In_Set(cast('a' as string), NULL)") + testFoldConst("SELECT Hex(cast('1' as string))") + testFoldConst("SELECT Hex(cast('12' as string))") + testFoldConst("SELECT Hex(cast('@' as string))") + testFoldConst("SELECT Hex(cast('A' as string))") + testFoldConst("SELECT Hex(12)") + testFoldConst("SELECT Hex(-1)") + testFoldConst("SELECT Hex(cast('hello,doris' as string))") + testFoldConst("SELECT Unhex(cast('@' as string))") + testFoldConst("SELECT Unhex(cast('68656C6C6F2C646F726973' as string))") + testFoldConst("SELECT Unhex(cast('41' as string))") + testFoldConst("SELECT Unhex(cast('4142' as string))") + testFoldConst("SELECT Unhex(cast('' as string))") + testFoldConst("SELECT Unhex(NULL)") + testFoldConst("SELECT Instr(cast('abc' as string), cast('b' as string))") + testFoldConst("SELECT Instr(cast('abc' as string), cast('d' as string))") + testFoldConst("SELECT Instr(cast('abc' as string), NULL)") + testFoldConst("SELECT Instr(NULL, cast('a' as string))") + testFoldConst("SELECT Lcase(cast('AbC123' as string))") + testFoldConst("SELECT Lower(cast('AbC123' as string))") + testFoldConst("SELECT Initcap(cast('AbC123abc abc.abc,?|abc' as string))") + testFoldConst("SELECT Left(cast('Hello doris' as string), 5)") + testFoldConst("SELECT Right(cast('Hello doris' as string), 5)") + testFoldConst("SELECT Length(cast('abc' as string))") + testFoldConst("SELECT LOCATE(cast('bar' as string), cast('foobarbar' as string))") + testFoldConst("SELECT LOCATE(cast('xbar' as string), cast('foobar' as string))") + testFoldConst("SELECT LOCATE(cast('' as string), cast('foobar' as string))") + testFoldConst("SELECT LOCATE(cast('北京' as string), cast('上海天津北京杭州' as string))") + testFoldConst("SELECT Lpad(cast('hi' as string), 5, cast('xy' as string))") + testFoldConst("SELECT Lpad(cast('hi' as string), 1, cast('xy' as string))") + testFoldConst("SELECT Rpad(cast('hi' as string), 5, cast('xy' as string))") + testFoldConst("SELECT Rpad(cast('hi' as string), 1, cast('xy' as string))") + testFoldConst("SELECT Ltrim(cast(' ab d' as string))") + testFoldConst("SELECT Money_Format(17014116)") + testFoldConst("SELECT Money_Format(1123.456)") + testFoldConst("SELECT Money_Format(1123.4)") + testFoldConst("SELECT Money_Format(Truncate(1000,10))") + testFoldConst("SELECT Null_Or_Empty(NULL)") + testFoldConst("SELECT Null_Or_Empty(cast('' as string))") + testFoldConst("SELECT Null_Or_Empty(cast('a' as string))") + testFoldConst("SELECT Not_Null_Or_Empty(NULL)") + testFoldConst("SELECT Not_Null_Or_Empty(cast('' as string))") + testFoldConst("SELECT Not_Null_Or_Empty(cast('a' as string))") + testFoldConst("SELECT Repeat(cast('a' as string), 3)") + testFoldConst("SELECT Repeat(cast('a' as string), -1)") + testFoldConst("SELECT Repeat(cast('a' as string), 0)") + testFoldConst("SELECT Repeat(NULL, 1)") + testFoldConst("SELECT Replace(cast('https://doris.apache.org:9090' as string), cast(':9090' as string), cast('' as string))") + testFoldConst("SELECT Replace(cast('https://doris.apache.org:9090' as string), cast('' as string), cast('new_str' as string))") + testFoldConst("SELECT REVERSE(cast('hello' as string))") + testFoldConst("SELECT Split_Part(cast('hello world' as string), cast(' ' as string), 1)") + testFoldConst("SELECT Split_Part(cast('hello world' as string), cast(' ' as string), 2)") + testFoldConst("SELECT Split_Part(cast('hello world' as string), cast(' ' as string), 3)") + testFoldConst("SELECT Concat(CAST('Hello' AS STRING), CAST(' ' AS STRING), CAST('World' AS STRING))") + testFoldConst("SELECT Concat(CAST('Hello' AS STRING), CAST(NULL AS STRING))") + testFoldConst("SELECT Concat(CAST(NULL AS STRING), CAST('World' AS STRING))") + + testFoldConst("SELECT Starts_With(CAST('hello world' AS STRING), CAST('hello' AS STRING))") + testFoldConst("SELECT Starts_With(CAST('hello world' AS STRING), CAST('world' AS STRING))") + testFoldConst("SELECT Starts_With(CAST('hello world' AS STRING), CAST(NULL AS STRING))") + + testFoldConst("SELECT StrLeft(CAST(NULL AS STRING), 1)") + testFoldConst("SELECT StrLeft(CAST('good morning' AS STRING), NULL)") + testFoldConst("SELECT Left(CAST(NULL AS STRING), 1)") + testFoldConst("SELECT Left(CAST('good morning' AS STRING), NULL)") + testFoldConst("SELECT StrLeft(CAST('Hello doris' AS STRING), 5)") + testFoldConst("SELECT Left(CAST('Hello doris' AS STRING), 5)") + testFoldConst("SELECT StrRight(CAST(NULL AS STRING), 1)") + testFoldConst("SELECT StrRight(CAST('good morning' AS STRING), NULL)") + testFoldConst("SELECT Right(CAST(NULL AS STRING), 1)") + testFoldConst("SELECT Right(CAST('good morning' AS STRING), NULL)") + testFoldConst("SELECT StrRight(CAST('Hello doris' AS STRING), 5)") + testFoldConst("SELECT Right(CAST('Hello doris' AS STRING), 5)") + testFoldConst("SELECT StrLeft(CAST('good morning' AS STRING), 120)") + testFoldConst("SELECT StrLeft(CAST('good morning' AS STRING), -5)") + testFoldConst("SELECT StrRight(CAST('Hello doris' AS STRING), 120)") + testFoldConst("SELECT StrRight(CAST('Hello doris' AS STRING), -5)") + testFoldConst("SELECT Left(CAST('good morning' AS STRING), 120)") + testFoldConst("SELECT Left(CAST('good morning' AS STRING), -5)") + testFoldConst("SELECT Right(CAST('Hello doris' AS STRING), 120)") + testFoldConst("SELECT Right(CAST('Hello doris' AS STRING), -6)") + + testFoldConst("SELECT Substring(CAST('abc1' AS STRING), 2)") + testFoldConst("SELECT Substring(CAST('abc1' AS STRING), -2)") + testFoldConst("SELECT Substring(CAST('abc1' AS STRING), 5)") + testFoldConst("SELECT Substring(CAST('abc1def' AS STRING), 2, 2)") + testFoldConst("SELECT Substring(CAST('abcdef' AS STRING), 3, -1)") + testFoldConst("SELECT Substring(CAST('abcdef' AS STRING), -3, -1)") + testFoldConst("SELECT Substring(CAST('abcdef' AS STRING), 10, 1)") + + testFoldConst("SELECT Substr(CAST('a' AS STRING), 3, 1)") + testFoldConst("SELECT Substr(CAST('a' AS STRING), 2, 1)") + testFoldConst("SELECT Substr(CAST('a' AS STRING), 1, 1)") + testFoldConst("SELECT Substr(CAST('a' AS STRING), 0, 1)") + testFoldConst("SELECT Substr(CAST('a' AS STRING), -1, 1)") + testFoldConst("SELECT Substr(CAST('a' AS STRING), -2, 1)") + testFoldConst("SELECT Substr(CAST('a' AS STRING), -3, 1)") + testFoldConst("SELECT Substr(CAST('abcdef' AS STRING), 3, -1)") + testFoldConst("SELECT Substr(CAST('abcdef' AS STRING), -3, -1)") + + testFoldConst("SELECT Sub_Replace(CAST('this is origin str' AS STRING), CAST('NEW-STR' AS STRING), 1)") + testFoldConst("SELECT Sub_Replace(CAST('doris' AS STRING), CAST('***' AS STRING), 1, 2)") + + testFoldConst("SELECT Substring_Index(CAST('hello world' AS STRING), CAST(' ' AS STRING), 1)") + testFoldConst("SELECT Substring_Index(CAST('hello world' AS STRING), CAST(' ' AS STRING), 2)") + testFoldConst("SELECT Substring_Index(CAST('hello world' AS STRING), CAST(' ' AS STRING), 3)") + testFoldConst("SELECT Substring_Index(CAST('hello world' AS STRING), CAST(' ' AS STRING), -1)") + testFoldConst("SELECT Substring_Index(CAST('hello world' AS STRING), CAST(' ' AS STRING), -2)") + testFoldConst("SELECT Substring_Index(CAST('hello world' AS STRING), CAST(' ' AS STRING), -3)") + testFoldConst("SELECT Substring_Index(CAST('prefix__string2' AS STRING), CAST('__' AS STRING), 2)") + testFoldConst("SELECT Substring_Index(CAST('prefix__string2' AS STRING), CAST('_' AS STRING), 2)") + testFoldConst("SELECT Substring_Index(CAST('prefix_string2' AS STRING), CAST('__' AS STRING), 1)") + testFoldConst("SELECT Substring_Index(CAST(NULL AS STRING), CAST('__' AS STRING), 1)") + testFoldConst("SELECT Substring_Index(CAST('prefix_string' AS STRING), CAST(NULL AS STRING), 1)") + testFoldConst("SELECT Substring_Index(CAST('prefix_string' AS STRING), CAST('_' AS STRING), NULL)") + testFoldConst("SELECT Substring_Index(CAST('prefix_string' AS STRING), CAST('__' AS STRING), -1)") + + testFoldConst("SELECT Elt(0, CAST('hello' AS STRING), CAST('doris' AS STRING))") + testFoldConst("SELECT Elt(1, CAST('hello' AS STRING), CAST('doris' AS STRING))") + testFoldConst("SELECT Elt(2, CAST('hello' AS STRING), CAST('doris' AS STRING))") + testFoldConst("SELECT Elt(3, CAST('hello' AS STRING), CAST('doris' AS STRING))") + + testFoldConst("SELECT Sub_Replace(CAST('this is origin str' AS STRING), CAST('NEW-STR' AS STRING), 1)") + testFoldConst("SELECT Sub_Replace(CAST('doris' AS STRING), CAST('***' AS STRING), 1, 2)") + + testFoldConst("SELECT StrCmp(CAST('a' AS STRING), CAST('abc' AS STRING))") + testFoldConst("SELECT StrCmp(CAST('abc' AS STRING), CAST('abc' AS STRING))") + testFoldConst("SELECT StrCmp(CAST('abcd' AS STRING), CAST('abc' AS STRING))") + + // fix problem of cast date and time function exception + testFoldConst("select ifnull(date_format(CONCAT_WS('', '9999-07', '-00'), '%Y-%m'),3)") + +} From 91afeec69fd8eed65f41da18f4f0a7cef50a1126 Mon Sep 17 00:00:00 2001 From: Kaijie Chen Date: Wed, 11 Sep 2024 16:50:06 +0800 Subject: [PATCH 180/199] [fix](brpc_client_cache) resolve hostname in DNS cache before passing to brpc (#40074) Currently brpc does not support resloving IPv6 hostnames, errors will be returned on `brpc::Channel::Init`. The brpc client cache may return `nullptr` on its `get_client` or `get_new_client_no_cache` APIs. This PR made the following changes: 1. Resolve hostnames from DNS cache before passing it to brpc. 2. Callers should check nullptr after get client, in case of failures. --- be/src/cloud/cloud_backend_service.cpp | 14 ++++++++- be/src/exec/rowid_fetcher.cpp | 3 +- be/src/exprs/runtime_filter.cpp | 7 ++--- be/src/olap/single_replica_compaction.cpp | 2 +- be/src/runtime/runtime_filter_mgr.cpp | 18 ++++++++++-- be/src/service/internal_service.cpp | 5 ++++ be/src/util/brpc_client_cache.h | 35 ++++++++++++++++------- be/src/util/proto_util.h | 15 ++++++++++ be/src/vec/functions/function_rpc.cpp | 5 ++++ be/src/vec/sink/load_stream_stub.cpp | 10 +++++-- be/src/vec/sink/writer/vtablet_writer.cpp | 21 +++++++++++++- 11 files changed, 112 insertions(+), 23 deletions(-) diff --git a/be/src/cloud/cloud_backend_service.cpp b/be/src/cloud/cloud_backend_service.cpp index 2dc6d03ebf698d..265e6c44aac9ab 100644 --- a/be/src/cloud/cloud_backend_service.cpp +++ b/be/src/cloud/cloud_backend_service.cpp @@ -151,7 +151,19 @@ void CloudBackendService::warm_up_tablets(TWarmUpTabletsResponse& response, void CloudBackendService::warm_up_cache_async(TWarmUpCacheAsyncResponse& response, const TWarmUpCacheAsyncRequest& request) { - std::string brpc_addr = fmt::format("{}:{}", request.host, request.brpc_port); + std::string host = request.host; + auto dns_cache = ExecEnv::GetInstance()->dns_cache(); + if (dns_cache == nullptr) { + LOG(WARNING) << "DNS cache is not initialized, skipping hostname resolve"; + } else if (!is_valid_ip(request.host)) { + Status status = dns_cache->get(request.host, &host); + if (!status.ok()) { + LOG(WARNING) << "failed to get ip from host " << request.host << ": " + << status.to_string(); + return; + } + } + std::string brpc_addr = get_host_port(host, request.brpc_port); Status st = Status::OK(); TStatus t_status; std::shared_ptr brpc_stub = diff --git a/be/src/exec/rowid_fetcher.cpp b/be/src/exec/rowid_fetcher.cpp index beb8c2f0962a5a..9915f1b626a21b 100644 --- a/be/src/exec/rowid_fetcher.cpp +++ b/be/src/exec/rowid_fetcher.cpp @@ -80,7 +80,8 @@ Status RowIDFetcher::init() { if (!client) { LOG(WARNING) << "Get rpc stub failed, host=" << node_info.host << ", port=" << node_info.brpc_port; - return Status::InternalError("RowIDFetcher failed to init rpc client"); + return Status::InternalError("RowIDFetcher failed to init rpc client, host={}, port={}", + node_info.host, node_info.brpc_port); } _stubs.push_back(client); } diff --git a/be/src/exprs/runtime_filter.cpp b/be/src/exprs/runtime_filter.cpp index 1e93dcc9167a99..2bda40caf68657 100644 --- a/be/src/exprs/runtime_filter.cpp +++ b/be/src/exprs/runtime_filter.cpp @@ -1123,9 +1123,8 @@ Status IRuntimeFilter::send_filter_size(RuntimeState* state, uint64_t local_filt std::shared_ptr stub( _state->exec_env->brpc_internal_client_cache()->get_client(addr)); if (!stub) { - std::string msg = - fmt::format("Get rpc stub failed, host={}, port=", addr.hostname, addr.port); - return Status::InternalError(msg); + return Status::InternalError("Get rpc stub failed, host={}, port={}", addr.hostname, + addr.port); } auto request = std::make_shared(); @@ -1158,7 +1157,7 @@ Status IRuntimeFilter::push_to_remote(const TNetworkAddress* addr) { _state->exec_env->brpc_internal_client_cache()->get_client(*addr)); if (!stub) { return Status::InternalError( - fmt::format("Get rpc stub failed, host={}, port=", addr->hostname, addr->port)); + fmt::format("Get rpc stub failed, host={}, port={}", addr->hostname, addr->port)); } auto merge_filter_request = std::make_shared(); diff --git a/be/src/olap/single_replica_compaction.cpp b/be/src/olap/single_replica_compaction.cpp index 7e3d8386371507..ef93ab25caeac9 100644 --- a/be/src/olap/single_replica_compaction.cpp +++ b/be/src/olap/single_replica_compaction.cpp @@ -170,7 +170,7 @@ Status SingleReplicaCompaction::_get_rowset_verisons_from_peer( ExecEnv::GetInstance()->brpc_internal_client_cache()->get_client(addr.host, addr.brpc_port); if (stub == nullptr) { - return Status::Aborted("get rpc stub failed"); + return Status::Aborted("get rpc stub failed, host={}, port={}", addr.host, addr.brpc_port); } brpc::Controller cntl; diff --git a/be/src/runtime/runtime_filter_mgr.cpp b/be/src/runtime/runtime_filter_mgr.cpp index b9bd01095f34e8..d2b55d86bc6bd4 100644 --- a/be/src/runtime/runtime_filter_mgr.cpp +++ b/be/src/runtime/runtime_filter_mgr.cpp @@ -324,10 +324,17 @@ Status RuntimeFilterMergeControllerEntity::send_filter_size(const PSendFilterSiz cnt_val->global_size += request->filter_size(); cnt_val->source_addrs.push_back(request->source_addr()); + Status st = Status::OK(); if (cnt_val->source_addrs.size() == cnt_val->producer_size) { for (auto addr : cnt_val->source_addrs) { std::shared_ptr stub( ExecEnv::GetInstance()->brpc_internal_client_cache()->get_client(addr)); + if (stub == nullptr) { + LOG(WARNING) << "Failed to init rpc to " << addr.hostname() << ":" << addr.port(); + st = Status::InternalError("Failed to init rpc to {}:{}", addr.hostname(), + addr.port()); + continue; + } auto closure = AutoReleaseClosure>:: @@ -347,7 +354,7 @@ Status RuntimeFilterMergeControllerEntity::send_filter_size(const PSendFilterSiz closure.release(); } } - return Status::OK(); + return st; } Status RuntimeFilterMgr::sync_filter_size(const PSyncFilterSizeRequest* request) { @@ -376,6 +383,7 @@ Status RuntimeFilterMergeControllerEntity::merge(const PMergeFilterRequest* requ int64_t start_merge = MonotonicMillis(); auto filter_id = request->filter_id(); std::map::iterator iter; + Status st = Status::OK(); { std::shared_lock guard(_filter_map_mutex); iter = _filter_map.find(filter_id); @@ -460,6 +468,12 @@ Status RuntimeFilterMergeControllerEntity::merge(const PMergeFilterRequest* requ ExecEnv::GetInstance()->brpc_internal_client_cache()->get_client( target.target_fragment_instance_addr)); if (stub == nullptr) { + LOG(WARNING) << "Failed to init rpc to " + << target.target_fragment_instance_addr.hostname << ":" + << target.target_fragment_instance_addr.port; + st = Status::InternalError("Failed to init rpc to {}:{}", + target.target_fragment_instance_addr.hostname, + target.target_fragment_instance_addr.port); continue; } stub->apply_filterv2(closure->cntl_.get(), closure->request_.get(), @@ -467,7 +481,7 @@ Status RuntimeFilterMergeControllerEntity::merge(const PMergeFilterRequest* requ closure.release(); } } - return Status::OK(); + return st; } Status RuntimeFilterMergeController::acquire( diff --git a/be/src/service/internal_service.cpp b/be/src/service/internal_service.cpp index 683cbbea756be0..06dad46e90c15f 100644 --- a/be/src/service/internal_service.cpp +++ b/be/src/service/internal_service.cpp @@ -1093,6 +1093,11 @@ void PInternalService::fetch_remote_tablet_schema(google::protobuf::RpcControlle std::shared_ptr stub( ExecEnv::GetInstance()->brpc_internal_client_cache()->get_client( host, brpc_port)); + if (stub == nullptr) { + LOG(WARNING) << "Failed to init rpc to " << host << ":" << brpc_port; + st = Status::InternalError("Failed to init rpc to {}:{}", host, brpc_port); + continue; + } rpc_contexts[i].cid = rpc_contexts[i].cntl.call_id(); rpc_contexts[i].cntl.set_timeout_ms(config::fetch_remote_schema_rpc_timeout_ms); stub->fetch_remote_tablet_schema(&rpc_contexts[i].cntl, &remote_request, diff --git a/be/src/util/brpc_client_cache.h b/be/src/util/brpc_client_cache.h index 09c92fb398e085..24bd284f302fb9 100644 --- a/be/src/util/brpc_client_cache.h +++ b/be/src/util/brpc_client_cache.h @@ -83,33 +83,47 @@ class BrpcClientCache { } std::shared_ptr get_client(const std::string& host, int port) { - std::string realhost; - realhost = host; - if (!is_valid_ip(host)) { - Status status = ExecEnv::GetInstance()->dns_cache()->get(host, &realhost); + std::string realhost = host; + auto dns_cache = ExecEnv::GetInstance()->dns_cache(); + if (dns_cache == nullptr) { + LOG(WARNING) << "DNS cache is not initialized, skipping hostname resolve"; + } else if (!is_valid_ip(host)) { + Status status = dns_cache->get(host, &realhost); if (!status.ok()) { LOG(WARNING) << "failed to get ip from host:" << status.to_string(); return nullptr; } } std::string host_port = get_host_port(realhost, port); - return get_client(host_port); - } - - std::shared_ptr get_client(const std::string& host_port) { std::shared_ptr stub_ptr; auto get_value = [&stub_ptr](const auto& v) { stub_ptr = v.second; }; if (LIKELY(_stub_map.if_contains(host_port, get_value))) { + DCHECK(stub_ptr != nullptr); return stub_ptr; } // new one stub and insert into map auto stub = get_new_client_no_cache(host_port); - _stub_map.try_emplace_l( - host_port, [&stub](const auto& v) { stub = v.second; }, stub); + if (stub != nullptr) { + _stub_map.try_emplace_l( + host_port, [&stub](const auto& v) { stub = v.second; }, stub); + } return stub; } + std::shared_ptr get_client(const std::string& host_port) { + int pos = host_port.rfind(':'); + std::string host = host_port.substr(0, pos); + int port = 0; + try { + port = stoi(host_port.substr(pos + 1)); + } catch (const std::exception& err) { + LOG(WARNING) << "failed to parse port from " << host_port << ": " << err.what(); + return nullptr; + } + return get_client(host, port); + } + std::shared_ptr get_new_client_no_cache(const std::string& host_port, const std::string& protocol = "", const std::string& connection_type = "", @@ -143,6 +157,7 @@ class BrpcClientCache { channel->Init(host_port.c_str(), config::rpc_load_balancer.c_str(), &options); } if (ret_code) { + LOG(WARNING) << "Failed to initialize brpc Channel to " << host_port; return nullptr; } return std::make_shared(channel.release(), google::protobuf::Service::STUB_OWNS_CHANNEL); diff --git a/be/src/util/proto_util.h b/be/src/util/proto_util.h index f77a1f637f3762..c1994d1feeb39d 100644 --- a/be/src/util/proto_util.h +++ b/be/src/util/proto_util.h @@ -71,11 +71,26 @@ Status transmit_block_httpv2(ExecEnv* exec_env, std::unique_ptr closure TNetworkAddress brpc_dest_addr) { RETURN_IF_ERROR(request_embed_attachment_contain_blockv2(closure->request_.get(), closure)); + std::string host = brpc_dest_addr.hostname; + auto dns_cache = ExecEnv::GetInstance()->dns_cache(); + if (dns_cache == nullptr) { + LOG(WARNING) << "DNS cache is not initialized, skipping hostname resolve"; + } else if (!is_valid_ip(brpc_dest_addr.hostname)) { + Status status = dns_cache->get(brpc_dest_addr.hostname, &host); + if (!status.ok()) { + LOG(WARNING) << "failed to get ip from host " << brpc_dest_addr.hostname << ": " + << status.to_string(); + return Status::InternalError("failed to get ip from host {}", brpc_dest_addr.hostname); + } + } //format an ipv6 address std::string brpc_url = get_brpc_http_url(brpc_dest_addr.hostname, brpc_dest_addr.port); std::shared_ptr brpc_http_stub = exec_env->brpc_internal_client_cache()->get_new_client_no_cache(brpc_url, "http"); + if (brpc_http_stub == nullptr) { + return Status::InternalError("failed to open brpc http client to {}", brpc_url); + } closure->cntl_->http_request().uri() = brpc_url + "/PInternalServiceImpl/transmit_block_by_http"; closure->cntl_->http_request().set_method(brpc::HTTP_METHOD_POST); diff --git a/be/src/vec/functions/function_rpc.cpp b/be/src/vec/functions/function_rpc.cpp index ba171ffbbc99ec..c27383dac62b08 100644 --- a/be/src/vec/functions/function_rpc.cpp +++ b/be/src/vec/functions/function_rpc.cpp @@ -46,6 +46,11 @@ Status RPCFnImpl::vec_call(FunctionContext* context, Block& block, const ColumnN size_t result, size_t input_rows_count) { PFunctionCallRequest request; PFunctionCallResponse response; + if (_client == nullptr) { + return Status::InternalError( + "call to rpc function {} failed: init rpc error, server addr = {}", _signature, + _server_addr); + } request.set_function_name(_function_name); RETURN_IF_ERROR(_convert_block_to_proto(block, arguments, input_rows_count, &request)); brpc::Controller cntl; diff --git a/be/src/vec/sink/load_stream_stub.cpp b/be/src/vec/sink/load_stream_stub.cpp index b53e1c778b8d34..e3899ce7743f3b 100644 --- a/be/src/vec/sink/load_stream_stub.cpp +++ b/be/src/vec/sink/load_stream_stub.cpp @@ -152,7 +152,6 @@ Status LoadStreamStub::open(BrpcClientCache* client_cache, return _init_st; } _dst_id = node_info.id; - std::string host_port = get_host_port(node_info.host, node_info.brpc_port); brpc::StreamOptions opt; opt.max_buf_size = config::load_stream_max_buf_size; opt.idle_timeout_ms = idle_timeout_ms; @@ -185,7 +184,11 @@ Status LoadStreamStub::open(BrpcClientCache* client_cache, } POpenLoadStreamResponse response; // set connection_group "streaming" to distinguish with non-streaming connections - const auto& stub = client_cache->get_client(host_port); + const auto& stub = client_cache->get_client(node_info.host, node_info.brpc_port); + if (stub == nullptr) { + return Status::InternalError("failed to init brpc client to {}:{}", node_info.host, + node_info.brpc_port); + } stub->open_load_stream(&cntl, &request, &response, nullptr); for (const auto& resp : response.tablet_schemas()) { auto tablet_schema = std::make_unique(); @@ -200,7 +203,8 @@ Status LoadStreamStub::open(BrpcClientCache* client_cache, cntl.ErrorText()); return _init_st; } - LOG(INFO) << "open load stream to " << host_port << ", " << *this; + LOG(INFO) << "open load stream to host=" << node_info.host << ", port=" << node_info.brpc_port + << ", " << *this; _is_init.store(true); return Status::OK(); } diff --git a/be/src/vec/sink/writer/vtablet_writer.cpp b/be/src/vec/sink/writer/vtablet_writer.cpp index 8e10d2da5f08e0..b9eaf79616fc2f 100644 --- a/be/src/vec/sink/writer/vtablet_writer.cpp +++ b/be/src/vec/sink/writer/vtablet_writer.cpp @@ -717,11 +717,30 @@ void VNodeChannel::try_send_pending_block(RuntimeState* state) { return; } + std::string host = _node_info.host; + auto dns_cache = ExecEnv::GetInstance()->dns_cache(); + if (dns_cache == nullptr) { + LOG(WARNING) << "DNS cache is not initialized, skipping hostname resolve"; + } else if (!is_valid_ip(_node_info.host)) { + Status status = dns_cache->get(_node_info.host, &host); + if (!status.ok()) { + LOG(WARNING) << "failed to get ip from host " << _node_info.host << ": " + << status.to_string(); + _send_block_callback->clear_in_flight(); + return; + } + } //format an ipv6 address - std::string brpc_url = get_brpc_http_url(_node_info.host, _node_info.brpc_port); + std::string brpc_url = get_brpc_http_url(host, _node_info.brpc_port); std::shared_ptr _brpc_http_stub = _state->exec_env()->brpc_internal_client_cache()->get_new_client_no_cache(brpc_url, "http"); + if (_brpc_http_stub == nullptr) { + cancel(fmt::format("{}, failed to open brpc http client to {}", channel_info(), + brpc_url)); + _send_block_callback->clear_in_flight(); + return; + } _send_block_callback->cntl_->http_request().uri() = brpc_url + "/PInternalServiceImpl/tablet_writer_add_block_by_http"; _send_block_callback->cntl_->http_request().set_method(brpc::HTTP_METHOD_POST); From e65d55939ea8a2ad6ab42fb1c3a33cc249b0a2e6 Mon Sep 17 00:00:00 2001 From: hui lai <1353307710@qq.com> Date: Wed, 11 Sep 2024 17:51:45 +0800 Subject: [PATCH 181/199] [fix](bytebuffer) fix allocate size improper in append_and_flush (#40613) fix allocate size improper in append_and_flush introduced by https://github.com/apache/doris/pull/38960 --- be/src/io/fs/stream_load_pipe.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/be/src/io/fs/stream_load_pipe.cpp b/be/src/io/fs/stream_load_pipe.cpp index 0dc27e009d08ee..4b204a2aace833 100644 --- a/be/src/io/fs/stream_load_pipe.cpp +++ b/be/src/io/fs/stream_load_pipe.cpp @@ -113,7 +113,7 @@ Status StreamLoadPipe::read_one_message(std::unique_ptr* data, size_t Status StreamLoadPipe::append_and_flush(const char* data, size_t size, size_t proto_byte_size) { SCOPED_ATTACH_TASK(ExecEnv::GetInstance()->stream_load_pipe_tracker()); ByteBufferPtr buf; - RETURN_IF_ERROR(ByteBuffer::allocate(128 * 1024, &buf)); + RETURN_IF_ERROR(ByteBuffer::allocate(BitUtil::RoundUpToPowerOfTwo(size + 1), &buf)); buf->put_bytes(data, size); buf->flip(); return _append(buf, proto_byte_size); From dca6b8175d7557b0b91c7a5c97d2656b02dced6f Mon Sep 17 00:00:00 2001 From: starocean999 <40539150+starocean999@users.noreply.github.com> Date: Wed, 11 Sep 2024 18:16:03 +0800 Subject: [PATCH 182/199] [fix](nereids) build agg for random distributed agg table in bindRelation phase (#40181) it's better to build agg for random distributed agg table in bindRelation phase instead of in BuildAggForRandomDistributedTable RULE --- .../doris/nereids/jobs/executor/Analyzer.java | 3 - .../apache/doris/nereids/rules/RuleType.java | 4 - .../nereids/rules/analysis/BindRelation.java | 125 +++++++- .../BuildAggForRandomDistributedTable.java | 271 ------------------ .../nereids/rules/analysis/CheckPolicy.java | 21 +- .../rules/analysis/BindRelationTest.java | 23 ++ .../rules/analysis/CheckRowPolicyTest.java | 97 +++++++ .../select_random_distributed_tbl.out | 14 +- .../select_random_distributed_tbl.groovy | 19 +- 9 files changed, 285 insertions(+), 292 deletions(-) delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BuildAggForRandomDistributedTable.java diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/executor/Analyzer.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/executor/Analyzer.java index 605a848181c16f..1ffbac97d741a4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/executor/Analyzer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/executor/Analyzer.java @@ -26,7 +26,6 @@ import org.apache.doris.nereids.rules.analysis.BindRelation; import org.apache.doris.nereids.rules.analysis.BindRelation.CustomTableResolver; import org.apache.doris.nereids.rules.analysis.BindSink; -import org.apache.doris.nereids.rules.analysis.BuildAggForRandomDistributedTable; import org.apache.doris.nereids.rules.analysis.CheckAfterBind; import org.apache.doris.nereids.rules.analysis.CheckAnalysis; import org.apache.doris.nereids.rules.analysis.CheckPolicy; @@ -163,8 +162,6 @@ private static List buildAnalyzerJobs(Optional topDown(new EliminateGroupByConstant()), topDown(new SimplifyAggGroupBy()), - // run BuildAggForRandomDistributedTable before NormalizeAggregate in order to optimize the agg plan - topDown(new BuildAggForRandomDistributedTable()), topDown(new NormalizeAggregate()), topDown(new HavingToFilter()), bottomUp(new SemiJoinCommute()), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java index b6ab6e2dac2c6d..d345d9057e9b43 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleType.java @@ -342,10 +342,6 @@ public enum RuleType { // topn opts DEFER_MATERIALIZE_TOP_N_RESULT(RuleTypeClass.REWRITE), - // pre agg for random distributed table - BUILD_AGG_FOR_RANDOM_DISTRIBUTED_TABLE_PROJECT_SCAN(RuleTypeClass.REWRITE), - BUILD_AGG_FOR_RANDOM_DISTRIBUTED_TABLE_FILTER_SCAN(RuleTypeClass.REWRITE), - BUILD_AGG_FOR_RANDOM_DISTRIBUTED_TABLE_AGG_SCAN(RuleTypeClass.REWRITE), // short circuit rule SHOR_CIRCUIT_POINT_QUERY(RuleTypeClass.REWRITE), // exploration rules diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java index cedc4e92ff1cb3..c81fcc25b83de6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindRelation.java @@ -17,10 +17,17 @@ package org.apache.doris.nereids.rules.analysis; +import org.apache.doris.catalog.AggStateType; +import org.apache.doris.catalog.AggregateType; import org.apache.doris.catalog.Column; +import org.apache.doris.catalog.DistributionInfo; +import org.apache.doris.catalog.Env; +import org.apache.doris.catalog.FunctionRegistry; +import org.apache.doris.catalog.KeysType; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.Partition; import org.apache.doris.catalog.TableIf; +import org.apache.doris.catalog.Type; import org.apache.doris.catalog.View; import org.apache.doris.common.Config; import org.apache.doris.common.Pair; @@ -43,13 +50,26 @@ import org.apache.doris.nereids.properties.PhysicalProperties; import org.apache.doris.nereids.rules.Rule; import org.apache.doris.nereids.rules.RuleType; +import org.apache.doris.nereids.trees.expressions.Alias; import org.apache.doris.nereids.trees.expressions.EqualTo; +import org.apache.doris.nereids.trees.expressions.ExprId; import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.NamedExpression; import org.apache.doris.nereids.trees.expressions.Slot; +import org.apache.doris.nereids.trees.expressions.SlotReference; +import org.apache.doris.nereids.trees.expressions.functions.AggCombinerFunctionBuilder; +import org.apache.doris.nereids.trees.expressions.functions.FunctionBuilder; +import org.apache.doris.nereids.trees.expressions.functions.agg.BitmapUnion; +import org.apache.doris.nereids.trees.expressions.functions.agg.HllUnion; +import org.apache.doris.nereids.trees.expressions.functions.agg.Max; +import org.apache.doris.nereids.trees.expressions.functions.agg.Min; +import org.apache.doris.nereids.trees.expressions.functions.agg.QuantileUnion; +import org.apache.doris.nereids.trees.expressions.functions.agg.Sum; import org.apache.doris.nereids.trees.expressions.literal.TinyIntLiteral; import org.apache.doris.nereids.trees.plans.Plan; import org.apache.doris.nereids.trees.plans.PreAggStatus; import org.apache.doris.nereids.trees.plans.algebra.Relation; +import org.apache.doris.nereids.trees.plans.logical.LogicalAggregate; import org.apache.doris.nereids.trees.plans.logical.LogicalCTEConsumer; import org.apache.doris.nereids.trees.plans.logical.LogicalEsScan; import org.apache.doris.nereids.trees.plans.logical.LogicalFileScan; @@ -73,6 +93,7 @@ import com.google.common.collect.Sets; import org.apache.commons.collections.CollectionUtils; +import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.function.Function; @@ -214,7 +235,109 @@ private LogicalPlan makeOlapScan(TableIf table, UnboundRelation unboundRelation, unboundRelation.getTableSample()); } } - return checkAndAddDeleteSignFilter(scan, ConnectContext.get(), (OlapTable) table); + if (needGenerateLogicalAggForRandomDistAggTable(scan)) { + // it's a random distribution agg table + // add agg on olap scan + return preAggForRandomDistribution(scan); + } else { + // it's a duplicate, unique or hash distribution agg table + // add delete sign filter on olap scan if needed + return checkAndAddDeleteSignFilter(scan, ConnectContext.get(), (OlapTable) table); + } + } + + private boolean needGenerateLogicalAggForRandomDistAggTable(LogicalOlapScan olapScan) { + if (ConnectContext.get() != null && ConnectContext.get().getState() != null + && ConnectContext.get().getState().isQuery()) { + // we only need to add an agg node for query, and should not do it for deleting + // from random distributed table. see https://github.com/apache/doris/pull/37985 for more info + OlapTable olapTable = olapScan.getTable(); + KeysType keysType = olapTable.getKeysType(); + DistributionInfo distributionInfo = olapTable.getDefaultDistributionInfo(); + return keysType == KeysType.AGG_KEYS + && distributionInfo.getType() == DistributionInfo.DistributionInfoType.RANDOM; + } else { + return false; + } + } + + /** + * add LogicalAggregate above olapScan for preAgg + * @param olapScan olap scan plan + * @return rewritten plan + */ + private LogicalPlan preAggForRandomDistribution(LogicalOlapScan olapScan) { + OlapTable olapTable = olapScan.getTable(); + List childOutputSlots = olapScan.computeOutput(); + List groupByExpressions = new ArrayList<>(); + List outputExpressions = new ArrayList<>(); + List columns = olapTable.getBaseSchema(); + + for (Column col : columns) { + // use exist slot in the plan + SlotReference slot = SlotReference.fromColumn(olapTable, col, col.getName(), olapScan.qualified()); + ExprId exprId = slot.getExprId(); + for (Slot childSlot : childOutputSlots) { + if (childSlot instanceof SlotReference && ((SlotReference) childSlot).getName() == col.getName()) { + exprId = childSlot.getExprId(); + slot = slot.withExprId(exprId); + break; + } + } + if (col.isKey()) { + groupByExpressions.add(slot); + outputExpressions.add(slot); + } else { + Expression function = generateAggFunction(slot, col); + // DO NOT rewrite + if (function == null) { + return olapScan; + } + Alias alias = new Alias(exprId, ImmutableList.of(function), col.getName(), + olapScan.qualified(), true); + outputExpressions.add(alias); + } + } + LogicalAggregate aggregate = new LogicalAggregate<>(groupByExpressions, outputExpressions, + olapScan); + return aggregate; + } + + /** + * generate aggregation function according to the aggType of column + * + * @param slot slot of column + * @return aggFunction generated + */ + private Expression generateAggFunction(SlotReference slot, Column column) { + AggregateType aggregateType = column.getAggregationType(); + switch (aggregateType) { + case SUM: + return new Sum(slot); + case MAX: + return new Max(slot); + case MIN: + return new Min(slot); + case HLL_UNION: + return new HllUnion(slot); + case BITMAP_UNION: + return new BitmapUnion(slot); + case QUANTILE_UNION: + return new QuantileUnion(slot); + case GENERIC: + Type type = column.getType(); + if (!type.isAggStateType()) { + return null; + } + AggStateType aggState = (AggStateType) type; + // use AGGREGATE_FUNCTION_UNION to aggregate multiple agg_state into one + String funcName = aggState.getFunctionName() + AggCombinerFunctionBuilder.UNION_SUFFIX; + FunctionRegistry functionRegistry = Env.getCurrentEnv().getFunctionRegistry(); + FunctionBuilder builder = functionRegistry.findFunctionBuilder(funcName, slot); + return builder.build(funcName, ImmutableList.of(slot)).first; + default: + return null; + } } /** diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BuildAggForRandomDistributedTable.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BuildAggForRandomDistributedTable.java deleted file mode 100644 index e547a55f9e39fe..00000000000000 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BuildAggForRandomDistributedTable.java +++ /dev/null @@ -1,271 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.doris.nereids.rules.analysis; - -import org.apache.doris.catalog.AggStateType; -import org.apache.doris.catalog.AggregateType; -import org.apache.doris.catalog.Column; -import org.apache.doris.catalog.DistributionInfo; -import org.apache.doris.catalog.DistributionInfo.DistributionInfoType; -import org.apache.doris.catalog.Env; -import org.apache.doris.catalog.FunctionRegistry; -import org.apache.doris.catalog.KeysType; -import org.apache.doris.catalog.OlapTable; -import org.apache.doris.catalog.Type; -import org.apache.doris.nereids.rules.Rule; -import org.apache.doris.nereids.rules.RuleType; -import org.apache.doris.nereids.trees.expressions.Alias; -import org.apache.doris.nereids.trees.expressions.ExprId; -import org.apache.doris.nereids.trees.expressions.Expression; -import org.apache.doris.nereids.trees.expressions.NamedExpression; -import org.apache.doris.nereids.trees.expressions.Slot; -import org.apache.doris.nereids.trees.expressions.SlotReference; -import org.apache.doris.nereids.trees.expressions.functions.AggCombinerFunctionBuilder; -import org.apache.doris.nereids.trees.expressions.functions.FunctionBuilder; -import org.apache.doris.nereids.trees.expressions.functions.agg.AggregateFunction; -import org.apache.doris.nereids.trees.expressions.functions.agg.BitmapFunction; -import org.apache.doris.nereids.trees.expressions.functions.agg.BitmapUnion; -import org.apache.doris.nereids.trees.expressions.functions.agg.Count; -import org.apache.doris.nereids.trees.expressions.functions.agg.HllFunction; -import org.apache.doris.nereids.trees.expressions.functions.agg.HllUnion; -import org.apache.doris.nereids.trees.expressions.functions.agg.Max; -import org.apache.doris.nereids.trees.expressions.functions.agg.Min; -import org.apache.doris.nereids.trees.expressions.functions.agg.QuantileUnion; -import org.apache.doris.nereids.trees.expressions.functions.agg.Sum; -import org.apache.doris.nereids.trees.plans.Plan; -import org.apache.doris.nereids.trees.plans.logical.LogicalAggregate; -import org.apache.doris.nereids.trees.plans.logical.LogicalOlapScan; -import org.apache.doris.nereids.trees.plans.logical.LogicalPlan; -import org.apache.doris.qe.ConnectContext; - -import com.google.common.collect.ImmutableList; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -/** - * build agg plan for querying random distributed table - */ -public class BuildAggForRandomDistributedTable implements AnalysisRuleFactory { - - @Override - public List buildRules() { - return ImmutableList.of( - // Project(Scan) -> project(agg(scan)) - logicalProject(logicalOlapScan()) - .when(this::isQuery) - .when(project -> isRandomDistributedTbl(project.child())) - .then(project -> preAggForRandomDistribution(project, project.child())) - .toRule(RuleType.BUILD_AGG_FOR_RANDOM_DISTRIBUTED_TABLE_PROJECT_SCAN), - // agg(scan) -> agg(agg(scan)), agg(agg) may optimized by MergeAggregate - logicalAggregate(logicalOlapScan()) - .when(this::isQuery) - .when(agg -> isRandomDistributedTbl(agg.child())) - .whenNot(agg -> { - Set functions = agg.getAggregateFunctions(); - List groupByExprs = agg.getGroupByExpressions(); - // check if need generate an inner agg plan or not - // should not rewrite twice if we had rewritten olapScan to aggregate(olapScan) - return functions.stream().allMatch(this::aggTypeMatch) && groupByExprs.stream() - .allMatch(this::isKeyOrConstantExpr); - }) - .then(agg -> preAggForRandomDistribution(agg, agg.child())) - .toRule(RuleType.BUILD_AGG_FOR_RANDOM_DISTRIBUTED_TABLE_AGG_SCAN), - // filter(scan) -> filter(agg(scan)) - logicalFilter(logicalOlapScan()) - .when(this::isQuery) - .when(filter -> isRandomDistributedTbl(filter.child())) - .then(filter -> preAggForRandomDistribution(filter, filter.child())) - .toRule(RuleType.BUILD_AGG_FOR_RANDOM_DISTRIBUTED_TABLE_FILTER_SCAN)); - - } - - /** - * check the olapTable of olapScan is randomDistributed table - * - * @param olapScan olap scan plan - * @return true if olapTable is randomDistributed table - */ - private boolean isRandomDistributedTbl(LogicalOlapScan olapScan) { - OlapTable olapTable = olapScan.getTable(); - KeysType keysType = olapTable.getKeysType(); - DistributionInfo distributionInfo = olapTable.getDefaultDistributionInfo(); - return keysType == KeysType.AGG_KEYS && distributionInfo.getType() == DistributionInfoType.RANDOM; - } - - private boolean isQuery(LogicalPlan plan) { - return ConnectContext.get() != null - && ConnectContext.get().getState() != null - && ConnectContext.get().getState().isQuery(); - } - - /** - * add LogicalAggregate above olapScan for preAgg - * - * @param logicalPlan parent plan of olapScan - * @param olapScan olap scan plan, it may be LogicalProject, LogicalFilter, LogicalAggregate - * @return rewritten plan - */ - private Plan preAggForRandomDistribution(LogicalPlan logicalPlan, LogicalOlapScan olapScan) { - OlapTable olapTable = olapScan.getTable(); - List childOutputSlots = olapScan.computeOutput(); - List groupByExpressions = new ArrayList<>(); - List outputExpressions = new ArrayList<>(); - List columns = olapTable.getBaseSchema(); - - for (Column col : columns) { - // use exist slot in the plan - SlotReference slot = SlotReference.fromColumn(olapTable, col, col.getName(), olapScan.getQualifier()); - ExprId exprId = slot.getExprId(); - for (Slot childSlot : childOutputSlots) { - if (childSlot instanceof SlotReference && ((SlotReference) childSlot).getName() == col.getName()) { - exprId = childSlot.getExprId(); - slot = slot.withExprId(exprId); - break; - } - } - if (col.isKey()) { - groupByExpressions.add(slot); - outputExpressions.add(slot); - } else { - Expression function = generateAggFunction(slot, col); - // DO NOT rewrite - if (function == null) { - return logicalPlan; - } - Alias alias = new Alias(exprId, function, col.getName()); - outputExpressions.add(alias); - } - } - LogicalAggregate aggregate = new LogicalAggregate<>(groupByExpressions, outputExpressions, - olapScan); - return logicalPlan.withChildren(aggregate); - } - - /** - * generate aggregation function according to the aggType of column - * - * @param slot slot of column - * @return aggFunction generated - */ - private Expression generateAggFunction(SlotReference slot, Column column) { - AggregateType aggregateType = column.getAggregationType(); - switch (aggregateType) { - case SUM: - return new Sum(slot); - case MAX: - return new Max(slot); - case MIN: - return new Min(slot); - case HLL_UNION: - return new HllUnion(slot); - case BITMAP_UNION: - return new BitmapUnion(slot); - case QUANTILE_UNION: - return new QuantileUnion(slot); - case GENERIC: - Type type = column.getType(); - if (!type.isAggStateType()) { - return null; - } - AggStateType aggState = (AggStateType) type; - // use AGGREGATE_FUNCTION_UNION to aggregate multiple agg_state into one - String funcName = aggState.getFunctionName() + AggCombinerFunctionBuilder.UNION_SUFFIX; - FunctionRegistry functionRegistry = Env.getCurrentEnv().getFunctionRegistry(); - FunctionBuilder builder = functionRegistry.findFunctionBuilder(funcName, slot); - return builder.build(funcName, ImmutableList.of(slot)).first; - default: - return null; - } - } - - /** - * if the agg type of AggregateFunction is as same as the agg type of column, DO NOT need to rewrite - * - * @param function agg function to check - * @return true if agg type match - */ - private boolean aggTypeMatch(AggregateFunction function) { - List children = function.children(); - if (function.getName().equalsIgnoreCase("count")) { - Count count = (Count) function; - // do not rewrite for count distinct for key column - if (count.isDistinct()) { - return children.stream().allMatch(this::isKeyOrConstantExpr); - } - if (count.isStar()) { - return false; - } - } - return children.stream().allMatch(child -> aggTypeMatch(function, child)); - } - - /** - * check if the agg type of functionCall match the agg type of column - * - * @param function the functionCall - * @param expression expr to check - * @return true if agg type match - */ - private boolean aggTypeMatch(AggregateFunction function, Expression expression) { - if (expression.children().isEmpty()) { - if (expression instanceof SlotReference && ((SlotReference) expression).getColumn().isPresent()) { - Column col = ((SlotReference) expression).getColumn().get(); - String functionName = function.getName(); - if (col.isKey()) { - return functionName.equalsIgnoreCase("max") || functionName.equalsIgnoreCase("min"); - } - if (col.isAggregated()) { - AggregateType aggType = col.getAggregationType(); - // agg type not mach - if (aggType == AggregateType.GENERIC) { - return col.getType().isAggStateType(); - } - if (aggType == AggregateType.HLL_UNION) { - return function instanceof HllFunction; - } - if (aggType == AggregateType.BITMAP_UNION) { - return function instanceof BitmapFunction; - } - return functionName.equalsIgnoreCase(aggType.name()); - } - } - return false; - } - List children = expression.children(); - return children.stream().allMatch(child -> aggTypeMatch(function, child)); - } - - /** - * check if the columns in expr is key column or constant, if group by clause contains value column, need rewrite - * - * @param expr expr to check - * @return true if all columns is key column or constant - */ - private boolean isKeyOrConstantExpr(Expression expr) { - if (expr instanceof SlotReference && ((SlotReference) expr).getColumn().isPresent()) { - Column col = ((SlotReference) expr).getColumn().get(); - return col.isKey(); - } else if (expr.isConstant()) { - return true; - } - List children = expr.children(); - return children.stream().allMatch(this::isKeyOrConstantExpr); - } -} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckPolicy.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckPolicy.java index 94f7c36b10827d..4beed413d0908e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckPolicy.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckPolicy.java @@ -23,6 +23,7 @@ import org.apache.doris.nereids.rules.RuleType; import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.logical.LogicalAggregate; import org.apache.doris.nereids.trees.plans.logical.LogicalCheckPolicy; import org.apache.doris.nereids.trees.plans.logical.LogicalCheckPolicy.RelatedPolicy; import org.apache.doris.nereids.trees.plans.logical.LogicalFilter; @@ -49,12 +50,23 @@ public List buildRules() { logicalCheckPolicy(any().when(child -> !(child instanceof UnboundRelation))).thenApply(ctx -> { LogicalCheckPolicy checkPolicy = ctx.root; LogicalFilter upperFilter = null; + Plan upAgg = null; Plan child = checkPolicy.child(); // Because the unique table will automatically include a filter condition - if (child instanceof LogicalFilter && child.bound() && child - .child(0) instanceof LogicalRelation) { + if ((child instanceof LogicalFilter) && child.bound()) { upperFilter = (LogicalFilter) child; + if (child.child(0) instanceof LogicalRelation) { + child = child.child(0); + } else if (child.child(0) instanceof LogicalAggregate + && child.child(0).child(0) instanceof LogicalRelation) { + upAgg = child.child(0); + child = child.child(0).child(0); + } + } + if ((child instanceof LogicalAggregate) + && child.bound() && child.child(0) instanceof LogicalRelation) { + upAgg = child; child = child.child(0); } if (!(child instanceof LogicalRelation) @@ -76,16 +88,17 @@ public List buildRules() { RelatedPolicy relatedPolicy = checkPolicy.findPolicy(relation, ctx.cascadesContext); relatedPolicy.rowPolicyFilter.ifPresent(expression -> combineFilter.addAll( ExpressionUtils.extractConjunctionToSet(expression))); - Plan result = relation; + Plan result = upAgg != null ? upAgg.withChildren(relation) : relation; if (upperFilter != null) { combineFilter.addAll(upperFilter.getConjuncts()); } if (!combineFilter.isEmpty()) { - result = new LogicalFilter<>(combineFilter, relation); + result = new LogicalFilter<>(combineFilter, result); } if (relatedPolicy.dataMaskProjects.isPresent()) { result = new LogicalProject<>(relatedPolicy.dataMaskProjects.get(), result); } + return result; }) ) diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/BindRelationTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/BindRelationTest.java index b14834fd32192b..67115e676871b4 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/BindRelationTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/BindRelationTest.java @@ -29,6 +29,7 @@ import org.apache.doris.nereids.rules.analysis.BindRelation.CustomTableResolver; import org.apache.doris.nereids.trees.expressions.StatementScopeIdGenerator; import org.apache.doris.nereids.trees.plans.Plan; +import org.apache.doris.nereids.trees.plans.logical.LogicalAggregate; import org.apache.doris.nereids.trees.plans.logical.LogicalOlapScan; import org.apache.doris.nereids.util.PlanChecker; import org.apache.doris.nereids.util.PlanRewriter; @@ -54,6 +55,12 @@ protected void runBeforeAll() throws Exception { + ")ENGINE=OLAP\n" + "DISTRIBUTED BY HASH(`a`) BUCKETS 3\n" + "PROPERTIES (\"replication_num\"= \"1\");"); + createTable("CREATE TABLE db1.tagg ( \n" + + " \ta INT,\n" + + " \tb INT SUM\n" + + ")ENGINE=OLAP AGGREGATE KEY(a)\n " + + "DISTRIBUTED BY random BUCKETS 3\n" + + "PROPERTIES (\"replication_num\"= \"1\");"); connectContext.getSessionVariable().setDisableNereidsRules("PRUNE_EMPTY_PARTITION"); } @@ -125,6 +132,22 @@ public boolean hasDeleteSign() { ); } + @Test + void bindRandomAggTable() { + connectContext.setDatabase(DEFAULT_CLUSTER_PREFIX + DB1); + connectContext.getState().setIsQuery(true); + Plan plan = PlanRewriter.bottomUpRewrite(new UnboundRelation(StatementScopeIdGenerator.newRelationId(), ImmutableList.of("tagg")), + connectContext, new BindRelation()); + + Assertions.assertTrue(plan instanceof LogicalAggregate); + Assertions.assertEquals( + ImmutableList.of("internal", DEFAULT_CLUSTER_PREFIX + DB1, "tagg"), + plan.getOutput().get(0).getQualifier()); + Assertions.assertEquals( + ImmutableList.of("internal", DEFAULT_CLUSTER_PREFIX + DB1, "tagg"), + plan.getOutput().get(1).getQualifier()); + } + @Override public RulePromise defaultPromise() { return RulePromise.REWRITE; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/CheckRowPolicyTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/CheckRowPolicyTest.java index 196d99037e2e63..b807bbbbc7a4bd 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/CheckRowPolicyTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/CheckRowPolicyTest.java @@ -34,6 +34,9 @@ import org.apache.doris.catalog.PartitionInfo; import org.apache.doris.catalog.Type; import org.apache.doris.common.FeConstants; +import org.apache.doris.mysql.privilege.AccessControllerManager; +import org.apache.doris.mysql.privilege.DataMaskPolicy; +import org.apache.doris.nereids.analyzer.UnboundRelation; import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.trees.expressions.EqualTo; import org.apache.doris.nereids.trees.expressions.StatementScopeIdGenerator; @@ -41,6 +44,7 @@ import org.apache.doris.nereids.trees.plans.logical.LogicalCheckPolicy; import org.apache.doris.nereids.trees.plans.logical.LogicalFilter; import org.apache.doris.nereids.trees.plans.logical.LogicalOlapScan; +import org.apache.doris.nereids.trees.plans.logical.LogicalProject; import org.apache.doris.nereids.trees.plans.logical.LogicalRelation; import org.apache.doris.nereids.util.PlanRewriter; import org.apache.doris.thrift.TStorageType; @@ -48,17 +52,22 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; +import mockit.Mock; +import mockit.MockUp; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.util.Arrays; import java.util.List; +import java.util.Optional; public class CheckRowPolicyTest extends TestWithFeService { private static String dbName = "check_row_policy"; private static String fullDbName = "" + dbName; private static String tableName = "table1"; + + private static String tableNameRanddomDist = "tableRandomDist"; private static String userName = "user1"; private static String policyName = "policy1"; @@ -76,6 +85,10 @@ protected void runBeforeAll() throws Exception { + tableName + " (k1 int, k2 int) distributed by hash(k1) buckets 1" + " properties(\"replication_num\" = \"1\");"); + createTable("create table " + + tableNameRanddomDist + + " (k1 int, k2 int) AGGREGATE KEY(k1, k2) distributed by random buckets 1" + + " properties(\"replication_num\" = \"1\");"); Database db = Env.getCurrentInternalCatalog().getDbOrMetaException(fullDbName); long tableId = db.getTableOrMetaException("table1").getId(); olapTable.setId(tableId); @@ -85,6 +98,7 @@ protected void runBeforeAll() throws Exception { 0, 0, (short) 0, TStorageType.COLUMN, KeysType.PRIMARY_KEYS); + // create user UserIdentity user = new UserIdentity(userName, "%"); user.analyze(); @@ -98,6 +112,27 @@ protected void runBeforeAll() throws Exception { Analyzer analyzer = new Analyzer(connectContext.getEnv(), connectContext); grantStmt.analyze(analyzer); Env.getCurrentEnv().getAuth().grant(grantStmt); + + new MockUp() { + @Mock + public Optional evalDataMaskPolicy(UserIdentity currentUser, String ctl, + String db, String tbl, String col) { + return tbl.equalsIgnoreCase(tableNameRanddomDist) + ? Optional.of(new DataMaskPolicy() { + @Override + public String getMaskTypeDef() { + return String.format("concat(%s, '_****_', %s)", col, col); + } + + @Override + public String getPolicyIdent() { + return String.format("custom policy: concat(%s, '_****_', %s)", col, + col); + } + }) + : Optional.empty(); + } + }; } @Test @@ -115,6 +150,24 @@ public void checkUser() throws AnalysisException, org.apache.doris.common.Analys Assertions.assertEquals(plan, relation); } + @Test + public void checkUserRandomDist() throws AnalysisException, org.apache.doris.common.AnalysisException { + connectContext.getState().setIsQuery(true); + Plan plan = PlanRewriter.bottomUpRewrite(new UnboundRelation(StatementScopeIdGenerator.newRelationId(), + ImmutableList.of(tableNameRanddomDist)), connectContext, new BindRelation()); + LogicalCheckPolicy checkPolicy = new LogicalCheckPolicy(plan); + + useUser("root"); + Plan rewrittenPlan = PlanRewriter.bottomUpRewrite(checkPolicy, connectContext, new CheckPolicy(), + new BindExpression()); + Assertions.assertEquals(plan, rewrittenPlan); + + useUser("notFound"); + rewrittenPlan = PlanRewriter.bottomUpRewrite(checkPolicy, connectContext, new CheckPolicy(), + new BindExpression()); + Assertions.assertEquals(plan, rewrittenPlan.child(0)); + } + @Test public void checkNoPolicy() throws org.apache.doris.common.AnalysisException { useUser(userName); @@ -125,6 +178,18 @@ public void checkNoPolicy() throws org.apache.doris.common.AnalysisException { Assertions.assertEquals(plan, relation); } + @Test + public void checkNoPolicyRandomDist() throws org.apache.doris.common.AnalysisException { + useUser(userName); + connectContext.getState().setIsQuery(true); + Plan plan = PlanRewriter.bottomUpRewrite(new UnboundRelation(StatementScopeIdGenerator.newRelationId(), + ImmutableList.of(tableNameRanddomDist)), connectContext, new BindRelation()); + LogicalCheckPolicy checkPolicy = new LogicalCheckPolicy(plan); + Plan rewrittenPlan = PlanRewriter.bottomUpRewrite(checkPolicy, connectContext, new CheckPolicy(), + new BindExpression()); + Assertions.assertEquals(plan, rewrittenPlan.child(0)); + } + @Test public void checkOnePolicy() throws Exception { useUser(userName); @@ -152,4 +217,36 @@ public void checkOnePolicy() throws Exception { + " ON " + tableName); } + + @Test + public void checkOnePolicyRandomDist() throws Exception { + useUser(userName); + connectContext.getState().setIsQuery(true); + Plan plan = PlanRewriter.bottomUpRewrite(new UnboundRelation(StatementScopeIdGenerator.newRelationId(), + ImmutableList.of(tableNameRanddomDist)), connectContext, new BindRelation()); + + LogicalCheckPolicy checkPolicy = new LogicalCheckPolicy(plan); + connectContext.getSessionVariable().setEnableNereidsPlanner(true); + createPolicy("CREATE ROW POLICY " + + policyName + + " ON " + + tableNameRanddomDist + + " AS PERMISSIVE TO " + + userName + + " USING (k1 = 1)"); + Plan rewrittenPlan = PlanRewriter.bottomUpRewrite(checkPolicy, connectContext, new CheckPolicy(), + new BindExpression()); + + Assertions.assertTrue(rewrittenPlan instanceof LogicalProject + && rewrittenPlan.child(0) instanceof LogicalFilter); + LogicalFilter filter = (LogicalFilter) rewrittenPlan.child(0); + Assertions.assertEquals(filter.child(), plan); + Assertions.assertTrue(ImmutableList.copyOf(filter.getConjuncts()).get(0) instanceof EqualTo); + Assertions.assertTrue(filter.getConjuncts().toString().contains("k1#0 = 1")); + + dropPolicy("DROP ROW POLICY " + + policyName + + " ON " + + tableNameRanddomDist); + } } diff --git a/regression-test/data/query_p0/aggregate/select_random_distributed_tbl.out b/regression-test/data/query_p0/aggregate/select_random_distributed_tbl.out index c03e72c8f9e398..eb099225960a2b 100644 --- a/regression-test/data/query_p0/aggregate/select_random_distributed_tbl.out +++ b/regression-test/data/query_p0/aggregate/select_random_distributed_tbl.out @@ -217,13 +217,25 @@ -- !sql_17 -- 1 +3 -- !sql_18 -- 1 +3 -- !sql_19 -- -1 +999999999999999.99 +1999999999999999.98 -- !sql_20 -- 1 +3 + +-- !sql_21 -- +1 +3 + +-- !sql_22 -- +999999999999999.99 +1999999999999999.98 diff --git a/regression-test/suites/query_p0/aggregate/select_random_distributed_tbl.groovy b/regression-test/suites/query_p0/aggregate/select_random_distributed_tbl.groovy index c818454c261262..5c99a0a4aa02de 100644 --- a/regression-test/suites/query_p0/aggregate/select_random_distributed_tbl.groovy +++ b/regression-test/suites/query_p0/aggregate/select_random_distributed_tbl.groovy @@ -123,7 +123,8 @@ suite("select_random_distributed_tbl") { // test all keys are NOT NULL for AGG table sql "drop table if exists random_distributed_tbl_test_2;" sql """ CREATE TABLE random_distributed_tbl_test_2 ( - `k1` LARGEINT NOT NULL + `k1` LARGEINT NOT NULL, + `k2` DECIMAL(18, 2) SUM NOT NULL ) ENGINE=OLAP AGGREGATE KEY(`k1`) COMMENT 'OLAP' @@ -133,17 +134,19 @@ suite("select_random_distributed_tbl") { ); """ - sql """ insert into random_distributed_tbl_test_2 values(1); """ - sql """ insert into random_distributed_tbl_test_2 values(1); """ - sql """ insert into random_distributed_tbl_test_2 values(1); """ + sql """ insert into random_distributed_tbl_test_2 values(1, 999999999999999.99); """ + sql """ insert into random_distributed_tbl_test_2 values(1, 999999999999999.99); """ + sql """ insert into random_distributed_tbl_test_2 values(3, 999999999999999.99); """ sql "set enable_nereids_planner = false;" - qt_sql_17 "select k1 from random_distributed_tbl_test_2;" - qt_sql_18 "select distinct k1 from random_distributed_tbl_test_2;" + qt_sql_17 "select k1 from random_distributed_tbl_test_2 order by k1;" + qt_sql_18 "select distinct k1 from random_distributed_tbl_test_2 order by k1;" + qt_sql_19 "select k2 from random_distributed_tbl_test_2 order by k2;" sql "set enable_nereids_planner = true;" - qt_sql_19 "select k1 from random_distributed_tbl_test_2;" - qt_sql_20 "select distinct k1 from random_distributed_tbl_test_2;" + qt_sql_20 "select k1 from random_distributed_tbl_test_2 order by k1;" + qt_sql_21 "select distinct k1 from random_distributed_tbl_test_2 order by k1;" + qt_sql_22 "select k2 from random_distributed_tbl_test_2 order by k2;" sql "drop table random_distributed_tbl_test_2;" } From b37148e2cb0d466fe70320ec2b6778e8bb067152 Mon Sep 17 00:00:00 2001 From: Mryange <59914473+Mryange@users.noreply.github.com> Date: Wed, 11 Sep 2024 18:52:12 +0800 Subject: [PATCH 183/199] [opt](join)Support MethodOneString to optimize hash join with a single string key (#40559) ``` mysql [test]>SELECT count() from hits_10m WHERE SearchPhrase IN (SELECT SearchPhrase from hits_10m); +----------+ | count(*) | +----------+ | 10000000 | +----------+ 1 row in set (1.15 sec) now mysql [test]>SELECT count() from hits_10m WHERE SearchPhrase IN (SELECT SearchPhrase from hits_10m); +----------+ | count(*) | +----------+ | 10000000 | +----------+ 1 row in set (0.66 sec) ``` --- be/src/pipeline/common/join_utils.h | 4 +- be/src/pipeline/dependency.h | 10 +++- be/src/pipeline/exec/hashjoin_build_sink.cpp | 6 +++ .../exec/join/process_hash_table_probe_impl.h | 1 + .../vec/common/hash_table/hash_map_context.h | 48 +++++++++++++------ 5 files changed, 51 insertions(+), 18 deletions(-) diff --git a/be/src/pipeline/common/join_utils.h b/be/src/pipeline/common/join_utils.h index cd3374995f7a25..7fcf669d42e7dc 100644 --- a/be/src/pipeline/common/join_utils.h +++ b/be/src/pipeline/common/join_utils.h @@ -43,7 +43,7 @@ using I32HashTableContext = vectorized::PrimaryTypeHashTableContext; using I128HashTableContext = vectorized::PrimaryTypeHashTableContext; using I256HashTableContext = vectorized::PrimaryTypeHashTableContext; - +using MethodOneString = vectorized::MethodStringNoCache>; template using I64FixedKeyHashTableContext = vectorized::FixedKeyHashTableContext; @@ -63,6 +63,6 @@ using HashTableVariants = I64FixedKeyHashTableContext, I128FixedKeyHashTableContext, I128FixedKeyHashTableContext, I256FixedKeyHashTableContext, I256FixedKeyHashTableContext, I136FixedKeyHashTableContext, - I136FixedKeyHashTableContext>; + I136FixedKeyHashTableContext, MethodOneString>; } // namespace doris::pipeline diff --git a/be/src/pipeline/dependency.h b/be/src/pipeline/dependency.h index e5738e48f93cca..863458d3bdec3f 100644 --- a/be/src/pipeline/dependency.h +++ b/be/src/pipeline/dependency.h @@ -656,8 +656,8 @@ struct PartitionSortNodeSharedState : public BasicSharedState { }; using SetHashTableVariants = - std::variant>, + std::variant, vectorized::SetPrimaryTypeHashTableContext, vectorized::SetPrimaryTypeHashTableContext, @@ -735,6 +735,12 @@ struct SetSharedState : public BasicSharedState { case TYPE_DATETIMEV2: hash_table_variants->emplace>(); break; + case TYPE_CHAR: + case TYPE_VARCHAR: + case TYPE_STRING: { + hash_table_variants->emplace(); + break; + } case TYPE_LARGEINT: case TYPE_DECIMALV2: case TYPE_DECIMAL128I: diff --git a/be/src/pipeline/exec/hashjoin_build_sink.cpp b/be/src/pipeline/exec/hashjoin_build_sink.cpp index 0bee88ed537ea6..8f7b176a979a4d 100644 --- a/be/src/pipeline/exec/hashjoin_build_sink.cpp +++ b/be/src/pipeline/exec/hashjoin_build_sink.cpp @@ -377,6 +377,12 @@ void HashJoinBuildSinkLocalState::_hash_table_init(RuntimeState* state) { } break; } + case TYPE_CHAR: + case TYPE_VARCHAR: + case TYPE_STRING: { + _shared_state->hash_table_variants->emplace(); + break; + } default: _shared_state->hash_table_variants ->emplace(); diff --git a/be/src/pipeline/exec/join/process_hash_table_probe_impl.h b/be/src/pipeline/exec/join/process_hash_table_probe_impl.h index 3ffdb9cb990c32..653cc8ab4473dd 100644 --- a/be/src/pipeline/exec/join/process_hash_table_probe_impl.h +++ b/be/src/pipeline/exec/join/process_hash_table_probe_impl.h @@ -739,6 +739,7 @@ struct ExtractType { INSTANTIATION(JoinOpType, (I256FixedKeyHashTableContext)); \ INSTANTIATION(JoinOpType, (I256FixedKeyHashTableContext)); \ INSTANTIATION(JoinOpType, (I136FixedKeyHashTableContext)); \ + INSTANTIATION(JoinOpType, (MethodOneString)); \ INSTANTIATION(JoinOpType, (I136FixedKeyHashTableContext)); } // namespace doris::pipeline diff --git a/be/src/vec/common/hash_table/hash_map_context.h b/be/src/vec/common/hash_table/hash_map_context.h index 6ca0653f7a9d80..0df0c8997f0f61 100644 --- a/be/src/vec/common/hash_table/hash_map_context.h +++ b/be/src/vec/common/hash_table/hash_map_context.h @@ -30,6 +30,7 @@ #include "vec/common/hash_table/partitioned_hash_map.h" #include "vec/common/hash_table/string_hash_map.h" #include "vec/common/string_ref.h" +#include "vec/common/typeid_cast.h" #include "vec/core/types.h" #include "vec/utils/util.hpp" @@ -284,29 +285,47 @@ struct MethodStringNoCache : public MethodBase { using State = ColumnsHashing::HashMethodString; - std::vector stored_keys; + // need keep until the hash probe end. + std::vector _build_stored_keys; + // refresh each time probe + std::vector _stored_keys; size_t serialized_keys_size(bool is_build) const override { - return stored_keys.size() * sizeof(StringRef); + return is_build ? (_build_stored_keys.size() * sizeof(StringRef)) + : (_stored_keys.size() * sizeof(StringRef)); } - void init_serialized_keys(const ColumnRawPtrs& key_columns, size_t num_rows, - const uint8_t* null_map = nullptr, bool is_join = false, - bool is_build = false, uint32_t bucket_size = 0) override { + void init_serialized_keys_impl(const ColumnRawPtrs& key_columns, size_t num_rows, + std::vector& stored_keys) { const IColumn& column = *key_columns[0]; - const auto& column_string = assert_cast( + const auto& nested_column = column.is_nullable() ? assert_cast(column).get_nested_column() - : column); - const auto& offsets = column_string.get_offsets(); - const auto* chars = column_string.get_chars().data(); - - stored_keys.resize(column_string.size()); - for (size_t row = 0; row < column_string.size(); row++) { - stored_keys[row] = StringRef(chars + offsets[row - 1], offsets[row] - offsets[row - 1]); + : column; + auto serialized_str = [](const auto& column_string, std::vector& stored_keys) { + const auto& offsets = column_string.get_offsets(); + const auto* chars = column_string.get_chars().data(); + stored_keys.resize(column_string.size()); + for (size_t row = 0; row < column_string.size(); row++) { + stored_keys[row] = + StringRef(chars + offsets[row - 1], offsets[row] - offsets[row - 1]); + } + }; + if (nested_column.is_column_string64()) { + const auto& column_string = assert_cast(nested_column); + serialized_str(column_string, stored_keys); + } else { + const auto& column_string = assert_cast(nested_column); + serialized_str(column_string, stored_keys); } - Base::keys = stored_keys.data(); + } + + void init_serialized_keys(const ColumnRawPtrs& key_columns, size_t num_rows, + const uint8_t* null_map = nullptr, bool is_join = false, + bool is_build = false, uint32_t bucket_size = 0) override { + init_serialized_keys_impl(key_columns, num_rows, + is_build ? _build_stored_keys : _stored_keys); if (is_join) { Base::init_join_bucket_num(num_rows, bucket_size, null_map); } else { @@ -606,5 +625,6 @@ using SetPrimaryTypeHashTableContext = using SetSerializedHashTableContext = MethodSerialized>; +using SetMethodOneString = MethodStringNoCache>; } // namespace doris::vectorized \ No newline at end of file From cd2062ae8dfca5895d41f651b250afa2969c2215 Mon Sep 17 00:00:00 2001 From: seawinde <149132972+seawinde@users.noreply.github.com> Date: Wed, 11 Sep 2024 19:03:56 +0800 Subject: [PATCH 184/199] [improvement](mtmv) Support to add use_for_rewrite property when create materialized view (#40332) Add `is_used_in_rewrite` property when create mv. Default true; If `is_used_in_rewrite` is false which means the mv would not partion in query rewrite. Such as mv def is as following: CREATE MATERIALIZED VIEW mv1 BUILD IMMEDIATE REFRESH AUTO ON MANUAL DISTRIBUTED BY RANDOM BUCKETS 2 PROPERTIES ( 'replication_num' = '1', 'use_for_rewrite' = 'false' ) AS SELECT k1, k2, count(*) from t1 group by k1, k2; if we run query as following, this mv would not partition in the query rewrite: SELECT k2, count(*) from t1 group by k2; --- .../java/org/apache/doris/catalog/MTMV.java | 13 +++ .../doris/common/util/PropertyAnalyzer.java | 3 + .../apache/doris/mtmv/MTMVPropertyUtil.java | 15 ++- .../mv/InitMaterializationContextHook.java | 11 +- .../mtmv_p0/test_use_for_rewrite.groovy | 103 ++++++++++++++++++ 5 files changed, 142 insertions(+), 3 deletions(-) create mode 100644 regression-test/suites/mtmv_p0/test_use_for_rewrite.groovy diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java index 3e60a489c932da..f93ecc9475c643 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/MTMV.java @@ -245,6 +245,19 @@ public Optional getWorkloadGroup() { } } + public boolean isUseForRewrite() { + readMvLock(); + try { + if (!StringUtils.isEmpty(mvProperties.get(PropertyAnalyzer.PROPERTIES_USE_FOR_REWRITE))) { + return Boolean.valueOf(mvProperties.get(PropertyAnalyzer.PROPERTIES_USE_FOR_REWRITE)); + } + // default is true + return true; + } finally { + readMvUnlock(); + } + } + public int getRefreshPartitionNum() { readMvLock(); try { diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java b/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java index 8441c9307ca5ad..3d95e69cb67354 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java @@ -186,6 +186,9 @@ public class PropertyAnalyzer { public static final String PROPERTIES_ENABLE_NONDETERMINISTIC_FUNCTION = "enable_nondeterministic_function"; + + public static final String PROPERTIES_USE_FOR_REWRITE = + "use_for_rewrite"; public static final String PROPERTIES_EXCLUDED_TRIGGER_TABLES = "excluded_trigger_tables"; public static final String PROPERTIES_REFRESH_PARTITION_NUM = "refresh_partition_num"; public static final String PROPERTIES_WORKLOAD_GROUP = "workload_group"; diff --git a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPropertyUtil.java b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPropertyUtil.java index 12287183886df3..dbaccaf924734c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPropertyUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPropertyUtil.java @@ -38,7 +38,8 @@ public class MTMVPropertyUtil { PropertyAnalyzer.PROPERTIES_PARTITION_SYNC_LIMIT, PropertyAnalyzer.PROPERTIES_PARTITION_TIME_UNIT, PropertyAnalyzer.PROPERTIES_PARTITION_DATE_FORMAT, - PropertyAnalyzer.PROPERTIES_ENABLE_NONDETERMINISTIC_FUNCTION + PropertyAnalyzer.PROPERTIES_ENABLE_NONDETERMINISTIC_FUNCTION, + PropertyAnalyzer.PROPERTIES_USE_FOR_REWRITE ); public static void analyzeProperty(String key, String value) { @@ -65,6 +66,10 @@ public static void analyzeProperty(String key, String value) { analyzePartitionSyncLimit(value); break; case PropertyAnalyzer.PROPERTIES_ENABLE_NONDETERMINISTIC_FUNCTION: + analyzeBooleanProperty(value, PropertyAnalyzer.PROPERTIES_ENABLE_NONDETERMINISTIC_FUNCTION); + break; + case PropertyAnalyzer.PROPERTIES_USE_FOR_REWRITE: + analyzeBooleanProperty(value, PropertyAnalyzer.PROPERTIES_USE_FOR_REWRITE); break; default: throw new AnalysisException("illegal key:" + key); @@ -138,4 +143,12 @@ private static void analyzeRefreshPartitionNum(String value) { } } + private static void analyzeBooleanProperty(String propertyValue, String propertyName) { + if (StringUtils.isEmpty(propertyValue)) { + return; + } + if (!"true".equalsIgnoreCase(propertyValue) && !"false".equalsIgnoreCase(propertyValue)) { + throw new AnalysisException(String.format("valid property %s fail", propertyName)); + } + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/InitMaterializationContextHook.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/InitMaterializationContextHook.java index e1f98afae3f779..0ad6f8f74a4410 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/InitMaterializationContextHook.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/InitMaterializationContextHook.java @@ -129,8 +129,8 @@ private List createAsyncMaterializationContext(CascadesC Set usedTables) { Set availableMTMVs = getAvailableMTMVs(usedTables, cascadesContext); if (availableMTMVs.isEmpty()) { - LOG.debug(String.format("Enable materialized view rewrite but availableMTMVs is empty, current queryId " - + "is %s", cascadesContext.getConnectContext().getQueryIdentifier())); + LOG.debug("Enable materialized view rewrite but availableMTMVs is empty, current queryId " + + "is {}", cascadesContext.getConnectContext().getQueryIdentifier()); return ImmutableList.of(); } List asyncMaterializationContext = new ArrayList<>(); @@ -138,6 +138,13 @@ private List createAsyncMaterializationContext(CascadesC MTMVCache mtmvCache = null; try { mtmvCache = materializedView.getOrGenerateCache(cascadesContext.getConnectContext()); + // If mv property use_for_rewrite is set false, should not partition in + // query rewrite by materialized view + if (!materializedView.isUseForRewrite()) { + LOG.debug("mv doesn't part in query rewrite process because " + + "use_for_rewrite is false, mv is {}", materializedView.getName()); + continue; + } if (mtmvCache == null) { continue; } diff --git a/regression-test/suites/mtmv_p0/test_use_for_rewrite.groovy b/regression-test/suites/mtmv_p0/test_use_for_rewrite.groovy new file mode 100644 index 00000000000000..d67f6960dfabb5 --- /dev/null +++ b/regression-test/suites/mtmv_p0/test_use_for_rewrite.groovy @@ -0,0 +1,103 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_use_for_rewrite","mtmv") { + String suiteName = "test_use_for_rewrite" + String tableName = "${suiteName}_table" + String mvName = "${suiteName}_mv" + String db = context.config.getDbNameByFile(context.file) + sql """drop table if exists `${tableName}`""" + sql """drop materialized view if exists ${mvName};""" + + sql """ + CREATE TABLE ${tableName} + ( + k1 TINYINT, + k2 INT not null, + k3 DATE NOT NULL + ) + COMMENT "my first table" + DISTRIBUTED BY HASH(k2) BUCKETS 2 + PROPERTIES ( + "replication_num" = "1" + ); + """ + sql """ + insert into ${tableName} values(1,1, '2024-05-01'),(2,2, '2024-05-02'),(3,3, '2024-05-03'), + (1,1, '2024-05-01'),(2,2, '2024-05-02'), (3,3, '2024-05-03'); + """ + + // when not set use_for_rewrite, should rewrite successfully + sql """ + CREATE MATERIALIZED VIEW ${mvName} + BUILD IMMEDIATE REFRESH AUTO ON MANUAL + DISTRIBUTED BY RANDOM BUCKETS 2 + PROPERTIES ( + 'replication_num' = '1' + ) + AS + SELECT k1, k2, count(*) from ${tableName} group by k1, k2; + """ + + waitingMTMVTaskFinished(getJobName(db, mvName)) + mv_rewrite_success_without_check_chosen(""" + SELECT k2, count(*) from ${tableName} group by k2; + """ ,mvName) + sql """drop materialized view if exists ${mvName};""" + + + // when set use_for_rewrite = true, should rewrite successfully + sql """ + CREATE MATERIALIZED VIEW ${mvName} + BUILD IMMEDIATE REFRESH AUTO ON MANUAL + DISTRIBUTED BY RANDOM BUCKETS 2 + PROPERTIES ( + 'replication_num' = '1', + 'use_for_rewrite' = 'true' + ) + AS + SELECT k1, k2, count(*) from ${tableName} group by k1, k2; + """ + + waitingMTMVTaskFinished(getJobName(db, mvName)) + mv_rewrite_success_without_check_chosen(""" + SELECT k2, count(*) from ${tableName} group by k2; + """ ,mvName) + + + // when set use_for_rewrite = false, should not partition in rewritten + sql """drop materialized view if exists ${mvName};""" + sql """ + CREATE MATERIALIZED VIEW ${mvName} + BUILD IMMEDIATE REFRESH AUTO ON MANUAL + DISTRIBUTED BY RANDOM BUCKETS 2 + PROPERTIES ( + 'replication_num' = '1', + 'use_for_rewrite' = 'false' + ) + AS + SELECT k1, k2, count(*) from ${tableName} group by k1, k2; + """ + + waitingMTMVTaskFinished(getJobName(db, mvName)) + mv_not_part_in(""" + SELECT k2, count(*) from ${tableName} group by k2; + """ ,mvName) + + sql """drop materialized view if exists ${mvName};""" + sql """drop table if exists `${tableName}`""" +} From d736a5085684964463fcbec1fd6c5f3fdc033c92 Mon Sep 17 00:00:00 2001 From: zclllhhjj Date: Wed, 11 Sep 2024 19:08:33 +0800 Subject: [PATCH 185/199] [Fix](iot) Fix unexpected error when iot auto detect get no data (#40657) ## Proposed changes Issue Number: close #xxx before: ``` ERROR 1105 (HY000): errCode = 2, detailMessage = Index 0 out of bounds for length 0 ``` now: ``` Query OK, 0 rows affected ``` --- .../insertoverwrite/InsertOverwriteUtil.java | 3 ++ .../insert_overwrite_auto_detect.groovy | 20 ++++++++----- .../test_auto_partition_behavior.groovy | 28 +++++++++++-------- 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/insertoverwrite/InsertOverwriteUtil.java b/fe/fe-core/src/main/java/org/apache/doris/insertoverwrite/InsertOverwriteUtil.java index 7f1595ea59dbea..90cb8cf1fd2cb4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/insertoverwrite/InsertOverwriteUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/insertoverwrite/InsertOverwriteUtil.java @@ -79,6 +79,9 @@ public static void replacePartition(TableIf olapTable, List partitionNam ReplacePartitionClause replacePartitionClause = new ReplacePartitionClause( new PartitionNames(false, partitionNames), new PartitionNames(true, tempPartitionNames), true, properties); + if (replacePartitionClause.getTempPartitionNames().isEmpty()) { + return; + } Env.getCurrentEnv() .replaceTempPartition((Database) olapTable.getDatabase(), (OlapTable) olapTable, replacePartitionClause); diff --git a/regression-test/suites/insert_overwrite_p0/insert_overwrite_auto_detect.groovy b/regression-test/suites/insert_overwrite_p0/insert_overwrite_auto_detect.groovy index cd33775f221ff9..ffd3c3e642f1db 100644 --- a/regression-test/suites/insert_overwrite_p0/insert_overwrite_auto_detect.groovy +++ b/regression-test/suites/insert_overwrite_p0/insert_overwrite_auto_detect.groovy @@ -148,12 +148,18 @@ suite("test_iot_auto_detect") { sql """ insert into dt values ("2005-01-01"), ("2013-02-02"), ("2022-03-03"); """ sql """ insert overwrite table dt partition(*) values ("2008-01-01"), ("2008-02-02"); """ qt_sql " select * from dt order by k0; " - try { + test { sql """ insert overwrite table dt partition(*) values ("2023-02-02"), ("3000-12-12"); """ - } catch (Exception e) { - log.info(e.getMessage()) - assertTrue(e.getMessage().contains('Insert has filtered data in strict mode') || - e.getMessage().contains('Cannot found origin partitions in auto detect overwriting')) - } - + check { result, exception, startTime, endTime -> + assertTrue(exception.getMessage().contains('Insert has filtered data in strict mode') || + exception.getMessage().contains('Cannot found origin partitions in auto detect overwriting')) + } + } + // test no rows(no partition hits) overwrite + sql " drop table if exists dt2" + sql " create table dt2 like dt" + sql " insert overwrite table dt2 partition(*) select * from dt2" + sql " insert overwrite table dt partition(*) select * from dt2" + sql " insert overwrite table dt partition(p10, pMAX) select * from dt2" + sql " insert overwrite table dt select * from dt2" } diff --git a/regression-test/suites/partition_p0/auto_partition/test_auto_partition_behavior.groovy b/regression-test/suites/partition_p0/auto_partition/test_auto_partition_behavior.groovy index 01fdfd4d634261..0a6d46290a7a04 100644 --- a/regression-test/suites/partition_p0/auto_partition/test_auto_partition_behavior.groovy +++ b/regression-test/suites/partition_p0/auto_partition/test_auto_partition_behavior.groovy @@ -50,11 +50,9 @@ suite("test_auto_partition_behavior") { result = sql "show partitions from unique_table" assertEquals(result.size(), 10) // add partition - try { + test { sql """ alter table unique_table add partition padd values in ("Xxx") """ - fail() - } catch (Exception e) { - assertTrue(e.getMessage().contains("is conflict with current partitionKeys")) + exception "is conflict with current partitionKeys" } // drop partition def partitions = sql "show partitions from unique_table order by PartitionName" @@ -94,11 +92,9 @@ suite("test_auto_partition_behavior") { result = sql "show partitions from dup_table" assertEquals(result.size(), 10) // add partition - try { + test { sql """ alter table dup_table add partition padd values in ("Xxx") """ - fail() - } catch (Exception e) { - assertTrue(e.getMessage().contains("is conflict with current partitionKeys")) + exception "is conflict with current partitionKeys" } // drop partition partitions = sql "show partitions from dup_table order by PartitionName" @@ -168,11 +164,9 @@ suite("test_auto_partition_behavior") { ); """ sql """ insert into rewrite values ("Xxx"); """ - try { + test { sql """ insert overwrite table rewrite partition(p1) values ("") """ - fail() - } catch (Exception e) { - assertTrue(e.getMessage().contains("Insert has filtered data in strict mode")) + exception "Insert has filtered data in strict mode" } sql """ insert overwrite table rewrite partition(p1) values ("Xxx") """ qt_sql_overwrite """ select * from rewrite """ // Xxx @@ -297,6 +291,9 @@ suite("test_auto_partition_behavior") { part_result = sql " show tablets from test_change " assertEquals(part_result.size, 52 * replicaNum) + + + // test not auto partition have expr. test { sql """ CREATE TABLE not_auto_expr ( @@ -310,4 +307,11 @@ suite("test_auto_partition_behavior") { """ exception "Non-auto partition table not support partition expr!" } + + + // test insert empty + sql "create table if not exists empty_range like test_change" + sql "insert into test_change select * from empty_range" + sql "create table if not exists empty_list like long_value" + sql "insert into long_value select * from empty_list" } From d77d74ac8a33d1799faca95b593f20986c8fc206 Mon Sep 17 00:00:00 2001 From: walter Date: Wed, 11 Sep 2024 19:34:38 +0800 Subject: [PATCH 186/199] [fix](restore) Remove the sqlMode from the view signature (#40615) To keep compatible with the old version, without sqlMode, if the signature of views are the same, we should have the same sqlMode. (since the sqlMode doesn't affect the parsing of inlineViewDef, otherwise the parsing will fail) --- .../src/main/java/org/apache/doris/catalog/View.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/View.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/View.java index 62402c7d474f3b..707464aeaf7e1d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/View.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/View.java @@ -223,7 +223,14 @@ public String getSignature(int signatureVersion) { sb.append(type); sb.append(Util.getSchemaSignatureString(fullSchema)); sb.append(inlineViewDef); - sb.append(sqlMode); + + // ATTN: sqlMode is missing when persist view, so we should not append it here. + // + // To keep compatible with the old version, without sqlMode, if the signature of views + // are the same, we think the should has the same sqlMode. (since the sqlMode doesn't + // effect the parsing of inlineViewDef, otherwise the parsing will fail), + // + // sb.append(sqlMode); String md5 = DigestUtils.md5Hex(sb.toString()); if (LOG.isDebugEnabled()) { LOG.debug("get signature of view {}: {}. signature string: {}", name, md5, sb.toString()); From 124ac01fecc9971815a5ee25ac95179e21fa4a37 Mon Sep 17 00:00:00 2001 From: airborne12 Date: Wed, 11 Sep 2024 21:00:40 +0800 Subject: [PATCH 187/199] [Fix](index tool) fix index tool compile problem (#40684) ## Proposed changes Fix compile problem like ``` be/src/index-tools/index_tool.cpp:451:47: error: no matching constructor for initialization of 'DorisCompoundReader' ``` --- be/src/index-tools/index_tool.cpp | 41 ++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/be/src/index-tools/index_tool.cpp b/be/src/index-tools/index_tool.cpp index f86bab84c055ed..adea2cd84c95f6 100644 --- a/be/src/index-tools/index_tool.cpp +++ b/be/src/index-tools/index_tool.cpp @@ -231,6 +231,24 @@ void check_terms_stats(lucene::store::Directory* dir) { _CLLDELETE(r); } +std::unique_ptr get_compound_reader(std::string file_path) { + CLuceneError err; + CL_NS(store)::IndexInput* index_input = nullptr; + auto ok = DorisFSDirectory::FSIndexInput::open(doris::io::global_local_filesystem(), + file_path.c_str(), index_input, err, 4096, -1); + if (!ok) { + // now index_input = nullptr + if (err.number() == CL_ERR_FileNotFound) { + std::cerr << "file " << file_path << " not found" << std::endl; + exit(-1); + } + std::cerr << "file " << file_path << " open error:" << err.what() << std::endl; + exit(-1); + } + + return std::make_unique(index_input, 4096); +} + int main(int argc, char** argv) { std::string usage = get_usage(argv[0]); gflags::SetUsageMessage(usage); @@ -253,9 +271,7 @@ int main(int argc, char** argv) { } std::unique_ptr reader; try { - reader = std::make_unique( - DorisFSDirectoryFactory::getDirectory(fs, dir_str.c_str()), file_str.c_str(), - 4096); + reader = get_compound_reader(file_path); std::vector files; std::cout << "Nested files for " << file_str << std::endl; std::cout << "==================================" << std::endl; @@ -288,9 +304,7 @@ int main(int argc, char** argv) { } std::unique_ptr reader; try { - reader = std::make_unique( - DorisFSDirectoryFactory::getDirectory(fs, dir_str.c_str()), file_str.c_str(), - 4096); + reader = get_compound_reader(file_path); std::cout << "Term statistics for " << file_str << std::endl; std::cout << "==================================" << std::endl; check_terms_stats(reader.get()); @@ -332,9 +346,8 @@ int main(int argc, char** argv) { if (!file_str.ends_with(".idx")) { continue; } - reader = std::make_unique( - DorisFSDirectoryFactory::getDirectory(fs, file_str.c_str()), - file_str.c_str(), 4096); + const auto file_path = FLAGS_directory + "/" + file_str; + reader = get_compound_reader(file_path); std::cout << "Search " << FLAGS_column_name << ":" << FLAGS_term << " from " << file_str << std::endl; std::cout << "==================================" << std::endl; @@ -356,9 +369,7 @@ int main(int argc, char** argv) { std::cerr << "file " << file_path << " not found" << std::endl; return -1; } - reader = std::make_unique( - DorisFSDirectoryFactory::getDirectory(fs, FLAGS_directory.c_str()), - FLAGS_idx_file_name.c_str(), 4096); + reader = get_compound_reader(file_path); std::cout << "Search " << FLAGS_column_name << ":" << FLAGS_term << " from " << FLAGS_idx_file_name << std::endl; std::cout << "==================================" << std::endl; @@ -448,9 +459,9 @@ int main(int argc, char** argv) { // format: rowsetId_segmentId_indexId.idx std::string src_idx_full_name = src_index_files[i] + "_" + std::to_string(index_id) + ".idx"; - DorisCompoundReader* reader = new DorisCompoundReader( - DorisFSDirectoryFactory::getDirectory(fs, tablet_path.c_str()), - src_idx_full_name.c_str()); + const auto file_path = tablet_path + "/" + src_idx_full_name; + auto reader_ptr = get_compound_reader(file_path); + DorisCompoundReader* reader = reader_ptr.release(); src_index_dirs[i] = reader; } From 462c7c69ac19c1d46ca500d669051becef00a23e Mon Sep 17 00:00:00 2001 From: Calvin Kirs Date: Wed, 11 Sep 2024 21:06:06 +0800 Subject: [PATCH 188/199] [Fix](metahelper)Filename regex validation only checks if the filename is valid. (#40677) ## Proposed changes The file name may also be VERSION. Considering the code maintainability, we will only check whether the file name is legal. --- .../org/apache/doris/master/MetaHelper.java | 16 +++++++--------- .../apache/doris/master/MetaHelperTest.java | 18 +++++++++++++++--- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/master/MetaHelper.java b/fe/fe-core/src/main/java/org/apache/doris/master/MetaHelper.java index cf63a82cd870d8..96e7375679150d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/master/MetaHelper.java +++ b/fe/fe-core/src/main/java/org/apache/doris/master/MetaHelper.java @@ -26,6 +26,7 @@ import org.apache.doris.persist.gson.GsonUtils; import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -47,7 +48,7 @@ public class MetaHelper { public static final String X_IMAGE_MD5 = "X-Image-Md5"; private static final int BUFFER_BYTES = 8 * 1024; private static final int CHECKPOINT_LIMIT_BYTES = 30 * 1024 * 1024; - private static final String VALID_FILENAME_REGEX = "^image\\.\\d+(\\.part)?$"; + private static final String VALID_FILENAME_REGEX = "^(?!\\.)[a-zA-Z0-9_\\-.]+$"; public static File getMasterImageDir() { @@ -115,13 +116,15 @@ private static void checkFile(File dir, File file) throws IOException { } } - - private static void checkIsValidFileName(String filename) { + protected static void checkIsValidFileName(String filename) { if (!Config.meta_helper_security_mode) { return; } + if (StringUtils.isBlank(filename)) { + return; + } if (!filename.matches(VALID_FILENAME_REGEX)) { - throw new IllegalArgumentException("Invalid filename"); + throw new IllegalArgumentException("Invalid filename : " + filename); } } @@ -156,7 +159,6 @@ public static void getRemoteFile(String urlStr, int timeout, File file) throws IOException { HttpURLConnection conn = null; checkFile(file); - boolean md5Matched = true; OutputStream out = new FileOutputStream(file); try { conn = HttpURLUtil.getConnectionWithNodeIdent(urlStr); @@ -186,7 +188,6 @@ public static void getRemoteFile(String urlStr, int timeout, File file) if (remoteMd5 != null) { String localMd5 = DigestUtils.md5Hex(new FileInputStream(file)); if (!remoteMd5.equals(localMd5)) { - md5Matched = false; throw new IOException("Unexpected image md5, expected: " + remoteMd5 + ", actual: " + localMd5); } } @@ -197,9 +198,6 @@ public static void getRemoteFile(String urlStr, int timeout, File file) if (out != null) { out.close(); } - if (!md5Matched && file.exists() & Config.meta_helper_security_mode) { - file.delete(); - } } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/master/MetaHelperTest.java b/fe/fe-core/src/test/java/org/apache/doris/master/MetaHelperTest.java index 40083abf956aa4..1c8c8a2a7ddf70 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/master/MetaHelperTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/master/MetaHelperTest.java @@ -70,7 +70,7 @@ void setUp() { @Test public void testFile() throws IOException { - String errorFilename = "testfile."; + String errorFilename = "..testfile."; File errorFileWithSuffix = new File(tempDir, errorFilename); String rightFilename = "image.1"; File rightFileWithSuffix = new File(tempDir, rightFilename); @@ -80,8 +80,8 @@ public void testFile() throws IOException { if (errorFileWithSuffix.exists()) { errorFileWithSuffix.delete(); } - Assert.assertThrows(IllegalArgumentException.class, () -> MetaHelper.complete(errorFilename, tempDir)); - Assert.assertThrows(IllegalArgumentException.class, () -> MetaHelper.getFile(errorFilename, tempDir)); + Assert.assertThrows(Exception.class, () -> MetaHelper.complete(errorFilename, tempDir)); + Assert.assertThrows(Exception.class, () -> MetaHelper.getFile(errorFilename, tempDir)); if (rightFileWithSuffix.exists()) { rightFileWithSuffix.delete(); } @@ -89,6 +89,18 @@ public void testFile() throws IOException { } + @Test + public void testFileNameCheck() { + Config.meta_helper_security_mode = true; + MetaHelper.checkIsValidFileName("VERSION"); + MetaHelper.checkIsValidFileName("image.1"); + MetaHelper.checkIsValidFileName("image.1.part"); + MetaHelper.checkIsValidFileName("image.1.part.1"); + Assert.assertThrows(IllegalArgumentException.class, () -> MetaHelper.checkIsValidFileName("../testfile.")); + + + } + @AfterEach public void tearDown() { if (tempDir.exists()) { From a622ae206524912a403b692908833756bf5f6e62 Mon Sep 17 00:00:00 2001 From: Siyang Tang <82279870+TangSiyang2001@users.noreply.github.com> Date: Wed, 11 Sep 2024 21:13:37 +0800 Subject: [PATCH 189/199] [enhancement](compaction) Abort merging rowsets when the tablet is no more active (#40478) ## Proposed changes Merge rowsets is relatively long-term. Abort this stage if tablets are no more active (not ready is an active state for compaction). --- be/src/olap/merger.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/be/src/olap/merger.cpp b/be/src/olap/merger.cpp index 02d77372b4b3c7..cba828785d90ec 100644 --- a/be/src/olap/merger.cpp +++ b/be/src/olap/merger.cpp @@ -47,6 +47,7 @@ #include "olap/storage_engine.h" #include "olap/tablet.h" #include "olap/tablet_fwd.h" +#include "olap/tablet_meta.h" #include "olap/tablet_reader.h" #include "olap/utils.h" #include "util/slice.h" @@ -136,7 +137,8 @@ Status Merger::vmerge_rowsets(BaseTabletSPtr tablet, ReaderType reader_type, size_t output_rows = 0; bool eof = false; while (!eof && !ExecEnv::GetInstance()->storage_engine().stopped()) { - if (tablet->tablet_state() == TABLET_SHUTDOWN) { + auto tablet_state = tablet->tablet_state(); + if (tablet_state != TABLET_RUNNING && tablet_state != TABLET_NOTREADY) { tablet->clear_cache(); return Status::Error("tablet {} is not used any more", tablet->tablet_id()); @@ -303,6 +305,12 @@ Status Merger::vertical_compact_one_group( size_t output_rows = 0; bool eof = false; while (!eof && !ExecEnv::GetInstance()->storage_engine().stopped()) { + auto tablet_state = tablet->tablet_state(); + if (tablet_state != TABLET_RUNNING && tablet_state != TABLET_NOTREADY) { + tablet->clear_cache(); + return Status::Error("tablet {} is not used any more", + tablet->tablet_id()); + } // Read one block from block reader RETURN_NOT_OK_STATUS_WITH_WARN(reader.next_block_with_aggregation(&block, &eof), "failed to read next block when merging rowsets of tablet " + From 25b1bc76c0adfee4442083902b8008b703261210 Mon Sep 17 00:00:00 2001 From: Siyang Tang <82279870+TangSiyang2001@users.noreply.github.com> Date: Wed, 11 Sep 2024 21:59:31 +0800 Subject: [PATCH 190/199] [fix](scan) Fix incorrect query results due to data race of compaction and parallel scanners building (#40552) ## Proposed changes Capture rowset splits and delete predicates atomicly in `ParallelScannerBuilder::_load` as a single read source. In this way, we could prevent reading stale rowsets with the delete predicates eliminated by (base) compaction. --- be/src/olap/parallel_scanner_builder.cpp | 66 +++++++++++------------- be/src/olap/parallel_scanner_builder.h | 6 ++- 2 files changed, 35 insertions(+), 37 deletions(-) diff --git a/be/src/olap/parallel_scanner_builder.cpp b/be/src/olap/parallel_scanner_builder.cpp index 10bd61cd8d5d4b..33e2762aa44621 100644 --- a/be/src/olap/parallel_scanner_builder.cpp +++ b/be/src/olap/parallel_scanner_builder.cpp @@ -17,9 +17,12 @@ #include "parallel_scanner_builder.h" +#include + #include "cloud/cloud_storage_engine.h" #include "cloud/cloud_tablet_hotspot.h" #include "cloud/config.h" +#include "common/status.h" #include "olap/rowset/beta_rowset.h" #include "pipeline/exec/olap_scan_operator.h" #include "vec/exec/scan/new_olap_scanner.h" @@ -42,35 +45,28 @@ Status ParallelScannerBuilder::_build_scanners_by_rowid(std::list& DCHECK_GE(_rows_per_scanner, _min_rows_per_scanner); for (auto&& [tablet, version] : _tablets) { - DCHECK(_all_rowsets.contains(tablet->tablet_id())); - auto& rowsets = _all_rowsets[tablet->tablet_id()]; - - TabletReader::ReadSource reade_source_with_delete_info; + DCHECK(_all_read_sources.contains(tablet->tablet_id())); + auto& entire_read_source = _all_read_sources[tablet->tablet_id()]; if (config::is_cloud_mode()) { // FIXME(plat1ko): Avoid pointer cast ExecEnv::GetInstance()->storage_engine().to_cloud().tablet_hotspot().count(*tablet); } - if (!_state->skip_delete_predicate()) { - RETURN_IF_ERROR(tablet->capture_rs_readers( - {0, version}, &reade_source_with_delete_info.rs_splits, false)); - reade_source_with_delete_info.fill_delete_predicates(); - } - - TabletReader::ReadSource read_source; - + // `rs_splits` in `entire read source` will be devided into several partitial read sources + // to build several parallel scanners, based on segment rows number. All the partitial read sources + // share the same delete predicates from their corresponding entire read source. + TabletReader::ReadSource partitial_read_source; int64_t rows_collected = 0; - for (auto& rowset : rowsets) { - auto beta_rowset = std::dynamic_pointer_cast(rowset); - RowsetReaderSharedPtr reader; - RETURN_IF_ERROR(beta_rowset->create_reader(&reader)); - const auto rowset_id = beta_rowset->rowset_id(); + for (auto& rs_split : entire_read_source.rs_splits) { + auto reader = rs_split.rs_reader; + auto rowset = reader->rowset(); + const auto rowset_id = rowset->rowset_id(); DCHECK(_segment_cache_handles.contains(rowset_id)); auto& segment_cache_handle = _segment_cache_handles[rowset_id]; - if (beta_rowset->num_rows() == 0) { + if (rowset->num_rows() == 0) { continue; } @@ -110,14 +106,14 @@ Status ParallelScannerBuilder::_build_scanners_by_rowid(std::list& DCHECK_EQ(split.segment_offsets.second - split.segment_offsets.first, split.segment_row_ranges.size()); - read_source.rs_splits.emplace_back(std::move(split)); + partitial_read_source.rs_splits.emplace_back(std::move(split)); scanners.emplace_back( _build_scanner(tablet, version, _key_ranges, - {std::move(read_source.rs_splits), - reade_source_with_delete_info.delete_predicates})); + {std::move(partitial_read_source.rs_splits), + entire_read_source.delete_predicates})); - read_source = TabletReader::ReadSource(); + partitial_read_source = {}; split = RowSetSplits(reader->clone()); row_ranges = RowRanges(); @@ -141,25 +137,24 @@ Status ParallelScannerBuilder::_build_scanners_by_rowid(std::list& DCHECK_GT(split.segment_offsets.second, split.segment_offsets.first); DCHECK_EQ(split.segment_row_ranges.size(), split.segment_offsets.second - split.segment_offsets.first); - read_source.rs_splits.emplace_back(std::move(split)); + partitial_read_source.rs_splits.emplace_back(std::move(split)); } } // end `for (auto& rowset : rowsets)` DCHECK_LE(rows_collected, _rows_per_scanner); if (rows_collected > 0) { - DCHECK_GT(read_source.rs_splits.size(), 0); + DCHECK_GT(partitial_read_source.rs_splits.size(), 0); #ifndef NDEBUG - for (auto& split : read_source.rs_splits) { + for (auto& split : partitial_read_source.rs_splits) { DCHECK(split.rs_reader != nullptr); DCHECK_LT(split.segment_offsets.first, split.segment_offsets.second); DCHECK_EQ(split.segment_row_ranges.size(), split.segment_offsets.second - split.segment_offsets.first); } #endif - scanners.emplace_back( - _build_scanner(tablet, version, _key_ranges, - {std::move(read_source.rs_splits), - reade_source_with_delete_info.delete_predicates})); + scanners.emplace_back(_build_scanner(tablet, version, _key_ranges, + {std::move(partitial_read_source.rs_splits), + entire_read_source.delete_predicates})); } } @@ -173,16 +168,17 @@ Status ParallelScannerBuilder::_load() { _total_rows = 0; for (auto&& [tablet, version] : _tablets) { const auto tablet_id = tablet->tablet_id(); - auto& rowsets = _all_rowsets[tablet_id]; - { - std::shared_lock read_lock(tablet->get_header_lock()); - RETURN_IF_ERROR(tablet->capture_consistent_rowsets_unlocked({0, version}, &rowsets)); + auto& read_source = _all_read_sources[tablet_id]; + RETURN_IF_ERROR(tablet->capture_rs_readers({0, version}, &read_source.rs_splits, false)); + if (!_state->skip_delete_predicate()) { + read_source.fill_delete_predicates(); } - bool enable_segment_cache = _state->query_options().__isset.enable_segment_cache ? _state->query_options().enable_segment_cache : true; - for (auto& rowset : rowsets) { + + for (auto& rs_split : read_source.rs_splits) { + auto rowset = rs_split.rs_reader->rowset(); RETURN_IF_ERROR(rowset->load()); const auto rowset_id = rowset->rowset_id(); auto& segment_cache_handle = _segment_cache_handles[rowset_id]; diff --git a/be/src/olap/parallel_scanner_builder.h b/be/src/olap/parallel_scanner_builder.h index eb25e183df2777..934d769ed59aa0 100644 --- a/be/src/olap/parallel_scanner_builder.h +++ b/be/src/olap/parallel_scanner_builder.h @@ -19,8 +19,10 @@ #include #include +#include #include +#include "olap/rowset/rowset_fwd.h" #include "olap/rowset/segment_v2/row_ranges.h" #include "olap/segment_loader.h" #include "olap/tablet.h" @@ -90,7 +92,7 @@ class ParallelScannerBuilder { bool _is_preaggregation; std::vector _tablets; std::vector _key_ranges; - std::unordered_map> _all_rowsets; + std::unordered_map _all_read_sources; }; -} // namespace doris \ No newline at end of file +} // namespace doris From 1690c5563a561baa806755ab0583a0a8e312a86a Mon Sep 17 00:00:00 2001 From: Luwei <814383175@qq.com> Date: Wed, 11 Sep 2024 22:16:46 +0800 Subject: [PATCH 191/199] [enhancement](balance) change unnecessary write locks to read locks in cloud balance (#40633) --- .../apache/doris/cloud/catalog/CloudTabletRebalancer.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java index ae34c6b722f7b0..093079437a5c77 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java @@ -616,10 +616,7 @@ public void loopCloudReplica(Operator operator) { continue; } OlapTable olapTable = (OlapTable) table; - if (!table.writeLockIfExist()) { - continue; - } - + table.readLock(); try { for (Partition partition : olapTable.getAllPartitions()) { for (MaterializedIndex index : partition.getMaterializedIndices(IndexExtState.VISIBLE)) { @@ -630,7 +627,7 @@ public void loopCloudReplica(Operator operator) { } // end for indices } // end for partitions } finally { - table.writeUnlock(); + table.readUnlock(); } } } From 77fb56e0c1f35fcf5eaba8a9d56799fd074bb5fa Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Wed, 11 Sep 2024 22:36:47 +0800 Subject: [PATCH 192/199] [fix](planner) throw NPE when insert overwrite partition(*) (#40656) --- .../org/apache/doris/analysis/InsertOverwriteTableStmt.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java index a0fca62e2848be..aa805af6583a8f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java @@ -75,7 +75,9 @@ public QueryStmt getQueryStmt() { } public List getPartitionNames() { - if (target.getPartitionNames() == null) { + if (target.getPartitionNames() == null + || target.getPartitionNames().getPartitionNames() == null + || target.getPartitionNames().isStar()) { return new ArrayList<>(); } return target.getPartitionNames().getPartitionNames(); From aab6204bbb9abf3466ae0608e35d31291a40de90 Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Wed, 11 Sep 2024 22:44:42 +0800 Subject: [PATCH 193/199] [chore](audit) let line comment work well (#40599) should replace new line character with '\n', not ' ' --- .../java/org/apache/doris/qe/AuditLogHelper.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java b/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java index 904910822b8a9f..c4b6d20688c87e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java @@ -89,14 +89,14 @@ public static String handleStmt(String origStmt, StatementBase parsedStmt) { } int maxLen = GlobalVariable.auditPluginMaxSqlLength; if (origStmt.length() <= maxLen) { - return origStmt.replace("\n", " ") - .replace("\t", " ") - .replace("\r", " "); + return origStmt.replace("\n", "\\n") + .replace("\t", "\\t") + .replace("\r", "\\r"); } origStmt = truncateByBytes(origStmt) - .replace("\n", " ") - .replace("\t", " ") - .replace("\r", " "); + .replace("\n", "\\n") + .replace("\t", "\\t") + .replace("\r", "\\r"); int rowCnt = 0; // old planner if (parsedStmt instanceof NativeInsertStmt) { From f597d72a828e29405d8226c13e27fc2c9477a818 Mon Sep 17 00:00:00 2001 From: zy-kkk Date: Wed, 11 Sep 2024 22:47:04 +0800 Subject: [PATCH 194/199] [fix](default value) Avoid default precision value of 0 for default expressions during deserialization (#40671) This PR fixes the issue where the precision of default value expressions was incorrectly set to `0` during deserialization. The `gsonPostProcess` method no longer assigns a default precision of `0` if the precision is not provided. Additionally, logic has been added to ensure that expressions without precision do not incorrectly apply a precision of `0`. --- .../java/org/apache/doris/analysis/DefaultValueExprDef.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DefaultValueExprDef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DefaultValueExprDef.java index 30ab756bb51a56..44bc766ee47b5e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DefaultValueExprDef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DefaultValueExprDef.java @@ -64,7 +64,7 @@ public DefaultValueExprDef(String exprName, Long precision) { */ public FunctionCallExpr getExpr(Type type) { List exprs = null; - if (precision != null) { + if (precision != null && precision != 0) { exprs = Lists.newArrayList(); exprs.add(new IntLiteral(precision)); } @@ -101,8 +101,6 @@ public static DefaultValueExprDef read(DataInput in) throws IOException { @Override public void gsonPostProcess() throws IOException { - if (precision == null) { - precision = 0L; - } + // nothing to do } } From d0cb1283f5f7563a7f67186be4211fabcdc4d26e Mon Sep 17 00:00:00 2001 From: zhangdong <493738387@qq.com> Date: Wed, 11 Sep 2024 22:54:45 +0800 Subject: [PATCH 195/199] [fix](auth)show config command should check auth (#40533) The old optimizer checked permissions, but the new optimizer did not check permissions, We keep the permissions of the new optimizer and the old optimizer consistent. ps: We will add cases to other PRs as a whole --- .../nereids/trees/plans/commands/ShowConfigCommand.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConfigCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConfigCommand.java index b139d0a5772639..77bb5ee83d3a2c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConfigCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConfigCommand.java @@ -23,8 +23,11 @@ import org.apache.doris.common.AnalysisException; import org.apache.doris.common.CaseSensibility; import org.apache.doris.common.ConfigBase; +import org.apache.doris.common.ErrorCode; +import org.apache.doris.common.ErrorReport; import org.apache.doris.common.PatternMatcher; import org.apache.doris.common.PatternMatcherWrapper; +import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor; import org.apache.doris.qe.ConnectContext; @@ -157,6 +160,10 @@ private ShowResultSet handShowBackendConfig() throws AnalysisException { @Override public void run(ConnectContext ctx, StmtExecutor executor) throws Exception { + // check auth + if (!Env.getCurrentEnv().getAccessManager().checkGlobalPriv(ConnectContext.get(), PrivPredicate.ADMIN)) { + ErrorReport.reportAnalysisException(ErrorCode.ERR_SPECIFIC_ACCESS_DENIED_ERROR, "ADMIN"); + } if (nodeType == NodeType.FRONTEND) { executor.sendResultSet(handShowFrontendConfig()); } else { From 4f1d566d7d2b5ad35b3d1fec411ed6b93dcedf05 Mon Sep 17 00:00:00 2001 From: Vallish Pai Date: Wed, 11 Sep 2024 20:28:27 +0530 Subject: [PATCH 196/199] [Enhancement] Add E as default value function for doris (#40209) ## Proposed changes Issue Number: close #34228 add e as default value --- .../org/apache/doris/nereids/DorisLexer.g4 | 1 + .../org/apache/doris/nereids/DorisParser.g4 | 3 +- .../org/apache/doris/nereids/PLParser.g4 | 1 + .../org/apache/doris/analysis/ColumnDef.java | 9 +++ .../nereids/parser/LogicalPlanBuilder.java | 2 + .../plans/commands/info/DefaultValue.java | 9 +-- .../data/correctness_p0/test_default_e.out | 13 ++++ .../correctness_p0/test_default_e.groovy | 69 +++++++++++++++++++ 8 files changed, 102 insertions(+), 5 deletions(-) create mode 100644 regression-test/data/correctness_p0/test_default_e.out create mode 100644 regression-test/suites/correctness_p0/test_default_e.groovy diff --git a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 index e3ae9788e6af14..9695c34ebbdbbb 100644 --- a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 +++ b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4 @@ -220,6 +220,7 @@ DROPP: 'DROPP'; DUAL: 'DUAL'; DUPLICATE: 'DUPLICATE'; DYNAMIC: 'DYNAMIC'; +E:'E'; ELSE: 'ELSE'; ENABLE: 'ENABLE'; ENCRYPTKEY: 'ENCRYPTKEY'; diff --git a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 index 008425fb5a197e..e1157b1f432f8d 100644 --- a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 +++ b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 @@ -1323,7 +1323,7 @@ columnDef ((GENERATED ALWAYS)? AS LEFT_PAREN generatedExpr=expression RIGHT_PAREN)? ((NOT)? nullable=NULL)? (AUTO_INCREMENT (LEFT_PAREN autoIncInitValue=number RIGHT_PAREN)?)? - (DEFAULT (nullValue=NULL | INTEGER_VALUE | DECIMAL_VALUE | PI | stringValue=STRING_LITERAL + (DEFAULT (nullValue=NULL | INTEGER_VALUE | DECIMAL_VALUE | PI | E | stringValue=STRING_LITERAL | CURRENT_DATE | defaultTimestamp=CURRENT_TIMESTAMP (LEFT_PAREN defaultValuePrecision=number RIGHT_PAREN)?))? (ON UPDATE CURRENT_TIMESTAMP (LEFT_PAREN onUpdateValuePrecision=number RIGHT_PAREN)?)? (COMMENT comment=STRING_LITERAL)? @@ -1866,6 +1866,7 @@ nonReserved | DORIS_INTERNAL_TABLE_ID | DUAL | DYNAMIC + | E | ENABLE | ENCRYPTKEY | ENCRYPTKEYS diff --git a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/PLParser.g4 b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/PLParser.g4 index 7051cac0ca0008..2ba92c87299887 100644 --- a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/PLParser.g4 +++ b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/PLParser.g4 @@ -826,6 +826,7 @@ non_reserved_words : // Tokens that are not reserved words | DIR | DIRECTORY | DISTRIBUTE + | E | ESCAPED | EXEC | EXCEPTION diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnDef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnDef.java index e01a4f11793455..33474f8263ccbb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnDef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ColumnDef.java @@ -99,6 +99,7 @@ public DefaultValue(boolean isSet, String value, String exprName, Long precision this.defaultValueExprDef = new DefaultValueExprDef(exprName, precision); } + public static String E_NUM = "E"; public static String PI = "PI"; public static String CURRENT_DATE = "CURRENT_DATE"; // default "CURRENT_TIMESTAMP", only for DATETIME type @@ -535,6 +536,14 @@ public static void validateDefaultValue(Type type, String defaultValue, DefaultV default: throw new AnalysisException("Types other than DOUBLE cannot use pi as the default value"); } + } else if (null != defaultValueExprDef + && defaultValueExprDef.getExprName().equalsIgnoreCase(DefaultValue.E_NUM)) { + switch (primitiveType) { + case DOUBLE: + break; + default: + throw new AnalysisException("Types other than DOUBLE cannot use e as the default value"); + } } switch (primitiveType) { case TINYINT: diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java index 732b41acc91f1e..36ee590c0e946a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java @@ -2787,6 +2787,8 @@ public ColumnDefinition visitColumnDef(ColumnDefContext ctx) { defaultValue = Optional.of(DefaultValue.CURRENT_DATE_DEFAULT_VALUE); } else if (ctx.PI() != null) { defaultValue = Optional.of(DefaultValue.PI_DEFAULT_VALUE); + } else if (ctx.E() != null) { + defaultValue = Optional.of(DefaultValue.E_NUM_DEFAULT_VALUE); } } if (ctx.UPDATE() != null) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/DefaultValue.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/DefaultValue.java index 6df1d3d7cf1451..0d9de31157d4c6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/DefaultValue.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/DefaultValue.java @@ -24,6 +24,8 @@ * default value of a column. */ public class DefaultValue { + + public static String E_NUM = "E"; public static String PI = "PI"; public static String CURRENT_DATE = "CURRENT_DATE"; public static String CURRENT_TIMESTAMP = "CURRENT_TIMESTAMP"; @@ -41,11 +43,10 @@ public class DefaultValue { public static DefaultValue BITMAP_EMPTY_DEFAULT_VALUE = new DefaultValue(ZERO); // default "value", "[]" means empty array public static DefaultValue ARRAY_EMPTY_DEFAULT_VALUE = new DefaultValue("[]"); - // default "value", "3.14159265358979323846" means pi, refer to M_PI in . - // M_PI is enough for type double because the precision of type double is 15~16 digits. - // but it is not adequate for computation using long double. in this case, use M_PIl in . - public static DefaultValue PI_DEFAULT_VALUE = new DefaultValue("3.14159265358979323846", PI); + // Lets use the const value from math pacakge. + public static DefaultValue PI_DEFAULT_VALUE = new DefaultValue(Double.toString(Math.PI), PI); + public static DefaultValue E_NUM_DEFAULT_VALUE = new DefaultValue(Double.toString(Math.E), E_NUM); private final String value; // used for column which defaultValue is an expression. private final DefaultValueExprDef defaultValueExprDef; diff --git a/regression-test/data/correctness_p0/test_default_e.out b/regression-test/data/correctness_p0/test_default_e.out new file mode 100644 index 00000000000000..f0a88b6614d304 --- /dev/null +++ b/regression-test/data/correctness_p0/test_default_e.out @@ -0,0 +1,13 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !insert_into1 -- +1 2.718281828459045 1 +2 2.718281828459045 2 +3 2.718281828459045 3 +4 2.718281828459045 4 + +-- !select_1 -- +1 2.718281828459045 1 +2 2.718281828459045 2 +3 2.718281828459045 3 +4 2.718281828459045 4 + diff --git a/regression-test/suites/correctness_p0/test_default_e.groovy b/regression-test/suites/correctness_p0/test_default_e.groovy new file mode 100644 index 00000000000000..0e529272cf499b --- /dev/null +++ b/regression-test/suites/correctness_p0/test_default_e.groovy @@ -0,0 +1,69 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_default_e") { + def tableName = "test_default_e" + + sql """ DROP TABLE IF EXISTS ${tableName} """ + sql """ + CREATE TABLE IF NOT EXISTS ${tableName} + ( + k TINYINT, + v1 DOUBLE NOT NULL DEFAULT E, + v2 INT + ) + UNIQUE KEY(K) + DISTRIBUTED BY HASH(k) + PROPERTIES("replication_num" = "1"); + """ + + // test insert into. + sql " insert into ${tableName} (k, v2) values (1, 1); " + sql " insert into ${tableName} (k, v2) values (2, 2); " + sql " insert into ${tableName} (k, v2) values (3, 3); " + sql " insert into ${tableName} (k, v2) values (4, 4); " + sql "sync" + qt_insert_into1 """ select * from ${tableName} order by k; """ + + qt_select_1 "select * from ${tableName} order by k;" + + + // test varchar with default e + sql "DROP TABLE IF EXISTS test_varchar_default" + test { + sql """create table test_varchar_default(a int, b varchar(100) default e) + distributed by hash(a) properties('replication_num'="1");""" + exception "Types other than DOUBLE cannot use e as the default value" + } + + // test int with default e + sql "DROP TABLE IF EXISTS test_int_default" + test { + sql """create table test_int_default(a int, b int default e) + distributed by hash(a) properties('replication_num'="1");""" + exception "Types other than DOUBLE cannot use e as the default value" + } + + // test float with default e + sql "DROP TABLE IF EXISTS test_double_default" + test { + sql """create table test_int_default(a int, b float default e) + distributed by hash(a) properties('replication_num'="1");""" + exception "Types other than DOUBLE cannot use e as the default value" + } + +} From c8b5386fe603c6efc2bfe6d24a61253c993f27ea Mon Sep 17 00:00:00 2001 From: Luwei <814383175@qq.com> Date: Wed, 11 Sep 2024 23:06:33 +0800 Subject: [PATCH 197/199] [fix](cloud) fix the issue that FE's periodic reconnection to MS RPC is ineffective (#40661) --- .../java/org/apache/doris/cloud/rpc/MetaServiceProxy.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceProxy.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceProxy.java index 7d47ec70c1bada..33a4d81feaaa54 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceProxy.java +++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/rpc/MetaServiceProxy.java @@ -107,7 +107,7 @@ private MetaServiceClient getProxy() { String address = Config.meta_service_endpoint; MetaServiceClient service = serviceMap.get(address); - if (service != null && service.isNormalState()) { + if (service != null && service.isNormalState() && !service.isConnectionAgeExpired()) { return service; } @@ -126,7 +126,7 @@ private MetaServiceClient getProxy() { removedClient = service; service = null; } - if (service != null && !service.isConnectionAgeExpired()) { + if (service != null && service.isConnectionAgeExpired()) { serviceMap.remove(address); removedClient = service; service = null; From 55bde8cb48ddbef2e27298c4e55e2911d24a9b5e Mon Sep 17 00:00:00 2001 From: daidai <2017501503@qq.com> Date: Wed, 11 Sep 2024 23:30:23 +0800 Subject: [PATCH 198/199] [Enhancement](MaxCompute)Refactoring maxCompute catalog using Storage API. (#40225) ## Proposed changes Refactoring maxCompute catalog using Storage API. Storage API : https://help.aliyun.com/zh/maxcompute/user-guide/open-storage-sample-java-sdk?spm=a2c4g.11186623.0.i0 ``` The following are required: CREATE CATALOG mc PROPERTIES ( "type" = "max_compute", "mc.default.project" = "xxx", "mc.access_key" = "xxx", "mc.secret_key" = "xxxx", "mc.endpoint" = "xxxx" ); Optional parameters: Configuration Item Default Value "mc.quota" = "pay-as-you-go" "mc.split_strategy" = "byte_size" Split according to file size "mc.split_byte_size" = "268435456" You can set the file size of each split "mc.split_strategy" = "row_count" Split according to the number of rows of data "mc.split_row_count" = "1048576" You can set how many lines to read for each split ``` --- be/src/runtime/descriptors.cpp | 16 +- be/src/runtime/descriptors.h | 14 +- .../format/table/max_compute_jni_reader.cpp | 28 +- be/src/vec/exec/scan/vfile_scanner.cpp | 3 + .../doris/common/jni/vec/ColumnValue.java | 12 + .../doris/common/jni/vec/VectorColumn.java | 6 + .../max-compute-scanner/pom.xml | 6 + .../maxcompute/MaxComputeColumnValue.java | 121 ++- .../maxcompute/MaxComputeJniScanner.java | 344 +++----- .../maxcompute/MaxComputePartitionValue.java | 137 --- .../doris/maxcompute/MaxComputeTableScan.java | 114 --- .../maxcompute/MaxComputeJniScannerTest.java | 158 ---- fe/fe-core/pom.xml | 6 + .../apache/doris/analysis/DateLiteral.java | 33 + .../maxcompute/MaxComputeExternalCatalog.java | 223 +++-- .../maxcompute/MaxComputeExternalTable.java | 63 +- .../maxcompute/MaxComputeMetadataCache.java | 18 - .../maxcompute/source/MaxComputeScanNode.java | 442 ++++++++-- .../maxcompute/source/MaxComputeSplit.java | 20 +- .../property/constants/MCProperties.java | 24 +- .../property/PropertyConverterTest.java | 7 +- fe/pom.xml | 2 +- gensrc/thrift/Descriptors.thrift | 10 +- gensrc/thrift/PlanNodes.thrift | 5 +- .../test_external_catalog_maxcompute.out | 138 ++- .../maxcompute/test_max_compute_all_type.out | 788 ++++++++++++++++++ .../test_max_compute_complex_type.out | 10 +- .../test_external_catalog_maxcompute.groovy | 313 ++++++- .../test_max_compute_all_type.groovy | 547 ++++++++++++ .../test_max_compute_complex_type.groovy | 20 +- 30 files changed, 2663 insertions(+), 965 deletions(-) delete mode 100644 fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputePartitionValue.java delete mode 100644 fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeTableScan.java delete mode 100644 fe/be-java-extensions/max-compute-scanner/src/test/java/org/apache/doris/maxcompute/MaxComputeJniScannerTest.java create mode 100644 regression-test/data/external_table_p2/maxcompute/test_max_compute_all_type.out rename regression-test/data/{external_table_p0/mc => external_table_p2/maxcompute}/test_max_compute_complex_type.out (79%) create mode 100644 regression-test/suites/external_table_p2/maxcompute/test_max_compute_all_type.groovy rename regression-test/suites/{external_table_p0/mc => external_table_p2/maxcompute}/test_max_compute_complex_type.groovy (92%) diff --git a/be/src/runtime/descriptors.cpp b/be/src/runtime/descriptors.cpp index efc4396d01f9f4..bea11feb916f10 100644 --- a/be/src/runtime/descriptors.cpp +++ b/be/src/runtime/descriptors.cpp @@ -189,7 +189,21 @@ MaxComputeTableDescriptor::MaxComputeTableDescriptor(const TTableDescriptor& tde _tunnel_url(tdesc.mcTable.tunnel_url), _access_key(tdesc.mcTable.access_key), _secret_key(tdesc.mcTable.secret_key), - _public_access(tdesc.mcTable.public_access) {} + _public_access(tdesc.mcTable.public_access) { + if (tdesc.mcTable.__isset.endpoint) { + _endpoint = tdesc.mcTable.endpoint; + } else { + _init_status = Status::InvalidArgument( + "fail to init MaxComputeTableDescriptor, missing endpoint."); + } + + if (tdesc.mcTable.__isset.quota) { + _quota = tdesc.mcTable.quota; + } else { + _init_status = + Status::InvalidArgument("fail to init MaxComputeTableDescriptor, missing quota."); + } +} MaxComputeTableDescriptor::~MaxComputeTableDescriptor() = default; diff --git a/be/src/runtime/descriptors.h b/be/src/runtime/descriptors.h index 3379cebefce6af..66d571d3b95541 100644 --- a/be/src/runtime/descriptors.h +++ b/be/src/runtime/descriptors.h @@ -215,16 +215,22 @@ class MaxComputeTableDescriptor : public TableDescriptor { std::string access_key() const { return _access_key; } std::string secret_key() const { return _secret_key; } std::string public_access() const { return _public_access; } + std::string endpoint() const { return _endpoint; } + std::string quota() const { return _quota; } + Status init_status() const { return _init_status; } private: - std::string _region; + std::string _region; //deprecated std::string _project; std::string _table; - std::string _odps_url; - std::string _tunnel_url; + std::string _odps_url; //deprecated + std::string _tunnel_url; //deprecated std::string _access_key; std::string _secret_key; - std::string _public_access; + std::string _public_access; //deprecated + std::string _endpoint; + std::string _quota; + Status _init_status = Status::OK(); }; class TrinoConnectorTableDescriptor : public TableDescriptor { diff --git a/be/src/vec/exec/format/table/max_compute_jni_reader.cpp b/be/src/vec/exec/format/table/max_compute_jni_reader.cpp index f3fd093ca0a391..d1a71fd1a2f9d9 100644 --- a/be/src/vec/exec/format/table/max_compute_jni_reader.cpp +++ b/be/src/vec/exec/format/table/max_compute_jni_reader.cpp @@ -63,19 +63,21 @@ MaxComputeJniReader::MaxComputeJniReader(const MaxComputeTableDescriptor* mc_des } index++; } - std::map params = {{"region", _table_desc->region()}, - {"odps_url", _table_desc->odps_url()}, - {"tunnel_url", _table_desc->tunnel_url()}, - {"access_key", _table_desc->access_key()}, - {"secret_key", _table_desc->secret_key()}, - {"project", _table_desc->project()}, - {"partition_spec", _max_compute_params.partition_spec}, - {"table", _table_desc->table()}, - {"public_access", _table_desc->public_access()}, - {"start_offset", std::to_string(_range.start_offset)}, - {"split_size", std::to_string(_range.size)}, - {"required_fields", required_fields.str()}, - {"columns_types", columns_types.str()}}; + std::map params = { + {"access_key", _table_desc->access_key()}, + {"secret_key", _table_desc->secret_key()}, + {"endpoint", _table_desc->endpoint()}, + {"quota", _table_desc->quota()}, + {"project", _table_desc->project()}, + {"table", _table_desc->table()}, + + {"session_id", _max_compute_params.session_id}, + {"scan_serializer", _max_compute_params.table_batch_read_session}, + + {"start_offset", std::to_string(_range.start_offset)}, + {"split_size", std::to_string(_range.size)}, + {"required_fields", required_fields.str()}, + {"columns_types", columns_types.str()}}; _jni_connector = std::make_unique( "org/apache/doris/maxcompute/MaxComputeJniScanner", params, column_names); } diff --git a/be/src/vec/exec/scan/vfile_scanner.cpp b/be/src/vec/exec/scan/vfile_scanner.cpp index 75ecc744ac18fb..e7dd2b1aa65061 100644 --- a/be/src/vec/exec/scan/vfile_scanner.cpp +++ b/be/src/vec/exec/scan/vfile_scanner.cpp @@ -752,6 +752,9 @@ Status VFileScanner::_get_next_reader() { range.table_format_params.table_format_type == "max_compute") { const auto* mc_desc = static_cast( _real_tuple_desc->table_desc()); + if (!mc_desc->init_status()) { + return mc_desc->init_status(); + } std::unique_ptr mc_reader = MaxComputeJniReader::create_unique( mc_desc, range.table_format_params.max_compute_params, _file_slot_descs, range, _state, _profile); diff --git a/fe/be-java-extensions/java-common/src/main/java/org/apache/doris/common/jni/vec/ColumnValue.java b/fe/be-java-extensions/java-common/src/main/java/org/apache/doris/common/jni/vec/ColumnValue.java index 0d1c522f9cbf06..640fd775c98013 100644 --- a/fe/be-java-extensions/java-common/src/main/java/org/apache/doris/common/jni/vec/ColumnValue.java +++ b/fe/be-java-extensions/java-common/src/main/java/org/apache/doris/common/jni/vec/ColumnValue.java @@ -59,6 +59,18 @@ public interface ColumnValue { LocalDate getDate(); + default String getChar() { + return getString(); + } + + default byte[] getCharAsBytes() { + return getStringAsBytes(); + } + + default boolean canGetCharAsBytes() { + return canGetStringAsBytes(); + } + LocalDateTime getDateTime(); byte[] getBytes(); diff --git a/fe/be-java-extensions/java-common/src/main/java/org/apache/doris/common/jni/vec/VectorColumn.java b/fe/be-java-extensions/java-common/src/main/java/org/apache/doris/common/jni/vec/VectorColumn.java index bf929ed9e2b77b..1542174cc1c587 100644 --- a/fe/be-java-extensions/java-common/src/main/java/org/apache/doris/common/jni/vec/VectorColumn.java +++ b/fe/be-java-extensions/java-common/src/main/java/org/apache/doris/common/jni/vec/VectorColumn.java @@ -1540,6 +1540,12 @@ public void appendValue(ColumnValue o) { appendDateTime(o.getDateTime()); break; case CHAR: + if (o.canGetCharAsBytes()) { + appendBytesAndOffset(o.getCharAsBytes()); + } else { + appendStringAndOffset(o.getChar()); + } + break; case VARCHAR: case STRING: if (o.canGetStringAsBytes()) { diff --git a/fe/be-java-extensions/max-compute-scanner/pom.xml b/fe/be-java-extensions/max-compute-scanner/pom.xml index 9f9fa50e972891..27760227b69885 100644 --- a/fe/be-java-extensions/max-compute-scanner/pom.xml +++ b/fe/be-java-extensions/max-compute-scanner/pom.xml @@ -43,6 +43,7 @@ under the License. com.aliyun.odps odps-sdk-core + ${maxcompute.version} org.codehaus.jackson @@ -54,6 +55,11 @@ under the License. + + com.aliyun.odps + odps-sdk-table-api + ${maxcompute.version} + org.apache.arrow arrow-vector diff --git a/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeColumnValue.java b/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeColumnValue.java index 644caf80d97d0a..0c3a9283a8152f 100644 --- a/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeColumnValue.java +++ b/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeColumnValue.java @@ -23,14 +23,17 @@ import org.apache.arrow.vector.BigIntVector; import org.apache.arrow.vector.BitVector; import org.apache.arrow.vector.DateDayVector; -import org.apache.arrow.vector.DateMilliVector; import org.apache.arrow.vector.DecimalVector; import org.apache.arrow.vector.FieldVector; import org.apache.arrow.vector.Float4Vector; import org.apache.arrow.vector.Float8Vector; import org.apache.arrow.vector.IntVector; import org.apache.arrow.vector.SmallIntVector; +import org.apache.arrow.vector.TimeStampMicroTZVector; +import org.apache.arrow.vector.TimeStampMilliTZVector; +import org.apache.arrow.vector.TimeStampNanoTZVector; import org.apache.arrow.vector.TimeStampNanoVector; +import org.apache.arrow.vector.TimeStampSecTZVector; import org.apache.arrow.vector.TinyIntVector; import org.apache.arrow.vector.ValueVector; import org.apache.arrow.vector.VarBinaryVector; @@ -38,13 +41,18 @@ import org.apache.arrow.vector.complex.ListVector; import org.apache.arrow.vector.complex.MapVector; import org.apache.arrow.vector.complex.StructVector; +import org.apache.arrow.vector.holders.NullableTimeStampNanoHolder; +import org.apache.arrow.vector.types.pojo.ArrowType; import org.apache.log4j.Logger; import java.math.BigDecimal; import java.math.BigInteger; import java.nio.ByteOrder; +import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Arrays; import java.util.List; /** @@ -193,6 +201,33 @@ public String getString() { return v == null ? new String(new byte[0]) : v; } + + + public String getChar() { + skippedIfNull(); + VarCharVector varcharCol = (VarCharVector) column; + return varcharCol.getObject(idx++).toString().stripTrailing(); + } + + // Maybe I can use `appendBytesAndOffset(byte[] src, int offset, int length)` to reduce the creation of byte[]. + // But I haven't figured out how to write it elegantly. + public byte[] getCharAsBytes() { + skippedIfNull(); + VarCharVector varcharCol = (VarCharVector) column; + byte[] v = varcharCol.getObject(idx++).getBytes(); + + if (v == null) { + return new byte[0]; + } + + int end = v.length - 1; + while (end >= 0 && v[end] == ' ') { + end--; + } + return (end == -1) ? new byte[0] : Arrays.copyOfRange(v, 0, end + 1); + } + + @Override public byte[] getStringAsBytes() { skippedIfNull(); @@ -213,14 +248,52 @@ public LocalDate getDate() { public LocalDateTime getDateTime() { skippedIfNull(); LocalDateTime result; - if (column instanceof DateMilliVector) { - DateMilliVector datetimeCol = (DateMilliVector) column; - result = datetimeCol.getObject(idx++); + + ArrowType.Timestamp timestampType = ( ArrowType.Timestamp) column.getField().getFieldType().getType(); + if (timestampType.getUnit() == org.apache.arrow.vector.types.TimeUnit.MILLISECOND) { + result = convertToLocalDateTime((TimeStampMilliTZVector) column, idx++); } else { - TimeStampNanoVector datetimeCol = (TimeStampNanoVector) column; - result = datetimeCol.getObject(idx++); + NullableTimeStampNanoHolder valueHoder = new NullableTimeStampNanoHolder(); + ((TimeStampNanoVector) column).get(idx++, valueHoder); + long timestampNanos = valueHoder.value; + + result = LocalDateTime.ofEpochSecond(timestampNanos / 1_000_000_000, + (int) (timestampNanos % 1_000_000_000), java.time.ZoneOffset.UTC); } - return result == null ? LocalDateTime.MIN : result; + + /* + timestampType.getUnit() + result = switch (timestampType.getUnit()) { + case MICROSECOND -> convertToLocalDateTime((TimeStampMicroTZVector) column, idx++); + case SECOND -> convertToLocalDateTime((TimeStampSecTZVector) column, idx++); + case MILLISECOND -> convertToLocalDateTime((TimeStampMilliTZVector) column, idx++); + case NANOSECOND -> convertToLocalDateTime((TimeStampNanoTZVector) column, idx++); + }; + + Because : + MaxCompute type => Doris Type + DATETIME => ScalarType.createDatetimeV2Type(3) + TIMESTAMP_NTZ => ScalarType.createDatetimeV2Type(6); + + and + TableBatchReadSession + .withArrowOptions ( + ArrowOptions.newBuilder() + .withDatetimeUnit(TimestampUnit.MILLI) + .withTimestampUnit(TimestampUnit.NANO) + .build() + ) + , + TIMESTAMP_NTZ is NTZ => column is TimeStampNanoVector + + So: + case SECOND -> convertToLocalDateTime((TimeStampSecTZVector) column, idx++); + case MICROSECOND -> convertToLocalDateTime((TimeStampMicroTZVector) column, idx++); + case NANOSECOND -> convertToLocalDateTime((TimeStampNanoTZVector) column, idx++); + may never be used. + */ + + return result; } @Override @@ -248,9 +321,10 @@ public void unpackArray(List values) { public void unpackMap(List keys, List values) { skippedIfNull(); MapVector mapCol = (MapVector) column; - int elemSize = mapCol.getObject(idx).size(); - FieldVector keyList = mapCol.getDataVector().getChildrenFromFields().get(0); - FieldVector valList = mapCol.getDataVector().getChildrenFromFields().get(1); + int elemSize = mapCol.getElementEndIndex(idx) - mapCol.getElementStartIndex(idx); + List innerCols = ((StructVector) mapCol.getDataVector()).getChildrenFromFields(); + FieldVector keyList = innerCols.get(0); + FieldVector valList = innerCols.get(1); for (int i = 0; i < elemSize; i++) { MaxComputeColumnValue key = new MaxComputeColumnValue(keyList, offset); keys.add(key); @@ -265,10 +339,35 @@ public void unpackMap(List keys, List values) { public void unpackStruct(List structFieldIndex, List values) { skippedIfNull(); StructVector structCol = (StructVector) column; + List innerCols = structCol.getChildrenFromFields(); for (Integer fieldIndex : structFieldIndex) { - MaxComputeColumnValue val = new MaxComputeColumnValue(structCol.getChildByOrdinal(fieldIndex), idx); + MaxComputeColumnValue val = new MaxComputeColumnValue(innerCols.get(fieldIndex), idx); values.add(val); } idx++; } + + public static LocalDateTime convertToLocalDateTime(TimeStampMilliTZVector milliTZVector, int index) { + long timestampMillis = milliTZVector.get(index); + return LocalDateTime.ofInstant(Instant.ofEpochMilli(timestampMillis), ZoneId.systemDefault()); + } + + public static LocalDateTime convertToLocalDateTime(TimeStampNanoTZVector nanoTZVector, int index) { + long timestampNanos = nanoTZVector.get(index); + return LocalDateTime.ofInstant(Instant.ofEpochSecond(timestampNanos / 1_000_000_000, + timestampNanos % 1_000_000_000), ZoneId.systemDefault()); + } + + public static LocalDateTime convertToLocalDateTime(TimeStampSecTZVector secTZVector, int index) { + long timestampSeconds = secTZVector.get(index); + return LocalDateTime.ofInstant(Instant.ofEpochSecond(timestampSeconds), ZoneId.systemDefault()); + } + + public static LocalDateTime convertToLocalDateTime(TimeStampMicroTZVector microTZVector, int index) { + long timestampMicros = microTZVector.get(index); + long seconds = timestampMicros / 1_000_000; + long nanos = (timestampMicros % 1_000_000) * 1_000; + + return LocalDateTime.ofInstant(Instant.ofEpochSecond(seconds, nanos), ZoneId.systemDefault()); + } } diff --git a/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeJniScanner.java b/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeJniScanner.java index 9c76a330a644e4..df8066a9fa3241 100644 --- a/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeJniScanner.java +++ b/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeJniScanner.java @@ -20,78 +20,75 @@ import org.apache.doris.common.jni.JniScanner; import org.apache.doris.common.jni.vec.ColumnType; -import com.aliyun.odps.Column; -import com.aliyun.odps.OdpsType; -import com.aliyun.odps.PartitionSpec; -import com.aliyun.odps.data.ArrowRecordReader; -import com.aliyun.odps.tunnel.TableTunnel; -import com.aliyun.odps.tunnel.TunnelException; -import com.aliyun.odps.type.TypeInfo; -import com.aliyun.odps.type.TypeInfoFactory; +import com.aliyun.odps.Odps; +import com.aliyun.odps.account.Account; +import com.aliyun.odps.account.AliyunAccount; +import com.aliyun.odps.table.configuration.CompressionCodec; +import com.aliyun.odps.table.configuration.ReaderOptions; +import com.aliyun.odps.table.enviroment.Credentials; +import com.aliyun.odps.table.enviroment.EnvironmentSettings; +import com.aliyun.odps.table.read.SplitReader; +import com.aliyun.odps.table.read.TableBatchReadSession; +import com.aliyun.odps.table.read.split.InputSplit; +import com.aliyun.odps.table.read.split.impl.IndexedInputSplit; +import com.aliyun.odps.table.read.split.impl.RowRangeInputSplit; import com.google.common.base.Strings; -import org.apache.arrow.memory.RootAllocator; import org.apache.arrow.vector.FieldVector; import org.apache.arrow.vector.VectorSchemaRoot; -import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; +import java.io.ByteArrayInputStream; import java.io.IOException; -import java.util.ArrayList; -import java.util.Comparator; +import java.io.ObjectInputStream; +import java.util.Base64; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; /** * MaxComputeJ JniScanner. BE will read data from the scanner object. */ public class MaxComputeJniScanner extends JniScanner { private static final Logger LOG = Logger.getLogger(MaxComputeJniScanner.class); - private static final String REGION = "region"; - private static final String PROJECT = "project"; - private static final String PARTITION_SPEC = "partition_spec"; - private static final String TABLE = "table"; + + private static final String ACCESS_KEY = "access_key"; private static final String SECRET_KEY = "secret_key"; - private static final String ODPS_URL = "odps_url"; - private static final String TUNNEL_URL = "tunnel_url"; + private static final String ENDPOINT = "endpoint"; + private static final String QUOTA = "quota"; + private static final String PROJECT = "project"; + private static final String TABLE = "table"; + private static final String START_OFFSET = "start_offset"; private static final String SPLIT_SIZE = "split_size"; - private static final String PUBLIC_ACCESS = "public_access"; - private final Map tableScans = new ConcurrentHashMap<>(); - private final String region; - private final String project; - private final String table; - private RootAllocator arrowAllocator; - private PartitionSpec partitionSpec; - private Set partitionColumns; - private MaxComputeTableScan curTableScan; + private static final String SESSION_ID = "session_id"; + private static final String SCAN_SERIALIZER = "scan_serializer"; + + + private enum SplitType { + BYTE_SIZE, + ROW_OFFSET + } + + private SplitType splitType; + private TableBatchReadSession scan; + public String sessionId; + + private String project; //final ??? + private String table; + + private SplitReader currentSplitReader; private MaxComputeColumnValue columnValue; - private long remainBatchRows = 0; - private long totalRows = 0; - private ArrowRecordReader curReader; - private List readColumns; + private Map readColumnsToId; + private long startOffset = -1L; - private int retryCount = 2; private long splitSize = -1L; - private final Map refreshParams; + public EnvironmentSettings settings; + public MaxComputeJniScanner(int batchSize, Map params) { - region = Objects.requireNonNull(params.get(REGION), "required property '" + REGION + "'."); - project = Objects.requireNonNull(params.get(PROJECT), "required property '" + PROJECT + "'."); - table = Objects.requireNonNull(params.get(TABLE), "required property '" + TABLE + "'."); - refreshParams = params; - tableScans.putIfAbsent(tableUniqKey(), newTableScan(params)); - curTableScan = tableScans.get(tableUniqKey()); - String partitionSpec = params.get(PARTITION_SPEC); - if (StringUtils.isNotEmpty(partitionSpec)) { - this.partitionSpec = new PartitionSpec(partitionSpec); - } String[] requiredFields = params.get("required_fields").split(","); String[] types = params.get("columns_types").split("#"); ColumnType[] columnTypes = new ColumnType[types.length]; @@ -99,38 +96,58 @@ public MaxComputeJniScanner(int batchSize, Map params) { columnTypes[i] = ColumnType.parseType(requiredFields[i], types[i]); } initTableInfo(columnTypes, requiredFields, batchSize); - } - - public void refreshTableScan() { - curTableScan = newTableScan(refreshParams); - tableScans.put(tableUniqKey(), curTableScan); - } - private MaxComputeTableScan newTableScan(Map params) { if (!Strings.isNullOrEmpty(params.get(START_OFFSET)) && !Strings.isNullOrEmpty(params.get(SPLIT_SIZE))) { startOffset = Long.parseLong(params.get(START_OFFSET)); splitSize = Long.parseLong(params.get(SPLIT_SIZE)); + if (splitSize == -1) { + splitType = SplitType.BYTE_SIZE; + } else { + splitType = SplitType.ROW_OFFSET; + } } + String accessKey = Objects.requireNonNull(params.get(ACCESS_KEY), "required property '" + ACCESS_KEY + "'."); String secretKey = Objects.requireNonNull(params.get(SECRET_KEY), "required property '" + SECRET_KEY + "'."); - boolean enablePublicAccess = Boolean.parseBoolean(params.getOrDefault(PUBLIC_ACCESS, "false")); - return new MaxComputeTableScan(params.get(ODPS_URL), params.get(TUNNEL_URL), region, project, table, - accessKey, secretKey, enablePublicAccess); - } + String endpoint = Objects.requireNonNull(params.get(ENDPOINT), "required property '" + ENDPOINT + "'."); + String quota = Objects.requireNonNull(params.get(QUOTA), "required property '" + QUOTA + "'."); + String scanSerializer = Objects.requireNonNull(params.get(SCAN_SERIALIZER), + "required property '" + SCAN_SERIALIZER + "'."); + project = Objects.requireNonNull(params.get(PROJECT), "required property '" + PROJECT + "'."); + table = Objects.requireNonNull(params.get(TABLE), "required property '" + TABLE + "'."); + sessionId = Objects.requireNonNull(params.get(SESSION_ID), "required property '" + SESSION_ID + "'."); + + + Account account = new AliyunAccount(accessKey, secretKey); + Odps odps = new Odps(account); + + odps.setDefaultProject(project); + odps.setEndpoint(endpoint); + + Credentials credentials = Credentials.newBuilder().withAccount(odps.getAccount()) + .withAppAccount(odps.getAppAccount()).build(); - public String tableUniqKey() { - return region + "#" + project + "." + table; + settings = EnvironmentSettings.newBuilder() + .withCredentials(credentials) + .withServiceEndpoint(odps.getEndpoint()) + .withQuotaName(quota) + .build(); + + try { + scan = (TableBatchReadSession) deserialize(scanSerializer); + } catch (Exception e) { + LOG.info("deserialize TableBatchReadSession failed.", e); + } } + @Override protected void initTableInfo(ColumnType[] requiredTypes, String[] requiredFields, int batchSize) { super.initTableInfo(requiredTypes, requiredFields, batchSize); - readColumns = new ArrayList<>(); readColumnsToId = new HashMap<>(); for (int i = 0; i < fields.length; i++) { if (!Strings.isNullOrEmpty(fields[i])) { - readColumns.add(createOdpsColumn(i, types[i])); readColumnsToId.put(fields[i], i); } } @@ -138,213 +155,92 @@ protected void initTableInfo(ColumnType[] requiredTypes, String[] requiredFields @Override public void open() throws IOException { - // reorder columns - List columnList = curTableScan.getSchema().getColumns(); - columnList.addAll(curTableScan.getSchema().getPartitionColumns()); - Map columnRank = new HashMap<>(); - for (int i = 0; i < columnList.size(); i++) { - columnRank.put(columnList.get(i).getName(), i); - } - // Downloading columns data from Max compute only supports the order of table metadata. - // We might get an error message if no sort here: Column reorder is not supported in legacy arrow mode. - readColumns.sort((Comparator.comparing(o -> columnRank.get(o.getName())))); - if (readColumns.isEmpty()) { - return; - } try { - TableTunnel.DownloadSession session; - if (partitionSpec != null) { - session = curTableScan.openDownLoadSession(partitionSpec); + InputSplit split; + if (splitType == SplitType.BYTE_SIZE) { + split = new IndexedInputSplit(sessionId, (int) startOffset); } else { - session = curTableScan.openDownLoadSession(); - } - long start = startOffset == -1L ? 0 : startOffset; - long recordCount = session.getRecordCount(); - totalRows = splitSize > 0 ? Math.min(splitSize, recordCount) : recordCount; - partitionColumns = session.getSchema().getPartitionColumns().stream() - .map(Column::getName) - .collect(Collectors.toSet()); - List pushDownColumns = new ArrayList<>(readColumns); - pushDownColumns.removeIf(e -> partitionColumns.contains(e.getName())); - if (pushDownColumns.isEmpty() && !partitionColumns.isEmpty()) { - // query columns required non-null, when query partition table - pushDownColumns.add(session.getSchema().getColumn(0)); - } - if (totalRows == 0) { - return; - } - arrowAllocator = new RootAllocator(Integer.MAX_VALUE); - curReader = session.openArrowRecordReader(start, totalRows, pushDownColumns, arrowAllocator); - remainBatchRows = totalRows; - } catch (TunnelException e) { - if (retryCount > 0 && e.getErrorMsg().contains("TableModified")) { - retryCount--; - // try to refresh table scan and re-open odps - refreshTableScan(); - open(); - } else { - retryCount = 2; - throw new IOException(e); + split = new RowRangeInputSplit(sessionId, startOffset, splitSize); } + + currentSplitReader = scan.createArrowReader(split, ReaderOptions.newBuilder().withSettings(settings) + .withCompressionCodec(CompressionCodec.ZSTD) + .withReuseBatch(true) + .build()); + + } catch (IOException e) { + LOG.info("createArrowReader failed.", e); } catch (Exception e) { close(); throw new IOException(e); } } - private Column createOdpsColumn(int colIdx, ColumnType dorisType) { - TypeInfo odpsType = getOdpsType(dorisType); - return new Column(fields[colIdx], odpsType); - } - - private static TypeInfo getOdpsType(ColumnType dorisType) { - TypeInfo odpsType; - switch (dorisType.getType()) { - case BOOLEAN: - odpsType = TypeInfoFactory.BOOLEAN; - break; - case TINYINT: - odpsType = TypeInfoFactory.TINYINT; - break; - case SMALLINT: - odpsType = TypeInfoFactory.SMALLINT; - break; - case INT: - odpsType = TypeInfoFactory.INT; - break; - case BIGINT: - odpsType = TypeInfoFactory.BIGINT; - break; - case DECIMAL32: - case DECIMAL64: - case DECIMAL128: - case DECIMALV2: - odpsType = TypeInfoFactory.getDecimalTypeInfo(dorisType.getPrecision(), dorisType.getScale()); - break; - case FLOAT: - odpsType = TypeInfoFactory.FLOAT; - break; - case DOUBLE: - odpsType = TypeInfoFactory.DOUBLE; - break; - case DATETIME: - case DATETIMEV2: - odpsType = TypeInfoFactory.DATETIME; - break; - case DATE: - case DATEV2: - odpsType = TypeInfoFactory.DATE; - break; - case CHAR: - odpsType = TypeInfoFactory.getCharTypeInfo(dorisType.getLength()); - break; - case VARCHAR: - odpsType = TypeInfoFactory.getVarcharTypeInfo(dorisType.getLength()); - break; - case STRING: - odpsType = TypeInfoFactory.getPrimitiveTypeInfo(OdpsType.STRING); - break; - case ARRAY: - TypeInfo elementType = getOdpsType(dorisType.getChildTypes().get(0)); - odpsType = TypeInfoFactory.getArrayTypeInfo(elementType); - break; - case MAP: - TypeInfo keyType = getOdpsType(dorisType.getChildTypes().get(0)); - TypeInfo valueType = getOdpsType(dorisType.getChildTypes().get(1)); - odpsType = TypeInfoFactory.getMapTypeInfo(keyType, valueType); - break; - case STRUCT: - List names = dorisType.getChildNames(); - List typeInfos = new ArrayList<>(); - for (ColumnType childType : dorisType.getChildTypes()) { - typeInfos.add(getOdpsType(childType)); - } - odpsType = TypeInfoFactory.getStructTypeInfo(names, typeInfos); - break; - default: - throw new RuntimeException("Unsupported transform for column type: " + dorisType.getType()); - } - return odpsType; - } - @Override public void close() throws IOException { - String tableName = tableUniqKey(); - MaxComputeTableScan scan = tableScans.get(tableName); - if (scan != null && scan.endOfScan()) { - tableScans.remove(tableName); - } - remainBatchRows = 0; - totalRows = 0; startOffset = -1; splitSize = -1; - if (curReader != null) { - arrowAllocator.close(); - arrowAllocator = null; - curReader.close(); - curReader = null; - } + currentSplitReader = null; + settings = null; + scan = null; + readColumnsToId.clear(); } @Override protected int getNext() throws IOException { - if (curReader == null) { + if (currentSplitReader == null) { return 0; } columnValue = new MaxComputeColumnValue(); - int expectedRows = (int) Math.min(batchSize, remainBatchRows); - int realRows = readVectors(expectedRows); - if (remainBatchRows <= 0) { - return 0; - } - remainBatchRows -= realRows; - curTableScan.increaseReadRows(realRows); - return realRows; + int expectedRows = batchSize; + return readVectors(expectedRows); } private int readVectors(int expectedRows) throws IOException { - VectorSchemaRoot batch; int curReadRows = 0; while (curReadRows < expectedRows) { - batch = curReader.read(); - if (batch == null) { + try { + if (!currentSplitReader.hasNext()) { + currentSplitReader.close(); + currentSplitReader = null; + break; + } + } catch (Exception e) { + LOG.info("currentSplitReader hasNext fail", e); break; } + try { - List fieldVectors = batch.getFieldVectors(); + VectorSchemaRoot data = currentSplitReader.get(); + if (data.getRowCount() == 0) { + break; + } + + List fieldVectors = data.getFieldVectors(); int batchRows = 0; for (FieldVector column : fieldVectors) { Integer readColumnId = readColumnsToId.get(column.getName()); + batchRows = column.getValueCount(); if (readColumnId == null) { - // use for partition if no column need to read. - batchRows = column.getValueCount(); continue; } columnValue.reset(column); - batchRows = column.getValueCount(); for (int j = 0; j < batchRows; j++) { appendData(readColumnId, columnValue); } } - if (partitionSpec != null) { - for (String partitionColumn : partitionColumns) { - String partitionValue = partitionSpec.get(partitionColumn); - Integer readColumnId = readColumnsToId.get(partitionColumn); - if (readColumnId != null && partitionValue != null) { - MaxComputePartitionValue value = new MaxComputePartitionValue(partitionValue); - for (int i = 0; i < batchRows; i++) { - appendData(readColumnId, value); - } - } - } - } curReadRows += batchRows; } catch (Exception e) { throw new RuntimeException("Fail to read arrow data, reason: " + e.getMessage(), e); - } finally { - batch.close(); } } return curReadRows; } + + private static Object deserialize(String serializedString) throws IOException, ClassNotFoundException { + byte[] serializedBytes = Base64.getDecoder().decode(serializedString); + ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(serializedBytes); + ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); + return objectInputStream.readObject(); + } } diff --git a/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputePartitionValue.java b/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputePartitionValue.java deleted file mode 100644 index cb76447e589622..00000000000000 --- a/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputePartitionValue.java +++ /dev/null @@ -1,137 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.doris.maxcompute; - -import org.apache.doris.common.jni.vec.ColumnValue; - -import java.math.BigDecimal; -import java.math.BigInteger; -import java.nio.charset.StandardCharsets; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; - -/** - * MaxCompute Column value in vector column - */ -public class MaxComputePartitionValue implements ColumnValue { - private String partitionValue; - - public MaxComputePartitionValue(String partitionValue) { - reset(partitionValue); - } - - public void reset(String partitionValue) { - this.partitionValue = partitionValue; - } - - @Override - public boolean canGetStringAsBytes() { - return false; - } - - @Override - public boolean isNull() { - return false; - } - - @Override - public boolean getBoolean() { - throw new UnsupportedOperationException(); - } - - @Override - public byte getByte() { - throw new UnsupportedOperationException(); - } - - @Override - public short getShort() { - throw new UnsupportedOperationException(); - } - - @Override - public int getInt() { - return Integer.parseInt(partitionValue); - } - - @Override - public float getFloat() { - throw new UnsupportedOperationException(); - } - - @Override - public long getLong() { - return Long.parseLong(partitionValue); - } - - @Override - public double getDouble() { - throw new UnsupportedOperationException(); - } - - @Override - public BigInteger getBigInteger() { - return BigInteger.valueOf(getLong()); - } - - @Override - public BigDecimal getDecimal() { - return BigDecimal.valueOf(getDouble()); - } - - @Override - public String getString() { - return partitionValue; - } - - @Override - public byte[] getStringAsBytes() { - throw new UnsupportedOperationException(); - } - - @Override - public LocalDate getDate() { - throw new UnsupportedOperationException(); - } - - @Override - public LocalDateTime getDateTime() { - throw new UnsupportedOperationException(); - } - - @Override - public byte[] getBytes() { - return partitionValue.getBytes(StandardCharsets.UTF_8); - } - - @Override - public void unpackArray(List values) { - throw new UnsupportedOperationException(); - } - - @Override - public void unpackMap(List keys, List values) { - throw new UnsupportedOperationException(); - } - - @Override - public void unpackStruct(List structFieldIndex, List values) { - throw new UnsupportedOperationException(); - } -} diff --git a/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeTableScan.java b/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeTableScan.java deleted file mode 100644 index 0de1cb17e79230..00000000000000 --- a/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeTableScan.java +++ /dev/null @@ -1,114 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.doris.maxcompute; - -import com.aliyun.odps.Odps; -import com.aliyun.odps.PartitionSpec; -import com.aliyun.odps.TableSchema; -import com.aliyun.odps.account.AliyunAccount; -import com.aliyun.odps.tunnel.TableTunnel; -import com.aliyun.odps.tunnel.TunnelException; -import org.apache.commons.lang3.StringUtils; - -import java.io.IOException; - -/** - * MaxComputeJ JniScanner. BE will read data from the scanner object. - */ -public class MaxComputeTableScan { - private static final String odpsUrlTemplate = "http://service.{}.maxcompute.aliyun-inc.com/api"; - private static final String tunnelUrlTemplate = "http://dt.{}.maxcompute.aliyun-inc.com"; - private final Odps odps; - private final TableTunnel tunnel; - private final String project; - private final String table; - private volatile long readRows = 0; - private long totalRows = 0; - - public MaxComputeTableScan(String odpsUrl, String tunnelUrl, String region, String project, String table, - String accessKey, String secretKey, boolean enablePublicAccess) { - this.project = project; - this.table = table; - odps = new Odps(new AliyunAccount(accessKey, secretKey)); - setOdpsUrl(odpsUrl, region, enablePublicAccess); - odps.setDefaultProject(this.project); - tunnel = new TableTunnel(odps); - setTunnelUrl(tunnelUrl, region, enablePublicAccess); - } - - private void setOdpsUrl(String defaultOdpsUrl, String region, boolean enablePublicAccess) { - String odpsUrl; - if (StringUtils.isNotEmpty(defaultOdpsUrl)) { - odpsUrl = defaultOdpsUrl; - } else { - odpsUrl = odpsUrlTemplate.replace("{}", region); - if (enablePublicAccess) { - odpsUrl = odpsUrl.replace("-inc", ""); - } - } - odps.setEndpoint(odpsUrl); - } - - private void setTunnelUrl(String defaultTunnelUrl, String region, boolean enablePublicAccess) { - String tunnelUrl; - if (StringUtils.isNotEmpty(defaultTunnelUrl)) { - tunnelUrl = defaultTunnelUrl; - } else { - tunnelUrl = tunnelUrlTemplate.replace("{}", region); - if (enablePublicAccess) { - tunnelUrl = tunnelUrl.replace("-inc", ""); - } - } - tunnel.setEndpoint(tunnelUrl); - } - - public TableSchema getSchema() { - return odps.tables().get(table).getSchema(); - } - - public TableTunnel.DownloadSession openDownLoadSession() throws IOException { - TableTunnel.DownloadSession tableSession; - try { - tableSession = tunnel.getDownloadSession(project, table, null); - totalRows = tableSession.getRecordCount(); - } catch (TunnelException e) { - throw new IOException(e); - } - return tableSession; - } - - public TableTunnel.DownloadSession openDownLoadSession(PartitionSpec partitionSpec) throws IOException { - TableTunnel.DownloadSession tableSession; - try { - tableSession = tunnel.getDownloadSession(project, table, partitionSpec, null); - totalRows = tableSession.getRecordCount(); - } catch (TunnelException e) { - throw new IOException(e); - } - return tableSession; - } - - public synchronized void increaseReadRows(long rows) { - // multi-thread writing must be synchronized - readRows += rows; - } - - public boolean endOfScan() { - return readRows >= totalRows; - } -} diff --git a/fe/be-java-extensions/max-compute-scanner/src/test/java/org/apache/doris/maxcompute/MaxComputeJniScannerTest.java b/fe/be-java-extensions/max-compute-scanner/src/test/java/org/apache/doris/maxcompute/MaxComputeJniScannerTest.java deleted file mode 100644 index f14c0610d4327a..00000000000000 --- a/fe/be-java-extensions/max-compute-scanner/src/test/java/org/apache/doris/maxcompute/MaxComputeJniScannerTest.java +++ /dev/null @@ -1,158 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package org.apache.doris.maxcompute; - -import com.aliyun.odps.Column; -import com.aliyun.odps.PartitionSpec; -import com.aliyun.odps.TableSchema; -import com.aliyun.odps.data.ArrowRecordReader; -import com.aliyun.odps.tunnel.TableTunnel; -import com.aliyun.odps.tunnel.TunnelException; -import com.aliyun.odps.type.TypeInfoFactory; -import mockit.Mock; -import mockit.MockUp; -import mockit.Mocked; -import org.apache.arrow.memory.BufferAllocator; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class MaxComputeJniScannerTest { - - @Mocked - private TableTunnel.DownloadSession session; - private Map paramsMc = new HashMap() { - { - put("region", "cn-beijing"); - put("project", "test_pj"); - put("table", "test_tb"); - put("access_key", "ak"); - put("secret_key", "sk"); - put("start_offset", "0"); - put("split_size", "128"); - put("partition_spec", "p1=2022-06"); - put("required_fields", "boolean,tinyint,smallint,int,bigint,float,double," - + "date,timestamp,char,varchar,string,decimalv2,decimal64," - + "decimal18,timestamp4"); - put("columns_types", "boolean#tinyint#smallint#int#bigint#float#double#" - + "date#timestamp#char(10)#varchar(10)#string#decimalv2(12,4)#decimal64(10,3)#" - + "decimal(18,5)#timestamp(4)"); - } - }; - private MaxComputeJniScanner scanner = new MaxComputeJniScanner(32, paramsMc); - - @BeforeEach - public void init() { - new MockUp(MaxComputeJniScanner.class) { - @Mock - public TableSchema getSchema() { - return getTestSchema(); - } - }; - new MockUp(MaxComputeTableScan.class) { - @Mock - public TableSchema getSchema() { - return getTestSchema(); - } - - @Mock - public TableTunnel.DownloadSession openDownLoadSession() throws IOException { - return session; - } - - @Mock - public TableTunnel.DownloadSession openDownLoadSession(PartitionSpec partitionSpec) throws IOException { - return session; - } - }; - new MockUp(TableTunnel.DownloadSession.class) { - @Mock - public TableSchema getSchema() { - return getTestSchema(); - } - - @Mock - public long getRecordCount() { - return 10; - } - - @Mock - public ArrowRecordReader openArrowRecordReader(long start, long count, List columns, - BufferAllocator allocator) - throws TunnelException, IOException { - return null; - } - }; - } - - private TableSchema getTestSchema() { - TableSchema schema = new TableSchema(); - schema.addColumn(new Column("boolean", TypeInfoFactory.BOOLEAN)); - schema.addColumn(new Column("bigint", TypeInfoFactory.BIGINT)); - schema.addPartitionColumn(new Column("date", TypeInfoFactory.DATE)); - schema.addPartitionColumn(new Column("tinyint", TypeInfoFactory.TINYINT)); - schema.addPartitionColumn(new Column("smallint", TypeInfoFactory.SMALLINT)); - schema.addPartitionColumn(new Column("int", TypeInfoFactory.INT)); - schema.addPartitionColumn(new Column("timestamp", TypeInfoFactory.TIMESTAMP)); - schema.addPartitionColumn(new Column("char", TypeInfoFactory.getCharTypeInfo(10))); - schema.addPartitionColumn(new Column("varchar", TypeInfoFactory.getVarcharTypeInfo(10))); - schema.addPartitionColumn(new Column("string", TypeInfoFactory.STRING)); - schema.addPartitionColumn(new Column("float", TypeInfoFactory.FLOAT)); - schema.addPartitionColumn(new Column("double", TypeInfoFactory.DOUBLE)); - schema.addPartitionColumn(new Column("decimalv2", - TypeInfoFactory.getDecimalTypeInfo(12, 4))); - schema.addPartitionColumn(new Column("decimal64", - TypeInfoFactory.getDecimalTypeInfo(10, 3))); - schema.addPartitionColumn(new Column("decimal18", - TypeInfoFactory.getDecimalTypeInfo(18, 5))); - schema.addPartitionColumn(new Column("timestamp4", TypeInfoFactory.TIMESTAMP)); - return schema; - } - - @Test - public void testMaxComputeJniScanner() throws IOException { - scanner.open(); - scanner.getNext(); - scanner.close(); - } - - @Test - public void testMaxComputeJniScannerErr() { - try { - new MockUp(TableTunnel.DownloadSession.class) { - @Mock - public ArrowRecordReader openArrowRecordReader(long start, long count, List columns, - BufferAllocator allocator) - throws TunnelException, IOException { - throw new TunnelException("TableModified"); - } - }; - scanner.open(); - scanner.getNext(); - scanner.close(); - } catch (IOException e) { - Assertions.assertTrue(e.getCause() instanceof TunnelException); - Assertions.assertEquals(((TunnelException) e.getCause()).getErrorMsg(), "TableModified"); - } - } -} diff --git a/fe/fe-core/pom.xml b/fe/fe-core/pom.xml index ec5d993c6f343b..10753c14b66d30 100644 --- a/fe/fe-core/pom.xml +++ b/fe/fe-core/pom.xml @@ -442,6 +442,7 @@ under the License. com.aliyun.odps odps-sdk-core + ${maxcompute.version} antlr-runtime @@ -453,6 +454,11 @@ under the License. + + com.aliyun.odps + odps-sdk-table-api + ${maxcompute.version} + org.springframework.boot diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DateLiteral.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DateLiteral.java index 4973a1caad9dcf..19c90f32648ac2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DateLiteral.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DateLiteral.java @@ -730,6 +730,39 @@ public String getStringValue() { return new String(dateTimeChars, 0, 19); } + public String getStringValue(Type type) { + char[] dateTimeChars = new char[26]; // Enough to hold "YYYY-MM-DD HH:MM:SS.mmmmmm" + + // Populate the date part + fillPaddedValue(dateTimeChars, 0, year, 4); + dateTimeChars[4] = '-'; + fillPaddedValue(dateTimeChars, 5, month, 2); + dateTimeChars[7] = '-'; + fillPaddedValue(dateTimeChars, 8, day, 2); + + if (type.isDate() || type.isDateV2()) { + return new String(dateTimeChars, 0, 10); + } + + // Populate the time part + dateTimeChars[10] = ' '; + fillPaddedValue(dateTimeChars, 11, hour, 2); + dateTimeChars[13] = ':'; + fillPaddedValue(dateTimeChars, 14, minute, 2); + dateTimeChars[16] = ':'; + fillPaddedValue(dateTimeChars, 17, second, 2); + + if (type.isDatetimeV2()) { + int scale = ((ScalarType) type).getScalarScale(); + long scaledMicroseconds = (long) (microsecond / SCALE_FACTORS[scale]); + dateTimeChars[19] = '.'; + fillPaddedValue(dateTimeChars, 20, (int) scaledMicroseconds, scale); + return new String(dateTimeChars, 0, 20 + scale); + } + + return new String(dateTimeChars, 0, 19); + } + @Override public String getStringValueForArray(FormatOptions options) { return options.getNestedStringWrapper() + getStringValue() + options.getNestedStringWrapper(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalCatalog.java index ce200ef4fbf8b4..fcbc0a5e8fc0a3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalCatalog.java @@ -29,13 +29,17 @@ import com.aliyun.odps.Odps; import com.aliyun.odps.OdpsException; import com.aliyun.odps.Partition; +import com.aliyun.odps.Project; import com.aliyun.odps.account.Account; import com.aliyun.odps.account.AliyunAccount; -import com.aliyun.odps.tunnel.TableTunnel; -import com.google.common.base.Strings; +import com.aliyun.odps.security.SecurityManager; +import com.aliyun.odps.table.configuration.SplitOptions; +import com.aliyun.odps.table.enviroment.Credentials; +import com.aliyun.odps.table.enviroment.EnvironmentSettings; +import com.aliyun.odps.utils.StringUtils; import com.google.common.collect.ImmutableList; -import com.google.gson.annotations.SerializedName; -import org.apache.commons.lang3.StringUtils; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import java.util.ArrayList; import java.util.Iterator; @@ -45,87 +49,76 @@ public class MaxComputeExternalCatalog extends ExternalCatalog { private Odps odps; - private TableTunnel tunnel; - @SerializedName(value = "region") - private String region; - @SerializedName(value = "accessKey") private String accessKey; - @SerializedName(value = "secretKey") private String secretKey; - @SerializedName(value = "publicAccess") - private boolean enablePublicAccess; - private static final String odpsUrlTemplate = "http://service.{}.maxcompute.aliyun-inc.com/api"; - private static final String tunnelUrlTemplate = "http://dt.{}.maxcompute.aliyun-inc.com"; - private static String odpsUrl; - private static String tunnelUrl; + private String endpoint; + private String catalogOwner; + private String defaultProject; + private String quota; + private EnvironmentSettings settings; + + private String splitStrategy; + private SplitOptions splitOptions; + private long splitRowCount; + private long splitByteSize; + private static final List REQUIRED_PROPERTIES = ImmutableList.of( - MCProperties.REGION, - MCProperties.PROJECT + MCProperties.PROJECT, + MCProperties.ENDPOINT ); public MaxComputeExternalCatalog(long catalogId, String name, String resource, Map props, String comment) { super(catalogId, name, InitCatalogLog.Type.MAX_COMPUTE, comment); catalogProperty = new CatalogProperty(resource, props); - odpsUrl = props.getOrDefault(MCProperties.ODPS_ENDPOINT, ""); - tunnelUrl = props.getOrDefault(MCProperties.TUNNEL_SDK_ENDPOINT, ""); } @Override protected void initLocalObjectsImpl() { Map props = catalogProperty.getProperties(); - String region = props.get(MCProperties.REGION); - String defaultProject = props.get(MCProperties.PROJECT); - if (Strings.isNullOrEmpty(region)) { - throw new IllegalArgumentException("Missing required property '" + MCProperties.REGION + "'."); - } - if (Strings.isNullOrEmpty(defaultProject)) { - throw new IllegalArgumentException("Missing required property '" + MCProperties.PROJECT + "'."); - } - if (region.startsWith("oss-")) { - // may use oss-cn-beijing, ensure compatible - region = region.replace("oss-", ""); + + endpoint = props.get(MCProperties.ENDPOINT); + defaultProject = props.get(MCProperties.PROJECT); + quota = props.getOrDefault(MCProperties.QUOTA, MCProperties.DEFAULT_QUOTA); + + + splitStrategy = props.getOrDefault(MCProperties.SPLIT_STRATEGY, MCProperties.DEFAULT_SPLIT_STRATEGY); + if (splitStrategy.equals(MCProperties.SPLIT_BY_BYTE_SIZE_STRATEGY)) { + splitByteSize = Long.parseLong(props.getOrDefault(MCProperties.SPLIT_BYTE_SIZE, + MCProperties.DEFAULT_SPLIT_BYTE_SIZE)); + + splitOptions = SplitOptions.newBuilder() + .SplitByByteSize(splitByteSize) + .withCrossPartition(false) + .build(); + } else { + splitRowCount = Long.parseLong(props.getOrDefault(MCProperties.SPLIT_ROW_COUNT, + MCProperties.DEFAULT_SPLIT_ROW_COUNT)); + splitOptions = SplitOptions.newBuilder() + .SplitByRowOffset() + .withCrossPartition(false) + .build(); } - this.region = region; + + CloudCredential credential = MCProperties.getCredential(props); - if (!credential.isWhole()) { - throw new IllegalArgumentException("Max-Compute credential properties '" - + MCProperties.ACCESS_KEY + "' and '" + MCProperties.SECRET_KEY + "' are required."); - } accessKey = credential.getAccessKey(); secretKey = credential.getSecretKey(); + + + Account account = new AliyunAccount(accessKey, secretKey); this.odps = new Odps(account); - enablePublicAccess = Boolean.parseBoolean(props.getOrDefault(MCProperties.PUBLIC_ACCESS, "false")); - setOdpsUrl(region); odps.setDefaultProject(defaultProject); - tunnel = new TableTunnel(odps); - setTunnelUrl(region); - } + odps.setEndpoint(endpoint); + Credentials credentials = Credentials.newBuilder().withAccount(odps.getAccount()) + .withAppAccount(odps.getAppAccount()).build(); - private void setOdpsUrl(String region) { - if (StringUtils.isEmpty(odpsUrl)) { - odpsUrl = odpsUrlTemplate.replace("{}", region); - if (enablePublicAccess) { - odpsUrl = odpsUrl.replace("-inc", ""); - } - } - odps.setEndpoint(odpsUrl); - } - - private void setTunnelUrl(String region) { - if (StringUtils.isEmpty(tunnelUrl)) { - tunnelUrl = tunnelUrlTemplate.replace("{}", region); - if (enablePublicAccess) { - tunnelUrl = tunnelUrl.replace("-inc", ""); - } - } - tunnel.setEndpoint(tunnelUrl); - } - - public TableTunnel getTableTunnel() { - makeSureInitialized(); - return tunnel; + settings = EnvironmentSettings.newBuilder() + .withCredentials(credentials) + .withServiceEndpoint(odps.getEndpoint()) + .withQuotaName(quota) + .build(); } public Odps getClient() { @@ -136,9 +129,21 @@ public Odps getClient() { protected List listDatabaseNames() { List result = new ArrayList<>(); try { - // TODO: How to get all privileged project from max compute as databases? - // Now only have permission to show default project. - result.add(odps.projects().get(odps.getDefaultProject()).getName()); + result.add(defaultProject); + if (StringUtils.isNullOrEmpty(catalogOwner)) { + SecurityManager sm = odps.projects().get().getSecurityManager(); + String whoami = sm.runQuery("whoami", false); + + JsonObject js = JsonParser.parseString(whoami).getAsJsonObject(); + catalogOwner = js.get("DisplayName").getAsString(); + } + Iterator iterator = odps.projects().iterator(catalogOwner); + while (iterator.hasNext()) { + Project project = iterator.next(); + if (!project.getName().equals(defaultProject)) { + result.add(project.getName()); + } + } } catch (OdpsException e) { throw new RuntimeException(e); } @@ -149,7 +154,7 @@ protected List listDatabaseNames() { public boolean tableExist(SessionContext ctx, String dbName, String tblName) { makeSureInitialized(); try { - return odps.tables().exists(tblName); + return getClient().tables().exists(dbName, tblName); } catch (OdpsException e) { throw new RuntimeException(e); } @@ -195,19 +200,10 @@ public List listPartitionNames(String dbName, String tbl, long skip, lon public List listTableNames(SessionContext ctx, String dbName) { makeSureInitialized(); List result = new ArrayList<>(); - odps.tables().forEach(e -> result.add(e.getName())); + getClient().tables().forEach(e -> result.add(e.getName())); return result; } - /** - * use region to create data tunnel url - * @return region, required by jni scanner. - */ - public String getRegion() { - makeSureInitialized(); - return region; - } - public String getAccessKey() { makeSureInitialized(); return accessKey; @@ -218,26 +214,81 @@ public String getSecretKey() { return secretKey; } - public boolean enablePublicAccess() { + public String getEndpoint() { makeSureInitialized(); - return enablePublicAccess; + return endpoint; + } + + public String getDefaultProject() { + makeSureInitialized(); + return defaultProject; + } + + public String getQuota() { + return quota; + } + + public SplitOptions getSplitOption() { + return splitOptions; + } + + public EnvironmentSettings getSettings() { + return settings; + } + + public String getSplitStrategy() { + return splitStrategy; + } + + public long getSplitRowCount() { + return splitRowCount; + } + + + public long getSplitByteSize() { + return splitByteSize; } @Override public void checkProperties() throws DdlException { super.checkProperties(); + Map props = catalogProperty.getProperties(); for (String requiredProperty : REQUIRED_PROPERTIES) { - if (!catalogProperty.getProperties().containsKey(requiredProperty)) { + if (!props.containsKey(requiredProperty)) { throw new DdlException("Required property '" + requiredProperty + "' is missing"); } } - } - public String getOdpsUrl() { - return odpsUrl; - } + try { + splitStrategy = props.getOrDefault(MCProperties.SPLIT_STRATEGY, MCProperties.DEFAULT_SPLIT_STRATEGY); + if (splitStrategy.equals(MCProperties.SPLIT_BY_BYTE_SIZE_STRATEGY)) { + splitByteSize = Long.parseLong(props.getOrDefault(MCProperties.SPLIT_BYTE_SIZE, + MCProperties.DEFAULT_SPLIT_BYTE_SIZE)); + + if (splitByteSize < 10485760L) { + throw new DdlException(MCProperties.SPLIT_ROW_COUNT + " must be greater than or equal to 10485760"); + } + + } else if (splitStrategy.equals(MCProperties.SPLIT_BY_ROW_COUNT_STRATEGY)) { + splitRowCount = Long.parseLong(props.getOrDefault(MCProperties.SPLIT_ROW_COUNT, + MCProperties.DEFAULT_SPLIT_ROW_COUNT)); + if (splitRowCount <= 0) { + throw new DdlException(MCProperties.SPLIT_ROW_COUNT + " must be greater than 0"); + } - public String getTunnelUrl() { - return tunnelUrl; + } else { + throw new DdlException("property " + MCProperties.SPLIT_STRATEGY + "must is " + + MCProperties.SPLIT_BY_BYTE_SIZE_STRATEGY + " or " + MCProperties.SPLIT_BY_ROW_COUNT_STRATEGY); + } + } catch (NumberFormatException e) { + throw new DdlException("property " + MCProperties.SPLIT_BYTE_SIZE + "/" + + MCProperties.SPLIT_ROW_COUNT + "must be an integer"); + } + + CloudCredential credential = MCProperties.getCredential(props); + if (!credential.isWhole()) { + throw new DdlException("Max-Compute credential properties '" + + MCProperties.ACCESS_KEY + "' and '" + MCProperties.SECRET_KEY + "' are required."); + } } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java index 0edae9de23bf6d..dc3232f79f5f71 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java @@ -34,7 +34,6 @@ import com.aliyun.odps.OdpsType; import com.aliyun.odps.Table; -import com.aliyun.odps.tunnel.TunnelException; import com.aliyun.odps.type.ArrayTypeInfo; import com.aliyun.odps.type.CharTypeInfo; import com.aliyun.odps.type.DecimalTypeInfo; @@ -48,6 +47,7 @@ import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; @@ -61,6 +61,8 @@ public MaxComputeExternalTable(long id, String name, String dbName, MaxComputeEx super(id, name, catalog, dbName, TableType.MAX_COMPUTE_EXTERNAL_TABLE); } + private Map columnNameToOdpsColumn = new HashMap(); + @Override protected synchronized void makeSureInitialized() { super.makeSureInitialized(); @@ -69,27 +71,6 @@ protected synchronized void makeSureInitialized() { } } - public long getTotalRows() throws TunnelException { - // use for non-partitioned table - // partition table will read the entire partition on FE so get total rows is unnecessary. - makeSureInitialized(); - MaxComputeMetadataCache metadataCache = Env.getCurrentEnv().getExtMetaCacheMgr() - .getMaxComputeMetadataCache(catalog.getId()); - MaxComputeExternalCatalog mcCatalog = ((MaxComputeExternalCatalog) catalog); - return metadataCache.getCachedRowCount(dbName, name, null, key -> { - try { - return loadRowCount(mcCatalog, key); - } catch (TunnelException e) { - throw new RuntimeException(e); - } - }); - } - - private long loadRowCount(MaxComputeExternalCatalog catalog, MaxComputeCacheKey key) throws TunnelException { - return catalog.getTableTunnel() - .getDownloadSession(key.getDbName(), key.getTblName(), null) - .getRecordCount(); - } public List getPartitionColumns() { makeSureInitialized(); @@ -151,19 +132,34 @@ private static List parsePartitionValues(List partitionColumns, return partitionValues; } + public Map getColumnNameToOdpsColumn() { + return columnNameToOdpsColumn; + } + @Override public Optional initSchema() { // this method will be called at semantic parsing. makeSureInitialized(); - Table odpsTable = ((MaxComputeExternalCatalog) catalog).getClient().tables().get(name); + Table odpsTable = ((MaxComputeExternalCatalog) catalog).getClient().tables().get(dbName, name); List columns = odpsTable.getSchema().getColumns(); + + + for (com.aliyun.odps.Column column : columns) { + columnNameToOdpsColumn.put(column.getName(), column); + } + List schema = Lists.newArrayListWithCapacity(columns.size()); for (com.aliyun.odps.Column field : columns) { schema.add(new Column(field.getName(), mcTypeToDorisType(field.getTypeInfo()), true, null, - true, field.getComment(), true, -1)); + field.isNullable(), field.getComment(), true, -1)); } List partitionColumns = odpsTable.getSchema().getPartitionColumns(); + + for (com.aliyun.odps.Column partitionColumn : partitionColumns) { + columnNameToOdpsColumn.put(partitionColumn.getName(), partitionColumn); + } + List partitionSpecs; if (!partitionColumns.isEmpty()) { partitionSpecs = odpsTable.getPartitions().stream() @@ -239,10 +235,12 @@ private Type mcTypeToDorisType(TypeInfo typeInfo) { case DATE: { return ScalarType.createDateV2Type(); } - case DATETIME: - case TIMESTAMP: { + case DATETIME: { return ScalarType.createDatetimeV2Type(3); } + case TIMESTAMP_NTZ: { + return ScalarType.createDatetimeV2Type(6); + } case ARRAY: { ArrayTypeInfo arrayType = (ArrayTypeInfo) typeInfo; Type innerType = mcTypeToDorisType(arrayType.getElementTypeInfo()); @@ -275,17 +273,22 @@ private Type mcTypeToDorisType(TypeInfo typeInfo) { @Override public TTableDescriptor toThrift() { + // ak sk endpoint project quota List schema = getFullSchema(); TMCTable tMcTable = new TMCTable(); MaxComputeExternalCatalog mcCatalog = ((MaxComputeExternalCatalog) catalog); - tMcTable.setRegion(mcCatalog.getRegion()); + tMcTable.setAccessKey(mcCatalog.getAccessKey()); tMcTable.setSecretKey(mcCatalog.getSecretKey()); - tMcTable.setOdpsUrl(mcCatalog.getOdpsUrl()); - tMcTable.setTunnelUrl(mcCatalog.getTunnelUrl()); - tMcTable.setPublicAccess(String.valueOf(mcCatalog.enablePublicAccess())); + tMcTable.setOdpsUrl("deprecated"); + tMcTable.setRegion("deprecated"); + tMcTable.setEndpoint(mcCatalog.getEndpoint()); // use mc project as dbName tMcTable.setProject(dbName); + tMcTable.setQuota(mcCatalog.getQuota()); + + tMcTable.setTunnelUrl("deprecated"); + tMcTable.setProject("deprecated"); tMcTable.setTable(name); TTableDescriptor tTableDescriptor = new TTableDescriptor(getId(), TTableType.MAX_COMPUTE_TABLE, schema.size(), 0, getName(), dbName); diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeMetadataCache.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeMetadataCache.java index cce570a11746aa..2213ded0bcbbed 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeMetadataCache.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeMetadataCache.java @@ -30,21 +30,11 @@ public class MaxComputeMetadataCache { private final Cache partitionValuesCache; - private final Cache tableRowCountCache; public MaxComputeMetadataCache() { partitionValuesCache = Caffeine.newBuilder().maximumSize(Config.max_hive_partition_cache_num) .expireAfterAccess(Config.external_cache_expire_time_minutes_after_access, TimeUnit.MINUTES) .build(); - tableRowCountCache = Caffeine.newBuilder().maximumSize(10000) - .expireAfterAccess(Config.external_cache_expire_time_minutes_after_access, TimeUnit.MINUTES) - .build(); - } - - public Long getCachedRowCount(String dbName, String tblName, String partitionSpec, - Function loader) { - MaxComputeCacheKey tablePartitionKey = new MaxComputeCacheKey(dbName, tblName, partitionSpec); - return tableRowCountCache.get(tablePartitionKey, loader); } public TablePartitionValues getCachedPartitionValues(MaxComputeCacheKey tablePartitionKey, @@ -54,7 +44,6 @@ public TablePartitionValues getCachedPartitionValues(MaxComputeCacheKey tablePar public void cleanUp() { partitionValuesCache.invalidateAll(); - tableRowCountCache.invalidateAll(); } public void cleanDatabaseCache(String dbName) { @@ -63,17 +52,10 @@ public void cleanDatabaseCache(String dbName) { .filter(k -> k.getDbName().equalsIgnoreCase(dbName)) .collect(Collectors.toList()); partitionValuesCache.invalidateAll(removeCacheList); - - List removeCacheRowCountList = tableRowCountCache.asMap().keySet() - .stream() - .filter(k -> k.getDbName().equalsIgnoreCase(dbName)) - .collect(Collectors.toList()); - tableRowCountCache.invalidateAll(removeCacheRowCountList); } public void cleanTableCache(String dbName, String tblName) { MaxComputeCacheKey cacheKey = new MaxComputeCacheKey(dbName, tblName); partitionValuesCache.invalidate(cacheKey); - tableRowCountCache.invalidate(cacheKey); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeScanNode.java index 87ab365553472f..521757da20e2ea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeScanNode.java @@ -17,18 +17,29 @@ package org.apache.doris.datasource.maxcompute.source; +import org.apache.doris.analysis.BinaryPredicate; +import org.apache.doris.analysis.CastExpr; +import org.apache.doris.analysis.CompoundPredicate; +import org.apache.doris.analysis.CompoundPredicate.Operator; +import org.apache.doris.analysis.DateLiteral; +import org.apache.doris.analysis.Expr; +import org.apache.doris.analysis.InPredicate; +import org.apache.doris.analysis.IsNullPredicate; +import org.apache.doris.analysis.LiteralExpr; +import org.apache.doris.analysis.SlotRef; import org.apache.doris.analysis.TupleDescriptor; -import org.apache.doris.catalog.PartitionItem; +import org.apache.doris.catalog.Column; +import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.TableIf; import org.apache.doris.common.AnalysisException; -import org.apache.doris.common.Pair; import org.apache.doris.common.UserException; import org.apache.doris.common.util.LocationPath; import org.apache.doris.datasource.FileQueryScanNode; import org.apache.doris.datasource.TableFormatType; -import org.apache.doris.datasource.TablePartitionValues; +import org.apache.doris.datasource.maxcompute.MaxComputeExternalCatalog; import org.apache.doris.datasource.maxcompute.MaxComputeExternalTable; -import org.apache.doris.planner.ListPartitionPrunerV2; +import org.apache.doris.datasource.maxcompute.source.MaxComputeSplit.SplitType; +import org.apache.doris.datasource.property.constants.MCProperties; import org.apache.doris.planner.PlanNodeId; import org.apache.doris.spi.Split; import org.apache.doris.statistics.StatisticalType; @@ -37,22 +48,35 @@ import org.apache.doris.thrift.TMaxComputeFileDesc; import org.apache.doris.thrift.TTableFormatFileDesc; -import com.aliyun.odps.Table; -import com.aliyun.odps.tunnel.TunnelException; +import com.aliyun.odps.OdpsType; +import com.aliyun.odps.table.TableIdentifier; +import com.aliyun.odps.table.configuration.ArrowOptions; +import com.aliyun.odps.table.configuration.ArrowOptions.TimestampUnit; +import com.aliyun.odps.table.optimizer.predicate.Predicate; +import com.aliyun.odps.table.read.TableBatchReadSession; +import com.aliyun.odps.table.read.TableReadSessionBuilder; +import com.aliyun.odps.table.read.split.InputSplitAssigner; +import com.aliyun.odps.table.read.split.impl.IndexedInputSplit; import com.google.common.collect.Maps; +import jline.internal.Log; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectOutputStream; +import java.io.Serializable; import java.util.ArrayList; -import java.util.Collection; +import java.util.Base64; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; public class MaxComputeScanNode extends FileQueryScanNode { private final MaxComputeExternalTable table; - private static final int MIN_SPLIT_SIZE = 4096; - private static final LocationPath VIRTUAL_SLICE_PART = new LocationPath("/virtual_slice_part", Maps.newHashMap()); + TableBatchReadSession tableBatchReadSession; public MaxComputeScanNode(PlanNodeId id, TupleDescriptor desc, boolean needCheckColumnPriv) { this(id, desc, "MCScanNode", StatisticalType.MAX_COMPUTE_SCAN_NODE, needCheckColumnPriv); @@ -75,11 +99,288 @@ private void setScanParams(TFileRangeDesc rangeDesc, MaxComputeSplit maxComputeS TTableFormatFileDesc tableFormatFileDesc = new TTableFormatFileDesc(); tableFormatFileDesc.setTableFormatType(TableFormatType.MAX_COMPUTE.value()); TMaxComputeFileDesc fileDesc = new TMaxComputeFileDesc(); - if (maxComputeSplit.getPartitionSpec().isPresent()) { - fileDesc.setPartitionSpec(maxComputeSplit.getPartitionSpec().get()); - } + fileDesc.setPartitionSpec("deprecated"); + fileDesc.setTableBatchReadSession(maxComputeSplit.scanSerialize); + fileDesc.setSessionId(maxComputeSplit.getSessionId()); tableFormatFileDesc.setMaxComputeParams(fileDesc); rangeDesc.setTableFormatParams(tableFormatFileDesc); + rangeDesc.setPath("[ " + maxComputeSplit.getStart() + " , " + maxComputeSplit.getLength() + " ]"); + rangeDesc.setStartOffset(maxComputeSplit.getStart()); + rangeDesc.setSize(maxComputeSplit.getLength()); + } + + void createTableBatchReadSession() throws UserException { + Predicate filterPredicate = convertPredicate(); + + + List requiredPartitionColumns = new ArrayList<>(); + List orderedRequiredDataColumns = new ArrayList<>(); + + Set requiredSlots = + desc.getSlots().stream().map(e -> e.getColumn().getName()).collect(Collectors.toSet()); + + Set partitionColumns = + table.getPartitionColumns().stream().map(Column::getName).collect(Collectors.toSet()); + + for (Column column : table.getColumns()) { + String columnName = column.getName(); + if (!requiredSlots.contains(columnName)) { + continue; + } + if (partitionColumns.contains(columnName)) { + requiredPartitionColumns.add(columnName); + } else { + orderedRequiredDataColumns.add(columnName); + } + } + + + + MaxComputeExternalCatalog mcCatalog = (MaxComputeExternalCatalog) table.getCatalog(); + + try { + TableReadSessionBuilder scanBuilder = new TableReadSessionBuilder(); + tableBatchReadSession = + scanBuilder.identifier(TableIdentifier.of(table.getDbName(), table.getName())) + .withSettings(mcCatalog.getSettings()) + .withSplitOptions(mcCatalog.getSplitOption()) + .requiredPartitionColumns(requiredPartitionColumns) + .requiredDataColumns(orderedRequiredDataColumns) + .withArrowOptions( + ArrowOptions.newBuilder() + .withDatetimeUnit(TimestampUnit.MILLI) + .withTimestampUnit(TimestampUnit.NANO) + .build() + ) + .withFilterPredicate(filterPredicate) + .buildBatchReadSession(); + } catch (java.io.IOException e) { + throw new RuntimeException(e); + } + + } + + protected Predicate convertPredicate() { + if (conjuncts.isEmpty()) { + return Predicate.NO_PREDICATE; + } + + if (conjuncts.size() == 1) { + try { + return convertExprToOdpsPredicate(conjuncts.get(0)); + } catch (AnalysisException e) { + Log.info("Failed to convert predicate " + conjuncts.get(0) + " to odps predicate"); + Log.info("Reason: " + e.getMessage()); + return Predicate.NO_PREDICATE; + } + } + + com.aliyun.odps.table.optimizer.predicate.CompoundPredicate + filterPredicate = new com.aliyun.odps.table.optimizer.predicate.CompoundPredicate( + com.aliyun.odps.table.optimizer.predicate.CompoundPredicate.Operator.AND + ); + + for (Expr predicate : conjuncts) { + try { + filterPredicate.addPredicate(convertExprToOdpsPredicate(predicate)); + } catch (AnalysisException e) { + Log.info("Failed to convert predicate " + predicate); + Log.info("Reason: " + e.getMessage()); + return Predicate.NO_PREDICATE; + } + } + return filterPredicate; + } + + private Predicate convertExprToOdpsPredicate(Expr expr) throws AnalysisException { + Predicate odpsPredicate = null; + if (expr instanceof CompoundPredicate) { + CompoundPredicate compoundPredicate = (CompoundPredicate) expr; + + com.aliyun.odps.table.optimizer.predicate.CompoundPredicate.Operator odpsOp; + switch (compoundPredicate.getOp()) { + case AND: + odpsOp = com.aliyun.odps.table.optimizer.predicate.CompoundPredicate.Operator.AND; + break; + case OR: + odpsOp = com.aliyun.odps.table.optimizer.predicate.CompoundPredicate.Operator.OR; + break; + case NOT: + odpsOp = com.aliyun.odps.table.optimizer.predicate.CompoundPredicate.Operator.NOT; + break; + default: + throw new AnalysisException("Unknown operator: " + compoundPredicate.getOp()); + } + + List odpsPredicates = new ArrayList<>(); + + odpsPredicates.add(convertExprToOdpsPredicate(expr.getChild(0))); + + if (compoundPredicate.getOp() != Operator.NOT) { + odpsPredicates.add(convertExprToOdpsPredicate(expr.getChild(1))); + } + odpsPredicate = new com.aliyun.odps.table.optimizer.predicate.CompoundPredicate(odpsOp, odpsPredicates); + + } else if (expr instanceof InPredicate) { + + InPredicate inPredicate = (InPredicate) expr; + if (inPredicate.getChildren().size() > 2) { + return Predicate.NO_PREDICATE; + } + com.aliyun.odps.table.optimizer.predicate.InPredicate.Operator odpsOp = + inPredicate.isNotIn() + ? com.aliyun.odps.table.optimizer.predicate.InPredicate.Operator.IN + : com.aliyun.odps.table.optimizer.predicate.InPredicate.Operator.NOT_IN; + + String columnName = convertSlotRefToColumnName(expr.getChild(0)); + com.aliyun.odps.OdpsType odpsType = table.getColumnNameToOdpsColumn().get(columnName).getType(); + + StringBuilder stringBuilder = new StringBuilder(); + + + stringBuilder.append(columnName); + stringBuilder.append(" "); + stringBuilder.append(odpsOp.getDescription()); + stringBuilder.append(" ("); + + for (int i = 1; i < inPredicate.getChildren().size(); i++) { + stringBuilder.append(convertLiteralToOdpsValues(odpsType, expr.getChild(i))); + if (i < inPredicate.getChildren().size() - 1) { + stringBuilder.append(", "); + } + } + stringBuilder.append(" )"); + + odpsPredicate = new com.aliyun.odps.table.optimizer.predicate.RawPredicate(stringBuilder.toString()); + + } else if (expr instanceof BinaryPredicate) { + BinaryPredicate binaryPredicate = (BinaryPredicate) expr; + + + com.aliyun.odps.table.optimizer.predicate.BinaryPredicate.Operator odpsOp; + switch (binaryPredicate.getOp()) { + case EQ: { + odpsOp = com.aliyun.odps.table.optimizer.predicate.BinaryPredicate.Operator.EQUALS; + break; + } + case NE: { + odpsOp = com.aliyun.odps.table.optimizer.predicate.BinaryPredicate.Operator.NOT_EQUALS; + break; + } + case GE: { + odpsOp = com.aliyun.odps.table.optimizer.predicate.BinaryPredicate.Operator.GREATER_THAN_OR_EQUAL; + break; + } + case LE: { + odpsOp = com.aliyun.odps.table.optimizer.predicate.BinaryPredicate.Operator.LESS_THAN_OR_EQUAL; + break; + } + case LT: { + odpsOp = com.aliyun.odps.table.optimizer.predicate.BinaryPredicate.Operator.LESS_THAN; + break; + } + case GT: { + odpsOp = com.aliyun.odps.table.optimizer.predicate.BinaryPredicate.Operator.GREATER_THAN; + break; + } + default: { + odpsOp = null; + break; + } + } + + if (odpsOp != null) { + String columnName = convertSlotRefToColumnName(expr.getChild(0)); + com.aliyun.odps.OdpsType odpsType = table.getColumnNameToOdpsColumn().get(columnName).getType(); + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append(columnName); + stringBuilder.append(" "); + stringBuilder.append(odpsOp.getDescription()); + stringBuilder.append(" "); + stringBuilder.append(convertLiteralToOdpsValues(odpsType, expr.getChild(1))); + + odpsPredicate = new com.aliyun.odps.table.optimizer.predicate.RawPredicate(stringBuilder.toString()); + } + } else if (expr instanceof IsNullPredicate) { + IsNullPredicate isNullPredicate = (IsNullPredicate) expr; + com.aliyun.odps.table.optimizer.predicate.UnaryPredicate.Operator odpsOp = + isNullPredicate.isNotNull() + ? com.aliyun.odps.table.optimizer.predicate.UnaryPredicate.Operator.NOT_NULL + : com.aliyun.odps.table.optimizer.predicate.UnaryPredicate.Operator.IS_NULL; + + odpsPredicate = new com.aliyun.odps.table.optimizer.predicate.UnaryPredicate(odpsOp, + new com.aliyun.odps.table.optimizer.predicate.Attribute( + convertSlotRefToColumnName(expr.getChild(0)) + ) + ); + } + + + if (odpsPredicate == null) { + throw new AnalysisException("Do not support convert [" + + expr.getExprName() + "] in convertExprToOdpsPredicate."); + } + return odpsPredicate; + } + + private String convertSlotRefToColumnName(Expr expr) throws AnalysisException { + if (expr instanceof SlotRef) { + return ((SlotRef) expr).getColumnName(); + } else if (expr instanceof CastExpr) { + if (expr.getChild(0) instanceof SlotRef) { + return ((SlotRef) expr.getChild(0)).getColumnName(); + } + } + + throw new AnalysisException("Do not support convert [" + + expr.getExprName() + "] in convertSlotRefToAttribute."); + + + } + + private String convertLiteralToOdpsValues(OdpsType odpsType, Expr expr) throws AnalysisException { + if (!(expr instanceof LiteralExpr)) { + throw new AnalysisException("Do not support convert [" + + expr.getExprName() + "] in convertSlotRefToAttribute."); + } + LiteralExpr literalExpr = (LiteralExpr) expr; + + switch (odpsType) { + case BOOLEAN: + case TINYINT: + case SMALLINT: + case INT: + case BIGINT: + case DECIMAL: + case FLOAT: + case DOUBLE: { + return " " + literalExpr.toString() + " "; + } + case STRING: + case CHAR: + case VARCHAR: { + return " \"" + literalExpr.toString() + "\" "; + } + case DATE: { + DateLiteral dateLiteral = (DateLiteral) literalExpr; + ScalarType dstType = ScalarType.createDateV2Type(); + return " \"" + dateLiteral.getStringValue(dstType) + "\" "; + } + case DATETIME: { + DateLiteral dateLiteral = (DateLiteral) literalExpr; + ScalarType dstType = ScalarType.createDatetimeV2Type(3); + return " \"" + dateLiteral.getStringValue(dstType) + "\" "; + } + case TIMESTAMP_NTZ: { + DateLiteral dateLiteral = (DateLiteral) literalExpr; + ScalarType dstType = ScalarType.createDatetimeV2Type(6); + return " \"" + dateLiteral.getStringValue(dstType) + "\" "; + } + default: { + break; + } + } + throw new AnalysisException("Do not support convert odps type [" + odpsType + "] to odps values."); } @Override @@ -109,85 +410,64 @@ public List getSplits() throws UserException { if (desc.getSlots().isEmpty() || odpsTable.getFileNum() <= 0) { return result; } + createTableBatchReadSession(); + try { - if (!table.getPartitionColumns().isEmpty()) { - if (conjuncts.isEmpty()) { - throw new IllegalArgumentException("Max Compute partition table need partition predicate."); - } - List partitionSpecs = getPartitionSpecs(); - for (String partitionSpec : partitionSpecs) { - addPartitionSplits(result, odpsTable, partitionSpec); + String scanSessionSerialize = serializeSession(tableBatchReadSession); + InputSplitAssigner assigner = tableBatchReadSession.getInputSplitAssigner(); + long modificationTime = table.getOdpsTable().getLastDataModifiedTime().getTime(); + + MaxComputeExternalCatalog mcCatalog = (MaxComputeExternalCatalog) table.getCatalog(); + + if (mcCatalog.getSplitStrategy().equals(MCProperties.SPLIT_BY_BYTE_SIZE_STRATEGY)) { + + for (com.aliyun.odps.table.read.split.InputSplit split : assigner.getAllSplits()) { + MaxComputeSplit maxComputeSplit = + new MaxComputeSplit(new LocationPath("/byte_size", Maps.newHashMap()), + ((IndexedInputSplit) split).getSplitIndex(), -1, + mcCatalog.getSplitByteSize(), + modificationTime, null, + Collections.emptyList()); + + + maxComputeSplit.scanSerialize = scanSessionSerialize; + maxComputeSplit.splitType = SplitType.BYTE_SIZE; + maxComputeSplit.sessionId = split.getSessionId(); + + result.add(maxComputeSplit); } } else { - addBatchSplits(result, odpsTable, table.getTotalRows()); - } - } catch (TunnelException e) { - throw new UserException("Max Compute tunnel SDK exception: " + e.getMessage(), e); + long totalRowCount = assigner.getTotalRowCount(); - } - return result; - } + long recordsPerSplit = mcCatalog.getSplitRowCount(); + for (long offset = 0; offset < totalRowCount; offset += recordsPerSplit) { + recordsPerSplit = Math.min(recordsPerSplit, totalRowCount - offset); + com.aliyun.odps.table.read.split.InputSplit split = + assigner.getSplitByRowOffset(offset, recordsPerSplit); - private static void addPartitionSplits(List result, Table odpsTable, String partitionSpec) { - long modificationTime = odpsTable.getLastDataModifiedTime().getTime(); - // use '-1' to read whole partition, avoid expending too much time on calling table.getTotalRows() - result.add(new MaxComputeSplit(VIRTUAL_SLICE_PART, - 0, -1L, -1, modificationTime, null, Collections.emptyList(), null)); - } + MaxComputeSplit maxComputeSplit = + new MaxComputeSplit(new LocationPath("/row_offset", Maps.newHashMap()), + offset, recordsPerSplit, totalRowCount, modificationTime, null, + Collections.emptyList()); - private static void addBatchSplits(List result, Table odpsTable, long totalRows) { - List> sliceRange = new ArrayList<>(); - long fileNum = odpsTable.getFileNum(); - long start = 0; - long splitSize = (long) Math.ceil((double) totalRows / fileNum); - if (splitSize <= 0 || totalRows < MIN_SPLIT_SIZE) { - // use whole split - sliceRange.add(Pair.of(start, totalRows)); - } else { - for (int i = 0; i < fileNum; i++) { - if (start > totalRows) { - break; + maxComputeSplit.scanSerialize = scanSessionSerialize; + maxComputeSplit.splitType = SplitType.ROW_OFFSET; + maxComputeSplit.sessionId = split.getSessionId(); + + result.add(maxComputeSplit); } - sliceRange.add(Pair.of(start, splitSize)); - start += splitSize; - } - } - long modificationTime = odpsTable.getLastDataModifiedTime().getTime(); - if (!sliceRange.isEmpty()) { - for (int i = 0; i < sliceRange.size(); i++) { - Pair range = sliceRange.get(i); - result.add(new MaxComputeSplit(new LocationPath("/virtual_slice_" + i, Maps.newHashMap()), - range.first, range.second, totalRows, modificationTime, null, Collections.emptyList(), null)); } + } catch (IOException e) { + throw new RuntimeException(e); } + return result; } - private List getPartitionSpecs() throws AnalysisException { - return getPrunedPartitionSpecs(); - } - - private List getPrunedPartitionSpecs() throws AnalysisException { - List result = new ArrayList<>(); - TablePartitionValues partitionValues = table.getPartitionValues(); - // prune partitions by expr - partitionValues.readLock().lock(); - try { - Map idToPartitionItem = partitionValues.getIdToPartitionItem(); - this.totalPartitionNum = idToPartitionItem.size(); - ListPartitionPrunerV2 pruner = new ListPartitionPrunerV2(idToPartitionItem, - table.getPartitionColumns(), columnNameToRange, - partitionValues.getUidToPartitionRange(), - partitionValues.getRangeToId(), - partitionValues.getSingleColumnRangeMap(), - false); - Collection filteredPartitionIds = pruner.prune(); - this.selectedPartitionNum = filteredPartitionIds.size(); - // get partitions from cache - Map partitionIdToNameMap = partitionValues.getPartitionIdToNameMap(); - filteredPartitionIds.forEach(id -> result.add(partitionIdToNameMap.get(id))); - return result; - } finally { - partitionValues.readLock().unlock(); - } + private static String serializeSession(Serializable object) throws IOException { + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); + objectOutputStream.writeObject(object); + byte[] serializedBytes = byteArrayOutputStream.toByteArray(); + return Base64.getEncoder().encodeToString(serializedBytes); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeSplit.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeSplit.java index 256ee1adefb1ea..0fc9fbcbfd5f63 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeSplit.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/source/MaxComputeSplit.java @@ -21,21 +21,27 @@ import org.apache.doris.datasource.FileSplit; import org.apache.doris.thrift.TFileType; +import lombok.Getter; + import java.util.List; -import java.util.Optional; +@Getter public class MaxComputeSplit extends FileSplit { - private final Optional partitionSpec; + public String scanSerialize; + public String sessionId; + + public enum SplitType { + ROW_OFFSET, + BYTE_SIZE + } + + public SplitType splitType; public MaxComputeSplit(LocationPath path, long start, long length, long fileLength, - long modificationTime, String[] hosts, List partitionValues, String partitionSpec) { + long modificationTime, String[] hosts, List partitionValues) { super(path, start, length, fileLength, modificationTime, hosts, partitionValues); - this.partitionSpec = Optional.ofNullable(partitionSpec); // MC always use FILE_NET type this.locationType = TFileType.FILE_NET; } - public Optional getPartitionSpec() { - return partitionSpec; - } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/property/constants/MCProperties.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/property/constants/MCProperties.java index de1983f5753aa5..df4fa068ca706d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/property/constants/MCProperties.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/property/constants/MCProperties.java @@ -27,12 +27,28 @@ public class MCProperties extends BaseProperties { public static final String REGION = "mc.region"; public static final String PROJECT = "mc.default.project"; - public static final String ACCESS_KEY = "mc.access_key"; - public static final String SECRET_KEY = "mc.secret_key"; public static final String SESSION_TOKEN = "mc.session_token"; public static final String PUBLIC_ACCESS = "mc.public_access"; - public static final String ODPS_ENDPOINT = "mc.odps_endpoint"; - public static final String TUNNEL_SDK_ENDPOINT = "mc.tunnel_endpoint"; + public static final String DEFAULT_PUBLIC_ACCESS = "false"; + + public static final String ACCESS_KEY = "mc.access_key"; + public static final String SECRET_KEY = "mc.secret_key"; + public static final String ENDPOINT = "mc.endpoint"; + + public static final String QUOTA = "mc.quota"; + public static final String DEFAULT_QUOTA = "pay-as-you-go"; + + + public static final String SPLIT_STRATEGY = "mc.split_strategy"; + public static final String SPLIT_BY_BYTE_SIZE_STRATEGY = "byte_size"; + public static final String SPLIT_BY_ROW_COUNT_STRATEGY = "row_count"; + public static final String DEFAULT_SPLIT_STRATEGY = SPLIT_BY_BYTE_SIZE_STRATEGY; + + + public static final String SPLIT_BYTE_SIZE = "mc.split_byte_size"; + public static final String DEFAULT_SPLIT_BYTE_SIZE = "268435456"; //256 * 1024L * 1024L = 256MB + public static final String SPLIT_ROW_COUNT = "mc.split_row_count"; + public static final String DEFAULT_SPLIT_ROW_COUNT = "1048576"; // 256 * 4096 public static CloudCredential getCredential(Map props) { return getCloudCredential(props, ACCESS_KEY, SECRET_KEY, SESSION_TOKEN); diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/property/PropertyConverterTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/property/PropertyConverterTest.java index c9f96a79161a20..a5f2453ea363af 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/property/PropertyConverterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/property/PropertyConverterTest.java @@ -402,10 +402,9 @@ public void testMcPropertiesConverter() throws Exception { String queryDlf1 = "create catalog hms_mc properties (\n" + " 'type'='max_compute',\n" + " 'mc.default.project' = 'project0',\n" - + " 'mc.region' = 'cn-beijing',\n" + " 'mc.access_key' = 'ak',\n" + " 'mc.secret_key' = 'sk',\n" - + " 'mc.public_access' = 'true'\n" + + " 'mc.endpoint' = 'http://service.cn-beijing-vpc.maxcompute.aliyun-inc.com/api' \n" + ");"; String catalogName = "hms_mc"; CreateCatalogStmt analyzedStmt = createStmt(queryDlf1); @@ -414,10 +413,10 @@ public void testMcPropertiesConverter() throws Exception { .getCatalogMgr().getCatalog(catalogName); Map properties = catalog.getCatalogProperty().getProperties(); Assertions.assertEquals(properties.get("type"), "max_compute"); - Assertions.assertEquals(properties.get("mc.region"), "cn-beijing"); Assertions.assertEquals(properties.get("mc.access_key"), "ak"); Assertions.assertEquals(properties.get("mc.secret_key"), "sk"); - Assertions.assertEquals(properties.get("mc.public_access"), "true"); + Assertions.assertEquals(properties.get("mc.endpoint"), + "http://service.cn-beijing-vpc.maxcompute.aliyun-inc.com/api"); Assertions.assertEquals(properties.get("mc.default.project"), "project0"); } diff --git a/fe/pom.xml b/fe/pom.xml index 8bba5442dc8c6d..29b2b61530a935 100644 --- a/fe/pom.xml +++ b/fe/pom.xml @@ -312,7 +312,7 @@ under the License. 1.4.3 - 0.45.2-public + 0.48.8-public 1.11.3 17.0.0 diff --git a/gensrc/thrift/Descriptors.thrift b/gensrc/thrift/Descriptors.thrift index 56222c2338a268..10ad6de3f6bb22 100644 --- a/gensrc/thrift/Descriptors.thrift +++ b/gensrc/thrift/Descriptors.thrift @@ -353,14 +353,16 @@ struct TJdbcTable { } struct TMCTable { - 1: optional string region + 1: optional string region // deprecated 2: optional string project 3: optional string table 4: optional string access_key 5: optional string secret_key - 6: optional string public_access - 7: optional string odps_url - 8: optional string tunnel_url + 6: optional string public_access // deprecated + 7: optional string odps_url // deprecated + 8: optional string tunnel_url // deprecated + 9: optional string endpoint + 10: optional string quota } struct TTrinoConnectorTable { diff --git a/gensrc/thrift/PlanNodes.thrift b/gensrc/thrift/PlanNodes.thrift index e53289c1b865fd..c77ab48b2d404c 100644 --- a/gensrc/thrift/PlanNodes.thrift +++ b/gensrc/thrift/PlanNodes.thrift @@ -347,7 +347,10 @@ struct TTrinoConnectorFileDesc { } struct TMaxComputeFileDesc { - 1: optional string partition_spec + 1: optional string partition_spec // deprecated + 2: optional string session_id + 3: optional string table_batch_read_session + } struct THudiFileDesc { diff --git a/regression-test/data/external_table_p2/maxcompute/test_external_catalog_maxcompute.out b/regression-test/data/external_table_p2/maxcompute/test_external_catalog_maxcompute.out index e75e12c137b7a2..e1479672f232e7 100644 --- a/regression-test/data/external_table_p2/maxcompute/test_external_catalog_maxcompute.out +++ b/regression-test/data/external_table_p2/maxcompute/test_external_catalog_maxcompute.out @@ -1,69 +1,141 @@ -- This file is automatically generated. You should know what you did if you want to edit this -- !q1 -- -8639377 +5 -- !q2 -- -1 2 2000-08-15 2000-08-16 t 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22.22 23.23 +3 WS0003 2023-03-01 2023-10-31 Example Web Site 3 20230301 20231031 Healthcare Robert White 103 Health Healthcare services and products Emily Green 203 Health Corp 9101 Health Drive Floor Floor 3 Star City County TX 23456 USA -6.0 6.75 +4 WS0004 2023-04-01 2023-09-30 Example Web Site 4 20230401 20230930 Education David Black 104 EdTech Educational technology platform Fiona Grey 204 Edu Tech 1122 Education Lane Building Building 1 Smallville County FL 34567 USA -4.0 5.00 +5 WS0005 2023-05-01 2023-08-31 Example Web Site 5 20230501 20230831 Travel Sophia Blue 105 Travel Travel and booking services Daniel Red 205 Travel Inc 3344 Tourist Street Unit Unit 5 Metropolis County WA 45678 USA -7.0 8.00 -- !q3 -- -false 2 44 423432 -true 77 8920 182239402452 +false -1 -1 -1 +false 0 0 0 +false 10 1000 10000 +false 127 32767 9223372036854775807 +false 2 200 2000 +false 4 400 4000 +false 6 600 6000 +false 8 800 8000 +true -128 -32768 -9223372036854775807 +true 0 0 0 +true 1 1 1 +true 1 100 1000 +true 3 300 3000 +true 5 500 5000 +true 7 700 7000 +true 9 900 9000 + +-- !q3_1 -- +false -1 -1 -1 +false 0 0 0 +false 10 1000 10000 +false 127 32767 9223372036854775807 +false 2 200 2000 +false 4 400 4000 +false 6 600 6000 +false 8 800 8000 +true -128 -32768 -9223372036854775807 +true 0 0 0 +true 1 1 1 +true 1 100 1000 +true 3 300 3000 +true 5 500 5000 +true 7 700 7000 +true 9 900 9000 + +-- !q3_2 -- +false -1 -1 -1 +false 0 0 0 +false 10 1000 10000 +false 127 32767 9223372036854775807 +false 2 200 2000 +false 4 400 4000 +false 6 600 6000 +false 8 800 8000 +true -128 -32768 -9223372036854775807 +true 0 0 0 +true 1 1 1 +true 1 100 1000 +true 3 300 3000 +true 5 500 5000 +true 7 700 7000 +true 9 900 9000 -- !q4 -- -6223 maxam 2020-09-21 -9601 qewtoll 2020-09-21 +1003 Sample data 3 2023-08-03 -- !q5 -- -1633 siwtow 2021-08-21 +1004 Sample data 4 2023-08-04 +1005 Sample data 5 2023-08-05 -- !q6 -- -9601 qewtoll 2020-09-21 +1004 Sample data 4 2023-08-04 +1005 Sample data 5 2023-08-05 -- !q7 -- -1633 siwtow 2021-08-21 -1633 siwtow 20210821 -1633 siwtow 20210921 +1001 Sample data 1 2023-08-01 +1002 Sample data 2 2023-08-02 +1005 Sample data 5 2023-08-05 -- !replay_q6 -- -9601 qewtoll 2020-09-21 +1003 Sample data 3 2023-08-03 +1004 Sample data 4 2023-08-04 +1005 Sample data 5 2023-08-05 -- !multi_partition_q1 -- -pt=13/yy=2021/mm=12/dd=22 -pt=14/yy=2021/mm=12/dd=21 -pt=14/yy=2021/mm=12/dd=22 +yy=2023/mm=08/dd=01/pt=1 +yy=2023/mm=08/dd=02/pt=2 +yy=2023/mm=08/dd=03/pt=3 +yy=2023/mm=08/dd=04/pt=4 +yy=2023/mm=08/dd=05/pt=5 -- !multi_partition_q2 -- -17 2022-04-23T11:12:30 2021 12 22 -17 2022-04-23T11:12:30 2021 12 21 -16 2022-04-23T11:12:30 2021 12 22 +1 2023-08-01T10:30 2023 08 01 +1 2023-08-01T12:00 2023 08 01 +2 2023-08-02T08:15 2023 08 02 +2 2023-08-02T14:45 2023 08 02 +3 2023-08-03T09:00 2023 08 03 +3 2023-08-03T11:30 2023 08 03 +4 2023-08-04T07:00 2023 08 04 +4 2023-08-04T10:00 2023 08 04 +5 2023-08-05T13:00 2023 08 05 +5 2023-08-05T15:30 2023 08 05 -- !multi_partition_q3 -- -14 2022-04-23T11:12:30 2022 01 01 -14 2022-04-23T11:12:30 2022 01 02 -98 2022-04-23T11:12:30 2021 12 21 +1 2023-08-01T10:30 2023 08 01 +1 2023-08-01T12:00 2023 08 01 +2 2023-08-02T08:15 2023 08 02 +2 2023-08-02T14:45 2023 08 02 +3 2023-08-03T09:00 2023 08 03 +3 2023-08-03T11:30 2023 08 03 +4 2023-08-04T07:00 2023 08 04 +4 2023-08-04T10:00 2023 08 04 +5 2023-08-05T13:00 2023 08 05 +5 2023-08-05T15:30 2023 08 05 -- !multi_partition_q4 -- -22 +10 -- !multi_partition_q5 -- -2022-04-23T11:12:30 2021 12 21 -2022-04-23T11:12:30 2021 12 21 -2022-04-23T11:12:30 2021 12 21 +2023-08-04T07:00 2023 08 04 +2023-08-04T10:00 2023 08 04 -- !multi_partition_q6 -- -17 2021 12 +5 2023 08 -- !multi_partition_q7 -- -20 +4 -- !multi_partition_q8 -- -11 +6 -- !multi_partition_q9 -- -lweu 8920 true 2023-11-23T12:03:54.952 0.123 2022-04-23 2022-04-23T11:12:30 12 2021 12 22 -wert 8920 true 2023-11-23T12:05:01.693 0.123 2022-04-23 2022-04-23T11:12:30 12 2021 12 22 -- !multi_partition_q10 -- -12 2021 12 21 -12 2021 12 22 -12 2021 12 22 +3 2023 08 03 +3 2023 08 03 +4 2023 08 04 +4 2023 08 04 +5 2023 08 05 +5 2023 08 05 + diff --git a/regression-test/data/external_table_p2/maxcompute/test_max_compute_all_type.out b/regression-test/data/external_table_p2/maxcompute/test_max_compute_all_type.out new file mode 100644 index 00000000000000..bff928fdedb437 --- /dev/null +++ b/regression-test/data/external_table_p2/maxcompute/test_max_compute_all_type.out @@ -0,0 +1,788 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !desc -- +id int Yes true \N +boolean_col boolean Yes true \N +tinyint_col tinyint Yes true \N +smallint_col smallint Yes true \N +int_col int Yes true \N +bigint_col bigint Yes true \N +float_col float Yes true \N +double_col double Yes true \N +decimal_col1 decimal(9,0) Yes true \N +decimal_col2 decimal(8,4) Yes true \N +decimal_col3 decimal(18,6) Yes true \N +decimal_col4 decimal(38,12) Yes true \N +string_col text Yes true \N +date_col date Yes true \N +datetime_col datetime(3) Yes true \N +timestamp_ntz_col2 datetime(6) Yes true \N +timestamp_ntz_col3 datetime(6) Yes true \N +char_col1 char(50) Yes true \N +char_col2 char(100) Yes true \N +char_col3 character(255) Yes true \N +varchar_col1 varchar(50) Yes true \N +varchar_col2 varchar(100) Yes true \N +varchar_col3 varchar(255) Yes true \N +t_map_string map Yes true \N +t_map_varchar map Yes true \N +t_map_char map Yes true \N +t_map_int map Yes true \N +t_map_bigint map Yes true \N +t_map_float map Yes true \N +t_map_double map Yes true \N +t_map_boolean map Yes true \N +t_array_string array Yes true \N +t_array_int array Yes true \N +t_array_bigint array Yes true \N +t_array_float array Yes true \N +t_array_double array Yes true \N +t_array_boolean array Yes true \N +t_array_varchar array Yes true \N +t_array_char array Yes true \N +t_array_decimal_precision_2 array Yes true \N +t_array_decimal_precision_4 array Yes true \N +t_array_decimal_precision_8 array Yes true \N +t_array_decimal_precision_17 array Yes true \N +t_array_decimal_precision_18 array Yes true \N +t_array_decimal_precision_38 array Yes true \N +t_struct_bigint struct Yes true \N +t_complex map>> Yes true \N +t_struct_nested struct> Yes true \N +t_struct_non_nulls_after_nulls struct Yes true \N +t_nested_struct_non_nulls_after_nulls struct> Yes true \N +t_array_string_starting_with_nulls array Yes true \N +t_array_string_with_nulls_in_between array Yes true \N +t_array_string_ending_with_nulls array Yes true \N + +-- !test_1 -- +1 false -7 -15 16 -9223372036854775807 -123.45 -123456.789 123456789 -1234.5678 -123456.789012 -123456789.012345700000 str 2024-03-25 2024-03-25T12:00 2024-03-25T12:00:00.123456 2024-03-25T12:00:00.123456 char_value11111 char_value22222 char_value33333 varchar_value11111 varchar_value22222 varchar_value33333 {"key7":"value1"} {"key7":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [9.4567, 4.5678] [6.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456790, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] +2 true 127 32767 2147483647 9223372036854775807 123.45 123456.789 123456789 1234.5678 123456.789012 123456789.012345700000 string_value 2024-03-20 2024-03-20T12:00 2024-03-20T12:00:00.123456 2024-03-20T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"a":"b"} {1:10} {1:100000000000} {1.1:10.1} {1.1:10.1} {1:0} ["string1", "string2"] [1, 2, 3] [100000000000, 200000000000] [1.1, 2.2] [1.123456789, 2.123456789] [1, 0] ["varchar1", "varchar2"] ["char1", "char2"] [1.1, 2.2] [1.23, 2.34] [1.2345, 2.3456] [1.23456789, 2.34567891] [1.23456789, 2.34567891] [1.2345678901234570, 2.3456789012345680] {"s_bigint":1234567890} {"key":[{"s_int":123}]} {"struct_field":["value1", "value2"]} {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] +3 false -7 -15 16 -9223372036854775807 -123.45 -123456.789 123456789 -1234.5678 -123456.789012 -123456789.012345700000 str 2024-03-25 2024-03-25T12:00 2024-03-25T12:00:00.123456 2024-03-25T12:00:00.123456 char_value11111 char_value22222 char_value33333 varchar_value11111 varchar_value22222 varchar_value33333 {"key7":"value1"} {"key7":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [9.4567, 4.5678] [6.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456790, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] +4 false -128 -32768 -2147483647 -9223372036854775807 -123.45 -123456.789 -123456789 -1234.5678 -123456.789012 -123456789.012345700000 string_value 2024-03-21 2024-03-21T12:00 2024-03-21T12:00:00.123456 2024-03-21T12:00:00.123456 char_value1 char_value2 char_value3 varchar_value1 varchar_value2 varchar_value3 {"key1":"value1"} {"key1":"value1"} {"x":"y"} {2:20} {2:200000000000} {2.2:20.2} {2.2:20.2} {0:1} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [3.4567, 4.5678] [3.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456790, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} [null, "value1", "value2"] ["value1", null, "value2"] ["value1", "value2", null] + +-- !test_2 -- +1 false -7 -15 16 -9223372036854775807 -123.45 -123456.789 123456789 -1234.5678 -123456.789012 -123456789.012345700000 str 2024-03-25 2024-03-25T12:00 2024-03-25T12:00:00.123456 2024-03-25T12:00:00.123456 char_value11111 char_value22222 char_value33333 varchar_value11111 varchar_value22222 varchar_value33333 {"key7":"value1"} {"key7":"value1"} {"x":"y"} {3:20} {3:200000000000} {3.2:20.2} {3.2:20.2} {0:1} ["string1", "string2"] [4, 5, 6] [300000000000, 400000000000] [3.3, 4.4] [3.123456789, 4.123456789] [0, 1] ["varchar1", "varchar2"] ["char1", "char2"] [3.3, 4.4] [3.45, 4.56] [9.4567, 4.5678] [6.45678901, 4.56789012] [3.45678901, 4.56789012] [3.4567890123456790, 4.5678901234567890] {"s_bigint":-1234567890} {"key":[{"s_int":-123}]} {"struct_field":["value1", "value2"]} {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} [null, "value1", "value2"] ["value1", null, "value2"] ["value11", "value2", null] + +-- !test_3 -- +1 false +2 true +3 false +4 false + +-- !test_4 -- +1 false +3 false +4 false + +-- !test_5 -- +1 -7 +2 127 +3 -7 +4 -128 + +-- !test_5 -- +4 -128 + +-- !test_7 -- +1 -15 +2 32767 +3 -15 +4 -32768 + +-- !test_8 -- +2 32767 + +-- !test_9 -- +1 16 +2 2147483647 +3 16 +4 -2147483647 + +-- !test_10 -- +1 16 +3 16 + +-- !test_11 -- +2 2147483647 +4 -2147483647 + +-- !test_12 -- +1 -9223372036854775807 +2 9223372036854775807 +3 -9223372036854775807 +4 -9223372036854775807 + +-- !test_13 -- +2 9223372036854775807 + +-- !test_14 -- +1 -9223372036854775807 +2 9223372036854775807 +3 -9223372036854775807 +4 -9223372036854775807 + +-- !test_15 -- +1 -123.45 +2 123.45 +3 -123.45 +4 -123.45 + +-- !test_16 -- +2 123.45 + +-- !test_17 -- + +-- !test_18 -- +1 -123.45 +3 -123.45 +4 -123.45 + +-- !test_19 -- +1 -123.45 +2 123.45 +3 -123.45 +4 -123.45 + +-- !test_20 -- +1 -123.45 +3 -123.45 +4 -123.45 + +-- !test_21 -- +1 -123.45 +3 -123.45 +4 -123.45 + +-- !test_22 -- +2 123.45 + +-- !test_23 -- +1 -123456.789 +2 123456.789 +3 -123456.789 +4 -123456.789 + +-- !test_24 -- +1 -123456.789 +3 -123456.789 +4 -123456.789 + +-- !test_25 -- +2 123456.789 + +-- !test_26 -- +1 -123456.789 +3 -123456.789 +4 -123456.789 + +-- !test_27 -- +1 -123456.789 +3 -123456.789 +4 -123456.789 + +-- !test_28 -- +1 123456789 +2 123456789 +3 123456789 +4 -123456789 + +-- !test_29 -- + +-- !test_30 -- +1 123456789 +2 123456789 +3 123456789 +4 -123456789 + +-- !test_31 -- +1 -1234.5678 +2 1234.5678 +3 -1234.5678 +4 -1234.5678 + +-- !test_32 -- +1 -1234.5678 +3 -1234.5678 +4 -1234.5678 + +-- !test_33 -- +2 1234.5678 + +-- !test_34 -- +1 -123456.789012 +2 123456.789012 +3 -123456.789012 +4 -123456.789012 + +-- !test_35 -- +1 -123456.789012 +3 -123456.789012 +4 -123456.789012 + +-- !test_36 -- +2 123456.789012 + +-- !test_37 -- +1 -123456789.012345700000 +2 123456789.012345700000 +3 -123456789.012345700000 +4 -123456789.012345700000 + +-- !test_38 -- +1 -123456789.012345700000 +3 -123456789.012345700000 +4 -123456789.012345700000 + +-- !test_39 -- +2 123456789.012345700000 + +-- !test_40 -- +1 -123456789.012345700000 +2 123456789.012345700000 +3 -123456789.012345700000 +4 -123456789.012345700000 + +-- !test_41 -- +2 123456789.012345700000 + +-- !test_42 -- +1 str +2 string_value +3 str +4 string_value + +-- !test_43 -- +1 str +3 str + +-- !test_44 -- +1 str +3 str + +-- !test_45 -- +2 string_value +4 string_value + +-- !test_46 -- +1 str +2 string_value +3 str +4 string_value + +-- !test_47 -- + +-- !test_48 -- +1 2024-03-25 +2 2024-03-20 +3 2024-03-25 +4 2024-03-21 + +-- !test_49 -- +1 2024-03-25 +3 2024-03-25 + +-- !test_50 -- +1 2024-03-25 +3 2024-03-25 + +-- !test_51 -- +1 2024-03-25 +3 2024-03-25 +4 2024-03-21 + +-- !test_52 -- +1 2024-03-25T12:00 +2 2024-03-20T12:00 +3 2024-03-25T12:00 +4 2024-03-21T12:00 + +-- !test_53 -- +2 2024-03-20T12:00 +4 2024-03-21T12:00 + +-- !test_54 -- +1 2024-03-25T12:00 +3 2024-03-25T12:00 + +-- !test_55 -- + +-- !test_56 -- +2 2024-03-20T12:00 +4 2024-03-21T12:00 + +-- !test_57 -- +1 2024-03-25T12:00 +2 2024-03-20T12:00 +3 2024-03-25T12:00 +4 2024-03-21T12:00 + +-- !test_58 -- +1 2024-03-25T12:00:00.123456 +2 2024-03-20T12:00:00.123456 +3 2024-03-25T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_59 -- +2 2024-03-20T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_60 -- +1 2024-03-25T12:00:00.123456 +3 2024-03-25T12:00:00.123456 + +-- !test_61 -- + +-- !test_62 -- +2 2024-03-20T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_63 -- +1 2024-03-25T12:00:00.123456 +2 2024-03-20T12:00:00.123456 +3 2024-03-25T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_64 -- +1 2024-03-25T12:00:00.123456 +2 2024-03-20T12:00:00.123456 +3 2024-03-25T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_65 -- +2 2024-03-20T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_66 -- +2 2024-03-20T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_67 -- +1 2024-03-25T12:00:00.123456 +3 2024-03-25T12:00:00.123456 + +-- !test_68 -- + +-- !test_69 -- +1 2024-03-25T12:00:00.123456 +2 2024-03-20T12:00:00.123456 +3 2024-03-25T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_70 -- +1 2024-03-25T12:00:00.123456 +2 2024-03-20T12:00:00.123456 +3 2024-03-25T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_71 -- +1 2024-03-25T12:00:00.123456 +2 2024-03-20T12:00:00.123456 +3 2024-03-25T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_72 -- + +-- !test_73 -- + +-- !test_74 -- +1 2024-03-25T12:00:00.123456 +2 2024-03-20T12:00:00.123456 +3 2024-03-25T12:00:00.123456 +4 2024-03-21T12:00:00.123456 + +-- !test_75 -- +1 char_value11111 +2 char_value1 +3 char_value11111 +4 char_value1 + +-- !test_76 -- +1 char_value11111 +3 char_value11111 + +-- !test_77 -- +2 char_value1 +4 char_value1 + +-- !test_78 -- +1 char_value11111 +3 char_value11111 + +-- !test_79 -- +2 char_value1 +4 char_value1 + +-- !test_80 -- +1 char_value11111 +3 char_value11111 + +-- !test_81 -- +1 char_value11111 +2 char_value1 +3 char_value11111 +4 char_value1 + +-- !test_82 -- + +-- !test_83 -- +1 char_value22222 +2 char_value2 +3 char_value22222 +4 char_value2 + +-- !test_84 -- +1 char_value22222 +3 char_value22222 + +-- !test_85 -- +2 char_value2 +4 char_value2 + +-- !test_86 -- +1 char_value22222 +3 char_value22222 + +-- !test_87 -- +2 char_value2 +4 char_value2 + +-- !test_88 -- +1 char_value22222 +3 char_value22222 + +-- !test_89 -- +1 char_value22222 +2 char_value2 +3 char_value22222 +4 char_value2 + +-- !test_90 -- + +-- !test_91 -- +1 char_value33333 +2 char_value3 +3 char_value33333 +4 char_value3 + +-- !test_92 -- +1 char_value33333 +3 char_value33333 + +-- !test_93 -- +2 char_value3 +4 char_value3 + +-- !test_94 -- +1 char_value33333 +3 char_value33333 + +-- !test_95 -- +2 char_value3 +4 char_value3 + +-- !test_96 -- +1 char_value33333 +3 char_value33333 + +-- !test_97 -- +1 char_value33333 +2 char_value3 +3 char_value33333 +4 char_value3 + +-- !test_98 -- + +-- !test_99 -- +1 varchar_value11111 +2 varchar_value1 +3 varchar_value11111 +4 varchar_value1 + +-- !test_100 -- +1 varchar_value11111 +3 varchar_value11111 + +-- !test_101 -- +2 varchar_value1 +4 varchar_value1 + +-- !test_102 -- +1 varchar_value11111 +3 varchar_value11111 + +-- !test_103 -- +2 varchar_value1 +4 varchar_value1 + +-- !test_104 -- +1 varchar_value11111 +3 varchar_value11111 + +-- !test_105 -- +1 varchar_value11111 +2 varchar_value1 +3 varchar_value11111 +4 varchar_value1 + +-- !test_106 -- + +-- !test_107 -- +1 varchar_value22222 +2 varchar_value2 +3 varchar_value22222 +4 varchar_value2 + +-- !test_108 -- +1 varchar_value22222 +3 varchar_value22222 + +-- !test_109 -- +2 varchar_value2 +4 varchar_value2 + +-- !test_110 -- +1 varchar_value22222 +3 varchar_value22222 + +-- !test_111 -- +2 varchar_value2 +4 varchar_value2 + +-- !test_112 -- +1 varchar_value22222 +3 varchar_value22222 + +-- !test_113 -- +1 varchar_value22222 +2 varchar_value2 +3 varchar_value22222 +4 varchar_value2 + +-- !test_114 -- + +-- !test_115 -- +1 varchar_value33333 +2 varchar_value3 +3 varchar_value33333 +4 varchar_value3 + +-- !test_116 -- +1 varchar_value33333 +3 varchar_value33333 + +-- !test_117 -- +2 varchar_value3 +4 varchar_value3 + +-- !test_118 -- +1 varchar_value33333 +3 varchar_value33333 + +-- !test_119 -- +2 varchar_value3 +4 varchar_value3 + +-- !test_120 -- +1 varchar_value33333 +3 varchar_value33333 + +-- !test_121 -- +1 varchar_value33333 +2 varchar_value3 +3 varchar_value33333 +4 varchar_value3 + +-- !test_122 -- + +-- !test_123 -- +1 {"key7":"value1"} +2 {"key1":"value1"} +3 {"key7":"value1"} +4 {"key1":"value1"} + +-- !test_124 -- +1 {"key7":"value1"} +2 {"key1":"value1"} +3 {"key7":"value1"} +4 {"key1":"value1"} + +-- !test_125 -- +1 {"x":"y"} +2 {"a":"b"} +3 {"x":"y"} +4 {"x":"y"} + +-- !test_126 -- +1 {3:20} +2 {1:10} +3 {3:20} +4 {2:20} + +-- !test_127 -- +1 {3:200000000000} +2 {1:100000000000} +3 {3:200000000000} +4 {2:200000000000} + +-- !test_128 -- +1 {3.2:20.2} +2 {1.1:10.1} +3 {3.2:20.2} +4 {2.2:20.2} + +-- !test_129 -- +1 {3.2:20.2} +2 {1.1:10.1} +3 {3.2:20.2} +4 {2.2:20.2} + +-- !test_130 -- +1 {0:1} +2 {1:0} +3 {0:1} +4 {0:1} + +-- !test_131 -- +1 ["string1", "string2"] +2 ["string1", "string2"] +3 ["string1", "string2"] +4 ["string1", "string2"] + +-- !test_132 -- +1 [4, 5, 6] +2 [1, 2, 3] +3 [4, 5, 6] +4 [4, 5, 6] + +-- !test_133 -- +1 [300000000000, 400000000000] +2 [100000000000, 200000000000] +3 [300000000000, 400000000000] +4 [300000000000, 400000000000] + +-- !test_134 -- +1 [3.3, 4.4] +2 [1.1, 2.2] +3 [3.3, 4.4] +4 [3.3, 4.4] + +-- !test_135 -- +1 [3.123456789, 4.123456789] +2 [1.123456789, 2.123456789] +3 [3.123456789, 4.123456789] +4 [3.123456789, 4.123456789] + +-- !test_136 -- +1 [0, 1] +2 [1, 0] +3 [0, 1] +4 [0, 1] + +-- !test_137 -- +1 ["varchar1", "varchar2"] +2 ["varchar1", "varchar2"] +3 ["varchar1", "varchar2"] +4 ["varchar1", "varchar2"] + +-- !test_138 -- +1 ["char1", "char2"] +2 ["char1", "char2"] +3 ["char1", "char2"] +4 ["char1", "char2"] + +-- !test_139 -- +1 [3.3, 4.4] +2 [1.1, 2.2] +3 [3.3, 4.4] +4 [3.3, 4.4] + +-- !test_140 -- +1 [3.45, 4.56] +2 [1.23, 2.34] +3 [3.45, 4.56] +4 [3.45, 4.56] + +-- !test_141 -- +1 [9.4567, 4.5678] +2 [1.2345, 2.3456] +3 [9.4567, 4.5678] +4 [3.4567, 4.5678] + +-- !test_142 -- +1 [6.45678901, 4.56789012] +2 [1.23456789, 2.34567891] +3 [6.45678901, 4.56789012] +4 [3.45678901, 4.56789012] + +-- !test_143 -- +1 [3.45678901, 4.56789012] +2 [1.23456789, 2.34567891] +3 [3.45678901, 4.56789012] +4 [3.45678901, 4.56789012] + +-- !test_144 -- +1 [3.45, 4.56] +2 [1.23, 2.34] +3 [3.45, 4.56] +4 [3.45, 4.56] + +-- !test_145 -- +1 [3.4567890123456790, 4.5678901234567890] +2 [1.2345678901234570, 2.3456789012345680] +3 [3.4567890123456790, 4.5678901234567890] +4 [3.4567890123456790, 4.5678901234567890] + +-- !test_146 -- +1 {"s_bigint":-1234567890} +2 {"s_bigint":1234567890} +3 {"s_bigint":-1234567890} +4 {"s_bigint":-1234567890} + +-- !test_147 -- +1 {"key":[{"s_int":-123}]} +2 {"key":[{"s_int":123}]} +3 {"key":[{"s_int":-123}]} +4 {"key":[{"s_int":-123}]} + +-- !test_148 -- +1 {"struct_field":["value1", "value2"]} +2 {"struct_field":["value1", "value2"]} +3 {"struct_field":["value1", "value2"]} +4 {"struct_field":["value1", "value2"]} + +-- !test_149 -- +1 {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} +2 {"struct_non_nulls_after_nulls1":123, "struct_non_nulls_after_nulls2":"value"} +3 {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} +4 {"struct_non_nulls_after_nulls1":-123, "struct_non_nulls_after_nulls2":"value"} + +-- !test_150 -- +1 {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} +2 {"struct_field1":123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":123, "nested_struct_field2":"nested_value"}} +3 {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} +4 {"struct_field1":-123, "struct_field2":"value", "strict_field3":{"nested_struct_field1":-123, "nested_struct_field2":"nested_value"}} + +-- !test_151 -- +1 [null, "value1", "value2"] +2 [null, "value1", "value2"] +3 [null, "value1", "value2"] +4 [null, "value1", "value2"] + +-- !test_152 -- +1 ["value1", null, "value2"] +2 ["value1", null, "value2"] +3 ["value1", null, "value2"] +4 ["value1", null, "value2"] + +-- !test_153 -- +1 ["value11", "value2", null] +2 ["value1", "value2", null] +3 ["value11", "value2", null] +4 ["value1", "value2", null] + +-- !test_154 -- +1 {"x":"y"} +2 {"a":"b"} +3 {"x":"y"} +4 {"x":"y"} + diff --git a/regression-test/data/external_table_p0/mc/test_max_compute_complex_type.out b/regression-test/data/external_table_p2/maxcompute/test_max_compute_complex_type.out similarity index 79% rename from regression-test/data/external_table_p0/mc/test_max_compute_complex_type.out rename to regression-test/data/external_table_p2/maxcompute/test_max_compute_complex_type.out index 86df55f16c56e0..226c4d8f3043f4 100644 --- a/regression-test/data/external_table_p0/mc/test_max_compute_complex_type.out +++ b/regression-test/data/external_table_p2/maxcompute/test_max_compute_complex_type.out @@ -1,8 +1,9 @@ -- This file is automatically generated. You should know what you did if you want to edit this -- !mc_q1 -- -3 [1.3] [1, 2, 3] ["2023-05-23 05:55:12.000"] ["a", "b", "c"] -2 [1.2, 1.3] [1, 2, 3] ["2023-05-23 05:55:12.000"] ["a", "b", "c"] -1 [1.2, 1.3] [1, 2, 3] ["2023-05-23 05:55:12.000"] ["a", "b", "c"] +3 [1.3] [1, 2, 3] ["2023-05-23 13:55:12.000"] ["a", "b", "c"] +2 [1.2, 1.3] [1, 2, 3] ["2023-05-23 13:55:12.000"] ["a", "b", "c"] +1 [1.2, 1.3] [1, 2, 3] ["2023-05-23 13:55:12.000"] ["a", "b", "c"] +1 [1.2, 1.3] [1, 2, 3] ["2023-05-23 13:55:12.000"] ["a", "b", "c"] -- !mc_q2 -- {1:"example1", 2:"example2"} {1:2.5, 2:3.75} @@ -14,4 +15,5 @@ -- !mc_q4 -- user1 [{"activity_date":"2024-08-01", "activities":{"cooking":{"details":"Made vegan meal", "metrics":{"time_spent":1.5, "calories":500}}, "movie":{"details":"Watched action movie", "metrics":{"time_spent":1.5, "calories":500}}}}, {"activity_date":"2024-08-02", "activities":{"cooking":{"details":"Made vegan meal", "metrics":{"time_spent":1.5, "calories":500}}, "movie":{"details":"Watched action movie", "metrics":{"time_spent":1.5, "calories":500}}}}] -user2 [{"activity_date":"2024-08-01", "activities":{"cooking":{"details":"Made vegan meal", "metrics":{"time_spent":1.5, "calories":500}}, "movie":{"details":"Watched action movie", "metrics":{"time_spent":1.5, "calories":500}}}}, {"activity_date":"2024-08-02", "activities":{"cooking":{"details":"Made vegan meal", "metrics":{"time_spent":1.5, "calories":500}}, "movie":{"details":"Watched action movie", "metrics":{"time_spent":1.5, "calories":500}}}}] +user1 [{"activity_date":"2024-08-01", "activities":{"cooking":{"details":"Made vegan meal", "metrics":{"time_spent":1.5, "calories":500}}, "movie":{"details":"Watched action movie", "metrics":{"time_spent":1.5, "calories":500}}}}, {"activity_date":"2024-08-02", "activities":{"cooking":{"details":"Made vegan meal", "metrics":{"time_spent":1.5, "calories":500}}, "movie":{"details":"Watched action movie", "metrics":{"time_spent":1.5, "calories":500}}}}] + diff --git a/regression-test/suites/external_table_p2/maxcompute/test_external_catalog_maxcompute.groovy b/regression-test/suites/external_table_p2/maxcompute/test_external_catalog_maxcompute.groovy index c016f8b91f2e97..7bcd4b5ad4198a 100644 --- a/regression-test/suites/external_table_p2/maxcompute/test_external_catalog_maxcompute.groovy +++ b/regression-test/suites/external_table_p2/maxcompute/test_external_catalog_maxcompute.groovy @@ -14,7 +14,272 @@ // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. +/* + + // Test DDL and Data: + + drop table `multi_partitions`; + CREATE TABLE `multi_partitions` ( + `city` string, + `gender` boolean, + `mnt` smallint, + `order_rate` float, + `amount` decimal(24,9), + `cut_date` date, + `create_time` datetime, + `finished_time` timestamp_ntz + ) PARTITIONED BY ( + `yy` string, + `mm` string, + `dd` string, + `pt` bigint + ); + INSERT INTO `multi_partitions` PARTITION (yy='2023', mm='08', dd='01', pt=1) VALUES + ('New York', TRUE, CAST(12 AS SMALLINT), CAST(0.75 AS FLOAT), CAST(1234.567890123 AS DECIMAL(24,9)), + CAST('2023-08-01' AS DATE), CAST('2023-08-01 10:30:00' AS DATETIME), CAST('2023-08-01 11:00:00' AS timestamp_ntz)); + INSERT INTO `multi_partitions` PARTITION (yy='2023', mm='08', dd='01', pt=1) VALUES + ('Los Angeles', FALSE, CAST(10 AS SMALLINT), CAST(1.15 AS FLOAT), CAST(9876.543210987 AS DECIMAL(24,9)), + CAST('2023-08-01' AS DATE), CAST('2023-08-01 12:00:00' AS DATETIME), CAST('2023-08-01 12:30:00' AS timestamp_ntz)); + INSERT INTO `multi_partitions` PARTITION (yy='2023', mm='08', dd='02', pt=2) VALUES + ('Chicago', TRUE, CAST(8 AS SMALLINT), CAST(0.90 AS FLOAT), CAST(5555.123456789 AS DECIMAL(24,9)), + CAST('2023-08-02' AS DATE), CAST('2023-08-02 08:15:00' AS DATETIME), CAST('2023-08-02 08:45:00' AS timestamp_ntz)); + INSERT INTO `multi_partitions` PARTITION (yy='2023', mm='08', dd='02', pt=2) VALUES + ('Houston', FALSE, CAST(15 AS SMALLINT), CAST(1.25 AS FLOAT), CAST(2222.987654321 AS DECIMAL(24,9)), + CAST('2023-08-02' AS DATE), CAST('2023-08-02 14:45:00' AS DATETIME), CAST('2023-08-02 15:15:00' AS timestamp_ntz)); + INSERT INTO `multi_partitions` PARTITION (yy='2023', mm='08', dd='03', pt=3) VALUES + ('Phoenix', TRUE, CAST(5 AS SMALLINT), CAST(0.50 AS FLOAT), CAST(7777.333333333 AS DECIMAL(24,9)), + CAST('2023-08-03' AS DATE), CAST('2023-08-03 09:00:00' AS DATETIME), CAST('2023-08-03 09:30:00' AS timestamp_ntz)); + INSERT INTO `multi_partitions` PARTITION (yy='2023', mm='08', dd='03', pt=3) VALUES + ('Philadelphia', FALSE, CAST(7 AS SMALLINT), CAST(0.85 AS FLOAT), CAST(8888.222222222 AS DECIMAL(24,9)), + CAST('2023-08-03' AS DATE), CAST('2023-08-03 11:30:00' AS DATETIME), CAST('2023-08-03 12:00:00' AS timestamp_ntz)); + INSERT INTO `multi_partitions` PARTITION (yy='2023', mm='08', dd='04', pt=4) VALUES + ('San Antonio', TRUE, CAST(9 AS SMALLINT), CAST(1.05 AS FLOAT), CAST(3333.666666666 AS DECIMAL(24,9)), + CAST('2023-08-04' AS DATE), CAST('2023-08-04 07:00:00' AS DATETIME), CAST('2023-08-04 07:30:00' AS timestamp_ntz)); + INSERT INTO `multi_partitions` PARTITION (yy='2023', mm='08', dd='04', pt=4) VALUES + ('San Diego', FALSE, CAST(11 AS SMALLINT), CAST(1.10 AS FLOAT), CAST(4444.555555555 AS DECIMAL(24,9)), + CAST('2023-08-04' AS DATE), CAST('2023-08-04 10:00:00' AS DATETIME), CAST('2023-08-04 10:30:00' AS timestamp_ntz)); + INSERT INTO `multi_partitions` PARTITION (yy='2023', mm='08', dd='05', pt=5) VALUES + ('Dallas', TRUE, CAST(6 AS SMALLINT), CAST(0.65 AS FLOAT), CAST(6666.444444444 AS DECIMAL(24,9)), + CAST('2023-08-05' AS DATE), CAST('2023-08-05 13:00:00' AS DATETIME), CAST('2023-08-05 13:30:00' AS timestamp_ntz)); + INSERT INTO `multi_partitions` PARTITION (yy='2023', mm='08', dd='05', pt=5) VALUES + ('San Jose', FALSE, CAST(14 AS SMALLINT), CAST(1.20 AS FLOAT), CAST(9999.111111111 AS DECIMAL(24,9)), + CAST('2023-08-05' AS DATE), CAST('2023-08-05 15:30:00' AS DATETIME), CAST('2023-08-05 16:00:00' AS timestamp_ntz)); + drop table mc_parts; + CREATE TABLE `mc_parts` ( + `mc_bigint` bigint, + `mc_string` string + )PARTITIONED BY ( + `dt` string + ); + INSERT INTO `mc_parts` PARTITION (dt='2023-08-01') VALUES + (1001, 'Sample data 1'); + INSERT INTO `mc_parts` PARTITION (dt='2023-08-02') VALUES + (1002, 'Sample data 2'); + INSERT INTO `mc_parts` PARTITION (dt='2023-08-03') VALUES + (1003, 'Sample data 3'); + INSERT INTO `mc_parts` PARTITION (dt='2023-08-04') VALUES + (1004, 'Sample data 4'); + INSERT INTO `mc_parts` PARTITION (dt='2023-08-05') VALUES + (1005, 'Sample data 5'); + CREATE TABLE int_types ( + mc_boolean BOOLEAN, + mc_tinyint TINYINT, + mc_int SMALLINT, + mc_bigint BIGINT + ); + INSERT INTO int_types VALUES (TRUE, CAST(-128 AS TINYINT), CAST(-32768 AS SMALLINT), CAST(-9223372036854775807 AS BIGINT)); + INSERT INTO int_types VALUES (FALSE, CAST(127 AS TINYINT), CAST(32767 AS SMALLINT), CAST(9223372036854775807 AS BIGINT)); + INSERT INTO int_types VALUES (TRUE, CAST(0 AS TINYINT), CAST(0 AS SMALLINT), CAST(0 AS BIGINT)); + INSERT INTO int_types VALUES (FALSE, CAST(0 AS TINYINT), CAST(0 AS SMALLINT), CAST(0 AS BIGINT)); + INSERT INTO int_types VALUES (TRUE, CAST(1 AS TINYINT), CAST(1 AS SMALLINT), CAST(1 AS BIGINT)); + INSERT INTO int_types VALUES (FALSE, CAST(-1 AS TINYINT), CAST(-1 AS SMALLINT), CAST(-1 AS BIGINT)); + INSERT INTO int_types VALUES + (TRUE, CAST(1 AS TINYINT), CAST(100 AS SMALLINT), CAST(1000 AS BIGINT)), + (FALSE, CAST(2 AS TINYINT), CAST(200 AS SMALLINT), CAST(2000 AS BIGINT)), + (TRUE, CAST(3 AS TINYINT), CAST(300 AS SMALLINT), CAST(3000 AS BIGINT)), + (FALSE, CAST(4 AS TINYINT), CAST(400 AS SMALLINT), CAST(4000 AS BIGINT)), + (TRUE, CAST(5 AS TINYINT), CAST(500 AS SMALLINT), CAST(5000 AS BIGINT)), + (FALSE, CAST(6 AS TINYINT), CAST(600 AS SMALLINT), CAST(6000 AS BIGINT)), + (TRUE, CAST(7 AS TINYINT), CAST(700 AS SMALLINT), CAST(7000 AS BIGINT)), + (FALSE, CAST(8 AS TINYINT), CAST(800 AS SMALLINT), CAST(8000 AS BIGINT)), + (TRUE, CAST(9 AS TINYINT), CAST(900 AS SMALLINT), CAST(9000 AS BIGINT)), + (FALSE, CAST(10 AS TINYINT), CAST(1000 AS SMALLINT), CAST(10000 AS BIGINT)); + CREATE TABLE web_site ( + web_site_sk BIGINT, + web_site_id STRING, + web_rec_start_date DATE, + web_rec_end_date DATE, + web_name STRING, + web_open_date_sk BIGINT, + web_close_date_sk BIGINT, + web_class STRING, + web_manager STRING, + web_mkt_id INT, + web_mkt_class STRING, + web_mkt_desc STRING, + web_market_manager STRING, + web_company_id INT, + web_company_name STRING, + web_street_number STRING, + web_street_name STRING, + web_street_type STRING, + web_suite_number STRING, + web_city STRING, + web_county STRING, + web_state STRING, + web_zip STRING, + web_country STRING, + web_gmt_offset DOUBLE, + web_tax_percentage DECIMAL(5,2) + ); + INSERT INTO web_site VALUES + ( + CAST(1 AS BIGINT), + 'WS0001', + CAST('2023-01-01' AS DATE), + CAST('2023-12-31' AS DATE), + 'Example Web Site 1', + CAST(20230101 AS BIGINT), + CAST(20231231 AS BIGINT), + 'E-commerce', + 'John Doe', + CAST(101 AS INT), + 'Retail', + 'Online retail website', + 'Jane Smith', + CAST(201 AS INT), + 'Example Company', + '1234', + 'Main Street', + 'Apt', + 'Unit 101', + 'Metropolis', + 'County', + 'NY', + '12345', + 'USA', + CAST(-5.0 AS DOUBLE), + CAST(8.25 AS DECIMAL(5,2)) + ); + INSERT INTO web_site VALUES + ( + CAST(2 AS BIGINT), + 'WS0002', + CAST('2023-02-01' AS DATE), + CAST('2023-11-30' AS DATE), + 'Example Web Site 2', + CAST(20230201 AS BIGINT), + CAST(20231130 AS BIGINT), + 'Technology', + 'Alice Johnson', + CAST(102 AS INT), + 'Tech', + 'Tech news and reviews', + 'Bob Brown', + CAST(202 AS INT), + 'Tech Innovations', + '5678', + 'Tech Avenue', + 'Suite', + 'Suite 200', + 'Gotham', + 'County', + 'CA', + '67890', + 'USA', + CAST(-8.0 AS DOUBLE), + CAST(7.50 AS DECIMAL(5,2)) + ); + INSERT INTO web_site VALUES + ( + CAST(3 AS BIGINT), + 'WS0003', + CAST('2023-03-01' AS DATE), + CAST('2023-10-31' AS DATE), + 'Example Web Site 3', + CAST(20230301 AS BIGINT), + CAST(20231031 AS BIGINT), + 'Healthcare', + 'Robert White', + CAST(103 AS INT), + 'Health', + 'Healthcare services and products', + 'Emily Green', + CAST(203 AS INT), + 'Health Corp', + '9101', + 'Health Drive', + 'Floor', + 'Floor 3', + 'Star City', + 'County', + 'TX', + '23456', + 'USA', + CAST(-6.0 AS DOUBLE), + CAST(6.75 AS DECIMAL(5,2)) + ); + INSERT INTO web_site VALUES + ( + CAST(4 AS BIGINT), + 'WS0004', + CAST('2023-04-01' AS DATE), + CAST('2023-09-30' AS DATE), + 'Example Web Site 4', + CAST(20230401 AS BIGINT), + CAST(20230930 AS BIGINT), + 'Education', + 'David Black', + CAST(104 AS INT), + 'EdTech', + 'Educational technology platform', + 'Fiona Grey', + CAST(204 AS INT), + 'Edu Tech', + '1122', + 'Education Lane', + 'Building', + 'Building 1', + 'Smallville', + 'County', + 'FL', + '34567', + 'USA', + CAST(-4.0 AS DOUBLE), + CAST(5.00 AS DECIMAL(5,2)) + ); + INSERT INTO web_site VALUES + ( + CAST(5 AS BIGINT), + 'WS0005', + CAST('2023-05-01' AS DATE), + CAST('2023-08-31' AS DATE), + 'Example Web Site 5', + CAST(20230501 AS BIGINT), + CAST(20230831 AS BIGINT), + 'Travel', + 'Sophia Blue', + CAST(105 AS INT), + 'Travel', + 'Travel and booking services', + 'Daniel Red', + CAST(205 AS INT), + 'Travel Inc', + '3344', + 'Tourist Street', + 'Unit', + 'Unit 5', + 'Metropolis', + 'County', + 'WA', + '45678', + 'USA', + CAST(-7.0 AS DOUBLE), + CAST(8.00 AS DECIMAL(5,2)) + ); + + */ suite("test_external_catalog_maxcompute", "p2,external,maxcompute,external_remote,external_remote_maxcompute") { String enabled = context.config.otherConfigs.get("enableMaxComputeTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { @@ -27,29 +292,30 @@ suite("test_external_catalog_maxcompute", "p2,external,maxcompute,external_remot sql """ create catalog if not exists ${mc_catalog_name} properties ( "type" = "max_compute", - "mc.region" = "cn-beijing", "mc.default.project" = "${mc_db}", "mc.access_key" = "${ak}", "mc.secret_key" = "${sk}", - "mc.public_access" = "true" + "mc.endpoint" = "http://service.cn-beijing-vpc.maxcompute.aliyun-inc.com/api" ); """ - + // query data test def q01 = { - qt_q1 """ select count(*) from store_sales """ + order_qt_q1 """ select count(*) from web_site """ } // data type test def q02 = { - qt_q2 """ select * from web_site where web_site_id=2 order by web_site_id """ // test char,date,varchar,double,decimal - qt_q3 """ select * from int_types order by mc_boolean limit 2 """ // test bool,tinyint,int,bigint + order_qt_q2 """ select * from web_site where web_site_id>='WS0003' order by web_site_id; """ // test char,date,varchar,double,decimal + order_qt_q3 """ select * from int_types """ // test bool,tinyint,int,bigint + order_qt_q3_1 """ select * from int_types order by mc_boolean """ + order_qt_q3_2 """ select * from int_types order by mc_int""" } // test partition table filter def q03 = { - qt_q4 """ select * from mc_parts where dt = '2020-09-21' """ - qt_q5 """ select * from mc_parts where dt = '2021-08-21' """ - qt_q6 """ select * from mc_parts where dt = '2020-09-21' and mc_bigint > 6223 """ - qt_q7 """ select * from mc_parts where dt = '2020-09-21' or (mc_bigint > 0 and dt > '2020-09-20') order by mc_bigint, dt limit 3; """ + order_qt_q4 """ select * from mc_parts where dt = '2023-08-03' order by mc_bigint """ + order_qt_q5 """ select * from mc_parts where dt > '2023-08-03' order by mc_bigint """ + order_qt_q6 """ select * from mc_parts where dt > '2023-08-03' and mc_bigint > 1002 """ + order_qt_q7 """ select * from mc_parts where dt < '2023-08-03' or (mc_bigint > 1003 and dt > '2023-08-04') order by mc_bigint, dt; """ } sql """ switch `${mc_catalog_name}`; """ @@ -63,30 +329,29 @@ suite("test_external_catalog_maxcompute", "p2,external,maxcompute,external_remot sql """ create catalog if not exists ${mc_catalog_name} properties ( "type" = "max_compute", - "mc.region" = "cn-beijing", "mc.default.project" = "${mc_db}", "mc.access_key" = "${ak}", "mc.secret_key" = "${sk}", - "mc.public_access" = "true" + "mc.endpoint" = "http://service.cn-beijing-vpc.maxcompute.aliyun-inc.com/api" ); """ sql """ switch `${mc_catalog_name}`; """ sql """ use `${mc_db}`; """ - qt_replay_q6 """ select * from mc_parts where dt = '2020-09-21' and mc_bigint > 6223 """ - + order_qt_replay_q6 """ select * from mc_parts where dt >= '2023-08-03' and mc_bigint > 1001 order by mc_bigint """ + // test multi partitions prune sql """ refresh catalog ${mc_catalog_name} """ sql """ switch `${mc_catalog_name}`; """ sql """ use `${mc_db}`; """ - qt_multi_partition_q1 """ show partitions from multi_partitions limit 5,3; """ - qt_multi_partition_q2 """ select pt, create_time, yy, mm, dd from multi_partitions where pt>-1 and yy > '' and mm > '' and dd >'' order by pt desc, dd desc limit 3; """ - qt_multi_partition_q3 """ select sum(pt), create_time, yy, mm, dd from multi_partitions where yy > '' and mm > '' and dd >'' group by create_time, yy, mm, dd order by dd limit 3; """ - qt_multi_partition_q4 """ select count(*) from multi_partitions where pt>-1 and yy > '' and mm > '' and dd <= '30'; """ - qt_multi_partition_q5 """ select create_time, yy, mm, dd from multi_partitions where yy = '2021' and mm='12' and dd='21' order by pt limit 3; """ - qt_multi_partition_q6 """ select max(pt), yy, mm from multi_partitions where yy = '2021' and mm='12' group by yy, mm order by yy, mm; """ - qt_multi_partition_q7 """ select count(*) from multi_partitions where yy < '2022'; """ - qt_multi_partition_q8 """ select count(*) from multi_partitions where pt>=14; """ - qt_multi_partition_q9 """ select city,mnt,gender,finished_time,order_rate,cut_date,create_time,pt, yy, mm, dd from multi_partitions where pt >= 12 and pt < 14 and finished_time is not null; """ - qt_multi_partition_q10 """ select pt, yy, mm, dd from multi_partitions where pt >= 12 and create_time > '2022-04-23 11:11:00' order by pt, yy, mm, dd limit 3; """ + order_qt_multi_partition_q1 """ show partitions from multi_partitions; """ + order_qt_multi_partition_q2 """ select pt, create_time, yy, mm, dd from multi_partitions where pt>-1 and yy > '' and mm > '' and dd >'' order by pt , dd; """ + order_qt_multi_partition_q3 """ select sum(pt), create_time, yy, mm, dd from multi_partitions where yy > '' and mm > '' and dd >'' group by create_time, yy, mm, dd order by create_time,dd ; """ + order_qt_multi_partition_q4 """ select count(*) from multi_partitions where pt>-1 and yy > '' and mm > '' and dd <= '30'; """ + order_qt_multi_partition_q5 """ select create_time, yy, mm, dd from multi_partitions where yy = '2023' and mm='08' and dd='04' order by pt ; """ + order_qt_multi_partition_q6 """ select max(pt), yy, mm from multi_partitions where yy = '2023' and mm='08' group by yy, mm order by yy, mm; """ + order_qt_multi_partition_q7 """ select count(*) from multi_partitions where yy < '2023' or dd < '03'; """ + order_qt_multi_partition_q8 """ select count(*) from multi_partitions where pt>=3; """ + order_qt_multi_partition_q9 """ select city,mnt,gender,finished_time,order_rate,cut_date,create_time,pt, yy, mm, dd from multi_partitions where pt >= 2 and pt < 4 and finished_time is not null; """ + order_qt_multi_partition_q10 """ select pt, yy, mm, dd from multi_partitions where pt >= 2 and create_time > '2023-08-03 03:11:00' order by pt, yy, mm, dd; """ } } diff --git a/regression-test/suites/external_table_p2/maxcompute/test_max_compute_all_type.groovy b/regression-test/suites/external_table_p2/maxcompute/test_max_compute_all_type.groovy new file mode 100644 index 00000000000000..42aef6a2928a73 --- /dev/null +++ b/regression-test/suites/external_table_p2/maxcompute/test_max_compute_all_type.groovy @@ -0,0 +1,547 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +/* + +drop table mc_all_types; + +CREATE TABLE `mc_all_types`( + `id` int, + `boolean_col` boolean, + `tinyint_col` tinyint, + `smallint_col` smallint, + `int_col` int, + `bigint_col` bigint, + `float_col` float, + `double_col` double, + `decimal_col1` decimal(9,0), + `decimal_col2` decimal(8,4), + `decimal_col3` decimal(18,6), + `decimal_col4` decimal(38,12), + `string_col` string, + `date_col` date, + `datetime_col` datetime, + `timestamp_ntz_col2` timestamp_ntz, + `timestamp_ntz_col3` timestamp_ntz, + `char_col1` char(50), + `char_col2` char(100), + `char_col3` char(255), + `varchar_col1` varchar(50), + `varchar_col2` varchar(100), + `varchar_col3` varchar(255), + `t_map_string` map, + `t_map_varchar` map, + `t_map_char` map, + `t_map_int` map, + `t_map_bigint` map, + `t_map_float` map, + `t_map_double` map, + `t_map_boolean` map, + `t_array_string` array, + `t_array_int` array, + `t_array_bigint` array, + `t_array_float` array, + `t_array_double` array, + `t_array_boolean` array, + `t_array_varchar` array, + `t_array_char` array, + `t_array_decimal_precision_2` array, + `t_array_decimal_precision_4` array, + `t_array_decimal_precision_8` array, + `t_array_decimal_precision_17` array, + `t_array_decimal_precision_18` array, + `t_array_decimal_precision_38` array, + `t_struct_bigint` struct, + `t_complex` map>>, + `t_struct_nested` struct>, + `t_struct_non_nulls_after_nulls` struct, + `t_nested_struct_non_nulls_after_nulls` struct>, + `t_array_string_starting_with_nulls` array, + `t_array_string_with_nulls_in_between` array, + `t_array_string_ending_with_nulls` array +); + + + +insert into mc_all_types +VALUES ( + 1, + cast(0 as boolean), -- boolean_col + cast(-7 as tinyint), -- tinyint_col + cast(-15 as smallint), -- smallint_col + 16, -- int_col + cast(-9223372036854775807 as bigint), -- bigint_col + CAST(-123.45 AS FLOAT), -- float_col + CAST(-123456.789 AS DOUBLE), -- double_col + CAST(123456789 AS DECIMAL(9,0)), -- decimal_col1 + CAST(-1234.5678 AS DECIMAL(8,4)), -- decimal_col2 + CAST(-123456.789012 AS DECIMAL(18,6)), -- decimal_col3 + CAST(-123456789.012345678901 AS DECIMAL(38,12)), -- decimal_col4 + 'str', -- string_col + cast('2024-03-25' as date), -- date_col + cast('2024-03-25 12:00:00' as datetime), + cast('2024-03-25 12:00:00.123456' as timestamp_ntz), -- timestamp_ntz_col2 + cast('2024-03-25 12:00:00.123456789' as timestamp_ntz), -- timestamp_ntz_col3 + 'char_value11111', -- char_col1 + 'char_value22222', -- char_col2 + 'char_value33333', -- char_col3 + 'varchar_value11111', -- varchar_col1 + 'varchar_value22222', -- varchar_col2 + 'varchar_value33333', -- varchar_col3 + MAP('key7', 'value1'), -- t_map_string + MAP('key7', 'value1'), -- t_map_varchar + MAP('x', 'y'), -- t_map_char + MAP(3, 20), -- t_map_int + MAP(3, 200000000000), -- t_map_bigint + MAP(CAST(3.2 AS FLOAT), CAST(20.2 AS FLOAT)), -- t_map_float + MAP(CAST(3.2 AS DOUBLE), CAST(20.2 AS DOUBLE)), -- t_map_double + MAP(false, true), -- t_map_boolean + ARRAY('string1', 'string2'), -- t_array_string + ARRAY(4, 5, 6), -- t_array_int + ARRAY(300000000000, 400000000000), -- t_array_bigint + ARRAY(CAST(3.3 AS FLOAT), CAST(4.4 AS FLOAT)), -- t_array_float + ARRAY(CAST(3.123456789 AS DOUBLE), CAST(4.123456789 AS DOUBLE)), -- t_array_double + ARRAY(false, true), -- t_array_boolean + ARRAY('varchar1', 'varchar2'), -- t_array_varchar + ARRAY('char1', 'char2'), -- t_array_char + ARRAY(CAST(3.3 AS DECIMAL(2,1)), CAST(4.4 AS DECIMAL(2,1))), -- t_array_decimal_precision_2 + ARRAY(CAST(3.45 AS DECIMAL(4,2)), CAST(4.56 AS DECIMAL(4,2))), -- t_array_decimal_precision_4 + ARRAY(CAST(9.4567 AS DECIMAL(8,4)), CAST(4.5678 AS DECIMAL(8,4))), -- t_array_decimal_precision_8 + ARRAY(CAST(6.45678901 AS DECIMAL(17,8)), CAST(4.56789012 AS DECIMAL(17,8))), -- t_array_decimal_precision_17 + ARRAY(CAST(3.45678901 AS DECIMAL(18,8)), CAST(4.56789012 AS DECIMAL(18,8))), -- t_array_decimal_precision_18 + ARRAY(CAST(3.456789012345678901 AS DECIMAL(38,16)), CAST(4.567890123456789012 AS DECIMAL(38,16))), -- t_array_decimal_precision_38 + NAMED_STRUCT('s_bigint', -1234567890), -- t_struct_bigint + MAP('key', ARRAY(NAMED_STRUCT('s_int', -123))), -- t_complex + NAMED_STRUCT('struct_field', ARRAY('value1', 'value2')), -- t_struct_nested + NAMED_STRUCT('struct_non_nulls_after_nulls1', -123, 'struct_non_nulls_after_nulls2', 'value'), -- t_struct_non_nulls_after_nulls + NAMED_STRUCT('struct_field1', -123, 'struct_field2', 'value', 'strict_field3', NAMED_STRUCT('nested_struct_field1', -123, 'nested_struct_field2', 'nested_value')), -- t_nested_struct_non_nulls_after_nulls + ARRAY(null, 'value1', 'value2'), -- t_array_string_starting_with_nulls + ARRAY('value1', null, 'value2'), -- t_array_string_with_nulls_in_between + ARRAY('value11', 'value2', null) -- t_array_string_ending_with_nulls +); + + + +INSERT into mc_all_types +VALUES ( + 2, + CAST (1 as boolean), -- boolean_col + CAST (127 as tinyint), -- tinyint_col + cast(32767 as smallint), -- smallint_col + 2147483647, -- int_col + cast(9223372036854775807 as bigint), -- bigint_col + cast(123.45 as float), -- float_col + 123456.789, -- double_col + CAST(123456789 AS DECIMAL(9,0)), -- decimal_col1 + CAST(1234.5678 AS DECIMAL(8,4)), -- decimal_col2 + CAST(123456.789012 AS DECIMAL(18,6)), -- decimal_col3 + CAST(123456789.012345678901 AS DECIMAL(38,12)), -- decimal_col4 + 'string_value', -- string_col + cast('2024-03-20' as date), -- date_col + cast('2024-03-20 12:00:00' as datetime ), + cast('2024-03-20 12:00:00.123456' as TIMESTAMP_ntz ), -- timestamp_ntz_col2 + cast('2024-03-20 12:00:00.123456789' as TIMESTAMP_ntz ), -- timestamp_ntz_col3 + 'char_value1', -- char_col1 + 'char_value2', -- char_col2 + 'char_value3', -- char_col3 + 'varchar_value1', -- varchar_col1 + 'varchar_value2', -- varchar_col2 + 'varchar_value3', -- varchar_col3 + MAP('key1', 'value1'), -- t_map_string + MAP('key1', 'value1'), -- t_map_varchar + MAP('a', 'b'), -- t_map_char + MAP(1, 10), -- t_map_int + MAP(1, 100000000000), -- t_map_bigint + MAP(CAST(1.1 AS FLOAT), CAST(10.1 AS FLOAT)), -- t_map_float + MAP(CAST(1.1 AS DOUBLE), CAST(10.1 AS DOUBLE)), -- t_map_double + MAP(TRUE, FALSE), -- t_map_boolean + ARRAY('string1', 'string2'), -- t_array_string + ARRAY(1, 2, 3), -- t_array_int + ARRAY(100000000000, 200000000000), -- t_array_bigint + ARRAY(CAST(1.1 AS FLOAT), CAST(2.2 AS FLOAT)), -- t_array_float + ARRAY(CAST(1.123456789 AS DOUBLE), CAST(2.123456789 AS DOUBLE)), -- t_array_double + ARRAY(TRUE, FALSE), -- t_array_boolean + ARRAY('varchar1', 'varchar2'), -- t_array_varchar + ARRAY('char1', 'char2'), -- t_array_char + ARRAY(CAST(1.1 AS DECIMAL(2,1)), CAST(2.2 AS DECIMAL(2,1))), -- t_array_decimal_precision_2 + ARRAY(CAST(1.23 AS DECIMAL(4,2)), CAST(2.34 AS DECIMAL(4,2))), -- t_array_decimal_precision_4 + ARRAY(CAST(1.2345 AS DECIMAL(8,4)), CAST(2.3456 AS DECIMAL(8,4))), -- t_array_decimal_precision_8 + ARRAY(CAST(1.23456789 AS DECIMAL(17,8)), CAST(2.34567891 AS DECIMAL(17,8))), -- t_array_decimal_precision_17 + ARRAY(1.23456789, 2.34567891), -- t_array_decimal_precision_18 + ARRAY(1.234567890123456789, 2.345678901234567890), -- t_array_decimal_precision_38 + NAMED_STRUCT('s_bigint', 1234567890), -- t_struct_bigint + MAP('key', ARRAY(NAMED_STRUCT('s_int', 123))), -- t_complex + NAMED_STRUCT('struct_field', ARRAY('value1', 'value2')), -- t_struct_nested + NAMED_STRUCT('struct_non_nulls_after_nulls1', 123, 'struct_non_nulls_after_nulls2', 'value'), -- t_struct_non_nulls_after_nulls + NAMED_STRUCT('struct_field1', 123, 'struct_field2', 'value', 'strict_field3', NAMED_STRUCT('nested_struct_field1', 123, 'nested_struct_field2', 'nested_value')), -- t_nested_struct_non_nulls_after_nulls + ARRAY(null, 'value1', 'value2'), -- t_array_string_starting_with_nulls + ARRAY('value1', null, 'value2'), -- t_array_string_with_nulls_in_between + ARRAY('value1', 'value2', null) -- t_array_string_ending_with_nulls +); + +INSERT into mc_all_types +VALUES +( + 3, + cast(0 as boolean), -- boolean_col + cast(-7 as tinyint), -- tinyint_col + cast(-15 as smallint), -- smallint_col + 16, -- int_col + cast(-9223372036854775807 as bigint), -- bigint_col + CAST(-123.45 AS FLOAT), -- float_col + CAST(-123456.789 AS DOUBLE), -- double_col + CAST(123456789 AS DECIMAL(9,0)), -- decimal_col1 + CAST(-1234.5678 AS DECIMAL(8,4)), -- decimal_col2 + CAST(-123456.789012 AS DECIMAL(18,6)), -- decimal_col3 + CAST(-123456789.012345678901 AS DECIMAL(38,12)), -- decimal_col4 + 'str', -- string_col + cast('2024-03-25' as date), -- date_col + cast('2024-03-25 12:00:00' as datetime), + cast('2024-03-25 12:00:00.123456' as timestamp_ntz), -- timestamp_ntz_col2 + cast('2024-03-25 12:00:00.123456789' as timestamp_ntz), -- timestamp_ntz_col3 + 'char_value11111', -- char_col1 + 'char_value22222', -- char_col2 + 'char_value33333', -- char_col3 + 'varchar_value11111', -- varchar_col1 + 'varchar_value22222', -- varchar_col2 + 'varchar_value33333', -- varchar_col3 + MAP('key7', 'value1'), -- t_map_string + MAP('key7', 'value1'), -- t_map_varchar + MAP('x', 'y'), -- t_map_char + MAP(3, 20), -- t_map_int + MAP(3, 200000000000), -- t_map_bigint + MAP(CAST(3.2 AS FLOAT), CAST(20.2 AS FLOAT)), -- t_map_float + MAP(CAST(3.2 AS DOUBLE), CAST(20.2 AS DOUBLE)), -- t_map_double + MAP(false, true), -- t_map_boolean + ARRAY('string1', 'string2'), -- t_array_string + ARRAY(4, 5, 6), -- t_array_int + ARRAY(300000000000, 400000000000), -- t_array_bigint + ARRAY(CAST(3.3 AS FLOAT), CAST(4.4 AS FLOAT)), -- t_array_float + ARRAY(CAST(3.123456789 AS DOUBLE), CAST(4.123456789 AS DOUBLE)), -- t_array_double + ARRAY(false, true), -- t_array_boolean + ARRAY('varchar1', 'varchar2'), -- t_array_varchar + ARRAY('char1', 'char2'), -- t_array_char + ARRAY(CAST(3.3 AS DECIMAL(2,1)), CAST(4.4 AS DECIMAL(2,1))), -- t_array_decimal_precision_2 + ARRAY(CAST(3.45 AS DECIMAL(4,2)), CAST(4.56 AS DECIMAL(4,2))), -- t_array_decimal_precision_4 + ARRAY(CAST(9.4567 AS DECIMAL(8,4)), CAST(4.5678 AS DECIMAL(8,4))), -- t_array_decimal_precision_8 + ARRAY(CAST(6.45678901 AS DECIMAL(17,8)), CAST(4.56789012 AS DECIMAL(17,8))), -- t_array_decimal_precision_17 + ARRAY(CAST(3.45678901 AS DECIMAL(18,8)), CAST(4.56789012 AS DECIMAL(18,8))), -- t_array_decimal_precision_18 + ARRAY(CAST(3.456789012345678901 AS DECIMAL(38,16)), CAST(4.567890123456789012 AS DECIMAL(38,16))), -- t_array_decimal_precision_38 + NAMED_STRUCT('s_bigint', -1234567890), -- t_struct_bigint + MAP('key', ARRAY(NAMED_STRUCT('s_int', -123))), -- t_complex + NAMED_STRUCT('struct_field', ARRAY('value1', 'value2')), -- t_struct_nested + NAMED_STRUCT('struct_non_nulls_after_nulls1', -123, 'struct_non_nulls_after_nulls2', 'value'), -- t_struct_non_nulls_after_nulls + NAMED_STRUCT('struct_field1', -123, 'struct_field2', 'value', 'strict_field3', NAMED_STRUCT('nested_struct_field1', -123, 'nested_struct_field2', 'nested_value')), -- t_nested_struct_non_nulls_after_nulls + ARRAY(null, 'value1', 'value2'), -- t_array_string_starting_with_nulls + ARRAY('value1', null, 'value2'), -- t_array_string_with_nulls_in_between + ARRAY('value11', 'value2', null) -- t_array_string_ending_with_nulls +); +INSERT into mc_all_types +VALUES +( + 4, + cast(0 as boolean), -- boolean_col + cast(-128 as tinyint), -- tinyint_col + cast(-32768 as smallint), -- smallint_col + -2147483647, -- int_col + cast(-9223372036854775807 as bigint), -- bigint_col + CAST(-123.45 AS FLOAT), -- float_col + CAST(-123456.789 AS DOUBLE), -- double_col + CAST(-123456789 AS DECIMAL(9,0)), -- decimal_col1 + CAST(-1234.5678 AS DECIMAL(8,4)), -- decimal_col2 + CAST(-123456.789012 AS DECIMAL(18,6)), -- decimal_col3 + CAST(-123456789.012345678901 AS DECIMAL(38,12)), -- decimal_col4 + 'string_value', -- string_col + cast('2024-03-21' as date), -- date_col + cast('2024-03-21 12:00:00' as datetime), + cast('2024-03-21 12:00:00.123456' as timestamp_ntz), -- timestamp_ntz_col2 + cast('2024-03-21 12:00:00.123456789' as timestamp_ntz), -- timestamp_ntz_col3 + 'char_value1', -- char_col1 + 'char_value2', -- char_col2 + 'char_value3', -- char_col3 + 'varchar_value1', -- varchar_col1 + 'varchar_value2', -- varchar_col2 + 'varchar_value3', -- varchar_col3 + MAP('key1', 'value1'), -- t_map_string + MAP('key1', 'value1'), -- t_map_varchar + MAP('x', 'y'), -- t_map_char + MAP(2, 20), -- t_map_int + MAP(2, 200000000000), -- t_map_bigint + MAP(CAST(2.2 AS FLOAT), CAST(20.2 AS FLOAT)), -- t_map_float + MAP(CAST(2.2 AS DOUBLE), CAST(20.2 AS DOUBLE)), -- t_map_double + MAP(false, true), -- t_map_boolean + ARRAY('string1', 'string2'), -- t_array_string + ARRAY(4, 5, 6), -- t_array_int + ARRAY(300000000000, 400000000000), -- t_array_bigint + ARRAY(CAST(3.3 AS FLOAT), CAST(4.4 AS FLOAT)), -- t_array_float + ARRAY(CAST(3.123456789 AS DOUBLE), CAST(4.123456789 AS DOUBLE)), -- t_array_double + ARRAY(false, true), -- t_array_boolean + ARRAY('varchar1', 'varchar2'), -- t_array_varchar + ARRAY('char1', 'char2'), -- t_array_char + ARRAY(CAST(3.3 AS DECIMAL(2,1)), CAST(4.4 AS DECIMAL(2,1))), -- t_array_decimal_precision_2 + ARRAY(CAST(3.45 AS DECIMAL(4,2)), CAST(4.56 AS DECIMAL(4,2))), -- t_array_decimal_precision_4 + ARRAY(CAST(3.4567 AS DECIMAL(8,4)), CAST(4.5678 AS DECIMAL(8,4))), -- t_array_decimal_precision_8 + ARRAY(CAST(3.45678901 AS DECIMAL(17,8)), CAST(4.56789012 AS DECIMAL(17,8))), -- t_array_decimal_precision_17 + ARRAY(CAST(3.45678901 AS DECIMAL(18,8)), CAST(4.56789012 AS DECIMAL(18,8))), -- t_array_decimal_precision_18 + ARRAY(CAST(3.456789012345678901 AS DECIMAL(38,16)), CAST(4.567890123456789012 AS DECIMAL(38,16))), -- t_array_decimal_precision_38 + NAMED_STRUCT('s_bigint', -1234567890), -- t_struct_bigint + MAP('key', ARRAY(NAMED_STRUCT('s_int', -123))), -- t_complex + NAMED_STRUCT('struct_field', ARRAY('value1', 'value2')), -- t_struct_nested + NAMED_STRUCT('struct_non_nulls_after_nulls1', -123, 'struct_non_nulls_after_nulls2', 'value'), -- t_struct_non_nulls_after_nulls + NAMED_STRUCT('struct_field1', -123, 'struct_field2', 'value', 'strict_field3', NAMED_STRUCT('nested_struct_field1', -123, 'nested_struct_field2', 'nested_value')), -- t_nested_struct_non_nulls_after_nulls + ARRAY(null, 'value1', 'value2'), -- t_array_string_starting_with_nulls + ARRAY('value1', null, 'value2'), -- t_array_string_with_nulls_in_between + ARRAY('value1', 'value2', null) -- t_array_string_ending_with_nulls +); + +ALTER TABLE mc_all_types MERGE SMALLFILES; + +select * from mc_all_types; + */ +suite("test_max_compute_all_type", "p2,external,maxcompute,external_remote,external_remote_maxcompute") { + String enabled = context.config.otherConfigs.get("enableMaxComputeTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + String ak = context.config.otherConfigs.get("aliYunAk") + String sk = context.config.otherConfigs.get("aliYunSk") + String mc_catalog_name = "test_max_compute_all_type" + sql """drop catalog if exists ${mc_catalog_name} """ + + String defaultProject = "jz_datalake" + sql """ + CREATE CATALOG IF NOT EXISTS ${mc_catalog_name} PROPERTIES ( + "type" = "max_compute", + "mc.default.project" = "${defaultProject}", + "mc.access_key" = "${ak}", + "mc.secret_key" = "${sk}", + "mc.endpoint" = "http://service.cn-beijing-vpc.maxcompute.aliyun-inc.com/api", + "mc.quota" = "pay-as-you-go" + ); + """ + + logger.info("catalog " + mc_catalog_name + " created") + sql """switch ${mc_catalog_name};""" + logger.info("switched to catalog " + mc_catalog_name) + sql """ show databases; """ + sql """ use ${defaultProject} """ + + String table_name = "mc_all_types" + + + qt_desc """ desc ${table_name} """ + qt_test_1 """ select * from ${table_name} order by id; """ + qt_test_2 """ select * from ${table_name} where id = 1 ; """ + + qt_test_3 """ select id,boolean_col from ${table_name} order by id """ + qt_test_4 """ select id,boolean_col from ${table_name} where boolean_col is false order by id; """ + + qt_test_5 """ select id,tinyint_col from ${table_name} order by id """ + qt_test_5 """ select id,tinyint_col from ${table_name} where tinyint_col in (-127,-128) order by id """ + + qt_test_7 """ select id,smallint_col from ${table_name} order by id """ + qt_test_8 """ select id,smallint_col from ${table_name} where smallint_col > 16 order by id """ + + qt_test_9 """ select id,int_col from ${table_name} order by id """ + qt_test_10 """ select id,int_col from ${table_name} where int_col = 16 order by id """ + qt_test_11 """ select id,int_col from ${table_name} where int_col != 16 order by id """ + + qt_test_12 """ select id,bigint_col from ${table_name} order by id """ + qt_test_13 """ select id,bigint_col from ${table_name} where bigint_col > -9223372036854775807 order by id """ + qt_test_14 """ select id,bigint_col from ${table_name} where bigint_col >= -9223372036854775807 order by id """ + + + qt_test_15 """ select id,float_col from ${table_name} order by id """ + qt_test_16 """ select id,float_col from ${table_name} where round(float_col,2) > -123.45 order by id """ + qt_test_17 """ select id,float_col from ${table_name} where round(float_col,2) < -123.45 order by id """ + qt_test_18 """ select id,float_col from ${table_name} where round(float_col,2) = -123.45 order by id """ + qt_test_19 """ select id,float_col from ${table_name} where round(float_col,2) >= -123.45 order by id """ + qt_test_20 """ select id,float_col from ${table_name} where round(float_col,2) <= -123.45 order by id """ + qt_test_21 """ select id,float_col from ${table_name} where round(float_col,2) in (-123.45,0.123) order by id """ + qt_test_22 """ select id,float_col from ${table_name} where round(float_col,2) not in (-123.45, 0.1) order by id """ + + + qt_test_23 """ select id,double_col from ${table_name} order by id """ + qt_test_24 """ select id,double_col from ${table_name} where double_col in ( -123456.789 ,0.123) order by id """ + qt_test_25 """ select id,double_col from ${table_name} where double_col != -123456.789 order by id """ + qt_test_26 """ select id,double_col from ${table_name} where double_col = -123456.789 order by id """ + qt_test_27 """ select id,double_col from ${table_name} where -123456.789 = double_col order by id """ + + qt_test_28 """ select id,decimal_col1 from ${table_name} order by id """ + qt_test_29 """ select id,decimal_col1 from ${table_name} where decimal_col1 is null order by id """ + qt_test_30 """ select id,decimal_col1 from ${table_name} where decimal_col1 is not null order by id """ + + qt_test_31 """ select id,decimal_col2 from ${table_name} order by id """ + qt_test_32 """ select id,decimal_col2 from ${table_name} where decimal_col2 = -1234.5678 order by id """ + qt_test_33 """ select id,decimal_col2 from ${table_name} where decimal_col2 != -1234.5678 order by id""" + + qt_test_34 """ select id,decimal_col3 from ${table_name} order by id """ + qt_test_35 """ select id,decimal_col3 from ${table_name} where decimal_col3 = -123456.789012 order by id """ + qt_test_36 """ select id,decimal_col3 from ${table_name} where decimal_col3 != -123456.789012 order by id """ + + qt_test_37 """ select id,decimal_col4 from ${table_name} order by id """ + qt_test_38 """ select id,decimal_col4 from ${table_name} where decimal_col4 = -123456789.0123457 order by id """ + qt_test_39 """ select id,decimal_col4 from ${table_name} where decimal_col4 != -123456789.0123457 order by id """ + qt_test_40 """ select id,decimal_col4 from ${table_name} where decimal_col4 >= -123456789.0123457 order by id """ + qt_test_41 """ select id,decimal_col4 from ${table_name} where decimal_col4 > -123456789.0123457 order by id """ + + + qt_test_42 """ select id,string_col from ${table_name} order by id """ + qt_test_43 """ select id,string_col from ${table_name} where string_col in ("str") order by id """ + qt_test_44 """ select id,string_col from ${table_name} where string_col = "str" order by id """ + qt_test_45 """ select id,string_col from ${table_name} where string_col != "str" order by id """ + qt_test_46 """ select id,string_col from ${table_name} where string_col in ("str","string_value") order by id """ + qt_test_47 """ select id,string_col from ${table_name} where string_col not in ("str","string_value") order by id """ + + qt_test_48 """ select id,date_col from ${table_name} order by id """ + qt_test_49 """ select id,date_col from ${table_name} where date_col = "2024-03-25" order by id """ + qt_test_50 """ select id,date_col from ${table_name} where date_col >= "2024-03-25" order by id """ + qt_test_51 """ select id,date_col from ${table_name} where date_col != "2024-03-20" order by id """ + + + + qt_test_52 """ select id,datetime_col from ${table_name} order by id """ + qt_test_53 """ select id,datetime_col from ${table_name} where datetime_col != "2024-03-25 12:00:00" order by id """ + qt_test_54 """ select id,datetime_col from ${table_name} where datetime_col = "2024-03-25 12:00:00" order by id """ + qt_test_55 """ select id,datetime_col from ${table_name} where datetime_col > "2024-03-25 12:00:00" order by id """ + qt_test_56 """ select id,datetime_col from ${table_name} where datetime_col < "2024-03-25 12:00:00" order by id """ + qt_test_57 """ select id,datetime_col from ${table_name} where datetime_col <= "2024-03-25 12:00:00" order by id """ + + + + qt_test_58 """ select id,timestamp_ntz_col2 from ${table_name} order by id """ + qt_test_59 """ select id,timestamp_ntz_col2 from ${table_name} where timestamp_ntz_col2 != "2024-03-25 12:00:00.123456" order by id """ + qt_test_60 """ select id,timestamp_ntz_col2 from ${table_name} where timestamp_ntz_col2 = "2024-03-25 12:00:00.123456" order by id """ + qt_test_61 """ select id,timestamp_ntz_col2 from ${table_name} where timestamp_ntz_col2 > "2024-03-25 12:00:00.123456" order by id """ + qt_test_62 """ select id,timestamp_ntz_col2 from ${table_name} where timestamp_ntz_col2 < "2024-03-25 12:00:00.123456" order by id """ + qt_test_63 """ select id,timestamp_ntz_col2 from ${table_name} where timestamp_ntz_col2 <= "2024-03-25 12:00:00.123456" order by id """ + + qt_test_64 """ select id,timestamp_ntz_col3 from ${table_name} order by id """ + qt_test_65 """ select id,timestamp_ntz_col3 from ${table_name} where timestamp_ntz_col3 != "2024-03-25 12:00:00.123456" order by id """ + qt_test_66 """ select id,timestamp_ntz_col3 from ${table_name} where timestamp_ntz_col3 < "2024-03-25 12:00:00.123456" order by id """ + qt_test_67 """ select id,timestamp_ntz_col3 from ${table_name} where timestamp_ntz_col3 = "2024-03-25 12:00:00.123456" order by id """ + qt_test_68 """ select id,timestamp_ntz_col3 from ${table_name} where timestamp_ntz_col3 > "2024-03-25 12:00:00.123456" order by id """ + qt_test_69 """ select id,timestamp_ntz_col3 from ${table_name} where timestamp_ntz_col3 <= "2024-03-25 12:00:00.123456" order by id """ + + qt_test_70 """ select id,timestamp_ntz_col3 from ${table_name} where timestamp_ntz_col3 != "2024-03-25 12:00:00.124" order by id """ + qt_test_71 """ select id,timestamp_ntz_col3 from ${table_name} where timestamp_ntz_col3 < "2024-03-25 12:00:00.124" order by id """ + qt_test_72 """ select id,timestamp_ntz_col3 from ${table_name} where timestamp_ntz_col3 = "2024-03-25 12:00:00.124" order by id """ + qt_test_73 """ select id,timestamp_ntz_col3 from ${table_name} where timestamp_ntz_col3 > "2024-03-25 12:00:00.124" order by id """ + qt_test_74 """ select id,timestamp_ntz_col3 from ${table_name} where timestamp_ntz_col3 <= "2024-03-25 12:00:00.124" order by id """ + + + + + + qt_test_75 """ select id,char_col1 from ${table_name} order by id """ + qt_test_76 """ select id,char_col1 from ${table_name} where char_col1 = "char_value11111" order by id """ + qt_test_77 """ select id,char_col1 from ${table_name} where char_col1 != "char_value11111" order by id """ + qt_test_78 """ select id,char_col1 from ${table_name} where char_col1 != "char_value1" order by id """ + qt_test_79 """ select id,char_col1 from ${table_name} where char_col1 in ("char_value1") order by id """ + qt_test_80 """ select id,char_col1 from ${table_name} where char_col1 not in ("char_value1") order by id """ + qt_test_81 """ select id,char_col1 from ${table_name} where char_col1 in ("char_value1","char_value11111") order by id """ + qt_test_82 """ select id,char_col1 from ${table_name} where char_col1 not in ("char_value1","char_value11111") order by id """ + + + qt_test_83 """ select id,char_col2 from ${table_name} order by id """ + qt_test_84 """ select id,char_col2 from ${table_name} where char_col2 = "char_value22222" order by id """ + qt_test_85 """ select id,char_col2 from ${table_name} where char_col2 != "char_value22222" order by id """ + qt_test_86 """ select id,char_col2 from ${table_name} where char_col2 != "char_value2" order by id """ + qt_test_87 """ select id,char_col2 from ${table_name} where char_col2 in ("char_value2") order by id """ + qt_test_88 """ select id,char_col2 from ${table_name} where char_col2 not in ("char_value2") order by id """ + qt_test_89 """ select id,char_col2 from ${table_name} where char_col2 in ("char_value2","char_value22222") order by id """ + qt_test_90 """ select id,char_col2 from ${table_name} where char_col2 not in ("char_value2","char_value22222") order by id """ + + qt_test_91 """ select id,char_col3 from ${table_name} order by id """ + qt_test_92 """ select id,char_col3 from ${table_name} where char_col3 = "char_value33333" order by id """ + qt_test_93 """ select id,char_col3 from ${table_name} where char_col3 != "char_value33333" order by id """ + qt_test_94 """ select id,char_col3 from ${table_name} where char_col3 != "char_value3" order by id """ + qt_test_95 """ select id,char_col3 from ${table_name} where char_col3 in ("char_value3") order by id """ + qt_test_96 """ select id,char_col3 from ${table_name} where char_col3 not in ("char_value3") order by id """ + qt_test_97 """ select id,char_col3 from ${table_name} where char_col3 in ("char_value3","char_value33333") order by id """ + qt_test_98 """ select id,char_col3 from ${table_name} where char_col3 not in ("char_value3","char_value33333") order by id """ + + + qt_test_99 """ select id,varchar_col1 from ${table_name} order by id """ + qt_test_100 """ select id,varchar_col1 from ${table_name} where varchar_col1 = "varchar_value11111" order by id """ + qt_test_101 """ select id,varchar_col1 from ${table_name} where varchar_col1 != "varchar_value11111" order by id """ + qt_test_102 """ select id,varchar_col1 from ${table_name} where varchar_col1 != "varchar_value1" order by id """ + qt_test_103 """ select id,varchar_col1 from ${table_name} where varchar_col1 in ("varchar_value1") order by id """ + qt_test_104 """ select id,varchar_col1 from ${table_name} where varchar_col1 not in ("varchar_value1") order by id """ + qt_test_105 """ select id,varchar_col1 from ${table_name} where varchar_col1 in ("varchar_value1","varchar_value11111") order by id """ + qt_test_106 """ select id,varchar_col1 from ${table_name} where varchar_col1 not in ("varchar_value1","varchar_value11111") order by id """ + + + qt_test_107 """ select id,varchar_col2 from ${table_name} order by id """ + qt_test_108 """ select id,varchar_col2 from ${table_name} where varchar_col2 = "varchar_value22222" order by id """ + qt_test_109 """ select id,varchar_col2 from ${table_name} where varchar_col2 != "varchar_value22222" order by id """ + qt_test_110 """ select id,varchar_col2 from ${table_name} where varchar_col2 != "varchar_value2" order by id """ + qt_test_111 """ select id,varchar_col2 from ${table_name} where varchar_col2 in ("varchar_value2") order by id """ + qt_test_112 """ select id,varchar_col2 from ${table_name} where varchar_col2 not in ("varchar_value2") order by id """ + qt_test_113 """ select id,varchar_col2 from ${table_name} where varchar_col2 in ("varchar_value2","varchar_value22222") order by id """ + qt_test_114 """ select id,varchar_col2 from ${table_name} where varchar_col2 not in ("varchar_value2","varchar_value22222") order by id """ + + qt_test_115 """ select id,varchar_col3 from ${table_name} order by id """ + qt_test_116 """ select id,varchar_col3 from ${table_name} where varchar_col3 = "varchar_value33333" order by id """ + qt_test_117 """ select id,varchar_col3 from ${table_name} where varchar_col3 != "varchar_value33333" order by id """ + qt_test_118 """ select id,varchar_col3 from ${table_name} where varchar_col3 != "varchar_value3" order by id """ + qt_test_119 """ select id,varchar_col3 from ${table_name} where varchar_col3 in ("varchar_value3") order by id """ + qt_test_120 """ select id,varchar_col3 from ${table_name} where varchar_col3 not in ("varchar_value3") order by id """ + qt_test_121 """ select id,varchar_col3 from ${table_name} where varchar_col3 in ("varchar_value3","varchar_value33333") order by id """ + qt_test_122 """ select id,varchar_col3 from ${table_name} where varchar_col3 not in ("varchar_value3","varchar_value33333") order by id """ + + + + + qt_test_123 """ select id,t_map_string from ${table_name} order by id """ + qt_test_124 """ select id,t_map_varchar from ${table_name} order by id """ + qt_test_125 """ select id,t_map_char from ${table_name} order by id """ + qt_test_126 """ select id,t_map_int from ${table_name} order by id """ + qt_test_127 """ select id,t_map_bigint from ${table_name} order by id """ + qt_test_128 """ select id,t_map_float from ${table_name} order by id """ + qt_test_129 """ select id,t_map_double from ${table_name} order by id """ + qt_test_130 """ select id,t_map_boolean from ${table_name} order by id """ + qt_test_131 """ select id,t_array_string from ${table_name} order by id """ + qt_test_132 """ select id,t_array_int from ${table_name} order by id """ + qt_test_133 """ select id,t_array_bigint from ${table_name} order by id """ + qt_test_134 """ select id,t_array_float from ${table_name} order by id """ + qt_test_135 """ select id,t_array_double from ${table_name} order by id """ + qt_test_136 """ select id,t_array_boolean from ${table_name} order by id """ + qt_test_137 """ select id,t_array_varchar from ${table_name} order by id """ + qt_test_138 """ select id,t_array_char from ${table_name} order by id """ + qt_test_139 """ select id,t_array_decimal_precision_2 from ${table_name} order by id """ + qt_test_140 """ select id,t_array_decimal_precision_4 from ${table_name} order by id """ + qt_test_141 """ select id,t_array_decimal_precision_8 from ${table_name} order by id """ + qt_test_142 """ select id,t_array_decimal_precision_17 from ${table_name} order by id """ + qt_test_143 """ select id,t_array_decimal_precision_18 from ${table_name} order by id """ + qt_test_144 """ select id,t_array_decimal_precision_4 from ${table_name} order by id """ + qt_test_145 """ select id,t_array_decimal_precision_38 from ${table_name} order by id """ + qt_test_146 """ select id,t_struct_bigint from ${table_name} order by id """ + qt_test_147 """ select id,t_complex from ${table_name} order by id """ + qt_test_148 """ select id,t_struct_nested from ${table_name} order by id """ + qt_test_149 """ select id,t_struct_non_nulls_after_nulls from ${table_name} order by id """ + qt_test_150 """ select id,t_nested_struct_non_nulls_after_nulls from ${table_name} order by id """ + qt_test_151 """ select id,t_array_string_starting_with_nulls from ${table_name} order by id """ + qt_test_152 """ select id,t_array_string_with_nulls_in_between from ${table_name} order by id """ + qt_test_153 """ select id,t_array_string_ending_with_nulls from ${table_name} order by id """ + qt_test_154 """ select id,t_map_char from ${table_name} order by id """ + + + + + sql """drop catalog ${mc_catalog_name};""" + } +} + diff --git a/regression-test/suites/external_table_p0/mc/test_max_compute_complex_type.groovy b/regression-test/suites/external_table_p2/maxcompute/test_max_compute_complex_type.groovy similarity index 92% rename from regression-test/suites/external_table_p0/mc/test_max_compute_complex_type.groovy rename to regression-test/suites/external_table_p2/maxcompute/test_max_compute_complex_type.groovy index a3de3715f91fc4..4f4748099bb2a2 100644 --- a/regression-test/suites/external_table_p0/mc/test_max_compute_complex_type.groovy +++ b/regression-test/suites/external_table_p2/maxcompute/test_max_compute_complex_type.groovy @@ -26,39 +26,48 @@ arr5 ARRAY ); INSERT INTO array_table VALUES(1, array(1, 2, 3), array('a', 'b', 'c'), array(1.2, 1.3), array(date('2023-05-23')), array(datetime('2023-05-23 13:55:12'))); + INSERT INTO array_table VALUES(1, array(1, 2, 3), array('a', 'b', 'c'), array(1.2, 1.3), array(date('2023-05-23')), array(datetime('2023-05-23 13:55:12'))); INSERT INTO array_table VALUES(2, array(1, 2, 3), array('a', 'b', 'c'), array(1.2, 1.3), array(date('2023-05-23')), array(datetime('2023-05-23 13:55:12'))); INSERT INTO array_table VALUES(3, array(1, 2, 3), array('a', 'b', 'c'), array(1.3), array(date('2023-05-23')), array(datetime('2023-05-23 13:55:12'))); + drop table map_table; create table map_table ( + id int. arr1 MAP, arr2 MAP ); INSERT INTO map_table (arr1, arr2) VALUES ( + 1, MAP(1, 2.5, 2, 3.75), MAP(1, 'example1', 2, 'example2') ); INSERT INTO map_table (arr1, arr2) VALUES ( + 2, MAP(3, 2.5, 99, 3.75), MAP(349, 'asd', 324, 'uid') ); - + drop table struct_table; create table struct_table ( + id int, user_info STRUCT, contact_info STRUCT ); INSERT INTO struct_table VALUES ( + 1, named_struct('id', 'user1', 'age', 25), named_struct('phone_number', 123450, 'email', 'user1@example.com', 'addr', 'Addr1') ), ( + 2, named_struct('id', 'user2', 'age', 30), named_struct('phone_number', 2345671, 'email', 'user2@example.com', 'addr', 'Addr2') ), ( + 3, named_struct('id', 'user3', 'age', 35), named_struct('phone_number', 3456789, 'email', 'user3@example.com', 'addr', 'Addr3') ); @@ -142,7 +151,7 @@ ) ); */ -suite("test_max_compute_complex_type", "p0,external,doris,external_docker,external_docker_doris") { +suite("test_max_compute_complex_type", "p2,external,maxcompute,external_remote,external_remote_maxcompute") { String enabled = context.config.otherConfigs.get("enableMaxComputeTest") if (enabled != null && enabled.equalsIgnoreCase("true")) { String ak = context.config.otherConfigs.get("aliYunAk") @@ -152,18 +161,17 @@ suite("test_max_compute_complex_type", "p0,external,doris,external_docker,extern sql """ CREATE CATALOG IF NOT EXISTS ${mc_catalog_name} PROPERTIES ( "type" = "max_compute", - "mc.default.project" = "mc_datalake", - "mc.region" = "cn-beijing", + "mc.default.project" = "jz_datalake", "mc.access_key" = "${ak}", "mc.secret_key" = "${sk}", - "mc.public_access" = "true" + "mc.endpoint" = "http://service.cn-beijing-vpc.maxcompute.aliyun-inc.com/api" ); """ logger.info("catalog " + mc_catalog_name + " created") sql """switch ${mc_catalog_name};""" logger.info("switched to catalog " + mc_catalog_name) - sql """ use mc_datalake """ + sql """ use jz_datalake """ qt_mc_q1 """ select id,arr3,arr1,arr5,arr2 from array_table order by id desc """ qt_mc_q2 """ select arr2,arr1 from map_table order by id limit 2 """ From 087048f2b2f06eae15e80e7ffa209610c9e3f173 Mon Sep 17 00:00:00 2001 From: Calvin Kirs Date: Thu, 12 Sep 2024 00:18:48 +0800 Subject: [PATCH 199/199] [Fix](Job)Replace BlockingWaitStrategy with LiteTimeoutBlockingWaitStrategy to avoid deadlock issues. (#40625) FYI https://issues.apache.org/jira/browse/LOG4J2-1221 - BlockingWaitStrategy is a wait strategy used in the Disruptor framework that blocks the thread when the ring buffer is full or not yet available for publishing. When threads are blocked, they are waiting for space in the ring buffer to become available, which can lead to potential deadlocks if not managed properly. Timeout Handling: - LiteTimeoutBlockingWaitStrategy provides a timeout for waiting threads. If the buffer is not ready within the timeout period, the thread is released, preventing it from being blocked indefinitely. Reduced Risk of Deadlocks: - By avoiding indefinite blocking, this strategy reduces the risk of deadlocks caused by threads waiting on each other. The timeout allows the system to handle scenarios where resources are temporarily --- .../doris/job/disruptor/TaskDisruptor.java | 15 ++++++++++--- .../job/executor/DispatchTaskHandler.java | 5 ++++- .../job/executor/TimerJobSchedulerTask.java | 5 ++++- .../manager/TaskDisruptorGroupManager.java | 22 +++++++++---------- .../doris/job/scheduler/JobScheduler.java | 13 ++++++----- .../scheduler/disruptor/TaskDisruptor.java | 10 ++++----- 6 files changed, 44 insertions(+), 26 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/job/disruptor/TaskDisruptor.java b/fe/fe-core/src/main/java/org/apache/doris/job/disruptor/TaskDisruptor.java index 45564e99b17829..6ca2924c593bc1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/job/disruptor/TaskDisruptor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/job/disruptor/TaskDisruptor.java @@ -24,6 +24,8 @@ import com.lmax.disruptor.WorkHandler; import com.lmax.disruptor.dsl.Disruptor; import com.lmax.disruptor.dsl.ProducerType; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.concurrent.ThreadFactory; @@ -33,6 +35,7 @@ * @param the type of the event handled by the Disruptor */ public class TaskDisruptor { + private static final Logger LOG = LogManager.getLogger(TaskDisruptor.class); private final Disruptor disruptor; private final EventTranslatorVararg eventTranslator; @@ -68,9 +71,15 @@ public void start() { * * @param args the arguments for the event */ - public void publishEvent(Object... args) { - RingBuffer ringBuffer = disruptor.getRingBuffer(); - ringBuffer.publishEvent(eventTranslator, args); + public boolean publishEvent(Object... args) { + try { + RingBuffer ringBuffer = disruptor.getRingBuffer(); + return ringBuffer.tryPublishEvent(eventTranslator, args); + } catch (Exception e) { + LOG.warn("Failed to publish event", e); + // Handle the exception, e.g., retry or alert + } + return false; } /** diff --git a/fe/fe-core/src/main/java/org/apache/doris/job/executor/DispatchTaskHandler.java b/fe/fe-core/src/main/java/org/apache/doris/job/executor/DispatchTaskHandler.java index e5933d133cbd61..d93393aa0ef89f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/job/executor/DispatchTaskHandler.java +++ b/fe/fe-core/src/main/java/org/apache/doris/job/executor/DispatchTaskHandler.java @@ -66,7 +66,10 @@ public void onEvent(TimerJobEvent event) { } JobType jobType = event.getJob().getJobType(); for (AbstractTask task : tasks) { - disruptorMap.get(jobType).publishEvent(task, event.getJob().getJobConfig()); + if (!disruptorMap.get(jobType).publishEvent(task, event.getJob().getJobConfig())) { + task.cancel(); + continue; + } log.info("dispatch timer job success, job id is {}, task id is {}", event.getJob().getJobId(), task.getTaskId()); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/job/executor/TimerJobSchedulerTask.java b/fe/fe-core/src/main/java/org/apache/doris/job/executor/TimerJobSchedulerTask.java index 74efe49beb11d0..25bbccf3fa2fa6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/job/executor/TimerJobSchedulerTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/job/executor/TimerJobSchedulerTask.java @@ -44,7 +44,10 @@ public void run(Timeout timeout) { log.info("job status is not running, job id is {}, skip dispatch", this.job.getJobId()); return; } - dispatchDisruptor.publishEvent(this.job); + if (!dispatchDisruptor.publishEvent(this.job)) { + log.warn("dispatch timer job failed, job id is {}, job name is {}", + this.job.getJobId(), this.job.getJobName()); + } } catch (Exception e) { log.warn("dispatch timer job error, task id is {}", this.job.getJobId(), e); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/job/manager/TaskDisruptorGroupManager.java b/fe/fe-core/src/main/java/org/apache/doris/job/manager/TaskDisruptorGroupManager.java index 4e31e467013f1c..b1ccb9764438c8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/job/manager/TaskDisruptorGroupManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/job/manager/TaskDisruptorGroupManager.java @@ -31,15 +31,16 @@ import org.apache.doris.job.extensions.mtmv.MTMVTask; import org.apache.doris.job.task.AbstractTask; -import com.lmax.disruptor.BlockingWaitStrategy; import com.lmax.disruptor.EventFactory; import com.lmax.disruptor.EventTranslatorVararg; +import com.lmax.disruptor.LiteTimeoutBlockingWaitStrategy; import com.lmax.disruptor.WorkHandler; import lombok.Getter; import java.util.EnumMap; import java.util.Map; import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; public class TaskDisruptorGroupManager { @@ -86,7 +87,8 @@ private void registerDispatchDisruptor() { (event, sequence, args) -> event.setJob((AbstractJob) args[0]); this.dispatchDisruptor = new TaskDisruptor<>(dispatchEventFactory, DISPATCH_TIMER_JOB_QUEUE_SIZE, dispatchThreadFactory, - new BlockingWaitStrategy(), dispatchTaskExecutorHandlers, eventTranslator); + new LiteTimeoutBlockingWaitStrategy(10, TimeUnit.MILLISECONDS), + dispatchTaskExecutorHandlers, eventTranslator); } private void registerInsertDisruptor() { @@ -102,7 +104,8 @@ private void registerInsertDisruptor() { event.setJobConfig((JobExecutionConfiguration) args[1]); }; TaskDisruptor insertDisruptor = new TaskDisruptor<>(insertEventFactory, DISPATCH_INSERT_TASK_QUEUE_SIZE, - insertTaskThreadFactory, new BlockingWaitStrategy(), insertTaskExecutorHandlers, eventTranslator); + insertTaskThreadFactory, new LiteTimeoutBlockingWaitStrategy(10, TimeUnit.MILLISECONDS), + insertTaskExecutorHandlers, eventTranslator); disruptorMap.put(JobType.INSERT, insertDisruptor); } @@ -119,17 +122,14 @@ private void registerMTMVDisruptor() { event.setJobConfig((JobExecutionConfiguration) args[1]); }; TaskDisruptor mtmvDisruptor = new TaskDisruptor<>(mtmvEventFactory, DISPATCH_MTMV_TASK_QUEUE_SIZE, - mtmvTaskThreadFactory, new BlockingWaitStrategy(), insertTaskExecutorHandlers, eventTranslator); + mtmvTaskThreadFactory, new LiteTimeoutBlockingWaitStrategy(10, TimeUnit.MILLISECONDS), + insertTaskExecutorHandlers, eventTranslator); disruptorMap.put(JobType.MV, mtmvDisruptor); } - public void dispatchTimerJob(AbstractJob job) { - dispatchDisruptor.publishEvent(job); - } - - public void dispatchInstantTask(AbstractTask task, JobType jobType, - JobExecutionConfiguration jobExecutionConfiguration) { - disruptorMap.get(jobType).publishEvent(task, jobExecutionConfiguration); + public boolean dispatchInstantTask(AbstractTask task, JobType jobType, + JobExecutionConfiguration jobExecutionConfiguration) { + return disruptorMap.get(jobType).publishEvent(task, jobExecutionConfiguration); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/job/scheduler/JobScheduler.java b/fe/fe-core/src/main/java/org/apache/doris/job/scheduler/JobScheduler.java index 33d12c30a4b76f..862b85597cdc3a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/job/scheduler/JobScheduler.java +++ b/fe/fe-core/src/main/java/org/apache/doris/job/scheduler/JobScheduler.java @@ -155,7 +155,7 @@ private void cycleTimerJobScheduler(T job, long startTimeWindowMs) { } - public void schedulerInstantJob(T job, TaskType taskType, C context) { + public void schedulerInstantJob(T job, TaskType taskType, C context) throws JobException { List tasks = job.commonCreateTasks(taskType, context); if (CollectionUtils.isEmpty(tasks)) { log.info("job create task is empty, skip scheduler, job id is {}, job name is {}", job.getJobId(), @@ -165,12 +165,15 @@ public void schedulerInstantJob(T job, TaskType taskType, C context) { } return; } - tasks.forEach(task -> { - taskDisruptorGroupManager.dispatchInstantTask(task, job.getJobType(), - job.getJobConfig()); + for (AbstractTask task : tasks) { + if (!taskDisruptorGroupManager.dispatchInstantTask(task, job.getJobType(), + job.getJobConfig())) { + throw new JobException("dispatch instant task failed, job id is " + + job.getJobId() + ", task id is " + task.getTaskId()); + } log.info("dispatch instant job, job id is {}, job name is {}, task id is {}", job.getJobId(), job.getJobName(), task.getTaskId()); - }); + } } /** diff --git a/fe/fe-core/src/main/java/org/apache/doris/scheduler/disruptor/TaskDisruptor.java b/fe/fe-core/src/main/java/org/apache/doris/scheduler/disruptor/TaskDisruptor.java index 57df84a0e89146..345b31d6bc2537 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/scheduler/disruptor/TaskDisruptor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/scheduler/disruptor/TaskDisruptor.java @@ -21,8 +21,8 @@ import org.apache.doris.common.CustomThreadFactory; import org.apache.doris.scheduler.constants.TaskType; -import com.lmax.disruptor.BlockingWaitStrategy; import com.lmax.disruptor.EventTranslatorThreeArg; +import com.lmax.disruptor.LiteTimeoutBlockingWaitStrategy; import com.lmax.disruptor.TimeoutException; import com.lmax.disruptor.WorkHandler; import com.lmax.disruptor.dsl.Disruptor; @@ -44,7 +44,7 @@ @Log4j2 public class TaskDisruptor implements Closeable { - private Disruptor disruptor; + private Disruptor disruptor; private static final int DEFAULT_RING_BUFFER_SIZE = Config.async_task_queen_size; private static final int consumerThreadCount = Config.async_task_consumer_thread_num; @@ -74,7 +74,7 @@ public class TaskDisruptor implements Closeable { public void start() { CustomThreadFactory exportTaskThreadFactory = new CustomThreadFactory("export-task-consumer"); disruptor = new Disruptor<>(TaskEvent.FACTORY, DEFAULT_RING_BUFFER_SIZE, exportTaskThreadFactory, - ProducerType.SINGLE, new BlockingWaitStrategy()); + ProducerType.SINGLE, new LiteTimeoutBlockingWaitStrategy(10, TimeUnit.MILLISECONDS)); WorkHandler[] workers = new TaskHandler[consumerThreadCount]; for (int i = 0; i < consumerThreadCount; i++) { workers[i] = new TaskHandler(); @@ -109,7 +109,7 @@ public void tryPublish(Long jobId, Long taskId, TaskType taskType) { try { disruptor.publishEvent(TRANSLATOR, jobId, taskId, taskType); } catch (Exception e) { - log.error("tryPublish failed, jobId: {}", jobId, e); + log.warn("tryPublish failed, jobId: {}", jobId, e); } } @@ -127,7 +127,7 @@ public void tryPublishTask(Long taskId) { try { disruptor.publishEvent(TRANSLATOR, taskId, 0L, TaskType.TRANSIENT_TASK); } catch (Exception e) { - log.error("tryPublish failed, taskId: {}", taskId, e); + log.warn("tryPublish failed, taskId: {}", taskId, e); } }

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

5S-eyOWiMYH`ks_%xa>TI(% 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